From 193cff0e177bf2f5d20acf7060b663fd07334855 Mon Sep 17 00:00:00 2001 From: Koj Bot Date: Sun, 22 Nov 2020 09:52:45 +0000 Subject: [PATCH] :rocket: Deploy new version [skip ci] --- dist/index.js | 2 +- dist/index.js.map | 2 +- dist/update.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dist/index.js b/dist/index.js index 8c7f5d4f..8ab8cdee 100644 --- a/dist/index.js +++ b/dist/index.js @@ -115070,7 +115070,7 @@ generator: Upptime repo, title: status === "down" ? `🛑 ${site.name} is down` - : `🟨 ${site.name} has degraded performance`, + : `⚠️ ${site.name} has degraded performance`, body: `In [\`${lastCommitSha.substr(0, 7)}\`](https://github.com/${owner}/${repo}/commit/${lastCommitSha}), ${site.name} (${site.url}) ${status === "down" ? "was **down**" : "experienced **degraded performance**"}: - HTTP code: ${result.httpCode} - Response time: ${responseTime} ms diff --git a/dist/index.js.map b/dist/index.js.map index 417adf47..8fe780f8 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"sources":["/webpack/bootstrap","../node_modules/node-libcurl/dist/Share.js","../node_modules/os-name/index.js","../node_modules/nodemailer/lib/mime-node/last-newline.js","../dist/helpers/config.js","../node_modules/shelljs/src/cd.js","../node_modules/js-yaml/lib/js-yaml.js","../node_modules/wrappy/wrappy.js","../node_modules/axios/lib/axios.js","../external \"tls\"","../(webpack)/ncc/@@notfound.js","../node_modules/js-yaml/lib/js-yaml/schema/json.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/utils.js","../node_modules/node-libcurl/dist/mergeChunks.js","../node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-node/index.js","../node_modules/fs-extra/lib/copy-sync/index.js","../node_modules/js-yaml/lib/js-yaml/type/int.js","../node_modules/node-libcurl/dist/enum/CurlGlobalInit.js","../node_modules/once/once.js","../node_modules/nodemailer/lib/xoauth2/index.js","../node_modules/axios/index.js","../node_modules/fs-extra/lib/mkdirs/make-dir.js","../node_modules/shelljs/src/tail.js","../node_modules/shelljs/src/mv.js","../node_modules/@sindresorhus/slugify/node_modules/escape-string-regexp/index.js","../node_modules/debug/src/node.js","../node_modules/@actions/core/lib/utils.js","../external \"os\"","../node_modules/windows-release/node_modules/which/which.js","../node_modules/node-libcurl/dist/enum/CurlSslOpt.js","../node_modules/prettier/parser-meriyah.js","../dist/helpers/git.js","../node_modules/graceful-fs/legacy-streams.js","../node_modules/fs-extra/lib/move-sync/move-sync.js","../node_modules/js-yaml/lib/js-yaml/type/set.js","../node_modules/@actions/core/lib/file-command.js","../node_modules/prettier/parser-yaml.js","../node_modules/nodemailer/lib/smtp-connection/data-stream.js","../node_modules/fs-extra/lib/copy-sync/copy-sync.js","../node_modules/fs.realpath/old.js","../node_modules/macos-release/index.js","../node_modules/node-libcurl/dist/enum/CurlSslVersion.js","../node_modules/fs-extra/lib/util/stat.js","../external \"child_process\"","../node_modules/windows-release/node_modules/shebang-command/index.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/nodemailer/lib/json-transport/index.js","../node_modules/fs-extra/lib/ensure/file.js","../node_modules/nodemailer/lib/sendmail-transport/le-unix.js","../node_modules/windows-release/node_modules/execa/lib/stdio.js","../node_modules/at-least-node/index.js","../node_modules/nodemailer/lib/well-known/index.js","../node_modules/shelljs/src/cp.js","../node_modules/fs-extra/lib/json/index.js","../node_modules/prettier/parser-angular.js","../dist/helpers/init-check.js","../node_modules/@sindresorhus/slugify/index.js","../node_modules/js-yaml/lib/js-yaml/mark.js","../node_modules/node-libcurl/dist/enum/CurlProtocol.js","../node_modules/node-libcurl/dist/enum/CurlTimeCond.js","../node_modules/shelljs/src/pushd.js","../node_modules/isexe/mode.js","../node_modules/shelljs/src/grep.js","../node_modules/node-libcurl/dist/enum/CurlHttpVersion.js","../external \"https\"","../node_modules/node-libcurl/dist/enum/CurlProxy.js","../external \"punycode\"","../dist/helpers/notifications.js","../node_modules/shelljs/src/find.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/fs-extra/lib/index.js","../node_modules/js-yaml/lib/js-yaml/type/bool.js","../node_modules/prettier/parser-markdown.js","../node_modules/shelljs/commands.js","../node_modules/windows-release/node_modules/cross-spawn/lib/util/escape.js","../node_modules/nodemailer/lib/addressparser/index.js","../node_modules/shelljs/src/toEnd.js","../node_modules/glob/sync.js","../node_modules/supports-color/index.js","../node_modules/graceful-fs/polyfills.js","../node_modules/nodemailer/lib/mailer/index.js","../node_modules/lodash.deburr/index.js","../node_modules/@sindresorhus/slugify/overridable-replacements.js","../node_modules/prettier/parser-typescript.js","../node_modules/node-libcurl/dist/index.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/shelljs/src/rm.js","../node_modules/prettier/index.js","../node_modules/node-libcurl/dist/enum/SocketState.js","../node_modules/before-after-hook/lib/register.js","../external \"module\"","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/shelljs/src/test.js","../node_modules/node-libcurl/dist/enum/CurlProgressFunc.js","../dist/helpers/temp.js","../node_modules/nodemailer/lib/nodemailer.js","../node_modules/@octokit/plugin-paginate-rest/dist-node/index.js","../node_modules/fs.realpath/index.js","../external \"string_decoder\"","../node_modules/brace-expansion/index.js","../node_modules/node-libcurl/dist/Easy.js","../node_modules/node-libcurl/dist/enum/CurlGssApi.js","../node_modules/inherits/inherits_browser.js","../node_modules/ms/index.js","../node_modules/fs-extra/lib/path-exists/index.js","../node_modules/@octokit/plugin-request-log/dist-node/index.js","../node_modules/windows-release/node_modules/cross-spawn/lib/util/readShebang.js","../node_modules/shelljs/src/sort.js","../node_modules/nodemailer/lib/mime-node/index.js","../node_modules/windows-release/node_modules/cross-spawn/lib/enoent.js","../node_modules/nodemailer/lib/dkim/sign.js","../node_modules/js-yaml/lib/js-yaml/type/js/function.js","../node_modules/fs-extra/lib/move/index.js","../node_modules/jsonfile/utils.js","../external \"assert\"","../node_modules/node-libcurl/dist/enum/CurlShareOption.js","../node_modules/shelljs/src/pwd.js","../node_modules/has-flag/index.js","../node_modules/node-libcurl/lib/binding/node_libcurl.node","../node_modules/axios/lib/core/enhanceError.js","../external \"crypto\"","../node_modules/nodemailer/lib/smtp-pool/pool-resource.js","../node_modules/shelljs/src/to.js","../node_modules/@octokit/endpoint/dist-node/index.js","../node_modules/js-yaml/lib/js-yaml/type/js/undefined.js","../node_modules/nodemailer/lib/dkim/relaxed-body.js","../node_modules/node-libcurl/dist/enum/CurlPipe.js","../node_modules/@octokit/request/node_modules/universal-user-agent/dist-node/index.js","../node_modules/node-libcurl/dist/enum/CurlWriteFunc.js","../node_modules/node-libcurl/dist/curly.js","../node_modules/windows-release/node_modules/cross-spawn/index.js","../node_modules/glob/glob.js","../node_modules/windows-release/node_modules/npm-run-path/index.js","../node_modules/shelljs/src/popd.js","../node_modules/nodemailer/lib/sendmail-transport/index.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/node-libcurl/dist/Curl.js","../external \"stream\"","../node_modules/js-yaml/index.js","../node_modules/windows-release/node_modules/cross-spawn/lib/util/resolveCommand.js","../node_modules/js-yaml/lib/js-yaml/type/float.js","../node_modules/windows-release/node_modules/execa/lib/errname.js","../node_modules/@sindresorhus/transliterate/replacements.js","../node_modules/tslib/tslib.js","../dist/index.js","../node_modules/@actions/core/lib/command.js","../node_modules/nodemailer/lib/mime-funcs/mime-types.js","../node_modules/prettier/parser-graphql.js","../node_modules/nodemailer/lib/smtp-connection/http-proxy-client.js","../node_modules/node-libcurl/dist/enum/CurlReadFunc.js","../dist/site.js","../node_modules/@octokit/core/dist-node/index.js","../node_modules/pump/index.js","../node_modules/follow-redirects/debug.js","../node_modules/js-yaml/lib/js-yaml/loader.js","../node_modules/@octokit/request-error/dist-node/index.js","../node_modules/fs-extra/lib/json/jsonfile.js","../node_modules/@actions/core/lib/core.js","../node_modules/fs-extra/lib/ensure/index.js","../node_modules/fs-extra/lib/remove/rimraf.js","../node_modules/shelljs/src/chmod.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js","../node_modules/nodemailer/lib/fetch/index.js","../node_modules/debug/src/common.js","../node_modules/windows-release/index.js","../node_modules/signal-exit/index.js","../node_modules/fs-extra/lib/move/move.js","../node_modules/shelljs/src/touch.js","../node_modules/windows-release/node_modules/cross-spawn/lib/parse.js","../node_modules/fs-extra/lib/output/index.js","../node_modules/before-after-hook/index.js","../node_modules/node-libcurl/dist/enum/CurlUseSsl.js","../node_modules/axios/lib/defaults.js","../node_modules/node-libcurl/dist/generated/CurlOption.js","../node_modules/shelljs/src/ln.js","../node_modules/node-libcurl/dist/enum/CurlFtpSsl.js","../node_modules/shelljs/src/dirs.js","../node_modules/nodemailer/lib/ses-transport/index.js","../node_modules/follow-redirects/index.js","../node_modules/shelljs/src/uniq.js","../node_modules/js-yaml/lib/js-yaml/exception.js","../node_modules/nodemailer/lib/stream-transport/index.js","../node_modules/node-libcurl/dist/Multi.js","../node_modules/end-of-stream/index.js","../node_modules/axios/lib/core/settle.js","../node_modules/minimatch/minimatch.js","../node_modules/js-yaml/lib/js-yaml/type/str.js","../node_modules/js-yaml/lib/js-yaml/schema/failsafe.js","../node_modules/windows-release/node_modules/get-stream/buffer-stream.js","../node_modules/node-libcurl/dist/enum/CurlFnMatchFunc.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/node-libcurl/dist/enum/CurlAuth.js","../node_modules/node-libcurl/dist/enum/CurlPx.js","../node_modules/fs-extra/lib/copy/copy.js","../dist/summary.js","../node_modules/graceful-fs/graceful-fs.js","../node_modules/shelljs/src/common.js","../node_modules/nodemailer/lib/fetch/cookies.js","../node_modules/shelljs/src/error.js","../node_modules/graceful-fs/clone.js","../node_modules/js-yaml/lib/js-yaml/schema/core.js","../external \"events\"","../node_modules/fs-extra/lib/empty/index.js","../node_modules/prettier/parser-babel.js","../external \"constants\"","../node_modules/balanced-match/index.js","../external \"path\"","../node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp/index.js","../node_modules/node-libcurl/dist/enum/CurlPush.js","../node_modules/fs-extra/lib/json/output-json-sync.js","../node_modules/js-yaml/lib/js-yaml/type/js/regexp.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/js-yaml/lib/js-yaml/type/merge.js","../node_modules/prettier/third-party.js","../node_modules/nodemailer/lib/mime-funcs/index.js","../node_modules/node-libcurl/dist/enum/CurlFileType.js","../node_modules/node-libcurl/dist/enum/CurlVersion.js","../dist/helpers/environment.js","../node_modules/nodemailer/lib/mailer/mail-message.js","../node_modules/@sindresorhus/transliterate/index.js","../node_modules/node-libcurl/dist/enum/CurlFtpMethod.js","../node_modules/signal-exit/signals.js","../node_modules/shelljs/src/mkdir.js","../dist/helpers/request.js","../node_modules/node-libcurl/dist/enum/CurlChunk.js","../node_modules/jsonfile/index.js","../external \"util\"","../node_modules/axios/lib/adapters/http.js","../node_modules/inflight/inflight.js","../node_modules/windows-release/node_modules/execa/index.js","../node_modules/universalify/index.js","../node_modules/nodemailer/lib/dkim/index.js","../node_modules/path-is-absolute/index.js","../node_modules/prettier/parser-flow.js","../node_modules/js-yaml/lib/js-yaml/dumper.js","../node_modules/node-libcurl/dist/enum/CurlHeader.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/inherits/inherits.js","../node_modules/shelljs/src/which.js","../node_modules/deprecation/dist-node/index.js","../node_modules/shelljs/src/exec.js","../node_modules/fs-extra/lib/json/output-json.js","../node_modules/is-plain-object/index.cjs.js","../node_modules/p-finally/index.js","../node_modules/prettier/parser-glimmer.js","../node_modules/shelljs/src/ls.js","../node_modules/nodemailer/lib/smtp-pool/index.js","../node_modules/fs-extra/lib/remove/index.js","../node_modules/node-fetch/lib/index.js","../node_modules/fs-extra/lib/mkdirs/index.js","../node_modules/node-libcurl/dist/enum/CurlShareLock.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/js-yaml/lib/js-yaml/schema.js","../node_modules/shelljs/shell.js","../node_modules/js-yaml/lib/js-yaml/common.js","../node_modules/isexe/index.js","../node_modules/node-libcurl/dist/enum/CurlIpResolve.js","../external \"fs\"","../node_modules/@octokit/request/dist-node/index.js","../node_modules/windows-release/node_modules/shebang-regex/index.js","../node_modules/shelljs/src/echo.js","../node_modules/windows-release/node_modules/get-stream/index.js","../node_modules/shelljs/src/exec-child.js","../node_modules/nodemailer/lib/sendmail-transport/le-windows.js","../node_modules/strip-eof/index.js","../node_modules/fs-extra/lib/copy/index.js","../node_modules/axios/lib/core/Axios.js","../node_modules/windows-release/node_modules/is-stream/index.js","../node_modules/debug/src/index.js","../node_modules/nodemailer/lib/shared/index.js","../node_modules/debug/src/browser.js","../node_modules/universal-user-agent/dist-node/index.js","../node_modules/node-libcurl/dist/enum/CurlNetrc.js","../node_modules/nodemailer/lib/qp/index.js","../node_modules/node-libcurl/dist/enum/CurlSshAuth.js","../node_modules/js-yaml/lib/js-yaml/type/null.js","../node_modules/nodemailer/lib/mail-composer/index.js","../node_modules/@octokit/auth-token/dist-node/index.js","../node_modules/node-libcurl/dist/enum/CurlPause.js","../node_modules/isexe/windows.js","../node_modules/node-libcurl/dist/enum/CurlFeature.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/windows-release/node_modules/path-key/index.js","../node_modules/js-yaml/lib/js-yaml/schema/default_safe.js","../node_modules/node-libcurl/dist/enum/CurlInfoDebug.js","../node_modules/shelljs/src/cat.js","../external \"url\"","../node_modules/before-after-hook/lib/add.js","../node_modules/js-yaml/lib/js-yaml/type/timestamp.js","../node_modules/js-yaml/lib/js-yaml/type/omap.js","../node_modules/fs-extra/lib/ensure/symlink.js","../node_modules/nodemailer/lib/smtp-transport/index.js","../node_modules/node-libcurl/dist/enum/CurlRtspRequest.js","../node_modules/glob/common.js","../dist/helpers/github.js","../node_modules/@octokit/graphql/node_modules/universal-user-agent/dist-node/index.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/before-after-hook/lib/remove.js","../external \"tty\"","../node_modules/fs-extra/lib/fs/index.js","../node_modules/prettier/parser-html.js","../external \"http\"","../node_modules/axios/lib/helpers/spread.js","../external \"dns\"","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/@octokit/rest/dist-node/index.js","../node_modules/shelljs/src/head.js","../node_modules/concat-map/index.js","../node_modules/@octokit/graphql/dist-node/index.js","../node_modules/fs-extra/lib/ensure/link.js","../dist/graphs.js","../external \"zlib\"","../node_modules/nodemailer/lib/base64/index.js","../node_modules/node-libcurl/dist/enum/CurlCode.js","../node_modules/js-yaml/lib/js-yaml/schema/default_full.js","../node_modules/js-yaml/lib/js-yaml/type/binary.js","../node_modules/fs-extra/lib/util/utimes.js","../node_modules/js-yaml/lib/js-yaml/type/seq.js","../node_modules/fs-extra/lib/ensure/symlink-paths.js","../node_modules/shelljs/src/set.js","../external \"net\"","../dist/helpers/calculate-uptime.js","../node_modules/js-yaml/lib/js-yaml/type.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/js-yaml/lib/js-yaml/type/pairs.js","../node_modules/nice-try/src/index.js","../node_modules/nodemailer/lib/smtp-connection/index.js","../node_modules/shelljs/src/tempdir.js","../node_modules/node-libcurl/dist/parseHeaders.js","../node_modules/windows-release/node_modules/semver/semver.js","../node_modules/fs-extra/lib/move-sync/index.js","../node_modules/axios/lib/core/buildFullPath.js","../dist/update.js","../node_modules/prettier/parser-espree.js","../node_modules/fs-extra/lib/ensure/symlink-type.js","../node_modules/nodemailer/lib/dkim/message-parser.js","../node_modules/js-yaml/lib/js-yaml/type/map.js","../node_modules/shelljs/src/sed.js","../node_modules/prettier/parser-postcss.js","/webpack/runtime/node module decorator"],"names":[],"mappings":"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;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,2BAA2B;AAC3B;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,4BAA4B;AAC5B,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9Va;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,uC;;;;;;;;;;AC5Ba;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,0BAA0B,IAAI,kBAAkB,GAAG,aAAa;AACtF;;AAEA;AACA;;AAEA,OAAO;AACP;;;;;;;;;;ACjBY;;AAEZ,cAAc;AACd,YAAY,mBAAO,CAAC,GAAa;AACjC;;;;;;;;ACJa;;AAEb,aAAa,mBAAO,CAAC,GAAW;AAChC,aAAa,mBAAO,CAAC,GAAS;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,aAAa;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,QAAQ,aAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,iCAAiC,6EAA6E,EAAE;AAChH,iCAAiC,6EAA6E,EAAE;AAChH,iCAAiC,yBAAyB,EAAE;AAC5D;AACA,iCAAiC,4GAA4G;AAC7I,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;AC5KY;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,0C;;;;;;ACFA,aAAa,mBAAO,CAAC,EAAQ;AAC7B,cAAc;AACd,cAAc;;AAEd;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCa;;AAEb,eAAe,mBAAO,CAAC,GAAQ;AAC/B,cAAc,mBAAO,CAAC,GAAU;AAChC,eAAe,mBAAO,CAAC,GAAQ;AAC/B,eAAe,mBAAO,CAAC,GAAW;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,cAAc;AAC7B,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,cAAc;AAC7B,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA,qBAAqB,0BAA0B;AAC/C;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;ACvXd,cAAc,GAAG,mBAAO,CAAC,EAAa,E;;;;;;;ACAtC;AACA;AACA;AACA;AACA;AACY;AACZ,WAAW,mBAAO,CAAC,GAAO;AAC1B,aAAa,mBAAO,CAAC,GAAM;AAC3B,oBAAoB,mBAAO,CAAC,GAAe;;AAE3C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mEAAmE,IAAI;AACvE;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB,8CAA8C;AAC9C,UAAU;AACV;;AAEA;AACA;AACA;AACA,6DAA6D,IAAI;AACjE;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;AC5IA,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA,eAAe,cAAc;AAC7B,eAAe,cAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4DAA4D,iBAAiB;AAC7E;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;;AAEH;AACA,kBAAkB;AAClB;AACA;AACA;AACA,cAAc;;;;;;;AC/Ed,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAM;AACvB,SAAS,mBAAO,CAAC,GAAM;;AAEvB;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yDAAyD,iBAAiB;AAC1E,aAAa;AACb;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+FAA+F,iBAAiB;AAChH;AACA;AACA;;AAEA;AACA,6DAA6D,iBAAiB;AAC9E,aAAa;AACb;;AAEA;AACA,mDAAmD,iBAAiB;AACpE,aAAa;AACb;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE;AACL;AACA,CAAC;AACD,cAAc;;;;;;;;;;;;;;;;;;;;;;;ACrHD;;AAEb,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;;;;;;;ACZA;AACA;AACA;;AAEA,YAAY,mBAAO,CAAC,GAAK;AACzB,aAAa,mBAAO,CAAC,GAAM;;AAE3B;AACA;AACA;;AAEA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;;AAEP;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;AACA;AACA,uBAAuB,mBAAO,CAAC,GAAgB;;AAE/C;AACA,EAAE,OAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA,CAAC,IAAI;;AAEL;AACA;AACA;;AAEA;AACA,oBAAoB,OAAO;AAC3B,UAAU,OAAO;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,2BAA2B;;AAEnC;AACA;AACA,iDAAiD,EAAE;AACnD,sBAAsB,WAAW,IAAI,KAAK;;AAE1C;AACA,+BAA+B,cAAc;AAC7C,EAAE;AACF;AACA;AACA;;AAEA;AACA,KAAK,OAAO;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0BAA0B,OAAO;AACjC,gBAAgB,iBAAiB;AACjC,+BAA+B,OAAO;AACtC;AACA;;AAEA,cAAc,GAAG,mBAAO,CAAC,GAAU,EAAE,OAAO;;AAE5C,OAAO,WAAW,GAAG,cAAc;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;AChQa;AACb;AACA;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,iC;;;;;;;;;;AClBA,+B;;;;;;ACAA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA,WAAW,mBAAO,CAAC,GAAM;AACzB,0BAA0B;AAC1B,YAAY,mBAAO,CAAC,GAAO;;AAE3B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,8DAA8D,KAAK,KAAK;AACxE;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC,OAAO;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA,8BAA8B,sBAAsB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;ACtIa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,eAAe,OAAO,gBAAgB,OAAO,gBAAgB;AAC9D,sC;;;;;;ACtCA,eAAe,KAAoD,CAAC,cAAc,KAAK,SAA2K,CAAC,kBAAkB,aAAa,oBAAoB,oEAAoE,kBAAkB,kBAAkB,YAAY,iBAAiB,uBAAuB,kBAAkB,2FAA2F,mBAAmB,sBAAsB,cAAc,wEAAwE,qBAAqB,wBAAwB,2CAA2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AACnC;AACA,sDAAsD,MAAM;AAC5D,qDAAqD,KAAK;AAC1D;AACA,qCAAqC,6BAA6B;AAClE;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,+B;;;;;;ACnBA,aAAa,mBAAO,CAAC,GAAQ;;AAE7B,cAAc;;AAEd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB;;AAEA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB;;AAEA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrHY;;AAEZ,WAAW,mBAAO,CAAC,GAAa;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,iBAAiB,mBAAO,CAAC,EAAc;AACvC,mBAAmB,mBAAO,CAAC,GAAW;AACtC,mBAAmB,mBAAO,CAAC,GAAW;AACtC,aAAa,mBAAO,CAAC,GAAc;;AAEnC;AACA;AACA;;AAEA,SAAS,UAAU;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;;;AC9CD;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;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AAoB,2BAA2B,SAAS,+CAA+C,SAAS,uCAAuC;;;;;;;;;;;ACdx22I;;AAEb,eAAe,mBAAO,CAAC,GAAQ;AAC/B;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;AC3GF;;AAEZ,WAAW,mBAAO,CAAC,GAAa;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,mBAAmB,mBAAO,CAAC,GAAW;AACtC,yBAAyB,mBAAO,CAAC,GAAgB;AACjD,aAAa,mBAAO,CAAC,GAAc;;AAEnC;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kGAAkG;AAClG;AACA;;AAEA,SAAS,oBAAoB;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB,KAAK;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uDAAuD,KAAK,oBAAoB,IAAI;AACpF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS,WAAW;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,YAAY,kCAAkC,aAAa;AACjG;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,aAAa,UAAU,YAAY;AAC9E;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;;;;ACrKd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,GAAM;AAC/B;AACA,SAAS,mBAAO,CAAC,GAAI;;AAErB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA,0CAA0C,EAAE;AAC5C,CAAC;AACD;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9Sa;AACb,WAAW,mBAAO,CAAC,EAAI;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,cAAc;;;;;;;;;;;ACnCD;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO,qBAAqB,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,mBAAmB,OAAO,oBAAoB,OAAO,oBAAoB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB,OAAO,uBAAuB,OAAO,uBAAuB;AACnF,0C;;;;;;;;;;;AC/CY;;AAEZ,WAAW,mBAAO,CAAC,GAAO;AAC1B,aAAa,mBAAO,CAAC,GAAM;AAC3B,aAAa,mBAAO,CAAC,GAAM;AAC3B,oBAAoB,mBAAO,CAAC,GAAe;;AAE3C;AACA,2DAA2D,eAAe;AAC1E,mEAAmE,eAAe;;AAElF;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,qCAAqC,oBAAoB;AACzD;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,uCAAuC;AACvC;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC,GAAG;AACH;;AAEA;AACA,SAAS,oBAAoB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,eAAe;AAC9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,SAAS,IAAI,IAAI,kCAAkC,KAAK;AAC3E;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1IA,0C;;;;;;;;ACAa;AACb,mBAAmB,mBAAO,CAAC,GAAe;;AAE1C,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AClBa;;AAEb,YAAY,mBAAO,CAAC,EAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;ACrEa;;AAEb,aAAa,mBAAO,CAAC,GAAU;;AAE/B;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;;;ACxDD;;AAEb,oBAAoB,mBAAO,CAAC,GAAoB;AAChD,eAAe,mBAAO,CAAC,GAAW;;AAElC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;AACA;;AAEA,cAAc;;;;;;;;;;;;;;ACjFF;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,WAAW,mBAAO,CAAC,GAAa;AAChC,cAAc,mBAAO,CAAC,GAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;ACpEa;;AAEb,eAAe,mBAAO,CAAC,GAAQ;AAC/B;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,SAAS;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;AC1CD;AACb;;AAEA;;AAEA,cAAc;AACd;AACA;AACA;;AAEA;AACA,uFAAuF,oBAAoB,EAAE,gBAAgB;AAC7H;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,yFAAyF,aAAa;AACtG;;AAEA;AACA;;AAEA,gBAAgB,SAAS;AACzB;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;ACxCA,cAAc;AACd;AACA;AACA;AACA;;;;;;;;;;;;;ACJa;;AAEb,iBAAiB,mBAAO,CAAC,GAAiB;AAC1C;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA,cAAc;AACd;AACA;AACA;;;;;;;;AC9CA,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC,KAAK;AACL;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,0DAA0D;AAC1D;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oCAAoC;AACpC,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,iBAAiB,OAAO,kBAAkB,OAAO,kBAAkB;AACpE,wC;;;;;;;;ACnDa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,iBAAiB,OAAO,kBAAkB,OAAO,kBAAkB;AACpE,wC;;;;;;ACxBA;;;;;;;;;;;;;;;ACAA,cAAc;AACd;;AAEA,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACxCA,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,iBAAiB;AAC9E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA;AACA,cAAc;;;;;;;;;;ACxED;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oBAAoB,OAAO,qBAAqB,OAAO,qBAAqB;AAC7E,2C;;;;;;;;;;;;;;ACvCA,kC;;;;;;;ACAa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,cAAc,OAAO,eAAe,OAAO,eAAe;AAC3D,qC;;;;;;AC3BA,qC;;;;;;;ACAa;AACb;AACA,4CAA4C;AAC5C;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,gCAAgC,mBAAO,CAAC,EAAO;AAC/C,qCAAqC,mBAAO,CAAC,GAAY;AACzD;AACA;AACA,mDAAmD,oCAAoC;AACvF;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO,yEAAyE,sCAAsC,GAAG,WAAW,0BAA0B,mCAAmC,GAAG,EAAE;AAC7N;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,4BAA4B,KAAK;AACjC,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,yC;;;;;;;ACtDA,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAU;AAC/B,UAAU,mBAAO,CAAC,GAAM;;AAExB,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qCAAqC,4BAA4B,EAAE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA,WAAW,6BAA6B;AACxC;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA;AACA,cAAc;;;;;;;;;;AC5DD;;AAEb,YAAY,mBAAO,CAAC,EAAY;AAChC,aAAa,mBAAO,CAAC,GAAkB;AACvC,cAAc,mBAAO,CAAC,GAAsB;AAC5C,eAAe,mBAAO,CAAC,GAAuB;AAC9C,oBAAoB,mBAAO,CAAC,GAAuB;AACnD,mBAAmB,mBAAO,CAAC,GAA2B;AACtD,sBAAsB,mBAAO,CAAC,GAA8B;AAC5D,kBAAkB,mBAAO,CAAC,EAAqB;;AAE/C,cAAc;AACd;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;AClLY;;AA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AgD,gBAAgB,oBAAoB,WAAW,GAAG,UAAU,IAAI,qBAAqB,6BAA6B,EAAE,2FAA2F,mBAAmB,MAAM,cAAc,8FAA8F,gBAAgB,kBAAkB,MAAM,qCAAqC,gBAAgB,eAAe,GAAG,sFAAsF,yBAAyB,cAAc,uDAAuD,kBAAkB,mGAAmG,uCAAuC,cAAc,aAAa,gBAAgB,qBAAqB,6BAA6B,2BAA2B,GAAG,uCAAuC,UAAU,+DAA+D,oBAAoB,KAAK,UAAU,SAAS,EAAE,EAAE,OAAO,SAAS,0CAA0C,KAAK,UAAU,SAAS,EAAE,IAAI;;;;;;;;;;AClB7qgE,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5Ba;;AAEb;AACA,0CAA0C;;AAE1C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,IAAI;;AAEjB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc,IAAI;;AAElB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd,cAAc;;;;;;;;AC5CD;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA,8CAA8C,SAAS;AACvD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,wCAAwC;AACjD;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc;;;;;;;;;;;ACxTd,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;;AAEzB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,6EAA6E,iBAAiB;AAC9F;AACA;AACA,cAAc;;;;;;;;;;;ACnCd,cAAc;AACd;;AAEA,SAAS,mBAAO,CAAC,GAAI;AACrB,SAAS,mBAAO,CAAC,GAAa;AAC9B,gBAAgB,mBAAO,CAAC,GAAW;AACnC;AACA,WAAW,mBAAO,CAAC,GAAW;AAC9B,WAAW,mBAAO,CAAC,GAAM;AACzB,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAQ;AAC7B,iBAAiB,mBAAO,CAAC,GAAkB;AAC3C,aAAa,mBAAO,CAAC,GAAa;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;ACrea;AACb,WAAW,mBAAO,CAAC,EAAI;AACvB,gBAAgB,mBAAO,CAAC,GAAU;;AAElC;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iCAAiC,GAAG;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;;;;;;;;;AClIA,gBAAgB,mBAAO,CAAC,GAAW;;AAEnC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA,cAAc;;AAEd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,yCAAyC;AACzC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL,8CAA8C;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;ACrVa;;AAEb,qBAAqB,mBAAO,CAAC,GAAQ;AACrC,eAAe,mBAAO,CAAC,GAAW;AAClC,kBAAkB,mBAAO,CAAC,GAA0B;AACpD,qBAAqB,mBAAO,CAAC,GAAkB;AAC/C,aAAa,mBAAO,CAAC,GAAS;AAC9B,wBAAwB,mBAAO,CAAC,GAAsC;AACtE,aAAa,mBAAO,CAAC,GAAM;AAC3B,eAAe,mBAAO,CAAC,GAAK;AAC5B,oBAAoB,mBAAO,CAAC,GAAoB;AAChD,oBAAoB,mBAAO,CAAC,GAAgB;AAC5C,YAAY,mBAAO,CAAC,GAAK;AACzB,YAAY,mBAAO,CAAC,GAAK;AACzB,eAAe,mBAAO,CAAC,GAAQ;;AAE/B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;;AAET;AACA;;AAEA;AACA,mCAAmC,KAAK;AACxC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F,IAAI;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;ACtad;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAuxae,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAm3OlB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA8zIe,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAst+B5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9pwDC;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,qDAAqD;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gBAAgB,OAAO,iBAAiB,OAAO,iBAAiB;AACjE,uC;;;;;;ACnBA,cAAc;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP,KAAK;AACL;;;;;;;;AC3BA,mC;;;;;;;ACAa;;AAEb,YAAY,mBAAO,CAAC,EAAY;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,cAAc;;;;;;;ACnDd,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,oCAAoC;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe;AACf,CAAC;AACD,cAAc;;;;;;;;;ACpFD;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,qBAAqB,OAAO,sBAAsB,OAAO,sBAAsB;AAChF,4C;;;;;;;;;;AC1Ba;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,+BAA+B;AAC/B,OAAO;AACP,gC;;;;;;;;;;;;;ACLa;;AAEb,eAAe,mBAAO,CAAC,GAAU;AACjC,eAAe,mBAAO,CAAC,GAAU;AACjC,iBAAiB,mBAAO,CAAC,GAAa;AACtC,sBAAsB,mBAAO,CAAC,GAAkB;AAChD,0BAA0B,mBAAO,CAAC,GAAsB;AACxD,wBAAwB,mBAAO,CAAC,GAAoB;AACpD,sBAAsB,mBAAO,CAAC,GAAkB;AAChD,qBAAqB,mBAAO,CAAC,GAAiB;AAC9C,cAAc,mBAAO,CAAC,GAAS;AAC/B,oBAAoB,mBAAO,CAAC,GAAiB;;AAE7C;AACA;AACA;;AAEA;;AAEA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,cAAc;AACd;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;;;;;;;;AC9Ia;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,qEAAqE,oEAAoE;AACzI;AACA,gEAAgE;AAChE;AACA;AACA;AACA,SAAS;AACT;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,OAAO;AACP;;;;;;;;;ACjIA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA,SAAS,mBAAO,CAAC,GAAI;AACrB;AACA;;AAEA;AACA;AACA,UAAU,mBAAO,CAAC,GAAU;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACjEA,2C;;;;;;;ACAA,gBAAgB,mBAAO,CAAC,GAAY;AACpC,eAAe,mBAAO,CAAC,GAAgB;;AAEvC,cAAc;;AAEd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA,mCAAmC;AACnC,oCAAoC;AACpC;AACA;AACA;;;AAGA;AACA;AACA,wCAAwC,GAAG,IAAI;AAC/C;AACA;AACA;;AAEA;AACA,qBAAqB,KAAK;;AAE1B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB,aAAa;AAClC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B,uCAAuC,GAAG;AAC1C,YAAY,GAAG,yBAAyB;AACxC;AACA;AACA,8BAA8B;AAC9B,cAAc,GAAG;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qBAAqB,KAAK;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,EAAE;AACV,2BAA2B;AAC3B,sBAAsB;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,YAAY,KAAK,QAAQ,EAAE,IAAI,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mCAAmC,2BAA2B;AAC9D;;AAEA,iBAAiB,cAAc;AAC/B,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACvMa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA,iBAAiB,mBAAO,CAAC,GAAkC;AAC3D;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,gC;;;;;;;;;;;ACba;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,eAAe,OAAO,gBAAgB,OAAO,gBAAgB;AAC9D,sC;;;;;;AChCA;AACA;AACA,EAAE,cAAc;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,CAAC;AACD;AACA,EAAE,cAAc;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACjKY;AACZ,UAAU,mBAAO,CAAC,GAAc;AAChC,WAAW,mBAAO,CAAC,GAAO;;AAE1B;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;;;;;ACXa;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,sBAAsB,GAAG,KAAK,KAAK,gBAAgB,MAAM,mBAAmB;AACtG;AACA,KAAK;AACL,0BAA0B,sBAAsB,GAAG,KAAK,KAAK,aAAa,MAAM,mBAAmB;AACnG;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA,OAAO;AACP;;;;;;;;;;;;;;;;AC7Ba;;AAEb,WAAW,mBAAO,CAAC,GAAI;AACvB,uBAAuB,mBAAO,CAAC,GAAiB;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uBAAuB;AACvB;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK,YAAY;;AAEjB;AACA;AACA;;AAEA,cAAc;;;;;;;;;;AC/Bd,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,4DAA4D,iBAAiB;AAC7E;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;;;;;;;;;;;;;;AChGd;;AAEa;;AAEb,eAAe,mBAAO,CAAC,GAAQ;AAC/B,WAAW,mBAAO,CAAC,EAAI;AACvB,WAAW,mBAAO,CAAC,GAAI;AACvB,iBAAiB,mBAAO,CAAC,GAAU;AACnC,oBAAoB,mBAAO,CAAC,GAAQ;AACpC,eAAe,mBAAO,CAAC,GAAW;;AAElC,kBAAkB,mBAAO,CAAC,GAAe;AACzC,WAAW,mBAAO,CAAC,GAAO;AAC1B,eAAe,mBAAO,CAAC,GAAW;AAClC,sBAAsB,mBAAO,CAAC,GAAkB;AAChD,cAAc,mBAAO,CAAC,GAAU;AAChC,oBAAoB,mBAAO,CAAC,CAAgB;;AAE5C;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kEAAkE,iBAAiB;AACnF;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA,2DAA2D,QAAQ;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD,iBAAiB;AACvE,QAAQ,aAAa;AACrB;AACA,eAAe,oBAAoB;AACnC,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,aAAa;AACb,2BAA2B,wCAAwC;AACnE;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,0BAA0B;AAC1B;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mDAAmD,SAAS;AAC5D;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sDAAsD,iBAAiB;AACvE,QAAQ,aAAa;AACrB;AACA,eAAe,oBAAoB;AACnC,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,aAAa;AACb,2BAA2B,wCAAwC;AACnE;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,0BAA0B;AAC1B;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA,mDAAmD,SAAS;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gEAAgE;AAChE;AACA;AACA;AACA,mCAAmC;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,sDAAsD,SAAS;AAC/D;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,wDAAwD,SAAS;AACjE;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO,+BAA+B;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO,+BAA+B;AACtD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,+BAA+B;AACvE,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,6JAA6J;AAC7J;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mGAAmG;AACnG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;ACruCD;;AAEb;;AAEA;AACA,sCAAsC,QAAQ,GAAG,iBAAiB;AAClE;AACA;AACA,oBAAoB,QAAQ,GAAG,iBAAiB;AAChD;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iDAAiD;AACjD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;;;;;;;;;AC1Da;;AAEb,iBAAiB,mBAAO,CAAC,GAAU;AACnC,kBAAkB,mBAAO,CAAC,GAAe;AACzC,eAAe,mBAAO,CAAC,GAAQ;;AAE/B;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;;AAEA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,+CAA+C,GAAG,GAAG,GAAG;AACxD;;AAEA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,kEAAkE;AAClE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpHA;;;;;;;;;;;;;iBAaiB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbZ;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,cAAc;AACd,UAAU,mBAAO,CAAC,GAAQ;AAC1B;;;;;;;;;ACLA,qCAAqC;AACrC;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc,IAAI;;;;;;;ACdlB,mC;;;;;;;ACAa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,4CAA4C;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oBAAoB,OAAO,qBAAqB,OAAO,qBAAqB;AAC7E,2C;;;;;;ACrBA,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAU;;AAE/B;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;;;;;;;;;;;;;;;;;ACfD;AACb,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPA,cAAc,GAAG,OAAuB,CAAC,mBAAmB,sC;;;;;;;;ACA/C;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACzCA,mC;;;;;;;;;;;;ACAa;;AAEb,uBAAuB,mBAAO,CAAC,GAAoB;AACnD,eAAe,mBAAO,CAAC,GAAW;AAClC,gBAAgB,mBAAO,CAAC,EAAY;AACpC,qBAAqB,mBAAO,CAAC,GAAQ;;AAErC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;;AAEb;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;AC5Pd,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;;AAEzB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,4EAA4E,iBAAiB;AAC7F;AACA;AACA,cAAc;;;;;;;;;;;;ACpCD;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D,+BAA+B,iFAAiF;;AAEhH,oCAAoC,mBAAO,CAAC,GAAiB;AAC7D,yBAAyB,mBAAO,CAAC,EAAsB;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,OAAO,EAAE;AACT,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,GAAG;AACH,8BAA8B;AAC9B,GAAG;;;AAGH;AACA,gDAAgD,WAAW;;AAE3D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc,KAAK,GAAG,qCAAqC;AAC3D,GAAG;AACH;;AAEA,4BAA4B,GAAG,IAAI;;AAEnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,oBAAoB;AACpB;AACA;AACA;;AAEA;AACA;AACA,kCAAkC,EAAE;AACpC;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH,uBAAuB;AACvB;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC,6BAA6B,KAAK,EAAE,KAAK,MAAM,EAAE;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,4CAA4C,2BAA2B,QAAQ;;AAE/E,2DAA2D,IAAI;AAC/D,gCAAgC;AAChC;AACA,kGAAkG;;AAElG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2JAA2J,yBAAyB;AACpL;;AAEA;AACA;AACA;AACA,sDAAsD,yBAAyB;AAC/E,yCAAyC,QAAQ,UAAU,OAAO;AAClE,OAAO;AACP;AACA,GAAG;AACH;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;;AAGH;AACA,gDAAgD;AAChD,GAAG;AACH;;;AAGA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,yCAAyC,QAAQ,GAAG,kCAAkC,EAAE;AACxF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA,OAAO;AACP;;;;;;;;AC1Xa;;AAEb,WAAW,mBAAO,CAAC,GAAY;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AC3BY;;AAEb;;AAEA,kBAAkB,mBAAO,CAAC,GAAQ;AAClC,eAAe,mBAAO,CAAC,GAAQ;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;ACzJD;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,aAAa,OAAO,cAAc,OAAO,cAAc;AACxD,oC;;;;;;;;AChCa;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,0BAA0B,IAAI,kBAAkB,GAAG,aAAa;AACtF;;AAEA;AACA;;AAEA,OAAO;AACP;;;;;;;;;;;ACjBa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kBAAkB,OAAO,mBAAmB,OAAO,mBAAmB;AACvE,yC;;;;;;;ACrBa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,qBAAqB,mBAAO,CAAC,GAAwB;AACrD,eAAe,mBAAO,CAAC,GAAQ;AAC/B,sBAAsB,mBAAO,CAAC,GAAoB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,oCAAoC;AACpC;AACA;AACA,oCAAoC,2BAA2B,EAAE,IAAI;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,4EAA4E;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,kBAAkB;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,iC;;;;;;;;;AC/Pa;;AAEb,WAAW,mBAAO,CAAC,GAAe;AAClC,cAAc,mBAAO,CAAC,GAAa;AACnC,eAAe,mBAAO,CAAC,GAAc;;AAErC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd,cAAc;AACd,cAAc;;AAEd,cAAc;AACd,cAAc;;;;;;;;ACtCd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;AAEd,SAAS,mBAAO,CAAC,GAAI;AACrB,SAAS,mBAAO,CAAC,GAAa;AAC9B,gBAAgB,mBAAO,CAAC,GAAW;AACnC;AACA,eAAe,mBAAO,CAAC,GAAU;AACjC,SAAS,mBAAO,CAAC,GAAQ;AACzB,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAQ;AAC7B,iBAAiB,mBAAO,CAAC,GAAkB;AAC3C,eAAe,mBAAO,CAAC,GAAW;AAClC,aAAa,mBAAO,CAAC,GAAa;AAClC;AACA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,GAAU;AACjC,WAAW,mBAAO,CAAC,GAAM;AACzB;AACA;;AAEA,WAAW,mBAAO,CAAC,EAAM;;AAEzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,gCAAgC,qBAAqB;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,yBAAyB;AAC1C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;ACrxBa;AACb,aAAa,mBAAO,CAAC,GAAM;AAC3B,gBAAgB,mBAAO,CAAC,GAAU;;AAElC,cAAc;AACd;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;AACA,EAAE;;AAEF,6BAA6B;AAC7B,uBAAuB,IAAI;;AAE3B;AACA,aAAa,cAAc;;AAE3B;AACA;;;;;;;;;ACtCA;;;;;;;;ACAa;;AAEb,cAAc,mBAAO,CAAC,GAAe;AACrC,oBAAoB,mBAAO,CAAC,GAAoB;AAChD,kBAAkB,mBAAO,CAAC,GAAc;AACxC,eAAe,mBAAO,CAAC,GAAW;AAClC,eAAe,mBAAO,CAAC,GAAW;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA,aAAa;;AAEb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;ACvND;;AAEb,YAAY,mBAAO,CAAC,EAAU;;AAE9B,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACXa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,gBAAgB,mBAAO,CAAC,GAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,GAAQ;AACjC,yBAAyB,mBAAO,CAAC,GAAgB;AACjD,yCAAyC,mBAAO,CAAC,GAAQ;AACzD,iBAAiB,mBAAO,CAAC,GAAQ;AACjC;AACA,YAAY,mBAAO,CAAC,GAAiB;AACrC,eAAe,mBAAO,CAAC,GAAQ;AAC/B,gBAAgB,mBAAO,CAAC,GAAS;AACjC,sBAAsB,mBAAO,CAAC,EAAe;AAC7C,uBAAuB,mBAAO,CAAC,GAAgB;AAC/C,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,sBAAsB,mBAAO,CAAC,GAAoB;AAClD,oBAAoB,mBAAO,CAAC,GAAkB;AAC9C,wBAAwB,mBAAO,CAAC,GAAsB;AACtD,uBAAuB,mBAAO,CAAC,GAAqB;AACpD;AACA,iBAAiB,mBAAO,CAAC,GAAkC;AAC3D,OAAO,+BAA+B;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mBAAmB,2BAA2B;AAC9C;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,2BAA2B;AACtD;AACA;AACA;AACA;AACA,qDAAqD,4BAA4B;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,kDAAkD;AACnG;AACA;AACA;AACA;AACA;AACA,wCAAwC,kDAAkD;AAC1F;AACA;AACA;AACA;AACA;AACA,iDAAiD,kDAAkD;AACnG;AACA;AACA;AACA;AACA;AACA,wCAAwC,kDAAkD;AAC1F;AACA;AACA;AACA;AACA;AACA,gBAAgB,wBAAwB,MAAM;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE,8BAA8B,8BAA8B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE,8BAA8B,8BAA8B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,kCAAkC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,kCAAkC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,kCAAkC;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,8BAA8B;AAC1F;AACA;AACA,eAAe,aAAa;AAC5B;AACA,sDAAsD,2BAA2B;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,oCAAoC,WAAW,kBAAkB,YAAY;AAC7E;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,oDAAoD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,wBAAwB,KAAK,kDAAkD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,kCAAkC;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,kDAAkD;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,0CAA0C;AACtF;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,6CAA6C;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,8CAA8C;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,mCAAmC,wCAAwC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,YAAY;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2CAA2C,KAAK,+BAA+B;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yCAAyC,KAAK,6BAA6B;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,8BAA8B;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B,sBAAsB,UAAU;AAChC,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;ACt1BA,mC;;;;;;;ACAa;;;AAGb,WAAW,mBAAO,CAAC,CAAkB;;;AAGrC,cAAc;;;;;;;;;ACND;;AAEb,aAAa,mBAAO,CAAC,GAAM;AAC3B,cAAc,mBAAO,CAAC,EAAO;AAC7B,gBAAgB,mBAAO,CAAC,GAAU;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;;;;;;;;AC9CD;;AAEb,aAAa,mBAAO,CAAC,GAAW;AAChC,aAAa,mBAAO,CAAC,GAAS;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnHY;AACb;AACA;AACA,aAAa,mBAAO,CAAC,GAAM;;AAE3B;;AAEA;AACA,CAAC,cAAc;AACf,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA,CAAC,cAAc;AACf;;AAEA;AACA,cAAc;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC,KAAK;AACrC;;;;;;;;;ACrCa;;AAEb,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtvBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAA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B,cAAc;AAC5D,OAAO;AACP,eAAe,mBAAO,CAAC,GAAe;AACtC,iBAAiB,mBAAO,CAAC,GAAU;AACnC,eAAe,mBAAO,CAAC,GAAQ;AAC/B,kBAAkB,mBAAO,CAAC,GAAW;AACrC,iBAAiB,mBAAO,CAAC,GAAU;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,OAAO;AACP,iBAAiB,EAAE;AACnB;AACA;AACA;AACA,CAAC;AACD,iC;;;;;;;;ACxCa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,wBAAwB,mBAAO,CAAC,EAAI;AACpC,gBAAgB,mBAAO,CAAC,EAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,yBAAyB;AACzB;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,IAAI,GAAG,oBAAoB;AAChE;AACA;AACA;AACA;AACA,qBAAqB,WAAW,EAAE,yBAAyB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;AC9EA;;AAEa;;AAEb,aAAa,mBAAO,CAAC,GAAM;;AAE3B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACrjEA,eAAe,KAAoD,CAAC,cAAc,KAAK,SAA2K,CAAC,kBAAkB,aAAa,oBAAoB,oEAAoE,kBAAkB,OAAO,sBAAsB,yDAAyD,0BAA0B,0BAA0B,OAAO,qBAAqB,0DAA0D,oBAAoB,sDAAsD,kBAAkB,YAAY,iBAAiB,uBAAuB,kBAAkB,2FAA2F,mBAAmB,sBAAsB,uBAAuB,sCAAsC,SAAS,0EAA0E,oFAAoF,oBAAoB,mGAAmG,0BAA0B,6FAA6F,yBAAyB,sBAAsB,sCAAsC,SAAS,mBAAmB,+GAA+G,YAAY,sBAAsB,sCAAsC,SAAS,wBAAwB,gBAAgB,+BAA+B,WAAW,cAAc,iFAAiF,gBAAgB,aAAa,oGAAoG,KAAK,gBAAgB,aAAa,sCAAsC,0EAA0E,kDAAkD,wCAAwC,qCAAqC,2BAA2B,iCAAiC,iDAAiD,IAAI,eAAe,gBAAgB,2CAA2C,8CAA8C,2BAA2B,8BAA8B,sDAAsD,IAAI,sBAAsB,4EAA4E,2BAA2B,MAAM,qBAAqB,qBAAqB,yBAAyB,EAAE,oCAAoC,kFAAkF,mDAAmD,y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AAO,GAAG,KAAK,iBAAiB,uCAAuC,kBAAkB,sBAAsB,SAAS,WAAW,SAAS,MAAM,eAAe,GAAG,mBAAmB,MAAM,wBAAwB,GAAG,WAAW,QAAQ,EAAE,SAAS,wDAAwD;;;;;;;;;;;;ACAlhsD;;AAEb;AACA;AACA;;AAEA,YAAY,mBAAO,CAAC,GAAK;AACzB,YAAY,mBAAO,CAAC,EAAK;AACzB,eAAe,mBAAO,CAAC,GAAK;;AAE5B;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA,cAAc;;;;;;;;AClID;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,iBAAiB,OAAO,kBAAkB,OAAO,kBAAkB;AACpE,wC;;;;;;;;;ACtBa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,kBAAkB,mBAAO,CAAC,GAAS;AACnC,qBAAqB,mBAAO,CAAC,GAAsB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,gC;;;;;;;;ACrBa;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D,yBAAyB,mBAAO,CAAC,GAAsB;AACvD,sBAAsB,mBAAO,CAAC,GAAmB;AACjD,cAAc,mBAAO,CAAC,GAAkB;AACxC,cAAc,mBAAO,CAAC,GAAkB;AACxC,gBAAgB,mBAAO,CAAC,GAAqB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,iBAAiB;AACjB,+BAA+B;AAC/B;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,MAAM;;AAEN,mFAAmF,QAAQ,GAAG,kCAAkC;;AAEhI;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oGAAoG,sBAAsB;AAC1H;AACA,KAAK;AACL;AACA,qBAAqB;AACrB,oBAAoB;AACpB;AACA;AACA,KAAK;AACL,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,6DAA6D;;AAE7D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO,iBAAiB;;AAExB;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,wBAAwB,kBAAkB,GAAG,mBAAmB;AAChE,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA,OAAO;AACP;;;;;;;;;;;AC9KA,WAAW,mBAAO,CAAC,EAAM;AACzB,UAAU,mBAAO,CAAC,GAAe;AACjC,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,eAAe,qCAAqC;AACpD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA,cAAc;;;;;;;ACjFd;AACA;AACA;AACA,UAAU,mBAAO,CAAC,GAAO;AACzB;AACA;AACA,uBAAuB;AACvB;AACA,cAAc;;;;;;;;;;ACRD;;AAEb;;AAEA,0BAA0B,mBAAO,CAAC,GAAU;AAC5C,0BAA0B,mBAAO,CAAC,GAAa;AAC/C,0BAA0B,mBAAO,CAAC,GAAQ;AAC1C,0BAA0B,mBAAO,CAAC,GAAuB;AACzD,0BAA0B,mBAAO,CAAC,GAAuB;;;AAGzD;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,6CAA6C,EAAE;AAC/C;AACA,oDAAoD,EAAE,eAAe,EAAE,YAAY;;;AAGnF,sBAAsB,4CAA4C;;AAElE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,uBAAuB;AACvB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,0BAA0B,UAAU;AACpC,0BAA0B,UAAU;AACpC,0BAA0B,UAAU;AACpC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC;AACvC;AACA,eAAe,SAAS;AACxB;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;;AAEd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD,qBAAqB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,6CAA6C;AAC7C;;AAEA;;AAEA,+CAA+C,kBAAkB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,kBAAkB;AAChE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,cAAc,eAAe;AAC7B;;AAEA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA,GAAG,yBAAyB;AAC5B,sBAAsB,IAAI;AAC1B;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;AACA,4EAA4E;AAC5E,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA,QAAQ,+CAA+C;AACvD;;AAEA;AACA,UAAU,+CAA+C;AACzD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,6BAA6B;AAC7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA,OAAO;AACP,6BAA6B;AAC7B;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAuB;AACvB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP,4DAA4D,sBAAsB;AAClF;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT,mEAAmE;;AAEnE,SAAS;AACT;AACA;AACA,sBAAsB;AACtB;;AAEA,OAAO;AACP,8DAA8D;;AAE9D,OAAO;AACP;AACA;AACA,oBAAoB;AACpB;;AAEA,KAAK;AACL,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,QAAQ,+CAA+C;AACvD;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;;AAEA,oEAAoE,0BAA0B;AAC9F;;AAEA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,+EAA+E;AAC/E;;AAEA,wCAAwC;AACxC;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,YAAY,+CAA+C;AAC3D;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,gDAAgD,gBAAgB;AAChE;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,iDAAiD,8BAA8B;AAC/E;;;AAGA;AACA,oCAAoC,8BAA8B;AAClE;;;AAGA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;;;;;;;;;;;;;AC3mDD;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D,+BAA+B,iFAAiF;;AAEhH,kBAAkB,mBAAO,CAAC,GAAa;AACvC,2BAA2B,mBAAO,CAAC,EAAM;;AAEzC;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;;AAEnB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL,yCAAyC;;AAEzC,wCAAwC;;AAExC;AACA,4CAA4C;AAC5C;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,OAAO;AACP;;;;;;;;;;;;;ACtDY;;AAEZ,iBAAiB,mBAAO,CAAC,GAAU;;AAEnC,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVa;AACb;AACA,2BAA2B,+DAA+D,gBAAgB,EAAE,EAAE;AAC9G;AACA,mCAAmC,MAAM,6BAA6B,EAAE,YAAY,WAAW,EAAE;AACjG,kCAAkC,MAAM,iCAAiC,EAAE,YAAY,WAAW,EAAE;AACpG,+BAA+B,qFAAqF;AACpH;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,kBAAkB,mBAAO,CAAC,GAAW;AACrC,uBAAuB,mBAAO,CAAC,GAAgB;AAC/C,gBAAgB,mBAAO,CAAC,EAAS;AACjC,wBAAwB,mBAAO,CAAC,EAAI;AACpC,0BAA0B,mBAAO,CAAC,GAAM;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,aAAa,OAAO,cAAc,OAAO,cAAc;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,KAAK,IAAI,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU;AAChG;AACA;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,6BAA6B,UAAU,EAAE,eAAe,EAAE,oBAAoB;AAC9E;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,sCAAsC;AAC3E;AACA,4DAA4D,KAAK;AACjE;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,KAAK;AACrC;AACA,OAAO;AACP,gC;;;;;;;;AC7OY;;AAEZ,aAAa,mBAAO,CAAC,GAAQ;AAC7B,aAAa,mBAAO,CAAC,GAAQ;AAC7B,gBAAgB,mBAAO,CAAC,GAAW;;AAEnC,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtBY;;AAEZ,WAAW,mBAAO,CAAC,GAAa;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,eAAe,mBAAO,CAAC,GAAQ;;AAE/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA,cAAc;AACd;;;;;;;;;AC7SA,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;;AAEzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;;AAED;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC;AACjC;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA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EnH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO;AACP;;;;;;;;;;ACttDa;;AAEb,aAAa,mBAAO,CAAC,GAAM;AAC3B,cAAc,mBAAO,CAAC,GAAO;AAC7B,eAAe,mBAAO,CAAC,GAAK;AAC5B,aAAa,mBAAO,CAAC,GAAM;AAC3B,oBAAoB,mBAAO,CAAC,GAAQ;AACpC,gBAAgB,mBAAO,CAAC,GAAW;AACnC,oBAAoB,mBAAO,CAAC,GAAoB;;AAEhD;;AAEA,cAAc;AACd;AACA;;AAEA,cAAc;;AAEd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,qCAAqC;AACrC;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;;;;;;;AC3QA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAO,CAAC,GAAI;;AAEpC;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA,aAAa,kCAAkC;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;;AAEA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,cAAc;;;;;;;;;;;;;;;ACzQD;AACb,WAAW,mBAAO,CAAC,EAAI;AACvB,cAAc,mBAAO,CAAC,GAAO;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,oBAAoB,KAAK;AACzB;AACA;;AAEA;AACA;;AAEA,cAAc;;;;;;;;;ACnDd;AACA;AACA;AACA,aAAa,mBAAO,CAAC,GAAQ;AAC7B,cAAc,mBAAO,CAAC,GAAc;AACpC;;AAEA,SAAS,mBAAO,CAAC,GAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc;AACd;AACA;;AAEA,cAAc;;AAEd;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;AClKY;;AAEZ,WAAW,mBAAO,CAAC,GAAa;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,aAAa,mBAAO,CAAC,GAAS;AAC9B,eAAe,mBAAO,CAAC,GAAW;AAClC,eAAe,mBAAO,CAAC,GAAW;AAClC,mBAAmB,mBAAO,CAAC,GAAgB;AAC3C,aAAa,mBAAO,CAAC,GAAc;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,cAAc;;;;;;;;;;;AChEd,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA,cAAc;;AAEd;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;AC9Ga;;AAEb,aAAa,mBAAO,CAAC,GAAM;AAC3B,gBAAgB,mBAAO,CAAC,GAAU;AAClC,uBAAuB,mBAAO,CAAC,GAAuB;AACtD,eAAe,mBAAO,CAAC,GAAe;AACtC,oBAAoB,mBAAO,CAAC,GAAoB;AAChD,eAAe,mBAAO,CAAC,GAAQ;;AAE/B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,6CAA6C,aAAa;AAC1D;AACA,uDAAuD;AACvD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,aAAa;AAC1D,uDAAuD;AACvD,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;AACrC,8BAA8B,WAAW;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;;;;;AC5HF;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,WAAW,mBAAO,CAAC,GAAa;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,cAAc,mBAAO,CAAC,GAAW;AACjC,mBAAmB,mBAAO,CAAC,GAAgB;;AAE3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;;;;;ACvCA,eAAe,mBAAO,CAAC,GAAgB;AACvC,cAAc,mBAAO,CAAC,GAAW;AACjC,iBAAiB,mBAAO,CAAC,GAAc;;AAEvC;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;AAEA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA,cAAc;AACd,cAAc;AACd,cAAc;;;;;;;;;;;;ACxDD;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,eAAe,OAAO,gBAAgB,OAAO,gBAAgB;AAC9D,sC;;;;;;;ACxBa;;AAEb,YAAY,mBAAO,CAAC,EAAS;AAC7B,0BAA0B,mBAAO,CAAC,GAA+B;;AAEjE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,GAAgB;AACtC,GAAG;AACH;AACA,cAAc,mBAAO,CAAC,GAAiB;AACvC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY;AACnB;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,cAAc;;;;;;;;;;;ACjGD;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;AC35CA,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAU;;AAE/B;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C,iBAAiB;AAChE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kDAAkD,iBAAiB;AACnE,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA,kDAAkD,iBAAiB;AACnE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,cAAc;;;;;;;;;;ACxED;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,eAAe,OAAO,gBAAgB,OAAO,gBAAgB;AAC9D,sC;;;;;;;;;AChCA,aAAa,mBAAO,CAAC,GAAU;AAC/B,UAAU,mBAAO,CAAC,CAAM;AACxB,WAAW,mBAAO,CAAC,GAAM;;AAEzB;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA,gBAAgB;AAChB,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,kBAAkB;AAClB,wBAAwB;AACxB,WAAW;AACX,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;;;;;;;;;ACnNM;;AAEb,qBAAqB,mBAAO,CAAC,GAAQ;AACrC,oBAAoB,mBAAO,CAAC,GAAoB;AAChD,eAAe,mBAAO,CAAC,GAAW;AAClC,kBAAkB,mBAAO,CAAC,GAAkC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA,iCAAiC;AACjC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,QAAQ;AAC1D;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA,+CAA+C;AAC/C;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;ACvTd,UAAU,mBAAO,CAAC,GAAK;AACvB;AACA,WAAW,mBAAO,CAAC,GAAM;AACzB,YAAY,mBAAO,CAAC,GAAO;AAC3B,eAAe,mBAAO,CAAC,GAAQ;AAC/B,aAAa,mBAAO,CAAC,GAAQ;AAC7B,YAAY,mBAAO,CAAC,GAAS;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,iCAAiC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,sBAAsB,uCAAuC,EAAE;AAC/D,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,SAAS,2BAA2B;AAClD,cAAc;;;;;;;;;;;ACjfd,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,KAAK;AACL,eAAe,iCAAiC;AAChD,KAAK;AACL,eAAe,kBAAkB;AACjC;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,cAAc;;;;;;;;;AC3Fd;AACA;AACa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA,cAAc;;;;;;;;AC1CD;;AAEb,oBAAoB,mBAAO,CAAC,GAAoB;AAChD,eAAe,mBAAO,CAAC,GAAW;AAClC,kBAAkB,mBAAO,CAAC,GAAkC;AAC5D,eAAe,mBAAO,CAAC,GAA+B;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;;AAEA,cAAc;;;;;;;;AC7ID;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA,iBAAiB,mBAAO,CAAC,GAAkC;AAC3D;AACA,iDAAiD,8CAA8C;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,4BAA4B,wBAAwB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;ACxBA,WAAW,mBAAO,CAAC,EAAM;;AAEzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE,4BAA4B;AAC9B;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;AC7FD;;AAEb,kBAAkB,mBAAO,CAAC,EAAe;;AAEzC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,cAAc;AACd;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACxBA,cAAc;AACd;;AAEA,YAAY;AACZ;AACA,SAAS,mBAAO,CAAC,GAAM;AACvB,CAAC;;AAED;AACA,aAAa,mBAAO,CAAC,GAAiB;;AAEtC;AACA,QAAQ,uCAAuC;AAC/C,QAAQ,2BAA2B;AACnC,QAAQ,2BAA2B;AACnC,QAAQ,2BAA2B;AACnC,QAAQ;AACR;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC,IAAI;;AAE7C;AACA;AACA;;AAEA;AACA,gCAAgC;;AAEhC,aAAa;AACb;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,IAAI;AACT,KAAK,GAAG;AACR,KAAK,KAAK;AACV,KAAK,IAAI,IAAI,EAAE;AACf,KAAK,IAAI,EAAE,IAAI;AACf;AACA;AACA,KAAK,IAAI,OAAO,IAAI;AACpB,KAAK,EAAE,OAAO,EAAE;AAChB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sBAAsB,IAAI;AAC1B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,IAAI;AACvC;AACA;AACA;AACA,gCAAgC,EAAE,EAAE,KAAK;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,sBAAsB;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,6CAA6C;AAC7C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,QAAQ;AAChC;AACA;AACA;;AAEA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK,6CAA6C;;AAElD;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;;;;;;;;;;AC15Ba;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B,cAAc;AACd;AACA,8BAA8B,kCAAkC;AAChE,CAAC;;;;;;;;;;;;;;ACPD;AACA;;;AAGa;;;AAGb,aAAa,mBAAO,CAAC,GAAW;;;AAGhC,cAAc;AACd;AACA,IAAI,mBAAO,CAAC,GAAa;AACzB,IAAI,mBAAO,CAAC,GAAa;AACzB,IAAI,mBAAO,CAAC,GAAa;AACzB;AACA,CAAC;;;;;;;;AChBY;AACb,OAAO,YAAY,GAAG,mBAAO,CAAC,GAAQ;;AAEtC,cAAc;AACd,2BAA2B;;AAE3B,QAAQ,MAAM;AACd,MAAM,SAAS;AACf;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC,WAAW;;AAE5C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;;;;;;;;;;;AClDa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oBAAoB,OAAO,qBAAqB,OAAO,qBAAqB;AAC7E,2C;;;;;;;;ACvBa;;AAEb,YAAY,mBAAO,CAAC,EAAY;;AAEhC;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,MAAM;AACjB,WAAW,eAAe;AAC1B,aAAa,EAAE;AACf;AACA,cAAc;AACd;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;ACnBa;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;;;;;;;ACba;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO,eAAe,OAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,aAAa,OAAO,cAAc,OAAO,cAAc;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gBAAgB,OAAO,iBAAiB,OAAO,iBAAiB;AACjE,oC;;;;;;;AC7Da;AACb;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,WAAW,OAAO,YAAY,OAAO,YAAY;AAClD,kC;;;;;;;;;ACtDY;;AAEZ,WAAW,mBAAO,CAAC,GAAa;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,eAAe,mBAAO,CAAC,GAAW;AAClC,mBAAmB,mBAAO,CAAC,GAAgB;AAC3C,qBAAqB,mBAAO,CAAC,GAAgB;AAC7C,aAAa,mBAAO,CAAC,GAAc;;AAEnC;AACA;AACA;AACA;AACA,GAAG;AACH,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kGAAkG;AAClG;AACA;;AAEA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,4BAA4B,KAAK;AACjC,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,2DAA2D,KAAK,oBAAoB,IAAI;AACxF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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C,GAAI;AACrB,gBAAgB,mBAAO,CAAC,GAAgB;AACxC,aAAa,mBAAO,CAAC,EAAqB;AAC1C,YAAY,mBAAO,CAAC,GAAY;;AAEhC,WAAW,mBAAO,CAAC,GAAM;;AAEzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA,MAAM,mBAAO,CAAC,GAAQ;AACtB,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;AACd;AACA,IAAI,cAAc;AAClB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjWA;AACA;AACa;;AAEb,SAAS,mBAAO,CAAC,EAAI;AACrB,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;AACzB,YAAY,mBAAO,CAAC,GAAI;;AAExB;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG,4BAA4B;AAC/B;AACA,GAAG,sCAAsC;AACzC,eAAe;AACf,GAAG,sCAAsC;AACzC;AACA;AACA,4BAA4B;;AAE5B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,OAAO;;AAEP,YAAY,4BAA4B;AACxC,yBAAyB,uBAAuB;AAChD,YAAY,0CAA0C;AACtD,mBAAmB,qBAAqB,GAAG,2BAA2B;AACtE;AACA,wBAAwB,YAAY,EAAE;AACtC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,iCAAiC;;AAEjC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,+DAA+D;AAC/D;AACA,KAAK;AACL,GAAG,OAAO;AACV;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,OAAO;AACP,+DAA+D;AAC/D;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mCAAmC;AACnC;AACA,OAAO,OAAO;AACd;AACA,kDAAkD,WAAW;AAC7D,SAAS;AACT,2BAA2B;AAC3B;;AAEA;AACA,+CAA+C;AAC/C;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX,oBAAoB;AACpB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,gCAAgC;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;;;;;;;;ACndM;;AAEb;;AAEA,eAAe,mBAAO,CAAC,GAAK;;AAE5B,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,QAAQ;AACjD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAE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;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;AC3DY;;AAEb,YAAY,mBAAO,CAAC,EAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA,iBAAiB,eAAe;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;ACpDa;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA,CAAC;;;;;;;;ACXY;;AAEb,SAAS,mBAAO,CAAC,EAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAQ;AAC7B,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;;AAEzB,oCAAoC,4DAA4D,gBAAgB;;AAEhH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gFAAgF,eAAe;AAC/F;;AAEA;AACA,iFAAiF,gBAAgB;AACjG;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,oDAAoD;;AAEpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC;;AAEzC,mDAAmD;;AAEnD,qFAAqF;AACrF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6GAA6G;AAC7G;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,yBAAyB,EAAE,sBAAsB,EAAE,gCAAgC;AAC9H,KAAK;AACL,sCAAsC,0BAA0B;AAChE;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0BAA0B,wBAAwB;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE;AACL;;AAEA,+FAA+F,MAAM,OAAO,IAAI,GAAG,IAAI,KAAK,iJAAiJ,+BAA+B,IAAI,8CAA8C,kJAAkJ,EAAE,MAAM,aAAa,2BAA2B,EAAE,mBAAmB,IAAI,GAAG,IAAI,GAAG,IAAI,OAAO,IAAI,WAAW,OAAO;;AAEpmB;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF,0CAA0C,qEAAqE,wCAAwC,yCAAyC,wCAAwC,8CAA8C;AACvW;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wCAAwC,YAAY;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,oDAAoD,yBAAyB;AAC7E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED,8BAA8B;;AAE9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uCAAuC;;AAEvC,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;;AAEV;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B;;AAE1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAyE;;AAEzE;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD,EAAE,UAAU,EAAE;;AAEhE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;;AAEA,sCAAsC,SAAS;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;AAGD;AACA;AACA,0BAA0B;;AAE1B;;AAEA;AACA;AACA;;AAEA,2CAA2C,SAAS;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sCAAsC,SAAS;AAC/C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B;AAC1B,oCAAoC;AACpC;;AAEA;AACA,0CAA0C,SAAS;AACnD;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;;AAEA;;AAEA;AACA;AACA,qBAAqB,cAAc;AACnC;;AAEA;AACA;AACA,qBAAqB,aAAa,EAAE,EAAE,KAAK;AAC3C;;AAEA;AACA;AACA,qBAAqB,aAAa,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;;AAEA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,SAAS;AACnC,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mCAAmC,GAAG;AACtC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC,EAAE,UAAU,EAAE,UAAU,uEAAuE;AACtI;AACA;AACA,kCAAkC,EAAE,UAAU,EAAE;AAChD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,gEAAgE,MAAM,cAAc,KAAK;AACzF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gDAAgD,UAAU;AAC1D;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA,wDAAwD,cAAc,kBAAkB,+BAA+B,KAAK;AAC5H;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,0HAA0H;;AAE1H,8DAA8D;;AAE9D;AACA;;AAEA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gDAAgD;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,KAAK,EAAE;;AAEP,uEAAuE;AACvE;;AAEA,8BAA8B;;AAE9B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,aAAa;AAClC;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;;AAEA,qCAAqC,WAAW,IAAI,UAAU;AAC9D,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB,oBAAoB;AACvC,iDAAiD;AACjD;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B;;AAE3B;AACA,0CAA0C;AAC1C,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA,uCAAuC;AACvC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,mCAAmC;AACnC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,eAAe;AACpC;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD;AACpD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC,yBAAyB,aAAa;AACtC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP,mBAAmB,oCAAoC,EAAE,KAAK;AAC9D;AACA,KAAK;;AAEL;AACA,iBAAiB,+BAA+B,EAAE,aAAa,IAAI,MAAM;AACzE;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,8DAA8D;AAC9D;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,YAAY;AACvC;AACA;AACA,WAAW,OAAO;AAClB,WAAW,2BAA2B;AACtC,aAAa;AACb;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,iBAAiB,uBAAuB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,2BAA2B;AACtC,aAAa;AACb;;;AAGA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,6BAA6B,4BAA4B;;AAEzD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,4BAA4B;AACvC,WAAW,OAAO;AAClB,aAAa;AACb;;;AAGA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,IAAI,IAAI,OAAO,EAAE,IAAI,EAAE,OAAO;AAC1C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,+BAA+B;AAC/B;;AAEA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sFAAsF,KAAK;;AAE3F;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,eAAe;AACf;;;AAGA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP,qBAAqB,uBAAuB;AAC5C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP,qBAAqB,uBAAuB;AAC5C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,uBAAuB;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL,uBAAuB,SAAS;AAChC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,4FAA4F,KAAK;AACjG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,kCAAkC,KAAK,WAAW,IAAI;AACtD;AACA,uCAAuC,IAAI;AAC3C;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0DAA0D,cAAc;AACxE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;;AAEA,uBAAuB,SAAS;AAChC;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0EAA0E,IAAI;AAC9E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,8BAA8B,aAAa;AAC3C;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK,gEAAgE;AACrE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK,WAAW;AAChB;;AAEA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB;AACtB,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP,sCAAsC,YAAY;AAClD;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,sEAAsE;;AAEtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gDAAgD,eAAe;AAC/D;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,SAAS;AAChC,qBAAqB,QAAQ;AAC7B;AACA;AACA;;AAEA;;AAEA;AACA,sCAAsC;AACtC,OAAO;AACP;AACA;AACA;;AAEA;AACA,sCAAsC;AACtC,4BAA4B;;AAE5B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,8BAA8B,aAAa;AAC3C;AACA;AACA,gFAAgF;;AAEhF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,4EAA4E,IAAI;AAChF;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,0BAA0B,KAAK;;AAE/B;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;;AAEA;AACA;;AAEA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA,yCAAyC;AACzC;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,kHAAkH;AAClH,2BAA2B;;AAE3B;;AAEA,2BAA2B,aAAa;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,gGAAgG,qBAAqB;AACrH;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,0FAA0F,mCAAmC;AAC7H;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,2BAA2B,aAAa;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,KAAK;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,oDAAoD;;AAEpD;AACA;AACA;AACA;AACA,GAAG;AACH,WAAW;;;AAGX;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;;AAEA,qHAAqH,IAAI;AACzH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;;;AAGA,CAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,mBAAmB,eAAe;;AAElC;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C,OAAO;AACtD,aAAa,GAAG,IAAI,OAAO,EAAE,IAAI;AACjC;;AAEA;AACA,4DAA4D,IAAI,IAAI,QAAQ,OAAO,IAAI,gCAAgC,aAAa;AACpI;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;AAGD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,2CAA2C;AAC3C;AACA;AACA,gEAAgE,wGAAwG,oDAAoD,IAAI,oBAAoB,KAAK;AACzP;AACA;;AAEA;AACA;AACA;AACA,iEAAiE,oDAAoD,IAAI,oBAAoB,KAAK;AAClJ;;AAEA;AACA;AACA,4FAA4F;AAC5F;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,gEAAgE,wGAAwG,oDAAoD,IAAI,oBAAoB,KAAK;AACzP;AACA,GAAG;;AAEH;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,qBAAqB,KAAK;AAC1B,WAAW;AACX,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA,0BAA0B,WAAW,EAAE,OAAO,EAAE,EAAE;AAClD;;AAEA,oBAAoB,OAAO,EAAE,IAAI;AACjC,OAAO;AACP,iBAAiB,MAAM,GAAG,kBAAkB,GAAG,IAAI;AACnD;AACA,KAAK;AACL;AACA;;AAEA,+CAA+C,OAAO,EAAE,EAAE;AAC1D;;AAEA;AACA,mDAAmD,OAAO;AAC1D;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,gFAAgF,IAAI;AACpF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,0DAA0D,MAAM;AAChE;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,0BAA0B;AAC1B;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP,qCAAqC,IAAI;AACzC;;AAEA,6BAA6B,IAAI,IAAI,OAAO,QAAQ,IAAI;;AAExD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,yDAAyD,WAAW;AACpE,oBAAoB,GAAG;AACvB;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,IAAI,IAAI,WAAW;AACjC,KAAK;AACL,4DAA4D;AAC5D,sDAAsD,WAAW;AACjE;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,2BAA2B,OAAO,EAAE,uBAAuB;AAC3D;AACA,uBAAuB,IAAI,IAAI,MAAM;AACrC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,2FAA2F;AAC3F;;AAEA;AACA;AACA;;AAEA;AACA;AACA,6FAA6F;AAC7F;AACA;;AAEA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;;AAEA;AACA,6CAA6C,4BAA4B,SAAS;AAClF,KAAK;AACL;AACA,0CAA0C;AAC1C,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,EAAE;AACf,aAAa,MAAM;AACnB,eAAe,EAAE;AACjB;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,gFAAgF,SAAS,qBAAqB;AAC9G;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB,eAAe;AACf,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,uBAAuB;AACvB;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;AACA,8DAA8D,WAAW;AACzE,gBAAgB,OAAO,EAAE,0BAA0B;AACnD;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC,qCAAqC;AACtC;;;AAGA;;AAEA;AACA;AACA;;AAEA,4BAA4B,YAAY;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,IAAI;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4EAA4E;AAC5E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wBAAwB;;AAExB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,qEAAqE,OAAO;AAC5E;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB,KAAK;AACL,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,wDAAwD,OAAO;AAC/D,sDAAsD,OAAO;;AAE7D;AACA;AACA;AACA;;AAEA,wBAAwB,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM;;AAE/D;AACA,uCAAuC,OAAO;AAC9C,cAAc,OAAO,IAAI,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;AAC1D;;AAEA;AACA;AACA,wBAAwB,OAAO;AAC/B,gCAAgC,QAAQ,EAAE,MAAM,EAAE,MAAM;AACxD,YAAY,OAAO,IAAI,OAAO,EAAE,KAAK;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,8BAA8B,oCAAoC;AAClE;AACA;;AAEA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2CAA2C,OAAO,GAAG;AACrD;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,2BAA2B;AAC3B;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,yBAAyB;AACzB;AACA;;AAEA;;AAEA;AACA;AACA,yEAAyE,YAAY;AACrF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,oCAAoC,QAAQ;AAC5C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,KAAK,eAAe,KAAK;AACrD;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kEAAkE,EAAE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,qEAAqE;AACrE;AACA,KAAK;AACL;;AAEA;AACA;AACA,OAAO;AACP,qEAAqE;AACrE;AACA;AACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,6EAA6E,OAAO;AACpF;;AAEA,2EAA2E,OAAO;;AAElF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,SAAS,iBAAiB,SAAS,WAAW,OAAO;AACjF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,uDAAuD,SAAS;AAChE;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8CAA8C,QAAQ;AACtD,2BAA2B,QAAQ,mCAAmC,SAAS;AAC/E;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,+CAA+C,KAAK;AACpD;AACA;AACA,KAAK;;;AAGL;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qCAAqC,UAAU;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA,uCAAuC;AACvC;;AAEA,wDAAwD;AACxD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,iDAAiD,kBAAkB,IAAI,GAAG;AAC1E;;AAEA;AACA,2CAA2C,YAAY,IAAI,GAAG;AAC9D;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA,KAAK;AACL,yBAAyB,kBAAkB;AAC3C;AACA;AACA,SAAS;;AAET;AACA,+CAA+C,IAAI,KAAK;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,yBAAyB,WAAW;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA,OAAO;AACP;AACA;AACA;;AAEA,qDAAqD,KAAK;AAC1D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,mFAAmF,UAAU;AAC7F;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,kCAAkC,YAAY;AAC9C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,4DAA4D,KAAK;AACjE;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,kCAAkC,KAAK;AACvC;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC,qBAAqB;AAC7D;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,qBAAqB,gBAAgB;;AAErC;AACA,KAAK;AACL,yEAAyE;AACzE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;;AAEA,qBAAqB,kBAAkB;;AAEvC;AACA,KAAK;AACL,6EAA6E;AAC7E;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA,4BAA4B,OAAO;AACnC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;;AAEA;AACA,2EAA2E,mBAAmB,IAAI,mBAAmB;AACrH,yDAAyD,aAAa,IAAI,aAAa;AACvF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO,0DAA0D,GAAG;AACpE,KAAK;AACL;;AAEA;AACA;AACA;AACA,OAAO,qCAAqC,aAAa,UAAU,GAAG;AACtE,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qHAAqH,aAAa;AAClI;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oFAAoF;AACpF;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;;AAEA,6BAA6B;;AAE7B;AACA,qBAAqB;AACrB,GAAG;AACH;AACA,8BAA8B;;AAE9B;AACA;AACA,2BAA2B;AAC3B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,EAAE,SAAS,IAAI,SAAS,IAAI;AAC5D;AACA,UAAU,IAAI,SAAS,IAAI,SAAS,IAAI;AACxC,yCAAyC,EAAE;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uEAAuE;AACvE;;AAEA,kCAAkC;AAClC;AACA,6BAA6B,KAAK,IAAI,QAAQ;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA,6BAA6B,KAAK;AAClC,mCAAmC,YAAY;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,mDAAmD,oBAAoB;AACvE;AACA;;;AAGA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,IAAI;AACvB;;AAEA;AACA,mBAAmB,IAAI;AACvB;;AAEA;AACA,mBAAmB,IAAI;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;;AAEA;AACA,uDAAuD,wBAAwB;;AAE/E,iCAAiC;;AAEjC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;;AAElD;AACA;AACA,uCAAuC,SAAS,EAAE,cAAc,KAAK;AACrE;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;;AAEA;AACA;;AAEA;AACA;AACA,+CAA+C,IAAI,EAAE,cAAc,KAAK;AACxE;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS,QAAQ,yBAAyB;AAC7E;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,6CAA6C,IAAI;AACjD,8DAA8D;AAC9D;AACA;AACA;AACA;AACA,MAAM;AACN,MAAM;AACN,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB;;AAErB;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,KAAK;AACjD;;AAEA;AACA,CAAC;;;AAGD;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,yBAAyB,MAAM,GAAG,IAAI,OAAO,MAAM,IAAI,WAAW,EAAE,IAAI;AAC3I;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD;;AAEtD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,MAAM;AACzB,sBAAsB,OAAO,EAAE,EAAE;AACjC;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mCAAmC;AACnC;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,uDAAuD,GAAG,IAAI,qBAAqB;AACnF;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD,GAAG,oBAAoB,QAAQ;AAClF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gFAAgF,KAAK;AACrF;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C;AACA,KAAK;AACL;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,yEAAyE,EAAE;AAC3E;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,2BAA2B,OAAO,GAAG,OAAO;AAC5C;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,qGAAqG;;AAErG;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;AAC1B;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uDAAuD;AACvD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,uCAAuC,SAAS,KAAK,cAAc;AACnE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,uCAAuC,SAAS,KAAK,cAAc;AACnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH,gDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yEAAyE;;AAEzE;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qDAAqD,+BAA+B,0BAA0B,MAAM;AACpH;;AAEA;AACA,wCAAwC,+BAA+B,sCAAsC,cAAc,4BAA4B,MAAM;AAC7J;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD,kCAAkC;AACrF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,+BAA+B,IAAI;AACnC;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP,KAAK;AACL;;AAEA,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA,8CAA8C;AAC9C;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA,kDAAkD,gBAAgB;AAClE;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kDAAkD,gBAAgB;AAClE;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC,WAAW,SAAS,WAAW,cAAc,WAAW,cAAc,WAAW,aAAa,WAAW,YAAY,WAAW,YAAY,WAAW,gBAAgB,WAAW;AAC3N;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,+BAA+B;AAC/B,KAAK;AACL;AACA;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,wBAAwB;;AAExB;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB;AACA,WAAW;AACX,sBAAsB;AACtB;AACA;AACA,aAAa;AACb,WAAW;AACX,sBAAsB;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;;;;AC3uUd;;AAEa;;AAEb,eAAe,mBAAO,CAAC,GAAW;AAClC,WAAW,mBAAO,CAAC,GAAO;AAC1B,kBAAkB,mBAAO,CAAC,GAAc;;AAExC,cAAc;AACd;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,0BAA0B;AACxD,KAAK;;AAEL;AACA;AACA;AACA,eAAe,cAAc;AAC7B,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,wDAAwD,SAAS;AACjE;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,oDAAoD,eAAe;AACnE;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB,aAAa,mBAAmB;AAChC;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET,0DAA0D,wBAAwB;AAClF,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;AAC5E;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;;AAEb;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA,oDAAoD,SAAS;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,SAAS;AACzD;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA,+BAA+B,KAAK,EAAE,KAAK;AAC3C,iCAAiC,KAAK,EAAE;AACxC;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB,8BAA8B;AAC/C;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6EAA6E,EAAE;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iDAAiD,SAAS;AAC1D;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,qDAAqD;AACrD;;AAEA;AACA,gDAAgD;AAChD;AACA;;;;;;;;;AC1mBa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,4BAA4B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,iBAAiB,OAAO,kBAAkB,OAAO,kBAAkB;AACpE,wC;;;;;;;;AC7Ba;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gFAAgF;AACxF,UAAU,kDAAkD;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gBAAgB,OAAO,iBAAiB,OAAO,iBAAiB;AACjE,uC;;;;;;;;AC/Ha;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA,8BAA8B,IAAI,2BAA2B,IAAI;AACjE,KAAK;AACL;AACA;AACA,OAAO;AACP,uC;;;;;;;ACVa;;AAEb,eAAe,mBAAO,CAAC,GAAW;AAClC,iBAAiB,mBAAO,CAAC,GAAc;AACvC,kBAAkB,mBAAO,CAAC,GAAe;;AAEzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa;AACb;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA,gIAAgI,GAAG;AACnI;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;;;;;;;;AC1TD;AACb,eAAe,mBAAO,CAAC,GAAe;AACtC,2BAA2B,mBAAO,CAAC,GAAsB;AACzD,4BAA4B,mBAAO,CAAC,GAAgB;;AAEpD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA,kDAAkD,cAAc;AAChE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;AClCa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kBAAkB,OAAO,mBAAmB,OAAO,mBAAmB;AACvE,yC;;;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,cAAc;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,cAAc;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACpDA,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;;AAEzB;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qDAAqD,iBAAiB;AACtE,OAAO;AACP,0EAA0E,iBAAiB;AAC3F;AACA,aAAa;AACb,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,6DAA6D,iBAAiB;AAC9E,aAAa;AACb;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,sEAAsE,iBAAiB;AACvF;AACA,GAAG;AACH;AACA,CAAC;AACD,cAAc;;;;;;;;;;ACnGD;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,uBAAuB,mBAAO,CAAC,GAAc;AAC7C,sBAAsB,mBAAO,CAAC,GAAe;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4BAA4B;AACpD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA,wBAAwB,sBAAsB;AAC9C,KAAK;AACL;AACA,CAAC;AACD,OAAO;AACP,mC;;;;;;;AC3Ca;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,cAAc,OAAO,eAAe,OAAO,eAAe;AAC3D,qC;;;;;;AC1BA;AACA;AACA,QAAQ,mBAAO,CAAC,GAAa;AAC7B,CAAC;AACD,QAAQ,mBAAO,CAAC,GAAI;AACpB;AACA,qBAAqB,mBAAO,CAAC,GAAc;AAC3C,OAAO,sBAAsB,GAAG,mBAAO,CAAC,GAAS;;AAEjD,4CAA4C;AAC5C;AACA,eAAe;AACf;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,uBAAuB,KAAK,IAAI,YAAY;AAC5C;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,yCAAyC;AACzC;AACA,eAAe;AACf;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,uBAAuB,KAAK,IAAI,YAAY;AAC5C;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,kDAAkD;AAClD;;AAEA;;AAEA;AACA;;AAEA;;AAEA,+CAA+C;AAC/C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;ACvFd,iC;;;;;;;ACAa;;AAEb,YAAY,mBAAO,CAAC,EAAY;AAChC,aAAa,mBAAO,CAAC,GAAkB;AACvC,oBAAoB,mBAAO,CAAC,GAAuB;AACnD,eAAe,mBAAO,CAAC,GAAuB;AAC9C,WAAW,mBAAO,CAAC,GAAM;AACzB,YAAY,mBAAO,CAAC,GAAO;AAC3B,iBAAiB,mBAAO,CAAC,GAAkB;AAC3C,kBAAkB,mBAAO,CAAC,GAAkB;AAC5C,UAAU,mBAAO,CAAC,GAAK;AACvB,WAAW,mBAAO,CAAC,GAAM;AACzB,UAAU,mBAAO,CAAC,GAAsB;AACxC,kBAAkB,mBAAO,CAAC,EAAqB;AAC/C,mBAAmB,mBAAO,CAAC,GAAsB;;AAEjD;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,mDAAmD;AAClE;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;;;;;;;;;;AC9RA,aAAa,mBAAO,CAAC,EAAQ;AAC7B;AACA,WAAW,mBAAO,CAAC,EAAM;;AAEzB,cAAc;;AAEd;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;AACA;;;;;;;;ACrDa;AACb,aAAa,mBAAO,CAAC,GAAM;AAC3B,qBAAqB,mBAAO,CAAC,GAAe;AAC5C,mBAAmB,mBAAO,CAAC,GAAa;AACxC,iBAAiB,mBAAO,CAAC,GAAW;AACpC,mBAAmB,mBAAO,CAAC,GAAc;AACzC,iBAAiB,mBAAO,CAAC,GAAW;AACpC,mBAAmB,mBAAO,CAAC,GAAY;AACvC,iBAAiB,mBAAO,CAAC,GAAW;AACpC,eAAe,mBAAO,CAAC,GAAa;AACpC,gBAAgB,mBAAO,CAAC,GAAe;AACvC,cAAc,mBAAO,CAAC,GAAa;;AAEnC;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA,6BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA,4CAA4C,SAAS,mBAAmB;AACxE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,wBAAwB;;AAExB;AACA;AACA;AACA,0BAA0B,IAAI;AAC9B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,4BAA4B;AACjE;AACA;AACA;;AAEA;;AAEA;AACA,uEAAuE;AACvE;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF,4CAA4C,UAAU;AACtD;;AAEA;AACA;AACA,mBAAmB,OAAO,GAAG,YAAY;AACzC;AACA,EAAE;AACF;;AAEA;AACA,QAAQ,eAAe;;AAEvB;AACA,QAAQ,aAAa;;AAErB,QAAQ,kBAAkB;AAC1B;;AAEA;AACA;;AAEA;AACA;AACA,gDAAgD,OAAO;AACvD;;AAEA;AACA,mBAAmB,OAAO;AAC1B;AACA,GAAG;AACH,iBAAiB,OAAO,EAAE,OAAO;AACjC;;AAEA,qCAAqC,UAAU,EAAE,OAAO;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA,QAAQ,4BAA4B;AACpC;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB,GAAG;;AAEH;AACA;AACA,YAAY,WAAW;AACvB,GAAG;;AAEH;AACA;AACA;AACA,aAAa,WAAW;AACxB,IAAI;AACJ;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,4BAA4B;AAC5D,gCAAgC,4BAA4B;AAC5D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,uBAAuB,cAAc;;AAEnD;AACA,cAAc,uBAAuB,cAAc;;AAEnD,cAAc,oCAAoC,cAAc;;AAEhE,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,wCAAwC,cAAc;;;;;;;;ACxWxD;;AAEZ,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,WAAW,iBAAiB;AAC/B;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG,WAAW,iBAAiB;AAC/B;;;;;;;;;ACtBa;;AAEb;AACA;;AAEA,sBAAsB,mBAAO,CAAC,GAAkB;AAChD,oBAAoB,mBAAO,CAAC,GAAgB;AAC5C,aAAa,mBAAO,CAAC,GAAQ;AAC7B,oBAAoB,mBAAO,CAAC,GAAQ;AACpC,WAAW,mBAAO,CAAC,GAAI;AACvB,aAAa,mBAAO,CAAC,GAAM;AAC3B,eAAe,mBAAO,CAAC,GAAQ;;AAE/B;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AA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sB,WAAW,8BAA8B,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8B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BAAkB,kBAAkB,kBAAkB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,oBAAoB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,mBAAmB,oBAAoB,iBAAiB,uBAAuB,QAAQ,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,mBAAmB,UAAU,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,m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AqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC,KAAK;AAC1C,qCAAqC;AACrC,qCAAqC,KAAK;;AAE1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,gBAAgB;AACvD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,sDAAsD,gBAAgB;AACtE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,MAAM;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,sBAAsB;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,gBAAgB;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,gBAAgB;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gDAAgD,gBAAgB;;AAEhE;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,eAAe;AACf;;AAEA;;AAEA;;AAEA;AACA,eAAe;AACf;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,gDAAgD,gBAAgB;AAChE;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe;AACf;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,eAAe;AACf;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,6BAA6B,EAAE;AAC/B;;AAEA;AACA;;AAEA;;AAEA,2CAA2C,gBAAgB;AAC3D;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,oDAAoD,gBAAgB;AACpE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,+CAA+C,gBAAgB;AAC/D;AACA;AACA,OAAO;AACP;;AAEA,sDAAsD,gBAAgB;AACtE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA,oCAAoC,8BAA8B;AAClE;;AAEA,cAAc;AACd,cAAc;;;;;;;;ACj1BD;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,eAAe,OAAO,gBAAgB,OAAO,gBAAgB;AAC9D,sC;;;;;;;;ACxBa;;AAEb,YAAY,mBAAO,CAAC,EAAY;;AAEhC,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;ACnEA;AACA,aAAa,mBAAO,CAAC,GAAM;AAC3B;AACA;AACA,EAAE,cAAc;AAChB,CAAC;AACD;AACA,EAAE,cAAc,GAAG,mBAAO,CAAC,GAAuB;AAClD;;;;;;;;ACRA,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;;AAEzB;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA,+BAA+B,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK;;AAEtE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,sBAAsB;AACzC;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,OAAO;AACd;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,2BAA2B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;;;;;;;;ACrHD;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;AACA;AACA,mBAAmB;;AAEnB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,OAAO;;;;;;;ACnBP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqDI,wCAAqC;;;;;;;;;;;;;;;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;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC,yBAAyB,KAAK;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa;AACtB;AACA,KAAK;AACL,0DAA0D,iBAAiB;AAC3E;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,yCAAyC;AACtF;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;AC5ID;;AAEb,qBAAqB,mBAAO,CAAC,GAAQ;AACrC,qBAAqB,mBAAO,CAAC,GAAiB;AAC9C,uBAAuB,mBAAO,CAAC,GAAoB;AACnD,kBAAkB,mBAAO,CAAC,GAAe;AACzC,eAAe,mBAAO,CAAC,GAAW;AAClC,oBAAoB,mBAAO,CAAC,GAAoB;;AAEhD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mDAAmD,SAAS;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;;AAET;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA;AACA;;AAEA;AACA,cAAc;;;;;;;;;;;;;;;;;;;;;;;AChoBF;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,eAAe,mBAAO,CAAC,GAAU;;AAEjC,cAAc;AACd;AACA;AACA;;;;;;;;ACRa;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D,+BAA+B,iFAAiF;;AAEhH,6BAA6B,mBAAO,CAAC,GAAQ;AAC7C,2BAA2B,mBAAO,CAAC,GAAM;AACzC,0BAA0B,mBAAO,CAAC,GAAK;AACvC,4BAA4B,mBAAO,CAAC,GAAO;AAC3C,2BAA2B,mBAAO,CAAC,GAAM;;AAEzC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,6BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;;AAEA;AACA,QAAQ,mBAAmB;AAC3B,QAAQ,mBAAmB;AAC3B,SAAS;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,mBAAO,CAAC,EAAU;AAC7B,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kFAAkF;AAClF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE,yBAAyB,kCAAkC;AAC7D;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE,mCAAmC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iHAAiH,UAAU,IAAI,YAAY;AAC3I;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,+EAA+E,WAAW,WAAW,YAAY;AACjH;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,QAAQ,mBAAmB;AAC3B,YAAY,mBAAmB;AAC/B,eAAe,mBAAmB;AAClC,QAAQ,mBAAmB;AAC3B,QAAQ,mBAAmB;AAC3B,QAAQ;AACR,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qEAAqE,SAAS;AAC9E;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE,WAAW,SAAS,eAAe;AACvG,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,yEAAyE,WAAW,IAAI,YAAY;AACpG;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,WAAW,eAAe,YAAY;AACnF;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,4EAA4E,WAAW,IAAI,YAAY;AACvG;AACA,GAAG;AACH,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAY,EAAE;AACd,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,qBAAqB;AACrB,EAAE;AACF;AACA,4CAA4C;AAC5C,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA,8BAA8B,WAAW,mBAAmB;AAC5D,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,KAAK;AAChB;AACA,yBAAyB,KAAK;AAC9B;AACA;;AAEA;AACA,YAAY,MAAM;AAClB;AACA,yBAAyB,MAAM;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,OAAO,mBAAmB;AAC1B,WAAW,mBAAmB;AAC9B,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,QAAQ,mBAAmB;AAC3B,UAAU,mBAAmB;AAC7B,WAAW;AACX,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;;AAE9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,MAAM,mBAAmB;AACzB,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,WAAW,mBAAmB;AAC9B,SAAS;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,IAAI;AACJ;AACA,6BAA6B,MAAM;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,iEAAiE;;AAEjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,UAAU,mBAAmB;AAC7B,OAAO,mBAAmB;AAC1B,WAAW,mBAAmB;AAC9B,YAAY,mBAAmB;AAC/B,SAAS,mBAAmB;AAC5B,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB;AACxB;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,YAAY;AAC9D;AACA,KAAK;AACL,IAAI;AACJ;;AAEA;AACA,uCAAuC,YAAY,mBAAmB,YAAY;AAClF;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sGAAsG,YAAY;AAClH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6DAA6D,YAAY;AACzE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc,GAAG,OAAO;AACxB,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO,WAAW,OAAO;AACzB,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;;;;;;;;;;AChnDK;AACZ,UA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A;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA,SAAS,YAAY;AACrB;;AAEA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,wCAAwC,QAAQ,GAAG,kCAAkC;AACrF;AACA,CAAC;;AAED,OAAO;AACP;;;;;;;;;ACnJa;AACb,cAAc;;;;;;;;ACDd,aAAa,mBAAO,CAAC,GAAM;;AAE3B,aAAa,mBAAO,CAAC,GAAU;;AAE/B;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,cAAc;;;;;;;;;;AC9DD;AACb,aAAa,mBAAO,CAAC,GAAM;AAC3B,qBAAqB,mBAAO,CAAC,GAAiB;;AAE9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0BAA0B,oBAAoB;;AAE9C,QAAQ,UAAU;;AAElB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;;AAEA,cAAc;AACd,cAAc,iEAAiE,YAAY,mBAAmB;AAC9G,cAAc,gEAAgE,YAAY,YAAY;AACtG,cAAc;;;;;;;;ACjDd,IAAI,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAE;;AAEb,eAAe,mBAAO,CAAC,GAAQ;AAC/B;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,SAAS;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;;ACnDD;AACb,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACdY;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,cAAc;AACd,UAAU,mBAAO,CAAC,GAAQ;AAC1B;;;;;;;;;;;;ACLa;;AAEb,YAAY,mBAAO,CAAC,EAAY;AAChC,eAAe,mBAAO,CAAC,GAAqB;AAC5C,yBAAyB,mBAAO,CAAC,GAAsB;AACvD,sBAAsB,mBAAO,CAAC,GAAmB;AACjD,kBAAkB,mBAAO,CAAC,GAAe;;AAEzC;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED,cAAc;;;;;;;;;AC9FD;;AAEb,eAAe,cAAc;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;ACpBA;AACA;AACA;AACA;;AAEA;AACA,CAAC,cAAc,GAAG,mBAAO,CAAC,GAAc;AACxC,CAAC;AACD,CAAC,cAAc,GAAG,mBAAO,CAAC,EAAW;AACrC;;;;;;;;;;;;;;;;ACTA;;AAEa;;AAEb,eAAe,mBAAO,CAAC,GAAK;AAC5B,aAAa,mBAAO,CAAC,GAAM;AAC3B,WAAW,mBAAO,CAAC,GAAI;AACvB,cAAc,mBAAO,CAAC,GAAU;AAChC,YAAY,mBAAO,CAAC,GAAK;AACzB,YAAY,mBAAO,CAAC,GAAK;;AAEzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,kBAAkB,cAAc;AAChC,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA,cAAc;AACd;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;;AAEA,cAAc;AACd;;AAEA,8BAA8B;AAC9B;AACA;AACA;AACA,KAAK;;AAEL,0BAA0B;AAC1B;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,cAAc;AAC1B;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,SAAS;AACpB;AACA,cAAc;AACd;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,SAAS;AACT,2EAA2E,GAAG;AAC9E;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,SAAS;AAC9C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;;;;;;ACrfA;;AAEA;AACA;AACA;;AAEA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;;AAEP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,cAAc;;AAEtB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,GAAG,OAAO;AACV,GAAG;AACH,GAAG,OAAO;AACV;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM,OAAO;AACb,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA,cAAc,GAAG,mBAAO,CAAC,GAAU,EAAE,OAAO;;AAE5C,OAAO,WAAW,GAAG,cAAc;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;;;;;;;;ACvQa;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D,+BAA+B,iFAAiF;;AAEhH,6BAA6B,mBAAO,CAAC,CAAS;;AAE9C;AACA;AACA,sBAAsB,0BAA0B,IAAI,UAAU,GAAG,aAAa;AAC9E,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA,OAAO;AACP;;;;;;;;;;;ACrBa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,cAAc,OAAO,eAAe,OAAO,eAAe;AAC3D,qC;;;;;;;;ACnCa;;AAEb,kBAAkB,mBAAO,CAAC,GAAQ;;AAElC;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF;AACtF;AACA;AACA;;AAEA,wCAAwC,SAAS;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS,iCAAiC,IAAI;AAC9C;AACA,gDAAgD,IAAI;AACpD;AACA;;AAEA;AACA,2FAA2F,EAAE,EAAE,IAAI,wCAAwC,EAAE;AAC7I;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qEAAqE,EAAE;AACvE;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,aAAa,QAAQ;AACrB;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;;;;;;;;;;;AC1Na;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gBAAgB,OAAO,iBAAiB,OAAO,iBAAiB;AACjE,uC;;;;;;;;;ACrDa;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,4BAA4B,YAAY,KAAK;AAC7C,4BAA4B,eAAe,EAAE;AAC7C,4BAA4B,eAAe,EAAE;AAC7C,4BAA4B,eAAe;AAC3C,GAAG;AACH;AACA,CAAC;;;;;;;;;ACjCD;;AAEa;;AAEb,iBAAiB,mBAAO,CAAC,GAAc;AACvC,kBAAkB,mBAAO,CAAC,GAAe;;AAEzC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA,qDAAqD,eAAe;AACpE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,6DAA6D;AAC7D;AACA;AACA;AACA,aAAa;AACb;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA,uEAAuE,GAAG;AAC1E;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB;AACzB;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA,cAAc;;;;;;;;;ACriBD;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,MAAM;AAC3B;;AAEA,kBAAkB,MAAM;AACxB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;AACP;;;;;;;;AChDa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uCAAuC,MAAM,uCAAuC;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,cAAc,OAAO,eAAe,OAAO,eAAe;AAC3D,qC;;;;;;;;;AC1BA,cAAc;AACd;;AAEA,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B;AAC5B;AACA;AACA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;;;;;;;;;;;;ACzCa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA,0BAA0B,yCAAyC,MAAM;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,oCAAoC,WAAW,kBAAkB,YAAY;AAC7E;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gBAAgB,OAAO,iBAAiB,OAAO,iBAAiB;AACjE,uC;;;;;;;ACtFa;;AAEb,YAAY,mBAAO,CAAC,EAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,2BAA2B;AAC3B,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;;;;;;;ACtFa;;AAEb;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,cAAc;;;;;;;;;;AClBD;AACb,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;ACZA;AACA;AACA;AACA;AACA;;;AAGa;;;AAGb,aAAa,mBAAO,CAAC,GAAW;;;AAGhC,cAAc;AACd;AACA,IAAI,mBAAO,CAAC,GAAQ;AACpB;AACA;AACA,IAAI,mBAAO,CAAC,GAAmB;AAC/B,IAAI,mBAAO,CAAC,GAAe;AAC3B;AACA;AACA,IAAI,mBAAO,CAAC,GAAgB;AAC5B,IAAI,mBAAO,CAAC,GAAc;AAC1B,IAAI,mBAAO,CAAC,GAAe;AAC3B,IAAI,mBAAO,CAAC,GAAa;AACzB;AACA,CAAC;;;;;;;;AC3BY;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kBAAkB,OAAO,mBAAmB,OAAO,mBAAmB;AACvE,yC;;;;;;;AC5BA,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA,cAAc;;AAEd;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3EA,gC;;;;;;;;ACAA,cAAc;;AAEd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;AC7Ca;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA,0BAA0B;AAC1B;;AAEA,kBAAkB;AAClB;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACvFY;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,yCAAyC,gBAAgB;AACzD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;AC3CW;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,WAAW,mBAAO,CAAC,GAAa;AAChC,gBAAgB,mBAAO,CAAC,GAAW;AACnC;AACA;;AAEA,sBAAsB,mBAAO,CAAC,GAAiB;AAC/C;AACA;;AAEA,qBAAqB,mBAAO,CAAC,GAAgB;AAC7C;AACA;;AAEA,mBAAmB,mBAAO,CAAC,GAAgB;;AAE3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;;AC9Da;;AAEb,qBAAqB,mBAAO,CAAC,GAAQ;AACrC,uBAAuB,mBAAO,CAAC,GAAoB;AACnD,kBAAkB,mBAAO,CAAC,GAAe;AACzC,eAAe,mBAAO,CAAC,GAAW;AAClC,gBAAgB,mBAAO,CAAC,EAAY;AACpC,oBAAoB,mBAAO,CAAC,GAAoB;;AAEhD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;;;;;;;;;;ACvZD;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oBAAoB,OAAO,qBAAqB,OAAO,qBAAqB;AAC7E,2C;;;;;;;ACjCA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;;AAEP;AACA;AACA;;AAEA,WAAW,mBAAO,CAAC,GAAM;AACzB,gBAAgB,mBAAO,CAAC,GAAW;AACnC,iBAAiB,mBAAO,CAAC,GAAkB;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC,YAAY;AACpD;;AAEA;AACA,qCAAqC,YAAY;AACjD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,WAAW,gCAAgC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;;AC/Oa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,eAAe,mBAAO,CAAC,GAAe;AACtC,iBAAiB,mBAAO,CAAC,CAAU;AACnC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,OAAO;AACP,kC;;;;;;;;;;ACba;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,0BAA0B,IAAI,kBAAkB,GAAG,aAAa;AACtF;;AAEA;AACA;;AAEA,OAAO;AACP;;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,EAAY;;AAEhC,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;AAC1C,SAAS;;AAET;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kCAAkC;AAClC,+BAA+B,aAAa,EAAE;AAC9C;AACA;AACA,KAAK;AACL;;;;;;;;ACpDA,cAAc;;AAEd;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,yBAAyB;AACzD;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;AChBA,gC;;;;;;;;ACAY;AACZ;AACA;AACA,UAAU,mBAAO,CAAC,GAAc;AAChC,WAAW,mBAAO,CAAC,GAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4DAA4D,iBAAiB;AAC7E;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA,kBAAkB;AAClB;AACA;AACA;AACA,cAAc;;;;;;;;;;;;AC1Gd,cAAc;AACd;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;ACZa;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D,cAAc,mBAAO,CAAC,GAAkB;AACxC,yBAAyB,mBAAO,CAAC,GAAsB;;AAEvD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,2BAA2B;;AAE3B;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,wCAAwC,QAAQ,GAAG,kCAAkC;AACrF,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;AACP,OAAO;AACP;;;;;;;;;AC9FY;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,WAAW,mBAAO,CAAC,GAAa;AAChC,cAAc,mBAAO,CAAC,GAAW;AACjC,mBAAmB,mBAAO,CAAC,GAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;;AC5Da;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,mBAAmB,mBAAO,CAAC,GAAU;AACrC,kBAAkB,mBAAO,CAAC,GAAS;AACnC,eAAe,mBAAO,CAAC,GAAM;AAC7B,kBAAkB,mBAAO,CAAC,GAAS;AACnC,cAAc,mBAAO,CAAC,EAAe;AACrC,qBAAqB,mBAAO,CAAC,GAAsB;AACnD,eAAe,mBAAO,CAAC,GAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,iFAAiF,gDAAgD;AAC9K;AACA;AACA,OAAO;AACP,kC;;;;;;ACvBA,iC;;;;;;;;ACAa;;AAEb,kBAAkB,mBAAO,CAAC,GAAQ;;AAElC;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,mBAAmB;AACtD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;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BAAO,CAAC,GAAmB;AAC/B,IAAI,mBAAO,CAAC,GAAqB;AACjC;AACA,CAAC;;;;;;;;;;ACxBD;;;;;;;;iBAQiB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRZ;;AAEZ,WAAW,mBAAO,CAAC,GAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;;;;;ACzBa;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B,cAAc;AACd;AACA,8BAA8B,kCAAkC;AAChE,CAAC;;;;;;;;;;;;;;;;ACPW;;AAEZ,aAAa,mBAAO,CAAC,GAAM;AAC3B,WAAW,mBAAO,CAAC,GAAa;AAChC,mBAAmB,mBAAO,CAAC,GAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;;;;;;;;;;AClGA,aAAa,mBAAO,CAAC,GAAU;;AAE/B;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,cAAc;;;;;;;ACvDd,gC;;;;;;;;ACAa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,mBAAmB,mBAAO,CAAC,GAAU;AACrC,kBAAkB,mBAAO,CAAC,GAAS;AACnC,iBAAiB,mBAAO,CAAC,GAAU;AACnC,eAAe,mBAAO,CAAC,GAAM;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,0BAA0B,KAAK;AAC/B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8FAA8F,KAAK;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,qEAAqE;AACnF;AACA,OAAO;AACP,4C;;;;;;;;;;;;ACnDa;;AAEb,oBAAoB,mBAAO,CAAC,GAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,8DAA8D,aAAa;AAC3E,kEAAkE,aAAa;AAC/E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;AC5DD;;AAEb,YAAY,mBAAO,CAAC,EAAY;AAChC,oBAAoB,mBAAO,CAAC,GAAiB;AAC7C,eAAe,mBAAO,CAAC,GAAoB;AAC3C,eAAe,mBAAO,CAAC,GAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;AC9Ea;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,yCAAyC,gBAAgB;AACzD;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,yCAAyC,gBAAgB;AACzD;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA,CAAC;;;;;;;;ACpDW;;AAEZ;AACA;AACA,WAAW,SAAS;AACpB,aAAa,GAAG;AAChB;AACA,cAAc;;AAEd,MAAM,cAAc;;AAEpB,C;;;;;;;;;ACXa;;AAEb,oBAAoB,mBAAO,CAAC,GAAoB;AAChD,qBAAqB,mBAAO,CAAC,GAAQ;AACrC,YAAY,mBAAO,CAAC,GAAK;AACzB,YAAY,mBAAO,CAAC,EAAK;AACzB,WAAW,mBAAO,CAAC,EAAI;AACvB,eAAe,mBAAO,CAAC,GAAQ;AAC/B,mBAAmB,mBAAO,CAAC,GAAe;AAC1C,oBAAoB,mBAAO,CAAC,GAAQ;AACpC,eAAe,mBAAO,CAAC,GAAW;;AAElC;AACA,yCAAyC;AACzC,sCAAsC;AACtC,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,4CAA4C;AAC5C;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO,4BAA4B;AAClD,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,2CAA2C,SAAS;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA,gEAAgE;AAChE,sEAAsE;;AAEtE;AACA;AACA;AACA;AACA;;AAEA,0CAA0C;AAC1C;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;;AAEA,8EAA8E;AAC9E;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe;AACf;AACA,eAAe,MAAM,yBAAyB;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uDAAuD,SAAS;AAChE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,SAAS;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;;AAEA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI;AACtE;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;;;;;;;;ACltDd,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,EAAI;AACrB,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd,cAAc;AACd,cAAc;;;;;;;;AC1ED;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,wC;;;;;;AChDA,OAAO,GAAG,cAAc;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS,OAAO;AAChB,UAAU,OAAO;AACjB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,oCAAoC;AACxD,0BAA0B,oCAAoC;AAC9D,0BAA0B,oCAAoC;AAC9D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA,WAAW,OAAO;AAClB,GAAG;AACH;;AAEA,OAAO;AACP;AACA;AACA,WAAW,OAAO;AAClB,GAAG;AACH;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;AC18CY;;AAEZ,cAAc;AACd,YAAY,mBAAO,CAAC,EAAa;AACjC;;;;;;;;ACJa;;AAEb,oBAAoB,mBAAO,CAAC,GAA0B;AACtD,kBAAkB,mBAAO,CAAC,GAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnBa;AACb;AACA,4CAA4C;AAC5C;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,kCAAkC,mBAAO,CAAC,GAAuB;AACjE,mBAAmB,mBAAO,CAAC,GAAU;AACrC,kBAAkB,mBAAO,CAAC,GAAS;AACnC,eAAe,mBAAO,CAAC,GAAM;AAC7B,iBAAiB,mBAAO,CAAC,CAAkB;AAC3C,cAAc,mBAAO,CAAC,EAAe;AACrC,iBAAiB,mBAAO,CAAC,GAAkB;AAC3C,qBAAqB,mBAAO,CAAC,GAAsB;AACnD,wBAAwB,mBAAO,CAAC,GAAyB;AACzD,kBAAkB,mBAAO,CAAC,GAAmB;AAC7C,kBAAkB,mBAAO,CAAC,GAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yGAAyG,KAAK;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,aAAa,+BAA+B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,KAAK,gBAAgB,S;AAC/F,UAAU;AACV,QAAQ;AACR,gBAAgB;AAChB,eAAe;AACf,aAAa;AACb;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F,gDAAgD;AAC1I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,yCAAyC,mBAAmB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,UAAU;AACtD,4CAA4C,UAAU;AACtD,+CAA+C,2BAA2B,yBAAyB,MAAM,GAAG,KAAK,UAAU,cAAc,KAAK,UAAU,IAAI,SAAS,IAAI,4EAA4E;AACrP,eAAe;AACf,mBAAmB,aAAa;AAChC;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wCAAwC,UAAU,IAAI,SAAS,iBAAiB,uBAAuB;AACvG,wCAAwC,UAAU,IAAI,SAAS,8CAA8C,uBAAuB;AACpI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,UAAU,GAAG;AAChE;AACA,+CAA+C,SAAS,2BAA2B,yBAAyB,MAAM,GAAG,KAAK,UAAU,cAAc;AAClJ,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,6EAA6E,UAAU,IAAI,SAAS,IAAI;AACxG;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW,cAAc,EAAE;AACtD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,kC;;;;;;;ACpPA,eAAe,KAAoD,CAAC,cAAc,KAAK,SAA0K,CAAC,kBAAkB,aAAa,yCAAyC,eAAe,GAAG,IAAI,mCAAmC,4BAA4B,mDAAmD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mBAAmB,WAAW,oHAAoH,2DAA2D,0EAA0E,MAAM,cAAc,KAAK,aAAa,KAAK,sBAAsB,QAAQ,uEAAuE,0CAA0C,OAAO,SAAS,QAAQ,sBAAsB,MAAM,4BAA4B,IAAI,iBAAiB,2DAA2D,MAAM,IAAI,UAAU,SAAS,IAAI,sBAAsB,KAAK,oBAAoB,GAAG,SAAS,MAAM,gCAAgC,GAAG,8BAA8B,YAAY,OAAO,iBAAiB,GAAG,4BAA4B,IAAI,eAAe,GAAG,0DAA0D;;;;;;;;ACAl85N;;AAEZ,WAAW,mBAAO,CAAC,GAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;;;;;;;AC9Ba;;AAEb,kBAAkB,mBAAO,CAAC,GAAQ;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA,4CAA4C,SAAS;AACrD;AACA;;AAEA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kEAAkE,SAAS;AAC3E;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA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","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tvar threw = true;\n \t\ttry {\n \t\t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n \t\t\tthrew = false;\n \t\t} finally {\n \t\t\tif(threw) delete installedModules[moduleId];\n \t\t}\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t__webpack_require__.ab = __dirname + \"/\";\n\n \t// the startup function\n \tfunction startup() {\n \t\t// Load entry module and return exports\n \t\treturn __webpack_require__(429);\n \t};\n \t// initialize runtime\n \truntime(__webpack_require__);\n\n \t// run startup\n \treturn startup();\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Share = void 0;\r\nconst CurlShareOption_1 = require(\"./enum/CurlShareOption\");\r\n// eslint-disable-next-line @typescript-eslint/no-var-requires\r\nconst bindings = require('../lib/binding/node_libcurl.node');\r\n/**\r\n * This is a Node.js wrapper around the binding {@link EasyNativeBinding | native Easy class}.\r\n *\r\n * The only extra is that it provides a static field `option` and `lock`.\r\n *\r\n * @public\r\n */\r\nclass Share extends bindings.Share {\r\n}\r\nexports.Share = Share;\r\n/**\r\n * Options to be used with {@link setOpt | `setOpt`}.\r\n *\r\n * See the official documentation of [`curl_share_setopt()`](http://curl.haxx.se/libcurl/c/curl_share_setopt.html)\r\n * for reference.\r\n *\r\n * `CURLSHOPT_SHARE` becomes `Share.option.SHARE`\r\n *\r\n * @deprecated Use {@link CurlShareOption|`CurlShareOption`} directly instead.\r\n */\r\nShare.option = CurlShareOption_1.CurlShareOption;\r\n//# sourceMappingURL=Share.js.map","'use strict';\nconst os = require('os');\nconst macosRelease = require('macos-release');\nconst winRelease = require('windows-release');\n\nconst osName = (platform, release) => {\n\tif (!platform && release) {\n\t\tthrow new Error('You can\\'t specify a `release` without specifying `platform`');\n\t}\n\n\tplatform = platform || os.platform();\n\n\tlet id;\n\n\tif (platform === 'darwin') {\n\t\tif (!release && os.platform() === 'darwin') {\n\t\t\trelease = os.release();\n\t\t}\n\n\t\tconst prefix = release ? (Number(release.split('.')[0]) > 15 ? 'macOS' : 'OS X') : 'macOS';\n\t\tid = release ? macosRelease(release).name : '';\n\t\treturn prefix + (id ? ' ' + id : '');\n\t}\n\n\tif (platform === 'linux') {\n\t\tif (!release && os.platform() === 'linux') {\n\t\t\trelease = os.release();\n\t\t}\n\n\t\tid = release ? release.replace(/^(\\d+\\.\\d+).*/, '$1') : '';\n\t\treturn 'Linux' + (id ? ' ' + id : '');\n\t}\n\n\tif (platform === 'win32') {\n\t\tif (!release && os.platform() === 'win32') {\n\t\t\trelease = os.release();\n\t\t}\n\n\t\tid = release ? winRelease(release) : '';\n\t\treturn 'Windows' + (id ? ' ' + id : '');\n\t}\n\n\treturn platform;\n};\n\nmodule.exports = osName;\n","'use strict';\n\nconst Transform = require('stream').Transform;\n\nclass LastNewline extends Transform {\n constructor() {\n super();\n this.lastByte = false;\n }\n\n _transform(chunk, encoding, done) {\n if (chunk.length) {\n this.lastByte = chunk[chunk.length - 1];\n }\n\n this.push(chunk);\n done();\n }\n\n _flush(done) {\n if (this.lastByte === 0x0a) {\n return done();\n }\n if (this.lastByte === 0x0d) {\n this.push(Buffer.from('\\n'));\n return done();\n }\n this.push(Buffer.from('\\r\\n'));\n return done();\n }\n}\n\nmodule.exports = LastNewline;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getConfig = void 0;\nconst fs_extra_1 = require(\"fs-extra\");\nconst js_yaml_1 = require(\"js-yaml\");\nconst path_1 = require(\"path\");\nlet __config = undefined;\nconst getConfig = async () => {\n if (__config)\n return __config;\n const config = js_yaml_1.safeLoad(await fs_extra_1.readFile(path_1.join(\".\", \".upptimerc.yml\"), \"utf8\"));\n __config = config;\n return config;\n};\nexports.getConfig = getConfig;\n//# sourceMappingURL=config.js.map","var os = require('os');\nvar common = require('./common');\n\ncommon.register('cd', _cd, {});\n\n//@\n//@ ### cd([dir])\n//@\n//@ Changes to directory `dir` for the duration of the script. Changes to home\n//@ directory if no argument is supplied.\nfunction _cd(options, dir) {\n if (!dir) dir = os.homedir();\n\n if (dir === '-') {\n if (!process.env.OLDPWD) {\n common.error('could not find previous directory');\n } else {\n dir = process.env.OLDPWD;\n }\n }\n\n try {\n var curDir = process.cwd();\n process.chdir(dir);\n process.env.OLDPWD = curDir;\n } catch (e) {\n // something went wrong, let's figure out the error\n var err;\n try {\n common.statFollowLinks(dir); // if this succeeds, it must be some sort of file\n err = 'not a directory: ' + dir;\n } catch (e2) {\n err = 'no such file or directory: ' + dir;\n }\n if (err) common.error(err);\n }\n return '';\n}\nmodule.exports = _cd;\n","'use strict';\n\n\nvar loader = require('./js-yaml/loader');\nvar dumper = require('./js-yaml/dumper');\n\n\nfunction deprecated(name) {\n return function () {\n throw new Error('Function ' + name + ' is deprecated and cannot be used.');\n };\n}\n\n\nmodule.exports.Type = require('./js-yaml/type');\nmodule.exports.Schema = require('./js-yaml/schema');\nmodule.exports.FAILSAFE_SCHEMA = require('./js-yaml/schema/failsafe');\nmodule.exports.JSON_SCHEMA = require('./js-yaml/schema/json');\nmodule.exports.CORE_SCHEMA = require('./js-yaml/schema/core');\nmodule.exports.DEFAULT_SAFE_SCHEMA = require('./js-yaml/schema/default_safe');\nmodule.exports.DEFAULT_FULL_SCHEMA = require('./js-yaml/schema/default_full');\nmodule.exports.load = loader.load;\nmodule.exports.loadAll = loader.loadAll;\nmodule.exports.safeLoad = loader.safeLoad;\nmodule.exports.safeLoadAll = loader.safeLoadAll;\nmodule.exports.dump = dumper.dump;\nmodule.exports.safeDump = dumper.safeDump;\nmodule.exports.YAMLException = require('./js-yaml/exception');\n\n// Deprecated schema names from JS-YAML 2.0.x\nmodule.exports.MINIMAL_SCHEMA = require('./js-yaml/schema/failsafe');\nmodule.exports.SAFE_SCHEMA = require('./js-yaml/schema/default_safe');\nmodule.exports.DEFAULT_SCHEMA = require('./js-yaml/schema/default_full');\n\n// Deprecated functions from JS-YAML 1.x.x\nmodule.exports.scan = deprecated('scan');\nmodule.exports.parse = deprecated('parse');\nmodule.exports.compose = deprecated('compose');\nmodule.exports.addConstructor = deprecated('addConstructor');\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","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","module.exports = require(\"tls\");",null,"// Standard YAML's JSON schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2803231\n//\n// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n// So, this schema is not such strict as defined in the YAML specification.\n// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./failsafe')\n ],\n implicit: [\n require('../type/null'),\n require('../type/bool'),\n require('../type/int'),\n require('../type/float')\n ]\n});\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.mergeChunks = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n/**\r\n * This function is used to merge the buffers\r\n * that were stored while the request was being processed.\r\n *\r\n * @internal\r\n */\r\nfunction mergeChunks(chunks, length) {\r\n // We init the whole buffer below, so no need to use, the slower, Buffer.alloc\r\n const buffer = Buffer.allocUnsafe(length);\r\n const chunksLen = chunks.length;\r\n let currentPos = 0;\r\n for (let i = 0; i < chunksLen; i += 1) {\r\n const chunk = chunks[i];\r\n chunk.copy(buffer, currentPos);\r\n currentPos += chunk.length;\r\n }\r\n return buffer;\r\n}\r\nexports.mergeChunks = mergeChunks;\r\n//# sourceMappingURL=mergeChunks.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n\n return \"\";\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","'use strict'\n\nmodule.exports = {\n copySync: require('./copy-sync')\n}\n","'use strict';\n\nvar common = require('../common');\nvar Type = require('../type');\n\nfunction isHexCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) ||\n ((0x41/* A */ <= c) && (c <= 0x46/* F */)) ||\n ((0x61/* a */ <= c) && (c <= 0x66/* f */));\n}\n\nfunction isOctCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */));\n}\n\nfunction isDecCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */));\n}\n\nfunction resolveYamlInteger(data) {\n if (data === null) return false;\n\n var max = data.length,\n index = 0,\n hasDigits = false,\n ch;\n\n if (!max) return false;\n\n ch = data[index];\n\n // sign\n if (ch === '-' || ch === '+') {\n ch = data[++index];\n }\n\n if (ch === '0') {\n // 0\n if (index + 1 === max) return true;\n ch = data[++index];\n\n // base 2, base 8, base 16\n\n if (ch === 'b') {\n // base 2\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch !== '0' && ch !== '1') return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n\n if (ch === 'x') {\n // base 16\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isHexCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n // base 8\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isOctCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n // base 10 (except 0) or base 60\n\n // value should not start with `_`;\n if (ch === '_') return false;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch === ':') break;\n if (!isDecCode(data.charCodeAt(index))) {\n return false;\n }\n hasDigits = true;\n }\n\n // Should have digits and should not end with `_`\n if (!hasDigits || ch === '_') return false;\n\n // if !base60 - done;\n if (ch !== ':') return true;\n\n // base60 almost not used, no needs to optimize\n return /^(:[0-5]?[0-9])+$/.test(data.slice(index));\n}\n\nfunction constructYamlInteger(data) {\n var value = data, sign = 1, ch, base, digits = [];\n\n if (value.indexOf('_') !== -1) {\n value = value.replace(/_/g, '');\n }\n\n ch = value[0];\n\n if (ch === '-' || ch === '+') {\n if (ch === '-') sign = -1;\n value = value.slice(1);\n ch = value[0];\n }\n\n if (value === '0') return 0;\n\n if (ch === '0') {\n if (value[1] === 'b') return sign * parseInt(value.slice(2), 2);\n if (value[1] === 'x') return sign * parseInt(value, 16);\n return sign * parseInt(value, 8);\n }\n\n if (value.indexOf(':') !== -1) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseInt(v, 10));\n });\n\n value = 0;\n base = 1;\n\n digits.forEach(function (d) {\n value += (d * base);\n base *= 60;\n });\n\n return sign * value;\n\n }\n\n return sign * parseInt(value, 10);\n}\n\nfunction isInteger(object) {\n return (Object.prototype.toString.call(object)) === '[object Number]' &&\n (object % 1 === 0 && !common.isNegativeZero(object));\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:int', {\n kind: 'scalar',\n resolve: resolveYamlInteger,\n construct: constructYamlInteger,\n predicate: isInteger,\n represent: {\n binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); },\n octal: function (obj) { return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1); },\n decimal: function (obj) { return obj.toString(10); },\n /* eslint-disable max-len */\n hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); }\n },\n defaultStyle: 'decimal',\n styleAliases: {\n binary: [ 2, 'bin' ],\n octal: [ 8, 'oct' ],\n decimal: [ 10, 'dec' ],\n hexadecimal: [ 16, 'hex' ]\n }\n});\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n//# sourceMappingURL=CurlGlobalInit.js.map","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","'use strict';\n\nconst Stream = require('stream').Stream;\nconst fetch = require('../fetch');\nconst crypto = require('crypto');\nconst shared = require('../shared');\n\n/**\n * XOAUTH2 access_token generator for Gmail.\n * Create client ID for web applications in Google API console to use it.\n * See Offline Access for receiving the needed refreshToken for an user\n * https://developers.google.com/accounts/docs/OAuth2WebServer#offline\n *\n * Usage for generating access tokens with a custom method using provisionCallback:\n * provisionCallback(user, renew, callback)\n * * user is the username to get the token for\n * * renew is a boolean that if true indicates that existing token failed and needs to be renewed\n * * callback is the callback to run with (error, accessToken [, expires])\n * * accessToken is a string\n * * expires is an optional expire time in milliseconds\n * If provisionCallback is used, then Nodemailer does not try to attempt generating the token by itself\n *\n * @constructor\n * @param {Object} options Client information for token generation\n * @param {String} options.user User e-mail address\n * @param {String} options.clientId Client ID value\n * @param {String} options.clientSecret Client secret value\n * @param {String} options.refreshToken Refresh token for an user\n * @param {String} options.accessUrl Endpoint for token generation, defaults to 'https://accounts.google.com/o/oauth2/token'\n * @param {String} options.accessToken An existing valid accessToken\n * @param {String} options.privateKey Private key for JSW\n * @param {Number} options.expires Optional Access Token expire time in ms\n * @param {Number} options.timeout Optional TTL for Access Token in seconds\n * @param {Function} options.provisionCallback Function to run when a new access token is required\n */\nclass XOAuth2 extends Stream {\n constructor(options, logger) {\n super();\n\n this.options = options || {};\n\n if (options && options.serviceClient) {\n if (!options.privateKey || !options.user) {\n setImmediate(() => this.emit('error', new Error('Options \"privateKey\" and \"user\" are required for service account!')));\n return;\n }\n\n let serviceRequestTimeout = Math.min(Math.max(Number(this.options.serviceRequestTimeout) || 0, 0), 3600);\n this.options.serviceRequestTimeout = serviceRequestTimeout || 5 * 60;\n }\n\n this.logger = shared.getLogger(\n {\n logger\n },\n {\n component: this.options.component || 'OAuth2'\n }\n );\n\n this.provisionCallback = typeof this.options.provisionCallback === 'function' ? this.options.provisionCallback : false;\n\n this.options.accessUrl = this.options.accessUrl || 'https://accounts.google.com/o/oauth2/token';\n this.options.customHeaders = this.options.customHeaders || {};\n this.options.customParams = this.options.customParams || {};\n\n this.accessToken = this.options.accessToken || false;\n\n if (this.options.expires && Number(this.options.expires)) {\n this.expires = this.options.expires;\n } else {\n let timeout = Math.max(Number(this.options.timeout) || 0, 0);\n this.expires = (timeout && Date.now() + timeout * 1000) || 0;\n }\n }\n\n /**\n * Returns or generates (if previous has expired) a XOAuth2 token\n *\n * @param {Boolean} renew If false then use cached access token (if available)\n * @param {Function} callback Callback function with error object and token string\n */\n getToken(renew, callback) {\n if (!renew && this.accessToken && (!this.expires || this.expires > Date.now())) {\n return callback(null, this.accessToken);\n }\n\n let generateCallback = (...args) => {\n if (args[0]) {\n this.logger.error(\n {\n err: args[0],\n tnx: 'OAUTH2',\n user: this.options.user,\n action: 'renew'\n },\n 'Failed generating new Access Token for %s',\n this.options.user\n );\n } else {\n this.logger.info(\n {\n tnx: 'OAUTH2',\n user: this.options.user,\n action: 'renew'\n },\n 'Generated new Access Token for %s',\n this.options.user\n );\n }\n callback(...args);\n };\n\n if (this.provisionCallback) {\n this.provisionCallback(this.options.user, !!renew, (err, accessToken, expires) => {\n if (!err && accessToken) {\n this.accessToken = accessToken;\n this.expires = expires || 0;\n }\n generateCallback(err, accessToken);\n });\n } else {\n this.generateToken(generateCallback);\n }\n }\n\n /**\n * Updates token values\n *\n * @param {String} accessToken New access token\n * @param {Number} timeout Access token lifetime in seconds\n *\n * Emits 'token': { user: User email-address, accessToken: the new accessToken, timeout: TTL in seconds}\n */\n updateToken(accessToken, timeout) {\n this.accessToken = accessToken;\n timeout = Math.max(Number(timeout) || 0, 0);\n this.expires = (timeout && Date.now() + timeout * 1000) || 0;\n\n this.emit('token', {\n user: this.options.user,\n accessToken: accessToken || '',\n expires: this.expires\n });\n }\n\n /**\n * Generates a new XOAuth2 token with the credentials provided at initialization\n *\n * @param {Function} callback Callback function with error object and token string\n */\n generateToken(callback) {\n let urlOptions;\n let loggedUrlOptions;\n if (this.options.serviceClient) {\n // service account - https://developers.google.com/identity/protocols/OAuth2ServiceAccount\n let iat = Math.floor(Date.now() / 1000); // unix time\n let tokenData = {\n iss: this.options.serviceClient,\n scope: this.options.scope || 'https://mail.google.com/',\n sub: this.options.user,\n aud: this.options.accessUrl,\n iat,\n exp: iat + this.options.serviceRequestTimeout\n };\n let token;\n try {\n token = this.jwtSignRS256(tokenData);\n } catch (err) {\n return callback(new Error('Can\\x27t generate token. Check your auth options'));\n }\n\n urlOptions = {\n grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',\n assertion: token\n };\n\n loggedUrlOptions = {\n grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',\n assertion: tokenData\n };\n } else {\n if (!this.options.refreshToken) {\n return callback(new Error('Can\\x27t create new access token for user'));\n }\n\n // web app - https://developers.google.com/identity/protocols/OAuth2WebServer\n urlOptions = {\n client_id: this.options.clientId || '',\n client_secret: this.options.clientSecret || '',\n refresh_token: this.options.refreshToken,\n grant_type: 'refresh_token'\n };\n\n loggedUrlOptions = {\n client_id: this.options.clientId || '',\n client_secret: (this.options.clientSecret || '').substr(0, 6) + '...',\n refresh_token: (this.options.refreshToken || '').substr(0, 6) + '...',\n grant_type: 'refresh_token'\n };\n }\n\n Object.keys(this.options.customParams).forEach(key => {\n urlOptions[key] = this.options.customParams[key];\n loggedUrlOptions[key] = this.options.customParams[key];\n });\n\n this.logger.debug(\n {\n tnx: 'OAUTH2',\n user: this.options.user,\n action: 'generate'\n },\n 'Requesting token using: %s',\n JSON.stringify(loggedUrlOptions)\n );\n\n this.postRequest(this.options.accessUrl, urlOptions, this.options, (error, body) => {\n let data;\n\n if (error) {\n return callback(error);\n }\n\n try {\n data = JSON.parse(body.toString());\n } catch (E) {\n return callback(E);\n }\n\n if (!data || typeof data !== 'object') {\n this.logger.debug(\n {\n tnx: 'OAUTH2',\n user: this.options.user,\n action: 'post'\n },\n 'Response: %s',\n (body || '').toString()\n );\n return callback(new Error('Invalid authentication response'));\n }\n\n let logData = {};\n Object.keys(data).forEach(key => {\n if (key !== 'access_token') {\n logData[key] = data[key];\n } else {\n logData[key] = (data[key] || '').toString().substr(0, 6) + '...';\n }\n });\n\n this.logger.debug(\n {\n tnx: 'OAUTH2',\n user: this.options.user,\n action: 'post'\n },\n 'Response: %s',\n JSON.stringify(logData)\n );\n\n if (data.error) {\n // Error Response : https://tools.ietf.org/html/rfc6749#section-5.2\n let errorMessage = data.error;\n if (data.error_description) {\n errorMessage += ': ' + data.error_description;\n }\n if (data.error_uri) {\n errorMessage += ' (' + data.error_uri + ')';\n }\n return callback(new Error(errorMessage));\n }\n\n if (data.access_token) {\n this.updateToken(data.access_token, data.expires_in);\n return callback(null, this.accessToken);\n }\n\n return callback(new Error('No access token'));\n });\n }\n\n /**\n * Converts an access_token and user id into a base64 encoded XOAuth2 token\n *\n * @param {String} [accessToken] Access token string\n * @return {String} Base64 encoded token for IMAP or SMTP login\n */\n buildXOAuth2Token(accessToken) {\n let authData = ['user=' + (this.options.user || ''), 'auth=Bearer ' + (accessToken || this.accessToken), '', ''];\n return Buffer.from(authData.join('\\x01'), 'utf-8').toString('base64');\n }\n\n /**\n * Custom POST request handler.\n * This is only needed to keep paths short in Windows – usually this module\n * is a dependency of a dependency and if it tries to require something\n * like the request module the paths get way too long to handle for Windows.\n * As we do only a simple POST request we do not actually require complicated\n * logic support (no redirects, no nothing) anyway.\n *\n * @param {String} url Url to POST to\n * @param {String|Buffer} payload Payload to POST\n * @param {Function} callback Callback function with (err, buff)\n */\n postRequest(url, payload, params, callback) {\n let returned = false;\n\n let chunks = [];\n let chunklen = 0;\n\n let req = fetch(url, {\n method: 'post',\n headers: params.customHeaders,\n body: payload,\n allowErrorResponse: true\n });\n\n req.on('readable', () => {\n let chunk;\n while ((chunk = req.read()) !== null) {\n chunks.push(chunk);\n chunklen += chunk.length;\n }\n });\n\n req.once('error', err => {\n if (returned) {\n return;\n }\n returned = true;\n return callback(err);\n });\n\n req.once('end', () => {\n if (returned) {\n return;\n }\n returned = true;\n return callback(null, Buffer.concat(chunks, chunklen));\n });\n }\n\n /**\n * Encodes a buffer or a string into Base64url format\n *\n * @param {Buffer|String} data The data to convert\n * @return {String} The encoded string\n */\n toBase64URL(data) {\n if (typeof data === 'string') {\n data = Buffer.from(data);\n }\n\n return data\n .toString('base64')\n .replace(/[=]+/g, '') // remove '='s\n .replace(/\\+/g, '-') // '+' → '-'\n .replace(/\\//g, '_'); // '/' → '_'\n }\n\n /**\n * Creates a JSON Web Token signed with RS256 (SHA256 + RSA)\n *\n * @param {Object} payload The payload to include in the generated token\n * @return {String} The generated and signed token\n */\n jwtSignRS256(payload) {\n payload = ['{\"alg\":\"RS256\",\"typ\":\"JWT\"}', JSON.stringify(payload)].map(val => this.toBase64URL(val)).join('.');\n let signature = crypto.createSign('RSA-SHA256').update(payload).sign(this.options.privateKey);\n return payload + '.' + this.toBase64URL(signature);\n }\n}\n\nmodule.exports = XOAuth2;\n","module.exports = require('./lib/axios');","// Adapted from https://github.com/sindresorhus/make-dir\n// Copyright (c) Sindre Sorhus (sindresorhus.com)\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict'\nconst fs = require('../fs')\nconst path = require('path')\nconst atLeastNode = require('at-least-node')\n\nconst useNativeRecursiveOption = atLeastNode('10.12.0')\n\n// https://github.com/nodejs/node/issues/8987\n// https://github.com/libuv/libuv/pull/1088\nconst checkPath = pth => {\n if (process.platform === 'win32') {\n const pathHasInvalidWinCharacters = /[<>:\"|?*]/.test(pth.replace(path.parse(pth).root, ''))\n\n if (pathHasInvalidWinCharacters) {\n const error = new Error(`Path contains invalid characters: ${pth}`)\n error.code = 'EINVAL'\n throw error\n }\n }\n}\n\nconst processOptions = options => {\n const defaults = { mode: 0o777 }\n if (typeof options === 'number') options = { mode: options }\n return { ...defaults, ...options }\n}\n\nconst permissionError = pth => {\n // This replicates the exception of `fs.mkdir` with native the\n // `recusive` option when run on an invalid drive under Windows.\n const error = new Error(`operation not permitted, mkdir '${pth}'`)\n error.code = 'EPERM'\n error.errno = -4048\n error.path = pth\n error.syscall = 'mkdir'\n return error\n}\n\nmodule.exports.makeDir = async (input, options) => {\n checkPath(input)\n options = processOptions(options)\n\n if (useNativeRecursiveOption) {\n const pth = path.resolve(input)\n\n return fs.mkdir(pth, {\n mode: options.mode,\n recursive: true\n })\n }\n\n const make = async pth => {\n try {\n await fs.mkdir(pth, options.mode)\n } catch (error) {\n if (error.code === 'EPERM') {\n throw error\n }\n\n if (error.code === 'ENOENT') {\n if (path.dirname(pth) === pth) {\n throw permissionError(pth)\n }\n\n if (error.message.includes('null bytes')) {\n throw error\n }\n\n await make(path.dirname(pth))\n return make(pth)\n }\n\n try {\n const stats = await fs.stat(pth)\n if (!stats.isDirectory()) {\n // This error is never exposed to the user\n // it is caught below, and the original error is thrown\n throw new Error('The path is not a directory')\n }\n } catch {\n throw error\n }\n }\n }\n\n return make(path.resolve(input))\n}\n\nmodule.exports.makeDirSync = (input, options) => {\n checkPath(input)\n options = processOptions(options)\n\n if (useNativeRecursiveOption) {\n const pth = path.resolve(input)\n\n return fs.mkdirSync(pth, {\n mode: options.mode,\n recursive: true\n })\n }\n\n const make = pth => {\n try {\n fs.mkdirSync(pth, options.mode)\n } catch (error) {\n if (error.code === 'EPERM') {\n throw error\n }\n\n if (error.code === 'ENOENT') {\n if (path.dirname(pth) === pth) {\n throw permissionError(pth)\n }\n\n if (error.message.includes('null bytes')) {\n throw error\n }\n\n make(path.dirname(pth))\n return make(pth)\n }\n\n try {\n if (!fs.statSync(pth).isDirectory()) {\n // This error is never exposed to the user\n // it is caught below, and the original error is thrown\n throw new Error('The path is not a directory')\n }\n } catch {\n throw error\n }\n }\n }\n\n return make(path.resolve(input))\n}\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('tail', _tail, {\n canReceivePipe: true,\n cmdOptions: {\n 'n': 'numLines',\n },\n});\n\n//@\n//@ ### tail([{'-n': \\},] file [, file ...])\n//@ ### tail([{'-n': \\},] file_array)\n//@\n//@ Available options:\n//@\n//@ + `-n `: Show the last `` lines of `file`s\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ var str = tail({'-n': 1}, 'file*.txt');\n//@ var str = tail('file1', 'file2');\n//@ var str = tail(['file1', 'file2']); // same as above\n//@ ```\n//@\n//@ Read the end of a `file`.\nfunction _tail(options, files) {\n var tail = [];\n var pipe = common.readFromPipe();\n\n if (!files && !pipe) common.error('no paths given');\n\n var idx = 1;\n if (options.numLines === true) {\n idx = 2;\n options.numLines = Number(arguments[1]);\n } else if (options.numLines === false) {\n options.numLines = 10;\n }\n options.numLines = -1 * Math.abs(options.numLines);\n files = [].slice.call(arguments, idx);\n\n if (pipe) {\n files.unshift('-');\n }\n\n var shouldAppendNewline = false;\n files.forEach(function (file) {\n if (file !== '-') {\n if (!fs.existsSync(file)) {\n common.error('no such file or directory: ' + file, { continue: true });\n return;\n } else if (common.statFollowLinks(file).isDirectory()) {\n common.error(\"error reading '\" + file + \"': Is a directory\", {\n continue: true,\n });\n return;\n }\n }\n\n var contents = file === '-' ? pipe : fs.readFileSync(file, 'utf8');\n\n var lines = contents.split('\\n');\n if (lines[lines.length - 1] === '') {\n lines.pop();\n shouldAppendNewline = true;\n } else {\n shouldAppendNewline = false;\n }\n\n tail = tail.concat(lines.slice(options.numLines));\n });\n\n if (shouldAppendNewline) {\n tail.push(''); // to add a trailing newline once we join\n }\n return tail.join('\\n');\n}\nmodule.exports = _tail;\n","var fs = require('fs');\nvar path = require('path');\nvar common = require('./common');\nvar cp = require('./cp');\nvar rm = require('./rm');\n\ncommon.register('mv', _mv, {\n cmdOptions: {\n 'f': '!no_force',\n 'n': 'no_force',\n },\n});\n\n// Checks if cureent file was created recently\nfunction checkRecentCreated(sources, index) {\n var lookedSource = sources[index];\n return sources.slice(0, index).some(function (src) {\n return path.basename(src) === path.basename(lookedSource);\n });\n}\n\n//@\n//@ ### mv([options ,] source [, source ...], dest')\n//@ ### mv([options ,] source_array, dest')\n//@\n//@ Available options:\n//@\n//@ + `-f`: force (default behavior)\n//@ + `-n`: no-clobber\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ mv('-n', 'file', 'dir/');\n//@ mv('file1', 'file2', 'dir/');\n//@ mv(['file1', 'file2'], 'dir/'); // same as above\n//@ ```\n//@\n//@ Moves `source` file(s) to `dest`.\nfunction _mv(options, sources, dest) {\n // Get sources, dest\n if (arguments.length < 3) {\n common.error('missing and/or ');\n } else if (arguments.length > 3) {\n sources = [].slice.call(arguments, 1, arguments.length - 1);\n dest = arguments[arguments.length - 1];\n } else if (typeof sources === 'string') {\n sources = [sources];\n } else {\n // TODO(nate): figure out if we actually need this line\n common.error('invalid arguments');\n }\n\n var exists = fs.existsSync(dest);\n var stats = exists && common.statFollowLinks(dest);\n\n // Dest is not existing dir, but multiple sources given\n if ((!exists || !stats.isDirectory()) && sources.length > 1) {\n common.error('dest is not a directory (too many sources)');\n }\n\n // Dest is an existing file, but no -f given\n if (exists && stats.isFile() && options.no_force) {\n common.error('dest file already exists: ' + dest);\n }\n\n sources.forEach(function (src, srcIndex) {\n if (!fs.existsSync(src)) {\n common.error('no such file or directory: ' + src, { continue: true });\n return; // skip file\n }\n\n // If here, src exists\n\n // When copying to '/path/dir':\n // thisDest = '/path/dir/file1'\n var thisDest = dest;\n if (fs.existsSync(dest) && common.statFollowLinks(dest).isDirectory()) {\n thisDest = path.normalize(dest + '/' + path.basename(src));\n }\n\n var thisDestExists = fs.existsSync(thisDest);\n\n if (thisDestExists && checkRecentCreated(sources, srcIndex)) {\n // cannot overwrite file created recently in current execution, but we want to continue copying other files\n if (!options.no_force) {\n common.error(\"will not overwrite just-created '\" + thisDest + \"' with '\" + src + \"'\", { continue: true });\n }\n return;\n }\n\n if (fs.existsSync(thisDest) && options.no_force) {\n common.error('dest file already exists: ' + thisDest, { continue: true });\n return; // skip file\n }\n\n if (path.resolve(src) === path.dirname(path.resolve(thisDest))) {\n common.error('cannot move to self: ' + src, { continue: true });\n return; // skip file\n }\n\n try {\n fs.renameSync(src, thisDest);\n } catch (e) {\n /* istanbul ignore next */\n if (e.code === 'EXDEV') {\n // If we're trying to `mv` to an external partition, we'll actually need\n // to perform a copy and then clean up the original file. If either the\n // copy or the rm fails with an exception, we should allow this\n // exception to pass up to the top level.\n cp('-r', src, thisDest);\n rm('-rf', src);\n }\n }\n }); // forEach(src)\n return '';\n} // mv\nmodule.exports = _mv;\n","'use strict';\n\nmodule.exports = string => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a \\unnnn escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\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;\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.replace(/\\s*\\n\\s*/g, ' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","\"use strict\";\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Sanitizes an input into a string so it can be passed into issueCommand safely\n * @param input input to sanitize into a string\n */\nfunction toCommandValue(input) {\n if (input === null || input === undefined) {\n return '';\n }\n else if (typeof input === 'string' || input instanceof String) {\n return input;\n }\n return JSON.stringify(input);\n}\nexports.toCommandValue = toCommandValue;\n//# sourceMappingURL=utils.js.map","module.exports = require(\"os\");","module.exports = which\nwhich.sync = whichSync\n\nvar isWindows = process.platform === 'win32' ||\n process.env.OSTYPE === 'cygwin' ||\n process.env.OSTYPE === 'msys'\n\nvar path = require('path')\nvar COLON = isWindows ? ';' : ':'\nvar isexe = require('isexe')\n\nfunction getNotFoundError (cmd) {\n var er = new Error('not found: ' + cmd)\n er.code = 'ENOENT'\n\n return er\n}\n\nfunction getPathInfo (cmd, opt) {\n var colon = opt.colon || COLON\n var pathEnv = opt.path || process.env.PATH || ''\n var pathExt = ['']\n\n pathEnv = pathEnv.split(colon)\n\n var pathExtExe = ''\n if (isWindows) {\n pathEnv.unshift(process.cwd())\n pathExtExe = (opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM')\n pathExt = pathExtExe.split(colon)\n\n\n // Always test the cmd itself first. isexe will check to make sure\n // it's found in the pathExt set.\n if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')\n pathExt.unshift('')\n }\n\n // If it has a slash, then we don't bother searching the pathenv.\n // just check the file itself, and that's it.\n if (cmd.match(/\\//) || isWindows && cmd.match(/\\\\/))\n pathEnv = ['']\n\n return {\n env: pathEnv,\n ext: pathExt,\n extExe: pathExtExe\n }\n}\n\nfunction which (cmd, opt, cb) {\n if (typeof opt === 'function') {\n cb = opt\n opt = {}\n }\n\n var info = getPathInfo(cmd, opt)\n var pathEnv = info.env\n var pathExt = info.ext\n var pathExtExe = info.extExe\n var found = []\n\n ;(function F (i, l) {\n if (i === l) {\n if (opt.all && found.length)\n return cb(null, found)\n else\n return cb(getNotFoundError(cmd))\n }\n\n var pathPart = pathEnv[i]\n if (pathPart.charAt(0) === '\"' && pathPart.slice(-1) === '\"')\n pathPart = pathPart.slice(1, -1)\n\n var p = path.join(pathPart, cmd)\n if (!pathPart && (/^\\.[\\\\\\/]/).test(cmd)) {\n p = cmd.slice(0, 2) + p\n }\n ;(function E (ii, ll) {\n if (ii === ll) return F(i + 1, l)\n var ext = pathExt[ii]\n isexe(p + ext, { pathExt: pathExtExe }, function (er, is) {\n if (!er && is) {\n if (opt.all)\n found.push(p + ext)\n else\n return cb(null, p + ext)\n }\n return E(ii + 1, ll)\n })\n })(0, pathExt.length)\n })(0, pathEnv.length)\n}\n\nfunction whichSync (cmd, opt) {\n opt = opt || {}\n\n var info = getPathInfo(cmd, opt)\n var pathEnv = info.env\n var pathExt = info.ext\n var pathExtExe = info.extExe\n var found = []\n\n for (var i = 0, l = pathEnv.length; i < l; i ++) {\n var pathPart = pathEnv[i]\n if (pathPart.charAt(0) === '\"' && pathPart.slice(-1) === '\"')\n pathPart = pathPart.slice(1, -1)\n\n var p = path.join(pathPart, cmd)\n if (!pathPart && /^\\.[\\\\\\/]/.test(cmd)) {\n p = cmd.slice(0, 2) + p\n }\n for (var j = 0, ll = pathExt.length; j < ll; j ++) {\n var cur = p + pathExt[j]\n var is\n try {\n is = isexe.sync(cur, { pathExt: pathExtExe })\n if (is) {\n if (opt.all)\n found.push(cur)\n else\n return cur\n }\n } catch (ex) {}\n }\n }\n\n if (opt.all && found.length)\n return found\n\n if (opt.nothrow)\n return null\n\n throw getNotFoundError(cmd)\n}\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlSslOpt = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898fccafc5d6cd04f6235f283cfbd/include/curl/curl.h#L7\r\n/**\r\n * Object with constants for option `SSL_OPTIONS` and/or `PROXY_SSL_OPTIONS`\r\n *\r\n * `CURLSSLOPT_ALLOW_BEAST` becomes `CurlSslOpt.AllowBeast`\r\n *\r\n * @public\r\n */\r\nvar CurlSslOpt;\r\n(function (CurlSslOpt) {\r\n /**\r\n * Tells libcurl to allow the BEAST SSL vulnerability in the\r\n * name of improving interoperability with older servers. Some SSL libraries\r\n * have introduced work-arounds for this flaw but those work-arounds sometimes\r\n * make the SSL communication fail. To regain functionality with those broken\r\n * servers, a user can this way allow the vulnerability back.\r\n */\r\n CurlSslOpt[CurlSslOpt[\"AllowBeast\"] = 1] = \"AllowBeast\";\r\n /**\r\n * Tells libcurl to disable certificate revocation checks for those\r\n * SSL backends where such behavior is present.\r\n */\r\n CurlSslOpt[CurlSslOpt[\"NoRevoke\"] = 2] = \"NoRevoke\";\r\n /**\r\n * Tells libcurl to *NOT* accept a partial certificate chain\r\n * if possible. The OpenSSL backend has this ability.\r\n */\r\n CurlSslOpt[CurlSslOpt[\"NoPartialChain\"] = 4] = \"NoPartialChain\";\r\n})(CurlSslOpt = exports.CurlSslOpt || (exports.CurlSslOpt = {}));\r\n//# sourceMappingURL=CurlSslOpt.js.map","!function(e,u){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=u():\"function\"==typeof define&&define.amd?define(u):((e=\"undefined\"!=typeof globalThis?globalThis:e||self).prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.meriyah=u())}(this,(function(){\"use strict\";var e=function(e,u){const t=new SyntaxError(e+\" (\"+u.start.line+\":\"+u.start.column+\")\");return t.loc=u,t};function u(e,u,t){return e(t={path:u,exports:{},require:function(e,u){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==u&&t.path)}},t.exports),t.exports}function t(e){return e&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var n=Object.freeze({__proto__:null,default:{EOL:\"\\n\",platform:()=>\"browser\",cpus:()=>[{model:\"Prettier\"}]}});const o=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");const u=e.match(/(?:\\r?\\n)/g)||[];if(0===u.length)return;const t=u.filter((e=>\"\\r\\n\"===e)).length;return t>u.length-t?\"\\r\\n\":\"\\n\"};var r=o;r.graceful=e=>\"string\"==typeof e&&o(e)||\"\\n\";var s=t(n),i=u((function(e,u){function t(){const e=s;return t=function(){return e},e}function n(){const e=(u=r)&&u.__esModule?u:{default:u};var u;return n=function(){return e},e}Object.defineProperty(u,\"__esModule\",{value:!0}),u.extract=function(e){const u=e.match(D);return u?u[0].trimLeft():\"\"},u.strip=function(e){const u=e.match(D);return u&&u[0]?e.substring(u[0].length):e},u.parse=function(e){return E(e).pragmas},u.parseWithComments=E,u.print=function({comments:e=\"\",pragmas:u={}}){const o=(0,n().default)(e)||t().EOL,r=\" *\",s=Object.keys(u),i=s.map((e=>A(e,u[e]))).reduce(((e,u)=>e.concat(u)),[]).map((e=>\" * \"+e+o)).join(\"\");if(!e){if(0===s.length)return\"\";if(1===s.length&&!Array.isArray(u[s[0]])){const e=u[s[0]];return\"\".concat(\"/**\",\" \").concat(A(s[0],e)[0]).concat(\" */\")}}const D=e.split(o).map((e=>\"\".concat(r,\" \").concat(e))).join(o)+o;return\"/**\"+o+(e?D:\"\")+(e&&s.length?r+o:\"\")+i+\" */\"};const o=/\\*\\/$/,i=/^\\/\\*\\*/,D=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,a=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,c=/^(\\r?\\n)+/,l=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,F=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,p=/(\\r?\\n|^) *\\* ?/g,C=[];function E(e){const u=(0,n().default)(e)||t().EOL;e=e.replace(i,\"\").replace(o,\"\").replace(p,\"$1\");let r=\"\";for(;r!==e;)r=e,e=e.replace(l,\"\".concat(u,\"$1 $2\").concat(u));e=e.replace(c,\"\").trimRight();const s=Object.create(null),D=e.replace(F,\"\").replace(c,\"\").trimRight();let E;for(;E=F.exec(e);){const e=E[2].replace(a,\"\");\"string\"==typeof s[E[1]]||Array.isArray(s[E[1]])?s[E[1]]=C.concat(s[E[1]],e):s[E[1]]=e}return{comments:D,pragmas:s}}function A(e,u){return C.concat(u).map((u=>\"@\".concat(e,\" \").concat(u).trim()))}})),D=e=>\"string\"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const u=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(u,e?void 0:\"g\")})(),\"\"):e;const a=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var c=a,l=a;c.default=l;const F=e=>{if(\"string\"!=typeof(e=e.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\" \"))||0===e.length)return 0;e=D(e);let u=0;for(let t=0;t=127&&n<=159||(n>=768&&n<=879||(n>65535&&t++,u+=c(n)?2:1))}return u};var p=F,C=F;p.default=C;var E=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function A(e,u){return u||(u=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(u)}}))}var f=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{};function d(){throw new Error(\"setTimeout has not been defined\")}function m(){throw new Error(\"clearTimeout has not been defined\")}var g=d,B=m;function y(e){if(g===setTimeout)return setTimeout(e,0);if((g===d||!g)&&setTimeout)return g=setTimeout,setTimeout(e,0);try{return g(e,0)}catch(u){try{return g.call(null,e,0)}catch(u){return g.call(this,e,0)}}}\"function\"==typeof f.setTimeout&&(g=setTimeout),\"function\"==typeof f.clearTimeout&&(B=clearTimeout);var h,k=[],P=!1,b=-1;function x(){P&&h&&(P=!1,h.length?k=h.concat(k):b=-1,k.length&&v())}function v(){if(!P){var e=y(x);P=!0;for(var u=k.length;u;){for(h=k,k=[];++b1)for(var t=1;tconsole.error(\"SEMVER\",...e):()=>{};var $={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},_=u((function(e,u){const{MAX_SAFE_COMPONENT_LENGTH:t}=$,n=(u=e.exports={}).re=[],o=u.src=[],r=u.t={};let s=0;const i=(e,u,t)=>{const i=s++;G(i,u),r[e]=i,o[i]=u,n[i]=new RegExp(u,t?\"g\":void 0)};i(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),i(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),i(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),i(\"MAINVERSION\",\"(\".concat(o[r.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(o[r.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(o[r.NUMERICIDENTIFIER],\")\")),i(\"MAINVERSIONLOOSE\",\"(\".concat(o[r.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(o[r.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(o[r.NUMERICIDENTIFIERLOOSE],\")\")),i(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(o[r.NUMERICIDENTIFIER],\"|\").concat(o[r.NONNUMERICIDENTIFIER],\")\")),i(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(o[r.NUMERICIDENTIFIERLOOSE],\"|\").concat(o[r.NONNUMERICIDENTIFIER],\")\")),i(\"PRERELEASE\",\"(?:-(\".concat(o[r.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(o[r.PRERELEASEIDENTIFIER],\")*))\")),i(\"PRERELEASELOOSE\",\"(?:-?(\".concat(o[r.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(o[r.PRERELEASEIDENTIFIERLOOSE],\")*))\")),i(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),i(\"BUILD\",\"(?:\\\\+(\".concat(o[r.BUILDIDENTIFIER],\"(?:\\\\.\").concat(o[r.BUILDIDENTIFIER],\")*))\")),i(\"FULLPLAIN\",\"v?\".concat(o[r.MAINVERSION]).concat(o[r.PRERELEASE],\"?\").concat(o[r.BUILD],\"?\")),i(\"FULL\",\"^\".concat(o[r.FULLPLAIN],\"$\")),i(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(o[r.MAINVERSIONLOOSE]).concat(o[r.PRERELEASELOOSE],\"?\").concat(o[r.BUILD],\"?\")),i(\"LOOSE\",\"^\".concat(o[r.LOOSEPLAIN],\"$\")),i(\"GTLT\",\"((?:<|>)?=?)\"),i(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(o[r.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),i(\"XRANGEIDENTIFIER\",\"\".concat(o[r.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),i(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(o[r.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(o[r.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(o[r.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(o[r.PRERELEASE],\")?\").concat(o[r.BUILD],\"?\")+\")?)?\"),i(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(o[r.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(o[r.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(o[r.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(o[r.PRERELEASELOOSE],\")?\").concat(o[r.BUILD],\"?\")+\")?)?\"),i(\"XRANGE\",\"^\".concat(o[r.GTLT],\"\\\\s*\").concat(o[r.XRANGEPLAIN],\"$\")),i(\"XRANGELOOSE\",\"^\".concat(o[r.GTLT],\"\\\\s*\").concat(o[r.XRANGEPLAINLOOSE],\"$\")),i(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(t,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(t,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(t,\"}))?\")+\"(?:$|[^\\\\d])\"),i(\"COERCERTL\",o[r.COERCE],!0),i(\"LONETILDE\",\"(?:~>?)\"),i(\"TILDETRIM\",\"(\\\\s*)\".concat(o[r.LONETILDE],\"\\\\s+\"),!0),u.tildeTrimReplace=\"$1~\",i(\"TILDE\",\"^\".concat(o[r.LONETILDE]).concat(o[r.XRANGEPLAIN],\"$\")),i(\"TILDELOOSE\",\"^\".concat(o[r.LONETILDE]).concat(o[r.XRANGEPLAINLOOSE],\"$\")),i(\"LONECARET\",\"(?:\\\\^)\"),i(\"CARETTRIM\",\"(\\\\s*)\".concat(o[r.LONECARET],\"\\\\s+\"),!0),u.caretTrimReplace=\"$1^\",i(\"CARET\",\"^\".concat(o[r.LONECARET]).concat(o[r.XRANGEPLAIN],\"$\")),i(\"CARETLOOSE\",\"^\".concat(o[r.LONECARET]).concat(o[r.XRANGEPLAINLOOSE],\"$\")),i(\"COMPARATORLOOSE\",\"^\".concat(o[r.GTLT],\"\\\\s*(\").concat(o[r.LOOSEPLAIN],\")$|^$\")),i(\"COMPARATOR\",\"^\".concat(o[r.GTLT],\"\\\\s*(\").concat(o[r.FULLPLAIN],\")$|^$\")),i(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(o[r.GTLT],\"\\\\s*(\").concat(o[r.LOOSEPLAIN],\"|\").concat(o[r.XRANGEPLAIN],\")\"),!0),u.comparatorTrimReplace=\"$1$2$3\",i(\"HYPHENRANGE\",\"^\\\\s*(\".concat(o[r.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(o[r.XRANGEPLAIN],\")\")+\"\\\\s*$\"),i(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(o[r.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(o[r.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),i(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),i(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),i(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")}));const J=/^[0-9]+$/,q=(e,u)=>{const t=J.test(e),n=J.test(u);return t&&n&&(e=+e,u=+u),e===u?0:t&&!n?-1:n&&!t?1:eq(u,e)};const{MAX_LENGTH:z,MAX_SAFE_INTEGER:H}=$,{re:K,t:Y}=_,{compareIdentifiers:Z}=W;class Q{constructor(e,u){if(u&&\"object\"==typeof u||(u={loose:!!u,includePrerelease:!1}),e instanceof Q){if(e.loose===!!u.loose&&e.includePrerelease===!!u.includePrerelease)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \".concat(e));if(e.length>z)throw new TypeError(\"version is longer than \".concat(z,\" characters\"));G(\"SemVer\",e,u),this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease;const t=e.trim().match(u.loose?K[Y.LOOSE]:K[Y.FULL]);if(!t)throw new TypeError(\"Invalid Version: \".concat(e));if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>H||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>H||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>H||this.patch<0)throw new TypeError(\"Invalid patch version\");t[4]?this.prerelease=t[4].split(\".\").map((e=>{if(/^[0-9]+$/.test(e)){const u=+e;if(u>=0&&u=0;)\"number\"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}u&&(this.prerelease[0]===u?isNaN(this.prerelease[1])&&(this.prerelease=[u,0]):this.prerelease=[u,0]);break;default:throw new Error(\"invalid increment argument: \".concat(e))}return this.format(),this.raw=this.version,this}}var ee=Q;var ue=(e,u,t)=>new ee(e,t).compare(new ee(u,t));var te=(e,u,t)=>ue(e,u,t)<0;var ne=(e,u,t)=>ue(e,u,t)>=0,oe=\"2.2.0\",re=u((function(e,u){function t(){for(var e=[],u=0;u\"string\"==typeof e||\"function\"==typeof e,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:Ae,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin\",cliCategory:pe},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:Ae,description:Fe(ae()),exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin-search-dir\",cliCategory:pe},printWidth:{since:\"0.0.0\",category:Ae,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:fe,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:Fe(De()),cliCategory:Ce},rangeStart:{since:\"1.4.0\",category:fe,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:Fe(ie()),cliCategory:Ce},requirePragma:{since:\"1.7.0\",category:fe,type:\"boolean\",default:!1,description:Fe(se()),cliCategory:Ee},tabWidth:{type:\"int\",category:Ae,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:Ae,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:Ae,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};const me={compare:ue,lt:te,gte:ne},ge=oe,Be={CATEGORY_CONFIG:pe,CATEGORY_EDITOR:Ce,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:Ee,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:Ae,CATEGORY_SPECIAL:fe,options:de}.options;var ye={getSupportInfo:function({plugins:e=[],showUnreleased:u=!1,showDeprecated:t=!1,showInternal:n=!1}={}){const o=ge.split(\"-\",1)[0],r=e.reduce(((e,u)=>e.concat(u.languages||[])),[]).filter(a),s=(i=Object.assign({},...e.map((({options:e})=>e)),Be),D=\"name\",Object.entries(i).map((([e,u])=>Object.assign({[D]:e},u)))).filter((e=>a(e)&&c(e))).sort(((e,u)=>e.name===u.name?0:e.name=0||(o[t]=e[t]);return o}(e,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((u=>{u=Object.assign({},u),Array.isArray(u.default)&&(u.default=1===u.default.length?u.default[0].value:u.default.filter(a).sort(((e,u)=>me.compare(u.since,e.since)))[0].value),Array.isArray(u.choices)&&(u.choices=u.choices.filter((e=>a(e)&&c(e))),\"parser\"===u.name&&function(e,u,t){const n=new Set(e.choices.map((e=>e.value)));for(const o of u)if(o.parsers)for(const u of o.parsers)if(!n.has(u)){n.add(u);const r=t.find((e=>e.parsers&&e.parsers[u]));let s=o.name;r&&r.name&&(s+=\" (plugin: \".concat(r.name,\")\")),e.choices.push({value:u,description:s})}}(u,r,e));const t=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[u.name])).reduce(((e,t)=>(e[t.name]=t.defaultOptions[u.name],e)),{});return Object.assign({},u,{pluginDefaults:t})}));var i,D;return{languages:r,options:s};function a(e){return u||!(\"since\"in e)||e.since&&me.gte(o,e.since)}function c(e){return t||!(\"deprecated\"in e)||e.deprecated&&me.lt(o,e.deprecated)}}};const{getSupportInfo:he}=ye,ke=/[^\\x20-\\x7F]/;function Pe(e){return(u,t,n)=>{const o=n&&n.backwards;if(!1===t)return!1;const{length:r}=u;let s=t;for(;s>=0&&s(t.match(s.regex)||[]).length?s.quote:r.quote}return i}function Ve(e,u,t){const n='\"'===u?\"'\":'\"',o=e.replace(/\\\\([\\S\\s])|([\"'])/g,((e,o,r)=>o===n?o:r===u?\"\\\\\"+r:r||(t&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(o)?o:\"\\\\\"+o)));return u+o+u}function Xe(e,u){(e.comments||(e.comments=[])).push(u),u.printed=!1,\"JSXText\"===e.type&&(u.printed=!0)}var Ue={inferParserByLanguage:function(e,u){const{languages:t}=he({plugins:u.plugins}),n=t.find((({name:u})=>u.toLowerCase()===e))||t.find((({aliases:u})=>Array.isArray(u)&&u.includes(e)))||t.find((({extensions:u})=>Array.isArray(u)&&u.includes(\".\".concat(e))));return n&&n.parsers[0]},replaceEndOfLineWith:function(e,u){const t=[];for(const n of e.split(\"\\n\"))0!==t.length&&t.push(u),t.push(n);return t},getStringWidth:function(e){return e?ke.test(e)?p(e):e.length:0},getMaxContinuousCount:function(e,u){const t=e.match(new RegExp(\"(\".concat(E(u),\")+\"),\"g\"));return null===t?0:t.reduce(((e,t)=>Math.max(e,t.length/u.length)),0)},getMinNotPresentContinuousCount:function(e,u){const t=e.match(new RegExp(\"(\".concat(E(u),\")+\"),\"g\"));if(null===t)return 0;const n=new Map;let o=0;for(const e of t){const t=e.length/u.length;n.set(t,!0),t>o&&(o=t)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Oe,getNextNonSpaceNonCommentCharacterIndex:Re,getNextNonSpaceNonCommentCharacter:function(e,u,t){return e.charAt(Re(e,u,t))},skip:Pe,skipWhitespace:be,skipSpaces:xe,skipToLineEnd:ve,skipEverythingButNewLine:Se,skipInlineComment:we,skipTrailingComment:Te,skipNewline:Ie,isNextLineEmptyAfterIndex:Le,isNextLineEmpty:function(e,u,t){return Le(e,t(u))},isPreviousLineEmpty:function(e,u,t){let n=t(u)-1;return n=xe(e,n,{backwards:!0}),n=Ie(e,n,{backwards:!0}),n=xe(e,n,{backwards:!0}),n!==Ie(e,n,{backwards:!0})},hasNewline:Ne,hasNewlineInRange:function(e,u,t){for(let n=u;n=0?\"\\n\"===e.charAt(u+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(e){switch(e){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(e,u){let t;if(\"\\n\"===u)t=/\\n/g;else if(\"\\r\"===u)t=/\\r/g;else{if(\"\\r\\n\"!==u)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(u),\".\"));t=/\\r\\n/g}const n=e.match(t);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\\r\\n?/g,\"\\n\")}};const{parseWithComments:$e,strip:_e,extract:Je,print:qe}=i,{getShebang:We}=Ue,{normalizeEndOfLine:ze}=Ge;function He(e){const u=We(e);u&&(e=e.slice(u.length+1));const t=Je(e),{pragmas:n,comments:o}=$e(t);return{shebang:u,text:e,pragmas:n,comments:o}}var Ke={hasPragma:function(e){const u=Object.keys(He(e).pragmas);return u.includes(\"prettier\")||u.includes(\"format\")},insertPragma:function(e){const{shebang:u,text:t,pragmas:n,comments:o}=He(e),r=_e(t),s=qe({pragmas:Object.assign({format:\"\"},n),comments:o.trimStart()});return(u?\"\".concat(u,\"\\n\"):\"\")+ze(s)+(r.startsWith(\"\\n\")?\"\\n\":\"\\n\\n\")+r}};function Ye(e,u){const{ignoreDecorators:t}=u||{};if(!t){const u=e.declaration&&e.declaration.decorators||e.decorators;if(u&&u.length>0)return Ye(u[0])}return e.range?e.range[0]:e.start}function Ze(e){const u=e.range?e.range[1]:e.end;return e.typeAnnotation?Math.max(u,Ze(e.typeAnnotation)):u}function Qe(e,u){return Ye(e)===Ye(u)}var eu={locStart:Ye,locEnd:Ze,composeLoc:function(e,u=e){const t=Ye(e);return[t,\"number\"==typeof u?t+u:Ze(u)]},hasSameLocStart:Qe,hasSameLoc:function(e,u){return Qe(e,u)&&function(e,u){return Ze(e)===Ze(u)}(e,u)}},uu=u((function(e){!function(){function u(e){if(null==e)return!1;switch(e.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function t(e){switch(e.type){case\"IfStatement\":return null!=e.alternate?e.alternate:e.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:u,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(e){return u(e)||null!=e&&\"FunctionDeclaration\"===e.type},isProblematicIfStatement:function(e){var u;if(\"IfStatement\"!==e.type)return!1;if(null==e.alternate)return!1;u=e.consequent;do{if(\"IfStatement\"===u.type&&null==u.alternate)return!0;u=t(u)}while(u);return!1},trailingStatement:t}}()})),tu=u((function(e){!function(){var u,t,n,o,r,s;function i(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(t={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},u={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},n=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],o=new Array(128),s=0;s<128;++s)o[s]=s>=97&&s<=122||s>=65&&s<=90||36===s||95===s;for(r=new Array(128),s=0;s<128;++s)r[s]=s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||36===s||95===s;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&n.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?o[e]:t.NonAsciiIdentifierStart.test(i(e))},isIdentifierPartES5:function(e){return e<128?r[e]:t.NonAsciiIdentifierPart.test(i(e))},isIdentifierStartES6:function(e){return e<128?o[e]:u.NonAsciiIdentifierStart.test(i(e))},isIdentifierPartES6:function(e){return e<128?r[e]:u.NonAsciiIdentifierPart.test(i(e))}}}()})),nu=u((function(e){!function(){var u=tu;function t(e,u){return!(!u&&\"yield\"===e)&&n(e,u)}function n(e,u){if(u&&function(e){switch(e){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return\"if\"===e||\"in\"===e||\"do\"===e;case 3:return\"var\"===e||\"for\"===e||\"new\"===e||\"try\"===e;case 4:return\"this\"===e||\"else\"===e||\"case\"===e||\"void\"===e||\"with\"===e||\"enum\"===e;case 5:return\"while\"===e||\"break\"===e||\"catch\"===e||\"throw\"===e||\"const\"===e||\"yield\"===e||\"class\"===e||\"super\"===e;case 6:return\"return\"===e||\"typeof\"===e||\"delete\"===e||\"switch\"===e||\"export\"===e||\"import\"===e;case 7:return\"default\"===e||\"finally\"===e||\"extends\"===e;case 8:return\"function\"===e||\"continue\"===e||\"debugger\"===e;case 10:return\"instanceof\"===e;default:return!1}}function o(e,u){return\"null\"===e||\"true\"===e||\"false\"===e||t(e,u)}function r(e,u){return\"null\"===e||\"true\"===e||\"false\"===e||n(e,u)}function s(e){var t,n,o;if(0===e.length)return!1;if(o=e.charCodeAt(0),!u.isIdentifierStartES5(o))return!1;for(t=1,n=e.length;t=n)return!1;if(!(56320<=(r=e.charCodeAt(t))&&r<=57343))return!1;o=1024*(o-55296)+(r-56320)+65536}if(!s(o))return!1;s=u.isIdentifierPartES6}return!0}e.exports={isKeywordES5:t,isKeywordES6:n,isReservedWordES5:o,isReservedWordES6:r,isRestrictedWord:function(e){return\"eval\"===e||\"arguments\"===e},isIdentifierNameES5:s,isIdentifierNameES6:i,isIdentifierES5:function(e,u){return s(e)&&!o(e,u)},isIdentifierES6:function(e,u){return i(e)&&!r(e,u)}}}()}));const ou=u((function(e,u){u.ast=uu,u.code=tu,u.keyword=nu})).keyword.isIdentifierNameES5,{getLast:ru,hasNewline:su,hasNewlineInRange:iu,skipWhitespace:Du}=Ue,{locStart:au,locEnd:cu,hasSameLocStart:lu}=eu,Fu=\"(?:(?=.)\\\\s)\",pu=new RegExp(\"^\".concat(Fu,\"*:\")),Cu=new RegExp(\"^\".concat(Fu,\"*::\"));function Eu(e,u){if(!e||\"object\"!=typeof e)return!1;if(Array.isArray(e))return e.some((e=>Eu(e,u)));const t=u(e);return\"boolean\"==typeof t?t:Object.keys(e).some((t=>Eu(e[t],u)))}function Au(e){return\"AssignmentExpression\"===e.type||\"BinaryExpression\"===e.type||\"LogicalExpression\"===e.type||\"NGPipeExpression\"===e.type||\"ConditionalExpression\"===e.type||\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type||\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type||\"SequenceExpression\"===e.type||\"TaggedTemplateExpression\"===e.type||\"BindExpression\"===e.type||\"UpdateExpression\"===e.type&&!e.prefix||\"TSAsExpression\"===e.type||\"TSNonNullExpression\"===e.type}function fu(e){return\"Block\"===e.type||\"CommentBlock\"===e.type||\"MultiLine\"===e.type}const du=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function mu(e){return e&&du.has(e.type)}function gu(e){return\"BooleanLiteral\"===e.type||\"DirectiveLiteral\"===e.type||\"Literal\"===e.type||\"NullLiteral\"===e.type||\"NumericLiteral\"===e.type||\"BigIntLiteral\"===e.type||\"DecimalLiteral\"===e.type||\"RegExpLiteral\"===e.type||\"StringLiteral\"===e.type||\"TemplateLiteral\"===e.type||\"TSTypeLiteral\"===e.type||\"JSXText\"===e.type}function Bu(e){return\"NumericLiteral\"===e.type||\"Literal\"===e.type&&\"number\"==typeof e.value}function yu(e){return\"StringLiteral\"===e.type||\"Literal\"===e.type&&\"string\"==typeof e.value}function hu(e){return\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type}function ku(e){return!(\"CallExpression\"!==e.type&&\"OptionalCallExpression\"!==e.type||\"Identifier\"!==e.callee.type||\"async\"!==e.callee.name&&\"inject\"!==e.callee.name&&\"fakeAsync\"!==e.callee.name)}function Pu(e){return\"JSXElement\"===e.type||\"JSXFragment\"===e.type}function bu(e){return\"get\"===e.kind||\"set\"===e.kind}function xu(e){return bu(e)||lu(e,e.value)}const vu=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]);const Su=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]);const wu=/^(skip|[fx]?(it|describe|test))$/;function Tu(e){return\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type}const Iu=new RegExp(\"([ \\n\\r\\t]+)\"),Nu=new RegExp(\"[^ \\n\\r\\t]\");function Lu(e){return gu(e)&&(Nu.test(ju(e))||!/\\n/.test(ju(e)))}function Ou(e,u){if(Pu(u))return zu(u);return u.comments&&u.comments.some((u=>u.leading&&su(e,cu(u))))}function Ru(e){return/^(\\d+|\\d+\\.\\d+)$/.test(e)}function Mu(e){return e.quasis.some((e=>e.value.raw.includes(\"\\n\")))}function ju(e){return e.extra?e.extra.raw:e.raw}const Vu={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},Xu={\"*\":!0,\"/\":!0,\"%\":!0},Uu={\">>\":!0,\">>>\":!0,\"<<\":!0};const Gu={};function $u(e){return Gu[e]}[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].forEach(((e,u)=>{e.forEach((e=>{Gu[e]=u}))}));const _u=new WeakMap;function Ju(e){if(_u.has(e))return _u.get(e);const u=[];return e.this&&u.push(e.this),Array.isArray(e.parameters)?u.push(...e.parameters):Array.isArray(e.params)&&u.push(...e.params),e.rest&&u.push(e.rest),_u.set(e,u),u}const qu=new WeakMap;function Wu(e){return\"prettier-ignore\"===e.value.trim()}function zu(e){return e&&(e.comments&&e.comments.length>0&&e.comments.some((e=>Wu(e)&&!e.unignore))||e.prettierIgnore)}function Hu(e){return zu(e.getValue())}var Ku={classChildNeedsASIProtection:function(e){if(e){if(e.static||e.accessibility)return!1;if(!e.computed){const u=e.key&&e.key.name;if(\"in\"===u||\"instanceof\"===u)return!0}switch(e.type){case\"ClassProperty\":case\"FieldDefinition\":case\"TSAbstractClassProperty\":return e.computed;case\"MethodDefinition\":case\"TSAbstractMethodDefinition\":case\"ClassMethod\":case\"ClassPrivateMethod\":{const u=e.value?e.value.async:e.async,t=e.value?e.value.generator:e.generator;return!u&&\"get\"!==e.kind&&\"set\"!==e.kind&&!(!e.computed&&!t)}case\"TSIndexSignature\":return!0;default:return!1}}},classPropMayCauseASIProblems:function(e){const u=e.getNode();if(\"ClassProperty\"!==u.type&&\"FieldDefinition\"!==u.type)return!1;const t=u.key&&u.key.name;return!(\"static\"!==t&&\"get\"!==t&&\"set\"!==t||u.value||u.typeAnnotation)||void 0},getFunctionParameters:Ju,iterateFunctionParametersPath:function(e,u){const t=e.getValue();let n=0;const o=e=>u(e,n++);t.this&&e.call(o,\"this\"),Array.isArray(t.parameters)?e.each(o,\"parameters\"):Array.isArray(t.params)&&e.each(o,\"params\"),t.rest&&e.call(o,\"rest\")},getCallArguments:function(e){if(qu.has(e))return qu.get(e);const u=\"ImportExpression\"===e.type?[e.source]:e.arguments;return qu.set(e,u),u},iterateCallArgumentsPath:function(e,u){\"ImportExpression\"===e.getValue().type?e.call((e=>u(e,0)),\"source\"):e.each(u,\"arguments\")},hasRestParameter:function(e){if(e.rest)return!0;const u=Ju(e);return u.length>0&&\"RestElement\"===ru(u).type},getLeftSidePathName:function(e,u){if(u.expressions)return[\"expressions\",0];if(u.left)return[\"left\"];if(u.test)return[\"test\"];if(u.object)return[\"object\"];if(u.callee)return[\"callee\"];if(u.tag)return[\"tag\"];if(u.argument)return[\"argument\"];if(u.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(e){const u=e.getParentNode();return\"declaration\"===e.getName()&&mu(u)?u:null},getTypeScriptMappedTypeModifier:function(e,u){return\"+\"===e?\"+\"+u:\"-\"===e?\"-\"+u:u},hasDanglingComments:function(e){return e.comments&&e.comments.some((e=>!e.leading&&!e.trailing))},hasFlowAnnotationComment:function(e){return e&&fu(e[0])&&Cu.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&e.trailingComments&&fu(e.trailingComments[0])&&pu.test(e.trailingComments[0].value)},hasLeadingComment:function(e){return e.comments&&e.comments.some((e=>e.leading))},hasLeadingOwnLineComment:Ou,hasNakedLeftSide:Au,hasNewlineBetweenOrAfterDecorators:function(e,u){return iu(u.originalText,au(e.decorators[0]),cu(ru(e.decorators)))||su(u.originalText,cu(ru(e.decorators)))},hasNgSideEffect:function(e){return Eu(e.getValue(),(e=>{switch(e.type){case void 0:return!1;case\"CallExpression\":case\"OptionalCallExpression\":case\"AssignmentExpression\":return!0}}))},hasNode:Eu,hasPrettierIgnore:function(e){return Hu(e)||function(e){const u=e.getValue(),t=e.getParentNode();if(!(t&&u&&Pu(u)&&Pu(t)))return!1;let n=null;for(let e=t.children.indexOf(u);e>0;e--){const u=t.children[e-1];if(\"JSXText\"!==u.type||Lu(u)){n=u;break}}return n&&\"JSXExpressionContainer\"===n.type&&\"JSXEmptyExpression\"===n.expression.type&&n.expression.comments&&n.expression.comments.some((e=>Wu(e)))}(e)},hasTrailingComment:function(e){return e.comments&&e.comments.some((e=>e.trailing))},hasTrailingLineComment:function(e){return e.comments&&e.comments.some((e=>e.trailing&&!fu(e)))},hasIgnoreComment:Hu,hasNodeIgnoreComment:zu,identity:function(e){return e},isBinaryish:function(e){return vu.has(e.type)},isBlockComment:fu,isLineComment:function(e){return\"Line\"===e.type||\"CommentLine\"===e.type||\"SingleLine\"===e.type||\"HashbangComment\"===e.type||\"HTMLOpen\"===e.type||\"HTMLClose\"===e.type},isPrettierIgnoreComment:Wu,isCallOrOptionalCallExpression:Tu,isEmptyJSXElement:function(e){if(0===e.children.length)return!0;if(e.children.length>1)return!1;const u=e.children[0];return gu(u)&&!Lu(u)},isExportDeclaration:mu,isFlowAnnotationComment:function(e,u){const t=au(u),n=Du(e,cu(u));return!1!==n&&\"/*\"===e.slice(t,t+2)&&\"*/\"===e.slice(n,n+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let u=0;for(const t of e)if(hu(t)){if(u+=1,u>1)return!0}else if(Tu(t))for(const e of t.arguments)if(hu(e))return!0;return!1},isFunctionNotation:xu,isFunctionOrArrowExpression:hu,isGetterOrSetter:bu,isJestEachTemplateLiteral:function(e,u){const t=/^[fx]?(describe|it|test)$/;return\"TaggedTemplateExpression\"===u.type&&u.quasi===e&&\"MemberExpression\"===u.tag.type&&\"Identifier\"===u.tag.property.type&&\"each\"===u.tag.property.name&&(\"Identifier\"===u.tag.object.type&&t.test(u.tag.object.name)||\"MemberExpression\"===u.tag.object.type&&\"Identifier\"===u.tag.object.property.type&&(\"only\"===u.tag.object.property.name||\"skip\"===u.tag.object.property.name)&&\"Identifier\"===u.tag.object.object.type&&t.test(u.tag.object.object.name))},isJSXNode:Pu,isJSXWhitespaceExpression:function(e){return\"JSXExpressionContainer\"===e.type&&gu(e.expression)&&\" \"===e.expression.value&&!e.expression.comments},isLastStatement:function(e){const u=e.getParentNode();if(!u)return!0;const t=e.getValue(),n=(u.body||u.consequent).filter((e=>\"EmptyStatement\"!==e.type));return n[n.length-1]===t},isLiteral:gu,isLongCurriedCallExpression:function(e){const u=e.getValue(),t=e.getParentNode();return Tu(u)&&Tu(t)&&t.callee===u&&u.arguments.length>t.arguments.length&&t.arguments.length>0},isSimpleCallArgument:function e(u,t){if(t>=2)return!1;const n=u=>e(u,t+1),o=\"Literal\"===u.type&&\"regex\"in u&&u.regex.pattern||\"RegExpLiteral\"===u.type&&u.pattern;return!(o&&o.length>5)&&(\"Literal\"===u.type||\"BigIntLiteral\"===u.type||\"DecimalLiteral\"===u.type||\"BooleanLiteral\"===u.type||\"NullLiteral\"===u.type||\"NumericLiteral\"===u.type||\"RegExpLiteral\"===u.type||\"StringLiteral\"===u.type||\"Identifier\"===u.type||\"ThisExpression\"===u.type||\"Super\"===u.type||\"PrivateName\"===u.type||\"ArgumentPlaceholder\"===u.type||\"Import\"===u.type||(\"TemplateLiteral\"===u.type?u.expressions.every(n):\"ObjectExpression\"===u.type?u.properties.every((e=>!e.computed&&(e.shorthand||e.value&&n(e.value)))):\"ArrayExpression\"===u.type?u.elements.every((e=>null===e||n(e))):\"ImportExpression\"===u.type?n(u.source):\"CallExpression\"===u.type||\"OptionalCallExpression\"===u.type||\"NewExpression\"===u.type?e(u.callee,t)&&u.arguments.every(n):\"MemberExpression\"===u.type||\"OptionalMemberExpression\"===u.type?e(u.object,t)&&e(u.property,t):\"UnaryExpression\"!==u.type||\"!\"!==u.operator&&\"-\"!==u.operator?\"TSNonNullExpression\"===u.type&&e(u.expression,t):e(u.argument,t)))},isMeaningfulJSXText:Lu,isMemberExpressionChain:function e(u){return(\"MemberExpression\"===u.type||\"OptionalMemberExpression\"===u.type)&&(\"Identifier\"===u.object.type||e(u.object))},isMemberish:function(e){return\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type||\"BindExpression\"===e.type&&Boolean(e.object)},isNgForOf:function(e,u,t){return\"NGMicrosyntaxKeyedExpression\"===e.type&&\"of\"===e.key.name&&1===u&&\"NGMicrosyntaxLet\"===t.body[0].type&&null===t.body[0].value},isNumericLiteral:Bu,isObjectType:function(e){return\"ObjectTypeAnnotation\"===e.type||\"TSTypeLiteral\"===e.type},isObjectTypePropertyAFunction:function(e){return!(\"ObjectTypeProperty\"!==e.type&&\"ObjectTypeInternalSlot\"!==e.type||\"FunctionTypeAnnotation\"!==e.value.type||e.static||xu(e))},isSimpleType:function(e){return!!e&&(!(\"GenericTypeAnnotation\"!==e.type&&\"TSTypeReference\"!==e.type||e.typeParameters)||!!Su.has(e.type))},isSimpleNumber:Ru,isSimpleTemplateLiteral:function(e){let u=\"expressions\";\"TSTemplateLiteralType\"===e.type&&(u=\"types\");const t=e[u];return 0!==t.length&&t.every((e=>{if(e.comments)return!1;if(\"Identifier\"===e.type||\"ThisExpression\"===e.type)return!0;if(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type){let u=e;for(;\"MemberExpression\"===u.type||\"OptionalMemberExpression\"===u.type;){if(\"Identifier\"!==u.property.type&&\"Literal\"!==u.property.type&&\"StringLiteral\"!==u.property.type&&\"NumericLiteral\"!==u.property.type)return!1;if(u=u.object,u.comments)return!1}return\"Identifier\"===u.type||\"ThisExpression\"===u.type}return!1}))},isStringLiteral:yu,isStringPropSafeToUnquote:function(e,u){return\"json\"!==u.parser&&yu(e.key)&&ju(e.key).slice(1,-1)===e.key.value&&(ou(e.key.value)&&!((\"typescript\"===u.parser||\"babel-ts\"===u.parser)&&\"ClassProperty\"===e.type)||Ru(e.key.value)&&String(Number(e.key.value))===e.key.value&&(\"babel\"===u.parser||\"espree\"===u.parser||\"meriyah\"===u.parser))},isTemplateOnItsOwnLine:function(e,u){return(\"TemplateLiteral\"===e.type&&Mu(e)||\"TaggedTemplateExpression\"===e.type&&Mu(e.quasi))&&!su(u,au(e),{backwards:!0})},isTestCall:function e(u,t){if(\"CallExpression\"!==u.type)return!1;if(1===u.arguments.length){if(ku(u)&&t&&e(t))return hu(u.arguments[0]);if(\"Identifier\"===(n=u).callee.type&&/^(before|after)(Each|All)$/.test(n.callee.name)&&1===n.arguments.length)return ku(u.arguments[0])}else if((2===u.arguments.length||3===u.arguments.length)&&(\"Identifier\"===u.callee.type&&wu.test(u.callee.name)||function(e){return(\"MemberExpression\"===e.callee.type||\"OptionalMemberExpression\"===e.callee.type)&&\"Identifier\"===e.callee.object.type&&\"Identifier\"===e.callee.property.type&&wu.test(e.callee.object.name)&&(\"only\"===e.callee.property.name||\"skip\"===e.callee.property.name)}(u))&&(function(e){return\"TemplateLiteral\"===e.type}(u.arguments[0])||yu(u.arguments[0])))return!(u.arguments[2]&&!Bu(u.arguments[2]))&&((2===u.arguments.length?hu(u.arguments[1]):function(e){return\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type&&\"BlockStatement\"===e.body.type}(u.arguments[1])&&Ju(u.arguments[1]).length<=1)||ku(u.arguments[1]));var n;return!1},isTheOnlyJSXElementInMarkdown:function(e,u){if(\"markdown\"!==e.parentParser&&\"mdx\"!==e.parentParser)return!1;const t=u.getNode();if(!t.expression||!Pu(t.expression))return!1;const n=u.getParentNode();return\"Program\"===n.type&&1===n.body.length},isTSXFile:function(e){return e.filepath&&/\\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!(\"TypeAnnotation\"!==e.type&&\"TSTypeAnnotation\"!==e.type||\"FunctionTypeAnnotation\"!==e.typeAnnotation.type||e.static||lu(e,e.typeAnnotation))},matchJsxWhitespaceRegex:Iu,needsHardlineAfterDanglingComment:function(e){if(!e.comments)return!1;const u=ru(e.comments.filter((e=>!e.leading&&!e.trailing)));return u&&!fu(u)},rawText:ju,returnArgumentHasLeadingComment:function(e,u){if(Ou(e.originalText,u))return!0;if(Au(u)){let n,o=u;for(;n=(t=o).expressions?t.expressions[0]:t.left||t.test||t.callee||t.object||t.tag||t.argument||t.expression;)if(o=n,Ou(e.originalText,o))return!0}var t;return!1},shouldPrintComma:function(e,u=\"es5\"){return\"es5\"===e.trailingComma&&\"es5\"===u||\"all\"===e.trailingComma&&(\"all\"===u||\"es5\"===u)},isBitwiseOperator:function(e){return!!Uu[e]||\"|\"===e||\"^\"===e||\"&\"===e},shouldFlatten:function(e,u){return $u(u)===$u(e)&&(\"**\"!==e&&((!Vu[e]||!Vu[u])&&(!(\"%\"===u&&Xu[e]||\"%\"===e&&Xu[u])&&((u===e||!Xu[u]||!Xu[e])&&(!Uu[e]||!Uu[u])))))},startsWithNoLookaheadToken:function e(u,t){switch((u=function(e){for(;e.left;)e=e.left;return e}(u)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return t;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return e(u.object,t);case\"TaggedTemplateExpression\":return\"FunctionExpression\"!==u.tag.type&&e(u.tag,t);case\"CallExpression\":case\"OptionalCallExpression\":return\"FunctionExpression\"!==u.callee.type&&e(u.callee,t);case\"ConditionalExpression\":return e(u.test,t);case\"UpdateExpression\":return!u.prefix&&e(u.argument,t);case\"BindExpression\":return u.object&&e(u.object,t);case\"SequenceExpression\":return e(u.expressions[0],t);case\"TSAsExpression\":return e(u.expression,t);default:return!1}},getPrecedence:$u};const{getLast:Yu,hasNewline:Zu,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Qu,getNextNonSpaceNonCommentCharacter:et,hasNewlineInRange:ut,addLeadingComment:tt,addTrailingComment:nt,addDanglingComment:ot,getNextNonSpaceNonCommentCharacterIndex:rt}=Ue,{isBlockComment:st,getFunctionParameters:it,isPrettierIgnoreComment:Dt,isJSXNode:at,hasFlowShorthandAnnotationComment:ct,hasFlowAnnotationComment:lt,hasIgnoreComment:Ft}=Ku,{locStart:pt,locEnd:Ct}=eu;function Et(e,u){const t=(e.body||e.properties).find((({type:e})=>\"EmptyStatement\"!==e));t?tt(t,u):ot(e,u)}function At(e,u){\"BlockStatement\"===e.type?Et(e,u):tt(e,u)}function ft(e,u){const{precedingNode:t,enclosingNode:n,followingNode:o}=e;if(!n||\"IfStatement\"!==n.type||!o)return!1;return\")\"===et(u,e,Ct)?(nt(t,e),!0):t===n.consequent&&o===n.alternate?(\"BlockStatement\"===t.type?nt(t,e):ot(n,e),!0):\"BlockStatement\"===o.type?(Et(o,e),!0):\"IfStatement\"===o.type?(At(o.consequent,e),!0):n.consequent===o&&(tt(o,e),!0)}function dt(e,u){const{precedingNode:t,enclosingNode:n,followingNode:o}=e;if(!n||\"WhileStatement\"!==n.type||!o)return!1;return\")\"===et(u,e,Ct)?(nt(t,e),!0):\"BlockStatement\"===o.type?(Et(o,e),!0):n.body===o&&(tt(o,e),!0)}function mt(e){const{precedingNode:u,enclosingNode:t,followingNode:n}=e;return!(!t||\"TryStatement\"!==t.type&&\"CatchClause\"!==t.type||!n)&&(\"CatchClause\"===t.type&&u?(nt(u,e),!0):\"BlockStatement\"===n.type?(Et(n,e),!0):\"TryStatement\"===n.type?(At(n.finalizer,e),!0):\"CatchClause\"===n.type&&(At(n.body,e),!0))}function gt(e){const{precedingNode:u,enclosingNode:t,followingNode:n}=e;if(t&&(\"ClassDeclaration\"===t.type||\"ClassExpression\"===t.type||\"DeclareClass\"===t.type||\"DeclareInterface\"===t.type||\"InterfaceDeclaration\"===t.type||\"TSInterfaceDeclaration\"===t.type)){if(t.decorators&&t.decorators.length>0&&(!n||\"Decorator\"!==n.type))return nt(t.decorators[t.decorators.length-1],e),!0;if(t.body&&n===t.body)return Et(t.body,e),!0;if(n)for(const o of[\"implements\",\"extends\",\"mixins\"])if(t[o]&&n===t[o][0])return!u||u!==t.id&&u!==t.typeParameters&&u!==t.superClass?ot(t,e,o):nt(u,e),!0}return!1}function Bt(e,u){const{precedingNode:t,enclosingNode:n}=e;return(n&&t&&(\"Property\"===n.type||\"TSDeclareMethod\"===n.type||\"TSAbstractMethodDefinition\"===n.type)&&\"Identifier\"===t.type&&n.key===t&&\":\"!==et(u,t,Ct)||!(!t||!n||\"Decorator\"!==t.type||\"ClassMethod\"!==n.type&&\"ClassProperty\"!==n.type&&\"FieldDefinition\"!==n.type&&\"TSAbstractClassProperty\"!==n.type&&\"TSAbstractMethodDefinition\"!==n.type&&\"TSDeclareMethod\"!==n.type&&\"MethodDefinition\"!==n.type))&&(nt(t,e),!0)}function yt(e,u){const{precedingNode:t,enclosingNode:n,followingNode:o}=e;if(t&&\"FunctionTypeParam\"===t.type&&n&&\"FunctionTypeAnnotation\"===n.type&&o&&\"FunctionTypeParam\"!==o.type)return nt(t,e),!0;if(t&&(\"Identifier\"===t.type||\"AssignmentPattern\"===t.type)&&n&&xt(n)&&\")\"===et(u,e,Ct))return nt(t,e),!0;if(n&&\"FunctionDeclaration\"===n.type&&o&&\"BlockStatement\"===o.type){const t=(()=>{const e=it(n);if(0!==e.length)return Qu(u,Ct(Yu(e)));const t=Qu(u,Ct(n.id));return!1!==t&&Qu(u,t+1)})();if(pt(e)>t)return Et(o,e),!0}return!1}function ht(e){const{enclosingNode:u}=e;return!(!u||\"ImportSpecifier\"!==u.type)&&(tt(u,e),!0)}function kt(e){const{enclosingNode:u}=e;return!(!u||\"LabeledStatement\"!==u.type)&&(tt(u,e),!0)}function Pt(e,u,t){const{enclosingNode:n}=e;return u&&u.body&&0===u.body.length?(t?ot(u,e):tt(u,e),!0):!(!n||\"Program\"!==n.type||0!==n.body.length||!n.directives||0!==n.directives.length)&&(t?ot(n,e):tt(n,e),!0)}function bt(e){const{enclosingNode:u,followingNode:t}=e;if(Dt(e)&&u&&\"TSMappedType\"===u.type&&t&&\"TSTypeParameter\"===t.type&&t.constraint)return u.prettierIgnore=!0,e.unignore=!0,!0}function xt(e){return\"ArrowFunctionExpression\"===e.type||\"FunctionExpression\"===e.type||\"FunctionDeclaration\"===e.type||\"ObjectMethod\"===e.type||\"ClassMethod\"===e.type||\"TSDeclareFunction\"===e.type||\"TSCallSignatureDeclaration\"===e.type||\"TSConstructSignatureDeclaration\"===e.type||\"TSMethodSignature\"===e.type||\"TSConstructorType\"===e.type||\"TSFunctionType\"===e.type||\"TSDeclareMethod\"===e.type}function vt(e){return st(e)&&\"*\"===e.value[0]&&/@type\\b/.test(e.value)}var St={handleOwnLineComment:function(e,u,t,n,o){return bt(e)||yt(e,u)||function(e){const{enclosingNode:u,followingNode:t}=e;if(u&&(\"MemberExpression\"===u.type||\"OptionalMemberExpression\"===u.type)&&t&&\"Identifier\"===t.type)return tt(u,e),!0;return!1}(e)||ft(e,u)||dt(e,u)||mt(e)||gt(e)||ht(e)||function(e){const{enclosingNode:u}=e;if(u&&(\"ForInStatement\"===u.type||\"ForOfStatement\"===u.type))return tt(u,e),!0;return!1}(e)||function(e){const{precedingNode:u,enclosingNode:t,followingNode:n}=e;if(t&&(\"UnionTypeAnnotation\"===t.type||\"TSUnionType\"===t.type))return Dt(e)&&(n.prettierIgnore=!0,e.unignore=!0),!!u&&(nt(u,e),!0);n&&(\"UnionTypeAnnotation\"===n.type||\"TSUnionType\"===n.type)&&Dt(e)&&(n.types[0].prettierIgnore=!0,e.unignore=!0);return!1}(e)||Pt(e,n,o)||function(e,u){const{precedingNode:t,enclosingNode:n}=e;if(t&&\"ImportSpecifier\"===t.type&&n&&\"ImportDeclaration\"===n.type&&Zu(u,Ct(e)))return nt(t,e),!0;return!1}(e,u)||function(e){const{enclosingNode:u}=e;if(u&&\"AssignmentPattern\"===u.type)return tt(u,e),!0;return!1}(e)||Bt(e,u)||kt(e)},handleEndOfLineComment:function(e,u,t,n,o){return function(e){const{followingNode:u}=e;if(u&&vt(e))return tt(u,e),!0;return!1}(e)||yt(e,u)||function(e,u){const{precedingNode:t,enclosingNode:n,followingNode:o}=e,r=t&&!ut(u,Ct(t),pt(e));if((!t||!r)&&n&&(\"ConditionalExpression\"===n.type||\"TSConditionalType\"===n.type)&&o)return tt(o,e),!0;return!1}(e,u)||ht(e)||ft(e,u)||dt(e,u)||mt(e)||gt(e)||kt(e)||function(e){const{precedingNode:u,enclosingNode:t}=e;if(t&&(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type)&&u&&t.callee===u&&t.arguments.length>0)return tt(t.arguments[0],e),!0;return!1}(e)||function(e){const{enclosingNode:u}=e;if(u&&(\"Property\"===u.type||\"ObjectProperty\"===u.type))return tt(u,e),!0;return!1}(e)||Pt(e,n,o)||function(e){const{enclosingNode:u}=e;if(u&&\"TypeAlias\"===u.type)return tt(u,e),!0;return!1}(e)||function(e){const{enclosingNode:u,followingNode:t}=e;if(u&&(\"VariableDeclarator\"===u.type||\"AssignmentExpression\"===u.type)&&t&&(\"ObjectExpression\"===t.type||\"ArrayExpression\"===t.type||\"TemplateLiteral\"===t.type||\"TaggedTemplateExpression\"===t.type||st(e)))return tt(t,e),!0;return!1}(e)},handleRemainingComment:function(e,u,t,n,o){return!!(bt(e)||ft(e,u)||dt(e,u)||function(e){const{precedingNode:u,enclosingNode:t}=e;if(t&&(\"ObjectProperty\"===t.type||\"Property\"===t.type)&&t.shorthand&&t.key===u&&\"AssignmentPattern\"===t.value.type)return nt(t.value.left,e),!0;return!1}(e)||function(e,u){if(\")\"!==et(u,e,Ct))return!1;const{enclosingNode:t}=e;if(t&&(xt(t)&&0===it(t).length||(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type||\"NewExpression\"===t.type)&&0===t.arguments.length))return ot(t,e),!0;if(t&&\"MethodDefinition\"===t.type&&0===it(t.value).length)return ot(t.value,e),!0;return!1}(e,u)||Bt(e,u)||Pt(e,n,o)||function(e,u){const{enclosingNode:t}=e;if(!t||\"ArrowFunctionExpression\"!==t.type)return!1;const n=rt(u,e,Ct);if(!1!==n&&\"=>\"===u.slice(n,n+2))return ot(t,e),!0;return!1}(e,u)||function(e,u){if(\"(\"!==et(u,e,Ct))return!1;const{precedingNode:t,enclosingNode:n}=e;if(t&&n&&(\"FunctionDeclaration\"===n.type||\"FunctionExpression\"===n.type||\"ClassMethod\"===n.type||\"MethodDefinition\"===n.type||\"ObjectMethod\"===n.type))return nt(t,e),!0;return!1}(e,u)||function(e){const{precedingNode:u,enclosingNode:t,followingNode:n}=e;if(!t||\"TSMappedType\"!==t.type)return!1;if(n&&\"TSTypeParameter\"===n.type&&n.name)return tt(n.name,e),!0;if(u&&\"TSTypeParameter\"===u.type&&u.constraint)return nt(u.constraint,e),!0;return!1}(e)||function(e){const{enclosingNode:u}=e;if(u&&(\"ContinueStatement\"===u.type||\"BreakStatement\"===u.type)&&!u.label)return nt(u,e),!0;return!1}(e)||function(e,u){const{enclosingNode:t,followingNode:n}=e;if(!n&&t&&(\"TSMethodSignature\"===t.type||\"TSDeclareFunction\"===t.type||\"TSAbstractMethodDefinition\"===t.type)&&\";\"===et(u,e,Ct))return nt(t,e),!0;return!1}(e,u))},hasLeadingComment:function(e,u=(()=>!0)){return e.leadingComments?e.leadingComments.some(u):!!e.comments&&e.comments.some((e=>e.leading&&u(e)))},isTypeCastComment:vt,getGapRegex:function(e){if(e&&\"BinaryExpression\"!==e.type&&\"LogicalExpression\"!==e.type)return/^[\\s&(|]*$/},getCommentChildNodes:function(e,u){if((\"typescript\"===u.parser||\"flow\"===u.parser||\"espree\"===u.parser||\"meriyah\"===u.parser)&&\"MethodDefinition\"===e.type&&e.value&&\"FunctionExpression\"===e.value.type&&0===it(e.value).length&&!e.value.returnType&&(!e.value.typeParameters||0===e.value.typeParameters.length)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const u=e.getValue(),t=e.getParentNode();return(u&&(at(u)||ct(u)||t&&(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type)&&(lt(u.leadingComments)||lt(u.trailingComments)))||t&&(\"JSXSpreadAttribute\"===t.type||\"JSXSpreadChild\"===t.type||\"UnionTypeAnnotation\"===t.type||\"TSUnionType\"===t.type||(\"ClassDeclaration\"===t.type||\"ClassExpression\"===t.type)&&t.superClass===u))&&(!Ft(e)||\"UnionTypeAnnotation\"===t.type||\"TSUnionType\"===t.type)}};const{getLast:wt,getNextNonSpaceNonCommentCharacter:Tt,getShebang:It}=Ue,{composeLoc:Nt,locStart:Lt,locEnd:Ot}=eu,{isTypeCastComment:Rt}=St;function Mt(e){return\"CallExpression\"===e.type?(e.type=\"OptionalCallExpression\",e.callee=Mt(e.callee)):\"MemberExpression\"===e.type?(e.type=\"OptionalMemberExpression\",e.object=Mt(e.object)):\"TSNonNullExpression\"===e.type&&(e.expression=Mt(e.expression)),e}function jt(e,u){let t;if(Array.isArray(e))t=e.entries();else{if(!e||\"object\"!=typeof e||\"string\"!=typeof e.type)return e;t=Object.entries(e)}for(const[n,o]of t)e[n]=jt(o,u);return Array.isArray(e)?e:u(e)||e}function Vt(e){return\"LogicalExpression\"===e.type&&\"LogicalExpression\"===e.right.type&&e.operator===e.right.operator}function Xt(e){return Vt(e)?Xt({type:\"LogicalExpression\",operator:e.operator,left:Xt({type:\"LogicalExpression\",operator:e.operator,left:e.left,right:e.right.left,range:Nt(e.left,e.right.left)}),right:e.right.right,range:Nt(e)}):e}var Ut=function(u,t){if(\"typescript\"!==t.parser&&\"flow\"!==t.parser&&\"espree\"!==t.parser||function(e,u){const t=It(u.originalText);t&&e.comments.unshift({type:\"Line\",value:t.slice(2),range:[0,t.length]})}(u,t),\"typescript\"===t.parser&&t.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:n,tsNodeToESTreeNodeMap:o}=t.tsParseResult;u=jt(u,(u=>{const t=n.get(u);if(!t)return;const r=t.decorators;if(!Array.isArray(r))return;const s=o.get(t);if(s!==u)return;const i=s.decorators;if(!Array.isArray(i)||i.length!==r.length||r.some((e=>{const u=o.get(e);return!u||!i.includes(u)}))){const{start:u,end:t}=s.loc;throw e(\"Leading decorators must be attached to a class declaration\",{start:{line:u.line,column:u.column+1},end:{line:t.line,column:t.column+1}})}}))}if(\"typescript\"!==t.parser&&\"flow\"!==t.parser&&\"espree\"!==t.parser&&\"meriyah\"!==t.parser){const e=new Set;u=jt(u,(u=>{u.leadingComments&&u.leadingComments.some(Rt)&&e.add(Lt(u))})),u=jt(u,(u=>{if(\"ParenthesizedExpression\"===u.type){const{expression:t}=u;if(\"TypeCastExpression\"===t.type)return t.range=u.range,t;const n=Lt(u);if(!e.has(n))return t.extra=Object.assign({},t.extra,{parenthesized:!0}),t}}))}return u=jt(u,(e=>{switch(e.type){case\"ChainExpression\":return Mt(e.expression);case\"LogicalExpression\":if(Vt(e))return Xt(e);break;case\"VariableDeclaration\":{const u=wt(e.declarations);u&&u.init&&function(e,u){if(\";\"===t.originalText[Ot(u)])return;e.range=Nt(e,u)}(e,u);break}case\"TSParenthesizedType\":return e.typeAnnotation.range=Nt(e),e.typeAnnotation;case\"TSUnionType\":case\"TSIntersectionType\":if(1===e.types.length){const[u]=e.types;return u.range=Nt(e),u}break;case\"TSTypeParameter\":\"string\"==typeof e.name&&(e.name={type:\"Identifier\",name:e.name,range:Nt(e,e.name.length)});break;case\"SequenceExpression\":{const u=wt(e.expressions);Ot(e)>Ot(u)&&(e.range=Nt(e,u));break}case\"ClassProperty\":e.key&&\"TSPrivateIdentifier\"===e.key.type&&\"?\"===Tt(t.originalText,e.key,Ot)&&(e.optional=!0)}}))};const Gt={0:\"Unexpected token\",28:\"Unexpected token: '%0'\",1:\"Octal escape sequences are not allowed in strict mode\",2:\"Octal escape sequences are not allowed in template strings\",3:\"Unexpected token `#`\",4:\"Illegal Unicode escape sequence\",5:\"Invalid code point %0\",6:\"Invalid hexadecimal escape sequence\",8:\"Octal literals are not allowed in strict mode\",7:\"Decimal integer literals with a leading zero are forbidden in strict mode\",9:\"Expected number in radix %0\",145:\"Invalid left-hand side assignment to a destructible right-hand side\",10:\"Non-number found after exponent indicator\",11:\"Invalid BigIntLiteral\",12:\"No identifiers allowed directly after numeric literal\",13:\"Escapes \\\\8 or \\\\9 are not syntactically valid escapes\",14:\"Unterminated string literal\",15:\"Unterminated template literal\",16:\"Multiline comment was not closed properly\",17:\"The identifier contained dynamic unicode escape that was not closed\",18:\"Illegal character '%0'\",19:\"Missing hexadecimal digits\",20:\"Invalid implicit octal\",21:\"Invalid line break in string literal\",22:\"Only unicode escapes are legal in identifier names\",23:\"Expected '%0'\",24:\"Invalid left-hand side in assignment\",25:\"Invalid left-hand side in async arrow\",26:'Calls to super must be in the \"constructor\" method of a class expression or class declaration that has a superclass',27:\"Member access on super must be in a method\",29:\"Await expression not allowed in formal parameter\",30:\"Yield expression not allowed in formal parameter\",92:\"Unexpected token: 'escaped keyword'\",31:\"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses\",119:\"Async functions can only be declared at the top level or inside a block\",32:\"Unterminated regular expression\",33:\"Unexpected regular expression flag\",34:\"Duplicate regular expression flag '%0'\",35:\"%0 functions must have exactly %1 argument%2\",36:\"Setter function argument must not be a rest parameter\",37:\"%0 declaration must have a name in this context\",38:\"Function name may not contain any reserved words or be eval or arguments in strict mode\",39:\"The rest operator is missing an argument\",40:\"A getter cannot be a generator\",41:\"A computed property name must be followed by a colon or paren\",130:\"Object literal keys that are strings or numbers must be a method or have a colon\",43:\"Found `* async x(){}` but this should be `async * x(){}`\",42:\"Getters and setters can not be generators\",44:\"'%0' can not be generator method\",45:\"No line break is allowed after '=>'\",46:\"The left-hand side of the arrow can only be destructed through assignment\",47:\"The binding declaration is not destructible\",48:\"Async arrow can not be followed by new expression\",49:\"Classes may not have a static property named 'prototype'\",50:\"Class constructor may not be a %0\",51:\"Duplicate constructor method in class\",52:\"Invalid increment/decrement operand\",53:\"Invalid use of `new` keyword on an increment/decrement expression\",54:\"`=>` is an invalid assignment target\",55:\"Rest element may not have a trailing comma\",56:\"Missing initializer in %0 declaration\",57:\"'for-%0' loop head declarations can not have an initializer\",58:\"Invalid left-hand side in for-%0 loop: Must have a single binding\",59:\"Invalid shorthand property initializer\",60:\"Property name __proto__ appears more than once in object literal\",61:\"Let is disallowed as a lexically bound name\",62:\"Invalid use of '%0' inside new expression\",63:\"Illegal 'use strict' directive in function with non-simple parameter list\",64:'Identifier \"let\" disallowed as left-hand side expression in strict mode',65:\"Illegal continue statement\",66:\"Illegal break statement\",67:\"Cannot have `let[...]` as a var name in strict mode\",68:\"Invalid destructuring assignment target\",69:\"Rest parameter may not have a default initializer\",70:\"The rest argument must the be last parameter\",71:\"Invalid rest argument\",73:\"In strict mode code, functions can only be declared at top level or inside a block\",74:\"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement\",75:\"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement\",76:\"Class declaration can't appear in single-statement context\",77:\"Invalid left-hand side in for-%0\",78:\"Invalid assignment in for-%0\",79:\"for await (... of ...) is only valid in async functions and async generators\",80:\"The first token after the template expression should be a continuation of the template\",82:\"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode\",81:\"`let \\n [` is a restricted production at the start of a statement\",83:\"Catch clause requires exactly one parameter, not more (and no trailing comma)\",84:\"Catch clause parameter does not support default values\",85:\"Missing catch or finally after try\",86:\"More than one default clause in switch statement\",87:\"Illegal newline after throw\",88:\"Strict mode code may not include a with statement\",89:\"Illegal return statement\",90:\"The left hand side of the for-header binding declaration is not destructible\",91:\"new.target only allowed within functions\",92:\"'Unexpected token: 'escaped keyword'\",93:\"'#' not followed by identifier\",99:\"Invalid keyword\",98:\"Can not use 'let' as a class name\",97:\"'A lexical declaration can't define a 'let' binding\",96:\"Can not use `let` as variable name in strict mode\",94:\"'%0' may not be used as an identifier in this context\",95:\"Await is only valid in async functions\",100:\"The %0 keyword can only be used with the module goal\",101:\"Unicode codepoint must not be greater than 0x10FFFF\",102:\"%0 source must be string\",103:\"Only a identifier can be used to indicate alias\",104:\"Only '*' or '{...}' can be imported after default\",105:\"Trailing decorator may be followed by method\",106:\"Decorators can't be used with a constructor\",107:\"'%0' may not be used as an identifier in this context\",108:\"HTML comments are only allowed with web compatibility (Annex B)\",109:\"The identifier 'let' must not be in expression position in strict mode\",110:\"Cannot assign to `eval` and `arguments` in strict mode\",111:\"The left-hand side of a for-of loop may not start with 'let'\",112:\"Block body arrows can not be immediately invoked without a group\",113:\"Block body arrows can not be immediately accessed without a group\",114:\"Unexpected strict mode reserved word\",115:\"Unexpected eval or arguments in strict mode\",116:\"Decorators must not be followed by a semicolon\",117:\"Calling delete on expression not allowed in strict mode\",118:\"Pattern can not have a tail\",120:\"Can not have a `yield` expression on the left side of a ternary\",121:\"An arrow function can not have a postfix update operator\",122:\"Invalid object literal key character after generator star\",123:\"Private fields can not be deleted\",125:\"Classes may not have a field called constructor\",124:\"Classes may not have a private element named constructor\",126:\"A class field initializer may not contain arguments\",127:\"Generators can only be declared at the top level or inside a block\",128:\"Async methods are a restricted production and cannot have a newline following it\",129:\"Unexpected character after object literal property name\",131:\"Invalid key token\",132:\"Label '%0' has already been declared\",133:\"continue statement must be nested within an iteration statement\",134:\"Undefined label '%0'\",135:\"Trailing comma is disallowed inside import(...) arguments\",136:\"import() requires exactly one argument\",137:\"Cannot use new with import(...)\",138:\"... is not allowed in import()\",139:\"Expected '=>'\",140:\"Duplicate binding '%0'\",141:\"Cannot export a duplicate name '%0'\",144:\"Duplicate %0 for-binding\",142:\"Exported binding '%0' needs to refer to a top-level declared variable\",143:\"Unexpected private field\",147:\"Numeric separators are not allowed at the end of numeric literals\",146:\"Only one underscore is allowed as numeric separator\",148:\"JSX value should be either an expression or a quoted JSX text\",149:\"Expected corresponding JSX closing tag for %0\",150:\"Adjacent JSX elements must be wrapped in an enclosing tag\",151:\"JSX attributes must only be assigned a non-empty 'expression'\",152:\"'%0' has already been declared\",153:\"'%0' shadowed a catch clause binding\",154:\"Dot property must be an identifier\",155:\"Encountered invalid input after spread/rest argument\",156:\"Catch without try\",157:\"Finally without try\",158:\"Expected corresponding closing tag for JSX fragment\",159:\"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses\",160:\"Invalid tagged template on optional chain\",161:\"Invalid optional chain from super property\",162:\"Invalid optional chain from new expression\",163:'Cannot use \"import.meta\" outside a module',164:\"Leading decorators must be attached to a class declaration\"};class $t extends SyntaxError{constructor(e,u,t,n,...o){const r=\"[\"+u+\":\"+t+\"]: \"+Gt[n].replace(/%(\\d+)/g,((e,u)=>o[u]));super(\"\".concat(r)),this.index=e,this.line=u,this.column=t,this.description=r,this.loc={line:u,column:t}}}function _t(e,u,...t){throw new $t(e.index,e.line,e.column,u,...t)}function Jt(e){throw new $t(e.index,e.line,e.column,e.type,e.params)}function qt(e,u,t,n,...o){throw new $t(e,u,t,n,...o)}function Wt(e,u,t,n){throw new $t(e,u,t,n)}const zt=((e,u)=>{const t=new Uint32Array(104448);let n=0,o=0;for(;n<3540;){const r=e[n++];if(r<0)o-=r;else{let s=e[n++];2&r&&(s=u[s]),1&r?t.fill(s,o,o+=e[n++]):t[o++]=s}}return t})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]),Ht=[126,126,126,126,126,126,126,126,126,125,133,125,125,127,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,125,16842797,134283267,128,208897,8457012,8455748,134283267,67174411,16,8457011,25233967,18,25233968,67108877,8457013,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456255,1077936157,8456256,22,130,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,134,20,8455494,208897,129,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455237,1074790415,16842798,126];function Kt(e,u){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=Yt(e,u,0),e.onToken&&1048576!==e.token){const u={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return\"NumericLiteral\";case 134283267:return\"StringLiteral\";case 86021:case 86022:return\"BooleanLiteral\";case 86023:return\"NullLiteral\";case 65540:return\"RegularExpression\";case 67174408:case 67174409:case 129:return\"TemplateLiteral\";default:return 143360==(143360&e)?\"Identifier\":4096==(4096&e)?\"Keyword\":\"Punctuator\"}}(e.token),e.tokenPos,e.index,u)}}function Yt(e,u,t){const n=0===e.index,o=e.source;let r=e.index,s=e.line,i=e.column;for(;e.index=e.end)return 8457011;const u=e.currentChar;return 61===u?(tn(e),4194340):42!==u?8457011:61!==tn(e)?8457270:(tn(e),4194337)}case 8455494:return 61!==tn(e)?8455494:(tn(e),4194343);case 25233967:{tn(e);const u=e.currentChar;return 43===u?(tn(e),33619995):61===u?(tn(e),4194338):25233967}case 25233968:{tn(e);const D=e.currentChar;if(45===D){if(tn(e),(1&t||n)&&62===e.currentChar){0==(256&u)&&_t(e,108),tn(e),t=Qt(e,o,t,u,3,r,s,i),r=e.tokenPos,s=e.linePos,i=e.colPos;continue}return 33619996}return 61===D?(tn(e),4194339):25233968}case 8457013:if(tn(e),e.index=48&&l<=57)return kn(e,u,80);if(46===l){const u=e.index+1;if(u=48&&u<=57)))return tn(e),67108988}return 22}}}else{if((8232^a)<=1){t=-5&t|1,rn(e);continue}if(55296==(64512&a)||0!=(1&zt[34816+(a>>>5)]>>>a))return 56320==(64512&a)&&(a=(1023&a)<<10|1023&a|65536,0==(1&zt[0+(a>>>5)]>>>a)&&_t(e,18,sn(a)),e.index++,e.currentChar=a),e.column++,e.tokenValue=\"\",dn(e,u,0,0);if(160===(D=a)||65279===D||133===D||5760===D||D>=8192&&D<=8203||8239===D||8287===D||12288===D||8201===D||65519===D){tn(e);continue}_t(e,18,sn(a))}}var D;return 1048576}const Zt=[\"SingleLine\",\"MultiLine\",\"HTMLOpen\",\"HTMLClose\",\"HashbangComment\"];function Qt(e,u,t,n,o,r,s,i){return 2048&n&&_t(e,0),en(e,u,t,o,r,s,i)}function en(e,u,t,n,o,r,s){const{index:i}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index>>5)]>>>u)&&_t(e,18,sn(u)),e.index++,e.column++,1)}function on(e,u){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&u)&&(e.column=0,e.line++)}function rn(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function sn(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function Dn(e){return e<65?e-48:e-65+10&15}const an=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],cn=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],ln=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function Fn(e){return e<=127?cn[e]:1&zt[34816+(e>>>5)]>>>e}function pn(e){return e<=127?ln[e]:1&zt[0+(e>>>5)]>>>e||8204===e||8205===e}const Cn=[\"end of source\",\"identifier\",\"number\",\"string\",\"regular expression\",\"false\",\"true\",\"null\",\"template continuation\",\"template tail\",\"=>\",\"(\",\"{\",\".\",\"...\",\"}\",\")\",\";\",\",\",\"[\",\"]\",\":\",\"?\",\"'\",'\"',\"\",\"++\",\"--\",\"=\",\"<<=\",\">>=\",\">>>=\",\"**=\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"^=\",\"|=\",\"&=\",\"typeof\",\"delete\",\"void\",\"!\",\"~\",\"+\",\"-\",\"in\",\"instanceof\",\"*\",\"%\",\"/\",\"**\",\"&&\",\"||\",\"===\",\"!==\",\"==\",\"!=\",\"<=\",\">=\",\"<\",\">\",\"<<\",\">>\",\">>>\",\"&\",\"|\",\"^\",\"var\",\"let\",\"const\",\"break\",\"case\",\"catch\",\"class\",\"continue\",\"debugger\",\"default\",\"do\",\"else\",\"export\",\"extends\",\"finally\",\"for\",\"function\",\"if\",\"import\",\"new\",\"return\",\"super\",\"switch\",\"this\",\"throw\",\"try\",\"while\",\"with\",\"implements\",\"interface\",\"package\",\"private\",\"protected\",\"public\",\"static\",\"yield\",\"as\",\"async\",\"await\",\"constructor\",\"get\",\"set\",\"from\",\"of\",\"enum\",\"eval\",\"arguments\",\"escaped keyword\",\"escaped future reserved keyword\",\"reserved if strict\",\"#\",\"BigIntLiteral\",\"??\",\"?.\",\"WhiteSpace\",\"Illegal\",\"LineTerminator\",\"PrivateField\",\"Template\",\"@\",\"target\",\"meta\",\"LineFeed\",\"Escaped\",\"JSXText\"],En=Object.create(null,{this:{value:86110},function:{value:86103},if:{value:20568},return:{value:20571},var:{value:86087},else:{value:20562},for:{value:20566},new:{value:86106},in:{value:8738865},typeof:{value:16863274},while:{value:20577},case:{value:20555},break:{value:20554},try:{value:20576},catch:{value:20556},delete:{value:16863275},throw:{value:86111},switch:{value:86109},continue:{value:20558},default:{value:20560},instanceof:{value:8476722},do:{value:20561},void:{value:16863276},finally:{value:20565},async:{value:143468},await:{value:209005},class:{value:86093},const:{value:86089},constructor:{value:12398},debugger:{value:20559},export:{value:20563},extends:{value:20564},false:{value:86021},from:{value:12401},get:{value:12399},implements:{value:36963},import:{value:86105},interface:{value:36964},let:{value:241736},null:{value:86023},of:{value:274546},package:{value:36965},private:{value:36966},protected:{value:36967},public:{value:36968},set:{value:12400},static:{value:36969},super:{value:86108},true:{value:86022},with:{value:20578},yield:{value:241770},enum:{value:20595},eval:{value:537079924},as:{value:12395},arguments:{value:537079925},target:{value:143491},meta:{value:143492}});function An(e,u,t){for(;ln[tn(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?En[e.tokenValue]||208897:dn(e,u,0,t)}function fn(e,u){const t=gn(e);return pn(t)||_t(e,4),e.tokenValue=sn(t),dn(e,u,1,4&an[t])}function dn(e,u,t,n){let o=e.index;for(;e.index=2&&r<=11){const n=En[e.tokenValue];return void 0===n?208897:t?1024&u?209005===n&&0==(4196352&u)?n:36969===n||36864==(36864&n)?119:118:1073741824&u&&0==(8192&u)&&20480==(20480&n)?n:241770===n?1073741824&u?143480:2097152&u?118:n:143468===n&&1073741824&u?143480:36864==(36864&n)||209005===n&&0==(4194304&u)?n:118:n}return 208897}function mn(e){return Fn(tn(e))||_t(e,93),128}function gn(e){return 117!==e.source.charCodeAt(e.index+1)&&_t(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){let u=0;const t=e.currentChar;if(123===t){const t=e.index-2;for(;64&an[tn(e)];)u=u<<4|Dn(e.currentChar),u>1114111&&Wt(t,e.line,e.index+1,101);return 125!==e.currentChar&&Wt(t,e.line,e.index-1,6),tn(e),u}0==(64&an[t])&&_t(e,6);const n=e.source.charCodeAt(e.index+1);0==(64&an[n])&&_t(e,6);const o=e.source.charCodeAt(e.index+2);0==(64&an[o])&&_t(e,6);const r=e.source.charCodeAt(e.index+3);0==(64&an[r])&&_t(e,6);return u=Dn(t)<<12|Dn(n)<<8|Dn(o)<<4|Dn(r),e.currentChar=e.source.charCodeAt(e.index+=4),u}(e)}function Bn(e,u,t){const{index:n}=e;let o=\"\",r=tn(e),s=e.index;for(;0==(8&an[r]);){if(r===t)return o+=e.source.slice(s,e.index),tn(e),512&u&&(e.tokenRaw=e.source.slice(n,e.index)),e.tokenValue=o,134283267;if(8==(8&r)&&92===r){if(o+=e.source.slice(s,e.index),r=tn(e),r<127||8232===r||8233===r){const t=yn(e,u,r);t>=0?o+=sn(t):hn(e,t,0)}else o+=sn(r);s=e.index+1}e.index>=e.end&&_t(e,14),r=tn(e)}_t(e,14)}function yn(e,u,t){switch(t){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:u}{if(0==(64&an[u]))return-4;const t=e.source.charCodeAt(e.index+1);if(0==(64&an[t]))return-4;const n=e.source.charCodeAt(e.index+2);if(0==(64&an[n]))return-4;const o=e.source.charCodeAt(e.index+3);return 0==(64&an[o])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),Dn(u)<<12|Dn(t)<<8|Dn(n)<<4|Dn(o))}}case 56:case 57:if(0==(256&u))return-3;default:return t}}function hn(e,u,t){switch(u){case-1:return;case-2:_t(e,t?2:1);case-3:_t(e,13);case-4:_t(e,6);case-5:_t(e,101)}}function kn(e,u,t){let n=e.currentChar,o=0,r=9,s=64&t?0:1,i=0,D=0;if(64&t)o=\".\"+Pn(e,n),n=e.currentChar,110===n&&_t(e,11);else{if(48===n)if(n=tn(e),120==(32|n)){for(t=136,n=tn(e);4160&an[n];)95!==n?(D=1,o=16*o+Dn(n),i++,n=tn(e)):(D||_t(e,146),D=0,n=tn(e));(i<1||!D)&&_t(e,i<1?19:147)}else if(111==(32|n)){for(t=132,n=tn(e);4128&an[n];)95!==n?(D=1,o=8*o+(n-48),i++,n=tn(e)):(D||_t(e,146),D=0,n=tn(e));(i<1||!D)&&_t(e,i<1?0:147)}else if(98==(32|n)){for(t=130,n=tn(e);4224&an[n];)95!==n?(D=1,o=2*o+(n-48),i++,n=tn(e)):(D||_t(e,146),D=0,n=tn(e));(i<1||!D)&&_t(e,i<1?0:147)}else if(32&an[n])for(1024&u&&_t(e,1),t=1;16&an[n];){if(512&an[n]){t=32,s=0;break}o=8*o+(n-48),n=tn(e)}else 512&an[n]?(1024&u&&_t(e,1),e.flags|=64,t=32):95===n&&_t(e,0);if(48&t){if(s){for(;r>=0&&4112&an[n];)95!==n?(D=0,o=10*o+(n-48),n=tn(e),--r):(n=tn(e),(95===n||32&t)&&Wt(e.index,e.line,e.index+1,146),D=1);if(D&&Wt(e.index,e.line,e.index+1,147),r>=0&&!Fn(n)&&46!==n)return e.tokenValue=o,512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}o+=Pn(e,n),n=e.currentChar,46===n&&(95===tn(e)&&_t(e,0),t=64,o+=\".\"+Pn(e,e.currentChar),n=e.currentChar)}}const a=e.index;let c=0;if(110===n&&128&t)c=1,n=tn(e);else if(101==(32|n)){n=tn(e),256&an[n]&&(n=tn(e));const{index:u}=e;(16&an[n])<1&&_t(e,10),o+=e.source.substring(a,u)+Pn(e,n),n=e.currentChar}return(e.index126)o+=sn(r);else{const t=yn(e,1024|u,r);if(t>=0)o+=sn(t);else{if(-1!==t&&65536&u){o=void 0,r=xn(e,r),r<0&&(n=67174408);break}hn(e,t,1)}}else e.index=e.end&&_t(e,15),r=tn(e)}return tn(e),e.tokenValue=o,e.tokenRaw=e.source.slice(t+1,e.index-(67174409===n?1:2)),n}function xn(e,u){for(;96!==u;){switch(u){case 36:{const t=e.index+1;if(t=e.end&&_t(e,15),u=tn(e)}return u}function vn(e,u){return e.index>=e.end&&_t(e,0),e.index--,e.column--,bn(e,u)}function Sn(e,u){const t=e.index;let n=0;e:for(;;){const u=e.currentChar;if(tn(e),1&n)n&=-2;else switch(u){case 47:if(n)break;break e;case 92:n|=1;break;case 91:n|=2;break;case 93:n&=1;break;case 13:case 10:case 8232:case 8233:_t(e,32)}if(e.index>=e.source.length)return _t(e,32)}const o=e.index-1;let r=0,s=e.currentChar;const{index:i}=e;for(;pn(s);){switch(s){case 103:2&r&&_t(e,34,\"g\"),r|=2;break;case 105:1&r&&_t(e,34,\"i\"),r|=1;break;case 109:4&r&&_t(e,34,\"m\"),r|=4;break;case 117:16&r&&_t(e,34,\"g\"),r|=16;break;case 121:8&r&&_t(e,34,\"y\"),r|=8;break;case 115:12&r&&_t(e,34,\"s\"),r|=12;break;default:_t(e,33)}s=tn(e)}const D=e.source.slice(i,e.index),a=e.source.slice(t,o);return e.tokenRegExp={pattern:a,flags:D},512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,u,t){try{return new RegExp(u,t)}catch(u){_t(e,32)}}(e,a,D),65540}function wn(e,u){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&an[e.currentChar]?function(e,u){const t=e.currentChar;let n=tn(e);const o=e.index;for(;n!==t;)e.index>=e.end&&_t(e,14),n=tn(e);n!==t&&_t(e,14);e.tokenValue=e.source.slice(o,e.index),tn(e),512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index));return 134283267}(e,u):Yt(e,u,0),e.token}function Tn(e,u){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(Ht[e.source.charCodeAt(e.index)]){case 8456255:tn(e),47===e.currentChar?(tn(e),e.token=25):e.token=8456255;break;case 2162700:tn(e),e.token=2162700;break;default:{let t=0;for(;e.index0&&Rn(e,u,209005);Mn(e,32768|u,67174411),t&&(t=Wn(t,1));let D,a=null,c=null,l=0,F=null,p=86087===e.token||241736===e.token||86089===e.token;const{token:C,tokenPos:E,linePos:A,colPos:f}=e;p?241736===C?(F=Go(e,u,0),2240512&e.token?(8738865===e.token?1024&u&&_t(e,64):F=$n(e,u,E,A,f,{type:\"VariableDeclaration\",kind:\"let\",declarations:Co(e,134217728|u,t,8,32)}),e.assignable=1):1024&u?_t(e,64):(p=!1,e.assignable=1,F=To(e,u,F,0,0,E,A,f),274546===e.token&&_t(e,111))):(Kt(e,u),F=$n(e,u,E,A,f,86087===C?{type:\"VariableDeclaration\",kind:\"var\",declarations:Co(e,134217728|u,t,4,32)}:{type:\"VariableDeclaration\",kind:\"const\",declarations:Co(e,134217728|u,t,16,32)}),e.assignable=1):1074790417===C?i&&_t(e,79):2097152==(2097152&C)?(F=2162700===C?Ko(e,u,void 0,1,0,0,2,32,E,A,f):qo(e,u,void 0,1,0,0,2,32,E,A,f),l=e.destructible,256&u&&64&l&&_t(e,60),e.assignable=16&l?2:1,F=To(e,134217728|u,F,0,0,e.tokenPos,e.linePos,e.colPos)):F=wo(e,134217728|u,1,0,1,E,A,f);if(262144==(262144&e.token)){if(274546===e.token){2&e.assignable&&_t(e,77,i?\"await\":\"of\"),jn(e,F),Kt(e,32768|u),D=yo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),Mn(e,32768|u,16);return $n(e,u,o,r,s,{type:\"ForOfStatement\",left:F,right:D,body:lo(e,u,t,n),await:i})}2&e.assignable&&_t(e,77,\"in\"),jn(e,F),Kt(e,32768|u),i&&_t(e,79),D=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos),Mn(e,32768|u,16);return $n(e,u,o,r,s,{type:\"ForInStatement\",body:lo(e,u,t,n),left:F,right:D})}i&&_t(e,79);p||(8&l&&1077936157!==e.token&&_t(e,77,\"loop\"),F=Po(e,134217728|u,0,0,E,A,f,F));18===e.token&&(F=ho(e,u,0,e.tokenPos,e.linePos,e.colPos,F));Mn(e,32768|u,1074790417),1074790417!==e.token&&(a=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos));Mn(e,32768|u,1074790417),16!==e.token&&(c=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos));Mn(e,32768|u,16);const d=lo(e,u,t,n);return $n(e,u,o,r,s,{type:\"ForStatement\",init:F,test:a,update:c,body:d})}(e,u,t,o,s,i,D);case 20561:return function(e,u,t,n,o,r,s){Kt(e,32768|u);const i=lo(e,u,t,n);Mn(e,u,20577),Mn(e,32768|u,67174411);const D=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos);return Mn(e,32768|u,16),Rn(e,u,1074790417),$n(e,u,o,r,s,{type:\"DoWhileStatement\",body:i,test:D})}(e,u,t,o,s,i,D);case 20577:return function(e,u,t,n,o,r,s){Kt(e,u),Mn(e,32768|u,67174411);const i=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos);Mn(e,32768|u,16);const D=lo(e,u,t,n);return $n(e,u,o,r,s,{type:\"WhileStatement\",test:i,body:D})}(e,u,t,o,s,i,D);case 86109:return function(e,u,t,n,o,r,s){Kt(e,u),Mn(e,32768|u,67174411);const i=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos);Mn(e,u,16),Mn(e,u,2162700);const D=[];let a=0;t&&(t=Wn(t,8));for(;1074790415!==e.token;){const{tokenPos:o,linePos:r,colPos:s}=e;let i=null;const c=[];for(Rn(e,32768|u,20555)?i=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos):(Mn(e,32768|u,20560),a&&_t(e,86),a=1),Mn(e,32768|u,21);20555!==e.token&&1074790415!==e.token&&20560!==e.token;)c.push(no(e,4096|u,t,2,{$:n}));D.push($n(e,u,o,r,s,{type:\"SwitchCase\",test:i,consequent:c}))}return Mn(e,32768|u,1074790415),$n(e,u,o,r,s,{type:\"SwitchStatement\",discriminant:i,cases:D})}(e,u,t,o,s,i,D);case 1074790417:return function(e,u,t,n,o){return Kt(e,32768|u),$n(e,u,t,n,o,{type:\"EmptyStatement\"})}(e,u,s,i,D);case 2162700:return ro(e,u,t?Wn(t,2):t,o,s,i,D);case 86111:return function(e,u,t,n,o){Kt(e,32768|u),1&e.flags&&_t(e,87);const r=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos);return Nn(e,32768|u),$n(e,u,t,n,o,{type:\"ThrowStatement\",argument:r})}(e,u,s,i,D);case 20554:return function(e,u,t,n,o,r){Kt(e,32768|u);let s=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:n}=e;s=Go(e,32768|u,0),Gn(e,t,n,0)||_t(e,134,n)}else(135168&u)<1&&_t(e,66);return Nn(e,32768|u),$n(e,u,n,o,r,{type:\"BreakStatement\",label:s})}(e,u,o,s,i,D);case 20558:return function(e,u,t,n,o,r){(131072&u)<1&&_t(e,65);Kt(e,u);let s=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:n}=e;s=Go(e,32768|u,0),Gn(e,t,n,1)||_t(e,134,n)}return Nn(e,32768|u),$n(e,u,n,o,r,{type:\"ContinueStatement\",label:s})}(e,u,o,s,i,D);case 20576:return function(e,u,t,n,o,r,s){Kt(e,32768|u);const i=t?Wn(t,32):void 0,D=ro(e,u,i,{$:n},e.tokenPos,e.linePos,e.colPos),{tokenPos:a,linePos:c,colPos:l}=e,F=Rn(e,32768|u,20556)?function(e,u,t,n,o,r,s){let i=null,D=t;Rn(e,u,67174411)&&(t&&(t=Wn(t,4)),i=pr(e,u,t,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?_t(e,83):1077936157===e.token&&_t(e,84),Mn(e,32768|u,16),t&&(D=Wn(t,64)));const a=ro(e,u,D,{$:n},e.tokenPos,e.linePos,e.colPos);return $n(e,u,o,r,s,{type:\"CatchClause\",param:i,body:a})}(e,u,t,n,a,c,l):null;let p=null;if(20565===e.token){Kt(e,32768|u);p=ro(e,u,i?Wn(t,4):void 0,{$:n},e.tokenPos,e.linePos,e.colPos)}F||p||_t(e,85);return $n(e,u,o,r,s,{type:\"TryStatement\",block:D,handler:F,finalizer:p})}(e,u,t,o,s,i,D);case 20578:return function(e,u,t,n,o,r,s){Kt(e,u),1024&u&&_t(e,88);Mn(e,32768|u,67174411);const i=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos);Mn(e,32768|u,16);const D=oo(e,u,t,2,n,0,e.tokenPos,e.linePos,e.colPos);return $n(e,u,o,r,s,{type:\"WithStatement\",object:i,body:D})}(e,u,t,o,s,i,D);case 20559:return function(e,u,t,n,o){return Kt(e,32768|u),Nn(e,32768|u),$n(e,u,t,n,o,{type:\"DebuggerStatement\"})}(e,u,s,i,D);case 143468:return Do(e,u,t,n,o,0,s,i,D);case 20556:_t(e,156);case 20565:_t(e,157);case 86103:_t(e,1024&u?73:(256&u)<1?75:74);case 86093:_t(e,76);default:return function(e,u,t,n,o,r,s,i,D){const{tokenValue:a,token:c}=e;let l;switch(c){case 241736:l=Go(e,u,0),1024&u&&_t(e,82),69271571===e.token&&_t(e,81);break;default:l=No(e,u,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos)}if(143360&c&&21===e.token)return io(e,u,t,n,o,a,l,c,r,s,i,D);l=To(e,u,l,0,0,s,i,D),l=Po(e,u,0,0,s,i,D,l),18===e.token&&(l=ho(e,u,0,s,i,D,l));return so(e,u,l,s,i,D)}(e,u,t,n,o,r,s,i,D)}}function ro(e,u,t,n,o,r,s){const i=[];for(Mn(e,32768|u,2162700);1074790415!==e.token;)i.push(no(e,u,t,2,{$:n}));return Mn(e,32768|u,1074790415),$n(e,u,o,r,s,{type:\"BlockStatement\",body:i})}function so(e,u,t,n,o,r){return Nn(e,32768|u),$n(e,u,n,o,r,{type:\"ExpressionStatement\",expression:t})}function io(e,u,t,n,o,r,s,i,D,a,c,l){Vn(e,u,0,i,1),function(e,u,t){let n=u;for(;n;)n[\"$\"+t]&&_t(e,132,t),n=n.$;u[\"$\"+t]=1}(e,o,r),Kt(e,32768|u);return $n(e,u,a,c,l,{type:\"LabeledStatement\",label:s,body:D&&(1024&u)<1&&256&u&&86103===e.token?_o(e,u,Wn(t,2),n,0,0,0,e.tokenPos,e.linePos,e.colPos):oo(e,u,t,n,o,D,e.tokenPos,e.linePos,e.colPos)})}function Do(e,u,t,n,o,r,s,i,D){const{token:a,tokenValue:c}=e;let l=Go(e,u,0);if(21===e.token)return io(e,u,t,n,o,c,l,a,1,s,i,D);const F=1&e.flags;if(!F){if(86103===e.token)return r||_t(e,119),_o(e,u,t,n,1,0,1,s,i,D);if(143360==(143360&e.token))return l=or(e,u,1,s,i,D),18===e.token&&(l=ho(e,u,0,s,i,D,l)),so(e,u,l,s,i,D)}return 67174411===e.token?l=rr(e,u,l,1,1,0,F,s,i,D):(10===e.token&&(eo(e,u,a,1),l=Qo(e,u,e.tokenValue,l,0,1,0,s,i,D)),e.assignable=1),l=To(e,u,l,0,0,s,i,D),18===e.token&&(l=ho(e,u,0,s,i,D,l)),l=Po(e,u,0,0,s,i,D,l),e.assignable=1,so(e,u,l,s,i,D)}function ao(e,u,t,n,o,r,s){return 1074790417!==n&&(e.assignable=2,t=To(e,u,t,0,0,o,r,s),1074790417!==e.token&&(t=Po(e,u,0,0,o,r,s,t),18===e.token&&(t=ho(e,u,0,o,r,s,t))),Nn(e,32768|u)),8&u&&\"Literal\"===t.type&&\"string\"==typeof t.value?$n(e,u,o,r,s,{type:\"ExpressionStatement\",expression:t,directive:t.raw.slice(1,-1)}):$n(e,u,o,r,s,{type:\"ExpressionStatement\",expression:t})}function co(e,u,t,n,o,r,s){return 1024&u||(256&u)<1||86103!==e.token?oo(e,u,t,0,{$:n},0,e.tokenPos,e.linePos,e.colPos):_o(e,u,Wn(t,2),0,0,0,0,o,r,s)}function lo(e,u,t,n){return oo(e,134217728^(134217728|u)|131072,t,0,{loop:1,$:n},0,e.tokenPos,e.linePos,e.colPos)}function Fo(e,u,t,n,o,r,s,i){Kt(e,u);const D=Co(e,u,t,n,o);return Nn(e,32768|u),$n(e,u,r,s,i,{type:\"VariableDeclaration\",kind:8&n?\"let\":\"const\",declarations:D})}function po(e,u,t,n,o,r,s){Kt(e,u);const i=Co(e,u,t,4,n);return Nn(e,32768|u),$n(e,u,o,r,s,{type:\"VariableDeclaration\",kind:\"var\",declarations:i})}function Co(e,u,t,n,o){let r=1;const s=[Eo(e,u,t,n,o)];for(;Rn(e,u,18);)r++,s.push(Eo(e,u,t,n,o));return r>1&&32&o&&262144&e.token&&_t(e,58,Cn[255&e.token]),s}function Eo(e,u,t,n,o){const{token:r,tokenPos:s,linePos:i,colPos:D}=e;let a=null;const c=pr(e,u,t,n,o,s,i,D);return 1077936157===e.token?(Kt(e,32768|u),a=yo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&o||(2097152&r)<1)&&(274546===e.token||8738865===e.token&&(2097152&r||(4&n)<1||1024&u))&&qt(s,e.line,e.index-3,57,274546===e.token?\"of\":\"in\")):(16&n||(2097152&r)>0)&&262144!=(262144&e.token)&&_t(e,56,16&n?\"const\":\"destructuring\"),$n(e,u,s,i,D,{type:\"VariableDeclarator\",id:c,init:a})}function Ao(e,u,t){return Qn(u,e.token)||_t(e,114),537079808==(537079808&e.token)&&_t(e,115),t&&Hn(e,u,t,e.tokenValue,8,0),Go(e,u,0)}function fo(e,u,t){const{tokenPos:n,linePos:o,colPos:r}=e;return Kt(e,u),Mn(e,u,12395),134217728==(134217728&e.token)&&qt(n,e.line,e.index,28,Cn[255&e.token]),$n(e,u,n,o,r,{type:\"ImportNamespaceSpecifier\",local:Ao(e,u,t)})}function mo(e,u,t,n){for(Kt(e,u);143360&e.token;){let{token:o,tokenValue:r,tokenPos:s,linePos:i,colPos:D}=e;const a=Go(e,u,0);let c;Rn(e,u,12395)?(134217728==(134217728&e.token)||18===e.token?_t(e,103):Vn(e,u,16,e.token,0),r=e.tokenValue,c=Go(e,u,0)):(Vn(e,u,16,o,0),c=a),t&&Hn(e,u,t,r,8,0),n.push($n(e,u,s,i,D,{type:\"ImportSpecifier\",local:c,imported:a})),1074790415!==e.token&&Mn(e,u,18)}return Mn(e,u,1074790415),n}function go(e,u,t,n,o){let r=Lo(e,u,$n(e,u,t,n,o,{type:\"Identifier\",name:\"import\"}),t,n,o);return r=To(e,u,r,0,0,t,n,o),r=Po(e,u,0,0,t,n,o,r),so(e,u,r,t,n,o)}function Bo(e,u,t,n,o){let r=Oo(e,u,0,t,n,o);return r=To(e,u,r,0,0,t,n,o),so(e,u,r,t,n,o)}function yo(e,u,t,n,o,r,s,i){let D=No(e,u,2,0,t,n,o,1,r,s,i);return D=To(e,u,D,o,0,r,s,i),Po(e,u,o,0,r,s,i,D)}function ho(e,u,t,n,o,r,s){const i=[s];for(;Rn(e,32768|u,18);)i.push(yo(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos));return $n(e,u,n,o,r,{type:\"SequenceExpression\",expressions:i})}function ko(e,u,t,n,o,r,s){const i=yo(e,u,n,0,t,o,r,s);return 18===e.token?ho(e,u,t,o,r,s,i):i}function Po(e,u,t,n,o,r,s,i){const{token:D}=e;if(4194304==(4194304&D)){2&e.assignable&&_t(e,24),(!n&&1077936157===D&&\"ArrayExpression\"===i.type||\"ObjectExpression\"===i.type)&&jn(e,i),Kt(e,32768|u);const a=yo(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,$n(e,u,o,r,s,n?{type:\"AssignmentPattern\",left:i,right:a}:{type:\"AssignmentExpression\",left:i,operator:Cn[255&D],right:a})}return 8454144==(8454144&D)&&(i=vo(e,u,t,o,r,s,4,D,i)),Rn(e,32768|u,22)&&(i=xo(e,u,i,o,r,s)),i}function bo(e,u,t,n,o,r,s,i){const{token:D}=e;Kt(e,32768|u);const a=yo(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);return i=$n(e,u,o,r,s,n?{type:\"AssignmentPattern\",left:i,right:a}:{type:\"AssignmentExpression\",left:i,operator:Cn[255&D],right:a}),e.assignable=2,i}function xo(e,u,t,n,o,r){const s=yo(e,134217728^(134217728|u),1,0,0,e.tokenPos,e.linePos,e.colPos);Mn(e,32768|u,21),e.assignable=1;const i=yo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,$n(e,u,n,o,r,{type:\"ConditionalExpression\",test:t,consequent:s,alternate:i})}function vo(e,u,t,n,o,r,s,i,D){const a=8738865&-((134217728&u)>0);let c,l;for(e.assignable=2;8454144&e.token&&(c=e.token,l=3840&c,(524288&c&&268435456&i||524288&i&&268435456&c)&&_t(e,159),!(l+((8457270===c)<<8)-((a===c)<<12)<=s));)Kt(e,32768|u),D=$n(e,u,n,o,r,{type:524288&c||268435456&c?\"LogicalExpression\":\"BinaryExpression\",left:D,right:vo(e,u,t,e.tokenPos,e.linePos,e.colPos,l,c,wo(e,u,0,t,1,e.tokenPos,e.linePos,e.colPos)),operator:Cn[255&c]});return 1077936157===e.token&&_t(e,24),D}function So(e,u,t,n,o,r){const{tokenPos:s,linePos:i,colPos:D}=e;Mn(e,32768|u,2162700);const a=[],c=u;if(1074790415!==e.token){for(;134283267===e.token;){const{index:t,tokenPos:n,tokenValue:o,token:r}=e,s=$o(e,u);Ln(e,t,n,o)&&(u|=1024,128&e.flags&&qt(e.index,e.line,e.tokenPos,63),64&e.flags&&qt(e.index,e.line,e.tokenPos,8)),a.push(ao(e,u,s,r,n,e.linePos,e.colPos))}1024&u&&(o&&(537079808==(537079808&o)&&_t(e,115),36864==(36864&o)&&_t(e,38)),512&e.flags&&_t(e,115),256&e.flags&&_t(e,114)),64&u&&t&&void 0!==r&&(1024&c)<1&&(8192&u)<1&&Jt(r)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)a.push(no(e,u,t,4,{}));return Mn(e,24&n?32768|u:u,1074790415),e.flags&=-193,1077936157===e.token&&_t(e,24),$n(e,u,s,i,D,{type:\"BlockStatement\",body:a})}function wo(e,u,t,n,o,r,s,i){return To(e,u,No(e,u,2,0,t,0,n,o,r,s,i),n,0,r,s,i)}function To(e,u,t,n,o,r,s,i){if(33619968==(33619968&e.token)&&(1&e.flags)<1)t=function(e,u,t,n,o,r){2&e.assignable&&_t(e,52);const{token:s}=e;return Kt(e,u),e.assignable=2,$n(e,u,n,o,r,{type:\"UpdateExpression\",argument:t,operator:Cn[255&s],prefix:!1})}(e,u,t,r,s,i);else if(67108864==(67108864&e.token)){switch(u=134225920^(134225920|u),e.token){case 67108877:Kt(e,1073741824|u),e.assignable=1;t=$n(e,u,r,s,i,{type:\"MemberExpression\",object:t,computed:!1,property:Io(e,u)});break;case 69271571:{let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags)),Kt(e,32768|u);const{tokenPos:D,linePos:a,colPos:c}=e,l=ko(e,u,n,1,D,a,c);Mn(e,u,20),e.assignable=1,t=$n(e,u,r,s,i,{type:\"MemberExpression\",object:t,computed:!0,property:l}),o&&(e.flags|=2048);break}case 67174411:{if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),t;let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags));const D=Uo(e,u,n);e.assignable=2,t=$n(e,u,r,s,i,{type:\"CallExpression\",callee:t,arguments:D}),o&&(e.flags|=2048);break}case 67108988:Kt(e,u),e.flags|=2048,e.assignable=2,t=function(e,u,t,n,o,r){let s,i=!1;69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(i=!0,e.flags=2048^(2048|e.flags));if(69271571===e.token){Kt(e,32768|u);const{tokenPos:i,linePos:D,colPos:a}=e,c=ko(e,u,0,1,i,D,a);Mn(e,u,20),e.assignable=2,s=$n(e,u,n,o,r,{type:\"MemberExpression\",object:t,computed:!0,optional:!0,property:c})}else if(67174411===e.token){const i=Uo(e,u,0);e.assignable=2,s=$n(e,u,n,o,r,{type:\"CallExpression\",callee:t,arguments:i,optional:!0})}else{(143360&e.token)<1&&_t(e,154);const i=Go(e,u,0);e.assignable=2,s=$n(e,u,n,o,r,{type:\"MemberExpression\",object:t,computed:!1,optional:!0,property:i})}i&&(e.flags|=2048);return s}(e,u,t,r,s,i);break;default:2048==(2048&e.flags)&&_t(e,160),e.assignable=2,t=$n(e,u,r,s,i,{type:\"TaggedTemplateExpression\",tag:t,quasi:67174408===e.token?jo(e,65536|u,e.tokenPos,e.linePos,e.colPos):Mo(e,u,e.tokenPos,e.linePos,e.colPos)})}t=To(e,u,t,0,1,r,s,i)}return 0===o&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),t=$n(e,u,r,s,i,{type:\"ChainExpression\",expression:t})),t}function Io(e,u){return(143360&e.token)<1&&128!==e.token&&_t(e,154),1&u&&128===e.token?lr(e,u,e.tokenPos,e.linePos,e.colPos):Go(e,u,0)}function No(e,u,t,n,o,r,s,i,D,a,c){if(143360==(143360&e.token)){switch(e.token){case 209005:return function(e,u,t,n,o,r,s){if(n&&(e.destructible|=128),4194304&u){t&&_t(e,0),8388608&u&&qt(e.index,e.line,e.index,29),Kt(e,32768|u);const n=wo(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,$n(e,u,o,r,s,{type:\"AwaitExpression\",argument:n})}return 2048&u&&_t(e,107,\"Await\"),Zo(e,u,o,r,s)}(e,u,n,s,D,a,c);case 241770:return function(e,u,t,n,o,r,s){if(t&&(e.destructible|=256),2097152&u){Kt(e,32768|u),8388608&u&&_t(e,30),n||_t(e,24),22===e.token&&_t(e,120);let t=null,i=!1;return(1&e.flags)<1&&(i=Rn(e,32768|u,8457011),(65536&e.token||i)&&(t=yo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,$n(e,u,o,r,s,{type:\"YieldExpression\",argument:t,delegate:i})}return 1024&u&&_t(e,94,\"yield\"),Zo(e,u,o,r,s)}(e,u,s,o,D,a,c);case 143468:return function(e,u,t,n,o,r,s,i,D,a){const{token:c}=e,l=Go(e,u,r),{flags:F}=e;if((1&F)<1){if(86103===e.token)return Jo(e,u,1,t,i,D,a);if(143360==(143360&e.token))return n||_t(e,0),or(e,u,o,i,D,a)}return s||67174411!==e.token?10===e.token?(eo(e,u,c,1),s&&_t(e,48),Qo(e,u,e.tokenValue,l,s,o,0,i,D,a)):l:rr(e,u,l,o,1,0,F,i,D,a)}(e,u,s,i,o,r,n,D,a,c)}const{token:l,tokenValue:F}=e,p=Go(e,65536|u,r);return 10===e.token?(i||_t(e,0),eo(e,u,l,1),Qo(e,u,F,p,n,o,0,D,a,c)):(16384&u&&537079925===l&&_t(e,126),241736===l&&(1024&u&&_t(e,109),24&t&&_t(e,97)),e.assignable=1024&u&&537079808==(537079808&l)?2:1,p)}if(134217728==(134217728&e.token))return $o(e,u);switch(e.token){case 33619995:case 33619996:return function(e,u,t,n,o,r,s){t&&_t(e,53),n||_t(e,0);const{token:i}=e;Kt(e,32768|u);const D=wo(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&_t(e,52),e.assignable=2,$n(e,u,o,r,s,{type:\"UpdateExpression\",argument:D,operator:Cn[255&i],prefix:!0})}(e,u,n,i,D,a,c);case 16863275:case 16842797:case 16842798:case 25233967:case 25233968:case 16863274:case 16863276:return function(e,u,t,n,o,r,s){t||_t(e,0);const i=e.token;Kt(e,32768|u);const D=wo(e,u,0,s,1,e.tokenPos,e.linePos,e.colPos);var a;return 8457270===e.token&&_t(e,31),1024&u&&16863275===i&&(\"Identifier\"===D.type?_t(e,117):(a=D).property&&\"PrivateName\"===a.property.type&&_t(e,123)),e.assignable=2,$n(e,u,n,o,r,{type:\"UnaryExpression\",operator:Cn[255&i],argument:D,prefix:!0})}(e,u,i,D,a,c,s);case 86103:return Jo(e,u,0,s,D,a,c);case 2162700:return function(e,u,t,n,o,r,s){const i=Ko(e,u,void 0,t,n,0,2,0,o,r,s);256&u&&64&e.destructible&&_t(e,60);8&e.destructible&&_t(e,59);return i}(e,u,o?0:1,s,D,a,c);case 69271571:return function(e,u,t,n,o,r,s){const i=qo(e,u,void 0,t,n,0,2,0,o,r,s);256&u&&64&e.destructible&&_t(e,60);8&e.destructible&&_t(e,59);return i}(e,u,o?0:1,s,D,a,c);case 67174411:return function(e,u,t,n,o,r,s,i){e.flags=128^(128|e.flags);const{tokenPos:D,linePos:a,colPos:c}=e;Kt(e,1073774592|u);const l=64&u?Wn({parent:void 0,type:2},1024):void 0;if(Rn(e,u=134225920^(134225920|u),16))return er(e,u,l,[],t,0,r,s,i);let F,p=0;e.destructible&=-385;let C=[],E=0,A=0;const{tokenPos:f,linePos:d,colPos:m}=e;e.assignable=1;for(;16!==e.token;){const{token:t,tokenPos:r,linePos:s,colPos:i}=e;if(143360&t)l&&Hn(e,u,l,e.tokenValue,1,0),F=No(e,u,n,0,1,0,1,1,r,s,i),16===e.token||18===e.token?2&e.assignable?(p|=16,A=1):537079808!=(537079808&t)&&36864!=(36864&t)||(A=1):(1077936157===e.token?A=1:p|=16,F=To(e,u,F,1,0,r,s,i),16!==e.token&&18!==e.token&&(F=Po(e,u,1,0,r,s,i,F)));else{if(2097152!=(2097152&t)){if(14===t){F=zo(e,u,l,16,n,o,0,1,0,r,s,i),16&e.destructible&&_t(e,71),A=1,!E||16!==e.token&&18!==e.token||C.push(F),p|=8;break}if(p|=16,F=yo(e,u,1,0,1,r,s,i),!E||16!==e.token&&18!==e.token||C.push(F),18===e.token&&(E||(E=1,C=[F])),E){for(;Rn(e,32768|u,18);)C.push(yo(e,u,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,F=$n(e,u,f,d,m,{type:\"SequenceExpression\",expressions:C})}return Mn(e,u,16),e.destructible=p,F}F=2162700===t?Ko(e,1073741824|u,l,0,1,0,n,o,r,s,i):qo(e,1073741824|u,l,0,1,0,n,o,r,s,i),p|=e.destructible,A=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&p&&_t(e,118),F=To(e,u,F,0,0,r,s,i),p|=16,16!==e.token&&18!==e.token&&(F=Po(e,u,0,0,r,s,i,F)))}if(!E||16!==e.token&&18!==e.token||C.push(F),!Rn(e,32768|u,18))break;if(E||(E=1,C=[F]),16===e.token){p|=8;break}}E&&(e.assignable=2,F=$n(e,u,f,d,m,{type:\"SequenceExpression\",expressions:C}));Mn(e,u,16),16&p&&8&p&&_t(e,145);if(p|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token)return 48&p&&_t(e,46),4196352&u&&128&p&&_t(e,29),2098176&u&&256&p&&_t(e,30),A&&(e.flags|=128),er(e,u,l,E?C:[F],t,0,r,s,i);8&p&&_t(e,139);return e.destructible=256^(256|e.destructible)|p,128&u?$n(e,u,D,a,c,{type:\"ParenthesizedExpression\",expression:F}):F}(e,u,o,1,0,D,a,c);case 86021:case 86022:case 86023:return function(e,u,t,n,o){const r=Cn[255&e.token],s=86023===e.token?null:\"true\"===r;return Kt(e,u),e.assignable=2,$n(e,u,t,n,o,512&u?{type:\"Literal\",value:s,raw:r}:{type:\"Literal\",value:s})}(e,u,D,a,c);case 86110:return function(e,u){const{tokenPos:t,linePos:n,colPos:o}=e;return Kt(e,u),e.assignable=2,$n(e,u,t,n,o,{type:\"ThisExpression\"})}(e,u);case 65540:return function(e,u,t,n,o){const{tokenRaw:r,tokenRegExp:s,tokenValue:i}=e;return Kt(e,u),e.assignable=2,$n(e,u,t,n,o,512&u?{type:\"Literal\",value:i,regex:s,raw:r}:{type:\"Literal\",value:i,regex:s})}(e,u,D,a,c);case 130:case 86093:return function(e,u,t,n,o,r){let s=null,i=null;const D=ir(e,u=16777216^(16778240|u));D.length&&(n=e.tokenPos,o=e.linePos,r=e.colPos);Kt(e,u),(4351&e.token^84)>4096&&(Un(e,u,e.token)&&_t(e,114),537079808==(537079808&e.token)&&_t(e,115),s=Go(e,u,0));let a=u;Rn(e,32768|u,20564)?(i=wo(e,u,0,t,0,e.tokenPos,e.linePos,e.colPos),a|=524288):a=524288^(524288|a);const c=ar(e,a,u,void 0,2,0,t);return e.assignable=2,$n(e,u,n,o,r,1&u?{type:\"ClassExpression\",id:s,superClass:i,decorators:D,body:c}:{type:\"ClassExpression\",id:s,superClass:i,body:c})}(e,u,s,D,a,c);case 86108:return function(e,u,t,n,o){switch(Kt(e,u),e.token){case 67108988:_t(e,161);case 67174411:(524288&u)<1&&_t(e,26),16384&u&&_t(e,143),e.assignable=2;break;case 69271571:case 67108877:(262144&u)<1&&_t(e,27),16384&u&&_t(e,143),e.assignable=1;break;default:_t(e,28,\"super\")}return $n(e,u,t,n,o,{type:\"Super\"})}(e,u,D,a,c);case 67174409:return Mo(e,u,D,a,c);case 67174408:return jo(e,u,D,a,c);case 86106:return function(e,u,t,n,o,r){const s=Go(e,32768|u,0),{tokenPos:i,linePos:D,colPos:a}=e;if(Rn(e,u,67108877)){if(67108864&u&&143491===e.token)return e.assignable=2,function(e,u,t,n,o,r){const s=Go(e,u,0);return $n(e,u,n,o,r,{type:\"MetaProperty\",meta:t,property:s})}(e,u,s,n,o,r);_t(e,91)}e.assignable=2,16842752==(16842752&e.token)&&_t(e,62,Cn[255&e.token]);const c=No(e,u,2,1,0,0,t,1,i,D,a);u=134217728^(134217728|u),67108988===e.token&&_t(e,162);const l=nr(e,u,c,t,i,D,a);return e.assignable=2,$n(e,u,n,o,r,{type:\"NewExpression\",callee:l,arguments:67174411===e.token?Uo(e,u,t):[]})}(e,u,s,D,a,c);case 134283386:return Ro(e,u,D,a,c);case 128:return lr(e,u,D,a,c);case 86105:return function(e,u,t,n,o,r,s){let i=Go(e,u,0);if(67108877===e.token)return Lo(e,u,i,o,r,s);t&&_t(e,137);return i=Oo(e,u,n,o,r,s),e.assignable=2,To(e,u,i,n,0,o,r,s)}(e,u,n,s,D,a,c);case 8456255:if(16&u)return Er(e,u,1,D,a,c);default:if(Qn(u,e.token))return Zo(e,u,D,a,c);_t(e,28,Cn[255&e.token])}}function Lo(e,u,t,n,o,r){return 0==(2048&u)&&_t(e,163),Kt(e,u),143492!==e.token&&\"meta\"!==e.tokenValue&&_t(e,28,Cn[255&e.token]),e.assignable=2,$n(e,u,n,o,r,{type:\"MetaProperty\",meta:t,property:Go(e,u,0)})}function Oo(e,u,t,n,o,r){Mn(e,32768|u,67174411),14===e.token&&_t(e,138);const s=yo(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos);return Mn(e,u,16),$n(e,u,n,o,r,{type:\"ImportExpression\",source:s})}function Ro(e,u,t,n,o){const{tokenRaw:r,tokenValue:s}=e;return Kt(e,u),e.assignable=2,$n(e,u,t,n,o,512&u?{type:\"Literal\",value:s,bigint:r.slice(0,-1),raw:r}:{type:\"Literal\",value:s,bigint:r.slice(0,-1)})}function Mo(e,u,t,n,o){e.assignable=2;const{tokenValue:r,tokenRaw:s,tokenPos:i,linePos:D,colPos:a}=e;Mn(e,u,67174409);return $n(e,u,t,n,o,{type:\"TemplateLiteral\",expressions:[],quasis:[Vo(e,u,r,s,i,D,a,!0)]})}function jo(e,u,t,n,o){u=134217728^(134217728|u);const{tokenValue:r,tokenRaw:s,tokenPos:i,linePos:D,colPos:a}=e;Mn(e,32768|u,67174408);const c=[Vo(e,u,r,s,i,D,a,!1)],l=[ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&_t(e,80);67174409!==(e.token=vn(e,u));){const{tokenValue:t,tokenRaw:n,tokenPos:o,linePos:r,colPos:s}=e;Mn(e,32768|u,67174408),c.push(Vo(e,u,t,n,o,r,s,!1)),l.push(ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&_t(e,80)}{const{tokenValue:t,tokenRaw:n,tokenPos:o,linePos:r,colPos:s}=e;Mn(e,u,67174409),c.push(Vo(e,u,t,n,o,r,s,!0))}return $n(e,u,t,n,o,{type:\"TemplateLiteral\",expressions:l,quasis:c})}function Vo(e,u,t,n,o,r,s,i){const D=$n(e,u,o,r,s,{type:\"TemplateElement\",value:{cooked:t,raw:n},tail:i}),a=i?1:2;return 2&u&&(D.start+=1,D.range[0]+=1,D.end-=a,D.range[1]-=a),4&u&&(D.loc.start.column+=1,D.loc.end.column-=a),D}function Xo(e,u,t,n,o){Mn(e,32768|(u=134217728^(134217728|u)),14);const r=yo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,$n(e,u,t,n,o,{type:\"SpreadElement\",argument:r})}function Uo(e,u,t){Kt(e,32768|u);const n=[];if(16===e.token)return Kt(e,u),n;for(;16!==e.token&&(14===e.token?n.push(Xo(e,u,e.tokenPos,e.linePos,e.colPos)):n.push(yo(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(Kt(e,32768|u),16!==e.token););return Mn(e,u,16),n}function Go(e,u,t){const{tokenValue:n,tokenPos:o,linePos:r,colPos:s}=e;return Kt(e,u),$n(e,u,o,r,s,268435456&u?{type:\"Identifier\",name:n,pattern:1===t}:{type:\"Identifier\",name:n})}function $o(e,u){const{tokenValue:t,tokenRaw:n,tokenPos:o,linePos:r,colPos:s}=e;return 134283386===e.token?Ro(e,u,o,r,s):(Kt(e,u),e.assignable=2,$n(e,u,o,r,s,512&u?{type:\"Literal\",value:t,raw:n}:{type:\"Literal\",value:t}))}function _o(e,u,t,n,o,r,s,i,D,a){Kt(e,32768|u);const c=o?On(e,u,8457011):0;let l,F=null,p=t?{parent:void 0,type:2}:void 0;if(67174411===e.token)(1&r)<1&&_t(e,37,\"Function\");else{const o=4&n&&((8192&u)<1||(2048&u)<1)?4:64;Xn(e,u|(3072&u)<<11,e.token),t&&(4&o?Kn(e,u,t,e.tokenValue,o):Hn(e,u,t,e.tokenValue,o,n),p=Wn(p,256),r&&2&r&&Yn(e,e.tokenValue)),l=e.token,F=Go(e,u,0)}u=32243712^(32243712|u)|67108864|2*s+c<<21|(c?0:1073741824),t&&(p=Wn(p,512));return $n(e,u,i,D,a,{type:\"FunctionDeclaration\",id:F,params:tr(e,8388608|u,p,0,1),body:So(e,143360^(143360|u),t?Wn(p,128):p,8,l,t?p.scopeError:void 0),async:1===s,generator:1===c})}function Jo(e,u,t,n,o,r,s){Kt(e,32768|u);const i=On(e,u,8457011),D=2*t+i<<21;let a,c=null,l=64&u?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(Xn(e,32243712^(32243712|u)|D,e.token),l&&(l=Wn(l,256)),a=e.token,c=Go(e,u,0)),u=32243712^(32243712|u)|67108864|D|(i?0:1073741824),l&&(l=Wn(l,512));const F=tr(e,8388608|u,l,n,1),p=So(e,-134377473&u,l?Wn(l,128):l,0,a,void 0);return e.assignable=2,$n(e,u,o,r,s,{type:\"FunctionExpression\",id:c,params:F,body:p,async:1===t,generator:1===i})}function qo(e,u,t,n,o,r,s,i,D,a,c){Kt(e,32768|u);const l=[];let F=0;for(u=134217728^(134217728|u);20!==e.token;)if(Rn(e,32768|u,18))l.push(null);else{let n;const{token:D,tokenPos:a,linePos:c,colPos:p,tokenValue:C}=e;if(143360&D)if(n=No(e,u,s,0,1,0,o,1,a,c,p),1077936157===e.token){2&e.assignable&&_t(e,24),Kt(e,32768|u),t&&zn(e,u,t,C,s,i);const D=yo(e,u,1,1,o,e.tokenPos,e.linePos,e.colPos);n=$n(e,u,a,c,p,r?{type:\"AssignmentPattern\",left:n,right:D}:{type:\"AssignmentExpression\",operator:\"=\",left:n,right:D}),F|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?F|=16:t&&zn(e,u,t,C,s,i),F|=256&e.destructible?256:0|128&e.destructible?128:0):(F|=1&s?32:(2&s)<1?16:0,n=To(e,u,n,o,0,a,c,p),18!==e.token&&20!==e.token?(1077936157!==e.token&&(F|=16),n=Po(e,u,o,r,a,c,p,n)):1077936157!==e.token&&(F|=2&e.assignable?16:32));else 2097152&D?(n=2162700===e.token?Ko(e,u,t,0,o,r,s,i,a,c,p):qo(e,u,t,0,o,r,s,i,a,c,p),F|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(F|=16):8&e.destructible?_t(e,68):(n=To(e,u,n,o,0,a,c,p),F=2&e.assignable?16:0,18!==e.token&&20!==e.token?n=Po(e,u,o,r,a,c,p,n):1077936157!==e.token&&(F|=2&e.assignable?16:32))):14===D?(n=zo(e,u,t,20,s,i,0,o,r,a,c,p),F|=e.destructible,18!==e.token&&20!==e.token&&_t(e,28,Cn[255&e.token])):(n=wo(e,u,1,0,1,a,c,p),18!==e.token&&20!==e.token?(n=Po(e,u,o,r,a,c,p,n),(3&s)<1&&67174411===D&&(F|=16)):2&e.assignable?F|=16:67174411===D&&(F|=1&e.assignable&&3&s?32:16));if(l.push(n),!Rn(e,32768|u,18))break;if(20===e.token)break}Mn(e,u,20);const p=$n(e,u,D,a,c,{type:r?\"ArrayPattern\":\"ArrayExpression\",elements:l});return!n&&4194304&e.token?Wo(e,u,F,o,r,D,a,c,p):(e.destructible=F,p)}function Wo(e,u,t,n,o,r,s,i,D){1077936157!==e.token&&_t(e,24),Kt(e,32768|u),16&t&&_t(e,24),o||jn(e,D);const{tokenPos:a,linePos:c,colPos:l}=e,F=yo(e,u,1,1,n,a,c,l);return e.destructible=72^(72|t)|(128&e.destructible?128:0)|(256&e.destructible?256:0),$n(e,u,r,s,i,o?{type:\"AssignmentPattern\",left:D,right:F}:{type:\"AssignmentExpression\",left:D,operator:\"=\",right:F})}function zo(e,u,t,n,o,r,s,i,D,a,c,l){Kt(e,32768|u);let F=null,p=0,{token:C,tokenValue:E,tokenPos:A,linePos:f,colPos:d}=e;if(143360&C)e.assignable=1,F=No(e,u,o,0,1,0,i,1,A,f,d),C=e.token,F=To(e,u,F,i,0,A,f,d),18!==e.token&&e.token!==n&&(2&e.assignable&&1077936157===e.token&&_t(e,68),p|=16,F=Po(e,u,i,D,A,f,d,F)),2&e.assignable?p|=16:C===n||18===C?t&&zn(e,u,t,E,o,r):p|=32,p|=128&e.destructible?128:0;else if(C===n)_t(e,39);else{if(!(2097152&C)){p|=32,F=wo(e,u,1,i,1,e.tokenPos,e.linePos,e.colPos);const{token:t,tokenPos:o,linePos:r,colPos:s}=e;return 1077936157===t&&t!==n&&18!==t?(2&e.assignable&&_t(e,24),F=Po(e,u,i,D,o,r,s,F),p|=16):(18===t?p|=16:t!==n&&(F=Po(e,u,i,D,o,r,s,F)),p|=1&e.assignable?32:16),e.destructible=p,e.token!==n&&18!==e.token&&_t(e,155),$n(e,u,a,c,l,{type:D?\"RestElement\":\"SpreadElement\",argument:F})}F=2162700===e.token?Ko(e,u,t,1,i,D,o,r,A,f,d):qo(e,u,t,1,i,D,o,r,A,f,d),C=e.token,1077936157!==C&&C!==n&&18!==C?(8&e.destructible&&_t(e,68),F=To(e,u,F,i,0,A,f,d),p|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(p|=16),F=Po(e,u,i,D,A,f,d,F)):(8454144==(8454144&e.token)&&(F=vo(e,u,1,A,f,d,4,C,F)),Rn(e,32768|u,22)&&(F=xo(e,u,F,A,f,d)),p|=2&e.assignable?16:32)):p|=1074790415===n&&1077936157!==C?16:e.destructible}if(e.token!==n)if(1&o&&(p|=s?16:32),Rn(e,32768|u,1077936157)){16&p&&_t(e,24),jn(e,F);const t=yo(e,u,1,1,i,e.tokenPos,e.linePos,e.colPos);F=$n(e,u,A,f,d,D?{type:\"AssignmentPattern\",left:F,right:t}:{type:\"AssignmentExpression\",left:F,operator:\"=\",right:t}),p=16}else p|=16;return e.destructible=p,$n(e,u,a,c,l,{type:D?\"RestElement\":\"SpreadElement\",argument:F})}function Ho(e,u,t,n,o,r,s){const i=(64&t)<1?31981568:14680064;let D=64&(u=(u|i)^i|(88&t)<<18|100925440)?Wn({parent:void 0,type:2},512):void 0;const a=function(e,u,t,n,o,r){Mn(e,u,67174411);const s=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&n&&_t(e,35,\"Setter\",\"one\",\"\"),Kt(e,u),s;256&n&&_t(e,35,\"Getter\",\"no\",\"s\");512&n&&14===e.token&&_t(e,36);u=134217728^(134217728|u);let i=0,D=0;for(;18!==e.token;){let a=null;const{tokenPos:c,linePos:l,colPos:F}=e;if(143360&e.token?((1024&u)<1&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),a=Cr(e,u,t,1|n,0,c,l,F)):(2162700===e.token?a=Ko(e,u,t,1,r,1,o,0,c,l,F):69271571===e.token?a=qo(e,u,t,1,r,1,o,0,c,l,F):14===e.token&&(a=zo(e,u,t,16,o,0,0,r,1,c,l,F)),D=1,48&e.destructible&&_t(e,47)),1077936157===e.token){Kt(e,32768|u),D=1;a=$n(e,u,c,l,F,{type:\"AssignmentPattern\",left:a,right:yo(e,u,1,1,0,e.tokenPos,e.linePos,e.colPos)})}if(i++,s.push(a),!Rn(e,u,18))break;if(16===e.token)break}512&n&&1!==i&&_t(e,35,\"Setter\",\"one\",\"\");t&&void 0!==t.scopeError&&Jt(t.scopeError);D&&(e.flags|=128);return Mn(e,u,16),s}(e,8388608|u,D,t,1,n);D&&(D=Wn(D,128));return $n(e,u,o,r,s,{type:\"FunctionExpression\",params:a,body:So(e,-134230017&u,D,0,void 0,void 0),async:(16&t)>0,generator:(8&t)>0,id:null})}function Ko(e,u,t,n,o,r,s,i,D,a,c){Kt(e,u);const l=[];let F=0,p=0;for(u=134217728^(134217728|u);1074790415!==e.token;){const{token:n,tokenValue:D,linePos:a,colPos:c,tokenPos:C}=e;if(14===n)l.push(zo(e,u,t,1074790415,s,i,0,o,r,C,a,c));else{let E,A=0,f=null;const d=e.token;if(143360&e.token||118===e.token)if(f=Go(e,u,0),18===e.token||1074790415===e.token||1077936157===e.token)if(A|=4,1024&u&&537079808==(537079808&n)?F|=16:Vn(e,u,s,n,0),t&&zn(e,u,t,D,s,i),Rn(e,32768|u,1077936157)){F|=8;const t=yo(e,u,1,1,o,e.tokenPos,e.linePos,e.colPos);F|=256&e.destructible?256:0|128&e.destructible?128:0,E=$n(e,u,C,a,c,{type:\"AssignmentPattern\",left:-2147483648&u?Object.assign({},f):f,right:t})}else F|=(209005===n?128:0)|(118===n?16:0),E=-2147483648&u?Object.assign({},f):f;else if(Rn(e,32768|u,21)){const{tokenPos:a,linePos:c,colPos:l}=e;if(\"__proto__\"===D&&p++,143360&e.token){const n=e.token,D=e.tokenValue;F|=118===d?16:0,E=No(e,u,s,0,1,0,o,1,a,c,l);const{token:p}=e;E=To(e,u,E,o,0,a,c,l),18===e.token||1074790415===e.token?1077936157===p||1074790415===p||18===p?(F|=128&e.destructible?128:0,2&e.assignable?F|=16:t&&143360==(143360&n)&&zn(e,u,t,D,s,i)):F|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?F|=16:1077936157!==p?F|=32:t&&zn(e,u,t,D,s,i),E=Po(e,u,o,r,a,c,l,E)):(F|=16,8454144==(8454144&e.token)&&(E=vo(e,u,1,a,c,l,4,p,E)),Rn(e,32768|u,22)&&(E=xo(e,u,E,a,c,l)))}else 2097152==(2097152&e.token)?(E=69271571===e.token?qo(e,u,t,0,o,r,s,i,a,c,l):Ko(e,u,t,0,o,r,s,i,a,c,l),F=e.destructible,e.assignable=16&F?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):8&e.destructible?_t(e,68):(E=To(e,u,E,o,0,a,c,l),F=2&e.assignable?16:0,4194304==(4194304&e.token)?E=bo(e,u,o,r,a,c,l,E):(8454144==(8454144&e.token)&&(E=vo(e,u,1,a,c,l,4,n,E)),Rn(e,32768|u,22)&&(E=xo(e,u,E,a,c,l)),F|=2&e.assignable?16:32))):(E=wo(e,u,1,o,1,a,c,l),F|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):(E=To(e,u,E,o,0,a,a,l),F=2&e.assignable?16:0,18!==e.token&&1074790415!==n&&(1077936157!==e.token&&(F|=16),E=Po(e,u,o,r,a,a,l,E))))}else 69271571===e.token?(F|=16,143468===n&&(A|=16),A|=2|(12399===n?256:12400===n?512:1),f=Yo(e,u,o),F|=e.assignable,E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(F|=16,118===n&&_t(e,92),143468===n&&(1&e.flags&&_t(e,128),A|=16),f=Go(e,u,0),A|=12399===n?256:12400===n?512:1,E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(F|=16,A|=1,E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):8457011===e.token?(F|=16,12399===n||12400===n?_t(e,40):143480===n&&_t(e,92),Kt(e,u),A|=9|(143468===n?16:0),143360&e.token?f=Go(e,u,0):134217728==(134217728&e.token)?f=$o(e,u):69271571===e.token?(A|=2,f=Yo(e,u,o),F|=e.assignable):_t(e,28,Cn[255&e.token]),E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(143468===n&&(A|=16),A|=12399===n?256:12400===n?512:1,F|=16,f=$o(e,u),E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):_t(e,129);else if(134217728==(134217728&e.token))if(f=$o(e,u),21===e.token){Mn(e,32768|u,21);const{tokenPos:a,linePos:c,colPos:l}=e;if(\"__proto__\"===D&&p++,143360&e.token){E=No(e,u,s,0,1,0,o,1,a,c,l);const{token:n,tokenValue:D}=e;E=To(e,u,E,o,0,a,c,l),18===e.token||1074790415===e.token?1077936157===n||1074790415===n||18===n?2&e.assignable?F|=16:t&&zn(e,u,t,D,s,i):F|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(F|=16),E=Po(e,u,o,r,a,c,l,E)):(F|=16,E=Po(e,u,o,r,a,c,l,E))}else 2097152==(2097152&e.token)?(E=69271571===e.token?qo(e,u,t,0,o,r,s,i,a,c,l):Ko(e,u,t,0,o,r,s,i,a,c,l),F=e.destructible,e.assignable=16&F?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):8!=(8&e.destructible)&&(E=To(e,u,E,o,0,a,c,l),F=2&e.assignable?16:0,4194304==(4194304&e.token)?E=bo(e,u,o,r,a,c,l,E):(8454144==(8454144&e.token)&&(E=vo(e,u,1,a,c,l,4,n,E)),Rn(e,32768|u,22)&&(E=xo(e,u,E,a,c,l)),F|=2&e.assignable?16:32))):(E=wo(e,u,1,0,1,a,c,l),F|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):(E=To(e,u,E,o,0,a,c,l),F=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(F|=16),E=Po(e,u,o,r,a,c,l,E))))}else 67174411===e.token?(A|=1,E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos),F=16|e.assignable):_t(e,130);else if(69271571===e.token)if(f=Yo(e,u,o),F|=256&e.destructible?256:0,A|=2,21===e.token){Kt(e,32768|u);const{tokenPos:D,linePos:a,colPos:c,tokenValue:l,token:p}=e;if(143360&e.token){E=No(e,u,s,0,1,0,o,1,D,a,c);const{token:n}=e;E=To(e,u,E,o,0,D,a,c),4194304==(4194304&e.token)?(F|=2&e.assignable?16:1077936157===n?0:32,E=bo(e,u,o,r,D,a,c,E)):18===e.token||1074790415===e.token?1077936157===n||1074790415===n||18===n?2&e.assignable?F|=16:t&&143360==(143360&p)&&zn(e,u,t,l,s,i):F|=1&e.assignable?32:16:(F|=16,E=Po(e,u,o,r,D,a,c,E))}else 2097152==(2097152&e.token)?(E=69271571===e.token?qo(e,u,t,0,o,r,s,i,D,a,c):Ko(e,u,t,0,o,r,s,i,D,a,c),F=e.destructible,e.assignable=16&F?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):8&F?_t(e,59):(E=To(e,u,E,o,0,D,a,c),F=2&e.assignable?16|F:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(F|=16),E=bo(e,u,o,r,D,a,c,E)):(8454144==(8454144&e.token)&&(E=vo(e,u,1,D,a,c,4,n,E)),Rn(e,32768|u,22)&&(E=xo(e,u,E,D,a,c)),F|=2&e.assignable?16:32))):(E=wo(e,u,1,0,1,D,a,c),F|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):(E=To(e,u,E,o,0,D,a,c),F=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(F|=16),E=Po(e,u,o,r,D,a,c,E))))}else 67174411===e.token?(A|=1,E=Ho(e,u,A,o,e.tokenPos,a,c),F=16):_t(e,41);else if(8457011===n)if(Mn(e,32768|u,8457011),A|=8,143360&e.token){const{token:t,line:n,index:r}=e;f=Go(e,u,0),A|=1,67174411===e.token?(F|=16,E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):qt(r,n,r,143468===t?43:12399===t||12400===e.token?42:44,Cn[255&t])}else 134217728==(134217728&e.token)?(F|=16,f=$o(e,u),A|=1,E=Ho(e,u,A,o,C,a,c)):69271571===e.token?(F|=16,A|=3,f=Yo(e,u,o),E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):_t(e,122);else _t(e,28,Cn[255&n]);F|=128&e.destructible?128:0,e.destructible=F,l.push($n(e,u,C,a,c,{type:\"Property\",key:f,value:E,kind:768&A?512&A?\"set\":\"get\":\"init\",computed:(2&A)>0,method:(1&A)>0,shorthand:(4&A)>0}))}if(F|=e.destructible,18!==e.token)break;Kt(e,u)}Mn(e,u,1074790415),p>1&&(F|=64);const C=$n(e,u,D,a,c,{type:r?\"ObjectPattern\":\"ObjectExpression\",properties:l});return!n&&4194304&e.token?Wo(e,u,F,o,r,D,a,c,C):(e.destructible=F,C)}function Yo(e,u,t){Kt(e,32768|u);const n=yo(e,134217728^(134217728|u),1,0,t,e.tokenPos,e.linePos,e.colPos);return Mn(e,u,20),n}function Zo(e,u,t,n,o){const{tokenValue:r}=e,s=Go(e,u,0);if(e.assignable=1,10===e.token){let i=void 0;return 64&u&&(i=Jn(e,u,r)),e.flags=128^(128|e.flags),ur(e,u,i,[s],0,t,n,o)}return s}function Qo(e,u,t,n,o,r,s,i,D,a){r||_t(e,54),o&&_t(e,48),e.flags&=-129;return ur(e,u,64&u?Jn(e,u,t):void 0,[n],s,i,D,a)}function er(e,u,t,n,o,r,s,i,D){o||_t(e,54);for(let u=0;u4096?(Un(e,u,e.token)&&_t(e,114),537079808==(537079808&e.token)&&_t(e,115),t&&(Hn(e,u,t,c,32,0),n&&2&n&&Yn(e,c)),D=Go(e,u,0)):(1&n)<1&&_t(e,37,\"Class\");let l=u;Rn(e,32768|u,20564)?(a=wo(e,u,0,0,0,e.tokenPos,e.linePos,e.colPos),l|=524288):l=524288^(524288|l);const F=ar(e,l,u,t,2,8,0);return $n(e,u,o,r,s,1&u?{type:\"ClassDeclaration\",id:D,superClass:a,decorators:i,body:F}:{type:\"ClassDeclaration\",id:D,superClass:a,body:F})}function ir(e,u){const t=[];if(1&u)for(;130===e.token;)t.push(Dr(e,u,e.tokenPos,e.linePos,e.colPos));return t}function Dr(e,u,t,n,o){Kt(e,32768|u);let r=No(e,u,2,0,1,0,0,1,t,n,o);return r=To(e,u,r,0,0,t,n,o),$n(e,u,t,n,o,{type:\"Decorator\",expression:r})}function ar(e,u,t,n,o,r,s){const{tokenPos:i,linePos:D,colPos:a}=e;Mn(e,32768|u,2162700),u=134217728^(134217728|u),e.flags=32^(32|e.flags);const c=[];let l;for(;1074790415!==e.token;){let r=0;l=ir(e,u),r=l.length,r>0&&\"constructor\"===e.tokenValue&&_t(e,106),1074790415===e.token&&_t(e,105),Rn(e,u,1074790417)?r>0&&_t(e,116):c.push(cr(e,u,n,t,o,l,0,s,e.tokenPos,e.linePos,e.colPos))}return Mn(e,8&r?32768|u:u,1074790415),$n(e,u,i,D,a,{type:\"ClassBody\",body:c})}function cr(e,u,t,n,o,r,s,i,D,a,c){let l=s?32:0,F=null;const{token:p,tokenPos:C,linePos:E,colPos:A}=e;if(176128&p)switch(F=Go(e,u,0),p){case 36969:if(!s&&67174411!==e.token)return cr(e,u,t,n,o,r,1,i,D,a,c);break;case 143468:if(67174411!==e.token&&(1&e.flags)<1){if(1&u&&1073741824==(1073741824&e.token))return Fr(e,u,F,l,r,C,E,A);l|=16|(On(e,u,8457011)?8:0)}break;case 12399:if(67174411!==e.token){if(1&u&&1073741824==(1073741824&e.token))return Fr(e,u,F,l,r,C,E,A);l|=256}break;case 12400:if(67174411!==e.token){if(1&u&&1073741824==(1073741824&e.token))return Fr(e,u,F,l,r,C,E,A);l|=512}}else 69271571===p?(l|=2,F=Yo(e,n,i)):134217728==(134217728&p)?F=$o(e,u):8457011===p?(l|=8,Kt(e,u)):1&u&&128===e.token?(l|=4096,F=lr(e,u,C,E,A),u|=16384):1&u&&1073741824==(1073741824&e.token)?(l|=128,u|=16384):119===p?(F=Go(e,u,0),67174411!==e.token&&_t(e,28,Cn[255&e.token])):_t(e,28,Cn[255&e.token]);if(792&l&&(143360&e.token?F=Go(e,u,0):134217728==(134217728&e.token)?F=$o(e,u):69271571===e.token?(l|=2,F=Yo(e,u,0)):119===e.token?F=Go(e,u,0):1&u&&128===e.token?(l|=4096,F=lr(e,u,C,E,A)):_t(e,131)),(2&l)<1&&(\"constructor\"===e.tokenValue?(1073741824==(1073741824&e.token)?_t(e,125):(32&l)<1&&67174411===e.token&&(920&l?_t(e,50,\"accessor\"):(524288&u)<1&&(32&e.flags?_t(e,51):e.flags|=32)),l|=64):(4096&l)<1&&824&l&&\"prototype\"===e.tokenValue&&_t(e,49)),1&u&&67174411!==e.token)return Fr(e,u,F,l,r,C,E,A);const f=Ho(e,u,l,i,e.tokenPos,e.linePos,e.colPos);return $n(e,u,D,a,c,1&u?{type:\"MethodDefinition\",kind:(32&l)<1&&64&l?\"constructor\":256&l?\"get\":512&l?\"set\":\"method\",static:(32&l)>0,computed:(2&l)>0,key:F,decorators:r,value:f}:{type:\"MethodDefinition\",kind:(32&l)<1&&64&l?\"constructor\":256&l?\"get\":512&l?\"set\":\"method\",static:(32&l)>0,computed:(2&l)>0,key:F,value:f})}function lr(e,u,t,n,o){Kt(e,u);const{tokenValue:r}=e;return\"constructor\"===r&&_t(e,124),Kt(e,u),$n(e,u,t,n,o,{type:\"PrivateName\",name:r})}function Fr(e,u,t,n,o,r,s,i){let D=null;if(8&n&&_t(e,0),1077936157===e.token){Kt(e,32768|u);const{tokenPos:t,linePos:n,colPos:o}=e;537079925===e.token&&_t(e,115),D=No(e,16384|u,2,0,1,0,0,1,t,n,o),1073741824!=(1073741824&e.token)&&(D=To(e,16384|u,D,0,0,t,n,o),D=Po(e,16384|u,0,0,t,n,o,D),18===e.token&&(D=ho(e,u,0,r,s,i,D)))}return $n(e,u,r,s,i,{type:\"FieldDefinition\",key:t,value:D,static:(32&n)>0,computed:(2&n)>0,decorators:o})}function pr(e,u,t,n,o,r,s,i){if(143360&e.token)return Cr(e,u,t,n,o,r,s,i);2097152!=(2097152&e.token)&&_t(e,28,Cn[255&e.token]);const D=69271571===e.token?qo(e,u,t,1,0,1,n,o,r,s,i):Ko(e,u,t,1,0,1,n,o,r,s,i);return 16&e.destructible&&_t(e,47),32&e.destructible&&_t(e,47),D}function Cr(e,u,t,n,o,r,s,i){const{tokenValue:D,token:a}=e;return 1024&u&&(537079808==(537079808&a)?_t(e,115):36864==(36864&a)&&_t(e,114)),20480==(20480&a)&&_t(e,99),2099200&u&&241770===a&&_t(e,30),241736===a&&24&n&&_t(e,97),4196352&u&&209005===a&&_t(e,95),Kt(e,u),t&&zn(e,u,t,D,n,o),$n(e,u,r,s,i,{type:\"Identifier\",name:D})}function Er(e,u,t,n,o,r){if(Kt(e,u),8456256===e.token)return $n(e,u,n,o,r,{type:\"JSXFragment\",openingFragment:Ar(e,u,n,o,r),children:dr(e,u),closingFragment:fr(e,u,t,e.tokenPos,e.linePos,e.colPos)});let s=null,i=[];const D=function(e,u,t,n,o,r){143360!=(143360&e.token)&&4096!=(4096&e.token)&&_t(e,0);const s=gr(e,u,e.tokenPos,e.linePos,e.colPos),i=function(e,u){const t=[];for(;8457013!==e.token&&8456256!==e.token&&1048576!==e.token;)t.push(yr(e,u,e.tokenPos,e.linePos,e.colPos));return t}(e,u),D=8457013===e.token;8456256===e.token?Tn(e,u):(Mn(e,u,8457013),t?Mn(e,u,8456256):Tn(e,u));return $n(e,u,n,o,r,{type:\"JSXOpeningElement\",name:s,attributes:i,selfClosing:D})}(e,u,t,n,o,r);if(!D.selfClosing){i=dr(e,u),s=function(e,u,t,n,o,r){Mn(e,u,25);const s=gr(e,u,e.tokenPos,e.linePos,e.colPos);t?Mn(e,u,8456256):e.token=Tn(e,u);return $n(e,u,n,o,r,{type:\"JSXClosingElement\",name:s})}(e,u,t,e.tokenPos,e.linePos,e.colPos);const n=_n(s.name);_n(D.name)!==n&&_t(e,149,n)}return $n(e,u,n,o,r,{type:\"JSXElement\",children:i,openingElement:D,closingElement:s})}function Ar(e,u,t,n,o){return Tn(e,u),$n(e,u,t,n,o,{type:\"JSXOpeningFragment\"})}function fr(e,u,t,n,o,r){return Mn(e,u,25),Mn(e,u,8456256),$n(e,u,n,o,r,{type:\"JSXClosingFragment\"})}function dr(e,u){const t=[];for(;25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,Tn(e,u),t.push(mr(e,u,e.tokenPos,e.linePos,e.colPos));return t}function mr(e,u,t,n,o){return 135===e.token?function(e,u,t,n,o){Tn(e,u);const r={type:\"JSXText\",value:e.tokenValue};512&u&&(r.raw=e.tokenRaw);return $n(e,u,t,n,o,r)}(e,u,t,n,o):2162700===e.token?kr(e,u,0,0,t,n,o):8456255===e.token?Er(e,u,0,t,n,o):void _t(e,0)}function gr(e,u,t,n,o){In(e);let r=Pr(e,u,t,n,o);if(21===e.token)return hr(e,u,r,t,n,o);for(;Rn(e,u,67108877);)In(e),r=Br(e,u,r,t,n,o);return r}function Br(e,u,t,n,o,r){return $n(e,u,n,o,r,{type:\"JSXMemberExpression\",object:t,property:Pr(e,u,e.tokenPos,e.linePos,e.colPos)})}function yr(e,u,t,n,o){if(2162700===e.token)return function(e,u,t,n,o){Kt(e,u),Mn(e,u,14);const r=yo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return Mn(e,u,1074790415),$n(e,u,t,n,o,{type:\"JSXSpreadAttribute\",argument:r})}(e,u,t,n,o);In(e);let r=null,s=Pr(e,u,t,n,o);if(21===e.token&&(s=hr(e,u,s,t,n,o)),1077936157===e.token){const t=wn(e,u),{tokenPos:n,linePos:o,colPos:s}=e;switch(t){case 134283267:r=$o(e,u);break;case 8456255:r=Er(e,u,1,n,o,s);break;case 2162700:r=kr(e,u,1,1,n,o,s);break;default:_t(e,148)}}return $n(e,u,t,n,o,{type:\"JSXAttribute\",value:r,name:s})}function hr(e,u,t,n,o,r){Mn(e,u,21);return $n(e,u,n,o,r,{type:\"JSXNamespacedName\",namespace:t,name:Pr(e,u,e.tokenPos,e.linePos,e.colPos)})}function kr(e,u,t,n,o,r,s){Kt(e,u);const{tokenPos:i,linePos:D,colPos:a}=e;if(14===e.token)return function(e,u,t,n,o){Mn(e,u,14);const r=yo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return Mn(e,u,1074790415),$n(e,u,t,n,o,{type:\"JSXSpreadChild\",expression:r})}(e,u,i,D,a);let c=null;return 1074790415===e.token?(n&&_t(e,151),c=function(e,u,t,n,o){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,$n(e,u,t,n,o,{type:\"JSXEmptyExpression\"})}(e,u,e.startPos,e.startLine,e.startColumn)):c=yo(e,u,1,0,0,i,D,a),t?Mn(e,u,1074790415):Tn(e,u),$n(e,u,o,r,s,{type:\"JSXExpressionContainer\",expression:c})}function Pr(e,u,t,n,o){const{tokenValue:r}=e;return Kt(e,u),$n(e,u,t,n,o,{type:\"JSXIdentifier\",name:r})}var br=Object.freeze({__proto__:null});var xr=Object.freeze({__proto__:null,ESTree:br,parse:function(e,u){return uo(e,u,0)},parseModule:function(e,u){return uo(e,u,3072)},parseScript:function(e,u){return uo(e,u,0)},version:\"3.1.6\"});const{hasPragma:vr}=Ke,{locStart:Sr,locEnd:wr}=eu,Tr={module:!0,next:!0,ranges:!0,webcompat:!0,loc:!0,raw:!0,directives:!0,globalReturn:!0,impliedStrict:!1,preserveParens:!1,lexical:!1,identifierPattern:!1,jsx:!0,specDeviation:!0,uniqueKeyInPattern:!1};function Ir(e,u){const{parse:t}=xr,n=[],o=[],r=t(e,Object.assign({},Tr,{module:u,onComment:n,onToken:o}));return r.comments=n,r.tokens=o,r}return{parsers:{meriyah:{parse:function(u,t,n){let o;try{o=Ir(u,!0)}catch(t){try{o=Ir(u,!1)}catch(u){const{message:n,line:o,column:r}=t;if(\"number\"!=typeof o)throw t;throw e(n,{start:{line:o,column:r}})}}return Ut(o,Object.assign({},n,{originalText:u}))},astFormat:\"estree\",hasPragma:vr,locStart:Sr,locEnd:wr}}}}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lastCommit = exports.push = exports.commit = void 0;\nconst shelljs_1 = require(\"shelljs\");\nconst commit = (message, name = \"Upptime Bot\", email = \"73812536+upptime-bot@users.noreply.github.com\") => {\n shelljs_1.exec(`git config --global user.email \"${email}\"`);\n shelljs_1.exec(`git config --global user.name \"${name}\"`);\n shelljs_1.exec(`git add .`);\n shelljs_1.exec(`git commit -m \"${message.replace(/\\\"/g, \"''\")}\"`);\n};\nexports.commit = commit;\nconst push = () => {\n shelljs_1.exec(\"git push\");\n};\nexports.push = push;\nconst lastCommit = () => {\n return shelljs_1.exec(`git log --format=\"%H\" -n 1`).stdout;\n};\nexports.lastCommit = lastCommit;\n//# sourceMappingURL=git.js.map","var Stream = require('stream').Stream\n\nmodule.exports = legacy\n\nfunction legacy (fs) {\n return {\n ReadStream: ReadStream,\n WriteStream: WriteStream\n }\n\n function ReadStream (path, options) {\n if (!(this instanceof ReadStream)) return new ReadStream(path, options);\n\n Stream.call(this);\n\n var self = this;\n\n this.path = path;\n this.fd = null;\n this.readable = true;\n this.paused = false;\n\n this.flags = 'r';\n this.mode = 438; /*=0666*/\n this.bufferSize = 64 * 1024;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.encoding) this.setEncoding(this.encoding);\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.end === undefined) {\n this.end = Infinity;\n } else if ('number' !== typeof this.end) {\n throw TypeError('end must be a Number');\n }\n\n if (this.start > this.end) {\n throw new Error('start must be <= end');\n }\n\n this.pos = this.start;\n }\n\n if (this.fd !== null) {\n process.nextTick(function() {\n self._read();\n });\n return;\n }\n\n fs.open(this.path, this.flags, this.mode, function (err, fd) {\n if (err) {\n self.emit('error', err);\n self.readable = false;\n return;\n }\n\n self.fd = fd;\n self.emit('open', fd);\n self._read();\n })\n }\n\n function WriteStream (path, options) {\n if (!(this instanceof WriteStream)) return new WriteStream(path, options);\n\n Stream.call(this);\n\n this.path = path;\n this.fd = null;\n this.writable = true;\n\n this.flags = 'w';\n this.encoding = 'binary';\n this.mode = 438; /*=0666*/\n this.bytesWritten = 0;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.start < 0) {\n throw new Error('start must be >= zero');\n }\n\n this.pos = this.start;\n }\n\n this.busy = false;\n this._queue = [];\n\n if (this.fd === null) {\n this._open = fs.open;\n this._queue.push([this._open, this.path, this.flags, this.mode, undefined]);\n this.flush();\n }\n }\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst copySync = require('../copy-sync').copySync\nconst removeSync = require('../remove').removeSync\nconst mkdirpSync = require('../mkdirs').mkdirpSync\nconst stat = require('../util/stat')\n\nfunction moveSync (src, dest, opts) {\n opts = opts || {}\n const overwrite = opts.overwrite || opts.clobber || false\n\n const { srcStat } = stat.checkPathsSync(src, dest, 'move')\n stat.checkParentPathsSync(src, srcStat, dest, 'move')\n mkdirpSync(path.dirname(dest))\n return doRename(src, dest, overwrite)\n}\n\nfunction doRename (src, dest, overwrite) {\n if (overwrite) {\n removeSync(dest)\n return rename(src, dest, overwrite)\n }\n if (fs.existsSync(dest)) throw new Error('dest already exists.')\n return rename(src, dest, overwrite)\n}\n\nfunction rename (src, dest, overwrite) {\n try {\n fs.renameSync(src, dest)\n } catch (err) {\n if (err.code !== 'EXDEV') throw err\n return moveAcrossDevice(src, dest, overwrite)\n }\n}\n\nfunction moveAcrossDevice (src, dest, overwrite) {\n const opts = {\n overwrite,\n errorOnExist: true\n }\n copySync(src, dest, opts)\n return removeSync(src)\n}\n\nmodule.exports = moveSync\n","'use strict';\n\nvar Type = require('../type');\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction resolveYamlSet(data) {\n if (data === null) return true;\n\n var key, object = data;\n\n for (key in object) {\n if (_hasOwnProperty.call(object, key)) {\n if (object[key] !== null) return false;\n }\n }\n\n return true;\n}\n\nfunction constructYamlSet(data) {\n return data !== null ? data : {};\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:set', {\n kind: 'mapping',\n resolve: resolveYamlSet,\n construct: constructYamlSet\n});\n","\"use strict\";\n// For internal use, subject to change.\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst fs = __importStar(require(\"fs\"));\nconst os = __importStar(require(\"os\"));\nconst utils_1 = require(\"./utils\");\nfunction issueCommand(command, message) {\n const filePath = process.env[`GITHUB_${command}`];\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`);\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`);\n }\n fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n });\n}\nexports.issueCommand = issueCommand;\n//# sourceMappingURL=file-command.js.map","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):((e=\"undefined\"!=typeof globalThis?globalThis:e||self).prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.yaml=t())}(this,(function(){\"use strict\";var e=function(e,t){const n=new SyntaxError(e+\" (\"+t.start.line+\":\"+t.start.column+\")\");return n.loc=t,n};var t={isPragma:function(e){return/^\\s*@(prettier|format)\\s*$/.test(e)},hasPragma:function(e){return/^\\s*#[^\\S\\n]*@(prettier|format)\\s*?(\\n|$)/.test(e)},insertPragma:function(e){return\"# @format\\n\\n\".concat(e)}};var n={locStart:function(e){return e.position.start.offset},locEnd:function(e){return e.position.end.offset}};function r(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}\n/*! *****************************************************************************\n Copyright (c) Microsoft Corporation.\n\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n PERFORMANCE OF THIS SOFTWARE.\n ***************************************************************************** */(null==t&&n.path)}},n.exports),n.exports}var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};var s=function(){return(s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function a(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,s=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=s.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(o)throw o.error}}return i}function c(e){return this instanceof c?(this.v=e,this):new c(e)}var u=Object.freeze({__proto__:null,__extends:function(e,t){function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},get __assign(){return s},__rest:function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o=0;a--)(o=e[a])&&(i=(s<3?o(i):s>3?o(t,n,i):o(t,n))||i);return s>3&&i&&Object.defineProperty(t,n,i),i},__param:function(e,t){return function(n,r){t(n,r,e)}},__metadata:function(e,t){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,n,r){return new(n||(n=Promise))((function(o,s){function i(e){try{c(r.next(e))}catch(e){s(e)}}function a(e){try{c(r.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,a)}c((r=r.apply(e,t||[])).next())}))},__generator:function(e,t){var n,r,o,s,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(n)throw new TypeError(\"Generator is already executing.\");for(;i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]1||a(e,t)}))})}function a(e,t){try{(n=o[e](t)).value instanceof c?Promise.resolve(n.value.v).then(u,l):f(s[0][2],n)}catch(e){f(s[0][3],e)}var n}function u(e){a(\"next\",e)}function l(e){a(\"throw\",e)}function f(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}},__asyncDelegator:function(e){var t,n;return t={},r(\"next\"),r(\"throw\",(function(e){throw e})),r(\"return\"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:c(e[r](t)),done:\"return\"===r}:o?o(t):t}:o}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=i(e),t={},r(\"next\"),r(\"throw\"),r(\"return\"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t){if(!t.has(e))throw new TypeError(\"attempted to get private field on non-instance\");return t.get(e)},__classPrivateFieldSet:function(e,t,n){if(!t.has(e))throw new TypeError(\"attempted to set private field on non-instance\");return t.set(e,n),n}}),l=r((function(e,t){var n=\"\\n\",r=function(){function e(e){this.string=e;for(var t=[0],r=0;rthis.string.length)return null;for(var t=0,n=this.offsets;n[t+1]<=e;)t++;return{line:t,column:e-n[t]}},e.prototype.indexForLocation=function(e){var t=e.line,n=e.column;return t<0||t>=this.offsets.length||n<0||n>this.lengthOfLine(t)?null:this.offsets[t]+n},e.prototype.lengthOfLine=function(e){var t=this.offsets[e];return(e===this.offsets.length-1?this.string.length:this.offsets[e+1])-t},e}();t.__esModule=!0,t.default=r})),f=r((function(e,t){t.__esModule=!0,t.defineParents=function e(t,n){void 0===n&&(n=null),\"children\"in t&&t.children.forEach((function(n){return e(n,t)})),\"anchor\"in t&&t.anchor&&e(t.anchor,t),\"tag\"in t&&t.tag&&e(t.tag,t),\"leadingComments\"in t&&t.leadingComments.forEach((function(n){return e(n,t)})),\"middleComments\"in t&&t.middleComments.forEach((function(n){return e(n,t)})),\"indicatorComment\"in t&&t.indicatorComment&&e(t.indicatorComment,t),\"trailingComment\"in t&&t.trailingComment&&e(t.trailingComment,t),\"endComments\"in t&&t.endComments.forEach((function(n){return e(n,t)})),Object.defineProperty(t,\"_parent\",{value:n,enumerable:!1})}})),h=r((function(e,t){t.__esModule=!0,t.getPointText=function(e){return e.line+\":\"+e.column}})),p=r((function(e,t){function n(e,t){if(t.position.start.offset!==t.position.end.offset){if(\"leadingComments\"in t){var r=t.position.start,o=e[r.line-1].leadingAttachableNode;(!o||r.column1&&\"document\"!==t.type&&\"documentHead\"!==t.type){var s=t.position.end,i=e[s.line-1].trailingAttachableNode;(!i||s.column>=i.position.end.column)&&(e[s.line-1].trailingAttachableNode=t)}if(\"root\"!==t.type&&\"document\"!==t.type&&\"documentHead\"!==t.type&&\"documentBody\"!==t.type)for(var a=t.position,c=(r=a.start,0),u=[(s=a.end).line].concat(r.line===s.line?[]:r.line);c=f.position.end.column)&&(e[l-1].trailingNode=t)}\"children\"in t&&t.children.forEach((function(t){n(e,t)}))}}function r(e,t){if(e.position.start.offsett.position.end.offset)switch(e.type){case\"flowMapping\":case\"flowSequence\":return 0===e.children.length||t.position.start.line>e.children[e.children.length-1].position.end.line}if(t.position.end.offsete.position.start.column;case\"mappingKey\":case\"mappingValue\":return t.position.start.column>e._parent.position.start.column&&(0===e.children.length||1===e.children.length&&\"blockFolded\"!==e.children[0].type&&\"blockLiteral\"!==e.children[0].type)&&(\"mappingValue\"===e.type||o(e));default:return!1}}function o(e){return e.position.start!==e.position.end&&(0===e.children.length||e.position.start.offset!==e.children[0].position.start.offset)}t.__esModule=!0,t.attachComments=function(e){f.defineParents(e);var t=function(e){for(var t=Array.from(new Array(e.position.end.line),(function(){return{}})),r=0,o=e.comments;r1&&e.position.start.line>s[0].position.end.line;)s.shift();!function(e,t,n){var s=e.position.start.line,i=t[s-1].trailingAttachableNode;if(i){if(i.trailingComment)throw new Error(\"Unexpected multiple trailing comment at \"+h.getPointText(e.position.start));return f.defineParents(e,i),void(i.trailingComment=e)}for(var a=s;a>=n.position.start.line;a--){var c=t[a-1].trailingNode,u=void 0;if(c)u=c;else{if(a===s||!t[a-1].comment)continue;u=t[a-1].comment._parent}if(\"sequence\"!==u.type&&\"mapping\"!==u.type||(u=u.children[0]),\"mappingItem\"===u.type){var l=u.children,p=l[0],d=l[1];u=o(p)?p:d}for(;;){if(r(u,e))return f.defineParents(e,u),void u.endComments.push(e);if(!u._parent)break;u=u._parent}break}for(a=s+1;a<=n.position.end.line;a++){var g=t[a-1].leadingAttachableNode;if(g)return f.defineParents(e,g),void g.leadingComments.push(e)}var m=n.children[1];f.defineParents(e,m),m.endComments.push(e)}(e,t,s[0])}))}})),d=r((function(e,t){t.__esModule=!0,t.createNode=function(e,t){return{type:e,position:t}}})),g=r((function(e,t){t.__esModule=!0,t.createRoot=function(e,t,n){return u.__assign(u.__assign({},d.createNode(\"root\",e)),{children:t,comments:n})}})),m=r((function(e,t){t.__esModule=!0,t.removeCstBlankLine=function e(t){switch(t.type){case\"DOCUMENT\":for(var n=t.contents.length-1;n>=0;n--)\"BLANK_LINE\"===t.contents[n].type?t.contents.splice(n,1):e(t.contents[n]);for(n=t.directives.length-1;n>=0;n--)\"BLANK_LINE\"===t.directives[n].type&&t.directives.splice(n,1);break;case\"FLOW_MAP\":case\"FLOW_SEQ\":case\"MAP\":case\"SEQ\":for(n=t.items.length-1;n>=0;n--){var r=t.items[n];\"char\"in r||(\"BLANK_LINE\"===r.type?t.items.splice(n,1):e(r))}break;case\"MAP_KEY\":case\"MAP_VALUE\":case\"SEQ_ITEM\":t.node&&e(t.node);break;case\"ALIAS\":case\"BLANK_LINE\":case\"BLOCK_FOLDED\":case\"BLOCK_LITERAL\":case\"COMMENT\":case\"DIRECTIVE\":case\"PLAIN\":case\"QUOTE_DOUBLE\":case\"QUOTE_SINGLE\":break;default:throw new Error(\"Unexpected node type \"+JSON.stringify(t.type))}}})),y=r((function(e,t){t.__esModule=!0,t.createLeadingCommentAttachable=function(){return{leadingComments:[]}}})),v=r((function(e,t){t.__esModule=!0,t.createTrailingCommentAttachable=function(e){return void 0===e&&(e=null),{trailingComment:e}}})),_=r((function(e,t){t.__esModule=!0,t.createCommentAttachable=function(){return u.__assign(u.__assign({},y.createLeadingCommentAttachable()),v.createTrailingCommentAttachable())}})),w=r((function(e,t){t.__esModule=!0,t.createAlias=function(e,t,n){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode(\"alias\",e)),_.createCommentAttachable()),t),{value:n})}})),E=r((function(e,t){t.__esModule=!0,t.transformAlias=function(e,t){var n=e.cstNode;return w.createAlias(t.transformRange({origStart:n.valueRange.origStart-1,origEnd:n.valueRange.origEnd}),t.transformContent(e),n.rawValue)}})),S=r((function(e,t){t.__esModule=!0,t.createBlockFolded=function(e){return u.__assign(u.__assign({},e),{type:\"blockFolded\"})}})),b=r((function(e,t){t.__esModule=!0,t.createBlockValue=function(e,t,n,r,o,s){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode(\"blockValue\",e)),y.createLeadingCommentAttachable()),t),{chomping:n,indent:r,value:o,indicatorComment:s})}})),A=r((function(e,t){t.__esModule=!0,function(e){e.Tag=\"!\",e.Anchor=\"&\",e.Comment=\"#\"}(t.PropLeadingCharacter||(t.PropLeadingCharacter={}))})),M=r((function(e,t){t.__esModule=!0,t.createAnchor=function(e,t){return u.__assign(u.__assign({},d.createNode(\"anchor\",e)),{value:t})}})),O=r((function(e,t){t.__esModule=!0,t.createComment=function(e,t){return u.__assign(u.__assign({},d.createNode(\"comment\",e)),{value:t})}})),L=r((function(e,t){t.__esModule=!0,t.createContent=function(e,t,n){return{anchor:t,tag:e,middleComments:n}}})),N=r((function(e,t){t.__esModule=!0,t.createTag=function(e,t){return u.__assign(u.__assign({},d.createNode(\"tag\",e)),{value:t})}})),T=r((function(e,t){t.__esModule=!0,t.transformContent=function(e,t,n){void 0===n&&(n=function(){return!1});for(var r=e.cstNode,o=[],s=null,i=null,a=null,c=0,u=r.props;c=0;c--){var u=e.contents[c];if(\"COMMENT\"===u.type){var l=t.transformNode(u);n&&n.line===l.position.start.line?i.unshift(l):a?r.unshift(l):l.position.start.offset>=e.valueRange.origEnd?s.unshift(l):r.unshift(l)}else a=!0}if(s.length>1)throw new Error(\"Unexpected multiple document trailing comments at \"+h.getPointText(s[1].position.start));if(i.length>1)throw new Error(\"Unexpected multiple documentHead trailing comments at \"+h.getPointText(i[1].position.start));return{comments:r,endComments:o,documentTrailingComment:W.getLast(s)||null,documentHeadTrailingComment:W.getLast(i)||null}}(o,t,n),i=s.comments,a=s.endComments,c=s.documentTrailingComment,l=s.documentHeadTrailingComment,f=t.transformNode(e.contents),p=function(e,t,n){var r=Q.getMatchIndex(n.text.slice(e.valueRange.origEnd),/^\\.\\.\\./),o=-1===r?e.valueRange.origEnd:Math.max(0,e.valueRange.origEnd-1);\"\\r\"===n.text[o-1]&&o--;var s=n.transformRange({origStart:null!==t?t.position.start.offset:o,origEnd:o}),i=-1===r?s.end:n.transformOffset(e.valueRange.origEnd+3);return{position:s,documentEndPoint:i}}(o,f,t),d=p.position,g=p.documentEndPoint;return(r=t.comments).push.apply(r,u.__spreadArrays(i,a)),{documentBody:j.createDocumentBody(d,f,a),documentEndPoint:g,documentTrailingComment:c,documentHeadTrailingComment:l}}})),K=r((function(e,t){t.__esModule=!0,t.createDocumentHead=function(e,t,n,r){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode(\"documentHead\",e)),F.createEndCommentAttachable(n)),v.createTrailingCommentAttachable(r)),{children:t})}})),q=r((function(e,t){t.__esModule=!0,t.transformDocumentHead=function(e,t){var n,r=e.cstNode,o=function(e,t){for(var n=[],r=[],o=[],s=!1,i=e.directives.length-1;i>=0;i--){var a=t.transformNode(e.directives[i]);\"comment\"===a.type?s?r.unshift(a):o.unshift(a):(s=!0,n.unshift(a))}return{directives:n,comments:r,endComments:o}}(r,t),s=o.directives,i=o.comments,a=o.endComments,c=function(e,t,n){var r=Q.getMatchIndex(n.text.slice(0,e.valueRange.origStart),/---\\s*$/);r>0&&!/[\\r\\n]/.test(n.text[r-1])&&(r=-1);var o=-1===r?{origStart:e.valueRange.origStart,origEnd:e.valueRange.origStart}:{origStart:r,origEnd:r+3};0!==t.length&&(o.origStart=t[0].position.start.offset);return{position:n.transformRange(o),endMarkerPoint:-1===r?null:n.transformOffset(r)}}(r,s,t),l=c.position,f=c.endMarkerPoint;return(n=t.comments).push.apply(n,u.__spreadArrays(i,a)),{createDocumentHeadWithTrailingComment:function(e){return e&&t.comments.push(e),K.createDocumentHead(l,s,a,e)},documentHeadEndMarkerPoint:f}}})),J=r((function(e,t){t.__esModule=!0,t.transformDocument=function(e,t){var n=q.transformDocumentHead(e,t),r=n.createDocumentHeadWithTrailingComment,o=n.documentHeadEndMarkerPoint,s=V.transformDocumentBody(e,t,o),i=s.documentBody,a=s.documentEndPoint,c=s.documentTrailingComment,u=r(s.documentHeadTrailingComment);return c&&t.comments.push(c),D.createDocument(U.createPosition(u.position.start,a),u,i,c)}})),$=r((function(e,t){t.__esModule=!0,t.createFlowCollection=function(e,t,n){return u.__assign(u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode(\"flowCollection\",e)),_.createCommentAttachable()),F.createEndCommentAttachable()),t),{children:n})}})),G=r((function(e,t){t.__esModule=!0,t.createFlowMapping=function(e,t,n){return u.__assign(u.__assign({},$.createFlowCollection(e,t,n)),{type:\"flowMapping\"})}})),H=r((function(e,t){t.__esModule=!0,t.createFlowMappingItem=function(e,t,n){return u.__assign(u.__assign(u.__assign({},d.createNode(\"flowMappingItem\",e)),y.createLeadingCommentAttachable()),{children:[t,n]})}})),z=r((function(e,t){t.__esModule=!0,t.extractComments=function(e,t){for(var n=[],r=0,o=e;r=0;r--)if(n.test(e[r]))return r;return-1}})),pe=r((function(e,t){t.__esModule=!0,t.transformPlain=function(e,t){var n=e.cstNode;return fe.createPlain(t.transformRange({origStart:n.valueRange.origStart,origEnd:he.findLastCharIndex(t.text,n.valueRange.origEnd-1,/\\S/)+1}),t.transformContent(e),n.strValue)}})),de=r((function(e,t){t.__esModule=!0,t.createQuoteDouble=function(e){return u.__assign(u.__assign({},e),{type:\"quoteDouble\"})}})),ge=r((function(e,t){t.__esModule=!0,t.createQuoteValue=function(e,t,n){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode(\"quoteValue\",e)),t),_.createCommentAttachable()),{value:n})}})),me=r((function(e,t){t.__esModule=!0,t.transformAstQuoteValue=function(e,t){var n=e.cstNode;return ge.createQuoteValue(t.transformRange(n.valueRange),t.transformContent(e),n.strValue)}})),ye=r((function(e,t){t.__esModule=!0,t.transformQuoteDouble=function(e,t){return de.createQuoteDouble(me.transformAstQuoteValue(e,t))}})),ve=r((function(e,t){t.__esModule=!0,t.createQuoteSingle=function(e){return u.__assign(u.__assign({},e),{type:\"quoteSingle\"})}})),_e=r((function(e,t){t.__esModule=!0,t.transformQuoteSingle=function(e,t){return ve.createQuoteSingle(me.transformAstQuoteValue(e,t))}})),we=r((function(e,t){t.__esModule=!0,t.createSequence=function(e,t,n){return u.__assign(u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode(\"sequence\",e)),y.createLeadingCommentAttachable()),F.createEndCommentAttachable()),t),{children:n})}})),Ee=r((function(e,t){t.__esModule=!0,t.createSequenceItem=function(e,t){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode(\"sequenceItem\",e)),_.createCommentAttachable()),F.createEndCommentAttachable()),{children:t?[t]:[]})}})),Se=r((function(e,t){t.__esModule=!0,t.transformSeq=function(e,t){var n=z.extractComments(e.cstNode.items,t).map((function(n,r){B.extractPropComments(n,t);var o=t.transformNode(e.items[r]);return Ee.createSequenceItem(U.createPosition(t.transformOffset(n.valueRange.origStart),null===o?t.transformOffset(n.valueRange.origStart+1):o.position.end),o)}));return we.createSequence(U.createPosition(n[0].position.start,W.getLast(n).position.end),t.transformContent(e),n)}})),be=r((function(e,t){t.__esModule=!0,t.transformNode=function(e,t){if(null===e||void 0===e.type&&null===e.value)return null;switch(e.type){case\"ALIAS\":return E.transformAlias(e,t);case\"BLOCK_FOLDED\":return x.transformBlockFolded(e,t);case\"BLOCK_LITERAL\":return R.transformBlockLiteral(e,t);case\"COMMENT\":return I.transformComment(e,t);case\"DIRECTIVE\":return Y.transformDirective(e,t);case\"DOCUMENT\":return J.transformDocument(e,t);case\"FLOW_MAP\":return oe.transformFlowMap(e,t);case\"FLOW_SEQ\":return ae.transformFlowSeq(e,t);case\"MAP\":return le.transformMap(e,t);case\"PLAIN\":return pe.transformPlain(e,t);case\"QUOTE_DOUBLE\":return ye.transformQuoteDouble(e,t);case\"QUOTE_SINGLE\":return _e.transformQuoteSingle(e,t);case\"SEQ\":return Se.transformSeq(e,t);default:throw new Error(\"Unexpected node type \"+e.type)}}})),Ae=r((function(e,t){t.__esModule=!0,t.createError=function(e,t,n){var r=new SyntaxError(e);return r.name=\"YAMLSyntaxError\",r.source=t,r.position=n,r}})),Me=r((function(e,t){t.__esModule=!0,t.transformError=function(e,t){var n=e.source.range||e.source.valueRange;return Ae.createError(e.message,t.text,t.transformRange(n))}})),Oe=r((function(e,t){t.__esModule=!0,t.createPoint=function(e,t,n){return{offset:e,line:t,column:n}}})),Le=r((function(e,t){t.__esModule=!0,t.transformOffset=function(e,t){e<0?e=0:e>t.text.length&&(e=t.text.length);var n=t.locator.locationForIndex(e);return Oe.createPoint(e,n.line+1,n.column+1)}})),Ne=r((function(e,t){t.__esModule=!0,t.transformRange=function(e,t){return U.createPosition(t.transformOffset(e.origStart),t.transformOffset(e.origEnd))}})),Te=r((function(e,t){t.__esModule=!0;var n=!0;function r(e,t){if(e&&\"object\"==typeof e&&t(e)!==n)for(var o=0,s=Object.keys(e);oe.offset}t.__esModule=!0,t.updatePositions=function e(t){if(null!==t&&\"children\"in t){var c=t.children;if(c.forEach(e),\"document\"===t.type){var u=t.children,l=u[0],f=u[1];l.position.start.offset===l.position.end.offset?l.position.start=l.position.end=f.position.start:f.position.start.offset===f.position.end.offset&&(f.position.start=f.position.end=l.position.end)}var h=xe.createUpdater(t.position,n,r,i),p=xe.createUpdater(t.position,o,s,a);\"endComments\"in t&&0!==t.endComments.length&&(h(t.endComments[0].position.start),p(W.getLast(t.endComments).position.end));var d=c.filter((function(e){return null!==e}));if(0!==d.length){var g=d[0],m=W.getLast(d);h(g.position.start),p(m.position.end),\"leadingComments\"in g&&0!==g.leadingComments.length&&h(g.leadingComments[0].position.start),\"tag\"in g&&g.tag&&h(g.tag.position.start),\"anchor\"in g&&g.anchor&&h(g.anchor.position.start),\"trailingComment\"in m&&m.trailingComment&&p(m.trailingComment.position.end)}}}}));const Re={ANCHOR:\"&\",COMMENT:\"#\",TAG:\"!\",DIRECTIVES_END:\"-\",DOCUMENT_END:\".\"},Ie={ALIAS:\"ALIAS\",BLANK_LINE:\"BLANK_LINE\",BLOCK_FOLDED:\"BLOCK_FOLDED\",BLOCK_LITERAL:\"BLOCK_LITERAL\",COMMENT:\"COMMENT\",DIRECTIVE:\"DIRECTIVE\",DOCUMENT:\"DOCUMENT\",FLOW_MAP:\"FLOW_MAP\",FLOW_SEQ:\"FLOW_SEQ\",MAP:\"MAP\",MAP_KEY:\"MAP_KEY\",MAP_VALUE:\"MAP_VALUE\",PLAIN:\"PLAIN\",QUOTE_DOUBLE:\"QUOTE_DOUBLE\",QUOTE_SINGLE:\"QUOTE_SINGLE\",SEQ:\"SEQ\",SEQ_ITEM:\"SEQ_ITEM\"};function ke(e){const t=[0];let n=e.indexOf(\"\\n\");for(;-1!==n;)n+=1,t.push(n),n=e.indexOf(\"\\n\",n);return t}function Be(e){let t,n;return\"string\"==typeof e?(t=ke(e),n=e):(Array.isArray(e)&&(e=e[0]),e&&e.context&&(e.lineStarts||(e.lineStarts=ke(e.context.src)),t=e.lineStarts,n=e.context.src)),{lineStarts:t,src:n}}function Ye(e,t){if(\"number\"!=typeof e||e<0)return null;const{lineStarts:n,src:r}=Be(t);if(!n||!r||e>r.length)return null;for(let t=0;t=1)||e>n.length)return null;const o=n[e-1];let s=n[e];for(;s&&s>o&&\"\\n\"===r[s-1];)--s;return r.slice(o,s)}(e.line,n);if(!o)return null;let{col:s}=e;if(o.length>r)if(s<=r-10)o=o.substr(0,r-1)+\"\\u2026\";else{const e=Math.round(r/2);o.length>s+e&&(o=o.substr(0,s+e-1)+\"\\u2026\"),s-=o.length-r,o=\"\\u2026\"+o.substr(1-r)}let i=1,a=\"\";t&&(t.line===e.line&&s+(t.col-e.col)<=r+1?i=t.col-e.col:(i=Math.min(o.length+1,r)-s,a=\"\\u2026\"));const c=s>1?\" \".repeat(s-1):\"\",u=\"^\".repeat(i);return\"\".concat(o,\"\\n\").concat(c).concat(u).concat(a)}class Ue{static copy(e){return new Ue(e.start,e.end)}constructor(e,t){this.start=e,this.end=t||e}isEmpty(){return\"number\"!=typeof this.start||!this.end||this.end<=this.start}setOrigRange(e,t){const{start:n,end:r}=this;if(0===e.length||r<=e[0])return this.origStart=n,this.origEnd=r,t;let o=t;for(;on);)++o;this.origStart=n+o;const s=o;for(;o=r);)++o;return this.origEnd=r+o,s}}class Fe{static addStringTerminator(e,t,n){if(\"\\n\"===n[n.length-1])return n;const r=Fe.endOfWhiteSpace(e,t);return r>=e.length||\"\\n\"===e[r]?n+\"\\n\":n}static atDocumentBoundary(e,t,n){const r=e[t];if(!r)return!0;const o=e[t-1];if(o&&\"\\n\"!==o)return!1;if(n){if(r!==n)return!1}else if(r!==Re.DIRECTIVES_END&&r!==Re.DOCUMENT_END)return!1;const s=e[t+1],i=e[t+2];if(s!==r||i!==r)return!1;const a=e[t+3];return!a||\"\\n\"===a||\"\\t\"===a||\" \"===a}static endOfIdentifier(e,t){let n=e[t];const r=\"<\"===n,o=r?[\"\\n\",\"\\t\",\" \",\">\"]:[\"\\n\",\"\\t\",\" \",\"[\",\"]\",\"{\",\"}\",\",\"];for(;n&&-1===o.indexOf(n);)n=e[t+=1];return r&&\">\"===n&&(t+=1),t}static endOfIndent(e,t){let n=e[t];for(;\" \"===n;)n=e[t+=1];return t}static endOfLine(e,t){let n=e[t];for(;n&&\"\\n\"!==n;)n=e[t+=1];return t}static endOfWhiteSpace(e,t){let n=e[t];for(;\"\\t\"===n||\" \"===n;)n=e[t+=1];return t}static startOfLine(e,t){let n=e[t-1];if(\"\\n\"===n)return t;for(;n&&\"\\n\"!==n;)n=e[t-=1];return t+1}static endOfBlockIndent(e,t,n){const r=Fe.endOfIndent(e,n);if(r>n+t)return r;{const t=Fe.endOfWhiteSpace(e,r),n=e[t];if(!n||\"\\n\"===n)return t}return null}static atBlank(e,t,n){const r=e[t];return\"\\n\"===r||\"\\t\"===r||\" \"===r||n&&!r}static nextNodeIsIndented(e,t,n){return!(!e||t<0)&&(t>0||n&&\"-\"===e)}static normalizeOffset(e,t){const n=e[t];return n?\"\\n\"!==n&&\"\\n\"===e[t-1]?t-1:Fe.endOfWhiteSpace(e,t):t}static foldNewline(e,t,n){let r=0,o=!1,s=\"\",i=e[t+1];for(;\" \"===i||\"\\t\"===i||\"\\n\"===i;){switch(i){case\"\\n\":r=0,t+=1,s+=\"\\n\";break;case\"\\t\":r<=n&&(o=!0),t=Fe.endOfWhiteSpace(e,t+2)-1;break;case\" \":r+=1,t+=1}i=e[t+1]}return s||(s=\" \"),i&&r<=n&&(o=!0),{fold:s,offset:t,error:o}}constructor(e,t,n){Object.defineProperty(this,\"context\",{value:n||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=t||[],this.type=e,this.value=null}getPropValue(e,t,n){if(!this.context)return null;const{src:r}=this.context,o=this.props[e];return o&&r[o.start]===t?r.slice(o.start+(n?1:0),o.end):null}get anchor(){for(let e=0;e0?e.join(\"\\n\"):null}commentHasRequiredWhitespace(e){const{src:t}=this.context;if(this.header&&e===this.header.end)return!1;if(!this.valueRange)return!1;const{end:n}=this.valueRange;return e!==n||Fe.atBlank(t,n-1)}get hasComment(){if(this.context){const{src:e}=this.context;for(let t=0;tn.setOrigRange(e,t))),t}toString(){const{context:{src:e},range:t,value:n}=this;if(null!=n)return n;const r=e.slice(t.start,t.end);return Fe.addStringTerminator(e,t.end,r)}}class je extends Error{constructor(e,t,n){if(!(n&&t instanceof Fe))throw new Error(\"Invalid arguments for new \".concat(e));super(),this.name=e,this.message=n,this.source=t}makePretty(){if(!this.source)return;this.nodeType=this.source.type;const e=this.source.context&&this.source.context.root;if(\"number\"==typeof this.offset){this.range=new Ue(this.offset,this.offset+1);const t=e&&Ye(this.offset,e);if(t){const e={line:t.line,col:t.col+1};this.linePos={start:t,end:e}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){const{line:t,col:n}=this.linePos.start;this.message+=\" at line \".concat(t,\", column \").concat(n);const r=e&&De(this.linePos,e);r&&(this.message+=\":\\n\\n\".concat(r,\"\\n\"))}delete this.source}}class We extends je{constructor(e,t){super(\"YAMLSemanticError\",e,t)}}class Qe extends Fe{static endOfLine(e,t,n){let r=e[t],o=t;for(;r&&\"\\n\"!==r&&(!n||\"[\"!==r&&\"]\"!==r&&\"{\"!==r&&\"}\"!==r&&\",\"!==r);){const t=e[o+1];if(\":\"===r&&(!t||\"\\n\"===t||\"\\t\"===t||\" \"===t||n&&\",\"===t))break;if((\" \"===r||\"\\t\"===r)&&\"#\"===t)break;o+=1,r=t}return o}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e,end:t}=this.valueRange;const{src:n}=this.context;let r=n[t-1];for(;es?n.slice(s,r+1):e)}else o+=e}const s=n[e];switch(s){case\"\\t\":return{errors:[new We(this,\"Plain value cannot start with a tab character\")],str:o};case\"@\":case\"`\":{const e=\"Plain value cannot start with reserved character \".concat(s);return{errors:[new We(this,e)],str:o}}default:return o}}parseBlockValue(e){const{indent:t,inFlow:n,src:r}=this.context;let o=e,s=e;for(let e=r[o];\"\\n\"===e&&!Fe.atDocumentBoundary(r,o+1);e=r[o]){const e=Fe.endOfBlockIndent(r,t,o+1);if(null===e||\"#\"===r[e])break;\"\\n\"===r[e]?o=e:(s=Qe.endOfLine(r,e,n),o=s)}return this.valueRange.isEmpty()&&(this.valueRange.start=e),this.valueRange.end=s,s}parse(e,t){this.context=e;const{inFlow:n,src:r}=e;let o=t;const s=r[o];return s&&\"#\"!==s&&\"\\n\"!==s&&(o=Qe.endOfLine(r,t,n)),this.valueRange=new Ue(t,o),o=Fe.endOfWhiteSpace(r,o),o=this.parseComment(o),this.hasComment&&!this.valueRange.isEmpty()||(o=this.parseBlockValue(o)),o}}var Ve={Char:Re,Node:Fe,PlainValue:Qe,Range:Ue,Type:Ie,YAMLError:je,YAMLReferenceError:class extends je{constructor(e,t){super(\"YAMLReferenceError\",e,t)}},YAMLSemanticError:We,YAMLSyntaxError:class extends je{constructor(e,t){super(\"YAMLSyntaxError\",e,t)}},YAMLWarning:class extends je{constructor(e,t){super(\"YAMLWarning\",e,t)}},_defineProperty:function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},defaultTagPrefix:\"tag:yaml.org,2002:\",defaultTags:{MAP:\"tag:yaml.org,2002:map\",SEQ:\"tag:yaml.org,2002:seq\",STR:\"tag:yaml.org,2002:str\"}};class Ke extends Ve.Node{constructor(){super(Ve.Type.BLANK_LINE)}get includesTrailingLines(){return!0}parse(e,t){return this.context=e,this.range=new Ve.Range(t,t+1),t+1}}class qe extends Ve.Node{constructor(e,t){super(e,t),this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let{atLineStart:o,lineStart:s}=e;o||this.type!==Ve.Type.SEQ_ITEM||(this.error=new Ve.YAMLSemanticError(this,\"Sequence items must not have preceding content on the same line\"));const i=o?t-s:e.indent;let a=Ve.Node.endOfWhiteSpace(r,t+1),c=r[a];const u=\"#\"===c,l=[];let f=null;for(;\"\\n\"===c||\"#\"===c;){if(\"#\"===c){const e=Ve.Node.endOfLine(r,a+1);l.push(new Ve.Range(a,e)),a=e}else{o=!0,s=a+1;\"\\n\"===r[Ve.Node.endOfWhiteSpace(r,s)]&&0===l.length&&(f=new Ke,s=f.parse({src:r},s)),a=Ve.Node.endOfIndent(r,s)}c=r[a]}if(Ve.Node.nextNodeIsIndented(c,a-(s+i),this.type!==Ve.Type.SEQ_ITEM)?this.node=n({atLineStart:o,inCollection:!1,indent:i,lineStart:s,parent:this},a):c&&s>t+1&&(a=s-1),this.node){if(f){const t=e.parent.items||e.parent.contents;t&&t.push(f)}l.length&&Array.prototype.push.apply(this.props,l),a=this.node.range.end}else if(u){const e=l[0];this.props.push(e),a=e.end}else a=Ve.Node.endOfLine(r,t+1);const h=this.node?this.node.valueRange.end:a;return this.valueRange=new Ve.Range(t,h),a}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.node?this.node.setOrigRanges(e,t):t}toString(){const{context:{src:e},node:t,range:n,value:r}=this;if(null!=r)return r;const o=t?e.slice(n.start,t.range.start)+String(t):e.slice(n.start,n.end);return Ve.Node.addStringTerminator(e,n.end,o)}}class Je extends Ve.Node{constructor(){super(Ve.Type.COMMENT)}parse(e,t){this.context=e;const n=this.parseComment(t);return this.range=new Ve.Range(t,n),n}}function $e(e){let t=e;for(;t instanceof qe;)t=t.node;if(!(t instanceof Ge))return null;const n=t.items.length;let r=-1;for(let e=n-1;e>=0;--e){const n=t.items[e];if(n.type===Ve.Type.COMMENT){const{indent:t,lineStart:o}=n.context;if(t>0&&n.range.start>=o+t)break;r=e}else{if(n.type!==Ve.Type.BLANK_LINE)break;r=e}}if(-1===r)return null;const o=t.items.splice(r,n-r),s=o[0].range.start;for(;t.range.end=s,t.valueRange&&t.valueRange.end>s&&(t.valueRange.end=s),t!==e;)t=t.context.parent;return o}class Ge extends Ve.Node{static nextContentHasIndent(e,t,n){const r=Ve.Node.endOfLine(e,t)+1,o=e[t=Ve.Node.endOfWhiteSpace(e,r)];return!!o&&(t>=r+n||(\"#\"===o||\"\\n\"===o)&&Ge.nextContentHasIndent(e,t,n))}constructor(e){super(e.type===Ve.Type.SEQ_ITEM?Ve.Type.SEQ:Ve.Type.MAP);for(let t=e.props.length-1;t>=0;--t)if(e.props[t].start0}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let o=Ve.Node.startOfLine(r,t);const s=this.items[0];s.context.parent=this,this.valueRange=Ve.Range.copy(s.valueRange);const i=s.range.start-s.context.lineStart;let a=t;a=Ve.Node.normalizeOffset(r,a);let c=r[a],u=Ve.Node.endOfWhiteSpace(r,o)===a,l=!1;for(;c;){for(;\"\\n\"===c||\"#\"===c;){if(u&&\"\\n\"===c&&!l){const e=new Ke;if(a=e.parse({src:r},a),this.valueRange.end=a,a>=r.length){c=null;break}this.items.push(e),a-=1}else if(\"#\"===c){if(a=r.length){c=null;break}}if(o=a+1,a=Ve.Node.endOfIndent(r,o),Ve.Node.atBlank(r,a)){const e=Ve.Node.endOfWhiteSpace(r,a),t=r[e];t&&\"\\n\"!==t&&\"#\"!==t||(a=e)}c=r[a],u=!0}if(!c)break;if(a!==o+i&&(u||\":\"!==c)){if(at&&(a=o);break}if(!this.error){const e=\"All collection items must start at the same column\";this.error=new Ve.YAMLSyntaxError(this,e)}}if(s.type===Ve.Type.SEQ_ITEM){if(\"-\"!==c){o>t&&(a=o);break}}else if(\"-\"===c&&!this.error){const e=r[a+1];if(!e||\"\\n\"===e||\"\\t\"===e||\" \"===e){const e=\"A collection cannot be both a mapping and a sequence\";this.error=new Ve.YAMLSyntaxError(this,e)}}const e=n({atLineStart:u,inCollection:!0,indent:i,lineStart:o,parent:this},a);if(!e)return a;if(this.items.push(e),this.valueRange.end=e.valueRange.end,a=Ve.Node.normalizeOffset(r,e.range.end),c=r[a],u=!1,l=e.includesTrailingLines,c){let e=a-1,t=r[e];for(;\" \"===t||\"\\t\"===t;)t=r[--e];\"\\n\"===t&&(o=e+1,u=!0)}const f=$e(e);f&&Array.prototype.push.apply(this.items,f)}return a}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.items.forEach((n=>{t=n.setOrigRanges(e,t)})),t}toString(){const{context:{src:e},items:t,range:n,value:r}=this;if(null!=r)return r;let o=e.slice(n.start,t[0].range.start)+String(t[0]);for(let e=1;e0&&(this.contents=this.directives,this.directives=[]),o}return t[o]?(this.directivesEndMarker=new Ve.Range(o,o+3),o+3):(r?this.error=new Ve.YAMLSemanticError(this,\"Missing directives-end indicator line\"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),o)}parseContents(e){const{parseNode:t,src:n}=this.context;this.contents||(this.contents=[]);let r=e;for(;\"-\"===n[r-1];)r-=1;let o=Ve.Node.endOfWhiteSpace(n,e),s=r===e;for(this.valueRange=new Ve.Range(o);!Ve.Node.atDocumentBoundary(n,o,Ve.Char.DOCUMENT_END);){switch(n[o]){case\"\\n\":if(s){const e=new Ke;o=e.parse({src:n},o),o{t=n.setOrigRanges(e,t)})),this.directivesEndMarker&&(t=this.directivesEndMarker.setOrigRange(e,t)),this.contents.forEach((n=>{t=n.setOrigRanges(e,t)})),this.documentEndMarker&&(t=this.documentEndMarker.setOrigRange(e,t)),t}toString(){const{contents:e,directives:t,value:n}=this;if(null!=n)return n;let r=t.join(\"\");return e.length>0&&((t.length>0||e[0].type===Ve.Type.COMMENT)&&(r+=\"---\\n\"),r+=e.join(\"\")),\"\\n\"!==r[r.length-1]&&(r+=\"\\n\"),r}}class Ze extends Ve.Node{parse(e,t){this.context=e;const{src:n}=e;let r=Ve.Node.endOfIdentifier(n,t+1);return this.valueRange=new Ve.Range(t+1,r),r=Ve.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}const Xe=\"CLIP\",et=\"KEEP\",tt=\"STRIP\";class nt extends Ve.Node{constructor(e,t){super(e,t),this.blockIndent=null,this.chomping=Xe,this.header=null}get includesTrailingLines(){return this.chomping===et}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e,end:t}=this.valueRange;const{indent:n,src:r}=this.context;if(this.valueRange.isEmpty())return\"\";let o=null,s=r[t-1];for(;\"\\n\"===s||\"\\t\"===s||\" \"===s;){if(t-=1,t<=e){if(this.chomping===et)break;return\"\"}\"\\n\"===s&&(o=t),s=r[t-1]}let i=t+1;o&&(this.chomping===et?(i=o,t=this.valueRange.end):t=o);const a=n+this.blockIndent,c=this.type===Ve.Type.BLOCK_FOLDED;let u=!0,l=\"\",f=\"\",h=!1;for(let n=e;ni&&(i=c);o=\"\\n\"===n[e]?e:s=Ve.Node.endOfLine(n,e)}return this.chomping!==et&&(o=n[s]?s+1:s),this.valueRange=new Ve.Range(e+1,o),o}parse(e,t){this.context=e;const{src:n}=e;let r=this.parseBlockHeader(t);return r=Ve.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r=this.parseBlockValue(r),r}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.header?this.header.setOrigRange(e,t):t}}class rt extends Ve.Node{constructor(e,t){super(e,t),this.items=null}prevNodeIsJsonLike(e=this.items.length){const t=this.items[e-1];return!!t&&(t.jsonLike||t.type===Ve.Type.COMMENT&&this.prevNodeIsJsonLike(e-1))}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let{indent:o,lineStart:s}=e,i=r[t];this.items=[{char:i,offset:t}];let a=Ve.Node.endOfWhiteSpace(r,t+1);for(i=r[a];i&&\"]\"!==i&&\"}\"!==i;){switch(i){case\"\\n\":s=a+1;if(\"\\n\"===r[Ve.Node.endOfWhiteSpace(r,s)]){const e=new Ke;s=e.parse({src:r},s),this.items.push(e)}if(a=Ve.Node.endOfIndent(r,s),a<=s+o&&(i=r[a],a{if(n instanceof Ve.Node)t=n.setOrigRanges(e,t);else if(0===e.length)n.origOffset=n.offset;else{let r=t;for(;rn.offset);)++r;n.origOffset=n.offset+r,t=r}})),t}toString(){const{context:{src:e},items:t,range:n,value:r}=this;if(null!=r)return r;const o=t.filter((e=>e instanceof Ve.Node));let s=\"\",i=n.start;return o.forEach((t=>{const n=e.slice(i,t.range.start);i=t.range.end,s+=n+String(t),\"\\n\"===s[s.length-1]&&\"\\n\"!==e[i-1]&&\"\\n\"===e[i]&&(i+=1)})),s+=e.slice(i,n.end),Ve.Node.addStringTerminator(e,n.end,s)}}class ot extends Ve.Node{static endOfQuote(e,t){let n=e[t];for(;n&&'\"'!==n;)n=e[t+=\"\\\\\"===n?2:1];return t+1}get strValue(){if(!this.valueRange||!this.context)return null;const e=[],{start:t,end:n}=this.valueRange,{indent:r,src:o}=this.context;'\"'!==o[n-1]&&e.push(new Ve.YAMLSyntaxError(this,'Missing closing \"quote'));let s=\"\";for(let i=t+1;ie?o.slice(e,i+1):t)}else s+=t}return e.length>0?{errors:e,str:s}:s}parseCharCode(e,t,n){const{src:r}=this.context,o=r.substr(e,t),s=o.length===t&&/^[0-9a-fA-F]+$/.test(o)?parseInt(o,16):NaN;return isNaN(s)?(n.push(new Ve.YAMLSyntaxError(this,\"Invalid escape sequence \".concat(r.substr(e-2,t+2)))),r.substr(e-2,t+2)):String.fromCodePoint(s)}parse(e,t){this.context=e;const{src:n}=e;let r=ot.endOfQuote(n,t+1);return this.valueRange=new Ve.Range(t,r),r=Ve.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}class st extends Ve.Node{static endOfQuote(e,t){let n=e[t];for(;n;)if(\"'\"===n){if(\"'\"!==e[t+1])break;n=e[t+=2]}else n=e[t+=1];return t+1}get strValue(){if(!this.valueRange||!this.context)return null;const e=[],{start:t,end:n}=this.valueRange,{indent:r,src:o}=this.context;\"'\"!==o[n-1]&&e.push(new Ve.YAMLSyntaxError(this,\"Missing closing 'quote\"));let s=\"\";for(let i=t+1;ie?o.slice(e,i+1):t)}else s+=t}return e.length>0?{errors:e,str:s}:s}parse(e,t){this.context=e;const{src:n}=e;let r=st.endOfQuote(n,t+1);return this.valueRange=new Ve.Range(t,r),r=Ve.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}class it{static parseType(e,t,n){switch(e[t]){case\"*\":return Ve.Type.ALIAS;case\">\":return Ve.Type.BLOCK_FOLDED;case\"|\":return Ve.Type.BLOCK_LITERAL;case\"{\":return Ve.Type.FLOW_MAP;case\"[\":return Ve.Type.FLOW_SEQ;case\"?\":return!n&&Ve.Node.atBlank(e,t+1,!0)?Ve.Type.MAP_KEY:Ve.Type.PLAIN;case\":\":return!n&&Ve.Node.atBlank(e,t+1,!0)?Ve.Type.MAP_VALUE:Ve.Type.PLAIN;case\"-\":return!n&&Ve.Node.atBlank(e,t+1,!0)?Ve.Type.SEQ_ITEM:Ve.Type.PLAIN;case'\"':return Ve.Type.QUOTE_DOUBLE;case\"'\":return Ve.Type.QUOTE_SINGLE;default:return Ve.Type.PLAIN}}constructor(e={},{atLineStart:t,inCollection:n,inFlow:r,indent:o,lineStart:s,parent:i}={}){Ve._defineProperty(this,\"parseNode\",((e,t)=>{if(Ve.Node.atDocumentBoundary(this.src,t))return null;const n=new it(this,e),{props:r,type:o,valueStart:s}=n.parseProps(t),i=function(e,t){switch(e){case Ve.Type.ALIAS:return new Ze(e,t);case Ve.Type.BLOCK_FOLDED:case Ve.Type.BLOCK_LITERAL:return new nt(e,t);case Ve.Type.FLOW_MAP:case Ve.Type.FLOW_SEQ:return new rt(e,t);case Ve.Type.MAP_KEY:case Ve.Type.MAP_VALUE:case Ve.Type.SEQ_ITEM:return new qe(e,t);case Ve.Type.COMMENT:case Ve.Type.PLAIN:return new Ve.PlainValue(e,t);case Ve.Type.QUOTE_DOUBLE:return new ot(e,t);case Ve.Type.QUOTE_SINGLE:return new st(e,t);default:return null}}(o,r);let a=i.parse(n,s);if(i.range=new Ve.Range(t,a),a<=t&&(i.error=new Error(\"Node#parse consumed no characters\"),i.error.parseEnd=a,i.error.source=i,i.range.end=t+1),n.nodeStartsCollection(i)){i.error||n.atLineStart||n.parent.type!==Ve.Type.DOCUMENT||(i.error=new Ve.YAMLSyntaxError(i,\"Block collection must not have preceding content here (e.g. directives-end indicator)\"));const e=new Ge(i);return a=e.parse(new it(n),a),e.range=new Ve.Range(t,a),e}return i})),this.atLineStart=null!=t?t:e.atLineStart||!1,this.inCollection=null!=n?n:e.inCollection||!1,this.inFlow=null!=r?r:e.inFlow||!1,this.indent=null!=o?o:e.indent,this.lineStart=null!=s?s:e.lineStart,this.parent=null!=i?i:e.parent||{},this.root=e.root,this.src=e.src}nodeStartsCollection(e){const{inCollection:t,inFlow:n,src:r}=this;if(t||n)return!1;if(e instanceof qe)return!0;let o=e.range.end;return\"\\n\"!==r[o]&&\"\\n\"!==r[o-1]&&(o=Ve.Node.endOfWhiteSpace(r,o),\":\"===r[o])}parseProps(e){const{inFlow:t,parent:n,src:r}=this,o=[];let s=!1,i=r[e=this.atLineStart?Ve.Node.endOfIndent(r,e):Ve.Node.endOfWhiteSpace(r,e)];for(;i===Ve.Char.ANCHOR||i===Ve.Char.COMMENT||i===Ve.Char.TAG||\"\\n\"===i;){if(\"\\n\"===i){const t=e+1,o=Ve.Node.endOfIndent(r,t),i=o-(t+this.indent),a=n.type===Ve.Type.SEQ_ITEM&&n.context.atLineStart;if(!Ve.Node.nextNodeIsIndented(r[o],i,!a))break;this.atLineStart=!0,this.lineStart=t,s=!1,e=o}else if(i===Ve.Char.COMMENT){const t=Ve.Node.endOfLine(r,e+1);o.push(new Ve.Range(e,t)),e=t}else{let t=Ve.Node.endOfIdentifier(r,e+1);i===Ve.Char.TAG&&\",\"===r[t]&&/^[a-zA-Z0-9-]+\\.[a-zA-Z0-9-]+,\\d\\d\\d\\d(-\\d\\d){0,2}\\/\\S/.test(r.slice(e+1,t+13))&&(t=Ve.Node.endOfIdentifier(r,t+5)),o.push(new Ve.Range(e,t)),s=!0,e=Ve.Node.endOfWhiteSpace(r,t)}i=r[e]}s&&\":\"===i&&Ve.Node.atBlank(r,e+1,!0)&&(e-=1);return{props:o,type:it.parseType(r,e,t),valueStart:e}}}var at={parse:function(e){const t=[];-1!==e.indexOf(\"\\r\")&&(e=e.replace(/\\r\\n?/g,((e,n)=>(e.length>1&&t.push(n),\"\\n\"))));const n=[];let r=0;do{const t=new ze,o=new it({src:e});r=t.parse(o,r),n.push(t)}while(r{if(0===t.length)return!1;for(let e=1;en.join(\"...\\n\"),n}};function ct(e,t,n){return n?-1===n.indexOf(\"\\n\")?\"\".concat(e,\" #\").concat(n):\"\".concat(e,\"\\n\")+n.replace(/^/gm,\"\".concat(t||\"\",\"#\")):e}class ut{}function lt(e,t,n){if(Array.isArray(e))return e.map(((e,t)=>lt(e,String(t),n)));if(e&&\"function\"==typeof e.toJSON){const r=n&&n.anchors&&n.anchors.get(e);r&&(n.onCreate=e=>{r.res=e,delete n.onCreate});const o=e.toJSON(t,n);return r&&n.onCreate&&n.onCreate(o),o}return n&&n.keep||\"bigint\"!=typeof e?e:Number(e)}class ft extends ut{constructor(e){super(),this.value=e}toJSON(e,t){return t&&t.keep?this.value:lt(this.value,e,t)}toString(){return String(this.value)}}function ht(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){const n=t[e],o=Number.isInteger(n)&&n>=0?[]:{};o[n]=r,r=o}return e.createNode(r,!1)}const pt=e=>null==e||\"object\"==typeof e&&e[Symbol.iterator]().next().done;class dt extends ut{constructor(e){super(),Ve._defineProperty(this,\"items\",[]),this.schema=e}addIn(e,t){if(pt(e))this.add(t);else{const[n,...r]=e,o=this.get(n,!0);if(o instanceof dt)o.addIn(r,t);else{if(void 0!==o||!this.schema)throw new Error(\"Expected YAML collection at \".concat(n,\". Remaining path: \").concat(r));this.set(n,ht(this.schema,r,t))}}}deleteIn([e,...t]){if(0===t.length)return this.delete(e);const n=this.get(e,!0);if(n instanceof dt)return n.deleteIn(t);throw new Error(\"Expected YAML collection at \".concat(e,\". Remaining path: \").concat(t))}getIn([e,...t],n){const r=this.get(e,!0);return 0===t.length?!n&&r instanceof ft?r.value:r:r instanceof dt?r.getIn(t,n):void 0}hasAllNullValues(){return this.items.every((e=>{if(!e||\"PAIR\"!==e.type)return!1;const t=e.value;return null==t||t instanceof ft&&null==t.value&&!t.commentBefore&&!t.comment&&!t.tag}))}hasIn([e,...t]){if(0===t.length)return this.has(e);const n=this.get(e,!0);return n instanceof dt&&n.hasIn(t)}setIn([e,...t],n){if(0===t.length)this.set(e,n);else{const r=this.get(e,!0);if(r instanceof dt)r.setIn(t,n);else{if(void 0!==r||!this.schema)throw new Error(\"Expected YAML collection at \".concat(e,\". Remaining path: \").concat(t));this.set(e,ht(this.schema,t,n))}}}toJSON(){return null}toString(e,{blockItem:t,flowChars:n,isMap:r,itemIndent:o},s,i){const{indent:a,indentStep:c,stringify:u}=e,l=this.type===Ve.Type.FLOW_MAP||this.type===Ve.Type.FLOW_SEQ||e.inFlow;l&&(o+=c);const f=r&&this.hasAllNullValues();e=Object.assign({},e,{allNullValues:f,indent:o,inFlow:l,type:null});let h=!1,p=!1;const d=this.items.reduce(((t,n,r)=>{let s;n&&(!h&&n.spaceBefore&&t.push({type:\"comment\",str:\"\"}),n.commentBefore&&n.commentBefore.match(/^.*$/gm).forEach((e=>{t.push({type:\"comment\",str:\"#\".concat(e)})})),n.comment&&(s=n.comment),l&&(!h&&n.spaceBefore||n.commentBefore||n.comment||n.key&&(n.key.commentBefore||n.key.comment)||n.value&&(n.value.commentBefore||n.value.comment))&&(p=!0)),h=!1;let i=u(n,e,(()=>s=null),(()=>h=!0));return l&&!p&&i.includes(\"\\n\")&&(p=!0),l&&re.str));if(p||r.reduce(((e,t)=>e+t.length+2),2)>dt.maxFlowStringSingleLineLength){g=e;for(const e of r)g+=e?\"\\n\".concat(c).concat(a).concat(e):\"\\n\";g+=\"\\n\".concat(a).concat(t)}else g=\"\".concat(e,\" \").concat(r.join(\" \"),\" \").concat(t)}else{const e=d.map(t);g=e.shift();for(const t of e)g+=t?\"\\n\".concat(a).concat(t):\"\\n\"}return this.comment?(g+=\"\\n\"+this.comment.replace(/^/gm,\"\".concat(a,\"#\")),s&&s()):h&&i&&i(),g}}function gt(e){let t=e instanceof ft?e.value:e;return t&&\"string\"==typeof t&&(t=Number(t)),Number.isInteger(t)&&t>=0?t:null}Ve._defineProperty(dt,\"maxFlowStringSingleLineLength\",60);class mt extends dt{add(e){this.items.push(e)}delete(e){const t=gt(e);if(\"number\"!=typeof t)return!1;return this.items.splice(t,1).length>0}get(e,t){const n=gt(e);if(\"number\"!=typeof n)return;const r=this.items[n];return!t&&r instanceof ft?r.value:r}has(e){const t=gt(e);return\"number\"==typeof t&&t\"comment\"===e.type?e.str:\"- \".concat(e.str),flowChars:{start:\"[\",end:\"]\"},isMap:!1,itemIndent:(e.indent||\"\")+\" \"},t,n):JSON.stringify(this)}}class yt extends ut{constructor(e,t=null){super(),this.key=e,this.value=t,this.type=yt.Type.PAIR}get commentBefore(){return this.key instanceof ut?this.key.commentBefore:void 0}set commentBefore(e){if(null==this.key&&(this.key=new ft(null)),!(this.key instanceof ut)){throw new Error(\"Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.\")}this.key.commentBefore=e}addToJSMap(e,t){const n=lt(this.key,\"\",e);if(t instanceof Map){const r=lt(this.value,n,e);t.set(n,r)}else if(t instanceof Set)t.add(n);else{const r=((e,t,n)=>null===t?\"\":\"object\"!=typeof t?String(t):e instanceof ut&&n&&n.doc?e.toString({anchors:{},doc:n.doc,indent:\"\",indentStep:n.indentStep,inFlow:!0,inStringifyKey:!0,stringify:n.stringify}):JSON.stringify(t))(this.key,n,e);t[r]=lt(this.value,r,e)}return t}toJSON(e,t){const n=t&&t.mapAsMap?new Map:{};return this.addToJSMap(t,n)}toString(e,t,n){if(!e||!e.doc)return JSON.stringify(this);const{indent:r,indentSeq:o,simpleKeys:s}=e.doc.options;let{key:i,value:a}=this,c=i instanceof ut&&i.comment;if(s){if(c)throw new Error(\"With simple keys, key nodes cannot have comments\");if(i instanceof dt){throw new Error(\"With simple keys, collection cannot be used as a key value\")}}const u=!s&&(!i||c||i instanceof dt||i.type===Ve.Type.BLOCK_FOLDED||i.type===Ve.Type.BLOCK_LITERAL),{doc:l,indent:f,indentStep:h,stringify:p}=e;e=Object.assign({},e,{implicitKey:!u,indent:f+h});let d=!1,g=p(i,e,(()=>c=null),(()=>d=!0));if(g=ct(g,e.indent,c),e.allNullValues&&!s)return this.comment?(g=ct(g,e.indent,this.comment),t&&t()):d&&!c&&n&&n(),e.inFlow?g:\"? \".concat(g);g=u?\"? \".concat(g,\"\\n\").concat(f,\":\"):\"\".concat(g,\":\"),this.comment&&(g=ct(g,e.indent,this.comment),t&&t());let m=\"\",y=null;if(a instanceof ut){if(a.spaceBefore&&(m=\"\\n\"),a.commentBefore){const t=a.commentBefore.replace(/^/gm,\"\".concat(e.indent,\"#\"));m+=\"\\n\".concat(t)}y=a.comment}else a&&\"object\"==typeof a&&(a=l.schema.createNode(a,!0));e.implicitKey=!1,!u&&!this.comment&&a instanceof ft&&(e.indentAtStart=g.length+1),d=!1,!o&&r>=2&&!e.inFlow&&!u&&a instanceof mt&&a.type!==Ve.Type.FLOW_SEQ&&!a.tag&&!l.anchors.getName(a)&&(e.indent=e.indent.substr(2));const v=p(a,e,(()=>y=null),(()=>d=!0));let _=\" \";if(m||this.comment)_=\"\".concat(m,\"\\n\").concat(e.indent);else if(!u&&a instanceof dt){(\"[\"===v[0]||\"{\"===v[0])&&!v.includes(\"\\n\")||(_=\"\\n\".concat(e.indent))}return d&&!y&&n&&n(),ct(g+_+v,e.indent,y)}}Ve._defineProperty(yt,\"Type\",{PAIR:\"PAIR\",MERGE_PAIR:\"MERGE_PAIR\"});const vt=(e,t)=>{if(e instanceof _t){const n=t.get(e.source);return n.count*n.aliasCount}if(e instanceof dt){let n=0;for(const r of e.items){const e=vt(r,t);e>n&&(n=e)}return n}if(e instanceof yt){const n=vt(e.key,t),r=vt(e.value,t);return Math.max(n,r)}return 1};class _t extends ut{static stringify({range:e,source:t},{anchors:n,doc:r,implicitKey:o,inStringifyKey:s}){let i=Object.keys(n).find((e=>n[e]===t));if(!i&&s&&(i=r.anchors.getName(t)||r.anchors.newName()),i)return\"*\".concat(i).concat(o?\" \":\"\");const a=r.anchors.getName(t)?\"Alias node must be after source node\":\"Source node not found for alias node\";throw new Error(\"\".concat(a,\" [\").concat(e,\"]\"))}constructor(e){super(),this.source=e,this.type=Ve.Type.ALIAS}set tag(e){throw new Error(\"Alias nodes cannot have tags\")}toJSON(e,t){if(!t)return lt(this.source,e,t);const{anchors:n,maxAliasCount:r}=t,o=n.get(this.source);if(!o||void 0===o.res){const e=\"This should not happen: Alias anchor was not resolved?\";throw this.cstNode?new Ve.YAMLReferenceError(this.cstNode,e):new ReferenceError(e)}if(r>=0&&(o.count+=1,0===o.aliasCount&&(o.aliasCount=vt(this.source,n)),o.count*o.aliasCount>r)){const e=\"Excessive alias count indicates a resource exhaustion attack\";throw this.cstNode?new Ve.YAMLReferenceError(this.cstNode,e):new ReferenceError(e)}return o.res}toString(e){return _t.stringify(this,e)}}function wt(e,t){const n=t instanceof ft?t.value:t;for(const r of e)if(r instanceof yt){if(r.key===t||r.key===n)return r;if(r.key&&r.key.value===n)return r}}Ve._defineProperty(_t,\"default\",!0);class Et extends dt{add(e,t){e?e instanceof yt||(e=new yt(e.key||e,e.value)):e=new yt(e);const n=wt(this.items,e.key),r=this.schema&&this.schema.sortMapEntries;if(n){if(!t)throw new Error(\"Key \".concat(e.key,\" already set\"));n.value=e.value}else if(r){const t=this.items.findIndex((t=>r(e,t)<0));-1===t?this.items.push(e):this.items.splice(t,0,e)}else this.items.push(e)}delete(e){const t=wt(this.items,e);if(!t)return!1;return this.items.splice(this.items.indexOf(t),1).length>0}get(e,t){const n=wt(this.items,e),r=n&&n.value;return!t&&r instanceof ft?r.value:r}has(e){return!!wt(this.items,e)}set(e,t){this.add(new yt(e,t),!0)}toJSON(e,t,n){const r=n?new n:t&&t.mapAsMap?new Map:{};t&&t.onCreate&&t.onCreate(r);for(const e of this.items)e.addToJSMap(t,r);return r}toString(e,t,n){if(!e)return JSON.stringify(this);for(const e of this.items)if(!(e instanceof yt))throw new Error(\"Map items must all be pairs; found \".concat(JSON.stringify(e),\" instead\"));return super.toString(e,{blockItem:e=>e.str,flowChars:{start:\"{\",end:\"}\"},isMap:!0,itemIndent:e.indent||\"\"},t,n)}}class St extends yt{constructor(e){if(e instanceof yt){let t=e.value;t instanceof mt||(t=new mt,t.items.push(e.value),t.range=e.value.range),super(e.key,t),this.range=e.range}else super(new ft(\"<<\"),new mt);this.type=yt.Type.MERGE_PAIR}addToJSMap(e,t){for(const{source:n}of this.value.items){if(!(n instanceof Et))throw new Error(\"Merge sources must be maps\");const r=n.toJSON(null,e,Map);for(const[e,n]of r)t instanceof Map?t.has(e)||t.set(e,n):t instanceof Set?t.add(e):Object.prototype.hasOwnProperty.call(t,e)||(t[e]=n)}return t}toString(e,t){const n=this.value;if(n.items.length>1)return super.toString(e,t);this.value=n.items[0];const r=super.toString(e,t);return this.value=n,r}}const bt={defaultType:Ve.Type.BLOCK_LITERAL,lineWidth:76},At={defaultType:Ve.Type.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function Mt(e,t,n){for(const{format:n,test:r,resolve:o}of t)if(r){const t=e.match(r);if(t){let e=o.apply(null,t);return e instanceof ft||(e=new ft(e)),n&&(e.format=n),e}}return n&&(e=n(e)),new ft(e)}const Ot=\"flow\",Lt=\"block\",Nt=\"quoted\",Tt=(e,t)=>{let n=e[t+1];for(;\" \"===n||\"\\t\"===n;){do{n=e[t+=1]}while(n&&\"\\n\"!==n);n=e[t+1]}return t};function Ct(e,t,n,{indentAtStart:r,lineWidth:o=80,minContentWidth:s=20,onFold:i,onOverflow:a}){if(!o||o<0)return e;const c=Math.max(1+s,1+o-t.length);if(e.length<=c)return e;const u=[],l={};let f,h=o-(\"number\"==typeof r?r:t.length),p=void 0,d=void 0,g=!1,m=-1;for(n===Lt&&(m=Tt(e,m),-1!==m&&(h=m+c));f=e[m+=1];){if(n===Nt&&\"\\\\\"===f)switch(e[m+1]){case\"x\":m+=3;break;case\"u\":m+=5;break;case\"U\":m+=9;break;default:m+=1}if(\"\\n\"===f)n===Lt&&(m=Tt(e,m)),h=m+c,p=void 0;else{if(\" \"===f&&d&&\" \"!==d&&\"\\n\"!==d&&\"\\t\"!==d){const t=e[m+1];t&&\" \"!==t&&\"\\n\"!==t&&\"\\t\"!==t&&(p=m)}if(m>=h)if(p)u.push(p),h=p+c,p=void 0;else if(n===Nt){for(;\" \"===d||\"\\t\"===d;)d=f,f=e[m+=1],g=!0;u.push(m-2),l[m-2]=!0,h=m-2+c,p=void 0}else g=!0}d=f}if(g&&a&&a(),0===u.length)return e;i&&i();let y=e.slice(0,u[0]);for(let r=0;re?Object.assign({indentAtStart:e},At.fold):At.fold,Pt=e=>/^(%|---|\\.\\.\\.)/m.test(e);function Rt(e,t){const{implicitKey:n}=t,{jsonEncoding:r,minMultiLineLength:o}=At.doubleQuoted,s=JSON.stringify(e);if(r)return s;const i=t.indent||(Pt(e)?\" \":\"\");let a=\"\",c=0;for(let e=0,t=s[e];t;t=s[++e])if(\" \"===t&&\"\\\\\"===s[e+1]&&\"n\"===s[e+2]&&(a+=s.slice(c,e)+\"\\\\ \",e+=1,c=e,t=\"\\\\\"),\"\\\\\"===t)switch(s[e+1]){case\"u\":{a+=s.slice(c,e);const t=s.substr(e+2,4);switch(t){case\"0000\":a+=\"\\\\0\";break;case\"0007\":a+=\"\\\\a\";break;case\"000b\":a+=\"\\\\v\";break;case\"001b\":a+=\"\\\\e\";break;case\"0085\":a+=\"\\\\N\";break;case\"00a0\":a+=\"\\\\_\";break;case\"2028\":a+=\"\\\\L\";break;case\"2029\":a+=\"\\\\P\";break;default:\"00\"===t.substr(0,2)?a+=\"\\\\x\"+t.substr(2):a+=s.substr(e,6)}e+=5,c=e+1}break;case\"n\":if(n||'\"'===s[e+2]||s.lengtht)return!0;if(o=r+1,n-o<=t)return!1}return!0}(n,At.fold.lineWidth-i.length));let u=c?\"|\":\">\";if(!n)return u+\"\\n\";let l=\"\",f=\"\";if(n=n.replace(/[\\n\\t ]*$/,(e=>{const t=e.indexOf(\"\\n\");return-1===t?u+=\"-\":n!==e&&t===e.length-1||(u+=\"+\",s&&s()),f=e.replace(/\\n$/,\"\"),\"\"})).replace(/^[\\n ]*/,(e=>{-1!==e.indexOf(\" \")&&(u+=a);const t=e.match(/ +$/);return t?(l=e.slice(0,-t[0].length),t[0]):(l=e,\"\")})),f&&(f=f.replace(/\\n+(?!\\n|$)/g,\"$&\".concat(i))),l&&(l=l.replace(/\\n+/g,\"$&\".concat(i))),e&&(u+=\" #\"+e.replace(/ ?[\\r\\n]+/g,\" \"),o&&o()),!n)return\"\".concat(u).concat(a,\"\\n\").concat(i).concat(f);if(c)return n=n.replace(/\\n+/g,\"$&\".concat(i)),\"\".concat(u,\"\\n\").concat(i).concat(l).concat(n).concat(f);n=n.replace(/\\n+/g,\"\\n$&\").replace(/(?:^|\\n)([\\t ].*)(?:([\\n\\t ]*)\\n(?![\\n\\t ]))?/g,\"$1$2\").replace(/\\n+/g,\"$&\".concat(i));const h=Ct(\"\".concat(l).concat(n).concat(f),i,Lt,At.fold);return\"\".concat(u,\"\\n\").concat(i).concat(h)}function Bt(e,t){let n,r,o;switch(t.type){case Ve.Type.FLOW_MAP:n=\"}\",r=\"flow map\";break;case Ve.Type.FLOW_SEQ:n=\"]\",r=\"flow sequence\";break;default:return void e.push(new Ve.YAMLSemanticError(t,\"Not a flow collection!?\"))}for(let e=t.items.length-1;e>=0;--e){const n=t.items[e];if(!n||n.type!==Ve.Type.COMMENT){o=n;break}}if(o&&o.char!==n){const s=\"Expected \".concat(r,\" to end with \").concat(n);let i;\"number\"==typeof o.offset?(i=new Ve.YAMLSemanticError(t,s),i.offset=o.offset+1):(i=new Ve.YAMLSemanticError(o,s),o.range&&o.range.end&&(i.offset=o.range.end-o.range.start)),e.push(i)}}function Yt(e,t){const n=t.context.src[t.range.start-1];if(\"\\n\"!==n&&\"\\t\"!==n&&\" \"!==n){const n=\"Comments must be separated from other tokens by white space characters\";e.push(new Ve.YAMLSemanticError(t,n))}}function Dt(e,t){const n=String(t),r=n.substr(0,8)+\"...\"+n.substr(-8);return new Ve.YAMLSemanticError(e,'The \"'.concat(r,'\" key is too long'))}function Ut(e,t){for(const{afterKey:n,before:r,comment:o}of t){let t=e.items[r];t?(n&&t.value&&(t=t.value),void 0===o?!n&&t.commentBefore||(t.spaceBefore=!0):t.commentBefore?t.commentBefore+=\"\\n\"+o:t.commentBefore=o):void 0!==o&&(e.comment?e.comment+=\"\\n\"+o:e.comment=o)}}function Ft(e,t){const n=t.strValue;return n?\"string\"==typeof n?n:(n.errors.forEach((n=>{n.source||(n.source=t),e.errors.push(n)})),n.str):\"\"}function jt(e,t){const{tag:n,type:r}=t;let o=!1;if(n){const{handle:r,suffix:s,verbatim:i}=n;if(i){if(\"!\"!==i&&\"!!\"!==i)return i;const n=\"Verbatim tags aren't resolved, so \".concat(i,\" is invalid.\");e.errors.push(new Ve.YAMLSemanticError(t,n))}else if(\"!\"!==r||s)try{return function(e,t){const{handle:n,suffix:r}=t.tag;let o=e.tagPrefixes.find((e=>e.handle===n));if(!o){const r=e.getDefaults().tagPrefixes;if(r&&(o=r.find((e=>e.handle===n))),!o)throw new Ve.YAMLSemanticError(t,\"The \".concat(n,\" tag handle is non-default and was not declared.\"))}if(!r)throw new Ve.YAMLSemanticError(t,\"The \".concat(n,\" tag has no suffix.\"));if(\"!\"===n&&\"1.0\"===(e.version||e.options.version)){if(\"^\"===r[0])return e.warnings.push(new Ve.YAMLWarning(t,\"YAML 1.0 ^ tag expansion is not supported\")),r;if(/[:/]/.test(r)){const e=r.match(/^([a-z0-9-]+)\\/(.*)/i);return e?\"tag:\".concat(e[1],\".yaml.org,2002:\").concat(e[2]):\"tag:\".concat(r)}}return o.prefix+decodeURIComponent(r)}(e,t)}catch(t){e.errors.push(t)}else o=!0}switch(r){case Ve.Type.BLOCK_FOLDED:case Ve.Type.BLOCK_LITERAL:case Ve.Type.QUOTE_DOUBLE:case Ve.Type.QUOTE_SINGLE:return Ve.defaultTags.STR;case Ve.Type.FLOW_MAP:case Ve.Type.MAP:return Ve.defaultTags.MAP;case Ve.Type.FLOW_SEQ:case Ve.Type.SEQ:return Ve.defaultTags.SEQ;case Ve.Type.PLAIN:return o?Ve.defaultTags.STR:null;default:return null}}function Wt(e,t,n){const{tags:r}=e.schema,o=[];for(const s of r)if(s.tag===n){if(!s.test){const n=s.resolve(e,t);return n instanceof dt?n:new ft(n)}o.push(s)}const s=Ft(e,t);return\"string\"==typeof s&&o.length>0?Mt(s,o,r.scalarFallback):null}function Qt(e,t,n){try{const r=Wt(e,t,n);if(r)return n&&t.tag&&(r.tag=n),r}catch(n){return n.source||(n.source=t),e.errors.push(n),null}try{const r=function({type:e}){switch(e){case Ve.Type.FLOW_MAP:case Ve.Type.MAP:return Ve.defaultTags.MAP;case Ve.Type.FLOW_SEQ:case Ve.Type.SEQ:return Ve.defaultTags.SEQ;default:return Ve.defaultTags.STR}}(t);if(!r)throw new Error(\"The tag \".concat(n,\" is unavailable\"));const o=\"The tag \".concat(n,\" is unavailable, falling back to \").concat(r);e.warnings.push(new Ve.YAMLWarning(t,o));const s=Wt(e,t,r);return s.tag=n,s}catch(n){const r=new Ve.YAMLReferenceError(t,n.message);return r.stack=n.stack,e.errors.push(r),null}}function Vt(e,t){const n={before:[],after:[]};let r=!1,o=!1;const s=(e=>{if(!e)return!1;const{type:t}=e;return t===Ve.Type.MAP_KEY||t===Ve.Type.MAP_VALUE||t===Ve.Type.SEQ_ITEM})(t.context.parent)?t.context.parent.props.concat(t.props):t.props;for(const{start:i,end:a}of s)switch(t.context.src[i]){case Ve.Char.COMMENT:{if(!t.commentHasRequiredWhitespace(i)){const n=\"Comments must be separated from other tokens by white space characters\";e.push(new Ve.YAMLSemanticError(t,n))}const{header:r,valueRange:o}=t;(o&&(i>o.start||r&&i>r.start)?n.after:n.before).push(t.context.src.slice(i+1,a));break}case Ve.Char.ANCHOR:if(r){const n=\"A node can have at most one anchor\";e.push(new Ve.YAMLSemanticError(t,n))}r=!0;break;case Ve.Char.TAG:if(o){const n=\"A node can have at most one tag\";e.push(new Ve.YAMLSemanticError(t,n))}o=!0}return{comments:n,hasAnchor:r,hasTag:o}}function Kt(e,t){if(!t)return null;t.error&&e.errors.push(t.error);const{comments:n,hasAnchor:r,hasTag:o}=Vt(e.errors,t);if(r){const{anchors:n}=e,r=t.anchor,o=n.getNode(r);o&&(n.map[n.newName(r)]=o),n.map[r]=t}if(t.type===Ve.Type.ALIAS&&(r||o)){const n=\"An alias node must not specify any properties\";e.errors.push(new Ve.YAMLSemanticError(t,n))}const s=function(e,t){const{anchors:n,errors:r,schema:o}=e;if(t.type===Ve.Type.ALIAS){const e=t.rawValue,o=n.getNode(e);if(!o){const n=\"Aliased anchor not found: \".concat(e);return r.push(new Ve.YAMLReferenceError(t,n)),null}const s=new _t(o);return n._cstAliases.push(s),s}const s=jt(e,t);if(s)return Qt(e,t,s);if(t.type!==Ve.Type.PLAIN){const e=\"Failed to resolve \".concat(t.type,\" node here\");return r.push(new Ve.YAMLSyntaxError(t,e)),null}try{return Mt(Ft(e,t),o.tags,o.tags.scalarFallback)}catch(e){return e.source||(e.source=t),r.push(e),null}}(e,t);if(s){s.range=[t.range.start,t.range.end],e.options.keepCstNodes&&(s.cstNode=t),e.options.keepNodeTypes&&(s.type=t.type);const r=n.before.join(\"\\n\");r&&(s.commentBefore=s.commentBefore?\"\".concat(s.commentBefore,\"\\n\").concat(r):r);const o=n.after.join(\"\\n\");o&&(s.comment=s.comment?\"\".concat(s.comment,\"\\n\").concat(o):o)}return t.resolved=s}function qt(e,t){if(!(({context:{lineStart:e,node:t,src:n},props:r})=>{if(0===r.length)return!1;const{start:o}=r[0];if(t&&o>t.valueRange.start)return!1;if(n[o]!==Ve.Char.COMMENT)return!1;for(let t=e;t0){n=new Ve.PlainValue(Ve.Type.PLAIN,[]),n.context={parent:a,src:a.context.src};const e=a.range.start+1;if(n.range={start:e,end:e},n.valueRange={start:e,end:e},\"number\"==typeof a.range.origStart){const e=a.range.origStart+1;n.range.origStart=n.range.origEnd=e,n.valueRange.origStart=n.valueRange.origEnd=e}}const i=new yt(o,Kt(e,n));qt(a,i),r.push(i),o&&\"number\"==typeof s&&a.range.start>s+1024&&e.errors.push(Dt(t,o)),o=void 0,s=null}break;default:void 0!==o&&r.push(new yt(o)),o=Kt(e,a),s=a.range.start,a.error&&e.errors.push(a.error);e:for(let n=i+1;;++n){const r=t.items[n];switch(r&&r.type){case Ve.Type.BLANK_LINE:case Ve.Type.COMMENT:continue e;case Ve.Type.MAP_VALUE:break e;default:{const t=\"Implicit map keys need to be followed by map values\";e.errors.push(new Ve.YAMLSemanticError(a,t));break e}}}if(a.valueRangeContainsNewline){const t=\"Implicit map keys need to be on a single line\";e.errors.push(new Ve.YAMLSemanticError(a,t))}}}void 0!==o&&r.push(new yt(o));return{comments:n,items:r}}(e,t),o=new Et;o.items=r,Ut(o,n);let s=!1;for(let n=0;n{if(e instanceof _t){const{type:t}=e.source;return t!==Ve.Type.MAP&&t!==Ve.Type.FLOW_MAP&&(s=\"Merge nodes aliases can only point to maps\")}return s=\"Merge nodes can only have Alias nodes as values\"})),s&&e.errors.push(new Ve.YAMLSemanticError(t,s))}else for(let s=n+1;si+1024&&e.errors.push(Dt(t,s));const{src:r}=c.context;for(let t=i;te instanceof yt&&e.key instanceof dt))){const n=\"Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.\";e.warnings.push(new Ve.YAMLWarning(t,n))}return t.resolved=o,o},resolveString:Ft,strOptions:At,stringifyNumber:function({format:e,minFractionDigits:t,tag:n,value:r}){if(\"bigint\"==typeof r)return String(r);if(!isFinite(r))return isNaN(r)?\".nan\":r<0?\"-.inf\":\".inf\";let o=JSON.stringify(r);if(!e&&t&&(!n||\"tag:yaml.org,2002:float\"===n)&&/^\\d/.test(o)){let e=o.indexOf(\".\");e<0&&(e=o.length,o+=\".\");let n=t-(o.length-e-1);for(;n-- >0;)o+=\"0\"}return o},stringifyString:function(e,t,n,r){const{defaultType:o}=At,{implicitKey:s,inFlow:i}=t;let{type:a,value:c}=e;\"string\"!=typeof c&&(c=String(c),e=Object.assign({},e,{value:c}));const u=o=>{switch(o){case Ve.Type.BLOCK_FOLDED:case Ve.Type.BLOCK_LITERAL:return kt(e,t,n,r);case Ve.Type.QUOTE_DOUBLE:return Rt(c,t);case Ve.Type.QUOTE_SINGLE:return It(c,t);case Ve.Type.PLAIN:return function(e,t,n,r){const{comment:o,type:s,value:i}=e,{actualString:a,implicitKey:c,indent:u,inFlow:l}=t;if(c&&/[\\n[\\]{},]/.test(i)||l&&/[[\\]{},]/.test(i))return Rt(i,t);if(!i||/^[\\n\\t ,[\\]{}#&*!|>'\"%@`]|^[?-]$|^[?-][ \\t]|[\\n:][ \\t]|[ \\t]\\n|[\\n\\t ]#|[\\n\\t :]$/.test(i))return c||l||-1===i.indexOf(\"\\n\")?-1!==i.indexOf('\"')&&-1===i.indexOf(\"'\")?It(i,t):Rt(i,t):kt(e,t,n,r);if(!c&&!l&&s!==Ve.Type.PLAIN&&-1!==i.indexOf(\"\\n\"))return kt(e,t,n,r);if(\"\"===u&&Pt(i))return t.forceBlockIndent=!0,kt(e,t,n,r);const f=i.replace(/\\n+/g,\"$&\\n\".concat(u));if(a){const{tags:e}=t.doc.schema;if(\"string\"!=typeof Mt(f,e,e.scalarFallback).value)return Rt(i,t)}const h=c?f:Ct(f,u,Ot,xt(t));return!o||l||-1===h.indexOf(\"\\n\")&&-1===o.indexOf(\"\\n\")?h:(n&&n(),function(e,t,n){if(!n)return e;const r=n.replace(/[\\s\\S]^/gm,\"$&\".concat(t,\"#\"));return\"#\".concat(r,\"\\n\").concat(t).concat(e)}(h,u,o))}(e,t,n,r);default:return null}};a!==Ve.Type.QUOTE_DOUBLE&&/[\\x00-\\x08\\x0b-\\x1f\\x7f-\\x9f]/.test(c)?a=Ve.Type.QUOTE_DOUBLE:!s&&!i||a!==Ve.Type.BLOCK_FOLDED&&a!==Ve.Type.BLOCK_LITERAL||(a=Ve.Type.QUOTE_DOUBLE);let l=u(a);if(null===l&&(l=u(o),null===l))throw new Error(\"Unsupported default string type \".concat(o));return l},toJSON:lt},$t=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},Gt=[],Ht=[],zt=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,Zt=!1;function Xt(){Zt=!0;for(var e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",t=0,n=e.length;t>18&63]+Gt[o>>12&63]+Gt[o>>6&63]+Gt[63&o]);return s.join(\"\")}function tn(e){var t;Zt||Xt();for(var n=e.length,r=n%3,o=\"\",s=[],i=16383,a=0,c=n-r;ac?c:a+i));return 1===r?(t=e[n-1],o+=Gt[t>>2],o+=Gt[t<<4&63],o+=\"==\"):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=Gt[t>>10],o+=Gt[t>>4&63],o+=Gt[t<<2&63],o+=\"=\"),s.push(o),s.join(\"\")}function nn(e,t,n,r,o){var s,i,a=8*o-r-1,c=(1<>1,l=-7,f=n?o-1:0,h=n?-1:1,p=e[t+f];for(f+=h,s=p&(1<<-l)-1,p>>=-l,l+=a;l>0;s=256*s+e[t+f],f+=h,l-=8);for(i=s&(1<<-l)-1,s>>=-l,l+=r;l>0;i=256*i+e[t+f],f+=h,l-=8);if(0===s)s=1-u;else{if(s===c)return i?NaN:1/0*(p?-1:1);i+=Math.pow(2,r),s-=u}return(p?-1:1)*i*Math.pow(2,s-r)}function rn(e,t,n,r,o,s){var i,a,c,u=8*s-o-1,l=(1<>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:s-1,d=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,i=l):(i=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-i))<1&&(i--,c*=2),(t+=i+f>=1?h/c:h*Math.pow(2,1-f))*c>=2&&(i++,c/=2),i+f>=l?(a=0,i=l):i+f>=1?(a=(t*c-1)*Math.pow(2,o),i+=f):(a=t*Math.pow(2,f-1)*Math.pow(2,o),i=0));o>=8;e[n+p]=255&a,p+=d,a/=256,o-=8);for(i=i<0;e[n+p]=255&i,p+=d,i/=256,u-=8);e[n+p-d]|=128*g}var on={}.toString,sn=Array.isArray||function(e){return\"[object Array]\"==on.call(e)};function an(){return un.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function cn(e,t){if(an()=an())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+an().toString(16)+\" bytes\");return 0|e}function gn(e){return!(null==e||!e._isBuffer)}function mn(e,t){if(gn(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return Qn(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return Vn(e).length;default:if(r)return Qn(e).length;t=(\"\"+t).toLowerCase(),r=!0}}function yn(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if((n>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return Pn(this,t,n);case\"utf8\":case\"utf-8\":return Nn(this,t,n);case\"ascii\":return Cn(this,t,n);case\"latin1\":case\"binary\":return xn(this,t,n);case\"base64\":return Ln(this,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Rn(this,t,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}function vn(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function _n(e,t,n,r,o){if(0===e.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if(\"string\"==typeof t&&(t=un.from(t,r)),gn(t))return 0===t.length?-1:wn(e,t,n,r,o);if(\"number\"==typeof t)return t&=255,un.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):wn(e,[t],n,r,o);throw new TypeError(\"val must be string, number or Buffer\")}function wn(e,t,n,r,o){var s,i=1,a=e.length,c=t.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;i=2,a/=2,c/=2,n/=2}function u(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(o){var l=-1;for(s=n;sa&&(n=a-c),s=n;s>=0;s--){for(var f=!0,h=0;ho&&(r=o):r=o;var s=t.length;if(s%2!=0)throw new TypeError(\"Invalid hex string\");r>s/2&&(r=s/2);for(var i=0;i>8,o=n%256,s.push(o),s.push(r);return s}(t,e.length-n),e,n,r)}function Ln(e,t,n){return 0===t&&n===e.length?tn(e):tn(e.slice(t,n))}function Nn(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o239?4:u>223?3:u>191?2:1;if(o+f<=n)switch(f){case 1:u<128&&(l=u);break;case 2:128==(192&(s=e[o+1]))&&(c=(31&u)<<6|63&s)>127&&(l=c);break;case 3:s=e[o+1],i=e[o+2],128==(192&s)&&128==(192&i)&&(c=(15&u)<<12|(63&s)<<6|63&i)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:s=e[o+1],i=e[o+2],a=e[o+3],128==(192&s)&&128==(192&i)&&128==(192&a)&&(c=(15&u)<<18|(63&s)<<12|(63&i)<<6|63&a)>65535&&c<1114112&&(l=c)}null===l?(l=65533,f=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=f}return function(e){var t=e.length;if(t<=Tn)return String.fromCharCode.apply(String,e);var n=\"\",r=0;for(;r0&&(e=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(e+=\" ... \")),\"\"},un.prototype.compare=function(e,t,n,r,o){if(!gn(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError(\"out of range index\");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var s=(o>>>=0)-(r>>>=0),i=(n>>>=0)-(t>>>=0),a=Math.min(s,i),c=this.slice(r,o),u=e.slice(t,n),l=0;lo)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var s=!1;;)switch(r){case\"hex\":return En(this,e,t,n);case\"utf8\":case\"utf-8\":return Sn(this,e,t,n);case\"ascii\":return bn(this,e,t,n);case\"latin1\":case\"binary\":return An(this,e,t,n);case\"base64\":return Mn(this,e,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return On(this,e,t,n);default:if(s)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),s=!0}},un.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var Tn=4096;function Cn(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var o=t;or)&&(n=r);for(var o=\"\",s=t;sn)throw new RangeError(\"Trying to access beyond buffer length\")}function kn(e,t,n,r,o,s){if(!gn(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError(\"Index out of range\")}function Bn(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,s=Math.min(e.length-n,2);o>>8*(r?o:1-o)}function Yn(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,s=Math.min(e.length-n,4);o>>8*(r?o:3-o)&255}function Dn(e,t,n,r,o,s){if(n+r>e.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function Un(e,t,n,r,o){return o||Dn(e,0,n,4),rn(e,t,n,r,23,4),n+4}function Fn(e,t,n,r,o){return o||Dn(e,0,n,8),rn(e,t,n,r,52,8),n+8}un.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(o*=256);)r+=this[e+--t]*o;return r},un.prototype.readUInt8=function(e,t){return t||In(e,1,this.length),this[e]},un.prototype.readUInt16LE=function(e,t){return t||In(e,2,this.length),this[e]|this[e+1]<<8},un.prototype.readUInt16BE=function(e,t){return t||In(e,2,this.length),this[e]<<8|this[e+1]},un.prototype.readUInt32LE=function(e,t){return t||In(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},un.prototype.readUInt32BE=function(e,t){return t||In(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},un.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||In(e,t,this.length);for(var r=this[e],o=1,s=0;++s=(o*=128)&&(r-=Math.pow(2,8*t)),r},un.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||In(e,t,this.length);for(var r=t,o=1,s=this[e+--r];r>0&&(o*=256);)s+=this[e+--r]*o;return s>=(o*=128)&&(s-=Math.pow(2,8*t)),s},un.prototype.readInt8=function(e,t){return t||In(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},un.prototype.readInt16LE=function(e,t){t||In(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},un.prototype.readInt16BE=function(e,t){t||In(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},un.prototype.readInt32LE=function(e,t){return t||In(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},un.prototype.readInt32BE=function(e,t){return t||In(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},un.prototype.readFloatLE=function(e,t){return t||In(e,4,this.length),nn(this,e,!0,23,4)},un.prototype.readFloatBE=function(e,t){return t||In(e,4,this.length),nn(this,e,!1,23,4)},un.prototype.readDoubleLE=function(e,t){return t||In(e,8,this.length),nn(this,e,!0,52,8)},un.prototype.readDoubleBE=function(e,t){return t||In(e,8,this.length),nn(this,e,!1,52,8)},un.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||kn(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,s=0;for(this[t]=255&e;++s=0&&(s*=256);)this[t+o]=e/s&255;return t+n},un.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,1,255,0),un.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},un.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,2,65535,0),un.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Bn(this,e,t,!0),t+2},un.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,2,65535,0),un.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Bn(this,e,t,!1),t+2},un.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,4,4294967295,0),un.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Yn(this,e,t,!0),t+4},un.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,4,4294967295,0),un.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Yn(this,e,t,!1),t+4},un.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);kn(this,e,t,n,o-1,-o)}var s=0,i=1,a=0;for(this[t]=255&e;++s>0)-a&255;return t+n},un.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);kn(this,e,t,n,o-1,-o)}var s=n-1,i=1,a=0;for(this[t+s]=255&e;--s>=0&&(i*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/i>>0)-a&255;return t+n},un.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,1,127,-128),un.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},un.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,2,32767,-32768),un.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Bn(this,e,t,!0),t+2},un.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,2,32767,-32768),un.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Bn(this,e,t,!1),t+2},un.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,4,2147483647,-2147483648),un.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Yn(this,e,t,!0),t+4},un.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),un.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Yn(this,e,t,!1),t+4},un.prototype.writeFloatLE=function(e,t,n){return Un(this,e,t,!0,n)},un.prototype.writeFloatBE=function(e,t,n){return Un(this,e,t,!1,n)},un.prototype.writeDoubleLE=function(e,t,n){return Fn(this,e,t,!0,n)},un.prototype.writeDoubleBE=function(e,t,n){return Fn(this,e,t,!1,n)},un.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else if(s<1e3||!un.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),\"number\"==typeof e)for(s=t;s55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(i+1===r){(t-=3)>-1&&s.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&s.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function Vn(e){return function(e){var t,n,r,o,s,i;Zt||Xt();var a=e.length;if(a%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");s=\"=\"===e[a-2]?2:\"=\"===e[a-1]?1:0,i=new zt(3*a/4-s),r=s>0?a-4:a;var c=0;for(t=0,n=0;t>16&255,i[c++]=o>>8&255,i[c++]=255&o;return 2===s?(o=Ht[e.charCodeAt(t)]<<2|Ht[e.charCodeAt(t+1)]>>4,i[c++]=255&o):1===s&&(o=Ht[e.charCodeAt(t)]<<10|Ht[e.charCodeAt(t+1)]<<4|Ht[e.charCodeAt(t+2)]>>2,i[c++]=o>>8&255,i[c++]=255&o),i}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}(e).replace(jn,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function Kn(e,t,n,r){for(var o=0;o=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function qn(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function Jn(){throw new Error(\"setTimeout has not been defined\")}function $n(){throw new Error(\"clearTimeout has not been defined\")}var Gn=Jn,Hn=$n;function zn(e){if(Gn===setTimeout)return setTimeout(e,0);if((Gn===Jn||!Gn)&&setTimeout)return Gn=setTimeout,setTimeout(e,0);try{return Gn(e,0)}catch(t){try{return Gn.call(null,e,0)}catch(t){return Gn.call(this,e,0)}}}\"function\"==typeof $t.setTimeout&&(Gn=setTimeout),\"function\"==typeof $t.clearTimeout&&(Hn=clearTimeout);var Zn,Xn=[],er=!1,tr=-1;function nr(){er&&Zn&&(er=!1,Zn.length?Xn=Zn.concat(Xn):tr=-1,Xn.length&&rr())}function rr(){if(!er){var e=zn(nr);er=!0;for(var t=Xn.length;t;){for(Zn=Xn,Xn=[];++tr1)for(var n=1;ne instanceof Uint8Array,default:!1,tag:\"tag:yaml.org,2002:binary\",resolve:(e,t)=>{const n=Jt.resolveString(e,t);return un.from(n,\"base64\")},options:Jt.binaryOptions,stringify:({comment:e,type:t,value:n},r,o,s)=>{let i;if(i=n instanceof un?n.toString(\"base64\"):un.from(n.buffer).toString(\"base64\"),t||(t=Jt.binaryOptions.defaultType),t===Ve.Type.QUOTE_DOUBLE)n=i;else{const{lineWidth:e}=Jt.binaryOptions,r=Math.ceil(i.length/e),o=new Array(r);for(let t=0,n=0;t1){const e=\"Each pair must have its own sequence indicator\";throw new Ve.YAMLSemanticError(t,e)}const e=r.items[0]||new Jt.Pair;r.commentBefore&&(e.commentBefore=e.commentBefore?\"\".concat(r.commentBefore,\"\\n\").concat(e.commentBefore):r.commentBefore),r.comment&&(e.comment=e.comment?\"\".concat(r.comment,\"\\n\").concat(e.comment):r.comment),r=e}n.items[e]=r instanceof Jt.Pair?r:new Jt.Pair(r)}}return n}function _r(e,t,n){const r=new Jt.YAMLSeq(e);r.tag=\"tag:yaml.org,2002:pairs\";for(const o of t){let t,s;if(Array.isArray(o)){if(2!==o.length)throw new TypeError(\"Expected [key, value] tuple: \".concat(o));t=o[0],s=o[1]}else if(o&&o instanceof Object){const e=Object.keys(o);if(1!==e.length)throw new TypeError(\"Expected { key: value } tuple: \".concat(o));t=e[0],s=o[t]}else t=o;const i=e.createPair(t,s,n);r.items.push(i)}return r}const wr={default:!1,tag:\"tag:yaml.org,2002:pairs\",resolve:vr,createNode:_r};class Er extends Jt.YAMLSeq{constructor(){super(),Ve._defineProperty(this,\"add\",Jt.YAMLMap.prototype.add.bind(this)),Ve._defineProperty(this,\"delete\",Jt.YAMLMap.prototype.delete.bind(this)),Ve._defineProperty(this,\"get\",Jt.YAMLMap.prototype.get.bind(this)),Ve._defineProperty(this,\"has\",Jt.YAMLMap.prototype.has.bind(this)),Ve._defineProperty(this,\"set\",Jt.YAMLMap.prototype.set.bind(this)),this.tag=Er.tag}toJSON(e,t){const n=new Map;t&&t.onCreate&&t.onCreate(n);for(const e of this.items){let r,o;if(e instanceof Jt.Pair?(r=Jt.toJSON(e.key,\"\",t),o=Jt.toJSON(e.value,r,t)):r=Jt.toJSON(e,\"\",t),n.has(r))throw new Error(\"Ordered maps must not include duplicate keys\");n.set(r,o)}return n}}Ve._defineProperty(Er,\"tag\",\"tag:yaml.org,2002:omap\");const Sr={identify:e=>e instanceof Map,nodeClass:Er,default:!1,tag:\"tag:yaml.org,2002:omap\",resolve:function(e,t){const n=vr(e,t),r=[];for(const{key:e}of n.items)if(e instanceof Jt.Scalar){if(r.includes(e.value)){const e=\"Ordered maps must not include duplicate keys\";throw new Ve.YAMLSemanticError(t,e)}r.push(e.value)}return Object.assign(new Er,n)},createNode:function(e,t,n){const r=_r(e,t,n),o=new Er;return o.items=r.items,o}};class br extends Jt.YAMLMap{constructor(){super(),this.tag=br.tag}add(e){const t=e instanceof Jt.Pair?e:new Jt.Pair(e);Jt.findPair(this.items,t.key)||this.items.push(t)}get(e,t){const n=Jt.findPair(this.items,e);return!t&&n instanceof Jt.Pair?n.key instanceof Jt.Scalar?n.key.value:n.key:n}set(e,t){if(\"boolean\"!=typeof t)throw new Error(\"Expected boolean value for set(key, value) in a YAML set, not \".concat(typeof t));const n=Jt.findPair(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new Jt.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(e,t,n);throw new Error(\"Set items must all have null values\")}}Ve._defineProperty(br,\"tag\",\"tag:yaml.org,2002:set\");const Ar={identify:e=>e instanceof Set,nodeClass:br,default:!1,tag:\"tag:yaml.org,2002:set\",resolve:function(e,t){const n=Jt.resolveMap(e,t);if(!n.hasAllNullValues())throw new Ve.YAMLSemanticError(t,\"Set items must all have null values\");return Object.assign(new br,n)},createNode:function(e,t,n){const r=new br;for(const o of t)r.items.push(e.createPair(o,null,n));return r}},Mr=(e,t)=>{const n=t.split(\":\").reduce(((e,t)=>60*e+Number(t)),0);return\"-\"===e?-n:n},Or=({value:e})=>{if(isNaN(e)||!isFinite(e))return Jt.stringifyNumber(e);let t=\"\";e<0&&(t=\"-\",e=Math.abs(e));const n=[e%60];return e<60?n.unshift(0):(e=Math.round((e-n[0])/60),n.unshift(e%60),e>=60&&(e=Math.round((e-n[0])/60),n.unshift(e))),t+n.map((e=>e<10?\"0\"+String(e):String(e))).join(\":\").replace(/000000\\d*$/,\"\")},Lr={identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"TIME\",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(e,t,n)=>Mr(t,n.replace(/_/g,\"\")),stringify:Or},Nr={identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",format:\"TIME\",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*)$/,resolve:(e,t,n)=>Mr(t,n.replace(/_/g,\"\")),stringify:Or},Tr={identify:e=>e instanceof Date,default:!0,tag:\"tag:yaml.org,2002:timestamp\",test:RegExp(\"^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\\\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\\\.[0-9]+)?)(?:[ \\\\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$\"),resolve:(e,t,n,r,o,s,i,a,c)=>{a&&(a=(a+\"00\").substr(1,3));let u=Date.UTC(t,n-1,r,o||0,s||0,i||0,a||0);if(c&&\"Z\"!==c){let e=Mr(c[0],c.slice(1));Math.abs(e)<30&&(e*=60),u-=6e4*e}return new Date(u)},stringify:({value:e})=>e.toISOString().replace(/((T00:00)?:00)?\\.000Z$/,\"\")};function Cr(e){const t=void 0!==mr&&mr.env||{};return e?\"undefined\"!=typeof YAML_SILENCE_DEPRECATION_WARNINGS?!YAML_SILENCE_DEPRECATION_WARNINGS:!t.YAML_SILENCE_DEPRECATION_WARNINGS:\"undefined\"!=typeof YAML_SILENCE_WARNINGS?!YAML_SILENCE_WARNINGS:!t.YAML_SILENCE_WARNINGS}function xr(e,t){if(Cr(!1)){const n=void 0!==mr&&mr.emitWarning;n?n(e,t):console.warn(t?\"\".concat(t,\": \").concat(e):e)}}const Pr={};var Rr={binary:yr,floatTime:Nr,intTime:Lr,omap:Sr,pairs:wr,set:Ar,timestamp:Tr,warn:xr,warnFileDeprecation:function(e){if(Cr(!0)){const t=e.replace(/.*yaml[/\\\\]/i,\"\").replace(/\\.js$/,\"\").replace(/\\\\/g,\"/\");xr(\"The endpoint 'yaml/\".concat(t,\"' will be removed in a future release.\"),\"DeprecationWarning\")}},warnOptionDeprecation:function(e,t){if(!Pr[e]&&Cr(!0)){Pr[e]=!0;let n=\"The option '\".concat(e,\"' will be removed in a future release\");n+=t?\", use '\".concat(t,\"' instead.\"):\".\",xr(n,\"DeprecationWarning\")}}};const Ir={createNode:function(e,t,n){const r=new Jt.YAMLMap(e);if(t instanceof Map)for(const[o,s]of t)r.items.push(e.createPair(o,s,n));else if(t&&\"object\"==typeof t)for(const o of Object.keys(t))r.items.push(e.createPair(o,t[o],n));return\"function\"==typeof e.sortMapEntries&&r.items.sort(e.sortMapEntries),r},default:!0,nodeClass:Jt.YAMLMap,tag:\"tag:yaml.org,2002:map\",resolve:Jt.resolveMap};const kr={createNode:function(e,t,n){const r=new Jt.YAMLSeq(e);if(t&&t[Symbol.iterator])for(const o of t){const t=e.createNode(o,n.wrapScalars,null,n);r.items.push(t)}return r},default:!0,nodeClass:Jt.YAMLSeq,tag:\"tag:yaml.org,2002:seq\",resolve:Jt.resolveSeq},Br={identify:e=>\"string\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:str\",resolve:Jt.resolveString,stringify:(e,t,n,r)=>(t=Object.assign({actualString:!0},t),Jt.stringifyString(e,t,n,r)),options:Jt.strOptions},Yr=[Ir,kr,Br],Dr=e=>\"bigint\"==typeof e||Number.isInteger(e),Ur=(e,t,n)=>Jt.intOptions.asBigInt?BigInt(e):parseInt(t,n);function Fr(e,t,n){const{value:r}=e;return Dr(r)&&r>=0?n+r.toString(t):Jt.stringifyNumber(e)}const jr={identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new Jt.Scalar(null):null,default:!0,tag:\"tag:yaml.org,2002:null\",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Jt.nullOptions,stringify:()=>Jt.nullOptions.nullStr},Wr={identify:e=>\"boolean\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>\"t\"===e[0]||\"T\"===e[0],options:Jt.boolOptions,stringify:({value:e})=>e?Jt.boolOptions.trueStr:Jt.boolOptions.falseStr},Qr={identify:e=>Dr(e)&&e>=0,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"OCT\",test:/^0o([0-7]+)$/,resolve:(e,t)=>Ur(e,t,8),options:Jt.intOptions,stringify:e=>Fr(e,8,\"0o\")},Vr={identify:Dr,default:!0,tag:\"tag:yaml.org,2002:int\",test:/^[-+]?[0-9]+$/,resolve:e=>Ur(e,e,10),options:Jt.intOptions,stringify:Jt.stringifyNumber},Kr={identify:e=>Dr(e)&&e>=0,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"HEX\",test:/^0x([0-9a-fA-F]+)$/,resolve:(e,t)=>Ur(e,t,16),options:Jt.intOptions,stringify:e=>Fr(e,16,\"0x\")},qr={identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^(?:[-+]?\\.inf|(\\.nan))$/i,resolve:(e,t)=>t?NaN:\"-\"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Jt.stringifyNumber},Jr={identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",format:\"EXP\",test:/^[-+]?(?:\\.[0-9]+|[0-9]+(?:\\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify:({value:e})=>Number(e).toExponential()},$r={identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^[-+]?(?:\\.([0-9]+)|[0-9]+\\.([0-9]*))$/,resolve(e,t,n){const r=t||n,o=new Jt.Scalar(parseFloat(e));return r&&\"0\"===r[r.length-1]&&(o.minFractionDigits=r.length),o},stringify:Jt.stringifyNumber},Gr=Yr.concat([jr,Wr,Qr,Vr,Kr,qr,Jr,$r]),Hr=e=>\"bigint\"==typeof e||Number.isInteger(e),zr=({value:e})=>JSON.stringify(e),Zr=[Ir,kr,{identify:e=>\"string\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:str\",resolve:Jt.resolveString,stringify:zr},{identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new Jt.Scalar(null):null,default:!0,tag:\"tag:yaml.org,2002:null\",test:/^null$/,resolve:()=>null,stringify:zr},{identify:e=>\"boolean\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^true|false$/,resolve:e=>\"true\"===e,stringify:zr},{identify:Hr,default:!0,tag:\"tag:yaml.org,2002:int\",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:e=>Jt.intOptions.asBigInt?BigInt(e):parseInt(e,10),stringify:({value:e})=>Hr(e)?e.toString():JSON.stringify(e)},{identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:zr}];Zr.scalarFallback=e=>{throw new SyntaxError(\"Unresolved plain scalar \".concat(JSON.stringify(e)))};const Xr=({value:e})=>e?Jt.boolOptions.trueStr:Jt.boolOptions.falseStr,eo=e=>\"bigint\"==typeof e||Number.isInteger(e);function to(e,t,n){let r=t.replace(/_/g,\"\");if(Jt.intOptions.asBigInt){switch(n){case 2:r=\"0b\".concat(r);break;case 8:r=\"0o\".concat(r);break;case 16:r=\"0x\".concat(r)}const t=BigInt(r);return\"-\"===e?BigInt(-1)*t:t}const o=parseInt(r,n);return\"-\"===e?-1*o:o}function no(e,t,n){const{value:r}=e;if(eo(r)){const e=r.toString(t);return r<0?\"-\"+n+e.substr(1):n+e}return Jt.stringifyNumber(e)}const ro=Yr.concat([{identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new Jt.Scalar(null):null,default:!0,tag:\"tag:yaml.org,2002:null\",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Jt.nullOptions,stringify:()=>Jt.nullOptions.nullStr},{identify:e=>\"boolean\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>!0,options:Jt.boolOptions,stringify:Xr},{identify:e=>\"boolean\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>!1,options:Jt.boolOptions,stringify:Xr},{identify:eo,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"BIN\",test:/^([-+]?)0b([0-1_]+)$/,resolve:(e,t,n)=>to(t,n,2),stringify:e=>no(e,2,\"0b\")},{identify:eo,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"OCT\",test:/^([-+]?)0([0-7_]+)$/,resolve:(e,t,n)=>to(t,n,8),stringify:e=>no(e,8,\"0\")},{identify:eo,default:!0,tag:\"tag:yaml.org,2002:int\",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(e,t,n)=>to(t,n,10),stringify:Jt.stringifyNumber},{identify:eo,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"HEX\",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(e,t,n)=>to(t,n,16),stringify:e=>no(e,16,\"0x\")},{identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^(?:[-+]?\\.inf|(\\.nan))$/i,resolve:(e,t)=>t?NaN:\"-\"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Jt.stringifyNumber},{identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",format:\"EXP\",test:/^[-+]?([0-9][0-9_]*)?(\\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,\"\")),stringify:({value:e})=>Number(e).toExponential()},{identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^[-+]?(?:[0-9][0-9_]*)?\\.([0-9_]*)$/,resolve(e,t){const n=new Jt.Scalar(parseFloat(e.replace(/_/g,\"\")));if(t){const e=t.replace(/_/g,\"\");\"0\"===e[e.length-1]&&(n.minFractionDigits=e.length)}return n},stringify:Jt.stringifyNumber}],Rr.binary,Rr.omap,Rr.pairs,Rr.set,Rr.intTime,Rr.floatTime,Rr.timestamp),oo={core:Gr,failsafe:Yr,json:Zr,yaml11:ro},so={binary:Rr.binary,bool:Wr,float:$r,floatExp:Jr,floatNaN:qr,floatTime:Rr.floatTime,int:Vr,intHex:Kr,intOct:Qr,intTime:Rr.intTime,map:Ir,null:jr,omap:Rr.omap,pairs:Rr.pairs,seq:kr,set:Rr.set,timestamp:Rr.timestamp};function io(e,t,n){if(e instanceof Jt.Node)return e;const{defaultPrefix:r,onTagObj:o,prevObjects:s,schema:i,wrapScalars:a}=n;t&&t.startsWith(\"!!\")&&(t=r+t.slice(2));let c=function(e,t,n){if(t){const e=n.filter((e=>e.tag===t)),r=e.find((e=>!e.format))||e[0];if(!r)throw new Error(\"Tag \".concat(t,\" not found\"));return r}return n.find((t=>(t.identify&&t.identify(e)||t.class&&e instanceof t.class)&&!t.format))}(e,t,i.tags);if(!c){if(\"function\"==typeof e.toJSON&&(e=e.toJSON()),\"object\"!=typeof e)return a?new Jt.Scalar(e):e;c=e instanceof Map?Ir:e[Symbol.iterator]?kr:Ir}o&&(o(c),delete n.onTagObj);const u={};if(e&&\"object\"==typeof e&&s){const t=s.get(e);if(t){const e=new Jt.Alias(t);return n.aliasNodes.push(e),e}u.value=e,s.set(e,u)}return u.node=c.createNode?c.createNode(n.schema,e,n):a?new Jt.Scalar(e):e,t&&u.node instanceof Jt.Node&&(u.node.tag=t),u.node}const ao=(e,t)=>e.keyt.key?1:0;class co{constructor({customTags:e,merge:t,schema:n,sortMapEntries:r,tags:o}){this.merge=!!t,this.name=n,this.sortMapEntries=!0===r?ao:r||null,!e&&o&&Rr.warnOptionDeprecation(\"tags\",\"customTags\"),this.tags=function(e,t,n,r){let o=e[r.replace(/\\W/g,\"\")];if(!o){const t=Object.keys(e).map((e=>JSON.stringify(e))).join(\", \");throw new Error('Unknown schema \"'.concat(r,'\"; use one of ').concat(t))}if(Array.isArray(n))for(const e of n)o=o.concat(e);else\"function\"==typeof n&&(o=n(o.slice()));for(let e=0;eJSON.stringify(e))).join(\", \");throw new Error('Unknown custom tag \"'.concat(n,'\"; use one of ').concat(e))}o[e]=r}}return o}(oo,so,e||o,n)}createNode(e,t,n,r){const o={defaultPrefix:co.defaultPrefix,schema:this,wrapScalars:t};return io(e,n,r?Object.assign(r,o):o)}createPair(e,t,n){n||(n={wrapScalars:!0});const r=this.createNode(e,n.wrapScalars,null,n),o=this.createNode(t,n.wrapScalars,null,n);return new Jt.Pair(r,o)}}Ve._defineProperty(co,\"defaultPrefix\",Ve.defaultTagPrefix),Ve._defineProperty(co,\"defaultTags\",Ve.defaultTags);var uo={Schema:co};const lo={get binary(){return Jt.binaryOptions},set binary(e){Object.assign(Jt.binaryOptions,e)},get bool(){return Jt.boolOptions},set bool(e){Object.assign(Jt.boolOptions,e)},get int(){return Jt.intOptions},set int(e){Object.assign(Jt.intOptions,e)},get null(){return Jt.nullOptions},set null(e){Object.assign(Jt.nullOptions,e)},get str(){return Jt.strOptions},set str(e){Object.assign(Jt.strOptions,e)}},fo={\"1.0\":{schema:\"yaml-1.1\",merge:!0,tagPrefixes:[{handle:\"!\",prefix:Ve.defaultTagPrefix},{handle:\"!!\",prefix:\"tag:private.yaml.org,2002:\"}]},1.1:{schema:\"yaml-1.1\",merge:!0,tagPrefixes:[{handle:\"!\",prefix:\"!\"},{handle:\"!!\",prefix:Ve.defaultTagPrefix}]},1.2:{schema:\"core\",merge:!1,tagPrefixes:[{handle:\"!\",prefix:\"!\"},{handle:\"!!\",prefix:Ve.defaultTagPrefix}]}};function ho(e,t){if(\"1.0\"===(e.version||e.options.version)){const e=t.match(/^tag:private\\.yaml\\.org,2002:([^:/]+)$/);if(e)return\"!\"+e[1];const n=t.match(/^tag:([a-zA-Z0-9-]+)\\.yaml\\.org,2002:(.*)/);return n?\"!\".concat(n[1],\"/\").concat(n[2]):\"!\".concat(t.replace(/^tag:/,\"\"))}let n=e.tagPrefixes.find((e=>0===t.indexOf(e.prefix)));if(!n){const r=e.getDefaults().tagPrefixes;n=r&&r.find((e=>0===t.indexOf(e.prefix)))}if(!n)return\"!\"===t[0]?t:\"!<\".concat(t,\">\");const r=t.substr(n.prefix.length).replace(/[!,[\\]{}]/g,(e=>({\"!\":\"%21\",\",\":\"%2C\",\"[\":\"%5B\",\"]\":\"%5D\",\"{\":\"%7B\",\"}\":\"%7D\"}[e])));return n.handle+r}function po(e,t,n,r){const{anchors:o,schema:s}=t.doc;let i;if(!(e instanceof Jt.Node)){const t={aliasNodes:[],onTagObj:e=>i=e,prevObjects:new Map};e=s.createNode(e,!0,null,t);for(const e of t.aliasNodes){e.source=e.source.node;let t=o.getName(e.source);t||(t=o.newName(),o.map[t]=e.source)}}if(e instanceof Jt.Pair)return e.toString(t,n,r);i||(i=function(e,t){if(t instanceof Jt.Alias)return Jt.Alias;if(t.tag){const n=e.filter((e=>e.tag===t.tag));if(n.length>0)return n.find((e=>e.format===t.format))||n[0]}let n,r;if(t instanceof Jt.Scalar){r=t.value;const o=e.filter((e=>e.identify&&e.identify(r)||e.class&&r instanceof e.class));n=o.find((e=>e.format===t.format))||o.find((e=>!e.format))}else r=t,n=e.find((e=>e.nodeClass&&r instanceof e.nodeClass));if(!n){const e=r&&r.constructor?r.constructor.name:typeof r;throw new Error(\"Tag not resolved for \".concat(e,\" value\"))}return n}(s.tags,e));const a=function(e,t,{anchors:n,doc:r}){const o=[],s=r.anchors.getName(e);return s&&(n[s]=e,o.push(\"&\".concat(s))),e.tag?o.push(ho(r,e.tag)):t.default||o.push(ho(r,t.tag)),o.join(\" \")}(e,i,t);a.length>0&&(t.indentAtStart=(t.indentAtStart||0)+a.length+1);const c=\"function\"==typeof i.stringify?i.stringify(e,t,n,r):e instanceof Jt.Scalar?Jt.stringifyString(e,t,n,r):e.toString(t,n,r);return a?e instanceof Jt.Scalar||\"{\"===c[0]||\"[\"===c[0]?\"\".concat(a,\" \").concat(c):\"\".concat(a,\"\\n\").concat(t.indent).concat(c):c}class go{static validAnchorNode(e){return e instanceof Jt.Scalar||e instanceof Jt.YAMLSeq||e instanceof Jt.YAMLMap}constructor(e){Ve._defineProperty(this,\"map\",{}),this.prefix=e}createAlias(e,t){return this.setAnchor(e,t),new Jt.Alias(e)}createMergePair(...e){const t=new Jt.Merge;return t.value.items=e.map((e=>{if(e instanceof Jt.Alias){if(e.source instanceof Jt.YAMLMap)return e}else if(e instanceof Jt.YAMLMap)return this.createAlias(e);throw new Error(\"Merge sources must be Map nodes or their Aliases\")})),t}getName(e){const{map:t}=this;return Object.keys(t).find((n=>t[n]===e))}getNames(){return Object.keys(this.map)}getNode(e){return this.map[e]}newName(e){e||(e=this.prefix);const t=Object.keys(this.map);for(let n=1;;++n){const r=\"\".concat(e).concat(n);if(!t.includes(r))return r}}resolveNodes(){const{map:e,_cstAliases:t}=this;Object.keys(e).forEach((t=>{e[t]=e[t].resolved})),t.forEach((e=>{e.source=e.source.resolved})),delete this._cstAliases}setAnchor(e,t){if(null!=e&&!go.validAnchorNode(e))throw new Error(\"Anchors may only be set for Scalar, Seq and Map nodes\");if(t&&/[\\x00-\\x19\\s,[\\]{}]/.test(t))throw new Error(\"Anchor names must not contain whitespace or control characters\");const{map:n}=this,r=e&&Object.keys(n).find((t=>n[t]===e));if(r){if(!t)return r;r!==t&&(delete n[r],n[t]=e)}else{if(!t){if(!e)return null;t=this.newName()}n[t]=e}return t}}const mo=(e,t)=>{if(e&&\"object\"==typeof e){const{tag:n}=e;e instanceof Jt.Collection?(n&&(t[n]=!0),e.items.forEach((e=>mo(e,t)))):e instanceof Jt.Pair?(mo(e.key,t),mo(e.value,t)):e instanceof Jt.Scalar&&n&&(t[n]=!0)}return t};function yo({tagPrefixes:e},t){const[n,r]=t.parameters;if(!n||!r){const e=\"Insufficient parameters given for %TAG directive\";throw new Ve.YAMLSemanticError(t,e)}if(e.some((e=>e.handle===n))){const e=\"The %TAG directive must only be given at most once per handle in the same document.\";throw new Ve.YAMLSemanticError(t,e)}return{handle:n,prefix:r}}function vo(e,t){let[n]=t.parameters;if(\"YAML:1.0\"===t.name&&(n=\"1.0\"),!n){const e=\"Insufficient parameters given for %YAML directive\";throw new Ve.YAMLSemanticError(t,e)}if(!fo[n]){const r=e.version||e.options.version,o=\"Document will be parsed as YAML \".concat(r,\" rather than YAML \").concat(n);e.warnings.push(new Ve.YAMLWarning(t,o))}return n}function _o(e){if(e instanceof Jt.Collection)return!0;throw new Error(\"Expected a YAML collection as document contents\")}class wo{constructor(e){this.anchors=new go(e.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=e,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}add(e){return _o(this.contents),this.contents.add(e)}addIn(e,t){_o(this.contents),this.contents.addIn(e,t)}delete(e){return _o(this.contents),this.contents.delete(e)}deleteIn(e){return Jt.isEmptyPath(e)?null!=this.contents&&(this.contents=null,!0):(_o(this.contents),this.contents.deleteIn(e))}getDefaults(){return wo.defaults[this.version]||wo.defaults[this.options.version]||{}}get(e,t){return this.contents instanceof Jt.Collection?this.contents.get(e,t):void 0}getIn(e,t){return Jt.isEmptyPath(e)?!t&&this.contents instanceof Jt.Scalar?this.contents.value:this.contents:this.contents instanceof Jt.Collection?this.contents.getIn(e,t):void 0}has(e){return this.contents instanceof Jt.Collection&&this.contents.has(e)}hasIn(e){return Jt.isEmptyPath(e)?void 0!==this.contents:this.contents instanceof Jt.Collection&&this.contents.hasIn(e)}set(e,t){_o(this.contents),this.contents.set(e,t)}setIn(e,t){Jt.isEmptyPath(e)?this.contents=t:(_o(this.contents),this.contents.setIn(e,t))}setSchema(e,t){if(!e&&!t&&this.schema)return;\"number\"==typeof e&&(e=e.toFixed(1)),\"1.0\"===e||\"1.1\"===e||\"1.2\"===e?(this.version?this.version=e:this.options.version=e,delete this.options.schema):e&&\"string\"==typeof e&&(this.options.schema=e),Array.isArray(t)&&(this.options.customTags=t);const n=Object.assign({},this.getDefaults(),this.options);this.schema=new uo.Schema(n)}parse(e,t){this.options.keepCstNodes&&(this.cstNode=e),this.options.keepNodeTypes&&(this.type=\"DOCUMENT\");const{directives:n=[],contents:r=[],directivesEndMarker:o,error:s,valueRange:i}=e;if(s&&(s.source||(s.source=this),this.errors.push(s)),function(e,t,n){const r=[];let o=!1;for(const n of t){const{comment:t,name:s}=n;switch(s){case\"TAG\":try{e.tagPrefixes.push(yo(e,n))}catch(t){e.errors.push(t)}o=!0;break;case\"YAML\":case\"YAML:1.0\":if(e.version){const t=\"The %YAML directive must only be given at most once per document.\";e.errors.push(new Ve.YAMLSemanticError(n,t))}try{e.version=vo(e,n)}catch(t){e.errors.push(t)}o=!0;break;default:if(s){const t=\"YAML only supports %TAG and %YAML directives, and not %\".concat(s);e.warnings.push(new Ve.YAMLWarning(n,t))}}t&&r.push(t)}if(n&&!o&&\"1.1\"===(e.version||n.version||e.options.version)){const t=({handle:e,prefix:t})=>({handle:e,prefix:t});e.tagPrefixes=n.tagPrefixes.map(t),e.version=n.version}e.commentBefore=r.join(\"\\n\")||null}(this,n,t),o&&(this.directivesEndMarker=!0),this.range=i?[i.start,i.end]:null,this.setSchema(),this.anchors._cstAliases=[],function(e,t){const n={before:[],after:[]};let r=void 0,o=!1;for(const s of t)if(s.valueRange){if(void 0!==r){const t=\"Document contains trailing content not separated by a ... or --- line\";e.errors.push(new Ve.YAMLSyntaxError(s,t));break}const t=Jt.resolveNode(e,s);o&&(t.spaceBefore=!0,o=!1),r=t}else null!==s.comment?(void 0===r?n.before:n.after).push(s.comment):s.type===Ve.Type.BLANK_LINE&&(o=!0,void 0===r&&n.before.length>0&&!e.commentBefore&&(e.commentBefore=n.before.join(\"\\n\"),n.before=[]));if(e.contents=r||null,r){const t=n.before.join(\"\\n\");if(t){const e=r instanceof Jt.Collection&&r.items[0]?r.items[0]:r;e.commentBefore=e.commentBefore?\"\".concat(t,\"\\n\").concat(e.commentBefore):t}e.comment=n.after.join(\"\\n\")||null}else e.comment=n.before.concat(n.after).join(\"\\n\")||null}(this,r),this.anchors.resolveNodes(),this.options.prettyErrors){for(const e of this.errors)e instanceof Ve.YAMLError&&e.makePretty();for(const e of this.warnings)e instanceof Ve.YAMLError&&e.makePretty()}return this}listNonDefaultTags(){return(e=>Object.keys(mo(e,{})))(this.contents).filter((e=>0!==e.indexOf(uo.Schema.defaultPrefix)))}setTagPrefix(e,t){if(\"!\"!==e[0]||\"!\"!==e[e.length-1])throw new Error(\"Handle must start and end with !\");if(t){const n=this.tagPrefixes.find((t=>t.handle===e));n?n.prefix=t:this.tagPrefixes.push({handle:e,prefix:t})}else this.tagPrefixes=this.tagPrefixes.filter((t=>t.handle!==e))}toJSON(e,t){const{keepBlobsInJSON:n,mapAsMap:r,maxAliasCount:o}=this.options,s=n&&(\"string\"!=typeof e||!(this.contents instanceof Jt.Scalar)),i={doc:this,indentStep:\" \",keep:s,mapAsMap:s&&!!r,maxAliasCount:o,stringify:po},a=Object.keys(this.anchors.map);a.length>0&&(i.anchors=new Map(a.map((e=>[this.anchors.map[e],{alias:[],aliasCount:0,count:1}]))));const c=Jt.toJSON(this.contents,e,i);if(\"function\"==typeof t&&i.anchors)for(const{count:e,res:n}of i.anchors.values())t(n,e);return c}toString(){if(this.errors.length>0)throw new Error(\"Document with errors cannot be stringified\");const e=this.options.indent;if(!Number.isInteger(e)||e<=0){const t=JSON.stringify(e);throw new Error('\"indent\" option must be a positive integer, not '.concat(t))}this.setSchema();const t=[];let n=!1;if(this.version){let e=\"%YAML 1.2\";\"yaml-1.1\"===this.schema.name&&(\"1.0\"===this.version?e=\"%YAML:1.0\":\"1.1\"===this.version&&(e=\"%YAML 1.1\")),t.push(e),n=!0}const r=this.listNonDefaultTags();this.tagPrefixes.forEach((({handle:e,prefix:o})=>{r.some((e=>0===e.indexOf(o)))&&(t.push(\"%TAG \".concat(e,\" \").concat(o)),n=!0)})),(n||this.directivesEndMarker)&&t.push(\"---\"),this.commentBefore&&(!n&&this.directivesEndMarker||t.unshift(\"\"),t.unshift(this.commentBefore.replace(/^/gm,\"#\")));const o={anchors:{},doc:this,indent:\"\",indentStep:\" \".repeat(e),stringify:po};let s=!1,i=null;if(this.contents){this.contents instanceof Jt.Node&&(this.contents.spaceBefore&&(n||this.directivesEndMarker)&&t.push(\"\"),this.contents.commentBefore&&t.push(this.contents.commentBefore.replace(/^/gm,\"#\")),o.forceBlockIndent=!!this.comment,i=this.contents.comment);const e=i?null:()=>s=!0,r=po(this.contents,o,(()=>i=null),e);t.push(Jt.addComment(r,\"\",i))}else void 0!==this.contents&&t.push(po(this.contents,o));return this.comment&&(s&&!i||\"\"===t[t.length-1]||t.push(\"\"),t.push(this.comment.replace(/^/gm,\"#\"))),t.join(\"\\n\")+\"\\n\"}}Ve._defineProperty(wo,\"defaults\",fo);var Eo={Document:wo,defaultOptions:{anchorPrefix:\"a\",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:\"1.2\"},scalarOptions:lo};class So extends Eo.Document{constructor(e){super(Object.assign({},Eo.defaultOptions,e))}}function bo(e,t){const n=at.parse(e),r=new So(t).parse(n[0]);if(n.length>1){const e=\"Source contains multiple documents; please use YAML.parseAllDocuments()\";r.errors.unshift(new Ve.YAMLSemanticError(n[1],e))}return r}var Ao={YAML:{createNode:function(e,t=!0,n){void 0===n&&\"string\"==typeof t&&(n=t,t=!0);const r=Object.assign({},Eo.Document.defaults[Eo.defaultOptions.version],Eo.defaultOptions);return new uo.Schema(r).createNode(e,t,n)},defaultOptions:Eo.defaultOptions,Document:So,parse:function(e,t){const n=bo(e,t);if(n.warnings.forEach((e=>Rr.warn(e))),n.errors.length>0)throw n.errors[0];return n.toJSON()},parseAllDocuments:function(e,t){const n=[];let r;for(const o of at.parse(e)){const e=new So(t);e.parse(o,r),n.push(e),r=e}return n},parseCST:at.parse,parseDocument:bo,scalarOptions:Eo.scalarOptions,stringify:function(e,t){const n=new So(t);return n.contents=e,String(n)}}}.YAML,Mo={Type:Ve.Type,YAMLError:Ve.YAMLError,YAMLReferenceError:Ve.YAMLReferenceError,YAMLSemanticError:Ve.YAMLSemanticError,YAMLSyntaxError:Ve.YAMLSyntaxError,YAMLWarning:Ve.YAMLWarning,findPair:Jt.findPair,parseMap:Jt.resolveMap,parseSeq:Jt.resolveSeq,stringifyNumber:Jt.stringifyNumber,stringifyString:Jt.stringifyString,toJSON:Jt.toJSON},Oo={findPair:Mo.findPair,toJSON:Mo.toJSON,parseMap:Mo.parseMap,parseSeq:Mo.parseSeq,stringifyNumber:Mo.stringifyNumber,stringifyString:Mo.stringifyString,Type:Mo.Type,YAMLError:Mo.YAMLError,YAMLReferenceError:Mo.YAMLReferenceError,YAMLSemanticError:Mo.YAMLSemanticError,YAMLSyntaxError:Mo.YAMLSyntaxError,YAMLWarning:Mo.YAMLWarning},Lo=r((function(e,t){t.__esModule=!0,t.Document=Ao.Document;var n=Ao;t.parseCST=n.parseCST,t.YAMLError=Oo.YAMLError,t.YAMLSyntaxError=Oo.YAMLSyntaxError,t.YAMLSemanticError=Oo.YAMLSemanticError})),No=r((function(e,t){t.__esModule=!0,t.parse=function(e){var t=Lo.parseCST(e);Te.addOrigRange(t);for(var n=t.map((function(e){return new Lo.Document({merge:!1,keepCstNodes:!0}).parse(e)})),r=[],o={text:e,locator:new l.default(e),comments:r,transformOffset:function(e){return Le.transformOffset(e,o)},transformRange:function(e){return Ne.transformRange(e,o)},transformNode:function(e){return be.transformNode(e,o)},transformContent:function(e){return T.transformContent(e,o)}},s=0,i=n;s.\n * Also makes sure that only sequences are used for linebreaks\n *\n * @param {Object} options Stream options\n */\nclass DataStream extends Transform {\n constructor(options) {\n super(options);\n // init Transform\n this.options = options || {};\n this._curLine = '';\n\n this.inByteCount = 0;\n this.outByteCount = 0;\n this.lastByte = false;\n }\n\n /**\n * Escapes dots\n */\n _transform(chunk, encoding, done) {\n let chunks = [];\n let chunklen = 0;\n let i,\n len,\n lastPos = 0;\n let buf;\n\n if (!chunk || !chunk.length) {\n return done();\n }\n\n if (typeof chunk === 'string') {\n chunk = Buffer.from(chunk);\n }\n\n this.inByteCount += chunk.length;\n\n for (i = 0, len = chunk.length; i < len; i++) {\n if (chunk[i] === 0x2e) {\n // .\n if ((i && chunk[i - 1] === 0x0a) || (!i && (!this.lastByte || this.lastByte === 0x0a))) {\n buf = chunk.slice(lastPos, i + 1);\n chunks.push(buf);\n chunks.push(Buffer.from('.'));\n chunklen += buf.length + 1;\n lastPos = i + 1;\n }\n } else if (chunk[i] === 0x0a) {\n // .\n if ((i && chunk[i - 1] !== 0x0d) || (!i && this.lastByte !== 0x0d)) {\n if (i > lastPos) {\n buf = chunk.slice(lastPos, i);\n chunks.push(buf);\n chunklen += buf.length + 2;\n } else {\n chunklen += 2;\n }\n chunks.push(Buffer.from('\\r\\n'));\n lastPos = i + 1;\n }\n }\n }\n\n if (chunklen) {\n // add last piece\n if (lastPos < chunk.length) {\n buf = chunk.slice(lastPos);\n chunks.push(buf);\n chunklen += buf.length;\n }\n\n this.outByteCount += chunklen;\n this.push(Buffer.concat(chunks, chunklen));\n } else {\n this.outByteCount += chunk.length;\n this.push(chunk);\n }\n\n this.lastByte = chunk[chunk.length - 1];\n done();\n }\n\n /**\n * Finalizes the stream with a dot on a single line\n */\n _flush(done) {\n let buf;\n if (this.lastByte === 0x0a) {\n buf = Buffer.from('.\\r\\n');\n } else if (this.lastByte === 0x0d) {\n buf = Buffer.from('\\n.\\r\\n');\n } else {\n buf = Buffer.from('\\r\\n.\\r\\n');\n }\n this.outByteCount += buf.length;\n this.push(buf);\n done();\n }\n}\n\nmodule.exports = DataStream;\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdirsSync = require('../mkdirs').mkdirsSync\nconst utimesMillisSync = require('../util/utimes').utimesMillisSync\nconst stat = require('../util/stat')\n\nfunction copySync (src, dest, opts) {\n if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n opts = opts || {}\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\\n\n see https://github.com/jprichardson/node-fs-extra/issues/269`)\n }\n\n const { srcStat, destStat } = stat.checkPathsSync(src, dest, 'copy')\n stat.checkParentPathsSync(src, srcStat, dest, 'copy')\n return handleFilterAndCopy(destStat, src, dest, opts)\n}\n\nfunction handleFilterAndCopy (destStat, src, dest, opts) {\n if (opts.filter && !opts.filter(src, dest)) return\n const destParent = path.dirname(dest)\n if (!fs.existsSync(destParent)) mkdirsSync(destParent)\n return startCopy(destStat, src, dest, opts)\n}\n\nfunction startCopy (destStat, src, dest, opts) {\n if (opts.filter && !opts.filter(src, dest)) return\n return getStats(destStat, src, dest, opts)\n}\n\nfunction getStats (destStat, src, dest, opts) {\n const statSync = opts.dereference ? fs.statSync : fs.lstatSync\n const srcStat = statSync(src)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts)\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts) {\n if (!destStat) return copyFile(srcStat, src, dest, opts)\n return mayCopyFile(srcStat, src, dest, opts)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts) {\n if (opts.overwrite) {\n fs.unlinkSync(dest)\n return copyFile(srcStat, src, dest, opts)\n } else if (opts.errorOnExist) {\n throw new Error(`'${dest}' already exists`)\n }\n}\n\nfunction copyFile (srcStat, src, dest, opts) {\n fs.copyFileSync(src, dest)\n if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest)\n return setDestMode(dest, srcStat.mode)\n}\n\nfunction handleTimestamps (srcMode, src, dest) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode)\n return setDestTimestamps(src, dest)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode) {\n return setDestMode(dest, srcMode | 0o200)\n}\n\nfunction setDestMode (dest, srcMode) {\n return fs.chmodSync(dest, srcMode)\n}\n\nfunction setDestTimestamps (src, dest) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n const updatedSrcStat = fs.statSync(src)\n return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime)\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts)\n if (destStat && !destStat.isDirectory()) {\n throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)\n }\n return copyDir(src, dest, opts)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts) {\n fs.mkdirSync(dest)\n copyDir(src, dest, opts)\n return setDestMode(dest, srcMode)\n}\n\nfunction copyDir (src, dest, opts) {\n fs.readdirSync(src).forEach(item => copyDirItem(item, src, dest, opts))\n}\n\nfunction copyDirItem (item, src, dest, opts) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n const { destStat } = stat.checkPathsSync(srcItem, destItem, 'copy')\n return startCopy(destStat, srcItem, destItem, opts)\n}\n\nfunction onLink (destStat, src, dest, opts) {\n let resolvedSrc = fs.readlinkSync(src)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlinkSync(resolvedSrc, dest)\n } else {\n let resolvedDest\n try {\n resolvedDest = fs.readlinkSync(dest)\n } catch (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlinkSync(resolvedSrc, dest)\n throw err\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)\n }\n\n // prevent copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (fs.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)\n }\n return copyLink(resolvedSrc, dest)\n }\n}\n\nfunction copyLink (resolvedSrc, dest) {\n fs.unlinkSync(dest)\n return fs.symlinkSync(resolvedSrc, dest)\n}\n\nmodule.exports = copySync\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","'use strict';\nconst os = require('os');\n\nconst nameMap = new Map([\n\t[20, ['Big Sur', '11']],\n\t[19, ['Catalina', '10.15']],\n\t[18, ['Mojave', '10.14']],\n\t[17, ['High Sierra', '10.13']],\n\t[16, ['Sierra', '10.12']],\n\t[15, ['El Capitan', '10.11']],\n\t[14, ['Yosemite', '10.10']],\n\t[13, ['Mavericks', '10.9']],\n\t[12, ['Mountain Lion', '10.8']],\n\t[11, ['Lion', '10.7']],\n\t[10, ['Snow Leopard', '10.6']],\n\t[9, ['Leopard', '10.5']],\n\t[8, ['Tiger', '10.4']],\n\t[7, ['Panther', '10.3']],\n\t[6, ['Jaguar', '10.2']],\n\t[5, ['Puma', '10.1']]\n]);\n\nconst macosRelease = release => {\n\trelease = Number((release || os.release()).split('.')[0]);\n\n\tconst [name, version] = nameMap.get(release);\n\n\treturn {\n\t\tname,\n\t\tversion\n\t};\n};\n\nmodule.exports = macosRelease;\n// TODO: remove this in the next major version\nmodule.exports.default = macosRelease;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlSslVersionMax = exports.CurlSslVersion = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L2015\r\n/**\r\n * Object with constants for option `SSLVERSION`\r\n *\r\n * `CURL_SSLVERSION_DEFAULT` becomes `CurlSslVersion.Default`\r\n *\r\n * @public\r\n */\r\nvar CurlSslVersion;\r\n(function (CurlSslVersion) {\r\n CurlSslVersion[CurlSslVersion[\"Default\"] = 0] = \"Default\";\r\n CurlSslVersion[CurlSslVersion[\"TlsV1\"] = 1] = \"TlsV1\";\r\n CurlSslVersion[CurlSslVersion[\"SslV2\"] = 2] = \"SslV2\";\r\n CurlSslVersion[CurlSslVersion[\"SslV3\"] = 3] = \"SslV3\";\r\n CurlSslVersion[CurlSslVersion[\"TlsV1_0\"] = 4] = \"TlsV1_0\";\r\n CurlSslVersion[CurlSslVersion[\"TlsV1_1\"] = 5] = \"TlsV1_1\";\r\n CurlSslVersion[CurlSslVersion[\"TlsV1_2\"] = 6] = \"TlsV1_2\";\r\n CurlSslVersion[CurlSslVersion[\"TlsV1_3\"] = 7] = \"TlsV1_3\";\r\n})(CurlSslVersion = exports.CurlSslVersion || (exports.CurlSslVersion = {}));\r\n/**\r\n * Object with constants for option `SSLVERSION`\r\n *\r\n * The maximum TLS version can be set by using one of the `CurlSslVersionMax` fields of this Enum.\r\n * It is also possible to OR one of the `CurlSslVersion` fields with one of `CurlSslVersionMax`\r\n *\r\n * `CURL_SSLVERSION_MAX_TLSv1_0` becomes `CurlSslVersionMax.TlsV1_0`\r\n *\r\n * @public\r\n */\r\nvar CurlSslVersionMax;\r\n(function (CurlSslVersionMax) {\r\n CurlSslVersionMax[CurlSslVersionMax[\"None\"] = 0] = \"None\";\r\n CurlSslVersionMax[CurlSslVersionMax[\"Default\"] = 65536] = \"Default\";\r\n CurlSslVersionMax[CurlSslVersionMax[\"TlsV1_0\"] = 262144] = \"TlsV1_0\";\r\n CurlSslVersionMax[CurlSslVersionMax[\"TlsV1_1\"] = 327680] = \"TlsV1_1\";\r\n CurlSslVersionMax[CurlSslVersionMax[\"TlsV1_2\"] = 393216] = \"TlsV1_2\";\r\n CurlSslVersionMax[CurlSslVersionMax[\"TlsV1_3\"] = 458752] = \"TlsV1_3\";\r\n})(CurlSslVersionMax = exports.CurlSslVersionMax || (exports.CurlSslVersionMax = {}));\r\n//# sourceMappingURL=CurlSslVersion.js.map","'use strict'\n\nconst fs = require('../fs')\nconst path = require('path')\nconst util = require('util')\nconst atLeastNode = require('at-least-node')\n\nconst nodeSupportsBigInt = atLeastNode('10.5.0')\nconst stat = (file) => nodeSupportsBigInt ? fs.stat(file, { bigint: true }) : fs.stat(file)\nconst statSync = (file) => nodeSupportsBigInt ? fs.statSync(file, { bigint: true }) : fs.statSync(file)\n\nfunction getStats (src, dest) {\n return Promise.all([\n stat(src),\n stat(dest).catch(err => {\n if (err.code === 'ENOENT') return null\n throw err\n })\n ]).then(([srcStat, destStat]) => ({ srcStat, destStat }))\n}\n\nfunction getStatsSync (src, dest) {\n let destStat\n const srcStat = statSync(src)\n try {\n destStat = statSync(dest)\n } catch (err) {\n if (err.code === 'ENOENT') return { srcStat, destStat: null }\n throw err\n }\n return { srcStat, destStat }\n}\n\nfunction checkPaths (src, dest, funcName, cb) {\n util.callbackify(getStats)(src, dest, (err, stats) => {\n if (err) return cb(err)\n const { srcStat, destStat } = stats\n if (destStat && areIdentical(srcStat, destStat)) {\n return cb(new Error('Source and destination must not be the same.'))\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {\n return cb(new Error(errMsg(src, dest, funcName)))\n }\n return cb(null, { srcStat, destStat })\n })\n}\n\nfunction checkPathsSync (src, dest, funcName) {\n const { srcStat, destStat } = getStatsSync(src, dest)\n if (destStat && areIdentical(srcStat, destStat)) {\n throw new Error('Source and destination must not be the same.')\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {\n throw new Error(errMsg(src, dest, funcName))\n }\n return { srcStat, destStat }\n}\n\n// recursively check if dest parent is a subdirectory of src.\n// It works for all file types including symlinks since it\n// checks the src and dest inodes. It starts from the deepest\n// parent and stops once it reaches the src parent or the root path.\nfunction checkParentPaths (src, srcStat, dest, funcName, cb) {\n const srcParent = path.resolve(path.dirname(src))\n const destParent = path.resolve(path.dirname(dest))\n if (destParent === srcParent || destParent === path.parse(destParent).root) return cb()\n const callback = (err, destStat) => {\n if (err) {\n if (err.code === 'ENOENT') return cb()\n return cb(err)\n }\n if (areIdentical(srcStat, destStat)) {\n return cb(new Error(errMsg(src, dest, funcName)))\n }\n return checkParentPaths(src, srcStat, destParent, funcName, cb)\n }\n if (nodeSupportsBigInt) fs.stat(destParent, { bigint: true }, callback)\n else fs.stat(destParent, callback)\n}\n\nfunction checkParentPathsSync (src, srcStat, dest, funcName) {\n const srcParent = path.resolve(path.dirname(src))\n const destParent = path.resolve(path.dirname(dest))\n if (destParent === srcParent || destParent === path.parse(destParent).root) return\n let destStat\n try {\n destStat = statSync(destParent)\n } catch (err) {\n if (err.code === 'ENOENT') return\n throw err\n }\n if (areIdentical(srcStat, destStat)) {\n throw new Error(errMsg(src, dest, funcName))\n }\n return checkParentPathsSync(src, srcStat, destParent, funcName)\n}\n\nfunction areIdentical (srcStat, destStat) {\n if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {\n if (nodeSupportsBigInt || destStat.ino < Number.MAX_SAFE_INTEGER) {\n // definitive answer\n return true\n }\n // Use additional heuristics if we can't use 'bigint'.\n // Different 'ino' could be represented the same if they are >= Number.MAX_SAFE_INTEGER\n // See issue 657\n if (destStat.size === srcStat.size &&\n destStat.mode === srcStat.mode &&\n destStat.nlink === srcStat.nlink &&\n destStat.atimeMs === srcStat.atimeMs &&\n destStat.mtimeMs === srcStat.mtimeMs &&\n destStat.ctimeMs === srcStat.ctimeMs &&\n destStat.birthtimeMs === srcStat.birthtimeMs) {\n // heuristic answer\n return true\n }\n }\n return false\n}\n\n// return true if dest is a subdir of src, otherwise false.\n// It only checks the path strings.\nfunction isSrcSubdir (src, dest) {\n const srcArr = path.resolve(src).split(path.sep).filter(i => i)\n const destArr = path.resolve(dest).split(path.sep).filter(i => i)\n return srcArr.reduce((acc, cur, i) => acc && destArr[i] === cur, true)\n}\n\nfunction errMsg (src, dest, funcName) {\n return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`\n}\n\nmodule.exports = {\n checkPaths,\n checkPathsSync,\n checkParentPaths,\n checkParentPathsSync,\n isSrcSubdir\n}\n","module.exports = require(\"child_process\");","'use strict';\nvar shebangRegex = require('shebang-regex');\n\nmodule.exports = function (str) {\n\tvar match = str.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tvar arr = match[0].replace(/#! ?/, '').split(' ');\n\tvar bin = arr[0].split('/').pop();\n\tvar arg = arr[1];\n\n\treturn (bin === 'env' ?\n\t\targ :\n\t\tbin + (arg ? ' ' + arg : '')\n\t);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nconst packageData = require('../../package.json');\nconst shared = require('../shared');\n\n/**\n * Generates a Transport object to generate JSON output\n *\n * @constructor\n * @param {Object} optional config parameter\n */\nclass JSONTransport {\n constructor(options) {\n options = options || {};\n\n this.options = options || {};\n\n this.name = 'JSONTransport';\n this.version = packageData.version;\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'json-transport'\n });\n }\n\n /**\n *

Compiles a mailcomposer message and forwards it to handler that sends it.

\n *\n * @param {Object} emailMessage MailComposer object\n * @param {Function} callback Callback function to run when the sending is completed\n */\n send(mail, done) {\n // Sendmail strips this header line by itself\n mail.message.keepBcc = true;\n\n let envelope = mail.data.envelope || mail.message.getEnvelope();\n let messageId = mail.message.messageId();\n\n let recipients = [].concat(envelope.to || []);\n if (recipients.length > 3) {\n recipients.push('...and ' + recipients.splice(2).length + ' more');\n }\n this.logger.info(\n {\n tnx: 'send',\n messageId\n },\n 'Composing JSON structure of %s to <%s>',\n messageId,\n recipients.join(', ')\n );\n\n setImmediate(() => {\n mail.normalize((err, data) => {\n if (err) {\n this.logger.error(\n {\n err,\n tnx: 'send',\n messageId\n },\n 'Failed building JSON structure for %s. %s',\n messageId,\n err.message\n );\n return done(err);\n }\n\n delete data.envelope;\n delete data.normalizedHeaders;\n\n return done(null, {\n envelope,\n messageId,\n message: this.options.skipEncoding ? data : JSON.stringify(data)\n });\n });\n });\n }\n}\n\nmodule.exports = JSONTransport;\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst mkdir = require('../mkdirs')\n\nfunction createFile (file, callback) {\n function makeFile () {\n fs.writeFile(file, '', err => {\n if (err) return callback(err)\n callback()\n })\n }\n\n fs.stat(file, (err, stats) => { // eslint-disable-line handle-callback-err\n if (!err && stats.isFile()) return callback()\n const dir = path.dirname(file)\n fs.stat(dir, (err, stats) => {\n if (err) {\n // if the directory doesn't exist, make it\n if (err.code === 'ENOENT') {\n return mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n makeFile()\n })\n }\n return callback(err)\n }\n\n if (stats.isDirectory()) makeFile()\n else {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdir(dir, err => {\n if (err) return callback(err)\n })\n }\n })\n })\n}\n\nfunction createFileSync (file) {\n let stats\n try {\n stats = fs.statSync(file)\n } catch {}\n if (stats && stats.isFile()) return\n\n const dir = path.dirname(file)\n try {\n if (!fs.statSync(dir).isDirectory()) {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdirSync(dir)\n }\n } catch (err) {\n // If the stat call above failed because the directory doesn't exist, create it\n if (err && err.code === 'ENOENT') mkdir.mkdirsSync(dir)\n else throw err\n }\n\n fs.writeFileSync(file, '')\n}\n\nmodule.exports = {\n createFile: u(createFile),\n createFileSync\n}\n","'use strict';\n\nconst stream = require('stream');\nconst Transform = stream.Transform;\n\n/**\n * Ensures that only is used for linebreaks\n *\n * @param {Object} options Stream options\n */\nclass LeWindows extends Transform {\n constructor(options) {\n super(options);\n // init Transform\n this.options = options || {};\n }\n\n /**\n * Escapes dots\n */\n _transform(chunk, encoding, done) {\n let buf;\n let lastPos = 0;\n\n for (let i = 0, len = chunk.length; i < len; i++) {\n if (chunk[i] === 0x0d) {\n // \\n\n buf = chunk.slice(lastPos, i);\n lastPos = i + 1;\n this.push(buf);\n }\n }\n if (lastPos && lastPos < chunk.length) {\n buf = chunk.slice(lastPos);\n this.push(buf);\n } else if (!lastPos) {\n this.push(chunk);\n }\n done();\n }\n}\n\nmodule.exports = LeWindows;\n","'use strict';\nconst alias = ['stdin', 'stdout', 'stderr'];\n\nconst hasAlias = opts => alias.some(x => Boolean(opts[x]));\n\nmodule.exports = opts => {\n\tif (!opts) {\n\t\treturn null;\n\t}\n\n\tif (opts.stdio && hasAlias(opts)) {\n\t\tthrow new Error(`It's not possible to provide \\`stdio\\` in combination with one of ${alias.map(x => `\\`${x}\\``).join(', ')}`);\n\t}\n\n\tif (typeof opts.stdio === 'string') {\n\t\treturn opts.stdio;\n\t}\n\n\tconst stdio = opts.stdio || [];\n\n\tif (!Array.isArray(stdio)) {\n\t\tthrow new TypeError(`Expected \\`stdio\\` to be of type \\`string\\` or \\`Array\\`, got \\`${typeof stdio}\\``);\n\t}\n\n\tconst result = [];\n\tconst len = Math.max(stdio.length, alias.length);\n\n\tfor (let i = 0; i < len; i++) {\n\t\tlet value = null;\n\n\t\tif (stdio[i] !== undefined) {\n\t\t\tvalue = stdio[i];\n\t\t} else if (opts[alias[i]] !== undefined) {\n\t\t\tvalue = opts[alias[i]];\n\t\t}\n\n\t\tresult[i] = value;\n\t}\n\n\treturn result;\n};\n","module.exports = r => {\n const n = process.versions.node.split('.').map(x => parseInt(x, 10))\n r = r.split('.').map(x => parseInt(x, 10))\n return n[0] > r[0] || (n[0] === r[0] && (n[1] > r[1] || (n[1] === r[1] && n[2] >= r[2])))\n}\n","'use strict';\n\nconst services = require('./services.json');\nconst normalized = {};\n\nObject.keys(services).forEach(key => {\n let service = services[key];\n\n normalized[normalizeKey(key)] = normalizeService(service);\n\n [].concat(service.aliases || []).forEach(alias => {\n normalized[normalizeKey(alias)] = normalizeService(service);\n });\n\n [].concat(service.domains || []).forEach(domain => {\n normalized[normalizeKey(domain)] = normalizeService(service);\n });\n});\n\nfunction normalizeKey(key) {\n return key.replace(/[^a-zA-Z0-9.-]/g, '').toLowerCase();\n}\n\nfunction normalizeService(service) {\n let filter = ['domains', 'aliases'];\n let response = {};\n\n Object.keys(service).forEach(key => {\n if (filter.indexOf(key) < 0) {\n response[key] = service[key];\n }\n });\n\n return response;\n}\n\n/**\n * Resolves SMTP config for given key. Key can be a name (like 'Gmail'), alias (like 'Google Mail') or\n * an email address (like 'test@googlemail.com').\n *\n * @param {String} key [description]\n * @returns {Object} SMTP config or false if not found\n */\nmodule.exports = function (key) {\n key = normalizeKey(key.split('@').pop());\n return normalized[key] || false;\n};\n","var fs = require('fs');\nvar path = require('path');\nvar common = require('./common');\n\ncommon.register('cp', _cp, {\n cmdOptions: {\n 'f': '!no_force',\n 'n': 'no_force',\n 'u': 'update',\n 'R': 'recursive',\n 'r': 'recursive',\n 'L': 'followsymlink',\n 'P': 'noFollowsymlink',\n },\n wrapOutput: false,\n});\n\n// Buffered file copy, synchronous\n// (Using readFileSync() + writeFileSync() could easily cause a memory overflow\n// with large files)\nfunction copyFileSync(srcFile, destFile, options) {\n if (!fs.existsSync(srcFile)) {\n common.error('copyFileSync: no such file or directory: ' + srcFile);\n }\n\n var isWindows = process.platform === 'win32';\n\n // Check the mtimes of the files if the '-u' flag is provided\n try {\n if (options.update && common.statFollowLinks(srcFile).mtime < fs.statSync(destFile).mtime) {\n return;\n }\n } catch (e) {\n // If we're here, destFile probably doesn't exist, so just do a normal copy\n }\n\n if (common.statNoFollowLinks(srcFile).isSymbolicLink() && !options.followsymlink) {\n try {\n common.statNoFollowLinks(destFile);\n common.unlinkSync(destFile); // re-link it\n } catch (e) {\n // it doesn't exist, so no work needs to be done\n }\n\n var symlinkFull = fs.readlinkSync(srcFile);\n fs.symlinkSync(symlinkFull, destFile, isWindows ? 'junction' : null);\n } else {\n var buf = common.buffer();\n var bufLength = buf.length;\n var bytesRead = bufLength;\n var pos = 0;\n var fdr = null;\n var fdw = null;\n\n try {\n fdr = fs.openSync(srcFile, 'r');\n } catch (e) {\n /* istanbul ignore next */\n common.error('copyFileSync: could not read src file (' + srcFile + ')');\n }\n\n try {\n fdw = fs.openSync(destFile, 'w');\n } catch (e) {\n /* istanbul ignore next */\n common.error('copyFileSync: could not write to dest file (code=' + e.code + '):' + destFile);\n }\n\n while (bytesRead === bufLength) {\n bytesRead = fs.readSync(fdr, buf, 0, bufLength, pos);\n fs.writeSync(fdw, buf, 0, bytesRead);\n pos += bytesRead;\n }\n\n fs.closeSync(fdr);\n fs.closeSync(fdw);\n\n fs.chmodSync(destFile, common.statFollowLinks(srcFile).mode);\n }\n}\n\n// Recursively copies 'sourceDir' into 'destDir'\n// Adapted from https://github.com/ryanmcgrath/wrench-js\n//\n// Copyright (c) 2010 Ryan McGrath\n// Copyright (c) 2012 Artur Adib\n//\n// Licensed under the MIT License\n// http://www.opensource.org/licenses/mit-license.php\nfunction cpdirSyncRecursive(sourceDir, destDir, currentDepth, opts) {\n if (!opts) opts = {};\n\n // Ensure there is not a run away recursive copy\n if (currentDepth >= common.config.maxdepth) return;\n currentDepth++;\n\n var isWindows = process.platform === 'win32';\n\n // Create the directory where all our junk is moving to; read the mode of the\n // source directory and mirror it\n try {\n fs.mkdirSync(destDir);\n } catch (e) {\n // if the directory already exists, that's okay\n if (e.code !== 'EEXIST') throw e;\n }\n\n var files = fs.readdirSync(sourceDir);\n\n for (var i = 0; i < files.length; i++) {\n var srcFile = sourceDir + '/' + files[i];\n var destFile = destDir + '/' + files[i];\n var srcFileStat = common.statNoFollowLinks(srcFile);\n\n var symlinkFull;\n if (opts.followsymlink) {\n if (cpcheckcycle(sourceDir, srcFile)) {\n // Cycle link found.\n console.error('Cycle link found.');\n symlinkFull = fs.readlinkSync(srcFile);\n fs.symlinkSync(symlinkFull, destFile, isWindows ? 'junction' : null);\n continue;\n }\n }\n if (srcFileStat.isDirectory()) {\n /* recursion this thing right on back. */\n cpdirSyncRecursive(srcFile, destFile, currentDepth, opts);\n } else if (srcFileStat.isSymbolicLink() && !opts.followsymlink) {\n symlinkFull = fs.readlinkSync(srcFile);\n try {\n common.statNoFollowLinks(destFile);\n common.unlinkSync(destFile); // re-link it\n } catch (e) {\n // it doesn't exist, so no work needs to be done\n }\n fs.symlinkSync(symlinkFull, destFile, isWindows ? 'junction' : null);\n } else if (srcFileStat.isSymbolicLink() && opts.followsymlink) {\n srcFileStat = common.statFollowLinks(srcFile);\n if (srcFileStat.isDirectory()) {\n cpdirSyncRecursive(srcFile, destFile, currentDepth, opts);\n } else {\n copyFileSync(srcFile, destFile, opts);\n }\n } else {\n /* At this point, we've hit a file actually worth copying... so copy it on over. */\n if (fs.existsSync(destFile) && opts.no_force) {\n common.log('skipping existing file: ' + files[i]);\n } else {\n copyFileSync(srcFile, destFile, opts);\n }\n }\n } // for files\n\n // finally change the mode for the newly created directory (otherwise, we\n // couldn't add files to a read-only directory).\n var checkDir = common.statFollowLinks(sourceDir);\n fs.chmodSync(destDir, checkDir.mode);\n} // cpdirSyncRecursive\n\n// Checks if cureent file was created recently\nfunction checkRecentCreated(sources, index) {\n var lookedSource = sources[index];\n return sources.slice(0, index).some(function (src) {\n return path.basename(src) === path.basename(lookedSource);\n });\n}\n\nfunction cpcheckcycle(sourceDir, srcFile) {\n var srcFileStat = common.statNoFollowLinks(srcFile);\n if (srcFileStat.isSymbolicLink()) {\n // Do cycle check. For example:\n // $ mkdir -p 1/2/3/4\n // $ cd 1/2/3/4\n // $ ln -s ../../3 link\n // $ cd ../../../..\n // $ cp -RL 1 copy\n var cyclecheck = common.statFollowLinks(srcFile);\n if (cyclecheck.isDirectory()) {\n var sourcerealpath = fs.realpathSync(sourceDir);\n var symlinkrealpath = fs.realpathSync(srcFile);\n var re = new RegExp(symlinkrealpath);\n if (re.test(sourcerealpath)) {\n return true;\n }\n }\n }\n return false;\n}\n\n//@\n//@ ### cp([options,] source [, source ...], dest)\n//@ ### cp([options,] source_array, dest)\n//@\n//@ Available options:\n//@\n//@ + `-f`: force (default behavior)\n//@ + `-n`: no-clobber\n//@ + `-u`: only copy if `source` is newer than `dest`\n//@ + `-r`, `-R`: recursive\n//@ + `-L`: follow symlinks\n//@ + `-P`: don't follow symlinks\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ cp('file1', 'dir1');\n//@ cp('-R', 'path/to/dir/', '~/newCopy/');\n//@ cp('-Rf', '/tmp/*', '/usr/local/*', '/home/tmp');\n//@ cp('-Rf', ['/tmp/*', '/usr/local/*'], '/home/tmp'); // same as above\n//@ ```\n//@\n//@ Copies files.\nfunction _cp(options, sources, dest) {\n // If we're missing -R, it actually implies -L (unless -P is explicit)\n if (options.followsymlink) {\n options.noFollowsymlink = false;\n }\n if (!options.recursive && !options.noFollowsymlink) {\n options.followsymlink = true;\n }\n\n // Get sources, dest\n if (arguments.length < 3) {\n common.error('missing and/or ');\n } else {\n sources = [].slice.call(arguments, 1, arguments.length - 1);\n dest = arguments[arguments.length - 1];\n }\n\n var destExists = fs.existsSync(dest);\n var destStat = destExists && common.statFollowLinks(dest);\n\n // Dest is not existing dir, but multiple sources given\n if ((!destExists || !destStat.isDirectory()) && sources.length > 1) {\n common.error('dest is not a directory (too many sources)');\n }\n\n // Dest is an existing file, but -n is given\n if (destExists && destStat.isFile() && options.no_force) {\n return new common.ShellString('', '', 0);\n }\n\n sources.forEach(function (src, srcIndex) {\n if (!fs.existsSync(src)) {\n if (src === '') src = \"''\"; // if src was empty string, display empty string\n common.error('no such file or directory: ' + src, { continue: true });\n return; // skip file\n }\n var srcStat = common.statFollowLinks(src);\n if (!options.noFollowsymlink && srcStat.isDirectory()) {\n if (!options.recursive) {\n // Non-Recursive\n common.error(\"omitting directory '\" + src + \"'\", { continue: true });\n } else {\n // Recursive\n // 'cp /a/source dest' should create 'source' in 'dest'\n var newDest = (destStat && destStat.isDirectory()) ?\n path.join(dest, path.basename(src)) :\n dest;\n\n try {\n common.statFollowLinks(path.dirname(dest));\n cpdirSyncRecursive(src, newDest, 0, { no_force: options.no_force, followsymlink: options.followsymlink });\n } catch (e) {\n /* istanbul ignore next */\n common.error(\"cannot create directory '\" + dest + \"': No such file or directory\");\n }\n }\n } else {\n // If here, src is a file\n\n // When copying to '/path/dir':\n // thisDest = '/path/dir/file1'\n var thisDest = dest;\n if (destStat && destStat.isDirectory()) {\n thisDest = path.normalize(dest + '/' + path.basename(src));\n }\n\n var thisDestExists = fs.existsSync(thisDest);\n if (thisDestExists && checkRecentCreated(sources, srcIndex)) {\n // cannot overwrite file created recently in current execution, but we want to continue copying other files\n if (!options.no_force) {\n common.error(\"will not overwrite just-created '\" + thisDest + \"' with '\" + src + \"'\", { continue: true });\n }\n return;\n }\n\n if (thisDestExists && options.no_force) {\n return; // skip file\n }\n\n if (path.relative(src, thisDest) === '') {\n // a file cannot be copied to itself, but we want to continue copying other files\n common.error(\"'\" + thisDest + \"' and '\" + src + \"' are the same file\", { continue: true });\n return;\n }\n\n copyFileSync(src, thisDest, options);\n }\n }); // forEach(src)\n\n return new common.ShellString('', common.state.error, common.state.errorCode);\n}\nmodule.exports = _cp;\n","'use strict'\n\nconst u = require('universalify').fromPromise\nconst jsonFile = require('./jsonfile')\n\njsonFile.outputJson = u(require('./output-json'))\njsonFile.outputJsonSync = require('./output-json-sync')\n// aliases\njsonFile.outputJSON = jsonFile.outputJson\njsonFile.outputJSONSync = jsonFile.outputJsonSync\njsonFile.writeJSON = jsonFile.writeJson\njsonFile.writeJSONSync = jsonFile.writeJsonSync\njsonFile.readJSON = jsonFile.readJson\njsonFile.readJSONSync = jsonFile.readJsonSync\n\nmodule.exports = jsonFile\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):((t=\"undefined\"!=typeof globalThis?globalThis:t||self).prettierPlugins=t.prettierPlugins||{},t.prettierPlugins.angular=e())}(this,(function(){\"use strict\";function t(e,s){const{ignoreDecorators:n}=s||{};if(!n){const s=e.declaration&&e.declaration.decorators||e.decorators;if(s&&s.length>0)return t(s[0])}return e.range?e.range[0]:e.start}function e(t){const s=t.range?t.range[1]:t.end;return t.typeAnnotation?Math.max(s,e(t.typeAnnotation)):s}function s(e,s){return t(e)===t(s)}var n={locStart:t,locEnd:e,composeLoc:function(s,n=s){const r=t(s);return[r,\"number\"==typeof n?r+n:e(n)]},hasSameLocStart:s,hasSameLoc:function(t,n){return s(t,n)&&function(t,s){return e(t)===e(s)}(t,n)}};function r(t,e,s){return t(s={path:e,exports:{},require:function(t,e){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==e&&s.path)}},s.exports),s.exports}var i,a=r((function(t,e){var s=\"\\n\",n=function(){function t(t){this.string=t;for(var e=[0],n=0;nthis.string.length)return null;for(var e=0,s=this.offsets;s[e+1]<=t;)e++;return{line:e,column:t-s[e]}},t.prototype.indexForLocation=function(t){var e=t.line,s=t.column;return e<0||e>=this.offsets.length||s<0||s>this.lengthOfLine(e)?null:this.offsets[e]+s},t.prototype.lengthOfLine=function(t){var e=this.offsets[t];return(t===this.offsets.length-1?this.string.length:this.offsets[t+1])-e},t}();e.__esModule=!0,e.default=n})),o=r((function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});e.Context=class{constructor(t){this.text=t,this.locator=new s(this.text)}};class s{constructor(t){this._lineAndColumn=new a.default(t)}locationForIndex(t){const{line:e,column:s}=this._lineAndColumn.locationForIndex(t);return{line:e+1,column:s}}}}));\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass c{constructor(t,e,s,n){this.input=e,this.errLocation=s,this.ctxLocation=n,this.message=\"Parser Error: \".concat(t,\" \").concat(s,\" [\").concat(e,\"] in \").concat(n)}}class h{constructor(t,e){this.start=t,this.end=e}toAbsolute(t){return new M(t+this.start,t+this.end)}}class p{constructor(t,e){this.span=t,this.sourceSpan=e}visit(t,e=null){return null}toString(){return\"AST\"}}class u extends p{constructor(t,e,s){super(t,e),this.nameSpan=s}}class l extends p{constructor(t,e,s,n,r){super(t,e),this.prefix=s,this.uninterpretedExpression=n,this.location=r}visit(t,e=null){return t.visitQuote(this,e)}toString(){return\"Quote\"}}class d extends p{visit(t,e=null){}}class f extends p{visit(t,e=null){return t.visitImplicitReceiver(this,e)}}class v extends p{constructor(t,e,s){super(t,e),this.expressions=s}visit(t,e=null){return t.visitChain(this,e)}}class x extends p{constructor(t,e,s,n,r){super(t,e),this.condition=s,this.trueExp=n,this.falseExp=r}visit(t,e=null){return t.visitConditional(this,e)}}class g extends u{constructor(t,e,s,n,r){super(t,e,s),this.receiver=n,this.name=r}visit(t,e=null){return t.visitPropertyRead(this,e)}}class m extends u{constructor(t,e,s,n,r,i){super(t,e,s),this.receiver=n,this.name=r,this.value=i}visit(t,e=null){return t.visitPropertyWrite(this,e)}}class y extends u{constructor(t,e,s,n,r){super(t,e,s),this.receiver=n,this.name=r}visit(t,e=null){return t.visitSafePropertyRead(this,e)}}class S extends p{constructor(t,e,s,n){super(t,e),this.obj=s,this.key=n}visit(t,e=null){return t.visitKeyedRead(this,e)}}class w extends p{constructor(t,e,s,n,r){super(t,e),this.obj=s,this.key=n,this.value=r}visit(t,e=null){return t.visitKeyedWrite(this,e)}}class C extends u{constructor(t,e,s,n,r,i){super(t,e,i),this.exp=s,this.name=n,this.args=r}visit(t,e=null){return t.visitPipe(this,e)}}class P extends p{constructor(t,e,s){super(t,e),this.value=s}visit(t,e=null){return t.visitLiteralPrimitive(this,e)}}class E extends p{constructor(t,e,s){super(t,e),this.expressions=s}visit(t,e=null){return t.visitLiteralArray(this,e)}}class A extends p{constructor(t,e,s,n){super(t,e),this.keys=s,this.values=n}visit(t,e=null){return t.visitLiteralMap(this,e)}}class b extends p{constructor(t,e,s,n){super(t,e),this.strings=s,this.expressions=n}visit(t,e=null){return t.visitInterpolation(this,e)}}class O extends p{constructor(t,e,s,n,r){super(t,e),this.operation=s,this.left=n,this.right=r}visit(t,e=null){return t.visitBinary(this,e)}}class k extends O{constructor(t,e,s,n,r,i,a){super(t,e,r,i,a),this.operator=s,this.expr=n}static createMinus(t,e,s){return new k(t,e,\"-\",s,\"-\",new P(t,e,0),s)}static createPlus(t,e,s){return new k(t,e,\"+\",s,\"-\",s,new P(t,e,0))}visit(t,e=null){return void 0!==t.visitUnary?t.visitUnary(this,e):t.visitBinary(this,e)}}class N extends p{constructor(t,e,s){super(t,e),this.expression=s}visit(t,e=null){return t.visitPrefixNot(this,e)}}class I extends p{constructor(t,e,s){super(t,e),this.expression=s}visit(t,e=null){return t.visitNonNullAssert(this,e)}}class _ extends u{constructor(t,e,s,n,r,i){super(t,e,s),this.receiver=n,this.name=r,this.args=i}visit(t,e=null){return t.visitMethodCall(this,e)}}class L extends u{constructor(t,e,s,n,r,i){super(t,e,s),this.receiver=n,this.name=r,this.args=i}visit(t,e=null){return t.visitSafeMethodCall(this,e)}}class K extends p{constructor(t,e,s,n){super(t,e),this.target=s,this.args=n}visit(t,e=null){return t.visitFunctionCall(this,e)}}class M{constructor(t,e){this.start=t,this.end=e}}class T extends p{constructor(t,e,s,n,r){super(new h(0,null===e?0:e.length),new M(n,null===e?n:n+e.length)),this.ast=t,this.source=e,this.location=s,this.errors=r}visit(t,e=null){return t.visitASTWithSource?t.visitASTWithSource(this,e):this.ast.visit(t,e)}toString(){return\"\".concat(this.source,\" in \").concat(this.location)}}class B{constructor(t,e,s){this.sourceSpan=t,this.key=e,this.value=s}}class R{constructor(t,e,s){this.sourceSpan=t,this.key=e,this.value=s}}class j{visit(t,e){t.visit(this,e)}visitUnary(t,e){this.visit(t.expr,e)}visitBinary(t,e){this.visit(t.left,e),this.visit(t.right,e)}visitChain(t,e){this.visitAll(t.expressions,e)}visitConditional(t,e){this.visit(t.condition,e),this.visit(t.trueExp,e),this.visit(t.falseExp,e)}visitPipe(t,e){this.visit(t.exp,e),this.visitAll(t.args,e)}visitFunctionCall(t,e){t.target&&this.visit(t.target,e),this.visitAll(t.args,e)}visitImplicitReceiver(t,e){}visitInterpolation(t,e){this.visitAll(t.expressions,e)}visitKeyedRead(t,e){this.visit(t.obj,e),this.visit(t.key,e)}visitKeyedWrite(t,e){this.visit(t.obj,e),this.visit(t.key,e),this.visit(t.value,e)}visitLiteralArray(t,e){this.visitAll(t.expressions,e)}visitLiteralMap(t,e){this.visitAll(t.values,e)}visitLiteralPrimitive(t,e){}visitMethodCall(t,e){this.visit(t.receiver,e),this.visitAll(t.args,e)}visitPrefixNot(t,e){this.visit(t.expression,e)}visitNonNullAssert(t,e){this.visit(t.expression,e)}visitPropertyRead(t,e){this.visit(t.receiver,e)}visitPropertyWrite(t,e){this.visit(t.receiver,e),this.visit(t.value,e)}visitSafePropertyRead(t,e){this.visit(t.receiver,e)}visitSafeMethodCall(t,e){this.visit(t.receiver,e),this.visitAll(t.args,e)}visitQuote(t,e){}visitAll(t,e){for(const s of t)this.visit(s,e)}}!function(t){t[t.DEFAULT=0]=\"DEFAULT\",t[t.LITERAL_ATTR=1]=\"LITERAL_ATTR\",t[t.ANIMATION=2]=\"ANIMATION\"}(i||(i={}));var F=Object.freeze({__proto__:null,ParserError:c,ParseSpan:h,AST:p,ASTWithName:u,Quote:l,EmptyExpr:d,ImplicitReceiver:f,Chain:v,Conditional:x,PropertyRead:g,PropertyWrite:m,SafePropertyRead:y,KeyedRead:S,KeyedWrite:w,BindingPipe:C,LiteralPrimitive:P,LiteralArray:E,LiteralMap:A,Interpolation:b,Binary:O,Unary:k,PrefixNot:N,NonNullAssert:I,MethodCall:_,SafeMethodCall:L,FunctionCall:K,AbsoluteSourceSpan:M,ASTWithSource:T,VariableBinding:B,ExpressionBinding:R,RecursiveAstVisitor:j,AstTransformer:class{visitImplicitReceiver(t,e){return t}visitInterpolation(t,e){return new b(t.span,t.sourceSpan,t.strings,this.visitAll(t.expressions))}visitLiteralPrimitive(t,e){return new P(t.span,t.sourceSpan,t.value)}visitPropertyRead(t,e){return new g(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name)}visitPropertyWrite(t,e){return new m(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name,t.value.visit(this))}visitSafePropertyRead(t,e){return new y(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name)}visitMethodCall(t,e){return new _(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name,this.visitAll(t.args))}visitSafeMethodCall(t,e){return new L(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name,this.visitAll(t.args))}visitFunctionCall(t,e){return new K(t.span,t.sourceSpan,t.target.visit(this),this.visitAll(t.args))}visitLiteralArray(t,e){return new E(t.span,t.sourceSpan,this.visitAll(t.expressions))}visitLiteralMap(t,e){return new A(t.span,t.sourceSpan,t.keys,this.visitAll(t.values))}visitUnary(t,e){switch(t.operator){case\"+\":return k.createPlus(t.span,t.sourceSpan,t.expr.visit(this));case\"-\":return k.createMinus(t.span,t.sourceSpan,t.expr.visit(this));default:throw new Error(\"Unknown unary operator \".concat(t.operator))}}visitBinary(t,e){return new O(t.span,t.sourceSpan,t.operation,t.left.visit(this),t.right.visit(this))}visitPrefixNot(t,e){return new N(t.span,t.sourceSpan,t.expression.visit(this))}visitNonNullAssert(t,e){return new I(t.span,t.sourceSpan,t.expression.visit(this))}visitConditional(t,e){return new x(t.span,t.sourceSpan,t.condition.visit(this),t.trueExp.visit(this),t.falseExp.visit(this))}visitPipe(t,e){return new C(t.span,t.sourceSpan,t.exp.visit(this),t.name,this.visitAll(t.args),t.nameSpan)}visitKeyedRead(t,e){return new S(t.span,t.sourceSpan,t.obj.visit(this),t.key.visit(this))}visitKeyedWrite(t,e){return new w(t.span,t.sourceSpan,t.obj.visit(this),t.key.visit(this),t.value.visit(this))}visitAll(t){const e=[];for(let s=0;s=this.length?0:this.input.charCodeAt(this.index)}scanToken(){const t=this.input,e=this.length;let s=this.peek,n=this.index;for(;s<=32;){if(++n>=e){s=0;break}s=t.charCodeAt(n)}if(this.peek=s,this.index=n,n>=e)return null;if(J(s))return this.scanIdentifier();if(W(s))return this.scanNumber(n);const r=n;switch(s){case 46:return this.advance(),W(this.peek)?this.scanNumber(r):z(r,this.index,46);case 40:case G:case 123:case U:case 91:case 93:case 44:case 58:case 59:return this.scanCharacter(r,s);case 39:case 34:return this.scanString();case 35:case 43:case 45:case 42:case 47:case 37:case 94:return this.scanOperator(r,String.fromCharCode(s));case 63:return this.scanComplexOperator(r,\"?\",46,\".\");case 60:case 62:return this.scanComplexOperator(r,String.fromCharCode(s),61,\"=\");case 33:case 61:return this.scanComplexOperator(r,String.fromCharCode(s),61,\"=\",61,\"=\");case 38:return this.scanComplexOperator(r,\"&\",38,\"&\");case 124:return this.scanComplexOperator(r,\"|\",124,\"|\");case 160:for(;(i=this.peek)>=9&&i<=32||160==i;)this.advance();return this.scanToken()}var i;return this.advance(),this.error(\"Unexpected character [\".concat(String.fromCharCode(s),\"]\"),0)}scanCharacter(t,e){return this.advance(),z(t,this.index,e)}scanOperator(t,e){return this.advance(),q(t,this.index,e)}scanComplexOperator(t,e,s,n,r,i){this.advance();let a=e;return this.peek==s&&(this.advance(),a+=n),null!=r&&this.peek==r&&(this.advance(),a+=i),q(t,this.index,a)}scanIdentifier(){const t=this.index;for(this.advance();Y(this.peek);)this.advance();const e=this.input.substring(t,this.index);return Q.indexOf(e)>-1?(s=t,n=this.index,r=e,new D(s,n,V.Keyword,0,r)):function(t,e,s){return new D(t,e,V.Identifier,0,s)}(t,this.index,e);var s,n,r}scanNumber(t){let e=this.index===t;for(this.advance();;){if(W(this.peek));else if(46==this.peek)e=!1;else{if(101!=(s=this.peek)&&69!=s)break;if(this.advance(),Z(this.peek)&&this.advance(),!W(this.peek))return this.error(\"Invalid exponent\",-1);e=!1}this.advance()}var s;const n=this.input.substring(t,this.index),r=e?function(t){const e=parseInt(t);if(isNaN(e))throw new Error(\"Invalid integer literal when parsing \"+t);return e}(n):parseFloat(n);return i=t,a=this.index,o=r,new D(i,a,V.Number,o,\"\");var i,a,o}scanString(){const t=this.index,e=this.peek;this.advance();let s=\"\",n=this.index;const r=this.input;for(;this.peek!=e;)if(92==this.peek){let t;if(s+=r.substring(n,this.index),this.advance(),this.peek=this.peek,117==this.peek){const e=r.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(e))return this.error(\"Invalid unicode escape [\\\\u\".concat(e,\"]\"),0);t=parseInt(e,16);for(let t=0;t<5;t++)this.advance()}else t=et(this.peek),this.advance();s+=String.fromCharCode(t),n=this.index}else{if(0==this.peek)return this.error(\"Unterminated quote\",0);this.advance()}const i=r.substring(n,this.index);return this.advance(),a=t,o=this.index,c=s+i,new D(a,o,V.String,0,c);var a,o,c}error(t,e){const s=this.index+e;return function(t,e,s){return new D(t,e,V.Error,0,s)}(s,this.index,\"Lexer Error: \".concat(t,\" at column \").concat(s,\" in expression [\").concat(this.input,\"]\"))}}function J(t){return 97<=t&&t<=122||65<=t&&t<=90||95==t||36==t}function H(t){if(0==t.length)return!1;const e=new X(t);if(!J(e.peek))return!1;for(e.advance();0!==e.peek;){if(!Y(e.peek))return!1;e.advance()}return!0}function Y(t){return function(t){return t>=97&&t<=122||t>=65&&t<=90}(t)||W(t)||95==t||36==t}function Z(t){return 45==t||43==t}function tt(t){return 39===t||34===t||96===t}function et(t){switch(t){case 110:return 10;case 102:return 12;case 114:return 13;case 116:return 9;case 118:return 11;default:return t}}var st=Object.freeze({__proto__:null,get TokenType(){return V},Lexer:class{tokenize(t){const e=new X(t),s=[];let n=e.scanToken();for(;null!=n;)s.push(n),n=e.scanToken();return s}},Token:D,EOF:$,isIdentifier:H,isQuote:tt});\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */const nt=[/^\\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\\/\\//];\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass rt{constructor(t,e){this.start=t,this.end=e}static fromArray(t){return t?(function(t,e){if(!(null==e||Array.isArray(e)&&2==e.length))throw new Error(\"Expected '\".concat(t,\"' to be an array, [start, end].\"));if(null!=e){const t=e[0],s=e[1];nt.forEach((e=>{if(e.test(t)||e.test(s))throw new Error(\"['\".concat(t,\"', '\").concat(s,\"'] contains unusable interpolation symbol.\"))}))}}(\"interpolation\",t),new rt(t[0],t[1])):it}}const it=new rt(\"{{\",\"}}\");function at(t){return t.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g,\"\\\\$1\")}\"undefined\"!=typeof self&&\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self;\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */class ot{constructor(t,e,s,n,r){this.strings=t,this.stringSpans=e,this.expressions=s,this.expressionsSpans=n,this.offsets=r}}class ct{constructor(t,e,s){this.templateBindings=t,this.warnings=e,this.errors=s}}const ht=pt(it);function pt(t){const e=at(t.start)+\"([\\\\s\\\\S]*?)\"+at(t.end);return new RegExp(e,\"g\")}class ut{constructor(t){this._lexer=t,this.errors=[],this.simpleExpressionChecker=ft}parseAction(t,e,s,n=it){this._checkNoInterpolation(t,e,n);const r=this._stripComments(t),i=this._lexer.tokenize(this._stripComments(t)),a=new dt(t,e,s,i,r.length,!0,this.errors,t.length-r.length).parseChain();return new T(a,t,e,s,this.errors)}parseBinding(t,e,s,n=it){const r=this._parseBindingAst(t,e,s,n);return new T(r,t,e,s,this.errors)}checkSimpleExpression(t){const e=new this.simpleExpressionChecker;return t.visit(e),e.errors}parseSimpleBinding(t,e,s,n=it){const r=this._parseBindingAst(t,e,s,n),i=this.checkSimpleExpression(r);return i.length>0&&this._reportError(\"Host binding expression cannot contain \".concat(i.join(\" \")),t,e),new T(r,t,e,s,this.errors)}_reportError(t,e,s,n){this.errors.push(new c(t,e,s,n))}_parseBindingAst(t,e,s,n){const r=this._parseQuote(t,e,s);if(null!=r)return r;this._checkNoInterpolation(t,e,n);const i=this._stripComments(t),a=this._lexer.tokenize(i);return new dt(t,e,s,a,i.length,!1,this.errors,t.length-i.length).parseChain()}_parseQuote(t,e,s){if(null==t)return null;const n=t.indexOf(\":\");if(-1==n)return null;const r=t.substring(0,n).trim();if(!H(r))return null;const i=t.substring(n+1),a=new h(0,t.length);return new l(a,a.toAbsolute(s),r,i,e)}parseTemplateBindings(t,e,s,n,r){const i=this._lexer.tokenize(e);return new dt(e,s,r,i,e.length,!1,this.errors,0).parseTemplateBindings({source:t,span:new M(n,n+t.length)})}parseInterpolation(t,e,s,n=it){const r=this.splitInterpolation(t,e,n);if(null==r)return null;const i=[];for(let n=0;n0?r.push(f):(this._reportError(\"Blank expressions are not allowed in interpolated strings\",t,\"at column \".concat(c,\" in\"),e),r.push(\"$implicit\")),i.push(n),o.push({start:s,end:d}),c=d,h=!1}else{const e=c;c=t.indexOf(u,c),-1===c&&(c=t.length);const s=t.substring(e,c);n.push(s),a.push({start:e,end:c}),h=!0}return h||(p?(n[n.length-1]+=t.substring(c),a[a.length-1].end=t.length):(n.push(t.substring(c)),a.push({start:c,end:t.length}))),0===r.length?null:new ot(n,a,r,o,i)}wrapLiteralPrimitive(t,e,s){const n=new h(0,null==t?0:t.length);return new T(new P(n,n.toAbsolute(s),t),t,e,s,this.errors)}_stripComments(t){const e=this._commentStart(t);return null!=e?t.substring(0,e).trim():t}_commentStart(t){let e=null;for(let s=0;s1&&this._reportError(\"Got interpolation (\".concat(s.start).concat(s.end,\") where expression was expected\"),t,\"at column \".concat(this._findInterpolationErrorColumn(i,1,s),\" in\"),e)}_findInterpolationErrorColumn(t,e,s){let n=\"\";for(let r=0;r=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){if(this.index>0){return this.peek(-1).end+this.offset}return 0===this.tokens.length?this.inputLength+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(t){return new h(t,this.currentEndIndex)}sourceSpan(t){const e=\"\".concat(t,\"@\").concat(this.inputIndex);return this.sourceSpanCache.has(e)||this.sourceSpanCache.set(e,this.span(t).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(e)}advance(){this.index++}withContext(t,e){this.context|=t;const s=e();return this.context^=t,s}consumeOptionalCharacter(t){return!!this.next.isCharacter(t)&&(this.advance(),!0)}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(t){this.consumeOptionalCharacter(t)||this.error(\"Missing expected \".concat(String.fromCharCode(t)))}consumeOptionalOperator(t){return!!this.next.isOperator(t)&&(this.advance(),!0)}expectOperator(t){this.consumeOptionalOperator(t)||this.error(\"Missing expected operator \".concat(t))}prettyPrintToken(t){return t===$?\"end of input\":\"token \".concat(t)}expectIdentifierOrKeyword(){const t=this.next;return t.isIdentifier()||t.isKeyword()?(this.advance(),t.toString()):(this.error(\"Unexpected \".concat(this.prettyPrintToken(t),\", expected identifier or keyword\")),\"\")}expectIdentifierOrKeywordOrString(){const t=this.next;return t.isIdentifier()||t.isKeyword()||t.isString()?(this.advance(),t.toString()):(this.error(\"Unexpected \".concat(this.prettyPrintToken(t),\", expected identifier, keyword, or string\")),\"\")}parseChain(){const t=[],e=this.inputIndex;for(;this.index\":case\"<=\":case\">=\":this.advance();const s=this.parseAdditive(),{start:n}=t.span;t=new O(this.span(n),this.sourceSpan(n),e,t,s);continue}break}return t}parseAdditive(){let t=this.parseMultiplicative();for(;this.next.type==V.Operator;){const e=this.next.strValue;switch(e){case\"+\":case\"-\":this.advance();let s=this.parseMultiplicative();const{start:n}=t.span;t=new O(this.span(n),this.sourceSpan(n),e,t,s);continue}break}return t}parseMultiplicative(){let t=this.parsePrefix();for(;this.next.type==V.Operator;){const e=this.next.strValue;switch(e){case\"*\":case\"%\":case\"/\":this.advance();let s=this.parsePrefix();const{start:n}=t.span;t=new O(this.span(n),this.sourceSpan(n),e,t,s);continue}break}return t}parsePrefix(){if(this.next.type==V.Operator){const t=this.inputIndex;let e;switch(this.next.strValue){case\"+\":return this.advance(),e=this.parsePrefix(),k.createPlus(this.span(t),this.sourceSpan(t),e);case\"-\":return this.advance(),e=this.parsePrefix(),k.createMinus(this.span(t),this.sourceSpan(t),e);case\"!\":return this.advance(),e=this.parsePrefix(),new N(this.span(t),this.sourceSpan(t),e)}}return this.parseCallChain()}parseCallChain(){let t=this.parsePrimary();const e=t.span.start;for(;;)if(this.consumeOptionalCharacter(46))t=this.parseAccessMemberOrMethodCall(t,!1);else if(this.consumeOptionalOperator(\"?.\"))t=this.parseAccessMemberOrMethodCall(t,!0);else if(this.consumeOptionalCharacter(91))this.withContext(lt.Writable,(()=>{this.rbracketsExpected++;const s=this.parsePipe();if(s instanceof d&&this.error(\"Key access cannot be empty\"),this.rbracketsExpected--,this.expectCharacter(93),this.consumeOptionalOperator(\"=\")){const n=this.parseConditional();t=new w(this.span(e),this.sourceSpan(e),t,s,n)}else t=new S(this.span(e),this.sourceSpan(e),t,s)}));else if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const s=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(G),t=new K(this.span(e),this.sourceSpan(e),t,s)}else{if(!this.consumeOptionalOperator(\"!\"))return t;t=new I(this.span(e),this.sourceSpan(e),t)}}parsePrimary(){const t=this.inputIndex;if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const t=this.parsePipe();return this.rparensExpected--,this.expectCharacter(G),t}if(this.next.isKeywordNull())return this.advance(),new P(this.span(t),this.sourceSpan(t),null);if(this.next.isKeywordUndefined())return this.advance(),new P(this.span(t),this.sourceSpan(t),void 0);if(this.next.isKeywordTrue())return this.advance(),new P(this.span(t),this.sourceSpan(t),!0);if(this.next.isKeywordFalse())return this.advance(),new P(this.span(t),this.sourceSpan(t),!1);if(this.next.isKeywordThis())return this.advance(),new f(this.span(t),this.sourceSpan(t));if(this.consumeOptionalCharacter(91)){this.rbracketsExpected++;const e=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new E(this.span(t),this.sourceSpan(t),e)}if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new f(this.span(t),this.sourceSpan(t)),!1);if(this.next.isNumber()){const e=this.next.toNumber();return this.advance(),new P(this.span(t),this.sourceSpan(t),e)}if(this.next.isString()){const e=this.next.toString();return this.advance(),new P(this.span(t),this.sourceSpan(t),e)}return this.index>=this.tokens.length?(this.error(\"Unexpected end of expression: \".concat(this.input)),new d(this.span(t),this.sourceSpan(t))):(this.error(\"Unexpected token \".concat(this.next)),new d(this.span(t),this.sourceSpan(t)))}parseExpressionList(t){const e=[];if(!this.next.isCharacter(t))do{e.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));return e}parseLiteralMap(){const t=[],e=[],s=this.inputIndex;if(this.expectCharacter(123),!this.consumeOptionalCharacter(U)){this.rbracesExpected++;do{const s=this.next.isString(),n=this.expectIdentifierOrKeywordOrString();t.push({key:n,quoted:s}),this.expectCharacter(58),e.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));this.rbracesExpected--,this.expectCharacter(U)}return new A(this.span(s),this.sourceSpan(s),t,e)}parseAccessMemberOrMethodCall(t,e=!1){const s=t.span.start,n=this.inputIndex,r=this.expectIdentifierOrKeyword(),i=this.sourceSpan(n);if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const n=this.parseCallArguments();this.expectCharacter(G),this.rparensExpected--;const a=this.span(s),o=this.sourceSpan(s);return e?new L(a,o,i,t,r,n):new _(a,o,i,t,r,n)}if(e)return this.consumeOptionalOperator(\"=\")?(this.error(\"The '?.' operator cannot be used in the assignment\"),new d(this.span(s),this.sourceSpan(s))):new y(this.span(s),this.sourceSpan(s),i,t,r);if(this.consumeOptionalOperator(\"=\")){if(!this.parseAction)return this.error(\"Bindings cannot contain assignments\"),new d(this.span(s),this.sourceSpan(s));const e=this.parseConditional();return new m(this.span(s),this.sourceSpan(s),i,t,r,e)}return new g(this.span(s),this.sourceSpan(s),i,t,r)}parseCallArguments(){if(this.next.isCharacter(G))return[];const t=[];do{t.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));return t}expectTemplateBindingKey(){let t=\"\",e=!1;const s=this.currentAbsoluteOffset;do{t+=this.expectIdentifierOrKeywordOrString(),e=this.consumeOptionalOperator(\"-\"),e&&(t+=\"-\")}while(e);return{source:t,span:new M(s,s+t.length)}}parseTemplateBindings(t){const e=[];for(e.push(...this.parseDirectiveKeywordBindings(t));this.indext.visit(this,e)))}visitChain(t,e){}visitQuote(t,e){}}class vt extends j{constructor(){super(...arguments),this.errors=[]}visitPipe(){this.errors.push(\"pipes\")}}var xt=Object.freeze({__proto__:null,SplitInterpolation:ot,TemplateBindingParseResult:ct,Parser:ut,IvyParser:class extends ut{constructor(){super(...arguments),this.simpleExpressionChecker=vt}},_ParseAST:dt}),gt=r((function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const s=\"angular-estree-parser\";e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX=\"NgEstreeParser\";const n=[s,0];function r(){return new xt.Parser(new st.Lexer)}function i(t,e){const s=r(),{astInput:n,comments:i}=c(t,s),{ast:a,errors:h}=e(n,s);return o(h),{ast:a,comments:i}}function a(t,e){if(t&&\"object\"==typeof t){if(Array.isArray(t))return t.forEach((t=>a(t,e)));for(const s of Object.keys(t)){const n=t[s];\"span\"===s?e(n):a(n,e)}}}function o(t){if(0!==t.length){const[{message:e}]=t;throw new SyntaxError(e.replace(/^Parser Error: | at column \\d+ in [^]*$/g,\"\"))}}function c(t,e){const s=e._commentStart(t);return null===s?{astInput:t,comments:[]}:{astInput:t.slice(0,s),comments:[{type:\"Comment\",value:t.slice(s+\"//\".length),span:{start:s,end:t.length}}]}}function h({start:t,end:e},s){let n=t,r=e;for(;r!==n&&/\\s/.test(s[r-1]);)r--;for(;n!==r&&/\\s/.test(s[n]);)n++;return{start:n,end:r}}function p({start:t,end:e},s){let n=t,r=e;for(;r!==s.length&&/\\s/.test(s[r]);)r++;for(;0!==n&&/\\s/.test(s[n-1]);)n--;return{start:n,end:r}}function u(t,e){return\"(\"===e[t.start-1]&&\")\"===e[t.end]?{start:t.start-1,end:t.end+1}:t}e.parseNgBinding=function(t){return i(t,((t,e)=>e.parseBinding(t,...n)))},e.parseNgSimpleBinding=function(t){return i(t,((t,e)=>e.parseSimpleBinding(t,...n)))},e.parseNgAction=function(t){return i(t,((t,e)=>e.parseAction(t,...n)))},e.parseNgTemplateBindings=function(t){const n=r(),{templateBindings:i,errors:a}=n.parseTemplateBindings(e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX,t,s,0,0);return o(a),i},e.parseNgInterpolation=function(t){const e=r(),{astInput:s,comments:i}=c(t,e),h=\"{{\",{ast:p,errors:u}=e.parseInterpolation(h+s+\"}}\",...n);o(u);const l=p.expressions[0],d=new Set;return a(l,(t=>{d.has(t)||(t.start-=h.length,t.end-=h.length,d.add(t))})),{ast:l,comments:i}},e.getNgType=function(t){return F.Unary&&t instanceof F.Unary?\"Unary\":t instanceof F.Binary?\"Binary\":t instanceof F.BindingPipe?\"BindingPipe\":t instanceof F.Chain?\"Chain\":t instanceof F.Conditional?\"Conditional\":t instanceof F.EmptyExpr?\"EmptyExpr\":t instanceof F.FunctionCall?\"FunctionCall\":t instanceof F.ImplicitReceiver?\"ImplicitReceiver\":t instanceof F.KeyedRead?\"KeyedRead\":t instanceof F.KeyedWrite?\"KeyedWrite\":t instanceof F.LiteralArray?\"LiteralArray\":t instanceof F.LiteralMap?\"LiteralMap\":t instanceof F.LiteralPrimitive?\"LiteralPrimitive\":t instanceof F.MethodCall?\"MethodCall\":t instanceof F.NonNullAssert?\"NonNullAssert\":t instanceof F.PrefixNot?\"PrefixNot\":t instanceof F.PropertyRead?\"PropertyRead\":t instanceof F.PropertyWrite?\"PropertyWrite\":t instanceof F.Quote?\"Quote\":t instanceof F.SafeMethodCall?\"SafeMethodCall\":t instanceof F.SafePropertyRead?\"SafePropertyRead\":t.type},e.fitSpans=function(t,e,s){let n=0;const r={start:t.start,end:t.end};for(;;){const t=p(r,e),s=u(t,e);if(t.start===s.start&&t.end===s.end)break;r.start=s.start,r.end=s.end,n++}return{hasParens:0!==(s?n-1:n),outerSpan:h(s?{start:r.start+1,end:r.end-1}:r,e),innerSpan:h(t,e)}},e.findFrontChar=function(t,e,s){let n=e;for(;!t.test(s[n]);)if(--n<0)throw new Error(\"Cannot find front char \".concat(t,\" from index \").concat(e,\" in \").concat(JSON.stringify(s)));return n},e.findBackChar=function(t,e,s){let n=e;for(;!t.test(s[n]);)if(++n>=s.length)throw new Error(\"Cannot find back char \".concat(t,\" from index \").concat(e,\" in \").concat(JSON.stringify(s)));return n},e.toLowerCamelCase=function(t){return t.slice(0,1).toLowerCase()+t.slice(1)},e.getLast=function(t){return 0===t.length?void 0:t[t.length-1]}})),mt=r((function(t,e){function s(t,e,s=!1,n=!1){if(!s){const{start:s,end:n}=t;return{start:s,end:n,loc:{start:e.locator.locationForIndex(s),end:e.locator.locationForIndex(n)}}}const{outerSpan:r,innerSpan:i,hasParens:a}=gt.fitSpans(t,e.text,n);return Object.assign({start:i.start,end:i.end,loc:{start:e.locator.locationForIndex(i.start),end:e.locator.locationForIndex(i.end)}},a&&{extra:{parenthesized:!0,parenStart:r.start,parenEnd:r.end}})}Object.defineProperty(e,\"__esModule\",{value:!0}),e.transform=(t,n,r=!1)=>{const i=gt.getNgType(t);switch(i){case\"Unary\":{const{operator:e,expr:s}=t;return c(\"UnaryExpression\",{prefix:!0,argument:a(s),operator:e},t.span,{hasParentParens:r})}case\"Binary\":{const{left:e,operation:s,right:n}=t,i=n.span.start===n.span.end,o=e.span.start===e.span.end;if(i||o){const s=e.span.start===e.span.end?a(n):a(e);return c(\"UnaryExpression\",{prefix:!0,argument:s,operator:i?\"+\":\"-\"},{start:t.span.start,end:x(s)},{hasParentParens:r})}const h=a(e),p=a(n);return c(\"&&\"===s||\"||\"===s?\"LogicalExpression\":\"BinaryExpression\",{left:h,right:p,operator:s},{start:v(h),end:x(p)},{hasParentParens:r})}case\"BindingPipe\":{const{exp:e,name:s,args:n}=t,i=a(e),o=u(/\\S/,u(/\\|/,x(i))+1),h=c(\"Identifier\",{name:s},{start:o,end:o+s.length}),p=n.map(a);return c(\"NGPipeExpression\",{left:i,right:h,arguments:p},{start:v(i),end:x(0===p.length?h:gt.getLast(p))},{hasParentParens:r})}case\"Chain\":{const{expressions:e}=t;return c(\"NGChainedExpression\",{expressions:e.map(a)},t.span,{hasParentParens:r})}case\"Comment\":{const{value:e}=t;return c(\"CommentLine\",{value:e},t.span,{processSpan:!1})}case\"Conditional\":{const{condition:e,trueExp:s,falseExp:n}=t,i=a(e),o=a(s),h=a(n);return c(\"ConditionalExpression\",{test:i,consequent:o,alternate:h},{start:v(i),end:x(h)},{hasParentParens:r})}case\"EmptyExpr\":return c(\"NGEmptyExpression\",{},t.span,{hasParentParens:r});case\"FunctionCall\":{const{target:e,args:s}=t,n=1===s.length?[o(s[0])]:s.map(a),i=a(e);return c(\"CallExpression\",{callee:i,arguments:n},{start:v(i),end:t.span.end},{hasParentParens:r})}case\"ImplicitReceiver\":return c(\"ThisExpression\",{},t.span,{hasParentParens:r});case\"KeyedRead\":{const{obj:e,key:s}=t;return h(e,a(s),{computed:!0,optional:!1},{end:t.span.end,hasParentParens:r})}case\"LiteralArray\":{const{expressions:e}=t;return c(\"ArrayExpression\",{elements:e.map(a)},t.span,{hasParentParens:r})}case\"LiteralMap\":{const{keys:e,values:s}=t,n=s.map((t=>a(t))),i=e.map((({key:e,quoted:s},r)=>{const i=n[r],a={start:u(/\\S/,0===r?t.span.start+1:u(/,/,x(n[r-1]))+1),end:p(/\\S/,p(/:/,v(i)-1)-1)+1},o=s?c(\"StringLiteral\",{value:e},a):c(\"Identifier\",{name:e},a);return c(\"ObjectProperty\",{key:o,value:i,method:!1,shorthand:!1,computed:!1},{start:v(o),end:x(i)})}));return c(\"ObjectExpression\",{properties:i},t.span,{hasParentParens:r})}case\"LiteralPrimitive\":{const{value:e}=t;switch(typeof e){case\"boolean\":return c(\"BooleanLiteral\",{value:e},t.span,{hasParentParens:r});case\"number\":return c(\"NumericLiteral\",{value:e},t.span,{hasParentParens:r});case\"object\":return c(\"NullLiteral\",{},t.span,{hasParentParens:r});case\"string\":return c(\"StringLiteral\",{value:e},t.span,{hasParentParens:r});case\"undefined\":return c(\"Identifier\",{name:\"undefined\"},t.span,{hasParentParens:r});default:throw new Error(\"Unexpected LiteralPrimitive value type \".concat(typeof e))}}case\"MethodCall\":case\"SafeMethodCall\":{const e=\"SafeMethodCall\"===i,{receiver:s,name:n,args:u}=t,l=1===u.length?[o(u[0])]:u.map(a),f=p(/\\S/,p(/\\(/,(0===l.length?p(/\\)/,t.span.end-1):v(l[0]))-1)-1)+1,x=h(s,c(\"Identifier\",{name:n},{start:f-n.length,end:f}),{computed:!1,optional:e}),g=d(x);return c(e||g?\"OptionalCallExpression\":\"CallExpression\",{callee:x,arguments:l},{start:v(x),end:t.span.end},{hasParentParens:r})}case\"NonNullAssert\":{const{expression:e}=t,s=a(e);return c(\"TSNonNullExpression\",{expression:s},{start:v(s),end:t.span.end},{hasParentParens:r})}case\"PrefixNot\":{const{expression:e}=t,s=a(e);return c(\"UnaryExpression\",{prefix:!0,operator:\"!\",argument:s},{start:t.span.start,end:x(s)},{hasParentParens:r})}case\"PropertyRead\":case\"SafePropertyRead\":{const e=\"SafePropertyRead\"===i,{receiver:s,name:n}=t,a=p(/\\S/,t.span.end-1)+1;return h(s,c(\"Identifier\",{name:n},{start:a-n.length,end:a},l(s)?{hasParentParens:r}:{}),{computed:!1,optional:e},{hasParentParens:r})}case\"KeyedWrite\":{const{obj:e,key:s,value:n}=t,i=a(s),o=a(n),p=h(e,i,{computed:!0,optional:!1},{end:u(/\\]/,x(i))+1});return c(\"AssignmentExpression\",{left:p,operator:\"=\",right:o},{start:v(p),end:x(o)},{hasParentParens:r})}case\"PropertyWrite\":{const{receiver:e,name:s,value:n}=t,i=a(n),o=p(/\\S/,p(/=/,v(i)-1)-1)+1,u=h(e,c(\"Identifier\",{name:s},{start:o-s.length,end:o}),{computed:!1,optional:!1});return c(\"AssignmentExpression\",{left:u,operator:\"=\",right:i},{start:v(u),end:x(i)},{hasParentParens:r})}case\"Quote\":{const{prefix:e,uninterpretedExpression:s}=t;return c(\"NGQuotedExpression\",{prefix:e,value:s},t.span,{hasParentParens:r})}default:throw new Error(\"Unexpected node \".concat(i))}function a(t){return e.transform(t,n)}function o(t){return e.transform(t,n,!0)}function c(t,e,r,{processSpan:i=!0,hasParentParens:a=!1}={}){const o=Object.assign(Object.assign({type:t},s(r,n,i,a)),e);switch(t){case\"Identifier\":{const t=o;t.loc.identifierName=t.name;break}case\"NumericLiteral\":{const t=o;t.extra=Object.assign(Object.assign({},t.extra),{raw:n.text.slice(t.start,t.end),rawValue:t.value});break}case\"StringLiteral\":{const t=o;t.extra=Object.assign(Object.assign({},t.extra),{raw:n.text.slice(t.start,t.end),rawValue:t.value});break}}return o}function h(t,e,s,{end:n=x(e),hasParentParens:r=!1}={}){if(l(t))return e;const i=a(t),o=d(i);return c(s.optional||o?\"OptionalMemberExpression\":\"MemberExpression\",Object.assign({object:i,property:e,computed:s.computed},s.optional?{optional:!0}:o?{optional:!1}:null),{start:v(i),end:n},{hasParentParens:r})}function p(t,e){return gt.findFrontChar(t,e,n.text)}function u(t,e){return gt.findBackChar(t,e,n.text)}function l(t){return t.span.start>=t.span.end}function d(t){return(\"OptionalCallExpression\"===t.type||\"OptionalMemberExpression\"===t.type)&&!f(t)}function f(t){return t.extra&&t.extra.parenthesized}function v(t){return f(t)?t.extra.parenStart:t.start}function x(t){return f(t)?t.extra.parenEnd:t.end}},e.transformSpan=s})),yt=r((function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.transformTemplateBindings=function(t,e){t.forEach((function(t){d(t.key.span),l(t)&&t.value&&d(t.value.span)}));const[s]=t,{key:n}=s,r=0===e.text.slice(s.sourceSpan.start,s.sourceSpan.end).trim().length?t.slice(1):t,i=[];let a=null;for(let t=0;tObject.assign(Object.assign({},t),mt.transformSpan({start:t.start,end:s},e)),r=e=>Object.assign(Object.assign({},n(e,t.end)),{alias:t}),a=i.pop();if(\"NGMicrosyntaxExpression\"===a.type)i.push(r(a));else{if(\"NGMicrosyntaxKeyedExpression\"!==a.type)throw new Error(\"Unexpected type \".concat(a.type));{const t=r(a.expression);i.push(n(Object.assign(Object.assign({},a),{expression:t}),t.end))}}}else i.push(o(s,t));a=s}return h(\"NGMicrosyntax\",{body:i},0===i.length?t[0].sourceSpan:{start:i[0].start,end:i[i.length-1].end});function o(t,s){if(u(t)){const{key:e,value:n}=t;return n?0===s?h(\"NGMicrosyntaxExpression\",{expression:c(n.ast),alias:null},n.sourceSpan):h(\"NGMicrosyntaxKeyedExpression\",{key:h(\"NGMicrosyntaxKey\",{name:p(e.source)},e.span),expression:h(\"NGMicrosyntaxExpression\",{expression:c(n.ast),alias:null},n.sourceSpan)},{start:e.span.start,end:n.sourceSpan.end}):h(\"NGMicrosyntaxKey\",{name:p(e.source)},e.span)}{const{key:s,sourceSpan:n}=t;if(/^let\\s$/.test(e.text.slice(n.start,n.start+4))){const{value:e}=t;return h(\"NGMicrosyntaxLet\",{key:h(\"NGMicrosyntaxKey\",{name:s.source},s.span),value:e?h(\"NGMicrosyntaxKey\",{name:e.source},e.span):null},{start:n.start,end:e?e.span.end:s.span.end})}{const n=function(t){if(!t.value||t.value.source!==gt.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX)return t.value;const s=gt.findBackChar(/\\S/,t.sourceSpan.start,e.text);return{source:\"$implicit\",span:{start:s,end:s}}}(t);return h(\"NGMicrosyntaxAs\",{key:h(\"NGMicrosyntaxKey\",{name:n.source},n.span),alias:h(\"NGMicrosyntaxKey\",{name:s.source},s.span)},{start:n.span.start,end:s.span.end})}}}function c(t){return mt.transform(t,e)}function h(t,s,n,r=!0){return Object.assign(Object.assign({type:t},mt.transformSpan(n,e,r)),s)}function p(t){return gt.toLowerCamelCase(t.slice(n.source.length))}function u(t){return t instanceof F.ExpressionBinding}function l(t){return t instanceof F.VariableBinding}function d(t){if('\"'!==e.text[t.start]&&\"'\"!==e.text[t.start])return;const s=e.text[t.start];let n=!1;for(let r=t.start+1;rmt.transform(t,r),a=i(s);return a.comments=n.map(i),a}Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseBinding=function(t){return s(t,gt.parseNgBinding)},e.parseSimpleBinding=function(t){return s(t,gt.parseNgSimpleBinding)},e.parseInterpolation=function(t){return s(t,gt.parseNgInterpolation)},e.parseAction=function(t){return s(t,gt.parseNgAction)},e.parseTemplateBindings=function(t){return yt.transformTemplateBindings(gt.parseNgTemplateBindings(t),new o.Context(t))}}));const{locStart:wt,locEnd:Ct}=n;function Pt(t){return{astFormat:\"estree\",parse:(e,s,n)=>{const r=t(e,St);return{type:\"NGRoot\",node:\"__ng_action\"===n.parser&&\"NGChainedExpression\"!==r.type?Object.assign({},r,{type:\"NGChainedExpression\",expressions:[r]}):r}},locStart:wt,locEnd:Ct}}return{parsers:{__ng_action:Pt(((t,e)=>e.parseAction(t))),__ng_binding:Pt(((t,e)=>e.parseBinding(t))),__ng_interpolation:Pt(((t,e)=>e.parseInterpolation(t))),__ng_directive:Pt(((t,e)=>e.parseTemplateBindings(t)))}}}));\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shouldContinue = void 0;\nconst axios_1 = __importDefault(require(\"axios\"));\nconst fs_extra_1 = require(\"fs-extra\");\nconst path_1 = require(\"path\");\nconst shouldContinue = async () => {\n let [owner, repo] = (process.env.GITHUB_REPOSITORY || \"\").split(\"/\");\n if (`${owner}/${repo}` === \"upptime/upptime\")\n return true;\n try {\n const upptimeDefaultConfig = await axios_1.default.get(\"https://raw.githubusercontent.com/upptime/upptime/master/.upptimerc.yml\");\n const thisRepoConfig = await fs_extra_1.readFile(path_1.join(\".\", \".upptimerc.yml\"), \"utf8\");\n if (upptimeDefaultConfig.data.trim() === thisRepoConfig.trim()) {\n console.log(`\n\n[warn] > UPPTIME WARNING\n[warn] > You should change your Upptime configuration (.upptimerc.yml)\n[warn] > Upptime workflows will NOT work until you've added custom configuration\n\n`);\n return false;\n }\n }\n catch (error) { }\n return true;\n};\nexports.shouldContinue = shouldContinue;\n//# sourceMappingURL=init-check.js.map","'use strict';\nconst escapeStringRegexp = require('escape-string-regexp');\nconst transliterate = require('@sindresorhus/transliterate');\nconst builtinOverridableReplacements = require('./overridable-replacements');\n\nconst decamelize = string => {\n\treturn string\n\t\t// Separate capitalized words.\n\t\t.replace(/([A-Z]{2,})(\\d+)/g, '$1 $2')\n\t\t.replace(/([a-z\\d]+)([A-Z]{2,})/g, '$1 $2')\n\n\t\t.replace(/([a-z\\d])([A-Z])/g, '$1 $2')\n\t\t.replace(/([A-Z]+)([A-Z][a-z\\d]+)/g, '$1 $2');\n};\n\nconst removeMootSeparators = (string, separator) => {\n\tconst escapedSeparator = escapeStringRegexp(separator);\n\n\treturn string\n\t\t.replace(new RegExp(`${escapedSeparator}{2,}`, 'g'), separator)\n\t\t.replace(new RegExp(`^${escapedSeparator}|${escapedSeparator}$`, 'g'), '');\n};\n\nconst slugify = (string, options) => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got \\`${typeof string}\\``);\n\t}\n\n\toptions = {\n\t\tseparator: '-',\n\t\tlowercase: true,\n\t\tdecamelize: true,\n\t\tcustomReplacements: [],\n\t\tpreserveLeadingUnderscore: false,\n\t\t...options\n\t};\n\n\tconst shouldPrependUnderscore = options.preserveLeadingUnderscore && string.startsWith('_');\n\n\tconst customReplacements = new Map([\n\t\t...builtinOverridableReplacements,\n\t\t...options.customReplacements\n\t]);\n\n\tstring = transliterate(string, {customReplacements});\n\n\tif (options.decamelize) {\n\t\tstring = decamelize(string);\n\t}\n\n\tlet patternSlug = /[^a-zA-Z\\d]+/g;\n\n\tif (options.lowercase) {\n\t\tstring = string.toLowerCase();\n\t\tpatternSlug = /[^a-z\\d]+/g;\n\t}\n\n\tstring = string.replace(patternSlug, options.separator);\n\tstring = string.replace(/\\\\/g, '');\n\tif (options.separator) {\n\t\tstring = removeMootSeparators(string, options.separator);\n\t}\n\n\tif (shouldPrependUnderscore) {\n\t\tstring = `_${string}`;\n\t}\n\n\treturn string;\n};\n\nconst counter = () => {\n\tconst occurrences = new Map();\n\n\tconst countable = (string, options) => {\n\t\tstring = slugify(string, options);\n\n\t\tif (!string) {\n\t\t\treturn '';\n\t\t}\n\n\t\tconst stringLower = string.toLowerCase();\n\t\tconst numberless = occurrences.get(stringLower.replace(/(?:-\\d+?)+?$/, '')) || 0;\n\t\tconst counter = occurrences.get(stringLower);\n\t\toccurrences.set(stringLower, typeof counter === 'number' ? counter + 1 : 1);\n\t\tconst newCounter = occurrences.get(stringLower) || 2;\n\t\tif (newCounter >= 2 || numberless > 2) {\n\t\t\tstring = `${string}-${newCounter}`;\n\t\t}\n\n\t\treturn string;\n\t};\n\n\tcountable.reset = () => {\n\t\toccurrences.clear();\n\t};\n\n\treturn countable;\n};\n\nmodule.exports = slugify;\nmodule.exports.counter = counter;\n","'use strict';\n\n\nvar common = require('./common');\n\n\nfunction Mark(name, buffer, position, line, column) {\n this.name = name;\n this.buffer = buffer;\n this.position = position;\n this.line = line;\n this.column = column;\n}\n\n\nMark.prototype.getSnippet = function getSnippet(indent, maxLength) {\n var head, start, tail, end, snippet;\n\n if (!this.buffer) return null;\n\n indent = indent || 4;\n maxLength = maxLength || 75;\n\n head = '';\n start = this.position;\n\n while (start > 0 && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(start - 1)) === -1) {\n start -= 1;\n if (this.position - start > (maxLength / 2 - 1)) {\n head = ' ... ';\n start += 5;\n break;\n }\n }\n\n tail = '';\n end = this.position;\n\n while (end < this.buffer.length && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(end)) === -1) {\n end += 1;\n if (end - this.position > (maxLength / 2 - 1)) {\n tail = ' ... ';\n end -= 5;\n break;\n }\n }\n\n snippet = this.buffer.slice(start, end);\n\n return common.repeat(' ', indent) + head + snippet + tail + '\\n' +\n common.repeat(' ', indent + this.position - start + head.length) + '^';\n};\n\n\nMark.prototype.toString = function toString(compact) {\n var snippet, where = '';\n\n if (this.name) {\n where += 'in \"' + this.name + '\" ';\n }\n\n where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1);\n\n if (!compact) {\n snippet = this.getSnippet();\n\n if (snippet) {\n where += ':\\n' + snippet;\n }\n }\n\n return where;\n};\n\n\nmodule.exports = Mark;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlProtocol = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898fccafc5d6cd04f6235f283cfbd/include/curl/curl.h#L893\r\n// not following Enum name convention here because it feels more natural that way\r\n/**\r\n * Object with the protocols supported by libcurl, as bitmasks.\r\n * Should be used when setting `PROTOCOLS` and `REDIR_PROTOCOLS` options.\r\n *\r\n * `CURLPROTO_HTTP` becomes `CurlProtocol.HTTP`\r\n *\r\n * @public\r\n */\r\nvar CurlProtocol;\r\n(function (CurlProtocol) {\r\n CurlProtocol[CurlProtocol[\"HTTP\"] = 1] = \"HTTP\";\r\n CurlProtocol[CurlProtocol[\"HTTPS\"] = 2] = \"HTTPS\";\r\n CurlProtocol[CurlProtocol[\"FTP\"] = 4] = \"FTP\";\r\n CurlProtocol[CurlProtocol[\"FTPS\"] = 8] = \"FTPS\";\r\n CurlProtocol[CurlProtocol[\"SCP\"] = 16] = \"SCP\";\r\n CurlProtocol[CurlProtocol[\"SFTP\"] = 32] = \"SFTP\";\r\n CurlProtocol[CurlProtocol[\"TELNET\"] = 64] = \"TELNET\";\r\n CurlProtocol[CurlProtocol[\"LDAP\"] = 128] = \"LDAP\";\r\n CurlProtocol[CurlProtocol[\"LDAPS\"] = 256] = \"LDAPS\";\r\n CurlProtocol[CurlProtocol[\"DICT\"] = 512] = \"DICT\";\r\n CurlProtocol[CurlProtocol[\"FILE\"] = 1024] = \"FILE\";\r\n CurlProtocol[CurlProtocol[\"TFTP\"] = 2048] = \"TFTP\";\r\n CurlProtocol[CurlProtocol[\"IMAP\"] = 4096] = \"IMAP\";\r\n CurlProtocol[CurlProtocol[\"IMAPS\"] = 8192] = \"IMAPS\";\r\n CurlProtocol[CurlProtocol[\"POP3\"] = 16384] = \"POP3\";\r\n CurlProtocol[CurlProtocol[\"POP3S\"] = 32768] = \"POP3S\";\r\n CurlProtocol[CurlProtocol[\"SMTP\"] = 65536] = \"SMTP\";\r\n CurlProtocol[CurlProtocol[\"SMTPS\"] = 131072] = \"SMTPS\";\r\n CurlProtocol[CurlProtocol[\"RTSP\"] = 262144] = \"RTSP\";\r\n CurlProtocol[CurlProtocol[\"RTMP\"] = 524288] = \"RTMP\";\r\n CurlProtocol[CurlProtocol[\"RTMPT\"] = 1048576] = \"RTMPT\";\r\n CurlProtocol[CurlProtocol[\"RTMPE\"] = 2097152] = \"RTMPE\";\r\n CurlProtocol[CurlProtocol[\"RTMPTE\"] = 4194304] = \"RTMPTE\";\r\n CurlProtocol[CurlProtocol[\"RTMPS\"] = 8388608] = \"RTMPS\";\r\n CurlProtocol[CurlProtocol[\"RTMPTS\"] = 16777216] = \"RTMPTS\";\r\n CurlProtocol[CurlProtocol[\"GOPHER\"] = 33554432] = \"GOPHER\";\r\n CurlProtocol[CurlProtocol[\"SMB\"] = 67108864] = \"SMB\";\r\n CurlProtocol[CurlProtocol[\"SMBS\"] = 134217728] = \"SMBS\";\r\n CurlProtocol[CurlProtocol[\"ALL\"] = -1] = \"ALL\";\r\n})(CurlProtocol = exports.CurlProtocol || (exports.CurlProtocol = {}));\r\n//# sourceMappingURL=CurlProtocol.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlTimeCond = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L2058\r\n/**\r\n * Object with constants for option `TIMECONDITION`\r\n *\r\n * `CURL_TIMECOND_IFMODSINCE` becomes `CurlTimeCond.IfModSince`\r\n *\r\n * @public\r\n */\r\nvar CurlTimeCond;\r\n(function (CurlTimeCond) {\r\n CurlTimeCond[CurlTimeCond[\"None\"] = 0] = \"None\";\r\n CurlTimeCond[CurlTimeCond[\"IfModSince\"] = 1] = \"IfModSince\";\r\n CurlTimeCond[CurlTimeCond[\"IfUnmodSince\"] = 2] = \"IfUnmodSince\";\r\n CurlTimeCond[CurlTimeCond[\"LastMod\"] = 3] = \"LastMod\";\r\n})(CurlTimeCond = exports.CurlTimeCond || (exports.CurlTimeCond = {}));\r\n//# sourceMappingURL=CurlTimeCond.js.map","// see dirs.js\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n var mod = stat.mode\n var uid = stat.uid\n var gid = stat.gid\n\n var myUid = options.uid !== undefined ?\n options.uid : process.getuid && process.getuid()\n var myGid = options.gid !== undefined ?\n options.gid : process.getgid && process.getgid()\n\n var u = parseInt('100', 8)\n var g = parseInt('010', 8)\n var o = parseInt('001', 8)\n var ug = u | g\n\n var ret = (mod & o) ||\n (mod & g) && gid === myGid ||\n (mod & u) && uid === myUid ||\n (mod & ug) && myUid === 0\n\n return ret\n}\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('grep', _grep, {\n globStart: 2, // don't glob-expand the regex\n canReceivePipe: true,\n cmdOptions: {\n 'v': 'inverse',\n 'l': 'nameOnly',\n 'i': 'ignoreCase',\n },\n});\n\n//@\n//@ ### grep([options,] regex_filter, file [, file ...])\n//@ ### grep([options,] regex_filter, file_array)\n//@\n//@ Available options:\n//@\n//@ + `-v`: Invert `regex_filter` (only print non-matching lines).\n//@ + `-l`: Print only filenames of matching files.\n//@ + `-i`: Ignore case.\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ grep('-v', 'GLOBAL_VARIABLE', '*.js');\n//@ grep('GLOBAL_VARIABLE', '*.js');\n//@ ```\n//@\n//@ Reads input string from given files and returns a string containing all lines of the\n//@ file that match the given `regex_filter`.\nfunction _grep(options, regex, files) {\n // Check if this is coming from a pipe\n var pipe = common.readFromPipe();\n\n if (!files && !pipe) common.error('no paths given', 2);\n\n files = [].slice.call(arguments, 2);\n\n if (pipe) {\n files.unshift('-');\n }\n\n var grep = [];\n if (options.ignoreCase) {\n regex = new RegExp(regex, 'i');\n }\n files.forEach(function (file) {\n if (!fs.existsSync(file) && file !== '-') {\n common.error('no such file or directory: ' + file, 2, { continue: true });\n return;\n }\n\n var contents = file === '-' ? pipe : fs.readFileSync(file, 'utf8');\n if (options.nameOnly) {\n if (contents.match(regex)) {\n grep.push(file);\n }\n } else {\n var lines = contents.split('\\n');\n lines.forEach(function (line) {\n var matched = line.match(regex);\n if ((options.inverse && !matched) || (!options.inverse && matched)) {\n grep.push(line);\n }\n });\n }\n });\n\n return grep.join('\\n') + '\\n';\n}\nmodule.exports = _grep;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlHttpVersion = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be825453/include/curl/curl.h#L1964\r\n/**\r\n * Object with constants to be used with the `HTTP_VERSION` option.\r\n *\r\n * `CURL_HTTP_VERSION_NONE` becomes `CurlHttpVersion.None`\r\n * and `CURL_HTTP_VERSION_1_0` becomes `CurlHttpVersion.V1_0`\r\n *\r\n * @public\r\n */\r\nvar CurlHttpVersion;\r\n(function (CurlHttpVersion) {\r\n /**\r\n * Setting this means we don't care, and that we'd\r\n * like the library to choose the best possible\r\n * for us!\r\n */\r\n CurlHttpVersion[CurlHttpVersion[\"None\"] = 0] = \"None\";\r\n CurlHttpVersion[CurlHttpVersion[\"V1_0\"] = 1] = \"V1_0\";\r\n CurlHttpVersion[CurlHttpVersion[\"V1_1\"] = 2] = \"V1_1\";\r\n CurlHttpVersion[CurlHttpVersion[\"V2_0\"] = 3] = \"V2_0\";\r\n /**\r\n * Use version 2 for HTTPS, version 1.1 for HTTP\r\n */\r\n CurlHttpVersion[CurlHttpVersion[\"V2Tls\"] = 4] = \"V2Tls\";\r\n /**\r\n * Use HTTP 2 without HTTP/1.1 Upgrade\r\n */\r\n CurlHttpVersion[CurlHttpVersion[\"V2PriorKnowledge\"] = 5] = \"V2PriorKnowledge\";\r\n CurlHttpVersion[CurlHttpVersion[\"v3\"] = 6] = \"v3\";\r\n})(CurlHttpVersion = exports.CurlHttpVersion || (exports.CurlHttpVersion = {}));\r\n//# sourceMappingURL=CurlHttpVersion.js.map","module.exports = require(\"https\");","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlProxy = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898f/include/curl/curl.h#L692\r\n/**\r\n * Object with constants for option `PROXYTYPE`\r\n *\r\n * `CURLPROXY_HTTP` becomes `CurlProxy.Http`\r\n *\r\n * @public\r\n */\r\nvar CurlProxy;\r\n(function (CurlProxy) {\r\n CurlProxy[CurlProxy[\"Http\"] = 0] = \"Http\";\r\n CurlProxy[CurlProxy[\"Http_1_0\"] = 1] = \"Http_1_0\";\r\n CurlProxy[CurlProxy[\"Https\"] = 2] = \"Https\";\r\n CurlProxy[CurlProxy[\"Socks4\"] = 4] = \"Socks4\";\r\n CurlProxy[CurlProxy[\"Socks5\"] = 5] = \"Socks5\";\r\n CurlProxy[CurlProxy[\"Socks4A\"] = 6] = \"Socks4A\";\r\n CurlProxy[CurlProxy[\"Socks5Hostname\"] = 7] = \"Socks5Hostname\";\r\n})(CurlProxy = exports.CurlProxy || (exports.CurlProxy = {}));\r\n//# sourceMappingURL=CurlProxy.js.map","module.exports = require(\"punycode\");","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sendNotification = void 0;\nconst axios_1 = __importDefault(require(\"axios\"));\nconst nodemailer_1 = __importDefault(require(\"nodemailer\"));\nconst sendNotification = async (config, text) => {\n console.log(\"[debug] Sending notification\", text);\n console.log(`[debug] Notification config has ${(config.notifications || []).length} keys`);\n for await (const notification of config.notifications || []) {\n if (notification.type === \"slack\") {\n console.log(\"[debug] Sending Slack notification to channel\", notification.channel);\n const token = process.env.SLACK_APP_ACCESS_TOKEN;\n if (token) {\n const { data } = await axios_1.default.post(\"https://slack.com/api/chat.postMessage\", { channel: notification.channel, text }, { headers: { Authorization: `Bearer ${process.env.SLACK_BOT_ACCESS_TOKEN}` } });\n console.log(\"[debug] Slack response\", data);\n }\n console.log(\"[debug] Slack token found?\", !!token);\n }\n else if (notification.type === \"discord\") {\n console.log(\"[debug] Sending Discord notification\");\n const webhookUrl = process.env.DISCORD_WEBHOOK_URL;\n if (webhookUrl)\n await axios_1.default.post(webhookUrl, { content: text });\n }\n else if (notification.type === \"email\") {\n console.log(\"[debug] Sending email notification\");\n const transporter = nodemailer_1.default.createTransport({\n host: process.env.NOTIFICATION_SMTP_HOST,\n port: process.env.NOTIFICATION_SMTP_PORT || 587,\n secure: !!process.env.NOTIFICATION_SMTP_SECURE,\n auth: {\n user: process.env.NOTIFICATION_SMTP_USER,\n pass: process.env.NOTIFICATION_SMTP_PASSWORD,\n },\n });\n await transporter.sendMail({\n from: process.env.NOTIFICATION_SMTP_USER,\n to: process.env.NOTIFICATION_EMAIL || process.env.NOTIFICATION_SMTP_USER,\n subject: text,\n text: text,\n html: `

${text}

`,\n });\n console.log(\"[debug] Sent notification\");\n }\n else {\n console.log(\"This notification type is not supported:\", notification.type);\n }\n }\n console.log(\"[debug] Notifications are sent\");\n};\nexports.sendNotification = sendNotification;\n//# sourceMappingURL=notifications.js.map","var path = require('path');\nvar common = require('./common');\nvar _ls = require('./ls');\n\ncommon.register('find', _find, {});\n\n//@\n//@ ### find(path [, path ...])\n//@ ### find(path_array)\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ find('src', 'lib');\n//@ find(['src', 'lib']); // same as above\n//@ find('.').filter(function(file) { return file.match(/\\.js$/); });\n//@ ```\n//@\n//@ Returns array of all files (however deep) in the given paths.\n//@\n//@ The main difference from `ls('-R', path)` is that the resulting file names\n//@ include the base directories (e.g., `lib/resources/file1` instead of just `file1`).\nfunction _find(options, paths) {\n if (!paths) {\n common.error('no path specified');\n } else if (typeof paths === 'string') {\n paths = [].slice.call(arguments, 1);\n }\n\n var list = [];\n\n function pushFile(file) {\n if (process.platform === 'win32') {\n file = file.replace(/\\\\/g, '/');\n }\n list.push(file);\n }\n\n // why not simply do `ls('-R', paths)`? because the output wouldn't give the base dirs\n // to get the base dir in the output, we need instead `ls('-R', 'dir/*')` for every directory\n\n paths.forEach(function (file) {\n var stat;\n try {\n stat = common.statFollowLinks(file);\n } catch (e) {\n common.error('no such file or directory: ' + file);\n }\n\n pushFile(file);\n\n if (stat.isDirectory()) {\n _ls({ recursive: true, all: true }, file).forEach(function (subfile) {\n pushFile(path.join(file, subfile));\n });\n }\n });\n\n return list;\n}\nmodule.exports = _find;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict'\n\nmodule.exports = {\n // Export promiseified graceful-fs:\n ...require('./fs'),\n // Export extra methods:\n ...require('./copy-sync'),\n ...require('./copy'),\n ...require('./empty'),\n ...require('./ensure'),\n ...require('./json'),\n ...require('./mkdirs'),\n ...require('./move-sync'),\n ...require('./move'),\n ...require('./output'),\n ...require('./path-exists'),\n ...require('./remove')\n}\n\n// Export fs.promises as a getter property so that we don't trigger\n// ExperimentalWarning before fs.promises is actually accessed.\nconst fs = require('fs')\nif (Object.getOwnPropertyDescriptor(fs, 'promises')) {\n Object.defineProperty(module.exports, 'promises', {\n get () { return fs.promises }\n })\n}\n","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlBoolean(data) {\n if (data === null) return false;\n\n var max = data.length;\n\n return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) ||\n (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'));\n}\n\nfunction constructYamlBoolean(data) {\n return data === 'true' ||\n data === 'True' ||\n data === 'TRUE';\n}\n\nfunction isBoolean(object) {\n return Object.prototype.toString.call(object) === '[object Boolean]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:bool', {\n kind: 'scalar',\n resolve: resolveYamlBoolean,\n construct: constructYamlBoolean,\n predicate: isBoolean,\n represent: {\n lowercase: function (object) { return object ? 'true' : 'false'; },\n uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; },\n camelcase: function (object) { return object ? 'True' : 'False'; }\n },\n defaultStyle: 'lowercase'\n});\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):((e=\"undefined\"!=typeof globalThis?globalThis:e||self).prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.markdown=t())}(this,(function(){\"use strict\";var e=function(){for(var e={},r=0;rt)return{line:r+1,column:t-(e[r-1]||0)+1,offset:t};return{}}}function D(e){return function(t){var r=t&&t.line,n=t&&t.column;if(!isNaN(r)&&!isNaN(n)&&r-1 in e)return(e[r-2]||0)+n-1||0;return-1}}var p=function(e,t){return function(r){var n,u=0,i=r.indexOf(d),o=e[t],a=[];for(;-1!==i;)a.push(r.slice(u,i)),u=i+1,(n=r.charAt(u))&&-1!==o.indexOf(n)||a.push(d),i=r.indexOf(d,u+1);return a.push(r.slice(u)),a.join(\"\")}},d=\"\\\\\";var h={AElig:\"\\xc6\",AMP:\"&\",Aacute:\"\\xc1\",Acirc:\"\\xc2\",Agrave:\"\\xc0\",Aring:\"\\xc5\",Atilde:\"\\xc3\",Auml:\"\\xc4\",COPY:\"\\xa9\",Ccedil:\"\\xc7\",ETH:\"\\xd0\",Eacute:\"\\xc9\",Ecirc:\"\\xca\",Egrave:\"\\xc8\",Euml:\"\\xcb\",GT:\">\",Iacute:\"\\xcd\",Icirc:\"\\xce\",Igrave:\"\\xcc\",Iuml:\"\\xcf\",LT:\"<\",Ntilde:\"\\xd1\",Oacute:\"\\xd3\",Ocirc:\"\\xd4\",Ograve:\"\\xd2\",Oslash:\"\\xd8\",Otilde:\"\\xd5\",Ouml:\"\\xd6\",QUOT:'\"',REG:\"\\xae\",THORN:\"\\xde\",Uacute:\"\\xda\",Ucirc:\"\\xdb\",Ugrave:\"\\xd9\",Uuml:\"\\xdc\",Yacute:\"\\xdd\",aacute:\"\\xe1\",acirc:\"\\xe2\",acute:\"\\xb4\",aelig:\"\\xe6\",agrave:\"\\xe0\",amp:\"&\",aring:\"\\xe5\",atilde:\"\\xe3\",auml:\"\\xe4\",brvbar:\"\\xa6\",ccedil:\"\\xe7\",cedil:\"\\xb8\",cent:\"\\xa2\",copy:\"\\xa9\",curren:\"\\xa4\",deg:\"\\xb0\",divide:\"\\xf7\",eacute:\"\\xe9\",ecirc:\"\\xea\",egrave:\"\\xe8\",eth:\"\\xf0\",euml:\"\\xeb\",frac12:\"\\xbd\",frac14:\"\\xbc\",frac34:\"\\xbe\",gt:\">\",iacute:\"\\xed\",icirc:\"\\xee\",iexcl:\"\\xa1\",igrave:\"\\xec\",iquest:\"\\xbf\",iuml:\"\\xef\",laquo:\"\\xab\",lt:\"<\",macr:\"\\xaf\",micro:\"\\xb5\",middot:\"\\xb7\",nbsp:\"\\xa0\",not:\"\\xac\",ntilde:\"\\xf1\",oacute:\"\\xf3\",ocirc:\"\\xf4\",ograve:\"\\xf2\",ordf:\"\\xaa\",ordm:\"\\xba\",oslash:\"\\xf8\",otilde:\"\\xf5\",ouml:\"\\xf6\",para:\"\\xb6\",plusmn:\"\\xb1\",pound:\"\\xa3\",quot:'\"',raquo:\"\\xbb\",reg:\"\\xae\",sect:\"\\xa7\",shy:\"\\xad\",sup1:\"\\xb9\",sup2:\"\\xb2\",sup3:\"\\xb3\",szlig:\"\\xdf\",thorn:\"\\xfe\",times:\"\\xd7\",uacute:\"\\xfa\",ucirc:\"\\xfb\",ugrave:\"\\xf9\",uml:\"\\xa8\",uuml:\"\\xfc\",yacute:\"\\xfd\",yen:\"\\xa5\",yuml:\"\\xff\"},g={0:\"\\ufffd\",128:\"\\u20ac\",130:\"\\u201a\",131:\"\\u0192\",132:\"\\u201e\",133:\"\\u2026\",134:\"\\u2020\",135:\"\\u2021\",136:\"\\u02c6\",137:\"\\u2030\",138:\"\\u0160\",139:\"\\u2039\",140:\"\\u0152\",142:\"\\u017d\",145:\"\\u2018\",146:\"\\u2019\",147:\"\\u201c\",148:\"\\u201d\",149:\"\\u2022\",150:\"\\u2013\",151:\"\\u2014\",152:\"\\u02dc\",153:\"\\u2122\",154:\"\\u0161\",155:\"\\u203a\",156:\"\\u0153\",158:\"\\u017e\",159:\"\\u0178\"},m=function(e){var t=\"string\"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57};var E=function(e){var t=\"string\"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57};var C=function(e){var t=\"string\"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90};var b=function(e){return C(e)||m(e)};var v={AEli:\"\\xc6\",AElig:\"\\xc6\",AM:\"&\",AMP:\"&\",Aacut:\"\\xc1\",Aacute:\"\\xc1\",Abreve:\"\\u0102\",Acir:\"\\xc2\",Acirc:\"\\xc2\",Acy:\"\\u0410\",Afr:\"\\ud835\\udd04\",Agrav:\"\\xc0\",Agrave:\"\\xc0\",Alpha:\"\\u0391\",Amacr:\"\\u0100\",And:\"\\u2a53\",Aogon:\"\\u0104\",Aopf:\"\\ud835\\udd38\",ApplyFunction:\"\\u2061\",Arin:\"\\xc5\",Aring:\"\\xc5\",Ascr:\"\\ud835\\udc9c\",Assign:\"\\u2254\",Atild:\"\\xc3\",Atilde:\"\\xc3\",Aum:\"\\xc4\",Auml:\"\\xc4\",Backslash:\"\\u2216\",Barv:\"\\u2ae7\",Barwed:\"\\u2306\",Bcy:\"\\u0411\",Because:\"\\u2235\",Bernoullis:\"\\u212c\",Beta:\"\\u0392\",Bfr:\"\\ud835\\udd05\",Bopf:\"\\ud835\\udd39\",Breve:\"\\u02d8\",Bscr:\"\\u212c\",Bumpeq:\"\\u224e\",CHcy:\"\\u0427\",COP:\"\\xa9\",COPY:\"\\xa9\",Cacute:\"\\u0106\",Cap:\"\\u22d2\",CapitalDifferentialD:\"\\u2145\",Cayleys:\"\\u212d\",Ccaron:\"\\u010c\",Ccedi:\"\\xc7\",Ccedil:\"\\xc7\",Ccirc:\"\\u0108\",Cconint:\"\\u2230\",Cdot:\"\\u010a\",Cedilla:\"\\xb8\",CenterDot:\"\\xb7\",Cfr:\"\\u212d\",Chi:\"\\u03a7\",CircleDot:\"\\u2299\",CircleMinus:\"\\u2296\",CirclePlus:\"\\u2295\",CircleTimes:\"\\u2297\",ClockwiseContourIntegral:\"\\u2232\",CloseCurlyDoubleQuote:\"\\u201d\",CloseCurlyQuote:\"\\u2019\",Colon:\"\\u2237\",Colone:\"\\u2a74\",Congruent:\"\\u2261\",Conint:\"\\u222f\",ContourIntegral:\"\\u222e\",Copf:\"\\u2102\",Coproduct:\"\\u2210\",CounterClockwiseContourIntegral:\"\\u2233\",Cross:\"\\u2a2f\",Cscr:\"\\ud835\\udc9e\",Cup:\"\\u22d3\",CupCap:\"\\u224d\",DD:\"\\u2145\",DDotrahd:\"\\u2911\",DJcy:\"\\u0402\",DScy:\"\\u0405\",DZcy:\"\\u040f\",Dagger:\"\\u2021\",Darr:\"\\u21a1\",Dashv:\"\\u2ae4\",Dcaron:\"\\u010e\",Dcy:\"\\u0414\",Del:\"\\u2207\",Delta:\"\\u0394\",Dfr:\"\\ud835\\udd07\",DiacriticalAcute:\"\\xb4\",DiacriticalDot:\"\\u02d9\",DiacriticalDoubleAcute:\"\\u02dd\",DiacriticalGrave:\"`\",DiacriticalTilde:\"\\u02dc\",Diamond:\"\\u22c4\",DifferentialD:\"\\u2146\",Dopf:\"\\ud835\\udd3b\",Dot:\"\\xa8\",DotDot:\"\\u20dc\",DotEqual:\"\\u2250\",DoubleContourIntegral:\"\\u222f\",DoubleDot:\"\\xa8\",DoubleDownArrow:\"\\u21d3\",DoubleLeftArrow:\"\\u21d0\",DoubleLeftRightArrow:\"\\u21d4\",DoubleLeftTee:\"\\u2ae4\",DoubleLongLeftArrow:\"\\u27f8\",DoubleLongLeftRightArrow:\"\\u27fa\",DoubleLongRightArrow:\"\\u27f9\",DoubleRightArrow:\"\\u21d2\",DoubleRightTee:\"\\u22a8\",DoubleUpArrow:\"\\u21d1\",DoubleUpDownArrow:\"\\u21d5\",DoubleVerticalBar:\"\\u2225\",DownArrow:\"\\u2193\",DownArrowBar:\"\\u2913\",DownArrowUpArrow:\"\\u21f5\",DownBreve:\"\\u0311\",DownLeftRightVector:\"\\u2950\",DownLeftTeeVector:\"\\u295e\",DownLeftVector:\"\\u21bd\",DownLeftVectorBar:\"\\u2956\",DownRightTeeVector:\"\\u295f\",DownRightVector:\"\\u21c1\",DownRightVectorBar:\"\\u2957\",DownTee:\"\\u22a4\",DownTeeArrow:\"\\u21a7\",Downarrow:\"\\u21d3\",Dscr:\"\\ud835\\udc9f\",Dstrok:\"\\u0110\",ENG:\"\\u014a\",ET:\"\\xd0\",ETH:\"\\xd0\",Eacut:\"\\xc9\",Eacute:\"\\xc9\",Ecaron:\"\\u011a\",Ecir:\"\\xca\",Ecirc:\"\\xca\",Ecy:\"\\u042d\",Edot:\"\\u0116\",Efr:\"\\ud835\\udd08\",Egrav:\"\\xc8\",Egrave:\"\\xc8\",Element:\"\\u2208\",Emacr:\"\\u0112\",EmptySmallSquare:\"\\u25fb\",EmptyVerySmallSquare:\"\\u25ab\",Eogon:\"\\u0118\",Eopf:\"\\ud835\\udd3c\",Epsilon:\"\\u0395\",Equal:\"\\u2a75\",EqualTilde:\"\\u2242\",Equilibrium:\"\\u21cc\",Escr:\"\\u2130\",Esim:\"\\u2a73\",Eta:\"\\u0397\",Eum:\"\\xcb\",Euml:\"\\xcb\",Exists:\"\\u2203\",ExponentialE:\"\\u2147\",Fcy:\"\\u0424\",Ffr:\"\\ud835\\udd09\",FilledSmallSquare:\"\\u25fc\",FilledVerySmallSquare:\"\\u25aa\",Fopf:\"\\ud835\\udd3d\",ForAll:\"\\u2200\",Fouriertrf:\"\\u2131\",Fscr:\"\\u2131\",GJcy:\"\\u0403\",G:\">\",GT:\">\",Gamma:\"\\u0393\",Gammad:\"\\u03dc\",Gbreve:\"\\u011e\",Gcedil:\"\\u0122\",Gcirc:\"\\u011c\",Gcy:\"\\u0413\",Gdot:\"\\u0120\",Gfr:\"\\ud835\\udd0a\",Gg:\"\\u22d9\",Gopf:\"\\ud835\\udd3e\",GreaterEqual:\"\\u2265\",GreaterEqualLess:\"\\u22db\",GreaterFullEqual:\"\\u2267\",GreaterGreater:\"\\u2aa2\",GreaterLess:\"\\u2277\",GreaterSlantEqual:\"\\u2a7e\",GreaterTilde:\"\\u2273\",Gscr:\"\\ud835\\udca2\",Gt:\"\\u226b\",HARDcy:\"\\u042a\",Hacek:\"\\u02c7\",Hat:\"^\",Hcirc:\"\\u0124\",Hfr:\"\\u210c\",HilbertSpace:\"\\u210b\",Hopf:\"\\u210d\",HorizontalLine:\"\\u2500\",Hscr:\"\\u210b\",Hstrok:\"\\u0126\",HumpDownHump:\"\\u224e\",HumpEqual:\"\\u224f\",IEcy:\"\\u0415\",IJlig:\"\\u0132\",IOcy:\"\\u0401\",Iacut:\"\\xcd\",Iacute:\"\\xcd\",Icir:\"\\xce\",Icirc:\"\\xce\",Icy:\"\\u0418\",Idot:\"\\u0130\",Ifr:\"\\u2111\",Igrav:\"\\xcc\",Igrave:\"\\xcc\",Im:\"\\u2111\",Imacr:\"\\u012a\",ImaginaryI:\"\\u2148\",Implies:\"\\u21d2\",Int:\"\\u222c\",Integral:\"\\u222b\",Intersection:\"\\u22c2\",InvisibleComma:\"\\u2063\",InvisibleTimes:\"\\u2062\",Iogon:\"\\u012e\",Iopf:\"\\ud835\\udd40\",Iota:\"\\u0399\",Iscr:\"\\u2110\",Itilde:\"\\u0128\",Iukcy:\"\\u0406\",Ium:\"\\xcf\",Iuml:\"\\xcf\",Jcirc:\"\\u0134\",Jcy:\"\\u0419\",Jfr:\"\\ud835\\udd0d\",Jopf:\"\\ud835\\udd41\",Jscr:\"\\ud835\\udca5\",Jsercy:\"\\u0408\",Jukcy:\"\\u0404\",KHcy:\"\\u0425\",KJcy:\"\\u040c\",Kappa:\"\\u039a\",Kcedil:\"\\u0136\",Kcy:\"\\u041a\",Kfr:\"\\ud835\\udd0e\",Kopf:\"\\ud835\\udd42\",Kscr:\"\\ud835\\udca6\",LJcy:\"\\u0409\",L:\"<\",LT:\"<\",Lacute:\"\\u0139\",Lambda:\"\\u039b\",Lang:\"\\u27ea\",Laplacetrf:\"\\u2112\",Larr:\"\\u219e\",Lcaron:\"\\u013d\",Lcedil:\"\\u013b\",Lcy:\"\\u041b\",LeftAngleBracket:\"\\u27e8\",LeftArrow:\"\\u2190\",LeftArrowBar:\"\\u21e4\",LeftArrowRightArrow:\"\\u21c6\",LeftCeiling:\"\\u2308\",LeftDoubleBracket:\"\\u27e6\",LeftDownTeeVector:\"\\u2961\",LeftDownVector:\"\\u21c3\",LeftDownVectorBar:\"\\u2959\",LeftFloor:\"\\u230a\",LeftRightArrow:\"\\u2194\",LeftRightVector:\"\\u294e\",LeftTee:\"\\u22a3\",LeftTeeArrow:\"\\u21a4\",LeftTeeVector:\"\\u295a\",LeftTriangle:\"\\u22b2\",LeftTriangleBar:\"\\u29cf\",LeftTriangleEqual:\"\\u22b4\",LeftUpDownVector:\"\\u2951\",LeftUpTeeVector:\"\\u2960\",LeftUpVector:\"\\u21bf\",LeftUpVectorBar:\"\\u2958\",LeftVector:\"\\u21bc\",LeftVectorBar:\"\\u2952\",Leftarrow:\"\\u21d0\",Leftrightarrow:\"\\u21d4\",LessEqualGreater:\"\\u22da\",LessFullEqual:\"\\u2266\",LessGreater:\"\\u2276\",LessLess:\"\\u2aa1\",LessSlantEqual:\"\\u2a7d\",LessTilde:\"\\u2272\",Lfr:\"\\ud835\\udd0f\",Ll:\"\\u22d8\",Lleftarrow:\"\\u21da\",Lmidot:\"\\u013f\",LongLeftArrow:\"\\u27f5\",LongLeftRightArrow:\"\\u27f7\",LongRightArrow:\"\\u27f6\",Longleftarrow:\"\\u27f8\",Longleftrightarrow:\"\\u27fa\",Longrightarrow:\"\\u27f9\",Lopf:\"\\ud835\\udd43\",LowerLeftArrow:\"\\u2199\",LowerRightArrow:\"\\u2198\",Lscr:\"\\u2112\",Lsh:\"\\u21b0\",Lstrok:\"\\u0141\",Lt:\"\\u226a\",Map:\"\\u2905\",Mcy:\"\\u041c\",MediumSpace:\"\\u205f\",Mellintrf:\"\\u2133\",Mfr:\"\\ud835\\udd10\",MinusPlus:\"\\u2213\",Mopf:\"\\ud835\\udd44\",Mscr:\"\\u2133\",Mu:\"\\u039c\",NJcy:\"\\u040a\",Nacute:\"\\u0143\",Ncaron:\"\\u0147\",Ncedil:\"\\u0145\",Ncy:\"\\u041d\",NegativeMediumSpace:\"\\u200b\",NegativeThickSpace:\"\\u200b\",NegativeThinSpace:\"\\u200b\",NegativeVeryThinSpace:\"\\u200b\",NestedGreaterGreater:\"\\u226b\",NestedLessLess:\"\\u226a\",NewLine:\"\\n\",Nfr:\"\\ud835\\udd11\",NoBreak:\"\\u2060\",NonBreakingSpace:\"\\xa0\",Nopf:\"\\u2115\",Not:\"\\u2aec\",NotCongruent:\"\\u2262\",NotCupCap:\"\\u226d\",NotDoubleVerticalBar:\"\\u2226\",NotElement:\"\\u2209\",NotEqual:\"\\u2260\",NotEqualTilde:\"\\u2242\\u0338\",NotExists:\"\\u2204\",NotGreater:\"\\u226f\",NotGreaterEqual:\"\\u2271\",NotGreaterFullEqual:\"\\u2267\\u0338\",NotGreaterGreater:\"\\u226b\\u0338\",NotGreaterLess:\"\\u2279\",NotGreaterSlantEqual:\"\\u2a7e\\u0338\",NotGreaterTilde:\"\\u2275\",NotHumpDownHump:\"\\u224e\\u0338\",NotHumpEqual:\"\\u224f\\u0338\",NotLeftTriangle:\"\\u22ea\",NotLeftTriangleBar:\"\\u29cf\\u0338\",NotLeftTriangleEqual:\"\\u22ec\",NotLess:\"\\u226e\",NotLessEqual:\"\\u2270\",NotLessGreater:\"\\u2278\",NotLessLess:\"\\u226a\\u0338\",NotLessSlantEqual:\"\\u2a7d\\u0338\",NotLessTilde:\"\\u2274\",NotNestedGreaterGreater:\"\\u2aa2\\u0338\",NotNestedLessLess:\"\\u2aa1\\u0338\",NotPrecedes:\"\\u2280\",NotPrecedesEqual:\"\\u2aaf\\u0338\",NotPrecedesSlantEqual:\"\\u22e0\",NotReverseElement:\"\\u220c\",NotRightTriangle:\"\\u22eb\",NotRightTriangleBar:\"\\u29d0\\u0338\",NotRightTriangleEqual:\"\\u22ed\",NotSquareSubset:\"\\u228f\\u0338\",NotSquareSubsetEqual:\"\\u22e2\",NotSquareSuperset:\"\\u2290\\u0338\",NotSquareSupersetEqual:\"\\u22e3\",NotSubset:\"\\u2282\\u20d2\",NotSubsetEqual:\"\\u2288\",NotSucceeds:\"\\u2281\",NotSucceedsEqual:\"\\u2ab0\\u0338\",NotSucceedsSlantEqual:\"\\u22e1\",NotSucceedsTilde:\"\\u227f\\u0338\",NotSuperset:\"\\u2283\\u20d2\",NotSupersetEqual:\"\\u2289\",NotTilde:\"\\u2241\",NotTildeEqual:\"\\u2244\",NotTildeFullEqual:\"\\u2247\",NotTildeTilde:\"\\u2249\",NotVerticalBar:\"\\u2224\",Nscr:\"\\ud835\\udca9\",Ntild:\"\\xd1\",Ntilde:\"\\xd1\",Nu:\"\\u039d\",OElig:\"\\u0152\",Oacut:\"\\xd3\",Oacute:\"\\xd3\",Ocir:\"\\xd4\",Ocirc:\"\\xd4\",Ocy:\"\\u041e\",Odblac:\"\\u0150\",Ofr:\"\\ud835\\udd12\",Ograv:\"\\xd2\",Ograve:\"\\xd2\",Omacr:\"\\u014c\",Omega:\"\\u03a9\",Omicron:\"\\u039f\",Oopf:\"\\ud835\\udd46\",OpenCurlyDoubleQuote:\"\\u201c\",OpenCurlyQuote:\"\\u2018\",Or:\"\\u2a54\",Oscr:\"\\ud835\\udcaa\",Oslas:\"\\xd8\",Oslash:\"\\xd8\",Otild:\"\\xd5\",Otilde:\"\\xd5\",Otimes:\"\\u2a37\",Oum:\"\\xd6\",Ouml:\"\\xd6\",OverBar:\"\\u203e\",OverBrace:\"\\u23de\",OverBracket:\"\\u23b4\",OverParenthesis:\"\\u23dc\",PartialD:\"\\u2202\",Pcy:\"\\u041f\",Pfr:\"\\ud835\\udd13\",Phi:\"\\u03a6\",Pi:\"\\u03a0\",PlusMinus:\"\\xb1\",Poincareplane:\"\\u210c\",Popf:\"\\u2119\",Pr:\"\\u2abb\",Precedes:\"\\u227a\",PrecedesEqual:\"\\u2aaf\",PrecedesSlantEqual:\"\\u227c\",PrecedesTilde:\"\\u227e\",Prime:\"\\u2033\",Product:\"\\u220f\",Proportion:\"\\u2237\",Proportional:\"\\u221d\",Pscr:\"\\ud835\\udcab\",Psi:\"\\u03a8\",QUO:'\"',QUOT:'\"',Qfr:\"\\ud835\\udd14\",Qopf:\"\\u211a\",Qscr:\"\\ud835\\udcac\",RBarr:\"\\u2910\",RE:\"\\xae\",REG:\"\\xae\",Racute:\"\\u0154\",Rang:\"\\u27eb\",Rarr:\"\\u21a0\",Rarrtl:\"\\u2916\",Rcaron:\"\\u0158\",Rcedil:\"\\u0156\",Rcy:\"\\u0420\",Re:\"\\u211c\",ReverseElement:\"\\u220b\",ReverseEquilibrium:\"\\u21cb\",ReverseUpEquilibrium:\"\\u296f\",Rfr:\"\\u211c\",Rho:\"\\u03a1\",RightAngleBracket:\"\\u27e9\",RightArrow:\"\\u2192\",RightArrowBar:\"\\u21e5\",RightArrowLeftArrow:\"\\u21c4\",RightCeiling:\"\\u2309\",RightDoubleBracket:\"\\u27e7\",RightDownTeeVector:\"\\u295d\",RightDownVector:\"\\u21c2\",RightDownVectorBar:\"\\u2955\",RightFloor:\"\\u230b\",RightTee:\"\\u22a2\",RightTeeArrow:\"\\u21a6\",RightTeeVector:\"\\u295b\",RightTriangle:\"\\u22b3\",RightTriangleBar:\"\\u29d0\",RightTriangleEqual:\"\\u22b5\",RightUpDownVector:\"\\u294f\",RightUpTeeVector:\"\\u295c\",RightUpVector:\"\\u21be\",RightUpVectorBar:\"\\u2954\",RightVector:\"\\u21c0\",RightVectorBar:\"\\u2953\",Rightarrow:\"\\u21d2\",Ropf:\"\\u211d\",RoundImplies:\"\\u2970\",Rrightarrow:\"\\u21db\",Rscr:\"\\u211b\",Rsh:\"\\u21b1\",RuleDelayed:\"\\u29f4\",SHCHcy:\"\\u0429\",SHcy:\"\\u0428\",SOFTcy:\"\\u042c\",Sacute:\"\\u015a\",Sc:\"\\u2abc\",Scaron:\"\\u0160\",Scedil:\"\\u015e\",Scirc:\"\\u015c\",Scy:\"\\u0421\",Sfr:\"\\ud835\\udd16\",ShortDownArrow:\"\\u2193\",ShortLeftArrow:\"\\u2190\",ShortRightArrow:\"\\u2192\",ShortUpArrow:\"\\u2191\",Sigma:\"\\u03a3\",SmallCircle:\"\\u2218\",Sopf:\"\\ud835\\udd4a\",Sqrt:\"\\u221a\",Square:\"\\u25a1\",SquareIntersection:\"\\u2293\",SquareSubset:\"\\u228f\",SquareSubsetEqual:\"\\u2291\",SquareSuperset:\"\\u2290\",SquareSupersetEqual:\"\\u2292\",SquareUnion:\"\\u2294\",Sscr:\"\\ud835\\udcae\",Star:\"\\u22c6\",Sub:\"\\u22d0\",Subset:\"\\u22d0\",SubsetEqual:\"\\u2286\",Succeeds:\"\\u227b\",SucceedsEqual:\"\\u2ab0\",SucceedsSlantEqual:\"\\u227d\",SucceedsTilde:\"\\u227f\",SuchThat:\"\\u220b\",Sum:\"\\u2211\",Sup:\"\\u22d1\",Superset:\"\\u2283\",SupersetEqual:\"\\u2287\",Supset:\"\\u22d1\",THOR:\"\\xde\",THORN:\"\\xde\",TRADE:\"\\u2122\",TSHcy:\"\\u040b\",TScy:\"\\u0426\",Tab:\"\\t\",Tau:\"\\u03a4\",Tcaron:\"\\u0164\",Tcedil:\"\\u0162\",Tcy:\"\\u0422\",Tfr:\"\\ud835\\udd17\",Therefore:\"\\u2234\",Theta:\"\\u0398\",ThickSpace:\"\\u205f\\u200a\",ThinSpace:\"\\u2009\",Tilde:\"\\u223c\",TildeEqual:\"\\u2243\",TildeFullEqual:\"\\u2245\",TildeTilde:\"\\u2248\",Topf:\"\\ud835\\udd4b\",TripleDot:\"\\u20db\",Tscr:\"\\ud835\\udcaf\",Tstrok:\"\\u0166\",Uacut:\"\\xda\",Uacute:\"\\xda\",Uarr:\"\\u219f\",Uarrocir:\"\\u2949\",Ubrcy:\"\\u040e\",Ubreve:\"\\u016c\",Ucir:\"\\xdb\",Ucirc:\"\\xdb\",Ucy:\"\\u0423\",Udblac:\"\\u0170\",Ufr:\"\\ud835\\udd18\",Ugrav:\"\\xd9\",Ugrave:\"\\xd9\",Umacr:\"\\u016a\",UnderBar:\"_\",UnderBrace:\"\\u23df\",UnderBracket:\"\\u23b5\",UnderParenthesis:\"\\u23dd\",Union:\"\\u22c3\",UnionPlus:\"\\u228e\",Uogon:\"\\u0172\",Uopf:\"\\ud835\\udd4c\",UpArrow:\"\\u2191\",UpArrowBar:\"\\u2912\",UpArrowDownArrow:\"\\u21c5\",UpDownArrow:\"\\u2195\",UpEquilibrium:\"\\u296e\",UpTee:\"\\u22a5\",UpTeeArrow:\"\\u21a5\",Uparrow:\"\\u21d1\",Updownarrow:\"\\u21d5\",UpperLeftArrow:\"\\u2196\",UpperRightArrow:\"\\u2197\",Upsi:\"\\u03d2\",Upsilon:\"\\u03a5\",Uring:\"\\u016e\",Uscr:\"\\ud835\\udcb0\",Utilde:\"\\u0168\",Uum:\"\\xdc\",Uuml:\"\\xdc\",VDash:\"\\u22ab\",Vbar:\"\\u2aeb\",Vcy:\"\\u0412\",Vdash:\"\\u22a9\",Vdashl:\"\\u2ae6\",Vee:\"\\u22c1\",Verbar:\"\\u2016\",Vert:\"\\u2016\",VerticalBar:\"\\u2223\",VerticalLine:\"|\",VerticalSeparator:\"\\u2758\",VerticalTilde:\"\\u2240\",VeryThinSpace:\"\\u200a\",Vfr:\"\\ud835\\udd19\",Vopf:\"\\ud835\\udd4d\",Vscr:\"\\ud835\\udcb1\",Vvdash:\"\\u22aa\",Wcirc:\"\\u0174\",Wedge:\"\\u22c0\",Wfr:\"\\ud835\\udd1a\",Wopf:\"\\ud835\\udd4e\",Wscr:\"\\ud835\\udcb2\",Xfr:\"\\ud835\\udd1b\",Xi:\"\\u039e\",Xopf:\"\\ud835\\udd4f\",Xscr:\"\\ud835\\udcb3\",YAcy:\"\\u042f\",YIcy:\"\\u0407\",YUcy:\"\\u042e\",Yacut:\"\\xdd\",Yacute:\"\\xdd\",Ycirc:\"\\u0176\",Ycy:\"\\u042b\",Yfr:\"\\ud835\\udd1c\",Yopf:\"\\ud835\\udd50\",Yscr:\"\\ud835\\udcb4\",Yuml:\"\\u0178\",ZHcy:\"\\u0416\",Zacute:\"\\u0179\",Zcaron:\"\\u017d\",Zcy:\"\\u0417\",Zdot:\"\\u017b\",ZeroWidthSpace:\"\\u200b\",Zeta:\"\\u0396\",Zfr:\"\\u2128\",Zopf:\"\\u2124\",Zscr:\"\\ud835\\udcb5\",aacut:\"\\xe1\",aacute:\"\\xe1\",abreve:\"\\u0103\",ac:\"\\u223e\",acE:\"\\u223e\\u0333\",acd:\"\\u223f\",acir:\"\\xe2\",acirc:\"\\xe2\",acut:\"\\xb4\",acute:\"\\xb4\",acy:\"\\u0430\",aeli:\"\\xe6\",aelig:\"\\xe6\",af:\"\\u2061\",afr:\"\\ud835\\udd1e\",agrav:\"\\xe0\",agrave:\"\\xe0\",alefsym:\"\\u2135\",aleph:\"\\u2135\",alpha:\"\\u03b1\",amacr:\"\\u0101\",amalg:\"\\u2a3f\",am:\"&\",amp:\"&\",and:\"\\u2227\",andand:\"\\u2a55\",andd:\"\\u2a5c\",andslope:\"\\u2a58\",andv:\"\\u2a5a\",ang:\"\\u2220\",ange:\"\\u29a4\",angle:\"\\u2220\",angmsd:\"\\u2221\",angmsdaa:\"\\u29a8\",angmsdab:\"\\u29a9\",angmsdac:\"\\u29aa\",angmsdad:\"\\u29ab\",angmsdae:\"\\u29ac\",angmsdaf:\"\\u29ad\",angmsdag:\"\\u29ae\",angmsdah:\"\\u29af\",angrt:\"\\u221f\",angrtvb:\"\\u22be\",angrtvbd:\"\\u299d\",angsph:\"\\u2222\",angst:\"\\xc5\",angzarr:\"\\u237c\",aogon:\"\\u0105\",aopf:\"\\ud835\\udd52\",ap:\"\\u2248\",apE:\"\\u2a70\",apacir:\"\\u2a6f\",ape:\"\\u224a\",apid:\"\\u224b\",apos:\"'\",approx:\"\\u2248\",approxeq:\"\\u224a\",arin:\"\\xe5\",aring:\"\\xe5\",ascr:\"\\ud835\\udcb6\",ast:\"*\",asymp:\"\\u2248\",asympeq:\"\\u224d\",atild:\"\\xe3\",atilde:\"\\xe3\",aum:\"\\xe4\",auml:\"\\xe4\",awconint:\"\\u2233\",awint:\"\\u2a11\",bNot:\"\\u2aed\",backcong:\"\\u224c\",backepsilon:\"\\u03f6\",backprime:\"\\u2035\",backsim:\"\\u223d\",backsimeq:\"\\u22cd\",barvee:\"\\u22bd\",barwed:\"\\u2305\",barwedge:\"\\u2305\",bbrk:\"\\u23b5\",bbrktbrk:\"\\u23b6\",bcong:\"\\u224c\",bcy:\"\\u0431\",bdquo:\"\\u201e\",becaus:\"\\u2235\",because:\"\\u2235\",bemptyv:\"\\u29b0\",bepsi:\"\\u03f6\",bernou:\"\\u212c\",beta:\"\\u03b2\",beth:\"\\u2136\",between:\"\\u226c\",bfr:\"\\ud835\\udd1f\",bigcap:\"\\u22c2\",bigcirc:\"\\u25ef\",bigcup:\"\\u22c3\",bigodot:\"\\u2a00\",bigoplus:\"\\u2a01\",bigotimes:\"\\u2a02\",bigsqcup:\"\\u2a06\",bigstar:\"\\u2605\",bigtriangledown:\"\\u25bd\",bigtriangleup:\"\\u25b3\",biguplus:\"\\u2a04\",bigvee:\"\\u22c1\",bigwedge:\"\\u22c0\",bkarow:\"\\u290d\",blacklozenge:\"\\u29eb\",blacksquare:\"\\u25aa\",blacktriangle:\"\\u25b4\",blacktriangledown:\"\\u25be\",blacktriangleleft:\"\\u25c2\",blacktriangleright:\"\\u25b8\",blank:\"\\u2423\",blk12:\"\\u2592\",blk14:\"\\u2591\",blk34:\"\\u2593\",block:\"\\u2588\",bne:\"=\\u20e5\",bnequiv:\"\\u2261\\u20e5\",bnot:\"\\u2310\",bopf:\"\\ud835\\udd53\",bot:\"\\u22a5\",bottom:\"\\u22a5\",bowtie:\"\\u22c8\",boxDL:\"\\u2557\",boxDR:\"\\u2554\",boxDl:\"\\u2556\",boxDr:\"\\u2553\",boxH:\"\\u2550\",boxHD:\"\\u2566\",boxHU:\"\\u2569\",boxHd:\"\\u2564\",boxHu:\"\\u2567\",boxUL:\"\\u255d\",boxUR:\"\\u255a\",boxUl:\"\\u255c\",boxUr:\"\\u2559\",boxV:\"\\u2551\",boxVH:\"\\u256c\",boxVL:\"\\u2563\",boxVR:\"\\u2560\",boxVh:\"\\u256b\",boxVl:\"\\u2562\",boxVr:\"\\u255f\",boxbox:\"\\u29c9\",boxdL:\"\\u2555\",boxdR:\"\\u2552\",boxdl:\"\\u2510\",boxdr:\"\\u250c\",boxh:\"\\u2500\",boxhD:\"\\u2565\",boxhU:\"\\u2568\",boxhd:\"\\u252c\",boxhu:\"\\u2534\",boxminus:\"\\u229f\",boxplus:\"\\u229e\",boxtimes:\"\\u22a0\",boxuL:\"\\u255b\",boxuR:\"\\u2558\",boxul:\"\\u2518\",boxur:\"\\u2514\",boxv:\"\\u2502\",boxvH:\"\\u256a\",boxvL:\"\\u2561\",boxvR:\"\\u255e\",boxvh:\"\\u253c\",boxvl:\"\\u2524\",boxvr:\"\\u251c\",bprime:\"\\u2035\",breve:\"\\u02d8\",brvba:\"\\xa6\",brvbar:\"\\xa6\",bscr:\"\\ud835\\udcb7\",bsemi:\"\\u204f\",bsim:\"\\u223d\",bsime:\"\\u22cd\",bsol:\"\\\\\",bsolb:\"\\u29c5\",bsolhsub:\"\\u27c8\",bull:\"\\u2022\",bullet:\"\\u2022\",bump:\"\\u224e\",bumpE:\"\\u2aae\",bumpe:\"\\u224f\",bumpeq:\"\\u224f\",cacute:\"\\u0107\",cap:\"\\u2229\",capand:\"\\u2a44\",capbrcup:\"\\u2a49\",capcap:\"\\u2a4b\",capcup:\"\\u2a47\",capdot:\"\\u2a40\",caps:\"\\u2229\\ufe00\",caret:\"\\u2041\",caron:\"\\u02c7\",ccaps:\"\\u2a4d\",ccaron:\"\\u010d\",ccedi:\"\\xe7\",ccedil:\"\\xe7\",ccirc:\"\\u0109\",ccups:\"\\u2a4c\",ccupssm:\"\\u2a50\",cdot:\"\\u010b\",cedi:\"\\xb8\",cedil:\"\\xb8\",cemptyv:\"\\u29b2\",cen:\"\\xa2\",cent:\"\\xa2\",centerdot:\"\\xb7\",cfr:\"\\ud835\\udd20\",chcy:\"\\u0447\",check:\"\\u2713\",checkmark:\"\\u2713\",chi:\"\\u03c7\",cir:\"\\u25cb\",cirE:\"\\u29c3\",circ:\"\\u02c6\",circeq:\"\\u2257\",circlearrowleft:\"\\u21ba\",circlearrowright:\"\\u21bb\",circledR:\"\\xae\",circledS:\"\\u24c8\",circledast:\"\\u229b\",circledcirc:\"\\u229a\",circleddash:\"\\u229d\",cire:\"\\u2257\",cirfnint:\"\\u2a10\",cirmid:\"\\u2aef\",cirscir:\"\\u29c2\",clubs:\"\\u2663\",clubsuit:\"\\u2663\",colon:\":\",colone:\"\\u2254\",coloneq:\"\\u2254\",comma:\",\",commat:\"@\",comp:\"\\u2201\",compfn:\"\\u2218\",complement:\"\\u2201\",complexes:\"\\u2102\",cong:\"\\u2245\",congdot:\"\\u2a6d\",conint:\"\\u222e\",copf:\"\\ud835\\udd54\",coprod:\"\\u2210\",cop:\"\\xa9\",copy:\"\\xa9\",copysr:\"\\u2117\",crarr:\"\\u21b5\",cross:\"\\u2717\",cscr:\"\\ud835\\udcb8\",csub:\"\\u2acf\",csube:\"\\u2ad1\",csup:\"\\u2ad0\",csupe:\"\\u2ad2\",ctdot:\"\\u22ef\",cudarrl:\"\\u2938\",cudarrr:\"\\u2935\",cuepr:\"\\u22de\",cuesc:\"\\u22df\",cularr:\"\\u21b6\",cularrp:\"\\u293d\",cup:\"\\u222a\",cupbrcap:\"\\u2a48\",cupcap:\"\\u2a46\",cupcup:\"\\u2a4a\",cupdot:\"\\u228d\",cupor:\"\\u2a45\",cups:\"\\u222a\\ufe00\",curarr:\"\\u21b7\",curarrm:\"\\u293c\",curlyeqprec:\"\\u22de\",curlyeqsucc:\"\\u22df\",curlyvee:\"\\u22ce\",curlywedge:\"\\u22cf\",curre:\"\\xa4\",curren:\"\\xa4\",curvearrowleft:\"\\u21b6\",curvearrowright:\"\\u21b7\",cuvee:\"\\u22ce\",cuwed:\"\\u22cf\",cwconint:\"\\u2232\",cwint:\"\\u2231\",cylcty:\"\\u232d\",dArr:\"\\u21d3\",dHar:\"\\u2965\",dagger:\"\\u2020\",daleth:\"\\u2138\",darr:\"\\u2193\",dash:\"\\u2010\",dashv:\"\\u22a3\",dbkarow:\"\\u290f\",dblac:\"\\u02dd\",dcaron:\"\\u010f\",dcy:\"\\u0434\",dd:\"\\u2146\",ddagger:\"\\u2021\",ddarr:\"\\u21ca\",ddotseq:\"\\u2a77\",de:\"\\xb0\",deg:\"\\xb0\",delta:\"\\u03b4\",demptyv:\"\\u29b1\",dfisht:\"\\u297f\",dfr:\"\\ud835\\udd21\",dharl:\"\\u21c3\",dharr:\"\\u21c2\",diam:\"\\u22c4\",diamond:\"\\u22c4\",diamondsuit:\"\\u2666\",diams:\"\\u2666\",die:\"\\xa8\",digamma:\"\\u03dd\",disin:\"\\u22f2\",div:\"\\xf7\",divid:\"\\xf7\",divide:\"\\xf7\",divideontimes:\"\\u22c7\",divonx:\"\\u22c7\",djcy:\"\\u0452\",dlcorn:\"\\u231e\",dlcrop:\"\\u230d\",dollar:\"$\",dopf:\"\\ud835\\udd55\",dot:\"\\u02d9\",doteq:\"\\u2250\",doteqdot:\"\\u2251\",dotminus:\"\\u2238\",dotplus:\"\\u2214\",dotsquare:\"\\u22a1\",doublebarwedge:\"\\u2306\",downarrow:\"\\u2193\",downdownarrows:\"\\u21ca\",downharpoonleft:\"\\u21c3\",downharpoonright:\"\\u21c2\",drbkarow:\"\\u2910\",drcorn:\"\\u231f\",drcrop:\"\\u230c\",dscr:\"\\ud835\\udcb9\",dscy:\"\\u0455\",dsol:\"\\u29f6\",dstrok:\"\\u0111\",dtdot:\"\\u22f1\",dtri:\"\\u25bf\",dtrif:\"\\u25be\",duarr:\"\\u21f5\",duhar:\"\\u296f\",dwangle:\"\\u29a6\",dzcy:\"\\u045f\",dzigrarr:\"\\u27ff\",eDDot:\"\\u2a77\",eDot:\"\\u2251\",eacut:\"\\xe9\",eacute:\"\\xe9\",easter:\"\\u2a6e\",ecaron:\"\\u011b\",ecir:\"\\xea\",ecirc:\"\\xea\",ecolon:\"\\u2255\",ecy:\"\\u044d\",edot:\"\\u0117\",ee:\"\\u2147\",efDot:\"\\u2252\",efr:\"\\ud835\\udd22\",eg:\"\\u2a9a\",egrav:\"\\xe8\",egrave:\"\\xe8\",egs:\"\\u2a96\",egsdot:\"\\u2a98\",el:\"\\u2a99\",elinters:\"\\u23e7\",ell:\"\\u2113\",els:\"\\u2a95\",elsdot:\"\\u2a97\",emacr:\"\\u0113\",empty:\"\\u2205\",emptyset:\"\\u2205\",emptyv:\"\\u2205\",emsp13:\"\\u2004\",emsp14:\"\\u2005\",emsp:\"\\u2003\",eng:\"\\u014b\",ensp:\"\\u2002\",eogon:\"\\u0119\",eopf:\"\\ud835\\udd56\",epar:\"\\u22d5\",eparsl:\"\\u29e3\",eplus:\"\\u2a71\",epsi:\"\\u03b5\",epsilon:\"\\u03b5\",epsiv:\"\\u03f5\",eqcirc:\"\\u2256\",eqcolon:\"\\u2255\",eqsim:\"\\u2242\",eqslantgtr:\"\\u2a96\",eqslantless:\"\\u2a95\",equals:\"=\",equest:\"\\u225f\",equiv:\"\\u2261\",equivDD:\"\\u2a78\",eqvparsl:\"\\u29e5\",erDot:\"\\u2253\",erarr:\"\\u2971\",escr:\"\\u212f\",esdot:\"\\u2250\",esim:\"\\u2242\",eta:\"\\u03b7\",et:\"\\xf0\",eth:\"\\xf0\",eum:\"\\xeb\",euml:\"\\xeb\",euro:\"\\u20ac\",excl:\"!\",exist:\"\\u2203\",expectation:\"\\u2130\",exponentiale:\"\\u2147\",fallingdotseq:\"\\u2252\",fcy:\"\\u0444\",female:\"\\u2640\",ffilig:\"\\ufb03\",fflig:\"\\ufb00\",ffllig:\"\\ufb04\",ffr:\"\\ud835\\udd23\",filig:\"\\ufb01\",fjlig:\"fj\",flat:\"\\u266d\",fllig:\"\\ufb02\",fltns:\"\\u25b1\",fnof:\"\\u0192\",fopf:\"\\ud835\\udd57\",forall:\"\\u2200\",fork:\"\\u22d4\",forkv:\"\\u2ad9\",fpartint:\"\\u2a0d\",frac1:\"\\xbc\",frac12:\"\\xbd\",frac13:\"\\u2153\",frac14:\"\\xbc\",frac15:\"\\u2155\",frac16:\"\\u2159\",frac18:\"\\u215b\",frac23:\"\\u2154\",frac25:\"\\u2156\",frac3:\"\\xbe\",frac34:\"\\xbe\",frac35:\"\\u2157\",frac38:\"\\u215c\",frac45:\"\\u2158\",frac56:\"\\u215a\",frac58:\"\\u215d\",frac78:\"\\u215e\",frasl:\"\\u2044\",frown:\"\\u2322\",fscr:\"\\ud835\\udcbb\",gE:\"\\u2267\",gEl:\"\\u2a8c\",gacute:\"\\u01f5\",gamma:\"\\u03b3\",gammad:\"\\u03dd\",gap:\"\\u2a86\",gbreve:\"\\u011f\",gcirc:\"\\u011d\",gcy:\"\\u0433\",gdot:\"\\u0121\",ge:\"\\u2265\",gel:\"\\u22db\",geq:\"\\u2265\",geqq:\"\\u2267\",geqslant:\"\\u2a7e\",ges:\"\\u2a7e\",gescc:\"\\u2aa9\",gesdot:\"\\u2a80\",gesdoto:\"\\u2a82\",gesdotol:\"\\u2a84\",gesl:\"\\u22db\\ufe00\",gesles:\"\\u2a94\",gfr:\"\\ud835\\udd24\",gg:\"\\u226b\",ggg:\"\\u22d9\",gimel:\"\\u2137\",gjcy:\"\\u0453\",gl:\"\\u2277\",glE:\"\\u2a92\",gla:\"\\u2aa5\",glj:\"\\u2aa4\",gnE:\"\\u2269\",gnap:\"\\u2a8a\",gnapprox:\"\\u2a8a\",gne:\"\\u2a88\",gneq:\"\\u2a88\",gneqq:\"\\u2269\",gnsim:\"\\u22e7\",gopf:\"\\ud835\\udd58\",grave:\"`\",gscr:\"\\u210a\",gsim:\"\\u2273\",gsime:\"\\u2a8e\",gsiml:\"\\u2a90\",g:\">\",gt:\">\",gtcc:\"\\u2aa7\",gtcir:\"\\u2a7a\",gtdot:\"\\u22d7\",gtlPar:\"\\u2995\",gtquest:\"\\u2a7c\",gtrapprox:\"\\u2a86\",gtrarr:\"\\u2978\",gtrdot:\"\\u22d7\",gtreqless:\"\\u22db\",gtreqqless:\"\\u2a8c\",gtrless:\"\\u2277\",gtrsim:\"\\u2273\",gvertneqq:\"\\u2269\\ufe00\",gvnE:\"\\u2269\\ufe00\",hArr:\"\\u21d4\",hairsp:\"\\u200a\",half:\"\\xbd\",hamilt:\"\\u210b\",hardcy:\"\\u044a\",harr:\"\\u2194\",harrcir:\"\\u2948\",harrw:\"\\u21ad\",hbar:\"\\u210f\",hcirc:\"\\u0125\",hearts:\"\\u2665\",heartsuit:\"\\u2665\",hellip:\"\\u2026\",hercon:\"\\u22b9\",hfr:\"\\ud835\\udd25\",hksearow:\"\\u2925\",hkswarow:\"\\u2926\",hoarr:\"\\u21ff\",homtht:\"\\u223b\",hookleftarrow:\"\\u21a9\",hookrightarrow:\"\\u21aa\",hopf:\"\\ud835\\udd59\",horbar:\"\\u2015\",hscr:\"\\ud835\\udcbd\",hslash:\"\\u210f\",hstrok:\"\\u0127\",hybull:\"\\u2043\",hyphen:\"\\u2010\",iacut:\"\\xed\",iacute:\"\\xed\",ic:\"\\u2063\",icir:\"\\xee\",icirc:\"\\xee\",icy:\"\\u0438\",iecy:\"\\u0435\",iexc:\"\\xa1\",iexcl:\"\\xa1\",iff:\"\\u21d4\",ifr:\"\\ud835\\udd26\",igrav:\"\\xec\",igrave:\"\\xec\",ii:\"\\u2148\",iiiint:\"\\u2a0c\",iiint:\"\\u222d\",iinfin:\"\\u29dc\",iiota:\"\\u2129\",ijlig:\"\\u0133\",imacr:\"\\u012b\",image:\"\\u2111\",imagline:\"\\u2110\",imagpart:\"\\u2111\",imath:\"\\u0131\",imof:\"\\u22b7\",imped:\"\\u01b5\",in:\"\\u2208\",incare:\"\\u2105\",infin:\"\\u221e\",infintie:\"\\u29dd\",inodot:\"\\u0131\",int:\"\\u222b\",intcal:\"\\u22ba\",integers:\"\\u2124\",intercal:\"\\u22ba\",intlarhk:\"\\u2a17\",intprod:\"\\u2a3c\",iocy:\"\\u0451\",iogon:\"\\u012f\",iopf:\"\\ud835\\udd5a\",iota:\"\\u03b9\",iprod:\"\\u2a3c\",iques:\"\\xbf\",iquest:\"\\xbf\",iscr:\"\\ud835\\udcbe\",isin:\"\\u2208\",isinE:\"\\u22f9\",isindot:\"\\u22f5\",isins:\"\\u22f4\",isinsv:\"\\u22f3\",isinv:\"\\u2208\",it:\"\\u2062\",itilde:\"\\u0129\",iukcy:\"\\u0456\",ium:\"\\xef\",iuml:\"\\xef\",jcirc:\"\\u0135\",jcy:\"\\u0439\",jfr:\"\\ud835\\udd27\",jmath:\"\\u0237\",jopf:\"\\ud835\\udd5b\",jscr:\"\\ud835\\udcbf\",jsercy:\"\\u0458\",jukcy:\"\\u0454\",kappa:\"\\u03ba\",kappav:\"\\u03f0\",kcedil:\"\\u0137\",kcy:\"\\u043a\",kfr:\"\\ud835\\udd28\",kgreen:\"\\u0138\",khcy:\"\\u0445\",kjcy:\"\\u045c\",kopf:\"\\ud835\\udd5c\",kscr:\"\\ud835\\udcc0\",lAarr:\"\\u21da\",lArr:\"\\u21d0\",lAtail:\"\\u291b\",lBarr:\"\\u290e\",lE:\"\\u2266\",lEg:\"\\u2a8b\",lHar:\"\\u2962\",lacute:\"\\u013a\",laemptyv:\"\\u29b4\",lagran:\"\\u2112\",lambda:\"\\u03bb\",lang:\"\\u27e8\",langd:\"\\u2991\",langle:\"\\u27e8\",lap:\"\\u2a85\",laqu:\"\\xab\",laquo:\"\\xab\",larr:\"\\u2190\",larrb:\"\\u21e4\",larrbfs:\"\\u291f\",larrfs:\"\\u291d\",larrhk:\"\\u21a9\",larrlp:\"\\u21ab\",larrpl:\"\\u2939\",larrsim:\"\\u2973\",larrtl:\"\\u21a2\",lat:\"\\u2aab\",latail:\"\\u2919\",late:\"\\u2aad\",lates:\"\\u2aad\\ufe00\",lbarr:\"\\u290c\",lbbrk:\"\\u2772\",lbrace:\"{\",lbrack:\"[\",lbrke:\"\\u298b\",lbrksld:\"\\u298f\",lbrkslu:\"\\u298d\",lcaron:\"\\u013e\",lcedil:\"\\u013c\",lceil:\"\\u2308\",lcub:\"{\",lcy:\"\\u043b\",ldca:\"\\u2936\",ldquo:\"\\u201c\",ldquor:\"\\u201e\",ldrdhar:\"\\u2967\",ldrushar:\"\\u294b\",ldsh:\"\\u21b2\",le:\"\\u2264\",leftarrow:\"\\u2190\",leftarrowtail:\"\\u21a2\",leftharpoondown:\"\\u21bd\",leftharpoonup:\"\\u21bc\",leftleftarrows:\"\\u21c7\",leftrightarrow:\"\\u2194\",leftrightarrows:\"\\u21c6\",leftrightharpoons:\"\\u21cb\",leftrightsquigarrow:\"\\u21ad\",leftthreetimes:\"\\u22cb\",leg:\"\\u22da\",leq:\"\\u2264\",leqq:\"\\u2266\",leqslant:\"\\u2a7d\",les:\"\\u2a7d\",lescc:\"\\u2aa8\",lesdot:\"\\u2a7f\",lesdoto:\"\\u2a81\",lesdotor:\"\\u2a83\",lesg:\"\\u22da\\ufe00\",lesges:\"\\u2a93\",lessapprox:\"\\u2a85\",lessdot:\"\\u22d6\",lesseqgtr:\"\\u22da\",lesseqqgtr:\"\\u2a8b\",lessgtr:\"\\u2276\",lesssim:\"\\u2272\",lfisht:\"\\u297c\",lfloor:\"\\u230a\",lfr:\"\\ud835\\udd29\",lg:\"\\u2276\",lgE:\"\\u2a91\",lhard:\"\\u21bd\",lharu:\"\\u21bc\",lharul:\"\\u296a\",lhblk:\"\\u2584\",ljcy:\"\\u0459\",ll:\"\\u226a\",llarr:\"\\u21c7\",llcorner:\"\\u231e\",llhard:\"\\u296b\",lltri:\"\\u25fa\",lmidot:\"\\u0140\",lmoust:\"\\u23b0\",lmoustache:\"\\u23b0\",lnE:\"\\u2268\",lnap:\"\\u2a89\",lnapprox:\"\\u2a89\",lne:\"\\u2a87\",lneq:\"\\u2a87\",lneqq:\"\\u2268\",lnsim:\"\\u22e6\",loang:\"\\u27ec\",loarr:\"\\u21fd\",lobrk:\"\\u27e6\",longleftarrow:\"\\u27f5\",longleftrightarrow:\"\\u27f7\",longmapsto:\"\\u27fc\",longrightarrow:\"\\u27f6\",looparrowleft:\"\\u21ab\",looparrowright:\"\\u21ac\",lopar:\"\\u2985\",lopf:\"\\ud835\\udd5d\",loplus:\"\\u2a2d\",lotimes:\"\\u2a34\",lowast:\"\\u2217\",lowbar:\"_\",loz:\"\\u25ca\",lozenge:\"\\u25ca\",lozf:\"\\u29eb\",lpar:\"(\",lparlt:\"\\u2993\",lrarr:\"\\u21c6\",lrcorner:\"\\u231f\",lrhar:\"\\u21cb\",lrhard:\"\\u296d\",lrm:\"\\u200e\",lrtri:\"\\u22bf\",lsaquo:\"\\u2039\",lscr:\"\\ud835\\udcc1\",lsh:\"\\u21b0\",lsim:\"\\u2272\",lsime:\"\\u2a8d\",lsimg:\"\\u2a8f\",lsqb:\"[\",lsquo:\"\\u2018\",lsquor:\"\\u201a\",lstrok:\"\\u0142\",l:\"<\",lt:\"<\",ltcc:\"\\u2aa6\",ltcir:\"\\u2a79\",ltdot:\"\\u22d6\",lthree:\"\\u22cb\",ltimes:\"\\u22c9\",ltlarr:\"\\u2976\",ltquest:\"\\u2a7b\",ltrPar:\"\\u2996\",ltri:\"\\u25c3\",ltrie:\"\\u22b4\",ltrif:\"\\u25c2\",lurdshar:\"\\u294a\",luruhar:\"\\u2966\",lvertneqq:\"\\u2268\\ufe00\",lvnE:\"\\u2268\\ufe00\",mDDot:\"\\u223a\",mac:\"\\xaf\",macr:\"\\xaf\",male:\"\\u2642\",malt:\"\\u2720\",maltese:\"\\u2720\",map:\"\\u21a6\",mapsto:\"\\u21a6\",mapstodown:\"\\u21a7\",mapstoleft:\"\\u21a4\",mapstoup:\"\\u21a5\",marker:\"\\u25ae\",mcomma:\"\\u2a29\",mcy:\"\\u043c\",mdash:\"\\u2014\",measuredangle:\"\\u2221\",mfr:\"\\ud835\\udd2a\",mho:\"\\u2127\",micr:\"\\xb5\",micro:\"\\xb5\",mid:\"\\u2223\",midast:\"*\",midcir:\"\\u2af0\",middo:\"\\xb7\",middot:\"\\xb7\",minus:\"\\u2212\",minusb:\"\\u229f\",minusd:\"\\u2238\",minusdu:\"\\u2a2a\",mlcp:\"\\u2adb\",mldr:\"\\u2026\",mnplus:\"\\u2213\",models:\"\\u22a7\",mopf:\"\\ud835\\udd5e\",mp:\"\\u2213\",mscr:\"\\ud835\\udcc2\",mstpos:\"\\u223e\",mu:\"\\u03bc\",multimap:\"\\u22b8\",mumap:\"\\u22b8\",nGg:\"\\u22d9\\u0338\",nGt:\"\\u226b\\u20d2\",nGtv:\"\\u226b\\u0338\",nLeftarrow:\"\\u21cd\",nLeftrightarrow:\"\\u21ce\",nLl:\"\\u22d8\\u0338\",nLt:\"\\u226a\\u20d2\",nLtv:\"\\u226a\\u0338\",nRightarrow:\"\\u21cf\",nVDash:\"\\u22af\",nVdash:\"\\u22ae\",nabla:\"\\u2207\",nacute:\"\\u0144\",nang:\"\\u2220\\u20d2\",nap:\"\\u2249\",napE:\"\\u2a70\\u0338\",napid:\"\\u224b\\u0338\",napos:\"\\u0149\",napprox:\"\\u2249\",natur:\"\\u266e\",natural:\"\\u266e\",naturals:\"\\u2115\",nbs:\"\\xa0\",nbsp:\"\\xa0\",nbump:\"\\u224e\\u0338\",nbumpe:\"\\u224f\\u0338\",ncap:\"\\u2a43\",ncaron:\"\\u0148\",ncedil:\"\\u0146\",ncong:\"\\u2247\",ncongdot:\"\\u2a6d\\u0338\",ncup:\"\\u2a42\",ncy:\"\\u043d\",ndash:\"\\u2013\",ne:\"\\u2260\",neArr:\"\\u21d7\",nearhk:\"\\u2924\",nearr:\"\\u2197\",nearrow:\"\\u2197\",nedot:\"\\u2250\\u0338\",nequiv:\"\\u2262\",nesear:\"\\u2928\",nesim:\"\\u2242\\u0338\",nexist:\"\\u2204\",nexists:\"\\u2204\",nfr:\"\\ud835\\udd2b\",ngE:\"\\u2267\\u0338\",nge:\"\\u2271\",ngeq:\"\\u2271\",ngeqq:\"\\u2267\\u0338\",ngeqslant:\"\\u2a7e\\u0338\",nges:\"\\u2a7e\\u0338\",ngsim:\"\\u2275\",ngt:\"\\u226f\",ngtr:\"\\u226f\",nhArr:\"\\u21ce\",nharr:\"\\u21ae\",nhpar:\"\\u2af2\",ni:\"\\u220b\",nis:\"\\u22fc\",nisd:\"\\u22fa\",niv:\"\\u220b\",njcy:\"\\u045a\",nlArr:\"\\u21cd\",nlE:\"\\u2266\\u0338\",nlarr:\"\\u219a\",nldr:\"\\u2025\",nle:\"\\u2270\",nleftarrow:\"\\u219a\",nleftrightarrow:\"\\u21ae\",nleq:\"\\u2270\",nleqq:\"\\u2266\\u0338\",nleqslant:\"\\u2a7d\\u0338\",nles:\"\\u2a7d\\u0338\",nless:\"\\u226e\",nlsim:\"\\u2274\",nlt:\"\\u226e\",nltri:\"\\u22ea\",nltrie:\"\\u22ec\",nmid:\"\\u2224\",nopf:\"\\ud835\\udd5f\",no:\"\\xac\",not:\"\\xac\",notin:\"\\u2209\",notinE:\"\\u22f9\\u0338\",notindot:\"\\u22f5\\u0338\",notinva:\"\\u2209\",notinvb:\"\\u22f7\",notinvc:\"\\u22f6\",notni:\"\\u220c\",notniva:\"\\u220c\",notnivb:\"\\u22fe\",notnivc:\"\\u22fd\",npar:\"\\u2226\",nparallel:\"\\u2226\",nparsl:\"\\u2afd\\u20e5\",npart:\"\\u2202\\u0338\",npolint:\"\\u2a14\",npr:\"\\u2280\",nprcue:\"\\u22e0\",npre:\"\\u2aaf\\u0338\",nprec:\"\\u2280\",npreceq:\"\\u2aaf\\u0338\",nrArr:\"\\u21cf\",nrarr:\"\\u219b\",nrarrc:\"\\u2933\\u0338\",nrarrw:\"\\u219d\\u0338\",nrightarrow:\"\\u219b\",nrtri:\"\\u22eb\",nrtrie:\"\\u22ed\",nsc:\"\\u2281\",nsccue:\"\\u22e1\",nsce:\"\\u2ab0\\u0338\",nscr:\"\\ud835\\udcc3\",nshortmid:\"\\u2224\",nshortparallel:\"\\u2226\",nsim:\"\\u2241\",nsime:\"\\u2244\",nsimeq:\"\\u2244\",nsmid:\"\\u2224\",nspar:\"\\u2226\",nsqsube:\"\\u22e2\",nsqsupe:\"\\u22e3\",nsub:\"\\u2284\",nsubE:\"\\u2ac5\\u0338\",nsube:\"\\u2288\",nsubset:\"\\u2282\\u20d2\",nsubseteq:\"\\u2288\",nsubseteqq:\"\\u2ac5\\u0338\",nsucc:\"\\u2281\",nsucceq:\"\\u2ab0\\u0338\",nsup:\"\\u2285\",nsupE:\"\\u2ac6\\u0338\",nsupe:\"\\u2289\",nsupset:\"\\u2283\\u20d2\",nsupseteq:\"\\u2289\",nsupseteqq:\"\\u2ac6\\u0338\",ntgl:\"\\u2279\",ntild:\"\\xf1\",ntilde:\"\\xf1\",ntlg:\"\\u2278\",ntriangleleft:\"\\u22ea\",ntrianglelefteq:\"\\u22ec\",ntriangleright:\"\\u22eb\",ntrianglerighteq:\"\\u22ed\",nu:\"\\u03bd\",num:\"#\",numero:\"\\u2116\",numsp:\"\\u2007\",nvDash:\"\\u22ad\",nvHarr:\"\\u2904\",nvap:\"\\u224d\\u20d2\",nvdash:\"\\u22ac\",nvge:\"\\u2265\\u20d2\",nvgt:\">\\u20d2\",nvinfin:\"\\u29de\",nvlArr:\"\\u2902\",nvle:\"\\u2264\\u20d2\",nvlt:\"<\\u20d2\",nvltrie:\"\\u22b4\\u20d2\",nvrArr:\"\\u2903\",nvrtrie:\"\\u22b5\\u20d2\",nvsim:\"\\u223c\\u20d2\",nwArr:\"\\u21d6\",nwarhk:\"\\u2923\",nwarr:\"\\u2196\",nwarrow:\"\\u2196\",nwnear:\"\\u2927\",oS:\"\\u24c8\",oacut:\"\\xf3\",oacute:\"\\xf3\",oast:\"\\u229b\",ocir:\"\\xf4\",ocirc:\"\\xf4\",ocy:\"\\u043e\",odash:\"\\u229d\",odblac:\"\\u0151\",odiv:\"\\u2a38\",odot:\"\\u2299\",odsold:\"\\u29bc\",oelig:\"\\u0153\",ofcir:\"\\u29bf\",ofr:\"\\ud835\\udd2c\",ogon:\"\\u02db\",ograv:\"\\xf2\",ograve:\"\\xf2\",ogt:\"\\u29c1\",ohbar:\"\\u29b5\",ohm:\"\\u03a9\",oint:\"\\u222e\",olarr:\"\\u21ba\",olcir:\"\\u29be\",olcross:\"\\u29bb\",oline:\"\\u203e\",olt:\"\\u29c0\",omacr:\"\\u014d\",omega:\"\\u03c9\",omicron:\"\\u03bf\",omid:\"\\u29b6\",ominus:\"\\u2296\",oopf:\"\\ud835\\udd60\",opar:\"\\u29b7\",operp:\"\\u29b9\",oplus:\"\\u2295\",or:\"\\u2228\",orarr:\"\\u21bb\",ord:\"\\xba\",order:\"\\u2134\",orderof:\"\\u2134\",ordf:\"\\xaa\",ordm:\"\\xba\",origof:\"\\u22b6\",oror:\"\\u2a56\",orslope:\"\\u2a57\",orv:\"\\u2a5b\",oscr:\"\\u2134\",oslas:\"\\xf8\",oslash:\"\\xf8\",osol:\"\\u2298\",otild:\"\\xf5\",otilde:\"\\xf5\",otimes:\"\\u2297\",otimesas:\"\\u2a36\",oum:\"\\xf6\",ouml:\"\\xf6\",ovbar:\"\\u233d\",par:\"\\xb6\",para:\"\\xb6\",parallel:\"\\u2225\",parsim:\"\\u2af3\",parsl:\"\\u2afd\",part:\"\\u2202\",pcy:\"\\u043f\",percnt:\"%\",period:\".\",permil:\"\\u2030\",perp:\"\\u22a5\",pertenk:\"\\u2031\",pfr:\"\\ud835\\udd2d\",phi:\"\\u03c6\",phiv:\"\\u03d5\",phmmat:\"\\u2133\",phone:\"\\u260e\",pi:\"\\u03c0\",pitchfork:\"\\u22d4\",piv:\"\\u03d6\",planck:\"\\u210f\",planckh:\"\\u210e\",plankv:\"\\u210f\",plus:\"+\",plusacir:\"\\u2a23\",plusb:\"\\u229e\",pluscir:\"\\u2a22\",plusdo:\"\\u2214\",plusdu:\"\\u2a25\",pluse:\"\\u2a72\",plusm:\"\\xb1\",plusmn:\"\\xb1\",plussim:\"\\u2a26\",plustwo:\"\\u2a27\",pm:\"\\xb1\",pointint:\"\\u2a15\",popf:\"\\ud835\\udd61\",poun:\"\\xa3\",pound:\"\\xa3\",pr:\"\\u227a\",prE:\"\\u2ab3\",prap:\"\\u2ab7\",prcue:\"\\u227c\",pre:\"\\u2aaf\",prec:\"\\u227a\",precapprox:\"\\u2ab7\",preccurlyeq:\"\\u227c\",preceq:\"\\u2aaf\",precnapprox:\"\\u2ab9\",precneqq:\"\\u2ab5\",precnsim:\"\\u22e8\",precsim:\"\\u227e\",prime:\"\\u2032\",primes:\"\\u2119\",prnE:\"\\u2ab5\",prnap:\"\\u2ab9\",prnsim:\"\\u22e8\",prod:\"\\u220f\",profalar:\"\\u232e\",profline:\"\\u2312\",profsurf:\"\\u2313\",prop:\"\\u221d\",propto:\"\\u221d\",prsim:\"\\u227e\",prurel:\"\\u22b0\",pscr:\"\\ud835\\udcc5\",psi:\"\\u03c8\",puncsp:\"\\u2008\",qfr:\"\\ud835\\udd2e\",qint:\"\\u2a0c\",qopf:\"\\ud835\\udd62\",qprime:\"\\u2057\",qscr:\"\\ud835\\udcc6\",quaternions:\"\\u210d\",quatint:\"\\u2a16\",quest:\"?\",questeq:\"\\u225f\",quo:'\"',quot:'\"',rAarr:\"\\u21db\",rArr:\"\\u21d2\",rAtail:\"\\u291c\",rBarr:\"\\u290f\",rHar:\"\\u2964\",race:\"\\u223d\\u0331\",racute:\"\\u0155\",radic:\"\\u221a\",raemptyv:\"\\u29b3\",rang:\"\\u27e9\",rangd:\"\\u2992\",range:\"\\u29a5\",rangle:\"\\u27e9\",raqu:\"\\xbb\",raquo:\"\\xbb\",rarr:\"\\u2192\",rarrap:\"\\u2975\",rarrb:\"\\u21e5\",rarrbfs:\"\\u2920\",rarrc:\"\\u2933\",rarrfs:\"\\u291e\",rarrhk:\"\\u21aa\",rarrlp:\"\\u21ac\",rarrpl:\"\\u2945\",rarrsim:\"\\u2974\",rarrtl:\"\\u21a3\",rarrw:\"\\u219d\",ratail:\"\\u291a\",ratio:\"\\u2236\",rationals:\"\\u211a\",rbarr:\"\\u290d\",rbbrk:\"\\u2773\",rbrace:\"}\",rbrack:\"]\",rbrke:\"\\u298c\",rbrksld:\"\\u298e\",rbrkslu:\"\\u2990\",rcaron:\"\\u0159\",rcedil:\"\\u0157\",rceil:\"\\u2309\",rcub:\"}\",rcy:\"\\u0440\",rdca:\"\\u2937\",rdldhar:\"\\u2969\",rdquo:\"\\u201d\",rdquor:\"\\u201d\",rdsh:\"\\u21b3\",real:\"\\u211c\",realine:\"\\u211b\",realpart:\"\\u211c\",reals:\"\\u211d\",rect:\"\\u25ad\",re:\"\\xae\",reg:\"\\xae\",rfisht:\"\\u297d\",rfloor:\"\\u230b\",rfr:\"\\ud835\\udd2f\",rhard:\"\\u21c1\",rharu:\"\\u21c0\",rharul:\"\\u296c\",rho:\"\\u03c1\",rhov:\"\\u03f1\",rightarrow:\"\\u2192\",rightarrowtail:\"\\u21a3\",rightharpoondown:\"\\u21c1\",rightharpoonup:\"\\u21c0\",rightleftarrows:\"\\u21c4\",rightleftharpoons:\"\\u21cc\",rightrightarrows:\"\\u21c9\",rightsquigarrow:\"\\u219d\",rightthreetimes:\"\\u22cc\",ring:\"\\u02da\",risingdotseq:\"\\u2253\",rlarr:\"\\u21c4\",rlhar:\"\\u21cc\",rlm:\"\\u200f\",rmoust:\"\\u23b1\",rmoustache:\"\\u23b1\",rnmid:\"\\u2aee\",roang:\"\\u27ed\",roarr:\"\\u21fe\",robrk:\"\\u27e7\",ropar:\"\\u2986\",ropf:\"\\ud835\\udd63\",roplus:\"\\u2a2e\",rotimes:\"\\u2a35\",rpar:\")\",rpargt:\"\\u2994\",rppolint:\"\\u2a12\",rrarr:\"\\u21c9\",rsaquo:\"\\u203a\",rscr:\"\\ud835\\udcc7\",rsh:\"\\u21b1\",rsqb:\"]\",rsquo:\"\\u2019\",rsquor:\"\\u2019\",rthree:\"\\u22cc\",rtimes:\"\\u22ca\",rtri:\"\\u25b9\",rtrie:\"\\u22b5\",rtrif:\"\\u25b8\",rtriltri:\"\\u29ce\",ruluhar:\"\\u2968\",rx:\"\\u211e\",sacute:\"\\u015b\",sbquo:\"\\u201a\",sc:\"\\u227b\",scE:\"\\u2ab4\",scap:\"\\u2ab8\",scaron:\"\\u0161\",sccue:\"\\u227d\",sce:\"\\u2ab0\",scedil:\"\\u015f\",scirc:\"\\u015d\",scnE:\"\\u2ab6\",scnap:\"\\u2aba\",scnsim:\"\\u22e9\",scpolint:\"\\u2a13\",scsim:\"\\u227f\",scy:\"\\u0441\",sdot:\"\\u22c5\",sdotb:\"\\u22a1\",sdote:\"\\u2a66\",seArr:\"\\u21d8\",searhk:\"\\u2925\",searr:\"\\u2198\",searrow:\"\\u2198\",sec:\"\\xa7\",sect:\"\\xa7\",semi:\";\",seswar:\"\\u2929\",setminus:\"\\u2216\",setmn:\"\\u2216\",sext:\"\\u2736\",sfr:\"\\ud835\\udd30\",sfrown:\"\\u2322\",sharp:\"\\u266f\",shchcy:\"\\u0449\",shcy:\"\\u0448\",shortmid:\"\\u2223\",shortparallel:\"\\u2225\",sh:\"\\xad\",shy:\"\\xad\",sigma:\"\\u03c3\",sigmaf:\"\\u03c2\",sigmav:\"\\u03c2\",sim:\"\\u223c\",simdot:\"\\u2a6a\",sime:\"\\u2243\",simeq:\"\\u2243\",simg:\"\\u2a9e\",simgE:\"\\u2aa0\",siml:\"\\u2a9d\",simlE:\"\\u2a9f\",simne:\"\\u2246\",simplus:\"\\u2a24\",simrarr:\"\\u2972\",slarr:\"\\u2190\",smallsetminus:\"\\u2216\",smashp:\"\\u2a33\",smeparsl:\"\\u29e4\",smid:\"\\u2223\",smile:\"\\u2323\",smt:\"\\u2aaa\",smte:\"\\u2aac\",smtes:\"\\u2aac\\ufe00\",softcy:\"\\u044c\",sol:\"/\",solb:\"\\u29c4\",solbar:\"\\u233f\",sopf:\"\\ud835\\udd64\",spades:\"\\u2660\",spadesuit:\"\\u2660\",spar:\"\\u2225\",sqcap:\"\\u2293\",sqcaps:\"\\u2293\\ufe00\",sqcup:\"\\u2294\",sqcups:\"\\u2294\\ufe00\",sqsub:\"\\u228f\",sqsube:\"\\u2291\",sqsubset:\"\\u228f\",sqsubseteq:\"\\u2291\",sqsup:\"\\u2290\",sqsupe:\"\\u2292\",sqsupset:\"\\u2290\",sqsupseteq:\"\\u2292\",squ:\"\\u25a1\",square:\"\\u25a1\",squarf:\"\\u25aa\",squf:\"\\u25aa\",srarr:\"\\u2192\",sscr:\"\\ud835\\udcc8\",ssetmn:\"\\u2216\",ssmile:\"\\u2323\",sstarf:\"\\u22c6\",star:\"\\u2606\",starf:\"\\u2605\",straightepsilon:\"\\u03f5\",straightphi:\"\\u03d5\",strns:\"\\xaf\",sub:\"\\u2282\",subE:\"\\u2ac5\",subdot:\"\\u2abd\",sube:\"\\u2286\",subedot:\"\\u2ac3\",submult:\"\\u2ac1\",subnE:\"\\u2acb\",subne:\"\\u228a\",subplus:\"\\u2abf\",subrarr:\"\\u2979\",subset:\"\\u2282\",subseteq:\"\\u2286\",subseteqq:\"\\u2ac5\",subsetneq:\"\\u228a\",subsetneqq:\"\\u2acb\",subsim:\"\\u2ac7\",subsub:\"\\u2ad5\",subsup:\"\\u2ad3\",succ:\"\\u227b\",succapprox:\"\\u2ab8\",succcurlyeq:\"\\u227d\",succeq:\"\\u2ab0\",succnapprox:\"\\u2aba\",succneqq:\"\\u2ab6\",succnsim:\"\\u22e9\",succsim:\"\\u227f\",sum:\"\\u2211\",sung:\"\\u266a\",sup:\"\\u2283\",sup1:\"\\xb9\",sup2:\"\\xb2\",sup3:\"\\xb3\",supE:\"\\u2ac6\",supdot:\"\\u2abe\",supdsub:\"\\u2ad8\",supe:\"\\u2287\",supedot:\"\\u2ac4\",suphsol:\"\\u27c9\",suphsub:\"\\u2ad7\",suplarr:\"\\u297b\",supmult:\"\\u2ac2\",supnE:\"\\u2acc\",supne:\"\\u228b\",supplus:\"\\u2ac0\",supset:\"\\u2283\",supseteq:\"\\u2287\",supseteqq:\"\\u2ac6\",supsetneq:\"\\u228b\",supsetneqq:\"\\u2acc\",supsim:\"\\u2ac8\",supsub:\"\\u2ad4\",supsup:\"\\u2ad6\",swArr:\"\\u21d9\",swarhk:\"\\u2926\",swarr:\"\\u2199\",swarrow:\"\\u2199\",swnwar:\"\\u292a\",szli:\"\\xdf\",szlig:\"\\xdf\",target:\"\\u2316\",tau:\"\\u03c4\",tbrk:\"\\u23b4\",tcaron:\"\\u0165\",tcedil:\"\\u0163\",tcy:\"\\u0442\",tdot:\"\\u20db\",telrec:\"\\u2315\",tfr:\"\\ud835\\udd31\",there4:\"\\u2234\",therefore:\"\\u2234\",theta:\"\\u03b8\",thetasym:\"\\u03d1\",thetav:\"\\u03d1\",thickapprox:\"\\u2248\",thicksim:\"\\u223c\",thinsp:\"\\u2009\",thkap:\"\\u2248\",thksim:\"\\u223c\",thor:\"\\xfe\",thorn:\"\\xfe\",tilde:\"\\u02dc\",time:\"\\xd7\",times:\"\\xd7\",timesb:\"\\u22a0\",timesbar:\"\\u2a31\",timesd:\"\\u2a30\",tint:\"\\u222d\",toea:\"\\u2928\",top:\"\\u22a4\",topbot:\"\\u2336\",topcir:\"\\u2af1\",topf:\"\\ud835\\udd65\",topfork:\"\\u2ada\",tosa:\"\\u2929\",tprime:\"\\u2034\",trade:\"\\u2122\",triangle:\"\\u25b5\",triangledown:\"\\u25bf\",triangleleft:\"\\u25c3\",trianglelefteq:\"\\u22b4\",triangleq:\"\\u225c\",triangleright:\"\\u25b9\",trianglerighteq:\"\\u22b5\",tridot:\"\\u25ec\",trie:\"\\u225c\",triminus:\"\\u2a3a\",triplus:\"\\u2a39\",trisb:\"\\u29cd\",tritime:\"\\u2a3b\",trpezium:\"\\u23e2\",tscr:\"\\ud835\\udcc9\",tscy:\"\\u0446\",tshcy:\"\\u045b\",tstrok:\"\\u0167\",twixt:\"\\u226c\",twoheadleftarrow:\"\\u219e\",twoheadrightarrow:\"\\u21a0\",uArr:\"\\u21d1\",uHar:\"\\u2963\",uacut:\"\\xfa\",uacute:\"\\xfa\",uarr:\"\\u2191\",ubrcy:\"\\u045e\",ubreve:\"\\u016d\",ucir:\"\\xfb\",ucirc:\"\\xfb\",ucy:\"\\u0443\",udarr:\"\\u21c5\",udblac:\"\\u0171\",udhar:\"\\u296e\",ufisht:\"\\u297e\",ufr:\"\\ud835\\udd32\",ugrav:\"\\xf9\",ugrave:\"\\xf9\",uharl:\"\\u21bf\",uharr:\"\\u21be\",uhblk:\"\\u2580\",ulcorn:\"\\u231c\",ulcorner:\"\\u231c\",ulcrop:\"\\u230f\",ultri:\"\\u25f8\",umacr:\"\\u016b\",um:\"\\xa8\",uml:\"\\xa8\",uogon:\"\\u0173\",uopf:\"\\ud835\\udd66\",uparrow:\"\\u2191\",updownarrow:\"\\u2195\",upharpoonleft:\"\\u21bf\",upharpoonright:\"\\u21be\",uplus:\"\\u228e\",upsi:\"\\u03c5\",upsih:\"\\u03d2\",upsilon:\"\\u03c5\",upuparrows:\"\\u21c8\",urcorn:\"\\u231d\",urcorner:\"\\u231d\",urcrop:\"\\u230e\",uring:\"\\u016f\",urtri:\"\\u25f9\",uscr:\"\\ud835\\udcca\",utdot:\"\\u22f0\",utilde:\"\\u0169\",utri:\"\\u25b5\",utrif:\"\\u25b4\",uuarr:\"\\u21c8\",uum:\"\\xfc\",uuml:\"\\xfc\",uwangle:\"\\u29a7\",vArr:\"\\u21d5\",vBar:\"\\u2ae8\",vBarv:\"\\u2ae9\",vDash:\"\\u22a8\",vangrt:\"\\u299c\",varepsilon:\"\\u03f5\",varkappa:\"\\u03f0\",varnothing:\"\\u2205\",varphi:\"\\u03d5\",varpi:\"\\u03d6\",varpropto:\"\\u221d\",varr:\"\\u2195\",varrho:\"\\u03f1\",varsigma:\"\\u03c2\",varsubsetneq:\"\\u228a\\ufe00\",varsubsetneqq:\"\\u2acb\\ufe00\",varsupsetneq:\"\\u228b\\ufe00\",varsupsetneqq:\"\\u2acc\\ufe00\",vartheta:\"\\u03d1\",vartriangleleft:\"\\u22b2\",vartriangleright:\"\\u22b3\",vcy:\"\\u0432\",vdash:\"\\u22a2\",vee:\"\\u2228\",veebar:\"\\u22bb\",veeeq:\"\\u225a\",vellip:\"\\u22ee\",verbar:\"|\",vert:\"|\",vfr:\"\\ud835\\udd33\",vltri:\"\\u22b2\",vnsub:\"\\u2282\\u20d2\",vnsup:\"\\u2283\\u20d2\",vopf:\"\\ud835\\udd67\",vprop:\"\\u221d\",vrtri:\"\\u22b3\",vscr:\"\\ud835\\udccb\",vsubnE:\"\\u2acb\\ufe00\",vsubne:\"\\u228a\\ufe00\",vsupnE:\"\\u2acc\\ufe00\",vsupne:\"\\u228b\\ufe00\",vzigzag:\"\\u299a\",wcirc:\"\\u0175\",wedbar:\"\\u2a5f\",wedge:\"\\u2227\",wedgeq:\"\\u2259\",weierp:\"\\u2118\",wfr:\"\\ud835\\udd34\",wopf:\"\\ud835\\udd68\",wp:\"\\u2118\",wr:\"\\u2240\",wreath:\"\\u2240\",wscr:\"\\ud835\\udccc\",xcap:\"\\u22c2\",xcirc:\"\\u25ef\",xcup:\"\\u22c3\",xdtri:\"\\u25bd\",xfr:\"\\ud835\\udd35\",xhArr:\"\\u27fa\",xharr:\"\\u27f7\",xi:\"\\u03be\",xlArr:\"\\u27f8\",xlarr:\"\\u27f5\",xmap:\"\\u27fc\",xnis:\"\\u22fb\",xodot:\"\\u2a00\",xopf:\"\\ud835\\udd69\",xoplus:\"\\u2a01\",xotime:\"\\u2a02\",xrArr:\"\\u27f9\",xrarr:\"\\u27f6\",xscr:\"\\ud835\\udccd\",xsqcup:\"\\u2a06\",xuplus:\"\\u2a04\",xutri:\"\\u25b3\",xvee:\"\\u22c1\",xwedge:\"\\u22c0\",yacut:\"\\xfd\",yacute:\"\\xfd\",yacy:\"\\u044f\",ycirc:\"\\u0177\",ycy:\"\\u044b\",ye:\"\\xa5\",yen:\"\\xa5\",yfr:\"\\ud835\\udd36\",yicy:\"\\u0457\",yopf:\"\\ud835\\udd6a\",yscr:\"\\ud835\\udcce\",yucy:\"\\u044e\",yum:\"\\xff\",yuml:\"\\xff\",zacute:\"\\u017a\",zcaron:\"\\u017e\",zcy:\"\\u0437\",zdot:\"\\u017c\",zeetrf:\"\\u2128\",zeta:\"\\u03b6\",zfr:\"\\ud835\\udd37\",zhcy:\"\\u0436\",zigrarr:\"\\u21dd\",zopf:\"\\ud835\\udd6b\",zscr:\"\\ud835\\udccf\",zwj:\"\\u200d\",zwnj:\"\\u200c\"},F=function(e){return!!A.call(v,e)&&v[e]},A={}.hasOwnProperty;var y=function(e,t){var r,n,u={};t||(t={});for(n in O)r=t[n],u[n]=null==r?O[n]:r;(u.position.indent||u.position.start)&&(u.indent=u.position.indent||[],u.position=u.position.start);return function(e,t){var r,n,u,i,o,a,c,s,l,f,D,p,d,m,E,C,v,A,y,O=t.additional,P=t.nonTerminated,j=t.text,z=t.reference,U=t.warning,M=t.textContext,G=t.referenceContext,V=t.warningContext,_=t.position,$=t.indent||[],H=e.length,X=0,W=-1,Y=_.column||1,Z=_.line||1,J=\"\",K=[];\"string\"==typeof O&&(O=O.charCodeAt(0));C=Q(),s=U?ee:x,X--,H++;for(;++X65535&&(f+=k((a-=65536)>>>10|55296),a=56320|1023&a),a=f+k(a))):m!==L&&s(4,A)),a?(te(),C=Q(),X=y-1,Y+=y-d+1,K.push(a),(v=Q()).offset++,z&&z.call(G,a,{start:C,end:v},e.slice(d-1,y)),C=v):(i=e.slice(d-1,y),J+=i,Y+=i.length,X=y-1)}else 10===o&&(Z++,W++,Y=0),o==o?(J+=k(o),Y++):te();return K.join(\"\");function Q(){return{line:Z,column:Y,offset:X+(_.offset||0)}}function ee(e,t){var r=Q();r.column+=t,r.offset+=t,U.call(V,I[e],r,e)}function te(){J&&(K.push(J),j&&j.call(M,J,{start:C,end:Q()}),J=\"\")}}(e,u)},w={}.hasOwnProperty,k=String.fromCharCode,x=Function.prototype,O={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},L=\"named\",B=\"hexadecimal\",T=\"decimal\",N={hexadecimal:16,decimal:10},S={};S.named=b,S[T]=m,S[B]=E;var I={};function R(e){return e>=55296&&e<=57343||e>1114111}function q(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||65535==(65535&e)||65534==(65535&e)}I[1]=\"Named character references must be terminated by a semicolon\",I[2]=\"Numeric character references must be terminated by a semicolon\",I[3]=\"Named character references cannot be empty\",I[4]=\"Numeric character references cannot be empty\",I[5]=\"Named character references must be known\",I[6]=\"Numeric character references cannot be disallowed\",I[7]=\"Numeric character references cannot be outside the permissible Unicode range\";var P=function(t){return n.raw=u,n;function r(e){for(var r=t.offset,n=e.line,u=[];++n&&n in r;)u.push((r[n]||0)+1);return{start:e,indent:u}}function n(e,n,u){y(e,{position:r(n),warning:i,text:u,reference:u,textContext:t,referenceContext:t})}function u(t,n,u){return y(t,e(u,{position:r(n),warning:i}))}function i(e,r,n){3!==n&&t.file.message(e,r)}};var j=function(e){return function(t,r){var n,u,i,o,a,c=this,s=c.offset,l=[],f=c[e+\"Methods\"],D=c[e+\"Tokenizers\"],p=r.line,d=r.column;if(!t)return l;F.now=m,F.file=c.file,h(\"\");for(;t;){for(n=-1,u=f.length,o=!1;++n\"],_=V.concat([\"~\",\"|\"]),$=_.concat([\"\\n\",'\"',\"$\",\"%\",\"&\",\"'\",\",\",\"/\",\":\",\";\",\"<\",\"=\",\"?\",\"@\",\"^\"]);function H(e){var t=e||{};return t.commonmark?$:t.gfm?_:V}H.default=V,H.gfm=_,H.commonmark=$;var X={position:!0,gfm:!0,commonmark:!1,pedantic:!1,blocks:[\"address\",\"article\",\"aside\",\"base\",\"basefont\",\"blockquote\",\"body\",\"caption\",\"center\",\"col\",\"colgroup\",\"dd\",\"details\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"meta\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"pre\",\"section\",\"source\",\"title\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"]},W=function(t){var r,n,u=this,i=u.options;if(null==t)t={};else{if(\"object\"!=typeof t)throw new Error(\"Invalid value `\"+t+\"` for setting `options`\");t=e(t)}for(r in X){if(null==(n=t[r])&&(n=i[r]),\"blocks\"!==r&&\"boolean\"!=typeof n||\"blocks\"===r&&\"object\"!=typeof n)throw new Error(\"Invalid value `\"+n+\"` for setting `options.\"+r+\"`\");t[r]=n}return u.options=t,u.escape=G(t),u};var Y=Z;function Z(e){if(\"string\"==typeof e)return function(e){return t;function t(t){return Boolean(t&&t.type===e)}}(e);if(null==e)return Q;if(\"object\"==typeof e)return(\"length\"in e?K:J)(e);if(\"function\"==typeof e)return e;throw new Error(\"Expected function, string, or object as test\")}function J(e){return function(t){var r;for(r in e)if(t[r]!==e[r])return!1;return!0}}function K(e){var t=function(e){for(var t=[],r=e.length,n=-1;++nu&&a\n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */;var me,Ee=\"\",Ce=function(e,t){if(\"string\"!=typeof e)throw new TypeError(\"expected a string\");if(1===t)return e;if(2===t)return e+e;var r=e.length*t;if(me!==e||void 0===me)me=e,Ee=\"\";else if(Ee.length>=r)return Ee.substr(0,r);for(;r>Ee.length&&t>1;)1&t&&(Ee+=e),t>>=1,e+=e;return Ee=(Ee+=e).substr(0,r)};var be=function(e){var t=String(e),r=t.length;for(;\"\\n\"===t.charAt(--r););return t.slice(0,r+1)};var ve=function(e,t,r){var n,u,i,o=-1,a=t.length,c=\"\",s=\"\",l=\"\",f=\"\";for(;++o=4)){for(s=\"\";C\"!==t.charAt(F))return;if(r)return!0;F=0;for(;F\"===t.charAt(F)?(F++,l=!0,\" \"===t.charAt(F)&&F++):F=s,a=t.slice(F,o),!l&&!xe(a)){F=s;break}if(!l&&(i=t.slice(F),Oe(h,d,D,[e,i,!0])))break;c=s===F?a:t.slice(s,o),v.push(F-s),C.push(c),b.push(a),F=o+1}F=-1,E=v.length,n=e(C.join(\"\\n\"));for(;++F6)return;if(!i||!o&&t.charAt(c+1)===Se)return;a=t.length+1,u=\"\";for(;++c=3&&(!n||\"\\n\"===n)?(s+=o,!!r||e(s)({type:\"thematicBreak\"})):void 0;o+=n}};var Re=function(e){var t,r=0,n=0,u=e.charAt(r),i={},o=0;for(;\"\\t\"===u||\" \"===u;){for(n+=t=\"\\t\"===u?4:1,t>1&&(n=Math.floor(n/t)*t);o0&&n.indent=b.indent&&(k=!0),o=t.charAt(N),f=null,!k){if(\"*\"===o||\"+\"===o||\"-\"===o)f=o,N++,n++;else{for(u=\"\";N=b.indent||n>4):k=!0,l=!1,N=s;if(p=t.slice(s,c),D=s===N?p:t.slice(N,c),(\"*\"===f||\"_\"===f||\"-\"===f)&&B.thematicBreak.call(x,e,p,!0))break;if(d=h,h=!l&&!xe(D).length,k&&b)b.value=b.value.concat(C,p),E=E.concat(C,p),C=[];else if(l)0!==C.length&&(R=!0,b.value.push(\"\"),b.trail=C.concat()),b={value:[p],indent:n,trail:[]},g.push(b),E=E.concat(C,p),C=[];else if(h){if(d&&!O)break;C.push(p)}else{if(d)break;if(Oe(T,B,x,[e,p,!0]))break;b.value=b.value.concat(C,p),E=E.concat(C,p),C=[]}N=c+1}A=e(E.join(ze)).reset({type:\"list\",ordered:i,start:I,spread:R,children:[]}),v=x.enterList(),F=x.enterBlock(),N=-1,S=g.length;for(;++N=3){l--;break}f+=i}n=\"\",u=\"\";for(;++l`\\\\u0000-\\\\u0020]+|'[^']*'|\\\"[^\\\"]*\\\"))?)*\\\\s*\\\\/?>\",Je=\"<\\\\/[A-Za-z][A-Za-z0-9\\\\-]*\\\\s*>\",Ke={openCloseTag:new RegExp(\"^(?:\"+Ze+\"|\"+Je+\")\"),tag:new RegExp(\"^(?:\"+Ze+\"|\"+Je+\"|\\x3c!----\\x3e|\\x3c!--(?:-?[^>-])(?:-?[^-])*--\\x3e|<[?].*?[?]>|]*>|)\")},Qe=function(e,t,r){var n,u,i,o,a,c,s,l=this.options.blocks.join(\"|\"),f=new RegExp(\"^|$))\",\"i\"),D=t.length,p=0,d=[[et,tt,!0],[rt,nt,!0],[ut,it,!0],[ot,at,!0],[ct,st,!0],[f,lt,!0],[ft,lt,!1]];for(;p|$))/i,tt=/<\\/(script|pre|style)>/i,rt=/^/,ut=/^<\\?/,it=/\\?>/,ot=/^/,ct=/^/,lt=/^$/,ft=new RegExp(Ke.openCloseTag.source+\"\\\\s*$\");var Dt=function(e){return dt.test(\"number\"==typeof e?pt(e):e.charAt(0))},pt=String.fromCharCode,dt=/\\s/;var ht=function(e){return String(e).replace(/\\s+/g,\" \")};var gt=function(e){return ht(e).toLowerCase()};var mt=function(e,t,r){var n,u,i,o,a,c,s,l,f=this,D=f.options.commonmark,p=0,d=t.length,h=\"\";for(;p\"!==e&&\"[\"!==e&&e!==vt}function At(e){return\"[\"!==e&&e!==vt&&!Dt(e)}Ft.delimiter=\">\";var yt=function(e,t,r){var n,u,i,o,a,c,s,l,f,D,p,d,h,g,m,E,C,b,v,F,A,y;if(!this.options.gfm)return;n=0,E=0,c=t.length+1,s=[];for(;nF){if(E<2)return;break}s.push(t.slice(n,F)),E++,n=F+1}o=s.join(wt),u=s.splice(1,1)[0]||[],n=0,c=u.length,E--,i=!1,p=[];for(;n1&&(f?(o+=l.slice(0,-1),l=l.charAt(l.length-1)):(o+=l,l=\"\")),g=e.now(),e(o)({type:\"tableCell\",children:this.tokenizeInline(d,g)},a)),e(l+f),l=\"\",d=\"\"):(l&&(d+=l,l=\"\"),d+=f,\"\\\\\"===f&&n!==c-2&&(d+=C.charAt(n+1),n++)),h=!1,n++):(d?l+=f:e(f),n++);m||e(wt+u)}return v},wt=\"\\n\",kt=\"left\";var xt=function(e,t,r){var n,u,i,o,a,c=this,s=c.options.commonmark,l=c.blockTokenizers,f=c.interruptParagraph,D=t.indexOf(Ot),p=t.length;for(;D=4&&i!==Ot){D=t.indexOf(Ot,D+1);continue}}if(u=t.slice(D+1),Oe(f,l,c,[e,u,!0]))break;if(n=D,-1!==(D=t.indexOf(Ot,D+1))&&\"\"===xe(t.slice(n,D))){D=n;break}}if(u=t.slice(0,D),r)return!0;return a=e.now(),u=be(u),e(u)({type:\"paragraph\",children:c.tokenizeInline(u,a)})},Ot=\"\\n\";var Lt=function(e,t){return e.indexOf(\"\\\\\",t)};var Bt=Tt;Tt.locator=Lt;function Tt(e,t,r){var n,u;if(\"\\\\\"===t.charAt(0)&&(n=t.charAt(1),-1!==this.escape.indexOf(n)))return!!r||(u=\"\\n\"===n?{type:\"break\"}:{type:\"text\",value:n},e(\"\\\\\"+n)(u))}var Nt=function(e,t){return e.indexOf(\"<\",t)};var St=qt;qt.locator=Nt,qt.notInLink=!0;var It=\"mailto:\",Rt=It.length;function qt(e,t,r){var n,u,i,o,a,c=this,s=\"\",l=t.length,f=0,D=\"\",p=!1,d=\"\";if(\"<\"===t.charAt(0)){for(f++,s=\"<\";f\"===n||\"@\"===n||\":\"===n&&\"/\"===t.charAt(f+1)));)D+=n,f++;if(D){if(d+=D,D=\"\",d+=n=t.charAt(f),f++,\"@\"===n)p=!0;else{if(\":\"!==n||\"/\"!==t.charAt(f+1))return;d+=\"/\",f++}for(;f\"!==n);)D+=n,f++;if(n=t.charAt(f),D&&\">\"===n)return!!r||(i=d+=D,s+=d+n,(u=e.now()).column++,u.offset++,p&&(d.slice(0,Rt).toLowerCase()===It?(i=i.slice(Rt),u.column+=Rt,u.offset+=Rt):d=It+d),o=c.inlineTokenizers,c.inlineTokenizers={text:o.text},a=c.enterLink(),i=c.tokenizeInline(i,u),c.inlineTokenizers=o,a(),e(s)({type:\"link\",title:null,url:y(d,{nonTerminated:!1}),children:i}))}}}var Pt=function(e,t){var r,n=String(e),u=0;if(\"string\"!=typeof t||1!==t.length)throw new Error(\"Expected character\");r=n.indexOf(t);for(;-1!==r;)u++,r=n.indexOf(t,r+1);return u};var jt=function(e,t){var r,n,u,i=-1;if(!this.options.gfm)return i;n=zt.length,r=-1;for(;++rf;)o=a+c.lastIndexOf(\")\"),c=t.slice(a,o),D--;if(59===t.charCodeAt(o-1)&&(o--,C(t.charCodeAt(o-1)))){for(l=o-2;C(t.charCodeAt(l));)l--;38===t.charCodeAt(l)&&(o=l)}return p=t.slice(0,o),h=y(p,{nonTerminated:!1}),w&&(h=\"http://\"+h),g=E.enterLink(),E.inlineTokenizers={text:v.text},d=E.tokenizeInline(p,e.now()),E.inlineTokenizers=v,g(),e(p)({type:\"link\",title:null,url:h,children:d})}}}var Gt=function e(t,r){var n,u;if(!this.options.gfm)return-1;if(-1===(n=t.indexOf(\"@\",r)))return-1;if((u=n)===r||!Vt(t.charCodeAt(u-1)))return e.call(this,t,n+1);for(;u>r&&Vt(t.charCodeAt(u-1));)u--;return u};function Vt(e){return m(e)||C(e)||43===e||45===e||46===e||95===e}var _t=$t;$t.locator=Gt,$t.notInLink=!0;function $t(e,t,r){var n,u,i,o,a=this,c=a.options.gfm,s=a.inlineTokenizers,l=0,f=t.length,D=-1;if(c){for(n=t.charCodeAt(l);m(n)||C(n)||43===n||45===n||46===n||95===n;)n=t.charCodeAt(++l);if(0!==l&&64===n){for(l++;l/i;function Zt(e,t,r){var n,u,i=this,o=t.length;if(!(\"<\"!==t.charAt(0)||o<3)&&(n=t.charAt(1),(C(n)||\"?\"===n||\"!\"===n||\"/\"===n)&&(u=t.match(Ht))))return!!r||(u=u[0],!i.inLink&&Wt.test(u)?i.inLink=!0:i.inLink&&Yt.test(u)&&(i.inLink=!1),e(u)({type:\"html\",value:u}))}var Jt=function(e,t){var r=e.indexOf(\"[\",t),n=e.indexOf(\"![\",t);if(-1===n)return r;return r=i&&(i=0):i=u}else if(y===tr)A++,c+=t.charAt(A);else if(i&&!x||\"[\"!==y){if((!i||x)&&\"]\"===y){if(!h){if(t.charAt(A+1)!==Qt)return;c+=Qt,n=!0,A++;break}h--}}else h++;g+=c,c=\"\",A++}if(n){for(f=g,F+=g+c,A++;A\"!==(y=t.charAt(A));){if(k&&\"\\n\"===y)return;g+=y,A++}if(\">\"!==t.charAt(A))return;F+=\"<\"+g+\">\",m=g,A++}else{for(y=null,c=\"\";A2&&(32===o||10===o)&&(32===a||10===a)){for(l++,s--;lt&&\" \"===e.charAt(r-1);)r--;return r};var xr=Or;Or.locator=kr;function Or(e,t,r){for(var n,u=t.length,i=-1,o=\"\";++i\n * @license MIT\n */;var Pr=Object.prototype.hasOwnProperty,jr=Object.prototype.toString,zr=Object.defineProperty,Ur=Object.getOwnPropertyDescriptor,Mr=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===jr.call(e)},Gr=function(e){if(!e||\"[object Object]\"!==jr.call(e))return!1;var t,r=Pr.call(e,\"constructor\"),n=e.constructor&&e.constructor.prototype&&Pr.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!r&&!n)return!1;for(t in e);return void 0===t||Pr.call(e,t)},Vr=function(e,t){zr&&\"__proto__\"===t.name?zr(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},_r=function(e,t){if(\"__proto__\"===t){if(!Pr.call(e,t))return;if(Ur)return Ur(e,t).value}return e[t]},$r=function e(){var t,r,n,u,i,o,a=arguments[0],c=1,s=arguments.length,l=!1;for(\"boolean\"==typeof a&&(l=a,a=arguments[1]||{},c=2),(null==a||\"object\"!=typeof a&&\"function\"!=typeof a)&&(a={});c{if(\"[object Object]\"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype},Xr=[].slice,Wr=function(e,t){var r;return function(){var t,i=Xr.call(arguments,0),o=e.length>i.length;o&&i.push(n);try{t=e.apply(null,i)}catch(e){if(o&&r)throw e;return n(e)}o||(t&&\"function\"==typeof t.then?t.then(u,n):t instanceof Error?n(t):u(t))};function n(){r||(r=!0,t.apply(null,arguments))}function u(e){n(null,e)}};var Yr=Jr;Jr.wrap=Wr;var Zr=[].slice;function Jr(){var e=[],t={run:function(){var t=-1,r=Zr.call(arguments,0,-1),n=arguments[arguments.length-1];if(\"function\"!=typeof n)throw new Error(\"Expected function as last argument, not \"+n);function u(i){var o=e[++t],a=Zr.call(arguments,0),c=a.slice(1),s=r.length,l=-1;if(i)n(i);else{for(;++l1)for(var r=1;r2){var c=n.lastIndexOf(\"/\");if(c!==n.length-1){-1===c?(n=\"\",u=0):u=(n=n.slice(0,c)).length-1-n.lastIndexOf(\"/\"),i=a,o=0;continue}}else if(2===n.length||1===n.length){n=\"\",u=0,i=a,o=0;continue}t&&(n.length>0?n+=\"/..\":n=\"..\",u=2)}else n.length>0?n+=\"/\"+e.slice(i+1,a):n=e.slice(i+1,a),u=a-i-1;i=a,o=0}else 46===r&&-1!==o?++o:o=-1}return n}var Rn={resolve:function(){for(var e,t=\"\",r=!1,n=arguments.length-1;n>=-1&&!r;n--){var u;n>=0?u=arguments[n]:(void 0===e&&(e=Nn.cwd()),u=e),Sn(u),0!==u.length&&(t=u+\"/\"+t,r=47===u.charCodeAt(0))}return t=In(t,!r),r?t.length>0?\"/\"+t:\"/\":t.length>0?t:\".\"},normalize:function(e){if(Sn(e),0===e.length)return\".\";var t=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=In(e,!t)).length||t||(e=\".\"),e.length>0&&r&&(e+=\"/\"),t?\"/\"+e:e},isAbsolute:function(e){return Sn(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return\".\";for(var e,t=0;t0&&(void 0===e?e=r:e+=\"/\"+r)}return void 0===e?\".\":Rn.normalize(e)},relative:function(e,t){if(Sn(e),Sn(t),e===t)return\"\";if((e=Rn.resolve(e))===(t=Rn.resolve(t)))return\"\";for(var r=1;ra){if(47===t.charCodeAt(i+s))return t.slice(i+s+1);if(0===s)return t.slice(i+s)}else u>a&&(47===e.charCodeAt(r+s)?c=s:0===s&&(c=0));break}var l=e.charCodeAt(r+s);if(l!==t.charCodeAt(i+s))break;47===l&&(c=s)}var f=\"\";for(s=r+c+1;s<=n;++s)s!==n&&47!==e.charCodeAt(s)||(0===f.length?f+=\"..\":f+=\"/..\");return f.length>0?f+t.slice(i+c):(i+=c,47===t.charCodeAt(i)&&++i,t.slice(i))},_makeLong:function(e){return e},dirname:function(e){if(Sn(e),0===e.length)return\".\";for(var t=e.charCodeAt(0),r=47===t,n=-1,u=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!u){n=i;break}}else u=!1;return-1===n?r?\"/\":\".\":r&&1===n?\"//\":e.slice(0,n)},basename:function(e,t){if(void 0!==t&&\"string\"!=typeof t)throw new TypeError('\"ext\" argument must be a string');Sn(e);var r,n=0,u=-1,i=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return\"\";var o=t.length-1,a=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!i){n=r+1;break}}else-1===a&&(i=!1,a=r+1),o>=0&&(c===t.charCodeAt(o)?-1==--o&&(u=r):(o=-1,u=a))}return n===u?u=a:-1===u&&(u=e.length),e.slice(n,u)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!i){n=r+1;break}}else-1===u&&(i=!1,u=r+1);return-1===u?\"\":e.slice(n,u)},extname:function(e){Sn(e);for(var t=-1,r=0,n=-1,u=!0,i=0,o=e.length-1;o>=0;--o){var a=e.charCodeAt(o);if(47!==a)-1===n&&(u=!1,n=o+1),46===a?-1===t?t=o:1!==i&&(i=1):-1!==t&&(i=-1);else if(!u){r=o+1;break}}return-1===t||-1===n||0===i||1===i&&t===n-1&&t===r+1?\"\":e.slice(t,n)},format:function(e){if(null===e||\"object\"!=typeof e)throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||\"\")+(t.ext||\"\");return r?r===t.root?r+n:r+e+n:n}(\"/\",e)},parse:function(e){Sn(e);var t={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(0===e.length)return t;var r,n=e.charCodeAt(0),u=47===n;u?(t.root=\"/\",r=1):r=0;for(var i=-1,o=0,a=-1,c=!0,s=e.length-1,l=0;s>=r;--s)if(47!==(n=e.charCodeAt(s)))-1===a&&(c=!1,a=s+1),46===n?-1===i?i=s:1!==l&&(l=1):-1!==i&&(l=-1);else if(!c){o=s+1;break}return-1===i||-1===a||0===l||1===l&&i===a-1&&i===o+1?-1!==a&&(t.base=t.name=0===o&&u?e.slice(1,a):e.slice(o,a)):(0===o&&u?(t.name=e.slice(1,i),t.base=e.slice(1,a)):(t.name=e.slice(o,i),t.base=e.slice(o,a)),t.ext=e.slice(i,a)),o>0?t.dir=e.slice(0,o-1):u&&(t.dir=\"/\"),t},sep:\"/\",delimiter:\":\",win32:null,posix:null};Rn.posix=Rn;var qn=Rn,Pn=n(Object.freeze(Object.assign(Object.create(null),qn,{default:qn,__moduleExports:qn})));var jn=function(e,t){if(\"string\"!=typeof e)return e;if(0===e.length)return e;var r=Pn.basename(e,Pn.extname(e))+t;return Pn.join(Pn.dirname(e),r)},zn=function(e){return null!=e&&null!=e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},Un=_n,Mn={}.hasOwnProperty,Gn=_n.prototype,Vn=[\"history\",\"path\",\"basename\",\"stem\",\"extname\",\"dirname\"];\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */function _n(e){var t,r,n;if(e){if(\"string\"==typeof e||zn(e))e={contents:e};else if(\"message\"in e&&\"messages\"in e)return e}else e={};if(!(this instanceof _n))return new _n(e);for(this.data={},this.messages=[],this.history=[],this.cwd=Nn.cwd(),r=-1,n=Vn.length;++r57)&&(!D||a===cu)){s=d-1,d++,D&&d++,l=d;break}}else 92===o&&(d++,a=r.charCodeAt(d+1));d++}if(void 0!==l)return!!n||(f=r.slice(c,s+1),e(r.slice(0,l))({type:\"inlineMath\",value:f,data:{hName:\"span\",hProperties:{className:su.concat(D&&t.inlineMathDouble?[lu]:[])},hChildren:[{type:\"text\",value:f}]}}))}}}i.locator=u,r.inlineTokenizers.math=i,n.splice(n.indexOf(\"text\"),0,\"math\")}(t,e);ou.isRemarkCompiler(r)&&function(e){function t(e){let t=\"$\";return(e.data&&e.data.hProperties&&e.data.hProperties.className||[]).includes(lu)&&(t=\"$$\"),t+e.value+t}e.prototype.visitors.inlineMath=t}(r)};const cu=36,su=[\"math\",\"math-inline\"],lu=\"math-display\";var fu=function(){const e=this.Parser,t=this.Compiler;ou.isRemarkParser(e)&&function(e){const t=e.prototype,r=t.blockMethods,n=t.interruptParagraph,u=t.interruptList,i=t.interruptBlockquote;function o(e,t,r){var n=t.length,u=0;let i,o,a,c,s,l,f,D,p,d,h;for(;ud&&t.charCodeAt(c-1)===Du;)c--;for(;c>d&&t.charCodeAt(c-1)===pu;)p++,c--;for(l<=p&&t.indexOf(\"$\",d)===c&&(D=!0,h=c);d<=h&&d-ud&&t.charCodeAt(h-1)===Du;)h--;if(D&&d===h||o.push(t.slice(d,h)),D)break;u=a+1,a=t.indexOf(du,u+1),a=-1===a?n:a}return o=o.join(\"\\n\"),e(t.slice(0,a))({type:\"math\",value:o,data:{hName:\"div\",hProperties:{className:hu.concat()},hChildren:[{type:\"text\",value:o}]}})}}}t.blockTokenizers.math=o,r.splice(r.indexOf(\"fencedCode\")+1,0,\"math\"),n.splice(n.indexOf(\"fencedCode\")+1,0,[\"math\"]),u.splice(u.indexOf(\"fencedCode\")+1,0,[\"math\"]),i.splice(i.indexOf(\"fencedCode\")+1,0,[\"math\"])}(e);ou.isRemarkCompiler(t)&&function(e){function t(e){return\"$$\\n\"+e.value+\"\\n$$\"}e.prototype.visitors.math=t}(t)};const Du=32,pu=36,du=\"\\n\",hu=[\"math\",\"math-display\"];var gu=function(e){var t=e||{};fu.call(this,t),au.call(this,t)};var mu=function(e){var t=this.Parser,r=this.Compiler;(function(e){return Boolean(e&&e.prototype&&e.prototype.blockTokenizers)})(t)&&function(e,t){var r,n=t||{},u=e.prototype,i=u.blockTokenizers,o=u.inlineTokenizers,a=u.blockMethods,c=u.inlineMethods,s=i.definition,l=o.reference,f=[],D=-1,p=a.length;for(;++D4&&(p=void 0,d=v);else{if(p<4&&g&&(g.contentStart===g.contentEnd||wu(E,i,m,[e,t.slice(v,1024),!0])))break;p=void 0,d=v}v++}for(v=-1,b=h.length;b>0&&(g=h[b-1]).contentStart===g.contentEnd;)b--;for(s=e(t.slice(0,g.contentEnd));++v{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function xu(e){return{type:\"concat\",parts:e}}function Ou(e){return{type:\"indent\",contents:e}}function Lu(e,t){return{type:\"align\",contents:t,n:e}}function Bu(e,t){return{type:\"group\",id:(t=t||{}).id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}const Tu={type:\"break-parent\"},Nu=xu([{type:\"line\",hard:!0},Tu]),Su=xu([{type:\"line\",hard:!0,literal:!0},Tu]);var Iu={concat:xu,join:function(e,t){const r=[];for(let n=0;n0){for(let e=0;e\"string\"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(t,e?void 0:\"g\")})(),\"\"):e;const qu=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var Pu=qu,ju=qu;Pu.default=ju;const zu=e=>{if(\"string\"!=typeof(e=e.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\" \"))||0===e.length)return 0;e=Ru(e);let t=0;for(let r=0;r=127&&n<=159||(n>=768&&n<=879||(n>65535&&r++,t+=Pu(n)?2:1))}return t};var Uu=zu,Mu=zu;Uu.default=Mu;function Gu(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Vu=\"object\"==typeof Nn&&Nn.env&&Nn.env.NODE_DEBUG&&/\\bsemver\\b/i.test(Nn.env.NODE_DEBUG)?(...e)=>console.error(\"SEMVER\",...e):()=>{};var _u={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},$u=r((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=_u,n=(t=e.exports={}).re=[],u=t.src=[],i=t.t={};let o=0;const a=(e,t,r)=>{const a=o++;Vu(a,t),i[e]=a,u[a]=t,n[a]=new RegExp(t,r?\"g\":void 0)};a(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),a(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),a(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),a(\"MAINVERSION\",\"(\".concat(u[i.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(u[i.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(u[i.NUMERICIDENTIFIER],\")\")),a(\"MAINVERSIONLOOSE\",\"(\".concat(u[i.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(u[i.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(u[i.NUMERICIDENTIFIERLOOSE],\")\")),a(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(u[i.NUMERICIDENTIFIER],\"|\").concat(u[i.NONNUMERICIDENTIFIER],\")\")),a(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(u[i.NUMERICIDENTIFIERLOOSE],\"|\").concat(u[i.NONNUMERICIDENTIFIER],\")\")),a(\"PRERELEASE\",\"(?:-(\".concat(u[i.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(u[i.PRERELEASEIDENTIFIER],\")*))\")),a(\"PRERELEASELOOSE\",\"(?:-?(\".concat(u[i.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(u[i.PRERELEASEIDENTIFIERLOOSE],\")*))\")),a(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),a(\"BUILD\",\"(?:\\\\+(\".concat(u[i.BUILDIDENTIFIER],\"(?:\\\\.\").concat(u[i.BUILDIDENTIFIER],\")*))\")),a(\"FULLPLAIN\",\"v?\".concat(u[i.MAINVERSION]).concat(u[i.PRERELEASE],\"?\").concat(u[i.BUILD],\"?\")),a(\"FULL\",\"^\".concat(u[i.FULLPLAIN],\"$\")),a(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(u[i.MAINVERSIONLOOSE]).concat(u[i.PRERELEASELOOSE],\"?\").concat(u[i.BUILD],\"?\")),a(\"LOOSE\",\"^\".concat(u[i.LOOSEPLAIN],\"$\")),a(\"GTLT\",\"((?:<|>)?=?)\"),a(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(u[i.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),a(\"XRANGEIDENTIFIER\",\"\".concat(u[i.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),a(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(u[i.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(u[i.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(u[i.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(u[i.PRERELEASE],\")?\").concat(u[i.BUILD],\"?\")+\")?)?\"),a(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(u[i.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(u[i.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(u[i.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(u[i.PRERELEASELOOSE],\")?\").concat(u[i.BUILD],\"?\")+\")?)?\"),a(\"XRANGE\",\"^\".concat(u[i.GTLT],\"\\\\s*\").concat(u[i.XRANGEPLAIN],\"$\")),a(\"XRANGELOOSE\",\"^\".concat(u[i.GTLT],\"\\\\s*\").concat(u[i.XRANGEPLAINLOOSE],\"$\")),a(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(r,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(r,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(r,\"}))?\")+\"(?:$|[^\\\\d])\"),a(\"COERCERTL\",u[i.COERCE],!0),a(\"LONETILDE\",\"(?:~>?)\"),a(\"TILDETRIM\",\"(\\\\s*)\".concat(u[i.LONETILDE],\"\\\\s+\"),!0),t.tildeTrimReplace=\"$1~\",a(\"TILDE\",\"^\".concat(u[i.LONETILDE]).concat(u[i.XRANGEPLAIN],\"$\")),a(\"TILDELOOSE\",\"^\".concat(u[i.LONETILDE]).concat(u[i.XRANGEPLAINLOOSE],\"$\")),a(\"LONECARET\",\"(?:\\\\^)\"),a(\"CARETTRIM\",\"(\\\\s*)\".concat(u[i.LONECARET],\"\\\\s+\"),!0),t.caretTrimReplace=\"$1^\",a(\"CARET\",\"^\".concat(u[i.LONECARET]).concat(u[i.XRANGEPLAIN],\"$\")),a(\"CARETLOOSE\",\"^\".concat(u[i.LONECARET]).concat(u[i.XRANGEPLAINLOOSE],\"$\")),a(\"COMPARATORLOOSE\",\"^\".concat(u[i.GTLT],\"\\\\s*(\").concat(u[i.LOOSEPLAIN],\")$|^$\")),a(\"COMPARATOR\",\"^\".concat(u[i.GTLT],\"\\\\s*(\").concat(u[i.FULLPLAIN],\")$|^$\")),a(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(u[i.GTLT],\"\\\\s*(\").concat(u[i.LOOSEPLAIN],\"|\").concat(u[i.XRANGEPLAIN],\")\"),!0),t.comparatorTrimReplace=\"$1$2$3\",a(\"HYPHENRANGE\",\"^\\\\s*(\".concat(u[i.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(u[i.XRANGEPLAIN],\")\")+\"\\\\s*$\"),a(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(u[i.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(u[i.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),a(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),a(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),a(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")}));const Hu=/^[0-9]+$/,Xu=(e,t)=>{const r=Hu.test(e),n=Hu.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:eXu(t,e)};const{MAX_LENGTH:Yu,MAX_SAFE_INTEGER:Zu}=_u,{re:Ju,t:Ku}=$u,{compareIdentifiers:Qu}=Wu;class ei{constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof ei){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \".concat(e));if(e.length>Yu)throw new TypeError(\"version is longer than \".concat(Yu,\" characters\"));Vu(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?Ju[Ku.LOOSE]:Ju[Ku.FULL]);if(!r)throw new TypeError(\"Invalid Version: \".concat(e));if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>Zu||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>Zu||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>Zu||this.patch<0)throw new TypeError(\"Invalid patch version\");r[4]?this.prerelease=r[4].split(\".\").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)\"number\"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(\"invalid increment argument: \".concat(e))}return this.format(),this.raw=this.version,this}}var ti=ei;var ri=(e,t,r)=>new ti(e,r).compare(new ti(t,r));var ni=(e,t,r)=>ri(e,t,r)<0;var ui=(e,t,r)=>ri(e,t,r)>=0,ii=\"2.2.0\",oi=r((function(e,t){function r(){for(var e=[],t=0;t\"string\"==typeof e||\"function\"==typeof e,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:mi,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin\",cliCategory:di},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:mi,description:pi(li()),exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin-search-dir\",cliCategory:di},printWidth:{since:\"0.0.0\",category:mi,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:Ei,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:pi(si()),cliCategory:hi},rangeStart:{since:\"1.4.0\",category:Ei,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:pi(ci()),cliCategory:hi},requirePragma:{since:\"1.7.0\",category:Ei,type:\"boolean\",default:!1,description:pi(ai()),cliCategory:gi},tabWidth:{type:\"int\",category:mi,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:mi,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:mi,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};const bi={compare:ri,lt:ni,gte:ui},vi=ii,Fi={CATEGORY_CONFIG:di,CATEGORY_EDITOR:hi,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:gi,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:mi,CATEGORY_SPECIAL:Ei,options:Ci}.options;var Ai={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:n=!1}={}){const u=vi.split(\"-\",1)[0],i=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(s),o=(a=Object.assign({},...e.map((({options:e})=>e)),Fi),c=\"name\",Object.entries(a).map((([e,t])=>Object.assign({[c]:e},t)))).filter((e=>s(e)&&l(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(u[r]=e[r]);return u}(e,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(s).sort(((e,t)=>bi.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>s(e)&&l(e))),\"parser\"===t.name&&function(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const u of t)if(u.parsers)for(const t of u.parsers)if(!n.has(t)){n.add(t);const i=r.find((e=>e.parsers&&e.parsers[t]));let o=u.name;i&&i.name&&(o+=\" (plugin: \".concat(i.name,\")\")),e.choices.push({value:t,description:o})}}(t,i,e));const r=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,r)=>(e[r.name]=r.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:r})}));var a,c;return{languages:i,options:o};function s(e){return t||!(\"since\"in e)||e.since&&bi.gte(u,e.since)}function l(e){return r||!(\"deprecated\"in e)||e.deprecated&&bi.lt(u,e.deprecated)}}};const{getSupportInfo:yi}=Ai,wi=/[^\\x20-\\x7F]/;function ki(e){return(t,r,n)=>{const u=n&&n.backwards;if(!1===r)return!1;const{length:i}=t;let o=r;for(;o>=0&&o(r.match(o.regex)||[]).length?o.quote:i.quote}return a}function Ui(e,t,r){const n='\"'===t?\"'\":'\"',u=e.replace(/\\\\([\\S\\s])|([\"'])/g,((e,u,i)=>u===n?u:i===t?\"\\\\\"+i:i||(r&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(u)?u:\"\\\\\"+u)));return t+u+t}function Mi(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,\"JSXText\"===e.type&&(t.printed=!0)}var Gi={inferParserByLanguage:function(e,t){const{languages:r}=yi({plugins:t.plugins}),n=r.find((({name:t})=>t.toLowerCase()===e))||r.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||r.find((({extensions:t})=>Array.isArray(t)&&t.includes(\".\".concat(e))));return n&&n.parsers[0]},replaceEndOfLineWith:function(e,t){const r=[];for(const n of e.split(\"\\n\"))0!==r.length&&r.push(t),r.push(n);return r},getStringWidth:function(e){return e?wi.test(e)?Uu(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp(\"(\".concat(ku(t),\")+\"),\"g\"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp(\"(\".concat(ku(t),\")+\"),\"g\"));if(null===r)return 0;const n=new Map;let u=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>u&&(u=r)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:qi,getNextNonSpaceNonCommentCharacterIndex:Pi,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(Pi(e,t,r))},skip:ki,skipWhitespace:xi,skipSpaces:Oi,skipToLineEnd:Li,skipEverythingButNewLine:Bi,skipInlineComment:Ti,skipTrailingComment:Ni,skipNewline:Si,isNextLineEmptyAfterIndex:Ri,isNextLineEmpty:function(e,t,r){return Ri(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=Oi(e,n,{backwards:!0}),n=Si(e,n,{backwards:!0}),n=Oi(e,n,{backwards:!0}),n!==Si(e,n,{backwards:!0})},hasNewline:Ii,hasNewlineInRange:function(e,t,r){for(let n=t;n=0?\"\\n\"===e.charAt(t+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(e){switch(e){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(e,t){let r;if(\"\\n\"===t)r=/\\n/g;else if(\"\\r\"===t)r=/\\r/g;else{if(\"\\r\\n\"!==t)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(t),\".\"));r=/\\r\\n/g}const n=e.match(r);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\\r\\n?/g,\"\\n\")}};const{getStringWidth:_i}=Gi,{convertEndOfLineToChars:$i}=Vi,{concat:Hi,fill:Xi,cursor:Wi}=Iu;let Yi;function Zi(e,t){return Ki(e,{type:\"indent\"},t)}function Ji(e,t,r){if(t===-1/0)return e.root||{value:\"\",length:0,queue:[]};if(t<0)return Ki(e,{type:\"dedent\"},r);if(!t)return e;if(\"root\"===t.type)return Object.assign({},e,{root:e});return Ki(e,{type:\"string\"==typeof t?\"stringAlign\":\"numberAlign\",n:t},r)}function Ki(e,t,r){const n=\"dedent\"===t.type?e.queue.slice(0,-1):e.queue.concat(t);let u=\"\",i=0,o=0,a=0;for(const e of n)switch(e.type){case\"indent\":l(),r.useTabs?c(1):s(r.tabWidth);break;case\"stringAlign\":l(),u+=e.n,i+=e.n.length;break;case\"numberAlign\":o+=1,a+=e.n;break;default:throw new Error(\"Unexpected type '\".concat(e.type,\"'\"))}return f(),Object.assign({},e,{value:u,length:i,queue:n});function c(e){u+=\"\\t\".repeat(e),i+=r.tabWidth*e}function s(e){u+=\" \".repeat(e),i+=e}function l(){r.useTabs?function(){o>0&&c(o);D()}():f()}function f(){a>0&&s(a),D()}function D(){o=0,a=0}}function Qi(e){if(0===e.length)return 0;let t=0;for(;e.length>0&&\"string\"==typeof e[e.length-1]&&e[e.length-1].match(/^[\\t ]*$/);)t+=e.pop().length;if(e.length&&\"string\"==typeof e[e.length-1]){const r=e[e.length-1].replace(/[\\t ]*$/,\"\");t+=e[e.length-1].length-r.length,e[e.length-1]=r}return t}function eo(e,t,r,n,u){let i=t.length;const o=[e],a=[];for(;r>=0;){if(0===o.length){if(0===i)return!0;o.push(t[i-1]),i--;continue}const[e,c,s]=o.pop();if(\"string\"==typeof s)a.push(s),r-=_i(s);else switch(s.type){case\"concat\":for(let t=s.parts.length-1;t>=0;t--)o.push([e,c,s.parts[t]]);break;case\"indent\":o.push([Zi(e,n),c,s.contents]);break;case\"align\":o.push([Ji(e,s.n,n),c,s.contents]);break;case\"trim\":r+=Qi(a);break;case\"group\":if(u&&s.break)return!1;o.push([e,s.break?1:c,s.contents]),s.id&&(Yi[s.id]=o[o.length-1][1]);break;case\"fill\":for(let t=s.parts.length-1;t>=0;t--)o.push([e,c,s.parts[t]]);break;case\"if-break\":{const t=s.groupId?Yi[s.groupId]:c;1===t&&s.breakContents&&o.push([e,c,s.breakContents]),2===t&&s.flatContents&&o.push([e,c,s.flatContents]);break}case\"line\":switch(c){case 2:if(!s.hard){s.soft||(a.push(\" \"),r-=1);break}return!0;case 1:return!0}}}return!1}var to={printDocToString:function(e,t){Yi={};const r=t.printWidth,n=$i(t.endOfLine);let u=0;const i=[[{value:\"\",length:0,queue:[]},1,e]],o=[];let a=!1,c=[];for(;0!==i.length;){const[e,s,l]=i.pop();if(\"string\"==typeof l){const e=\"\\n\"!==n&&l.includes(\"\\n\")?l.replace(/\\n/g,n):l;o.push(e),u+=_i(e)}else switch(l.type){case\"cursor\":o.push(Wi.placeholder);break;case\"concat\":for(let t=l.parts.length-1;t>=0;t--)i.push([e,s,l.parts[t]]);break;case\"indent\":i.push([Zi(e,t),s,l.contents]);break;case\"align\":i.push([Ji(e,l.n,t),s,l.contents]);break;case\"trim\":u-=Qi(o);break;case\"group\":switch(s){case 2:if(!a){i.push([e,l.break?1:2,l.contents]);break}case 1:{a=!1;const n=[e,2,l.contents],o=r-u;if(!l.break&&eo(n,i,o,t))i.push(n);else if(l.expandedStates){const r=l.expandedStates[l.expandedStates.length-1];if(l.break){i.push([e,1,r]);break}for(let n=1;n=l.expandedStates.length){i.push([e,1,r]);break}{const r=[e,2,l.expandedStates[n]];if(eo(r,i,o,t)){i.push(r);break}}}}else i.push([e,1,l.contents]);break}}l.id&&(Yi[l.id]=i[i.length-1][1]);break;case\"fill\":{const n=r-u,{parts:o}=l;if(0===o.length)break;const[a,c]=o,f=[e,2,a],D=[e,1,a],p=eo(f,[],n,t,!0);if(1===o.length){p?i.push(f):i.push(D);break}const d=[e,2,c],h=[e,1,c];if(2===o.length){p?(i.push(d),i.push(f)):(i.push(h),i.push(D));break}o.splice(0,2);const g=[e,s,Xi(o)],m=o[0];eo([e,2,Hi([a,c,m])],[],n,t,!0)?(i.push(g),i.push(d),i.push(f)):p?(i.push(g),i.push(h),i.push(f)):(i.push(g),i.push(h),i.push(D));break}case\"if-break\":{const t=l.groupId?Yi[l.groupId]:s;1===t&&l.breakContents&&i.push([e,s,l.breakContents]),2===t&&l.flatContents&&i.push([e,s,l.flatContents]);break}case\"line-suffix\":c.push([e,s,l.contents]);break;case\"line-suffix-boundary\":c.length>0&&i.push([e,s,{type:\"line\",hard:!0}]);break;case\"line\":switch(s){case 2:if(!l.hard){l.soft||(o.push(\" \"),u+=1);break}a=!0;case 1:if(c.length){i.push([e,s,l]),i.push(...c.reverse()),c=[];break}l.literal?e.root?(o.push(n,e.root.value),u=e.root.length):(o.push(n),u=0):(u-=Qi(o),o.push(n+e.value),u=e.length)}}0===i.length&&c.length&&(i.push(...c.reverse()),c=[])}const s=o.indexOf(Wi.placeholder);if(-1!==s){const e=o.indexOf(Wi.placeholder,s+1),t=o.slice(0,s).join(\"\"),r=o.slice(s+1,e).join(\"\");return{formatted:t+r+o.slice(e+1).join(\"\"),cursorNodeStart:t.length,cursorNodeText:r}}return{formatted:o.join(\"\")}}};const{literalline:ro,concat:no}=Iu,uo={};function io(e,t,r,n){const u=[e];for(;0!==u.length;){const e=u.pop();if(e!==uo){if(r&&u.push(e,uo),!t||!1!==t(e))if(\"concat\"===e.type||\"fill\"===e.type)for(let t=e.parts.length-1;t>=0;--t)u.push(e.parts[t]);else if(\"if-break\"===e.type)e.flatContents&&u.push(e.flatContents),e.breakContents&&u.push(e.breakContents);else if(\"group\"===e.type&&e.expandedStates)if(n)for(let t=e.expandedStates.length-1;t>=0;--t)u.push(e.expandedStates[t]);else u.push(e.contents);else e.contents&&u.push(e.contents)}else r(u.pop())}}function oo(e,t){if(\"concat\"===e.type||\"fill\"===e.type){const r=e.parts.map((e=>oo(e,t)));return t(Object.assign({},e,{parts:r}))}if(\"if-break\"===e.type){const r=e.breakContents&&oo(e.breakContents,t),n=e.flatContents&&oo(e.flatContents,t);return t(Object.assign({},e,{breakContents:r,flatContents:n}))}if(e.contents){const r=oo(e.contents,t);return t(Object.assign({},e,{contents:r}))}return t(e)}function ao(e,t,r){let n=r,u=!1;return io(e,(function(e){const r=t(e);if(void 0!==r&&(u=!0,n=r),u)return!1})),n}function co(e){return\"string\"!=typeof e&&(\"line\"===e.type||void 0)}function so(e){return!(\"group\"!==e.type||!e.break)||(!(\"line\"!==e.type||!e.hard)||(\"break-parent\"===e.type||void 0))}function lo(e){if(e.length>0){const t=e[e.length-1];t.expandedStates||(t.break=!0)}return null}function fo(e){return\"line\"!==e.type||e.hard?\"if-break\"===e.type?e.flatContents||\"\":e:e.soft?\"\":\" \"}function Do(e){const t=[],r=e.filter(Boolean);for(;0!==r.length;){const e=r.shift();e&&(\"concat\"!==e.type?0===t.length||\"string\"!=typeof t[t.length-1]||\"string\"!=typeof e?t.push(e):t[t.length-1]+=e:r.unshift(...e.parts))}return t}function po(e){if(\"concat\"===e.type){const t=[];for(let r=0;r0&&!t;n--)t=r[n-1];return\"group\"===t.type&&(r=t.contents.parts),r}(t):t.parts,u=n[n.length-1];if(\"concat\"===u.type)return 2===u.parts.length&&u.parts[0].hard&&\"break-parent\"===u.parts[1].type?{type:\"concat\",parts:n.slice(0,-1)}:{type:\"concat\",parts:t.parts.slice(0,-1).concat(e(u))}}return t},normalizeParts:Do,normalizeDoc:function(e){return oo(e,(e=>e.parts?Object.assign({},e,{parts:Do(e.parts)}):e))},replaceNewlinesWithLiterallines:function(e){return oo(e,(e=>\"string\"==typeof e&&e.includes(\"\\n\")?no(e.split(/(\\n)/g).map(((e,t)=>t%2==0?e:ro))):e))}},debug:{printDocToDebug:e=>ho(po(e))}};const{builders:{hardline:mo,concat:Eo,markAsRoot:Co}}=go,bo={\"---\":\"yaml\",\"+++\":\"toml\"};var vo={parse:function(e){const t=Object.keys(bo).map(ku).join(\"|\"),r=e.match(new RegExp(\"^(\".concat(t,\")([^\\\\n]*)\\\\n(?:([\\\\s\\\\S]*?)\\\\n)?\\\\1[^\\\\n\\\\S]*(\\\\n|$)\")));if(null===r)return{frontMatter:null,content:e};const[n,u,i,o]=r;let a=bo[u];return\"toml\"!==a&&i&&i.trim()&&(a=i.trim()),{frontMatter:{type:\"front-matter\",lang:a,value:o,raw:n.replace(/\\n$/,\"\")},content:n.replace(/[^\\n]/g,\" \")+e.slice(n.length)}},print:function(e,t){if(\"yaml\"===e.lang){const r=e.value.trim(),n=r?t(r,{parser:\"yaml\"},{stripTrailingHardline:!0}):\"\";return Co(Eo([\"---\",mo,n,n?mo:\"\",\"---\"]))}}};const{parse:Fo}=vo,Ao=[\"format\",\"prettier\"];function yo(e){const t=\"@(\".concat(Ao.join(\"|\"),\")\"),r=new RegExp([\"\\x3c!--\\\\s*\".concat(t,\"\\\\s*--\\x3e\"),\"\\x3c!--.*\\r?\\n[\\\\s\\\\S]*(^|\\n)[^\\\\S\\n]*\".concat(t,\"[^\\\\S\\n]*($|\\n)[\\\\s\\\\S]*\\n.*--\\x3e\")].join(\"|\"),\"m\"),n=e.match(r);return n&&0===n.index}var wo={startWithPragma:yo,hasPragma:e=>yo(Fo(e).content.trimStart()),insertPragma:e=>{const t=Fo(e),r=\"\\x3c!-- @\".concat(Ao[0],\" --\\x3e\");return t.frontMatter?\"\".concat(t.frontMatter.raw,\"\\n\\n\").concat(r,\"\\n\\n\").concat(t.content):\"\".concat(r,\"\\n\\n\").concat(t.content)}};var ko={locStart:function(e){return e.position.start.offset},locEnd:function(e){return e.position.end.offset}};const{getLast:xo}=Gi,{locStart:Oo,locEnd:Lo}=ko,{cjkPattern:Bo,kPattern:To,punctuationPattern:No}={cjkPattern:\"(?:[\\\\u02ea-\\\\u02eb\\\\u1100-\\\\u11ff\\\\u2e80-\\\\u2e99\\\\u2e9b-\\\\u2ef3\\\\u2f00-\\\\u2fd5\\\\u3000-\\\\u303f\\\\u3041-\\\\u3096\\\\u3099-\\\\u309f\\\\u30a1-\\\\u30fa\\\\u30fc-\\\\u30ff\\\\u3105-\\\\u312f\\\\u3131-\\\\u318e\\\\u3190-\\\\u3191\\\\u3196-\\\\u31ba\\\\u31c0-\\\\u31e3\\\\u31f0-\\\\u321e\\\\u322a-\\\\u3247\\\\u3260-\\\\u327e\\\\u328a-\\\\u32b0\\\\u32c0-\\\\u32cb\\\\u32d0-\\\\u3370\\\\u337b-\\\\u337f\\\\u33e0-\\\\u33fe\\\\u3400-\\\\u4db5\\\\u4e00-\\\\u9fef\\\\ua960-\\\\ua97c\\\\uac00-\\\\ud7a3\\\\ud7b0-\\\\ud7c6\\\\ud7cb-\\\\ud7fb\\\\uf900-\\\\ufa6d\\\\ufa70-\\\\ufad9\\\\ufe10-\\\\ufe1f\\\\ufe30-\\\\ufe6f\\\\uff00-\\\\uffef]|[\\\\ud840-\\\\ud868\\\\ud86a-\\\\ud86c\\\\ud86f-\\\\ud872\\\\ud874-\\\\ud879][\\\\udc00-\\\\udfff]|\\\\ud82c[\\\\udc00-\\\\udd1e\\\\udd50-\\\\udd52\\\\udd64-\\\\udd67]|\\\\ud83c[\\\\ude00\\\\ude50-\\\\ude51]|\\\\ud869[\\\\udc00-\\\\uded6\\\\udf00-\\\\udfff]|\\\\ud86d[\\\\udc00-\\\\udf34\\\\udf40-\\\\udfff]|\\\\ud86e[\\\\udc00-\\\\udc1d\\\\udc20-\\\\udfff]|\\\\ud873[\\\\udc00-\\\\udea1\\\\udeb0-\\\\udfff]|\\\\ud87a[\\\\udc00-\\\\udfe0]|\\\\ud87e[\\\\udc00-\\\\ude1d])(?:[\\\\ufe00-\\\\ufe0f]|\\\\udb40[\\\\udd00-\\\\uddef])?\",kPattern:\"[\\\\u1100-\\\\u11ff\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3013-\\\\u301f\\\\u302e-\\\\u3030\\\\u3037\\\\u30fb\\\\u3131-\\\\u318e\\\\u3200-\\\\u321e\\\\u3260-\\\\u327e\\\\ua960-\\\\ua97c\\\\uac00-\\\\ud7a3\\\\ud7b0-\\\\ud7c6\\\\ud7cb-\\\\ud7fb\\\\ufe45-\\\\ufe46\\\\uff61-\\\\uff65\\\\uffa0-\\\\uffbe\\\\uffc2-\\\\uffc7\\\\uffca-\\\\uffcf\\\\uffd2-\\\\uffd7\\\\uffda-\\\\uffdc]\",punctuationPattern:\"[\\\\u0021-\\\\u002f\\\\u003a-\\\\u0040\\\\u005b-\\\\u0060\\\\u007b-\\\\u007e\\\\u00a1\\\\u00a7\\\\u00ab\\\\u00b6-\\\\u00b7\\\\u00bb\\\\u00bf\\\\u037e\\\\u0387\\\\u055a-\\\\u055f\\\\u0589-\\\\u058a\\\\u05be\\\\u05c0\\\\u05c3\\\\u05c6\\\\u05f3-\\\\u05f4\\\\u0609-\\\\u060a\\\\u060c-\\\\u060d\\\\u061b\\\\u061e-\\\\u061f\\\\u066a-\\\\u066d\\\\u06d4\\\\u0700-\\\\u070d\\\\u07f7-\\\\u07f9\\\\u0830-\\\\u083e\\\\u085e\\\\u0964-\\\\u0965\\\\u0970\\\\u09fd\\\\u0a76\\\\u0af0\\\\u0c77\\\\u0c84\\\\u0df4\\\\u0e4f\\\\u0e5a-\\\\u0e5b\\\\u0f04-\\\\u0f12\\\\u0f14\\\\u0f3a-\\\\u0f3d\\\\u0f85\\\\u0fd0-\\\\u0fd4\\\\u0fd9-\\\\u0fda\\\\u104a-\\\\u104f\\\\u10fb\\\\u1360-\\\\u1368\\\\u1400\\\\u166e\\\\u169b-\\\\u169c\\\\u16eb-\\\\u16ed\\\\u1735-\\\\u1736\\\\u17d4-\\\\u17d6\\\\u17d8-\\\\u17da\\\\u1800-\\\\u180a\\\\u1944-\\\\u1945\\\\u1a1e-\\\\u1a1f\\\\u1aa0-\\\\u1aa6\\\\u1aa8-\\\\u1aad\\\\u1b5a-\\\\u1b60\\\\u1bfc-\\\\u1bff\\\\u1c3b-\\\\u1c3f\\\\u1c7e-\\\\u1c7f\\\\u1cc0-\\\\u1cc7\\\\u1cd3\\\\u2010-\\\\u2027\\\\u2030-\\\\u2043\\\\u2045-\\\\u2051\\\\u2053-\\\\u205e\\\\u207d-\\\\u207e\\\\u208d-\\\\u208e\\\\u2308-\\\\u230b\\\\u2329-\\\\u232a\\\\u2768-\\\\u2775\\\\u27c5-\\\\u27c6\\\\u27e6-\\\\u27ef\\\\u2983-\\\\u2998\\\\u29d8-\\\\u29db\\\\u29fc-\\\\u29fd\\\\u2cf9-\\\\u2cfc\\\\u2cfe-\\\\u2cff\\\\u2d70\\\\u2e00-\\\\u2e2e\\\\u2e30-\\\\u2e4f\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3014-\\\\u301f\\\\u3030\\\\u303d\\\\u30a0\\\\u30fb\\\\ua4fe-\\\\ua4ff\\\\ua60d-\\\\ua60f\\\\ua673\\\\ua67e\\\\ua6f2-\\\\ua6f7\\\\ua874-\\\\ua877\\\\ua8ce-\\\\ua8cf\\\\ua8f8-\\\\ua8fa\\\\ua8fc\\\\ua92e-\\\\ua92f\\\\ua95f\\\\ua9c1-\\\\ua9cd\\\\ua9de-\\\\ua9df\\\\uaa5c-\\\\uaa5f\\\\uaade-\\\\uaadf\\\\uaaf0-\\\\uaaf1\\\\uabeb\\\\ufd3e-\\\\ufd3f\\\\ufe10-\\\\ufe19\\\\ufe30-\\\\ufe52\\\\ufe54-\\\\ufe61\\\\ufe63\\\\ufe68\\\\ufe6a-\\\\ufe6b\\\\uff01-\\\\uff03\\\\uff05-\\\\uff0a\\\\uff0c-\\\\uff0f\\\\uff1a-\\\\uff1b\\\\uff1f-\\\\uff20\\\\uff3b-\\\\uff3d\\\\uff3f\\\\uff5b\\\\uff5d\\\\uff5f-\\\\uff65]|\\\\ud800[\\\\udd00-\\\\udd02\\\\udf9f\\\\udfd0]|\\\\ud801[\\\\udd6f]|\\\\ud802[\\\\udc57\\\\udd1f\\\\udd3f\\\\ude50-\\\\ude58\\\\ude7f\\\\udef0-\\\\udef6\\\\udf39-\\\\udf3f\\\\udf99-\\\\udf9c]|\\\\ud803[\\\\udf55-\\\\udf59]|\\\\ud804[\\\\udc47-\\\\udc4d\\\\udcbb-\\\\udcbc\\\\udcbe-\\\\udcc1\\\\udd40-\\\\udd43\\\\udd74-\\\\udd75\\\\uddc5-\\\\uddc8\\\\uddcd\\\\udddb\\\\udddd-\\\\udddf\\\\ude38-\\\\ude3d\\\\udea9]|\\\\ud805[\\\\udc4b-\\\\udc4f\\\\udc5b\\\\udc5d\\\\udcc6\\\\uddc1-\\\\uddd7\\\\ude41-\\\\ude43\\\\ude60-\\\\ude6c\\\\udf3c-\\\\udf3e]|\\\\ud806[\\\\udc3b\\\\udde2\\\\ude3f-\\\\ude46\\\\ude9a-\\\\ude9c\\\\ude9e-\\\\udea2]|\\\\ud807[\\\\udc41-\\\\udc45\\\\udc70-\\\\udc71\\\\udef7-\\\\udef8\\\\udfff]|\\\\ud809[\\\\udc70-\\\\udc74]|\\\\ud81a[\\\\ude6e-\\\\ude6f\\\\udef5\\\\udf37-\\\\udf3b\\\\udf44]|\\\\ud81b[\\\\ude97-\\\\ude9a\\\\udfe2]|\\\\ud82f[\\\\udc9f]|\\\\ud836[\\\\ude87-\\\\ude8b]|\\\\ud83a[\\\\udd5e-\\\\udd5f]\"},So=[\"liquidNode\",\"inlineCode\",\"emphasis\",\"strong\",\"delete\",\"wikiLink\",\"link\",\"linkReference\",\"image\",\"imageReference\",\"footnote\",\"footnoteReference\",\"sentence\",\"whitespace\",\"word\",\"break\",\"inlineMath\"],Io=So.concat([\"tableCell\",\"paragraph\",\"heading\"]),Ro=new RegExp(To),qo=new RegExp(No);function Po(e,t){const[,r,n,u]=t.slice(e.position.start.offset,e.position.end.offset).match(/^\\s*(\\d+)(\\.|\\))(\\s*)/);return{numberText:r,marker:n,leadingSpaces:u}}var jo={mapAst:function(e,t){return function e(r,n,u){u=u||[];const i=Object.assign({},t(r,n,u));return i.children&&(i.children=i.children.map(((t,r)=>e(t,r,[i].concat(u))))),i}(e,null,null)},splitText:function(e,t){const r=\"non-cjk\",n=\"cj-letter\",u=\"cjk-punctuation\",i=[];return(\"preserve\"===t.proseWrap?e:e.replace(new RegExp(\"(\".concat(Bo,\")\\n(\").concat(Bo,\")\"),\"g\"),\"$1$2\")).split(/([\\t\\n ]+)/).forEach(((e,t,a)=>{t%2!=1?(0!==t&&t!==a.length-1||\"\"!==e)&&e.split(new RegExp(\"(\".concat(Bo,\")\"))).forEach(((e,t,i)=>{(0!==t&&t!==i.length-1||\"\"!==e)&&(t%2!=0?o(qo.test(e)?{type:\"word\",value:e,kind:u,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:\"word\",value:e,kind:Ro.test(e)?\"k-letter\":n,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1}):\"\"!==e&&o({type:\"word\",value:e,kind:r,hasLeadingPunctuation:qo.test(e[0]),hasTrailingPunctuation:qo.test(xo(e))}))})):i.push({type:\"whitespace\",value:/\\n/.test(e)?\"\\n\":\" \"})})),i;function o(e){const t=xo(i);var o,a;t&&\"word\"===t.type&&(t.kind===r&&e.kind===n&&!t.hasTrailingPunctuation||t.kind===n&&e.kind===r&&!e.hasLeadingPunctuation?i.push({type:\"whitespace\",value:\" \"}):(o=r,a=u,t.kind===o&&e.kind===a||t.kind===a&&e.kind===o||[t.value,e.value].some((e=>/\\u3000/.test(e)))||i.push({type:\"whitespace\",value:\"\"}))),i.push(e)}},punctuationPattern:No,getFencedCodeBlockValue:function(e,t){const{value:r}=e;return e.position.end.offset===t.length&&r.endsWith(\"\\n\")&&t.endsWith(\"\\n\")?r.slice(0,-1):r},getOrderedListItemInfo:Po,hasGitDiffFriendlyOrderedList:function(e,t){if(!e.ordered)return!1;if(e.children.length<2)return!1;const r=Number(Po(e.children[0],t.originalText).numberText),n=Number(Po(e.children[1],t.originalText).numberText);if(0===r&&e.children.length>2){const r=Number(Po(e.children[2],t.originalText).numberText);return 1===n&&1===r}return 1===n},INLINE_NODE_TYPES:So,INLINE_NODE_WRAPPER_TYPES:Io,isAutolink:function(e){if(!e||\"link\"!==e.type||1!==e.children.length)return!1;const t=e.children[0];return t&&Oo(e)===Oo(t)&&Lo(e)===Lo(t)}};const zo=/^import\\s/,Uo=/^export\\s/,Mo=e=>zo.test(e),Go=e=>Uo.test(e),Vo=(e,t)=>{const r=t.indexOf(\"\\n\\n\"),n=t.slice(0,r);if(Go(n)||Mo(n))return e(n)({type:Go(n)?\"export\":\"import\",value:n})};Vo.locator=e=>Go(e)||Mo(e)?-1:1;var _o={esSyntax:function(){const{Parser:e}=this,t=e.prototype.blockTokenizers,r=e.prototype.blockMethods;t.esSyntax=Vo,r.splice(r.indexOf(\"paragraph\"),0,\"esSyntax\")},BLOCKS_REGEX:\"[a-z][a-z0-9]*(\\\\.[a-z][a-z0-9]*)*|\",COMMENT_REGEX:\"\\x3c!----\\x3e|\\x3c!--(?:-?[^>-])(?:-?[^-])*--\\x3e\"};const{parse:$o}=vo,{locStart:Ho,locEnd:Xo}=ko,{mapAst:Wo,INLINE_NODE_WRAPPER_TYPES:Yo}=jo;function Zo({isMDX:e}){return t=>{const r=Zn().use(Ir,Object.assign({commonmark:!0},e&&{blocks:[_o.BLOCKS_REGEX]})).use(mu).use(Qo).use(gu).use(e?_o.esSyntax:Jo).use(ea).use(e?Ko:Jo).use(ta).use(ra);return r.runSync(r.parse(t))}}function Jo(e){return e}function Ko(){return e=>Wo(e,((e,t,[r])=>\"html\"!==e.type||e.value.match(_o.COMMENT_REGEX)||Yo.includes(r.type)?e:Object.assign({},e,{type:\"jsx\"})))}function Qo(){const e=this.Parser.prototype;function t(e,t){const r=$o(t);if(r.frontMatter)return e(r.frontMatter.raw)(r.frontMatter)}e.blockMethods=[\"frontMatter\"].concat(e.blockMethods),e.blockTokenizers.frontMatter=t,t.onlyAtStart=!0}function ea(){const e=this.Parser.prototype,t=e.inlineMethods;function r(e,t){const r=t.match(/^({%[\\S\\s]*?%}|{{[\\S\\s]*?}})/);if(r)return e(r[0])({type:\"liquidNode\",value:r[0]})}t.splice(t.indexOf(\"text\"),0,\"liquid\"),e.inlineTokenizers.liquid=r,r.locator=function(e,t){return e.indexOf(\"{\",t)}}function ta(){const e=\"wikiLink\",t=/^\\[\\[(?.+?)]]/s,r=this.Parser.prototype,n=r.inlineMethods;function u(r,n){const u=t.exec(n);if(u){const t=u.groups.linkContents.trim();return r(u[0])({type:e,value:t})}}n.splice(n.indexOf(\"link\"),0,e),r.inlineTokenizers.wikiLink=u,u.locator=function(e,t){return e.indexOf(\"[\",t)}}function ra(){const e=this.Parser.prototype,t=e.blockTokenizers.list;function r(e,t,r){return\"listItem\"===t.type&&(t.loose=t.spread||\"\\n\"===e.charAt(e.length-1),t.loose&&(r.loose=!0)),t}e.blockTokenizers.list=function(e,n,u){function i(t){const n=e(t);function u(e,u){return n(r(t,e,u),u)}return u.reset=function(e,u){return n.reset(r(t,e,u),u)},u}return i.now=e.now,t.call(this,i,n,u)}}const na={astFormat:\"mdast\",hasPragma:wo.hasPragma,locStart:Ho,locEnd:Xo},ua=Object.assign({},na,{parse:Zo({isMDX:!1})});return{parsers:{remark:ua,markdown:ua,mdx:Object.assign({},na,{parse:Zo({isMDX:!0})})}}}));\n","module.exports = [\n 'cat',\n 'cd',\n 'chmod',\n 'cp',\n 'dirs',\n 'echo',\n 'exec',\n 'find',\n 'grep',\n 'head',\n 'ln',\n 'ls',\n 'mkdir',\n 'mv',\n 'pwd',\n 'rm',\n 'sed',\n 'set',\n 'sort',\n 'tail',\n 'tempdir',\n 'test',\n 'to',\n 'toEnd',\n 'touch',\n 'uniq',\n 'which',\n];\n","'use strict';\n\n// See http://www.robvanderwoude.com/escapechars.php\nconst metaCharsRegExp = /([()\\][%!^\"`<>&|;, *?])/g;\n\nfunction escapeCommand(arg) {\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n return arg;\n}\n\nfunction escapeArgument(arg, doubleEscapeMetaChars) {\n // Convert to string\n arg = `${arg}`;\n\n // Algorithm below is based on https://qntm.org/cmd\n\n // Sequence of backslashes followed by a double quote:\n // double up all the backslashes and escape the double quote\n arg = arg.replace(/(\\\\*)\"/g, '$1$1\\\\\"');\n\n // Sequence of backslashes followed by the end of the string\n // (which will become a double quote later):\n // double up all the backslashes\n arg = arg.replace(/(\\\\*)$/, '$1$1');\n\n // All other backslashes occur literally\n\n // Quote the whole thing:\n arg = `\"${arg}\"`;\n\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n // Double escape meta chars if necessary\n if (doubleEscapeMetaChars) {\n arg = arg.replace(metaCharsRegExp, '^$1');\n }\n\n return arg;\n}\n\nmodule.exports.command = escapeCommand;\nmodule.exports.argument = escapeArgument;\n","'use strict';\n\n/**\n * Converts tokens for a single address into an address object\n *\n * @param {Array} tokens Tokens object\n * @return {Object} Address object\n */\nfunction _handleAddress(tokens) {\n let token;\n let isGroup = false;\n let state = 'text';\n let address;\n let addresses = [];\n let data = {\n address: [],\n comment: [],\n group: [],\n text: []\n };\n let i;\n let len;\n\n // Filter out , (comments) and regular text\n for (i = 0, len = tokens.length; i < len; i++) {\n token = tokens[i];\n if (token.type === 'operator') {\n switch (token.value) {\n case '<':\n state = 'address';\n break;\n case '(':\n state = 'comment';\n break;\n case ':':\n state = 'group';\n isGroup = true;\n break;\n default:\n state = 'text';\n }\n } else if (token.value) {\n if (state === 'address') {\n // handle use case where unquoted name includes a \"<\"\n // Apple Mail truncates everything between an unexpected < and an address\n // and so will we\n token.value = token.value.replace(/^[^<]*<\\s*/, '');\n }\n data[state].push(token.value);\n }\n }\n\n // If there is no text but a comment, replace the two\n if (!data.text.length && data.comment.length) {\n data.text = data.comment;\n data.comment = [];\n }\n\n if (isGroup) {\n // http://tools.ietf.org/html/rfc2822#appendix-A.1.3\n data.text = data.text.join(' ');\n addresses.push({\n name: data.text || (address && address.name),\n group: data.group.length ? addressparser(data.group.join(',')) : []\n });\n } else {\n // If no address was found, try to detect one from regular text\n if (!data.address.length && data.text.length) {\n for (i = data.text.length - 1; i >= 0; i--) {\n if (data.text[i].match(/^[^@\\s]+@[^@\\s]+$/)) {\n data.address = data.text.splice(i, 1);\n break;\n }\n }\n\n let _regexHandler = function (address) {\n if (!data.address.length) {\n data.address = [address.trim()];\n return ' ';\n } else {\n return address;\n }\n };\n\n // still no address\n if (!data.address.length) {\n for (i = data.text.length - 1; i >= 0; i--) {\n // fixed the regex to parse email address correctly when email address has more than one @\n data.text[i] = data.text[i].replace(/\\s*\\b[^@\\s]+@[^\\s]+\\b\\s*/, _regexHandler).trim();\n if (data.address.length) {\n break;\n }\n }\n }\n }\n\n // If there's still is no text but a comment exixts, replace the two\n if (!data.text.length && data.comment.length) {\n data.text = data.comment;\n data.comment = [];\n }\n\n // Keep only the first address occurence, push others to regular text\n if (data.address.length > 1) {\n data.text = data.text.concat(data.address.splice(1));\n }\n\n // Join values with spaces\n data.text = data.text.join(' ');\n data.address = data.address.join(' ');\n\n if (!data.address && isGroup) {\n return [];\n } else {\n address = {\n address: data.address || data.text || '',\n name: data.text || data.address || ''\n };\n\n if (address.address === address.name) {\n if ((address.address || '').match(/@/)) {\n address.name = '';\n } else {\n address.address = '';\n }\n }\n\n addresses.push(address);\n }\n }\n\n return addresses;\n}\n\n/**\n * Creates a Tokenizer object for tokenizing address field strings\n *\n * @constructor\n * @param {String} str Address field string\n */\nclass Tokenizer {\n constructor(str) {\n this.str = (str || '').toString();\n this.operatorCurrent = '';\n this.operatorExpecting = '';\n this.node = null;\n this.escaped = false;\n\n this.list = [];\n /**\n * Operator tokens and which tokens are expected to end the sequence\n */\n this.operators = {\n '\"': '\"',\n '(': ')',\n '<': '>',\n ',': '',\n ':': ';',\n // Semicolons are not a legal delimiter per the RFC2822 grammar other\n // than for terminating a group, but they are also not valid for any\n // other use in this context. Given that some mail clients have\n // historically allowed the semicolon as a delimiter equivalent to the\n // comma in their UI, it makes sense to treat them the same as a comma\n // when used outside of a group.\n ';': ''\n };\n }\n\n /**\n * Tokenizes the original input string\n *\n * @return {Array} An array of operator|text tokens\n */\n tokenize() {\n let chr,\n list = [];\n for (let i = 0, len = this.str.length; i < len; i++) {\n chr = this.str.charAt(i);\n this.checkChar(chr);\n }\n\n this.list.forEach(node => {\n node.value = (node.value || '').toString().trim();\n if (node.value) {\n list.push(node);\n }\n });\n\n return list;\n }\n\n /**\n * Checks if a character is an operator or text and acts accordingly\n *\n * @param {String} chr Character from the address field\n */\n checkChar(chr) {\n if (this.escaped) {\n // ignore next condition blocks\n } else if (chr === this.operatorExpecting) {\n this.node = {\n type: 'operator',\n value: chr\n };\n this.list.push(this.node);\n this.node = null;\n this.operatorExpecting = '';\n this.escaped = false;\n return;\n } else if (!this.operatorExpecting && chr in this.operators) {\n this.node = {\n type: 'operator',\n value: chr\n };\n this.list.push(this.node);\n this.node = null;\n this.operatorExpecting = this.operators[chr];\n this.escaped = false;\n return;\n } else if (['\"', \"'\"].includes(this.operatorExpecting) && chr === '\\\\') {\n this.escaped = true;\n return;\n }\n\n if (!this.node) {\n this.node = {\n type: 'text',\n value: ''\n };\n this.list.push(this.node);\n }\n\n if (chr === '\\n') {\n // Convert newlines to spaces. Carriage return is ignored as \\r and \\n usually\n // go together anyway and there already is a WS for \\n. Lone \\r means something is fishy.\n chr = ' ';\n }\n\n if (chr.charCodeAt(0) >= 0x21 || [' ', '\\t'].includes(chr)) {\n // skip command bytes\n this.node.value += chr;\n }\n\n this.escaped = false;\n }\n}\n\n/**\n * Parses structured e-mail addresses from an address field\n *\n * Example:\n *\n * 'Name '\n *\n * will be converted to\n *\n * [{name: 'Name', address: 'address@domain'}]\n *\n * @param {String} str Address field\n * @return {Array} An array of address objects\n */\nfunction addressparser(str, options) {\n options = options || {};\n\n let tokenizer = new Tokenizer(str);\n let tokens = tokenizer.tokenize();\n\n let addresses = [];\n let address = [];\n let parsedAddresses = [];\n\n tokens.forEach(token => {\n if (token.type === 'operator' && (token.value === ',' || token.value === ';')) {\n if (address.length) {\n addresses.push(address);\n }\n address = [];\n } else {\n address.push(token);\n }\n });\n\n if (address.length) {\n addresses.push(address);\n }\n\n addresses.forEach(address => {\n address = _handleAddress(address);\n if (address.length) {\n parsedAddresses = parsedAddresses.concat(address);\n }\n });\n\n if (options.flatten) {\n let addresses = [];\n let walkAddressList = list => {\n list.forEach(address => {\n if (address.group) {\n return walkAddressList(address.group);\n } else {\n addresses.push(address);\n }\n });\n };\n walkAddressList(parsedAddresses);\n return addresses;\n }\n\n return parsedAddresses;\n}\n\n// expose to the world\nmodule.exports = addressparser;\n","var common = require('./common');\nvar fs = require('fs');\nvar path = require('path');\n\ncommon.register('toEnd', _toEnd, {\n pipeOnly: true,\n wrapOutput: false,\n});\n\n//@\n//@ ### ShellString.prototype.toEnd(file)\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ cat('input.txt').toEnd('output.txt');\n//@ ```\n//@\n//@ Analogous to the redirect-and-append operator `>>` in Unix, but works with\n//@ `ShellStrings` (such as those returned by `cat`, `grep`, etc.).\nfunction _toEnd(options, file) {\n if (!file) common.error('wrong arguments');\n\n if (!fs.existsSync(path.dirname(file))) {\n common.error('no such file or directory: ' + path.dirname(file));\n }\n\n try {\n fs.appendFileSync(file, this.stdout || this.toString(), 'utf8');\n return this;\n } catch (e) {\n /* istanbul ignore next */\n common.error('could not append to file (code ' + e.code + '): ' + file, { continue: true });\n }\n}\nmodule.exports = _toEnd;\n","module.exports = globSync\nglobSync.GlobSync = GlobSync\n\nvar fs = require('fs')\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 alphasort = common.alphasort\nvar alphasorti = common.alphasorti\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(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(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) || isAbsolute(pattern.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 = 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, 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 = 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 = 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","'use strict';\nconst os = require('os');\nconst hasFlag = require('has-flag');\n\nconst env = process.env;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false')) {\n\tforceColor = false;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = true;\n}\nif ('FORCE_COLOR' in env) {\n\tforceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(stream) {\n\tif (forceColor === false) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (stream && !stream.isTTY && forceColor !== true) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor ? 1 : 0;\n\n\tif (process.platform === 'win32') {\n\t\t// Node.js 7.5.0 is the first version of Node.js to include a patch to\n\t\t// libuv that enables 256 color output on Windows. Anything earlier and it\n\t\t// won't work. However, here we target Node.js 8 at minimum as it is an LTS\n\t\t// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows\n\t\t// release that supports 256 colors. Windows 10 build 14931 is the first release\n\t\t// that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(process.versions.node.split('.')[0]) >= 8 &&\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: getSupportLevel(process.stdout),\n\tstderr: getSupportLevel(process.stderr)\n};\n","var constants = require('constants')\n\nvar origCwd = process.cwd\nvar cwd = null\n\nvar platform = process.env.GRACEFUL_FS_PLATFORM || process.platform\n\nprocess.cwd = function() {\n if (!cwd)\n cwd = origCwd.call(process)\n return cwd\n}\ntry {\n process.cwd()\n} catch (er) {}\n\nvar chdir = process.chdir\nprocess.chdir = function(d) {\n cwd = null\n chdir.call(process, d)\n}\n\nmodule.exports = patch\n\nfunction patch (fs) {\n // (re-)implement some things that are known busted or missing.\n\n // lchmod, broken prior to 0.6.2\n // back-port the fix here.\n if (constants.hasOwnProperty('O_SYMLINK') &&\n process.version.match(/^v0\\.6\\.[0-2]|^v0\\.5\\./)) {\n patchLchmod(fs)\n }\n\n // lutimes implementation, or no-op\n if (!fs.lutimes) {\n patchLutimes(fs)\n }\n\n // https://github.com/isaacs/node-graceful-fs/issues/4\n // Chown should not fail on einval or eperm if non-root.\n // It should not fail on enosys ever, as this just indicates\n // that a fs doesn't support the intended operation.\n\n fs.chown = chownFix(fs.chown)\n fs.fchown = chownFix(fs.fchown)\n fs.lchown = chownFix(fs.lchown)\n\n fs.chmod = chmodFix(fs.chmod)\n fs.fchmod = chmodFix(fs.fchmod)\n fs.lchmod = chmodFix(fs.lchmod)\n\n fs.chownSync = chownFixSync(fs.chownSync)\n fs.fchownSync = chownFixSync(fs.fchownSync)\n fs.lchownSync = chownFixSync(fs.lchownSync)\n\n fs.chmodSync = chmodFixSync(fs.chmodSync)\n fs.fchmodSync = chmodFixSync(fs.fchmodSync)\n fs.lchmodSync = chmodFixSync(fs.lchmodSync)\n\n fs.stat = statFix(fs.stat)\n fs.fstat = statFix(fs.fstat)\n fs.lstat = statFix(fs.lstat)\n\n fs.statSync = statFixSync(fs.statSync)\n fs.fstatSync = statFixSync(fs.fstatSync)\n fs.lstatSync = statFixSync(fs.lstatSync)\n\n // if lchmod/lchown do not exist, then make them no-ops\n if (!fs.lchmod) {\n fs.lchmod = function (path, mode, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchmodSync = function () {}\n }\n if (!fs.lchown) {\n fs.lchown = function (path, uid, gid, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchownSync = function () {}\n }\n\n // on Windows, A/V software can lock the directory, causing this\n // to fail with an EACCES or EPERM if the directory contains newly\n // created files. Try again on failure, for up to 60 seconds.\n\n // Set the timeout this long because some Windows Anti-Virus, such as Parity\n // bit9, may lock files for up to a minute, causing npm package install\n // failures. Also, take care to yield the scheduler. Windows scheduling gives\n // CPU to a busy looping process, which can cause the program causing the lock\n // contention to be starved of CPU by node, so the contention doesn't resolve.\n if (platform === \"win32\") {\n fs.rename = (function (fs$rename) { return function (from, to, cb) {\n var start = Date.now()\n var backoff = 0;\n fs$rename(from, to, function CB (er) {\n if (er\n && (er.code === \"EACCES\" || er.code === \"EPERM\")\n && Date.now() - start < 60000) {\n setTimeout(function() {\n fs.stat(to, function (stater, st) {\n if (stater && stater.code === \"ENOENT\")\n fs$rename(from, to, CB);\n else\n cb(er)\n })\n }, backoff)\n if (backoff < 100)\n backoff += 10;\n return;\n }\n if (cb) cb(er)\n })\n }})(fs.rename)\n }\n\n // if read() returns EAGAIN, then just try it again.\n fs.read = (function (fs$read) {\n function read (fd, buffer, offset, length, position, callback_) {\n var callback\n if (callback_ && typeof callback_ === 'function') {\n var eagCounter = 0\n callback = function (er, _, __) {\n if (er && er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n callback_.apply(this, arguments)\n }\n }\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n\n // This ensures `util.promisify` works as it does for native `fs.read`.\n read.__proto__ = fs$read\n return read\n })(fs.read)\n\n fs.readSync = (function (fs$readSync) { return function (fd, buffer, offset, length, position) {\n var eagCounter = 0\n while (true) {\n try {\n return fs$readSync.call(fs, fd, buffer, offset, length, position)\n } catch (er) {\n if (er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n continue\n }\n throw er\n }\n }\n }})(fs.readSync)\n\n function patchLchmod (fs) {\n fs.lchmod = function (path, mode, callback) {\n fs.open( path\n , constants.O_WRONLY | constants.O_SYMLINK\n , mode\n , function (err, fd) {\n if (err) {\n if (callback) callback(err)\n return\n }\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n fs.fchmod(fd, mode, function (err) {\n fs.close(fd, function(err2) {\n if (callback) callback(err || err2)\n })\n })\n })\n }\n\n fs.lchmodSync = function (path, mode) {\n var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)\n\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n var threw = true\n var ret\n try {\n ret = fs.fchmodSync(fd, mode)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n }\n\n function patchLutimes (fs) {\n if (constants.hasOwnProperty(\"O_SYMLINK\")) {\n fs.lutimes = function (path, at, mt, cb) {\n fs.open(path, constants.O_SYMLINK, function (er, fd) {\n if (er) {\n if (cb) cb(er)\n return\n }\n fs.futimes(fd, at, mt, function (er) {\n fs.close(fd, function (er2) {\n if (cb) cb(er || er2)\n })\n })\n })\n }\n\n fs.lutimesSync = function (path, at, mt) {\n var fd = fs.openSync(path, constants.O_SYMLINK)\n var ret\n var threw = true\n try {\n ret = fs.futimesSync(fd, at, mt)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n\n } else {\n fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }\n fs.lutimesSync = function () {}\n }\n }\n\n function chmodFix (orig) {\n if (!orig) return orig\n return function (target, mode, cb) {\n return orig.call(fs, target, mode, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chmodFixSync (orig) {\n if (!orig) return orig\n return function (target, mode) {\n try {\n return orig.call(fs, target, mode)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n\n function chownFix (orig) {\n if (!orig) return orig\n return function (target, uid, gid, cb) {\n return orig.call(fs, target, uid, gid, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chownFixSync (orig) {\n if (!orig) return orig\n return function (target, uid, gid) {\n try {\n return orig.call(fs, target, uid, gid)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n function statFix (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = null\n }\n function callback (er, stats) {\n if (stats) {\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n }\n if (cb) cb.apply(this, arguments)\n }\n return options ? orig.call(fs, target, options, callback)\n : orig.call(fs, target, callback)\n }\n }\n\n function statFixSync (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options) {\n var stats = options ? orig.call(fs, target, options)\n : orig.call(fs, target)\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n return stats;\n }\n }\n\n // ENOSYS means that the fs doesn't support the op. Just ignore\n // that, because it doesn't matter.\n //\n // if there's no getuid, or if getuid() is something other\n // than 0, and the error is EINVAL or EPERM, then just ignore\n // it.\n //\n // This specific case is a silent failure in cp, install, tar,\n // and most other unix tools that manage permissions.\n //\n // When running as root, or if other types of errors are\n // encountered, then it's strict.\n function chownErOk (er) {\n if (!er)\n return true\n\n if (er.code === \"ENOSYS\")\n return true\n\n var nonroot = !process.getuid || process.getuid() !== 0\n if (nonroot) {\n if (er.code === \"EINVAL\" || er.code === \"EPERM\")\n return true\n }\n\n return false\n }\n}\n","'use strict';\n\nconst EventEmitter = require('events');\nconst shared = require('../shared');\nconst mimeTypes = require('../mime-funcs/mime-types');\nconst MailComposer = require('../mail-composer');\nconst DKIM = require('../dkim');\nconst httpProxyClient = require('../smtp-connection/http-proxy-client');\nconst util = require('util');\nconst urllib = require('url');\nconst packageData = require('../../package.json');\nconst MailMessage = require('./mail-message');\nconst net = require('net');\nconst dns = require('dns');\nconst crypto = require('crypto');\n\n/**\n * Creates an object for exposing the Mail API\n *\n * @constructor\n * @param {Object} transporter Transport object instance to pass the mails to\n */\nclass Mail extends EventEmitter {\n constructor(transporter, options, defaults) {\n super();\n\n this.options = options || {};\n this._defaults = defaults || {};\n\n this._defaultPlugins = {\n compile: [(...args) => this._convertDataImages(...args)],\n stream: []\n };\n\n this._userPlugins = {\n compile: [],\n stream: []\n };\n\n this.meta = new Map();\n\n this.dkim = this.options.dkim ? new DKIM(this.options.dkim) : false;\n\n this.transporter = transporter;\n this.transporter.mailer = this;\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'mail'\n });\n\n this.logger.debug(\n {\n tnx: 'create'\n },\n 'Creating transport: %s',\n this.getVersionString()\n );\n\n // setup emit handlers for the transporter\n if (typeof this.transporter.on === 'function') {\n // deprecated log interface\n this.transporter.on('log', log => {\n this.logger.debug(\n {\n tnx: 'transport'\n },\n '%s: %s',\n log.type,\n log.message\n );\n });\n\n // transporter errors\n this.transporter.on('error', err => {\n this.logger.error(\n {\n err,\n tnx: 'transport'\n },\n 'Transport Error: %s',\n err.message\n );\n this.emit('error', err);\n });\n\n // indicates if the sender has became idle\n this.transporter.on('idle', (...args) => {\n this.emit('idle', ...args);\n });\n }\n\n /**\n * Optional methods passed to the underlying transport object\n */\n ['close', 'isIdle', 'verify'].forEach(method => {\n this[method] = (...args) => {\n if (typeof this.transporter[method] === 'function') {\n return this.transporter[method](...args);\n } else {\n this.logger.warn(\n {\n tnx: 'transport',\n methodName: method\n },\n 'Non existing method %s called for transport',\n method\n );\n return false;\n }\n };\n });\n\n // setup proxy handling\n if (this.options.proxy && typeof this.options.proxy === 'string') {\n this.setupProxy(this.options.proxy);\n }\n }\n\n use(step, plugin) {\n step = (step || '').toString();\n if (!this._userPlugins.hasOwnProperty(step)) {\n this._userPlugins[step] = [plugin];\n } else {\n this._userPlugins[step].push(plugin);\n }\n\n return this;\n }\n\n /**\n * Sends an email using the preselected transport object\n *\n * @param {Object} data E-data description\n * @param {Function?} callback Callback to run once the sending succeeded or failed\n */\n sendMail(data, callback) {\n let promise;\n\n if (!callback) {\n promise = new Promise((resolve, reject) => {\n callback = shared.callbackPromise(resolve, reject);\n });\n }\n\n if (typeof this.getSocket === 'function') {\n this.transporter.getSocket = this.getSocket;\n this.getSocket = false;\n }\n\n let mail = new MailMessage(this, data);\n\n this.logger.debug(\n {\n tnx: 'transport',\n name: this.transporter.name,\n version: this.transporter.version,\n action: 'send'\n },\n 'Sending mail using %s/%s',\n this.transporter.name,\n this.transporter.version\n );\n\n this._processPlugins('compile', mail, err => {\n if (err) {\n this.logger.error(\n {\n err,\n tnx: 'plugin',\n action: 'compile'\n },\n 'PluginCompile Error: %s',\n err.message\n );\n return callback(err);\n }\n\n mail.message = new MailComposer(mail.data).compile();\n\n mail.setMailerHeader();\n mail.setPriorityHeaders();\n mail.setListHeaders();\n\n this._processPlugins('stream', mail, err => {\n if (err) {\n this.logger.error(\n {\n err,\n tnx: 'plugin',\n action: 'stream'\n },\n 'PluginStream Error: %s',\n err.message\n );\n return callback(err);\n }\n\n if (mail.data.dkim || this.dkim) {\n mail.message.processFunc(input => {\n let dkim = mail.data.dkim ? new DKIM(mail.data.dkim) : this.dkim;\n this.logger.debug(\n {\n tnx: 'DKIM',\n messageId: mail.message.messageId(),\n dkimDomains: dkim.keys.map(key => key.keySelector + '.' + key.domainName).join(', ')\n },\n 'Signing outgoing message with %s keys',\n dkim.keys.length\n );\n return dkim.sign(input, mail.data._dkim);\n });\n }\n\n this.transporter.send(mail, (...args) => {\n if (args[0]) {\n this.logger.error(\n {\n err: args[0],\n tnx: 'transport',\n action: 'send'\n },\n 'Send Error: %s',\n args[0].message\n );\n }\n callback(...args);\n });\n });\n });\n\n return promise;\n }\n\n getVersionString() {\n return util.format('%s (%s; +%s; %s/%s)', packageData.name, packageData.version, packageData.homepage, this.transporter.name, this.transporter.version);\n }\n\n _processPlugins(step, mail, callback) {\n step = (step || '').toString();\n\n if (!this._userPlugins.hasOwnProperty(step)) {\n return callback();\n }\n\n let userPlugins = this._userPlugins[step] || [];\n let defaultPlugins = this._defaultPlugins[step] || [];\n\n if (userPlugins.length) {\n this.logger.debug(\n {\n tnx: 'transaction',\n pluginCount: userPlugins.length,\n step\n },\n 'Using %s plugins for %s',\n userPlugins.length,\n step\n );\n }\n\n if (userPlugins.length + defaultPlugins.length === 0) {\n return callback();\n }\n\n let pos = 0;\n let block = 'default';\n let processPlugins = () => {\n let curplugins = block === 'default' ? defaultPlugins : userPlugins;\n if (pos >= curplugins.length) {\n if (block === 'default' && userPlugins.length) {\n block = 'user';\n pos = 0;\n curplugins = userPlugins;\n } else {\n return callback();\n }\n }\n let plugin = curplugins[pos++];\n plugin(mail, err => {\n if (err) {\n return callback(err);\n }\n processPlugins();\n });\n };\n\n processPlugins();\n }\n\n /**\n * Sets up proxy handler for a Nodemailer object\n *\n * @param {String} proxyUrl Proxy configuration url\n */\n setupProxy(proxyUrl) {\n let proxy = urllib.parse(proxyUrl);\n\n // setup socket handler for the mailer object\n this.getSocket = (options, callback) => {\n let protocol = proxy.protocol.replace(/:$/, '').toLowerCase();\n\n if (this.meta.has('proxy_handler_' + protocol)) {\n return this.meta.get('proxy_handler_' + protocol)(proxy, options, callback);\n }\n\n switch (protocol) {\n // Connect using a HTTP CONNECT method\n case 'http':\n case 'https':\n httpProxyClient(proxy.href, options.port, options.host, (err, socket) => {\n if (err) {\n return callback(err);\n }\n return callback(null, {\n connection: socket\n });\n });\n return;\n case 'socks':\n case 'socks5':\n case 'socks4':\n case 'socks4a': {\n if (!this.meta.has('proxy_socks_module')) {\n return callback(new Error('Socks module not loaded'));\n }\n let connect = ipaddress => {\n let proxyV2 = !!this.meta.get('proxy_socks_module').SocksClient;\n let socksClient = proxyV2 ? this.meta.get('proxy_socks_module').SocksClient : this.meta.get('proxy_socks_module');\n let proxyType = Number(proxy.protocol.replace(/\\D/g, '')) || 5;\n let connectionOpts = {\n proxy: {\n ipaddress,\n port: Number(proxy.port),\n type: proxyType\n },\n [proxyV2 ? 'destination' : 'target']: {\n host: options.host,\n port: options.port\n },\n command: 'connect'\n };\n\n if (proxy.auth) {\n let username = decodeURIComponent(proxy.auth.split(':').shift());\n let password = decodeURIComponent(proxy.auth.split(':').pop());\n if (proxyV2) {\n connectionOpts.proxy.userId = username;\n connectionOpts.proxy.password = password;\n } else if (proxyType === 4) {\n connectionOpts.userid = username;\n } else {\n connectionOpts.authentication = {\n username,\n password\n };\n }\n }\n\n socksClient.createConnection(connectionOpts, (err, info) => {\n if (err) {\n return callback(err);\n }\n return callback(null, {\n connection: info.socket || info\n });\n });\n };\n\n if (net.isIP(proxy.hostname)) {\n return connect(proxy.hostname);\n }\n\n return dns.resolve(proxy.hostname, (err, address) => {\n if (err) {\n return callback(err);\n }\n connect(Array.isArray(address) ? address[0] : address);\n });\n }\n }\n callback(new Error('Unknown proxy configuration'));\n };\n }\n\n _convertDataImages(mail, callback) {\n if ((!this.options.attachDataUrls && !mail.data.attachDataUrls) || !mail.data.html) {\n return callback();\n }\n mail.resolveContent(mail.data, 'html', (err, html) => {\n if (err) {\n return callback(err);\n }\n let cidCounter = 0;\n html = (html || '').toString().replace(/(]* src\\s*=[\\s\"']*)(data:([^;]+);[^\"'>\\s]+)/gi, (match, prefix, dataUri, mimeType) => {\n let cid = crypto.randomBytes(10).toString('hex') + '@localhost';\n if (!mail.data.attachments) {\n mail.data.attachments = [];\n }\n if (!Array.isArray(mail.data.attachments)) {\n mail.data.attachments = [].concat(mail.data.attachments || []);\n }\n mail.data.attachments.push({\n path: dataUri,\n cid,\n filename: 'image-' + ++cidCounter + '.' + mimeTypes.detectExtension(mimeType)\n });\n return prefix + 'cid:' + cid;\n });\n mail.data.html = html;\n callback();\n });\n }\n\n set(key, value) {\n return this.meta.set(key, value);\n }\n\n get(key) {\n return this.meta.get(key);\n }\n}\n\nmodule.exports = Mail;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe23',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20f0';\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 'ss'\n};\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","'use strict';\n\nmodule.exports = [\n\t['&', ' and '],\n\t['🦄', ' unicorn '],\n\t['♥', ' love ']\n];\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):((e=\"undefined\"!=typeof globalThis?globalThis:e||self).prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.typescript=t())}(this,(function(){\"use strict\";var e=function(e,t){const r=new SyntaxError(e+\" (\"+t.start.line+\":\"+t.start.column+\")\");return r.loc=t,r},t=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function r(e,t,r){return e(r={path:t,exports:{},require:function(e,t){return i(null==t&&r.path)}},r.exports),r.exports}function n(e){return e&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function i(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}var a=Object.freeze({__proto__:null,default:{EOL:\"\\n\",platform:()=>\"browser\",cpus:()=>[{model:\"Prettier\"}]}});const o=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");const t=e.match(/(?:\\r?\\n)/g)||[];if(0===t.length)return;const r=t.filter((e=>\"\\r\\n\"===e)).length;return r>t.length-r?\"\\r\\n\":\"\\n\"};var s=o;s.graceful=e=>\"string\"==typeof e&&o(e)||\"\\n\";var c=n(a),u=r((function(e,t){function r(){const e=c;return r=function(){return e},e}function n(){const e=(t=s)&&t.__esModule?t:{default:t};var t;return n=function(){return e},e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.extract=function(e){const t=e.match(o);return t?t[0].trimLeft():\"\"},t.strip=function(e){const t=e.match(o);return t&&t[0]?e.substring(t[0].length):e},t.parse=function(e){return g(e).pragmas},t.parseWithComments=g,t.print=function({comments:e=\"\",pragmas:t={}}){const i=(0,n().default)(e)||r().EOL,a=\" *\",o=Object.keys(t),s=o.map((e=>m(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>\" * \"+e+i)).join(\"\");if(!e){if(0===o.length)return\"\";if(1===o.length&&!Array.isArray(t[o[0]])){const e=t[o[0]];return\"\".concat(\"/**\",\" \").concat(m(o[0],e)[0]).concat(\" */\")}}const c=e.split(i).map((e=>\"\".concat(a,\" \").concat(e))).join(i)+i;return\"/**\"+i+(e?c:\"\")+(e&&o.length?a+i:\"\")+s+\" */\"};const i=/\\*\\/$/,a=/^\\/\\*\\*/,o=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,u=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,l=/^(\\r?\\n)+/,d=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,_=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,p=/(\\r?\\n|^) *\\* ?/g,f=[];function g(e){const t=(0,n().default)(e)||r().EOL;e=e.replace(a,\"\").replace(i,\"\").replace(p,\"$1\");let o=\"\";for(;o!==e;)o=e,e=e.replace(d,\"\".concat(t,\"$1 $2\").concat(t));e=e.replace(l,\"\").trimRight();const s=Object.create(null),c=e.replace(_,\"\").replace(l,\"\").trimRight();let g;for(;g=_.exec(e);){const e=g[2].replace(u,\"\");\"string\"==typeof s[g[1]]||Array.isArray(s[g[1]])?s[g[1]]=f.concat(s[g[1]],e):s[g[1]]=e}return{comments:c,pragmas:s}}function m(e,t){return f.concat(t).map((t=>\"@\".concat(e,\" \").concat(t).trim()))}})),l=e=>\"string\"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(t,e?void 0:\"g\")})(),\"\"):e;const d=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var _=d,p=d;_.default=p;const f=e=>{if(\"string\"!=typeof(e=e.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\" \"))||0===e.length)return 0;e=l(e);let t=0;for(let r=0;r=127&&n<=159||(n>=768&&n<=879||(n>65535&&r++,t+=_(n)?2:1))}return t};var g=f,m=f;g.default=m;var y=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function v(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var h=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{};function D(){throw new Error(\"setTimeout has not been defined\")}function x(){throw new Error(\"clearTimeout has not been defined\")}var b=D,S=x;function E(e){if(b===setTimeout)return setTimeout(e,0);if((b===D||!b)&&setTimeout)return b=setTimeout,setTimeout(e,0);try{return b(e,0)}catch(t){try{return b.call(null,e,0)}catch(t){return b.call(this,e,0)}}}\"function\"==typeof h.setTimeout&&(b=setTimeout),\"function\"==typeof h.clearTimeout&&(S=clearTimeout);var T,C=[],k=!1,A=-1;function F(){k&&T&&(k=!1,T.length?C=T.concat(C):A=-1,C.length&&N())}function N(){if(!k){var e=E(F);k=!0;for(var t=C.length;t;){for(T=C,C=[];++A1)for(var r=1;rconsole.error(\"SEMVER\",...e):()=>{};var W={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},H=r((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=W,n=(t=e.exports={}).re=[],i=t.src=[],a=t.t={};let o=0;const s=(e,t,r)=>{const s=o++;q(s,t),a[e]=s,i[s]=t,n[s]=new RegExp(t,r?\"g\":void 0)};s(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),s(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),s(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),s(\"MAINVERSION\",\"(\".concat(i[a.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(i[a.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(i[a.NUMERICIDENTIFIER],\")\")),s(\"MAINVERSIONLOOSE\",\"(\".concat(i[a.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(i[a.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(i[a.NUMERICIDENTIFIERLOOSE],\")\")),s(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(i[a.NUMERICIDENTIFIER],\"|\").concat(i[a.NONNUMERICIDENTIFIER],\")\")),s(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(i[a.NUMERICIDENTIFIERLOOSE],\"|\").concat(i[a.NONNUMERICIDENTIFIER],\")\")),s(\"PRERELEASE\",\"(?:-(\".concat(i[a.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(i[a.PRERELEASEIDENTIFIER],\")*))\")),s(\"PRERELEASELOOSE\",\"(?:-?(\".concat(i[a.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(i[a.PRERELEASEIDENTIFIERLOOSE],\")*))\")),s(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),s(\"BUILD\",\"(?:\\\\+(\".concat(i[a.BUILDIDENTIFIER],\"(?:\\\\.\").concat(i[a.BUILDIDENTIFIER],\")*))\")),s(\"FULLPLAIN\",\"v?\".concat(i[a.MAINVERSION]).concat(i[a.PRERELEASE],\"?\").concat(i[a.BUILD],\"?\")),s(\"FULL\",\"^\".concat(i[a.FULLPLAIN],\"$\")),s(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(i[a.MAINVERSIONLOOSE]).concat(i[a.PRERELEASELOOSE],\"?\").concat(i[a.BUILD],\"?\")),s(\"LOOSE\",\"^\".concat(i[a.LOOSEPLAIN],\"$\")),s(\"GTLT\",\"((?:<|>)?=?)\"),s(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(i[a.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),s(\"XRANGEIDENTIFIER\",\"\".concat(i[a.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),s(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(i[a.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(i[a.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(i[a.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(i[a.PRERELEASE],\")?\").concat(i[a.BUILD],\"?\")+\")?)?\"),s(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(i[a.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(i[a.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(i[a.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(i[a.PRERELEASELOOSE],\")?\").concat(i[a.BUILD],\"?\")+\")?)?\"),s(\"XRANGE\",\"^\".concat(i[a.GTLT],\"\\\\s*\").concat(i[a.XRANGEPLAIN],\"$\")),s(\"XRANGELOOSE\",\"^\".concat(i[a.GTLT],\"\\\\s*\").concat(i[a.XRANGEPLAINLOOSE],\"$\")),s(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(r,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(r,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(r,\"}))?\")+\"(?:$|[^\\\\d])\"),s(\"COERCERTL\",i[a.COERCE],!0),s(\"LONETILDE\",\"(?:~>?)\"),s(\"TILDETRIM\",\"(\\\\s*)\".concat(i[a.LONETILDE],\"\\\\s+\"),!0),t.tildeTrimReplace=\"$1~\",s(\"TILDE\",\"^\".concat(i[a.LONETILDE]).concat(i[a.XRANGEPLAIN],\"$\")),s(\"TILDELOOSE\",\"^\".concat(i[a.LONETILDE]).concat(i[a.XRANGEPLAINLOOSE],\"$\")),s(\"LONECARET\",\"(?:\\\\^)\"),s(\"CARETTRIM\",\"(\\\\s*)\".concat(i[a.LONECARET],\"\\\\s+\"),!0),t.caretTrimReplace=\"$1^\",s(\"CARET\",\"^\".concat(i[a.LONECARET]).concat(i[a.XRANGEPLAIN],\"$\")),s(\"CARETLOOSE\",\"^\".concat(i[a.LONECARET]).concat(i[a.XRANGEPLAINLOOSE],\"$\")),s(\"COMPARATORLOOSE\",\"^\".concat(i[a.GTLT],\"\\\\s*(\").concat(i[a.LOOSEPLAIN],\")$|^$\")),s(\"COMPARATOR\",\"^\".concat(i[a.GTLT],\"\\\\s*(\").concat(i[a.FULLPLAIN],\")$|^$\")),s(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(i[a.GTLT],\"\\\\s*(\").concat(i[a.LOOSEPLAIN],\"|\").concat(i[a.XRANGEPLAIN],\")\"),!0),t.comparatorTrimReplace=\"$1$2$3\",s(\"HYPHENRANGE\",\"^\\\\s*(\".concat(i[a.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(i[a.XRANGEPLAIN],\")\")+\"\\\\s*$\"),s(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(i[a.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(i[a.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),s(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),s(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),s(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")}));const G=/^[0-9]+$/,Y=(e,t)=>{const r=G.test(e),n=G.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:eY(t,e)};const{MAX_LENGTH:Q,MAX_SAFE_INTEGER:$}=W,{re:Z,t:ee}=H,{compareIdentifiers:te}=X;class re{constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof re){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \".concat(e));if(e.length>Q)throw new TypeError(\"version is longer than \".concat(Q,\" characters\"));q(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?Z[ee.LOOSE]:Z[ee.FULL]);if(!r)throw new TypeError(\"Invalid Version: \".concat(e));if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>$||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>$||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>$||this.patch<0)throw new TypeError(\"Invalid patch version\");r[4]?this.prerelease=r[4].split(\".\").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<$)return t}return e})):this.prerelease=[],this.build=r[5]?r[5].split(\".\"):[],this.format()}format(){return this.version=\"\".concat(this.major,\".\").concat(this.minor,\".\").concat(this.patch),this.prerelease.length&&(this.version+=\"-\".concat(this.prerelease.join(\".\"))),this.version}toString(){return this.version}compare(e){if(q(\"SemVer.compare\",this.version,this.options,e),!(e instanceof re)){if(\"string\"==typeof e&&e===this.version)return 0;e=new re(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof re||(e=new re(e,this.options)),te(this.major,e.major)||te(this.minor,e.minor)||te(this.patch,e.patch)}comparePre(e){if(e instanceof re||(e=new re(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{const r=this.prerelease[t],n=e.prerelease[t];if(q(\"prerelease compare\",t,r,n),void 0===r&&void 0===n)return 0;if(void 0===n)return 1;if(void 0===r)return-1;if(r!==n)return te(r,n)}while(++t)}compareBuild(e){e instanceof re||(e=new re(e,this.options));let t=0;do{const r=this.build[t],n=e.build[t];if(q(\"prerelease compare\",t,r,n),void 0===r&&void 0===n)return 0;if(void 0===n)return 1;if(void 0===r)return-1;if(r!==n)return te(r,n)}while(++t)}inc(e,t){switch(e){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",t);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",t);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"prerelease\":0===this.prerelease.length&&this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"major\":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case\"pre\":if(0===this.prerelease.length)this.prerelease=[0];else{let e=this.prerelease.length;for(;--e>=0;)\"number\"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(\"invalid increment argument: \".concat(e))}return this.format(),this.raw=this.version,this}}var ne=re;var ie=(e,t,r)=>new ne(e,r).compare(new ne(t,r));var ae=(e,t,r)=>ie(e,t,r)<0;var oe=(e,t,r)=>ie(e,t,r)>=0,se=\"2.2.0\",ce=r((function(e,t){function r(){for(var e=[],t=0;t\"string\"==typeof e||\"function\"==typeof e,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:he,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin\",cliCategory:me},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:he,description:ge(_e()),exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin-search-dir\",cliCategory:me},printWidth:{since:\"0.0.0\",category:he,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:De,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:ge(de()),cliCategory:ye},rangeStart:{since:\"1.4.0\",category:De,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:ge(le()),cliCategory:ye},requirePragma:{since:\"1.7.0\",category:De,type:\"boolean\",default:!1,description:ge(ue()),cliCategory:ve},tabWidth:{type:\"int\",category:he,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:he,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:he,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};const be={compare:ie,lt:ae,gte:oe},Se=se,Ee={CATEGORY_CONFIG:me,CATEGORY_EDITOR:ye,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:ve,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:he,CATEGORY_SPECIAL:De,options:xe}.options;var Te={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:n=!1}={}){const i=Se.split(\"-\",1)[0],a=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(u),o=(s=Object.assign({},...e.map((({options:e})=>e)),Ee),c=\"name\",Object.entries(s).map((([e,t])=>Object.assign({[c]:e},t)))).filter((e=>u(e)&&l(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(i[r]=e[r]);return i}(e,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(u).sort(((e,t)=>be.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>u(e)&&l(e))),\"parser\"===t.name&&function(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const i of t)if(i.parsers)for(const t of i.parsers)if(!n.has(t)){n.add(t);const a=r.find((e=>e.parsers&&e.parsers[t]));let o=i.name;a&&a.name&&(o+=\" (plugin: \".concat(a.name,\")\")),e.choices.push({value:t,description:o})}}(t,a,e));const r=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,r)=>(e[r.name]=r.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:r})}));var s,c;return{languages:a,options:o};function u(e){return t||!(\"since\"in e)||e.since&&be.gte(i,e.since)}function l(e){return r||!(\"deprecated\"in e)||e.deprecated&&be.lt(i,e.deprecated)}}};const{getSupportInfo:Ce}=Te,ke=/[^\\x20-\\x7F]/;function Ae(e){return(t,r,n)=>{const i=n&&n.backwards;if(!1===r)return!1;const{length:a}=t;let o=r;for(;o>=0&&o(r.match(o.regex)||[]).length?o.quote:a.quote}return s}function ze(e,t,r){const n='\"'===t?\"'\":'\"',i=e.replace(/\\\\([\\S\\s])|([\"'])/g,((e,i,a)=>i===n?i:a===t?\"\\\\\"+a:a||(r&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(i)?i:\"\\\\\"+i)));return t+i+t}function Ue(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,\"JSXText\"===e.type&&(t.printed=!0)}var Ve={inferParserByLanguage:function(e,t){const{languages:r}=Ce({plugins:t.plugins}),n=r.find((({name:t})=>t.toLowerCase()===e))||r.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||r.find((({extensions:t})=>Array.isArray(t)&&t.includes(\".\".concat(e))));return n&&n.parsers[0]},replaceEndOfLineWith:function(e,t){const r=[];for(const n of e.split(\"\\n\"))0!==r.length&&r.push(t),r.push(n);return r},getStringWidth:function(e){return e?ke.test(e)?g(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp(\"(\".concat(y(t),\")+\"),\"g\"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp(\"(\".concat(y(t),\")+\"),\"g\"));if(null===r)return 0;const n=new Map;let i=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>i&&(i=r)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Be,getNextNonSpaceNonCommentCharacterIndex:je,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(je(e,t,r))},skip:Ae,skipWhitespace:Fe,skipSpaces:Ne,skipToLineEnd:Pe,skipEverythingButNewLine:we,skipInlineComment:Ie,skipTrailingComment:Oe,skipNewline:Me,isNextLineEmptyAfterIndex:Re,isNextLineEmpty:function(e,t,r){return Re(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=Ne(e,n,{backwards:!0}),n=Me(e,n,{backwards:!0}),n=Ne(e,n,{backwards:!0}),n!==Me(e,n,{backwards:!0})},hasNewline:Le,hasNewlineInRange:function(e,t,r){for(let n=t;n=0?\"\\n\"===e.charAt(t+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(e){switch(e){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(e,t){let r;if(\"\\n\"===t)r=/\\n/g;else if(\"\\r\"===t)r=/\\r/g;else{if(\"\\r\\n\"!==t)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(t),\".\"));r=/\\r\\n/g}const n=e.match(r);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\\r\\n?/g,\"\\n\")}};const{parseWithComments:We,strip:He,extract:Ge,print:Ye}=u,{getShebang:Xe}=Ve,{normalizeEndOfLine:Qe}=qe;function $e(e){const t=Xe(e);t&&(e=e.slice(t.length+1));const r=Ge(e),{pragmas:n,comments:i}=We(r);return{shebang:t,text:e,pragmas:n,comments:i}}var Ze={hasPragma:function(e){const t=Object.keys($e(e).pragmas);return t.includes(\"prettier\")||t.includes(\"format\")},insertPragma:function(e){const{shebang:t,text:r,pragmas:n,comments:i}=$e(e),a=He(r),o=Ye({pragmas:Object.assign({format:\"\"},n),comments:i.trimStart()});return(t?\"\".concat(t,\"\\n\"):\"\")+Qe(o)+(a.startsWith(\"\\n\")?\"\\n\":\"\\n\\n\")+a}};function et(e,t){const{ignoreDecorators:r}=t||{};if(!r){const t=e.declaration&&e.declaration.decorators||e.decorators;if(t&&t.length>0)return et(t[0])}return e.range?e.range[0]:e.start}function tt(e){const t=e.range?e.range[1]:e.end;return e.typeAnnotation?Math.max(t,tt(e.typeAnnotation)):t}function rt(e,t){return et(e)===et(t)}var nt={locStart:et,locEnd:tt,composeLoc:function(e,t=e){const r=et(e);return[r,\"number\"==typeof t?r+t:tt(t)]},hasSameLocStart:rt,hasSameLoc:function(e,t){return rt(e,t)&&function(e,t){return tt(e)===tt(t)}(e,t)}},it=r((function(e){!function(){function t(e){if(null==e)return!1;switch(e.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function r(e){switch(e.type){case\"IfStatement\":return null!=e.alternate?e.alternate:e.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:t,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&\"FunctionDeclaration\"===e.type},isProblematicIfStatement:function(e){var t;if(\"IfStatement\"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if(\"IfStatement\"===t.type&&null==t.alternate)return!0;t=r(t)}while(t);return!1},trailingStatement:r}}()})),at=r((function(e){!function(){var t,r,n,i,a,o;function s(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(r={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},t={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},n=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),o=0;o<128;++o)i[o]=o>=97&&o<=122||o>=65&&o<=90||36===o||95===o;for(a=new Array(128),o=0;o<128;++o)a[o]=o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||36===o||95===o;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&n.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?i[e]:r.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES5:function(e){return e<128?a[e]:r.NonAsciiIdentifierPart.test(s(e))},isIdentifierStartES6:function(e){return e<128?i[e]:t.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES6:function(e){return e<128?a[e]:t.NonAsciiIdentifierPart.test(s(e))}}}()})),ot=r((function(e){!function(){var t=at;function r(e,t){return!(!t&&\"yield\"===e)&&n(e,t)}function n(e,t){if(t&&function(e){switch(e){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return\"if\"===e||\"in\"===e||\"do\"===e;case 3:return\"var\"===e||\"for\"===e||\"new\"===e||\"try\"===e;case 4:return\"this\"===e||\"else\"===e||\"case\"===e||\"void\"===e||\"with\"===e||\"enum\"===e;case 5:return\"while\"===e||\"break\"===e||\"catch\"===e||\"throw\"===e||\"const\"===e||\"yield\"===e||\"class\"===e||\"super\"===e;case 6:return\"return\"===e||\"typeof\"===e||\"delete\"===e||\"switch\"===e||\"export\"===e||\"import\"===e;case 7:return\"default\"===e||\"finally\"===e||\"extends\"===e;case 8:return\"function\"===e||\"continue\"===e||\"debugger\"===e;case 10:return\"instanceof\"===e;default:return!1}}function i(e,t){return\"null\"===e||\"true\"===e||\"false\"===e||r(e,t)}function a(e,t){return\"null\"===e||\"true\"===e||\"false\"===e||n(e,t)}function o(e){var r,n,i;if(0===e.length)return!1;if(i=e.charCodeAt(0),!t.isIdentifierStartES5(i))return!1;for(r=1,n=e.length;r=n)return!1;if(!(56320<=(a=e.charCodeAt(r))&&a<=57343))return!1;i=1024*(i-55296)+(a-56320)+65536}if(!o(i))return!1;o=t.isIdentifierPartES6}return!0}e.exports={isKeywordES5:r,isKeywordES6:n,isReservedWordES5:i,isReservedWordES6:a,isRestrictedWord:function(e){return\"eval\"===e||\"arguments\"===e},isIdentifierNameES5:o,isIdentifierNameES6:s,isIdentifierES5:function(e,t){return o(e)&&!i(e,t)},isIdentifierES6:function(e,t){return s(e)&&!a(e,t)}}}()}));const st=r((function(e,t){t.ast=it,t.code=at,t.keyword=ot})).keyword.isIdentifierNameES5,{getLast:ct,hasNewline:ut,hasNewlineInRange:lt,skipWhitespace:dt}=Ve,{locStart:_t,locEnd:pt,hasSameLocStart:ft}=nt,gt=\"(?:(?=.)\\\\s)\",mt=new RegExp(\"^\".concat(gt,\"*:\")),yt=new RegExp(\"^\".concat(gt,\"*::\"));function vt(e,t){if(!e||\"object\"!=typeof e)return!1;if(Array.isArray(e))return e.some((e=>vt(e,t)));const r=t(e);return\"boolean\"==typeof r?r:Object.keys(e).some((r=>vt(e[r],t)))}function ht(e){return\"AssignmentExpression\"===e.type||\"BinaryExpression\"===e.type||\"LogicalExpression\"===e.type||\"NGPipeExpression\"===e.type||\"ConditionalExpression\"===e.type||\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type||\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type||\"SequenceExpression\"===e.type||\"TaggedTemplateExpression\"===e.type||\"BindExpression\"===e.type||\"UpdateExpression\"===e.type&&!e.prefix||\"TSAsExpression\"===e.type||\"TSNonNullExpression\"===e.type}function Dt(e){return e.expressions?e.expressions[0]:e.left||e.test||e.callee||e.object||e.tag||e.argument||e.expression}function xt(e){return\"Block\"===e.type||\"CommentBlock\"===e.type||\"MultiLine\"===e.type}const bt=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function St(e){return e&&bt.has(e.type)}function Et(e){return\"BooleanLiteral\"===e.type||\"DirectiveLiteral\"===e.type||\"Literal\"===e.type||\"NullLiteral\"===e.type||\"NumericLiteral\"===e.type||\"BigIntLiteral\"===e.type||\"DecimalLiteral\"===e.type||\"RegExpLiteral\"===e.type||\"StringLiteral\"===e.type||\"TemplateLiteral\"===e.type||\"TSTypeLiteral\"===e.type||\"JSXText\"===e.type}function Tt(e){return\"NumericLiteral\"===e.type||\"Literal\"===e.type&&\"number\"==typeof e.value}function Ct(e){return\"StringLiteral\"===e.type||\"Literal\"===e.type&&\"string\"==typeof e.value}function kt(e){return\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type}function At(e){return!(\"CallExpression\"!==e.type&&\"OptionalCallExpression\"!==e.type||\"Identifier\"!==e.callee.type||\"async\"!==e.callee.name&&\"inject\"!==e.callee.name&&\"fakeAsync\"!==e.callee.name)}function Ft(e){return\"JSXElement\"===e.type||\"JSXFragment\"===e.type}function Nt(e){return\"get\"===e.kind||\"set\"===e.kind}function Pt(e){return Nt(e)||ft(e,e.value)}const wt=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]);const It=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]);const Ot=/^(skip|[fx]?(it|describe|test))$/;function Mt(e){return\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type}const Lt=new RegExp(\"([ \\n\\r\\t]+)\"),Rt=new RegExp(\"[^ \\n\\r\\t]\");function Bt(e){return Et(e)&&(Rt.test(zt(e))||!/\\n/.test(zt(e)))}function jt(e,t){if(Ft(t))return $t(t);return t.comments&&t.comments.some((t=>t.leading&&ut(e,pt(t))))}function Jt(e){return/^(\\d+|\\d+\\.\\d+)$/.test(e)}function Kt(e){return e.quasis.some((e=>e.value.raw.includes(\"\\n\")))}function zt(e){return e.extra?e.extra.raw:e.raw}const Ut={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},Vt={\"*\":!0,\"/\":!0,\"%\":!0},qt={\">>\":!0,\">>>\":!0,\"<<\":!0};const Wt={};function Ht(e){return Wt[e]}[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].forEach(((e,t)=>{e.forEach((e=>{Wt[e]=t}))}));const Gt=new WeakMap;function Yt(e){if(Gt.has(e))return Gt.get(e);const t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),Gt.set(e,t),t}const Xt=new WeakMap;function Qt(e){return\"prettier-ignore\"===e.value.trim()}function $t(e){return e&&(e.comments&&e.comments.length>0&&e.comments.some((e=>Qt(e)&&!e.unignore))||e.prettierIgnore)}function Zt(e){return $t(e.getValue())}var er={classChildNeedsASIProtection:function(e){if(e){if(e.static||e.accessibility)return!1;if(!e.computed){const t=e.key&&e.key.name;if(\"in\"===t||\"instanceof\"===t)return!0}switch(e.type){case\"ClassProperty\":case\"FieldDefinition\":case\"TSAbstractClassProperty\":return e.computed;case\"MethodDefinition\":case\"TSAbstractMethodDefinition\":case\"ClassMethod\":case\"ClassPrivateMethod\":{const t=e.value?e.value.async:e.async,r=e.value?e.value.generator:e.generator;return!t&&\"get\"!==e.kind&&\"set\"!==e.kind&&!(!e.computed&&!r)}case\"TSIndexSignature\":return!0;default:return!1}}},classPropMayCauseASIProblems:function(e){const t=e.getNode();if(\"ClassProperty\"!==t.type&&\"FieldDefinition\"!==t.type)return!1;const r=t.key&&t.key.name;return!(\"static\"!==r&&\"get\"!==r&&\"set\"!==r||t.value||t.typeAnnotation)||void 0},getFunctionParameters:Yt,iterateFunctionParametersPath:function(e,t){const r=e.getValue();let n=0;const i=e=>t(e,n++);r.this&&e.call(i,\"this\"),Array.isArray(r.parameters)?e.each(i,\"parameters\"):Array.isArray(r.params)&&e.each(i,\"params\"),r.rest&&e.call(i,\"rest\")},getCallArguments:function(e){if(Xt.has(e))return Xt.get(e);const t=\"ImportExpression\"===e.type?[e.source]:e.arguments;return Xt.set(e,t),t},iterateCallArgumentsPath:function(e,t){\"ImportExpression\"===e.getValue().type?e.call((e=>t(e,0)),\"source\"):e.each(t,\"arguments\")},hasRestParameter:function(e){if(e.rest)return!0;const t=Yt(e);return t.length>0&&\"RestElement\"===ct(t).type},getLeftSidePathName:function(e,t){if(t.expressions)return[\"expressions\",0];if(t.left)return[\"left\"];if(t.test)return[\"test\"];if(t.object)return[\"object\"];if(t.callee)return[\"callee\"];if(t.tag)return[\"tag\"];if(t.argument)return[\"argument\"];if(t.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(e){const t=e.getParentNode();return\"declaration\"===e.getName()&&St(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return\"+\"===e?\"+\"+t:\"-\"===e?\"-\"+t:t},hasDanglingComments:function(e){return e.comments&&e.comments.some((e=>!e.leading&&!e.trailing))},hasFlowAnnotationComment:function(e){return e&&xt(e[0])&&yt.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&e.trailingComments&&xt(e.trailingComments[0])&&mt.test(e.trailingComments[0].value)},hasLeadingComment:function(e){return e.comments&&e.comments.some((e=>e.leading))},hasLeadingOwnLineComment:jt,hasNakedLeftSide:ht,hasNewlineBetweenOrAfterDecorators:function(e,t){return lt(t.originalText,_t(e.decorators[0]),pt(ct(e.decorators)))||ut(t.originalText,pt(ct(e.decorators)))},hasNgSideEffect:function(e){return vt(e.getValue(),(e=>{switch(e.type){case void 0:return!1;case\"CallExpression\":case\"OptionalCallExpression\":case\"AssignmentExpression\":return!0}}))},hasNode:vt,hasPrettierIgnore:function(e){return Zt(e)||function(e){const t=e.getValue(),r=e.getParentNode();if(!(r&&t&&Ft(t)&&Ft(r)))return!1;let n=null;for(let e=r.children.indexOf(t);e>0;e--){const t=r.children[e-1];if(\"JSXText\"!==t.type||Bt(t)){n=t;break}}return n&&\"JSXExpressionContainer\"===n.type&&\"JSXEmptyExpression\"===n.expression.type&&n.expression.comments&&n.expression.comments.some((e=>Qt(e)))}(e)},hasTrailingComment:function(e){return e.comments&&e.comments.some((e=>e.trailing))},hasTrailingLineComment:function(e){return e.comments&&e.comments.some((e=>e.trailing&&!xt(e)))},hasIgnoreComment:Zt,hasNodeIgnoreComment:$t,identity:function(e){return e},isBinaryish:function(e){return wt.has(e.type)},isBlockComment:xt,isLineComment:function(e){return\"Line\"===e.type||\"CommentLine\"===e.type||\"SingleLine\"===e.type||\"HashbangComment\"===e.type||\"HTMLOpen\"===e.type||\"HTMLClose\"===e.type},isPrettierIgnoreComment:Qt,isCallOrOptionalCallExpression:Mt,isEmptyJSXElement:function(e){if(0===e.children.length)return!0;if(e.children.length>1)return!1;const t=e.children[0];return Et(t)&&!Bt(t)},isExportDeclaration:St,isFlowAnnotationComment:function(e,t){const r=_t(t),n=dt(e,pt(t));return!1!==n&&\"/*\"===e.slice(r,r+2)&&\"*/\"===e.slice(n,n+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const r of e)if(kt(r)){if(t+=1,t>1)return!0}else if(Mt(r))for(const e of r.arguments)if(kt(e))return!0;return!1},isFunctionNotation:Pt,isFunctionOrArrowExpression:kt,isGetterOrSetter:Nt,isJestEachTemplateLiteral:function(e,t){const r=/^[fx]?(describe|it|test)$/;return\"TaggedTemplateExpression\"===t.type&&t.quasi===e&&\"MemberExpression\"===t.tag.type&&\"Identifier\"===t.tag.property.type&&\"each\"===t.tag.property.name&&(\"Identifier\"===t.tag.object.type&&r.test(t.tag.object.name)||\"MemberExpression\"===t.tag.object.type&&\"Identifier\"===t.tag.object.property.type&&(\"only\"===t.tag.object.property.name||\"skip\"===t.tag.object.property.name)&&\"Identifier\"===t.tag.object.object.type&&r.test(t.tag.object.object.name))},isJSXNode:Ft,isJSXWhitespaceExpression:function(e){return\"JSXExpressionContainer\"===e.type&&Et(e.expression)&&\" \"===e.expression.value&&!e.expression.comments},isLastStatement:function(e){const t=e.getParentNode();if(!t)return!0;const r=e.getValue(),n=(t.body||t.consequent).filter((e=>\"EmptyStatement\"!==e.type));return n[n.length-1]===r},isLiteral:Et,isLongCurriedCallExpression:function(e){const t=e.getValue(),r=e.getParentNode();return Mt(t)&&Mt(r)&&r.callee===t&&t.arguments.length>r.arguments.length&&r.arguments.length>0},isSimpleCallArgument:function e(t,r){if(r>=2)return!1;const n=t=>e(t,r+1),i=\"Literal\"===t.type&&\"regex\"in t&&t.regex.pattern||\"RegExpLiteral\"===t.type&&t.pattern;return!(i&&i.length>5)&&(\"Literal\"===t.type||\"BigIntLiteral\"===t.type||\"DecimalLiteral\"===t.type||\"BooleanLiteral\"===t.type||\"NullLiteral\"===t.type||\"NumericLiteral\"===t.type||\"RegExpLiteral\"===t.type||\"StringLiteral\"===t.type||\"Identifier\"===t.type||\"ThisExpression\"===t.type||\"Super\"===t.type||\"PrivateName\"===t.type||\"ArgumentPlaceholder\"===t.type||\"Import\"===t.type||(\"TemplateLiteral\"===t.type?t.expressions.every(n):\"ObjectExpression\"===t.type?t.properties.every((e=>!e.computed&&(e.shorthand||e.value&&n(e.value)))):\"ArrayExpression\"===t.type?t.elements.every((e=>null===e||n(e))):\"ImportExpression\"===t.type?n(t.source):\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type||\"NewExpression\"===t.type?e(t.callee,r)&&t.arguments.every(n):\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type?e(t.object,r)&&e(t.property,r):\"UnaryExpression\"!==t.type||\"!\"!==t.operator&&\"-\"!==t.operator?\"TSNonNullExpression\"===t.type&&e(t.expression,r):e(t.argument,r)))},isMeaningfulJSXText:Bt,isMemberExpressionChain:function e(t){return(\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type)&&(\"Identifier\"===t.object.type||e(t.object))},isMemberish:function(e){return\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type||\"BindExpression\"===e.type&&Boolean(e.object)},isNgForOf:function(e,t,r){return\"NGMicrosyntaxKeyedExpression\"===e.type&&\"of\"===e.key.name&&1===t&&\"NGMicrosyntaxLet\"===r.body[0].type&&null===r.body[0].value},isNumericLiteral:Tt,isObjectType:function(e){return\"ObjectTypeAnnotation\"===e.type||\"TSTypeLiteral\"===e.type},isObjectTypePropertyAFunction:function(e){return!(\"ObjectTypeProperty\"!==e.type&&\"ObjectTypeInternalSlot\"!==e.type||\"FunctionTypeAnnotation\"!==e.value.type||e.static||Pt(e))},isSimpleType:function(e){return!!e&&(!(\"GenericTypeAnnotation\"!==e.type&&\"TSTypeReference\"!==e.type||e.typeParameters)||!!It.has(e.type))},isSimpleNumber:Jt,isSimpleTemplateLiteral:function(e){let t=\"expressions\";\"TSTemplateLiteralType\"===e.type&&(t=\"types\");const r=e[t];return 0!==r.length&&r.every((e=>{if(e.comments)return!1;if(\"Identifier\"===e.type||\"ThisExpression\"===e.type)return!0;if(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type){let t=e;for(;\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type;){if(\"Identifier\"!==t.property.type&&\"Literal\"!==t.property.type&&\"StringLiteral\"!==t.property.type&&\"NumericLiteral\"!==t.property.type)return!1;if(t=t.object,t.comments)return!1}return\"Identifier\"===t.type||\"ThisExpression\"===t.type}return!1}))},isStringLiteral:Ct,isStringPropSafeToUnquote:function(e,t){return\"json\"!==t.parser&&Ct(e.key)&&zt(e.key).slice(1,-1)===e.key.value&&(st(e.key.value)&&!((\"typescript\"===t.parser||\"babel-ts\"===t.parser)&&\"ClassProperty\"===e.type)||Jt(e.key.value)&&String(Number(e.key.value))===e.key.value&&(\"babel\"===t.parser||\"espree\"===t.parser||\"meriyah\"===t.parser))},isTemplateOnItsOwnLine:function(e,t){return(\"TemplateLiteral\"===e.type&&Kt(e)||\"TaggedTemplateExpression\"===e.type&&Kt(e.quasi))&&!ut(t,_t(e),{backwards:!0})},isTestCall:function e(t,r){if(\"CallExpression\"!==t.type)return!1;if(1===t.arguments.length){if(At(t)&&r&&e(r))return kt(t.arguments[0]);if(function(e){return\"Identifier\"===e.callee.type&&/^(before|after)(Each|All)$/.test(e.callee.name)&&1===e.arguments.length}(t))return At(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&(\"Identifier\"===t.callee.type&&Ot.test(t.callee.name)||function(e){return(\"MemberExpression\"===e.callee.type||\"OptionalMemberExpression\"===e.callee.type)&&\"Identifier\"===e.callee.object.type&&\"Identifier\"===e.callee.property.type&&Ot.test(e.callee.object.name)&&(\"only\"===e.callee.property.name||\"skip\"===e.callee.property.name)}(t))&&(function(e){return\"TemplateLiteral\"===e.type}(t.arguments[0])||Ct(t.arguments[0])))return!(t.arguments[2]&&!Tt(t.arguments[2]))&&((2===t.arguments.length?kt(t.arguments[1]):function(e){return\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type&&\"BlockStatement\"===e.body.type}(t.arguments[1])&&Yt(t.arguments[1]).length<=1)||At(t.arguments[1]));return!1},isTheOnlyJSXElementInMarkdown:function(e,t){if(\"markdown\"!==e.parentParser&&\"mdx\"!==e.parentParser)return!1;const r=t.getNode();if(!r.expression||!Ft(r.expression))return!1;const n=t.getParentNode();return\"Program\"===n.type&&1===n.body.length},isTSXFile:function(e){return e.filepath&&/\\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!(\"TypeAnnotation\"!==e.type&&\"TSTypeAnnotation\"!==e.type||\"FunctionTypeAnnotation\"!==e.typeAnnotation.type||e.static||ft(e,e.typeAnnotation))},matchJsxWhitespaceRegex:Lt,needsHardlineAfterDanglingComment:function(e){if(!e.comments)return!1;const t=ct(e.comments.filter((e=>!e.leading&&!e.trailing)));return t&&!xt(t)},rawText:zt,returnArgumentHasLeadingComment:function(e,t){if(jt(e.originalText,t))return!0;if(ht(t)){let r,n=t;for(;r=Dt(n);)if(n=r,jt(e.originalText,n))return!0}return!1},shouldPrintComma:function(e,t=\"es5\"){return\"es5\"===e.trailingComma&&\"es5\"===t||\"all\"===e.trailingComma&&(\"all\"===t||\"es5\"===t)},isBitwiseOperator:function(e){return!!qt[e]||\"|\"===e||\"^\"===e||\"&\"===e},shouldFlatten:function(e,t){return Ht(t)===Ht(e)&&(\"**\"!==e&&((!Ut[e]||!Ut[t])&&(!(\"%\"===t&&Vt[e]||\"%\"===e&&Vt[t])&&((t===e||!Vt[t]||!Vt[e])&&(!qt[e]||!qt[t])))))},startsWithNoLookaheadToken:function e(t,r){switch((t=function(e){for(;e.left;)e=e.left;return e}(t)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return r;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return e(t.object,r);case\"TaggedTemplateExpression\":return\"FunctionExpression\"!==t.tag.type&&e(t.tag,r);case\"CallExpression\":case\"OptionalCallExpression\":return\"FunctionExpression\"!==t.callee.type&&e(t.callee,r);case\"ConditionalExpression\":return e(t.test,r);case\"UpdateExpression\":return!t.prefix&&e(t.argument,r);case\"BindExpression\":return t.object&&e(t.object,r);case\"SequenceExpression\":return e(t.expressions[0],r);case\"TSAsExpression\":return e(t.expression,r);default:return!1}},getPrecedence:Ht};const{getLast:tr,hasNewline:rr,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:nr,getNextNonSpaceNonCommentCharacter:ir,hasNewlineInRange:ar,addLeadingComment:or,addTrailingComment:sr,addDanglingComment:cr,getNextNonSpaceNonCommentCharacterIndex:ur}=Ve,{isBlockComment:lr,getFunctionParameters:dr,isPrettierIgnoreComment:_r,isJSXNode:pr,hasFlowShorthandAnnotationComment:fr,hasFlowAnnotationComment:gr,hasIgnoreComment:mr}=er,{locStart:yr,locEnd:vr}=nt;function hr(e,t){const r=(e.body||e.properties).find((({type:e})=>\"EmptyStatement\"!==e));r?or(r,t):cr(e,t)}function Dr(e,t){\"BlockStatement\"===e.type?hr(e,t):or(e,t)}function xr(e,t){const{precedingNode:r,enclosingNode:n,followingNode:i}=e;if(!n||\"IfStatement\"!==n.type||!i)return!1;return\")\"===ir(t,e,vr)?(sr(r,e),!0):r===n.consequent&&i===n.alternate?(\"BlockStatement\"===r.type?sr(r,e):cr(n,e),!0):\"BlockStatement\"===i.type?(hr(i,e),!0):\"IfStatement\"===i.type?(Dr(i.consequent,e),!0):n.consequent===i&&(or(i,e),!0)}function br(e,t){const{precedingNode:r,enclosingNode:n,followingNode:i}=e;if(!n||\"WhileStatement\"!==n.type||!i)return!1;return\")\"===ir(t,e,vr)?(sr(r,e),!0):\"BlockStatement\"===i.type?(hr(i,e),!0):n.body===i&&(or(i,e),!0)}function Sr(e){const{precedingNode:t,enclosingNode:r,followingNode:n}=e;return!(!r||\"TryStatement\"!==r.type&&\"CatchClause\"!==r.type||!n)&&(\"CatchClause\"===r.type&&t?(sr(t,e),!0):\"BlockStatement\"===n.type?(hr(n,e),!0):\"TryStatement\"===n.type?(Dr(n.finalizer,e),!0):\"CatchClause\"===n.type&&(Dr(n.body,e),!0))}function Er(e){const{precedingNode:t,enclosingNode:r,followingNode:n}=e;if(r&&(\"ClassDeclaration\"===r.type||\"ClassExpression\"===r.type||\"DeclareClass\"===r.type||\"DeclareInterface\"===r.type||\"InterfaceDeclaration\"===r.type||\"TSInterfaceDeclaration\"===r.type)){if(r.decorators&&r.decorators.length>0&&(!n||\"Decorator\"!==n.type))return sr(r.decorators[r.decorators.length-1],e),!0;if(r.body&&n===r.body)return hr(r.body,e),!0;if(n)for(const i of[\"implements\",\"extends\",\"mixins\"])if(r[i]&&n===r[i][0])return!t||t!==r.id&&t!==r.typeParameters&&t!==r.superClass?cr(r,e,i):sr(t,e),!0}return!1}function Tr(e,t){const{precedingNode:r,enclosingNode:n}=e;return(n&&r&&(\"Property\"===n.type||\"TSDeclareMethod\"===n.type||\"TSAbstractMethodDefinition\"===n.type)&&\"Identifier\"===r.type&&n.key===r&&\":\"!==ir(t,r,vr)||!(!r||!n||\"Decorator\"!==r.type||\"ClassMethod\"!==n.type&&\"ClassProperty\"!==n.type&&\"FieldDefinition\"!==n.type&&\"TSAbstractClassProperty\"!==n.type&&\"TSAbstractMethodDefinition\"!==n.type&&\"TSDeclareMethod\"!==n.type&&\"MethodDefinition\"!==n.type))&&(sr(r,e),!0)}function Cr(e,t){const{precedingNode:r,enclosingNode:n,followingNode:i}=e;if(r&&\"FunctionTypeParam\"===r.type&&n&&\"FunctionTypeAnnotation\"===n.type&&i&&\"FunctionTypeParam\"!==i.type)return sr(r,e),!0;if(r&&(\"Identifier\"===r.type||\"AssignmentPattern\"===r.type)&&n&&Pr(n)&&\")\"===ir(t,e,vr))return sr(r,e),!0;if(n&&\"FunctionDeclaration\"===n.type&&i&&\"BlockStatement\"===i.type){const r=(()=>{const e=dr(n);if(0!==e.length)return nr(t,vr(tr(e)));const r=nr(t,vr(n.id));return!1!==r&&nr(t,r+1)})();if(yr(e)>r)return hr(i,e),!0}return!1}function kr(e){const{enclosingNode:t}=e;return!(!t||\"ImportSpecifier\"!==t.type)&&(or(t,e),!0)}function Ar(e){const{enclosingNode:t}=e;return!(!t||\"LabeledStatement\"!==t.type)&&(or(t,e),!0)}function Fr(e,t,r){const{enclosingNode:n}=e;return t&&t.body&&0===t.body.length?(r?cr(t,e):or(t,e),!0):!(!n||\"Program\"!==n.type||0!==n.body.length||!n.directives||0!==n.directives.length)&&(r?cr(n,e):or(n,e),!0)}function Nr(e){const{enclosingNode:t,followingNode:r}=e;if(_r(e)&&t&&\"TSMappedType\"===t.type&&r&&\"TSTypeParameter\"===r.type&&r.constraint)return t.prettierIgnore=!0,e.unignore=!0,!0}function Pr(e){return\"ArrowFunctionExpression\"===e.type||\"FunctionExpression\"===e.type||\"FunctionDeclaration\"===e.type||\"ObjectMethod\"===e.type||\"ClassMethod\"===e.type||\"TSDeclareFunction\"===e.type||\"TSCallSignatureDeclaration\"===e.type||\"TSConstructSignatureDeclaration\"===e.type||\"TSMethodSignature\"===e.type||\"TSConstructorType\"===e.type||\"TSFunctionType\"===e.type||\"TSDeclareMethod\"===e.type}function wr(e){return lr(e)&&\"*\"===e.value[0]&&/@type\\b/.test(e.value)}var Ir={handleOwnLineComment:function(e,t,r,n,i){return Nr(e)||Cr(e,t)||function(e){const{enclosingNode:t,followingNode:r}=e;if(t&&(\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type)&&r&&\"Identifier\"===r.type)return or(t,e),!0;return!1}(e)||xr(e,t)||br(e,t)||Sr(e)||Er(e)||kr(e)||function(e){const{enclosingNode:t}=e;if(t&&(\"ForInStatement\"===t.type||\"ForOfStatement\"===t.type))return or(t,e),!0;return!1}(e)||function(e){const{precedingNode:t,enclosingNode:r,followingNode:n}=e;if(r&&(\"UnionTypeAnnotation\"===r.type||\"TSUnionType\"===r.type))return _r(e)&&(n.prettierIgnore=!0,e.unignore=!0),!!t&&(sr(t,e),!0);n&&(\"UnionTypeAnnotation\"===n.type||\"TSUnionType\"===n.type)&&_r(e)&&(n.types[0].prettierIgnore=!0,e.unignore=!0);return!1}(e)||Fr(e,n,i)||function(e,t){const{precedingNode:r,enclosingNode:n}=e;if(r&&\"ImportSpecifier\"===r.type&&n&&\"ImportDeclaration\"===n.type&&rr(t,vr(e)))return sr(r,e),!0;return!1}(e,t)||function(e){const{enclosingNode:t}=e;if(t&&\"AssignmentPattern\"===t.type)return or(t,e),!0;return!1}(e)||Tr(e,t)||Ar(e)},handleEndOfLineComment:function(e,t,r,n,i){return function(e){const{followingNode:t}=e;if(t&&wr(e))return or(t,e),!0;return!1}(e)||Cr(e,t)||function(e,t){const{precedingNode:r,enclosingNode:n,followingNode:i}=e,a=r&&!ar(t,vr(r),yr(e));if((!r||!a)&&n&&(\"ConditionalExpression\"===n.type||\"TSConditionalType\"===n.type)&&i)return or(i,e),!0;return!1}(e,t)||kr(e)||xr(e,t)||br(e,t)||Sr(e)||Er(e)||Ar(e)||function(e){const{precedingNode:t,enclosingNode:r}=e;if(r&&(\"CallExpression\"===r.type||\"OptionalCallExpression\"===r.type)&&t&&r.callee===t&&r.arguments.length>0)return or(r.arguments[0],e),!0;return!1}(e)||function(e){const{enclosingNode:t}=e;if(t&&(\"Property\"===t.type||\"ObjectProperty\"===t.type))return or(t,e),!0;return!1}(e)||Fr(e,n,i)||function(e){const{enclosingNode:t}=e;if(t&&\"TypeAlias\"===t.type)return or(t,e),!0;return!1}(e)||function(e){const{enclosingNode:t,followingNode:r}=e;if(t&&(\"VariableDeclarator\"===t.type||\"AssignmentExpression\"===t.type)&&r&&(\"ObjectExpression\"===r.type||\"ArrayExpression\"===r.type||\"TemplateLiteral\"===r.type||\"TaggedTemplateExpression\"===r.type||lr(e)))return or(r,e),!0;return!1}(e)},handleRemainingComment:function(e,t,r,n,i){return!!(Nr(e)||xr(e,t)||br(e,t)||function(e){const{precedingNode:t,enclosingNode:r}=e;if(r&&(\"ObjectProperty\"===r.type||\"Property\"===r.type)&&r.shorthand&&r.key===t&&\"AssignmentPattern\"===r.value.type)return sr(r.value.left,e),!0;return!1}(e)||function(e,t){if(\")\"!==ir(t,e,vr))return!1;const{enclosingNode:r}=e;if(r&&(Pr(r)&&0===dr(r).length||(\"CallExpression\"===r.type||\"OptionalCallExpression\"===r.type||\"NewExpression\"===r.type)&&0===r.arguments.length))return cr(r,e),!0;if(r&&\"MethodDefinition\"===r.type&&0===dr(r.value).length)return cr(r.value,e),!0;return!1}(e,t)||Tr(e,t)||Fr(e,n,i)||function(e,t){const{enclosingNode:r}=e;if(!r||\"ArrowFunctionExpression\"!==r.type)return!1;const n=ur(t,e,vr);if(!1!==n&&\"=>\"===t.slice(n,n+2))return cr(r,e),!0;return!1}(e,t)||function(e,t){if(\"(\"!==ir(t,e,vr))return!1;const{precedingNode:r,enclosingNode:n}=e;if(r&&n&&(\"FunctionDeclaration\"===n.type||\"FunctionExpression\"===n.type||\"ClassMethod\"===n.type||\"MethodDefinition\"===n.type||\"ObjectMethod\"===n.type))return sr(r,e),!0;return!1}(e,t)||function(e){const{precedingNode:t,enclosingNode:r,followingNode:n}=e;if(!r||\"TSMappedType\"!==r.type)return!1;if(n&&\"TSTypeParameter\"===n.type&&n.name)return or(n.name,e),!0;if(t&&\"TSTypeParameter\"===t.type&&t.constraint)return sr(t.constraint,e),!0;return!1}(e)||function(e){const{enclosingNode:t}=e;if(t&&(\"ContinueStatement\"===t.type||\"BreakStatement\"===t.type)&&!t.label)return sr(t,e),!0;return!1}(e)||function(e,t){const{enclosingNode:r,followingNode:n}=e;if(!n&&r&&(\"TSMethodSignature\"===r.type||\"TSDeclareFunction\"===r.type||\"TSAbstractMethodDefinition\"===r.type)&&\";\"===ir(t,e,vr))return sr(r,e),!0;return!1}(e,t))},hasLeadingComment:function(e,t=(()=>!0)){return e.leadingComments?e.leadingComments.some(t):!!e.comments&&e.comments.some((e=>e.leading&&t(e)))},isTypeCastComment:wr,getGapRegex:function(e){if(e&&\"BinaryExpression\"!==e.type&&\"LogicalExpression\"!==e.type)return/^[\\s&(|]*$/},getCommentChildNodes:function(e,t){if((\"typescript\"===t.parser||\"flow\"===t.parser||\"espree\"===t.parser||\"meriyah\"===t.parser)&&\"MethodDefinition\"===e.type&&e.value&&\"FunctionExpression\"===e.value.type&&0===dr(e.value).length&&!e.value.returnType&&(!e.value.typeParameters||0===e.value.typeParameters.length)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const t=e.getValue(),r=e.getParentNode();return(t&&(pr(t)||fr(t)||r&&(\"CallExpression\"===r.type||\"OptionalCallExpression\"===r.type)&&(gr(t.leadingComments)||gr(t.trailingComments)))||r&&(\"JSXSpreadAttribute\"===r.type||\"JSXSpreadChild\"===r.type||\"UnionTypeAnnotation\"===r.type||\"TSUnionType\"===r.type||(\"ClassDeclaration\"===r.type||\"ClassExpression\"===r.type)&&r.superClass===t))&&(!mr(e)||\"UnionTypeAnnotation\"===r.type||\"TSUnionType\"===r.type)}};const{getLast:Or,getNextNonSpaceNonCommentCharacter:Mr,getShebang:Lr}=Ve,{composeLoc:Rr,locStart:Br,locEnd:jr}=nt,{isTypeCastComment:Jr}=Ir;function Kr(e){return\"CallExpression\"===e.type?(e.type=\"OptionalCallExpression\",e.callee=Kr(e.callee)):\"MemberExpression\"===e.type?(e.type=\"OptionalMemberExpression\",e.object=Kr(e.object)):\"TSNonNullExpression\"===e.type&&(e.expression=Kr(e.expression)),e}function zr(e,t){let r;if(Array.isArray(e))r=e.entries();else{if(!e||\"object\"!=typeof e||\"string\"!=typeof e.type)return e;r=Object.entries(e)}for(const[n,i]of r)e[n]=zr(i,t);return Array.isArray(e)?e:t(e)||e}function Ur(e){return\"LogicalExpression\"===e.type&&\"LogicalExpression\"===e.right.type&&e.operator===e.right.operator}function Vr(e){return Ur(e)?Vr({type:\"LogicalExpression\",operator:e.operator,left:Vr({type:\"LogicalExpression\",operator:e.operator,left:e.left,right:e.right.left,range:Rr(e.left,e.right.left)}),right:e.right.right,range:Rr(e)}):e}var qr=function(t,r){if(\"typescript\"!==r.parser&&\"flow\"!==r.parser&&\"espree\"!==r.parser||function(e,t){const r=Lr(t.originalText);r&&e.comments.unshift({type:\"Line\",value:r.slice(2),range:[0,r.length]})}(t,r),\"typescript\"===r.parser&&r.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:n,tsNodeToESTreeNodeMap:i}=r.tsParseResult;t=zr(t,(t=>{const r=n.get(t);if(!r)return;const a=r.decorators;if(!Array.isArray(a))return;const o=i.get(r);if(o!==t)return;const s=o.decorators;if(!Array.isArray(s)||s.length!==a.length||a.some((e=>{const t=i.get(e);return!t||!s.includes(t)}))){const{start:t,end:r}=o.loc;throw e(\"Leading decorators must be attached to a class declaration\",{start:{line:t.line,column:t.column+1},end:{line:r.line,column:r.column+1}})}}))}if(\"typescript\"!==r.parser&&\"flow\"!==r.parser&&\"espree\"!==r.parser&&\"meriyah\"!==r.parser){const e=new Set;t=zr(t,(t=>{t.leadingComments&&t.leadingComments.some(Jr)&&e.add(Br(t))})),t=zr(t,(t=>{if(\"ParenthesizedExpression\"===t.type){const{expression:r}=t;if(\"TypeCastExpression\"===r.type)return r.range=t.range,r;const n=Br(t);if(!e.has(n))return r.extra=Object.assign({},r.extra,{parenthesized:!0}),r}}))}return t=zr(t,(e=>{switch(e.type){case\"ChainExpression\":return Kr(e.expression);case\"LogicalExpression\":if(Ur(e))return Vr(e);break;case\"VariableDeclaration\":{const t=Or(e.declarations);t&&t.init&&function(e,t){if(\";\"===r.originalText[jr(t)])return;e.range=Rr(e,t)}(e,t);break}case\"TSParenthesizedType\":return e.typeAnnotation.range=Rr(e),e.typeAnnotation;case\"TSUnionType\":case\"TSIntersectionType\":if(1===e.types.length){const[t]=e.types;return t.range=Rr(e),t}break;case\"TSTypeParameter\":\"string\"==typeof e.name&&(e.name={type:\"Identifier\",name:e.name,range:Rr(e,e.name.length)});break;case\"SequenceExpression\":{const t=Or(e.expressions);jr(e)>jr(t)&&(e.range=Rr(e,t));break}case\"ClassProperty\":e.key&&\"TSPrivateIdentifier\"===e.key.type&&\"?\"===Mr(r.originalText,e.key,jr)&&(e.optional=!0)}}))},Wr=1e3,Hr=60*Wr,Gr=60*Hr,Yr=24*Gr,Xr=7*Yr,Qr=365.25*Yr,$r=function(e,t){t=t||{};var r=typeof e;if(\"string\"===r&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var r=parseFloat(t[1]);switch((t[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*Qr;case\"weeks\":case\"week\":case\"w\":return r*Xr;case\"days\":case\"day\":case\"d\":return r*Yr;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*Gr;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*Hr;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*Wr;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}(e);if(\"number\"===r&&isFinite(e))return t.long?function(e){var t=Math.abs(e);if(t>=Yr)return Zr(e,t,Yr,\"day\");if(t>=Gr)return Zr(e,t,Gr,\"hour\");if(t>=Hr)return Zr(e,t,Hr,\"minute\");if(t>=Wr)return Zr(e,t,Wr,\"second\");return e+\" ms\"}(e):function(e){var t=Math.abs(e);if(t>=Yr)return Math.round(e/Yr)+\"d\";if(t>=Gr)return Math.round(e/Gr)+\"h\";if(t>=Hr)return Math.round(e/Hr)+\"m\";if(t>=Wr)return Math.round(e/Wr)+\"s\";return e+\"ms\"}(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))};function Zr(e,t,r,n){var i=t>=1.5*r;return Math.round(e/r)+\" \"+n+(i?\"s\":\"\")}var en=function(e){function t(e){let t=0;for(let r=0;r{if(\"%%\"===n)return n;s++;const a=r.formatters[i];if(\"function\"==typeof a){const r=e[s];n=a.call(t,r),e.splice(s,1),s--}return n})),r.formatArgs.call(t,e);(t.log||r.log).apply(t,e)}return o.namespace=e,o.enabled=r.enabled(e),o.useColors=r.useColors(),o.color=t(e),o.destroy=n,o.extend=i,\"function\"==typeof r.init&&r.init(o),r.instances.push(o),o}function n(){const e=r.instances.indexOf(this);return-1!==e&&(r.instances.splice(e,1),!0)}function i(e,t){const n=r(this.namespace+(void 0===t?\":\":t)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\\.\\*\\?$/,\"*\")}return r.debug=r,r.default=r,r.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},r.disable=function(){const e=[...r.names.map(a),...r.skips.map(a).map((e=>\"-\"+e))].join(\",\");return r.enable(\"\"),e},r.enable=function(e){let t;r.save(e),r.names=[],r.skips=[];const n=(\"string\"==typeof e?e:\"\").split(/[\\s,]+/),i=n.length;for(t=0;t{r[t]=e[t]})),r.instances=[],r.names=[],r.skips=[],r.formatters={},r.selectColor=t,r.enable(r.load()),r},tn=r((function(e,t){t.log=function(...e){return\"object\"==typeof console&&console.log&&console.log(...e)},t.formatArgs=function(t){if(t[0]=(this.useColors?\"%c\":\"\")+this.namespace+(this.useColors?\" %c\":\" \")+t[0]+(this.useColors?\"%c \":\" \")+\"+\"+e.exports.humanize(this.diff),!this.useColors)return;const r=\"color: \"+this.color;t.splice(1,0,r,\"color: inherit\");let n=0,i=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{\"%%\"!==e&&(n++,\"%c\"===e&&(i=n))})),t.splice(i,0,r)},t.save=function(e){try{e?t.storage.setItem(\"debug\",e):t.storage.removeItem(\"debug\")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem(\"debug\")}catch(e){}!e&&void 0!==V&&\"env\"in V&&(e=V.env.DEBUG);return e},t.useColors=function(){if(\"undefined\"!=typeof window&&window.process&&(\"renderer\"===window.process.type||window.process.__nwjs))return!0;if(\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/))return!1;return\"undefined\"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||\"undefined\"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.colors=[\"#0000CC\",\"#0000FF\",\"#0033CC\",\"#0033FF\",\"#0066CC\",\"#0066FF\",\"#0099CC\",\"#0099FF\",\"#00CC00\",\"#00CC33\",\"#00CC66\",\"#00CC99\",\"#00CCCC\",\"#00CCFF\",\"#3300CC\",\"#3300FF\",\"#3333CC\",\"#3333FF\",\"#3366CC\",\"#3366FF\",\"#3399CC\",\"#3399FF\",\"#33CC00\",\"#33CC33\",\"#33CC66\",\"#33CC99\",\"#33CCCC\",\"#33CCFF\",\"#6600CC\",\"#6600FF\",\"#6633CC\",\"#6633FF\",\"#66CC00\",\"#66CC33\",\"#9900CC\",\"#9900FF\",\"#9933CC\",\"#9933FF\",\"#99CC00\",\"#99CC33\",\"#CC0000\",\"#CC0033\",\"#CC0066\",\"#CC0099\",\"#CC00CC\",\"#CC00FF\",\"#CC3300\",\"#CC3333\",\"#CC3366\",\"#CC3399\",\"#CC33CC\",\"#CC33FF\",\"#CC6600\",\"#CC6633\",\"#CC9900\",\"#CC9933\",\"#CCCC00\",\"#CCCC33\",\"#FF0000\",\"#FF0033\",\"#FF0066\",\"#FF0099\",\"#FF00CC\",\"#FF00FF\",\"#FF3300\",\"#FF3333\",\"#FF3366\",\"#FF3399\",\"#FF33CC\",\"#FF33FF\",\"#FF6600\",\"#FF6633\",\"#FF9900\",\"#FF9933\",\"#FFCC00\",\"#FFCC33\"],e.exports=en(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return\"[UnexpectedJSONParseError]: \"+e.message}}})),rn={isatty:()=>!1},nn=Object.freeze({__proto__:null,default:rn}),an=Object.freeze({__proto__:null,default:{}}),on=(e,t=V.argv)=>{const r=e.startsWith(\"-\")?\"\":1===e.length?\"-\":\"--\",n=t.indexOf(r+e),i=t.indexOf(\"--\");return-1!==n&&(-1===i||n=2,has16m:e>=3}}function dn(e,t){if(0===un)return 0;if(on(\"color=16m\")||on(\"color=full\")||on(\"color=truecolor\"))return 3;if(on(\"color=256\"))return 2;if(e&&!t&&void 0===un)return 0;const r=un||0;if(\"dumb\"===cn.TERM)return r;if(\"win32\"===V.platform){const e=c.release().split(\".\");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if(\"CI\"in cn)return[\"TRAVIS\",\"CIRCLECI\",\"APPVEYOR\",\"GITLAB_CI\"].some((e=>e in cn))||\"codeship\"===cn.CI_NAME?1:r;if(\"TEAMCITY_VERSION\"in cn)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(cn.TEAMCITY_VERSION)?1:0;if(\"GITHUB_ACTIONS\"in cn)return 1;if(\"truecolor\"===cn.COLORTERM)return 3;if(\"TERM_PROGRAM\"in cn){const e=parseInt((cn.TERM_PROGRAM_VERSION||\"\").split(\".\")[0],10);switch(cn.TERM_PROGRAM){case\"iTerm.app\":return e>=3?3:2;case\"Apple_Terminal\":return 2}}return/-256(color)?$/i.test(cn.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(cn.TERM)||\"COLORTERM\"in cn?1:r}on(\"no-color\")||on(\"no-colors\")||on(\"color=false\")||on(\"color=never\")?un=0:(on(\"color\")||on(\"colors\")||on(\"color=true\")||on(\"color=always\"))&&(un=1),\"FORCE_COLOR\"in cn&&(un=\"true\"===cn.FORCE_COLOR?1:\"false\"===cn.FORCE_COLOR?0:0===cn.FORCE_COLOR.length?1:Math.min(parseInt(cn.FORCE_COLOR,10),3));var _n={supportsColor:function(e){return ln(dn(e,e&&e.isTTY))},stdout:ln(dn(!0,sn.isatty(1))),stderr:ln(dn(!0,sn.isatty(2)))},pn=n(an),fn=(r((function(e,t){t.init=function(e){e.inspectOpts={};const r=Object.keys(t.inspectOpts);for(let n=0;n=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(e){}t.inspectOpts=Object.keys(V.env).filter((e=>/^debug_/i.test(e))).reduce(((e,t)=>{const r=t.substring(6).toLowerCase().replace(/_([a-z])/g,((e,t)=>t.toUpperCase()));let n=V.env[t];return n=!!/^(yes|on|true|enabled)$/i.test(n)||!/^(no|off|false|disabled)$/i.test(n)&&(\"null\"===n?null:Number(n)),e[r]=n,e}),{}),e.exports=en(t);const{formatters:r}=e.exports;r.o=function(e){return this.inspectOpts.colors=this.useColors,pn.inspect(e,this.inspectOpts).replace(/\\s*\\n\\s*/g,\" \")},r.O=function(e){return this.inspectOpts.colors=this.useColors,pn.inspect(e,this.inspectOpts)}})),r((function(e){void 0===V||V.type,e.exports=tn}))),gn={\"{\":\"}\",\"(\":\")\",\"[\":\"]\"},mn=/\\\\(.)|(^!|\\*|[\\].+)]\\?|\\[[^\\\\\\]]+\\]|\\{[^\\\\}]+\\}|\\(\\?[:!=][^\\\\)]+\\)|\\([^|]+\\|[^\\\\)]+\\))/,yn=/\\\\(.)|(^!|[*?{}()[\\]]|\\(\\?)/,vn=function(e,t){if(\"string\"!=typeof e||\"\"===e)return!1;if(function(e){if(\"string\"!=typeof e||\"\"===e)return!1;for(var t;t=/(\\\\).|([@?!+*]\\(.*\\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}(e))return!0;var r,n=mn;for(t&&!1===t.strict&&(n=yn);r=n.exec(e);){if(r[2])return!0;var i=r.index+r[0].length,a=r[1],o=a?gn[a]:null;if(a&&o){var s=e.indexOf(o,i);-1!==s&&(i=s+1)}e=e.slice(i)}return!1};const{MAX_LENGTH:hn}=W,{re:Dn,t:xn}=H;var bn=(e,t)=>{if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof ne)return e;if(\"string\"!=typeof e)return null;if(e.length>hn)return null;if(!(t.loose?Dn[xn.LOOSE]:Dn[xn.FULL]).test(e))return null;try{return new ne(e,t)}catch(e){return null}};var Sn=(e,t)=>{const r=bn(e,t);return r?r.version:null};var En=(e,t)=>{const r=bn(e.trim().replace(/^[=v]+/,\"\"),t);return r?r.version:null};var Tn=(e,t,r,n)=>{\"string\"==typeof r&&(n=r,r=void 0);try{return new ne(e,r).inc(t,n).version}catch(e){return null}};var Cn=(e,t,r)=>0===ie(e,t,r);var kn=(e,t)=>{if(Cn(e,t))return null;{const r=bn(e),n=bn(t),i=r.prerelease.length||n.prerelease.length,a=i?\"pre\":\"\",o=i?\"prerelease\":\"\";for(const e in r)if((\"major\"===e||\"minor\"===e||\"patch\"===e)&&r[e]!==n[e])return a+e;return o}};var An=(e,t)=>new ne(e,t).major;var Fn=(e,t)=>new ne(e,t).minor;var Nn=(e,t)=>new ne(e,t).patch;var Pn=(e,t)=>{const r=bn(e,t);return r&&r.prerelease.length?r.prerelease:null};var wn=(e,t,r)=>ie(t,e,r);var In=(e,t)=>ie(e,t,!0);var On=(e,t,r)=>{const n=new ne(e,r),i=new ne(t,r);return n.compare(i)||n.compareBuild(i)};var Mn=(e,t)=>e.sort(((e,r)=>On(e,r,t)));var Ln=(e,t)=>e.sort(((e,r)=>On(r,e,t)));var Rn=(e,t,r)=>ie(e,t,r)>0;var Bn=(e,t,r)=>0!==ie(e,t,r);var jn=(e,t,r)=>ie(e,t,r)<=0;var Jn=(e,t,r,n)=>{switch(t){case\"===\":return\"object\"==typeof e&&(e=e.version),\"object\"==typeof r&&(r=r.version),e===r;case\"!==\":return\"object\"==typeof e&&(e=e.version),\"object\"==typeof r&&(r=r.version),e!==r;case\"\":case\"=\":case\"==\":return Cn(e,r,n);case\"!=\":return Bn(e,r,n);case\">\":return Rn(e,r,n);case\">=\":return oe(e,r,n);case\"<\":return ae(e,r,n);case\"<=\":return jn(e,r,n);default:throw new TypeError(\"Invalid operator: \".concat(t))}};const{re:Kn,t:zn}=H;var Un=(e,t)=>{if(e instanceof ne)return e;if(\"number\"==typeof e&&(e=String(e)),\"string\"!=typeof e)return null;let r=null;if((t=t||{}).rtl){let t;for(;(t=Kn[zn.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&t.index+t[0].length===r.index+r[0].length||(r=t),Kn[zn.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;Kn[zn.COERCERTL].lastIndex=-1}else r=e.match(Kn[zn.COERCE]);return null===r?null:bn(\"\".concat(r[2],\".\").concat(r[3]||\"0\",\".\").concat(r[4]||\"0\"),t)};class Vn{constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof Vn)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new Vn(e.raw,t);if(e instanceof _i)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\\s*\\|\\|\\s*/).map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(\"Invalid SemVer Range: \".concat(e));this.format()}format(){return this.range=this.set.map((e=>e.join(\" \").trim())).join(\"||\").trim(),this.range}toString(){return this.range}parseRange(e){const t=this.options.loose;e=e.trim();const r=t?Wn[Hn.HYPHENRANGELOOSE]:Wn[Hn.HYPHENRANGE];e=e.replace(r,ci(this.options.includePrerelease)),q(\"hyphen replace\",e),e=e.replace(Wn[Hn.COMPARATORTRIM],Gn),q(\"comparator trim\",e,Wn[Hn.COMPARATORTRIM]),e=(e=(e=e.replace(Wn[Hn.TILDETRIM],Yn)).replace(Wn[Hn.CARETTRIM],Xn)).split(/\\s+/).join(\" \");const n=t?Wn[Hn.COMPARATORLOOSE]:Wn[Hn.COMPARATOR];return e.split(\" \").map((e=>$n(e,this.options))).join(\" \").split(/\\s+/).map((e=>si(e,this.options))).filter(this.options.loose?e=>!!e.match(n):()=>!0).map((e=>new _i(e,this.options)))}intersects(e,t){if(!(e instanceof Vn))throw new TypeError(\"a Range is required\");return this.set.some((r=>Qn(r,t)&&e.set.some((e=>Qn(e,t)&&r.every((r=>e.every((e=>r.intersects(e,t)))))))))}test(e){if(!e)return!1;if(\"string\"==typeof e)try{e=new ne(e,this.options)}catch(e){return!1}for(let t=0;t{let r=!0;const n=e.slice();let i=n.pop();for(;r&&n.length;)r=n.every((e=>i.intersects(e,t))),i=n.pop();return r},$n=(e,t)=>(q(\"comp\",e,t),e=ri(e,t),q(\"caret\",e),e=ei(e,t),q(\"tildes\",e),e=ii(e,t),q(\"xrange\",e),e=oi(e,t),q(\"stars\",e),e),Zn=e=>!e||\"x\"===e.toLowerCase()||\"*\"===e,ei=(e,t)=>e.trim().split(/\\s+/).map((e=>ti(e,t))).join(\" \"),ti=(e,t)=>{const r=t.loose?Wn[Hn.TILDELOOSE]:Wn[Hn.TILDE];return e.replace(r,((t,r,n,i,a)=>{let o;return q(\"tilde\",e,t,r,n,i,a),Zn(r)?o=\"\":Zn(n)?o=\">=\".concat(r,\".0.0 <\").concat(+r+1,\".0.0-0\"):Zn(i)?o=\">=\".concat(r,\".\").concat(n,\".0 <\").concat(r,\".\").concat(+n+1,\".0-0\"):a?(q(\"replaceTilde pr\",a),o=\">=\".concat(r,\".\").concat(n,\".\").concat(i,\"-\").concat(a,\" <\").concat(r,\".\").concat(+n+1,\".0-0\")):o=\">=\".concat(r,\".\").concat(n,\".\").concat(i,\" <\").concat(r,\".\").concat(+n+1,\".0-0\"),q(\"tilde return\",o),o}))},ri=(e,t)=>e.trim().split(/\\s+/).map((e=>ni(e,t))).join(\" \"),ni=(e,t)=>{q(\"caret\",e,t);const r=t.loose?Wn[Hn.CARETLOOSE]:Wn[Hn.CARET],n=t.includePrerelease?\"-0\":\"\";return e.replace(r,((t,r,i,a,o)=>{let s;return q(\"caret\",e,t,r,i,a,o),Zn(r)?s=\"\":Zn(i)?s=\">=\".concat(r,\".0.0\").concat(n,\" <\").concat(+r+1,\".0.0-0\"):Zn(a)?s=\"0\"===r?\">=\".concat(r,\".\").concat(i,\".0\").concat(n,\" <\").concat(r,\".\").concat(+i+1,\".0-0\"):\">=\".concat(r,\".\").concat(i,\".0\").concat(n,\" <\").concat(+r+1,\".0.0-0\"):o?(q(\"replaceCaret pr\",o),s=\"0\"===r?\"0\"===i?\">=\".concat(r,\".\").concat(i,\".\").concat(a,\"-\").concat(o,\" <\").concat(r,\".\").concat(i,\".\").concat(+a+1,\"-0\"):\">=\".concat(r,\".\").concat(i,\".\").concat(a,\"-\").concat(o,\" <\").concat(r,\".\").concat(+i+1,\".0-0\"):\">=\".concat(r,\".\").concat(i,\".\").concat(a,\"-\").concat(o,\" <\").concat(+r+1,\".0.0-0\")):(q(\"no pr\"),s=\"0\"===r?\"0\"===i?\">=\".concat(r,\".\").concat(i,\".\").concat(a).concat(n,\" <\").concat(r,\".\").concat(i,\".\").concat(+a+1,\"-0\"):\">=\".concat(r,\".\").concat(i,\".\").concat(a).concat(n,\" <\").concat(r,\".\").concat(+i+1,\".0-0\"):\">=\".concat(r,\".\").concat(i,\".\").concat(a,\" <\").concat(+r+1,\".0.0-0\")),q(\"caret return\",s),s}))},ii=(e,t)=>(q(\"replaceXRanges\",e,t),e.split(/\\s+/).map((e=>ai(e,t))).join(\" \")),ai=(e,t)=>{e=e.trim();const r=t.loose?Wn[Hn.XRANGELOOSE]:Wn[Hn.XRANGE];return e.replace(r,((r,n,i,a,o,s)=>{q(\"xRange\",e,r,n,i,a,o,s);const c=Zn(i),u=c||Zn(a),l=u||Zn(o),d=l;return\"=\"===n&&d&&(n=\"\"),s=t.includePrerelease?\"-0\":\"\",c?r=\">\"===n||\"<\"===n?\"<0.0.0-0\":\"*\":n&&d?(u&&(a=0),o=0,\">\"===n?(n=\">=\",u?(i=+i+1,a=0,o=0):(a=+a+1,o=0)):\"<=\"===n&&(n=\"<\",u?i=+i+1:a=+a+1),\"<\"===n&&(s=\"-0\"),r=\"\".concat(n+i,\".\").concat(a,\".\").concat(o).concat(s)):u?r=\">=\".concat(i,\".0.0\").concat(s,\" <\").concat(+i+1,\".0.0-0\"):l&&(r=\">=\".concat(i,\".\").concat(a,\".0\").concat(s,\" <\").concat(i,\".\").concat(+a+1,\".0-0\")),q(\"xRange return\",r),r}))},oi=(e,t)=>(q(\"replaceStars\",e,t),e.trim().replace(Wn[Hn.STAR],\"\")),si=(e,t)=>(q(\"replaceGTE0\",e,t),e.trim().replace(Wn[t.includePrerelease?Hn.GTE0PRE:Hn.GTE0],\"\")),ci=e=>(t,r,n,i,a,o,s,c,u,l,d,_,p)=>(r=Zn(n)?\"\":Zn(i)?\">=\".concat(n,\".0.0\").concat(e?\"-0\":\"\"):Zn(a)?\">=\".concat(n,\".\").concat(i,\".0\").concat(e?\"-0\":\"\"):o?\">=\".concat(r):\">=\".concat(r).concat(e?\"-0\":\"\"),c=Zn(u)?\"\":Zn(l)?\"<\".concat(+u+1,\".0.0-0\"):Zn(d)?\"<\".concat(u,\".\").concat(+l+1,\".0-0\"):_?\"<=\".concat(u,\".\").concat(l,\".\").concat(d,\"-\").concat(_):e?\"<\".concat(u,\".\").concat(l,\".\").concat(+d+1,\"-0\"):\"<=\".concat(c),\"\".concat(r,\" \").concat(c).trim()),ui=(e,t,r)=>{for(let r=0;r0){const n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0},li=Symbol(\"SemVer ANY\");class di{static get ANY(){return li}constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof di){if(e.loose===!!t.loose)return e;e=e.value}q(\"comparator\",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===li?this.value=\"\":this.value=this.operator+this.semver.version,q(\"comp\",this)}parse(e){const t=this.options.loose?pi[fi.COMPARATORLOOSE]:pi[fi.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(\"Invalid comparator: \".concat(e));this.operator=void 0!==r[1]?r[1]:\"\",\"=\"===this.operator&&(this.operator=\"\"),r[2]?this.semver=new ne(r[2],this.options.loose):this.semver=li}toString(){return this.value}test(e){if(q(\"Comparator.test\",e,this.options.loose),this.semver===li||e===li)return!0;if(\"string\"==typeof e)try{e=new ne(e,this.options)}catch(e){return!1}return Jn(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof di))throw new TypeError(\"a Comparator is required\");if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),\"\"===this.operator)return\"\"===this.value||new qn(e.value,t).test(this.value);if(\"\"===e.operator)return\"\"===e.value||new qn(this.value,t).test(e.semver);const r=!(\">=\"!==this.operator&&\">\"!==this.operator||\">=\"!==e.operator&&\">\"!==e.operator),n=!(\"<=\"!==this.operator&&\"<\"!==this.operator||\"<=\"!==e.operator&&\"<\"!==e.operator),i=this.semver.version===e.semver.version,a=!(\">=\"!==this.operator&&\"<=\"!==this.operator||\">=\"!==e.operator&&\"<=\"!==e.operator),o=Jn(this.semver,\"<\",e.semver,t)&&(\">=\"===this.operator||\">\"===this.operator)&&(\"<=\"===e.operator||\"<\"===e.operator),s=Jn(this.semver,\">\",e.semver,t)&&(\"<=\"===this.operator||\"<\"===this.operator)&&(\">=\"===e.operator||\">\"===e.operator);return r||n||i&&a||o||s}}var _i=di;const{re:pi,t:fi}=H;var gi=(e,t,r)=>{try{t=new qn(t,r)}catch(e){return!1}return t.test(e)};var mi=(e,t)=>new qn(e,t).set.map((e=>e.map((e=>e.value)).join(\" \").trim().split(\" \")));var yi=(e,t,r)=>{let n=null,i=null,a=null;try{a=new qn(t,r)}catch(e){return null}return e.forEach((e=>{a.test(e)&&(n&&-1!==i.compare(e)||(n=e,i=new ne(n,r)))})),n};var vi=(e,t,r)=>{let n=null,i=null,a=null;try{a=new qn(t,r)}catch(e){return null}return e.forEach((e=>{a.test(e)&&(n&&1!==i.compare(e)||(n=e,i=new ne(n,r)))})),n};var hi=(e,t)=>{e=new qn(e,t);let r=new ne(\"0.0.0\");if(e.test(r))return r;if(r=new ne(\"0.0.0-0\"),e.test(r))return r;r=null;for(let t=0;t{const t=new ne(e.semver.version);switch(e.operator){case\">\":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case\"\":case\">=\":r&&!Rn(r,t)||(r=t);break;case\"<\":case\"<=\":break;default:throw new Error(\"Unexpected operation: \".concat(e.operator))}}))}return r&&e.test(r)?r:null};var Di=(e,t)=>{try{return new qn(e,t).range||\"*\"}catch(e){return null}};const{ANY:xi}=_i;var bi=(e,t,r,n)=>{let i,a,o,s,c;switch(e=new ne(e,n),t=new qn(t,n),r){case\">\":i=Rn,a=jn,o=ae,s=\">\",c=\">=\";break;case\"<\":i=ae,a=oe,o=Rn,s=\"<\",c=\"<=\";break;default:throw new TypeError('Must provide a hilo val of \"<\" or \">\"')}if(gi(e,t,n))return!1;for(let r=0;r{e.semver===xi&&(e=new _i(\">=0.0.0\")),l=l||e,d=d||e,i(e.semver,l.semver,n)?l=e:o(e.semver,d.semver,n)&&(d=e)})),l.operator===s||l.operator===c)return!1;if((!d.operator||d.operator===s)&&a(e,d.semver))return!1;if(d.operator===c&&o(e,d.semver))return!1}return!0};var Si=(e,t,r)=>bi(e,t,\">\",r);var Ei=(e,t,r)=>bi(e,t,\"<\",r);var Ti=(e,t,r)=>(e=new qn(e,r),t=new qn(t,r),e.intersects(t));const{ANY:Ci}=_i,ki=(e,t,r)=>{if(1===e.length&&e[0].semver===Ci)return 1===t.length&&t[0].semver===Ci;const n=new Set;let i,a,o,s,c,u,l;for(const t of e)\">\"===t.operator||\">=\"===t.operator?i=Ai(i,t,r):\"<\"===t.operator||\"<=\"===t.operator?a=Fi(a,t,r):n.add(t.semver);if(n.size>1)return null;if(i&&a){if(o=ie(i.semver,a.semver,r),o>0)return null;if(0===o&&(\">=\"!==i.operator||\"<=\"!==a.operator))return null}for(const e of n){if(i&&!gi(e,String(i),r))return null;if(a&&!gi(e,String(a),r))return null;for(const n of t)if(!gi(e,String(n),r))return!1;return!0}for(const e of t){if(l=l||\">\"===e.operator||\">=\"===e.operator,u=u||\"<\"===e.operator||\"<=\"===e.operator,i)if(\">\"===e.operator||\">=\"===e.operator){if(s=Ai(i,e,r),s===e)return!1}else if(\">=\"===i.operator&&!gi(i.semver,String(e),r))return!1;if(a)if(\"<\"===e.operator||\"<=\"===e.operator){if(c=Fi(a,e,r),c===e)return!1}else if(\"<=\"===a.operator&&!gi(a.semver,String(e),r))return!1;if(!e.operator&&(a||i)&&0!==o)return!1}return!(i&&u&&!a&&0!==o)&&!(a&&l&&!i&&0!==o)},Ai=(e,t,r)=>{if(!e)return t;const n=ie(e.semver,t.semver,r);return n>0?e:n<0||\">\"===t.operator&&\">=\"===e.operator?t:e},Fi=(e,t,r)=>{if(!e)return t;const n=ie(e.semver,t.semver,r);return n<0?e:n>0||\"<\"===t.operator&&\"<=\"===e.operator?t:e};var Ni=(e,t,r)=>{e=new qn(e,r),t=new qn(t,r);let n=!1;e:for(const i of e.set){for(const e of t.set){const t=ki(i,e,r);if(n=n||null!==t,t)continue e}if(n)return!1}return!0},Pi={re:H.re,src:H.src,tokens:H.t,SEMVER_SPEC_VERSION:W.SEMVER_SPEC_VERSION,SemVer:ne,compareIdentifiers:X.compareIdentifiers,rcompareIdentifiers:X.rcompareIdentifiers,parse:bn,valid:Sn,clean:En,inc:Tn,diff:kn,major:An,minor:Fn,patch:Nn,prerelease:Pn,compare:ie,rcompare:wn,compareLoose:In,compareBuild:On,sort:Mn,rsort:Ln,gt:Rn,lt:ae,eq:Cn,neq:Bn,gte:oe,lte:jn,cmp:Jn,coerce:Un,Comparator:_i,Range:qn,satisfies:gi,toComparators:mi,maxSatisfying:yi,minSatisfying:vi,minVersion:hi,validRange:Di,outside:bi,gtr:Si,ltr:Ei,intersects:Ti,simplifyRange:(e,t,r)=>{const n=[];let i=null,a=null;const o=e.sort(((e,t)=>ie(e,t,r)));for(const e of o){gi(e,t,r)?(a=e,i||(i=e)):(a&&n.push([i,a]),a=null,i=null)}i&&n.push([i,null]);const s=[];for(const[e,t]of n)e===t?s.push(e):t||e!==o[0]?t?e===o[0]?s.push(\"<=\".concat(t)):s.push(\"\".concat(e,\" - \").concat(t)):s.push(\">=\".concat(e)):s.push(\"*\");const c=s.join(\" || \"),u=\"string\"==typeof t.raw?t.raw:String(t);return c.length!1,Oi=()=>\"\";var Mi={existsSync:Ii,readFileSync:Oi},Li=Object.freeze({__proto__:null,existsSync:Ii,readFileSync:Oi,default:Mi});function Ri(e){if(\"string\"!=typeof e)throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(e))}function Bi(e,t){for(var r,n=\"\",i=0,a=-1,o=0,s=0;s<=e.length;++s){if(s2){var c=n.lastIndexOf(\"/\");if(c!==n.length-1){-1===c?(n=\"\",i=0):i=(n=n.slice(0,c)).length-1-n.lastIndexOf(\"/\"),a=s,o=0;continue}}else if(2===n.length||1===n.length){n=\"\",i=0,a=s,o=0;continue}t&&(n.length>0?n+=\"/..\":n=\"..\",i=2)}else n.length>0?n+=\"/\"+e.slice(a+1,s):n=e.slice(a+1,s),i=s-a-1;a=s,o=0}else 46===r&&-1!==o?++o:o=-1}return n}var ji={resolve:function(){for(var e,t=\"\",r=!1,n=arguments.length-1;n>=-1&&!r;n--){var i;n>=0?i=arguments[n]:(void 0===e&&(e=V.cwd()),i=e),Ri(i),0!==i.length&&(t=i+\"/\"+t,r=47===i.charCodeAt(0))}return t=Bi(t,!r),r?t.length>0?\"/\"+t:\"/\":t.length>0?t:\".\"},normalize:function(e){if(Ri(e),0===e.length)return\".\";var t=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=Bi(e,!t)).length||t||(e=\".\"),e.length>0&&r&&(e+=\"/\"),t?\"/\"+e:e},isAbsolute:function(e){return Ri(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return\".\";for(var e,t=0;t0&&(void 0===e?e=r:e+=\"/\"+r)}return void 0===e?\".\":ji.normalize(e)},relative:function(e,t){if(Ri(e),Ri(t),e===t)return\"\";if((e=ji.resolve(e))===(t=ji.resolve(t)))return\"\";for(var r=1;rs){if(47===t.charCodeAt(a+u))return t.slice(a+u+1);if(0===u)return t.slice(a+u)}else i>s&&(47===e.charCodeAt(r+u)?c=u:0===u&&(c=0));break}var l=e.charCodeAt(r+u);if(l!==t.charCodeAt(a+u))break;47===l&&(c=u)}var d=\"\";for(u=r+c+1;u<=n;++u)u!==n&&47!==e.charCodeAt(u)||(0===d.length?d+=\"..\":d+=\"/..\");return d.length>0?d+t.slice(a+c):(a+=c,47===t.charCodeAt(a)&&++a,t.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(Ri(e),0===e.length)return\".\";for(var t=e.charCodeAt(0),r=47===t,n=-1,i=!0,a=e.length-1;a>=1;--a)if(47===(t=e.charCodeAt(a))){if(!i){n=a;break}}else i=!1;return-1===n?r?\"/\":\".\":r&&1===n?\"//\":e.slice(0,n)},basename:function(e,t){if(void 0!==t&&\"string\"!=typeof t)throw new TypeError('\"ext\" argument must be a string');Ri(e);var r,n=0,i=-1,a=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return\"\";var o=t.length-1,s=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!a){n=r+1;break}}else-1===s&&(a=!1,s=r+1),o>=0&&(c===t.charCodeAt(o)?-1==--o&&(i=r):(o=-1,i=s))}return n===i?i=s:-1===i&&(i=e.length),e.slice(n,i)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!a){n=r+1;break}}else-1===i&&(a=!1,i=r+1);return-1===i?\"\":e.slice(n,i)},extname:function(e){Ri(e);for(var t=-1,r=0,n=-1,i=!0,a=0,o=e.length-1;o>=0;--o){var s=e.charCodeAt(o);if(47!==s)-1===n&&(i=!1,n=o+1),46===s?-1===t?t=o:1!==a&&(a=1):-1!==t&&(a=-1);else if(!i){r=o+1;break}}return-1===t||-1===n||0===a||1===a&&t===n-1&&t===r+1?\"\":e.slice(t,n)},format:function(e){if(null===e||\"object\"!=typeof e)throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||\"\")+(t.ext||\"\");return r?r===t.root?r+n:r+e+n:n}(\"/\",e)},parse:function(e){Ri(e);var t={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(0===e.length)return t;var r,n=e.charCodeAt(0),i=47===n;i?(t.root=\"/\",r=1):r=0;for(var a=-1,o=0,s=-1,c=!0,u=e.length-1,l=0;u>=r;--u)if(47!==(n=e.charCodeAt(u)))-1===s&&(c=!1,s=u+1),46===n?-1===a?a=u:1!==l&&(l=1):-1!==a&&(l=-1);else if(!c){o=u+1;break}return-1===a||-1===s||0===l||1===l&&a===s-1&&a===o+1?-1!==s&&(t.base=t.name=0===o&&i?e.slice(1,s):e.slice(o,s)):(0===o&&i?(t.name=e.slice(1,a),t.base=e.slice(1,s)):(t.name=e.slice(o,a),t.base=e.slice(o,s)),t.ext=e.slice(a,s)),o>0?t.dir=e.slice(0,o-1):i&&(t.dir=\"/\"),t},sep:\"/\",delimiter:\":\",win32:null,posix:null};ji.posix=ji;var Ji=ji,Ki=Object.freeze(Object.assign(Object.create(null),Ji,{default:Ji,__moduleExports:Ji})),zi=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\"),Ui=function(e){if(0<=e&&e>>=5)>0&&(t|=32),r+=Ui(t)}while(n>0);return r},Wi=function(e,t,r){var n,i,a,o,s=e.length,c=0,u=0;do{if(t>=s)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(-1===(i=Vi(e.charCodeAt(t++))))throw new Error(\"Invalid base64 digit: \"+e.charAt(t-1));n=!!(32&i),c+=(i&=31)<>1,1==(1&a)?-o:o),r.rest=t},Hi=r((function(e,t){t.getArg=function(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('\"'+t+'\" is a required argument.')};var r=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,n=/^data:.+\\,.+$/;function i(e){var t=e.match(r);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function a(e){var t=\"\";return e.scheme&&(t+=e.scheme+\":\"),t+=\"//\",e.auth&&(t+=e.auth+\"@\"),e.host&&(t+=e.host),e.port&&(t+=\":\"+e.port),e.path&&(t+=e.path),t}function o(e){var r=e,n=i(e);if(n){if(!n.path)return e;r=n.path}for(var o,s=t.isAbsolute(r),c=r.split(/\\/+/),u=0,l=c.length-1;l>=0;l--)\".\"===(o=c[l])?c.splice(l,1):\"..\"===o?u++:u>0&&(\"\"===o?(c.splice(l+1,u),u=0):(c.splice(l,2),u--));return\"\"===(r=c.join(\"/\"))&&(r=s?\"/\":\".\"),n?(n.path=r,a(n)):r}function s(e,t){\"\"===e&&(e=\".\"),\"\"===t&&(t=\".\");var r=i(t),s=i(e);if(s&&(e=s.path||\"/\"),r&&!r.scheme)return s&&(r.scheme=s.scheme),a(r);if(r||t.match(n))return t;if(s&&!s.host&&!s.path)return s.host=t,a(s);var c=\"/\"===t.charAt(0)?t:o(e.replace(/\\/+$/,\"\")+\"/\"+t);return s?(s.path=c,a(s)):c}t.urlParse=i,t.urlGenerate=a,t.normalize=o,t.join=s,t.isAbsolute=function(e){return\"/\"===e.charAt(0)||r.test(e)},t.relative=function(e,t){\"\"===e&&(e=\".\"),e=e.replace(/\\/$/,\"\");for(var r=0;0!==t.indexOf(e+\"/\");){var n=e.lastIndexOf(\"/\");if(n<0)return t;if((e=e.slice(0,n)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++r}return Array(r+1).join(\"../\")+t.substr(e.length+1)};var c=!(\"__proto__\"in Object.create(null));function u(e){return e}function l(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function d(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=c?u:function(e){return l(e)?\"$\"+e:e},t.fromSetString=c?u:function(e){return l(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,r){var n=d(e.source,t.source);return 0!==n||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)||r||0!==(n=e.generatedColumn-t.generatedColumn)||0!==(n=e.generatedLine-t.generatedLine)?n:d(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n||0!==(n=e.generatedColumn-t.generatedColumn)||r||0!==(n=d(e.source,t.source))||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)?n:d(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r||0!==(r=e.generatedColumn-t.generatedColumn)||0!==(r=d(e.source,t.source))||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)?r:d(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\\)]}'[^\\n]*\\n/,\"\"))},t.computeSourceURL=function(e,t,r){if(t=t||\"\",e&&(\"/\"!==e[e.length-1]&&\"/\"!==t[0]&&(e+=\"/\"),t=e+t),r){var n=i(r);if(!n)throw new Error(\"sourceMapURL could not be parsed\");if(n.path){var c=n.path.lastIndexOf(\"/\");c>=0&&(n.path=n.path.substring(0,c+1))}t=s(a(n),t)}return o(t)}})),Gi=Object.prototype.hasOwnProperty,Yi=\"undefined\"!=typeof Map;function Xi(){this._array=[],this._set=Yi?new Map:Object.create(null)}Xi.fromArray=function(e,t){for(var r=new Xi,n=0,i=e.length;n=0)return t}else{var r=Hi.toSetString(e);if(Gi.call(this._set,r))return this._set[r]}throw new Error('\"'+e+'\" is not in the set.')},Xi.prototype.at=function(e){if(e>=0&&en||i==n&&o>=a||Hi.compareByGeneratedPositionsInflated(t,r)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},$i.prototype.toArray=function(){return this._sorted||(this._array.sort(Hi.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};var Zi=Qi.ArraySet,ea={MappingList:$i}.MappingList;function ta(e){e||(e={}),this._file=Hi.getArg(e,\"file\",null),this._sourceRoot=Hi.getArg(e,\"sourceRoot\",null),this._skipValidation=Hi.getArg(e,\"skipValidation\",!1),this._sources=new Zi,this._names=new Zi,this._mappings=new ea,this._sourcesContents=null}ta.prototype._version=3,ta.fromSourceMap=function(e){var t=e.sourceRoot,r=new ta({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=t&&(n.source=Hi.relative(t,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),r.addMapping(n)})),e.sources.forEach((function(n){var i=n;null!==t&&(i=Hi.relative(t,n)),r._sources.has(i)||r._sources.add(i);var a=e.sourceContentFor(n);null!=a&&r.setSourceContent(n,a)})),r},ta.prototype.addMapping=function(e){var t=Hi.getArg(e,\"generated\"),r=Hi.getArg(e,\"original\",null),n=Hi.getArg(e,\"source\",null),i=Hi.getArg(e,\"name\",null);this._skipValidation||this._validateMapping(t,r,n,i),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=i&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:n,name:i})},ta.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=Hi.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[Hi.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[Hi.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},ta.prototype.applySourceMap=function(e,t,r){var n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\\'s \"file\" property. Both were omitted.');n=e.file}var i=this._sourceRoot;null!=i&&(n=Hi.relative(i,n));var a=new Zi,o=new Zi;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){var s=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=s.source&&(t.source=s.source,null!=r&&(t.source=Hi.join(r,t.source)),null!=i&&(t.source=Hi.relative(i,t.source)),t.originalLine=s.line,t.originalColumn=s.column,null!=s.name&&(t.name=s.name))}var c=t.source;null==c||a.has(c)||a.add(c);var u=t.name;null==u||o.has(u)||o.add(u)}),this),this._sources=a,this._names=o,e.sources.forEach((function(t){var n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=Hi.join(r,t)),null!=i&&(t=Hi.relative(i,t)),this.setSourceContent(t,n))}),this)},ta.prototype._validateMapping=function(e,t,r,n){if(t&&\"number\"!=typeof t.line&&\"number\"!=typeof t.column)throw new Error(\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\");if((!(e&&\"line\"in e&&\"column\"in e&&e.line>0&&e.column>=0)||t||r||n)&&!(e&&\"line\"in e&&\"column\"in e&&t&&\"line\"in t&&\"column\"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error(\"Invalid mapping: \"+JSON.stringify({generated:e,source:r,original:t,name:n}))},ta.prototype._serializeMappings=function(){for(var e,t,r,n,i=0,a=1,o=0,s=0,c=0,u=0,l=\"\",d=this._mappings.toArray(),_=0,p=d.length;_0){if(!Hi.compareByGeneratedPositionsInflated(t,d[_-1]))continue;e+=\",\"}e+=qi(t.generatedColumn-i),i=t.generatedColumn,null!=t.source&&(n=this._sources.indexOf(t.source),e+=qi(n-u),u=n,e+=qi(t.originalLine-1-s),s=t.originalLine-1,e+=qi(t.originalColumn-o),o=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=qi(r-c),c=r)),l+=e}return l},ta.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=Hi.relative(t,e));var r=Hi.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)},ta.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},ta.prototype.toString=function(){return JSON.stringify(this.toJSON())};var ra={SourceMapGenerator:ta},na=r((function(e,t){function r(e,n,i,a,o,s){var c=Math.floor((n-e)/2)+e,u=o(i,a[c],!0);return 0===u?c:u>0?n-c>1?r(c,n,i,a,o,s):s==t.LEAST_UPPER_BOUND?n1?r(e,c,i,a,o,s):s==t.LEAST_UPPER_BOUND?c:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,n,i,a){if(0===n.length)return-1;var o=r(-1,n.length,e,n,i,a||t.GREATEST_LOWER_BOUND);if(o<0)return-1;for(;o-1>=0&&0===i(n[o],n[o-1],!0);)--o;return o}}));function ia(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function aa(e,t,r,n){if(r=0){var a=this._originalMappings[i];if(void 0===e.column)for(var o=a.originalLine;a&&a.originalLine===o;)n.push({line:Hi.getArg(a,\"generatedLine\",null),column:Hi.getArg(a,\"generatedColumn\",null),lastColumn:Hi.getArg(a,\"lastGeneratedColumn\",null)}),a=this._originalMappings[++i];else for(var s=a.originalColumn;a&&a.originalLine===t&&a.originalColumn==s;)n.push({line:Hi.getArg(a,\"generatedLine\",null),column:Hi.getArg(a,\"generatedColumn\",null),lastColumn:Hi.getArg(a,\"lastGeneratedColumn\",null)}),a=this._originalMappings[++i]}return n};var ua=ca;function la(e,t){var r=e;\"string\"==typeof e&&(r=Hi.parseSourceMapInput(e));var n=Hi.getArg(r,\"version\"),i=Hi.getArg(r,\"sources\"),a=Hi.getArg(r,\"names\",[]),o=Hi.getArg(r,\"sourceRoot\",null),s=Hi.getArg(r,\"sourcesContent\",null),c=Hi.getArg(r,\"mappings\"),u=Hi.getArg(r,\"file\",null);if(n!=this._version)throw new Error(\"Unsupported version: \"+n);o&&(o=Hi.normalize(o)),i=i.map(String).map(Hi.normalize).map((function(e){return o&&Hi.isAbsolute(o)&&Hi.isAbsolute(e)?Hi.relative(o,e):e})),this._names=oa.fromArray(a.map(String),!0),this._sources=oa.fromArray(i,!0),this._absoluteSources=this._sources.toArray().map((function(e){return Hi.computeSourceURL(o,e,t)})),this.sourceRoot=o,this.sourcesContent=s,this._mappings=c,this._sourceMapURL=t,this.file=u}function da(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}la.prototype=Object.create(ca.prototype),la.prototype.consumer=ca,la.prototype._findSourceIndex=function(e){var t,r=e;if(null!=this.sourceRoot&&(r=Hi.relative(this.sourceRoot,r)),this._sources.has(r))return this._sources.indexOf(r);for(t=0;t1&&(r.source=d+i[1],d+=i[1],r.originalLine=u+i[2],u=r.originalLine,r.originalLine+=1,r.originalColumn=l+i[3],l=r.originalColumn,i.length>4&&(r.name=_+i[4],_+=i[4])),v.push(r),\"number\"==typeof r.originalLine&&y.push(r)}sa(v,Hi.compareByGeneratedPositionsDeflated),this.__generatedMappings=v,sa(y,Hi.compareByOriginalPositions),this.__originalMappings=y},la.prototype._findMapping=function(e,t,r,n,i,a){if(e[r]<=0)throw new TypeError(\"Line must be greater than or equal to 1, got \"+e[r]);if(e[n]<0)throw new TypeError(\"Column must be greater than or equal to 0, got \"+e[n]);return na.search(e,t,i,a)},la.prototype.computeColumnSpans=function(){for(var e=0;e=0){var n=this._generatedMappings[r];if(n.generatedLine===t.generatedLine){var i=Hi.getArg(n,\"source\",null);null!==i&&(i=this._sources.at(i),i=Hi.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var a=Hi.getArg(n,\"name\",null);return null!==a&&(a=this._names.at(a)),{source:i,line:Hi.getArg(n,\"originalLine\",null),column:Hi.getArg(n,\"originalColumn\",null),name:a}}}return{source:null,line:null,column:null,name:null}},la.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e})))},la.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];var n,i=e;if(null!=this.sourceRoot&&(i=Hi.relative(this.sourceRoot,i)),null!=this.sourceRoot&&(n=Hi.urlParse(this.sourceRoot))){var a=i.replace(/^file:\\/\\//,\"\");if(\"file\"==n.scheme&&this._sources.has(a))return this.sourcesContent[this._sources.indexOf(a)];if((!n.path||\"/\"==n.path)&&this._sources.has(\"/\"+i))return this.sourcesContent[this._sources.indexOf(\"/\"+i)]}if(t)return null;throw new Error('\"'+i+'\" is not in the SourceMap.')},la.prototype.generatedPositionFor=function(e){var t=Hi.getArg(e,\"source\");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var r={source:t,originalLine:Hi.getArg(e,\"line\"),originalColumn:Hi.getArg(e,\"column\")},n=this._findMapping(r,this._originalMappings,\"originalLine\",\"originalColumn\",Hi.compareByOriginalPositions,Hi.getArg(e,\"bias\",ca.GREATEST_LOWER_BOUND));if(n>=0){var i=this._originalMappings[n];if(i.source===r.source)return{line:Hi.getArg(i,\"generatedLine\",null),column:Hi.getArg(i,\"generatedColumn\",null),lastColumn:Hi.getArg(i,\"lastGeneratedColumn\",null)}}return{line:null,column:null,lastColumn:null}};var _a=la;function pa(e,t){var r=e;\"string\"==typeof e&&(r=Hi.parseSourceMapInput(e));var n=Hi.getArg(r,\"version\"),i=Hi.getArg(r,\"sections\");if(n!=this._version)throw new Error(\"Unsupported version: \"+n);this._sources=new oa,this._names=new oa;var a={line:-1,column:0};this._sections=i.map((function(e){if(e.url)throw new Error(\"Support for url field in sections not implemented.\");var r=Hi.getArg(e,\"offset\"),n=Hi.getArg(r,\"line\"),i=Hi.getArg(r,\"column\");if(n=0;t--)this.prepend(e[t]);else{if(!e[ya]&&\"string\"!=typeof e)throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \"+e);this.children.unshift(e)}return this},va.prototype.walk=function(e){for(var t,r=0,n=this.children.length;r0){for(t=[],r=0;r>18&63]+Da[i>>12&63]+Da[i>>6&63]+Da[63&i]);return a.join(\"\")}function Ca(e){var t;Sa||Ea();for(var r=e.length,n=r%3,i=\"\",a=[],o=16383,s=0,c=r-n;sc?c:s+o));return 1===n?(t=e[r-1],i+=Da[t>>2],i+=Da[t<<4&63],i+=\"==\"):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=Da[t>>10],i+=Da[t>>4&63],i+=Da[t<<2&63],i+=\"=\"),a.push(i),a.join(\"\")}function ka(e,t,r,n,i){var a,o,s=8*i-n-1,c=(1<>1,l=-7,d=r?i-1:0,_=r?-1:1,p=e[t+d];for(d+=_,a=p&(1<<-l)-1,p>>=-l,l+=s;l>0;a=256*a+e[t+d],d+=_,l-=8);for(o=a&(1<<-l)-1,a>>=-l,l+=n;l>0;o=256*o+e[t+d],d+=_,l-=8);if(0===a)a=1-u;else{if(a===c)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)}function Aa(e,t,r,n,i,a){var o,s,c,u=8*a-i-1,l=(1<>1,_=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,f=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),(t+=o+d>=1?_/c:_*Math.pow(2,1-d))*c>=2&&(o++,c/=2),o+d>=l?(s=0,o=l):o+d>=1?(s=(t*c-1)*Math.pow(2,i),o+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=f,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=f,o/=256,u-=8);e[r+p-f]|=128*g}var Fa={}.toString,Na=Array.isArray||function(e){return\"[object Array]\"==Fa.call(e)};function Pa(){return Ia.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function wa(e,t){if(Pa()=Pa())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+Pa().toString(16)+\" bytes\");return 0|e}function ja(e){return!(null==e||!e._isBuffer)}function Ja(e,t){if(ja(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":case void 0:return fo(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return go(e).length;default:if(n)return fo(e).length;t=(\"\"+t).toLowerCase(),n=!0}}function Ka(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return ro(this,t,r);case\"utf8\":case\"utf-8\":return $a(this,t,r);case\"ascii\":return eo(this,t,r);case\"latin1\":case\"binary\":return to(this,t,r);case\"base64\":return Qa(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return no(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}function za(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function Ua(e,t,r,n,i){if(0===e.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof t&&(t=Ia.from(t,n)),ja(t))return 0===t.length?-1:Va(e,t,r,n,i);if(\"number\"==typeof t)return t&=255,Ia.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Va(e,[t],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function Va(e,t,r,n,i){var a,o=1,s=e.length,c=t.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,c/=2,r/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var l=-1;for(a=r;as&&(r=s-c),a=r;a>=0;a--){for(var d=!0,_=0;_i&&(n=i):n=i;var a=t.length;if(a%2!=0)throw new TypeError(\"Invalid hex string\");n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function Qa(e,t,r){return 0===t&&r===e.length?Ca(e):Ca(e.slice(t,r))}function $a(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:u>223?3:u>191?2:1;if(i+d<=r)switch(d){case 1:u<128&&(l=u);break;case 2:128==(192&(a=e[i+1]))&&(c=(31&u)<<6|63&a)>127&&(l=c);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(c=(15&u)<<12|(63&a)<<6|63&o)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(c=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&c<1114112&&(l=c)}null===l?(l=65533,d=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),i+=d}return function(e){var t=e.length;if(t<=Za)return String.fromCharCode.apply(String,e);var r=\"\",n=0;for(;n0&&(e=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(e+=\" ... \")),\"\"},Ia.prototype.compare=function(e,t,r,n,i){if(!ja(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),s=Math.min(a,o),c=this.slice(n,i),u=e.slice(t,r),l=0;li)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return qa(this,e,t,r);case\"utf8\":case\"utf-8\":return Wa(this,e,t,r);case\"ascii\":return Ha(this,e,t,r);case\"latin1\":case\"binary\":return Ga(this,e,t,r);case\"base64\":return Ya(this,e,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Xa(this,e,t,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},Ia.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var Za=4096;function eo(e,t,r){var n=\"\";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i=\"\",a=t;ar)throw new RangeError(\"Trying to access beyond buffer length\")}function ao(e,t,r,n,i,a){if(!ja(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError(\"Index out of range\")}function oo(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function so(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function co(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function uo(e,t,r,n,i){return i||co(e,0,r,4),Aa(e,t,r,n,23,4),r+4}function lo(e,t,r,n,i){return i||co(e,0,r,8),Aa(e,t,r,n,52,8),r+8}Ia.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},Ia.prototype.readUInt8=function(e,t){return t||io(e,1,this.length),this[e]},Ia.prototype.readUInt16LE=function(e,t){return t||io(e,2,this.length),this[e]|this[e+1]<<8},Ia.prototype.readUInt16BE=function(e,t){return t||io(e,2,this.length),this[e]<<8|this[e+1]},Ia.prototype.readUInt32LE=function(e,t){return t||io(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Ia.prototype.readUInt32BE=function(e,t){return t||io(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Ia.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||io(e,t,this.length);for(var n=this[e],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},Ia.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||io(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},Ia.prototype.readInt8=function(e,t){return t||io(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Ia.prototype.readInt16LE=function(e,t){t||io(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Ia.prototype.readInt16BE=function(e,t){t||io(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Ia.prototype.readInt32LE=function(e,t){return t||io(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Ia.prototype.readInt32BE=function(e,t){return t||io(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Ia.prototype.readFloatLE=function(e,t){return t||io(e,4,this.length),ka(this,e,!0,23,4)},Ia.prototype.readFloatBE=function(e,t){return t||io(e,4,this.length),ka(this,e,!1,23,4)},Ia.prototype.readDoubleLE=function(e,t){return t||io(e,8,this.length),ka(this,e,!0,52,8)},Ia.prototype.readDoubleBE=function(e,t){return t||io(e,8,this.length),ka(this,e,!1,52,8)},Ia.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||ao(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+i]=e/a&255;return t+r},Ia.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,1,255,0),Ia.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Ia.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,2,65535,0),Ia.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):oo(this,e,t,!0),t+2},Ia.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,2,65535,0),Ia.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):oo(this,e,t,!1),t+2},Ia.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,4,4294967295,0),Ia.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):so(this,e,t,!0),t+4},Ia.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,4,4294967295,0),Ia.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):so(this,e,t,!1),t+4},Ia.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);ao(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+r},Ia.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);ao(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},Ia.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,1,127,-128),Ia.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Ia.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,2,32767,-32768),Ia.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):oo(this,e,t,!0),t+2},Ia.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,2,32767,-32768),Ia.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):oo(this,e,t,!1),t+2},Ia.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,4,2147483647,-2147483648),Ia.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):so(this,e,t,!0),t+4},Ia.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Ia.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):so(this,e,t,!1),t+4},Ia.prototype.writeFloatLE=function(e,t,r){return uo(this,e,t,!0,r)},Ia.prototype.writeFloatBE=function(e,t,r){return uo(this,e,t,!1,r)},Ia.prototype.writeDoubleLE=function(e,t,r){return lo(this,e,t,!0,r)},Ia.prototype.writeDoubleBE=function(e,t,r){return lo(this,e,t,!1,r)},Ia.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError(\"sourceStart out of bounds\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(a<1e3||!Ia.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),\"number\"==typeof e)for(a=t;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function go(e){return function(e){var t,r,n,i,a,o;Sa||Ea();var s=e.length;if(s%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");a=\"=\"===e[s-2]?2:\"=\"===e[s-1]?1:0,o=new ba(3*s/4-a),n=a>0?s-4:s;var c=0;for(t=0,r=0;t>16&255,o[c++]=i>>8&255,o[c++]=255&i;return 2===a?(i=xa[e.charCodeAt(t)]<<2|xa[e.charCodeAt(t+1)]>>4,o[c++]=255&i):1===a&&(i=xa[e.charCodeAt(t)]<<10|xa[e.charCodeAt(t+1)]<<4|xa[e.charCodeAt(t+2)]>>2,o[c++]=i>>8&255,o[c++]=255&i),o}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}(e).replace(_o,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function mo(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function yo(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var vo=Object.prototype.toString,ho=\"function\"==typeof Ia.alloc&&\"function\"==typeof Ia.allocUnsafe&&\"function\"==typeof Ia.from;var Do=function(e,t,r){if(\"number\"==typeof e)throw new TypeError('\"value\" argument must not be a number');return n=e,\"ArrayBuffer\"===vo.call(n).slice(8,-1)?function(e,t,r){t>>>=0;var n=e.byteLength-t;if(n<0)throw new RangeError(\"'offset' is out of bounds\");if(void 0===r)r=n;else if((r>>>=0)>n)throw new RangeError(\"'length' is out of bounds\");return ho?Ia.from(e.slice(t,t+r)):new Ia(new Uint8Array(e.slice(t,t+r)))}(e,t,r):\"string\"==typeof e?function(e,t){if(\"string\"==typeof t&&\"\"!==t||(t=\"utf8\"),!Ia.isEncoding(t))throw new TypeError('\"encoding\" must be a valid string encoding');return ho?Ia.from(e,t):new Ia(e,t)}(e,t):ho?Ia.from(e):new Ia(e);var n},xo=n(Ki),bo=n(Li),So=(r((function(e,t){var r,n=ha.SourceMapConsumer,i=xo;try{(r=bo).existsSync&&r.readFileSync||(r=null)}catch(e){}function a(e,t){return e.require(t)}var o=!1,s=!1,c=!1,u=\"auto\",l={},d={},_=/^data:application\\/json[^,]+base64,/,p=[],f=[];function g(){return\"browser\"===u||\"node\"!==u&&(\"undefined\"!=typeof window&&\"function\"==typeof XMLHttpRequest&&!(window.require&&window.module&&window.process&&\"renderer\"===window.process.type))}function m(e){return function(t){for(var r=0;r\";var r=this.getLineNumber();if(null!=r){t+=\":\"+r;var n=this.getColumnNumber();n&&(t+=\":\"+n)}}var i=\"\",a=this.getFunctionName(),o=!0,s=this.isConstructor();if(!(this.isToplevel()||s)){var c=this.getTypeName();\"[object Object]\"===c&&(c=\"null\");var u=this.getMethodName();a?(c&&0!=a.indexOf(c)&&(i+=c+\".\"),i+=a,u&&a.indexOf(\".\"+u)!=a.length-u.length-1&&(i+=\" [as \"+u+\"]\")):i+=c+\".\"+(u||\"\")}else s?i+=\"new \"+(a||\"\"):a?i+=a:(i+=t,o=!1);return o&&(i+=\" (\"+t+\")\"),i}function S(e){var t={};return Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((function(r){t[r]=/^(?:is|get)/.test(r)?function(){return e[r].call(e)}:e[r]})),t.toString=b,t}function E(e,t){if(void 0===t&&(t={nextPosition:null,curPosition:null}),e.isNative())return t.curPosition=null,e;var r=e.getFileName()||e.getScriptNameOrSourceURL();if(r){var n=e.getLineNumber(),i=e.getColumnNumber()-1,a=/^v(10\\.1[6-9]|10\\.[2-9][0-9]|10\\.[0-9]{3,}|1[2-9]\\d*|[2-9]\\d|\\d{3,}|11\\.11)/.test(V.version)?0:62;1===n&&i>a&&!g()&&!e.isEval()&&(i-=a);var o=D({source:r,line:n,column:i});t.curPosition=o;var s=(e=S(e)).getFunctionName;return e.getFunctionName=function(){return null==t.nextPosition?s():t.nextPosition.name||s()},e.getFileName=function(){return o.source},e.getLineNumber=function(){return o.line},e.getColumnNumber=function(){return o.column+1},e.getScriptNameOrSourceURL=function(){return o.source},e}var c=e.isEval()&&e.getEvalOrigin();return c?(c=x(c),(e=S(e)).getEvalOrigin=function(){return c},e):e}function T(e,t){c&&(l={},d={});for(var r=(e.name||\"Error\")+\": \"+(e.message||\"\"),n={nextPosition:null,curPosition:null},i=[],a=t.length-1;a>=0;a--)i.push(\"\\n at \"+E(t[a],n)),n.nextPosition=n.curPosition;return n.curPosition=n.nextPosition=null,r+i.reverse().join(\"\")}function C(e){var t=/\\n at [^(]+ \\((.*):(\\d+):(\\d+)\\)/.exec(e.stack);if(t){var n=t[1],i=+t[2],a=+t[3],o=l[n];if(!o&&r&&r.existsSync(n))try{o=r.readFileSync(n,\"utf8\")}catch(e){o=\"\"}if(o){var s=o.split(/(?:\\r\\n|\\r|\\n)/)[i-1];if(s)return n+\":\"+i+\"\\n\"+s+\"\\n\"+new Array(a).join(\" \")+\"^\"}}return null}function k(e){var t=C(e);V.stderr._handle&&V.stderr._handle.setBlocking&&V.stderr._handle.setBlocking(!0),t&&(console.error(),console.error(t)),console.error(e.stack),V.exit(1)}f.push((function(e){var t,r=function(e){var t;if(g())try{var r=new XMLHttpRequest;r.open(\"GET\",e,!1),r.send(null),t=4===r.readyState?r.responseText:null;var n=r.getResponseHeader(\"SourceMap\")||r.getResponseHeader(\"X-SourceMap\");if(n)return n}catch(e){}t=y(e);for(var i,a,o=/(?:\\/\\/[@#][\\s]*sourceMappingURL=([^\\s'\"]+)[\\s]*$)|(?:\\/\\*[@#][\\s]*sourceMappingURL=([^\\s*'\"]+)[\\s]*(?:\\*\\/)[\\s]*$)/gm;a=o.exec(t);)i=a;return i?i[1]:null}(e);if(!r)return null;if(_.test(r)){var n=r.slice(r.indexOf(\",\")+1);t=Do(n,\"base64\").toString(),r=e}else r=v(e,r),t=y(r);return t?{url:r,map:t}:null}));var A=p.slice(0),F=f.slice(0);t.wrapCallSite=E,t.getErrorSource=C,t.mapSourcePosition=D,t.retrieveSourceMap=h,t.install=function(t){if((t=t||{}).environment&&(u=t.environment,-1===[\"node\",\"browser\",\"auto\"].indexOf(u)))throw new Error(\"environment \"+u+\" was unknown. Available options are {auto, browser, node}\");if(t.retrieveFile&&(t.overrideRetrieveFile&&(p.length=0),p.unshift(t.retrieveFile)),t.retrieveSourceMap&&(t.overrideRetrieveSourceMap&&(f.length=0),f.unshift(t.retrieveSourceMap)),t.hookRequire&&!g()){var r=a(e,\"module\"),n=r.prototype._compile;n.__sourceMapSupport||(r.prototype._compile=function(e,t){return l[t]=e,d[t]=void 0,n.call(this,e,t)},r.prototype._compile.__sourceMapSupport=!0)}if(c||(c=\"emptyCacheBetweenOperations\"in t&&t.emptyCacheBetweenOperations),o||(o=!0,Error.prepareStackTrace=T),!s){var i=!(\"handleUncaughtExceptions\"in t)||t.handleUncaughtExceptions;try{!1===a(e,\"worker_threads\").isMainThread&&(i=!1)}catch(e){}i&&\"object\"==typeof V&&null!==V&&\"function\"==typeof V.on&&(s=!0,_=V.emit,V.emit=function(e){if(\"uncaughtException\"===e){var t=arguments[1]&&arguments[1].stack,r=this.listeners(e).length>0;if(t&&!r)return k(arguments[1])}return _.apply(this,arguments)})}var _},t.resetRetrieveHandlers=function(){p.length=0,f.length=0,p=A.slice(0),f=F.slice(0),h=m(f),y=m(p)}})),n(wi)),Eo=r((function(e){var r=t&&t.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0;for(var r=0,n=e;r>1);switch(n(r(e[c],c),t)){case-1:o=c+1;break;case 0:return c;case 1:s=c-1}}return~o}function v(e,t,r,n,i){if(e&&e.length>0){var a=e.length;if(a>0){var o=void 0===n||n<0?0:n,s=void 0===i||o+i>a-1?a-1:o+i,c=void 0;for(arguments.length<=2?(c=e[o],o++):c=r;o<=s;)c=t(c,e[o],o),o++;return c}}return r}e.Map=t(\"Map\",\"tryGetNativeMap\",\"createMapShim\"),e.Set=t(\"Set\",\"tryGetNativeSet\",\"createSetShim\"),e.getIterator=n,e.emptyArray=[],e.emptyMap=new e.Map,e.emptySet=new e.Set,e.createMap=function(){return new e.Map},e.createMapFromTemplate=function(t){var r=new e.Map;for(var n in t)h.call(t,n)&&r.set(n,t[n]);return r},e.length=function(e){return e?e.length:0},e.forEach=function(e,t){if(e)for(var r=0;r=0;r--){var n=t(e[r],r);if(n)return n}},e.firstDefined=function(e,t){if(void 0!==e)for(var r=0;r=0;r--){var n=e[r];if(t(n,r))return n}},e.findIndex=function(e,t,r){for(var n=r||0;n=0;n--)if(t(e[n],n))return n;return-1},e.findMap=function(t,r){for(var n=0;n0&&e.Debug.assertGreaterThanOrEqual(n(r[o],r[o-1]),0);t:for(var s=a;as&&e.Debug.assertGreaterThanOrEqual(n(t[a],t[a-1]),0),n(r[o],t[a])){case-1:i.push(r[o]);continue e;case 0:continue e;case 1:continue t}}return i},e.sum=function(e,t){for(var r=0,n=0,i=e;nt?1:0}function B(e,t){return M(e,t)}e.toFileNameLowerCase=I,e.notImplemented=function(){throw new Error(\"Not implemented\")},e.memoize=function(e){var t;return function(){return e&&(t=e(),e=void 0),t}},e.memoizeOne=function(t){var r=new e.Map;return function(e){var n=typeof e+\":\"+e,i=r.get(n);return void 0!==i||r.has(n)||(i=t(e),r.set(n,i)),i}},e.compose=function(e,t,r,n,i){if(i){for(var a=[],o=0;o0?1:0}function i(e){var t=new Intl.Collator(e,{usage:\"sort\",sensitivity:\"variant\"}).compare;return function(e,r){return n(e,r,t)}}function a(e){return void 0!==e?o():function(e,r){return n(e,r,t)};function t(e,t){return e.localeCompare(t)}}function o(){return function(t,r){return n(t,r,e)};function e(e,r){return t(e.toUpperCase(),r.toUpperCase())||t(e,r)}function t(e,t){return et?1:0}}}();function z(e,t,r){for(var n=new Array(t.length+1),i=new Array(t.length+1),a=r+1,o=0;o<=t.length;o++)n[o]=o;for(o=1;o<=e.length;o++){var s=e.charCodeAt(o-1),c=o>r?o-r:1,u=t.length>r+o?r+o:t.length;i[0]=o;for(var l=o,d=1;dr)return;var p=n;n=i,i=p}var f=n[t.length];return f>r?void 0:f}function U(e,t){var r=e.length-t.length;return r>=0&&e.indexOf(t,r)===r}function V(e,t){for(var r=t;r=r.length+n.length&&H(t,r)&&U(t,n)}function Y(e,t,r,n){for(var i=0,a=e[n];ii&&(i=c.prefix.length,n=s)}return n},e.startsWith=H,e.removePrefix=function(e,t){return H(e,t)?e.substr(t.length):e},e.tryRemovePrefix=function(e,t,r){return void 0===r&&(r=N),H(r(e),r(t))?e.substring(t.length):void 0},e.and=function(e,t){return function(r){return e(r)&&t(r)}},e.or=function(){for(var e=[],t=0;t=e}function _(t,n){return!!d(t)||(l[n]={level:t,assertion:r[n]},r[n]=e.noop,!1)}function p(e,t){var r=new Error(e?\"Debug Failure. \"+e:\"Debug Failure.\");throw Error.captureStackTrace&&Error.captureStackTrace(r,t||p),r}function f(e,t,r,n){e||(t=t?\"False expression: \"+t:\"False expression.\",r&&(t+=\"\\r\\nVerbose Debug Information: \"+(\"string\"==typeof r?r:r())),p(t,n||f))}function g(e,t,r){null==e&&p(t,r||g)}function m(e,t,r){return g(e,t,r||m),e}function y(e,t,r){for(var n=0,i=e;n0&&0===i[0][0]?i[0][1]:\"0\";if(n){for(var a=\"\",o=t,s=0,c=i;st)break;0!==l&&l&t&&(a=a+(a?\"|\":\"\")+d,o&=~l)}if(0===o)return a}else for(var _=0,p=i;_n)for(var i=0,o=e.getOwnKeys(l);i=c.level&&(r[s]=c,l[s]=void 0)}},r.shouldAssert=d,r.fail=p,r.failBadSyntaxKind=function e(t,r,n){return p((r||\"Unexpected node.\")+\"\\r\\nNode \"+x(t.kind)+\" was unexpected.\",n||e)},r.assert=f,r.assertEqual=function e(t,r,n,i,a){t!==r&&p(\"Expected \"+t+\" === \"+r+\". \"+(n?i?n+\" \"+i:n:\"\"),a||e)},r.assertLessThan=function e(t,r,n,i){t>=r&&p(\"Expected \"+t+\" < \"+r+\". \"+(n||\"\"),i||e)},r.assertLessThanOrEqual=function e(t,r,n){t>r&&p(\"Expected \"+t+\" <= \"+r,n||e)},r.assertGreaterThanOrEqual=function e(t,r,n){t= \"+r,n||e)},r.assertIsDefined=g,r.checkDefined=m,r.assertDefined=m,r.assertEachIsDefined=y,r.checkEachDefined=v,r.assertEachDefined=v,r.assertNever=function t(r,n,i){return void 0===n&&(n=\"Illegal value:\"),p(n+\" \"+(\"object\"==typeof r&&e.hasProperty(r,\"kind\")&&e.hasProperty(r,\"pos\")&&x?\"SyntaxKind: \"+x(r.kind):JSON.stringify(r)),i||t)},r.assertEachNode=function t(r,n,i,a){_(1,\"assertEachNode\")&&f(void 0===n||e.every(r,n),i||\"Unexpected node.\",(function(){return\"Node array did not pass test '\"+h(n)+\"'.\"}),a||t)},r.assertNode=function e(t,r,n,i){_(1,\"assertNode\")&&f(void 0!==t&&(void 0===r||r(t)),n||\"Unexpected node.\",(function(){return\"Node \"+x(t.kind)+\" did not pass test '\"+h(r)+\"'.\"}),i||e)},r.assertNotNode=function e(t,r,n,i){_(1,\"assertNotNode\")&&f(void 0===t||void 0===r||!r(t),n||\"Unexpected node.\",(function(){return\"Node \"+x(t.kind)+\" should not have passed test '\"+h(r)+\"'.\"}),i||e)},r.assertOptionalNode=function e(t,r,n,i){_(1,\"assertOptionalNode\")&&f(void 0===r||void 0===t||r(t),n||\"Unexpected node.\",(function(){return\"Node \"+x(t.kind)+\" did not pass test '\"+h(r)+\"'.\"}),i||e)},r.assertOptionalToken=function e(t,r,n,i){_(1,\"assertOptionalToken\")&&f(void 0===r||void 0===t||t.kind===r,n||\"Unexpected node.\",(function(){return\"Node \"+x(t.kind)+\" was not a '\"+x(r)+\"' token.\"}),i||e)},r.assertMissingNode=function e(t,r,n){_(1,\"assertMissingNode\")&&f(void 0===t,r||\"Unexpected node.\",(function(){return\"Node \"+x(t.kind)+\" was unexpected'.\"}),n||e)},r.getFunctionName=h,r.formatSymbol=function(t){return\"{ name: \"+e.unescapeLeadingUnderscores(t.escapedName)+\"; flags: \"+C(t.flags)+\"; declarations: \"+e.map(t.declarations,(function(e){return x(e.kind)}))+\" }\"},r.formatEnum=D,r.formatSyntaxKind=x,r.formatNodeFlags=b,r.formatModifierFlags=S,r.formatTransformFlags=E,r.formatEmitFlags=T,r.formatSymbolFlags=C,r.formatTypeFlags=k,r.formatObjectFlags=A,r.formatFlowFlags=F;var N,P,w,I=!1;function O(e){return function(){if(R(),!N)throw new Error(\"Debugging helpers could not be loaded.\");return N}().formatControlFlowGraph(e)}function M(t){\"__debugFlowFlags\"in t||Object.defineProperties(t,{__tsDebuggerDisplay:{value:function(){var e=2&this.flags?\"FlowStart\":4&this.flags?\"FlowBranchLabel\":8&this.flags?\"FlowLoopLabel\":16&this.flags?\"FlowAssignment\":32&this.flags?\"FlowTrueCondition\":64&this.flags?\"FlowFalseCondition\":128&this.flags?\"FlowSwitchClause\":256&this.flags?\"FlowArrayMutation\":512&this.flags?\"FlowCall\":1024&this.flags?\"FlowReduceLabel\":1&this.flags?\"FlowUnreachable\":\"UnknownFlow\",t=-2048&this.flags;return e+(t?\" (\"+F(t)+\")\":\"\")}},__debugFlowFlags:{get:function(){return D(this.flags,e.FlowFlags,!0)}},__debugToString:{value:function(){return O(this)}}})}function L(e){\"__tsDebuggerDisplay\"in e||Object.defineProperties(e,{__tsDebuggerDisplay:{value:function(e){return\"NodeArray \"+(e=String(e).replace(/(?:,[\\s\\w\\d_]+:[^,]+)+\\]$/,\"]\"))}}})}function R(){if(!I){var t,r;Object.defineProperties(e.objectAllocator.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value:function(){var t=33554432&this.flags?\"TransientSymbol\":\"Symbol\",r=-33554433&this.flags;return t+\" '\"+e.symbolName(this)+\"'\"+(r?\" (\"+C(r)+\")\":\"\")}},__debugFlags:{get:function(){return C(this.flags)}}}),Object.defineProperties(e.objectAllocator.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value:function(){var t=98304&this.flags?\"NullableType\":384&this.flags?\"LiteralType \"+JSON.stringify(this.value):2048&this.flags?\"LiteralType \"+(this.value.negative?\"-\":\"\")+this.value.base10Value+\"n\":8192&this.flags?\"UniqueESSymbolType\":32&this.flags?\"EnumType\":67359327&this.flags?\"IntrinsicType \"+this.intrinsicName:1048576&this.flags?\"UnionType\":2097152&this.flags?\"IntersectionType\":4194304&this.flags?\"IndexType\":8388608&this.flags?\"IndexedAccessType\":16777216&this.flags?\"ConditionalType\":33554432&this.flags?\"SubstitutionType\":262144&this.flags?\"TypeParameter\":524288&this.flags?3&this.objectFlags?\"InterfaceType\":4&this.objectFlags?\"TypeReference\":8&this.objectFlags?\"TupleType\":16&this.objectFlags?\"AnonymousType\":32&this.objectFlags?\"MappedType\":2048&this.objectFlags?\"ReverseMappedType\":256&this.objectFlags?\"EvolvingArrayType\":\"ObjectType\":\"Type\",r=524288&this.flags?-2368&this.objectFlags:0;return t+(this.symbol?\" '\"+e.symbolName(this.symbol)+\"'\":\"\")+(r?\" (\"+A(r)+\")\":\"\")}},__debugFlags:{get:function(){return k(this.flags)}},__debugObjectFlags:{get:function(){return 524288&this.flags?A(this.objectFlags):\"\"}},__debugTypeToString:{value:function(){var e=(void 0===t&&\"function\"==typeof WeakMap&&(t=new WeakMap),t),r=null==e?void 0:e.get(this);return void 0===r&&(r=this.checker.typeToString(this),null==e||e.set(this,r)),r}}});for(var n=0,i=[e.objectAllocator.getNodeConstructor(),e.objectAllocator.getIdentifierConstructor(),e.objectAllocator.getTokenConstructor(),e.objectAllocator.getSourceFileConstructor()];n=0;return d?function(e,t,r,n){var i=B(e,!0,t,r,n);return function(){throw new TypeError(i)}}(t,s,l,r.message):_?function(e,t,r,n){var i=!1;return function(){i||(u.warn(B(e,!1,t,r,n)),i=!0)}}(t,s,l,r.message):e.noop}r.printControlFlowGraph=function(e){return console.log(O(e))},r.formatControlFlowGraph=O,r.attachFlowNodeDebugInfo=function(e){I&&(\"function\"==typeof Object.setPrototypeOf?(P||M(P=Object.create(Object.prototype)),Object.setPrototypeOf(e,P)):M(e))},r.attachNodeArrayDebugInfo=function(e){I&&(\"function\"==typeof Object.setPrototypeOf?(w||L(w=Object.create(Array.prototype)),Object.setPrototypeOf(e,w)):L(e))},r.enableDebugInfo=R,r.deprecate=function(e,t){return function(e,t){return function(){return e(),t.apply(this,arguments)}}(j(h(e),t),e)}}(e.Debug||(e.Debug={}))}(u||(u={})),function(e){var t=/^(0|[1-9]\\d*)(?:\\.(0|[1-9]\\d*)(?:\\.(0|[1-9]\\d*)(?:\\-([a-z0-9-.]+))?(?:\\+([a-z0-9-.]+))?)?)?$/i,r=/^(?:0|[1-9]\\d*|[a-z-][a-z0-9-]*)(?:\\.(?:0|[1-9]\\d*|[a-z-][a-z0-9-]*))*$/i,n=/^[a-z0-9-]+(?:\\.[a-z0-9-]+)*$/i,i=/^(0|[1-9]\\d*)$/,a=function(){function t(t,i,a,s,c){if(void 0===i&&(i=0),void 0===a&&(a=0),void 0===s&&(s=\"\"),void 0===c&&(c=\"\"),\"string\"==typeof t){var u=e.Debug.checkDefined(o(t),\"Invalid version\");t=u.major,i=u.minor,a=u.patch,s=u.prerelease,c=u.build}e.Debug.assert(t>=0,\"Invalid argument: major\"),e.Debug.assert(i>=0,\"Invalid argument: minor\"),e.Debug.assert(a>=0,\"Invalid argument: patch\"),e.Debug.assert(!s||r.test(s),\"Invalid argument: prerelease\"),e.Debug.assert(!c||n.test(c),\"Invalid argument: build\"),this.major=t,this.minor=i,this.patch=a,this.prerelease=s?s.split(\".\"):e.emptyArray,this.build=c?c.split(\".\"):e.emptyArray}return t.tryParse=function(e){var r=o(e);if(r)return new t(r.major,r.minor,r.patch,r.prerelease,r.build)},t.prototype.compareTo=function(t){return this===t?0:void 0===t?1:e.compareValues(this.major,t.major)||e.compareValues(this.minor,t.minor)||e.compareValues(this.patch,t.patch)||function(t,r){if(t===r)return 0;if(0===t.length)return 0===r.length?0:1;if(0===r.length)return-1;for(var n=Math.min(t.length,r.length),a=0;a|>=|=)?\\s*([a-z0-9-+.*]+)$/i;function p(e){for(var t=[],r=0,n=e.trim().split(c);r=\",n.version)),y(i.major)||r.push(y(i.minor)?v(\"<\",i.version.increment(\"major\")):y(i.patch)?v(\"<\",i.version.increment(\"minor\")):v(\"<=\",i.version)),!0)}function m(e,t,r){var n=f(t);if(!n)return!1;var i=n.version,o=n.major,s=n.minor,c=n.patch;if(y(o))\"<\"!==e&&\">\"!==e||r.push(v(\"<\",a.zero));else switch(e){case\"~\":r.push(v(\">=\",i)),r.push(v(\"<\",i.increment(y(s)?\"major\":\"minor\")));break;case\"^\":r.push(v(\">=\",i)),r.push(v(\"<\",i.increment(i.major>0||y(s)?\"major\":i.minor>0||y(c)?\"minor\":\"patch\")));break;case\"<\":case\">=\":r.push(v(e,i));break;case\"<=\":case\">\":r.push(y(s)?v(\"<=\"===e?\"<\":\">=\",i.increment(\"major\")):y(c)?v(\"<=\"===e?\"<\":\">=\",i.increment(\"minor\")):v(e,i));break;case\"=\":case void 0:y(s)||y(c)?(r.push(v(\">=\",i)),r.push(v(\"<\",i.increment(y(s)?\"major\":\"minor\")))):r.push(v(\"=\",i));break;default:return!1}return!0}function y(e){return\"*\"===e||\"x\"===e||\"X\"===e}function v(e,t){return{operator:e,operand:t}}function h(e,t){for(var r=0,n=t;r\":return i>0;case\">=\":return i>=0;case\"=\":return 0===i;default:return e.Debug.assertNever(r)}}function x(t){return e.map(t,b).join(\" \")}function b(e){return\"\"+e.operator+e.operand}}(u||(u={})),function(e){function t(e,t){return\"object\"==typeof e&&\"number\"==typeof e.timeOrigin&&\"function\"==typeof e.mark&&\"function\"==typeof e.measure&&\"function\"==typeof e.now&&\"function\"==typeof t}var r=function(){if(\"object\"==typeof performance&&\"function\"==typeof PerformanceObserver&&t(performance,PerformanceObserver))return{performance:performance,PerformanceObserver:PerformanceObserver}}()||function(){try{var r=So,n=r.performance,i=r.PerformanceObserver;if(t(n,i)){var a=new e.Version(\"999.999.999\");return new e.VersionRange(\"<12.16.3 || 13 <13.13\").test(a)?{performance:{get timeOrigin(){return n.timeOrigin},now:function(){return n.now()},mark:function(e){return n.mark(e)},measure:function(e,t,r){void 0===t&&(t=\"nodeStart\"),void 0===r&&(r=\"__performance.measure-fix__\",n.mark(r)),n.measure(e,t,r),\"__performance.measure-fix__\"===r&&n.clearMarks(\"__performance.measure-fix__\")}},PerformanceObserver:i}:{performance:n,PerformanceObserver:i}}}catch(e){}}(),n=null==r?void 0:r.performance;e.tryGetNativePerformanceHooks=function(){return r},e.timestamp=n?function(){return n.now()}:Date.now?Date.now:function(){return+new Date}}(u||(u={})),function(e){!function(t){var r,n,i;function a(t,r,n){var i=0;return{enter:function(){1==++i&&c(r)},exit:function(){0==--i?(c(n),u(t,r,n)):i<0&&e.Debug.fail(\"enter/exit count does not match.\")}}}t.createTimerIf=function(e,r,n,i){return e?a(r,n,i):t.nullTimer},t.createTimer=a,t.nullTimer={enter:e.noop,exit:e.noop};var o=new e.Map,s=new e.Map;function c(e){null==i||i.mark(e)}function u(e,t,r){null==i||i.measure(e,t,r)}function l(e){for(var t=0,r=e.getEntriesByType(\"mark\");t0);var t=c.pop(),r=t.phase,n=t.name,a=t.args,o=t.time;u(\"X\",r,n,a,'\"dur\":'+(1e3*e.timestamp()-o),o)}},t.dumpLegend=function(){a&&(e.Debug.assert(r),r.writeFileSync(a,JSON.stringify(s)))}}(e.tracing||(e.tracing={}))}(u||(u={})),function(e){!function(e){e[e.Unknown=0]=\"Unknown\",e[e.EndOfFileToken=1]=\"EndOfFileToken\",e[e.SingleLineCommentTrivia=2]=\"SingleLineCommentTrivia\",e[e.MultiLineCommentTrivia=3]=\"MultiLineCommentTrivia\",e[e.NewLineTrivia=4]=\"NewLineTrivia\",e[e.WhitespaceTrivia=5]=\"WhitespaceTrivia\",e[e.ShebangTrivia=6]=\"ShebangTrivia\",e[e.ConflictMarkerTrivia=7]=\"ConflictMarkerTrivia\",e[e.NumericLiteral=8]=\"NumericLiteral\",e[e.BigIntLiteral=9]=\"BigIntLiteral\",e[e.StringLiteral=10]=\"StringLiteral\",e[e.JsxText=11]=\"JsxText\",e[e.JsxTextAllWhiteSpaces=12]=\"JsxTextAllWhiteSpaces\",e[e.RegularExpressionLiteral=13]=\"RegularExpressionLiteral\",e[e.NoSubstitutionTemplateLiteral=14]=\"NoSubstitutionTemplateLiteral\",e[e.TemplateHead=15]=\"TemplateHead\",e[e.TemplateMiddle=16]=\"TemplateMiddle\",e[e.TemplateTail=17]=\"TemplateTail\",e[e.OpenBraceToken=18]=\"OpenBraceToken\",e[e.CloseBraceToken=19]=\"CloseBraceToken\",e[e.OpenParenToken=20]=\"OpenParenToken\",e[e.CloseParenToken=21]=\"CloseParenToken\",e[e.OpenBracketToken=22]=\"OpenBracketToken\",e[e.CloseBracketToken=23]=\"CloseBracketToken\",e[e.DotToken=24]=\"DotToken\",e[e.DotDotDotToken=25]=\"DotDotDotToken\",e[e.SemicolonToken=26]=\"SemicolonToken\",e[e.CommaToken=27]=\"CommaToken\",e[e.QuestionDotToken=28]=\"QuestionDotToken\",e[e.LessThanToken=29]=\"LessThanToken\",e[e.LessThanSlashToken=30]=\"LessThanSlashToken\",e[e.GreaterThanToken=31]=\"GreaterThanToken\",e[e.LessThanEqualsToken=32]=\"LessThanEqualsToken\",e[e.GreaterThanEqualsToken=33]=\"GreaterThanEqualsToken\",e[e.EqualsEqualsToken=34]=\"EqualsEqualsToken\",e[e.ExclamationEqualsToken=35]=\"ExclamationEqualsToken\",e[e.EqualsEqualsEqualsToken=36]=\"EqualsEqualsEqualsToken\",e[e.ExclamationEqualsEqualsToken=37]=\"ExclamationEqualsEqualsToken\",e[e.EqualsGreaterThanToken=38]=\"EqualsGreaterThanToken\",e[e.PlusToken=39]=\"PlusToken\",e[e.MinusToken=40]=\"MinusToken\",e[e.AsteriskToken=41]=\"AsteriskToken\",e[e.AsteriskAsteriskToken=42]=\"AsteriskAsteriskToken\",e[e.SlashToken=43]=\"SlashToken\",e[e.PercentToken=44]=\"PercentToken\",e[e.PlusPlusToken=45]=\"PlusPlusToken\",e[e.MinusMinusToken=46]=\"MinusMinusToken\",e[e.LessThanLessThanToken=47]=\"LessThanLessThanToken\",e[e.GreaterThanGreaterThanToken=48]=\"GreaterThanGreaterThanToken\",e[e.GreaterThanGreaterThanGreaterThanToken=49]=\"GreaterThanGreaterThanGreaterThanToken\",e[e.AmpersandToken=50]=\"AmpersandToken\",e[e.BarToken=51]=\"BarToken\",e[e.CaretToken=52]=\"CaretToken\",e[e.ExclamationToken=53]=\"ExclamationToken\",e[e.TildeToken=54]=\"TildeToken\",e[e.AmpersandAmpersandToken=55]=\"AmpersandAmpersandToken\",e[e.BarBarToken=56]=\"BarBarToken\",e[e.QuestionToken=57]=\"QuestionToken\",e[e.ColonToken=58]=\"ColonToken\",e[e.AtToken=59]=\"AtToken\",e[e.QuestionQuestionToken=60]=\"QuestionQuestionToken\",e[e.BacktickToken=61]=\"BacktickToken\",e[e.EqualsToken=62]=\"EqualsToken\",e[e.PlusEqualsToken=63]=\"PlusEqualsToken\",e[e.MinusEqualsToken=64]=\"MinusEqualsToken\",e[e.AsteriskEqualsToken=65]=\"AsteriskEqualsToken\",e[e.AsteriskAsteriskEqualsToken=66]=\"AsteriskAsteriskEqualsToken\",e[e.SlashEqualsToken=67]=\"SlashEqualsToken\",e[e.PercentEqualsToken=68]=\"PercentEqualsToken\",e[e.LessThanLessThanEqualsToken=69]=\"LessThanLessThanEqualsToken\",e[e.GreaterThanGreaterThanEqualsToken=70]=\"GreaterThanGreaterThanEqualsToken\",e[e.GreaterThanGreaterThanGreaterThanEqualsToken=71]=\"GreaterThanGreaterThanGreaterThanEqualsToken\",e[e.AmpersandEqualsToken=72]=\"AmpersandEqualsToken\",e[e.BarEqualsToken=73]=\"BarEqualsToken\",e[e.BarBarEqualsToken=74]=\"BarBarEqualsToken\",e[e.AmpersandAmpersandEqualsToken=75]=\"AmpersandAmpersandEqualsToken\",e[e.QuestionQuestionEqualsToken=76]=\"QuestionQuestionEqualsToken\",e[e.CaretEqualsToken=77]=\"CaretEqualsToken\",e[e.Identifier=78]=\"Identifier\",e[e.PrivateIdentifier=79]=\"PrivateIdentifier\",e[e.BreakKeyword=80]=\"BreakKeyword\",e[e.CaseKeyword=81]=\"CaseKeyword\",e[e.CatchKeyword=82]=\"CatchKeyword\",e[e.ClassKeyword=83]=\"ClassKeyword\",e[e.ConstKeyword=84]=\"ConstKeyword\",e[e.ContinueKeyword=85]=\"ContinueKeyword\",e[e.DebuggerKeyword=86]=\"DebuggerKeyword\",e[e.DefaultKeyword=87]=\"DefaultKeyword\",e[e.DeleteKeyword=88]=\"DeleteKeyword\",e[e.DoKeyword=89]=\"DoKeyword\",e[e.ElseKeyword=90]=\"ElseKeyword\",e[e.EnumKeyword=91]=\"EnumKeyword\",e[e.ExportKeyword=92]=\"ExportKeyword\",e[e.ExtendsKeyword=93]=\"ExtendsKeyword\",e[e.FalseKeyword=94]=\"FalseKeyword\",e[e.FinallyKeyword=95]=\"FinallyKeyword\",e[e.ForKeyword=96]=\"ForKeyword\",e[e.FunctionKeyword=97]=\"FunctionKeyword\",e[e.IfKeyword=98]=\"IfKeyword\",e[e.ImportKeyword=99]=\"ImportKeyword\",e[e.InKeyword=100]=\"InKeyword\",e[e.InstanceOfKeyword=101]=\"InstanceOfKeyword\",e[e.NewKeyword=102]=\"NewKeyword\",e[e.NullKeyword=103]=\"NullKeyword\",e[e.ReturnKeyword=104]=\"ReturnKeyword\",e[e.SuperKeyword=105]=\"SuperKeyword\",e[e.SwitchKeyword=106]=\"SwitchKeyword\",e[e.ThisKeyword=107]=\"ThisKeyword\",e[e.ThrowKeyword=108]=\"ThrowKeyword\",e[e.TrueKeyword=109]=\"TrueKeyword\",e[e.TryKeyword=110]=\"TryKeyword\",e[e.TypeOfKeyword=111]=\"TypeOfKeyword\",e[e.VarKeyword=112]=\"VarKeyword\",e[e.VoidKeyword=113]=\"VoidKeyword\",e[e.WhileKeyword=114]=\"WhileKeyword\",e[e.WithKeyword=115]=\"WithKeyword\",e[e.ImplementsKeyword=116]=\"ImplementsKeyword\",e[e.InterfaceKeyword=117]=\"InterfaceKeyword\",e[e.LetKeyword=118]=\"LetKeyword\",e[e.PackageKeyword=119]=\"PackageKeyword\",e[e.PrivateKeyword=120]=\"PrivateKeyword\",e[e.ProtectedKeyword=121]=\"ProtectedKeyword\",e[e.PublicKeyword=122]=\"PublicKeyword\",e[e.StaticKeyword=123]=\"StaticKeyword\",e[e.YieldKeyword=124]=\"YieldKeyword\",e[e.AbstractKeyword=125]=\"AbstractKeyword\",e[e.AsKeyword=126]=\"AsKeyword\",e[e.AssertsKeyword=127]=\"AssertsKeyword\",e[e.AnyKeyword=128]=\"AnyKeyword\",e[e.AsyncKeyword=129]=\"AsyncKeyword\",e[e.AwaitKeyword=130]=\"AwaitKeyword\",e[e.BooleanKeyword=131]=\"BooleanKeyword\",e[e.ConstructorKeyword=132]=\"ConstructorKeyword\",e[e.DeclareKeyword=133]=\"DeclareKeyword\",e[e.GetKeyword=134]=\"GetKeyword\",e[e.InferKeyword=135]=\"InferKeyword\",e[e.IntrinsicKeyword=136]=\"IntrinsicKeyword\",e[e.IsKeyword=137]=\"IsKeyword\",e[e.KeyOfKeyword=138]=\"KeyOfKeyword\",e[e.ModuleKeyword=139]=\"ModuleKeyword\",e[e.NamespaceKeyword=140]=\"NamespaceKeyword\",e[e.NeverKeyword=141]=\"NeverKeyword\",e[e.ReadonlyKeyword=142]=\"ReadonlyKeyword\",e[e.RequireKeyword=143]=\"RequireKeyword\",e[e.NumberKeyword=144]=\"NumberKeyword\",e[e.ObjectKeyword=145]=\"ObjectKeyword\",e[e.SetKeyword=146]=\"SetKeyword\",e[e.StringKeyword=147]=\"StringKeyword\",e[e.SymbolKeyword=148]=\"SymbolKeyword\",e[e.TypeKeyword=149]=\"TypeKeyword\",e[e.UndefinedKeyword=150]=\"UndefinedKeyword\",e[e.UniqueKeyword=151]=\"UniqueKeyword\",e[e.UnknownKeyword=152]=\"UnknownKeyword\",e[e.FromKeyword=153]=\"FromKeyword\",e[e.GlobalKeyword=154]=\"GlobalKeyword\",e[e.BigIntKeyword=155]=\"BigIntKeyword\",e[e.OfKeyword=156]=\"OfKeyword\",e[e.QualifiedName=157]=\"QualifiedName\",e[e.ComputedPropertyName=158]=\"ComputedPropertyName\",e[e.TypeParameter=159]=\"TypeParameter\",e[e.Parameter=160]=\"Parameter\",e[e.Decorator=161]=\"Decorator\",e[e.PropertySignature=162]=\"PropertySignature\",e[e.PropertyDeclaration=163]=\"PropertyDeclaration\",e[e.MethodSignature=164]=\"MethodSignature\",e[e.MethodDeclaration=165]=\"MethodDeclaration\",e[e.Constructor=166]=\"Constructor\",e[e.GetAccessor=167]=\"GetAccessor\",e[e.SetAccessor=168]=\"SetAccessor\",e[e.CallSignature=169]=\"CallSignature\",e[e.ConstructSignature=170]=\"ConstructSignature\",e[e.IndexSignature=171]=\"IndexSignature\",e[e.TypePredicate=172]=\"TypePredicate\",e[e.TypeReference=173]=\"TypeReference\",e[e.FunctionType=174]=\"FunctionType\",e[e.ConstructorType=175]=\"ConstructorType\",e[e.TypeQuery=176]=\"TypeQuery\",e[e.TypeLiteral=177]=\"TypeLiteral\",e[e.ArrayType=178]=\"ArrayType\",e[e.TupleType=179]=\"TupleType\",e[e.OptionalType=180]=\"OptionalType\",e[e.RestType=181]=\"RestType\",e[e.UnionType=182]=\"UnionType\",e[e.IntersectionType=183]=\"IntersectionType\",e[e.ConditionalType=184]=\"ConditionalType\",e[e.InferType=185]=\"InferType\",e[e.ParenthesizedType=186]=\"ParenthesizedType\",e[e.ThisType=187]=\"ThisType\",e[e.TypeOperator=188]=\"TypeOperator\",e[e.IndexedAccessType=189]=\"IndexedAccessType\",e[e.MappedType=190]=\"MappedType\",e[e.LiteralType=191]=\"LiteralType\",e[e.NamedTupleMember=192]=\"NamedTupleMember\",e[e.TemplateLiteralType=193]=\"TemplateLiteralType\",e[e.TemplateLiteralTypeSpan=194]=\"TemplateLiteralTypeSpan\",e[e.ImportType=195]=\"ImportType\",e[e.ObjectBindingPattern=196]=\"ObjectBindingPattern\",e[e.ArrayBindingPattern=197]=\"ArrayBindingPattern\",e[e.BindingElement=198]=\"BindingElement\",e[e.ArrayLiteralExpression=199]=\"ArrayLiteralExpression\",e[e.ObjectLiteralExpression=200]=\"ObjectLiteralExpression\",e[e.PropertyAccessExpression=201]=\"PropertyAccessExpression\",e[e.ElementAccessExpression=202]=\"ElementAccessExpression\",e[e.CallExpression=203]=\"CallExpression\",e[e.NewExpression=204]=\"NewExpression\",e[e.TaggedTemplateExpression=205]=\"TaggedTemplateExpression\",e[e.TypeAssertionExpression=206]=\"TypeAssertionExpression\",e[e.ParenthesizedExpression=207]=\"ParenthesizedExpression\",e[e.FunctionExpression=208]=\"FunctionExpression\",e[e.ArrowFunction=209]=\"ArrowFunction\",e[e.DeleteExpression=210]=\"DeleteExpression\",e[e.TypeOfExpression=211]=\"TypeOfExpression\",e[e.VoidExpression=212]=\"VoidExpression\",e[e.AwaitExpression=213]=\"AwaitExpression\",e[e.PrefixUnaryExpression=214]=\"PrefixUnaryExpression\",e[e.PostfixUnaryExpression=215]=\"PostfixUnaryExpression\",e[e.BinaryExpression=216]=\"BinaryExpression\",e[e.ConditionalExpression=217]=\"ConditionalExpression\",e[e.TemplateExpression=218]=\"TemplateExpression\",e[e.YieldExpression=219]=\"YieldExpression\",e[e.SpreadElement=220]=\"SpreadElement\",e[e.ClassExpression=221]=\"ClassExpression\",e[e.OmittedExpression=222]=\"OmittedExpression\",e[e.ExpressionWithTypeArguments=223]=\"ExpressionWithTypeArguments\",e[e.AsExpression=224]=\"AsExpression\",e[e.NonNullExpression=225]=\"NonNullExpression\",e[e.MetaProperty=226]=\"MetaProperty\",e[e.SyntheticExpression=227]=\"SyntheticExpression\",e[e.TemplateSpan=228]=\"TemplateSpan\",e[e.SemicolonClassElement=229]=\"SemicolonClassElement\",e[e.Block=230]=\"Block\",e[e.EmptyStatement=231]=\"EmptyStatement\",e[e.VariableStatement=232]=\"VariableStatement\",e[e.ExpressionStatement=233]=\"ExpressionStatement\",e[e.IfStatement=234]=\"IfStatement\",e[e.DoStatement=235]=\"DoStatement\",e[e.WhileStatement=236]=\"WhileStatement\",e[e.ForStatement=237]=\"ForStatement\",e[e.ForInStatement=238]=\"ForInStatement\",e[e.ForOfStatement=239]=\"ForOfStatement\",e[e.ContinueStatement=240]=\"ContinueStatement\",e[e.BreakStatement=241]=\"BreakStatement\",e[e.ReturnStatement=242]=\"ReturnStatement\",e[e.WithStatement=243]=\"WithStatement\",e[e.SwitchStatement=244]=\"SwitchStatement\",e[e.LabeledStatement=245]=\"LabeledStatement\",e[e.ThrowStatement=246]=\"ThrowStatement\",e[e.TryStatement=247]=\"TryStatement\",e[e.DebuggerStatement=248]=\"DebuggerStatement\",e[e.VariableDeclaration=249]=\"VariableDeclaration\",e[e.VariableDeclarationList=250]=\"VariableDeclarationList\",e[e.FunctionDeclaration=251]=\"FunctionDeclaration\",e[e.ClassDeclaration=252]=\"ClassDeclaration\",e[e.InterfaceDeclaration=253]=\"InterfaceDeclaration\",e[e.TypeAliasDeclaration=254]=\"TypeAliasDeclaration\",e[e.EnumDeclaration=255]=\"EnumDeclaration\",e[e.ModuleDeclaration=256]=\"ModuleDeclaration\",e[e.ModuleBlock=257]=\"ModuleBlock\",e[e.CaseBlock=258]=\"CaseBlock\",e[e.NamespaceExportDeclaration=259]=\"NamespaceExportDeclaration\",e[e.ImportEqualsDeclaration=260]=\"ImportEqualsDeclaration\",e[e.ImportDeclaration=261]=\"ImportDeclaration\",e[e.ImportClause=262]=\"ImportClause\",e[e.NamespaceImport=263]=\"NamespaceImport\",e[e.NamedImports=264]=\"NamedImports\",e[e.ImportSpecifier=265]=\"ImportSpecifier\",e[e.ExportAssignment=266]=\"ExportAssignment\",e[e.ExportDeclaration=267]=\"ExportDeclaration\",e[e.NamedExports=268]=\"NamedExports\",e[e.NamespaceExport=269]=\"NamespaceExport\",e[e.ExportSpecifier=270]=\"ExportSpecifier\",e[e.MissingDeclaration=271]=\"MissingDeclaration\",e[e.ExternalModuleReference=272]=\"ExternalModuleReference\",e[e.JsxElement=273]=\"JsxElement\",e[e.JsxSelfClosingElement=274]=\"JsxSelfClosingElement\",e[e.JsxOpeningElement=275]=\"JsxOpeningElement\",e[e.JsxClosingElement=276]=\"JsxClosingElement\",e[e.JsxFragment=277]=\"JsxFragment\",e[e.JsxOpeningFragment=278]=\"JsxOpeningFragment\",e[e.JsxClosingFragment=279]=\"JsxClosingFragment\",e[e.JsxAttribute=280]=\"JsxAttribute\",e[e.JsxAttributes=281]=\"JsxAttributes\",e[e.JsxSpreadAttribute=282]=\"JsxSpreadAttribute\",e[e.JsxExpression=283]=\"JsxExpression\",e[e.CaseClause=284]=\"CaseClause\",e[e.DefaultClause=285]=\"DefaultClause\",e[e.HeritageClause=286]=\"HeritageClause\",e[e.CatchClause=287]=\"CatchClause\",e[e.PropertyAssignment=288]=\"PropertyAssignment\",e[e.ShorthandPropertyAssignment=289]=\"ShorthandPropertyAssignment\",e[e.SpreadAssignment=290]=\"SpreadAssignment\",e[e.EnumMember=291]=\"EnumMember\",e[e.UnparsedPrologue=292]=\"UnparsedPrologue\",e[e.UnparsedPrepend=293]=\"UnparsedPrepend\",e[e.UnparsedText=294]=\"UnparsedText\",e[e.UnparsedInternalText=295]=\"UnparsedInternalText\",e[e.UnparsedSyntheticReference=296]=\"UnparsedSyntheticReference\",e[e.SourceFile=297]=\"SourceFile\",e[e.Bundle=298]=\"Bundle\",e[e.UnparsedSource=299]=\"UnparsedSource\",e[e.InputFiles=300]=\"InputFiles\",e[e.JSDocTypeExpression=301]=\"JSDocTypeExpression\",e[e.JSDocNameReference=302]=\"JSDocNameReference\",e[e.JSDocAllType=303]=\"JSDocAllType\",e[e.JSDocUnknownType=304]=\"JSDocUnknownType\",e[e.JSDocNullableType=305]=\"JSDocNullableType\",e[e.JSDocNonNullableType=306]=\"JSDocNonNullableType\",e[e.JSDocOptionalType=307]=\"JSDocOptionalType\",e[e.JSDocFunctionType=308]=\"JSDocFunctionType\",e[e.JSDocVariadicType=309]=\"JSDocVariadicType\",e[e.JSDocNamepathType=310]=\"JSDocNamepathType\",e[e.JSDocComment=311]=\"JSDocComment\",e[e.JSDocTypeLiteral=312]=\"JSDocTypeLiteral\",e[e.JSDocSignature=313]=\"JSDocSignature\",e[e.JSDocTag=314]=\"JSDocTag\",e[e.JSDocAugmentsTag=315]=\"JSDocAugmentsTag\",e[e.JSDocImplementsTag=316]=\"JSDocImplementsTag\",e[e.JSDocAuthorTag=317]=\"JSDocAuthorTag\",e[e.JSDocDeprecatedTag=318]=\"JSDocDeprecatedTag\",e[e.JSDocClassTag=319]=\"JSDocClassTag\",e[e.JSDocPublicTag=320]=\"JSDocPublicTag\",e[e.JSDocPrivateTag=321]=\"JSDocPrivateTag\",e[e.JSDocProtectedTag=322]=\"JSDocProtectedTag\",e[e.JSDocReadonlyTag=323]=\"JSDocReadonlyTag\",e[e.JSDocCallbackTag=324]=\"JSDocCallbackTag\",e[e.JSDocEnumTag=325]=\"JSDocEnumTag\",e[e.JSDocParameterTag=326]=\"JSDocParameterTag\",e[e.JSDocReturnTag=327]=\"JSDocReturnTag\",e[e.JSDocThisTag=328]=\"JSDocThisTag\",e[e.JSDocTypeTag=329]=\"JSDocTypeTag\",e[e.JSDocTemplateTag=330]=\"JSDocTemplateTag\",e[e.JSDocTypedefTag=331]=\"JSDocTypedefTag\",e[e.JSDocSeeTag=332]=\"JSDocSeeTag\",e[e.JSDocPropertyTag=333]=\"JSDocPropertyTag\",e[e.SyntaxList=334]=\"SyntaxList\",e[e.NotEmittedStatement=335]=\"NotEmittedStatement\",e[e.PartiallyEmittedExpression=336]=\"PartiallyEmittedExpression\",e[e.CommaListExpression=337]=\"CommaListExpression\",e[e.MergeDeclarationMarker=338]=\"MergeDeclarationMarker\",e[e.EndOfDeclarationMarker=339]=\"EndOfDeclarationMarker\",e[e.SyntheticReferenceExpression=340]=\"SyntheticReferenceExpression\",e[e.Count=341]=\"Count\",e[e.FirstAssignment=62]=\"FirstAssignment\",e[e.LastAssignment=77]=\"LastAssignment\",e[e.FirstCompoundAssignment=63]=\"FirstCompoundAssignment\",e[e.LastCompoundAssignment=77]=\"LastCompoundAssignment\",e[e.FirstReservedWord=80]=\"FirstReservedWord\",e[e.LastReservedWord=115]=\"LastReservedWord\",e[e.FirstKeyword=80]=\"FirstKeyword\",e[e.LastKeyword=156]=\"LastKeyword\",e[e.FirstFutureReservedWord=116]=\"FirstFutureReservedWord\",e[e.LastFutureReservedWord=124]=\"LastFutureReservedWord\",e[e.FirstTypeNode=172]=\"FirstTypeNode\",e[e.LastTypeNode=195]=\"LastTypeNode\",e[e.FirstPunctuation=18]=\"FirstPunctuation\",e[e.LastPunctuation=77]=\"LastPunctuation\",e[e.FirstToken=0]=\"FirstToken\",e[e.LastToken=156]=\"LastToken\",e[e.FirstTriviaToken=2]=\"FirstTriviaToken\",e[e.LastTriviaToken=7]=\"LastTriviaToken\",e[e.FirstLiteralToken=8]=\"FirstLiteralToken\",e[e.LastLiteralToken=14]=\"LastLiteralToken\",e[e.FirstTemplateToken=14]=\"FirstTemplateToken\",e[e.LastTemplateToken=17]=\"LastTemplateToken\",e[e.FirstBinaryOperator=29]=\"FirstBinaryOperator\",e[e.LastBinaryOperator=77]=\"LastBinaryOperator\",e[e.FirstStatement=232]=\"FirstStatement\",e[e.LastStatement=248]=\"LastStatement\",e[e.FirstNode=157]=\"FirstNode\",e[e.FirstJSDocNode=301]=\"FirstJSDocNode\",e[e.LastJSDocNode=333]=\"LastJSDocNode\",e[e.FirstJSDocTagNode=314]=\"FirstJSDocTagNode\",e[e.LastJSDocTagNode=333]=\"LastJSDocTagNode\",e[e.FirstContextualKeyword=125]=\"FirstContextualKeyword\",e[e.LastContextualKeyword=156]=\"LastContextualKeyword\"}(e.SyntaxKind||(e.SyntaxKind={})),function(e){e[e.None=0]=\"None\",e[e.Let=1]=\"Let\",e[e.Const=2]=\"Const\",e[e.NestedNamespace=4]=\"NestedNamespace\",e[e.Synthesized=8]=\"Synthesized\",e[e.Namespace=16]=\"Namespace\",e[e.OptionalChain=32]=\"OptionalChain\",e[e.ExportContext=64]=\"ExportContext\",e[e.ContainsThis=128]=\"ContainsThis\",e[e.HasImplicitReturn=256]=\"HasImplicitReturn\",e[e.HasExplicitReturn=512]=\"HasExplicitReturn\",e[e.GlobalAugmentation=1024]=\"GlobalAugmentation\",e[e.HasAsyncFunctions=2048]=\"HasAsyncFunctions\",e[e.DisallowInContext=4096]=\"DisallowInContext\",e[e.YieldContext=8192]=\"YieldContext\",e[e.DecoratorContext=16384]=\"DecoratorContext\",e[e.AwaitContext=32768]=\"AwaitContext\",e[e.ThisNodeHasError=65536]=\"ThisNodeHasError\",e[e.JavaScriptFile=131072]=\"JavaScriptFile\",e[e.ThisNodeOrAnySubNodesHasError=262144]=\"ThisNodeOrAnySubNodesHasError\",e[e.HasAggregatedChildData=524288]=\"HasAggregatedChildData\",e[e.PossiblyContainsDynamicImport=1048576]=\"PossiblyContainsDynamicImport\",e[e.PossiblyContainsImportMeta=2097152]=\"PossiblyContainsImportMeta\",e[e.JSDoc=4194304]=\"JSDoc\",e[e.Ambient=8388608]=\"Ambient\",e[e.InWithStatement=16777216]=\"InWithStatement\",e[e.JsonFile=33554432]=\"JsonFile\",e[e.TypeCached=67108864]=\"TypeCached\",e[e.Deprecated=134217728]=\"Deprecated\",e[e.BlockScoped=3]=\"BlockScoped\",e[e.ReachabilityCheckFlags=768]=\"ReachabilityCheckFlags\",e[e.ReachabilityAndEmitFlags=2816]=\"ReachabilityAndEmitFlags\",e[e.ContextFlags=25358336]=\"ContextFlags\",e[e.TypeExcludesFlags=40960]=\"TypeExcludesFlags\",e[e.PermanentlySetIncrementalFlags=3145728]=\"PermanentlySetIncrementalFlags\"}(e.NodeFlags||(e.NodeFlags={})),function(e){e[e.None=0]=\"None\",e[e.Export=1]=\"Export\",e[e.Ambient=2]=\"Ambient\",e[e.Public=4]=\"Public\",e[e.Private=8]=\"Private\",e[e.Protected=16]=\"Protected\",e[e.Static=32]=\"Static\",e[e.Readonly=64]=\"Readonly\",e[e.Abstract=128]=\"Abstract\",e[e.Async=256]=\"Async\",e[e.Default=512]=\"Default\",e[e.Const=2048]=\"Const\",e[e.HasComputedJSDocModifiers=4096]=\"HasComputedJSDocModifiers\",e[e.Deprecated=8192]=\"Deprecated\",e[e.HasComputedFlags=536870912]=\"HasComputedFlags\",e[e.AccessibilityModifier=28]=\"AccessibilityModifier\",e[e.ParameterPropertyModifier=92]=\"ParameterPropertyModifier\",e[e.NonPublicAccessibilityModifier=24]=\"NonPublicAccessibilityModifier\",e[e.TypeScriptModifier=2270]=\"TypeScriptModifier\",e[e.ExportDefault=513]=\"ExportDefault\",e[e.All=11263]=\"All\"}(e.ModifierFlags||(e.ModifierFlags={})),function(e){e[e.None=0]=\"None\",e[e.IntrinsicNamedElement=1]=\"IntrinsicNamedElement\",e[e.IntrinsicIndexedElement=2]=\"IntrinsicIndexedElement\",e[e.IntrinsicElement=3]=\"IntrinsicElement\"}(e.JsxFlags||(e.JsxFlags={})),function(e){e[e.Succeeded=1]=\"Succeeded\",e[e.Failed=2]=\"Failed\",e[e.Reported=4]=\"Reported\",e[e.ReportsUnmeasurable=8]=\"ReportsUnmeasurable\",e[e.ReportsUnreliable=16]=\"ReportsUnreliable\",e[e.ReportsMask=24]=\"ReportsMask\"}(e.RelationComparisonResult||(e.RelationComparisonResult={})),function(e){e[e.None=0]=\"None\",e[e.Auto=1]=\"Auto\",e[e.Loop=2]=\"Loop\",e[e.Unique=3]=\"Unique\",e[e.Node=4]=\"Node\",e[e.KindMask=7]=\"KindMask\",e[e.ReservedInNestedScopes=8]=\"ReservedInNestedScopes\",e[e.Optimistic=16]=\"Optimistic\",e[e.FileLevel=32]=\"FileLevel\",e[e.AllowNameSubstitution=64]=\"AllowNameSubstitution\"}(e.GeneratedIdentifierFlags||(e.GeneratedIdentifierFlags={})),function(e){e[e.None=0]=\"None\",e[e.PrecedingLineBreak=1]=\"PrecedingLineBreak\",e[e.PrecedingJSDocComment=2]=\"PrecedingJSDocComment\",e[e.Unterminated=4]=\"Unterminated\",e[e.ExtendedUnicodeEscape=8]=\"ExtendedUnicodeEscape\",e[e.Scientific=16]=\"Scientific\",e[e.Octal=32]=\"Octal\",e[e.HexSpecifier=64]=\"HexSpecifier\",e[e.BinarySpecifier=128]=\"BinarySpecifier\",e[e.OctalSpecifier=256]=\"OctalSpecifier\",e[e.ContainsSeparator=512]=\"ContainsSeparator\",e[e.UnicodeEscape=1024]=\"UnicodeEscape\",e[e.ContainsInvalidEscape=2048]=\"ContainsInvalidEscape\",e[e.BinaryOrOctalSpecifier=384]=\"BinaryOrOctalSpecifier\",e[e.NumericLiteralFlags=1008]=\"NumericLiteralFlags\",e[e.TemplateLiteralLikeFlags=2048]=\"TemplateLiteralLikeFlags\"}(e.TokenFlags||(e.TokenFlags={})),function(e){e[e.Unreachable=1]=\"Unreachable\",e[e.Start=2]=\"Start\",e[e.BranchLabel=4]=\"BranchLabel\",e[e.LoopLabel=8]=\"LoopLabel\",e[e.Assignment=16]=\"Assignment\",e[e.TrueCondition=32]=\"TrueCondition\",e[e.FalseCondition=64]=\"FalseCondition\",e[e.SwitchClause=128]=\"SwitchClause\",e[e.ArrayMutation=256]=\"ArrayMutation\",e[e.Call=512]=\"Call\",e[e.ReduceLabel=1024]=\"ReduceLabel\",e[e.Referenced=2048]=\"Referenced\",e[e.Shared=4096]=\"Shared\",e[e.Label=12]=\"Label\",e[e.Condition=96]=\"Condition\"}(e.FlowFlags||(e.FlowFlags={})),function(e){e[e.ExpectError=0]=\"ExpectError\",e[e.Ignore=1]=\"Ignore\"}(e.CommentDirectiveType||(e.CommentDirectiveType={}));var t,r=function(){};e.OperationCanceledException=r,function(e){e[e.Import=0]=\"Import\",e[e.ReferenceFile=1]=\"ReferenceFile\",e[e.TypeReferenceDirective=2]=\"TypeReferenceDirective\"}(e.RefFileKind||(e.RefFileKind={})),function(e){e[e.Not=0]=\"Not\",e[e.SafeModules=1]=\"SafeModules\",e[e.Completely=2]=\"Completely\"}(e.StructureIsReused||(e.StructureIsReused={})),function(e){e[e.Success=0]=\"Success\",e[e.DiagnosticsPresent_OutputsSkipped=1]=\"DiagnosticsPresent_OutputsSkipped\",e[e.DiagnosticsPresent_OutputsGenerated=2]=\"DiagnosticsPresent_OutputsGenerated\",e[e.InvalidProject_OutputsSkipped=3]=\"InvalidProject_OutputsSkipped\",e[e.ProjectReferenceCycle_OutputsSkipped=4]=\"ProjectReferenceCycle_OutputsSkipped\",e[e.ProjectReferenceCycle_OutputsSkupped=4]=\"ProjectReferenceCycle_OutputsSkupped\"}(e.ExitStatus||(e.ExitStatus={})),function(e){e[e.None=0]=\"None\",e[e.Literal=1]=\"Literal\",e[e.Subtype=2]=\"Subtype\"}(e.UnionReduction||(e.UnionReduction={})),function(e){e[e.None=0]=\"None\",e[e.Signature=1]=\"Signature\",e[e.NoConstraints=2]=\"NoConstraints\",e[e.Completions=4]=\"Completions\",e[e.SkipBindingPatterns=8]=\"SkipBindingPatterns\"}(e.ContextFlags||(e.ContextFlags={})),function(e){e[e.None=0]=\"None\",e[e.NoTruncation=1]=\"NoTruncation\",e[e.WriteArrayAsGenericType=2]=\"WriteArrayAsGenericType\",e[e.GenerateNamesForShadowedTypeParams=4]=\"GenerateNamesForShadowedTypeParams\",e[e.UseStructuralFallback=8]=\"UseStructuralFallback\",e[e.ForbidIndexedAccessSymbolReferences=16]=\"ForbidIndexedAccessSymbolReferences\",e[e.WriteTypeArgumentsOfSignature=32]=\"WriteTypeArgumentsOfSignature\",e[e.UseFullyQualifiedType=64]=\"UseFullyQualifiedType\",e[e.UseOnlyExternalAliasing=128]=\"UseOnlyExternalAliasing\",e[e.SuppressAnyReturnType=256]=\"SuppressAnyReturnType\",e[e.WriteTypeParametersInQualifiedName=512]=\"WriteTypeParametersInQualifiedName\",e[e.MultilineObjectLiterals=1024]=\"MultilineObjectLiterals\",e[e.WriteClassExpressionAsTypeLiteral=2048]=\"WriteClassExpressionAsTypeLiteral\",e[e.UseTypeOfFunction=4096]=\"UseTypeOfFunction\",e[e.OmitParameterModifiers=8192]=\"OmitParameterModifiers\",e[e.UseAliasDefinedOutsideCurrentScope=16384]=\"UseAliasDefinedOutsideCurrentScope\",e[e.UseSingleQuotesForStringLiteralType=268435456]=\"UseSingleQuotesForStringLiteralType\",e[e.NoTypeReduction=536870912]=\"NoTypeReduction\",e[e.NoUndefinedOptionalParameterType=1073741824]=\"NoUndefinedOptionalParameterType\",e[e.AllowThisInObjectLiteral=32768]=\"AllowThisInObjectLiteral\",e[e.AllowQualifedNameInPlaceOfIdentifier=65536]=\"AllowQualifedNameInPlaceOfIdentifier\",e[e.AllowAnonymousIdentifier=131072]=\"AllowAnonymousIdentifier\",e[e.AllowEmptyUnionOrIntersection=262144]=\"AllowEmptyUnionOrIntersection\",e[e.AllowEmptyTuple=524288]=\"AllowEmptyTuple\",e[e.AllowUniqueESSymbolType=1048576]=\"AllowUniqueESSymbolType\",e[e.AllowEmptyIndexInfoType=2097152]=\"AllowEmptyIndexInfoType\",e[e.AllowNodeModulesRelativePaths=67108864]=\"AllowNodeModulesRelativePaths\",e[e.DoNotIncludeSymbolChain=134217728]=\"DoNotIncludeSymbolChain\",e[e.IgnoreErrors=70221824]=\"IgnoreErrors\",e[e.InObjectTypeLiteral=4194304]=\"InObjectTypeLiteral\",e[e.InTypeAlias=8388608]=\"InTypeAlias\",e[e.InInitialEntityName=16777216]=\"InInitialEntityName\",e[e.InReverseMappedType=33554432]=\"InReverseMappedType\"}(e.NodeBuilderFlags||(e.NodeBuilderFlags={})),function(e){e[e.None=0]=\"None\",e[e.NoTruncation=1]=\"NoTruncation\",e[e.WriteArrayAsGenericType=2]=\"WriteArrayAsGenericType\",e[e.UseStructuralFallback=8]=\"UseStructuralFallback\",e[e.WriteTypeArgumentsOfSignature=32]=\"WriteTypeArgumentsOfSignature\",e[e.UseFullyQualifiedType=64]=\"UseFullyQualifiedType\",e[e.SuppressAnyReturnType=256]=\"SuppressAnyReturnType\",e[e.MultilineObjectLiterals=1024]=\"MultilineObjectLiterals\",e[e.WriteClassExpressionAsTypeLiteral=2048]=\"WriteClassExpressionAsTypeLiteral\",e[e.UseTypeOfFunction=4096]=\"UseTypeOfFunction\",e[e.OmitParameterModifiers=8192]=\"OmitParameterModifiers\",e[e.UseAliasDefinedOutsideCurrentScope=16384]=\"UseAliasDefinedOutsideCurrentScope\",e[e.UseSingleQuotesForStringLiteralType=268435456]=\"UseSingleQuotesForStringLiteralType\",e[e.NoTypeReduction=536870912]=\"NoTypeReduction\",e[e.AllowUniqueESSymbolType=1048576]=\"AllowUniqueESSymbolType\",e[e.AddUndefined=131072]=\"AddUndefined\",e[e.WriteArrowStyleSignature=262144]=\"WriteArrowStyleSignature\",e[e.InArrayType=524288]=\"InArrayType\",e[e.InElementType=2097152]=\"InElementType\",e[e.InFirstTypeArgument=4194304]=\"InFirstTypeArgument\",e[e.InTypeAlias=8388608]=\"InTypeAlias\",e[e.WriteOwnNameForAnyLike=0]=\"WriteOwnNameForAnyLike\",e[e.NodeBuilderFlagsMask=814775659]=\"NodeBuilderFlagsMask\"}(e.TypeFormatFlags||(e.TypeFormatFlags={})),function(e){e[e.None=0]=\"None\",e[e.WriteTypeParametersOrArguments=1]=\"WriteTypeParametersOrArguments\",e[e.UseOnlyExternalAliasing=2]=\"UseOnlyExternalAliasing\",e[e.AllowAnyNodeKind=4]=\"AllowAnyNodeKind\",e[e.UseAliasDefinedOutsideCurrentScope=8]=\"UseAliasDefinedOutsideCurrentScope\",e[e.DoNotIncludeSymbolChain=16]=\"DoNotIncludeSymbolChain\"}(e.SymbolFormatFlags||(e.SymbolFormatFlags={})),function(e){e[e.Accessible=0]=\"Accessible\",e[e.NotAccessible=1]=\"NotAccessible\",e[e.CannotBeNamed=2]=\"CannotBeNamed\"}(e.SymbolAccessibility||(e.SymbolAccessibility={})),function(e){e[e.UnionOrIntersection=0]=\"UnionOrIntersection\",e[e.Spread=1]=\"Spread\"}(e.SyntheticSymbolKind||(e.SyntheticSymbolKind={})),function(e){e[e.This=0]=\"This\",e[e.Identifier=1]=\"Identifier\",e[e.AssertsThis=2]=\"AssertsThis\",e[e.AssertsIdentifier=3]=\"AssertsIdentifier\"}(e.TypePredicateKind||(e.TypePredicateKind={})),function(e){e[e.Unknown=0]=\"Unknown\",e[e.TypeWithConstructSignatureAndValue=1]=\"TypeWithConstructSignatureAndValue\",e[e.VoidNullableOrNeverType=2]=\"VoidNullableOrNeverType\",e[e.NumberLikeType=3]=\"NumberLikeType\",e[e.BigIntLikeType=4]=\"BigIntLikeType\",e[e.StringLikeType=5]=\"StringLikeType\",e[e.BooleanType=6]=\"BooleanType\",e[e.ArrayLikeType=7]=\"ArrayLikeType\",e[e.ESSymbolType=8]=\"ESSymbolType\",e[e.Promise=9]=\"Promise\",e[e.TypeWithCallSignature=10]=\"TypeWithCallSignature\",e[e.ObjectType=11]=\"ObjectType\"}(e.TypeReferenceSerializationKind||(e.TypeReferenceSerializationKind={})),function(e){e[e.None=0]=\"None\",e[e.FunctionScopedVariable=1]=\"FunctionScopedVariable\",e[e.BlockScopedVariable=2]=\"BlockScopedVariable\",e[e.Property=4]=\"Property\",e[e.EnumMember=8]=\"EnumMember\",e[e.Function=16]=\"Function\",e[e.Class=32]=\"Class\",e[e.Interface=64]=\"Interface\",e[e.ConstEnum=128]=\"ConstEnum\",e[e.RegularEnum=256]=\"RegularEnum\",e[e.ValueModule=512]=\"ValueModule\",e[e.NamespaceModule=1024]=\"NamespaceModule\",e[e.TypeLiteral=2048]=\"TypeLiteral\",e[e.ObjectLiteral=4096]=\"ObjectLiteral\",e[e.Method=8192]=\"Method\",e[e.Constructor=16384]=\"Constructor\",e[e.GetAccessor=32768]=\"GetAccessor\",e[e.SetAccessor=65536]=\"SetAccessor\",e[e.Signature=131072]=\"Signature\",e[e.TypeParameter=262144]=\"TypeParameter\",e[e.TypeAlias=524288]=\"TypeAlias\",e[e.ExportValue=1048576]=\"ExportValue\",e[e.Alias=2097152]=\"Alias\",e[e.Prototype=4194304]=\"Prototype\",e[e.ExportStar=8388608]=\"ExportStar\",e[e.Optional=16777216]=\"Optional\",e[e.Transient=33554432]=\"Transient\",e[e.Assignment=67108864]=\"Assignment\",e[e.ModuleExports=134217728]=\"ModuleExports\",e[e.All=67108863]=\"All\",e[e.Enum=384]=\"Enum\",e[e.Variable=3]=\"Variable\",e[e.Value=111551]=\"Value\",e[e.Type=788968]=\"Type\",e[e.Namespace=1920]=\"Namespace\",e[e.Module=1536]=\"Module\",e[e.Accessor=98304]=\"Accessor\",e[e.FunctionScopedVariableExcludes=111550]=\"FunctionScopedVariableExcludes\",e[e.BlockScopedVariableExcludes=111551]=\"BlockScopedVariableExcludes\",e[e.ParameterExcludes=111551]=\"ParameterExcludes\",e[e.PropertyExcludes=0]=\"PropertyExcludes\",e[e.EnumMemberExcludes=900095]=\"EnumMemberExcludes\",e[e.FunctionExcludes=110991]=\"FunctionExcludes\",e[e.ClassExcludes=899503]=\"ClassExcludes\",e[e.InterfaceExcludes=788872]=\"InterfaceExcludes\",e[e.RegularEnumExcludes=899327]=\"RegularEnumExcludes\",e[e.ConstEnumExcludes=899967]=\"ConstEnumExcludes\",e[e.ValueModuleExcludes=110735]=\"ValueModuleExcludes\",e[e.NamespaceModuleExcludes=0]=\"NamespaceModuleExcludes\",e[e.MethodExcludes=103359]=\"MethodExcludes\",e[e.GetAccessorExcludes=46015]=\"GetAccessorExcludes\",e[e.SetAccessorExcludes=78783]=\"SetAccessorExcludes\",e[e.TypeParameterExcludes=526824]=\"TypeParameterExcludes\",e[e.TypeAliasExcludes=788968]=\"TypeAliasExcludes\",e[e.AliasExcludes=2097152]=\"AliasExcludes\",e[e.ModuleMember=2623475]=\"ModuleMember\",e[e.ExportHasLocal=944]=\"ExportHasLocal\",e[e.BlockScoped=418]=\"BlockScoped\",e[e.PropertyOrAccessor=98308]=\"PropertyOrAccessor\",e[e.ClassMember=106500]=\"ClassMember\",e[e.ExportSupportsDefaultModifier=112]=\"ExportSupportsDefaultModifier\",e[e.ExportDoesNotSupportDefaultModifier=-113]=\"ExportDoesNotSupportDefaultModifier\",e[e.Classifiable=2885600]=\"Classifiable\",e[e.LateBindingContainer=6256]=\"LateBindingContainer\"}(e.SymbolFlags||(e.SymbolFlags={})),function(e){e[e.Numeric=0]=\"Numeric\",e[e.Literal=1]=\"Literal\"}(e.EnumKind||(e.EnumKind={})),function(e){e[e.Instantiated=1]=\"Instantiated\",e[e.SyntheticProperty=2]=\"SyntheticProperty\",e[e.SyntheticMethod=4]=\"SyntheticMethod\",e[e.Readonly=8]=\"Readonly\",e[e.ReadPartial=16]=\"ReadPartial\",e[e.WritePartial=32]=\"WritePartial\",e[e.HasNonUniformType=64]=\"HasNonUniformType\",e[e.HasLiteralType=128]=\"HasLiteralType\",e[e.ContainsPublic=256]=\"ContainsPublic\",e[e.ContainsProtected=512]=\"ContainsProtected\",e[e.ContainsPrivate=1024]=\"ContainsPrivate\",e[e.ContainsStatic=2048]=\"ContainsStatic\",e[e.Late=4096]=\"Late\",e[e.ReverseMapped=8192]=\"ReverseMapped\",e[e.OptionalParameter=16384]=\"OptionalParameter\",e[e.RestParameter=32768]=\"RestParameter\",e[e.DeferredType=65536]=\"DeferredType\",e[e.HasNeverType=131072]=\"HasNeverType\",e[e.Mapped=262144]=\"Mapped\",e[e.StripOptional=524288]=\"StripOptional\",e[e.Synthetic=6]=\"Synthetic\",e[e.Discriminant=192]=\"Discriminant\",e[e.Partial=48]=\"Partial\"}(e.CheckFlags||(e.CheckFlags={})),function(e){e.Call=\"__call\",e.Constructor=\"__constructor\",e.New=\"__new\",e.Index=\"__index\",e.ExportStar=\"__export\",e.Global=\"__global\",e.Missing=\"__missing\",e.Type=\"__type\",e.Object=\"__object\",e.JSXAttributes=\"__jsxAttributes\",e.Class=\"__class\",e.Function=\"__function\",e.Computed=\"__computed\",e.Resolving=\"__resolving__\",e.ExportEquals=\"export=\",e.Default=\"default\",e.This=\"this\"}(e.InternalSymbolName||(e.InternalSymbolName={})),function(e){e[e.TypeChecked=1]=\"TypeChecked\",e[e.LexicalThis=2]=\"LexicalThis\",e[e.CaptureThis=4]=\"CaptureThis\",e[e.CaptureNewTarget=8]=\"CaptureNewTarget\",e[e.SuperInstance=256]=\"SuperInstance\",e[e.SuperStatic=512]=\"SuperStatic\",e[e.ContextChecked=1024]=\"ContextChecked\",e[e.AsyncMethodWithSuper=2048]=\"AsyncMethodWithSuper\",e[e.AsyncMethodWithSuperBinding=4096]=\"AsyncMethodWithSuperBinding\",e[e.CaptureArguments=8192]=\"CaptureArguments\",e[e.EnumValuesComputed=16384]=\"EnumValuesComputed\",e[e.LexicalModuleMergesWithClass=32768]=\"LexicalModuleMergesWithClass\",e[e.LoopWithCapturedBlockScopedBinding=65536]=\"LoopWithCapturedBlockScopedBinding\",e[e.ContainsCapturedBlockScopeBinding=131072]=\"ContainsCapturedBlockScopeBinding\",e[e.CapturedBlockScopedBinding=262144]=\"CapturedBlockScopedBinding\",e[e.BlockScopedBindingInLoop=524288]=\"BlockScopedBindingInLoop\",e[e.ClassWithBodyScopedClassBinding=1048576]=\"ClassWithBodyScopedClassBinding\",e[e.BodyScopedClassBinding=2097152]=\"BodyScopedClassBinding\",e[e.NeedsLoopOutParameter=4194304]=\"NeedsLoopOutParameter\",e[e.AssignmentsMarked=8388608]=\"AssignmentsMarked\",e[e.ClassWithConstructorReference=16777216]=\"ClassWithConstructorReference\",e[e.ConstructorReferenceInClass=33554432]=\"ConstructorReferenceInClass\",e[e.ContainsClassWithPrivateIdentifiers=67108864]=\"ContainsClassWithPrivateIdentifiers\"}(e.NodeCheckFlags||(e.NodeCheckFlags={})),function(e){e[e.Any=1]=\"Any\",e[e.Unknown=2]=\"Unknown\",e[e.String=4]=\"String\",e[e.Number=8]=\"Number\",e[e.Boolean=16]=\"Boolean\",e[e.Enum=32]=\"Enum\",e[e.BigInt=64]=\"BigInt\",e[e.StringLiteral=128]=\"StringLiteral\",e[e.NumberLiteral=256]=\"NumberLiteral\",e[e.BooleanLiteral=512]=\"BooleanLiteral\",e[e.EnumLiteral=1024]=\"EnumLiteral\",e[e.BigIntLiteral=2048]=\"BigIntLiteral\",e[e.ESSymbol=4096]=\"ESSymbol\",e[e.UniqueESSymbol=8192]=\"UniqueESSymbol\",e[e.Void=16384]=\"Void\",e[e.Undefined=32768]=\"Undefined\",e[e.Null=65536]=\"Null\",e[e.Never=131072]=\"Never\",e[e.TypeParameter=262144]=\"TypeParameter\",e[e.Object=524288]=\"Object\",e[e.Union=1048576]=\"Union\",e[e.Intersection=2097152]=\"Intersection\",e[e.Index=4194304]=\"Index\",e[e.IndexedAccess=8388608]=\"IndexedAccess\",e[e.Conditional=16777216]=\"Conditional\",e[e.Substitution=33554432]=\"Substitution\",e[e.NonPrimitive=67108864]=\"NonPrimitive\",e[e.TemplateLiteral=134217728]=\"TemplateLiteral\",e[e.StringMapping=268435456]=\"StringMapping\",e[e.AnyOrUnknown=3]=\"AnyOrUnknown\",e[e.Nullable=98304]=\"Nullable\",e[e.Literal=2944]=\"Literal\",e[e.Unit=109440]=\"Unit\",e[e.StringOrNumberLiteral=384]=\"StringOrNumberLiteral\",e[e.StringOrNumberLiteralOrUnique=8576]=\"StringOrNumberLiteralOrUnique\",e[e.DefinitelyFalsy=117632]=\"DefinitelyFalsy\",e[e.PossiblyFalsy=117724]=\"PossiblyFalsy\",e[e.Intrinsic=67359327]=\"Intrinsic\",e[e.Primitive=131068]=\"Primitive\",e[e.StringLike=402653316]=\"StringLike\",e[e.NumberLike=296]=\"NumberLike\",e[e.BigIntLike=2112]=\"BigIntLike\",e[e.BooleanLike=528]=\"BooleanLike\",e[e.EnumLike=1056]=\"EnumLike\",e[e.ESSymbolLike=12288]=\"ESSymbolLike\",e[e.VoidLike=49152]=\"VoidLike\",e[e.DisjointDomains=469892092]=\"DisjointDomains\",e[e.UnionOrIntersection=3145728]=\"UnionOrIntersection\",e[e.StructuredType=3670016]=\"StructuredType\",e[e.TypeVariable=8650752]=\"TypeVariable\",e[e.InstantiableNonPrimitive=58982400]=\"InstantiableNonPrimitive\",e[e.InstantiablePrimitive=406847488]=\"InstantiablePrimitive\",e[e.Instantiable=465829888]=\"Instantiable\",e[e.StructuredOrInstantiable=469499904]=\"StructuredOrInstantiable\",e[e.ObjectFlagsType=3899393]=\"ObjectFlagsType\",e[e.Simplifiable=25165824]=\"Simplifiable\",e[e.Substructure=469237760]=\"Substructure\",e[e.Narrowable=536624127]=\"Narrowable\",e[e.NotPrimitiveUnion=469647395]=\"NotPrimitiveUnion\",e[e.IncludesMask=205258751]=\"IncludesMask\",e[e.IncludesStructuredOrInstantiable=262144]=\"IncludesStructuredOrInstantiable\",e[e.IncludesNonWideningType=4194304]=\"IncludesNonWideningType\",e[e.IncludesWildcard=8388608]=\"IncludesWildcard\",e[e.IncludesEmptyObject=16777216]=\"IncludesEmptyObject\"}(e.TypeFlags||(e.TypeFlags={})),function(e){e[e.Class=1]=\"Class\",e[e.Interface=2]=\"Interface\",e[e.Reference=4]=\"Reference\",e[e.Tuple=8]=\"Tuple\",e[e.Anonymous=16]=\"Anonymous\",e[e.Mapped=32]=\"Mapped\",e[e.Instantiated=64]=\"Instantiated\",e[e.ObjectLiteral=128]=\"ObjectLiteral\",e[e.EvolvingArray=256]=\"EvolvingArray\",e[e.ObjectLiteralPatternWithComputedProperties=512]=\"ObjectLiteralPatternWithComputedProperties\",e[e.ContainsSpread=1024]=\"ContainsSpread\",e[e.ReverseMapped=2048]=\"ReverseMapped\",e[e.JsxAttributes=4096]=\"JsxAttributes\",e[e.MarkerType=8192]=\"MarkerType\",e[e.JSLiteral=16384]=\"JSLiteral\",e[e.FreshLiteral=32768]=\"FreshLiteral\",e[e.ArrayLiteral=65536]=\"ArrayLiteral\",e[e.ObjectRestType=131072]=\"ObjectRestType\",e[e.PrimitiveUnion=262144]=\"PrimitiveUnion\",e[e.ContainsWideningType=524288]=\"ContainsWideningType\",e[e.ContainsObjectOrArrayLiteral=1048576]=\"ContainsObjectOrArrayLiteral\",e[e.NonInferrableType=2097152]=\"NonInferrableType\",e[e.IsGenericObjectTypeComputed=4194304]=\"IsGenericObjectTypeComputed\",e[e.IsGenericObjectType=8388608]=\"IsGenericObjectType\",e[e.IsGenericIndexTypeComputed=16777216]=\"IsGenericIndexTypeComputed\",e[e.IsGenericIndexType=33554432]=\"IsGenericIndexType\",e[e.CouldContainTypeVariablesComputed=67108864]=\"CouldContainTypeVariablesComputed\",e[e.CouldContainTypeVariables=134217728]=\"CouldContainTypeVariables\",e[e.ContainsIntersections=268435456]=\"ContainsIntersections\",e[e.IsNeverIntersectionComputed=268435456]=\"IsNeverIntersectionComputed\",e[e.IsNeverIntersection=536870912]=\"IsNeverIntersection\",e[e.IsClassInstanceClone=1073741824]=\"IsClassInstanceClone\",e[e.ClassOrInterface=3]=\"ClassOrInterface\",e[e.RequiresWidening=1572864]=\"RequiresWidening\",e[e.PropagatingFlags=3670016]=\"PropagatingFlags\",e[e.ObjectTypeKindMask=2367]=\"ObjectTypeKindMask\"}(e.ObjectFlags||(e.ObjectFlags={})),function(e){e[e.Invariant=0]=\"Invariant\",e[e.Covariant=1]=\"Covariant\",e[e.Contravariant=2]=\"Contravariant\",e[e.Bivariant=3]=\"Bivariant\",e[e.Independent=4]=\"Independent\",e[e.VarianceMask=7]=\"VarianceMask\",e[e.Unmeasurable=8]=\"Unmeasurable\",e[e.Unreliable=16]=\"Unreliable\",e[e.AllowsStructuralFallback=24]=\"AllowsStructuralFallback\"}(e.VarianceFlags||(e.VarianceFlags={})),function(e){e[e.Required=1]=\"Required\",e[e.Optional=2]=\"Optional\",e[e.Rest=4]=\"Rest\",e[e.Variadic=8]=\"Variadic\",e[e.Variable=12]=\"Variable\"}(e.ElementFlags||(e.ElementFlags={})),function(e){e[e.Component=0]=\"Component\",e[e.Function=1]=\"Function\",e[e.Mixed=2]=\"Mixed\"}(e.JsxReferenceKind||(e.JsxReferenceKind={})),function(e){e[e.Call=0]=\"Call\",e[e.Construct=1]=\"Construct\"}(e.SignatureKind||(e.SignatureKind={})),function(e){e[e.None=0]=\"None\",e[e.HasRestParameter=1]=\"HasRestParameter\",e[e.HasLiteralTypes=2]=\"HasLiteralTypes\",e[e.IsInnerCallChain=4]=\"IsInnerCallChain\",e[e.IsOuterCallChain=8]=\"IsOuterCallChain\",e[e.IsUntypedSignatureInJSFile=16]=\"IsUntypedSignatureInJSFile\",e[e.PropagatingFlags=19]=\"PropagatingFlags\",e[e.CallChainFlags=12]=\"CallChainFlags\"}(e.SignatureFlags||(e.SignatureFlags={})),function(e){e[e.String=0]=\"String\",e[e.Number=1]=\"Number\"}(e.IndexKind||(e.IndexKind={})),function(e){e[e.Simple=0]=\"Simple\",e[e.Array=1]=\"Array\",e[e.Function=2]=\"Function\",e[e.Composite=3]=\"Composite\",e[e.Merged=4]=\"Merged\"}(e.TypeMapKind||(e.TypeMapKind={})),function(e){e[e.NakedTypeVariable=1]=\"NakedTypeVariable\",e[e.SpeculativeTuple=2]=\"SpeculativeTuple\",e[e.HomomorphicMappedType=4]=\"HomomorphicMappedType\",e[e.PartialHomomorphicMappedType=8]=\"PartialHomomorphicMappedType\",e[e.MappedTypeConstraint=16]=\"MappedTypeConstraint\",e[e.ContravariantConditional=32]=\"ContravariantConditional\",e[e.ReturnType=64]=\"ReturnType\",e[e.LiteralKeyof=128]=\"LiteralKeyof\",e[e.NoConstraints=256]=\"NoConstraints\",e[e.AlwaysStrict=512]=\"AlwaysStrict\",e[e.MaxValue=1024]=\"MaxValue\",e[e.PriorityImpliesCombination=208]=\"PriorityImpliesCombination\",e[e.Circularity=-1]=\"Circularity\"}(e.InferencePriority||(e.InferencePriority={})),function(e){e[e.None=0]=\"None\",e[e.NoDefault=1]=\"NoDefault\",e[e.AnyDefault=2]=\"AnyDefault\",e[e.SkippedGenericFunction=4]=\"SkippedGenericFunction\"}(e.InferenceFlags||(e.InferenceFlags={})),function(e){e[e.False=0]=\"False\",e[e.Unknown=1]=\"Unknown\",e[e.Maybe=3]=\"Maybe\",e[e.True=-1]=\"True\"}(e.Ternary||(e.Ternary={})),function(e){e[e.None=0]=\"None\",e[e.ExportsProperty=1]=\"ExportsProperty\",e[e.ModuleExports=2]=\"ModuleExports\",e[e.PrototypeProperty=3]=\"PrototypeProperty\",e[e.ThisProperty=4]=\"ThisProperty\",e[e.Property=5]=\"Property\",e[e.Prototype=6]=\"Prototype\",e[e.ObjectDefinePropertyValue=7]=\"ObjectDefinePropertyValue\",e[e.ObjectDefinePropertyExports=8]=\"ObjectDefinePropertyExports\",e[e.ObjectDefinePrototypeProperty=9]=\"ObjectDefinePrototypeProperty\"}(e.AssignmentDeclarationKind||(e.AssignmentDeclarationKind={})),function(e){e[e.Warning=0]=\"Warning\",e[e.Error=1]=\"Error\",e[e.Suggestion=2]=\"Suggestion\",e[e.Message=3]=\"Message\"}(t=e.DiagnosticCategory||(e.DiagnosticCategory={})),e.diagnosticCategoryName=function(e,r){void 0===r&&(r=!0);var n=t[e.category];return r?n.toLowerCase():n},function(e){e[e.Classic=1]=\"Classic\",e[e.NodeJs=2]=\"NodeJs\"}(e.ModuleResolutionKind||(e.ModuleResolutionKind={})),function(e){e[e.FixedPollingInterval=0]=\"FixedPollingInterval\",e[e.PriorityPollingInterval=1]=\"PriorityPollingInterval\",e[e.DynamicPriorityPolling=2]=\"DynamicPriorityPolling\",e[e.UseFsEvents=3]=\"UseFsEvents\",e[e.UseFsEventsOnParentDirectory=4]=\"UseFsEventsOnParentDirectory\"}(e.WatchFileKind||(e.WatchFileKind={})),function(e){e[e.UseFsEvents=0]=\"UseFsEvents\",e[e.FixedPollingInterval=1]=\"FixedPollingInterval\",e[e.DynamicPriorityPolling=2]=\"DynamicPriorityPolling\"}(e.WatchDirectoryKind||(e.WatchDirectoryKind={})),function(e){e[e.FixedInterval=0]=\"FixedInterval\",e[e.PriorityInterval=1]=\"PriorityInterval\",e[e.DynamicPriority=2]=\"DynamicPriority\"}(e.PollingWatchKind||(e.PollingWatchKind={})),function(e){e[e.None=0]=\"None\",e[e.CommonJS=1]=\"CommonJS\",e[e.AMD=2]=\"AMD\",e[e.UMD=3]=\"UMD\",e[e.System=4]=\"System\",e[e.ES2015=5]=\"ES2015\",e[e.ES2020=6]=\"ES2020\",e[e.ESNext=99]=\"ESNext\"}(e.ModuleKind||(e.ModuleKind={})),function(e){e[e.None=0]=\"None\",e[e.Preserve=1]=\"Preserve\",e[e.React=2]=\"React\",e[e.ReactNative=3]=\"ReactNative\",e[e.ReactJSX=4]=\"ReactJSX\",e[e.ReactJSXDev=5]=\"ReactJSXDev\"}(e.JsxEmit||(e.JsxEmit={})),function(e){e[e.Remove=0]=\"Remove\",e[e.Preserve=1]=\"Preserve\",e[e.Error=2]=\"Error\"}(e.ImportsNotUsedAsValues||(e.ImportsNotUsedAsValues={})),function(e){e[e.CarriageReturnLineFeed=0]=\"CarriageReturnLineFeed\",e[e.LineFeed=1]=\"LineFeed\"}(e.NewLineKind||(e.NewLineKind={})),function(e){e[e.Unknown=0]=\"Unknown\",e[e.JS=1]=\"JS\",e[e.JSX=2]=\"JSX\",e[e.TS=3]=\"TS\",e[e.TSX=4]=\"TSX\",e[e.External=5]=\"External\",e[e.JSON=6]=\"JSON\",e[e.Deferred=7]=\"Deferred\"}(e.ScriptKind||(e.ScriptKind={})),function(e){e[e.ES3=0]=\"ES3\",e[e.ES5=1]=\"ES5\",e[e.ES2015=2]=\"ES2015\",e[e.ES2016=3]=\"ES2016\",e[e.ES2017=4]=\"ES2017\",e[e.ES2018=5]=\"ES2018\",e[e.ES2019=6]=\"ES2019\",e[e.ES2020=7]=\"ES2020\",e[e.ESNext=99]=\"ESNext\",e[e.JSON=100]=\"JSON\",e[e.Latest=99]=\"Latest\"}(e.ScriptTarget||(e.ScriptTarget={})),function(e){e[e.Standard=0]=\"Standard\",e[e.JSX=1]=\"JSX\"}(e.LanguageVariant||(e.LanguageVariant={})),function(e){e[e.None=0]=\"None\",e[e.Recursive=1]=\"Recursive\"}(e.WatchDirectoryFlags||(e.WatchDirectoryFlags={})),function(e){e[e.nullCharacter=0]=\"nullCharacter\",e[e.maxAsciiCharacter=127]=\"maxAsciiCharacter\",e[e.lineFeed=10]=\"lineFeed\",e[e.carriageReturn=13]=\"carriageReturn\",e[e.lineSeparator=8232]=\"lineSeparator\",e[e.paragraphSeparator=8233]=\"paragraphSeparator\",e[e.nextLine=133]=\"nextLine\",e[e.space=32]=\"space\",e[e.nonBreakingSpace=160]=\"nonBreakingSpace\",e[e.enQuad=8192]=\"enQuad\",e[e.emQuad=8193]=\"emQuad\",e[e.enSpace=8194]=\"enSpace\",e[e.emSpace=8195]=\"emSpace\",e[e.threePerEmSpace=8196]=\"threePerEmSpace\",e[e.fourPerEmSpace=8197]=\"fourPerEmSpace\",e[e.sixPerEmSpace=8198]=\"sixPerEmSpace\",e[e.figureSpace=8199]=\"figureSpace\",e[e.punctuationSpace=8200]=\"punctuationSpace\",e[e.thinSpace=8201]=\"thinSpace\",e[e.hairSpace=8202]=\"hairSpace\",e[e.zeroWidthSpace=8203]=\"zeroWidthSpace\",e[e.narrowNoBreakSpace=8239]=\"narrowNoBreakSpace\",e[e.ideographicSpace=12288]=\"ideographicSpace\",e[e.mathematicalSpace=8287]=\"mathematicalSpace\",e[e.ogham=5760]=\"ogham\",e[e._=95]=\"_\",e[e.$=36]=\"$\",e[e._0=48]=\"_0\",e[e._1=49]=\"_1\",e[e._2=50]=\"_2\",e[e._3=51]=\"_3\",e[e._4=52]=\"_4\",e[e._5=53]=\"_5\",e[e._6=54]=\"_6\",e[e._7=55]=\"_7\",e[e._8=56]=\"_8\",e[e._9=57]=\"_9\",e[e.a=97]=\"a\",e[e.b=98]=\"b\",e[e.c=99]=\"c\",e[e.d=100]=\"d\",e[e.e=101]=\"e\",e[e.f=102]=\"f\",e[e.g=103]=\"g\",e[e.h=104]=\"h\",e[e.i=105]=\"i\",e[e.j=106]=\"j\",e[e.k=107]=\"k\",e[e.l=108]=\"l\",e[e.m=109]=\"m\",e[e.n=110]=\"n\",e[e.o=111]=\"o\",e[e.p=112]=\"p\",e[e.q=113]=\"q\",e[e.r=114]=\"r\",e[e.s=115]=\"s\",e[e.t=116]=\"t\",e[e.u=117]=\"u\",e[e.v=118]=\"v\",e[e.w=119]=\"w\",e[e.x=120]=\"x\",e[e.y=121]=\"y\",e[e.z=122]=\"z\",e[e.A=65]=\"A\",e[e.B=66]=\"B\",e[e.C=67]=\"C\",e[e.D=68]=\"D\",e[e.E=69]=\"E\",e[e.F=70]=\"F\",e[e.G=71]=\"G\",e[e.H=72]=\"H\",e[e.I=73]=\"I\",e[e.J=74]=\"J\",e[e.K=75]=\"K\",e[e.L=76]=\"L\",e[e.M=77]=\"M\",e[e.N=78]=\"N\",e[e.O=79]=\"O\",e[e.P=80]=\"P\",e[e.Q=81]=\"Q\",e[e.R=82]=\"R\",e[e.S=83]=\"S\",e[e.T=84]=\"T\",e[e.U=85]=\"U\",e[e.V=86]=\"V\",e[e.W=87]=\"W\",e[e.X=88]=\"X\",e[e.Y=89]=\"Y\",e[e.Z=90]=\"Z\",e[e.ampersand=38]=\"ampersand\",e[e.asterisk=42]=\"asterisk\",e[e.at=64]=\"at\",e[e.backslash=92]=\"backslash\",e[e.backtick=96]=\"backtick\",e[e.bar=124]=\"bar\",e[e.caret=94]=\"caret\",e[e.closeBrace=125]=\"closeBrace\",e[e.closeBracket=93]=\"closeBracket\",e[e.closeParen=41]=\"closeParen\",e[e.colon=58]=\"colon\",e[e.comma=44]=\"comma\",e[e.dot=46]=\"dot\",e[e.doubleQuote=34]=\"doubleQuote\",e[e.equals=61]=\"equals\",e[e.exclamation=33]=\"exclamation\",e[e.greaterThan=62]=\"greaterThan\",e[e.hash=35]=\"hash\",e[e.lessThan=60]=\"lessThan\",e[e.minus=45]=\"minus\",e[e.openBrace=123]=\"openBrace\",e[e.openBracket=91]=\"openBracket\",e[e.openParen=40]=\"openParen\",e[e.percent=37]=\"percent\",e[e.plus=43]=\"plus\",e[e.question=63]=\"question\",e[e.semicolon=59]=\"semicolon\",e[e.singleQuote=39]=\"singleQuote\",e[e.slash=47]=\"slash\",e[e.tilde=126]=\"tilde\",e[e.backspace=8]=\"backspace\",e[e.formFeed=12]=\"formFeed\",e[e.byteOrderMark=65279]=\"byteOrderMark\",e[e.tab=9]=\"tab\",e[e.verticalTab=11]=\"verticalTab\"}(e.CharacterCodes||(e.CharacterCodes={})),function(e){e.Ts=\".ts\",e.Tsx=\".tsx\",e.Dts=\".d.ts\",e.Js=\".js\",e.Jsx=\".jsx\",e.Json=\".json\",e.TsBuildInfo=\".tsbuildinfo\"}(e.Extension||(e.Extension={})),function(e){e[e.None=0]=\"None\",e[e.ContainsTypeScript=1]=\"ContainsTypeScript\",e[e.ContainsJsx=2]=\"ContainsJsx\",e[e.ContainsESNext=4]=\"ContainsESNext\",e[e.ContainsES2020=8]=\"ContainsES2020\",e[e.ContainsES2019=16]=\"ContainsES2019\",e[e.ContainsES2018=32]=\"ContainsES2018\",e[e.ContainsES2017=64]=\"ContainsES2017\",e[e.ContainsES2016=128]=\"ContainsES2016\",e[e.ContainsES2015=256]=\"ContainsES2015\",e[e.ContainsGenerator=512]=\"ContainsGenerator\",e[e.ContainsDestructuringAssignment=1024]=\"ContainsDestructuringAssignment\",e[e.ContainsTypeScriptClassSyntax=2048]=\"ContainsTypeScriptClassSyntax\",e[e.ContainsLexicalThis=4096]=\"ContainsLexicalThis\",e[e.ContainsRestOrSpread=8192]=\"ContainsRestOrSpread\",e[e.ContainsObjectRestOrSpread=16384]=\"ContainsObjectRestOrSpread\",e[e.ContainsComputedPropertyName=32768]=\"ContainsComputedPropertyName\",e[e.ContainsBlockScopedBinding=65536]=\"ContainsBlockScopedBinding\",e[e.ContainsBindingPattern=131072]=\"ContainsBindingPattern\",e[e.ContainsYield=262144]=\"ContainsYield\",e[e.ContainsAwait=524288]=\"ContainsAwait\",e[e.ContainsHoistedDeclarationOrCompletion=1048576]=\"ContainsHoistedDeclarationOrCompletion\",e[e.ContainsDynamicImport=2097152]=\"ContainsDynamicImport\",e[e.ContainsClassFields=4194304]=\"ContainsClassFields\",e[e.ContainsPossibleTopLevelAwait=8388608]=\"ContainsPossibleTopLevelAwait\",e[e.HasComputedFlags=536870912]=\"HasComputedFlags\",e[e.AssertTypeScript=1]=\"AssertTypeScript\",e[e.AssertJsx=2]=\"AssertJsx\",e[e.AssertESNext=4]=\"AssertESNext\",e[e.AssertES2020=8]=\"AssertES2020\",e[e.AssertES2019=16]=\"AssertES2019\",e[e.AssertES2018=32]=\"AssertES2018\",e[e.AssertES2017=64]=\"AssertES2017\",e[e.AssertES2016=128]=\"AssertES2016\",e[e.AssertES2015=256]=\"AssertES2015\",e[e.AssertGenerator=512]=\"AssertGenerator\",e[e.AssertDestructuringAssignment=1024]=\"AssertDestructuringAssignment\",e[e.OuterExpressionExcludes=536870912]=\"OuterExpressionExcludes\",e[e.PropertyAccessExcludes=536870912]=\"PropertyAccessExcludes\",e[e.NodeExcludes=536870912]=\"NodeExcludes\",e[e.ArrowFunctionExcludes=547309568]=\"ArrowFunctionExcludes\",e[e.FunctionExcludes=547313664]=\"FunctionExcludes\",e[e.ConstructorExcludes=547311616]=\"ConstructorExcludes\",e[e.MethodOrAccessorExcludes=538923008]=\"MethodOrAccessorExcludes\",e[e.PropertyExcludes=536875008]=\"PropertyExcludes\",e[e.ClassExcludes=536905728]=\"ClassExcludes\",e[e.ModuleExcludes=546379776]=\"ModuleExcludes\",e[e.TypeExcludes=-2]=\"TypeExcludes\",e[e.ObjectLiteralExcludes=536922112]=\"ObjectLiteralExcludes\",e[e.ArrayLiteralOrCallOrNewExcludes=536879104]=\"ArrayLiteralOrCallOrNewExcludes\",e[e.VariableDeclarationListExcludes=537018368]=\"VariableDeclarationListExcludes\",e[e.ParameterExcludes=536870912]=\"ParameterExcludes\",e[e.CatchClauseExcludes=536887296]=\"CatchClauseExcludes\",e[e.BindingPatternExcludes=536879104]=\"BindingPatternExcludes\",e[e.PropertyNamePropagatingFlags=4096]=\"PropertyNamePropagatingFlags\"}(e.TransformFlags||(e.TransformFlags={})),function(e){e[e.None=0]=\"None\",e[e.SingleLine=1]=\"SingleLine\",e[e.AdviseOnEmitNode=2]=\"AdviseOnEmitNode\",e[e.NoSubstitution=4]=\"NoSubstitution\",e[e.CapturesThis=8]=\"CapturesThis\",e[e.NoLeadingSourceMap=16]=\"NoLeadingSourceMap\",e[e.NoTrailingSourceMap=32]=\"NoTrailingSourceMap\",e[e.NoSourceMap=48]=\"NoSourceMap\",e[e.NoNestedSourceMaps=64]=\"NoNestedSourceMaps\",e[e.NoTokenLeadingSourceMaps=128]=\"NoTokenLeadingSourceMaps\",e[e.NoTokenTrailingSourceMaps=256]=\"NoTokenTrailingSourceMaps\",e[e.NoTokenSourceMaps=384]=\"NoTokenSourceMaps\",e[e.NoLeadingComments=512]=\"NoLeadingComments\",e[e.NoTrailingComments=1024]=\"NoTrailingComments\",e[e.NoComments=1536]=\"NoComments\",e[e.NoNestedComments=2048]=\"NoNestedComments\",e[e.HelperName=4096]=\"HelperName\",e[e.ExportName=8192]=\"ExportName\",e[e.LocalName=16384]=\"LocalName\",e[e.InternalName=32768]=\"InternalName\",e[e.Indented=65536]=\"Indented\",e[e.NoIndentation=131072]=\"NoIndentation\",e[e.AsyncFunctionBody=262144]=\"AsyncFunctionBody\",e[e.ReuseTempVariableScope=524288]=\"ReuseTempVariableScope\",e[e.CustomPrologue=1048576]=\"CustomPrologue\",e[e.NoHoisting=2097152]=\"NoHoisting\",e[e.HasEndOfDeclarationMarker=4194304]=\"HasEndOfDeclarationMarker\",e[e.Iterator=8388608]=\"Iterator\",e[e.NoAsciiEscaping=16777216]=\"NoAsciiEscaping\",e[e.TypeScriptClassWrapper=33554432]=\"TypeScriptClassWrapper\",e[e.NeverApplyImportHelper=67108864]=\"NeverApplyImportHelper\",e[e.IgnoreSourceNewlines=134217728]=\"IgnoreSourceNewlines\"}(e.EmitFlags||(e.EmitFlags={})),function(e){e[e.Extends=1]=\"Extends\",e[e.Assign=2]=\"Assign\",e[e.Rest=4]=\"Rest\",e[e.Decorate=8]=\"Decorate\",e[e.Metadata=16]=\"Metadata\",e[e.Param=32]=\"Param\",e[e.Awaiter=64]=\"Awaiter\",e[e.Generator=128]=\"Generator\",e[e.Values=256]=\"Values\",e[e.Read=512]=\"Read\",e[e.Spread=1024]=\"Spread\",e[e.SpreadArrays=2048]=\"SpreadArrays\",e[e.Await=4096]=\"Await\",e[e.AsyncGenerator=8192]=\"AsyncGenerator\",e[e.AsyncDelegator=16384]=\"AsyncDelegator\",e[e.AsyncValues=32768]=\"AsyncValues\",e[e.ExportStar=65536]=\"ExportStar\",e[e.ImportStar=131072]=\"ImportStar\",e[e.ImportDefault=262144]=\"ImportDefault\",e[e.MakeTemplateObject=524288]=\"MakeTemplateObject\",e[e.ClassPrivateFieldGet=1048576]=\"ClassPrivateFieldGet\",e[e.ClassPrivateFieldSet=2097152]=\"ClassPrivateFieldSet\",e[e.CreateBinding=4194304]=\"CreateBinding\",e[e.FirstEmitHelper=1]=\"FirstEmitHelper\",e[e.LastEmitHelper=4194304]=\"LastEmitHelper\",e[e.ForOfIncludes=256]=\"ForOfIncludes\",e[e.ForAwaitOfIncludes=32768]=\"ForAwaitOfIncludes\",e[e.AsyncGeneratorIncludes=12288]=\"AsyncGeneratorIncludes\",e[e.AsyncDelegatorIncludes=53248]=\"AsyncDelegatorIncludes\",e[e.SpreadIncludes=1536]=\"SpreadIncludes\"}(e.ExternalEmitHelpers||(e.ExternalEmitHelpers={})),function(e){e[e.SourceFile=0]=\"SourceFile\",e[e.Expression=1]=\"Expression\",e[e.IdentifierName=2]=\"IdentifierName\",e[e.MappedTypeParameter=3]=\"MappedTypeParameter\",e[e.Unspecified=4]=\"Unspecified\",e[e.EmbeddedStatement=5]=\"EmbeddedStatement\",e[e.JsxAttributeValue=6]=\"JsxAttributeValue\"}(e.EmitHint||(e.EmitHint={})),function(e){e[e.Parentheses=1]=\"Parentheses\",e[e.TypeAssertions=2]=\"TypeAssertions\",e[e.NonNullAssertions=4]=\"NonNullAssertions\",e[e.PartiallyEmittedExpressions=8]=\"PartiallyEmittedExpressions\",e[e.Assertions=6]=\"Assertions\",e[e.All=15]=\"All\"}(e.OuterExpressionKinds||(e.OuterExpressionKinds={})),function(e){e[e.None=0]=\"None\",e[e.InParameters=1]=\"InParameters\",e[e.VariablesHoistedInParameters=2]=\"VariablesHoistedInParameters\"}(e.LexicalEnvironmentFlags||(e.LexicalEnvironmentFlags={})),function(e){e.Prologue=\"prologue\",e.EmitHelpers=\"emitHelpers\",e.NoDefaultLib=\"no-default-lib\",e.Reference=\"reference\",e.Type=\"type\",e.Lib=\"lib\",e.Prepend=\"prepend\",e.Text=\"text\",e.Internal=\"internal\"}(e.BundleFileSectionKind||(e.BundleFileSectionKind={})),function(e){e[e.None=0]=\"None\",e[e.SingleLine=0]=\"SingleLine\",e[e.MultiLine=1]=\"MultiLine\",e[e.PreserveLines=2]=\"PreserveLines\",e[e.LinesMask=3]=\"LinesMask\",e[e.NotDelimited=0]=\"NotDelimited\",e[e.BarDelimited=4]=\"BarDelimited\",e[e.AmpersandDelimited=8]=\"AmpersandDelimited\",e[e.CommaDelimited=16]=\"CommaDelimited\",e[e.AsteriskDelimited=32]=\"AsteriskDelimited\",e[e.DelimitersMask=60]=\"DelimitersMask\",e[e.AllowTrailingComma=64]=\"AllowTrailingComma\",e[e.Indented=128]=\"Indented\",e[e.SpaceBetweenBraces=256]=\"SpaceBetweenBraces\",e[e.SpaceBetweenSiblings=512]=\"SpaceBetweenSiblings\",e[e.Braces=1024]=\"Braces\",e[e.Parenthesis=2048]=\"Parenthesis\",e[e.AngleBrackets=4096]=\"AngleBrackets\",e[e.SquareBrackets=8192]=\"SquareBrackets\",e[e.BracketsMask=15360]=\"BracketsMask\",e[e.OptionalIfUndefined=16384]=\"OptionalIfUndefined\",e[e.OptionalIfEmpty=32768]=\"OptionalIfEmpty\",e[e.Optional=49152]=\"Optional\",e[e.PreferNewLine=65536]=\"PreferNewLine\",e[e.NoTrailingNewLine=131072]=\"NoTrailingNewLine\",e[e.NoInterveningComments=262144]=\"NoInterveningComments\",e[e.NoSpaceIfEmpty=524288]=\"NoSpaceIfEmpty\",e[e.SingleElement=1048576]=\"SingleElement\",e[e.SpaceAfterList=2097152]=\"SpaceAfterList\",e[e.Modifiers=262656]=\"Modifiers\",e[e.HeritageClauses=512]=\"HeritageClauses\",e[e.SingleLineTypeLiteralMembers=768]=\"SingleLineTypeLiteralMembers\",e[e.MultiLineTypeLiteralMembers=32897]=\"MultiLineTypeLiteralMembers\",e[e.SingleLineTupleTypeElements=528]=\"SingleLineTupleTypeElements\",e[e.MultiLineTupleTypeElements=657]=\"MultiLineTupleTypeElements\",e[e.UnionTypeConstituents=516]=\"UnionTypeConstituents\",e[e.IntersectionTypeConstituents=520]=\"IntersectionTypeConstituents\",e[e.ObjectBindingPatternElements=525136]=\"ObjectBindingPatternElements\",e[e.ArrayBindingPatternElements=524880]=\"ArrayBindingPatternElements\",e[e.ObjectLiteralExpressionProperties=526226]=\"ObjectLiteralExpressionProperties\",e[e.ArrayLiteralExpressionElements=8914]=\"ArrayLiteralExpressionElements\",e[e.CommaListElements=528]=\"CommaListElements\",e[e.CallExpressionArguments=2576]=\"CallExpressionArguments\",e[e.NewExpressionArguments=18960]=\"NewExpressionArguments\",e[e.TemplateExpressionSpans=262144]=\"TemplateExpressionSpans\",e[e.SingleLineBlockStatements=768]=\"SingleLineBlockStatements\",e[e.MultiLineBlockStatements=129]=\"MultiLineBlockStatements\",e[e.VariableDeclarationList=528]=\"VariableDeclarationList\",e[e.SingleLineFunctionBodyStatements=768]=\"SingleLineFunctionBodyStatements\",e[e.MultiLineFunctionBodyStatements=1]=\"MultiLineFunctionBodyStatements\",e[e.ClassHeritageClauses=0]=\"ClassHeritageClauses\",e[e.ClassMembers=129]=\"ClassMembers\",e[e.InterfaceMembers=129]=\"InterfaceMembers\",e[e.EnumMembers=145]=\"EnumMembers\",e[e.CaseBlockClauses=129]=\"CaseBlockClauses\",e[e.NamedImportsOrExportsElements=525136]=\"NamedImportsOrExportsElements\",e[e.JsxElementOrFragmentChildren=262144]=\"JsxElementOrFragmentChildren\",e[e.JsxElementAttributes=262656]=\"JsxElementAttributes\",e[e.CaseOrDefaultClauseStatements=163969]=\"CaseOrDefaultClauseStatements\",e[e.HeritageClauseTypes=528]=\"HeritageClauseTypes\",e[e.SourceFileStatements=131073]=\"SourceFileStatements\",e[e.Decorators=2146305]=\"Decorators\",e[e.TypeArguments=53776]=\"TypeArguments\",e[e.TypeParameters=53776]=\"TypeParameters\",e[e.Parameters=2576]=\"Parameters\",e[e.IndexSignatureParameters=8848]=\"IndexSignatureParameters\",e[e.JSDocComment=33]=\"JSDocComment\"}(e.ListFormat||(e.ListFormat={})),function(e){e[e.None=0]=\"None\",e[e.TripleSlashXML=1]=\"TripleSlashXML\",e[e.SingleLine=2]=\"SingleLine\",e[e.MultiLine=4]=\"MultiLine\",e[e.All=7]=\"All\",e[e.Default=7]=\"Default\"}(e.PragmaKindFlags||(e.PragmaKindFlags={})),e.commentPragmas={reference:{args:[{name:\"types\",optional:!0,captureSpan:!0},{name:\"lib\",optional:!0,captureSpan:!0},{name:\"path\",optional:!0,captureSpan:!0},{name:\"no-default-lib\",optional:!0}],kind:1},\"amd-dependency\":{args:[{name:\"path\"},{name:\"name\",optional:!0}],kind:1},\"amd-module\":{args:[{name:\"name\"}],kind:1},\"ts-check\":{kind:2},\"ts-nocheck\":{kind:2},jsx:{args:[{name:\"factory\"}],kind:4},jsxfrag:{args:[{name:\"factory\"}],kind:4},jsximportsource:{args:[{name:\"factory\"}],kind:4},jsxruntime:{args:[{name:\"factory\"}],kind:4}}}(u||(u={})),function(e){e.directorySeparator=\"/\";var t=/\\\\/g;function n(e){return 47===e||92===e}function i(e){return l(e)>0}function a(e){return 0!==l(e)}function o(e){return/^\\.\\.?($|[\\\\/])/.test(e)}function s(t,r){return t.length>r.length&&e.endsWith(t,r)}function c(e){return e.length>0&&n(e.charCodeAt(e.length-1))}function u(e){return e>=97&&e<=122||e>=65&&e<=90}function l(t){if(!t)return 0;var r=t.charCodeAt(0);if(47===r||92===r){if(t.charCodeAt(1)!==r)return 1;var n=t.indexOf(47===r?e.directorySeparator:\"\\\\\",2);return n<0?t.length:n+1}if(u(r)&&58===t.charCodeAt(1)){var i=t.charCodeAt(2);if(47===i||92===i)return 3;if(2===t.length)return 2}var a=t.indexOf(\"://\");if(-1!==a){var o=a+\"://\".length,s=t.indexOf(e.directorySeparator,o);if(-1!==s){var c=t.slice(0,a),l=t.slice(o,s);if(\"file\"===c&&(\"\"===l||\"localhost\"===l)&&u(t.charCodeAt(s+1))){var d=function(e,t){var r=e.charCodeAt(t);if(58===r)return t+1;if(37===r&&51===e.charCodeAt(t+1)){var n=e.charCodeAt(t+2);if(97===n||65===n)return t+3}return-1}(t,s+2);if(-1!==d){if(47===t.charCodeAt(d))return~(d+1);if(d===t.length)return~d}}return~(s+1)}return~t.length}return 0}function d(e){var t=l(e);return t<0?~t:t}function _(t){var r=d(t=v(t));return r===t.length?t:(t=T(t)).slice(0,Math.max(r,t.lastIndexOf(e.directorySeparator)))}function p(t,r,n){if(d(t=v(t))===t.length)return\"\";var i=(t=T(t)).slice(Math.max(d(t),t.lastIndexOf(e.directorySeparator)+1)),a=void 0!==r&&void 0!==n?g(i,r,n):void 0;return a?i.slice(0,i.length-a.length):i}function f(t,r,n){if(e.startsWith(r,\".\")||(r=\".\"+r),t.length>=r.length&&46===t.charCodeAt(t.length-r.length)){var i=t.slice(t.length-r.length);if(n(i,r))return i}}function g(t,r,n){if(r)return function(e,t,r){if(\"string\"==typeof t)return f(e,t,r)||\"\";for(var n=0,i=t;n=0?i.substring(a):\"\"}function m(t,n){return void 0===n&&(n=\"\"),function(t,n){var i=t.substring(0,n),a=t.substring(n).split(e.directorySeparator);return a.length&&!e.lastOrUndefined(a)&&a.pop(),r([i],a)}(t=D(n,t),d(t))}function y(t){return 0===t.length?\"\":(t[0]&&C(t[0]))+t.slice(1).join(e.directorySeparator)}function v(r){return r.replace(t,e.directorySeparator)}function h(t){if(!e.some(t))return[];for(var r=[t[0]],n=1;n1){if(\"..\"!==r[r.length-1]){r.pop();continue}}else if(r[0])continue;r.push(i)}}return r}function D(e){for(var t=[],r=1;r0&&t===e.length},e.pathIsAbsolute=a,e.pathIsRelative=o,e.pathIsBareSpecifier=function(e){return!a(e)&&!o(e)},e.hasExtension=function(t){return e.stringContains(p(t),\".\")},e.fileExtensionIs=s,e.fileExtensionIsOneOf=function(e,t){for(var r=0,n=t;r0==d(r)>0,\"Paths must either both be absolute or both be relative\");var i=\"function\"==typeof n?n:e.identity;return y(N(t,r,\"boolean\"==typeof n&&n?e.equateStringsCaseInsensitive:e.equateStringsCaseSensitive,i))}function w(t,r,n,a,o){var s=N(x(n,t),x(n,r),e.equateStringsCaseSensitive,a),c=s[0];if(o&&i(c)){var u=c.charAt(0)===e.directorySeparator?\"file://\":\"file:///\";s[0]=u+c}return y(s)}e.comparePathsCaseSensitive=function(t,r){return F(t,r,e.compareStringsCaseSensitive)},e.comparePathsCaseInsensitive=function(t,r){return F(t,r,e.compareStringsCaseInsensitive)},e.comparePaths=function(t,r,n,i){return\"string\"==typeof n?(t=D(n,t),r=D(n,r)):\"boolean\"==typeof n&&(i=n),F(t,r,e.getStringComparer(i))},e.containsPath=function(t,r,n,i){if(\"string\"==typeof n?(t=D(n,t),r=D(n,r)):\"boolean\"==typeof n&&(i=n),void 0===t||void 0===r)return!1;if(t===r)return!0;var a=h(m(t)),o=h(m(r));if(o.length0;_(),s--){var l=t[a];if(l)if(l.isClosed)t[a]=void 0;else{u++;var d=p(l,h(l.fileName));l.isClosed?t[a]=void 0:d?(l.unchangedPolls=0,t!==n&&(t[a]=void 0,m(l))):l.unchangedPolls!==e.unchangedPollThresholds[r]?l.unchangedPolls++:t===n?(l.unchangedPolls=1,t[a]=void 0,g(l,i.Low)):r!==i.High&&(l.unchangedPolls++,t[a]=void 0,g(l,r===i.Low?i.Medium:i.High)),t[a]&&(c type. Did you mean to write 'Promise<{0}>'?\"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:t(1066,e.DiagnosticCategory.Error,\"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066\",\"In ambient enum declarations member initializer must be constant expression.\"),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:t(1068,e.DiagnosticCategory.Error,\"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068\",\"Unexpected token. A constructor, method, accessor, or property was expected.\"),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:t(1069,e.DiagnosticCategory.Error,\"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069\",\"Unexpected token. A type parameter name was expected without curly braces.\"),_0_modifier_cannot_appear_on_a_type_member:t(1070,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_a_type_member_1070\",\"'{0}' modifier cannot appear on a type member.\"),_0_modifier_cannot_appear_on_an_index_signature:t(1071,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_an_index_signature_1071\",\"'{0}' modifier cannot appear on an index signature.\"),A_0_modifier_cannot_be_used_with_an_import_declaration:t(1079,e.DiagnosticCategory.Error,\"A_0_modifier_cannot_be_used_with_an_import_declaration_1079\",\"A '{0}' modifier cannot be used with an import declaration.\"),Invalid_reference_directive_syntax:t(1084,e.DiagnosticCategory.Error,\"Invalid_reference_directive_syntax_1084\",\"Invalid 'reference' directive syntax.\"),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:t(1085,e.DiagnosticCategory.Error,\"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085\",\"Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'.\"),_0_modifier_cannot_appear_on_a_constructor_declaration:t(1089,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_a_constructor_declaration_1089\",\"'{0}' modifier cannot appear on a constructor declaration.\"),_0_modifier_cannot_appear_on_a_parameter:t(1090,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_a_parameter_1090\",\"'{0}' modifier cannot appear on a parameter.\"),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:t(1091,e.DiagnosticCategory.Error,\"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091\",\"Only a single variable declaration is allowed in a 'for...in' statement.\"),Type_parameters_cannot_appear_on_a_constructor_declaration:t(1092,e.DiagnosticCategory.Error,\"Type_parameters_cannot_appear_on_a_constructor_declaration_1092\",\"Type parameters cannot appear on a constructor declaration.\"),Type_annotation_cannot_appear_on_a_constructor_declaration:t(1093,e.DiagnosticCategory.Error,\"Type_annotation_cannot_appear_on_a_constructor_declaration_1093\",\"Type annotation cannot appear on a constructor declaration.\"),An_accessor_cannot_have_type_parameters:t(1094,e.DiagnosticCategory.Error,\"An_accessor_cannot_have_type_parameters_1094\",\"An accessor cannot have type parameters.\"),A_set_accessor_cannot_have_a_return_type_annotation:t(1095,e.DiagnosticCategory.Error,\"A_set_accessor_cannot_have_a_return_type_annotation_1095\",\"A 'set' accessor cannot have a return type annotation.\"),An_index_signature_must_have_exactly_one_parameter:t(1096,e.DiagnosticCategory.Error,\"An_index_signature_must_have_exactly_one_parameter_1096\",\"An index signature must have exactly one parameter.\"),_0_list_cannot_be_empty:t(1097,e.DiagnosticCategory.Error,\"_0_list_cannot_be_empty_1097\",\"'{0}' list cannot be empty.\"),Type_parameter_list_cannot_be_empty:t(1098,e.DiagnosticCategory.Error,\"Type_parameter_list_cannot_be_empty_1098\",\"Type parameter list cannot be empty.\"),Type_argument_list_cannot_be_empty:t(1099,e.DiagnosticCategory.Error,\"Type_argument_list_cannot_be_empty_1099\",\"Type argument list cannot be empty.\"),Invalid_use_of_0_in_strict_mode:t(1100,e.DiagnosticCategory.Error,\"Invalid_use_of_0_in_strict_mode_1100\",\"Invalid use of '{0}' in strict mode.\"),with_statements_are_not_allowed_in_strict_mode:t(1101,e.DiagnosticCategory.Error,\"with_statements_are_not_allowed_in_strict_mode_1101\",\"'with' statements are not allowed in strict mode.\"),delete_cannot_be_called_on_an_identifier_in_strict_mode:t(1102,e.DiagnosticCategory.Error,\"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102\",\"'delete' cannot be called on an identifier in strict mode.\"),A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator:t(1103,e.DiagnosticCategory.Error,\"A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator_1103\",\"A 'for-await-of' statement is only allowed within an async function or async generator.\"),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:t(1104,e.DiagnosticCategory.Error,\"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104\",\"A 'continue' statement can only be used within an enclosing iteration statement.\"),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:t(1105,e.DiagnosticCategory.Error,\"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105\",\"A 'break' statement can only be used within an enclosing iteration or switch statement.\"),Jump_target_cannot_cross_function_boundary:t(1107,e.DiagnosticCategory.Error,\"Jump_target_cannot_cross_function_boundary_1107\",\"Jump target cannot cross function boundary.\"),A_return_statement_can_only_be_used_within_a_function_body:t(1108,e.DiagnosticCategory.Error,\"A_return_statement_can_only_be_used_within_a_function_body_1108\",\"A 'return' statement can only be used within a function body.\"),Expression_expected:t(1109,e.DiagnosticCategory.Error,\"Expression_expected_1109\",\"Expression expected.\"),Type_expected:t(1110,e.DiagnosticCategory.Error,\"Type_expected_1110\",\"Type expected.\"),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:t(1113,e.DiagnosticCategory.Error,\"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113\",\"A 'default' clause cannot appear more than once in a 'switch' statement.\"),Duplicate_label_0:t(1114,e.DiagnosticCategory.Error,\"Duplicate_label_0_1114\",\"Duplicate label '{0}'.\"),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:t(1115,e.DiagnosticCategory.Error,\"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115\",\"A 'continue' statement can only jump to a label of an enclosing iteration statement.\"),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:t(1116,e.DiagnosticCategory.Error,\"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116\",\"A 'break' statement can only jump to a label of an enclosing statement.\"),An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode:t(1117,e.DiagnosticCategory.Error,\"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117\",\"An object literal cannot have multiple properties with the same name in strict mode.\"),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:t(1118,e.DiagnosticCategory.Error,\"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118\",\"An object literal cannot have multiple get/set accessors with the same name.\"),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:t(1119,e.DiagnosticCategory.Error,\"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119\",\"An object literal cannot have property and accessor with the same name.\"),An_export_assignment_cannot_have_modifiers:t(1120,e.DiagnosticCategory.Error,\"An_export_assignment_cannot_have_modifiers_1120\",\"An export assignment cannot have modifiers.\"),Octal_literals_are_not_allowed_in_strict_mode:t(1121,e.DiagnosticCategory.Error,\"Octal_literals_are_not_allowed_in_strict_mode_1121\",\"Octal literals are not allowed in strict mode.\"),Variable_declaration_list_cannot_be_empty:t(1123,e.DiagnosticCategory.Error,\"Variable_declaration_list_cannot_be_empty_1123\",\"Variable declaration list cannot be empty.\"),Digit_expected:t(1124,e.DiagnosticCategory.Error,\"Digit_expected_1124\",\"Digit expected.\"),Hexadecimal_digit_expected:t(1125,e.DiagnosticCategory.Error,\"Hexadecimal_digit_expected_1125\",\"Hexadecimal digit expected.\"),Unexpected_end_of_text:t(1126,e.DiagnosticCategory.Error,\"Unexpected_end_of_text_1126\",\"Unexpected end of text.\"),Invalid_character:t(1127,e.DiagnosticCategory.Error,\"Invalid_character_1127\",\"Invalid character.\"),Declaration_or_statement_expected:t(1128,e.DiagnosticCategory.Error,\"Declaration_or_statement_expected_1128\",\"Declaration or statement expected.\"),Statement_expected:t(1129,e.DiagnosticCategory.Error,\"Statement_expected_1129\",\"Statement expected.\"),case_or_default_expected:t(1130,e.DiagnosticCategory.Error,\"case_or_default_expected_1130\",\"'case' or 'default' expected.\"),Property_or_signature_expected:t(1131,e.DiagnosticCategory.Error,\"Property_or_signature_expected_1131\",\"Property or signature expected.\"),Enum_member_expected:t(1132,e.DiagnosticCategory.Error,\"Enum_member_expected_1132\",\"Enum member expected.\"),Variable_declaration_expected:t(1134,e.DiagnosticCategory.Error,\"Variable_declaration_expected_1134\",\"Variable declaration expected.\"),Argument_expression_expected:t(1135,e.DiagnosticCategory.Error,\"Argument_expression_expected_1135\",\"Argument expression expected.\"),Property_assignment_expected:t(1136,e.DiagnosticCategory.Error,\"Property_assignment_expected_1136\",\"Property assignment expected.\"),Expression_or_comma_expected:t(1137,e.DiagnosticCategory.Error,\"Expression_or_comma_expected_1137\",\"Expression or comma expected.\"),Parameter_declaration_expected:t(1138,e.DiagnosticCategory.Error,\"Parameter_declaration_expected_1138\",\"Parameter declaration expected.\"),Type_parameter_declaration_expected:t(1139,e.DiagnosticCategory.Error,\"Type_parameter_declaration_expected_1139\",\"Type parameter declaration expected.\"),Type_argument_expected:t(1140,e.DiagnosticCategory.Error,\"Type_argument_expected_1140\",\"Type argument expected.\"),String_literal_expected:t(1141,e.DiagnosticCategory.Error,\"String_literal_expected_1141\",\"String literal expected.\"),Line_break_not_permitted_here:t(1142,e.DiagnosticCategory.Error,\"Line_break_not_permitted_here_1142\",\"Line break not permitted here.\"),or_expected:t(1144,e.DiagnosticCategory.Error,\"or_expected_1144\",\"'{' or ';' expected.\"),Declaration_expected:t(1146,e.DiagnosticCategory.Error,\"Declaration_expected_1146\",\"Declaration expected.\"),Import_declarations_in_a_namespace_cannot_reference_a_module:t(1147,e.DiagnosticCategory.Error,\"Import_declarations_in_a_namespace_cannot_reference_a_module_1147\",\"Import declarations in a namespace cannot reference a module.\"),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:t(1148,e.DiagnosticCategory.Error,\"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148\",\"Cannot use imports, exports, or module augmentations when '--module' is 'none'.\"),File_name_0_differs_from_already_included_file_name_1_only_in_casing:t(1149,e.DiagnosticCategory.Error,\"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149\",\"File name '{0}' differs from already included file name '{1}' only in casing.\"),const_declarations_must_be_initialized:t(1155,e.DiagnosticCategory.Error,\"const_declarations_must_be_initialized_1155\",\"'const' declarations must be initialized.\"),const_declarations_can_only_be_declared_inside_a_block:t(1156,e.DiagnosticCategory.Error,\"const_declarations_can_only_be_declared_inside_a_block_1156\",\"'const' declarations can only be declared inside a block.\"),let_declarations_can_only_be_declared_inside_a_block:t(1157,e.DiagnosticCategory.Error,\"let_declarations_can_only_be_declared_inside_a_block_1157\",\"'let' declarations can only be declared inside a block.\"),Unterminated_template_literal:t(1160,e.DiagnosticCategory.Error,\"Unterminated_template_literal_1160\",\"Unterminated template literal.\"),Unterminated_regular_expression_literal:t(1161,e.DiagnosticCategory.Error,\"Unterminated_regular_expression_literal_1161\",\"Unterminated regular expression literal.\"),An_object_member_cannot_be_declared_optional:t(1162,e.DiagnosticCategory.Error,\"An_object_member_cannot_be_declared_optional_1162\",\"An object member cannot be declared optional.\"),A_yield_expression_is_only_allowed_in_a_generator_body:t(1163,e.DiagnosticCategory.Error,\"A_yield_expression_is_only_allowed_in_a_generator_body_1163\",\"A 'yield' expression is only allowed in a generator body.\"),Computed_property_names_are_not_allowed_in_enums:t(1164,e.DiagnosticCategory.Error,\"Computed_property_names_are_not_allowed_in_enums_1164\",\"Computed property names are not allowed in enums.\"),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1165,e.DiagnosticCategory.Error,\"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165\",\"A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1166,e.DiagnosticCategory.Error,\"A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_1166\",\"A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1168,e.DiagnosticCategory.Error,\"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168\",\"A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1169,e.DiagnosticCategory.Error,\"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169\",\"A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1170,e.DiagnosticCategory.Error,\"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170\",\"A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_comma_expression_is_not_allowed_in_a_computed_property_name:t(1171,e.DiagnosticCategory.Error,\"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171\",\"A comma expression is not allowed in a computed property name.\"),extends_clause_already_seen:t(1172,e.DiagnosticCategory.Error,\"extends_clause_already_seen_1172\",\"'extends' clause already seen.\"),extends_clause_must_precede_implements_clause:t(1173,e.DiagnosticCategory.Error,\"extends_clause_must_precede_implements_clause_1173\",\"'extends' clause must precede 'implements' clause.\"),Classes_can_only_extend_a_single_class:t(1174,e.DiagnosticCategory.Error,\"Classes_can_only_extend_a_single_class_1174\",\"Classes can only extend a single class.\"),implements_clause_already_seen:t(1175,e.DiagnosticCategory.Error,\"implements_clause_already_seen_1175\",\"'implements' clause already seen.\"),Interface_declaration_cannot_have_implements_clause:t(1176,e.DiagnosticCategory.Error,\"Interface_declaration_cannot_have_implements_clause_1176\",\"Interface declaration cannot have 'implements' clause.\"),Binary_digit_expected:t(1177,e.DiagnosticCategory.Error,\"Binary_digit_expected_1177\",\"Binary digit expected.\"),Octal_digit_expected:t(1178,e.DiagnosticCategory.Error,\"Octal_digit_expected_1178\",\"Octal digit expected.\"),Unexpected_token_expected:t(1179,e.DiagnosticCategory.Error,\"Unexpected_token_expected_1179\",\"Unexpected token. '{' expected.\"),Property_destructuring_pattern_expected:t(1180,e.DiagnosticCategory.Error,\"Property_destructuring_pattern_expected_1180\",\"Property destructuring pattern expected.\"),Array_element_destructuring_pattern_expected:t(1181,e.DiagnosticCategory.Error,\"Array_element_destructuring_pattern_expected_1181\",\"Array element destructuring pattern expected.\"),A_destructuring_declaration_must_have_an_initializer:t(1182,e.DiagnosticCategory.Error,\"A_destructuring_declaration_must_have_an_initializer_1182\",\"A destructuring declaration must have an initializer.\"),An_implementation_cannot_be_declared_in_ambient_contexts:t(1183,e.DiagnosticCategory.Error,\"An_implementation_cannot_be_declared_in_ambient_contexts_1183\",\"An implementation cannot be declared in ambient contexts.\"),Modifiers_cannot_appear_here:t(1184,e.DiagnosticCategory.Error,\"Modifiers_cannot_appear_here_1184\",\"Modifiers cannot appear here.\"),Merge_conflict_marker_encountered:t(1185,e.DiagnosticCategory.Error,\"Merge_conflict_marker_encountered_1185\",\"Merge conflict marker encountered.\"),A_rest_element_cannot_have_an_initializer:t(1186,e.DiagnosticCategory.Error,\"A_rest_element_cannot_have_an_initializer_1186\",\"A rest element cannot have an initializer.\"),A_parameter_property_may_not_be_declared_using_a_binding_pattern:t(1187,e.DiagnosticCategory.Error,\"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187\",\"A parameter property may not be declared using a binding pattern.\"),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:t(1188,e.DiagnosticCategory.Error,\"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188\",\"Only a single variable declaration is allowed in a 'for...of' statement.\"),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:t(1189,e.DiagnosticCategory.Error,\"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189\",\"The variable declaration of a 'for...in' statement cannot have an initializer.\"),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:t(1190,e.DiagnosticCategory.Error,\"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190\",\"The variable declaration of a 'for...of' statement cannot have an initializer.\"),An_import_declaration_cannot_have_modifiers:t(1191,e.DiagnosticCategory.Error,\"An_import_declaration_cannot_have_modifiers_1191\",\"An import declaration cannot have modifiers.\"),Module_0_has_no_default_export:t(1192,e.DiagnosticCategory.Error,\"Module_0_has_no_default_export_1192\",\"Module '{0}' has no default export.\"),An_export_declaration_cannot_have_modifiers:t(1193,e.DiagnosticCategory.Error,\"An_export_declaration_cannot_have_modifiers_1193\",\"An export declaration cannot have modifiers.\"),Export_declarations_are_not_permitted_in_a_namespace:t(1194,e.DiagnosticCategory.Error,\"Export_declarations_are_not_permitted_in_a_namespace_1194\",\"Export declarations are not permitted in a namespace.\"),export_Asterisk_does_not_re_export_a_default:t(1195,e.DiagnosticCategory.Error,\"export_Asterisk_does_not_re_export_a_default_1195\",\"'export *' does not re-export a default.\"),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:t(1196,e.DiagnosticCategory.Error,\"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196\",\"Catch clause variable type annotation must be 'any' or 'unknown' if specified.\"),Catch_clause_variable_cannot_have_an_initializer:t(1197,e.DiagnosticCategory.Error,\"Catch_clause_variable_cannot_have_an_initializer_1197\",\"Catch clause variable cannot have an initializer.\"),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:t(1198,e.DiagnosticCategory.Error,\"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198\",\"An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive.\"),Unterminated_Unicode_escape_sequence:t(1199,e.DiagnosticCategory.Error,\"Unterminated_Unicode_escape_sequence_1199\",\"Unterminated Unicode escape sequence.\"),Line_terminator_not_permitted_before_arrow:t(1200,e.DiagnosticCategory.Error,\"Line_terminator_not_permitted_before_arrow_1200\",\"Line terminator not permitted before arrow.\"),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:t(1202,e.DiagnosticCategory.Error,\"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202\",\"Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from \\\"mod\\\"', 'import {a} from \\\"mod\\\"', 'import d from \\\"mod\\\"', or another module format instead.\"),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:t(1203,e.DiagnosticCategory.Error,\"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203\",\"Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead.\"),Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type:t(1205,e.DiagnosticCategory.Error,\"Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type_1205\",\"Re-exporting a type when the '--isolatedModules' flag is provided requires using 'export type'.\"),Decorators_are_not_valid_here:t(1206,e.DiagnosticCategory.Error,\"Decorators_are_not_valid_here_1206\",\"Decorators are not valid here.\"),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:t(1207,e.DiagnosticCategory.Error,\"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207\",\"Decorators cannot be applied to multiple get/set accessors of the same name.\"),_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module:t(1208,e.DiagnosticCategory.Error,\"_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_imp_1208\",\"'{0}' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module.\"),Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:t(1210,e.DiagnosticCategory.Error,\"Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210\",\"Invalid use of '{0}'. Class definitions are automatically in strict mode.\"),A_class_declaration_without_the_default_modifier_must_have_a_name:t(1211,e.DiagnosticCategory.Error,\"A_class_declaration_without_the_default_modifier_must_have_a_name_1211\",\"A class declaration without the 'default' modifier must have a name.\"),Identifier_expected_0_is_a_reserved_word_in_strict_mode:t(1212,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212\",\"Identifier expected. '{0}' is a reserved word in strict mode.\"),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:t(1213,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213\",\"Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode.\"),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:t(1214,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214\",\"Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode.\"),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:t(1215,e.DiagnosticCategory.Error,\"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215\",\"Invalid use of '{0}'. Modules are automatically in strict mode.\"),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:t(1216,e.DiagnosticCategory.Error,\"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216\",\"Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.\"),Export_assignment_is_not_supported_when_module_flag_is_system:t(1218,e.DiagnosticCategory.Error,\"Export_assignment_is_not_supported_when_module_flag_is_system_1218\",\"Export assignment is not supported when '--module' flag is 'system'.\"),Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning:t(1219,e.DiagnosticCategory.Error,\"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219\",\"Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning.\"),Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher:t(1220,e.DiagnosticCategory.Error,\"Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220\",\"Generators are only available when targeting ECMAScript 2015 or higher.\"),Generators_are_not_allowed_in_an_ambient_context:t(1221,e.DiagnosticCategory.Error,\"Generators_are_not_allowed_in_an_ambient_context_1221\",\"Generators are not allowed in an ambient context.\"),An_overload_signature_cannot_be_declared_as_a_generator:t(1222,e.DiagnosticCategory.Error,\"An_overload_signature_cannot_be_declared_as_a_generator_1222\",\"An overload signature cannot be declared as a generator.\"),_0_tag_already_specified:t(1223,e.DiagnosticCategory.Error,\"_0_tag_already_specified_1223\",\"'{0}' tag already specified.\"),Signature_0_must_be_a_type_predicate:t(1224,e.DiagnosticCategory.Error,\"Signature_0_must_be_a_type_predicate_1224\",\"Signature '{0}' must be a type predicate.\"),Cannot_find_parameter_0:t(1225,e.DiagnosticCategory.Error,\"Cannot_find_parameter_0_1225\",\"Cannot find parameter '{0}'.\"),Type_predicate_0_is_not_assignable_to_1:t(1226,e.DiagnosticCategory.Error,\"Type_predicate_0_is_not_assignable_to_1_1226\",\"Type predicate '{0}' is not assignable to '{1}'.\"),Parameter_0_is_not_in_the_same_position_as_parameter_1:t(1227,e.DiagnosticCategory.Error,\"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227\",\"Parameter '{0}' is not in the same position as parameter '{1}'.\"),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:t(1228,e.DiagnosticCategory.Error,\"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228\",\"A type predicate is only allowed in return type position for functions and methods.\"),A_type_predicate_cannot_reference_a_rest_parameter:t(1229,e.DiagnosticCategory.Error,\"A_type_predicate_cannot_reference_a_rest_parameter_1229\",\"A type predicate cannot reference a rest parameter.\"),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:t(1230,e.DiagnosticCategory.Error,\"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230\",\"A type predicate cannot reference element '{0}' in a binding pattern.\"),An_export_assignment_can_only_be_used_in_a_module:t(1231,e.DiagnosticCategory.Error,\"An_export_assignment_can_only_be_used_in_a_module_1231\",\"An export assignment can only be used in a module.\"),An_import_declaration_can_only_be_used_in_a_namespace_or_module:t(1232,e.DiagnosticCategory.Error,\"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232\",\"An import declaration can only be used in a namespace or module.\"),An_export_declaration_can_only_be_used_in_a_module:t(1233,e.DiagnosticCategory.Error,\"An_export_declaration_can_only_be_used_in_a_module_1233\",\"An export declaration can only be used in a module.\"),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:t(1234,e.DiagnosticCategory.Error,\"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234\",\"An ambient module declaration is only allowed at the top level in a file.\"),A_namespace_declaration_is_only_allowed_in_a_namespace_or_module:t(1235,e.DiagnosticCategory.Error,\"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235\",\"A namespace declaration is only allowed in a namespace or module.\"),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:t(1236,e.DiagnosticCategory.Error,\"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236\",\"The return type of a property decorator function must be either 'void' or 'any'.\"),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:t(1237,e.DiagnosticCategory.Error,\"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237\",\"The return type of a parameter decorator function must be either 'void' or 'any'.\"),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:t(1238,e.DiagnosticCategory.Error,\"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238\",\"Unable to resolve signature of class decorator when called as an expression.\"),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:t(1239,e.DiagnosticCategory.Error,\"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239\",\"Unable to resolve signature of parameter decorator when called as an expression.\"),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:t(1240,e.DiagnosticCategory.Error,\"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240\",\"Unable to resolve signature of property decorator when called as an expression.\"),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:t(1241,e.DiagnosticCategory.Error,\"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241\",\"Unable to resolve signature of method decorator when called as an expression.\"),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:t(1242,e.DiagnosticCategory.Error,\"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242\",\"'abstract' modifier can only appear on a class, method, or property declaration.\"),_0_modifier_cannot_be_used_with_1_modifier:t(1243,e.DiagnosticCategory.Error,\"_0_modifier_cannot_be_used_with_1_modifier_1243\",\"'{0}' modifier cannot be used with '{1}' modifier.\"),Abstract_methods_can_only_appear_within_an_abstract_class:t(1244,e.DiagnosticCategory.Error,\"Abstract_methods_can_only_appear_within_an_abstract_class_1244\",\"Abstract methods can only appear within an abstract class.\"),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:t(1245,e.DiagnosticCategory.Error,\"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245\",\"Method '{0}' cannot have an implementation because it is marked abstract.\"),An_interface_property_cannot_have_an_initializer:t(1246,e.DiagnosticCategory.Error,\"An_interface_property_cannot_have_an_initializer_1246\",\"An interface property cannot have an initializer.\"),A_type_literal_property_cannot_have_an_initializer:t(1247,e.DiagnosticCategory.Error,\"A_type_literal_property_cannot_have_an_initializer_1247\",\"A type literal property cannot have an initializer.\"),A_class_member_cannot_have_the_0_keyword:t(1248,e.DiagnosticCategory.Error,\"A_class_member_cannot_have_the_0_keyword_1248\",\"A class member cannot have the '{0}' keyword.\"),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:t(1249,e.DiagnosticCategory.Error,\"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249\",\"A decorator can only decorate a method implementation, not an overload.\"),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:t(1250,e.DiagnosticCategory.Error,\"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250\",\"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'.\"),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:t(1251,e.DiagnosticCategory.Error,\"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251\",\"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode.\"),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:t(1252,e.DiagnosticCategory.Error,\"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252\",\"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode.\"),_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag:t(1253,e.DiagnosticCategory.Error,\"_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253\",\"'{0}' tag cannot be used independently as a top level JSDoc tag.\"),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:t(1254,e.DiagnosticCategory.Error,\"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254\",\"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.\"),A_definite_assignment_assertion_is_not_permitted_in_this_context:t(1255,e.DiagnosticCategory.Error,\"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255\",\"A definite assignment assertion '!' is not permitted in this context.\"),A_rest_element_must_be_last_in_a_tuple_type:t(1256,e.DiagnosticCategory.Error,\"A_rest_element_must_be_last_in_a_tuple_type_1256\",\"A rest element must be last in a tuple type.\"),A_required_element_cannot_follow_an_optional_element:t(1257,e.DiagnosticCategory.Error,\"A_required_element_cannot_follow_an_optional_element_1257\",\"A required element cannot follow an optional element.\"),Module_0_can_only_be_default_imported_using_the_1_flag:t(1259,e.DiagnosticCategory.Error,\"Module_0_can_only_be_default_imported_using_the_1_flag_1259\",\"Module '{0}' can only be default-imported using the '{1}' flag\"),Keywords_cannot_contain_escape_characters:t(1260,e.DiagnosticCategory.Error,\"Keywords_cannot_contain_escape_characters_1260\",\"Keywords cannot contain escape characters.\"),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:t(1261,e.DiagnosticCategory.Error,\"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261\",\"Already included file name '{0}' differs from file name '{1}' only in casing.\"),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:t(1262,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262\",\"Identifier expected. '{0}' is a reserved word at the top-level of a module.\"),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:t(1263,e.DiagnosticCategory.Error,\"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263\",\"Declarations with initializers cannot also have definite assignment assertions.\"),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:t(1264,e.DiagnosticCategory.Error,\"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264\",\"Declarations with definite assignment assertions must also have type annotations.\"),with_statements_are_not_allowed_in_an_async_function_block:t(1300,e.DiagnosticCategory.Error,\"with_statements_are_not_allowed_in_an_async_function_block_1300\",\"'with' statements are not allowed in an async function block.\"),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:t(1308,e.DiagnosticCategory.Error,\"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308\",\"'await' expressions are only allowed within async functions and at the top levels of modules.\"),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:t(1312,e.DiagnosticCategory.Error,\"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312\",\"Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern.\"),The_body_of_an_if_statement_cannot_be_the_empty_statement:t(1313,e.DiagnosticCategory.Error,\"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313\",\"The body of an 'if' statement cannot be the empty statement.\"),Global_module_exports_may_only_appear_in_module_files:t(1314,e.DiagnosticCategory.Error,\"Global_module_exports_may_only_appear_in_module_files_1314\",\"Global module exports may only appear in module files.\"),Global_module_exports_may_only_appear_in_declaration_files:t(1315,e.DiagnosticCategory.Error,\"Global_module_exports_may_only_appear_in_declaration_files_1315\",\"Global module exports may only appear in declaration files.\"),Global_module_exports_may_only_appear_at_top_level:t(1316,e.DiagnosticCategory.Error,\"Global_module_exports_may_only_appear_at_top_level_1316\",\"Global module exports may only appear at top level.\"),A_parameter_property_cannot_be_declared_using_a_rest_parameter:t(1317,e.DiagnosticCategory.Error,\"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317\",\"A parameter property cannot be declared using a rest parameter.\"),An_abstract_accessor_cannot_have_an_implementation:t(1318,e.DiagnosticCategory.Error,\"An_abstract_accessor_cannot_have_an_implementation_1318\",\"An abstract accessor cannot have an implementation.\"),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:t(1319,e.DiagnosticCategory.Error,\"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319\",\"A default export can only be used in an ECMAScript-style module.\"),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1320,e.DiagnosticCategory.Error,\"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320\",\"Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member.\"),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1321,e.DiagnosticCategory.Error,\"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321\",\"Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member.\"),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1322,e.DiagnosticCategory.Error,\"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322\",\"Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member.\"),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system_or_umd:t(1323,e.DiagnosticCategory.Error,\"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system__1323\",\"Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'esnext', 'commonjs', 'amd', 'system', or 'umd'.\"),Dynamic_import_must_have_one_specifier_as_an_argument:t(1324,e.DiagnosticCategory.Error,\"Dynamic_import_must_have_one_specifier_as_an_argument_1324\",\"Dynamic import must have one specifier as an argument.\"),Specifier_of_dynamic_import_cannot_be_spread_element:t(1325,e.DiagnosticCategory.Error,\"Specifier_of_dynamic_import_cannot_be_spread_element_1325\",\"Specifier of dynamic import cannot be spread element.\"),Dynamic_import_cannot_have_type_arguments:t(1326,e.DiagnosticCategory.Error,\"Dynamic_import_cannot_have_type_arguments_1326\",\"Dynamic import cannot have type arguments.\"),String_literal_with_double_quotes_expected:t(1327,e.DiagnosticCategory.Error,\"String_literal_with_double_quotes_expected_1327\",\"String literal with double quotes expected.\"),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:t(1328,e.DiagnosticCategory.Error,\"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328\",\"Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal.\"),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:t(1329,e.DiagnosticCategory.Error,\"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329\",\"'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?\"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:t(1330,e.DiagnosticCategory.Error,\"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330\",\"A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.\"),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:t(1331,e.DiagnosticCategory.Error,\"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331\",\"A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.\"),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:t(1332,e.DiagnosticCategory.Error,\"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332\",\"A variable whose type is a 'unique symbol' type must be 'const'.\"),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:t(1333,e.DiagnosticCategory.Error,\"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333\",\"'unique symbol' types may not be used on a variable declaration with a binding name.\"),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:t(1334,e.DiagnosticCategory.Error,\"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334\",\"'unique symbol' types are only allowed on variables in a variable statement.\"),unique_symbol_types_are_not_allowed_here:t(1335,e.DiagnosticCategory.Error,\"unique_symbol_types_are_not_allowed_here_1335\",\"'unique symbol' types are not allowed here.\"),An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead:t(1336,e.DiagnosticCategory.Error,\"An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead_1336\",\"An index signature parameter type cannot be a type alias. Consider writing '[{0}: {1}]: {2}' instead.\"),An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead:t(1337,e.DiagnosticCategory.Error,\"An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead_1337\",\"An index signature parameter type cannot be a union type. Consider using a mapped object type instead.\"),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:t(1338,e.DiagnosticCategory.Error,\"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338\",\"'infer' declarations are only permitted in the 'extends' clause of a conditional type.\"),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:t(1339,e.DiagnosticCategory.Error,\"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339\",\"Module '{0}' does not refer to a value, but is used as a value here.\"),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:t(1340,e.DiagnosticCategory.Error,\"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340\",\"Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?\"),Type_arguments_cannot_be_used_here:t(1342,e.DiagnosticCategory.Error,\"Type_arguments_cannot_be_used_here_1342\",\"Type arguments cannot be used here.\"),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_or_system:t(1343,e.DiagnosticCategory.Error,\"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_or_system_1343\",\"The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'esnext', or 'system'.\"),A_label_is_not_allowed_here:t(1344,e.DiagnosticCategory.Error,\"A_label_is_not_allowed_here_1344\",\"'A label is not allowed here.\"),An_expression_of_type_void_cannot_be_tested_for_truthiness:t(1345,e.DiagnosticCategory.Error,\"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345\",\"An expression of type 'void' cannot be tested for truthiness.\"),This_parameter_is_not_allowed_with_use_strict_directive:t(1346,e.DiagnosticCategory.Error,\"This_parameter_is_not_allowed_with_use_strict_directive_1346\",\"This parameter is not allowed with 'use strict' directive.\"),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:t(1347,e.DiagnosticCategory.Error,\"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347\",\"'use strict' directive cannot be used with non-simple parameter list.\"),Non_simple_parameter_declared_here:t(1348,e.DiagnosticCategory.Error,\"Non_simple_parameter_declared_here_1348\",\"Non-simple parameter declared here.\"),use_strict_directive_used_here:t(1349,e.DiagnosticCategory.Error,\"use_strict_directive_used_here_1349\",\"'use strict' directive used here.\"),Print_the_final_configuration_instead_of_building:t(1350,e.DiagnosticCategory.Message,\"Print_the_final_configuration_instead_of_building_1350\",\"Print the final configuration instead of building.\"),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:t(1351,e.DiagnosticCategory.Error,\"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351\",\"An identifier or keyword cannot immediately follow a numeric literal.\"),A_bigint_literal_cannot_use_exponential_notation:t(1352,e.DiagnosticCategory.Error,\"A_bigint_literal_cannot_use_exponential_notation_1352\",\"A bigint literal cannot use exponential notation.\"),A_bigint_literal_must_be_an_integer:t(1353,e.DiagnosticCategory.Error,\"A_bigint_literal_must_be_an_integer_1353\",\"A bigint literal must be an integer.\"),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:t(1354,e.DiagnosticCategory.Error,\"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354\",\"'readonly' type modifier is only permitted on array and tuple literal types.\"),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:t(1355,e.DiagnosticCategory.Error,\"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355\",\"A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals.\"),Did_you_mean_to_mark_this_function_as_async:t(1356,e.DiagnosticCategory.Error,\"Did_you_mean_to_mark_this_function_as_async_1356\",\"Did you mean to mark this function as 'async'?\"),An_enum_member_name_must_be_followed_by_a_or:t(1357,e.DiagnosticCategory.Error,\"An_enum_member_name_must_be_followed_by_a_or_1357\",\"An enum member name must be followed by a ',', '=', or '}'.\"),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:t(1358,e.DiagnosticCategory.Error,\"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358\",\"Tagged template expressions are not permitted in an optional chain.\"),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:t(1359,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359\",\"Identifier expected. '{0}' is a reserved word that cannot be used here.\"),Did_you_mean_to_parenthesize_this_function_type:t(1360,e.DiagnosticCategory.Error,\"Did_you_mean_to_parenthesize_this_function_type_1360\",\"Did you mean to parenthesize this function type?\"),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:t(1361,e.DiagnosticCategory.Error,\"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361\",\"'{0}' cannot be used as a value because it was imported using 'import type'.\"),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:t(1362,e.DiagnosticCategory.Error,\"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362\",\"'{0}' cannot be used as a value because it was exported using 'export type'.\"),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:t(1363,e.DiagnosticCategory.Error,\"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363\",\"A type-only import can specify a default import or named bindings, but not both.\"),Convert_to_type_only_export:t(1364,e.DiagnosticCategory.Message,\"Convert_to_type_only_export_1364\",\"Convert to type-only export\"),Convert_all_re_exported_types_to_type_only_exports:t(1365,e.DiagnosticCategory.Message,\"Convert_all_re_exported_types_to_type_only_exports_1365\",\"Convert all re-exported types to type-only exports\"),Split_into_two_separate_import_declarations:t(1366,e.DiagnosticCategory.Message,\"Split_into_two_separate_import_declarations_1366\",\"Split into two separate import declarations\"),Split_all_invalid_type_only_imports:t(1367,e.DiagnosticCategory.Message,\"Split_all_invalid_type_only_imports_1367\",\"Split all invalid type-only imports\"),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:t(1368,e.DiagnosticCategory.Message,\"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_1368\",\"Specify emit/checking behavior for imports that are only used for types\"),Did_you_mean_0:t(1369,e.DiagnosticCategory.Message,\"Did_you_mean_0_1369\",\"Did you mean '{0}'?\"),Only_ECMAScript_imports_may_use_import_type:t(1370,e.DiagnosticCategory.Error,\"Only_ECMAScript_imports_may_use_import_type_1370\",\"Only ECMAScript imports may use 'import type'.\"),This_import_is_never_used_as_a_value_and_must_use_import_type_because_the_importsNotUsedAsValues_is_set_to_error:t(1371,e.DiagnosticCategory.Error,\"This_import_is_never_used_as_a_value_and_must_use_import_type_because_the_importsNotUsedAsValues_is__1371\",\"This import is never used as a value and must use 'import type' because the 'importsNotUsedAsValues' is set to 'error'.\"),Convert_to_type_only_import:t(1373,e.DiagnosticCategory.Message,\"Convert_to_type_only_import_1373\",\"Convert to type-only import\"),Convert_all_imports_not_used_as_a_value_to_type_only_imports:t(1374,e.DiagnosticCategory.Message,\"Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374\",\"Convert all imports not used as a value to type-only imports\"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:t(1375,e.DiagnosticCategory.Error,\"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375\",\"'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module.\"),_0_was_imported_here:t(1376,e.DiagnosticCategory.Message,\"_0_was_imported_here_1376\",\"'{0}' was imported here.\"),_0_was_exported_here:t(1377,e.DiagnosticCategory.Message,\"_0_was_exported_here_1377\",\"'{0}' was exported here.\"),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher:t(1378,e.DiagnosticCategory.Error,\"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_t_1378\",\"Top-level 'await' expressions are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher.\"),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:t(1379,e.DiagnosticCategory.Error,\"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379\",\"An import alias cannot reference a declaration that was exported using 'export type'.\"),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:t(1380,e.DiagnosticCategory.Error,\"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380\",\"An import alias cannot reference a declaration that was imported using 'import type'.\"),Unexpected_token_Did_you_mean_or_rbrace:t(1381,e.DiagnosticCategory.Error,\"Unexpected_token_Did_you_mean_or_rbrace_1381\",\"Unexpected token. Did you mean `{'}'}` or `}`?\"),Unexpected_token_Did_you_mean_or_gt:t(1382,e.DiagnosticCategory.Error,\"Unexpected_token_Did_you_mean_or_gt_1382\",\"Unexpected token. Did you mean `{'>'}` or `>`?\"),Only_named_exports_may_use_export_type:t(1383,e.DiagnosticCategory.Error,\"Only_named_exports_may_use_export_type_1383\",\"Only named exports may use 'export type'.\"),A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list:t(1384,e.DiagnosticCategory.Error,\"A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list_1384\",\"A 'new' expression with type arguments must always be followed by a parenthesized argument list.\"),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:t(1385,e.DiagnosticCategory.Error,\"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385\",\"Function type notation must be parenthesized when used in a union type.\"),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:t(1386,e.DiagnosticCategory.Error,\"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386\",\"Constructor type notation must be parenthesized when used in a union type.\"),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t(1387,e.DiagnosticCategory.Error,\"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387\",\"Function type notation must be parenthesized when used in an intersection type.\"),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t(1388,e.DiagnosticCategory.Error,\"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388\",\"Constructor type notation must be parenthesized when used in an intersection type.\"),_0_is_not_allowed_as_a_variable_declaration_name:t(1389,e.DiagnosticCategory.Error,\"_0_is_not_allowed_as_a_variable_declaration_name_1389\",\"'{0}' is not allowed as a variable declaration name.\"),The_types_of_0_are_incompatible_between_these_types:t(2200,e.DiagnosticCategory.Error,\"The_types_of_0_are_incompatible_between_these_types_2200\",\"The types of '{0}' are incompatible between these types.\"),The_types_returned_by_0_are_incompatible_between_these_types:t(2201,e.DiagnosticCategory.Error,\"The_types_returned_by_0_are_incompatible_between_these_types_2201\",\"The types returned by '{0}' are incompatible between these types.\"),Call_signature_return_types_0_and_1_are_incompatible:t(2202,e.DiagnosticCategory.Error,\"Call_signature_return_types_0_and_1_are_incompatible_2202\",\"Call signature return types '{0}' and '{1}' are incompatible.\",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:t(2203,e.DiagnosticCategory.Error,\"Construct_signature_return_types_0_and_1_are_incompatible_2203\",\"Construct signature return types '{0}' and '{1}' are incompatible.\",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:t(2204,e.DiagnosticCategory.Error,\"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204\",\"Call signatures with no arguments have incompatible return types '{0}' and '{1}'.\",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:t(2205,e.DiagnosticCategory.Error,\"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205\",\"Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.\",void 0,!0),Duplicate_identifier_0:t(2300,e.DiagnosticCategory.Error,\"Duplicate_identifier_0_2300\",\"Duplicate identifier '{0}'.\"),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:t(2301,e.DiagnosticCategory.Error,\"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301\",\"Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor.\"),Static_members_cannot_reference_class_type_parameters:t(2302,e.DiagnosticCategory.Error,\"Static_members_cannot_reference_class_type_parameters_2302\",\"Static members cannot reference class type parameters.\"),Circular_definition_of_import_alias_0:t(2303,e.DiagnosticCategory.Error,\"Circular_definition_of_import_alias_0_2303\",\"Circular definition of import alias '{0}'.\"),Cannot_find_name_0:t(2304,e.DiagnosticCategory.Error,\"Cannot_find_name_0_2304\",\"Cannot find name '{0}'.\"),Module_0_has_no_exported_member_1:t(2305,e.DiagnosticCategory.Error,\"Module_0_has_no_exported_member_1_2305\",\"Module '{0}' has no exported member '{1}'.\"),File_0_is_not_a_module:t(2306,e.DiagnosticCategory.Error,\"File_0_is_not_a_module_2306\",\"File '{0}' is not a module.\"),Cannot_find_module_0_or_its_corresponding_type_declarations:t(2307,e.DiagnosticCategory.Error,\"Cannot_find_module_0_or_its_corresponding_type_declarations_2307\",\"Cannot find module '{0}' or its corresponding type declarations.\"),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:t(2308,e.DiagnosticCategory.Error,\"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308\",\"Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity.\"),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:t(2309,e.DiagnosticCategory.Error,\"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309\",\"An export assignment cannot be used in a module with other exported elements.\"),Type_0_recursively_references_itself_as_a_base_type:t(2310,e.DiagnosticCategory.Error,\"Type_0_recursively_references_itself_as_a_base_type_2310\",\"Type '{0}' recursively references itself as a base type.\"),A_class_may_only_extend_another_class:t(2311,e.DiagnosticCategory.Error,\"A_class_may_only_extend_another_class_2311\",\"A class may only extend another class.\"),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2312,e.DiagnosticCategory.Error,\"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312\",\"An interface can only extend an object type or intersection of object types with statically known members.\"),Type_parameter_0_has_a_circular_constraint:t(2313,e.DiagnosticCategory.Error,\"Type_parameter_0_has_a_circular_constraint_2313\",\"Type parameter '{0}' has a circular constraint.\"),Generic_type_0_requires_1_type_argument_s:t(2314,e.DiagnosticCategory.Error,\"Generic_type_0_requires_1_type_argument_s_2314\",\"Generic type '{0}' requires {1} type argument(s).\"),Type_0_is_not_generic:t(2315,e.DiagnosticCategory.Error,\"Type_0_is_not_generic_2315\",\"Type '{0}' is not generic.\"),Global_type_0_must_be_a_class_or_interface_type:t(2316,e.DiagnosticCategory.Error,\"Global_type_0_must_be_a_class_or_interface_type_2316\",\"Global type '{0}' must be a class or interface type.\"),Global_type_0_must_have_1_type_parameter_s:t(2317,e.DiagnosticCategory.Error,\"Global_type_0_must_have_1_type_parameter_s_2317\",\"Global type '{0}' must have {1} type parameter(s).\"),Cannot_find_global_type_0:t(2318,e.DiagnosticCategory.Error,\"Cannot_find_global_type_0_2318\",\"Cannot find global type '{0}'.\"),Named_property_0_of_types_1_and_2_are_not_identical:t(2319,e.DiagnosticCategory.Error,\"Named_property_0_of_types_1_and_2_are_not_identical_2319\",\"Named property '{0}' of types '{1}' and '{2}' are not identical.\"),Interface_0_cannot_simultaneously_extend_types_1_and_2:t(2320,e.DiagnosticCategory.Error,\"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320\",\"Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'.\"),Excessive_stack_depth_comparing_types_0_and_1:t(2321,e.DiagnosticCategory.Error,\"Excessive_stack_depth_comparing_types_0_and_1_2321\",\"Excessive stack depth comparing types '{0}' and '{1}'.\"),Type_0_is_not_assignable_to_type_1:t(2322,e.DiagnosticCategory.Error,\"Type_0_is_not_assignable_to_type_1_2322\",\"Type '{0}' is not assignable to type '{1}'.\"),Cannot_redeclare_exported_variable_0:t(2323,e.DiagnosticCategory.Error,\"Cannot_redeclare_exported_variable_0_2323\",\"Cannot redeclare exported variable '{0}'.\"),Property_0_is_missing_in_type_1:t(2324,e.DiagnosticCategory.Error,\"Property_0_is_missing_in_type_1_2324\",\"Property '{0}' is missing in type '{1}'.\"),Property_0_is_private_in_type_1_but_not_in_type_2:t(2325,e.DiagnosticCategory.Error,\"Property_0_is_private_in_type_1_but_not_in_type_2_2325\",\"Property '{0}' is private in type '{1}' but not in type '{2}'.\"),Types_of_property_0_are_incompatible:t(2326,e.DiagnosticCategory.Error,\"Types_of_property_0_are_incompatible_2326\",\"Types of property '{0}' are incompatible.\"),Property_0_is_optional_in_type_1_but_required_in_type_2:t(2327,e.DiagnosticCategory.Error,\"Property_0_is_optional_in_type_1_but_required_in_type_2_2327\",\"Property '{0}' is optional in type '{1}' but required in type '{2}'.\"),Types_of_parameters_0_and_1_are_incompatible:t(2328,e.DiagnosticCategory.Error,\"Types_of_parameters_0_and_1_are_incompatible_2328\",\"Types of parameters '{0}' and '{1}' are incompatible.\"),Index_signature_is_missing_in_type_0:t(2329,e.DiagnosticCategory.Error,\"Index_signature_is_missing_in_type_0_2329\",\"Index signature is missing in type '{0}'.\"),Index_signatures_are_incompatible:t(2330,e.DiagnosticCategory.Error,\"Index_signatures_are_incompatible_2330\",\"Index signatures are incompatible.\"),this_cannot_be_referenced_in_a_module_or_namespace_body:t(2331,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_a_module_or_namespace_body_2331\",\"'this' cannot be referenced in a module or namespace body.\"),this_cannot_be_referenced_in_current_location:t(2332,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_current_location_2332\",\"'this' cannot be referenced in current location.\"),this_cannot_be_referenced_in_constructor_arguments:t(2333,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_constructor_arguments_2333\",\"'this' cannot be referenced in constructor arguments.\"),this_cannot_be_referenced_in_a_static_property_initializer:t(2334,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_a_static_property_initializer_2334\",\"'this' cannot be referenced in a static property initializer.\"),super_can_only_be_referenced_in_a_derived_class:t(2335,e.DiagnosticCategory.Error,\"super_can_only_be_referenced_in_a_derived_class_2335\",\"'super' can only be referenced in a derived class.\"),super_cannot_be_referenced_in_constructor_arguments:t(2336,e.DiagnosticCategory.Error,\"super_cannot_be_referenced_in_constructor_arguments_2336\",\"'super' cannot be referenced in constructor arguments.\"),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:t(2337,e.DiagnosticCategory.Error,\"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337\",\"Super calls are not permitted outside constructors or in nested functions inside constructors.\"),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:t(2338,e.DiagnosticCategory.Error,\"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338\",\"'super' property access is permitted only in a constructor, member function, or member accessor of a derived class.\"),Property_0_does_not_exist_on_type_1:t(2339,e.DiagnosticCategory.Error,\"Property_0_does_not_exist_on_type_1_2339\",\"Property '{0}' does not exist on type '{1}'.\"),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:t(2340,e.DiagnosticCategory.Error,\"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340\",\"Only public and protected methods of the base class are accessible via the 'super' keyword.\"),Property_0_is_private_and_only_accessible_within_class_1:t(2341,e.DiagnosticCategory.Error,\"Property_0_is_private_and_only_accessible_within_class_1_2341\",\"Property '{0}' is private and only accessible within class '{1}'.\"),An_index_expression_argument_must_be_of_type_string_number_symbol_or_any:t(2342,e.DiagnosticCategory.Error,\"An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342\",\"An index expression argument must be of type 'string', 'number', 'symbol', or 'any'.\"),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:t(2343,e.DiagnosticCategory.Error,\"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343\",\"This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'.\"),Type_0_does_not_satisfy_the_constraint_1:t(2344,e.DiagnosticCategory.Error,\"Type_0_does_not_satisfy_the_constraint_1_2344\",\"Type '{0}' does not satisfy the constraint '{1}'.\"),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:t(2345,e.DiagnosticCategory.Error,\"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345\",\"Argument of type '{0}' is not assignable to parameter of type '{1}'.\"),Call_target_does_not_contain_any_signatures:t(2346,e.DiagnosticCategory.Error,\"Call_target_does_not_contain_any_signatures_2346\",\"Call target does not contain any signatures.\"),Untyped_function_calls_may_not_accept_type_arguments:t(2347,e.DiagnosticCategory.Error,\"Untyped_function_calls_may_not_accept_type_arguments_2347\",\"Untyped function calls may not accept type arguments.\"),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:t(2348,e.DiagnosticCategory.Error,\"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348\",\"Value of type '{0}' is not callable. Did you mean to include 'new'?\"),This_expression_is_not_callable:t(2349,e.DiagnosticCategory.Error,\"This_expression_is_not_callable_2349\",\"This expression is not callable.\"),Only_a_void_function_can_be_called_with_the_new_keyword:t(2350,e.DiagnosticCategory.Error,\"Only_a_void_function_can_be_called_with_the_new_keyword_2350\",\"Only a void function can be called with the 'new' keyword.\"),This_expression_is_not_constructable:t(2351,e.DiagnosticCategory.Error,\"This_expression_is_not_constructable_2351\",\"This expression is not constructable.\"),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:t(2352,e.DiagnosticCategory.Error,\"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352\",\"Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.\"),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:t(2353,e.DiagnosticCategory.Error,\"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353\",\"Object literal may only specify known properties, and '{0}' does not exist in type '{1}'.\"),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:t(2354,e.DiagnosticCategory.Error,\"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354\",\"This syntax requires an imported helper but module '{0}' cannot be found.\"),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:t(2355,e.DiagnosticCategory.Error,\"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355\",\"A function whose declared type is neither 'void' nor 'any' must return a value.\"),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:t(2356,e.DiagnosticCategory.Error,\"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356\",\"An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type.\"),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:t(2357,e.DiagnosticCategory.Error,\"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357\",\"The operand of an increment or decrement operator must be a variable or a property access.\"),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:t(2358,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358\",\"The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.\"),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:t(2359,e.DiagnosticCategory.Error,\"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359\",\"The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type.\"),The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol:t(2360,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360\",\"The left-hand side of an 'in' expression must be of type 'any', 'string', 'number', or 'symbol'.\"),The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:t(2361,e.DiagnosticCategory.Error,\"The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter_2361\",\"The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter.\"),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:t(2362,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362\",\"The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.\"),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:t(2363,e.DiagnosticCategory.Error,\"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363\",\"The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.\"),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:t(2364,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364\",\"The left-hand side of an assignment expression must be a variable or a property access.\"),Operator_0_cannot_be_applied_to_types_1_and_2:t(2365,e.DiagnosticCategory.Error,\"Operator_0_cannot_be_applied_to_types_1_and_2_2365\",\"Operator '{0}' cannot be applied to types '{1}' and '{2}'.\"),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:t(2366,e.DiagnosticCategory.Error,\"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366\",\"Function lacks ending return statement and return type does not include 'undefined'.\"),This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap:t(2367,e.DiagnosticCategory.Error,\"This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap_2367\",\"This condition will always return '{0}' since the types '{1}' and '{2}' have no overlap.\"),Type_parameter_name_cannot_be_0:t(2368,e.DiagnosticCategory.Error,\"Type_parameter_name_cannot_be_0_2368\",\"Type parameter name cannot be '{0}'.\"),A_parameter_property_is_only_allowed_in_a_constructor_implementation:t(2369,e.DiagnosticCategory.Error,\"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369\",\"A parameter property is only allowed in a constructor implementation.\"),A_rest_parameter_must_be_of_an_array_type:t(2370,e.DiagnosticCategory.Error,\"A_rest_parameter_must_be_of_an_array_type_2370\",\"A rest parameter must be of an array type.\"),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:t(2371,e.DiagnosticCategory.Error,\"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371\",\"A parameter initializer is only allowed in a function or constructor implementation.\"),Parameter_0_cannot_reference_itself:t(2372,e.DiagnosticCategory.Error,\"Parameter_0_cannot_reference_itself_2372\",\"Parameter '{0}' cannot reference itself.\"),Parameter_0_cannot_reference_identifier_1_declared_after_it:t(2373,e.DiagnosticCategory.Error,\"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373\",\"Parameter '{0}' cannot reference identifier '{1}' declared after it.\"),Duplicate_string_index_signature:t(2374,e.DiagnosticCategory.Error,\"Duplicate_string_index_signature_2374\",\"Duplicate string index signature.\"),Duplicate_number_index_signature:t(2375,e.DiagnosticCategory.Error,\"Duplicate_number_index_signature_2375\",\"Duplicate number index signature.\"),A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_parameter_properties_or_private_identifiers:t(2376,e.DiagnosticCategory.Error,\"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376\",\"A 'super' call must be the first statement in the constructor when a class contains initialized properties, parameter properties, or private identifiers.\"),Constructors_for_derived_classes_must_contain_a_super_call:t(2377,e.DiagnosticCategory.Error,\"Constructors_for_derived_classes_must_contain_a_super_call_2377\",\"Constructors for derived classes must contain a 'super' call.\"),A_get_accessor_must_return_a_value:t(2378,e.DiagnosticCategory.Error,\"A_get_accessor_must_return_a_value_2378\",\"A 'get' accessor must return a value.\"),Getter_and_setter_accessors_do_not_agree_in_visibility:t(2379,e.DiagnosticCategory.Error,\"Getter_and_setter_accessors_do_not_agree_in_visibility_2379\",\"Getter and setter accessors do not agree in visibility.\"),get_and_set_accessor_must_have_the_same_type:t(2380,e.DiagnosticCategory.Error,\"get_and_set_accessor_must_have_the_same_type_2380\",\"'get' and 'set' accessor must have the same type.\"),A_signature_with_an_implementation_cannot_use_a_string_literal_type:t(2381,e.DiagnosticCategory.Error,\"A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381\",\"A signature with an implementation cannot use a string literal type.\"),Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature:t(2382,e.DiagnosticCategory.Error,\"Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382\",\"Specialized overload signature is not assignable to any non-specialized signature.\"),Overload_signatures_must_all_be_exported_or_non_exported:t(2383,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_exported_or_non_exported_2383\",\"Overload signatures must all be exported or non-exported.\"),Overload_signatures_must_all_be_ambient_or_non_ambient:t(2384,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_ambient_or_non_ambient_2384\",\"Overload signatures must all be ambient or non-ambient.\"),Overload_signatures_must_all_be_public_private_or_protected:t(2385,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_public_private_or_protected_2385\",\"Overload signatures must all be public, private or protected.\"),Overload_signatures_must_all_be_optional_or_required:t(2386,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_optional_or_required_2386\",\"Overload signatures must all be optional or required.\"),Function_overload_must_be_static:t(2387,e.DiagnosticCategory.Error,\"Function_overload_must_be_static_2387\",\"Function overload must be static.\"),Function_overload_must_not_be_static:t(2388,e.DiagnosticCategory.Error,\"Function_overload_must_not_be_static_2388\",\"Function overload must not be static.\"),Function_implementation_name_must_be_0:t(2389,e.DiagnosticCategory.Error,\"Function_implementation_name_must_be_0_2389\",\"Function implementation name must be '{0}'.\"),Constructor_implementation_is_missing:t(2390,e.DiagnosticCategory.Error,\"Constructor_implementation_is_missing_2390\",\"Constructor implementation is missing.\"),Function_implementation_is_missing_or_not_immediately_following_the_declaration:t(2391,e.DiagnosticCategory.Error,\"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391\",\"Function implementation is missing or not immediately following the declaration.\"),Multiple_constructor_implementations_are_not_allowed:t(2392,e.DiagnosticCategory.Error,\"Multiple_constructor_implementations_are_not_allowed_2392\",\"Multiple constructor implementations are not allowed.\"),Duplicate_function_implementation:t(2393,e.DiagnosticCategory.Error,\"Duplicate_function_implementation_2393\",\"Duplicate function implementation.\"),This_overload_signature_is_not_compatible_with_its_implementation_signature:t(2394,e.DiagnosticCategory.Error,\"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394\",\"This overload signature is not compatible with its implementation signature.\"),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:t(2395,e.DiagnosticCategory.Error,\"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395\",\"Individual declarations in merged declaration '{0}' must be all exported or all local.\"),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:t(2396,e.DiagnosticCategory.Error,\"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396\",\"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.\"),Declaration_name_conflicts_with_built_in_global_identifier_0:t(2397,e.DiagnosticCategory.Error,\"Declaration_name_conflicts_with_built_in_global_identifier_0_2397\",\"Declaration name conflicts with built-in global identifier '{0}'.\"),constructor_cannot_be_used_as_a_parameter_property_name:t(2398,e.DiagnosticCategory.Error,\"constructor_cannot_be_used_as_a_parameter_property_name_2398\",\"'constructor' cannot be used as a parameter property name.\"),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:t(2399,e.DiagnosticCategory.Error,\"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399\",\"Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference.\"),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:t(2400,e.DiagnosticCategory.Error,\"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400\",\"Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference.\"),Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference:t(2401,e.DiagnosticCategory.Error,\"Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401\",\"Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference.\"),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:t(2402,e.DiagnosticCategory.Error,\"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402\",\"Expression resolves to '_super' that compiler uses to capture base class reference.\"),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:t(2403,e.DiagnosticCategory.Error,\"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403\",\"Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'.\"),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:t(2404,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404\",\"The left-hand side of a 'for...in' statement cannot use a type annotation.\"),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:t(2405,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405\",\"The left-hand side of a 'for...in' statement must be of type 'string' or 'any'.\"),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:t(2406,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406\",\"The left-hand side of a 'for...in' statement must be a variable or a property access.\"),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:t(2407,e.DiagnosticCategory.Error,\"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407\",\"The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'.\"),Setters_cannot_return_a_value:t(2408,e.DiagnosticCategory.Error,\"Setters_cannot_return_a_value_2408\",\"Setters cannot return a value.\"),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:t(2409,e.DiagnosticCategory.Error,\"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409\",\"Return type of constructor signature must be assignable to the instance type of the class.\"),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:t(2410,e.DiagnosticCategory.Error,\"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410\",\"The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'.\"),Property_0_of_type_1_is_not_assignable_to_string_index_type_2:t(2411,e.DiagnosticCategory.Error,\"Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411\",\"Property '{0}' of type '{1}' is not assignable to string index type '{2}'.\"),Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2:t(2412,e.DiagnosticCategory.Error,\"Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412\",\"Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'.\"),Numeric_index_type_0_is_not_assignable_to_string_index_type_1:t(2413,e.DiagnosticCategory.Error,\"Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413\",\"Numeric index type '{0}' is not assignable to string index type '{1}'.\"),Class_name_cannot_be_0:t(2414,e.DiagnosticCategory.Error,\"Class_name_cannot_be_0_2414\",\"Class name cannot be '{0}'.\"),Class_0_incorrectly_extends_base_class_1:t(2415,e.DiagnosticCategory.Error,\"Class_0_incorrectly_extends_base_class_1_2415\",\"Class '{0}' incorrectly extends base class '{1}'.\"),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:t(2416,e.DiagnosticCategory.Error,\"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416\",\"Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'.\"),Class_static_side_0_incorrectly_extends_base_class_static_side_1:t(2417,e.DiagnosticCategory.Error,\"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417\",\"Class static side '{0}' incorrectly extends base class static side '{1}'.\"),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:t(2418,e.DiagnosticCategory.Error,\"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418\",\"Type of computed property's value is '{0}', which is not assignable to type '{1}'.\"),Types_of_construct_signatures_are_incompatible:t(2419,e.DiagnosticCategory.Error,\"Types_of_construct_signatures_are_incompatible_2419\",\"Types of construct signatures are incompatible.\"),Class_0_incorrectly_implements_interface_1:t(2420,e.DiagnosticCategory.Error,\"Class_0_incorrectly_implements_interface_1_2420\",\"Class '{0}' incorrectly implements interface '{1}'.\"),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2422,e.DiagnosticCategory.Error,\"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422\",\"A class can only implement an object type or intersection of object types with statically known members.\"),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:t(2423,e.DiagnosticCategory.Error,\"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423\",\"Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor.\"),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:t(2425,e.DiagnosticCategory.Error,\"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425\",\"Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function.\"),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:t(2426,e.DiagnosticCategory.Error,\"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426\",\"Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function.\"),Interface_name_cannot_be_0:t(2427,e.DiagnosticCategory.Error,\"Interface_name_cannot_be_0_2427\",\"Interface name cannot be '{0}'.\"),All_declarations_of_0_must_have_identical_type_parameters:t(2428,e.DiagnosticCategory.Error,\"All_declarations_of_0_must_have_identical_type_parameters_2428\",\"All declarations of '{0}' must have identical type parameters.\"),Interface_0_incorrectly_extends_interface_1:t(2430,e.DiagnosticCategory.Error,\"Interface_0_incorrectly_extends_interface_1_2430\",\"Interface '{0}' incorrectly extends interface '{1}'.\"),Enum_name_cannot_be_0:t(2431,e.DiagnosticCategory.Error,\"Enum_name_cannot_be_0_2431\",\"Enum name cannot be '{0}'.\"),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:t(2432,e.DiagnosticCategory.Error,\"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432\",\"In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element.\"),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:t(2433,e.DiagnosticCategory.Error,\"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433\",\"A namespace declaration cannot be in a different file from a class or function with which it is merged.\"),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:t(2434,e.DiagnosticCategory.Error,\"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434\",\"A namespace declaration cannot be located prior to a class or function with which it is merged.\"),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:t(2435,e.DiagnosticCategory.Error,\"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435\",\"Ambient modules cannot be nested in other modules or namespaces.\"),Ambient_module_declaration_cannot_specify_relative_module_name:t(2436,e.DiagnosticCategory.Error,\"Ambient_module_declaration_cannot_specify_relative_module_name_2436\",\"Ambient module declaration cannot specify relative module name.\"),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:t(2437,e.DiagnosticCategory.Error,\"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437\",\"Module '{0}' is hidden by a local declaration with the same name.\"),Import_name_cannot_be_0:t(2438,e.DiagnosticCategory.Error,\"Import_name_cannot_be_0_2438\",\"Import name cannot be '{0}'.\"),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:t(2439,e.DiagnosticCategory.Error,\"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439\",\"Import or export declaration in an ambient module declaration cannot reference module through relative module name.\"),Import_declaration_conflicts_with_local_declaration_of_0:t(2440,e.DiagnosticCategory.Error,\"Import_declaration_conflicts_with_local_declaration_of_0_2440\",\"Import declaration conflicts with local declaration of '{0}'.\"),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:t(2441,e.DiagnosticCategory.Error,\"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441\",\"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module.\"),Types_have_separate_declarations_of_a_private_property_0:t(2442,e.DiagnosticCategory.Error,\"Types_have_separate_declarations_of_a_private_property_0_2442\",\"Types have separate declarations of a private property '{0}'.\"),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:t(2443,e.DiagnosticCategory.Error,\"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443\",\"Property '{0}' is protected but type '{1}' is not a class derived from '{2}'.\"),Property_0_is_protected_in_type_1_but_public_in_type_2:t(2444,e.DiagnosticCategory.Error,\"Property_0_is_protected_in_type_1_but_public_in_type_2_2444\",\"Property '{0}' is protected in type '{1}' but public in type '{2}'.\"),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:t(2445,e.DiagnosticCategory.Error,\"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445\",\"Property '{0}' is protected and only accessible within class '{1}' and its subclasses.\"),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1:t(2446,e.DiagnosticCategory.Error,\"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_2446\",\"Property '{0}' is protected and only accessible through an instance of class '{1}'.\"),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:t(2447,e.DiagnosticCategory.Error,\"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447\",\"The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead.\"),Block_scoped_variable_0_used_before_its_declaration:t(2448,e.DiagnosticCategory.Error,\"Block_scoped_variable_0_used_before_its_declaration_2448\",\"Block-scoped variable '{0}' used before its declaration.\"),Class_0_used_before_its_declaration:t(2449,e.DiagnosticCategory.Error,\"Class_0_used_before_its_declaration_2449\",\"Class '{0}' used before its declaration.\"),Enum_0_used_before_its_declaration:t(2450,e.DiagnosticCategory.Error,\"Enum_0_used_before_its_declaration_2450\",\"Enum '{0}' used before its declaration.\"),Cannot_redeclare_block_scoped_variable_0:t(2451,e.DiagnosticCategory.Error,\"Cannot_redeclare_block_scoped_variable_0_2451\",\"Cannot redeclare block-scoped variable '{0}'.\"),An_enum_member_cannot_have_a_numeric_name:t(2452,e.DiagnosticCategory.Error,\"An_enum_member_cannot_have_a_numeric_name_2452\",\"An enum member cannot have a numeric name.\"),The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly:t(2453,e.DiagnosticCategory.Error,\"The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453\",\"The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly.\"),Variable_0_is_used_before_being_assigned:t(2454,e.DiagnosticCategory.Error,\"Variable_0_is_used_before_being_assigned_2454\",\"Variable '{0}' is used before being assigned.\"),Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0:t(2455,e.DiagnosticCategory.Error,\"Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455\",\"Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'.\"),Type_alias_0_circularly_references_itself:t(2456,e.DiagnosticCategory.Error,\"Type_alias_0_circularly_references_itself_2456\",\"Type alias '{0}' circularly references itself.\"),Type_alias_name_cannot_be_0:t(2457,e.DiagnosticCategory.Error,\"Type_alias_name_cannot_be_0_2457\",\"Type alias name cannot be '{0}'.\"),An_AMD_module_cannot_have_multiple_name_assignments:t(2458,e.DiagnosticCategory.Error,\"An_AMD_module_cannot_have_multiple_name_assignments_2458\",\"An AMD module cannot have multiple name assignments.\"),Module_0_declares_1_locally_but_it_is_not_exported:t(2459,e.DiagnosticCategory.Error,\"Module_0_declares_1_locally_but_it_is_not_exported_2459\",\"Module '{0}' declares '{1}' locally, but it is not exported.\"),Module_0_declares_1_locally_but_it_is_exported_as_2:t(2460,e.DiagnosticCategory.Error,\"Module_0_declares_1_locally_but_it_is_exported_as_2_2460\",\"Module '{0}' declares '{1}' locally, but it is exported as '{2}'.\"),Type_0_is_not_an_array_type:t(2461,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_2461\",\"Type '{0}' is not an array type.\"),A_rest_element_must_be_last_in_a_destructuring_pattern:t(2462,e.DiagnosticCategory.Error,\"A_rest_element_must_be_last_in_a_destructuring_pattern_2462\",\"A rest element must be last in a destructuring pattern.\"),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:t(2463,e.DiagnosticCategory.Error,\"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463\",\"A binding pattern parameter cannot be optional in an implementation signature.\"),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:t(2464,e.DiagnosticCategory.Error,\"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464\",\"A computed property name must be of type 'string', 'number', 'symbol', or 'any'.\"),this_cannot_be_referenced_in_a_computed_property_name:t(2465,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_a_computed_property_name_2465\",\"'this' cannot be referenced in a computed property name.\"),super_cannot_be_referenced_in_a_computed_property_name:t(2466,e.DiagnosticCategory.Error,\"super_cannot_be_referenced_in_a_computed_property_name_2466\",\"'super' cannot be referenced in a computed property name.\"),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:t(2467,e.DiagnosticCategory.Error,\"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467\",\"A computed property name cannot reference a type parameter from its containing type.\"),Cannot_find_global_value_0:t(2468,e.DiagnosticCategory.Error,\"Cannot_find_global_value_0_2468\",\"Cannot find global value '{0}'.\"),The_0_operator_cannot_be_applied_to_type_symbol:t(2469,e.DiagnosticCategory.Error,\"The_0_operator_cannot_be_applied_to_type_symbol_2469\",\"The '{0}' operator cannot be applied to type 'symbol'.\"),Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object:t(2470,e.DiagnosticCategory.Error,\"Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470\",\"'Symbol' reference does not refer to the global Symbol constructor object.\"),A_computed_property_name_of_the_form_0_must_be_of_type_symbol:t(2471,e.DiagnosticCategory.Error,\"A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471\",\"A computed property name of the form '{0}' must be of type 'symbol'.\"),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:t(2472,e.DiagnosticCategory.Error,\"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472\",\"Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher.\"),Enum_declarations_must_all_be_const_or_non_const:t(2473,e.DiagnosticCategory.Error,\"Enum_declarations_must_all_be_const_or_non_const_2473\",\"Enum declarations must all be const or non-const.\"),const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values:t(2474,e.DiagnosticCategory.Error,\"const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values_2474\",\"const enum member initializers can only contain literal values and other computed enum values.\"),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:t(2475,e.DiagnosticCategory.Error,\"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475\",\"'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query.\"),A_const_enum_member_can_only_be_accessed_using_a_string_literal:t(2476,e.DiagnosticCategory.Error,\"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476\",\"A const enum member can only be accessed using a string literal.\"),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:t(2477,e.DiagnosticCategory.Error,\"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477\",\"'const' enum member initializer was evaluated to a non-finite value.\"),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:t(2478,e.DiagnosticCategory.Error,\"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478\",\"'const' enum member initializer was evaluated to disallowed value 'NaN'.\"),Property_0_does_not_exist_on_const_enum_1:t(2479,e.DiagnosticCategory.Error,\"Property_0_does_not_exist_on_const_enum_1_2479\",\"Property '{0}' does not exist on 'const' enum '{1}'.\"),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:t(2480,e.DiagnosticCategory.Error,\"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480\",\"'let' is not allowed to be used as a name in 'let' or 'const' declarations.\"),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:t(2481,e.DiagnosticCategory.Error,\"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481\",\"Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'.\"),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:t(2483,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483\",\"The left-hand side of a 'for...of' statement cannot use a type annotation.\"),Export_declaration_conflicts_with_exported_declaration_of_0:t(2484,e.DiagnosticCategory.Error,\"Export_declaration_conflicts_with_exported_declaration_of_0_2484\",\"Export declaration conflicts with exported declaration of '{0}'.\"),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:t(2487,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487\",\"The left-hand side of a 'for...of' statement must be a variable or a property access.\"),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2488,e.DiagnosticCategory.Error,\"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488\",\"Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator.\"),An_iterator_must_have_a_next_method:t(2489,e.DiagnosticCategory.Error,\"An_iterator_must_have_a_next_method_2489\",\"An iterator must have a 'next()' method.\"),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:t(2490,e.DiagnosticCategory.Error,\"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490\",\"The type returned by the '{0}()' method of an iterator must have a 'value' property.\"),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:t(2491,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491\",\"The left-hand side of a 'for...in' statement cannot be a destructuring pattern.\"),Cannot_redeclare_identifier_0_in_catch_clause:t(2492,e.DiagnosticCategory.Error,\"Cannot_redeclare_identifier_0_in_catch_clause_2492\",\"Cannot redeclare identifier '{0}' in catch clause.\"),Tuple_type_0_of_length_1_has_no_element_at_index_2:t(2493,e.DiagnosticCategory.Error,\"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493\",\"Tuple type '{0}' of length '{1}' has no element at index '{2}'.\"),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:t(2494,e.DiagnosticCategory.Error,\"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494\",\"Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher.\"),Type_0_is_not_an_array_type_or_a_string_type:t(2495,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_or_a_string_type_2495\",\"Type '{0}' is not an array type or a string type.\"),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:t(2496,e.DiagnosticCategory.Error,\"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496\",\"The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression.\"),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:t(2497,e.DiagnosticCategory.Error,\"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497\",\"This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export.\"),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:t(2498,e.DiagnosticCategory.Error,\"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498\",\"Module '{0}' uses 'export =' and cannot be used with 'export *'.\"),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:t(2499,e.DiagnosticCategory.Error,\"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499\",\"An interface can only extend an identifier/qualified-name with optional type arguments.\"),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:t(2500,e.DiagnosticCategory.Error,\"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500\",\"A class can only implement an identifier/qualified-name with optional type arguments.\"),A_rest_element_cannot_contain_a_binding_pattern:t(2501,e.DiagnosticCategory.Error,\"A_rest_element_cannot_contain_a_binding_pattern_2501\",\"A rest element cannot contain a binding pattern.\"),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:t(2502,e.DiagnosticCategory.Error,\"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502\",\"'{0}' is referenced directly or indirectly in its own type annotation.\"),Cannot_find_namespace_0:t(2503,e.DiagnosticCategory.Error,\"Cannot_find_namespace_0_2503\",\"Cannot find namespace '{0}'.\"),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:t(2504,e.DiagnosticCategory.Error,\"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504\",\"Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator.\"),A_generator_cannot_have_a_void_type_annotation:t(2505,e.DiagnosticCategory.Error,\"A_generator_cannot_have_a_void_type_annotation_2505\",\"A generator cannot have a 'void' type annotation.\"),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:t(2506,e.DiagnosticCategory.Error,\"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506\",\"'{0}' is referenced directly or indirectly in its own base expression.\"),Type_0_is_not_a_constructor_function_type:t(2507,e.DiagnosticCategory.Error,\"Type_0_is_not_a_constructor_function_type_2507\",\"Type '{0}' is not a constructor function type.\"),No_base_constructor_has_the_specified_number_of_type_arguments:t(2508,e.DiagnosticCategory.Error,\"No_base_constructor_has_the_specified_number_of_type_arguments_2508\",\"No base constructor has the specified number of type arguments.\"),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2509,e.DiagnosticCategory.Error,\"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509\",\"Base constructor return type '{0}' is not an object type or intersection of object types with statically known members.\"),Base_constructors_must_all_have_the_same_return_type:t(2510,e.DiagnosticCategory.Error,\"Base_constructors_must_all_have_the_same_return_type_2510\",\"Base constructors must all have the same return type.\"),Cannot_create_an_instance_of_an_abstract_class:t(2511,e.DiagnosticCategory.Error,\"Cannot_create_an_instance_of_an_abstract_class_2511\",\"Cannot create an instance of an abstract class.\"),Overload_signatures_must_all_be_abstract_or_non_abstract:t(2512,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_abstract_or_non_abstract_2512\",\"Overload signatures must all be abstract or non-abstract.\"),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:t(2513,e.DiagnosticCategory.Error,\"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513\",\"Abstract method '{0}' in class '{1}' cannot be accessed via super expression.\"),Classes_containing_abstract_methods_must_be_marked_abstract:t(2514,e.DiagnosticCategory.Error,\"Classes_containing_abstract_methods_must_be_marked_abstract_2514\",\"Classes containing abstract methods must be marked abstract.\"),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:t(2515,e.DiagnosticCategory.Error,\"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515\",\"Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'.\"),All_declarations_of_an_abstract_method_must_be_consecutive:t(2516,e.DiagnosticCategory.Error,\"All_declarations_of_an_abstract_method_must_be_consecutive_2516\",\"All declarations of an abstract method must be consecutive.\"),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:t(2517,e.DiagnosticCategory.Error,\"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517\",\"Cannot assign an abstract constructor type to a non-abstract constructor type.\"),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:t(2518,e.DiagnosticCategory.Error,\"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518\",\"A 'this'-based type guard is not compatible with a parameter-based type guard.\"),An_async_iterator_must_have_a_next_method:t(2519,e.DiagnosticCategory.Error,\"An_async_iterator_must_have_a_next_method_2519\",\"An async iterator must have a 'next()' method.\"),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:t(2520,e.DiagnosticCategory.Error,\"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520\",\"Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions.\"),Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions:t(2521,e.DiagnosticCategory.Error,\"Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521\",\"Expression resolves to variable declaration '{0}' that compiler uses to support async functions.\"),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:t(2522,e.DiagnosticCategory.Error,\"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522\",\"The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method.\"),yield_expressions_cannot_be_used_in_a_parameter_initializer:t(2523,e.DiagnosticCategory.Error,\"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523\",\"'yield' expressions cannot be used in a parameter initializer.\"),await_expressions_cannot_be_used_in_a_parameter_initializer:t(2524,e.DiagnosticCategory.Error,\"await_expressions_cannot_be_used_in_a_parameter_initializer_2524\",\"'await' expressions cannot be used in a parameter initializer.\"),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:t(2525,e.DiagnosticCategory.Error,\"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525\",\"Initializer provides no value for this binding element and the binding element has no default value.\"),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:t(2526,e.DiagnosticCategory.Error,\"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526\",\"A 'this' type is available only in a non-static member of a class or interface.\"),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:t(2527,e.DiagnosticCategory.Error,\"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527\",\"The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary.\"),A_module_cannot_have_multiple_default_exports:t(2528,e.DiagnosticCategory.Error,\"A_module_cannot_have_multiple_default_exports_2528\",\"A module cannot have multiple default exports.\"),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:t(2529,e.DiagnosticCategory.Error,\"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529\",\"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions.\"),Property_0_is_incompatible_with_index_signature:t(2530,e.DiagnosticCategory.Error,\"Property_0_is_incompatible_with_index_signature_2530\",\"Property '{0}' is incompatible with index signature.\"),Object_is_possibly_null:t(2531,e.DiagnosticCategory.Error,\"Object_is_possibly_null_2531\",\"Object is possibly 'null'.\"),Object_is_possibly_undefined:t(2532,e.DiagnosticCategory.Error,\"Object_is_possibly_undefined_2532\",\"Object is possibly 'undefined'.\"),Object_is_possibly_null_or_undefined:t(2533,e.DiagnosticCategory.Error,\"Object_is_possibly_null_or_undefined_2533\",\"Object is possibly 'null' or 'undefined'.\"),A_function_returning_never_cannot_have_a_reachable_end_point:t(2534,e.DiagnosticCategory.Error,\"A_function_returning_never_cannot_have_a_reachable_end_point_2534\",\"A function returning 'never' cannot have a reachable end point.\"),Enum_type_0_has_members_with_initializers_that_are_not_literals:t(2535,e.DiagnosticCategory.Error,\"Enum_type_0_has_members_with_initializers_that_are_not_literals_2535\",\"Enum type '{0}' has members with initializers that are not literals.\"),Type_0_cannot_be_used_to_index_type_1:t(2536,e.DiagnosticCategory.Error,\"Type_0_cannot_be_used_to_index_type_1_2536\",\"Type '{0}' cannot be used to index type '{1}'.\"),Type_0_has_no_matching_index_signature_for_type_1:t(2537,e.DiagnosticCategory.Error,\"Type_0_has_no_matching_index_signature_for_type_1_2537\",\"Type '{0}' has no matching index signature for type '{1}'.\"),Type_0_cannot_be_used_as_an_index_type:t(2538,e.DiagnosticCategory.Error,\"Type_0_cannot_be_used_as_an_index_type_2538\",\"Type '{0}' cannot be used as an index type.\"),Cannot_assign_to_0_because_it_is_not_a_variable:t(2539,e.DiagnosticCategory.Error,\"Cannot_assign_to_0_because_it_is_not_a_variable_2539\",\"Cannot assign to '{0}' because it is not a variable.\"),Cannot_assign_to_0_because_it_is_a_read_only_property:t(2540,e.DiagnosticCategory.Error,\"Cannot_assign_to_0_because_it_is_a_read_only_property_2540\",\"Cannot assign to '{0}' because it is a read-only property.\"),The_target_of_an_assignment_must_be_a_variable_or_a_property_access:t(2541,e.DiagnosticCategory.Error,\"The_target_of_an_assignment_must_be_a_variable_or_a_property_access_2541\",\"The target of an assignment must be a variable or a property access.\"),Index_signature_in_type_0_only_permits_reading:t(2542,e.DiagnosticCategory.Error,\"Index_signature_in_type_0_only_permits_reading_2542\",\"Index signature in type '{0}' only permits reading.\"),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:t(2543,e.DiagnosticCategory.Error,\"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543\",\"Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference.\"),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:t(2544,e.DiagnosticCategory.Error,\"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544\",\"Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference.\"),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:t(2545,e.DiagnosticCategory.Error,\"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545\",\"A mixin class must have a constructor with a single rest parameter of type 'any[]'.\"),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:t(2547,e.DiagnosticCategory.Error,\"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547\",\"The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property.\"),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2548,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548\",\"Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator.\"),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2549,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549\",\"Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator.\"),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:t(2550,e.DiagnosticCategory.Error,\"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550\",\"Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the `lib` compiler option to '{2}' or later.\"),Property_0_does_not_exist_on_type_1_Did_you_mean_2:t(2551,e.DiagnosticCategory.Error,\"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551\",\"Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?\"),Cannot_find_name_0_Did_you_mean_1:t(2552,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Did_you_mean_1_2552\",\"Cannot find name '{0}'. Did you mean '{1}'?\"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:t(2553,e.DiagnosticCategory.Error,\"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553\",\"Computed values are not permitted in an enum with string valued members.\"),Expected_0_arguments_but_got_1:t(2554,e.DiagnosticCategory.Error,\"Expected_0_arguments_but_got_1_2554\",\"Expected {0} arguments, but got {1}.\"),Expected_at_least_0_arguments_but_got_1:t(2555,e.DiagnosticCategory.Error,\"Expected_at_least_0_arguments_but_got_1_2555\",\"Expected at least {0} arguments, but got {1}.\"),Expected_0_arguments_but_got_1_or_more:t(2556,e.DiagnosticCategory.Error,\"Expected_0_arguments_but_got_1_or_more_2556\",\"Expected {0} arguments, but got {1} or more.\"),Expected_at_least_0_arguments_but_got_1_or_more:t(2557,e.DiagnosticCategory.Error,\"Expected_at_least_0_arguments_but_got_1_or_more_2557\",\"Expected at least {0} arguments, but got {1} or more.\"),Expected_0_type_arguments_but_got_1:t(2558,e.DiagnosticCategory.Error,\"Expected_0_type_arguments_but_got_1_2558\",\"Expected {0} type arguments, but got {1}.\"),Type_0_has_no_properties_in_common_with_type_1:t(2559,e.DiagnosticCategory.Error,\"Type_0_has_no_properties_in_common_with_type_1_2559\",\"Type '{0}' has no properties in common with type '{1}'.\"),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:t(2560,e.DiagnosticCategory.Error,\"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560\",\"Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?\"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:t(2561,e.DiagnosticCategory.Error,\"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561\",\"Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?\"),Base_class_expressions_cannot_reference_class_type_parameters:t(2562,e.DiagnosticCategory.Error,\"Base_class_expressions_cannot_reference_class_type_parameters_2562\",\"Base class expressions cannot reference class type parameters.\"),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:t(2563,e.DiagnosticCategory.Error,\"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563\",\"The containing function or module body is too large for control flow analysis.\"),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:t(2564,e.DiagnosticCategory.Error,\"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564\",\"Property '{0}' has no initializer and is not definitely assigned in the constructor.\"),Property_0_is_used_before_being_assigned:t(2565,e.DiagnosticCategory.Error,\"Property_0_is_used_before_being_assigned_2565\",\"Property '{0}' is used before being assigned.\"),A_rest_element_cannot_have_a_property_name:t(2566,e.DiagnosticCategory.Error,\"A_rest_element_cannot_have_a_property_name_2566\",\"A rest element cannot have a property name.\"),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:t(2567,e.DiagnosticCategory.Error,\"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567\",\"Enum declarations can only merge with namespace or other enum declarations.\"),Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:t(2569,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569\",\"Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators.\"),Object_is_of_type_unknown:t(2571,e.DiagnosticCategory.Error,\"Object_is_of_type_unknown_2571\",\"Object is of type 'unknown'.\"),Rest_signatures_are_incompatible:t(2572,e.DiagnosticCategory.Error,\"Rest_signatures_are_incompatible_2572\",\"Rest signatures are incompatible.\"),Property_0_is_incompatible_with_rest_element_type:t(2573,e.DiagnosticCategory.Error,\"Property_0_is_incompatible_with_rest_element_type_2573\",\"Property '{0}' is incompatible with rest element type.\"),A_rest_element_type_must_be_an_array_type:t(2574,e.DiagnosticCategory.Error,\"A_rest_element_type_must_be_an_array_type_2574\",\"A rest element type must be an array type.\"),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:t(2575,e.DiagnosticCategory.Error,\"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575\",\"No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments.\"),Property_0_is_a_static_member_of_type_1:t(2576,e.DiagnosticCategory.Error,\"Property_0_is_a_static_member_of_type_1_2576\",\"Property '{0}' is a static member of type '{1}'.\"),Return_type_annotation_circularly_references_itself:t(2577,e.DiagnosticCategory.Error,\"Return_type_annotation_circularly_references_itself_2577\",\"Return type annotation circularly references itself.\"),Unused_ts_expect_error_directive:t(2578,e.DiagnosticCategory.Error,\"Unused_ts_expect_error_directive_2578\",\"Unused '@ts-expect-error' directive.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:t(2580,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580\",\"Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:t(2581,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581\",\"Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:t(2582,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582\",\"Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.\"),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:t(2583,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583\",\"Cannot find name '{0}'. Do you need to change your target library? Try changing the `lib` compiler option to '{1}' or later.\"),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:t(2584,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584\",\"Cannot find name '{0}'. Do you need to change your target library? Try changing the `lib` compiler option to include 'dom'.\"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:t(2585,e.DiagnosticCategory.Error,\"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585\",\"'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later.\"),Enum_type_0_circularly_references_itself:t(2586,e.DiagnosticCategory.Error,\"Enum_type_0_circularly_references_itself_2586\",\"Enum type '{0}' circularly references itself.\"),JSDoc_type_0_circularly_references_itself:t(2587,e.DiagnosticCategory.Error,\"JSDoc_type_0_circularly_references_itself_2587\",\"JSDoc type '{0}' circularly references itself.\"),Cannot_assign_to_0_because_it_is_a_constant:t(2588,e.DiagnosticCategory.Error,\"Cannot_assign_to_0_because_it_is_a_constant_2588\",\"Cannot assign to '{0}' because it is a constant.\"),Type_instantiation_is_excessively_deep_and_possibly_infinite:t(2589,e.DiagnosticCategory.Error,\"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589\",\"Type instantiation is excessively deep and possibly infinite.\"),Expression_produces_a_union_type_that_is_too_complex_to_represent:t(2590,e.DiagnosticCategory.Error,\"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590\",\"Expression produces a union type that is too complex to represent.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:t(2591,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591\",\"Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add `node` to the types field in your tsconfig.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:t(2592,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592\",\"Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add `jquery` to the types field in your tsconfig.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:t(2593,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593\",\"Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add `jest` or `mocha` to the types field in your tsconfig.\"),This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:t(2594,e.DiagnosticCategory.Error,\"This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the__2594\",\"This module is declared with using 'export =', and can only be used with a default import when using the '{0}' flag.\"),_0_can_only_be_imported_by_using_a_default_import:t(2595,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_a_default_import_2595\",\"'{0}' can only be imported by using a default import.\"),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2596,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596\",\"'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import.\"),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:t(2597,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597\",\"'{0}' can only be imported by using a 'require' call or by using a default import.\"),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2598,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598\",\"'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import.\"),JSX_element_attributes_type_0_may_not_be_a_union_type:t(2600,e.DiagnosticCategory.Error,\"JSX_element_attributes_type_0_may_not_be_a_union_type_2600\",\"JSX element attributes type '{0}' may not be a union type.\"),The_return_type_of_a_JSX_element_constructor_must_return_an_object_type:t(2601,e.DiagnosticCategory.Error,\"The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601\",\"The return type of a JSX element constructor must return an object type.\"),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:t(2602,e.DiagnosticCategory.Error,\"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602\",\"JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist.\"),Property_0_in_type_1_is_not_assignable_to_type_2:t(2603,e.DiagnosticCategory.Error,\"Property_0_in_type_1_is_not_assignable_to_type_2_2603\",\"Property '{0}' in type '{1}' is not assignable to type '{2}'.\"),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:t(2604,e.DiagnosticCategory.Error,\"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604\",\"JSX element type '{0}' does not have any construct or call signatures.\"),JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements:t(2605,e.DiagnosticCategory.Error,\"JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605\",\"JSX element type '{0}' is not a constructor function for JSX elements.\"),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:t(2606,e.DiagnosticCategory.Error,\"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606\",\"Property '{0}' of JSX spread attribute is not assignable to target property.\"),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:t(2607,e.DiagnosticCategory.Error,\"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607\",\"JSX element class does not support attributes because it does not have a '{0}' property.\"),The_global_type_JSX_0_may_not_have_more_than_one_property:t(2608,e.DiagnosticCategory.Error,\"The_global_type_JSX_0_may_not_have_more_than_one_property_2608\",\"The global type 'JSX.{0}' may not have more than one property.\"),JSX_spread_child_must_be_an_array_type:t(2609,e.DiagnosticCategory.Error,\"JSX_spread_child_must_be_an_array_type_2609\",\"JSX spread child must be an array type.\"),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:t(2610,e.DiagnosticCategory.Error,\"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610\",\"'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property.\"),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:t(2611,e.DiagnosticCategory.Error,\"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611\",\"'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor.\"),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:t(2612,e.DiagnosticCategory.Error,\"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612\",\"Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration.\"),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:t(2613,e.DiagnosticCategory.Error,\"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613\",\"Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?\"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:t(2614,e.DiagnosticCategory.Error,\"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614\",\"Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?\"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:t(2615,e.DiagnosticCategory.Error,\"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615\",\"Type of property '{0}' circularly references itself in mapped type '{1}'.\"),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:t(2616,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616\",\"'{0}' can only be imported by using 'import {1} = require({2})' or a default import.\"),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2617,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617\",\"'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import.\"),Source_has_0_element_s_but_target_requires_1:t(2618,e.DiagnosticCategory.Error,\"Source_has_0_element_s_but_target_requires_1_2618\",\"Source has {0} element(s) but target requires {1}.\"),Source_has_0_element_s_but_target_allows_only_1:t(2619,e.DiagnosticCategory.Error,\"Source_has_0_element_s_but_target_allows_only_1_2619\",\"Source has {0} element(s) but target allows only {1}.\"),Target_requires_0_element_s_but_source_may_have_fewer:t(2620,e.DiagnosticCategory.Error,\"Target_requires_0_element_s_but_source_may_have_fewer_2620\",\"Target requires {0} element(s) but source may have fewer.\"),Target_allows_only_0_element_s_but_source_may_have_more:t(2621,e.DiagnosticCategory.Error,\"Target_allows_only_0_element_s_but_source_may_have_more_2621\",\"Target allows only {0} element(s) but source may have more.\"),Element_at_index_0_is_variadic_in_one_type_but_not_in_the_other:t(2622,e.DiagnosticCategory.Error,\"Element_at_index_0_is_variadic_in_one_type_but_not_in_the_other_2622\",\"Element at index {0} is variadic in one type but not in the other.\"),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:t(2649,e.DiagnosticCategory.Error,\"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649\",\"Cannot augment module '{0}' with value exports because it resolves to a non-module entity.\"),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:t(2651,e.DiagnosticCategory.Error,\"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651\",\"A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums.\"),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:t(2652,e.DiagnosticCategory.Error,\"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652\",\"Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead.\"),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:t(2653,e.DiagnosticCategory.Error,\"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653\",\"Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'.\"),Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition:t(2654,e.DiagnosticCategory.Error,\"Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654\",\"Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition.\"),Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition:t(2656,e.DiagnosticCategory.Error,\"Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656\",\"Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition.\"),JSX_expressions_must_have_one_parent_element:t(2657,e.DiagnosticCategory.Error,\"JSX_expressions_must_have_one_parent_element_2657\",\"JSX expressions must have one parent element.\"),Type_0_provides_no_match_for_the_signature_1:t(2658,e.DiagnosticCategory.Error,\"Type_0_provides_no_match_for_the_signature_1_2658\",\"Type '{0}' provides no match for the signature '{1}'.\"),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:t(2659,e.DiagnosticCategory.Error,\"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659\",\"'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher.\"),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:t(2660,e.DiagnosticCategory.Error,\"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660\",\"'super' can only be referenced in members of derived classes or object literal expressions.\"),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:t(2661,e.DiagnosticCategory.Error,\"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661\",\"Cannot export '{0}'. Only local declarations can be exported from a module.\"),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:t(2662,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662\",\"Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?\"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:t(2663,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663\",\"Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?\"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:t(2664,e.DiagnosticCategory.Error,\"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664\",\"Invalid module name in augmentation, module '{0}' cannot be found.\"),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:t(2665,e.DiagnosticCategory.Error,\"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665\",\"Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented.\"),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:t(2666,e.DiagnosticCategory.Error,\"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666\",\"Exports and export assignments are not permitted in module augmentations.\"),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:t(2667,e.DiagnosticCategory.Error,\"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667\",\"Imports are not permitted in module augmentations. Consider moving them to the enclosing external module.\"),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:t(2668,e.DiagnosticCategory.Error,\"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668\",\"'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible.\"),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:t(2669,e.DiagnosticCategory.Error,\"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669\",\"Augmentations for the global scope can only be directly nested in external modules or ambient module declarations.\"),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:t(2670,e.DiagnosticCategory.Error,\"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670\",\"Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context.\"),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:t(2671,e.DiagnosticCategory.Error,\"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671\",\"Cannot augment module '{0}' because it resolves to a non-module entity.\"),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:t(2672,e.DiagnosticCategory.Error,\"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672\",\"Cannot assign a '{0}' constructor type to a '{1}' constructor type.\"),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:t(2673,e.DiagnosticCategory.Error,\"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673\",\"Constructor of class '{0}' is private and only accessible within the class declaration.\"),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:t(2674,e.DiagnosticCategory.Error,\"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674\",\"Constructor of class '{0}' is protected and only accessible within the class declaration.\"),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:t(2675,e.DiagnosticCategory.Error,\"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675\",\"Cannot extend a class '{0}'. Class constructor is marked as private.\"),Accessors_must_both_be_abstract_or_non_abstract:t(2676,e.DiagnosticCategory.Error,\"Accessors_must_both_be_abstract_or_non_abstract_2676\",\"Accessors must both be abstract or non-abstract.\"),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:t(2677,e.DiagnosticCategory.Error,\"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677\",\"A type predicate's type must be assignable to its parameter's type.\"),Type_0_is_not_comparable_to_type_1:t(2678,e.DiagnosticCategory.Error,\"Type_0_is_not_comparable_to_type_1_2678\",\"Type '{0}' is not comparable to type '{1}'.\"),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:t(2679,e.DiagnosticCategory.Error,\"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679\",\"A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'.\"),A_0_parameter_must_be_the_first_parameter:t(2680,e.DiagnosticCategory.Error,\"A_0_parameter_must_be_the_first_parameter_2680\",\"A '{0}' parameter must be the first parameter.\"),A_constructor_cannot_have_a_this_parameter:t(2681,e.DiagnosticCategory.Error,\"A_constructor_cannot_have_a_this_parameter_2681\",\"A constructor cannot have a 'this' parameter.\"),get_and_set_accessor_must_have_the_same_this_type:t(2682,e.DiagnosticCategory.Error,\"get_and_set_accessor_must_have_the_same_this_type_2682\",\"'get' and 'set' accessor must have the same 'this' type.\"),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:t(2683,e.DiagnosticCategory.Error,\"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683\",\"'this' implicitly has type 'any' because it does not have a type annotation.\"),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:t(2684,e.DiagnosticCategory.Error,\"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684\",\"The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'.\"),The_this_types_of_each_signature_are_incompatible:t(2685,e.DiagnosticCategory.Error,\"The_this_types_of_each_signature_are_incompatible_2685\",\"The 'this' types of each signature are incompatible.\"),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:t(2686,e.DiagnosticCategory.Error,\"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686\",\"'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead.\"),All_declarations_of_0_must_have_identical_modifiers:t(2687,e.DiagnosticCategory.Error,\"All_declarations_of_0_must_have_identical_modifiers_2687\",\"All declarations of '{0}' must have identical modifiers.\"),Cannot_find_type_definition_file_for_0:t(2688,e.DiagnosticCategory.Error,\"Cannot_find_type_definition_file_for_0_2688\",\"Cannot find type definition file for '{0}'.\"),Cannot_extend_an_interface_0_Did_you_mean_implements:t(2689,e.DiagnosticCategory.Error,\"Cannot_extend_an_interface_0_Did_you_mean_implements_2689\",\"Cannot extend an interface '{0}'. Did you mean 'implements'?\"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:t(2690,e.DiagnosticCategory.Error,\"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690\",\"'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?\"),An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead:t(2691,e.DiagnosticCategory.Error,\"An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691\",\"An import path cannot end with a '{0}' extension. Consider importing '{1}' instead.\"),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:t(2692,e.DiagnosticCategory.Error,\"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692\",\"'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible.\"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:t(2693,e.DiagnosticCategory.Error,\"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693\",\"'{0}' only refers to a type, but is being used as a value here.\"),Namespace_0_has_no_exported_member_1:t(2694,e.DiagnosticCategory.Error,\"Namespace_0_has_no_exported_member_1_2694\",\"Namespace '{0}' has no exported member '{1}'.\"),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:t(2695,e.DiagnosticCategory.Error,\"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695\",\"Left side of comma operator is unused and has no side effects.\",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:t(2696,e.DiagnosticCategory.Error,\"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696\",\"The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?\"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:t(2697,e.DiagnosticCategory.Error,\"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697\",\"An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option.\"),Spread_types_may_only_be_created_from_object_types:t(2698,e.DiagnosticCategory.Error,\"Spread_types_may_only_be_created_from_object_types_2698\",\"Spread types may only be created from object types.\"),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:t(2699,e.DiagnosticCategory.Error,\"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699\",\"Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'.\"),Rest_types_may_only_be_created_from_object_types:t(2700,e.DiagnosticCategory.Error,\"Rest_types_may_only_be_created_from_object_types_2700\",\"Rest types may only be created from object types.\"),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:t(2701,e.DiagnosticCategory.Error,\"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701\",\"The target of an object rest assignment must be a variable or a property access.\"),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:t(2702,e.DiagnosticCategory.Error,\"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702\",\"'{0}' only refers to a type, but is being used as a namespace here.\"),The_operand_of_a_delete_operator_must_be_a_property_reference:t(2703,e.DiagnosticCategory.Error,\"The_operand_of_a_delete_operator_must_be_a_property_reference_2703\",\"The operand of a 'delete' operator must be a property reference.\"),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:t(2704,e.DiagnosticCategory.Error,\"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704\",\"The operand of a 'delete' operator cannot be a read-only property.\"),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:t(2705,e.DiagnosticCategory.Error,\"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705\",\"An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option.\"),Required_type_parameters_may_not_follow_optional_type_parameters:t(2706,e.DiagnosticCategory.Error,\"Required_type_parameters_may_not_follow_optional_type_parameters_2706\",\"Required type parameters may not follow optional type parameters.\"),Generic_type_0_requires_between_1_and_2_type_arguments:t(2707,e.DiagnosticCategory.Error,\"Generic_type_0_requires_between_1_and_2_type_arguments_2707\",\"Generic type '{0}' requires between {1} and {2} type arguments.\"),Cannot_use_namespace_0_as_a_value:t(2708,e.DiagnosticCategory.Error,\"Cannot_use_namespace_0_as_a_value_2708\",\"Cannot use namespace '{0}' as a value.\"),Cannot_use_namespace_0_as_a_type:t(2709,e.DiagnosticCategory.Error,\"Cannot_use_namespace_0_as_a_type_2709\",\"Cannot use namespace '{0}' as a type.\"),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:t(2710,e.DiagnosticCategory.Error,\"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710\",\"'{0}' are specified twice. The attribute named '{0}' will be overwritten.\"),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:t(2711,e.DiagnosticCategory.Error,\"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711\",\"A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option.\"),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:t(2712,e.DiagnosticCategory.Error,\"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712\",\"A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option.\"),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:t(2713,e.DiagnosticCategory.Error,\"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713\",\"Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}[\\\"{1}\\\"]'?\"),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:t(2714,e.DiagnosticCategory.Error,\"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714\",\"The expression of an export assignment must be an identifier or qualified name in an ambient context.\"),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:t(2715,e.DiagnosticCategory.Error,\"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715\",\"Abstract property '{0}' in class '{1}' cannot be accessed in the constructor.\"),Type_parameter_0_has_a_circular_default:t(2716,e.DiagnosticCategory.Error,\"Type_parameter_0_has_a_circular_default_2716\",\"Type parameter '{0}' has a circular default.\"),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:t(2717,e.DiagnosticCategory.Error,\"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717\",\"Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'.\"),Duplicate_property_0:t(2718,e.DiagnosticCategory.Error,\"Duplicate_property_0_2718\",\"Duplicate property '{0}'.\"),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:t(2719,e.DiagnosticCategory.Error,\"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719\",\"Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated.\"),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:t(2720,e.DiagnosticCategory.Error,\"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720\",\"Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?\"),Cannot_invoke_an_object_which_is_possibly_null:t(2721,e.DiagnosticCategory.Error,\"Cannot_invoke_an_object_which_is_possibly_null_2721\",\"Cannot invoke an object which is possibly 'null'.\"),Cannot_invoke_an_object_which_is_possibly_undefined:t(2722,e.DiagnosticCategory.Error,\"Cannot_invoke_an_object_which_is_possibly_undefined_2722\",\"Cannot invoke an object which is possibly 'undefined'.\"),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:t(2723,e.DiagnosticCategory.Error,\"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723\",\"Cannot invoke an object which is possibly 'null' or 'undefined'.\"),_0_has_no_exported_member_named_1_Did_you_mean_2:t(2724,e.DiagnosticCategory.Error,\"_0_has_no_exported_member_named_1_Did_you_mean_2_2724\",\"'{0}' has no exported member named '{1}'. Did you mean '{2}'?\"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:t(2725,e.DiagnosticCategory.Error,\"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725\",\"Class name cannot be 'Object' when targeting ES5 with module {0}.\"),Cannot_find_lib_definition_for_0:t(2726,e.DiagnosticCategory.Error,\"Cannot_find_lib_definition_for_0_2726\",\"Cannot find lib definition for '{0}'.\"),Cannot_find_lib_definition_for_0_Did_you_mean_1:t(2727,e.DiagnosticCategory.Error,\"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727\",\"Cannot find lib definition for '{0}'. Did you mean '{1}'?\"),_0_is_declared_here:t(2728,e.DiagnosticCategory.Message,\"_0_is_declared_here_2728\",\"'{0}' is declared here.\"),Property_0_is_used_before_its_initialization:t(2729,e.DiagnosticCategory.Error,\"Property_0_is_used_before_its_initialization_2729\",\"Property '{0}' is used before its initialization.\"),An_arrow_function_cannot_have_a_this_parameter:t(2730,e.DiagnosticCategory.Error,\"An_arrow_function_cannot_have_a_this_parameter_2730\",\"An arrow function cannot have a 'this' parameter.\"),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:t(2731,e.DiagnosticCategory.Error,\"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731\",\"Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'.\"),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:t(2732,e.DiagnosticCategory.Error,\"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732\",\"Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension.\"),Property_0_was_also_declared_here:t(2733,e.DiagnosticCategory.Error,\"Property_0_was_also_declared_here_2733\",\"Property '{0}' was also declared here.\"),Are_you_missing_a_semicolon:t(2734,e.DiagnosticCategory.Error,\"Are_you_missing_a_semicolon_2734\",\"Are you missing a semicolon?\"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:t(2735,e.DiagnosticCategory.Error,\"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735\",\"Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?\"),Operator_0_cannot_be_applied_to_type_1:t(2736,e.DiagnosticCategory.Error,\"Operator_0_cannot_be_applied_to_type_1_2736\",\"Operator '{0}' cannot be applied to type '{1}'.\"),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:t(2737,e.DiagnosticCategory.Error,\"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737\",\"BigInt literals are not available when targeting lower than ES2020.\"),An_outer_value_of_this_is_shadowed_by_this_container:t(2738,e.DiagnosticCategory.Message,\"An_outer_value_of_this_is_shadowed_by_this_container_2738\",\"An outer value of 'this' is shadowed by this container.\"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:t(2739,e.DiagnosticCategory.Error,\"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739\",\"Type '{0}' is missing the following properties from type '{1}': {2}\"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:t(2740,e.DiagnosticCategory.Error,\"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740\",\"Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more.\"),Property_0_is_missing_in_type_1_but_required_in_type_2:t(2741,e.DiagnosticCategory.Error,\"Property_0_is_missing_in_type_1_but_required_in_type_2_2741\",\"Property '{0}' is missing in type '{1}' but required in type '{2}'.\"),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:t(2742,e.DiagnosticCategory.Error,\"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742\",\"The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary.\"),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:t(2743,e.DiagnosticCategory.Error,\"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743\",\"No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments.\"),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:t(2744,e.DiagnosticCategory.Error,\"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744\",\"Type parameter defaults can only reference previously declared type parameters.\"),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:t(2745,e.DiagnosticCategory.Error,\"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745\",\"This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided.\"),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:t(2746,e.DiagnosticCategory.Error,\"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746\",\"This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided.\"),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:t(2747,e.DiagnosticCategory.Error,\"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747\",\"'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'.\"),Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided:t(2748,e.DiagnosticCategory.Error,\"Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided_2748\",\"Cannot access ambient const enums when the '--isolatedModules' flag is provided.\"),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:t(2749,e.DiagnosticCategory.Error,\"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749\",\"'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?\"),The_implementation_signature_is_declared_here:t(2750,e.DiagnosticCategory.Error,\"The_implementation_signature_is_declared_here_2750\",\"The implementation signature is declared here.\"),Circularity_originates_in_type_at_this_location:t(2751,e.DiagnosticCategory.Error,\"Circularity_originates_in_type_at_this_location_2751\",\"Circularity originates in type at this location.\"),The_first_export_default_is_here:t(2752,e.DiagnosticCategory.Error,\"The_first_export_default_is_here_2752\",\"The first export default is here.\"),Another_export_default_is_here:t(2753,e.DiagnosticCategory.Error,\"Another_export_default_is_here_2753\",\"Another export default is here.\"),super_may_not_use_type_arguments:t(2754,e.DiagnosticCategory.Error,\"super_may_not_use_type_arguments_2754\",\"'super' may not use type arguments.\"),No_constituent_of_type_0_is_callable:t(2755,e.DiagnosticCategory.Error,\"No_constituent_of_type_0_is_callable_2755\",\"No constituent of type '{0}' is callable.\"),Not_all_constituents_of_type_0_are_callable:t(2756,e.DiagnosticCategory.Error,\"Not_all_constituents_of_type_0_are_callable_2756\",\"Not all constituents of type '{0}' are callable.\"),Type_0_has_no_call_signatures:t(2757,e.DiagnosticCategory.Error,\"Type_0_has_no_call_signatures_2757\",\"Type '{0}' has no call signatures.\"),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:t(2758,e.DiagnosticCategory.Error,\"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758\",\"Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other.\"),No_constituent_of_type_0_is_constructable:t(2759,e.DiagnosticCategory.Error,\"No_constituent_of_type_0_is_constructable_2759\",\"No constituent of type '{0}' is constructable.\"),Not_all_constituents_of_type_0_are_constructable:t(2760,e.DiagnosticCategory.Error,\"Not_all_constituents_of_type_0_are_constructable_2760\",\"Not all constituents of type '{0}' are constructable.\"),Type_0_has_no_construct_signatures:t(2761,e.DiagnosticCategory.Error,\"Type_0_has_no_construct_signatures_2761\",\"Type '{0}' has no construct signatures.\"),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:t(2762,e.DiagnosticCategory.Error,\"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762\",\"Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other.\"),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:t(2763,e.DiagnosticCategory.Error,\"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763\",\"Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'.\"),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:t(2764,e.DiagnosticCategory.Error,\"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764\",\"Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'.\"),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:t(2765,e.DiagnosticCategory.Error,\"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765\",\"Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'.\"),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:t(2766,e.DiagnosticCategory.Error,\"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766\",\"Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'.\"),The_0_property_of_an_iterator_must_be_a_method:t(2767,e.DiagnosticCategory.Error,\"The_0_property_of_an_iterator_must_be_a_method_2767\",\"The '{0}' property of an iterator must be a method.\"),The_0_property_of_an_async_iterator_must_be_a_method:t(2768,e.DiagnosticCategory.Error,\"The_0_property_of_an_async_iterator_must_be_a_method_2768\",\"The '{0}' property of an async iterator must be a method.\"),No_overload_matches_this_call:t(2769,e.DiagnosticCategory.Error,\"No_overload_matches_this_call_2769\",\"No overload matches this call.\"),The_last_overload_gave_the_following_error:t(2770,e.DiagnosticCategory.Error,\"The_last_overload_gave_the_following_error_2770\",\"The last overload gave the following error.\"),The_last_overload_is_declared_here:t(2771,e.DiagnosticCategory.Error,\"The_last_overload_is_declared_here_2771\",\"The last overload is declared here.\"),Overload_0_of_1_2_gave_the_following_error:t(2772,e.DiagnosticCategory.Error,\"Overload_0_of_1_2_gave_the_following_error_2772\",\"Overload {0} of {1}, '{2}', gave the following error.\"),Did_you_forget_to_use_await:t(2773,e.DiagnosticCategory.Error,\"Did_you_forget_to_use_await_2773\",\"Did you forget to use 'await'?\"),This_condition_will_always_return_true_since_the_function_is_always_defined_Did_you_mean_to_call_it_instead:t(2774,e.DiagnosticCategory.Error,\"This_condition_will_always_return_true_since_the_function_is_always_defined_Did_you_mean_to_call_it__2774\",\"This condition will always return true since the function is always defined. Did you mean to call it instead?\"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:t(2775,e.DiagnosticCategory.Error,\"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775\",\"Assertions require every name in the call target to be declared with an explicit type annotation.\"),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:t(2776,e.DiagnosticCategory.Error,\"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776\",\"Assertions require the call target to be an identifier or qualified name.\"),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:t(2777,e.DiagnosticCategory.Error,\"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777\",\"The operand of an increment or decrement operator may not be an optional property access.\"),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:t(2778,e.DiagnosticCategory.Error,\"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778\",\"The target of an object rest assignment may not be an optional property access.\"),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:t(2779,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779\",\"The left-hand side of an assignment expression may not be an optional property access.\"),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:t(2780,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780\",\"The left-hand side of a 'for...in' statement may not be an optional property access.\"),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:t(2781,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781\",\"The left-hand side of a 'for...of' statement may not be an optional property access.\"),_0_needs_an_explicit_type_annotation:t(2782,e.DiagnosticCategory.Message,\"_0_needs_an_explicit_type_annotation_2782\",\"'{0}' needs an explicit type annotation.\"),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:t(2783,e.DiagnosticCategory.Error,\"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783\",\"'{0}' is specified more than once, so this usage will be overwritten.\"),get_and_set_accessors_cannot_declare_this_parameters:t(2784,e.DiagnosticCategory.Error,\"get_and_set_accessors_cannot_declare_this_parameters_2784\",\"'get' and 'set' accessors cannot declare 'this' parameters.\"),This_spread_always_overwrites_this_property:t(2785,e.DiagnosticCategory.Error,\"This_spread_always_overwrites_this_property_2785\",\"This spread always overwrites this property.\"),_0_cannot_be_used_as_a_JSX_component:t(2786,e.DiagnosticCategory.Error,\"_0_cannot_be_used_as_a_JSX_component_2786\",\"'{0}' cannot be used as a JSX component.\"),Its_return_type_0_is_not_a_valid_JSX_element:t(2787,e.DiagnosticCategory.Error,\"Its_return_type_0_is_not_a_valid_JSX_element_2787\",\"Its return type '{0}' is not a valid JSX element.\"),Its_instance_type_0_is_not_a_valid_JSX_element:t(2788,e.DiagnosticCategory.Error,\"Its_instance_type_0_is_not_a_valid_JSX_element_2788\",\"Its instance type '{0}' is not a valid JSX element.\"),Its_element_type_0_is_not_a_valid_JSX_element:t(2789,e.DiagnosticCategory.Error,\"Its_element_type_0_is_not_a_valid_JSX_element_2789\",\"Its element type '{0}' is not a valid JSX element.\"),The_operand_of_a_delete_operator_must_be_optional:t(2790,e.DiagnosticCategory.Error,\"The_operand_of_a_delete_operator_must_be_optional_2790\",\"The operand of a 'delete' operator must be optional.\"),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:t(2791,e.DiagnosticCategory.Error,\"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791\",\"Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later.\"),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:t(2792,e.DiagnosticCategory.Error,\"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_th_2792\",\"Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?\"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:t(2793,e.DiagnosticCategory.Error,\"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793\",\"The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible.\"),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:t(2794,e.DiagnosticCategory.Error,\"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794\",\"Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?\"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:t(2795,e.DiagnosticCategory.Error,\"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795\",\"The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types.\"),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:t(2796,e.DiagnosticCategory.Error,\"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796\",\"It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked.\"),Import_declaration_0_is_using_private_name_1:t(4e3,e.DiagnosticCategory.Error,\"Import_declaration_0_is_using_private_name_1_4000\",\"Import declaration '{0}' is using private name '{1}'.\"),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:t(4002,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002\",\"Type parameter '{0}' of exported class has or is using private name '{1}'.\"),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:t(4004,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004\",\"Type parameter '{0}' of exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:t(4006,e.DiagnosticCategory.Error,\"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006\",\"Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:t(4008,e.DiagnosticCategory.Error,\"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008\",\"Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:t(4010,e.DiagnosticCategory.Error,\"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010\",\"Type parameter '{0}' of public static method from exported class has or is using private name '{1}'.\"),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:t(4012,e.DiagnosticCategory.Error,\"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012\",\"Type parameter '{0}' of public method from exported class has or is using private name '{1}'.\"),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:t(4014,e.DiagnosticCategory.Error,\"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014\",\"Type parameter '{0}' of method from exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:t(4016,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016\",\"Type parameter '{0}' of exported function has or is using private name '{1}'.\"),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:t(4019,e.DiagnosticCategory.Error,\"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019\",\"Implements clause of exported class '{0}' has or is using private name '{1}'.\"),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:t(4020,e.DiagnosticCategory.Error,\"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020\",\"'extends' clause of exported class '{0}' has or is using private name '{1}'.\"),extends_clause_of_exported_class_has_or_is_using_private_name_0:t(4021,e.DiagnosticCategory.Error,\"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021\",\"'extends' clause of exported class has or is using private name '{0}'.\"),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:t(4022,e.DiagnosticCategory.Error,\"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022\",\"'extends' clause of exported interface '{0}' has or is using private name '{1}'.\"),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4023,e.DiagnosticCategory.Error,\"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023\",\"Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named.\"),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:t(4024,e.DiagnosticCategory.Error,\"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024\",\"Exported variable '{0}' has or is using name '{1}' from private module '{2}'.\"),Exported_variable_0_has_or_is_using_private_name_1:t(4025,e.DiagnosticCategory.Error,\"Exported_variable_0_has_or_is_using_private_name_1_4025\",\"Exported variable '{0}' has or is using private name '{1}'.\"),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4026,e.DiagnosticCategory.Error,\"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026\",\"Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4027,e.DiagnosticCategory.Error,\"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027\",\"Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:t(4028,e.DiagnosticCategory.Error,\"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028\",\"Public static property '{0}' of exported class has or is using private name '{1}'.\"),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4029,e.DiagnosticCategory.Error,\"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029\",\"Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4030,e.DiagnosticCategory.Error,\"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030\",\"Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_property_0_of_exported_class_has_or_is_using_private_name_1:t(4031,e.DiagnosticCategory.Error,\"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031\",\"Public property '{0}' of exported class has or is using private name '{1}'.\"),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4032,e.DiagnosticCategory.Error,\"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032\",\"Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'.\"),Property_0_of_exported_interface_has_or_is_using_private_name_1:t(4033,e.DiagnosticCategory.Error,\"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033\",\"Property '{0}' of exported interface has or is using private name '{1}'.\"),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4034,e.DiagnosticCategory.Error,\"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034\",\"Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:t(4035,e.DiagnosticCategory.Error,\"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035\",\"Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'.\"),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4036,e.DiagnosticCategory.Error,\"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036\",\"Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:t(4037,e.DiagnosticCategory.Error,\"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037\",\"Parameter type of public setter '{0}' from exported class has or is using private name '{1}'.\"),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4038,e.DiagnosticCategory.Error,\"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038\",\"Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4039,e.DiagnosticCategory.Error,\"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039\",\"Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:t(4040,e.DiagnosticCategory.Error,\"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040\",\"Return type of public static getter '{0}' from exported class has or is using private name '{1}'.\"),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4041,e.DiagnosticCategory.Error,\"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041\",\"Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4042,e.DiagnosticCategory.Error,\"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042\",\"Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:t(4043,e.DiagnosticCategory.Error,\"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043\",\"Return type of public getter '{0}' from exported class has or is using private name '{1}'.\"),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4044,e.DiagnosticCategory.Error,\"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044\",\"Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:t(4045,e.DiagnosticCategory.Error,\"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045\",\"Return type of constructor signature from exported interface has or is using private name '{0}'.\"),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4046,e.DiagnosticCategory.Error,\"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046\",\"Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:t(4047,e.DiagnosticCategory.Error,\"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047\",\"Return type of call signature from exported interface has or is using private name '{0}'.\"),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4048,e.DiagnosticCategory.Error,\"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048\",\"Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:t(4049,e.DiagnosticCategory.Error,\"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049\",\"Return type of index signature from exported interface has or is using private name '{0}'.\"),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4050,e.DiagnosticCategory.Error,\"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050\",\"Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named.\"),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:t(4051,e.DiagnosticCategory.Error,\"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051\",\"Return type of public static method from exported class has or is using name '{0}' from private module '{1}'.\"),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:t(4052,e.DiagnosticCategory.Error,\"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052\",\"Return type of public static method from exported class has or is using private name '{0}'.\"),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4053,e.DiagnosticCategory.Error,\"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053\",\"Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named.\"),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:t(4054,e.DiagnosticCategory.Error,\"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054\",\"Return type of public method from exported class has or is using name '{0}' from private module '{1}'.\"),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:t(4055,e.DiagnosticCategory.Error,\"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055\",\"Return type of public method from exported class has or is using private name '{0}'.\"),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4056,e.DiagnosticCategory.Error,\"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056\",\"Return type of method from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:t(4057,e.DiagnosticCategory.Error,\"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057\",\"Return type of method from exported interface has or is using private name '{0}'.\"),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4058,e.DiagnosticCategory.Error,\"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058\",\"Return type of exported function has or is using name '{0}' from external module {1} but cannot be named.\"),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:t(4059,e.DiagnosticCategory.Error,\"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059\",\"Return type of exported function has or is using name '{0}' from private module '{1}'.\"),Return_type_of_exported_function_has_or_is_using_private_name_0:t(4060,e.DiagnosticCategory.Error,\"Return_type_of_exported_function_has_or_is_using_private_name_0_4060\",\"Return type of exported function has or is using private name '{0}'.\"),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4061,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061\",\"Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4062,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062\",\"Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:t(4063,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063\",\"Parameter '{0}' of constructor from exported class has or is using private name '{1}'.\"),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4064,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064\",\"Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:t(4065,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065\",\"Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'.\"),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4066,e.DiagnosticCategory.Error,\"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066\",\"Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:t(4067,e.DiagnosticCategory.Error,\"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067\",\"Parameter '{0}' of call signature from exported interface has or is using private name '{1}'.\"),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4068,e.DiagnosticCategory.Error,\"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068\",\"Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4069,e.DiagnosticCategory.Error,\"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069\",\"Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:t(4070,e.DiagnosticCategory.Error,\"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070\",\"Parameter '{0}' of public static method from exported class has or is using private name '{1}'.\"),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4071,e.DiagnosticCategory.Error,\"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071\",\"Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4072,e.DiagnosticCategory.Error,\"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072\",\"Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:t(4073,e.DiagnosticCategory.Error,\"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073\",\"Parameter '{0}' of public method from exported class has or is using private name '{1}'.\"),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4074,e.DiagnosticCategory.Error,\"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074\",\"Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:t(4075,e.DiagnosticCategory.Error,\"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075\",\"Parameter '{0}' of method from exported interface has or is using private name '{1}'.\"),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4076,e.DiagnosticCategory.Error,\"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076\",\"Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:t(4077,e.DiagnosticCategory.Error,\"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077\",\"Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_exported_function_has_or_is_using_private_name_1:t(4078,e.DiagnosticCategory.Error,\"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078\",\"Parameter '{0}' of exported function has or is using private name '{1}'.\"),Exported_type_alias_0_has_or_is_using_private_name_1:t(4081,e.DiagnosticCategory.Error,\"Exported_type_alias_0_has_or_is_using_private_name_1_4081\",\"Exported type alias '{0}' has or is using private name '{1}'.\"),Default_export_of_the_module_has_or_is_using_private_name_0:t(4082,e.DiagnosticCategory.Error,\"Default_export_of_the_module_has_or_is_using_private_name_0_4082\",\"Default export of the module has or is using private name '{0}'.\"),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:t(4083,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083\",\"Type parameter '{0}' of exported type alias has or is using private name '{1}'.\"),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:t(4090,e.DiagnosticCategory.Error,\"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090\",\"Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict.\"),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4091,e.DiagnosticCategory.Error,\"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091\",\"Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:t(4092,e.DiagnosticCategory.Error,\"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092\",\"Parameter '{0}' of index signature from exported interface has or is using private name '{1}'.\"),Property_0_of_exported_class_expression_may_not_be_private_or_protected:t(4094,e.DiagnosticCategory.Error,\"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094\",\"Property '{0}' of exported class expression may not be private or protected.\"),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4095,e.DiagnosticCategory.Error,\"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095\",\"Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4096,e.DiagnosticCategory.Error,\"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096\",\"Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:t(4097,e.DiagnosticCategory.Error,\"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097\",\"Public static method '{0}' of exported class has or is using private name '{1}'.\"),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4098,e.DiagnosticCategory.Error,\"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098\",\"Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4099,e.DiagnosticCategory.Error,\"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099\",\"Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_method_0_of_exported_class_has_or_is_using_private_name_1:t(4100,e.DiagnosticCategory.Error,\"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100\",\"Public method '{0}' of exported class has or is using private name '{1}'.\"),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4101,e.DiagnosticCategory.Error,\"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101\",\"Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'.\"),Method_0_of_exported_interface_has_or_is_using_private_name_1:t(4102,e.DiagnosticCategory.Error,\"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102\",\"Method '{0}' of exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:t(4103,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103\",\"Type parameter '{0}' of exported mapped object type is using private name '{1}'.\"),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:t(4104,e.DiagnosticCategory.Error,\"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104\",\"The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'.\"),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:t(4105,e.DiagnosticCategory.Error,\"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105\",\"Private or protected member '{0}' cannot be accessed on a type parameter.\"),Parameter_0_of_accessor_has_or_is_using_private_name_1:t(4106,e.DiagnosticCategory.Error,\"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106\",\"Parameter '{0}' of accessor has or is using private name '{1}'.\"),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:t(4107,e.DiagnosticCategory.Error,\"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107\",\"Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4108,e.DiagnosticCategory.Error,\"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108\",\"Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named.\"),Type_arguments_for_0_circularly_reference_themselves:t(4109,e.DiagnosticCategory.Error,\"Type_arguments_for_0_circularly_reference_themselves_4109\",\"Type arguments for '{0}' circularly reference themselves.\"),Tuple_type_arguments_circularly_reference_themselves:t(4110,e.DiagnosticCategory.Error,\"Tuple_type_arguments_circularly_reference_themselves_4110\",\"Tuple type arguments circularly reference themselves.\"),The_current_host_does_not_support_the_0_option:t(5001,e.DiagnosticCategory.Error,\"The_current_host_does_not_support_the_0_option_5001\",\"The current host does not support the '{0}' option.\"),Cannot_find_the_common_subdirectory_path_for_the_input_files:t(5009,e.DiagnosticCategory.Error,\"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009\",\"Cannot find the common subdirectory path for the input files.\"),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:t(5010,e.DiagnosticCategory.Error,\"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010\",\"File specification cannot end in a recursive directory wildcard ('**'): '{0}'.\"),Cannot_read_file_0_Colon_1:t(5012,e.DiagnosticCategory.Error,\"Cannot_read_file_0_Colon_1_5012\",\"Cannot read file '{0}': {1}.\"),Failed_to_parse_file_0_Colon_1:t(5014,e.DiagnosticCategory.Error,\"Failed_to_parse_file_0_Colon_1_5014\",\"Failed to parse file '{0}': {1}.\"),Unknown_compiler_option_0:t(5023,e.DiagnosticCategory.Error,\"Unknown_compiler_option_0_5023\",\"Unknown compiler option '{0}'.\"),Compiler_option_0_requires_a_value_of_type_1:t(5024,e.DiagnosticCategory.Error,\"Compiler_option_0_requires_a_value_of_type_1_5024\",\"Compiler option '{0}' requires a value of type {1}.\"),Unknown_compiler_option_0_Did_you_mean_1:t(5025,e.DiagnosticCategory.Error,\"Unknown_compiler_option_0_Did_you_mean_1_5025\",\"Unknown compiler option '{0}'. Did you mean '{1}'?\"),Could_not_write_file_0_Colon_1:t(5033,e.DiagnosticCategory.Error,\"Could_not_write_file_0_Colon_1_5033\",\"Could not write file '{0}': {1}.\"),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:t(5042,e.DiagnosticCategory.Error,\"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042\",\"Option 'project' cannot be mixed with source files on a command line.\"),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:t(5047,e.DiagnosticCategory.Error,\"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047\",\"Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher.\"),Option_0_cannot_be_specified_when_option_target_is_ES3:t(5048,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_when_option_target_is_ES3_5048\",\"Option '{0}' cannot be specified when option 'target' is 'ES3'.\"),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:t(5051,e.DiagnosticCategory.Error,\"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051\",\"Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided.\"),Option_0_cannot_be_specified_without_specifying_option_1:t(5052,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_without_specifying_option_1_5052\",\"Option '{0}' cannot be specified without specifying option '{1}'.\"),Option_0_cannot_be_specified_with_option_1:t(5053,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_with_option_1_5053\",\"Option '{0}' cannot be specified with option '{1}'.\"),A_tsconfig_json_file_is_already_defined_at_Colon_0:t(5054,e.DiagnosticCategory.Error,\"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054\",\"A 'tsconfig.json' file is already defined at: '{0}'.\"),Cannot_write_file_0_because_it_would_overwrite_input_file:t(5055,e.DiagnosticCategory.Error,\"Cannot_write_file_0_because_it_would_overwrite_input_file_5055\",\"Cannot write file '{0}' because it would overwrite input file.\"),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:t(5056,e.DiagnosticCategory.Error,\"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056\",\"Cannot write file '{0}' because it would be overwritten by multiple input files.\"),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:t(5057,e.DiagnosticCategory.Error,\"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057\",\"Cannot find a tsconfig.json file at the specified directory: '{0}'.\"),The_specified_path_does_not_exist_Colon_0:t(5058,e.DiagnosticCategory.Error,\"The_specified_path_does_not_exist_Colon_0_5058\",\"The specified path does not exist: '{0}'.\"),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:t(5059,e.DiagnosticCategory.Error,\"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059\",\"Invalid value for '--reactNamespace'. '{0}' is not a valid identifier.\"),Pattern_0_can_have_at_most_one_Asterisk_character:t(5061,e.DiagnosticCategory.Error,\"Pattern_0_can_have_at_most_one_Asterisk_character_5061\",\"Pattern '{0}' can have at most one '*' character.\"),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:t(5062,e.DiagnosticCategory.Error,\"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062\",\"Substitution '{0}' in pattern '{1}' can have at most one '*' character.\"),Substitutions_for_pattern_0_should_be_an_array:t(5063,e.DiagnosticCategory.Error,\"Substitutions_for_pattern_0_should_be_an_array_5063\",\"Substitutions for pattern '{0}' should be an array.\"),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:t(5064,e.DiagnosticCategory.Error,\"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064\",\"Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'.\"),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:t(5065,e.DiagnosticCategory.Error,\"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065\",\"File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'.\"),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:t(5066,e.DiagnosticCategory.Error,\"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066\",\"Substitutions for pattern '{0}' shouldn't be an empty array.\"),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:t(5067,e.DiagnosticCategory.Error,\"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067\",\"Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name.\"),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:t(5068,e.DiagnosticCategory.Error,\"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068\",\"Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig.\"),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:t(5069,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069\",\"Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'.\"),Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy:t(5070,e.DiagnosticCategory.Error,\"Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy_5070\",\"Option '--resolveJsonModule' cannot be specified without 'node' module resolution strategy.\"),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:t(5071,e.DiagnosticCategory.Error,\"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071\",\"Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'.\"),Unknown_build_option_0:t(5072,e.DiagnosticCategory.Error,\"Unknown_build_option_0_5072\",\"Unknown build option '{0}'.\"),Build_option_0_requires_a_value_of_type_1:t(5073,e.DiagnosticCategory.Error,\"Build_option_0_requires_a_value_of_type_1_5073\",\"Build option '{0}' requires a value of type {1}.\"),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:t(5074,e.DiagnosticCategory.Error,\"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074\",\"Option '--incremental' can only be specified using tsconfig, emitting to single file or when option `--tsBuildInfoFile` is specified.\"),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:t(5075,e.DiagnosticCategory.Error,\"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075\",\"'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'.\"),_0_and_1_operations_cannot_be_mixed_without_parentheses:t(5076,e.DiagnosticCategory.Error,\"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076\",\"'{0}' and '{1}' operations cannot be mixed without parentheses.\"),Unknown_build_option_0_Did_you_mean_1:t(5077,e.DiagnosticCategory.Error,\"Unknown_build_option_0_Did_you_mean_1_5077\",\"Unknown build option '{0}'. Did you mean '{1}'?\"),Unknown_watch_option_0:t(5078,e.DiagnosticCategory.Error,\"Unknown_watch_option_0_5078\",\"Unknown watch option '{0}'.\"),Unknown_watch_option_0_Did_you_mean_1:t(5079,e.DiagnosticCategory.Error,\"Unknown_watch_option_0_Did_you_mean_1_5079\",\"Unknown watch option '{0}'. Did you mean '{1}'?\"),Watch_option_0_requires_a_value_of_type_1:t(5080,e.DiagnosticCategory.Error,\"Watch_option_0_requires_a_value_of_type_1_5080\",\"Watch option '{0}' requires a value of type {1}.\"),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:t(5081,e.DiagnosticCategory.Error,\"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081\",\"Cannot find a tsconfig.json file at the current directory: {0}.\"),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:t(5082,e.DiagnosticCategory.Error,\"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082\",\"'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'.\"),Cannot_read_file_0:t(5083,e.DiagnosticCategory.Error,\"Cannot_read_file_0_5083\",\"Cannot read file '{0}'.\"),Tuple_members_must_all_have_names_or_all_not_have_names:t(5084,e.DiagnosticCategory.Error,\"Tuple_members_must_all_have_names_or_all_not_have_names_5084\",\"Tuple members must all have names or all not have names.\"),A_tuple_member_cannot_be_both_optional_and_rest:t(5085,e.DiagnosticCategory.Error,\"A_tuple_member_cannot_be_both_optional_and_rest_5085\",\"A tuple member cannot be both optional and rest.\"),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:t(5086,e.DiagnosticCategory.Error,\"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086\",\"A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type.\"),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:t(5087,e.DiagnosticCategory.Error,\"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087\",\"A labeled tuple element is declared as rest with a `...` before the name, rather than before the type.\"),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:t(5088,e.DiagnosticCategory.Error,\"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088\",\"The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary.\"),Option_0_cannot_be_specified_when_option_jsx_is_1:t(5089,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_when_option_jsx_is_1_5089\",\"Option '{0}' cannot be specified when option 'jsx' is '{1}'.\"),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:t(5090,e.DiagnosticCategory.Error,\"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090\",\"Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?\"),Generates_a_sourcemap_for_each_corresponding_d_ts_file:t(6e3,e.DiagnosticCategory.Message,\"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000\",\"Generates a sourcemap for each corresponding '.d.ts' file.\"),Concatenate_and_emit_output_to_single_file:t(6001,e.DiagnosticCategory.Message,\"Concatenate_and_emit_output_to_single_file_6001\",\"Concatenate and emit output to single file.\"),Generates_corresponding_d_ts_file:t(6002,e.DiagnosticCategory.Message,\"Generates_corresponding_d_ts_file_6002\",\"Generates corresponding '.d.ts' file.\"),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:t(6003,e.DiagnosticCategory.Message,\"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003\",\"Specify the location where debugger should locate map files instead of generated locations.\"),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:t(6004,e.DiagnosticCategory.Message,\"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004\",\"Specify the location where debugger should locate TypeScript files instead of source locations.\"),Watch_input_files:t(6005,e.DiagnosticCategory.Message,\"Watch_input_files_6005\",\"Watch input files.\"),Redirect_output_structure_to_the_directory:t(6006,e.DiagnosticCategory.Message,\"Redirect_output_structure_to_the_directory_6006\",\"Redirect output structure to the directory.\"),Do_not_erase_const_enum_declarations_in_generated_code:t(6007,e.DiagnosticCategory.Message,\"Do_not_erase_const_enum_declarations_in_generated_code_6007\",\"Do not erase const enum declarations in generated code.\"),Do_not_emit_outputs_if_any_errors_were_reported:t(6008,e.DiagnosticCategory.Message,\"Do_not_emit_outputs_if_any_errors_were_reported_6008\",\"Do not emit outputs if any errors were reported.\"),Do_not_emit_comments_to_output:t(6009,e.DiagnosticCategory.Message,\"Do_not_emit_comments_to_output_6009\",\"Do not emit comments to output.\"),Do_not_emit_outputs:t(6010,e.DiagnosticCategory.Message,\"Do_not_emit_outputs_6010\",\"Do not emit outputs.\"),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:t(6011,e.DiagnosticCategory.Message,\"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011\",\"Allow default imports from modules with no default export. This does not affect code emit, just typechecking.\"),Skip_type_checking_of_declaration_files:t(6012,e.DiagnosticCategory.Message,\"Skip_type_checking_of_declaration_files_6012\",\"Skip type checking of declaration files.\"),Do_not_resolve_the_real_path_of_symlinks:t(6013,e.DiagnosticCategory.Message,\"Do_not_resolve_the_real_path_of_symlinks_6013\",\"Do not resolve the real path of symlinks.\"),Only_emit_d_ts_declaration_files:t(6014,e.DiagnosticCategory.Message,\"Only_emit_d_ts_declaration_files_6014\",\"Only emit '.d.ts' declaration files.\"),Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_or_ESNEXT:t(6015,e.DiagnosticCategory.Message,\"Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_or_6015\",\"Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'.\"),Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext:t(6016,e.DiagnosticCategory.Message,\"Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext_6016\",\"Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'.\"),Print_this_message:t(6017,e.DiagnosticCategory.Message,\"Print_this_message_6017\",\"Print this message.\"),Print_the_compiler_s_version:t(6019,e.DiagnosticCategory.Message,\"Print_the_compiler_s_version_6019\",\"Print the compiler's version.\"),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:t(6020,e.DiagnosticCategory.Message,\"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020\",\"Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'.\"),Syntax_Colon_0:t(6023,e.DiagnosticCategory.Message,\"Syntax_Colon_0_6023\",\"Syntax: {0}\"),options:t(6024,e.DiagnosticCategory.Message,\"options_6024\",\"options\"),file:t(6025,e.DiagnosticCategory.Message,\"file_6025\",\"file\"),Examples_Colon_0:t(6026,e.DiagnosticCategory.Message,\"Examples_Colon_0_6026\",\"Examples: {0}\"),Options_Colon:t(6027,e.DiagnosticCategory.Message,\"Options_Colon_6027\",\"Options:\"),Version_0:t(6029,e.DiagnosticCategory.Message,\"Version_0_6029\",\"Version {0}\"),Insert_command_line_options_and_files_from_a_file:t(6030,e.DiagnosticCategory.Message,\"Insert_command_line_options_and_files_from_a_file_6030\",\"Insert command line options and files from a file.\"),Starting_compilation_in_watch_mode:t(6031,e.DiagnosticCategory.Message,\"Starting_compilation_in_watch_mode_6031\",\"Starting compilation in watch mode...\"),File_change_detected_Starting_incremental_compilation:t(6032,e.DiagnosticCategory.Message,\"File_change_detected_Starting_incremental_compilation_6032\",\"File change detected. Starting incremental compilation...\"),KIND:t(6034,e.DiagnosticCategory.Message,\"KIND_6034\",\"KIND\"),FILE:t(6035,e.DiagnosticCategory.Message,\"FILE_6035\",\"FILE\"),VERSION:t(6036,e.DiagnosticCategory.Message,\"VERSION_6036\",\"VERSION\"),LOCATION:t(6037,e.DiagnosticCategory.Message,\"LOCATION_6037\",\"LOCATION\"),DIRECTORY:t(6038,e.DiagnosticCategory.Message,\"DIRECTORY_6038\",\"DIRECTORY\"),STRATEGY:t(6039,e.DiagnosticCategory.Message,\"STRATEGY_6039\",\"STRATEGY\"),FILE_OR_DIRECTORY:t(6040,e.DiagnosticCategory.Message,\"FILE_OR_DIRECTORY_6040\",\"FILE OR DIRECTORY\"),Generates_corresponding_map_file:t(6043,e.DiagnosticCategory.Message,\"Generates_corresponding_map_file_6043\",\"Generates corresponding '.map' file.\"),Compiler_option_0_expects_an_argument:t(6044,e.DiagnosticCategory.Error,\"Compiler_option_0_expects_an_argument_6044\",\"Compiler option '{0}' expects an argument.\"),Unterminated_quoted_string_in_response_file_0:t(6045,e.DiagnosticCategory.Error,\"Unterminated_quoted_string_in_response_file_0_6045\",\"Unterminated quoted string in response file '{0}'.\"),Argument_for_0_option_must_be_Colon_1:t(6046,e.DiagnosticCategory.Error,\"Argument_for_0_option_must_be_Colon_1_6046\",\"Argument for '{0}' option must be: {1}.\"),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:t(6048,e.DiagnosticCategory.Error,\"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048\",\"Locale must be of the form or -. For example '{0}' or '{1}'.\"),Unsupported_locale_0:t(6049,e.DiagnosticCategory.Error,\"Unsupported_locale_0_6049\",\"Unsupported locale '{0}'.\"),Unable_to_open_file_0:t(6050,e.DiagnosticCategory.Error,\"Unable_to_open_file_0_6050\",\"Unable to open file '{0}'.\"),Corrupted_locale_file_0:t(6051,e.DiagnosticCategory.Error,\"Corrupted_locale_file_0_6051\",\"Corrupted locale file {0}.\"),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:t(6052,e.DiagnosticCategory.Message,\"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052\",\"Raise error on expressions and declarations with an implied 'any' type.\"),File_0_not_found:t(6053,e.DiagnosticCategory.Error,\"File_0_not_found_6053\",\"File '{0}' not found.\"),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:t(6054,e.DiagnosticCategory.Error,\"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054\",\"File '{0}' has an unsupported extension. The only supported extensions are {1}.\"),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:t(6055,e.DiagnosticCategory.Message,\"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055\",\"Suppress noImplicitAny errors for indexing objects lacking index signatures.\"),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:t(6056,e.DiagnosticCategory.Message,\"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056\",\"Do not emit declarations for code that has an '@internal' annotation.\"),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:t(6058,e.DiagnosticCategory.Message,\"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058\",\"Specify the root directory of input files. Use to control the output directory structure with --outDir.\"),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:t(6059,e.DiagnosticCategory.Error,\"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059\",\"File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files.\"),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:t(6060,e.DiagnosticCategory.Message,\"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060\",\"Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix).\"),NEWLINE:t(6061,e.DiagnosticCategory.Message,\"NEWLINE_6061\",\"NEWLINE\"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:t(6064,e.DiagnosticCategory.Error,\"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064\",\"Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line.\"),Enables_experimental_support_for_ES7_decorators:t(6065,e.DiagnosticCategory.Message,\"Enables_experimental_support_for_ES7_decorators_6065\",\"Enables experimental support for ES7 decorators.\"),Enables_experimental_support_for_emitting_type_metadata_for_decorators:t(6066,e.DiagnosticCategory.Message,\"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066\",\"Enables experimental support for emitting type metadata for decorators.\"),Enables_experimental_support_for_ES7_async_functions:t(6068,e.DiagnosticCategory.Message,\"Enables_experimental_support_for_ES7_async_functions_6068\",\"Enables experimental support for ES7 async functions.\"),Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:t(6069,e.DiagnosticCategory.Message,\"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069\",\"Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6).\"),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:t(6070,e.DiagnosticCategory.Message,\"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070\",\"Initializes a TypeScript project and creates a tsconfig.json file.\"),Successfully_created_a_tsconfig_json_file:t(6071,e.DiagnosticCategory.Message,\"Successfully_created_a_tsconfig_json_file_6071\",\"Successfully created a tsconfig.json file.\"),Suppress_excess_property_checks_for_object_literals:t(6072,e.DiagnosticCategory.Message,\"Suppress_excess_property_checks_for_object_literals_6072\",\"Suppress excess property checks for object literals.\"),Stylize_errors_and_messages_using_color_and_context_experimental:t(6073,e.DiagnosticCategory.Message,\"Stylize_errors_and_messages_using_color_and_context_experimental_6073\",\"Stylize errors and messages using color and context (experimental).\"),Do_not_report_errors_on_unused_labels:t(6074,e.DiagnosticCategory.Message,\"Do_not_report_errors_on_unused_labels_6074\",\"Do not report errors on unused labels.\"),Report_error_when_not_all_code_paths_in_function_return_a_value:t(6075,e.DiagnosticCategory.Message,\"Report_error_when_not_all_code_paths_in_function_return_a_value_6075\",\"Report error when not all code paths in function return a value.\"),Report_errors_for_fallthrough_cases_in_switch_statement:t(6076,e.DiagnosticCategory.Message,\"Report_errors_for_fallthrough_cases_in_switch_statement_6076\",\"Report errors for fallthrough cases in switch statement.\"),Do_not_report_errors_on_unreachable_code:t(6077,e.DiagnosticCategory.Message,\"Do_not_report_errors_on_unreachable_code_6077\",\"Do not report errors on unreachable code.\"),Disallow_inconsistently_cased_references_to_the_same_file:t(6078,e.DiagnosticCategory.Message,\"Disallow_inconsistently_cased_references_to_the_same_file_6078\",\"Disallow inconsistently-cased references to the same file.\"),Specify_library_files_to_be_included_in_the_compilation:t(6079,e.DiagnosticCategory.Message,\"Specify_library_files_to_be_included_in_the_compilation_6079\",\"Specify library files to be included in the compilation.\"),Specify_JSX_code_generation_Colon_preserve_react_native_or_react:t(6080,e.DiagnosticCategory.Message,\"Specify_JSX_code_generation_Colon_preserve_react_native_or_react_6080\",\"Specify JSX code generation: 'preserve', 'react-native', or 'react'.\"),File_0_has_an_unsupported_extension_so_skipping_it:t(6081,e.DiagnosticCategory.Message,\"File_0_has_an_unsupported_extension_so_skipping_it_6081\",\"File '{0}' has an unsupported extension, so skipping it.\"),Only_amd_and_system_modules_are_supported_alongside_0:t(6082,e.DiagnosticCategory.Error,\"Only_amd_and_system_modules_are_supported_alongside_0_6082\",\"Only 'amd' and 'system' modules are supported alongside --{0}.\"),Base_directory_to_resolve_non_absolute_module_names:t(6083,e.DiagnosticCategory.Message,\"Base_directory_to_resolve_non_absolute_module_names_6083\",\"Base directory to resolve non-absolute module names.\"),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:t(6084,e.DiagnosticCategory.Message,\"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084\",\"[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit\"),Enable_tracing_of_the_name_resolution_process:t(6085,e.DiagnosticCategory.Message,\"Enable_tracing_of_the_name_resolution_process_6085\",\"Enable tracing of the name resolution process.\"),Resolving_module_0_from_1:t(6086,e.DiagnosticCategory.Message,\"Resolving_module_0_from_1_6086\",\"======== Resolving module '{0}' from '{1}'. ========\"),Explicitly_specified_module_resolution_kind_Colon_0:t(6087,e.DiagnosticCategory.Message,\"Explicitly_specified_module_resolution_kind_Colon_0_6087\",\"Explicitly specified module resolution kind: '{0}'.\"),Module_resolution_kind_is_not_specified_using_0:t(6088,e.DiagnosticCategory.Message,\"Module_resolution_kind_is_not_specified_using_0_6088\",\"Module resolution kind is not specified, using '{0}'.\"),Module_name_0_was_successfully_resolved_to_1:t(6089,e.DiagnosticCategory.Message,\"Module_name_0_was_successfully_resolved_to_1_6089\",\"======== Module name '{0}' was successfully resolved to '{1}'. ========\"),Module_name_0_was_not_resolved:t(6090,e.DiagnosticCategory.Message,\"Module_name_0_was_not_resolved_6090\",\"======== Module name '{0}' was not resolved. ========\"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:t(6091,e.DiagnosticCategory.Message,\"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091\",\"'paths' option is specified, looking for a pattern to match module name '{0}'.\"),Module_name_0_matched_pattern_1:t(6092,e.DiagnosticCategory.Message,\"Module_name_0_matched_pattern_1_6092\",\"Module name '{0}', matched pattern '{1}'.\"),Trying_substitution_0_candidate_module_location_Colon_1:t(6093,e.DiagnosticCategory.Message,\"Trying_substitution_0_candidate_module_location_Colon_1_6093\",\"Trying substitution '{0}', candidate module location: '{1}'.\"),Resolving_module_name_0_relative_to_base_url_1_2:t(6094,e.DiagnosticCategory.Message,\"Resolving_module_name_0_relative_to_base_url_1_2_6094\",\"Resolving module name '{0}' relative to base url '{1}' - '{2}'.\"),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1:t(6095,e.DiagnosticCategory.Message,\"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095\",\"Loading module as file / folder, candidate module location '{0}', target file type '{1}'.\"),File_0_does_not_exist:t(6096,e.DiagnosticCategory.Message,\"File_0_does_not_exist_6096\",\"File '{0}' does not exist.\"),File_0_exist_use_it_as_a_name_resolution_result:t(6097,e.DiagnosticCategory.Message,\"File_0_exist_use_it_as_a_name_resolution_result_6097\",\"File '{0}' exist - use it as a name resolution result.\"),Loading_module_0_from_node_modules_folder_target_file_type_1:t(6098,e.DiagnosticCategory.Message,\"Loading_module_0_from_node_modules_folder_target_file_type_1_6098\",\"Loading module '{0}' from 'node_modules' folder, target file type '{1}'.\"),Found_package_json_at_0:t(6099,e.DiagnosticCategory.Message,\"Found_package_json_at_0_6099\",\"Found 'package.json' at '{0}'.\"),package_json_does_not_have_a_0_field:t(6100,e.DiagnosticCategory.Message,\"package_json_does_not_have_a_0_field_6100\",\"'package.json' does not have a '{0}' field.\"),package_json_has_0_field_1_that_references_2:t(6101,e.DiagnosticCategory.Message,\"package_json_has_0_field_1_that_references_2_6101\",\"'package.json' has '{0}' field '{1}' that references '{2}'.\"),Allow_javascript_files_to_be_compiled:t(6102,e.DiagnosticCategory.Message,\"Allow_javascript_files_to_be_compiled_6102\",\"Allow javascript files to be compiled.\"),Option_0_should_have_array_of_strings_as_a_value:t(6103,e.DiagnosticCategory.Error,\"Option_0_should_have_array_of_strings_as_a_value_6103\",\"Option '{0}' should have array of strings as a value.\"),Checking_if_0_is_the_longest_matching_prefix_for_1_2:t(6104,e.DiagnosticCategory.Message,\"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104\",\"Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'.\"),Expected_type_of_0_field_in_package_json_to_be_1_got_2:t(6105,e.DiagnosticCategory.Message,\"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105\",\"Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'.\"),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:t(6106,e.DiagnosticCategory.Message,\"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106\",\"'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'.\"),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:t(6107,e.DiagnosticCategory.Message,\"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107\",\"'rootDirs' option is set, using it to resolve relative module name '{0}'.\"),Longest_matching_prefix_for_0_is_1:t(6108,e.DiagnosticCategory.Message,\"Longest_matching_prefix_for_0_is_1_6108\",\"Longest matching prefix for '{0}' is '{1}'.\"),Loading_0_from_the_root_dir_1_candidate_location_2:t(6109,e.DiagnosticCategory.Message,\"Loading_0_from_the_root_dir_1_candidate_location_2_6109\",\"Loading '{0}' from the root dir '{1}', candidate location '{2}'.\"),Trying_other_entries_in_rootDirs:t(6110,e.DiagnosticCategory.Message,\"Trying_other_entries_in_rootDirs_6110\",\"Trying other entries in 'rootDirs'.\"),Module_resolution_using_rootDirs_has_failed:t(6111,e.DiagnosticCategory.Message,\"Module_resolution_using_rootDirs_has_failed_6111\",\"Module resolution using 'rootDirs' has failed.\"),Do_not_emit_use_strict_directives_in_module_output:t(6112,e.DiagnosticCategory.Message,\"Do_not_emit_use_strict_directives_in_module_output_6112\",\"Do not emit 'use strict' directives in module output.\"),Enable_strict_null_checks:t(6113,e.DiagnosticCategory.Message,\"Enable_strict_null_checks_6113\",\"Enable strict null checks.\"),Unknown_option_excludes_Did_you_mean_exclude:t(6114,e.DiagnosticCategory.Error,\"Unknown_option_excludes_Did_you_mean_exclude_6114\",\"Unknown option 'excludes'. Did you mean 'exclude'?\"),Raise_error_on_this_expressions_with_an_implied_any_type:t(6115,e.DiagnosticCategory.Message,\"Raise_error_on_this_expressions_with_an_implied_any_type_6115\",\"Raise error on 'this' expressions with an implied 'any' type.\"),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:t(6116,e.DiagnosticCategory.Message,\"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116\",\"======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========\"),Resolving_using_primary_search_paths:t(6117,e.DiagnosticCategory.Message,\"Resolving_using_primary_search_paths_6117\",\"Resolving using primary search paths...\"),Resolving_from_node_modules_folder:t(6118,e.DiagnosticCategory.Message,\"Resolving_from_node_modules_folder_6118\",\"Resolving from node_modules folder...\"),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:t(6119,e.DiagnosticCategory.Message,\"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119\",\"======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========\"),Type_reference_directive_0_was_not_resolved:t(6120,e.DiagnosticCategory.Message,\"Type_reference_directive_0_was_not_resolved_6120\",\"======== Type reference directive '{0}' was not resolved. ========\"),Resolving_with_primary_search_path_0:t(6121,e.DiagnosticCategory.Message,\"Resolving_with_primary_search_path_0_6121\",\"Resolving with primary search path '{0}'.\"),Root_directory_cannot_be_determined_skipping_primary_search_paths:t(6122,e.DiagnosticCategory.Message,\"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122\",\"Root directory cannot be determined, skipping primary search paths.\"),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:t(6123,e.DiagnosticCategory.Message,\"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123\",\"======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========\"),Type_declaration_files_to_be_included_in_compilation:t(6124,e.DiagnosticCategory.Message,\"Type_declaration_files_to_be_included_in_compilation_6124\",\"Type declaration files to be included in compilation.\"),Looking_up_in_node_modules_folder_initial_location_0:t(6125,e.DiagnosticCategory.Message,\"Looking_up_in_node_modules_folder_initial_location_0_6125\",\"Looking up in 'node_modules' folder, initial location '{0}'.\"),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:t(6126,e.DiagnosticCategory.Message,\"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126\",\"Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder.\"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:t(6127,e.DiagnosticCategory.Message,\"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127\",\"======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========\"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:t(6128,e.DiagnosticCategory.Message,\"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128\",\"======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========\"),Resolving_real_path_for_0_result_1:t(6130,e.DiagnosticCategory.Message,\"Resolving_real_path_for_0_result_1_6130\",\"Resolving real path for '{0}', result '{1}'.\"),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:t(6131,e.DiagnosticCategory.Error,\"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131\",\"Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'.\"),File_name_0_has_a_1_extension_stripping_it:t(6132,e.DiagnosticCategory.Message,\"File_name_0_has_a_1_extension_stripping_it_6132\",\"File name '{0}' has a '{1}' extension - stripping it.\"),_0_is_declared_but_its_value_is_never_read:t(6133,e.DiagnosticCategory.Error,\"_0_is_declared_but_its_value_is_never_read_6133\",\"'{0}' is declared but its value is never read.\",!0),Report_errors_on_unused_locals:t(6134,e.DiagnosticCategory.Message,\"Report_errors_on_unused_locals_6134\",\"Report errors on unused locals.\"),Report_errors_on_unused_parameters:t(6135,e.DiagnosticCategory.Message,\"Report_errors_on_unused_parameters_6135\",\"Report errors on unused parameters.\"),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:t(6136,e.DiagnosticCategory.Message,\"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136\",\"The maximum dependency depth to search under node_modules and load JavaScript files.\"),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:t(6137,e.DiagnosticCategory.Error,\"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137\",\"Cannot import type declaration files. Consider importing '{0}' instead of '{1}'.\"),Property_0_is_declared_but_its_value_is_never_read:t(6138,e.DiagnosticCategory.Error,\"Property_0_is_declared_but_its_value_is_never_read_6138\",\"Property '{0}' is declared but its value is never read.\",!0),Import_emit_helpers_from_tslib:t(6139,e.DiagnosticCategory.Message,\"Import_emit_helpers_from_tslib_6139\",\"Import emit helpers from 'tslib'.\"),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:t(6140,e.DiagnosticCategory.Error,\"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140\",\"Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'.\"),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:t(6141,e.DiagnosticCategory.Message,\"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141\",'Parse in strict mode and emit \"use strict\" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:t(6142,e.DiagnosticCategory.Error,\"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142\",\"Module '{0}' was resolved to '{1}', but '--jsx' is not set.\"),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:t(6144,e.DiagnosticCategory.Message,\"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144\",\"Module '{0}' was resolved as locally declared ambient module in file '{1}'.\"),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:t(6145,e.DiagnosticCategory.Message,\"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145\",\"Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified.\"),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:t(6146,e.DiagnosticCategory.Message,\"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146\",\"Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'.\"),Resolution_for_module_0_was_found_in_cache_from_location_1:t(6147,e.DiagnosticCategory.Message,\"Resolution_for_module_0_was_found_in_cache_from_location_1_6147\",\"Resolution for module '{0}' was found in cache from location '{1}'.\"),Directory_0_does_not_exist_skipping_all_lookups_in_it:t(6148,e.DiagnosticCategory.Message,\"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148\",\"Directory '{0}' does not exist, skipping all lookups in it.\"),Show_diagnostic_information:t(6149,e.DiagnosticCategory.Message,\"Show_diagnostic_information_6149\",\"Show diagnostic information.\"),Show_verbose_diagnostic_information:t(6150,e.DiagnosticCategory.Message,\"Show_verbose_diagnostic_information_6150\",\"Show verbose diagnostic information.\"),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:t(6151,e.DiagnosticCategory.Message,\"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151\",\"Emit a single file with source maps instead of having a separate file.\"),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:t(6152,e.DiagnosticCategory.Message,\"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152\",\"Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set.\"),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:t(6153,e.DiagnosticCategory.Message,\"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153\",\"Transpile each file as a separate module (similar to 'ts.transpileModule').\"),Print_names_of_generated_files_part_of_the_compilation:t(6154,e.DiagnosticCategory.Message,\"Print_names_of_generated_files_part_of_the_compilation_6154\",\"Print names of generated files part of the compilation.\"),Print_names_of_files_part_of_the_compilation:t(6155,e.DiagnosticCategory.Message,\"Print_names_of_files_part_of_the_compilation_6155\",\"Print names of files part of the compilation.\"),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:t(6156,e.DiagnosticCategory.Message,\"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156\",\"The locale used when displaying messages to the user (e.g. 'en-us')\"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:t(6157,e.DiagnosticCategory.Message,\"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157\",\"Do not generate custom helper functions like '__extends' in compiled output.\"),Do_not_include_the_default_library_file_lib_d_ts:t(6158,e.DiagnosticCategory.Message,\"Do_not_include_the_default_library_file_lib_d_ts_6158\",\"Do not include the default library file (lib.d.ts).\"),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:t(6159,e.DiagnosticCategory.Message,\"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159\",\"Do not add triple-slash references or imported modules to the list of compiled files.\"),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:t(6160,e.DiagnosticCategory.Message,\"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160\",\"[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files.\"),List_of_folders_to_include_type_definitions_from:t(6161,e.DiagnosticCategory.Message,\"List_of_folders_to_include_type_definitions_from_6161\",\"List of folders to include type definitions from.\"),Disable_size_limitations_on_JavaScript_projects:t(6162,e.DiagnosticCategory.Message,\"Disable_size_limitations_on_JavaScript_projects_6162\",\"Disable size limitations on JavaScript projects.\"),The_character_set_of_the_input_files:t(6163,e.DiagnosticCategory.Message,\"The_character_set_of_the_input_files_6163\",\"The character set of the input files.\"),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:t(6164,e.DiagnosticCategory.Message,\"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6164\",\"Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files.\"),Do_not_truncate_error_messages:t(6165,e.DiagnosticCategory.Message,\"Do_not_truncate_error_messages_6165\",\"Do not truncate error messages.\"),Output_directory_for_generated_declaration_files:t(6166,e.DiagnosticCategory.Message,\"Output_directory_for_generated_declaration_files_6166\",\"Output directory for generated declaration files.\"),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:t(6167,e.DiagnosticCategory.Message,\"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167\",\"A series of entries which re-map imports to lookup locations relative to the 'baseUrl'.\"),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:t(6168,e.DiagnosticCategory.Message,\"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168\",\"List of root folders whose combined content represents the structure of the project at runtime.\"),Show_all_compiler_options:t(6169,e.DiagnosticCategory.Message,\"Show_all_compiler_options_6169\",\"Show all compiler options.\"),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:t(6170,e.DiagnosticCategory.Message,\"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170\",\"[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file\"),Command_line_Options:t(6171,e.DiagnosticCategory.Message,\"Command_line_Options_6171\",\"Command-line Options\"),Basic_Options:t(6172,e.DiagnosticCategory.Message,\"Basic_Options_6172\",\"Basic Options\"),Strict_Type_Checking_Options:t(6173,e.DiagnosticCategory.Message,\"Strict_Type_Checking_Options_6173\",\"Strict Type-Checking Options\"),Module_Resolution_Options:t(6174,e.DiagnosticCategory.Message,\"Module_Resolution_Options_6174\",\"Module Resolution Options\"),Source_Map_Options:t(6175,e.DiagnosticCategory.Message,\"Source_Map_Options_6175\",\"Source Map Options\"),Additional_Checks:t(6176,e.DiagnosticCategory.Message,\"Additional_Checks_6176\",\"Additional Checks\"),Experimental_Options:t(6177,e.DiagnosticCategory.Message,\"Experimental_Options_6177\",\"Experimental Options\"),Advanced_Options:t(6178,e.DiagnosticCategory.Message,\"Advanced_Options_6178\",\"Advanced Options\"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:t(6179,e.DiagnosticCategory.Message,\"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179\",\"Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'.\"),Enable_all_strict_type_checking_options:t(6180,e.DiagnosticCategory.Message,\"Enable_all_strict_type_checking_options_6180\",\"Enable all strict type-checking options.\"),List_of_language_service_plugins:t(6181,e.DiagnosticCategory.Message,\"List_of_language_service_plugins_6181\",\"List of language service plugins.\"),Scoped_package_detected_looking_in_0:t(6182,e.DiagnosticCategory.Message,\"Scoped_package_detected_looking_in_0_6182\",\"Scoped package detected, looking in '{0}'\"),Reusing_resolution_of_module_0_to_file_1_from_old_program:t(6183,e.DiagnosticCategory.Message,\"Reusing_resolution_of_module_0_to_file_1_from_old_program_6183\",\"Reusing resolution of module '{0}' to file '{1}' from old program.\"),Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program:t(6184,e.DiagnosticCategory.Message,\"Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program_6184\",\"Reusing module resolutions originating in '{0}' since resolutions are unchanged from old program.\"),Disable_strict_checking_of_generic_signatures_in_function_types:t(6185,e.DiagnosticCategory.Message,\"Disable_strict_checking_of_generic_signatures_in_function_types_6185\",\"Disable strict checking of generic signatures in function types.\"),Enable_strict_checking_of_function_types:t(6186,e.DiagnosticCategory.Message,\"Enable_strict_checking_of_function_types_6186\",\"Enable strict checking of function types.\"),Enable_strict_checking_of_property_initialization_in_classes:t(6187,e.DiagnosticCategory.Message,\"Enable_strict_checking_of_property_initialization_in_classes_6187\",\"Enable strict checking of property initialization in classes.\"),Numeric_separators_are_not_allowed_here:t(6188,e.DiagnosticCategory.Error,\"Numeric_separators_are_not_allowed_here_6188\",\"Numeric separators are not allowed here.\"),Multiple_consecutive_numeric_separators_are_not_permitted:t(6189,e.DiagnosticCategory.Error,\"Multiple_consecutive_numeric_separators_are_not_permitted_6189\",\"Multiple consecutive numeric separators are not permitted.\"),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:t(6191,e.DiagnosticCategory.Message,\"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191\",\"Whether to keep outdated console output in watch mode instead of clearing the screen.\"),All_imports_in_import_declaration_are_unused:t(6192,e.DiagnosticCategory.Error,\"All_imports_in_import_declaration_are_unused_6192\",\"All imports in import declaration are unused.\",!0),Found_1_error_Watching_for_file_changes:t(6193,e.DiagnosticCategory.Message,\"Found_1_error_Watching_for_file_changes_6193\",\"Found 1 error. Watching for file changes.\"),Found_0_errors_Watching_for_file_changes:t(6194,e.DiagnosticCategory.Message,\"Found_0_errors_Watching_for_file_changes_6194\",\"Found {0} errors. Watching for file changes.\"),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:t(6195,e.DiagnosticCategory.Message,\"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195\",\"Resolve 'keyof' to string valued property names only (no numbers or symbols).\"),_0_is_declared_but_never_used:t(6196,e.DiagnosticCategory.Error,\"_0_is_declared_but_never_used_6196\",\"'{0}' is declared but never used.\",!0),Include_modules_imported_with_json_extension:t(6197,e.DiagnosticCategory.Message,\"Include_modules_imported_with_json_extension_6197\",\"Include modules imported with '.json' extension\"),All_destructured_elements_are_unused:t(6198,e.DiagnosticCategory.Error,\"All_destructured_elements_are_unused_6198\",\"All destructured elements are unused.\",!0),All_variables_are_unused:t(6199,e.DiagnosticCategory.Error,\"All_variables_are_unused_6199\",\"All variables are unused.\",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:t(6200,e.DiagnosticCategory.Error,\"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200\",\"Definitions of the following identifiers conflict with those in another file: {0}\"),Conflicts_are_in_this_file:t(6201,e.DiagnosticCategory.Message,\"Conflicts_are_in_this_file_6201\",\"Conflicts are in this file.\"),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:t(6202,e.DiagnosticCategory.Error,\"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202\",\"Project references may not form a circular graph. Cycle detected: {0}\"),_0_was_also_declared_here:t(6203,e.DiagnosticCategory.Message,\"_0_was_also_declared_here_6203\",\"'{0}' was also declared here.\"),and_here:t(6204,e.DiagnosticCategory.Message,\"and_here_6204\",\"and here.\"),All_type_parameters_are_unused:t(6205,e.DiagnosticCategory.Error,\"All_type_parameters_are_unused_6205\",\"All type parameters are unused.\"),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:t(6206,e.DiagnosticCategory.Message,\"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206\",\"'package.json' has a 'typesVersions' field with version-specific path mappings.\"),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:t(6207,e.DiagnosticCategory.Message,\"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207\",\"'package.json' does not have a 'typesVersions' entry that matches version '{0}'.\"),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:t(6208,e.DiagnosticCategory.Message,\"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208\",\"'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'.\"),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:t(6209,e.DiagnosticCategory.Message,\"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209\",\"'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range.\"),An_argument_for_0_was_not_provided:t(6210,e.DiagnosticCategory.Message,\"An_argument_for_0_was_not_provided_6210\",\"An argument for '{0}' was not provided.\"),An_argument_matching_this_binding_pattern_was_not_provided:t(6211,e.DiagnosticCategory.Message,\"An_argument_matching_this_binding_pattern_was_not_provided_6211\",\"An argument matching this binding pattern was not provided.\"),Did_you_mean_to_call_this_expression:t(6212,e.DiagnosticCategory.Message,\"Did_you_mean_to_call_this_expression_6212\",\"Did you mean to call this expression?\"),Did_you_mean_to_use_new_with_this_expression:t(6213,e.DiagnosticCategory.Message,\"Did_you_mean_to_use_new_with_this_expression_6213\",\"Did you mean to use 'new' with this expression?\"),Enable_strict_bind_call_and_apply_methods_on_functions:t(6214,e.DiagnosticCategory.Message,\"Enable_strict_bind_call_and_apply_methods_on_functions_6214\",\"Enable strict 'bind', 'call', and 'apply' methods on functions.\"),Using_compiler_options_of_project_reference_redirect_0:t(6215,e.DiagnosticCategory.Message,\"Using_compiler_options_of_project_reference_redirect_0_6215\",\"Using compiler options of project reference redirect '{0}'.\"),Found_1_error:t(6216,e.DiagnosticCategory.Message,\"Found_1_error_6216\",\"Found 1 error.\"),Found_0_errors:t(6217,e.DiagnosticCategory.Message,\"Found_0_errors_6217\",\"Found {0} errors.\"),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:t(6218,e.DiagnosticCategory.Message,\"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218\",\"======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========\"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:t(6219,e.DiagnosticCategory.Message,\"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219\",\"======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========\"),package_json_had_a_falsy_0_field:t(6220,e.DiagnosticCategory.Message,\"package_json_had_a_falsy_0_field_6220\",\"'package.json' had a falsy '{0}' field.\"),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:t(6221,e.DiagnosticCategory.Message,\"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221\",\"Disable use of source files instead of declaration files from referenced projects.\"),Emit_class_fields_with_Define_instead_of_Set:t(6222,e.DiagnosticCategory.Message,\"Emit_class_fields_with_Define_instead_of_Set_6222\",\"Emit class fields with Define instead of Set.\"),Generates_a_CPU_profile:t(6223,e.DiagnosticCategory.Message,\"Generates_a_CPU_profile_6223\",\"Generates a CPU profile.\"),Disable_solution_searching_for_this_project:t(6224,e.DiagnosticCategory.Message,\"Disable_solution_searching_for_this_project_6224\",\"Disable solution searching for this project.\"),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_UseFsEvents_UseFsEventsOnParentDirectory:t(6225,e.DiagnosticCategory.Message,\"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225\",\"Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'.\"),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling:t(6226,e.DiagnosticCategory.Message,\"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226\",\"Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling'.\"),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority:t(6227,e.DiagnosticCategory.Message,\"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227\",\"Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority'.\"),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:t(6228,e.DiagnosticCategory.Message,\"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6228\",\"Synchronously call callbacks and update the state of directory watchers on platforms that don't support recursive watching natively.\"),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:t(6229,e.DiagnosticCategory.Error,\"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229\",\"Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'.\"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:t(6230,e.DiagnosticCategory.Error,\"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230\",\"Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line.\"),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:t(6231,e.DiagnosticCategory.Error,\"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231\",\"Could not resolve the path '{0}' with the extensions: {1}.\"),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:t(6232,e.DiagnosticCategory.Error,\"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232\",\"Declaration augments declaration in another file. This cannot be serialized.\"),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:t(6233,e.DiagnosticCategory.Error,\"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233\",\"This is the declaration being augmented. Consider moving the augmenting declaration into the same file.\"),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:t(6234,e.DiagnosticCategory.Error,\"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234\",\"This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?\"),Disable_loading_referenced_projects:t(6235,e.DiagnosticCategory.Message,\"Disable_loading_referenced_projects_6235\",\"Disable loading referenced projects.\"),Arguments_for_the_rest_parameter_0_were_not_provided:t(6236,e.DiagnosticCategory.Error,\"Arguments_for_the_rest_parameter_0_were_not_provided_6236\",\"Arguments for the rest parameter '{0}' were not provided.\"),Generates_an_event_trace_and_a_list_of_types:t(6237,e.DiagnosticCategory.Message,\"Generates_an_event_trace_and_a_list_of_types_6237\",\"Generates an event trace and a list of types.\"),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:t(6238,e.DiagnosticCategory.Error,\"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238\",\"Specify the module specifier to be used to import the `jsx` and `jsxs` factory functions from. eg, react\"),Projects_to_reference:t(6300,e.DiagnosticCategory.Message,\"Projects_to_reference_6300\",\"Projects to reference\"),Enable_project_compilation:t(6302,e.DiagnosticCategory.Message,\"Enable_project_compilation_6302\",\"Enable project compilation\"),Composite_projects_may_not_disable_declaration_emit:t(6304,e.DiagnosticCategory.Error,\"Composite_projects_may_not_disable_declaration_emit_6304\",\"Composite projects may not disable declaration emit.\"),Output_file_0_has_not_been_built_from_source_file_1:t(6305,e.DiagnosticCategory.Error,\"Output_file_0_has_not_been_built_from_source_file_1_6305\",\"Output file '{0}' has not been built from source file '{1}'.\"),Referenced_project_0_must_have_setting_composite_Colon_true:t(6306,e.DiagnosticCategory.Error,\"Referenced_project_0_must_have_setting_composite_Colon_true_6306\",\"Referenced project '{0}' must have setting \\\"composite\\\": true.\"),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:t(6307,e.DiagnosticCategory.Error,\"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307\",\"File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern.\"),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:t(6308,e.DiagnosticCategory.Error,\"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308\",\"Cannot prepend project '{0}' because it does not have 'outFile' set\"),Output_file_0_from_project_1_does_not_exist:t(6309,e.DiagnosticCategory.Error,\"Output_file_0_from_project_1_does_not_exist_6309\",\"Output file '{0}' from project '{1}' does not exist\"),Referenced_project_0_may_not_disable_emit:t(6310,e.DiagnosticCategory.Error,\"Referenced_project_0_may_not_disable_emit_6310\",\"Referenced project '{0}' may not disable emit.\"),Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2:t(6350,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350\",\"Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}'\"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2:t(6351,e.DiagnosticCategory.Message,\"Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351\",\"Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}'\"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:t(6352,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352\",\"Project '{0}' is out of date because output file '{1}' does not exist\"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:t(6353,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353\",\"Project '{0}' is out of date because its dependency '{1}' is out of date\"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:t(6354,e.DiagnosticCategory.Message,\"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354\",\"Project '{0}' is up to date with .d.ts files from its dependencies\"),Projects_in_this_build_Colon_0:t(6355,e.DiagnosticCategory.Message,\"Projects_in_this_build_Colon_0_6355\",\"Projects in this build: {0}\"),A_non_dry_build_would_delete_the_following_files_Colon_0:t(6356,e.DiagnosticCategory.Message,\"A_non_dry_build_would_delete_the_following_files_Colon_0_6356\",\"A non-dry build would delete the following files: {0}\"),A_non_dry_build_would_build_project_0:t(6357,e.DiagnosticCategory.Message,\"A_non_dry_build_would_build_project_0_6357\",\"A non-dry build would build project '{0}'\"),Building_project_0:t(6358,e.DiagnosticCategory.Message,\"Building_project_0_6358\",\"Building project '{0}'...\"),Updating_output_timestamps_of_project_0:t(6359,e.DiagnosticCategory.Message,\"Updating_output_timestamps_of_project_0_6359\",\"Updating output timestamps of project '{0}'...\"),delete_this_Project_0_is_up_to_date_because_it_was_previously_built:t(6360,e.DiagnosticCategory.Message,\"delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360\",\"delete this - Project '{0}' is up to date because it was previously built\"),Project_0_is_up_to_date:t(6361,e.DiagnosticCategory.Message,\"Project_0_is_up_to_date_6361\",\"Project '{0}' is up to date\"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:t(6362,e.DiagnosticCategory.Message,\"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362\",\"Skipping build of project '{0}' because its dependency '{1}' has errors\"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:t(6363,e.DiagnosticCategory.Message,\"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363\",\"Project '{0}' can't be built because its dependency '{1}' has errors\"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:t(6364,e.DiagnosticCategory.Message,\"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364\",\"Build one or more projects and their dependencies, if out of date\"),Delete_the_outputs_of_all_projects:t(6365,e.DiagnosticCategory.Message,\"Delete_the_outputs_of_all_projects_6365\",\"Delete the outputs of all projects\"),Enable_verbose_logging:t(6366,e.DiagnosticCategory.Message,\"Enable_verbose_logging_6366\",\"Enable verbose logging\"),Show_what_would_be_built_or_deleted_if_specified_with_clean:t(6367,e.DiagnosticCategory.Message,\"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367\",\"Show what would be built (or deleted, if specified with '--clean')\"),Build_all_projects_including_those_that_appear_to_be_up_to_date:t(6368,e.DiagnosticCategory.Message,\"Build_all_projects_including_those_that_appear_to_be_up_to_date_6368\",\"Build all projects, including those that appear to be up to date\"),Option_build_must_be_the_first_command_line_argument:t(6369,e.DiagnosticCategory.Error,\"Option_build_must_be_the_first_command_line_argument_6369\",\"Option '--build' must be the first command line argument.\"),Options_0_and_1_cannot_be_combined:t(6370,e.DiagnosticCategory.Error,\"Options_0_and_1_cannot_be_combined_6370\",\"Options '{0}' and '{1}' cannot be combined.\"),Updating_unchanged_output_timestamps_of_project_0:t(6371,e.DiagnosticCategory.Message,\"Updating_unchanged_output_timestamps_of_project_0_6371\",\"Updating unchanged output timestamps of project '{0}'...\"),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:t(6372,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372\",\"Project '{0}' is out of date because output of its dependency '{1}' has changed\"),Updating_output_of_project_0:t(6373,e.DiagnosticCategory.Message,\"Updating_output_of_project_0_6373\",\"Updating output of project '{0}'...\"),A_non_dry_build_would_update_timestamps_for_output_of_project_0:t(6374,e.DiagnosticCategory.Message,\"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374\",\"A non-dry build would update timestamps for output of project '{0}'\"),A_non_dry_build_would_update_output_of_project_0:t(6375,e.DiagnosticCategory.Message,\"A_non_dry_build_would_update_output_of_project_0_6375\",\"A non-dry build would update output of project '{0}'\"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:t(6376,e.DiagnosticCategory.Message,\"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376\",\"Cannot update output of project '{0}' because there was error reading file '{1}'\"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:t(6377,e.DiagnosticCategory.Error,\"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377\",\"Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'\"),Enable_incremental_compilation:t(6378,e.DiagnosticCategory.Message,\"Enable_incremental_compilation_6378\",\"Enable incremental compilation\"),Composite_projects_may_not_disable_incremental_compilation:t(6379,e.DiagnosticCategory.Error,\"Composite_projects_may_not_disable_incremental_compilation_6379\",\"Composite projects may not disable incremental compilation.\"),Specify_file_to_store_incremental_compilation_information:t(6380,e.DiagnosticCategory.Message,\"Specify_file_to_store_incremental_compilation_information_6380\",\"Specify file to store incremental compilation information\"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:t(6381,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381\",\"Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'\"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:t(6382,e.DiagnosticCategory.Message,\"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382\",\"Skipping build of project '{0}' because its dependency '{1}' was not built\"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:t(6383,e.DiagnosticCategory.Message,\"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383\",\"Project '{0}' can't be built because its dependency '{1}' was not built\"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:t(6384,e.DiagnosticCategory.Message,\"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384\",\"Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it.\"),_0_is_deprecated:t(6385,e.DiagnosticCategory.Suggestion,\"_0_is_deprecated_6385\",\"'{0}' is deprecated\",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:t(6386,e.DiagnosticCategory.Message,\"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386\",\"Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found.\"),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:t(6500,e.DiagnosticCategory.Message,\"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500\",\"The expected type comes from property '{0}' which is declared here on type '{1}'\"),The_expected_type_comes_from_this_index_signature:t(6501,e.DiagnosticCategory.Message,\"The_expected_type_comes_from_this_index_signature_6501\",\"The expected type comes from this index signature.\"),The_expected_type_comes_from_the_return_type_of_this_signature:t(6502,e.DiagnosticCategory.Message,\"The_expected_type_comes_from_the_return_type_of_this_signature_6502\",\"The expected type comes from the return type of this signature.\"),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:t(6503,e.DiagnosticCategory.Message,\"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503\",\"Print names of files that are part of the compilation and then stop processing.\"),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:t(6504,e.DiagnosticCategory.Error,\"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504\",\"File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?\"),Include_undefined_in_index_signature_results:t(6800,e.DiagnosticCategory.Message,\"Include_undefined_in_index_signature_results_6800\",\"Include 'undefined' in index signature results\"),Variable_0_implicitly_has_an_1_type:t(7005,e.DiagnosticCategory.Error,\"Variable_0_implicitly_has_an_1_type_7005\",\"Variable '{0}' implicitly has an '{1}' type.\"),Parameter_0_implicitly_has_an_1_type:t(7006,e.DiagnosticCategory.Error,\"Parameter_0_implicitly_has_an_1_type_7006\",\"Parameter '{0}' implicitly has an '{1}' type.\"),Member_0_implicitly_has_an_1_type:t(7008,e.DiagnosticCategory.Error,\"Member_0_implicitly_has_an_1_type_7008\",\"Member '{0}' implicitly has an '{1}' type.\"),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:t(7009,e.DiagnosticCategory.Error,\"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009\",\"'new' expression, whose target lacks a construct signature, implicitly has an 'any' type.\"),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:t(7010,e.DiagnosticCategory.Error,\"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010\",\"'{0}', which lacks return-type annotation, implicitly has an '{1}' return type.\"),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:t(7011,e.DiagnosticCategory.Error,\"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011\",\"Function expression, which lacks return-type annotation, implicitly has an '{0}' return type.\"),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:t(7013,e.DiagnosticCategory.Error,\"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013\",\"Construct signature, which lacks return-type annotation, implicitly has an 'any' return type.\"),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:t(7014,e.DiagnosticCategory.Error,\"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014\",\"Function type, which lacks return-type annotation, implicitly has an '{0}' return type.\"),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:t(7015,e.DiagnosticCategory.Error,\"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015\",\"Element implicitly has an 'any' type because index expression is not of type 'number'.\"),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:t(7016,e.DiagnosticCategory.Error,\"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016\",\"Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type.\"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:t(7017,e.DiagnosticCategory.Error,\"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017\",\"Element implicitly has an 'any' type because type '{0}' has no index signature.\"),Object_literal_s_property_0_implicitly_has_an_1_type:t(7018,e.DiagnosticCategory.Error,\"Object_literal_s_property_0_implicitly_has_an_1_type_7018\",\"Object literal's property '{0}' implicitly has an '{1}' type.\"),Rest_parameter_0_implicitly_has_an_any_type:t(7019,e.DiagnosticCategory.Error,\"Rest_parameter_0_implicitly_has_an_any_type_7019\",\"Rest parameter '{0}' implicitly has an 'any[]' type.\"),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:t(7020,e.DiagnosticCategory.Error,\"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020\",\"Call signature, which lacks return-type annotation, implicitly has an 'any' return type.\"),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:t(7022,e.DiagnosticCategory.Error,\"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022\",\"'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.\"),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:t(7023,e.DiagnosticCategory.Error,\"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023\",\"'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.\"),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:t(7024,e.DiagnosticCategory.Error,\"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024\",\"Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.\"),Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:t(7025,e.DiagnosticCategory.Error,\"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025\",\"Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation.\"),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:t(7026,e.DiagnosticCategory.Error,\"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026\",\"JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists.\"),Unreachable_code_detected:t(7027,e.DiagnosticCategory.Error,\"Unreachable_code_detected_7027\",\"Unreachable code detected.\",!0),Unused_label:t(7028,e.DiagnosticCategory.Error,\"Unused_label_7028\",\"Unused label.\",!0),Fallthrough_case_in_switch:t(7029,e.DiagnosticCategory.Error,\"Fallthrough_case_in_switch_7029\",\"Fallthrough case in switch.\"),Not_all_code_paths_return_a_value:t(7030,e.DiagnosticCategory.Error,\"Not_all_code_paths_return_a_value_7030\",\"Not all code paths return a value.\"),Binding_element_0_implicitly_has_an_1_type:t(7031,e.DiagnosticCategory.Error,\"Binding_element_0_implicitly_has_an_1_type_7031\",\"Binding element '{0}' implicitly has an '{1}' type.\"),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:t(7032,e.DiagnosticCategory.Error,\"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032\",\"Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation.\"),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:t(7033,e.DiagnosticCategory.Error,\"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033\",\"Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation.\"),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:t(7034,e.DiagnosticCategory.Error,\"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034\",\"Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined.\"),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:t(7035,e.DiagnosticCategory.Error,\"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035\",\"Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`\"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:t(7036,e.DiagnosticCategory.Error,\"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036\",\"Dynamic import's specifier must be of type 'string', but here has type '{0}'.\"),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:t(7037,e.DiagnosticCategory.Message,\"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037\",\"Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'.\"),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:t(7038,e.DiagnosticCategory.Message,\"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038\",\"Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead.\"),Mapped_object_type_implicitly_has_an_any_template_type:t(7039,e.DiagnosticCategory.Error,\"Mapped_object_type_implicitly_has_an_any_template_type_7039\",\"Mapped object type implicitly has an 'any' template type.\"),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:t(7040,e.DiagnosticCategory.Error,\"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040\",\"If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}`\"),The_containing_arrow_function_captures_the_global_value_of_this:t(7041,e.DiagnosticCategory.Error,\"The_containing_arrow_function_captures_the_global_value_of_this_7041\",\"The containing arrow function captures the global value of 'this'.\"),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:t(7042,e.DiagnosticCategory.Error,\"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042\",\"Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used.\"),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7043,e.DiagnosticCategory.Suggestion,\"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043\",\"Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage.\"),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7044,e.DiagnosticCategory.Suggestion,\"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044\",\"Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage.\"),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7045,e.DiagnosticCategory.Suggestion,\"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045\",\"Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage.\"),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:t(7046,e.DiagnosticCategory.Suggestion,\"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046\",\"Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage.\"),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:t(7047,e.DiagnosticCategory.Suggestion,\"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047\",\"Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage.\"),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:t(7048,e.DiagnosticCategory.Suggestion,\"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048\",\"Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage.\"),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:t(7049,e.DiagnosticCategory.Suggestion,\"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049\",\"Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage.\"),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:t(7050,e.DiagnosticCategory.Suggestion,\"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050\",\"'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage.\"),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:t(7051,e.DiagnosticCategory.Error,\"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051\",\"Parameter has a name but no type. Did you mean '{0}: {1}'?\"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:t(7052,e.DiagnosticCategory.Error,\"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052\",\"Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?\"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:t(7053,e.DiagnosticCategory.Error,\"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053\",\"Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'.\"),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:t(7054,e.DiagnosticCategory.Error,\"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054\",\"No index signature with a parameter of type '{0}' was found on type '{1}'.\"),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:t(7055,e.DiagnosticCategory.Error,\"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055\",\"'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type.\"),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:t(7056,e.DiagnosticCategory.Error,\"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056\",\"The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed.\"),You_cannot_rename_this_element:t(8e3,e.DiagnosticCategory.Error,\"You_cannot_rename_this_element_8000\",\"You cannot rename this element.\"),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:t(8001,e.DiagnosticCategory.Error,\"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001\",\"You cannot rename elements that are defined in the standard TypeScript library.\"),import_can_only_be_used_in_TypeScript_files:t(8002,e.DiagnosticCategory.Error,\"import_can_only_be_used_in_TypeScript_files_8002\",\"'import ... =' can only be used in TypeScript files.\"),export_can_only_be_used_in_TypeScript_files:t(8003,e.DiagnosticCategory.Error,\"export_can_only_be_used_in_TypeScript_files_8003\",\"'export =' can only be used in TypeScript files.\"),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:t(8004,e.DiagnosticCategory.Error,\"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004\",\"Type parameter declarations can only be used in TypeScript files.\"),implements_clauses_can_only_be_used_in_TypeScript_files:t(8005,e.DiagnosticCategory.Error,\"implements_clauses_can_only_be_used_in_TypeScript_files_8005\",\"'implements' clauses can only be used in TypeScript files.\"),_0_declarations_can_only_be_used_in_TypeScript_files:t(8006,e.DiagnosticCategory.Error,\"_0_declarations_can_only_be_used_in_TypeScript_files_8006\",\"'{0}' declarations can only be used in TypeScript files.\"),Type_aliases_can_only_be_used_in_TypeScript_files:t(8008,e.DiagnosticCategory.Error,\"Type_aliases_can_only_be_used_in_TypeScript_files_8008\",\"Type aliases can only be used in TypeScript files.\"),The_0_modifier_can_only_be_used_in_TypeScript_files:t(8009,e.DiagnosticCategory.Error,\"The_0_modifier_can_only_be_used_in_TypeScript_files_8009\",\"The '{0}' modifier can only be used in TypeScript files.\"),Type_annotations_can_only_be_used_in_TypeScript_files:t(8010,e.DiagnosticCategory.Error,\"Type_annotations_can_only_be_used_in_TypeScript_files_8010\",\"Type annotations can only be used in TypeScript files.\"),Type_arguments_can_only_be_used_in_TypeScript_files:t(8011,e.DiagnosticCategory.Error,\"Type_arguments_can_only_be_used_in_TypeScript_files_8011\",\"Type arguments can only be used in TypeScript files.\"),Parameter_modifiers_can_only_be_used_in_TypeScript_files:t(8012,e.DiagnosticCategory.Error,\"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012\",\"Parameter modifiers can only be used in TypeScript files.\"),Non_null_assertions_can_only_be_used_in_TypeScript_files:t(8013,e.DiagnosticCategory.Error,\"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013\",\"Non-null assertions can only be used in TypeScript files.\"),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:t(8016,e.DiagnosticCategory.Error,\"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016\",\"Type assertion expressions can only be used in TypeScript files.\"),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:t(8017,e.DiagnosticCategory.Error,\"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017\",\"Octal literal types must use ES2015 syntax. Use the syntax '{0}'.\"),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:t(8018,e.DiagnosticCategory.Error,\"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018\",\"Octal literals are not allowed in enums members initializer. Use the syntax '{0}'.\"),Report_errors_in_js_files:t(8019,e.DiagnosticCategory.Message,\"Report_errors_in_js_files_8019\",\"Report errors in .js files.\"),JSDoc_types_can_only_be_used_inside_documentation_comments:t(8020,e.DiagnosticCategory.Error,\"JSDoc_types_can_only_be_used_inside_documentation_comments_8020\",\"JSDoc types can only be used inside documentation comments.\"),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:t(8021,e.DiagnosticCategory.Error,\"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021\",\"JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags.\"),JSDoc_0_is_not_attached_to_a_class:t(8022,e.DiagnosticCategory.Error,\"JSDoc_0_is_not_attached_to_a_class_8022\",\"JSDoc '@{0}' is not attached to a class.\"),JSDoc_0_1_does_not_match_the_extends_2_clause:t(8023,e.DiagnosticCategory.Error,\"JSDoc_0_1_does_not_match_the_extends_2_clause_8023\",\"JSDoc '@{0} {1}' does not match the 'extends {2}' clause.\"),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:t(8024,e.DiagnosticCategory.Error,\"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024\",\"JSDoc '@param' tag has name '{0}', but there is no parameter with that name.\"),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:t(8025,e.DiagnosticCategory.Error,\"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025\",\"Class declarations cannot have more than one `@augments` or `@extends` tag.\"),Expected_0_type_arguments_provide_these_with_an_extends_tag:t(8026,e.DiagnosticCategory.Error,\"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026\",\"Expected {0} type arguments; provide these with an '@extends' tag.\"),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:t(8027,e.DiagnosticCategory.Error,\"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027\",\"Expected {0}-{1} type arguments; provide these with an '@extends' tag.\"),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:t(8028,e.DiagnosticCategory.Error,\"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028\",\"JSDoc '...' may only appear in the last parameter of a signature.\"),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:t(8029,e.DiagnosticCategory.Error,\"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029\",\"JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type.\"),The_type_of_a_function_declaration_must_match_the_function_s_signature:t(8030,e.DiagnosticCategory.Error,\"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030\",\"The type of a function declaration must match the function's signature.\"),You_cannot_rename_a_module_via_a_global_import:t(8031,e.DiagnosticCategory.Error,\"You_cannot_rename_a_module_via_a_global_import_8031\",\"You cannot rename a module via a global import.\"),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:t(8032,e.DiagnosticCategory.Error,\"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032\",\"Qualified name '{0}' is not allowed without a leading '@param {object} {1}'.\"),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:t(8033,e.DiagnosticCategory.Error,\"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033\",\"A JSDoc '@typedef' comment may not contain multiple '@type' tags.\"),The_tag_was_first_specified_here:t(8034,e.DiagnosticCategory.Error,\"The_tag_was_first_specified_here_8034\",\"The tag was first specified here.\"),Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clause:t(9002,e.DiagnosticCategory.Error,\"Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002\",\"Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clause.\"),class_expressions_are_not_currently_supported:t(9003,e.DiagnosticCategory.Error,\"class_expressions_are_not_currently_supported_9003\",\"'class' expressions are not currently supported.\"),Language_service_is_disabled:t(9004,e.DiagnosticCategory.Error,\"Language_service_is_disabled_9004\",\"Language service is disabled.\"),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:t(9005,e.DiagnosticCategory.Error,\"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005\",\"Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit.\"),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:t(9006,e.DiagnosticCategory.Error,\"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006\",\"Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit.\"),JSX_attributes_must_only_be_assigned_a_non_empty_expression:t(17e3,e.DiagnosticCategory.Error,\"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000\",\"JSX attributes must only be assigned a non-empty 'expression'.\"),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:t(17001,e.DiagnosticCategory.Error,\"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001\",\"JSX elements cannot have multiple attributes with the same name.\"),Expected_corresponding_JSX_closing_tag_for_0:t(17002,e.DiagnosticCategory.Error,\"Expected_corresponding_JSX_closing_tag_for_0_17002\",\"Expected corresponding JSX closing tag for '{0}'.\"),JSX_attribute_expected:t(17003,e.DiagnosticCategory.Error,\"JSX_attribute_expected_17003\",\"JSX attribute expected.\"),Cannot_use_JSX_unless_the_jsx_flag_is_provided:t(17004,e.DiagnosticCategory.Error,\"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004\",\"Cannot use JSX unless the '--jsx' flag is provided.\"),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:t(17005,e.DiagnosticCategory.Error,\"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005\",\"A constructor cannot contain a 'super' call when its class extends 'null'.\"),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:t(17006,e.DiagnosticCategory.Error,\"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006\",\"An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.\"),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:t(17007,e.DiagnosticCategory.Error,\"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007\",\"A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.\"),JSX_element_0_has_no_corresponding_closing_tag:t(17008,e.DiagnosticCategory.Error,\"JSX_element_0_has_no_corresponding_closing_tag_17008\",\"JSX element '{0}' has no corresponding closing tag.\"),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:t(17009,e.DiagnosticCategory.Error,\"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009\",\"'super' must be called before accessing 'this' in the constructor of a derived class.\"),Unknown_type_acquisition_option_0:t(17010,e.DiagnosticCategory.Error,\"Unknown_type_acquisition_option_0_17010\",\"Unknown type acquisition option '{0}'.\"),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:t(17011,e.DiagnosticCategory.Error,\"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011\",\"'super' must be called before accessing a property of 'super' in the constructor of a derived class.\"),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:t(17012,e.DiagnosticCategory.Error,\"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012\",\"'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?\"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:t(17013,e.DiagnosticCategory.Error,\"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013\",\"Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor.\"),JSX_fragment_has_no_corresponding_closing_tag:t(17014,e.DiagnosticCategory.Error,\"JSX_fragment_has_no_corresponding_closing_tag_17014\",\"JSX fragment has no corresponding closing tag.\"),Expected_corresponding_closing_tag_for_JSX_fragment:t(17015,e.DiagnosticCategory.Error,\"Expected_corresponding_closing_tag_for_JSX_fragment_17015\",\"Expected corresponding closing tag for JSX fragment.\"),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:t(17016,e.DiagnosticCategory.Error,\"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016\",\"The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option.\"),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:t(17017,e.DiagnosticCategory.Error,\"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017\",\"An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments.\"),Unknown_type_acquisition_option_0_Did_you_mean_1:t(17018,e.DiagnosticCategory.Error,\"Unknown_type_acquisition_option_0_Did_you_mean_1_17018\",\"Unknown type acquisition option '{0}'. Did you mean '{1}'?\"),Circularity_detected_while_resolving_configuration_Colon_0:t(18e3,e.DiagnosticCategory.Error,\"Circularity_detected_while_resolving_configuration_Colon_0_18000\",\"Circularity detected while resolving configuration: {0}\"),A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not:t(18001,e.DiagnosticCategory.Error,\"A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not_18001\",\"A path in an 'extends' option must be relative or rooted, but '{0}' is not.\"),The_files_list_in_config_file_0_is_empty:t(18002,e.DiagnosticCategory.Error,\"The_files_list_in_config_file_0_is_empty_18002\",\"The 'files' list in config file '{0}' is empty.\"),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:t(18003,e.DiagnosticCategory.Error,\"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003\",\"No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'.\"),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module:t(80001,e.DiagnosticCategory.Suggestion,\"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module_80001\",\"File is a CommonJS module; it may be converted to an ES6 module.\"),This_constructor_function_may_be_converted_to_a_class_declaration:t(80002,e.DiagnosticCategory.Suggestion,\"This_constructor_function_may_be_converted_to_a_class_declaration_80002\",\"This constructor function may be converted to a class declaration.\"),Import_may_be_converted_to_a_default_import:t(80003,e.DiagnosticCategory.Suggestion,\"Import_may_be_converted_to_a_default_import_80003\",\"Import may be converted to a default import.\"),JSDoc_types_may_be_moved_to_TypeScript_types:t(80004,e.DiagnosticCategory.Suggestion,\"JSDoc_types_may_be_moved_to_TypeScript_types_80004\",\"JSDoc types may be moved to TypeScript types.\"),require_call_may_be_converted_to_an_import:t(80005,e.DiagnosticCategory.Suggestion,\"require_call_may_be_converted_to_an_import_80005\",\"'require' call may be converted to an import.\"),This_may_be_converted_to_an_async_function:t(80006,e.DiagnosticCategory.Suggestion,\"This_may_be_converted_to_an_async_function_80006\",\"This may be converted to an async function.\"),await_has_no_effect_on_the_type_of_this_expression:t(80007,e.DiagnosticCategory.Suggestion,\"await_has_no_effect_on_the_type_of_this_expression_80007\",\"'await' has no effect on the type of this expression.\"),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:t(80008,e.DiagnosticCategory.Suggestion,\"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008\",\"Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers.\"),Add_missing_super_call:t(90001,e.DiagnosticCategory.Message,\"Add_missing_super_call_90001\",\"Add missing 'super()' call\"),Make_super_call_the_first_statement_in_the_constructor:t(90002,e.DiagnosticCategory.Message,\"Make_super_call_the_first_statement_in_the_constructor_90002\",\"Make 'super()' call the first statement in the constructor\"),Change_extends_to_implements:t(90003,e.DiagnosticCategory.Message,\"Change_extends_to_implements_90003\",\"Change 'extends' to 'implements'\"),Remove_unused_declaration_for_Colon_0:t(90004,e.DiagnosticCategory.Message,\"Remove_unused_declaration_for_Colon_0_90004\",\"Remove unused declaration for: '{0}'\"),Remove_import_from_0:t(90005,e.DiagnosticCategory.Message,\"Remove_import_from_0_90005\",\"Remove import from '{0}'\"),Implement_interface_0:t(90006,e.DiagnosticCategory.Message,\"Implement_interface_0_90006\",\"Implement interface '{0}'\"),Implement_inherited_abstract_class:t(90007,e.DiagnosticCategory.Message,\"Implement_inherited_abstract_class_90007\",\"Implement inherited abstract class\"),Add_0_to_unresolved_variable:t(90008,e.DiagnosticCategory.Message,\"Add_0_to_unresolved_variable_90008\",\"Add '{0}.' to unresolved variable\"),Remove_variable_statement:t(90010,e.DiagnosticCategory.Message,\"Remove_variable_statement_90010\",\"Remove variable statement\"),Remove_template_tag:t(90011,e.DiagnosticCategory.Message,\"Remove_template_tag_90011\",\"Remove template tag\"),Remove_type_parameters:t(90012,e.DiagnosticCategory.Message,\"Remove_type_parameters_90012\",\"Remove type parameters\"),Import_0_from_module_1:t(90013,e.DiagnosticCategory.Message,\"Import_0_from_module_1_90013\",\"Import '{0}' from module \\\"{1}\\\"\"),Change_0_to_1:t(90014,e.DiagnosticCategory.Message,\"Change_0_to_1_90014\",\"Change '{0}' to '{1}'\"),Add_0_to_existing_import_declaration_from_1:t(90015,e.DiagnosticCategory.Message,\"Add_0_to_existing_import_declaration_from_1_90015\",\"Add '{0}' to existing import declaration from \\\"{1}\\\"\"),Declare_property_0:t(90016,e.DiagnosticCategory.Message,\"Declare_property_0_90016\",\"Declare property '{0}'\"),Add_index_signature_for_property_0:t(90017,e.DiagnosticCategory.Message,\"Add_index_signature_for_property_0_90017\",\"Add index signature for property '{0}'\"),Disable_checking_for_this_file:t(90018,e.DiagnosticCategory.Message,\"Disable_checking_for_this_file_90018\",\"Disable checking for this file\"),Ignore_this_error_message:t(90019,e.DiagnosticCategory.Message,\"Ignore_this_error_message_90019\",\"Ignore this error message\"),Initialize_property_0_in_the_constructor:t(90020,e.DiagnosticCategory.Message,\"Initialize_property_0_in_the_constructor_90020\",\"Initialize property '{0}' in the constructor\"),Initialize_static_property_0:t(90021,e.DiagnosticCategory.Message,\"Initialize_static_property_0_90021\",\"Initialize static property '{0}'\"),Change_spelling_to_0:t(90022,e.DiagnosticCategory.Message,\"Change_spelling_to_0_90022\",\"Change spelling to '{0}'\"),Declare_method_0:t(90023,e.DiagnosticCategory.Message,\"Declare_method_0_90023\",\"Declare method '{0}'\"),Declare_static_method_0:t(90024,e.DiagnosticCategory.Message,\"Declare_static_method_0_90024\",\"Declare static method '{0}'\"),Prefix_0_with_an_underscore:t(90025,e.DiagnosticCategory.Message,\"Prefix_0_with_an_underscore_90025\",\"Prefix '{0}' with an underscore\"),Rewrite_as_the_indexed_access_type_0:t(90026,e.DiagnosticCategory.Message,\"Rewrite_as_the_indexed_access_type_0_90026\",\"Rewrite as the indexed access type '{0}'\"),Declare_static_property_0:t(90027,e.DiagnosticCategory.Message,\"Declare_static_property_0_90027\",\"Declare static property '{0}'\"),Call_decorator_expression:t(90028,e.DiagnosticCategory.Message,\"Call_decorator_expression_90028\",\"Call decorator expression\"),Add_async_modifier_to_containing_function:t(90029,e.DiagnosticCategory.Message,\"Add_async_modifier_to_containing_function_90029\",\"Add async modifier to containing function\"),Replace_infer_0_with_unknown:t(90030,e.DiagnosticCategory.Message,\"Replace_infer_0_with_unknown_90030\",\"Replace 'infer {0}' with 'unknown'\"),Replace_all_unused_infer_with_unknown:t(90031,e.DiagnosticCategory.Message,\"Replace_all_unused_infer_with_unknown_90031\",\"Replace all unused 'infer' with 'unknown'\"),Import_default_0_from_module_1:t(90032,e.DiagnosticCategory.Message,\"Import_default_0_from_module_1_90032\",\"Import default '{0}' from module \\\"{1}\\\"\"),Add_default_import_0_to_existing_import_declaration_from_1:t(90033,e.DiagnosticCategory.Message,\"Add_default_import_0_to_existing_import_declaration_from_1_90033\",\"Add default import '{0}' to existing import declaration from \\\"{1}\\\"\"),Add_parameter_name:t(90034,e.DiagnosticCategory.Message,\"Add_parameter_name_90034\",\"Add parameter name\"),Declare_private_property_0:t(90035,e.DiagnosticCategory.Message,\"Declare_private_property_0_90035\",\"Declare private property '{0}'\"),Replace_0_with_Promise_1:t(90036,e.DiagnosticCategory.Message,\"Replace_0_with_Promise_1_90036\",\"Replace '{0}' with 'Promise<{1}>'\"),Fix_all_incorrect_return_type_of_an_async_functions:t(90037,e.DiagnosticCategory.Message,\"Fix_all_incorrect_return_type_of_an_async_functions_90037\",\"Fix all incorrect return type of an async functions\"),Declare_private_method_0:t(90038,e.DiagnosticCategory.Message,\"Declare_private_method_0_90038\",\"Declare private method '{0}'\"),Remove_unused_destructuring_declaration:t(90039,e.DiagnosticCategory.Message,\"Remove_unused_destructuring_declaration_90039\",\"Remove unused destructuring declaration\"),Remove_unused_declarations_for_Colon_0:t(90041,e.DiagnosticCategory.Message,\"Remove_unused_declarations_for_Colon_0_90041\",\"Remove unused declarations for: '{0}'\"),Declare_a_private_field_named_0:t(90053,e.DiagnosticCategory.Message,\"Declare_a_private_field_named_0_90053\",\"Declare a private field named '{0}'.\"),Convert_function_to_an_ES2015_class:t(95001,e.DiagnosticCategory.Message,\"Convert_function_to_an_ES2015_class_95001\",\"Convert function to an ES2015 class\"),Convert_function_0_to_class:t(95002,e.DiagnosticCategory.Message,\"Convert_function_0_to_class_95002\",\"Convert function '{0}' to class\"),Convert_0_to_1_in_0:t(95003,e.DiagnosticCategory.Message,\"Convert_0_to_1_in_0_95003\",\"Convert '{0}' to '{1} in {0}'\"),Extract_to_0_in_1:t(95004,e.DiagnosticCategory.Message,\"Extract_to_0_in_1_95004\",\"Extract to {0} in {1}\"),Extract_function:t(95005,e.DiagnosticCategory.Message,\"Extract_function_95005\",\"Extract function\"),Extract_constant:t(95006,e.DiagnosticCategory.Message,\"Extract_constant_95006\",\"Extract constant\"),Extract_to_0_in_enclosing_scope:t(95007,e.DiagnosticCategory.Message,\"Extract_to_0_in_enclosing_scope_95007\",\"Extract to {0} in enclosing scope\"),Extract_to_0_in_1_scope:t(95008,e.DiagnosticCategory.Message,\"Extract_to_0_in_1_scope_95008\",\"Extract to {0} in {1} scope\"),Annotate_with_type_from_JSDoc:t(95009,e.DiagnosticCategory.Message,\"Annotate_with_type_from_JSDoc_95009\",\"Annotate with type from JSDoc\"),Annotate_with_types_from_JSDoc:t(95010,e.DiagnosticCategory.Message,\"Annotate_with_types_from_JSDoc_95010\",\"Annotate with types from JSDoc\"),Infer_type_of_0_from_usage:t(95011,e.DiagnosticCategory.Message,\"Infer_type_of_0_from_usage_95011\",\"Infer type of '{0}' from usage\"),Infer_parameter_types_from_usage:t(95012,e.DiagnosticCategory.Message,\"Infer_parameter_types_from_usage_95012\",\"Infer parameter types from usage\"),Convert_to_default_import:t(95013,e.DiagnosticCategory.Message,\"Convert_to_default_import_95013\",\"Convert to default import\"),Install_0:t(95014,e.DiagnosticCategory.Message,\"Install_0_95014\",\"Install '{0}'\"),Replace_import_with_0:t(95015,e.DiagnosticCategory.Message,\"Replace_import_with_0_95015\",\"Replace import with '{0}'.\"),Use_synthetic_default_member:t(95016,e.DiagnosticCategory.Message,\"Use_synthetic_default_member_95016\",\"Use synthetic 'default' member.\"),Convert_to_ES6_module:t(95017,e.DiagnosticCategory.Message,\"Convert_to_ES6_module_95017\",\"Convert to ES6 module\"),Add_undefined_type_to_property_0:t(95018,e.DiagnosticCategory.Message,\"Add_undefined_type_to_property_0_95018\",\"Add 'undefined' type to property '{0}'\"),Add_initializer_to_property_0:t(95019,e.DiagnosticCategory.Message,\"Add_initializer_to_property_0_95019\",\"Add initializer to property '{0}'\"),Add_definite_assignment_assertion_to_property_0:t(95020,e.DiagnosticCategory.Message,\"Add_definite_assignment_assertion_to_property_0_95020\",\"Add definite assignment assertion to property '{0}'\"),Convert_all_type_literals_to_mapped_type:t(95021,e.DiagnosticCategory.Message,\"Convert_all_type_literals_to_mapped_type_95021\",\"Convert all type literals to mapped type\"),Add_all_missing_members:t(95022,e.DiagnosticCategory.Message,\"Add_all_missing_members_95022\",\"Add all missing members\"),Infer_all_types_from_usage:t(95023,e.DiagnosticCategory.Message,\"Infer_all_types_from_usage_95023\",\"Infer all types from usage\"),Delete_all_unused_declarations:t(95024,e.DiagnosticCategory.Message,\"Delete_all_unused_declarations_95024\",\"Delete all unused declarations\"),Prefix_all_unused_declarations_with_where_possible:t(95025,e.DiagnosticCategory.Message,\"Prefix_all_unused_declarations_with_where_possible_95025\",\"Prefix all unused declarations with '_' where possible\"),Fix_all_detected_spelling_errors:t(95026,e.DiagnosticCategory.Message,\"Fix_all_detected_spelling_errors_95026\",\"Fix all detected spelling errors\"),Add_initializers_to_all_uninitialized_properties:t(95027,e.DiagnosticCategory.Message,\"Add_initializers_to_all_uninitialized_properties_95027\",\"Add initializers to all uninitialized properties\"),Add_definite_assignment_assertions_to_all_uninitialized_properties:t(95028,e.DiagnosticCategory.Message,\"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028\",\"Add definite assignment assertions to all uninitialized properties\"),Add_undefined_type_to_all_uninitialized_properties:t(95029,e.DiagnosticCategory.Message,\"Add_undefined_type_to_all_uninitialized_properties_95029\",\"Add undefined type to all uninitialized properties\"),Change_all_jsdoc_style_types_to_TypeScript:t(95030,e.DiagnosticCategory.Message,\"Change_all_jsdoc_style_types_to_TypeScript_95030\",\"Change all jsdoc-style types to TypeScript\"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:t(95031,e.DiagnosticCategory.Message,\"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031\",\"Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)\"),Implement_all_unimplemented_interfaces:t(95032,e.DiagnosticCategory.Message,\"Implement_all_unimplemented_interfaces_95032\",\"Implement all unimplemented interfaces\"),Install_all_missing_types_packages:t(95033,e.DiagnosticCategory.Message,\"Install_all_missing_types_packages_95033\",\"Install all missing types packages\"),Rewrite_all_as_indexed_access_types:t(95034,e.DiagnosticCategory.Message,\"Rewrite_all_as_indexed_access_types_95034\",\"Rewrite all as indexed access types\"),Convert_all_to_default_imports:t(95035,e.DiagnosticCategory.Message,\"Convert_all_to_default_imports_95035\",\"Convert all to default imports\"),Make_all_super_calls_the_first_statement_in_their_constructor:t(95036,e.DiagnosticCategory.Message,\"Make_all_super_calls_the_first_statement_in_their_constructor_95036\",\"Make all 'super()' calls the first statement in their constructor\"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:t(95037,e.DiagnosticCategory.Message,\"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037\",\"Add qualifier to all unresolved variables matching a member name\"),Change_all_extended_interfaces_to_implements:t(95038,e.DiagnosticCategory.Message,\"Change_all_extended_interfaces_to_implements_95038\",\"Change all extended interfaces to 'implements'\"),Add_all_missing_super_calls:t(95039,e.DiagnosticCategory.Message,\"Add_all_missing_super_calls_95039\",\"Add all missing super calls\"),Implement_all_inherited_abstract_classes:t(95040,e.DiagnosticCategory.Message,\"Implement_all_inherited_abstract_classes_95040\",\"Implement all inherited abstract classes\"),Add_all_missing_async_modifiers:t(95041,e.DiagnosticCategory.Message,\"Add_all_missing_async_modifiers_95041\",\"Add all missing 'async' modifiers\"),Add_ts_ignore_to_all_error_messages:t(95042,e.DiagnosticCategory.Message,\"Add_ts_ignore_to_all_error_messages_95042\",\"Add '@ts-ignore' to all error messages\"),Annotate_everything_with_types_from_JSDoc:t(95043,e.DiagnosticCategory.Message,\"Annotate_everything_with_types_from_JSDoc_95043\",\"Annotate everything with types from JSDoc\"),Add_to_all_uncalled_decorators:t(95044,e.DiagnosticCategory.Message,\"Add_to_all_uncalled_decorators_95044\",\"Add '()' to all uncalled decorators\"),Convert_all_constructor_functions_to_classes:t(95045,e.DiagnosticCategory.Message,\"Convert_all_constructor_functions_to_classes_95045\",\"Convert all constructor functions to classes\"),Generate_get_and_set_accessors:t(95046,e.DiagnosticCategory.Message,\"Generate_get_and_set_accessors_95046\",\"Generate 'get' and 'set' accessors\"),Convert_require_to_import:t(95047,e.DiagnosticCategory.Message,\"Convert_require_to_import_95047\",\"Convert 'require' to 'import'\"),Convert_all_require_to_import:t(95048,e.DiagnosticCategory.Message,\"Convert_all_require_to_import_95048\",\"Convert all 'require' to 'import'\"),Move_to_a_new_file:t(95049,e.DiagnosticCategory.Message,\"Move_to_a_new_file_95049\",\"Move to a new file\"),Remove_unreachable_code:t(95050,e.DiagnosticCategory.Message,\"Remove_unreachable_code_95050\",\"Remove unreachable code\"),Remove_all_unreachable_code:t(95051,e.DiagnosticCategory.Message,\"Remove_all_unreachable_code_95051\",\"Remove all unreachable code\"),Add_missing_typeof:t(95052,e.DiagnosticCategory.Message,\"Add_missing_typeof_95052\",\"Add missing 'typeof'\"),Remove_unused_label:t(95053,e.DiagnosticCategory.Message,\"Remove_unused_label_95053\",\"Remove unused label\"),Remove_all_unused_labels:t(95054,e.DiagnosticCategory.Message,\"Remove_all_unused_labels_95054\",\"Remove all unused labels\"),Convert_0_to_mapped_object_type:t(95055,e.DiagnosticCategory.Message,\"Convert_0_to_mapped_object_type_95055\",\"Convert '{0}' to mapped object type\"),Convert_namespace_import_to_named_imports:t(95056,e.DiagnosticCategory.Message,\"Convert_namespace_import_to_named_imports_95056\",\"Convert namespace import to named imports\"),Convert_named_imports_to_namespace_import:t(95057,e.DiagnosticCategory.Message,\"Convert_named_imports_to_namespace_import_95057\",\"Convert named imports to namespace import\"),Add_or_remove_braces_in_an_arrow_function:t(95058,e.DiagnosticCategory.Message,\"Add_or_remove_braces_in_an_arrow_function_95058\",\"Add or remove braces in an arrow function\"),Add_braces_to_arrow_function:t(95059,e.DiagnosticCategory.Message,\"Add_braces_to_arrow_function_95059\",\"Add braces to arrow function\"),Remove_braces_from_arrow_function:t(95060,e.DiagnosticCategory.Message,\"Remove_braces_from_arrow_function_95060\",\"Remove braces from arrow function\"),Convert_default_export_to_named_export:t(95061,e.DiagnosticCategory.Message,\"Convert_default_export_to_named_export_95061\",\"Convert default export to named export\"),Convert_named_export_to_default_export:t(95062,e.DiagnosticCategory.Message,\"Convert_named_export_to_default_export_95062\",\"Convert named export to default export\"),Add_missing_enum_member_0:t(95063,e.DiagnosticCategory.Message,\"Add_missing_enum_member_0_95063\",\"Add missing enum member '{0}'\"),Add_all_missing_imports:t(95064,e.DiagnosticCategory.Message,\"Add_all_missing_imports_95064\",\"Add all missing imports\"),Convert_to_async_function:t(95065,e.DiagnosticCategory.Message,\"Convert_to_async_function_95065\",\"Convert to async function\"),Convert_all_to_async_functions:t(95066,e.DiagnosticCategory.Message,\"Convert_all_to_async_functions_95066\",\"Convert all to async functions\"),Add_missing_call_parentheses:t(95067,e.DiagnosticCategory.Message,\"Add_missing_call_parentheses_95067\",\"Add missing call parentheses\"),Add_all_missing_call_parentheses:t(95068,e.DiagnosticCategory.Message,\"Add_all_missing_call_parentheses_95068\",\"Add all missing call parentheses\"),Add_unknown_conversion_for_non_overlapping_types:t(95069,e.DiagnosticCategory.Message,\"Add_unknown_conversion_for_non_overlapping_types_95069\",\"Add 'unknown' conversion for non-overlapping types\"),Add_unknown_to_all_conversions_of_non_overlapping_types:t(95070,e.DiagnosticCategory.Message,\"Add_unknown_to_all_conversions_of_non_overlapping_types_95070\",\"Add 'unknown' to all conversions of non-overlapping types\"),Add_missing_new_operator_to_call:t(95071,e.DiagnosticCategory.Message,\"Add_missing_new_operator_to_call_95071\",\"Add missing 'new' operator to call\"),Add_missing_new_operator_to_all_calls:t(95072,e.DiagnosticCategory.Message,\"Add_missing_new_operator_to_all_calls_95072\",\"Add missing 'new' operator to all calls\"),Add_names_to_all_parameters_without_names:t(95073,e.DiagnosticCategory.Message,\"Add_names_to_all_parameters_without_names_95073\",\"Add names to all parameters without names\"),Enable_the_experimentalDecorators_option_in_your_configuration_file:t(95074,e.DiagnosticCategory.Message,\"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074\",\"Enable the 'experimentalDecorators' option in your configuration file\"),Convert_parameters_to_destructured_object:t(95075,e.DiagnosticCategory.Message,\"Convert_parameters_to_destructured_object_95075\",\"Convert parameters to destructured object\"),Allow_accessing_UMD_globals_from_modules:t(95076,e.DiagnosticCategory.Message,\"Allow_accessing_UMD_globals_from_modules_95076\",\"Allow accessing UMD globals from modules.\"),Extract_type:t(95077,e.DiagnosticCategory.Message,\"Extract_type_95077\",\"Extract type\"),Extract_to_type_alias:t(95078,e.DiagnosticCategory.Message,\"Extract_to_type_alias_95078\",\"Extract to type alias\"),Extract_to_typedef:t(95079,e.DiagnosticCategory.Message,\"Extract_to_typedef_95079\",\"Extract to typedef\"),Infer_this_type_of_0_from_usage:t(95080,e.DiagnosticCategory.Message,\"Infer_this_type_of_0_from_usage_95080\",\"Infer 'this' type of '{0}' from usage\"),Add_const_to_unresolved_variable:t(95081,e.DiagnosticCategory.Message,\"Add_const_to_unresolved_variable_95081\",\"Add 'const' to unresolved variable\"),Add_const_to_all_unresolved_variables:t(95082,e.DiagnosticCategory.Message,\"Add_const_to_all_unresolved_variables_95082\",\"Add 'const' to all unresolved variables\"),Add_await:t(95083,e.DiagnosticCategory.Message,\"Add_await_95083\",\"Add 'await'\"),Add_await_to_initializer_for_0:t(95084,e.DiagnosticCategory.Message,\"Add_await_to_initializer_for_0_95084\",\"Add 'await' to initializer for '{0}'\"),Fix_all_expressions_possibly_missing_await:t(95085,e.DiagnosticCategory.Message,\"Fix_all_expressions_possibly_missing_await_95085\",\"Fix all expressions possibly missing 'await'\"),Remove_unnecessary_await:t(95086,e.DiagnosticCategory.Message,\"Remove_unnecessary_await_95086\",\"Remove unnecessary 'await'\"),Remove_all_unnecessary_uses_of_await:t(95087,e.DiagnosticCategory.Message,\"Remove_all_unnecessary_uses_of_await_95087\",\"Remove all unnecessary uses of 'await'\"),Enable_the_jsx_flag_in_your_configuration_file:t(95088,e.DiagnosticCategory.Message,\"Enable_the_jsx_flag_in_your_configuration_file_95088\",\"Enable the '--jsx' flag in your configuration file\"),Add_await_to_initializers:t(95089,e.DiagnosticCategory.Message,\"Add_await_to_initializers_95089\",\"Add 'await' to initializers\"),Extract_to_interface:t(95090,e.DiagnosticCategory.Message,\"Extract_to_interface_95090\",\"Extract to interface\"),Convert_to_a_bigint_numeric_literal:t(95091,e.DiagnosticCategory.Message,\"Convert_to_a_bigint_numeric_literal_95091\",\"Convert to a bigint numeric literal\"),Convert_all_to_bigint_numeric_literals:t(95092,e.DiagnosticCategory.Message,\"Convert_all_to_bigint_numeric_literals_95092\",\"Convert all to bigint numeric literals\"),Convert_const_to_let:t(95093,e.DiagnosticCategory.Message,\"Convert_const_to_let_95093\",\"Convert 'const' to 'let'\"),Prefix_with_declare:t(95094,e.DiagnosticCategory.Message,\"Prefix_with_declare_95094\",\"Prefix with 'declare'\"),Prefix_all_incorrect_property_declarations_with_declare:t(95095,e.DiagnosticCategory.Message,\"Prefix_all_incorrect_property_declarations_with_declare_95095\",\"Prefix all incorrect property declarations with 'declare'\"),Convert_to_template_string:t(95096,e.DiagnosticCategory.Message,\"Convert_to_template_string_95096\",\"Convert to template string\"),Add_export_to_make_this_file_into_a_module:t(95097,e.DiagnosticCategory.Message,\"Add_export_to_make_this_file_into_a_module_95097\",\"Add 'export {}' to make this file into a module\"),Set_the_target_option_in_your_configuration_file_to_0:t(95098,e.DiagnosticCategory.Message,\"Set_the_target_option_in_your_configuration_file_to_0_95098\",\"Set the 'target' option in your configuration file to '{0}'\"),Set_the_module_option_in_your_configuration_file_to_0:t(95099,e.DiagnosticCategory.Message,\"Set_the_module_option_in_your_configuration_file_to_0_95099\",\"Set the 'module' option in your configuration file to '{0}'\"),Convert_invalid_character_to_its_html_entity_code:t(95100,e.DiagnosticCategory.Message,\"Convert_invalid_character_to_its_html_entity_code_95100\",\"Convert invalid character to its html entity code\"),Convert_all_invalid_characters_to_HTML_entity_code:t(95101,e.DiagnosticCategory.Message,\"Convert_all_invalid_characters_to_HTML_entity_code_95101\",\"Convert all invalid characters to HTML entity code\"),Add_class_tag:t(95102,e.DiagnosticCategory.Message,\"Add_class_tag_95102\",\"Add '@class' tag\"),Add_this_tag:t(95103,e.DiagnosticCategory.Message,\"Add_this_tag_95103\",\"Add '@this' tag\"),Add_this_parameter:t(95104,e.DiagnosticCategory.Message,\"Add_this_parameter_95104\",\"Add 'this' parameter.\"),Convert_function_expression_0_to_arrow_function:t(95105,e.DiagnosticCategory.Message,\"Convert_function_expression_0_to_arrow_function_95105\",\"Convert function expression '{0}' to arrow function\"),Convert_function_declaration_0_to_arrow_function:t(95106,e.DiagnosticCategory.Message,\"Convert_function_declaration_0_to_arrow_function_95106\",\"Convert function declaration '{0}' to arrow function\"),Fix_all_implicit_this_errors:t(95107,e.DiagnosticCategory.Message,\"Fix_all_implicit_this_errors_95107\",\"Fix all implicit-'this' errors\"),Wrap_invalid_character_in_an_expression_container:t(95108,e.DiagnosticCategory.Message,\"Wrap_invalid_character_in_an_expression_container_95108\",\"Wrap invalid character in an expression container\"),Wrap_all_invalid_characters_in_an_expression_container:t(95109,e.DiagnosticCategory.Message,\"Wrap_all_invalid_characters_in_an_expression_container_95109\",\"Wrap all invalid characters in an expression container\"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file:t(95110,e.DiagnosticCategory.Message,\"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file_95110\",\"Visit https://aka.ms/tsconfig.json to read more about this file\"),Add_a_return_statement:t(95111,e.DiagnosticCategory.Message,\"Add_a_return_statement_95111\",\"Add a return statement\"),Remove_braces_from_arrow_function_body:t(95112,e.DiagnosticCategory.Message,\"Remove_braces_from_arrow_function_body_95112\",\"Remove braces from arrow function body\"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:t(95113,e.DiagnosticCategory.Message,\"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113\",\"Wrap the following body with parentheses which should be an object literal\"),Add_all_missing_return_statement:t(95114,e.DiagnosticCategory.Message,\"Add_all_missing_return_statement_95114\",\"Add all missing return statement\"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:t(95115,e.DiagnosticCategory.Message,\"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115\",\"Remove braces from all arrow function bodies with relevant issues\"),Wrap_all_object_literal_with_parentheses:t(95116,e.DiagnosticCategory.Message,\"Wrap_all_object_literal_with_parentheses_95116\",\"Wrap all object literal with parentheses\"),Move_labeled_tuple_element_modifiers_to_labels:t(95117,e.DiagnosticCategory.Message,\"Move_labeled_tuple_element_modifiers_to_labels_95117\",\"Move labeled tuple element modifiers to labels\"),Convert_overload_list_to_single_signature:t(95118,e.DiagnosticCategory.Message,\"Convert_overload_list_to_single_signature_95118\",\"Convert overload list to single signature\"),Generate_get_and_set_accessors_for_all_overriding_properties:t(95119,e.DiagnosticCategory.Message,\"Generate_get_and_set_accessors_for_all_overriding_properties_95119\",\"Generate 'get' and 'set' accessors for all overriding properties\"),Wrap_in_JSX_fragment:t(95120,e.DiagnosticCategory.Message,\"Wrap_in_JSX_fragment_95120\",\"Wrap in JSX fragment\"),Wrap_all_unparented_JSX_in_JSX_fragment:t(95121,e.DiagnosticCategory.Message,\"Wrap_all_unparented_JSX_in_JSX_fragment_95121\",\"Wrap all unparented JSX in JSX fragment\"),Convert_arrow_function_or_function_expression:t(95122,e.DiagnosticCategory.Message,\"Convert_arrow_function_or_function_expression_95122\",\"Convert arrow function or function expression\"),Convert_to_anonymous_function:t(95123,e.DiagnosticCategory.Message,\"Convert_to_anonymous_function_95123\",\"Convert to anonymous function\"),Convert_to_named_function:t(95124,e.DiagnosticCategory.Message,\"Convert_to_named_function_95124\",\"Convert to named function\"),Convert_to_arrow_function:t(95125,e.DiagnosticCategory.Message,\"Convert_to_arrow_function_95125\",\"Convert to arrow function\"),Remove_parentheses:t(95126,e.DiagnosticCategory.Message,\"Remove_parentheses_95126\",\"Remove parentheses\"),Could_not_find_a_containing_arrow_function:t(95127,e.DiagnosticCategory.Message,\"Could_not_find_a_containing_arrow_function_95127\",\"Could not find a containing arrow function\"),Containing_function_is_not_an_arrow_function:t(95128,e.DiagnosticCategory.Message,\"Containing_function_is_not_an_arrow_function_95128\",\"Containing function is not an arrow function\"),Could_not_find_export_statement:t(95129,e.DiagnosticCategory.Message,\"Could_not_find_export_statement_95129\",\"Could not find export statement\"),This_file_already_has_a_default_export:t(95130,e.DiagnosticCategory.Message,\"This_file_already_has_a_default_export_95130\",\"This file already has a default export\"),Could_not_find_import_clause:t(95131,e.DiagnosticCategory.Message,\"Could_not_find_import_clause_95131\",\"Could not find import clause\"),Could_not_find_namespace_import_or_named_imports:t(95132,e.DiagnosticCategory.Message,\"Could_not_find_namespace_import_or_named_imports_95132\",\"Could not find namespace import or named imports\"),Selection_is_not_a_valid_type_node:t(95133,e.DiagnosticCategory.Message,\"Selection_is_not_a_valid_type_node_95133\",\"Selection is not a valid type node\"),No_type_could_be_extracted_from_this_type_node:t(95134,e.DiagnosticCategory.Message,\"No_type_could_be_extracted_from_this_type_node_95134\",\"No type could be extracted from this type node\"),Could_not_find_property_for_which_to_generate_accessor:t(95135,e.DiagnosticCategory.Message,\"Could_not_find_property_for_which_to_generate_accessor_95135\",\"Could not find property for which to generate accessor\"),Name_is_not_valid:t(95136,e.DiagnosticCategory.Message,\"Name_is_not_valid_95136\",\"Name is not valid\"),Can_only_convert_property_with_modifier:t(95137,e.DiagnosticCategory.Message,\"Can_only_convert_property_with_modifier_95137\",\"Can only convert property with modifier\"),Switch_each_misused_0_to_1:t(95138,e.DiagnosticCategory.Message,\"Switch_each_misused_0_to_1_95138\",\"Switch each misused '{0}' to '{1}'\"),Convert_to_optional_chain_expression:t(95139,e.DiagnosticCategory.Message,\"Convert_to_optional_chain_expression_95139\",\"Convert to optional chain expression\"),Could_not_find_convertible_access_expression:t(95140,e.DiagnosticCategory.Message,\"Could_not_find_convertible_access_expression_95140\",\"Could not find convertible access expression\"),Could_not_find_matching_access_expressions:t(95141,e.DiagnosticCategory.Message,\"Could_not_find_matching_access_expressions_95141\",\"Could not find matching access expressions\"),Can_only_convert_logical_AND_access_chains:t(95142,e.DiagnosticCategory.Message,\"Can_only_convert_logical_AND_access_chains_95142\",\"Can only convert logical AND access chains\"),Add_void_to_Promise_resolved_without_a_value:t(95143,e.DiagnosticCategory.Message,\"Add_void_to_Promise_resolved_without_a_value_95143\",\"Add 'void' to Promise resolved without a value\"),Add_void_to_all_Promises_resolved_without_a_value:t(95144,e.DiagnosticCategory.Message,\"Add_void_to_all_Promises_resolved_without_a_value_95144\",\"Add 'void' to all Promises resolved without a value\"),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:t(18004,e.DiagnosticCategory.Error,\"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004\",\"No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer.\"),Classes_may_not_have_a_field_named_constructor:t(18006,e.DiagnosticCategory.Error,\"Classes_may_not_have_a_field_named_constructor_18006\",\"Classes may not have a field named 'constructor'.\"),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:t(18007,e.DiagnosticCategory.Error,\"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007\",\"JSX expressions may not use the comma operator. Did you mean to write an array?\"),Private_identifiers_cannot_be_used_as_parameters:t(18009,e.DiagnosticCategory.Error,\"Private_identifiers_cannot_be_used_as_parameters_18009\",\"Private identifiers cannot be used as parameters.\"),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:t(18010,e.DiagnosticCategory.Error,\"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010\",\"An accessibility modifier cannot be used with a private identifier.\"),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:t(18011,e.DiagnosticCategory.Error,\"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011\",\"The operand of a 'delete' operator cannot be a private identifier.\"),constructor_is_a_reserved_word:t(18012,e.DiagnosticCategory.Error,\"constructor_is_a_reserved_word_18012\",\"'#constructor' is a reserved word.\"),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:t(18013,e.DiagnosticCategory.Error,\"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013\",\"Property '{0}' is not accessible outside class '{1}' because it has a private identifier.\"),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:t(18014,e.DiagnosticCategory.Error,\"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014\",\"The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling.\"),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:t(18015,e.DiagnosticCategory.Error,\"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015\",\"Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'.\"),Private_identifiers_are_not_allowed_outside_class_bodies:t(18016,e.DiagnosticCategory.Error,\"Private_identifiers_are_not_allowed_outside_class_bodies_18016\",\"Private identifiers are not allowed outside class bodies.\"),The_shadowing_declaration_of_0_is_defined_here:t(18017,e.DiagnosticCategory.Error,\"The_shadowing_declaration_of_0_is_defined_here_18017\",\"The shadowing declaration of '{0}' is defined here\"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:t(18018,e.DiagnosticCategory.Error,\"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018\",\"The declaration of '{0}' that you probably intended to use is defined here\"),_0_modifier_cannot_be_used_with_a_private_identifier:t(18019,e.DiagnosticCategory.Error,\"_0_modifier_cannot_be_used_with_a_private_identifier_18019\",\"'{0}' modifier cannot be used with a private identifier.\"),A_method_cannot_be_named_with_a_private_identifier:t(18022,e.DiagnosticCategory.Error,\"A_method_cannot_be_named_with_a_private_identifier_18022\",\"A method cannot be named with a private identifier.\"),An_accessor_cannot_be_named_with_a_private_identifier:t(18023,e.DiagnosticCategory.Error,\"An_accessor_cannot_be_named_with_a_private_identifier_18023\",\"An accessor cannot be named with a private identifier.\"),An_enum_member_cannot_be_named_with_a_private_identifier:t(18024,e.DiagnosticCategory.Error,\"An_enum_member_cannot_be_named_with_a_private_identifier_18024\",\"An enum member cannot be named with a private identifier.\"),can_only_be_used_at_the_start_of_a_file:t(18026,e.DiagnosticCategory.Error,\"can_only_be_used_at_the_start_of_a_file_18026\",\"'#!' can only be used at the start of a file.\"),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:t(18027,e.DiagnosticCategory.Error,\"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027\",\"Compiler reserves name '{0}' when emitting private identifier downlevel.\"),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:t(18028,e.DiagnosticCategory.Error,\"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028\",\"Private identifiers are only available when targeting ECMAScript 2015 and higher.\"),Private_identifiers_are_not_allowed_in_variable_declarations:t(18029,e.DiagnosticCategory.Error,\"Private_identifiers_are_not_allowed_in_variable_declarations_18029\",\"Private identifiers are not allowed in variable declarations.\"),An_optional_chain_cannot_contain_private_identifiers:t(18030,e.DiagnosticCategory.Error,\"An_optional_chain_cannot_contain_private_identifiers_18030\",\"An optional chain cannot contain private identifiers.\"),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:t(18031,e.DiagnosticCategory.Error,\"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031\",\"The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents.\"),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:t(18032,e.DiagnosticCategory.Error,\"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032\",\"The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some.\"),Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhaustiveness_checks_consider_using_an_object_literal_instead:t(18033,e.DiagnosticCategory.Error,\"Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhau_18033\",\"Only numeric enums can have computed members, but this expression has type '{0}'. If you do not need exhaustiveness checks, consider using an object literal instead.\"),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:t(18034,e.DiagnosticCategory.Message,\"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034\",\"Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'.\"),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:t(18035,e.DiagnosticCategory.Error,\"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035\",\"Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name.\")}}(u||(u={})),function(e){var t;function r(e){return e>=78}e.tokenIsIdentifierOrKeyword=r,e.tokenIsIdentifierOrKeywordOrGreaterThan=function(e){return 31===e||r(e)};var i=((t={abstract:125,any:128,as:126,asserts:127,bigint:155,boolean:131,break:80,case:81,catch:82,class:83,continue:85,const:84}).constructor=132,t.debugger=86,t.declare=133,t.default=87,t.delete=88,t.do=89,t.else=90,t.enum=91,t.export=92,t.extends=93,t.false=94,t.finally=95,t.for=96,t.from=153,t.function=97,t.get=134,t.if=98,t.implements=116,t.import=99,t.in=100,t.infer=135,t.instanceof=101,t.interface=117,t.intrinsic=136,t.is=137,t.keyof=138,t.let=118,t.module=139,t.namespace=140,t.never=141,t.new=102,t.null=103,t.number=144,t.object=145,t.package=119,t.private=120,t.protected=121,t.public=122,t.readonly=142,t.require=143,t.global=154,t.return=104,t.set=146,t.static=123,t.string=147,t.super=105,t.switch=106,t.symbol=148,t.this=107,t.throw=108,t.true=109,t.try=110,t.type=149,t.typeof=111,t.undefined=150,t.unique=151,t.unknown=152,t.var=112,t.void=113,t.while=114,t.with=115,t.yield=124,t.async=129,t.await=130,t.of=156,t),a=new e.Map(e.getEntries(i)),o=new e.Map(e.getEntries(n(n({},i),{\"{\":18,\"}\":19,\"(\":20,\")\":21,\"[\":22,\"]\":23,\".\":24,\"...\":25,\";\":26,\",\":27,\"<\":29,\">\":31,\"<=\":32,\">=\":33,\"==\":34,\"!=\":35,\"===\":36,\"!==\":37,\"=>\":38,\"+\":39,\"-\":40,\"**\":42,\"*\":41,\"/\":43,\"%\":44,\"++\":45,\"--\":46,\"<<\":47,\">\":48,\">>>\":49,\"&\":50,\"|\":51,\"^\":52,\"!\":53,\"~\":54,\"&&\":55,\"||\":56,\"?\":57,\"??\":60,\"?.\":28,\":\":58,\"=\":62,\"+=\":63,\"-=\":64,\"*=\":65,\"**=\":66,\"/=\":67,\"%=\":68,\"<<=\":69,\">>=\":70,\">>>=\":71,\"&=\":72,\"|=\":73,\"^=\":77,\"||=\":74,\"&&=\":75,\"??=\":76,\"@\":59,\"`\":61}))),s=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],c=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],u=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],l=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],d=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],_=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],p=/^\\s*\\/\\/\\/?\\s*@(ts-expect-error|ts-ignore)/,f=/^\\s*(?:\\/|\\*)*\\s*@(ts-expect-error|ts-ignore)/;function g(e,t){if(e=2?d:1===t?u:s)}e.isUnicodeIdentifierStart=m;var y,v=(y=[],o.forEach((function(e,t){y[e]=t})),y);function h(e){for(var t=new Array,r=0,n=0;r127&&C(i)&&(t.push(n),n=r)}}return t.push(n),t}function D(t,r,n,i,a){(r<0||r>=t.length)&&(a?r=r<0?0:r>=t.length?t.length-1:r:e.Debug.fail(\"Bad line number. Line: \"+r+\", lineStarts.length: \"+t.length+\" , line map is correct? \"+(void 0!==i?e.arraysEqual(t,h(i)):\"unknown\")));var o=t[r]+n;return a?o>t[r+1]?t[r+1]:\"string\"==typeof i&&o>i.length?i.length:o:(r=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function C(e){return 10===e||13===e||8232===e||8233===e}function k(e){return e>=48&&e<=57}function A(e){return k(e)||e>=65&&e<=70||e>=97&&e<=102}function F(e){return e>=48&&e<=55}e.tokenToString=function(e){return v[e]},e.stringToToken=function(e){return o.get(e)},e.computeLineStarts=h,e.getPositionOfLineAndCharacter=function(e,t,r,n){return e.getPositionOfLineAndCharacter?e.getPositionOfLineAndCharacter(t,r,n):D(x(e),t,r,e.text,n)},e.computePositionOfLineAndCharacter=D,e.getLineStarts=x,e.computeLineAndCharacterOfPosition=b,e.computeLineOfPosition=S,e.getLinesBetweenPositions=function(e,t,r){if(t===r)return 0;var n=x(e),i=Math.min(t,r),a=i===r,o=a?t:r,s=S(n,i),c=S(n,o,s);return a?s-c:c-s},e.getLineAndCharacterOfPosition=function(e,t){return b(x(e),t)},e.isWhiteSpaceLike=E,e.isWhiteSpaceSingleLine=T,e.isLineBreak=C,e.isOctalDigit=F,e.couldStartTrivia=function(e,t){var r=e.charCodeAt(t);switch(r){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return 0===t;default:return r>127}},e.skipTrivia=function(t,r,n,i){if(void 0===i&&(i=!1),e.positionIsSynthesized(r))return r;for(;;){var a=t.charCodeAt(r);switch(a){case 13:10===t.charCodeAt(r+1)&&r++;case 10:if(r++,n)return r;continue;case 9:case 11:case 12:case 32:r++;continue;case 47:if(i)break;if(47===t.charCodeAt(r+1)){for(r+=2;r127&&E(a)){r++;continue}}return r}};var N=\"<<<<<<<\".length;function P(t,r){if(e.Debug.assert(r>=0),0===r||C(t.charCodeAt(r-1))){var n=t.charCodeAt(r);if(r+N=0&&r127&&E(g)){d&&C(g)&&(l=!0),r++;continue}break e}}return d&&(p=i(s,c,u,l,a,p)),p}function R(e,t,r,n,i){return L(!0,e,t,!1,r,n,i)}function B(e,t,r,n,i){return L(!0,e,t,!0,r,n,i)}function j(e,t,r,n,i,a){return a||(a=[]),a.push({kind:r,pos:e,end:t,hasTrailingNewLine:n}),a}function J(e){var t=I.exec(e);if(t)return t[0]}function K(e,t){return e>=65&&e<=90||e>=97&&e<=122||36===e||95===e||e>127&&m(e,t)}function z(e,t,r){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||36===e||95===e||1===r&&(45===e||58===e)||e>127&&function(e,t){return g(e,t>=2?_:1===t?l:c)}(e,t)}e.isShebangTrivia=O,e.scanShebangTrivia=M,e.forEachLeadingCommentRange=function(e,t,r,n){return L(!1,e,t,!1,r,n)},e.forEachTrailingCommentRange=function(e,t,r,n){return L(!1,e,t,!0,r,n)},e.reduceEachLeadingCommentRange=R,e.reduceEachTrailingCommentRange=B,e.getLeadingCommentRanges=function(e,t){return R(e,t,j,void 0,void 0)},e.getTrailingCommentRanges=function(e,t){return B(e,t,j,void 0,void 0)},e.getShebang=J,e.isIdentifierStart=K,e.isIdentifierPart=z,e.isIdentifierText=function(e,t,r){var n=U(e,0);if(!K(n,t))return!1;for(var i=V(n);i115},isReservedWord:function(){return m>=80&&m<=115},isUnterminated:function(){return 0!=(4&v)},getCommentDirectives:function(){return h},getNumericLiteralFlags:function(){return 1008&v},getTokenFlags:function(){return v},reScanGreaterToken:function(){if(31===m){if(62===D.charCodeAt(l))return 62===D.charCodeAt(l+1)?61===D.charCodeAt(l+2)?(l+=3,m=71):(l+=2,m=49):61===D.charCodeAt(l+1)?(l+=2,m=70):(l++,m=48);if(61===D.charCodeAt(l))return l++,m=33}return m},reScanAsteriskEqualsToken:function(){return e.Debug.assert(65===m,\"'reScanAsteriskEqualsToken' should only be called on a '*='\"),l=g+1,m=62},reScanSlashToken:function(){if(43===m||67===m){for(var r=g+1,n=!1,i=!1;;){if(r>=d){v|=4,S(e.Diagnostics.Unterminated_regular_expression_literal);break}var a=D.charCodeAt(r);if(C(a)){v|=4,S(e.Diagnostics.Unterminated_regular_expression_literal);break}if(n)n=!1;else{if(47===a&&!i){r++;break}91===a?i=!0:92===a?n=!0:93===a&&(i=!1)}r++}for(;r=d)return m=1;var e=U(D,l);switch(l+=V(e),e){case 9:case 11:case 12:case 32:for(;l=0&&K(r,t))return l+=3,v|=8,y=X()+Z(),m=ee();var n=Q();return n>=0&&K(n,t)?(l+=6,v|=1024,y=String.fromCharCode(n)+Z(),m=ee()):(l++,m=0)}if(K(e,t)){for(var i=e;l=65&&s<=70)s+=32;else if(!(s>=48&&s<=57||s>=97&&s<=102))break;i.push(s),l++,o=!1}}return i.length=d){n+=D.substring(i,l),v|=4,S(e.Diagnostics.Unterminated_string_literal);break}var a=D.charCodeAt(l);if(a===r){n+=D.substring(i,l),l++;break}if(92!==a||t){if(C(a)&&!t){n+=D.substring(i,l),v|=4,S(e.Diagnostics.Unterminated_string_literal);break}l++}else n+=D.substring(i,l),n+=G(),i=l}return n}function H(t){for(var r,n=96===D.charCodeAt(l),i=++l,a=\"\";;){if(l>=d){a+=D.substring(i,l),v|=4,S(e.Diagnostics.Unterminated_template_literal),r=n?14:17;break}var o=D.charCodeAt(l);if(96===o){a+=D.substring(i,l),l++,r=n?14:17;break}if(36===o&&l+1=d)return S(e.Diagnostics.Unexpected_end_of_text),\"\";var n=D.charCodeAt(l);switch(l++,n){case 48:return t&&l=0?String.fromCharCode(r):(S(e.Diagnostics.Hexadecimal_digit_expected),\"\")}function X(){var t=j(1,!1),r=t?parseInt(t,16):-1,n=!1;return r<0?(S(e.Diagnostics.Hexadecimal_digit_expected),n=!0):r>1114111&&(S(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),n=!0),l>=d?(S(e.Diagnostics.Unexpected_end_of_text),n=!0):125===D.charCodeAt(l)?l++:(S(e.Diagnostics.Unterminated_Unicode_escape_sequence),n=!0),n?\"\":W(r)}function Q(){if(l+5=2&&117===U(D,l+1)&&123===U(D,l+2)){var e=l;l+=3;var r=j(1,!1),n=r?parseInt(r,16):-1;return l=e,n}return-1}function Z(){for(var e=\"\",r=l;l=0&&z(n,t)){l+=3,v|=8,e+=X(),r=l;continue}if(!((n=Q())>=0&&z(n,t)))break;v|=1024,e+=D.substring(r,l),e+=W(n),r=l+=6}}return e+=D.substring(r,l)}function ee(){var e=y.length;if(e>=2&&e<=12){var t=y.charCodeAt(0);if(t>=97&&t<=122){var r=a.get(y);if(void 0!==r)return m=r}}return m=78}function te(t){for(var r=\"\",n=!1,i=!1;;){var a=D.charCodeAt(l);if(95!==a){if(n=!0,!k(a)||a-48>=t)break;r+=D[l],l++,i=!1}else v|=512,n?(n=!1,i=!0):S(i?e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted:e.Diagnostics.Numeric_separators_are_not_allowed_here,l,1),l++}return 95===D.charCodeAt(l-1)&&S(e.Diagnostics.Numeric_separators_are_not_allowed_here,l-1,1),r}function re(){if(110===D.charCodeAt(l))return y+=\"n\",384&v&&(y=e.parsePseudoBigInt(y)+\"n\"),l++,9;var t=128&v?parseInt(y.slice(2),2):256&v?parseInt(y.slice(2),8):+y;return y=\"\"+t,8}function ne(){var r;_=l,v=0;for(var a=!1;;){if(g=l,l>=d)return m=1;var o=U(D,l);if(35===o&&0===l&&O(D,l)){if(l=M(D,l),n)continue;return m=6}switch(o){case 10:case 13:if(v|=1,n){l++;continue}return 13===o&&l+1=0&&K(b,t))return l+=3,v|=8,y=X()+Z(),m=ee();var E=Q();return E>=0&&K(E,t)?(l+=6,v|=1024,y=String.fromCharCode(E)+Z(),m=ee()):(S(e.Diagnostics.Invalid_character),l++,m=0);case 35:if(0!==l&&\"!\"===D[l+1])return S(e.Diagnostics.can_only_be_used_at_the_start_of_a_file),l++,m=0;if(l++,K(o=D.charCodeAt(l),t)){for(l++;l=d)return m=1;var t=D.charCodeAt(l);if(60===t)return 47===D.charCodeAt(l+1)?(l+=2,m=30):(l++,m=29);if(123===t)return l++,m=18;for(var r=0,n=-1;l0&&n++,C(t)&&0===r?r=-1:E(t)||(r=l),l++}var i=-1===n?l:n;return y=D.substring(_,i),-1===r?12:11}function oe(){switch(_=l,D.charCodeAt(l)){case 34:case 39:return y=q(!0),m=10;default:return ne()}}function se(e,t){var r=l,n=_,i=g,a=m,o=y,s=v,c=e();return c&&!t||(l=r,_=n,g=i,m=a,y=o,v=s),c}function ce(e,t,r){D=e||\"\",d=void 0===r?D.length:t+r,ue(t||0)}function ue(t){e.Debug.assert(t>=0),l=t,_=t,g=t,m=0,y=void 0,v=0}};var U=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){var r=e.length;if(!(t<0||t>=r)){var n=e.charCodeAt(t);if(n>=55296&&n<=56319&&r>t+1){var i=e.charCodeAt(t+1);if(i>=56320&&i<=57343)return 1024*(n-55296)+i-56320+65536}return n}};function V(e){return e>=65536?2:1}var q=String.fromCodePoint?function(e){return String.fromCodePoint(e)}:function(t){if(e.Debug.assert(0<=t&&t<=1114111),t<=65535)return String.fromCharCode(t);var r=Math.floor((t-65536)/1024)+55296,n=(t-65536)%1024+56320;return String.fromCharCode(r,n)};function W(e){return q(e)}e.utf16EncodeAsString=W}(u||(u={})),function(e){function t(e){return e.start+e.length}function r(e){return 0===e.length}function n(e,t){var r=a(e,t);return r&&0===r.length?void 0:r}function i(e,t,r,n){return r<=e+t&&r+n>=e}function a(e,r){var n=Math.max(e.start,r.start),i=Math.min(t(e),t(r));return n<=i?s(n,i):void 0}function o(e,t){if(e<0)throw new Error(\"start < 0\");if(t<0)throw new Error(\"length < 0\");return{start:e,length:t}}function s(e,t){return o(e,t-e)}function c(e,t){if(t<0)throw new Error(\"newLength < 0\");return{span:e,newLength:t}}function u(t){return!!X(t)&&e.every(t.elements,l)}function l(t){return!!e.isOmittedExpression(t)||u(t.name)}function d(t){for(var r=t.parent;e.isBindingElement(r.parent);)r=r.parent.parent;return r.parent}function _(t,r){e.isBindingElement(t)&&(t=d(t));var n=r(t);return 249===t.kind&&(t=t.parent),t&&250===t.kind&&(n|=r(t),t=t.parent),t&&232===t.kind&&(n|=r(t)),n}function p(e){return 0==(8&e.flags)}function f(e){var t=e;return t.length>=3&&95===t.charCodeAt(0)&&95===t.charCodeAt(1)&&95===t.charCodeAt(2)?t.substr(1):t}function g(e){return f(e.escapedText)}function m(t){var r=t.parent.parent;if(r){if(ae(r))return y(r);switch(r.kind){case 232:if(r.declarationList&&r.declarationList.declarations[0])return y(r.declarationList.declarations[0]);break;case 233:var n=r.expression;switch(216===n.kind&&62===n.operatorToken.kind&&(n=n.left),n.kind){case 201:return n.name;case 202:var i=n.argumentExpression;if(e.isIdentifier(i))return i}break;case 207:return y(r.expression);case 245:if(ae(r.statement)||te(r.statement))return y(r.statement)}}}function y(t){var r=x(t);return r&&e.isIdentifier(r)?r:void 0}function v(e){return e.name||m(e)}function h(e){return!!e.name}function D(t){switch(t.kind){case 78:return t;case 333:case 326:var r=t.name;if(157===r.kind)return r.right;break;case 203:case 216:var n=t;switch(e.getAssignmentDeclarationKind(n)){case 1:case 4:case 5:case 3:return e.getElementOrPropertyAccessArgumentExpressionOrName(n.left);case 7:case 8:case 9:return n.arguments[1];default:return}case 331:return v(t);case 325:return m(t);case 266:var i=t.expression;return e.isIdentifier(i)?i:void 0;case 202:var a=t;if(e.isBindableStaticElementAccessExpression(a))return a.argumentExpression}return t.name}function x(t){if(void 0!==t)return D(t)||(e.isFunctionExpression(t)||e.isClassExpression(t)?b(t):void 0)}function b(t){if(t.parent){if(e.isPropertyAssignment(t.parent)||e.isBindingElement(t.parent))return t.parent.name;if(e.isBinaryExpression(t.parent)&&t===t.parent.right){if(e.isIdentifier(t.parent.left))return t.parent.left;if(e.isAccessExpression(t.parent.left))return e.getElementOrPropertyAccessArgumentExpressionOrName(t.parent.left)}else if(e.isVariableDeclaration(t.parent)&&e.isIdentifier(t.parent.name))return t.parent.name}}function S(t,r){if(t.name){if(e.isIdentifier(t.name)){var n=t.name.escapedText;return F(t.parent,r).filter((function(t){return e.isJSDocParameterTag(t)&&e.isIdentifier(t.name)&&t.name.escapedText===n}))}var i=t.parent.parameters.indexOf(t);e.Debug.assert(i>-1,\"Parameters should always be in their parents' parameter list\");var a=F(t.parent,r).filter(e.isJSDocParameterTag);if(i=157}function B(e){return 8<=e&&e<=14}function j(e){return 14<=e&&e<=17}function J(t){return e.isPropertyDeclaration(t)&&e.isPrivateIdentifier(t.name)}function K(e){switch(e){case 125:case 129:case 84:case 133:case 87:case 92:case 122:case 120:case 121:case 142:case 123:return!0}return!1}function z(t){return!!(92&e.modifierToFlag(t))}function U(e){return e&&q(e.kind)}function V(e){switch(e){case 251:case 165:case 166:case 167:case 168:case 208:case 209:return!0;default:return!1}}function q(e){switch(e){case 164:case 169:case 313:case 170:case 171:case 174:case 308:case 175:return!0;default:return V(e)}}function W(e){var t=e.kind;return 166===t||163===t||165===t||167===t||168===t||171===t||229===t}function H(e){return e&&(252===e.kind||221===e.kind)}function G(e){var t=e.kind;return 170===t||169===t||162===t||164===t||171===t}function Y(e){var t=e.kind;return 288===t||289===t||290===t||165===t||167===t||168===t}function X(e){if(e){var t=e.kind;return 197===t||196===t}return!1}function Q(e){switch(e.kind){case 196:case 200:return!0}return!1}function $(e){switch(e.kind){case 197:case 199:return!0}return!1}function Z(e){switch(e){case 201:case 202:case 204:case 203:case 273:case 274:case 277:case 205:case 199:case 207:case 200:case 221:case 208:case 78:case 13:case 8:case 9:case 10:case 14:case 218:case 94:case 103:case 107:case 109:case 105:case 225:case 226:case 99:return!0;default:return!1}}function ee(e){switch(e){case 214:case 215:case 210:case 211:case 212:case 213:case 206:return!0;default:return Z(e)}}function te(e){return function(e){switch(e){case 217:case 219:case 209:case 216:case 220:case 224:case 222:case 337:case 336:return!0;default:return ee(e)}}(M(e).kind)}function re(t){return e.isExportAssignment(t)||e.isExportDeclaration(t)}function ne(e){return 251===e||271===e||252===e||253===e||254===e||255===e||256===e||261===e||260===e||267===e||266===e||259===e}function ie(e){return 241===e||240===e||248===e||235===e||233===e||231===e||238===e||239===e||237===e||234===e||245===e||242===e||244===e||246===e||247===e||232===e||236===e||243===e||335===e||339===e||338===e}function ae(t){return 159===t.kind?t.parent&&330!==t.parent.kind||e.isInJSFile(t):209===(r=t.kind)||198===r||252===r||221===r||166===r||255===r||291===r||270===r||251===r||208===r||167===r||262===r||260===r||265===r||253===r||280===r||165===r||164===r||256===r||259===r||263===r||269===r||160===r||288===r||163===r||162===r||168===r||289===r||254===r||159===r||249===r||331===r||324===r||333===r;var r}function oe(e){return e.kind>=314&&e.kind<=333}e.isExternalModuleNameRelative=function(t){return e.pathIsRelative(t)||e.isRootedDiskPath(t)},e.sortAndDeduplicateDiagnostics=function(t){return e.sortAndDeduplicate(t,e.compareDiagnostics)},e.getDefaultLibFileName=function(e){switch(e.target){case 99:return\"lib.esnext.full.d.ts\";case 7:return\"lib.es2020.full.d.ts\";case 6:return\"lib.es2019.full.d.ts\";case 5:return\"lib.es2018.full.d.ts\";case 4:return\"lib.es2017.full.d.ts\";case 3:return\"lib.es2016.full.d.ts\";case 2:return\"lib.es6.d.ts\";default:return\"lib.d.ts\"}},e.textSpanEnd=t,e.textSpanIsEmpty=r,e.textSpanContainsPosition=function(e,r){return r>=e.start&&r=e.pos&&t<=e.end},e.textSpanContainsTextSpan=function(e,r){return r.start>=e.start&&t(r)<=t(e)},e.textSpanOverlapsWith=function(e,t){return void 0!==n(e,t)},e.textSpanOverlap=n,e.textSpanIntersectsWithTextSpan=function(e,t){return i(e.start,e.length,t.start,t.length)},e.textSpanIntersectsWith=function(e,t,r){return i(e.start,e.length,t,r)},e.decodedTextSpanIntersectsWith=i,e.textSpanIntersectsWithPosition=function(e,r){return r<=t(e)&&r>=e.start},e.textSpanIntersection=a,e.createTextSpan=o,e.createTextSpanFromBounds=s,e.textChangeRangeNewSpan=function(e){return o(e.span.start,e.newLength)},e.textChangeRangeIsUnchanged=function(e){return r(e.span)&&0===e.newLength},e.createTextChangeRange=c,e.unchangedTextChangeRange=c(o(0,0),0),e.collapseTextChangeRangesAcrossMultipleVersions=function(r){if(0===r.length)return e.unchangedTextChangeRange;if(1===r.length)return r[0];for(var n=r[0],i=n.span.start,a=t(n.span),o=i+n.newLength,u=1;u=2&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)?\"_\"+e:e},e.unescapeLeadingUnderscores=f,e.idText=g,e.symbolName=function(e){return e.valueDeclaration&&J(e.valueDeclaration)?g(e.valueDeclaration.name):f(e.escapedName)},e.nodeHasName=function t(r,n){return!(!h(r)||!e.isIdentifier(r.name)||g(r.name)!==g(n))||!(!e.isVariableStatement(r)||!e.some(r.declarationList.declarations,(function(e){return t(e,n)})))},e.getNameOfJSDocTypedef=v,e.isNamedDeclaration=h,e.getNonAssignedNameOfDeclaration=D,e.getNameOfDeclaration=x,e.getAssignedName=b,e.getJSDocParameterTags=E,e.getJSDocParameterTagsNoCache=function(e){return S(e,!0)},e.getJSDocTypeParameterTags=function(e){return T(e,!1)},e.getJSDocTypeParameterTagsNoCache=function(e){return T(e,!0)},e.hasJSDocParameterTags=function(t){return!!P(t,e.isJSDocParameterTag)},e.getJSDocAugmentsTag=function(t){return P(t,e.isJSDocAugmentsTag)},e.getJSDocImplementsTags=function(t){return w(t,e.isJSDocImplementsTag)},e.getJSDocClassTag=function(t){return P(t,e.isJSDocClassTag)},e.getJSDocPublicTag=function(t){return P(t,e.isJSDocPublicTag)},e.getJSDocPublicTagNoCache=function(t){return P(t,e.isJSDocPublicTag,!0)},e.getJSDocPrivateTag=function(t){return P(t,e.isJSDocPrivateTag)},e.getJSDocPrivateTagNoCache=function(t){return P(t,e.isJSDocPrivateTag,!0)},e.getJSDocProtectedTag=function(t){return P(t,e.isJSDocProtectedTag)},e.getJSDocProtectedTagNoCache=function(t){return P(t,e.isJSDocProtectedTag,!0)},e.getJSDocReadonlyTag=function(t){return P(t,e.isJSDocReadonlyTag)},e.getJSDocReadonlyTagNoCache=function(t){return P(t,e.isJSDocReadonlyTag,!0)},e.getJSDocDeprecatedTag=function(t){return P(t,e.isJSDocDeprecatedTag)},e.getJSDocDeprecatedTagNoCache=function(t){return P(t,e.isJSDocDeprecatedTag,!0)},e.getJSDocEnumTag=function(t){return P(t,e.isJSDocEnumTag)},e.getJSDocThisTag=function(t){return P(t,e.isJSDocThisTag)},e.getJSDocReturnTag=C,e.getJSDocTemplateTag=function(t){return P(t,e.isJSDocTemplateTag)},e.getJSDocTypeTag=k,e.getJSDocType=A,e.getJSDocReturnType=function(t){var r=C(t);if(r&&r.typeExpression)return r.typeExpression.type;var n=k(t);if(n&&n.typeExpression){var i=n.typeExpression.type;if(e.isTypeLiteralNode(i)){var a=e.find(i.members,e.isCallSignatureDeclaration);return a&&a.type}if(e.isFunctionTypeNode(i)||e.isJSDocFunctionType(i))return i.type}},e.getJSDocTags=N,e.getJSDocTagsNoCache=function(e){return F(e,!0)},e.getAllJSDocTags=w,e.getAllJSDocTagsOfKind=function(e,t){return N(e).filter((function(e){return e.kind===t}))},e.getEffectiveTypeParameterDeclarations=function(t){if(e.isJSDocSignature(t))return e.emptyArray;if(e.isJSDocTypeAlias(t))return e.Debug.assert(311===t.parent.kind),e.flatMap(t.parent.tags,(function(t){return e.isJSDocTemplateTag(t)?t.typeParameters:void 0}));if(t.typeParameters)return t.typeParameters;if(e.isInJSFile(t)){var r=e.getJSDocTypeParameterDeclarations(t);if(r.length)return r;var n=A(t);if(n&&e.isFunctionTypeNode(n)&&n.typeParameters)return n.typeParameters}return e.emptyArray},e.getEffectiveConstraintOfTypeParameter=function(t){return t.constraint?t.constraint:e.isJSDocTemplateTag(t.parent)&&t===t.parent.typeParameters[0]?t.parent.constraint:void 0},e.isIdentifierOrPrivateIdentifier=function(e){return 78===e.kind||79===e.kind},e.isGetOrSetAccessorDeclaration=function(e){return 168===e.kind||167===e.kind},e.isPropertyAccessChain=function(t){return e.isPropertyAccessExpression(t)&&!!(32&t.flags)},e.isElementAccessChain=function(t){return e.isElementAccessExpression(t)&&!!(32&t.flags)},e.isCallChain=function(t){return e.isCallExpression(t)&&!!(32&t.flags)},e.isOptionalChain=I,e.isOptionalChainRoot=O,e.isExpressionOfOptionalChainRoot=function(e){return O(e.parent)&&e.parent.expression===e},e.isOutermostOptionalChain=function(e){return!I(e.parent)||O(e.parent)||e!==e.parent.expression},e.isNullishCoalesce=function(e){return 216===e.kind&&60===e.operatorToken.kind},e.isConstTypeReference=function(t){return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&\"const\"===t.typeName.escapedText&&!t.typeArguments},e.skipPartiallyEmittedExpressions=M,e.isNonNullChain=function(t){return e.isNonNullExpression(t)&&!!(32&t.flags)},e.isBreakOrContinueStatement=function(e){return 241===e.kind||240===e.kind},e.isNamedExportBindings=function(e){return 269===e.kind||268===e.kind},e.isUnparsedTextLike=L,e.isUnparsedNode=function(e){return L(e)||292===e.kind||296===e.kind},e.isJSDocPropertyLikeTag=function(e){return 333===e.kind||326===e.kind},e.isNode=function(e){return R(e.kind)},e.isNodeKind=R,e.isToken=function(e){return e.kind>=0&&e.kind<=156},e.isNodeArray=function(e){return e.hasOwnProperty(\"pos\")&&e.hasOwnProperty(\"end\")},e.isLiteralKind=B,e.isLiteralExpression=function(e){return B(e.kind)},e.isTemplateLiteralKind=j,e.isTemplateLiteralToken=function(e){return j(e.kind)},e.isTemplateMiddleOrTemplateTail=function(e){var t=e.kind;return 16===t||17===t},e.isImportOrExportSpecifier=function(t){return e.isImportSpecifier(t)||e.isExportSpecifier(t)},e.isTypeOnlyImportOrExportDeclaration=function(e){switch(e.kind){case 265:case 270:return e.parent.parent.isTypeOnly;case 263:return e.parent.isTypeOnly;case 262:return e.isTypeOnly;default:return!1}},e.isStringTextContainingNode=function(e){return 10===e.kind||j(e.kind)},e.isGeneratedIdentifier=function(t){return e.isIdentifier(t)&&(7&t.autoGenerateFlags)>0},e.isPrivateIdentifierPropertyDeclaration=J,e.isPrivateIdentifierPropertyAccessExpression=function(t){return e.isPropertyAccessExpression(t)&&e.isPrivateIdentifier(t.name)},e.isModifierKind=K,e.isParameterPropertyModifier=z,e.isClassMemberModifier=function(e){return z(e)||123===e},e.isModifier=function(e){return K(e.kind)},e.isEntityName=function(e){var t=e.kind;return 157===t||78===t},e.isPropertyName=function(e){var t=e.kind;return 78===t||79===t||10===t||8===t||158===t},e.isBindingName=function(e){var t=e.kind;return 78===t||196===t||197===t},e.isFunctionLike=U,e.isFunctionLikeDeclaration=function(e){return e&&V(e.kind)},e.isFunctionLikeKind=q,e.isFunctionOrModuleBlock=function(t){return e.isSourceFile(t)||e.isModuleBlock(t)||e.isBlock(t)&&U(t.parent)},e.isClassElement=W,e.isClassLike=H,e.isAccessor=function(e){return e&&(167===e.kind||168===e.kind)},e.isMethodOrAccessor=function(e){switch(e.kind){case 165:case 167:case 168:return!0;default:return!1}},e.isTypeElement=G,e.isClassOrTypeElement=function(e){return G(e)||W(e)},e.isObjectLiteralElementLike=Y,e.isTypeNode=function(t){return e.isTypeNodeKind(t.kind)},e.isFunctionOrConstructorTypeNode=function(e){switch(e.kind){case 174:case 175:return!0}return!1},e.isBindingPattern=X,e.isAssignmentPattern=function(e){var t=e.kind;return 199===t||200===t},e.isArrayBindingElement=function(e){var t=e.kind;return 198===t||222===t},e.isDeclarationBindingElement=function(e){switch(e.kind){case 249:case 160:case 198:return!0}return!1},e.isBindingOrAssignmentPattern=function(e){return Q(e)||$(e)},e.isObjectBindingOrAssignmentPattern=Q,e.isArrayBindingOrAssignmentPattern=$,e.isPropertyAccessOrQualifiedNameOrImportTypeNode=function(e){var t=e.kind;return 201===t||157===t||195===t},e.isPropertyAccessOrQualifiedName=function(e){var t=e.kind;return 201===t||157===t},e.isCallLikeExpression=function(e){switch(e.kind){case 275:case 274:case 203:case 204:case 205:case 161:return!0;default:return!1}},e.isCallOrNewExpression=function(e){return 203===e.kind||204===e.kind},e.isTemplateLiteral=function(e){var t=e.kind;return 218===t||14===t},e.isLeftHandSideExpression=function(e){return Z(M(e).kind)},e.isUnaryExpression=function(e){return ee(M(e).kind)},e.isUnaryExpressionWithWrite=function(e){switch(e.kind){case 215:return!0;case 214:return 45===e.operator||46===e.operator;default:return!1}},e.isExpression=te,e.isAssertionExpression=function(e){var t=e.kind;return 206===t||224===t},e.isNotEmittedOrPartiallyEmittedNode=function(t){return e.isNotEmittedStatement(t)||e.isPartiallyEmittedExpression(t)},e.isIterationStatement=function e(t,r){switch(t.kind){case 237:case 238:case 239:case 235:case 236:return!0;case 245:return r&&e(t.statement,r)}return!1},e.isScopeMarker=re,e.hasScopeMarker=function(t){return e.some(t,re)},e.needsScopeMarker=function(t){return!(e.isAnyImportOrReExport(t)||e.isExportAssignment(t)||e.hasSyntacticModifier(t,1)||e.isAmbientModule(t))},e.isExternalModuleIndicator=function(t){return e.isAnyImportOrReExport(t)||e.isExportAssignment(t)||e.hasSyntacticModifier(t,1)},e.isForInOrOfStatement=function(e){return 238===e.kind||239===e.kind},e.isConciseBody=function(t){return e.isBlock(t)||te(t)},e.isFunctionBody=function(t){return e.isBlock(t)},e.isForInitializer=function(t){return e.isVariableDeclarationList(t)||te(t)},e.isModuleBody=function(e){var t=e.kind;return 257===t||256===t||78===t},e.isNamespaceBody=function(e){var t=e.kind;return 257===t||256===t},e.isJSDocNamespaceBody=function(e){var t=e.kind;return 78===t||256===t},e.isNamedImportBindings=function(e){var t=e.kind;return 264===t||263===t},e.isModuleOrEnumDeclaration=function(e){return 256===e.kind||255===e.kind},e.isDeclaration=ae,e.isDeclarationStatement=function(e){return ne(e.kind)},e.isStatementButNotDeclaration=function(e){return ie(e.kind)},e.isStatement=function(t){var r=t.kind;return ie(r)||ne(r)||function(t){if(230!==t.kind)return!1;if(void 0!==t.parent&&(247===t.parent.kind||287===t.parent.kind))return!1;return!e.isFunctionBlock(t)}(t)},e.isStatementOrBlock=function(e){var t=e.kind;return ie(t)||ne(t)||230===t},e.isModuleReference=function(e){var t=e.kind;return 272===t||157===t||78===t},e.isJsxTagNameExpression=function(e){var t=e.kind;return 107===t||78===t||201===t},e.isJsxChild=function(e){var t=e.kind;return 273===t||283===t||274===t||11===t||277===t},e.isJsxAttributeLike=function(e){var t=e.kind;return 280===t||282===t},e.isStringLiteralOrJsxExpression=function(e){var t=e.kind;return 10===t||283===t},e.isJsxOpeningLikeElement=function(e){var t=e.kind;return 275===t||274===t},e.isCaseOrDefaultClause=function(e){var t=e.kind;return 284===t||285===t},e.isJSDocNode=function(e){return e.kind>=301&&e.kind<=333},e.isJSDocCommentContainingNode=function(t){return 311===t.kind||310===t.kind||oe(t)||e.isJSDocTypeLiteral(t)||e.isJSDocSignature(t)},e.isJSDocTag=oe,e.isSetAccessor=function(e){return 168===e.kind},e.isGetAccessor=function(e){return 167===e.kind},e.hasJSDocNodes=function(e){var t=e.jsDoc;return!!t&&t.length>0},e.hasType=function(e){return!!e.type},e.hasInitializer=function(e){return!!e.initializer},e.hasOnlyExpressionInitializer=function(e){switch(e.kind){case 249:case 160:case 198:case 162:case 163:case 288:case 291:return!0;default:return!1}},e.isObjectLiteralElement=function(e){return 280===e.kind||282===e.kind||Y(e)},e.isTypeReferenceType=function(e){return 173===e.kind||223===e.kind};var se=1073741823;e.guessIndentation=function(t){for(var r=se,n=0,i=t;n=0);var n=e.getLineStarts(r),i=t,a=r.text;if(i+1===n.length)return a.length-1;var o=n[i],s=n[i+1]-1;for(e.Debug.assert(e.isLineBreak(a.charCodeAt(s)));o<=s&&e.isLineBreak(a.charCodeAt(s));)s--;return s}function d(e){return void 0===e||e.pos===e.end&&e.pos>=0&&1!==e.kind}function _(e){return!d(e)}function p(e,t,n){if(void 0===t||0===t.length)return e;for(var i=0;i0?y(t._children[0],r,n):e.skipTrivia((r||u(t)).text,t.pos)}function v(e,t,r){return void 0===r&&(r=!1),h(e.text,t,r)}function h(t,r,n){if(void 0===n&&(n=!1),d(r))return\"\";var i=t.substring(n?r.pos:e.skipTrivia(t,r.pos),r.end);return function(t){return!!e.findAncestor(t,e.isJSDocTypeExpression)}(r)&&(i=i.replace(/(^|\\r?\\n|\\r)\\s*\\*\\s*/g,\"$1\")),i}function D(e,t){return void 0===t&&(t=!1),v(u(e),e,t)}function x(e){return e.pos}function b(e){var t=e.emitNode;return t&&t.flags||0}function S(e){var t=mt(e);return 249===t.kind&&287===t.parent.kind}function E(t){return e.isModuleDeclaration(t)&&(10===t.name.kind||C(t))}function T(t){return e.isModuleDeclaration(t)||e.isIdentifier(t)}function C(e){return!!(1024&e.flags)}function k(e){return E(e)&&A(e)}function A(t){switch(t.parent.kind){case 297:return e.isExternalModule(t.parent);case 257:return E(t.parent.parent)&&e.isSourceFile(t.parent.parent.parent)&&!e.isExternalModule(t.parent.parent.parent)}return!1}function F(t,r){switch(t.kind){case 297:case 258:case 287:case 256:case 237:case 238:case 239:case 166:case 165:case 167:case 168:case 251:case 208:case 209:return!0;case 230:return!e.isFunctionLike(r)}return!1}function N(t){switch(t.kind){case 169:case 170:case 164:case 171:case 174:case 175:case 308:case 252:case 221:case 253:case 254:case 330:case 251:case 165:case 166:case 167:case 168:case 208:case 209:return!0;default:return e.assertType(t),!1}}function P(e){switch(e.kind){case 261:case 260:return!0;default:return!1}}function w(e){return e&&0!==s(e)?D(e):\"(Missing)\"}function I(t){switch(t.kind){case 78:case 79:return t.escapedText;case 10:case 8:case 14:return e.escapeLeadingUnderscores(t.text);case 158:return ot(t.expression)?e.escapeLeadingUnderscores(t.expression.text):e.Debug.fail(\"Text of property name cannot be read from non-literal-valued ComputedPropertyNames\");default:return e.Debug.assertNever(t)}}function O(t){switch(t.kind){case 107:return\"this\";case 79:case 78:return 0===s(t)?e.idText(t):D(t);case 157:return O(t.left)+\".\"+O(t.right);case 201:return e.isIdentifier(t.name)||e.isPrivateIdentifier(t.name)?O(t.expression)+\".\"+O(t.name):e.Debug.assertNever(t.name);default:return e.Debug.assertNever(t)}}function M(e,t,r,n,i,a,o){var s=R(e,t);return nn(e,s.start,s.length,r,n,i,a,o)}function L(t,r){var n=e.createScanner(t.languageVersion,!0,t.languageVariant,t.text,void 0,r);n.scan();var i=n.getTokenPos();return e.createTextSpanFromBounds(i,n.getTextPos())}function R(t,r){var n=r;switch(r.kind){case 297:var i=e.skipTrivia(t.text,0,!1);return i===t.text.length?e.createTextSpan(0,0):L(t,i);case 249:case 198:case 252:case 221:case 253:case 256:case 255:case 291:case 251:case 208:case 165:case 167:case 168:case 254:case 163:case 162:n=r.name;break;case 209:return function(t,r){var n=e.skipTrivia(t.text,r.pos);if(r.body&&230===r.body.kind){var i=e.getLineAndCharacterOfPosition(t,r.body.pos).line;if(i0?r.statements[0].pos:r.end;return e.createTextSpanFromBounds(a,o)}if(void 0===n)return L(t,r.pos);e.Debug.assert(!e.isJSDoc(n));var s=d(n),c=s||e.isJsxText(r)?n.pos:e.skipTrivia(t.text,n.pos);return s?(e.Debug.assert(c===n.pos,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\"),e.Debug.assert(c===n.end,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\")):(e.Debug.assert(c>=n.pos,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\"),e.Debug.assert(c<=n.end,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\")),e.createTextSpanFromBounds(c,n.end)}function B(e){return 6===e.scriptKind}function j(t){return!!(2&e.getCombinedNodeFlags(t))}function J(e){return 203===e.kind&&99===e.expression.kind}function K(t){return e.isImportTypeNode(t)&&e.isLiteralTypeNode(t.argument)&&e.isStringLiteral(t.argument.literal)}function z(e){return 233===e.kind&&10===e.expression.kind}function U(e){return!!(1048576&b(e))}function V(t){return e.isIdentifier(t.name)&&!t.initializer}e.changesAffectModuleResolution=function(e,t){return e.configFilePath!==t.configFilePath||o(e,t)},e.optionsHaveModuleResolutionChanges=o,e.forEachAncestor=function(t,r){for(;;){var n=r(t);if(\"quit\"===n)return;if(void 0!==n)return n;if(e.isSourceFile(t))return;t=t.parent}},e.forEachEntry=function(e,t){for(var r=e.entries(),n=r.next();!n.done;n=r.next()){var i=n.value,a=i[0],o=t(i[1],a);if(o)return o}},e.forEachKey=function(e,t){for(var r=e.keys(),n=r.next();!n.done;n=r.next()){var i=t(n.value);if(i)return i}},e.copyEntries=function(e,t){e.forEach((function(e,r){t.set(r,e)}))},e.usingSingleLineStringWriter=function(e){var t=a.getText();try{return e(a),a.getText()}finally{a.clear(),a.writeKeyword(t)}},e.getFullWidth=s,e.getResolvedModule=function(e,t){return e&&e.resolvedModules&&e.resolvedModules.get(t)},e.setResolvedModule=function(t,r,n){t.resolvedModules||(t.resolvedModules=new e.Map),t.resolvedModules.set(r,n)},e.setResolvedTypeReferenceDirective=function(t,r,n){t.resolvedTypeReferenceDirectiveNames||(t.resolvedTypeReferenceDirectiveNames=new e.Map),t.resolvedTypeReferenceDirectiveNames.set(r,n)},e.projectReferenceIsEqualTo=function(e,t){return e.path===t.path&&!e.prepend==!t.prepend&&!e.circular==!t.circular},e.moduleResolutionIsEqualTo=function(e,t){return e.isExternalLibraryImport===t.isExternalLibraryImport&&e.extension===t.extension&&e.resolvedFileName===t.resolvedFileName&&e.originalPath===t.originalPath&&(r=e.packageId,n=t.packageId,r===n||!!r&&!!n&&r.name===n.name&&r.subModuleName===n.subModuleName&&r.version===n.version);var r,n},e.packageIdToString=function(e){var t=e.name,r=e.subModuleName;return(r?t+\"/\"+r:t)+\"@\"+e.version},e.typeDirectiveIsEqualTo=function(e,t){return e.resolvedFileName===t.resolvedFileName&&e.primary===t.primary},e.hasChangesInResolutions=function(t,r,n,i){e.Debug.assert(t.length===r.length);for(var a=0;a=0),e.getLineStarts(r)[t]},e.nodePosToString=function(t){var r=u(t),n=e.getLineAndCharacterOfPosition(r,t.pos);return r.fileName+\"(\"+(n.line+1)+\",\"+(n.character+1)+\")\"},e.getEndLinePosition=l,e.isFileLevelUniqueName=function(e,t,r){return!(r&&r(t)||e.identifiers.has(t))},e.nodeIsMissing=d,e.nodeIsPresent=_,e.insertStatementsAfterStandardPrologue=function(e,t){return p(e,t,z)},e.insertStatementsAfterCustomPrologue=function(e,t){return p(e,t,g)},e.insertStatementAfterStandardPrologue=function(e,t){return f(e,t,z)},e.insertStatementAfterCustomPrologue=function(e,t){return f(e,t,g)},e.isRecognizedTripleSlashComment=function(t,r,n){if(47===t.charCodeAt(r+1)&&r+2=e.ModuleKind.ES2015||!r.noImplicitUseStrict)))},e.isBlockScope=F,e.isDeclarationWithTypeParameters=function(t){switch(t.kind){case 324:case 331:case 313:return!0;default:return e.assertType(t),N(t)}},e.isDeclarationWithTypeParameterChildren=N,e.isAnyImportSyntax=P,e.isLateVisibilityPaintedStatement=function(e){switch(e.kind){case 261:case 260:case 232:case 252:case 251:case 256:case 254:case 253:case 255:return!0;default:return!1}},e.isAnyImportOrReExport=function(t){return P(t)||e.isExportDeclaration(t)},e.getEnclosingBlockScopeContainer=function(t){return e.findAncestor(t.parent,(function(e){return F(e,e.parent)}))},e.declarationNameToString=w,e.getNameFromIndexInfo=function(e){return e.declaration?w(e.declaration.parameters[0].name):void 0},e.isComputedNonLiteralName=function(e){return 158===e.kind&&!ot(e.expression)},e.getTextOfPropertyName=I,e.entityNameToString=O,e.createDiagnosticForNode=function(e,t,r,n,i,a){return M(u(e),e,t,r,n,i,a)},e.createDiagnosticForNodeArray=function(t,r,n,i,a,o,s){var c=e.skipTrivia(t.text,r.pos);return nn(t,c,r.end-c,n,i,a,o,s)},e.createDiagnosticForNodeInSourceFile=M,e.createDiagnosticForNodeFromMessageChain=function(e,t,r){var n=u(e),i=R(n,e);return{file:n,start:i.start,length:i.length,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}},e.createDiagnosticForFileFromMessageChain=function(e,t,r){return{file:e,start:0,length:0,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}},e.createDiagnosticForRange=function(e,t,r){return{file:e,start:t.pos,length:t.end-t.pos,code:r.code,category:r.category,messageText:r.message}},e.getSpanOfTokenAtPosition=L,e.getErrorSpanForNode=R,e.isExternalOrCommonJsModule=function(e){return void 0!==(e.externalModuleIndicator||e.commonJsModuleIndicator)},e.isJsonSourceFile=B,e.isEnumConst=function(t){return!!(2048&e.getCombinedModifierFlags(t))},e.isDeclarationReadonly=function(t){return!(!(64&e.getCombinedModifierFlags(t))||e.isParameterPropertyDeclaration(t,t.parent))},e.isVarConst=j,e.isLet=function(t){return!!(1&e.getCombinedNodeFlags(t))},e.isSuperCall=function(e){return 203===e.kind&&105===e.expression.kind},e.isImportCall=J,e.isImportMeta=function(t){return e.isMetaProperty(t)&&99===t.keywordToken&&\"meta\"===t.name.escapedText},e.isLiteralImportTypeNode=K,e.isPrologueDirective=z,e.isCustomPrologue=U,e.isHoistedFunction=function(t){return U(t)&&e.isFunctionDeclaration(t)},e.isHoistedVariableStatement=function(t){return U(t)&&e.isVariableStatement(t)&&e.every(t.declarationList.declarations,V)},e.getLeadingCommentRangesOfNode=function(t,r){return 11!==t.kind?e.getLeadingCommentRanges(r.text,t.pos):void 0},e.getJSDocCommentRanges=function(t,r){var n=160===t.kind||159===t.kind||208===t.kind||209===t.kind||207===t.kind?e.concatenate(e.getTrailingCommentRanges(r,t.pos),e.getLeadingCommentRanges(r,t.pos)):e.getLeadingCommentRanges(r,t.pos);return e.filter(n,(function(e){return 42===r.charCodeAt(e.pos+1)&&42===r.charCodeAt(e.pos+2)&&47!==r.charCodeAt(e.pos+3)}))},e.fullTripleSlashReferencePathRegEx=/^(\\/\\/\\/\\s*/;var q=/^(\\/\\/\\/\\s*/;e.fullTripleSlashAMDReferencePathRegEx=/^(\\/\\/\\/\\s*/;var W=/^(\\/\\/\\/\\s*/;function H(t){if(172<=t.kind&&t.kind<=195)return!0;switch(t.kind){case 128:case 152:case 144:case 155:case 147:case 131:case 148:case 145:case 150:case 141:return!0;case 113:return 212!==t.parent.kind;case 223:return!Er(t);case 159:return 190===t.parent.kind||185===t.parent.kind;case 78:(157===t.parent.kind&&t.parent.right===t||201===t.parent.kind&&t.parent.name===t)&&(t=t.parent),e.Debug.assert(78===t.kind||157===t.kind||201===t.kind,\"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.\");case 157:case 201:case 107:var r=t.parent;if(176===r.kind)return!1;if(195===r.kind)return!r.isTypeOf;if(172<=r.kind&&r.kind<=195)return!0;switch(r.kind){case 223:return!Er(r);case 159:case 330:return t===r.constraint;case 163:case 162:case 160:case 249:return t===r.type;case 251:case 208:case 209:case 166:case 165:case 164:case 167:case 168:return t===r.type;case 169:case 170:case 171:case 206:return t===r.type;case 203:case 204:return e.contains(r.typeArguments,t);case 205:return!1}}return!1}function G(e){if(e)switch(e.kind){case 198:case 291:case 160:case 288:case 163:case 162:case 289:case 249:return!0}return!1}function Y(e){return 250===e.parent.kind&&232===e.parent.parent.kind}function X(e,t,r){return e.properties.filter((function(e){if(288===e.kind){var n=I(e.name);return t===n||!!r&&r===n}return!1}))}function Q(t){if(t&&t.statements.length){var r=t.statements[0].expression;return e.tryCast(r,e.isObjectLiteralExpression)}}function $(t,r){var n=Q(t);return n?X(n,r):e.emptyArray}function Z(t,r){for(e.Debug.assert(297!==t.kind);;){if(!(t=t.parent))return e.Debug.fail();switch(t.kind){case 158:if(e.isClassLike(t.parent.parent))return t;t=t.parent;break;case 161:160===t.parent.kind&&e.isClassElement(t.parent.parent)?t=t.parent.parent:e.isClassElement(t.parent)&&(t=t.parent);break;case 209:if(!r)continue;case 251:case 208:case 256:case 163:case 162:case 165:case 164:case 166:case 167:case 168:case 169:case 170:case 171:case 255:case 297:return t}}}function ee(e){var t=e.kind;return(201===t||202===t)&&105===e.expression.kind}function te(t,r,n){if(e.isNamedDeclaration(t)&&e.isPrivateIdentifier(t.name))return!1;switch(t.kind){case 252:return!0;case 163:return 252===r.kind;case 167:case 168:case 165:return void 0!==t.body&&252===r.kind;case 160:return void 0!==r.body&&(166===r.kind||165===r.kind||168===r.kind)&&252===n.kind}return!1}function re(e,t,r){return void 0!==e.decorators&&te(e,t,r)}function ne(e,t,r){return re(e,t,r)||ie(e,t)}function ie(t,r){switch(t.kind){case 252:return e.some(t.members,(function(e){return ne(e,t,r)}));case 165:case 168:return e.some(t.parameters,(function(e){return re(e,t,r)}));default:return!1}}function ae(e){var t=e.parent;return(275===t.kind||274===t.kind||276===t.kind)&&t.tagName===e}function oe(e){switch(e.kind){case 105:case 103:case 109:case 94:case 13:case 199:case 200:case 201:case 202:case 203:case 204:case 205:case 224:case 206:case 225:case 207:case 208:case 221:case 209:case 212:case 210:case 211:case 214:case 215:case 216:case 217:case 220:case 218:case 222:case 273:case 274:case 277:case 219:case 213:case 226:return!0;case 157:for(;157===e.parent.kind;)e=e.parent;return 176===e.parent.kind||ae(e);case 78:if(176===e.parent.kind||ae(e))return!0;case 8:case 9:case 10:case 14:case 107:return se(e);default:return!1}}function se(e){var t=e.parent;switch(t.kind){case 249:case 160:case 163:case 162:case 291:case 288:case 198:return t.initializer===e;case 233:case 234:case 235:case 236:case 242:case 243:case 244:case 284:case 246:return t.expression===e;case 237:var r=t;return r.initializer===e&&250!==r.initializer.kind||r.condition===e||r.incrementor===e;case 238:case 239:var n=t;return n.initializer===e&&250!==n.initializer.kind||n.expression===e;case 206:case 224:case 228:case 158:return e===t.expression;case 161:case 283:case 282:case 290:return!0;case 223:return t.expression===e&&Er(t);case 289:return t.objectAssignmentInitializer===e;default:return oe(t)}}function ce(e){for(;157===e.kind||78===e.kind;)e=e.parent;return 176===e.kind}function ue(e){return 260===e.kind&&272===e.moduleReference.kind}function le(e){return de(e)}function de(e){return!!e&&!!(131072&e.flags)}function _e(t,r){if(203!==t.kind)return!1;var n=t,i=n.expression,a=n.arguments;if(78!==i.kind||\"require\"!==i.escapedText)return!1;if(1!==a.length)return!1;var o=a[0];return!r||e.isStringLiteralLike(o)}function pe(t,r){return 198===t.kind&&(t=t.parent.parent),e.isVariableDeclaration(t)&&!!t.initializer&&_e(qr(t.initializer),r)}function fe(t){return e.isBinaryExpression(t)||Vr(t)||e.isIdentifier(t)||e.isCallExpression(t)}function ge(t){return de(t)&&t.initializer&&e.isBinaryExpression(t.initializer)&&(56===t.initializer.operatorToken.kind||60===t.initializer.operatorToken.kind)&&t.name&&Tr(t.name)&&ye(t.name,t.initializer.left)?t.initializer.right:t.initializer}function me(t,r){if(e.isCallExpression(t)){var n=Ge(t.expression);return 208===n.kind||209===n.kind?t:void 0}return 208===t.kind||221===t.kind||209===t.kind||e.isObjectLiteralExpression(t)&&(0===t.properties.length||r)?t:void 0}function ye(t,r){if(_t(t)&&_t(r))return pt(t)===pt(r);if(e.isIdentifier(t)&&Ee(r)&&(107===r.expression.kind||e.isIdentifier(r.expression)&&(\"window\"===r.expression.escapedText||\"self\"===r.expression.escapedText||\"global\"===r.expression.escapedText))){var n=Fe(r);return e.isPrivateIdentifier(n)&&e.Debug.fail(\"Unexpected PrivateIdentifier in name expression with literal-like access.\"),ye(t,n)}return!(!Ee(t)||!Ee(r))&&(Pe(t)===Pe(r)&&ye(t.expression,r.expression))}function ve(e){for(;Sr(e,!0);)e=e.right;return e}function he(t){return e.isIdentifier(t)&&\"exports\"===t.escapedText}function De(t){return e.isIdentifier(t)&&\"module\"===t.escapedText}function xe(t){return(e.isPropertyAccessExpression(t)||Te(t))&&De(t.expression)&&\"exports\"===Pe(t)}function be(t){var r=function(t){if(e.isCallExpression(t)){if(!Se(t))return 0;var r=t.arguments[0];return he(r)||xe(r)?8:Ce(r)&&\"prototype\"===Pe(r)?9:7}if(62!==t.operatorToken.kind||!Vr(t.left)||function(t){return e.isVoidExpression(t)&&e.isNumericLiteral(t.expression)&&\"0\"===t.expression.text}(ve(t)))return 0;if(Ae(t.left.expression,!0)&&\"prototype\"===Pe(t.left)&&e.isObjectLiteralExpression(Ie(t)))return 6;return we(t.left)}(t);return 5===r||de(t)?r:0}function Se(t){return 3===e.length(t.arguments)&&e.isPropertyAccessExpression(t.expression)&&e.isIdentifier(t.expression.expression)&&\"Object\"===e.idText(t.expression.expression)&&\"defineProperty\"===e.idText(t.expression.name)&&ot(t.arguments[1])&&Ae(t.arguments[0],!0)}function Ee(t){return e.isPropertyAccessExpression(t)||Te(t)}function Te(t){return e.isElementAccessExpression(t)&&(ot(t.argumentExpression)||lt(t.argumentExpression))}function Ce(t,r){return e.isPropertyAccessExpression(t)&&(!r&&107===t.expression.kind||e.isIdentifier(t.name)&&Ae(t.expression,!0))||ke(t,r)}function ke(e,t){return Te(e)&&(!t&&107===e.expression.kind||Tr(e.expression)||Ce(e.expression,!0))}function Ae(e,t){return Tr(e)||Ce(e,t)}function Fe(t){return e.isPropertyAccessExpression(t)?t.name:t.argumentExpression}function Ne(t){if(e.isPropertyAccessExpression(t))return t.name;var r=Ge(t.argumentExpression);return e.isNumericLiteral(r)||e.isStringLiteralLike(r)?r:t}function Pe(t){var r=Ne(t);if(r){if(e.isIdentifier(r))return r.escapedText;if(e.isStringLiteralLike(r)||e.isNumericLiteral(r))return e.escapeLeadingUnderscores(r.text)}if(e.isElementAccessExpression(t)&<(t.argumentExpression))return ft(e.idText(t.argumentExpression.name))}function we(t){if(107===t.expression.kind)return 4;if(xe(t))return 2;if(Ae(t.expression,!0)){if(kr(t.expression))return 3;for(var r=t;!e.isIdentifier(r.expression);)r=r.expression;var n=r.expression;if((\"exports\"===n.escapedText||\"module\"===n.escapedText&&\"exports\"===Pe(r))&&Ce(t))return 1;if(Ae(t,!0)||e.isElementAccessExpression(t)&&ut(t))return 5}return 0}function Ie(t){for(;e.isBinaryExpression(t.right);)t=t.right;return t.right}function Oe(t){switch(t.parent.kind){case 261:case 267:return t.parent;case 272:return t.parent.parent;case 203:return J(t.parent)||_e(t.parent,!1)?t.parent:void 0;case 191:return e.Debug.assert(e.isStringLiteral(t)),e.tryCast(t.parent.parent,e.isImportTypeNode);default:return}}function Me(e){return 331===e.kind||324===e.kind||325===e.kind}function Le(t){return e.isExpressionStatement(t)&&e.isBinaryExpression(t.expression)&&0!==be(t.expression)&&e.isBinaryExpression(t.expression.right)&&(56===t.expression.right.operatorToken.kind||60===t.expression.right.operatorToken.kind)?t.expression.right.right:void 0}function Re(e){switch(e.kind){case 232:var t=Be(e);return t&&t.initializer;case 163:case 288:return e.initializer}}function Be(t){return e.isVariableStatement(t)?e.firstOrUndefined(t.declarationList.declarations):void 0}function je(t){return e.isModuleDeclaration(t)&&t.body&&256===t.body.kind?t.body:void 0}function Je(t){var r=t.parent;return 288===r.kind||266===r.kind||163===r.kind||233===r.kind&&201===t.kind||je(r)||e.isBinaryExpression(t)&&62===t.operatorToken.kind?r:r.parent&&(Be(r.parent)===t||e.isBinaryExpression(r)&&62===r.operatorToken.kind)?r.parent:r.parent&&r.parent.parent&&(Be(r.parent.parent)||Re(r.parent.parent)===t||Le(r.parent.parent))?r.parent.parent:void 0}function Ke(t){var r=ze(t);return r&&e.isFunctionLike(r)?r:void 0}function ze(t){var r=Ue(t);return Le(r)||function(t){return e.isExpressionStatement(t)&&e.isBinaryExpression(t.expression)&&62===t.expression.operatorToken.kind?ve(t.expression):void 0}(r)||Re(r)||Be(r)||je(r)||r}function Ue(t){return e.Debug.checkDefined(e.findAncestor(t.parent,e.isJSDoc)).parent}function Ve(t){var r=e.isJSDocParameterTag(t)?t.typeExpression&&t.typeExpression.type:t.type;return void 0!==t.dotDotDotToken||!!r&&309===r.kind}function qe(e){for(var t=e.parent;;){switch(t.kind){case 216:var r=t.operatorToken.kind;return Dr(r)&&t.left===e?62===r||hr(r)?1:2:0;case 214:case 215:var n=t.operator;return 45===n||46===n?2:0;case 238:case 239:return t.initializer===e?1:0;case 207:case 199:case 220:case 225:e=t;break;case 289:if(t.name!==e)return 0;e=t.parent;break;case 288:if(t.name===e)return 0;e=t.parent;break;default:return 0}t=e.parent}}function We(e,t){for(;e&&e.kind===t;)e=e.parent;return e}function He(e){return We(e,207)}function Ge(t){return e.skipOuterExpressions(t,1)}function Ye(t){return Tr(t)||e.isClassExpression(t)}function Xe(e){return Ye(Qe(e))}function Qe(t){return e.isExportAssignment(t)?t.expression:t.right}function $e(t){var r=Ze(t);if(r&&de(t)){var n=e.getJSDocAugmentsTag(t);if(n)return n.class}return r}function Ze(e){var t=rt(e.heritageClauses,93);return t&&t.types.length>0?t.types[0]:void 0}function et(t){if(de(t))return e.getJSDocImplementsTags(t).map((function(e){return e.class}));var r=rt(t.heritageClauses,116);return null==r?void 0:r.types}function tt(e){var t=rt(e.heritageClauses,93);return t?t.types:void 0}function rt(e,t){if(e)for(var r=0,n=e;r0&&e.every(t.declarationList.declarations,(function(e){return pe(e,r)}))},e.isSingleOrDoubleQuote=function(e){return 39===e||34===e},e.isStringDoubleQuoted=function(e,t){return 34===v(t,e).charCodeAt(0)},e.isAssignmentDeclaration=fe,e.getEffectiveInitializer=ge,e.getDeclaredExpandoInitializer=function(e){var t=ge(e);return t&&me(t,kr(e.name))},e.getAssignedExpandoInitializer=function(t){if(t&&t.parent&&e.isBinaryExpression(t.parent)&&62===t.parent.operatorToken.kind){var r=kr(t.parent.left);return me(t.parent.right,r)||function(t,r,n){var i=e.isBinaryExpression(r)&&(56===r.operatorToken.kind||60===r.operatorToken.kind)&&me(r.right,n);if(i&&ye(t,r.left))return i}(t.parent.left,t.parent.right,r)}if(t&&e.isCallExpression(t)&&Se(t)){var n=function(t,r){return e.forEach(t.properties,(function(t){return e.isPropertyAssignment(t)&&e.isIdentifier(t.name)&&\"value\"===t.name.escapedText&&t.initializer&&me(t.initializer,r)}))}(t.arguments[2],\"prototype\"===t.arguments[1].text);if(n)return n}},e.getExpandoInitializer=me,e.isDefaultedExpandoInitializer=function(t){var r=e.isVariableDeclaration(t.parent)?t.parent.name:e.isBinaryExpression(t.parent)&&62===t.parent.operatorToken.kind?t.parent.left:void 0;return r&&me(t.right,kr(r))&&Tr(r)&&ye(r,t.left)},e.getNameOfExpando=function(t){if(e.isBinaryExpression(t.parent)){var r=56!==t.parent.operatorToken.kind&&60!==t.parent.operatorToken.kind||!e.isBinaryExpression(t.parent.parent)?t.parent:t.parent.parent;if(62===r.operatorToken.kind&&e.isIdentifier(r.left))return r.left}else if(e.isVariableDeclaration(t.parent))return t.parent.name},e.isSameEntityName=ye,e.getRightMostAssignedExpression=ve,e.isExportsIdentifier=he,e.isModuleIdentifier=De,e.isModuleExportsAccessExpression=xe,e.getAssignmentDeclarationKind=be,e.isBindableObjectDefinePropertyCall=Se,e.isLiteralLikeAccess=Ee,e.isLiteralLikeElementAccess=Te,e.isBindableStaticAccessExpression=Ce,e.isBindableStaticElementAccessExpression=ke,e.isBindableStaticNameExpression=Ae,e.getNameOrArgument=Fe,e.getElementOrPropertyAccessArgumentExpressionOrName=Ne,e.getElementOrPropertyAccessName=Pe,e.getAssignmentDeclarationPropertyAccessKind=we,e.getInitializerOfBinaryExpression=Ie,e.isPrototypePropertyAssignment=function(t){return e.isBinaryExpression(t)&&3===be(t)},e.isSpecialPropertyDeclaration=function(t){return de(t)&&t.parent&&233===t.parent.kind&&(!e.isElementAccessExpression(t)||Te(t))&&!!e.getJSDocTypeTag(t.parent)},e.setValueDeclaration=function(e,t){var r=e.valueDeclaration;(!r||(!(8388608&t.flags)||8388608&r.flags)&&fe(r)&&!fe(t)||r.kind!==t.kind&&T(r))&&(e.valueDeclaration=t)},e.isFunctionSymbol=function(t){if(!t||!t.valueDeclaration)return!1;var r=t.valueDeclaration;return 251===r.kind||e.isVariableDeclaration(r)&&r.initializer&&e.isFunctionLike(r.initializer)},e.importFromModuleSpecifier=function(t){return Oe(t)||e.Debug.failBadSyntaxKind(t.parent)},e.tryGetImportFromModuleSpecifier=Oe,e.getExternalModuleName=function(t){switch(t.kind){case 261:case 267:return t.moduleSpecifier;case 260:return 272===t.moduleReference.kind?t.moduleReference.expression:void 0;case 195:return K(t)?t.argument.literal:void 0;default:return e.Debug.assertNever(t)}},e.getNamespaceDeclarationNode=function(t){switch(t.kind){case 261:return t.importClause&&e.tryCast(t.importClause.namedBindings,e.isNamespaceImport);case 260:return t;case 267:return t.exportClause&&e.tryCast(t.exportClause,e.isNamespaceExport);default:return e.Debug.assertNever(t)}},e.isDefaultImport=function(e){return 261===e.kind&&!!e.importClause&&!!e.importClause.name},e.forEachImportClauseDeclaration=function(t,r){var n;if(t.name&&(n=r(t)))return n;if(t.namedBindings&&(n=e.isNamespaceImport(t.namedBindings)?r(t.namedBindings):e.forEach(t.namedBindings.elements,r)))return n},e.hasQuestionToken=function(e){if(e)switch(e.kind){case 160:case 165:case 164:case 289:case 288:case 163:case 162:return void 0!==e.questionToken}return!1},e.isJSDocConstructSignature=function(t){var r=e.isJSDocFunctionType(t)?e.firstOrUndefined(t.parameters):void 0,n=e.tryCast(r&&r.name,e.isIdentifier);return!!n&&\"new\"===n.escapedText},e.isJSDocTypeAlias=Me,e.isTypeAlias=function(t){return Me(t)||e.isTypeAliasDeclaration(t)},e.getSingleInitializerOfVariableStatementOrPropertyDeclaration=Re,e.getSingleVariableOfVariableStatement=Be,e.getJSDocCommentsAndTags=function(t,r){var n;G(t)&&e.hasInitializer(t)&&e.hasJSDocNodes(t.initializer)&&(n=e.append(n,e.last(t.initializer.jsDoc)));for(var i=t;i&&i.parent;){if(e.hasJSDocNodes(i)&&(n=e.append(n,e.last(i.jsDoc))),160===i.kind){n=e.addRange(n,(r?e.getJSDocParameterTagsNoCache:e.getJSDocParameterTags)(i));break}if(159===i.kind){n=e.addRange(n,(r?e.getJSDocTypeParameterTagsNoCache:e.getJSDocTypeParameterTags)(i));break}i=Je(i)}return n||e.emptyArray},e.getParameterSymbolFromJSDoc=function(t){if(t.symbol)return t.symbol;if(e.isIdentifier(t.name)){var r=t.name.escapedText,n=Ke(t);if(n){var i=e.find(n.parameters,(function(e){return 78===e.name.kind&&e.name.escapedText===r}));return i&&i.symbol}}},e.getHostSignatureFromJSDoc=Ke,e.getEffectiveJSDocHost=ze,e.getJSDocHost=Ue,e.getTypeParameterFromJsDoc=function(t){var r=t.name.escapedText,n=t.parent.parent.parent.typeParameters;return n&&e.find(n,(function(e){return e.name.escapedText===r}))},e.hasRestParameter=function(t){var r=e.lastOrUndefined(t.parameters);return!!r&&Ve(r)},e.isRestParameter=Ve,e.hasTypeArguments=function(e){return!!e.typeArguments},function(e){e[e.None=0]=\"None\",e[e.Definite=1]=\"Definite\",e[e.Compound=2]=\"Compound\"}(e.AssignmentKind||(e.AssignmentKind={})),e.getAssignmentTargetKind=qe,e.isAssignmentTarget=function(e){return 0!==qe(e)},e.isNodeWithPossibleHoistedDeclaration=function(e){switch(e.kind){case 230:case 232:case 243:case 234:case 244:case 258:case 284:case 285:case 245:case 237:case 238:case 239:case 235:case 236:case 247:case 287:return!0}return!1},e.isValueSignatureDeclaration=function(t){return e.isFunctionExpression(t)||e.isArrowFunction(t)||e.isMethodOrAccessor(t)||e.isFunctionDeclaration(t)||e.isConstructorDeclaration(t)},e.walkUpParenthesizedTypes=function(e){return We(e,186)},e.walkUpParenthesizedExpressions=He,e.walkUpParenthesizedTypesAndGetParentAndChild=function(e){for(var t;e&&186===e.kind;)t=e,e=e.parent;return[t,e]},e.skipParentheses=Ge,e.isDeleteTarget=function(e){return(201===e.kind||202===e.kind)&&((e=He(e.parent))&&210===e.kind)},e.isNodeDescendantOf=function(e,t){for(;e;){if(e===t)return!0;e=e.parent}return!1},e.isDeclarationName=function(t){return!e.isSourceFile(t)&&!e.isBindingPattern(t)&&e.isDeclaration(t.parent)&&t.parent.name===t},e.getDeclarationFromName=function(t){var r=t.parent;switch(t.kind){case 10:case 14:case 8:if(e.isComputedPropertyName(r))return r.parent;case 78:if(e.isDeclaration(r))return r.name===t?r:void 0;if(e.isQualifiedName(r)){var n=r.parent;return e.isJSDocParameterTag(n)&&n.name===r?n:void 0}var i=r.parent;return e.isBinaryExpression(i)&&0!==be(i)&&(i.left.symbol||i.symbol)&&e.getNameOfDeclaration(i)===t?i:void 0;case 79:return e.isDeclaration(r)&&r.name===t?r:void 0;default:return}},e.isLiteralComputedPropertyDeclarationName=function(t){return ot(t)&&158===t.parent.kind&&e.isDeclaration(t.parent.parent)},e.isIdentifierName=function(e){var t=e.parent;switch(t.kind){case 163:case 162:case 165:case 164:case 167:case 168:case 291:case 288:case 201:return t.name===e;case 157:return t.right===e;case 198:case 265:return t.propertyName===e;case 270:case 280:return!0}return!1},e.isAliasSymbolDeclaration=function(t){return 260===t.kind||259===t.kind||262===t.kind&&!!t.name||263===t.kind||269===t.kind||265===t.kind||270===t.kind||266===t.kind&&Xe(t)||e.isBinaryExpression(t)&&2===be(t)&&Xe(t)||e.isPropertyAccessExpression(t)&&e.isBinaryExpression(t.parent)&&t.parent.left===t&&62===t.parent.operatorToken.kind&&Ye(t.parent.right)||289===t.kind||288===t.kind&&Ye(t.initializer)},e.getAliasDeclarationFromName=function e(t){switch(t.parent.kind){case 262:case 265:case 263:case 270:case 266:case 260:return t.parent;case 157:do{t=t.parent}while(157===t.parent.kind);return e(t)}},e.isAliasableExpression=Ye,e.exportAssignmentIsAlias=Xe,e.getExportAssignmentExpression=Qe,e.getPropertyAssignmentAliasLikeExpression=function(e){return 289===e.kind?e.name:288===e.kind?e.initializer:e.parent.right},e.getEffectiveBaseTypeNode=$e,e.getClassExtendsHeritageElement=Ze,e.getEffectiveImplementsTypeNodes=et,e.getAllSuperTypeNodes=function(t){return e.isInterfaceDeclaration(t)?tt(t)||e.emptyArray:e.isClassLike(t)&&e.concatenate(e.singleElementArray($e(t)),et(t))||e.emptyArray},e.getInterfaceBaseTypeNodes=tt,e.getHeritageClause=rt,e.getAncestor=function(e,t){for(;e;){if(e.kind===t)return e;e=e.parent}},e.isKeyword=nt,e.isContextualKeyword=it,e.isNonContextualKeyword=at,e.isFutureReservedKeyword=function(e){return 116<=e&&e<=124},e.isStringANonContextualKeyword=function(t){var r=e.stringToToken(t);return void 0!==r&&at(r)},e.isStringAKeyword=function(t){var r=e.stringToToken(t);return void 0!==r&&nt(r)},e.isIdentifierANonContextualKeyword=function(e){var t=e.originalKeywordKind;return!!t&&!it(t)},e.isTrivia=function(e){return 2<=e&&e<=7},function(e){e[e.Normal=0]=\"Normal\",e[e.Generator=1]=\"Generator\",e[e.Async=2]=\"Async\",e[e.Invalid=4]=\"Invalid\",e[e.AsyncGenerator=3]=\"AsyncGenerator\"}(e.FunctionFlags||(e.FunctionFlags={})),e.getFunctionFlags=function(e){if(!e)return 4;var t=0;switch(e.kind){case 251:case 208:case 165:e.asteriskToken&&(t|=1);case 209:sr(e,256)&&(t|=2)}return e.body||(t|=4),t},e.isAsyncFunction=function(e){switch(e.kind){case 251:case 208:case 209:case 165:return void 0!==e.body&&void 0===e.asteriskToken&&sr(e,256)}return!1},e.isStringOrNumericLiteralLike=ot,e.isSignedNumericLiteral=st,e.hasDynamicName=ct,e.isDynamicName=ut,e.isWellKnownSymbolSyntactically=lt,e.getPropertyNameForPropertyNameNode=dt,e.isPropertyNameLiteral=_t,e.getTextOfIdentifierOrLiteral=pt,e.getEscapedTextOfIdentifierOrLiteral=function(t){return e.isIdentifierOrPrivateIdentifier(t)?t.escapedText:e.escapeLeadingUnderscores(t.text)},e.getPropertyNameForUniqueESSymbol=function(t){return\"__@\"+e.getSymbolId(t)+\"@\"+t.escapedName},e.getPropertyNameForKnownSymbolName=ft,e.getSymbolNameForPrivateIdentifier=function(t,r){return\"__#\"+e.getSymbolId(t)+\"@\"+r},e.isKnownSymbol=function(t){return e.startsWith(t.escapedName,\"__@\")},e.isESSymbolIdentifier=gt,e.isPushOrUnshiftIdentifier=function(e){return\"push\"===e.escapedText||\"unshift\"===e.escapedText},e.isParameterDeclaration=function(e){return 160===mt(e).kind},e.getRootDeclaration=mt,e.nodeStartsNewLexicalEnvironment=function(e){var t=e.kind;return 166===t||208===t||251===t||209===t||165===t||167===t||168===t||256===t||297===t},e.nodeIsSynthesized=yt,e.getOriginalSourceFile=function(t){return e.getParseTreeNode(t,e.isSourceFile)||t},function(e){e[e.Left=0]=\"Left\",e[e.Right=1]=\"Right\"}(e.Associativity||(e.Associativity={})),e.getExpressionAssociativity=function(e){var t=ht(e),r=204===e.kind&&void 0!==e.arguments;return vt(e.kind,t,r)},e.getOperatorAssociativity=vt,e.getExpressionPrecedence=function(e){var t=ht(e),r=204===e.kind&&void 0!==e.arguments;return Dt(e.kind,t,r)},e.getOperator=ht,function(e){e[e.Comma=0]=\"Comma\",e[e.Spread=1]=\"Spread\",e[e.Yield=2]=\"Yield\",e[e.Assignment=3]=\"Assignment\",e[e.Conditional=4]=\"Conditional\",e[e.Coalesce=4]=\"Coalesce\",e[e.LogicalOR=5]=\"LogicalOR\",e[e.LogicalAND=6]=\"LogicalAND\",e[e.BitwiseOR=7]=\"BitwiseOR\",e[e.BitwiseXOR=8]=\"BitwiseXOR\",e[e.BitwiseAND=9]=\"BitwiseAND\",e[e.Equality=10]=\"Equality\",e[e.Relational=11]=\"Relational\",e[e.Shift=12]=\"Shift\",e[e.Additive=13]=\"Additive\",e[e.Multiplicative=14]=\"Multiplicative\",e[e.Exponentiation=15]=\"Exponentiation\",e[e.Unary=16]=\"Unary\",e[e.Update=17]=\"Update\",e[e.LeftHandSide=18]=\"LeftHandSide\",e[e.Member=19]=\"Member\",e[e.Primary=20]=\"Primary\",e[e.Highest=20]=\"Highest\",e[e.Lowest=0]=\"Lowest\",e[e.Invalid=-1]=\"Invalid\"}(e.OperatorPrecedence||(e.OperatorPrecedence={})),e.getOperatorPrecedence=Dt,e.getBinaryOperatorPrecedence=xt,e.getSemanticJsxChildren=function(t){return e.filter(t,(function(e){switch(e.kind){case 283:return!!e.expression;case 11:return!e.containsOnlyTriviaWhiteSpaces;default:return!0}}))},e.createDiagnosticCollection=function(){var t=[],r=[],n=new e.Map,i=!1;return{add:function(a){var o;a.file?(o=n.get(a.file.fileName))||(o=[],n.set(a.file.fileName,o),e.insertSorted(r,a.file.fileName,e.compareStringsCaseSensitive)):(i&&(i=!1,t=t.slice()),o=t);e.insertSorted(o,a,sn)},lookup:function(r){var i;i=r.file?n.get(r.file.fileName):t;if(!i)return;var a=e.binarySearch(i,r,e.identity,cn);if(a>=0)return i[a];return},getGlobalDiagnostics:function(){return i=!0,t},getDiagnostics:function(i){if(i)return n.get(i)||[];var a=e.flatMapToMutable(r,(function(e){return n.get(e)}));if(!t.length)return a;return a.unshift.apply(a,t),a},reattachFileDiagnostics:function(t){e.forEach(n.get(t.fileName),(function(e){return e.file=t}))}}};var bt=/\\$\\{/g;e.hasInvalidEscape=function(t){return t&&!!(e.isNoSubstitutionTemplateLiteral(t)?t.templateFlags:t.head.templateFlags||e.some(t.templateSpans,(function(e){return!!e.literal.templateFlags})))};var St=/[\\\\\\\"\\u0000-\\u001f\\t\\v\\f\\b\\r\\n\\u2028\\u2029\\u0085]/g,Et=/[\\\\\\'\\u0000-\\u001f\\t\\v\\f\\b\\r\\n\\u2028\\u2029\\u0085]/g,Tt=/[\\\\`]/g,Ct=new e.Map(e.getEntries({\"\\t\":\"\\\\t\",\"\\v\":\"\\\\v\",\"\\f\":\"\\\\f\",\"\\b\":\"\\\\b\",\"\\r\":\"\\\\r\",\"\\n\":\"\\\\n\",\"\\\\\":\"\\\\\\\\\",'\"':'\\\\\"',\"'\":\"\\\\'\",\"`\":\"\\\\`\",\"\\u2028\":\"\\\\u2028\",\"\\u2029\":\"\\\\u2029\",\"\\x85\":\"\\\\u0085\"}));function kt(e){return\"\\\\u\"+(\"0000\"+e.toString(16).toUpperCase()).slice(-4)}function At(e,t,r){if(0===e.charCodeAt(0)){var n=r.charCodeAt(t+e.length);return n>=48&&n<=57?\"\\\\x00\":\"\\\\0\"}return Ct.get(e)||kt(e.charCodeAt(0))}function Ft(e,t){var r=96===t?Tt:39===t?Et:St;return e.replace(r,At)}e.escapeString=Ft;var Nt=/[^\\u0000-\\u007F]/g;function Pt(e,t){return e=Ft(e,t),Nt.test(e)?e.replace(Nt,(function(e){return kt(e.charCodeAt(0))})):e}e.escapeNonAsciiString=Pt;var wt=/[\\\"\\u0000-\\u001f\\u2028\\u2029\\u0085]/g,It=/[\\'\\u0000-\\u001f\\u2028\\u2029\\u0085]/g,Ot=new e.Map(e.getEntries({'\"':\""\",\"'\":\"'\"}));function Mt(e){return 0===e.charCodeAt(0)?\"�\":Ot.get(e)||\"&#x\"+e.charCodeAt(0).toString(16).toUpperCase()+\";\"}function Lt(e,t){var r=39===t?It:wt;return e.replace(r,Mt)}e.escapeJsxAttributeString=Lt,e.stripQuotes=function(e){var t,r=e.length;return r>=2&&e.charCodeAt(0)===e.charCodeAt(r-1)&&(39===(t=e.charCodeAt(0))||34===t||96===t)?e.substring(1,r-1):e},e.isIntrinsicJsxName=function(t){var r=t.charCodeAt(0);return r>=97&&r<=122||e.stringContains(t,\"-\")};var Rt=[\"\",\" \"];function Bt(e){for(var t=Rt[1],r=Rt.length;r<=e;r++)Rt.push(Rt[r-1]+t);return Rt[e]}function jt(){return Rt[1].length}function Jt(e){return!!e.useCaseSensitiveFileNames&&e.useCaseSensitiveFileNames()}function Kt(e,t,r){return t.moduleName||zt(e,t.fileName,r&&r.fileName)}function zt(t,r,n){var i=function(e){return t.getCanonicalFileName(e)},a=e.toPath(n?e.getDirectoryPath(n):t.getCommonSourceDirectory(),t.getCurrentDirectory(),i),o=e.getNormalizedAbsolutePath(r,t.getCurrentDirectory()),s=Un(e.getRelativePathToDirectoryOrUrl(a,o,a,i,!1));return n?e.ensurePathIsNonModuleName(s):s}function Ut(e,t,r,n,i){var a=t.declarationDir||t.outDir;return Un(a?Ht(e,a,r,n,i):e)+\".d.ts\"}function Vt(e){return e.outFile||e.out}function qt(e,t,r){return!(t.getCompilerOptions().noEmitForJsFiles&&le(e))&&!e.isDeclarationFile&&!t.isSourceFileFromExternalLibrary(e)&&!(B(e)&&t.getResolvedProjectReferenceToRedirect(e.fileName))&&(r||!t.isSourceOfProjectReferenceRedirect(e.fileName))}function Wt(e,t,r){return Ht(e,r,t.getCurrentDirectory(),t.getCommonSourceDirectory(),(function(e){return t.getCanonicalFileName(e)}))}function Ht(t,r,n,i,a){var o=e.getNormalizedAbsolutePath(t,n);return o=0===a(o).indexOf(a(i))?o.substring(i.length):o,e.combinePaths(r,o)}function Gt(t,r,n){t.length>e.getRootLength(t)&&!n(t)&&(Gt(e.getDirectoryPath(t),r,n),r(t))}function Yt(t,r){return e.computeLineOfPosition(t,r)}function Xt(e){if(e&&e.parameters.length>0){var t=2===e.parameters.length&&Qt(e.parameters[0]);return e.parameters[t?1:0]}}function Qt(e){return $t(e.name)}function $t(e){return!!e&&78===e.kind&&Zt(e)}function Zt(e){return 107===e.originalKeywordKind}function er(t){if(de(t)||!e.isFunctionDeclaration(t)){var r=t.type;return r||!de(t)?r:e.isJSDocPropertyLikeTag(t)?t.typeExpression&&t.typeExpression.type:e.getJSDocType(t)}}function tr(e,t,r,n){rr(e,t,r.pos,n)}function rr(e,t,r,n){n&&n.length&&r!==n[0].pos&&Yt(e,r)!==Yt(e,n[0].pos)&&t.writeLine()}function nr(e,t,r,n,i,a,o,s){if(n&&n.length>0){i&&r.writeSpace(\" \");for(var c=!1,u=0,l=n;u=0&&e.kind<=156?0:(536870912&e.modifierFlagsCache||(e.modifierFlagsCache=536870912|mr(e)),!t||4096&e.modifierFlagsCache||!r&&!de(e)||!e.parent||(e.modifierFlagsCache|=4096|gr(e)),-536875009&e.modifierFlagsCache)}function pr(e){return _r(e,!0)}function fr(e){return _r(e,!1)}function gr(t){var r=0;return t.parent&&!e.isParameter(t)&&(de(t)&&(e.getJSDocPublicTagNoCache(t)&&(r|=4),e.getJSDocPrivateTagNoCache(t)&&(r|=8),e.getJSDocProtectedTagNoCache(t)&&(r|=16),e.getJSDocReadonlyTagNoCache(t)&&(r|=64)),e.getJSDocDeprecatedTagNoCache(t)&&(r|=8192)),r}function mr(e){var t=yr(e.modifiers);return(4&e.flags||78===e.kind&&e.isInJSDocNamespace)&&(t|=1),t}function yr(e){var t=0;if(e)for(var r=0,n=e;r=62&&e<=77}function xr(e){var t=br(e);return t&&!t.isImplements?t.class:void 0}function br(t){return e.isExpressionWithTypeArguments(t)&&e.isHeritageClause(t.parent)&&e.isClassLike(t.parent.parent)?{class:t.parent.parent,isImplements:116===t.parent.token}:void 0}function Sr(t,r){return e.isBinaryExpression(t)&&(r?62===t.operatorToken.kind:Dr(t.operatorToken.kind))&&e.isLeftHandSideExpression(t.left)}function Er(e){return void 0!==xr(e)}function Tr(e){return 78===e.kind||Cr(e)}function Cr(t){return e.isPropertyAccessExpression(t)&&e.isIdentifier(t.name)&&Tr(t.expression)}function kr(e){return Ce(e)&&\"prototype\"===Pe(e)}e.getIndentString=Bt,e.getIndentSize=jt,e.createTextWriter=function(t){var r,n,i,a,o,s=!1;function c(t){var n=e.computeLineStarts(t);n.length>1?(a=a+n.length-1,o=r.length-t.length+e.last(n),i=o-r.length==0):i=!1}function u(e){e&&e.length&&(i&&(e=Bt(n)+e,i=!1),r+=e,c(e))}function l(e){e&&(s=!1),u(e)}function d(){r=\"\",n=0,i=!0,a=0,o=0,s=!1}return d(),{write:l,rawWrite:function(e){void 0!==e&&(r+=e,c(e),s=!1)},writeLiteral:function(e){e&&e.length&&l(e)},writeLine:function(e){i&&!e||(a++,o=(r+=t).length,i=!0,s=!1)},increaseIndent:function(){n++},decreaseIndent:function(){n--},getIndent:function(){return n},getTextPos:function(){return r.length},getLine:function(){return a},getColumn:function(){return i?n*jt():r.length-o},getText:function(){return r},isAtStartOfLine:function(){return i},hasTrailingComment:function(){return s},hasTrailingWhitespace:function(){return!!r.length&&e.isWhiteSpaceLike(r.charCodeAt(r.length-1))},clear:d,reportInaccessibleThisError:e.noop,reportPrivateInBaseOfClassExpression:e.noop,reportInaccessibleUniqueSymbolError:e.noop,trackSymbol:e.noop,writeKeyword:l,writeOperator:l,writeParameter:l,writeProperty:l,writePunctuation:l,writeSpace:l,writeStringLiteral:l,writeSymbol:function(e,t){return l(e)},writeTrailingSemicolon:l,writeComment:function(e){e&&(s=!0),u(e)},getTextPosWithWriteLine:function(){return i?r.length:r.length+t.length}}},e.getTrailingSemicolonDeferringWriter=function(e){var t=!1;function r(){t&&(e.writeTrailingSemicolon(\";\"),t=!1)}return n(n({},e),{writeTrailingSemicolon:function(){t=!0},writeLiteral:function(t){r(),e.writeLiteral(t)},writeStringLiteral:function(t){r(),e.writeStringLiteral(t)},writeSymbol:function(t,n){r(),e.writeSymbol(t,n)},writePunctuation:function(t){r(),e.writePunctuation(t)},writeKeyword:function(t){r(),e.writeKeyword(t)},writeOperator:function(t){r(),e.writeOperator(t)},writeParameter:function(t){r(),e.writeParameter(t)},writeSpace:function(t){r(),e.writeSpace(t)},writeProperty:function(t){r(),e.writeProperty(t)},writeComment:function(t){r(),e.writeComment(t)},writeLine:function(){r(),e.writeLine()},increaseIndent:function(){r(),e.increaseIndent()},decreaseIndent:function(){r(),e.decreaseIndent()}})},e.hostUsesCaseSensitiveFileNames=Jt,e.hostGetCanonicalFileName=function(t){return e.createGetCanonicalFileName(Jt(t))},e.getResolvedExternalModuleName=Kt,e.getExternalModuleNameFromDeclaration=function(e,t,r){var n=t.getExternalModuleFileFromDeclaration(r);if(n&&!n.isDeclarationFile)return Kt(e,n)},e.getExternalModuleNameFromPath=zt,e.getOwnEmitOutputFilePath=function(e,t,r){var n=t.getCompilerOptions();return(n.outDir?Un(Wt(e,t,n.outDir)):Un(e))+r},e.getDeclarationEmitOutputFilePath=function(e,t){return Ut(e,t.getCompilerOptions(),t.getCurrentDirectory(),t.getCommonSourceDirectory(),(function(e){return t.getCanonicalFileName(e)}))},e.getDeclarationEmitOutputFilePathWorker=Ut,e.outFile=Vt,e.getPathsBasePath=function(t,r){var n,i;if(t.paths)return null!==(n=t.baseUrl)&&void 0!==n?n:e.Debug.checkDefined(t.pathsBasePath||(null===(i=r.getCurrentDirectory)||void 0===i?void 0:i.call(r)),\"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.\")},e.getSourceFilesToEmit=function(t,r,n){var i=t.getCompilerOptions();if(Vt(i)){var a=dn(i),o=i.emitDeclarationOnly||a===e.ModuleKind.AMD||a===e.ModuleKind.System;return e.filter(t.getSourceFiles(),(function(r){return(o||!e.isExternalModule(r))&&qt(r,t,n)}))}var s=void 0===r?t.getSourceFiles():[r];return e.filter(s,(function(e){return qt(e,t,n)}))},e.sourceFileMayBeEmitted=qt,e.getSourceFilePathInNewDir=Wt,e.getSourceFilePathInNewDirWorker=Ht,e.writeFile=function(t,r,n,i,a,o){t.writeFile(n,i,a,(function(t){r.add(an(e.Diagnostics.Could_not_write_file_0_Colon_1,n,t))}),o)},e.writeFileEnsuringDirectories=function(t,r,n,i,a,o){try{i(t,r,n)}catch(s){Gt(e.getDirectoryPath(e.normalizePath(t)),a,o),i(t,r,n)}},e.getLineOfLocalPosition=function(t,r){var n=e.getLineStarts(t);return e.computeLineOfPosition(n,r)},e.getLineOfLocalPositionFromLineMap=Yt,e.getFirstConstructorWithBody=function(t){return e.find(t.members,(function(t){return e.isConstructorDeclaration(t)&&_(t.body)}))},e.getSetAccessorValueParameter=Xt,e.getSetAccessorTypeAnnotationNode=function(e){var t=Xt(e);return t&&t.type},e.getThisParameter=function(t){if(t.parameters.length&&!e.isJSDocSignature(t)){var r=t.parameters[0];if(Qt(r))return r}},e.parameterIsThisKeyword=Qt,e.isThisIdentifier=$t,e.identifierIsThisKeyword=Zt,e.getAllAccessorDeclarations=function(t,r){var n,i,a,o;return ct(r)?(n=r,167===r.kind?a=r:168===r.kind?o=r:e.Debug.fail(\"Accessor has wrong kind\")):e.forEach(t,(function(t){e.isAccessor(t)&&sr(t,32)===sr(r,32)&&(dt(t.name)===dt(r.name)&&(n?i||(i=t):n=t,167!==t.kind||a||(a=t),168!==t.kind||o||(o=t)))})),{firstAccessor:n,secondAccessor:i,getAccessor:a,setAccessor:o}},e.getEffectiveTypeAnnotationNode=er,e.getTypeAnnotationNode=function(e){return e.type},e.getEffectiveReturnTypeNode=function(t){return e.isJSDocSignature(t)?t.type&&t.type.typeExpression&&t.type.typeExpression.type:t.type||(de(t)?e.getJSDocReturnType(t):void 0)},e.getJSDocTypeParameterDeclarations=function(t){return e.flatMap(e.getJSDocTags(t),(function(t){return function(t){return e.isJSDocTemplateTag(t)&&!(311===t.parent.kind&&t.parent.tags.some(Me))}(t)?t.typeParameters:void 0}))},e.getEffectiveSetAccessorTypeAnnotationNode=function(e){var t=Xt(e);return t&&er(t)},e.emitNewLineBeforeLeadingComments=tr,e.emitNewLineBeforeLeadingCommentsOfPosition=rr,e.emitNewLineBeforeLeadingCommentOfPosition=function(e,t,r,n){r!==n&&Yt(e,r)!==Yt(e,n)&&t.writeLine()},e.emitComments=nr,e.emitDetachedComments=function(t,r,n,i,a,o,s){var c,u;if(s?0===a.pos&&(c=e.filter(e.getLeadingCommentRanges(t,a.pos),(function(e){return m(t,e.pos)}))):c=e.getLeadingCommentRanges(t,a.pos),c){for(var l=[],d=void 0,_=0,p=c;_=g+2)break}l.push(f),d=f}if(l.length){g=Yt(r,e.last(l).end);Yt(r,e.skipTrivia(t,a.pos))>=g+2&&(tr(r,n,a,c),nr(t,r,n,l,!1,!0,o,i),u={nodePos:a.pos,detachedCommentEndPos:e.last(l).end})}}return u},e.writeCommentRange=function(t,r,n,i,a,o){if(42===t.charCodeAt(i+1))for(var s=e.computeLineAndCharacterOfPosition(r,i),c=r.length,u=void 0,l=i,d=s.line;l0){var f=p%jt(),g=Bt((p-f)/jt());for(n.rawWrite(g);f;)n.rawWrite(\" \"),f--}else n.rawWrite(\"\")}ir(t,a,n,o,l,_),l=_}else n.writeComment(t.substring(i,a))},e.hasEffectiveModifiers=function(e){return 0!==pr(e)},e.hasSyntacticModifiers=function(e){return 0!==fr(e)},e.hasEffectiveModifier=or,e.hasSyntacticModifier=sr,e.hasStaticModifier=cr,e.hasEffectiveReadonlyModifier=ur,e.getSelectedEffectiveModifierFlags=lr,e.getSelectedSyntacticModifierFlags=dr,e.getEffectiveModifierFlags=pr,e.getEffectiveModifierFlagsAlwaysIncludeJSDoc=function(e){return _r(e,!0,!0)},e.getSyntacticModifierFlags=fr,e.getEffectiveModifierFlagsNoCache=function(e){return mr(e)|gr(e)},e.getSyntacticModifierFlagsNoCache=mr,e.modifiersToFlags=yr,e.modifierToFlag=vr,e.isLogicalOperator=function(e){return 56===e||55===e||53===e},e.isLogicalOrCoalescingAssignmentOperator=hr,e.isLogicalOrCoalescingAssignmentExpression=function(e){return hr(e.operatorToken.kind)},e.isAssignmentOperator=Dr,e.tryGetClassExtendingExpressionWithTypeArguments=xr,e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments=br,e.isAssignmentExpression=Sr,e.isDestructuringAssignment=function(e){if(Sr(e,!0)){var t=e.left.kind;return 200===t||199===t}return!1},e.isExpressionWithTypeArgumentsInClassExtendsClause=Er,e.isEntityNameExpression=Tr,e.getFirstIdentifier=function(e){switch(e.kind){case 78:return e;case 157:do{e=e.left}while(78!==e.kind);return e;case 201:do{e=e.expression}while(78!==e.kind);return e}},e.isDottedName=function e(t){return 78===t.kind||107===t.kind||105===t.kind||201===t.kind&&e(t.expression)||207===t.kind&&e(t.expression)},e.isPropertyAccessEntityNameExpression=Cr,e.tryGetPropertyAccessOrIdentifierToString=function t(r){if(e.isPropertyAccessExpression(r)){var n=t(r.expression);if(void 0!==n)return n+\".\"+O(r.name)}else if(e.isIdentifier(r))return e.unescapeLeadingUnderscores(r.escapedText)},e.isPrototypeAccess=kr,e.isRightSideOfQualifiedNameOrPropertyAccess=function(e){return 157===e.parent.kind&&e.parent.right===e||201===e.parent.kind&&e.parent.name===e},e.isEmptyObjectLiteral=function(e){return 200===e.kind&&0===e.properties.length},e.isEmptyArrayLiteral=function(e){return 199===e.kind&&0===e.elements.length},e.getLocalSymbolForExportDefault=function(t){if(function(t){return t&&e.length(t.declarations)>0&&sr(t.declarations[0],512)}(t))for(var r=0,n=t.declarations;r>6|192),r.push(63&a|128)):a<65536?(r.push(a>>12|224),r.push(a>>6&63|128),r.push(63&a|128)):a<131072?(r.push(a>>18|240),r.push(a>>12&63|128),r.push(a>>6&63|128),r.push(63&a|128)):e.Debug.assert(!1,\"Unexpected code point\")}return r}(t),c=0,u=s.length;c>2,n=(3&s[c])<<4|s[c+1]>>4,i=(15&s[c+1])<<2|s[c+2]>>6,a=63&s[c+2],c+1>=u?i=a=64:c+2>=u&&(a=64),o+=Ar.charAt(r)+Ar.charAt(n)+Ar.charAt(i)+Ar.charAt(a),c+=3;return o}e.convertToBase64=Fr,e.base64encode=function(e,t){return e&&e.base64encode?e.base64encode(t):Fr(t)},e.base64decode=function(e,t){if(e&&e.base64decode)return e.base64decode(t);for(var r=t.length,n=[],i=0;i>4&3,l=(15&o)<<4|s>>2&15,d=(3&s)<<6|63&c;0===l&&0!==s?n.push(u):0===d&&0!==c?n.push(u,l):n.push(u,l,d),i+=4}return function(e){for(var t=\"\",r=0,n=e.length;r=t||-1===r),{pos:t,end:r}}function wr(e,t){return Pr(t,e.end)}function Ir(e){return e.decorators&&e.decorators.length>0?wr(e,e.decorators.end):e}function Or(e,t,r){return Mr(Lr(e,r,!1),t.end,r)}function Mr(t,r,n){return 0===e.getLinesBetweenPositions(n,t,r)}function Lr(t,r,n){return Hn(t.pos)?-1:e.skipTrivia(r.text,t.pos,!1,n)}function Rr(e){return void 0!==e.initializer}function Br(e){return 33554432&e.flags?e.checkFlags:0}function jr(t){var r=t.parent;if(!r)return 0;switch(r.kind){case 207:return jr(r);case 215:case 214:var n=r.operator;return 45===n||46===n?c():0;case 216:var i=r,a=i.left,o=i.operatorToken;return a===t&&Dr(o.kind)?62===o.kind?1:c():0;case 201:return r.name!==t?0:jr(r);case 288:var s=jr(r.parent);return t===r.name?function(t){switch(t){case 0:return 1;case 1:return 0;case 2:return 2;default:return e.Debug.assertNever(t)}}(s):s;case 289:return t===r.objectAssignmentInitializer?0:jr(r.parent);case 199:return jr(r);default:return 0}function c(){return r.parent&&233===function(e){for(;207===e.kind;)e=e.parent;return e}(r.parent).kind?1:2}}function Jr(e,t,r){var n=r.onDeleteValue,i=r.onExistingValue;e.forEach((function(r,a){var o=t.get(a);void 0===o?(e.delete(a),n(r,a)):i&&i(r,o,a)}))}function Kr(e){if(32&e.flags){var t=zr(e);return!!t&&sr(t,128)}return!1}function zr(t){return e.find(t.declarations,e.isClassLike)}function Ur(e){return 3899393&e.flags?e.objectFlags:0}function Vr(e){return 201===e.kind||202===e.kind}function qr(e){for(;Vr(e);)e=e.expression;return e}function Wr(e,t){this.flags=e,this.escapedName=t,this.declarations=void 0,this.valueDeclaration=void 0,this.id=void 0,this.mergeId=void 0,this.parent=void 0}function Hr(t,r){this.flags=r,(e.Debug.isDebugging||e.tracing.isTracing())&&(this.checker=t)}function Gr(t,r){this.flags=r,e.Debug.isDebugging&&(this.checker=t)}function Yr(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0}function Xr(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0}function Qr(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.flowNode=void 0}function $r(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r||function(e){return e}}function Zr(t,r,n){return void 0===n&&(n=0),t.replace(/{(\\d+)}/g,(function(t,i){return\"\"+e.Debug.checkDefined(r[+i+n])}))}function en(t){return e.localizedDiagnosticMessages&&e.localizedDiagnosticMessages[t.key]||t.message}function tn(e){return void 0===e.file&&void 0!==e.start&&void 0!==e.length&&\"string\"==typeof e.fileName}function rn(t,r){var n=r.fileName||\"\",i=r.text.length;e.Debug.assertEqual(t.fileName,n),e.Debug.assertLessThanOrEqual(t.start,i),e.Debug.assertLessThanOrEqual(t.start+t.length,i);var a={file:r,start:t.start,length:t.length,messageText:t.messageText,category:t.category,code:t.code,reportsUnnecessary:t.reportsUnnecessary};if(t.relatedInformation){a.relatedInformation=[];for(var o=0,s=t.relatedInformation;o4&&(a=Zr(a,arguments,4)),{file:t,start:r,length:n,messageText:a,category:i.category,code:i.code,reportsUnnecessary:i.reportsUnnecessary,reportsDeprecated:i.reportsDeprecated}}function an(e){var t=en(e);return arguments.length>1&&(t=Zr(t,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated}}function on(e){return e.file?e.file.path:void 0}function sn(t,r){return cn(t,r)||function(t,r){if(!t.relatedInformation&&!r.relatedInformation)return 0;if(t.relatedInformation&&r.relatedInformation)return e.compareValues(t.relatedInformation.length,r.relatedInformation.length)||e.forEach(t.relatedInformation,(function(e,t){return sn(e,r.relatedInformation[t])}))||0;return t.relatedInformation?-1:1}(t,r)||0}function cn(t,r){return e.compareStringsCaseSensitive(on(t),on(r))||e.compareValues(t.start,r.start)||e.compareValues(t.length,r.length)||e.compareValues(t.code,r.code)||un(t.messageText,r.messageText)||0}function un(t,r){if(\"string\"==typeof t&&\"string\"==typeof r)return e.compareStringsCaseSensitive(t,r);if(\"string\"==typeof t)return-1;if(\"string\"==typeof r)return 1;var n=e.compareStringsCaseSensitive(t.messageText,r.messageText);if(n)return n;if(!t.next&&!r.next)return 0;if(!t.next)return-1;if(!r.next)return 1;for(var i=Math.min(t.next.length,r.next.length),a=0;ar.next.length?1:0}function ln(e){return e.target||0}function dn(t){return\"number\"==typeof t.module?t.module:ln(t)>=2?e.ModuleKind.ES2015:e.ModuleKind.CommonJS}function _n(e){return!(!e.declaration&&!e.composite)}function pn(e,t){return void 0===e[t]?!!e.strict:!!e[t]}function fn(e){return void 0===e.allowJs?!!e.checkJs:e.allowJs}function gn(e,t){return t.strictFlag?pn(e,t.name):e[t.name]}function mn(e){for(var t=!1,r=0;r0?wr(e,e.modifiers.end):Ir(e)},e.isCollapsedRange=function(e){return e.pos===e.end},e.createTokenRange=function(t,r){return Pr(t,t+e.tokenToString(r).length)},e.rangeIsOnSingleLine=function(e,t){return Or(e,e,t)},e.rangeStartPositionsAreOnSameLine=function(e,t,r){return Mr(Lr(e,r,!1),Lr(t,r,!1),r)},e.rangeEndPositionsAreOnSameLine=function(e,t,r){return Mr(e.end,t.end,r)},e.rangeStartIsOnSameLineAsRangeEnd=Or,e.rangeEndIsOnSameLineAsRangeStart=function(e,t,r){return Mr(e.end,Lr(t,r,!1),r)},e.getLinesBetweenRangeEndAndRangeStart=function(t,r,n,i){var a=Lr(r,n,i);return e.getLinesBetweenPositions(n,t.end,a)},e.getLinesBetweenRangeEndPositions=function(t,r,n){return e.getLinesBetweenPositions(n,t.end,r.end)},e.isNodeArrayMultiLine=function(e,t){return!Mr(e.pos,e.end,t)},e.positionsAreOnSameLine=Mr,e.getStartPositionOfRange=Lr,e.getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter=function(t,r,n,i){var a=e.skipTrivia(n.text,t,!1,i),o=function(t,r,n){void 0===r&&(r=0);for(;t-- >r;)if(!e.isWhiteSpaceLike(n.text.charCodeAt(t)))return t}(a,r,n);return e.getLinesBetweenPositions(n,null!=o?o:r,a)},e.getLinesBetweenPositionAndNextNonWhitespaceCharacter=function(t,r,n,i){var a=e.skipTrivia(n.text,t,!1,i);return e.getLinesBetweenPositions(n,t,Math.min(r,a))},e.isDeclarationNameOfEnumOrNamespace=function(t){var r=e.getParseTreeNode(t);if(r)switch(r.parent.kind){case 255:case 256:return r===r.parent.name}return!1},e.getInitializedVariables=function(t){return e.filter(t.declarations,Rr)},e.isWatchSet=function(e){return e.watch&&e.hasOwnProperty(\"watch\")},e.closeFileWatcher=function(e){e.close()},e.getCheckFlags=Br,e.getDeclarationModifierFlagsFromSymbol=function(t){if(t.valueDeclaration){var r=e.getCombinedModifierFlags(t.valueDeclaration);return t.parent&&32&t.parent.flags?r:-29&r}if(6&Br(t)){var n=t.checkFlags;return(1024&n?8:256&n?4:16)|(2048&n?32:0)}return 4194304&t.flags?36:0},e.skipAlias=function(e,t){return 2097152&e.flags?t.getAliasedSymbol(e):e},e.getCombinedLocalAndExportSymbolFlags=function(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags},e.isWriteOnlyAccess=function(e){return 1===jr(e)},e.isWriteAccess=function(e){return 0!==jr(e)},function(e){e[e.Read=0]=\"Read\",e[e.Write=1]=\"Write\",e[e.ReadWrite=2]=\"ReadWrite\"}(Nr||(Nr={})),e.compareDataObjects=function e(t,r){if(!t||!r||Object.keys(t).length!==Object.keys(r).length)return!1;for(var n in t)if(\"object\"==typeof t[n]){if(!e(t[n],r[n]))return!1}else if(\"function\"!=typeof t[n]&&t[n]!==r[n])return!1;return!0},e.clearMap=function(e,t){e.forEach(t),e.clear()},e.mutateMapSkippingNewValues=Jr,e.mutateMap=function(e,t,r){Jr(e,t,r);var n=r.createNewValue;t.forEach((function(t,r){e.has(r)||e.set(r,n(r,t))}))},e.isAbstractConstructorType=function(e){return!!(16&Ur(e))&&!!e.symbol&&Kr(e.symbol)},e.isAbstractConstructorSymbol=Kr,e.getClassLikeDeclarationOfSymbol=zr,e.getObjectFlags=Ur,e.typeHasCallOrConstructSignatures=function(e,t){return 0!==t.getSignaturesOfType(e,0).length||0!==t.getSignaturesOfType(e,1).length},e.forSomeAncestorDirectory=function(t,r){return!!e.forEachAncestorDirectory(t,(function(e){return!!r(e)||void 0}))},e.isUMDExportSymbol=function(t){return!!t&&!!t.declarations&&!!t.declarations[0]&&e.isNamespaceExportDeclaration(t.declarations[0])},e.showModuleSpecifier=function(t){var r=t.moduleSpecifier;return e.isStringLiteral(r)?r.text:D(r)},e.getLastChild=function(t){var r;return e.forEachChild(t,(function(e){_(e)&&(r=e)}),(function(e){for(var t=e.length-1;t>=0;t--)if(_(e[t])){r=e[t];break}})),r},e.addToSeen=function(e,t,r){return void 0===r&&(r=!0),t=String(t),!e.has(t)&&(e.set(t,r),!0)},e.isObjectTypeDeclaration=function(t){return e.isClassLike(t)||e.isInterfaceDeclaration(t)||e.isTypeLiteralNode(t)},e.isTypeNodeKind=function(e){return e>=172&&e<=195||128===e||152===e||144===e||155===e||145===e||131===e||147===e||148===e||113===e||150===e||141===e||223===e||303===e||304===e||305===e||306===e||307===e||308===e||309===e},e.isAccessExpression=Vr,e.getNameOfAccessExpression=function(t){return 201===t.kind?t.name:(e.Debug.assert(202===t.kind),t.argumentExpression)},e.isBundleFileTextLike=function(e){switch(e.kind){case\"text\":case\"internal\":return!0;default:return!1}},e.isNamedImportsOrExports=function(e){return 264===e.kind||268===e.kind},e.getLeftmostAccessExpression=qr,e.getLeftmostExpression=function(e,t){for(;;){switch(e.kind){case 215:e=e.operand;continue;case 216:e=e.left;continue;case 217:e=e.condition;continue;case 205:e=e.tag;continue;case 203:if(t)return e;case 224:case 202:case 201:case 225:case 336:e=e.expression;continue}return e}},e.objectAllocator={getNodeConstructor:function(){return Yr},getTokenConstructor:function(){return Xr},getIdentifierConstructor:function(){return Qr},getPrivateIdentifierConstructor:function(){return Yr},getSourceFileConstructor:function(){return Yr},getSymbolConstructor:function(){return Wr},getTypeConstructor:function(){return Hr},getSignatureConstructor:function(){return Gr},getSourceMapSourceConstructor:function(){return $r}},e.setObjectAllocator=function(t){e.objectAllocator=t},e.formatStringFromArgs=Zr,e.setLocalizedDiagnosticMessages=function(t){e.localizedDiagnosticMessages=t},e.getLocaleSpecificMessage=en,e.createDetachedDiagnostic=function(t,r,n,i){e.Debug.assertGreaterThanOrEqual(r,0),e.Debug.assertGreaterThanOrEqual(n,0);var a=en(i);return arguments.length>4&&(a=Zr(a,arguments,4)),{file:void 0,start:r,length:n,messageText:a,category:i.category,code:i.code,reportsUnnecessary:i.reportsUnnecessary,fileName:t}},e.attachFileToDiagnostics=function(e,t){for(var r=[],n=0,i=e;n2&&(r=Zr(r,arguments,2)),r},e.createCompilerDiagnostic=an,e.createCompilerDiagnosticFromMessageChain=function(e){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText}},e.chainDiagnosticMessages=function(e,t){var r=en(t);return arguments.length>2&&(r=Zr(r,arguments,2)),{messageText:r,category:t.category,code:t.code,next:void 0===e||Array.isArray(e)?e:[e]}},e.concatenateDiagnosticMessageChains=function(e,t){for(var r=e;r.next;)r=r.next[0];r.next=[t]},e.compareDiagnostics=sn,e.compareDiagnosticsSkipRelatedInformation=cn,e.getLanguageVariant=function(e){return 4===e||2===e||1===e||6===e?1:0},e.getEmitScriptTarget=ln,e.getEmitModuleKind=dn,e.getEmitModuleResolutionKind=function(t){var r=t.moduleResolution;return void 0===r&&(r=dn(t)===e.ModuleKind.CommonJS?e.ModuleResolutionKind.NodeJs:e.ModuleResolutionKind.Classic),r},e.hasJsonModuleEmitEnabled=function(t){switch(dn(t)){case e.ModuleKind.CommonJS:case e.ModuleKind.AMD:case e.ModuleKind.ES2015:case e.ModuleKind.ES2020:case e.ModuleKind.ESNext:return!0;default:return!1}},e.unreachableCodeIsError=function(e){return!1===e.allowUnreachableCode},e.unusedLabelIsError=function(e){return!1===e.allowUnusedLabels},e.getAreDeclarationMapsEnabled=function(e){return!(!_n(e)||!e.declarationMap)},e.getAllowSyntheticDefaultImports=function(t){var r=dn(t);return void 0!==t.allowSyntheticDefaultImports?t.allowSyntheticDefaultImports:t.esModuleInterop||r===e.ModuleKind.System},e.getEmitDeclarations=_n,e.isIncrementalCompilation=function(e){return!(!e.incremental&&!e.composite)},e.getStrictOptionValue=pn,e.getAllowJSCompilerOption=fn,e.compilerOptionsAffectSemanticDiagnostics=function(t,r){return r!==t&&e.semanticDiagnosticsOptionDeclarations.some((function(e){return!Xn(gn(r,e),gn(t,e))}))},e.compilerOptionsAffectEmit=function(t,r){return r!==t&&e.affectsEmitOptionDeclarations.some((function(e){return!Xn(gn(r,e),gn(t,e))}))},e.getCompilerOptionValue=gn,e.getJSXTransformEnabled=function(e){var t=e.jsx;return 2===t||4===t||5===t},e.getJSXImplicitImportBase=function(t,r){var n=null==r?void 0:r.pragmas.get(\"jsximportsource\"),i=e.isArray(n)?n[0]:n;return 4===t.jsx||5===t.jsx||t.jsxImportSource||i?(null==i?void 0:i.arguments.factory)||t.jsxImportSource||\"react\":void 0},e.getJSXRuntimeImport=function(e,t){return e?e+\"/\"+(5===t.jsx?\"jsx-dev-runtime\":\"jsx-runtime\"):void 0},e.hasZeroOrOneAsteriskCharacter=mn,e.createSymlinkCache=yn,e.discoverProbableSymlinks=function(t,r,n){for(var i=yn(),a=0,o=e.flatten(e.mapDefined(t,(function(t){return t.resolvedModules&&e.compact(e.arrayFrom(e.mapIterator(t.resolvedModules.values(),(function(e){return e&&e.originalPath&&e.resolvedFileName!==e.originalPath?[e.resolvedFileName,e.originalPath]:void 0}))))})));a0;)c+=\")?\",_--;return c}(t,r,n,kn[n])}))}function Nn(e){return!/[.*?]/.test(e)}function Pn(e,t){return\"*\"===e?t:\"?\"===e?\"[^/]\":\"\\\\\"+e}function wn(t,r,n,i,a){t=e.normalizePath(t),a=e.normalizePath(a);var o=e.combinePaths(a,t);return{includeFilePatterns:e.map(Fn(n,o,\"files\"),(function(e){return\"^\"+e+\"$\"})),includeFilePattern:An(n,o,\"files\"),includeDirectoryPattern:An(n,o,\"directories\"),excludePattern:An(r,o,\"exclude\"),basePaths:On(t,n,i)}}function In(e,t){return new RegExp(e,t?\"\":\"i\")}function On(t,r,n){var i=[t];if(r){for(var a=[],o=0,s=r;o=0;n--)if(e.fileExtensionIs(t,r[n]))return Kn(n,r);return 0},e.adjustExtensionPriority=Kn,e.getNextLowestExtensionPriority=function(e,t){return e<2?2:t.length};var zn=[\".d.ts\",\".ts\",\".js\",\".tsx\",\".jsx\",\".json\"];function Un(e){for(var t=0,r=zn;t=0)}function Gn(e){return\".ts\"===e||\".tsx\"===e||\".d.ts\"===e}function Yn(t){return e.find(zn,(function(r){return e.fileExtensionIs(t,r)}))}function Xn(t,r){return t===r||\"object\"==typeof t&&null!==t&&\"object\"==typeof r&&null!==r&&e.equalOwnProperties(t,r,Xn)}function Qn(e,t){return e.pos=t,e}function $n(e,t){return e.end=t,e}function Zn(e,t,r){return $n(Qn(e,t),r)}function ei(e,t){return e&&t&&(e.parent=t),e}e.removeFileExtension=Un,e.tryRemoveExtension=Vn,e.removeExtension=qn,e.changeExtension=function(t,r){return e.changeAnyExtension(t,r,zn,!1)},e.tryParsePattern=Wn,e.positionIsSynthesized=Hn,e.extensionIsTS=Gn,e.resolutionExtensionIsTSOrJson=function(e){return Gn(e)||\".json\"===e},e.extensionFromPath=function(t){var r=Yn(t);return void 0!==r?r:e.Debug.fail(\"File \"+t+\" has unknown extension.\")},e.isAnySupportedFileExtension=function(e){return void 0!==Yn(e)},e.tryGetExtensionFromPath=Yn,e.isCheckJsEnabledForFile=function(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs},e.emptyFileSystemEntries={files:e.emptyArray,directories:e.emptyArray},e.matchPatternOrExact=function(t,r){for(var n=[],i=0,a=t;ii&&(i=o)}return{min:n,max:i}},e.rangeOfNode=function(e){return{pos:y(e),end:e.end}},e.rangeOfTypeParameters=function(e){return{pos:e.pos-1,end:e.end+1}},e.skipTypeChecking=function(e,t,r){return t.skipLibCheck&&e.isDeclarationFile||t.skipDefaultLibCheck&&e.hasNoDefaultLib||r.isSourceOfProjectReferenceRedirect(e.fileName)},e.isJsonEqual=Xn,e.parsePseudoBigInt=function(e){var t;switch(e.charCodeAt(1)){case 98:case 66:t=1;break;case 111:case 79:t=3;break;case 120:case 88:t=4;break;default:for(var r=e.length-1,n=0;48===e.charCodeAt(n);)n++;return e.slice(n,r)||\"0\"}for(var i=e.length-1,a=(i-2)*t,o=new Uint16Array((a>>>4)+(15&a?1:0)),s=i-1,c=0;s>=2;s--,c+=t){var u=c>>>4,l=e.charCodeAt(s),d=(l<=57?l-48:10+l-(l<=70?65:97))<<(15&c);o[u]|=d;var _=d>>>16;_&&(o[u+1]|=_)}for(var p=\"\",f=o.length-1,g=!0;g;){var m=0;g=!1;for(u=f;u>=0;u--){var y=m<<16|o[u],v=y/10|0;o[u]=v,m=y-10*v,v&&!g&&(f=u,g=!0)}p=m+p}return p},e.pseudoBigIntToString=function(e){var t=e.negative,r=e.base10Value;return(t&&\"0\"!==r?\"-\":\"\")+r},e.isValidTypeOnlyAliasUseSite=function(t){return!!(8388608&t.flags)||ce(t)||function(t){if(78!==t.kind)return!1;var r=e.findAncestor(t.parent,(function(e){switch(e.kind){case 286:return!0;case 201:case 223:return!1;default:return\"quit\"}}));return 116===(null==r?void 0:r.token)||253===(null==r?void 0:r.parent.kind)}(t)||function(e){for(;78===e.kind||201===e.kind;)e=e.parent;if(158!==e.kind)return!1;if(sr(e.parent,128))return!0;var t=e.parent.parent.kind;return 253===t||177===t}(t)||!oe(t)},e.typeOnlyDeclarationIsExport=function(e){return 270===e.kind},e.isIdentifierTypeReference=function(t){return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)},e.arrayIsHomogeneous=function(t,r){if(void 0===r&&(r=e.equateValues),t.length<2)return!0;for(var n=t[0],i=1,a=t.length;i3)return!0;var u=e.getExpressionPrecedence(c);switch(e.compareValues(u,o)){case-1:return!(!i&&1===s&&219===n.kind);case 1:return!1;case 0:if(i)return 1===s;if(e.isBinaryExpression(c)&&c.operatorToken.kind===t){if(function(e){return 41===e||51===e||50===e||52===e}(t))return!1;if(39===t){var l=a?r(a):0;if(e.isLiteralKind(l)&&l===r(c))return!1}}return 0===e.getExpressionAssociativity(c)}}(n,i,a,o)?t.createParenthesizedExpression(i):i}function i(r){var n=e.skipPartiallyEmittedExpressions(r);return e.isLeftHandSideExpression(n)&&(204!==n.kind||n.arguments)?r:e.setTextRange(t.createParenthesizedExpression(r),r)}function a(r){var n=e.skipPartiallyEmittedExpressions(r);return e.getExpressionPrecedence(n)>e.getOperatorPrecedence(216,27)?r:e.setTextRange(t.createParenthesizedExpression(r),r)}function o(e){return 184===e.kind?t.createParenthesizedType(e):e}function s(e){switch(e.kind){case 182:case 183:case 174:case 175:return t.createParenthesizedType(e)}return o(e)}function c(r,n){return 0===n&&e.isFunctionOrConstructorTypeNode(r)&&r.typeParameters?t.createParenthesizedType(r):r}},e.nullParenthesizerRules={parenthesizeLeftSideOfBinary:function(e,t){return t},parenthesizeRightSideOfBinary:function(e,t,r){return r},parenthesizeExpressionOfComputedPropertyName:e.identity,parenthesizeConditionOfConditionalExpression:e.identity,parenthesizeBranchOfConditionalExpression:e.identity,parenthesizeExpressionOfExportDefault:e.identity,parenthesizeExpressionOfNew:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeLeftSideOfAccess:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeOperandOfPostfixUnary:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeOperandOfPrefixUnary:function(t){return e.cast(t,e.isUnaryExpression)},parenthesizeExpressionsOfCommaDelimitedList:function(t){return e.cast(t,e.isNodeArray)},parenthesizeExpressionForDisallowedComma:e.identity,parenthesizeExpressionOfExpressionStatement:e.identity,parenthesizeConciseBodyOfArrowFunction:e.identity,parenthesizeMemberOfConditionalType:e.identity,parenthesizeMemberOfElementType:e.identity,parenthesizeElementTypeOfArrayType:e.identity,parenthesizeConstituentTypesOfUnionOrIntersectionType:function(t){return e.cast(t,e.isNodeArray)},parenthesizeTypeArguments:function(t){return t&&e.cast(t,e.isNodeArray)}}}(u||(u={})),function(e){e.createNodeConverters=function(t){return{convertToFunctionBlock:function(r,n){if(e.isBlock(r))return r;var i=t.createReturnStatement(r);e.setTextRange(i,r);var a=t.createBlock([i],n);return e.setTextRange(a,r),a},convertToFunctionExpression:function(r){if(!r.body)return e.Debug.fail(\"Cannot convert a FunctionDeclaration without a body\");var n=t.createFunctionExpression(r.modifiers,r.asteriskToken,r.name,r.typeParameters,r.parameters,r.type,r.body);e.setOriginalNode(n,r),e.setTextRange(n,r),e.getStartsOnNewLine(r)&&e.setStartsOnNewLine(n,!0);return n},convertToArrayAssignmentElement:r,convertToObjectAssignmentElement:n,convertToAssignmentPattern:i,convertToObjectAssignmentPattern:a,convertToArrayAssignmentPattern:o,convertToAssignmentElementTarget:s};function r(r){if(e.isBindingElement(r)){if(r.dotDotDotToken)return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createSpreadElement(r.name),r),r);var n=s(r.name);return r.initializer?e.setOriginalNode(e.setTextRange(t.createAssignment(n,r.initializer),r),r):n}return e.cast(r,e.isExpression)}function n(r){if(e.isBindingElement(r)){if(r.dotDotDotToken)return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createSpreadAssignment(r.name),r),r);if(r.propertyName){var n=s(r.name);return e.setOriginalNode(e.setTextRange(t.createPropertyAssignment(r.propertyName,r.initializer?t.createAssignment(n,r.initializer):n),r),r)}return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createShorthandPropertyAssignment(r.name,r.initializer),r),r)}return e.cast(r,e.isObjectLiteralElementLike)}function i(e){switch(e.kind){case 197:case 199:return o(e);case 196:case 200:return a(e)}}function a(r){return e.isObjectBindingPattern(r)?e.setOriginalNode(e.setTextRange(t.createObjectLiteralExpression(e.map(r.elements,n)),r),r):e.cast(r,e.isObjectLiteralExpression)}function o(n){return e.isArrayBindingPattern(n)?e.setOriginalNode(e.setTextRange(t.createArrayLiteralExpression(e.map(n.elements,r)),n),n):e.cast(n,e.isArrayLiteralExpression)}function s(t){return e.isBindingPattern(t)?i(t):e.cast(t,e.isExpression)}},e.nullNodeConverters={convertToFunctionBlock:e.notImplemented,convertToFunctionExpression:e.notImplemented,convertToArrayAssignmentElement:e.notImplemented,convertToObjectAssignmentElement:e.notImplemented,convertToAssignmentPattern:e.notImplemented,convertToObjectAssignmentPattern:e.notImplemented,convertToArrayAssignmentPattern:e.notImplemented,convertToAssignmentElementTarget:e.notImplemented}}(u||(u={})),function(e){var t,n=0;function i(i,p){var f=8&i?a:o,g=e.memoize((function(){return 1&i?e.nullParenthesizerRules:e.createParenthesizerRules(A)})),m=e.memoize((function(){return 2&i?e.nullNodeConverters:e.createNodeConverters(A)})),y=e.memoizeOne((function(e){return function(t,r){return Nt(t,e,r)}})),h=e.memoizeOne((function(e){return function(t){return At(e,t)}})),D=e.memoizeOne((function(e){return function(t){return Ft(t,e)}})),x=e.memoizeOne((function(e){return function(){return function(e){return N(e)}(e)}})),b=e.memoizeOne((function(e){return function(t){return Gr(e,t)}})),S=e.memoizeOne((function(e){return function(t,r){return function(e,t,r){return t.type!==r?f(Gr(e,r),t):t}(e,t,r)}})),E=e.memoizeOne((function(e){return function(t,r){return dn(e,t,r)}})),T=e.memoizeOne((function(e){return function(t,r,n){return function(e,t,r,n){void 0===r&&(r=Zr(t));return t.tagName!==r||t.comment!==n?f(dn(e,r,n),t):t}(e,t,r,n)}})),C=e.memoizeOne((function(e){return function(t,r,n){return _n(e,t,r,n)}})),k=e.memoizeOne((function(e){return function(t,r,n,i){return function(e,t,r,n,i){void 0===r&&(r=Zr(t));return t.tagName!==r||t.typeExpression!==n||t.comment!==i?f(_n(e,r,n,i),t):t}(e,t,r,n,i)}})),A={get parenthesizer(){return g()},get converters(){return m()},createNodeArray:F,createNumericLiteral:U,createBigIntLiteral:V,createStringLiteral:W,createStringLiteralFromNode:function(t){var r=q(e.getTextOfIdentifierOrLiteral(t),void 0);return r.textSourceNode=t,r},createRegularExpressionLiteral:H,createLiteralLikeNode:function(e,t){switch(e){case 8:return U(t,0);case 9:return V(t);case 10:return W(t,void 0);case 11:return Dn(t,!1);case 12:return Dn(t,!0);case 13:return H(t);case 14:return Mt(e,t,void 0,0)}},createIdentifier:X,updateIdentifier:function(t,r){return t.typeArguments!==r?f(X(e.idText(t),r),t):t},createTempVariable:Q,createLoopVariable:function(){return Y(\"\",2)},createUniqueName:function(t,r){void 0===r&&(r=0);return e.Debug.assert(!(7&r),\"Argument out of range: flags\"),e.Debug.assert(32!=(48&r),\"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic\"),Y(t,3|r)},getGeneratedNameForNode:$,createPrivateIdentifier:function(t){e.startsWith(t,\"#\")||e.Debug.fail(\"First character of private identifier must be #: \"+t);var r=p.createBasePrivateIdentifierNode(79);return r.escapedText=e.escapeLeadingUnderscores(t),r.transformFlags|=4194304,r},createToken:ee,createSuper:function(){return ee(105)},createThis:te,createNull:function(){return ee(103)},createTrue:re,createFalse:ne,createModifier:ie,createModifiersFromModifierFlags:ae,createQualifiedName:oe,updateQualifiedName:function(e,t,r){return e.left!==t||e.right!==r?f(oe(t,r),e):e},createComputedPropertyName:se,updateComputedPropertyName:function(e,t){return e.expression!==t?f(se(t),e):e},createTypeParameterDeclaration:ce,updateTypeParameterDeclaration:function(e,t,r,n){return e.name!==t||e.constraint!==r||e.default!==n?f(ce(t,r,n),e):e},createParameterDeclaration:ue,updateParameterDeclaration:le,createDecorator:de,updateDecorator:function(e,t){return e.expression!==t?f(de(t),e):e},createPropertySignature:_e,updatePropertySignature:pe,createPropertyDeclaration:fe,updatePropertyDeclaration:ge,createMethodSignature:me,updateMethodSignature:ye,createMethodDeclaration:ve,updateMethodDeclaration:he,createConstructorDeclaration:De,updateConstructorDeclaration:xe,createGetAccessorDeclaration:be,updateGetAccessorDeclaration:Se,createSetAccessorDeclaration:Ee,updateSetAccessorDeclaration:Te,createCallSignature:Ce,updateCallSignature:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(Ce(t,r,n),e):e},createConstructSignature:ke,updateConstructSignature:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(ke(t,r,n),e):e},createIndexSignature:Ae,updateIndexSignature:Fe,createTemplateLiteralTypeSpan:Ne,updateTemplateLiteralTypeSpan:function(e,t,r){return e.type!==t||e.literal!==r?f(Ne(t,r),e):e},createKeywordTypeNode:function(e){return ee(e)},createTypePredicateNode:Pe,updateTypePredicateNode:function(e,t,r,n){return e.assertsModifier!==t||e.parameterName!==r||e.type!==n?f(Pe(t,r,n),e):e},createTypeReferenceNode:we,updateTypeReferenceNode:function(e,t,r){return e.typeName!==t||e.typeArguments!==r?f(we(t,r),e):e},createFunctionTypeNode:Ie,updateFunctionTypeNode:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(Ie(t,r,n),e):e},createConstructorTypeNode:Oe,updateConstructorTypeNode:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(Oe(t,r,n),e):e},createTypeQueryNode:Me,updateTypeQueryNode:function(e,t){return e.exprName!==t?f(Me(t),e):e},createTypeLiteralNode:Le,updateTypeLiteralNode:function(e,t){return e.members!==t?f(Le(t),e):e},createArrayTypeNode:Re,updateArrayTypeNode:function(e,t){return e.elementType!==t?f(Re(t),e):e},createTupleTypeNode:Be,updateTupleTypeNode:function(e,t){return e.elements!==t?f(Be(t),e):e},createNamedTupleMember:je,updateNamedTupleMember:function(e,t,r,n,i){return e.dotDotDotToken!==t||e.name!==r||e.questionToken!==n||e.type!==i?f(je(t,r,n,i),e):e},createOptionalTypeNode:Je,updateOptionalTypeNode:function(e,t){return e.type!==t?f(Je(t),e):e},createRestTypeNode:Ke,updateRestTypeNode:function(e,t){return e.type!==t?f(Ke(t),e):e},createUnionTypeNode:function(e){return ze(182,e)},updateUnionTypeNode:function(e,t){return Ue(e,t)},createIntersectionTypeNode:function(e){return ze(183,e)},updateIntersectionTypeNode:function(e,t){return Ue(e,t)},createConditionalTypeNode:Ve,updateConditionalTypeNode:function(e,t,r,n,i){return e.checkType!==t||e.extendsType!==r||e.trueType!==n||e.falseType!==i?f(Ve(t,r,n,i),e):e},createInferTypeNode:qe,updateInferTypeNode:function(e,t){return e.typeParameter!==t?f(qe(t),e):e},createImportTypeNode:He,updateImportTypeNode:function(e,t,r,n,i){void 0===i&&(i=e.isTypeOf);return e.argument!==t||e.qualifier!==r||e.typeArguments!==n||e.isTypeOf!==i?f(He(t,r,n,i),e):e},createParenthesizedType:Ge,updateParenthesizedType:function(e,t){return e.type!==t?f(Ge(t),e):e},createThisTypeNode:function(){var e=N(187);return e.transformFlags=1,e},createTypeOperatorNode:Ye,updateTypeOperatorNode:function(e,t){return e.type!==t?f(Ye(e.operator,t),e):e},createIndexedAccessTypeNode:Xe,updateIndexedAccessTypeNode:function(e,t,r){return e.objectType!==t||e.indexType!==r?f(Xe(t,r),e):e},createMappedTypeNode:Qe,updateMappedTypeNode:function(e,t,r,n,i,a){return e.readonlyToken!==t||e.typeParameter!==r||e.nameType!==n||e.questionToken!==i||e.type!==a?f(Qe(t,r,n,i,a),e):e},createLiteralTypeNode:$e,updateLiteralTypeNode:function(e,t){return e.literal!==t?f($e(t),e):e},createTemplateLiteralType:We,updateTemplateLiteralType:function(e,t,r){return e.head!==t||e.templateSpans!==r?f(We(t,r),e):e},createObjectBindingPattern:Ze,updateObjectBindingPattern:function(e,t){return e.elements!==t?f(Ze(t),e):e},createArrayBindingPattern:et,updateArrayBindingPattern:function(e,t){return e.elements!==t?f(et(t),e):e},createBindingElement:tt,updateBindingElement:function(e,t,r,n,i){return e.propertyName!==r||e.dotDotDotToken!==t||e.name!==n||e.initializer!==i?f(tt(t,r,n,i),e):e},createArrayLiteralExpression:nt,updateArrayLiteralExpression:function(e,t){return e.elements!==t?f(nt(t,e.multiLine),e):e},createObjectLiteralExpression:it,updateObjectLiteralExpression:function(e,t){return e.properties!==t?f(it(t,e.multiLine),e):e},createPropertyAccessExpression:4&i?function(t,r){return e.setEmitFlags(at(t,r),131072)}:at,updatePropertyAccessExpression:function(t,r,n){if(e.isPropertyAccessChain(t))return st(t,r,t.questionDotToken,e.cast(n,e.isIdentifier));return t.expression!==r||t.name!==n?f(at(r,n),t):t},createPropertyAccessChain:4&i?function(t,r,n){return e.setEmitFlags(ot(t,r,n),131072)}:ot,updatePropertyAccessChain:st,createElementAccessExpression:ct,updateElementAccessExpression:function(t,r,n){if(e.isElementAccessChain(t))return lt(t,r,t.questionDotToken,n);return t.expression!==r||t.argumentExpression!==n?f(ct(r,n),t):t},createElementAccessChain:ut,updateElementAccessChain:lt,createCallExpression:dt,updateCallExpression:function(t,r,n,i){if(e.isCallChain(t))return pt(t,r,t.questionDotToken,n,i);return t.expression!==r||t.typeArguments!==n||t.arguments!==i?f(dt(r,n,i),t):t},createCallChain:_t,updateCallChain:pt,createNewExpression:ft,updateNewExpression:function(e,t,r,n){return e.expression!==t||e.typeArguments!==r||e.arguments!==n?f(ft(t,r,n),e):e},createTaggedTemplateExpression:gt,updateTaggedTemplateExpression:function(e,t,r,n){return e.tag!==t||e.typeArguments!==r||e.template!==n?f(gt(t,r,n),e):e},createTypeAssertion:mt,updateTypeAssertion:yt,createParenthesizedExpression:vt,updateParenthesizedExpression:ht,createFunctionExpression:Dt,updateFunctionExpression:xt,createArrowFunction:bt,updateArrowFunction:St,createDeleteExpression:Et,updateDeleteExpression:function(e,t){return e.expression!==t?f(Et(t),e):e},createTypeOfExpression:Tt,updateTypeOfExpression:function(e,t){return e.expression!==t?f(Tt(t),e):e},createVoidExpression:Ct,updateVoidExpression:function(e,t){return e.expression!==t?f(Ct(t),e):e},createAwaitExpression:kt,updateAwaitExpression:function(e,t){return e.expression!==t?f(kt(t),e):e},createPrefixUnaryExpression:At,updatePrefixUnaryExpression:function(e,t){return e.operand!==t?f(At(e.operator,t),e):e},createPostfixUnaryExpression:Ft,updatePostfixUnaryExpression:function(e,t){return e.operand!==t?f(Ft(t,e.operator),e):e},createBinaryExpression:Nt,updateBinaryExpression:function(e,t,r,n){return e.left!==t||e.operatorToken!==r||e.right!==n?f(Nt(t,r,n),e):e},createConditionalExpression:wt,updateConditionalExpression:function(e,t,r,n,i,a){return e.condition!==t||e.questionToken!==r||e.whenTrue!==n||e.colonToken!==i||e.whenFalse!==a?f(wt(t,r,n,i,a),e):e},createTemplateExpression:It,updateTemplateExpression:function(e,t,r){return e.head!==t||e.templateSpans!==r?f(It(t,r),e):e},createTemplateHead:function(e,t,r){return Ot(15,e,t,r)},createTemplateMiddle:function(e,t,r){return Ot(16,e,t,r)},createTemplateTail:function(e,t,r){return Ot(17,e,t,r)},createNoSubstitutionTemplateLiteral:function(e,t,r){return Ot(14,e,t,r)},createTemplateLiteralLikeNode:Mt,createYieldExpression:Lt,updateYieldExpression:function(e,t,r){return e.expression!==r||e.asteriskToken!==t?f(Lt(t,r),e):e},createSpreadElement:Rt,updateSpreadElement:function(e,t){return e.expression!==t?f(Rt(t),e):e},createClassExpression:Bt,updateClassExpression:jt,createOmittedExpression:function(){return rt(222)},createExpressionWithTypeArguments:Jt,updateExpressionWithTypeArguments:function(e,t,r){return e.expression!==t||e.typeArguments!==r?f(Jt(t,r),e):e},createAsExpression:Kt,updateAsExpression:zt,createNonNullExpression:Ut,updateNonNullExpression:Vt,createNonNullChain:qt,updateNonNullChain:Wt,createMetaProperty:Ht,updateMetaProperty:function(e,t){return e.name!==t?f(Ht(e.keywordToken,t),e):e},createTemplateSpan:Gt,updateTemplateSpan:function(e,t,r){return e.expression!==t||e.literal!==r?f(Gt(t,r),e):e},createSemicolonClassElement:function(){var e=N(229);return e.transformFlags|=256,e},createBlock:Yt,updateBlock:function(e,t){return e.statements!==t?f(Yt(t,e.multiLine),e):e},createVariableStatement:Xt,updateVariableStatement:Qt,createEmptyStatement:$t,createExpressionStatement:Zt,updateExpressionStatement:function(e,t){return e.expression!==t?f(Zt(t),e):e},createIfStatement:er,updateIfStatement:function(e,t,r,n){return e.expression!==t||e.thenStatement!==r||e.elseStatement!==n?f(er(t,r,n),e):e},createDoStatement:tr,updateDoStatement:function(e,t,r){return e.statement!==t||e.expression!==r?f(tr(t,r),e):e},createWhileStatement:rr,updateWhileStatement:function(e,t,r){return e.expression!==t||e.statement!==r?f(rr(t,r),e):e},createForStatement:nr,updateForStatement:function(e,t,r,n,i){return e.initializer!==t||e.condition!==r||e.incrementor!==n||e.statement!==i?f(nr(t,r,n,i),e):e},createForInStatement:ir,updateForInStatement:function(e,t,r,n){return e.initializer!==t||e.expression!==r||e.statement!==n?f(ir(t,r,n),e):e},createForOfStatement:ar,updateForOfStatement:function(e,t,r,n,i){return e.awaitModifier!==t||e.initializer!==r||e.expression!==n||e.statement!==i?f(ar(t,r,n,i),e):e},createContinueStatement:or,updateContinueStatement:function(e,t){return e.label!==t?f(or(t),e):e},createBreakStatement:sr,updateBreakStatement:function(e,t){return e.label!==t?f(sr(t),e):e},createReturnStatement:cr,updateReturnStatement:function(e,t){return e.expression!==t?f(cr(t),e):e},createWithStatement:ur,updateWithStatement:function(e,t,r){return e.expression!==t||e.statement!==r?f(ur(t,r),e):e},createSwitchStatement:lr,updateSwitchStatement:function(e,t,r){return e.expression!==t||e.caseBlock!==r?f(lr(t,r),e):e},createLabeledStatement:dr,updateLabeledStatement:_r,createThrowStatement:pr,updateThrowStatement:function(e,t){return e.expression!==t?f(pr(t),e):e},createTryStatement:fr,updateTryStatement:function(e,t,r,n){return e.tryBlock!==t||e.catchClause!==r||e.finallyBlock!==n?f(fr(t,r,n),e):e},createDebuggerStatement:function(){return N(248)},createVariableDeclaration:gr,updateVariableDeclaration:function(e,t,r,n,i){return e.name!==t||e.type!==n||e.exclamationToken!==r||e.initializer!==i?f(gr(t,r,n,i),e):e},createVariableDeclarationList:mr,updateVariableDeclarationList:function(e,t){return e.declarations!==t?f(mr(t,e.flags),e):e},createFunctionDeclaration:yr,updateFunctionDeclaration:vr,createClassDeclaration:hr,updateClassDeclaration:Dr,createInterfaceDeclaration:xr,updateInterfaceDeclaration:br,createTypeAliasDeclaration:Sr,updateTypeAliasDeclaration:Er,createEnumDeclaration:Tr,updateEnumDeclaration:Cr,createModuleDeclaration:kr,updateModuleDeclaration:Ar,createModuleBlock:Fr,updateModuleBlock:function(e,t){return e.statements!==t?f(Fr(t),e):e},createCaseBlock:Nr,updateCaseBlock:function(e,t){return e.clauses!==t?f(Nr(t),e):e},createNamespaceExportDeclaration:Pr,updateNamespaceExportDeclaration:function(e,t){return e.name!==t?f(Pr(t),e):e},createImportEqualsDeclaration:wr,updateImportEqualsDeclaration:Ir,createImportDeclaration:Or,updateImportDeclaration:Mr,createImportClause:Lr,updateImportClause:function(e,t,r,n){return e.isTypeOnly!==t||e.name!==r||e.namedBindings!==n?f(Lr(t,r,n),e):e},createNamespaceImport:Rr,updateNamespaceImport:function(e,t){return e.name!==t?f(Rr(t),e):e},createNamespaceExport:Br,updateNamespaceExport:function(e,t){return e.name!==t?f(Br(t),e):e},createNamedImports:jr,updateNamedImports:function(e,t){return e.elements!==t?f(jr(t),e):e},createImportSpecifier:Jr,updateImportSpecifier:function(e,t,r){return e.propertyName!==t||e.name!==r?f(Jr(t,r),e):e},createExportAssignment:Kr,updateExportAssignment:zr,createExportDeclaration:Ur,updateExportDeclaration:Vr,createNamedExports:qr,updateNamedExports:function(e,t){return e.elements!==t?f(qr(t),e):e},createExportSpecifier:Wr,updateExportSpecifier:function(e,t,r){return e.propertyName!==t||e.name!==r?f(Wr(t,r),e):e},createMissingDeclaration:function(){return P(271,void 0,void 0)},createExternalModuleReference:Hr,updateExternalModuleReference:function(e,t){return e.expression!==t?f(Hr(t),e):e},get createJSDocAllType(){return x(303)},get createJSDocUnknownType(){return x(304)},get createJSDocNonNullableType(){return b(306)},get updateJSDocNonNullableType(){return S(306)},get createJSDocNullableType(){return b(305)},get updateJSDocNullableType(){return S(305)},get createJSDocOptionalType(){return b(307)},get updateJSDocOptionalType(){return S(307)},get createJSDocVariadicType(){return b(309)},get updateJSDocVariadicType(){return S(309)},get createJSDocNamepathType(){return b(310)},get updateJSDocNamepathType(){return S(310)},createJSDocFunctionType:Yr,updateJSDocFunctionType:function(e,t,r){return e.parameters!==t||e.type!==r?f(Yr(t,r),e):e},createJSDocTypeLiteral:Xr,updateJSDocTypeLiteral:function(e,t,r){return e.jsDocPropertyTags!==t||e.isArrayType!==r?f(Xr(t,r),e):e},createJSDocTypeExpression:Qr,updateJSDocTypeExpression:function(e,t){return e.type!==t?f(Qr(t),e):e},createJSDocSignature:$r,updateJSDocSignature:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?f($r(t,r,n),e):e},createJSDocTemplateTag:tn,updateJSDocTemplateTag:function(e,t,r,n,i){void 0===t&&(t=Zr(e));return e.tagName!==t||e.constraint!==r||e.typeParameters!==n||e.comment!==i?f(tn(t,r,n,i),e):e},createJSDocTypedefTag:rn,updateJSDocTypedefTag:function(e,t,r,n,i){void 0===t&&(t=Zr(e));return e.tagName!==t||e.typeExpression!==r||e.fullName!==n||e.comment!==i?f(rn(t,r,n,i),e):e},createJSDocParameterTag:nn,updateJSDocParameterTag:function(e,t,r,n,i,a,o){void 0===t&&(t=Zr(e));return e.tagName!==t||e.name!==r||e.isBracketed!==n||e.typeExpression!==i||e.isNameFirst!==a||e.comment!==o?f(nn(t,r,n,i,a,o),e):e},createJSDocPropertyTag:an,updateJSDocPropertyTag:function(e,t,r,n,i,a,o){void 0===t&&(t=Zr(e));return e.tagName!==t||e.name!==r||e.isBracketed!==n||e.typeExpression!==i||e.isNameFirst!==a||e.comment!==o?f(an(t,r,n,i,a,o),e):e},createJSDocCallbackTag:on,updateJSDocCallbackTag:function(e,t,r,n,i){void 0===t&&(t=Zr(e));return e.tagName!==t||e.typeExpression!==r||e.fullName!==n||e.comment!==i?f(on(t,r,n,i),e):e},createJSDocAugmentsTag:sn,updateJSDocAugmentsTag:function(e,t,r,n){void 0===t&&(t=Zr(e));return e.tagName!==t||e.class!==r||e.comment!==n?f(sn(t,r,n),e):e},createJSDocImplementsTag:cn,updateJSDocImplementsTag:function(e,t,r,n){void 0===t&&(t=Zr(e));return e.tagName!==t||e.class!==r||e.comment!==n?f(cn(t,r,n),e):e},createJSDocSeeTag:un,updateJSDocSeeTag:function(e,t,r,n){return e.tagName!==t||e.name!==r||e.comment!==n?f(un(t,r,n),e):e},createJSDocNameReference:ln,updateJSDocNameReference:function(e,t){return e.name!==t?f(ln(t),e):e},get createJSDocTypeTag(){return C(329)},get updateJSDocTypeTag(){return k(329)},get createJSDocReturnTag(){return C(327)},get updateJSDocReturnTag(){return k(327)},get createJSDocThisTag(){return C(328)},get updateJSDocThisTag(){return k(328)},get createJSDocEnumTag(){return C(325)},get updateJSDocEnumTag(){return k(325)},get createJSDocAuthorTag(){return E(317)},get updateJSDocAuthorTag(){return T(317)},get createJSDocClassTag(){return E(319)},get updateJSDocClassTag(){return T(319)},get createJSDocPublicTag(){return E(320)},get updateJSDocPublicTag(){return T(320)},get createJSDocPrivateTag(){return E(321)},get updateJSDocPrivateTag(){return T(321)},get createJSDocProtectedTag(){return E(322)},get updateJSDocProtectedTag(){return T(322)},get createJSDocReadonlyTag(){return E(323)},get updateJSDocReadonlyTag(){return T(323)},get createJSDocDeprecatedTag(){return E(318)},get updateJSDocDeprecatedTag(){return T(318)},createJSDocUnknownTag:pn,updateJSDocUnknownTag:function(e,t,r){return e.tagName!==t||e.comment!==r?f(pn(t,r),e):e},createJSDocComment:fn,updateJSDocComment:function(e,t,r){return e.comment!==t||e.tags!==r?f(fn(t,r),e):e},createJsxElement:gn,updateJsxElement:function(e,t,r,n){return e.openingElement!==t||e.children!==r||e.closingElement!==n?f(gn(t,r,n),e):e},createJsxSelfClosingElement:mn,updateJsxSelfClosingElement:function(e,t,r,n){return e.tagName!==t||e.typeArguments!==r||e.attributes!==n?f(mn(t,r,n),e):e},createJsxOpeningElement:yn,updateJsxOpeningElement:function(e,t,r,n){return e.tagName!==t||e.typeArguments!==r||e.attributes!==n?f(yn(t,r,n),e):e},createJsxClosingElement:vn,updateJsxClosingElement:function(e,t){return e.tagName!==t?f(vn(t),e):e},createJsxFragment:hn,createJsxText:Dn,updateJsxText:function(e,t,r){return e.text!==t||e.containsOnlyTriviaWhiteSpaces!==r?f(Dn(t,r),e):e},createJsxOpeningFragment:function(){var e=N(278);return e.transformFlags|=2,e},createJsxJsxClosingFragment:function(){var e=N(279);return e.transformFlags|=2,e},updateJsxFragment:function(e,t,r,n){return e.openingFragment!==t||e.children!==r||e.closingFragment!==n?f(hn(t,r,n),e):e},createJsxAttribute:xn,updateJsxAttribute:function(e,t,r){return e.name!==t||e.initializer!==r?f(xn(t,r),e):e},createJsxAttributes:bn,updateJsxAttributes:function(e,t){return e.properties!==t?f(bn(t),e):e},createJsxSpreadAttribute:Sn,updateJsxSpreadAttribute:function(e,t){return e.expression!==t?f(Sn(t),e):e},createJsxExpression:En,updateJsxExpression:function(e,t){return e.expression!==t?f(En(e.dotDotDotToken,t),e):e},createCaseClause:Tn,updateCaseClause:function(e,t,r){return e.expression!==t||e.statements!==r?f(Tn(t,r),e):e},createDefaultClause:Cn,updateDefaultClause:function(e,t){return e.statements!==t?f(Cn(t),e):e},createHeritageClause:kn,updateHeritageClause:function(e,t){return e.types!==t?f(kn(e.token,t),e):e},createCatchClause:An,updateCatchClause:function(e,t,r){return e.variableDeclaration!==t||e.block!==r?f(An(t,r),e):e},createPropertyAssignment:Fn,updatePropertyAssignment:function(e,t,r){return e.name!==t||e.initializer!==r?function(e,t){t.decorators&&(e.decorators=t.decorators);t.modifiers&&(e.modifiers=t.modifiers);t.questionToken&&(e.questionToken=t.questionToken);t.exclamationToken&&(e.exclamationToken=t.exclamationToken);return f(e,t)}(Fn(t,r),e):e},createShorthandPropertyAssignment:Nn,updateShorthandPropertyAssignment:function(e,t,r){return e.name!==t||e.objectAssignmentInitializer!==r?function(e,t){t.decorators&&(e.decorators=t.decorators);t.modifiers&&(e.modifiers=t.modifiers);t.equalsToken&&(e.equalsToken=t.equalsToken);t.questionToken&&(e.questionToken=t.questionToken);t.exclamationToken&&(e.exclamationToken=t.exclamationToken);return f(e,t)}(Nn(t,r),e):e},createSpreadAssignment:Pn,updateSpreadAssignment:function(e,t){return e.expression!==t?f(Pn(t),e):e},createEnumMember:wn,updateEnumMember:function(e,t,r){return e.name!==t||e.initializer!==r?f(wn(t,r),e):e},createSourceFile:function(e,t,r){var n=p.createBaseSourceFileNode(297);return n.statements=F(e),n.endOfFileToken=t,n.flags|=r,n.fileName=\"\",n.text=\"\",n.languageVersion=0,n.languageVariant=0,n.scriptKind=0,n.isDeclarationFile=!1,n.hasNoDefaultLib=!1,n.transformFlags|=d(n.statements)|l(n.endOfFileToken),n},updateSourceFile:function(t,r,n,i,a,o,s){void 0===n&&(n=t.isDeclarationFile);void 0===i&&(i=t.referencedFiles);void 0===a&&(a=t.typeReferenceDirectives);void 0===o&&(o=t.hasNoDefaultLib);void 0===s&&(s=t.libReferenceDirectives);return t.statements!==r||t.isDeclarationFile!==n||t.referencedFiles!==i||t.typeReferenceDirectives!==a||t.hasNoDefaultLib!==o||t.libReferenceDirectives!==s?f(function(t,r,n,i,a,o,s){var c=p.createBaseSourceFileNode(297);for(var u in t)\"emitNode\"!==u&&!e.hasProperty(c,u)&&e.hasProperty(t,u)&&(c[u]=t[u]);return c.flags|=t.flags,c.statements=F(r),c.endOfFileToken=t.endOfFileToken,c.isDeclarationFile=n,c.referencedFiles=i,c.typeReferenceDirectives=a,c.hasNoDefaultLib=o,c.libReferenceDirectives=s,c.transformFlags=d(c.statements)|l(c.endOfFileToken),c}(t,r,n,i,a,o,s),t):t},createBundle:In,updateBundle:function(t,r,n){void 0===n&&(n=e.emptyArray);return t.sourceFiles!==r||t.prepends!==n?f(In(r,n),t):t},createUnparsedSource:function(t,r,n){var i=N(299);return i.prologues=t,i.syntheticReferences=r,i.texts=n,i.fileName=\"\",i.text=\"\",i.referencedFiles=e.emptyArray,i.libReferenceDirectives=e.emptyArray,i.getLineAndCharacterOfPosition=function(t){return e.getLineAndCharacterOfPosition(i,t)},i},createUnparsedPrologue:function(e){return On(292,e)},createUnparsedPrepend:function(e,t){var r=On(293,e);return r.texts=t,r},createUnparsedTextLike:function(e,t){return On(t?295:294,e)},createUnparsedSyntheticReference:function(e){var t=N(296);return t.data=e.data,t.section=e,t},createInputFiles:function(){var e=N(300);return e.javascriptText=\"\",e.declarationText=\"\",e},createSyntheticExpression:function(e,t,r){void 0===t&&(t=!1);var n=N(227);return n.type=e,n.isSpread=t,n.tupleNameSource=r,n},createSyntaxList:function(e){var t=N(334);return t._children=e,t},createNotEmittedStatement:function(t){var r=N(335);return r.original=t,e.setTextRange(r,t),r},createPartiallyEmittedExpression:Mn,updatePartiallyEmittedExpression:Ln,createCommaListExpression:Bn,updateCommaListExpression:function(e,t){return e.elements!==t?f(Bn(t),e):e},createEndOfDeclarationMarker:function(e){var t=N(339);return t.emitNode={},t.original=e,t},createMergeDeclarationMarker:function(e){var t=N(338);return t.emitNode={},t.original=e,t},createSyntheticReferenceExpression:jn,updateSyntheticReferenceExpression:function(e,t,r){return e.expression!==t||e.thisArg!==r?f(jn(t,r),e):e},cloneNode:Jn,get createComma(){return y(27)},get createAssignment(){return y(62)},get createLogicalOr(){return y(56)},get createLogicalAnd(){return y(55)},get createBitwiseOr(){return y(51)},get createBitwiseXor(){return y(52)},get createBitwiseAnd(){return y(50)},get createStrictEquality(){return y(36)},get createStrictInequality(){return y(37)},get createEquality(){return y(34)},get createInequality(){return y(35)},get createLessThan(){return y(29)},get createLessThanEquals(){return y(32)},get createGreaterThan(){return y(31)},get createGreaterThanEquals(){return y(33)},get createLeftShift(){return y(47)},get createRightShift(){return y(48)},get createUnsignedRightShift(){return y(49)},get createAdd(){return y(39)},get createSubtract(){return y(40)},get createMultiply(){return y(41)},get createDivide(){return y(43)},get createModulo(){return y(44)},get createExponent(){return y(42)},get createPrefixPlus(){return h(39)},get createPrefixMinus(){return h(40)},get createPrefixIncrement(){return h(45)},get createPrefixDecrement(){return h(46)},get createBitwiseNot(){return h(54)},get createLogicalNot(){return h(53)},get createPostfixIncrement(){return D(45)},get createPostfixDecrement(){return D(46)},createImmediatelyInvokedFunctionExpression:function(e,t,r){return dt(Dt(void 0,void 0,void 0,void 0,t?[t]:[],void 0,Yt(e,!0)),void 0,r?[r]:[])},createImmediatelyInvokedArrowFunction:function(e,t,r){return dt(bt(void 0,void 0,t?[t]:[],void 0,void 0,Yt(e,!0)),void 0,r?[r]:[])},createVoidZero:Kn,createExportDefault:function(e){return Kr(void 0,void 0,!1,e)},createExternalModuleExport:function(e){return Ur(void 0,void 0,!1,qr([Wr(void 0,e)]))},createTypeCheck:function(e,t){return\"undefined\"===t?A.createStrictEquality(e,Kn()):A.createStrictEquality(Tt(e),W(t))},createMethodCall:zn,createGlobalMethodCall:Un,createFunctionBindCall:function(e,t,n){return zn(e,\"bind\",r([t],n))},createFunctionCallCall:function(e,t,n){return zn(e,\"call\",r([t],n))},createFunctionApplyCall:function(e,t,r){return zn(e,\"apply\",[t,r])},createArraySliceCall:function(e,t){return zn(e,\"slice\",void 0===t?[]:[ri(t)])},createArrayConcatCall:function(e,t){return zn(e,\"concat\",t)},createObjectDefinePropertyCall:function(e,t,r){return Un(\"Object\",\"defineProperty\",[e,ri(t),r])},createPropertyDescriptor:function(t,r){var n=[];Vn(n,\"enumerable\",ri(t.enumerable)),Vn(n,\"configurable\",ri(t.configurable));var i=Vn(n,\"writable\",ri(t.writable));i=Vn(n,\"value\",t.value)||i;var a=Vn(n,\"get\",t.get);return a=Vn(n,\"set\",t.set)||a,e.Debug.assert(!(i&&a),\"A PropertyDescriptor may not be both an accessor descriptor and a data descriptor.\"),it(n,!r)},createCallBinding:function(t,r,n,i){void 0===i&&(i=!1);var a,o,s=e.skipOuterExpressions(t,15);e.isSuperProperty(s)?(a=te(),o=s):e.isSuperKeyword(s)?(a=te(),o=void 0!==n&&n<2?e.setTextRange(X(\"_super\"),s):s):4096&e.getEmitFlags(s)?(a=Kn(),o=g().parenthesizeLeftSideOfAccess(s)):e.isPropertyAccessExpression(s)?qn(s.expression,i)?(a=Q(r),o=at(e.setTextRange(A.createAssignment(a,s.expression),s.expression),s.name),e.setTextRange(o,s)):(a=s.expression,o=s):e.isElementAccessExpression(s)?qn(s.expression,i)?(a=Q(r),o=ct(e.setTextRange(A.createAssignment(a,s.expression),s.expression),s.argumentExpression),e.setTextRange(o,s)):(a=s.expression,o=s):(a=Kn(),o=g().parenthesizeLeftSideOfAccess(t));return{target:o,thisArg:a}},inlineExpressions:function(t){return t.length>10?Bn(t):e.reduceLeft(t,A.createComma)},getInternalName:function(e,t,r){return Wn(e,t,r,49152)},getLocalName:function(e,t,r){return Wn(e,t,r,16384)},getExportName:Hn,getDeclarationName:function(e,t,r){return Wn(e,t,r)},getNamespaceMemberName:Gn,getExternalModuleOrNamespaceExportName:function(t,r,n,i){if(t&&e.hasSyntacticModifier(r,1))return Gn(t,Wn(r),n,i);return Hn(r,n,i)},restoreOuterExpressions:function t(r,n,i){void 0===i&&(i=15);if(r&&e.isOuterExpression(r,i)&&!function(t){return e.isParenthesizedExpression(t)&&e.nodeIsSynthesized(t)&&e.nodeIsSynthesized(e.getSourceMapRange(t))&&e.nodeIsSynthesized(e.getCommentRange(t))&&!e.some(e.getSyntheticLeadingComments(t))&&!e.some(e.getSyntheticTrailingComments(t))}(r))return function(e,t){switch(e.kind){case 207:return ht(e,t);case 206:return yt(e,e.type,t);case 224:return zt(e,t,e.type);case 225:return Vt(e,t);case 336:return Ln(e,t)}}(r,t(r.expression,n));return n},restoreEnclosingLabel:function t(r,n,i){if(!n)return r;var a=_r(n,n.label,e.isLabeledStatement(n.statement)?t(r,n.statement):r);i&&i(n);return a},createUseStrictPrologue:Xn,copyPrologue:function(e,t,r,n){var i=Qn(e,t,r);return $n(e,t,i,n)},copyStandardPrologue:Qn,copyCustomPrologue:$n,ensureUseStrict:function(t){if(!e.findUseStrictPrologue(t))return e.setTextRange(F(r([Xn()],t)),t);return t},liftToBlock:function(t){return e.Debug.assert(e.every(t,e.isStatementOrBlock),\"Cannot lift nodes to a Block.\"),e.singleOrUndefined(t)||Yt(t)},mergeLexicalEnvironment:function(t,n){if(!e.some(n))return t;var i=Zn(t,e.isPrologueDirective,0),a=Zn(t,e.isHoistedFunction,i),o=Zn(t,e.isHoistedVariableStatement,a),s=Zn(n,e.isPrologueDirective,0),c=Zn(n,e.isHoistedFunction,s),u=Zn(n,e.isHoistedVariableStatement,c),l=Zn(n,e.isCustomPrologue,u);e.Debug.assert(l===n.length,\"Expected declarations to be valid standard or custom prologues\");var d=e.isNodeArray(t)?t.slice():t;l>u&&d.splice.apply(d,r([o,0],n.slice(u,l)));u>c&&d.splice.apply(d,r([a,0],n.slice(c,u)));c>s&&d.splice.apply(d,r([i,0],n.slice(s,c)));if(s>0)if(0===i)d.splice.apply(d,r([0,0],n.slice(0,s)));else{for(var _=new e.Map,p=0;p=0;p--){var g=n[p];_.has(g.expression.text)||d.unshift(g)}}if(e.isNodeArray(t))return e.setTextRange(F(d,t.hasTrailingComma),t);return t},updateModifiers:function(t,r){var n;\"number\"==typeof r&&(r=ae(r));return e.isParameter(t)?le(t,t.decorators,r,t.dotDotDotToken,t.name,t.questionToken,t.type,t.initializer):e.isPropertySignature(t)?pe(t,r,t.name,t.questionToken,t.type):e.isPropertyDeclaration(t)?ge(t,t.decorators,r,t.name,null!==(n=t.questionToken)&&void 0!==n?n:t.exclamationToken,t.type,t.initializer):e.isMethodSignature(t)?ye(t,r,t.name,t.questionToken,t.typeParameters,t.parameters,t.type):e.isMethodDeclaration(t)?he(t,t.decorators,r,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,t.body):e.isConstructorDeclaration(t)?xe(t,t.decorators,r,t.parameters,t.body):e.isGetAccessorDeclaration(t)?Se(t,t.decorators,r,t.name,t.parameters,t.type,t.body):e.isSetAccessorDeclaration(t)?Te(t,t.decorators,r,t.name,t.parameters,t.body):e.isIndexSignatureDeclaration(t)?Fe(t,t.decorators,r,t.parameters,t.type):e.isFunctionExpression(t)?xt(t,r,t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body):e.isArrowFunction(t)?St(t,r,t.typeParameters,t.parameters,t.type,t.equalsGreaterThanToken,t.body):e.isClassExpression(t)?jt(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isVariableStatement(t)?Qt(t,r,t.declarationList):e.isFunctionDeclaration(t)?vr(t,t.decorators,r,t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body):e.isClassDeclaration(t)?Dr(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isInterfaceDeclaration(t)?br(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isTypeAliasDeclaration(t)?Er(t,t.decorators,r,t.name,t.typeParameters,t.type):e.isEnumDeclaration(t)?Cr(t,t.decorators,r,t.name,t.members):e.isModuleDeclaration(t)?Ar(t,t.decorators,r,t.name,t.body):e.isImportEqualsDeclaration(t)?Ir(t,t.decorators,r,t.name,t.moduleReference):e.isImportDeclaration(t)?Mr(t,t.decorators,r,t.importClause,t.moduleSpecifier):e.isExportAssignment(t)?zr(t,t.decorators,r,t.expression):e.isExportDeclaration(t)?Vr(t,t.decorators,r,t.isTypeOnly,t.exportClause,t.moduleSpecifier):e.Debug.assertNever(t)}};return A;function F(t,r){if(void 0===t||t===e.emptyArray)t=[];else if(e.isNodeArray(t))return void 0===t.transformFlags&&_(t),e.Debug.attachNodeArrayDebugInfo(t),t;var n=t.length,i=n>=1&&n<=4?t.slice():t;return e.setTextRangePosEnd(i,-1,-1),i.hasTrailingComma=!!r,_(i),e.Debug.attachNodeArrayDebugInfo(i),i}function N(e){return p.createBaseNode(e)}function P(e,t,r){var n=N(e);return n.decorators=ei(t),n.modifiers=ei(r),n.transformFlags|=d(n.decorators)|d(n.modifiers),n.symbol=void 0,n.localSymbol=void 0,n.locals=void 0,n.nextContainer=void 0,n}function w(t,r,n,i){var a=P(t,r,n);if(i=ti(i),a.name=i,i)switch(a.kind){case 165:case 167:case 168:case 163:case 288:if(e.isIdentifier(i)){a.transformFlags|=u(i);break}default:a.transformFlags|=l(i)}return a}function I(e,t,r,n,i){var a=w(e,t,r,n);return a.typeParameters=ei(i),a.transformFlags|=d(a.typeParameters),i&&(a.transformFlags|=1),a}function O(e,t,r,n,i,a,o){var s=I(e,t,r,n,i);return s.parameters=F(a),s.type=o,s.transformFlags|=d(s.parameters)|l(s.type),o&&(s.transformFlags|=1),s}function M(e,t){return t.typeArguments&&(e.typeArguments=t.typeArguments),f(e,t)}function L(e,t,r,n,i,a,o,s){var c=O(e,t,r,n,i,a,o);return c.body=s,c.transformFlags|=-8388609&l(c.body),s||(c.transformFlags|=1),c}function R(e,t){return t.exclamationToken&&(e.exclamationToken=t.exclamationToken),t.typeArguments&&(e.typeArguments=t.typeArguments),M(e,t)}function B(e,t,r,n,i,a){var o=I(e,t,r,n,i);return o.heritageClauses=ei(a),o.transformFlags|=d(o.heritageClauses),o}function j(e,t,r,n,i,a,o){var s=B(e,t,r,n,i,a);return s.members=F(o),s.transformFlags|=d(s.members),s}function J(e,t,r,n,i){var a=w(e,t,r,n);return a.initializer=i,a.transformFlags|=l(a.initializer),a}function K(e,t,r,n,i,a){var o=J(e,t,r,n,a);return o.type=i,o.transformFlags|=l(i),i&&(o.transformFlags|=1),o}function z(e,t){var r=Z(e);return r.text=t,r}function U(e,t){void 0===t&&(t=0);var r=z(8,\"number\"==typeof e?e+\"\":e);return r.numericLiteralFlags=t,384&t&&(r.transformFlags|=256),r}function V(t){var r=z(9,\"string\"==typeof t?t:e.pseudoBigIntToString(t)+\"n\");return r.transformFlags|=4,r}function q(e,t){var r=z(10,e);return r.singleQuote=t,r}function W(e,t,r){var n=q(e,t);return n.hasExtendedUnicodeEscape=r,r&&(n.transformFlags|=256),n}function H(e){return z(13,e)}function G(t,r){void 0===r&&t&&(r=e.stringToToken(t)),78===r&&(r=void 0);var n=p.createBaseIdentifierNode(78);return n.originalKeywordKind=r,n.escapedText=e.escapeLeadingUnderscores(t),n}function Y(e,t){var r=G(e,void 0);return r.autoGenerateFlags=t,r.autoGenerateId=n,n++,r}function X(e,t,r){var n=G(e,r);return t&&(n.typeArguments=F(t)),130===n.originalKeywordKind&&(n.transformFlags|=8388608),n}function Q(e,t){var r=1;t&&(r|=8);var n=Y(\"\",r);return e&&e(n),n}function $(t,r){void 0===r&&(r=0),e.Debug.assert(!(7&r),\"Argument out of range: flags\");var n=Y(t&&e.isIdentifier(t)?e.idText(t):\"\",4|r);return n.original=t,n}function Z(e){return p.createBaseTokenNode(e)}function ee(t){e.Debug.assert(t>=0&&t<=156,\"Invalid token\"),e.Debug.assert(t<=14||t>=17,\"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals.\"),e.Debug.assert(t<=8||t>=14,\"Invalid token. Use 'createLiteralLikeNode' to create literals.\"),e.Debug.assert(78!==t,\"Invalid token. Use 'createIdentifier' to create identifiers\");var r=Z(t),n=0;switch(t){case 129:n=96;break;case 122:case 120:case 121:case 142:case 125:case 133:case 84:case 128:case 144:case 155:case 141:case 145:case 147:case 131:case 148:case 113:case 152:case 150:n=1;break;case 123:case 105:n=256;break;case 107:n=4096}return n&&(r.transformFlags|=n),r}function te(){return ee(107)}function re(){return ee(109)}function ne(){return ee(94)}function ie(e){return ee(e)}function ae(e){var t=[];return 1&e&&t.push(ie(92)),2&e&&t.push(ie(133)),512&e&&t.push(ie(87)),2048&e&&t.push(ie(84)),4&e&&t.push(ie(122)),8&e&&t.push(ie(120)),16&e&&t.push(ie(121)),128&e&&t.push(ie(125)),32&e&&t.push(ie(123)),64&e&&t.push(ie(142)),256&e&&t.push(ie(129)),t}function oe(e,t){var r=N(157);return r.left=e,r.right=ti(t),r.transformFlags|=l(r.left)|u(r.right),r}function se(e){var t=N(158);return t.expression=g().parenthesizeExpressionOfComputedPropertyName(e),t.transformFlags|=33024|l(t.expression),t}function ce(e,t,r){var n=w(159,void 0,void 0,e);return n.constraint=t,n.default=r,n.transformFlags=1,n}function ue(t,r,n,i,a,o,s){var c=K(160,t,r,i,o,s&&g().parenthesizeExpressionForDisallowedComma(s));return c.dotDotDotToken=n,c.questionToken=a,e.isThisIdentifier(c.name)?c.transformFlags=1:(c.transformFlags|=l(c.dotDotDotToken)|l(c.questionToken),a&&(c.transformFlags|=1),92&e.modifiersToFlags(c.modifiers)&&(c.transformFlags|=2048),(s||n)&&(c.transformFlags|=256)),c}function le(e,t,r,n,i,a,o,s){return e.decorators!==t||e.modifiers!==r||e.dotDotDotToken!==n||e.name!==i||e.questionToken!==a||e.type!==o||e.initializer!==s?f(ue(t,r,n,i,a,o,s),e):e}function de(e){var t=N(161);return t.expression=g().parenthesizeLeftSideOfAccess(e),t.transformFlags|=2049|l(t.expression),t}function _e(e,t,r,n){var i=w(162,void 0,e,t);return i.type=n,i.questionToken=r,i.transformFlags=1,i}function pe(e,t,r,n,i){return e.modifiers!==t||e.name!==r||e.questionToken!==n||e.type!==i?f(_e(t,r,n,i),e):e}function fe(t,r,n,i,a,o){var s=K(163,t,r,n,a,o);return s.questionToken=i&&e.isQuestionToken(i)?i:void 0,s.exclamationToken=i&&e.isExclamationToken(i)?i:void 0,s.transformFlags|=l(s.questionToken)|l(s.exclamationToken)|4194304,(e.isComputedPropertyName(s.name)||e.hasStaticModifier(s)&&s.initializer)&&(s.transformFlags|=2048),(i||2&e.modifiersToFlags(s.modifiers))&&(s.transformFlags|=1),s}function ge(t,r,n,i,a,o,s){return t.decorators!==r||t.modifiers!==n||t.name!==i||t.questionToken!==(void 0!==a&&e.isQuestionToken(a)?a:void 0)||t.exclamationToken!==(void 0!==a&&e.isExclamationToken(a)?a:void 0)||t.type!==o||t.initializer!==s?f(fe(r,n,i,a,o,s),t):t}function me(e,t,r,n,i,a){var o=O(164,void 0,e,t,n,i,a);return o.questionToken=r,o.transformFlags=1,o}function ye(e,t,r,n,i,a,o){return e.modifiers!==t||e.name!==r||e.questionToken!==n||e.typeParameters!==i||e.parameters!==a||e.type!==o?M(me(t,r,n,i,a,o),e):e}function ve(t,r,n,i,a,o,s,c,u){var d=L(165,t,r,i,o,s,c,u);return d.asteriskToken=n,d.questionToken=a,d.transformFlags|=l(d.asteriskToken)|l(d.questionToken)|256,a&&(d.transformFlags|=1),256&e.modifiersToFlags(d.modifiers)?d.transformFlags|=n?32:64:n&&(d.transformFlags|=512),d}function he(e,t,r,n,i,a,o,s,c,u){return e.decorators!==t||e.modifiers!==r||e.asteriskToken!==n||e.name!==i||e.questionToken!==a||e.typeParameters!==o||e.parameters!==s||e.type!==c||e.body!==u?R(ve(t,r,n,i,a,o,s,c,u),e):e}function De(e,t,r,n){var i=L(166,e,t,void 0,void 0,r,void 0,n);return i.transformFlags|=256,i}function xe(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.parameters!==n||e.body!==i?R(De(t,r,n,i),e):e}function be(e,t,r,n,i,a){return L(167,e,t,r,void 0,n,i,a)}function Se(e,t,r,n,i,a,o){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.parameters!==i||e.type!==a||e.body!==o?R(be(t,r,n,i,a,o),e):e}function Ee(e,t,r,n,i){return L(168,e,t,r,void 0,n,void 0,i)}function Te(e,t,r,n,i,a){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.parameters!==i||e.body!==a?R(Ee(t,r,n,i,a),e):e}function Ce(e,t,r){var n=O(169,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function ke(e,t,r){var n=O(170,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function Ae(e,t,r,n){var i=O(171,e,t,void 0,void 0,r,n);return i.transformFlags=1,i}function Fe(e,t,r,n,i){return e.parameters!==n||e.type!==i||e.decorators!==t||e.modifiers!==r?M(Ae(t,r,n,i),e):e}function Ne(e,t){var r=N(194);return r.type=e,r.literal=t,r.transformFlags=1,r}function Pe(e,t,r){var n=N(172);return n.assertsModifier=e,n.parameterName=ti(t),n.type=r,n.transformFlags=1,n}function we(e,t){var r=N(173);return r.typeName=ti(e),r.typeArguments=t&&g().parenthesizeTypeArguments(F(t)),r.transformFlags=1,r}function Ie(e,t,r){var n=O(174,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function Oe(e,t,r){var n=O(175,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function Me(e){var t=N(176);return t.exprName=e,t.transformFlags=1,t}function Le(e){var t=N(177);return t.members=F(e),t.transformFlags=1,t}function Re(e){var t=N(178);return t.elementType=g().parenthesizeElementTypeOfArrayType(e),t.transformFlags=1,t}function Be(e){var t=N(179);return t.elements=F(e),t.transformFlags=1,t}function je(e,t,r,n){var i=N(192);return i.dotDotDotToken=e,i.name=t,i.questionToken=r,i.type=n,i.transformFlags=1,i}function Je(e){var t=N(180);return t.type=g().parenthesizeElementTypeOfArrayType(e),t.transformFlags=1,t}function Ke(e){var t=N(181);return t.type=e,t.transformFlags=1,t}function ze(e,t){var r=N(e);return r.types=g().parenthesizeConstituentTypesOfUnionOrIntersectionType(t),r.transformFlags=1,r}function Ue(e,t){return e.types!==t?f(ze(e.kind,t),e):e}function Ve(e,t,r,n){var i=N(184);return i.checkType=g().parenthesizeMemberOfConditionalType(e),i.extendsType=g().parenthesizeMemberOfConditionalType(t),i.trueType=r,i.falseType=n,i.transformFlags=1,i}function qe(e){var t=N(185);return t.typeParameter=e,t.transformFlags=1,t}function We(e,t){var r=N(193);return r.head=e,r.templateSpans=F(t),r.transformFlags=1,r}function He(e,t,r,n){void 0===n&&(n=!1);var i=N(195);return i.argument=e,i.qualifier=t,i.typeArguments=r&&g().parenthesizeTypeArguments(r),i.isTypeOf=n,i.transformFlags=1,i}function Ge(e){var t=N(186);return t.type=e,t.transformFlags=1,t}function Ye(e,t){var r=N(188);return r.operator=e,r.type=g().parenthesizeMemberOfElementType(t),r.transformFlags=1,r}function Xe(e,t){var r=N(189);return r.objectType=g().parenthesizeMemberOfElementType(e),r.indexType=t,r.transformFlags=1,r}function Qe(e,t,r,n,i){var a=N(190);return a.readonlyToken=e,a.typeParameter=t,a.nameType=r,a.questionToken=n,a.type=i,a.transformFlags=1,a}function $e(e){var t=N(191);return t.literal=e,t.transformFlags=1,t}function Ze(e){var t=N(196);return t.elements=F(e),t.transformFlags|=131328|d(t.elements),8192&t.transformFlags&&(t.transformFlags|=16416),t}function et(e){var t=N(197);return t.elements=F(e),t.transformFlags|=131328|d(t.elements),t}function tt(t,r,n,i){var a=J(198,void 0,void 0,n,i);return a.propertyName=ti(r),a.dotDotDotToken=t,a.transformFlags|=256|l(a.dotDotDotToken),a.propertyName&&(a.transformFlags|=e.isIdentifier(a.propertyName)?u(a.propertyName):l(a.propertyName)),t&&(a.transformFlags|=8192),a}function rt(e){return N(e)}function nt(e,t){var r=rt(199);return r.elements=g().parenthesizeExpressionsOfCommaDelimitedList(F(e)),r.multiLine=t,r.transformFlags|=d(r.elements),r}function it(e,t){var r=rt(200);return r.properties=F(e),r.multiLine=t,r.transformFlags|=d(r.properties),r}function at(t,r){var n=rt(201);return n.expression=g().parenthesizeLeftSideOfAccess(t),n.name=ti(r),n.transformFlags=l(n.expression)|(e.isIdentifier(n.name)?u(n.name):l(n.name)),e.isSuperKeyword(t)&&(n.transformFlags|=96),n}function ot(t,r,n){var i=rt(201);return i.flags|=32,i.expression=g().parenthesizeLeftSideOfAccess(t),i.questionDotToken=r,i.name=ti(n),i.transformFlags|=8|l(i.expression)|l(i.questionDotToken)|(e.isIdentifier(i.name)?u(i.name):l(i.name)),i}function st(t,r,n,i){return e.Debug.assert(!!(32&t.flags),\"Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead.\"),t.expression!==r||t.questionDotToken!==n||t.name!==i?f(ot(r,n,i),t):t}function ct(t,r){var n=rt(202);return n.expression=g().parenthesizeLeftSideOfAccess(t),n.argumentExpression=ri(r),n.transformFlags|=l(n.expression)|l(n.argumentExpression),e.isSuperKeyword(t)&&(n.transformFlags|=96),n}function ut(e,t,r){var n=rt(202);return n.flags|=32,n.expression=g().parenthesizeLeftSideOfAccess(e),n.questionDotToken=t,n.argumentExpression=ri(r),n.transformFlags|=l(n.expression)|l(n.questionDotToken)|l(n.argumentExpression)|8,n}function lt(t,r,n,i){return e.Debug.assert(!!(32&t.flags),\"Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead.\"),t.expression!==r||t.questionDotToken!==n||t.argumentExpression!==i?f(ut(r,n,i),t):t}function dt(t,r,n){var i=rt(203);return i.expression=g().parenthesizeLeftSideOfAccess(t),i.typeArguments=ei(r),i.arguments=g().parenthesizeExpressionsOfCommaDelimitedList(F(n)),i.transformFlags|=l(i.expression)|d(i.typeArguments)|d(i.arguments),i.typeArguments&&(i.transformFlags|=1),e.isImportKeyword(i.expression)?i.transformFlags|=2097152:e.isSuperProperty(i.expression)&&(i.transformFlags|=4096),i}function _t(t,r,n,i){var a=rt(203);return a.flags|=32,a.expression=g().parenthesizeLeftSideOfAccess(t),a.questionDotToken=r,a.typeArguments=ei(n),a.arguments=g().parenthesizeExpressionsOfCommaDelimitedList(F(i)),a.transformFlags|=l(a.expression)|l(a.questionDotToken)|d(a.typeArguments)|d(a.arguments)|8,a.typeArguments&&(a.transformFlags|=1),e.isSuperProperty(a.expression)&&(a.transformFlags|=4096),a}function pt(t,r,n,i,a){return e.Debug.assert(!!(32&t.flags),\"Cannot update a CallExpression using updateCallChain. Use updateCall instead.\"),t.expression!==r||t.questionDotToken!==n||t.typeArguments!==i||t.arguments!==a?f(_t(r,n,i,a),t):t}function ft(e,t,r){var n=rt(204);return n.expression=g().parenthesizeExpressionOfNew(e),n.typeArguments=ei(t),n.arguments=r?g().parenthesizeExpressionsOfCommaDelimitedList(r):void 0,n.transformFlags|=l(n.expression)|d(n.typeArguments)|d(n.arguments)|8,n.typeArguments&&(n.transformFlags|=1),n}function gt(t,r,n){var i=rt(205);return i.tag=g().parenthesizeLeftSideOfAccess(t),i.typeArguments=ei(r),i.template=n,i.transformFlags|=l(i.tag)|d(i.typeArguments)|l(i.template)|256,i.typeArguments&&(i.transformFlags|=1),e.hasInvalidEscape(i.template)&&(i.transformFlags|=32),i}function mt(e,t){var r=rt(206);return r.expression=g().parenthesizeOperandOfPrefixUnary(t),r.type=e,r.transformFlags|=l(r.expression)|l(r.type)|1,r}function yt(e,t,r){return e.type!==t||e.expression!==r?f(mt(t,r),e):e}function vt(e){var t=rt(207);return t.expression=e,t.transformFlags=l(t.expression),t}function ht(e,t){return e.expression!==t?f(vt(t),e):e}function Dt(t,r,n,i,a,o,s){var c=L(208,void 0,t,n,i,a,o,s);return c.asteriskToken=r,c.transformFlags|=l(c.asteriskToken),c.typeParameters&&(c.transformFlags|=1),256&e.modifiersToFlags(c.modifiers)?c.asteriskToken?c.transformFlags|=32:c.transformFlags|=64:c.asteriskToken&&(c.transformFlags|=512),c}function xt(e,t,r,n,i,a,o,s){return e.name!==n||e.modifiers!==t||e.asteriskToken!==r||e.typeParameters!==i||e.parameters!==a||e.type!==o||e.body!==s?R(Dt(t,r,n,i,a,o,s),e):e}function bt(t,r,n,i,a,o){var s=L(209,void 0,t,void 0,r,n,i,g().parenthesizeConciseBodyOfArrowFunction(o));return s.equalsGreaterThanToken=null!=a?a:ee(38),s.transformFlags|=256|l(s.equalsGreaterThanToken),256&e.modifiersToFlags(s.modifiers)&&(s.transformFlags|=64),s}function St(e,t,r,n,i,a,o){return e.modifiers!==t||e.typeParameters!==r||e.parameters!==n||e.type!==i||e.equalsGreaterThanToken!==a||e.body!==o?R(bt(t,r,n,i,a,o),e):e}function Et(e){var t=rt(210);return t.expression=g().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=l(t.expression),t}function Tt(e){var t=rt(211);return t.expression=g().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=l(t.expression),t}function Ct(e){var t=rt(212);return t.expression=g().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=l(t.expression),t}function kt(e){var t=rt(213);return t.expression=g().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=524384|l(t.expression),t}function At(e,t){var r=rt(214);return r.operator=e,r.operand=g().parenthesizeOperandOfPrefixUnary(t),r.transformFlags|=l(r.operand),r}function Ft(e,t){var r=rt(215);return r.operator=t,r.operand=g().parenthesizeOperandOfPostfixUnary(e),r.transformFlags=l(r.operand),r}function Nt(t,r,n){var i,a=rt(216),o=\"number\"==typeof(i=r)?ee(i):i,s=o.kind;return a.left=g().parenthesizeLeftSideOfBinary(s,t),a.operatorToken=o,a.right=g().parenthesizeRightSideOfBinary(s,a.left,n),a.transformFlags|=l(a.left)|l(a.operatorToken)|l(a.right),60===s?a.transformFlags|=8:62===s?e.isObjectLiteralExpression(a.left)?a.transformFlags|=1312|Pt(a.left):e.isArrayLiteralExpression(a.left)&&(a.transformFlags|=1280|Pt(a.left)):42===s||66===s?a.transformFlags|=128:e.isLogicalOrCoalescingAssignmentOperator(s)&&(a.transformFlags|=4),a}function Pt(t){if(16384&t.transformFlags)return 16384;if(32&t.transformFlags)for(var r=0,n=e.getElementsOfBindingOrAssignmentPattern(t);r0;default:return!0}}function Wn(t,r,n,i){void 0===i&&(i=0);var a=e.getNameOfDeclaration(t);if(a&&e.isIdentifier(a)&&!e.isGeneratedIdentifier(a)){var o=e.setParent(e.setTextRange(Jn(a),a),a.parent);return i|=e.getEmitFlags(a),n||(i|=48),r||(i|=1536),i&&e.setEmitFlags(o,i),o}return $(t)}function Hn(e,t,r){return Wn(e,t,r,8192)}function Gn(t,r,n,i){var a=at(t,e.nodeIsSynthesized(r)?r:Jn(r));e.setTextRange(a,r);var o=0;return i||(o|=48),n||(o|=1536),o&&e.setEmitFlags(a,o),a}function Yn(t){return e.isStringLiteral(t.expression)&&\"use strict\"===t.expression.text}function Xn(){return e.startOnNewLine(Zt(W(\"use strict\")))}function Qn(t,r,n){e.Debug.assert(0===r.length,\"Prologue directives should be at the first statement in the target statements array\");for(var i=!1,a=0,o=t.length;a=172&&e<=195)return-2;switch(e){case 203:case 204:case 199:return 536879104;case 256:return 546379776;case 160:return 536870912;case 209:return 547309568;case 208:case 251:return 547313664;case 250:return 537018368;case 252:case 221:return 536905728;case 166:return 547311616;case 163:return 536875008;case 165:case 167:case 168:return 538923008;case 128:case 144:case 155:case 141:case 147:case 145:case 131:case 148:case 113:case 159:case 162:case 164:case 169:case 170:case 171:case 253:case 254:return-2;case 200:return 536922112;case 287:return 536887296;case 196:case 197:return 536879104;case 206:case 224:case 336:case 207:case 105:return 536870912;case 201:case 202:default:return 536870912}}e.getTransformFlagsSubtreeExclusions=p;var f=e.createBaseNodeFactory();function g(e){return e.flags|=8,e}var m,y={createBaseSourceFileNode:function(e){return g(f.createBaseSourceFileNode(e))},createBaseIdentifierNode:function(e){return g(f.createBaseIdentifierNode(e))},createBasePrivateIdentifierNode:function(e){return g(f.createBasePrivateIdentifierNode(e))},createBaseTokenNode:function(e){return g(f.createBaseTokenNode(e))},createBaseNode:function(e){return g(f.createBaseNode(e))}};function v(t,r){if(t.original=r,r){var n=r.emitNode;n&&(t.emitNode=function(t,r){var n=t.flags,i=t.leadingComments,a=t.trailingComments,o=t.commentRange,s=t.sourceMapRange,c=t.tokenSourceMapRanges,u=t.constantValue,l=t.helpers,d=t.startsOnNewLine;r||(r={});i&&(r.leadingComments=e.addRange(i.slice(),r.leadingComments));a&&(r.trailingComments=e.addRange(a.slice(),r.trailingComments));n&&(r.flags=n);o&&(r.commentRange=o);s&&(r.sourceMapRange=s);c&&(r.tokenSourceMapRanges=function(e,t){t||(t=[]);for(var r in e)t[r]=e[r];return t}(c,r.tokenSourceMapRanges));void 0!==u&&(r.constantValue=u);if(l)for(var _=0,p=l;_0&&(o[u-c]=l)}c>0&&(o.length-=c)}},e.ignoreSourceNewlines=function(e){return t(e).flags|=134217728,e}}(u||(u={})),function(e){function t(e){for(var t=[],r=1;r=2)return n.createCallExpression(n.createPropertyAccessExpression(n.createIdentifier(\"Object\"),\"assign\"),void 0,r);return t.requestEmitHelper(e.assignHelper),n.createCallExpression(i(\"__assign\"),void 0,r)},createAwaitHelper:function(r){return t.requestEmitHelper(e.awaitHelper),n.createCallExpression(i(\"__await\"),void 0,[r])},createAsyncGeneratorHelper:function(r,a){return t.requestEmitHelper(e.awaitHelper),t.requestEmitHelper(e.asyncGeneratorHelper),(r.emitNode||(r.emitNode={})).flags|=786432,n.createCallExpression(i(\"__asyncGenerator\"),void 0,[a?n.createThis():n.createVoidZero(),n.createIdentifier(\"arguments\"),r])},createAsyncDelegatorHelper:function(r){return t.requestEmitHelper(e.awaitHelper),t.requestEmitHelper(e.asyncDelegator),n.createCallExpression(i(\"__asyncDelegator\"),void 0,[r])},createAsyncValuesHelper:function(r){return t.requestEmitHelper(e.asyncValues),n.createCallExpression(i(\"__asyncValues\"),void 0,[r])},createRestHelper:function(r,a,o,s){t.requestEmitHelper(e.restHelper);for(var c=[],u=0,l=0;l= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\\n return c > 3 && r && Object.defineProperty(target, key, r), r;\\n };'},e.metadataHelper={name:\"typescript:metadata\",importName:\"__metadata\",scoped:!1,priority:3,text:'\\n var __metadata = (this && this.__metadata) || function (k, v) {\\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\\n };'},e.paramHelper={name:\"typescript:param\",importName:\"__param\",scoped:!1,priority:4,text:\"\\n var __param = (this && this.__param) || function (paramIndex, decorator) {\\n return function (target, key) { decorator(target, key, paramIndex); }\\n };\"},e.assignHelper={name:\"typescript:assign\",importName:\"__assign\",scoped:!1,priority:1,text:\"\\n var __assign = (this && this.__assign) || function () {\\n __assign = Object.assign || function(t) {\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\n s = arguments[i];\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\\n t[p] = s[p];\\n }\\n return t;\\n };\\n return __assign.apply(this, arguments);\\n };\"},e.awaitHelper={name:\"typescript:await\",importName:\"__await\",scoped:!1,text:\"\\n var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\"},e.asyncGeneratorHelper={name:\"typescript:asyncGenerator\",importName:\"__asyncGenerator\",scoped:!1,dependencies:[e.awaitHelper],text:'\\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\\n function fulfill(value) { resume(\"next\", value); }\\n function reject(value) { resume(\"throw\", value); }\\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\\n };'},e.asyncDelegator={name:\"typescript:asyncDelegator\",importName:\"__asyncDelegator\",scoped:!1,dependencies:[e.awaitHelper],text:'\\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\\n var i, p;\\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\\n };'},e.asyncValues={name:\"typescript:asyncValues\",importName:\"__asyncValues\",scoped:!1,text:'\\n var __asyncValues = (this && this.__asyncValues) || function (o) {\\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\\n var m = o[Symbol.asyncIterator], i;\\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\\n };'},e.restHelper={name:\"typescript:rest\",importName:\"__rest\",scoped:!1,text:'\\n var __rest = (this && this.__rest) || function (s, e) {\\n var t = {};\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\\n t[p] = s[p];\\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\\n t[p[i]] = s[p[i]];\\n }\\n return t;\\n };'},e.awaiterHelper={name:\"typescript:awaiter\",importName:\"__awaiter\",scoped:!1,priority:5,text:'\\n var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n };'},e.extendsHelper={name:\"typescript:extends\",importName:\"__extends\",scoped:!1,priority:0,text:\"\\n var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n })();\"},e.templateObjectHelper={name:\"typescript:makeTemplateObject\",importName:\"__makeTemplateObject\",scoped:!1,priority:0,text:'\\n var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\\n return cooked;\\n };'},e.readHelper={name:\"typescript:read\",importName:\"__read\",scoped:!1,text:'\\n var __read = (this && this.__read) || function (o, n) {\\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\\n if (!m) return o;\\n var i = m.call(o), r, ar = [], e;\\n try {\\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\\n }\\n catch (error) { e = { error: error }; }\\n finally {\\n try {\\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\\n }\\n finally { if (e) throw e.error; }\\n }\\n return ar;\\n };'},e.spreadHelper={name:\"typescript:spread\",importName:\"__spread\",scoped:!1,dependencies:[e.readHelper],text:\"\\n var __spread = (this && this.__spread) || function () {\\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\\n return ar;\\n };\"},e.spreadArraysHelper={name:\"typescript:spreadArrays\",importName:\"__spreadArrays\",scoped:!1,text:\"\\n var __spreadArrays = (this && this.__spreadArrays) || function () {\\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\\n r[k] = a[j];\\n return r;\\n };\"},e.valuesHelper={name:\"typescript:values\",importName:\"__values\",scoped:!1,text:'\\n var __values = (this && this.__values) || function(o) {\\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\\n if (m) return m.call(o);\\n if (o && typeof o.length === \"number\") return {\\n next: function () {\\n if (o && i >= o.length) o = void 0;\\n return { value: o && o[i++], done: !o };\\n }\\n };\\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\\n };'},e.generatorHelper={name:\"typescript:generator\",importName:\"__generator\",scoped:!1,priority:6,text:'\\n var __generator = (this && this.__generator) || function (thisArg, body) {\\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\\n function verb(n) { return function (v) { return step([n, v]); }; }\\n function step(op) {\\n if (f) throw new TypeError(\"Generator is already executing.\");\\n while (_) try {\\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\\n if (y = 0, t) op = [op[0] & 2, t.value];\\n switch (op[0]) {\\n case 0: case 1: t = op; break;\\n case 4: _.label++; return { value: op[1], done: false };\\n case 5: _.label++; y = op[1]; op = [0]; continue;\\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\\n default:\\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\\n if (t[2]) _.ops.pop();\\n _.trys.pop(); continue;\\n }\\n op = body.call(thisArg, _);\\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\\n }\\n };'},e.createBindingHelper={name:\"typescript:commonjscreatebinding\",importName:\"__createBinding\",scoped:!1,priority:1,text:\"\\n var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\\n if (k2 === undefined) k2 = k;\\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\\n }) : (function(o, m, k, k2) {\\n if (k2 === undefined) k2 = k;\\n o[k2] = m[k];\\n }));\"},e.setModuleDefaultHelper={name:\"typescript:commonjscreatevalue\",importName:\"__setModuleDefault\",scoped:!1,priority:1,text:'\\n var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\\n }) : function(o, v) {\\n o[\"default\"] = v;\\n });'},e.importStarHelper={name:\"typescript:commonjsimportstar\",importName:\"__importStar\",scoped:!1,dependencies:[e.createBindingHelper,e.setModuleDefaultHelper],priority:2,text:'\\n var __importStar = (this && this.__importStar) || function (mod) {\\n if (mod && mod.__esModule) return mod;\\n var result = {};\\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\\n __setModuleDefault(result, mod);\\n return result;\\n };'},e.importDefaultHelper={name:\"typescript:commonjsimportdefault\",importName:\"__importDefault\",scoped:!1,text:'\\n var __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\\n };'},e.exportStarHelper={name:\"typescript:export-star\",importName:\"__exportStar\",scoped:!1,dependencies:[e.createBindingHelper],priority:2,text:'\\n var __exportStar = (this && this.__exportStar) || function(m, exports) {\\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\\n };'},e.classPrivateFieldGetHelper={name:\"typescript:classPrivateFieldGet\",importName:\"__classPrivateFieldGet\",scoped:!1,text:'\\n var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {\\n if (!privateMap.has(receiver)) {\\n throw new TypeError(\"attempted to get private field on non-instance\");\\n }\\n return privateMap.get(receiver);\\n };'},e.classPrivateFieldSetHelper={name:\"typescript:classPrivateFieldSet\",importName:\"__classPrivateFieldSet\",scoped:!1,text:'\\n var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {\\n if (!privateMap.has(receiver)) {\\n throw new TypeError(\"attempted to set private field on non-instance\");\\n }\\n privateMap.set(receiver, value);\\n return value;\\n };'},e.getAllUnscopedEmitHelpers=function(){return n||(n=e.arrayToMap([e.decorateHelper,e.metadataHelper,e.paramHelper,e.assignHelper,e.awaitHelper,e.asyncGeneratorHelper,e.asyncDelegator,e.asyncValues,e.restHelper,e.awaiterHelper,e.extendsHelper,e.templateObjectHelper,e.spreadHelper,e.spreadArraysHelper,e.valuesHelper,e.readHelper,e.generatorHelper,e.importStarHelper,e.importDefaultHelper,e.exportStarHelper,e.classPrivateFieldGetHelper,e.classPrivateFieldSetHelper,e.createBindingHelper,e.setModuleDefaultHelper],(function(e){return e.name})))},e.asyncSuperHelper={name:\"typescript:async-super\",scoped:!0,text:t(a([\"\\n const \",\" = name => super[name];\"],[\"\\n const \",\" = name => super[name];\"]),\"_superIndex\")},e.advancedAsyncSuperHelper={name:\"typescript:advanced-async-super\",scoped:!0,text:t(a([\"\\n const \",\" = (function (geti, seti) {\\n const cache = Object.create(null);\\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\\n })(name => super[name], (name, value) => super[name] = value);\"],[\"\\n const \",\" = (function (geti, seti) {\\n const cache = Object.create(null);\\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\\n })(name => super[name], (name, value) => super[name] = value);\"]),\"_superIndex\")}}(u||(u={})),function(e){e.isNumericLiteral=function(e){return 8===e.kind},e.isBigIntLiteral=function(e){return 9===e.kind},e.isStringLiteral=function(e){return 10===e.kind},e.isJsxText=function(e){return 11===e.kind},e.isRegularExpressionLiteral=function(e){return 13===e.kind},e.isNoSubstitutionTemplateLiteral=function(e){return 14===e.kind},e.isTemplateHead=function(e){return 15===e.kind},e.isTemplateMiddle=function(e){return 16===e.kind},e.isTemplateTail=function(e){return 17===e.kind},e.isIdentifier=function(e){return 78===e.kind},e.isQualifiedName=function(e){return 157===e.kind},e.isComputedPropertyName=function(e){return 158===e.kind},e.isPrivateIdentifier=function(e){return 79===e.kind},e.isSuperKeyword=function(e){return 105===e.kind},e.isImportKeyword=function(e){return 99===e.kind},e.isCommaToken=function(e){return 27===e.kind},e.isQuestionToken=function(e){return 57===e.kind},e.isExclamationToken=function(e){return 53===e.kind},e.isTypeParameterDeclaration=function(e){return 159===e.kind},e.isParameter=function(e){return 160===e.kind},e.isDecorator=function(e){return 161===e.kind},e.isPropertySignature=function(e){return 162===e.kind},e.isPropertyDeclaration=function(e){return 163===e.kind},e.isMethodSignature=function(e){return 164===e.kind},e.isMethodDeclaration=function(e){return 165===e.kind},e.isConstructorDeclaration=function(e){return 166===e.kind},e.isGetAccessorDeclaration=function(e){return 167===e.kind},e.isSetAccessorDeclaration=function(e){return 168===e.kind},e.isCallSignatureDeclaration=function(e){return 169===e.kind},e.isConstructSignatureDeclaration=function(e){return 170===e.kind},e.isIndexSignatureDeclaration=function(e){return 171===e.kind},e.isTypePredicateNode=function(e){return 172===e.kind},e.isTypeReferenceNode=function(e){return 173===e.kind},e.isFunctionTypeNode=function(e){return 174===e.kind},e.isConstructorTypeNode=function(e){return 175===e.kind},e.isTypeQueryNode=function(e){return 176===e.kind},e.isTypeLiteralNode=function(e){return 177===e.kind},e.isArrayTypeNode=function(e){return 178===e.kind},e.isTupleTypeNode=function(e){return 179===e.kind},e.isNamedTupleMember=function(e){return 192===e.kind},e.isOptionalTypeNode=function(e){return 180===e.kind},e.isRestTypeNode=function(e){return 181===e.kind},e.isUnionTypeNode=function(e){return 182===e.kind},e.isIntersectionTypeNode=function(e){return 183===e.kind},e.isConditionalTypeNode=function(e){return 184===e.kind},e.isInferTypeNode=function(e){return 185===e.kind},e.isParenthesizedTypeNode=function(e){return 186===e.kind},e.isThisTypeNode=function(e){return 187===e.kind},e.isTypeOperatorNode=function(e){return 188===e.kind},e.isIndexedAccessTypeNode=function(e){return 189===e.kind},e.isMappedTypeNode=function(e){return 190===e.kind},e.isLiteralTypeNode=function(e){return 191===e.kind},e.isImportTypeNode=function(e){return 195===e.kind},e.isTemplateLiteralTypeSpan=function(e){return 194===e.kind},e.isTemplateLiteralTypeNode=function(e){return 193===e.kind},e.isObjectBindingPattern=function(e){return 196===e.kind},e.isArrayBindingPattern=function(e){return 197===e.kind},e.isBindingElement=function(e){return 198===e.kind},e.isArrayLiteralExpression=function(e){return 199===e.kind},e.isObjectLiteralExpression=function(e){return 200===e.kind},e.isPropertyAccessExpression=function(e){return 201===e.kind},e.isElementAccessExpression=function(e){return 202===e.kind},e.isCallExpression=function(e){return 203===e.kind},e.isNewExpression=function(e){return 204===e.kind},e.isTaggedTemplateExpression=function(e){return 205===e.kind},e.isTypeAssertionExpression=function(e){return 206===e.kind},e.isParenthesizedExpression=function(e){return 207===e.kind},e.isFunctionExpression=function(e){return 208===e.kind},e.isArrowFunction=function(e){return 209===e.kind},e.isDeleteExpression=function(e){return 210===e.kind},e.isTypeOfExpression=function(e){return 211===e.kind},e.isVoidExpression=function(e){return 212===e.kind},e.isAwaitExpression=function(e){return 213===e.kind},e.isPrefixUnaryExpression=function(e){return 214===e.kind},e.isPostfixUnaryExpression=function(e){return 215===e.kind},e.isBinaryExpression=function(e){return 216===e.kind},e.isConditionalExpression=function(e){return 217===e.kind},e.isTemplateExpression=function(e){return 218===e.kind},e.isYieldExpression=function(e){return 219===e.kind},e.isSpreadElement=function(e){return 220===e.kind},e.isClassExpression=function(e){return 221===e.kind},e.isOmittedExpression=function(e){return 222===e.kind},e.isExpressionWithTypeArguments=function(e){return 223===e.kind},e.isAsExpression=function(e){return 224===e.kind},e.isNonNullExpression=function(e){return 225===e.kind},e.isMetaProperty=function(e){return 226===e.kind},e.isSyntheticExpression=function(e){return 227===e.kind},e.isPartiallyEmittedExpression=function(e){return 336===e.kind},e.isCommaListExpression=function(e){return 337===e.kind},e.isTemplateSpan=function(e){return 228===e.kind},e.isSemicolonClassElement=function(e){return 229===e.kind},e.isBlock=function(e){return 230===e.kind},e.isVariableStatement=function(e){return 232===e.kind},e.isEmptyStatement=function(e){return 231===e.kind},e.isExpressionStatement=function(e){return 233===e.kind},e.isIfStatement=function(e){return 234===e.kind},e.isDoStatement=function(e){return 235===e.kind},e.isWhileStatement=function(e){return 236===e.kind},e.isForStatement=function(e){return 237===e.kind},e.isForInStatement=function(e){return 238===e.kind},e.isForOfStatement=function(e){return 239===e.kind},e.isContinueStatement=function(e){return 240===e.kind},e.isBreakStatement=function(e){return 241===e.kind},e.isReturnStatement=function(e){return 242===e.kind},e.isWithStatement=function(e){return 243===e.kind},e.isSwitchStatement=function(e){return 244===e.kind},e.isLabeledStatement=function(e){return 245===e.kind},e.isThrowStatement=function(e){return 246===e.kind},e.isTryStatement=function(e){return 247===e.kind},e.isDebuggerStatement=function(e){return 248===e.kind},e.isVariableDeclaration=function(e){return 249===e.kind},e.isVariableDeclarationList=function(e){return 250===e.kind},e.isFunctionDeclaration=function(e){return 251===e.kind},e.isClassDeclaration=function(e){return 252===e.kind},e.isInterfaceDeclaration=function(e){return 253===e.kind},e.isTypeAliasDeclaration=function(e){return 254===e.kind},e.isEnumDeclaration=function(e){return 255===e.kind},e.isModuleDeclaration=function(e){return 256===e.kind},e.isModuleBlock=function(e){return 257===e.kind},e.isCaseBlock=function(e){return 258===e.kind},e.isNamespaceExportDeclaration=function(e){return 259===e.kind},e.isImportEqualsDeclaration=function(e){return 260===e.kind},e.isImportDeclaration=function(e){return 261===e.kind},e.isImportClause=function(e){return 262===e.kind},e.isNamespaceImport=function(e){return 263===e.kind},e.isNamespaceExport=function(e){return 269===e.kind},e.isNamedImports=function(e){return 264===e.kind},e.isImportSpecifier=function(e){return 265===e.kind},e.isExportAssignment=function(e){return 266===e.kind},e.isExportDeclaration=function(e){return 267===e.kind},e.isNamedExports=function(e){return 268===e.kind},e.isExportSpecifier=function(e){return 270===e.kind},e.isMissingDeclaration=function(e){return 271===e.kind},e.isNotEmittedStatement=function(e){return 335===e.kind},e.isSyntheticReference=function(e){return 340===e.kind},e.isMergeDeclarationMarker=function(e){return 338===e.kind},e.isEndOfDeclarationMarker=function(e){return 339===e.kind},e.isExternalModuleReference=function(e){return 272===e.kind},e.isJsxElement=function(e){return 273===e.kind},e.isJsxSelfClosingElement=function(e){return 274===e.kind},e.isJsxOpeningElement=function(e){return 275===e.kind},e.isJsxClosingElement=function(e){return 276===e.kind},e.isJsxFragment=function(e){return 277===e.kind},e.isJsxOpeningFragment=function(e){return 278===e.kind},e.isJsxClosingFragment=function(e){return 279===e.kind},e.isJsxAttribute=function(e){return 280===e.kind},e.isJsxAttributes=function(e){return 281===e.kind},e.isJsxSpreadAttribute=function(e){return 282===e.kind},e.isJsxExpression=function(e){return 283===e.kind},e.isCaseClause=function(e){return 284===e.kind},e.isDefaultClause=function(e){return 285===e.kind},e.isHeritageClause=function(e){return 286===e.kind},e.isCatchClause=function(e){return 287===e.kind},e.isPropertyAssignment=function(e){return 288===e.kind},e.isShorthandPropertyAssignment=function(e){return 289===e.kind},e.isSpreadAssignment=function(e){return 290===e.kind},e.isEnumMember=function(e){return 291===e.kind},e.isUnparsedPrepend=function(e){return 293===e.kind},e.isSourceFile=function(e){return 297===e.kind},e.isBundle=function(e){return 298===e.kind},e.isUnparsedSource=function(e){return 299===e.kind},e.isJSDocTypeExpression=function(e){return 301===e.kind},e.isJSDocNameReference=function(e){return 302===e.kind},e.isJSDocAllType=function(e){return 303===e.kind},e.isJSDocUnknownType=function(e){return 304===e.kind},e.isJSDocNullableType=function(e){return 305===e.kind},e.isJSDocNonNullableType=function(e){return 306===e.kind},e.isJSDocOptionalType=function(e){return 307===e.kind},e.isJSDocFunctionType=function(e){return 308===e.kind},e.isJSDocVariadicType=function(e){return 309===e.kind},e.isJSDocNamepathType=function(e){return 310===e.kind},e.isJSDoc=function(e){return 311===e.kind},e.isJSDocTypeLiteral=function(e){return 312===e.kind},e.isJSDocSignature=function(e){return 313===e.kind},e.isJSDocAugmentsTag=function(e){return 315===e.kind},e.isJSDocAuthorTag=function(e){return 317===e.kind},e.isJSDocClassTag=function(e){return 319===e.kind},e.isJSDocCallbackTag=function(e){return 324===e.kind},e.isJSDocPublicTag=function(e){return 320===e.kind},e.isJSDocPrivateTag=function(e){return 321===e.kind},e.isJSDocProtectedTag=function(e){return 322===e.kind},e.isJSDocReadonlyTag=function(e){return 323===e.kind},e.isJSDocDeprecatedTag=function(e){return 318===e.kind},e.isJSDocEnumTag=function(e){return 325===e.kind},e.isJSDocParameterTag=function(e){return 326===e.kind},e.isJSDocReturnTag=function(e){return 327===e.kind},e.isJSDocThisTag=function(e){return 328===e.kind},e.isJSDocTypeTag=function(e){return 329===e.kind},e.isJSDocTemplateTag=function(e){return 330===e.kind},e.isJSDocTypedefTag=function(e){return 331===e.kind},e.isJSDocUnknownTag=function(e){return 314===e.kind},e.isJSDocPropertyTag=function(e){return 333===e.kind},e.isJSDocImplementsTag=function(e){return 316===e.kind},e.isSyntaxList=function(e){return 334===e.kind}}(u||(u={})),function(e){function t(t,r,n,i){if(e.isComputedPropertyName(n))return e.setTextRange(t.createElementAccessExpression(r,n.expression),i);var a=e.setTextRange(e.isIdentifierOrPrivateIdentifier(n)?t.createPropertyAccessExpression(r,n):t.createElementAccessExpression(r,n),n);return e.getOrCreateEmitNode(a).flags|=64,a}function n(t,r){var n=e.parseNodeFactory.createIdentifier(t||\"React\");return e.setParent(n,e.getParseTreeNode(r)),n}function i(t,r,a){if(e.isQualifiedName(r)){var o=i(t,r.left,a),s=t.createIdentifier(e.idText(r.right));return s.escapedText=r.right.escapedText,t.createPropertyAccessExpression(o,s)}return n(e.idText(r),a)}function a(e,t,r,a){return t?i(e,t,a):e.createPropertyAccessExpression(n(r,a),\"createElement\")}function o(t,r){return e.isIdentifier(r)?t.createStringLiteralFromNode(r):e.isComputedPropertyName(r)?e.setParent(e.setTextRange(t.cloneNode(r.expression),r.expression),r.expression.parent):e.setParent(e.setTextRange(t.cloneNode(r),r),r.parent)}function s(t){return e.isStringLiteral(t.expression)&&\"use strict\"===t.expression.text}function c(e,t){switch(void 0===t&&(t=15),e.kind){case 207:return 0!=(1&t);case 206:case 224:return 0!=(2&t);case 225:return 0!=(4&t);case 336:return 0!=(8&t)}return!1}function u(e,t){for(void 0===t&&(t=15);c(e,t);)e=e.expression;return e}function l(t){return e.setStartsOnNewLine(t,!0)}function d(t){var r=e.getOriginalNode(t,e.isSourceFile),n=r&&r.emitNode;return n&&n.externalHelpersModuleName}function _(t,r,n,i,a){if(n.importHelpers&&e.isEffectiveExternalModule(r,n)){var o=d(r);if(o)return o;var s=e.getEmitModuleKind(n),c=(i||n.esModuleInterop&&a)&&s!==e.ModuleKind.System&&s0)if(i||s.push(t.createNull()),a.length>1)for(var c=0,u=a;c0)if(c.length>1)for(var p=0,f=c;p=e.ModuleKind.ES2015&&u<=e.ModuleKind.ESNext){var l=e.getEmitHelpers(n);if(l){for(var d=[],p=0,f=l;pt.checkJsDirective.pos)&&(t.checkJsDirective={enabled:\"ts-check\"===i,end:e.range.end,pos:e.range.pos})}));break;case\"jsx\":case\"jsxfrag\":case\"jsximportsource\":case\"jsxruntime\":return;default:e.Debug.fail(\"Unhandled pragma kind\")}}))}!function(e){e[e.None=0]=\"None\",e[e.Yield=1]=\"Yield\",e[e.Await=2]=\"Await\",e[e.Type=4]=\"Type\",e[e.IgnoreMissingOpenBrace=16]=\"IgnoreMissingOpenBrace\",e[e.JSDoc=32]=\"JSDoc\"}(t||(t={})),function(e){e[e.TryParse=0]=\"TryParse\",e[e.Lookahead=1]=\"Lookahead\",e[e.Reparse=2]=\"Reparse\"}(r||(r={})),e.parseBaseNodeFactory={createBaseSourceFileNode:function(t){return new(s||(s=e.objectAllocator.getSourceFileConstructor()))(t,-1,-1)},createBaseIdentifierNode:function(t){return new(a||(a=e.objectAllocator.getIdentifierConstructor()))(t,-1,-1)},createBasePrivateIdentifierNode:function(t){return new(o||(o=e.objectAllocator.getPrivateIdentifierConstructor()))(t,-1,-1)},createBaseTokenNode:function(t){return new(i||(i=e.objectAllocator.getTokenConstructor()))(t,-1,-1)},createBaseNode:function(t){return new(n||(n=e.objectAllocator.getNodeConstructor()))(t,-1,-1)}},e.parseNodeFactory=e.createNodeFactory(1,e.parseBaseNodeFactory),e.isJSDocLikeText=_,e.forEachChild=p,e.forEachChildRecursively=function(t,r,n){for(var i=[t];i.length;){var a=i.pop(),o=c(a,s(a));if(o)return o}return;function s(e){var t=[];return p(e,r,r),t;function r(e){t.unshift(e)}}function c(t,a){for(var o=0,s=a;o=0;u--){var l=c[u];if(d=r(l,t)){if(\"skip\"===d)continue;return d}i.push(l)}}else{var d;if(i.push(c),d=r(c,t)){if(\"skip\"===d)continue;return d}}}}},e.createSourceFile=function(t,r,n,i,a){void 0===i&&(i=!1);var o,s=[\"parse\",\"createSourceFile\",{path:t}];return e.tracing.begin.apply(e.tracing,s),e.performance.mark(\"beforeParse\"),e.perfLogger.logStartParseSourceFile(t),o=100===n?c.parseSourceFile(t,r,n,void 0,i,6):c.parseSourceFile(t,r,n,void 0,i,a),e.perfLogger.logStopParseSourceFile(),e.performance.mark(\"afterParse\"),e.performance.measure(\"Parse\",\"beforeParse\",\"afterParse\"),e.tracing.end.apply(e.tracing,s),o},e.parseIsolatedEntityName=function(e,t){return c.parseIsolatedEntityName(e,t)},e.parseJsonText=function(e,t){return c.parseJsonText(e,t)},e.isExternalModule=f,e.updateSourceFile=function(e,t,r,n){void 0===n&&(n=!1);var i=u.updateSourceFile(e,t,r,n);return i.flags|=3145728&e.flags,i},e.parseIsolatedJSDocComment=function(e,t,r){var n=c.JSDocParser.parseIsolatedJSDocComment(e,t,r);return n&&n.jsDoc&&c.fixupParentReferences(n.jsDoc),n},e.parseJSDocTypeExpressionForTests=function(e,t,r){return c.JSDocParser.parseJSDocTypeExpressionForTests(e,t,r)},function(t){var r,n,i,a,o,s=e.createScanner(99,!0),c=20480;function l(e){return A++,e}var d,v,h,D,x,b,S,T,C,k,A,F,N,P,w,I,O,M={createBaseSourceFileNode:function(e){return l(new o(e,0,0))},createBaseIdentifierNode:function(e){return l(new i(e,0,0))},createBasePrivateIdentifierNode:function(e){return l(new a(e,0,0))},createBaseTokenNode:function(e){return l(new n(e,0,0))},createBaseNode:function(e){return l(new r(e,0,0))}},L=e.createNodeFactory(11,M),R=!0,B=!1;function j(t,r,n,i,a){void 0===n&&(n=2),void 0===a&&(a=!1),J(t,r,n,i,6),v=O,xe();var o,s,c=me();if(1===ve())o=ze([],c,c),s=je();else{var u=void 0;switch(ve()){case 22:u=Sn();break;case 109:case 94:case 103:u=je();break;case 40:u=Fe((function(){return 8===xe()&&58!==xe()}))?Qr():Tn();break;case 8:case 10:if(Fe((function(){return 58!==xe()}))){u=It();break}default:u=Tn()}var l=L.createExpressionStatement(u);Ue(l,c),o=ze([l],c),s=Be(1,e.Diagnostics.Unexpected_token)}var d=X(t,2,6,!1,o,s,v);a&&Y(d),d.nodeCount=A,d.identifierCount=P,d.identifiers=F,d.parseDiagnostics=e.attachFileToDiagnostics(S,d),T&&(d.jsDocDiagnostics=e.attachFileToDiagnostics(T,d));var _=d;return K(),_}function J(t,c,u,l,_){switch(r=e.objectAllocator.getNodeConstructor(),n=e.objectAllocator.getTokenConstructor(),i=e.objectAllocator.getIdentifierConstructor(),a=e.objectAllocator.getPrivateIdentifierConstructor(),o=e.objectAllocator.getSourceFileConstructor(),d=e.normalizePath(t),h=c,D=u,C=l,x=_,b=e.getLanguageVariant(_),S=[],w=0,F=new e.Map,N=new e.Map,P=0,A=0,v=0,R=!0,x){case 1:case 2:O=131072;break;case 6:O=33685504;break;default:O=0}B=!1,s.setText(h),s.setOnError(ge),s.setScriptTarget(D),s.setLanguageVariant(b)}function K(){s.clearCommentDirectives(),s.setText(\"\"),s.setOnError(void 0),h=void 0,D=void 0,C=void 0,x=void 0,b=void 0,v=0,S=void 0,T=void 0,w=0,F=void 0,I=void 0,R=!0}function z(t,r,n){var i=g(d);i&&(O|=8388608),v=O,xe();var a=mt(0,Un);e.Debug.assert(1===ve());var o=G(je()),c=X(d,t,n,i,a,o,v);return m(c,h),y(c,(function(t,r,n){S.push(e.createDetachedDiagnostic(d,t,r,n))})),c.commentDirectives=s.getCommentDirectives(),c.nodeCount=A,c.identifierCount=P,c.identifiers=F,c.parseDiagnostics=e.attachFileToDiagnostics(S,c),T&&(c.jsDocDiagnostics=e.attachFileToDiagnostics(T,c)),r&&Y(c),c}function U(e,t){return t?G(e):e}t.parseSourceFile=function(t,r,n,i,a,o){if(void 0===a&&(a=!1),6===(o=e.ensureScriptKind(t,o))){var s=j(t,r,n,i,a);return e.convertToObjectWorker(s,s.parseDiagnostics,!1,void 0,void 0),s.referencedFiles=e.emptyArray,s.typeReferenceDirectives=e.emptyArray,s.libReferenceDirectives=e.emptyArray,s.amdDependencies=e.emptyArray,s.hasNoDefaultLib=!1,s.pragmas=e.emptyMap,s}J(t,r,n,i,o);var c=z(n,a,o);return K(),c},t.parseIsolatedEntityName=function(e,t){J(\"\",e,t,void 0,1),xe();var r=Tt(!0),n=1===ve()&&!S.length;return K(),n?r:void 0},t.parseJsonText=j;var V,q,W,H=!1;function G(t){e.Debug.assert(!t.jsDoc);var r=e.mapDefined(e.getJSDocCommentRanges(t,h),(function(e){return W.parseJSDocComment(t,e.pos,e.end-e.pos)}));return r.length&&(t.jsDoc=r),H&&(H=!1,t.flags|=134217728),t}function Y(t){e.setParentRecursive(t,!0)}function X(t,r,n,i,a,o,c){var l=L.createSourceFile(a,o,c);return e.setTextRangePosWidth(l,0,h.length),function(t){t.externalModuleIndicator=e.forEach(t.statements,Li)||function(e){return 2097152&e.flags?Ri(e):void 0}(t)}(l),!i&&f(l)&&8388608&l.transformFlags&&(l=function(t){var r=C,n=u.createSyntaxCursor(t);C={currentNode:function(e){var t=n.currentNode(e);return R&&t&&p(t)&&(t.intersectsChange=!0),t}};var i=[],a=S;S=[];for(var o=0,c=f(t.statements,0),l=function(){var r=t.statements[o],n=t.statements[c];e.addRange(i,t.statements,o,c),o=g(t.statements,c);var u=e.findIndex(a,(function(e){return e.start>=r.pos})),l=u>=0?e.findIndex(a,(function(e){return e.start>=n.pos}),u):-1;u>=0&&e.addRange(S,a,u,l>=0?l:void 0),Ae((function(){var e=O;for(O|=32768,s.setTextPos(n.pos),xe();1!==ve();){var r=s.getStartPos(),a=yt(0,Un);if(i.push(a),r===s.getStartPos()&&xe(),o>=0){var c=t.statements[o];if(a.end===c.pos)break;a.end>c.pos&&(o=g(t.statements,o+1))}}O=e}),2),c=o>=0?f(t.statements,o):-1};-1!==c;)l();if(o>=0){var d=t.statements[o];e.addRange(i,t.statements,o);var _=e.findIndex(a,(function(e){return e.start>=d.pos}));_>=0&&e.addRange(S,a,_)}return C=r,L.updateSourceFile(t,e.setTextRange(L.createNodeArray(i),t.statements));function p(e){return!(32768&e.flags||!(8388608&e.transformFlags))}function f(e,t){for(var r=t;r115}function we(){return 78===ve()||(124!==ve()||!se())&&((130!==ve()||!le())&&ve()>115)}function Ie(t,r,n){return void 0===n&&(n=!0),ve()===t?(n&&xe(),!0):(r?de(r):de(e.Diagnostics._0_expected,e.tokenToString(t)),!1)}function Oe(t){return ve()===t?(be(),!0):(de(e.Diagnostics._0_expected,e.tokenToString(t)),!1)}function Me(e){return ve()===e&&(xe(),!0)}function Le(e){if(ve()===e)return je()}function Re(e){if(ve()===e)return t=me(),r=ve(),be(),Ue(L.createToken(r),t);var t,r}function Be(t,r,n){return Le(t)||Ve(t,!1,r||e.Diagnostics._0_expected,n||e.tokenToString(t))}function je(){var e=me(),t=ve();return xe(),Ue(L.createToken(t),e)}function Je(){return 26===ve()||(19===ve()||1===ve()||s.hasPrecedingLineBreak())}function Ke(){return Je()?(26===ve()&&xe(),!0):Ie(26)}function ze(t,r,n,i){var a=L.createNodeArray(t,i);return e.setTextRangePosEnd(a,r,null!=n?n:s.getStartPos()),a}function Ue(t,r,n){return e.setTextRangePosEnd(t,r,null!=n?n:s.getStartPos()),O&&(t.flags|=O),B&&(B=!1,t.flags|=65536),t}function Ve(t,r,n,i){r?_e(s.getStartPos(),0,n,i):n&&de(n,i);var a=me();return Ue(78===t?L.createIdentifier(\"\",void 0,void 0):e.isTemplateLiteralKind(t)?L.createTemplateLiteralLikeNode(t,\"\",\"\",void 0):8===t?L.createNumericLiteral(\"\",void 0):10===t?L.createStringLiteral(\"\",void 0):271===t?L.createMissingDeclaration():L.createToken(t),a)}function qe(e){var t=F.get(e);return void 0===t&&F.set(e,t=e),t}function We(t,r,n){if(P++,t){var i=me(),a=ve(),o=qe(s.getTokenValue());return he(),Ue(L.createIdentifier(o,void 0,a),i)}if(79===ve())return de(n||e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),We(!0);var c=1===ve(),u=s.isReservedWord(),l=s.getTokenText(),d=u?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:e.Diagnostics.Identifier_expected;return Ve(78,c,r||d,l)}function He(e){return We(Pe(),void 0,e)}function Ge(e,t){return We(we(),e,t)}function Ye(t){return We(e.tokenIsIdentifierOrKeyword(ve()),t)}function Xe(){return e.tokenIsIdentifierOrKeyword(ve())||10===ve()||8===ve()}function Qe(e){if(10===ve()||8===ve()){var t=It();return t.text=qe(t.text),t}return e&&22===ve()?function(){var e=me();Ie(22);var t=ie(Br);return Ie(23),Ue(L.createComputedPropertyName(t),e)}():79===ve()?Ze():Ye()}function $e(){return Qe(!0)}function Ze(){var e,t,r=me(),n=L.createPrivateIdentifier((e=s.getTokenText(),void 0===(t=N.get(e))&&N.set(e,t=e),t));return xe(),Ue(n,r)}function et(e){return ve()===e&&Ne(rt)}function tt(){return xe(),!s.hasPrecedingLineBreak()&&at()}function rt(){switch(ve()){case 84:return 91===xe();case 92:return xe(),87===ve()?Fe(ot):149===ve()?Fe(it):nt();case 87:return ot();case 123:case 134:case 146:return xe(),at();default:return tt()}}function nt(){return 41!==ve()&&126!==ve()&&18!==ve()&&at()}function it(){return xe(),nt()}function at(){return 22===ve()||18===ve()||41===ve()||25===ve()||Xe()}function ot(){return xe(),83===ve()||97===ve()||117===ve()||125===ve()&&Fe(Ln)||129===ve()&&Fe(Rn)}function st(t,r){if(vt(t))return!0;switch(t){case 0:case 1:case 3:return!(26===ve()&&r)&&Kn();case 2:return 81===ve()||87===ve();case 4:return Fe(nr);case 5:return Fe(li)||26===ve()&&!r;case 6:return 22===ve()||Xe();case 12:switch(ve()){case 22:case 41:case 25:case 24:return!0;default:return Xe()}case 18:return Xe();case 9:return 22===ve()||25===ve()||Xe();case 7:return 18===ve()?Fe(ct):r?we()&&!_t():Lr()&&!_t();case 8:return Qn();case 10:return 27===ve()||25===ve()||Qn();case 19:return we();case 15:switch(ve()){case 27:case 24:return!0}case 11:return 25===ve()||Rr();case 16:return qt(!1);case 17:return qt(!0);case 20:case 21:return 27===ve()||br();case 22:return Ei();case 23:return e.tokenIsIdentifierOrKeyword(ve());case 13:return e.tokenIsIdentifierOrKeyword(ve())||18===ve();case 14:return!0}return e.Debug.fail(\"Non-exhaustive case in 'isListElement'.\")}function ct(){if(e.Debug.assert(18===ve()),19===xe()){var t=xe();return 27===t||18===t||93===t||116===t}return!0}function ut(){return xe(),we()}function lt(){return xe(),e.tokenIsIdentifierOrKeyword(ve())}function dt(){return xe(),e.tokenIsIdentifierOrKeywordOrGreaterThan(ve())}function _t(){return(116===ve()||93===ve())&&Fe(pt)}function pt(){return xe(),Rr()}function ft(){return xe(),br()}function gt(e){if(1===ve())return!0;switch(e){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:return 19===ve();case 3:return 19===ve()||81===ve()||87===ve();case 7:return 18===ve()||93===ve()||116===ve();case 8:return function(){if(Je())return!0;if(Gr(ve()))return!0;if(38===ve())return!0;return!1}();case 19:return 31===ve()||20===ve()||18===ve()||93===ve()||116===ve();case 11:return 21===ve()||26===ve();case 15:case 21:case 10:return 23===ve();case 17:case 16:case 18:return 21===ve()||23===ve();case 20:return 27!==ve();case 22:return 18===ve()||19===ve();case 13:return 31===ve()||43===ve();case 14:return 29===ve()&&Fe(Ni);default:return!1}}function mt(e,t){var r=w;w|=1<=0)}function bt(t){return 6===t?e.Diagnostics.An_enum_member_name_must_be_followed_by_a_or:void 0}function St(){var e=ze([],me());return e.isMissingList=!0,e}function Et(e,t,r,n){if(Ie(r)){var i=xt(e,t);return Ie(n),i}return St()}function Tt(e,t){for(var r=me(),n=e?Ye(t):Ge(t),i=me();Me(24);){if(29===ve()){n.jsdocDotPos=i;break}i=me(),n=Ue(L.createQualifiedName(n,kt(e,!1)),r)}return n}function Ct(e,t){return Ue(L.createQualifiedName(e,t),e.pos)}function kt(t,r){if(s.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(ve())&&Fe(Mn))return Ve(78,!0,e.Diagnostics.Identifier_expected);if(79===ve()){var n=Ze();return r?n:Ve(78,!0,e.Diagnostics.Identifier_expected)}return t?Ye():Ge()}function At(e){var t=me();return Ue(L.createTemplateExpression(Ot(e),function(e){var t,r=me(),n=[];do{t=wt(e),n.push(t)}while(16===t.literal.kind);return ze(n,r)}(e)),t)}function Ft(){var e=me();return Ue(L.createTemplateLiteralType(Ot(!1),function(){var e,t=me(),r=[];do{e=Nt(),r.push(e)}while(16===e.literal.kind);return ze(r,t)}()),e)}function Nt(){var e=me();return Ue(L.createTemplateLiteralTypeSpan(Ir(),Pt(!1)),e)}function Pt(t){return 19===ve()?(function(e){k=s.reScanTemplateToken(e)}(t),r=Mt(ve()),e.Debug.assert(16===r.kind||17===r.kind,\"Template fragment has wrong token kind\"),r):Be(17,e.Diagnostics._0_expected,e.tokenToString(19));var r}function wt(e){var t=me();return Ue(L.createTemplateSpan(ie(Br),Pt(e)),t)}function It(){return Mt(ve())}function Ot(t){t&&Ee();var r=Mt(ve());return e.Debug.assert(15===r.kind,\"Template head has wrong token kind\"),r}function Mt(t){var r=me(),n=e.isTemplateLiteralKind(t)?L.createTemplateLiteralLikeNode(t,s.getTokenValue(),function(e){var t=14===e||17===e,r=s.getTokenText();return r.substring(1,r.length-(s.isUnterminated()?0:t?1:2))}(t),2048&s.getTokenFlags()):8===t?L.createNumericLiteral(s.getTokenValue(),s.getNumericLiteralFlags()):10===t?L.createStringLiteral(s.getTokenValue(),void 0,s.hasExtendedUnicodeEscape()):e.isLiteralKind(t)?L.createLiteralLikeNode(t,s.getTokenValue()):e.Debug.fail();return s.hasExtendedUnicodeEscape()&&(n.hasExtendedUnicodeEscape=!0),s.isUnterminated()&&(n.isUnterminated=!0),xe(),Ue(n,r)}function Lt(){return Tt(!0,e.Diagnostics.Type_expected)}function Rt(){if(!s.hasPrecedingLineBreak()&&29===Te())return Et(20,Ir,29,31)}function Bt(){var e=me();return Ue(L.createTypeReferenceNode(Lt(),Rt()),e)}function jt(t){switch(t.kind){case 173:return e.nodeIsMissing(t.typeName);case 174:case 175:var r=t,n=r.parameters,i=r.type;return!!n.isMissingList||jt(i);case 186:return jt(t.type);default:return!1}}function Jt(){var e=me();return xe(),Ue(L.createThisTypeNode(),e)}function Kt(){var e,t=me();return 107!==ve()&&102!==ve()||(e=Ye(),Ie(58)),Ue(L.createParameterDeclaration(void 0,void 0,void 0,e,void 0,zt(),void 0),t)}function zt(){s.setInJSDocType(!0);var e=me();if(Me(139)){var t=L.createJSDocNamepathType(void 0);e:for(;;)switch(ve()){case 19:case 1:case 27:case 5:break e;default:be()}return s.setInJSDocType(!1),Ue(t,e)}var r=Me(25),n=Pr();return s.setInJSDocType(!1),r&&(n=Ue(L.createJSDocVariadicType(n),e)),62===ve()?(xe(),Ue(L.createJSDocOptionalType(n),e)):n}function Ut(){var e,t,r=me(),n=Ge();Me(93)&&(br()||!Rr()?e=Ir():t=$r());var i=Me(62)?Ir():void 0,a=L.createTypeParameterDeclaration(n,e,i);return a.expression=t,Ue(a,r)}function Vt(){if(29===ve())return Et(19,Ut,29,31)}function qt(t){return 25===ve()||Qn()||e.isModifierKind(ve())||59===ve()||br(!t)}function Wt(){return Gt(!0)}function Ht(){return Gt(!1)}function Gt(t){var r=me(),n=ye();if(107===ve())return U(Ue(L.createParameterDeclaration(void 0,void 0,void 0,We(!0),void 0,Mr(),void 0),r),n);var i=t?ae(pi):pi(),a=R;R=!1;var o=gi(),s=U(Ue(L.createParameterDeclaration(i,o,Le(25),function(t){var r=$n(e.Diagnostics.Private_identifiers_cannot_be_used_as_parameters);return 0===e.getFullWidth(r)&&!e.some(t)&&e.isModifierKind(ve())&&xe(),r}(o),Le(57),Mr(),jr()),r),n);return R=a,s}function Yt(t,r){if(function(t,r){if(38===t)return Ie(t),!0;if(Me(58))return!0;if(r&&38===ve())return de(e.Diagnostics._0_expected,e.tokenToString(58)),xe(),!0;return!1}(t,r))return Pr()}function Xt(e){var t=se(),r=le();Z(!!(1&e)),te(!!(2&e));var n=32&e?xt(17,Kt):xt(16,r?Wt:Ht);return Z(t),te(r),n}function Qt(e){if(!Ie(20))return St();var t=Xt(e);return Ie(21),t}function $t(){Me(27)||Ke()}function Zt(e){var t=me(),r=ye();170===e&&Ie(102);var n=Vt(),i=Qt(4),a=Yt(58,!0);return $t(),U(Ue(169===e?L.createCallSignature(n,i,a):L.createConstructSignature(n,i,a),t),r)}function er(){return 22===ve()&&Fe(tr)}function tr(){if(xe(),25===ve()||23===ve())return!0;if(e.isModifierKind(ve())){if(xe(),we())return!0}else{if(!we())return!1;xe()}return 58===ve()||27===ve()||57===ve()&&(xe(),58===ve()||27===ve()||23===ve())}function rr(e,t,r,n){var i=Et(16,Ht,22,23),a=Mr();return $t(),U(Ue(L.createIndexSignature(r,n,i,a),e),t)}function nr(){if(20===ve()||29===ve())return!0;for(var t=!1;e.isModifierKind(ve());)t=!0,xe();return 22===ve()||(Xe()&&(t=!0,xe()),!!t&&(20===ve()||29===ve()||57===ve()||58===ve()||27===ve()||Je()))}function ir(){if(20===ve()||29===ve())return Zt(169);if(102===ve()&&Fe(ar))return Zt(170);var e=me(),t=ye(),r=gi();return er()?rr(e,t,void 0,r):function(e,t,r){var n,i=$e(),a=Le(57);if(20===ve()||29===ve()){var o=Vt(),s=Qt(4),c=Yt(58,!0);n=L.createMethodSignature(r,i,a,o,s,c)}else c=Mr(),n=L.createPropertySignature(r,i,a,c),62===ve()&&(n.initializer=jr());return $t(),U(Ue(n,e),t)}(e,t,r)}function ar(){return xe(),20===ve()||29===ve()}function or(){return 24===xe()}function sr(){switch(xe()){case 20:case 29:case 24:return!0}return!1}function cr(){var e;return Ie(18)?(e=mt(4,ir),Ie(19)):e=St(),e}function ur(){return xe(),39===ve()||40===ve()?142===xe():(142===ve()&&xe(),22===ve()&&ut()&&100===xe())}function lr(){var e,t=me();Ie(18),142!==ve()&&39!==ve()&&40!==ve()||142!==(e=je()).kind&&Ie(142),Ie(22);var r,n=function(){var e=me(),t=Ye();Ie(100);var r=Ir();return Ue(L.createTypeParameterDeclaration(t,r,void 0),e)}(),i=Me(126)?Ir():void 0;Ie(23),57!==ve()&&39!==ve()&&40!==ve()||57!==(r=je()).kind&&Ie(57);var a=Mr();return Ke(),Ie(19),Ue(L.createMappedTypeNode(e,n,i,r,a),t)}function dr(){var t=me();if(Me(25))return Ue(L.createRestTypeNode(Ir()),t);var r=Ir();if(e.isJSDocNullableType(r)&&r.pos===r.type.pos){var n=L.createOptionalTypeNode(r.type);return e.setTextRange(n,r),n.flags=r.flags,n}return r}function _r(){return 58===xe()||57===ve()&&58===xe()}function pr(){return 25===ve()?e.tokenIsIdentifierOrKeyword(xe())&&_r():e.tokenIsIdentifierOrKeyword(ve())&&_r()}function fr(){if(Fe(pr)){var e=me(),t=ye(),r=Le(25),n=Ye(),i=Le(57);Ie(58);var a=dr();return U(Ue(L.createNamedTupleMember(r,n,i,a),e),t)}return dr()}function gr(){var e=me(),t=ye(),r=Me(102),n=Vt(),i=Qt(4),a=Yt(38,!1);return U(Ue(r?L.createConstructorTypeNode(n,i,a):L.createFunctionTypeNode(n,i,a),e),t)}function mr(){var e=je();return 24===ve()?void 0:e}function yr(e){var t=me();e&&xe();var r=109===ve()||94===ve()||103===ve()?je():Mt(ve());return e&&(r=Ue(L.createPrefixUnaryExpression(40,r),t)),Ue(L.createLiteralTypeNode(r),t)}function vr(){return xe(),99===ve()}function hr(){v|=1048576;var e=me(),t=Me(111);Ie(99),Ie(20);var r=Ir();Ie(21);var n=Me(24)?Lt():void 0,i=Rt();return Ue(L.createImportTypeNode(r,n,i,t),e)}function Dr(){return xe(),8===ve()||9===ve()}function xr(){switch(ve()){case 128:case 152:case 147:case 144:case 155:case 148:case 131:case 150:case 141:case 145:return Ne(mr)||Bt();case 65:s.reScanAsteriskEqualsToken();case 41:return r=me(),xe(),Ue(L.createJSDocAllType(),r);case 60:s.reScanQuestionToken();case 57:return function(){var e=me();return xe(),27===ve()||19===ve()||21===ve()||31===ve()||62===ve()||51===ve()?Ue(L.createJSDocUnknownType(),e):Ue(L.createJSDocNullableType(Ir()),e)}();case 97:return function(){var e=me(),t=ye();if(Fe(Fi)){xe();var r=Qt(36),n=Yt(58,!1);return U(Ue(L.createJSDocFunctionType(r,n),e),t)}return Ue(L.createTypeReferenceNode(Ye(),void 0),e)}();case 53:return function(){var e=me();return xe(),Ue(L.createJSDocNonNullableType(xr()),e)}();case 14:case 10:case 8:case 9:case 109:case 94:case 103:return yr();case 40:return Fe(Dr)?yr(!0):Bt();case 113:return je();case 107:var e=Jt();return 137!==ve()||s.hasPrecedingLineBreak()?e:(t=e,xe(),Ue(L.createTypePredicateNode(void 0,t,Ir()),t.pos));case 111:return Fe(vr)?hr():function(){var e=me();return Ie(111),Ue(L.createTypeQueryNode(Tt(!0)),e)}();case 18:return Fe(ur)?lr():function(){var e=me();return Ue(L.createTypeLiteralNode(cr()),e)}();case 22:return function(){var e=me();return Ue(L.createTupleTypeNode(Et(21,fr,22,23)),e)}();case 20:return function(){var e=me();Ie(20);var t=Ir();return Ie(21),Ue(L.createParenthesizedType(t),e)}();case 99:return hr();case 127:return Fe(Mn)?function(){var e=me(),t=Be(127),r=107===ve()?Jt():Ge(),n=Me(137)?Ir():void 0;return Ue(L.createTypePredicateNode(t,r,n),e)}():Bt();case 15:return Ft();default:return Bt()}var t,r}function br(e){switch(ve()){case 128:case 152:case 147:case 144:case 155:case 131:case 142:case 148:case 151:case 113:case 150:case 103:case 107:case 111:case 141:case 18:case 22:case 29:case 51:case 50:case 102:case 10:case 8:case 9:case 109:case 94:case 145:case 41:case 57:case 53:case 25:case 135:case 99:case 127:case 14:case 15:return!0;case 97:return!e;case 40:return!e&&Fe(Dr);case 20:return!e&&Fe(Sr);default:return we()}}function Sr(){return xe(),21===ve()||qt(!1)||br()}function Er(){var e=me();return Ie(135),Ue(L.createInferTypeNode(function(){var e=me();return Ue(L.createTypeParameterDeclaration(Ge(),void 0,void 0),e)}()),e)}function Tr(){var e=ve();switch(e){case 138:case 151:case 142:return function(e){var t=me();return Ie(e),Ue(L.createTypeOperatorNode(e,Tr()),t)}(e);case 135:return Er()}return function(){for(var e=me(),t=xr();!s.hasPrecedingLineBreak();)switch(ve()){case 53:xe(),t=Ue(L.createJSDocNonNullableType(t),e);break;case 57:if(Fe(ft))return t;xe(),t=Ue(L.createJSDocNullableType(t),e);break;case 22:if(Ie(22),br()){var r=Ir();Ie(23),t=Ue(L.createIndexedAccessTypeNode(t,r),e)}else Ie(23),t=Ue(L.createArrayTypeNode(t),e);break;default:return t}return t}()}function Cr(t){if(Fr()){var r=gr();return fe(r,e.isFunctionTypeNode(r)?t?e.Diagnostics.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:e.Diagnostics.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t?e.Diagnostics.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:e.Diagnostics.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type),r}}function kr(e,t,r){var n=me(),i=51===e,a=Me(e),o=a&&Cr(i)||t();if(ve()===e||a){for(var s=[o];Me(e);)s.push(Cr(i)||t());o=Ue(r(ze(s,n)),n)}return o}function Ar(){return kr(50,Tr,L.createIntersectionTypeNode)}function Fr(){return 29===ve()||(!(20!==ve()||!Fe(Nr))||102===ve())}function Nr(){if(xe(),21===ve()||25===ve())return!0;if(function(){if(e.isModifierKind(ve())&&gi(),we()||107===ve())return xe(),!0;if(22===ve()||18===ve()){var t=S.length;return $n(),t===S.length}return!1}()){if(58===ve()||27===ve()||57===ve()||62===ve())return!0;if(21===ve()&&(xe(),38===ve()))return!0}return!1}function Pr(){var e=me(),t=we()&&Ne(wr),r=Ir();return t?Ue(L.createTypePredicateNode(void 0,t,r),e):r}function wr(){var e=Ge();if(137===ve()&&!s.hasPrecedingLineBreak())return xe(),e}function Ir(){return re(40960,Or)}function Or(e){if(Fr())return gr();var t=me(),r=kr(51,Ar,L.createUnionTypeNode);if(!e&&!s.hasPrecedingLineBreak()&&Me(93)){var n=Or(!0);Ie(57);var i=Or();Ie(58);var a=Or();return Ue(L.createConditionalTypeNode(r,n,i,a),t)}return r}function Mr(){return Me(58)?Ir():void 0}function Lr(){switch(ve()){case 107:case 105:case 103:case 109:case 94:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 97:case 83:case 102:case 43:case 67:case 78:return!0;case 99:return Fe(sr);default:return we()}}function Rr(){if(Lr())return!0;switch(ve()){case 39:case 40:case 54:case 53:case 88:case 111:case 113:case 45:case 46:case 29:case 130:case 124:case 79:return!0;default:return!!function(){if(ce()&&100===ve())return!1;return e.getBinaryOperatorPrecedence(ve())>0}()||we()}}function Br(){var e=ue();e&&ee(!1);for(var t,r=me(),n=Jr();t=Le(27);)n=Xr(n,t,Jr(),r);return e&&ee(!0),n}function jr(){return Me(62)?Jr():void 0}function Jr(){if(function(){if(124===ve())return!!se()||Fe(Bn);return!1}())return function(){var e=me();return xe(),s.hasPrecedingLineBreak()||41!==ve()&&!Rr()?Ue(L.createYieldExpression(void 0,void 0),e):Ue(L.createYieldExpression(Le(41),Jr()),e)}();var t=function(){var e=function(){if(20===ve()||29===ve()||129===ve())return Fe(zr);if(38===ve())return 1;return 0}();if(0===e)return;return 1===e?qr(!0):Ne(Ur)}()||function(){if(129===ve()&&1===Fe(Vr)){var e=me(),t=mi();return Kr(e,Hr(0),t)}return}();if(t)return t;var r=me(),n=Hr(0);return 78===n.kind&&38===ve()?Kr(r,n,void 0):e.isLeftHandSideExpression(n)&&e.isAssignmentOperator(Se())?Xr(n,je(),Jr(),r):function(t,r){var n,i=Le(57);if(!i)return t;return Ue(L.createConditionalExpression(t,i,re(c,Jr),n=Be(58),e.nodeIsPresent(n)?Jr():Ve(78,!1,e.Diagnostics._0_expected,e.tokenToString(58))),r)}(n,r)}function Kr(t,r,n){e.Debug.assert(38===ve(),\"parseSimpleArrowFunctionExpression should only have been called if we had a =>\");var i=L.createParameterDeclaration(void 0,void 0,void 0,r,void 0,void 0,void 0);Ue(i,r.pos);var a=ze([i],i.pos,i.end),o=Be(38),s=Wr(!!n);return G(Ue(L.createArrowFunction(n,void 0,a,void 0,o,s),t))}function zr(){if(129===ve()){if(xe(),s.hasPrecedingLineBreak())return 0;if(20!==ve()&&29!==ve())return 0}var t=ve(),r=xe();if(20===t){if(21===r)switch(xe()){case 38:case 58:case 18:return 1;default:return 0}if(22===r||18===r)return 2;if(25===r)return 1;if(e.isModifierKind(r)&&129!==r&&Fe(ut))return 1;if(!we()&&107!==r)return 0;switch(xe()){case 58:return 1;case 57:return xe(),58===ve()||27===ve()||62===ve()||21===ve()?1:0;case 27:case 62:case 21:return 2}return 0}return e.Debug.assert(29===t),we()?1===b?Fe((function(){var e=xe();if(93===e)switch(xe()){case 62:case 31:return!1;default:return!0}else if(27===e)return!0;return!1}))?1:0:2:0}function Ur(){var t=s.getTokenPos();if(!(null==I?void 0:I.has(t))){var r=qr(!1);return r||(I||(I=new e.Set)).add(t),r}}function Vr(){if(129===ve()){if(xe(),s.hasPrecedingLineBreak()||38===ve())return 0;var e=Hr(0);if(!s.hasPrecedingLineBreak()&&78===e.kind&&38===ve())return 1}return 0}function qr(t){var r,n=me(),i=ye(),a=mi(),o=e.some(a,e.isAsyncModifier)?2:0,s=Vt();if(Ie(20)){if(r=Xt(o),!Ie(21)&&!t)return}else{if(!t)return;r=St()}var c=Yt(58,!1);if(!c||t||!jt(c)){var u=c&&e.isJSDocFunctionType(c);if(t||38===ve()||!u&&18===ve()){var l=ve(),d=Be(38),_=38===l||18===l?Wr(e.some(a,e.isAsyncModifier)):Ge();return U(Ue(L.createArrowFunction(a,s,r,c,d,_),n),i)}}}function Wr(e){if(18===ve())return Fn(e?2:0);if(26!==ve()&&97!==ve()&&83!==ve()&&Kn()&&(18===ve()||97===ve()||83===ve()||59===ve()||!Rr()))return Fn(16|(e?2:0));var t=R;R=!1;var r=e?ae(Jr):re(32768,Jr);return R=t,r}function Hr(e){var t=me();return Yr(e,$r(),t)}function Gr(e){return 100===e||156===e}function Yr(t,r,n){for(;;){Se();var i=e.getBinaryOperatorPrecedence(ve());if(!(42===ve()?i>=t:i>t))break;if(100===ve()&&ce())break;if(126===ve()){if(s.hasPrecedingLineBreak())break;xe(),a=r,o=Ir(),r=Ue(L.createAsExpression(a,o),a.pos)}else r=Xr(r,je(),Hr(i),n)}var a,o;return r}function Xr(e,t,r,n){return Ue(L.createBinaryExpression(e,t,r),n)}function Qr(){var e=me();return Ue(L.createPrefixUnaryExpression(ve(),De(Zr)),e)}function $r(){if(function(){switch(ve()){case 39:case 40:case 54:case 53:case 88:case 111:case 113:case 130:return!1;case 29:if(1!==b)return!1;default:return!0}}()){var t=me(),r=en();return 42===ve()?Yr(e.getBinaryOperatorPrecedence(ve()),r,t):r}var n=ve(),i=Zr();if(42===ve()){t=e.skipTrivia(h,i.pos);var a=i.end;206===i.kind?pe(t,a,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):pe(t,a,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(n))}return i}function Zr(){switch(ve()){case 39:case 40:case 54:case 53:return Qr();case 88:return e=me(),Ue(L.createDeleteExpression(De(Zr)),e);case 111:return function(){var e=me();return Ue(L.createTypeOfExpression(De(Zr)),e)}();case 113:return function(){var e=me();return Ue(L.createVoidExpression(De(Zr)),e)}();case 29:return function(){var e=me();Ie(29);var t=Ir();Ie(31);var r=Zr();return Ue(L.createTypeAssertion(t,r),e)}();case 130:if(130===ve()&&(le()||Fe(Bn)))return function(){var e=me();return Ue(L.createAwaitExpression(De(Zr)),e)}();default:return en()}var e}function en(){if(45===ve()||46===ve()){var t=me();return Ue(L.createPrefixUnaryExpression(ve(),De(tn)),t)}if(1===b&&29===ve()&&Fe(dt))return nn(!0);var r=tn();if(e.Debug.assert(e.isLeftHandSideExpression(r)),(45===ve()||46===ve())&&!s.hasPrecedingLineBreak()){var n=ve();return xe(),Ue(L.createPostfixUnaryExpression(r,n),r.pos)}return r}function tn(){var t,r=me();return 99===ve()?Fe(ar)?(v|=1048576,t=je()):Fe(or)?(xe(),xe(),t=Ue(L.createMetaProperty(99,Ye()),r),v|=2097152):t=rn():t=105===ve()?function(){var t=me(),r=je();if(29===ve()){var n=me();void 0!==Ne(hn)&&pe(n,me(),e.Diagnostics.super_may_not_use_type_arguments)}if(20===ve()||24===ve()||22===ve())return r;return Be(24,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access),Ue(L.createPropertyAccessExpression(r,kt(!0,!0)),t)}():rn(),yn(r,t)}function rn(){return fn(me(),Dn(),!0)}function nn(t,r){var n,i=me(),a=function(e){var t=me();if(Ie(29),31===ve())return ke(),Ue(L.createJsxOpeningFragment(),t);var r,n=sn(),i=Si(),a=function(){var e=me();return Ue(L.createJsxAttributes(mt(13,un)),e)}();31===ve()?(ke(),r=L.createJsxOpeningElement(n,i,a)):(Ie(43),e?Ie(31):(Ie(31,void 0,!1),ke()),r=L.createJsxSelfClosingElement(n,i,a));return Ue(r,t)}(t);if(275===a.kind){var o=on(a),s=function(e){var t=me();Ie(30);var r=sn();e?Ie(31):(Ie(31,void 0,!1),ke());return Ue(L.createJsxClosingElement(r),t)}(t);E(a.tagName,s.tagName)||fe(s,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(h,a.tagName)),n=Ue(L.createJsxElement(a,o,s),i)}else 278===a.kind?n=Ue(L.createJsxFragment(a,on(a),function(t){var r=me();Ie(30),e.tokenIsIdentifierOrKeyword(ve())&&fe(sn(),e.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment);t?Ie(31):(Ie(31,void 0,!1),ke());return Ue(L.createJsxJsxClosingFragment(),r)}(t)),i):(e.Debug.assert(274===a.kind),n=a);if(t&&29===ve()){var c=void 0===r?n.pos:r,u=Ne((function(){return nn(!0,c)}));if(u){var l=Ve(27,!1);return e.setTextRangePosWidth(l,u.pos,0),pe(e.skipTrivia(h,c),u.end,e.Diagnostics.JSX_expressions_must_have_one_parent_element),Ue(L.createBinaryExpression(n,l,u),i)}}return n}function an(t,r){switch(r){case 1:if(e.isJsxOpeningFragment(t))fe(t,e.Diagnostics.JSX_fragment_has_no_corresponding_closing_tag);else{var n=t.tagName;pe(e.skipTrivia(h,n.pos),n.end,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(h,t.tagName))}return;case 30:case 7:return;case 11:case 12:return function(){var e=me(),t=L.createJsxText(s.getTokenValue(),12===k);return k=s.scanJsxToken(),Ue(t,e)}();case 18:return cn(!1);case 29:return nn(!1);default:return e.Debug.assertNever(r)}}function on(e){var t=[],r=me(),n=w;for(w|=16384;;){var i=an(e,k=s.reScanJsxToken());if(!i)break;t.push(i)}return w=n,ze(t,r)}function sn(){var e=me();Ce();for(var t=107===ve()?je():Ye();Me(24);)t=Ue(L.createPropertyAccessExpression(t,kt(!0,!1)),e);return t}function cn(e){var t,r,n=me();if(Ie(18))return 19!==ve()&&(t=Le(25),r=Br()),e?Ie(19):Ie(19,void 0,!1)&&ke(),Ue(L.createJsxExpression(t,r),n)}function un(){if(18===ve())return function(){var e=me();Ie(18),Ie(25);var t=Br();return Ie(19),Ue(L.createJsxSpreadAttribute(t),e)}();Ce();var e=me();return Ue(L.createJsxAttribute(Ye(),62!==ve()?void 0:10===(k=s.scanJsxAttributeValue())?It():cn(!0)),e)}function ln(){return xe(),e.tokenIsIdentifierOrKeyword(ve())||22===ve()||gn()}function dn(t){if(32&t.flags)return!0;if(e.isNonNullExpression(t)){for(var r=t.expression;e.isNonNullExpression(r)&&!(32&r.flags);)r=r.expression;if(32&r.flags){for(;e.isNonNullExpression(t);)t.flags|=32,t=t.expression;return!0}}return!1}function _n(t,r,n){var i=kt(!0,!0),a=n||dn(r),o=a?L.createPropertyAccessChain(r,n,i):L.createPropertyAccessExpression(r,i);return a&&e.isPrivateIdentifier(o.name)&&fe(o.name,e.Diagnostics.An_optional_chain_cannot_contain_private_identifiers),Ue(o,t)}function pn(t,r,n){var i;if(23===ve())i=Ve(78,!0,e.Diagnostics.An_element_access_expression_should_take_an_argument);else{var a=ie(Br);e.isStringOrNumericLiteralLike(a)&&(a.text=qe(a.text)),i=a}return Ie(23),Ue(n||dn(r)?L.createElementAccessChain(r,n,i):L.createElementAccessExpression(r,i),t)}function fn(t,r,n){for(;;){var i=void 0,a=!1;if(n&&28===ve()&&Fe(ln)?(i=Be(28),a=e.tokenIsIdentifierOrKeyword(ve())):a=Me(24),a)r=_n(t,r,i);else if(i||53!==ve()||s.hasPrecedingLineBreak())if(!i&&ue()||!Me(22)){if(!gn())return r;r=mn(t,r,i,void 0)}else r=pn(t,r,i);else xe(),r=Ue(L.createNonNullExpression(r),t)}}function gn(){return 14===ve()||15===ve()}function mn(e,t,r,n){var i=L.createTaggedTemplateExpression(t,n,14===ve()?(Ee(),It()):At(!0));return(r||32&t.flags)&&(i.flags|=32),i.questionDotToken=r,Ue(i,e)}function yn(t,r){for(;;){r=fn(t,r,!0);var n=Le(28);if(29===ve()||47===ve()){var i=Ne(hn);if(i){if(gn()){r=mn(t,r,n,i);continue}var a=vn();r=Ue(n||dn(r)?L.createCallChain(r,n,i,a):L.createCallExpression(r,i,a),t);continue}}else if(20===ve()){a=vn();r=Ue(n||dn(r)?L.createCallChain(r,n,void 0,a):L.createCallExpression(r,void 0,a),t);continue}if(n){var o=Ve(78,!1,e.Diagnostics.Identifier_expected);r=Ue(L.createPropertyAccessChain(r,n,o),t)}break}return r}function vn(){Ie(20);var e=xt(11,bn);return Ie(21),e}function hn(){if(29===Te()){xe();var e=xt(20,Ir);if(Ie(31))return e&&function(){switch(ve()){case 20:case 14:case 15:case 24:case 21:case 23:case 58:case 26:case 57:case 34:case 36:case 35:case 37:case 55:case 56:case 60:case 52:case 50:case 51:case 19:case 1:return!0;case 27:case 18:default:return!1}}()?e:void 0}}function Dn(){switch(ve()){case 8:case 9:case 10:case 14:return It();case 107:case 105:case 103:case 109:case 94:return je();case 20:return function(){var e=me(),t=ye();Ie(20);var r=ie(Br);return Ie(21),U(Ue(L.createParenthesizedExpression(r),e),t)}();case 22:return Sn();case 18:return Tn();case 129:if(!Fe(Rn))break;return Cn();case 83:return hi(me(),ye(),void 0,void 0,221);case 97:return Cn();case 102:return function(){var t=me();if(Ie(102),Me(24)){var r=Ye();return Ue(L.createMetaProperty(102,r),t)}var n,i,a=me(),o=Dn();for(;;){o=fn(a,o,!1),n=Ne(hn),gn()&&(e.Debug.assert(!!n,\"Expected a type argument list; all plain tagged template starts should be consumed in 'parseMemberExpressionRest'\"),o=mn(a,o,void 0,n),n=void 0);break}20===ve()?i=vn():n&&pe(t,s.getStartPos(),e.Diagnostics.A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list);return Ue(L.createNewExpression(o,n,i),t)}();case 43:case 67:if(13===(k=s.reScanSlashToken()))return It();break;case 15:return At(!1)}return Ge(e.Diagnostics.Expression_expected)}function xn(){return 25===ve()?function(){var e=me();Ie(25);var t=Jr();return Ue(L.createSpreadElement(t),e)}():27===ve()?Ue(L.createOmittedExpression(),me()):Jr()}function bn(){return re(c,xn)}function Sn(){var e=me();Ie(22);var t=s.hasPrecedingLineBreak(),r=xt(15,xn);return Ie(23),Ue(L.createArrayLiteralExpression(r,t),e)}function En(){var e=me(),t=ye();if(Le(25)){var r=Jr();return U(Ue(L.createSpreadAssignment(r),e),t)}var n=pi(),i=gi();if(et(134))return ui(e,t,n,i,167);if(et(146))return ui(e,t,n,i,168);var a,o=Le(41),s=we(),c=$e(),u=Le(57),l=Le(53);if(o||20===ve()||29===ve())return oi(e,t,n,i,o,c,u,l);if(s&&58!==ve()){var d=Le(62),_=d?ie(Jr):void 0;(a=L.createShorthandPropertyAssignment(c,_)).equalsToken=d}else{Ie(58);var p=ie(Jr);a=L.createPropertyAssignment(c,p)}return a.decorators=n,a.modifiers=i,a.questionToken=u,a.exclamationToken=l,U(Ue(a,e),t)}function Tn(){var t=me(),r=s.getTokenPos();Ie(18);var n=s.hasPrecedingLineBreak(),i=xt(12,En,!0);if(!Ie(19)){var a=e.lastOrUndefined(S);a&&a.code===e.Diagnostics._0_expected.code&&e.addRelatedInfo(a,e.createDetachedDiagnostic(d,r,1,e.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here))}return Ue(L.createObjectLiteralExpression(i,n),t)}function Cn(){var t=ue();t&&ee(!1);var r=me(),n=ye(),i=gi();Ie(97);var a=Le(41),o=a?1:0,s=e.some(i,e.isAsyncModifier)?2:0,c=o&&s?ne(40960,kn):o?function(e){return ne(8192,e)}(kn):s?ae(kn):kn(),u=Vt(),l=Qt(o|s),d=Yt(58,!1),_=Fn(o|s);return t&&ee(!0),U(Ue(L.createFunctionExpression(i,a,c,u,l,d,_),r),n)}function kn(){return Pe()?He():void 0}function An(t,r){var n=me(),i=s.getTokenPos();if(Ie(18,r)||t){var a=s.hasPrecedingLineBreak(),o=mt(1,Un);if(!Ie(19)){var c=e.lastOrUndefined(S);c&&c.code===e.Diagnostics._0_expected.code&&e.addRelatedInfo(c,e.createDetachedDiagnostic(d,i,1,e.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here))}return Ue(L.createBlock(o,a),n)}o=St();return Ue(L.createBlock(o,void 0),n)}function Fn(e,t){var r=se();Z(!!(1&e));var n=le();te(!!(2&e));var i=R;R=!1;var a=ue();a&&ee(!1);var o=An(!!(16&e),t);return a&&ee(!0),R=i,Z(r),te(n),o}function Nn(){var e=me();Ie(96);var t,r,n=Le(130);if(Ie(20),26!==ve()&&(t=112===ve()||118===ve()||84===ve()?ti(!0):ne(4096,Br)),n?Ie(156):Me(156)){var i=ie(Jr);Ie(21),r=L.createForOfStatement(n,t,i,Un())}else if(Me(100)){i=ie(Br);Ie(21),r=L.createForInStatement(t,i,Un())}else{Ie(26);var a=26!==ve()&&21!==ve()?ie(Br):void 0;Ie(26);var o=21!==ve()?ie(Br):void 0;Ie(21),r=L.createForStatement(t,a,o,Un())}return Ue(r,e)}function Pn(e){var t=me();Ie(241===e?80:85);var r=Je()?void 0:Ge();return Ke(),Ue(241===e?L.createBreakStatement(r):L.createContinueStatement(r),t)}function wn(){return 81===ve()?function(){var e=me();Ie(81);var t=ie(Br);Ie(58);var r=mt(3,Un);return Ue(L.createCaseClause(t,r),e)}():function(){var e=me();Ie(87),Ie(58);var t=mt(3,Un);return Ue(L.createDefaultClause(t),e)}()}function In(){var e=me();Ie(106),Ie(20);var t=ie(Br);Ie(21);var r=function(){var e=me();Ie(18);var t=mt(2,wn);return Ie(19),Ue(L.createCaseBlock(t),e)}();return Ue(L.createSwitchStatement(t,r),e)}function On(){var e=me();Ie(110);var t,r=An(!1),n=82===ve()?function(){var e,t=me();Ie(82),Me(20)?(e=ei(),Ie(21)):e=void 0;var r=An(!1);return Ue(L.createCatchClause(e,r),t)}():void 0;return n&&95!==ve()||(Ie(95),t=An(!1)),Ue(L.createTryStatement(r,n,t),e)}function Mn(){return xe(),e.tokenIsIdentifierOrKeyword(ve())&&!s.hasPrecedingLineBreak()}function Ln(){return xe(),83===ve()&&!s.hasPrecedingLineBreak()}function Rn(){return xe(),97===ve()&&!s.hasPrecedingLineBreak()}function Bn(){return xe(),(e.tokenIsIdentifierOrKeyword(ve())||8===ve()||9===ve()||10===ve())&&!s.hasPrecedingLineBreak()}function jn(){for(;;)switch(ve()){case 112:case 118:case 84:case 97:case 83:case 91:return!0;case 117:case 149:return xe(),!s.hasPrecedingLineBreak()&&we();case 139:case 140:return Hn();case 125:case 129:case 133:case 120:case 121:case 122:case 142:if(xe(),s.hasPrecedingLineBreak())return!1;continue;case 154:return xe(),18===ve()||78===ve()||92===ve();case 99:return xe(),10===ve()||41===ve()||18===ve()||e.tokenIsIdentifierOrKeyword(ve());case 92:var t=xe();if(149===t&&(t=Fe(xe)),62===t||41===t||18===t||87===t||126===t)return!0;continue;case 123:xe();continue;default:return!1}}function Jn(){return Fe(jn)}function Kn(){switch(ve()){case 59:case 26:case 18:case 112:case 118:case 97:case 83:case 91:case 98:case 89:case 114:case 96:case 85:case 80:case 104:case 115:case 106:case 108:case 110:case 86:case 82:case 95:return!0;case 99:return Jn()||Fe(sr);case 84:case 92:return Jn();case 129:case 133:case 117:case 139:case 140:case 149:case 154:return!0;case 122:case 120:case 121:case 123:case 142:return Jn()||!Fe(Mn);default:return Rr()}}function zn(){return xe(),we()||18===ve()||22===ve()}function Un(){switch(ve()){case 26:return t=me(),Ie(26),Ue(L.createEmptyStatement(),t);case 18:return An(!1);case 112:return ni(me(),ye(),void 0,void 0);case 118:if(Fe(zn))return ni(me(),ye(),void 0,void 0);break;case 97:return ii(me(),ye(),void 0,void 0);case 83:return vi(me(),ye(),void 0,void 0);case 98:return function(){var e=me();Ie(98),Ie(20);var t=ie(Br);Ie(21);var r=Un(),n=Me(90)?Un():void 0;return Ue(L.createIfStatement(t,r,n),e)}();case 89:return function(){var e=me();Ie(89);var t=Un();Ie(114),Ie(20);var r=ie(Br);return Ie(21),Me(26),Ue(L.createDoStatement(t,r),e)}();case 114:return function(){var e=me();Ie(114),Ie(20);var t=ie(Br);Ie(21);var r=Un();return Ue(L.createWhileStatement(t,r),e)}();case 96:return Nn();case 85:return Pn(240);case 80:return Pn(241);case 104:return function(){var e=me();Ie(104);var t=Je()?void 0:ie(Br);return Ke(),Ue(L.createReturnStatement(t),e)}();case 115:return function(){var e=me();Ie(115),Ie(20);var t=ie(Br);Ie(21);var r=ne(16777216,Un);return Ue(L.createWithStatement(t,r),e)}();case 106:return In();case 108:return function(){var e=me();Ie(108);var t=s.hasPrecedingLineBreak()?void 0:ie(Br);return void 0===t&&(P++,t=Ue(L.createIdentifier(\"\"),me())),Ke(),Ue(L.createThrowStatement(t),e)}();case 110:case 82:case 95:return On();case 86:return function(){var e=me();return Ie(86),Ke(),Ue(L.createDebuggerStatement(),e)}();case 59:return qn();case 129:case 117:case 149:case 139:case 140:case 133:case 84:case 91:case 92:case 99:case 120:case 121:case 122:case 125:case 123:case 142:case 154:if(Jn())return qn()}var t;return function(){var t,r=me(),n=ye(),i=20===ve(),a=ie(Br);return e.isIdentifier(a)&&Me(58)?t=L.createLabeledStatement(a,Un()):(Ke(),t=L.createExpressionStatement(a),i&&(n=!1)),U(Ue(t,r),n)}()}function Vn(e){return 133===e.kind}function qn(){var t=e.some(Fe((function(){return pi(),gi()})),Vn);if(t){var r=ne(8388608,(function(){var e=vt(w);if(e)return ht(e)}));if(r)return r}var n=me(),i=ye(),a=pi(),o=gi();if(t){for(var s=0,c=o;s=0),e.Debug.assert(t<=o),e.Debug.assert(o<=a.length),_(a,t)){var c,u,l,p=[];return s.scanRange(t+3,i-5,(function(){var e,r,n,i=1,d=t-(a.lastIndexOf(\"\\n\",t)+1)+4;function _(t){e||(e=d),p.push(t),d+=t.length}for(be();J(5););J(4)&&(i=0,d=0);e:for(;;){switch(ve()){case 59:0===i||1===i?(g(p),E(D(d)),i=0,e=void 0):_(s.getTokenText());break;case 4:p.push(s.getTokenText()),i=0,d=0;break;case 41:var m=s.getTokenText();1===i||2===i?(i=2,_(m)):(i=1,d+=m.length);break;case 5:var y=s.getTokenText();2===i?p.push(y):void 0!==e&&d+y.length>e&&p.push(y.slice(e-d)),d+=y.length;break;case 1:break e;default:i=2,_(s.getTokenText())}be()}return f(p),g(p),r=p.length?p.join(\"\"):void 0,n=c&&ze(c,u,l),Ue(L.createJSDocComment(r,n),t,o)}))}function f(e){for(;e.length&&(\"\\n\"===e[0]||\"\\r\"===e[0]);)e.shift()}function g(e){for(;e.length&&\"\"===e[e.length-1].trim();)e.pop()}function m(){for(;;){if(be(),1===ve())return!0;if(5!==ve()&&4!==ve())return!1}}function y(){if(5!==ve()&&4!==ve()||!Fe(m))for(;5===ve()||4===ve();)be()}function v(){if((5===ve()||4===ve())&&Fe(m))return\"\";for(var e=s.hasPrecedingLineBreak(),t=!1,r=\"\";e&&41===ve()||5===ve()||4===ve();)r+=s.getTokenText(),4===ve()?(e=!0,t=!0,r=\"\"):41===ve()&&(e=!1),be();return t?r:\"\"}function D(t){e.Debug.assert(59===ve());var i=s.getTokenPos();be();var a,o=K(void 0),u=v();switch(o.escapedText){case\"author\":a=function(e,t,r,n){var i=Ne((function(){return function(){var e=[],t=!1,r=!1,n=s.getToken();e:for(;;){switch(n){case 78:case 5:case 24:case 59:e.push(s.getTokenText());break;case 29:if(t||r)return;t=!0,e.push(s.getTokenText());break;case 31:if(!t||r)return;r=!0,e.push(s.getTokenText()),s.setTextPos(s.getTokenPos()+1);break e;case 4:case 1:break e}n=be()}if(t&&r)return 0===e.length?void 0:e.join(\"\")}()}));if(!i){var a=me();return Ue(L.createJSDocAuthorTag(t,x(e,a,r,n)),e,a)}var o=i;if(Fe((function(){return 4!==xe()}))){var c=b(r);c&&(o+=c)}return Ue(L.createJSDocAuthorTag(t,o),e)}(i,o,t,u);break;case\"implements\":a=function(e,t,r,n){var i=N(),a=me();return Ue(L.createJSDocImplementsTag(t,i,x(e,a,r,n)),e,a)}(i,o,t,u);break;case\"augments\":case\"extends\":a=function(e,t,r,n){var i=N(),a=me();return Ue(L.createJSDocAugmentsTag(t,i,x(e,a,r,n)),e,a)}(i,o,t,u);break;case\"class\":case\"constructor\":a=w(i,L.createJSDocClassTag,o,t,u);break;case\"public\":a=w(i,L.createJSDocPublicTag,o,t,u);break;case\"private\":a=w(i,L.createJSDocPrivateTag,o,t,u);break;case\"protected\":a=w(i,L.createJSDocProtectedTag,o,t,u);break;case\"readonly\":a=w(i,L.createJSDocReadonlyTag,o,t,u);break;case\"deprecated\":H=!0,a=w(i,L.createJSDocDeprecatedTag,o,t,u);break;case\"this\":a=function(e,t,n,i){var a=r(!0);y();var o=me();return Ue(L.createJSDocThisTag(t,a,x(e,o,n,i)),e,o)}(i,o,t,u);break;case\"enum\":a=function(e,t,n,i){var a=r(!0);y();var o=me();return Ue(L.createJSDocEnumTag(t,a,x(e,o,n,i)),e,o)}(i,o,t,u);break;case\"arg\":case\"argument\":case\"param\":return A(i,o,2,t);case\"return\":case\"returns\":a=function(t,r,n,i){e.some(c,e.isJSDocReturnTag)&&pe(r.pos,s.getTokenPos(),e.Diagnostics._0_tag_already_specified,r.escapedText);var a=T(),o=me();return Ue(L.createJSDocReturnTag(r,a,x(t,o,n,i)),t,o)}(i,o,t,u);break;case\"template\":a=function(e,t,n,i){var a=18===ve()?r():void 0,o=function(){var e=me(),t=[];do{y(),t.push(j()),v()}while(J(27));return ze(t,e)}(),s=me();return Ue(L.createJSDocTemplateTag(t,a,o,x(e,s,n,i)),e,s)}(i,o,t,u);break;case\"type\":a=F(i,o,t,u);break;case\"typedef\":a=function(t,r,n,i){var a,o=T();v();var s=I();y();var c,u=b(n);if(!o||k(o.type)){for(var l=void 0,_=void 0,p=void 0,f=!1;l=Ne((function(){return M(n)}));)if(f=!0,329===l.kind){if(_){de(e.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);var g=e.lastOrUndefined(S);g&&e.addRelatedInfo(g,e.createDetachedDiagnostic(d,0,0,e.Diagnostics.The_tag_was_first_specified_here));break}_=l}else p=e.append(p,l);if(f){var m=o&&178===o.type.kind,h=L.createJSDocTypeLiteral(p,m);c=(o=_&&_.typeExpression&&!k(_.typeExpression.type)?_.typeExpression:Ue(h,t)).end}}c=c||void 0!==u?me():(null!==(a=null!=s?s:o)&&void 0!==a?a:r).end,u||(u=x(t,c,n,i));return Ue(L.createJSDocTypedefTag(r,o,s,u),t,c)}(i,o,t,u);break;case\"callback\":a=function(t,r,n,i){var a=I();y();var o=b(n),s=function(t){var r,n,i=me();for(;r=Ne((function(){return R(4,t)}));)n=e.append(n,r);return ze(n||[],i)}(n),c=Ne((function(){if(J(59)){var e=D(n);if(e&&327===e.kind)return e}})),u=Ue(L.createJSDocSignature(void 0,s,c),t),l=me();o||(o=x(t,l,n,i));return Ue(L.createJSDocCallbackTag(r,u,a,o),t,l)}(i,o,t,u);break;case\"see\":a=function(e,t,r,i){var a=n(),o=me(),s=void 0!==r&&void 0!==i?x(e,o,r,i):void 0;return Ue(L.createJSDocSeeTag(t,a,s),e,o)}(i,o,t,u);break;default:a=function(e,t,r,n){var i=me();return Ue(L.createJSDocUnknownTag(t,x(e,i,r,n)),e,i)}(i,o,t,u)}return a}function x(e,t,r,n){return n||(r+=t-e),b(r,n.slice(r))}function b(t,r){var n,i=[],a=0;function o(e){n||(n=t),i.push(e),t+=e.length}void 0!==r&&(\"\"!==r&&o(r),a=1);var c=ve();e:for(;;){switch(c){case 4:a=0,i.push(s.getTokenText()),t=0;break;case 59:if(3===a){i.push(s.getTokenText());break}s.setTextPos(s.getTextPos()-1);case 1:break e;case 5:if(2===a||3===a)o(s.getTokenText());else{var u=s.getTokenText();void 0!==n&&t+u.length>n&&i.push(u.slice(n-t)),t+=u.length}break;case 18:a=2,Fe((function(){return 59===be()&&e.tokenIsIdentifierOrKeyword(be())&&\"link\"===s.getTokenText()}))&&(o(s.getTokenText()),be(),o(s.getTokenText()),be()),o(s.getTokenText());break;case 61:a=3===a?2:3,o(s.getTokenText());break;case 41:if(0===a){a=1,t+=1;break}default:3!==a&&(a=2),o(s.getTokenText())}c=be()}return f(i),g(i),0===i.length?void 0:i.join(\"\")}function E(e){e&&(c?c.push(e):(c=[e],u=e.pos),l=e.end)}function T(){return v(),18===ve()?r():void 0}function C(){var t=J(22);t&&y();var r=J(61),n=function(){var e=K();Me(22)&&Ie(23);for(;Me(24);){var t=K();Me(22)&&Ie(23),e=Ct(e,t)}return e}();return r&&function(t){Re(t)||Ve(t,!1,e.Diagnostics._0_expected,e.tokenToString(t))}(61),t&&(y(),Le(62)&&Br(),Ie(23)),{name:n,isBracketed:t}}function k(t){switch(t.kind){case 145:return!0;case 178:return k(t.elementType);default:return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&\"Object\"===t.typeName.escapedText&&!t.typeArguments}}function A(t,r,n,i){var a=T(),o=!a;v();var c=C(),u=c.name,l=c.isBracketed;y(),o&&(a=T());var d=b(i+s.getStartPos()-t),_=4!==n&&function(t,r,n,i){if(t&&k(t.type)){for(var a=me(),o=void 0,s=void 0;o=Ne((function(){return R(n,i,r)}));)326!==o.kind&&333!==o.kind||(s=e.append(s,o));if(s){var c=Ue(L.createJSDocTypeLiteral(s,178===t.type.kind),a);return Ue(L.createJSDocTypeExpression(c),a)}}}(a,u,n,i);return _&&(a=_,o=!0),Ue(1===n?L.createJSDocPropertyTag(r,u,l,a,o,d):L.createJSDocParameterTag(r,u,l,a,o,d),t)}function F(t,n,i,a){e.some(c,e.isJSDocTypeTag)&&pe(n.pos,s.getTokenPos(),e.Diagnostics._0_tag_already_specified,n.escapedText);var o=r(!0),u=me(),l=void 0!==i&&void 0!==a?x(t,u,i,a):void 0;return Ue(L.createJSDocTypeTag(n,o,l),t,u)}function N(){var e=Me(18),t=me(),r=function(){var e=me(),t=K();for(;Me(24);){var r=K();t=Ue(L.createPropertyAccessExpression(t,r),e)}return t}(),n=Si(),i=Ue(L.createExpressionWithTypeArguments(r,n),t);return e&&Ie(19),i}function w(e,t,r,n,i){var a=me();return Ue(t(r,x(e,a,n,i)),e,a)}function I(t){var r=s.getTokenPos();if(e.tokenIsIdentifierOrKeyword(ve())){var n=K();if(Me(24)){var i=I(!0);return Ue(L.createModuleDeclaration(void 0,void 0,n,i,t?4:void 0),r)}return t&&(n.isInJSDocNamespace=!0),n}}function O(t,r){for(;!e.isIdentifier(t)||!e.isIdentifier(r);){if(e.isIdentifier(t)||e.isIdentifier(r)||t.right.escapedText!==r.right.escapedText)return!1;t=t.left,r=r.left}return t.escapedText===r.escapedText}function M(e){return R(1,e)}function R(t,r,n){for(var i=!0,a=!1;;)switch(be()){case 59:if(i){var o=B(t,r);return!(o&&(326===o.kind||333===o.kind)&&4!==t&&n&&(e.isIdentifier(o.name)||!O(n,o.name.left)))&&o}a=!1;break;case 4:i=!0,a=!1;break;case 41:a&&(i=!1),a=!0;break;case 78:i=!1;break;case 1:return!1}}function B(t,r){e.Debug.assert(59===ve());var n=s.getStartPos();be();var i,a=K();switch(y(),a.escapedText){case\"type\":return 1===t&&F(n,a);case\"prop\":case\"property\":i=1;break;case\"arg\":case\"argument\":case\"param\":i=6;break;default:return!1}return!!(t&i)&&A(n,a,t,r)}function j(){var t=me(),r=K(e.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces);return Ue(L.createTypeParameterDeclaration(r,void 0,void 0),t)}function J(e){return ve()===e&&(be(),!0)}function K(t){if(!e.tokenIsIdentifierOrKeyword(ve()))return Ve(78,!t,t||e.Diagnostics.Identifier_expected);P++;var r=s.getTokenPos(),n=s.getTextPos(),i=ve(),a=qe(s.getTokenValue()),o=Ue(L.createIdentifier(a,void 0,i),r,n);return be(),o}}t.parseJSDocTypeExpressionForTests=function(t,n,i){J(\"file.js\",t,99,void 0,1),s.setText(t,n,i),k=s.scan();var a=r(),o=X(\"file.js\",99,1,!1,[],L.createToken(1),0),c=e.attachFileToDiagnostics(S,o);return T&&(o.jsDocDiagnostics=e.attachFileToDiagnostics(T,o)),K(),a?{jsDocTypeExpression:a,diagnostics:c}:void 0},t.parseJSDocTypeExpression=r,t.parseJSDocNameReference=n,t.parseIsolatedJSDocComment=function(t,r,n){J(\"\",t,99,void 0,1);var i=ne(4194304,(function(){return o(r,n)})),a={languageVariant:0,text:t},s=e.attachFileToDiagnostics(S,a);return K(),i?{jsDoc:i,diagnostics:s}:void 0},t.parseJSDocComment=function(t,r,n){var i=k,a=S.length,s=B,c=ne(4194304,(function(){return o(r,n)}));return e.setParent(c,t),131072&O&&(T||(T=[]),T.push.apply(T,S)),k=i,S.length=a,B=s,c},function(e){e[e.BeginningOfLine=0]=\"BeginningOfLine\",e[e.SawAsterisk=1]=\"SawAsterisk\",e[e.SavingComments=2]=\"SavingComments\",e[e.SavingBackticks=3]=\"SavingBackticks\"}(i||(i={})),function(e){e[e.Property=1]=\"Property\",e[e.Parameter=2]=\"Parameter\",e[e.CallbackParameter=4]=\"CallbackParameter\"}(a||(a={}))}(W=t.JSDocParser||(t.JSDocParser={}))}(c||(c={})),function(t){function r(t,r,i,o,s,c){return void(r?l(t):u(t));function u(t){var r=\"\";if(c&&n(t)&&(r=o.substring(t.pos,t.end)),t._children&&(t._children=void 0),e.setTextRangePosEnd(t,t.pos+i,t.end+i),c&&n(t)&&e.Debug.assert(r===s.substring(t.pos,t.end)),p(t,u,l),e.hasJSDocNodes(t))for(var d=0,_=t.jsDoc;d<_.length;d++){u(_[d])}a(t,c)}function l(t){t._children=void 0,e.setTextRangePosEnd(t,t.pos+i,t.end+i);for(var r=0,n=t;r=r,\"Adjusting an element that was entirely before the change range\"),e.Debug.assert(t.pos<=n,\"Adjusting an element that was entirely after the change range\"),e.Debug.assert(t.pos<=t.end);var o=Math.min(t.pos,i),s=t.end>=n?t.end+a:Math.min(t.end,i);e.Debug.assert(o<=s),t.parent&&(e.Debug.assertGreaterThanOrEqual(o,t.parent.pos),e.Debug.assertLessThanOrEqual(s,t.parent.end)),e.setTextRangePosEnd(t,o,s)}function a(t,r){if(r){var n=t.pos,i=function(t){e.Debug.assert(t.pos>=n),n=t.end};if(e.hasJSDocNodes(t))for(var a=0,o=t.jsDoc;ar),!0;if(a.pos>=i.pos&&(i=a),ri.pos&&(i=a)}return i}function s(t,r,n,i){var a=t.text;if(n&&(e.Debug.assert(a.length-n.span.length+n.newLength===r.length),i||e.Debug.shouldAssert(3))){var o=a.substr(0,n.span.start),s=r.substr(0,n.span.start);e.Debug.assert(o===s);var c=a.substring(e.textSpanEnd(n.span),a.length),u=r.substring(e.textSpanEnd(e.textChangeRangeNewSpan(n)),r.length);e.Debug.assert(c===u)}}function u(t){var r=t.statements,n=0;e.Debug.assert(n=t.pos&&e=t.pos&&e0&&a<=n;a++){var s=o(t,i);e.Debug.assert(s.pos<=i);var c=s.pos;i=Math.max(0,c-1)}var u=e.createTextSpanFromBounds(i,e.textSpanEnd(r.span)),l=r.newLength+(r.span.start-i);return e.createTextChangeRange(u,l)}(t,l);s(t,n,m,d),e.Debug.assert(m.span.start<=l.span.start),e.Debug.assert(e.textSpanEnd(m.span)===e.textSpanEnd(l.span)),e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(m))===e.textSpanEnd(e.textChangeRangeNewSpan(l)));var y=e.textChangeRangeNewSpan(m).length-m.span.length;!function(t,n,o,s,c,u,l,d){return void _(t);function _(t){if(e.Debug.assert(t.pos<=t.end),t.pos>o)r(t,!1,c,u,l,d);else{var g=t.end;if(g>=n){if(t.intersectsChange=!0,t._children=void 0,i(t,n,o,s,c),p(t,_,f),e.hasJSDocNodes(t))for(var m=0,y=t.jsDoc;mo)r(t,!0,c,u,l,d);else{var a=t.end;if(a>=n){t.intersectsChange=!0,t._children=void 0,i(t,n,o,s,c);for(var p=0,f=t;pi){y();var m={range:{pos:f.pos+a,end:f.end+a},type:g};u=e.append(u,m),c&&e.Debug.assert(o.substring(f.pos,f.end)===s.substring(m.range.pos,m.range.end))}}return y(),u;function y(){l||(l=!0,u?r&&u.push.apply(u,r):u=r)}}(t.commentDirectives,v.commentDirectives,m.span.start,e.textSpanEnd(m.span),y,f,n,d),v},t.createSyntaxCursor=u,function(e){e[e.Value=-1]=\"Value\"}(l||(l={}))}(u||(u={})),e.isDeclarationFileName=g,e.processCommentPragmas=m,e.processPragmasIntoFields=y;var v=new e.Map;function h(e){if(v.has(e))return v.get(e);var t=new RegExp(\"(\\\\s\"+e+\"\\\\s*=\\\\s*)('|\\\")(.+?)\\\\2\",\"im\");return v.set(e,t),t}var D=/^\\/\\/\\/\\s*<(\\S+)\\s.*?\\/>/im,x=/^\\/\\/\\/?\\s*@(\\S+)\\s*(.*)\\s*$/im;function b(t,r,n){var i=2===r.kind&&D.exec(n);if(i){var a=i[1].toLowerCase(),o=e.commentPragmas[a];if(!(o&&1&o.kind))return;if(o.args){for(var s={},c=0,u=o.args;c=r.length)break;var o=a;if(34===r.charCodeAt(o)){for(a++;a32;)a++;i.push(r.substring(o,a))}}c(i)}else s.push(r)}}function y(t,r,n,i,a,o){if(i.isTSConfigOnly)\"null\"===(s=t[r])?(a[i.name]=void 0,r++):\"boolean\"===i.type?\"false\"===s?(a[i.name]=!1,r++):(\"true\"===s&&r++,o.push(e.createCompilerDiagnostic(e.Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line,i.name))):(o.push(e.createCompilerDiagnostic(e.Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line,i.name)),s&&!e.startsWith(s,\"-\")&&r++);else if(t[r]||\"boolean\"===i.type||o.push(e.createCompilerDiagnostic(n.optionTypeMismatchDiagnostic,i.name,B(i))),\"null\"!==t[r])switch(i.type){case\"number\":a[i.name]=parseInt(t[r]),r++;break;case\"boolean\":var s=t[r];a[i.name]=\"false\"!==s,\"false\"!==s&&\"true\"!==s||r++;break;case\"string\":a[i.name]=t[r]||\"\",r++;break;case\"list\":var c=p(i,t[r],o);a[i.name]=c||[],c&&r++;break;default:a[i.name]=_(i,t[r],o),r++}else a[i.name]=void 0,r++;return r}function v(e,t){return h(c,e,t)}function h(e,t,r){void 0===r&&(r=!1),t=t.toLowerCase();var n=e(),i=n.optionsNameMap,a=n.shortOptionNames;if(r){var o=a.get(t);void 0!==o&&(t=o)}return i.get(t)}e.libs=o.map((function(e){return e[0]})),e.libMap=new e.Map(o),e.optionsForWatch=[{name:\"watchFile\",type:new e.Map(e.getEntries({fixedpollinginterval:e.WatchFileKind.FixedPollingInterval,prioritypollinginterval:e.WatchFileKind.PriorityPollingInterval,dynamicprioritypolling:e.WatchFileKind.DynamicPriorityPolling,usefsevents:e.WatchFileKind.UseFsEvents,usefseventsonparentdirectory:e.WatchFileKind.UseFsEventsOnParentDirectory})),category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_UseFsEvents_UseFsEventsOnParentDirectory},{name:\"watchDirectory\",type:new e.Map(e.getEntries({usefsevents:e.WatchDirectoryKind.UseFsEvents,fixedpollinginterval:e.WatchDirectoryKind.FixedPollingInterval,dynamicprioritypolling:e.WatchDirectoryKind.DynamicPriorityPolling})),category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling},{name:\"fallbackPolling\",type:new e.Map(e.getEntries({fixedinterval:e.PollingWatchKind.FixedInterval,priorityinterval:e.PollingWatchKind.PriorityInterval,dynamicpriority:e.PollingWatchKind.DynamicPriority})),category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority},{name:\"synchronousWatchDirectory\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively}],e.commonOptionsWithBuild=[{name:\"help\",shortName:\"h\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Print_this_message},{name:\"help\",shortName:\"?\",type:\"boolean\"},{name:\"watch\",shortName:\"w\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Watch_input_files},{name:\"preserveWatchOutput\",type:\"boolean\",showInSimplifiedHelpView:!1,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen},{name:\"listFiles\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Print_names_of_files_part_of_the_compilation},{name:\"listEmittedFiles\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Print_names_of_generated_files_part_of_the_compilation},{name:\"pretty\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Stylize_errors_and_messages_using_color_and_context_experimental},{name:\"traceResolution\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Enable_tracing_of_the_name_resolution_process},{name:\"diagnostics\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Show_diagnostic_information},{name:\"extendedDiagnostics\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Show_verbose_diagnostic_information},{name:\"generateCpuProfile\",type:\"string\",isFilePath:!0,paramType:e.Diagnostics.FILE_OR_DIRECTORY,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Generates_a_CPU_profile},{name:\"generateTrace\",type:\"string\",isFilePath:!0,isCommandLineOnly:!0,paramType:e.Diagnostics.DIRECTORY,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Generates_an_event_trace_and_a_list_of_types},{name:\"incremental\",shortName:\"i\",type:\"boolean\",category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Enable_incremental_compilation,transpileOptionValue:void 0},{name:\"assumeChangesOnlyAffectDirectDependencies\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it},{name:\"locale\",type:\"string\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.The_locale_used_when_displaying_messages_to_the_user_e_g_en_us}],e.optionDeclarations=r(e.commonOptionsWithBuild,[{name:\"all\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Show_all_compiler_options},{name:\"version\",shortName:\"v\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Print_the_compiler_s_version},{name:\"init\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file},{name:\"project\",shortName:\"p\",type:\"string\",isFilePath:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,paramType:e.Diagnostics.FILE_OR_DIRECTORY,description:e.Diagnostics.Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json},{name:\"build\",type:\"boolean\",shortName:\"b\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Build_one_or_more_projects_and_their_dependencies_if_out_of_date},{name:\"showConfig\",type:\"boolean\",category:e.Diagnostics.Command_line_Options,isCommandLineOnly:!0,description:e.Diagnostics.Print_the_final_configuration_instead_of_building},{name:\"listFilesOnly\",type:\"boolean\",category:e.Diagnostics.Command_line_Options,affectsSemanticDiagnostics:!0,affectsEmit:!0,isCommandLineOnly:!0,description:e.Diagnostics.Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing},{name:\"target\",shortName:\"t\",type:new e.Map(e.getEntries({es3:0,es5:1,es6:2,es2015:2,es2016:3,es2017:4,es2018:5,es2019:6,es2020:7,esnext:99})),affectsSourceFile:!0,affectsModuleResolution:!0,affectsEmit:!0,paramType:e.Diagnostics.VERSION,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_or_ESNEXT},{name:\"module\",shortName:\"m\",type:new e.Map(e.getEntries({none:e.ModuleKind.None,commonjs:e.ModuleKind.CommonJS,amd:e.ModuleKind.AMD,system:e.ModuleKind.System,umd:e.ModuleKind.UMD,es6:e.ModuleKind.ES2015,es2015:e.ModuleKind.ES2015,es2020:e.ModuleKind.ES2020,esnext:e.ModuleKind.ESNext})),affectsModuleResolution:!0,affectsEmit:!0,paramType:e.Diagnostics.KIND,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext},{name:\"lib\",type:\"list\",element:{name:\"lib\",type:e.libMap},affectsModuleResolution:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_library_files_to_be_included_in_the_compilation,transpileOptionValue:void 0},{name:\"allowJs\",type:\"boolean\",affectsModuleResolution:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Allow_javascript_files_to_be_compiled},{name:\"checkJs\",type:\"boolean\",category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Report_errors_in_js_files},{name:\"jsx\",type:t,affectsSourceFile:!0,affectsEmit:!0,affectsModuleResolution:!0,paramType:e.Diagnostics.KIND,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_JSX_code_generation_Colon_preserve_react_native_or_react},{name:\"declaration\",shortName:\"d\",type:\"boolean\",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Generates_corresponding_d_ts_file,transpileOptionValue:void 0},{name:\"declarationMap\",type:\"boolean\",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Generates_a_sourcemap_for_each_corresponding_d_ts_file,transpileOptionValue:void 0},{name:\"emitDeclarationOnly\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Only_emit_d_ts_declaration_files,transpileOptionValue:void 0},{name:\"sourceMap\",type:\"boolean\",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Generates_corresponding_map_file},{name:\"outFile\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.FILE,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Concatenate_and_emit_output_to_single_file,transpileOptionValue:void 0},{name:\"outDir\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.DIRECTORY,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Redirect_output_structure_to_the_directory},{name:\"rootDir\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.LOCATION,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir},{name:\"composite\",type:\"boolean\",affectsEmit:!0,isTSConfigOnly:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Enable_project_compilation,transpileOptionValue:void 0},{name:\"tsBuildInfoFile\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.FILE,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_file_to_store_incremental_compilation_information,transpileOptionValue:void 0},{name:\"removeComments\",type:\"boolean\",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Do_not_emit_comments_to_output},{name:\"noEmit\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Do_not_emit_outputs,transpileOptionValue:void 0},{name:\"importHelpers\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Import_emit_helpers_from_tslib},{name:\"importsNotUsedAsValues\",type:new e.Map(e.getEntries({remove:0,preserve:1,error:2})),affectsEmit:!0,affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types},{name:\"downlevelIteration\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3},{name:\"isolatedModules\",type:\"boolean\",category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule,transpileOptionValue:!0},{name:\"strict\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_all_strict_type_checking_options},{name:\"noImplicitAny\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Raise_error_on_expressions_and_declarations_with_an_implied_any_type},{name:\"strictNullChecks\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_null_checks},{name:\"strictFunctionTypes\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_checking_of_function_types},{name:\"strictBindCallApply\",type:\"boolean\",strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_bind_call_and_apply_methods_on_functions},{name:\"strictPropertyInitialization\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_checking_of_property_initialization_in_classes},{name:\"noImplicitThis\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Raise_error_on_this_expressions_with_an_implied_any_type},{name:\"alwaysStrict\",type:\"boolean\",affectsSourceFile:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Parse_in_strict_mode_and_emit_use_strict_for_each_source_file},{name:\"noUnusedLocals\",type:\"boolean\",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_errors_on_unused_locals},{name:\"noUnusedParameters\",type:\"boolean\",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_errors_on_unused_parameters},{name:\"noImplicitReturns\",type:\"boolean\",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_error_when_not_all_code_paths_in_function_return_a_value},{name:\"noFallthroughCasesInSwitch\",type:\"boolean\",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_errors_for_fallthrough_cases_in_switch_statement},{name:\"noUncheckedIndexedAccess\",type:\"boolean\",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!1,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Include_undefined_in_index_signature_results},{name:\"moduleResolution\",type:new e.Map(e.getEntries({node:e.ModuleResolutionKind.NodeJs,classic:e.ModuleResolutionKind.Classic})),affectsModuleResolution:!0,paramType:e.Diagnostics.STRATEGY,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6},{name:\"baseUrl\",type:\"string\",affectsModuleResolution:!0,isFilePath:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Base_directory_to_resolve_non_absolute_module_names},{name:\"paths\",type:\"object\",affectsModuleResolution:!0,isTSConfigOnly:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl,transpileOptionValue:void 0},{name:\"rootDirs\",type:\"list\",isTSConfigOnly:!0,element:{name:\"rootDirs\",type:\"string\",isFilePath:!0},affectsModuleResolution:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime,transpileOptionValue:void 0},{name:\"typeRoots\",type:\"list\",element:{name:\"typeRoots\",type:\"string\",isFilePath:!0},affectsModuleResolution:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.List_of_folders_to_include_type_definitions_from},{name:\"types\",type:\"list\",element:{name:\"types\",type:\"string\"},affectsModuleResolution:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Type_declaration_files_to_be_included_in_compilation,transpileOptionValue:void 0},{name:\"allowSyntheticDefaultImports\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking},{name:\"esModuleInterop\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports},{name:\"preserveSymlinks\",type:\"boolean\",category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Do_not_resolve_the_real_path_of_symlinks},{name:\"allowUmdGlobalAccess\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Allow_accessing_UMD_globals_from_modules},{name:\"sourceRoot\",type:\"string\",affectsEmit:!0,paramType:e.Diagnostics.LOCATION,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations},{name:\"mapRoot\",type:\"string\",affectsEmit:!0,paramType:e.Diagnostics.LOCATION,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations},{name:\"inlineSourceMap\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file},{name:\"inlineSources\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set},{name:\"experimentalDecorators\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Experimental_Options,description:e.Diagnostics.Enables_experimental_support_for_ES7_decorators},{name:\"emitDecoratorMetadata\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,category:e.Diagnostics.Experimental_Options,description:e.Diagnostics.Enables_experimental_support_for_emitting_type_metadata_for_decorators},{name:\"jsxFactory\",type:\"string\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h},{name:\"jsxFragmentFactory\",type:\"string\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment},{name:\"jsxImportSource\",type:\"string\",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react},{name:\"resolveJsonModule\",type:\"boolean\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Include_modules_imported_with_json_extension},{name:\"out\",type:\"string\",affectsEmit:!0,isFilePath:!1,category:e.Diagnostics.Advanced_Options,paramType:e.Diagnostics.FILE,description:e.Diagnostics.Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file,transpileOptionValue:void 0},{name:\"reactNamespace\",type:\"string\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit},{name:\"skipDefaultLibCheck\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files},{name:\"charset\",type:\"string\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.The_character_set_of_the_input_files},{name:\"emitBOM\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files},{name:\"newLine\",type:new e.Map(e.getEntries({crlf:0,lf:1})),affectsEmit:!0,paramType:e.Diagnostics.NEWLINE,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix},{name:\"noErrorTruncation\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_truncate_error_messages},{name:\"noLib\",type:\"boolean\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_include_the_default_library_file_lib_d_ts,transpileOptionValue:!0},{name:\"noResolve\",type:\"boolean\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files,transpileOptionValue:!0},{name:\"stripInternal\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_emit_declarations_for_code_that_has_an_internal_annotation},{name:\"disableSizeLimit\",type:\"boolean\",affectsSourceFile:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_size_limitations_on_JavaScript_projects},{name:\"disableSourceOfProjectReferenceRedirect\",type:\"boolean\",isTSConfigOnly:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects},{name:\"disableSolutionSearching\",type:\"boolean\",isTSConfigOnly:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_solution_searching_for_this_project},{name:\"disableReferencedProjectLoad\",type:\"boolean\",isTSConfigOnly:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_loading_referenced_projects},{name:\"noImplicitUseStrict\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_emit_use_strict_directives_in_module_output},{name:\"noEmitHelpers\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_generate_custom_helper_functions_like_extends_in_compiled_output},{name:\"noEmitOnError\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_emit_outputs_if_any_errors_were_reported,transpileOptionValue:void 0},{name:\"preserveConstEnums\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_erase_const_enum_declarations_in_generated_code},{name:\"declarationDir\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.DIRECTORY,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Output_directory_for_generated_declaration_files,transpileOptionValue:void 0},{name:\"skipLibCheck\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Skip_type_checking_of_declaration_files},{name:\"allowUnusedLabels\",type:\"boolean\",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_report_errors_on_unused_labels},{name:\"allowUnreachableCode\",type:\"boolean\",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_report_errors_on_unreachable_code},{name:\"suppressExcessPropertyErrors\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Suppress_excess_property_checks_for_object_literals},{name:\"suppressImplicitAnyIndexErrors\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures},{name:\"forceConsistentCasingInFileNames\",type:\"boolean\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disallow_inconsistently_cased_references_to_the_same_file},{name:\"maxNodeModuleJsDepth\",type:\"number\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files},{name:\"noStrictGenericChecks\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_strict_checking_of_generic_signatures_in_function_types},{name:\"useDefineForClassFields\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Emit_class_fields_with_Define_instead_of_Set},{name:\"keyofStringsOnly\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols},{name:\"plugins\",type:\"list\",isTSConfigOnly:!0,element:{name:\"plugin\",type:\"object\"},description:e.Diagnostics.List_of_language_service_plugins}]),e.semanticDiagnosticsOptionDeclarations=e.optionDeclarations.filter((function(e){return!!e.affectsSemanticDiagnostics})),e.affectsEmitOptionDeclarations=e.optionDeclarations.filter((function(e){return!!e.affectsEmit})),e.moduleResolutionOptionDeclarations=e.optionDeclarations.filter((function(e){return!!e.affectsModuleResolution})),e.sourceFileAffectingCompilerOptions=e.optionDeclarations.filter((function(e){return!!e.affectsSourceFile||!!e.affectsModuleResolution||!!e.affectsBindDiagnostics})),e.transpileOptionValueCompilerOptions=e.optionDeclarations.filter((function(t){return e.hasProperty(t,\"transpileOptionValue\")})),e.buildOpts=r(e.commonOptionsWithBuild,[{name:\"verbose\",shortName:\"v\",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Enable_verbose_logging,type:\"boolean\"},{name:\"dry\",shortName:\"d\",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Show_what_would_be_built_or_deleted_if_specified_with_clean,type:\"boolean\"},{name:\"force\",shortName:\"f\",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Build_all_projects_including_those_that_appear_to_be_up_to_date,type:\"boolean\"},{name:\"clean\",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Delete_the_outputs_of_all_projects,type:\"boolean\"}]),e.typeAcquisitionDeclarations=[{name:\"enableAutoDiscovery\",type:\"boolean\"},{name:\"enable\",type:\"boolean\"},{name:\"include\",type:\"list\",element:{name:\"include\",type:\"string\"}},{name:\"exclude\",type:\"list\",element:{name:\"exclude\",type:\"string\"}},{name:\"disableFilenameBasedTypeAcquisition\",type:\"boolean\"}],e.createOptionNameMap=s,e.getOptionsNameMap=c,e.defaultInitCompilerOptions={module:e.ModuleKind.CommonJS,target:1,strict:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,skipLibCheck:!0},e.convertEnableAutoDiscoveryToEnable=u,e.createCompilerDiagnosticForInvalidCustomType=l,e.parseCustomTypeOption=_,e.parseListTypeOption=p,e.parseCommandLineWorker=m,e.compilerOptionsDidYouMeanDiagnostics={getOptionsNameMap:c,optionDeclarations:e.optionDeclarations,unknownOptionDiagnostic:e.Diagnostics.Unknown_compiler_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_compiler_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Compiler_option_0_expects_an_argument},e.parseCommandLine=function(t,r){return m(e.compilerOptionsDidYouMeanDiagnostics,t,r)},e.getOptionFromName=v;var D={getOptionsNameMap:function(){return a||(a=s(e.buildOpts))},optionDeclarations:e.buildOpts,unknownOptionDiagnostic:e.Diagnostics.Unknown_build_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_build_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Build_option_0_requires_a_value_of_type_1};function x(t,r){var n=e.parseJsonText(t,r);return{config:L(n,n.parseDiagnostics),error:n.parseDiagnostics.length?n.parseDiagnostics[0]:void 0}}function b(t,r){var n=S(t,r);return e.isString(n)?e.parseJsonText(t,n):{fileName:t,parseDiagnostics:[n]}}function S(t,r){var n;try{n=r(t)}catch(r){return e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0_Colon_1,t,r.message)}return void 0===n?e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0,t):n}function E(t){return e.arrayToMap(t,f)}e.parseBuildCommand=function(t){var r=m(D,t),n=r.options,i=r.watchOptions,a=r.fileNames,o=r.errors,s=n;return 0===a.length&&a.push(\".\"),s.clean&&s.force&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,\"clean\",\"force\")),s.clean&&s.verbose&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,\"clean\",\"verbose\")),s.clean&&s.watch&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,\"clean\",\"watch\")),s.watch&&s.dry&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,\"watch\",\"dry\")),{buildOptions:s,watchOptions:i,projects:a,errors:o}},e.getDiagnosticText=function(t){for(var r=[],n=1;n=0)return c.push(e.createCompilerDiagnostic(e.Diagnostics.Circularity_detected_while_resolving_configuration_Colon_0,r(s,[d]).join(\" -> \"))),{raw:t||L(n,c)};var _=t?function(t,r,n,i,a){e.hasProperty(t,\"excludes\")&&a.push(e.createCompilerDiagnostic(e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude));var o,s=ae(t.compilerOptions,n,a,i),c=se(t.typeAcquisition||t.typingOptions,n,a,i),u=function(e,t,r){return ce(O(),e,t,void 0,w,r)}(t.watchOptions,n,a);if(t.compileOnSave=function(t,r,n){if(!e.hasProperty(t,e.compileOnSaveCommandLineOption.name))return!1;var i=ue(e.compileOnSaveCommandLineOption,t.compileOnSave,r,n);return\"boolean\"==typeof i&&i}(t,n,a),t.extends)if(e.isString(t.extends)){var l=i?X(i,n):n;o=ne(t.extends,r,l,a,e.createCompilerDiagnostic)}else a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,\"extends\",\"string\"));return{raw:t,options:s,watchOptions:u,typeAcquisition:c,extendedConfigPath:o}}(t,i,a,o,c):function(t,r,n,i,a){var o,s,c,u,l=ie(i),d={onSetValidOptionKeyValueInParent:function(t,r,a){var u;switch(t){case\"compilerOptions\":u=l;break;case\"watchOptions\":u=c||(c={});break;case\"typeAcquisition\":u=o||(o=oe(i));break;case\"typingOptions\":u=s||(s=oe(i));break;default:e.Debug.fail(\"Unknown option\")}u[r.name]=le(r,n,a)},onSetValidOptionKeyValueInRoot:function(o,s,c,l){switch(o){case\"extends\":var d=i?X(i,n):n;return void(u=ne(c,r,d,a,(function(r,n){return e.createDiagnosticForNodeInSourceFile(t,l,r,n)})))}},onSetUnknownOptionKeyValueInRoot:function(r,n,i,o){\"excludes\"===r&&a.push(e.createDiagnosticForNodeInSourceFile(t,n,e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude))}},_=R(t,a,!0,(void 0===P&&(P={name:void 0,type:\"object\",elementOptions:E([{name:\"compilerOptions\",type:\"object\",elementOptions:I(),extraKeyDiagnostics:e.compilerOptionsDidYouMeanDiagnostics},{name:\"watchOptions\",type:\"object\",elementOptions:O(),extraKeyDiagnostics:w},{name:\"typingOptions\",type:\"object\",elementOptions:M(),extraKeyDiagnostics:C},{name:\"typeAcquisition\",type:\"object\",elementOptions:M(),extraKeyDiagnostics:C},{name:\"extends\",type:\"string\"},{name:\"references\",type:\"list\",element:{name:\"references\",type:\"object\"}},{name:\"files\",type:\"list\",element:{name:\"files\",type:\"string\"}},{name:\"include\",type:\"list\",element:{name:\"include\",type:\"string\"}},{name:\"exclude\",type:\"list\",element:{name:\"exclude\",type:\"string\"}},e.compileOnSaveCommandLineOption])}),P),d);o||(o=s?void 0!==s.enableAutoDiscovery?{enable:s.enableAutoDiscovery,include:s.include,exclude:s.exclude}:s:oe(i));return{raw:_,options:l,watchOptions:c,typeAcquisition:o,extendedConfigPath:u}}(n,i,a,o,c);if((null===(l=_.options)||void 0===l?void 0:l.paths)&&(_.options.pathsBasePath=a),_.extendedConfigPath){s=s.concat([d]);var p=function(t,r,n,i,a,o,s){var c,u,l,d,_=n.useCaseSensitiveFileNames?r:e.toFileNameLowerCase(r);if(s&&(u=s.get(_)))l=u.extendedResult,d=u.extendedConfig;else{if(!(l=b(r,(function(e){return n.readFile(e)}))).parseDiagnostics.length){var p=e.getDirectoryPath(r);if(te(d=re(void 0,l,n,p,e.getBaseFileName(r),a,o,s))){var f=e.convertToRelativePath(p,i,e.identity),g=function(t){return e.isRootedDiskPath(t)?t:e.combinePaths(f,t)},m=function(t){y[t]&&(y[t]=e.map(y[t],g))},y=d.raw;m(\"include\"),m(\"exclude\"),m(\"files\")}}s&&s.set(_,{extendedResult:l,extendedConfig:d})}t&&(t.extendedSourceFiles=[l.fileName],l.extendedSourceFiles&&(c=t.extendedSourceFiles).push.apply(c,l.extendedSourceFiles));if(l.parseDiagnostics.length)return void o.push.apply(o,l.parseDiagnostics);return d}(n,_.extendedConfigPath,i,a,s,c,u);if(p&&te(p)){var f=p.raw,g=_.raw,m=function(e){var t=g[e]||f[e];t&&(g[e]=t)};m(\"include\"),m(\"exclude\"),m(\"files\"),void 0===g.compileOnSave&&(g.compileOnSave=f.compileOnSave),_.options=e.assign({},p.options,_.options),_.watchOptions=_.watchOptions&&p.watchOptions?e.assign({},p.watchOptions,_.watchOptions):_.watchOptions||p.watchOptions}}return _}function ne(t,r,n,i,a){if(t=e.normalizeSlashes(t),e.isRootedDiskPath(t)||e.startsWith(t,\"./\")||e.startsWith(t,\"../\")){var o=e.getNormalizedAbsolutePath(t,n);return r.fileExists(o)||e.endsWith(o,\".json\")||(o+=\".json\",r.fileExists(o))?o:void i.push(a(e.Diagnostics.File_0_not_found,t))}var s=e.nodeModuleNameResolver(t,e.combinePaths(n,\"tsconfig.json\"),{moduleResolution:e.ModuleResolutionKind.NodeJs},r,void 0,void 0,!0);if(s.resolvedModule)return s.resolvedModule.resolvedFileName;i.push(a(e.Diagnostics.File_0_not_found,t))}function ie(t){return t&&\"jsconfig.json\"===e.getBaseFileName(t)?{allowJs:!0,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:!0,skipLibCheck:!0,noEmit:!0}:{}}function ae(t,r,n,i){var a=ie(i);return ce(I(),t,r,a,e.compilerOptionsDidYouMeanDiagnostics,n),i&&(a.configFilePath=e.normalizeSlashes(i)),a}function oe(t){return{enable:!!t&&\"jsconfig.json\"===e.getBaseFileName(t),include:[],exclude:[]}}function se(e,t,r,n){var i=oe(n),a=u(e);return ce(M(),a,t,i,C,r),i}function ce(t,r,n,i,a,o){if(r){for(var s in r){var c=t.get(s);c?(i||(i={}))[c.name]=ue(c,r[s],n,o):o.push(g(s,a,e.createCompilerDiagnostic))}return i}}function ue(t,r,n,i){if(j(t,r)){var a=t.type;return\"list\"===a&&e.isArray(r)?function(t,r,n,i){return e.filter(e.map(r,(function(e){return ue(t.element,e,n,i)})),(function(e){return!!e}))}(t,r,n,i):e.isString(a)?de(t,n,r):_e(t,r,i)}i.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,t.name,B(t)))}function le(t,r,n){if(!Y(n)){if(\"list\"===t.type){var i=t;return i.element.isFilePath||!e.isString(i.element.type)?e.filter(e.map(n,(function(e){return le(i.element,r,e)})),(function(e){return!!e})):n}return e.isString(t.type)?de(t,r,n):t.type.get(e.isString(n)?n.toLowerCase():n)}}function de(t,r,n){return t.isFilePath&&\"\"===(n=e.getNormalizedAbsolutePath(n,r))&&(n=\".\"),n}function _e(e,t,r){if(!Y(t)){var n=t.toLowerCase(),i=e.type.get(n);if(void 0!==i)return i;r.push(l(e))}}function pe(e){return\"function\"==typeof e.trim?e.trim():e.replace(/^[\\s]+|[\\s]+$/g,\"\")}e.convertToObject=L,e.convertToObjectWorker=R,e.convertToTSConfig=function(t,r,i){var a=e.createGetCanonicalFileName(i.useCaseSensitiveFileNames),o=e.map(e.filter(t.fileNames,t.configFileSpecs&&t.configFileSpecs.validatedIncludeSpecs?function(t,r,n,i){if(!r)return function(e){return!0};var a=e.getFileMatcherPatterns(t,n,r,i.useCaseSensitiveFileNames,i.getCurrentDirectory()),o=a.excludePattern&&e.getRegexFromPattern(a.excludePattern,i.useCaseSensitiveFileNames),s=a.includeFilePattern&&e.getRegexFromPattern(a.includeFilePattern,i.useCaseSensitiveFileNames);if(s)return o?function(e){return!(s.test(e)&&!o.test(e))}:function(e){return!s.test(e)};if(o)return function(e){return o.test(e)};return function(e){return!0}}(r,t.configFileSpecs.validatedIncludeSpecs,t.configFileSpecs.validatedExcludeSpecs,i):function(e){return!0}),(function(t){return e.getRelativePathFromFile(e.getNormalizedAbsolutePath(r,i.getCurrentDirectory()),e.getNormalizedAbsolutePath(t,i.getCurrentDirectory()),a)})),s=V(t.options,{configFilePath:e.getNormalizedAbsolutePath(r,i.getCurrentDirectory()),useCaseSensitiveFileNames:i.useCaseSensitiveFileNames}),c=t.watchOptions&&function(e){return q(e,k())}(t.watchOptions);return n(n({compilerOptions:n(n({},J(s)),{showConfig:void 0,configFile:void 0,configFilePath:void 0,help:void 0,init:void 0,listFiles:void 0,listEmittedFiles:void 0,project:void 0,build:void 0,version:void 0}),watchOptions:c&&J(c),references:e.map(t.projectReferences,(function(e){return n(n({},e),{path:e.originalPath?e.originalPath:\"\",originalPath:void 0})})),files:e.length(o)?o:void 0},t.configFileSpecs?{include:K(t.configFileSpecs.validatedIncludeSpecs),exclude:t.configFileSpecs.validatedExcludeSpecs}:{}),{compileOnSave:!!t.compileOnSave||void 0})},e.generateTSConfig=function(t,r,n){var i=V(e.extend(t,e.defaultInitCompilerOptions));return function(){for(var t=e.createMultiMap(),c=0,u=e.optionDeclarations;c0)for(var x=function(t){if(e.fileExtensionIs(t,\".json\")){if(!o){var n=_.filter((function(t){return e.endsWith(t,\".json\")})),a=e.map(e.getRegularExpressionsForWildcards(n,r,\"files\"),(function(e){return\"^\"+e+\"$\"}));o=a?a.map((function(t){return e.getRegexFromPattern(t,i.useCaseSensitiveFileNames)})):e.emptyArray}if(-1!==e.findIndex(o,(function(e){return e.test(t)}))){var d=s(t);c.has(d)||l.has(d)||l.set(d,t)}return\"continue\"}if(function(t,r,n,i,a){for(var o=e.getExtensionPriority(t,i),s=e.adjustExtensionPriority(o,i),c=0;cs&&(s=l),1===s)return s}return s}break;case 257:var d=0;return e.forEachChild(t,(function(t){var n=a(t,r);switch(n){case 0:return;case 2:return void(d=2);case 1:return d=1,!0;default:e.Debug.assertNever(n)}})),d;case 256:return i(t,r);case 78:if(t.isInJSDocNamespace)return 0}return 1}(t,r);return r.set(n,s),s}function o(t,r){for(var n=t.propertyName||t.name,i=t.parent;i;){if(e.isBlock(i)||e.isModuleBlock(i)||e.isSourceFile(i)){for(var o=void 0,s=0,c=i.statements;so)&&(o=l),1===o)return o}}if(void 0!==o)return o}i=i.parent}return 1}function s(t){return e.Debug.attachFlowNodeDebugInfo(t),t}!function(e){e[e.NonInstantiated=0]=\"NonInstantiated\",e[e.Instantiated=1]=\"Instantiated\",e[e.ConstEnumOnly=2]=\"ConstEnumOnly\"}(e.ModuleInstanceState||(e.ModuleInstanceState={})),e.getModuleInstanceState=i,function(e){e[e.None=0]=\"None\",e[e.IsContainer=1]=\"IsContainer\",e[e.IsBlockScopedContainer=2]=\"IsBlockScopedContainer\",e[e.IsControlFlowContainer=4]=\"IsControlFlowContainer\",e[e.IsFunctionLike=8]=\"IsFunctionLike\",e[e.IsFunctionExpression=16]=\"IsFunctionExpression\",e[e.HasLocals=32]=\"HasLocals\",e[e.IsInterface=64]=\"IsInterface\",e[e.IsObjectLiteralOrClassExpressionMethod=128]=\"IsObjectLiteralOrClassExpressionMethod\"}(t||(t={}));var c=function(){var t,a,o,c,_,p,f,g,m,y,v,h,D,x,b,S,E,T,C,k,A,F,N,P,w=!1,I=0,O={flags:1},M={flags:1};function L(r,n,i,a,o){return e.createDiagnosticForNodeInSourceFile(e.getSourceFileOfNode(r)||t,r,n,i,a,o)}return function(r,n){t=r,a=n,o=e.getEmitScriptTarget(a),F=function(t,r){return!(!e.getStrictOptionValue(r,\"alwaysStrict\")||t.isDeclarationFile)||!!t.externalModuleIndicator}(t,n),P=new e.Set,I=0,N=e.objectAllocator.getSymbolConstructor(),e.Debug.attachFlowNodeDebugInfo(O),e.Debug.attachFlowNodeDebugInfo(M),t.locals||(Re(t),t.symbolCount=I,t.classifiableNames=P,function(){if(m){for(var r=_,n=g,i=f,a=c,o=v,u=0,d=m;u=232&&t.kind<=248&&!a.allowUnreachableCode&&(t.flowNode=v),t.kind){case 236:!function(e){var t=fe(e,Z()),r=$(),n=$();re(t,v),v=t,_e(e.expression,r,n),v=se(r),pe(e.statement,n,t),re(t,v),v=se(n)}(t);break;case 235:!function(e){var t=Z(),r=fe(e,$()),n=$();re(t,v),v=t,pe(e.statement,n,r),re(r,v),v=se(r),_e(e.expression,t,n),v=se(n)}(t);break;case 237:!function(e){var t=fe(e,Z()),r=$(),n=$();Re(e.initializer),re(t,v),v=t,_e(e.condition,r,n),v=se(r),pe(e.statement,n,t),Re(e.incrementor),re(t,v),v=se(n)}(t);break;case 238:case 239:!function(e){var t=fe(e,Z()),r=$();Re(e.expression),re(t,v),v=t,239===e.kind&&Re(e.awaitModifier);re(r,v),Re(e.initializer),250!==e.initializer.kind&&ve(e.initializer);pe(e.statement,r,t),re(t,v),v=se(r)}(t);break;case 234:!function(e){var t=$(),r=$(),n=$();_e(e.expression,t,r),v=se(t),Re(e.thenStatement),re(n,v),v=se(r),Re(e.elseStatement),re(n,v),v=se(n)}(t);break;case 242:case 246:!function(e){Re(e.expression),242===e.kind&&(k=!0,x&&re(x,v));v=O}(t);break;case 241:case 240:!function(e){if(Re(e.label),e.label){var t=function(e){for(var t=C;t;t=t.next)if(t.name===e)return t;return}(e.label.escapedText);t&&(t.referenced=!0,ge(e,t.breakTarget,t.continueTarget))}else ge(e,h,D)}(t);break;case 247:!function(t){var r=x,n=E,i=$(),a=$(),o=$();t.finallyBlock&&(x=a);re(o,v),E=o,Re(t.tryBlock),re(i,v),t.catchClause&&(v=se(o),re(o=$(),v),E=o,Re(t.catchClause),re(i,v));if(x=r,E=n,t.finallyBlock){var s=$();s.antecedents=e.concatenate(e.concatenate(i.antecedents,o.antecedents),a.antecedents),v=s,Re(t.finallyBlock),1&v.flags?v=O:(x&&a.antecedents&&re(x,ee(s,a.antecedents,v)),E&&o.antecedents&&re(E,ee(s,o.antecedents,v)),v=i.antecedents?ee(s,i.antecedents,v):O)}else v=se(i)}(t);break;case 244:!function(t){var r=$();Re(t.expression);var n=h,i=T;h=r,T=v,Re(t.caseBlock),re(r,v);var a=e.forEach(t.caseBlock.clauses,(function(e){return 285===e.kind}));t.possiblyExhaustive=!a&&!r.antecedents,a||re(r,ie(T,t,0,0));h=n,T=i,v=se(r)}(t);break;case 258:!function(e){for(var t=e.clauses,r=H(e.parent.expression),n=O,i=0;i=0;)switch(t=r.expr[n],r.state[n]){case 0:e.setParent(t,c);var i=F;Ke(t);var a=c;c=t,u(1,i,a);break;case 1:if(55===(s=t.operatorToken.kind)||56===s||60===s||e.isLogicalOrCoalescingAssignmentOperator(s)){if(le(t)){var o=$();he(t,o,o),v=se(o)}else he(t,b,S);l()}else u(2),d(t.left);break;case 2:27===t.operatorToken.kind&&me(t.left),u(3),d(t.operatorToken);break;case 3:u(4),d(t.right);break;case 4:var s=t.operatorToken.kind;if(e.isAssignmentOperator(s)&&!e.isAssignmentTarget(t))if(ve(t.left),62===s&&202===t.left.kind)Q(t.left.expression)&&(v=ae(256,v,t));l();break;default:return e.Debug.fail(\"Invalid state \"+r.state[n]+\" for bindBinaryExpressionFlow\")}function u(e,t,i){r.state[n]=e,void 0!==t&&(r.inStrictMode[n]=t),void 0!==i&&(r.parent[n]=i)}function l(){void 0!==r.inStrictMode[n]&&(F=r.inStrictMode[n],c=r.parent[n]),n--}function d(t){t&&e.isBinaryExpression(t)&&!e.isDestructuringAssignment(t)?(n++,r.expr[n]=t,r.state[n]=0,r.inStrictMode[n]=void 0,r.parent[n]=void 0):Re(t)}}(t);break;case 210:!function(e){q(e),201===e.expression.kind&&ve(e.expression)}(t);break;case 217:!function(e){var t=$(),r=$(),n=$();_e(e.condition,t,r),v=se(t),Re(e.questionToken),Re(e.whenTrue),re(n,v),v=se(r),Re(e.colonToken),Re(e.whenFalse),re(n,v),v=se(n)}(t);break;case 249:!function(t){q(t),(t.initializer||e.isForInOrOfStatement(t.parent.parent))&&De(t)}(t);break;case 201:case 202:!function(t){e.isOptionalChain(t)?Se(t):q(t)}(t);break;case 203:!function(t){if(e.isOptionalChain(t))Se(t);else{var r=e.skipParentheses(t.expression);208===r.kind||209===r.kind?(V(t.typeArguments),V(t.arguments),Re(t.expression)):(q(t),105===t.expression.kind&&(v=oe(v,t)))}if(201===t.expression.kind){var n=t.expression;e.isIdentifier(n.name)&&Q(n.expression)&&e.isPushOrUnshiftIdentifier(n.name)&&(v=ae(256,v,t))}}(t);break;case 225:!function(t){e.isOptionalChain(t)?Se(t):q(t)}(t);break;case 331:case 324:case 325:!function(t){e.setParent(t.tagName,t),325!==t.kind&&t.fullName&&(e.setParent(t.fullName,t),e.setParentRecursive(t.fullName,!1))}(t);break;case 297:U(t.statements),Re(t.endOfFileToken);break;case 230:case 257:U(t.statements);break;case 198:!function(t){e.isBindingPattern(t.name)?(V(t.decorators),V(t.modifiers),Re(t.dotDotDotToken),Re(t.propertyName),Re(t.initializer),Re(t.name)):q(t)}(t);break;case 200:case 199:case 288:case 220:w=r;default:q(t)}Be(t),w=r}function H(t){switch(t.kind){case 78:case 79:case 107:case 201:case 202:return Y(t);case 203:return function(e){if(e.arguments)for(var t=0,r=e.arguments;t=116&&r.originalKeywordKind<=124?t.bindDiagnostics.push(L(r,function(r){if(e.getContainingClass(r))return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode;if(t.externalModuleIndicator)return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode;return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}(r),e.declarationNameToString(r))):130===r.originalKeywordKind?e.isExternalModule(t)&&e.isInTopLevelContext(r)?t.bindDiagnostics.push(L(r,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module,e.declarationNameToString(r))):32768&r.flags&&t.bindDiagnostics.push(L(r,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,e.declarationNameToString(r))):124===r.originalKeywordKind&&8192&r.flags&&t.bindDiagnostics.push(L(r,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,e.declarationNameToString(r))))}function we(r,n){if(n&&78===n.kind){var i=n;if(function(t){return e.isIdentifier(t)&&(\"eval\"===t.escapedText||\"arguments\"===t.escapedText)}(i)){var a=e.getErrorSpanForNode(t,n);t.bindDiagnostics.push(e.createFileDiagnostic(t,a.start,a.length,function(r){if(e.getContainingClass(r))return e.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode;if(t.externalModuleIndicator)return e.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode;return e.Diagnostics.Invalid_use_of_0_in_strict_mode}(r),e.idText(i)))}}}function Ie(e){F&&we(e,e.name)}function Oe(r){if(o<2&&297!==f.kind&&256!==f.kind&&!e.isFunctionLike(f)){var n=e.getErrorSpanForNode(t,r);t.bindDiagnostics.push(e.createFileDiagnostic(t,n.start,n.length,function(r){return e.getContainingClass(r)?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:t.externalModuleIndicator?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}(r)))}}function Me(r,n,i,a,o){var s=e.getSpanOfTokenAtPosition(t,r.pos);t.bindDiagnostics.push(e.createFileDiagnostic(t,s.start,s.length,n,i,a,o))}function Le(r,i,a,o){!function(r,i,a){var o=e.createFileDiagnostic(t,i.pos,i.end-i.pos,a);r?t.bindDiagnostics.push(o):t.bindSuggestionDiagnostics=e.append(t.bindSuggestionDiagnostics,n(n({},o),{category:e.DiagnosticCategory.Suggestion}))}(r,{pos:e.getTokenPosOfNode(i,t),end:a.end},o)}function Re(t){if(t){e.setParent(t,c);var r=F;if(Ke(t),t.kind>156){var n=c;c=t;var i=Ee(t);0===i?W(t):function(t,r){var n=_,i=p,a=f;if(1&r?(209!==t.kind&&(p=_),_=f=t,32&r&&(_.locals=e.createSymbolTable()),Te(_)):2&r&&((f=t).locals=void 0),4&r){var o=v,c=h,u=D,l=x,d=E,g=C,m=k,b=16&r&&!e.hasSyntacticModifier(t,256)&&!t.asteriskToken&&!!e.getImmediatelyInvokedFunctionExpression(t);b||(v=s({flags:2}),144&r&&(v.node=t)),x=b||166===t.kind||e.isInJSFile&&(251===t.kind||208===t.kind)?$():void 0,E=void 0,h=void 0,D=void 0,C=void 0,k=!1,W(t),t.flags&=-2817,!(1&v.flags)&&8&r&&e.nodeIsPresent(t.body)&&(t.flags|=256,k&&(t.flags|=512),t.endFlowNode=v),297===t.kind&&(t.flags|=A),x&&(re(x,v),v=se(x),(166===t.kind||e.isInJSFile&&(251===t.kind||208===t.kind))&&(t.returnFlowNode=v)),b||(v=o),h=c,D=u,x=l,E=d,C=g,k=m}else 64&r?(y=!1,W(t),t.flags=y?128|t.flags:-129&t.flags):W(t);_=n,p=i,f=a}(t,i),c=n}else{n=c;1===t.kind&&(c=t),Be(t),c=n}F=r}}function Be(t){if(e.hasJSDocNodes(t))if(e.isInJSFile(t))for(var r=0,n=t.jsDoc;r=2&&(e.isDeclarationStatement(t.statement)||e.isVariableStatement(t.statement))&&Me(t.label,e.Diagnostics.A_label_is_not_allowed_here)}(r);case 187:return void(y=!0);case 172:break;case 159:return function(t){if(e.isJSDocTemplateTag(t.parent)){var r=e.find(t.parent.parent.tags,e.isJSDocTypeAlias)||e.getHostSignatureFromJSDoc(t.parent);r?(r.locals||(r.locals=e.createSymbolTable()),K(r.locals,void 0,t,262144,526824)):Ce(t,262144,526824)}else if(185===t.parent.kind){var n=function(t){var r=e.findAncestor(t,(function(t){return t.parent&&e.isConditionalTypeNode(t.parent)&&t.parent.extendsType===t}));return r&&r.parent}(t.parent);n?(n.locals||(n.locals=e.createSymbolTable()),K(n.locals,void 0,t,262144,526824)):Fe(t,262144,j(t))}else Ce(t,262144,526824)}(r);case 160:return it(r);case 249:return nt(r);case 198:return r.flowNode=v,nt(r);case 163:case 162:return function(e){return at(e,4|(e.questionToken?16777216:0),0)}(r);case 288:case 289:return at(r,4,0);case 291:return at(r,8,900095);case 169:case 170:case 171:return Ce(r,131072,0);case 165:case 164:return at(r,8192|(r.questionToken?16777216:0),e.isObjectLiteralMethod(r)?0:103359);case 251:return function(r){t.isDeclarationFile||8388608&r.flags||e.isAsyncFunction(r)&&(A|=2048);Ie(r),F?(Oe(r),Ne(r,16,110991)):Ce(r,16,110991)}(r);case 166:return Ce(r,16384,0);case 167:return at(r,32768,46015);case 168:return at(r,65536,78783);case 174:case 308:case 313:case 175:return function(t){var r=R(131072,j(t));B(r,t,131072);var n=R(2048,\"__type\");B(n,t,2048),n.members=e.createSymbolTable(),n.members.set(r.escapedName,r)}(r);case 177:case 312:case 190:return function(e){return Fe(e,2048,\"__type\")}(r);case 319:return function(t){q(t);var r=e.getHostSignatureFromJSDoc(t);r&&165!==r.kind&&B(r.symbol,r,32)}(r);case 200:return function(r){var n;if(function(e){e[e.Property=1]=\"Property\",e[e.Accessor=2]=\"Accessor\"}(n||(n={})),F&&!e.isAssignmentTarget(r))for(var i=new e.Map,a=0,o=r.properties;a1&&2097152&v.flags&&(t=e.createSymbolTable()).set(\"export=\",v);return O(t),C(l);function D(e){return!!e&&78===e.kind}function x(t){return e.isVariableStatement(t)?e.filter(e.map(t.declarationList.declarations,e.getNameOfDeclaration),D):e.filter([e.getNameOfDeclaration(t)],D)}function b(t){var n=e.find(t,e.isExportAssignment),i=e.findIndex(t,e.isModuleDeclaration),a=-1!==i?t[i]:void 0;if(a&&n&&n.isExportEquals&&e.isIdentifier(n.expression)&&e.isIdentifier(a.name)&&e.idText(a.name)===e.idText(n.expression)&&a.body&&e.isModuleBlock(a.body)){var o=e.filter(t,(function(t){return!!(1&e.getEffectiveModifierFlags(t))})),s=a.name,c=a.body;if(e.length(o)&&(a=e.factory.updateModuleDeclaration(a,a.decorators,a.modifiers,a.name,c=e.factory.updateModuleBlock(c,e.factory.createNodeArray(r(a.body.statements,[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.map(e.flatMap(o,(function(e){return x(e)})),(function(t){return e.factory.createExportSpecifier(void 0,t)}))),void 0)])))),t=r(t.slice(0,i),[a],t.slice(i+1))),!e.find(t,(function(t){return t!==a&&e.nodeHasName(t,s)}))){l=[];var u=!e.some(c.statements,(function(t){return e.hasSyntacticModifier(t,1)||e.isExportAssignment(t)||e.isExportDeclaration(t)}));e.forEach(c.statements,(function(e){K(e,u?1:0)})),t=r(e.filter(t,(function(e){return e!==a&&e!==n})),l)}}return t}function E(t){var n=e.filter(t,(function(t){return e.isExportDeclaration(t)&&!t.moduleSpecifier&&!!t.exportClause&&e.isNamedExports(t.exportClause)}));if(e.length(n)>1){var i=e.filter(t,(function(t){return!e.isExportDeclaration(t)||!!t.moduleSpecifier||!t.exportClause}));t=r(i,[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.flatMap(n,(function(t){return e.cast(t.exportClause,e.isNamedExports).elements}))),void 0)])}var a=e.filter(t,(function(t){return e.isExportDeclaration(t)&&!!t.moduleSpecifier&&!!t.exportClause&&e.isNamedExports(t.exportClause)}));if(e.length(a)>1){var o=e.group(a,(function(t){return e.isStringLiteral(t.moduleSpecifier)?\">\"+t.moduleSpecifier.text:\">\"}));if(o.length!==a.length)for(var s=function(n){n.length>1&&(t=r(e.filter(t,(function(e){return-1===n.indexOf(e)})),[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.flatMap(n,(function(t){return e.cast(t.exportClause,e.isNamedExports).elements}))),n[0].moduleSpecifier)]))},c=0,u=o;c=0){var n=t[r],i=e.mapDefined(n.exportClause.elements,(function(r){if(!r.propertyName){var n=e.indicesOf(t),i=e.filter(n,(function(n){return e.nodeHasName(t[n],r.name)}));if(e.length(i)&&e.every(i,(function(e){return F(t[e])}))){for(var a=0,o=i;a0&&e.isSingleOrDoubleQuote(a.charCodeAt(0))?e.stripQuotes(a):a}return\"default\"===r?r=\"_default\":\"export=\"===r&&(r=\"_exports\"),r=e.isIdentifierText(r,q)&&!e.isStringANonContextualKeyword(r)?r:\"_\"+r.replace(/[^a-zA-Z0-9]/g,\"_\")}function pe(e,t){var r=M(e);return i.remappedSymbolNames.has(r)?i.remappedSymbolNames.get(r):(t=_e(e,t),i.remappedSymbolNames.set(r,t),t)}}(t,i,u)}))}};function i(r,n,i,a){var o,s;e.Debug.assert(void 0===r||0==(8&r.flags));var c={enclosingDeclaration:r,flags:n||0,tracker:i&&i.trackSymbol?i:{trackSymbol:e.noop,moduleResolverHost:134217728&n?{getCommonSourceDirectory:t.getCommonSourceDirectory?function(){return t.getCommonSourceDirectory()}:function(){return\"\"},getSourceFiles:function(){return t.getSourceFiles()},getCurrentDirectory:function(){return t.getCurrentDirectory()},getSymlinkCache:e.maybeBind(t,t.getSymlinkCache),useCaseSensitiveFileNames:e.maybeBind(t,t.useCaseSensitiveFileNames),redirectTargetsMap:t.redirectTargetsMap,getProjectReferenceRedirect:function(e){return t.getProjectReferenceRedirect(e)},isSourceOfProjectReferenceRedirect:function(e){return t.isSourceOfProjectReferenceRedirect(e)},fileExists:function(e){return t.fileExists(e)}}:void 0},encounteredError:!1,visitedTypes:void 0,symbolDepth:void 0,inferTypeParameters:void 0,approximateLength:0},u=a(c);return c.truncating&&1&c.flags&&(null===(s=null===(o=c.tracker)||void 0===o?void 0:o.reportTruncationError)||void 0===s||s.call(o)),c.encounteredError?void 0:u}function o(t){return t.truncating?t.truncating:t.truncating=t.approximateLength>(1&t.flags?e.noTruncationMaximumTruncationLength:e.defaultMaximumTruncationLength)}function s(t,r){a&&a.throwIfCancellationRequested&&a.throwIfCancellationRequested();var n=8388608&r.flags;if(r.flags&=-8388609,!t)return 262144&r.flags?(r.approximateLength+=3,e.factory.createKeywordTypeNode(128)):void(r.encounteredError=!0);if(536870912&r.flags||(t=oc(t)),1&t.flags)return r.approximateLength+=3,e.factory.createKeywordTypeNode(t===Fe?136:128);if(2&t.flags)return e.factory.createKeywordTypeNode(152);if(4&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(147);if(8&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(144);if(64&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(155);if(16&t.flags)return r.approximateLength+=7,e.factory.createKeywordTypeNode(131);if(1024&t.flags&&!(1048576&t.flags)){var i=Ai(t.symbol),c=E(i,r,788968);if(Jo(i)===t)return c;var g=e.symbolName(t.symbol);return e.isIdentifierText(g,0)?V(c,e.factory.createTypeReferenceNode(g,void 0)):e.isImportTypeNode(c)?(c.isTypeOf=!0,e.factory.createIndexedAccessTypeNode(c,e.factory.createLiteralTypeNode(e.factory.createStringLiteral(g)))):e.isTypeReferenceNode(c)?e.factory.createIndexedAccessTypeNode(e.factory.createTypeQueryNode(c.typeName),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(g))):e.Debug.fail(\"Unhandled type node kind returned from `symbolToTypeNode`.\")}if(1056&t.flags)return E(t.symbol,r,788968);if(128&t.flags)return r.approximateLength+=t.value.length+2,e.factory.createLiteralTypeNode(e.setEmitFlags(e.factory.createStringLiteral(t.value,!!(268435456&r.flags)),16777216));if(256&t.flags){var m=t.value;return r.approximateLength+=(\"\"+m).length,e.factory.createLiteralTypeNode(m<0?e.factory.createPrefixUnaryExpression(40,e.factory.createNumericLiteral(-m)):e.factory.createNumericLiteral(m))}if(2048&t.flags)return r.approximateLength+=e.pseudoBigIntToString(t.value).length+1,e.factory.createLiteralTypeNode(e.factory.createBigIntLiteral(t.value));if(512&t.flags)return r.approximateLength+=t.intrinsicName.length,e.factory.createLiteralTypeNode(\"true\"===t.intrinsicName?e.factory.createTrue():e.factory.createFalse());if(8192&t.flags){if(!(1048576&r.flags)){if(Xi(t.symbol,r.enclosingDeclaration))return r.approximateLength+=6,E(t.symbol,r,111551);r.tracker.reportInaccessibleUniqueSymbolError&&r.tracker.reportInaccessibleUniqueSymbolError()}return r.approximateLength+=13,e.factory.createTypeOperatorNode(151,e.factory.createKeywordTypeNode(148))}if(16384&t.flags)return r.approximateLength+=4,e.factory.createKeywordTypeNode(113);if(32768&t.flags)return r.approximateLength+=9,e.factory.createKeywordTypeNode(150);if(65536&t.flags)return r.approximateLength+=4,e.factory.createLiteralTypeNode(e.factory.createNull());if(131072&t.flags)return r.approximateLength+=5,e.factory.createKeywordTypeNode(141);if(4096&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(148);if(67108864&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(145);if(kl(t))return 4194304&r.flags&&(r.encounteredError||32768&r.flags||(r.encounteredError=!0),r.tracker.reportInaccessibleThisError&&r.tracker.reportInaccessibleThisError()),r.approximateLength+=4,e.factory.createThisTypeNode();if(!n&&t.aliasSymbol&&(16384&r.flags||Yi(t.aliasSymbol,r.enclosingDeclaration))){var y=d(t.aliasTypeArguments,r);return!Ki(t.aliasSymbol.escapedName)||32&t.aliasSymbol.flags?E(t.aliasSymbol,r,788968,y):e.factory.createTypeReferenceNode(e.factory.createIdentifier(\"\"),y)}var v=e.getObjectFlags(t);if(4&v)return e.Debug.assert(!!(524288&t.flags)),t.node?K(t,U):U(t);if(262144&t.flags||3&v){if(262144&t.flags&&e.contains(r.inferTypeParameters,t))return r.approximateLength+=e.symbolName(t.symbol).length+6,e.factory.createInferTypeNode(f(t,r,void 0));if(4&r.flags&&262144&t.flags&&!Yi(t.symbol,r.enclosingDeclaration)){var h=C(t,r);return r.approximateLength+=e.idText(h).length,e.factory.createTypeReferenceNode(e.factory.createIdentifier(e.idText(h)),void 0)}return t.symbol?E(t.symbol,r,788968):e.factory.createTypeReferenceNode(e.factory.createIdentifier(\"?\"),void 0)}if(3145728&t.flags){var D=1048576&t.flags?function(e){for(var t=[],r=0,n=0;n0?1048576&t.flags?e.factory.createUnionTypeNode(x):e.factory.createIntersectionTypeNode(x):void(r.encounteredError||262144&r.flags||(r.encounteredError=!0))}if(48&v)return e.Debug.assert(!!(524288&t.flags)),J(t);if(4194304&t.flags){var b=t.type;r.approximateLength+=6;var S=s(b,r);return e.factory.createTypeOperatorNode(138,S)}if(134217728&t.flags){var T=t.texts,k=t.types,A=e.factory.createTemplateHead(T[0]),F=e.factory.createNodeArray(e.map(k,(function(t,n){return e.factory.createTemplateLiteralTypeSpan(s(t,r),(n10)return u(r);r.symbolDepth.set(s,i+1)}r.visitedTypes.add(a);var c=n(t);return r.visitedTypes.delete(a),s&&r.symbolDepth.set(s,i),c}function z(t){if(Ls(t)||t.containsError)return function(t){e.Debug.assert(!!(524288&t.flags));var n,i=t.declaration.readonlyToken?e.factory.createToken(t.declaration.readonlyToken.kind):void 0,a=t.declaration.questionToken?e.factory.createToken(t.declaration.questionToken.kind):void 0;n=Ps(t)?e.factory.createTypeOperatorNode(138,s(ws(t),r)):s(ks(t),r);var o=f(Cs(t),r,n),c=t.declaration.nameType?s(As(t),r):void 0,u=s(Fs(t),r),l=e.factory.createMappedTypeNode(i,o,c,a,u);return r.approximateLength+=10,e.setEmitFlags(l,1)}(t);var n=Rs(t);if(!n.properties.length&&!n.stringIndexInfo&&!n.numberIndexInfo){if(!n.callSignatures.length&&!n.constructSignatures.length)return r.approximateLength+=2,e.setEmitFlags(e.factory.createTypeLiteralNode(void 0),1);if(1===n.callSignatures.length&&!n.constructSignatures.length)return p(n.callSignatures[0],174,r);if(1===n.constructSignatures.length&&!n.callSignatures.length)return p(n.constructSignatures[0],175,r)}var i=r.flags;r.flags|=4194304;var a=function(t){if(o(r))return[e.factory.createPropertySignature(void 0,\"...\",void 0,void 0)];for(var n=[],i=0,a=t.callSignatures;i0){var v=(t.target.typeParameters||e.emptyArray).length;y=d(n.slice(b,v),r)}S=r.flags;r.flags|=16;var h=E(t.symbol,r,788968,y);return r.flags=S,u?V(u,h):h}if(n.length>0){var D=au(t),x=d(n.slice(0,D),r);if(x){if(t.target.labeledElementDeclarations)for(var b=0;b2)return[s(t[0],r),e.factory.createTypeReferenceNode(\"... \"+(t.length-2)+\" more ...\",void 0),s(t[t.length-1],r)]}for(var i=!(64&r.flags)?e.createUnderscoreEscapedMultiMap():void 0,a=[],c=0,u=0,l=t;u0)),a}function D(t,r){var n;return 524384&qx(t).flags&&(n=e.factory.createNodeArray(e.map(Do(t),(function(e){return g(e,r)})))),n}function x(t,r,n){var i;e.Debug.assert(t&&0<=r&&r1?m(a,a.length-1,1):void 0,c=i||x(a,0,r),u=S(a[0],r);!(67108864&r.flags)&&e.getEmitModuleResolutionKind(V)===e.ModuleResolutionKind.NodeJs&&u.indexOf(\"/node_modules/\")>=0&&(r.encounteredError=!0,r.tracker.reportLikelyUnsafeImportRequiredError&&r.tracker.reportLikelyUnsafeImportRequiredError(u));var l=e.factory.createLiteralTypeNode(e.factory.createStringLiteral(u));if(r.tracker.trackExternalModuleSymbolOfImportTypeNode&&r.tracker.trackExternalModuleSymbolOfImportTypeNode(a[0]),r.approximateLength+=u.length+10,!s||e.isEntityName(s)){if(s)(f=e.isIdentifier(s)?s:s.right).typeArguments=void 0;return e.factory.createImportTypeNode(l,s,c,o)}var d=b(s),_=d.objectType.typeName;return e.factory.createIndexedAccessTypeNode(e.factory.createImportTypeNode(l,_,c,o),d.indexType)}var p=m(a,a.length-1,0);if(e.isIndexedAccessTypeNode(p))return p;if(o)return e.factory.createTypeQueryNode(p);var f,g=(f=e.isIdentifier(p)?p:p.right).typeArguments;return f.typeArguments=void 0,e.factory.createTypeReferenceNode(p,g);function m(t,n,a){var o,s=n===t.length-1?i:x(t,n,r),c=t[n],u=t[n-1];if(0===n)r.flags|=16777216,o=ha(c,r),r.approximateLength+=(o?o.length:0)+1,r.flags^=16777216;else if(u&&bi(u)){var l=bi(u);e.forEachEntry(l,(function(t,r){if(wi(t,c)&&!$o(r)&&\"export=\"!==r)return o=e.unescapeLeadingUnderscores(r),!0}))}if(o||(o=ha(c,r)),r.approximateLength+=o.length+1,!(16&r.flags)&&u&&is(u)&&is(u).get(c.escapedName)&&wi(is(u).get(c.escapedName),c)){var d=m(t,n-1,a);return e.isIndexedAccessTypeNode(d)?e.factory.createIndexedAccessTypeNode(d,e.factory.createLiteralTypeNode(e.factory.createStringLiteral(o))):e.factory.createIndexedAccessTypeNode(e.factory.createTypeReferenceNode(d,s),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(o)))}var _=e.setEmitFlags(e.factory.createIdentifier(o,s),16777216);if(_.symbol=c,n>a){d=m(t,n-1,a);return e.isEntityName(d)?e.factory.createQualifiedName(d,_):e.Debug.fail(\"Impossible construct - an export of an indexed access cannot be reachable\")}return _}}function T(e,t,r){var n=Pn(t.enclosingDeclaration,e,788968,void 0,e,!1);return!!n&&!(262144&n.flags&&n===r.symbol)}function C(t,r){var n;if(4&r.flags&&r.typeParameterNames){var i=r.typeParameterNames.get(Wu(t));if(i)return i}var a=k(t.symbol,r,788968,!0);if(!(78&a.kind))return e.factory.createIdentifier(\"(Missing type parameter)\");if(4&r.flags){for(var o=a.escapedText,s=0,c=o;(null===(n=r.typeParameterNamesByText)||void 0===n?void 0:n.has(c))||T(c,r,t);)c=o+\"_\"+ ++s;c!==o&&(a=e.factory.createIdentifier(c,a.typeArguments)),(r.typeParameterNames||(r.typeParameterNames=new e.Map)).set(Wu(t),a),(r.typeParameterNamesByText||(r.typeParameterNamesByText=new e.Set)).add(a.escapedText)}return a}function k(t,r,n,i){var a=v(t,r,n);return!i||1===a.length||r.encounteredError||65536&r.flags||(r.encounteredError=!0),function t(n,i){var a=x(n,i,r),o=n[i];0===i&&(r.flags|=16777216);var s=ha(o,r);0===i&&(r.flags^=16777216);var c=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216);return c.symbol=o,i>0?e.factory.createQualifiedName(t(n,i-1),c):c}(a,a.length-1)}function A(t,r,n){var i=v(t,r,n);return function t(n,i){var a=x(n,i,r),o=n[i];0===i&&(r.flags|=16777216);var s=ha(o,r);0===i&&(r.flags^=16777216);var c=s.charCodeAt(0);if(e.isSingleOrDoubleQuote(c)&&e.some(o.declarations,na))return e.factory.createStringLiteral(S(o,r));var u=35===c?s.length>1&&e.isIdentifierStart(s.charCodeAt(1),q):e.isIdentifierStart(c,q);if(0===i||u){var l=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216);return l.symbol=o,i>0?e.factory.createPropertyAccessExpression(t(n,i-1),l):l}91===c&&(s=s.substring(1,s.length-1),c=s.charCodeAt(0));var d=void 0;return e.isSingleOrDoubleQuote(c)?d=e.factory.createStringLiteral(s.substring(1,s.length-1).replace(/\\\\./g,(function(e){return e.substring(1)})),39===c):\"\"+ +s===s&&(d=e.factory.createNumericLiteral(+s)),d||((d=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216)).symbol=o),e.factory.createElementAccessExpression(t(n,i-1),d)}(i,i.length-1)}function F(t){var r=e.getNameOfDeclaration(t);return!!r&&e.isStringLiteral(r)}function N(t){var r=e.getNameOfDeclaration(t);return!!(r&&e.isStringLiteral(r)&&(r.singleQuote||!e.nodeIsSynthesized(r)&&e.startsWith(e.getTextOfNode(r,!1),\"'\")))}function P(t,r){var n=!!e.length(t.declarations)&&e.every(t.declarations,N),i=function(t,r,n){var i=Tn(t).nameType;if(i){if(384&i.flags){var a=\"\"+i.value;return e.isIdentifierText(a,V.target)||xm(a)?xm(a)&&e.startsWith(a,\"-\")?e.factory.createComputedPropertyName(e.factory.createNumericLiteral(+a)):w(a):e.factory.createStringLiteral(a,!!n)}if(8192&i.flags)return e.factory.createComputedPropertyName(A(i.symbol,r,111551))}}(t,r,n);return i||(e.isKnownSymbol(t)?e.factory.createComputedPropertyName(e.factory.createPropertyAccessExpression(e.factory.createIdentifier(\"Symbol\"),t.escapedName.substr(3))):w(e.unescapeLeadingUnderscores(t.escapedName),!!e.length(t.declarations)&&e.every(t.declarations,F),n))}function w(t,r,n){return e.isIdentifierText(t,V.target)?e.factory.createIdentifier(t):!r&&xm(t)&&+t>=0?e.factory.createNumericLiteral(+t):e.factory.createStringLiteral(t,!!n)}function I(t,r){return t.declarations&&e.find(t.declarations,(function(t){return!(!e.getEffectiveTypeAnnotationNode(t)||r&&!e.findAncestor(t,(function(e){return e===r})))}))}function L(t,r){return!(4&e.getObjectFlags(r))||!e.isTypeReferenceNode(t)||e.length(t.typeArguments)>=Cc(r.target.typeParameters)}function R(t,r,n,i,a,o){if(r!==ke&&i){var c=I(n,i);if(c&&!e.isFunctionLikeDeclaration(c)){var u=e.getEffectiveTypeAnnotationNode(c);if(ld(u)===r&&L(u,r)){var l=B(t,u,a,o);if(l)return l}}}var d=t.flags;8192&r.flags&&r.symbol===n&&(!t.enclosingDeclaration||e.some(n.declarations,(function(r){return e.getSourceFileOfNode(r)===e.getSourceFileOfNode(t.enclosingDeclaration)})))&&(t.flags|=1048576);var _=s(r,t);return t.flags=d,_}function B(r,n,i,o){a&&a.throwIfCancellationRequested&&a.throwIfCancellationRequested();var c=!1,u=e.getSourceFileOfNode(n),l=e.visitNode(n,(function n(a){var l,d;if(e.isJSDocAllType(a)||310===a.kind)return e.factory.createKeywordTypeNode(128);if(e.isJSDocUnknownType(a))return e.factory.createKeywordTypeNode(152);if(e.isJSDocNullableType(a))return e.factory.createUnionTypeNode([e.visitNode(a.type,n),e.factory.createLiteralTypeNode(e.factory.createNull())]);if(e.isJSDocOptionalType(a))return e.factory.createUnionTypeNode([e.visitNode(a.type,n),e.factory.createKeywordTypeNode(150)]);if(e.isJSDocNonNullableType(a))return e.visitNode(a.type,n);if(e.isJSDocVariadicType(a))return e.factory.createArrayTypeNode(e.visitNode(a.type,n));if(e.isJSDocTypeLiteral(a))return e.factory.createTypeLiteralNode(e.map(a.jsDocPropertyTags,(function(t){var i=e.isIdentifier(t.name)?t.name:t.name.right,o=ka(ld(a),i.escapedText),c=o&&t.typeExpression&&ld(t.typeExpression.type)!==o?s(o,r):void 0;return e.factory.createPropertySignature(void 0,i,t.typeExpression&&e.isJSDocOptionalType(t.typeExpression.type)?e.factory.createToken(57):void 0,c||t.typeExpression&&e.visitNode(t.typeExpression.type,n)||e.factory.createKeywordTypeNode(128))})));if(e.isTypeReferenceNode(a)&&e.isIdentifier(a.typeName)&&\"\"===a.typeName.escapedText)return e.setOriginalNode(e.factory.createKeywordTypeNode(128),a);if((e.isExpressionWithTypeArguments(a)||e.isTypeReferenceNode(a))&&e.isJSDocIndexSignature(a))return e.factory.createTypeLiteralNode([e.factory.createIndexSignature(void 0,void 0,[e.factory.createParameterDeclaration(void 0,void 0,void 0,\"x\",void 0,e.visitNode(a.typeArguments[0],n))],e.visitNode(a.typeArguments[1],n))]);if(e.isJSDocFunctionType(a)){var _;return e.isJSDocConstructSignature(a)?e.factory.createConstructorTypeNode(e.visitNodes(a.typeParameters,n),e.mapDefined(a.parameters,(function(t,r){return t.name&&e.isIdentifier(t.name)&&\"new\"===t.name.escapedText?void(_=t.type):e.factory.createParameterDeclaration(void 0,void 0,m(t),y(t,r),t.questionToken,e.visitNode(t.type,n),void 0)})),e.visitNode(_||a.type,n)||e.factory.createKeywordTypeNode(128)):e.factory.createFunctionTypeNode(e.visitNodes(a.typeParameters,n),e.map(a.parameters,(function(t,r){return e.factory.createParameterDeclaration(void 0,void 0,m(t),y(t,r),t.questionToken,e.visitNode(t.type,n),void 0)})),e.visitNode(a.type,n)||e.factory.createKeywordTypeNode(128))}if(e.isTypeReferenceNode(a)&&e.isInJSDoc(a)&&(!L(a,ld(a))||yu(a)||be===uu(cu(a),788968,!0)))return e.setOriginalNode(s(ld(a),r),a);if(e.isLiteralImportTypeNode(a))return e.factory.updateImportTypeNode(a,e.factory.updateLiteralTypeNode(a.argument,function(n,i){if(o){if(r.tracker&&r.tracker.moduleResolverHost){var a=_S(n);if(a){var s={getCanonicalFileName:e.createGetCanonicalFileName(!!t.useCaseSensitiveFileNames),getCurrentDirectory:function(){return r.tracker.moduleResolverHost.getCurrentDirectory()},getCommonSourceDirectory:function(){return r.tracker.moduleResolverHost.getCommonSourceDirectory()}},c=e.getResolvedExternalModuleName(s,a);return e.factory.createStringLiteral(c)}}}else if(r.tracker&&r.tracker.trackExternalModuleSymbolOfImportTypeNode){var u=fi(i,i,void 0);u&&r.tracker.trackExternalModuleSymbolOfImportTypeNode(u)}return i}(a,a.argument.literal)),a.qualifier,e.visitNodes(a.typeArguments,n,e.isTypeNode),a.isTypeOf);if(e.isEntityName(a)||e.isEntityNameExpression(a)){var p=e.getFirstIdentifier(a);if(e.isInJSFile(a)&&(e.isExportsIdentifier(p)||e.isModuleExportsAccessExpression(p.parent)||e.isQualifiedName(p.parent)&&e.isModuleIdentifier(p.parent.left)&&e.isExportsIdentifier(p.parent.right)))return c=!0,a;var f=di(p,67108863,!0,!0);if(f&&(0!==Zi(f,r.enclosingDeclaration,67108863,!1).accessibility?c=!0:(null===(d=null===(l=r.tracker)||void 0===l?void 0:l.trackSymbol)||void 0===d||d.call(l,f,r.enclosingDeclaration,67108863),null==i||i(f)),e.isIdentifier(a))){var g=262144&f.flags?C(Jo(f),r):e.factory.cloneNode(a);return g.symbol=f,e.setEmitFlags(e.setOriginalNode(g,a),16777216)}}u&&e.isTupleTypeNode(a)&&e.getLineAndCharacterOfPosition(u,a.pos).line===e.getLineAndCharacterOfPosition(u,a.end).line&&e.setEmitFlags(a,1);return e.visitEachChild(a,n,e.nullTransformationContext);function m(t){return t.dotDotDotToken||(t.type&&e.isJSDocVariadicType(t.type)?e.factory.createToken(25):void 0)}function y(t,r){return t.name&&e.isIdentifier(t.name)&&\"this\"===t.name.escapedText?\"this\":m(t)?\"args\":\"arg\"+r}}));if(!c)return l===n?e.setTextRange(e.factory.cloneNode(n),n):l}}(),ie=e.createSymbolTable(),ae=mn(4,\"undefined\");ae.declarations=[];var oe=mn(1536,\"globalThis\",8);oe.exports=ie,oe.declarations=[],ie.set(oe.escapedName,oe);var se,ce=mn(4,\"arguments\"),ue=mn(4,\"require\"),le={getNodeCount:function(){return e.sum(t.getSourceFiles(),\"nodeCount\")},getIdentifierCount:function(){return e.sum(t.getSourceFiles(),\"identifierCount\")},getSymbolCount:function(){return e.sum(t.getSourceFiles(),\"symbolCount\")+h},getTypeCatalog:function(){return k},getTypeCount:function(){return v},getInstantiationCount:function(){return x},getRelationCacheSizes:function(){return{assignable:an.size,identity:sn.size,subtype:rn.size,strictSubtype:nn.size}},isUndefinedSymbol:function(e){return e===ae},isArgumentsSymbol:function(e){return e===ce},isUnknownSymbol:function(e){return e===be},getMergedSymbol:Ci,getDiagnostics:yb,getGlobalDiagnostics:function(){return vb(),$r.getGlobalDiagnostics()},getRecursionIdentity:B_,getTypeOfSymbolAtLocation:function(t,r){var n=e.getParseTreeNode(r);return n?function(t,r){if(t=t.exportSymbol||t,78===r.kind&&(e.isRightSideOfQualifiedNameOrPropertyAccess(r)&&(r=r.parent),e.isExpressionNode(r)&&!e.isAssignmentTarget(r))){var n=qh(r);if(Ii(Cn(r).resolvedSymbol)===t)return n}return po(t)}(t,n):ke},getSymbolsOfParameterPropertyDeclaration:function(t,r){var n=e.getParseTreeNode(t,e.isParameter);return void 0===n?e.Debug.fail(\"Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node.\"):function(t,r){var n=t.parent,i=t.parent.parent,a=An(n.locals,r,111551),o=An(is(i.symbol),r,111551);if(a&&o)return[a,o];return e.Debug.fail(\"There should exist two symbols, one as property declaration and one as parameter declaration\")}(n,e.escapeLeadingUnderscores(r))},getDeclaredTypeOfSymbol:Jo,getPropertiesOfType:Ks,getPropertyOfType:function(t,r){return dc(t,e.escapeLeadingUnderscores(r))},getPrivateIdentifierPropertyOfType:function(t,r,n){var i=e.getParseTreeNode(n);if(i){var a=ly(e.escapeLeadingUnderscores(r),i);return a?dy(t,a):void 0}},getTypeOfPropertyOfType:function(t,r){return ka(t,e.escapeLeadingUnderscores(r))},getIndexInfoOfType:mc,getSignaturesOfType:pc,getIndexTypeOfType:yc,getBaseTypes:Ao,getBaseTypeOfLiteralType:ep,getWidenedType:Ip,getTypeFromTypeNode:function(t){var r=e.getParseTreeNode(t,e.isTypeNode);return r?ld(r):ke},getParameterType:Bv,getPromisedTypeOfPromise:mD,getAwaitedType:function(e){return vD(e)},getReturnTypeOfSignature:Mc,isNullableType:ey,getNullableType:yp,getNonNullableType:hp,getNonOptionalType:bp,getTypeArguments:iu,typeToTypeNode:ne.typeToTypeNode,indexInfoToIndexSignatureDeclaration:ne.indexInfoToIndexSignatureDeclaration,signatureToSignatureDeclaration:ne.signatureToSignatureDeclaration,symbolToEntityName:ne.symbolToEntityName,symbolToExpression:ne.symbolToExpression,symbolToTypeParameterDeclarations:ne.symbolToTypeParameterDeclarations,symbolToParameterDeclaration:ne.symbolToParameterDeclaration,typeParameterToDeclaration:ne.typeParameterToDeclaration,getSymbolsInScope:function(t,r){var n=e.getParseTreeNode(t);return n?function(t,r){if(16777216&t.flags)return[];var n=e.createSymbolTable(),i=!1;return a(),n.delete(\"this\"),Dc(n);function a(){for(;t;){switch(t.locals&&!kn(t)&&s(t.locals,r),t.kind){case 297:if(!e.isExternalOrCommonJsModule(t))break;case 256:s(ki(t).exports,2623475&r);break;case 255:s(ki(t).exports,8&r);break;case 221:t.name&&o(t.symbol,r);case 252:case 253:i||s(is(ki(t)),788968&r);break;case 208:t.name&&o(t.symbol,r)}e.introducesArgumentsExoticObject(t)&&o(ce,r),i=e.hasSyntacticModifier(t,32),t=t.parent}s(ie,r)}function o(t,r){if(e.getCombinedLocalAndExportSymbolFlags(t)&r){var i=t.escapedName;n.has(i)||n.set(i,t)}}function s(e,t){t&&e.forEach((function(e){o(e,t)}))}}(n,r):[]},getSymbolAtLocation:function(t){var r=e.getParseTreeNode(t);return r?Tb(r,!0):void 0},getShorthandAssignmentValueSymbol:function(t){var r=e.getParseTreeNode(t);return r?function(e){if(e&&289===e.kind)return di(e.name,2208703);return}(r):void 0},getExportSpecifierLocalTargetSymbol:function(t){var r=e.getParseTreeNode(t,e.isExportSpecifier);return r?function(t){return e.isExportSpecifier(t)?t.parent.parent.moduleSpecifier?Xn(t.parent.parent,t):di(t.propertyName||t.name,2998271):di(t,2998271)}(r):void 0},getExportSymbolOfSymbol:function(e){return Ci(e.exportSymbol||e)},getTypeAtLocation:function(t){var r=e.getParseTreeNode(t);return r?Cb(r):ke},getTypeOfAssignmentPattern:function(t){var r=e.getParseTreeNode(t,e.isAssignmentPattern);return r&&kb(r)||ke},getPropertySymbolOfDestructuringAssignment:function(t){var r=e.getParseTreeNode(t,e.isIdentifier);return r?function(t){var r=kb(e.cast(t.parent.parent,e.isAssignmentPattern));return r&&dc(r,t.escapedText)}(r):void 0},signatureToString:function(t,r,n,i){return sa(t,e.getParseTreeNode(r),n,i)},typeToString:function(t,r,n){return ca(t,e.getParseTreeNode(r),n)},symbolToString:function(t,r,n,i){return oa(t,e.getParseTreeNode(r),n,i)},typePredicateToString:function(t,r,n){return fa(t,e.getParseTreeNode(r),n)},writeSignature:function(t,r,n,i,a){return sa(t,e.getParseTreeNode(r),n,i,a)},writeType:function(t,r,n,i){return ca(t,e.getParseTreeNode(r),n,i)},writeSymbol:function(t,r,n,i,a){return oa(t,e.getParseTreeNode(r),n,i,a)},writeTypePredicate:function(t,r,n,i){return fa(t,e.getParseTreeNode(r),n,i)},getAugmentedPropertiesOfType:Pb,getRootSymbols:function t(r){var n=function(t){if(6&e.getCheckFlags(t))return e.mapDefined(Tn(t).containingType.types,(function(e){return dc(e,t.escapedName)}));if(33554432&t.flags){var r=t,n=r.leftSpread,i=r.rightSpread,a=r.syntheticOrigin;return n?[n,i]:a?[a]:e.singleElementArray(function(e){var t,r=e;for(;r=Tn(r).target;)t=r;return t}(t))}return}(r);return n?e.flatMap(n,t):[r]},getSymbolOfExpando:xv,getContextualType:function(t,r){var n=e.getParseTreeNode(t,e.isExpression);if(n){var i=e.findAncestor(n,e.isCallLikeExpression),a=i&&Cn(i).resolvedSignature;if(4&r&&i){var o=n;do{Cn(o).skipDirectInference=!0,o=o.parent}while(o&&o!==i);Cn(i).resolvedSignature=void 0}var s=cm(n,r);if(4&r&&i){o=n;do{Cn(o).skipDirectInference=void 0,o=o.parent}while(o&&o!==i);Cn(i).resolvedSignature=a}return s}},getContextualTypeForObjectLiteralElement:function(t){var r=e.getParseTreeNode(t,e.isObjectLiteralElementLike);return r?em(r):void 0},getContextualTypeForArgumentAtIndex:function(t,r){var n=e.getParseTreeNode(t,e.isCallLikeExpression);return n&&Gg(n,r)},getContextualTypeForJsxAttribute:function(t){var r=e.getParseTreeNode(t,e.isJsxAttributeLike);return r&&nm(r)},isContextSensitive:jd,getFullyQualifiedName:li,getResolvedSignature:function(e,t,r){return de(e,t,r,0)},getResolvedSignatureForSignatureHelp:function(e,t,r){return de(e,t,r,16)},getExpandedParameters:_s,hasEffectiveRestParameter:Uv,getConstantValue:function(t){var r=e.getParseTreeNode(t,$b);return r?Zb(r):void 0},isValidPropertyAccess:function(t,r){var n=e.getParseTreeNode(t,e.isPropertyAccessOrQualifiedNameOrImportTypeNode);return!!n&&function(e,t){switch(e.kind){case 201:return Ey(e,105===e.expression.kind,t,Ip(Gh(e.expression)));case 157:return Ey(e,!1,t,Ip(Gh(e.left)));case 195:return Ey(e,!1,t,ld(e))}}(n,e.escapeLeadingUnderscores(r))},isValidPropertyAccessForCompletions:function(t,r,n){var i=e.getParseTreeNode(t,e.isPropertyAccessExpression);return!!i&&function(e,t,r){return Ey(e,201===e.kind&&105===e.expression.kind,r.escapedName,t)}(i,r,n)},getSignatureFromDeclaration:function(t){var r=e.getParseTreeNode(t,e.isFunctionLike);return r?Ac(r):void 0},isImplementationOfOverload:function(t){var r=e.getParseTreeNode(t,e.isFunctionLike);return r?qb(r):void 0},getImmediateAliasedSymbol:Em,getAliasedSymbol:ni,getEmitResolver:function(e,t){return yb(e,t),re},getExportsOfModule:Di,getExportsAndPropertiesOfModule:function(t){var r=Di(t),n=yi(t);n!==t&&e.addRange(r,Ks(po(n)));return r},getSymbolWalker:e.createGetSymbolWalker((function(e){return Bc(e)||Ee}),Oc,Mc,Ao,Rs,po,vf,gc,Us,e.getFirstIdentifier,iu),getAmbientModules:function(){mt||(mt=[],ie.forEach((function(e,t){c.test(t)&&mt.push(e)})));return mt},getJsxIntrinsicTagNamesAt:function(t){var r=Im(N.IntrinsicElements,t);return r?Ks(r):e.emptyArray},isOptionalParameter:function(t){var r=e.getParseTreeNode(t,e.isParameter);return!!r&&Sc(r)},tryGetMemberInModuleExports:function(t,r){return xi(e.escapeLeadingUnderscores(t),r)},tryGetMemberInModuleExportsAndProperties:function(t,r){return function(t,r){var n=xi(t,r);if(n)return n;var i=yi(r);if(i===r)return;var a=po(i);return 131068&a.flags||1&e.getObjectFlags(a)||X_(a)?void 0:dc(a,t)}(e.escapeLeadingUnderscores(t),r)},tryFindAmbientModuleWithoutAugmentations:function(e){return bc(e,!1)},getApparentType:tc,getUnionType:$u,isTypeAssignableTo:Yd,createAnonymousType:Vi,createSignature:cs,createSymbol:mn,createIndexInfo:Gc,getAnyType:function(){return Ee},getStringType:function(){return Le},getNumberType:function(){return Re},createPromiseType:Qv,createArrayType:Iu,getElementTypeOfArrayType:W_,getBooleanType:function(){return Ue},getFalseType:function(e){return e?je:Je},getTrueType:function(e){return e?Ke:ze},getVoidType:function(){return qe},getUndefinedType:function(){return Pe},getNullType:function(){return Oe},getESSymbolType:function(){return Ve},getNeverType:function(){return We},getOptionalType:function(){return Ie},isSymbolAccessible:Zi,isArrayType:U_,isTupleType:ap,isArrayLikeType:H_,isTypeInvalidDueToUnionDiscriminant:function(e,t){return t.properties.some((function(t){var r=t.name&&ul(t.name),n=r&&Xo(r)?ts(r):void 0,i=void 0===n?void 0:ka(e,n);return!!i&&Z_(i)&&!Yd(Cb(t),i)}))},getAllPossiblePropertiesOfTypes:function(t){var r=$u(t);if(!(1048576&r.flags))return Pb(r);for(var n=e.createSymbolTable(),i=0,a=t;i>\",0,Ee),lr=cs(void 0,void 0,void 0,e.emptyArray,Ee,void 0,0,0),dr=cs(void 0,void 0,void 0,e.emptyArray,ke,void 0,0,0),_r=cs(void 0,void 0,void 0,e.emptyArray,Ee,void 0,0,0),pr=cs(void 0,void 0,void 0,e.emptyArray,He,void 0,0,0),fr=Gc(Le,!0),gr=new e.Map,mr={get yieldType(){return e.Debug.fail(\"Not supported\")},get returnType(){return e.Debug.fail(\"Not supported\")},get nextType(){return e.Debug.fail(\"Not supported\")}},yr=_x(Ee,Ee,Ee),vr=_x(Ee,Ee,Ne),hr=_x(We,Ee,Pe),Dr={iterableCacheKey:\"iterationTypesOfAsyncIterable\",iteratorCacheKey:\"iterationTypesOfAsyncIterator\",iteratorSymbolName:\"asyncIterator\",getGlobalIteratorType:function(e){return Gt||(Gt=Eu(\"AsyncIterator\",3,e))||ct},getGlobalIterableType:function(e){return Ht||(Ht=Eu(\"AsyncIterable\",1,e))||ct},getGlobalIterableIteratorType:function(e){return Yt||(Yt=Eu(\"AsyncIterableIterator\",1,e))||ct},getGlobalGeneratorType:function(e){return Xt||(Xt=Eu(\"AsyncGenerator\",3,e))||ct},resolveIterationType:vD,mustHaveANextMethodDiagnostic:e.Diagnostics.An_async_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:e.Diagnostics.The_0_property_of_an_async_iterator_must_be_a_method,mustHaveAValueDiagnostic:e.Diagnostics.The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property},xr={iterableCacheKey:\"iterationTypesOfIterable\",iteratorCacheKey:\"iterationTypesOfIterator\",iteratorSymbolName:\"iterator\",getGlobalIteratorType:function(e){return zt||(zt=Eu(\"Iterator\",3,e))||ct},getGlobalIterableType:Fu,getGlobalIterableIteratorType:function(e){return Ut||(Ut=Eu(\"IterableIterator\",1,e))||ct},getGlobalGeneratorType:function(e){return Vt||(Vt=Eu(\"Generator\",3,e))||ct},resolveIterationType:function(e,t){return e},mustHaveANextMethodDiagnostic:e.Diagnostics.An_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:e.Diagnostics.The_0_property_of_an_iterator_must_be_a_method,mustHaveAValueDiagnostic:e.Diagnostics.The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property},br=new e.Map,Sr=!1,Er=new e.Map,Tr=0,Cr=0,kr=0,Ar=!1,Fr=0,Nr=ad(\"\"),Pr=ad(0),wr=ad({negative:!1,base10Value:\"0\"}),Ir=[],Or=[],Mr=[],Lr=0,Rr=[],Br=[],jr=[],Jr=[],Kr=[],zr=[],Ur=[],Vr=[],qr=[],Wr=[],Hr=[],Gr=[],Yr=[],Xr=[],Qr=[],$r=e.createDiagnosticCollection(),Zr=e.createDiagnosticCollection(),en=new e.Map(e.getEntries({string:Le,number:Re,bigint:Be,boolean:Ue,symbol:Ve,undefined:Pe})),tn=$u(e.arrayFrom(S.keys(),ad)),rn=new e.Map,nn=new e.Map,an=new e.Map,on=new e.Map,sn=new e.Map,cn=new e.Map,un=e.createSymbolTable();return un.set(ae.escapedName,ae),function(){for(var r=0,n=t.getSourceFiles();r=5||e.some(o.relatedInformation,(function(t){return 0===e.compareDiagnostics(t,s)||0===e.compareDiagnostics(t,i)})))return\"continue\";e.addRelatedInfo(o,e.length(o.relatedInformation)?s:i)},c=0,u=i||e.emptyArray;c1)}function Tn(e){if(33554432&e.flags)return e;var t=M(e);return Br[t]||(Br[t]=new w)}function Cn(e){var t=O(e);return jr[t]||(jr[t]=new I)}function kn(t){return 297===t.kind&&!e.isExternalOrCommonJsModule(t)}function An(t,r,n){if(n){var i=Ci(t.get(r));if(i){if(e.Debug.assert(0==(1&e.getCheckFlags(i)),\"Should never get an instantiated symbol here.\"),i.flags&n)return i;if(2097152&i.flags){var a=ni(i);if(a===be||a.flags&n)return i}}}}function Fn(r,n){var i=e.getSourceFileOfNode(r),a=e.getSourceFileOfNode(n),o=e.getEnclosingBlockScopeContainer(r);if(i!==a){if(W&&(i.externalModuleIndicator||a.externalModuleIndicator)||!e.outFile(V)||hf(n)||8388608&r.flags)return!0;if(u(n,r))return!0;var s=t.getSourceFiles();return s.indexOf(i)<=s.indexOf(a)}if(r.pos<=n.pos&&(!e.isPropertyDeclaration(r)||!e.isThisProperty(n.parent)||r.initializer||r.exclamationToken)){if(198===r.kind){var c=e.getAncestor(n,198);return c?e.findAncestor(c,e.isBindingElement)!==e.findAncestor(r,e.isBindingElement)||r.post.end)&&void 0===e.findAncestor(r,(function(r){if(r===t)return\"quit\";switch(r.kind){case 209:return!0;case 163:return!n||!(e.isPropertyDeclaration(t)&&r.parent===t.parent||e.isParameterPropertyDeclaration(t,t.parent)&&r.parent===t.parent.parent)||\"quit\";case 230:switch(r.parent.kind){case 167:case 165:case 168:return!0;default:return!1}default:return!1}}))}}function Nn(t,r,n){var i=e.getEmitScriptTarget(V),a=r;if(e.isParameter(n)&&a.body&&t.valueDeclaration.pos>=a.body.pos&&t.valueDeclaration.end<=a.body.end&&i>=2){var o=Cn(a);return void 0===o.declarationRequiresScopeChange&&(o.declarationRequiresScopeChange=e.forEach(a.parameters,(function(e){return s(e.name)||!!e.initializer&&s(e.initializer)}))||!1),!o.declarationRequiresScopeChange}return!1;function s(t){switch(t.kind){case 209:case 208:case 251:case 166:return!1;case 165:case 167:case 168:case 288:return s(t.name);case 163:return e.hasStaticModifier(t)?i<99||!V.useDefineForClassFields:s(t.name);default:return e.isNullishCoalesce(t)||e.isOptionalChain(t)?i<7:e.isBindingElement(t)&&t.dotDotDotToken&&e.isObjectBindingPattern(t.parent)?i<4:!e.isTypeNode(t)&&(e.forEachChild(t,s)||!1)}}}function Pn(e,t,r,n,i,a,o,s){return void 0===o&&(o=!1),wn(e,t,r,n,i,a,o,An,s)}function wn(t,r,n,i,a,o,s,c,u){var l,d,_,p,f,g,m=t,y=!1,v=t,h=!1;e:for(;t;){if(t.locals&&!kn(t)&&(l=c(t.locals,r,n))){var D=!0;if(e.isFunctionLike(t)&&d&&d!==t.body?(n&l.flags&788968&&311!==d.kind&&(D=!!(262144&l.flags)&&(d===t.type||160===d.kind||159===d.kind)),n&l.flags&3&&(Nn(l,t,d)?D=!1:1&l.flags&&(D=160===d.kind||d===t.type&&!!e.findAncestor(l.valueDeclaration,e.isParameter)))):184===t.kind&&(D=d===t.trueType),D)break e;l=void 0}switch(y=y||In(t,d),t.kind){case 297:if(!e.isExternalOrCommonJsModule(t))break;h=!0;case 256:var x=ki(t).exports||A;if(297===t.kind||e.isModuleDeclaration(t)&&8388608&t.flags&&!e.isGlobalScopeAugmentation(t)){if(l=x.get(\"default\")){var b=e.getLocalSymbolForExportDefault(l);if(b&&l.flags&n&&b.escapedName===r)break e;l=void 0}var S=x.get(r);if(S&&2097152===S.flags&&(e.getDeclarationOfKind(S,270)||e.getDeclarationOfKind(S,269)))break}if(\"default\"!==r&&(l=c(x,r,2623475&n))){if(!e.isSourceFile(t)||!t.commonJsModuleIndicator||l.declarations.some(e.isJSDocTypeAlias))break e;l=void 0}break;case 255:if(l=c(ki(t).exports,r,8&n))break e;break;case 163:if(!e.hasSyntacticModifier(t,32)){var E=Mi(t.parent);E&&E.locals&&c(E.locals,r,111551&n)&&(p=t)}break;case 252:case 221:case 253:if(l=c(ki(t).members||A,r,788968&n)){if(!Ln(l,t)){l=void 0;break}if(d&&e.hasSyntacticModifier(d,32))return void _n(v,e.Diagnostics.Static_members_cannot_reference_class_type_parameters);break e}if(221===t.kind&&32&n){var T=t.name;if(T&&r===T.escapedText){l=t.symbol;break e}}break;case 223:if(d===t.expression&&93===t.parent.token){var C=t.parent.parent;if(e.isClassLike(C)&&(l=c(ki(C).members,r,788968&n)))return void(i&&_n(v,e.Diagnostics.Base_class_expressions_cannot_reference_class_type_parameters))}break;case 158:if(g=t.parent.parent,(e.isClassLike(g)||253===g.kind)&&(l=c(ki(g).members,r,788968&n)))return void _n(v,e.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);break;case 209:if(V.target>=2)break;case 165:case 166:case 167:case 168:case 251:if(3&n&&\"arguments\"===r){l=ce;break e}break;case 208:if(3&n&&\"arguments\"===r){l=ce;break e}if(16&n){var k=t.name;if(k&&r===k.escapedText){l=t.symbol;break e}}break;case 161:t.parent&&160===t.parent.kind&&(t=t.parent),t.parent&&(e.isClassElement(t.parent)||252===t.parent.kind)&&(t=t.parent);break;case 331:case 324:case 325:t=e.getJSDocHost(t);break;case 160:d&&(d===t.initializer||d===t.name&&e.isBindingPattern(d))&&(f||(f=t));break;case 198:d&&(d===t.initializer||d===t.name&&e.isBindingPattern(d))&&e.isParameterDeclaration(t)&&!f&&(f=t);break;case 185:if(262144&n){var F=t.typeParameter.name;if(F&&r===F.escapedText){l=t.typeParameter.symbol;break e}}}On(t)&&(_=t),d=t,t=t.parent}if(!o||!l||_&&l===_.symbol||(l.isReferenced|=n),!l){if(d&&(e.Debug.assert(297===d.kind),d.commonJsModuleIndicator&&\"exports\"===r&&n&d.symbol.flags))return d.symbol;s||(l=c(ie,r,n))}if(!l&&m&&e.isInJSFile(m)&&m.parent&&e.isRequireCall(m.parent,!1))return ue;if(l){if(i){if(p&&(99!==V.target||!V.useDefineForClassFields)){var N=p.name;return void _n(v,e.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,e.declarationNameToString(N),Mn(a))}if(v&&(2&n||(32&n||384&n)&&111551==(111551&n))){var P=Ii(l);(2&P.flags||32&P.flags||384&P.flags)&&function(t,r){if(e.Debug.assert(!!(2&t.flags||32&t.flags||384&t.flags)),67108881&t.flags&&32&t.flags)return;var n=e.find(t.declarations,(function(t){return e.isBlockOrCatchScoped(t)||e.isClassLike(t)||255===t.kind}));if(void 0===n)return e.Debug.fail(\"checkResolvedBlockScopedVariable could not find block-scoped declaration\");if(!(8388608&n.flags||Fn(n,r))){var i=void 0,a=e.declarationNameToString(e.getNameOfDeclaration(n));2&t.flags?i=_n(r,e.Diagnostics.Block_scoped_variable_0_used_before_its_declaration,a):32&t.flags?i=_n(r,e.Diagnostics.Class_0_used_before_its_declaration,a):256&t.flags?i=_n(r,e.Diagnostics.Enum_0_used_before_its_declaration,a):(e.Debug.assert(!!(128&t.flags)),V.preserveConstEnums&&(i=_n(r,e.Diagnostics.Enum_0_used_before_its_declaration,a))),i&&e.addRelatedInfo(i,e.createDiagnosticForNode(n,e.Diagnostics._0_is_declared_here,a))}}(P,v)}if(l&&h&&111551==(111551&n)&&!(4194304&m.flags)){var w=Ci(l);e.length(w.declarations)&&e.every(w.declarations,(function(t){return e.isNamespaceExportDeclaration(t)||e.isSourceFile(t)&&!!t.symbol.globalExports}))&&fn(!V.allowUmdGlobalAccess,v,e.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead,e.unescapeLeadingUnderscores(r))}if(l&&f&&!y&&111551==(111551&n)){var I=Ci(as(l)),O=e.getRootDeclaration(f);I===ki(f)?_n(v,e.Diagnostics.Parameter_0_cannot_reference_itself,e.declarationNameToString(f.name)):I.valueDeclaration&&I.valueDeclaration.pos>f.pos&&O.parent.locals&&c(O.parent.locals,I.escapedName,n)===I&&_n(v,e.Diagnostics.Parameter_0_cannot_reference_identifier_1_declared_after_it,e.declarationNameToString(f.name),e.declarationNameToString(v))}l&&v&&111551&n&&2097152&l.flags&&function(t,r,n){if(!e.isValidTypeOnlyAliasUseSite(n)){var i=oi(t);if(i){var a=e.typeOnlyDeclarationIsExport(i),o=a?e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type,s=a?e.Diagnostics._0_was_exported_here:e.Diagnostics._0_was_imported_here,c=e.unescapeLeadingUnderscores(r);e.addRelatedInfo(_n(n,o,c),e.createDiagnosticForNode(i,s,c))}}}(l,r,v)}return l}if(i&&!(v&&(function(t,r,n){if(!e.isIdentifier(t)||t.escapedText!==r||Db(t)||hf(t))return!1;var i=e.getThisContainer(t,!1),a=i;for(;a;){if(e.isClassLike(a.parent)){var o=ki(a.parent);if(!o)break;if(dc(po(o),r))return _n(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0,Mn(n),oa(o)),!0;if(a===i&&!e.hasSyntacticModifier(a,32))if(dc(Jo(o).thisType,r))return _n(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0,Mn(n)),!0}a=a.parent}return!1}(v,r,a)||Rn(v)||function(t,r,n){var i=1920|(e.isInJSFile(t)?111551:0);if(n===i){var a=ri(Pn(t,r,788968&~i,void 0,void 0,!1)),o=t.parent;if(a){if(e.isQualifiedName(o)){e.Debug.assert(o.left===t,\"Should only be resolving left side of qualified name as a namespace\");var s=o.right.escapedText;if(dc(Jo(a),s))return _n(o,e.Diagnostics.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,e.unescapeLeadingUnderscores(r),e.unescapeLeadingUnderscores(s)),!0}return _n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here,e.unescapeLeadingUnderscores(r)),!0}}return!1}(v,r,n)||function(t,r){if(jn(r)&&270===t.parent.kind)return _n(t,e.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,r),!0;return!1}(v,r)||function(t,r,n){if(111551&n){if(jn(r))return _n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,e.unescapeLeadingUnderscores(r)),!0;var i=ri(Pn(t,r,788544,void 0,void 0,!1));if(i&&!(1024&i.flags)){var a=e.unescapeLeadingUnderscores(r);return!function(e){switch(e){case\"Promise\":case\"Symbol\":case\"Map\":case\"WeakMap\":case\"Set\":case\"WeakSet\":return!0}return!1}(r)?!function(t,r){var n=e.findAncestor(t.parent,(function(t){return!e.isComputedPropertyName(t)&&!e.isPropertySignature(t)&&(e.isTypeLiteralNode(t)||\"quit\")}));if(n&&1===n.members.length){var i=Jo(r);return!!(1048576&i.flags)&&vh(i,384,!0)}return!1}(t,i)?_n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,a):_n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0,a,\"K\"===a?\"P\":\"K\"):_n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later,a),!0}}return!1}(v,r,n)||function(t,r,n){if(111127&n){if(ri(Pn(t,r,1024,void 0,void 0,!1)))return _n(t,e.Diagnostics.Cannot_use_namespace_0_as_a_value,e.unescapeLeadingUnderscores(r)),!0}else if(788544&n){if(ri(Pn(t,r,1536,void 0,void 0,!1)))return _n(t,e.Diagnostics.Cannot_use_namespace_0_as_a_type,e.unescapeLeadingUnderscores(r)),!0}return!1}(v,r,n)||function(t,r,n){if(788584&n){var i=ri(Pn(t,r,111127,void 0,void 0,!1));if(i&&!(1920&i.flags))return _n(t,e.Diagnostics._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,e.unescapeLeadingUnderscores(r)),!0}return!1}(v,r,n)))){var M=void 0;if(u&&Lr<10&&(M=Dy(m,r,n))){var L=oa(M),R=_n(v,u,Mn(a),L);M.valueDeclaration&&e.addRelatedInfo(R,e.createDiagnosticForNode(M.valueDeclaration,e.Diagnostics._0_is_declared_here,L))}if(!M&&a){var B=function(t){for(var r=Mn(t),n=e.getScriptTargetFeatures(),i=e.getOwnKeys(n),a=0,o=i;a=e.ModuleKind.ES2015?\"allowSyntheticDefaultImports\":\"esModuleInterop\",c=n.exports.get(\"export=\").valueDeclaration,u=_n(t.name,e.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag,oa(n),s);e.addRelatedInfo(u,e.createDiagnosticForNode(c,e.Diagnostics.This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag,s))}else!function(t,r){var n,i;if(null===(n=t.exports)||void 0===n?void 0:n.has(r.symbol.escapedName))_n(r.name,e.Diagnostics.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead,oa(t),oa(r.symbol));else{var a=_n(r.name,e.Diagnostics.Module_0_has_no_default_export,oa(t)),o=null===(i=t.exports)||void 0===i?void 0:i.get(\"__export\");if(o){var s=e.find(o.declarations,(function(t){var r,n;return!!(e.isExportDeclaration(t)&&t.moduleSpecifier&&(null===(n=null===(r=pi(t,t.moduleSpecifier))||void 0===r?void 0:r.exports)||void 0===n?void 0:n.has(\"default\")))}));s&&e.addRelatedInfo(a,e.createDiagnosticForNode(s,e.Diagnostics.export_Asterisk_does_not_re_export_a_default))}}}(n,t);return ii(t,i,void 0,!1),i}}function Xn(t,n,i){var a;void 0===i&&(i=!1);var o=e.getExternalModuleRequireArgument(t)||t.moduleSpecifier,s=pi(t,o),c=!e.isPropertyAccessExpression(n)&&n.propertyName||n.name;if(e.isIdentifier(c)){var u=vi(s,o,i,\"default\"===c.escapedText&&!(!V.allowSyntheticDefaultImports&&!V.esModuleInterop));if(u&&c.escapedText){if(e.isShorthandAmbientModuleSymbol(s))return s;var l=void 0;l=s&&s.exports&&s.exports.get(\"export=\")?dc(po(u),c.escapedText):function(e,t){if(3&e.flags){var r=e.valueDeclaration.type;if(r)return ri(dc(ld(r),t))}}(u,c.escapedText),l=ri(l,i);var d=function(e,t,r,n){if(1536&e.flags){var i=bi(e).get(t.escapedText),a=ri(i,n);return ii(r,i,a,!1),a}}(u,c,n,i);if(void 0===d&&\"default\"===c.escapedText)Gn(e.find(s.declarations,e.isSourceFile),s,i)&&(d=yi(s,i)||ri(s,i));var _=d&&l&&d!==l?function(t,r){if(t===be&&r===be)return be;if(790504&t.flags)return t;var n=mn(t.flags|r.flags,t.escapedName);return n.declarations=e.deduplicate(e.concatenate(t.declarations,r.declarations),e.equateValues),n.parent=t.parent||r.parent,t.valueDeclaration&&(n.valueDeclaration=t.valueDeclaration),r.members&&(n.members=new e.Map(r.members)),t.exports&&(n.exports=new e.Map(t.exports)),n}(l,d):d||l;if(!_){var p=li(s,t),f=e.declarationNameToString(c),g=xy(c,u);if(void 0!==g){var m=oa(g),y=_n(c,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2,p,f,m);g.valueDeclaration&&e.addRelatedInfo(y,e.createDiagnosticForNode(g.valueDeclaration,e.Diagnostics._0_is_declared_here,m))}else(null===(a=s.exports)||void 0===a?void 0:a.has(\"default\"))?_n(c,e.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead,p,f):function(t,n,i,a,o){var s,c=null===(s=a.valueDeclaration.locals)||void 0===s?void 0:s.get(n.escapedText),u=a.exports;if(c){var l=null==u?void 0:u.get(\"export=\");if(l)wi(l,c)?function(t,r,n,i){if(W>=e.ModuleKind.ES2015){_n(r,V.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_a_default_import:e.Diagnostics._0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n)}else{if(e.isInJSFile(t))_n(r,V.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:e.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n);else _n(r,V.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:e.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n,n,i)}}(t,n,i,o):_n(n,e.Diagnostics.Module_0_has_no_exported_member_1,o,i);else{var d=u?e.find(Dc(u),(function(e){return!!wi(e,c)})):void 0,_=d?_n(n,e.Diagnostics.Module_0_declares_1_locally_but_it_is_exported_as_2,o,i,oa(d)):_n(n,e.Diagnostics.Module_0_declares_1_locally_but_it_is_not_exported,o,i);e.addRelatedInfo.apply(void 0,r([_],e.map(c.declarations,(function(t,r){return e.createDiagnosticForNode(t,0===r?e.Diagnostics._0_is_declared_here:e.Diagnostics.and_here,i)}))))}}else _n(n,e.Diagnostics.Module_0_has_no_exported_member_1,o,i)}(t,c,f,s,p)}return _}}}function Qn(t){if(e.isVariableDeclaration(t)&&t.initializer&&e.isPropertyAccessExpression(t.initializer))return t.initializer}function $n(e,t,r){var n=e.parent.parent.moduleSpecifier?Xn(e.parent.parent,e,r):di(e.propertyName||e.name,t,!1,r);return ii(e,void 0,n,!1),n}function Zn(t,r){if(e.isClassExpression(t))return Nh(t).symbol;if(e.isEntityName(t)||e.isEntityNameExpression(t)){var n=di(t,901119,!0,r);return n||(Nh(t),Cn(t).resolvedSymbol)}}function ei(t,r){switch(void 0===r&&(r=!1),t.kind){case 260:case 249:return qn(t,r);case 262:return Yn(t,r);case 263:return function(e,t){var r=e.parent.parent.moduleSpecifier,n=pi(e,r),i=vi(n,r,t,!1);return ii(e,n,i,!1),i}(t,r);case 269:return function(e,t){var r=e.parent.moduleSpecifier,n=r&&pi(e,r),i=r&&vi(n,r,t,!1);return ii(e,n,i,!1),i}(t,r);case 265:case 198:return function(t,r){var n=e.isBindingElement(t)?e.getRootDeclaration(t):t.parent.parent.parent,i=Qn(n),a=Xn(n,i||t,r),o=t.propertyName||t.name;return i&&a&&e.isIdentifier(o)?dc(po(a),o.escapedText):(ii(t,void 0,a,!1),a)}(t,r);case 270:return $n(t,901119,r);case 266:case 216:return function(t,r){var n=Zn(e.isExportAssignment(t)?t.expression:t.right,r);return ii(t,void 0,n,!1),n}(t,r);case 259:return function(e,t){var r=yi(e.parent.symbol,t);return ii(e,void 0,r,!1),r}(t,r);case 289:return di(t.name,901119,!0,r);case 288:return function(e,t){return Zn(e.initializer,t)}(t,r);case 202:case 201:return function(t,r){if(e.isBinaryExpression(t.parent)&&t.parent.left===t&&62===t.parent.operatorToken.kind)return Zn(t.parent.right,r)}(t,r);default:return e.Debug.fail()}}function ti(e,t){return void 0===t&&(t=901119),!!e&&(2097152==(e.flags&(2097152|t))||!!(2097152&e.flags&&67108864&e.flags))}function ri(e,t){return!t&&ti(e)?ni(e):e}function ni(t){e.Debug.assert(0!=(2097152&t.flags),\"Should only get Alias here.\");var r=Tn(t);if(r.target)r.target===Se&&(r.target=be);else{r.target=Se;var n=zn(t);if(!n)return e.Debug.fail();var i=ei(n);r.target===Se?r.target=i||be:_n(n,e.Diagnostics.Circular_definition_of_import_alias_0,oa(t))}return r.target}function ii(t,r,n,i){if(!t||e.isPropertyAccessExpression(t))return!1;var a=ki(t);if(e.isTypeOnlyImportOrExportDeclaration(t))return Tn(a).typeOnlyDeclaration=t,!0;var o=Tn(a);return ai(o,r,i)||ai(o,n,i)}function ai(t,r,n){var i,a,o;if(r&&(void 0===t.typeOnlyDeclaration||n&&!1===t.typeOnlyDeclaration)){var s=null!==(a=null===(i=r.exports)||void 0===i?void 0:i.get(\"export=\"))&&void 0!==a?a:r,c=s.declarations&&e.find(s.declarations,e.isTypeOnlyImportOrExportDeclaration);t.typeOnlyDeclaration=null!==(o=null!=c?c:Tn(s).typeOnlyDeclaration)&&void 0!==o&&o}return!!t.typeOnlyDeclaration}function oi(e){if(2097152&e.flags)return Tn(e).typeOnlyDeclaration||void 0}function si(e){var t=ki(e),r=ni(t);r&&((r===be||111551&r.flags&&!Ub(r)&&!oi(t))&&ci(t))}function ci(t){var r=Tn(t);if(!r.referenced){r.referenced=!0;var n=zn(t);if(!n)return e.Debug.fail();if(e.isInternalModuleImportEqualsDeclaration(n)){var i=ri(t);(i===be||111551&i.flags)&&Nh(n.moduleReference)}}}function ui(t,r){return 78===t.kind&&e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),78===t.kind||157===t.parent.kind?di(t,1920,!1,r):(e.Debug.assert(260===t.parent.kind),di(t,901119,!1,r))}function li(e,t){return e.parent?li(e.parent,t)+\".\"+oa(e):oa(e,t,void 0,20)}function di(t,r,n,i,a){if(!e.nodeIsMissing(t)){var o,s=1920|(e.isInJSFile(t)?111551&r:0);if(78===t.kind){var c=r===s||e.nodeIsSynthesized(t)?e.Diagnostics.Cannot_find_namespace_0:yf(e.getFirstIdentifier(t)),u=e.isInJSFile(t)&&!e.nodeIsSynthesized(t)?function(t,r){if(gu(t.parent)){var n=function(t){if(e.findAncestor(t,(function(t){return e.isJSDocNode(t)||4194304&t.flags?e.isJSDocTypeAlias(t):\"quit\"})))return;var r=e.getJSDocHost(t);if(e.isExpressionStatement(r)&&e.isBinaryExpression(r.expression)&&3===e.getAssignmentDeclarationKind(r.expression)){if(i=ki(r.expression.left))return _i(i)}if((e.isObjectLiteralMethod(r)||e.isPropertyAssignment(r))&&e.isBinaryExpression(r.parent.parent)&&6===e.getAssignmentDeclarationKind(r.parent.parent)){if(i=ki(r.parent.parent.left))return _i(i)}var n=e.getEffectiveJSDocHost(t);if(n&&e.isFunctionLike(n)){var i;return(i=ki(n))&&i.valueDeclaration}}(t.parent);if(n)return Pn(n,t.escapedText,r,void 0,t,!0)}}(t,r):void 0;if(!(o=Ci(Pn(a||t,t.escapedText,r,n||u?void 0:c,t,!0))))return Ci(u)}else{if(157!==t.kind&&201!==t.kind)throw e.Debug.assertNever(t,\"Unknown entity name kind.\");var l=157===t.kind?t.left:t.expression,d=157===t.kind?t.right:t.name,_=di(l,s,n,!1,a);if(!_||e.nodeIsMissing(d))return;if(_===be)return _;if(e.isInJSFile(t)&&_.valueDeclaration&&e.isVariableDeclaration(_.valueDeclaration)&&_.valueDeclaration.initializer&&kv(_.valueDeclaration.initializer)){var p=_.valueDeclaration.initializer.arguments[0],f=pi(p,p);if(f){var g=yi(f);g&&(_=g)}}if(!(o=Ci(An(bi(_),d.escapedText,r)))){if(!n){var m=li(_),y=e.declarationNameToString(d),v=xy(d,_);v?_n(d,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2,m,y,oa(v)):_n(d,e.Diagnostics.Namespace_0_has_no_exported_member_1,m,y)}return}}return e.Debug.assert(0==(1&e.getCheckFlags(o)),\"Should never get an instantiated symbol here.\"),!e.nodeIsSynthesized(t)&&e.isEntityName(t)&&(2097152&o.flags||266===t.parent.kind)&&ii(e.getAliasDeclarationFromName(t),o,void 0,!0),o.flags&r||i?o:ni(o)}}function _i(t){var r=t.parent.valueDeclaration;if(r)return(e.isAssignmentDeclaration(r)?e.getAssignedExpandoInitializer(r):e.hasOnlyExpressionInitializer(r)?e.getDeclaredExpandoInitializer(r):void 0)||r}function pi(t,r,n){var i=e.getEmitModuleResolutionKind(V)===e.ModuleResolutionKind.Classic?e.Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:e.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations;return fi(t,r,n?void 0:i)}function fi(t,r,n,i){return void 0===i&&(i=!1),e.isStringLiteralLike(r)?gi(t,r.text,n,r,i):void 0}function gi(r,n,i,a,o){(void 0===o&&(o=!1),e.startsWith(n,\"@types/\"))&&_n(a,e.Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1,e.removePrefix(n,\"@types/\"),n);var s=bc(n,!0);if(s)return s;var c=e.getSourceFileOfNode(r),u=e.getResolvedModule(c,n),l=u&&e.getResolutionDiagnostic(V,u),d=u&&!l&&t.getSourceFile(u.resolvedFileName);if(d)return d.symbol?(u.isExternalLibraryImport&&!e.resolutionExtensionIsTSOrJson(u.extension)&&mi(!1,a,u,n),Ci(d.symbol)):void(i&&_n(a,e.Diagnostics.File_0_is_not_a_module,d.fileName));if(yt){var _=e.findBestPatternMatch(yt,(function(e){return e.pattern}),n);if(_){var p=vt&&vt.get(n);return Ci(p?p:_.symbol)}}if(u&&!e.resolutionExtensionIsTSOrJson(u.extension)&&void 0===l||l===e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type)o?_n(a,e.Diagnostics.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented,n,u.resolvedFileName):mi($&&!!i,a,u,n);else if(i){if(u){var f=t.getProjectReferenceRedirect(u.resolvedFileName);if(f)return void _n(a,e.Diagnostics.Output_file_0_has_not_been_built_from_source_file_1,f,u.resolvedFileName)}if(l)_n(a,l,n,u.resolvedFileName);else{var g=e.tryExtractTSExtension(n);if(g)_n(a,e.Diagnostics.An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead,g,e.removeExtension(n,g));else!V.resolveJsonModule&&e.fileExtensionIs(n,\".json\")&&e.getEmitModuleResolutionKind(V)===e.ModuleResolutionKind.NodeJs&&e.hasJsonModuleEmitEnabled(V)?_n(a,e.Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension,n):_n(a,i,n)}}}function mi(t,r,n,i){var a,o=n.packageId,s=n.resolvedFileName,c=!e.isExternalModuleNameRelative(i)&&o?(a=o.name,f().has(e.getTypesPackageName(a))?e.chainDiagnosticMessages(void 0,e.Diagnostics.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,o.name,e.mangleScopedPackageName(o.name)):e.chainDiagnosticMessages(void 0,e.Diagnostics.Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,i,e.mangleScopedPackageName(o.name))):void 0;fn(t,r,e.chainDiagnosticMessages(c,e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,i,s))}function yi(t,r){if(null==t?void 0:t.exports){var n=function(t,r){if(!t||t===be||t===r||1===r.exports.size||2097152&t.flags)return t;var n=Tn(t);if(n.cjsExportMerged)return n.cjsExportMerged;var i=33554432&t.flags?t:hn(t);i.flags=512|i.flags,void 0===i.exports&&(i.exports=e.createSymbolTable());return r.exports.forEach((function(e,t){\"export=\"!==t&&i.exports.set(t,i.exports.has(t)?Dn(i.exports.get(t),e):e)})),Tn(i).cjsExportMerged=i,n.cjsExportMerged=i}(Ci(ri(t.exports.get(\"export=\"),r)),Ci(t));return Ci(n)||t}}function vi(t,r,n,i){var a=yi(t,n);if(!n&&a){if(!(i||1539&a.flags||e.getDeclarationOfKind(a,297))){var o=W>=e.ModuleKind.ES2015?\"allowSyntheticDefaultImports\":\"esModuleInterop\";return _n(r,e.Diagnostics.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export,o),a}if(V.esModuleInterop){var s=r.parent;if(e.isImportDeclaration(s)&&e.getNamespaceDeclarationNode(s)||e.isImportCall(s)){var c=po(a),u=_c(c,0);if(u&&u.length||(u=_c(c,1)),u&&u.length){var l=Cv(c,a,t),d=mn(a.flags,a.escapedName);d.declarations=a.declarations?a.declarations.slice():[],d.parent=a.parent,d.target=a,d.originatingImport=s,a.valueDeclaration&&(d.valueDeclaration=a.valueDeclaration),a.constEnumOnlyModule&&(d.constEnumOnlyModule=!0),a.members&&(d.members=new e.Map(a.members)),a.exports&&(d.exports=new e.Map(a.exports));var _=Rs(l);return d.type=Vi(d,_.members,e.emptyArray,e.emptyArray,_.stringIndexInfo,_.numberIndexInfo),d}}}}return a}function hi(e){return void 0!==e.exports.get(\"export=\")}function Di(e){return Dc(Si(e))}function xi(e,t){var r=Si(t);if(r)return r.get(e)}function bi(e){return 6256&e.flags?ns(e,\"resolvedExports\"):1536&e.flags?Si(e):e.exports||A}function Si(e){var t=Tn(e);return t.resolvedExports||(t.resolvedExports=Ti(e))}function Ei(t,r,n,i){r&&r.forEach((function(r,a){if(\"default\"!==a){var o=t.get(a);if(o){if(n&&i&&o&&ri(o)!==ri(r)){var s=n.get(a);s.exportsWithDuplicate?s.exportsWithDuplicate.push(i):s.exportsWithDuplicate=[i]}}else t.set(a,r),n&&i&&n.set(a,{specifierText:e.getTextOfNode(i.moduleSpecifier)})}}))}function Ti(t){var r=[];return function t(n){if(!(n&&n.exports&&e.pushIfUnique(r,n)))return;var i=new e.Map(n.exports),a=n.exports.get(\"__export\");if(a){for(var o=e.createSymbolTable(),s=new e.Map,c=0,u=a.declarations;c=l?u.substr(0,l-\"...\".length)+\"...\":u}function ua(e,t){var r=da(e.symbol)?ca(e,e.symbol.valueDeclaration):ca(e),n=da(t.symbol)?ca(t,t.symbol.valueDeclaration):ca(t);return r===n&&(r=la(e),n=la(t)),[r,n]}function la(e){return ca(e,void 0,64)}function da(t){return t&&t.valueDeclaration&&e.isExpression(t.valueDeclaration)&&!jd(t.valueDeclaration)}function _a(e){return void 0===e&&(e=0),814775659&e}function pa(t){return!!(t.symbol&&32&t.symbol.flags&&(t===Po(t.symbol)||1073741824&e.getObjectFlags(t)))}function fa(t,r,n,i){return void 0===n&&(n=16384),i?a(i).getText():e.usingSingleLineStringWriter(a);function a(i){var a=e.factory.createTypePredicateNode(2===t.kind||3===t.kind?e.factory.createToken(127):void 0,1===t.kind||3===t.kind?e.factory.createIdentifier(t.parameterName):e.factory.createThisTypeNode(),t.type&&ne.typeToTypeNode(t.type,r,70222336|_a(n))),o=e.createPrinter({removeComments:!0}),s=r&&e.getSourceFileOfNode(r);return o.writeNode(4,a,s,i),i}}function ga(e){return 8===e?\"private\":16===e?\"protected\":\"public\"}function ma(t){return t&&t.parent&&257===t.parent.kind&&e.isExternalModuleAugmentation(t.parent.parent)}function ya(t){return 297===t.kind||e.isAmbientModule(t)}function va(t,r){var n=Tn(t).nameType;if(n){if(384&n.flags){var i=\"\"+n.value;return e.isIdentifierText(i,V.target)||xm(i)?xm(i)&&e.startsWith(i,\"-\")?\"[\"+i+\"]\":i:'\"'+e.escapeString(i,34)+'\"'}if(8192&n.flags)return\"[\"+ha(n.symbol,r)+\"]\"}}function ha(t,r){if(r&&\"default\"===t.escapedName&&!(16384&r.flags)&&(!(16777216&r.flags)||!t.declarations||r.enclosingDeclaration&&e.findAncestor(t.declarations[0],ya)!==e.findAncestor(r.enclosingDeclaration,ya)))return\"default\";if(t.declarations&&t.declarations.length){var n=e.firstDefined(t.declarations,(function(t){return e.getNameOfDeclaration(t)?t:void 0})),i=n&&e.getNameOfDeclaration(n);if(n&&i){if(e.isCallExpression(n)&&e.isBindableObjectDefinePropertyCall(n))return e.symbolName(t);if(e.isComputedPropertyName(i)&&!(4096&e.getCheckFlags(t))){var a=Tn(t).nameType;if(a&&384&a.flags){var o=va(t,r);if(void 0!==o)return o}}return e.declarationNameToString(i)}if(n||(n=t.declarations[0]),n.parent&&249===n.parent.kind)return e.declarationNameToString(n.parent.name);switch(n.kind){case 221:case 208:case 209:return!r||r.encounteredError||131072&r.flags||(r.encounteredError=!0),221===n.kind?\"(Anonymous class)\":\"(Anonymous function)\"}}var s=va(t,r);return void 0!==s?s:e.symbolName(t)}function Da(t){if(t){var r=Cn(t);return void 0===r.isVisible&&(r.isVisible=!!function(){switch(t.kind){case 324:case 331:case 325:return!!(t.parent&&t.parent.parent&&t.parent.parent.parent&&e.isSourceFile(t.parent.parent.parent));case 198:return Da(t.parent.parent);case 249:if(e.isBindingPattern(t.name)&&!t.name.elements.length)return!1;case 256:case 252:case 253:case 254:case 251:case 255:case 260:if(e.isExternalModuleAugmentation(t))return!0;var r=Ca(t);return 1&e.getCombinedModifierFlags(t)||260!==t.kind&&297!==r.kind&&8388608&r.flags?Da(r):kn(r);case 163:case 162:case 167:case 168:case 165:case 164:if(e.hasEffectiveModifier(t,24))return!1;case 166:case 170:case 169:case 171:case 160:case 257:case 174:case 175:case 177:case 173:case 178:case 179:case 182:case 183:case 186:case 192:return Da(t.parent);case 262:case 263:case 265:return!1;case 159:case 297:case 259:return!0;case 266:default:return!1}}()),r.isVisible}return!1}function xa(t,r){var n,i,a;return t.parent&&266===t.parent.kind?n=Pn(t,t.escapedText,2998271,void 0,t,!1):270===t.parent.kind&&(n=$n(t.parent,2998271)),n&&((a=new e.Set).add(M(n)),function t(n){e.forEach(n,(function(n){var o=Kn(n)||n;if(r?Cn(n).isVisible=!0:(i=i||[],e.pushIfUnique(i,o)),e.isInternalModuleImportEqualsDeclaration(n)){var s=n.moduleReference,c=Pn(n,e.getFirstIdentifier(s).escapedText,901119,void 0,void 0,!1);c&&a&&e.tryAddToSet(a,M(c))&&t(c.declarations)}}))}(n.declarations)),i}function ba(e,t){var r=Sa(e,t);if(r>=0){for(var n=Ir.length,i=r;i=0;r--){if(Ea(Ir[r],Mr[r]))return-1;if(Ir[r]===e&&Mr[r]===t)return r}return-1}function Ea(t,r){switch(r){case 0:return!!Tn(t).type;case 5:return!!Cn(t).resolvedEnumType;case 2:return!!Tn(t).declaredType;case 1:return!!t.resolvedBaseConstructorType;case 3:return!!t.resolvedReturnType;case 4:return!!t.immediateBaseConstraint;case 6:return!!t.resolvedTypeArguments;case 7:return!!t.baseTypesResolved}return e.Debug.assertNever(r)}function Ta(){return Ir.pop(),Mr.pop(),Or.pop()}function Ca(t){return e.findAncestor(e.getRootDeclaration(t),(function(e){switch(e.kind){case 249:case 250:case 265:case 264:case 263:case 262:return!1;default:return!0}})).parent}function ka(e,t){var r=dc(e,t);return r?po(r):void 0}function Aa(e){return e&&0!=(1&e.flags)}function Fa(e){var t=ki(e);return t&&Tn(t).type||Ba(e,!1)}function Na(t,r,n){if(131072&(t=$f(t,(function(e){return!(98304&e.flags)}))).flags)return it;if(1048576&t.flags)return eg(t,(function(e){return Na(e,r,n)}));var i=$u(e.map(r,ul));if(Tl(t)||Cl(i)){if(131072&i.flags)return t;var a=er||(er=Su(\"Omit\",524288,e.Diagnostics.Cannot_find_global_type_0));return a?su(a,[t,i]):ke}for(var o=e.createSymbolTable(),s=0,c=Ks(t);s=2?(i=Ee,Pu(Fu(!0),[i])):Nt;var c=e.map(a,(function(t){return e.isOmittedExpression(t)?Ee:Ya(t,r,n)})),u=e.findLastIndex(a,(function(t){return!(t===s||e.isOmittedExpression(t)||mm(t))}),a.length-1)+1,l=Ju(c,e.map(a,(function(e,t){return e===s?4:t>=u?2:1})));return r&&((l=ru(l)).pattern=t,l.objectFlags|=1048576),l}function Qa(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),196===t.kind?function(t,r,n){var i,a=e.createSymbolTable(),o=1048704;e.forEach(t.elements,(function(e){var t=e.propertyName||e.name;if(e.dotDotDotToken)i=Gc(Ee,!1);else{var s=ul(t);if(Xo(s)){var c=ts(s),u=mn(4|(e.initializer?16777216:0),c);u.type=Ya(e,r,n),u.bindingElement=e,a.set(u.escapedName,u)}else o|=512}}));var s=Vi(void 0,a,e.emptyArray,e.emptyArray,i,void 0);return s.objectFlags|=o,r&&(s.pattern=t,s.objectFlags|=1048576),s}(t,r,n):Xa(t,r,n)}function $a(e,t){return Za(Ba(e,!0),e,t)}function Za(t,r,n){return t?(n&&Rp(r,t),8192&t.flags&&(e.isBindingElement(r)||!r.type)&&t.symbol!==ki(r)&&(t=Ve),Ip(t)):(t=e.isParameter(r)&&r.dotDotDotToken?Nt:Ee,n&&(eo(r)||Lp(r,t)),t)}function eo(t){var r=e.getRootDeclaration(t);return dD(160===r.kind?r.parent:r)}function to(t){var r=e.getEffectiveTypeAnnotationNode(t);if(r)return ld(r)}function ro(t){var r=Tn(t);if(!r.type){var n=function(t){if(4194304&t.flags)return(r=Jo(Ai(t))).typeParameters?tu(r,e.map(r.typeParameters,(function(e){return Ee}))):r;var r;if(t===ue)return Ee;if(134217728&t.flags){var n=ki(e.getSourceFileOfNode(t.valueDeclaration)),i=e.createSymbolTable();return i.set(\"exports\",n),Vi(t,i,e.emptyArray,e.emptyArray,void 0,void 0)}var a,o=t.valueDeclaration;if(e.isCatchClauseVariableDeclarationOrBindingElement(o)){var s=o;if(!s.type)return Ee;var c=Cb(s.type);return Aa(c)||c===Ne?c:ke}if(e.isSourceFile(o)&&e.isJsonSourceFile(o))return o.statements.length?Ip(tp(Gh(o.statements[0].expression))):it;if(!ba(t,0))return 512&t.flags&&!(67108864&t.flags)?uo(t):_o(t);if(266===o.kind)a=Za(Nh(o.expression),o);else if(e.isBinaryExpression(o)||e.isInJSFile(o)&&(e.isCallExpression(o)||(e.isPropertyAccessExpression(o)||e.isBindableStaticElementAccessExpression(o))&&e.isBinaryExpression(o.parent)))a=Va(t);else if(e.isPropertyAccessExpression(o)||e.isElementAccessExpression(o)||e.isIdentifier(o)||e.isStringLiteralLike(o)||e.isNumericLiteral(o)||e.isClassDeclaration(o)||e.isFunctionDeclaration(o)||e.isMethodDeclaration(o)&&!e.isObjectLiteralMethod(o)||e.isMethodSignature(o)||e.isSourceFile(o)){if(9136&t.flags)return uo(t);a=e.isBinaryExpression(o.parent)?Va(t):to(o)||Ee}else if(e.isPropertyAssignment(o))a=to(o)||Rh(o);else if(e.isJsxAttribute(o))a=to(o)||Fm(o);else if(e.isShorthandPropertyAssignment(o))a=to(o)||Lh(o.name,0);else if(e.isObjectLiteralMethod(o))a=to(o)||Bh(o,0);else if(e.isParameter(o)||e.isPropertyDeclaration(o)||e.isPropertySignature(o)||e.isVariableDeclaration(o)||e.isBindingElement(o)||e.isJSDocPropertyLikeTag(o))a=$a(o,!0);else if(e.isEnumDeclaration(o))a=uo(t);else if(e.isEnumMember(o))a=lo(t);else{if(!e.isAccessor(o))return e.Debug.fail(\"Unhandled declaration kind! \"+e.Debug.formatSyntaxKind(o.kind)+\" for \"+e.Debug.formatSymbol(t));a=so(t)}if(!Ta())return 512&t.flags&&!(67108864&t.flags)?uo(t):_o(t);return a}(t);r.type||(r.type=n)}return r.type}function no(t){if(t)return 167===t.kind?e.getEffectiveReturnTypeNode(t):e.getEffectiveSetAccessorTypeAnnotationNode(t)}function io(e){var t=no(e);return t&&ld(t)}function ao(e){return Ic(Ac(e))}function oo(t){var r=Tn(t);return r.type||(r.type=function(t){if(!ba(t,0))return ke;var r=so(t);if(!Ta()){if(r=Ee,$)_n(e.getDeclarationOfKind(t,167),e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,oa(t))}return r}(t))}function so(t){var r=e.getDeclarationOfKind(t,167),n=e.getDeclarationOfKind(t,168);if(r&&e.isInJSFile(r)){var i=Ma(r);if(i)return i}var a=io(r);if(a)return a;var o=io(n);return o||(r&&r.body?eh(r):(n?dD(n)||fn($,n,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,oa(t)):(e.Debug.assert(!!r,\"there must exist a getter as we are current checking either setter or getter in this function\"),dD(r)||fn($,r,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,oa(t))),Ee))}function co(t){var r=Co(Po(t));return 8650752&r.flags?r:2097152&r.flags?e.find(r.types,(function(e){return!!(8650752&e.flags)})):void 0}function uo(t){var r=Tn(t),n=r;if(!r.type){var i=t.valueDeclaration&&xv(t.valueDeclaration,!1);if(i){var a=Dv(t,i);a&&(t=r=a)}n.type=r.type=function(t){var r=t.valueDeclaration;if(1536&t.flags&&e.isShorthandAmbientModuleSymbol(t))return Ee;if(r&&(216===r.kind||e.isAccessExpression(r)&&216===r.parent.kind))return Va(t);if(512&t.flags&&r&&e.isSourceFile(r)&&r.commonJsModuleIndicator){var n=yi(t);if(n!==t){if(!ba(t,0))return ke;var i=Ci(t.exports.get(\"export=\")),a=Va(i,i===n?void 0:n);return Ta()?a:_o(t)}}var o=ji(16,t);if(32&t.flags){var s=co(t);return s?al([o,s]):o}return G&&16777216&t.flags?vp(o):o}(t)}return r.type}function lo(e){var t=Tn(e);return t.type||(t.type=Bo(e))}function _o(t){var r=t.valueDeclaration;return e.getEffectiveTypeAnnotationNode(r)?(_n(t.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,oa(t)),ke):($&&(160!==r.kind||r.initializer)&&_n(t.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,oa(t)),Ee)}function po(t){var r=e.getCheckFlags(t);return 65536&r?function(t){var r=Tn(t);return r.type||(e.Debug.assertIsDefined(r.deferralParent),e.Debug.assertIsDefined(r.deferralConstituents),r.type=1048576&r.deferralParent.flags?$u(r.deferralConstituents):al(r.deferralConstituents)),r.type}(t):1&r?function(e){var t=Tn(e);if(!t.type){if(!ba(e,0))return t.type=ke;var r=Md(po(t.target),t.mapper);Ta()||(r=_o(e)),t.type=r}return t.type}(t):262144&r?function(t){if(!t.type){var r=t.mappedType;if(!ba(t,0))return r.containsError=!0,ke;var n=Md(Fs(r.target||r),Ed(r.mapper,Cs(r),t.keyType)),i=G&&16777216&t.flags&&!mh(n,49152)?vp(n):524288&t.checkFlags?If(n,524288):n;Ta()||(_n(d,e.Diagnostics.Type_of_property_0_circularly_references_itself_in_mapped_type_1,oa(t),ca(r)),i=ke),t.type=i}return t.type}(t):8192&r?function(e){return $p(e.propertyType,e.mappedType,e.constraintType)}(t):7&t.flags?ro(t):9136&t.flags?uo(t):8&t.flags?lo(t):98304&t.flags?oo(t):2097152&t.flags?function(e){var t=Tn(e);if(!t.type){var r=ni(e);t.type=111551&r.flags?po(r):ke}return t.type}(t):ke}function fo(t,r){return void 0!==t&&void 0!==r&&0!=(4&e.getObjectFlags(t))&&t.target===r}function go(t){return 4&e.getObjectFlags(t)?t.target:t}function mo(t,r){return function t(n){if(7&e.getObjectFlags(n)){var i=go(n);return i===r||e.some(Ao(i),t)}if(2097152&n.flags)return e.some(n.types,t);return!1}(t)}function yo(t,r){for(var n=0,i=r;n0)return!0;if(8650752&e.flags){var t=Gs(e);return!!t&&xo(t)}return!1}function So(t){return e.getEffectiveBaseTypeNode(t.symbol.valueDeclaration)}function Eo(t,r,n){var i=e.length(r),a=e.isInJSFile(n);return e.filter(pc(t,1),(function(t){return(a||i>=Cc(t.typeParameters))&&i<=e.length(t.typeParameters)}))}function To(t,r,n){var i=Eo(t,r,n),a=e.map(r,ld);return e.sameMap(i,(function(t){return e.some(t.typeParameters)?jc(t,a,e.isInJSFile(n)):t}))}function Co(t){if(!t.resolvedBaseConstructorType){var r=t.symbol.valueDeclaration,n=e.getEffectiveBaseTypeNode(r),i=So(t);if(!i)return t.resolvedBaseConstructorType=Pe;if(!ba(t,1))return ke;var a=Gh(i.expression);if(n&&i!==n&&(e.Debug.assert(!n.typeArguments),Gh(n.expression)),2621440&a.flags&&Rs(a),!Ta())return _n(t.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,oa(t.symbol)),t.resolvedBaseConstructorType=ke;if(!(1&a.flags||a===Me||bo(a))){var o=_n(i.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,ca(a));if(262144&a.flags){var s=Qc(a),c=Ne;if(s){var u=pc(s,1);u[0]&&(c=Mc(u[0]))}e.addRelatedInfo(o,e.createDiagnosticForNode(a.symbol.declarations[0],e.Diagnostics.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1,oa(a.symbol),ca(c)))}return t.resolvedBaseConstructorType=ke}t.resolvedBaseConstructorType=a}return t.resolvedBaseConstructorType}function ko(t,r){_n(t,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,ca(r,void 0,2))}function Ao(t){if(!t.baseTypesResolved){if(ba(t,7)&&(8&t.objectFlags?t.resolvedBaseTypes=[Fo(t)]:96&t.symbol.flags?(32&t.symbol.flags&&function(t){t.resolvedBaseTypes=e.resolvingEmptyArray;var r=tc(Co(t));if(!(2621441&r.flags))return t.resolvedBaseTypes=e.emptyArray;var n,i=So(t),a=r.symbol?Jo(r.symbol):void 0;if(r.symbol&&32&r.symbol.flags&&function(e){var t=e.outerTypeParameters;if(t){var r=t.length-1,n=iu(e);return t[r].symbol!==n[r].symbol}return!0}(a))n=ou(i,r.symbol);else if(1&r.flags)n=r;else{var o=To(r,i.typeArguments,i);if(!o.length)return _n(i.expression,e.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments),t.resolvedBaseTypes=e.emptyArray;n=Mc(o[0])}if(n===ke)return t.resolvedBaseTypes=e.emptyArray;var s=oc(n);if(!No(s)){var c=lc(void 0,n),u=e.chainDiagnosticMessages(c,e.Diagnostics.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members,ca(s));return $r.add(e.createDiagnosticForNodeFromMessageChain(i.expression,u)),t.resolvedBaseTypes=e.emptyArray}if(t===s||mo(s,t))return _n(t.symbol.valueDeclaration,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,ca(t,void 0,2)),t.resolvedBaseTypes=e.emptyArray;t.resolvedBaseTypes===e.resolvingEmptyArray&&(t.members=void 0);t.resolvedBaseTypes=[s]}(t),64&t.symbol.flags&&function(t){t.resolvedBaseTypes=t.resolvedBaseTypes||e.emptyArray;for(var r=0,n=t.symbol.declarations;r0)return;for(var i=1;i1&&(n=void 0===n?i:-1);for(var a=0,o=t[i];a1){var l=s.thisParameter,d=e.forEach(c,(function(e){return e.thisParameter}));if(d)l=Cp(d,al(e.mapDefined(c,(function(e){return e.thisParameter&&po(e.thisParameter)}))));(u=ls(s,c)).thisParameter=l}(r||(r=[])).push(u)}}}}if(!e.length(r)&&-1!==n){for(var _=t[void 0!==n?n:0],p=_.slice(),f=function(t){if(t!==_){var r=t[0];if(e.Debug.assert(!!r,\"getUnionSignatures bails early on empty signature lists and should not have empty lists on second pass\"),!(p=r.typeParameters&&e.some(p,(function(e){return!!e.typeParameters}))?void 0:e.map(p,(function(t){return function(t,r){var n=t.declaration,i=function(e,t){for(var r=Kv(e),n=Kv(t),i=r>=n?e:t,a=i===e?t:e,o=i===e?r:n,s=Uv(e)||Uv(t),c=s&&!Uv(i),u=new Array(o+(c?1:0)),l=0;l=zv(i)&&l>=zv(a),f=l>=r?void 0:Mv(e,l),g=l>=n?void 0:Mv(t,l),m=mn(1|(p&&!_?16777216:0),(f===g?f:f?g?void 0:f:g)||\"arg\"+l);m.type=_?Iu(d):d,u[l]=m}if(c){var y=mn(1,\"args\");y.type=Iu(Bv(a,o)),u[o]=y}return u}(t,r),a=function(e,t){if(!e||!t)return e||t;var r=al([po(e),po(t)]);return Cp(e,r)}(t.thisParameter,r.thisParameter),o=Math.max(t.minArgumentCount,r.minArgumentCount),s=cs(n,t.typeParameters||r.typeParameters,a,i,void 0,void 0,o,19&(t.flags|r.flags));return s.unionSignatures=e.concatenate(t.unionSignatures||[t],[r]),s}(t,r)}))))return\"break\"}},g=0,m=t;g0})),n=e.map(t,xo);if(r>0&&r===e.countWhere(n,(function(e){return e}))){var i=n.indexOf(!0);n[i]=!1}return n}function xs(t){for(var r,n,i,a,o=t.types,s=Ds(o),c=e.countWhere(s,(function(e){return e})),u=function(u){var l=t.types[u];if(!s[u]){var d=pc(l,1);d.length&&c>0&&(d=e.map(d,(function(e){var t=us(e);return t.resolvedReturnType=function(e,t,r,n){for(var i=[],a=0;a=d&&o<=_){var p=_?Kc(l,kc(a,l.typeParameters,d,i)):us(l);p.typeParameters=t.localTypeParameters,p.resolvedReturnType=t,s.push(p)}}return s}(l)),t.constructSignatures=i}}}function Es(t){if(4194304&t.flags){var r=tc(t.type);return op(r)?qu(r):pl(r)}if(16777216&t.flags){if(t.root.isDistributive){var n=t.checkType,i=Es(n);if(i!==n)return Od(t,Sd(t.root.checkType,i,t.mapper))}return t}return 1048576&t.flags?$u(e.sameMap(t.types,Es)):2097152&t.flags?al(e.sameMap(t.types,Es)):t}function Ts(t){var r,n,i=e.createSymbolTable();Ui(t,A,e.emptyArray,e.emptyArray,void 0,void 0);var a=Cs(t),o=ks(t),s=As(t.target||t),c=Fs(t.target||t),u=tc(ws(t)),l=Is(t),d=ee?128:8576;if(Ps(t)){for(var _=0,p=Ks(u);_=50)return e.tracing.instant(\"check\",\"getImmediateBaseConstraint_DepthLimit\",{typeId:i.id,originalTypeId:t.id,depth:C}),_n(d,e.Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite),r=!0,i.immediateBaseConstraint=lt;var o=void 0;if(R_(i,n,n.length)||(n.push(i),C++,o=function(t){if(262144&t.flags){var r=Qc(t);return t.isThisType||!r?r:a(r)}if(3145728&t.flags){for(var n=[],i=0,o=c=t.types;i=7,tr||(tr=Eu(\"BigInt\",0,r))||it):528&n.flags?kt:12288&n.flags?Cu(q>=2):67108864&n.flags?it:4194304&n.flags?Ze:2&n.flags&&!G?it:n}function rc(e){return oc(tc(oc(e)))}function nc(t,r){for(var n,i,a,o=1048576&t.flags,s=o?0:16777216,c=4,u=0,l=0,d=t.types;l2?(T.checkFlags|=65536,T.deferralParent=t,T.deferralConstituents=h):T.type=o?$u(h):al(h),T}}function ic(t,r){var n=t.propertyCache||(t.propertyCache=e.createSymbolTable()),i=n.get(r);return i||(i=nc(t,r))&&n.set(r,i),i}function ac(t,r){var n=ic(t,r);return!n||16&e.getCheckFlags(n)?void 0:n}function oc(t){return 1048576&t.flags&&268435456&t.objectFlags?t.resolvedReducedType||(t.resolvedReducedType=function(t){var r=e.sameMap(t.types,oc);if(r===t.types)return t;var n=$u(r);1048576&n.flags&&(n.resolvedReducedType=n);return n}(t)):2097152&t.flags?(268435456&t.objectFlags||(t.objectFlags|=268435456|(e.some(Js(t),sc)?536870912:0)),536870912&t.objectFlags?We:t):t}function sc(e){return cc(e)||uc(e)}function cc(t){return!(16777216&t.flags||192!=(131264&e.getCheckFlags(t))||!(131072&po(t).flags))}function uc(t){return!t.valueDeclaration&&!!(1024&e.getCheckFlags(t))}function lc(t,r){if(536870912&e.getObjectFlags(r)){var n=e.find(Js(r),cc);if(n)return e.chainDiagnosticMessages(t,e.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents,ca(r,void 0,536870912),oa(n));var i=e.find(Js(r),uc);if(i)return e.chainDiagnosticMessages(t,e.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some,ca(r,void 0,536870912),oa(i))}return t}function dc(e,t){if(524288&(e=rc(e)).flags){var r=Rs(e),n=r.members.get(t);if(n&&Oi(n))return n;var i=r===ut?Dt:r.callSignatures.length?xt:r.constructSignatures.length?bt:void 0;if(i){var a=js(i,t);if(a)return a}return js(ht,t)}if(3145728&e.flags)return ac(e,t)}function _c(t,r){if(3670016&t.flags){var n=Rs(t);return 0===r?n.callSignatures:n.constructSignatures}return e.emptyArray}function pc(e,t){return _c(rc(e),t)}function fc(e,t){if(3670016&e.flags){var r=Rs(e);return 0===t?r.stringIndexInfo:r.numberIndexInfo}}function gc(e,t){var r=fc(e,t);return r&&r.type}function mc(e,t){return fc(rc(e),t)}function yc(e,t){return gc(rc(e),t)}function vc(t,r){if(Tp(t)){for(var n=[],i=0,a=Ks(t);i=0),n>=zv(r,3)}var i=e.getImmediatelyInvokedFunctionExpression(t.parent);return!!i&&(!t.type&&!t.dotDotDotToken&&t.parent.parameters.indexOf(t)>=i.arguments.length)}function Ec(t){if(!e.isJSDocPropertyLikeTag(t))return!1;var r=t.isBracketed,n=t.typeExpression;return r||!!n&&307===n.type.kind}function Tc(e,t,r,n){return{kind:e,parameterName:t,parameterIndex:r,type:n}}function Cc(t){var r,n=0;if(t)for(var i=0;i=n&&o<=a){for(var s=t?t.slice():[],c=o;cu.arguments.length&&!f||xc(_)||(o=i.length)}if(!(167!==t.kind&&168!==t.kind||es(t)||c&&s)){var g=167===t.kind?168:167,m=e.getDeclarationOfKind(ki(t),g);m&&(s=(r=NS(m))&&r.symbol)}var y=166===t.kind?Po(Ci(t.parent.symbol)):void 0,v=y?y.localTypeParameters:hc(t);(e.hasRestParameter(t)||e.isInJSFile(t)&&function(t,r){if(e.isJSDocSignature(t)||!Nc(t))return!1;var n=e.lastOrUndefined(t.parameters),i=n?e.getJSDocParameterTags(n):e.getJSDocTags(t).filter(e.isJSDocParameterTag),a=e.firstDefined(i,(function(t){return t.typeExpression&&e.isJSDocVariadicType(t.typeExpression.type)?t.typeExpression.type:void 0})),o=mn(3,\"args\",32768);o.type=a?Iu(ld(a.type)):Nt,a&&r.pop();return r.push(o),!0}(t,i))&&(a|=1),n.resolvedSignature=cs(t,v,s,i,void 0,void 0,o,a)}return n.resolvedSignature}function Fc(t){if(e.isInJSFile(t)&&e.isFunctionLikeDeclaration(t)){var r=e.getJSDocTypeTag(t),n=r&&r.typeExpression&&jy(ld(r.typeExpression));return n&&zc(n)}}function Nc(t){var r=Cn(t);return void 0===r.containsArgumentsReference&&(8192&r.flags?r.containsArgumentsReference=!0:r.containsArgumentsReference=function t(r){if(!r)return!1;switch(r.kind){case 78:return\"arguments\"===r.escapedText&&e.isExpressionNode(r);case 163:case 165:case 167:case 168:return 158===r.name.kind&&t(r.name);default:return!e.nodeStartsNewLexicalEnvironment(r)&&!e.isPartOfTypeNode(r)&&!!e.forEachChild(r,t)}}(t.body)),r.containsArgumentsReference}function Pc(t){if(!t)return e.emptyArray;for(var r=[],n=0;n0&&i.body){var a=t.declarations[n-1];if(i.parent===a.parent&&i.kind===a.kind&&i.pos===a.end)continue}r.push(Ac(i))}}return r}function wc(e){var t=pi(e,e);if(t){var r=yi(t);if(r)return po(r)}return Ee}function Ic(e){if(e.thisParameter)return po(e.thisParameter)}function Oc(t){if(!t.resolvedTypePredicate){if(t.target){var r=Oc(t.target);t.resolvedTypePredicate=r?(o=r,s=t.mapper,Tc(o.kind,o.parameterName,o.parameterIndex,Md(o.type,s))):ur}else if(t.unionSignatures)t.resolvedTypePredicate=function(e){for(var t,r=[],n=0,i=e;n=0}function Bc(e){if(K(e)){var t=po(e.parameters[e.parameters.length-1]),r=ap(t)?cp(t):t;return r&&yc(r,1)}}function jc(e,t,r,n){var i=Jc(e,kc(t,e.typeParameters,Cc(e.typeParameters),r));if(n){var a=Jy(Mc(i));if(a){var o=us(a);o.typeParameters=n;var s=us(i);return s.resolvedReturnType=qc(o),s}}return i}function Jc(t,r){var n=t.instantiations||(t.instantiations=new e.Map),i=Zc(r),a=n.get(i);return a||n.set(i,a=Kc(t,r)),a}function Kc(e,t){return Cd(e,function(e,t){return gd(e.typeParameters,t)}(e,t),!0)}function zc(e){return e.typeParameters?e.erasedSignatureCache||(e.erasedSignatureCache=function(e){return Cd(e,Dd(e.typeParameters),!0)}(e)):e}function Uc(t){return t.typeParameters?t.canonicalSignatureCache||(t.canonicalSignatureCache=function(t){return jc(t,e.map(t.typeParameters,(function(e){return e.target&&!Us(e.target)?e.target:e})),e.isInJSFile(t.declaration))}(t)):t}function Vc(t){var r=t.typeParameters;if(r){var n=Dd(r);return Cd(t,gd(r,e.map(r,(function(e){return Md(Gs(e),n)||Ne}))),!0)}return t}function qc(t){if(!t.isolatedSignatureType){var r=t.declaration?t.declaration.kind:0,n=166===r||170===r||175===r,i=ji(16);i.members=A,i.properties=e.emptyArray,i.callSignatures=n?e.emptyArray:[t],i.constructSignatures=n?[t]:e.emptyArray,t.isolatedSignatureType=i}return t.isolatedSignatureType}function Wc(e){return e.members.get(\"__index\")}function Hc(t,r){var n=1===r?144:147,i=Wc(t);if(i)for(var a=0,o=i.declarations;a1&&(t+=\":\"+a),n+=a}return t}function eu(t,r){for(var n=0,i=0,a=t;ii.length)){var c=s&&e.isExpressionWithTypeArguments(t)&&!e.isJSDocAugmentsTag(t.parent);if(_n(t,o===i.length?c?e.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_1_type_argument_s:c?e.Diagnostics.Expected_0_1_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,ca(n,void 0,2),o,i.length),!s)return ke}return 173===t.kind&&Ru(t,e.length(t.typeArguments)!==i.length)?nu(n,t,void 0):tu(n,e.concatenate(n.outerTypeParameters,kc(hu(t),i,o,s)))}return mu(t,r)?n:ke}function su(t,r){var n=Jo(t);if(n===Fe&&P.has(t.escapedName)&&r&&1===r.length)return yl(t,r[0]);var i=Tn(t),a=i.typeParameters,o=Zc(r),s=i.instantiations.get(o);return s||i.instantiations.set(o,s=Md(n,gd(a,kc(r,a,Cc(a),e.isInJSFile(t.valueDeclaration))))),s}function cu(t){switch(t.kind){case 173:return t.typeName;case 223:var r=t.expression;if(e.isEntityNameExpression(r))return r}}function uu(e,t,r){return e&&di(e,t,r)||be}function lu(t,r){if(r===be)return ke;if(96&(r=function(t){var r=t.valueDeclaration;if(r&&e.isInJSFile(r)&&!(524288&t.flags)&&!e.getExpandoInitializer(r,!1)){var n=e.isVariableDeclaration(r)?e.getDeclaredExpandoInitializer(r):e.getAssignedExpandoInitializer(r);if(n){var i=ki(n);if(i)return Dv(i,t)}}}(r)||r).flags)return ou(t,r);if(524288&r.flags)return function(t,r){var n=Jo(r),i=Tn(r).typeParameters;if(i){var a=e.length(t.typeArguments),o=Cc(i);return ai.length?(_n(t,o===i.length?e.Diagnostics.Generic_type_0_requires_1_type_argument_s:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,oa(r),o,i.length),ke):su(r,hu(t))}return mu(t,r)?n:ke}(t,r);var n=Ko(r);if(n)return mu(t,r)?nd(n):ke;if(111551&r.flags&&gu(t)){var i=function(e,t){var r=Cn(e);if(!r.resolvedJSDocType){var n=po(t),i=n;if(t.valueDeclaration){var a=195===e.kind&&e.qualifier;n.symbol&&n.symbol!==t&&a&&(i=lu(e,n.symbol))}r.resolvedJSDocType=i}return r.resolvedJSDocType}(t,r);return i||(uu(cu(t),788968),po(r))}return ke}function du(e,t){if(3&t.flags||t===e)return e;var r=Wu(e)+\">\"+Wu(t),n=he.get(r);if(n)return n;var i=Li(33554432);return i.baseType=e,i.substitute=t,he.set(r,i),i}function _u(e){return 179===e.kind&&1===e.elements.length}function pu(e,t,r){return _u(t)&&_u(r)?pu(e,t.elements[0],r.elements[0]):Rl(ld(t))===e?ld(r):void 0}function fu(t,r){for(var n;r&&!e.isStatement(r)&&311!==r.kind;){var i=r.parent;if(184===i.kind&&r===i.trueType){var a=pu(t,i.checkType,i.extendsType);a&&(n=e.append(n,a))}r=i}return n?du(t,al(e.append(n,t))):t}function gu(e){return!!(4194304&e.flags)&&(173===e.kind||195===e.kind)}function mu(t,r){return!t.typeArguments||(_n(t,e.Diagnostics.Type_0_is_not_generic,r?oa(r):t.typeName?e.declarationNameToString(t.typeName):u),!1)}function yu(t){if(e.isIdentifier(t.typeName)){var r=t.typeArguments;switch(t.typeName.escapedText){case\"String\":return mu(t),Le;case\"Number\":return mu(t),Re;case\"Boolean\":return mu(t),Ue;case\"Void\":return mu(t),qe;case\"Undefined\":return mu(t),Pe;case\"Null\":return mu(t),Oe;case\"Function\":case\"function\":return mu(t),Dt;case\"array\":return r&&r.length||$?void 0:Nt;case\"promise\":return r&&r.length||$?void 0:Qv(Ee);case\"Object\":if(r&&2===r.length){if(e.isJSDocIndexSignature(t)){var n=ld(r[0]),i=Gc(ld(r[1]),!1);return Vi(void 0,A,e.emptyArray,e.emptyArray,n===Le?i:void 0,n===Re?i:void 0)}return Ee}return mu(t),$?void 0:Ee}}}function vu(t){var r=Cn(t);if(!r.resolvedType){if(e.isConstTypeReference(t)&&e.isAssertionExpression(t.parent))return r.resolvedSymbol=be,r.resolvedType=Nh(t.parent.expression);var n=void 0,i=void 0,a=788968;gu(t)&&((i=yu(t))||((n=uu(cu(t),a,!0))===be?n=uu(cu(t),900095):uu(cu(t),a),i=lu(t,n))),i||(i=lu(t,n=uu(cu(t),a))),r.resolvedSymbol=n,r.resolvedType=i}return r.resolvedType}function hu(t){return e.map(t.typeArguments,ld)}function Du(e){var t=Cn(e);return t.resolvedType||(t.resolvedType=nd(Ip(Gh(e.exprName)))),t.resolvedType}function xu(t,r){function n(e){for(var t=0,r=e.declarations;t=0)return ol(e.map(r,(function(e,r){return 8&t.elementFlags[r]?e:Ne})))?eg(r[o],(function(n){return Uu(t,e.replaceElement(r,o,n))})):ke;if(e.findIndex(r,(function(e,r){return!(!(8&t.elementFlags[r])||58982400&e.flags||Ls(e))}))<0)return tu(t,r);for(var s,c=[],u=[],l=[],d=-1,_=function(o){var s=r[o],c=t.elementFlags[o];8&c?58982400&s.flags||Ls(s)?g(s,8,null===(n=t.labeledElementDeclarations)||void 0===n?void 0:n[o]):ap(s)?e.forEach(iu(s),(function(e,t){var r;return g(e,s.target.elementFlags[t],null===(r=s.target.labeledElementDeclarations)||void 0===r?void 0:r[t])})):g(H_(s)&&yc(s,1)||ke,4,null===(i=t.labeledElementDeclarations)||void 0===i?void 0:i[o]):g(s,c,null===(a=t.labeledElementDeclarations)||void 0===a?void 0:a[o])},p=0;p=0){for(var n=d;ni.fixedLength?function(e){var t=cp(e);return t&&Iu(t)}(t)||Ju(e.emptyArray):Ju(iu(t).slice(r,a),i.elementFlags.slice(r,a),!1,i.labeledElementDeclarations&&i.labeledElementDeclarations.slice(r,a))}function qu(t){return $u(e.append(e.arrayOf(t.target.fixedLength,(function(e){return ad(\"\"+e)})),pl(t.target.readonly?Et:St)))}function Wu(e){return e.id}function Hu(t,r){return e.binarySearch(t,r,Wu,e.compareValues)>=0}function Gu(t,r){var n=e.binarySearch(t,r,Wu,e.compareValues);return n<0&&(t.splice(~n,0,r),!0)}function Yu(t,r,n){var i=n.flags;if(1048576&i)return Xu(t,r,n.types);if(!(131072&i))if(r|=205258751&i,469499904&i&&(r|=262144),n===Ce&&(r|=8388608),!G&&98304&i)524288&e.getObjectFlags(n)||(r|=4194304);else{var a=t.length,o=a&&n.id>t[a-1].id?~a:e.binarySearch(t,n,Wu,e.compareValues);o<0&&t.splice(~o,0,n)}return r}function Xu(e,t,r){for(var n=0,i=r;n0;)for(var o=t[--i],s=0,c=t;s(r?25e6:1e6))return e.tracing.instant(\"check\",\"removeSubtypes_DepthLimit\",{typeIds:t.map((function(e){return e.id}))}),_n(d,e.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent),!1;if(a++,v_(o,u,nn)&&(!(1&e.getObjectFlags(go(o)))||!(1&e.getObjectFlags(go(u)))||Xd(o,u))){e.orderedRemoveItemAt(t,i);break}}}return!0}function $u(t,r,n,i){if(void 0===r&&(r=1),0===t.length)return We;if(1===t.length)return t[0];var a=[],o=Xu(a,0,t);if(0!==r){if(3&o)return 1&o?8388608&o?Ce:Ee:Ne;switch(r){case 1:11136&o&&function(t,r){for(var n=t.length;n>0;){var i=t[--n];(128&i.flags&&4&r||256&i.flags&&8&r||2048&i.flags&&64&r||8192&i.flags&&4096&r||id(i)&&Hu(t,i.regularType))&&e.orderedRemoveItemAt(t,n)}}(a,o),128&o&&134217728&o&&function(t){var r=e.filter(t,El);if(r.length)for(var n=t.length,i=function(){n--;var i=t[n];128&i.flags&&e.some(r,(function(e){return Gd(i,e)}))&&e.orderedRemoveItemAt(t,n)};n>0;)i()}(a);break;case 2:if(!Qu(a,!(262144&o)))return ke}if(0===a.length)return 65536&o?4194304&o?Oe:Me:32768&o?4194304&o?Pe:we:We}return el(a,(469647395&o?0:262144)|(2097152&o?268435456:0),n,i)}function Zu(e,t){return e.kind===t.kind&&e.parameterIndex===t.parameterIndex}function el(e,t,r,n){if(0===e.length)return We;if(1===e.length)return e[0];var i=Zc(e),a=pe.get(i);return a||(a=Li(1048576),pe.set(i,a),a.objectFlags=t|eu(e,98304),a.types=e,a.aliasSymbol=r,a.aliasTypeArguments=n),a}function tl(e,t,r){var n=r.flags;return 2097152&n?rl(e,t,r.types):(f_(r)?16777216&t||(t|=16777216,e.set(r.id.toString(),r)):(3&n?r===Ce&&(t|=8388608):!G&&98304&n||e.has(r.id.toString())||(109440&r.flags&&109440&t&&(t|=67108864),e.set(r.id.toString(),r)),t|=205258751&n),t)}function rl(e,t,r){for(var n=0,i=r;n0;){var i=t[--r];if(134217728&i.flags)for(var a=0,o=n;a0;){var i=t[--n];(4&i.flags&&128&r||8&i.flags&&256&r||64&i.flags&&2048&r||4096&i.flags&&8192&r)&&e.orderedRemoveItemAt(t,n)}}(o,a),16777216&a&&524288&a&&e.orderedRemoveItemAt(o,e.findIndex(o,f_)),0===o.length)return Ne;if(1===o.length)return o[0];var s=Zc(o),c=fe.get(s);if(!c){if(1048576&a)if(function(t){var r,n=e.findIndex(t,(function(t){return!!(262144&e.getObjectFlags(t))}));if(n<0)return!1;for(var i=n+1;i=1e5)||(e.tracing.instant(\"check\",\"checkCrossProductUnion_DepthLimit\",{typeIds:t.map((function(e){return e.id})),size:r}),_n(d,e.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent),!1)}function sl(e,t){var r=Li(4194304);return r.type=e,r.stringsOnly=t,r}function cl(t){return!(!t||!(16777216&t.flags&&!t.root.isDistributive||137363456&t.flags&&e.some(t.types,cl)||272629760&t.flags&&cl(t.type)||8388608&t.flags&&cl(t.indexType)||33554432&t.flags&&cl(t.substitute)))}function ul(t){return e.isPrivateIdentifier(t)?We:e.isIdentifier(t)?ad(e.unescapeLeadingUnderscores(t.escapedText)):nd(e.isComputedPropertyName(t)?bm(t):Gh(t))}function ll(t,r){if(!(24&e.getDeclarationModifierFlagsFromSymbol(t))){var n=Tn(as(t)).nameType;if(!n&&!e.isKnownSymbol(t))if(\"default\"===t.escapedName)n=ad(\"default\");else{var i=t.valueDeclaration&&e.getNameOfDeclaration(t.valueDeclaration);n=i&&ul(i)||ad(e.symbolName(t))}if(n&&n.flags&r)return n}return We}function dl(t,r){return $u(e.map(Ks(t),(function(e){return ll(e,r)})))}function _l(e){var t=mc(e,1);return t!==fr?t:void 0}function pl(t,r,n){return void 0===r&&(r=ee),1048576&(t=oc(t)).flags?al(e.map(t.types,(function(e){return pl(e,r,n)}))):2097152&t.flags?$u(e.map(t.types,(function(e){return pl(e,r,n)}))):58982400&t.flags||op(t)||Ls(t)&&cl(As(t))?function(e,t){return t?e.resolvedStringIndexType||(e.resolvedStringIndexType=sl(e,!0)):e.resolvedIndexType||(e.resolvedIndexType=sl(e,!1))}(t,r):32&e.getObjectFlags(t)?function(e,t){var r=$f(ks(e),(function(e){return!(t&&5&e.flags)})),n=e.declaration.nameType&&ld(e.declaration.nameType);return n?eg(r,(function(t){return Md(n,Ed(e.mapper,Cs(e),t))})):r}(t,n):t===Ce?Ce:2&t.flags?We:131073&t.flags?Ze:r?!n&&mc(t,0)?Le:dl(t,128):!n&&mc(t,0)?$u([Le,Re,dl(t,8192)]):_l(t)?$u([Re,dl(t,8320)]):dl(t,8576)}function fl(t){if(ee)return t;var r=Zt||(Zt=Su(\"Extract\",524288,e.Diagnostics.Cannot_find_global_type_0));return r?su(r,[t,Le]):Le}function gl(t,r){var n=e.findIndex(r,(function(e){return!!(1179648&e.flags)}));if(n>=0)return ol(r)?eg(r[n],(function(i){return gl(t,e.replaceElement(r,n,i))})):ke;if(e.contains(r,Ce))return Ce;var i=[],a=[],o=t[0];if(!function e(t,r){for(var n=0;n=0){if(o&&Qf(r,(function(e){return!e.target.hasRestElement}))&&!(8&s)){var g=bl(o);ap(r)?_n(g,e.Diagnostics.Tuple_type_0_of_length_1_has_no_element_at_index_2,ca(r),au(r),e.unescapeLeadingUnderscores(_)):_n(g,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(_),ca(r))}return b(mc(r,1)),eg(r,(function(e){var t=cp(e)||Pe;return c?$u([t,Pe]):t}))}}if(!(98304&n.flags)&&yh(n,402665900)){if(131073&r.flags)return r;var m=mc(r,0),y=yh(n,296)&&mc(r,1)||m;if(y)return 1&s&&y===m?void(d&&_n(d,e.Diagnostics.Type_0_cannot_be_used_to_index_type_1,ca(n),ca(t))):o&&!yh(n,12)?(_n(g=bl(o),e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,ca(n)),c?$u([y.type,Pe]):y.type):(b(y),c?$u([y.type,Pe]):y.type);if(131072&n.flags)return We;if(vl(r))return Ee;if(d&&!hh(r)){if(r.symbol===oe&&void 0!==_&&oe.exports.has(_)&&418&oe.exports.get(_).flags)_n(d,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(_),ca(r));else if($&&!V.suppressImplicitAnyIndexErrors&&!a)if(void 0!==_&&my(_,r))_n(d,e.Diagnostics.Property_0_is_a_static_member_of_type_1,_,ca(r));else if(yc(r,1))_n(d.argumentExpression,e.Diagnostics.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number);else{var v=void 0;if(void 0!==_&&(v=hy(_,r)))void 0!==v&&_n(d.argumentExpression,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2,_,ca(r),v);else{var h=function(t,r,n){function i(e){var r=js(t,e);if(r){var i=jy(po(r));return!!i&&zv(i)>=1&&Yd(n,Bv(i,0))}return!1}var a=e.isAssignmentTarget(r)?\"set\":\"get\";if(!i(a))return;var o=e.tryGetPropertyAccessOrIdentifierToString(r.expression);void 0===o?o=a:o+=\".\"+a;return o}(r,d,n);if(void 0!==h)_n(d,e.Diagnostics.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1,ca(r),h);else{var D=void 0;if(1024&n.flags)D=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,\"[\"+ca(n)+\"]\",ca(r));else if(8192&n.flags){var x=li(n.symbol,d);D=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,\"[\"+x+\"]\",ca(r))}else 128&n.flags||256&n.flags?D=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,n.value,ca(r)):12&n.flags&&(D=e.chainDiagnosticMessages(void 0,e.Diagnostics.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1,ca(n),ca(r)));D=e.chainDiagnosticMessages(D,e.Diagnostics.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1,ca(i),ca(r)),$r.add(e.createDiagnosticForNodeFromMessageChain(d,D))}}}return}}if(vl(r))return Ee;if(o){g=bl(o);384&n.flags?_n(g,e.Diagnostics.Property_0_does_not_exist_on_type_1,\"\"+n.value,ca(r)):12&n.flags?_n(g,e.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1,ca(r),ca(n)):_n(g,e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,ca(n))}return Aa(n)?n:void 0;function b(t){t&&t.isReadonly&&d&&(e.isAssignmentTarget(d)||e.isDeleteTarget(d))&&_n(d,e.Diagnostics.Index_signature_in_type_0_only_permits_reading,ca(r))}}function bl(e){return 202===e.kind?e.argumentExpression:189===e.kind?e.indexType:158===e.kind?e.expression:e}function Sl(e){return-1!==tt.types.indexOf(e)||!!(1&e.flags)}function El(t){return!!(134217728&t.flags)&&e.every(t.types,Sl)}function Tl(t){return 3145728&t.flags?(4194304&t.objectFlags||(t.objectFlags|=4194304|(e.some(t.types,Tl)?8388608:0)),!!(8388608&t.objectFlags)):!!(58982400&t.flags)||Ls(t)||op(t)}function Cl(t){return 3145728&t.flags?(16777216&t.objectFlags||(t.objectFlags|=16777216|(e.some(t.types,Cl)?33554432:0)),!!(33554432&t.objectFlags)):!!(465829888&t.flags)&&!El(t)}function kl(e){return!!(262144&e.flags&&e.isThisType)}function Al(t,r){return 8388608&t.flags?function(t,r){var n=r?\"simplifiedForWriting\":\"simplifiedForReading\";if(t[n])return t[n]===dt?t:t[n];t[n]=dt;var i=function(e){if(33554432&e.flags)return e.substitute;return e}(Al(t.objectType,r)),a=Al(t.indexType,r),o=function(t,r,n){if(1048576&r.flags){var i=e.map(r.types,(function(e){return Al(wl(t,e),n)}));return n?al(i):$u(i)}}(i,a,r);if(o)return t[n]=o;if(!(465829888&a.flags)){var s=Fl(i,a,r);if(s)return t[n]=s}if(op(i)&&296&a.flags){var c=lp(i,8&a.flags?0:i.target.fixedLength,0,r);if(c)return t[n]=c}if(Ls(i))return t[n]=eg(Pl(i,t.indexType),(function(e){return Al(e,r)}));return t[n]=t}(t,r):16777216&t.flags?function(e,t){var r=e.checkType,n=e.extendsType,i=jl(e),a=Jl(e);if(131072&a.flags&&Rl(i)===Rl(r)){if(1&r.flags||Yd(Rd(r),Rd(n)))return Al(i,t);if(Nl(r,n))return We}else if(131072&i.flags&&Rl(a)===Rl(r)){if(!(1&r.flags)&&Yd(Rd(r),Rd(n)))return We;if(1&r.flags||Nl(r,n))return Al(a,t)}return e}(t,r):t}function Fl(t,r,n){if(3145728&t.flags){var i=e.map(t.types,(function(e){return Al(wl(e,r),n)}));return 2097152&t.flags||n?al(i):$u(i)}}function Nl(e,t){return!!(131072&$u([ys(e,t),We]).flags)}function Pl(e,t){var r=gd([Cs(e)],[t]),n=xd(e.mapper,r);return Md(Fs(e),n)}function wl(e,t,r,n,i,a,o){return void 0===o&&(o=0),Ol(e,t,r,n,o,i,a)||(n?ke:Ne)}function Il(e,t){return Qf(e,(function(e){if(384&e.flags){var r=ts(e);if(xm(r)){var n=+r;return n>=0&&n=5e6)return e.tracing.instant(\"check\",\"instantiateType_DepthLimit\",{typeId:t.id,instantiationDepth:T,instantiationCount:b}),_n(d,e.Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite),ke;x++,b++,T++;var n=function(t,r){var n=t.flags;if(262144&n)return md(t,r);if(524288&n){var i=t.objectFlags;if(52&i){if(4&i&&!t.node){var a=t.resolvedTypeArguments,o=pd(a,r);return o!==a?zu(t.target,o):t}return function(t,r){var n=4&t.objectFlags?t.node:t.symbol.declarations[0],i=Cn(n),a=4&t.objectFlags?i.resolvedType:64&t.objectFlags?t.target:t,o=i.outerTypeParameters;if(!o){var s=vo(n,!0);if(hv(n)){var c=hc(n);s=e.addRange(s,c)}o=s||e.emptyArray,o=(4&a.objectFlags||2048&a.symbol.flags)&&!a.aliasTypeArguments?e.filter(o,(function(e){return Ad(e,n)})):o,i.outerTypeParameters=o}if(o.length){var u=xd(t.mapper,r),l=e.map(o,(function(e){return md(e,u)})),d=Zc(l);a.instantiations||(a.instantiations=new e.Map,a.instantiations.set(Zc(o),a));var _=a.instantiations.get(d);if(!_){var p=gd(o,l);_=4&a.objectFlags?nu(t.target,t.node,p):32&a.objectFlags?Nd(a,p):Id(a,p),a.instantiations.set(d,_)}return _}return t}(t,r)}return t}if(3145728&n){var s=t.types,c=pd(s,r);return c===s?t:2097152&n?al(c,t.aliasSymbol,pd(t.aliasTypeArguments,r)):$u(c,1,t.aliasSymbol,pd(t.aliasTypeArguments,r))}if(4194304&n)return pl(Md(t.type,r));if(134217728&n)return gl(t.texts,pd(t.types,r));if(268435456&n)return yl(t.symbol,Md(t.type,r));if(8388608&n)return wl(Md(t.objectType,r),Md(t.indexType,r),t.noUncheckedIndexedAccessCandidate,void 0,t.aliasSymbol,pd(t.aliasTypeArguments,r));if(16777216&n)return Od(t,xd(t.mapper,r));if(33554432&n){var u=Md(t.baseType,r);if(8650752&u.flags)return du(u,Md(t.substitute,r));var l=Md(t.substitute,r);return 3&l.flags||Yd(Rd(u),Rd(l))?u:l}return t}(t,r);return T--,n}function Ld(e){return 262143&e.flags?e:e.permissiveInstantiation||(e.permissiveInstantiation=Md(e,nt))}function Rd(e){return 262143&e.flags?e:(e.restrictiveInstantiation||(e.restrictiveInstantiation=Md(e,rt),e.restrictiveInstantiation.restrictiveInstantiation=e.restrictiveInstantiation),e.restrictiveInstantiation)}function Bd(e,t){return e&&Gc(Md(e.type,t),e.isReadonly,e.declaration)}function jd(t){switch(e.Debug.assert(165!==t.kind||e.isObjectLiteralMethod(t)),t.kind){case 208:case 209:case 165:case 251:return Jd(t);case 200:return e.some(t.properties,jd);case 199:return e.some(t.elements,jd);case 217:return jd(t.whenTrue)||jd(t.whenFalse);case 216:return(56===t.operatorToken.kind||60===t.operatorToken.kind)&&(jd(t.left)||jd(t.right));case 288:return jd(t.initializer);case 207:return jd(t.expression);case 281:return e.some(t.properties,jd)||e.isJsxOpeningElement(t.parent)&&e.some(t.parent.parent.children,jd);case 280:var r=t.initializer;return!!r&&jd(r);case 283:var n=t.expression;return!!n&&jd(n)}return!1}function Jd(t){return(!e.isFunctionDeclaration(t)||e.isInJSFile(t)&&!!Ma(t))&&(Kd(t)||function(t){return!t.typeParameters&&!e.getEffectiveReturnTypeNode(t)&&!!t.body&&230!==t.body.kind&&jd(t.body)}(t))}function Kd(t){if(!t.typeParameters){if(e.some(t.parameters,(function(t){return!e.getEffectiveTypeAnnotationNode(t)})))return!0;if(209!==t.kind){var r=e.firstOrUndefined(t.parameters);if(!r||!e.parameterIsThisKeyword(r))return!0}}return!1}function zd(t){return(e.isInJSFile(t)&&e.isFunctionDeclaration(t)||pm(t)||e.isObjectLiteralMethod(t))&&Jd(t)}function Ud(t){if(524288&t.flags){var r=Rs(t);if(r.constructSignatures.length||r.callSignatures.length){var n=ji(16,t.symbol);return n.members=r.members,n.properties=r.properties,n.callSignatures=e.emptyArray,n.constructSignatures=e.emptyArray,n}}else if(2097152&t.flags)return al(e.map(t.types,Ud));return t}function Vd(e,t){return v_(e,t,sn)}function qd(e,t){return v_(e,t,sn)?-1:0}function Wd(e,t){return v_(e,t,an)?-1:0}function Hd(e,t){return v_(e,t,rn)?-1:0}function Gd(e,t){return v_(e,t,rn)}function Yd(e,t){return v_(e,t,an)}function Xd(t,r){return 1048576&t.flags?e.every(t.types,(function(e){return Xd(e,r)})):1048576&r.flags?e.some(r.types,(function(e){return Xd(t,e)})):58982400&t.flags?Xd(Gs(t)||Ne,r):r===ht?!!(67633152&t.flags):r===Dt?!!(524288&t.flags)&&Pf(t):mo(t,go(r))||U_(r)&&!V_(r)&&Xd(t,Et)}function Qd(e,t){return v_(e,t,on)}function $d(e,t){return Qd(e,t)||Qd(t,e)}function Zd(e,t,r,n,i,a){return x_(e,t,an,r,n,i,a)}function e_(e,t,r,n,i,a){return t_(e,t,an,r,n,i,a,void 0)}function t_(e,t,r,n,i,a,o,s){return!!v_(e,t,r)||(!n||!n_(i,e,t,r,a,o,s))&&x_(e,t,r,n,a,o,s)}function r_(t){return!!(16777216&t.flags||2097152&t.flags&&e.some(t.types,r_))}function n_(t,r,i,a,s,c,u){if(!t||r_(i))return!1;if(!x_(r,i,a,void 0)&&function(t,r,n,i,a,o,s){for(var c=pc(r,0),u=pc(r,1),l=0,d=[u,c];l1,v=$f(g,X_),h=$f(g,(function(e){return!X_(e)}));if(y){if(v!==We){var D=Ju(Nm(d,0));l=o_(function(t,r){var n,i,a,s,c;return o(this,(function(o){switch(o.label){case 0:if(!e.length(t.children))return[2];n=0,i=0,o.label=1;case 1:return iu:zv(t)>u))return 0;t.typeParameters&&t.typeParameters!==r.typeParameters&&(t=zy(t,r=Uc(r),void 0,s));var l=Kv(t),d=qv(t),_=qv(r);if((d||_)&&Md(d||_,c),d&&_&&l!==u)return 0;var p=r.declaration?r.declaration.kind:0,f=!(3&n)&&Y&&165!==p&&164!==p&&166!==p,g=-1,m=Ic(t);if(m&&m!==qe){var y=Ic(r);if(y){if(!(S=!f&&s(m,y,!1)||s(y,m,i)))return i&&a(e.Diagnostics.The_this_types_of_each_signature_are_incompatible),0;g&=S}}for(var v=d||_?Math.min(l,u):Math.max(l,u),h=d||_?v-1:-1,D=0;D=zv(t)&&D0||wb(c));if(f&&!function(e,t,r){for(var n=0,i=Ks(e);n0&&B(Mc(g[0]),u,!1)||y.length>0&&B(Mc(y[0]),u,!1)?M(e.Diagnostics.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it,ca(c),ca(u)):M(e.Diagnostics.Type_0_has_no_properties_in_common_with_type_1,ca(c),ca(u))}return 0}var v=0,h=w();if(1048576&c.flags?v=i===on?K(c,u,n&&!(131068&c.flags),s):function(e,t,r,n){for(var i=-1,a=e.types,o=0;o0;if(d&&x--,524288&i.flags&&524288&s.flags){var _=l;R(i,s,n),l!==_&&(d=!!l)}if(524288&i.flags&&131068&s.flags)!function(t,r){var n=da(t.symbol)?ca(t,t.symbol.valueDeclaration):ca(t),i=da(r.symbol)?ca(r,r.symbol.valueDeclaration):ca(r);(Tt===t&&Le===r||Ct===t&&Re===r||kt===t&&Ue===r||Cu(!1)===t&&Ve===r)&&M(e.Diagnostics._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible,i,n)}(i,s);else if(i.symbol&&524288&i.flags&&ht===i)M(e.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);else if(u&&2097152&s.flags){var p=s.types,f=Im(N.IntrinsicAttributes,a),g=Im(N.IntrinsicClassAttributes,a);if(f!==ke&&g!==ke&&(e.contains(p,f)||e.contains(p,g)))return c}else l=lc(l,r);if(!o&&d)return m=[i,s],c;L(o,i,s)}}}function j(e,t){for(var r=-1,n=0,i=e.types;n25)return e.tracing.instant(\"check\",\"typeRelatedToDiscriminatedType_DepthLimit\",{sourceId:t.id,targetId:r.id,numCombinations:a}),0}for(var c=new Array(n.length),u=new e.Set,l=0;l5?M(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more,ca(t),ca(n),e.map(m.slice(0,4),(function(e){return oa(e)})).join(\", \"),m.length-4):M(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2,ca(t),ca(n),e.map(m,(function(e){return oa(e)})).join(\", \")),s&&l&&x++)}function X(t,r,n,a,o){if(i===sn)return function(e,t,r){if(!(524288&e.flags&&524288&t.flags))return 0;var n=W(Bs(e),r),i=W(Bs(t),r);if(n.length!==i.length)return 0;for(var a=-1,o=0,s=n;o0||pc(t,n=1).length>0)return e.find(r.types,(function(e){return pc(e,n).length>0}))}(t,r)||function(t,r){for(var n,i=0,a=0,o=r.types;a=i&&(n=s,i=u)}else $_(c)&&1>=i&&(n=s,i=1)}return n}(t,r)}function E_(t,r,n,i,a){for(var o=t.types.map((function(e){})),s=0,c=r;s0&&e.every(r.properties,(function(e){return!!(16777216&e.flags)}))}return!!(2097152&t.flags)&&e.every(t.types,T_)}function C_(t,r,n){var i=tu(t,e.map(t.typeParameters,(function(e){return e===r?n:e})));return i.objectFlags|=8192,i}function k_(e){var t=Tn(e);return A_(t.typeParameters,t,(function(r,n,i){var a=su(e,pd(t.typeParameters,yd(n,i)));return a.aliasTypeArgumentsContainsMarker=!0,a}))}function A_(t,r,n){var i,a,o;void 0===t&&(t=e.emptyArray);var s=r.variances;if(!s){e.tracing.push(\"check\",\"getVariancesWorker\",{arity:t.length,id:null!==(o=null!==(i=r.id)&&void 0!==i?i:null===(a=r.declaredType)||void 0===a?void 0:a.id)&&void 0!==o?o:-1}),r.variances=e.emptyArray,s=[];for(var c=function(e){var t=!1,i=!1,a=sr;sr=function(e){return e?i=!0:t=!0};var o=n(r,e,pt),c=n(r,e,ft),u=(Yd(c,o)?1:0)|(Yd(o,c)?2:0);3===u&&Yd(n(r,e,cr),o)&&(u=4),sr=a,(t||i)&&(t&&(u|=8),i&&(u|=16)),s.push(u)},u=0,l=t;u\":n+=\"-\"+o.id}return n}function I_(e,t,r,n){if(n===sn&&e.id>t.id){var i=e;e=t,t=i}var a=r?\":\"+r:\"\";if(P_(e)&&P_(t)){var o=[];return w_(e,o)+\",\"+w_(t,o)+a}return e.id+\",\"+t.id+a}function O_(t,r){if(!(6&e.getCheckFlags(t)))return r(t);for(var n=0,i=t.containingType.types;n=5){var n=B_(e);if(n)for(var i=0,a=0;a=5)return!0}return!1}function B_(t){if(524288&t.flags&&!df(t)){if(e.getObjectFlags(t)&&t.node)return t.node;if(t.symbol&&!(16&e.getObjectFlags(t)&&32&t.symbol.flags))return t.symbol;if(ap(t))return t.target}if(8388608&t.flags){do{t=t.objectType}while(8388608&t.flags);return t}if(16777216&t.flags)return t.root}function j_(e,t){return 0!==J_(e,t,qd)}function J_(t,r,n){if(t===r)return-1;var i=24&e.getDeclarationModifierFlagsFromSymbol(t);if(i!==(24&e.getDeclarationModifierFlagsFromSymbol(r)))return 0;if(i){if(qx(t)!==qx(r))return 0}else if((16777216&t.flags)!=(16777216&r.flags))return 0;return dh(t)!==dh(r)?0:n(po(t),po(r))}function K_(t,r,n,i,a,o){if(t===r)return-1;if(!function(e,t,r){var n=Kv(e),i=Kv(t),a=zv(e),o=zv(t),s=Uv(e),c=Uv(t);return n===i&&a===o&&s===c||!!(r&&a<=o)}(t,r,n))return 0;if(e.length(t.typeParameters)!==e.length(r.typeParameters))return 0;if(r.typeParameters){for(var s=gd(t.typeParameters,r.typeParameters),c=0;c-1&&(Pn(o,o.name.escapedText,788968,void 0,o.name.escapedText,!0)||o.name.originalKeywordKind&&e.isTypeNodeKind(o.name.originalKeywordKind))){var s=\"arg\"+o.parent.parameters.indexOf(o);return void fn($,t,e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1,s,e.declarationNameToString(o.name))}a=t.dotDotDotToken?$?e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type:e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:$?e.Diagnostics.Parameter_0_implicitly_has_an_1_type:e.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 198:if(a=e.Diagnostics.Binding_element_0_implicitly_has_an_1_type,!$)return;break;case 308:return void _n(t,e.Diagnostics.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,i);case 251:case 165:case 164:case 167:case 168:case 208:case 209:if($&&!t.name)return void _n(t,3===n?e.Diagnostics.Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:e.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,i);a=$?3===n?e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:e.Diagnostics._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage;break;case 190:return void($&&_n(t,e.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type));default:a=$?e.Diagnostics.Variable_0_implicitly_has_an_1_type:e.Diagnostics.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage}fn($,t,a,e.declarationNameToString(e.getNameOfDeclaration(t)),i)}}function Rp(t,r,n){!(i&&$&&524288&e.getObjectFlags(r))||n&&fm(t)||Mp(r)||Lp(t,r,n)}function Bp(e,t,r){var n=Kv(e),i=Kv(t),a=Vv(e),o=Vv(t),s=o?i-1:i,c=a?s:Math.min(n,s),u=Ic(e);if(u){var l=Ic(t);l&&r(u,l)}for(var d=0;d0?c.indexOf(d,u):u0)for(var b=0,S=r;be.target.minLength||!t.target.hasRestElement&&(e.target.hasRestElement||t.target.fixedLength0&&4&t.target.elementFlags[s-1]?iu(t)[s-1]:void 0,m=12&r.target.combinedFlags?p?up(r):Math.min(up(t),up(r)):0,y=p?0:m;for(d=0;d<_;d++)f(iu(t)[d],u[d]);if(p&&s-_==1)for(d=_;d1){var r=e.filter(t,df);if(r.length){var n=$u(r,2);return e.concatenate(e.filter(t,(function(e){return!df(e)})),[n])}}return t}(t.candidates),i=function(e){var t=Us(e);return!!t&&mh(16777216&t.flags?qs(t):t,406978556)}(t.typeParameter),a=!i&&t.topLevel&&(t.isFixed||!Yp(Mc(r),t.typeParameter)),o=i?e.sameMap(n,nd):a?e.sameMap(n,tp):n;return Ip(208&t.priority?$u(o,2):function(t){if(!G)return z_(t);var r=e.filter(t,(function(e){return!(98304&e.flags)}));return r.length?yp(z_(r),98304&_p(t)):$u(t,2)}(o))}function ff(t,r){var n=t.inferences[r];if(!n.inferredType){var i=void 0,a=t.signature;if(a){var o=n.candidates?pf(n,a):void 0;if(n.contraCandidates){var s=_f(n);i=!o||131072&o.flags||!Gd(o,s)?s:o}else if(o)i=o;else if(1&t.flags)i=He;else{var c=Zs(n.typeParameter);c&&(i=Md(c,bd(function(t,r){return vd((function(n){return e.findIndex(t.inferences,(function(e){return e.typeParameter===n}))>=r?Ne:n}))}(t,r),t.nonFixingMapper)))}}else i=tf(n);n.inferredType=i||gf(!!(2&t.flags));var u=Us(n.typeParameter);if(u){var l=Md(u,t.nonFixingMapper);i&&t.compareTypes(i,os(l,i))||(n.inferredType=i=l)}}return n.inferredType}function gf(e){return e?Ee:Ne}function mf(e){for(var t=[],r=0;r=0&&r.parameterIndex=n&&c-1){var l=a.filter((function(e){return void 0!==e})),d=c=2||0==(34&r.flags)||e.isSourceFile(r.valueDeclaration)||287===r.valueDeclaration.parent.kind)return;var n=e.getEnclosingBlockScopeContainer(r.valueDeclaration),i=function(t,r){return!!e.findAncestor(t,(function(t){return t===r?\"quit\":e.isFunctionLike(t)}))}(t.parent,n),a=n,o=!1;for(;a&&!e.nodeStartsNewLexicalEnvironment(a);){if(e.isIterationStatement(a,!1)){o=!0;break}a=a.parent}if(o){if(i){var s=!0;if(e.isForStatement(n))if((d=e.getAncestor(r.valueDeclaration,250))&&d.parent===n){var c=function(t,r){return e.findAncestor(t,(function(e){return e===r?\"quit\":e===r.initializer||e===r.condition||e===r.incrementor||e===r.statement}))}(t.parent,n);if(c){var u=Cn(c);u.flags|=131072;var l=u.capturedBlockScopeBindings||(u.capturedBlockScopeBindings=[]);e.pushIfUnique(l,r),c===n.initializer&&(s=!1)}}s&&(Cn(a).flags|=65536)}var d;if(e.isForStatement(n))(d=e.getAncestor(r.valueDeclaration,250))&&d.parent===n&&function(t,r){var n=t;for(;207===n.parent.kind;)n=n.parent;var i=!1;if(e.isAssignmentTarget(n))i=!0;else if(214===n.parent.kind||215===n.parent.kind){var a=n.parent;i=45===a.operator||46===a.operator}if(!i)return!1;return!!e.findAncestor(n,(function(e){return e===r?\"quit\":e===r.statement}))}(t,n)&&(Cn(r.valueDeclaration).flags|=4194304);Cn(r.valueDeclaration).flags|=524288}i&&(Cn(r.valueDeclaration).flags|=262144)}(t,r);var s=Ag(po(i),t),c=e.getAssignmentTargetKind(t);if(c){if(!(3&i.flags||e.isInJSFile(t)&&512&i.flags))return _n(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable,oa(r)),ke;if(dh(i))return 3&i.flags?_n(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant,oa(r)):_n(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_read_only_property,oa(r)),ke}var u=2097152&i.flags;if(3&i.flags){if(1===c)return s}else{if(!u)return s;o=e.find(r.declarations,j)}if(!o)return s;for(var l=160===e.getRootDeclaration(o).kind,d=bg(o),_=bg(t),p=_!==d,f=t.parent&&t.parent.parent&&e.isSpreadAssignment(t.parent)&&jf(t.parent.parent),g=134217728&r.flags;_!==d&&(208===_.kind||209===_.kind||e.isObjectLiteralOrClassExpressionMethod(_))&&(Tg(i)||l&&!Sg(i));)_=bg(_);var m=l||u||p||f||g||e.isBindingElement(o)||s!==Te&&s!==Pt&&(!G||0!=(16387&s.flags)||hf(t)||270===t.parent.kind)||225===t.parent.kind||249===o.kind&&o.exclamationToken||8388608&o.flags,y=xg(t,s,m?l?function(e,t){if(ba(t.symbol,2)){var r=G&&160===t.kind&&t.initializer&&32768&pp(e)&&!(32768&pp(Gh(t.initializer)));return Ta(),r?If(e,524288):e}return _o(t.symbol),e}(s,o):s:s===Te||s===Pt?Pe:vp(s),_,!m);if(_g(t)||s!==Te&&s!==Pt){if(!m&&!(32768&pp(s))&&32768&pp(y))return _n(t,e.Diagnostics.Variable_0_is_used_before_being_assigned,oa(r)),s}else if(y===Te||y===Pt)return $&&(_n(e.getNameOfDeclaration(o),e.Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined,oa(r),ca(y)),_n(t,e.Diagnostics.Variable_0_implicitly_has_an_1_type,oa(r),ca(y))),XD(y);return c?ep(y):y}function Pg(e,t){(Cn(e).flags|=2,163===t.kind||166===t.kind)?Cn(t.parent).flags|=4:Cn(t).flags|=4}function wg(t){return e.isSuperCall(t)?t:e.isFunctionLike(t)?void 0:e.forEachChild(t,wg)}function Ig(e){return Co(Jo(ki(e)))===Me}function Og(t,r,n){var i=r.parent;e.getClassExtendsHeritageElement(i)&&!Ig(i)&&t.flowNode&&!Dg(t.flowNode,!1)&&_n(t,n)}function Mg(t){var r=e.getThisContainer(t,!0),n=!1;switch(166===r.kind&&Og(t,r,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class),209===r.kind&&(r=e.getThisContainer(r,!1),n=!0),r.kind){case 256:_n(t,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 255:_n(t,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 166:Rg(t,r)&&_n(t,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments);break;case 163:case 162:!e.hasSyntacticModifier(r,32)||99===V.target&&V.useDefineForClassFields||_n(t,e.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer);break;case 158:_n(t,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name)}n&&q<2&&Pg(t,r);var i=Lg(t,!0,r);if(Z){var a=po(oe);if(i===a&&n)_n(t,e.Diagnostics.The_containing_arrow_function_captures_the_global_value_of_this);else if(!i){var o=_n(t,e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);if(!e.isSourceFile(r)){var s=Lg(r);s&&s!==a&&e.addRelatedInfo(o,e.createDiagnosticForNode(r,e.Diagnostics.An_outer_value_of_this_is_shadowed_by_this_container))}}}return i||Ee}function Lg(t,r,n){void 0===r&&(r=!0),void 0===n&&(n=e.getThisContainer(t,!1));var i=e.isInJSFile(t);if(e.isFunctionLike(n)&&(!Vg(t)||e.getThisParameter(n))){var a=ao(n)||i&&function(t){var r=e.getJSDocType(t);if(r&&308===r.kind){var n=r;if(n.parameters.length>0&&n.parameters[0].name&&\"this\"===n.parameters[0].name.escapedText)return ld(n.parameters[0].type)}var i=e.getJSDocThisTag(t);if(i&&i.typeExpression)return ld(i.typeExpression)}(n);if(!a){var o=function(t){if(208===t.kind&&e.isBinaryExpression(t.parent)&&3===e.getAssignmentDeclarationKind(t.parent))return t.parent.left.expression.expression;if(165===t.kind&&200===t.parent.kind&&e.isBinaryExpression(t.parent.parent)&&6===e.getAssignmentDeclarationKind(t.parent.parent))return t.parent.parent.left.expression;if(208===t.kind&&288===t.parent.kind&&200===t.parent.parent.kind&&e.isBinaryExpression(t.parent.parent.parent)&&6===e.getAssignmentDeclarationKind(t.parent.parent.parent))return t.parent.parent.parent.left.expression;if(208===t.kind&&e.isPropertyAssignment(t.parent)&&e.isIdentifier(t.parent.name)&&(\"value\"===t.parent.name.escapedText||\"get\"===t.parent.name.escapedText||\"set\"===t.parent.name.escapedText)&&e.isObjectLiteralExpression(t.parent.parent)&&e.isCallExpression(t.parent.parent.parent)&&t.parent.parent.parent.arguments[2]===t.parent.parent&&9===e.getAssignmentDeclarationKind(t.parent.parent.parent))return t.parent.parent.parent.arguments[0].expression;if(e.isMethodDeclaration(t)&&e.isIdentifier(t.name)&&(\"value\"===t.name.escapedText||\"get\"===t.name.escapedText||\"set\"===t.name.escapedText)&&e.isObjectLiteralExpression(t.parent)&&e.isCallExpression(t.parent.parent)&&t.parent.parent.arguments[2]===t.parent&&9===e.getAssignmentDeclarationKind(t.parent.parent))return t.parent.parent.arguments[0].expression}(n);if(i&&o){var s=Gh(o).symbol;s&&s.members&&16&s.flags&&(a=Jo(s).thisType)}else hv(n)&&(a=Jo(Ci(n.symbol)).thisType);a||(a=Kg(n))}if(a)return xg(t,a)}if(e.isClassLike(n.parent)){var c=ki(n.parent);return xg(t,e.hasSyntacticModifier(n,32)?po(c):Jo(c).thisType)}if(e.isSourceFile(n)){if(n.commonJsModuleIndicator){var u=ki(n);return u&&po(u)}if(n.externalModuleIndicator)return Pe;if(r)return po(oe)}}function Rg(t,r){return!!e.findAncestor(t,(function(t){return e.isFunctionLikeDeclaration(t)?\"quit\":160===t.kind&&t.parent===r}))}function Bg(t){var r=203===t.parent.kind&&t.parent.expression===t,n=e.getSuperContainer(t,!0),i=n,a=!1;if(!r)for(;i&&209===i.kind;)i=e.getSuperContainer(i,!0),a=q<2;var o=0;if(!function(t){if(!t)return!1;if(r)return 166===t.kind;if(e.isClassLike(t.parent)||200===t.parent.kind)return e.hasSyntacticModifier(t,32)?165===t.kind||164===t.kind||167===t.kind||168===t.kind:165===t.kind||164===t.kind||167===t.kind||168===t.kind||163===t.kind||162===t.kind||166===t.kind;return!1}(i)){var s=e.findAncestor(t,(function(e){return e===i?\"quit\":158===e.kind}));return s&&158===s.kind?_n(t,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name):r?_n(t,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):i&&i.parent&&(e.isClassLike(i.parent)||200===i.parent.kind)?_n(t,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class):_n(t,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions),ke}if(r||166!==n.kind||Og(t,i,e.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class),o=e.hasSyntacticModifier(i,32)||r?512:256,Cn(t).flags|=o,165===i.kind&&e.hasSyntacticModifier(i,256)&&(e.isSuperProperty(t.parent)&&e.isAssignmentTarget(t.parent)?Cn(i).flags|=4096:Cn(i).flags|=2048),a&&Pg(t.parent,i),200===i.parent.kind)return q<2?(_n(t,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher),ke):Ee;var c=i.parent;if(!e.getClassExtendsHeritageElement(c))return _n(t,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class),ke;var u=Jo(ki(c)),l=u&&Ao(u)[0];return l?166===i.kind&&Rg(t,i)?(_n(t,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments),ke):512===o?Co(u):os(l,u.thisType):ke}function jg(t){return 4&e.getObjectFlags(t)&&t.target===Ft?iu(t)[0]:void 0}function Jg(t){return eg(t,(function(t){return 2097152&t.flags?e.forEach(t.types,jg):jg(t)}))}function Kg(t){if(209!==t.kind){if(zd(t)){var r=gm(t);if(r){var n=r.thisParameter;if(n)return po(n)}}var i=e.isInJSFile(t);if(Z||i){var a=function(e){return 165!==e.kind&&167!==e.kind&&168!==e.kind||200!==e.parent.kind?208===e.kind&&288===e.parent.kind?e.parent.parent:void 0:e.parent}(t);if(a){for(var o=am(a),s=a,c=o;c;){var u=Jg(c);if(u)return Md(u,Wp(um(a)));if(288!==s.parent.kind)break;c=am(s=s.parent.parent)}return Ip(o?hp(o):Nh(a))}var l=e.walkUpParenthesizedExpressions(t.parent);if(216===l.kind&&62===l.operatorToken.kind){var d=l.left;if(e.isAccessExpression(d)){var _=d.expression;if(i&&e.isIdentifier(_)){var p=e.getSourceFileOfNode(l);if(p.commonJsModuleIndicator&&vf(_)===p.symbol)return}return Ip(Nh(_))}}}}}function zg(t){var r=t.parent;if(zd(r)){var n=e.getImmediatelyInvokedFunctionExpression(r);if(n&&n.arguments){var i=Qy(n),a=r.parameters.indexOf(t);if(t.dotDotDotToken)return qy(i,a,i.length,Ee,void 0,0);var o=Cn(n),s=o.resolvedSignature;o.resolvedSignature=lr;var c=a=0?void 0:po(o);if(ap(t)){var s=cp(t);if(s&&xm(r)&&+r>=0)return s}return xm(r)&&Zg(t,1)||Zg(t,0)}var c}),!0)}function Zg(e,t){return eg(e,(function(e){return gc(e,t)}),!0)}function em(e,t){var r=am(e.parent,t);if(r){if(!es(e)){var n=$g(r,ki(e).escapedName);if(n)return n}return hm(e.name)&&Zg(r,1)||Zg(r,0)}}function tm(e,t){return e&&($g(e,\"\"+t)||eg(e,(function(e){return lx(1,e,Pe,void 0,!1)}),!0))}function rm(t){var r=t.parent;return e.isJsxAttributeLike(r)?cm(t):e.isJsxElement(r)?function(t,r){var n=am(t.openingElement.tagName),i=Bm(Lm(t));if(n&&!Aa(n)&&i&&\"\"!==i){var a=e.getSemanticJsxChildren(t.children),o=a.indexOf(r),s=$g(n,i);return s&&(1===a.length?s:eg(s,(function(e){return H_(e)?wl(e,ad(o)):e}),!0))}}(r,t):void 0}function nm(t){if(e.isJsxAttribute(t)){var r=am(t.parent);if(!r||Aa(r))return;return $g(r,t.name.escapedText)}return cm(t.parent)}function im(e){switch(e.kind){case 10:case 8:case 9:case 14:case 109:case 94:case 103:case 78:case 150:return!0;case 201:case 207:return im(e.expression);case 283:return!e.expression||im(e.expression)}return!1}function am(t,r){var n=om(e.isObjectLiteralMethod(t)?function(t,r){if(e.Debug.assert(e.isObjectLiteralMethod(t)),!(16777216&t.flags))return em(t,r)}(t,r):cm(t,r),t,r);if(n&&!(r&&2&r&&8650752&n.flags)){var i=eg(n,tc,!0);if(1048576&i.flags){if(e.isObjectLiteralExpression(t))return function(t,r){return E_(r,e.map(e.filter(t.properties,(function(e){return!!e.symbol&&288===e.kind&&im(e.initializer)&&Cf(r,e.symbol.escapedName)})),(function(e){return[function(){return Gh(e.initializer)},e.symbol.escapedName]})),Yd,r)}(t,i);if(e.isJsxAttributes(t))return function(t,r){return E_(r,e.map(e.filter(t.properties,(function(e){return!!e.symbol&&280===e.kind&&Cf(r,e.symbol.escapedName)&&(!e.initializer||im(e.initializer))})),(function(e){return[e.initializer?function(){return Gh(e.initializer)}:function(){return Ke},e.symbol.escapedName]})),Yd,r)}(t,i)}return i}}function om(t,r,n){if(t&&mh(t,465829888)){var i=um(r);if(i&&e.some(i.inferences,Kh)){if(n&&1&n)return sm(t,i.nonFixingMapper);if(i.returnMapper)return sm(t,i.returnMapper)}}return t}function sm(t,r){return 465829888&t.flags?Md(t,r):1048576&t.flags?$u(e.map(t.types,(function(e){return sm(e,r)})),0):2097152&t.flags?al(e.map(t.types,(function(e){return sm(e,r)}))):t}function cm(t,r){if(16777216&t.flags);else{if(t.contextualType)return t.contextualType;var n=t.parent;switch(n.kind){case 249:case 160:case 163:case 162:case 198:return function(t,r){var n=t.parent;if(e.hasInitializer(n)&&t===n.initializer){var i=Ug(n);if(i)return i;if(!(8&r)&&e.isBindingPattern(n.name))return Qa(n.name,!0,!1)}}(t,r);case 209:case 242:return function(t){var r=e.getContainingFunction(t);if(r){var n=Wg(r);if(n){var i=e.getFunctionFlags(r);if(1&i){var a=mx(n,2&i?2:1,void 0);if(!a)return;n=a.returnType}if(2&i){var o=eg(n,vD);return o&&$u([o,$v(o)])}return n}}}(t);case 219:return function(t){var r=e.getContainingFunction(t);if(r){var n=e.getFunctionFlags(r),i=Wg(r);if(i)return t.asteriskToken?i:wx(0,i,0!=(2&n))}}(n);case 213:return function(e,t){var r=cm(e,t);if(r){var n=vD(r);return n&&$u([n,$v(n)])}}(n,r);case 203:if(99===n.expression.kind)return Le;case 204:return Hg(n,t);case 206:case 224:return e.isConstTypeReference(n.type)?function(t){if(e.isCallLikeExpression(t.parent))return Hg(t.parent,t);return}(n):ld(n.type);case 216:return Yg(t,r);case 288:case 289:return em(n,r);case 290:return am(n.parent,r);case 199:var i=n;return tm(am(i,r),e.indexOfNode(i.elements,t));case 217:return function(e,t){var r=e.parent;return e===r.whenTrue||e===r.whenFalse?cm(r,t):void 0}(t,r);case 228:return e.Debug.assert(218===n.parent.kind),function(e,t){if(205===e.parent.kind)return Hg(e.parent,t)}(n.parent,t);case 207:var a=e.isInJSFile(n)?e.getJSDocTypeTag(n):void 0;return a?ld(a.typeExpression.type):cm(n,r);case 283:return rm(n);case 280:case 282:return nm(n);case 275:case 274:return function(t,r){if(e.isJsxOpeningElement(t)&&t.parent.contextualType&&4!==r)return t.parent.contextualType;return Gg(t,0)}(n,r)}}}function um(t){var r=e.findAncestor(t,(function(e){return!!e.inferenceContext}));return r&&r.inferenceContext}function lm(t,r){return 0!==Hy(r)?function(e,t){var r=Hv(e,Ne);r=dm(t,Lm(t),r);var n=Im(N.IntrinsicAttributes,t);n!==ke&&(r=ys(n,r));return r}(t,r):function(t,r){var n=Lm(r),i=(o=n,Rm(N.ElementAttributesPropertyNameContainer,o)),a=void 0===i?Hv(t,Ne):\"\"===i?Mc(t):function(e,t){if(e.unionSignatures){for(var r=[],n=0,i=e.unionSignatures;n=2)return tu(o,c=kc([s,n],o.typeParameters,2,e.isInJSFile(t)));if(e.length(o.aliasTypeArguments)>=2){var c=kc([s,n],o.aliasTypeArguments,2,e.isInJSFile(t));return su(o.aliasSymbol,c)}}return n}function _m(t,r){var n=pc(t,0);if(1===n.length){var i=n[0];if(!function(t,r){for(var n=0;n0&&(s=Ql(s,M(),t.symbol,g,l),o=[],a=e.createSymbolTable(),y=!1,v=!1),!Cm(A=oc(Gh(T.expression))))return _n(T,e.Diagnostics.Spread_types_may_only_be_created_from_object_types),ke;i&&Pm(A,i,T),s=Ql(s,A,t.symbol,g,l),b=o.length;continue}e.Debug.assert(167===T.kind||168===T.kind),_b(T)}!k||8576&k.flags?a.set(C.escapedName,C):Yd(k,$e)&&(Yd(k,Re)?v=!0:y=!0,n&&(m=!0)),o.push(C)}if(u&&290!==t.parent.kind)for(var I=0,O=Ks(c);I0&&(s=Ql(s,M(),t.symbol,g,l),o=[],a=e.createSymbolTable(),y=!1,v=!1),eg(s,(function(e){return e===it?M():e}))):M();function M(){var r=y?Sm(t,b,o,0):void 0,i=v?Sm(t,b,o,1):void 0,s=Vi(t.symbol,a,e.emptyArray,e.emptyArray,r,i);return s.objectFlags|=1048704|g,f&&(s.objectFlags|=16384),m&&(s.objectFlags|=512),n&&(s.pattern=t),s}}function Cm(t){if(465829888&t.flags){var r=Gs(t);if(void 0!==r)return Cm(r)}return!!(126615553&t.flags||117632&pp(t)&&Cm(fp(t))||3145728&t.flags&&e.every(t.types,Cm))}function km(t){return!e.stringContains(t,\"-\")}function Am(t){return 78===t.kind&&e.isIntrinsicJsxName(t.escapedText)}function Fm(e,t){return e.initializer?Lh(e.initializer,t):Ke}function Nm(e,t){for(var r=[],n=0,i=e.children;n0&&(s=Ql(s,E(),i.symbol,l,!1),o=e.createSymbolTable()),Aa(m=oc(Nh(f.expression,r)))&&(c=!0),Cm(m)?(s=Ql(s,m,i.symbol,l,!1),a&&Pm(m,a,f)):n=n?al([n,m]):m}c||o.size>0&&(s=Ql(s,E(),i.symbol,l,!1));var v=273===t.parent.kind?t.parent:void 0;if(v&&v.openingElement===t&&v.children.length>0){var h=Nm(v,r);if(!c&&d&&\"\"!==d){u&&_n(i,e.Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten,e.unescapeLeadingUnderscores(d));var D=am(t.attributes),x=D&&$g(D,d),b=mn(4,d);b.type=1===h.length?h[0]:x&&Xf(x,Y_)?Ju(h):Iu($u(h)),b.valueDeclaration=e.factory.createPropertySignature(void 0,e.unescapeLeadingUnderscores(d),void 0,void 0),e.setParent(b.valueDeclaration,i),b.valueDeclaration.symbol=b;var S=e.createSymbolTable();S.set(d,b),s=Ql(s,Vi(i.symbol,S,e.emptyArray,e.emptyArray,void 0,void 0),i.symbol,l,!1)}}return c?Ee:n&&s!==at?al([n,s]):n||(s===at?E():s);function E(){l|=te;var t=Vi(i.symbol,o,e.emptyArray,e.emptyArray,void 0,void 0);return t.objectFlags|=1048704|l,t}}(t.parent,r)}function Im(e,t){var r=Lm(t),n=r&&bi(r),i=n&&An(n,e,788968);return i?Jo(i):ke}function Om(t){var r=Cn(t);if(!r.resolvedSymbol){var n=Im(N.IntrinsicElements,t);if(n!==ke){if(!e.isIdentifier(t.tagName))return e.Debug.fail();var i=dc(n,t.tagName.escapedText);return i?(r.jsxFlags|=1,r.resolvedSymbol=i):yc(n,0)?(r.jsxFlags|=2,r.resolvedSymbol=n.symbol):(_n(t,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.idText(t.tagName),\"JSX.\"+N.IntrinsicElements),r.resolvedSymbol=be)}return $&&_n(t,e.Diagnostics.JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists,e.unescapeLeadingUnderscores(N.IntrinsicElements)),r.resolvedSymbol=be}return r.resolvedSymbol}function Mm(t){var r=t&&e.getSourceFileOfNode(t),n=r&&Cn(r);if(!n||!1!==n.jsxImplicitImportContainer){if(n&&n.jsxImplicitImportContainer)return n.jsxImplicitImportContainer;var i=e.getJSXRuntimeImport(e.getJSXImplicitImportBase(V,r),V);if(i){var a=gi(t,i,e.getEmitModuleResolutionKind(V)===e.ModuleResolutionKind.Classic?e.Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:e.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations,t),o=a&&a!==be?Ci(ri(a)):void 0;return n&&(n.jsxImplicitImportContainer=o||!1),o}}}function Lm(e){var t=e&&Cn(e);if(t&&t.jsxNamespace)return t.jsxNamespace;if(!t||!1!==t.jsxNamespace){var r=Mm(e);if(!r||r===be){var n=ln(e);r=Pn(e,n,1920,void 0,n,!1)}if(r){var i=ri(An(bi(ri(r)),N.JSX,1920));if(i&&i!==be)return t&&(t.jsxNamespace=i),i}t&&(t.jsxNamespace=!1)}var a=ri(Su(N.JSX,1920,void 0));return a!==be?a:void 0}function Rm(t,r){var n=r&&An(r.exports,t,788968),i=n&&Jo(n),a=i&&Ks(i);if(a){if(0===a.length)return\"\";if(1===a.length)return a[0].escapedName;a.length>1&&_n(n.declarations[0],e.Diagnostics.The_global_type_JSX_0_may_not_have_more_than_one_property,e.unescapeLeadingUnderscores(t))}}function Bm(e){return Rm(N.ElementChildrenAttributeNameContainer,e)}function jm(t,r){if(4&t.flags)return[lr];if(128&t.flags){var n=Jm(t,r);return n?[gv(r,n)]:(_n(r,e.Diagnostics.Property_0_does_not_exist_on_type_1,t.value,\"JSX.\"+N.IntrinsicElements),e.emptyArray)}var i=tc(t),a=pc(i,1);return 0===a.length&&(a=pc(i,0)),0===a.length&&1048576&i.flags&&(a=gs(e.map(i.types,(function(e){return jm(e,r)})))),a}function Jm(t,r){var n=Im(N.IntrinsicElements,r);if(n!==ke){var i=t.value,a=dc(n,e.escapeLeadingUnderscores(i));if(a)return po(a);var o=yc(n,0);return o||void 0}return Ee}function Km(t){e.Debug.assert(Am(t.tagName));var r=Cn(t);if(!r.resolvedJsxElementAttributesType){var n=Om(t);return 1&r.jsxFlags?r.resolvedJsxElementAttributesType=po(n):2&r.jsxFlags?r.resolvedJsxElementAttributesType=yc(Jo(n),0):r.resolvedJsxElementAttributesType=ke}return r.resolvedJsxElementAttributesType}function zm(e){var t=Im(N.ElementClass,e);if(t!==ke)return t}function Um(e){return Im(N.Element,e)}function Vm(e){var t=Um(e);if(t)return $u([t,Oe])}function qm(t){var r,n=e.isJsxOpeningLikeElement(t);if(n&&function(t){xS(t,t.typeArguments);for(var r=new e.Map,n=0,i=t.attributes.properties;n=0)return d>=zv(n)&&(Uv(n)||ds)return!1;if(o||a>=c)return!0;for(var _=a;_=i&&r.length<=n}function jy(e){return Ky(e,0,!1)}function Jy(e){return Ky(e,0,!1)||Ky(e,1,!1)}function Ky(e,t,r){if(524288&e.flags){var n=Rs(e);if(r||0===n.properties.length&&!n.stringIndexInfo&&!n.numberIndexInfo){if(0===t&&1===n.callSignatures.length&&0===n.constructSignatures.length)return n.callSignatures[0];if(1===t&&1===n.constructSignatures.length&&0===n.callSignatures.length)return n.constructSignatures[0]}}}function zy(t,r,n,i){var a=Jp(t.typeParameters,t,0,i),o=Vv(r),s=n&&(o&&262144&o.flags?n.nonFixingMapper:n.mapper);return Bp(s?Cd(r,s):r,t,(function(e,t){sf(a.inferences,e,t)})),n||jp(r,t,(function(e,t){sf(a.inferences,e,t,64)})),jc(t,mf(a),e.isInJSFile(r.declaration))}function Uy(t,r,n,i,a){if(e.isJsxOpeningLikeElement(t))return function(e,t,r,n){var i=lm(t,e),a=Fh(e.attributes,i,n,r);return sf(n.inferences,a,i),mf(n)}(t,r,i,a);if(161!==t.kind){var o=cm(t,e.every(r.typeParameters,(function(e){return!!Zs(e)}))?8:0);if(o){var s=um(t),c=Md(o,Wp(function(t,r){return void 0===r&&(r=0),t&&Kp(e.map(t.inferences,qp),t.signature,t.flags|r,t.compareTypes)}(s,1))),u=jy(c),l=u&&u.typeParameters?qc(Jc(u,u.typeParameters)):c,d=Mc(r);sf(a.inferences,l,d,64);var _=Jp(r.typeParameters,r,a.flags),p=Md(o,s&&s.returnMapper);sf(_.inferences,p,d),a.returnMapper=e.some(_.inferences,Kh)?Wp(function(t){var r=e.filter(t.inferences,Kh);return r.length?Kp(e.map(r,qp),t.signature,t.flags,t.compareTypes):void 0}(_)):void 0}}var f=qv(r),g=f?Math.min(Kv(r)-1,n.length):n.length;if(f&&262144&f.flags){var m=e.find(a.inferences,(function(e){return e.typeParameter===f}));m&&(m.impliedArity=e.findIndex(n,Iy,g)<0?n.length-g:void 0)}var y=Ic(r);if(y){var v=Yy(t),h=v?Gh(v):qe;sf(a.inferences,h,y)}for(var D=0;D=n-1&&Iy(d=t[n-1]))return Vy(227===d.kind?d.type:Fh(d.expression,i,a,o));for(var s=[],c=[],u=[],l=r;ld&&(d=v)}}if(!l)return!0;for(var h=1/0,D=0,x=i;D0||e.isJsxOpeningElement(t)&&t.parent.children.length>0?[t.attributes]:e.emptyArray;var i=t.arguments||e.emptyArray,a=Oy(i);if(a>=0){for(var o=i.slice(0,a),s=function(t){var r=i[t],n=220===r.kind&&(Cr?Gh(r.expression):Nh(r.expression));n&&ap(n)?e.forEach(iu(n),(function(e,t){var i,a=n.target.elementFlags[t],s=Xy(r,4&a?Iu(e):e,!!(12&a),null===(i=n.target.labeledElementDeclarations)||void 0===i?void 0:i[t]);o.push(s)})):o.push(r)},c=a;cs&&(s=p),u-1;u<=o&&h&&u--;var D=y||h?y&&h?e.Diagnostics.Expected_at_least_0_arguments_but_got_1_or_more:y?e.Diagnostics.Expected_at_least_0_arguments_but_got_1:e.Diagnostics.Expected_0_arguments_but_got_1_or_more:1===v&&0===u&&function(t){if(!e.isCallExpression(t)||!e.isIdentifier(t.expression))return!1;var r=Pn(t.expression,t.expression.escapedText,111551,void 0,void 0,!1),n=null==r?void 0:r.valueDeclaration;if(!(n&&e.isParameter(n)&&pm(n.parent)&&e.isNewExpression(n.parent.parent)&&e.isIdentifier(n.parent.parent.expression)))return!1;var i=Au(!1);return!!i&&Tb(n.parent.parent.expression,!0)===i}(t)?e.Diagnostics.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:e.Diagnostics.Expected_0_arguments_but_got_1;if(i&&zv(i)>u&&i.declaration){var x=i.declaration.parameters[i.thisParameter?u+1:u];x&&(m=e.createDiagnosticForNode(x,e.isBindingPattern(x.name)?e.Diagnostics.An_argument_matching_this_binding_pattern_was_not_provided:e.isRestParameter(x)?e.Diagnostics.Arguments_for_the_rest_parameter_0_were_not_provided:e.Diagnostics.An_argument_for_0_was_not_provided,x.name?e.isBindingPattern(x.name)?void 0:e.idText(e.getFirstIdentifier(x.name)):u))}if(au&&S?n.indexOf(S):Math.min(o,n.length-1)))}}else g=e.factory.createNodeArray(n.slice(o));var E=e.first(g).pos,T=e.last(g).end;T===E&&T++,e.setTextRangePosEnd(g,E,T);var C=e.createDiagnosticForNodeArray(e.getSourceFileOfNode(t),g,D,v,u);return m?e.addRelatedInfo(C,m):C}function rv(t,n,a,o,s,c){var u,l=205===t.kind,d=161===t.kind,_=e.isJsxOpeningLikeElement(t),p=!a&&i;d||(u=t.typeArguments,(l||_||105!==t.expression.kind)&&e.forEach(u,lb));var f=a||[];if(function(t,r,n){var i,a,o,s,c=0,u=-1;e.Debug.assert(!r.length);for(var l=0,d=t;l1&&(v=W(f,rn,D,b)),v||(v=W(f,an,D,b)),v)return v;if(p)if(g)if(1===g.length||g.length>3){var S,E=g[g.length-1];g.length>3&&(S=e.chainDiagnosticMessages(S,e.Diagnostics.The_last_overload_gave_the_following_error),S=e.chainDiagnosticMessages(S,e.Diagnostics.No_overload_matches_this_call));var T=Gy(t,h,E,an,0,!0,(function(){return S}));if(T)for(var C=0,k=T;C3&&e.addRelatedInfo(A,e.createDiagnosticForNode(E.declaration,e.Diagnostics.The_last_overload_is_declared_here)),q(E,A),$r.add(A)}else e.Debug.fail(\"No error for last overload signature\")}else{for(var F=[],N=0,P=Number.MAX_VALUE,w=0,I=0,O=function(r){var n=Gy(t,h,r,an,0,!0,(function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.Overload_0_of_1_2_gave_the_following_error,I+1,f.length,sa(r))}));n?(n.length<=P&&(P=n.length,w=I),N=Math.max(N,n.length),F.push(n)):e.Debug.fail(\"No error for 3 or fewer overload signatures\"),I++},M=0,L=g;M1?F[w]:e.flatten(F);e.Debug.assert(R.length>0,\"No errors reported for 3 or fewer overload signatures\");var B=e.chainDiagnosticMessages(e.map(R,(function(e){return\"string\"==typeof e.messageText?e:e.messageText})),e.Diagnostics.No_overload_matches_this_call),j=r(e.flatMap(R,(function(e){return e.relatedInformation}))),J=void 0;if(e.every(R,(function(e){return e.start===R[0].start&&e.length===R[0].length&&e.file===R[0].file}))){var U=R[0];J={file:U.file,start:U.start,length:U.length,code:B.code,category:B.category,messageText:B,relatedInformation:j}}else J=e.createDiagnosticForNodeFromMessageChain(t,B,j);q(g[0],J),$r.add(J)}else if(m)$r.add(tv(t,[m],h));else if(y)Wy(y,t.typeArguments,!0,c);else{var V=e.filter(n,(function(e){return By(e,u)}));0===V.length?$r.add(function(t,r,n){var i=n.length;if(1===r.length){var a=Cc((d=r[0]).typeParameters),o=e.length(d.typeParameters);return e.createDiagnosticForNodeArray(e.getSourceFileOfNode(t),n,e.Diagnostics.Expected_0_type_arguments_but_got_1,ai?c=Math.min(c,_):o0),_b(t),i||1===r.length||r.some((function(e){return!!e.typeParameters}))?function(t,r,n){var i=function(e,t){for(var r=-1,n=-1,i=0;i=t)return i;o>n&&(n=o,r=i)}return r}(r,void 0===se?n.length:se),a=r[i],o=a.typeParameters;if(!o)return a;var s=Ny(t)?t.typeArguments:void 0,c=s?Kc(a,function(e,t,r){var n=e.map(Cb);for(;n.length>t.length;)n.pop();for(;n.length1?e.find((null===(i=t.declaration)||void 0===i?void 0:i.symbol.declarations)||e.emptyArray,(function(t){return e.isFunctionLikeDeclaration(t)&&e.nodeIsPresent(t.body)})):void 0;if(c){var u=Ac(c),l=!u.typeParameters;W([u],an,l)&&e.addRelatedInfo(r,e.createDiagnosticForNode(c,e.Diagnostics.The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible))}g=a,m=o,y=s}function W(r,n,i,a){if(void 0===a&&(a=!1),g=void 0,m=void 0,y=void 0,i){var o=r[0];if(e.some(u)||!Ry(t,h,o,a))return;return Gy(t,h,o,n,0,!1,void 0)?void(g=[o]):o}for(var s=0;s=0&&_n(t.arguments[i],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}var a=Zm(t.expression);if(a===He)return pr;if((a=tc(a))===ke)return wy(t);if(Aa(a))return t.typeArguments&&_n(t,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments),Py(t);var o=pc(a,1);if(o.length){if(!function(t,r){if(!r||!r.declaration)return!0;var n=r.declaration,i=e.getSelectedEffectiveModifierFlags(n,24);if(!i||166!==n.kind)return!0;var a=e.getClassLikeDeclarationOfSymbol(n.parent.symbol),o=Jo(n.parent.symbol);if(!bb(t,a)){var s=e.getContainingClass(t);if(s&&16&i){var c=Cb(s);if(uv(n.parent.symbol,c))return!0}return 8&i&&_n(t,e.Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,ca(o)),16&i&&_n(t,e.Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,ca(o)),!1}return!0}(t,o[0]))return wy(t);var s=a.symbol&&e.getClassLikeDeclarationOfSymbol(a.symbol);return s&&e.hasSyntacticModifier(s,128)?(_n(t,e.Diagnostics.Cannot_create_an_instance_of_an_abstract_class),wy(t)):rv(t,o,r,n,0)}var c=pc(a,0);if(c.length){var u=rv(t,c,r,n,0);return $||(u.declaration&&!hv(u.declaration)&&Mc(u)!==qe&&_n(t,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword),Ic(u)===qe&&_n(t,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)),u}return dv(t.expression,a,1),wy(t)}function uv(t,r){var n=Ao(r);if(!e.length(n))return!1;var i=n[0];if(2097152&i.flags){for(var a=Ds(i.types),o=0,s=0,c=i.types;s0;if(1048576&r.flags){for(var c=!1,u=0,l=r.types;u=n-1)return r===n-1?a:Iu(wl(a,Re));for(var o=[],s=[],c=[],u=r;u0&&(a=t.parameters.length-1+c)}}if(void 0===a){if(!n&&16&t.flags)return 0;a=t.minArgumentCount}if(i)return a;for(var u=a-1;u>=0;u--){if(131072&$f(Bv(t,u),My).flags)break;a=u}t.resolvedMinArgumentCount=a}return t.resolvedMinArgumentCount}function Uv(e){if(K(e)){var t=po(e.parameters[e.parameters.length-1]);return!ap(t)||t.target.hasRestElement}return!1}function Vv(e){if(K(e)){var t=po(e.parameters[e.parameters.length-1]);if(!ap(t))return t;if(t.target.hasRestElement)return Vu(t,t.target.fixedLength)}}function qv(e){var t=Vv(e);return!t||U_(t)||Aa(t)||0!=(131072&oc(t).flags)?void 0:t}function Wv(e){return Hv(e,We)}function Hv(e,t){return e.parameters.length>0?Bv(e,0):t}function Gv(t,r){(t.typeParameters=r.typeParameters,r.thisParameter)&&((!(a=t.thisParameter)||a.valueDeclaration&&!a.valueDeclaration.type)&&(a||(t.thisParameter=Cp(r.thisParameter,void 0)),Yv(t.thisParameter,po(r.thisParameter))));for(var n=t.parameters.length-(K(t)?1:0),i=0;i0&&(n=$u(l,2)):u=We;var d=function(t,r){var n=[],i=[],a=0!=(2&e.getFunctionFlags(t));return e.forEachYieldExpression(t.body,(function(t){var o,s=t.expression?Gh(t.expression,r):we;if(e.pushIfUnique(n,rh(t,s,Ee,a)),t.asteriskToken){var c=mx(s,a?19:17,t.expression);o=c&&c.nextType}else o=cm(t);o&&e.pushIfUnique(i,o)})),{yieldTypes:n,nextTypes:i}}(t,r),_=d.yieldTypes,p=d.nextTypes;i=e.some(_)?$u(_,2):void 0,a=e.some(p)?al(p):void 0}else{var f=oh(t,r);if(!f)return 2&o?Zv(t,We):We;if(0===f.length)return 2&o?Zv(t,qe):qe;n=$u(f,2)}if(n||i||a){if(i&&Rp(t,i,3),n&&Rp(t,n,1),a&&Rp(t,a,2),n&&$_(n)||i&&$_(i)||a&&$_(a)){var g=fm(t),m=g?g===Ac(t)?c?void 0:n:om(Mc(g),t):void 0;c?(i=ip(i,m,0,s),n=ip(n,m,1,s),a=ip(a,m,2,s)):n=function(e,t,r){return e&&$_(e)&&(e=np(e,t?r?mD(t):t:void 0)),e}(n,m,s)}i&&(i=Ip(i)),n&&(n=Ip(n)),a&&(a=Ip(a))}return c?th(i||We,n||u,a||qg(2,t)||Ne,s):s?Qv(n||u):n||u}function th(e,t,r,n){var i=n?Dr:xr,a=i.getGlobalGeneratorType(!1);if(e=i.resolveIterationType(e,void 0)||Ne,t=i.resolveIterationType(t,void 0)||Ne,r=i.resolveIterationType(r,void 0)||Ne,a===ct){var o=i.getGlobalIterableIteratorType(!1),s=o!==ct?Dx(o,i):void 0,c=s?s.returnType:Ee,u=s?s.nextType:Pe;return Yd(t,c)&&Yd(u,r)?o!==ct?Pu(o,[e]):(i.getGlobalIterableIteratorType(!0),it):(i.getGlobalGeneratorType(!0),it)}return Pu(a,[e,t,r])}function rh(t,r,n,i){var a=t.expression||t,o=t.asteriskToken?ux(i?19:17,r,n,a):r;return i?vD(o,a,t.asteriskToken?e.Diagnostics.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:e.Diagnostics.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):o}function nh(e,t,r,n){var i=0;if(n){for(var a=t;a=0;)switch(t=i.expr[a],i.state[a]){case 0:if(e.isInJSFile(t)&&e.getAssignedExpandoInitializer(t)){u(Gh(t.right,r));break}if(kh(t),62===(o=t.operatorToken.kind)&&(200===t.left.kind||199===t.left.kind)){u(Sh(t.left,Gh(t.right,r),r,107===t.right.kind));break}l(1),d(t.left);break;case 1:var o,s=n;i.leftType[a]=s,55!==(o=t.operatorToken.kind)&&56!==o&&60!==o||ix(s,t.left),l(2),d(t.right);break;case 2:s=i.leftType[a];var c=n;u(Ah(t.left,t.operatorToken,t.right,s,c,t));break;default:return e.Debug.fail(\"Invalid state \"+i.state[a]+\" for checkBinaryExpression\")}return n;function u(e){n=e,a--}function l(e){i.state[a]=e}function d(t){e.isBinaryExpression(t)?(a++,i.expr[a]=t,i.state[a]=0,i.leftType[a]=void 0):n=Gh(t,r)}}function kh(t){var r=t.left,n=t.operatorToken,i=t.right;60===n.kind&&(!e.isBinaryExpression(r)||56!==r.operatorToken.kind&&55!==r.operatorToken.kind||zS(r,e.Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses,e.tokenToString(r.operatorToken.kind),e.tokenToString(n.kind)),!e.isBinaryExpression(i)||56!==i.operatorToken.kind&&55!==i.operatorToken.kind||zS(i,e.Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses,e.tokenToString(i.operatorToken.kind),e.tokenToString(n.kind)))}function Ah(t,r,n,a,o,s){var c=r.kind;switch(c){case 41:case 42:case 65:case 66:case 43:case 67:case 44:case 68:case 40:case 64:case 47:case 69:case 48:case 70:case 49:case 71:case 51:case 73:case 52:case 77:case 50:case 72:if(a===He||o===He)return He;a=ay(a,t),o=ay(o,n);var u=void 0;if(528&a.flags&&528&o.flags&&void 0!==(u=function(e){switch(e){case 51:case 73:return 56;case 52:case 77:return 37;case 50:case 72:return 55;default:return}}(r.kind)))return _n(s||r,e.Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead,e.tokenToString(r.kind),e.tokenToString(u)),Re;var l,d=uh(t,a,e.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,!0),_=uh(n,o,e.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,!0);if(yh(a,3)&&yh(o,3)||!mh(a,2112)&&!mh(o,2112))l=Re;else if(b(a,o)){switch(c){case 49:case 71:C();break;case 42:case 66:q<3&&_n(s,e.Diagnostics.Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later)}l=Be}else C(b),l=ke;return d&&_&&E(l),l;case 39:case 63:if(a===He||o===He)return He;yh(a,402653316)||yh(o,402653316)||(a=ay(a,t),o=ay(o,n));var p=void 0;if(yh(a,296,!0)&&yh(o,296,!0)?p=Re:yh(a,2112,!0)&&yh(o,2112,!0)?p=Be:yh(a,402653316,!0)||yh(o,402653316,!0)?p=Le:(Aa(a)||Aa(o))&&(p=a===ke||o===ke?ke:Ee),p&&!S(c))return p;if(!p){var f=402655727;return C((function(e,t){return yh(e,f)&&yh(t,f)})),Ee}return 63===c&&E(p),p;case 29:case 31:case 32:case 33:return S(c)&&(a=ep(ay(a,t)),o=ep(ay(o,n)),T((function(e,t){return Qd(e,t)||Qd(t,e)||Yd(e,et)&&Yd(t,et)}))),Ue;case 34:case 35:case 36:case 37:return T((function(e,t){return Th(e,t)||Th(t,e)})),Ue;case 101:return function(t,r,n,i){return n===He||i===He?He:(!Aa(n)&&vh(n,131068)&&_n(t,e.Diagnostics.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter),Aa(i)||wb(i)||Gd(i,Dt)||_n(r,e.Diagnostics.The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type),Ue)}(t,n,a,o);case 100:return function(t,r,n,i){return n===He||i===He?He:(n=ay(n,t),i=ay(i,r),vh(n,402665900)||yh(n,407109632)||_n(t,e.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol),vh(i,126091264)||_n(r,e.Diagnostics.The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter),Ue)}(t,n,a,o);case 55:case 75:var g=4194304&wf(a)?$u([gp(G?a:ep(o)),o]):a;return 75===c&&E(o),g;case 56:case 74:var m=8388608&wf(a)?$u([fp(a),o],2):a;return 74===c&&E(o),m;case 60:case 76:var y=262144&wf(a)?$u([hp(a),o],2):a;return 76===c&&E(o),y;case 62:var v=e.isBinaryExpression(t.parent)?e.getAssignmentDeclarationKind(t.parent):0;return function(t,r){if(2===t)for(var n=0,i=Bs(r);n1&&t.charCodeAt(r-1)>=48&&t.charCodeAt(r-1)<=57;)r--;for(var n=t.slice(0,r),i=1;;i++){var a=n+i;if(!zh(e,a))return a}}function Vh(e){var t=jy(e);if(t&&!t.typeParameters)return Mc(t)}function qh(t){var r=Wh(t);if(r)return r;if(67108864&t.flags&&ir){var n=ir[O(t)];if(n)return n}var i=Fr,a=Gh(t);Fr!==i&&((ir||(ir=[]))[O(t)]=a,e.setNodeFlags(t,67108864|t.flags));return a}function Wh(t){var r=e.skipParentheses(t);if(!e.isCallExpression(r)||105===r.expression.kind||e.isRequireCall(r,!0)||Ev(r)){if(e.isAssertionExpression(r)&&!e.isConstTypeReference(r.type))return ld(r.type);if(8===t.kind||10===t.kind||109===t.kind||94===t.kind)return Gh(t)}else{var n=e.isCallChain(r)?function(e){var t=Gh(e.expression),r=Ep(t,e.expression),n=Vh(t);return n&&Sp(n,e,r!==t)}(r):Vh(Zm(r.expression));if(n)return n}}function Hh(e){var t=Cn(e);if(t.contextFreeType)return t.contextFreeType;var r=e.contextualType;e.contextualType=Ee;try{return t.contextFreeType=Gh(e,4)}finally{e.contextualType=r}}function Gh(t,r,n){e.tracing.push(\"check\",\"checkExpression\",{kind:t.kind,pos:t.pos,end:t.end});var o=d;d=t,b=0;var s=jh(t,function(t,r,n){var o=t.kind;if(a)switch(o){case 221:case 208:case 209:a.throwIfCancellationRequested()}switch(o){case 78:return Ng(t);case 107:return Mg(t);case 105:return Bg(t);case 103:return Me;case 14:case 10:return rd(ad(t.text));case 8:return qS(t),rd(ad(+t.text));case 9:return function(t){if(!(e.isLiteralTypeNode(t.parent)||e.isPrefixUnaryExpression(t.parent)&&e.isLiteralTypeNode(t.parent.parent))&&q<7&&zS(t,e.Diagnostics.BigInt_literals_are_not_available_when_targeting_lower_than_ES2020))return!0}(t),rd(function(t){return ad({negative:!1,base10Value:e.parsePseudoBigInt(t.text)})}(t));case 109:return Ke;case 94:return je;case 218:return function(t){for(var r=[t.head.text],n=[],i=0,a=t.templateSpans;i=2||!e.hasRestParameter(t)||8388608&t.flags||e.nodeIsMissing(t.body))return;e.forEach(t.parameters,(function(t){t.name&&!e.isBindingPattern(t.name)&&t.name.escapedText===ce.escapedName&&dn(\"noEmit\",t,e.Diagnostics.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters)}))}(t);var n=e.getEffectiveReturnTypeNode(t);if($&&!n)switch(t.kind){case 170:_n(t,e.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type);break;case 169:_n(t,e.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type)}if(n){var a=e.getFunctionFlags(t);if(1==(5&a)){var o=ld(n);if(o===qe)_n(n,e.Diagnostics.A_generator_cannot_have_a_void_type_annotation);else{var s=wx(0,o,0!=(2&a))||Ee;Zd(th(s,wx(1,o,0!=(2&a))||s,wx(2,o,0!=(2&a))||Ne,!!(2&a)),o,n)}}else 2==(3&a)&&function(t,r){var n=ld(r);if(q>=2){if(n===ke)return;var i=ku(!0);if(i!==ct&&!fo(n,i))return void _n(r,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0,ca(vD(n)||qe))}else{if(function(t){xD(t&&e.getEntityNameFromTypeNode(t))}(r),n===ke)return;var a=e.getEntityNameFromTypeNode(r);if(void 0===a)return void _n(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,ca(n));var o=di(a,111551,!0),s=o?po(o):ke;if(s===ke)return void(78===a.kind&&\"Promise\"===a.escapedText&&go(n)===ku(!1)?_n(r,e.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option):_n(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a)));var c=(d=!0,Jt||(Jt=Eu(\"PromiseConstructorLike\",0,d))||it);if(c===it)return void _n(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a));if(!Zd(s,c,r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value))return;var u=a&&e.getFirstIdentifier(a),l=An(t.locals,u.escapedText,111551);if(l)return void _n(l.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,e.idText(u),e.entityNameToString(a))}var d;yD(n,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)}(t,n)}171!==t.kind&&308!==t.kind&&FD(t)}}function Zh(t){for(var r=new e.Map,n=0,i=t.members;n0&&r.declarations[0]!==t)return}var n=Wc(ki(t));if(n)for(var i=!1,a=!1,o=0,s=n.declarations;o=0)return void(r&&_n(r,e.Diagnostics.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method));Qr.push(t.id);var s=vD(o,r,n,i);if(Qr.pop(),!s)return;return a.awaitedTypeOfType=s}if(!function(e){var t=ka(e,\"then\");return!!t&&pc(If(t,2097152),0).length>0}(t))return a.awaitedTypeOfType=t;if(r){if(!n)return e.Debug.fail();_n(r,n,i)}}function DD(t){var r=vv(t);bv(r,t);var n=Mc(r);if(!(1&n.flags)){var i,a,o=pv(t);switch(t.parent.kind){case 252:i=$u([po(ki(t.parent)),qe]);break;case 160:i=qe,a=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any);break;case 163:i=qe,a=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any);break;case 165:case 167:case 168:i=$u([wu(Cb(t.parent)),qe]);break;default:return e.Debug.fail()}Zd(n,i,t,o,(function(){return a}))}}function xD(t){if(t){var r=e.getFirstIdentifier(t),n=2097152|(78===t.kind?788968:1920),i=Pn(r,r.escapedText,n,void 0,void 0,!0);i&&2097152&i.flags&&Oi(i)&&!Ub(ni(i))&&!oi(i)&&ci(i)}}function bD(t){var r=SD(t);r&&e.isEntityName(r)&&xD(r)}function SD(e){if(e)switch(e.kind){case 183:case 182:return ED(e.types);case 184:return ED([e.trueType,e.falseType]);case 186:case 192:return SD(e.type);case 173:return e.typeName}}function ED(t){for(var r,n=0,i=t;n=e.ModuleKind.ES2015)&&(VD(t,r,\"require\")||VD(t,r,\"exports\"))&&(!e.isModuleDeclaration(t)||1===e.getModuleInstanceState(t))){var n=Ca(t);297===n.kind&&e.isExternalOrCommonJsModule(n)&&dn(\"noEmit\",r,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,e.declarationNameToString(r),e.declarationNameToString(r))}}function YD(t,r){if(!(q>=4)&&VD(t,r,\"Promise\")&&(!e.isModuleDeclaration(t)||1===e.getModuleInstanceState(t))){var n=Ca(t);297===n.kind&&e.isExternalOrCommonJsModule(n)&&2048&n.flags&&dn(\"noEmit\",r,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,e.declarationNameToString(r),e.declarationNameToString(r))}}function XD(e){return e===Te?Ee:e===Pt?Nt:e}function QD(t){var r;if(CD(t),e.isBindingElement(t)||lb(t.type),t.name){if(158===t.name.kind&&(bm(t.name),t.initializer&&Nh(t.initializer)),198===t.kind){196===t.parent.kind&&q<99&&pS(t,4),t.propertyName&&158===t.propertyName.kind&&bm(t.propertyName);var n=t.parent.parent,i=Fa(n),a=t.propertyName||t.name;if(i&&!e.isBindingPattern(a)){var o=ul(a);if(Xo(o)){var s=dc(i,ts(o));s&&(Sy(s,void 0,!1),Qm(n,!!n.initializer&&105===n.initializer.kind,i,s))}}}if(e.isBindingPattern(t.name)&&(197===t.name.kind&&q<2&&V.downlevelIteration&&pS(t,512),e.forEach(t.name.elements,lb)),t.initializer&&e.isParameterDeclaration(t)&&e.nodeIsMissing(e.getContainingFunction(t).body))_n(t,e.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation);else if(e.isBindingPattern(t.name)){var c=t.initializer&&238!==t.parent.parent.kind,u=0===t.name.elements.length;if(c||u){var l=$a(t);if(c){var d=Nh(t.initializer);G&&u?oy(d,t):e_(d,$a(t),t,t.initializer)}u&&(e.isArrayBindingPattern(t.name)?ux(65,l,Pe,t):G&&oy(l,t))}}else{var _=ki(t);if(2097152&_.flags&&e.isRequireVariableDeclaration(t,!0))rb(t);else{var p=XD(po(_));if(t===_.valueDeclaration){var f=e.getEffectiveInitializer(t);if(f)e.isInJSFile(t)&&e.isObjectLiteralExpression(f)&&(0===f.properties.length||e.isPrototypeAccess(t.name))&&!!(null===(r=_.exports)||void 0===r?void 0:r.size)||238===t.parent.parent.kind||e_(Nh(f),p,t,f,void 0);_.declarations.length>1&&e.some(_.declarations,(function(r){return r!==t&&e.isVariableLike(r)&&!ZD(r,t)}))&&_n(t.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(t.name))}else{var g=XD($a(t));p===ke||g===ke||Vd(p,g)||67108864&_.flags||$D(_.valueDeclaration,p,t,g),t.initializer&&e_(Nh(t.initializer),g,t,t.initializer,void 0),ZD(t,_.valueDeclaration)||_n(t.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(t.name))}163!==t.kind&&162!==t.kind&&(fD(t),249!==t.kind&&198!==t.kind||function(t){if(0==(3&e.getCombinedNodeFlags(t))&&!e.isParameterDeclaration(t)&&(249!==t.kind||t.initializer)){var r=ki(t);if(1&r.flags){if(!e.isIdentifier(t.name))return e.Debug.fail();var n=Pn(t,t.name.escapedText,3,void 0,void 0,!1);if(n&&n!==r&&2&n.flags&&3&Ym(n)){var i=e.getAncestor(n.valueDeclaration,250),a=232===i.parent.kind&&i.parent.parent?i.parent.parent:void 0;if(!a||!(230===a.kind&&e.isFunctionLike(a.parent)||257===a.kind||256===a.kind||297===a.kind)){var o=oa(n);_n(t,e.Diagnostics.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,o,o)}}}}}(t),GD(t,t.name),YD(t,t.name),q<99&&VD(t,t.name,\"WeakMap\")&&Xr.push(t))}}}}function $D(t,r,n,i){var a=e.getNameOfDeclaration(n),o=163===n.kind||162===n.kind?e.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:e.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2,s=e.declarationNameToString(a),c=_n(a,o,s,ca(r),ca(i));t&&e.addRelatedInfo(c,e.createDiagnosticForNode(t,e.Diagnostics._0_was_also_declared_here,s))}function ZD(t,r){if(160===t.kind&&249===r.kind||249===t.kind&&160===r.kind)return!0;if(e.hasQuestionToken(t)!==e.hasQuestionToken(r))return!1;return e.getSelectedEffectiveModifierFlags(t,504)===e.getSelectedEffectiveModifierFlags(r,504)}function ex(t){e.tracing.push(\"check\",\"checkVariableDeclaration\",{kind:t.kind,pos:t.pos,end:t.end}),function(t){if(238!==t.parent.parent.kind&&239!==t.parent.parent.kind)if(8388608&t.flags)OS(t);else if(!t.initializer){if(e.isBindingPattern(t.name)&&!e.isBindingPattern(t.parent))return zS(t,e.Diagnostics.A_destructuring_declaration_must_have_an_initializer);if(e.isVarConst(t))return zS(t,e.Diagnostics.const_declarations_must_be_initialized)}if(t.exclamationToken&&(232!==t.parent.parent.kind||!t.type||t.initializer||8388608&t.flags)){var r=t.initializer?e.Diagnostics.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:e.Diagnostics.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return zS(t.exclamationToken,r)}var n=e.getEmitModuleKind(V);n=1&&ex(t.declarations[0])}function cx(e){return ux(e.awaitModifier?15:13,Zm(e.expression),Pe,e.expression)}function ux(e,t,r,n){return Aa(t)?t:lx(e,t,r,n,!0)||Ee}function lx(t,r,n,i,a){var o=0!=(2&t);if(r!==We){var s=q>=2,c=!s&&V.downlevelIteration,u=V.noUncheckedIndexedAccess&&!!(128&t);if(s||c||o){var l=mx(r,t,s?i:void 0);if(a&&l){var d=8&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:32&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:64&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:16&t?e.Diagnostics.Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:void 0;d&&Zd(n,l.nextType,i,d)}if(l||s)return u?Rf(l&&l.yieldType):l&&l.yieldType}var _=r,p=!1,f=!1;if(4&t){if(1048576&_.flags){var g=r.types,m=e.filter(g,(function(e){return!(402653316&e.flags)}));m!==g&&(_=$u(m,2))}else 402653316&_.flags&&(_=We);if((f=_!==r)&&(q<1&&i&&(_n(i,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher),p=!0),131072&_.flags))return u?Rf(Le):Le}if(!H_(_)){if(i&&!p){var y=dx(t,0,r,void 0),v=4&t&&!f?c?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:y?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators,!1]:[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type,!0]:c?[e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:y?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators,!1]:[e.Diagnostics.Type_0_is_not_an_array_type,!0],h=v[0];gn(i,v[1]&&!!gD(_),h,ca(_))}return f?u?Rf(Le):Le:void 0}var D=yc(_,1);return f&&D?402653316&D.flags&&!V.noUncheckedIndexedAccess?Le:$u(u?[D,Le,Pe]:[D,Le],2):128&t?Rf(D):D}Sx(i,r,o)}function dx(e,t,r,n){if(!Aa(r)){var i=mx(r,e,n);return i&&i[J(t)]}}function _x(e,t,r){if(void 0===e&&(e=We),void 0===t&&(t=We),void 0===r&&(r=Ne),67359327&e.flags&&180227&t.flags&&180227&r.flags){var n=Zc([e,t,r]),i=gr.get(n);return i||(i={yieldType:e,returnType:t,nextType:r},gr.set(n,i)),i}return{yieldType:e,returnType:t,nextType:r}}function px(t){for(var r,n,i,a=0,o=t;an)return!1;for(var l=0;l1)return JS(o.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class);r=!0}else{if(e.Debug.assert(116===o.token),n)return JS(o,e.Diagnostics.implements_clause_already_seen);n=!0}SS(o)}})(t)||vS(t.typeParameters,r)}(t),CD(t),t.name&&(jx(t.name,e.Diagnostics.Class_name_cannot_be_0),GD(t,t.name),YD(t,t.name),8388608&t.flags||function(t){1===q&&\"Object\"===t.escapedText&&W>a;case 49:return i>>>a;case 47:return i<1&&L(t,!!V.preserveConstEnums||!!V.isolatedModules)){var s=function(t){for(var r=0,n=t.declarations;r1)for(var o=0,s=n;o=232&&r<=248&&t.flowNode&&!yg(t.flowNode)&&fn(!1===V.allowUnreachableCode,t,e.Diagnostics.Unreachable_code_detected);switch(r){case 159:return Yh(t);case 160:return Xh(t);case 163:return tD(t);case 162:return function(t){return e.isPrivateIdentifier(t.name)&&_n(t,e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),tD(t)}(t);case 174:case 175:case 169:case 170:case 171:return $h(t);case 165:case 164:return function(t){wS(t)||TS(t.name),e.isPrivateIdentifier(t.name)&&_n(t,e.Diagnostics.A_method_cannot_be_named_with_a_private_identifier),AD(t),e.hasSyntacticModifier(t,128)&&165===t.kind&&t.body&&_n(t,e.Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract,e.declarationNameToString(t.name))}(t);case 166:return rD(t);case 167:case 168:return nD(t);case 173:return cD(t);case 172:return function(t){var r=function(e){switch(e.parent.kind){case 209:case 169:case 251:case 208:case 174:case 165:case 164:var t=e.parent;if(e===t.type)return t}}(t);if(r){var n=Ac(r),i=Oc(n);if(i){lb(t.type);var a=t.parameterName;if(0===i.kind||2===i.kind)sd(a);else if(i.parameterIndex>=0)K(n)&&i.parameterIndex===n.parameters.length-1?_n(a,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter):i.type&&Zd(i.type,po(n.parameters[i.parameterIndex]),t.type,void 0,(function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type)}));else if(a){for(var o=!1,s=0,c=r.parameters;s0),n.length>1&&_n(n[1],e.Diagnostics.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag);var i=kD(t.class.expression),a=e.getClassExtendsHeritageElement(r);if(a){var o=kD(a.expression);o&&i.escapedText!==o.escapedText&&_n(i,e.Diagnostics.JSDoc_0_1_does_not_match_the_extends_2_clause,e.idText(t.tagName),e.idText(i),e.idText(o))}}else _n(r,e.Diagnostics.JSDoc_0_is_not_attached_to_a_class,e.idText(t.tagName))}(t);case 316:return function(t){var r=e.getEffectiveJSDocHost(t);r&&(e.isClassDeclaration(r)||e.isClassExpression(r))||_n(r,e.Diagnostics.JSDoc_0_is_not_attached_to_a_class,e.idText(t.tagName))}(t);case 331:case 324:case 325:return function(t){t.typeExpression||_n(t.name,e.Diagnostics.JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags),t.name&&jx(t.name,e.Diagnostics.Type_alias_name_cannot_be_0),lb(t.typeExpression)}(t);case 330:return function(e){lb(e.constraint);for(var t=0,r=e.typeParameters;t-1&&n1){var n=e.isEnumConst(t);e.forEach(r.declarations,(function(t){e.isEnumDeclaration(t)&&e.isEnumConst(t)!==n&&_n(e.getNameOfDeclaration(t),e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const)}))}var a=!1;e.forEach(r.declarations,(function(t){if(255!==t.kind)return!1;var r=t;if(!r.members.length)return!1;var n=r.members[0];n.initializer||(a?_n(n.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):a=!0)}))}}}(t);case 256:return Zx(t);case 261:return ib(t);case 260:return function(t){if(!ob(t,e.Diagnostics.An_import_declaration_can_only_be_used_in_a_namespace_or_module)&&(gS(t),e.isInternalModuleImportEqualsDeclaration(t)||tb(t)))if(nb(t),e.hasSyntacticModifier(t,1)&&si(t),272!==t.moduleReference.kind){var r=ni(ki(t));if(r!==be){if(111551&r.flags){var n=e.getFirstIdentifier(t.moduleReference);1920&di(n,112575).flags||_n(n,e.Diagnostics.Module_0_is_hidden_by_a_local_declaration_with_the_same_name,e.declarationNameToString(n))}788968&r.flags&&jx(t.name,e.Diagnostics.Import_name_cannot_be_0)}}else W>=e.ModuleKind.ES2015&&!(8388608&t.flags)&&zS(t,e.Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead)}(t);case 267:return ab(t);case 266:return function(t){if(!ob(t,e.Diagnostics.An_export_assignment_can_only_be_used_in_a_module)){var r=297===t.parent.kind?t.parent:t.parent.parent;if(256!==r.kind||e.isAmbientModule(r)){if(!gS(t)&&e.hasEffectiveModifiers(t)&&JS(t,e.Diagnostics.An_export_assignment_cannot_have_modifiers),78===t.expression.kind){var n=t.expression,i=di(n,67108863,!0,!0,t);if(i){Fg(i,n);var a=2097152&i.flags?ni(i):i;(a===be||111551&a.flags)&&Nh(t.expression)}else Nh(t.expression);e.getEmitDeclarations(V)&&xa(t.expression,!0)}else Nh(t.expression);ub(r),8388608&t.flags&&!e.isEntityNameExpression(t.expression)&&zS(t.expression,e.Diagnostics.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context),!t.isExportEquals||8388608&t.flags||(W>=e.ModuleKind.ES2015?zS(t,e.Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead):W===e.ModuleKind.System&&zS(t,e.Diagnostics.Export_assignment_is_not_supported_when_module_flag_is_system))}else t.isExportEquals?_n(t,e.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace):_n(t,e.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module)}}(t);case 231:case 248:return void VS(t);case 271:(function(e){CD(e)})(t)}}(t),d=r}}function db(t){e.isInJSFile(t)||zS(t,e.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments)}function _b(t){var r=Cn(e.getSourceFileOfNode(t));if(!(1&r.flags)){r.deferredNodes=r.deferredNodes||new e.Map;var n=O(t);r.deferredNodes.set(n,t)}}function pb(t){var r=d;switch(d=t,b=0,t.kind){case 203:case 204:case 205:case 161:case 275:Py(t);break;case 208:case 209:case 165:case 164:!function(t){e.Debug.assert(165!==t.kind||e.isObjectLiteralMethod(t));var r=e.getFunctionFlags(t),n=Lc(t);if(sh(t,n),t.body)if(e.getEffectiveReturnTypeNode(t)||Mc(Ac(t)),230===t.body.kind)lb(t.body);else{var i=Gh(t.body),a=n&&Mx(n,r);a&&e_(2==(3&r)?yD(i,t.body,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):i,a,t.body,t.body)}}(t);break;case 167:case 168:nD(t);break;case 221:!function(t){e.forEach(t.members,lb),FD(t)}(t);break;case 274:!function(e){qm(e)}(t);break;case 273:!function(e){qm(e.openingElement),Am(e.closingElement.tagName)?Om(e.closingElement):Gh(e.closingElement.tagName),Nm(e)}(t)}d=r}function fb(r){var n=[\"check\",\"checkSourceFile\",{path:r.path}];e.tracing.begin.apply(e.tracing,n),e.performance.mark(\"beforeCheck\"),function(r){var n=Cn(r);if(!(1&n.flags)){if(e.skipTypeChecking(r,V,t))return;!function(t){!!(8388608&t.flags)&&function(t){for(var r=0,n=t.statements;r0?e.concatenate(o,a):a}return e.forEach(t.getSourceFiles(),fb),$r.getDiagnostics()}(r)}finally{a=void 0}}function vb(){if(!i)throw new Error(\"Trying to get diagnostics from a type checker that does not produce them.\")}function hb(e){switch(e.kind){case 159:case 252:case 253:case 254:case 255:case 331:case 324:case 325:return!0;case 262:return e.isTypeOnly;case 265:case 270:return e.parent.parent.isTypeOnly;default:return!1}}function Db(e){for(;157===e.parent.kind;)e=e.parent;return 173===e.parent.kind}function xb(t,r){for(var n;(t=e.getContainingClass(t))&&!(n=r(t)););return n}function bb(e,t){return!!xb(e,(function(e){return e===t}))}function Sb(e){return void 0!==function(e){for(;157===e.parent.kind;)e=e.parent;return 260===e.parent.kind?e.parent.moduleReference===e?e.parent:void 0:266===e.parent.kind&&e.parent.expression===e?e.parent:void 0}(e)}function Eb(t){if(e.isDeclarationName(t))return ki(t.parent);if(e.isInJSFile(t)&&201===t.parent.kind&&t.parent===t.parent.parent.left&&!e.isPrivateIdentifier(t)){var r=function(t){switch(e.getAssignmentDeclarationKind(t.parent.parent)){case 1:case 3:return ki(t.parent);case 4:case 2:case 5:return ki(t.parent.parent)}}(t);if(r)return r}if(266===t.parent.kind&&e.isEntityNameExpression(t)){var n=di(t,2998271,!0);if(n&&n!==be)return n}else if(!e.isPropertyAccessExpression(t)&&!e.isPrivateIdentifier(t)&&Sb(t)){var i=e.getAncestor(t,260);return e.Debug.assert(void 0!==i),ui(t,!0)}if(!e.isPropertyAccessExpression(t)&&!e.isPrivateIdentifier(t)){var a=function(t){for(var r=t.parent;e.isQualifiedName(r);)t=r,r=r.parent;if(r&&195===r.kind&&r.qualifier===t)return r}(t);if(a){ld(a);var o=Cn(t).resolvedSymbol;return o===be?void 0:o}}for(;e.isRightSideOfQualifiedNameOrPropertyAccess(t);)t=t.parent;if(function(e){for(;201===e.parent.kind;)e=e.parent;return 223===e.parent.kind}(t)){var s=0;223===t.parent.kind?(s=788968,e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)&&(s|=111551)):s=1920,s|=2097152;var c=e.isEntityNameExpression(t)?di(t,s):void 0;if(c)return c}if(326===t.parent.kind)return e.getParameterSymbolFromJSDoc(t.parent);if(159===t.parent.kind&&330===t.parent.parent.kind){e.Debug.assert(!e.isInJSFile(t));var u=e.getTypeParameterFromJsDoc(t.parent);return u&&u.symbol}if(e.isExpressionNode(t)){if(e.nodeIsMissing(t))return;if(78===t.kind){if(e.isJSXTagName(t)&&Am(t)){var l=Om(t.parent);return l===be?void 0:l}return di(t,111551,!1,!0)}if(201===t.kind||157===t.kind){var d=Cn(t);return d.resolvedSymbol||(201===t.kind?sy(t):cy(t)),d.resolvedSymbol}}else{if(Db(t))return di(t,s=173===t.parent.kind?788968:1920,!1,!0);if(function(e){for(;157===e.parent.kind;)e=e.parent;for(;201===e.parent.kind;)e=e.parent;return 302===e.parent.kind}(t))return di(t,s=901119,!1,!0,e.getHostSignatureFromJSDoc(t))}return 172===t.parent.kind?di(t,1):void 0}function Tb(t,r){if(297===t.kind)return e.isExternalModule(t)?Ci(t.symbol):void 0;var n=t.parent,i=n.parent;if(!(16777216&t.flags)){if(B(t)){var a=ki(n);return e.isImportOrExportSpecifier(t.parent)&&t.parent.propertyName===t?Em(a):a}if(e.isLiteralComputedPropertyDeclarationName(t))return ki(n.parent);if(78===t.kind){if(Sb(t))return Eb(t);if(198===n.kind&&196===i.kind&&t===n.propertyName){var o=dc(Cb(i),t.escapedText);if(o)return o}}switch(t.kind){case 78:case 79:case 201:case 157:return Eb(t);case 107:var s=e.getThisContainer(t,!1);if(e.isFunctionLike(s)){var c=Ac(s);if(c.thisParameter)return c.thisParameter}if(e.isInExpressionContext(t))return Gh(t).symbol;case 187:return sd(t).symbol;case 105:return Gh(t).symbol;case 132:var u=t.parent;return u&&166===u.kind?u.parent.symbol:void 0;case 10:case 14:if(e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t||(261===t.parent.kind||267===t.parent.kind)&&t.parent.moduleSpecifier===t||e.isInJSFile(t)&&e.isRequireCall(t.parent,!1)||e.isImportCall(t.parent)||e.isLiteralTypeNode(t.parent)&&e.isLiteralImportTypeNode(t.parent.parent)&&t.parent.parent.argument===t.parent)return pi(t,t,r);if(e.isCallExpression(n)&&e.isBindableObjectDefinePropertyCall(n)&&n.arguments[1]===t)return ki(n);case 8:var l=e.isElementAccessExpression(n)?n.argumentExpression===t?qh(n.expression):void 0:e.isLiteralTypeNode(n)&&e.isIndexedAccessTypeNode(i)?ld(i.objectType):void 0;return l&&dc(l,e.escapeLeadingUnderscores(t.text));case 87:case 97:case 38:case 83:return ki(t.parent);case 195:return e.isLiteralImportTypeNode(t)?Tb(t.argument.literal,r):void 0;case 92:return e.isExportAssignment(t.parent)?e.Debug.checkDefined(t.parent.symbol):void 0;default:return}}}function Cb(t){if(e.isSourceFile(t)&&!e.isExternalModule(t))return ke;if(16777216&t.flags)return ke;var r,n=e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments(t),i=n&&Po(ki(n.class));if(e.isPartOfTypeNode(t)){var a=ld(t);return i?os(a,i.thisType):a}if(e.isExpressionNode(t))return Ab(t);if(i&&!n.isImplements){var o=e.firstOrUndefined(Ao(i));return o?os(o,i.thisType):ke}if(hb(t))return Jo(r=ki(t));if(function(t){return 78===t.kind&&hb(t.parent)&&e.getNameOfDeclaration(t.parent)===t}(t))return(r=Tb(t))?Jo(r):ke;if(e.isDeclaration(t))return po(r=ki(t));if(B(t))return(r=Tb(t))?po(r):ke;if(e.isBindingPattern(t))return Ba(t.parent,!0)||ke;if(Sb(t)&&(r=Tb(t))){var s=Jo(r);return s!==ke?s:po(r)}return ke}function kb(t){if(e.Debug.assert(200===t.kind||199===t.kind),239===t.parent.kind)return Sh(t,cx(t.parent)||ke);if(216===t.parent.kind)return Sh(t,qh(t.parent.right)||ke);if(288===t.parent.kind){var r=e.cast(t.parent.parent,e.isObjectLiteralExpression);return xh(r,kb(r)||ke,e.indexOfNode(r.properties,t.parent))}var n=e.cast(t.parent,e.isArrayLiteralExpression),i=kb(n)||ke,a=ux(65,i,Pe,t.parent)||ke;return bh(n,i,n.elements.indexOf(t),a)}function Ab(t){return e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),nd(qh(t))}function Fb(t){var r=ki(t.parent);return e.hasSyntacticModifier(t,32)?po(r):Jo(r)}function Nb(t){var r=t.name;switch(r.kind){case 78:return ad(e.idText(r));case 8:case 10:return ad(r.text);case 158:var n=bm(r);return yh(n,12288)?n:Le;default:return e.Debug.fail(\"Unsupported property name.\")}}function Pb(t){t=tc(t);var r=e.createSymbolTable(Ks(t)),n=pc(t,0).length?xt:pc(t,1).length?bt:void 0;return n&&e.forEach(Ks(n),(function(e){r.has(e.escapedName)||r.set(e.escapedName,e)})),zi(r)}function wb(t){return e.typeHasCallOrConstructSignatures(t,le)}function Ib(t){if(e.isGeneratedIdentifier(t))return!1;var r=e.getParseTreeNode(t,e.isIdentifier);if(!r)return!1;var n=r.parent;return!!n&&(!((e.isPropertyAccessExpression(n)||e.isPropertyAssignment(n))&&n.name===r)&&oS(r)===ce)}function Ob(t){var r=pi(t.parent,t);if(!r||e.isShorthandAmbientModuleSymbol(r))return!0;var n=hi(r),i=Tn(r=yi(r));return void 0===i.exportsSomeValue&&(i.exportsSomeValue=n?!!(111551&r.flags):e.forEachEntry(Si(r),(function(e){return(e=ri(e))&&!!(111551&e.flags)}))),i.exportsSomeValue}function Mb(t,r){var n=e.getParseTreeNode(t,e.isIdentifier);if(n){var i=oS(n,function(t){return e.isModuleOrEnumDeclaration(t.parent)&&t===t.parent.name}(n));if(i){if(1048576&i.flags){var a=Ci(i.exportSymbol);if(!r&&944&a.flags&&!(3&a.flags))return;i=a}var o=Ai(i);if(o){if(512&o.flags&&297===o.valueDeclaration.kind){var s=o.valueDeclaration;return s!==e.getSourceFileOfNode(n)?void 0:s}return e.findAncestor(n.parent,(function(t){return e.isModuleOrEnumDeclaration(t)&&ki(t)===o}))}}}}function Lb(t){if(t.generatedImportReference)return t.generatedImportReference;var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=oS(r);if(ti(n,111551)&&!oi(n))return zn(n)}}function Rb(t){if(418&t.flags&&!e.isSourceFile(t.valueDeclaration)){var r=Tn(t);if(void 0===r.isDeclarationWithCollidingName){var n=e.getEnclosingBlockScopeContainer(t.valueDeclaration);if(e.isStatementWithLocals(n)||function(t){return e.isBindingElement(t.valueDeclaration)&&287===e.walkUpBindingElementsAndPatterns(t.valueDeclaration).parent.kind}(t)){var i=Cn(t.valueDeclaration);if(Pn(n.parent,t.escapedName,111551,void 0,void 0,!1))r.isDeclarationWithCollidingName=!0;else if(262144&i.flags){var a=524288&i.flags,o=e.isIterationStatement(n,!1),s=230===n.kind&&e.isIterationStatement(n.parent,!1);r.isDeclarationWithCollidingName=!(e.isBlockScopedContainerTopLevel(n)||a&&(o||s))}else r.isDeclarationWithCollidingName=!1}}return r.isDeclarationWithCollidingName}return!1}function Bb(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=oS(r);if(n&&Rb(n))return n.valueDeclaration}}}function jb(t){var r=e.getParseTreeNode(t,e.isDeclaration);if(r){var n=ki(r);if(n)return Rb(n)}return!1}function Jb(t){switch(t.kind){case 260:return zb(ki(t)||be);case 262:case 263:case 265:case 270:var r=ki(t)||be;return zb(r)&&!oi(r);case 267:var n=t.exportClause;return!!n&&(e.isNamespaceExport(n)||e.some(n.elements,Jb));case 266:return!t.expression||78!==t.expression.kind||zb(ki(t)||be)}return!1}function Kb(t){var r=e.getParseTreeNode(t,e.isImportEqualsDeclaration);return!(void 0===r||297!==r.parent.kind||!e.isInternalModuleImportEqualsDeclaration(r))&&(zb(ki(r))&&r.moduleReference&&!e.nodeIsMissing(r.moduleReference))}function zb(e){var t=ni(e);return t===be||!!(111551&t.flags)&&(V.preserveConstEnums||!Ub(t))}function Ub(e){return Dh(e)||!!e.constEnumOnlyModule}function Vb(t,r){if(Un(t)){var n=ki(t);if(n&&Tn(n).referenced)return!0;var i=Tn(n).target;if(i&&1&e.getEffectiveModifierFlags(t)&&111551&i.flags&&(V.preserveConstEnums||!Ub(i)))return!0}return!!r&&!!e.forEachChild(t,(function(e){return Vb(e,r)}))}function qb(t){if(e.nodeIsPresent(t.body)){if(e.isGetAccessor(t)||e.isSetAccessor(t))return!1;var r=Pc(ki(t));return r.length>1||1===r.length&&r[0].declaration!==t}return!1}function Wb(t){return!(!G||Sc(t)||e.isJSDocParameterTag(t)||!t.initializer||e.hasSyntacticModifier(t,92))}function Hb(t){return G&&Sc(t)&&!t.initializer&&e.hasSyntacticModifier(t,92)}function Gb(t){var r=e.getParseTreeNode(t,e.isFunctionDeclaration);if(!r)return!1;var n=ki(r);return!!(n&&16&n.flags)&&!!e.forEachEntry(bi(n),(function(t){return 111551&t.flags&&t.valueDeclaration&&e.isPropertyAccessExpression(t.valueDeclaration)}))}function Yb(t){var r=e.getParseTreeNode(t,e.isFunctionDeclaration);if(!r)return e.emptyArray;var n=ki(r);return n&&Ks(po(n))||e.emptyArray}function Xb(e){return Cn(e).flags||0}function Qb(e){return Yx(e.parent),Cn(e).enumMemberValue}function $b(e){switch(e.kind){case 291:case 201:case 202:return!0}return!1}function Zb(t){if(291===t.kind)return Qb(t);var r=Cn(t).resolvedSymbol;if(r&&8&r.flags){var n=r.valueDeclaration;if(e.isEnumConst(n.parent))return Qb(n)}}function eS(e){return!!(524288&e.flags)&&pc(e,0).length>0}function tS(t,r){var n,i=e.getParseTreeNode(t,e.isEntityName);if(!i)return e.TypeReferenceSerializationKind.Unknown;if(r&&!(r=e.getParseTreeNode(r)))return e.TypeReferenceSerializationKind.Unknown;var a=di(i,111551,!0,!0,r),o=(null===(n=null==a?void 0:a.declarations)||void 0===n?void 0:n.every(e.isTypeOnlyImportOrExportDeclaration))||!1,s=a&&2097152&a.flags?ni(a):a,c=di(i,788968,!0,!1,r);if(s&&s===c){var u=Au(!1);if(u&&s===u)return e.TypeReferenceSerializationKind.Promise;var l=po(s);if(l&&bo(l))return o?e.TypeReferenceSerializationKind.TypeWithCallSignature:e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue}if(!c)return o?e.TypeReferenceSerializationKind.ObjectType:e.TypeReferenceSerializationKind.Unknown;var d=Jo(c);return d===ke?o?e.TypeReferenceSerializationKind.ObjectType:e.TypeReferenceSerializationKind.Unknown:3&d.flags?e.TypeReferenceSerializationKind.ObjectType:yh(d,245760)?e.TypeReferenceSerializationKind.VoidNullableOrNeverType:yh(d,528)?e.TypeReferenceSerializationKind.BooleanType:yh(d,296)?e.TypeReferenceSerializationKind.NumberLikeType:yh(d,2112)?e.TypeReferenceSerializationKind.BigIntLikeType:yh(d,402653316)?e.TypeReferenceSerializationKind.StringLikeType:ap(d)?e.TypeReferenceSerializationKind.ArrayLikeType:yh(d,12288)?e.TypeReferenceSerializationKind.ESSymbolType:eS(d)?e.TypeReferenceSerializationKind.TypeWithCallSignature:U_(d)?e.TypeReferenceSerializationKind.ArrayLikeType:e.TypeReferenceSerializationKind.ObjectType}function rS(t,r,n,i,a){var o=e.getParseTreeNode(t,e.isVariableLikeOrAccessor);if(!o)return e.factory.createToken(128);var s=ki(o),c=!s||133120&s.flags?ke:tp(po(s));return 8192&c.flags&&c.symbol===s&&(n|=1048576),a&&(c=vp(c)),ne.typeToTypeNode(c,r,1024|n,i)}function nS(t,r,n,i){var a=e.getParseTreeNode(t,e.isFunctionLike);if(!a)return e.factory.createToken(128);var o=Ac(a);return ne.typeToTypeNode(Mc(o),r,1024|n,i)}function iS(t,r,n,i){var a=e.getParseTreeNode(t,e.isExpression);if(!a)return e.factory.createToken(128);var o=Ip(Ab(a));return ne.typeToTypeNode(o,r,1024|n,i)}function aS(t){return ie.has(e.escapeLeadingUnderscores(t))}function oS(t,r){var n=Cn(t).resolvedSymbol;if(n)return n;var i=t;if(r){var a=t.parent;e.isDeclaration(a)&&t===a.name&&(i=Ca(a))}return Pn(i,t.escapedText,3257279,void 0,void 0,!0)}function sS(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=oS(r);if(n)return Ii(n).valueDeclaration}}}function cS(t){return!!(e.isDeclarationReadonly(t)||e.isVariableDeclaration(t)&&e.isVarConst(t))&&id(po(ki(t)))}function uS(t,r){return function(t,r,n){var i=1024&t.flags?ne.symbolToExpression(t.symbol,111551,r,void 0,n):t===Ke?e.factory.createTrue():t===je&&e.factory.createFalse();if(i)return i;var a=t.value;return\"object\"==typeof a?e.factory.createBigIntLiteral(a):\"number\"==typeof a?e.factory.createNumericLiteral(a):e.factory.createStringLiteral(a)}(po(ki(t)),t,r)}function lS(t){return t?(ln(t),e.getSourceFileOfNode(t).localJsxFactory||or):or}function dS(t){if(t){var r=e.getSourceFileOfNode(t);if(r){if(r.localJsxFragmentFactory)return r.localJsxFragmentFactory;var n=r.pragmas.get(\"jsxfrag\"),i=e.isArray(n)?n[0]:n;if(i)return r.localJsxFragmentFactory=e.parseIsolatedEntityName(i.arguments.factory,q),r.localJsxFragmentFactory}}if(V.jsxFragmentFactory)return e.parseIsolatedEntityName(V.jsxFragmentFactory,q)}function _S(t){var r=256===t.kind?e.tryCast(t.name,e.isStringLiteral):e.getExternalModuleName(t),n=fi(r,r,void 0);if(n)return e.getDeclarationOfKind(n,297)}function pS(t,r){if((s&r)!==r&&V.importHelpers){var n=e.getSourceFileOfNode(t);if(e.isEffectiveExternalModule(n,V)&&!(8388608&t.flags)){var i=function(t,r){l||(l=gi(t,e.externalHelpersModuleNameText,e.Diagnostics.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,r)||be);return l}(n,t);if(i!==be)for(var a=r&~s,o=1;o<=4194304;o<<=1)if(a&o){var c=fS(o);An(i.exports,e.escapeLeadingUnderscores(c),111551)||_n(t,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,c)}s|=r}}}function fS(t){switch(t){case 1:return\"__extends\";case 2:return\"__assign\";case 4:return\"__rest\";case 8:return\"__decorate\";case 16:return\"__metadata\";case 32:return\"__param\";case 64:return\"__awaiter\";case 128:return\"__generator\";case 256:return\"__values\";case 512:return\"__read\";case 1024:return\"__spread\";case 2048:return\"__spreadArrays\";case 4096:return\"__await\";case 8192:return\"__asyncGenerator\";case 16384:return\"__asyncDelegator\";case 32768:return\"__asyncValues\";case 65536:return\"__exportStar\";case 131072:return\"__importStar\";case 262144:return\"__importDefault\";case 524288:return\"__makeTemplateObject\";case 1048576:return\"__classPrivateFieldGet\";case 2097152:return\"__classPrivateFieldSet\";case 4194304:return\"__createBinding\";default:return e.Debug.fail(\"Unrecognized helper\")}}function gS(t){return function(t){if(!t.decorators)return!1;if(!e.nodeCanBeDecorated(t,t.parent,t.parent.parent))return 165!==t.kind||e.nodeIsPresent(t.body)?JS(t,e.Diagnostics.Decorators_are_not_valid_here):JS(t,e.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload);if(167===t.kind||168===t.kind){var r=e.getAllAccessorDeclarations(t.parent.members,t);if(r.firstAccessor.decorators&&t===r.secondAccessor)return JS(t,e.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}return!1}(t)||function(t){var r,n,i,a,o=function(t){return!!t.modifiers&&(function(t){switch(t.kind){case 167:case 168:case 166:case 163:case 162:case 165:case 164:case 171:case 256:case 261:case 260:case 267:case 266:case 208:case 209:case 160:return!1;default:if(257===t.parent.kind||297===t.parent.kind)return!1;switch(t.kind){case 251:return mS(t,129);case 252:return mS(t,125);case 253:case 232:case 254:return!0;case 255:return mS(t,84);default:return e.Debug.fail(),!1}}}(t)?JS(t,e.Diagnostics.Modifiers_cannot_appear_here):void 0)}(t);if(void 0!==o)return o;for(var s=0,c=0,u=t.modifiers;c1||e.modifiers[0].kind!==t}function yS(t,r){return void 0===r&&(r=e.Diagnostics.Trailing_comma_not_allowed),!(!t||!t.hasTrailingComma)&&KS(t[0],t.end-\",\".length,\",\".length,r)}function vS(t,r){if(t&&0===t.length){var n=t.pos-\"<\".length;return KS(r,n,e.skipTrivia(r.text,t.end)+\">\".length-n,e.Diagnostics.Type_parameter_list_cannot_be_empty)}return!1}function hS(t){if(q>=3){var n=t.body&&e.isBlock(t.body)&&e.findUseStrictPrologue(t.body.statements);if(n){var i=(o=t.parameters,e.filter(o,(function(t){return!!t.initializer||e.isBindingPattern(t.name)||e.isRestParameter(t)})));if(e.length(i)){e.forEach(i,(function(t){e.addRelatedInfo(_n(t,e.Diagnostics.This_parameter_is_not_allowed_with_use_strict_directive),e.createDiagnosticForNode(n,e.Diagnostics.use_strict_directive_used_here))}));var a=i.map((function(t,r){return 0===r?e.createDiagnosticForNode(t,e.Diagnostics.Non_simple_parameter_declared_here):e.createDiagnosticForNode(t,e.Diagnostics.and_here)}));return e.addRelatedInfo.apply(void 0,r([_n(n,e.Diagnostics.use_strict_directive_cannot_be_used_with_non_simple_parameter_list)],a)),!0}}}var o;return!1}function DS(t){var r=e.getSourceFileOfNode(t);return gS(t)||vS(t.typeParameters,r)||function(t){for(var r=!1,n=t.length,i=0;i\".length-i,e.Diagnostics.Type_argument_list_cannot_be_empty)}return!1}(t,r)}function bS(t){return function(t){if(t)for(var r=0,n=t;r1){r=238===t.kind?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return JS(a.declarations[1],r)}var s=o[0];if(s.initializer){var r=238===t.kind?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return zS(s.name,r)}if(s.type)return zS(s,r=238===t.kind?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation)}}return!1}function NS(t){if(t.parameters.length===(167===t.kind?1:2))return e.getThisParameter(t)}function PS(t,r){if(function(t){return e.isDynamicName(t)&&!Qo(t)}(t))return zS(t,r)}function wS(t){if(DS(t))return!0;if(165===t.kind){if(200===t.parent.kind){if(t.modifiers&&(1!==t.modifiers.length||129!==e.first(t.modifiers).kind))return JS(t,e.Diagnostics.Modifiers_cannot_appear_here);if(kS(t.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional))return!0;if(AS(t.exclamationToken,e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context))return!0;if(void 0===t.body)return KS(t,t.end-1,\";\".length,e.Diagnostics._0_expected,\"{\")}if(CS(t))return!0}if(e.isClassLike(t.parent)){if(8388608&t.flags)return PS(t.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(165===t.kind&&!t.body)return PS(t.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else{if(253===t.parent.kind)return PS(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(177===t.parent.kind)return PS(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}function IS(t){return e.isStringOrNumericLiteralLike(t)||214===t.kind&&40===t.operator&&8===t.operand.kind}function OS(t){var r,n=t.initializer;if(n){var i=!(IS(n)||function(t){if((e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t)&&IS(t.argumentExpression))&&e.isEntityNameExpression(t.expression))return!!(1024&Nh(t).flags)}(n)||109===n.kind||94===n.kind||(r=n,9===r.kind||214===r.kind&&40===r.operator&&9===r.operand.kind)),a=e.isDeclarationReadonly(t)||e.isVariableDeclaration(t)&&e.isVarConst(t);if(!a||t.type)return zS(n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts);if(i)return zS(n,e.Diagnostics.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference);if(!a||i)return zS(n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}}function MS(t){if(78===t.kind){if(\"__esModule\"===e.idText(t))return function(t,r,n,i,a,o){if(!jS(e.getSourceFileOfNode(r)))return dn(t,r,n,i,a,o),!0;return!1}(\"noEmit\",t,e.Diagnostics.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules)}else for(var r=0,n=t.elements;r0}function JS(t,r,n,i,a){var o=e.getSourceFileOfNode(t);if(!jS(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);return $r.add(e.createFileDiagnostic(o,s.start,s.length,r,n,i,a)),!0}return!1}function KS(t,r,n,i,a,o,s){var c=e.getSourceFileOfNode(t);return!jS(c)&&($r.add(e.createFileDiagnostic(c,r,n,i,a,o,s)),!0)}function zS(t,r,n,i,a){return!jS(e.getSourceFileOfNode(t))&&($r.add(e.createDiagnosticForNode(t,r,n,i,a)),!0)}function US(t){return 253!==t.kind&&254!==t.kind&&261!==t.kind&&260!==t.kind&&267!==t.kind&&266!==t.kind&&259!==t.kind&&!e.hasSyntacticModifier(t,515)&&JS(t,e.Diagnostics.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier)}function VS(t){if(8388608&t.flags){if(!Cn(t).hasReportedStatementInAmbientContext&&(e.isFunctionLike(t.parent)||e.isAccessor(t.parent)))return Cn(t).hasReportedStatementInAmbientContext=JS(t,e.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts);if(230===t.parent.kind||257===t.parent.kind||297===t.parent.kind){var r=Cn(t.parent);if(!r.hasReportedStatementInAmbientContext)return r.hasReportedStatementInAmbientContext=JS(t,e.Diagnostics.Statements_are_not_allowed_in_ambient_contexts)}}return!1}function qS(t){if(32&t.numericLiteralFlags){var r=void 0;if(q>=1?r=e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:e.isChildOfNodeWithKind(t,191)?r=e.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:e.isChildOfNodeWithKind(t,291)&&(r=e.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0),r){var n=e.isPrefixUnaryExpression(t.parent)&&40===t.parent.operator,i=(n?\"-\":\"\")+\"0o\"+t.text;return zS(n?t.parent:t,r,i)}}return function(t){if(16&t.numericLiteralFlags||t.text.length<=15||-1!==t.text.indexOf(\".\"))return;var r=+e.getTextOfNode(t);if(r<=Math.pow(2,53)-1&&r+1>r)return;pn(!1,e.createDiagnosticForNode(t,e.Diagnostics.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers))}(t),!1}function WS(t,r,n,i){if(1048576&r.flags&&2621440&t.flags){var a=Ks(t);if(a){var o=kf(a,r);if(o)return E_(r,e.map(o,(function(e){return[function(){return po(e)},e.escapedName]})),n,void 0,i)}}}},function(e){e.JSX=\"JSX\",e.IntrinsicElements=\"IntrinsicElements\",e.ElementClass=\"ElementClass\",e.ElementAttributesPropertyNameContainer=\"ElementAttributesProperty\",e.ElementChildrenAttributeNameContainer=\"ElementChildrenAttribute\",e.Element=\"Element\",e.IntrinsicAttributes=\"IntrinsicAttributes\",e.IntrinsicClassAttributes=\"IntrinsicClassAttributes\",e.LibraryManagedAttributes=\"LibraryManagedAttributes\"}(N||(N={})),e.signatureHasRestParameter=K,e.signatureHasLiteralTypes=z}(u||(u={})),function(e){var t=e.or(e.isTypeNode,e.isTypeParameterDeclaration);function r(t,r,n,i){if(void 0===t||void 0===r)return t;var a,o=r(t);return o===t?t:void 0!==o?(a=e.isArray(o)?(i||c)(o):o,e.Debug.assertNode(a,n),a):void 0}function n(t,r,n,i,a){if(void 0===t||void 0===r)return t;var o,s,c=t.length;(void 0===i||i<0)&&(i=0),(void 0===a||a>c-i)&&(a=c-i);var u=-1,l=-1;(i>0||a=2&&(s=function(t,r){for(var n,i=0;i0&&p<=156||187===p)return o;var f=u.factory;switch(p){case 78:return f.updateIdentifier(o,l(o.typeArguments,c,t));case 157:return f.updateQualifiedName(o,_(o.left,c,e.isEntityName),_(o.right,c,e.isIdentifier));case 158:return f.updateComputedPropertyName(o,_(o.expression,c,e.isExpression));case 159:return f.updateTypeParameterDeclaration(o,_(o.name,c,e.isIdentifier),_(o.constraint,c,e.isTypeNode),_(o.default,c,e.isTypeNode));case 160:return f.updateParameterDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.dotDotDotToken,d,e.isToken),_(o.name,c,e.isBindingName),_(o.questionToken,d,e.isToken),_(o.type,c,e.isTypeNode),_(o.initializer,c,e.isExpression));case 161:return f.updateDecorator(o,_(o.expression,c,e.isExpression));case 162:return f.updatePropertySignature(o,l(o.modifiers,c,e.isToken),_(o.name,c,e.isPropertyName),_(o.questionToken,d,e.isToken),_(o.type,c,e.isTypeNode));case 163:return f.updatePropertyDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isPropertyName),_(o.questionToken||o.exclamationToken,d,e.isToken),_(o.type,c,e.isTypeNode),_(o.initializer,c,e.isExpression));case 164:return f.updateMethodSignature(o,l(o.modifiers,c,e.isModifier),_(o.name,c,e.isPropertyName),_(o.questionToken,d,e.isToken),l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 165:return f.updateMethodDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.asteriskToken,d,e.isToken),_(o.name,c,e.isPropertyName),_(o.questionToken,d,e.isToken),l(o.typeParameters,c,e.isTypeParameterDeclaration),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),s(o.body,c,u,_));case 166:return f.updateConstructorDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),a(o.parameters,c,u,l),s(o.body,c,u,_));case 167:return f.updateGetAccessorDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isPropertyName),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),s(o.body,c,u,_));case 168:return f.updateSetAccessorDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isPropertyName),a(o.parameters,c,u,l),s(o.body,c,u,_));case 169:return f.updateCallSignature(o,l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 170:return f.updateConstructSignature(o,l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 171:return f.updateIndexSignature(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 172:return f.updateTypePredicateNode(o,_(o.assertsModifier,c),_(o.parameterName,c),_(o.type,c,e.isTypeNode));case 173:return f.updateTypeReferenceNode(o,_(o.typeName,c,e.isEntityName),l(o.typeArguments,c,e.isTypeNode));case 174:return f.updateFunctionTypeNode(o,l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 175:return f.updateConstructorTypeNode(o,l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 176:return f.updateTypeQueryNode(o,_(o.exprName,c,e.isEntityName));case 177:return f.updateTypeLiteralNode(o,l(o.members,c,e.isTypeElement));case 178:return f.updateArrayTypeNode(o,_(o.elementType,c,e.isTypeNode));case 179:return f.updateTupleTypeNode(o,l(o.elements,c,e.isTypeNode));case 180:return f.updateOptionalTypeNode(o,_(o.type,c,e.isTypeNode));case 181:return f.updateRestTypeNode(o,_(o.type,c,e.isTypeNode));case 182:return f.updateUnionTypeNode(o,l(o.types,c,e.isTypeNode));case 183:return f.updateIntersectionTypeNode(o,l(o.types,c,e.isTypeNode));case 184:return f.updateConditionalTypeNode(o,_(o.checkType,c,e.isTypeNode),_(o.extendsType,c,e.isTypeNode),_(o.trueType,c,e.isTypeNode),_(o.falseType,c,e.isTypeNode));case 185:return f.updateInferTypeNode(o,_(o.typeParameter,c,e.isTypeParameterDeclaration));case 195:return f.updateImportTypeNode(o,_(o.argument,c,e.isTypeNode),_(o.qualifier,c,e.isEntityName),n(o.typeArguments,c,e.isTypeNode),o.isTypeOf);case 192:return f.updateNamedTupleMember(o,r(o.dotDotDotToken,c,e.isToken),r(o.name,c,e.isIdentifier),r(o.questionToken,c,e.isToken),r(o.type,c,e.isTypeNode));case 186:return f.updateParenthesizedType(o,_(o.type,c,e.isTypeNode));case 188:return f.updateTypeOperatorNode(o,_(o.type,c,e.isTypeNode));case 189:return f.updateIndexedAccessTypeNode(o,_(o.objectType,c,e.isTypeNode),_(o.indexType,c,e.isTypeNode));case 190:return f.updateMappedTypeNode(o,_(o.readonlyToken,d,e.isToken),_(o.typeParameter,c,e.isTypeParameterDeclaration),_(o.nameType,c,e.isTypeNode),_(o.questionToken,d,e.isToken),_(o.type,c,e.isTypeNode));case 191:return f.updateLiteralTypeNode(o,_(o.literal,c,e.isExpression));case 193:return f.updateTemplateLiteralType(o,_(o.head,c,e.isTemplateHead),l(o.templateSpans,c,e.isTemplateLiteralTypeSpan));case 194:return f.updateTemplateLiteralTypeSpan(o,_(o.type,c,e.isTypeNode),_(o.literal,c,e.isTemplateMiddleOrTemplateTail));case 196:return f.updateObjectBindingPattern(o,l(o.elements,c,e.isBindingElement));case 197:return f.updateArrayBindingPattern(o,l(o.elements,c,e.isArrayBindingElement));case 198:return f.updateBindingElement(o,_(o.dotDotDotToken,d,e.isToken),_(o.propertyName,c,e.isPropertyName),_(o.name,c,e.isBindingName),_(o.initializer,c,e.isExpression));case 199:return f.updateArrayLiteralExpression(o,l(o.elements,c,e.isExpression));case 200:return f.updateObjectLiteralExpression(o,l(o.properties,c,e.isObjectLiteralElementLike));case 201:return 32&o.flags?f.updatePropertyAccessChain(o,_(o.expression,c,e.isExpression),_(o.questionDotToken,d,e.isToken),_(o.name,c,e.isIdentifier)):f.updatePropertyAccessExpression(o,_(o.expression,c,e.isExpression),_(o.name,c,e.isIdentifierOrPrivateIdentifier));case 202:return 32&o.flags?f.updateElementAccessChain(o,_(o.expression,c,e.isExpression),_(o.questionDotToken,d,e.isToken),_(o.argumentExpression,c,e.isExpression)):f.updateElementAccessExpression(o,_(o.expression,c,e.isExpression),_(o.argumentExpression,c,e.isExpression));case 203:return 32&o.flags?f.updateCallChain(o,_(o.expression,c,e.isExpression),_(o.questionDotToken,d,e.isToken),l(o.typeArguments,c,e.isTypeNode),l(o.arguments,c,e.isExpression)):f.updateCallExpression(o,_(o.expression,c,e.isExpression),l(o.typeArguments,c,e.isTypeNode),l(o.arguments,c,e.isExpression));case 204:return f.updateNewExpression(o,_(o.expression,c,e.isExpression),l(o.typeArguments,c,e.isTypeNode),l(o.arguments,c,e.isExpression));case 205:return f.updateTaggedTemplateExpression(o,_(o.tag,c,e.isExpression),n(o.typeArguments,c,e.isExpression),_(o.template,c,e.isTemplateLiteral));case 206:return f.updateTypeAssertion(o,_(o.type,c,e.isTypeNode),_(o.expression,c,e.isExpression));case 207:return f.updateParenthesizedExpression(o,_(o.expression,c,e.isExpression));case 208:return f.updateFunctionExpression(o,l(o.modifiers,c,e.isModifier),_(o.asteriskToken,d,e.isToken),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),s(o.body,c,u,_));case 209:return f.updateArrowFunction(o,l(o.modifiers,c,e.isModifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),_(o.equalsGreaterThanToken,d,e.isToken),s(o.body,c,u,_));case 210:return f.updateDeleteExpression(o,_(o.expression,c,e.isExpression));case 211:return f.updateTypeOfExpression(o,_(o.expression,c,e.isExpression));case 212:return f.updateVoidExpression(o,_(o.expression,c,e.isExpression));case 213:return f.updateAwaitExpression(o,_(o.expression,c,e.isExpression));case 214:return f.updatePrefixUnaryExpression(o,_(o.operand,c,e.isExpression));case 215:return f.updatePostfixUnaryExpression(o,_(o.operand,c,e.isExpression));case 216:return f.updateBinaryExpression(o,_(o.left,c,e.isExpression),_(o.operatorToken,d,e.isToken),_(o.right,c,e.isExpression));case 217:return f.updateConditionalExpression(o,_(o.condition,c,e.isExpression),_(o.questionToken,d,e.isToken),_(o.whenTrue,c,e.isExpression),_(o.colonToken,d,e.isToken),_(o.whenFalse,c,e.isExpression));case 218:return f.updateTemplateExpression(o,_(o.head,c,e.isTemplateHead),l(o.templateSpans,c,e.isTemplateSpan));case 219:return f.updateYieldExpression(o,_(o.asteriskToken,d,e.isToken),_(o.expression,c,e.isExpression));case 220:return f.updateSpreadElement(o,_(o.expression,c,e.isExpression));case 221:return f.updateClassExpression(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.heritageClauses,c,e.isHeritageClause),l(o.members,c,e.isClassElement));case 223:return f.updateExpressionWithTypeArguments(o,_(o.expression,c,e.isExpression),l(o.typeArguments,c,e.isTypeNode));case 224:return f.updateAsExpression(o,_(o.expression,c,e.isExpression),_(o.type,c,e.isTypeNode));case 225:return 32&o.flags?f.updateNonNullChain(o,_(o.expression,c,e.isExpression)):f.updateNonNullExpression(o,_(o.expression,c,e.isExpression));case 226:return f.updateMetaProperty(o,_(o.name,c,e.isIdentifier));case 228:return f.updateTemplateSpan(o,_(o.expression,c,e.isExpression),_(o.literal,c,e.isTemplateMiddleOrTemplateTail));case 230:return f.updateBlock(o,l(o.statements,c,e.isStatement));case 232:return f.updateVariableStatement(o,l(o.modifiers,c,e.isModifier),_(o.declarationList,c,e.isVariableDeclarationList));case 233:return f.updateExpressionStatement(o,_(o.expression,c,e.isExpression));case 234:return f.updateIfStatement(o,_(o.expression,c,e.isExpression),_(o.thenStatement,c,e.isStatement,f.liftToBlock),_(o.elseStatement,c,e.isStatement,f.liftToBlock));case 235:return f.updateDoStatement(o,_(o.statement,c,e.isStatement,f.liftToBlock),_(o.expression,c,e.isExpression));case 236:return f.updateWhileStatement(o,_(o.expression,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 237:return f.updateForStatement(o,_(o.initializer,c,e.isForInitializer),_(o.condition,c,e.isExpression),_(o.incrementor,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 238:return f.updateForInStatement(o,_(o.initializer,c,e.isForInitializer),_(o.expression,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 239:return f.updateForOfStatement(o,_(o.awaitModifier,d,e.isToken),_(o.initializer,c,e.isForInitializer),_(o.expression,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 240:return f.updateContinueStatement(o,_(o.label,c,e.isIdentifier));case 241:return f.updateBreakStatement(o,_(o.label,c,e.isIdentifier));case 242:return f.updateReturnStatement(o,_(o.expression,c,e.isExpression));case 243:return f.updateWithStatement(o,_(o.expression,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 244:return f.updateSwitchStatement(o,_(o.expression,c,e.isExpression),_(o.caseBlock,c,e.isCaseBlock));case 245:return f.updateLabeledStatement(o,_(o.label,c,e.isIdentifier),_(o.statement,c,e.isStatement,f.liftToBlock));case 246:return f.updateThrowStatement(o,_(o.expression,c,e.isExpression));case 247:return f.updateTryStatement(o,_(o.tryBlock,c,e.isBlock),_(o.catchClause,c,e.isCatchClause),_(o.finallyBlock,c,e.isBlock));case 249:return f.updateVariableDeclaration(o,_(o.name,c,e.isBindingName),_(o.exclamationToken,d,e.isToken),_(o.type,c,e.isTypeNode),_(o.initializer,c,e.isExpression));case 250:return f.updateVariableDeclarationList(o,l(o.declarations,c,e.isVariableDeclaration));case 251:return f.updateFunctionDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.asteriskToken,d,e.isToken),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),s(o.body,c,u,_));case 252:return f.updateClassDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.heritageClauses,c,e.isHeritageClause),l(o.members,c,e.isClassElement));case 253:return f.updateInterfaceDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.heritageClauses,c,e.isHeritageClause),l(o.members,c,e.isTypeElement));case 254:return f.updateTypeAliasDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),_(o.type,c,e.isTypeNode));case 255:return f.updateEnumDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.members,c,e.isEnumMember));case 256:return f.updateModuleDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),_(o.body,c,e.isModuleBody));case 257:return f.updateModuleBlock(o,l(o.statements,c,e.isStatement));case 258:return f.updateCaseBlock(o,l(o.clauses,c,e.isCaseOrDefaultClause));case 259:return f.updateNamespaceExportDeclaration(o,_(o.name,c,e.isIdentifier));case 260:return f.updateImportEqualsDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),_(o.moduleReference,c,e.isModuleReference));case 261:return f.updateImportDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.importClause,c,e.isImportClause),_(o.moduleSpecifier,c,e.isExpression));case 262:return f.updateImportClause(o,o.isTypeOnly,_(o.name,c,e.isIdentifier),_(o.namedBindings,c,e.isNamedImportBindings));case 263:return f.updateNamespaceImport(o,_(o.name,c,e.isIdentifier));case 269:return f.updateNamespaceExport(o,_(o.name,c,e.isIdentifier));case 264:return f.updateNamedImports(o,l(o.elements,c,e.isImportSpecifier));case 265:return f.updateImportSpecifier(o,_(o.propertyName,c,e.isIdentifier),_(o.name,c,e.isIdentifier));case 266:return f.updateExportAssignment(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.expression,c,e.isExpression));case 267:return f.updateExportDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),o.isTypeOnly,_(o.exportClause,c,e.isNamedExportBindings),_(o.moduleSpecifier,c,e.isExpression));case 268:return f.updateNamedExports(o,l(o.elements,c,e.isExportSpecifier));case 270:return f.updateExportSpecifier(o,_(o.propertyName,c,e.isIdentifier),_(o.name,c,e.isIdentifier));case 272:return f.updateExternalModuleReference(o,_(o.expression,c,e.isExpression));case 273:return f.updateJsxElement(o,_(o.openingElement,c,e.isJsxOpeningElement),l(o.children,c,e.isJsxChild),_(o.closingElement,c,e.isJsxClosingElement));case 274:return f.updateJsxSelfClosingElement(o,_(o.tagName,c,e.isJsxTagNameExpression),l(o.typeArguments,c,e.isTypeNode),_(o.attributes,c,e.isJsxAttributes));case 275:return f.updateJsxOpeningElement(o,_(o.tagName,c,e.isJsxTagNameExpression),l(o.typeArguments,c,e.isTypeNode),_(o.attributes,c,e.isJsxAttributes));case 276:return f.updateJsxClosingElement(o,_(o.tagName,c,e.isJsxTagNameExpression));case 277:return f.updateJsxFragment(o,_(o.openingFragment,c,e.isJsxOpeningFragment),l(o.children,c,e.isJsxChild),_(o.closingFragment,c,e.isJsxClosingFragment));case 280:return f.updateJsxAttribute(o,_(o.name,c,e.isIdentifier),_(o.initializer,c,e.isStringLiteralOrJsxExpression));case 281:return f.updateJsxAttributes(o,l(o.properties,c,e.isJsxAttributeLike));case 282:return f.updateJsxSpreadAttribute(o,_(o.expression,c,e.isExpression));case 283:return f.updateJsxExpression(o,_(o.expression,c,e.isExpression));case 284:return f.updateCaseClause(o,_(o.expression,c,e.isExpression),l(o.statements,c,e.isStatement));case 285:return f.updateDefaultClause(o,l(o.statements,c,e.isStatement));case 286:return f.updateHeritageClause(o,l(o.types,c,e.isExpressionWithTypeArguments));case 287:return f.updateCatchClause(o,_(o.variableDeclaration,c,e.isVariableDeclaration),_(o.block,c,e.isBlock));case 288:return f.updatePropertyAssignment(o,_(o.name,c,e.isPropertyName),_(o.initializer,c,e.isExpression));case 289:return f.updateShorthandPropertyAssignment(o,_(o.name,c,e.isIdentifier),_(o.objectAssignmentInitializer,c,e.isExpression));case 290:return f.updateSpreadAssignment(o,_(o.expression,c,e.isExpression));case 291:return f.updateEnumMember(o,_(o.name,c,e.isPropertyName),_(o.initializer,c,e.isExpression));case 297:return f.updateSourceFile(o,i(o.statements,c,u));case 336:return f.updatePartiallyEmittedExpression(o,_(o.expression,c,e.isExpression));case 337:return f.updateCommaListExpression(o,l(o.elements,c,e.isExpression));default:return o}}}}(u||(u={})),function(e){e.createSourceMapGenerator=function(t,r,n,i,o){var c,u,l=o.extendedDiagnostics?e.performance.createTimer(\"Source Map\",\"beforeSourcemap\",\"afterSourcemap\"):e.performance.nullTimer,d=l.enter,_=l.exit,p=[],f=[],g=new e.Map,m=[],y=\"\",v=0,h=0,D=0,x=0,b=0,S=0,E=!1,T=0,C=0,k=0,A=0,F=0,N=0,P=!1,w=!1,I=!1;return{getSources:function(){return p},addSource:O,setSourceContent:M,addName:L,addMapping:R,appendSourceMap:function(t,r,n,i,o,s){e.Debug.assert(t>=T,\"generatedLine cannot backtrack\"),e.Debug.assert(r>=0,\"generatedCharacter cannot be negative\"),d();for(var c,u=[],l=a(n.mappings),p=l.next();!p.done;p=l.next()){var f=p.value;if(s&&(f.generatedLine>s.line||f.generatedLine===s.line&&f.generatedCharacter>s.character))break;if(!o||!(f.generatedLine=T,\"generatedLine cannot backtrack\"),e.Debug.assert(r>=0,\"generatedCharacter cannot be negative\"),e.Debug.assert(void 0===n||n>=0,\"sourceIndex cannot be negative\"),e.Debug.assert(void 0===i||i>=0,\"sourceLine cannot be negative\"),e.Debug.assert(void 0===a||a>=0,\"sourceCharacter cannot be negative\"),d(),(function(e,t){return!P||T!==e||C!==t}(t,r)||function(e,t,r){return void 0!==e&&void 0!==t&&void 0!==r&&k===e&&(A>t||A===t&&F>r)}(n,i,a))&&(B(),T=t,C=r,w=!1,I=!1,P=!0),void 0!==n&&void 0!==i&&void 0!==a&&(k=n,A=i,F=a,w=!0,void 0!==o&&(N=o,I=!0)),_()}function B(){if(P&&(!E||v!==T||h!==C||D!==k||x!==A||b!==F||S!==N)){if(d(),v=e.length)return _(\"Error in decoding base64VLQFormatDecode, past the mapping string\"),-1;var o=(t=e.charCodeAt(n))>=65&&t<=90?t-65:t>=97&&t<=122?t-97+26:t>=48&&t<=57?t-48+52:43===t?62:47===t?63:-1;if(-1===o)return _(\"Invalid character in VLQ\"),-1;r=0!=(32&o),a|=(31&o)<>=1:a=-(a>>=1),a}}function o(e){return void 0!==e.sourceIndex&&void 0!==e.sourceLine&&void 0!==e.sourceCharacter}function s(t){t<0?t=1+(-t<<1):t<<=1;var r,n=\"\";do{var i=31&t;(t>>=5)>0&&(i|=32),n+=String.fromCharCode((r=i)>=0&&r<26?65+r:r>=26&&r<52?97+r-26:r>=52&&r<62?48+r-52:62===r?43:63===r?47:e.Debug.fail(r+\": not a base64 value\"))}while(t>0);return n}function c(e){return void 0!==e.sourceIndex&&void 0!==e.sourcePosition}function u(e,t){return e.generatedPosition===t.generatedPosition&&e.sourceIndex===t.sourceIndex&&e.sourcePosition===t.sourcePosition}function l(t,r){return e.Debug.assert(t.sourceIndex===r.sourceIndex),e.compareValues(t.sourcePosition,r.sourcePosition)}function d(t,r){return e.compareValues(t.generatedPosition,r.generatedPosition)}function _(e){return e.sourcePosition}function p(e){return e.generatedPosition}e.getLineInfo=function(e,t){return{getLineCount:function(){return t.length},getLineText:function(r){return e.substring(t[r],t[r+1])}}},e.tryGetSourceMappingURL=function(e){for(var n=e.getLineCount()-1;n>=0;n--){var i=e.getLineText(n),a=t.exec(i);if(a)return a[1];if(!i.match(r))break}},e.isRawSourceMap=i,e.tryParseRawSourceMap=function(e){try{var t=JSON.parse(e);if(i(t))return t}catch(e){}},e.decodeMappings=a,e.sameMapping=function(e,t){return e===t||e.generatedLine===t.generatedLine&&e.generatedCharacter===t.generatedCharacter&&e.sourceIndex===t.sourceIndex&&e.sourceLine===t.sourceLine&&e.sourceCharacter===t.sourceCharacter&&e.nameIndex===t.nameIndex},e.isSourceMapping=o,e.createDocumentPositionMapper=function(t,r,n){var i,s,f,g=e.getDirectoryPath(n),m=r.sourceRoot?e.getNormalizedAbsolutePath(r.sourceRoot,g):g,y=e.getNormalizedAbsolutePath(r.file,g),v=t.getSourceFileLike(y),h=r.sources.map((function(t){return e.getNormalizedAbsolutePath(t,m)})),D=new e.Map(h.map((function(e,r){return[t.getCanonicalFileName(e),r]})));return{getSourcePosition:function(t){var r=E();if(!e.some(r))return t;var n=e.binarySearchKey(r,t.pos,p,e.compareValues);n<0&&(n=~n);var i=r[n];if(void 0===i||!c(i))return t;return{fileName:h[i.sourceIndex],pos:i.sourcePosition}},getGeneratedPosition:function(r){var n=D.get(t.getCanonicalFileName(r.fileName));if(void 0===n)return r;var i=S(n);if(!e.some(i))return r;var a=e.binarySearchKey(i,r.pos,_,e.compareValues);a<0&&(a=~a);var o=i[a];if(void 0===o||o.sourceIndex!==n)return r;return{fileName:y,pos:o.generatedPosition}}};function x(n){var i,a,s=void 0!==v?e.getPositionOfLineAndCharacter(v,n.generatedLine,n.generatedCharacter,!0):-1;if(o(n)){var c=t.getSourceFileLike(h[n.sourceIndex]);i=r.sources[n.sourceIndex],a=void 0!==c?e.getPositionOfLineAndCharacter(c,n.sourceLine,n.sourceCharacter,!0):-1}return{generatedPosition:s,source:i,sourceIndex:n.sourceIndex,sourcePosition:a,nameIndex:n.nameIndex}}function b(){if(void 0===i){var n=a(r.mappings),o=e.arrayFrom(n,x);void 0!==n.error?(t.log&&t.log(\"Encountered error while decoding sourcemap: \"+n.error),i=e.emptyArray):i=o}return i}function S(t){if(void 0===f){for(var r=[],n=0,i=b();n0&&i!==n.elements.length||!!(n.elements.length-i)&&e.isDefaultImport(t)}function i(t){return!n(t)&&(e.isDefaultImport(t)||!!t.importClause&&e.isNamedImports(t.importClause.namedBindings)&&function(t){return!!t&&!!e.isNamedImports(t)&&e.some(t.elements,r)}(t.importClause.namedBindings))}function a(t,r,n){if(e.isBindingPattern(t.name))for(var i=0,o=t.name.elements;i=63&&e<=77},e.getNonAssignmentOperatorForCompoundAssignment=function(e){switch(e){case 63:return 39;case 64:return 40;case 65:return 41;case 66:return 42;case 67:return 43;case 68:return 44;case 69:return 47;case 70:return 48;case 71:return 49;case 72:return 50;case 73:return 51;case 77:return 52;case 74:return 56;case 75:return 55;case 76:return 60}},e.addPrologueDirectivesAndInitialSuperCall=function(t,r,n,i){if(r.body){var a=r.body.statements,o=t.copyPrologue(a,n,!1,i);if(o===a.length)return o;var s=e.findIndex(a,(function(t){return e.isExpressionStatement(t)&&e.isSuperCall(t.expression)}),o);if(s>-1){for(var c=o;c<=s;c++)n.push(e.visitNode(a[c],i,e.isStatement));return s+1}return o}return 0},e.getProperties=function(t,r,n){return e.filter(t.members,(function(t){return function(t,r,n){return e.isPropertyDeclaration(t)&&(!!t.initializer||!r)&&e.hasStaticModifier(t)===n}(t,r,n)}))},e.isInitializedProperty=function(e){return 163===e.kind&&void 0!==e.initializer}}(u||(u={})),function(e){function t(r,n){var i=e.getTargetOfBindingOrAssignmentElement(r);return e.isBindingOrAssignmentPattern(i)?function(r,n){for(var i=e.getElementsOfBindingOrAssignmentPattern(r),a=0,o=i;a=1)||24576&f.transformFlags||24576&e.getTargetOfBindingOrAssignmentElement(f).transformFlags||e.isComputedPropertyName(g)){u&&(t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),s,c,i),u=void 0);var m=a(t,s,g);e.isComputedPropertyName(g)&&(l=e.append(l,m.argumentExpression)),n(t,f,m,f)}else u=e.append(u,e.visitNode(f,t.visitor))}}u&&t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),s,c,i)}(t,r,l,s,c):e.isArrayBindingOrAssignmentPattern(l)?function(t,r,a,s,c){var u,l,d=e.getElementsOfBindingOrAssignmentPattern(a),_=d.length;if(t.level<1&&t.downlevelIteration)s=o(t,e.setTextRange(t.context.getEmitHelperFactory().createReadHelper(s,_>0&&e.getRestIndicatorOfBindingOrAssignmentElement(d[_-1])?void 0:_),c),!1,c);else if(1!==_&&(t.level<1||0===_)||e.every(d,e.isOmittedExpression)){s=o(t,s,!e.isDeclarationBindingElement(r)||0!==_,c)}for(var p=0;p<_;p++){var f=d[p];if(t.level>=1)if(16384&f.transformFlags||t.hasTransformedPriorElement&&!i(f)){t.hasTransformedPriorElement=!0;var g=t.context.factory.createTempVariable(void 0);t.hoistTempVariables&&t.context.hoistVariableDeclaration(g),l=e.append(l,[g,f]),u=e.append(u,t.createArrayBindingOrAssignmentElement(g))}else u=e.append(u,f);else{if(e.isOmittedExpression(f))continue;if(e.getRestIndicatorOfBindingOrAssignmentElement(f)){if(p===_-1){m=t.context.factory.createArraySliceCall(s,p);n(t,f,m,f)}}else{var m=t.context.factory.createElementAccessExpression(s,p);n(t,f,m,f)}}}u&&t.emitBindingOrAssignment(t.createArrayBindingOrAssignmentPattern(u),s,c,a);if(l)for(var y=0,v=l;y0)return!0;var r=e.getFirstConstructorWithBody(t);if(r)return e.forEach(r.parameters,B);return!1})(t)&&(n|=2);e.childIsDecorated(t)&&(n|=4);Ce(t)?n|=8:!function(t){return ke(t)&&e.hasSyntacticModifier(t,512)}(t)?Ae(t)&&(n|=16):n|=32;x<=1&&7&n&&(n|=128);return n}(i,a);128&o&&t.startLexicalEnvironment();var s=i.name||(5&o?_.getGeneratedNameForNode(i):void 0),c=2&o?function(r,n){var i=e.moveRangePastDecorators(r),a=function(r){if(16777216&v.getNodeCheckFlags(r)){0==(1&u)&&(u|=1,t.enableSubstitution(78),l=[]);var n=_.createUniqueName(r.name&&!e.isGeneratedIdentifier(r.name)?e.idText(r.name):\"default\");return l[e.getOriginalNodeId(r)]=n,y(n),n}}(r),o=_.getLocalName(r,!1,!0),s=e.visitNodes(r.heritageClauses,k,e.isHeritageClause),c=K(r),d=_.createClassExpression(void 0,void 0,n,void 0,s,c);e.setOriginalNode(d,r),e.setTextRange(d,i);var p=_.createVariableStatement(void 0,_.createVariableDeclarationList([_.createVariableDeclaration(o,void 0,void 0,a?_.createAssignment(a,d):d)],1));return e.setOriginalNode(p,r),e.setTextRange(p,i),e.setCommentRange(p,r),p}(i,s):function(t,r,n){var i=128&n?void 0:e.visitNodes(t.modifiers,M,e.isModifier),a=_.createClassDeclaration(void 0,i,r,void 0,e.visitNodes(t.heritageClauses,k,e.isHeritageClause),K(t)),o=e.getEmitFlags(t);1&n&&(o|=32);return e.setTextRange(a,t),e.setOriginalNode(a,t),e.setEmitFlags(a,o),a}(i,s,o),d=[c];if(H(d,i,!1),H(d,i,!0),function(t,r){var n=function(t){var r=function(t){var r=t.decorators,n=V(e.getFirstConstructorWithBody(t));if(!r&&!n)return;return{decorators:r,parameters:n}}(t),n=W(t,t,r);if(!n)return;var i=l&&l[e.getOriginalNodeId(t)],a=_.getLocalName(t,!1,!0),o=p().createDecorateHelper(n,a),s=_.createAssignment(a,i?_.createAssignment(i,o):o);return e.setEmitFlags(s,1536),e.setSourceMapRange(s,e.moveRangePastDecorators(t)),s}(r);n&&t.push(e.setOriginalNode(_.createExpressionStatement(n),r))}(d,i),128&o){var f=e.createTokenRange(e.skipTrivia(r.text,i.members.end),19),g=_.getInternalName(i),m=_.createPartiallyEmittedExpression(g);e.setTextRangeEnd(m,f.end),e.setEmitFlags(m,1536);var h=_.createReturnStatement(m);e.setTextRangePos(h,f.pos),e.setEmitFlags(h,1920),d.push(h),e.insertStatementsAfterStandardPrologue(d,t.endLexicalEnvironment());var D=_.createImmediatelyInvokedArrowFunction(d);e.setEmitFlags(D,33554432);var b=_.createVariableStatement(void 0,_.createVariableDeclarationList([_.createVariableDeclaration(_.getLocalName(i,!1,!1),void 0,void 0,D)]));e.setOriginalNode(b,i),e.setCommentRange(b,i),e.setSourceMapRange(b,e.moveRangePastDecorators(i)),e.startOnNewLine(b),d=[b]}8&o?Ne(d,i):(128&o||2&o)&&(32&o?d.push(_.createExportDefault(_.getLocalName(i,!1,!0))):16&o&&d.push(_.createExternalModuleExport(_.getLocalName(i,!1,!0))));d.length>1&&(d.push(_.createEndOfDeclarationMarker(i)),e.setEmitFlags(c,4194304|e.getEmitFlags(c)));return e.singleOrMany(d)}(o);case 221:return function(r){if(!J(r))return e.visitEachChild(r,k,t);var n=_.createClassExpression(void 0,void 0,r.name,void 0,e.visitNodes(r.heritageClauses,k,e.isHeritageClause),K(r));return e.setOriginalNode(n,r),e.setTextRange(n,r),n}(o);case 286:return function(r){if(116===r.token)return;return e.visitEachChild(r,k,t)}(o);case 223:return function(t){return _.updateExpressionWithTypeArguments(t,e.visitNode(t.expression,k,e.isLeftHandSideExpression),void 0)}(o);case 165:return function(r){if(!se(r))return;var n=_.updateMethodDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,oe(r),void 0,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 167:return function(r){if(!de(r))return;var n=_.updateGetAccessorDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),oe(r),e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 168:return function(r){if(!de(r))return;var n=_.updateSetAccessorDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),oe(r),e.visitParameterList(r.parameters,k,t),e.visitFunctionBody(r.body,k,t)||_.createBlock([]));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 251:return function(r){if(!se(r))return _.createNotEmittedStatement(r);var n=_.updateFunctionDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]));if(Ce(r)){var i=[n];return Ne(i,r),i}return n}(o);case 208:return function(r){if(!se(r))return _.createOmittedExpression();return _.updateFunctionExpression(r,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]))}(o);case 209:return function(r){return _.updateArrowFunction(r,e.visitNodes(r.modifiers,M,e.isModifier),void 0,e.visitParameterList(r.parameters,k,t),void 0,r.equalsGreaterThanToken,e.visitFunctionBody(r.body,k,t))}(o);case 160:return function(t){if(e.parameterIsThisKeyword(t))return;var r=_.updateParameterDeclaration(t,void 0,void 0,t.dotDotDotToken,e.visitNode(t.name,k,e.isBindingName),void 0,void 0,e.visitNode(t.initializer,k,e.isExpression));r!==t&&(e.setCommentRange(r,t),e.setTextRange(r,e.moveRangePastModifiers(t)),e.setSourceMapRange(r,e.moveRangePastModifiers(t)),e.setEmitFlags(r.name,32));return r}(o);case 207:return function(n){var i=e.skipOuterExpressions(n.expression,-7);if(e.isAssertionExpression(i)){var a=e.visitNode(n.expression,k,e.isExpression);return e.length(e.getLeadingCommentRangesOfNode(a,r))?_.updateParenthesizedExpression(n,a):_.createPartiallyEmittedExpression(a,n)}return e.visitEachChild(n,k,t)}(o);case 206:case 224:return function(t){var r=e.visitNode(t.expression,k,e.isExpression);return _.createPartiallyEmittedExpression(r,t)}(o);case 203:return function(t){return _.updateCallExpression(t,e.visitNode(t.expression,k,e.isExpression),void 0,e.visitNodes(t.arguments,k,e.isExpression))}(o);case 204:return function(t){return _.updateNewExpression(t,e.visitNode(t.expression,k,e.isExpression),void 0,e.visitNodes(t.arguments,k,e.isExpression))}(o);case 205:return function(t){return _.updateTaggedTemplateExpression(t,e.visitNode(t.tag,k,e.isExpression),void 0,e.visitNode(t.template,k,e.isExpression))}(o);case 225:return function(t){var r=e.visitNode(t.expression,k,e.isLeftHandSideExpression);return _.createPartiallyEmittedExpression(r,t)}(o);case 255:return function(t){if(!function(t){return!e.isEnumConst(t)||h.preserveConstEnums||h.isolatedModules}(t))return _.createNotEmittedStatement(t);var n=[],o=2,s=ye(n,t);s&&(b===e.ModuleKind.System&&a===r||(o|=512));var c=Ie(t),u=Oe(t),l=e.hasSyntacticModifier(t,1)?_.getExternalModuleOrNamespaceExportName(i,t,!1,!0):_.getLocalName(t,!1,!0),d=_.createLogicalOr(l,_.createAssignment(l,_.createObjectLiteralExpression()));if(fe(t)){var p=_.getLocalName(t,!1,!0);d=_.createAssignment(p,d)}var g=_.createExpressionStatement(_.createCallExpression(_.createFunctionExpression(void 0,void 0,void 0,void 0,[_.createParameterDeclaration(void 0,void 0,void 0,c)],void 0,function(t,r){var n=i;i=r;var a=[];f();var o=e.map(t.members,pe);return e.insertStatementsAfterStandardPrologue(a,m()),e.addRange(a,o),i=n,_.createBlock(e.setTextRange(_.createNodeArray(a),t.members),!0)}(t,u)),void 0,[d]));e.setOriginalNode(g,t),s&&(e.setSyntheticLeadingComments(g,void 0),e.setSyntheticTrailingComments(g,void 0));return e.setTextRange(g,t),e.addEmitFlags(g,o),n.push(g),n.push(_.createEndOfDeclarationMarker(t)),n}(o);case 232:return function(r){if(Ce(r)){var n=e.getInitializedVariables(r.declarationList);if(0===n.length)return;return e.setTextRange(_.createExpressionStatement(_.inlineExpressions(e.map(n,_e))),r)}return e.visitEachChild(r,k,t)}(o);case 249:return function(t){return _.updateVariableDeclaration(t,e.visitNode(t.name,k,e.isBindingName),void 0,void 0,e.visitNode(t.initializer,k,e.isExpression))}(o);case 256:return ve(o);case 260:return Te(o);case 274:return function(t){return _.updateJsxSelfClosingElement(t,e.visitNode(t.tagName,k,e.isJsxTagNameExpression),void 0,e.visitNode(t.attributes,k,e.isJsxAttributes))}(o);case 275:return function(t){return _.updateJsxOpeningElement(t,e.visitNode(t.tagName,k,e.isJsxTagNameExpression),void 0,e.visitNode(t.attributes,k,e.isJsxAttributes))}(o);default:return e.visitEachChild(o,k,t)}}function R(r){var n=e.getStrictOptionValue(h,\"alwaysStrict\")&&!(e.isExternalModule(r)&&b>=e.ModuleKind.ES2015)&&!e.isJsonSourceFile(r);return _.updateSourceFile(r,e.visitLexicalEnvironment(r.statements,F,t,0,n))}function B(e){return void 0!==e.decorators&&e.decorators.length>0}function j(e){return!!(2048&e.transformFlags)}function J(t){return e.some(t.decorators)||e.some(t.typeParameters)||e.some(t.heritageClauses,j)||e.some(t.members,j)}function K(t){var r=[],n=e.getFirstConstructorWithBody(t),i=n&&e.filter(n.parameters,(function(t){return e.isParameterPropertyDeclaration(t,n)}));if(i)for(var a=0,o=i;a0&&e.parameterIsThisKeyword(n[0]),a=i?1:0,o=i?n.length-1:n.length,s=0;s0?163===r.kind?_.createVoidZero():_.createNull():void 0,s=p().createDecorateHelper(n,i,a,o);return e.setTextRange(s,e.moveRangePastDecorators(r)),e.setEmitFlags(s,1536),s}}function Y(t){return e.visitNode(t.expression,k,e.isExpression)}function X(t,r){var n;if(t){n=[];for(var i=0,a=t;ic&&(a||e.addRange(d,e.visitNodes(n.body.statements,v,e.isStatement,c,_-c)),c=_)}N(d,o,s.createThis()),n&&e.addRange(d,e.visitNodes(n.body.statements,v,e.isStatement,c));return d=s.mergeLexicalEnvironment(d,u()),e.setTextRange(s.createBlock(e.setTextRange(s.createNodeArray(d),n?n.body.statements:r.members),!0),n?n.body:void 0)}(r,i,n);if(!c)return;return e.startOnNewLine(e.setOriginalNode(e.setTextRange(s.createConstructorDeclaration(void 0,void 0,null!=o?o:[],c),i||r),i))}(r,n);return d&&c.push(d),e.addRange(c,e.visitNodes(r.members,D,e.isClassElement)),e.setTextRange(s.createNodeArray(c),r.members)}function F(r){return!(!e.isPropertyDeclaration(r)||e.hasStaticModifier(r))&&(t.getCompilerOptions().useDefineForClassFields?p<99:e.isInitializedProperty(r)||f&&e.isPrivateIdentifierPropertyDeclaration(r))}function N(t,r,n){for(var i=0,a=r;i=0;--t){var r,n=y[t];if(n)if(r=n.get(e.escapedText))return r}}function M(r){var n=s.getGeneratedNameForNode(r),i=O(r.name);if(!i)return e.visitEachChild(r,v,t);var a=r.expression;return(e.isThisProperty(r)||e.isSuperProperty(r)||!e.isSimpleCopiableExpression(r.expression))&&(a=s.createTempVariable(c,!0),w().push(s.createBinaryExpression(a,62,r.expression))),s.createPropertyAccessExpression(s.createParenthesizedExpression(s.createObjectLiteralExpression([s.createSetAccessorDeclaration(void 0,void 0,\"value\",[s.createParameterDeclaration(void 0,void 0,void 0,n,void 0,void 0,void 0)],s.createBlock([s.createExpressionStatement(C(i,a,n,62))]))])),\"value\")}function L(t){var r=e.getTargetOfBindingOrAssignmentElement(t);if(r&&e.isPrivateIdentifierPropertyAccessExpression(r)){var n=M(r);return e.isAssignmentExpression(t)?s.updateBinaryExpression(t,n,t.operatorToken,e.visitNode(t.right,v,e.isExpression)):e.isSpreadElement(t)?s.updateSpreadElement(t,n):n}return e.visitNode(t,h)}function R(t){if(e.isPropertyAssignment(t)){var r=e.getTargetOfBindingOrAssignmentElement(t);if(r&&e.isPrivateIdentifierPropertyAccessExpression(r)){var n=e.getInitializerOfBindingOrAssignmentElement(t),i=M(r);return s.updatePropertyAssignment(t,e.visitNode(t.name,v),n?s.createAssignment(i,e.visitNode(n,v)):i)}return s.updatePropertyAssignment(t,e.visitNode(t.name,v),e.visitNode(t.initializer,h))}return e.visitNode(t,v)}}}(u||(u={})),function(e){var t,n;function i(t,r,n,i){var a=0!=(4096&r.getNodeCheckFlags(n)),o=[];return i.forEach((function(r,n){var i=e.unescapeLeadingUnderscores(n),s=[];s.push(t.createPropertyAssignment(\"get\",t.createArrowFunction(void 0,void 0,[],void 0,void 0,e.setEmitFlags(t.createPropertyAccessExpression(e.setEmitFlags(t.createSuper(),4),i),4)))),a&&s.push(t.createPropertyAssignment(\"set\",t.createArrowFunction(void 0,void 0,[t.createParameterDeclaration(void 0,void 0,void 0,\"v\",void 0,void 0,void 0)],void 0,void 0,t.createAssignment(e.setEmitFlags(t.createPropertyAccessExpression(e.setEmitFlags(t.createSuper(),4),i),4),t.createIdentifier(\"v\"))))),o.push(t.createPropertyAssignment(i,t.createObjectLiteralExpression(s)))})),t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.createUniqueName(\"_super\",48),void 0,void 0,t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier(\"Object\"),\"create\"),void 0,[t.createNull(),t.createObjectLiteralExpression(o,!0)]))],2))}!function(e){e[e.AsyncMethodsWithSuper=1]=\"AsyncMethodsWithSuper\"}(t||(t={})),function(e){e[e.NonTopLevel=1]=\"NonTopLevel\",e[e.HasLexicalThis=2]=\"HasLexicalThis\"}(n||(n={})),e.transformES2017=function(t){var n,a,o,s,c=t.factory,u=t.getEmitHelperFactory,l=t.resumeLexicalEnvironment,d=t.endLexicalEnvironment,_=t.hoistVariableDeclaration,p=t.getEmitResolver(),f=t.getCompilerOptions(),g=e.getEmitScriptTarget(f),m=0,y=[],v=0,h=t.onEmitNode,D=t.onSubstituteNode;return t.onEmitNode=function(t,r,i){if(1&n&&function(e){var t=e.kind;return 252===t||166===t||165===t||167===t||168===t}(r)){var a=6144&p.getNodeCheckFlags(r);if(a!==m){var o=m;return m=a,h(t,r,i),void(m=o)}}else if(n&&y[e.getNodeId(r)]){o=m;return m=0,h(t,r,i),void(m=o)}h(t,r,i)},t.onSubstituteNode=function(t,n){if(n=D(t,n),1===t&&m)return function(t){switch(t.kind){case 201:return J(t);case 202:return K(t);case 203:return function(t){var n=t.expression;if(e.isSuperProperty(n)){var i=e.isPropertyAccessExpression(n)?J(n):K(n);return c.createCallExpression(c.createPropertyAccessExpression(i,\"call\"),void 0,r([c.createThis()],t.arguments))}return t}(t)}return t}(n);return n},e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;x(1,!1),x(2,!e.isEffectiveStrictModeSourceFile(r,f));var n=e.visitEachChild(r,C,t);return e.addEmitHelpers(n,t.readEmitHelpers()),n}));function x(e,t){v=t?v|e:v&~e}function b(e){return 0!=(v&e)}function S(){return b(2)}function E(e,t,r){var n=e&~v;if(n){x(n,!0);var i=t(r);return x(n,!1),i}return t(r)}function T(r){return e.visitEachChild(r,C,t)}function C(r){if(0==(64&r.transformFlags))return r;switch(r.kind){case 129:return;case 213:return function(r){if(!b(1))return e.visitEachChild(r,C,t);return e.setOriginalNode(e.setTextRange(c.createYieldExpression(void 0,e.visitNode(r.expression,C,e.isExpression)),r),r)}(r);case 165:return E(3,A,r);case 251:return E(3,F,r);case 208:return E(3,N,r);case 209:return E(1,P,r);case 201:return o&&e.isPropertyAccessExpression(r)&&105===r.expression.kind&&o.add(r.name.escapedText),e.visitEachChild(r,C,t);case 202:return o&&105===r.expression.kind&&(s=!0),e.visitEachChild(r,C,t);case 167:case 168:case 166:case 252:case 221:return E(3,T,r);default:return e.visitEachChild(r,C,t)}}function k(r){if(e.isNodeWithPossibleHoistedDeclaration(r))switch(r.kind){case 232:return function(r){if(I(r.declarationList)){var n=O(r.declarationList,!1);return n?c.createExpressionStatement(n):void 0}return e.visitEachChild(r,C,t)}(r);case 237:return function(t){var r=t.initializer;return c.updateForStatement(t,I(r)?O(r,!1):e.visitNode(t.initializer,C,e.isForInitializer),e.visitNode(t.condition,C,e.isExpression),e.visitNode(t.incrementor,C,e.isExpression),e.visitNode(t.statement,k,e.isStatement,c.liftToBlock))}(r);case 238:return function(t){return c.updateForInStatement(t,I(t.initializer)?O(t.initializer,!0):e.visitNode(t.initializer,C,e.isForInitializer),e.visitNode(t.expression,C,e.isExpression),e.visitNode(t.statement,k,e.isStatement,c.liftToBlock))}(r);case 239:return function(t){return c.updateForOfStatement(t,e.visitNode(t.awaitModifier,C,e.isToken),I(t.initializer)?O(t.initializer,!0):e.visitNode(t.initializer,C,e.isForInitializer),e.visitNode(t.expression,C,e.isExpression),e.visitNode(t.statement,k,e.isStatement,c.liftToBlock))}(r);case 287:return function(r){var n,i=new e.Set;if(w(r.variableDeclaration,i),i.forEach((function(t,r){a.has(r)&&(n||(n=new e.Set(a)),n.delete(r))})),n){var o=a;a=n;var s=e.visitEachChild(r,k,t);return a=o,s}return e.visitEachChild(r,k,t)}(r);case 230:case 244:case 258:case 284:case 285:case 247:case 235:case 236:case 234:case 243:case 245:return e.visitEachChild(r,k,t);default:return e.Debug.assertNever(r,\"Unhandled node.\")}return C(r)}function A(r){return c.updateMethodDeclaration(r,void 0,e.visitNodes(r.modifiers,C,e.isModifier),r.asteriskToken,r.name,void 0,void 0,e.visitParameterList(r.parameters,C,t),void 0,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,C,t))}function F(r){return c.updateFunctionDeclaration(r,void 0,e.visitNodes(r.modifiers,C,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,C,t),void 0,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,C,t))}function N(r){return c.updateFunctionExpression(r,e.visitNodes(r.modifiers,C,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,C,t),void 0,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,C,t))}function P(r){return c.updateArrowFunction(r,e.visitNodes(r.modifiers,C,e.isModifier),void 0,e.visitParameterList(r.parameters,C,t),void 0,r.equalsGreaterThanToken,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,C,t))}function w(t,r){var n=t.name;if(e.isIdentifier(n))r.add(n.escapedText);else for(var i=0,a=n.elements;i=2&&6144&p.getNodeCheckFlags(r);if(P&&(0==(1&n)&&(n|=1,t.enableSubstitution(203),t.enableSubstitution(201),t.enableSubstitution(202),t.enableEmitNotification(252),t.enableEmitNotification(165),t.enableEmitNotification(167),t.enableEmitNotification(168),t.enableEmitNotification(166),t.enableEmitNotification(232)),o.size)){var I=i(c,p,r,o);y[e.getNodeId(I)]=!0,e.insertStatementsAfterStandardPrologue(F,[I])}var O=c.createBlock(F,!0);e.setTextRange(O,r.body),P&&s&&(4096&p.getNodeCheckFlags(r)?e.addEmitHelper(O,e.advancedAsyncSuperHelper):2048&p.getNodeCheckFlags(r)&&e.addEmitHelper(O,e.asyncSuperHelper)),b=O}return a=h,m||(o=E,s=T),b}function j(t,r){return e.isBlock(t)?c.updateBlock(t,e.visitNodes(t.statements,k,e.isStatement,r)):c.converters.convertToFunctionBlock(e.visitNode(t,k,e.isConciseBody))}function J(t){return 105===t.expression.kind?e.setTextRange(c.createPropertyAccessExpression(c.createUniqueName(\"_super\",48),t.name),t):t}function K(t){return 105===t.expression.kind?(r=t.argumentExpression,n=t,4096&m?e.setTextRange(c.createPropertyAccessExpression(c.createCallExpression(c.createUniqueName(\"_superIndex\",48),void 0,[r]),\"value\"),n):e.setTextRange(c.createCallExpression(c.createUniqueName(\"_superIndex\",48),void 0,[r]),n)):t;var r,n}},e.createSuperAccessVariableStatement=i}(u||(u={})),function(e){var t,n;!function(e){e[e.AsyncMethodsWithSuper=1]=\"AsyncMethodsWithSuper\"}(t||(t={})),function(e){e[e.None=0]=\"None\",e[e.HasLexicalThis=1]=\"HasLexicalThis\",e[e.IterationContainer=2]=\"IterationContainer\",e[e.AncestorFactsMask=3]=\"AncestorFactsMask\",e[e.SourceFileIncludes=1]=\"SourceFileIncludes\",e[e.SourceFileExcludes=2]=\"SourceFileExcludes\",e[e.StrictModeSourceFileIncludes=0]=\"StrictModeSourceFileIncludes\",e[e.ClassOrFunctionIncludes=1]=\"ClassOrFunctionIncludes\",e[e.ClassOrFunctionExcludes=2]=\"ClassOrFunctionExcludes\",e[e.ArrowFunctionIncludes=0]=\"ArrowFunctionIncludes\",e[e.ArrowFunctionExcludes=2]=\"ArrowFunctionExcludes\",e[e.IterationStatementIncludes=2]=\"IterationStatementIncludes\",e[e.IterationStatementExcludes=0]=\"IterationStatementExcludes\"}(n||(n={})),e.transformES2018=function(t){var n=t.factory,i=t.getEmitHelperFactory,a=t.resumeLexicalEnvironment,o=t.endLexicalEnvironment,s=t.hoistVariableDeclaration,c=t.getEmitResolver(),u=t.getCompilerOptions(),l=e.getEmitScriptTarget(u),d=t.onEmitNode;t.onEmitNode=function(t,r,n){if(1&p&&function(e){var t=e.kind;return 252===t||166===t||165===t||167===t||168===t}(r)){var i=6144&c.getNodeCheckFlags(r);if(i!==D){var a=D;return D=i,d(t,r,n),void(D=a)}}else if(p&&b[e.getNodeId(r)]){a=D;return D=0,d(t,r,n),void(D=a)}d(t,r,n)};var _=t.onSubstituteNode;t.onSubstituteNode=function(t,i){if(i=_(t,i),1===t&&D)return function(t){switch(t.kind){case 201:return W(t);case 202:return H(t);case 203:return function(t){var i=t.expression;if(e.isSuperProperty(i)){var a=e.isPropertyAccessExpression(i)?W(i):H(i);return n.createCallExpression(n.createPropertyAccessExpression(a,\"call\"),void 0,r([n.createThis()],t.arguments))}return t}(t)}return t}(i);return i};var p,f,g,m,y,v,h=!1,D=0,x=0,b=[];return e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;g=r;var i=function(r){var i=S(2,e.isEffectiveStrictModeSourceFile(r,u)?0:1);h=!1;var a=e.visitEachChild(r,C,t),o=e.concatenate(a.statements,m&&[n.createVariableStatement(void 0,n.createVariableDeclarationList(m))]),s=n.updateSourceFile(a,e.setTextRange(n.createNodeArray(o),r.statements));return E(i),s}(r);return e.addEmitHelpers(i,t.readEmitHelpers()),g=void 0,m=void 0,i}));function S(e,t){var r=x;return x=3&(x&~e|t),r}function E(e){x=e}function T(t){m=e.append(m,n.createVariableDeclaration(t))}function C(e){return P(e,!1)}function k(e){return P(e,!0)}function A(e){if(129!==e.kind)return e}function F(e,t,r,n){if(function(e,t){return x!==(x&~e|t)}(r,n)){var i=S(r,n),a=e(t);return E(i),a}return e(t)}function N(r){return e.visitEachChild(r,C,t)}function P(a,o){if(0==(32&a.transformFlags))return a;switch(a.kind){case 213:return function(r){if(2&f&&1&f)return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,i().createAwaitHelper(e.visitNode(r.expression,C,e.isExpression))),r),r);return e.visitEachChild(r,C,t)}(a);case 219:return function(r){if(2&f&&1&f){if(r.asteriskToken){var a=e.visitNode(e.Debug.assertDefined(r.expression),C,e.isExpression);return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,i().createAwaitHelper(n.updateYieldExpression(r,r.asteriskToken,e.setTextRange(i().createAsyncDelegatorHelper(e.setTextRange(i().createAsyncValuesHelper(a),a)),a)))),r),r)}return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,M(r.expression?e.visitNode(r.expression,C,e.isExpression):n.createVoidZero())),r),r)}return e.visitEachChild(r,C,t)}(a);case 242:return function(r){if(2&f&&1&f)return n.updateReturnStatement(r,M(r.expression?e.visitNode(r.expression,C,e.isExpression):n.createVoidZero()));return e.visitEachChild(r,C,t)}(a);case 245:return function(r){if(2&f){var i=e.unwrapInnermostStatementOfLabel(r);return 239===i.kind&&i.awaitModifier?O(i,r):n.restoreEnclosingLabel(e.visitNode(i,C,e.isStatement,n.liftToBlock),r)}return e.visitEachChild(r,C,t)}(a);case 200:return function(r){if(16384&r.transformFlags){var a=function(t){for(var r,i=[],a=0,o=t;a1){for(var s=1;s=2&&6144&c.getNodeCheckFlags(r);if(g){0==(1&p)&&(p|=1,t.enableSubstitution(203),t.enableSubstitution(201),t.enableSubstitution(202),t.enableEmitNotification(252),t.enableEmitNotification(165),t.enableEmitNotification(167),t.enableEmitNotification(168),t.enableEmitNotification(166),t.enableEmitNotification(232));var m=e.createSuperAccessVariableStatement(n,c,r,y);b[e.getNodeId(m)]=!0,e.insertStatementsAfterStandardPrologue(s,[m])}s.push(f),e.insertStatementsAfterStandardPrologue(s,o());var h=n.updateBlock(r.body,s);return g&&v&&(4096&c.getNodeCheckFlags(r)?e.addEmitHelper(h,e.advancedAsyncSuperHelper):2048&c.getNodeCheckFlags(r)&&e.addEmitHelper(h,e.asyncSuperHelper)),y=d,v=_,h}function V(t){var r;a();var i=0,s=[],c=null!==(r=e.visitNode(t.body,C,e.isConciseBody))&&void 0!==r?r:n.createBlock([]);e.isBlock(c)&&(i=n.copyPrologue(c.statements,s,!1,C)),e.addRange(s,q(void 0,t));var u=o();if(i>0||e.some(s)||e.some(u)){var l=n.converters.convertToFunctionBlock(c,!0);return e.insertStatementsAfterStandardPrologue(s,u),e.addRange(s,l.statements.slice(i)),n.updateBlock(l,e.setTextRange(n.createNodeArray(s),l.statements))}return c}function q(r,i){for(var a=0,o=i.parameters;a1?\"jsxs\":\"jsx\"}(e))}function l(t){var r,n,o=\"createElement\"===t?i.importSpecifier:e.getJSXRuntimeImport(i.importSpecifier,s),c=null===(n=null===(r=i.utilizedImplicitRuntimeImports)||void 0===r?void 0:r.get(o))||void 0===n?void 0:n.get(t);if(c)return c.name;i.utilizedImplicitRuntimeImports||(i.utilizedImplicitRuntimeImports=e.createMap());var u=i.utilizedImplicitRuntimeImports.get(o);u||(u=e.createMap(),i.utilizedImplicitRuntimeImports.set(o,u));var l=a.createUniqueName(\"_\"+t,112),d=a.createImportSpecifier(a.createIdentifier(t),l);return l.generatedImportReference=d,u.set(t,d),l}function d(t){return 2&t.transformFlags?function(t){switch(t.kind){case 273:return f(t,!1);case 274:return g(t,!1);case 277:return m(t,!1);case 283:return F(t);default:return e.visitEachChild(t,d,r)}}(t):t}function _(t){switch(t.kind){case 11:return function(t){var r=function(t){for(var r,n=0,i=-1,a=0;a1?a.createTrue():a.createFalse());var f=e.getLineAndCharacterOfPosition(p,d.pos);_.push(a.createObjectLiteralExpression([a.createPropertyAssignment(\"fileName\",c()),a.createPropertyAssignment(\"lineNumber\",a.createNumericLiteral(f.line+1)),a.createPropertyAssignment(\"columnNumber\",a.createNumericLiteral(f.character+1))])),_.push(a.createThis())}}var g=e.setTextRange(a.createCallExpression(u(o),void 0,_),d);return l&&e.startOnNewLine(g),g}function D(t,c,u,d){var p,f=A(t),g=t.attributes.properties;if(0===g.length)p=a.createNull();else{var m=e.flatten(e.spanMap(g,e.isJsxSpreadAttribute,(function(t,r){return r?e.map(t,S):a.createObjectLiteralExpression(e.map(t,E))})));e.isJsxSpreadAttribute(g[0])&&m.unshift(a.createObjectLiteralExpression()),(p=e.singleOrUndefined(m))||(p=o().createAssignHelper(m))}var y=void 0===i.importSpecifier?e.createJsxFactoryExpression(a,r.getEmitResolver().getJsxFactoryEntity(n),s.reactNamespace,t):l(\"createElement\"),v=e.createExpressionForJsxElement(a,y,f,p,e.mapDefined(c,_),d);return u&&e.startOnNewLine(v),v}function x(t,r,n,i){var o;if(r&&r.length){var s=y(r);s&&(o=s)}return h(l(\"Fragment\"),o||a.createObjectLiteralExpression([]),void 0,e.length(e.getSemanticJsxChildren(r)),n,i)}function b(t,i,o,c){var u=e.createExpressionForJsxFragment(a,r.getEmitResolver().getJsxFactoryEntity(n),r.getEmitResolver().getJsxFragmentFactoryEntity(n),s.reactNamespace,e.mapDefined(i,_),t,c);return o&&e.startOnNewLine(u),u}function S(t){return e.visitNode(t.expression,d,e.isExpression)}function E(t){var r=function(t){var r=t.name,n=e.idText(r);return/^[A-Za-z_]\\w*$/.test(n)?r:a.createStringLiteral(n)}(t),n=T(t.initializer);return a.createPropertyAssignment(r,n)}function T(t){if(void 0===t)return a.createTrue();if(10===t.kind){var r=void 0!==t.singleQuote?t.singleQuote:!e.isStringDoubleQuoted(t,n),i=a.createStringLiteral((o=t.text,((s=k(o))===o?void 0:s)||t.text),r);return e.setTextRange(i,t)}return 283===t.kind?void 0===t.expression?a.createTrue():e.visitNode(t.expression,d,e.isExpression):e.Debug.failBadSyntaxKind(t);var o,s}function C(e,t){var r=k(t);return void 0===e?r:e+\" \"+r}function k(r){return r.replace(/&((#((\\d+)|x([\\da-fA-F]+)))|(\\w+));/g,(function(r,n,i,a,o,s,c){if(o)return e.utf16EncodeAsString(parseInt(o,10));if(s)return e.utf16EncodeAsString(parseInt(s,16));var u=t.get(c);return u?e.utf16EncodeAsString(u):r}))}function A(t){if(273===t.kind)return A(t.openingElement);var r=t.tagName;return e.isIdentifier(r)&&e.isIntrinsicJsxName(r.escapedText)?a.createStringLiteral(e.idText(r)):e.createExpressionFromEntityName(a,r)}function F(t){return e.visitNode(t.expression,d,e.isExpression)}};var t=new e.Map(e.getEntries({quot:34,amp:38,apos:39,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830}))}(u||(u={})),function(e){e.transformES2016=function(t){var r=t.factory,n=t.hoistVariableDeclaration;return e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;return e.visitEachChild(r,i,t)}));function i(a){if(0==(128&a.transformFlags))return a;switch(a.kind){case 216:return function(a){switch(a.operatorToken.kind){case 66:return function(t){var a,o,s=e.visitNode(t.left,i,e.isExpression),c=e.visitNode(t.right,i,e.isExpression);if(e.isElementAccessExpression(s)){var u=r.createTempVariable(n),l=r.createTempVariable(n);a=e.setTextRange(r.createElementAccessExpression(e.setTextRange(r.createAssignment(u,s.expression),s.expression),e.setTextRange(r.createAssignment(l,s.argumentExpression),s.argumentExpression)),s),o=e.setTextRange(r.createElementAccessExpression(u,l),s)}else if(e.isPropertyAccessExpression(s)){u=r.createTempVariable(n);a=e.setTextRange(r.createPropertyAccessExpression(e.setTextRange(r.createAssignment(u,s.expression),s.expression),s.name),s),o=e.setTextRange(r.createPropertyAccessExpression(u,s.name),s)}else a=s,o=s;return e.setTextRange(r.createAssignment(a,e.setTextRange(r.createGlobalMethodCall(\"Math\",\"pow\",[o,c]),t)),t)}(a);case 42:return function(t){var n=e.visitNode(t.left,i,e.isExpression),a=e.visitNode(t.right,i,e.isExpression);return e.setTextRange(r.createGlobalMethodCall(\"Math\",\"pow\",[n,a]),t)}(a);default:return e.visitEachChild(a,i,t)}}(a);default:return e.visitEachChild(a,i,t)}}}}(u||(u={})),function(e){var t,n,i,a,o;!function(e){e[e.CapturedThis=1]=\"CapturedThis\",e[e.BlockScopedBindings=2]=\"BlockScopedBindings\"}(t||(t={})),function(e){e[e.Body=1]=\"Body\",e[e.Initializer=2]=\"Initializer\"}(n||(n={})),function(e){e[e.ToOriginal=0]=\"ToOriginal\",e[e.ToOutParameter=1]=\"ToOutParameter\"}(i||(i={})),function(e){e[e.Break=2]=\"Break\",e[e.Continue=4]=\"Continue\",e[e.Return=8]=\"Return\"}(a||(a={})),function(e){e[e.None=0]=\"None\",e[e.Function=1]=\"Function\",e[e.ArrowFunction=2]=\"ArrowFunction\",e[e.AsyncFunctionBody=4]=\"AsyncFunctionBody\",e[e.NonStaticClassElement=8]=\"NonStaticClassElement\",e[e.CapturesThis=16]=\"CapturesThis\",e[e.ExportedVariableStatement=32]=\"ExportedVariableStatement\",e[e.TopLevel=64]=\"TopLevel\",e[e.Block=128]=\"Block\",e[e.IterationStatement=256]=\"IterationStatement\",e[e.IterationStatementBlock=512]=\"IterationStatementBlock\",e[e.IterationContainer=1024]=\"IterationContainer\",e[e.ForStatement=2048]=\"ForStatement\",e[e.ForInOrForOfStatement=4096]=\"ForInOrForOfStatement\",e[e.ConstructorWithCapturedSuper=8192]=\"ConstructorWithCapturedSuper\",e[e.AncestorFactsMask=16383]=\"AncestorFactsMask\",e[e.BlockScopeIncludes=0]=\"BlockScopeIncludes\",e[e.BlockScopeExcludes=7104]=\"BlockScopeExcludes\",e[e.SourceFileIncludes=64]=\"SourceFileIncludes\",e[e.SourceFileExcludes=8064]=\"SourceFileExcludes\",e[e.FunctionIncludes=65]=\"FunctionIncludes\",e[e.FunctionExcludes=16286]=\"FunctionExcludes\",e[e.AsyncFunctionBodyIncludes=69]=\"AsyncFunctionBodyIncludes\",e[e.AsyncFunctionBodyExcludes=16278]=\"AsyncFunctionBodyExcludes\",e[e.ArrowFunctionIncludes=66]=\"ArrowFunctionIncludes\",e[e.ArrowFunctionExcludes=15232]=\"ArrowFunctionExcludes\",e[e.ConstructorIncludes=73]=\"ConstructorIncludes\",e[e.ConstructorExcludes=16278]=\"ConstructorExcludes\",e[e.DoOrWhileStatementIncludes=1280]=\"DoOrWhileStatementIncludes\",e[e.DoOrWhileStatementExcludes=0]=\"DoOrWhileStatementExcludes\",e[e.ForStatementIncludes=3328]=\"ForStatementIncludes\",e[e.ForStatementExcludes=5056]=\"ForStatementExcludes\",e[e.ForInOrForOfStatementIncludes=5376]=\"ForInOrForOfStatementIncludes\",e[e.ForInOrForOfStatementExcludes=3008]=\"ForInOrForOfStatementExcludes\",e[e.BlockIncludes=128]=\"BlockIncludes\",e[e.BlockExcludes=6976]=\"BlockExcludes\",e[e.IterationStatementBlockIncludes=512]=\"IterationStatementBlockIncludes\",e[e.IterationStatementBlockExcludes=7104]=\"IterationStatementBlockExcludes\",e[e.NewTarget=16384]=\"NewTarget\",e[e.CapturedLexicalThis=32768]=\"CapturedLexicalThis\",e[e.SubtreeFactsMask=-16384]=\"SubtreeFactsMask\",e[e.ArrowFunctionSubtreeExcludes=0]=\"ArrowFunctionSubtreeExcludes\",e[e.FunctionSubtreeExcludes=49152]=\"FunctionSubtreeExcludes\"}(o||(o={})),e.transformES2015=function(t){var n,i,a,o,s,c,u=t.factory,l=t.getEmitHelperFactory,d=t.startLexicalEnvironment,_=t.resumeLexicalEnvironment,p=t.endLexicalEnvironment,f=t.hoistVariableDeclaration,g=t.getCompilerOptions(),m=t.getEmitResolver(),y=t.onSubstituteNode,v=t.onEmitNode;function h(t){o=e.append(o,u.createVariableDeclaration(t))}return t.onEmitNode=function(t,r,n){if(1&c&&e.isFunctionLike(r)){var i=D(16286,8&e.getEmitFlags(r)?81:65);return v(t,r,n),void x(i,0,0)}v(t,r,n)},t.onSubstituteNode=function(t,r){if(r=y(t,r),1===t)return function(t){switch(t.kind){case 78:return function(t){if(2&c&&!e.isInternalName(t)){var r=m.getReferencedDeclarationWithCollidingName(t);if(r&&(!e.isClassLike(r)||!function(t,r){var n=e.getParseTreeNode(r);if(!n||n===t||n.end<=t.pos||n.pos>=t.end)return!1;var i=e.getEnclosingBlockScopeContainer(t);for(;n;){if(n===i||n===t)return!1;if(e.isClassElement(n)&&n.parent===t)return!0;n=n.parent}return!1}(r,t)))return e.setTextRange(u.getGeneratedNameForNode(e.getNameOfDeclaration(r)),t)}return t}(t);case 107:return function(t){if(1&c&&16&a)return e.setTextRange(u.createUniqueName(\"_this\",48),t);return t}(t)}return t}(r);if(e.isIdentifier(r))return function(t){if(2&c&&!e.isInternalName(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r&&function(e){switch(e.parent.kind){case 198:case 252:case 255:case 249:return e.parent.name===e&&m.isDeclarationWithCollidingName(e.parent)}return!1}(r))return e.setTextRange(u.getGeneratedNameForNode(r),t)}return t}(r);return r},e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;n=r,i=r.text;var s=function(t){var r=D(8064,64),n=[],i=[];d();var a=u.copyPrologue(t.statements,n,!1,E);e.addRange(i,e.visitNodes(t.statements,E,e.isStatement,a)),o&&i.push(u.createVariableStatement(void 0,u.createVariableDeclarationList(o)));return u.mergeLexicalEnvironment(n,p()),j(n,t),x(r,0,0),u.updateSourceFile(t,e.setTextRange(u.createNodeArray(e.concatenate(n,i)),t.statements))}(r);return e.addEmitHelpers(s,t.readEmitHelpers()),n=void 0,i=void 0,o=void 0,a=0,s}));function D(e,t){var r=a;return a=16383&(a&~e|t),r}function x(e,t,r){a=-16384&(a&~t|r)|e}function b(e){return 0!=(8192&a)&&242===e.kind&&!e.expression}function S(t){return 0!=(256&t.transformFlags)||void 0!==s||8192&a&&function(t){return 1048576&t.transformFlags&&(e.isReturnStatement(t)||e.isIfStatement(t)||e.isWithStatement(t)||e.isSwitchStatement(t)||e.isCaseBlock(t)||e.isCaseClause(t)||e.isDefaultClause(t)||e.isTryStatement(t)||e.isCatchClause(t)||e.isLabeledStatement(t)||e.isIterationStatement(t,!1)||e.isBlock(t))}(t)||e.isIterationStatement(t,!1)&&de(t)||0!=(33554432&e.getEmitFlags(t))}function E(e){return S(e)?k(e,!1):e}function T(e){return S(e)?k(e,!0):e}function C(e){return 105===e.kind?we(!0):E(e)}function k(i,o){switch(i.kind){case 123:return;case 252:return function(t){var r=u.createVariableDeclaration(u.getLocalName(t,!0),void 0,void 0,N(t));e.setOriginalNode(r,t);var n=[],i=u.createVariableStatement(void 0,u.createVariableDeclarationList([r]));if(e.setOriginalNode(i,t),e.setTextRange(i,t),e.startOnNewLine(i),n.push(i),e.hasSyntacticModifier(t,1)){var a=e.hasSyntacticModifier(t,512)?u.createExportDefault(u.getLocalName(t)):u.createExternalModuleExport(u.getLocalName(t));e.setOriginalNode(a,i),n.push(a)}var o=e.getEmitFlags(t);0==(4194304&o)&&(n.push(u.createEndOfDeclarationMarker(t)),e.setEmitFlags(i,4194304|o));return e.singleOrMany(n)}(i);case 221:return function(e){return N(e)}(i);case 160:return function(t){return t.dotDotDotToken?void 0:e.isBindingPattern(t.name)?e.setOriginalNode(e.setTextRange(u.createParameterDeclaration(void 0,void 0,void 0,u.getGeneratedNameForNode(t),void 0,void 0,void 0),t),t):t.initializer?e.setOriginalNode(e.setTextRange(u.createParameterDeclaration(void 0,void 0,void 0,t.name,void 0,void 0,void 0),t),t):t}(i);case 251:return function(r){var n=s;s=void 0;var i=D(16286,65),o=e.visitParameterList(r.parameters,E,t),c=H(r),l=16384&a?u.getLocalName(r):r.name;return x(i,49152,0),s=n,u.updateFunctionDeclaration(r,void 0,e.visitNodes(r.modifiers,E,e.isModifier),r.asteriskToken,l,void 0,o,void 0,c)}(i);case 209:return function(r){4096&r.transformFlags&&(a|=32768);var n=s;s=void 0;var i=D(15232,66),o=u.createFunctionExpression(void 0,void 0,void 0,void 0,e.visitParameterList(r.parameters,E,t),void 0,H(r));e.setTextRange(o,r),e.setOriginalNode(o,r),e.setEmitFlags(o,8),32768&a&&Oe();return x(i,0,0),s=n,o}(i);case 208:return function(r){var n=262144&e.getEmitFlags(r)?D(16278,69):D(16286,65),i=s;s=void 0;var o=e.visitParameterList(r.parameters,E,t),c=H(r),l=16384&a?u.getLocalName(r):r.name;return x(n,49152,0),s=i,u.updateFunctionExpression(r,void 0,r.asteriskToken,l,void 0,o,void 0,c)}(i);case 249:return X(i);case 78:return F(i);case 250:return function(r){if(3&r.flags||131072&r.transformFlags){3&r.flags&&Ie();var n=e.flatMap(r.declarations,1&r.flags?Y:X),i=u.createVariableDeclarationList(n);return e.setOriginalNode(i,r),e.setTextRange(i,r),e.setCommentRange(i,r),131072&r.transformFlags&&(e.isBindingPattern(r.declarations[0].name)||e.isBindingPattern(e.last(r.declarations).name))&&e.setSourceMapRange(i,function(t){for(var r=-1,n=-1,i=0,a=t;i0?(e.insertStatementAfterCustomPrologue(r,e.setEmitFlags(u.createVariableStatement(void 0,u.createVariableDeclarationList(e.flattenDestructuringBinding(n,E,t,0,u.getGeneratedNameForNode(n)))),1048576)),!0):!!a&&(e.insertStatementAfterCustomPrologue(r,e.setEmitFlags(u.createExpressionStatement(u.createAssignment(u.getGeneratedNameForNode(n),e.visitNode(a,E,e.isExpression))),1048576)),!0)}function R(t,r,n,i){i=e.visitNode(i,E,e.isExpression);var a=u.createIfStatement(u.createTypeCheck(u.cloneNode(n),\"undefined\"),e.setEmitFlags(e.setTextRange(u.createBlock([u.createExpressionStatement(e.setEmitFlags(e.setTextRange(u.createAssignment(e.setEmitFlags(e.setParent(e.setTextRange(u.cloneNode(n),n),n.parent),48),e.setEmitFlags(i,1584|e.getEmitFlags(i))),r),1536))]),r),1953));e.startOnNewLine(a),e.setTextRange(a,r),e.setEmitFlags(a,1050528),e.insertStatementAfterCustomPrologue(t,a)}function B(r,n,i){var a=[],o=e.lastOrUndefined(n.parameters);if(!function(e,t){return!(!e||!e.dotDotDotToken||t)}(o,i))return!1;var s=78===o.name.kind?e.setParent(e.setTextRange(u.cloneNode(o.name),o.name),o.name.parent):u.createTempVariable(void 0);e.setEmitFlags(s,48);var c=78===o.name.kind?u.cloneNode(o.name):s,l=n.parameters.length-1,d=u.createLoopVariable();a.push(e.setEmitFlags(e.setTextRange(u.createVariableStatement(void 0,u.createVariableDeclarationList([u.createVariableDeclaration(s,void 0,void 0,u.createArrayLiteralExpression([]))])),o),1048576));var _=u.createForStatement(e.setTextRange(u.createVariableDeclarationList([u.createVariableDeclaration(d,void 0,void 0,u.createNumericLiteral(l))]),o),e.setTextRange(u.createLessThan(d,u.createPropertyAccessExpression(u.createIdentifier(\"arguments\"),\"length\")),o),e.setTextRange(u.createPostfixIncrement(d),o),u.createBlock([e.startOnNewLine(e.setTextRange(u.createExpressionStatement(u.createAssignment(u.createElementAccessExpression(c,0===l?d:u.createSubtract(d,u.createNumericLiteral(l))),u.createElementAccessExpression(u.createIdentifier(\"arguments\"),d))),o))]));return e.setEmitFlags(_,1048576),e.startOnNewLine(_),a.push(_),78!==o.name.kind&&a.push(e.setEmitFlags(e.setTextRange(u.createVariableStatement(void 0,u.createVariableDeclarationList(e.flattenDestructuringBinding(o,E,t,0,c))),o),1048576)),e.insertStatementsAfterCustomPrologue(r,a),!0}function j(e,t){return!!(32768&a&&209!==t.kind)&&(J(e,t,u.createThis()),!0)}function J(t,r,n){Oe();var i=u.createVariableStatement(void 0,u.createVariableDeclarationList([u.createVariableDeclaration(u.createUniqueName(\"_this\",48),void 0,void 0,n)]));e.setEmitFlags(i,1050112),e.setSourceMapRange(i,r),e.insertStatementAfterCustomPrologue(t,i)}function K(t,r,n){if(16384&a){var i=void 0;switch(r.kind){case 209:return t;case 165:case 167:case 168:i=u.createVoidZero();break;case 166:i=u.createPropertyAccessExpression(e.setEmitFlags(u.createThis(),4),\"constructor\");break;case 251:case 208:i=u.createConditionalExpression(u.createLogicalAnd(e.setEmitFlags(u.createThis(),4),u.createBinaryExpression(e.setEmitFlags(u.createThis(),4),101,u.getLocalName(r))),void 0,u.createPropertyAccessExpression(e.setEmitFlags(u.createThis(),4),\"constructor\"),void 0,u.createVoidZero());break;default:return e.Debug.failBadSyntaxKind(r)}var o=u.createVariableStatement(void 0,u.createVariableDeclarationList([u.createVariableDeclaration(u.createUniqueName(\"_newTarget\",48),void 0,void 0,i)]));e.setEmitFlags(o,1050112),n&&(t=t.slice()),e.insertStatementAfterCustomPrologue(t,o)}return t}function z(t){return e.setTextRange(u.createEmptyStatement(),t)}function U(r,n,i){var a,o=e.getCommentRange(n),s=e.getSourceMapRange(n),c=W(n,n,void 0,i),l=e.visitNode(n.name,E,e.isPropertyName);if(!e.isPrivateIdentifier(l)&&t.getCompilerOptions().useDefineForClassFields){var d=e.isComputedPropertyName(l)?l.expression:e.isIdentifier(l)?u.createStringLiteral(e.unescapeLeadingUnderscores(l.escapedText)):l;a=u.createObjectDefinePropertyCall(r,d,u.createPropertyDescriptor({value:c,enumerable:!1,writable:!0,configurable:!0}))}else{var _=e.createMemberAccessForPropertyName(u,r,l,n.name);a=u.createAssignment(_,c)}e.setEmitFlags(c,1536),e.setSourceMapRange(c,s);var p=e.setTextRange(u.createExpressionStatement(a),n);return e.setOriginalNode(p,n),e.setCommentRange(p,o),e.setEmitFlags(p,48),p}function V(t,r,n){var i=u.createExpressionStatement(q(t,r,n,!1));return e.setEmitFlags(i,1536),e.setSourceMapRange(i,e.getSourceMapRange(r.firstAccessor)),i}function q(t,r,n,i){var a=r.firstAccessor,o=r.getAccessor,s=r.setAccessor,c=e.setParent(e.setTextRange(u.cloneNode(t),t),t.parent);e.setEmitFlags(c,1568),e.setSourceMapRange(c,a.name);var l=e.visitNode(a.name,E,e.isPropertyName);if(e.isPrivateIdentifier(l))return e.Debug.failBadSyntaxKind(l,\"Encountered unhandled private identifier while transforming ES2015.\");var d=e.createExpressionForPropertyName(u,l);e.setEmitFlags(d,1552),e.setSourceMapRange(d,a.name);var _=[];if(o){var p=W(o,void 0,void 0,n);e.setSourceMapRange(p,e.getSourceMapRange(o)),e.setEmitFlags(p,512);var f=u.createPropertyAssignment(\"get\",p);e.setCommentRange(f,e.getCommentRange(o)),_.push(f)}if(s){var g=W(s,void 0,void 0,n);e.setSourceMapRange(g,e.getSourceMapRange(s)),e.setEmitFlags(g,512);var m=u.createPropertyAssignment(\"set\",g);e.setCommentRange(m,e.getCommentRange(s)),_.push(m)}_.push(u.createPropertyAssignment(\"enumerable\",o||s?u.createFalse():u.createTrue()),u.createPropertyAssignment(\"configurable\",u.createTrue()));var y=u.createCallExpression(u.createPropertyAccessExpression(u.createIdentifier(\"Object\"),\"defineProperty\"),void 0,[c,d,u.createObjectLiteralExpression(_,!0)]);return i&&e.startOnNewLine(y),y}function W(r,n,i,o){var c=s;s=void 0;var l=o&&e.isClassLike(o)&&!e.hasSyntacticModifier(r,32)?D(16286,73):D(16286,65),d=e.visitParameterList(r.parameters,E,t),_=H(r);return 16384&a&&!i&&(251===r.kind||208===r.kind)&&(i=u.getGeneratedNameForNode(r)),x(l,49152,0),s=c,e.setOriginalNode(e.setTextRange(u.createFunctionExpression(void 0,r.asteriskToken,i,void 0,d,void 0,_),n),r)}function H(t){var r,i,a,o=!1,s=!1,c=[],l=[],d=t.body;if(_(),e.isBlock(d)&&(a=u.copyStandardPrologue(d.statements,c,!1),a=u.copyCustomPrologue(d.statements,l,a,E,e.isHoistedFunction),a=u.copyCustomPrologue(d.statements,l,a,E,e.isHoistedVariableStatement)),o=M(l,t)||o,o=B(l,t,!1)||o,e.isBlock(d))a=u.copyCustomPrologue(d.statements,l,a,E),r=d.statements,e.addRange(l,e.visitNodes(d.statements,E,e.isStatement,a)),!o&&d.multiLine&&(o=!0);else{e.Debug.assert(209===t.kind),r=e.moveRangeEnd(d,-1);var f=t.equalsGreaterThanToken;e.nodeIsSynthesized(f)||e.nodeIsSynthesized(d)||(e.rangeEndIsOnSameLineAsRangeStart(f,d,n)?s=!0:o=!0);var g=e.visitNode(d,E,e.isExpression),m=u.createReturnStatement(g);e.setTextRange(m,d),e.moveSyntheticComments(m,d),e.setEmitFlags(m,1440),l.push(m),i=d}if(u.mergeLexicalEnvironment(c,p()),K(c,t,!1),j(c,t),e.some(c)&&(o=!0),l.unshift.apply(l,c),e.isBlock(d)&&e.arrayIsEqualTo(l,d.statements))return d;var y=u.createBlock(e.setTextRange(u.createNodeArray(l),r),o);return e.setTextRange(y,t.body),!o&&s&&e.setEmitFlags(y,1),i&&e.setTokenSourceMapRange(y,19,i),e.setOriginalNode(y,t.body),y}function G(r,n){return e.isDestructuringAssignment(r)?e.flattenDestructuringAssignment(r,E,t,0,!n):27===r.operatorToken.kind?u.updateBinaryExpression(r,e.visitNode(r.left,T,e.isExpression),r.operatorToken,e.visitNode(r.right,n?T:E,e.isExpression)):e.visitEachChild(r,E,t)}function Y(r){var n=r.name;return e.isBindingPattern(n)?X(r):!r.initializer&&function(e){var t=m.getNodeCheckFlags(e),r=262144&t,n=524288&t;return!(0!=(64&a)||r&&n&&0!=(512&a))&&0==(4096&a)&&(!m.isDeclarationWithCollidingName(e)||n&&!r&&0==(6144&a))}(r)?u.updateVariableDeclaration(r,r.name,void 0,void 0,u.createVoidZero()):e.visitEachChild(r,E,t)}function X(r){var n,i=D(32,0);return n=e.isBindingPattern(r.name)?e.flattenDestructuringBinding(r,E,t,0,void 0,0!=(32&i)):e.visitEachChild(r,E,t),x(i,0,0),n}function Q(t){s.labels.set(e.idText(t.label),!0)}function $(t){s.labels.set(e.idText(t.label),!1)}function Z(r,n,i,o,c){var l=D(r,n),_=function(r,n,i,o){if(!de(r)){var c=void 0;s&&(c=s.allowedNonLabeledJumps,s.allowedNonLabeledJumps=6);var l=o?o(r,n,void 0,i):u.restoreEnclosingLabel(e.isForStatement(r)?function(t){return u.updateForStatement(t,e.visitNode(t.initializer,T,e.isForInitializer),e.visitNode(t.condition,E,e.isExpression),e.visitNode(t.incrementor,T,e.isExpression),e.visitNode(t.statement,E,e.isStatement,u.liftToBlock))}(r):e.visitEachChild(r,E,t),n,s&&$);return s&&(s.allowedNonLabeledJumps=c),l}var _=function(t){var r;switch(t.kind){case 237:case 238:case 239:var n=t.initializer;n&&250===n.kind&&(r=n)}var i=[],a=[];if(r&&3&e.getCombinedNodeFlags(r))for(var o=ue(t),c=0,u=r.declarations;c=80&&r<=115)return e.setTextRange(i.createStringLiteralFromNode(t),t)}}}(u||(u={})),function(e){var t,n,i,a,o;!function(e){e[e.Nop=0]=\"Nop\",e[e.Statement=1]=\"Statement\",e[e.Assign=2]=\"Assign\",e[e.Break=3]=\"Break\",e[e.BreakWhenTrue=4]=\"BreakWhenTrue\",e[e.BreakWhenFalse=5]=\"BreakWhenFalse\",e[e.Yield=6]=\"Yield\",e[e.YieldStar=7]=\"YieldStar\",e[e.Return=8]=\"Return\",e[e.Throw=9]=\"Throw\",e[e.Endfinally=10]=\"Endfinally\"}(t||(t={})),function(e){e[e.Open=0]=\"Open\",e[e.Close=1]=\"Close\"}(n||(n={})),function(e){e[e.Exception=0]=\"Exception\",e[e.With=1]=\"With\",e[e.Switch=2]=\"Switch\",e[e.Loop=3]=\"Loop\",e[e.Labeled=4]=\"Labeled\"}(i||(i={})),function(e){e[e.Try=0]=\"Try\",e[e.Catch=1]=\"Catch\",e[e.Finally=2]=\"Finally\",e[e.Done=3]=\"Done\"}(a||(a={})),function(e){e[e.Next=0]=\"Next\",e[e.Throw=1]=\"Throw\",e[e.Return=2]=\"Return\",e[e.Break=3]=\"Break\",e[e.Yield=4]=\"Yield\",e[e.YieldStar=5]=\"YieldStar\",e[e.Catch=6]=\"Catch\",e[e.Endfinally=7]=\"Endfinally\"}(o||(o={})),e.transformGenerators=function(t){var n,i,a,o,s,c,u,l,d,_,p=t.factory,f=t.getEmitHelperFactory,g=t.resumeLexicalEnvironment,m=t.endLexicalEnvironment,y=t.hoistFunctionDeclaration,v=t.hoistVariableDeclaration,h=t.getCompilerOptions(),D=e.getEmitScriptTarget(h),x=t.getEmitResolver(),b=t.onSubstituteNode;t.onSubstituteNode=function(t,r){if(r=b(t,r),1===t)return function(t){if(e.isIdentifier(t))return function(t){if(!e.isGeneratedIdentifier(t)&&n&&n.has(e.idText(t))){var r=e.getOriginalNode(t);if(e.isIdentifier(r)&&r.parent){var a=x.getReferencedValueDeclaration(r);if(a){var o=i[e.getOriginalNodeId(a)];if(o){var s=e.setParent(e.setTextRange(p.cloneNode(o),o),o.parent);return e.setSourceMapRange(s,t),e.setCommentRange(s,t),s}}}}return t}(t);return t}(r);return r};var S,E,T,C,k,A,F,N,P,w,I,O,M=1,L=0,R=0;return e.chainBundle(t,(function(r){if(r.isDeclarationFile||0==(512&r.transformFlags))return r;var n=e.visitEachChild(r,B,t);return e.addEmitHelpers(n,t.readEmitHelpers()),n}));function B(r){var n=r.transformFlags;return o?function(r){switch(r.kind){case 235:case 236:return function(r){return o?(oe(),r=e.visitEachChild(r,B,t),ce(),r):e.visitEachChild(r,B,t)}(r);case 244:return function(r){o&&re({kind:2,isScript:!0,breakLabel:-1});r=e.visitEachChild(r,B,t),o&&ue();return r}(r);case 245:return function(r){o&&re({kind:4,isScript:!0,labelText:e.idText(r.label),breakLabel:-1});r=e.visitEachChild(r,B,t),o&&le();return r}(r);default:return j(r)}}(r):a?j(r):e.isFunctionLikeDeclaration(r)&&r.asteriskToken?function(t){switch(t.kind){case 251:return J(t);case 208:return K(t);default:return e.Debug.failBadSyntaxKind(t)}}(r):512&n?e.visitEachChild(r,B,t):r}function j(r){switch(r.kind){case 251:return J(r);case 208:return K(r);case 167:case 168:return function(r){var n=a,i=o;return a=!1,o=!1,r=e.visitEachChild(r,B,t),a=n,o=i,r}(r);case 232:return function(t){if(262144&t.transformFlags)return void G(t.declarationList);if(1048576&e.getEmitFlags(t))return t;for(var r=0,n=t.declarationList.declarations;r0?p.inlineExpressions(e.map(c,Y)):void 0,e.visitNode(r.condition,B,e.isExpression),e.visitNode(r.incrementor,B,e.isExpression),e.visitNode(r.statement,B,e.isStatement,p.liftToBlock))}else r=e.visitEachChild(r,B,t);o&&ce();return r}(r);case 238:return function(r){o&&oe();var n=r.initializer;if(e.isVariableDeclarationList(n)){for(var i=0,a=n.declarations;i0)return he(n,r)}return e.visitEachChild(r,B,t)}(r);case 240:return function(r){if(o){var n=me(r.label&&e.idText(r.label));if(n>0)return he(n,r)}return e.visitEachChild(r,B,t)}(r);case 242:return function(t){return r=e.visitNode(t.expression,B,e.isExpression),n=t,e.setTextRange(p.createReturnStatement(p.createArrayLiteralExpression(r?[ve(2),r]:[ve(2)])),n);var r,n}(r);default:return 262144&r.transformFlags?function(r){switch(r.kind){case 216:return function(r){var n=e.getExpressionAssociativity(r);switch(n){case 0:return function(r){if(X(r.right))return e.isLogicalOperator(r.operatorToken.kind)?function(t){var r=ee(),n=Z();be(n,e.visitNode(t.left,B,e.isExpression),t.left),55===t.operatorToken.kind?Te(r,n,t.left):Ee(r,n,t.left);return be(n,e.visitNode(t.right,B,e.isExpression),t.right),te(r),n}(r):27===r.operatorToken.kind?U(r):p.updateBinaryExpression(r,$(e.visitNode(r.left,B,e.isExpression)),r.operatorToken,e.visitNode(r.right,B,e.isExpression));return e.visitEachChild(r,B,t)}(r);case 1:return function(r){var n=r.left,i=r.right;if(X(i)){var a=void 0;switch(n.kind){case 201:a=p.updatePropertyAccessExpression(n,$(e.visitNode(n.expression,B,e.isLeftHandSideExpression)),n.name);break;case 202:a=p.updateElementAccessExpression(n,$(e.visitNode(n.expression,B,e.isLeftHandSideExpression)),$(e.visitNode(n.argumentExpression,B,e.isExpression)));break;default:a=e.visitNode(n,B,e.isExpression)}var o=r.operatorToken.kind;return e.isCompoundAssignment(o)?e.setTextRange(p.createAssignment(a,e.setTextRange(p.createBinaryExpression($(a),e.getNonAssignmentOperatorForCompoundAssignment(o),e.visitNode(i,B,e.isExpression)),r)),r):p.updateBinaryExpression(r,a,r.operatorToken,e.visitNode(i,B,e.isExpression))}return e.visitEachChild(r,B,t)}(r);default:return e.Debug.assertNever(n)}}(r);case 337:return function(t){for(var r=[],n=0,i=t.elements;n0&&(Ce(1,[p.createExpressionStatement(p.inlineExpressions(r))]),r=[]),r.push(e.visitNode(a,B,e.isExpression)))}return p.inlineExpressions(r)}(r);case 217:return function(r){if(X(r.whenTrue)||X(r.whenFalse)){var n=ee(),i=ee(),a=Z();return Te(n,e.visitNode(r.condition,B,e.isExpression),r.condition),be(a,e.visitNode(r.whenTrue,B,e.isExpression),r.whenTrue),Se(i),te(n),be(a,e.visitNode(r.whenFalse,B,e.isExpression),r.whenFalse),te(i),a}return e.visitEachChild(r,B,t)}(r);case 219:return function(t){var r=ee(),n=e.visitNode(t.expression,B,e.isExpression);if(t.asteriskToken){!function(e,t){Ce(7,[e],t)}(0==(8388608&e.getEmitFlags(t.expression))?e.setTextRange(f().createValuesHelper(n),t):n,t)}else!function(e,t){Ce(6,[e],t)}(n,t);return te(r),function(t){return e.setTextRange(p.createCallExpression(p.createPropertyAccessExpression(C,\"sent\"),void 0,[]),t)}(t)}(r);case 199:return function(e){return V(e.elements,void 0,void 0,e.multiLine)}(r);case 200:return function(t){var r=t.properties,n=t.multiLine,i=Q(r),a=Z();be(a,p.createObjectLiteralExpression(e.visitNodes(r,B,e.isObjectLiteralElementLike,0,i),n));var o=e.reduceLeft(r,s,[],i);return o.push(n?e.startOnNewLine(e.setParent(e.setTextRange(p.cloneNode(a),a),a.parent)):a),p.inlineExpressions(o);function s(r,i){X(i)&&r.length>0&&(xe(p.createExpressionStatement(p.inlineExpressions(r))),r=[]);var o=e.createExpressionForObjectLiteralElementLike(p,t,i,a),s=e.visitNode(o,B,e.isExpression);return s&&(n&&e.startOnNewLine(s),r.push(s)),r}}(r);case 202:return function(r){if(X(r.argumentExpression))return p.updateElementAccessExpression(r,$(e.visitNode(r.expression,B,e.isLeftHandSideExpression)),e.visitNode(r.argumentExpression,B,e.isExpression));return e.visitEachChild(r,B,t)}(r);case 203:return function(r){if(!e.isImportCall(r)&&e.forEach(r.arguments,X)){var n=p.createCallBinding(r.expression,v,D,!0),i=n.target,a=n.thisArg;return e.setOriginalNode(e.setTextRange(p.createFunctionApplyCall($(e.visitNode(i,B,e.isLeftHandSideExpression)),a,V(r.arguments)),r),r)}return e.visitEachChild(r,B,t)}(r);case 204:return function(r){if(e.forEach(r.arguments,X)){var n=p.createCallBinding(p.createPropertyAccessExpression(r.expression,\"bind\"),v),i=n.target,a=n.thisArg;return e.setOriginalNode(e.setTextRange(p.createNewExpression(p.createFunctionApplyCall($(e.visitNode(i,B,e.isExpression)),a,V(r.arguments,p.createVoidZero())),void 0,[]),r),r)}return e.visitEachChild(r,B,t)}(r);default:return e.visitEachChild(r,B,t)}}(r):1049088&r.transformFlags?e.visitEachChild(r,B,t):r}}function J(r){if(r.asteriskToken)r=e.setOriginalNode(e.setTextRange(p.createFunctionDeclaration(void 0,r.modifiers,void 0,r.name,void 0,e.visitParameterList(r.parameters,B,t),void 0,z(r.body)),r),r);else{var n=a,i=o;a=!1,o=!1,r=e.visitEachChild(r,B,t),a=n,o=i}return a?void y(r):r}function K(r){if(r.asteriskToken)r=e.setOriginalNode(e.setTextRange(p.createFunctionExpression(void 0,void 0,r.name,void 0,e.visitParameterList(r.parameters,B,t),void 0,z(r.body)),r),r);else{var n=a,i=o;a=!1,o=!1,r=e.visitEachChild(r,B,t),a=n,o=i}return r}function z(t){var r=[],n=a,i=o,f=s,y=c,v=u,h=l,D=d,x=_,b=M,k=S,A=E,F=T,N=C;a=!0,o=!1,s=void 0,c=void 0,u=void 0,l=void 0,d=void 0,_=void 0,M=1,S=void 0,E=void 0,T=void 0,C=p.createTempVariable(void 0),g();var P=p.copyPrologue(t.statements,r,!1,B);q(t.statements,P);var w=ke();return e.insertStatementsAfterStandardPrologue(r,m()),r.push(p.createReturnStatement(w)),a=n,o=i,s=f,c=y,u=v,l=h,d=D,_=x,M=b,S=k,E=A,T=F,C=N,e.setTextRange(p.createBlock(r,t.multiLine),t)}function U(t){var r=[];return n(t.left),n(t.right),p.inlineExpressions(r);function n(t){e.isBinaryExpression(t)&&27===t.operatorToken.kind?(n(t.left),n(t.right)):(X(t)&&r.length>0&&(Ce(1,[p.createExpressionStatement(p.inlineExpressions(r))]),r=[]),r.push(e.visitNode(t,B,e.isExpression)))}}function V(t,n,i,a){var o,s=Q(t);if(s>0){o=Z();var c=e.visitNodes(t,B,e.isExpression,0,s);be(o,p.createArrayLiteralExpression(n?r([n],c):c)),n=void 0}var u=e.reduceLeft(t,(function(t,i){if(X(i)&&t.length>0){var s=void 0!==o;o||(o=Z()),be(o,s?p.createArrayConcatCall(o,[p.createArrayLiteralExpression(t,a)]):p.createArrayLiteralExpression(n?r([n],t):t,a)),n=void 0,t=[]}return t.push(e.visitNode(i,B,e.isExpression)),t}),[],s);return o?p.createArrayConcatCall(o,[p.createArrayLiteralExpression(u,a)]):e.setTextRange(p.createArrayLiteralExpression(n?r([n],u):u,a),i)}function q(e,t){void 0===t&&(t=0);for(var r=e.length,n=t;n0?Se(r,t):xe(t)}(r);case 241:return function(t){var r=ge(t.label?e.idText(t.label):void 0);r>0?Se(r,t):xe(t)}(r);case 242:return function(t){r=e.visitNode(t.expression,B,e.isExpression),n=t,Ce(8,[r],n);var r,n}(r);case 243:return function(t){X(t)?(r=$(e.visitNode(t.expression,B,e.isExpression)),n=ee(),i=ee(),te(n),re({kind:1,expression:r,startLabel:n,endLabel:i}),W(t.statement),e.Debug.assert(1===ae()),te(ne().endLabel)):xe(e.visitNode(t,B,e.isStatement));var r,n,i}(r);case 244:return function(t){if(X(t.caseBlock)){for(var r=t.caseBlock,n=r.clauses.length,i=(re({kind:2,isScript:!1,breakLabel:f=ee()}),f),a=$(e.visitNode(t.expression,B,e.isExpression)),o=[],s=-1,c=0;c0)break;d.push(p.createCaseClause(e.visitNode(u.expression,B,e.isExpression),[he(o[c],u.expression)]))}else _++}d.length&&(xe(p.createSwitchStatement(a,p.createCaseBlock(d))),l+=d.length,d=[]),_>0&&(l+=_,_=0)}Se(s>=0?o[s]:i);for(c=0;c0)break;u.push(Y(i))}u.length&&(xe(p.createExpressionStatement(p.inlineExpressions(u))),c+=u.length,u=[])}}function Y(t){return e.setSourceMapRange(p.createAssignment(e.setSourceMapRange(p.cloneNode(t.name),t.name),e.visitNode(t.initializer,B,e.isExpression)),t)}function X(e){return!!e&&0!=(262144&e.transformFlags)}function Q(e){for(var t=e.length,r=0;r=0;r--){var n=l[r];if(!_e(n))break;if(n.labelText===e)return!0}return!1}function ge(e){if(l)if(e)for(var t=l.length-1;t>=0;t--){if(_e(r=l[t])&&r.labelText===e)return r.breakLabel;if(de(r)&&fe(e,t-1))return r.breakLabel}else for(t=l.length-1;t>=0;t--){var r;if(de(r=l[t]))return r.breakLabel}return 0}function me(e){if(l)if(e)for(var t=l.length-1;t>=0;t--){if(pe(r=l[t])&&fe(e,t-1))return r.continueLabel}else for(t=l.length-1;t>=0;t--){var r;if(pe(r=l[t]))return r.continueLabel}return 0}function ye(e){if(void 0!==e&&e>0){void 0===_&&(_=[]);var t=p.createNumericLiteral(-1);return void 0===_[e]?_[e]=[t]:_[e].push(t),t}return p.createOmittedExpression()}function ve(t){var r=p.createNumericLiteral(t);return e.addSyntheticTrailingComment(r,3,function(e){switch(e){case 2:return\"return\";case 3:return\"break\";case 4:return\"yield\";case 5:return\"yield*\";case 7:return\"endfinally\";default:return}}(t)),r}function he(t,r){return e.Debug.assertLessThan(0,t,\"Invalid label\"),e.setTextRange(p.createReturnStatement(p.createArrayLiteralExpression([ve(3),ye(t)])),r)}function De(){Ce(0)}function xe(e){e?Ce(1,[e]):De()}function be(e,t,r){Ce(2,[e,t],r)}function Se(e,t){Ce(3,[e],t)}function Ee(e,t,r){Ce(4,[e,t],r)}function Te(e,t,r){Ce(5,[e,t],r)}function Ce(e,t,r){void 0===S&&(S=[],E=[],T=[]),void 0===d&&te(ee());var n=S.length;S[n]=e,E[n]=t,T[n]=r}function ke(){L=0,R=0,k=void 0,A=!1,F=!1,N=void 0,P=void 0,w=void 0,I=void 0,O=void 0;var t=function(){if(S){for(var t=0;t0)),524288))}function Ae(e){(function(e){if(!F)return!0;if(!d||!_)return!1;for(var t=0;t=0;t--){var r=O[t];P=[p.createWithStatement(r.expression,p.createBlock(P))]}if(I){var n=I.startLabel,i=I.catchLabel,a=I.finallyLabel,o=I.endLabel;P.unshift(p.createExpressionStatement(p.createCallExpression(p.createPropertyAccessExpression(p.createPropertyAccessExpression(C,\"trys\"),\"push\"),void 0,[p.createArrayLiteralExpression([ye(n),ye(i),ye(a),ye(o)])]))),I=void 0}e&&P.push(p.createExpressionStatement(p.createAssignment(p.createPropertyAccessExpression(C,\"label\"),p.createNumericLiteral(R+1))))}N.push(p.createCaseClause(p.createNumericLiteral(R),P||[])),P=void 0}function Ne(e){if(d)for(var t=0;t=2?2:0)),t),t))}else n&&e.isDefaultImport(t)&&(r=e.append(r,i.createVariableStatement(void 0,i.createVariableDeclarationList([e.setOriginalNode(e.setTextRange(i.createVariableDeclaration(i.cloneNode(n.name),void 0,void 0,i.getGeneratedNameForNode(t)),t),t)],_>=2?2:0))));if(j(t)){var o=e.getOriginalNodeId(t);x[o]=J(x[o],t)}else r=J(r,t);return e.singleOrMany(r)}(t);case 260:return function(t){var r;e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(t),\"import= for internal module references should be handled in an earlier transformer.\"),p!==e.ModuleKind.AMD?r=e.hasSyntacticModifier(t,1)?e.append(r,e.setOriginalNode(e.setTextRange(i.createExpressionStatement(G(t.name,L(t))),t),t)):e.append(r,e.setOriginalNode(e.setTextRange(i.createVariableStatement(void 0,i.createVariableDeclarationList([i.createVariableDeclaration(i.cloneNode(t.name),void 0,void 0,L(t))],_>=2?2:0)),t),t)):e.hasSyntacticModifier(t,1)&&(r=e.append(r,e.setOriginalNode(e.setTextRange(i.createExpressionStatement(G(i.getExportName(t),i.getLocalName(t))),t),t)));if(j(t)){var n=e.getOriginalNodeId(t);x[n]=K(x[n],t)}else r=K(r,t);return e.singleOrMany(r)}(t);case 267:return function(t){if(!t.moduleSpecifier)return;var r=i.getGeneratedNameForNode(t);if(t.exportClause&&e.isNamedExports(t.exportClause)){var n=[];p!==e.ModuleKind.AMD&&n.push(e.setOriginalNode(e.setTextRange(i.createVariableStatement(void 0,i.createVariableDeclarationList([i.createVariableDeclaration(r,void 0,void 0,L(t))])),t),t));for(var o=0,s=t.exportClause.elements;o(e.isExportName(t)?1:0);return!1}function I(t,r){var n,o=i.createUniqueName(\"resolve\"),s=i.createUniqueName(\"reject\"),c=[i.createParameterDeclaration(void 0,void 0,void 0,o),i.createParameterDeclaration(void 0,void 0,void 0,s)],l=i.createBlock([i.createExpressionStatement(i.createCallExpression(i.createIdentifier(\"require\"),void 0,[i.createArrayLiteralExpression([t||i.createOmittedExpression()]),o,s]))]);_>=2?n=i.createArrowFunction(void 0,void 0,c,void 0,void 0,l):(n=i.createFunctionExpression(void 0,void 0,void 0,void 0,c,void 0,l),r&&e.setEmitFlags(n,8));var d=i.createNewExpression(i.createIdentifier(\"Promise\"),void 0,[n]);return u.esModuleInterop?i.createCallExpression(i.createPropertyAccessExpression(d,i.createIdentifier(\"then\")),void 0,[a().createImportStarCallbackHelper()]):d}function O(t,r){var n,o=i.createCallExpression(i.createPropertyAccessExpression(i.createIdentifier(\"Promise\"),\"resolve\"),void 0,[]),s=i.createCallExpression(i.createIdentifier(\"require\"),void 0,t?[t]:[]);return u.esModuleInterop&&(s=a().createImportStarHelper(s)),_>=2?n=i.createArrowFunction(void 0,void 0,[],void 0,void 0,s):(n=i.createFunctionExpression(void 0,void 0,void 0,void 0,[],void 0,i.createBlock([i.createReturnStatement(s)])),r&&e.setEmitFlags(n,8)),i.createCallExpression(i.createPropertyAccessExpression(o,\"then\"),void 0,[n])}function M(t,r){return!u.esModuleInterop||67108864&e.getEmitFlags(t)?r:e.getImportNeedsImportStarHelper(t)?a().createImportStarHelper(r):e.getImportNeedsImportDefaultHelper(t)?a().createImportDefaultHelper(r):r}function L(t){var r=e.getExternalModuleNameLiteral(i,t,m,d,l,u),n=[];return r&&n.push(r),i.createCallExpression(i.createIdentifier(\"require\"),void 0,n)}function R(t,r,n){var a=Q(t);if(a){for(var o=e.isExportName(t)?r:i.createAssignment(t,r),s=0,c=a;se.ModuleKind.ES2015)return t;if(!t.exportClause||!e.isNamespaceExport(t.exportClause)||!t.moduleSpecifier)return t;var r=t.exportClause.name,n=i.getGeneratedNameForNode(r),a=i.createImportDeclaration(void 0,void 0,i.createImportClause(!1,void 0,i.createNamespaceImport(n)),t.moduleSpecifier);e.setOriginalNode(a,t.exportClause);var s=e.isExportNamespaceAsDefaultDeclaration(t)?i.createExportDefault(n):i.createExportDeclaration(void 0,void 0,!1,i.createNamedExports([i.createExportSpecifier(n,r)]));return e.setOriginalNode(s,t),[a,s]}(t)}return t}}}(u||(u={})),function(e){function t(t){return e.isVariableDeclaration(t)||e.isPropertyDeclaration(t)||e.isPropertySignature(t)||e.isPropertyAccessExpression(t)||e.isBindingElement(t)||e.isConstructorDeclaration(t)?r:e.isSetAccessor(t)||e.isGetAccessor(t)?function(r){var n;n=168===t.kind?e.hasSyntacticModifier(t,32)?r.errorModuleName?e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:e.hasSyntacticModifier(t,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1;return{diagnosticMessage:n,errorNode:t.name,typeName:t.name}}:e.isConstructSignatureDeclaration(t)||e.isCallSignatureDeclaration(t)||e.isMethodDeclaration(t)||e.isMethodSignature(t)||e.isFunctionDeclaration(t)||e.isIndexSignatureDeclaration(t)?function(r){var n;switch(t.kind){case 170:n=r.errorModuleName?e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 169:n=r.errorModuleName?e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 171:n=r.errorModuleName?e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 165:case 164:n=e.hasSyntacticModifier(t,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:252===t.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:r.errorModuleName?e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 251:n=r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:return e.Debug.fail(\"This is unknown kind for signature: \"+t.kind)}return{diagnosticMessage:n,errorNode:t.name||t}}:e.isParameter(t)?e.isParameterPropertyDeclaration(t,t.parent)&&e.hasSyntacticModifier(t.parent,8)?r:function(r){var n=function(r){switch(t.parent.kind){case 166:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 170:case 175:return r.errorModuleName?e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 169:return r.errorModuleName?e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 171:return r.errorModuleName?e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 165:case 164:return e.hasSyntacticModifier(t.parent,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:252===t.parent.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 251:case 174:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1;case 168:case 167:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_private_name_1;default:return e.Debug.fail(\"Unknown parent for parameter: \"+e.SyntaxKind[t.parent.kind])}}(r);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}:e.isTypeParameterDeclaration(t)?function(){var r;switch(t.parent.kind){case 252:r=e.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 253:r=e.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 190:r=e.Diagnostics.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1;break;case 175:case 170:r=e.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 169:r=e.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 165:case 164:r=e.hasSyntacticModifier(t.parent,32)?e.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:252===t.parent.parent.kind?e.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:e.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 174:case 251:r=e.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 254:r=e.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:return e.Debug.fail(\"This is unknown parent for type parameter: \"+t.parent.kind)}return{diagnosticMessage:r,errorNode:t,typeName:t.name}}:e.isExpressionWithTypeArguments(t)?function(){var r;r=e.isClassDeclaration(t.parent.parent)?e.isHeritageClause(t.parent)&&116===t.parent.token?e.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:t.parent.parent.name?e.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.extends_clause_of_exported_class_has_or_is_using_private_name_0:e.Diagnostics.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1;return{diagnosticMessage:r,errorNode:t,typeName:e.getNameOfDeclaration(t.parent.parent)}}:e.isImportEqualsDeclaration(t)?function(){return{diagnosticMessage:e.Diagnostics.Import_declaration_0_is_using_private_name_1,errorNode:t,typeName:t.name}}:e.isTypeAliasDeclaration(t)?function(){return{diagnosticMessage:e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:t.type,typeName:t.name}}:e.Debug.assertNever(t,\"Attempted to set a declaration diagnostic context for unhandled node kind: \"+e.SyntaxKind[t.kind]);function r(r){var n=function(r){return 249===t.kind||198===t.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1:163===t.kind||201===t.kind||162===t.kind||160===t.kind&&e.hasSyntacticModifier(t.parent,8)?e.hasSyntacticModifier(t,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:252===t.parent.kind||160===t.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1:void 0}(r);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}}e.canProduceDiagnostics=function(t){return e.isVariableDeclaration(t)||e.isPropertyDeclaration(t)||e.isPropertySignature(t)||e.isBindingElement(t)||e.isSetAccessor(t)||e.isGetAccessor(t)||e.isConstructSignatureDeclaration(t)||e.isCallSignatureDeclaration(t)||e.isMethodDeclaration(t)||e.isMethodSignature(t)||e.isFunctionDeclaration(t)||e.isParameter(t)||e.isTypeParameterDeclaration(t)||e.isExpressionWithTypeArguments(t)||e.isImportEqualsDeclaration(t)||e.isTypeAliasDeclaration(t)||e.isConstructorDeclaration(t)||e.isIndexSignatureDeclaration(t)||e.isPropertyAccessExpression(t)},e.createGetSymbolAccessibilityDiagnosticForNodeName=function(r){return e.isSetAccessor(r)||e.isGetAccessor(r)?function(t){var n=function(t){return e.hasSyntacticModifier(r,32)?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:252===r.parent.kind?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1}(t);return void 0!==n?{diagnosticMessage:n,errorNode:r,typeName:r.name}:void 0}:e.isMethodSignature(r)||e.isMethodDeclaration(r)?function(t){var n=function(t){return e.hasSyntacticModifier(r,32)?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:252===r.parent.kind?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Method_0_of_exported_interface_has_or_is_using_private_name_1}(t);return void 0!==n?{diagnosticMessage:n,errorNode:r,typeName:r.name}:void 0}:t(r)},e.createGetSymbolAccessibilityDiagnosticForNode=t}(u||(u={})),function(e){function t(t,r){var n=r.text.substring(t.pos,t.end);return e.stringContains(n,\"@internal\")}function i(r,n){var i=e.getParseTreeNode(r);if(i&&160===i.kind){var a=i.parent.parameters.indexOf(i),o=a>0?i.parent.parameters[a-1]:void 0,s=n.text,c=o?e.concatenate(e.getTrailingCommentRanges(s,e.skipTrivia(s,o.end+1,!1,!0)),e.getLeadingCommentRanges(s,r.pos)):e.getTrailingCommentRanges(s,e.skipTrivia(s,r.pos,!1,!0));return c&&c.length&&t(e.last(c),n)}var u=i&&e.getLeadingCommentRangesOfNode(i,n);return!!e.forEach(u,(function(e){return t(e,n)}))}e.getDeclarationDiagnostics=function(t,r,n){var i=t.getCompilerOptions();return e.transformNodes(r,t,e.factory,i,n?[n]:e.filter(t.getSourceFiles(),e.isSourceFileNotJson),[o],!1).diagnostics},e.isInternalDeclaration=i;var a=531469;function o(t){var o,u,l,d,_,p,f,g,m,y,v,h=function(){return e.Debug.fail(\"Diagnostic emitted without context\")},D=h,x=!0,b=!1,S=!1,E=!1,T=!1,C=t.factory,k=t.getEmitHost(),A={trackSymbol:function(e,t,r){if(262144&e.flags)return;O(F.isSymbolAccessible(e,t,r,!0)),I(F.getTypeReferenceDirectivesForSymbol(e,r))},reportInaccessibleThisError:function(){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,e.declarationNameToString(f),\"this\"))},reportInaccessibleUniqueSymbolError:function(){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,e.declarationNameToString(f),\"unique symbol\"))},reportCyclicStructureError:function(){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary,e.declarationNameToString(f)))},reportPrivateInBaseOfClassExpression:function(r){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.Property_0_of_exported_class_expression_may_not_be_private_or_protected,r))},reportLikelyUnsafeImportRequiredError:function(r){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary,e.declarationNameToString(f),r))},reportTruncationError:function(){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed))},moduleResolverHost:k,trackReferencedAmbientModule:function(t,r){var n=F.getTypeReferenceDirectivesForSymbol(r,67108863);if(e.length(n))return I(n);var i=e.getSourceFileOfNode(t);m.set(e.getOriginalNodeId(i),i)},trackExternalModuleSymbolOfImportTypeNode:function(e){b||(p||(p=[])).push(e)},reportNonlocalAugmentation:function(r,n,i){for(var a=e.find(n.declarations,(function(t){return e.getSourceFileOfNode(t)===r})),o=e.filter(i.declarations,(function(t){return e.getSourceFileOfNode(t)!==r})),s=0,c=o;s0?e.parameters[0].type:void 0}e.transformDeclarations=o}(u||(u={})),function(e){var t,n;function i(t,r,n){if(n)return e.emptyArray;var i=e.getEmitScriptTarget(t),a=e.getEmitModuleKind(t),o=[];return e.addRange(o,r&&e.map(r.before,s)),o.push(e.transformTypeScript),o.push(e.transformClassFields),e.getJSXTransformEnabled(t)&&o.push(e.transformJsx),i<99&&o.push(e.transformESNext),i<7&&o.push(e.transformES2020),i<6&&o.push(e.transformES2019),i<5&&o.push(e.transformES2018),i<4&&o.push(e.transformES2017),i<3&&o.push(e.transformES2016),i<2&&(o.push(e.transformES2015),o.push(e.transformGenerators)),o.push(function(t){switch(t){case e.ModuleKind.ESNext:case e.ModuleKind.ES2020:case e.ModuleKind.ES2015:return e.transformECMAScriptModule;case e.ModuleKind.System:return e.transformSystemModule;default:return e.transformModule}}(a)),i<1&&o.push(e.transformES5),e.addRange(o,r&&e.map(r.after,s)),o}function a(t){var r=[];return r.push(e.transformDeclarations),e.addRange(r,t&&e.map(t.afterDeclarations,c)),r}function o(t,r){return function(n){var i=t(n);return\"function\"==typeof i?r(n,i):function(t){return function(r){return e.isBundle(r)?t.transformBundle(r):t.transformSourceFile(r)}}(i)}}function s(t){return o(t,e.chainBundle)}function c(e){return o(e,(function(e,t){return t}))}function u(e,t){return t}function l(e,t,r){r(e,t)}!function(e){e[e.Uninitialized=0]=\"Uninitialized\",e[e.Initialized=1]=\"Initialized\",e[e.Completed=2]=\"Completed\",e[e.Disposed=3]=\"Disposed\"}(t||(t={})),function(e){e[e.Substitution=1]=\"Substitution\",e[e.EmitNotifications=2]=\"EmitNotifications\"}(n||(n={})),e.noTransformers={scriptTransformers:e.emptyArray,declarationTransformers:e.emptyArray},e.getTransformers=function(e,t,r){return{scriptTransformers:i(e,t,r),declarationTransformers:a(t)}},e.noEmitSubstitution=u,e.noEmitNotification=l,e.transformNodes=function(t,n,i,a,o,s,c){for(var d,_,p,f,g=new Array(341),m=0,y=[],v=[],h=[],D=[],x=0,b=!1,S=u,E=l,T=0,C=[],k={factory:i,getCompilerOptions:function(){return a},getEmitResolver:function(){return t},getEmitHost:function(){return n},getEmitHelperFactory:e.memoize((function(){return e.createEmitHelperFactory(k)})),startLexicalEnvironment:function(){e.Debug.assert(T>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.Debug.assert(!b,\"Lexical environment is suspended.\"),y[x]=d,v[x]=_,h[x]=p,D[x]=m,x++,d=void 0,_=void 0,p=void 0,m=0},suspendLexicalEnvironment:function(){e.Debug.assert(T>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.Debug.assert(!b,\"Lexical environment is already suspended.\"),b=!0},resumeLexicalEnvironment:function(){e.Debug.assert(T>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.Debug.assert(b,\"Lexical environment is not suspended.\"),b=!1},endLexicalEnvironment:function(){var t;if(e.Debug.assert(T>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.Debug.assert(!b,\"Lexical environment is suspended.\"),d||_||p){if(_&&(t=r(_)),d){var n=i.createVariableStatement(void 0,i.createVariableDeclarationList(d));e.setEmitFlags(n,1048576),t?t.push(n):t=[n]}p&&(t=t?r(t,p):r(p))}x--,d=y[x],_=v[x],p=h[x],m=D[x],0===x&&(y=[],v=[],h=[],D=[]);return t},setLexicalEnvironmentFlags:function(e,t){m=t?m|e:m&~e},getLexicalEnvironmentFlags:function(){return m},hoistVariableDeclaration:function(t){e.Debug.assert(T>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the lexical environment after transformation has completed.\");var r=e.setEmitFlags(i.createVariableDeclaration(t),64);d?d.push(r):d=[r];1&m&&(m|=2)},hoistFunctionDeclaration:function(t){e.Debug.assert(T>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.setEmitFlags(t,1048576),_?_.push(t):_=[t]},addInitializationStatement:function(t){e.Debug.assert(T>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.setEmitFlags(t,1048576),p?p.push(t):p=[t]},requestEmitHelper:function t(r){if(e.Debug.assert(T>0,\"Cannot modify the transformation context during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the transformation context after transformation has completed.\"),e.Debug.assert(!r.scoped,\"Cannot request a scoped emit helper.\"),r.dependencies)for(var n=0,i=r.dependencies;n0,\"Cannot modify the transformation context during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the transformation context after transformation has completed.\");var t=f;return f=void 0,t},enableSubstitution:function(t){e.Debug.assert(T<2,\"Cannot modify the transformation context after transformation has completed.\"),g[t]|=1},enableEmitNotification:function(t){e.Debug.assert(T<2,\"Cannot modify the transformation context after transformation has completed.\"),g[t]|=2},isSubstitutionEnabled:R,isEmitNotificationEnabled:B,get onSubstituteNode(){return S},set onSubstituteNode(t){e.Debug.assert(T<1,\"Cannot modify transformation hooks after initialization has completed.\"),e.Debug.assert(void 0!==t,\"Value must not be 'undefined'\"),S=t},get onEmitNode(){return E},set onEmitNode(t){e.Debug.assert(T<1,\"Cannot modify transformation hooks after initialization has completed.\"),e.Debug.assert(void 0!==t,\"Value must not be 'undefined'\"),E=t},addDiagnostic:function(e){C.push(e)}},A=0,F=o;A\"],e[8192]=[\"[\",\"]\"],e}(),a={pos:-1,end:-1};function o(t,r,n,i,a,o){void 0===i&&(i=!1);var c=e.isArray(n)?n:e.getSourceFilesToEmit(t,n,i),l=t.getCompilerOptions();if(e.outFile(l)){var d=t.getPrependNodes();if(c.length||d.length){var _=e.factory.createBundle(c,d);if(g=r(u(_,t,i),_))return g}}else{if(!a)for(var p=0,f=c;p\"),It(),De(e.type),ir(e)}(r);case 308:return function(e){Ft(\"function\"),Dt(e,e.parameters),kt(\":\"),De(e.type)}(r);case 175:return function(e){nr(e),Ft(\"new\"),It(),ht(e,e.typeParameters),Dt(e,e.parameters),It(),kt(\"=>\"),It(),De(e.type),ir(e)}(r);case 176:return function(e){Ft(\"typeof\"),It(),De(e.exprName)}(r);case 177:return function(t){kt(\"{\");var r=1&e.getEmitFlags(t)?768:32897;bt(t,t.members,524288|r),kt(\"}\")}(r);case 178:return function(e){De(e.elementType),kt(\"[\"),kt(\"]\")}(r);case 179:return function(t){Je(22,t.pos,kt,t);var r=1&e.getEmitFlags(t)?528:657;bt(t,t.elements,524288|r),Je(23,t.elements.end,kt,t)}(r);case 180:return function(e){De(e.type),kt(\"?\")}(r);case 182:return function(e){bt(e,e.types,516)}(r);case 183:return function(e){bt(e,e.types,520)}(r);case 184:return function(e){De(e.checkType),It(),Ft(\"extends\"),It(),De(e.extendsType),It(),kt(\"?\"),It(),De(e.trueType),It(),kt(\":\"),It(),De(e.falseType)}(r);case 185:return function(e){Ft(\"infer\"),It(),De(e.typeParameter)}(r);case 186:return function(e){kt(\"(\"),De(e.type),kt(\")\")}(r);case 223:return function(e){be(e.expression),vt(e,e.typeArguments)}(r);case 187:return void Ft(\"this\");case 188:return function(e){Jt(e.operator,Ft),It(),De(e.type)}(r);case 189:return function(e){De(e.objectType),kt(\"[\"),De(e.indexType),kt(\"]\")}(r);case 190:return function(t){var r=e.getEmitFlags(t);kt(\"{\"),1&r?It():(Mt(),Lt());t.readonlyToken&&(De(t.readonlyToken),142!==t.readonlyToken.kind&&Ft(\"readonly\"),It());kt(\"[\"),Ee(3,t.typeParameter),t.nameType&&(It(),Ft(\"as\"),It(),De(t.nameType));kt(\"]\"),t.questionToken&&(De(t.questionToken),57!==t.questionToken.kind&&kt(\"?\"));kt(\":\"),It(),De(t.type),At(),1&r?It():(Mt(),Rt());kt(\"}\")}(r);case 191:return function(e){be(e.literal)}(r);case 193:return function(e){De(e.head),bt(e,e.templateSpans,262144)}(r);case 195:return function(e){e.isTypeOf&&(Ft(\"typeof\"),It());Ft(\"import\"),kt(\"(\"),De(e.argument),kt(\")\"),e.qualifier&&(kt(\".\"),De(e.qualifier));vt(e,e.typeArguments)}(r);case 303:return void kt(\"*\");case 304:return void kt(\"?\");case 305:return function(e){kt(\"?\"),De(e.type)}(r);case 306:return function(e){kt(\"!\"),De(e.type)}(r);case 307:return function(e){De(e.type),kt(\"=\")}(r);case 181:case 309:return function(e){kt(\"...\"),De(e.type)}(r);case 192:return function(e){De(e.dotDotDotToken),De(e.name),De(e.questionToken),Je(58,e.name.end,kt,e),It(),De(e.type)}(r);case 196:return function(e){kt(\"{\"),bt(e,e.elements,525136),kt(\"}\")}(r);case 197:return function(e){kt(\"[\"),bt(e,e.elements,524880),kt(\"]\")}(r);case 198:return function(e){De(e.dotDotDotToken),e.propertyName&&(De(e.propertyName),kt(\":\"),It());De(e.name),pt(e.initializer,e.name.end,e)}(r);case 228:return function(e){be(e.expression),De(e.literal)}(r);case 229:return void At();case 230:return function(e){Le(e,!e.multiLine&&Zt(e))}(r);case 232:return function(e){dt(e,e.modifiers),De(e.declarationList),At()}(r);case 231:return Re(!1);case 233:return function(t){be(t.expression),(!e.isJsonSourceFile(n)||e.nodeIsSynthesized(t.expression))&&At()}(r);case 234:return function(e){var t=Je(98,e.pos,Ft,e);It(),Je(20,t,kt,e),be(e.expression),Je(21,e.expression.end,kt,e),mt(e,e.thenStatement),e.elseStatement&&(Kt(e,e.thenStatement,e.elseStatement),Je(90,e.thenStatement.end,Ft,e),234===e.elseStatement.kind?(It(),De(e.elseStatement)):mt(e,e.elseStatement))}(r);case 235:return function(t){Je(89,t.pos,Ft,t),mt(t,t.statement),e.isBlock(t.statement)&&!B?It():Kt(t,t.statement,t.expression);Be(t,t.statement.end),At()}(r);case 236:return function(e){Be(e,e.pos),mt(e,e.statement)}(r);case 237:return function(e){var t=Je(96,e.pos,Ft,e);It();var r=Je(20,t,kt,e);je(e.initializer),r=Je(26,e.initializer?e.initializer.end:r,kt,e),gt(e.condition),r=Je(26,e.condition?e.condition.end:r,kt,e),gt(e.incrementor),Je(21,e.incrementor?e.incrementor.end:r,kt,e),mt(e,e.statement)}(r);case 238:return function(e){var t=Je(96,e.pos,Ft,e);It(),Je(20,t,kt,e),je(e.initializer),It(),Je(100,e.initializer.end,Ft,e),It(),be(e.expression),Je(21,e.expression.end,kt,e),mt(e,e.statement)}(r);case 239:return function(e){var t=Je(96,e.pos,Ft,e);It(),function(e){e&&(De(e),It())}(e.awaitModifier),Je(20,t,kt,e),je(e.initializer),It(),Je(156,e.initializer.end,Ft,e),It(),be(e.expression),Je(21,e.expression.end,kt,e),mt(e,e.statement)}(r);case 240:return function(e){Je(85,e.pos,Ft,e),ft(e.label),At()}(r);case 241:return function(e){Je(80,e.pos,Ft,e),ft(e.label),At()}(r);case 242:return function(e){Je(104,e.pos,Ft,e),gt(e.expression),At()}(r);case 243:return function(e){var t=Je(115,e.pos,Ft,e);It(),Je(20,t,kt,e),be(e.expression),Je(21,e.expression.end,kt,e),mt(e,e.statement)}(r);case 244:return function(e){var t=Je(106,e.pos,Ft,e);It(),Je(20,t,kt,e),be(e.expression),Je(21,e.expression.end,kt,e),It(),De(e.caseBlock)}(r);case 245:return function(e){De(e.label),Je(58,e.label.end,kt,e),It(),De(e.statement)}(r);case 246:return function(e){Je(108,e.pos,Ft,e),gt(e.expression),At()}(r);case 247:return function(e){Je(110,e.pos,Ft,e),It(),De(e.tryBlock),e.catchClause&&(Kt(e,e.tryBlock,e.catchClause),De(e.catchClause));e.finallyBlock&&(Kt(e,e.catchClause||e.tryBlock,e.finallyBlock),Je(95,(e.catchClause||e.tryBlock).end,Ft,e),It(),De(e.finallyBlock))}(r);case 248:return function(e){Bt(86,e.pos,Ft),At()}(r);case 249:return function(e){De(e.name),De(e.exclamationToken),_t(e.type),pt(e.initializer,e.type?e.type.end:e.name.end,e)}(r);case 250:return function(t){Ft(e.isLet(t)?\"let\":e.isVarConst(t)?\"const\":\"var\"),It(),bt(t,t.declarations,528)}(r);case 251:return function(e){Ke(e)}(r);case 252:return function(e){Ge(e)}(r);case 253:return function(e){yt(e,e.decorators),dt(e,e.modifiers),Ft(\"interface\"),It(),De(e.name),ht(e,e.typeParameters),bt(e,e.heritageClauses,512),It(),kt(\"{\"),bt(e,e.members,129),kt(\"}\")}(r);case 254:return function(e){yt(e,e.decorators),dt(e,e.modifiers),Ft(\"type\"),It(),De(e.name),ht(e,e.typeParameters),It(),kt(\"=\"),It(),De(e.type),At()}(r);case 255:return function(e){dt(e,e.modifiers),Ft(\"enum\"),It(),De(e.name),It(),kt(\"{\"),bt(e,e.members,145),kt(\"}\")}(r);case 256:return function(e){dt(e,e.modifiers),1024&~e.flags&&(Ft(16&e.flags?\"namespace\":\"module\"),It());De(e.name);var t=e.body;if(!t)return At();for(;256===t.kind;)kt(\".\"),De(t.name),t=t.body;It(),De(t)}(r);case 257:return function(t){nr(t),e.forEach(t.statements,or),Le(t,Zt(t)),ir(t)}(r);case 258:return function(e){Je(18,e.pos,kt,e),bt(e,e.clauses,129),Je(19,e.clauses.end,kt,e,!0)}(r);case 259:return function(e){var t=Je(92,e.pos,Ft,e);It(),t=Je(126,t,Ft,e),It(),t=Je(140,t,Ft,e),It(),De(e.name),At()}(r);case 260:return function(e){dt(e,e.modifiers),Je(99,e.modifiers?e.modifiers.end:e.pos,Ft,e),It(),De(e.name),It(),Je(62,e.name.end,kt,e),It(),function(e){78===e.kind?be(e):De(e)}(e.moduleReference),At()}(r);case 261:return function(e){dt(e,e.modifiers),Je(99,e.modifiers?e.modifiers.end:e.pos,Ft,e),It(),e.importClause&&(De(e.importClause),It(),Je(153,e.importClause.end,Ft,e),It());be(e.moduleSpecifier),At()}(r);case 262:return function(e){e.isTypeOnly&&(Je(149,e.pos,Ft,e),It());De(e.name),e.name&&e.namedBindings&&(Je(27,e.name.end,kt,e),It());De(e.namedBindings)}(r);case 263:return function(e){var t=Je(41,e.pos,kt,e);It(),Je(126,t,Ft,e),It(),De(e.name)}(r);case 269:return function(e){var t=Je(41,e.pos,kt,e);It(),Je(126,t,Ft,e),It(),De(e.name)}(r);case 264:return function(e){Ye(e)}(r);case 265:return function(e){Xe(e)}(r);case 266:return function(e){var t=Je(92,e.pos,Ft,e);It(),e.isExportEquals?Je(62,t,Nt,e):Je(87,t,Ft,e);It(),be(e.expression),At()}(r);case 267:return function(e){var t=Je(92,e.pos,Ft,e);It(),e.isTypeOnly&&(t=Je(149,t,Ft,e),It());e.exportClause?De(e.exportClause):t=Je(41,t,kt,e);if(e.moduleSpecifier){It(),Je(153,e.exportClause?e.exportClause.end:t,Ft,e),It(),be(e.moduleSpecifier)}At()}(r);case 268:return function(e){Ye(e)}(r);case 270:return function(e){Xe(e)}(r);case 271:return;case 272:return function(e){Ft(\"require\"),kt(\"(\"),be(e.expression),kt(\")\")}(r);case 11:return function(e){f.writeLiteral(e.text)}(r);case 275:case 278:return function(t){if(kt(\"<\"),e.isJsxOpeningElement(t)){var r=Yt(t.tagName,t);Qe(t.tagName),vt(t,t.typeArguments),t.attributes.properties&&t.attributes.properties.length>0&&It(),De(t.attributes),Xt(t.attributes,t),Vt(r)}kt(\">\")}(r);case 276:case 279:return function(t){kt(\"\")}(r);case 280:return function(e){De(e.name),function(e,t,r,n){r&&(t(e),n(r))}(\"=\",kt,e.initializer,Se)}(r);case 281:return function(e){bt(e,e.properties,262656)}(r);case 282:return function(e){kt(\"{...\"),be(e.expression),kt(\"}\")}(r);case 283:return function(e){e.expression&&(kt(\"{\"),De(e.dotDotDotToken),be(e.expression),kt(\"}\"))}(r);case 284:return function(e){Je(81,e.pos,Ft,e),It(),be(e.expression),$e(e,e.statements,e.expression.end)}(r);case 285:return function(e){var t=Je(87,e.pos,Ft,e);$e(e,e.statements,t)}(r);case 286:return function(e){It(),Jt(e.token,Ft),It(),bt(e,e.types,528)}(r);case 287:return function(e){var t=Je(82,e.pos,Ft,e);It(),e.variableDeclaration&&(Je(20,t,kt,e),De(e.variableDeclaration),Je(21,e.variableDeclaration.end,kt,e),It());De(e.block)}(r);case 288:return function(t){De(t.name),kt(\":\"),It();var r=t.initializer;if(Ar&&0==(512&e.getEmitFlags(r))){Ar(e.getCommentRange(r).pos)}be(r)}(r);case 289:return function(e){De(e.name),e.objectAssignmentInitializer&&(It(),kt(\"=\"),It(),be(e.objectAssignmentInitializer))}(r);case 290:return function(e){e.expression&&(Je(25,e.pos,kt,e),be(e.expression))}(r);case 291:return function(e){De(e.name),pt(e.initializer,e.name.end,e)}(r);case 326:case 333:return function(e){tt(e.tagName),nt(e.typeExpression),It(),e.isBracketed&&kt(\"[\");De(e.name),e.isBracketed&&kt(\"]\");rt(e.comment)}(r);case 327:case 329:case 328:case 325:return tt((i=r).tagName),nt(i.typeExpression),void rt(i.comment);case 316:case 315:return function(e){tt(e.tagName),It(),kt(\"{\"),De(e.class),kt(\"}\"),rt(e.comment)}(r);case 330:return function(e){tt(e.tagName),nt(e.constraint),It(),bt(e,e.typeParameters,528),rt(e.comment)}(r);case 331:return function(e){tt(e.tagName),e.typeExpression&&(301===e.typeExpression.kind?nt(e.typeExpression):(It(),kt(\"{\"),j(\"Object\"),e.typeExpression.isArrayType&&(kt(\"[\"),kt(\"]\")),kt(\"}\")));e.fullName&&(It(),De(e.fullName));rt(e.comment),e.typeExpression&&312===e.typeExpression.kind&&Ze(e.typeExpression)}(r);case 324:return function(e){tt(e.tagName),e.name&&(It(),De(e.name));rt(e.comment),et(e.typeExpression)}(r);case 313:return et(r);case 312:return Ze(r);case 319:case 314:return function(e){tt(e.tagName),rt(e.comment)}(r);case 332:return function(e){tt(e.tagName),De(e.name),rt(e.comment)}(r);case 302:return function(e){It(),kt(\"{\"),De(e.name),kt(\"}\")}(r);case 311:return function(e){if(j(\"/**\"),e.comment)for(var t=0,r=e.comment.split(/\\r\\n?|\\n/g);t=1&&!e.isJsonSourceFile(n)?64:0;bt(t,t.properties,526226|a|i),r&&Rt()}(r);case 201:return function(t){var r=e.cast(be(t.expression),e.isExpression),n=t.questionDotToken||e.setTextRangePosEnd(e.factory.createToken(24),t.expression.end,t.name.pos),i=$t(t,t.expression,n),a=$t(t,n,t.name);Ut(i,!1),28===n.kind||!function(t){if(t=e.skipPartiallyEmittedExpressions(t),e.isNumericLiteral(t)){var r=rr(t,!0,!1);return!t.numericLiteralFlags&&!e.stringContains(r,e.tokenToString(24))}if(e.isAccessExpression(t)){var n=e.getConstantValue(t);return\"number\"==typeof n&&isFinite(n)&&Math.floor(n)===n}}(r)||f.hasTrailingComment()||f.hasTrailingWhitespace()||kt(\".\");t.questionDotToken?De(n):Je(n.kind,t.expression.end,kt,t);Ut(a,!1),De(t.name),Vt(i,a)}(r);case 202:return function(e){be(e.expression),De(e.questionDotToken),Je(22,e.expression.end,kt,e),be(e.argumentExpression),Je(23,e.argumentExpression.end,kt,e)}(r);case 203:return function(e){be(e.expression),De(e.questionDotToken),vt(e,e.typeArguments),St(e,e.arguments,2576)}(r);case 204:return function(e){Je(102,e.pos,Ft,e),It(),be(e.expression),vt(e,e.typeArguments),St(e,e.arguments,18960)}(r);case 205:return function(e){be(e.tag),vt(e,e.typeArguments),It(),be(e.template)}(r);case 206:return function(e){kt(\"<\"),De(e.type),kt(\">\"),be(e.expression)}(r);case 207:return function(e){var t=Je(20,e.pos,kt,e),r=Yt(e.expression,e);be(e.expression),Xt(e.expression,e),Vt(r),Je(21,e.expression?e.expression.end:t,kt,e)}(r);case 208:return function(e){cr(e.name),Ke(e)}(r);case 209:return function(e){yt(e,e.decorators),dt(e,e.modifiers),Ue(e,Me)}(r);case 210:return function(e){Je(88,e.pos,Ft,e),It(),be(e.expression)}(r);case 211:return function(e){Je(111,e.pos,Ft,e),It(),be(e.expression)}(r);case 212:return function(e){Je(113,e.pos,Ft,e),It(),be(e.expression)}(r);case 213:return function(e){Je(130,e.pos,Ft,e),It(),be(e.expression)}(r);case 214:return function(e){Jt(e.operator,Nt),function(e){var t=e.operand;return 214===t.kind&&(39===e.operator&&(39===t.operator||45===t.operator)||40===e.operator&&(40===t.operator||46===t.operator))}(e)&&It();be(e.operand)}(r);case 215:return function(e){be(e.operand),Jt(e.operator,Nt)}(r);case 216:return function(t){var r=[t],n=[0],i=0;for(;i>=0;)switch(t=r[i],n[i]){case 0:c(t.left);break;case 1:var a=27!==t.operatorToken.kind,o=$t(t,t.left,t.operatorToken),s=$t(t,t.operatorToken,t.right);Ut(o,a),Cr(t.operatorToken.pos),jt(t.operatorToken,100===t.operatorToken.kind?Ft:Nt),Ar(t.operatorToken.end,!0),Ut(s,!0),c(t.right);break;case 2:Vt(o=$t(t,t.left,t.operatorToken),s=$t(t,t.operatorToken,t.right)),i--;break;default:return e.Debug.fail(\"Invalid state \"+n[i]+\" for emitBinaryExpressionWorker\")}function c(t){n[i]++;var a=b,o=S;b=t,S=void 0;var s=Te(0,1,t);s===Ae&&e.isBinaryExpression(t)?(i++,n[i]=0,r[i]=t):s(1,t),e.Debug.assert(b===t),b=a,S=o}}(r);case 217:return function(e){var t=$t(e,e.condition,e.questionToken),r=$t(e,e.questionToken,e.whenTrue),n=$t(e,e.whenTrue,e.colonToken),i=$t(e,e.colonToken,e.whenFalse);be(e.condition),Ut(t,!0),De(e.questionToken),Ut(r,!0),be(e.whenTrue),Vt(t,r),Ut(n,!0),De(e.colonToken),Ut(i,!0),be(e.whenFalse),Vt(n,i)}(r);case 218:return function(e){De(e.head),bt(e,e.templateSpans,262144)}(r);case 219:return function(e){Je(124,e.pos,Ft,e),De(e.asteriskToken),gt(e.expression)}(r);case 220:return function(e){Je(25,e.pos,kt,e),be(e.expression)}(r);case 221:return function(e){cr(e.name),Ge(e)}(r);case 222:return;case 224:return function(e){be(e.expression),e.type&&(It(),Ft(\"as\"),It(),De(e.type))}(r);case 225:return function(e){be(e.expression),Nt(\"!\")}(r);case 226:return function(e){Bt(e.keywordToken,e.pos,kt),kt(\".\"),De(e.name)}(r);case 273:return function(e){De(e.openingElement),bt(e,e.children,262144),De(e.closingElement)}(r);case 274:return function(e){kt(\"<\"),Qe(e.tagName),vt(e,e.typeArguments),It(),De(e.attributes),kt(\"/>\")}(r);case 277:return function(e){De(e.openingFragment),bt(e,e.children,262144),De(e.closingFragment)}(r);case 336:return function(e){be(e.expression)}(r);case 337:return function(e){St(e,e.elements,528)}(r)}}function Fe(t,r){e.Debug.assert(b===r||S===r),Ce(1,t,r)(t,S),e.Debug.assert(b===r||S===r)}function Ne(r){var i=!1,a=298===r.kind?r:void 0;if(!a||L!==e.ModuleKind.None){for(var o=a?a.prepends.length:0,s=a?a.sourceFiles.length+o:1,c=0;c0)return!1;r=o}return!0}(t)?We:He;Dr?Dr(t,t.statements,r):r(t),Rt(),Bt(19,t.statements.end,kt,t)}function We(e){He(e,!0)}function He(e,t){var r=ot(e.statements),n=f.getTextPos();Ne(e),0===r&&n===f.getTextPos()&&t?(Rt(),bt(e,e.statements,768),Lt()):bt(e,e.statements,1,r)}function Ge(t){e.forEach(t.members,sr),yt(t,t.decorators),dt(t,t.modifiers),Ft(\"class\"),t.name&&(It(),xe(t.name));var r=65536&e.getEmitFlags(t);r&&Lt(),ht(t,t.typeParameters),bt(t,t.heritageClauses,0),It(),kt(\"{\"),bt(t,t.members,129),kt(\"}\"),r&&Rt()}function Ye(e){kt(\"{\"),bt(e,e.elements,525136),kt(\"}\")}function Xe(e){e.propertyName&&(De(e.propertyName),It(),Je(126,e.propertyName.end,Ft,e),It()),De(e.name)}function Qe(e){78===e.kind?be(e):De(e)}function $e(t,r,i){var a=163969;1===r.length&&(e.nodeIsSynthesized(t)||e.nodeIsSynthesized(r[0])||e.rangeStartPositionsAreOnSameLine(t,r[0],n))?(Bt(58,i,kt,t),It(),a&=-130):Je(58,i,kt,t),bt(t,r,a)}function Ze(t){bt(t,e.factory.createNodeArray(t.jsDocPropertyTags),33)}function et(t){t.typeParameters&&bt(t,e.factory.createNodeArray(t.typeParameters),33),t.parameters&&bt(t,e.factory.createNodeArray(t.parameters),33),t.type&&(Mt(),It(),kt(\"*\"),It(),De(t.type))}function tt(e){kt(\"@\"),De(e)}function rt(e){e&&(It(),j(e))}function nt(e){e&&(It(),kt(\"{\"),De(e.type),kt(\"}\"))}function it(e,t,r,i){if(e){var a=f.getTextPos();wt('/// '),J&&J.sections.push({pos:a,end:f.getTextPos(),kind:\"no-default-lib\"}),Mt()}if(n&&n.moduleName&&(wt('/// '),Mt()),n&&n.amdDependencies)for(var o=0,s=n.amdDependencies;o'):wt('/// '),Mt()}for(var u=0,l=t;u'),J&&J.sections.push({pos:a,end:f.getTextPos(),kind:\"reference\",data:d.fileName}),Mt()}for(var _=0,p=r;_'),J&&J.sections.push({pos:a,end:f.getTextPos(),kind:\"type\",data:d.fileName}),Mt()}for(var g=0,m=i;g'),J&&J.sections.push({pos:a,end:f.getTextPos(),kind:\"lib\",data:d.fileName}),Mt()}}function at(t){var r=t.statements;nr(t),e.forEach(t.statements,or),Ne(t);var n=e.findIndex(r,(function(t){return!e.isPrologueDirective(t)}));!function(e){e.isDeclarationFile&&it(e.hasNoDefaultLib,e.referencedFiles,e.typeReferenceDirectives,e.libReferenceDirectives)}(t),bt(t,r,1,-1===n?r.length:n),ir(t)}function ot(t,r,n,i){for(var a=!!r,o=0;o=a.length||0===c;if(l&&32768&o)return N&&N(a),void(P&&P(a));if(15360&o&&(kt(function(e){return i[15360&e][0]}(o)),l&&!u&&Ar(a.pos,!0)),N&&N(a),l)!(1&o)||B&&e.rangeIsOnSingleLine(r,n)?256&o&&!(524288&o)&&It():Mt();else{var d=0==(262144&o),_=d,f=qt(r,a,o);f?(Mt(f),_=!1):256&o&&It(),128&o&&Lt();for(var g=void 0,m=void 0,y=!1,v=0;v0?(0==(131&o)&&(Lt(),y=!0),Mt(D),_=!1):g&&512&o&&It()}if(m=ce(h),_){if(Ar)Ar(e.getCommentRange(h).pos)}else _=d;p=h.pos,t(h),y&&(Rt(),y=!1),g=h}var x=64&o&&a.hasTrailingComma;16&o&&x&&kt(\",\"),g&&60&o&&g.end!==r.end&&!(1024&e.getEmitFlags(g))&&Cr(g.end),128&o&&Rt(),ue(m);var b=Ht(r,a,o);b?Mt(b):2097408&o&&It()}P&&P(a),15360&o&&(l&&!u&&Cr(a.end),kt(function(e){return i[15360&e][1]}(o)))}}function Ct(e,t){f.writeSymbol(e,t)}function kt(e){f.writePunctuation(e)}function At(){f.writeTrailingSemicolon(\";\")}function Ft(e){f.writeKeyword(e)}function Nt(e){f.writeOperator(e)}function Pt(e){f.writeParameter(e)}function wt(e){f.writeComment(e)}function It(){f.writeSpace(\" \")}function Ot(e){f.writeProperty(e)}function Mt(e){void 0===e&&(e=1);for(var t=0;t0)}function Lt(){f.increaseIndent()}function Rt(){f.decreaseIndent()}function Bt(t,r,n,i){return q?Jt(t,n,r):function(t,r,n,i,a){if(q||t&&e.isInJsonFile(t))return a(r,n,i);var o=t&&t.emitNode,s=o&&o.flags||0,c=o&&o.tokenSourceMapRanges&&o.tokenSourceMapRanges[r],u=c&&c.source||v;i=Mr(u,c?c.pos:i),0==(128&s)&&i>=0&&Rr(u,i);i=a(r,n,i),c&&(i=c.end);0==(256&s)&&i>=0&&Rr(u,i);return i}(i,t,n,r,Jt)}function jt(t,r){w&&w(t),r(e.tokenToString(t.kind)),I&&I(t)}function Jt(t,r,n){var i=e.tokenToString(t);return r(i),n<0?n:n+i.length}function Kt(t,r,n){if(1&e.getEmitFlags(t))It();else if(B){var i=$t(t,r,n);i?Mt(i):It()}else Mt()}function zt(t){for(var r=t.split(/\\r\\n?|\\n/g),n=e.guessIndentation(r),i=0,a=r;i0||o>0)&&a!==o&&(c||xr(a,s),(!c||a>=0&&0!=(512&n))&&(G=a),(!u||o>=0&&0!=(1024&n))&&(Y=o,250===r.kind&&(X=o))),e.forEach(e.getSyntheticLeadingComments(r),yr),te();var p=Ce(2,t,r);2048&n?($=!0,p(t,r),$=!1):p(t,r),ee(),e.forEach(e.getSyntheticTrailingComments(r),vr),(a>0||o>0)&&a!==o&&(G=l,Y=d,X=_,!u&&s&&function(e){Pr(e,kr)}(o)),te(),e.Debug.assert(b===r||S===r)}function yr(e){(e.hasLeadingNewline||2===e.kind)&&f.writeLine(),hr(e),e.hasTrailingNewLine||2===e.kind?f.writeLine():f.writeSpace(\" \")}function vr(e){f.isAtStartOfLine()||f.writeSpace(\" \"),hr(e),e.hasTrailingNewLine&&f.writeLine()}function hr(t){var r=function(e){return 3===e.kind?\"/*\"+e.text+\"*/\":\"//\"+e.text}(t),n=3===t.kind?e.computeLineStarts(r):void 0;e.writeCommentRange(r,n,f,0,r.length,M)}function Dr(t,r,i){ee();var a=r.pos,o=r.end,s=e.getEmitFlags(t),c=$||o<0||0!=(1024&s);a<0||0!=(512&s)||function(t){var r=e.emitDetachedComments(n.text,he(),f,wr,t,M,$);r&&(x?x.push(r):x=[r])}(r),te(),2048&s&&!$?($=!0,i(t),$=!1):i(t),ee(),c||(xr(r.end,!0),Q&&!f.isAtStartOfLine()&&f.writeLine()),te()}function xr(e,t){Q=!1,t?0===e&&(null==n?void 0:n.isDeclarationFile)?Nr(e,Sr):Nr(e,Tr):0===e&&Nr(e,br)}function br(e,t,r,n,i){Ir(e,t)&&Tr(e,t,r,n,i)}function Sr(e,t,r,n,i){Ir(e,t)||Tr(e,t,r,n,i)}function Er(r,n){return!t.onlyPrintJsDocStyle||(e.isJSDocLikeText(r,n)||e.isPinnedComment(r,n))}function Tr(t,r,i,a,o){Er(n.text,t)&&(Q||(e.emitNewLineBeforeLeadingCommentOfPosition(he(),f,o,t),Q=!0),Lr(t),e.writeCommentRange(n.text,he(),f,t,r,M),Lr(r),a?f.writeLine():3===i&&f.writeSpace(\" \"))}function Cr(e){$||-1===e||xr(e,!0)}function kr(t,r,i,a){Er(n.text,t)&&(f.isAtStartOfLine()||f.writeSpace(\" \"),Lr(t),e.writeCommentRange(n.text,he(),f,t,r,M),Lr(r),a&&f.writeLine())}function Ar(e,t){$||(ee(),Pr(e,t?kr:Fr),te())}function Fr(t,r,i,a){Lr(t),e.writeCommentRange(n.text,he(),f,t,r,M),Lr(r),a?f.writeLine():f.writeSpace(\" \")}function Nr(t,r){!n||-1!==G&&t===G||(function(t){return void 0!==x&&e.last(x).nodePos===t}(t)?function(t){var r=e.last(x).detachedCommentEndPos;x.length-1?x.pop():x=void 0;e.forEachLeadingCommentRange(n.text,r,t,r)}(r):e.forEachLeadingCommentRange(n.text,t,r,t))}function Pr(t,r){n&&(-1===Y||t!==Y&&t!==X)&&e.forEachTrailingCommentRange(n.text,t,r)}function wr(t,r,i,a,o,s){Er(n.text,a)&&(Lr(a),e.writeCommentRange(t,r,i,a,o,s),Lr(o))}function Ir(t,r){return e.isRecognizedTripleSlashComment(n.text,t,r)}function Or(t,r){e.Debug.assert(b===r||S===r);var n=Ce(3,t,r);if(e.isUnparsedSource(r)||e.isUnparsedPrepend(r))n(t,r);else if(e.isUnparsedNode(r)){var i=function(t){return void 0===t.parsedSourceMap&&void 0!==t.sourceMapText&&(t.parsedSourceMap=e.tryParseRawSourceMap(t.sourceMapText)||!1),t.parsedSourceMap||void 0}(r.parent);i&&y&&y.appendSourceMap(f.getLine(),f.getColumn(),i,r.parent.sourceMapPath,r.parent.getLineAndCharacterOfPosition(r.pos),r.parent.getLineAndCharacterOfPosition(r.end)),n(t,r)}else{var a=e.getSourceMapRange(r),o=a.pos,s=a.end,c=a.source,u=void 0===c?v:c,l=e.getEmitFlags(r);335!==r.kind&&0==(16&l)&&o>=0&&Rr(u,Mr(u,o)),64&l?(q=!0,n(t,r),q=!1):n(t,r),335!==r.kind&&0==(32&l)&&s>=0&&Rr(u,s)}e.Debug.assert(b===r||S===r)}function Mr(t,r){return t.skipTrivia?t.skipTrivia(r):e.skipTrivia(t.text,r)}function Lr(t){if(!(q||e.positionIsSynthesized(t)||jr(v))){var r=e.getLineAndCharacterOfPosition(v,t),n=r.line,i=r.character;y.addMapping(f.getLine(),f.getColumn(),W,n,i,void 0)}}function Rr(e,t){if(e!==v){var r=v,n=W;Br(e),Lr(t),function(e,t){v=e,W=t}(r,n)}else Lr(t)}function Br(e){q||(v=e,e!==h?jr(e)||(W=y.addSource(e.fileName),t.inlineSources&&y.setSourceContent(W,e.text),h=e,H=W):W=H)}function jr(t){return e.fileExtensionIs(t.fileName,\".json\")}}e.isBuildInfoFile=function(t){return e.fileExtensionIs(t,\".tsbuildinfo\")},e.forEachEmittedFile=o,e.getTsBuildInfoEmitOutputFilePath=s,e.getOutputPathsForBundle=c,e.getOutputPathsFor=u,e.getOutputExtension=d,e.getOutputDeclarationFileName=p,e.getAllProjectOutputs=function(t,r){var n=g(),i=n.addOutput,a=n.getOutputs;if(e.outFile(t.options))m(t,i);else{for(var o=0,c=t.fileNames;o=4,v=(f+1+\"\").length;y&&(v=Math.max(\"...\".length,v));for(var h=\"\",D=l;D<=f;D++){h+=o.getNewLine(),y&&l+11}))&&Zt(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files,\"outDir\")}w.useDefineForClassFields&&0===d&&Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_target_is_ES3,\"useDefineForClassFields\");w.checkJs&&!e.getAllowJSCompilerOption(w)&&te.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,\"checkJs\",\"allowJs\"));w.emitDeclarationOnly&&(e.getEmitDeclarations(w)||Zt(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,\"emitDeclarationOnly\",\"declaration\",\"composite\"),w.noEmit&&Zt(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,\"emitDeclarationOnly\",\"noEmit\"));w.emitDecoratorMetadata&&!w.experimentalDecorators&&Zt(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,\"emitDecoratorMetadata\",\"experimentalDecorators\");w.jsxFactory?(w.reactNamespace&&Zt(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,\"reactNamespace\",\"jsxFactory\"),4!==w.jsx&&5!==w.jsx||Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,\"jsxFactory\",e.inverseJsxOptionMap.get(\"\"+w.jsx)),e.parseIsolatedEntityName(w.jsxFactory,d)||er(\"jsxFactory\",e.Diagnostics.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,w.jsxFactory)):w.reactNamespace&&!e.isIdentifierText(w.reactNamespace,d)&&er(\"reactNamespace\",e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,w.reactNamespace);w.jsxFragmentFactory&&(w.jsxFactory||Zt(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,\"jsxFragmentFactory\",\"jsxFactory\"),4!==w.jsx&&5!==w.jsx||Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,\"jsxFragmentFactory\",e.inverseJsxOptionMap.get(\"\"+w.jsx)),e.parseIsolatedEntityName(w.jsxFragmentFactory,d)||er(\"jsxFragmentFactory\",e.Diagnostics.Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name,w.jsxFragmentFactory));w.reactNamespace&&(4!==w.jsx&&5!==w.jsx||Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,\"reactNamespace\",e.inverseJsxOptionMap.get(\"\"+w.jsx)));w.jsxImportSource&&2===w.jsx&&Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,\"jsxImportSource\",e.inverseJsxOptionMap.get(\"\"+w.jsx));if(!w.noEmit&&!w.suppressOutputPathCheck){var v=Ze(),h=new e.Set;e.forEachEmittedFile(v,(function(e){w.emitDeclarationOnly||D(e.jsFilePath,h),D(e.declarationFilePath,h)}))}function D(t,r){if(t){var n=Xe(t);if(ye.has(n)){var i=void 0;w.configFilePath||(i=e.chainDiagnosticMessages(void 0,e.Diagnostics.Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig)),i=e.chainDiagnosticMessages(i,e.Diagnostics.Cannot_write_file_0_because_it_would_overwrite_input_file,t),ar(t,e.createCompilerDiagnosticFromMessageChain(i))}var a=X.useCaseSensitiveFileNames()?n:e.toFileNameLowerCase(n);r.has(a)?ar(t,e.createCompilerDiagnostic(e.Diagnostics.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files,t)):r.add(a)}}}(),e.performance.mark(\"afterProgram\"),e.performance.measure(\"Program\",\"beforeProgram\",\"afterProgram\"),e.tracing.end.apply(e.tracing,q),Ve;function qe(t,r,n){if(!t.length)return e.emptyArray;var i=e.getNormalizedAbsolutePath(r.originalFileName,re),a=He(r);e.tracing.push(\"program\",\"resolveModuleNamesWorker\",{containingFileName:i}),e.performance.mark(\"beforeResolveModule\");var o=G(t,i,n,a);return e.performance.mark(\"afterResolveModule\"),e.performance.measure(\"ResolveModule\",\"beforeResolveModule\",\"afterResolveModule\"),e.tracing.pop(),o}function We(t,r){if(!t.length)return[];var n=e.isString(r)?r:e.getNormalizedAbsolutePath(r.originalFileName,re),i=e.isString(r)?void 0:He(r);e.tracing.push(\"program\",\"resolveTypeReferenceDirectiveNamesWorker\",{containingFileName:n}),e.performance.mark(\"beforeResolveTypeReference\");var a=Y(t,n,i);return e.performance.mark(\"afterResolveTypeReference\"),e.performance.measure(\"ResolveTypeReference\",\"beforeResolveTypeReference\",\"afterResolveTypeReference\"),e.tracing.pop(),a}function He(t){var r=Ot(t.originalFileName);if(r||!e.fileExtensionIs(t.originalFileName,\".d.ts\"))return r;var n=Ge(t.originalFileName,t.path);if(n)return n;if(X.realpath&&w.preserveSymlinks&&e.stringContains(t.originalFileName,e.nodeModulesPathPart)){var i=X.realpath(t.originalFileName),a=Xe(i);return a===t.path?void 0:Ge(i,a)}}function Ge(t,r){var n=Lt(t);return e.isString(n)?Ot(n):n?Mt((function(t){var n=e.outFile(t.commandLine.options);if(n)return Xe(n)===r?t:void 0})):void 0}function Ye(t){if(e.containsPath(ee,t.fileName,!1)){var r=e.getBaseFileName(t.fileName);if(\"lib.d.ts\"===r||\"lib.es6.d.ts\"===r)return 0;var n=e.removeSuffix(e.removePrefix(r,\"lib.\"),\".d.ts\"),i=e.libs.indexOf(n);if(-1!==i)return i+1}return e.libs.length+2}function Xe(t){return e.toPath(t,re,Vt)}function Qe(){if(void 0===T){var t=e.filter(f,(function(t){return e.sourceFileMayBeEmitted(t,Ve)}));w.rootDir&&Wt(t,w.rootDir)?T=e.getNormalizedAbsolutePath(w.rootDir,re):w.composite&&w.configFilePath?Wt(t,T=e.getDirectoryPath(e.normalizeSlashes(w.configFilePath))):(r=t,T=n(e.mapDefined(r,(function(e){return e.isDeclarationFile?void 0:e.fileName})),re,Vt)),T&&T[T.length-1]!==e.directorySeparator&&(T+=e.directorySeparator)}var r;return T}function $e(t,r){if(0===Ee&&!r.ambientModuleNames.length)return qe(t,r,void 0);var n,i,a,o=M&&M.getSourceFile(r.fileName);if(o!==r&&r.resolvedModules){for(var s=[],c=0,u=t;c=0;){if(r.markUsed(o))return o;var s=n.text.slice(a[o],a[o+1]).trim();if(\"\"!==s&&!/^(\\s*)\\/\\/(.*)$/.test(s))return-1;o--}return-1}(t,i)})),directives:i}}function mt(e,t){return vt(e,t,B,yt)}function yt(t,r){return dt((function(){var n=nt().getEmitResolver(t,r);return e.getDeclarationDiagnostics(Ze(e.noop),n,t)||e.emptyArray}))}function vt(t,r,n,i){var a,o=t?null===(a=n.perFile)||void 0===a?void 0:a.get(t.path):n.allDiagnostics;if(o)return o;var s=i(t,r);return t?(n.perFile||(n.perFile=new e.Map)).set(t.path,s):n.allDiagnostics=s,s}function ht(e,t){return e.isDeclarationFile?[]:mt(e,t)}function Dt(t,r,n){Ct(e.normalizePath(t),r,n,void 0)}function xt(e,t){return e.fileName===t.fileName}function bt(e,t){return 78===e.kind?78===t.kind&&e.escapedText===t.escapedText:10===t.kind&&e.text===t.text}function St(t,r){var n=e.factory.createStringLiteral(t),i=e.factory.createImportDeclaration(void 0,void 0,void 0,n);return e.addEmitFlags(i,67108864),e.setParent(n,i),e.setParent(i,r),n.flags&=-9,i.flags&=-9,n}function Et(t){if(!t.imports){var r,n,i,a=e.isSourceFileJS(t),o=e.isExternalModule(t);if((w.isolatedModules||o)&&!t.isDeclarationFile){w.importHelpers&&(r=[St(e.externalHelpersModuleNameText,t)]);var s=e.getJSXRuntimeImport(e.getJSXImplicitImportBase(w,t),w);s&&(r||(r=[])).push(St(s,t))}for(var c=0,u=t.statements;c0),Object.defineProperties(o,{id:{get:function(){return this.redirectInfo.redirectTarget.id},set:function(e){this.redirectInfo.redirectTarget.id=e}},symbol:{get:function(){return this.redirectInfo.redirectTarget.symbol},set:function(e){this.redirectInfo.redirectTarget.symbol=e}}}),o}(D,v,t,r,Xe(t),d);return me.add(D.path,t),Nt(x,r,l),ge.set(r,o.name),p.push(x),x}v&&(fe.set(h,v),ge.set(r,o.name))}if(Nt(v,r,l),v){if(V.set(r,z>0),v.fileName=t,v.path=r,v.resolvedPath=Xe(t),v.originalFileName=d,Ft(t,v,a),X.useCaseSensitiveFileNames()){var b=e.toFileNameLowerCase(r),S=ve.get(b);S?kt(t,S,a):ve.set(b,v)}$=$||v.hasNoDefaultLib&&!i,w.noResolve||(jt(v,n),Jt(v)),w.noLib||zt(v),qt(v),n?_.push(v):p.push(v)}return v}(t,r,n,i,a,o);return e.tracing.pop(),s}function Ft(t,r,n){n&&r&&(F||(F=e.createMultiMap())).add(r.path,{referencedFileName:t,kind:n.kind,index:n.index,file:n.file.path})}function Nt(e,t,r){r?(ye.set(r,e),ye.set(t,e||!1)):ye.set(t,e)}function Pt(e){var t=wt(e);return t&&It(t,e)}function wt(t){if(le&&le.length&&!e.fileExtensionIs(t,\".d.ts\")&&!e.fileExtensionIs(t,\".json\"))return Ot(t)}function It(t,r){var n=e.outFile(t.commandLine.options);return n?e.changeExtension(n,\".d.ts\"):e.getOutputDeclarationFileName(r,t.commandLine,!X.useCaseSensitiveFileNames())}function Ot(t){void 0===_e&&(_e=new e.Map,Mt((function(e){Xe(w.configFilePath)!==e.sourceFile.path&&e.commandLine.fileNames.forEach((function(t){return _e.set(Xe(t),e.sourceFile.path)}))})));var r=_e.get(Xe(t));return r&&Bt(r)}function Mt(t){return e.forEachResolvedProjectReference(le,t)}function Lt(t){if(e.isDeclarationFileName(t))return void 0===pe&&(pe=new e.Map,Mt((function(t){var r=e.outFile(t.commandLine.options);if(r){var n=e.changeExtension(r,\".d.ts\");pe.set(Xe(n),!0)}else e.forEach(t.commandLine.fileNames,(function(r){if(!e.fileExtensionIs(r,\".d.ts\")&&!e.fileExtensionIs(r,\".json\")){var n=e.getOutputDeclarationFileName(r,t.commandLine,X.useCaseSensitiveFileNames());pe.set(Xe(n),r)}}))}))),pe.get(Xe(t))}function Rt(e){return he&&!!Ot(e)}function Bt(e){if(de)return de.get(e)||void 0}function jt(r,n){e.forEach(r.referencedFiles,(function(i,a){Ct(t(i.fileName,r.fileName),n,!1,void 0,{kind:e.RefFileKind.ReferenceFile,index:a,file:r,pos:i.pos,end:i.end})}))}function Jt(t){var r=e.map(t.typeReferenceDirectives,(function(t){return e.toFileNameLowerCase(t.fileName)}));if(r)for(var n=We(r,t),i=0;iK,d=u&&!S(w,a)&&!w.noResolve&&ir&&(te.add(e.createDiagnosticForNodeInSourceFile(w.configFile,p.elements[r],n,i,a,o)),s=!1)}}s&&te.add(e.createCompilerDiagnostic(n,i,a,o))}function Qt(t,r,n,i){for(var a=!0,o=0,s=$t();or?te.add(e.createDiagnosticForNodeInSourceFile(t||w.configFile,o.elements[r],n,i,a)):te.add(e.createCompilerDiagnostic(n,i,a))}function rr(t,r,n,i,a,o,s){var c=nr();(!c||!ir(c,t,r,n,i,a,o,s))&&te.add(e.createCompilerDiagnostic(i,a,o,s))}function nr(){if(void 0===W){W=null;var t=e.getTsConfigObjectLiteralExpression(w.configFile);if(t)for(var r=0,n=e.getPropertyAssignment(t,\"compilerOptions\");r0)for(var s=t.getTypeChecker(),c=0,u=r.imports;c0)for(var _=0,p=r.referencedFiles;_1&&b(x)}return o;function b(t){for(var n=0,i=t.declarations;n1?f.outputFiles[1]:void 0:f.outputFiles.length>0?f.outputFiles[0]:void 0;g?(e.Debug.assert(e.fileExtensionIs(g.name,\".d.ts\"),\"File extension for signature expected to be dts\",(function(){return\"Found: \"+e.getAnyExtensionFromPath(g.name)+\" for \"+g.name+\":: All output files: \"+JSON.stringify(f.outputFiles.map((function(e){return e.name})))})),d=(c||e.generateDjb2Hash)(g.text),u&&d!==_&&function(t,r,i){if(!r)return void i.set(t.resolvedPath,!1);var a;function o(t){t&&(a||(a=new e.Set),a.add(t))}r.forEach((function(e){return o(n(e))})),i.set(t.resolvedPath,a||!1)}(a,f.exportedModulesFromDeclarationEmit,u)):d=_}return o.set(a.resolvedPath,d),!_||d!==_}function d(t,r){if(!t.allFileNames){var n=r.getSourceFiles();t.allFileNames=n===e.emptyArray?e.emptyArray:n.map((function(e){return e.fileName}))}return t.allFileNames}function _(t,r){return e.arrayFrom(e.mapDefinedIterator(t.referencedMap.entries(),(function(e){var t=e[0];return e[1].has(r)?t:void 0})))}function p(t){return function(t){return e.some(t.moduleAugmentations,(function(t){return e.isGlobalScopeAugmentation(t.parent)}))}(t)||!e.isExternalModule(t)&&!function(t){for(var r=0,n=t.statements;r0;){var g=d.pop();if(!u.has(g)){var m=r.getSourceFileByPath(g);u.set(g,m),m&&l(t,r,m,i,a,o,s)&&d.push.apply(d,_(t,m.resolvedPath))}}return e.arrayFrom(e.mapDefinedIterator(u.values(),(function(e){return e})))}r.canReuseOldState=s,r.create=function(t,r,n){var i=new e.Map,a=t.getCompilerOptions().module!==e.ModuleKind.None?new e.Map:void 0,c=a?new e.Map:void 0,u=new e.Set,l=s(a,n);t.getTypeChecker();for(var d=0,_=t.getSourceFiles();d<_.length;d++){var f=_[d],g=e.Debug.checkDefined(f.version,\"Program intended to be used with Builder should have source files with versions set\"),m=l?n.fileInfos.get(f.resolvedPath):void 0;if(a){var y=o(t,f,r);if(y&&a.set(f.resolvedPath,y),l){var v=n.exportedModulesMap.get(f.resolvedPath);v&&c.set(f.resolvedPath,v)}}i.set(f.resolvedPath,{version:g,signature:m&&m.signature,affectsGlobalScope:p(f)})}return{fileInfos:i,referencedMap:a,exportedModulesMap:c,hasCalledUpdateShapeSignature:u}},r.releaseCache=function(e){e.allFilesExcludingDefaultLibraryFile=void 0,e.allFileNames=void 0},r.clone=function(t){return{fileInfos:new e.Map(t.fileInfos),referencedMap:t.referencedMap&&new e.Map(t.referencedMap),exportedModulesMap:t.exportedModulesMap&&new e.Map(t.exportedModulesMap),hasCalledUpdateShapeSignature:new e.Set(t.hasCalledUpdateShapeSignature)}},r.getFilesAffectedBy=function(t,r,n,i,a,o,s){var u=o||new e.Map,d=r.getSourceFileByPath(n);if(!d)return e.emptyArray;if(!l(t,r,d,u,i,a,s))return[d];var _=(t.referencedMap?m:g)(t,r,d,u,i,a,s);return o||c(t,u),_},r.updateSignaturesFromCache=c,r.updateSignatureOfFile=u,r.updateShapeSignature=l,r.updateExportedFilesMapFromCache=function(t,r){r&&(e.Debug.assert(!!t.exportedModulesMap),r.forEach((function(e,r){e?t.exportedModulesMap.set(r,e):t.exportedModulesMap.delete(r)})))},r.getAllDependencies=function(t,r,n){var i=r.getCompilerOptions();if(e.outFile(i))return d(t,r);if(!t.referencedMap||p(n))return d(t,r);for(var a=new e.Set,o=[n.resolvedPath];o.length;){var s=o.pop();if(!a.has(s)){a.add(s);var c=t.referencedMap.get(s);if(c)for(var u=c.keys(),l=u.next();!l.done;l=u.next())o.push(l.value)}}return e.arrayFrom(e.mapDefinedIterator(a.keys(),(function(e){var t,n;return null!==(n=null===(t=r.getSourceFileByPath(e))||void 0===t?void 0:t.fileName)&&void 0!==n?n:e})))},r.getReferencedByPaths=_,r.getAllFilesExcludingDefaultLibraryFile=f}(e.BuilderState||(e.BuilderState={}))}(u||(u={})),function(e){var t;function r(t,r,n){var a=e.BuilderState.create(t,r,n);a.program=t;var o=t.getCompilerOptions();a.compilerOptions=o,e.outFile(o)||(a.semanticDiagnosticsPerFile=new e.Map),a.changedFilesSet=new e.Set;var s=e.BuilderState.canReuseOldState(a.referencedMap,n),c=s?n.compilerOptions:void 0,u=s&&n.semanticDiagnosticsPerFile&&!!a.semanticDiagnosticsPerFile&&!e.compilerOptionsAffectSemanticDiagnostics(o,c);if(s){if(!n.currentChangedFilePath){var l=n.currentAffectedFilesSignatures;e.Debug.assert(!(n.affectedFiles||l&&l.size),\"Cannot reuse if only few affected files of currentChangedFile were iterated\")}var d=n.changedFilesSet;u&&e.Debug.assert(!d||!e.forEachKey(d,(function(e){return n.semanticDiagnosticsPerFile.has(e)})),\"Semantic diagnostics shouldnt be available for changed files\"),null==d||d.forEach((function(e){return a.changedFilesSet.add(e)})),!e.outFile(o)&&n.affectedFilesPendingEmit&&(a.affectedFilesPendingEmit=n.affectedFilesPendingEmit.slice(),a.affectedFilesPendingEmitKind=n.affectedFilesPendingEmitKind&&new e.Map(n.affectedFilesPendingEmitKind),a.affectedFilesPendingEmitIndex=n.affectedFilesPendingEmitIndex,a.seenAffectedFiles=new e.Set)}var _=a.referencedMap,p=s?n.referencedMap:void 0,f=u&&!o.skipLibCheck==!c.skipLibCheck,g=f&&!o.skipDefaultLibCheck==!c.skipDefaultLibCheck;return a.fileInfos.forEach((function(o,c){var l,d,m,y;if(!s||!(l=n.fileInfos.get(c))||l.version!==o.version||(m=d=_&&_.get(c),y=p&&p.get(c),m!==y&&(void 0===m||void 0===y||m.size!==y.size||e.forEachKey(m,(function(e){return!y.has(e)}))))||d&&e.forEachKey(d,(function(e){return!a.fileInfos.has(e)&&n.fileInfos.has(e)})))a.changedFilesSet.add(c);else if(u){var v=t.getSourceFileByPath(c);if(v.isDeclarationFile&&!f)return;if(v.hasNoDefaultLib&&!g)return;var h=n.semanticDiagnosticsPerFile.get(c);h&&(a.semanticDiagnosticsPerFile.set(c,n.hasReusableDiagnostic?function(t,r,n){if(!t.length)return e.emptyArray;var a=e.getDirectoryPath(e.getNormalizedAbsolutePath(e.getTsBuildInfoEmitOutputFilePath(r.getCompilerOptions()),r.getCurrentDirectory()));return t.map((function(e){var t=i(e,r,o);t.reportsUnnecessary=e.reportsUnnecessary,t.reportsDeprecated=e.reportDeprecated,t.source=e.source,t.skippedOn=e.skippedOn;var n=e.relatedInformation;return t.relatedInformation=n?n.length?n.map((function(e){return i(e,r,o)})):[]:void 0,t}));function o(t){return e.toPath(t,a,n)}}(h,t,r):h),a.semanticDiagnosticsFromOldState||(a.semanticDiagnosticsFromOldState=new e.Set),a.semanticDiagnosticsFromOldState.add(c))}})),s&&e.forEachEntry(n.fileInfos,(function(e,t){return e.affectsGlobalScope&&!a.fileInfos.has(t)}))?e.BuilderState.getAllFilesExcludingDefaultLibraryFile(a,t,void 0).forEach((function(e){return a.changedFilesSet.add(e.resolvedPath)})):c&&!e.outFile(o)&&e.compilerOptionsAffectEmit(o,c)&&(t.getSourceFiles().forEach((function(e){return D(a,e.resolvedPath,1)})),e.Debug.assert(!a.seenAffectedFiles||!a.seenAffectedFiles.size),a.seenAffectedFiles=a.seenAffectedFiles||new e.Set),a.buildInfoEmitPending=!!a.changedFilesSet.size,a}function i(e,t,r){var i=e.file;return n(n({},e),{file:i?t.getSourceFileByPath(r(i)):void 0})}function a(t,r){e.Debug.assert(!r||!t.affectedFiles||t.affectedFiles[t.affectedFilesIndex-1]!==r||!t.semanticDiagnosticsPerFile.has(r.resolvedPath))}function o(t,r,n){for(;;){var i=t.affectedFiles;if(i){for(var a=t.seenAffectedFiles,o=t.affectedFilesIndex;o0;){var o=a.pop();if(!i.has(o))if(i.set(o,!0),n(t,o)&&u(t,o)){var s=e.Debug.checkDefined(t.program).getSourceFileByPath(o);a.push.apply(a,e.BuilderState.getReferencedByPaths(t,s.resolvedPath))}}}e.Debug.assert(!!t.currentAffectedFilesExportedModulesMap);var c=new e.Set;if(e.forEachEntry(t.currentAffectedFilesExportedModulesMap,(function(e,i){return e&&e.has(r.resolvedPath)&&l(t,i,c,n)})))return;e.forEachEntry(t.exportedModulesMap,(function(e,i){return!t.currentAffectedFilesExportedModulesMap.has(i)&&e.has(r.resolvedPath)&&l(t,i,c,n)}))}(t,r,(function(t,r){return function(t,r,n,i){if(c(t,r),!t.changedFilesSet.has(r)){var a=e.Debug.checkDefined(t.program),o=a.getSourceFileByPath(r);o&&(e.BuilderState.updateShapeSignature(t,a,o,e.Debug.checkDefined(t.currentAffectedFilesSignatures),n,i,t.currentAffectedFilesExportedModulesMap),e.getEmitDeclarations(t.compilerOptions)&&D(t,r,0))}return!1}(t,r,n,i)}));else if(!t.cleanedDiagnosticsOfLibFiles){t.cleanedDiagnosticsOfLibFiles=!0;var a=e.Debug.checkDefined(t.program),o=a.getCompilerOptions();e.forEach(a.getSourceFiles(),(function(r){return a.isSourceFileDefaultLibrary(r)&&!e.skipTypeChecking(r,o,a)&&c(t,r.resolvedPath)}))}}function c(e,t){return!e.semanticDiagnosticsFromOldState||(e.semanticDiagnosticsFromOldState.delete(t),e.semanticDiagnosticsPerFile.delete(t),!e.semanticDiagnosticsFromOldState.size)}function u(t,r){return e.Debug.checkDefined(t.currentAffectedFilesSignatures).get(r)!==e.Debug.checkDefined(t.fileInfos.get(r)).signature}function l(t,r,n,i){return e.forEachEntry(t.referencedMap,(function(e,a){return e.has(r)&&d(t,a,n,i)}))}function d(t,r,n,i){return!!e.tryAddToSet(n,r)&&(!!i(t,r)||(e.Debug.assert(!!t.currentAffectedFilesExportedModulesMap),!!e.forEachEntry(t.currentAffectedFilesExportedModulesMap,(function(e,a){return e&&e.has(r)&&d(t,a,n,i)}))||(!!e.forEachEntry(t.exportedModulesMap,(function(e,a){return!t.currentAffectedFilesExportedModulesMap.has(a)&&e.has(r)&&d(t,a,n,i)}))||!!e.forEachEntry(t.referencedMap,(function(e,a){return e.has(r)&&!n.has(a)&&i(t,a)})))))}function _(t,r,n,i,a){a?t.buildInfoEmitPending=!1:r===t.program?(t.changedFilesSet.clear(),t.programEmitComplete=!0):(t.seenAffectedFiles.add(r.resolvedPath),void 0!==n&&(t.seenEmittedFiles||(t.seenEmittedFiles=new e.Map)).set(r.resolvedPath,n),i?(t.affectedFilesPendingEmitIndex++,t.buildInfoEmitPending=!0):t.affectedFilesIndex++)}function p(e,t,r){return _(e,r),{result:t,affected:r}}function f(e,t,r,n,i,a){return _(e,r,n,i,a),{result:t,affected:r}}function g(t,r,n){return e.concatenate(function(t,r,n){var i=r.resolvedPath;if(t.semanticDiagnosticsPerFile){var a=t.semanticDiagnosticsPerFile.get(i);if(a)return e.filterSemanticDiagnotics(a,t.compilerOptions)}var o=e.Debug.checkDefined(t.program).getBindAndCheckDiagnostics(r,n);t.semanticDiagnosticsPerFile&&t.semanticDiagnosticsPerFile.set(i,o);return e.filterSemanticDiagnotics(o,t.compilerOptions)}(t,r,n),e.Debug.checkDefined(t.program).getProgramDiagnostics(r))}function m(t,r){var n={},i=e.getOptionsNameMap().optionsNameMap;for(var a in t)e.hasProperty(t,a)&&(n[a]=y(i.get(a.toLowerCase()),t[a],r));return n.configFilePath&&(n.configFilePath=r(n.configFilePath)),n}function y(e,t,r){if(e)if(\"list\"===e.type){var n=t;if(e.element.isFilePath&&n.length)return n.map(r)}else if(e.isFilePath)return r(t);return t}function v(t,r){return e.Debug.assert(!!t.length),t.map((function(e){var t=h(e,r);t.reportsUnnecessary=e.reportsUnnecessary,t.reportDeprecated=e.reportsDeprecated,t.source=e.source,t.skippedOn=e.skippedOn;var n=e.relatedInformation;return t.relatedInformation=n?n.length?n.map((function(e){return h(e,r)})):[]:void 0,t}))}function h(e,t){var r=e.file;return n(n({},e),{file:r?t(r.resolvedPath):void 0})}function D(t,r,n){t.affectedFilesPendingEmit||(t.affectedFilesPendingEmit=[]),t.affectedFilesPendingEmitKind||(t.affectedFilesPendingEmitKind=new e.Map);var i=t.affectedFilesPendingEmitKind.get(r);t.affectedFilesPendingEmit.push(r),t.affectedFilesPendingEmitKind.set(r,i||n),void 0===t.affectedFilesPendingEmitIndex&&(t.affectedFilesPendingEmitIndex=0)}function x(t,r){if(t){var n=new e.Map;for(var i in t)e.hasProperty(t,i)&&n.set(r(i),new e.Set(t[i].map(r)));return n}}function b(t,r){return{getState:e.notImplemented,backupState:e.noop,restoreState:e.noop,getProgram:n,getProgramOrUndefined:function(){return t.program},releaseProgram:function(){return t.program=void 0},getCompilerOptions:function(){return t.compilerOptions},getSourceFile:function(e){return n().getSourceFile(e)},getSourceFiles:function(){return n().getSourceFiles()},getOptionsDiagnostics:function(e){return n().getOptionsDiagnostics(e)},getGlobalDiagnostics:function(e){return n().getGlobalDiagnostics(e)},getConfigFileParsingDiagnostics:function(){return r},getSyntacticDiagnostics:function(e,t){return n().getSyntacticDiagnostics(e,t)},getDeclarationDiagnostics:function(e,t){return n().getDeclarationDiagnostics(e,t)},getSemanticDiagnostics:function(e,t){return n().getSemanticDiagnostics(e,t)},emit:function(e,t,r,i,a){return n().emit(e,t,r,i,a)},emitBuildInfo:function(e,t){return n().emitBuildInfo(e,t)},getAllDependencies:e.notImplemented,getCurrentDirectory:function(){return n().getCurrentDirectory()},close:e.noop};function n(){return e.Debug.checkDefined(t.program)}}!function(e){e[e.DtsOnly=0]=\"DtsOnly\",e[e.Full=1]=\"Full\"}(e.BuilderFileEmit||(e.BuilderFileEmit={})),function(e){e[e.SemanticDiagnosticsBuilderProgram=0]=\"SemanticDiagnosticsBuilderProgram\",e[e.EmitAndSemanticDiagnosticsBuilderProgram=1]=\"EmitAndSemanticDiagnosticsBuilderProgram\"}(t=e.BuilderProgramKind||(e.BuilderProgramKind={})),e.getBuilderCreationParameters=function(t,r,n,i,a,o){var s,c,u;return void 0===t?(e.Debug.assert(void 0===r),s=n,u=i,e.Debug.assert(!!u),c=u.getProgram()):e.isArray(t)?(u=i,c=e.createProgram({rootNames:t,options:r,host:n,oldProgram:u&&u.getProgramOrUndefined(),configFileParsingDiagnostics:a,projectReferences:o}),s=n):(c=t,s=r,u=n,a=i),{host:s,newProgram:c,oldProgram:u,configFileParsingDiagnostics:a||e.emptyArray}},e.createBuilderProgram=function(n,i){var s=i.newProgram,c=i.host,u=i.oldProgram,l=i.configFileParsingDiagnostics,d=u&&u.getState();if(d&&s===d.program&&l===s.getConfigFileParsingDiagnostics())return s=void 0,d=void 0,u;var y,h=e.createGetCanonicalFileName(c.useCaseSensitiveFileNames()),x=e.maybeBind(c,c.createHash),S=r(s,h,d);s.getProgramBuildInfo=function(){return function(t,r){if(!e.outFile(t.compilerOptions)){var n=e.Debug.checkDefined(t.program).getCurrentDirectory(),i=e.getDirectoryPath(e.getNormalizedAbsolutePath(e.getTsBuildInfoEmitOutputFilePath(t.compilerOptions),n)),a={};t.fileInfos.forEach((function(e,r){var n=t.currentAffectedFilesSignatures&&t.currentAffectedFilesSignatures.get(r);a[C(r)]=void 0===n?e:{version:e.version,signature:n,affectsGlobalScope:e.affectsGlobalScope}}));var o={fileInfos:a,options:m(t.compilerOptions,(function(t){return C(e.getNormalizedAbsolutePath(t,n))}))};if(t.referencedMap){for(var s={},c=0,u=e.arrayFrom(t.referencedMap.keys()).sort(e.compareStringsCaseSensitive);c1||47!==t.charCodeAt(0);if(a&&0!==t.search(/[a-zA-Z]:/)&&0===i.search(/[a-zA-z]\\$\\//)){if(-1===(n=t.indexOf(e.directorySeparator,n+1)))return!1;i=t.substring(r+i.length,n+1)}if(a&&0!==i.search(/users\\//i))return!0;for(var o=n+1,s=2;s>0;s--)if(0===(o=t.indexOf(e.directorySeparator,o)+1))return!1;return!0}e.removeIgnoredPath=t,e.canWatchDirectory=r,e.createResolutionCache=function(n,i,a){var o,s,c,u=e.createMultiMap(),l=[],d=e.createMultiMap(),_=!1,p=[],f=[],g=[],m=e.memoize((function(){return n.getCurrentDirectory()})),y=n.getCachedDirectoryStructureHost(),v=new e.Map,h=e.createCacheWithRedirects(),D=e.createCacheWithRedirects(),x=e.createModuleResolutionCacheWithMaps(h,D,m(),n.getCanonicalFileName),b=new e.Map,S=e.createCacheWithRedirects(),E=[\".ts\",\".tsx\",\".js\",\".jsx\",\".json\"],T=new e.Map,C=new e.Map,k=i&&e.removeTrailingDirectorySeparator(e.getNormalizedAbsolutePath(i,m())),A=k&&n.toPath(k),F=void 0!==A?A.split(e.directorySeparator).length:0,N=new e.Map;return{startRecordingFilesWithChangedResolutions:function(){o=[]},finishRecordingFilesWithChangedResolutions:function(){var e=o;return o=void 0,e},startCachingPerDirectoryResolution:M,finishCachingPerDirectoryResolution:function(){c=void 0,M(),C.forEach((function(e,t){0===e.refCount&&(C.delete(t),e.watcher.close())})),_=!1},resolveModuleNames:function(t,r,n,i){return R({names:t,containingFile:r,redirectedReference:i,cache:v,perDirectoryCacheWithRedirects:h,loader:L,getResolutionWithResolvedFileName:P,shouldRetryResolution:function(t){return!t.resolvedModule||!e.resolutionExtensionIsTSOrJson(t.resolvedModule.extension)},reusedNames:n,logChanges:a})},getResolvedModuleWithFailedLookupLocationsFromCache:function(e,t){var r=v.get(n.toPath(t));return r&&r.get(e)},resolveTypeReferenceDirectives:function(t,r,n){return R({names:t,containingFile:r,redirectedReference:n,cache:b,perDirectoryCacheWithRedirects:S,loader:e.resolveTypeReferenceDirective,getResolutionWithResolvedFileName:w,shouldRetryResolution:function(e){return void 0===e.resolvedTypeReferenceDirective}})},removeResolutionsFromProjectReferenceRedirects:function(t){if(!e.fileExtensionIs(t,\".json\"))return;var r=n.getCurrentProgram();if(!r)return;var i=r.getResolvedProjectReferenceByPath(t);if(!i)return;i.commandLine.fileNames.forEach((function(e){return X(n.toPath(e))}))},removeResolutionsOfFile:X,hasChangedAutomaticTypeDirectiveNames:function(){return _},invalidateResolutionOfFile:function(t){X(t);var r=_;Q(d.get(t),e.returnTrue)&&_&&!r&&n.onChangedAutomaticTypeDirectiveNames()},invalidateResolutionsOfFailedLookupLocations:Z,setFilesWithInvalidatedNonRelativeUnresolvedImports:function(t){e.Debug.assert(c===t||void 0===c),c=t},createHasInvalidatedResolution:function(t){if(Z(),t)return s=void 0,e.returnTrue;var r=s;return s=void 0,function(e){return!!r&&r.has(e)||O(e)}},updateTypeRootsWatch:function(){var t=n.getCompilationSettings();if(t.types)return void te();var r=e.getEffectiveTypeRoots(t,{directoryExists:ne,getCurrentDirectory:m});r?e.mutateMap(N,e.arrayToMap(r,(function(e){return n.toPath(e)})),{createNewValue:re,onDeleteValue:e.closeFileWatcher}):te()},closeTypeRootsWatch:te,clear:function(){e.clearMap(C,e.closeFileWatcherOf),T.clear(),u.clear(),te(),v.clear(),b.clear(),d.clear(),l.length=0,p.length=0,f.length=0,g.length=0,M(),_=!1}};function P(e){return e.resolvedModule}function w(e){return e.resolvedTypeReferenceDirective}function I(t,r){return!(void 0===t||r.length<=t.length)&&(e.startsWith(r,t)&&r[t.length]===e.directorySeparator)}function O(e){if(!c)return!1;var t=c.get(e);return!!t&&!!t.length}function M(){h.clear(),D.clear(),S.clear(),u.forEach(V),u.clear()}function L(t,r,i,a,o){var s,c=e.resolveModuleName(t,r,i,a,x,o);if(!n.getGlobalCache)return c;var u=n.getGlobalCache();if(!(void 0===u||e.isExternalModuleNameRelative(t)||c.resolvedModule&&e.extensionIsTS(c.resolvedModule.extension))){var l=e.loadModuleFromGlobalCache(e.Debug.checkDefined(n.globalCacheResolutionModuleName)(t),n.projectName,i,a,u),d=l.resolvedModule,_=l.failedLookupLocations;if(d)return c.resolvedModule=d,(s=c.failedLookupLocations).push.apply(s,_),c}return c}function R(t){var r,i=t.names,a=t.containingFile,s=t.redirectedReference,c=t.cache,u=t.perDirectoryCacheWithRedirects,l=t.loader,d=t.getResolutionWithResolvedFileName,_=t.shouldRetryResolution,p=t.reusedNames,f=t.logChanges,g=n.toPath(a),m=c.get(g)||c.set(g,new e.Map).get(g),y=e.getDirectoryPath(g),v=u.getOrCreateMapOfCacheRedirects(s),h=v.get(y);h||(h=new e.Map,v.set(y,h));for(var D=[],x=n.getCompilationSettings(),b=f&&O(g),S=n.getCurrentProgram(),E=S&&S.getResolvedProjectReferenceToRedirect(a),T=E?!s||s.sourceFile.path!==E.sourceFile.path:!!s,C=new e.Map,k=0,A=i;kF+1?{dir:i.slice(0,F+1).join(e.directorySeparator),dirPath:n.slice(0,F+1).join(e.directorySeparator)}:{dir:k,dirPath:A,nonRecursive:!1}}return J(e.getDirectoryPath(e.getNormalizedAbsolutePath(t,m())),e.getDirectoryPath(r))}function J(t,n){for(;e.pathContainsNodeModules(n);)t=e.getDirectoryPath(t),n=e.getDirectoryPath(n);if(e.isNodeModulesDirectory(n))return r(e.getDirectoryPath(n))?{dir:t,dirPath:n}:void 0;var i,a,o=!0;if(void 0!==A)for(;!I(n,A);){var s=e.getDirectoryPath(n);if(s===n)break;o=!1,i=n,a=t,n=s,t=e.getDirectoryPath(t)}return r(n)?{dir:a||t,dirPath:i||n,nonRecursive:o}:void 0}function K(t){return e.fileExtensionIsOneOf(t,E)}function z(t,r,i,a){if(r.refCount)r.refCount++,e.Debug.assertDefined(r.files);else{r.refCount=1,e.Debug.assert(0===e.length(r.files)),e.isExternalModuleNameRelative(t)?U(r):u.add(t,r);var o=a(r);o&&o.resolvedFileName&&d.add(n.toPath(o.resolvedFileName),r)}(r.files||(r.files=[])).push(i)}function U(t){e.Debug.assert(!!t.refCount);var r=t.failedLookupLocations;if(r.length){l.push(t);for(var i=!1,a=0,o=r;a1),T.set(_,g-1))),f===A?o=!0:H(f)}}o&&H(A)}}}function H(e){C.get(e).refCount--}function G(e,t,r){return n.watchDirectoryOfFailedLookupLocation(e,(function(e){var r=n.toPath(e);y&&y.addOrDeleteFileOrDirectory(e,r),$(r,t===r)}),r?0:1)}function Y(e,t,r){var n=e.get(t);n&&(n.forEach((function(e){return W(e,t,r)})),e.delete(t))}function X(e){Y(v,e,P),Y(b,e,w)}function Q(t,r){if(!t)return!1;for(var n=!1,i=0,a=t;i1&&r.sort(d),c.push.apply(c,r));var i=e.getDirectoryPath(t);if(i===t)return s=t,\"break\";s=t=i},l=e.getDirectoryPath(e.toPath(t,i,a));0!==o.size;){var p=u(l);if(l=s,\"break\"===p)break}if(o.size){var f=e.arrayFrom(o.values());f.length>1&&f.sort(d),c.push.apply(c,f)}return c}function f(t,r,n){for(var i in n)for(var a=0,o=n[i];a=l.length+d.length&&e.startsWith(r,l)&&e.endsWith(r,d)||!d&&r===e.removeTrailingDirectorySeparator(l)){var _=r.substr(l.length,r.length-d.length);return i.replace(\"*\",_)}}else if(c===r||c===t)return i}}function g(t,r,n,i,a){var o=t.path,s=t.isRedirect,c=r.getCanonicalFileName,u=r.sourceDirectory;if(n.fileExists&&n.readFile){var l=function(t){var r,n=0,i=0,a=0,o=0;!function(e){e[e.BeforeNodeModules=0]=\"BeforeNodeModules\",e[e.NodeModules=1]=\"NodeModules\",e[e.Scope=2]=\"Scope\",e[e.PackageContent=3]=\"PackageContent\"}(r||(r={}));var s=0,c=0,u=0;for(;c>=0;)switch(s=c,c=t.indexOf(\"/\",s+1),u){case 0:t.indexOf(e.nodeModulesPathPart,s)===s&&(n=s,i=c,u=1);break;case 1:case 2:1===u&&\"@\"===t.charAt(s+1)?u=2:(a=c,u=3);break;case 3:u=t.indexOf(e.nodeModulesPathPart,s)===s?1:3}return o=s,u>1?{topLevelNodeModulesIndex:n,topLevelPackageNameIndex:i,packageRootIndex:a,fileNameIndex:o}:void 0}(o);if(l){var d=o,_=!1;if(!a)for(var p=l.packageRootIndex,g=void 0;;){var m=E(p),v=m.moduleFileToTry,h=m.packageRootPath;if(h){d=h,_=!0;break}if(g||(g=v),-1===(p=o.indexOf(e.directorySeparator,p+1))){d=T(g);break}}if(!s||_){var D=n.getGlobalTypingsCacheLocation&&n.getGlobalTypingsCacheLocation(),x=c(d.substring(0,l.topLevelNodeModulesIndex));if(e.startsWith(u,x)||D&&e.startsWith(c(D),x)){var b=d.substring(l.topLevelPackageNameIndex+1),S=e.getPackageNameFromTypesPackageName(b);return e.getEmitModuleResolutionKind(i)!==e.ModuleResolutionKind.NodeJs&&S===b?void 0:S}}}}function E(t){var r=o.substring(0,t),a=e.combinePaths(r,\"package.json\"),s=o;if(n.fileExists(a)){var u=JSON.parse(n.readFile(a)),l=u.typesVersions?e.getPackageJsonTypesVersionsPaths(u.typesVersions):void 0;if(l){var d=o.slice(r.length+1),_=f(e.removeFileExtension(d),y(d,0,i),l.paths);void 0!==_&&(s=e.combinePaths(r,_))}var p=u.typings||u.types||u.main;if(e.isString(p)){var g=e.toPath(p,r,c);if(e.removeFileExtension(g)===e.removeFileExtension(c(s)))return{packageRootPath:r,moduleFileToTry:s}}}return{moduleFileToTry:s}}function T(t){var r=e.removeFileExtension(t);return\"/index\"!==c(r.substring(l.fileNameIndex))||function(t,r){if(!t.fileExists)return;for(var n=e.getSupportedExtensions({allowJs:!0},[{extension:\"node\",isMixedContent:!1},{extension:\"json\",isMixedContent:!1,scriptKind:6}]),i=0,a=n;i0?e.ExitStatus.DiagnosticsPresent_OutputsSkipped:_.length>0?e.ExitStatus.DiagnosticsPresent_OutputsGenerated:e.ExitStatus.Success}function p(t,r){return void 0===t&&(t=e.sys),{onWatchStatusChange:r||o(t),watchFile:e.maybeBind(t,t.watchFile)||e.returnNoopFileWatcher,watchDirectory:e.maybeBind(t,t.watchDirectory)||e.returnNoopFileWatcher,setTimeout:e.maybeBind(t,t.setTimeout)||e.noop,clearTimeout:e.maybeBind(t,t.clearTimeout)||e.noop}}function f(t,r){var n=e.memoize((function(){return e.getDirectoryPath(e.normalizePath(t.getExecutingFilePath()))}));return{useCaseSensitiveFileNames:function(){return t.useCaseSensitiveFileNames},getNewLine:function(){return t.newLine},getCurrentDirectory:e.memoize((function(){return t.getCurrentDirectory()})),getDefaultLibLocation:n,getDefaultLibFileName:function(t){return e.combinePaths(n(),e.getDefaultLibFileName(t))},fileExists:function(e){return t.fileExists(e)},readFile:function(e,r){return t.readFile(e,r)},directoryExists:function(e){return t.directoryExists(e)},getDirectories:function(e){return t.getDirectories(e)},readDirectory:function(e,r,n,i,a){return t.readDirectory(e,r,n,i,a)},realpath:e.maybeBind(t,t.realpath),getEnvironmentVariable:e.maybeBind(t,t.getEnvironmentVariable),trace:function(e){return t.write(e+t.newLine)},createDirectory:function(e){return t.createDirectory(e)},writeFile:function(e,r,n){return t.writeFile(e,r,n)},createHash:e.maybeBind(t,t.createHash),createProgram:r||e.createEmitAndSemanticDiagnosticsBuilderProgram}}function g(t,r,n,i){void 0===t&&(t=e.sys);var a=function(e){return t.write(e+t.newLine)},o=f(t,r);return e.copyProperties(o,p(t,i)),o.afterProgramCreate=function(r){var i=r.getCompilerOptions(),s=e.getNewLineCharacter(i,(function(){return t.newLine}));d(r,n,a,(function(t){return o.onWatchStatusChange(e.createCompilerDiagnostic(c(t),t),s,i,t)}))},o}function m(t,r,n){r(n),t.exit(e.ExitStatus.DiagnosticsPresent_OutputsSkipped)}e.createDiagnosticReporter=n,e.screenStartingMessageCodes=[e.Diagnostics.Starting_compilation_in_watch_mode.code,e.Diagnostics.File_change_detected_Starting_incremental_compilation.code],e.getLocaleTimeString=a,e.createWatchStatusReporter=o,e.parseConfigFileWithSystem=function(t,r,n,i,a){var o=i;o.onUnRecoverableConfigFileDiagnostic=function(e){return m(i,a,e)};var s=e.getParsedCommandLineOfConfigFile(t,r,o,void 0,n);return o.onUnRecoverableConfigFileDiagnostic=void 0,s},e.getErrorCountForSummary=s,e.getWatchErrorSummaryDiagnosticMessage=c,e.getErrorSummaryText=u,e.listFiles=l,e.emitFilesAndReportErrors=d,e.emitFilesAndReportErrorsAndGetExitStatus=_,e.noopFileWatcher={close:e.noop},e.returnNoopFileWatcher=function(){return e.noopFileWatcher},e.createWatchHost=p,e.WatchType={ConfigFile:\"Config file\",SourceFile:\"Source file\",MissingFile:\"Missing file\",WildcardDirectory:\"Wild card directory\",FailedLookupLocations:\"Failed Lookup Locations\",TypeRoots:\"Type roots\"},e.createWatchFactory=function(t,r){var n=t.trace?r.extendedDiagnostics?e.WatchLogLevel.Verbose:r.diagnostics?e.WatchLogLevel.TriggerOnly:e.WatchLogLevel.None:e.WatchLogLevel.None,i=n!==e.WatchLogLevel.None?function(e){return t.trace(e)}:e.noop,a=e.getWatchFactory(n,i);return a.writeLog=i,a},e.createCompilerHostFromProgramHost=function(t,r,n){void 0===n&&(n=t);var i=t.useCaseSensitiveFileNames(),a=e.memoize((function(){return t.getNewLine()}));return{getSourceFile:function(n,i,a){var o;try{e.performance.mark(\"beforeIORead\"),o=t.readFile(n,r().charset),e.performance.mark(\"afterIORead\"),e.performance.measure(\"I/O Read\",\"beforeIORead\",\"afterIORead\")}catch(e){a&&a(e.message),o=\"\"}return void 0!==o?e.createSourceFile(n,o,i):void 0},getDefaultLibLocation:e.maybeBind(t,t.getDefaultLibLocation),getDefaultLibFileName:function(e){return t.getDefaultLibFileName(e)},writeFile:function(r,n,i,a){try{e.performance.mark(\"beforeIOWrite\"),e.writeFileEnsuringDirectories(r,n,i,(function(e,r,n){return t.writeFile(e,r,n)}),(function(e){return t.createDirectory(e)}),(function(e){return t.directoryExists(e)})),e.performance.mark(\"afterIOWrite\"),e.performance.measure(\"I/O Write\",\"beforeIOWrite\",\"afterIOWrite\")}catch(e){a&&a(e.message)}},getCurrentDirectory:e.memoize((function(){return t.getCurrentDirectory()})),useCaseSensitiveFileNames:function(){return i},getCanonicalFileName:e.createGetCanonicalFileName(i),getNewLine:function(){return e.getNewLineCharacter(r(),a)},fileExists:function(e){return t.fileExists(e)},readFile:function(e){return t.readFile(e)},trace:e.maybeBind(t,t.trace),directoryExists:e.maybeBind(n,n.directoryExists),getDirectories:e.maybeBind(n,n.getDirectories),realpath:e.maybeBind(t,t.realpath),getEnvironmentVariable:e.maybeBind(t,t.getEnvironmentVariable)||function(){return\"\"},createHash:e.maybeBind(t,t.createHash),readDirectory:e.maybeBind(t,t.readDirectory)}},e.setGetSourceFileAsHashVersioned=function(t,n){var i=t.getSourceFile,a=e.maybeBind(n,n.createHash)||e.generateDjb2Hash;t.getSourceFile=function(){for(var e=[],n=0;ne?t:e}function u(t){return e.fileExtensionIs(t,\".d.ts\")}function l(e){return!!e&&!!e.buildOrder}function d(e){return l(e)?e.buildOrder:e}function _(t,r){return function(n){var i=r?\"[\"+e.formatColorAndReset(e.getLocaleTimeString(t),e.ForegroundColorEscapeSequences.Grey)+\"] \":e.getLocaleTimeString(t)+\" - \";i+=\"\"+e.flattenDiagnosticMessageText(n.messageText,t.newLine)+(t.newLine+t.newLine),t.write(i)}}function p(t,r,n,i){var a=e.createProgramHost(t,r);return a.getModifiedTime=t.getModifiedTime?function(e){return t.getModifiedTime(e)}:e.returnUndefined,a.setModifiedTime=t.setModifiedTime?function(e,r){return t.setModifiedTime(e,r)}:e.noop,a.deleteFile=t.deleteFile?function(e){return t.deleteFile(e)}:e.noop,a.reportDiagnostic=n||e.createDiagnosticReporter(t),a.reportSolutionBuilderStatus=i||_(t),a.now=e.maybeBind(t,t.now),a}function f(t,r,n,i,a){var o,s,c=r,u=r,l=c.getCurrentDirectory(),d=e.createGetCanonicalFileName(c.useCaseSensitiveFileNames()),_=(o=i,s={},e.commonOptionsWithBuild.forEach((function(t){e.hasProperty(o,t.name)&&(s[t.name]=o[t.name])})),s),p=e.createCompilerHostFromProgramHost(c,(function(){return S.projectCompilerOptions}));e.setGetSourceFileAsHashVersioned(p,c),p.getParsedCommandLine=function(e){return v(S,e,m(S,e))},p.resolveModuleNames=e.maybeBind(c,c.resolveModuleNames),p.resolveTypeReferenceDirectives=e.maybeBind(c,c.resolveTypeReferenceDirectives);var f=p.resolveModuleNames?void 0:e.createModuleResolutionCache(l,d);if(!p.resolveModuleNames){var g=function(t,r,n){return e.resolveModuleName(t,r,S.projectCompilerOptions,p,f,n).resolvedModule};p.resolveModuleNames=function(t,r,n,i){return e.loadWithLocalCache(e.Debug.checkEachDefined(t),r,i,g)}}var y=e.createWatchFactory(u,i),h=y.watchFile,D=y.watchFilePath,x=y.watchDirectory,b=y.writeLog,S={host:c,hostWithWatch:u,currentDirectory:l,getCanonicalFileName:d,parseConfigFileHost:e.parseConfigHostFromCompilerHostLike(c),writeFileName:c.trace?function(e){return c.trace(e)}:void 0,options:i,baseCompilerOptions:_,rootNames:n,baseWatchOptions:a,resolvedConfigFilePaths:new e.Map,configFileCache:new e.Map,projectStatus:new e.Map,buildInfoChecked:new e.Map,extendedConfigCache:new e.Map,builderPrograms:new e.Map,diagnostics:new e.Map,projectPendingBuild:new e.Map,projectErrorsReported:new e.Map,compilerHost:p,moduleResolutionCache:f,buildOrder:void 0,readFileWithCache:function(e){return c.readFile(e)},projectCompilerOptions:_,cache:void 0,allProjectBuildPending:!0,needsSummary:!0,watchAllProjectsPending:t,currentInvalidatedProject:void 0,watch:t,allWatchedWildcardDirectories:new e.Map,allWatchedInputFiles:new e.Map,allWatchedConfigFiles:new e.Map,timerToBuildInvalidatedProject:void 0,reportFileChangeDetected:!1,watchFile:h,watchFilePath:D,watchDirectory:x,writeLog:b};return S}function g(t,r){return e.toPath(r,t.currentDirectory,t.getCanonicalFileName)}function m(e,t){var r=e.resolvedConfigFilePaths,n=r.get(t);if(void 0!==n)return n;var i=g(e,t);return r.set(t,i),i}function y(e){return!!e.options}function v(t,r,n){var i,a=t.configFileCache,o=a.get(n);if(o)return y(o)?o:void 0;var s,c=t.parseConfigFileHost,u=t.baseCompilerOptions,l=t.baseWatchOptions,d=t.extendedConfigCache,_=t.host;return _.getParsedCommandLine?(s=_.getParsedCommandLine(r))||(i=e.createCompilerDiagnostic(e.Diagnostics.File_0_not_found,r)):(c.onUnRecoverableConfigFileDiagnostic=function(e){return i=e},s=e.getParsedCommandLineOfConfigFile(r,u,c,d,l),c.onUnRecoverableConfigFileDiagnostic=e.noop),a.set(n,s||i),s}function h(t,r){return e.resolveConfigFileProjectName(e.resolvePath(t.currentDirectory,r))}function D(t,r){for(var n,i,a=new e.Map,o=new e.Map,s=[],c=0,u=r;c0);var o={sourceFile:n.options.configFile,commandLine:n};i.directoryToModuleNameMap.setOwnMap(i.directoryToModuleNameMap.getOrCreateMapOfCacheRedirects(o)),i.moduleNameToDirectoryMap.setOwnMap(i.moduleNameToDirectoryMap.getOrCreateMapOfCacheRedirects(o))}i.directoryToModuleNameMap.setOwnOptions(n.options),i.moduleNameToDirectoryMap.setOwnOptions(n.options)}(l,d,f),D=r.createProgram(f.fileNames,f.options,n,function(t,r,n){var i=t.options,a=t.builderPrograms,o=t.compilerHost;if(i.force)return;var s=a.get(r);return s||e.readBuilderProgram(n.options,o)}(l,_,f),e.getConfigFileParsingDiagnostics(f),f.projectReferences),l.watch&&l.builderPrograms.set(_,D),S++}function F(e,t,r){var n;e.length?(n=M(l,_,D,f,e,t,r),x=n.buildResult,S=n.step):S++}function P(n){e.Debug.assertIsDefined(D),F(r(D.getConfigFileParsingDiagnostics(),D.getOptionsDiagnostics(n),D.getGlobalDiagnostics(n),D.getSyntacticDiagnostics(void 0,n)),t.SyntaxErrors,\"Syntactic\")}function w(r){F(e.Debug.checkDefined(D).getSemanticDiagnostics(void 0,r),t.TypeErrors,\"Semantic\")}function L(r,n,o){var s,d;e.Debug.assertIsDefined(D),e.Debug.assert(S===i.Emit),D.backupState();var p=[],m=e.emitFilesAndReportErrors(D,(function(e){return(d||(d=[])).push(e)}),void 0,void 0,(function(e,t,r){return p.push({name:e,text:t,writeByteOrderMark:r})}),n,!1,o).emitResult;if(d)return D.restoreState(),s=M(l,_,D,f,d,t.DeclarationEmitErrors,\"Declaration file\"),x=s.buildResult,S=s.step,{emitSkipped:!0,diagnostics:m.diagnostics};var y=l.host,v=l.compilerHost,h=t.DeclarationOutputUnchanged,b=a,E=!1,T=e.createDiagnosticCollection(),C=new e.Map;return p.forEach((function(n){var i,a=n.name,o=n.text,s=n.writeByteOrderMark;!E&&u(a)&&(y.fileExists(a)&&l.readFileWithCache(a)===o?i=y.getModifiedTime(a):(h&=~t.DeclarationOutputUnchanged,E=!0)),C.set(g(l,a),a),e.writeFile(r?{writeFile:r}:v,T,a,o,s),void 0!==i&&(b=c(i,b))})),j(T,C,b,E,p.length?p[0].name:e.getFirstProjectOutput(f,!y.useCaseSensitiveFileNames()),h),m}function R(n,a){e.Debug.assertIsDefined(D),e.Debug.assert(S===i.EmitBuildInfo);var o=D.emitBuildInfo(n,a);return o.diagnostics.length&&(ee(l,o.diagnostics),l.diagnostics.set(_,r(l.diagnostics.get(_),o.diagnostics)),x=t.EmitErrors&x),o.emittedFiles&&l.writeFileName&&o.emittedFiles.forEach((function(e){return I(l,f,e)})),O(l,D,f),S=i.QueueReferencingProjects,o}function j(r,n,a,s,c,u){var d,p=r.getDiagnostics();if(p.length)return d=M(l,_,D,f,p,t.EmitErrors,\"Emit\"),x=d.buildResult,S=d.step,p;l.writeFileName&&n.forEach((function(e){return I(l,f,e)}));var g=B(l,f,a,e.Diagnostics.Updating_unchanged_output_timestamps_of_project_0,n);return l.diagnostics.delete(_),l.projectStatus.set(_,{type:e.UpToDateStatusType.UpToDate,newestDeclarationFileContentChangedTime:s?o:g,oldestOutputFileName:c}),O(l,D,f),S=i.QueueReferencingProjects,x=u,p}function K(r,o){if(e.Debug.assert(s===n.UpdateBundle),l.options.dry)return $(l,e.Diagnostics.A_non_dry_build_would_update_output_of_project_0,d),x=t.Success,void(S=i.QueueReferencingProjects);l.options.verbose&&$(l,e.Diagnostics.Updating_output_of_project_0,d);var c=l.compilerHost;l.projectCompilerOptions=f.options;var u=e.emitUsingBuildInfo(f,c,(function(e){var t=h(l,e.path);return v(l,t,m(l,t))}),o);if(e.isString(u))return $(l,e.Diagnostics.Cannot_update_output_of_project_0_because_there_was_error_reading_file_1,d,Q(l,u)),S=i.BuildInvalidatedProjectOfBundle,b=N(n.Build,l,d,_,p,f,y);e.Debug.assert(!!u.length);var D=e.createDiagnosticCollection(),E=new e.Map;return u.forEach((function(t){var n=t.name,i=t.text,a=t.writeByteOrderMark;E.set(g(l,n),n),e.writeFile(r?{writeFile:r}:c,D,n,i,a)})),{emitSkipped:!1,diagnostics:j(D,E,a,!1,u[0].name,t.DeclarationOutputUnchanged)}}function z(t,r,n,a){for(;S<=t&&So)}}}function P(t,r,n){var i=t.options;return!(r.type===e.UpToDateStatusType.OutOfDateWithPrepend&&!i.force)||(0===n.fileNames.length||!!e.getConfigFileParsingDiagnostics(n).length||!e.isIncrementalCompilation(n.options))}function w(t,r,i){if(t.projectPendingBuild.size&&!l(r)){if(t.currentInvalidatedProject)return e.arrayIsEqualTo(t.currentInvalidatedProject.buildOrder,r)?t.currentInvalidatedProject:void 0;for(var a=t.options,o=t.projectPendingBuild,s=0;ss&&(i=p,s=f)}if(!r.fileNames.length&&!e.canJsonReportNoInputFiles(r.raw))return{type:e.UpToDateStatusType.ContainerOnly};for(var g,y=e.getAllProjectOutputs(r,!l.useCaseSensitiveFileNames()),h=\"(none)\",D=o,x=\"(none)\",b=a,S=a,E=!1,T=0,C=y;Tb&&(b=A,x=k),u(k)&&(S=c(S,l.getModifiedTime(k)||e.missingFileModifiedTime))}var F,N=!1,P=!1;if(r.projectReferences){t.projectStatus.set(n,{type:e.UpToDateStatusType.ComputingUpstream});for(var w=0,I=r.projectReferences;w=0},t.findArgument=function(t){var r=e.sys.args.indexOf(t);return r>=0&&r214)return 2;if(46===e.charCodeAt(0))return 3;if(95===e.charCodeAt(0))return 4;if(t){var r=/^@([^/]+)\\/([^/]+)$/.exec(e);if(r){var n=i(r[1],!1);if(0!==n)return{name:r[1],isScopeName:!0,result:n};var a=i(r[2],!1);return 0!==a?{name:r[2],isScopeName:!1,result:a}:0}}return encodeURIComponent(e)!==e?5:0}function a(t,r,n,i){var a=i?\"Scope\":\"Package\";switch(r){case 1:return\"'\"+t+\"':: \"+a+\" name '\"+n+\"' cannot be empty\";case 2:return\"'\"+t+\"':: \"+a+\" name '\"+n+\"' should be less than 214 characters\";case 3:return\"'\"+t+\"':: \"+a+\" name '\"+n+\"' cannot start with '.'\";case 4:return\"'\"+t+\"':: \"+a+\" name '\"+n+\"' cannot start with '_'\";case 5:return\"'\"+t+\"':: \"+a+\" name '\"+n+\"' contains non URI safe characters\";case 0:return e.Debug.fail();default:throw e.Debug.assertNever(r)}}t.validatePackageName=function(e){return i(e,!0)},t.renderPackageNameValidationFailure=function(e,t){return\"object\"==typeof e?a(t,e.result,e.name,e.isScopeName):a(t,e,t,!1)}}(e.JsTyping||(e.JsTyping={}))}(u||(u={})),function(e){var t,r;function n(e){return{indentSize:4,tabSize:4,newLineCharacter:e||\"\\n\",convertTabsToSpaces:!0,indentStyle:t.Smart,insertSpaceAfterConstructor:!1,insertSpaceAfterCommaDelimiter:!0,insertSpaceAfterSemicolonInForStatements:!0,insertSpaceBeforeAndAfterBinaryOperators:!0,insertSpaceAfterKeywordsInControlFlowStatements:!0,insertSpaceAfterFunctionKeywordForAnonymousFunctions:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces:!0,insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces:!1,insertSpaceBeforeFunctionParenthesis:!1,placeOpenBraceOnNewLineForFunctions:!1,placeOpenBraceOnNewLineForControlBlocks:!1,semicolons:r.Ignore,trimTrailingWhitespace:!0}}!function(e){var t=function(){function e(e){this.text=e}return e.prototype.getText=function(e,t){return 0===e&&t===this.text.length?this.text:this.text.substring(e,t)},e.prototype.getLength=function(){return this.text.length},e.prototype.getChangeRange=function(){},e}();e.fromString=function(e){return new t(e)}}(e.ScriptSnapshot||(e.ScriptSnapshot={})),function(e){e[e.Dependencies=1]=\"Dependencies\",e[e.DevDependencies=2]=\"DevDependencies\",e[e.PeerDependencies=4]=\"PeerDependencies\",e[e.OptionalDependencies=8]=\"OptionalDependencies\",e[e.All=15]=\"All\"}(e.PackageJsonDependencyGroup||(e.PackageJsonDependencyGroup={})),function(e){e[e.Off=0]=\"Off\",e[e.On=1]=\"On\",e[e.Auto=2]=\"Auto\"}(e.PackageJsonAutoImportPreference||(e.PackageJsonAutoImportPreference={})),function(e){e[e.Semantic=0]=\"Semantic\",e[e.PartialSemantic=1]=\"PartialSemantic\",e[e.Syntactic=2]=\"Syntactic\"}(e.LanguageServiceMode||(e.LanguageServiceMode={})),e.emptyOptions={},function(e){e.Original=\"original\",e.TwentyTwenty=\"2020\"}(e.SemanticClassificationFormat||(e.SemanticClassificationFormat={})),function(e){e.none=\"none\",e.definition=\"definition\",e.reference=\"reference\",e.writtenReference=\"writtenReference\"}(e.HighlightSpanKind||(e.HighlightSpanKind={})),function(e){e[e.None=0]=\"None\",e[e.Block=1]=\"Block\",e[e.Smart=2]=\"Smart\"}(t=e.IndentStyle||(e.IndentStyle={})),function(e){e.Ignore=\"ignore\",e.Insert=\"insert\",e.Remove=\"remove\"}(r=e.SemicolonPreference||(e.SemicolonPreference={})),e.getDefaultFormatCodeSettings=n,e.testFormatSettings=n(\"\\n\"),function(e){e[e.aliasName=0]=\"aliasName\",e[e.className=1]=\"className\",e[e.enumName=2]=\"enumName\",e[e.fieldName=3]=\"fieldName\",e[e.interfaceName=4]=\"interfaceName\",e[e.keyword=5]=\"keyword\",e[e.lineBreak=6]=\"lineBreak\",e[e.numericLiteral=7]=\"numericLiteral\",e[e.stringLiteral=8]=\"stringLiteral\",e[e.localName=9]=\"localName\",e[e.methodName=10]=\"methodName\",e[e.moduleName=11]=\"moduleName\",e[e.operator=12]=\"operator\",e[e.parameterName=13]=\"parameterName\",e[e.propertyName=14]=\"propertyName\",e[e.punctuation=15]=\"punctuation\",e[e.space=16]=\"space\",e[e.text=17]=\"text\",e[e.typeParameterName=18]=\"typeParameterName\",e[e.enumMemberName=19]=\"enumMemberName\",e[e.functionName=20]=\"functionName\",e[e.regularExpressionLiteral=21]=\"regularExpressionLiteral\"}(e.SymbolDisplayPartKind||(e.SymbolDisplayPartKind={})),function(e){e.Comment=\"comment\",e.Region=\"region\",e.Code=\"code\",e.Imports=\"imports\"}(e.OutliningSpanKind||(e.OutliningSpanKind={})),function(e){e[e.JavaScript=0]=\"JavaScript\",e[e.SourceMap=1]=\"SourceMap\",e[e.Declaration=2]=\"Declaration\"}(e.OutputFileType||(e.OutputFileType={})),function(e){e[e.None=0]=\"None\",e[e.InMultiLineCommentTrivia=1]=\"InMultiLineCommentTrivia\",e[e.InSingleQuoteStringLiteral=2]=\"InSingleQuoteStringLiteral\",e[e.InDoubleQuoteStringLiteral=3]=\"InDoubleQuoteStringLiteral\",e[e.InTemplateHeadOrNoSubstitutionTemplate=4]=\"InTemplateHeadOrNoSubstitutionTemplate\",e[e.InTemplateMiddleOrTail=5]=\"InTemplateMiddleOrTail\",e[e.InTemplateSubstitutionPosition=6]=\"InTemplateSubstitutionPosition\"}(e.EndOfLineState||(e.EndOfLineState={})),function(e){e[e.Punctuation=0]=\"Punctuation\",e[e.Keyword=1]=\"Keyword\",e[e.Operator=2]=\"Operator\",e[e.Comment=3]=\"Comment\",e[e.Whitespace=4]=\"Whitespace\",e[e.Identifier=5]=\"Identifier\",e[e.NumberLiteral=6]=\"NumberLiteral\",e[e.BigIntLiteral=7]=\"BigIntLiteral\",e[e.StringLiteral=8]=\"StringLiteral\",e[e.RegExpLiteral=9]=\"RegExpLiteral\"}(e.TokenClass||(e.TokenClass={})),function(e){e.unknown=\"\",e.warning=\"warning\",e.keyword=\"keyword\",e.scriptElement=\"script\",e.moduleElement=\"module\",e.classElement=\"class\",e.localClassElement=\"local class\",e.interfaceElement=\"interface\",e.typeElement=\"type\",e.enumElement=\"enum\",e.enumMemberElement=\"enum member\",e.variableElement=\"var\",e.localVariableElement=\"local var\",e.functionElement=\"function\",e.localFunctionElement=\"local function\",e.memberFunctionElement=\"method\",e.memberGetAccessorElement=\"getter\",e.memberSetAccessorElement=\"setter\",e.memberVariableElement=\"property\",e.constructorImplementationElement=\"constructor\",e.callSignatureElement=\"call\",e.indexSignatureElement=\"index\",e.constructSignatureElement=\"construct\",e.parameterElement=\"parameter\",e.typeParameterElement=\"type parameter\",e.primitiveType=\"primitive type\",e.label=\"label\",e.alias=\"alias\",e.constElement=\"const\",e.letElement=\"let\",e.directory=\"directory\",e.externalModuleName=\"external module name\",e.jsxAttribute=\"JSX attribute\",e.string=\"string\"}(e.ScriptElementKind||(e.ScriptElementKind={})),function(e){e.none=\"\",e.publicMemberModifier=\"public\",e.privateMemberModifier=\"private\",e.protectedMemberModifier=\"protected\",e.exportedModifier=\"export\",e.ambientModifier=\"declare\",e.staticModifier=\"static\",e.abstractModifier=\"abstract\",e.optionalModifier=\"optional\",e.deprecatedModifier=\"deprecated\",e.dtsModifier=\".d.ts\",e.tsModifier=\".ts\",e.tsxModifier=\".tsx\",e.jsModifier=\".js\",e.jsxModifier=\".jsx\",e.jsonModifier=\".json\"}(e.ScriptElementKindModifier||(e.ScriptElementKindModifier={})),function(e){e.comment=\"comment\",e.identifier=\"identifier\",e.keyword=\"keyword\",e.numericLiteral=\"number\",e.bigintLiteral=\"bigint\",e.operator=\"operator\",e.stringLiteral=\"string\",e.whiteSpace=\"whitespace\",e.text=\"text\",e.punctuation=\"punctuation\",e.className=\"class name\",e.enumName=\"enum name\",e.interfaceName=\"interface name\",e.moduleName=\"module name\",e.typeParameterName=\"type parameter name\",e.typeAliasName=\"type alias name\",e.parameterName=\"parameter name\",e.docCommentTagName=\"doc comment tag name\",e.jsxOpenTagName=\"jsx open tag name\",e.jsxCloseTagName=\"jsx close tag name\",e.jsxSelfClosingTagName=\"jsx self closing tag name\",e.jsxAttribute=\"jsx attribute\",e.jsxText=\"jsx text\",e.jsxAttributeStringLiteralValue=\"jsx attribute string literal value\"}(e.ClassificationTypeNames||(e.ClassificationTypeNames={})),function(e){e[e.comment=1]=\"comment\",e[e.identifier=2]=\"identifier\",e[e.keyword=3]=\"keyword\",e[e.numericLiteral=4]=\"numericLiteral\",e[e.operator=5]=\"operator\",e[e.stringLiteral=6]=\"stringLiteral\",e[e.regularExpressionLiteral=7]=\"regularExpressionLiteral\",e[e.whiteSpace=8]=\"whiteSpace\",e[e.text=9]=\"text\",e[e.punctuation=10]=\"punctuation\",e[e.className=11]=\"className\",e[e.enumName=12]=\"enumName\",e[e.interfaceName=13]=\"interfaceName\",e[e.moduleName=14]=\"moduleName\",e[e.typeParameterName=15]=\"typeParameterName\",e[e.typeAliasName=16]=\"typeAliasName\",e[e.parameterName=17]=\"parameterName\",e[e.docCommentTagName=18]=\"docCommentTagName\",e[e.jsxOpenTagName=19]=\"jsxOpenTagName\",e[e.jsxCloseTagName=20]=\"jsxCloseTagName\",e[e.jsxSelfClosingTagName=21]=\"jsxSelfClosingTagName\",e[e.jsxAttribute=22]=\"jsxAttribute\",e[e.jsxText=23]=\"jsxText\",e[e.jsxAttributeStringLiteralValue=24]=\"jsxAttributeStringLiteralValue\",e[e.bigintLiteral=25]=\"bigintLiteral\"}(e.ClassificationType||(e.ClassificationType={}))}(u||(u={})),function(e){function t(t){switch(t.kind){case 249:return e.isInJSFile(t)&&e.getJSDocEnumTag(t)?7:1;case 160:case 198:case 163:case 162:case 288:case 289:case 165:case 164:case 166:case 167:case 168:case 251:case 208:case 209:case 287:case 280:return 1;case 159:case 253:case 254:case 177:return 2;case 331:return void 0===t.name?3:2;case 291:case 252:return 3;case 256:return e.isAmbientModule(t)||1===e.getModuleInstanceState(t)?5:4;case 255:case 264:case 265:case 260:case 261:case 266:case 267:return 7;case 297:return 5}return 7}function r(t){for(;157===t.parent.kind;)t=t.parent;return e.isInternalModuleImportEqualsDeclaration(t.parent)&&t.parent.moduleReference===t}function i(e){return e.expression}function a(e){return e.tag}function o(e){return e.tagName}function s(t,r,n,i,a){var o=i?u(t):c(t);return a&&(o=e.skipOuterExpressions(o)),!!o&&!!o.parent&&r(o.parent)&&n(o.parent)===o}function c(e){return _(e)?e.parent:e}function u(e){return _(e)||p(e)?e.parent:e}function l(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isBreakOrContinueStatement))||void 0===r?void 0:r.label)===t}function d(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isLabeledStatement))||void 0===r?void 0:r.label)===t}function _(t){var r;return(null===(r=e.tryCast(t.parent,e.isPropertyAccessExpression))||void 0===r?void 0:r.name)===t}function p(t){var r;return(null===(r=e.tryCast(t.parent,e.isElementAccessExpression))||void 0===r?void 0:r.argumentExpression)===t}e.scanner=e.createScanner(99,!0),function(e){e[e.None=0]=\"None\",e[e.Value=1]=\"Value\",e[e.Type=2]=\"Type\",e[e.Namespace=4]=\"Namespace\",e[e.All=7]=\"All\"}(e.SemanticMeaning||(e.SemanticMeaning={})),e.getMeaningFromDeclaration=t,e.getMeaningFromLocation=function(n){return 297===(n=P(n)).kind?1:266===n.parent.kind||272===n.parent.kind||265===n.parent.kind||262===n.parent.kind||e.isImportEqualsDeclaration(n.parent)&&n===n.parent.name?7:r(n)?function(t){var r=157===t.kind?t:e.isQualifiedName(t.parent)&&t.parent.right===t?t.parent:void 0;return r&&260===r.parent.kind?7:4}(n):e.isDeclarationName(n)?t(n.parent):e.isEntityName(n)&&e.isJSDocNameReference(n.parent)?7:function(t){e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent);switch(t.kind){case 107:return!e.isExpressionNode(t);case 187:return!0}switch(t.parent.kind){case 173:return!0;case 195:return!t.parent.isTypeOf;case 223:return!e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)}return!1}(n)?2:function(e){return function(e){var t=e,r=!0;if(157===t.parent.kind){for(;t.parent&&157===t.parent.kind;)t=t.parent;r=t.right===e}return 173===t.parent.kind&&!r}(e)||function(e){var t=e,r=!0;if(201===t.parent.kind){for(;t.parent&&201===t.parent.kind;)t=t.parent;r=t.name===e}if(!r&&223===t.parent.kind&&286===t.parent.parent.kind){var n=t.parent.parent.parent;return 252===n.kind&&116===t.parent.parent.token||253===n.kind&&93===t.parent.parent.token}return!1}(e)}(n)?4:e.isTypeParameterDeclaration(n.parent)?(e.Debug.assert(e.isJSDocTemplateTag(n.parent.parent)),2):e.isLiteralTypeNode(n.parent)?3:1},e.isInRightSideOfInternalImportEqualsDeclaration=r,e.isCallExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isCallExpression,i,r,n)},e.isNewExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isNewExpression,i,r,n)},e.isCallOrNewExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isCallOrNewExpression,i,r,n)},e.isTaggedTemplateTag=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isTaggedTemplateExpression,a,r,n)},e.isDecoratorTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isDecorator,i,r,n)},e.isJsxOpeningLikeElementTagName=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isJsxOpeningLikeElement,o,r,n)},e.climbPastPropertyAccess=c,e.climbPastPropertyOrElementAccess=u,e.getTargetLabel=function(e,t){for(;e;){if(245===e.kind&&e.label.escapedText===t)return e.label;e=e.parent}},e.hasPropertyAccessExpressionWithName=function(t,r){return!!e.isPropertyAccessExpression(t.expression)&&t.expression.name.text===r},e.isJumpStatementTarget=l,e.isLabelOfLabeledStatement=d,e.isLabelName=function(e){return d(e)||l(e)},e.isTagName=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isJSDocTag))||void 0===r?void 0:r.tagName)===t},e.isRightSideOfQualifiedName=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isQualifiedName))||void 0===r?void 0:r.right)===t},e.isRightSideOfPropertyAccess=_,e.isArgumentExpressionOfElementAccess=p,e.isNameOfModuleDeclaration=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isModuleDeclaration))||void 0===r?void 0:r.name)===t},e.isNameOfFunctionDeclaration=function(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isFunctionLike))||void 0===r?void 0:r.name)===t},e.isLiteralNameOfPropertyDeclarationOrIndexAccess=function(t){switch(t.parent.kind){case 163:case 162:case 288:case 291:case 165:case 164:case 167:case 168:case 256:return e.getNameOfDeclaration(t.parent)===t;case 202:return t.parent.argumentExpression===t;case 158:return!0;case 191:return 189===t.parent.parent.kind;default:return!1}},e.isExpressionOfExternalModuleImportEqualsDeclaration=function(t){return e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t},e.getContainerNode=function(t){for(e.isJSDocTypeAlias(t)&&(t=t.parent.parent);;){if(!(t=t.parent))return;switch(t.kind){case 297:case 165:case 164:case 251:case 208:case 167:case 168:case 252:case 253:case 255:case 256:return t}}},e.getNodeKind=function t(r){switch(r.kind){case 297:return e.isExternalModule(r)?\"module\":\"script\";case 256:return\"module\";case 252:case 221:return\"class\";case 253:return\"interface\";case 254:case 324:case 331:return\"type\";case 255:return\"enum\";case 249:return c(r);case 198:return c(e.getRootDeclaration(r));case 209:case 251:case 208:return\"function\";case 167:return\"getter\";case 168:return\"setter\";case 165:case 164:return\"method\";case 288:var n=r.initializer;return e.isFunctionLike(n)?\"method\":\"property\";case 163:case 162:case 289:case 290:return\"property\";case 171:return\"index\";case 170:return\"construct\";case 169:return\"call\";case 166:return\"constructor\";case 159:return\"type parameter\";case 291:return\"enum member\";case 160:return e.hasSyntacticModifier(r,92)?\"property\":\"parameter\";case 260:case 265:case 270:case 263:case 269:return\"alias\";case 216:var i=e.getAssignmentDeclarationKind(r),a=r.right;switch(i){case 7:case 8:case 9:case 0:return\"\";case 1:case 2:var o=t(a);return\"\"===o?\"const\":o;case 3:return e.isFunctionExpression(a)?\"method\":\"property\";case 4:return\"property\";case 5:return e.isFunctionExpression(a)?\"method\":\"property\";case 6:return\"local class\";default:return e.assertType(i),\"\"}case 78:return e.isImportClause(r.parent)?\"alias\":\"\";case 266:var s=t(r.expression);return\"\"===s?\"const\":s;default:return\"\"}function c(t){return e.isVarConst(t)?\"const\":e.isLet(t)?\"let\":\"var\"}},e.isThis=function(t){switch(t.kind){case 107:return!0;case 78:return e.identifierIsThisKeyword(t)&&160===t.parent.kind;default:return!1}};var f=/^\\/\\/\\/\\s*=r.end}function v(e,t,r,n){return Math.max(e,r)t)break;var u=c.getEnd();if(tt.end||e.pos===t.end)&&W(e,n)?r(e):void 0}))}(r)}function L(t,r,n,i){var a=function a(o){if(R(o)&&1!==o.kind)return o;var s=o.getChildren(r),c=e.binarySearchKey(s,t,(function(e,t){return t}),(function(e,r){return t=s[e-1].end?0:1:-1}));if(c>=0&&s[c]){var u=s[c];if(t=t||!W(u,r)||J(u)){var l=j(s,c,r);return l&&B(l,r)}return a(u)}}e.Debug.assert(void 0!==n||297===o.kind||1===o.kind||e.isJSDocCommentContainingNode(o));var d=j(s,s.length,r);return d&&B(d,r)}(n||r);return e.Debug.assert(!(a&&J(a))),a}function R(t){return e.isToken(t)&&!J(t)}function B(e,t){if(R(e))return e;var r=e.getChildren(t);if(0===r.length)return e;var n=j(r,r.length,t);return n&&B(n,t)}function j(t,r,n){for(var i=r-1;i>=0;i--){if(J(t[i]))e.Debug.assert(i>0,\"`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`\");else if(W(t[i],n))return t[i]}}function J(t){return e.isJsxText(t)&&t.containsOnlyTriviaWhiteSpaces}function K(e,t,r){for(var n=e.kind,i=0;;){var a=L(e.getFullStart(),r);if(!a)return;if((e=a).kind===t){if(0===i)return e;i--}else e.kind===n&&i++}}function z(e,t,r){return t?e.getNonNullableType():r?e.getNonOptionalType():e}function U(t,r,n){var i=n.getTypeAtLocation(t);return e.isOptionalChain(t.parent)&&(i=z(i,e.isOptionalChainRoot(t.parent),!0)),(e.isNewExpression(t.parent)?i.getConstructSignatures():i.getCallSignatures()).filter((function(e){return!!e.typeParameters&&e.typeParameters.length>=r}))}function V(t,r){for(var n=t,i=0,a=0;n;){switch(n.kind){case 29:if((n=L(n.getFullStart(),r))&&28===n.kind&&(n=L(n.getFullStart(),r)),!n||!e.isIdentifier(n))return;if(!i)return e.isDeclarationName(n)?void 0:{called:n,nTypeArguments:a};i--;break;case 49:i=3;break;case 48:i=2;break;case 31:i++;break;case 19:if(!(n=K(n,18,r)))return;break;case 21:if(!(n=K(n,20,r)))return;break;case 23:if(!(n=K(n,22,r)))return;break;case 27:a++;break;case 38:case 78:case 10:case 8:case 9:case 109:case 94:case 111:case 93:case 138:case 24:case 51:case 57:case 58:break;default:if(e.isTypeNode(n))break;return}n=L(n.getFullStart(),r)}}function q(t,r,n){return e.formatting.getRangeOfEnclosingComment(t,r,void 0,n)}function W(e,t){return 1===e.kind?!!e.jsDoc:0!==e.getWidth(t)}function H(e,t,r){var n=q(e,t,void 0);return!!n&&r===f.test(e.text.substring(n.pos,n.end))}function G(t,r,n){return e.createTextSpanFromBounds(t.getStart(r),(n||t).getEnd())}function Y(t){if(!t.isUnterminated)return e.createTextSpanFromBounds(t.getStart()+1,t.getEnd()-1)}function X(e,t){return{span:e,newText:t}}function Q(e){return 149===e.kind}function $(t,r){return{fileExists:function(e){return t.fileExists(e)},getCurrentDirectory:function(){return r.getCurrentDirectory()},readFile:e.maybeBind(r,r.readFile),useCaseSensitiveFileNames:e.maybeBind(r,r.useCaseSensitiveFileNames),getSymlinkCache:e.maybeBind(r,r.getSymlinkCache)||t.getSymlinkCache,getGlobalTypingsCacheLocation:e.maybeBind(r,r.getGlobalTypingsCacheLocation),getSourceFiles:function(){return t.getSourceFiles()},redirectTargetsMap:t.redirectTargetsMap,getProjectReferenceRedirect:function(e){return t.getProjectReferenceRedirect(e)},isSourceOfProjectReferenceRedirect:function(e){return t.isSourceOfProjectReferenceRedirect(e)}}}function Z(e,t){return n(n({},$(e,t)),{getCommonSourceDirectory:function(){return e.getCommonSourceDirectory()}})}function ee(t,r,n,i,a){return e.factory.createImportDeclaration(void 0,void 0,t||r?e.factory.createImportClause(!!a,t,r&&r.length?e.factory.createNamedImports(r):void 0):void 0,\"string\"==typeof n?te(n,i):n)}function te(t,r){return e.factory.createStringLiteral(t,0===r)}function re(t,r){return e.isStringDoubleQuoted(t,r)?1:0}function ne(t,r){if(r.quotePreference&&\"auto\"!==r.quotePreference)return\"single\"===r.quotePreference?0:1;var n=t.imports&&e.find(t.imports,(function(t){return e.isStringLiteral(t)&&!e.nodeIsSynthesized(t.parent)}));return n?re(n,t):1}function ie(t){return\"default\"!==t.escapedName?t.escapedName:e.firstDefined(t.declarations,(function(t){var r=e.getNameOfDeclaration(t);return r&&78===r.kind?r.escapedText:void 0}))}function ae(t,r,n,i){var a=new e.Map;return function t(o){if(!(96&o.flags&&e.addToSeen(a,e.getSymbolId(o))))return;return e.firstDefined(o.declarations,(function(a){return e.firstDefined(e.getAllSuperTypeNodes(a),(function(a){var o=n.getTypeAtLocation(a),s=o&&o.symbol&&n.getPropertyOfType(o,r);return o&&s&&(e.firstDefined(n.getRootSymbols(s),i)||t(o.symbol))}))}))}(t)}function oe(t,r,n){return e.textSpanContainsPosition(t,r.getStart(n))&&r.getEnd()<=e.textSpanEnd(t)}function se(e,t){return!!e&&!!t&&e.start===t.start&&e.length===t.length}function ce(e){return e.declarations&&e.declarations.length>0&&160===e.declarations[0].kind}e.getLineStartPositionForPosition=function(t,r){return e.getLineStarts(r)[r.getLineAndCharacterOfPosition(t).line]},e.rangeContainsRange=g,e.rangeContainsRangeExclusive=function(e,t){return m(e,t.pos)&&m(e,t.end)},e.rangeContainsPosition=function(e,t){return e.pos<=t&&t<=e.end},e.rangeContainsPositionExclusive=m,e.startEndContainsRange=y,e.rangeContainsStartEnd=function(e,t,r){return e.pos<=t&&e.end>=r},e.rangeOverlapsWithStartEnd=function(e,t,r){return v(e.pos,e.end,t,r)},e.nodeOverlapsWithStartEnd=function(e,t,r,n){return v(e.getStart(t),e.end,r,n)},e.startEndOverlapsWithStartEnd=v,e.positionBelongsToNode=function(t,r,n){return e.Debug.assert(t.pos<=r),rn.getStart(t)&&rn.getStart(t)},e.isInJSXText=function(t,r){var n=I(t,r);return!!e.isJsxText(n)||(!(18!==n.kind||!e.isJsxExpression(n.parent)||!e.isJsxElement(n.parent.parent))||!(29!==n.kind||!e.isJsxOpeningLikeElement(n.parent)||!e.isJsxElement(n.parent.parent)))},e.isInsideJsxElement=function(e,t){return function(r){for(;r;)if(r.kind>=274&&r.kind<=283||11===r.kind||29===r.kind||31===r.kind||78===r.kind||19===r.kind||18===r.kind||43===r.kind)r=r.parent;else{if(273!==r.kind)return!1;if(t>r.getStart(e))return!0;r=r.parent}return!1}(I(e,t))},e.findPrecedingMatchingToken=K,e.removeOptionality=z,e.isPossiblyTypeArgumentPosition=function t(r,n,i){var a=V(r,n);return void 0!==a&&(e.isPartOfTypeNode(a.called)||0!==U(a.called,a.nTypeArguments,i).length||t(a.called,n,i))},e.getPossibleGenericSignatures=U,e.getPossibleTypeArgumentsInfo=V,e.isInComment=q,e.hasDocComment=function(t,r){var n=I(t,r);return!!e.findAncestor(n,e.isJSDoc)},e.getNodeModifiers=function(t){var r=e.isDeclaration(t)?e.getCombinedNodeFlagsAlwaysIncludeJSDoc(t):0,n=[];return 8&r&&n.push(\"private\"),16&r&&n.push(\"protected\"),4&r&&n.push(\"public\"),32&r&&n.push(\"static\"),128&r&&n.push(\"abstract\"),1&r&&n.push(\"export\"),8192&r&&n.push(\"deprecated\"),8388608&t.flags&&n.push(\"declare\"),266===t.kind&&n.push(\"export\"),n.length>0?n.join(\",\"):\"\"},e.getTypeArgumentOrTypeParameterList=function(t){return 173===t.kind||203===t.kind?t.typeArguments:e.isFunctionLike(t)||252===t.kind||253===t.kind?t.typeParameters:void 0},e.isComment=function(e){return 2===e||3===e},e.isStringOrRegularExpressionOrTemplateLiteral=function(t){return!(10!==t&&13!==t&&!e.isTemplateLiteralKind(t))},e.isPunctuation=function(e){return 18<=e&&e<=77},e.isInsideTemplateLiteral=function(t,r,n){return e.isTemplateLiteralKind(t.kind)&&t.getStart(n)=2||!!e.noEmit},e.createModuleSpecifierResolutionHost=$,e.getModuleSpecifierResolverHost=Z,e.makeImportIfNecessary=function(e,t,r,n){return e||t&&t.length?ee(e,t,r,n):void 0},e.makeImport=ee,e.makeStringLiteral=te,function(e){e[e.Single=0]=\"Single\",e[e.Double=1]=\"Double\"}(e.QuotePreference||(e.QuotePreference={})),e.quotePreferenceFromString=re,e.getQuotePreference=ne,e.getQuoteFromPreference=function(t){switch(t){case 0:return\"'\";case 1:return'\"';default:return e.Debug.assertNever(t)}},e.symbolNameNoDefault=function(t){var r=ie(t);return void 0===r?void 0:e.unescapeLeadingUnderscores(r)},e.symbolEscapedNameNoDefault=ie,e.isObjectBindingElementWithoutPropertyName=function(t){return e.isBindingElement(t)&&e.isObjectBindingPattern(t.parent)&&e.isIdentifier(t.name)&&!t.propertyName},e.getPropertySymbolFromBindingElement=function(e,t){var r=e.getTypeAtLocation(t.parent);return r&&e.getPropertyOfType(r,t.name.text)},e.getPropertySymbolsFromBaseTypes=ae,e.isMemberSymbolInBaseType=function(e,t){return ae(e.parent,e.name,t,(function(e){return!0}))||!1},e.getParentNodeInSpan=function(t,r,n){if(t)for(;t.parent;){if(e.isSourceFile(t.parent)||!oe(n,t.parent,r))return t;t=t.parent}},e.findModifier=function(t,r){return t.modifiers&&e.find(t.modifiers,(function(e){return e.kind===r}))},e.insertImports=function(t,r,n,i){var a=232===(e.isArray(n)?n[0]:n).kind?e.isRequireVariableStatement:e.isAnyImportSyntax,o=e.filter(r.statements,a),s=e.isArray(n)?e.stableSort(n,e.OrganizeImports.compareImportsOrRequireStatements):[n];if(o.length)if(o&&e.OrganizeImports.importsAreSorted(o))for(var c=0,u=s;ca&&r&&\"...\"!==r&&(e.isWhiteSpaceLike(r.charCodeAt(r.length-1))||t.push(de(\" \",e.SymbolDisplayPartKind.space)),t.push(de(\"...\",e.SymbolDisplayPartKind.punctuation))),t},writeKeyword:function(t){return c(t,e.SymbolDisplayPartKind.keyword)},writeOperator:function(t){return c(t,e.SymbolDisplayPartKind.operator)},writePunctuation:function(t){return c(t,e.SymbolDisplayPartKind.punctuation)},writeTrailingSemicolon:function(t){return c(t,e.SymbolDisplayPartKind.punctuation)},writeSpace:function(t){return c(t,e.SymbolDisplayPartKind.space)},writeStringLiteral:function(t){return c(t,e.SymbolDisplayPartKind.stringLiteral)},writeParameter:function(t){return c(t,e.SymbolDisplayPartKind.parameterName)},writeProperty:function(t){return c(t,e.SymbolDisplayPartKind.propertyName)},writeLiteral:function(t){return c(t,e.SymbolDisplayPartKind.stringLiteral)},writeSymbol:function(e,r){if(i>a)return;s(),i+=e.length,t.push(le(e,r))},writeLine:function(){if(i>a)return;i+=1,t.push(fe()),r=!0},write:o,writeComment:o,getText:function(){return\"\"},getTextPos:function(){return 0},getColumn:function(){return 0},getLine:function(){return 0},isAtStartOfLine:function(){return!1},hasTrailingWhitespace:function(){return!1},hasTrailingComment:function(){return!1},rawWrite:e.notImplemented,getIndent:function(){return n},increaseIndent:function(){n++},decreaseIndent:function(){n--},clear:u,trackSymbol:e.noop,reportInaccessibleThisError:e.noop,reportInaccessibleUniqueSymbolError:e.noop,reportPrivateInBaseOfClassExpression:e.noop};function s(){if(!(i>a)&&r){var o=e.getIndentString(n);o&&(i+=o.length,t.push(de(o,e.SymbolDisplayPartKind.space))),r=!1}}function c(e,r){i>a||(s(),i+=e.length,t.push(de(e,r)))}function u(){t=[],r=!0,n=0,i=0}}();function le(t,r){return de(t,function(t){var r=t.flags;if(3&r)return ce(t)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName;if(4&r)return e.SymbolDisplayPartKind.propertyName;if(32768&r)return e.SymbolDisplayPartKind.propertyName;if(65536&r)return e.SymbolDisplayPartKind.propertyName;if(8&r)return e.SymbolDisplayPartKind.enumMemberName;if(16&r)return e.SymbolDisplayPartKind.functionName;if(32&r)return e.SymbolDisplayPartKind.className;if(64&r)return e.SymbolDisplayPartKind.interfaceName;if(384&r)return e.SymbolDisplayPartKind.enumName;if(1536&r)return e.SymbolDisplayPartKind.moduleName;if(8192&r)return e.SymbolDisplayPartKind.methodName;if(262144&r)return e.SymbolDisplayPartKind.typeParameterName;if(524288&r)return e.SymbolDisplayPartKind.aliasName;if(2097152&r)return e.SymbolDisplayPartKind.aliasName;return e.SymbolDisplayPartKind.text}(r))}function de(t,r){return{text:t,kind:e.SymbolDisplayPartKind[r]}}function _e(t){return de(e.tokenToString(t),e.SymbolDisplayPartKind.keyword)}function pe(t){return de(t,e.SymbolDisplayPartKind.text)}e.symbolPart=le,e.displayPart=de,e.spacePart=function(){return de(\" \",e.SymbolDisplayPartKind.space)},e.keywordPart=_e,e.punctuationPart=function(t){return de(e.tokenToString(t),e.SymbolDisplayPartKind.punctuation)},e.operatorPart=function(t){return de(e.tokenToString(t),e.SymbolDisplayPartKind.operator)},e.textOrKeywordPart=function(t){var r=e.stringToToken(t);return void 0===r?pe(t):_e(r)},e.textPart=pe;function fe(){return de(\"\\n\",e.SymbolDisplayPartKind.lineBreak)}function ge(e){try{return e(ue),ue.displayParts()}finally{ue.clear()}}function me(e){return 0!=(33554432&e.flags)}function ye(e){return 0!=(2097152&e.flags)}function ve(e,t){void 0===t&&(t=!0);var r=e&&De(e);return r&&!t&&xe(r),r}function he(t,r,n){var i=n(t);return i?e.setOriginalNode(i,t):i=De(t,n),i&&!r&&xe(i),i}function De(t,r){var n=r?e.visitEachChild(t,(function(e){return he(e,!0,r)}),e.nullTransformationContext):e.visitEachChild(t,ve,e.nullTransformationContext);if(n===t){var i=e.isStringLiteral(t)?e.setOriginalNode(e.factory.createStringLiteralFromNode(t),t):e.isNumericLiteral(t)?e.setOriginalNode(e.factory.createNumericLiteral(t.text,t.numericLiteralFlags),t):e.factory.cloneNode(t);return e.setTextRange(i,t)}return n.parent=void 0,n}function xe(e){be(e),Se(e)}function be(e){Ee(e,512,Te)}function Se(t){Ee(t,1024,e.getLastChild)}function Ee(t,r,n){e.addEmitFlags(t,r);var i=n(t);i&&Ee(i,r,n)}function Te(e){return e.forEachChild((function(e){return e}))}function Ce(t,r,n,i,a){e.forEachLeadingCommentRange(n.text,t.pos,Fe(r,n,i,a,e.addSyntheticLeadingComment))}function ke(t,r,n,i,a){e.forEachTrailingCommentRange(n.text,t.end,Fe(r,n,i,a,e.addSyntheticTrailingComment))}function Ae(t,r,n,i,a){e.forEachTrailingCommentRange(n.text,t.pos,Fe(r,n,i,a,e.addSyntheticLeadingComment))}function Fe(e,t,r,n,i){return function(a,o,s,c){3===s?(a+=2,o-=2):a+=2,i(e,r||s,t.text.slice(a,o),void 0!==n?n:c)}}function Ne(t,r){if(e.startsWith(t,r))return 0;var n=t.indexOf(\" \"+r);return-1===n&&(n=t.indexOf(\".\"+r)),-1===n&&(n=t.indexOf('\"'+r)),-1===n?-1:n+1}function Pe(e){switch(e){case 36:case 34:case 37:case 35:return!0;default:return!1}}function we(e,t){return t.getTypeAtLocation(e.parent.parent.expression)}function Ie(e){return 169===e||170===e||171===e||162===e||164===e}function Oe(e){return 251===e||166===e||165===e||167===e||168===e}function Me(e){return 256===e}function Le(e){return 232===e||233===e||235===e||240===e||241===e||242===e||246===e||248===e||163===e||254===e||261===e||260===e||267===e||259===e||266===e}function Re(e,t){return je(e,e.fileExists,t)}function Be(e){try{return e()}catch(e){return}}function je(e,t){for(var r=[],n=2;n-1&&e.isWhiteSpaceSingleLine(t.charCodeAt(r));)r-=1;return r+1},e.getSynthesizedDeepClone=ve,e.getSynthesizedDeepCloneWithReplacements=he,e.getSynthesizedDeepClones=function(t,r){return void 0===r&&(r=!0),t&&e.factory.createNodeArray(t.map((function(e){return ve(e,r)})),t.hasTrailingComma)},e.getSynthesizedDeepClonesWithReplacements=function(t,r,n){return e.factory.createNodeArray(t.map((function(e){return he(e,r,n)})),t.hasTrailingComma)},e.suppressLeadingAndTrailingTrivia=xe,e.suppressLeadingTrivia=be,e.suppressTrailingTrivia=Se,e.copyComments=function(e,t){var r=e.getSourceFile();!function(e,t){for(var r=e.getFullStart(),n=e.getStart(),i=r;i=0),o},e.copyLeadingComments=Ce,e.copyTrailingComments=ke,e.copyTrailingAsLeadingComments=Ae,e.needsParentheses=function(t){return e.isBinaryExpression(t)&&27===t.operatorToken.kind||e.isObjectLiteralExpression(t)},e.getContextualTypeFromParent=function(e,t){var r=e.parent;switch(r.kind){case 204:return t.getContextualType(r);case 216:var n=r,i=n.left,a=n.operatorToken,o=n.right;return Pe(a.kind)?t.getTypeAtLocation(e===o?i:o):t.getContextualType(e);case 284:return r.expression===e?we(r,t):void 0;default:return t.getContextualType(e)}},e.quote=function(t,r,n){var i=ne(t,r),a=JSON.stringify(n);return 0===i?\"'\"+e.stripQuotes(a).replace(\"'\",\"\\\\'\").replace('\\\\\"','\"')+\"'\":a},e.isEqualityOperatorKind=Pe,e.isStringLiteralOrTemplate=function(e){switch(e.kind){case 10:case 14:case 218:case 205:return!0;default:return!1}},e.hasIndexSignature=function(e){return!!e.getStringIndexType()||!!e.getNumberIndexType()},e.getSwitchedType=we,e.ANONYMOUS=\"anonymous function\",e.getTypeNodeIfAccessible=function(e,t,r,n){var i=r.getTypeChecker(),a=!0,o=function(){a=!1},s=i.typeToTypeNode(e,t,1,{trackSymbol:function(e,t,r){a=a&&0===i.isSymbolAccessible(e,t,r,!1).accessibility},reportInaccessibleThisError:o,reportPrivateInBaseOfClassExpression:o,reportInaccessibleUniqueSymbolError:o,moduleResolverHost:Z(r,n)});return a?s:void 0},e.syntaxRequiresTrailingCommaOrSemicolonOrASI=Ie,e.syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI=Oe,e.syntaxRequiresTrailingModuleBlockOrSemicolonOrASI=Me,e.syntaxRequiresTrailingSemicolonOrASI=Le,e.syntaxMayBeASICandidate=e.or(Ie,Oe,Me,Le),e.positionIsASICandidate=function(t,r,n){var i=e.findAncestor(r,(function(r){return r.end!==t?\"quit\":e.syntaxMayBeASICandidate(r.kind)}));return!!i&&function(t,r){var n=t.getLastToken(r);if(n&&26===n.kind)return!1;if(Ie(t.kind)){if(n&&27===n.kind)return!1}else if(Me(t.kind)){if((i=e.last(t.getChildren(r)))&&e.isModuleBlock(i))return!1}else if(Oe(t.kind)){var i;if((i=e.last(t.getChildren(r)))&&e.isFunctionBlock(i))return!1}else if(!Le(t.kind))return!1;if(235===t.kind)return!0;var a=M(t,e.findAncestor(t,(function(e){return!e.parent})),r);return!a||19===a.kind||r.getLineAndCharacterOfPosition(t.getEnd()).line!==r.getLineAndCharacterOfPosition(a.getStart(r)).line}(i,n)},e.probablyUsesSemicolons=function(t){var r=0,n=0;return e.forEachChild(t,(function i(a){if(Le(a.kind)){var o=a.getLastToken(t);o&&26===o.kind?r++:n++}return r+n>=5||e.forEachChild(a,i)})),0===r&&n<=1||r/n>.2},e.tryGetDirectories=function(e,t){return je(e,e.getDirectories,t)||[]},e.tryReadDirectory=function(t,r,n,i,a){return je(t,t.readDirectory,r,n,i,a)||e.emptyArray},e.tryFileExists=Re,e.tryDirectoryExists=function(t,r){return Be((function(){return e.directoryProbablyExists(r,t)}))||!1},e.tryAndIgnoreErrors=Be,e.tryIOAndConsumeErrors=je,e.findPackageJsons=function(t,r,n){var i=[];return e.forEachAncestorDirectory(t,(function(t){if(t===n)return!0;var a=e.combinePaths(t,\"package.json\");Re(r,a)&&i.push(a)})),i},e.findPackageJson=function(t,r){var n;return e.forEachAncestorDirectory(t,(function(t){return\"node_modules\"===t||(!!(n=e.findConfigFile(t,(function(e){return Re(r,e)}),\"package.json\"))||void 0)})),n},e.getPackageJsonsVisibleToFile=function(t,r){if(!r.fileExists)return[];var n=[];return e.forEachAncestorDirectory(e.getDirectoryPath(t),(function(t){var i=e.combinePaths(t,\"package.json\");if(r.fileExists(i)){var a=Je(i,r);a&&n.push(a)}})),n},e.createPackageJsonInfo=Je,e.consumesNodeCoreModules=function(t){return e.some(t.imports,(function(t){var r=t.text;return e.JsTyping.nodeCoreModules.has(r)}))},e.isInsideNodeModules=function(t){return e.contains(e.getPathComponents(t),\"node_modules\")},e.isDiagnosticWithLocation=Ke,e.findDiagnosticForNode=function(t,r){var n=G(t),i=e.binarySearchKey(r,n,e.identity,e.compareTextSpans);if(i>=0){var a=r[i];return e.Debug.assertEqual(a.file,t.getSourceFile(),\"Diagnostics proided to 'findDiagnosticForNode' must be from a single SourceFile\"),e.cast(a,Ke)}},e.getDiagnosticsWithinSpan=function(t,r){var n,i=e.binarySearchKey(r,t.start,(function(e){return e.start}),e.compareValues);for(i<0&&(i=~i);(null===(n=r[i-1])||void 0===n?void 0:n.start)===t.start;)i--;for(var a=[],o=e.textSpanEnd(t);;){var s=e.tryCast(r[i],Ke);if(!s||s.start>o)break;e.textSpanContainsTextSpan(t,s)&&a.push(s),i++}return a},e.getRefactorContextSpan=function(t){var r=t.startPosition,n=t.endPosition;return e.createTextSpanFromBounds(r,void 0===n?r:n)},e.mapOneOrMany=function(t,r,n){return void 0===n&&(n=e.identity),t?e.isArray(t)?n(e.map(t,r)):r(t,0):void 0},e.firstOrOnly=function(t){return e.isArray(t)?e.first(t):t},e.getNameForExportedSymbol=function(t,r){return\"export=\"===t.escapedName||\"default\"===t.escapedName?e.firstDefined(t.declarations,(function(t){return e.isExportAssignment(t)&&e.isIdentifier(t.expression)?t.expression.text:void 0}))||e.codefix.moduleSymbolToValidIdentifier(function(t){var r;return e.Debug.checkDefined(t.parent,\"Symbol parent was undefined. Flags: \"+e.Debug.formatSymbolFlags(t.flags)+\". Declarations: \"+(null===(r=t.declarations)||void 0===r?void 0:r.map((function(t){var r=e.Debug.formatSyntaxKind(t.kind),n=e.isInJSFile(t),i=t.expression;return(n?\"[JS]\":\"\")+r+(i?\" (expression: \"+e.Debug.formatSyntaxKind(i.kind)+\")\":\"\")})).join(\", \"))+\".\")}(t),r):t.name},e.stringContainsAt=function(e,t,r){var n=t.length;if(n+r>e.length)return!1;for(var i=0;i=i.length){var D=r(o,u,e.lastOrUndefined(d));void 0!==D&&(m=D)}}while(1!==u);function x(){switch(u){case 43:case 67:t[l]||13!==o.reScanSlashToken()||(u=13);break;case 29:78===l&&v++;break;case 31:v>0&&v--;break;case 128:case 147:case 144:case 131:case 148:v>0&&!c&&(u=78);break;case 15:d.push(u);break;case 18:d.length>0&&d.push(u);break;case 19:if(d.length>0){var r=e.lastOrUndefined(d);15===r?17===(u=o.reScanTemplateToken(!1))?d.pop():e.Debug.assertEqual(u,16,\"Should have been a template middle.\"):(e.Debug.assertEqual(r,18,\"Should have been an open brace\"),d.pop())}break;default:if(!e.isKeyword(u))break;(24===l||e.isKeyword(l)&&e.isKeyword(u)&&!function(t,r){if(!e.isAccessibilityModifier(t))return!0;switch(r){case 134:case 146:case 132:case 123:return!0;default:return!1}}(l,u))&&(u=78)}}return{endOfLineState:m,spans:y}}return{getClassificationsForLine:function(t,r,n){return function(t,r){for(var n=[],a=t.spans,o=0,s=0;s=0){var d=c-o;d>0&&n.push({length:d,classification:e.TokenClass.Whitespace})}n.push({length:u,classification:i(l)}),o=c+u}var _=r.length-o;_>0&&n.push({length:_,classification:e.TokenClass.Whitespace});return{entries:n,finalLexState:t.endOfLineState}}(s(t,r,n),t)},getEncodedLexicalClassifications:s}};var t=e.arrayToNumericMap([78,10,8,9,13,107,45,46,21,23,19,109,94],(function(e){return e}),(function(){return!0}));function r(t,r,n){switch(r){case 10:if(!t.isUnterminated())return;for(var i=t.getTokenText(),a=i.length-1,o=0;92===i.charCodeAt(a-o);)o++;if(0==(1&o))return;return 34===i.charCodeAt(0)?3:2;case 3:return t.isUnterminated()?1:void 0;default:if(e.isTemplateLiteralKind(r)){if(!t.isUnterminated())return;switch(r){case 17:return 5;case 14:return 4;default:return e.Debug.fail(\"Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #\"+r)}}return 15===n?6:void 0}}function n(e,t,r,n,i){if(8!==n){0===e&&r>0&&(e+=r);var a=t-e;a>0&&i.push(e-r,a,n)}}function i(t){switch(t){case 1:return e.TokenClass.Comment;case 3:return e.TokenClass.Keyword;case 4:return e.TokenClass.NumberLiteral;case 25:return e.TokenClass.BigIntLiteral;case 5:return e.TokenClass.Operator;case 6:return e.TokenClass.StringLiteral;case 8:return e.TokenClass.Whitespace;case 10:return e.TokenClass.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:return e.TokenClass.Identifier;default:return}}function a(t){if(e.isKeyword(t))return 3;if(function(e){switch(e){case 41:case 43:case 44:case 39:case 40:case 47:case 48:case 49:case 29:case 31:case 32:case 33:case 101:case 100:case 126:case 34:case 35:case 36:case 37:case 50:case 52:case 51:case 55:case 56:case 73:case 72:case 77:case 69:case 70:case 71:case 63:case 64:case 65:case 67:case 68:case 62:case 27:case 60:case 74:case 75:case 76:return!0;default:return!1}}(t)||function(e){switch(e){case 39:case 40:case 54:case 53:case 45:case 46:return!0;default:return!1}}(t))return 5;if(t>=18&&t<=77)return 10;switch(t){case 8:return 4;case 9:return 25;case 10:return 6;case 13:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 78:default:return e.isTemplateLiteralKind(t)?6:2}}function o(e,t){switch(t){case 256:case 252:case 253:case 251:case 221:case 208:case 209:e.throwIfCancellationRequested()}}function s(t,r,n,i,a){var s=[];return n.forEachChild((function u(l){if(l&&e.textSpanIntersectsWith(a,l.pos,l.getFullWidth())){if(o(r,l.kind),e.isIdentifier(l)&&!e.nodeIsMissing(l)&&i.has(l.escapedText)){var d=t.getSymbolAtLocation(l),_=d&&c(d,e.getMeaningFromLocation(l),t);_&&function(t,r,n){var i=r-t;e.Debug.assert(i>0,\"Classification had non-positive length of \"+i),s.push(t),s.push(i),s.push(n)}(l.getStart(n),l.getEnd(),_)}l.forEachChild(u)}})),{spans:s,endOfLineState:0}}function c(t,r,n){var i=t.getFlags();return 0==(2885600&i)?void 0:32&i?11:384&i?12:524288&i?16:1536&i?4&r||1&r&&function(t){return e.some(t.declarations,(function(t){return e.isModuleDeclaration(t)&&1===e.getModuleInstanceState(t)}))}(t)?14:void 0:2097152&i?c(n.getAliasedSymbol(t),r,n):2&r?64&i?13:262144&i?15:void 0:void 0}function u(e){switch(e){case 1:return\"comment\";case 2:return\"identifier\";case 3:return\"keyword\";case 4:return\"number\";case 25:return\"bigint\";case 5:return\"operator\";case 6:return\"string\";case 8:return\"whitespace\";case 9:return\"text\";case 10:return\"punctuation\";case 11:return\"class name\";case 12:return\"enum name\";case 13:return\"interface name\";case 14:return\"module name\";case 15:return\"type parameter name\";case 16:return\"type alias name\";case 17:return\"parameter name\";case 18:return\"doc comment tag name\";case 19:return\"jsx open tag name\";case 20:return\"jsx close tag name\";case 21:return\"jsx self closing tag name\";case 22:return\"jsx attribute\";case 23:return\"jsx text\";case 24:return\"jsx attribute string literal value\";default:return}}function l(t){e.Debug.assert(t.spans.length%3==0);for(var r=t.spans,n=[],i=0;i])*)(\\/>)?)?/im,a=/(\\S+)(\\s*)(=)(\\s*)('[^']+'|\"[^\"]+\")/gim,o=r.text.substr(t,n),s=i.exec(o);if(!s)return!1;if(!s[3]||!(s[3]in e.commentPragmas))return!1;var c=t;_(c,s[1].length),l(c+=s[1].length,s[2].length,10),l(c+=s[2].length,s[3].length,21),c+=s[3].length;var u=s[4],d=c;for(;;){var p=a.exec(u);if(!p)break;var f=c+p.index;f>d&&(_(d,f-d),d=f),l(d,p[1].length,22),d+=p[1].length,p[2].length&&(_(d,p[2].length),d+=p[2].length),l(d,p[3].length,5),d+=p[3].length,p[4].length&&(_(d,p[4].length),d+=p[4].length),l(d,p[5].length,24),d+=p[5].length}(c+=s[4].length)>d&&_(d,c-d);s[5]&&(l(c,s[5].length,10),c+=s[5].length);var g=t+n;c=0),a>0){var o=n||y(t.kind,t);o&&l(i,a,o)}return!0}function y(t,r){if(e.isKeyword(t))return 3;if((29===t||31===t)&&r&&e.getTypeArgumentOrTypeParameterList(r.parent))return 10;if(e.isPunctuation(t)){if(r){var n=r.parent;if(62===t&&(249===n.kind||163===n.kind||160===n.kind||280===n.kind))return 5;if(216===n.kind||214===n.kind||215===n.kind||217===n.kind)return 5}return 10}if(8===t)return 4;if(9===t)return 25;if(10===t)return r&&280===r.parent.kind?24:6;if(13===t)return 6;if(e.isTemplateLiteralKind(t))return 6;if(11===t)return 23;if(78===t){if(r)switch(r.parent.kind){case 252:return r.parent.name===r?11:void 0;case 159:return r.parent.name===r?15:void 0;case 253:return r.parent.name===r?13:void 0;case 255:return r.parent.name===r?12:void 0;case 256:return r.parent.name===r?14:void 0;case 160:return r.parent.name===r?e.isThisIdentifier(r)?3:17:void 0}return 2}}function v(n){if(n&&e.decodedTextSpanIntersectsWith(i,a,n.pos,n.getFullWidth())){o(t,n.kind);for(var s=0,c=n.getChildren(r);s0})))return 0;if(o((function(e){return e.getCallSignatures().length>0}))&&!o((function(e){return e.getProperties().length>0}))||function(t){for(;a(t);)t=t.parent;return e.isCallExpression(t.parent)&&t.parent.expression===t}(r))return 9===n?11:10}}return n}(u,_,g);var y=f.valueDeclaration;if(y){var v=e.getCombinedModifierFlags(y),h=e.getCombinedNodeFlags(y);32&v&&(m|=2),256&v&&(m|=4),0!==g&&2!==g&&(64&v||2&h||8&f.getFlags())&&(m|=8),7!==g&&10!==g||!function(t,r){e.isBindingElement(t)&&(t=i(t));if(e.isVariableDeclaration(t))return(!e.isSourceFile(t.parent.parent.parent)||e.isCatchClause(t.parent))&&t.getSourceFile()===r;if(e.isFunctionDeclaration(t))return!e.isSourceFile(t.parent)&&t.getSourceFile()===r;return!1}(y,r)||(m|=32),t.isSourceFileDefaultLibrary(y.getSourceFile())&&(m|=16)}else f.declarations&&f.declarations.some((function(e){return t.isSourceFileDefaultLibrary(e.getSourceFile())}))&&(m|=16);s(_,g,m)}}}e.forEachChild(_,d),l=p}}d(r)}(t,r,n,(function(e,t,n){c.push(e.getStart(r),e.getWidth(r),(t+1<<8)+n)}),s),c}function i(t){for(;;){if(!e.isBindingElement(t.parent.parent))return t.parent.parent;t=t.parent.parent}}function a(t){return e.isQualifiedName(t.parent)&&t.parent.right===t||e.isPropertyAccessExpression(t.parent)&&t.parent.name===t}!function(e){e[e.typeOffset=8]=\"typeOffset\",e[e.modifierMask=255]=\"modifierMask\"}(t.TokenEncodingConsts||(t.TokenEncodingConsts={})),function(e){e[e.class=0]=\"class\",e[e.enum=1]=\"enum\",e[e.interface=2]=\"interface\",e[e.namespace=3]=\"namespace\",e[e.typeParameter=4]=\"typeParameter\",e[e.type=5]=\"type\",e[e.parameter=6]=\"parameter\",e[e.variable=7]=\"variable\",e[e.enumMember=8]=\"enumMember\",e[e.property=9]=\"property\",e[e.function=10]=\"function\",e[e.member=11]=\"member\"}(t.TokenType||(t.TokenType={})),function(e){e[e.declaration=0]=\"declaration\",e[e.static=1]=\"static\",e[e.async=2]=\"async\",e[e.readonly=3]=\"readonly\",e[e.defaultLibrary=4]=\"defaultLibrary\",e[e.local=5]=\"local\"}(t.TokenModifier||(t.TokenModifier={})),t.getSemanticClassifications=function(t,n,i,a){var o=r(t,n,i,a);e.Debug.assert(o.spans.length%3==0);for(var s=o.spans,c=[],u=0;ua.parameters.length)){var o=r.getParameterType(a,t.argumentIndex);return n=n||!!(4&o.flags),l(o,i)}})),isNewIdentifier:n}}(E,i):T()}case 261:case 267:case 272:return{kind:0,paths:f(t,r,a,o,i)};default:return T()}function T(){return{kind:2,types:l(e.getContextualTypeFromParent(r,i)),isNewIdentifier:!1}}}function c(t){switch(t.kind){case 186:return e.walkUpParenthesizedTypes(t);case 207:return e.walkUpParenthesizedExpressions(t);default:return t}}function u(t){return t&&{kind:1,symbols:e.filter(t.getApparentProperties(),(function(t){return!(t.valueDeclaration&&e.isPrivateIdentifierPropertyDeclaration(t.valueDeclaration))})),hasIndexSignature:e.hasIndexSignature(t)}}function l(t,r){return void 0===r&&(r=new e.Map),t?(t=e.skipConstraint(t)).isUnion()?e.flatMap(t.types,(function(e){return l(e,r)})):!t.isStringLiteral()||1024&t.flags||!e.addToSeen(r,t.value)?e.emptyArray:[t]:e.emptyArray}function d(e,t,r){return{name:e,kind:t,extension:r}}function _(e){return d(e,\"directory\",void 0)}function p(t,r,n){var i=function(t,r){var n=Math.max(t.lastIndexOf(e.directorySeparator),t.lastIndexOf(\"\\\\\")),i=-1!==n?n+1:0,a=t.length-i;return 0===a||e.isIdentifierText(t.substr(i,a),99)?void 0:e.createTextSpan(r+i,a)}(t,r);return n.map((function(e){return{name:e.name,kind:e.kind,extension:e.extension,span:i}}))}function f(t,n,i,a,o){return p(n.text,n.getStart(t)+1,function(t,n,i,a,o){var s=e.normalizeSlashes(n.text),c=t.path,u=e.getDirectoryPath(c);return function(e){if(e&&e.length>=2&&46===e.charCodeAt(0)){var t=e.length>=3&&46===e.charCodeAt(1)?2:1,r=e.charCodeAt(t);return 47===r||92===r}return!1}(s)||!i.baseUrl&&(e.isRootedDiskPath(s)||e.isUrl(s))?function(t,n,i,a,o){var s=g(i);return i.rootDirs?function(t,n,i,a,o,s,c){var u=o.project||s.getCurrentDirectory(),l=!(s.useCaseSensitiveFileNames&&s.useCaseSensitiveFileNames()),d=function(t,n,i,a){t=t.map((function(t){return e.normalizePath(e.isRootedDiskPath(t)?t:e.combinePaths(n,t))}));var o=e.firstDefined(t,(function(t){return e.containsPath(t,i,n,a)?i.substr(t.length):void 0}));return e.deduplicate(r(t.map((function(t){return e.combinePaths(t,o)})),[i]),e.equateStringsCaseSensitive,e.compareStringsCaseSensitive)}(t,u,i,l);return e.flatMap(d,(function(e){return y(n,e,a,s,c)}))}(i.rootDirs,t,n,s,i,a,o):y(t,n,s,a,o)}(s,u,i,a,c):function(t,r,n,i,a){var o=n.baseUrl,s=n.paths,c=[],u=g(n);if(o){var l=n.project||i.getCurrentDirectory(),_=e.normalizePath(e.combinePaths(l,o));y(t,_,u,i,void 0,c),s&&v(c,t,_,u.extensions,s,i)}for(var p=h(t),f=0,m=function(t,r,n){var i=n.getAmbientModules().map((function(t){return e.stripQuotes(t.name)})).filter((function(r){return e.startsWith(r,t)}));if(void 0!==r){var a=e.ensureTrailingDirectorySeparator(r);return i.map((function(t){return e.removePrefix(t,a)}))}return i}(t,p,a);f=e.pos&&r<=e.end}));if(!s)return;var c=t.text.slice(s.pos,r),u=b.exec(c);if(!u)return;var l=u[1],d=u[2],_=u[3],f=e.getDirectoryPath(t.path),m=\"path\"===d?y(_,f,g(n,!0),i,t.path):\"types\"===d?x(i,n,f,h(_),g(n)):e.Debug.fail();return p(_,s.pos+l.length,m)}(r,n,c,u))&&i(_);if(e.isInString(r,n,a)){if(!a||!e.isStringLiteralLike(a))return;var _;return function(r,n,a,o,s,c){if(void 0===r)return;var u=e.createTextSpanFromStringLiteralLikeContent(n);switch(r.kind){case 0:return i(r.paths);case 1:var l=[];return t.getCompletionEntriesFromSymbols(r.symbols,l,n,a,a,o,99,s,4,c),{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:r.hasIndexSignature,optionalReplacementSpan:u,entries:l};case 2:l=r.types.map((function(r){return{name:r.value,kindModifiers:\"\",kind:\"string\",sortText:t.SortText.LocationPriority,replacementSpan:e.getReplacementSpanForContextToken(n)}}));return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:r.isNewIdentifier,optionalReplacementSpan:u,entries:l};default:return e.Debug.assertNever(r)}}(_=s(r,a,n,o,c,u),a,r,o,l,d)}},n.getStringLiteralCompletionDetails=function(r,n,i,o,c,u,l,d){if(o&&e.isStringLiteralLike(o)){var _=s(n,o,i,c,u,l);return _&&function(r,n,i,o,s,c){switch(i.kind){case 0:return(u=e.find(i.paths,(function(e){return e.name===r})))&&t.createCompletionDetails(r,a(u.extension),u.kind,[e.textPart(r)]);case 1:var u;return(u=e.find(i.symbols,(function(e){return e.name===r})))&&t.createCompletionDetailsForSymbol(u,s,o,n,c);case 2:return e.find(i.types,(function(e){return e.value===r}))?t.createCompletionDetails(r,\"\",\"type\",[e.textPart(r)]):void 0;default:return e.Debug.assertNever(i)}}(r,o,_,n,c,d)}},function(e){e[e.Paths=0]=\"Paths\",e[e.Properties=1]=\"Properties\",e[e.Types=2]=\"Types\"}(o||(o={}));var b=/^(\\/\\/\\/\\s*=t.pos;case 24:return 197===n;case 58:return 198===n;case 22:return 197===n;case 20:return 287===n||ce(n);case 18:return 255===n;case 29:return 252===n||221===n||253===n||254===n||e.isFunctionLikeKind(n);case 123:return 163===n&&!e.isClassLike(r.parent);case 25:return 160===n||!!r.parent&&197===r.parent.kind;case 122:case 120:case 121:return 160===n&&!e.isConstructorDeclaration(r.parent);case 126:return 265===n||270===n||263===n;case 134:case 146:return!R(t);case 83:case 91:case 117:case 97:case 112:case 99:case 118:case 84:case 149:return!0;case 41:return e.isFunctionLike(t.parent)&&!e.isMethodDeclaration(t.parent)}if(w(O(t))&&R(t))return!1;if(se(t)&&(!e.isIdentifier(t)||e.isParameterPropertyModifier(O(t))||_e(t)))return!1;switch(O(t)){case 125:case 83:case 84:case 133:case 91:case 97:case 117:case 118:case 120:case 121:case 122:case 123:case 112:return!0;case 129:return e.isPropertyDeclaration(t.parent)}return e.isDeclarationName(t)&&!e.isJsxAttribute(t.parent)&&!(e.isClassLike(t.parent)&&(t!==v||o>v.end))}(t)||function(e){if(8===e.kind){var t=e.getFullText();return\".\"===t.charAt(t.length-1)}return!1}(t)||function(e){if(11===e.kind)return!0;if(31===e.kind&&e.parent){if(275===e.parent.kind)return 275!==N.parent.kind;if(276===e.parent.kind||274===e.parent.kind)return!!e.parent.parent&&273===e.parent.parent.kind}return!1}(t);return n(\"getCompletionsAtPosition: isCompletionListBlocker: \"+(e.timestamp()-r)),a}(h))return void n(\"Returning an empty list because completion was requested in an invalid position.\");var I=h.parent;if(24===h.kind||28===h.kind)switch(S=24===h.kind,E=28===h.kind,I.kind){case 201:if(b=(x=I).expression,(e.isCallExpression(b)||e.isFunctionLike(b))&&b.end===h.pos&&b.getChildCount(i)&&21!==e.last(b.getChildren(i)).kind)return;break;case 157:b=I.left;break;case 256:b=I.name;break;case 195:case 226:b=I;break;default:return}else if(1===i.languageVariant){if(I&&201===I.kind&&(h=I,I=I.parent),_.parent===N)switch(_.kind){case 31:273!==_.parent.kind&&275!==_.parent.kind||(N=_);break;case 43:274===_.parent.kind&&(N=_)}switch(I.kind){case 276:43===h.kind&&(k=!0,N=h);break;case 216:if(!B(I))break;case 274:case 273:case 275:F=!0,29===h.kind&&(C=!0,N=h);break;case 283:19===v.kind&&31===_.kind&&(F=!0);break;case 280:if(I.initializer===v&&v.end0&&(U=function(t,r){if(0===r.length)return t;for(var n=new e.Set,i=new e.Set,a=0,o=r;a\"),kind:\"class\",kindModifiers:void 0,sortText:r.LocationPriority};return{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:!1,optionalReplacementSpan:d(m),entries:[F]}}var P=[];if(_(t,i)){var w=D(c,P,void 0,m,t,n,i.target,a,u,s,y,o.isJsxIdentifierExpected,S,b,x,T);!function(t,n,i,a,o){e.getNameTable(t).forEach((function(t,s){if(t!==n){var c=e.unescapeLeadingUnderscores(s);!i.has(c)&&e.isIdentifierText(c,a)&&(i.add(c),o.push({name:c,kind:\"warning\",kindModifiers:\"\",sortText:r.JavascriptIdentifiers,isFromUncheckedFile:!0}))}}))}(t,m.pos,w,i.target,P)}else{if(!(f||c&&0!==c.length||0!==v))return;D(c,P,void 0,m,t,n,i.target,a,u,s,y,o.isJsxIdentifierExpected,S,b,x,T)}if(0!==v)for(var I=new e.Set(P.map((function(e){return e.name}))),O=0,M=function(t,r){if(!r)return N(t);var n=t+7+1;return A[n]||(A[n]=N(t).filter((function(t){return!function(e){switch(e){case 125:case 128:case 155:case 131:case 133:case 91:case 154:case 116:case 135:case 117:case 137:case 138:case 139:case 140:case 141:case 144:case 145:case 120:case 121:case 122:case 142:case 147:case 148:case 149:case 151:case 152:return!0;default:return!1}}(e.stringToToken(t.name))})))}(v,!E&&e.isSourceFileJS(t));O=0&&!u(r,n[i],114);i--);return e.forEach(a(t.statement),(function(e){s(t,e)&&u(r,e.getFirstToken(),80,85)})),r}function d(e){var t=c(e);if(t)switch(t.kind){case 237:case 238:case 239:case 235:case 236:return l(t);case 244:return _(t)}}function _(t){var r=[];return u(r,t.getFirstToken(),106),e.forEach(t.caseBlock.clauses,(function(n){u(r,n.getFirstToken(),81,87),e.forEach(a(n),(function(e){s(t,e)&&u(r,e.getFirstToken(),80)}))})),r}function p(t,r){var n=[];(u(n,t.getFirstToken(),110),t.catchClause&&u(n,t.catchClause.getFirstToken(),82),t.finallyBlock)&&u(n,e.findChildOfKind(t,95,r),95);return n}function f(t,r){var n=function(t){for(var r=t;r.parent;){var n=r.parent;if(e.isFunctionBlock(n)||297===n.kind)return n;if(e.isTryStatement(n)&&n.tryBlock===r&&n.catchClause)return r;r=n}}(t);if(n){var a=[];return e.forEach(i(n),(function(t){a.push(e.findChildOfKind(t,108,r))})),e.isFunctionBlock(n)&&e.forEachReturnStatement(n,(function(t){a.push(e.findChildOfKind(t,104,r))})),a}}function g(t,r){var n=e.getContainingFunction(t);if(n){var a=[];return e.forEachReturnStatement(e.cast(n.body,e.isBlock),(function(t){a.push(e.findChildOfKind(t,104,r))})),e.forEach(i(n.body),(function(t){a.push(e.findChildOfKind(t,108,r))})),a}}function m(t){var r=e.getContainingFunction(t);if(r){var n=[];return r.modifiers&&r.modifiers.forEach((function(e){u(n,e,129)})),e.forEachChild(r,(function(t){y(t,(function(t){e.isAwaitExpression(t)&&u(n,t.getFirstToken(),130)}))})),n}}function y(t,r){r(t),e.isFunctionLike(t)||e.isClassLike(t)||e.isInterfaceDeclaration(t)||e.isModuleDeclaration(t)||e.isTypeAliasDeclaration(t)||e.isTypeNode(t)||e.forEachChild(t,(function(e){return y(e,r)}))}t.getDocumentHighlights=function(t,i,a,o,s){var c=e.getTouchingPropertyName(a,o);if(c.parent&&(e.isJsxOpeningElement(c.parent)&&c.parent.tagName===c||e.isJsxClosingElement(c.parent))){var v=c.parent.parent,h=[v.openingElement,v.closingElement].map((function(e){return n(e.tagName,a)}));return[{fileName:a.fileName,highlightSpans:h}]}return function(t,r,n,i,a){var o=new e.Set(a.map((function(e){return e.fileName}))),s=e.FindAllReferences.getReferenceEntriesForNode(t,r,n,a,i,void 0,o);if(!s)return;var c=e.arrayToMultiMap(s.map(e.FindAllReferences.toHighlightSpan),(function(e){return e.fileName}),(function(e){return e.span}));return e.arrayFrom(c.entries(),(function(t){var r=t[0],i=t[1];if(!o.has(r)){e.Debug.assert(n.redirectTargetsMap.has(r));var s=n.getSourceFile(r);r=e.find(a,(function(e){return!!e.redirectInfo&&e.redirectInfo.redirectTarget===s})).fileName,e.Debug.assert(o.has(r))}return{fileName:r,highlightSpans:i}}))}(o,c,t,i,s)||function(t,i){var a=function(t,i){switch(t.kind){case 98:case 90:return e.isIfStatement(t.parent)?function(t,r){for(var i=function(t,r){var n=[];for(;e.isIfStatement(t.parent)&&t.parent.elseStatement===t;)t=t.parent;for(;;){var i=t.getChildren(r);u(n,i[0],98);for(var a=i.length-1;a>=0&&!u(n,i[a],90);a--);if(!t.elseStatement||!e.isIfStatement(t.elseStatement))break;t=t.elseStatement}return n}(t,r),a=[],o=0;o=s.end;d--)if(!e.isWhiteSpaceSingleLine(r.text.charCodeAt(d))){l=!1;break}if(l){a.push({fileName:r.fileName,textSpan:e.createTextSpanFromBounds(s.getStart(),c.end),kind:\"reference\"}),o++;continue}}a.push(n(i[o],r))}return a}(t.parent,i):void 0;case 104:return c(t.parent,e.isReturnStatement,g);case 108:return c(t.parent,e.isThrowStatement,f);case 110:case 82:case 95:return c(82===t.kind?t.parent.parent:t.parent,e.isTryStatement,p);case 106:return c(t.parent,e.isSwitchStatement,_);case 81:case 87:return e.isDefaultClause(t.parent)||e.isCaseClause(t.parent)?c(t.parent.parent.parent,e.isSwitchStatement,_):void 0;case 80:case 85:return c(t.parent,e.isBreakOrContinueStatement,d);case 96:case 114:case 89:return c(t.parent,(function(t){return e.isIterationStatement(t,!0)}),l);case 132:return s(e.isConstructorDeclaration,[132]);case 134:case 146:return s(e.isAccessor,[134,146]);case 130:return c(t.parent,e.isAwaitExpression,m);case 129:return v(m(t));case 124:return v(function(t){var r=e.getContainingFunction(t);if(!r)return;var n=[];return e.forEachChild(r,(function(t){y(t,(function(t){e.isYieldExpression(t)&&u(n,t.getFirstToken(),124)}))})),n}(t));default:return e.isModifierKind(t.kind)&&(e.isDeclaration(t.parent)||e.isVariableStatement(t.parent))?v((a=t.kind,o=t.parent,e.mapDefined(function(t,n){var i=t.parent;switch(i.kind){case 257:case 297:case 230:case 284:case 285:return 128&n&&e.isClassDeclaration(t)?r(t.members,[t]):i.statements;case 166:case 165:case 251:return r(i.parameters,e.isClassLike(i.parent)?i.parent.members:[]);case 252:case 221:case 253:case 177:var a=i.members;if(92&n){var o=e.find(i.members,e.isConstructorDeclaration);if(o)return r(a,o.parameters)}else if(128&n)return r(a,[i]);return a;case 200:return;default:e.Debug.assertNever(i,\"Invalid container kind.\")}}(o,e.modifierToFlag(a)),(function(t){return e.findModifier(t,a)})))):void 0}var a,o;function s(r,n){return c(t.parent,r,(function(t){return e.mapDefined(t.symbol.declarations,(function(t){return r(t)?e.find(t.getChildren(i),(function(t){return e.contains(n,t.kind)})):void 0}))}))}function c(e,t,r){return t(e)?v(r(e,i)):void 0}function v(e){return e&&e.map((function(e){return n(e,i)}))}}(t,i);return a&&[{fileName:i.fileName,highlightSpans:a}]}(c,a)}}(e.DocumentHighlights||(e.DocumentHighlights={}))}(u||(u={})),function(e){function t(t,n,i){void 0===n&&(n=\"\");var a=new e.Map,o=e.createGetCanonicalFileName(!!t);function s(e,t,r,n,i,a,o){return u(e,t,r,n,i,a,!0,o)}function c(e,t,r,n,i,a,o){return u(e,t,r,n,i,a,!1,o)}function u(t,r,n,o,s,c,u,l){var d=e.getOrUpdate(a,o,(function(){return new e.Map})),_=d.get(r),p=6===l?100:n.target||1;!_&&i&&((f=i.getDocument(o,r))&&(e.Debug.assert(u),_={sourceFile:f,languageServiceRefCount:0},d.set(r,_)));if(_)_.sourceFile.version!==c&&(_.sourceFile=e.updateLanguageServiceSourceFile(_.sourceFile,s,c,s.getChangeRange(_.sourceFile.scriptSnapshot)),i&&i.setDocument(o,r,_.sourceFile)),u&&_.languageServiceRefCount++;else{var f=e.createLanguageServiceSourceFile(t,s,p,c,!1,l);i&&i.setDocument(o,r,f),_={sourceFile:f,languageServiceRefCount:1},d.set(r,_)}return e.Debug.assert(0!==_.languageServiceRefCount),_.sourceFile}function l(t,r){var n=e.Debug.checkDefined(a.get(r)),i=n.get(t);i.languageServiceRefCount--,e.Debug.assert(i.languageServiceRefCount>=0),0===i.languageServiceRefCount&&n.delete(t)}return{acquireDocument:function(t,i,a,c,u){return s(t,e.toPath(t,n,o),i,r(i),a,c,u)},acquireDocumentWithKey:s,updateDocument:function(t,i,a,s,u){return c(t,e.toPath(t,n,o),i,r(i),a,s,u)},updateDocumentWithKey:c,releaseDocument:function(t,i){return l(e.toPath(t,n,o),r(i))},releaseDocumentWithKey:l,getLanguageServiceRefCounts:function(t){return e.arrayFrom(a.entries(),(function(e){var r=e[0],n=e[1].get(t);return[r,n&&n.languageServiceRefCount]}))},reportStats:function(){var t=e.arrayFrom(a.keys()).filter((function(e){return e&&\"_\"===e.charAt(0)})).map((function(e){var t=a.get(e),r=[];return t.forEach((function(e,t){r.push({name:t,refCount:e.languageServiceRefCount})})),r.sort((function(e,t){return t.refCount-e.refCount})),{bucket:e,sourceFiles:r}}));return JSON.stringify(t,void 0,2)},getKeyForCompilationSettings:r}}function r(t){return e.sourceFileAffectingCompilerOptions.map((function(r){return e.getCompilerOptionValue(t,r)})).join(\"|\")}e.createDocumentRegistry=function(e,r){return t(e,r)},e.createDocumentRegistryInternal=t}(u||(u={})),function(e){!function(t){function r(t,r){return e.forEach(297===t.kind?t.statements:t.body.statements,(function(t){return r(t)||c(t)&&e.forEach(t.body&&t.body.statements,r)}))}function i(t,n){if(t.externalModuleIndicator||void 0!==t.imports)for(var i=0,a=t.imports;i=0&&!(c>n.end);){var u=c+s;0!==c&&e.isIdentifierPart(a.charCodeAt(c-1),99)||u!==o&&e.isIdentifierPart(a.charCodeAt(u),99)||i.push(c),c=a.indexOf(r,c+s+1)}return i}function b(t,r){var n=t.getSourceFile(),i=r.text,o=e.mapDefined(D(n,i,t),(function(t){return t===r||e.isJumpStatementTarget(t)&&e.getTargetLabel(t,i)===r?a(t):void 0}));return[{definition:{type:1,node:r},references:o}]}function S(e,t,r,n){return void 0===n&&(n=!0),r.cancellationToken.throwIfCancellationRequested(),E(e,e,t,r,n)}function E(e,t,r,n,i){if(n.markSearchedSymbols(t,r.allSearchSymbols))for(var a=0,o=x(t,r.text,e);a0;o--){x(t,i=n[o])}return[n.length-1,n[0]]}function x(e,t){var r=y(e,t);f(a,r),c.push(a),u.push(o),o=void 0,a=r}function b(){a.children&&(T(a.children,a),N(a.children)),a=c.pop(),o=u.pop()}function S(e,t,r){x(e,r),E(t),b()}function E(t){var r;if(n.throwIfCancellationRequested(),t&&!e.isToken(t))switch(t.kind){case 166:var i=t;S(i,i.body);for(var a=0,s=i.parameters;a0&&(x(U,R),e.forEachChild(U.right,E),b()):e.isFunctionExpression(U.right)||e.isArrowFunction(U.right)?S(t,U.right,R):(x(U,R),S(t,U.right,O.name),b()),void h(L);case 7:case 9:var J=t,K=(R=7===I?J.arguments[0]:J.arguments[0].expression,J.arguments[1]),z=D(t,R);L=z[0];return x(t,z[1]),x(t,e.setTextRange(e.factory.createIdentifier(K.text),K)),E(t.arguments[2]),b(),b(),void h(L);case 5:var U,V=(O=(U=t).left).expression;if(e.isIdentifier(V)&&\"prototype\"!==e.getElementOrPropertyAccessName(O)&&o&&o.has(V.text))return void(e.isFunctionExpression(U.right)||e.isArrowFunction(U.right)?S(t,U.right,V):e.isBindableStaticAccessExpression(O)&&(x(U,V),S(U.left,U.right,e.getNameOrArgument(O)),b()));break;case 4:case 0:case 8:break;default:e.Debug.assertNever(I)}default:e.hasJSDocNodes(t)&&e.forEach(t.jsDoc,(function(t){e.forEach(t.tags,(function(t){e.isJSDocTypeAlias(t)&&m(t)}))})),e.forEachChild(t,E)}}function T(t,r){var n=new e.Map;e.filterMutate(t,(function(t,i){var a=t.name||e.getNameOfDeclaration(t.node),o=a&&_(a);if(!o)return!0;var s=n.get(o);if(!s)return n.set(o,t),!0;if(s instanceof Array){for(var c=0,u=s;c0)return V(n)}switch(t.kind){case 297:var i=t;return e.isExternalModule(i)?'\"'+e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(i.fileName))))+'\"':\"\";case 266:return e.isExportAssignment(t)&&t.isExportEquals?\"export=\":\"default\";case 209:case 251:case 208:case 252:case 221:return 512&e.getSyntacticModifierFlags(t)?\"default\":z(t);case 166:return\"constructor\";case 170:return\"new()\";case 169:return\"()\";case 171:return\"[]\";default:return\"\"}}function O(t){return{text:I(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:K(t.node),spans:L(t),nameSpan:t.name&&J(t.name),childItems:e.map(t.children,O)}}function M(t){return{text:I(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:K(t.node),spans:L(t),childItems:e.map(t.children,(function(t){return{text:I(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:e.getNodeModifiers(t.node),spans:L(t),childItems:l,indent:0,bolded:!1,grayed:!1}}))||l,indent:t.indent,bolded:!1,grayed:!1}}function L(e){var t=[J(e.node)];if(e.additionalNodes)for(var r=0,n=e.additionalNodes;r0)return V(e.declarationNameToString(t.name));if(e.isVariableDeclaration(r))return V(e.declarationNameToString(r.name));if(e.isBinaryExpression(r)&&62===r.operatorToken.kind)return _(r.left).replace(s,\"\");if(e.isPropertyAssignment(r))return _(r.name);if(512&e.getSyntacticModifierFlags(t))return\"default\";if(e.isClassLike(t))return\"\";if(e.isCallExpression(r)){var n=U(r.expression);if(void 0!==n)return(n=V(n)).length>150?n+\" callback\":n+\"(\"+V(e.mapDefined(r.arguments,(function(t){return e.isStringLiteralLike(t)?t.getText(i):void 0})).join(\", \"))+\") callback\"}return\"\"}function U(t){if(e.isIdentifier(t))return t.text;if(e.isPropertyAccessExpression(t)){var r=U(t.expression),n=t.name.text;return void 0===r?n:r+\".\"+n}}function V(e){return(e=e.length>150?e.substring(0,150)+\"...\":e).replace(/\\\\?(\\r?\\n|\\r|\\u2028|\\u2029)/g,\"\")}}(e.NavigationBar||(e.NavigationBar={}))}(u||(u={})),function(e){!function(t){function r(t,r){var n=e.isStringLiteral(r)&&r.text;return e.isString(n)&&e.some(t.moduleAugmentations,(function(t){return e.isStringLiteral(t)&&t.text===n}))}function n(t){return void 0!==t&&e.isStringLiteralLike(t)?t.text:void 0}function i(t){var r;if(0===t.length)return t;var n=function(t){for(var r,n={defaultImports:[],namespaceImports:[],namedImports:[]},i={defaultImports:[],namespaceImports:[],namedImports:[]},a=0,o=t;a0?g[0]:y[0],k=0===T.length?x?void 0:e.factory.createNamedImports(e.emptyArray):0===y.length?e.factory.createNamedImports(T):e.factory.updateNamedImports(y[0].importClause.namedBindings,T);f&&x&&k?(u.push(o(C,x,void 0)),u.push(o(null!==(r=y[0])&&void 0!==r?r:C,void 0,k))):u.push(o(C,x,k))}}else{var A=g[0];u.push(o(A,A.importClause.name,m[0].importClause.namedBindings))}}return u}function a(t){if(0===t.length)return t;var r=function(e){for(var t,r=[],n=[],i=0,a=e;i...\")}function d(t){var n=e.createTextSpanFromBounds(t.openingFragment.getStart(r),t.closingFragment.getEnd());return c(n,\"code\",n,!1,\"<>...\")}function _(e){if(0!==e.properties.length)return o(e.getStart(r),e.getEnd(),\"code\")}function p(e){if(14!==e.kind||0!==e.text.length)return o(e.getStart(r),e.getEnd(),\"code\")}function f(t,r){return void 0===r&&(r=18),g(t,!1,!e.isArrayLiteralExpression(t.parent)&&!e.isCallExpression(t.parent),r)}function g(n,i,a,o,c){void 0===i&&(i=!1),void 0===a&&(a=!0),void 0===o&&(o=18),void 0===c&&(c=18===o?19:23);var u=e.findChildOfKind(t,o,r),l=e.findChildOfKind(t,c,r);return u&&l&&s(u,l,n,r,i,a)}function m(t){return t.length?c(e.createTextSpanFromRange(t),\"code\"):void 0}}(r,t);d&&i.push(d),u--,e.isCallExpression(r)?(u++,g(r.expression),u--,r.arguments.forEach(g),null===(l=r.typeArguments)||void 0===l||l.forEach(g)):e.isIfStatement(r)&&r.elseStatement&&e.isIfStatement(r.elseStatement)?(g(r.expression),g(r.thenStatement),u++,g(r.elseStatement),u--):r.forEachChild(g),u++}}}(t,n,u),function(t,r){for(var n=[],a=t.getLineStarts(),o=0,s=a;o1&&a.push(o(c,u,\"comment\"))}}function o(t,r,n){return c(e.createTextSpanFromBounds(t,r),n)}function s(t,r,n,i,a,o){return void 0===a&&(a=!1),void 0===o&&(o=!0),c(e.createTextSpanFromBounds(o?t.getFullStart():t.getStart(i),r.getEnd()),\"code\",e.createTextSpanFromNode(n,i),a)}function c(e,t,r,n,i){return void 0===r&&(r=e),void 0===n&&(n=!1),void 0===i&&(i=\"...\"),{textSpan:e,kind:t,hintSpan:r,bannerText:i,autoCollapse:n}}}(e.OutliningElementsCollector||(e.OutliningElementsCollector={}))}(u||(u={})),function(e){var t;function r(e,t){return{kind:e,isCaseSensitive:t}}function n(e,t){var r=t.get(e);return r||t.set(e,r=v(e)),r}function i(i,a,o){var s=function(e,t){for(var r=e.length-t.length,n=function(r){if(T(t,(function(t,n){return _(e.charCodeAt(n+r))===t})))return{value:r}},i=0;i<=r;i++){var a=n(i);if(\"object\"==typeof a)return a.value}return-1}(i,a.textLowerCase);if(0===s)return r(a.text.length===i.length?t.exact:t.prefix,e.startsWith(i,a.text));if(a.isLowerCase){if(-1===s)return;for(var d=0,p=n(i,o);d0)return r(t.substring,!0);if(a.characterSpans.length>0){var g=n(i,o),m=!!u(i,g,a,!1)||!u(i,g,a,!0)&&void 0;if(void 0!==m)return r(t.camelCase,m)}}}function a(e,t,r){if(T(t.totalTextChunk.text,(function(e){return 32!==e&&42!==e}))){var n=i(e,t.totalTextChunk,r);if(n)return n}for(var a,s=0,c=t.subWordTextChunks;s=65&&t<=90)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,99))return!1;var r=String.fromCharCode(t);return r===r.toUpperCase()}function d(t){if(t>=97&&t<=122)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,99))return!1;var r=String.fromCharCode(t);return r===r.toLowerCase()}function _(e){return e>=65&&e<=90?e-65+97:e<127?e:String.fromCharCode(e).toLowerCase().charCodeAt(0)}function p(e){return e>=48&&e<=57}function f(e){return l(e)||d(e)||p(e)||95===e||36===e}function g(e){for(var t=[],r=0,n=0,i=0;i0&&(t.push(m(e.substr(r,n))),n=0)}return n>0&&t.push(m(e.substr(r,n))),t}function m(e){var t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:y(e)}}function y(e){return h(e,!1)}function v(e){return h(e,!0)}function h(t,r){for(var n=[],i=0,a=1;at.length)return;for(var c=n.length-2,u=t.length-1;c>=0;c-=1,u-=1)s=o(s,a(t[u],n[c],i));return s}(t,i,n,r)},getMatchForLastSegmentOfPattern:function(t){return a(t,e.last(n),r)},patternContainsDots:n.length>1}},e.breakIntoCharacterSpans=y,e.breakIntoWordSpans=v}(u||(u={})),function(e){e.preProcessFile=function(t,r,n){void 0===r&&(r=!0),void 0===n&&(n=!1);var i,a,o,s={languageVersion:1,pragmas:void 0,checkJsDirective:void 0,referencedFiles:[],typeReferenceDirectives:[],libReferenceDirectives:[],amdDependencies:[],hasNoDefaultLib:void 0,moduleName:void 0},c=[],u=0,l=!1;function d(){return a=o,18===(o=e.scanner.scan())?u++:19===o&&u--,o}function _(){var t=e.scanner.getTokenValue(),r=e.scanner.getTokenPos();return{fileName:t,pos:r,end:r+t.length}}function p(){c.push(_()),f()}function f(){0===u&&(l=!0)}function g(){var t=e.scanner.getToken();return 133===t&&(139===(t=d())&&10===(t=d())&&(i||(i=[]),i.push({ref:_(),depth:u})),!0)}function m(){if(24===a)return!1;var t=e.scanner.getToken();if(99===t){if(20===(t=d())){if(10===(t=d())||14===t)return p(),!0}else{if(10===t)return p(),!0;149===t&&e.scanner.lookAhead((function(){var t=e.scanner.scan();return 153!==t&&(41===t||18===t||78===t||e.isKeyword(t))}))&&(t=d());if(78===t||e.isKeyword(t))if(153===(t=d())){if(10===(t=d()))return p(),!0}else if(62===t){if(v(!0))return!0}else{if(27!==t)return!0;t=d()}if(18===t){for(t=d();19!==t&&1!==t;)t=d();19===t&&153===(t=d())&&10===(t=d())&&p()}else 41===t&&126===(t=d())&&(78===(t=d())||e.isKeyword(t))&&153===(t=d())&&10===(t=d())&&p()}return!0}return!1}function y(){var t=e.scanner.getToken();if(92===t){if(f(),149===(t=d()))e.scanner.lookAhead((function(){var t=e.scanner.scan();return 41===t||18===t}))&&(t=d());if(18===t){for(t=d();19!==t&&1!==t;)t=d();19===t&&153===(t=d())&&10===(t=d())&&p()}else if(41===t)153===(t=d())&&10===(t=d())&&p();else if(99===t){if(149===(t=d()))e.scanner.lookAhead((function(){var t=e.scanner.scan();return 78===t||e.isKeyword(t)}))&&(t=d());if((78===t||e.isKeyword(t))&&62===(t=d())&&v(!0))return!0}return!0}return!1}function v(t,r){void 0===r&&(r=!1);var n=t?d():e.scanner.getToken();return 143===n&&(20===(n=d())&&(10===(n=d())||r&&14===n)&&p(),!0)}function h(){var t=e.scanner.getToken();if(78===t&&\"define\"===e.scanner.getTokenValue()){if(20!==(t=d()))return!0;if(10===(t=d())||14===t){if(27!==(t=d()))return!0;t=d()}if(22!==t)return!0;for(t=d();23!==t&&1!==t;)10!==t&&14!==t||p(),t=d();return!0}return!1}if(r&&function(){for(e.scanner.setText(t),d();1!==e.scanner.getToken();)g()||m()||y()||n&&(v(!1,!0)||h())||d();e.scanner.setText(void 0)}(),e.processCommentPragmas(s,t),e.processPragmasIntoFields(s,e.noop),l){if(i)for(var D=0,x=i;Dt)break e;if(r(i,t,m)){if(e.isBlock(m)||e.isTemplateSpan(m)||e.isTemplateHead(m)||e.isTemplateTail(m)||g&&e.isTemplateHead(g)||e.isVariableDeclarationList(m)&&e.isVariableStatement(_)||e.isSyntaxList(m)&&e.isVariableDeclarationList(_)||e.isVariableDeclaration(m)&&e.isSyntaxList(_)&&1===p.length||e.isJSDocTypeExpression(m)||e.isJSDocSignature(m)||e.isJSDocTypeLiteral(m)){_=m;break}if(e.isTemplateSpan(_)&&y&&e.isTemplateMiddleOrTemplateTail(y))x(m.getFullStart()-\"${\".length,y.getStart()+\"}\".length);var v=e.isSyntaxList(m)&&(c=void 0,18===(c=(s=g)&&s.kind)||22===c||20===c||275===c)&&u(y)&&!e.positionsAreOnSameLine(g.getStart(),y.getStart(),i),h=v?g.getEnd():m.getStart(),D=v?y.getStart():l(i,m);e.hasJSDocNodes(m)&&(null===(o=m.jsDoc)||void 0===o?void 0:o.length)&&x(e.first(m.jsDoc).getStart(),D),x(h,D),(e.isStringLiteral(m)||e.isTemplateLiteral(m))&&x(h+1,D-1),_=m;break}if(f===p.length-1)break e}}return d;function x(r,i){if(r!==i){var a=e.createTextSpanFromBounds(r,i);(!d||!e.textSpansEqual(a,d.textSpan)&&e.textSpanIntersectsWithPosition(a,t))&&(d=n({textSpan:a},d&&{parent:d}))}}};var i=e.or(e.isImportDeclaration,e.isImportEqualsDeclaration);function a(t){if(e.isSourceFile(t))return o(t.getChildAt(0).getChildren(),i);if(e.isMappedTypeNode(t)){var r=t.getChildren(),n=r[0],a=r.slice(1),u=e.Debug.checkDefined(a.pop());e.Debug.assertEqual(n.kind,18),e.Debug.assertEqual(u.kind,19);var l=o(a,(function(e){return e===t.readonlyToken||142===e.kind||e===t.questionToken||57===e.kind}));return[n,c(s(o(l,(function(e){var t=e.kind;return 22===t||159===t||23===t})),(function(e){return 58===e.kind}))),u]}if(e.isPropertySignature(t))return s(a=o(t.getChildren(),(function(r){return r===t.name||e.contains(t.modifiers,r)})),(function(e){return 58===e.kind}));if(e.isParameter(t)){var d=o(t.getChildren(),(function(e){return e===t.dotDotDotToken||e===t.name}));return s(o(d,(function(e){return e===d[0]||e===t.questionToken})),(function(e){return 62===e.kind}))}return e.isBindingElement(t)?s(t.getChildren(),(function(e){return 62===e.kind})):t.getChildren()}function o(e,t){for(var r,n=[],i=0,a=e;i0&&27===e.last(r).kind&&n++;return n}(i);return 0!==a&&e.Debug.assertLessThan(a,o),{list:i,argumentIndex:a,argumentCount:o,argumentsSpan:function(t,r){var n=t.getFullStart(),i=e.skipTrivia(r.text,t.getEnd(),!1);return e.createTextSpan(n,i-n)}(i,r)}}}function s(t,r,n){var i=t.parent;if(e.isCallOrNewExpression(i)){var a=i,s=o(t,n);if(!s)return;var c=s.list,u=s.argumentIndex,l=s.argumentCount,d=s.argumentsSpan;return{isTypeParameterList:!!i.typeArguments&&i.typeArguments.pos===c.pos,invocation:{kind:0,node:a},argumentsSpan:d,argumentIndex:u,argumentCount:l}}if(e.isNoSubstitutionTemplateLiteral(t)&&e.isTaggedTemplateExpression(i))return e.isInsideTemplateLiteral(t,r,n)?_(i,0,n):void 0;if(e.isTemplateHead(t)&&205===i.parent.kind){var p=i,f=p.parent;return e.Debug.assert(218===p.kind),_(f,u=e.isInsideTemplateLiteral(t,r,n)?0:1,n)}if(e.isTemplateSpan(i)&&e.isTaggedTemplateExpression(i.parent.parent)){var g=i;f=i.parent.parent;if(e.isTemplateTail(t)&&!e.isInsideTemplateLiteral(t,r,n))return;return _(f,u=function(t,r,n,i){if(e.Debug.assert(n>=r.getStart(),\"Assumed 'position' could not occur before node.\"),e.isTemplateLiteralToken(r))return e.isInsideTemplateLiteral(r,n,i)?0:t+2;return t+1}(g.parent.templateSpans.indexOf(g),t,r,n),n)}if(e.isJsxOpeningLikeElement(i)){var m=i.attributes.pos,y=e.skipTrivia(n.text,i.attributes.end,!1);return{isTypeParameterList:!1,invocation:{kind:0,node:i},argumentsSpan:e.createTextSpan(m,y-m),argumentIndex:0,argumentCount:1}}var v=e.getPossibleTypeArgumentsInfo(t,n);if(v){var h=v.called,D=v.nTypeArguments;return{isTypeParameterList:!0,invocation:a={kind:1,called:h},argumentsSpan:d=e.createTextSpanFromBounds(h.getStart(n),t.end),argumentIndex:D,argumentCount:D+1}}}function c(t){return e.isBinaryExpression(t.parent)?c(t.parent):t}function u(t){return e.isBinaryExpression(t.left)?u(t.left)+1:2}function l(t){return\"__type\"===t.name&&e.firstDefined(t.declarations,(function(t){return e.isFunctionTypeNode(t)?t.parent.symbol:void 0}))||t}function d(e,t){for(var r=0,n=0,i=e.getChildren();n=0&&i.length>a+1),i[a+1]}function g(t){return 0===t.kind?e.getInvokedExpression(t.node):t.called}function m(e){return 0===e.kind?e.node:1===e.kind?e.called:e.node}!function(e){e[e.Call=0]=\"Call\",e[e.TypeArgs=1]=\"TypeArgs\",e[e.Contextual=2]=\"Contextual\"}(n||(n={})),t.getSignatureHelpItems=function(t,r,n,i,d){var _=t.getTypeChecker(),p=e.findTokenOnLeftOfPosition(r,n);if(p){var f=!!i&&\"characterTyped\"===i.kind;if(!f||!e.isInString(r,n,p)&&!e.isInComment(r,n)){var y=!!i&&\"invoked\"===i.kind,D=function(t,r,n,i,a){for(var d=function(t){e.Debug.assert(e.rangeContainsRange(t.parent,t),\"Not a subspan\",(function(){return\"Child: \"+e.Debug.formatSyntaxKind(t.kind)+\", parent: \"+e.Debug.formatSyntaxKind(t.parent.kind)}));var a=function(t,r,n,i){return function(t,r,n,i){var a=function(t,r,n){if(20!==t.kind&&27!==t.kind)return;var i=t.parent;switch(i.kind){case 207:case 165:case 208:case 209:var a=o(t,r);if(!a)return;var s=a.argumentIndex,l=a.argumentCount,d=a.argumentsSpan,_=e.isMethodDeclaration(i)?n.getContextualTypeForObjectLiteralElement(i):n.getContextualType(i);return _&&{contextualType:_,argumentIndex:s,argumentCount:l,argumentsSpan:d};case 216:var p=c(i),f=n.getContextualType(p),g=20===t.kind?0:u(i)-1,m=u(p);return f&&{contextualType:f,argumentIndex:g,argumentCount:m,argumentsSpan:e.createTextSpanFromNode(i)};default:return}}(t,n,i);if(!a)return;var s=a.contextualType,d=a.argumentIndex,_=a.argumentCount,p=a.argumentsSpan,f=s.getNonNullableType(),g=f.getCallSignatures();return 1!==g.length?void 0:{isTypeParameterList:!1,invocation:{kind:2,signature:e.first(g),node:t,symbol:l(f.symbol)},argumentsSpan:p,argumentIndex:d,argumentCount:_}}(t,0,n,i)||s(t,r,n)}(t,r,n,i);if(a)return{value:a}},_=t;!e.isSourceFile(_)&&(a||!e.isBlock(_));_=_.parent){var p=d(_);if(\"object\"==typeof p)return p.value}return}(p,n,r,_,y);if(D){d.throwIfCancellationRequested();var x=function(t,r,n,i,o){var s=t.invocation,c=t.argumentCount;switch(s.kind){case 0:if(o&&!function(t,r,n){if(!e.isCallOrNewExpression(r))return!1;var i=r.getChildren(n);switch(t.kind){case 20:return e.contains(i,t);case 27:var o=e.findContainingList(t);return!!o&&e.contains(i,o);case 29:return a(t,n,r.expression);default:return!1}}(i,s.node,n))return;var u=[],l=r.getResolvedSignatureForSignatureHelp(s.node,u,c);return 0===u.length?void 0:{kind:0,candidates:u,resolvedSignature:l};case 1:var d=s.called;if(o&&!a(i,n,e.isIdentifier(d)?d.parent:d))return;if(0!==(u=e.getPossibleGenericSignatures(d,c,r)).length)return{kind:0,candidates:u,resolvedSignature:e.first(u)};var _=r.getSymbolAtLocation(d);return _&&{kind:1,symbol:_};case 2:return{kind:0,candidates:[s.signature],resolvedSignature:s.signature};default:return e.Debug.assertNever(s)}}(D,_,r,p,f);return d.throwIfCancellationRequested(),x?_.runWithCancellationToken(d,(function(e){return 0===x.kind?v(x.candidates,x.resolvedSignature,D,r,e):function(e,t,r,n){var i=t.argumentCount,a=t.argumentsSpan,o=t.invocation,s=t.argumentIndex,c=n.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e);return c?{items:[h(e,c,n,m(o),r)],applicableSpan:a,selectedItemIndex:0,argumentIndex:s,argumentCount:i}:void 0}(x.symbol,D,r,e)})):e.isSourceFileJS(r)?function(t,r,n){if(2===t.invocation.kind)return;var i=g(t.invocation),a=e.isPropertyAccessExpression(i)?i.name.text:void 0,o=r.getTypeChecker();return void 0===a?void 0:e.firstDefined(r.getSourceFiles(),(function(r){return e.firstDefined(r.getNamedDeclarations().get(a),(function(e){var i=e.symbol&&o.getTypeOfSymbolAtLocation(e.symbol,e),a=i&&i.getCallSignatures();if(a&&a.length)return o.runWithCancellationToken(n,(function(e){return v(a,a[0],t,r,e,!0)}))}))}))}(D,t,d):void 0}}}},function(e){e[e.Candidate=0]=\"Candidate\",e[e.Type=1]=\"Type\"}(i||(i={})),t.getArgumentInfoForCompletions=function(e,t,r){var n=s(e,t,r);return!n||n.isTypeParameterList||0!==n.invocation.kind?void 0:{invocation:n.invocation.node,argumentCount:n.argumentCount,argumentIndex:n.argumentIndex}};var y=70246400;function v(t,n,i,a,o,s){var c,u=i.isTypeParameterList,l=i.argumentCount,d=i.argumentsSpan,_=i.invocation,p=i.argumentIndex,f=m(_),y=2===_.kind?_.symbol:o.getSymbolAtLocation(g(_))||s&&(null===(c=n.declaration)||void 0===c?void 0:c.symbol),v=y?e.symbolToDisplayParts(o,y,s?a:void 0,void 0):e.emptyArray,h=e.map(t,(function(t){return function(t,n,i,a,o,s){var c=(i?x:b)(t,a,o,s);return e.map(c,(function(i){var s=i.isVariadic,c=i.parameters,u=i.prefix,l=i.suffix,d=r(n,u),_=r(l,function(t,r,n){return e.mapToDisplayParts((function(e){e.writePunctuation(\":\"),e.writeSpace(\" \");var i=n.getTypePredicateOfSignature(t);i?n.writeTypePredicate(i,r,void 0,e):n.writeType(n.getReturnTypeOfSignature(t),r,void 0,e)}))}(t,o,a)),p=t.getDocumentationComment(a),f=t.getJsDocTags();return{isVariadic:s,prefixDisplayParts:d,suffixDisplayParts:_,separatorDisplayParts:D,parameters:c,documentation:p,tags:f}}))}(t,v,u,o,f,a)}));0!==p&&e.Debug.assertLessThan(p,l);for(var S=0,E=0,T=0;T1))for(var k=0,A=0,F=C;A=l){S=E+k;break}k++}E+=C.length}return e.Debug.assert(-1!==S),{items:e.flatMapToMutable(h,e.identity),applicableSpan:d,selectedItemIndex:S,argumentIndex:p,argumentCount:l}}function h(t,n,i,a,o){var s=e.symbolToDisplayParts(i,t),c=e.createPrinter({removeComments:!0}),u=n.map((function(e){return S(e,i,a,o,c)})),l=t.getDocumentationComment(i),d=t.getJsDocTags();return{isVariadic:!1,prefixDisplayParts:r(s,[e.punctuationPart(29)]),suffixDisplayParts:[e.punctuationPart(31)],separatorDisplayParts:D,parameters:u,documentation:l,tags:d}}var D=[e.punctuationPart(27),e.spacePart()];function x(t,n,i,a){var o=(t.target||t).typeParameters,s=e.createPrinter({removeComments:!0}),c=(o||e.emptyArray).map((function(e){return S(e,n,i,a,s)})),u=t.thisParameter?[n.symbolToParameterDeclaration(t.thisParameter,i,y)]:[];return n.getExpandedParameters(t).map((function(t){var o=e.factory.createNodeArray(r(u,e.map(t,(function(e){return n.symbolToParameterDeclaration(e,i,y)})))),l=e.mapToDisplayParts((function(e){s.writeList(2576,o,a,e)}));return{isVariadic:!1,parameters:c,prefix:[e.punctuationPart(29)],suffix:r([e.punctuationPart(31)],l)}}))}function b(t,n,i,a){var o=n.hasEffectiveRestParameter(t),s=e.createPrinter({removeComments:!0}),c=e.mapToDisplayParts((function(r){if(t.typeParameters&&t.typeParameters.length){var o=e.factory.createNodeArray(t.typeParameters.map((function(e){return n.typeParameterToDeclaration(e,i,y)})));s.writeList(53776,o,a,r)}})),u=n.getExpandedParameters(t);return u.map((function(t){return{isVariadic:o&&(1===u.length||!!(32768&t[t.length-1].checkFlags)),parameters:t.map((function(t){return function(t,r,n,i,a){var o=e.mapToDisplayParts((function(e){var o=r.symbolToParameterDeclaration(t,n,y);a.writeNode(4,o,i,e)})),s=r.isOptionalParameter(t.valueDeclaration);return{name:t.name,documentation:t.getDocumentationComment(r),displayParts:o,isOptional:s}}(t,n,i,a,s)})),prefix:r(c,[e.punctuationPart(20)]),suffix:[e.punctuationPart(21)]}}))}function S(t,r,n,i,a){var o=e.mapToDisplayParts((function(e){var o=r.typeParameterToDeclaration(t,n,y);a.writeNode(4,o,i,e)}));return{name:t.symbol.name,documentation:t.symbol.getDocumentationComment(r),displayParts:o,isOptional:!1}}}(e.SignatureHelp||(e.SignatureHelp={}))}(u||(u={})),function(e){var t=/^data:(?:application\\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+\\/=]+)$)?/;function r(t,r,n){var i=e.tryParseRawSourceMap(r);if(i&&i.sources&&i.file&&i.mappings&&(!i.sourcesContent||!i.sourcesContent.some(e.isString)))return e.createDocumentPositionMapper(t,i,n)}e.getSourceMapper=function(t){var r=e.createGetCanonicalFileName(t.useCaseSensitiveFileNames()),n=t.getCurrentDirectory(),i=new e.Map,a=new e.Map;return{tryGetSourcePosition:function t(r){if(!e.isDeclarationFileName(r.fileName))return;if(!c(r.fileName))return;var n=s(r.fileName).getSourcePosition(r);return n&&n!==r?t(n)||n:void 0},tryGetGeneratedPosition:function(i){if(e.isDeclarationFileName(i.fileName))return;var a=c(i.fileName);if(!a)return;var o=t.getProgram();if(o.isSourceOfProjectReferenceRedirect(a.fileName))return;var u=o.getCompilerOptions(),l=e.outFile(u),d=l?e.removeFileExtension(l)+\".d.ts\":e.getDeclarationEmitOutputFilePathWorker(i.fileName,o.getCompilerOptions(),n,o.getCommonSourceDirectory(),r);if(void 0===d)return;var _=s(d,i.fileName).getGeneratedPosition(i);return _===i?void 0:_},toLineColumnOffset:function(e,t){return l(e).getLineAndCharacterOfPosition(t)},clearCache:function(){i.clear(),a.clear()}};function o(t){return e.toPath(t,n,r)}function s(n,i){var s,c=o(n),u=a.get(c);if(u)return u;if(t.getDocumentPositionMapper)s=t.getDocumentPositionMapper(n,i);else if(t.readFile){var d=l(n);s=d&&e.getDocumentPositionMapper({getSourceFileLike:l,getCanonicalFileName:r,log:function(e){return t.log(e)}},n,e.getLineInfo(d.text,e.getLineStarts(d)),(function(e){return!t.fileExists||t.fileExists(e)?t.readFile(e):void 0}))}return a.set(c,s||e.identitySourceMapConsumer),s||e.identitySourceMapConsumer}function c(e){var r=t.getProgram();if(r){var n=o(e),i=r.getSourceFileByPath(n);return i&&i.resolvedPath===n?i:void 0}}function u(r){var n=o(r),a=i.get(n);if(void 0!==a)return a||void 0;if(t.readFile&&(!t.fileExists||t.fileExists(n))){var s=t.readFile(n),c=!!s&&function(t,r){return{text:t,lineMap:r,getLineAndCharacterOfPosition:function(t){return e.computeLineAndCharacterOfPosition(e.getLineStarts(this),t)}}}(s);return i.set(n,c),c||void 0}i.set(n,!1)}function l(e){return t.getSourceFileLike?t.getSourceFileLike(e):c(e)||u(e)}},e.getDocumentPositionMapper=function(n,i,a,o){var s=e.tryGetSourceMappingURL(a);if(s){var c=t.exec(s);if(c){if(c[1]){var u=c[1];return r(n,e.base64decode(e.sys,u),i)}s=void 0}}var l=[];s&&l.push(s),l.push(i+\".map\");for(var d=s&&e.getNormalizedAbsolutePath(s,e.getDirectoryPath(i)),_=0,p=l;_2)&&(t.arguments.length<2||e.some(t.arguments,(function(t){return 103===t.kind||e.isIdentifier(t)&&\"undefined\"===t.text})))}(t)||e.hasPropertyAccessExpressionWithName(t,\"catch\"))}function s(e){switch(e.kind){case 251:case 208:case 209:t.set(c(e),!0);case 103:case 78:return!0;default:return!1}}function c(e){return e.pos.toString()+\":\"+e.end.toString()}e.computeSuggestionDiagnostics=function(a,o,s){o.getSemanticDiagnostics(a,s);var u,l=[],d=o.getTypeChecker();a.commonJsModuleIndicator&&(e.programContainsEs6Modules(o)||e.compilerOptionsIndicateEs6Modules(o.getCompilerOptions()))&&function(t){return t.statements.some((function(t){switch(t.kind){case 232:return t.declarationList.declarations.some((function(t){return!!t.initializer&&e.isRequireCall(r(t.initializer),!0)}));case 233:var n=t.expression;if(!e.isBinaryExpression(n))return e.isRequireCall(n,!0);var i=e.getAssignmentDeclarationKind(n);return 1===i||2===i;default:return!1}}))}(a)&&l.push(e.createDiagnosticForNode((u=a.commonJsModuleIndicator,e.isBinaryExpression(u)?u.left:u),e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module));var _=e.isSourceFileJS(a);if(t.clear(),function r(n){if(_)(function(t,r){var n,i,a,o;if(208===t.kind){if(e.isVariableDeclaration(t.parent)&&(null===(n=t.symbol.members)||void 0===n?void 0:n.size))return!0;var s=r.getSymbolOfExpando(t,!1);return!(!s||!(null===(i=s.exports)||void 0===i?void 0:i.size)&&!(null===(a=s.members)||void 0===a?void 0:a.size))}if(251===t.kind)return!!(null===(o=t.symbol.members)||void 0===o?void 0:o.size);return!1})(n,d)&&l.push(e.createDiagnosticForNode(e.isVariableDeclaration(n.parent)?n.parent.name:n,e.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration));else{if(e.isVariableStatement(n)&&n.parent===a&&2&n.declarationList.flags&&1===n.declarationList.declarations.length){var o=n.declarationList.declarations[0].initializer;o&&e.isRequireCall(o,!0)&&l.push(e.createDiagnosticForNode(o,e.Diagnostics.require_call_may_be_converted_to_an_import))}e.codefix.parameterShouldGetTypeFromJSDoc(n)&&l.push(e.createDiagnosticForNode(n.name||n,e.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types))}e.isFunctionLikeDeclaration(n)&&function(r,n,a){(function(t,r){return!e.isAsyncFunction(t)&&t.body&&e.isBlock(t.body)&&(n=t.body,!!e.forEachReturnStatement(n,i))&&function(e,t){var r=t.getTypeAtLocation(e),n=t.getSignaturesOfType(r,0),i=n.length?t.getReturnTypeOfSignature(n[0]):void 0;return!!i&&!!t.getPromisedTypeOfPromise(i)}(t,r);var n})(r,n)&&!t.has(c(r))&&a.push(e.createDiagnosticForNode(!r.name&&e.isVariableDeclaration(r.parent)&&e.isIdentifier(r.parent.name)?r.parent.name:r,e.Diagnostics.This_may_be_converted_to_an_async_function))}(n,d,l);n.forEachChild(r)}(a),e.getAllowSyntheticDefaultImports(o.getCompilerOptions()))for(var p=0,f=a.imports;p0?e.getNodeModifiers(t.declarations[0]):\"\",n=t&&16777216&t.flags?\"optional\":\"\";return r&&n?r+\",\"+n:r||n},t.getSymbolDisplayPartsDocumentationAndSymbolKind=function t(a,o,s,c,u,l,d){void 0===l&&(l=e.getMeaningFromLocation(u));var _,p,f,g,m=[],y=[],v=[],h=e.getCombinedLocalAndExportSymbolFlags(o),D=1&l?i(a,o,u):\"\",x=!1,b=107===u.kind&&e.isInExpressionContext(u),S=!1;if(107===u.kind&&!b)return{displayParts:[e.keywordPart(107)],documentation:[],symbolKind:\"primitive type\",tags:void 0};if(\"\"!==D||32&h||2097152&h){\"getter\"!==D&&\"setter\"!==D||(D=\"property\");var E=void 0;if(_=b?a.getTypeAtLocation(u):a.getTypeOfSymbolAtLocation(o.exportSymbol||o,u),u.parent&&201===u.parent.kind){var T=u.parent.name;(T===u||T&&0===T.getFullWidth())&&(u=u.parent)}var C=void 0;if(e.isCallOrNewExpression(u)?C=u:(e.isCallExpressionTarget(u)||e.isNewExpressionTarget(u)||u.parent&&(e.isJsxOpeningLikeElement(u.parent)||e.isTaggedTemplateExpression(u.parent))&&e.isFunctionLike(o.valueDeclaration))&&(C=u.parent),C){E=a.getResolvedSignature(C);var k=204===C.kind||e.isCallExpression(C)&&105===C.expression.kind,A=k?_.getConstructSignatures():_.getCallSignatures();if(e.contains(A,E.target)||e.contains(A,E)||(E=A.length?A[0]:void 0),E){switch(k&&32&h?(D=\"constructor\",X(_.symbol,D)):2097152&h?(Q(D=\"alias\"),m.push(e.spacePart()),k&&(m.push(e.keywordPart(102)),m.push(e.spacePart())),Y(o)):X(o,D),D){case\"JSX attribute\":case\"property\":case\"var\":case\"const\":case\"let\":case\"parameter\":case\"local var\":m.push(e.punctuationPart(58)),m.push(e.spacePart()),16&e.getObjectFlags(_)||!_.symbol||(e.addRange(m,e.symbolToDisplayParts(a,_.symbol,c,void 0,5)),m.push(e.lineBreakPart())),k&&(m.push(e.keywordPart(102)),m.push(e.spacePart())),$(E,A,262144);break;default:$(E,A)}x=!0,S=A.length>1}}else if(e.isNameOfFunctionDeclaration(u)&&!(98304&h)||132===u.kind&&166===u.parent.kind){var F=u.parent;if(o.declarations&&e.find(o.declarations,(function(e){return e===(132===u.kind?F.parent:F)}))){A=166===F.kind?_.getNonNullableType().getConstructSignatures():_.getNonNullableType().getCallSignatures();E=a.isImplementationOfOverload(F)?A[0]:a.getSignatureFromDeclaration(F),166===F.kind?(D=\"constructor\",X(_.symbol,D)):X(169!==F.kind||2048&_.symbol.flags||4096&_.symbol.flags?o:_.symbol,D),$(E,A),x=!0,S=A.length>1}}}if(32&h&&!x&&!b&&(H(),e.getDeclarationOfKind(o,221)?Q(\"local class\"):m.push(e.keywordPart(83)),m.push(e.spacePart()),Y(o),Z(o,s)),64&h&&2&l&&(W(),m.push(e.keywordPart(117)),m.push(e.spacePart()),Y(o),Z(o,s)),524288&h&&2&l&&(W(),m.push(e.keywordPart(149)),m.push(e.spacePart()),Y(o),Z(o,s),m.push(e.spacePart()),m.push(e.operatorPart(62)),m.push(e.spacePart()),e.addRange(m,e.typeToDisplayParts(a,a.getDeclaredTypeOfSymbol(o),c,8388608))),384&h&&(W(),e.some(o.declarations,(function(t){return e.isEnumDeclaration(t)&&e.isEnumConst(t)}))&&(m.push(e.keywordPart(84)),m.push(e.spacePart())),m.push(e.keywordPart(91)),m.push(e.spacePart()),Y(o)),1536&h&&!b){W();var N=(U=e.getDeclarationOfKind(o,256))&&U.name&&78===U.name.kind;m.push(e.keywordPart(N?140:139)),m.push(e.spacePart()),Y(o)}if(262144&h&&2&l)if(W(),m.push(e.punctuationPart(20)),m.push(e.textPart(\"type parameter\")),m.push(e.punctuationPart(21)),m.push(e.spacePart()),Y(o),o.parent)G(),Y(o.parent,c),Z(o.parent,c);else{var P=e.getDeclarationOfKind(o,159);if(void 0===P)return e.Debug.fail();if(U=P.parent)if(e.isFunctionLikeKind(U.kind)){G();E=a.getSignatureFromDeclaration(U);170===U.kind?(m.push(e.keywordPart(102)),m.push(e.spacePart())):169!==U.kind&&U.name&&Y(U.symbol),e.addRange(m,e.signatureToDisplayParts(a,E,s,32))}else 254===U.kind&&(G(),m.push(e.keywordPart(149)),m.push(e.spacePart()),Y(U.symbol),Z(U.symbol,s))}if(8&h&&(D=\"enum member\",X(o,\"enum member\"),291===(U=o.declarations[0]).kind)){var w=a.getConstantValue(U);void 0!==w&&(m.push(e.spacePart()),m.push(e.operatorPart(62)),m.push(e.spacePart()),m.push(e.displayPart(e.getTextOfConstantValue(w),\"number\"==typeof w?e.SymbolDisplayPartKind.numericLiteral:e.SymbolDisplayPartKind.stringLiteral)))}if(2097152&o.flags){if(W(),!x){var I=a.getAliasedSymbol(o);if(I!==o&&I.declarations&&I.declarations.length>0){var O=I.declarations[0],M=e.getNameOfDeclaration(O);if(M){var L=e.isModuleWithStringLiteralName(O)&&e.hasSyntacticModifier(O,2),R=\"default\"!==o.name&&!L,B=t(a,I,e.getSourceFileOfNode(O),O,M,l,R?o:I);m.push.apply(m,B.displayParts),m.push(e.lineBreakPart()),f=B.documentation,g=B.tags}}}switch(o.declarations[0].kind){case 259:m.push(e.keywordPart(92)),m.push(e.spacePart()),m.push(e.keywordPart(140));break;case 266:m.push(e.keywordPart(92)),m.push(e.spacePart()),m.push(e.keywordPart(o.declarations[0].isExportEquals?62:87));break;case 270:m.push(e.keywordPart(92));break;default:m.push(e.keywordPart(99))}m.push(e.spacePart()),Y(o),e.forEach(o.declarations,(function(t){if(260===t.kind){var r=t;if(e.isExternalModuleImportEqualsDeclaration(r))m.push(e.spacePart()),m.push(e.operatorPart(62)),m.push(e.spacePart()),m.push(e.keywordPart(143)),m.push(e.punctuationPart(20)),m.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(r)),e.SymbolDisplayPartKind.stringLiteral)),m.push(e.punctuationPart(21));else{var n=a.getSymbolAtLocation(r.moduleReference);n&&(m.push(e.spacePart()),m.push(e.operatorPart(62)),m.push(e.spacePart()),Y(n,c))}return!0}}))}if(!x)if(\"\"!==D){if(_)if(b?(W(),m.push(e.keywordPart(107))):X(o,D),\"property\"===D||\"JSX attribute\"===D||3&h||\"local var\"===D||b){if(m.push(e.punctuationPart(58)),m.push(e.spacePart()),_.symbol&&262144&_.symbol.flags){var j=e.mapToDisplayParts((function(t){var n=a.typeParameterToDeclaration(_,c,r);q().writeNode(4,n,e.getSourceFileOfNode(e.getParseTreeNode(c)),t)}));e.addRange(m,j)}else e.addRange(m,e.typeToDisplayParts(a,_,c));if(o.target&&o.target.tupleLabelDeclaration){var J=o.target.tupleLabelDeclaration;e.Debug.assertNode(J.name,e.isIdentifier),m.push(e.spacePart()),m.push(e.punctuationPart(20)),m.push(e.textPart(e.idText(J.name))),m.push(e.punctuationPart(21))}}else if(16&h||8192&h||16384&h||131072&h||98304&h||\"method\"===D){(A=_.getNonNullableType().getCallSignatures()).length&&($(A[0],A),S=A.length>1)}}else D=n(a,o,u);if(0!==y.length||S||(y=o.getContextualDocumentationComment(c,a)),0===y.length&&4&h&&o.parent&&e.forEach(o.parent.declarations,(function(e){return 297===e.kind})))for(var K=0,z=o.declarations;K0))break}}return 0!==v.length||S||(v=o.getJsDocTags()),0===y.length&&f&&(y=f),0===v.length&&g&&(v=g),{displayParts:m,documentation:y,symbolKind:D,tags:0===v.length?void 0:v};function q(){return p||(p=e.createPrinter({removeComments:!0})),p}function W(){m.length&&m.push(e.lineBreakPart()),H()}function H(){d&&(Q(\"alias\"),m.push(e.spacePart()))}function G(){m.push(e.spacePart()),m.push(e.keywordPart(100)),m.push(e.spacePart())}function Y(t,r){d&&t===o&&(t=d);var n=e.symbolToDisplayParts(a,t,r||s,void 0,7);e.addRange(m,n),16777216&o.flags&&m.push(e.punctuationPart(57))}function X(t,r){W(),r&&(Q(r),t&&!e.some(t.declarations,(function(t){return e.isArrowFunction(t)||(e.isFunctionExpression(t)||e.isClassExpression(t))&&!t.name}))&&(m.push(e.spacePart()),Y(t)))}function Q(t){switch(t){case\"var\":case\"function\":case\"let\":case\"const\":case\"constructor\":return void m.push(e.textOrKeywordPart(t));default:return m.push(e.punctuationPart(20)),m.push(e.textOrKeywordPart(t)),void m.push(e.punctuationPart(21))}}function $(t,r,n){void 0===n&&(n=0),e.addRange(m,e.signatureToDisplayParts(a,t,c,32|n)),r.length>1&&(m.push(e.spacePart()),m.push(e.punctuationPart(20)),m.push(e.operatorPart(39)),m.push(e.displayPart((r.length-1).toString(),e.SymbolDisplayPartKind.numericLiteral)),m.push(e.spacePart()),m.push(e.textPart(2===r.length?\"overload\":\"overloads\")),m.push(e.punctuationPart(21))),y=t.getDocumentationComment(a),v=t.getJsDocTags(),r.length>1&&0===y.length&&0===v.length&&(y=r[0].getDocumentationComment(a),v=r[0].getJsDocTags())}function Z(t,n){var i=e.mapToDisplayParts((function(i){var o=a.symbolToTypeParameterDeclarations(t,n,r);q().writeList(53776,o,e.getSourceFileOfNode(e.getParseTreeNode(n)),i)}));e.addRange(m,i)}}}(e.SymbolDisplay||(e.SymbolDisplay={}))}(u||(u={})),function(e){function t(t,r){var i=[],a=r.compilerOptions?n(r.compilerOptions,i):{},o=e.getDefaultCompilerOptions();for(var s in o)e.hasProperty(o,s)&&void 0===a[s]&&(a[s]=o[s]);for(var c=0,u=e.transpileOptionValueCompilerOptions;c>=5;return r}(p,_),0,n),a[c]=(d=1+((u=p)>>(l=_)&s),e.Debug.assert((d&s)===d,\"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules.\"),u&~(s<=r.pos?t.pos:a.end:t.pos}(o,r,n),r.end,(function(s){return _(r,o,t.SmartIndenter.getIndentationForNode(o,r,n,i.options),function(e,r,n){for(var i,a=-1;e;){var o=n.getLineAndCharacterOfPosition(e.getStart(n)).line;if(-1!==a&&o!==a)break;if(t.SmartIndenter.shouldIndentChildNode(r,e,i,n))return r.indentSize;a=o,i=e,e=e.parent}return 0}(o,i.options,n),s,i,a,function(t,r){if(!t.length)return a;var n=t.filter((function(t){return e.rangeOverlapsWithStartEnd(r,t.start,t.start+t.length)})).sort((function(e,t){return e.start-t.start}));if(!n.length)return a;var i=0;return function(t){for(;;){if(i>=n.length)return!1;var r=n[i];if(t.end<=r.start)return!1;if(e.startEndOverlapsWithStartEnd(t.pos,t.end,r.start,r.start+r.length))return!0;i++}};function a(){return!1}}(n.parseDiagnostics,r),n)}))}function _(r,n,i,a,o,s,c,u,l){var d,_,f,g,m=s.options,y=s.getRules,v=s.host,h=new t.FormattingContext(l,c,m),D=-1,x=[];if(o.advance(),o.isOnToken()){var b=l.getLineAndCharacterOfPosition(n.getStart(l)).line,S=b;n.decorators&&(S=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(n,l)).line),function n(i,a,s,c,p,y){if(!e.rangeOverlapsWithStartEnd(r,i.getStart(l),i.getEnd()))return;var v=T(i,s,p,y),h=a;e.forEachChild(i,(function(e){S(e,-1,i,v,s,c,!1)}),(function(e){E(e,i,s,v)}));for(;o.isOnToken();){var x=o.readTokenInfo(i);if(x.token.end>i.end)break;11!==i.kind?w(x,i,v,i):o.advance()}if(!i.parent&&o.isOnEOF()){var b=o.readEOFTokenRange();b.end<=i.end&&d&&F(b,l.getLineAndCharacterOfPosition(b.pos).line,i,d,f,_,a,v)}function S(a,s,c,u,d,_,p,f){var y=a.getStart(l),v=l.getLineAndCharacterOfPosition(y).line,x=v;a.decorators&&(x=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(a,l)).line);var b=-1;if(p&&e.rangeContainsRange(r,c)&&-1!==(b=function(r,n,i,a,o){if(e.rangeOverlapsWithStartEnd(a,r,n)||e.rangeContainsStartEnd(a,r,n)){if(-1!==o)return o}else{var s=l.getLineAndCharacterOfPosition(r).line,c=e.getLineStartPositionForPosition(r,l),u=t.SmartIndenter.findFirstNonWhitespaceColumn(c,r,l,m);if(s!==i||r===u){var d=t.SmartIndenter.getBaseIndentation(m);return d>u?d:u}}return-1}(y,a.end,d,r,s))&&(s=b),!e.rangeOverlapsWithStartEnd(r,a.pos,a.end))return a.endy){S.token.pos>y&&o.skipToStartOf(a);break}w(S,i,u,i)}if(!o.isOnToken())return s;if(e.isToken(a)){var S=o.readTokenInfo(a);if(11!==a.kind)return e.Debug.assert(S.token.end===a.end,\"Token end is child end\"),w(S,i,u,a),s}var E=161===a.kind?v:_,T=function(e,r,n,i,a,o){var s=t.SmartIndenter.shouldIndentChildNode(m,e)?m.indentSize:0;return o===r?{indentation:r===g?D:a.getIndentation(),delta:Math.min(m.indentSize,a.getDelta(e)+s)}:-1===n?20===e.kind&&r===g?{indentation:D,delta:a.getDelta(e)}:t.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(i,e,r,l)||t.SmartIndenter.argumentStartsOnSameLineAsPreviousArgument(i,e,r,l)?{indentation:a.getIndentation(),delta:s}:{indentation:a.getIndentation()+a.getDelta(e),delta:s}:{indentation:n,delta:s}}(a,v,b,i,u,E);if(n(a,h,v,x,T.indentation,T.delta),11===a.kind){var C={pos:a.getStart(),end:a.getEnd()};if(C.pos!==C.end){var k=c.getChildren(l),A=k[e.findIndex(k,(function(e){return e.pos===a.pos}))-1];if(A&&l.getLineAndCharacterOfPosition(C.end).line!==l.getLineAndCharacterOfPosition(A.end).line){var F=l.getLineAndCharacterOfPosition(C.pos).line===l.getLineAndCharacterOfPosition(A.end).line;P(C,T.indentation,F,!1,!0)}}}return h=i,f&&199===c.kind&&-1===s&&(s=T.indentation),s}function E(r,n,a,s){e.Debug.assert(e.isNodeArray(r));var c=function(e,t){switch(e.kind){case 166:case 251:case 208:case 165:case 164:case 209:if(e.typeParameters===t)return 29;if(e.parameters===t)return 20;break;case 203:case 204:if(e.typeArguments===t)return 29;if(e.arguments===t)return 20;break;case 173:if(e.typeArguments===t)return 29;break;case 177:return 18}return 0}(n,r),u=s,d=a;if(0!==c)for(;o.isOnToken();){if((v=o.readTokenInfo(n)).token.end>r.pos)break;if(v.token.kind===c){d=l.getLineAndCharacterOfPosition(v.token.pos).line,w(v,n,s,n);var _=void 0;if(-1!==D)_=D;else{var p=e.getLineStartPositionForPosition(v.token.pos,l);_=t.SmartIndenter.findFirstNonWhitespaceColumn(p,v.token.pos,l,m)}u=T(n,a,_,m.indentSize)}else w(v,n,s,n)}for(var f=-1,g=0;g0){var E=p(S,m);M(x,b.character,E)}else O(x,b.character)}}}else i||N(r.pos,n,!1)}function w(t,r,n){for(var i=t;io)){var s=I(a,o);-1!==s&&(e.Debug.assert(s===a||!e.isWhiteSpaceSingleLine(l.text.charCodeAt(s-1))),O(s,o+1-s))}}}function I(t,r){for(var n=r;n>=t&&e.isWhiteSpaceSingleLine(l.text.charCodeAt(n));)n--;return n!==r?n+1:-1}function O(t,r){r&&x.push(e.createTextChangeFromStartLength(t,r,\"\"))}function M(t,r,n){(r||n)&&x.push(e.createTextChangeFromStartLength(t,r,n))}}function p(t,r){if((!i||i.tabSize!==r.tabSize||i.indentSize!==r.indentSize)&&(i={tabSize:r.tabSize,indentSize:r.indentSize},a=o=void 0),r.convertTabsToSpaces){var n=void 0,s=Math.floor(t/r.indentSize),c=t%r.indentSize;return o||(o=[]),void 0===o[s]?(n=e.repeatString(\" \",r.indentSize*s),o[s]=n):n=o[s],c?n+e.repeatString(\" \",c):n}var u=Math.floor(t/r.tabSize),l=t-u*r.tabSize,d=void 0;return a||(a=[]),void 0===a[u]?a[u]=d=e.repeatString(\"\\t\",u):d=a[u],l?d+e.repeatString(\" \",l):d}t.createTextRangeWithKind=function(t,r,n){var i={pos:t,end:r,kind:n};return e.Debug.isDebugging&&Object.defineProperty(i,\"__debugKind\",{get:function(){return e.Debug.formatSyntaxKind(n)}}),i},function(e){e[e.Unknown=-1]=\"Unknown\"}(r||(r={})),t.formatOnEnter=function(t,r,n){var i=r.getLineAndCharacterOfPosition(t).line;if(0===i)return[];for(var a=e.getEndLinePosition(i,r);e.isWhiteSpaceSingleLine(r.text.charCodeAt(a));)a--;return e.isLineBreak(r.text.charCodeAt(a))&&a--,d({pos:e.getStartPositionOfLine(i-1,r),end:a+1},r,n,2)},t.formatOnSemicolon=function(e,t,r){return l(c(s(e,26,t)),t,r,3)},t.formatOnOpeningCurly=function(t,r,n){var i=s(t,18,r);if(!i)return[];var a=c(i.parent);return d({pos:e.getLineStartPositionForPosition(a.getStart(r),r),end:t},r,n,4)},t.formatOnClosingCurly=function(e,t,r){return l(c(s(e,19,t)),t,r,5)},t.formatDocument=function(e,t){return d({pos:0,end:e.text.length},e,t,0)},t.formatSelection=function(t,r,n,i){return d({pos:e.getLineStartPositionForPosition(t,n),end:r},n,i,1)},t.formatNodeGivenIndentation=function(e,r,n,i,a,o){var s={pos:0,end:r.text.length};return t.getFormattingScanner(r.text,n,s.pos,s.end,(function(t){return _(s,e,i,a,t,o,1,(function(e){return!1}),r)}))},function(e){e[e.None=0]=\"None\",e[e.LineAdded=1]=\"LineAdded\",e[e.LineRemoved=2]=\"LineRemoved\"}(n||(n={})),t.getRangeOfEnclosingComment=function(t,r,n,i){void 0===i&&(i=e.getTokenAtPosition(t,r));var a=e.findAncestor(i,e.isJSDoc);if(a&&(i=a.parent),!(i.getStart(t)<=r&&rr.end}var g=s(l,e,i),y=g.line===t.line||_(l,e,t.line,i);if(p){var v=m(e,i,u,!y);if(-1!==v)return v+n;if(-1!==(v=c(e,l,t,y,i,u)))return v+n}b(u,l,e,i,o)&&!y&&(n+=u.indentSize);var h=d(l,e,t.line,i);l=(e=l).parent,t=h?i.getLineAndCharacterOfPosition(e.getStart(i)):g}return n+a(u)}function s(e,t,r){var n=p(t,r),i=n?n.pos:e.getStart(r);return r.getLineAndCharacterOfPosition(i)}function c(t,r,n,i,a,o){return(e.isDeclaration(t)||e.isStatementButNotDeclaration(t))&&(297===r.kind||!i)?v(n,a,o):-1}function u(t,r,n,i){var a=e.findNextToken(t,r,i);return a?18===a.kind?1:19===a.kind&&n===l(a,i).line?2:0:0}function l(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function d(t,r,n,i){if(!e.isCallExpression(t)||!e.contains(t.arguments,r))return!1;var a=t.expression.getEnd();return e.getLineAndCharacterOfPosition(i,a).line===n}function _(t,r,n,i){if(234===t.kind&&t.elseStatement===r){var a=e.findChildOfKind(t,90,i);return e.Debug.assert(void 0!==a),l(a,i).line===n}return!1}function p(e,t){return e.parent&&f(e.getStart(t),e.getEnd(),e.parent,t)}function f(t,r,n,i){switch(n.kind){case 173:return a(n.typeArguments);case 200:return a(n.properties);case 199:return a(n.elements);case 177:return a(n.members);case 251:case 208:case 209:case 165:case 164:case 169:case 166:case 175:case 170:return a(n.typeParameters)||a(n.parameters);case 252:case 221:case 253:case 254:case 330:return a(n.typeParameters);case 204:case 203:return a(n.typeArguments)||a(n.arguments);case 250:return a(n.declarations);case 264:case 268:return a(n.elements);case 196:case 197:return a(n.elements)}function a(a){return a&&e.rangeContainsStartEnd(function(e,t,r){for(var n=e.getChildren(r),i=1;i=0&&r=0;o--)if(27!==t[o].kind){if(n.getLineAndCharacterOfPosition(t[o].end).line!==a.line)return v(a,n,i);a=l(t[o],n)}return-1}function v(e,t,r){var n=t.getPositionOfLineAndCharacter(e.line,0);return D(n,n+e.character,t,r)}function h(t,r,n,i){for(var a=0,o=0,s=t;sn.text.length)return a(i);if(i.indentStyle===e.IndentStyle.None)return 0;var c=e.findPrecedingToken(r,n,void 0,!0),d=t.getRangeOfEnclosingComment(n,r,c||null);if(d&&3===d.kind)return function(t,r,n,i){var a=e.getLineAndCharacterOfPosition(t,r).line-1,o=e.getLineAndCharacterOfPosition(t,i.pos).line;if(e.Debug.assert(o>=0),a<=o)return D(e.getStartPositionOfLine(o,t),r,t,n);var s=e.getStartPositionOfLine(a,t),c=h(s,r,t,n),u=c.column,l=c.character;if(0===u)return u;return 42===t.text.charCodeAt(s+l)?u-1:u}(n,r,i,d);if(!c)return a(i);if(e.isStringOrRegularExpressionOrTemplateLiteral(c.kind)&&c.getStart(n)<=r&&r0;){var a=t.text.charCodeAt(i);if(!e.isWhiteSpaceLike(a))break;i--}return D(e.getLineStartPositionForPosition(i,t),i,t,n)}(n,r,i);if(27===c.kind&&216!==c.parent.kind){var p=function(t,r,n){var i=e.findListItemInfo(t);return i&&i.listItemIndex>0?y(i.list.getChildren(),i.listItemIndex-1,r,n):-1}(c,n,i);if(-1!==p)return p}var v=function(e,t,r){return t&&f(e,e,t,r)}(r,c.parent,n);return v&&!e.rangeContainsRange(v,c)?g(v,n,i)+i.indentSize:function(t,r,n,i,s,c){var d,_=n;for(;_;){if(e.positionBelongsToNode(_,r,t)&&b(c,_,d,t,!0)){var p=l(_,t),f=u(n,_,i,t);return o(_,p,void 0,0!==f?s&&2===f?c.indentSize:0:i!==p.line?c.indentSize:0,t,!0,c)}var g=m(_,t,c,!0);if(-1!==g)return g;d=_,_=_.parent}return a(c)}(n,r,c,_,s,i)},r.getIndentationForNode=function(e,t,r,n){var i=r.getLineAndCharacterOfPosition(e.getStart(r));return o(e,i,t,0,r,!1,n)},r.getBaseIndentation=a,function(e){e[e.Unknown=0]=\"Unknown\",e[e.OpenBrace=1]=\"OpenBrace\",e[e.CloseBrace=2]=\"CloseBrace\"}(i||(i={})),r.isArgumentAndStartLineOverlapsExpressionBeingCalled=d,r.childStartsOnTheSameLineWithElseInIfStatement=_,r.argumentStartsOnSameLineAsPreviousArgument=function(t,r,n,i){if(e.isCallOrNewExpression(t)){if(!t.arguments)return!1;var a=e.find(t.arguments,(function(e){return e.pos===r.pos}));if(!a)return!1;var o=t.arguments.indexOf(a);if(0===o)return!1;var s=t.arguments[o-1];if(n===e.getLineAndCharacterOfPosition(i,s.getEnd()).line)return!0}return!1},r.getContainingList=p,r.findFirstNonWhitespaceCharacterAndColumn=h,r.findFirstNonWhitespaceColumn=D,r.nodeWillIndentChild=x,r.shouldIndentChildNode=b}(t.SmartIndenter||(t.SmartIndenter={}))}(e.formatting||(e.formatting={}))}(u||(u={})),function(e){!function(t){function i(t){var r=t.__pos;return e.Debug.assert(\"number\"==typeof r),r}function a(t,r){e.Debug.assert(\"number\"==typeof r),t.__pos=r}function o(t){var r=t.__end;return e.Debug.assert(\"number\"==typeof r),r}function s(t,r){e.Debug.assert(\"number\"==typeof r),t.__end=r}var c,u;function l(t,r){return e.skipTrivia(t,r,!1,!0)}!function(e){e[e.Exclude=0]=\"Exclude\",e[e.IncludeAll=1]=\"IncludeAll\",e[e.JSDoc=2]=\"JSDoc\",e[e.StartLine=3]=\"StartLine\"}(c=t.LeadingTriviaOption||(t.LeadingTriviaOption={})),function(e){e[e.Exclude=0]=\"Exclude\",e[e.ExcludeWhitespace=1]=\"ExcludeWhitespace\",e[e.Include=2]=\"Include\"}(u=t.TrailingTriviaOption||(t.TrailingTriviaOption={}));var d,_={leadingTriviaOption:c.Exclude,trailingTriviaOption:u.Exclude};function p(e,t,r,n){return{pos:f(e,t,n),end:g(e,r,n)}}function f(t,r,n){var i=n.leadingTriviaOption;if(i===c.Exclude)return r.getStart(t);if(i===c.StartLine)return e.getLineStartPositionForPosition(r.getStart(t),t);if(i===c.JSDoc){var a=e.getJSDocCommentRanges(r,t.text);if(null==a?void 0:a.length)return e.getLineStartPositionForPosition(a[0].pos,t)}var o=r.getFullStart(),s=r.getStart(t);if(o===s)return s;var u=e.getLineStartPositionForPosition(o,t);if(e.getLineStartPositionForPosition(s,t)===u)return i===c.IncludeAll?o:s;var d=o>0?1:0,_=e.getStartPositionOfLine(e.getLineOfLocalPosition(t,u)+d,t);return _=l(t.text,_),e.getStartPositionOfLine(e.getLineOfLocalPosition(t,_),t)}function g(t,r,n){var i,a=r.end,o=n.trailingTriviaOption;if(o===u.Exclude)return a;if(o===u.ExcludeWhitespace){var s=e.concatenate(e.getTrailingCommentRanges(t.text,a),e.getLeadingCommentRanges(t.text,a)),c=null===(i=null==s?void 0:s[s.length-1])||void 0===i?void 0:i.end;return c||a}var l=e.skipTrivia(t.text,a,!0);return l===a||o!==u.Include&&!e.isLineBreak(t.text.charCodeAt(l-1))?a:l}function m(e,t){return!!t&&!!e.parent&&(27===t.kind||26===t.kind&&200===e.parent.kind)}!function(e){e[e.Remove=0]=\"Remove\",e[e.ReplaceWithSingleNode=1]=\"ReplaceWithSingleNode\",e[e.ReplaceWithMultipleNodes=2]=\"ReplaceWithMultipleNodes\",e[e.Text=3]=\"Text\"}(d||(d={})),t.isThisTypeAnnotatable=function(t){return e.isFunctionExpression(t)||e.isFunctionDeclaration(t)};var y,v,h=function(){function t(t,r){this.newLineCharacter=t,this.formatContext=r,this.changes=[],this.newFiles=[],this.classesWithNodesInsertedAtStart=new e.Map,this.deletedNodes=[]}return t.fromContext=function(r){return new t(e.getNewLineOrDefaultFromHost(r.host,r.formatContext.options),r.formatContext)},t.with=function(e,r){var n=t.fromContext(e);return r(n),n.getChanges()},t.prototype.pushRaw=function(t,r){e.Debug.assertEqual(t.fileName,r.fileName);for(var n=0,i=r.textChanges;n=t.getLineAndCharacterOfPosition(u.range.end).line+2)break}if(t.statements.length)if(void 0===l&&(l=t.getLineAndCharacterOfPosition(t.statements[0].getStart()).line),l\",joiner:\", \"})},t.prototype.getOptionsForInsertNodeBefore=function(t,r,n){return e.isStatement(t)||e.isClassElement(t)?{suffix:n?this.newLineCharacter+this.newLineCharacter:this.newLineCharacter}:e.isVariableDeclaration(t)?{suffix:\", \"}:e.isParameter(t)?e.isParameter(r)?{suffix:\", \"}:{}:e.isStringLiteral(t)&&e.isImportDeclaration(t.parent)||e.isNamedImports(t)?{suffix:\", \"}:e.isImportSpecifier(t)?{suffix:\",\"+(n?this.newLineCharacter:\" \")}:e.Debug.failBadSyntaxKind(t)},t.prototype.insertNodeAtConstructorStart=function(t,n,i){var a=e.firstOrUndefined(n.body.statements);a&&n.body.multiLine?this.insertNodeBefore(t,a,i):this.replaceConstructorBody(t,n,r([i],n.body.statements))},t.prototype.insertNodeAtConstructorEnd=function(t,n,i){var a=e.lastOrUndefined(n.body.statements);a&&n.body.multiLine?this.insertNodeAfter(t,a,i):this.replaceConstructorBody(t,n,r(n.body.statements,[i]))},t.prototype.replaceConstructorBody=function(t,r,n){this.replaceNode(t,r.body,e.factory.createBlock(n,!0))},t.prototype.insertNodeAtEndOfScope=function(t,r,n){var i=f(t,r.getLastToken(),{});this.insertNodeAt(t,i,n,{prefix:e.isLineBreak(t.text.charCodeAt(r.getLastToken().pos))?this.newLineCharacter:this.newLineCharacter+this.newLineCharacter,suffix:this.newLineCharacter})},t.prototype.insertNodeAtClassStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)},t.prototype.insertNodeAtObjectStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)},t.prototype.insertNodeAtStartWorker=function(e,t,r){var n,i=null!==(n=this.guessIndentationFromExistingMembers(e,t))&&void 0!==n?n:this.computeIndentationForNewMember(e,t);this.insertNodeAt(e,x(t).pos,r,this.getInsertNodeAtStartInsertOptions(e,t,i))},t.prototype.guessIndentationFromExistingMembers=function(t,r){for(var n,i=r,a=0,o=x(r);a=0;n--){var i=r[n],a=i.span,o=i.newText;t=\"\"+t.substring(0,a.start)+o+t.substring(e.textSpanEnd(a))}return t}function S(t){var r=e.visitEachChild(t,S,e.nullTransformationContext,E,S),n=e.nodeIsSynthesized(r)?r:Object.create(r);return e.setTextRangePosEnd(n,i(t),o(t)),n}function E(t,r,n,a,s){var c=e.visitNodes(t,r,n,a,s);if(!c)return c;var u=c===t?e.factory.createNodeArray(c.slice(0)):c;return e.setTextRangePosEnd(u,i(t),o(t)),u}function T(t,r){return!(e.isInComment(t,r)||e.isInString(t,r)||e.isInTemplateString(t,r)||e.isInJSXText(t,r))}function C(e,t,r,n){void 0===n&&(n={leadingTriviaOption:c.IncludeAll});var i=f(t,r,n),a=g(t,r,n);e.deleteRange(t,{pos:i,end:a})}function k(t,r,n,i){var a=e.Debug.checkDefined(e.formatting.SmartIndenter.getContainingList(i,n)),o=e.indexOfNode(a,i);e.Debug.assert(-1!==o),1!==a.length?(e.Debug.assert(!r.has(i),\"Deleting a node twice\"),r.add(i),t.deleteRange(n,{pos:D(n,i),end:o===a.length-1?g(n,i,{}):D(n,a[o+1])})):C(t,n,i)}t.ChangeTracker=h,t.getNewFileText=function(e,t,r,n){return y.newFileChangesWorker(void 0,t,e,r,n)},function(t){function r(t,r,n,a,o){var s=n.map((function(e){return 4===e?\"\":i(e,t,a).text})).join(a),c=e.createSourceFile(\"any file name\",s,99,!0,r);return b(s,e.formatting.formatDocument(c,o))+a}function i(t,r,n){var i=function(t){var r=0,n=e.createTextWriter(t);function i(t,i){if(i||!function(t){return e.skipTrivia(t,0)===t.length}(t)){r=n.getTextPos();for(var a=0;e.isWhiteSpaceLike(t.charCodeAt(t.length-a-1));)a++;r-=a}}function o(e){n.write(e),i(e,!1)}function c(e){n.writeComment(e)}function u(e){n.writeKeyword(e),i(e,!1)}function l(e){n.writeOperator(e),i(e,!1)}function d(e){n.writePunctuation(e),i(e,!1)}function _(e){n.writeTrailingSemicolon(e),i(e,!1)}function p(e){n.writeParameter(e),i(e,!1)}function f(e){n.writeProperty(e),i(e,!1)}function g(e){n.writeSpace(e),i(e,!1)}function m(e){n.writeStringLiteral(e),i(e,!1)}function y(e,t){n.writeSymbol(e,t),i(e,!1)}function v(e){n.writeLine(e)}function h(){n.increaseIndent()}function D(){n.decreaseIndent()}function x(){return n.getText()}function b(e){n.rawWrite(e),i(e,!1)}function S(e){n.writeLiteral(e),i(e,!0)}function E(){return n.getTextPos()}function T(){return n.getLine()}function C(){return n.getColumn()}function k(){return n.getIndent()}function A(){return n.isAtStartOfLine()}function F(){n.clear(),r=0}return{onEmitNode:function(e,t,n){t&&a(t,r),n(e,t),t&&s(t,r)},onBeforeEmitNodeArray:function(e){e&&a(e,r)},onAfterEmitNodeArray:function(e){e&&s(e,r)},onBeforeEmitToken:function(e){e&&a(e,r)},onAfterEmitToken:function(e){e&&s(e,r)},write:o,writeComment:c,writeKeyword:u,writeOperator:l,writePunctuation:d,writeTrailingSemicolon:_,writeParameter:p,writeProperty:f,writeSpace:g,writeStringLiteral:m,writeSymbol:y,writeLine:v,increaseIndent:h,decreaseIndent:D,getText:x,rawWrite:b,writeLiteral:S,getTextPos:E,getLine:T,getColumn:C,getIndent:k,isAtStartOfLine:A,hasTrailingComment:function(){return n.hasTrailingComment()},hasTrailingWhitespace:function(){return n.hasTrailingWhitespace()},clear:F}}(n),o=\"\\n\"===n?1:0;return e.createPrinter({newLine:o,neverAsciiEscape:!0,preserveSourceNewlines:!0,terminateUnterminatedLiterals:!0},i).writeNode(4,t,r,i),{text:i.getText(),node:S(t)}}t.getTextChangesFromChanges=function(t,r,a,o){return e.mapDefined(e.group(t,(function(e){return e.sourceFile.path})),(function(t){for(var s=t[0].sourceFile,c=e.stableSort(t,(function(e,t){return e.range.pos-t.range.pos||e.range.end-t.range.end})),u=function(t){e.Debug.assert(c[t].range.end<=c[t+1].range.pos,\"Changes overlap\",(function(){return JSON.stringify(c[t].range)+\" and \"+JSON.stringify(c[t+1].range)}))},l=0;l0?{fileName:s.fileName,textChanges:_}:void 0}))},t.newFileChanges=function(t,n,i,a,o){var s=r(t,e.getScriptKindFromFileName(n),i,a,o);return{fileName:n,textChanges:[e.createTextChange(e.createTextSpan(0,0),s)],isNewFile:!0}},t.newFileChangesWorker=r,t.getNonformattedText=i}(y||(y={})),t.applyChanges=b,t.isValidLocationToAddComment=T,function(t){function r(t,r,n){if(n.parent.name){var i=e.Debug.checkDefined(e.getTokenAtPosition(r,n.pos-1));t.deleteRange(r,{pos:i.getStart(r),end:n.end})}else{C(t,r,e.getAncestor(n,261))}}t.deleteDeclaration=function(t,n,i,a){switch(a.kind){case 160:var o=a.parent;e.isArrowFunction(o)&&1===o.parameters.length&&!e.findChildOfKind(o,20,i)?t.replaceNodeWithText(i,a,\"()\"):k(t,n,i,a);break;case 261:case 260:C(t,i,a,{leadingTriviaOption:i.imports.length&&a===e.first(i.imports).parent||a===e.find(i.statements,e.isAnyImportSyntax)?c.Exclude:e.hasJSDocNodes(a)?c.JSDoc:c.StartLine});break;case 198:var s=a.parent;197===s.kind&&a!==e.last(s.elements)?C(t,i,a):k(t,n,i,a);break;case 249:!function(t,r,n,i){var a=i.parent;if(287===a.kind)return void t.deleteNodeRange(n,e.findChildOfKind(a,20,n),e.findChildOfKind(a,21,n));if(1!==a.declarations.length)return void k(t,r,n,i);var o=a.parent;switch(o.kind){case 239:case 238:t.replaceNode(n,i,e.factory.createObjectLiteralExpression());break;case 237:C(t,n,a);break;case 232:C(t,n,o,{leadingTriviaOption:e.hasJSDocNodes(o)?c.JSDoc:c.StartLine});break;default:e.Debug.assertNever(o)}}(t,n,i,a);break;case 159:k(t,n,i,a);break;case 265:var l=a.parent;1===l.elements.length?r(t,i,l):k(t,n,i,a);break;case 263:r(t,i,a);break;case 26:C(t,i,a,{trailingTriviaOption:u.Exclude});break;case 97:C(t,i,a,{leadingTriviaOption:c.Exclude});break;case 252:case 251:C(t,i,a,{leadingTriviaOption:e.hasJSDocNodes(a)?c.JSDoc:c.StartLine});break;default:e.isImportClause(a.parent)&&a.parent.name===a?function(t,r,n){if(n.namedBindings){var i=n.name.getStart(r),a=e.getTokenAtPosition(r,n.name.end);if(a&&27===a.kind){var o=e.skipTrivia(r.text,a.end,!1,!0);t.deleteRange(r,{pos:i,end:o})}else C(t,r,n.name)}else C(t,r,n.parent)}(t,i,a.parent):e.isCallExpression(a.parent)&&e.contains(a.parent.arguments,a)?k(t,n,i,a):C(t,i,a)}}}(v||(v={})),t.deleteNode=C}(e.textChanges||(e.textChanges={}))}(u||(u={})),function(e){!function(t){var i=e.createMultiMap(),a=new e.Map;function o(t){return e.isArray(t)?e.formatStringFromArgs(e.getLocaleSpecificMessage(t[0]),t.slice(1)):e.getLocaleSpecificMessage(t)}function c(e,t,r,n,i,a){return{fixName:e,description:t,changes:r,fixId:n,fixAllDescription:i,commands:a?[a]:void 0}}function u(e,t){return{changes:e,commands:t}}function l(t,r,n){for(var i=0,a=d(t);i1)break}var l=a<2;return function(e){var t=e.fixId,r=e.fixAllDescription,i=s(e,[\"fixId\",\"fixAllDescription\"]);return l?i:n(n({},i),{fixId:t,fixAllDescription:r})}}(i,r))}))},t.getAllFixes=function(t){return a.get(e.cast(t.fixId,e.isString)).getAllCodeActions(t)},t.createCombinedCodeActions=u,t.createFileTextChanges=function(e,t){return{fileName:e,textChanges:t}},t.codeFixAll=function(t,r,n){var i=[];return u(e.textChanges.ChangeTracker.with(t,(function(e){return l(t,r,(function(t){return n(e,t,i)}))})),0===i.length?void 0:i)},t.eachDiagnostic=l}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){var t,r;t=e.refactor||(e.refactor={}),r=new e.Map,t.registerRefactor=function(e,t){r.set(e,t)},t.getApplicableRefactors=function(t){return e.arrayFrom(e.flatMapIterator(r.values(),(function(e){return t.cancellationToken&&t.cancellationToken.isCancellationRequested()?void 0:e.getAvailableActions(t)})))},t.getEditsForRefactor=function(e,t,n){var i=r.get(t);return i&&i.getEditsForAction(e,n)}}(u||(u={})),function(e){!function(t){var r=\"addConvertToUnknownForNonOverlappingTypes\",n=[e.Diagnostics.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n),a=e.Debug.checkDefined(e.findAncestor(i,(function(t){return e.isAsExpression(t)||e.isTypeAssertionExpression(t)})),\"Expected to find an assertion expression\"),o=e.isAsExpression(a)?e.factory.createAsExpression(a.expression,e.factory.createKeywordTypeNode(152)):e.factory.createTypeAssertion(e.factory.createKeywordTypeNode(152),a.expression);t.replaceNode(r,a.expression,o)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Add_unknown_conversion_for_non_overlapping_types,r,e.Diagnostics.Add_unknown_to_all_conversions_of_non_overlapping_types)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){t.registerCodeFix({errorCodes:[e.Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code],getCodeActions:function(r){var n=r.sourceFile,i=e.textChanges.ChangeTracker.with(r,(function(t){var r=e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports([]),void 0);t.insertNodeAtEndOfScope(n,n,r)}));return[t.createCodeFixActionWithoutFixAll(\"addEmptyExportDeclaration\",i,e.Diagnostics.Add_export_to_make_this_file_into_a_module)]}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"addMissingAsync\",n=[e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Type_0_is_not_comparable_to_type_1.code];function i(n,i,a,o){var s=a((function(t){return function(t,r,n,i){if(i&&i.has(e.getNodeId(n)))return;null==i||i.add(e.getNodeId(n));var a=e.factory.updateModifiers(e.getSynthesizedDeepClone(n,!0),e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(256|e.getSyntacticModifierFlags(n))));t.replaceNode(r,n,a)}(t,n.sourceFile,i,o)}));return t.createCodeFixAction(r,s,e.Diagnostics.Add_async_modifier_to_containing_function,r,e.Diagnostics.Add_all_missing_async_modifiers)}function a(t,r){if(r){var n=e.getTokenAtPosition(t,r.start);return e.findAncestor(n,(function(n){return n.getStart(t)e.textSpanEnd(r)?\"quit\":(e.isArrowFunction(n)||e.isMethodDeclaration(n)||e.isFunctionExpression(n)||e.isFunctionDeclaration(n))&&e.textSpansEqual(r,e.createTextSpanFromNode(n,t))}))}}t.registerCodeFix({fixIds:[r],errorCodes:n,getCodeActions:function(t){var r=t.sourceFile,n=t.errorCode,o=t.cancellationToken,s=t.program,c=t.span,u=e.find(s.getDiagnosticsProducingTypeChecker().getDiagnostics(r,o),function(t,r){return function(n){var i=n.start,a=n.length,o=n.relatedInformation,s=n.code;return e.isNumber(i)&&e.isNumber(a)&&e.textSpansEqual({start:i,length:a},t)&&s===r&&!!o&&e.some(o,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code}))}}(c,n)),l=a(r,u&&u.relatedInformation&&e.find(u.relatedInformation,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code})));if(l){return[i(t,l,(function(r){return e.textChanges.ChangeTracker.with(t,r)}))]}},getAllCodeActions:function(r){var o=r.sourceFile,s=new e.Set;return t.codeFixAll(r,n,(function(t,n){var c=n.relatedInformation&&e.find(n.relatedInformation,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code})),u=a(o,c);if(u){return i(r,u,(function(e){return e(t),[]}),s)}}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var n=\"addMissingAwait\",i=e.Diagnostics.Property_0_does_not_exist_on_type_1.code,a=[e.Diagnostics.This_expression_is_not_callable.code,e.Diagnostics.This_expression_is_not_constructable.code],o=r([e.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.Operator_0_cannot_be_applied_to_type_1.code,e.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2.code,e.Diagnostics.This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap.code,e.Diagnostics.Type_0_is_not_an_array_type.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,i],a);function s(r,n,i,a,s,c){var u=r.sourceFile,_=r.program,p=r.cancellationToken,f=function(t,r,n,i,a){var s=function(t,r){if(e.isPropertyAccessExpression(t.parent)&&e.isIdentifier(t.parent.expression))return{identifiers:[t.parent.expression],isCompleteFix:!0};if(e.isIdentifier(t))return{identifiers:[t],isCompleteFix:!0};if(e.isBinaryExpression(t)){for(var n=void 0,i=!0,a=0,o=[t.left,t.right];ae.textSpanEnd(n)?\"quit\":e.isExpression(r)&&e.textSpansEqual(n,e.createTextSpanFromNode(r,t))}));return s&&function(t,r,n,i,a){var o=a.getDiagnosticsProducingTypeChecker().getDiagnostics(t,i);return e.some(o,(function(t){var i=t.start,a=t.length,o=t.relatedInformation,s=t.code;return e.isNumber(i)&&e.isNumber(a)&&e.textSpansEqual({start:i,length:a},n)&&s===r&&!!o&&e.some(o,(function(t){return t.code===e.Diagnostics.Did_you_forget_to_use_await.code}))}))}(t,r,n,i,a)&&l(s)?s:void 0}function l(t){return 32768&t.kind||!!e.findAncestor(t,(function(t){return t.parent&&e.isArrowFunction(t.parent)&&t.parent.body===t||e.isBlock(t)&&(251===t.parent.kind||208===t.parent.kind||209===t.parent.kind||165===t.parent.kind)}))}function d(t,r,n,o,s,c){if(e.isBinaryExpression(s))for(var u=0,l=[s.left,s.right];u0)return[t.createCodeFixAction(r,a,e.Diagnostics.Add_const_to_unresolved_variable,r,e.Diagnostics.Add_const_to_all_unresolved_variables)]},fixIds:[r],getAllCodeActions:function(r){var a=new e.Set;return t.codeFixAll(r,n,(function(e,t){return i(e,t.file,t.start,r.program,a)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"addMissingDeclareProperty\",n=[e.Diagnostics.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration.code];function i(t,r,n,i){var a=e.getTokenAtPosition(r,n);if(e.isIdentifier(a)){var o=a.parent;163!==o.kind||i&&!e.tryAddToSet(i,o)||t.insertModifierBefore(r,133,o)}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));if(a.length>0)return[t.createCodeFixAction(r,a,e.Diagnostics.Prefix_with_declare,r,e.Diagnostics.Prefix_all_incorrect_property_declarations_with_declare)]},fixIds:[r],getAllCodeActions:function(r){var a=new e.Set;return t.codeFixAll(r,n,(function(e,t){return i(e,t.file,t.start,a)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"addMissingInvocationForDecorator\",n=[e.Diagnostics._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n),a=e.findAncestor(i,e.isDecorator);e.Debug.assert(!!a,\"Expected position to be owned by a decorator.\");var o=e.factory.createCallExpression(a.expression,void 0,void 0);t.replaceNode(r,a.expression,o)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Call_decorator_expression,r,e.Diagnostics.Add_to_all_uncalled_decorators)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"addNameToNamelessParameter\",n=[e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n);if(!e.isIdentifier(i))return e.Debug.fail(\"add-name-to-nameless-parameter operates on identifiers, but got a \"+e.Debug.formatSyntaxKind(i.kind));var a=i.parent;if(!e.isParameter(a))return e.Debug.fail(\"Tried to add a parameter name to a non-parameter: \"+e.Debug.formatSyntaxKind(i.kind));var o=a.parent.parameters.indexOf(a);e.Debug.assert(!a.type,\"Tried to add a parameter name to a parameter that already had one.\"),e.Debug.assert(o>-1,\"Parameter not found in parent parameter list.\");var s=e.factory.createParameterDeclaration(void 0,a.modifiers,a.dotDotDotToken,\"arg\"+o,a.questionToken,e.factory.createTypeReferenceNode(i,void 0),a.initializer);t.replaceNode(r,i,s)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Add_parameter_name,r,e.Diagnostics.Add_names_to_all_parameters_without_names)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"annotateWithTypeFromJSDoc\",n=[e.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types.code];function i(t,r){var n=e.getTokenAtPosition(t,r);return e.tryCast(e.isParameter(n.parent)?n.parent.parent:n.parent,a)}function a(t){return function(t){return e.isFunctionLikeDeclaration(t)||249===t.kind||162===t.kind||163===t.kind}(t)&&o(t)}function o(t){return e.isFunctionLikeDeclaration(t)?t.parameters.some(o)||!t.type&&!!e.getJSDocReturnType(t):!t.type&&!!e.getJSDocType(t)}function s(t,r,n){if(e.isFunctionLikeDeclaration(n)&&(e.getJSDocReturnType(n)||n.parameters.some((function(t){return!!e.getJSDocType(t)})))){if(!n.typeParameters){var i=e.getJSDocTypeParameterDeclarations(n);i.length&&t.insertTypeParameters(r,n,i)}var a=e.isArrowFunction(n)&&!e.findChildOfKind(n,20,r);a&&t.insertNodeBefore(r,e.first(n.parameters),e.factory.createToken(20));for(var o=0,s=n.parameters;o1?(t.delete(r,c),t.insertNodeAfter(r,l,u)):t.replaceNode(r,l,u)}}function d(n){var i=[];return n.members&&n.members.forEach((function(e,n){if(\"constructor\"!==n){var a=s(e,void 0);a&&i.push.apply(i,a)}else t.delete(r,e.valueDeclaration.parent)})),n.exports&&n.exports.forEach((function(t){if(\"prototype\"===t.name){var r=t.declarations[0];if(1===t.declarations.length&&e.isPropertyAccessExpression(r)&&e.isBinaryExpression(r.parent)&&62===r.parent.operatorToken.kind&&e.isObjectLiteralExpression(r.parent.right))(n=s(r.parent.right.symbol,void 0))&&i.push.apply(i,n)}else{var n;(n=s(t,[e.factory.createToken(123)]))&&i.push.apply(i,n)}})),i;function s(n,i){var s=[];if(!(8192&n.flags||4096&n.flags))return s;var c,u,l=n.valueDeclaration,d=l.parent,_=d.right;if(c=l,u=_,!(e.isPropertyAccessExpression(c)?o(c)||e.isFunctionLike(u):e.every(c.properties,(function(t){return!!(e.isMethodDeclaration(t)||e.isGetOrSetAccessorDeclaration(t)||e.isPropertyAssignment(t)&&e.isFunctionExpression(t.initializer)&&t.name||o(t))}))))return s;var p=d.parent&&233===d.parent.kind?d.parent:d;if(t.delete(r,p),!_)return s.push(e.factory.createPropertyDeclaration([],i,n.name,void 0,void 0,void 0)),s;if(e.isPropertyAccessExpression(l)&&(e.isFunctionExpression(_)||e.isArrowFunction(_)))return g(s,_,l.name);if(e.isObjectLiteralExpression(_))return e.flatMap(_.properties,(function(t){return e.isMethodDeclaration(t)||e.isGetOrSetAccessorDeclaration(t)?s.concat(t):e.isPropertyAssignment(t)&&e.isFunctionExpression(t.initializer)?g(s,t.initializer,t.name):o(t)?s:[]}));if(e.isSourceFileJS(r))return s;if(!e.isPropertyAccessExpression(l))return s;var f=e.factory.createPropertyDeclaration(void 0,i,l.name,void 0,void 0,_);return e.copyLeadingComments(d.parent,f,r),s.push(f),s;function g(t,n,o){return e.isFunctionExpression(n)?function(t,n,o){var s=e.concatenate(i,a(n,129)),c=e.factory.createMethodDeclaration(void 0,s,void 0,o,void 0,void 0,n.parameters,void 0,n.body);return e.copyLeadingComments(d,c,r),t.concat(c)}(t,n,o):function(t,n,o){var s,c=n.body;s=230===c.kind?c:e.factory.createBlock([e.factory.createReturnStatement(c)]);var u=e.concatenate(i,a(n,129)),l=e.factory.createMethodDeclaration(void 0,u,void 0,o,void 0,void 0,n.parameters,void 0,s);return e.copyLeadingComments(d,l,r),t.concat(l)}(t,n,o)}}}}function a(t,r){return e.filter(t.modifiers,(function(e){return e.kind===r}))}function o(t){return!!t.name&&!(!e.isIdentifier(t.name)||\"constructor\"!==t.name.text)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start,n.program.getTypeChecker())}));return[t.createCodeFixAction(r,a,e.Diagnostics.Convert_function_to_an_ES2015_class,r,e.Diagnostics.Convert_all_constructor_functions_to_classes)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){return i(t,r.file,r.start,e.program.getTypeChecker())}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var n,i=\"convertToAsyncFunction\",a=[e.Diagnostics.This_may_be_converted_to_an_async_function.code],o=!0;function s(t,r,n,i,a){var o,s=e.getTokenAtPosition(r,n);if(o=e.isIdentifier(s)&&e.isVariableDeclaration(s.parent)&&s.parent.initializer&&e.isFunctionLikeDeclaration(s.parent.initializer)?s.parent.initializer:e.tryCast(e.getContainingFunction(e.getTokenAtPosition(r,n)),e.isFunctionLikeDeclaration)){var d,p,f=new e.Map,g=e.isInJSFile(o),m=function(t,r){if(!t.body)return new e.Set;var n=new e.Set;return e.forEachChild(t.body,(function t(i){c(i,r,\"then\")?(n.add(e.getNodeId(i)),e.forEach(i.arguments,t)):c(i,r,\"catch\")?(n.add(e.getNodeId(i)),e.forEachChild(i,t)):u(i,r)?n.add(e.getNodeId(i)):e.forEachChild(i,t)})),n}(o,i),v=function(t,r,n,i){var a=new e.Map,o=e.createMultiMap();return e.forEachChild(t,(function t(s){if(e.isIdentifier(s)){var c=r.getSymbolAtLocation(s),u=c&&function(e,t){return e.valueDeclaration&&e.valueDeclaration.getSourceFile()===t}(c,i);if(c&&u){var d=y(r.getTypeAtLocation(s),r),_=e.getSymbolId(c).toString();if(!d||e.isParameter(s.parent)||e.isFunctionLikeDeclaration(s.parent)||n.has(_)){if(s.parent&&(e.isParameter(s.parent)||e.isVariableDeclaration(s.parent)||e.isBindingElement(s.parent))){var p=s.text,f=o.get(p);if(f&&f.some((function(e){return e!==c}))){var g=l(s,o);a.set(_,g.identifier),n.set(_,g),o.add(p,c)}else{var m=e.getSynthesizedDeepClone(s);n.set(_,b(m)),o.add(p,c)}}}else{var v=e.firstOrUndefined(d.parameters),h=v&&e.isParameter(v.valueDeclaration)&&e.tryCast(v.valueDeclaration.name,e.isIdentifier)||e.factory.createUniqueName(\"result\",16),D=l(h,o);n.set(_,D),o.add(h.text,c)}}}else e.forEachChild(s,t)})),e.getSynthesizedDeepCloneWithReplacements(t,!0,(function(t){if(e.isBindingElement(t)&&e.isIdentifier(t.name)&&e.isObjectBindingPattern(t.parent)){if((i=(n=r.getSymbolAtLocation(t.name))&&a.get(String(e.getSymbolId(n))))&&i.text!==(t.name||t.propertyName).getText())return e.factory.createBindingElement(t.dotDotDotToken,t.propertyName||t.name,i,t.initializer)}else if(e.isIdentifier(t)){var n,i;if(i=(n=r.getSymbolAtLocation(t))&&a.get(String(e.getSymbolId(n))))return e.factory.createIdentifier(i.text)}}))}(o,i,f,a.sourceFile),h=v.body&&e.isBlock(v.body)?(d=v.body,p=[],e.forEachReturnStatement(d,(function(t){e.isReturnStatementWithFixablePromiseHandler(t)&&p.push(t)})),p):e.emptyArray,D={checker:i,synthNamesMap:f,setOfExpressionsToReturn:m,isInJSFile:g};if(h.length){t.insertLastModifierBefore(r,129,o);for(var x=function(n){e.forEachChild(n,(function i(a){if(e.isCallExpression(a)){var o=_(a,D);t.replaceNodeWithNodes(r,n,o)}else e.isFunctionLike(a)||e.forEachChild(a,i)}))},S=0,E=h;S0)return O;if(k){I=m(a.checker,k,C);if(E(i,a))return f(I,null===(_=i.typeArguments)||void 0===_?void 0:_[0]);var M=p(r,I,void 0);return r&&r.types.push(k),M}return d();default:return d()}return e.emptyArray}function m(t,r,n){var i=e.getSynthesizedDeepClone(n);return t.getPromisedTypeOfPromise(r)?e.factory.createAwaitExpression(i):i}function y(t,r){var n=r.getSignaturesOfType(t,0);return e.lastOrUndefined(n)}function v(t,r,n){for(var i=[],a=0,o=r;a0)return}else e.isFunctionLike(a)||e.forEachChild(a,r)}))}return i}function h(t,r){var n,i=[];e.isFunctionLikeDeclaration(t)?t.parameters.length>0&&(n=function t(r){if(e.isIdentifier(r))return a(r);var n=e.flatMap(r.elements,(function(r){return e.isOmittedExpression(r)?[]:[t(r.name)]}));return function(t,r,n){void 0===r&&(r=e.emptyArray);void 0===n&&(n=[]);return{kind:1,bindingPattern:t,elements:r,types:n}}(r,n)}(t.parameters[0].name)):e.isIdentifier(t)&&(n=a(t));if(n&&(!(\"identifier\"in n)||\"undefined\"!==n.identifier.text))return n;function a(t){var n=function(e){return e.symbol?e.symbol:r.checker.getSymbolAtLocation(e)}(function(e){return e.original?e.original:e}(t));return n&&r.synthNamesMap.get(e.getSymbolId(n).toString())||b(t,i)}}function D(t){return!t||(S(t)?!t.identifier.text:e.every(t.elements,D))}function x(e){return S(e)?e.identifier:e.bindingPattern}function b(e,t){return void 0===t&&(t=[]),{kind:0,identifier:e,types:t,hasBeenDeclared:!1}}function S(e){return 0===e.kind}function E(t,r){return!!t.original&&r.setOfExpressionsToReturn.has(e.getNodeId(t.original))}t.registerCodeFix({errorCodes:a,getCodeActions:function(r){o=!0;var n=e.textChanges.ChangeTracker.with(r,(function(e){return s(e,r.sourceFile,r.span.start,r.program.getTypeChecker(),r)}));return o?[t.createCodeFixAction(i,n,e.Diagnostics.Convert_to_async_function,i,e.Diagnostics.Convert_all_to_async_functions)]:[]},fixIds:[i],getAllCodeActions:function(e){return t.codeFixAll(e,a,(function(t,r){return s(t,r.file,r.start,e.program.getTypeChecker(),e)}))}}),function(e){e[e.Identifier=0]=\"Identifier\",e[e.BindingPattern=1]=\"BindingPattern\"}(n||(n={}))}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){function r(t,r,n,i){for(var a=0,o=t.imports;a1?[[o(n),s(n)],!0]:[[s(n)],!0]:[[o(n)],!1]}(d.arguments[0],r):void 0;return p?(i.replaceNodeWithNodes(t,n.parent,p[0]),p[1]):(i.replaceRangeWithText(t,e.createRange(l.getStart(t),d.pos),\"export default\"),!0)}i.delete(t,n.parent)}else e.isExportsOrModuleExportsOrAlias(t,l.expression)&&function(t,r,n,i){var a=r.left.name.text,o=i.get(a);if(void 0!==o){var s=[g(void 0,o,r.right),m([e.factory.createExportSpecifier(o,a)])];n.replaceNodeWithNodes(t,r.parent,s)}else!function(t,r,n){var i=t.left,a=t.right,o=t.parent,s=i.name.text;if(!(e.isFunctionExpression(a)||e.isArrowFunction(a)||e.isClassExpression(a))||a.name&&a.name.text!==s)n.replaceNodeRangeWithNodes(r,i.expression,e.findChildOfKind(i,24,r),[e.factory.createToken(92),e.factory.createToken(84)],{joiner:\" \",suffix:\" \"});else{n.replaceRange(r,{pos:i.getStart(r),end:a.getStart(r)},e.factory.createToken(92),{suffix:\" \"}),a.name||n.insertName(r,a,s);var c=e.findChildOfKind(o,26,r);c&&n.delete(r,c)}}(r,t,n)}(t,n,i,a);return!1}(t,n,y,i,d,p)}default:return!1}}function a(r,n,i,a,o,s,c){var l,d=n.declarationList,_=!1,m=e.map(d.declarations,(function(n){var i=n.name,l=n.initializer;if(l){if(e.isExportsOrModuleExportsOrAlias(r,l))return _=!0,y([]);if(e.isRequireCall(l,!0))return _=!0,function(r,n,i,a,o,s){switch(r.kind){case 196:var c=e.mapAllOrFail(r.elements,(function(t){return t.dotDotDotToken||t.initializer||t.propertyName&&!e.isIdentifier(t.propertyName)||!e.isIdentifier(t.name)?void 0:f(t.propertyName&&t.propertyName.text,t.name.text)}));if(c)return y([e.makeImport(void 0,c,n,s)]);case 197:var l=u(t.moduleSpecifierToValidIdentifier(n.text,o),a);return y([e.makeImport(e.factory.createIdentifier(l),void 0,n,s),g(void 0,e.getSynthesizedDeepClone(r),e.factory.createIdentifier(l))]);case 78:return function(t,r,n,i,a){for(var o,s=n.getSymbolAtLocation(t),c=new e.Map,l=!1,d=0,_=i.original.get(t.text);d<_.length;d++){var p=_[d];if(n.getSymbolAtLocation(p)===s&&p!==t){var f=p.parent;if(e.isPropertyAccessExpression(f)){var g=f.expression,m=f.name.text;e.Debug.assert(g===p,\"Didn't expect expression === use\");var v=c.get(m);void 0===v&&(v=u(m,i),c.set(m,v)),(null!=o?o:o=new e.Map).set(f,e.factory.createIdentifier(v))}else l=!0}}var h=0===c.size?void 0:e.arrayFrom(e.mapIterator(c.entries(),(function(t){var r=t[0],n=t[1];return e.factory.createImportSpecifier(r===n?void 0:e.factory.createIdentifier(r),e.factory.createIdentifier(n))})));h||(l=!0);return y([e.makeImport(l?e.getSynthesizedDeepClone(t):void 0,h,r,a)],o)}(r,n,i,a,s);default:return e.Debug.assertNever(r,\"Convert to ES6 module got invalid name kind \"+r.kind)}}(i,l.arguments[0],a,o,s,c);if(e.isPropertyAccessExpression(l)&&e.isRequireCall(l.expression,!0))return _=!0,function(t,r,n,i,a){switch(t.kind){case 196:case 197:var o=u(r,i);return y([p(o,r,n,a),g(void 0,t,e.factory.createIdentifier(o))]);case 78:return y([p(t.text,r,n,a)]);default:return e.Debug.assertNever(t,\"Convert to ES6 module got invalid syntax form \"+t.kind)}}(i,l.name.text,l.expression.arguments[0],o,c)}return y([e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([n],d.flags))])}));if(_)return i.replaceNodeWithNodes(r,n,e.flatMap(m,(function(e){return e.newImports}))),e.forEach(m,(function(t){t.useSitesToUnqualify&&e.copyEntries(t.useSitesToUnqualify,null!=l?l:l=new e.Map)})),l}function o(e){return m(void 0,e)}function s(t){return m([e.factory.createExportSpecifier(void 0,\"default\")],t)}function c(t,r){return r&&e.some(e.arrayFrom(r.keys()),(function(r){return e.rangeContainsRange(t,r)}))?e.isArray(t)?e.getSynthesizedDeepClonesWithReplacements(t,!0,n):e.getSynthesizedDeepCloneWithReplacements(t,!0,n):t;function n(e){if(201===e.kind){var t=r.get(e);return r.delete(e),t}}}function u(e,t){for(;t.original.has(e)||t.additional.has(e);)e=\"_\"+e;return t.additional.add(e),e}function l(t){var r=e.createMultiMap();return d(t,(function(e){return r.add(e.text,e)})),r}function d(t,r){e.isIdentifier(t)&&function(e){var t=e.parent;switch(t.kind){case 201:return t.name!==e;case 198:case 265:return t.propertyName!==e;default:return!0}}(t)&&r(t),t.forEachChild((function(e){return d(e,r)}))}function _(t,r,n,i){return e.factory.createFunctionDeclaration(e.getSynthesizedDeepClones(n.decorators),e.concatenate(r,e.getSynthesizedDeepClones(n.modifiers)),e.getSynthesizedDeepClone(n.asteriskToken),t,e.getSynthesizedDeepClones(n.typeParameters),e.getSynthesizedDeepClones(n.parameters),e.getSynthesizedDeepClone(n.type),e.factory.converters.convertToFunctionBlock(c(n.body,i)))}function p(t,r,n,i){return\"default\"===r?e.makeImport(e.factory.createIdentifier(t),void 0,n,i):e.makeImport(void 0,[f(r,t)],n,i)}function f(t,r){return e.factory.createImportSpecifier(void 0!==t&&t!==r?e.factory.createIdentifier(t):void 0,e.factory.createIdentifier(r))}function g(t,r,n){return e.factory.createVariableStatement(t,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(r,void 0,void 0,n)],2))}function m(t,r){return e.factory.createExportDeclaration(void 0,void 0,!1,t&&e.factory.createNamedExports(t),void 0===r?void 0:e.factory.createStringLiteral(r))}function y(e,t){return{newImports:e,useSitesToUnqualify:t}}t.registerCodeFix({errorCodes:[e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module.code],getCodeActions:function(o){var s=o.sourceFile,c=o.program,d=o.preferences,_=e.textChanges.ChangeTracker.with(o,(function(t){if(function(t,r,o,s,c){var d={original:l(t),additional:new e.Set},_=function(t,r,i){var a=new e.Map;return n(t,(function(t){var n=t.name,o=n.text,s=n.originalKeywordKind;!a.has(o)&&(void 0!==s&&e.isNonContextualKeyword(s)||r.resolveName(o,t,111551,!0))&&a.set(o,u(\"_\"+o,i))})),a}(t,r,d);!function(t,r,i){n(t,(function(n,a){if(!a){var o=n.name.text;i.replaceNode(t,n,e.factory.createIdentifier(r.get(o)||o))}}))}(t,_,o);for(var p,f=!1,g=0,m=e.filter(t.statements,e.isVariableStatement);g=e.ModuleKind.ES2015)return n?1:2;if(e.isInJSFile(t))return e.isExternalModule(t)?1:3;for(var i=0,a=t.statements;i\"),[e.Diagnostics.Convert_function_expression_0_to_arrow_function,c?c.text:e.ANONYMOUS]}return t.replaceNode(r,s,e.factory.createToken(84)),t.insertText(r,c.end,\" = \"),t.insertText(r,u.pos,\" =>\"),[e.Diagnostics.Convert_function_declaration_0_to_arrow_function,c.text]}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a,o=n.sourceFile,s=n.program,c=n.span,u=e.textChanges.ChangeTracker.with(n,(function(e){a=i(e,o,c.start,s.getTypeChecker())}));return a?[t.createCodeFixAction(r,u,a,r,e.Diagnostics.Fix_all_implicit_this_errors)]:e.emptyArray},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){i(t,r.file,r.start,e.program.getTypeChecker())}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"fixIncorrectNamedTupleSyntax\",n=[e.Diagnostics.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type.code,e.Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type.code];t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=n.sourceFile,a=n.span,o=function(t,r){var n=e.getTokenAtPosition(t,r);return e.findAncestor(n,(function(e){return 192===e.kind}))}(i,a.start),s=e.textChanges.ChangeTracker.with(n,(function(t){return function(t,r,n){if(!n)return;var i=n.type,a=!1,o=!1;for(;180===i.kind||181===i.kind||186===i.kind;)180===i.kind?a=!0:181===i.kind&&(o=!0),i=i.type;var s=e.factory.updateNamedTupleMember(n,n.dotDotDotToken||(o?e.factory.createToken(25):void 0),n.name,n.questionToken||(a?e.factory.createToken(57):void 0),i);if(s===n)return;t.replaceNode(r,n,s)}(t,i,o)}));return[t.createCodeFixAction(r,s,e.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels,r,e.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels)]},fixIds:[r]})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"fixSpelling\",n=[e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_1.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2.code,e.Diagnostics.No_overload_matches_this_call.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code];function i(t,r,n,i){var a=e.getTokenAtPosition(t,r),o=a.parent;if(i!==e.Diagnostics.No_overload_matches_this_call.code&&i!==e.Diagnostics.Type_0_is_not_assignable_to_type_1.code||e.isJsxAttribute(o)){var s,c=n.program.getTypeChecker();if(e.isPropertyAccessExpression(o)&&o.name===a){e.Debug.assert(e.isIdentifierOrPrivateIdentifier(a),\"Expected an identifier for spelling (property access)\");var u=c.getTypeAtLocation(o.expression);32&o.flags&&(u=c.getNonNullableType(u)),s=c.getSuggestedSymbolForNonexistentProperty(a,u)}else if(e.isQualifiedName(o)&&o.right===a){var l=c.getSymbolAtLocation(o.left);l&&1536&l.flags&&(s=c.getSuggestedSymbolForNonexistentModule(o.right,l))}else if(e.isImportSpecifier(o)&&o.name===a){e.Debug.assertNode(a,e.isIdentifier,\"Expected an identifier for spelling (import)\");var d=function(t,r,n){if(!n||!e.isStringLiteralLike(n.moduleSpecifier))return;var i=e.getResolvedModule(t,n.moduleSpecifier.text);return i?r.program.getSourceFile(i.resolvedFileName):void 0}(t,n,e.findAncestor(a,e.isImportDeclaration));d&&d.symbol&&(s=c.getSuggestedSymbolForNonexistentModule(a,d.symbol))}else if(e.isJsxAttribute(o)&&o.name===a){e.Debug.assertNode(a,e.isIdentifier,\"Expected an identifier for JSX attribute\");var _=e.findAncestor(a,e.isJsxOpeningLikeElement),p=c.getContextualTypeForArgumentAtIndex(_,0);s=c.getSuggestedSymbolForNonexistentJSXAttribute(a,p)}else{var f=e.getMeaningFromLocation(a),g=e.getTextOfNode(a);e.Debug.assert(void 0!==g,\"name should be defined\"),s=c.getSuggestedSymbolForNonexistentSymbol(a,g,function(e){var t=0;4&e&&(t|=1920);2&e&&(t|=788968);1&e&&(t|=111551);return t}(f))}return void 0===s?void 0:{node:a,suggestedSymbol:s}}}function a(t,r,n,i,a){var o=e.symbolName(i);if(!e.isIdentifierText(o,a)&&e.isPropertyAccessExpression(n.parent)){var s=i.valueDeclaration;e.isNamedDeclaration(s)&&e.isPrivateIdentifier(s.name)?t.replaceNode(r,n,e.factory.createIdentifier(o)):t.replaceNode(r,n.parent,e.factory.createElementAccessExpression(n.parent.expression,e.factory.createStringLiteral(o)))}else t.replaceNode(r,n,e.factory.createIdentifier(o))}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=n.errorCode,c=i(o,n.span.start,n,s);if(c){var u=c.node,l=c.suggestedSymbol,d=n.host.getCompilationSettings().target,_=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,u,l,d)}));return[t.createCodeFixAction(\"spelling\",_,[e.Diagnostics.Change_spelling_to_0,e.symbolName(l)],r,e.Diagnostics.Fix_all_detected_spelling_errors)]}},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){var n=i(r.file,r.start,e,r.code),o=e.host.getCompilationSettings().target;n&&a(t,e.sourceFile,n.node,n.suggestedSymbol,o)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r,n=\"returnValueCorrect\",i=\"fixAddReturnStatement\",a=\"fixRemoveBracesFromArrowFunctionBody\",o=\"fixWrapTheBlockWithParen\",s=[e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code];function c(t,r,n){var i=t.createSymbol(4,r.escapedText);i.type=t.getTypeAtLocation(n);var a=e.createSymbolTable([i]);return t.createAnonymousType(void 0,a,[],[],void 0,void 0)}function u(t,n,i,a){if(n.body&&e.isBlock(n.body)&&1===e.length(n.body.statements)){var o=e.first(n.body.statements);if(e.isExpressionStatement(o)&&l(t,n,t.getTypeAtLocation(o.expression),i,a))return{declaration:n,kind:r.MissingReturnStatement,expression:o.expression,statement:o,commentSource:o.expression};if(e.isLabeledStatement(o)&&e.isExpressionStatement(o.statement)){var s=e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(o.label,o.statement.expression)]);if(l(t,n,c(t,o.label,o.statement.expression),i,a))return e.isArrowFunction(n)?{declaration:n,kind:r.MissingParentheses,expression:s,statement:o,commentSource:o.statement.expression}:{declaration:n,kind:r.MissingReturnStatement,expression:s,statement:o,commentSource:o.statement.expression}}else if(e.isBlock(o)&&1===e.length(o.statements)){var u=e.first(o.statements);if(e.isLabeledStatement(u)&&e.isExpressionStatement(u.statement)){s=e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(u.label,u.statement.expression)]);if(l(t,n,c(t,u.label,u.statement.expression),i,a))return{declaration:n,kind:r.MissingReturnStatement,expression:s,statement:o,commentSource:u}}}}}function l(t,r,n,i,a){if(a){var o=t.getSignatureFromDeclaration(r);if(o){e.hasSyntacticModifier(r,256)&&(n=t.createPromiseType(n));var s=t.createSignature(r,o.typeParameters,o.thisParameter,o.parameters,n,void 0,o.minArgumentCount,o.flags);n=t.createAnonymousType(void 0,e.createSymbolTable(),[s],[],void 0,void 0)}else n=t.getAnyType()}return t.isTypeAssignableTo(n,i)}function d(t,r,n,i){var a=e.getTokenAtPosition(r,n);if(a.parent){var o=e.findAncestor(a.parent,e.isFunctionLikeDeclaration);switch(i){case e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code:if(!(o&&o.body&&o.type&&e.rangeContainsRange(o.type,a)))return;return u(t,o,t.getTypeFromTypeNode(o.type),!1);case e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code:if(!o||!e.isCallExpression(o.parent)||!o.body)return;var s=o.parent.arguments.indexOf(o),c=t.getContextualTypeForArgumentAtIndex(o.parent,s);if(!c)return;return u(t,o,c,!0);case e.Diagnostics.Type_0_is_not_assignable_to_type_1.code:if(!e.isDeclarationName(a)||!e.isVariableLike(a.parent)&&!e.isJsxAttribute(a.parent))return;var l=function(t){switch(t.kind){case 249:case 160:case 198:case 163:case 288:return t.initializer;case 280:return t.initializer&&(e.isJsxExpression(t.initializer)?t.initializer.expression:void 0);case 289:case 162:case 291:case 333:case 326:return}}(a.parent);if(!l||!e.isFunctionLikeDeclaration(l)||!l.body)return;return u(t,l,t.getTypeAtLocation(a.parent),!0)}}}function _(t,r,n,i){e.suppressLeadingAndTrailingTrivia(n);var a=e.probablyUsesSemicolons(r);t.replaceNode(r,i,e.factory.createReturnStatement(n),{leadingTriviaOption:e.textChanges.LeadingTriviaOption.Exclude,trailingTriviaOption:e.textChanges.TrailingTriviaOption.Exclude,suffix:a?\";\":void 0})}function p(t,r,n,i,a,o){var s=o||e.needsParentheses(i)?e.factory.createParenthesizedExpression(i):i;e.suppressLeadingAndTrailingTrivia(a),e.copyComments(a,s),t.replaceNode(r,n.body,s)}function f(t,r,n,i){t.replaceNode(r,n.body,e.factory.createParenthesizedExpression(i))}function g(r,a,o){var s=e.textChanges.ChangeTracker.with(r,(function(e){return _(e,r.sourceFile,a,o)}));return t.createCodeFixAction(n,s,e.Diagnostics.Add_a_return_statement,i,e.Diagnostics.Add_all_missing_return_statement)}function m(r,i,a){var s=e.textChanges.ChangeTracker.with(r,(function(e){return f(e,r.sourceFile,i,a)}));return t.createCodeFixAction(n,s,e.Diagnostics.Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal,o,e.Diagnostics.Wrap_all_object_literal_with_parentheses)}!function(e){e[e.MissingReturnStatement=0]=\"MissingReturnStatement\",e[e.MissingParentheses=1]=\"MissingParentheses\"}(r||(r={})),t.registerCodeFix({errorCodes:s,fixIds:[i,a,o],getCodeActions:function(i){var o=i.program,s=i.sourceFile,c=i.span.start,u=i.errorCode,l=d(o.getTypeChecker(),s,c,u);if(l)return l.kind===r.MissingReturnStatement?e.append([g(i,l.expression,l.statement)],e.isArrowFunction(l.declaration)?function(r,i,o,s){var c=e.textChanges.ChangeTracker.with(r,(function(e){return p(e,r.sourceFile,i,o,s,!1)}));return t.createCodeFixAction(n,c,e.Diagnostics.Remove_braces_from_arrow_function_body,a,e.Diagnostics.Remove_braces_from_all_arrow_function_bodies_with_relevant_issues)}(i,l.declaration,l.expression,l.commentSource):void 0):[m(i,l.declaration,l.expression)]},getAllCodeActions:function(r){return t.codeFixAll(r,s,(function(t,n){var s=d(r.program.getTypeChecker(),n.file,n.start,n.code);if(s)switch(r.fixId){case i:_(t,n.file,s.expression,s.statement);break;case a:if(!e.isArrowFunction(s.declaration))return;p(t,n.file,s.declaration,s.expression,s.commentSource,!1);break;case o:if(!e.isArrowFunction(s.declaration))return;f(t,n.file,s.declaration,s.expression);break;default:e.Debug.fail(JSON.stringify(r.fixId))}}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r,n=\"addMissingMember\",i=[e.Diagnostics.Property_0_does_not_exist_on_type_1.code,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Property_0_is_missing_in_type_1_but_required_in_type_2.code,e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2.code,e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more.code],a=\"addMissingMember\";function o(t,r,n,i){var a=e.getTokenAtPosition(t,r);if(e.isIdentifier(a)||e.isPrivateIdentifier(a)){var o=a.parent;if(e.isPropertyAccessExpression(o)){var s=e.skipConstraint(n.getTypeAtLocation(o.expression)),c=s.symbol;if(c&&c.declarations){var u=e.find(c.declarations,e.isClassLike);if(u||!e.isPrivateIdentifier(a)){var l=u||e.find(c.declarations,e.isInterfaceDeclaration);if(l&&!i.isSourceFileFromExternalLibrary(l.getSourceFile())){var d=(s.target||s)!==n.getDeclaredTypeOfSymbol(c);if(d&&(e.isPrivateIdentifier(a)||e.isInterfaceDeclaration(l)))return;var _=l.getSourceFile(),p=(d?32:0)|(e.startsWithUnderscore(a.text)?8:0),f=e.isSourceFileJS(_);return{kind:1,token:a,call:e.tryCast(o.parent,e.isCallExpression),modifierFlags:p,parentDeclaration:l,declSourceFile:_,isJSFile:f}}var g=e.find(c.declarations,e.isEnumDeclaration);return!g||e.isPrivateIdentifier(a)||i.isSourceFileFromExternalLibrary(g.getSourceFile())?void 0:{kind:0,token:a,parentDeclaration:g}}}}}}function s(t,r,n,i,a){var o=i.text;if(a){if(221===n.kind)return;var s=n.name.getText(),u=c(e.factory.createIdentifier(s),o);t.insertNodeAfter(r,n,u)}else if(e.isPrivateIdentifier(i)){var l=e.factory.createPropertyDeclaration(void 0,void 0,o,void 0,void 0,void 0),_=d(n);_?t.insertNodeAfter(r,_,l):t.insertNodeAtClassStart(r,n,l)}else{var p=e.getFirstConstructorWithBody(n);if(!p)return;var f=c(e.factory.createThis(),o);t.insertNodeAtConstructorEnd(r,p,f)}}function c(t,r){return e.factory.createExpressionStatement(e.factory.createAssignment(e.factory.createPropertyAccessExpression(t,r),e.factory.createIdentifier(\"undefined\")))}function u(t,r,n){var i;if(216===n.parent.parent.kind){var a=n.parent.parent,o=n.parent===a.left?a.right:a.left,s=t.getWidenedType(t.getBaseTypeOfLiteralType(t.getTypeAtLocation(o)));i=t.typeToTypeNode(s,r,void 0)}else{var c=t.getContextualType(n.parent);i=c?t.typeToTypeNode(c,void 0,void 0):void 0}return i||e.factory.createKeywordTypeNode(128)}function l(t,r,n,i,a,o){var s=e.factory.createPropertyDeclaration(void 0,o?e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(o)):void 0,i,void 0,a,void 0),c=d(n);c?t.insertNodeAfter(r,c,s):t.insertNodeAtClassStart(r,n,s)}function d(t){for(var r,n=0,i=t.members;n=e.ModuleKind.ES2015&&o99){s=e.textChanges.ChangeTracker.with(r,(function(r){if(e.getTsConfigObjectLiteralExpression(i)){var n=[[\"target\",e.factory.createStringLiteral(\"es2017\")]];o===e.ModuleKind.CommonJS&&n.push([\"module\",e.factory.createStringLiteral(\"commonjs\")]),t.setJsonCompilerOptionValues(r,i,n)}}));a.push(t.createCodeFixActionWithoutFixAll(\"fixTargetOption\",s,[e.Diagnostics.Set_the_target_option_in_your_configuration_file_to_0,\"es2017\"]))}return a.length?a:void 0}}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"fixPropertyAssignment\",n=[e.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code];function i(t,r,n){t.replaceNode(r,n,e.factory.createPropertyAssignment(n.name,n.objectAssignmentInitializer))}function a(t,r){return e.cast(e.getTokenAtPosition(t,r).parent,e.isShorthandPropertyAssignment)}t.registerCodeFix({errorCodes:n,fixIds:[r],getCodeActions:function(n){var o=a(n.sourceFile,n.span.start),s=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,o)}));return[t.createCodeFixAction(r,s,[e.Diagnostics.Change_0_to_1,\"=\",\":\"],r,[e.Diagnostics.Switch_each_misused_0_to_1,\"=\",\":\"])]},getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,a(t.file,t.start))}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"extendsInterfaceBecomesImplements\",n=[e.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements.code];function i(t,r){var n=e.getTokenAtPosition(t,r),i=e.getContainingClass(n).heritageClauses,a=i[0].getFirstToken();return 93===a.kind?{extendsToken:a,heritageClauses:i}:void 0}function a(t,r,n,i){if(t.replaceNode(r,n,e.factory.createToken(116)),2===i.length&&93===i[0].token&&116===i[1].token){var a=i[1].getFirstToken(),o=a.getFullStart();t.replaceRange(r,{pos:o,end:o},e.factory.createToken(27));for(var s=r.text,c=a.end;c\":\">\",\"}\":\"}\"};function o(t,r,n,i,o){var s=n.getText()[i];if(function(t){return e.hasProperty(a,t)}(s)){var c=o?a[s]:\"{\"+e.quote(n,r,s)+\"}\";t.replaceRangeWithText(n,{pos:i,end:i+1},c)}}}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"unusedIdentifier\",n=\"unusedIdentifier_prefix\",i=\"unusedIdentifier_delete\",a=\"unusedIdentifier_infer\",o=[e.Diagnostics._0_is_declared_but_its_value_is_never_read.code,e.Diagnostics._0_is_declared_but_never_used.code,e.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code,e.Diagnostics.All_imports_in_import_declaration_are_unused.code,e.Diagnostics.All_destructured_elements_are_unused.code,e.Diagnostics.All_variables_are_unused.code,e.Diagnostics.All_type_parameters_are_unused.code];function s(t,r,n){t.replaceNode(r,n.parent,e.factory.createKeywordTypeNode(152))}function c(n,a){return t.createCodeFixAction(r,n,a,i,e.Diagnostics.Delete_all_unused_declarations)}function u(t,r,n){t.delete(r,e.Debug.checkDefined(e.cast(n.parent,e.isDeclarationWithTypeParameterChildren).typeParameters,\"The type parameter to delete should exist\"))}function l(t){return 99===t.kind?e.tryCast(t.parent,e.isImportDeclaration):void 0}function d(t,r){return e.isVariableDeclarationList(r.parent)&&e.first(r.parent.getChildren(t))===r}function _(e,t,r){e.delete(t,232===r.parent.kind?r.parent:r)}function p(t,r,n){e.forEach(n.elements,(function(e){return t.delete(r,e)}))}function f(t,r,n,i){r!==e.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code&&(135===i.kind&&(i=e.cast(i.parent,e.isInferTypeNode).typeParameter.name),e.isIdentifier(i)&&function(e){switch(e.parent.kind){case 160:case 159:return!0;case 249:switch(e.parent.parent.parent.kind){case 239:case 238:return!0}}return!1}(i)&&(t.replaceNode(n,i,e.factory.createIdentifier(\"_\"+i.text)),e.isParameter(i.parent)&&e.getJSDocParameterTags(i.parent).forEach((function(r){e.isIdentifier(r.name)&&t.replaceNode(n,r.name,e.factory.createIdentifier(\"_\"+r.name.text))}))))}function g(t,r,n,i,a,o){!function(t,r,n,i,a,o){var s=t.parent;e.isParameter(s)?function(t,r,n,i,a,o){void 0===o&&(o=!1);(function(t,r,n,i){var a=n.parent;switch(a.kind){case 165:var o=t.getSymbolAtLocation(a.name);if(e.isMemberSymbolInBaseType(o,t))return!1;case 166:return!0;case 251:return!a.name||!function(t,r,n){return!!e.FindAllReferences.Core.eachSymbolReferenceInFile(n,t,r,(function(t){return e.isIdentifier(t)&&e.isCallExpression(t.parent)&&t.parent.arguments.indexOf(t)>=0}))}(t,r,a.name)||m(a,n,i);case 208:case 209:return m(a,n,i);case 168:return!1;default:return e.Debug.failBadSyntaxKind(a)}})(i,r,n,o)&&(n.modifiers&&n.modifiers.length>0&&(!e.isIdentifier(n.name)||e.FindAllReferences.Core.isSymbolReferencedInFile(n.name,i,r))?n.modifiers.forEach((function(e){return t.deleteModifier(r,e)})):(t.delete(r,n),function(t,r,n,i,a){e.FindAllReferences.Core.eachSignatureCall(n.parent,i,a,(function(e){var i=n.parent.parameters.indexOf(n);e.arguments.length>i&&t.delete(r,e.arguments[i])}))}(t,r,n,a,i)))}(r,n,s,i,a,o):r.delete(n,e.isImportClause(s)?t:e.isComputedPropertyName(s)?s.parent:s)}(r,n,t,i,a,o),e.isIdentifier(r)&&function(t,r,n,i){e.FindAllReferences.Core.eachSymbolReferenceInFile(n,i,r,(function(n){e.isPropertyAccessExpression(n.parent)&&n.parent.name===n&&(n=n.parent),e.isBinaryExpression(n.parent)&&e.isExpressionStatement(n.parent.parent)&&n.parent.left===n&&t.delete(r,n.parent.parent)}))}(n,t,r,i)}function m(t,r,n){var i=t.parameters,a=i.indexOf(r);return e.Debug.assert(-1!==a,\"The parameter should already be in the list\"),n?i.slice(a+1).every((function(t){return e.isIdentifier(t.name)&&!t.symbol.isReferenced})):a===i.length-1}t.registerCodeFix({errorCodes:o,getCodeActions:function(i){var o=i.errorCode,m=i.sourceFile,y=i.program,v=y.getTypeChecker(),h=y.getSourceFiles(),D=e.getTokenAtPosition(m,i.span.start);if(e.isJSDocTemplateTag(D))return[c(e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(m,D)})),e.Diagnostics.Remove_template_tag)];if(29===D.kind)return[c(T=e.textChanges.ChangeTracker.with(i,(function(e){return u(e,m,D)})),e.Diagnostics.Remove_type_parameters)];var x=l(D);if(x)return[c(T=e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(m,x)})),[e.Diagnostics.Remove_import_from_0,e.showModuleSpecifier(x)])];if(e.isObjectBindingPattern(D.parent)){if(e.isParameter(D.parent.parent)){var b=D.parent.elements,S=[b.length>1?e.Diagnostics.Remove_unused_declarations_for_Colon_0:e.Diagnostics.Remove_unused_declaration_for_Colon_0,e.map(b,(function(e){return e.getText(m)})).join(\", \")];return[c(e.textChanges.ChangeTracker.with(i,(function(e){return p(e,m,D.parent)})),S)]}return[c(e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(m,D.parent.parent)})),e.Diagnostics.Remove_unused_destructuring_declaration)]}if(d(m,D))return[c(e.textChanges.ChangeTracker.with(i,(function(e){return _(e,m,D.parent)})),e.Diagnostics.Remove_variable_statement)];var E=[];if(135===D.kind){var T=e.textChanges.ChangeTracker.with(i,(function(e){return s(e,m,D)})),C=e.cast(D.parent,e.isInferTypeNode).typeParameter.name.text;E.push(t.createCodeFixAction(r,T,[e.Diagnostics.Replace_infer_0_with_unknown,C],a,e.Diagnostics.Replace_all_unused_infer_with_unknown))}else{var k=e.textChanges.ChangeTracker.with(i,(function(e){return g(m,D,e,v,h,!1)}));if(k.length){C=e.isComputedPropertyName(D.parent)?D.parent:D;E.push(c(k,[e.Diagnostics.Remove_unused_declaration_for_Colon_0,C.getText(m)]))}}var A=e.textChanges.ChangeTracker.with(i,(function(e){return f(e,o,m,D)}));return A.length&&E.push(t.createCodeFixAction(r,A,[e.Diagnostics.Prefix_0_with_an_underscore,D.getText(m)],n,e.Diagnostics.Prefix_all_unused_declarations_with_where_possible)),E},fixIds:[n,i,a],getAllCodeActions:function(r){var c=r.sourceFile,m=r.program,y=m.getTypeChecker(),v=m.getSourceFiles();return t.codeFixAll(r,o,(function(t,o){var m=e.getTokenAtPosition(c,o.start);switch(r.fixId){case n:f(t,o.code,c,m);break;case i:if(135===m.kind)break;var h=l(m);h?t.delete(c,h):e.isJSDocTemplateTag(m)?t.delete(c,m):29===m.kind?u(t,c,m):e.isObjectBindingPattern(m.parent)?e.isParameter(m.parent.parent)?p(t,c,m.parent):t.delete(c,m.parent.parent):d(c,m)?_(t,c,m.parent):g(c,m,t,y,v,!0);break;case a:135===m.kind&&s(t,c,m);break;default:e.Debug.fail(JSON.stringify(r.fixId))}}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"fixUnreachableCode\",n=[e.Diagnostics.Unreachable_code_detected.code];function i(t,r,n,i,a){var o=e.getTokenAtPosition(r,n),s=e.findAncestor(o,e.isStatement);if(s.getStart(r)!==o.getStart(r)){var c=JSON.stringify({statementKind:e.Debug.formatSyntaxKind(s.kind),tokenKind:e.Debug.formatSyntaxKind(o.kind),errorCode:a,start:n,length:i});e.Debug.fail(\"Token and statement should start at the same point. \"+c)}var u=(e.isBlock(s.parent)?s.parent:s).parent;if(!e.isBlock(s.parent)||s===e.first(s.parent.statements))switch(u.kind){case 234:if(u.elseStatement){if(e.isBlock(s.parent))break;return void t.replaceNode(r,s,e.factory.createBlock(e.emptyArray))}case 236:case 237:return void t.delete(r,u)}if(e.isBlock(s.parent)){var l=n+i,d=e.Debug.checkDefined(function(e,t){for(var r,n=0,i=e;nM.length)B(S,f.getSignatureFromDeclaration(p[p.length-1]),h,y,o(S));else e.Debug.assert(p.length===M.length,\"Declarations and signatures should match count\"),d(function(t,r,n,i,s){for(var c=t[0],u=t[0].minArgumentCount,l=!1,d=0,_=t;d<_.length;d++){var p=_[d];u=Math.min(p.minArgumentCount,u),e.signatureHasRestParameter(p)&&(l=!0),p.parameters.length>=c.parameters.length&&(!e.signatureHasRestParameter(p)||e.signatureHasRestParameter(c))&&(c=p)}var f=c.parameters.length-(e.signatureHasRestParameter(c)?1:0),g=c.parameters.map((function(e){return e.name})),m=a(f,g,void 0,u,!1);if(l){var y=e.factory.createArrayTypeNode(e.factory.createKeywordTypeNode(128)),v=e.factory.createParameterDeclaration(void 0,void 0,e.factory.createToken(25),g[f]||\"rest\",f>=u?e.factory.createToken(57):void 0,y,void 0);m.push(v)}return function(t,r,n,i,a,s,c){return e.factory.createMethodDeclaration(void 0,t,void 0,r,n?e.factory.createToken(57):void 0,i,a,s,o(c))}(i,r,n,void 0,m,void 0,s)}(M,y,x,h,S))}}function B(t,i,a,o,c){var p=function(t,n,i,a,o,s,c,u,d){var p=t.program,f=p.getTypeChecker(),g=e.getEmitScriptTarget(p.getCompilerOptions()),m=1073742081|(0===n?268435456:0),y=f.signatureToSignatureDeclaration(i,165,a,m,r(t));if(!y)return;var v=y.typeParameters,h=y.parameters,D=y.type;if(d){if(v){var x=e.sameMap(v,(function(t){var r,n=t.constraint,i=t.default;n&&((r=l(n,g))&&(n=r.typeNode,_(d,r.symbols)));i&&((r=l(i,g))&&(i=r.typeNode,_(d,r.symbols)));return e.factory.updateTypeParameterDeclaration(t,t.name,n,i)}));v!==x&&(v=e.setTextRange(e.factory.createNodeArray(x,v.hasTrailingComma),v))}var b=e.sameMap(h,(function(t){var r=l(t.type,g),n=t.type;return r&&(n=r.typeNode,_(d,r.symbols)),e.factory.updateParameterDeclaration(t,t.decorators,t.modifiers,t.dotDotDotToken,t.name,t.questionToken,n,t.initializer)}));if(h!==b&&(h=e.setTextRange(e.factory.createNodeArray(b,h.hasTrailingComma),h)),D){var S=l(D,g);S&&(D=S.typeNode,_(d,S.symbols))}}return e.factory.updateMethodDeclaration(y,void 0,o,y.asteriskToken,s,c?e.factory.createToken(57):void 0,v,h,D,u)}(s,t,i,n,a,o,x,c,u);p&&d(p)}}function i(t,r,n,i,a,o,s){var c=t.typeToTypeNode(n,i,o,s);if(c&&e.isImportTypeNode(c)){var u=l(c,a);if(u)return _(r,u.symbols),u.typeNode}return c}function a(t,r,n,i,a){for(var o=[],s=0;s=i?e.factory.createToken(57):void 0,a?void 0:n&&n[s]||e.factory.createKeywordTypeNode(128),void 0);o.push(c)}return o}function o(t){return e.factory.createBlock([e.factory.createThrowStatement(e.factory.createNewExpression(e.factory.createIdentifier(\"Error\"),void 0,[e.factory.createStringLiteral(\"Method not implemented.\",0===t)]))],!0)}function s(t,r,n){var i=e.getTsConfigObjectLiteralExpression(r);if(i){var a=u(i,\"compilerOptions\");if(void 0!==a){var o=a.initializer;if(e.isObjectLiteralExpression(o))for(var s=0,l=n;s0)return[t.createCodeFixAction(r,a,e.Diagnostics.Convert_to_a_bigint_numeric_literal,r,e.Diagnostics.Convert_all_to_bigint_numeric_literals)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"fixAddModuleReferTypeMissingTypeof\",n=[e.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0.code];function i(t,r){var n=e.getTokenAtPosition(t,r);return e.Debug.assert(99===n.kind,\"This token should be an ImportKeyword\"),e.Debug.assert(195===n.parent.kind,\"Token parent should be an ImportType\"),n.parent}function a(t,r,n){var i=e.factory.updateImportTypeNode(n,n.argument,n.qualifier,n.typeArguments,!0);t.replaceNode(r,n,i)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=n.span,c=i(o,s.start),u=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,c)}));return[t.createCodeFixAction(r,u,e.Diagnostics.Add_missing_typeof,r,e.Diagnostics.Add_missing_typeof)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){return a(t,e.sourceFile,i(r.file,r.start))}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"wrapJsxInFragment\",n=[e.Diagnostics.JSX_expressions_must_have_one_parent_element.code];function i(t,r){var n=e.getTokenAtPosition(t,r).parent.parent;if((e.isBinaryExpression(n)||(n=n.parent,e.isBinaryExpression(n)))&&e.nodeIsMissing(n.operatorToken))return n}function a(t,r,n){var i=function(t){var r=[],n=t;for(;;){if(e.isBinaryExpression(n)&&e.nodeIsMissing(n.operatorToken)&&27===n.operatorToken.kind){if(r.push(n.left),e.isJsxChild(n.right))return r.push(n.right),r;if(e.isBinaryExpression(n.right)){n=n.right;continue}return}return}}(n);i&&t.replaceNode(r,n,e.factory.createJsxFragment(e.factory.createJsxOpeningFragment(),i,e.factory.createJsxJsxClosingFragment()))}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.program.getCompilerOptions().jsx;if(2===o||3===o){var s=n.sourceFile,c=n.span,u=i(s,c.start);if(u){var l=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,s,u)}));return[t.createCodeFixAction(r,l,e.Diagnostics.Wrap_in_JSX_fragment,r,e.Diagnostics.Wrap_all_unparented_JSX_in_JSX_fragment)]}}},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){var n=i(e.sourceFile,r.start);n&&a(t,e.sourceFile,n)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var n=\"fixConvertToMappedObjectType\",i=[e.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead.code];function a(t,r){var n=e.getTokenAtPosition(t,r),i=e.cast(n.parent.parent,e.isIndexSignatureDeclaration);if(!e.isClassDeclaration(i.parent))return{indexSignature:i,container:e.isInterfaceDeclaration(i.parent)?i.parent:e.cast(i.parent.parent,e.isTypeAliasDeclaration)}}function o(t,n,i){var a=i.indexSignature,o=i.container,s=(e.isInterfaceDeclaration(o)?o.members:o.type.members).filter((function(t){return!e.isIndexSignatureDeclaration(t)})),c=e.first(a.parameters),u=e.factory.createTypeParameterDeclaration(e.cast(c.name,e.isIdentifier),c.type),l=e.factory.createMappedTypeNode(e.hasEffectiveReadonlyModifier(a)?e.factory.createModifier(142):void 0,u,void 0,a.questionToken,a.type),d=e.factory.createIntersectionTypeNode(r(e.getAllSuperTypeNodes(o),[l],s.length?[e.factory.createTypeLiteralNode(s)]:e.emptyArray));t.replaceNode(n,o,function(t,r){return e.factory.createTypeAliasDeclaration(t.decorators,t.modifiers,t.name,t.typeParameters,r)}(o,d))}t.registerCodeFix({errorCodes:i,getCodeActions:function(r){var i=r.sourceFile,s=r.span,c=a(i,s.start);if(c){var u=e.textChanges.ChangeTracker.with(r,(function(e){return o(e,i,c)})),l=e.idText(c.container.name);return[t.createCodeFixAction(n,u,[e.Diagnostics.Convert_0_to_mapped_object_type,l],n,[e.Diagnostics.Convert_0_to_mapped_object_type,l])]}},fixIds:[n],getAllCodeActions:function(e){return t.codeFixAll(e,i,(function(e,t){var r=a(t.file,t.start);r&&o(e,t.file,r)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"removeAccidentalCallParentheses\",n=[e.Diagnostics.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without.code];t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=e.findAncestor(e.getTokenAtPosition(n.sourceFile,n.span.start),e.isCallExpression);if(i){var a=e.textChanges.ChangeTracker.with(n,(function(e){e.deleteRange(n.sourceFile,{pos:i.expression.end,end:i.end})}));return[t.createCodeFixActionWithoutFixAll(r,a,e.Diagnostics.Remove_parentheses)]}},fixIds:[r]})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"removeUnnecessaryAwait\",n=[e.Diagnostics.await_has_no_effect_on_the_type_of_this_expression.code];function i(t,r,n){var i=e.tryCast(e.getTokenAtPosition(r,n.start),(function(e){return 130===e.kind})),a=i&&e.tryCast(i.parent,e.isAwaitExpression);if(a){var o=a;if(e.isParenthesizedExpression(a.parent)){var s=e.getLeftmostExpression(a.expression,!1);if(e.isIdentifier(s)){var c=e.findPrecedingToken(a.parent.pos,r);c&&102!==c.kind&&(o=a.parent)}}t.replaceNode(r,o,a.expression)}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span)}));if(a.length>0)return[t.createCodeFixAction(r,a,e.Diagnostics.Remove_unnecessary_await,r,e.Diagnostics.Remove_all_unnecessary_uses_of_await)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=[e.Diagnostics.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both.code],n=\"splitTypeOnlyImport\";function i(t,r){return e.findAncestor(e.getTokenAtPosition(t,r.start),e.isImportDeclaration)}function a(t,r,n){if(r){var i=e.Debug.checkDefined(r.importClause);t.replaceNode(n.sourceFile,r,e.factory.updateImportDeclaration(r,r.decorators,r.modifiers,e.factory.updateImportClause(i,i.isTypeOnly,i.name,void 0),r.moduleSpecifier)),t.insertNodeAfter(n.sourceFile,r,e.factory.createImportDeclaration(void 0,void 0,e.factory.updateImportClause(i,i.isTypeOnly,void 0,i.namedBindings),r.moduleSpecifier))}}t.registerCodeFix({errorCodes:r,fixIds:[n],getCodeActions:function(r){var o=e.textChanges.ChangeTracker.with(r,(function(e){return a(e,i(r.sourceFile,r.span),r)}));if(o.length)return[t.createCodeFixAction(n,o,e.Diagnostics.Split_into_two_separate_import_declarations,n,e.Diagnostics.Split_all_invalid_type_only_imports)]},getAllCodeActions:function(e){return t.codeFixAll(e,r,(function(t,r){a(t,i(e.sourceFile,r),e)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"fixConvertConstToLet\",n=[e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant.code];t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=n.sourceFile,a=n.span,o=n.program,s=function(t,r,n){var i=e.getTokenAtPosition(t,r),a=n.getTypeChecker().getSymbolAtLocation(i);if(a)return a.valueDeclaration.parent.parent}(i,a.start,o),c=e.textChanges.ChangeTracker.with(n,(function(e){return function(e,t,r){if(!r)return;var n=r.getStart();e.replaceRangeWithText(t,{pos:n,end:n+5},\"let\")}(e,i,s)}));return[t.createCodeFixAction(r,c,e.Diagnostics.Convert_const_to_let,r,e.Diagnostics.Convert_const_to_let)]},fixIds:[r]})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"fixExpectedComma\",n=[e.Diagnostics._0_expected.code];function i(t,r,n){var i=e.getTokenAtPosition(t,r);return 26===i.kind&&i.parent&&(e.isObjectLiteralExpression(i.parent)||e.isArrayLiteralExpression(i.parent))?{node:i}:void 0}function a(t,r,n){var i=n.node,a=e.factory.createToken(27);t.replaceNode(r,i,a)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=i(o,n.span.start,n.errorCode);if(s){var c=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,s)}));return[t.createCodeFixAction(r,c,[e.Diagnostics.Change_0_to_1,\";\",\",\"],r,[e.Diagnostics.Change_0_to_1,\";\",\",\"])]}},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){var n=i(r.file,r.start,r.code);n&&a(t,e.sourceFile,n)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"addVoidToPromise\",n=[e.Diagnostics.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise.code];function i(t,r,n,i,a){var o=e.getTokenAtPosition(r,n.start);if(e.isIdentifier(o)&&e.isCallExpression(o.parent)&&o.parent.expression===o&&0===o.parent.arguments.length){var s=i.getTypeChecker(),c=s.getSymbolAtLocation(o),u=null==c?void 0:c.valueDeclaration;if(u&&e.isParameter(u)&&e.isNewExpression(u.parent.parent)&&!(null==a?void 0:a.has(u))){null==a||a.add(u);var l=function(t){var r;if(!e.isInJSFile(t))return t.typeArguments;if(e.isParenthesizedExpression(t.parent)){var n=null===(r=e.getJSDocTypeTag(t.parent))||void 0===r?void 0:r.typeExpression.type;if(n&&e.isTypeReferenceNode(n)&&e.isIdentifier(n.typeName)&&\"Promise\"===e.idText(n.typeName))return n.typeArguments}}(u.parent.parent);if(e.some(l)){var d=l[0],_=!e.isUnionTypeNode(d)&&!e.isParenthesizedTypeNode(d)&&e.isParenthesizedTypeNode(e.factory.createUnionTypeNode([d,e.factory.createKeywordTypeNode(113)]).types[0]);_&&t.insertText(r,d.pos,\"(\"),t.insertText(r,d.end,_?\") | void\":\" | void\")}else{var p=s.getResolvedSignature(o.parent),f=null==p?void 0:p.parameters[0],g=f&&s.getTypeOfSymbolAtLocation(f,u.parent.parent);e.isInJSFile(u)?(!g||3&g.flags)&&(t.insertText(r,u.parent.parent.end,\")\"),t.insertText(r,e.skipTrivia(r.text,u.parent.parent.pos),\"/** @type {Promise} */(\")):(!g||2&g.flags)&&t.insertText(r,u.parent.parent.expression.end,\"\")}}}}t.registerCodeFix({errorCodes:n,fixIds:[r],getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span,n.program)}));if(a.length>0)return[t.createCodeFixAction(\"addVoidToPromise\",a,e.Diagnostics.Add_void_to_Promise_resolved_without_a_value,r,e.Diagnostics.Add_void_to_all_Promises_resolved_without_a_value)]},getAllCodeActions:function(r){return t.codeFixAll(r,n,(function(t,n){return i(t,n.file,n,r.program,new e.Set)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"Convert export\",n=\"Convert default export to named export\",i=\"Convert named export to default export\";function a(t,r){void 0===r&&(r=!0);var n=t.file,i=e.getRefactorContextSpan(t),a=e.getTokenAtPosition(n,i.start),o=a.parent&&1&e.getSyntacticModifierFlags(a.parent)&&r?a.parent:e.getParentNodeInSpan(a,n,i);if(!(o&&(e.isSourceFile(o.parent)||e.isModuleBlock(o.parent)&&e.isAmbientModule(o.parent.parent))))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_export_statement)};var s=e.isSourceFile(o.parent)?o.parent.symbol:o.parent.parent.symbol,c=e.getSyntacticModifierFlags(o),u=!!(512&c);if(!(1&c)||!u&&s.exports.has(\"default\"))return{error:e.getLocaleSpecificMessage(e.Diagnostics.This_file_already_has_a_default_export)};switch(o.kind){case 251:case 252:case 253:case 255:case 254:case 256:var l=o;return l.name&&e.isIdentifier(l.name)?{info:{exportNode:l,exportName:l.name,wasDefault:u,exportingModuleSymbol:s}}:void 0;case 232:var d=o;if(!(2&d.declarationList.flags)||1!==d.declarationList.declarations.length)return;var _=e.first(d.declarationList.declarations);if(!_.initializer)return;return e.Debug.assert(!u,\"Can't have a default flag here\"),e.isIdentifier(_.name)?{info:{exportNode:d,exportName:_.name,wasDefault:u,exportingModuleSymbol:s}}:void 0;default:return}}function o(t,r){return e.factory.createImportSpecifier(t===r?void 0:e.factory.createIdentifier(t),e.factory.createIdentifier(r))}t.registerRefactor(r,{getAvailableActions:function(t){var o=a(t,\"invoked\"===t.triggerReason);if(!o)return e.emptyArray;if(void 0===o.error){var s=o.info.wasDefault?e.Diagnostics.Convert_default_export_to_named_export.message:e.Diagnostics.Convert_named_export_to_default_export.message,c=o.info.wasDefault?n:i;return[{name:r,description:s,actions:[{name:c,description:s}]}]}return t.preferences.provideRefactorNotApplicableReason?[{name:r,description:e.Diagnostics.Convert_default_export_to_named_export.message,actions:[{name:n,description:e.Diagnostics.Convert_default_export_to_named_export.message,notApplicableReason:o.error}]},{name:r,description:e.Diagnostics.Convert_named_export_to_default_export.message,actions:[{name:i,description:e.Diagnostics.Convert_named_export_to_default_export.message,notApplicableReason:o.error}]}]:e.emptyArray},getEditsForAction:function(t,r){return e.Debug.assert(r===n||r===i,\"Unexpected action name\"),{edits:e.textChanges.ChangeTracker.with(t,(function(r){var n,i,s,c,u,l;return i=t.file,s=t.program,c=e.Debug.checkDefined(null===(n=a(t))||void 0===n?void 0:n.info,\"context must have info\"),u=r,l=t.cancellationToken,function(t,r,n,i){var a=r.wasDefault,o=r.exportNode,s=r.exportName;if(a)n.delete(t,e.Debug.checkDefined(e.findModifier(o,87),\"Should find a default keyword in modifier list\"));else{var c=e.Debug.checkDefined(e.findModifier(o,92),\"Should find an export keyword in modifier list\");switch(o.kind){case 251:case 252:case 253:n.insertNodeAfter(t,c,e.factory.createToken(87));break;case 232:var u=e.first(o.declarationList.declarations);if(!e.FindAllReferences.Core.isSymbolReferencedInFile(s,i,t)&&!u.type){n.replaceNode(t,o,e.factory.createExportDefault(e.Debug.checkDefined(u.initializer,\"Initializer was previously known to be present\")));break}case 255:case 254:case 256:n.deleteModifier(t,c),n.insertNodeAfter(t,o,e.factory.createExportDefault(e.factory.createIdentifier(s.text)));break;default:e.Debug.assertNever(o,\"Unexpected exportNode kind \"+o.kind)}}}(i,c,u,s.getTypeChecker()),void function(t,r,n,i){var a=r.wasDefault,s=r.exportName,c=r.exportingModuleSymbol,u=t.getTypeChecker(),l=e.Debug.checkDefined(u.getSymbolAtLocation(s),\"Export name should resolve to a symbol\");e.FindAllReferences.Core.eachExportReference(t.getSourceFiles(),u,i,l,c,s.text,a,(function(t){var r=t.getSourceFile();a?function(t,r,n,i){var a=r.parent;switch(a.kind){case 201:n.replaceNode(t,r,e.factory.createIdentifier(i));break;case 265:case 270:var s=a;n.replaceNode(t,s,o(i,s.name.text));break;case 262:var c=a;e.Debug.assert(c.name===r,\"Import clause name should match provided ref\"),s=o(i,r.text);var u=c.namedBindings;if(u)if(263===u.kind){n.deleteRange(t,{pos:r.getStart(t),end:u.getStart(t)});var l=e.isStringLiteral(c.parent.moduleSpecifier)?e.quotePreferenceFromString(c.parent.moduleSpecifier,t):1,d=e.makeImport(void 0,[o(i,r.text)],c.parent.moduleSpecifier,l);n.insertNodeAfter(t,c.parent,d)}else n.delete(t,r),n.insertNodeAtEndOfList(t,u.elements,s);else n.replaceNode(t,r,e.factory.createNamedImports([s]));break;default:e.Debug.failBadSyntaxKind(a)}}(r,t,n,s.text):function(t,r,n){var i=r.parent;switch(i.kind){case 201:n.replaceNode(t,r,e.factory.createIdentifier(\"default\"));break;case 265:var a=e.factory.createIdentifier(i.name.text);1===i.parent.elements.length?n.replaceNode(t,i.parent,a):(n.delete(t,i),n.insertNodeBefore(t,i.parent,a));break;case 270:n.replaceNode(t,i,function(t,r){return e.factory.createExportSpecifier(t===r?void 0:e.factory.createIdentifier(t),e.factory.createIdentifier(r))}(\"default\",i.name.text));break;default:e.Debug.assertNever(i,\"Unexpected parent kind \"+i.kind)}}(r,t,n)}))}(s,c,u,l)})),renameFilename:void 0,renameLocation:void 0}}})}(e.refactor||(e.refactor={}))}(u||(u={})),function(e){!function(t){var r=\"Convert import\",n=\"Convert namespace import to named imports\",i=\"Convert named imports to namespace import\";function a(t,r){void 0===r&&(r=!0);var n=t.file,i=e.getRefactorContextSpan(t),a=e.getTokenAtPosition(n,i.start),o=r?e.findAncestor(a,e.isImportDeclaration):e.getParentNodeInSpan(a,n,i);if(!o||!e.isImportDeclaration(o))return{error:\"Selection is not an import declaration.\"};if(!(o.getEnd()=_.pos?p.getEnd():_.getEnd()),g=l?function(e){for(;e.parent;){if(o(e)&&!o(e.parent))return e;e=e.parent}return}(_):function(e,t){for(;e.parent;){if(o(e)&&0!==t.length&&e.end>=t.start+t.length)return e;e=e.parent}return}(_,f),m=g&&o(g)?function(t){if(a(t))return t;if(e.isVariableStatement(t)){var r=e.getSingleVariableOfVariableStatement(t),n=null==r?void 0:r.initializer;return n&&a(n)?n:void 0}return t.expression&&a(t.expression)?t.expression:void 0}(g):void 0;if(!m)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};var y=i.getTypeChecker();return e.isConditionalExpression(m)?function(t,r){var n=t.condition,i=d(t.whenTrue);if(!i||r.isNullableType(r.getTypeAtLocation(i)))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};if((e.isPropertyAccessExpression(n)||e.isIdentifier(n))&&u(n,i.expression))return{info:{finalExpression:i,occurrences:[n],expression:t}};if(e.isBinaryExpression(n)){var a=c(i.expression,n);return a?{info:{finalExpression:i,occurrences:a,expression:t}}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_matching_access_expressions)}}}(m,y):function(t){if(55!==t.operatorToken.kind)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Can_only_convert_logical_AND_access_chains)};var r=d(t.right);if(!r)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};var n=c(r.expression,t.left);return n?{info:{finalExpression:r,occurrences:n,expression:t}}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_matching_access_expressions)}}(m)}}function c(t,r){for(var n=[];e.isBinaryExpression(r)&&55===r.operatorToken.kind;){var i=u(e.skipParentheses(t),e.skipParentheses(r.right));if(!i)break;n.push(i),t=i,r=r.left}var a=u(t,r);return a&&n.push(a),n.length>0?n:void 0}function u(t,r){if(e.isIdentifier(r)||e.isPropertyAccessExpression(r)||e.isElementAccessExpression(r))return function(t,r){for(;(e.isCallExpression(t)||e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t))&&l(t)!==l(r);)t=t.expression;for(;e.isPropertyAccessExpression(t)&&e.isPropertyAccessExpression(r)||e.isElementAccessExpression(t)&&e.isElementAccessExpression(r);){if(l(t)!==l(r))return!1;t=t.expression,r=r.expression}return e.isIdentifier(t)&&e.isIdentifier(r)&&t.getText()===r.getText()}(t,r)?r:void 0}function l(t){return e.isIdentifier(t)||e.isStringOrNumericLiteralLike(t)?t.getText():e.isPropertyAccessExpression(t)?l(t.name):e.isElementAccessExpression(t)?l(t.argumentExpression):void 0}function d(t){return t=e.skipParentheses(t),e.isBinaryExpression(t)?d(t.left):(e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t)||e.isCallExpression(t))&&!e.isOptionalChain(t)?t:void 0}function _(t,r,n){if(e.isPropertyAccessExpression(r)||e.isElementAccessExpression(r)||e.isCallExpression(r)){var i=_(t,r.expression,n),a=n.length>0?n[n.length-1]:void 0,o=(null==a?void 0:a.getText())===r.expression.getText();if(o&&n.pop(),e.isCallExpression(r))return o?e.factory.createCallChain(i,e.factory.createToken(28),r.typeArguments,r.arguments):e.factory.createCallChain(i,r.questionDotToken,r.typeArguments,r.arguments);if(e.isPropertyAccessExpression(r))return o?e.factory.createPropertyAccessChain(i,e.factory.createToken(28),r.name):e.factory.createPropertyAccessChain(i,r.questionDotToken,r.name);if(e.isElementAccessExpression(r))return o?e.factory.createElementAccessChain(i,e.factory.createToken(28),r.argumentExpression):e.factory.createElementAccessChain(i,r.questionDotToken,r.argumentExpression)}return r}t.registerRefactor(n,{getAvailableActions:function(t){var r=s(t,\"invoked\"===t.triggerReason);if(!r)return e.emptyArray;if(!r.error)return[{name:n,description:i,actions:[{name:n,description:i}]}];if(t.preferences.provideRefactorNotApplicableReason)return[{name:n,description:i,actions:[{name:n,description:i,notApplicableReason:r.error}]}];return e.emptyArray},getEditsForAction:function(t,r){var n=s(t);return n&&n.info?{edits:e.textChanges.ChangeTracker.with(t,(function(r){return function(t,r,n,i,a){var o=i.finalExpression,s=i.occurrences,c=i.expression,u=s[s.length-1],l=_(r,o,s);l&&(e.isPropertyAccessExpression(l)||e.isElementAccessExpression(l)||e.isCallExpression(l))&&(e.isBinaryExpression(c)?n.replaceNodeRange(t,u,o,l):e.isConditionalExpression(c)&&n.replaceNode(t,c,e.factory.createBinaryExpression(l,e.factory.createToken(60),c.whenFalse)))}(t.file,t.program.getTypeChecker(),r,e.Debug.checkDefined(n.info,\"context must have info\"))})),renameFilename:void 0,renameLocation:void 0}:void 0}})}(t.convertToOptionalChainExpression||(t.convertToOptionalChainExpression={}))}(e.refactor||(e.refactor={}))}(u||(u={})),function(e){!function(t){!function(r){var n=\"Convert overload list to single signature\",i=e.Diagnostics.Convert_overload_list_to_single_signature.message;function a(e){switch(e.kind){case 164:case 165:case 169:case 166:case 170:case 251:return!0}return!1}function o(t,r,n){var i=e.getTokenAtPosition(t,r),o=e.findAncestor(i,a);if(o){var s=n.getTypeChecker(),c=o.symbol;if(c){var u=c.declarations;if(!(e.length(u)<=1)&&e.every(u,(function(r){return e.getSourceFileOfNode(r)===t}))&&a(u[0])){var l=u[0].kind;if(e.every(u,(function(e){return e.kind===l}))){var d=u;if(!e.some(d,(function(t){return!!t.typeParameters||e.some(t.parameters,(function(t){return!!t.decorators||!!t.modifiers||!e.isIdentifier(t.name)}))}))){var _=e.mapDefined(d,(function(e){return s.getSignatureFromDeclaration(e)}));if(e.length(_)===e.length(u)){var p=s.getReturnTypeOfSignature(_[0]);if(e.every(_,(function(e){return s.getReturnTypeOfSignature(e)===p})))return d}}}}}}}t.registerRefactor(n,{getEditsForAction:function(t){var r=t.file,n=t.startPosition,i=t.program,a=o(r,n,i);if(!a)return;var s=i.getTypeChecker(),c=a[a.length-1],u=c;switch(c.kind){case 164:u=e.factory.updateMethodSignature(c,c.modifiers,c.name,c.questionToken,c.typeParameters,d(a),c.type);break;case 165:u=e.factory.updateMethodDeclaration(c,c.decorators,c.modifiers,c.asteriskToken,c.name,c.questionToken,c.typeParameters,d(a),c.type,c.body);break;case 169:u=e.factory.updateCallSignature(c,c.typeParameters,d(a),c.type);break;case 166:u=e.factory.updateConstructorDeclaration(c,c.decorators,c.modifiers,d(a),c.body);break;case 170:u=e.factory.updateConstructSignature(c,c.typeParameters,d(a),c.type);break;case 251:u=e.factory.updateFunctionDeclaration(c,c.decorators,c.modifiers,c.asteriskToken,c.name,c.typeParameters,d(a),c.type,c.body);break;default:return e.Debug.failBadSyntaxKind(c,\"Unhandled signature kind in overload list conversion refactoring\")}if(u===c)return;var l=e.textChanges.ChangeTracker.with(t,(function(e){e.replaceNodeRange(r,a[0],a[a.length-1],u)}));return{renameFilename:void 0,renameLocation:void 0,edits:l};function d(t){var r=t[t.length-1];return e.isFunctionLikeDeclaration(r)&&r.body&&(t=t.slice(0,t.length-1)),e.factory.createNodeArray([e.factory.createParameterDeclaration(void 0,void 0,e.factory.createToken(25),\"args\",void 0,e.factory.createUnionTypeNode(e.map(t,_)))])}function _(t){var r=e.map(t.parameters,p);return e.setEmitFlags(e.factory.createTupleTypeNode(r),e.some(r,(function(t){return!!e.length(e.getSyntheticLeadingComments(t))}))?0:1)}function p(t){e.Debug.assert(e.isIdentifier(t.name));var r=e.setTextRange(e.factory.createNamedTupleMember(t.dotDotDotToken,t.name,t.questionToken,t.type||e.factory.createKeywordTypeNode(128)),t),n=t.symbol&&t.symbol.getDocumentationComment(s);if(n){var i=e.displayPartsToString(n);i.length&&e.setSyntheticLeadingComments(r,[{text:\"*\\n\"+i.split(\"\\n\").map((function(e){return\" * \"+e})).join(\"\\n\")+\"\\n \",kind:3,pos:-1,end:-1,hasTrailingNewLine:!0,hasLeadingNewline:!0}])}return r}},getAvailableActions:function(t){var r=t.file,a=t.startPosition,s=t.program;return o(r,a,s)?[{name:n,description:i,actions:[{name:n,description:i}]}]:e.emptyArray}})}(t.addOrRemoveBracesToArrowFunction||(t.addOrRemoveBracesToArrowFunction={}))}(e.refactor||(e.refactor={}))}(u||(u={})),function(e){!function(t){!function(r){var n,i,a,o,s=\"Extract Symbol\";function c(t){var r=l(t.file,e.getRefactorContextSpan(t),\"invoked\"===t.triggerReason),n=r.targetRange;if(void 0===n)return r.errors&&0!==r.errors.length&&t.preferences.provideRefactorNotApplicableReason?[{name:s,description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_function),actions:[{description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_function),name:\"function_extract_error\",notApplicableReason:S(r.errors)}]},{name:s,description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_constant),actions:[{description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_constant),name:\"constant_extract_error\",notApplicableReason:S(r.errors)}]}]:e.emptyArray;var i=function(t,r){var n=p(t,r),i=n.scopes,a=n.readsAndWrites,o=a.functionErrorsPerScope,s=a.constantErrorsPerScope;return i.map((function(t,r){var n,i,a=function(t){return e.isFunctionLikeDeclaration(t)?\"inner function\":e.isClassLike(t)?\"method\":\"function\"}(t),c=function(t){return e.isClassLike(t)?\"readonly field\":\"constant\"}(t),u=e.isFunctionLikeDeclaration(t)?function(t){switch(t.kind){case 166:return\"constructor\";case 208:case 251:return t.name?\"function '\"+t.name.text+\"'\":e.ANONYMOUS;case 209:return\"arrow function\";case 165:return\"method '\"+t.name.getText()+\"'\";case 167:return\"'get \"+t.name.getText()+\"'\";case 168:return\"'set \"+t.name.getText()+\"'\";default:throw e.Debug.assertNever(t,\"Unexpected scope kind \"+t.kind)}}(t):e.isClassLike(t)?function(e){return 252===e.kind?e.name?\"class '\"+e.name.text+\"'\":\"anonymous class declaration\":e.name?\"class expression '\"+e.name.text+\"'\":\"anonymous class expression\"}(t):function(e){return 257===e.kind?\"namespace '\"+e.parent.name.getText()+\"'\":e.externalModuleIndicator?0:1}(t);return 1===u?(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[a,\"global\"]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[c,\"global\"])):0===u?(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[a,\"module\"]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[c,\"module\"])):(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[a,u]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[c,u])),0!==r||e.isClassLike(t)||(i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_enclosing_scope),[c])),{functionExtraction:{description:n,errors:o[r]},constantExtraction:{description:i,errors:s[r]}}}))}(n,t);if(void 0===i)return e.emptyArray;for(var a,o,c=[],u=new e.Map,d=[],_=new e.Map,f=0,g=0,m=i;g0;if(e.isBlock(t)&&!s&&0===i.size)return{body:e.factory.createBlock(t.statements,!0),returnValueProperty:void 0};var c=!1,u=e.factory.createNodeArray(e.isBlock(t)?t.statements.slice(0):[e.isStatement(t)?t:e.factory.createReturnStatement(t)]);if(s||i.size){var l=e.visitNodes(u,_).slice();if(s&&!a&&e.isStatement(t)){var d=m(r,n);1===d.length?l.push(e.factory.createReturnStatement(d[0].name)):l.push(e.factory.createReturnStatement(e.factory.createObjectLiteralExpression(d)))}return{body:e.factory.createBlock(l,!0),returnValueProperty:o}}return{body:e.factory.createBlock(u,!0),returnValueProperty:void 0};function _(t){if(!c&&e.isReturnStatement(t)&&s){var a=m(r,n);return t.expression&&(o||(o=\"__return\"),a.unshift(e.factory.createPropertyAssignment(o,e.visitNode(t.expression,_)))),1===a.length?e.factory.createReturnStatement(a[0].name):e.factory.createReturnStatement(e.factory.createObjectLiteralExpression(a))}var u=c;c=c||e.isFunctionLikeDeclaration(t)||e.isClassLike(t);var l=i.get(e.getNodeId(t).toString()),d=l?e.getSynthesizedDeepClone(l):e.visitEachChild(t,_,e.nullTransformationContext);return c=u,d}}(t,a,u,_,!!(o.facts&i.HasReturn)),I=w.body,O=w.returnValueProperty;if(e.suppressLeadingAndTrailingTrivia(I),e.isClassLike(r)){var M=S?[]:[e.factory.createModifier(120)];o.facts&i.InStaticRegion&&M.push(e.factory.createModifier(123)),o.facts&i.IsAsyncFunction&&M.push(e.factory.createModifier(129)),P=e.factory.createMethodDeclaration(void 0,M.length?M:void 0,o.facts&i.IsGenerator?e.factory.createToken(41):void 0,E,void 0,A,T,c,I)}else P=e.factory.createFunctionDeclaration(void 0,o.facts&i.IsAsyncFunction?[e.factory.createToken(129)]:void 0,o.facts&i.IsGenerator?e.factory.createToken(41):void 0,E,A,T,c,I);var L=e.textChanges.ChangeTracker.fromContext(s),R=function(t,r){return e.find(function(t){if(e.isFunctionLikeDeclaration(t)){var r=t.body;if(e.isBlock(r))return r.statements}else{if(e.isModuleBlock(t)||e.isSourceFile(t))return t.statements;if(e.isClassLike(t))return t.members;e.assertType(t)}return e.emptyArray}(r),(function(r){return r.pos>=t&&e.isFunctionLikeDeclaration(r)&&!e.isConstructorDeclaration(r)}))}((y(o.range)?e.last(o.range):o.range).end,r);R?L.insertNodeBefore(s.file,R,P,!0):L.insertNodeAtEndOfScope(s.file,r,P);h.writeFixes(L);var B=[],j=function(t,r,n){var a=e.factory.createIdentifier(n);if(e.isClassLike(t)){var o=r.facts&i.InStaticRegion?e.factory.createIdentifier(t.name.text):e.factory.createThis();return e.factory.createPropertyAccessExpression(o,a)}return a}(r,o,b),J=e.factory.createCallExpression(j,F,C);o.facts&i.IsGenerator&&(J=e.factory.createYieldExpression(e.factory.createToken(41),J));o.facts&i.IsAsyncFunction&&(J=e.factory.createAwaitExpression(J));D(t)&&(J=e.factory.createJsxExpression(void 0,J));if(a.length&&!u)if(e.Debug.assert(!O,\"Expected no returnValueProperty\"),e.Debug.assert(!(o.facts&i.HasReturn),\"Expected RangeFacts.HasReturn flag to be unset\"),1===a.length){var K=a[0];B.push(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(e.getSynthesizedDeepClone(K.name),void 0,e.getSynthesizedDeepClone(K.type),J)],K.parent.flags)))}else{for(var z=[],U=[],V=a[0].parent.flags,q=!1,W=0,H=a;W0,\"Found no members\");for(var a=!0,o=0,s=i;ot)return n||i[0];if(a&&!e.isPropertyDeclaration(c)){if(void 0!==n)return c;a=!1}n=c}return void 0===n?e.Debug.fail():n}(t.pos,r);m.insertNodeBefore(o.file,b,v,!0),m.replaceNode(o.file,t,x)}else{var S=e.factory.createVariableDeclaration(d,void 0,f,g),E=function(t,r){var n;for(;void 0!==t&&t!==r;){if(e.isVariableDeclaration(t)&&t.initializer===n&&e.isVariableDeclarationList(t.parent)&&t.parent.declarations.length>1)return t;n=t,t=t.parent}}(t,r);if(E){m.insertNodeBefore(o.file,E,S);x=e.factory.createIdentifier(d);m.replaceNode(o.file,t,x)}else if(233===t.parent.kind&&r===e.findAncestor(t,_)){var T=e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([S],2));m.replaceNode(o.file,t.parent,T)}else{T=e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([S],2));if(0===(b=function(t,r){var n;e.Debug.assert(!e.isClassLike(r));for(var i=t;i!==r;i=i.parent)_(i)&&(n=i);for(i=(n||t).parent;;i=i.parent){if(h(i)){for(var a=void 0,o=0,s=i.statements;ot.pos)break;a=c}return!a&&e.isCaseClause(i)?(e.Debug.assert(e.isSwitchStatement(i.parent.parent),\"Grandparent isn't a switch statement\"),i.parent.parent):e.Debug.checkDefined(a,\"prevStatement failed to get set\")}e.Debug.assert(i!==r,\"Didn't encounter a block-like before encountering scope\")}}(t,r)).pos?m.insertNodeAtTopOfFile(o.file,T,!1):m.insertNodeBefore(o.file,b,T,!1),233===t.parent.kind)m.delete(o.file,t.parent);else{x=e.factory.createIdentifier(d);D(t)&&(x=e.factory.createJsxExpression(void 0,x)),m.replaceNode(o.file,t,x)}}}var C=m.getChanges(),k=t.getSourceFile().fileName,A=e.getRenameLocation(C,k,d,!0);return{renameFilename:k,renameLocation:A,edits:C};function F(n,i){if(void 0===n)return{variableType:n,initializer:i};if(!e.isFunctionExpression(i)&&!e.isArrowFunction(i)||i.typeParameters)return{variableType:n,initializer:i};var a=u.getTypeAtLocation(t),o=e.singleOrUndefined(u.getSignaturesOfType(a,0));if(!o)return{variableType:n,initializer:i};if(o.getTypeParameters())return{variableType:n,initializer:i};for(var s=[],c=!1,l=0,d=i.parameters;l=r.start+r.length)return(o||(o=[])).push(e.createDiagnosticForNode(a,n.cannotExtractSuper)),!0}else f|=i.UsesThis;break;case 209:e.forEachChild(a,(function t(r){if(e.isThis(r))f|=i.UsesThis;else{if(e.isClassLike(r)||e.isFunctionLike(r)&&!e.isArrowFunction(r))return!1;e.forEachChild(r,t)}}));case 252:case 251:e.isSourceFile(a.parent)&&void 0===a.parent.externalModuleIndicator&&(o||(o=[])).push(e.createDiagnosticForNode(a,n.functionWillNotBeVisibleInTheNewScope));case 221:case 208:case 165:case 166:case 167:case 168:return!1}var d=u;switch(a.kind){case 234:case 247:u=0;break;case 230:a.parent&&247===a.parent.kind&&a.parent.finallyBlock===a&&(u=4);break;case 285:case 284:u|=1;break;default:e.isIterationStatement(a,!1)&&(u|=3)}switch(a.kind){case 187:case 107:f|=i.UsesThis;break;case 245:var _=a.label;(c||(c=[])).push(_.escapedText),e.forEachChild(a,t),c.pop();break;case 241:case 240:(_=a.label)?e.contains(c,_.escapedText)||(o||(o=[])).push(e.createDiagnosticForNode(a,n.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)):u&(241===a.kind?1:2)||(o||(o=[])).push(e.createDiagnosticForNode(a,n.cannotExtractRangeContainingConditionalBreakOrContinueStatements));break;case 213:f|=i.IsAsyncFunction;break;case 219:f|=i.IsGenerator;break;case 242:4&u?f|=i.HasReturn:(o||(o=[])).push(e.createDiagnosticForNode(a,n.cannotExtractRangeContainingConditionalReturnStatement));break;default:e.forEachChild(a,t)}u=d}(t),o}}function d(t){return e.isStatement(t)?[t]:e.isExpressionNode(t)?e.isExpressionStatement(t.parent)?[t.parent]:t:void 0}function _(t){return e.isFunctionLikeDeclaration(t)||e.isSourceFile(t)||e.isModuleBlock(t)||e.isClassLike(t)}function p(t,r){var a=r.file,o=function(t){var r=y(t.range)?e.first(t.range):t.range;if(t.facts&i.UsesThis){var n=e.getContainingClass(r);if(n){var a=e.findAncestor(r,e.isFunctionLikeDeclaration);return a?[a,n]:[n]}}for(var o=[];;)if(160===(r=r.parent).kind&&(r=e.findAncestor(r,(function(t){return e.isFunctionLikeDeclaration(t)})).parent),_(r)&&(o.push(r),297===r.kind))return o}(t);return{scopes:o,readsAndWrites:function(t,r,a,o,s,c){var u,l,d=new e.Map,_=[],p=[],f=[],g=[],m=[],v=new e.Map,h=[],D=y(t.range)?1===t.range.length&&e.isExpressionStatement(t.range[0])?t.range[0].expression:void 0:t.range;if(void 0===D){var x=t.range,b=e.first(x).getStart(),S=e.last(x).end;l=e.createFileDiagnostic(o,b,S-b,n.expressionExpected)}else 147456&s.getTypeAtLocation(D).flags&&(l=e.createDiagnosticForNode(D,n.uselessConstantType));for(var E=0,T=r;E0){for(var w=new e.Map,I=0,O=N;void 0!==O&&I0&&(i.usages.size>0||i.typeParameterUsages.size>0)){var a=y(t.range)?t.range[0]:t.range;g[r].push(e.createDiagnosticForNode(a,n.cannotAccessVariablesFromNestedScopes))}var o,s=!1;if(_[r].usages.forEach((function(t){2===t.usage&&(s=!0,106500&t.symbol.flags&&t.symbol.valueDeclaration&&e.hasEffectiveModifier(t.symbol.valueDeclaration,64)&&(o=t.symbol.valueDeclaration))})),e.Debug.assert(y(t.range)||0===h.length,\"No variable declarations expected if something was extracted\"),s&&!y(t.range)){var c=e.createDiagnosticForNode(t.range,n.cannotWriteInExpression);f[r].push(c),g[r].push(c)}else if(o&&r>0){c=e.createDiagnosticForNode(o,n.cannotExtractReadonlyPropertyInitializerOutsideConstructor);f[r].push(c),g[r].push(c)}else if(u){c=e.createDiagnosticForNode(u,n.cannotExtractExportedEntity);f[r].push(c),g[r].push(c)}},K=0;K=u)return m;if(A.set(m,u),y){for(var v=0,h=_;v=0)){var n=e.isIdentifier(r)?G(r):s.getSymbolAtLocation(r);if(n){var i=e.find(m,(function(e){return e.symbol===n}));if(i)if(e.isVariableDeclaration(i)){var a=i.symbol.id.toString();v.has(a)||(h.push(i),v.set(a,!0))}else u=u||i}e.forEachChild(r,H)}}function G(t){return t.parent&&e.isShorthandPropertyAssignment(t.parent)&&t.parent.name===t?s.getShorthandAssignmentValueSymbol(t.parent):s.getSymbolAtLocation(t)}function Y(t,r,n){if(t){var i=t.getDeclarations();if(i&&i.some((function(e){return e.parent===r})))return e.factory.createIdentifier(t.name);var a=Y(t.parent,r,n);if(void 0!==a)return n?e.factory.createQualifiedName(a,e.factory.createIdentifier(t.name)):e.factory.createPropertyAccessExpression(a,t.name)}}}(t,o,function(t,r){return y(t.range)?{pos:e.first(t.range).getStart(r),end:e.last(t.range).getEnd()}:t.range}(t,a),a,r.program.getTypeChecker(),r.cancellationToken)}}function f(e){var t,r=e.symbol;if(r&&r.declarations)for(var n=0,i=r.declarations;nn.pos}));if(-1!==a){var o=i[a];if(e.isNamedDeclaration(o)&&o.name&&e.rangeContainsRange(o.name,n))return{toMove:[i[a]],afterLast:i[a+1]};if(!(n.pos>o.getStart(r))){var s=e.findIndex(i,(function(e){return e.end>n.end}),a);if(-1===s||!(0===s||i[s].getStart(r)=2&&e.every(t,(function(t){return function(t,r){if(e.isRestParameter(t)){var n=r.getTypeAtLocation(t);if(!r.isArrayType(n)&&!r.isTupleType(n))return!1}return!t.modifiers&&!t.decorators&&e.isIdentifier(t.name)}(t,r)}))}(t.parameters,r))return!1;switch(t.kind){case 251:return _(t)&&d(t,r);case 165:return d(t,r);case 166:return e.isClassDeclaration(t.parent)?_(t.parent)&&d(t,r):p(t.parent.parent)&&d(t,r);case 208:case 209:return p(t.parent)}return!1}(a,n)&&e.rangeContainsRange(a,i))||a.body&&e.rangeContainsRange(a.body,i)?void 0:a}function d(e,t){return!!e.body&&!t.isImplementationOfOverload(e)}function _(t){return!!t.name||!!e.findModifier(t,87)}function p(t){return e.isVariableDeclaration(t)&&e.isVarConst(t)&&e.isIdentifier(t.name)&&!t.type}function f(t){return t.length>0&&e.isThis(t[0].name)}function g(t){return f(t)&&(t=e.factory.createNodeArray(t.slice(1),t.hasTrailingComma)),t}function m(t,r){var n=g(t.parameters),i=e.isRestParameter(e.last(n)),a=i?r.slice(0,n.length-1):r,o=e.map(a,(function(t,r){var i=function(t,r){return e.isIdentifier(r)&&e.getTextOfIdentifierOrLiteral(r)===t?e.factory.createShorthandPropertyAssignment(t):e.factory.createPropertyAssignment(t,r)}(y(n[r]),t);return e.suppressLeadingAndTrailingTrivia(i.name),e.isPropertyAssignment(i)&&e.suppressLeadingAndTrailingTrivia(i.initializer),e.copyComments(t,i),i}));if(i&&r.length>=n.length){var s=r.slice(n.length-1),c=e.factory.createPropertyAssignment(y(e.last(n)),e.factory.createArrayLiteralExpression(s));o.push(c)}return e.factory.createObjectLiteralExpression(o,!1)}function y(t){return e.getTextOfIdentifierOrLiteral(t.name)}t.registerRefactor(i,{getEditsForAction:function(t,n){e.Debug.assert(n===i,\"Unexpected action name\");var d=t.file,_=t.startPosition,p=t.program,v=t.cancellationToken,h=t.host,D=l(d,_,p.getTypeChecker());if(!D||!v)return;var x=function(t,n,i){var l=function(t){switch(t.kind){case 251:return t.name?[t.name]:[e.Debug.checkDefined(e.findModifier(t,87),\"Nameless function declaration should be a default export\")];case 165:return[t.name];case 166:var r=e.Debug.checkDefined(e.findChildOfKind(t,132,t.getSourceFile()),\"Constructor declaration should have constructor keyword\");return 221===t.parent.kind?[t.parent.parent.name,r]:[r];case 209:return[t.parent.name];case 208:return t.name?[t.name,t.parent.name]:[t.parent.name];default:return e.Debug.assertNever(t,\"Unexpected function declaration kind \"+t.kind)}}(t),d=e.isConstructorDeclaration(t)?function(t){switch(t.parent.kind){case 252:var r=t.parent;return r.name?[r.name]:[e.Debug.checkDefined(e.findModifier(r,87),\"Nameless class declaration should be a default export\")];case 221:var n=t.parent,i=t.parent.parent,a=n.name;return a?[a,i.name]:[i.name]}}(t):[],_=e.deduplicate(r(l,d),e.equateValues),p=n.getTypeChecker(),f=g(e.flatMap(_,(function(t){return e.FindAllReferences.getReferenceEntriesForNode(-1,t,n,n.getSourceFiles(),i)})));e.every(f.declarations,(function(t){return e.contains(_,t)}))||(f.valid=!1);return f;function g(r){for(var n={accessExpressions:[],typeUsages:[]},i={functionCalls:[],declarations:[],classReferences:n,valid:!0},_=e.map(l,m),p=e.map(d,m),f=e.isConstructorDeclaration(t),g=0,y=r;g0;){var o=i.shift();e.copyTrailingComments(t[o],a,r,3,!1),n(o,a)}}}(n,r,a),s=l(0,n),c=s[0],u=s[1],_=s[2];if(c===n.length){var p=e.factory.createNoSubstitutionTemplateLiteral(u);return o(_,p),p}var f=[],g=e.factory.createTemplateHead(u);o(_,g);for(var m=c;m333}));return n.kind<157?n:n.getFirstToken(t)}},r.prototype.getLastToken=function(t){this.assertHasRealPosition();var r=this.getChildren(t),n=e.lastOrUndefined(r);if(n)return n.kind<157?n:n.getLastToken(t)},r.prototype.forEachChild=function(t,r){return e.forEachChild(this,t,r)},r}();function a(r,n,i,a){for(e.scanner.setTextPos(n);n=n.length&&(t=this.getEnd()),t||(t=n[r+1]-1);var i=this.getFullText();return\"\\n\"===i[t]&&\"\\r\"===i[t-1]?t-1:t},r.prototype.getNamedDeclarations=function(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations},r.prototype.computeNamedDeclarations=function(){var t=e.createMultiMap();return this.forEachChild((function i(a){switch(a.kind){case 251:case 208:case 165:case 164:var o=a,s=n(o);if(s){var c=function(e){var r=t.get(e);r||t.set(e,r=[]);return r}(s),u=e.lastOrUndefined(c);u&&o.parent===u.parent&&o.symbol===u.symbol?o.body&&!u.body&&(c[c.length-1]=o):c.push(o)}e.forEachChild(a,i);break;case 252:case 221:case 253:case 254:case 255:case 256:case 260:case 270:case 265:case 262:case 263:case 167:case 168:case 177:r(a),e.forEachChild(a,i);break;case 160:if(!e.hasSyntacticModifier(a,92))break;case 249:case 198:var l=a;if(e.isBindingPattern(l.name)){e.forEachChild(l.name,i);break}l.initializer&&i(l.initializer);case 291:case 163:case 162:r(a);break;case 267:var d=a;d.exportClause&&(e.isNamedExports(d.exportClause)?e.forEach(d.exportClause.elements,i):i(d.exportClause.name));break;case 261:var _=a.importClause;_&&(_.name&&r(_.name),_.namedBindings&&(263===_.namedBindings.kind?r(_.namedBindings):e.forEach(_.namedBindings.elements,i)));break;case 216:0!==e.getAssignmentDeclarationKind(a)&&r(a);default:e.forEachChild(a,i)}})),t;function r(e){var r=n(e);r&&t.add(r,e)}function n(t){var r=e.getNonAssignedNameOfDeclaration(t);return r&&(e.isComputedPropertyName(r)&&e.isPropertyAccessExpression(r.expression)?r.expression.name.text:e.isPropertyName(r)?e.getNameFromPropertyName(r):void 0)}},r}(i),y=function(){function t(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r}return t.prototype.getLineAndCharacterOfPosition=function(t){return e.getLineAndCharacterOfPosition(this,t)},t}();function v(t){var r=!0;for(var n in t)if(e.hasProperty(t,n)&&!h(n)){r=!1;break}if(r)return t;var i={};for(var n in t){if(e.hasProperty(t,n))i[h(n)?n:n.charAt(0).toLowerCase()+n.substr(1)]=t[n]}return i}function h(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function D(){return{target:1,jsx:1}}e.toEditorSettings=v,e.displayPartsToString=function(t){return t?e.map(t,(function(e){return e.text})).join(\"\"):\"\"},e.getDefaultCompilerOptions=D,e.getSupportedCodeFixes=function(){return e.codefix.getSupportedErrorCodes()};var x=function(){function t(t,r){this.host=t,this.currentDirectory=t.getCurrentDirectory(),this.fileNameToEntry=new e.Map;for(var n=0,i=t.getScriptFileNames();n=this.throttleWaitMilliseconds&&(this.lastCancellationCheckTime=t,this.hostCancellationToken.isCancellationRequested())},t.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested())throw new e.OperationCanceledException},t}();e.ThrottledCancellationToken=k;var A=[\"getSyntacticDiagnostics\",\"getSemanticDiagnostics\",\"getSuggestionDiagnostics\",\"getCompilerOptionsDiagnostics\",\"getSemanticClassifications\",\"getEncodedSemanticClassifications\",\"getCodeFixesAtPosition\",\"getCombinedCodeFix\",\"applyCodeActionCommand\",\"organizeImports\",\"getEditsForFileRename\",\"getEmitOutput\",\"getApplicableRefactors\",\"getEditsForRefactor\",\"prepareCallHierarchy\",\"provideCallHierarchyIncomingCalls\",\"provideCallHierarchyOutgoingCalls\"],F=r(A,[\"getCompletionsAtPosition\",\"getCompletionEntryDetails\",\"getCompletionEntrySymbol\",\"getSignatureHelpItems\",\"getQuickInfoAtPosition\",\"getDefinitionAtPosition\",\"getDefinitionAndBoundSpan\",\"getImplementationAtPosition\",\"getTypeDefinitionAtPosition\",\"getReferencesAtPosition\",\"findReferences\",\"getOccurrencesAtPosition\",\"getDocumentHighlights\",\"getNavigateToItems\",\"getRenameInfo\",\"findRenameLocations\",\"getApplicableRefactors\"]);function N(t){var r=function(t){switch(t.kind){case 10:case 14:case 8:if(158===t.parent.kind)return e.isObjectLiteralElement(t.parent.parent)?t.parent.parent:void 0;case 78:return!e.isObjectLiteralElement(t.parent)||200!==t.parent.parent.kind&&281!==t.parent.parent.kind||t.parent.name!==t?void 0:t.parent}return}(t);return r&&(e.isObjectLiteralExpression(r.parent)||e.isJsxAttributes(r.parent))?r:void 0}function P(t,r,n,i){var a=e.getNameFromPropertyName(t.name);if(!a)return e.emptyArray;if(!n.isUnion())return(o=n.getProperty(a))?[o]:e.emptyArray;var o,s=e.mapDefined(n.types,(function(n){return e.isObjectLiteralExpression(t.parent)&&r.isTypeInvalidDueToUnionDiscriminant(n,t.parent)?void 0:n.getProperty(a)}));if(i&&(0===s.length||s.length===n.types.length)&&(o=n.getProperty(a)))return[o];return 0===s.length?e.mapDefined(n.types,(function(e){return e.getProperty(a)})):s}e.createLanguageService=function(t,i,a){var o,s;void 0===i&&(i=e.createDocumentRegistry(t.useCaseSensitiveFileNames&&t.useCaseSensitiveFileNames(),t.getCurrentDirectory())),s=void 0===a?e.LanguageServiceMode.Semantic:\"boolean\"==typeof a?a?e.LanguageServiceMode.Syntactic:e.LanguageServiceMode.Semantic:a;var c,u,l=new b(t),d=0,_=new C(t.getCancellationToken&&t.getCancellationToken()),p=t.getCurrentDirectory();function f(e){t.log&&t.log(e)}!e.localizedDiagnosticMessages&&t.getLocalizedDiagnosticMessages&&e.setLocalizedDiagnosticMessages(t.getLocalizedDiagnosticMessages());var g=e.hostUsesCaseSensitiveFileNames(t),m=e.createGetCanonicalFileName(g),y=e.getSourceMapper({useCaseSensitiveFileNames:function(){return g},getCurrentDirectory:function(){return p},getProgram:S,fileExists:e.maybeBind(t,t.fileExists),readFile:e.maybeBind(t,t.readFile),getDocumentPositionMapper:e.maybeBind(t,t.getDocumentPositionMapper),getSourceFileLike:e.maybeBind(t,t.getSourceFileLike),log:f});function h(e){var t=c.getSourceFile(e);if(!t){var r=new Error(\"Could not find source file: '\"+e+\"'.\");throw r.ProgramFiles=c.getSourceFiles().map((function(e){return e.fileName})),r}return t}function D(){var r,n;if(e.Debug.assert(s!==e.LanguageServiceMode.Syntactic),t.getProjectVersion){var a=t.getProjectVersion();if(a){if(u===a&&!(null===(r=t.hasChangedAutomaticTypeDirectiveNames)||void 0===r?void 0:r.call(t)))return;u=a}}var o=t.getTypeRootsVersion?t.getTypeRootsVersion():0;d!==o&&(f(\"TypeRoots version has changed; provide new program\"),c=void 0,d=o);var l=new x(t,m),v=l.getRootFileNames(),h=t.hasInvalidatedResolution||e.returnFalse,D=e.maybeBind(t,t.hasChangedAutomaticTypeDirectiveNames),b=l.getProjectReferences();if(!e.isProgramUptoDate(c,v,l.compilationSettings(),(function(e,r){return t.getScriptVersion(r)}),k,h,D,b)){var S=l.compilationSettings(),E={getSourceFile:function(t,r,n,i){return A(t,e.toPath(t,p,m),r,n,i)},getSourceFileByPath:A,getCancellationToken:function(){return _},getCanonicalFileName:m,useCaseSensitiveFileNames:function(){return g},getNewLine:function(){return e.getNewLineCharacter(S,(function(){return e.getNewLineOrDefaultFromHost(t)}))},getDefaultLibFileName:function(e){return t.getDefaultLibFileName(e)},writeFile:e.noop,getCurrentDirectory:function(){return p},fileExists:k,readFile:function(r){var n=e.toPath(r,p,m),i=l&&l.getEntryByPath(n);if(i)return e.isString(i)?void 0:e.getSnapshotText(i.scriptSnapshot);return t.readFile&&t.readFile(r)},getSymlinkCache:e.maybeBind(t,t.getSymlinkCache),realpath:e.maybeBind(t,t.realpath),directoryExists:function(r){return e.directoryProbablyExists(r,t)},getDirectories:function(e){return t.getDirectories?t.getDirectories(e):[]},readDirectory:function(r,n,i,a,o){return e.Debug.checkDefined(t.readDirectory,\"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'\"),t.readDirectory(r,n,i,a,o)},onReleaseOldSourceFile:function(e,t){var r=i.getKeyForCompilationSettings(t);i.releaseDocumentWithKey(e.resolvedPath,r)},hasInvalidatedResolution:h,hasChangedAutomaticTypeDirectiveNames:D,trace:e.maybeBind(t,t.trace),resolveModuleNames:e.maybeBind(t,t.resolveModuleNames),resolveTypeReferenceDirectives:e.maybeBind(t,t.resolveTypeReferenceDirectives),useSourceOfProjectReferenceRedirect:e.maybeBind(t,t.useSourceOfProjectReferenceRedirect)};null===(n=t.setCompilerHost)||void 0===n||n.call(t,E);var T=i.getKeyForCompilationSettings(S),C={rootNames:v,options:S,host:E,oldProgram:c,projectReferences:b};return c=e.createProgram(C),l=void 0,y.clearCache(),void c.getTypeChecker()}function k(r){var n=e.toPath(r,p,m),i=l&&l.getEntryByPath(n);return i?!e.isString(i):!!t.fileExists&&t.fileExists(r)}function A(t,r,n,a,o){e.Debug.assert(void 0!==l,\"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.\");var s=l&&l.getOrCreateEntryByPath(t,r);if(s){if(!o){var u=c&&c.getSourceFileByPath(r);if(u)return e.Debug.assertEqual(s.scriptKind,u.scriptKind,\"Registered script kind should match new script kind.\"),i.updateDocumentWithKey(t,r,S,T,s.scriptSnapshot,s.version,s.scriptKind)}return i.acquireDocumentWithKey(t,r,S,T,s.scriptSnapshot,s.version,s.scriptKind)}}}function S(){if(s!==e.LanguageServiceMode.Syntactic)return D(),c;e.Debug.assert(void 0===c)}function E(t,r,n){var i=e.normalizePath(t);e.Debug.assert(n.some((function(t){return e.normalizePath(t)===i}))),D();var a=e.mapDefined(n,(function(e){return c.getSourceFile(e)})),o=h(t);return e.DocumentHighlights.getDocumentHighlights(c,_,o,r,a)}function T(t,r,n,i){D();var a=n&&2===n.use?c.getSourceFiles().filter((function(e){return!c.isSourceFileDefaultLibrary(e)})):c.getSourceFiles();return e.FindAllReferences.findReferenceOrRenameEntries(c,_,a,t,r,n,i)}function k(r){var n=e.getScriptKind(r,t);return 3===n||4===n}var w=new e.Map(e.getEntries(((o={})[18]=19,o[20]=21,o[22]=23,o[31]=29,o)));function I(r){return e.Debug.assertEqual(r.type,\"install package\"),t.installPackage?t.installPackage({fileName:function(t){return e.toPath(t,p,m)}(r.file),packageName:r.packageName}):Promise.reject(\"Host does not implement `installPackage`\")}function O(e,t){return{lineStarts:e.getLineStarts(),firstLine:e.getLineAndCharacterOfPosition(t.pos).line,lastLine:e.getLineAndCharacterOfPosition(t.end).line}}function M(t,r,n){for(var i=l.getCurrentSourceFile(t),a=[],o=O(i,r),s=o.lineStarts,c=o.firstLine,u=o.lastLine,d=n||!1,_=Number.MAX_VALUE,p=new e.Map,f=new RegExp(/\\S/),g=e.isInsideJsxElement(i,s[c]),m=g?\"{/*\":\"//\",y=c;y<=u;y++){var v=i.text.substring(s[y],i.getLineEndOfPosition(s[y])),h=f.exec(v);h&&(_=Math.min(_,h.index),p.set(y.toString(),h.index),v.substr(h.index,m.length)!==m&&(d=void 0===n||n))}for(y=c;y<=u;y++)if(c===u||s[y]!==r.end){var D=p.get(y.toString());void 0!==D&&(g?a.push.apply(a,L(t,{pos:s[y]+_,end:i.getLineEndOfPosition(s[y])},d,g)):d?a.push({newText:m,span:{length:0,start:s[y]+_}}):i.text.substr(s[y]+D,m.length)===m&&a.push({newText:\"\",span:{length:m.length,start:s[y]+D}}))}return a}function L(t,r,n,i){for(var a,o=l.getCurrentSourceFile(t),s=[],c=o.text,u=!1,d=n||!1,_=[],p=r.pos,f=void 0!==i?i:e.isInsideJsxElement(o,p),g=f?\"{/*\":\"/*\",m=f?\"*/}\":\"*/\",y=f?\"\\\\{\\\\/\\\\*\":\"\\\\/\\\\*\",v=f?\"\\\\*\\\\/\\\\}\":\"\\\\*\\\\/\";p<=r.end;){var h=c.substr(p,g.length)===g?g.length:0,D=e.isInComment(o,p+h);if(D)f&&(D.pos--,D.end++),_.push(D.pos),3===D.kind&&_.push(D.end),u=!0,p=D.end+1;else{var x=c.substring(p,r.end).search(\"(\"+y+\")|(\"+v+\")\");d=void 0!==n?n:d||!e.isTextWhiteSpaceLike(c,p,-1===x?r.end:p+x),p=-1===x?r.end+1:p+x+m.length}}if(d||!u){2!==(null===(a=e.isInComment(o,r.pos))||void 0===a?void 0:a.kind)&&e.insertSorted(_,r.pos,e.compareValues),e.insertSorted(_,r.end,e.compareValues);var b=_[0];c.substr(b,g.length)!==g&&s.push({newText:g,span:{length:0,start:b}});for(var S=1;S<_.length-1;S++)c.substr(_[S]-m.length,m.length)!==m&&s.push({newText:m,span:{length:0,start:_[S]}}),c.substr(_[S],g.length)!==g&&s.push({newText:g,span:{length:0,start:_[S]}});s.length%2!=0&&s.push({newText:m,span:{length:0,start:_[_.length-1]}})}else for(var E=0,T=_;E0?C-m.length:0;h=c.substr(k,m.length)===m?m.length:0;s.push({newText:\"\",span:{length:g.length,start:C-h}})}return s}function R(t){var r=t.openingElement,n=t.closingElement,i=t.parent;return!e.tagNamesAreEquivalent(r.tagName,n.tagName)||e.isJsxElement(i)&&e.tagNamesAreEquivalent(r.tagName,i.openingElement.tagName)&&R(i)}function B(r,n,i,a,o){var s=\"number\"==typeof n?[n,void 0]:[n.pos,n.end];return{file:r,startPosition:s[0],endPosition:s[1],program:S(),host:t,formatContext:e.formatting.getFormatContext(a,t),cancellationToken:_,preferences:i,triggerReason:o}}w.forEach((function(e,t){return w.set(e.toString(),Number(t))}));var j={dispose:function(){if(c){var r=i.getKeyForCompilationSettings(c.getCompilerOptions());e.forEach(c.getSourceFiles(),(function(e){return i.releaseDocumentWithKey(e.resolvedPath,r)})),c=void 0}t=void 0},cleanupSemanticCache:function(){c=void 0},getSyntacticDiagnostics:function(e){return D(),c.getSyntacticDiagnostics(h(e),_).slice()},getSemanticDiagnostics:function(t){D();var n=h(t),i=c.getSemanticDiagnostics(n,_);if(!e.getEmitDeclarations(c.getCompilerOptions()))return i.slice();var a=c.getDeclarationDiagnostics(n,_);return r(i,a)},getSuggestionDiagnostics:function(t){return D(),e.computeSuggestionDiagnostics(h(t),c,_)},getCompilerOptionsDiagnostics:function(){return D(),r(c.getOptionsDiagnostics(_),c.getGlobalDiagnostics(_))},getSyntacticClassifications:function(t,r){return e.getSyntacticClassifications(_,l.getCurrentSourceFile(t),r)},getSemanticClassifications:function(t,r,n){return k(t)?(D(),\"2020\"===(n||\"original\")?e.classifier.v2020.getSemanticClassifications(c,_,h(t),r):e.getSemanticClassifications(c.getTypeChecker(),_,h(t),c.getClassifiableNames(),r)):[]},getEncodedSyntacticClassifications:function(t,r){return e.getEncodedSyntacticClassifications(_,l.getCurrentSourceFile(t),r)},getEncodedSemanticClassifications:function(t,r,n){return k(t)?(D(),\"original\"===(n||\"original\")?e.getEncodedSemanticClassifications(c.getTypeChecker(),_,h(t),c.getClassifiableNames(),r):e.classifier.v2020.getEncodedSemanticClassifications(c,_,h(t),r)):{spans:[],endOfLineState:0}},getCompletionsAtPosition:function(r,i,a){void 0===a&&(a=e.emptyOptions);var o=n(n({},e.identity(a)),{includeCompletionsForModuleExports:a.includeCompletionsForModuleExports||a.includeExternalModuleExports,includeCompletionsWithInsertText:a.includeCompletionsWithInsertText||a.includeInsertTextCompletions});return D(),e.Completions.getCompletionsAtPosition(t,c,f,h(r),i,o,a.triggerCharacter)},getCompletionEntryDetails:function(r,n,i,a,o,s){return void 0===s&&(s=e.emptyOptions),D(),e.Completions.getCompletionEntryDetails(c,f,h(r),n,{name:i,source:o},t,a&&e.formatting.getFormatContext(a,t),s,_)},getCompletionEntrySymbol:function(r,n,i,a,o){return void 0===o&&(o=e.emptyOptions),D(),e.Completions.getCompletionEntrySymbol(c,f,h(r),n,{name:i,source:a},t,o)},getSignatureHelpItems:function(t,r,n){var i=(void 0===n?e.emptyOptions:n).triggerReason;D();var a=h(t);return e.SignatureHelp.getSignatureHelpItems(c,a,r,i,_)},getQuickInfoAtPosition:function(t,r){D();var n=h(t),i=e.getTouchingPropertyName(n,r);if(i!==n){var a=c.getTypeChecker(),o=function(t){if(e.isNewExpression(t.parent)&&t.pos===t.parent.pos)return t.parent.expression;return t}(i),s=function(t,r){var n=N(t);if(n){var i=r.getContextualType(n.parent),a=i&&P(n,r,i,!1);if(a&&1===a.length)return e.first(a)}return r.getSymbolAtLocation(t)}(o,a);if(!s||a.isUnknownSymbol(s)){var u=function(t,r,n){switch(r.kind){case 78:return!e.isLabelName(r)&&!e.isTagName(r);case 201:case 157:return!e.isInComment(t,n);case 107:case 187:case 105:return!0;default:return!1}}(n,o,r)?a.getTypeAtLocation(o):void 0;return u&&{kind:\"\",kindModifiers:\"\",textSpan:e.createTextSpanFromNode(o,n),displayParts:a.runWithCancellationToken(_,(function(t){return e.typeToDisplayParts(t,u,e.getContainerNode(o))})),documentation:u.symbol?u.symbol.getDocumentationComment(a):void 0,tags:u.symbol?u.symbol.getJsDocTags():void 0}}var l=a.runWithCancellationToken(_,(function(t){return e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(t,s,n,e.getContainerNode(o),o)})),d=l.symbolKind,p=l.displayParts,f=l.documentation,g=l.tags;return{kind:d,kindModifiers:e.SymbolDisplay.getSymbolModifiers(s),textSpan:e.createTextSpanFromNode(o,n),displayParts:p,documentation:f,tags:g}}},getDefinitionAtPosition:function(t,r){return D(),e.GoToDefinition.getDefinitionAtPosition(c,h(t),r)},getDefinitionAndBoundSpan:function(t,r){return D(),e.GoToDefinition.getDefinitionAndBoundSpan(c,h(t),r)},getImplementationAtPosition:function(t,r){return D(),e.FindAllReferences.getImplementationsAtPosition(c,_,c.getSourceFiles(),h(t),r)},getTypeDefinitionAtPosition:function(t,r){return D(),e.GoToDefinition.getTypeDefinitionAtPosition(c.getTypeChecker(),h(t),r)},getReferencesAtPosition:function(t,r){return D(),T(e.getTouchingPropertyName(h(t),r),r,{use:1},e.FindAllReferences.toReferenceEntry)},findReferences:function(t,r){return D(),e.FindAllReferences.findReferencedSymbols(c,_,c.getSourceFiles(),h(t),r)},getOccurrencesAtPosition:function(t,r){return e.flatMap(E(t,r,[t]),(function(e){return e.highlightSpans.map((function(t){return n(n({fileName:e.fileName,textSpan:t.textSpan,isWriteAccess:\"writtenReference\"===t.kind,isDefinition:!1},t.isInString&&{isInString:!0}),t.contextSpan&&{contextSpan:t.contextSpan})}))}))},getDocumentHighlights:E,getNameOrDottedNameSpan:function(t,r,n){var i=l.getCurrentSourceFile(t),a=e.getTouchingPropertyName(i,r);if(a!==i){switch(a.kind){case 201:case 157:case 10:case 94:case 109:case 103:case 105:case 107:case 187:case 78:break;default:return}for(var o=a;;)if(e.isRightSideOfPropertyAccess(o)||e.isRightSideOfQualifiedName(o))o=o.parent;else{if(!e.isNameOfModuleDeclaration(o))break;if(256!==o.parent.parent.kind||o.parent.parent.body!==o.parent)break;o=o.parent.parent.name}return e.createTextSpanFromBounds(o.getStart(),a.getEnd())}},getBreakpointStatementAtPosition:function(t,r){var n=l.getCurrentSourceFile(t);return e.BreakpointResolver.spanInSourceFileAtLocation(n,r)},getNavigateToItems:function(t,r,n,i){void 0===i&&(i=!1),D();var a=n?[h(n)]:c.getSourceFiles();return e.NavigateTo.getNavigateToItems(a,c.getTypeChecker(),_,t,r,i)},getRenameInfo:function(t,r,n){return D(),e.Rename.getRenameInfo(c,h(t),r,n)},getSmartSelectionRange:function(t,r){return e.SmartSelectionRange.getSmartSelectionRange(r,l.getCurrentSourceFile(t))},findRenameLocations:function(t,r,i,a,o){D();var s=h(t),c=e.getAdjustedRenameLocation(e.getTouchingPropertyName(s,r));if(e.isIdentifier(c)&&(e.isJsxOpeningElement(c.parent)||e.isJsxClosingElement(c.parent))&&e.isIntrinsicJsxName(c.escapedText)){var u=c.parent.parent;return[u.openingElement,u.closingElement].map((function(t){var r=e.createTextSpanFromNode(t.tagName,s);return n({fileName:s.fileName,textSpan:r},e.FindAllReferences.toContextSpan(r,s,t.parent))}))}return T(c,r,{findInStrings:i,findInComments:a,providePrefixAndSuffixTextForRename:o,use:2},(function(t,r,n){return e.FindAllReferences.toRenameLocation(t,r,n,o||!1)}))},getNavigationBarItems:function(t){return e.NavigationBar.getNavigationBarItems(l.getCurrentSourceFile(t),_)},getNavigationTree:function(t){return e.NavigationBar.getNavigationTree(l.getCurrentSourceFile(t),_)},getOutliningSpans:function(t){var r=l.getCurrentSourceFile(t);return e.OutliningElementsCollector.collectElements(r,_)},getTodoComments:function(t,r){D();var n=h(t);_.throwIfCancellationRequested();var i,a=n.text,o=[];if(r.length>0&&!function(t){return e.stringContains(t,\"/node_modules/\")}(n.fileName))for(var s=function(){var t=\"(\"+/(?:^(?:\\s|\\*)*)/.source+\"|\"+/(?:\\/\\/+\\s*)/.source+\"|\"+/(?:\\/\\*+\\s*)/.source+\")\",n=\"(?:\"+e.map(r,(function(e){return\"(\"+(e.text.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\")+\")\")})).join(\"|\")+\")\";return new RegExp(t+\"(\"+n+/(?:.*?)/.source+\")\"+/(?:$|\\*\\/)/.source,\"gim\")}(),c=void 0;c=s.exec(a);){_.throwIfCancellationRequested();e.Debug.assert(c.length===r.length+3);var u=c[1],l=c.index+u.length;if(e.isInComment(n,l)){for(var d=void 0,p=0;p=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57)){var f=c[2];o.push({descriptor:d,message:f,position:l})}}}return o},getBraceMatchingAtPosition:function(t,r){var n=l.getCurrentSourceFile(t),i=e.getTouchingToken(n,r),a=i.getStart(n)===r?w.get(i.kind.toString()):void 0,o=a&&e.findChildOfKind(i.parent,a,n);return o?[e.createTextSpanFromNode(i,n),e.createTextSpanFromNode(o,n)].sort((function(e,t){return e.start-t.start})):e.emptyArray},getIndentationAtPosition:function(t,r,n){var i=e.timestamp(),a=v(n),o=l.getCurrentSourceFile(t);f(\"getIndentationAtPosition: getCurrentSourceFile: \"+(e.timestamp()-i)),i=e.timestamp();var s=e.formatting.SmartIndenter.getIndentation(r,o,a);return f(\"getIndentationAtPosition: computeIndentation : \"+(e.timestamp()-i)),s},getFormattingEditsForRange:function(r,n,i,a){var o=l.getCurrentSourceFile(r);return e.formatting.formatSelection(n,i,o,e.formatting.getFormatContext(v(a),t))},getFormattingEditsForDocument:function(r,n){return e.formatting.formatDocument(l.getCurrentSourceFile(r),e.formatting.getFormatContext(v(n),t))},getFormattingEditsAfterKeystroke:function(r,n,i,a){var o=l.getCurrentSourceFile(r),s=e.formatting.getFormatContext(v(a),t);if(!e.isInComment(o,n))switch(i){case\"{\":return e.formatting.formatOnOpeningCurly(n,o,s);case\"}\":return e.formatting.formatOnClosingCurly(n,o,s);case\";\":return e.formatting.formatOnSemicolon(n,o,s);case\"\\n\":return e.formatting.formatOnEnter(n,o,s)}return[]},getDocCommentTemplateAtPosition:function(r,n){return e.JsDoc.getDocCommentTemplateAtPosition(e.getNewLineOrDefaultFromHost(t),l.getCurrentSourceFile(r),n)},isValidBraceCompletionAtPosition:function(t,r,n){if(60===n)return!1;var i=l.getCurrentSourceFile(t);if(e.isInString(i,r))return!1;if(e.isInsideJsxElementOrAttribute(i,r))return 123===n;if(e.isInTemplateString(i,r))return!1;switch(n){case 39:case 34:case 96:return!e.isInComment(i,r)}return!0},getJsxClosingTagAtPosition:function(t,r){var n=l.getCurrentSourceFile(t),i=e.findPrecedingToken(r,n);if(i){var a=31===i.kind&&e.isJsxOpeningElement(i.parent)?i.parent.parent:e.isJsxText(i)?i.parent:void 0;return a&&R(a)?{newText:\"\"}:void 0}},getSpanOfEnclosingComment:function(t,r,n){var i=l.getCurrentSourceFile(t),a=e.formatting.getRangeOfEnclosingComment(i,r);return!a||n&&3!==a.kind?void 0:e.createTextSpanFromRange(a)},getCodeFixesAtPosition:function(r,n,i,a,o,s){void 0===s&&(s=e.emptyOptions),D();var u=h(r),l=e.createTextSpanFromBounds(n,i),d=e.formatting.getFormatContext(o,t);return e.flatMap(e.deduplicate(a,e.equateValues,e.compareValues),(function(r){return _.throwIfCancellationRequested(),e.codefix.getFixes({errorCode:r,sourceFile:u,span:l,program:c,host:t,cancellationToken:_,formatContext:d,preferences:s})}))},getCombinedCodeFix:function(r,n,i,a){void 0===a&&(a=e.emptyOptions),D(),e.Debug.assert(\"file\"===r.type);var o=h(r.fileName),s=e.formatting.getFormatContext(i,t);return e.codefix.getAllFixes({fixId:n,sourceFile:o,program:c,host:t,cancellationToken:_,formatContext:s,preferences:a})},applyCodeActionCommand:function(t,r){var n=\"string\"==typeof t?r:t;return e.isArray(n)?Promise.all(n.map((function(e){return I(e)}))):I(n)},organizeImports:function(r,n,i){void 0===i&&(i=e.emptyOptions),D(),e.Debug.assert(\"file\"===r.type);var a=h(r.fileName),o=e.formatting.getFormatContext(n,t);return e.OrganizeImports.organizeImports(a,o,t,c,i)},getEditsForFileRename:function(r,n,i,a){return void 0===a&&(a=e.emptyOptions),e.getEditsForFileRename(S(),r,n,t,e.formatting.getFormatContext(i,t),a,y)},getEmitOutput:function(r,n,i){D();var a=h(r),o=t.getCustomTransformers&&t.getCustomTransformers();return e.getFileEmitOutput(c,a,!!n,_,o,i)},getNonBoundSourceFile:function(e){return l.getCurrentSourceFile(e)},getProgram:S,getAutoImportProvider:function(){var e;return null===(e=t.getPackageJsonAutoImportProvider)||void 0===e?void 0:e.call(t)},getApplicableRefactors:function(t,r,n,i){void 0===n&&(n=e.emptyOptions),D();var a=h(t);return e.refactor.getApplicableRefactors(B(a,r,n,e.emptyOptions,i))},getEditsForRefactor:function(t,r,n,i,a,o){void 0===o&&(o=e.emptyOptions),D();var s=h(t);return e.refactor.getEditsForRefactor(B(s,n,o,r),i,a)},toLineColumnOffset:y.toLineColumnOffset,getSourceMapper:function(){return y},clearSourceMapperCache:function(){return y.clearCache()},prepareCallHierarchy:function(t,r){D();var n=e.CallHierarchy.resolveCallHierarchyDeclaration(c,e.getTouchingPropertyName(h(t),r));return n&&e.mapOneOrMany(n,(function(t){return e.CallHierarchy.createCallHierarchyItem(c,t)}))},provideCallHierarchyIncomingCalls:function(t,r){D();var n=h(t),i=e.firstOrOnly(e.CallHierarchy.resolveCallHierarchyDeclaration(c,0===r?n:e.getTouchingPropertyName(n,r)));return i?e.CallHierarchy.getIncomingCalls(c,i,_):[]},provideCallHierarchyOutgoingCalls:function(t,r){D();var n=h(t),i=e.firstOrOnly(e.CallHierarchy.resolveCallHierarchyDeclaration(c,0===r?n:e.getTouchingPropertyName(n,r)));return i?e.CallHierarchy.getOutgoingCalls(c,i):[]},toggleLineComment:M,toggleMultilineComment:L,commentSelection:function(e,t){var r=O(l.getCurrentSourceFile(e),t);return r.firstLine===r.lastLine&&t.pos!==t.end?L(e,t,!0):M(e,t,!0)},uncommentSelection:function(t,r){var n=l.getCurrentSourceFile(t),i=[],a=r.pos,o=r.end;a===o&&(o+=e.isInsideJsxElement(n,a)?2:1);for(var s=a;s<=o;s++){var c=e.isInComment(n,s);if(c){switch(c.kind){case 2:i.push.apply(i,M(t,{end:c.end,pos:c.pos+1},!1));break;case 3:i.push.apply(i,L(t,{end:c.end,pos:c.pos+1},!1))}s=c.end+1}}return i}};switch(s){case e.LanguageServiceMode.Semantic:break;case e.LanguageServiceMode.PartialSemantic:A.forEach((function(e){return j[e]=function(){throw new Error(\"LanguageService Operation: \"+e+\" not allowed in LanguageServiceMode.PartialSemantic\")}}));break;case e.LanguageServiceMode.Syntactic:F.forEach((function(e){return j[e]=function(){throw new Error(\"LanguageService Operation: \"+e+\" not allowed in LanguageServiceMode.Syntactic\")}}));break;default:e.Debug.assertNever(s)}return j},e.getNameTable=function(t){return t.nameTable||function(t){var r=t.nameTable=new e.Map;t.forEachChild((function t(n){if(e.isIdentifier(n)&&!e.isTagName(n)&&n.escapedText||e.isStringOrNumericLiteralLike(n)&&function(t){return e.isDeclarationName(t)||272===t.parent.kind||function(e){return e&&e.parent&&202===e.parent.kind&&e.parent.argumentExpression===e}(t)||e.isLiteralComputedPropertyDeclarationName(t)}(n)){var i=e.getEscapedTextOfIdentifierOrLiteral(n);r.set(i,void 0===r.get(i)?n.pos:-1)}else if(e.isPrivateIdentifier(n)){i=n.escapedText;r.set(i,void 0===r.get(i)?n.pos:-1)}if(e.forEachChild(n,t),e.hasJSDocNodes(n))for(var a=0,o=n.jsDoc;ai){var a=e.findPrecedingToken(n.pos,t);if(!a||t.getLineAndCharacterOfPosition(a.getEnd()).line!==i)return;n=a}if(!(8388608&n.flags))return d(n)}function o(r,n){var i=r.decorators?e.skipTrivia(t.text,r.decorators.end):r.getStart(t);return e.createTextSpanFromBounds(i,(n||r).getEnd())}function s(r,n){return o(r,e.findNextToken(n,n.parent,t))}function c(e,r){return e&&i===t.getLineAndCharacterOfPosition(e.getStart(t)).line?d(e):d(r)}function u(r){return d(e.findPrecedingToken(r.pos,t))}function l(r){return d(e.findNextToken(r,r.parent,t))}function d(r){if(r){var n=r.parent;switch(r.kind){case 232:return v(r.declarationList.declarations[0]);case 249:case 163:case 162:return v(r);case 160:return function t(r){if(e.isBindingPattern(r.name))return b(r.name);if(function(t){return!!t.initializer||void 0!==t.dotDotDotToken||e.hasSyntacticModifier(t,12)}(r))return o(r);var n=r.parent,i=n.parameters.indexOf(r);return e.Debug.assert(-1!==i),0!==i?t(n.parameters[i-1]):d(n.body)}(r);case 251:case 165:case 164:case 167:case 168:case 166:case 208:case 209:return function(e){if(!e.body)return;if(h(e))return o(e);return d(e.body)}(r);case 230:if(e.isFunctionBlock(r))return function(e){var t=e.statements.length?e.statements[0]:e.getLastToken();if(h(e.parent))return c(e.parent,t);return d(t)}(r);case 257:return D(r);case 287:return D(r.block);case 233:return o(r.expression);case 242:return o(r.getChildAt(0),r.expression);case 236:return s(r,r.expression);case 235:return d(r.statement);case 248:return o(r.getChildAt(0));case 234:return s(r,r.expression);case 245:return d(r.statement);case 241:case 240:return o(r.getChildAt(0),r.label);case 237:return function(e){if(e.initializer)return x(e);if(e.condition)return o(e.condition);if(e.incrementor)return o(e.incrementor)}(r);case 238:return s(r,r.expression);case 239:return x(r);case 244:return s(r,r.expression);case 284:case 285:return d(r.statements[0]);case 247:return D(r.tryBlock);case 246:case 266:return o(r,r.expression);case 260:return o(r,r.moduleReference);case 261:case 267:return o(r,r.moduleSpecifier);case 256:if(1!==e.getModuleInstanceState(r))return;case 252:case 255:case 291:case 198:return o(r);case 243:return d(r.statement);case 161:return m=n.decorators,e.createTextSpanFromBounds(e.skipTrivia(t.text,m.pos),m.end);case 196:case 197:return b(r);case 253:case 254:return;case 26:case 1:return c(e.findPrecedingToken(r.pos,t));case 27:return u(r);case 18:return function(r){switch(r.parent.kind){case 255:var n=r.parent;return c(e.findPrecedingToken(r.pos,t,r.parent),n.members.length?n.members[0]:n.getLastToken(t));case 252:var i=r.parent;return c(e.findPrecedingToken(r.pos,t,r.parent),i.members.length?i.members[0]:i.getLastToken(t));case 258:return c(r.parent.parent,r.parent.clauses[0])}return d(r.parent)}(r);case 19:return function(t){switch(t.parent.kind){case 257:if(1!==e.getModuleInstanceState(t.parent.parent))return;case 255:case 252:return o(t);case 230:if(e.isFunctionBlock(t.parent))return o(t);case 287:return d(e.lastOrUndefined(t.parent.statements));case 258:var r=t.parent,n=e.lastOrUndefined(r.clauses);return n?d(e.lastOrUndefined(n.statements)):void 0;case 196:var i=t.parent;return d(e.lastOrUndefined(i.elements)||i);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var a=t.parent;return o(e.lastOrUndefined(a.properties)||a)}return d(t.parent)}}(r);case 23:return function(t){switch(t.parent.kind){case 197:var r=t.parent;return o(e.lastOrUndefined(r.elements)||r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var n=t.parent;return o(e.lastOrUndefined(n.elements)||n)}return d(t.parent)}}(r);case 20:return function(e){if(235===e.parent.kind||203===e.parent.kind||204===e.parent.kind)return u(e);if(207===e.parent.kind)return l(e);return d(e.parent)}(r);case 21:return function(e){switch(e.parent.kind){case 208:case 251:case 209:case 165:case 164:case 167:case 168:case 166:case 236:case 235:case 237:case 239:case 203:case 204:case 207:return u(e);default:return d(e.parent)}}(r);case 58:return function(t){if(e.isFunctionLike(t.parent)||288===t.parent.kind||160===t.parent.kind)return u(t);return d(t.parent)}(r);case 31:case 29:return function(e){if(206===e.parent.kind)return l(e);return d(e.parent)}(r);case 114:return function(e){if(235===e.parent.kind)return s(e,e.parent.expression);return d(e.parent)}(r);case 90:case 82:case 95:return l(r);case 156:return function(e){if(239===e.parent.kind)return l(e);return d(e.parent)}(r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(r))return S(r);if((78===r.kind||220===r.kind||288===r.kind||289===r.kind)&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(n))return o(r);if(216===r.kind){var i=r,a=i.left,_=i.operatorToken;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(a))return S(a);if(62===_.kind&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent))return o(r);if(27===_.kind)return d(a)}if(e.isExpressionNode(r))switch(n.kind){case 235:return u(r);case 161:return d(r.parent);case 237:case 239:return o(r);case 216:if(27===r.parent.operatorToken.kind)return o(r);break;case 209:if(r.parent.body===r)return o(r)}switch(r.parent.kind){case 288:if(r.parent.name===r&&!e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent.parent))return d(r.parent.initializer);break;case 206:if(r.parent.type===r)return l(r.parent.type);break;case 249:case 160:var p=r.parent,f=p.initializer,g=p.type;if(f===r||g===r||e.isAssignmentOperator(r.kind))return u(r);break;case 216:a=r.parent.left;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(a)&&r!==a)return u(r);break;default:if(e.isFunctionLike(r.parent)&&r.parent.type===r)return u(r)}return d(r.parent)}}var m;function y(r){return e.isVariableDeclarationList(r.parent)&&r.parent.declarations[0]===r?o(e.findPrecedingToken(r.pos,t,r.parent),r):o(r)}function v(r){if(238===r.parent.parent.kind)return d(r.parent.parent);var n=r.parent;return e.isBindingPattern(r.name)?b(r.name):r.initializer||e.hasSyntacticModifier(r,1)||239===n.parent.kind?y(r):e.isVariableDeclarationList(r.parent)&&r.parent.declarations[0]!==r?d(e.findPrecedingToken(r.pos,t,r.parent)):void 0}function h(t){return e.hasSyntacticModifier(t,1)||252===t.parent.kind&&166!==t.kind}function D(r){switch(r.parent.kind){case 256:if(1!==e.getModuleInstanceState(r.parent))return;case 236:case 234:case 238:return c(r.parent,r.statements[0]);case 237:case 239:return c(e.findPrecedingToken(r.pos,t,r.parent),r.statements[0])}return d(r.statements[0])}function x(e){if(250!==e.initializer.kind)return d(e.initializer);var t=e.initializer;return t.declarations.length>0?d(t.declarations[0]):void 0}function b(t){var r=e.forEach(t.elements,(function(e){return 222!==e.kind?e:void 0}));return r?d(r):198===t.parent.kind?o(t.parent):y(t.parent)}function S(t){e.Debug.assert(197!==t.kind&&196!==t.kind);var r=199===t.kind?t.elements:t.properties,n=e.forEach(r,(function(e){return 222!==e.kind?e:void 0}));return n?d(n):o(216===t.parent.kind?t.parent:t)}}}}(e.BreakpointResolver||(e.BreakpointResolver={}))}(u||(u={})),function(e){e.transform=function(t,r,n){var i=[];n=e.fixupCompilerOptions(n,i);var a=e.isArray(t)?t:[t],o=e.transformNodes(void 0,void 0,e.factory,n,a,r,!0);return o.diagnostics=e.concatenate(o.diagnostics,i),o}}(u||(u={}));var u,l=function(){return this}();!function(e){function t(e,t){e&&e.log(\"*INTERNAL ERROR* - Exception in typescript services: \"+t.message)}var i=function(){function t(e){this.scriptSnapshotShim=e}return t.prototype.getText=function(e,t){return this.scriptSnapshotShim.getText(e,t)},t.prototype.getLength=function(){return this.scriptSnapshotShim.getLength()},t.prototype.getChangeRange=function(t){var r=t,n=this.scriptSnapshotShim.getChangeRange(r.scriptSnapshotShim);if(null===n)return null;var i=JSON.parse(n);return e.createTextChangeRange(e.createTextSpan(i.span.start,i.span.length),i.newLength)},t.prototype.dispose=function(){\"dispose\"in this.scriptSnapshotShim&&this.scriptSnapshotShim.dispose()},t}(),a=function(){function t(t){var r=this;this.shimHost=t,this.loggingEnabled=!1,this.tracingEnabled=!1,\"getModuleResolutionsForFile\"in this.shimHost&&(this.resolveModuleNames=function(t,n){var i=JSON.parse(r.shimHost.getModuleResolutionsForFile(n));return e.map(t,(function(t){var r=e.getProperty(i,t);return r?{resolvedFileName:r,extension:e.extensionFromPath(r),isExternalLibraryImport:!1}:void 0}))}),\"directoryExists\"in this.shimHost&&(this.directoryExists=function(e){return r.shimHost.directoryExists(e)}),\"getTypeReferenceDirectiveResolutionsForFile\"in this.shimHost&&(this.resolveTypeReferenceDirectives=function(t,n){var i=JSON.parse(r.shimHost.getTypeReferenceDirectiveResolutionsForFile(n));return e.map(t,(function(t){return e.getProperty(i,t)}))})}return t.prototype.log=function(e){this.loggingEnabled&&this.shimHost.log(e)},t.prototype.trace=function(e){this.tracingEnabled&&this.shimHost.trace(e)},t.prototype.error=function(e){this.shimHost.error(e)},t.prototype.getProjectVersion=function(){if(this.shimHost.getProjectVersion)return this.shimHost.getProjectVersion()},t.prototype.getTypeRootsVersion=function(){return this.shimHost.getTypeRootsVersion?this.shimHost.getTypeRootsVersion():0},t.prototype.useCaseSensitiveFileNames=function(){return!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames()},t.prototype.getCompilationSettings=function(){var e=this.shimHost.getCompilationSettings();if(null===e||\"\"===e)throw Error(\"LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings\");var t=JSON.parse(e);return t.allowNonTsExtensions=!0,t},t.prototype.getScriptFileNames=function(){var e=this.shimHost.getScriptFileNames();return JSON.parse(e)},t.prototype.getScriptSnapshot=function(e){var t=this.shimHost.getScriptSnapshot(e);return t&&new i(t)},t.prototype.getScriptKind=function(e){return\"getScriptKind\"in this.shimHost?this.shimHost.getScriptKind(e):0},t.prototype.getScriptVersion=function(e){return this.shimHost.getScriptVersion(e)},t.prototype.getLocalizedDiagnosticMessages=function(){var e=this.shimHost.getLocalizedDiagnosticMessages();if(null===e||\"\"===e)return null;try{return JSON.parse(e)}catch(e){return this.log(e.description||\"diagnosticMessages.generated.json has invalid JSON format\"),null}},t.prototype.getCancellationToken=function(){var t=this.shimHost.getCancellationToken();return new e.ThrottledCancellationToken(t)},t.prototype.getCurrentDirectory=function(){return this.shimHost.getCurrentDirectory()},t.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},t.prototype.getDefaultLibFileName=function(e){return this.shimHost.getDefaultLibFileName(JSON.stringify(e))},t.prototype.readDirectory=function(t,r,n,i,a){var o=e.getFileMatcherPatterns(t,n,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(t,JSON.stringify(r),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))},t.prototype.readFile=function(e,t){return this.shimHost.readFile(e,t)},t.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},t}();e.LanguageServiceShimHostAdapter=a;var o=function(){function t(e){var t=this;this.shimHost=e,this.useCaseSensitiveFileNames=!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames(),\"directoryExists\"in this.shimHost?this.directoryExists=function(e){return t.shimHost.directoryExists(e)}:this.directoryExists=void 0,\"realpath\"in this.shimHost?this.realpath=function(e){return t.shimHost.realpath(e)}:this.realpath=void 0}return t.prototype.readDirectory=function(t,r,n,i,a){var o=e.getFileMatcherPatterns(t,n,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(t,JSON.stringify(r),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))},t.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},t.prototype.readFile=function(e){return this.shimHost.readFile(e)},t.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},t}();function u(e,t,r,n){return d(e,t,!0,r,n)}function d(r,n,i,a,o){try{var s=function(t,r,n,i){var a;i&&(t.log(r),a=e.timestamp());var o=n();if(i){var s=e.timestamp();if(t.log(r+\" completed in \"+(s-a)+\" msec\"),e.isString(o)){var c=o;c.length>128&&(c=c.substring(0,128)+\"...\"),t.log(\" result.length=\"+c.length+\", result='\"+JSON.stringify(c)+\"'\")}}return o}(r,n,a,o);return i?JSON.stringify({result:s}):s}catch(i){return i instanceof e.OperationCanceledException?JSON.stringify({canceled:!0}):(t(r,i),i.description=n,JSON.stringify({error:i}))}}e.CoreServicesShimHostAdapter=o;var _=function(){function e(e){this.factory=e,e.registerShim(this)}return e.prototype.dispose=function(e){this.factory.unregisterShim(this)},e}();function p(t,r){return t.map((function(t){return function(t,r){return{message:e.flattenDiagnosticMessageText(t.messageText,r),start:t.start,length:t.length,category:e.diagnosticCategoryName(t),code:t.code,reportsUnnecessary:t.reportsUnnecessary,reportsDeprecated:t.reportsDeprecated}}(t,r)}))}e.realizeDiagnostics=p;var f=function(t){function r(e,r,n){var i=t.call(this,e)||this;return i.host=r,i.languageService=n,i.logPerformance=!1,i.logger=i.host,i}return c(r,t),r.prototype.forwardJSONCall=function(e,t){return u(this.logger,e,t,this.logPerformance)},r.prototype.dispose=function(e){this.logger.log(\"dispose()\"),this.languageService.dispose(),this.languageService=null,l&&l.CollectGarbage&&(l.CollectGarbage(),this.logger.log(\"CollectGarbage()\")),this.logger=null,t.prototype.dispose.call(this,e)},r.prototype.refresh=function(e){this.forwardJSONCall(\"refresh(\"+e+\")\",(function(){return null}))},r.prototype.cleanupSemanticCache=function(){var e=this;this.forwardJSONCall(\"cleanupSemanticCache()\",(function(){return e.languageService.cleanupSemanticCache(),null}))},r.prototype.realizeDiagnostics=function(t){return p(t,e.getNewLineOrDefaultFromHost(this.host))},r.prototype.getSyntacticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall(\"getSyntacticClassifications('\"+t+\"', \"+r+\", \"+n+\")\",(function(){return i.languageService.getSyntacticClassifications(t,e.createTextSpan(r,n))}))},r.prototype.getSemanticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall(\"getSemanticClassifications('\"+t+\"', \"+r+\", \"+n+\")\",(function(){return i.languageService.getSemanticClassifications(t,e.createTextSpan(r,n))}))},r.prototype.getEncodedSyntacticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall(\"getEncodedSyntacticClassifications('\"+t+\"', \"+r+\", \"+n+\")\",(function(){return g(i.languageService.getEncodedSyntacticClassifications(t,e.createTextSpan(r,n)))}))},r.prototype.getEncodedSemanticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall(\"getEncodedSemanticClassifications('\"+t+\"', \"+r+\", \"+n+\")\",(function(){return g(i.languageService.getEncodedSemanticClassifications(t,e.createTextSpan(r,n)))}))},r.prototype.getSyntacticDiagnostics=function(e){var t=this;return this.forwardJSONCall(\"getSyntacticDiagnostics('\"+e+\"')\",(function(){var r=t.languageService.getSyntacticDiagnostics(e);return t.realizeDiagnostics(r)}))},r.prototype.getSemanticDiagnostics=function(e){var t=this;return this.forwardJSONCall(\"getSemanticDiagnostics('\"+e+\"')\",(function(){var r=t.languageService.getSemanticDiagnostics(e);return t.realizeDiagnostics(r)}))},r.prototype.getSuggestionDiagnostics=function(e){var t=this;return this.forwardJSONCall(\"getSuggestionDiagnostics('\"+e+\"')\",(function(){return t.realizeDiagnostics(t.languageService.getSuggestionDiagnostics(e))}))},r.prototype.getCompilerOptionsDiagnostics=function(){var e=this;return this.forwardJSONCall(\"getCompilerOptionsDiagnostics()\",(function(){var t=e.languageService.getCompilerOptionsDiagnostics();return e.realizeDiagnostics(t)}))},r.prototype.getQuickInfoAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getQuickInfoAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getQuickInfoAtPosition(e,t)}))},r.prototype.getNameOrDottedNameSpan=function(e,t,r){var n=this;return this.forwardJSONCall(\"getNameOrDottedNameSpan('\"+e+\"', \"+t+\", \"+r+\")\",(function(){return n.languageService.getNameOrDottedNameSpan(e,t,r)}))},r.prototype.getBreakpointStatementAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getBreakpointStatementAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getBreakpointStatementAtPosition(e,t)}))},r.prototype.getSignatureHelpItems=function(e,t,r){var n=this;return this.forwardJSONCall(\"getSignatureHelpItems('\"+e+\"', \"+t+\")\",(function(){return n.languageService.getSignatureHelpItems(e,t,r)}))},r.prototype.getDefinitionAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getDefinitionAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getDefinitionAtPosition(e,t)}))},r.prototype.getDefinitionAndBoundSpan=function(e,t){var r=this;return this.forwardJSONCall(\"getDefinitionAndBoundSpan('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getDefinitionAndBoundSpan(e,t)}))},r.prototype.getTypeDefinitionAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getTypeDefinitionAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getTypeDefinitionAtPosition(e,t)}))},r.prototype.getImplementationAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getImplementationAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getImplementationAtPosition(e,t)}))},r.prototype.getRenameInfo=function(e,t,r){var n=this;return this.forwardJSONCall(\"getRenameInfo('\"+e+\"', \"+t+\")\",(function(){return n.languageService.getRenameInfo(e,t,r)}))},r.prototype.getSmartSelectionRange=function(e,t){var r=this;return this.forwardJSONCall(\"getSmartSelectionRange('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getSmartSelectionRange(e,t)}))},r.prototype.findRenameLocations=function(e,t,r,n,i){var a=this;return this.forwardJSONCall(\"findRenameLocations('\"+e+\"', \"+t+\", \"+r+\", \"+n+\", \"+i+\")\",(function(){return a.languageService.findRenameLocations(e,t,r,n,i)}))},r.prototype.getBraceMatchingAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getBraceMatchingAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getBraceMatchingAtPosition(e,t)}))},r.prototype.isValidBraceCompletionAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall(\"isValidBraceCompletionAtPosition('\"+e+\"', \"+t+\", \"+r+\")\",(function(){return n.languageService.isValidBraceCompletionAtPosition(e,t,r)}))},r.prototype.getSpanOfEnclosingComment=function(e,t,r){var n=this;return this.forwardJSONCall(\"getSpanOfEnclosingComment('\"+e+\"', \"+t+\")\",(function(){return n.languageService.getSpanOfEnclosingComment(e,t,r)}))},r.prototype.getIndentationAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall(\"getIndentationAtPosition('\"+e+\"', \"+t+\")\",(function(){var i=JSON.parse(r);return n.languageService.getIndentationAtPosition(e,t,i)}))},r.prototype.getReferencesAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getReferencesAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getReferencesAtPosition(e,t)}))},r.prototype.findReferences=function(e,t){var r=this;return this.forwardJSONCall(\"findReferences('\"+e+\"', \"+t+\")\",(function(){return r.languageService.findReferences(e,t)}))},r.prototype.getOccurrencesAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getOccurrencesAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getOccurrencesAtPosition(e,t)}))},r.prototype.getDocumentHighlights=function(t,r,n){var i=this;return this.forwardJSONCall(\"getDocumentHighlights('\"+t+\"', \"+r+\")\",(function(){var a=i.languageService.getDocumentHighlights(t,r,JSON.parse(n)),o=e.toFileNameLowerCase(e.normalizeSlashes(t));return e.filter(a,(function(t){return e.toFileNameLowerCase(e.normalizeSlashes(t.fileName))===o}))}))},r.prototype.getCompletionsAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall(\"getCompletionsAtPosition('\"+e+\"', \"+t+\", \"+r+\")\",(function(){return n.languageService.getCompletionsAtPosition(e,t,r)}))},r.prototype.getCompletionEntryDetails=function(e,t,r,n,i,a){var o=this;return this.forwardJSONCall(\"getCompletionEntryDetails('\"+e+\"', \"+t+\", '\"+r+\"')\",(function(){var s=void 0===n?void 0:JSON.parse(n);return o.languageService.getCompletionEntryDetails(e,t,r,s,i,a)}))},r.prototype.getFormattingEditsForRange=function(e,t,r,n){var i=this;return this.forwardJSONCall(\"getFormattingEditsForRange('\"+e+\"', \"+t+\", \"+r+\")\",(function(){var a=JSON.parse(n);return i.languageService.getFormattingEditsForRange(e,t,r,a)}))},r.prototype.getFormattingEditsForDocument=function(e,t){var r=this;return this.forwardJSONCall(\"getFormattingEditsForDocument('\"+e+\"')\",(function(){var n=JSON.parse(t);return r.languageService.getFormattingEditsForDocument(e,n)}))},r.prototype.getFormattingEditsAfterKeystroke=function(e,t,r,n){var i=this;return this.forwardJSONCall(\"getFormattingEditsAfterKeystroke('\"+e+\"', \"+t+\", '\"+r+\"')\",(function(){var a=JSON.parse(n);return i.languageService.getFormattingEditsAfterKeystroke(e,t,r,a)}))},r.prototype.getDocCommentTemplateAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getDocCommentTemplateAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getDocCommentTemplateAtPosition(e,t)}))},r.prototype.getNavigateToItems=function(e,t,r){var n=this;return this.forwardJSONCall(\"getNavigateToItems('\"+e+\"', \"+t+\", \"+r+\")\",(function(){return n.languageService.getNavigateToItems(e,t,r)}))},r.prototype.getNavigationBarItems=function(e){var t=this;return this.forwardJSONCall(\"getNavigationBarItems('\"+e+\"')\",(function(){return t.languageService.getNavigationBarItems(e)}))},r.prototype.getNavigationTree=function(e){var t=this;return this.forwardJSONCall(\"getNavigationTree('\"+e+\"')\",(function(){return t.languageService.getNavigationTree(e)}))},r.prototype.getOutliningSpans=function(e){var t=this;return this.forwardJSONCall(\"getOutliningSpans('\"+e+\"')\",(function(){return t.languageService.getOutliningSpans(e)}))},r.prototype.getTodoComments=function(e,t){var r=this;return this.forwardJSONCall(\"getTodoComments('\"+e+\"')\",(function(){return r.languageService.getTodoComments(e,JSON.parse(t))}))},r.prototype.prepareCallHierarchy=function(e,t){var r=this;return this.forwardJSONCall(\"prepareCallHierarchy('\"+e+\"', \"+t+\")\",(function(){return r.languageService.prepareCallHierarchy(e,t)}))},r.prototype.provideCallHierarchyIncomingCalls=function(e,t){var r=this;return this.forwardJSONCall(\"provideCallHierarchyIncomingCalls('\"+e+\"', \"+t+\")\",(function(){return r.languageService.provideCallHierarchyIncomingCalls(e,t)}))},r.prototype.provideCallHierarchyOutgoingCalls=function(e,t){var r=this;return this.forwardJSONCall(\"provideCallHierarchyOutgoingCalls('\"+e+\"', \"+t+\")\",(function(){return r.languageService.provideCallHierarchyOutgoingCalls(e,t)}))},r.prototype.getEmitOutput=function(e){var t=this;return this.forwardJSONCall(\"getEmitOutput('\"+e+\"')\",(function(){var r=t.languageService.getEmitOutput(e),i=r.diagnostics,a=s(r,[\"diagnostics\"]);return n(n({},a),{diagnostics:t.realizeDiagnostics(i)})}))},r.prototype.getEmitOutputObject=function(e){var t=this;return d(this.logger,\"getEmitOutput('\"+e+\"')\",!1,(function(){return t.languageService.getEmitOutput(e)}),this.logPerformance)},r.prototype.toggleLineComment=function(e,t){var r=this;return this.forwardJSONCall(\"toggleLineComment('\"+e+\"', '\"+JSON.stringify(t)+\"')\",(function(){return r.languageService.toggleLineComment(e,t)}))},r.prototype.toggleMultilineComment=function(e,t){var r=this;return this.forwardJSONCall(\"toggleMultilineComment('\"+e+\"', '\"+JSON.stringify(t)+\"')\",(function(){return r.languageService.toggleMultilineComment(e,t)}))},r.prototype.commentSelection=function(e,t){var r=this;return this.forwardJSONCall(\"commentSelection('\"+e+\"', '\"+JSON.stringify(t)+\"')\",(function(){return r.languageService.commentSelection(e,t)}))},r.prototype.uncommentSelection=function(e,t){var r=this;return this.forwardJSONCall(\"uncommentSelection('\"+e+\"', '\"+JSON.stringify(t)+\"')\",(function(){return r.languageService.uncommentSelection(e,t)}))},r}(_);function g(e){return{spans:e.spans.join(\",\"),endOfLineState:e.endOfLineState}}var m=function(t){function r(r,n){var i=t.call(this,r)||this;return i.logger=n,i.logPerformance=!1,i.classifier=e.createClassifier(),i}return c(r,t),r.prototype.getEncodedLexicalClassifications=function(e,t,r){var n=this;return void 0===r&&(r=!1),u(this.logger,\"getEncodedLexicalClassifications\",(function(){return g(n.classifier.getEncodedLexicalClassifications(e,t,r))}),this.logPerformance)},r.prototype.getClassificationsForLine=function(e,t,r){void 0===r&&(r=!1);for(var n=this.classifier.getClassificationsForLine(e,t,r),i=\"\",a=0,o=n.entries;a=1&&arguments.length<=3?e.factory.createVariableDeclaration(t,void 0,r,n):e.Debug.fail(\"Argument count mismatch\")}),t),e.updateVariableDeclaration=e.Debug.deprecate((function(t,r,n,i,a){return 5===arguments.length?e.factory.updateVariableDeclaration(t,r,n,i,a):4===arguments.length?e.factory.updateVariableDeclaration(t,r,t.exclamationToken,n,i):e.Debug.fail(\"Argument count mismatch\")}),t),e.createImportClause=e.Debug.deprecate((function(t,r,n){return void 0===n&&(n=!1),e.factory.createImportClause(n,t,r)}),t),e.updateImportClause=e.Debug.deprecate((function(t,r,n,i){return e.factory.updateImportClause(t,i,r,n)}),t),e.createExportDeclaration=e.Debug.deprecate((function(t,r,n,i,a){return void 0===a&&(a=!1),e.factory.createExportDeclaration(t,r,a,n,i)}),t),e.updateExportDeclaration=e.Debug.deprecate((function(t,r,n,i,a,o){return e.factory.updateExportDeclaration(t,r,n,o,i,a)}),t),e.createJSDocParamTag=e.Debug.deprecate((function(t,r,n,i){return e.factory.createJSDocParameterTag(void 0,t,r,n,!1,i)}),t),e.createComma=e.Debug.deprecate((function(t,r){return e.factory.createComma(t,r)}),t),e.createLessThan=e.Debug.deprecate((function(t,r){return e.factory.createLessThan(t,r)}),t),e.createAssignment=e.Debug.deprecate((function(t,r){return e.factory.createAssignment(t,r)}),t),e.createStrictEquality=e.Debug.deprecate((function(t,r){return e.factory.createStrictEquality(t,r)}),t),e.createStrictInequality=e.Debug.deprecate((function(t,r){return e.factory.createStrictInequality(t,r)}),t),e.createAdd=e.Debug.deprecate((function(t,r){return e.factory.createAdd(t,r)}),t),e.createSubtract=e.Debug.deprecate((function(t,r){return e.factory.createSubtract(t,r)}),t),e.createLogicalAnd=e.Debug.deprecate((function(t,r){return e.factory.createLogicalAnd(t,r)}),t),e.createLogicalOr=e.Debug.deprecate((function(t,r){return e.factory.createLogicalOr(t,r)}),t),e.createPostfixIncrement=e.Debug.deprecate((function(t){return e.factory.createPostfixIncrement(t)}),t),e.createLogicalNot=e.Debug.deprecate((function(t){return e.factory.createLogicalNot(t)}),t),e.createNode=e.Debug.deprecate((function(t,r,n){return void 0===r&&(r=0),void 0===n&&(n=0),e.setTextRangePosEnd(297===t?e.parseBaseNodeFactory.createBaseSourceFileNode(t):78===t?e.parseBaseNodeFactory.createBaseIdentifierNode(t):79===t?e.parseBaseNodeFactory.createBasePrivateIdentifierNode(t):e.isNodeKind(t)?e.parseBaseNodeFactory.createBaseNode(t):e.parseBaseNodeFactory.createBaseTokenNode(t),r,n)}),{since:\"4.0\",warnAfter:\"4.1\",message:\"Use an appropriate `factory` method instead.\"}),e.getMutableClone=e.Debug.deprecate((function(t){var r=e.factory.cloneNode(t);return e.setTextRange(r,t),e.setParent(r,t.parent),r}),{since:\"4.0\",warnAfter:\"4.1\",message:\"Use `factory.cloneNode` instead and use `setCommentRange` or `setSourceMapRange` and avoid setting `parent`.\"}),e.isTypeAssertion=e.Debug.deprecate((function(e){return 206===e.kind}),{since:\"4.0\",warnAfter:\"4.1\",message:\"Use `isTypeAssertionExpression` instead.\"})}(u||(u={}))})),To=\"object\"==typeof t&&t&&t.Object===Object&&t,Co=\"object\"==typeof self&&self&&self.Object===Object&&self,ko=(To||Co||Function(\"return this\")()).Symbol;var Ao=function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r\",\""\":'\"',\"'\":\"'\"}),Wo=/&(?:amp|lt|gt|quot|#39);/g,Ho=RegExp(Wo.source);var Go=function(e){return(e=Vo(e))&&Ho.test(e)?e.replace(Wo,qo):e},Yo=r((function(e,t){var r;Object.defineProperty(t,\"__esModule\",{value:!0}),t.AST_NODE_TYPES=void 0,function(e){e.ArrayExpression=\"ArrayExpression\",e.ArrayPattern=\"ArrayPattern\",e.ArrowFunctionExpression=\"ArrowFunctionExpression\",e.AssignmentExpression=\"AssignmentExpression\",e.AssignmentPattern=\"AssignmentPattern\",e.AwaitExpression=\"AwaitExpression\",e.BinaryExpression=\"BinaryExpression\",e.BlockStatement=\"BlockStatement\",e.BreakStatement=\"BreakStatement\",e.CallExpression=\"CallExpression\",e.CatchClause=\"CatchClause\",e.ChainExpression=\"ChainExpression\",e.ClassBody=\"ClassBody\",e.ClassDeclaration=\"ClassDeclaration\",e.ClassExpression=\"ClassExpression\",e.ClassProperty=\"ClassProperty\",e.ConditionalExpression=\"ConditionalExpression\",e.ContinueStatement=\"ContinueStatement\",e.DebuggerStatement=\"DebuggerStatement\",e.Decorator=\"Decorator\",e.DoWhileStatement=\"DoWhileStatement\",e.EmptyStatement=\"EmptyStatement\",e.ExportAllDeclaration=\"ExportAllDeclaration\",e.ExportDefaultDeclaration=\"ExportDefaultDeclaration\",e.ExportNamedDeclaration=\"ExportNamedDeclaration\",e.ExportSpecifier=\"ExportSpecifier\",e.ExpressionStatement=\"ExpressionStatement\",e.ForInStatement=\"ForInStatement\",e.ForOfStatement=\"ForOfStatement\",e.ForStatement=\"ForStatement\",e.FunctionDeclaration=\"FunctionDeclaration\",e.FunctionExpression=\"FunctionExpression\",e.Identifier=\"Identifier\",e.IfStatement=\"IfStatement\",e.ImportDeclaration=\"ImportDeclaration\",e.ImportDefaultSpecifier=\"ImportDefaultSpecifier\",e.ImportExpression=\"ImportExpression\",e.ImportNamespaceSpecifier=\"ImportNamespaceSpecifier\",e.ImportSpecifier=\"ImportSpecifier\",e.JSXAttribute=\"JSXAttribute\",e.JSXClosingElement=\"JSXClosingElement\",e.JSXClosingFragment=\"JSXClosingFragment\",e.JSXElement=\"JSXElement\",e.JSXEmptyExpression=\"JSXEmptyExpression\",e.JSXExpressionContainer=\"JSXExpressionContainer\",e.JSXFragment=\"JSXFragment\",e.JSXIdentifier=\"JSXIdentifier\",e.JSXMemberExpression=\"JSXMemberExpression\",e.JSXOpeningElement=\"JSXOpeningElement\",e.JSXOpeningFragment=\"JSXOpeningFragment\",e.JSXSpreadAttribute=\"JSXSpreadAttribute\",e.JSXSpreadChild=\"JSXSpreadChild\",e.JSXText=\"JSXText\",e.LabeledStatement=\"LabeledStatement\",e.Literal=\"Literal\",e.LogicalExpression=\"LogicalExpression\",e.MemberExpression=\"MemberExpression\",e.MetaProperty=\"MetaProperty\",e.MethodDefinition=\"MethodDefinition\",e.NewExpression=\"NewExpression\",e.ObjectExpression=\"ObjectExpression\",e.ObjectPattern=\"ObjectPattern\",e.Program=\"Program\",e.Property=\"Property\",e.RestElement=\"RestElement\",e.ReturnStatement=\"ReturnStatement\",e.SequenceExpression=\"SequenceExpression\",e.SpreadElement=\"SpreadElement\",e.Super=\"Super\",e.SwitchCase=\"SwitchCase\",e.SwitchStatement=\"SwitchStatement\",e.TaggedTemplateExpression=\"TaggedTemplateExpression\",e.TemplateElement=\"TemplateElement\",e.TemplateLiteral=\"TemplateLiteral\",e.ThisExpression=\"ThisExpression\",e.ThrowStatement=\"ThrowStatement\",e.TryStatement=\"TryStatement\",e.UnaryExpression=\"UnaryExpression\",e.UpdateExpression=\"UpdateExpression\",e.VariableDeclaration=\"VariableDeclaration\",e.VariableDeclarator=\"VariableDeclarator\",e.WhileStatement=\"WhileStatement\",e.WithStatement=\"WithStatement\",e.YieldExpression=\"YieldExpression\",e.TSAbstractClassProperty=\"TSAbstractClassProperty\",e.TSAbstractKeyword=\"TSAbstractKeyword\",e.TSAbstractMethodDefinition=\"TSAbstractMethodDefinition\",e.TSAnyKeyword=\"TSAnyKeyword\",e.TSArrayType=\"TSArrayType\",e.TSAsExpression=\"TSAsExpression\",e.TSAsyncKeyword=\"TSAsyncKeyword\",e.TSBigIntKeyword=\"TSBigIntKeyword\",e.TSBooleanKeyword=\"TSBooleanKeyword\",e.TSCallSignatureDeclaration=\"TSCallSignatureDeclaration\",e.TSClassImplements=\"TSClassImplements\",e.TSConditionalType=\"TSConditionalType\",e.TSConstructorType=\"TSConstructorType\",e.TSConstructSignatureDeclaration=\"TSConstructSignatureDeclaration\",e.TSDeclareFunction=\"TSDeclareFunction\",e.TSDeclareKeyword=\"TSDeclareKeyword\",e.TSEmptyBodyFunctionExpression=\"TSEmptyBodyFunctionExpression\",e.TSEnumDeclaration=\"TSEnumDeclaration\",e.TSEnumMember=\"TSEnumMember\",e.TSExportAssignment=\"TSExportAssignment\",e.TSExportKeyword=\"TSExportKeyword\",e.TSExternalModuleReference=\"TSExternalModuleReference\",e.TSFunctionType=\"TSFunctionType\",e.TSImportEqualsDeclaration=\"TSImportEqualsDeclaration\",e.TSImportType=\"TSImportType\",e.TSIndexedAccessType=\"TSIndexedAccessType\",e.TSIndexSignature=\"TSIndexSignature\",e.TSInferType=\"TSInferType\",e.TSInterfaceBody=\"TSInterfaceBody\",e.TSInterfaceDeclaration=\"TSInterfaceDeclaration\",e.TSInterfaceHeritage=\"TSInterfaceHeritage\",e.TSIntersectionType=\"TSIntersectionType\",e.TSLiteralType=\"TSLiteralType\",e.TSMappedType=\"TSMappedType\",e.TSMethodSignature=\"TSMethodSignature\",e.TSModuleBlock=\"TSModuleBlock\",e.TSModuleDeclaration=\"TSModuleDeclaration\",e.TSNamedTupleMember=\"TSNamedTupleMember\",e.TSNamespaceExportDeclaration=\"TSNamespaceExportDeclaration\",e.TSNeverKeyword=\"TSNeverKeyword\",e.TSNonNullExpression=\"TSNonNullExpression\",e.TSNullKeyword=\"TSNullKeyword\",e.TSNumberKeyword=\"TSNumberKeyword\",e.TSObjectKeyword=\"TSObjectKeyword\",e.TSOptionalType=\"TSOptionalType\",e.TSParameterProperty=\"TSParameterProperty\",e.TSParenthesizedType=\"TSParenthesizedType\",e.TSPrivateKeyword=\"TSPrivateKeyword\",e.TSPropertySignature=\"TSPropertySignature\",e.TSProtectedKeyword=\"TSProtectedKeyword\",e.TSPublicKeyword=\"TSPublicKeyword\",e.TSQualifiedName=\"TSQualifiedName\",e.TSReadonlyKeyword=\"TSReadonlyKeyword\",e.TSRestType=\"TSRestType\",e.TSStaticKeyword=\"TSStaticKeyword\",e.TSStringKeyword=\"TSStringKeyword\",e.TSSymbolKeyword=\"TSSymbolKeyword\",e.TSTemplateLiteralType=\"TSTemplateLiteralType\",e.TSThisType=\"TSThisType\",e.TSTupleType=\"TSTupleType\",e.TSTypeAliasDeclaration=\"TSTypeAliasDeclaration\",e.TSTypeAnnotation=\"TSTypeAnnotation\",e.TSTypeAssertion=\"TSTypeAssertion\",e.TSTypeLiteral=\"TSTypeLiteral\",e.TSTypeOperator=\"TSTypeOperator\",e.TSTypeParameter=\"TSTypeParameter\",e.TSTypeParameterDeclaration=\"TSTypeParameterDeclaration\",e.TSTypeParameterInstantiation=\"TSTypeParameterInstantiation\",e.TSTypePredicate=\"TSTypePredicate\",e.TSTypeQuery=\"TSTypeQuery\",e.TSTypeReference=\"TSTypeReference\",e.TSUndefinedKeyword=\"TSUndefinedKeyword\",e.TSUnionType=\"TSUnionType\",e.TSUnknownKeyword=\"TSUnknownKeyword\",e.TSVoidKeyword=\"TSVoidKeyword\"}(r||(r={})),t.AST_NODE_TYPES=r})),Xo=r((function(e,t){var r;Object.defineProperty(t,\"__esModule\",{value:!0}),t.AST_TOKEN_TYPES=void 0,function(e){e.Boolean=\"Boolean\",e.Identifier=\"Identifier\",e.JSXIdentifier=\"JSXIdentifier\",e.JSXText=\"JSXText\",e.Keyword=\"Keyword\",e.Null=\"Null\",e.Numeric=\"Numeric\",e.Punctuator=\"Punctuator\",e.RegularExpression=\"RegularExpression\",e.String=\"String\",e.Template=\"Template\",e.Block=\"Block\",e.Line=\"Line\"}(r||(r={})),t.AST_TOKEN_TYPES=r})),Qo=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})})),$o=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})})),Zo=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})})),es=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__exportStar||function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)},o=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,\"__esModule\",{value:!0}),r.TSESTree=r.AST_TOKEN_TYPES=r.AST_NODE_TYPES=void 0,Object.defineProperty(r,\"AST_NODE_TYPES\",{enumerable:!0,get:function(){return Yo.AST_NODE_TYPES}}),Object.defineProperty(r,\"AST_TOKEN_TYPES\",{enumerable:!0,get:function(){return Xo.AST_TOKEN_TYPES}}),a(Qo,r),a($o,r),r.TSESTree=o(Zo)})),ts=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})})),rs=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})})),ns=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(r,\"__esModule\",{value:!0}),r.TSESTree=r.AST_TOKEN_TYPES=r.AST_NODE_TYPES=void 0,Object.defineProperty(r,\"AST_NODE_TYPES\",{enumerable:!0,get:function(){return es.AST_NODE_TYPES}}),Object.defineProperty(r,\"AST_TOKEN_TYPES\",{enumerable:!0,get:function(){return es.AST_TOKEN_TYPES}}),Object.defineProperty(r,\"TSESTree\",{enumerable:!0,get:function(){return es.TSESTree}}),i(ts,r),i(rs,r)})),is=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.firstDefined=r.nodeHasTokens=r.createError=r.convertTokens=r.convertToken=r.getTokenType=r.isChildUnwrappableOptionalChain=r.isChainExpression=r.isOptional=r.isComputedProperty=r.unescapeStringLiteralText=r.hasJSXAncestor=r.findFirstMatchingAncestor=r.findNextToken=r.getTSNodeAccessibility=r.getDeclarationKind=r.isJSXToken=r.isToken=r.getRange=r.canContainDirective=r.getLocFor=r.getLineAndCharacterFor=r.getBinaryExpressionType=r.isJSDocComment=r.isComment=r.isComma=r.getLastModifier=r.hasModifier=r.isESTreeClassMember=r.getTextForTokenKind=r.isLogicalOperator=r.isAssignmentOperator=void 0;const s=o(Go),c=a(Eo),u=c.SyntaxKind,l=[u.BarBarToken,u.AmpersandAmpersandToken,u.QuestionQuestionToken];function d(e){return e.kind>=u.FirstAssignment&&e.kind<=u.LastAssignment}function _(e){return l.includes(e.kind)}function p(e){return e.kind===u.SingleLineCommentTrivia||e.kind===u.MultiLineCommentTrivia}function f(e){return e.kind===u.JSDocComment}function g(e,t){const r=t.getLineAndCharacterOfPosition(e);return{line:r.line+1,column:r.character}}function m(e,t,r){return{start:g(e,r),end:g(t,r)}}function y(e){return e.kind>=u.FirstToken&&e.kind<=u.LastToken}function v(e){return e.kind>=u.JsxElement&&e.kind<=u.JsxAttribute}function h(e,t){for(;e;){if(t(e))return e;e=e.parent}}function D(e){return!!h(e,v)}function x(e){return e.type===ns.AST_NODE_TYPES.ChainExpression}function b(e){if(\"originalKeywordKind\"in e&&e.originalKeywordKind)return e.originalKeywordKind===u.NullKeyword?ns.AST_TOKEN_TYPES.Null:e.originalKeywordKind>=u.FirstFutureReservedWord&&e.originalKeywordKind<=u.LastKeyword?ns.AST_TOKEN_TYPES.Identifier:ns.AST_TOKEN_TYPES.Keyword;if(e.kind>=u.FirstKeyword&&e.kind<=u.LastFutureReservedWord)return e.kind===u.FalseKeyword||e.kind===u.TrueKeyword?ns.AST_TOKEN_TYPES.Boolean:ns.AST_TOKEN_TYPES.Keyword;if(e.kind>=u.FirstPunctuation&&e.kind<=u.LastBinaryOperator)return ns.AST_TOKEN_TYPES.Punctuator;if(e.kind>=u.NoSubstitutionTemplateLiteral&&e.kind<=u.TemplateTail)return ns.AST_TOKEN_TYPES.Template;switch(e.kind){case u.NumericLiteral:return ns.AST_TOKEN_TYPES.Numeric;case u.JsxText:return ns.AST_TOKEN_TYPES.JSXText;case u.StringLiteral:return!e.parent||e.parent.kind!==u.JsxAttribute&&e.parent.kind!==u.JsxElement?ns.AST_TOKEN_TYPES.String:ns.AST_TOKEN_TYPES.JSXText;case u.RegularExpressionLiteral:return ns.AST_TOKEN_TYPES.RegularExpression;case u.Identifier:case u.ConstructorKeyword:case u.GetKeyword:case u.SetKeyword:}if(e.parent&&e.kind===u.Identifier){if(v(e.parent))return ns.AST_TOKEN_TYPES.JSXIdentifier;if(e.parent.kind===u.PropertyAccessExpression&&D(e))return ns.AST_TOKEN_TYPES.JSXIdentifier}return ns.AST_TOKEN_TYPES.Identifier}function S(e,t){const r=e.kind===u.JsxText?e.getFullStart():e.getStart(t),n=e.getEnd(),i=t.text.slice(r,n),a=b(e);return a===ns.AST_TOKEN_TYPES.RegularExpression?{type:a,value:i,range:[r,n],loc:m(r,n,t),regex:{pattern:i.slice(1,i.lastIndexOf(\"/\")),flags:i.slice(i.lastIndexOf(\"/\")+1)}}:{type:a,value:i,range:[r,n],loc:m(r,n,t)}}function E(e,t){return e.kind===u.EndOfFileToken?!!e.jsDoc:0!==e.getWidth(t)}function T(e,t){if(void 0!==e)for(let r=0;rt.kind===e))},r.getLastModifier=function(e){return!!e.modifiers&&!!e.modifiers.length&&e.modifiers[e.modifiers.length-1]||null},r.isComma=function(e){return e.kind===u.CommaToken},r.isComment=p,r.isJSDocComment=f,r.getBinaryExpressionType=function(e){return d(e)?ns.AST_NODE_TYPES.AssignmentExpression:_(e)?ns.AST_NODE_TYPES.LogicalExpression:ns.AST_NODE_TYPES.BinaryExpression},r.getLineAndCharacterFor=g,r.getLocFor=m,r.canContainDirective=function(e){if(e.kind===c.SyntaxKind.Block)switch(e.parent.kind){case c.SyntaxKind.Constructor:case c.SyntaxKind.GetAccessor:case c.SyntaxKind.SetAccessor:case c.SyntaxKind.ArrowFunction:case c.SyntaxKind.FunctionExpression:case c.SyntaxKind.FunctionDeclaration:case c.SyntaxKind.MethodDeclaration:return!0;default:return!1}return!0},r.getRange=function(e,t){return[e.getStart(t),e.getEnd()]},r.isToken=y,r.isJSXToken=v,r.getDeclarationKind=function(e){return e.flags&c.NodeFlags.Let?\"let\":e.flags&c.NodeFlags.Const?\"const\":\"var\"},r.getTSNodeAccessibility=function(e){const t=e.modifiers;if(!t)return null;for(let e=0;e(n.pos<=e.pos&&n.end>e.end||n.pos===e.end)&&E(n,r)?t(n):void 0))}(t)},r.findFirstMatchingAncestor=h,r.hasJSXAncestor=D,r.unescapeStringLiteralText=function(e){return s.default(e)},r.isComputedProperty=function(e){return e.kind===u.ComputedPropertyName},r.isOptional=function(e){return!!e.questionToken&&e.questionToken.kind===u.QuestionToken},r.isChainExpression=x,r.isChildUnwrappableOptionalChain=function(e,t){return!(!x(t)||e.expression.kind===c.SyntaxKind.ParenthesizedExpression)},r.getTokenType=b,r.convertToken=S,r.convertTokens=function(e){const t=[];return function r(n){if(!p(n)&&!f(n))if(y(n)&&n.kind!==u.EndOfFileToken){const r=S(n,e);r&&t.push(r)}else n.getChildren(e).forEach(r)}(e),t},r.createError=function(e,t,r){const n=e.getLineAndCharacterOfPosition(t);return{index:t,lineNumber:n.line+1,column:n.character,message:r}},r.nodeHasTokens=E,r.firstDefined=T})),as=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,\"__esModule\",{value:!0}),r.typescriptVersionIsAtLeast=void 0;const o=a(Pi),s=a(Eo);function c(e){return o.satisfies(s.version,\">= \".concat(e,\".0 || >= \").concat(e,\".1-rc || >= \").concat(e,\".0-beta\"),{includePrerelease:!0})}const u=[\"3.7\",\"3.8\",\"3.9\",\"4.0\"],l={};r.typescriptVersionIsAtLeast=l;for(const e of u)l[e]=c(e)})),os=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,\"__esModule\",{value:!0}),r.Converter=r.convertError=void 0;const o=a(Eo),s=o.SyntaxKind;r.convertError=function(e){return is.createError(e.file,e.start,e.message||e.messageText)};r.Converter=class{constructor(e,t){this.esTreeNodeToTSNodeMap=new WeakMap,this.tsNodeToESTreeNodeMap=new WeakMap,this.allowPattern=!1,this.inTypeMode=!1,this.ast=e,this.options=Object.assign({},t)}getASTMaps(){return{esTreeNodeToTSNodeMap:this.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:this.tsNodeToESTreeNodeMap}}convertProgram(){return this.converter(this.ast)}converter(e,t,r,n){if(!e)return null;const i=this.inTypeMode,a=this.allowPattern;void 0!==r&&(this.inTypeMode=r),void 0!==n&&(this.allowPattern=n);const o=this.convertNode(e,null!=t?t:e.parent);return this.registerTSNodeInNodeMap(e,o),this.inTypeMode=i,this.allowPattern=a,o}fixExports(e,t){if(e.modifiers&&e.modifiers[0].kind===s.ExportKeyword){this.registerTSNodeInNodeMap(e,t);const r=e.modifiers[0],n=e.modifiers[1],i=n&&n.kind===s.DefaultKeyword,a=i?is.findNextToken(n,this.ast,this.ast):is.findNextToken(r,this.ast,this.ast);if(t.range[0]=a.getStart(this.ast),t.loc=is.getLocFor(t.range[0],t.range[1],this.ast),i)return this.createNode(e,{type:ns.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:t,range:[r.getStart(this.ast),t.range[1]],exportKind:\"value\"});{const n=t.type===ns.AST_NODE_TYPES.TSInterfaceDeclaration||t.type===ns.AST_NODE_TYPES.TSTypeAliasDeclaration,i=!0===t.declare;return this.createNode(e,{type:ns.AST_NODE_TYPES.ExportNamedDeclaration,declaration:t,specifiers:[],source:null,exportKind:n||i?\"type\":\"value\",range:[r.getStart(this.ast),t.range[1]]})}}return t}registerTSNodeInNodeMap(e,t){t&&this.options.shouldPreserveNodeMaps&&(this.tsNodeToESTreeNodeMap.has(e)||this.tsNodeToESTreeNodeMap.set(e,t))}convertPattern(e,t){return this.converter(e,t,this.inTypeMode,!0)}convertChild(e,t){return this.converter(e,t,this.inTypeMode,!1)}convertType(e,t){return this.converter(e,t,!0,!1)}createNode(e,t){const r=t;return r.range||(r.range=is.getRange(e,this.ast)),r.loc||(r.loc=is.getLocFor(r.range[0],r.range[1],this.ast)),r&&this.options.shouldPreserveNodeMaps&&this.esTreeNodeToTSNodeMap.set(r,e),r}convertBindingNameWithTypeAnnotation(e,t,r){const n=this.convertPattern(e);return t&&(n.typeAnnotation=this.convertTypeAnnotation(t,r),this.fixParentLocation(n,n.typeAnnotation.range)),n}convertTypeAnnotation(e,t){const r=(null==t?void 0:t.kind)===s.FunctionType||(null==t?void 0:t.kind)===s.ConstructorType?2:1,n=e.getFullStart()-r,i=is.getLocFor(n,e.end,this.ast);return{type:ns.AST_NODE_TYPES.TSTypeAnnotation,loc:i,range:[n,e.end],typeAnnotation:this.convertType(e)}}convertBodyExpressions(e,t){let r=is.canContainDirective(t);return e.map((e=>{const t=this.convertChild(e);if(r){if((null==t?void 0:t.expression)&&o.isExpressionStatement(e)&&o.isStringLiteral(e.expression)){const e=t.expression.raw;return t.directive=e.slice(1,-1),t}r=!1}return t})).filter((e=>e))}convertTypeArgumentsToTypeParameters(e,t){const r=is.findNextToken(e,this.ast,this.ast);return this.createNode(t,{type:ns.AST_NODE_TYPES.TSTypeParameterInstantiation,range:[e.pos-1,r.end],params:e.map((e=>this.convertType(e)))})}convertTSTypeParametersToTypeParametersDeclaration(e){const t=is.findNextToken(e,this.ast,this.ast);return{type:ns.AST_NODE_TYPES.TSTypeParameterDeclaration,range:[e.pos-1,t.end],loc:is.getLocFor(e.pos-1,t.end,this.ast),params:e.map((e=>this.convertType(e)))}}convertParameters(e){return e&&e.length?e.map((e=>{var t;const r=this.convertChild(e);return(null===(t=e.decorators)||void 0===t?void 0:t.length)&&(r.decorators=e.decorators.map((e=>this.convertChild(e)))),r})):[]}convertChainExpression(e,t){const{child:r,isOptional:n}=e.type===ns.AST_NODE_TYPES.MemberExpression?{child:e.object,isOptional:e.optional}:e.type===ns.AST_NODE_TYPES.CallExpression?{child:e.callee,isOptional:e.optional}:{child:e.expression,isOptional:!1},i=is.isChildUnwrappableOptionalChain(t,r);if(!i&&!n)return e;if(i&&is.isChainExpression(r)){const t=r.expression;e.type===ns.AST_NODE_TYPES.MemberExpression?e.object=t:e.type===ns.AST_NODE_TYPES.CallExpression?e.callee=t:e.expression=t}return this.createNode(t,{type:ns.AST_NODE_TYPES.ChainExpression,expression:e})}deeplyCopy(e){if(e.kind===o.SyntaxKind.JSDocFunctionType)throw is.createError(this.ast,e.pos,\"JSDoc types can only be used inside documentation comments.\");const t=\"TS\".concat(s[e.kind]);if(this.options.errorOnUnknownASTType&&!ns.AST_NODE_TYPES[t])throw new Error('Unknown AST_NODE_TYPE: \"'.concat(t,'\"'));const r=this.createNode(e,{type:t});return\"type\"in e&&(r.typeAnnotation=e.type&&\"kind\"in e.type&&o.isTypeNode(e.type)?this.convertTypeAnnotation(e.type,e):null),\"typeArguments\"in e&&(r.typeParameters=e.typeArguments&&\"pos\"in e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):null),\"typeParameters\"in e&&(r.typeParameters=e.typeParameters&&\"pos\"in e.typeParameters?this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters):null),\"decorators\"in e&&e.decorators&&e.decorators.length&&(r.decorators=e.decorators.map((e=>this.convertChild(e)))),Object.entries(e).filter((([e])=>!/^(?:_children|kind|parent|pos|end|flags|modifierFlagsCache|jsDoc|type|typeArguments|typeParameters|decorators)$/.test(e))).forEach((([e,t])=>{Array.isArray(t)?r[e]=t.map((e=>this.convertChild(e))):t&&\"object\"==typeof t&&t.kind?r[e]=this.convertChild(t):r[e]=t})),r}convertJSXTagName(e,t){let r;switch(e.kind){case s.PropertyAccessExpression:if(e.name.kind===s.PrivateIdentifier)throw new Error(\"Non-private identifier expected.\");r=this.createNode(e,{type:ns.AST_NODE_TYPES.JSXMemberExpression,object:this.convertJSXTagName(e.expression,t),property:this.convertJSXTagName(e.name,t)});break;case s.ThisKeyword:r=this.createNode(e,{type:ns.AST_NODE_TYPES.JSXIdentifier,name:\"this\"});break;case s.Identifier:default:r=this.createNode(e,{type:ns.AST_NODE_TYPES.JSXIdentifier,name:e.text})}return this.registerTSNodeInNodeMap(e,r),r}applyModifiersToResult(e,t){if(!t||!t.length)return;const r={};for(let n=0;n!r[t]));n&&n.length&&(e.modifiers=n.map((e=>this.convertChild(e))))}fixParentLocation(e,t){t[0]e.range[1]&&(e.range[1]=t[1],e.loc.end=is.getLineAndCharacterFor(e.range[1],this.ast))}convertNode(e,t){var r,n,i,a,c,u,l,d,_,p;switch(e.kind){case s.SourceFile:return this.createNode(e,{type:ns.AST_NODE_TYPES.Program,body:this.convertBodyExpressions(e.statements,e),sourceType:e.externalModuleIndicator?\"module\":\"script\",range:[e.getStart(this.ast),e.endOfFileToken.end]});case s.Block:return this.createNode(e,{type:ns.AST_NODE_TYPES.BlockStatement,body:this.convertBodyExpressions(e.statements,e)});case s.Identifier:return this.createNode(e,{type:ns.AST_NODE_TYPES.Identifier,name:e.text});case s.WithStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.WithStatement,object:this.convertChild(e.expression),body:this.convertChild(e.statement)});case s.ReturnStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.ReturnStatement,argument:this.convertChild(e.expression)});case s.LabeledStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.LabeledStatement,label:this.convertChild(e.label),body:this.convertChild(e.statement)});case s.ContinueStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.ContinueStatement,label:this.convertChild(e.label)});case s.BreakStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.BreakStatement,label:this.convertChild(e.label)});case s.IfStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.IfStatement,test:this.convertChild(e.expression),consequent:this.convertChild(e.thenStatement),alternate:this.convertChild(e.elseStatement)});case s.SwitchStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.SwitchStatement,discriminant:this.convertChild(e.expression),cases:e.caseBlock.clauses.map((e=>this.convertChild(e)))});case s.CaseClause:case s.DefaultClause:return this.createNode(e,{type:ns.AST_NODE_TYPES.SwitchCase,test:e.kind===s.CaseClause?this.convertChild(e.expression):null,consequent:e.statements.map((e=>this.convertChild(e)))});case s.ThrowStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.ThrowStatement,argument:this.convertChild(e.expression)});case s.TryStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.TryStatement,block:this.convertChild(e.tryBlock),handler:this.convertChild(e.catchClause),finalizer:this.convertChild(e.finallyBlock)});case s.CatchClause:return this.createNode(e,{type:ns.AST_NODE_TYPES.CatchClause,param:e.variableDeclaration?this.convertBindingNameWithTypeAnnotation(e.variableDeclaration.name,e.variableDeclaration.type):null,body:this.convertChild(e.block)});case s.WhileStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.WhileStatement,test:this.convertChild(e.expression),body:this.convertChild(e.statement)});case s.DoStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.DoWhileStatement,test:this.convertChild(e.expression),body:this.convertChild(e.statement)});case s.ForStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.ForStatement,init:this.convertChild(e.initializer),test:this.convertChild(e.condition),update:this.convertChild(e.incrementor),body:this.convertChild(e.statement)});case s.ForInStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.ForInStatement,left:this.convertPattern(e.initializer),right:this.convertChild(e.expression),body:this.convertChild(e.statement)});case s.ForOfStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.ForOfStatement,left:this.convertPattern(e.initializer),right:this.convertChild(e.expression),body:this.convertChild(e.statement),await:Boolean(e.awaitModifier&&e.awaitModifier.kind===s.AwaitKeyword)});case s.FunctionDeclaration:{const t=is.hasModifier(s.DeclareKeyword,e),r=this.createNode(e,{type:t||!e.body?ns.AST_NODE_TYPES.TSDeclareFunction:ns.AST_NODE_TYPES.FunctionDeclaration,id:this.convertChild(e.name),generator:!!e.asteriskToken,expression:!1,async:is.hasModifier(s.AsyncKeyword,e),params:this.convertParameters(e.parameters),body:this.convertChild(e.body)||void 0});return e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),t&&(r.declare=!0),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),this.fixExports(e,r)}case s.VariableDeclaration:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.VariableDeclarator,id:this.convertBindingNameWithTypeAnnotation(e.name,e.type,e),init:this.convertChild(e.initializer)});return e.exclamationToken&&(t.definite=!0),t}case s.VariableStatement:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.VariableDeclaration,declarations:e.declarationList.declarations.map((e=>this.convertChild(e))),kind:is.getDeclarationKind(e.declarationList)});return e.decorators&&(t.decorators=e.decorators.map((e=>this.convertChild(e)))),is.hasModifier(s.DeclareKeyword,e)&&(t.declare=!0),this.fixExports(e,t)}case s.VariableDeclarationList:return this.createNode(e,{type:ns.AST_NODE_TYPES.VariableDeclaration,declarations:e.declarations.map((e=>this.convertChild(e))),kind:is.getDeclarationKind(e)});case s.ExpressionStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.ExpressionStatement,expression:this.convertChild(e.expression)});case s.ThisKeyword:return this.createNode(e,{type:ns.AST_NODE_TYPES.ThisExpression});case s.ArrayLiteralExpression:return this.allowPattern?this.createNode(e,{type:ns.AST_NODE_TYPES.ArrayPattern,elements:e.elements.map((e=>this.convertPattern(e)))}):this.createNode(e,{type:ns.AST_NODE_TYPES.ArrayExpression,elements:e.elements.map((e=>this.convertChild(e)))});case s.ObjectLiteralExpression:return this.allowPattern?this.createNode(e,{type:ns.AST_NODE_TYPES.ObjectPattern,properties:e.properties.map((e=>this.convertPattern(e)))}):this.createNode(e,{type:ns.AST_NODE_TYPES.ObjectExpression,properties:e.properties.map((e=>this.convertChild(e)))});case s.PropertyAssignment:return this.createNode(e,{type:ns.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.converter(e.initializer,e,this.inTypeMode,this.allowPattern),computed:is.isComputedProperty(e.name),method:!1,shorthand:!1,kind:\"init\"});case s.ShorthandPropertyAssignment:return e.objectAssignmentInitializer?this.createNode(e,{type:ns.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.createNode(e,{type:ns.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(e.name),right:this.convertChild(e.objectAssignmentInitializer)}),computed:!1,method:!1,shorthand:!0,kind:\"init\"}):this.createNode(e,{type:ns.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.convertChild(e.name),computed:!1,method:!1,shorthand:!0,kind:\"init\"});case s.ComputedPropertyName:return this.convertChild(e.expression);case s.PropertyDeclaration:{const t=is.hasModifier(s.AbstractKeyword,e),r=this.createNode(e,{type:t?ns.AST_NODE_TYPES.TSAbstractClassProperty:ns.AST_NODE_TYPES.ClassProperty,key:this.convertChild(e.name),value:this.convertChild(e.initializer),computed:is.isComputedProperty(e.name),static:is.hasModifier(s.StaticKeyword,e),readonly:is.hasModifier(s.ReadonlyKeyword,e)||void 0,declare:is.hasModifier(s.DeclareKeyword,e)});e.type&&(r.typeAnnotation=this.convertTypeAnnotation(e.type,e)),e.decorators&&(r.decorators=e.decorators.map((e=>this.convertChild(e))));const n=is.getTSNodeAccessibility(e);return n&&(r.accessibility=n),e.name.kind!==s.Identifier&&e.name.kind!==s.ComputedPropertyName||!e.questionToken||(r.optional=!0),e.exclamationToken&&(r.definite=!0),r.key.type===ns.AST_NODE_TYPES.Literal&&e.questionToken&&(r.optional=!0),r}case s.GetAccessor:case s.SetAccessor:case s.MethodDeclaration:{const r=this.createNode(e,{type:e.body?ns.AST_NODE_TYPES.FunctionExpression:ns.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,generator:!!e.asteriskToken,expression:!1,async:is.hasModifier(s.AsyncKeyword,e),body:this.convertChild(e.body),range:[e.parameters.pos-1,e.end],params:[]});let n;if(e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters),this.fixParentLocation(r,r.typeParameters.range)),t.kind===s.ObjectLiteralExpression)r.params=e.parameters.map((e=>this.convertChild(e))),n=this.createNode(e,{type:ns.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:r,computed:is.isComputedProperty(e.name),method:e.kind===s.MethodDeclaration,shorthand:!1,kind:\"init\"});else{r.params=this.convertParameters(e.parameters);const t=is.hasModifier(s.AbstractKeyword,e)?ns.AST_NODE_TYPES.TSAbstractMethodDefinition:ns.AST_NODE_TYPES.MethodDefinition;n=this.createNode(e,{type:t,key:this.convertChild(e.name),value:r,computed:is.isComputedProperty(e.name),static:is.hasModifier(s.StaticKeyword,e),kind:\"method\"}),e.decorators&&(n.decorators=e.decorators.map((e=>this.convertChild(e))));const i=is.getTSNodeAccessibility(e);i&&(n.accessibility=i)}return e.questionToken&&(n.optional=!0),e.kind===s.GetAccessor?n.kind=\"get\":e.kind===s.SetAccessor?n.kind=\"set\":n.static||e.name.kind!==s.StringLiteral||\"constructor\"!==e.name.text||n.type===ns.AST_NODE_TYPES.Property||(n.kind=\"constructor\"),n}case s.Constructor:{const t=is.getLastModifier(e),r=t&&is.findNextToken(t,e,this.ast)||e.getFirstToken(),n=this.createNode(e,{type:e.body?ns.AST_NODE_TYPES.FunctionExpression:ns.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,params:this.convertParameters(e.parameters),generator:!1,expression:!1,async:!1,body:this.convertChild(e.body),range:[e.parameters.pos-1,e.end]});e.typeParameters&&(n.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters),this.fixParentLocation(n,n.typeParameters.range)),e.type&&(n.returnType=this.convertTypeAnnotation(e.type,e));const i=this.createNode(e,{type:ns.AST_NODE_TYPES.Identifier,name:\"constructor\",range:[r.getStart(this.ast),r.end]}),a=is.hasModifier(s.StaticKeyword,e),o=this.createNode(e,{type:is.hasModifier(s.AbstractKeyword,e)?ns.AST_NODE_TYPES.TSAbstractMethodDefinition:ns.AST_NODE_TYPES.MethodDefinition,key:i,value:n,computed:!1,static:a,kind:a?\"method\":\"constructor\"}),c=is.getTSNodeAccessibility(e);return c&&(o.accessibility=c),o}case s.FunctionExpression:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.FunctionExpression,id:this.convertChild(e.name),generator:!!e.asteriskToken,params:this.convertParameters(e.parameters),body:this.convertChild(e.body),async:is.hasModifier(s.AsyncKeyword,e),expression:!1});return e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t}case s.SuperKeyword:return this.createNode(e,{type:ns.AST_NODE_TYPES.Super});case s.ArrayBindingPattern:return this.createNode(e,{type:ns.AST_NODE_TYPES.ArrayPattern,elements:e.elements.map((e=>this.convertPattern(e)))});case s.OmittedExpression:return null;case s.ObjectBindingPattern:return this.createNode(e,{type:ns.AST_NODE_TYPES.ObjectPattern,properties:e.elements.map((e=>this.convertPattern(e)))});case s.BindingElement:if(t.kind===s.ArrayBindingPattern){const r=this.convertChild(e.name,t);return e.initializer?this.createNode(e,{type:ns.AST_NODE_TYPES.AssignmentPattern,left:r,right:this.convertChild(e.initializer)}):e.dotDotDotToken?this.createNode(e,{type:ns.AST_NODE_TYPES.RestElement,argument:r}):r}{let t;return t=e.dotDotDotToken?this.createNode(e,{type:ns.AST_NODE_TYPES.RestElement,argument:this.convertChild(null!==(r=e.propertyName)&&void 0!==r?r:e.name)}):this.createNode(e,{type:ns.AST_NODE_TYPES.Property,key:this.convertChild(null!==(n=e.propertyName)&&void 0!==n?n:e.name),value:this.convertChild(e.name),computed:Boolean(e.propertyName&&e.propertyName.kind===s.ComputedPropertyName),method:!1,shorthand:!e.propertyName,kind:\"init\"}),e.initializer&&(t.value=this.createNode(e,{type:ns.AST_NODE_TYPES.AssignmentPattern,left:this.convertChild(e.name),right:this.convertChild(e.initializer),range:[e.name.getStart(this.ast),e.initializer.end]})),t}case s.ArrowFunction:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.ArrowFunctionExpression,generator:!1,id:null,params:this.convertParameters(e.parameters),body:this.convertChild(e.body),async:is.hasModifier(s.AsyncKeyword,e),expression:e.body.kind!==s.Block});return e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t}case s.YieldExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.YieldExpression,delegate:!!e.asteriskToken,argument:this.convertChild(e.expression)});case s.AwaitExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.AwaitExpression,argument:this.convertChild(e.expression)});case s.NoSubstitutionTemplateLiteral:return this.createNode(e,{type:ns.AST_NODE_TYPES.TemplateLiteral,quasis:[this.createNode(e,{type:ns.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(e.getStart(this.ast)+1,e.end-1),cooked:e.text},tail:!0})],expressions:[]});case s.TemplateExpression:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TemplateLiteral,quasis:[this.convertChild(e.head)],expressions:[]});return e.templateSpans.forEach((e=>{t.expressions.push(this.convertChild(e.expression)),t.quasis.push(this.convertChild(e.literal))})),t}case s.TaggedTemplateExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.TaggedTemplateExpression,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,tag:this.convertChild(e.tag),quasi:this.convertChild(e.template)});case s.TemplateHead:case s.TemplateMiddle:case s.TemplateTail:{const t=e.kind===s.TemplateTail;return this.createNode(e,{type:ns.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(e.getStart(this.ast)+1,e.end-(t?1:2)),cooked:e.text},tail:t})}case s.SpreadAssignment:case s.SpreadElement:return this.allowPattern?this.createNode(e,{type:ns.AST_NODE_TYPES.RestElement,argument:this.convertPattern(e.expression)}):this.createNode(e,{type:ns.AST_NODE_TYPES.SpreadElement,argument:this.convertChild(e.expression)});case s.Parameter:{let r,n;return e.dotDotDotToken?r=n=this.createNode(e,{type:ns.AST_NODE_TYPES.RestElement,argument:this.convertChild(e.name)}):e.initializer?(r=this.convertChild(e.name),n=this.createNode(e,{type:ns.AST_NODE_TYPES.AssignmentPattern,left:r,right:this.convertChild(e.initializer)}),e.modifiers&&(n.range[0]=r.range[0],n.loc=is.getLocFor(n.range[0],n.range[1],this.ast))):r=n=this.convertChild(e.name,t),e.type&&(r.typeAnnotation=this.convertTypeAnnotation(e.type,e),this.fixParentLocation(r,r.typeAnnotation.range)),e.questionToken&&(e.questionToken.end>r.range[1]&&(r.range[1]=e.questionToken.end,r.loc.end=is.getLineAndCharacterFor(r.range[1],this.ast)),r.optional=!0),e.modifiers?this.createNode(e,{type:ns.AST_NODE_TYPES.TSParameterProperty,accessibility:null!==(i=is.getTSNodeAccessibility(e))&&void 0!==i?i:void 0,readonly:is.hasModifier(s.ReadonlyKeyword,e)||void 0,static:is.hasModifier(s.StaticKeyword,e)||void 0,export:is.hasModifier(s.ExportKeyword,e)||void 0,parameter:n}):n}case s.ClassDeclaration:case s.ClassExpression:{const t=null!==(a=e.heritageClauses)&&void 0!==a?a:[],r=e.kind===s.ClassDeclaration?ns.AST_NODE_TYPES.ClassDeclaration:ns.AST_NODE_TYPES.ClassExpression,n=t.find((e=>e.token===s.ExtendsKeyword)),i=t.find((e=>e.token===s.ImplementsKeyword)),o=this.createNode(e,{type:r,id:this.convertChild(e.name),body:this.createNode(e,{type:ns.AST_NODE_TYPES.ClassBody,body:[],range:[e.members.pos-1,e.end]}),superClass:(null==n?void 0:n.types[0])?this.convertChild(n.types[0].expression):null});if(n){if(n.types.length>1)throw is.createError(this.ast,n.types[1].pos,\"Classes can only extend a single class.\");(null===(c=n.types[0])||void 0===c?void 0:c.typeArguments)&&(o.superTypeParameters=this.convertTypeArgumentsToTypeParameters(n.types[0].typeArguments,n.types[0]))}e.typeParameters&&(o.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),i&&(o.implements=i.types.map((e=>this.convertChild(e)))),is.hasModifier(s.AbstractKeyword,e)&&(o.abstract=!0),is.hasModifier(s.DeclareKeyword,e)&&(o.declare=!0),e.decorators&&(o.decorators=e.decorators.map((e=>this.convertChild(e))));const u=e.members.filter(is.isESTreeClassMember);return u.length&&(o.body.body=u.map((e=>this.convertChild(e)))),this.fixExports(e,o)}case s.ModuleBlock:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSModuleBlock,body:this.convertBodyExpressions(e.statements,e)});case s.ImportDeclaration:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.ImportDeclaration,source:this.convertChild(e.moduleSpecifier),specifiers:[],importKind:\"value\"});if(e.importClause&&(e.importClause.isTypeOnly&&(t.importKind=\"type\"),e.importClause.name&&t.specifiers.push(this.convertChild(e.importClause)),e.importClause.namedBindings))switch(e.importClause.namedBindings.kind){case s.NamespaceImport:t.specifiers.push(this.convertChild(e.importClause.namedBindings));break;case s.NamedImports:t.specifiers=t.specifiers.concat(e.importClause.namedBindings.elements.map((e=>this.convertChild(e))))}return t}case s.NamespaceImport:return this.createNode(e,{type:ns.AST_NODE_TYPES.ImportNamespaceSpecifier,local:this.convertChild(e.name)});case s.ImportSpecifier:return this.createNode(e,{type:ns.AST_NODE_TYPES.ImportSpecifier,local:this.convertChild(e.name),imported:this.convertChild(null!==(u=e.propertyName)&&void 0!==u?u:e.name)});case s.ImportClause:{const t=this.convertChild(e.name);return this.createNode(e,{type:ns.AST_NODE_TYPES.ImportDefaultSpecifier,local:t,range:t.range})}case s.ExportDeclaration:return(null===(l=e.exportClause)||void 0===l?void 0:l.kind)===s.NamedExports?this.createNode(e,{type:ns.AST_NODE_TYPES.ExportNamedDeclaration,source:this.convertChild(e.moduleSpecifier),specifiers:e.exportClause.elements.map((e=>this.convertChild(e))),exportKind:e.isTypeOnly?\"type\":\"value\",declaration:null}):this.createNode(e,{type:ns.AST_NODE_TYPES.ExportAllDeclaration,source:this.convertChild(e.moduleSpecifier),exportKind:e.isTypeOnly?\"type\":\"value\",exported:e.exportClause&&e.exportClause.kind===s.NamespaceExport?this.convertChild(e.exportClause.name):null});case s.ExportSpecifier:return this.createNode(e,{type:ns.AST_NODE_TYPES.ExportSpecifier,local:this.convertChild(null!==(d=e.propertyName)&&void 0!==d?d:e.name),exported:this.convertChild(e.name)});case s.ExportAssignment:return e.isExportEquals?this.createNode(e,{type:ns.AST_NODE_TYPES.TSExportAssignment,expression:this.convertChild(e.expression)}):this.createNode(e,{type:ns.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:this.convertChild(e.expression),exportKind:\"value\"});case s.PrefixUnaryExpression:case s.PostfixUnaryExpression:{const t=is.getTextForTokenKind(e.operator);return\"++\"===t||\"--\"===t?this.createNode(e,{type:ns.AST_NODE_TYPES.UpdateExpression,operator:t,prefix:e.kind===s.PrefixUnaryExpression,argument:this.convertChild(e.operand)}):this.createNode(e,{type:ns.AST_NODE_TYPES.UnaryExpression,operator:t,prefix:e.kind===s.PrefixUnaryExpression,argument:this.convertChild(e.operand)})}case s.DeleteExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.UnaryExpression,operator:\"delete\",prefix:!0,argument:this.convertChild(e.expression)});case s.VoidExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.UnaryExpression,operator:\"void\",prefix:!0,argument:this.convertChild(e.expression)});case s.TypeOfExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.UnaryExpression,operator:\"typeof\",prefix:!0,argument:this.convertChild(e.expression)});case s.TypeOperator:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypeOperator,operator:is.getTextForTokenKind(e.operator),typeAnnotation:this.convertChild(e.type)});case s.BinaryExpression:if(is.isComma(e.operatorToken)){const t=this.createNode(e,{type:ns.AST_NODE_TYPES.SequenceExpression,expressions:[]}),r=this.convertChild(e.left);return r.type===ns.AST_NODE_TYPES.SequenceExpression&&e.left.kind!==s.ParenthesizedExpression?t.expressions=t.expressions.concat(r.expressions):t.expressions.push(r),t.expressions.push(this.convertChild(e.right)),t}{const t=is.getBinaryExpressionType(e.operatorToken);return this.allowPattern&&t===ns.AST_NODE_TYPES.AssignmentExpression?this.createNode(e,{type:ns.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(e.left,e),right:this.convertChild(e.right)}):this.createNode(e,{type:t,operator:is.getTextForTokenKind(e.operatorToken.kind),left:this.converter(e.left,e,this.inTypeMode,t===ns.AST_NODE_TYPES.AssignmentExpression),right:this.convertChild(e.right)})}case s.PropertyAccessExpression:{const t=this.convertChild(e.expression),r=this.convertChild(e.name),n=!1,i=this.createNode(e,{type:ns.AST_NODE_TYPES.MemberExpression,object:t,property:r,computed:n,optional:void 0!==e.questionDotToken});return this.convertChainExpression(i,e)}case s.ElementAccessExpression:{const t=this.convertChild(e.expression),r=this.convertChild(e.argumentExpression),n=!0,i=this.createNode(e,{type:ns.AST_NODE_TYPES.MemberExpression,object:t,property:r,computed:n,optional:void 0!==e.questionDotToken});return this.convertChainExpression(i,e)}case s.CallExpression:{if(e.expression.kind===s.ImportKeyword){if(1!==e.arguments.length)throw is.createError(this.ast,e.arguments.pos,\"Dynamic import must have one specifier as an argument.\");return this.createNode(e,{type:ns.AST_NODE_TYPES.ImportExpression,source:this.convertChild(e.arguments[0])})}const t=this.convertChild(e.expression),r=e.arguments.map((e=>this.convertChild(e))),n=this.createNode(e,{type:ns.AST_NODE_TYPES.CallExpression,callee:t,arguments:r,optional:void 0!==e.questionDotToken});return e.typeArguments&&(n.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),this.convertChainExpression(n,e)}case s.NewExpression:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.NewExpression,callee:this.convertChild(e.expression),arguments:e.arguments?e.arguments.map((e=>this.convertChild(e))):[]});return e.typeArguments&&(t.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),t}case s.ConditionalExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.ConditionalExpression,test:this.convertChild(e.condition),consequent:this.convertChild(e.whenTrue),alternate:this.convertChild(e.whenFalse)});case s.MetaProperty:return this.createNode(e,{type:ns.AST_NODE_TYPES.MetaProperty,meta:this.createNode(e.getFirstToken(),{type:ns.AST_NODE_TYPES.Identifier,name:is.getTextForTokenKind(e.keywordToken)}),property:this.convertChild(e.name)});case s.Decorator:return this.createNode(e,{type:ns.AST_NODE_TYPES.Decorator,expression:this.convertChild(e.expression)});case s.StringLiteral:{const r=this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,raw:\"\",value:\"\"});return r.raw=this.ast.text.slice(r.range[0],r.range[1]),\"name\"in t&&t.name===e?r.value=e.text:r.value=is.unescapeStringLiteralText(e.text),r}case s.NumericLiteral:return this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,value:Number(e.text),raw:e.getText()});case s.BigIntLiteral:{const t=is.getRange(e,this.ast),r=this.ast.text.slice(t[0],t[1]),n=r.slice(0,-1).replace(/_/g,\"\"),i=\"undefined\"!=typeof BigInt?BigInt(n):null;return this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,raw:r,value:i,bigint:null===i?n:String(i),range:t})}case s.RegularExpressionLiteral:{const t=e.text.slice(1,e.text.lastIndexOf(\"/\")),r=e.text.slice(e.text.lastIndexOf(\"/\")+1);let n=null;try{n=new RegExp(t,r)}catch(e){n=null}return this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,value:n,raw:e.text,regex:{pattern:t,flags:r}})}case s.TrueKeyword:return this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,value:!0,raw:\"true\"});case s.FalseKeyword:return this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,value:!1,raw:\"false\"});case s.NullKeyword:return!as.typescriptVersionIsAtLeast[\"4.0\"]&&this.inTypeMode?this.createNode(e,{type:ns.AST_NODE_TYPES.TSNullKeyword}):this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,value:null,raw:\"null\"});case s.EmptyStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.EmptyStatement});case s.DebuggerStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.DebuggerStatement});case s.JsxElement:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXElement,openingElement:this.convertChild(e.openingElement),closingElement:this.convertChild(e.closingElement),children:e.children.map((e=>this.convertChild(e)))});case s.JsxFragment:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXFragment,openingFragment:this.convertChild(e.openingFragment),closingFragment:this.convertChild(e.closingFragment),children:e.children.map((e=>this.convertChild(e)))});case s.JsxSelfClosingElement:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXElement,openingElement:this.createNode(e,{type:ns.AST_NODE_TYPES.JSXOpeningElement,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,selfClosing:!0,name:this.convertJSXTagName(e.tagName,e),attributes:e.attributes.properties.map((e=>this.convertChild(e))),range:is.getRange(e,this.ast)}),closingElement:null,children:[]});case s.JsxOpeningElement:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXOpeningElement,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,selfClosing:!1,name:this.convertJSXTagName(e.tagName,e),attributes:e.attributes.properties.map((e=>this.convertChild(e)))});case s.JsxClosingElement:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXClosingElement,name:this.convertJSXTagName(e.tagName,e)});case s.JsxOpeningFragment:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXOpeningFragment});case s.JsxClosingFragment:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXClosingFragment});case s.JsxExpression:{const t=e.expression?this.convertChild(e.expression):this.createNode(e,{type:ns.AST_NODE_TYPES.JSXEmptyExpression,range:[e.getStart(this.ast)+1,e.getEnd()-1]});return e.dotDotDotToken?this.createNode(e,{type:ns.AST_NODE_TYPES.JSXSpreadChild,expression:t}):this.createNode(e,{type:ns.AST_NODE_TYPES.JSXExpressionContainer,expression:t})}case s.JsxAttribute:{const t=this.convertChild(e.name);return t.type=ns.AST_NODE_TYPES.JSXIdentifier,this.createNode(e,{type:ns.AST_NODE_TYPES.JSXAttribute,name:t,value:this.convertChild(e.initializer)})}case s.JsxText:{const t=e.getFullStart(),r=e.getEnd();return this.options.useJSXTextNode?this.createNode(e,{type:ns.AST_NODE_TYPES.JSXText,value:this.ast.text.slice(t,r),raw:this.ast.text.slice(t,r),range:[t,r]}):this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,value:this.ast.text.slice(t,r),raw:this.ast.text.slice(t,r),range:[t,r]})}case s.JsxSpreadAttribute:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXSpreadAttribute,argument:this.convertChild(e.expression)});case s.QualifiedName:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSQualifiedName,left:this.convertChild(e.left),right:this.convertChild(e.right)});case s.TypeReference:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypeReference,typeName:this.convertType(e.typeName),typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0});case s.TypeParameter:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypeParameter,name:this.convertType(e.name),constraint:e.constraint?this.convertType(e.constraint):void 0,default:e.default?this.convertType(e.default):void 0});case s.ThisType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSThisType});case s.AnyKeyword:case s.BigIntKeyword:case s.BooleanKeyword:case s.NeverKeyword:case s.NumberKeyword:case s.ObjectKeyword:case s.StringKeyword:case s.SymbolKeyword:case s.UnknownKeyword:case s.VoidKeyword:case s.UndefinedKeyword:return this.createNode(e,{type:ns.AST_NODE_TYPES[\"TS\".concat(s[e.kind])]});case s.NonNullExpression:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSNonNullExpression,expression:this.convertChild(e.expression)});return this.convertChainExpression(t,e)}case s.TypeLiteral:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypeLiteral,members:e.members.map((e=>this.convertChild(e)))});case s.ArrayType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSArrayType,elementType:this.convertType(e.elementType)});case s.IndexedAccessType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSIndexedAccessType,objectType:this.convertType(e.objectType),indexType:this.convertType(e.indexType)});case s.ConditionalType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSConditionalType,checkType:this.convertType(e.checkType),extendsType:this.convertType(e.extendsType),trueType:this.convertType(e.trueType),falseType:this.convertType(e.falseType)});case s.TypeQuery:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypeQuery,exprName:this.convertType(e.exprName)});case s.MappedType:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSMappedType,typeParameter:this.convertType(e.typeParameter),nameType:null!==(_=this.convertType(e.nameType))&&void 0!==_?_:null});return e.readonlyToken&&(e.readonlyToken.kind===s.ReadonlyKeyword?t.readonly=!0:t.readonly=is.getTextForTokenKind(e.readonlyToken.kind)),e.questionToken&&(e.questionToken.kind===s.QuestionToken?t.optional=!0:t.optional=is.getTextForTokenKind(e.questionToken.kind)),e.type&&(t.typeAnnotation=this.convertType(e.type)),t}case s.ParenthesizedExpression:return this.convertChild(e.expression,t);case s.TypeAliasDeclaration:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypeAliasDeclaration,id:this.convertChild(e.name),typeAnnotation:this.convertType(e.type)});return is.hasModifier(s.DeclareKeyword,e)&&(t.declare=!0),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),this.fixExports(e,t)}case s.MethodSignature:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSMethodSignature,computed:is.isComputedProperty(e.name),key:this.convertChild(e.name),params:this.convertParameters(e.parameters)});is.isOptional(e)&&(t.optional=!0),e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),is.hasModifier(s.ReadonlyKeyword,e)&&(t.readonly=!0),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters));const r=is.getTSNodeAccessibility(e);return r&&(t.accessibility=r),is.hasModifier(s.ExportKeyword,e)&&(t.export=!0),is.hasModifier(s.StaticKeyword,e)&&(t.static=!0),t}case s.PropertySignature:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSPropertySignature,optional:is.isOptional(e)||void 0,computed:is.isComputedProperty(e.name),key:this.convertChild(e.name),typeAnnotation:e.type?this.convertTypeAnnotation(e.type,e):void 0,initializer:this.convertChild(e.initializer)||void 0,readonly:is.hasModifier(s.ReadonlyKeyword,e)||void 0,static:is.hasModifier(s.StaticKeyword,e)||void 0,export:is.hasModifier(s.ExportKeyword,e)||void 0}),r=is.getTSNodeAccessibility(e);return r&&(t.accessibility=r),t}case s.IndexSignature:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSIndexSignature,parameters:e.parameters.map((e=>this.convertChild(e)))});e.type&&(t.typeAnnotation=this.convertTypeAnnotation(e.type,e)),is.hasModifier(s.ReadonlyKeyword,e)&&(t.readonly=!0);const r=is.getTSNodeAccessibility(e);return r&&(t.accessibility=r),is.hasModifier(s.ExportKeyword,e)&&(t.export=!0),is.hasModifier(s.StaticKeyword,e)&&(t.static=!0),t}case s.ConstructorType:case s.FunctionType:case s.ConstructSignature:case s.CallSignature:{let t;switch(e.kind){case s.ConstructSignature:t=ns.AST_NODE_TYPES.TSConstructSignatureDeclaration;break;case s.CallSignature:t=ns.AST_NODE_TYPES.TSCallSignatureDeclaration;break;case s.FunctionType:t=ns.AST_NODE_TYPES.TSFunctionType;break;case s.ConstructorType:default:t=ns.AST_NODE_TYPES.TSConstructorType}const r=this.createNode(e,{type:t,params:this.convertParameters(e.parameters)});return e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),r}case s.ExpressionWithTypeArguments:{const r=this.createNode(e,{type:t&&t.kind===s.InterfaceDeclaration?ns.AST_NODE_TYPES.TSInterfaceHeritage:ns.AST_NODE_TYPES.TSClassImplements,expression:this.convertChild(e.expression)});return e.typeArguments&&(r.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),r}case s.InterfaceDeclaration:{const t=null!==(p=e.heritageClauses)&&void 0!==p?p:[],r=this.createNode(e,{type:ns.AST_NODE_TYPES.TSInterfaceDeclaration,body:this.createNode(e,{type:ns.AST_NODE_TYPES.TSInterfaceBody,body:e.members.map((e=>this.convertChild(e))),range:[e.members.pos-1,e.end]}),id:this.convertChild(e.name)});if(e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t.length>0){const n=[],i=[];for(const r of t)if(r.token===s.ExtendsKeyword)for(const t of r.types)n.push(this.convertChild(t,e));else for(const t of r.types)i.push(this.convertChild(t,e));n.length&&(r.extends=n),i.length&&(r.implements=i)}return is.hasModifier(s.AbstractKeyword,e)&&(r.abstract=!0),is.hasModifier(s.DeclareKeyword,e)&&(r.declare=!0),this.fixExports(e,r)}case s.TypePredicate:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypePredicate,asserts:void 0!==e.assertsModifier,parameterName:this.convertChild(e.parameterName),typeAnnotation:null});return e.type&&(t.typeAnnotation=this.convertTypeAnnotation(e.type,e),t.typeAnnotation.loc=t.typeAnnotation.typeAnnotation.loc,t.typeAnnotation.range=t.typeAnnotation.typeAnnotation.range),t}case s.ImportType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSImportType,isTypeOf:!!e.isTypeOf,parameter:this.convertChild(e.argument),qualifier:this.convertChild(e.qualifier),typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):null});case s.EnumDeclaration:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSEnumDeclaration,id:this.convertChild(e.name),members:e.members.map((e=>this.convertChild(e)))});return this.applyModifiersToResult(t,e.modifiers),this.fixExports(e,t)}case s.EnumMember:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSEnumMember,id:this.convertChild(e.name)});return e.initializer&&(t.initializer=this.convertChild(e.initializer)),e.name.kind===o.SyntaxKind.ComputedPropertyName&&(t.computed=!0),t}case s.ModuleDeclaration:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSModuleDeclaration,id:this.convertChild(e.name)});return e.body&&(t.body=this.convertChild(e.body)),this.applyModifiersToResult(t,e.modifiers),e.flags&o.NodeFlags.GlobalAugmentation&&(t.global=!0),this.fixExports(e,t)}case s.ParenthesizedType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSParenthesizedType,typeAnnotation:this.convertType(e.type)});case s.UnionType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSUnionType,types:e.types.map((e=>this.convertType(e)))});case s.IntersectionType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSIntersectionType,types:e.types.map((e=>this.convertType(e)))});case s.AsExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSAsExpression,expression:this.convertChild(e.expression),typeAnnotation:this.convertType(e.type)});case s.InferType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSInferType,typeParameter:this.convertType(e.typeParameter)});case s.LiteralType:return as.typescriptVersionIsAtLeast[\"4.0\"]&&e.literal.kind===s.NullKeyword?this.createNode(e.literal,{type:ns.AST_NODE_TYPES.TSNullKeyword}):this.createNode(e,{type:ns.AST_NODE_TYPES.TSLiteralType,literal:this.convertType(e.literal)});case s.TypeAssertionExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypeAssertion,typeAnnotation:this.convertType(e.type),expression:this.convertChild(e.expression)});case s.ImportEqualsDeclaration:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSImportEqualsDeclaration,id:this.convertChild(e.name),moduleReference:this.convertChild(e.moduleReference),isExport:is.hasModifier(s.ExportKeyword,e)});case s.ExternalModuleReference:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSExternalModuleReference,expression:this.convertChild(e.expression)});case s.NamespaceExportDeclaration:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSNamespaceExportDeclaration,id:this.convertChild(e.name)});case s.AbstractKeyword:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSAbstractKeyword});case s.TupleType:{const t=\"elementTypes\"in e?e.elementTypes.map((e=>this.convertType(e))):e.elements.map((e=>this.convertType(e)));return this.createNode(e,{type:ns.AST_NODE_TYPES.TSTupleType,elementTypes:t})}case s.NamedTupleMember:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSNamedTupleMember,elementType:this.convertType(e.type,e),label:this.convertChild(e.name,e),optional:null!=e.questionToken});return e.dotDotDotToken?(t.range[0]=t.label.range[0],t.loc.start=t.label.loc.start,this.createNode(e,{type:ns.AST_NODE_TYPES.TSRestType,typeAnnotation:t})):t}case s.OptionalType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSOptionalType,typeAnnotation:this.convertType(e.type)});case s.RestType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSRestType,typeAnnotation:this.convertType(e.type)});case s.TemplateLiteralType:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSTemplateLiteralType,quasis:[this.convertChild(e.head)],types:[]});return e.templateSpans.forEach((e=>{t.types.push(this.convertChild(e.type)),t.quasis.push(this.convertChild(e.literal))})),t}default:return this.deeplyCopy(e)}}}})),ss=function(e,t){return(ss=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};var cs=function(){return(cs=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function ls(e,t){var r=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,a=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)o.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return o}function ds(e){return this instanceof ds?(this.v=e,this):new ds(e)}var _s=Object.freeze({__proto__:null,__extends:function(e,t){function r(){this.constructor=e}ss(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},get __assign(){return cs},__rest:function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o},__param:function(e,t){return function(r,n){t(r,n,e)}},__metadata:function(e,t){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}c((n=n.apply(e,t||[])).next())}))},__generator:function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError(\"Generator is already executing.\");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]1||s(e,t)}))})}function s(e,t){try{(r=i[e](t)).value instanceof ds?Promise.resolve(r.value.v).then(c,u):l(a[0][2],r)}catch(e){l(a[0][3],e)}var r}function c(e){s(\"next\",e)}function u(e){s(\"throw\",e)}function l(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}},__asyncDelegator:function(e){var t,r;return t={},n(\"next\"),n(\"throw\",(function(e){throw e})),n(\"return\"),t[Symbol.iterator]=function(){return this},t;function n(n,i){t[n]=e[n]?function(t){return(r=!r)?{value:ds(e[n](t)),done:\"return\"===n}:i?i(t):t}:i}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=us(e),t={},n(\"next\"),n(\"throw\"),n(\"return\"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,i){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,i,(t=e[r](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t){if(!t.has(e))throw new TypeError(\"attempted to get private field on non-instance\");return t.get(e)},__classPrivateFieldSet:function(e,t,r){if(!t.has(e))throw new TypeError(\"attempted to set private field on non-instance\");return t.set(e,r),r}}),ps=r((function(e,t){function r(e){return e.kind===Eo.SyntaxKind.ModuleDeclaration}function n(e){return e.kind===Eo.SyntaxKind.PropertyAccessExpression}function i(e){return e.kind===Eo.SyntaxKind.QualifiedName}Object.defineProperty(t,\"__esModule\",{value:!0}),t.isAccessorDeclaration=function(e){return e.kind===Eo.SyntaxKind.GetAccessor||e.kind===Eo.SyntaxKind.SetAccessor},t.isArrayBindingPattern=function(e){return e.kind===Eo.SyntaxKind.ArrayBindingPattern},t.isArrayLiteralExpression=function(e){return e.kind===Eo.SyntaxKind.ArrayLiteralExpression},t.isArrayTypeNode=function(e){return e.kind===Eo.SyntaxKind.ArrayType},t.isArrowFunction=function(e){return e.kind===Eo.SyntaxKind.ArrowFunction},t.isAsExpression=function(e){return e.kind===Eo.SyntaxKind.AsExpression},t.isAssertionExpression=function(e){return e.kind===Eo.SyntaxKind.AsExpression||e.kind===Eo.SyntaxKind.TypeAssertionExpression},t.isAwaitExpression=function(e){return e.kind===Eo.SyntaxKind.AwaitExpression},t.isBinaryExpression=function(e){return e.kind===Eo.SyntaxKind.BinaryExpression},t.isBindingElement=function(e){return e.kind===Eo.SyntaxKind.BindingElement},t.isBindingPattern=function(e){return e.kind===Eo.SyntaxKind.ArrayBindingPattern||e.kind===Eo.SyntaxKind.ObjectBindingPattern},t.isBlock=function(e){return e.kind===Eo.SyntaxKind.Block},t.isBlockLike=function(e){return void 0!==e.statements},t.isBooleanLiteral=function(e){return e.kind===Eo.SyntaxKind.TrueKeyword||e.kind===Eo.SyntaxKind.FalseKeyword},t.isBreakOrContinueStatement=function(e){return e.kind===Eo.SyntaxKind.BreakStatement||e.kind===Eo.SyntaxKind.ContinueStatement},t.isBreakStatement=function(e){return e.kind===Eo.SyntaxKind.BreakStatement},t.isCallExpression=function(e){return e.kind===Eo.SyntaxKind.CallExpression},t.isCallLikeExpression=function(e){switch(e.kind){case Eo.SyntaxKind.CallExpression:case Eo.SyntaxKind.Decorator:case Eo.SyntaxKind.JsxOpeningElement:case Eo.SyntaxKind.JsxSelfClosingElement:case Eo.SyntaxKind.NewExpression:case Eo.SyntaxKind.TaggedTemplateExpression:return!0;default:return!1}},t.isCallSignatureDeclaration=function(e){return e.kind===Eo.SyntaxKind.CallSignature},t.isCaseBlock=function(e){return e.kind===Eo.SyntaxKind.CaseBlock},t.isCaseClause=function(e){return e.kind===Eo.SyntaxKind.CaseClause},t.isCaseOrDefaultClause=function(e){return e.kind===Eo.SyntaxKind.CaseClause||e.kind===Eo.SyntaxKind.DefaultClause},t.isCatchClause=function(e){return e.kind===Eo.SyntaxKind.CatchClause},t.isClassDeclaration=function(e){return e.kind===Eo.SyntaxKind.ClassDeclaration},t.isClassExpression=function(e){return e.kind===Eo.SyntaxKind.ClassExpression},t.isClassLikeDeclaration=function(e){return e.kind===Eo.SyntaxKind.ClassDeclaration||e.kind===Eo.SyntaxKind.ClassExpression},t.isCommaListExpression=function(e){return e.kind===Eo.SyntaxKind.CommaListExpression},t.isConditionalExpression=function(e){return e.kind===Eo.SyntaxKind.ConditionalExpression},t.isConditionalTypeNode=function(e){return e.kind===Eo.SyntaxKind.ConditionalType},t.isConstructorDeclaration=function(e){return e.kind===Eo.SyntaxKind.Constructor},t.isConstructorTypeNode=function(e){return e.kind===Eo.SyntaxKind.ConstructorType},t.isConstructSignatureDeclaration=function(e){return e.kind===Eo.SyntaxKind.ConstructSignature},t.isContinueStatement=function(e){return e.kind===Eo.SyntaxKind.ContinueStatement},t.isComputedPropertyName=function(e){return e.kind===Eo.SyntaxKind.ComputedPropertyName},t.isDebuggerStatement=function(e){return e.kind===Eo.SyntaxKind.DebuggerStatement},t.isDecorator=function(e){return e.kind===Eo.SyntaxKind.Decorator},t.isDefaultClause=function(e){return e.kind===Eo.SyntaxKind.DefaultClause},t.isDeleteExpression=function(e){return e.kind===Eo.SyntaxKind.DeleteExpression},t.isDoStatement=function(e){return e.kind===Eo.SyntaxKind.DoStatement},t.isElementAccessExpression=function(e){return e.kind===Eo.SyntaxKind.ElementAccessExpression},t.isEmptyStatement=function(e){return e.kind===Eo.SyntaxKind.EmptyStatement},t.isEntityName=function(e){return e.kind===Eo.SyntaxKind.Identifier||i(e)},t.isEntityNameExpression=function e(t){return t.kind===Eo.SyntaxKind.Identifier||n(t)&&e(t.expression)},t.isEnumDeclaration=function(e){return e.kind===Eo.SyntaxKind.EnumDeclaration},t.isEnumMember=function(e){return e.kind===Eo.SyntaxKind.EnumMember},t.isExportAssignment=function(e){return e.kind===Eo.SyntaxKind.ExportAssignment},t.isExportDeclaration=function(e){return e.kind===Eo.SyntaxKind.ExportDeclaration},t.isExportSpecifier=function(e){return e.kind===Eo.SyntaxKind.ExportSpecifier},t.isExpression=function(e){switch(e.kind){case Eo.SyntaxKind.ArrayLiteralExpression:case Eo.SyntaxKind.ArrowFunction:case Eo.SyntaxKind.AsExpression:case Eo.SyntaxKind.AwaitExpression:case Eo.SyntaxKind.BinaryExpression:case Eo.SyntaxKind.CallExpression:case Eo.SyntaxKind.ClassExpression:case Eo.SyntaxKind.CommaListExpression:case Eo.SyntaxKind.ConditionalExpression:case Eo.SyntaxKind.DeleteExpression:case Eo.SyntaxKind.ElementAccessExpression:case Eo.SyntaxKind.FalseKeyword:case Eo.SyntaxKind.FunctionExpression:case Eo.SyntaxKind.Identifier:case Eo.SyntaxKind.JsxElement:case Eo.SyntaxKind.JsxFragment:case Eo.SyntaxKind.JsxExpression:case Eo.SyntaxKind.JsxOpeningElement:case Eo.SyntaxKind.JsxOpeningFragment:case Eo.SyntaxKind.JsxSelfClosingElement:case Eo.SyntaxKind.MetaProperty:case Eo.SyntaxKind.NewExpression:case Eo.SyntaxKind.NonNullExpression:case Eo.SyntaxKind.NoSubstitutionTemplateLiteral:case Eo.SyntaxKind.NullKeyword:case Eo.SyntaxKind.NumericLiteral:case Eo.SyntaxKind.ObjectLiteralExpression:case Eo.SyntaxKind.OmittedExpression:case Eo.SyntaxKind.ParenthesizedExpression:case Eo.SyntaxKind.PostfixUnaryExpression:case Eo.SyntaxKind.PrefixUnaryExpression:case Eo.SyntaxKind.PropertyAccessExpression:case Eo.SyntaxKind.RegularExpressionLiteral:case Eo.SyntaxKind.SpreadElement:case Eo.SyntaxKind.StringLiteral:case Eo.SyntaxKind.SuperKeyword:case Eo.SyntaxKind.TaggedTemplateExpression:case Eo.SyntaxKind.TemplateExpression:case Eo.SyntaxKind.ThisKeyword:case Eo.SyntaxKind.TrueKeyword:case Eo.SyntaxKind.TypeAssertionExpression:case Eo.SyntaxKind.TypeOfExpression:case Eo.SyntaxKind.VoidExpression:case Eo.SyntaxKind.YieldExpression:return!0;default:return!1}},t.isExpressionStatement=function(e){return e.kind===Eo.SyntaxKind.ExpressionStatement},t.isExpressionWithTypeArguments=function(e){return e.kind===Eo.SyntaxKind.ExpressionWithTypeArguments},t.isExternalModuleReference=function(e){return e.kind===Eo.SyntaxKind.ExternalModuleReference},t.isForInStatement=function(e){return e.kind===Eo.SyntaxKind.ForInStatement},t.isForInOrOfStatement=function(e){return e.kind===Eo.SyntaxKind.ForOfStatement||e.kind===Eo.SyntaxKind.ForInStatement},t.isForOfStatement=function(e){return e.kind===Eo.SyntaxKind.ForOfStatement},t.isForStatement=function(e){return e.kind===Eo.SyntaxKind.ForStatement},t.isFunctionDeclaration=function(e){return e.kind===Eo.SyntaxKind.FunctionDeclaration},t.isFunctionExpression=function(e){return e.kind===Eo.SyntaxKind.FunctionExpression},t.isFunctionTypeNode=function(e){return e.kind===Eo.SyntaxKind.FunctionType},t.isGetAccessorDeclaration=function(e){return e.kind===Eo.SyntaxKind.GetAccessor},t.isIdentifier=function(e){return e.kind===Eo.SyntaxKind.Identifier},t.isIfStatement=function(e){return e.kind===Eo.SyntaxKind.IfStatement},t.isImportClause=function(e){return e.kind===Eo.SyntaxKind.ImportClause},t.isImportDeclaration=function(e){return e.kind===Eo.SyntaxKind.ImportDeclaration},t.isImportEqualsDeclaration=function(e){return e.kind===Eo.SyntaxKind.ImportEqualsDeclaration},t.isImportSpecifier=function(e){return e.kind===Eo.SyntaxKind.ImportSpecifier},t.isIndexedAccessTypeNode=function(e){return e.kind===Eo.SyntaxKind.IndexedAccessType},t.isIndexSignatureDeclaration=function(e){return e.kind===Eo.SyntaxKind.IndexSignature},t.isInferTypeNode=function(e){return e.kind===Eo.SyntaxKind.InferType},t.isInterfaceDeclaration=function(e){return e.kind===Eo.SyntaxKind.InterfaceDeclaration},t.isIntersectionTypeNode=function(e){return e.kind===Eo.SyntaxKind.IntersectionType},t.isIterationStatement=function(e){switch(e.kind){case Eo.SyntaxKind.ForStatement:case Eo.SyntaxKind.ForOfStatement:case Eo.SyntaxKind.ForInStatement:case Eo.SyntaxKind.WhileStatement:case Eo.SyntaxKind.DoStatement:return!0;default:return!1}},t.isJsDoc=function(e){return e.kind===Eo.SyntaxKind.JSDocComment},t.isJsxAttribute=function(e){return e.kind===Eo.SyntaxKind.JsxAttribute},t.isJsxAttributeLike=function(e){return e.kind===Eo.SyntaxKind.JsxAttribute||e.kind===Eo.SyntaxKind.JsxSpreadAttribute},t.isJsxAttributes=function(e){return e.kind===Eo.SyntaxKind.JsxAttributes},t.isJsxClosingElement=function(e){return e.kind===Eo.SyntaxKind.JsxClosingElement},t.isJsxClosingFragment=function(e){return e.kind===Eo.SyntaxKind.JsxClosingFragment},t.isJsxElement=function(e){return e.kind===Eo.SyntaxKind.JsxElement},t.isJsxExpression=function(e){return e.kind===Eo.SyntaxKind.JsxExpression},t.isJsxFragment=function(e){return e.kind===Eo.SyntaxKind.JsxFragment},t.isJsxOpeningElement=function(e){return e.kind===Eo.SyntaxKind.JsxOpeningElement},t.isJsxOpeningFragment=function(e){return e.kind===Eo.SyntaxKind.JsxOpeningFragment},t.isJsxOpeningLikeElement=function(e){return e.kind===Eo.SyntaxKind.JsxOpeningElement||e.kind===Eo.SyntaxKind.JsxSelfClosingElement},t.isJsxSelfClosingElement=function(e){return e.kind===Eo.SyntaxKind.JsxSelfClosingElement},t.isJsxSpreadAttribute=function(e){return e.kind===Eo.SyntaxKind.JsxSpreadAttribute},t.isJsxText=function(e){return e.kind===Eo.SyntaxKind.JsxText},t.isLabeledStatement=function(e){return e.kind===Eo.SyntaxKind.LabeledStatement},t.isLiteralExpression=function(e){return e.kind>=Eo.SyntaxKind.FirstLiteralToken&&e.kind<=Eo.SyntaxKind.LastLiteralToken},t.isLiteralTypeNode=function(e){return e.kind===Eo.SyntaxKind.LiteralType},t.isMappedTypeNode=function(e){return e.kind===Eo.SyntaxKind.MappedType},t.isMetaProperty=function(e){return e.kind===Eo.SyntaxKind.MetaProperty},t.isMethodDeclaration=function(e){return e.kind===Eo.SyntaxKind.MethodDeclaration},t.isMethodSignature=function(e){return e.kind===Eo.SyntaxKind.MethodSignature},t.isModuleBlock=function(e){return e.kind===Eo.SyntaxKind.ModuleBlock},t.isModuleDeclaration=r,t.isNamedExports=function(e){return e.kind===Eo.SyntaxKind.NamedExports},t.isNamedImports=function(e){return e.kind===Eo.SyntaxKind.NamedImports},t.isNamespaceDeclaration=function e(t){return r(t)&&t.name.kind===Eo.SyntaxKind.Identifier&&void 0!==t.body&&(t.body.kind===Eo.SyntaxKind.ModuleBlock||e(t.body))},t.isNamespaceImport=function(e){return e.kind===Eo.SyntaxKind.NamespaceImport},t.isNamespaceExportDeclaration=function(e){return e.kind===Eo.SyntaxKind.NamespaceExportDeclaration},t.isNewExpression=function(e){return e.kind===Eo.SyntaxKind.NewExpression},t.isNonNullExpression=function(e){return e.kind===Eo.SyntaxKind.NonNullExpression},t.isNoSubstitutionTemplateLiteral=function(e){return e.kind===Eo.SyntaxKind.NoSubstitutionTemplateLiteral},t.isNullLiteral=function(e){return e.kind===Eo.SyntaxKind.NullKeyword},t.isNumericLiteral=function(e){return e.kind===Eo.SyntaxKind.NumericLiteral},t.isNumericOrStringLikeLiteral=function(e){switch(e.kind){case Eo.SyntaxKind.StringLiteral:case Eo.SyntaxKind.NumericLiteral:case Eo.SyntaxKind.NoSubstitutionTemplateLiteral:return!0;default:return!1}},t.isObjectBindingPattern=function(e){return e.kind===Eo.SyntaxKind.ObjectBindingPattern},t.isObjectLiteralExpression=function(e){return e.kind===Eo.SyntaxKind.ObjectLiteralExpression},t.isOmittedExpression=function(e){return e.kind===Eo.SyntaxKind.OmittedExpression},t.isParameterDeclaration=function(e){return e.kind===Eo.SyntaxKind.Parameter},t.isParenthesizedExpression=function(e){return e.kind===Eo.SyntaxKind.ParenthesizedExpression},t.isParenthesizedTypeNode=function(e){return e.kind===Eo.SyntaxKind.ParenthesizedType},t.isPostfixUnaryExpression=function(e){return e.kind===Eo.SyntaxKind.PostfixUnaryExpression},t.isPrefixUnaryExpression=function(e){return e.kind===Eo.SyntaxKind.PrefixUnaryExpression},t.isPropertyAccessExpression=n,t.isPropertyAssignment=function(e){return e.kind===Eo.SyntaxKind.PropertyAssignment},t.isPropertyDeclaration=function(e){return e.kind===Eo.SyntaxKind.PropertyDeclaration},t.isPropertySignature=function(e){return e.kind===Eo.SyntaxKind.PropertySignature},t.isQualifiedName=i,t.isRegularExpressionLiteral=function(e){return e.kind===Eo.SyntaxKind.RegularExpressionLiteral},t.isReturnStatement=function(e){return e.kind===Eo.SyntaxKind.ReturnStatement},t.isSetAccessorDeclaration=function(e){return e.kind===Eo.SyntaxKind.SetAccessor},t.isShorthandPropertyAssignment=function(e){return e.kind===Eo.SyntaxKind.ShorthandPropertyAssignment},t.isSignatureDeclaration=function(e){return void 0!==e.parameters},t.isSourceFile=function(e){return e.kind===Eo.SyntaxKind.SourceFile},t.isSpreadAssignment=function(e){return e.kind===Eo.SyntaxKind.SpreadAssignment},t.isSpreadElement=function(e){return e.kind===Eo.SyntaxKind.SpreadElement},t.isStringLiteral=function(e){return e.kind===Eo.SyntaxKind.StringLiteral},t.isSwitchStatement=function(e){return e.kind===Eo.SyntaxKind.SwitchStatement},t.isSyntaxList=function(e){return e.kind===Eo.SyntaxKind.SyntaxList},t.isTaggedTemplateExpression=function(e){return e.kind===Eo.SyntaxKind.TaggedTemplateExpression},t.isTemplateExpression=function(e){return e.kind===Eo.SyntaxKind.TemplateExpression},t.isTemplateLiteral=function(e){return e.kind===Eo.SyntaxKind.TemplateExpression||e.kind===Eo.SyntaxKind.NoSubstitutionTemplateLiteral},t.isTextualLiteral=function(e){return e.kind===Eo.SyntaxKind.StringLiteral||e.kind===Eo.SyntaxKind.NoSubstitutionTemplateLiteral},t.isThrowStatement=function(e){return e.kind===Eo.SyntaxKind.ThrowStatement},t.isTryStatement=function(e){return e.kind===Eo.SyntaxKind.TryStatement},t.isTupleTypeNode=function(e){return e.kind===Eo.SyntaxKind.TupleType},t.isTypeAliasDeclaration=function(e){return e.kind===Eo.SyntaxKind.TypeAliasDeclaration},t.isTypeAssertion=function(e){return e.kind===Eo.SyntaxKind.TypeAssertionExpression},t.isTypeLiteralNode=function(e){return e.kind===Eo.SyntaxKind.TypeLiteral},t.isTypeOfExpression=function(e){return e.kind===Eo.SyntaxKind.TypeOfExpression},t.isTypeOperatorNode=function(e){return e.kind===Eo.SyntaxKind.TypeOperator},t.isTypeParameterDeclaration=function(e){return e.kind===Eo.SyntaxKind.TypeParameter},t.isTypePredicateNode=function(e){return e.kind===Eo.SyntaxKind.TypePredicate},t.isTypeReferenceNode=function(e){return e.kind===Eo.SyntaxKind.TypeReference},t.isTypeQueryNode=function(e){return e.kind===Eo.SyntaxKind.TypeQuery},t.isUnionTypeNode=function(e){return e.kind===Eo.SyntaxKind.UnionType},t.isVariableDeclaration=function(e){return e.kind===Eo.SyntaxKind.VariableDeclaration},t.isVariableStatement=function(e){return e.kind===Eo.SyntaxKind.VariableStatement},t.isVariableDeclarationList=function(e){return e.kind===Eo.SyntaxKind.VariableDeclarationList},t.isVoidExpression=function(e){return e.kind===Eo.SyntaxKind.VoidExpression},t.isWhileStatement=function(e){return e.kind===Eo.SyntaxKind.WhileStatement},t.isWithStatement=function(e){return e.kind===Eo.SyntaxKind.WithStatement}})),fs=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(ps,t),t.isImportTypeNode=function(e){return e.kind===Eo.SyntaxKind.ImportType}})),gs=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(fs,t),t.isOptionalTypeNode=function(e){return e.kind===Eo.SyntaxKind.OptionalType},t.isRestTypeNode=function(e){return e.kind===Eo.SyntaxKind.RestType},t.isSyntheticExpression=function(e){return e.kind===Eo.SyntaxKind.SyntheticExpression}})),ms=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(gs,t),t.isBigIntLiteral=function(e){return e.kind===Eo.SyntaxKind.BigIntLiteral}})),ys=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(ms,t)})),vs=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.isConditionalType=function(e){return 0!=(e.flags&Eo.TypeFlags.Conditional)},t.isEnumType=function(e){return 0!=(e.flags&Eo.TypeFlags.Enum)},t.isGenericType=function(e){return 0!=(e.flags&Eo.TypeFlags.Object)&&0!=(e.objectFlags&Eo.ObjectFlags.ClassOrInterface)&&0!=(e.objectFlags&Eo.ObjectFlags.Reference)},t.isIndexedAccessType=function(e){return 0!=(e.flags&Eo.TypeFlags.IndexedAccess)},t.isIndexedAccessype=function(e){return 0!=(e.flags&Eo.TypeFlags.Index)},t.isInstantiableType=function(e){return 0!=(e.flags&Eo.TypeFlags.Instantiable)},t.isInterfaceType=function(e){return 0!=(e.flags&Eo.TypeFlags.Object)&&0!=(e.objectFlags&Eo.ObjectFlags.ClassOrInterface)},t.isIntersectionType=function(e){return 0!=(e.flags&Eo.TypeFlags.Intersection)},t.isLiteralType=function(e){return 0!=(e.flags&(Eo.TypeFlags.StringOrNumberLiteral|Eo.TypeFlags.BigIntLiteral))},t.isObjectType=function(e){return 0!=(e.flags&Eo.TypeFlags.Object)},t.isSubstitutionType=function(e){return 0!=(e.flags&Eo.TypeFlags.Substitution)},t.isTypeParameter=function(e){return 0!=(e.flags&Eo.TypeFlags.TypeParameter)},t.isTypeReference=function(e){return 0!=(e.flags&Eo.TypeFlags.Object)&&0!=(e.objectFlags&Eo.ObjectFlags.Reference)},t.isTypeVariable=function(e){return 0!=(e.flags&Eo.TypeFlags.TypeVariable)},t.isUnionOrIntersectionType=function(e){return 0!=(e.flags&Eo.TypeFlags.UnionOrIntersection)},t.isUnionType=function(e){return 0!=(e.flags&Eo.TypeFlags.Union)},t.isUniqueESSymbolType=function(e){return 0!=(e.flags&Eo.TypeFlags.UniqueESSymbol)}})),hs=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(vs,t)})),Ds=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(hs,t);const r=hs;function n(e){return 0!==(e.flags&Eo.TypeFlags.Object&&e.objectFlags&Eo.ObjectFlags.Tuple)}t.isTupleType=n,t.isTupleTypeReference=function(e){return r.isTypeReference(e)&&n(e.target)}})),xs=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(Ds,t)})),bs=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(ms,t),_s.__exportStar(xs,t)})),Ss=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(xs,t)})),Es=r((function(e,t){function r(e,t){if(!n(t,Eo.TypeFlags.Undefined))return t;const r=n(t,Eo.TypeFlags.Null);return t=e.getNonNullableType(t),r?e.getNullableType(t,Eo.TypeFlags.Null):t}function n(e,t){for(const r of a(e))if(Ts.isTypeFlagSet(r,t))return!0;return!1}function i(e,t,r){let n;return r|=Eo.TypeFlags.Any,function t(i){if(Ss.isTypeParameter(i)&&void 0!==i.symbol&&void 0!==i.symbol.declarations){if(void 0===n)n=new Set([i]);else{if(n.has(i))return!1;n.add(i)}const r=i.symbol.declarations[0];return void 0===r.constraint||t(e.getTypeFromTypeNode(r.constraint))}return Ss.isUnionType(i)?i.types.every(t):Ss.isIntersectionType(i)?i.types.some(t):Ts.isTypeFlagSet(i,r)}(t)}function a(e){return Ss.isUnionType(e)?e.types:[e]}function o(e,t,r){return t(e)?e.types.some(r):r(e)}function s(e,t,r){let n=e.getApparentType(e.getTypeOfSymbolAtLocation(t,r));if(t.valueDeclaration.dotDotDotToken&&(n=n.getNumberIndexType(),void 0===n))return!1;for(const e of a(n))if(0!==e.getCallSignatures().length)return!0;return!1}function c(e,t){return Ts.isTypeFlagSet(e,Eo.TypeFlags.BooleanLiteral)&&e.intrinsicName===(t?\"true\":\"false\")}function u(e,t){return t.startsWith(\"__\")?e.getProperties().find((e=>e.escapedName===t)):e.getProperty(t)}function l(e,t,r){let n=!1,i=!1;for(const o of a(e))if(void 0===u(o,t)){const e=(Ts.isNumericPropertyName(t)?r.getIndexInfoOfType(o,Eo.IndexKind.Number):void 0)||r.getIndexInfoOfType(o,Eo.IndexKind.String);if(void 0!==e&&e.isReadonly){if(n)return!0;i=!0}}else{if(i||d(o,t,r))return!0;n=!0}return!1}function d(e,t,r){return o(e,Ss.isIntersectionType,(e=>{const n=u(e,t);if(void 0===n)return!1;if(n.flags&Eo.SymbolFlags.Transient){if(/^(?:[1-9]\\d*|0)$/.test(t)&&Ss.isTupleTypeReference(e))return e.target.readonly;switch(function(e,t,r){if(!Ss.isObjectType(e)||!Ts.isObjectFlagSet(e,Eo.ObjectFlags.Mapped))return;const n=e.symbol.declarations[0];return void 0===n.readonlyToken||/^__@[^@]+$/.test(t)?l(e.modifiersType,t,r):n.readonlyToken.kind!==Eo.SyntaxKind.MinusToken}(e,t,r)){case!0:return!0;case!1:return!1}}return Ts.isSymbolFlagSet(n,Eo.SymbolFlags.ValueModule)||_(n,r)}))}function _(e,t){return(e.flags&Eo.SymbolFlags.Accessor)===Eo.SymbolFlags.GetAccessor||void 0!==e.declarations&&e.declarations.some((e=>Ts.isModifierFlagSet(e,Eo.ModifierFlags.Readonly)||ys.isVariableDeclaration(e)&&Ts.isNodeFlagSet(e.parent,Eo.NodeFlags.Const)||ys.isCallExpression(e)&&Ts.isReadonlyAssignmentDeclaration(e,t)||ys.isEnumMember(e)||(ys.isPropertyAssignment(e)||ys.isShorthandPropertyAssignment(e))&&Ts.isInConstContext(e.parent)))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.isEmptyObjectType=function e(t){if(Ss.isObjectType(t)&&t.objectFlags&Eo.ObjectFlags.Anonymous&&0===t.getProperties().length&&0===t.getCallSignatures().length&&0===t.getConstructSignatures().length&&void 0===t.getStringIndexType()&&void 0===t.getNumberIndexType()){const r=t.getBaseTypes();return void 0===r||r.every(e)}return!1},t.removeOptionalityFromType=r,t.isTypeAssignableToNumber=function(e,t){return i(e,t,Eo.TypeFlags.NumberLike)},t.isTypeAssignableToString=function(e,t){return i(e,t,Eo.TypeFlags.StringLike)},t.getCallSignaturesOfType=function e(t){if(Ss.isUnionType(t)){const r=[];for(const n of t.types)r.push(...e(n));return r}if(Ss.isIntersectionType(t)){let r;for(const n of t.types){const t=e(n);if(0!==t.length){if(void 0!==r)return[];r=t}}return void 0===r?[]:r}return t.getCallSignatures()},t.unionTypeParts=a,t.intersectionTypeParts=function(e){return Ss.isIntersectionType(e)?e.types:[e]},t.someTypePart=o,t.isThenableType=function(e,t,r=e.getTypeAtLocation(t)){for(const n of a(e.getApparentType(r))){const r=n.getProperty(\"then\");if(void 0===r)continue;const i=e.getTypeOfSymbolAtLocation(r,t);for(const r of a(i))for(const n of r.getCallSignatures())if(0!==n.parameters.length&&s(e,n.parameters[0],t))return!0}return!1},t.isFalsyType=function(e){return!!(e.flags&(Eo.TypeFlags.Undefined|Eo.TypeFlags.Null|Eo.TypeFlags.Void))||(Ss.isLiteralType(e)?!e.value:c(e,!1))},t.isBooleanLiteralType=c,t.getPropertyOfType=u,t.isPropertyReadonlyInType=l,t.symbolHasReadonlyDeclaration=_,t.getPropertyNameFromType=function(e){if(e.flags&(Eo.TypeFlags.StringLiteral|Eo.TypeFlags.NumberLiteral)){const t=String(e.value);return{displayName:t,symbolName:Eo.escapeLeadingUnderscores(t)}}if(Ss.isUniqueESSymbolType(e))return{displayName:\"[\".concat(e.symbol?e.symbol.name:e.escapedName.replace(/^__@|@\\d+$/g,\"\"),\"]\"),symbolName:e.escapedName}},t.getConstructorTypeOfClassLikeDeclaration=function(e,t){return t.getDeclaredTypeOfSymbol(void 0!==e.name?t.getSymbolAtLocation(e.name):t.getTypeAtLocation(e).symbol)},t.getInstanceTypeOfClassLikeDeclaration=function(e,t){return e.kind===Eo.SyntaxKind.ClassDeclaration?t.getTypeAtLocation(e):t.getTypeOfSymbolAtLocation(t.getTypeAtLocation(e).getProperty(\"prototype\"),e)},t.getIteratorYieldResultFromIteratorResult=function(e,t,n){return Ss.isUnionType(e)&&e.types.find((e=>{const i=e.getProperty(\"done\");return void 0!==i&&c(r(n,n.getTypeOfSymbolAtLocation(i,t)),!1)}))||e}})),Ts=r((function(e,t){function r(e){return e>=Eo.SyntaxKind.FirstToken&&e<=Eo.SyntaxKind.LastToken}function n(e){return e>=Eo.SyntaxKind.FirstAssignment&&e<=Eo.SyntaxKind.LastAssignment}function i(e,...t){if(void 0===e)return!1;for(const r of e)if(t.includes(r.kind))return!0;return!1}function a(e,t){return 0!=(e.flags&t)}function o(e,t,n,i){if(!(t=e.end))return r(e.kind)?e:(void 0===n&&(n=e.getSourceFile()),s(e,t,n,!0===i))}function s(e,t,n,i){e:for(;;){for(const a of e.getChildren(n))if(a.end>t&&(i||a.kind!==Eo.SyntaxKind.JSDocComment)){if(r(a.kind))return a;e=a;continue e}return}}function c(e,t,r=e){const n=o(r,t,e);if(void 0===n||n.kind===Eo.SyntaxKind.JsxText||t>=n.end-(Eo.tokenToString(n.kind)||\"\").length)return;const i=0===n.pos?(Eo.getShebang(e.text)||\"\").length:n.pos;return 0!==i&&Eo.forEachTrailingCommentRange(e.text,i,u,t)||Eo.forEachLeadingCommentRange(e.text,i,u,t)}function u(e,t,r,n,i){return i>=e&&i=65536?2:1}function x(e,t=Eo.ScriptTarget.Latest){if(0===e.length)return!1;let r=e.codePointAt(0);if(!Eo.isIdentifierStart(r,t))return!1;for(let n=D(r);nn===Eo.SyntaxKind.MultiLineCommentTrivia&&\"*\"===t.text[e+2]?{pos:e}:void 0));if(void 0===i)return[];const a=i.pos,o=t.text.slice(a,n),s=Eo.createSourceFile(\"jsdoc.ts\",\"\".concat(o,\"var a;\"),t.languageVersion),c=k(s.statements[0],s);for(const t of c)u(t,e);return c;function u(e,t){return e.pos+=a,e.end+=a,e.parent=t,Eo.forEachChild(e,(t=>u(t,e)),(t=>{t.pos+=a,t.end+=a;for(const r of t)u(r,e)}))}}function F(e,t){return new N(e,t).find()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getChildOfKind=function(e,t,r){for(const n of e.getChildren(r))if(n.kind===t)return n},t.isTokenKind=r,t.isNodeKind=function(e){return e>=Eo.SyntaxKind.FirstNode},t.isAssignmentKind=n,t.isTypeNodeKind=function(e){return e>=Eo.SyntaxKind.FirstTypeNode&&e<=Eo.SyntaxKind.LastTypeNode},t.isJsDocKind=function(e){return e>=Eo.SyntaxKind.FirstJSDocNode&&e<=Eo.SyntaxKind.LastJSDocNode},t.isKeywordKind=function(e){return e>=Eo.SyntaxKind.FirstKeyword&&e<=Eo.SyntaxKind.LastKeyword},t.isThisParameter=function(e){return e.name.kind===Eo.SyntaxKind.Identifier&&e.name.originalKeywordKind===Eo.SyntaxKind.ThisKeyword},t.getModifier=function(e,t){if(void 0!==e.modifiers)for(const r of e.modifiers)if(r.kind===t)return r},t.hasModifier=i,t.isParameterProperty=function(e){return i(e.modifiers,Eo.SyntaxKind.PublicKeyword,Eo.SyntaxKind.ProtectedKeyword,Eo.SyntaxKind.PrivateKeyword,Eo.SyntaxKind.ReadonlyKeyword)},t.hasAccessModifier=function(e){return i(e.modifiers,Eo.SyntaxKind.PublicKeyword,Eo.SyntaxKind.ProtectedKeyword,Eo.SyntaxKind.PrivateKeyword)},t.isNodeFlagSet=a,t.isTypeFlagSet=a,t.isSymbolFlagSet=a,t.isObjectFlagSet=function(e,t){return 0!=(e.objectFlags&t)},t.isModifierFlagSet=function(e,t){return 0!=(Eo.getCombinedModifierFlags(e)&t)},t.getPreviousStatement=function(e){const t=e.parent;if(ys.isBlockLike(t)){const r=t.statements.indexOf(e);if(r>0)return t.statements[r-1]}},t.getNextStatement=function(e){const t=e.parent;if(ys.isBlockLike(t)){const r=t.statements.indexOf(e);if(r=0;--t){const a=i[t];if(a.post||e.node.end<=t))e:for(;;){for(const r of e.children){if(r.node.pos>t)return e;if(r.node.end>t){e=r;continue e}}return e}},t.getPropertyName=l,t.forEachDestructuringIdentifier=d,t.forEachDeclaredVariable=function(e,t){for(const r of e.declarations){let e;if(e=r.name.kind===Eo.SyntaxKind.Identifier?t(r):d(r.name,t),e)return e}},function(e){e[e.Var=0]=\"Var\",e[e.Let=1]=\"Let\",e[e.Const=2]=\"Const\"}(t.VariableDeclarationKind||(t.VariableDeclarationKind={})),t.getVariableDeclarationKind=function(e){return e.flags&Eo.NodeFlags.Let?1:e.flags&Eo.NodeFlags.Const?2:0},t.isBlockScopedVariableDeclarationList=_,t.isBlockScopedVariableDeclaration=function(e){const t=e.parent;return t.kind===Eo.SyntaxKind.CatchClause||_(t)},t.isBlockScopedDeclarationStatement=function(e){switch(e.kind){case Eo.SyntaxKind.VariableStatement:return _(e.declarationList);case Eo.SyntaxKind.ClassDeclaration:case Eo.SyntaxKind.EnumDeclaration:case Eo.SyntaxKind.InterfaceDeclaration:case Eo.SyntaxKind.TypeAliasDeclaration:return!0;default:return!1}},t.isInSingleStatementContext=function(e){switch(e.parent.kind){case Eo.SyntaxKind.ForStatement:case Eo.SyntaxKind.ForInStatement:case Eo.SyntaxKind.ForOfStatement:case Eo.SyntaxKind.WhileStatement:case Eo.SyntaxKind.DoStatement:case Eo.SyntaxKind.IfStatement:case Eo.SyntaxKind.WithStatement:case Eo.SyntaxKind.LabeledStatement:return!0;default:return!1}},function(e){e[e.None=0]=\"None\",e[e.Function=1]=\"Function\",e[e.Block=2]=\"Block\",e[e.Type=4]=\"Type\",e[e.ConditionalType=8]=\"ConditionalType\"}(t.ScopeBoundary||(t.ScopeBoundary={})),function(e){e[e.Function=1]=\"Function\",e[e.Block=3]=\"Block\",e[e.Type=7]=\"Type\",e[e.InferType=8]=\"InferType\"}(t.ScopeBoundarySelector||(t.ScopeBoundarySelector={})),t.isScopeBoundary=function(e){return f(e)||g(e)||p(e)},t.isTypeScopeBoundary=p,t.isFunctionScopeBoundary=f,t.isBlockScopeBoundary=g,t.hasOwnThisReference=function(e){switch(e.kind){case Eo.SyntaxKind.ClassDeclaration:case Eo.SyntaxKind.ClassExpression:case Eo.SyntaxKind.FunctionExpression:return!0;case Eo.SyntaxKind.FunctionDeclaration:return void 0!==e.body;case Eo.SyntaxKind.MethodDeclaration:case Eo.SyntaxKind.GetAccessor:case Eo.SyntaxKind.SetAccessor:return e.parent.kind===Eo.SyntaxKind.ObjectLiteralExpression;default:return!1}},t.isFunctionWithBody=function(e){switch(e.kind){case Eo.SyntaxKind.GetAccessor:case Eo.SyntaxKind.SetAccessor:case Eo.SyntaxKind.FunctionDeclaration:case Eo.SyntaxKind.MethodDeclaration:case Eo.SyntaxKind.Constructor:return void 0!==e.body;case Eo.SyntaxKind.FunctionExpression:case Eo.SyntaxKind.ArrowFunction:return!0;default:return!1}},t.forEachToken=m,t.forEachTokenWithTrivia=function(e,t,r=e.getSourceFile()){const n=r.text,i=Eo.createScanner(r.languageVersion,!1,r.languageVariant,n);return m(e,(e=>{const a=e.kind===Eo.SyntaxKind.JsxText||e.pos===e.end?e.pos:e.getStart(r);if(a!==e.pos){i.setTextPos(e.pos);let r=i.scan(),o=i.getTokenPos();for(;o{if(e.pos!==e.end)return e.kind!==Eo.SyntaxKind.JsxText&&Eo.forEachLeadingCommentRange(n,0===e.pos?(Eo.getShebang(n)||\"\").length:e.pos,a),i||function(e){switch(e.kind){case Eo.SyntaxKind.CloseBraceToken:return e.parent.kind!==Eo.SyntaxKind.JsxExpression||!y(e.parent.parent);case Eo.SyntaxKind.GreaterThanToken:switch(e.parent.kind){case Eo.SyntaxKind.JsxOpeningElement:return e.end!==e.parent.end;case Eo.SyntaxKind.JsxOpeningFragment:return!1;case Eo.SyntaxKind.JsxSelfClosingElement:return e.end!==e.parent.end||!y(e.parent.parent);case Eo.SyntaxKind.JsxClosingElement:case Eo.SyntaxKind.JsxClosingFragment:return!y(e.parent.parent.parent)}}return!0}(e)?Eo.forEachTrailingCommentRange(n,e.end,a):void 0}),r);function a(e,r,i){t(n,{pos:e,end:r,kind:i})}},t.getLineRanges=function(e){const t=e.getLineStarts(),r=[],n=t.length,i=e.text;let a=0;for(let e=1;ea&&Eo.isLineBreak(i.charCodeAt(o-1));--o);r.push({pos:a,end:n,contentLength:o-a}),a=n}return r.push({pos:a,end:e.end,contentLength:e.end-a}),r},t.getLineBreakStyle=function(e){const t=e.getLineStarts();return 1===t.length||t[1]<2||\"\\r\"!==e.text[t[1]-2]?\"\\n\":\"\\r\\n\"},t.isValidIdentifier=function(e,t=Eo.ScriptTarget.Latest){const r=h(e,t);return r.isIdentifier()&&r.getTextPos()===e.length&&0===r.getTokenPos()},t.isValidPropertyAccess=x,t.isValidPropertyName=function(e,t=Eo.ScriptTarget.Latest){if(x(e,t))return!0;const r=h(e,t);return r.getTextPos()===e.length&&r.getToken()===Eo.SyntaxKind.NumericLiteral&&r.getTokenValue()===e},t.isValidNumericLiteral=function(e,t=Eo.ScriptTarget.Latest){const r=h(e,t);return r.getToken()===Eo.SyntaxKind.NumericLiteral&&r.getTextPos()===e.length&&0===r.getTokenPos()},t.isValidJsxIdentifier=function(e,t=Eo.ScriptTarget.Latest){if(0===e.length)return!1;let r=e.codePointAt(0);if(!Eo.isIdentifierStart(r,t))return!1;for(let n=D(r);n{if(i===Eo.SyntaxKind.SingleLineCommentTrivia){const i=e.slice(r,n),a=/^\\/{2,3}\\s*@ts-(no)?check(?:\\s|$)/i.exec(i);null!==a&&(t={pos:r,end:n,enabled:void 0===a[1]})}})),t},t.isConstAssertion=I,t.isInConstContext=function(e){let t=e;for(;;){const e=t.parent;e:switch(e.kind){case Eo.SyntaxKind.TypeAssertionExpression:case Eo.SyntaxKind.AsExpression:return I(e);case Eo.SyntaxKind.PrefixUnaryExpression:if(t.kind!==Eo.SyntaxKind.NumericLiteral)return!1;switch(e.operator){case Eo.SyntaxKind.PlusToken:case Eo.SyntaxKind.MinusToken:t=e;break e;default:return!1}case Eo.SyntaxKind.PropertyAssignment:if(e.initializer!==t)return!1;t=e.parent;break;case Eo.SyntaxKind.ShorthandPropertyAssignment:t=e.parent;break;case Eo.SyntaxKind.ParenthesizedExpression:case Eo.SyntaxKind.ArrayLiteralExpression:case Eo.SyntaxKind.ObjectLiteralExpression:t=e;break;default:return!1}}},t.isReadonlyAssignmentDeclaration=function(e,t){if(!O(e))return!1;const r=t.getTypeAtLocation(e.arguments[2]);if(void 0===r.getProperty(\"value\"))return void 0===r.getProperty(\"set\");const n=r.getProperty(\"writable\");if(void 0===n)return!1;const i=void 0!==n.valueDeclaration&&ys.isPropertyAssignment(n.valueDeclaration)?t.getTypeAtLocation(n.valueDeclaration.initializer):t.getTypeOfSymbolAtLocation(n,e.arguments[2]);return Es.isBooleanLiteralType(i,!1)},t.isBindableObjectDefinePropertyCall=O,t.isWellKnownSymbolLiterally=M,t.getPropertyNameOfWellKnownSymbol=L,t.getLateBoundPropertyNames=R,t.getLateBoundPropertyNamesOfPropertyName=function(e,t){const r=l(e);return void 0!==r?{known:!0,names:[{displayName:r,symbolName:Eo.escapeLeadingUnderscores(r)}]}:R(e.expression,t)},t.getSingleLateBoundPropertyNameOfPropertyName=function(e,t){const r=l(e);if(void 0!==r)return{displayName:r,symbolName:Eo.escapeLeadingUnderscores(r)};const{expression:n}=e;return M(n)?L(n):Es.getPropertyNameFromType(t.getTypeAtLocation(n))},t.unwrapParentheses=B})),Cs=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,\"__esModule\",{value:!0}),r.convertComments=void 0;const o=a(Eo);r.convertComments=function(e,t){const r=[];return Ts.forEachComment(e,((n,i)=>{const a=i.kind==o.SyntaxKind.SingleLineCommentTrivia?ns.AST_TOKEN_TYPES.Line:ns.AST_TOKEN_TYPES.Block,s=[i.pos,i.end],c=is.getLocFor(s[0],s[1],e),u=s[0]+2,l=i.kind===o.SyntaxKind.SingleLineCommentTrivia?s[1]-u:s[1]-u-2;r.push({type:a,value:t.substr(u,l),range:s,loc:c})}),e),r}})),ks={AssignmentExpression:[\"left\",\"right\"],AssignmentPattern:[\"left\",\"right\"],ArrayExpression:[\"elements\"],ArrayPattern:[\"elements\"],ArrowFunctionExpression:[\"params\",\"body\"],AwaitExpression:[\"argument\"],BlockStatement:[\"body\"],BinaryExpression:[\"left\",\"right\"],BreakStatement:[\"label\"],CallExpression:[\"callee\",\"arguments\"],CatchClause:[\"param\",\"body\"],ChainExpression:[\"expression\"],ClassBody:[\"body\"],ClassDeclaration:[\"id\",\"superClass\",\"body\"],ClassExpression:[\"id\",\"superClass\",\"body\"],ConditionalExpression:[\"test\",\"consequent\",\"alternate\"],ContinueStatement:[\"label\"],DebuggerStatement:[],DoWhileStatement:[\"body\",\"test\"],EmptyStatement:[],ExportAllDeclaration:[\"exported\",\"source\"],ExportDefaultDeclaration:[\"declaration\"],ExportNamedDeclaration:[\"declaration\",\"specifiers\",\"source\"],ExportSpecifier:[\"exported\",\"local\"],ExpressionStatement:[\"expression\"],ExperimentalRestProperty:[\"argument\"],ExperimentalSpreadProperty:[\"argument\"],ForStatement:[\"init\",\"test\",\"update\",\"body\"],ForInStatement:[\"left\",\"right\",\"body\"],ForOfStatement:[\"left\",\"right\",\"body\"],FunctionDeclaration:[\"id\",\"params\",\"body\"],FunctionExpression:[\"id\",\"params\",\"body\"],Identifier:[],IfStatement:[\"test\",\"consequent\",\"alternate\"],ImportDeclaration:[\"specifiers\",\"source\"],ImportDefaultSpecifier:[\"local\"],ImportExpression:[\"source\"],ImportNamespaceSpecifier:[\"local\"],ImportSpecifier:[\"imported\",\"local\"],JSXAttribute:[\"name\",\"value\"],JSXClosingElement:[\"name\"],JSXElement:[\"openingElement\",\"children\",\"closingElement\"],JSXEmptyExpression:[],JSXExpressionContainer:[\"expression\"],JSXIdentifier:[],JSXMemberExpression:[\"object\",\"property\"],JSXNamespacedName:[\"namespace\",\"name\"],JSXOpeningElement:[\"name\",\"attributes\"],JSXSpreadAttribute:[\"argument\"],JSXText:[],JSXFragment:[\"openingFragment\",\"children\",\"closingFragment\"],Literal:[],LabeledStatement:[\"label\",\"body\"],LogicalExpression:[\"left\",\"right\"],MemberExpression:[\"object\",\"property\"],MetaProperty:[\"meta\",\"property\"],MethodDefinition:[\"key\",\"value\"],NewExpression:[\"callee\",\"arguments\"],ObjectExpression:[\"properties\"],ObjectPattern:[\"properties\"],Program:[\"body\"],Property:[\"key\",\"value\"],RestElement:[\"argument\"],ReturnStatement:[\"argument\"],SequenceExpression:[\"expressions\"],SpreadElement:[\"argument\"],Super:[],SwitchStatement:[\"discriminant\",\"cases\"],SwitchCase:[\"test\",\"consequent\"],TaggedTemplateExpression:[\"tag\",\"quasi\"],TemplateElement:[],TemplateLiteral:[\"quasis\",\"expressions\"],ThisExpression:[],ThrowStatement:[\"argument\"],TryStatement:[\"block\",\"handler\",\"finalizer\"],UnaryExpression:[\"argument\"],UpdateExpression:[\"argument\"],VariableDeclaration:[\"declarations\"],VariableDeclarator:[\"id\",\"init\"],WhileStatement:[\"test\",\"body\"],WithStatement:[\"object\",\"body\"],YieldExpression:[\"argument\"]};const As=Object.freeze(Object.keys(ks));for(const e of As)Object.freeze(ks[e]);Object.freeze(ks);const Fs=new Set([\"parent\",\"leadingComments\",\"trailingComments\"]);function Ns(e){return!Fs.has(e)&&\"_\"!==e[0]}var Ps=Object.freeze({KEYS:ks,getKeys:e=>Object.keys(e).filter(Ns),unionWith(e){const t=Object.assign({},ks);for(const r of Object.keys(e))if(t.hasOwnProperty(r)){const n=new Set(e[r]);for(const e of t[r])n.add(e);t[r]=Object.freeze(Array.from(n))}else t[r]=Object.freeze(Array.from(e[r]));return Object.freeze(t)}}),ws=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.getKeys=void 0;const r=Ps.getKeys;t.getKeys=r})),Is=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,\"__esModule\",{value:!0}),r.visitorKeys=void 0;const o=a(Ps).unionWith({ImportExpression:[\"source\"],ArrayPattern:[\"decorators\",\"elements\",\"typeAnnotation\"],ArrowFunctionExpression:[\"typeParameters\",\"params\",\"returnType\",\"body\"],AssignmentPattern:[\"decorators\",\"left\",\"right\",\"typeAnnotation\"],CallExpression:[\"callee\",\"typeParameters\",\"arguments\"],ClassDeclaration:[\"decorators\",\"id\",\"typeParameters\",\"superClass\",\"superTypeParameters\",\"implements\",\"body\"],ClassExpression:[\"decorators\",\"id\",\"typeParameters\",\"superClass\",\"superTypeParameters\",\"implements\",\"body\"],FunctionDeclaration:[\"id\",\"typeParameters\",\"params\",\"returnType\",\"body\"],FunctionExpression:[\"id\",\"typeParameters\",\"params\",\"returnType\",\"body\"],Identifier:[\"decorators\",\"typeAnnotation\"],MethodDefinition:[\"decorators\",\"key\",\"value\"],NewExpression:[\"callee\",\"typeParameters\",\"arguments\"],ObjectPattern:[\"decorators\",\"properties\",\"typeAnnotation\"],RestElement:[\"decorators\",\"argument\",\"typeAnnotation\"],TaggedTemplateExpression:[\"tag\",\"typeParameters\",\"quasi\"],JSXOpeningElement:[\"name\",\"typeParameters\",\"attributes\"],JSXClosingFragment:[],JSXOpeningFragment:[],JSXSpreadChild:[\"expression\"],ClassProperty:[\"decorators\",\"key\",\"typeAnnotation\",\"value\"],Decorator:[\"expression\"],TSAbstractClassProperty:[\"decorators\",\"key\",\"typeAnnotation\",\"value\"],TSAbstractKeyword:[],TSAbstractMethodDefinition:[\"key\",\"value\"],TSAnyKeyword:[],TSArrayType:[\"elementType\"],TSAsExpression:[\"expression\",\"typeAnnotation\"],TSAsyncKeyword:[],TSBigIntKeyword:[],TSBooleanKeyword:[],TSCallSignatureDeclaration:[\"typeParameters\",\"params\",\"returnType\"],TSClassImplements:[\"expression\",\"typeParameters\"],TSConditionalType:[\"checkType\",\"extendsType\",\"trueType\",\"falseType\"],TSConstructorType:[\"typeParameters\",\"params\",\"returnType\"],TSConstructSignatureDeclaration:[\"typeParameters\",\"params\",\"returnType\"],TSDeclareFunction:[\"id\",\"typeParameters\",\"params\",\"returnType\",\"body\"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:[\"id\",\"typeParameters\",\"params\",\"returnType\"],TSEnumDeclaration:[\"id\",\"members\"],TSEnumMember:[\"id\",\"initializer\"],TSExportAssignment:[\"expression\"],TSExportKeyword:[],TSExternalModuleReference:[\"expression\"],TSFunctionType:[\"typeParameters\",\"params\",\"returnType\"],TSImportEqualsDeclaration:[\"id\",\"moduleReference\"],TSImportType:[\"parameter\",\"qualifier\",\"typeParameters\"],TSIndexedAccessType:[\"indexType\",\"objectType\"],TSIndexSignature:[\"parameters\",\"typeAnnotation\"],TSInferType:[\"typeParameter\"],TSInterfaceBody:[\"body\"],TSInterfaceDeclaration:[\"id\",\"typeParameters\",\"extends\",\"body\"],TSInterfaceHeritage:[\"expression\",\"typeParameters\"],TSIntersectionType:[\"types\"],TSLiteralType:[\"literal\"],TSMappedType:[\"nameType\",\"typeParameter\",\"typeAnnotation\"],TSMethodSignature:[\"typeParameters\",\"key\",\"params\",\"returnType\"],TSModuleBlock:[\"body\"],TSModuleDeclaration:[\"id\",\"body\"],TSNamedTupleMember:[\"elementType\"],TSNamespaceExportDeclaration:[\"id\"],TSNeverKeyword:[],TSNonNullExpression:[\"expression\"],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSOptionalType:[\"typeAnnotation\"],TSParameterProperty:[\"decorators\",\"parameter\"],TSParenthesizedType:[\"typeAnnotation\"],TSPrivateKeyword:[],TSPropertySignature:[\"typeAnnotation\",\"key\",\"initializer\"],TSProtectedKeyword:[],TSPublicKeyword:[],TSQualifiedName:[\"left\",\"right\"],TSReadonlyKeyword:[],TSRestType:[\"typeAnnotation\"],TSStaticKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSTemplateLiteralType:[\"quasis\",\"types\"],TSThisType:[],TSTupleType:[\"elementTypes\"],TSTypeAliasDeclaration:[\"id\",\"typeParameters\",\"typeAnnotation\"],TSTypeAnnotation:[\"typeAnnotation\"],TSTypeAssertion:[\"typeAnnotation\",\"expression\"],TSTypeLiteral:[\"members\"],TSTypeOperator:[\"typeAnnotation\"],TSTypeParameter:[\"name\",\"constraint\",\"default\"],TSTypeParameterDeclaration:[\"params\"],TSTypeParameterInstantiation:[\"params\"],TSTypePredicate:[\"typeAnnotation\",\"parameterName\"],TSTypeQuery:[\"exprName\"],TSTypeReference:[\"typeName\",\"typeParameters\"],TSUndefinedKeyword:[],TSUnionType:[\"types\"],TSUnknownKeyword:[],TSVoidKeyword:[]});r.visitorKeys=o})),Os=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.visitorKeys=t.getKeys=void 0,Object.defineProperty(t,\"getKeys\",{enumerable:!0,get:function(){return ws.getKeys}}),Object.defineProperty(t,\"visitorKeys\",{enumerable:!0,get:function(){return Is.visitorKeys}})})),Ms=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.simpleTraverse=void 0;class r{constructor(e,t=!1){this.allVisitorKeys=Os.visitorKeys,this.selectors=e,this.setParentPointers=t}traverse(e,t){if(null===(r=e)||\"object\"!=typeof r||\"string\"!=typeof r.type)return;var r;this.setParentPointers&&(e.parent=t),\"enter\"in this.selectors?this.selectors.enter(e,t):e.type in this.selectors&&this.selectors[e.type](e,t);const n=function(e,t){const r=e[t.type];return null!=r?r:[]}(this.allVisitorKeys,e);if(!(n.length<1))for(const t of n){const r=e[t];if(Array.isArray(r))for(const t of r)this.traverse(t,e);else this.traverse(r,e)}}}t.simpleTraverse=function(e,t,n=!1){new r(t,n).traverse(e,void 0)}})),Ls=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.astConverter=void 0,t.astConverter=function(e,t,r){const n=e.parseDiagnostics;if(n.length)throw os.convertError(n[0]);const i=new os.Converter(e,{errorOnUnknownASTType:t.errorOnUnknownASTType||!1,useJSXTextNode:t.useJSXTextNode||!1,shouldPreserveNodeMaps:r}),a=i.convertProgram();return t.range&&t.loc||Ms.simpleTraverse(a,{enter:e=>{t.range||delete e.range,t.loc||delete e.loc}}),t.tokens&&(a.tokens=is.convertTokens(e)),t.comment&&(a.comments=Cs.convertComments(e,t.code)),{estree:a,astMaps:i.getASTMaps()}}})),Rs=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.getTsconfigPath=r.getScriptKind=r.getCanonicalFileName=r.ensureAbsolutePath=r.createDefaultCompilerOptionsFromExtra=r.canonicalDirname=void 0;const s=o(xo),c=a(Eo),u={allowNonTsExtensions:!0,allowJs:!0,checkJs:!0,noEmit:!0,noUnusedLocals:!0,noUnusedParameters:!0};r.createDefaultCompilerOptionsFromExtra=function(e){return e.debugLevel.has(\"typescript\")?Object.assign(Object.assign({},u),{extendedDiagnostics:!0}):u};const l=void 0===c.sys||c.sys.useCaseSensitiveFileNames?e=>e:e=>e.toLowerCase();function d(e){let t=s.default.normalize(e);return t.endsWith(s.default.sep)&&(t=t.substr(0,t.length-1)),l(t)}function _(e,t){return s.default.isAbsolute(e)?e:s.default.join(t.tsconfigRootDir||V.cwd(),e)}r.getCanonicalFileName=d,r.ensureAbsolutePath=_,r.getTsconfigPath=function(e,t){return d(_(e,t))},r.canonicalDirname=function(e){return s.default.dirname(e)},r.getScriptKind=function(e,t=e.filePath){switch(s.default.extname(t).toLowerCase()){case\".ts\":return c.ScriptKind.TS;case\".tsx\":return c.ScriptKind.TSX;case\".js\":return c.ScriptKind.JS;case\".jsx\":return c.ScriptKind.JSX;case\".json\":return c.ScriptKind.JSON;default:return e.jsx?c.ScriptKind.TSX:c.ScriptKind.TS}}})),Bs=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.createDefaultProgram=void 0;const s=o(fn),c=o(xo),u=a(Eo),l=s.default(\"typescript-eslint:typescript-estree:createDefaultProgram\");r.createDefaultProgram=function(e,t){if(l(\"Getting default program for: %s\",t.filePath||\"unnamed file\"),!t.projects||1!==t.projects.length)return;const r=Rs.getTsconfigPath(t.projects[0],t),n=u.getParsedCommandLineOfConfigFile(r,Rs.createDefaultCompilerOptionsFromExtra(t),Object.assign(Object.assign({},u.sys),{onUnRecoverableConfigFileDiagnostic:()=>{}}));if(!n)return;const i=u.createCompilerHost(n.options,!0),a=i.readFile;i.readFile=r=>c.default.normalize(r)===c.default.normalize(t.filePath)?e:a(r);const o=u.createProgram([t.filePath],n.options,i),s=o.getSourceFile(t.filePath);return s&&{ast:s,program:o}}})),js=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.createIsolatedProgram=void 0;const s=o(fn),c=a(Eo),u=s.default(\"typescript-eslint:typescript-estree:createIsolatedProgram\");r.createIsolatedProgram=function(e,t){u(\"Getting isolated program in %s mode for: %s\",t.jsx?\"TSX\":\"TS\",t.filePath);const r={fileExists:()=>!0,getCanonicalFileName:()=>t.filePath,getCurrentDirectory:()=>\"\",getDirectories:()=>[],getDefaultLibFileName:()=>\"lib.d.ts\",getNewLine:()=>\"\\n\",getSourceFile:r=>c.createSourceFile(r,e,c.ScriptTarget.Latest,!0,Rs.getScriptKind(t,r)),readFile(){},useCaseSensitiveFileNames:()=>!0,writeFile:()=>null},n=c.createProgram([t.filePath],Object.assign({noResolve:!0,target:c.ScriptTarget.Latest,jsx:t.jsx?c.JsxEmit.Preserve:void 0},Rs.createDefaultCompilerOptionsFromExtra(t)),r),i=n.getSourceFile(t.filePath);if(!i)throw new Error(\"Expected an ast to be returned for the single-file isolated program.\");return{ast:i,program:n}}})),Js=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.getProgramsForProjects=r.createWatchProgram=r.clearCaches=void 0;const s=o(fn),c=o(bo),u=o(Pi),l=a(Eo),d=s.default(\"typescript-eslint:typescript-estree:createWatchProgram\"),_=new Map,p=new Map,f=new Map,g=new Map,m=new Map,y=new Map;function v(e){return(t,r)=>{const n=Rs.getCanonicalFileName(t),i=(()=>{let t=e.get(n);return t||(t=new Set,e.set(n,t)),t})();return i.add(r),{close:()=>{i.delete(r)}}}}r.clearCaches=function(){_.clear(),p.clear(),f.clear(),y.clear(),g.clear(),m.clear()};const h={code:\"\",filePath:\"\"};function D(e){throw new Error(l.flattenDiagnosticMessageText(e.messageText,l.sys.newLine))}function x(e){var t;return(null===(t=l.sys)||void 0===t?void 0:t.createHash)?l.sys.createHash(e):e}function b(e,t,r){const n=r.EXPERIMENTAL_useSourceOfProjectReferenceRedirect?new Set(t.getSourceFiles().map((e=>Rs.getCanonicalFileName(e.fileName)))):new Set(t.getRootFileNames().map((e=>Rs.getCanonicalFileName(e))));return g.set(e,n),n}r.getProgramsForProjects=function(e,t,r){const n=Rs.getCanonicalFileName(t),i=[];h.code=e,h.filePath=n;const a=p.get(n),o=x(e);y.get(n)!==o&&a&&a.size>0&&a.forEach((e=>e(n,l.FileWatcherEventKind.Changed)));for(const[e,t]of _.entries()){let i=g.get(e),a=null;if(i||(a=t.getProgram().getProgram(),i=b(e,a,r)),i.has(n))return d(\"Found existing program for file. %s\",n),a=null!=a?a:t.getProgram().getProgram(),a.getTypeChecker(),[a]}d(\"File did not belong to any existing programs, moving to create/update. %s\",n);for(const e of r.projects){const t=Rs.getTsconfigPath(e,r),a=_.get(t);if(a){const e=T(a,n,t);if(!e)continue;e.getTypeChecker();if(b(t,e,r).has(n))return d(\"Found updated program for file. %s\",n),[e];i.push(e);continue}const o=E(t,r);_.set(t,o);const s=o.getProgram().getProgram();s.getTypeChecker();if(b(t,s,r).has(n))return d(\"Found program for file. %s\",n),[s];i.push(s)}return i};const S=u.default.satisfies(l.version,\">=3.9.0-beta\",{includePrerelease:!0});function E(e,t){d(\"Creating watch program for %s.\",e);const r=l.createWatchCompilerHost(e,Rs.createDefaultCompilerOptionsFromExtra(t),l.sys,l.createAbstractBuilder,D,(()=>{})),n=r.readFile;r.readFile=(e,t)=>{const r=Rs.getCanonicalFileName(e),i=r===h.filePath?h.code:n(r,t);return void 0!==i&&y.set(r,x(i)),i},r.onUnRecoverableConfigFileDiagnostic=D,r.afterProgramCreate=e=>{const t=e.getConfigFileParsingDiagnostics().filter((e=>e.category===l.DiagnosticCategory.Error&&18003!==e.code));t.length>0&&D(t[0])},r.watchFile=v(p),r.watchDirectory=v(f);const i=r.onCachedDirectoryStructureHostCreate;let a;r.onCachedDirectoryStructureHostCreate=e=>{const r=e.readDirectory;e.readDirectory=(e,n,i,a,o)=>r(e,n?n.concat(t.extraFileExtensions):void 0,i,a,o),i(e)},r.extraFileExtensions=t.extraFileExtensions.map((e=>({extension:e,isMixedContent:!0,scriptKind:l.ScriptKind.Deferred}))),r.trace=d,r.useSourceOfProjectReferenceRedirect=()=>t.EXPERIMENTAL_useSourceOfProjectReferenceRedirect,S?(r.setTimeout=void 0,r.clearTimeout=void 0):(d(\"Running without timeout fix\"),r.setTimeout=(e,t,...r)=>(a=e.bind(void 0,...r),a),r.clearTimeout=()=>{a=void 0});const o=l.createWatchProgram(r);if(!S){const e=o.getProgram;o.getProgram=()=>(a&&a(),a=void 0,e.call(o))}return o}function T(e,t,r){let n=e.getProgram().getProgram();if(\"true\"===V.env.TSESTREE_NO_INVALIDATION)return n;(function(e){const t=c.default.statSync(e).mtimeMs,r=m.get(e);return m.set(e,t),void 0!==r&&Math.abs(r-t)>Number.EPSILON})(r)&&(d(\"tsconfig has changed - triggering program update. %s\",r),p.get(r).forEach((e=>e(r,l.FileWatcherEventKind.Changed))),g.delete(r));let i=n.getSourceFile(t);if(i)return n;d(\"File was not found in program - triggering folder update. %s\",t);const a=Rs.canonicalDirname(t);let o=null,s=a,u=!1;for(;o!==s;){o=s;const e=f.get(o);e&&(e.forEach((e=>{a!==o&&e(a,l.FileWatcherEventKind.Changed),e(o,l.FileWatcherEventKind.Changed)})),u=!0),s=Rs.canonicalDirname(o)}if(!u)return d(\"No callback found for file, not part of this program. %s\",t),null;if(g.delete(r),n=e.getProgram().getProgram(),i=n.getSourceFile(t),i)return n;d(\"File was still not found in program after directory update - checking file deletions. %s\",t);const _=n.getRootFileNames().find((e=>!c.default.existsSync(e)));if(!_)return null;const y=p.get(Rs.getCanonicalFileName(_));return y?(d(\"Marking file as deleted. %s\",_),y.forEach((e=>e(_,l.FileWatcherEventKind.Deleted))),g.delete(r),n=e.getProgram().getProgram(),i=n.getSourceFile(t),i?n:(d(\"File was still not found in program after deletion check, assuming it is not part of this program. %s\",t),null)):(d(\"Could not find watch callbacks for root file. %s\",_),n)}r.createWatchProgram=E})),Ks=r((function(e,r){var n=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.createProjectProgram=void 0;const i=n(fn),a=n(xo),o=i.default(\"typescript-eslint:typescript-estree:createProjectProgram\"),s=[\".ts\",\".tsx\",\".js\",\".jsx\"];function c(e){return e?e.endsWith(\".d.ts\")?\".d.ts\":a.default.extname(e):null}r.createProjectProgram=function(e,t,r){o(\"Creating project program for: %s\",r.filePath);const n=is.firstDefined(Js.getProgramsForProjects(e,r.filePath,r),(e=>{const t=e.getSourceFile(r.filePath);if(c(r.filePath)===c(null==t?void 0:t.fileName))return t&&{ast:t,program:e}}));if(!n&&!t){const e=['\"parserOptions.project\" has been set for @typescript-eslint/parser.',\"The file does not match your project config: \".concat(a.default.relative(r.tsconfigRootDir||V.cwd(),r.filePath),\".\")];let t=!1;const n=r.extraFileExtensions||[];n.forEach((t=>{t.startsWith(\".\")||e.push('Found unexpected extension \"'.concat(t,'\" specified with the \"extraFileExtensions\" option. Did you mean \".').concat(t,'\"?')),s.includes(t)&&e.push('You unnecessarily included the extension \"'.concat(t,'\" with the \"extraFileExtensions\" option. This extension is already handled by the parser by default.'))}));const i=a.default.extname(r.filePath);if(!s.includes(i)){const r=\"The extension for the file (\".concat(i,\") is non-standard\");n.length>0?n.includes(i)||(e.push(\"\".concat(r,'. It should be added to your existing \"parserOptions.extraFileExtensions\".')),t=!0):(e.push(\"\".concat(r,'. You should add \"parserOptions.extraFileExtensions\" to your config.')),t=!0)}throw t||e.push(\"The file must be included in at least one of the projects provided.\"),new Error(e.join(\"\\n\"))}return n}})),zs=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.createSourceFile=void 0;const s=o(fn),c=a(Eo),u=s.default(\"typescript-eslint:typescript-estree:createSourceFile\");r.createSourceFile=function(e,t){return u(\"Getting AST without type information in %s mode for: %s\",t.jsx?\"TSX\":\"TS\",t.filePath),c.createSourceFile(t.filePath,e,c.ScriptTarget.Latest,!0,Rs.getScriptKind(t))}})),Us=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,\"__esModule\",{value:!0}),r.getFirstSemanticOrSyntacticError=void 0;const o=a(Eo);function s(e){return e.filter((e=>{switch(e.code){case 1013:case 1014:case 1044:case 1045:case 1048:case 1049:case 1070:case 1071:case 1085:case 1090:case 1096:case 1097:case 1098:case 1099:case 1117:case 1121:case 1123:case 1141:case 1162:case 1164:case 1172:case 1173:case 1175:case 1176:case 1190:case 1196:case 1200:case 1206:case 1211:case 1242:case 1246:case 1255:case 1308:case 2364:case 2369:case 2452:case 2462:case 8017:case 17012:case 17013:return!0}return!1}))}function c(e){return Object.assign(Object.assign({},e),{message:o.flattenDiagnosticMessageText(e.messageText,o.sys.newLine)})}r.getFirstSemanticOrSyntacticError=function(e,t){try{const r=s(e.getSyntacticDiagnostics(t));if(r.length)return c(r[0]);const n=s(e.getSemanticDiagnostics(t));return n.length?c(n[0]):void 0}catch(e){return void console.warn('Warning From TSC: \"'.concat(e.message))}}})),Vs=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.parseWithNodeMaps=r.parseAndGenerateServices=r.parse=void 0;const s=o(fn),c={},u=o(vn),l=o(Pi),d=a(Eo),_=s.default(\"typescript-eslint:typescript-estree:parser\"),p=\">=3.3.1 <4.2.0\",f=d.version,g=l.default.satisfies(f,[p].concat([\"4.1.1-rc\",\"4.1.0-beta\"]).join(\" || \"));let m,y=!1;function v(e){return\"string\"!=typeof e?String(e):e}function h({jsx:e}={}){return e?\"estree.tsx\":\"estree.ts\"}function D(){m={code:\"\",comment:!1,comments:[],createDefaultProgram:!1,debugLevel:new Set,errorOnTypeScriptSyntacticAndSemanticIssues:!1,errorOnUnknownASTType:!1,EXPERIMENTAL_useSourceOfProjectReferenceRedirect:!1,extraFileExtensions:[],filePath:h(),jsx:!1,loc:!1,log:console.log,preserveNodeMaps:!0,projects:[],range:!1,strict:!1,tokens:null,tsconfigRootDir:V.cwd(),useJSXTextNode:!1}}function x(e){var t;if(!0===e.debugLevel?m.debugLevel=new Set([\"typescript-eslint\"]):Array.isArray(e.debugLevel)&&(m.debugLevel=new Set(e.debugLevel)),m.debugLevel.size>0){const e=[];m.debugLevel.has(\"typescript-eslint\")&&e.push(\"typescript-eslint:*\"),(m.debugLevel.has(\"eslint\")||s.default.enabled(\"eslint:*,-eslint:code-path\"))&&e.push(\"eslint:*,-eslint:code-path\"),s.default.enable(e.join(\",\"))}m.range=\"boolean\"==typeof e.range&&e.range,m.loc=\"boolean\"==typeof e.loc&&e.loc,\"boolean\"==typeof e.tokens&&e.tokens&&(m.tokens=[]),\"boolean\"==typeof e.comment&&e.comment&&(m.comment=!0,m.comments=[]),\"boolean\"==typeof e.jsx&&e.jsx&&(m.jsx=!0),\"string\"==typeof e.filePath&&\"\"!==e.filePath?m.filePath=e.filePath:m.filePath=h(m),\"boolean\"==typeof e.useJSXTextNode&&e.useJSXTextNode&&(m.useJSXTextNode=!0),\"boolean\"==typeof e.errorOnUnknownASTType&&e.errorOnUnknownASTType&&(m.errorOnUnknownASTType=!0),\"function\"==typeof e.loggerFn?m.log=e.loggerFn:!1===e.loggerFn&&(m.log=()=>{}),\"string\"==typeof e.tsconfigRootDir&&(m.tsconfigRootDir=e.tsconfigRootDir),m.filePath=Rs.ensureAbsolutePath(m.filePath,m);const r=(null!==(t=e.projectFolderIgnoreList)&&void 0!==t?t:[]).reduce(((e,t)=>(\"string\"==typeof t&&e.push(t),e)),[]).map((e=>e.startsWith(\"!\")?e:\"!\".concat(e)));m.projects=[]||function(e,t){let r=[];if(\"string\"==typeof e)r.push(e);else if(Array.isArray(e))for(const t of e)\"string\"==typeof t&&r.push(t);if(0===r.length)return r;const n=r.filter((e=>u.default(e)));return r=r.filter((e=>!u.default(e))).concat(c.sync([...n,...t],{cwd:m.tsconfigRootDir})),_(\"parserOptions.project (excluding ignored) matched projects: %s\",r),r}(e.project,r),Array.isArray(e.extraFileExtensions)&&e.extraFileExtensions.every((e=>\"string\"==typeof e))&&(m.extraFileExtensions=e.extraFileExtensions),\"boolean\"==typeof e.preserveNodeMaps&&(m.preserveNodeMaps=e.preserveNodeMaps),m.createDefaultProgram=\"boolean\"==typeof e.createDefaultProgram&&e.createDefaultProgram,m.EXPERIMENTAL_useSourceOfProjectReferenceRedirect=\"boolean\"==typeof e.EXPERIMENTAL_useSourceOfProjectReferenceRedirect&&e.EXPERIMENTAL_useSourceOfProjectReferenceRedirect}function b(){var e;if(!g&&!y){if(void 0!==typeof V&&(null===(e=V.stdout)||void 0===e?void 0:e.isTTY)){const e=\"=============\",t=[e,\"WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.\",\"You may find that it works just fine, or you may not.\",\"SUPPORTED TYPESCRIPT VERSIONS: \".concat(p),\"YOUR TYPESCRIPT VERSION: \".concat(f),\"Please only submit bug reports when using the officially supported version.\",e];m.log(t.join(\"\\n\\n\"))}y=!0}}function S(e,t,r){if(D(),null==t?void 0:t.errorOnTypeScriptSyntacticAndSemanticIssues)throw new Error('\"errorOnTypeScriptSyntacticAndSemanticIssues\" is only supported for parseAndGenerateServices()');e=v(e),m.code=e,void 0!==t&&x(t),b();const n=zs.createSourceFile(e,m),{estree:i,astMaps:a}=Ls.astConverter(n,m,r);return{ast:i,esTreeNodeToTSNodeMap:a.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:a.tsNodeToESTreeNodeMap}}r.parse=function(e,t){const{ast:r}=S(e,t,!1);return r},r.parseWithNodeMaps=function(e,t){return S(e,t,!0)},r.parseAndGenerateServices=function(e,t){D(),e=v(e),m.code=e,void 0!==t&&(x(t),\"boolean\"==typeof t.errorOnTypeScriptSyntacticAndSemanticIssues&&t.errorOnTypeScriptSyntacticAndSemanticIssues&&(m.errorOnTypeScriptSyntacticAndSemanticIssues=!0)),b();const r=m.projects&&m.projects.length>0,{ast:n,program:i}=function(e,t,r){return t&&Ks.createProjectProgram(e,r,m)||t&&r&&Bs.createDefaultProgram(e,m)||js.createIsolatedProgram(e,m)}(e,r,m.createDefaultProgram),a=\"boolean\"!=typeof m.preserveNodeMaps||m.preserveNodeMaps,{estree:o,astMaps:s}=Ls.astConverter(n,m,a);if(i&&m.errorOnTypeScriptSyntacticAndSemanticIssues){const e=Us.getFirstSemanticOrSyntacticError(i,n);if(e)throw os.convertError(e)}return{ast:o,services:{hasFullTypeInformation:r,program:i,esTreeNodeToTSNodeMap:s.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:s.tsNodeToESTreeNodeMap}}}})),qs=\"4.8.1\",Ws=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(r,\"__esModule\",{value:!0}),r.version=r.visitorKeys=r.clearCaches=r.simpleTraverse=void 0,i(Vs,r),Object.defineProperty(r,\"simpleTraverse\",{enumerable:!0,get:function(){return Ms.simpleTraverse}}),i(ns,r),Object.defineProperty(r,\"clearCaches\",{enumerable:!0,get:function(){return Js.clearCaches}}),Object.defineProperty(r,\"visitorKeys\",{enumerable:!0,get:function(){return Os.visitorKeys}}),r.version=qs}));const{hasPragma:Hs}=Ze,{locStart:Gs,locEnd:Ys}=nt;function Xs(e,t){const{parseWithNodeMaps:r}=Ws;return r(e,{loc:!0,range:!0,comment:!0,useJSXTextNode:!0,jsx:t,tokens:!0,loggerFn:!1,project:[]})}return{parsers:{typescript:{parse:function(t,r,n){const i=function(e){return new RegExp([\"(^[^\\\"'`]*)\"].join(\"\"),\"m\").test(e)}(t);let a;try{a=Xs(t,i)}catch(r){try{a=Xs(t,!i)}catch(t){const{message:n,lineNumber:i,column:a}=r;if(\"number\"!=typeof i)throw r;throw e(n,{start:{line:i,column:a+1}})}}return qr(a.ast,Object.assign({},n,{originalText:t,tsParseResult:a}))},astFormat:\"estree\",hasPragma:Hs,locStart:Gs,locEnd:Ys}}}}));\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.curly = exports.Share = exports.Multi = exports.Easy = exports.Curl = void 0;\r\nconst tslib_1 = require(\"tslib\");\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n/**\r\n * node-libcurl\r\n * @packageDocumentation\r\n */\r\nvar Curl_1 = require(\"./Curl\");\r\nObject.defineProperty(exports, \"Curl\", { enumerable: true, get: function () { return Curl_1.Curl; } });\r\nvar Easy_1 = require(\"./Easy\");\r\nObject.defineProperty(exports, \"Easy\", { enumerable: true, get: function () { return Easy_1.Easy; } });\r\nvar Multi_1 = require(\"./Multi\");\r\nObject.defineProperty(exports, \"Multi\", { enumerable: true, get: function () { return Multi_1.Multi; } });\r\nvar Share_1 = require(\"./Share\");\r\nObject.defineProperty(exports, \"Share\", { enumerable: true, get: function () { return Share_1.Share; } });\r\nvar curly_1 = require(\"./curly\");\r\nObject.defineProperty(exports, \"curly\", { enumerable: true, get: function () { return curly_1.curly; } });\r\n// enums\r\ntslib_1.__exportStar(require(\"./enum/CurlAuth\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlChunk\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlCode\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlFeature\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlFileType\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlFnMatchFunc\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlFtpMethod\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlFtpSsl\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlGlobalInit\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlGssApi\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlHeader\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlHttpVersion\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlInfoDebug\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlIpResolve\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlNetrc\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlPause\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlPipe\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlProgressFunc\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlProtocol\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlProxy\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlPush\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlPx\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlReadFunc\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlRtspRequest\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlShareLock\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlShareOption\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlSshAuth\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlSslOpt\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlSslVersion\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlTimeCond\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlUseSsl\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlVersion\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlWriteFunc\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/SocketState\"), exports);\r\n//# sourceMappingURL=index.js.map","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('rm', _rm, {\n cmdOptions: {\n 'f': 'force',\n 'r': 'recursive',\n 'R': 'recursive',\n },\n});\n\n// Recursively removes 'dir'\n// Adapted from https://github.com/ryanmcgrath/wrench-js\n//\n// Copyright (c) 2010 Ryan McGrath\n// Copyright (c) 2012 Artur Adib\n//\n// Licensed under the MIT License\n// http://www.opensource.org/licenses/mit-license.php\nfunction rmdirSyncRecursive(dir, force, fromSymlink) {\n var files;\n\n files = fs.readdirSync(dir);\n\n // Loop through and delete everything in the sub-tree after checking it\n for (var i = 0; i < files.length; i++) {\n var file = dir + '/' + files[i];\n var currFile = common.statNoFollowLinks(file);\n\n if (currFile.isDirectory()) { // Recursive function back to the beginning\n rmdirSyncRecursive(file, force);\n } else { // Assume it's a file - perhaps a try/catch belongs here?\n if (force || isWriteable(file)) {\n try {\n common.unlinkSync(file);\n } catch (e) {\n /* istanbul ignore next */\n common.error('could not remove file (code ' + e.code + '): ' + file, {\n continue: true,\n });\n }\n }\n }\n }\n\n // if was directory was referenced through a symbolic link,\n // the contents should be removed, but not the directory itself\n if (fromSymlink) return;\n\n // Now that we know everything in the sub-tree has been deleted, we can delete the main directory.\n // Huzzah for the shopkeep.\n\n var result;\n try {\n // Retry on windows, sometimes it takes a little time before all the files in the directory are gone\n var start = Date.now();\n\n // TODO: replace this with a finite loop\n for (;;) {\n try {\n result = fs.rmdirSync(dir);\n if (fs.existsSync(dir)) throw { code: 'EAGAIN' };\n break;\n } catch (er) {\n /* istanbul ignore next */\n // In addition to error codes, also check if the directory still exists and loop again if true\n if (process.platform === 'win32' && (er.code === 'ENOTEMPTY' || er.code === 'EBUSY' || er.code === 'EPERM' || er.code === 'EAGAIN')) {\n if (Date.now() - start > 1000) throw er;\n } else if (er.code === 'ENOENT') {\n // Directory did not exist, deletion was successful\n break;\n } else {\n throw er;\n }\n }\n }\n } catch (e) {\n common.error('could not remove directory (code ' + e.code + '): ' + dir, { continue: true });\n }\n\n return result;\n} // rmdirSyncRecursive\n\n// Hack to determine if file has write permissions for current user\n// Avoids having to check user, group, etc, but it's probably slow\nfunction isWriteable(file) {\n var writePermission = true;\n try {\n var __fd = fs.openSync(file, 'a');\n fs.closeSync(__fd);\n } catch (e) {\n writePermission = false;\n }\n\n return writePermission;\n}\n\nfunction handleFile(file, options) {\n if (options.force || isWriteable(file)) {\n // -f was passed, or file is writable, so it can be removed\n common.unlinkSync(file);\n } else {\n common.error('permission denied: ' + file, { continue: true });\n }\n}\n\nfunction handleDirectory(file, options) {\n if (options.recursive) {\n // -r was passed, so directory can be removed\n rmdirSyncRecursive(file, options.force);\n } else {\n common.error('path is a directory', { continue: true });\n }\n}\n\nfunction handleSymbolicLink(file, options) {\n var stats;\n try {\n stats = common.statFollowLinks(file);\n } catch (e) {\n // symlink is broken, so remove the symlink itself\n common.unlinkSync(file);\n return;\n }\n\n if (stats.isFile()) {\n common.unlinkSync(file);\n } else if (stats.isDirectory()) {\n if (file[file.length - 1] === '/') {\n // trailing separator, so remove the contents, not the link\n if (options.recursive) {\n // -r was passed, so directory can be removed\n var fromSymlink = true;\n rmdirSyncRecursive(file, options.force, fromSymlink);\n } else {\n common.error('path is a directory', { continue: true });\n }\n } else {\n // no trailing separator, so remove the link\n common.unlinkSync(file);\n }\n }\n}\n\nfunction handleFIFO(file) {\n common.unlinkSync(file);\n}\n\n//@\n//@ ### rm([options,] file [, file ...])\n//@ ### rm([options,] file_array)\n//@\n//@ Available options:\n//@\n//@ + `-f`: force\n//@ + `-r, -R`: recursive\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ rm('-rf', '/tmp/*');\n//@ rm('some_file.txt', 'another_file.txt');\n//@ rm(['some_file.txt', 'another_file.txt']); // same as above\n//@ ```\n//@\n//@ Removes files.\nfunction _rm(options, files) {\n if (!files) common.error('no paths given');\n\n // Convert to array\n files = [].slice.call(arguments, 1);\n\n files.forEach(function (file) {\n var lstats;\n try {\n var filepath = (file[file.length - 1] === '/')\n ? file.slice(0, -1) // remove the '/' so lstatSync can detect symlinks\n : file;\n lstats = common.statNoFollowLinks(filepath); // test for existence\n } catch (e) {\n // Path does not exist, no force flag given\n if (!options.force) {\n common.error('no such file or directory: ' + file, { continue: true });\n }\n return; // skip file\n }\n\n // If here, path exists\n if (lstats.isFile()) {\n handleFile(file, options);\n } else if (lstats.isDirectory()) {\n handleDirectory(file, options);\n } else if (lstats.isSymbolicLink()) {\n handleSymbolicLink(file, options);\n } else if (lstats.isFIFO()) {\n handleFIFO(file);\n }\n }); // forEach(file)\n return '';\n} // rm\nmodule.exports = _rm;\n",null,"\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SocketState = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n/**\r\n * This will be the type of the second parameter passed to the callback set with\r\n * {@link \"Easy\".Easy.onSocketEvent|`Easy#onSocketEvent`}.\r\n * @public\r\n */\r\nvar SocketState;\r\n(function (SocketState) {\r\n SocketState[SocketState[\"Readable\"] = 1] = \"Readable\";\r\n SocketState[SocketState[\"Writable\"] = 2] = \"Writable\";\r\n})(SocketState = exports.SocketState || (exports.SocketState = {}));\r\n//# sourceMappingURL=SocketState.js.map","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()\n .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 = require(\"module\");","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('test', _test, {\n cmdOptions: {\n 'b': 'block',\n 'c': 'character',\n 'd': 'directory',\n 'e': 'exists',\n 'f': 'file',\n 'L': 'link',\n 'p': 'pipe',\n 'S': 'socket',\n },\n wrapOutput: false,\n allowGlobbing: false,\n});\n\n\n//@\n//@ ### test(expression)\n//@\n//@ Available expression primaries:\n//@\n//@ + `'-b', 'path'`: true if path is a block device\n//@ + `'-c', 'path'`: true if path is a character device\n//@ + `'-d', 'path'`: true if path is a directory\n//@ + `'-e', 'path'`: true if path exists\n//@ + `'-f', 'path'`: true if path is a regular file\n//@ + `'-L', 'path'`: true if path is a symbolic link\n//@ + `'-p', 'path'`: true if path is a pipe (FIFO)\n//@ + `'-S', 'path'`: true if path is a socket\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ if (test('-d', path)) { /* do something with dir */ };\n//@ if (!test('-f', path)) continue; // skip if it's a regular file\n//@ ```\n//@\n//@ Evaluates `expression` using the available primaries and returns corresponding value.\nfunction _test(options, path) {\n if (!path) common.error('no path given');\n\n var canInterpret = false;\n Object.keys(options).forEach(function (key) {\n if (options[key] === true) {\n canInterpret = true;\n }\n });\n\n if (!canInterpret) common.error('could not interpret expression');\n\n if (options.link) {\n try {\n return common.statNoFollowLinks(path).isSymbolicLink();\n } catch (e) {\n return false;\n }\n }\n\n if (!fs.existsSync(path)) return false;\n\n if (options.exists) return true;\n\n var stats = common.statFollowLinks(path);\n\n if (options.block) return stats.isBlockDevice();\n\n if (options.character) return stats.isCharacterDevice();\n\n if (options.directory) return stats.isDirectory();\n\n if (options.file) return stats.isFile();\n\n /* istanbul ignore next */\n if (options.pipe) return stats.isFIFO();\n\n /* istanbul ignore next */\n if (options.socket) return stats.isSocket();\n\n /* istanbul ignore next */\n return false; // fallback\n} // test\nmodule.exports = _test;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlProgressFunc = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/8bd863f97b6c79f561bc063e634cecdf4badf776/include/curl/curl.h#L214-L216\r\n/**\r\n * To be used with the progress callback\r\n *\r\n * `CURL_PROGRESSFUNC_CONTINUE` becomes `CurlProgressFunc.Continue`\r\n *\r\n * @public\r\n */\r\nvar CurlProgressFunc;\r\n(function (CurlProgressFunc) {\r\n /**\r\n * This is a return code for the progress callback that, when returned, will\r\n * signal libcurl to continue executing the default progress function\r\n * Added on libcurl 7.68\r\n */\r\n CurlProgressFunc[CurlProgressFunc[\"Continue\"] = 268435457] = \"Continue\";\r\n})(CurlProgressFunc = exports.CurlProgressFunc || (exports.CurlProgressFunc = {}));\r\n//# sourceMappingURL=CurlProgressFunc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.tempFixes = void 0;\nconst tempFixes = async () => { };\nexports.tempFixes = tempFixes;\n//# sourceMappingURL=temp.js.map","'use strict';\n\nconst Mailer = require('./mailer');\nconst shared = require('./shared');\nconst SMTPPool = require('./smtp-pool');\nconst SMTPTransport = require('./smtp-transport');\nconst SendmailTransport = require('./sendmail-transport');\nconst StreamTransport = require('./stream-transport');\nconst JSONTransport = require('./json-transport');\nconst SESTransport = require('./ses-transport');\nconst fetch = require('./fetch');\nconst packageData = require('../package.json');\n\nconst ETHEREAL_API = (process.env.ETHEREAL_API || 'https://api.nodemailer.com').replace(/\\/+$/, '');\nconst ETHEREAL_WEB = (process.env.ETHEREAL_WEB || 'https://ethereal.email').replace(/\\/+$/, '');\nconst ETHEREAL_CACHE = ['true', 'yes', 'y', '1'].includes((process.env.ETHEREAL_CACHE || 'yes').toString().trim().toLowerCase());\n\nlet testAccount = false;\n\nmodule.exports.createTransport = function (transporter, defaults) {\n let urlConfig;\n let options;\n let mailer;\n\n if (\n // provided transporter is a configuration object, not transporter plugin\n (typeof transporter === 'object' && typeof transporter.send !== 'function') ||\n // provided transporter looks like a connection url\n (typeof transporter === 'string' && /^(smtps?|direct):/i.test(transporter))\n ) {\n if ((urlConfig = typeof transporter === 'string' ? transporter : transporter.url)) {\n // parse a configuration URL into configuration options\n options = shared.parseConnectionUrl(urlConfig);\n } else {\n options = transporter;\n }\n\n if (options.pool) {\n transporter = new SMTPPool(options);\n } else if (options.sendmail) {\n transporter = new SendmailTransport(options);\n } else if (options.streamTransport) {\n transporter = new StreamTransport(options);\n } else if (options.jsonTransport) {\n transporter = new JSONTransport(options);\n } else if (options.SES) {\n transporter = new SESTransport(options);\n } else {\n transporter = new SMTPTransport(options);\n }\n }\n\n mailer = new Mailer(transporter, options, defaults);\n\n return mailer;\n};\n\nmodule.exports.createTestAccount = function (apiUrl, callback) {\n let promise;\n\n if (!callback && typeof apiUrl === 'function') {\n callback = apiUrl;\n apiUrl = false;\n }\n\n if (!callback) {\n promise = new Promise((resolve, reject) => {\n callback = shared.callbackPromise(resolve, reject);\n });\n }\n\n if (ETHEREAL_CACHE && testAccount) {\n setImmediate(() => callback(null, testAccount));\n return promise;\n }\n\n apiUrl = apiUrl || ETHEREAL_API;\n\n let chunks = [];\n let chunklen = 0;\n\n let req = fetch(apiUrl + '/user', {\n contentType: 'application/json',\n method: 'POST',\n body: Buffer.from(\n JSON.stringify({\n requestor: packageData.name,\n version: packageData.version\n })\n )\n });\n\n req.on('readable', () => {\n let chunk;\n while ((chunk = req.read()) !== null) {\n chunks.push(chunk);\n chunklen += chunk.length;\n }\n });\n\n req.once('error', err => callback(err));\n\n req.once('end', () => {\n let res = Buffer.concat(chunks, chunklen);\n let data;\n let err;\n try {\n data = JSON.parse(res.toString());\n } catch (E) {\n err = E;\n }\n if (err) {\n return callback(err);\n }\n if (data.status !== 'success' || data.error) {\n return callback(new Error(data.error || 'Request failed'));\n }\n delete data.status;\n testAccount = data;\n callback(null, testAccount);\n });\n\n return promise;\n};\n\nmodule.exports.getTestMessageUrl = function (info) {\n if (!info || !info.response) {\n return false;\n }\n\n let infoProps = new Map();\n info.response.replace(/\\[([^\\]]+)\\]$/, (m, props) => {\n props.replace(/\\b([A-Z0-9]+)=([^\\s]+)/g, (m, key, value) => {\n infoProps.set(key, value);\n });\n });\n\n if (infoProps.has('STATUS') && infoProps.has('MSGID')) {\n return (testAccount.web || ETHEREAL_WEB) + '/message/' + infoProps.get('MSGID');\n }\n\n return false;\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst VERSION = \"2.3.0\";\n\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 */\nfunction normalizePaginatedListResponse(response) {\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n\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\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n\n response.data.total_count = totalCount;\n return response;\n}\n\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : 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 next() {\n if (!url) {\n return Promise.resolve({\n done: true\n });\n }\n\n return requestMethod({\n method,\n url,\n headers\n }).then(normalizePaginatedListResponse).then(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 = ((response.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return {\n value: response\n };\n });\n }\n\n })\n };\n}\n\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\n\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then(result => {\n if (result.done) {\n return results;\n }\n\n let earlyExit = false;\n\n function done() {\n earlyExit = true;\n }\n\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n\n if (earlyExit) {\n return results;\n }\n\n return gather(octokit, results, iterator, mapFn);\n });\n}\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\n\nfunction 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\nexports.paginateRest = paginateRest;\n//# sourceMappingURL=index.js.map\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 = require(\"string_decoder\");","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","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Easy = void 0;\r\n// eslint-disable-next-line @typescript-eslint/no-var-requires\r\nconst bindings = require('../lib/binding/node_libcurl.node');\r\n/**\r\n * This is a Node.js wrapper around the binding {@link EasyNativeBinding | native Easy class}\r\n *\r\n * @public\r\n */\r\nclass Easy extends bindings.Easy {\r\n}\r\nexports.Easy = Easy;\r\n//# sourceMappingURL=Easy.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlGssApi = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898fccafc5d6cd04f6235f283cfbd/include/curl/curl.h#L7\r\n/**\r\n * Object with constants for option `GSSAPI_DELEGATION`\r\n *\r\n * `CURLGSSAPI_DELEGATION_FLAG` becomes `CurlGssApi.DelegationFlag`\r\n *\r\n * @public\r\n */\r\nvar CurlGssApi;\r\n(function (CurlGssApi) {\r\n /**\r\n * None, default\r\n */\r\n CurlGssApi[CurlGssApi[\"None\"] = 0] = \"None\";\r\n /**\r\n * if permitted by policy\r\n */\r\n CurlGssApi[CurlGssApi[\"PolicyFlag\"] = 1] = \"PolicyFlag\";\r\n /**\r\n * delegate always\r\n */\r\n CurlGssApi[CurlGssApi[\"DelegationFlag\"] = 2] = \"DelegationFlag\";\r\n})(CurlGssApi = exports.CurlGssApi || (exports.CurlGssApi = {}));\r\n//# sourceMappingURL=CurlGssApi.js.map","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","/**\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","'use strict'\nconst u = require('universalify').fromPromise\nconst fs = require('../fs')\n\nfunction pathExists (path) {\n return fs.access(path).then(() => true).catch(() => false)\n}\n\nmodule.exports = {\n pathExists: u(pathExists),\n pathExistsSync: fs.existsSync\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst VERSION = \"1.0.0\";\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\n\nfunction requestLog(octokit) {\n octokit.hook.wrap(\"request\", (request, options) => {\n octokit.log.debug(\"request\", options);\n const start = Date.now();\n const requestOptions = octokit.request.endpoint.parse(options);\n const path = requestOptions.url.replace(options.baseUrl, \"\");\n return request(options).then(response => {\n octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`);\n return response;\n }).catch(error => {\n octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`);\n throw error;\n });\n });\n}\nrequestLog.VERSION = VERSION;\n\nexports.requestLog = requestLog;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nconst fs = require('fs');\nconst shebangCommand = require('shebang-command');\n\nfunction readShebang(command) {\n // Read the first 150 bytes from the file\n const size = 150;\n let buffer;\n\n if (Buffer.alloc) {\n // Node.js v4.5+ / v5.10+\n buffer = Buffer.alloc(size);\n } else {\n // Old Node.js API\n buffer = new Buffer(size);\n buffer.fill(0); // zero-fill\n }\n\n let fd;\n\n try {\n fd = fs.openSync(command, 'r');\n fs.readSync(fd, buffer, 0, size, 0);\n fs.closeSync(fd);\n } catch (e) { /* Empty */ }\n\n // Attempt to extract shebang (null is returned if not a shebang)\n return shebangCommand(buffer.toString());\n}\n\nmodule.exports = readShebang;\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('sort', _sort, {\n canReceivePipe: true,\n cmdOptions: {\n 'r': 'reverse',\n 'n': 'numerical',\n },\n});\n\n// parse out the number prefix of a line\nfunction parseNumber(str) {\n var match = str.match(/^\\s*(\\d*)\\s*(.*)$/);\n return { num: Number(match[1]), value: match[2] };\n}\n\n// compare two strings case-insensitively, but examine case for strings that are\n// case-insensitive equivalent\nfunction unixCmp(a, b) {\n var aLower = a.toLowerCase();\n var bLower = b.toLowerCase();\n return (aLower === bLower ?\n -1 * a.localeCompare(b) : // unix sort treats case opposite how javascript does\n aLower.localeCompare(bLower));\n}\n\n// compare two strings in the fashion that unix sort's -n option works\nfunction numericalCmp(a, b) {\n var objA = parseNumber(a);\n var objB = parseNumber(b);\n if (objA.hasOwnProperty('num') && objB.hasOwnProperty('num')) {\n return ((objA.num !== objB.num) ?\n (objA.num - objB.num) :\n unixCmp(objA.value, objB.value));\n } else {\n return unixCmp(objA.value, objB.value);\n }\n}\n\n//@\n//@ ### sort([options,] file [, file ...])\n//@ ### sort([options,] file_array)\n//@\n//@ Available options:\n//@\n//@ + `-r`: Reverse the results\n//@ + `-n`: Compare according to numerical value\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ sort('foo.txt', 'bar.txt');\n//@ sort('-r', 'foo.txt');\n//@ ```\n//@\n//@ Return the contents of the `file`s, sorted line-by-line. Sorting multiple\n//@ files mixes their content (just as unix `sort` does).\nfunction _sort(options, files) {\n // Check if this is coming from a pipe\n var pipe = common.readFromPipe();\n\n if (!files && !pipe) common.error('no files given');\n\n files = [].slice.call(arguments, 1);\n\n if (pipe) {\n files.unshift('-');\n }\n\n var lines = files.reduce(function (accum, file) {\n if (file !== '-') {\n if (!fs.existsSync(file)) {\n common.error('no such file or directory: ' + file, { continue: true });\n return accum;\n } else if (common.statFollowLinks(file).isDirectory()) {\n common.error('read failed: ' + file + ': Is a directory', {\n continue: true,\n });\n return accum;\n }\n }\n\n var contents = file === '-' ? pipe : fs.readFileSync(file, 'utf8');\n return accum.concat(contents.trimRight().split('\\n'));\n }, []);\n\n var sorted = lines.sort(options.numerical ? numericalCmp : unixCmp);\n\n if (options.reverse) {\n sorted = sorted.reverse();\n }\n\n return sorted.join('\\n') + '\\n';\n}\n\nmodule.exports = _sort;\n","/* eslint no-undefined: 0, prefer-spread: 0, no-control-regex: 0 */\n\n'use strict';\n\nconst crypto = require('crypto');\nconst os = require('os');\nconst fs = require('fs');\nconst punycode = require('punycode');\nconst PassThrough = require('stream').PassThrough;\nconst shared = require('../shared');\n\nconst mimeFuncs = require('../mime-funcs');\nconst qp = require('../qp');\nconst base64 = require('../base64');\nconst addressparser = require('../addressparser');\nconst fetch = require('../fetch');\nconst LastNewline = require('./last-newline');\n\n/**\n * Creates a new mime tree node. Assumes 'multipart/*' as the content type\n * if it is a branch, anything else counts as leaf. If rootNode is missing from\n * the options, assumes this is the root.\n *\n * @param {String} contentType Define the content type for the node. Can be left blank for attachments (derived from filename)\n * @param {Object} [options] optional options\n * @param {Object} [options.rootNode] root node for this tree\n * @param {Object} [options.parentNode] immediate parent for this node\n * @param {Object} [options.filename] filename for an attachment node\n * @param {String} [options.baseBoundary] shared part of the unique multipart boundary\n * @param {Boolean} [options.keepBcc] If true, do not exclude Bcc from the generated headers\n * @param {Function} [options.normalizeHeaderKey] method to normalize header keys for custom caseing\n * @param {String} [options.textEncoding] either 'Q' (the default) or 'B'\n */\nclass MimeNode {\n constructor(contentType, options) {\n this.nodeCounter = 0;\n\n options = options || {};\n\n /**\n * shared part of the unique multipart boundary\n */\n this.baseBoundary = options.baseBoundary || crypto.randomBytes(8).toString('hex');\n this.boundaryPrefix = options.boundaryPrefix || '--_NmP';\n\n this.disableFileAccess = !!options.disableFileAccess;\n this.disableUrlAccess = !!options.disableUrlAccess;\n\n this.normalizeHeaderKey = options.normalizeHeaderKey;\n\n /**\n * If date headers is missing and current node is the root, this value is used instead\n */\n this.date = new Date();\n\n /**\n * Root node for current mime tree\n */\n this.rootNode = options.rootNode || this;\n\n /**\n * If true include Bcc in generated headers (if available)\n */\n this.keepBcc = !!options.keepBcc;\n\n /**\n * If filename is specified but contentType is not (probably an attachment)\n * detect the content type from filename extension\n */\n if (options.filename) {\n /**\n * Filename for this node. Useful with attachments\n */\n this.filename = options.filename;\n if (!contentType) {\n contentType = mimeFuncs.detectMimeType(this.filename.split('.').pop());\n }\n }\n\n /**\n * Indicates which encoding should be used for header strings: \"Q\" or \"B\"\n */\n this.textEncoding = (options.textEncoding || '').toString().trim().charAt(0).toUpperCase();\n\n /**\n * Immediate parent for this node (or undefined if not set)\n */\n this.parentNode = options.parentNode;\n\n /**\n * Hostname for default message-id values\n */\n this.hostname = options.hostname;\n\n /**\n * An array for possible child nodes\n */\n this.childNodes = [];\n\n /**\n * Used for generating unique boundaries (prepended to the shared base)\n */\n this._nodeId = ++this.rootNode.nodeCounter;\n\n /**\n * A list of header values for this node in the form of [{key:'', value:''}]\n */\n this._headers = [];\n\n /**\n * True if the content only uses ASCII printable characters\n * @type {Boolean}\n */\n this._isPlainText = false;\n\n /**\n * True if the content is plain text but has longer lines than allowed\n * @type {Boolean}\n */\n this._hasLongLines = false;\n\n /**\n * If set, use instead this value for envelopes instead of generating one\n * @type {Boolean}\n */\n this._envelope = false;\n\n /**\n * If set then use this value as the stream content instead of building it\n * @type {String|Buffer|Stream}\n */\n this._raw = false;\n\n /**\n * Additional transform streams that the message will be piped before\n * exposing by createReadStream\n * @type {Array}\n */\n this._transforms = [];\n\n /**\n * Additional process functions that the message will be piped through before\n * exposing by createReadStream. These functions are run after transforms\n * @type {Array}\n */\n this._processFuncs = [];\n\n /**\n * If content type is set (or derived from the filename) add it to headers\n */\n if (contentType) {\n this.setHeader('Content-Type', contentType);\n }\n }\n\n /////// PUBLIC METHODS\n\n /**\n * Creates and appends a child node.Arguments provided are passed to MimeNode constructor\n *\n * @param {String} [contentType] Optional content type\n * @param {Object} [options] Optional options object\n * @return {Object} Created node object\n */\n createChild(contentType, options) {\n if (!options && typeof contentType === 'object') {\n options = contentType;\n contentType = undefined;\n }\n let node = new MimeNode(contentType, options);\n this.appendChild(node);\n return node;\n }\n\n /**\n * Appends an existing node to the mime tree. Removes the node from an existing\n * tree if needed\n *\n * @param {Object} childNode node to be appended\n * @return {Object} Appended node object\n */\n appendChild(childNode) {\n if (childNode.rootNode !== this.rootNode) {\n childNode.rootNode = this.rootNode;\n childNode._nodeId = ++this.rootNode.nodeCounter;\n }\n\n childNode.parentNode = this;\n\n this.childNodes.push(childNode);\n return childNode;\n }\n\n /**\n * Replaces current node with another node\n *\n * @param {Object} node Replacement node\n * @return {Object} Replacement node\n */\n replace(node) {\n if (node === this) {\n return this;\n }\n\n this.parentNode.childNodes.forEach((childNode, i) => {\n if (childNode === this) {\n node.rootNode = this.rootNode;\n node.parentNode = this.parentNode;\n node._nodeId = this._nodeId;\n\n this.rootNode = this;\n this.parentNode = undefined;\n\n node.parentNode.childNodes[i] = node;\n }\n });\n\n return node;\n }\n\n /**\n * Removes current node from the mime tree\n *\n * @return {Object} removed node\n */\n remove() {\n if (!this.parentNode) {\n return this;\n }\n\n for (let i = this.parentNode.childNodes.length - 1; i >= 0; i--) {\n if (this.parentNode.childNodes[i] === this) {\n this.parentNode.childNodes.splice(i, 1);\n this.parentNode = undefined;\n this.rootNode = this;\n return this;\n }\n }\n }\n\n /**\n * Sets a header value. If the value for selected key exists, it is overwritten.\n * You can set multiple values as well by using [{key:'', value:''}] or\n * {key: 'value'} as the first argument.\n *\n * @param {String|Array|Object} key Header key or a list of key value pairs\n * @param {String} value Header value\n * @return {Object} current node\n */\n setHeader(key, value) {\n let added = false,\n headerValue;\n\n // Allow setting multiple headers at once\n if (!value && key && typeof key === 'object') {\n // allow {key:'content-type', value: 'text/plain'}\n if (key.key && 'value' in key) {\n this.setHeader(key.key, key.value);\n } else if (Array.isArray(key)) {\n // allow [{key:'content-type', value: 'text/plain'}]\n key.forEach(i => {\n this.setHeader(i.key, i.value);\n });\n } else {\n // allow {'content-type': 'text/plain'}\n Object.keys(key).forEach(i => {\n this.setHeader(i, key[i]);\n });\n }\n return this;\n }\n\n key = this._normalizeHeaderKey(key);\n\n headerValue = {\n key,\n value\n };\n\n // Check if the value exists and overwrite\n for (let i = 0, len = this._headers.length; i < len; i++) {\n if (this._headers[i].key === key) {\n if (!added) {\n // replace the first match\n this._headers[i] = headerValue;\n added = true;\n } else {\n // remove following matches\n this._headers.splice(i, 1);\n i--;\n len--;\n }\n }\n }\n\n // match not found, append the value\n if (!added) {\n this._headers.push(headerValue);\n }\n\n return this;\n }\n\n /**\n * Adds a header value. If the value for selected key exists, the value is appended\n * as a new field and old one is not touched.\n * You can set multiple values as well by using [{key:'', value:''}] or\n * {key: 'value'} as the first argument.\n *\n * @param {String|Array|Object} key Header key or a list of key value pairs\n * @param {String} value Header value\n * @return {Object} current node\n */\n addHeader(key, value) {\n // Allow setting multiple headers at once\n if (!value && key && typeof key === 'object') {\n // allow {key:'content-type', value: 'text/plain'}\n if (key.key && key.value) {\n this.addHeader(key.key, key.value);\n } else if (Array.isArray(key)) {\n // allow [{key:'content-type', value: 'text/plain'}]\n key.forEach(i => {\n this.addHeader(i.key, i.value);\n });\n } else {\n // allow {'content-type': 'text/plain'}\n Object.keys(key).forEach(i => {\n this.addHeader(i, key[i]);\n });\n }\n return this;\n } else if (Array.isArray(value)) {\n value.forEach(val => {\n this.addHeader(key, val);\n });\n return this;\n }\n\n this._headers.push({\n key: this._normalizeHeaderKey(key),\n value\n });\n\n return this;\n }\n\n /**\n * Retrieves the first mathcing value of a selected key\n *\n * @param {String} key Key to search for\n * @retun {String} Value for the key\n */\n getHeader(key) {\n key = this._normalizeHeaderKey(key);\n for (let i = 0, len = this._headers.length; i < len; i++) {\n if (this._headers[i].key === key) {\n return this._headers[i].value;\n }\n }\n }\n\n /**\n * Sets body content for current node. If the value is a string, charset is added automatically\n * to Content-Type (if it is text/*). If the value is a Buffer, you need to specify\n * the charset yourself\n *\n * @param (String|Buffer) content Body content\n * @return {Object} current node\n */\n setContent(content) {\n this.content = content;\n if (typeof this.content.pipe === 'function') {\n // pre-stream handler. might be triggered if a stream is set as content\n // and 'error' fires before anything is done with this stream\n this._contentErrorHandler = err => {\n this.content.removeListener('error', this._contentErrorHandler);\n this.content = err;\n };\n this.content.once('error', this._contentErrorHandler);\n } else if (typeof this.content === 'string') {\n this._isPlainText = mimeFuncs.isPlainText(this.content);\n if (this._isPlainText && mimeFuncs.hasLongerLines(this.content, 76)) {\n // If there are lines longer than 76 symbols/bytes do not use 7bit\n this._hasLongLines = true;\n }\n }\n return this;\n }\n\n build(callback) {\n let promise;\n\n if (!callback) {\n promise = new Promise((resolve, reject) => {\n callback = shared.callbackPromise(resolve, reject);\n });\n }\n\n let stream = this.createReadStream();\n let buf = [];\n let buflen = 0;\n let returned = false;\n\n stream.on('readable', () => {\n let chunk;\n\n while ((chunk = stream.read()) !== null) {\n buf.push(chunk);\n buflen += chunk.length;\n }\n });\n\n stream.once('error', err => {\n if (returned) {\n return;\n }\n returned = true;\n\n return callback(err);\n });\n\n stream.once('end', chunk => {\n if (returned) {\n return;\n }\n returned = true;\n\n if (chunk && chunk.length) {\n buf.push(chunk);\n buflen += chunk.length;\n }\n return callback(null, Buffer.concat(buf, buflen));\n });\n\n return promise;\n }\n\n getTransferEncoding() {\n let transferEncoding = false;\n let contentType = (this.getHeader('Content-Type') || '').toString().toLowerCase().trim();\n\n if (this.content) {\n transferEncoding = (this.getHeader('Content-Transfer-Encoding') || '').toString().toLowerCase().trim();\n if (!transferEncoding || !['base64', 'quoted-printable'].includes(transferEncoding)) {\n if (/^text\\//i.test(contentType)) {\n // If there are no special symbols, no need to modify the text\n if (this._isPlainText && !this._hasLongLines) {\n transferEncoding = '7bit';\n } else if (typeof this.content === 'string' || this.content instanceof Buffer) {\n // detect preferred encoding for string value\n transferEncoding = this._getTextEncoding(this.content) === 'Q' ? 'quoted-printable' : 'base64';\n } else {\n // we can not check content for a stream, so either use preferred encoding or fallback to QP\n transferEncoding = this.transferEncoding === 'B' ? 'base64' : 'quoted-printable';\n }\n } else if (!/^(multipart|message)\\//i.test(contentType)) {\n transferEncoding = transferEncoding || 'base64';\n }\n }\n }\n return transferEncoding;\n }\n\n /**\n * Builds the header block for the mime node. Append \\r\\n\\r\\n before writing the content\n *\n * @returns {String} Headers\n */\n buildHeaders() {\n let transferEncoding = this.getTransferEncoding();\n let headers = [];\n\n if (transferEncoding) {\n this.setHeader('Content-Transfer-Encoding', transferEncoding);\n }\n\n if (this.filename && !this.getHeader('Content-Disposition')) {\n this.setHeader('Content-Disposition', 'attachment');\n }\n\n // Ensure mandatory header fields\n if (this.rootNode === this) {\n if (!this.getHeader('Date')) {\n this.setHeader('Date', this.date.toUTCString().replace(/GMT/, '+0000'));\n }\n\n // ensure that Message-Id is present\n this.messageId();\n\n if (!this.getHeader('MIME-Version')) {\n this.setHeader('MIME-Version', '1.0');\n }\n }\n\n this._headers.forEach(header => {\n let key = header.key;\n let value = header.value;\n let structured;\n let param;\n let options = {};\n let formattedHeaders = ['From', 'Sender', 'To', 'Cc', 'Bcc', 'Reply-To', 'Date', 'References'];\n\n if (value && typeof value === 'object' && !formattedHeaders.includes(key)) {\n Object.keys(value).forEach(key => {\n if (key !== 'value') {\n options[key] = value[key];\n }\n });\n value = (value.value || '').toString();\n if (!value.trim()) {\n return;\n }\n }\n\n if (options.prepared) {\n // header value is\n if (options.foldLines) {\n headers.push(mimeFuncs.foldLines(key + ': ' + value));\n } else {\n headers.push(key + ': ' + value);\n }\n return;\n }\n\n switch (header.key) {\n case 'Content-Disposition':\n structured = mimeFuncs.parseHeaderValue(value);\n if (this.filename) {\n structured.params.filename = this.filename;\n }\n value = mimeFuncs.buildHeaderValue(structured);\n break;\n\n case 'Content-Type':\n structured = mimeFuncs.parseHeaderValue(value);\n\n this._handleContentType(structured);\n\n if (structured.value.match(/^text\\/plain\\b/) && typeof this.content === 'string' && /[\\u0080-\\uFFFF]/.test(this.content)) {\n structured.params.charset = 'utf-8';\n }\n\n value = mimeFuncs.buildHeaderValue(structured);\n\n if (this.filename) {\n // add support for non-compliant clients like QQ webmail\n // we can't build the value with buildHeaderValue as the value is non standard and\n // would be converted to parameter continuation encoding that we do not want\n param = this._encodeWords(this.filename);\n\n if (param !== this.filename || /[\\s'\"\\\\;:/=(),<>@[\\]?]|^-/.test(param)) {\n // include value in quotes if needed\n param = '\"' + param + '\"';\n }\n value += '; name=' + param;\n }\n break;\n\n case 'Bcc':\n if (!this.keepBcc) {\n // skip BCC values\n return;\n }\n break;\n }\n\n value = this._encodeHeaderValue(key, value);\n\n // skip empty lines\n if (!(value || '').toString().trim()) {\n return;\n }\n\n if (typeof this.normalizeHeaderKey === 'function') {\n let normalized = this.normalizeHeaderKey(key, value);\n if (normalized && typeof normalized === 'string' && normalized.length) {\n key = normalized;\n }\n }\n\n headers.push(mimeFuncs.foldLines(key + ': ' + value, 76));\n });\n\n return headers.join('\\r\\n');\n }\n\n /**\n * Streams the rfc2822 message from the current node. If this is a root node,\n * mandatory header fields are set if missing (Date, Message-Id, MIME-Version)\n *\n * @return {String} Compiled message\n */\n createReadStream(options) {\n options = options || {};\n\n let stream = new PassThrough(options);\n let outputStream = stream;\n let transform;\n\n this.stream(stream, options, err => {\n if (err) {\n outputStream.emit('error', err);\n return;\n }\n stream.end();\n });\n\n for (let i = 0, len = this._transforms.length; i < len; i++) {\n transform = typeof this._transforms[i] === 'function' ? this._transforms[i]() : this._transforms[i];\n outputStream.once('error', err => {\n transform.emit('error', err);\n });\n outputStream = outputStream.pipe(transform);\n }\n\n // ensure terminating newline after possible user transforms\n transform = new LastNewline();\n outputStream.once('error', err => {\n transform.emit('error', err);\n });\n outputStream = outputStream.pipe(transform);\n\n // dkim and stuff\n for (let i = 0, len = this._processFuncs.length; i < len; i++) {\n transform = this._processFuncs[i];\n outputStream = transform(outputStream);\n }\n\n return outputStream;\n }\n\n /**\n * Appends a transform stream object to the transforms list. Final output\n * is passed through this stream before exposing\n *\n * @param {Object} transform Read-Write stream\n */\n transform(transform) {\n this._transforms.push(transform);\n }\n\n /**\n * Appends a post process function. The functon is run after transforms and\n * uses the following syntax\n *\n * processFunc(input) -> outputStream\n *\n * @param {Object} processFunc Read-Write stream\n */\n processFunc(processFunc) {\n this._processFuncs.push(processFunc);\n }\n\n stream(outputStream, options, done) {\n let transferEncoding = this.getTransferEncoding();\n let contentStream;\n let localStream;\n\n // protect actual callback against multiple triggering\n let returned = false;\n let callback = err => {\n if (returned) {\n return;\n }\n returned = true;\n done(err);\n };\n\n // for multipart nodes, push child nodes\n // for content nodes end the stream\n let finalize = () => {\n let childId = 0;\n let processChildNode = () => {\n if (childId >= this.childNodes.length) {\n outputStream.write('\\r\\n--' + this.boundary + '--\\r\\n');\n return callback();\n }\n let child = this.childNodes[childId++];\n outputStream.write((childId > 1 ? '\\r\\n' : '') + '--' + this.boundary + '\\r\\n');\n child.stream(outputStream, options, err => {\n if (err) {\n return callback(err);\n }\n setImmediate(processChildNode);\n });\n };\n\n if (this.multipart) {\n setImmediate(processChildNode);\n } else {\n return callback();\n }\n };\n\n // pushes node content\n let sendContent = () => {\n if (this.content) {\n if (Object.prototype.toString.call(this.content) === '[object Error]') {\n // content is already errored\n return callback(this.content);\n }\n\n if (typeof this.content.pipe === 'function') {\n this.content.removeListener('error', this._contentErrorHandler);\n this._contentErrorHandler = err => callback(err);\n this.content.once('error', this._contentErrorHandler);\n }\n\n let createStream = () => {\n if (['quoted-printable', 'base64'].includes(transferEncoding)) {\n contentStream = new (transferEncoding === 'base64' ? base64 : qp).Encoder(options);\n\n contentStream.pipe(outputStream, {\n end: false\n });\n contentStream.once('end', finalize);\n contentStream.once('error', err => callback(err));\n\n localStream = this._getStream(this.content);\n localStream.pipe(contentStream);\n } else {\n // anything that is not QP or Base54 passes as-is\n localStream = this._getStream(this.content);\n localStream.pipe(outputStream, {\n end: false\n });\n localStream.once('end', finalize);\n }\n\n localStream.once('error', err => callback(err));\n };\n\n if (this.content._resolve) {\n let chunks = [];\n let chunklen = 0;\n let returned = false;\n let sourceStream = this._getStream(this.content);\n sourceStream.on('error', err => {\n if (returned) {\n return;\n }\n returned = true;\n callback(err);\n });\n sourceStream.on('readable', () => {\n let chunk;\n while ((chunk = sourceStream.read()) !== null) {\n chunks.push(chunk);\n chunklen += chunk.length;\n }\n });\n sourceStream.on('end', () => {\n if (returned) {\n return;\n }\n returned = true;\n this.content._resolve = false;\n this.content._resolvedValue = Buffer.concat(chunks, chunklen);\n setImmediate(createStream);\n });\n } else {\n setImmediate(createStream);\n }\n return;\n } else {\n return setImmediate(finalize);\n }\n };\n\n if (this._raw) {\n setImmediate(() => {\n if (Object.prototype.toString.call(this._raw) === '[object Error]') {\n // content is already errored\n return callback(this._raw);\n }\n\n // remove default error handler (if set)\n if (typeof this._raw.pipe === 'function') {\n this._raw.removeListener('error', this._contentErrorHandler);\n }\n\n let raw = this._getStream(this._raw);\n raw.pipe(outputStream, {\n end: false\n });\n raw.on('error', err => outputStream.emit('error', err));\n raw.on('end', finalize);\n });\n } else {\n outputStream.write(this.buildHeaders() + '\\r\\n\\r\\n');\n setImmediate(sendContent);\n }\n }\n\n /**\n * Sets envelope to be used instead of the generated one\n *\n * @return {Object} SMTP envelope in the form of {from: 'from@example.com', to: ['to@example.com']}\n */\n setEnvelope(envelope) {\n let list;\n\n this._envelope = {\n from: false,\n to: []\n };\n\n if (envelope.from) {\n list = [];\n this._convertAddresses(this._parseAddresses(envelope.from), list);\n list = list.filter(address => address && address.address);\n if (list.length && list[0]) {\n this._envelope.from = list[0].address;\n }\n }\n ['to', 'cc', 'bcc'].forEach(key => {\n if (envelope[key]) {\n this._convertAddresses(this._parseAddresses(envelope[key]), this._envelope.to);\n }\n });\n\n this._envelope.to = this._envelope.to.map(to => to.address).filter(address => address);\n\n let standardFields = ['to', 'cc', 'bcc', 'from'];\n Object.keys(envelope).forEach(key => {\n if (!standardFields.includes(key)) {\n this._envelope[key] = envelope[key];\n }\n });\n\n return this;\n }\n\n /**\n * Generates and returns an object with parsed address fields\n *\n * @return {Object} Address object\n */\n getAddresses() {\n let addresses = {};\n\n this._headers.forEach(header => {\n let key = header.key.toLowerCase();\n if (['from', 'sender', 'reply-to', 'to', 'cc', 'bcc'].includes(key)) {\n if (!Array.isArray(addresses[key])) {\n addresses[key] = [];\n }\n\n this._convertAddresses(this._parseAddresses(header.value), addresses[key]);\n }\n });\n\n return addresses;\n }\n\n /**\n * Generates and returns SMTP envelope with the sender address and a list of recipients addresses\n *\n * @return {Object} SMTP envelope in the form of {from: 'from@example.com', to: ['to@example.com']}\n */\n getEnvelope() {\n if (this._envelope) {\n return this._envelope;\n }\n\n let envelope = {\n from: false,\n to: []\n };\n this._headers.forEach(header => {\n let list = [];\n if (header.key === 'From' || (!envelope.from && ['Reply-To', 'Sender'].includes(header.key))) {\n this._convertAddresses(this._parseAddresses(header.value), list);\n if (list.length && list[0]) {\n envelope.from = list[0].address;\n }\n } else if (['To', 'Cc', 'Bcc'].includes(header.key)) {\n this._convertAddresses(this._parseAddresses(header.value), envelope.to);\n }\n });\n\n envelope.to = envelope.to.map(to => to.address);\n\n return envelope;\n }\n\n /**\n * Returns Message-Id value. If it does not exist, then creates one\n *\n * @return {String} Message-Id value\n */\n messageId() {\n let messageId = this.getHeader('Message-ID');\n // You really should define your own Message-Id field!\n if (!messageId) {\n messageId = this._generateMessageId();\n this.setHeader('Message-ID', messageId);\n }\n return messageId;\n }\n\n /**\n * Sets pregenerated content that will be used as the output of this node\n *\n * @param {String|Buffer|Stream} Raw MIME contents\n */\n setRaw(raw) {\n this._raw = raw;\n\n if (this._raw && typeof this._raw.pipe === 'function') {\n // pre-stream handler. might be triggered if a stream is set as content\n // and 'error' fires before anything is done with this stream\n this._contentErrorHandler = err => {\n this._raw.removeListener('error', this._contentErrorHandler);\n this._raw = err;\n };\n this._raw.once('error', this._contentErrorHandler);\n }\n\n return this;\n }\n\n /////// PRIVATE METHODS\n\n /**\n * Detects and returns handle to a stream related with the content.\n *\n * @param {Mixed} content Node content\n * @returns {Object} Stream object\n */\n _getStream(content) {\n let contentStream;\n\n if (content._resolvedValue) {\n // pass string or buffer content as a stream\n contentStream = new PassThrough();\n setImmediate(() => contentStream.end(content._resolvedValue));\n return contentStream;\n } else if (typeof content.pipe === 'function') {\n // assume as stream\n return content;\n } else if (content && typeof content.path === 'string' && !content.href) {\n if (this.disableFileAccess) {\n contentStream = new PassThrough();\n setImmediate(() => contentStream.emit('error', new Error('File access rejected for ' + content.path)));\n return contentStream;\n }\n // read file\n return fs.createReadStream(content.path);\n } else if (content && typeof content.href === 'string') {\n if (this.disableUrlAccess) {\n contentStream = new PassThrough();\n setImmediate(() => contentStream.emit('error', new Error('Url access rejected for ' + content.href)));\n return contentStream;\n }\n // fetch URL\n return fetch(content.href, { headers: content.httpHeaders });\n } else {\n // pass string or buffer content as a stream\n contentStream = new PassThrough();\n setImmediate(() => contentStream.end(content || ''));\n return contentStream;\n }\n }\n\n /**\n * Parses addresses. Takes in a single address or an array or an\n * array of address arrays (eg. To: [[first group], [second group],...])\n *\n * @param {Mixed} addresses Addresses to be parsed\n * @return {Array} An array of address objects\n */\n _parseAddresses(addresses) {\n return [].concat.apply(\n [],\n [].concat(addresses).map(address => {\n // eslint-disable-line prefer-spread\n if (address && address.address) {\n address.address = this._normalizeAddress(address.address);\n address.name = address.name || '';\n return [address];\n }\n return addressparser(address);\n })\n );\n }\n\n /**\n * Normalizes a header key, uses Camel-Case form, except for uppercase MIME-\n *\n * @param {String} key Key to be normalized\n * @return {String} key in Camel-Case form\n */\n _normalizeHeaderKey(key) {\n key = (key || '')\n .toString()\n // no newlines in keys\n .replace(/\\r?\\n|\\r/g, ' ')\n .trim()\n .toLowerCase()\n // use uppercase words, except MIME\n .replace(/^X-SMTPAPI$|^(MIME|DKIM|ARC|BIMI)\\b|^[a-z]|-(SPF|FBL|ID|MD5)$|-[a-z]/gi, c => c.toUpperCase())\n // special case\n .replace(/^Content-Features$/i, 'Content-features');\n\n return key;\n }\n\n /**\n * Checks if the content type is multipart and defines boundary if needed.\n * Doesn't return anything, modifies object argument instead.\n *\n * @param {Object} structured Parsed header value for 'Content-Type' key\n */\n _handleContentType(structured) {\n this.contentType = structured.value.trim().toLowerCase();\n\n this.multipart = /^multipart\\//i.test(this.contentType) ? this.contentType.substr(this.contentType.indexOf('/') + 1) : false;\n\n if (this.multipart) {\n this.boundary = structured.params.boundary = structured.params.boundary || this.boundary || this._generateBoundary();\n } else {\n this.boundary = false;\n }\n }\n\n /**\n * Generates a multipart boundary value\n *\n * @return {String} boundary value\n */\n _generateBoundary() {\n return this.rootNode.boundaryPrefix + '-' + this.rootNode.baseBoundary + '-Part_' + this._nodeId;\n }\n\n /**\n * Encodes a header value for use in the generated rfc2822 email.\n *\n * @param {String} key Header key\n * @param {String} value Header value\n */\n _encodeHeaderValue(key, value) {\n key = this._normalizeHeaderKey(key);\n\n switch (key) {\n // Structured headers\n case 'From':\n case 'Sender':\n case 'To':\n case 'Cc':\n case 'Bcc':\n case 'Reply-To':\n return this._convertAddresses(this._parseAddresses(value));\n\n // values enclosed in <>\n case 'Message-ID':\n case 'In-Reply-To':\n case 'Content-Id':\n value = (value || '').toString().replace(/\\r?\\n|\\r/g, ' ');\n\n if (value.charAt(0) !== '<') {\n value = '<' + value;\n }\n\n if (value.charAt(value.length - 1) !== '>') {\n value = value + '>';\n }\n return value;\n\n // space separated list of values enclosed in <>\n case 'References':\n value = [].concat\n .apply(\n [],\n [].concat(value || '').map(elm => {\n // eslint-disable-line prefer-spread\n elm = (elm || '')\n .toString()\n .replace(/\\r?\\n|\\r/g, ' ')\n .trim();\n return elm.replace(/<[^>]*>/g, str => str.replace(/\\s/g, '')).split(/\\s+/);\n })\n )\n .map(elm => {\n if (elm.charAt(0) !== '<') {\n elm = '<' + elm;\n }\n if (elm.charAt(elm.length - 1) !== '>') {\n elm = elm + '>';\n }\n return elm;\n });\n\n return value.join(' ').trim();\n\n case 'Date':\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return value.toUTCString().replace(/GMT/, '+0000');\n }\n\n value = (value || '').toString().replace(/\\r?\\n|\\r/g, ' ');\n return this._encodeWords(value);\n\n case 'Content-Type':\n case 'Content-Disposition':\n // if it includes a filename then it is already encoded\n return (value || '').toString().replace(/\\r?\\n|\\r/g, ' ');\n\n default:\n value = (value || '').toString().replace(/\\r?\\n|\\r/g, ' ');\n // encodeWords only encodes if needed, otherwise the original string is returned\n return this._encodeWords(value);\n }\n }\n\n /**\n * Rebuilds address object using punycode and other adjustments\n *\n * @param {Array} addresses An array of address objects\n * @param {Array} [uniqueList] An array to be populated with addresses\n * @return {String} address string\n */\n _convertAddresses(addresses, uniqueList) {\n let values = [];\n\n uniqueList = uniqueList || [];\n\n [].concat(addresses || []).forEach(address => {\n if (address.address) {\n address.address = this._normalizeAddress(address.address);\n\n if (!address.name) {\n values.push(address.address);\n } else if (address.name) {\n values.push(this._encodeAddressName(address.name) + ' <' + address.address + '>');\n }\n\n if (address.address) {\n if (!uniqueList.filter(a => a.address === address.address).length) {\n uniqueList.push(address);\n }\n }\n } else if (address.group) {\n values.push(\n this._encodeAddressName(address.name) + ':' + (address.group.length ? this._convertAddresses(address.group, uniqueList) : '').trim() + ';'\n );\n }\n });\n\n return values.join(', ');\n }\n\n /**\n * Normalizes an email address\n *\n * @param {Array} address An array of address objects\n * @return {String} address string\n */\n _normalizeAddress(address) {\n address = (address || '').toString().trim();\n\n let lastAt = address.lastIndexOf('@');\n if (lastAt < 0) {\n // Bare username\n return address;\n }\n let user = address.substr(0, lastAt);\n let domain = address.substr(lastAt + 1);\n\n // Usernames are not touched and are kept as is even if these include unicode\n // Domains are punycoded by default\n // 'jõgeva.ee' will be converted to 'xn--jgeva-dua.ee'\n // non-unicode domains are left as is\n\n return user + '@' + punycode.toASCII(domain.toLowerCase());\n }\n\n /**\n * If needed, mime encodes the name part\n *\n * @param {String} name Name part of an address\n * @returns {String} Mime word encoded string if needed\n */\n _encodeAddressName(name) {\n if (!/^[\\w ']*$/.test(name)) {\n if (/^[\\x20-\\x7e]*$/.test(name)) {\n return '\"' + name.replace(/([\\\\\"])/g, '\\\\$1') + '\"';\n } else {\n return mimeFuncs.encodeWord(name, this._getTextEncoding(name), 52);\n }\n }\n return name;\n }\n\n /**\n * If needed, mime encodes the name part\n *\n * @param {String} name Name part of an address\n * @returns {String} Mime word encoded string if needed\n */\n _encodeWords(value) {\n // set encodeAll parameter to true even though it is against the recommendation of RFC2047,\n // by default only words that include non-ascii should be converted into encoded words\n // but some clients (eg. Zimbra) do not handle it properly and remove surrounding whitespace\n return mimeFuncs.encodeWords(value, this._getTextEncoding(value), 52, true);\n }\n\n /**\n * Detects best mime encoding for a text value\n *\n * @param {String} value Value to check for\n * @return {String} either 'Q' or 'B'\n */\n _getTextEncoding(value) {\n value = (value || '').toString();\n\n let encoding = this.textEncoding;\n let latinLen;\n let nonLatinLen;\n\n if (!encoding) {\n // count latin alphabet symbols and 8-bit range symbols + control symbols\n // if there are more latin characters, then use quoted-printable\n // encoding, otherwise use base64\n nonLatinLen = (value.match(/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\u0080-\\uFFFF]/g) || []).length; // eslint-disable-line no-control-regex\n latinLen = (value.match(/[a-z]/gi) || []).length;\n // if there are more latin symbols than binary/unicode, then prefer Q, otherwise B\n encoding = nonLatinLen < latinLen ? 'Q' : 'B';\n }\n return encoding;\n }\n\n /**\n * Generates a message id\n *\n * @return {String} Random Message-ID value\n */\n _generateMessageId() {\n return (\n '<' +\n [2, 2, 2, 6].reduce(\n // crux to generate UUID-like random strings\n (prev, len) => prev + '-' + crypto.randomBytes(len).toString('hex'),\n crypto.randomBytes(4).toString('hex')\n ) +\n '@' +\n // try to use the domain of the FROM address or fallback to server hostname\n (this.getEnvelope().from || this.hostname || os.hostname() || 'localhost').split('@').pop() +\n '>'\n );\n }\n}\n\nmodule.exports = MimeNode;\n","'use strict';\n\nconst isWin = process.platform === 'win32';\n\nfunction notFoundError(original, syscall) {\n return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {\n code: 'ENOENT',\n errno: 'ENOENT',\n syscall: `${syscall} ${original.command}`,\n path: original.command,\n spawnargs: original.args,\n });\n}\n\nfunction hookChildProcess(cp, parsed) {\n if (!isWin) {\n return;\n }\n\n const originalEmit = cp.emit;\n\n cp.emit = function (name, arg1) {\n // If emitting \"exit\" event and exit code is 1, we need to check if\n // the command exists and emit an \"error\" instead\n // See https://github.com/IndigoUnited/node-cross-spawn/issues/16\n if (name === 'exit') {\n const err = verifyENOENT(arg1, parsed, 'spawn');\n\n if (err) {\n return originalEmit.call(cp, 'error', err);\n }\n }\n\n return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params\n };\n}\n\nfunction verifyENOENT(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawn');\n }\n\n return null;\n}\n\nfunction verifyENOENTSync(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawnSync');\n }\n\n return null;\n}\n\nmodule.exports = {\n hookChildProcess,\n verifyENOENT,\n verifyENOENTSync,\n notFoundError,\n};\n","'use strict';\n\nconst punycode = require('punycode');\nconst mimeFuncs = require('../mime-funcs');\nconst crypto = require('crypto');\n\n/**\n * Returns DKIM signature header line\n *\n * @param {Object} headers Parsed headers object from MessageParser\n * @param {String} bodyHash Base64 encoded hash of the message\n * @param {Object} options DKIM options\n * @param {String} options.domainName Domain name to be signed for\n * @param {String} options.keySelector DKIM key selector to use\n * @param {String} options.privateKey DKIM private key to use\n * @return {String} Complete header line\n */\n\nmodule.exports = (headers, hashAlgo, bodyHash, options) => {\n options = options || {};\n\n // all listed fields from RFC4871 #5.5\n let defaultFieldNames =\n 'From:Sender:Reply-To:Subject:Date:Message-ID:To:' +\n 'Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:' +\n 'Content-Description:Resent-Date:Resent-From:Resent-Sender:' +\n 'Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:' +\n 'List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:' +\n 'List-Owner:List-Archive';\n\n let fieldNames = options.headerFieldNames || defaultFieldNames;\n\n let canonicalizedHeaderData = relaxedHeaders(headers, fieldNames, options.skipFields);\n let dkimHeader = generateDKIMHeader(options.domainName, options.keySelector, canonicalizedHeaderData.fieldNames, hashAlgo, bodyHash);\n\n let signer, signature;\n\n canonicalizedHeaderData.headers += 'dkim-signature:' + relaxedHeaderLine(dkimHeader);\n\n signer = crypto.createSign(('rsa-' + hashAlgo).toUpperCase());\n signer.update(canonicalizedHeaderData.headers);\n try {\n signature = signer.sign(options.privateKey, 'base64');\n } catch (E) {\n return false;\n }\n\n return dkimHeader + signature.replace(/(^.{73}|.{75}(?!\\r?\\n|\\r))/g, '$&\\r\\n ').trim();\n};\n\nmodule.exports.relaxedHeaders = relaxedHeaders;\n\nfunction generateDKIMHeader(domainName, keySelector, fieldNames, hashAlgo, bodyHash) {\n let dkim = [\n 'v=1',\n 'a=rsa-' + hashAlgo,\n 'c=relaxed/relaxed',\n 'd=' + punycode.toASCII(domainName),\n 'q=dns/txt',\n 's=' + keySelector,\n 'bh=' + bodyHash,\n 'h=' + fieldNames\n ].join('; ');\n\n return mimeFuncs.foldLines('DKIM-Signature: ' + dkim, 76) + ';\\r\\n b=';\n}\n\nfunction relaxedHeaders(headers, fieldNames, skipFields) {\n let includedFields = new Set();\n let skip = new Set();\n let headerFields = new Map();\n\n (skipFields || '')\n .toLowerCase()\n .split(':')\n .forEach(field => {\n skip.add(field.trim());\n });\n\n (fieldNames || '')\n .toLowerCase()\n .split(':')\n .filter(field => !skip.has(field.trim()))\n .forEach(field => {\n includedFields.add(field.trim());\n });\n\n for (let i = headers.length - 1; i >= 0; i--) {\n let line = headers[i];\n // only include the first value from bottom to top\n if (includedFields.has(line.key) && !headerFields.has(line.key)) {\n headerFields.set(line.key, relaxedHeaderLine(line.line));\n }\n }\n\n let headersList = [];\n let fields = [];\n includedFields.forEach(field => {\n if (headerFields.has(field)) {\n fields.push(field);\n headersList.push(field + ':' + headerFields.get(field));\n }\n });\n\n return {\n headers: headersList.join('\\r\\n') + '\\r\\n',\n fieldNames: fields.join(':')\n };\n}\n\nfunction relaxedHeaderLine(line) {\n return line\n .substr(line.indexOf(':') + 1)\n .replace(/\\r?\\n/g, '')\n .replace(/\\s+/g, ' ')\n .trim();\n}\n",null,"'use strict'\n\nconst u = require('universalify').fromCallback\nmodule.exports = {\n move: u(require('./move'))\n}\n","function stringify (obj, options = {}) {\n const EOL = options.EOL || '\\n'\n\n const str = JSON.stringify(obj, options ? options.replacer : null, options.spaces)\n\n return str.replace(/\\n/g, EOL) + EOL\n}\n\nfunction stripBom (content) {\n // we do this because JSON.parse would convert it to a utf8 string if encoding wasn't specified\n if (Buffer.isBuffer(content)) content = content.toString('utf8')\n return content.replace(/^\\uFEFF/, '')\n}\n\nmodule.exports = { stringify, stripBom }\n","module.exports = require(\"assert\");","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlShareOption = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L2685\r\n// not following enum naming convention on this one to keep consistent with other curl options\r\n/**\r\n * Options to be used with {@link \"Share\".Share.setOpt | `Share#setOpt`}.\r\n *\r\n * @public\r\n */\r\nvar CurlShareOption;\r\n(function (CurlShareOption) {\r\n CurlShareOption[CurlShareOption[\"SHARE\"] = 1] = \"SHARE\";\r\n CurlShareOption[CurlShareOption[\"UNSHARE\"] = 2] = \"UNSHARE\";\r\n})(CurlShareOption = exports.CurlShareOption || (exports.CurlShareOption = {}));\r\n//# sourceMappingURL=CurlShareOption.js.map","var path = require('path');\nvar common = require('./common');\n\ncommon.register('pwd', _pwd, {\n allowGlobbing: false,\n});\n\n//@\n//@ ### pwd()\n//@\n//@ Returns the current directory.\nfunction _pwd() {\n var pwd = path.resolve(process.cwd());\n return pwd;\n}\nmodule.exports = _pwd;\n","'use strict';\nmodule.exports = (flag, argv) => {\n\targv = argv || process.argv;\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst pos = argv.indexOf(prefix + flag);\n\tconst terminatorPos = argv.indexOf('--');\n\treturn pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n","module.exports = __non_webpack_require__(__webpack_require__.ab + \"lib/binding/node_libcurl.node\")","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","module.exports = require(\"crypto\");","'use strict';\n\nconst SMTPConnection = require('../smtp-connection');\nconst assign = require('../shared').assign;\nconst XOAuth2 = require('../xoauth2');\nconst EventEmitter = require('events');\n\n/**\n * Creates an element for the pool\n *\n * @constructor\n * @param {Object} options SMTPPool instance\n */\nclass PoolResource extends EventEmitter {\n constructor(pool) {\n super();\n\n this.pool = pool;\n this.options = pool.options;\n this.logger = this.pool.logger;\n\n if (this.options.auth) {\n switch ((this.options.auth.type || '').toString().toUpperCase()) {\n case 'OAUTH2': {\n let oauth2 = new XOAuth2(this.options.auth, this.logger);\n oauth2.provisionCallback = (this.pool.mailer && this.pool.mailer.get('oauth2_provision_cb')) || oauth2.provisionCallback;\n this.auth = {\n type: 'OAUTH2',\n user: this.options.auth.user,\n oauth2,\n method: 'XOAUTH2'\n };\n oauth2.on('token', token => this.pool.mailer.emit('token', token));\n oauth2.on('error', err => this.emit('error', err));\n break;\n }\n default:\n if (!this.options.auth.user && !this.options.auth.pass) {\n break;\n }\n this.auth = {\n type: (this.options.auth.type || '').toString().toUpperCase() || 'LOGIN',\n user: this.options.auth.user,\n credentials: {\n user: this.options.auth.user || '',\n pass: this.options.auth.pass,\n options: this.options.auth.options\n },\n method: (this.options.auth.method || '').trim().toUpperCase() || this.options.authMethod || false\n };\n }\n }\n\n this._connection = false;\n this._connected = false;\n\n this.messages = 0;\n this.available = true;\n }\n\n /**\n * Initiates a connection to the SMTP server\n *\n * @param {Function} callback Callback function to run once the connection is established or failed\n */\n connect(callback) {\n this.pool.getSocket(this.options, (err, socketOptions) => {\n if (err) {\n return callback(err);\n }\n\n let returned = false;\n let options = this.options;\n if (socketOptions && socketOptions.connection) {\n this.logger.info(\n {\n tnx: 'proxy',\n remoteAddress: socketOptions.connection.remoteAddress,\n remotePort: socketOptions.connection.remotePort,\n destHost: options.host || '',\n destPort: options.port || '',\n action: 'connected'\n },\n 'Using proxied socket from %s:%s to %s:%s',\n socketOptions.connection.remoteAddress,\n socketOptions.connection.remotePort,\n options.host || '',\n options.port || ''\n );\n\n options = assign(false, options);\n Object.keys(socketOptions).forEach(key => {\n options[key] = socketOptions[key];\n });\n }\n\n this.connection = new SMTPConnection(options);\n\n this.connection.once('error', err => {\n this.emit('error', err);\n if (returned) {\n return;\n }\n returned = true;\n return callback(err);\n });\n\n this.connection.once('end', () => {\n this.close();\n if (returned) {\n return;\n }\n returned = true;\n\n let timer = setTimeout(() => {\n if (returned) {\n return;\n }\n // still have not returned, this means we have an unexpected connection close\n let err = new Error('Unexpected socket close');\n if (this.connection && this.connection._socket && this.connection._socket.upgrading) {\n // starttls connection errors\n err.code = 'ETLS';\n }\n callback(err);\n }, 1000);\n\n try {\n timer.unref();\n } catch (E) {\n // Ignore. Happens on envs with non-node timer implementation\n }\n });\n\n this.connection.connect(() => {\n if (returned) {\n return;\n }\n\n if (this.auth && (this.connection.allowsAuth || options.forceAuth)) {\n this.connection.login(this.auth, err => {\n if (returned) {\n return;\n }\n returned = true;\n\n if (err) {\n this.connection.close();\n this.emit('error', err);\n return callback(err);\n }\n\n this._connected = true;\n callback(null, true);\n });\n } else {\n returned = true;\n this._connected = true;\n return callback(null, true);\n }\n });\n });\n }\n\n /**\n * Sends an e-mail to be sent using the selected settings\n *\n * @param {Object} mail Mail object\n * @param {Function} callback Callback function\n */\n send(mail, callback) {\n if (!this._connected) {\n return this.connect(err => {\n if (err) {\n return callback(err);\n }\n return this.send(mail, callback);\n });\n }\n\n let envelope = mail.message.getEnvelope();\n let messageId = mail.message.messageId();\n\n let recipients = [].concat(envelope.to || []);\n if (recipients.length > 3) {\n recipients.push('...and ' + recipients.splice(2).length + ' more');\n }\n this.logger.info(\n {\n tnx: 'send',\n messageId,\n cid: this.id\n },\n 'Sending message %s using #%s to <%s>',\n messageId,\n this.id,\n recipients.join(', ')\n );\n\n if (mail.data.dsn) {\n envelope.dsn = mail.data.dsn;\n }\n\n this.connection.send(envelope, mail.message.createReadStream(), (err, info) => {\n this.messages++;\n\n if (err) {\n this.connection.close();\n this.emit('error', err);\n return callback(err);\n }\n\n info.envelope = {\n from: envelope.from,\n to: envelope.to\n };\n info.messageId = messageId;\n\n setImmediate(() => {\n let err;\n if (this.messages >= this.options.maxMessages) {\n err = new Error('Resource exhausted');\n err.code = 'EMAXLIMIT';\n this.connection.close();\n this.emit('error', err);\n } else {\n this.pool._checkRateLimit(() => {\n this.available = true;\n this.emit('available');\n });\n }\n });\n\n callback(null, info);\n });\n }\n\n /**\n * Closes the connection\n */\n close() {\n this._connected = false;\n if (this.auth && this.auth.oauth2) {\n this.auth.oauth2.removeAllListeners();\n }\n if (this.connection) {\n this.connection.close();\n }\n this.emit('close');\n }\n}\n\nmodule.exports = PoolResource;\n","var common = require('./common');\nvar fs = require('fs');\nvar path = require('path');\n\ncommon.register('to', _to, {\n pipeOnly: true,\n wrapOutput: false,\n});\n\n//@\n//@ ### ShellString.prototype.to(file)\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ cat('input.txt').to('output.txt');\n//@ ```\n//@\n//@ Analogous to the redirection operator `>` in Unix, but works with\n//@ `ShellStrings` (such as those returned by `cat`, `grep`, etc.). _Like Unix\n//@ redirections, `to()` will overwrite any existing file!_\nfunction _to(options, file) {\n if (!file) common.error('wrong arguments');\n\n if (!fs.existsSync(path.dirname(file))) {\n common.error('no such file or directory: ' + path.dirname(file));\n }\n\n try {\n fs.writeFileSync(file, this.stdout || this.toString(), 'utf8');\n return this;\n } catch (e) {\n /* istanbul ignore next */\n common.error('could not write to file (code ' + e.code + '): ' + file, { continue: true });\n }\n}\nmodule.exports = _to;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar isPlainObject = _interopDefault(require('is-plain-object'));\nvar universalUserAgent = require('universal-user-agent');\n\nfunction lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n\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)) Object.assign(result, {\n [key]: options[key]\n });else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, {\n [key]: options[key]\n });\n }\n });\n return result;\n}\n\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? {\n method,\n url\n } : {\n url: method\n }, options);\n } else {\n options = Object.assign({}, route);\n } // lowercase header names before merging with defaults to avoid duplicates\n\n\n options.headers = lowercaseKeys(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten\n\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);\n }\n\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n\nfunction addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n\n if (names.length === 0) {\n return url;\n }\n\n return url + separator + names.map(name => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\nconst urlVariableRegex = /\\{[^}]+\\}/g;\n\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\n\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n\n if (!matches) {\n return [];\n }\n\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n\nfunction 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}\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\n/* istanbul ignore file */\nfunction 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\n return part;\n }).join(\"\");\n}\n\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\n\nfunction getValues(context, operator, key, modifier) {\n var value = context[key],\n result = [];\n\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\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 } 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\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\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\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\n return result;\n}\n\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\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\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\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\n if (operator && operator !== \"+\") {\n var separator = \",\";\n\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\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\nfunction parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible\n\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, [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"mediaType\"]); // extract variable names from URL to calculate remaining variables later\n\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n\n const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequset = /application\\/octet-stream/i.test(headers.accept);\n\n if (!isBinaryRequset) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(\",\");\n }\n\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 } // 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\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 } else {\n headers[\"content-length\"] = 0;\n }\n }\n } // default content-type for JSON if body is set\n\n\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\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\n\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n } // Only return body/request keys if present\n\n\n return Object.assign({\n method,\n url,\n headers\n }, typeof body !== \"undefined\" ? {\n body\n } : null, options.request ? {\n request: options.request\n } : null);\n}\n\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\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}\n\nconst VERSION = \"6.0.5\";\n\nconst userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\n\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 previews: []\n }\n};\n\nconst endpoint = withDefaults(null, DEFAULTS);\n\nexports.endpoint = endpoint;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptUndefined() {\n return true;\n}\n\nfunction constructJavascriptUndefined() {\n /*eslint-disable no-undefined*/\n return undefined;\n}\n\nfunction representJavascriptUndefined() {\n return '';\n}\n\nfunction isUndefined(object) {\n return typeof object === 'undefined';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/undefined', {\n kind: 'scalar',\n resolve: resolveJavascriptUndefined,\n construct: constructJavascriptUndefined,\n predicate: isUndefined,\n represent: representJavascriptUndefined\n});\n","'use strict';\n\n// streams through a message body and calculates relaxed body hash\n\nconst Transform = require('stream').Transform;\nconst crypto = require('crypto');\n\nclass RelaxedBody extends Transform {\n constructor(options) {\n super();\n options = options || {};\n this.chunkBuffer = [];\n this.chunkBufferLen = 0;\n this.bodyHash = crypto.createHash(options.hashAlgo || 'sha1');\n this.remainder = '';\n this.byteLength = 0;\n\n this.debug = options.debug;\n this._debugBody = options.debug ? [] : false;\n }\n\n updateHash(chunk) {\n let bodyStr;\n\n // find next remainder\n let nextRemainder = '';\n\n // This crux finds and removes the spaces from the last line and the newline characters after the last non-empty line\n // If we get another chunk that does not match this description then we can restore the previously processed data\n let state = 'file';\n for (let i = chunk.length - 1; i >= 0; i--) {\n let c = chunk[i];\n\n if (state === 'file' && (c === 0x0a || c === 0x0d)) {\n // do nothing, found \\n or \\r at the end of chunk, stil end of file\n } else if (state === 'file' && (c === 0x09 || c === 0x20)) {\n // switch to line ending mode, this is the last non-empty line\n state = 'line';\n } else if (state === 'line' && (c === 0x09 || c === 0x20)) {\n // do nothing, found ' ' or \\t at the end of line, keep processing the last non-empty line\n } else if (state === 'file' || state === 'line') {\n // non line/file ending character found, switch to body mode\n state = 'body';\n if (i === chunk.length - 1) {\n // final char is not part of line end or file end, so do nothing\n break;\n }\n }\n\n if (i === 0) {\n // reached to the beginning of the chunk, check if it is still about the ending\n // and if the remainder also matches\n if (\n (state === 'file' && (!this.remainder || /[\\r\\n]$/.test(this.remainder))) ||\n (state === 'line' && (!this.remainder || /[ \\t]$/.test(this.remainder)))\n ) {\n // keep everything\n this.remainder += chunk.toString('binary');\n return;\n } else if (state === 'line' || state === 'file') {\n // process existing remainder as normal line but store the current chunk\n nextRemainder = chunk.toString('binary');\n chunk = false;\n break;\n }\n }\n\n if (state !== 'body') {\n continue;\n }\n\n // reached first non ending byte\n nextRemainder = chunk.slice(i + 1).toString('binary');\n chunk = chunk.slice(0, i + 1);\n break;\n }\n\n let needsFixing = !!this.remainder;\n if (chunk && !needsFixing) {\n // check if we even need to change anything\n for (let i = 0, len = chunk.length; i < len; i++) {\n if (i && chunk[i] === 0x0a && chunk[i - 1] !== 0x0d) {\n // missing \\r before \\n\n needsFixing = true;\n break;\n } else if (i && chunk[i] === 0x0d && chunk[i - 1] === 0x20) {\n // trailing WSP found\n needsFixing = true;\n break;\n } else if (i && chunk[i] === 0x20 && chunk[i - 1] === 0x20) {\n // multiple spaces found, needs to be replaced with just one\n needsFixing = true;\n break;\n } else if (chunk[i] === 0x09) {\n // TAB found, needs to be replaced with a space\n needsFixing = true;\n break;\n }\n }\n }\n\n if (needsFixing) {\n bodyStr = this.remainder + (chunk ? chunk.toString('binary') : '');\n this.remainder = nextRemainder;\n bodyStr = bodyStr\n .replace(/\\r?\\n/g, '\\n') // use js line endings\n .replace(/[ \\t]*$/gm, '') // remove line endings, rtrim\n .replace(/[ \\t]+/gm, ' ') // single spaces\n .replace(/\\n/g, '\\r\\n'); // restore rfc822 line endings\n chunk = Buffer.from(bodyStr, 'binary');\n } else if (nextRemainder) {\n this.remainder = nextRemainder;\n }\n\n if (this.debug) {\n this._debugBody.push(chunk);\n }\n this.bodyHash.update(chunk);\n }\n\n _transform(chunk, encoding, callback) {\n if (!chunk || !chunk.length) {\n return callback();\n }\n\n if (typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n this.updateHash(chunk);\n\n this.byteLength += chunk.length;\n this.push(chunk);\n callback();\n }\n\n _flush(callback) {\n // generate final hash and emit it\n if (/[\\r\\n]$/.test(this.remainder) && this.byteLength > 2) {\n // add terminating line end\n this.bodyHash.update(Buffer.from('\\r\\n'));\n }\n if (!this.byteLength) {\n // emit empty line buffer to keep the stream flowing\n this.push(Buffer.from('\\r\\n'));\n // this.bodyHash.update(Buffer.from('\\r\\n'));\n }\n\n this.emit('hash', this.bodyHash.digest('base64'), this.debug ? Buffer.concat(this._debugBody) : false);\n callback();\n }\n}\n\nmodule.exports = RelaxedBody;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlPipe = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/7e35eb77292f/include/curl/multi.h#L84\r\n/**\r\n * Object with bit constants to be used with the multi handle option `PIPELINING`\r\n * Those are available starting with libcurl 7.43.0.\r\n *\r\n * `CURLPIPE_NOTHING` becomes `CurlPipe.Nothing`\r\n *\r\n * @public\r\n */\r\nvar CurlPipe;\r\n(function (CurlPipe) {\r\n CurlPipe[CurlPipe[\"Nothing\"] = 0] = \"Nothing\";\r\n /**\r\n * Deprecated and has no effect since version 7.62.0\r\n */\r\n CurlPipe[CurlPipe[\"Http1\"] = 1] = \"Http1\";\r\n /**\r\n * If this bit is set, libcurl will try to multiplex the new transfer over an existing connection if possible. This requires HTTP/2.\r\n *\r\n * This is enabled by default starting with version 7.62.0\r\n */\r\n CurlPipe[CurlPipe[\"Multiplex\"] = 2] = \"Multiplex\";\r\n})(CurlPipe = exports.CurlPipe || (exports.CurlPipe = {}));\r\n//# sourceMappingURL=CurlPipe.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n\n return \"\";\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlWriteFunc = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898fccafc5d6cd04f6235f283cfbd/include/curl/curl.h#L252\r\n/**\r\n * Special return codes for `WRITEFUNCTION` option\r\n *\r\n * `CURL_WRITEFUNC_PAUSE` becomes `CurlWriteFunc.Pause`\r\n *\r\n * @public\r\n */\r\nvar CurlWriteFunc;\r\n(function (CurlWriteFunc) {\r\n CurlWriteFunc[CurlWriteFunc[\"Pause\"] = 268435457] = \"Pause\";\r\n})(CurlWriteFunc = exports.CurlWriteFunc || (exports.CurlWriteFunc = {}));\r\n//# sourceMappingURL=CurlWriteFunc.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.curly = void 0;\r\nconst CurlOption_1 = require(\"./generated/CurlOption\");\r\nconst Curl_1 = require(\"./Curl\");\r\nconst CurlFeature_1 = require(\"./enum/CurlFeature\");\r\n// This is basically http.METHODS\r\nconst methods = [\r\n 'acl',\r\n 'bind',\r\n 'checkout',\r\n 'connect',\r\n 'copy',\r\n 'delete',\r\n 'get',\r\n 'head',\r\n 'link',\r\n 'lock',\r\n 'm-search',\r\n 'merge',\r\n 'mkactivity',\r\n 'mkcalendar',\r\n 'mkcol',\r\n 'move',\r\n 'notify',\r\n 'options',\r\n 'patch',\r\n 'post',\r\n 'propfind',\r\n 'proppatch',\r\n 'purge',\r\n 'put',\r\n 'rebind',\r\n 'report',\r\n 'search',\r\n 'source',\r\n 'subscribe',\r\n 'trace',\r\n 'unbind',\r\n 'unlink',\r\n 'unlock',\r\n 'unsubscribe',\r\n];\r\nconst create = (defaultOptions = {}) => {\r\n function curly(url, options = {}) {\r\n const curlHandle = new Curl_1.Curl();\r\n curlHandle.enable(CurlFeature_1.CurlFeature.NoDataParsing);\r\n curlHandle.setOpt('URL', `${options.curlyBaseUrl || ''}${url}`);\r\n const finalOptions = {\r\n ...defaultOptions,\r\n ...options,\r\n };\r\n for (const key of Object.keys(finalOptions)) {\r\n const keyTyped = key;\r\n const optionName = keyTyped in CurlOption_1.CurlOptionCamelCaseMap\r\n ? CurlOption_1.CurlOptionCamelCaseMap[keyTyped]\r\n : keyTyped;\r\n // if it begins with curly we do not set it on the curlHandle\r\n // as it's an specific option for curly\r\n if (optionName.startsWith('curly'))\r\n continue;\r\n // @ts-ignore @TODO Try to type this\r\n curlHandle.setOpt(optionName, finalOptions[key]);\r\n }\r\n // streams!\r\n const { curlyStreamResponse, curlyStreamResponseHighWaterMark, curlyStreamUpload, } = finalOptions;\r\n const isUsingStream = !!(curlyStreamResponse || curlyStreamUpload);\r\n if (finalOptions.curlyProgressCallback) {\r\n if (typeof finalOptions.curlyProgressCallback !== 'function') {\r\n throw new TypeError('curlyProgressCallback must be a function with signature (number, number, number, number) => number');\r\n }\r\n const fnToCall = isUsingStream\r\n ? 'setStreamProgressCallback'\r\n : 'setProgressCallback';\r\n curlHandle[fnToCall](finalOptions.curlyProgressCallback);\r\n }\r\n if (curlyStreamResponse) {\r\n curlHandle.enable(CurlFeature_1.CurlFeature.StreamResponse);\r\n if (curlyStreamResponseHighWaterMark) {\r\n curlHandle.setStreamResponseHighWaterMark(curlyStreamResponseHighWaterMark);\r\n }\r\n }\r\n if (curlyStreamUpload) {\r\n curlHandle.setUploadStream(curlyStreamUpload);\r\n }\r\n const lowerCaseHeadersIfNecessary = (headers) => {\r\n // in-place modification\r\n // yeah, I know mutability is bad and all that\r\n if (finalOptions.curlyLowerCaseHeaders) {\r\n for (const headersReq of headers) {\r\n const entries = Object.entries(headersReq);\r\n for (const [headerKey, headerValue] of entries) {\r\n delete headersReq[headerKey];\r\n headersReq[headerKey.toLowerCase()] = headerValue;\r\n }\r\n }\r\n }\r\n };\r\n return new Promise((resolve, reject) => {\r\n let stream;\r\n if (curlyStreamResponse) {\r\n curlHandle.on('stream', (_stream, statusCode, headers) => {\r\n lowerCaseHeadersIfNecessary(headers);\r\n stream = _stream;\r\n resolve({\r\n // @ts-ignore cannot be subtype yada yada\r\n data: stream,\r\n statusCode,\r\n headers,\r\n });\r\n });\r\n }\r\n curlHandle.on('end', (statusCode, data, headers) => {\r\n curlHandle.close();\r\n // only need to the remaining here if we did not enabled\r\n // the stream response\r\n if (curlyStreamResponse) {\r\n return;\r\n }\r\n const contentTypeEntry = Object.entries(headers[headers.length - 1]).find(([k]) => k.toLowerCase() === 'content-type');\r\n let contentType = contentTypeEntry ? contentTypeEntry[1] : '';\r\n // remove the metadata of the content-type, like charset\r\n // See https://tools.ietf.org/html/rfc7231#section-3.1.1.5\r\n contentType = contentType.split(';')[0];\r\n const responseBodyParsers = {\r\n ...curly.defaultResponseBodyParsers,\r\n ...finalOptions.curlyResponseBodyParsers,\r\n };\r\n let foundParser = finalOptions.curlyResponseBodyParser;\r\n if (typeof foundParser === 'undefined') {\r\n for (const [contentTypeFormat, parser] of Object.entries(responseBodyParsers)) {\r\n if (typeof parser !== 'function') {\r\n return reject(new TypeError(`Response body parser for ${contentTypeFormat} must be a function`));\r\n }\r\n if (contentType === contentTypeFormat) {\r\n foundParser = parser;\r\n break;\r\n }\r\n else if (contentTypeFormat === '*') {\r\n foundParser = parser;\r\n break;\r\n }\r\n else {\r\n const partsFormat = contentTypeFormat.split('/');\r\n const partsContentType = contentType.split('/');\r\n if (partsContentType.length === partsFormat.length &&\r\n partsContentType.every((val, index) => partsFormat[index] === '*' || partsFormat[index] === val)) {\r\n foundParser = parser;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (foundParser && typeof foundParser !== 'function') {\r\n return reject(new TypeError('`curlyResponseBodyParser` passed to curly must be false or a function.'));\r\n }\r\n lowerCaseHeadersIfNecessary(headers);\r\n try {\r\n resolve({\r\n statusCode: statusCode,\r\n data: foundParser ? foundParser(data, headers) : data,\r\n headers: headers,\r\n });\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n curlHandle.on('error', (error, errorCode) => {\r\n curlHandle.close();\r\n // @ts-ignore\r\n error.code = errorCode;\r\n // @ts-ignore\r\n error.isCurlError = true;\r\n // oops, if have a stream it means the promise\r\n // has been resolved with it\r\n // so instead of rejecting the original promise\r\n // we are emitting the error event on the stream\r\n if (stream) {\r\n stream.emit('error', error);\r\n }\r\n else {\r\n reject(error);\r\n }\r\n });\r\n try {\r\n curlHandle.perform();\r\n }\r\n catch (error) /* istanbul ignore next: this should never happen 🤷‍♂️ */ {\r\n curlHandle.close();\r\n reject(error);\r\n }\r\n });\r\n }\r\n curly.create = create;\r\n curly.defaultResponseBodyParsers = {\r\n 'application/json': (data, _headers) => {\r\n try {\r\n const string = data.toString('utf8');\r\n return JSON.parse(string);\r\n }\r\n catch (error) {\r\n throw new Error(`curly failed to parse \"application/json\" content as JSON. This is generally caused by receiving malformed JSON data from the server.\nYou can disable this automatic behavior by setting the option curlyResponseBodyParser to false, then a Buffer will be returned as the data.\nYou can also overwrite the \"application/json\" parser with your own by changing one of the following:\n - curly.defaultResponseBodyParsers['application/json']\n or\n - options.curlyResponseBodyParsers = { 'application/json': parser }\n\nIf you want just a single function to handle all content-types, you can use the option \"curlyResponseBodyParser\".\n`);\r\n }\r\n },\r\n // We are in [INSERT CURRENT YEAR], let's assume everyone is using utf8 encoding for text/* content-type.\r\n 'text/*': (data, _headers) => data.toString('utf8'),\r\n // otherwise let's just return the raw buffer\r\n '*': (data, _headers) => data,\r\n };\r\n const httpMethodOptionsMap = {\r\n get: null,\r\n post: (_m, o) => ({\r\n post: true,\r\n ...o,\r\n }),\r\n head: (_m, o) => ({\r\n nobody: true,\r\n ...o,\r\n }),\r\n _: (m, o) => ({\r\n customRequest: m.toUpperCase(),\r\n ...o,\r\n }),\r\n };\r\n for (const httpMethod of methods) {\r\n const httpMethodOptionsKey = Object.prototype.hasOwnProperty.call(httpMethodOptionsMap, httpMethod)\r\n ? httpMethod\r\n : '_';\r\n const httpMethodOptions = httpMethodOptionsMap[httpMethodOptionsKey];\r\n // @ts-ignore\r\n curly[httpMethod] =\r\n httpMethodOptions === null\r\n ? curly\r\n : (url, options = {}) => curly(url, {\r\n ...httpMethodOptions(httpMethod, options),\r\n });\r\n }\r\n // @ts-ignore\r\n return curly;\r\n};\r\n/**\r\n * Curly function\r\n *\r\n * @public\r\n */\r\nexports.curly = create();\r\n//# sourceMappingURL=curly.js.map","'use strict';\n\nconst cp = require('child_process');\nconst parse = require('./lib/parse');\nconst enoent = require('./lib/enoent');\n\nfunction spawn(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n\n // Hook into child process \"exit\" event to emit an error if the command\n // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n enoent.hookChildProcess(spawned, parsed);\n\n return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);\n\n // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n\n return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\n\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\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 fs = require('fs')\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 alphasort = common.alphasort\nvar alphasorti = common.alphasorti\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) || isAbsolute(pattern.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 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 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 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 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';\nconst path = require('path');\nconst pathKey = require('path-key');\n\nmodule.exports = opts => {\n\topts = Object.assign({\n\t\tcwd: process.cwd(),\n\t\tpath: process.env[pathKey()]\n\t}, opts);\n\n\tlet prev;\n\tlet pth = path.resolve(opts.cwd);\n\tconst ret = [];\n\n\twhile (prev !== pth) {\n\t\tret.push(path.join(pth, 'node_modules/.bin'));\n\t\tprev = pth;\n\t\tpth = path.resolve(pth, '..');\n\t}\n\n\t// ensure the running `node` binary is used\n\tret.push(path.dirname(process.execPath));\n\n\treturn ret.concat(opts.path).join(path.delimiter);\n};\n\nmodule.exports.env = opts => {\n\topts = Object.assign({\n\t\tenv: process.env\n\t}, opts);\n\n\tconst env = Object.assign({}, opts.env);\n\tconst path = pathKey({env});\n\n\topts.path = env[path];\n\tenv[path] = module.exports(opts);\n\n\treturn env;\n};\n","// see dirs.js\n","'use strict';\n\nconst spawn = require('child_process').spawn;\nconst packageData = require('../../package.json');\nconst LeWindows = require('./le-windows');\nconst LeUnix = require('./le-unix');\nconst shared = require('../shared');\n\n/**\n * Generates a Transport object for Sendmail\n *\n * Possible options can be the following:\n *\n * * **path** optional path to sendmail binary\n * * **newline** either 'windows' or 'unix'\n * * **args** an array of arguments for the sendmail binary\n *\n * @constructor\n * @param {Object} optional config parameter for Sendmail\n */\nclass SendmailTransport {\n constructor(options) {\n options = options || {};\n\n // use a reference to spawn for mocking purposes\n this._spawn = spawn;\n\n this.options = options || {};\n\n this.name = 'Sendmail';\n this.version = packageData.version;\n\n this.path = 'sendmail';\n this.args = false;\n this.winbreak = false;\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'sendmail'\n });\n\n if (options) {\n if (typeof options === 'string') {\n this.path = options;\n } else if (typeof options === 'object') {\n if (options.path) {\n this.path = options.path;\n }\n if (Array.isArray(options.args)) {\n this.args = options.args;\n }\n this.winbreak = ['win', 'windows', 'dos', '\\r\\n'].includes((options.newline || '').toString().toLowerCase());\n }\n }\n }\n\n /**\n *

Compiles a mailcomposer message and forwards it to handler that sends it.

\n *\n * @param {Object} emailMessage MailComposer object\n * @param {Function} callback Callback function to run when the sending is completed\n */\n send(mail, done) {\n // Sendmail strips this header line by itself\n mail.message.keepBcc = true;\n\n let envelope = mail.data.envelope || mail.message.getEnvelope();\n let messageId = mail.message.messageId();\n let args;\n let sendmail;\n let returned;\n let transform;\n\n const hasInvalidAddresses = []\n .concat(envelope.from || [])\n .concat(envelope.to || [])\n .some(addr => /^-/.test(addr));\n if (hasInvalidAddresses) {\n return done(new Error('Can not send mail. Invalid envelope addresses.'));\n }\n\n if (this.args) {\n // force -i to keep single dots\n args = ['-i'].concat(this.args).concat(envelope.to);\n } else {\n args = ['-i'].concat(envelope.from ? ['-f', envelope.from] : []).concat(envelope.to);\n }\n\n let callback = err => {\n if (returned) {\n // ignore any additional responses, already done\n return;\n }\n returned = true;\n if (typeof done === 'function') {\n if (err) {\n return done(err);\n } else {\n return done(null, {\n envelope: mail.data.envelope || mail.message.getEnvelope(),\n messageId,\n response: 'Messages queued for delivery'\n });\n }\n }\n };\n\n try {\n sendmail = this._spawn(this.path, args);\n } catch (E) {\n this.logger.error(\n {\n err: E,\n tnx: 'spawn',\n messageId\n },\n 'Error occurred while spawning sendmail. %s',\n E.message\n );\n return callback(E);\n }\n\n if (sendmail) {\n sendmail.on('error', err => {\n this.logger.error(\n {\n err,\n tnx: 'spawn',\n messageId\n },\n 'Error occurred when sending message %s. %s',\n messageId,\n err.message\n );\n callback(err);\n });\n\n sendmail.once('exit', code => {\n if (!code) {\n return callback();\n }\n let err;\n if (code === 127) {\n err = new Error('Sendmail command not found, process exited with code ' + code);\n } else {\n err = new Error('Sendmail exited with code ' + code);\n }\n\n this.logger.error(\n {\n err,\n tnx: 'stdin',\n messageId\n },\n 'Error sending message %s to sendmail. %s',\n messageId,\n err.message\n );\n callback(err);\n });\n sendmail.once('close', callback);\n\n sendmail.stdin.on('error', err => {\n this.logger.error(\n {\n err,\n tnx: 'stdin',\n messageId\n },\n 'Error occurred when piping message %s to sendmail. %s',\n messageId,\n err.message\n );\n callback(err);\n });\n\n let recipients = [].concat(envelope.to || []);\n if (recipients.length > 3) {\n recipients.push('...and ' + recipients.splice(2).length + ' more');\n }\n this.logger.info(\n {\n tnx: 'send',\n messageId\n },\n 'Sending message %s to <%s>',\n messageId,\n recipients.join(', ')\n );\n\n transform = this.winbreak ? new LeWindows() : new LeUnix();\n let sourceStream = mail.message.createReadStream();\n\n transform.once('error', err => {\n this.logger.error(\n {\n err,\n tnx: 'stdin',\n messageId\n },\n 'Error occurred when generating message %s. %s',\n messageId,\n err.message\n );\n sendmail.kill('SIGINT'); // do not deliver the message\n callback(err);\n });\n\n sourceStream.once('error', err => transform.emit('error', err));\n sourceStream.pipe(transform).pipe(sendmail.stdin);\n } else {\n return callback(new Error('sendmail was not found'));\n }\n }\n}\n\nmodule.exports = SendmailTransport;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Curl = void 0;\r\nconst tslib_1 = require(\"tslib\");\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\nconst events_1 = require(\"events\");\r\nconst string_decoder_1 = require(\"string_decoder\");\r\nconst assert_1 = tslib_1.__importDefault(require(\"assert\"));\r\nconst stream_1 = require(\"stream\");\r\n// eslint-disable-next-line @typescript-eslint/no-var-requires\r\nconst pkg = require('../package.json');\r\nconst Easy_1 = require(\"./Easy\");\r\nconst Multi_1 = require(\"./Multi\");\r\nconst mergeChunks_1 = require(\"./mergeChunks\");\r\nconst parseHeaders_1 = require(\"./parseHeaders\");\r\nconst CurlCode_1 = require(\"./enum/CurlCode\");\r\nconst CurlFeature_1 = require(\"./enum/CurlFeature\");\r\nconst CurlPause_1 = require(\"./enum/CurlPause\");\r\nconst CurlWriteFunc_1 = require(\"./enum/CurlWriteFunc\");\r\nconst CurlReadFunc_1 = require(\"./enum/CurlReadFunc\");\r\n// eslint-disable-next-line @typescript-eslint/no-var-requires\r\nconst bindings = require('../lib/binding/node_libcurl.node');\r\nconst { Curl: _Curl, CurlVersionInfo } = bindings;\r\nif (!process.env.NODE_LIBCURL_DISABLE_GLOBAL_INIT_CALL ||\r\n process.env.NODE_LIBCURL_DISABLE_GLOBAL_INIT_CALL !== 'true') {\r\n // We could just pass nothing here, CurlGlobalInitEnum.All is the default anyway.\r\n const globalInitResult = _Curl.globalInit(3 /* All */);\r\n assert_1.default(globalInitResult === 0 || 'Libcurl global init failed.');\r\n}\r\nconst decoder = new string_decoder_1.StringDecoder('utf8');\r\n// Handle used by curl instances created by the Curl wrapper.\r\nconst multiHandle = new Multi_1.Multi();\r\nconst curlInstanceMap = new WeakMap();\r\nmultiHandle.onMessage((error, handle, errorCode) => {\r\n multiHandle.removeHandle(handle);\r\n const curlInstance = curlInstanceMap.get(handle);\r\n assert_1.default(curlInstance, 'Could not retrieve curl instance from easy handle on onMessage callback');\r\n if (error) {\r\n curlInstance.onError(error, errorCode);\r\n }\r\n else {\r\n curlInstance.onEnd();\r\n }\r\n});\r\n/**\r\n * Wrapper around {@link \"Easy\".Easy | `Easy`} class with a more *nodejs-friendly* interface.\r\n *\r\n * This uses an internal {@link \"Multi\".Multi | `Multi`} instance allowing for asynchronous\r\n * requests.\r\n *\r\n * @public\r\n */\r\nclass Curl extends events_1.EventEmitter {\r\n /**\r\n * @param cloneHandle {@link \"Easy\".Easy | `Easy`} handle that should be used instead of creating a new one.\r\n */\r\n constructor(cloneHandle) {\r\n super();\r\n /**\r\n * Whether this instance is running or not ({@link perform | `perform()`} was called).\r\n *\r\n * Make sure to not change their value, otherwise unexpected behavior would happen.\r\n *\r\n * This is marked as protected only with the TSDoc to not cause a breaking change.\r\n *\r\n * @protected\r\n */\r\n this.isRunning = false;\r\n /**\r\n * Stores current response payload.\r\n *\r\n * This will not store anything in case {@link CurlFeature.NoDataStorage | `NoDataStorage`} flag is enabled\r\n */\r\n this.chunks = [];\r\n /**\r\n * Current response length.\r\n *\r\n * Will always be zero in case {@link CurlFeature.NoDataStorage | `NoDataStorage`} flag is enabled\r\n */\r\n this.chunksLength = 0;\r\n /**\r\n * Stores current headers payload.\r\n *\r\n * This will not store anything in case {@link CurlFeature.NoDataStorage | `NoDataStorage`} flag is enabled\r\n */\r\n this.headerChunks = [];\r\n /**\r\n * Current headers length.\r\n *\r\n * Will always be zero in case {@link CurlFeature.NoDataStorage | `NoDataStorage`} flag is enabled\r\n */\r\n this.headerChunksLength = 0;\r\n /**\r\n * Currently enabled features.\r\n *\r\n * See {@link enable | `enable`} and {@link disable | `disable`}\r\n */\r\n this.features = 0;\r\n // these are for stream handling\r\n // the streams themselves\r\n this.writeFunctionStream = null;\r\n this.readFunctionStream = null;\r\n // READFUNCTION / upload related\r\n this.streamReadFunctionCallbacksToClean = [];\r\n // a state machine would be better here than all these flags 🤣\r\n this.streamReadFunctionShouldEnd = false;\r\n this.streamReadFunctionShouldPause = false;\r\n this.streamReadFunctionPaused = false;\r\n this.streamWriteFunctionShouldPause = false;\r\n this.streamWriteFunctionPaused = false;\r\n this.streamWriteFunctionFirstRun = true;\r\n // common\r\n this.streamPauseNext = false;\r\n this.streamContinueNext = false;\r\n this.streamError = false;\r\n this.streamUserSuppliedProgressFunction = null;\r\n const handle = cloneHandle || new Easy_1.Easy();\r\n this.handle = handle;\r\n // callbacks called by libcurl\r\n handle.setOpt(Curl.option.WRITEFUNCTION, this.defaultWriteFunction.bind(this));\r\n handle.setOpt(Curl.option.HEADERFUNCTION, this.defaultHeaderFunction.bind(this));\r\n handle.setOpt(Curl.option.USERAGENT, Curl.defaultUserAgent);\r\n curlInstanceMap.set(handle, this);\r\n }\r\n /**\r\n * Callback called when an error is thrown on this handle.\r\n *\r\n * This is called from the internal callback we use with the {@link \"Multi\".Multi.onMessage | `onMessage`}\r\n * method of the global {@link \"Multi\".Multi | `Multi`} handle used by all `Curl` instances.\r\n *\r\n * @protected\r\n */\r\n onError(error, errorCode) {\r\n this.resetInternalState();\r\n this.emit('error', error, errorCode, this);\r\n }\r\n /**\r\n * Callback called when this handle has finished the request.\r\n *\r\n * This is called from the internal callback we use with the {@link \"Multi\".Multi.onMessage | `onMessage`}\r\n * method of the global {@link \"Multi\".Multi | `Multi`} handle used by all `Curl` instances.\r\n *\r\n * This should not be called in any other way.\r\n *\r\n * @protected\r\n */\r\n onEnd() {\r\n const isStreamResponse = this.features & CurlFeature_1.CurlFeature.StreamResponse;\r\n const isDataStorageEnabled = !isStreamResponse && !(this.features & CurlFeature_1.CurlFeature.NoDataStorage);\r\n const isDataParsingEnabled = !isStreamResponse &&\r\n !(this.features & CurlFeature_1.CurlFeature.NoDataParsing) &&\r\n isDataStorageEnabled;\r\n const dataRaw = isDataStorageEnabled\r\n ? mergeChunks_1.mergeChunks(this.chunks, this.chunksLength)\r\n : Buffer.alloc(0);\r\n const data = isDataParsingEnabled ? decoder.write(dataRaw) : dataRaw;\r\n const headers = this.getHeaders();\r\n // if this had the stream response flag and the writeFunction stream is enabled\r\n // we need to signal the end of the stream by pushing null to it.\r\n if (isStreamResponse && this.writeFunctionStream) {\r\n this.writeFunctionStream.push(null);\r\n }\r\n this.resetInternalState();\r\n const { code, data: status } = this.handle.getInfo(Curl.info.RESPONSE_CODE);\r\n // if is ignored because this should never happen under normal circumstances.\r\n /* istanbul ignore if */\r\n if (code !== CurlCode_1.CurlCode.CURLE_OK) {\r\n const error = new Error('Could not get status code of request');\r\n this.emit('error', error, code, this);\r\n }\r\n else {\r\n this.emit('end', status, data, headers, this);\r\n }\r\n }\r\n /**\r\n * Enables a feature, must not be used while a request is running.\r\n *\r\n * Use {@link CurlFeature | `CurlFeature`} for predefined constants.\r\n */\r\n enable(bitmask) {\r\n if (this.isRunning) {\r\n throw new Error('You should not change the features while a request is running.');\r\n }\r\n this.features |= bitmask;\r\n return this;\r\n }\r\n /**\r\n * Disables a feature, must not be used while a request is running.\r\n *\r\n * Use {@link CurlFeature | `CurlFeature`} for predefined constants.\r\n */\r\n disable(bitmask) {\r\n if (this.isRunning) {\r\n throw new Error('You should not change the features while a request is running.');\r\n }\r\n this.features &= ~bitmask;\r\n return this;\r\n }\r\n /**\r\n * Sets an option the handle.\r\n *\r\n * This overloaded method has `never` as type for the arguments\r\n * because one of the other overloaded signatures must be used.\r\n *\r\n *\r\n * Official libcurl documentation: [`curl_easy_setopt()`](http://curl.haxx.se/libcurl/c/curl_easy_setopt.html)\r\n *\r\n * @param optionIdOrName Option name or integer value. Use {@link Curl.option | `Curl.option`} for predefined constants.\r\n * @param optionValue The value of the option, value type depends on the option being set.\r\n */\r\n setOpt(optionIdOrName, optionValue) {\r\n // special case for WRITEFUNCTION and HEADERFUNCTION callbacks\r\n // since if they are set back to null, we must restore the default callback.\r\n let value = optionValue;\r\n if ((optionIdOrName === Curl.option.WRITEFUNCTION ||\r\n optionIdOrName === 'WRITEFUNCTION') &&\r\n !optionValue) {\r\n value = this.defaultWriteFunction.bind(this);\r\n }\r\n else if ((optionIdOrName === Curl.option.HEADERFUNCTION ||\r\n optionIdOrName === 'HEADERFUNCTION') &&\r\n !optionValue) {\r\n value = this.defaultHeaderFunction.bind(this);\r\n }\r\n const code = this.handle.setOpt(optionIdOrName, value);\r\n if (code !== CurlCode_1.CurlCode.CURLE_OK) {\r\n throw new Error(code === CurlCode_1.CurlCode.CURLE_UNKNOWN_OPTION\r\n ? 'Unknown option given. First argument must be the option internal id or the option name. You can use the Curl.option constants.'\r\n : Easy_1.Easy.strError(code));\r\n }\r\n return this;\r\n }\r\n /**\r\n * Retrieves some information about the last request made by a handle.\r\n *\r\n * This overloaded method has `never` as type for the argument\r\n * because one of the other overloaded signatures must be used.\r\n *\r\n * Official libcurl documentation: [`curl_easy_getinfo()`](http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html)\r\n *\r\n * @param infoNameOrId Info name or integer value. Use {@link Curl.info | `Curl.info`} for predefined constants.\r\n */\r\n getInfo(infoNameOrId) {\r\n const { code, data } = this.handle.getInfo(infoNameOrId);\r\n if (code !== CurlCode_1.CurlCode.CURLE_OK) {\r\n throw new Error(`getInfo failed. Error: ${Easy_1.Easy.strError(code)}`);\r\n }\r\n return data;\r\n }\r\n /**\r\n * This will set an internal `READFUNCTION` callback that will read all the data from this stream.\r\n *\r\n * One usage for that is to upload data directly from streams. Example:\r\n *\r\n * ```typescript\r\n * const curl = new Curl()\r\n * curl.setOpt('URL', 'https://some-domain/upload')\r\n * curl.setOpt('UPLOAD', true)\r\n * // so we do not need to set the content length\r\n * curl.setOpt('HTTPHEADER', ['Transfer-Encoding: chunked'])\r\n *\r\n * const filePath = './test.zip'\r\n * const stream = fs.createReadStream(filePath)\r\n * curl.setUploadStream(stream)\r\n *\r\n * curl.setStreamProgressCallback(() => {\r\n * // this will use the default progress callback from libcurl\r\n * return CurlProgressFunc.Continue\r\n * })\r\n *\r\n * curl.on('end', (statusCode, data) => {\r\n * console.log('\\n'.repeat(5))\r\n * // data length should be 0, as it was sent using the response stream\r\n * console.log(\r\n * `curl - end - status: ${statusCode} - data length: ${data.length}`,\r\n * )\r\n * curl.close()\r\n * })\r\n * curl.on('error', (error, errorCode) => {\r\n * console.log('\\n'.repeat(5))\r\n * console.error('curl - error: ', error, errorCode)\r\n * curl.close()\r\n * })\r\n * curl.perform()\r\n * ```\r\n *\r\n * Multiple calls with the same stream that was previously set has no effect.\r\n *\r\n * Setting this to `null` will remove the `READFUNCTION` callback and disable this behavior.\r\n *\r\n * @remarks\r\n *\r\n * This option is reset after each request, so if you want to upload the same data again using the same\r\n * `Curl` instance, you will need to provide a new stream.\r\n *\r\n * Make sure your libcurl version is greater than or equal 7.69.1.\r\n * Versions older than that one are not reliable for streams usage.\r\n */\r\n setUploadStream(stream) {\r\n if (!stream) {\r\n if (this.readFunctionStream) {\r\n this.cleanupReadFunctionStreamEvents();\r\n this.readFunctionStream = null;\r\n this.setOpt('READFUNCTION', null);\r\n }\r\n return this;\r\n }\r\n if (this.readFunctionStream === stream)\r\n return this;\r\n if (typeof (stream === null || stream === void 0 ? void 0 : stream.on) !== 'function' ||\r\n typeof (stream === null || stream === void 0 ? void 0 : stream.read) !== 'function') {\r\n throw new Error('The passed value to setUploadStream does not looks like a stream object');\r\n }\r\n this.readFunctionStream = stream;\r\n const resumeIfPaused = () => {\r\n if (this.streamReadFunctionPaused) {\r\n this.streamReadFunctionPaused = false;\r\n // let's unpause only on the next event loop iteration\r\n // this will avoid scenarios where the readable event was emitted\r\n // between libcurl pausing the transfer from the READFUNCTION\r\n // and the next real iteration.\r\n setImmediate(() => {\r\n // just to make sure we do not try to unpause\r\n // a connection that has already finished\r\n // this can happen if some error has been throw\r\n // in the meantime\r\n if (this.isRunning) {\r\n this.pause(CurlPause_1.CurlPause.Cont);\r\n }\r\n });\r\n }\r\n };\r\n const attachEventListenerToStream = (event, cb) => {\r\n this.readFunctionStream.on(event, cb);\r\n this.streamReadFunctionCallbacksToClean.push([\r\n this.readFunctionStream,\r\n event,\r\n cb,\r\n ]);\r\n };\r\n // TODO: Handle adding the event multiple times?\r\n // can only happen if the user calls the method with the same stream more than one time\r\n // and due to the if at the top, this is only possible if they use another stream in-between.\r\n attachEventListenerToStream('readable', () => {\r\n resumeIfPaused();\r\n });\r\n // This needs the same logic than the destroy callback for the response stream\r\n // inside the default WRITEFUNCTION.\r\n // Which basically means we cannot throw an error inside the READFUNCTION itself\r\n // as this would cause the pause itself to throw an error\r\n // (pause calls the READFUNCTION before returning)\r\n // So we must create a fake \"pause\" just to trigger the progress function, and\r\n // then the error will be thrown.\r\n // This is why the following two callbacks are setting\r\n // this.streamReadFunctionShouldPause = true\r\n attachEventListenerToStream('close', () => {\r\n // If the stream was closed, but end was not called\r\n // it means the stream was forcefully destroyed, so\r\n // we must let libcurl fail!\r\n // streamError could already be set if destroy was called with an error\r\n // as it would call the error callback below, so we don't need to do anything.\r\n if (!this.streamReadFunctionShouldEnd && !this.streamError) {\r\n this.streamError = new Error('Curl upload stream was unexpectedly destroyed');\r\n this.streamReadFunctionShouldPause = true;\r\n resumeIfPaused();\r\n }\r\n });\r\n attachEventListenerToStream('error', (error) => {\r\n this.streamError = error;\r\n this.streamReadFunctionShouldPause = true;\r\n resumeIfPaused();\r\n });\r\n attachEventListenerToStream('end', () => {\r\n this.streamReadFunctionShouldEnd = true;\r\n resumeIfPaused();\r\n });\r\n this.setOpt('READFUNCTION', (buffer, size, nmemb) => {\r\n // Remember, we cannot throw this.streamError here.\r\n if (this.streamReadFunctionShouldPause) {\r\n this.streamReadFunctionShouldPause = false;\r\n this.streamReadFunctionPaused = true;\r\n return CurlReadFunc_1.CurlReadFunc.Pause;\r\n }\r\n const amountToRead = size * nmemb;\r\n const data = stream.read(amountToRead);\r\n if (!data) {\r\n if (this.streamReadFunctionShouldEnd) {\r\n return 0;\r\n }\r\n else {\r\n this.streamReadFunctionPaused = true;\r\n return CurlReadFunc_1.CurlReadFunc.Pause;\r\n }\r\n }\r\n const totalWritten = data.copy(buffer);\r\n // we could also return CurlReadFunc.Abort or CurlReadFunc.Pause here.\r\n return totalWritten;\r\n });\r\n return this;\r\n }\r\n /**\r\n * Set the param to `null` to use the Node.js default value.\r\n *\r\n * @param highWaterMark This will passed directly to the `Readable` stream created to be returned as the response'\r\n *\r\n * @remarks\r\n * Only useful when the {@link CurlFeature.StreamResponse | `StreamResponse`} feature flag is enabled.\r\n */\r\n setStreamResponseHighWaterMark(highWaterMark) {\r\n this.streamWriteFunctionHighWaterMark = highWaterMark || undefined;\r\n return this;\r\n }\r\n /**\r\n * This sets the callback to be used as the progress function when using any of the stream features.\r\n *\r\n * This is needed because when this `Curl` instance is enabled to use streams for upload/download, it needs\r\n * to set the libcurl progress function option to an internal function.\r\n *\r\n * If you are using any of the streams features, do not overwrite the progress callback to something else,\r\n * be it using {@link setOpt | `setOpt`} or {@link setProgressCallback | `setProgressCallback`}, as this would\r\n * cause undefined behavior.\r\n *\r\n * If are using this callback, there is no need to set the `NOPROGRESS` option to false (as you normally would).\r\n */\r\n setStreamProgressCallback(cb) {\r\n this.streamUserSuppliedProgressFunction = cb;\r\n return this;\r\n }\r\n /**\r\n * The option `XFERINFOFUNCTION` was introduced in curl version `7.32.0`,\r\n * versions older than that should use `PROGRESSFUNCTION`.\r\n * If you don't want to mess with version numbers you can use this method,\r\n * instead of directly calling {@link Curl.setOpt | `Curl#setOpt`}.\r\n *\r\n * `NOPROGRESS` should be set to false to make this function actually get called.\r\n */\r\n setProgressCallback(cb) {\r\n if (Curl.VERSION_NUM >= 0x072000) {\r\n this.handle.setOpt(Curl.option.XFERINFOFUNCTION, cb);\r\n }\r\n else {\r\n this.handle.setOpt(Curl.option.PROGRESSFUNCTION, cb);\r\n }\r\n return this;\r\n }\r\n /**\r\n * Add this instance to the processing queue.\r\n * This method should be called only one time per request,\r\n * otherwise it will throw an error.\r\n *\r\n * @remarks\r\n *\r\n * This basically calls the {@link \"Multi\".Multi.addHandle | `Multi#addHandle`} method.\r\n */\r\n perform() {\r\n if (this.isRunning) {\r\n throw new Error('Handle already running!');\r\n }\r\n this.isRunning = true;\r\n // set progress function to our internal one if using stream upload/download\r\n const isStreamEnabled = this.features & CurlFeature_1.CurlFeature.StreamResponse || this.readFunctionStream;\r\n if (isStreamEnabled) {\r\n this.setProgressCallback(this.streamModeProgressFunction.bind(this));\r\n this.setOpt('NOPROGRESS', false);\r\n }\r\n multiHandle.addHandle(this.handle);\r\n return this;\r\n }\r\n /**\r\n * Perform any connection upkeep checks.\r\n *\r\n *\r\n * Official libcurl documentation: [`curl_easy_upkeep()`](http://curl.haxx.se/libcurl/c/curl_easy_upkeep.html)\r\n */\r\n upkeep() {\r\n const code = this.handle.upkeep();\r\n if (code !== CurlCode_1.CurlCode.CURLE_OK) {\r\n throw new Error(Easy_1.Easy.strError(code));\r\n }\r\n return this;\r\n }\r\n /**\r\n * Use this function to pause / unpause a connection.\r\n *\r\n * The bitmask argument is a set of bits that sets the new state of the connection.\r\n *\r\n * Use {@link CurlPause | `CurlPause`} for predefined constants.\r\n *\r\n *\r\n * Official libcurl documentation: [`curl_easy_pause()`](http://curl.haxx.se/libcurl/c/curl_easy_pause.html)\r\n */\r\n pause(bitmask) {\r\n const code = this.handle.pause(bitmask);\r\n if (code !== CurlCode_1.CurlCode.CURLE_OK) {\r\n throw new Error(Easy_1.Easy.strError(code));\r\n }\r\n return this;\r\n }\r\n /**\r\n * Reset this handle options to their defaults.\r\n *\r\n * This will put the handle in a clean state, as if it was just created.\r\n *\r\n *\r\n * Official libcurl documentation: [`curl_easy_reset()`](http://curl.haxx.se/libcurl/c/curl_easy_reset.html)\r\n */\r\n reset() {\r\n this.removeAllListeners();\r\n this.handle.reset();\r\n // add callbacks back as reset will remove them\r\n this.handle.setOpt(Curl.option.WRITEFUNCTION, this.defaultWriteFunction.bind(this));\r\n this.handle.setOpt(Curl.option.HEADERFUNCTION, this.defaultHeaderFunction.bind(this));\r\n return this;\r\n }\r\n /**\r\n * Duplicate this handle with all their options.\r\n * Keep in mind that, by default, this also means all event listeners.\r\n *\r\n *\r\n * Official libcurl documentation: [`curl_easy_duphandle()`](http://curl.haxx.se/libcurl/c/curl_easy_duphandle.html)\r\n *\r\n * @param shouldCopyEventListeners If you don't want to copy the event listeners, set this to `false`.\r\n */\r\n dupHandle(shouldCopyEventListeners = true) {\r\n const duplicatedHandle = new Curl(this.handle.dupHandle());\r\n const eventsToCopy = ['end', 'error', 'data', 'header'];\r\n duplicatedHandle.features = this.features;\r\n if (shouldCopyEventListeners) {\r\n for (let i = 0; i < eventsToCopy.length; i += 1) {\r\n const listeners = this.listeners(eventsToCopy[i]);\r\n for (let j = 0; j < listeners.length; j += 1) {\r\n duplicatedHandle.on(eventsToCopy[i], listeners[j]);\r\n }\r\n }\r\n }\r\n return duplicatedHandle;\r\n }\r\n /**\r\n * Close this handle.\r\n *\r\n * **NOTE:** After closing the handle, it must not be used anymore. Doing so will throw an error.\r\n *\r\n *\r\n * Official libcurl documentation: [`curl_easy_cleanup()`](http://curl.haxx.se/libcurl/c/curl_easy_cleanup.html)\r\n */\r\n close() {\r\n curlInstanceMap.delete(this.handle);\r\n this.removeAllListeners();\r\n if (this.handle.isInsideMultiHandle) {\r\n multiHandle.removeHandle(this.handle);\r\n }\r\n this.handle.setOpt(Curl.option.WRITEFUNCTION, null);\r\n this.handle.setOpt(Curl.option.HEADERFUNCTION, null);\r\n this.handle.close();\r\n }\r\n /**\r\n * This is used to reset a few properties to their pre-request state.\r\n */\r\n resetInternalState() {\r\n this.isRunning = false;\r\n this.chunks = [];\r\n this.chunksLength = 0;\r\n this.headerChunks = [];\r\n this.headerChunksLength = 0;\r\n const wasStreamEnabled = this.writeFunctionStream || this.readFunctionStream;\r\n if (wasStreamEnabled) {\r\n this.setProgressCallback(null);\r\n }\r\n // reset back the READFUNCTION if there was a stream we were reading from\r\n if (this.readFunctionStream) {\r\n this.setOpt('READFUNCTION', null);\r\n }\r\n // these are mostly streams related, as these options are not persisted between requests\r\n // the streams themselves\r\n this.writeFunctionStream = null;\r\n this.readFunctionStream = null;\r\n // READFUNCTION / upload related\r\n this.streamReadFunctionShouldEnd = false;\r\n this.streamReadFunctionShouldPause = false;\r\n this.streamReadFunctionPaused = false;\r\n // WRITEFUNCTION / download related\r\n this.streamWriteFunctionShouldPause = false;\r\n this.streamWriteFunctionPaused = false;\r\n this.streamWriteFunctionFirstRun = true;\r\n // common\r\n this.streamPauseNext = false;\r\n this.streamContinueNext = false;\r\n this.streamError = false;\r\n this.streamUserSuppliedProgressFunction = null;\r\n this.cleanupReadFunctionStreamEvents();\r\n }\r\n /**\r\n * When uploading a stream (by calling {@link setUploadStream | `setUploadStream`})\r\n * some event listeners are attached to the stream instance.\r\n * This will remove them so our callbacks are not called anymore.\r\n */\r\n cleanupReadFunctionStreamEvents() {\r\n this.streamReadFunctionCallbacksToClean.forEach(([stream, event, cb]) => {\r\n stream.off(event, cb);\r\n });\r\n this.streamReadFunctionCallbacksToClean = [];\r\n }\r\n /**\r\n * Returns headers from the current stored chunks - if any\r\n */\r\n getHeaders() {\r\n const isHeaderStorageEnabled = !(this.features & CurlFeature_1.CurlFeature.NoHeaderStorage);\r\n const isHeaderParsingEnabled = !(this.features & CurlFeature_1.CurlFeature.NoHeaderParsing) && isHeaderStorageEnabled;\r\n const headersRaw = isHeaderStorageEnabled\r\n ? mergeChunks_1.mergeChunks(this.headerChunks, this.headerChunksLength)\r\n : Buffer.alloc(0);\r\n return isHeaderParsingEnabled\r\n ? parseHeaders_1.parseHeaders(decoder.write(headersRaw))\r\n : headersRaw;\r\n }\r\n /**\r\n * The internal function passed to `PROGRESSFUNCTION` (`XFERINFOFUNCTION` on most recent libcurl versions)\r\n * when using any of the stream features.\r\n */\r\n streamModeProgressFunction(dltotal, dlnow, ultotal, ulnow) {\r\n if (this.streamError)\r\n throw this.streamError;\r\n const ret = this.streamUserSuppliedProgressFunction\r\n ? this.streamUserSuppliedProgressFunction.call(this.handle, dltotal, dlnow, ultotal, ulnow)\r\n : 0;\r\n return ret;\r\n }\r\n /**\r\n * This is the default callback passed to {@link setOpt | `setOpt('WRITEFUNCTION', cb)`}.\r\n */\r\n defaultWriteFunction(chunk, size, nmemb) {\r\n // this is a stream based request, so we need a totally different handling\r\n if (this.features & CurlFeature_1.CurlFeature.StreamResponse) {\r\n return this.defaultWriteFunctionStreamBased(chunk, size, nmemb);\r\n }\r\n if (!(this.features & CurlFeature_1.CurlFeature.NoDataStorage)) {\r\n this.chunks.push(chunk);\r\n this.chunksLength += chunk.length;\r\n }\r\n this.emit('data', chunk, this);\r\n return size * nmemb;\r\n }\r\n /**\r\n * This is used by the default callback passed to {@link setOpt | `setOpt('WRITEFUNCTION', cb)`}\r\n * when the feature to stream response is enabled.\r\n */\r\n defaultWriteFunctionStreamBased(chunk, size, nmemb) {\r\n if (!this.writeFunctionStream) {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n const handle = this;\r\n // create the response stream we are going to use\r\n this.writeFunctionStream = new stream_1.Readable({\r\n highWaterMark: this.streamWriteFunctionHighWaterMark,\r\n destroy(error, cb) {\r\n handle.streamError =\r\n error ||\r\n new Error('Curl response stream was unexpectedly destroyed');\r\n // let the event loop run one more time before we do anything\r\n // if the handle is not running anymore it means that the\r\n // error we set above was caught, if it is still running, then it means that:\r\n // - the handle is paused\r\n // - the progress function was not called yet\r\n // If this is the case, then we just unpause the handle. This will cause the following:\r\n // - the WRITEFUNCTION callback will be called\r\n // - this will pause the handle again (because we cannot throw the error in here)\r\n // - the PROGRESSFUNCTION callback will be called, and then the error will be thrown.\r\n setImmediate(() => {\r\n if (handle.isRunning && handle.streamWriteFunctionPaused) {\r\n handle.streamWriteFunctionPaused = false;\r\n handle.streamWriteFunctionShouldPause = true;\r\n try {\r\n handle.pause(CurlPause_1.CurlPause.RecvCont);\r\n }\r\n catch (error) {\r\n cb(error);\r\n return;\r\n }\r\n }\r\n cb(null);\r\n });\r\n },\r\n read(_size) {\r\n if (handle.streamWriteFunctionFirstRun ||\r\n handle.streamWriteFunctionPaused) {\r\n if (handle.streamWriteFunctionFirstRun) {\r\n handle.streamWriteFunctionFirstRun = false;\r\n }\r\n // we must allow Node.js to process the whole event queue\r\n // before we unpause\r\n setImmediate(() => {\r\n if (handle.isRunning) {\r\n handle.streamWriteFunctionPaused = false;\r\n handle.pause(CurlPause_1.CurlPause.RecvCont);\r\n }\r\n });\r\n }\r\n },\r\n });\r\n // as soon as we have the stream, we need to emit the \"stream\" event\r\n // but the \"stream\" event needs the statusCode and the headers, so this\r\n // is what we are retrieving here.\r\n const headers = this.getHeaders();\r\n const { code, data: status } = this.handle.getInfo(Curl.info.RESPONSE_CODE);\r\n if (code !== CurlCode_1.CurlCode.CURLE_OK) {\r\n const error = new Error('Could not get status code of request');\r\n this.emit('error', error, code, this);\r\n return 0;\r\n }\r\n // let's emit the event only in the next iteration of the event loop\r\n // We need to do this otherwise the event listener callbacks would run\r\n // before the pause below, and this is probably not what we want.\r\n setImmediate(() => this.emit('stream', this.writeFunctionStream, status, headers, this));\r\n this.streamWriteFunctionPaused = true;\r\n return CurlWriteFunc_1.CurlWriteFunc.Pause;\r\n }\r\n // pause this req\r\n if (this.streamWriteFunctionShouldPause) {\r\n this.streamWriteFunctionShouldPause = false;\r\n this.streamWriteFunctionPaused = true;\r\n return CurlWriteFunc_1.CurlWriteFunc.Pause;\r\n }\r\n // write to the stream\r\n const ok = this.writeFunctionStream.push(chunk);\r\n // pause connection until there is more data\r\n if (!ok) {\r\n this.streamWriteFunctionPaused = true;\r\n this.pause(CurlPause_1.CurlPause.Recv);\r\n }\r\n return size * nmemb;\r\n }\r\n /**\r\n * This is the default callback passed to {@link setOpt | `setOpt('HEADERFUNCTION', cb)`}.\r\n */\r\n defaultHeaderFunction(chunk, size, nmemb) {\r\n if (!(this.features & CurlFeature_1.CurlFeature.NoHeaderStorage)) {\r\n this.headerChunks.push(chunk);\r\n this.headerChunksLength += chunk.length;\r\n }\r\n this.emit('header', chunk, this);\r\n return size * nmemb;\r\n }\r\n}\r\nexports.Curl = Curl;\r\n/**\r\n * Calls [`curl_global_init()`](http://curl.haxx.se/libcurl/c/curl_global_init.html).\r\n *\r\n * For **flags** see the the enum {@link CurlGlobalInit | `CurlGlobalInit`}.\r\n *\r\n * This is automatically called when the addon is loaded, to disable this, set the environment variable\r\n * `NODE_LIBCURL_DISABLE_GLOBAL_INIT_CALL=false`\r\n */\r\nCurl.globalInit = _Curl.globalInit;\r\n/**\r\n * Calls [`curl_global_cleanup()`](http://curl.haxx.se/libcurl/c/curl_global_cleanup.html)\r\n *\r\n * This is automatically called when the process is exiting.\r\n */\r\nCurl.globalCleanup = _Curl.globalCleanup;\r\n/**\r\n * Returns libcurl version string.\r\n *\r\n * The string shows which libraries libcurl was built with and their versions, example:\r\n * ```\r\n * libcurl/7.69.1-DEV OpenSSL/1.1.1d zlib/1.2.11 WinIDN libssh2/1.9.0_DEV nghttp2/1.40.0\r\n * ```\r\n */\r\nCurl.getVersion = _Curl.getVersion;\r\n/**\r\n * This is the default user agent that is going to be used on all `Curl` instances.\r\n *\r\n * You can overwrite this in a per instance basis, calling `curlHandle.setOpt('USERAGENT', 'my-user-agent/1.0')`, or\r\n * by directly changing this property so it affects all newly created `Curl` instances.\r\n *\r\n * To disable this behavior set this property to `null`.\r\n */\r\nCurl.defaultUserAgent = `node-libcurl/${pkg.version}`;\r\n/**\r\n * Integer representing the current libcurl version.\r\n *\r\n * It was built the following way:\r\n * ```\r\n * <8 bits major number> | <8 bits minor number> | <8 bits patch number>.\r\n * ```\r\n * Version `7.69.1` is therefore returned as `0x074501` / `476417`\r\n */\r\nCurl.VERSION_NUM = _Curl.VERSION_NUM;\r\n/**\r\n * This is a object with members resembling the `CURLINFO_*` libcurl constants.\r\n *\r\n * It can be used with {@link \"Easy\".Easy.getInfo | `Easy#getInfo`} or {@link getInfo | `Curl#getInfo`}.\r\n *\r\n * See the official documentation of [`curl_easy_getinfo()`](http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html)\r\n * for reference.\r\n *\r\n * `CURLINFO_EFFECTIVE_URL` becomes `Curl.info.EFFECTIVE_URL`\r\n */\r\nCurl.info = _Curl.info;\r\n/**\r\n * This is a object with members resembling the `CURLOPT_*` libcurl constants.\r\n *\r\n * It can be used with {@link \"Easy\".Easy.setOpt | `Easy#setOpt`} or {@link setOpt | `Curl#setOpt`}.\r\n *\r\n * See the official documentation of [`curl_easy_setopt()`](http://curl.haxx.se/libcurl/c/curl_easy_setopt.html)\r\n * for reference.\r\n *\r\n * `CURLOPT_URL` becomes `Curl.option.URL`\r\n */\r\nCurl.option = _Curl.option;\r\n/**\r\n * Returns the number of handles currently open in the internal {@link \"Multi\".Multi | `Multi`} handle being used.\r\n */\r\nCurl.getCount = multiHandle.getCount;\r\n/**\r\n * Returns an object with a representation of the current libcurl version and their features/protocols.\r\n *\r\n * This is basically [`curl_version_info()`](https://curl.haxx.se/libcurl/c/curl_version_info.html)\r\n */\r\nCurl.getVersionInfo = () => CurlVersionInfo;\r\n/**\r\n * Returns a string that looks like the one returned by\r\n * ```bash\r\n * curl -V\r\n * ```\r\n * Example:\r\n * ```\r\n * Version: libcurl/7.69.1-DEV OpenSSL/1.1.1d zlib/1.2.11 WinIDN libssh2/1.9.0_DEV nghttp2/1.40.0\r\n * Protocols: dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp\r\n * Features: AsynchDNS, IDN, IPv6, Largefile, SSPI, Kerberos, SPNEGO, NTLM, SSL, libz, HTTP2, HTTPS-proxy\r\n * ```\r\n */\r\nCurl.getVersionInfoString = () => {\r\n const version = Curl.getVersion();\r\n const protocols = CurlVersionInfo.protocols.join(', ');\r\n const features = CurlVersionInfo.features.join(', ');\r\n return [\r\n `Version: ${version}`,\r\n `Protocols: ${protocols}`,\r\n `Features: ${features}`,\r\n ].join('\\n');\r\n};\r\n/**\r\n * Useful if you want to check if the current libcurl version is greater or equal than another one.\r\n * @param x major\r\n * @param y minor\r\n * @param z patch\r\n */\r\nCurl.isVersionGreaterOrEqualThan = (x, y, z = 0) => {\r\n return _Curl.VERSION_NUM >= (x << 16) + (y << 8) + z;\r\n};\r\n//# sourceMappingURL=Curl.js.map","module.exports = require(\"stream\");","'use strict';\n\n\nvar yaml = require('./lib/js-yaml.js');\n\n\nmodule.exports = yaml;\n","'use strict';\n\nconst path = require('path');\nconst which = require('which');\nconst pathKey = require('path-key')();\n\nfunction resolveCommandAttempt(parsed, withoutPathExt) {\n const cwd = process.cwd();\n const hasCustomCwd = parsed.options.cwd != null;\n\n // If a custom `cwd` was specified, we need to change the process cwd\n // because `which` will do stat calls but does not support a custom cwd\n if (hasCustomCwd) {\n try {\n process.chdir(parsed.options.cwd);\n } catch (err) {\n /* Empty */\n }\n }\n\n let resolved;\n\n try {\n resolved = which.sync(parsed.command, {\n path: (parsed.options.env || process.env)[pathKey],\n pathExt: withoutPathExt ? path.delimiter : undefined,\n });\n } catch (e) {\n /* Empty */\n } finally {\n process.chdir(cwd);\n }\n\n // If we successfully resolved, ensure that an absolute path is returned\n // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it\n if (resolved) {\n resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);\n }\n\n return resolved;\n}\n\nfunction resolveCommand(parsed) {\n return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);\n}\n\nmodule.exports = resolveCommand;\n","'use strict';\n\nvar common = require('../common');\nvar Type = require('../type');\n\nvar YAML_FLOAT_PATTERN = new RegExp(\n // 2.5e4, 2.5 and integers\n '^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' +\n // .2e4, .2\n // special case, seems not from spec\n '|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' +\n // 20:59\n '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*' +\n // .inf\n '|[-+]?\\\\.(?:inf|Inf|INF)' +\n // .nan\n '|\\\\.(?:nan|NaN|NAN))$');\n\nfunction resolveYamlFloat(data) {\n if (data === null) return false;\n\n if (!YAML_FLOAT_PATTERN.test(data) ||\n // Quick hack to not allow integers end with `_`\n // Probably should update regexp & check speed\n data[data.length - 1] === '_') {\n return false;\n }\n\n return true;\n}\n\nfunction constructYamlFloat(data) {\n var value, sign, base, digits;\n\n value = data.replace(/_/g, '').toLowerCase();\n sign = value[0] === '-' ? -1 : 1;\n digits = [];\n\n if ('+-'.indexOf(value[0]) >= 0) {\n value = value.slice(1);\n }\n\n if (value === '.inf') {\n return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;\n\n } else if (value === '.nan') {\n return NaN;\n\n } else if (value.indexOf(':') >= 0) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseFloat(v, 10));\n });\n\n value = 0.0;\n base = 1;\n\n digits.forEach(function (d) {\n value += d * base;\n base *= 60;\n });\n\n return sign * value;\n\n }\n return sign * parseFloat(value, 10);\n}\n\n\nvar SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;\n\nfunction representYamlFloat(object, style) {\n var res;\n\n if (isNaN(object)) {\n switch (style) {\n case 'lowercase': return '.nan';\n case 'uppercase': return '.NAN';\n case 'camelcase': return '.NaN';\n }\n } else if (Number.POSITIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '.inf';\n case 'uppercase': return '.INF';\n case 'camelcase': return '.Inf';\n }\n } else if (Number.NEGATIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '-.inf';\n case 'uppercase': return '-.INF';\n case 'camelcase': return '-.Inf';\n }\n } else if (common.isNegativeZero(object)) {\n return '-0.0';\n }\n\n res = object.toString(10);\n\n // JS stringifier can build scientific format without dots: 5e-100,\n // while YAML requres dot: 5.e-100. Fix it with simple hack\n\n return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res;\n}\n\nfunction isFloat(object) {\n return (Object.prototype.toString.call(object) === '[object Number]') &&\n (object % 1 !== 0 || common.isNegativeZero(object));\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:float', {\n kind: 'scalar',\n resolve: resolveYamlFloat,\n construct: constructYamlFloat,\n predicate: isFloat,\n represent: representYamlFloat,\n defaultStyle: 'lowercase'\n});\n","'use strict';\n// Older verions of Node.js might not have `util.getSystemErrorName()`.\n// In that case, fall back to a deprecated internal.\nconst util = require('util');\n\nlet uv;\n\nif (typeof util.getSystemErrorName === 'function') {\n\tmodule.exports = util.getSystemErrorName;\n} else {\n\ttry {\n\t\tuv = process.binding('uv');\n\n\t\tif (typeof uv.errname !== 'function') {\n\t\t\tthrow new TypeError('uv.errname is not a function');\n\t\t}\n\t} catch (err) {\n\t\tconsole.error('execa/lib/errname: unable to establish process.binding(\\'uv\\')', err);\n\t\tuv = null;\n\t}\n\n\tmodule.exports = code => errname(uv, code);\n}\n\n// Used for testing the fallback behavior\nmodule.exports.__test__ = errname;\n\nfunction errname(uv, code) {\n\tif (uv) {\n\t\treturn uv.errname(code);\n\t}\n\n\tif (!(code < 0)) {\n\t\tthrow new Error('err >= 0');\n\t}\n\n\treturn `Unknown system error ${code}`;\n}\n\n","'use strict';\n\nmodule.exports = [\n\t// German umlauts\n\t['ß', 'ss'],\n\t['ä', 'ae'],\n\t['Ä', 'Ae'],\n\t['ö', 'oe'],\n\t['Ö', 'Oe'],\n\t['ü', 'ue'],\n\t['Ü', 'Ue'],\n\n\t// Latin\n\t['À', 'A'],\n\t['Á', 'A'],\n\t['Â', 'A'],\n\t['Ã', 'A'],\n\t['Ä', 'Ae'],\n\t['Å', 'A'],\n\t['Æ', 'AE'],\n\t['Ç', 'C'],\n\t['È', 'E'],\n\t['É', 'E'],\n\t['Ê', 'E'],\n\t['Ë', 'E'],\n\t['Ì', 'I'],\n\t['Í', 'I'],\n\t['Î', 'I'],\n\t['Ï', 'I'],\n\t['Ð', 'D'],\n\t['Ñ', 'N'],\n\t['Ò', 'O'],\n\t['Ó', 'O'],\n\t['Ô', 'O'],\n\t['Õ', 'O'],\n\t['Ö', 'Oe'],\n\t['Ő', 'O'],\n\t['Ø', 'O'],\n\t['Ù', 'U'],\n\t['Ú', 'U'],\n\t['Û', 'U'],\n\t['Ü', 'Ue'],\n\t['Ű', 'U'],\n\t['Ý', 'Y'],\n\t['Þ', 'TH'],\n\t['ß', 'ss'],\n\t['à', 'a'],\n\t['á', 'a'],\n\t['â', 'a'],\n\t['ã', 'a'],\n\t['ä', 'ae'],\n\t['å', 'a'],\n\t['æ', 'ae'],\n\t['ç', 'c'],\n\t['è', 'e'],\n\t['é', 'e'],\n\t['ê', 'e'],\n\t['ë', 'e'],\n\t['ì', 'i'],\n\t['í', 'i'],\n\t['î', 'i'],\n\t['ï', 'i'],\n\t['ð', 'd'],\n\t['ñ', 'n'],\n\t['ò', 'o'],\n\t['ó', 'o'],\n\t['ô', 'o'],\n\t['õ', 'o'],\n\t['ö', 'oe'],\n\t['ő', 'o'],\n\t['ø', 'o'],\n\t['ù', 'u'],\n\t['ú', 'u'],\n\t['û', 'u'],\n\t['ü', 'ue'],\n\t['ű', 'u'],\n\t['ý', 'y'],\n\t['þ', 'th'],\n\t['ÿ', 'y'],\n\t['ẞ', 'SS'],\n\n\t// Vietnamese\n\t['à', 'a'],\n\t['À', 'A'],\n\t['á', 'a'],\n\t['Á', 'A'],\n\t['â', 'a'],\n\t['Â', 'A'],\n\t['ã', 'a'],\n\t['Ã', 'A'],\n\t['è', 'e'],\n\t['È', 'E'],\n\t['é', 'e'],\n\t['É', 'E'],\n\t['ê', 'e'],\n\t['Ê', 'E'],\n\t['ì', 'i'],\n\t['Ì', 'I'],\n\t['í', 'i'],\n\t['Í', 'I'],\n\t['ò', 'o'],\n\t['Ò', 'O'],\n\t['ó', 'o'],\n\t['Ó', 'O'],\n\t['ô', 'o'],\n\t['Ô', 'O'],\n\t['õ', 'o'],\n\t['Õ', 'O'],\n\t['ù', 'u'],\n\t['Ù', 'U'],\n\t['ú', 'u'],\n\t['Ú', 'U'],\n\t['ý', 'y'],\n\t['Ý', 'Y'],\n\t['ă', 'a'],\n\t['Ă', 'A'],\n\t['Đ', 'D'],\n\t['đ', 'd'],\n\t['ĩ', 'i'],\n\t['Ĩ', 'I'],\n\t['ũ', 'u'],\n\t['Ũ', 'U'],\n\t['ơ', 'o'],\n\t['Ơ', 'O'],\n\t['ư', 'u'],\n\t['Ư', 'U'],\n\t['ạ', 'a'],\n\t['Ạ', 'A'],\n\t['ả', 'a'],\n\t['Ả', 'A'],\n\t['ấ', 'a'],\n\t['Ấ', 'A'],\n\t['ầ', 'a'],\n\t['Ầ', 'A'],\n\t['ẩ', 'a'],\n\t['Ẩ', 'A'],\n\t['ẫ', 'a'],\n\t['Ẫ', 'A'],\n\t['ậ', 'a'],\n\t['Ậ', 'A'],\n\t['ắ', 'a'],\n\t['Ắ', 'A'],\n\t['ằ', 'a'],\n\t['Ằ', 'A'],\n\t['ẳ', 'a'],\n\t['Ẳ', 'A'],\n\t['ẵ', 'a'],\n\t['Ẵ', 'A'],\n\t['ặ', 'a'],\n\t['Ặ', 'A'],\n\t['ẹ', 'e'],\n\t['Ẹ', 'E'],\n\t['ẻ', 'e'],\n\t['Ẻ', 'E'],\n\t['ẽ', 'e'],\n\t['Ẽ', 'E'],\n\t['ế', 'e'],\n\t['Ế', 'E'],\n\t['ề', 'e'],\n\t['Ề', 'E'],\n\t['ể', 'e'],\n\t['Ể', 'E'],\n\t['ễ', 'e'],\n\t['Ễ', 'E'],\n\t['ệ', 'e'],\n\t['Ệ', 'E'],\n\t['ỉ', 'i'],\n\t['Ỉ', 'I'],\n\t['ị', 'i'],\n\t['Ị', 'I'],\n\t['ọ', 'o'],\n\t['Ọ', 'O'],\n\t['ỏ', 'o'],\n\t['Ỏ', 'O'],\n\t['ố', 'o'],\n\t['Ố', 'O'],\n\t['ồ', 'o'],\n\t['Ồ', 'O'],\n\t['ổ', 'o'],\n\t['Ổ', 'O'],\n\t['ỗ', 'o'],\n\t['Ỗ', 'O'],\n\t['ộ', 'o'],\n\t['Ộ', 'O'],\n\t['ớ', 'o'],\n\t['Ớ', 'O'],\n\t['ờ', 'o'],\n\t['Ờ', 'O'],\n\t['ở', 'o'],\n\t['Ở', 'O'],\n\t['ỡ', 'o'],\n\t['Ỡ', 'O'],\n\t['ợ', 'o'],\n\t['Ợ', 'O'],\n\t['ụ', 'u'],\n\t['Ụ', 'U'],\n\t['ủ', 'u'],\n\t['Ủ', 'U'],\n\t['ứ', 'u'],\n\t['Ứ', 'U'],\n\t['ừ', 'u'],\n\t['Ừ', 'U'],\n\t['ử', 'u'],\n\t['Ử', 'U'],\n\t['ữ', 'u'],\n\t['Ữ', 'U'],\n\t['ự', 'u'],\n\t['Ự', 'U'],\n\t['ỳ', 'y'],\n\t['Ỳ', 'Y'],\n\t['ỵ', 'y'],\n\t['Ỵ', 'Y'],\n\t['ỷ', 'y'],\n\t['Ỷ', 'Y'],\n\t['ỹ', 'y'],\n\t['Ỹ', 'Y'],\n\n\t// Arabic\n\t['ء', 'e'],\n\t['آ', 'a'],\n\t['أ', 'a'],\n\t['ؤ', 'w'],\n\t['إ', 'i'],\n\t['ئ', 'y'],\n\t['ا', 'a'],\n\t['ب', 'b'],\n\t['ة', 't'],\n\t['ت', 't'],\n\t['ث', 'th'],\n\t['ج', 'j'],\n\t['ح', 'h'],\n\t['خ', 'kh'],\n\t['د', 'd'],\n\t['ذ', 'dh'],\n\t['ر', 'r'],\n\t['ز', 'z'],\n\t['س', 's'],\n\t['ش', 'sh'],\n\t['ص', 's'],\n\t['ض', 'd'],\n\t['ط', 't'],\n\t['ظ', 'z'],\n\t['ع', 'e'],\n\t['غ', 'gh'],\n\t['ـ', '_'],\n\t['ف', 'f'],\n\t['ق', 'q'],\n\t['ك', 'k'],\n\t['ل', 'l'],\n\t['م', 'm'],\n\t['ن', 'n'],\n\t['ه', 'h'],\n\t['و', 'w'],\n\t['ى', 'a'],\n\t['ي', 'y'],\n\t['َ‎', 'a'],\n\t['ُ', 'u'],\n\t['ِ‎', 'i'],\n\t['٠', '0'],\n\t['١', '1'],\n\t['٢', '2'],\n\t['٣', '3'],\n\t['٤', '4'],\n\t['٥', '5'],\n\t['٦', '6'],\n\t['٧', '7'],\n\t['٨', '8'],\n\t['٩', '9'],\n\n\t// Persian / Farsi\n\t['چ', 'ch'],\n\t['ک', 'k'],\n\t['گ', 'g'],\n\t['پ', 'p'],\n\t['ژ', 'zh'],\n\t['ی', 'y'],\n\t['۰', '0'],\n\t['۱', '1'],\n\t['۲', '2'],\n\t['۳', '3'],\n\t['۴', '4'],\n\t['۵', '5'],\n\t['۶', '6'],\n\t['۷', '7'],\n\t['۸', '8'],\n\t['۹', '9'],\n\n\t// Pashto\n\t['ټ', 'p'],\n\t['ځ', 'z'],\n\t['څ', 'c'],\n\t['ډ', 'd'],\n\t['ﺫ', 'd'],\n\t['ﺭ', 'r'],\n\t['ړ', 'r'],\n\t['ﺯ', 'z'],\n\t['ږ', 'g'],\n\t['ښ', 'x'],\n\t['ګ', 'g'],\n\t['ڼ', 'n'],\n\t['ۀ', 'e'],\n\t['ې', 'e'],\n\t['ۍ', 'ai'],\n\n\t// Urdu\n\t['ٹ', 't'],\n\t['ڈ', 'd'],\n\t['ڑ', 'r'],\n\t['ں', 'n'],\n\t['ہ', 'h'],\n\t['ھ', 'h'],\n\t['ے', 'e'],\n\n\t// Russian\n\t['А', 'A'],\n\t['а', 'a'],\n\t['Б', 'B'],\n\t['б', 'b'],\n\t['В', 'V'],\n\t['в', 'v'],\n\t['Г', 'G'],\n\t['г', 'g'],\n\t['Д', 'D'],\n\t['д', 'd'],\n\t['Е', 'E'],\n\t['е', 'e'],\n\t['Ж', 'Zh'],\n\t['ж', 'zh'],\n\t['З', 'Z'],\n\t['з', 'z'],\n\t['И', 'I'],\n\t['и', 'i'],\n\t['Й', 'J'],\n\t['й', 'j'],\n\t['К', 'K'],\n\t['к', 'k'],\n\t['Л', 'L'],\n\t['л', 'l'],\n\t['М', 'M'],\n\t['м', 'm'],\n\t['Н', 'N'],\n\t['н', 'n'],\n\t['О', 'O'],\n\t['о', 'o'],\n\t['П', 'P'],\n\t['п', 'p'],\n\t['Р', 'R'],\n\t['р', 'r'],\n\t['С', 'S'],\n\t['с', 's'],\n\t['Т', 'T'],\n\t['т', 't'],\n\t['У', 'U'],\n\t['у', 'u'],\n\t['Ф', 'F'],\n\t['ф', 'f'],\n\t['Х', 'H'],\n\t['х', 'h'],\n\t['Ц', 'Cz'],\n\t['ц', 'cz'],\n\t['Ч', 'Ch'],\n\t['ч', 'ch'],\n\t['Ш', 'Sh'],\n\t['ш', 'sh'],\n\t['Щ', 'Shh'],\n\t['щ', 'shh'],\n\t['Ъ', ''],\n\t['ъ', ''],\n\t['Ы', 'Y'],\n\t['ы', 'y'],\n\t['Ь', ''],\n\t['ь', ''],\n\t['Э', 'E'],\n\t['э', 'e'],\n\t['Ю', 'Yu'],\n\t['ю', 'yu'],\n\t['Я', 'Ya'],\n\t['я', 'ya'],\n\t['Ё', 'Yo'],\n\t['ё', 'yo'],\n\n\t// Romanian\n\t['ă', 'a'],\n\t['Ă', 'A'],\n\t['ș', 's'],\n\t['Ș', 'S'],\n\t['ț', 't'],\n\t['Ț', 'T'],\n\t['ţ', 't'],\n\t['Ţ', 'T'],\n\n\t// Turkish\n\t['ş', 's'],\n\t['Ş', 'S'],\n\t['ç', 'c'],\n\t['Ç', 'C'],\n\t['ğ', 'g'],\n\t['Ğ', 'G'],\n\t['ı', 'i'],\n\t['İ', 'I'],\n\n\t// Armenian\n\t['ա', 'a'],\n\t['բ', 'b'],\n\t['գ', 'g'],\n\t['դ', 'd'],\n\t['ե', 'ye'],\n\t['զ', 'z'],\n\t['է', 'e'],\n\t['ը', 'u'],\n\t['թ', 't'],\n\t['ժ', 'zh'],\n\t['ի', 'i'],\n\t['լ', 'l'],\n\t['խ', 'kh'],\n\t['ծ', 'ts'],\n\t['կ', 'k'],\n\t['հ', 'h'],\n\t['ձ', 'dz'],\n\t['ղ', 'r'],\n\t['ճ', 'j'],\n\t['մ', 'm'],\n\t['յ', 'j'],\n\t['ն', 'n'],\n\t['շ', 'sh'],\n\t['ո', 'vo'],\n\t['չ', 'ch'],\n\t['պ', 'p'],\n\t['ջ', 'j'],\n\t['ռ', 'r'],\n\t['ս', 's'],\n\t['վ', 'v'],\n\t['տ', 't'],\n\t['ր', 're'],\n\t['ց', 'ts'],\n\t['ու', 'u'],\n\t['ւ', 'v'],\n\t['փ', 'p'],\n\t['ք', 'q'],\n\t['օ', 'o'],\n\t['ֆ', 'f'],\n\t['և', 'yev'],\n\n\t// Georgian\n\t['ა', 'a'],\n\t['ბ', 'b'],\n\t['გ', 'g'],\n\t['დ', 'd'],\n\t['ე', 'e'],\n\t['ვ', 'v'],\n\t['ზ', 'z'],\n\t['თ', 't'],\n\t['ი', 'i'],\n\t['კ', 'k'],\n\t['ლ', 'l'],\n\t['მ', 'm'],\n\t['ნ', 'n'],\n\t['ო', 'o'],\n\t['პ', 'p'],\n\t['ჟ', 'zh'],\n\t['რ', 'r'],\n\t['ს', 's'],\n\t['ტ', 't'],\n\t['უ', 'u'],\n\t['ფ', 'ph'],\n\t['ქ', 'q'],\n\t['ღ', 'gh'],\n\t['ყ', 'k'],\n\t['შ', 'sh'],\n\t['ჩ', 'ch'],\n\t['ც', 'ts'],\n\t['ძ', 'dz'],\n\t['წ', 'ts'],\n\t['ჭ', 'tch'],\n\t['ხ', 'kh'],\n\t['ჯ', 'j'],\n\t['ჰ', 'h'],\n\n\t// Czech\n\t['č', 'c'],\n\t['ď', 'd'],\n\t['ě', 'e'],\n\t['ň', 'n'],\n\t['ř', 'r'],\n\t['š', 's'],\n\t['ť', 't'],\n\t['ů', 'u'],\n\t['ž', 'z'],\n\t['Č', 'C'],\n\t['Ď', 'D'],\n\t['Ě', 'E'],\n\t['Ň', 'N'],\n\t['Ř', 'R'],\n\t['Š', 'S'],\n\t['Ť', 'T'],\n\t['Ů', 'U'],\n\t['Ž', 'Z'],\n\n\t// Dhivehi\n\t['ހ', 'h'],\n\t['ށ', 'sh'],\n\t['ނ', 'n'],\n\t['ރ', 'r'],\n\t['ބ', 'b'],\n\t['ޅ', 'lh'],\n\t['ކ', 'k'],\n\t['އ', 'a'],\n\t['ވ', 'v'],\n\t['މ', 'm'],\n\t['ފ', 'f'],\n\t['ދ', 'dh'],\n\t['ތ', 'th'],\n\t['ލ', 'l'],\n\t['ގ', 'g'],\n\t['ޏ', 'gn'],\n\t['ސ', 's'],\n\t['ޑ', 'd'],\n\t['ޒ', 'z'],\n\t['ޓ', 't'],\n\t['ޔ', 'y'],\n\t['ޕ', 'p'],\n\t['ޖ', 'j'],\n\t['ޗ', 'ch'],\n\t['ޘ', 'tt'],\n\t['ޙ', 'hh'],\n\t['ޚ', 'kh'],\n\t['ޛ', 'th'],\n\t['ޜ', 'z'],\n\t['ޝ', 'sh'],\n\t['ޞ', 's'],\n\t['ޟ', 'd'],\n\t['ޠ', 't'],\n\t['ޡ', 'z'],\n\t['ޢ', 'a'],\n\t['ޣ', 'gh'],\n\t['ޤ', 'q'],\n\t['ޥ', 'w'],\n\t['ަ', 'a'],\n\t['ާ', 'aa'],\n\t['ި', 'i'],\n\t['ީ', 'ee'],\n\t['ު', 'u'],\n\t['ޫ', 'oo'],\n\t['ެ', 'e'],\n\t['ޭ', 'ey'],\n\t['ޮ', 'o'],\n\t['ޯ', 'oa'],\n\t['ް', ''],\n\n\t// Greek\n\t['α', 'a'],\n\t['β', 'v'],\n\t['γ', 'g'],\n\t['δ', 'd'],\n\t['ε', 'e'],\n\t['ζ', 'z'],\n\t['η', 'i'],\n\t['θ', 'th'],\n\t['ι', 'i'],\n\t['κ', 'k'],\n\t['λ', 'l'],\n\t['μ', 'm'],\n\t['ν', 'n'],\n\t['ξ', 'ks'],\n\t['ο', 'o'],\n\t['π', 'p'],\n\t['ρ', 'r'],\n\t['σ', 's'],\n\t['τ', 't'],\n\t['υ', 'y'],\n\t['φ', 'f'],\n\t['χ', 'x'],\n\t['ψ', 'ps'],\n\t['ω', 'o'],\n\t['ά', 'a'],\n\t['έ', 'e'],\n\t['ί', 'i'],\n\t['ό', 'o'],\n\t['ύ', 'y'],\n\t['ή', 'i'],\n\t['ώ', 'o'],\n\t['ς', 's'],\n\t['ϊ', 'i'],\n\t['ΰ', 'y'],\n\t['ϋ', 'y'],\n\t['ΐ', 'i'],\n\t['Α', 'A'],\n\t['Β', 'B'],\n\t['Γ', 'G'],\n\t['Δ', 'D'],\n\t['Ε', 'E'],\n\t['Ζ', 'Z'],\n\t['Η', 'I'],\n\t['Θ', 'TH'],\n\t['Ι', 'I'],\n\t['Κ', 'K'],\n\t['Λ', 'L'],\n\t['Μ', 'M'],\n\t['Ν', 'N'],\n\t['Ξ', 'KS'],\n\t['Ο', 'O'],\n\t['Π', 'P'],\n\t['Ρ', 'R'],\n\t['Σ', 'S'],\n\t['Τ', 'T'],\n\t['Υ', 'Y'],\n\t['Φ', 'F'],\n\t['Χ', 'X'],\n\t['Ψ', 'PS'],\n\t['Ω', 'O'],\n\t['Ά', 'A'],\n\t['Έ', 'E'],\n\t['Ί', 'I'],\n\t['Ό', 'O'],\n\t['Ύ', 'Y'],\n\t['Ή', 'I'],\n\t['Ώ', 'O'],\n\t['Ϊ', 'I'],\n\t['Ϋ', 'Y'],\n\n\t// Disabled as it conflicts with German and Latin.\n\t// Hungarian\n\t// ['ä', 'a'],\n\t// ['Ä', 'A'],\n\t// ['ö', 'o'],\n\t// ['Ö', 'O'],\n\t// ['ü', 'u'],\n\t// ['Ü', 'U'],\n\t// ['ű', 'u'],\n\t// ['Ű', 'U'],\n\n\t// Latvian\n\t['ā', 'a'],\n\t['ē', 'e'],\n\t['ģ', 'g'],\n\t['ī', 'i'],\n\t['ķ', 'k'],\n\t['ļ', 'l'],\n\t['ņ', 'n'],\n\t['ū', 'u'],\n\t['Ā', 'A'],\n\t['Ē', 'E'],\n\t['Ģ', 'G'],\n\t['Ī', 'I'],\n\t['Ķ', 'K'],\n\t['Ļ', 'L'],\n\t['Ņ', 'N'],\n\t['Ū', 'U'],\n\t['č', 'c'],\n\t['š', 's'],\n\t['ž', 'z'],\n\t['Č', 'C'],\n\t['Š', 'S'],\n\t['Ž', 'Z'],\n\n\t// Lithuanian\n\t['ą', 'a'],\n\t['č', 'c'],\n\t['ę', 'e'],\n\t['ė', 'e'],\n\t['į', 'i'],\n\t['š', 's'],\n\t['ų', 'u'],\n\t['ū', 'u'],\n\t['ž', 'z'],\n\t['Ą', 'A'],\n\t['Č', 'C'],\n\t['Ę', 'E'],\n\t['Ė', 'E'],\n\t['Į', 'I'],\n\t['Š', 'S'],\n\t['Ų', 'U'],\n\t['Ū', 'U'],\n\n\t// Macedonian\n\t['Ќ', 'Kj'],\n\t['ќ', 'kj'],\n\t['Љ', 'Lj'],\n\t['љ', 'lj'],\n\t['Њ', 'Nj'],\n\t['њ', 'nj'],\n\t['Тс', 'Ts'],\n\t['тс', 'ts'],\n\n\t// Polish\n\t['ą', 'a'],\n\t['ć', 'c'],\n\t['ę', 'e'],\n\t['ł', 'l'],\n\t['ń', 'n'],\n\t['ś', 's'],\n\t['ź', 'z'],\n\t['ż', 'z'],\n\t['Ą', 'A'],\n\t['Ć', 'C'],\n\t['Ę', 'E'],\n\t['Ł', 'L'],\n\t['Ń', 'N'],\n\t['Ś', 'S'],\n\t['Ź', 'Z'],\n\t['Ż', 'Z'],\n\n\t// Disabled as it conflicts with Vietnamese.\n\t// Serbian\n\t// ['љ', 'lj'],\n\t// ['њ', 'nj'],\n\t// ['Љ', 'Lj'],\n\t// ['Њ', 'Nj'],\n\t// ['đ', 'dj'],\n\t// ['Đ', 'Dj'],\n\t// ['ђ', 'dj'],\n\t// ['ј', 'j'],\n\t// ['ћ', 'c'],\n\t// ['џ', 'dz'],\n\t// ['Ђ', 'Dj'],\n\t// ['Ј', 'j'],\n\t// ['Ћ', 'C'],\n\t// ['Џ', 'Dz'],\n\n\t// Disabled as it conflicts with German and Latin.\n\t// Slovak\n\t// ['ä', 'a'],\n\t// ['Ä', 'A'],\n\t// ['ľ', 'l'],\n\t// ['ĺ', 'l'],\n\t// ['ŕ', 'r'],\n\t// ['Ľ', 'L'],\n\t// ['Ĺ', 'L'],\n\t// ['Ŕ', 'R'],\n\n\t// Disabled as it conflicts with German and Latin.\n\t// Swedish\n\t// ['å', 'o'],\n\t// ['Å', 'o'],\n\t// ['ä', 'a'],\n\t// ['Ä', 'A'],\n\t// ['ë', 'e'],\n\t// ['Ë', 'E'],\n\t// ['ö', 'o'],\n\t// ['Ö', 'O'],\n\n\t// Ukrainian\n\t['Є', 'Ye'],\n\t['І', 'I'],\n\t['Ї', 'Yi'],\n\t['Ґ', 'G'],\n\t['є', 'ye'],\n\t['і', 'i'],\n\t['ї', 'yi'],\n\t['ґ', 'g']\n\n\t// Danish\n\t// ['Æ', 'Ae'],\n\t// ['Ø', 'Oe'],\n\t// ['Å', 'Aa'],\n\t// ['æ', 'ae'],\n\t// ['ø', 'oe'],\n\t// ['å', 'aa']\n];\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global global, define, System, Reflect, Promise */\r\nvar __extends;\r\nvar __assign;\r\nvar __rest;\r\nvar __decorate;\r\nvar __param;\r\nvar __metadata;\r\nvar __awaiter;\r\nvar __generator;\r\nvar __exportStar;\r\nvar __values;\r\nvar __read;\r\nvar __spread;\r\nvar __spreadArrays;\r\nvar __await;\r\nvar __asyncGenerator;\r\nvar __asyncDelegator;\r\nvar __asyncValues;\r\nvar __makeTemplateObject;\r\nvar __importStar;\r\nvar __importDefault;\r\nvar __classPrivateFieldGet;\r\nvar __classPrivateFieldSet;\r\nvar __createBinding;\r\n(function (factory) {\r\n var root = typeof global === \"object\" ? global : typeof self === \"object\" ? self : typeof this === \"object\" ? this : {};\r\n if (typeof define === \"function\" && define.amd) {\r\n define(\"tslib\", [\"exports\"], function (exports) { factory(createExporter(root, createExporter(exports))); });\r\n }\r\n else if (typeof module === \"object\" && typeof module.exports === \"object\") {\r\n factory(createExporter(root, createExporter(module.exports)));\r\n }\r\n else {\r\n factory(createExporter(root));\r\n }\r\n function createExporter(exports, previous) {\r\n if (exports !== root) {\r\n if (typeof Object.create === \"function\") {\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n }\r\n else {\r\n exports.__esModule = true;\r\n }\r\n }\r\n return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };\r\n }\r\n})\r\n(function (exporter) {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n\r\n __extends = function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n\r\n __assign = Object.assign || function (t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n\r\n __rest = function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n };\r\n\r\n __decorate = function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n };\r\n\r\n __param = function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n };\r\n\r\n __metadata = function (metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n };\r\n\r\n __awaiter = function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n };\r\n\r\n __generator = function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n };\r\n\r\n __exportStar = function(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n };\r\n\r\n __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n }) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n });\r\n\r\n __values = function (o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n };\r\n\r\n __read = function (o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n };\r\n\r\n __spread = function () {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n };\r\n\r\n __spreadArrays = function () {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n };\r\n\r\n __await = function (v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n };\r\n\r\n __asyncGenerator = function (thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n };\r\n\r\n __asyncDelegator = function (o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n };\r\n\r\n __asyncValues = function (o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n };\r\n\r\n __makeTemplateObject = function (cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n };\r\n\r\n var __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n }) : function(o, v) {\r\n o[\"default\"] = v;\r\n };\r\n\r\n __importStar = function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n };\r\n\r\n __importDefault = function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n };\r\n\r\n __classPrivateFieldGet = function (receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n };\r\n\r\n __classPrivateFieldSet = function (receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n };\r\n\r\n exporter(\"__extends\", __extends);\r\n exporter(\"__assign\", __assign);\r\n exporter(\"__rest\", __rest);\r\n exporter(\"__decorate\", __decorate);\r\n exporter(\"__param\", __param);\r\n exporter(\"__metadata\", __metadata);\r\n exporter(\"__awaiter\", __awaiter);\r\n exporter(\"__generator\", __generator);\r\n exporter(\"__exportStar\", __exportStar);\r\n exporter(\"__createBinding\", __createBinding);\r\n exporter(\"__values\", __values);\r\n exporter(\"__read\", __read);\r\n exporter(\"__spread\", __spread);\r\n exporter(\"__spreadArrays\", __spreadArrays);\r\n exporter(\"__await\", __await);\r\n exporter(\"__asyncGenerator\", __asyncGenerator);\r\n exporter(\"__asyncDelegator\", __asyncDelegator);\r\n exporter(\"__asyncValues\", __asyncValues);\r\n exporter(\"__makeTemplateObject\", __makeTemplateObject);\r\n exporter(\"__importStar\", __importStar);\r\n exporter(\"__importDefault\", __importDefault);\r\n exporter(\"__classPrivateFieldGet\", __classPrivateFieldGet);\r\n exporter(\"__classPrivateFieldSet\", __classPrivateFieldSet);\r\n});\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.run = void 0;\nconst core_1 = require(\"@actions/core\");\nconst graphs_1 = require(\"./graphs\");\nconst site_1 = require(\"./site\");\nconst summary_1 = require(\"./summary\");\nconst update_1 = require(\"./update\");\nconst token = core_1.getInput(\"token\") || process.env.GH_PAT || process.env.GITHUB_TOKEN;\nconst run = async () => {\n if (!token)\n throw new Error(\"GitHub token not found\");\n core_1.debug(\"Starting Upptime\");\n switch (core_1.getInput(\"command\")) {\n case \"summary\":\n core_1.debug(\"Starting summary\");\n case \"readme\":\n core_1.debug(\"Starting readme\");\n return summary_1.generateSummary();\n case \"site\":\n core_1.debug(\"Starting site\");\n return site_1.generateSite();\n case \"graphs\":\n core_1.debug(\"Starting site\");\n return graphs_1.generateGraphs();\n case \"response-time\":\n core_1.debug(\"Starting response-time\");\n return update_1.update(true);\n default:\n core_1.debug(\"Starting update\");\n return update_1.update();\n }\n};\nexports.run = run;\nexports.run()\n .then(() => { })\n .catch((error) => {\n console.error(\"ERROR\", error);\n core_1.setFailed(error.message);\n});\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst os = __importStar(require(\"os\"));\nconst utils_1 = require(\"./utils\");\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nfunction issueCommand(command, properties, message) {\n const cmd = new Command(command, properties, message);\n process.stdout.write(cmd.toString() + os.EOL);\n}\nexports.issueCommand = issueCommand;\nfunction issue(name, message = '') {\n issueCommand(name, {}, message);\n}\nexports.issue = issue;\nconst CMD_STRING = '::';\nclass Command {\n constructor(command, properties, message) {\n if (!command) {\n command = 'missing.command';\n }\n this.command = command;\n this.properties = properties;\n this.message = message;\n }\n toString() {\n let cmdStr = CMD_STRING + this.command;\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' ';\n let first = true;\n for (const key in this.properties) {\n if (this.properties.hasOwnProperty(key)) {\n const val = this.properties[key];\n if (val) {\n if (first) {\n first = false;\n }\n else {\n cmdStr += ',';\n }\n cmdStr += `${key}=${escapeProperty(val)}`;\n }\n }\n }\n }\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`;\n return cmdStr;\n }\n}\nfunction escapeData(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A');\n}\nfunction escapeProperty(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A')\n .replace(/:/g, '%3A')\n .replace(/,/g, '%2C');\n}\n//# sourceMappingURL=command.js.map","/* eslint quote-props: 0 */\n\n'use strict';\n\nconst path = require('path');\n\nconst defaultMimeType = 'application/octet-stream';\nconst defaultExtension = 'bin';\n\nconst mimeTypes = new Map([\n ['application/acad', 'dwg'],\n ['application/applixware', 'aw'],\n ['application/arj', 'arj'],\n ['application/atom+xml', 'xml'],\n ['application/atomcat+xml', 'atomcat'],\n ['application/atomsvc+xml', 'atomsvc'],\n ['application/base64', ['mm', 'mme']],\n ['application/binhex', 'hqx'],\n ['application/binhex4', 'hqx'],\n ['application/book', ['book', 'boo']],\n ['application/ccxml+xml,', 'ccxml'],\n ['application/cdf', 'cdf'],\n ['application/cdmi-capability', 'cdmia'],\n ['application/cdmi-container', 'cdmic'],\n ['application/cdmi-domain', 'cdmid'],\n ['application/cdmi-object', 'cdmio'],\n ['application/cdmi-queue', 'cdmiq'],\n ['application/clariscad', 'ccad'],\n ['application/commonground', 'dp'],\n ['application/cu-seeme', 'cu'],\n ['application/davmount+xml', 'davmount'],\n ['application/drafting', 'drw'],\n ['application/dsptype', 'tsp'],\n ['application/dssc+der', 'dssc'],\n ['application/dssc+xml', 'xdssc'],\n ['application/dxf', 'dxf'],\n ['application/ecmascript', ['js', 'es']],\n ['application/emma+xml', 'emma'],\n ['application/envoy', 'evy'],\n ['application/epub+zip', 'epub'],\n ['application/excel', ['xls', 'xl', 'xla', 'xlb', 'xlc', 'xld', 'xlk', 'xll', 'xlm', 'xlt', 'xlv', 'xlw']],\n ['application/exi', 'exi'],\n ['application/font-tdpfr', 'pfr'],\n ['application/fractals', 'fif'],\n ['application/freeloader', 'frl'],\n ['application/futuresplash', 'spl'],\n ['application/gnutar', 'tgz'],\n ['application/groupwise', 'vew'],\n ['application/hlp', 'hlp'],\n ['application/hta', 'hta'],\n ['application/hyperstudio', 'stk'],\n ['application/i-deas', 'unv'],\n ['application/iges', ['iges', 'igs']],\n ['application/inf', 'inf'],\n ['application/internet-property-stream', 'acx'],\n ['application/ipfix', 'ipfix'],\n ['application/java', 'class'],\n ['application/java-archive', 'jar'],\n ['application/java-byte-code', 'class'],\n ['application/java-serialized-object', 'ser'],\n ['application/java-vm', 'class'],\n ['application/javascript', 'js'],\n ['application/json', 'json'],\n ['application/lha', 'lha'],\n ['application/lzx', 'lzx'],\n ['application/mac-binary', 'bin'],\n ['application/mac-binhex', 'hqx'],\n ['application/mac-binhex40', 'hqx'],\n ['application/mac-compactpro', 'cpt'],\n ['application/macbinary', 'bin'],\n ['application/mads+xml', 'mads'],\n ['application/marc', 'mrc'],\n ['application/marcxml+xml', 'mrcx'],\n ['application/mathematica', 'ma'],\n ['application/mathml+xml', 'mathml'],\n ['application/mbedlet', 'mbd'],\n ['application/mbox', 'mbox'],\n ['application/mcad', 'mcd'],\n ['application/mediaservercontrol+xml', 'mscml'],\n ['application/metalink4+xml', 'meta4'],\n ['application/mets+xml', 'mets'],\n ['application/mime', 'aps'],\n ['application/mods+xml', 'mods'],\n ['application/mp21', 'm21'],\n ['application/mp4', 'mp4'],\n ['application/mspowerpoint', ['ppt', 'pot', 'pps', 'ppz']],\n ['application/msword', ['doc', 'dot', 'w6w', 'wiz', 'word']],\n ['application/mswrite', 'wri'],\n ['application/mxf', 'mxf'],\n ['application/netmc', 'mcp'],\n ['application/octet-stream', ['*']],\n ['application/oda', 'oda'],\n ['application/oebps-package+xml', 'opf'],\n ['application/ogg', 'ogx'],\n ['application/olescript', 'axs'],\n ['application/onenote', 'onetoc'],\n ['application/patch-ops-error+xml', 'xer'],\n ['application/pdf', 'pdf'],\n ['application/pgp-encrypted', 'asc'],\n ['application/pgp-signature', 'pgp'],\n ['application/pics-rules', 'prf'],\n ['application/pkcs-12', 'p12'],\n ['application/pkcs-crl', 'crl'],\n ['application/pkcs10', 'p10'],\n ['application/pkcs7-mime', ['p7c', 'p7m']],\n ['application/pkcs7-signature', 'p7s'],\n ['application/pkcs8', 'p8'],\n ['application/pkix-attr-cert', 'ac'],\n ['application/pkix-cert', ['cer', 'crt']],\n ['application/pkix-crl', 'crl'],\n ['application/pkix-pkipath', 'pkipath'],\n ['application/pkixcmp', 'pki'],\n ['application/plain', 'text'],\n ['application/pls+xml', 'pls'],\n ['application/postscript', ['ps', 'ai', 'eps']],\n ['application/powerpoint', 'ppt'],\n ['application/pro_eng', ['part', 'prt']],\n ['application/prs.cww', 'cww'],\n ['application/pskc+xml', 'pskcxml'],\n ['application/rdf+xml', 'rdf'],\n ['application/reginfo+xml', 'rif'],\n ['application/relax-ng-compact-syntax', 'rnc'],\n ['application/resource-lists+xml', 'rl'],\n ['application/resource-lists-diff+xml', 'rld'],\n ['application/ringing-tones', 'rng'],\n ['application/rls-services+xml', 'rs'],\n ['application/rsd+xml', 'rsd'],\n ['application/rss+xml', 'xml'],\n ['application/rtf', ['rtf', 'rtx']],\n ['application/sbml+xml', 'sbml'],\n ['application/scvp-cv-request', 'scq'],\n ['application/scvp-cv-response', 'scs'],\n ['application/scvp-vp-request', 'spq'],\n ['application/scvp-vp-response', 'spp'],\n ['application/sdp', 'sdp'],\n ['application/sea', 'sea'],\n ['application/set', 'set'],\n ['application/set-payment-initiation', 'setpay'],\n ['application/set-registration-initiation', 'setreg'],\n ['application/shf+xml', 'shf'],\n ['application/sla', 'stl'],\n ['application/smil', ['smi', 'smil']],\n ['application/smil+xml', 'smi'],\n ['application/solids', 'sol'],\n ['application/sounder', 'sdr'],\n ['application/sparql-query', 'rq'],\n ['application/sparql-results+xml', 'srx'],\n ['application/srgs', 'gram'],\n ['application/srgs+xml', 'grxml'],\n ['application/sru+xml', 'sru'],\n ['application/ssml+xml', 'ssml'],\n ['application/step', ['step', 'stp']],\n ['application/streamingmedia', 'ssm'],\n ['application/tei+xml', 'tei'],\n ['application/thraud+xml', 'tfi'],\n ['application/timestamped-data', 'tsd'],\n ['application/toolbook', 'tbk'],\n ['application/vda', 'vda'],\n ['application/vnd.3gpp.pic-bw-large', 'plb'],\n ['application/vnd.3gpp.pic-bw-small', 'psb'],\n ['application/vnd.3gpp.pic-bw-var', 'pvb'],\n ['application/vnd.3gpp2.tcap', 'tcap'],\n ['application/vnd.3m.post-it-notes', 'pwn'],\n ['application/vnd.accpac.simply.aso', 'aso'],\n ['application/vnd.accpac.simply.imp', 'imp'],\n ['application/vnd.acucobol', 'acu'],\n ['application/vnd.acucorp', 'atc'],\n ['application/vnd.adobe.air-application-installer-package+zip', 'air'],\n ['application/vnd.adobe.fxp', 'fxp'],\n ['application/vnd.adobe.xdp+xml', 'xdp'],\n ['application/vnd.adobe.xfdf', 'xfdf'],\n ['application/vnd.ahead.space', 'ahead'],\n ['application/vnd.airzip.filesecure.azf', 'azf'],\n ['application/vnd.airzip.filesecure.azs', 'azs'],\n ['application/vnd.amazon.ebook', 'azw'],\n ['application/vnd.americandynamics.acc', 'acc'],\n ['application/vnd.amiga.ami', 'ami'],\n ['application/vnd.android.package-archive', 'apk'],\n ['application/vnd.anser-web-certificate-issue-initiation', 'cii'],\n ['application/vnd.anser-web-funds-transfer-initiation', 'fti'],\n ['application/vnd.antix.game-component', 'atx'],\n ['application/vnd.apple.installer+xml', 'mpkg'],\n ['application/vnd.apple.mpegurl', 'm3u8'],\n ['application/vnd.aristanetworks.swi', 'swi'],\n ['application/vnd.audiograph', 'aep'],\n ['application/vnd.blueice.multipass', 'mpm'],\n ['application/vnd.bmi', 'bmi'],\n ['application/vnd.businessobjects', 'rep'],\n ['application/vnd.chemdraw+xml', 'cdxml'],\n ['application/vnd.chipnuts.karaoke-mmd', 'mmd'],\n ['application/vnd.cinderella', 'cdy'],\n ['application/vnd.claymore', 'cla'],\n ['application/vnd.cloanto.rp9', 'rp9'],\n ['application/vnd.clonk.c4group', 'c4g'],\n ['application/vnd.cluetrust.cartomobile-config', 'c11amc'],\n ['application/vnd.cluetrust.cartomobile-config-pkg', 'c11amz'],\n ['application/vnd.commonspace', 'csp'],\n ['application/vnd.contact.cmsg', 'cdbcmsg'],\n ['application/vnd.cosmocaller', 'cmc'],\n ['application/vnd.crick.clicker', 'clkx'],\n ['application/vnd.crick.clicker.keyboard', 'clkk'],\n ['application/vnd.crick.clicker.palette', 'clkp'],\n ['application/vnd.crick.clicker.template', 'clkt'],\n ['application/vnd.crick.clicker.wordbank', 'clkw'],\n ['application/vnd.criticaltools.wbs+xml', 'wbs'],\n ['application/vnd.ctc-posml', 'pml'],\n ['application/vnd.cups-ppd', 'ppd'],\n ['application/vnd.curl.car', 'car'],\n ['application/vnd.curl.pcurl', 'pcurl'],\n ['application/vnd.data-vision.rdz', 'rdz'],\n ['application/vnd.denovo.fcselayout-link', 'fe_launch'],\n ['application/vnd.dna', 'dna'],\n ['application/vnd.dolby.mlp', 'mlp'],\n ['application/vnd.dpgraph', 'dpg'],\n ['application/vnd.dreamfactory', 'dfac'],\n ['application/vnd.dvb.ait', 'ait'],\n ['application/vnd.dvb.service', 'svc'],\n ['application/vnd.dynageo', 'geo'],\n ['application/vnd.ecowin.chart', 'mag'],\n ['application/vnd.enliven', 'nml'],\n ['application/vnd.epson.esf', 'esf'],\n ['application/vnd.epson.msf', 'msf'],\n ['application/vnd.epson.quickanime', 'qam'],\n ['application/vnd.epson.salt', 'slt'],\n ['application/vnd.epson.ssf', 'ssf'],\n ['application/vnd.eszigno3+xml', 'es3'],\n ['application/vnd.ezpix-album', 'ez2'],\n ['application/vnd.ezpix-package', 'ez3'],\n ['application/vnd.fdf', 'fdf'],\n ['application/vnd.fdsn.seed', 'seed'],\n ['application/vnd.flographit', 'gph'],\n ['application/vnd.fluxtime.clip', 'ftc'],\n ['application/vnd.framemaker', 'fm'],\n ['application/vnd.frogans.fnc', 'fnc'],\n ['application/vnd.frogans.ltf', 'ltf'],\n ['application/vnd.fsc.weblaunch', 'fsc'],\n ['application/vnd.fujitsu.oasys', 'oas'],\n ['application/vnd.fujitsu.oasys2', 'oa2'],\n ['application/vnd.fujitsu.oasys3', 'oa3'],\n ['application/vnd.fujitsu.oasysgp', 'fg5'],\n ['application/vnd.fujitsu.oasysprs', 'bh2'],\n ['application/vnd.fujixerox.ddd', 'ddd'],\n ['application/vnd.fujixerox.docuworks', 'xdw'],\n ['application/vnd.fujixerox.docuworks.binder', 'xbd'],\n ['application/vnd.fuzzysheet', 'fzs'],\n ['application/vnd.genomatix.tuxedo', 'txd'],\n ['application/vnd.geogebra.file', 'ggb'],\n ['application/vnd.geogebra.tool', 'ggt'],\n ['application/vnd.geometry-explorer', 'gex'],\n ['application/vnd.geonext', 'gxt'],\n ['application/vnd.geoplan', 'g2w'],\n ['application/vnd.geospace', 'g3w'],\n ['application/vnd.gmx', 'gmx'],\n ['application/vnd.google-earth.kml+xml', 'kml'],\n ['application/vnd.google-earth.kmz', 'kmz'],\n ['application/vnd.grafeq', 'gqf'],\n ['application/vnd.groove-account', 'gac'],\n ['application/vnd.groove-help', 'ghf'],\n ['application/vnd.groove-identity-message', 'gim'],\n ['application/vnd.groove-injector', 'grv'],\n ['application/vnd.groove-tool-message', 'gtm'],\n ['application/vnd.groove-tool-template', 'tpl'],\n ['application/vnd.groove-vcard', 'vcg'],\n ['application/vnd.hal+xml', 'hal'],\n ['application/vnd.handheld-entertainment+xml', 'zmm'],\n ['application/vnd.hbci', 'hbci'],\n ['application/vnd.hhe.lesson-player', 'les'],\n ['application/vnd.hp-hpgl', ['hgl', 'hpg', 'hpgl']],\n ['application/vnd.hp-hpid', 'hpid'],\n ['application/vnd.hp-hps', 'hps'],\n ['application/vnd.hp-jlyt', 'jlt'],\n ['application/vnd.hp-pcl', 'pcl'],\n ['application/vnd.hp-pclxl', 'pclxl'],\n ['application/vnd.hydrostatix.sof-data', 'sfd-hdstx'],\n ['application/vnd.hzn-3d-crossword', 'x3d'],\n ['application/vnd.ibm.minipay', 'mpy'],\n ['application/vnd.ibm.modcap', 'afp'],\n ['application/vnd.ibm.rights-management', 'irm'],\n ['application/vnd.ibm.secure-container', 'sc'],\n ['application/vnd.iccprofile', 'icc'],\n ['application/vnd.igloader', 'igl'],\n ['application/vnd.immervision-ivp', 'ivp'],\n ['application/vnd.immervision-ivu', 'ivu'],\n ['application/vnd.insors.igm', 'igm'],\n ['application/vnd.intercon.formnet', 'xpw'],\n ['application/vnd.intergeo', 'i2g'],\n ['application/vnd.intu.qbo', 'qbo'],\n ['application/vnd.intu.qfx', 'qfx'],\n ['application/vnd.ipunplugged.rcprofile', 'rcprofile'],\n ['application/vnd.irepository.package+xml', 'irp'],\n ['application/vnd.is-xpr', 'xpr'],\n ['application/vnd.isac.fcs', 'fcs'],\n ['application/vnd.jam', 'jam'],\n ['application/vnd.jcp.javame.midlet-rms', 'rms'],\n ['application/vnd.jisp', 'jisp'],\n ['application/vnd.joost.joda-archive', 'joda'],\n ['application/vnd.kahootz', 'ktz'],\n ['application/vnd.kde.karbon', 'karbon'],\n ['application/vnd.kde.kchart', 'chrt'],\n ['application/vnd.kde.kformula', 'kfo'],\n ['application/vnd.kde.kivio', 'flw'],\n ['application/vnd.kde.kontour', 'kon'],\n ['application/vnd.kde.kpresenter', 'kpr'],\n ['application/vnd.kde.kspread', 'ksp'],\n ['application/vnd.kde.kword', 'kwd'],\n ['application/vnd.kenameaapp', 'htke'],\n ['application/vnd.kidspiration', 'kia'],\n ['application/vnd.kinar', 'kne'],\n ['application/vnd.koan', 'skp'],\n ['application/vnd.kodak-descriptor', 'sse'],\n ['application/vnd.las.las+xml', 'lasxml'],\n ['application/vnd.llamagraphics.life-balance.desktop', 'lbd'],\n ['application/vnd.llamagraphics.life-balance.exchange+xml', 'lbe'],\n ['application/vnd.lotus-1-2-3', '123'],\n ['application/vnd.lotus-approach', 'apr'],\n ['application/vnd.lotus-freelance', 'pre'],\n ['application/vnd.lotus-notes', 'nsf'],\n ['application/vnd.lotus-organizer', 'org'],\n ['application/vnd.lotus-screencam', 'scm'],\n ['application/vnd.lotus-wordpro', 'lwp'],\n ['application/vnd.macports.portpkg', 'portpkg'],\n ['application/vnd.mcd', 'mcd'],\n ['application/vnd.medcalcdata', 'mc1'],\n ['application/vnd.mediastation.cdkey', 'cdkey'],\n ['application/vnd.mfer', 'mwf'],\n ['application/vnd.mfmp', 'mfm'],\n ['application/vnd.micrografx.flo', 'flo'],\n ['application/vnd.micrografx.igx', 'igx'],\n ['application/vnd.mif', 'mif'],\n ['application/vnd.mobius.daf', 'daf'],\n ['application/vnd.mobius.dis', 'dis'],\n ['application/vnd.mobius.mbk', 'mbk'],\n ['application/vnd.mobius.mqy', 'mqy'],\n ['application/vnd.mobius.msl', 'msl'],\n ['application/vnd.mobius.plc', 'plc'],\n ['application/vnd.mobius.txf', 'txf'],\n ['application/vnd.mophun.application', 'mpn'],\n ['application/vnd.mophun.certificate', 'mpc'],\n ['application/vnd.mozilla.xul+xml', 'xul'],\n ['application/vnd.ms-artgalry', 'cil'],\n ['application/vnd.ms-cab-compressed', 'cab'],\n ['application/vnd.ms-excel', ['xls', 'xla', 'xlc', 'xlm', 'xlt', 'xlw', 'xlb', 'xll']],\n ['application/vnd.ms-excel.addin.macroenabled.12', 'xlam'],\n ['application/vnd.ms-excel.sheet.binary.macroenabled.12', 'xlsb'],\n ['application/vnd.ms-excel.sheet.macroenabled.12', 'xlsm'],\n ['application/vnd.ms-excel.template.macroenabled.12', 'xltm'],\n ['application/vnd.ms-fontobject', 'eot'],\n ['application/vnd.ms-htmlhelp', 'chm'],\n ['application/vnd.ms-ims', 'ims'],\n ['application/vnd.ms-lrm', 'lrm'],\n ['application/vnd.ms-officetheme', 'thmx'],\n ['application/vnd.ms-outlook', 'msg'],\n ['application/vnd.ms-pki.certstore', 'sst'],\n ['application/vnd.ms-pki.pko', 'pko'],\n ['application/vnd.ms-pki.seccat', 'cat'],\n ['application/vnd.ms-pki.stl', 'stl'],\n ['application/vnd.ms-pkicertstore', 'sst'],\n ['application/vnd.ms-pkiseccat', 'cat'],\n ['application/vnd.ms-pkistl', 'stl'],\n ['application/vnd.ms-powerpoint', ['ppt', 'pot', 'pps', 'ppa', 'pwz']],\n ['application/vnd.ms-powerpoint.addin.macroenabled.12', 'ppam'],\n ['application/vnd.ms-powerpoint.presentation.macroenabled.12', 'pptm'],\n ['application/vnd.ms-powerpoint.slide.macroenabled.12', 'sldm'],\n ['application/vnd.ms-powerpoint.slideshow.macroenabled.12', 'ppsm'],\n ['application/vnd.ms-powerpoint.template.macroenabled.12', 'potm'],\n ['application/vnd.ms-project', 'mpp'],\n ['application/vnd.ms-word.document.macroenabled.12', 'docm'],\n ['application/vnd.ms-word.template.macroenabled.12', 'dotm'],\n ['application/vnd.ms-works', ['wks', 'wcm', 'wdb', 'wps']],\n ['application/vnd.ms-wpl', 'wpl'],\n ['application/vnd.ms-xpsdocument', 'xps'],\n ['application/vnd.mseq', 'mseq'],\n ['application/vnd.musician', 'mus'],\n ['application/vnd.muvee.style', 'msty'],\n ['application/vnd.neurolanguage.nlu', 'nlu'],\n ['application/vnd.noblenet-directory', 'nnd'],\n ['application/vnd.noblenet-sealer', 'nns'],\n ['application/vnd.noblenet-web', 'nnw'],\n ['application/vnd.nokia.configuration-message', 'ncm'],\n ['application/vnd.nokia.n-gage.data', 'ngdat'],\n ['application/vnd.nokia.n-gage.symbian.install', 'n-gage'],\n ['application/vnd.nokia.radio-preset', 'rpst'],\n ['application/vnd.nokia.radio-presets', 'rpss'],\n ['application/vnd.nokia.ringing-tone', 'rng'],\n ['application/vnd.novadigm.edm', 'edm'],\n ['application/vnd.novadigm.edx', 'edx'],\n ['application/vnd.novadigm.ext', 'ext'],\n ['application/vnd.oasis.opendocument.chart', 'odc'],\n ['application/vnd.oasis.opendocument.chart-template', 'otc'],\n ['application/vnd.oasis.opendocument.database', 'odb'],\n ['application/vnd.oasis.opendocument.formula', 'odf'],\n ['application/vnd.oasis.opendocument.formula-template', 'odft'],\n ['application/vnd.oasis.opendocument.graphics', 'odg'],\n ['application/vnd.oasis.opendocument.graphics-template', 'otg'],\n ['application/vnd.oasis.opendocument.image', 'odi'],\n ['application/vnd.oasis.opendocument.image-template', 'oti'],\n ['application/vnd.oasis.opendocument.presentation', 'odp'],\n ['application/vnd.oasis.opendocument.presentation-template', 'otp'],\n ['application/vnd.oasis.opendocument.spreadsheet', 'ods'],\n ['application/vnd.oasis.opendocument.spreadsheet-template', 'ots'],\n ['application/vnd.oasis.opendocument.text', 'odt'],\n ['application/vnd.oasis.opendocument.text-master', 'odm'],\n ['application/vnd.oasis.opendocument.text-template', 'ott'],\n ['application/vnd.oasis.opendocument.text-web', 'oth'],\n ['application/vnd.olpc-sugar', 'xo'],\n ['application/vnd.oma.dd2+xml', 'dd2'],\n ['application/vnd.openofficeorg.extension', 'oxt'],\n ['application/vnd.openxmlformats-officedocument.presentationml.presentation', 'pptx'],\n ['application/vnd.openxmlformats-officedocument.presentationml.slide', 'sldx'],\n ['application/vnd.openxmlformats-officedocument.presentationml.slideshow', 'ppsx'],\n ['application/vnd.openxmlformats-officedocument.presentationml.template', 'potx'],\n ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlsx'],\n ['application/vnd.openxmlformats-officedocument.spreadsheetml.template', 'xltx'],\n ['application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'docx'],\n ['application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'dotx'],\n ['application/vnd.osgeo.mapguide.package', 'mgp'],\n ['application/vnd.osgi.dp', 'dp'],\n ['application/vnd.palm', 'pdb'],\n ['application/vnd.pawaafile', 'paw'],\n ['application/vnd.pg.format', 'str'],\n ['application/vnd.pg.osasli', 'ei6'],\n ['application/vnd.picsel', 'efif'],\n ['application/vnd.pmi.widget', 'wg'],\n ['application/vnd.pocketlearn', 'plf'],\n ['application/vnd.powerbuilder6', 'pbd'],\n ['application/vnd.previewsystems.box', 'box'],\n ['application/vnd.proteus.magazine', 'mgz'],\n ['application/vnd.publishare-delta-tree', 'qps'],\n ['application/vnd.pvi.ptid1', 'ptid'],\n ['application/vnd.quark.quarkxpress', 'qxd'],\n ['application/vnd.realvnc.bed', 'bed'],\n ['application/vnd.recordare.musicxml', 'mxl'],\n ['application/vnd.recordare.musicxml+xml', 'musicxml'],\n ['application/vnd.rig.cryptonote', 'cryptonote'],\n ['application/vnd.rim.cod', 'cod'],\n ['application/vnd.rn-realmedia', 'rm'],\n ['application/vnd.rn-realplayer', 'rnx'],\n ['application/vnd.route66.link66+xml', 'link66'],\n ['application/vnd.sailingtracker.track', 'st'],\n ['application/vnd.seemail', 'see'],\n ['application/vnd.sema', 'sema'],\n ['application/vnd.semd', 'semd'],\n ['application/vnd.semf', 'semf'],\n ['application/vnd.shana.informed.formdata', 'ifm'],\n ['application/vnd.shana.informed.formtemplate', 'itp'],\n ['application/vnd.shana.informed.interchange', 'iif'],\n ['application/vnd.shana.informed.package', 'ipk'],\n ['application/vnd.simtech-mindmapper', 'twd'],\n ['application/vnd.smaf', 'mmf'],\n ['application/vnd.smart.teacher', 'teacher'],\n ['application/vnd.solent.sdkm+xml', 'sdkm'],\n ['application/vnd.spotfire.dxp', 'dxp'],\n ['application/vnd.spotfire.sfs', 'sfs'],\n ['application/vnd.stardivision.calc', 'sdc'],\n ['application/vnd.stardivision.draw', 'sda'],\n ['application/vnd.stardivision.impress', 'sdd'],\n ['application/vnd.stardivision.math', 'smf'],\n ['application/vnd.stardivision.writer', 'sdw'],\n ['application/vnd.stardivision.writer-global', 'sgl'],\n ['application/vnd.stepmania.stepchart', 'sm'],\n ['application/vnd.sun.xml.calc', 'sxc'],\n ['application/vnd.sun.xml.calc.template', 'stc'],\n ['application/vnd.sun.xml.draw', 'sxd'],\n ['application/vnd.sun.xml.draw.template', 'std'],\n ['application/vnd.sun.xml.impress', 'sxi'],\n ['application/vnd.sun.xml.impress.template', 'sti'],\n ['application/vnd.sun.xml.math', 'sxm'],\n ['application/vnd.sun.xml.writer', 'sxw'],\n ['application/vnd.sun.xml.writer.global', 'sxg'],\n ['application/vnd.sun.xml.writer.template', 'stw'],\n ['application/vnd.sus-calendar', 'sus'],\n ['application/vnd.svd', 'svd'],\n ['application/vnd.symbian.install', 'sis'],\n ['application/vnd.syncml+xml', 'xsm'],\n ['application/vnd.syncml.dm+wbxml', 'bdm'],\n ['application/vnd.syncml.dm+xml', 'xdm'],\n ['application/vnd.tao.intent-module-archive', 'tao'],\n ['application/vnd.tmobile-livetv', 'tmo'],\n ['application/vnd.trid.tpt', 'tpt'],\n ['application/vnd.triscape.mxs', 'mxs'],\n ['application/vnd.trueapp', 'tra'],\n ['application/vnd.ufdl', 'ufd'],\n ['application/vnd.uiq.theme', 'utz'],\n ['application/vnd.umajin', 'umj'],\n ['application/vnd.unity', 'unityweb'],\n ['application/vnd.uoml+xml', 'uoml'],\n ['application/vnd.vcx', 'vcx'],\n ['application/vnd.visio', 'vsd'],\n ['application/vnd.visionary', 'vis'],\n ['application/vnd.vsf', 'vsf'],\n ['application/vnd.wap.wbxml', 'wbxml'],\n ['application/vnd.wap.wmlc', 'wmlc'],\n ['application/vnd.wap.wmlscriptc', 'wmlsc'],\n ['application/vnd.webturbo', 'wtb'],\n ['application/vnd.wolfram.player', 'nbp'],\n ['application/vnd.wordperfect', 'wpd'],\n ['application/vnd.wqd', 'wqd'],\n ['application/vnd.wt.stf', 'stf'],\n ['application/vnd.xara', ['web', 'xar']],\n ['application/vnd.xfdl', 'xfdl'],\n ['application/vnd.yamaha.hv-dic', 'hvd'],\n ['application/vnd.yamaha.hv-script', 'hvs'],\n ['application/vnd.yamaha.hv-voice', 'hvp'],\n ['application/vnd.yamaha.openscoreformat', 'osf'],\n ['application/vnd.yamaha.openscoreformat.osfpvg+xml', 'osfpvg'],\n ['application/vnd.yamaha.smaf-audio', 'saf'],\n ['application/vnd.yamaha.smaf-phrase', 'spf'],\n ['application/vnd.yellowriver-custom-menu', 'cmp'],\n ['application/vnd.zul', 'zir'],\n ['application/vnd.zzazz.deck+xml', 'zaz'],\n ['application/vocaltec-media-desc', 'vmd'],\n ['application/vocaltec-media-file', 'vmf'],\n ['application/voicexml+xml', 'vxml'],\n ['application/widget', 'wgt'],\n ['application/winhlp', 'hlp'],\n ['application/wordperfect', ['wp', 'wp5', 'wp6', 'wpd']],\n ['application/wordperfect6.0', ['w60', 'wp5']],\n ['application/wordperfect6.1', 'w61'],\n ['application/wsdl+xml', 'wsdl'],\n ['application/wspolicy+xml', 'wspolicy'],\n ['application/x-123', 'wk1'],\n ['application/x-7z-compressed', '7z'],\n ['application/x-abiword', 'abw'],\n ['application/x-ace-compressed', 'ace'],\n ['application/x-aim', 'aim'],\n ['application/x-authorware-bin', 'aab'],\n ['application/x-authorware-map', 'aam'],\n ['application/x-authorware-seg', 'aas'],\n ['application/x-bcpio', 'bcpio'],\n ['application/x-binary', 'bin'],\n ['application/x-binhex40', 'hqx'],\n ['application/x-bittorrent', 'torrent'],\n ['application/x-bsh', ['bsh', 'sh', 'shar']],\n ['application/x-bytecode.elisp', 'elc'],\n ['applicaiton/x-bytecode.python', 'pyc'],\n ['application/x-bzip', 'bz'],\n ['application/x-bzip2', ['boz', 'bz2']],\n ['application/x-cdf', 'cdf'],\n ['application/x-cdlink', 'vcd'],\n ['application/x-chat', ['cha', 'chat']],\n ['application/x-chess-pgn', 'pgn'],\n ['application/x-cmu-raster', 'ras'],\n ['application/x-cocoa', 'cco'],\n ['application/x-compactpro', 'cpt'],\n ['application/x-compress', 'z'],\n ['application/x-compressed', ['tgz', 'gz', 'z', 'zip']],\n ['application/x-conference', 'nsc'],\n ['application/x-cpio', 'cpio'],\n ['application/x-cpt', 'cpt'],\n ['application/x-csh', 'csh'],\n ['application/x-debian-package', 'deb'],\n ['application/x-deepv', 'deepv'],\n ['application/x-director', ['dir', 'dcr', 'dxr']],\n ['application/x-doom', 'wad'],\n ['application/x-dtbncx+xml', 'ncx'],\n ['application/x-dtbook+xml', 'dtb'],\n ['application/x-dtbresource+xml', 'res'],\n ['application/x-dvi', 'dvi'],\n ['application/x-elc', 'elc'],\n ['application/x-envoy', ['env', 'evy']],\n ['application/x-esrehber', 'es'],\n ['application/x-excel', ['xls', 'xla', 'xlb', 'xlc', 'xld', 'xlk', 'xll', 'xlm', 'xlt', 'xlv', 'xlw']],\n ['application/x-font-bdf', 'bdf'],\n ['application/x-font-ghostscript', 'gsf'],\n ['application/x-font-linux-psf', 'psf'],\n ['application/x-font-otf', 'otf'],\n ['application/x-font-pcf', 'pcf'],\n ['application/x-font-snf', 'snf'],\n ['application/x-font-ttf', 'ttf'],\n ['application/x-font-type1', 'pfa'],\n ['application/x-font-woff', 'woff'],\n ['application/x-frame', 'mif'],\n ['application/x-freelance', 'pre'],\n ['application/x-futuresplash', 'spl'],\n ['application/x-gnumeric', 'gnumeric'],\n ['application/x-gsp', 'gsp'],\n ['application/x-gss', 'gss'],\n ['application/x-gtar', 'gtar'],\n ['application/x-gzip', ['gz', 'gzip']],\n ['application/x-hdf', 'hdf'],\n ['application/x-helpfile', ['help', 'hlp']],\n ['application/x-httpd-imap', 'imap'],\n ['application/x-ima', 'ima'],\n ['application/x-internet-signup', ['ins', 'isp']],\n ['application/x-internett-signup', 'ins'],\n ['application/x-inventor', 'iv'],\n ['application/x-ip2', 'ip'],\n ['application/x-iphone', 'iii'],\n ['application/x-java-class', 'class'],\n ['application/x-java-commerce', 'jcm'],\n ['application/x-java-jnlp-file', 'jnlp'],\n ['application/x-javascript', 'js'],\n ['application/x-koan', ['skd', 'skm', 'skp', 'skt']],\n ['application/x-ksh', 'ksh'],\n ['application/x-latex', ['latex', 'ltx']],\n ['application/x-lha', 'lha'],\n ['application/x-lisp', 'lsp'],\n ['application/x-livescreen', 'ivy'],\n ['application/x-lotus', 'wq1'],\n ['application/x-lotusscreencam', 'scm'],\n ['application/x-lzh', 'lzh'],\n ['application/x-lzx', 'lzx'],\n ['application/x-mac-binhex40', 'hqx'],\n ['application/x-macbinary', 'bin'],\n ['application/x-magic-cap-package-1.0', 'mc$'],\n ['application/x-mathcad', 'mcd'],\n ['application/x-meme', 'mm'],\n ['application/x-midi', ['mid', 'midi']],\n ['application/x-mif', 'mif'],\n ['application/x-mix-transfer', 'nix'],\n ['application/x-mobipocket-ebook', 'prc'],\n ['application/x-mplayer2', 'asx'],\n ['application/x-ms-application', 'application'],\n ['application/x-ms-wmd', 'wmd'],\n ['application/x-ms-wmz', 'wmz'],\n ['application/x-ms-xbap', 'xbap'],\n ['application/x-msaccess', 'mdb'],\n ['application/x-msbinder', 'obd'],\n ['application/x-mscardfile', 'crd'],\n ['application/x-msclip', 'clp'],\n ['application/x-msdownload', ['exe', 'dll']],\n ['application/x-msexcel', ['xls', 'xla', 'xlw']],\n ['application/x-msmediaview', ['mvb', 'm13', 'm14']],\n ['application/x-msmetafile', 'wmf'],\n ['application/x-msmoney', 'mny'],\n ['application/x-mspowerpoint', 'ppt'],\n ['application/x-mspublisher', 'pub'],\n ['application/x-msschedule', 'scd'],\n ['application/x-msterminal', 'trm'],\n ['application/x-mswrite', 'wri'],\n ['application/x-navi-animation', 'ani'],\n ['application/x-navidoc', 'nvd'],\n ['application/x-navimap', 'map'],\n ['application/x-navistyle', 'stl'],\n ['application/x-netcdf', ['cdf', 'nc']],\n ['application/x-newton-compatible-pkg', 'pkg'],\n ['application/x-nokia-9000-communicator-add-on-software', 'aos'],\n ['application/x-omc', 'omc'],\n ['application/x-omcdatamaker', 'omcd'],\n ['application/x-omcregerator', 'omcr'],\n ['application/x-pagemaker', ['pm4', 'pm5']],\n ['application/x-pcl', 'pcl'],\n ['application/x-perfmon', ['pma', 'pmc', 'pml', 'pmr', 'pmw']],\n ['application/x-pixclscript', 'plx'],\n ['application/x-pkcs10', 'p10'],\n ['application/x-pkcs12', ['p12', 'pfx']],\n ['application/x-pkcs7-certificates', ['p7b', 'spc']],\n ['application/x-pkcs7-certreqresp', 'p7r'],\n ['application/x-pkcs7-mime', ['p7m', 'p7c']],\n ['application/x-pkcs7-signature', ['p7s', 'p7a']],\n ['application/x-pointplus', 'css'],\n ['application/x-portable-anymap', 'pnm'],\n ['application/x-project', ['mpc', 'mpt', 'mpv', 'mpx']],\n ['application/x-qpro', 'wb1'],\n ['application/x-rar-compressed', 'rar'],\n ['application/x-rtf', 'rtf'],\n ['application/x-sdp', 'sdp'],\n ['application/x-sea', 'sea'],\n ['application/x-seelogo', 'sl'],\n ['application/x-sh', 'sh'],\n ['application/x-shar', ['shar', 'sh']],\n ['application/x-shockwave-flash', 'swf'],\n ['application/x-silverlight-app', 'xap'],\n ['application/x-sit', 'sit'],\n ['application/x-sprite', ['spr', 'sprite']],\n ['application/x-stuffit', 'sit'],\n ['application/x-stuffitx', 'sitx'],\n ['application/x-sv4cpio', 'sv4cpio'],\n ['application/x-sv4crc', 'sv4crc'],\n ['application/x-tar', 'tar'],\n ['application/x-tbook', ['sbk', 'tbk']],\n ['application/x-tcl', 'tcl'],\n ['application/x-tex', 'tex'],\n ['application/x-tex-tfm', 'tfm'],\n ['application/x-texinfo', ['texi', 'texinfo']],\n ['application/x-troff', ['roff', 't', 'tr']],\n ['application/x-troff-man', 'man'],\n ['application/x-troff-me', 'me'],\n ['application/x-troff-ms', 'ms'],\n ['application/x-troff-msvideo', 'avi'],\n ['application/x-ustar', 'ustar'],\n ['application/x-visio', ['vsd', 'vst', 'vsw']],\n ['application/x-vnd.audioexplosion.mzz', 'mzz'],\n ['application/x-vnd.ls-xpix', 'xpix'],\n ['application/x-vrml', 'vrml'],\n ['application/x-wais-source', ['src', 'wsrc']],\n ['application/x-winhelp', 'hlp'],\n ['application/x-wintalk', 'wtk'],\n ['application/x-world', ['wrl', 'svr']],\n ['application/x-wpwin', 'wpd'],\n ['application/x-wri', 'wri'],\n ['application/x-x509-ca-cert', ['cer', 'crt', 'der']],\n ['application/x-x509-user-cert', 'crt'],\n ['application/x-xfig', 'fig'],\n ['application/x-xpinstall', 'xpi'],\n ['application/x-zip-compressed', 'zip'],\n ['application/xcap-diff+xml', 'xdf'],\n ['application/xenc+xml', 'xenc'],\n ['application/xhtml+xml', 'xhtml'],\n ['application/xml', 'xml'],\n ['application/xml-dtd', 'dtd'],\n ['application/xop+xml', 'xop'],\n ['application/xslt+xml', 'xslt'],\n ['application/xspf+xml', 'xspf'],\n ['application/xv+xml', 'mxml'],\n ['application/yang', 'yang'],\n ['application/yin+xml', 'yin'],\n ['application/ynd.ms-pkipko', 'pko'],\n ['application/zip', 'zip'],\n ['audio/adpcm', 'adp'],\n ['audio/aiff', ['aiff', 'aif', 'aifc']],\n ['audio/basic', ['snd', 'au']],\n ['audio/it', 'it'],\n ['audio/make', ['funk', 'my', 'pfunk']],\n ['audio/make.my.funk', 'pfunk'],\n ['audio/mid', ['mid', 'rmi']],\n ['audio/midi', ['midi', 'kar', 'mid']],\n ['audio/mod', 'mod'],\n ['audio/mp4', 'mp4a'],\n ['audio/mpeg', ['mpga', 'mp3', 'm2a', 'mp2', 'mpa', 'mpg']],\n ['audio/mpeg3', 'mp3'],\n ['audio/nspaudio', ['la', 'lma']],\n ['audio/ogg', 'oga'],\n ['audio/s3m', 's3m'],\n ['audio/tsp-audio', 'tsi'],\n ['audio/tsplayer', 'tsp'],\n ['audio/vnd.dece.audio', 'uva'],\n ['audio/vnd.digital-winds', 'eol'],\n ['audio/vnd.dra', 'dra'],\n ['audio/vnd.dts', 'dts'],\n ['audio/vnd.dts.hd', 'dtshd'],\n ['audio/vnd.lucent.voice', 'lvp'],\n ['audio/vnd.ms-playready.media.pya', 'pya'],\n ['audio/vnd.nuera.ecelp4800', 'ecelp4800'],\n ['audio/vnd.nuera.ecelp7470', 'ecelp7470'],\n ['audio/vnd.nuera.ecelp9600', 'ecelp9600'],\n ['audio/vnd.qcelp', 'qcp'],\n ['audio/vnd.rip', 'rip'],\n ['audio/voc', 'voc'],\n ['audio/voxware', 'vox'],\n ['audio/wav', 'wav'],\n ['audio/webm', 'weba'],\n ['audio/x-aac', 'aac'],\n ['audio/x-adpcm', 'snd'],\n ['audio/x-aiff', ['aiff', 'aif', 'aifc']],\n ['audio/x-au', 'au'],\n ['audio/x-gsm', ['gsd', 'gsm']],\n ['audio/x-jam', 'jam'],\n ['audio/x-liveaudio', 'lam'],\n ['audio/x-mid', ['mid', 'midi']],\n ['audio/x-midi', ['midi', 'mid']],\n ['audio/x-mod', 'mod'],\n ['audio/x-mpeg', 'mp2'],\n ['audio/x-mpeg-3', 'mp3'],\n ['audio/x-mpegurl', 'm3u'],\n ['audio/x-mpequrl', 'm3u'],\n ['audio/x-ms-wax', 'wax'],\n ['audio/x-ms-wma', 'wma'],\n ['audio/x-nspaudio', ['la', 'lma']],\n ['audio/x-pn-realaudio', ['ra', 'ram', 'rm', 'rmm', 'rmp']],\n ['audio/x-pn-realaudio-plugin', ['ra', 'rmp', 'rpm']],\n ['audio/x-psid', 'sid'],\n ['audio/x-realaudio', 'ra'],\n ['audio/x-twinvq', 'vqf'],\n ['audio/x-twinvq-plugin', ['vqe', 'vql']],\n ['audio/x-vnd.audioexplosion.mjuicemediafile', 'mjf'],\n ['audio/x-voc', 'voc'],\n ['audio/x-wav', 'wav'],\n ['audio/xm', 'xm'],\n ['chemical/x-cdx', 'cdx'],\n ['chemical/x-cif', 'cif'],\n ['chemical/x-cmdf', 'cmdf'],\n ['chemical/x-cml', 'cml'],\n ['chemical/x-csml', 'csml'],\n ['chemical/x-pdb', ['pdb', 'xyz']],\n ['chemical/x-xyz', 'xyz'],\n ['drawing/x-dwf', 'dwf'],\n ['i-world/i-vrml', 'ivr'],\n ['image/bmp', ['bmp', 'bm']],\n ['image/cgm', 'cgm'],\n ['image/cis-cod', 'cod'],\n ['image/cmu-raster', ['ras', 'rast']],\n ['image/fif', 'fif'],\n ['image/florian', ['flo', 'turbot']],\n ['image/g3fax', 'g3'],\n ['image/gif', 'gif'],\n ['image/ief', ['ief', 'iefs']],\n ['image/jpeg', ['jpeg', 'jpe', 'jpg', 'jfif', 'jfif-tbnl']],\n ['image/jutvision', 'jut'],\n ['image/ktx', 'ktx'],\n ['image/naplps', ['nap', 'naplps']],\n ['image/pict', ['pic', 'pict']],\n ['image/pipeg', 'jfif'],\n ['image/pjpeg', ['jfif', 'jpe', 'jpeg', 'jpg']],\n ['image/png', ['png', 'x-png']],\n ['image/prs.btif', 'btif'],\n ['image/svg+xml', 'svg'],\n ['image/tiff', ['tif', 'tiff']],\n ['image/vasa', 'mcf'],\n ['image/vnd.adobe.photoshop', 'psd'],\n ['image/vnd.dece.graphic', 'uvi'],\n ['image/vnd.djvu', 'djvu'],\n ['image/vnd.dvb.subtitle', 'sub'],\n ['image/vnd.dwg', ['dwg', 'dxf', 'svf']],\n ['image/vnd.dxf', 'dxf'],\n ['image/vnd.fastbidsheet', 'fbs'],\n ['image/vnd.fpx', 'fpx'],\n ['image/vnd.fst', 'fst'],\n ['image/vnd.fujixerox.edmics-mmr', 'mmr'],\n ['image/vnd.fujixerox.edmics-rlc', 'rlc'],\n ['image/vnd.ms-modi', 'mdi'],\n ['image/vnd.net-fpx', ['fpx', 'npx']],\n ['image/vnd.rn-realflash', 'rf'],\n ['image/vnd.rn-realpix', 'rp'],\n ['image/vnd.wap.wbmp', 'wbmp'],\n ['image/vnd.xiff', 'xif'],\n ['image/webp', 'webp'],\n ['image/x-cmu-raster', 'ras'],\n ['image/x-cmx', 'cmx'],\n ['image/x-dwg', ['dwg', 'dxf', 'svf']],\n ['image/x-freehand', 'fh'],\n ['image/x-icon', 'ico'],\n ['image/x-jg', 'art'],\n ['image/x-jps', 'jps'],\n ['image/x-niff', ['niff', 'nif']],\n ['image/x-pcx', 'pcx'],\n ['image/x-pict', ['pct', 'pic']],\n ['image/x-portable-anymap', 'pnm'],\n ['image/x-portable-bitmap', 'pbm'],\n ['image/x-portable-graymap', 'pgm'],\n ['image/x-portable-greymap', 'pgm'],\n ['image/x-portable-pixmap', 'ppm'],\n ['image/x-quicktime', ['qif', 'qti', 'qtif']],\n ['image/x-rgb', 'rgb'],\n ['image/x-tiff', ['tif', 'tiff']],\n ['image/x-windows-bmp', 'bmp'],\n ['image/x-xbitmap', 'xbm'],\n ['image/x-xbm', 'xbm'],\n ['image/x-xpixmap', ['xpm', 'pm']],\n ['image/x-xwd', 'xwd'],\n ['image/x-xwindowdump', 'xwd'],\n ['image/xbm', 'xbm'],\n ['image/xpm', 'xpm'],\n ['message/rfc822', ['eml', 'mht', 'mhtml', 'nws', 'mime']],\n ['model/iges', ['iges', 'igs']],\n ['model/mesh', 'msh'],\n ['model/vnd.collada+xml', 'dae'],\n ['model/vnd.dwf', 'dwf'],\n ['model/vnd.gdl', 'gdl'],\n ['model/vnd.gtw', 'gtw'],\n ['model/vnd.mts', 'mts'],\n ['model/vnd.vtu', 'vtu'],\n ['model/vrml', ['vrml', 'wrl', 'wrz']],\n ['model/x-pov', 'pov'],\n ['multipart/x-gzip', 'gzip'],\n ['multipart/x-ustar', 'ustar'],\n ['multipart/x-zip', 'zip'],\n ['music/crescendo', ['mid', 'midi']],\n ['music/x-karaoke', 'kar'],\n ['paleovu/x-pv', 'pvu'],\n ['text/asp', 'asp'],\n ['text/calendar', 'ics'],\n ['text/css', 'css'],\n ['text/csv', 'csv'],\n ['text/ecmascript', 'js'],\n ['text/h323', '323'],\n ['text/html', ['html', 'htm', 'stm', 'acgi', 'htmls', 'htx', 'shtml']],\n ['text/iuls', 'uls'],\n ['text/javascript', 'js'],\n ['text/mcf', 'mcf'],\n ['text/n3', 'n3'],\n ['text/pascal', 'pas'],\n [\n 'text/plain',\n [\n 'txt',\n 'bas',\n 'c',\n 'h',\n 'c++',\n 'cc',\n 'com',\n 'conf',\n 'cxx',\n 'def',\n 'f',\n 'f90',\n 'for',\n 'g',\n 'hh',\n 'idc',\n 'jav',\n 'java',\n 'list',\n 'log',\n 'lst',\n 'm',\n 'mar',\n 'pl',\n 'sdml',\n 'text'\n ]\n ],\n ['text/plain-bas', 'par'],\n ['text/prs.lines.tag', 'dsc'],\n ['text/richtext', ['rtx', 'rt', 'rtf']],\n ['text/scriplet', 'wsc'],\n ['text/scriptlet', 'sct'],\n ['text/sgml', ['sgm', 'sgml']],\n ['text/tab-separated-values', 'tsv'],\n ['text/troff', 't'],\n ['text/turtle', 'ttl'],\n ['text/uri-list', ['uni', 'unis', 'uri', 'uris']],\n ['text/vnd.abc', 'abc'],\n ['text/vnd.curl', 'curl'],\n ['text/vnd.curl.dcurl', 'dcurl'],\n ['text/vnd.curl.mcurl', 'mcurl'],\n ['text/vnd.curl.scurl', 'scurl'],\n ['text/vnd.fly', 'fly'],\n ['text/vnd.fmi.flexstor', 'flx'],\n ['text/vnd.graphviz', 'gv'],\n ['text/vnd.in3d.3dml', '3dml'],\n ['text/vnd.in3d.spot', 'spot'],\n ['text/vnd.rn-realtext', 'rt'],\n ['text/vnd.sun.j2me.app-descriptor', 'jad'],\n ['text/vnd.wap.wml', 'wml'],\n ['text/vnd.wap.wmlscript', 'wmls'],\n ['text/webviewhtml', 'htt'],\n ['text/x-asm', ['asm', 's']],\n ['text/x-audiosoft-intra', 'aip'],\n ['text/x-c', ['c', 'cc', 'cpp']],\n ['text/x-component', 'htc'],\n ['text/x-fortran', ['for', 'f', 'f77', 'f90']],\n ['text/x-h', ['h', 'hh']],\n ['text/x-java-source', ['java', 'jav']],\n ['text/x-java-source,java', 'java'],\n ['text/x-la-asf', 'lsx'],\n ['text/x-m', 'm'],\n ['text/x-pascal', 'p'],\n ['text/x-script', 'hlb'],\n ['text/x-script.csh', 'csh'],\n ['text/x-script.elisp', 'el'],\n ['text/x-script.guile', 'scm'],\n ['text/x-script.ksh', 'ksh'],\n ['text/x-script.lisp', 'lsp'],\n ['text/x-script.perl', 'pl'],\n ['text/x-script.perl-module', 'pm'],\n ['text/x-script.phyton', 'py'],\n ['text/x-script.rexx', 'rexx'],\n ['text/x-script.scheme', 'scm'],\n ['text/x-script.sh', 'sh'],\n ['text/x-script.tcl', 'tcl'],\n ['text/x-script.tcsh', 'tcsh'],\n ['text/x-script.zsh', 'zsh'],\n ['text/x-server-parsed-html', ['shtml', 'ssi']],\n ['text/x-setext', 'etx'],\n ['text/x-sgml', ['sgm', 'sgml']],\n ['text/x-speech', ['spc', 'talk']],\n ['text/x-uil', 'uil'],\n ['text/x-uuencode', ['uu', 'uue']],\n ['text/x-vcalendar', 'vcs'],\n ['text/x-vcard', 'vcf'],\n ['text/xml', 'xml'],\n ['video/3gpp', '3gp'],\n ['video/3gpp2', '3g2'],\n ['video/animaflex', 'afl'],\n ['video/avi', 'avi'],\n ['video/avs-video', 'avs'],\n ['video/dl', 'dl'],\n ['video/fli', 'fli'],\n ['video/gl', 'gl'],\n ['video/h261', 'h261'],\n ['video/h263', 'h263'],\n ['video/h264', 'h264'],\n ['video/jpeg', 'jpgv'],\n ['video/jpm', 'jpm'],\n ['video/mj2', 'mj2'],\n ['video/mp4', 'mp4'],\n ['video/mpeg', ['mpeg', 'mp2', 'mpa', 'mpe', 'mpg', 'mpv2', 'm1v', 'm2v', 'mp3']],\n ['video/msvideo', 'avi'],\n ['video/ogg', 'ogv'],\n ['video/quicktime', ['mov', 'qt', 'moov']],\n ['video/vdo', 'vdo'],\n ['video/vivo', ['viv', 'vivo']],\n ['video/vnd.dece.hd', 'uvh'],\n ['video/vnd.dece.mobile', 'uvm'],\n ['video/vnd.dece.pd', 'uvp'],\n ['video/vnd.dece.sd', 'uvs'],\n ['video/vnd.dece.video', 'uvv'],\n ['video/vnd.fvt', 'fvt'],\n ['video/vnd.mpegurl', 'mxu'],\n ['video/vnd.ms-playready.media.pyv', 'pyv'],\n ['video/vnd.rn-realvideo', 'rv'],\n ['video/vnd.uvvu.mp4', 'uvu'],\n ['video/vnd.vivo', ['viv', 'vivo']],\n ['video/vosaic', 'vos'],\n ['video/webm', 'webm'],\n ['video/x-amt-demorun', 'xdr'],\n ['video/x-amt-showrun', 'xsr'],\n ['video/x-atomic3d-feature', 'fmf'],\n ['video/x-dl', 'dl'],\n ['video/x-dv', ['dif', 'dv']],\n ['video/x-f4v', 'f4v'],\n ['video/x-fli', 'fli'],\n ['video/x-flv', 'flv'],\n ['video/x-gl', 'gl'],\n ['video/x-isvideo', 'isu'],\n ['video/x-la-asf', ['lsf', 'lsx']],\n ['video/x-m4v', 'm4v'],\n ['video/x-motion-jpeg', 'mjpg'],\n ['video/x-mpeg', ['mp3', 'mp2']],\n ['video/x-mpeq2a', 'mp2'],\n ['video/x-ms-asf', ['asf', 'asr', 'asx']],\n ['video/x-ms-asf-plugin', 'asx'],\n ['video/x-ms-wm', 'wm'],\n ['video/x-ms-wmv', 'wmv'],\n ['video/x-ms-wmx', 'wmx'],\n ['video/x-ms-wvx', 'wvx'],\n ['video/x-msvideo', 'avi'],\n ['video/x-qtc', 'qtc'],\n ['video/x-scm', 'scm'],\n ['video/x-sgi-movie', ['movie', 'mv']],\n ['windows/metafile', 'wmf'],\n ['www/mime', 'mime'],\n ['x-conference/x-cooltalk', 'ice'],\n ['x-music/x-midi', ['mid', 'midi']],\n ['x-world/x-3dmf', ['3dm', '3dmf', 'qd3', 'qd3d']],\n ['x-world/x-svr', 'svr'],\n ['x-world/x-vrml', ['flr', 'vrml', 'wrl', 'wrz', 'xaf', 'xof']],\n ['x-world/x-vrt', 'vrt'],\n ['xgl/drawing', 'xgz'],\n ['xgl/movie', 'xmz']\n]);\nconst extensions = new Map([\n ['123', 'application/vnd.lotus-1-2-3'],\n ['323', 'text/h323'],\n ['*', 'application/octet-stream'],\n ['3dm', 'x-world/x-3dmf'],\n ['3dmf', 'x-world/x-3dmf'],\n ['3dml', 'text/vnd.in3d.3dml'],\n ['3g2', 'video/3gpp2'],\n ['3gp', 'video/3gpp'],\n ['7z', 'application/x-7z-compressed'],\n ['a', 'application/octet-stream'],\n ['aab', 'application/x-authorware-bin'],\n ['aac', 'audio/x-aac'],\n ['aam', 'application/x-authorware-map'],\n ['aas', 'application/x-authorware-seg'],\n ['abc', 'text/vnd.abc'],\n ['abw', 'application/x-abiword'],\n ['ac', 'application/pkix-attr-cert'],\n ['acc', 'application/vnd.americandynamics.acc'],\n ['ace', 'application/x-ace-compressed'],\n ['acgi', 'text/html'],\n ['acu', 'application/vnd.acucobol'],\n ['acx', 'application/internet-property-stream'],\n ['adp', 'audio/adpcm'],\n ['aep', 'application/vnd.audiograph'],\n ['afl', 'video/animaflex'],\n ['afp', 'application/vnd.ibm.modcap'],\n ['ahead', 'application/vnd.ahead.space'],\n ['ai', 'application/postscript'],\n ['aif', ['audio/aiff', 'audio/x-aiff']],\n ['aifc', ['audio/aiff', 'audio/x-aiff']],\n ['aiff', ['audio/aiff', 'audio/x-aiff']],\n ['aim', 'application/x-aim'],\n ['aip', 'text/x-audiosoft-intra'],\n ['air', 'application/vnd.adobe.air-application-installer-package+zip'],\n ['ait', 'application/vnd.dvb.ait'],\n ['ami', 'application/vnd.amiga.ami'],\n ['ani', 'application/x-navi-animation'],\n ['aos', 'application/x-nokia-9000-communicator-add-on-software'],\n ['apk', 'application/vnd.android.package-archive'],\n ['application', 'application/x-ms-application'],\n ['apr', 'application/vnd.lotus-approach'],\n ['aps', 'application/mime'],\n ['arc', 'application/octet-stream'],\n ['arj', ['application/arj', 'application/octet-stream']],\n ['art', 'image/x-jg'],\n ['asf', 'video/x-ms-asf'],\n ['asm', 'text/x-asm'],\n ['aso', 'application/vnd.accpac.simply.aso'],\n ['asp', 'text/asp'],\n ['asr', 'video/x-ms-asf'],\n ['asx', ['video/x-ms-asf', 'application/x-mplayer2', 'video/x-ms-asf-plugin']],\n ['atc', 'application/vnd.acucorp'],\n ['atomcat', 'application/atomcat+xml'],\n ['atomsvc', 'application/atomsvc+xml'],\n ['atx', 'application/vnd.antix.game-component'],\n ['au', ['audio/basic', 'audio/x-au']],\n ['avi', ['video/avi', 'video/msvideo', 'application/x-troff-msvideo', 'video/x-msvideo']],\n ['avs', 'video/avs-video'],\n ['aw', 'application/applixware'],\n ['axs', 'application/olescript'],\n ['azf', 'application/vnd.airzip.filesecure.azf'],\n ['azs', 'application/vnd.airzip.filesecure.azs'],\n ['azw', 'application/vnd.amazon.ebook'],\n ['bas', 'text/plain'],\n ['bcpio', 'application/x-bcpio'],\n ['bdf', 'application/x-font-bdf'],\n ['bdm', 'application/vnd.syncml.dm+wbxml'],\n ['bed', 'application/vnd.realvnc.bed'],\n ['bh2', 'application/vnd.fujitsu.oasysprs'],\n ['bin', ['application/octet-stream', 'application/mac-binary', 'application/macbinary', 'application/x-macbinary', 'application/x-binary']],\n ['bm', 'image/bmp'],\n ['bmi', 'application/vnd.bmi'],\n ['bmp', ['image/bmp', 'image/x-windows-bmp']],\n ['boo', 'application/book'],\n ['book', 'application/book'],\n ['box', 'application/vnd.previewsystems.box'],\n ['boz', 'application/x-bzip2'],\n ['bsh', 'application/x-bsh'],\n ['btif', 'image/prs.btif'],\n ['bz', 'application/x-bzip'],\n ['bz2', 'application/x-bzip2'],\n ['c', ['text/plain', 'text/x-c']],\n ['c++', 'text/plain'],\n ['c11amc', 'application/vnd.cluetrust.cartomobile-config'],\n ['c11amz', 'application/vnd.cluetrust.cartomobile-config-pkg'],\n ['c4g', 'application/vnd.clonk.c4group'],\n ['cab', 'application/vnd.ms-cab-compressed'],\n ['car', 'application/vnd.curl.car'],\n ['cat', ['application/vnd.ms-pkiseccat', 'application/vnd.ms-pki.seccat']],\n ['cc', ['text/plain', 'text/x-c']],\n ['ccad', 'application/clariscad'],\n ['cco', 'application/x-cocoa'],\n ['ccxml', 'application/ccxml+xml,'],\n ['cdbcmsg', 'application/vnd.contact.cmsg'],\n ['cdf', ['application/cdf', 'application/x-cdf', 'application/x-netcdf']],\n ['cdkey', 'application/vnd.mediastation.cdkey'],\n ['cdmia', 'application/cdmi-capability'],\n ['cdmic', 'application/cdmi-container'],\n ['cdmid', 'application/cdmi-domain'],\n ['cdmio', 'application/cdmi-object'],\n ['cdmiq', 'application/cdmi-queue'],\n ['cdx', 'chemical/x-cdx'],\n ['cdxml', 'application/vnd.chemdraw+xml'],\n ['cdy', 'application/vnd.cinderella'],\n ['cer', ['application/pkix-cert', 'application/x-x509-ca-cert']],\n ['cgm', 'image/cgm'],\n ['cha', 'application/x-chat'],\n ['chat', 'application/x-chat'],\n ['chm', 'application/vnd.ms-htmlhelp'],\n ['chrt', 'application/vnd.kde.kchart'],\n ['cif', 'chemical/x-cif'],\n ['cii', 'application/vnd.anser-web-certificate-issue-initiation'],\n ['cil', 'application/vnd.ms-artgalry'],\n ['cla', 'application/vnd.claymore'],\n ['class', ['application/octet-stream', 'application/java', 'application/java-byte-code', 'application/java-vm', 'application/x-java-class']],\n ['clkk', 'application/vnd.crick.clicker.keyboard'],\n ['clkp', 'application/vnd.crick.clicker.palette'],\n ['clkt', 'application/vnd.crick.clicker.template'],\n ['clkw', 'application/vnd.crick.clicker.wordbank'],\n ['clkx', 'application/vnd.crick.clicker'],\n ['clp', 'application/x-msclip'],\n ['cmc', 'application/vnd.cosmocaller'],\n ['cmdf', 'chemical/x-cmdf'],\n ['cml', 'chemical/x-cml'],\n ['cmp', 'application/vnd.yellowriver-custom-menu'],\n ['cmx', 'image/x-cmx'],\n ['cod', ['image/cis-cod', 'application/vnd.rim.cod']],\n ['com', ['application/octet-stream', 'text/plain']],\n ['conf', 'text/plain'],\n ['cpio', 'application/x-cpio'],\n ['cpp', 'text/x-c'],\n ['cpt', ['application/mac-compactpro', 'application/x-compactpro', 'application/x-cpt']],\n ['crd', 'application/x-mscardfile'],\n ['crl', ['application/pkix-crl', 'application/pkcs-crl']],\n ['crt', ['application/pkix-cert', 'application/x-x509-user-cert', 'application/x-x509-ca-cert']],\n ['cryptonote', 'application/vnd.rig.cryptonote'],\n ['csh', ['text/x-script.csh', 'application/x-csh']],\n ['csml', 'chemical/x-csml'],\n ['csp', 'application/vnd.commonspace'],\n ['css', ['text/css', 'application/x-pointplus']],\n ['csv', 'text/csv'],\n ['cu', 'application/cu-seeme'],\n ['curl', 'text/vnd.curl'],\n ['cww', 'application/prs.cww'],\n ['cxx', 'text/plain'],\n ['dae', 'model/vnd.collada+xml'],\n ['daf', 'application/vnd.mobius.daf'],\n ['davmount', 'application/davmount+xml'],\n ['dcr', 'application/x-director'],\n ['dcurl', 'text/vnd.curl.dcurl'],\n ['dd2', 'application/vnd.oma.dd2+xml'],\n ['ddd', 'application/vnd.fujixerox.ddd'],\n ['deb', 'application/x-debian-package'],\n ['deepv', 'application/x-deepv'],\n ['def', 'text/plain'],\n ['der', 'application/x-x509-ca-cert'],\n ['dfac', 'application/vnd.dreamfactory'],\n ['dif', 'video/x-dv'],\n ['dir', 'application/x-director'],\n ['dis', 'application/vnd.mobius.dis'],\n ['djvu', 'image/vnd.djvu'],\n ['dl', ['video/dl', 'video/x-dl']],\n ['dll', 'application/x-msdownload'],\n ['dms', 'application/octet-stream'],\n ['dna', 'application/vnd.dna'],\n ['doc', 'application/msword'],\n ['docm', 'application/vnd.ms-word.document.macroenabled.12'],\n ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],\n ['dot', 'application/msword'],\n ['dotm', 'application/vnd.ms-word.template.macroenabled.12'],\n ['dotx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.template'],\n ['dp', ['application/commonground', 'application/vnd.osgi.dp']],\n ['dpg', 'application/vnd.dpgraph'],\n ['dra', 'audio/vnd.dra'],\n ['drw', 'application/drafting'],\n ['dsc', 'text/prs.lines.tag'],\n ['dssc', 'application/dssc+der'],\n ['dtb', 'application/x-dtbook+xml'],\n ['dtd', 'application/xml-dtd'],\n ['dts', 'audio/vnd.dts'],\n ['dtshd', 'audio/vnd.dts.hd'],\n ['dump', 'application/octet-stream'],\n ['dv', 'video/x-dv'],\n ['dvi', 'application/x-dvi'],\n ['dwf', ['model/vnd.dwf', 'drawing/x-dwf']],\n ['dwg', ['application/acad', 'image/vnd.dwg', 'image/x-dwg']],\n ['dxf', ['application/dxf', 'image/vnd.dwg', 'image/vnd.dxf', 'image/x-dwg']],\n ['dxp', 'application/vnd.spotfire.dxp'],\n ['dxr', 'application/x-director'],\n ['ecelp4800', 'audio/vnd.nuera.ecelp4800'],\n ['ecelp7470', 'audio/vnd.nuera.ecelp7470'],\n ['ecelp9600', 'audio/vnd.nuera.ecelp9600'],\n ['edm', 'application/vnd.novadigm.edm'],\n ['edx', 'application/vnd.novadigm.edx'],\n ['efif', 'application/vnd.picsel'],\n ['ei6', 'application/vnd.pg.osasli'],\n ['el', 'text/x-script.elisp'],\n ['elc', ['application/x-elc', 'application/x-bytecode.elisp']],\n ['eml', 'message/rfc822'],\n ['emma', 'application/emma+xml'],\n ['env', 'application/x-envoy'],\n ['eol', 'audio/vnd.digital-winds'],\n ['eot', 'application/vnd.ms-fontobject'],\n ['eps', 'application/postscript'],\n ['epub', 'application/epub+zip'],\n ['es', ['application/ecmascript', 'application/x-esrehber']],\n ['es3', 'application/vnd.eszigno3+xml'],\n ['esf', 'application/vnd.epson.esf'],\n ['etx', 'text/x-setext'],\n ['evy', ['application/envoy', 'application/x-envoy']],\n ['exe', ['application/octet-stream', 'application/x-msdownload']],\n ['exi', 'application/exi'],\n ['ext', 'application/vnd.novadigm.ext'],\n ['ez2', 'application/vnd.ezpix-album'],\n ['ez3', 'application/vnd.ezpix-package'],\n ['f', ['text/plain', 'text/x-fortran']],\n ['f4v', 'video/x-f4v'],\n ['f77', 'text/x-fortran'],\n ['f90', ['text/plain', 'text/x-fortran']],\n ['fbs', 'image/vnd.fastbidsheet'],\n ['fcs', 'application/vnd.isac.fcs'],\n ['fdf', 'application/vnd.fdf'],\n ['fe_launch', 'application/vnd.denovo.fcselayout-link'],\n ['fg5', 'application/vnd.fujitsu.oasysgp'],\n ['fh', 'image/x-freehand'],\n ['fif', ['application/fractals', 'image/fif']],\n ['fig', 'application/x-xfig'],\n ['fli', ['video/fli', 'video/x-fli']],\n ['flo', ['image/florian', 'application/vnd.micrografx.flo']],\n ['flr', 'x-world/x-vrml'],\n ['flv', 'video/x-flv'],\n ['flw', 'application/vnd.kde.kivio'],\n ['flx', 'text/vnd.fmi.flexstor'],\n ['fly', 'text/vnd.fly'],\n ['fm', 'application/vnd.framemaker'],\n ['fmf', 'video/x-atomic3d-feature'],\n ['fnc', 'application/vnd.frogans.fnc'],\n ['for', ['text/plain', 'text/x-fortran']],\n ['fpx', ['image/vnd.fpx', 'image/vnd.net-fpx']],\n ['frl', 'application/freeloader'],\n ['fsc', 'application/vnd.fsc.weblaunch'],\n ['fst', 'image/vnd.fst'],\n ['ftc', 'application/vnd.fluxtime.clip'],\n ['fti', 'application/vnd.anser-web-funds-transfer-initiation'],\n ['funk', 'audio/make'],\n ['fvt', 'video/vnd.fvt'],\n ['fxp', 'application/vnd.adobe.fxp'],\n ['fzs', 'application/vnd.fuzzysheet'],\n ['g', 'text/plain'],\n ['g2w', 'application/vnd.geoplan'],\n ['g3', 'image/g3fax'],\n ['g3w', 'application/vnd.geospace'],\n ['gac', 'application/vnd.groove-account'],\n ['gdl', 'model/vnd.gdl'],\n ['geo', 'application/vnd.dynageo'],\n ['gex', 'application/vnd.geometry-explorer'],\n ['ggb', 'application/vnd.geogebra.file'],\n ['ggt', 'application/vnd.geogebra.tool'],\n ['ghf', 'application/vnd.groove-help'],\n ['gif', 'image/gif'],\n ['gim', 'application/vnd.groove-identity-message'],\n ['gl', ['video/gl', 'video/x-gl']],\n ['gmx', 'application/vnd.gmx'],\n ['gnumeric', 'application/x-gnumeric'],\n ['gph', 'application/vnd.flographit'],\n ['gqf', 'application/vnd.grafeq'],\n ['gram', 'application/srgs'],\n ['grv', 'application/vnd.groove-injector'],\n ['grxml', 'application/srgs+xml'],\n ['gsd', 'audio/x-gsm'],\n ['gsf', 'application/x-font-ghostscript'],\n ['gsm', 'audio/x-gsm'],\n ['gsp', 'application/x-gsp'],\n ['gss', 'application/x-gss'],\n ['gtar', 'application/x-gtar'],\n ['gtm', 'application/vnd.groove-tool-message'],\n ['gtw', 'model/vnd.gtw'],\n ['gv', 'text/vnd.graphviz'],\n ['gxt', 'application/vnd.geonext'],\n ['gz', ['application/x-gzip', 'application/x-compressed']],\n ['gzip', ['multipart/x-gzip', 'application/x-gzip']],\n ['h', ['text/plain', 'text/x-h']],\n ['h261', 'video/h261'],\n ['h263', 'video/h263'],\n ['h264', 'video/h264'],\n ['hal', 'application/vnd.hal+xml'],\n ['hbci', 'application/vnd.hbci'],\n ['hdf', 'application/x-hdf'],\n ['help', 'application/x-helpfile'],\n ['hgl', 'application/vnd.hp-hpgl'],\n ['hh', ['text/plain', 'text/x-h']],\n ['hlb', 'text/x-script'],\n ['hlp', ['application/winhlp', 'application/hlp', 'application/x-helpfile', 'application/x-winhelp']],\n ['hpg', 'application/vnd.hp-hpgl'],\n ['hpgl', 'application/vnd.hp-hpgl'],\n ['hpid', 'application/vnd.hp-hpid'],\n ['hps', 'application/vnd.hp-hps'],\n [\n 'hqx',\n [\n 'application/mac-binhex40',\n 'application/binhex',\n 'application/binhex4',\n 'application/mac-binhex',\n 'application/x-binhex40',\n 'application/x-mac-binhex40'\n ]\n ],\n ['hta', 'application/hta'],\n ['htc', 'text/x-component'],\n ['htke', 'application/vnd.kenameaapp'],\n ['htm', 'text/html'],\n ['html', 'text/html'],\n ['htmls', 'text/html'],\n ['htt', 'text/webviewhtml'],\n ['htx', 'text/html'],\n ['hvd', 'application/vnd.yamaha.hv-dic'],\n ['hvp', 'application/vnd.yamaha.hv-voice'],\n ['hvs', 'application/vnd.yamaha.hv-script'],\n ['i2g', 'application/vnd.intergeo'],\n ['icc', 'application/vnd.iccprofile'],\n ['ice', 'x-conference/x-cooltalk'],\n ['ico', 'image/x-icon'],\n ['ics', 'text/calendar'],\n ['idc', 'text/plain'],\n ['ief', 'image/ief'],\n ['iefs', 'image/ief'],\n ['ifm', 'application/vnd.shana.informed.formdata'],\n ['iges', ['application/iges', 'model/iges']],\n ['igl', 'application/vnd.igloader'],\n ['igm', 'application/vnd.insors.igm'],\n ['igs', ['application/iges', 'model/iges']],\n ['igx', 'application/vnd.micrografx.igx'],\n ['iif', 'application/vnd.shana.informed.interchange'],\n ['iii', 'application/x-iphone'],\n ['ima', 'application/x-ima'],\n ['imap', 'application/x-httpd-imap'],\n ['imp', 'application/vnd.accpac.simply.imp'],\n ['ims', 'application/vnd.ms-ims'],\n ['inf', 'application/inf'],\n ['ins', ['application/x-internet-signup', 'application/x-internett-signup']],\n ['ip', 'application/x-ip2'],\n ['ipfix', 'application/ipfix'],\n ['ipk', 'application/vnd.shana.informed.package'],\n ['irm', 'application/vnd.ibm.rights-management'],\n ['irp', 'application/vnd.irepository.package+xml'],\n ['isp', 'application/x-internet-signup'],\n ['isu', 'video/x-isvideo'],\n ['it', 'audio/it'],\n ['itp', 'application/vnd.shana.informed.formtemplate'],\n ['iv', 'application/x-inventor'],\n ['ivp', 'application/vnd.immervision-ivp'],\n ['ivr', 'i-world/i-vrml'],\n ['ivu', 'application/vnd.immervision-ivu'],\n ['ivy', 'application/x-livescreen'],\n ['jad', 'text/vnd.sun.j2me.app-descriptor'],\n ['jam', ['application/vnd.jam', 'audio/x-jam']],\n ['jar', 'application/java-archive'],\n ['jav', ['text/plain', 'text/x-java-source']],\n ['java', ['text/plain', 'text/x-java-source,java', 'text/x-java-source']],\n ['jcm', 'application/x-java-commerce'],\n ['jfif', ['image/pipeg', 'image/jpeg', 'image/pjpeg']],\n ['jfif-tbnl', 'image/jpeg'],\n ['jisp', 'application/vnd.jisp'],\n ['jlt', 'application/vnd.hp-jlyt'],\n ['jnlp', 'application/x-java-jnlp-file'],\n ['joda', 'application/vnd.joost.joda-archive'],\n ['jpe', ['image/jpeg', 'image/pjpeg']],\n ['jpeg', ['image/jpeg', 'image/pjpeg']],\n ['jpg', ['image/jpeg', 'image/pjpeg']],\n ['jpgv', 'video/jpeg'],\n ['jpm', 'video/jpm'],\n ['jps', 'image/x-jps'],\n ['js', ['application/javascript', 'application/ecmascript', 'text/javascript', 'text/ecmascript', 'application/x-javascript']],\n ['json', 'application/json'],\n ['jut', 'image/jutvision'],\n ['kar', ['audio/midi', 'music/x-karaoke']],\n ['karbon', 'application/vnd.kde.karbon'],\n ['kfo', 'application/vnd.kde.kformula'],\n ['kia', 'application/vnd.kidspiration'],\n ['kml', 'application/vnd.google-earth.kml+xml'],\n ['kmz', 'application/vnd.google-earth.kmz'],\n ['kne', 'application/vnd.kinar'],\n ['kon', 'application/vnd.kde.kontour'],\n ['kpr', 'application/vnd.kde.kpresenter'],\n ['ksh', ['application/x-ksh', 'text/x-script.ksh']],\n ['ksp', 'application/vnd.kde.kspread'],\n ['ktx', 'image/ktx'],\n ['ktz', 'application/vnd.kahootz'],\n ['kwd', 'application/vnd.kde.kword'],\n ['la', ['audio/nspaudio', 'audio/x-nspaudio']],\n ['lam', 'audio/x-liveaudio'],\n ['lasxml', 'application/vnd.las.las+xml'],\n ['latex', 'application/x-latex'],\n ['lbd', 'application/vnd.llamagraphics.life-balance.desktop'],\n ['lbe', 'application/vnd.llamagraphics.life-balance.exchange+xml'],\n ['les', 'application/vnd.hhe.lesson-player'],\n ['lha', ['application/octet-stream', 'application/lha', 'application/x-lha']],\n ['lhx', 'application/octet-stream'],\n ['link66', 'application/vnd.route66.link66+xml'],\n ['list', 'text/plain'],\n ['lma', ['audio/nspaudio', 'audio/x-nspaudio']],\n ['log', 'text/plain'],\n ['lrm', 'application/vnd.ms-lrm'],\n ['lsf', 'video/x-la-asf'],\n ['lsp', ['application/x-lisp', 'text/x-script.lisp']],\n ['lst', 'text/plain'],\n ['lsx', ['video/x-la-asf', 'text/x-la-asf']],\n ['ltf', 'application/vnd.frogans.ltf'],\n ['ltx', 'application/x-latex'],\n ['lvp', 'audio/vnd.lucent.voice'],\n ['lwp', 'application/vnd.lotus-wordpro'],\n ['lzh', ['application/octet-stream', 'application/x-lzh']],\n ['lzx', ['application/lzx', 'application/octet-stream', 'application/x-lzx']],\n ['m', ['text/plain', 'text/x-m']],\n ['m13', 'application/x-msmediaview'],\n ['m14', 'application/x-msmediaview'],\n ['m1v', 'video/mpeg'],\n ['m21', 'application/mp21'],\n ['m2a', 'audio/mpeg'],\n ['m2v', 'video/mpeg'],\n ['m3u', ['audio/x-mpegurl', 'audio/x-mpequrl']],\n ['m3u8', 'application/vnd.apple.mpegurl'],\n ['m4v', 'video/x-m4v'],\n ['ma', 'application/mathematica'],\n ['mads', 'application/mads+xml'],\n ['mag', 'application/vnd.ecowin.chart'],\n ['man', 'application/x-troff-man'],\n ['map', 'application/x-navimap'],\n ['mar', 'text/plain'],\n ['mathml', 'application/mathml+xml'],\n ['mbd', 'application/mbedlet'],\n ['mbk', 'application/vnd.mobius.mbk'],\n ['mbox', 'application/mbox'],\n ['mc$', 'application/x-magic-cap-package-1.0'],\n ['mc1', 'application/vnd.medcalcdata'],\n ['mcd', ['application/mcad', 'application/vnd.mcd', 'application/x-mathcad']],\n ['mcf', ['image/vasa', 'text/mcf']],\n ['mcp', 'application/netmc'],\n ['mcurl', 'text/vnd.curl.mcurl'],\n ['mdb', 'application/x-msaccess'],\n ['mdi', 'image/vnd.ms-modi'],\n ['me', 'application/x-troff-me'],\n ['meta4', 'application/metalink4+xml'],\n ['mets', 'application/mets+xml'],\n ['mfm', 'application/vnd.mfmp'],\n ['mgp', 'application/vnd.osgeo.mapguide.package'],\n ['mgz', 'application/vnd.proteus.magazine'],\n ['mht', 'message/rfc822'],\n ['mhtml', 'message/rfc822'],\n ['mid', ['audio/mid', 'audio/midi', 'music/crescendo', 'x-music/x-midi', 'audio/x-midi', 'application/x-midi', 'audio/x-mid']],\n ['midi', ['audio/midi', 'music/crescendo', 'x-music/x-midi', 'audio/x-midi', 'application/x-midi', 'audio/x-mid']],\n ['mif', ['application/vnd.mif', 'application/x-mif', 'application/x-frame']],\n ['mime', ['message/rfc822', 'www/mime']],\n ['mj2', 'video/mj2'],\n ['mjf', 'audio/x-vnd.audioexplosion.mjuicemediafile'],\n ['mjpg', 'video/x-motion-jpeg'],\n ['mlp', 'application/vnd.dolby.mlp'],\n ['mm', ['application/base64', 'application/x-meme']],\n ['mmd', 'application/vnd.chipnuts.karaoke-mmd'],\n ['mme', 'application/base64'],\n ['mmf', 'application/vnd.smaf'],\n ['mmr', 'image/vnd.fujixerox.edmics-mmr'],\n ['mny', 'application/x-msmoney'],\n ['mod', ['audio/mod', 'audio/x-mod']],\n ['mods', 'application/mods+xml'],\n ['moov', 'video/quicktime'],\n ['mov', 'video/quicktime'],\n ['movie', 'video/x-sgi-movie'],\n ['mp2', ['video/mpeg', 'audio/mpeg', 'video/x-mpeg', 'audio/x-mpeg', 'video/x-mpeq2a']],\n ['mp3', ['audio/mpeg', 'audio/mpeg3', 'video/mpeg', 'audio/x-mpeg-3', 'video/x-mpeg']],\n ['mp4', ['video/mp4', 'application/mp4']],\n ['mp4a', 'audio/mp4'],\n ['mpa', ['video/mpeg', 'audio/mpeg']],\n ['mpc', ['application/vnd.mophun.certificate', 'application/x-project']],\n ['mpe', 'video/mpeg'],\n ['mpeg', 'video/mpeg'],\n ['mpg', ['video/mpeg', 'audio/mpeg']],\n ['mpga', 'audio/mpeg'],\n ['mpkg', 'application/vnd.apple.installer+xml'],\n ['mpm', 'application/vnd.blueice.multipass'],\n ['mpn', 'application/vnd.mophun.application'],\n ['mpp', 'application/vnd.ms-project'],\n ['mpt', 'application/x-project'],\n ['mpv', 'application/x-project'],\n ['mpv2', 'video/mpeg'],\n ['mpx', 'application/x-project'],\n ['mpy', 'application/vnd.ibm.minipay'],\n ['mqy', 'application/vnd.mobius.mqy'],\n ['mrc', 'application/marc'],\n ['mrcx', 'application/marcxml+xml'],\n ['ms', 'application/x-troff-ms'],\n ['mscml', 'application/mediaservercontrol+xml'],\n ['mseq', 'application/vnd.mseq'],\n ['msf', 'application/vnd.epson.msf'],\n ['msg', 'application/vnd.ms-outlook'],\n ['msh', 'model/mesh'],\n ['msl', 'application/vnd.mobius.msl'],\n ['msty', 'application/vnd.muvee.style'],\n ['mts', 'model/vnd.mts'],\n ['mus', 'application/vnd.musician'],\n ['musicxml', 'application/vnd.recordare.musicxml+xml'],\n ['mv', 'video/x-sgi-movie'],\n ['mvb', 'application/x-msmediaview'],\n ['mwf', 'application/vnd.mfer'],\n ['mxf', 'application/mxf'],\n ['mxl', 'application/vnd.recordare.musicxml'],\n ['mxml', 'application/xv+xml'],\n ['mxs', 'application/vnd.triscape.mxs'],\n ['mxu', 'video/vnd.mpegurl'],\n ['my', 'audio/make'],\n ['mzz', 'application/x-vnd.audioexplosion.mzz'],\n ['n-gage', 'application/vnd.nokia.n-gage.symbian.install'],\n ['n3', 'text/n3'],\n ['nap', 'image/naplps'],\n ['naplps', 'image/naplps'],\n ['nbp', 'application/vnd.wolfram.player'],\n ['nc', 'application/x-netcdf'],\n ['ncm', 'application/vnd.nokia.configuration-message'],\n ['ncx', 'application/x-dtbncx+xml'],\n ['ngdat', 'application/vnd.nokia.n-gage.data'],\n ['nif', 'image/x-niff'],\n ['niff', 'image/x-niff'],\n ['nix', 'application/x-mix-transfer'],\n ['nlu', 'application/vnd.neurolanguage.nlu'],\n ['nml', 'application/vnd.enliven'],\n ['nnd', 'application/vnd.noblenet-directory'],\n ['nns', 'application/vnd.noblenet-sealer'],\n ['nnw', 'application/vnd.noblenet-web'],\n ['npx', 'image/vnd.net-fpx'],\n ['nsc', 'application/x-conference'],\n ['nsf', 'application/vnd.lotus-notes'],\n ['nvd', 'application/x-navidoc'],\n ['nws', 'message/rfc822'],\n ['o', 'application/octet-stream'],\n ['oa2', 'application/vnd.fujitsu.oasys2'],\n ['oa3', 'application/vnd.fujitsu.oasys3'],\n ['oas', 'application/vnd.fujitsu.oasys'],\n ['obd', 'application/x-msbinder'],\n ['oda', 'application/oda'],\n ['odb', 'application/vnd.oasis.opendocument.database'],\n ['odc', 'application/vnd.oasis.opendocument.chart'],\n ['odf', 'application/vnd.oasis.opendocument.formula'],\n ['odft', 'application/vnd.oasis.opendocument.formula-template'],\n ['odg', 'application/vnd.oasis.opendocument.graphics'],\n ['odi', 'application/vnd.oasis.opendocument.image'],\n ['odm', 'application/vnd.oasis.opendocument.text-master'],\n ['odp', 'application/vnd.oasis.opendocument.presentation'],\n ['ods', 'application/vnd.oasis.opendocument.spreadsheet'],\n ['odt', 'application/vnd.oasis.opendocument.text'],\n ['oga', 'audio/ogg'],\n ['ogv', 'video/ogg'],\n ['ogx', 'application/ogg'],\n ['omc', 'application/x-omc'],\n ['omcd', 'application/x-omcdatamaker'],\n ['omcr', 'application/x-omcregerator'],\n ['onetoc', 'application/onenote'],\n ['opf', 'application/oebps-package+xml'],\n ['org', 'application/vnd.lotus-organizer'],\n ['osf', 'application/vnd.yamaha.openscoreformat'],\n ['osfpvg', 'application/vnd.yamaha.openscoreformat.osfpvg+xml'],\n ['otc', 'application/vnd.oasis.opendocument.chart-template'],\n ['otf', 'application/x-font-otf'],\n ['otg', 'application/vnd.oasis.opendocument.graphics-template'],\n ['oth', 'application/vnd.oasis.opendocument.text-web'],\n ['oti', 'application/vnd.oasis.opendocument.image-template'],\n ['otp', 'application/vnd.oasis.opendocument.presentation-template'],\n ['ots', 'application/vnd.oasis.opendocument.spreadsheet-template'],\n ['ott', 'application/vnd.oasis.opendocument.text-template'],\n ['oxt', 'application/vnd.openofficeorg.extension'],\n ['p', 'text/x-pascal'],\n ['p10', ['application/pkcs10', 'application/x-pkcs10']],\n ['p12', ['application/pkcs-12', 'application/x-pkcs12']],\n ['p7a', 'application/x-pkcs7-signature'],\n ['p7b', 'application/x-pkcs7-certificates'],\n ['p7c', ['application/pkcs7-mime', 'application/x-pkcs7-mime']],\n ['p7m', ['application/pkcs7-mime', 'application/x-pkcs7-mime']],\n ['p7r', 'application/x-pkcs7-certreqresp'],\n ['p7s', ['application/pkcs7-signature', 'application/x-pkcs7-signature']],\n ['p8', 'application/pkcs8'],\n ['par', 'text/plain-bas'],\n ['part', 'application/pro_eng'],\n ['pas', 'text/pascal'],\n ['paw', 'application/vnd.pawaafile'],\n ['pbd', 'application/vnd.powerbuilder6'],\n ['pbm', 'image/x-portable-bitmap'],\n ['pcf', 'application/x-font-pcf'],\n ['pcl', ['application/vnd.hp-pcl', 'application/x-pcl']],\n ['pclxl', 'application/vnd.hp-pclxl'],\n ['pct', 'image/x-pict'],\n ['pcurl', 'application/vnd.curl.pcurl'],\n ['pcx', 'image/x-pcx'],\n ['pdb', ['application/vnd.palm', 'chemical/x-pdb']],\n ['pdf', 'application/pdf'],\n ['pfa', 'application/x-font-type1'],\n ['pfr', 'application/font-tdpfr'],\n ['pfunk', ['audio/make', 'audio/make.my.funk']],\n ['pfx', 'application/x-pkcs12'],\n ['pgm', ['image/x-portable-graymap', 'image/x-portable-greymap']],\n ['pgn', 'application/x-chess-pgn'],\n ['pgp', 'application/pgp-signature'],\n ['pic', ['image/pict', 'image/x-pict']],\n ['pict', 'image/pict'],\n ['pkg', 'application/x-newton-compatible-pkg'],\n ['pki', 'application/pkixcmp'],\n ['pkipath', 'application/pkix-pkipath'],\n ['pko', ['application/ynd.ms-pkipko', 'application/vnd.ms-pki.pko']],\n ['pl', ['text/plain', 'text/x-script.perl']],\n ['plb', 'application/vnd.3gpp.pic-bw-large'],\n ['plc', 'application/vnd.mobius.plc'],\n ['plf', 'application/vnd.pocketlearn'],\n ['pls', 'application/pls+xml'],\n ['plx', 'application/x-pixclscript'],\n ['pm', ['text/x-script.perl-module', 'image/x-xpixmap']],\n ['pm4', 'application/x-pagemaker'],\n ['pm5', 'application/x-pagemaker'],\n ['pma', 'application/x-perfmon'],\n ['pmc', 'application/x-perfmon'],\n ['pml', ['application/vnd.ctc-posml', 'application/x-perfmon']],\n ['pmr', 'application/x-perfmon'],\n ['pmw', 'application/x-perfmon'],\n ['png', 'image/png'],\n ['pnm', ['application/x-portable-anymap', 'image/x-portable-anymap']],\n ['portpkg', 'application/vnd.macports.portpkg'],\n ['pot', ['application/vnd.ms-powerpoint', 'application/mspowerpoint']],\n ['potm', 'application/vnd.ms-powerpoint.template.macroenabled.12'],\n ['potx', 'application/vnd.openxmlformats-officedocument.presentationml.template'],\n ['pov', 'model/x-pov'],\n ['ppa', 'application/vnd.ms-powerpoint'],\n ['ppam', 'application/vnd.ms-powerpoint.addin.macroenabled.12'],\n ['ppd', 'application/vnd.cups-ppd'],\n ['ppm', 'image/x-portable-pixmap'],\n ['pps', ['application/vnd.ms-powerpoint', 'application/mspowerpoint']],\n ['ppsm', 'application/vnd.ms-powerpoint.slideshow.macroenabled.12'],\n ['ppsx', 'application/vnd.openxmlformats-officedocument.presentationml.slideshow'],\n ['ppt', ['application/vnd.ms-powerpoint', 'application/mspowerpoint', 'application/powerpoint', 'application/x-mspowerpoint']],\n ['pptm', 'application/vnd.ms-powerpoint.presentation.macroenabled.12'],\n ['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],\n ['ppz', 'application/mspowerpoint'],\n ['prc', 'application/x-mobipocket-ebook'],\n ['pre', ['application/vnd.lotus-freelance', 'application/x-freelance']],\n ['prf', 'application/pics-rules'],\n ['prt', 'application/pro_eng'],\n ['ps', 'application/postscript'],\n ['psb', 'application/vnd.3gpp.pic-bw-small'],\n ['psd', ['application/octet-stream', 'image/vnd.adobe.photoshop']],\n ['psf', 'application/x-font-linux-psf'],\n ['pskcxml', 'application/pskc+xml'],\n ['ptid', 'application/vnd.pvi.ptid1'],\n ['pub', 'application/x-mspublisher'],\n ['pvb', 'application/vnd.3gpp.pic-bw-var'],\n ['pvu', 'paleovu/x-pv'],\n ['pwn', 'application/vnd.3m.post-it-notes'],\n ['pwz', 'application/vnd.ms-powerpoint'],\n ['py', 'text/x-script.phyton'],\n ['pya', 'audio/vnd.ms-playready.media.pya'],\n ['pyc', 'applicaiton/x-bytecode.python'],\n ['pyv', 'video/vnd.ms-playready.media.pyv'],\n ['qam', 'application/vnd.epson.quickanime'],\n ['qbo', 'application/vnd.intu.qbo'],\n ['qcp', 'audio/vnd.qcelp'],\n ['qd3', 'x-world/x-3dmf'],\n ['qd3d', 'x-world/x-3dmf'],\n ['qfx', 'application/vnd.intu.qfx'],\n ['qif', 'image/x-quicktime'],\n ['qps', 'application/vnd.publishare-delta-tree'],\n ['qt', 'video/quicktime'],\n ['qtc', 'video/x-qtc'],\n ['qti', 'image/x-quicktime'],\n ['qtif', 'image/x-quicktime'],\n ['qxd', 'application/vnd.quark.quarkxpress'],\n ['ra', ['audio/x-realaudio', 'audio/x-pn-realaudio', 'audio/x-pn-realaudio-plugin']],\n ['ram', 'audio/x-pn-realaudio'],\n ['rar', 'application/x-rar-compressed'],\n ['ras', ['image/cmu-raster', 'application/x-cmu-raster', 'image/x-cmu-raster']],\n ['rast', 'image/cmu-raster'],\n ['rcprofile', 'application/vnd.ipunplugged.rcprofile'],\n ['rdf', 'application/rdf+xml'],\n ['rdz', 'application/vnd.data-vision.rdz'],\n ['rep', 'application/vnd.businessobjects'],\n ['res', 'application/x-dtbresource+xml'],\n ['rexx', 'text/x-script.rexx'],\n ['rf', 'image/vnd.rn-realflash'],\n ['rgb', 'image/x-rgb'],\n ['rif', 'application/reginfo+xml'],\n ['rip', 'audio/vnd.rip'],\n ['rl', 'application/resource-lists+xml'],\n ['rlc', 'image/vnd.fujixerox.edmics-rlc'],\n ['rld', 'application/resource-lists-diff+xml'],\n ['rm', ['application/vnd.rn-realmedia', 'audio/x-pn-realaudio']],\n ['rmi', 'audio/mid'],\n ['rmm', 'audio/x-pn-realaudio'],\n ['rmp', ['audio/x-pn-realaudio-plugin', 'audio/x-pn-realaudio']],\n ['rms', 'application/vnd.jcp.javame.midlet-rms'],\n ['rnc', 'application/relax-ng-compact-syntax'],\n ['rng', ['application/ringing-tones', 'application/vnd.nokia.ringing-tone']],\n ['rnx', 'application/vnd.rn-realplayer'],\n ['roff', 'application/x-troff'],\n ['rp', 'image/vnd.rn-realpix'],\n ['rp9', 'application/vnd.cloanto.rp9'],\n ['rpm', 'audio/x-pn-realaudio-plugin'],\n ['rpss', 'application/vnd.nokia.radio-presets'],\n ['rpst', 'application/vnd.nokia.radio-preset'],\n ['rq', 'application/sparql-query'],\n ['rs', 'application/rls-services+xml'],\n ['rsd', 'application/rsd+xml'],\n ['rt', ['text/richtext', 'text/vnd.rn-realtext']],\n ['rtf', ['application/rtf', 'text/richtext', 'application/x-rtf']],\n ['rtx', ['text/richtext', 'application/rtf']],\n ['rv', 'video/vnd.rn-realvideo'],\n ['s', 'text/x-asm'],\n ['s3m', 'audio/s3m'],\n ['saf', 'application/vnd.yamaha.smaf-audio'],\n ['saveme', 'application/octet-stream'],\n ['sbk', 'application/x-tbook'],\n ['sbml', 'application/sbml+xml'],\n ['sc', 'application/vnd.ibm.secure-container'],\n ['scd', 'application/x-msschedule'],\n ['scm', ['application/vnd.lotus-screencam', 'video/x-scm', 'text/x-script.guile', 'application/x-lotusscreencam', 'text/x-script.scheme']],\n ['scq', 'application/scvp-cv-request'],\n ['scs', 'application/scvp-cv-response'],\n ['sct', 'text/scriptlet'],\n ['scurl', 'text/vnd.curl.scurl'],\n ['sda', 'application/vnd.stardivision.draw'],\n ['sdc', 'application/vnd.stardivision.calc'],\n ['sdd', 'application/vnd.stardivision.impress'],\n ['sdkm', 'application/vnd.solent.sdkm+xml'],\n ['sdml', 'text/plain'],\n ['sdp', ['application/sdp', 'application/x-sdp']],\n ['sdr', 'application/sounder'],\n ['sdw', 'application/vnd.stardivision.writer'],\n ['sea', ['application/sea', 'application/x-sea']],\n ['see', 'application/vnd.seemail'],\n ['seed', 'application/vnd.fdsn.seed'],\n ['sema', 'application/vnd.sema'],\n ['semd', 'application/vnd.semd'],\n ['semf', 'application/vnd.semf'],\n ['ser', 'application/java-serialized-object'],\n ['set', 'application/set'],\n ['setpay', 'application/set-payment-initiation'],\n ['setreg', 'application/set-registration-initiation'],\n ['sfd-hdstx', 'application/vnd.hydrostatix.sof-data'],\n ['sfs', 'application/vnd.spotfire.sfs'],\n ['sgl', 'application/vnd.stardivision.writer-global'],\n ['sgm', ['text/sgml', 'text/x-sgml']],\n ['sgml', ['text/sgml', 'text/x-sgml']],\n ['sh', ['application/x-shar', 'application/x-bsh', 'application/x-sh', 'text/x-script.sh']],\n ['shar', ['application/x-bsh', 'application/x-shar']],\n ['shf', 'application/shf+xml'],\n ['shtml', ['text/html', 'text/x-server-parsed-html']],\n ['sid', 'audio/x-psid'],\n ['sis', 'application/vnd.symbian.install'],\n ['sit', ['application/x-stuffit', 'application/x-sit']],\n ['sitx', 'application/x-stuffitx'],\n ['skd', 'application/x-koan'],\n ['skm', 'application/x-koan'],\n ['skp', ['application/vnd.koan', 'application/x-koan']],\n ['skt', 'application/x-koan'],\n ['sl', 'application/x-seelogo'],\n ['sldm', 'application/vnd.ms-powerpoint.slide.macroenabled.12'],\n ['sldx', 'application/vnd.openxmlformats-officedocument.presentationml.slide'],\n ['slt', 'application/vnd.epson.salt'],\n ['sm', 'application/vnd.stepmania.stepchart'],\n ['smf', 'application/vnd.stardivision.math'],\n ['smi', ['application/smil', 'application/smil+xml']],\n ['smil', 'application/smil'],\n ['snd', ['audio/basic', 'audio/x-adpcm']],\n ['snf', 'application/x-font-snf'],\n ['sol', 'application/solids'],\n ['spc', ['text/x-speech', 'application/x-pkcs7-certificates']],\n ['spf', 'application/vnd.yamaha.smaf-phrase'],\n ['spl', ['application/futuresplash', 'application/x-futuresplash']],\n ['spot', 'text/vnd.in3d.spot'],\n ['spp', 'application/scvp-vp-response'],\n ['spq', 'application/scvp-vp-request'],\n ['spr', 'application/x-sprite'],\n ['sprite', 'application/x-sprite'],\n ['src', 'application/x-wais-source'],\n ['sru', 'application/sru+xml'],\n ['srx', 'application/sparql-results+xml'],\n ['sse', 'application/vnd.kodak-descriptor'],\n ['ssf', 'application/vnd.epson.ssf'],\n ['ssi', 'text/x-server-parsed-html'],\n ['ssm', 'application/streamingmedia'],\n ['ssml', 'application/ssml+xml'],\n ['sst', ['application/vnd.ms-pkicertstore', 'application/vnd.ms-pki.certstore']],\n ['st', 'application/vnd.sailingtracker.track'],\n ['stc', 'application/vnd.sun.xml.calc.template'],\n ['std', 'application/vnd.sun.xml.draw.template'],\n ['step', 'application/step'],\n ['stf', 'application/vnd.wt.stf'],\n ['sti', 'application/vnd.sun.xml.impress.template'],\n ['stk', 'application/hyperstudio'],\n ['stl', ['application/vnd.ms-pkistl', 'application/sla', 'application/vnd.ms-pki.stl', 'application/x-navistyle']],\n ['stm', 'text/html'],\n ['stp', 'application/step'],\n ['str', 'application/vnd.pg.format'],\n ['stw', 'application/vnd.sun.xml.writer.template'],\n ['sub', 'image/vnd.dvb.subtitle'],\n ['sus', 'application/vnd.sus-calendar'],\n ['sv4cpio', 'application/x-sv4cpio'],\n ['sv4crc', 'application/x-sv4crc'],\n ['svc', 'application/vnd.dvb.service'],\n ['svd', 'application/vnd.svd'],\n ['svf', ['image/vnd.dwg', 'image/x-dwg']],\n ['svg', 'image/svg+xml'],\n ['svr', ['x-world/x-svr', 'application/x-world']],\n ['swf', 'application/x-shockwave-flash'],\n ['swi', 'application/vnd.aristanetworks.swi'],\n ['sxc', 'application/vnd.sun.xml.calc'],\n ['sxd', 'application/vnd.sun.xml.draw'],\n ['sxg', 'application/vnd.sun.xml.writer.global'],\n ['sxi', 'application/vnd.sun.xml.impress'],\n ['sxm', 'application/vnd.sun.xml.math'],\n ['sxw', 'application/vnd.sun.xml.writer'],\n ['t', ['text/troff', 'application/x-troff']],\n ['talk', 'text/x-speech'],\n ['tao', 'application/vnd.tao.intent-module-archive'],\n ['tar', 'application/x-tar'],\n ['tbk', ['application/toolbook', 'application/x-tbook']],\n ['tcap', 'application/vnd.3gpp2.tcap'],\n ['tcl', ['text/x-script.tcl', 'application/x-tcl']],\n ['tcsh', 'text/x-script.tcsh'],\n ['teacher', 'application/vnd.smart.teacher'],\n ['tei', 'application/tei+xml'],\n ['tex', 'application/x-tex'],\n ['texi', 'application/x-texinfo'],\n ['texinfo', 'application/x-texinfo'],\n ['text', ['application/plain', 'text/plain']],\n ['tfi', 'application/thraud+xml'],\n ['tfm', 'application/x-tex-tfm'],\n ['tgz', ['application/gnutar', 'application/x-compressed']],\n ['thmx', 'application/vnd.ms-officetheme'],\n ['tif', ['image/tiff', 'image/x-tiff']],\n ['tiff', ['image/tiff', 'image/x-tiff']],\n ['tmo', 'application/vnd.tmobile-livetv'],\n ['torrent', 'application/x-bittorrent'],\n ['tpl', 'application/vnd.groove-tool-template'],\n ['tpt', 'application/vnd.trid.tpt'],\n ['tr', 'application/x-troff'],\n ['tra', 'application/vnd.trueapp'],\n ['trm', 'application/x-msterminal'],\n ['tsd', 'application/timestamped-data'],\n ['tsi', 'audio/tsp-audio'],\n ['tsp', ['application/dsptype', 'audio/tsplayer']],\n ['tsv', 'text/tab-separated-values'],\n ['ttf', 'application/x-font-ttf'],\n ['ttl', 'text/turtle'],\n ['turbot', 'image/florian'],\n ['twd', 'application/vnd.simtech-mindmapper'],\n ['txd', 'application/vnd.genomatix.tuxedo'],\n ['txf', 'application/vnd.mobius.txf'],\n ['txt', 'text/plain'],\n ['ufd', 'application/vnd.ufdl'],\n ['uil', 'text/x-uil'],\n ['uls', 'text/iuls'],\n ['umj', 'application/vnd.umajin'],\n ['uni', 'text/uri-list'],\n ['unis', 'text/uri-list'],\n ['unityweb', 'application/vnd.unity'],\n ['unv', 'application/i-deas'],\n ['uoml', 'application/vnd.uoml+xml'],\n ['uri', 'text/uri-list'],\n ['uris', 'text/uri-list'],\n ['ustar', ['application/x-ustar', 'multipart/x-ustar']],\n ['utz', 'application/vnd.uiq.theme'],\n ['uu', ['application/octet-stream', 'text/x-uuencode']],\n ['uue', 'text/x-uuencode'],\n ['uva', 'audio/vnd.dece.audio'],\n ['uvh', 'video/vnd.dece.hd'],\n ['uvi', 'image/vnd.dece.graphic'],\n ['uvm', 'video/vnd.dece.mobile'],\n ['uvp', 'video/vnd.dece.pd'],\n ['uvs', 'video/vnd.dece.sd'],\n ['uvu', 'video/vnd.uvvu.mp4'],\n ['uvv', 'video/vnd.dece.video'],\n ['vcd', 'application/x-cdlink'],\n ['vcf', 'text/x-vcard'],\n ['vcg', 'application/vnd.groove-vcard'],\n ['vcs', 'text/x-vcalendar'],\n ['vcx', 'application/vnd.vcx'],\n ['vda', 'application/vda'],\n ['vdo', 'video/vdo'],\n ['vew', 'application/groupwise'],\n ['vis', 'application/vnd.visionary'],\n ['viv', ['video/vivo', 'video/vnd.vivo']],\n ['vivo', ['video/vivo', 'video/vnd.vivo']],\n ['vmd', 'application/vocaltec-media-desc'],\n ['vmf', 'application/vocaltec-media-file'],\n ['voc', ['audio/voc', 'audio/x-voc']],\n ['vos', 'video/vosaic'],\n ['vox', 'audio/voxware'],\n ['vqe', 'audio/x-twinvq-plugin'],\n ['vqf', 'audio/x-twinvq'],\n ['vql', 'audio/x-twinvq-plugin'],\n ['vrml', ['model/vrml', 'x-world/x-vrml', 'application/x-vrml']],\n ['vrt', 'x-world/x-vrt'],\n ['vsd', ['application/vnd.visio', 'application/x-visio']],\n ['vsf', 'application/vnd.vsf'],\n ['vst', 'application/x-visio'],\n ['vsw', 'application/x-visio'],\n ['vtu', 'model/vnd.vtu'],\n ['vxml', 'application/voicexml+xml'],\n ['w60', 'application/wordperfect6.0'],\n ['w61', 'application/wordperfect6.1'],\n ['w6w', 'application/msword'],\n ['wad', 'application/x-doom'],\n ['wav', ['audio/wav', 'audio/x-wav']],\n ['wax', 'audio/x-ms-wax'],\n ['wb1', 'application/x-qpro'],\n ['wbmp', 'image/vnd.wap.wbmp'],\n ['wbs', 'application/vnd.criticaltools.wbs+xml'],\n ['wbxml', 'application/vnd.wap.wbxml'],\n ['wcm', 'application/vnd.ms-works'],\n ['wdb', 'application/vnd.ms-works'],\n ['web', 'application/vnd.xara'],\n ['weba', 'audio/webm'],\n ['webm', 'video/webm'],\n ['webp', 'image/webp'],\n ['wg', 'application/vnd.pmi.widget'],\n ['wgt', 'application/widget'],\n ['wiz', 'application/msword'],\n ['wk1', 'application/x-123'],\n ['wks', 'application/vnd.ms-works'],\n ['wm', 'video/x-ms-wm'],\n ['wma', 'audio/x-ms-wma'],\n ['wmd', 'application/x-ms-wmd'],\n ['wmf', ['windows/metafile', 'application/x-msmetafile']],\n ['wml', 'text/vnd.wap.wml'],\n ['wmlc', 'application/vnd.wap.wmlc'],\n ['wmls', 'text/vnd.wap.wmlscript'],\n ['wmlsc', 'application/vnd.wap.wmlscriptc'],\n ['wmv', 'video/x-ms-wmv'],\n ['wmx', 'video/x-ms-wmx'],\n ['wmz', 'application/x-ms-wmz'],\n ['woff', 'application/x-font-woff'],\n ['word', 'application/msword'],\n ['wp', 'application/wordperfect'],\n ['wp5', ['application/wordperfect', 'application/wordperfect6.0']],\n ['wp6', 'application/wordperfect'],\n ['wpd', ['application/wordperfect', 'application/vnd.wordperfect', 'application/x-wpwin']],\n ['wpl', 'application/vnd.ms-wpl'],\n ['wps', 'application/vnd.ms-works'],\n ['wq1', 'application/x-lotus'],\n ['wqd', 'application/vnd.wqd'],\n ['wri', ['application/mswrite', 'application/x-wri', 'application/x-mswrite']],\n ['wrl', ['model/vrml', 'x-world/x-vrml', 'application/x-world']],\n ['wrz', ['model/vrml', 'x-world/x-vrml']],\n ['wsc', 'text/scriplet'],\n ['wsdl', 'application/wsdl+xml'],\n ['wspolicy', 'application/wspolicy+xml'],\n ['wsrc', 'application/x-wais-source'],\n ['wtb', 'application/vnd.webturbo'],\n ['wtk', 'application/x-wintalk'],\n ['wvx', 'video/x-ms-wvx'],\n ['x-png', 'image/png'],\n ['x3d', 'application/vnd.hzn-3d-crossword'],\n ['xaf', 'x-world/x-vrml'],\n ['xap', 'application/x-silverlight-app'],\n ['xar', 'application/vnd.xara'],\n ['xbap', 'application/x-ms-xbap'],\n ['xbd', 'application/vnd.fujixerox.docuworks.binder'],\n ['xbm', ['image/xbm', 'image/x-xbm', 'image/x-xbitmap']],\n ['xdf', 'application/xcap-diff+xml'],\n ['xdm', 'application/vnd.syncml.dm+xml'],\n ['xdp', 'application/vnd.adobe.xdp+xml'],\n ['xdr', 'video/x-amt-demorun'],\n ['xdssc', 'application/dssc+xml'],\n ['xdw', 'application/vnd.fujixerox.docuworks'],\n ['xenc', 'application/xenc+xml'],\n ['xer', 'application/patch-ops-error+xml'],\n ['xfdf', 'application/vnd.adobe.xfdf'],\n ['xfdl', 'application/vnd.xfdl'],\n ['xgz', 'xgl/drawing'],\n ['xhtml', 'application/xhtml+xml'],\n ['xif', 'image/vnd.xiff'],\n ['xl', 'application/excel'],\n ['xla', ['application/vnd.ms-excel', 'application/excel', 'application/x-msexcel', 'application/x-excel']],\n ['xlam', 'application/vnd.ms-excel.addin.macroenabled.12'],\n ['xlb', ['application/excel', 'application/vnd.ms-excel', 'application/x-excel']],\n ['xlc', ['application/vnd.ms-excel', 'application/excel', 'application/x-excel']],\n ['xld', ['application/excel', 'application/x-excel']],\n ['xlk', ['application/excel', 'application/x-excel']],\n ['xll', ['application/excel', 'application/vnd.ms-excel', 'application/x-excel']],\n ['xlm', ['application/vnd.ms-excel', 'application/excel', 'application/x-excel']],\n ['xls', ['application/vnd.ms-excel', 'application/excel', 'application/x-msexcel', 'application/x-excel']],\n ['xlsb', 'application/vnd.ms-excel.sheet.binary.macroenabled.12'],\n ['xlsm', 'application/vnd.ms-excel.sheet.macroenabled.12'],\n ['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],\n ['xlt', ['application/vnd.ms-excel', 'application/excel', 'application/x-excel']],\n ['xltm', 'application/vnd.ms-excel.template.macroenabled.12'],\n ['xltx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.template'],\n ['xlv', ['application/excel', 'application/x-excel']],\n ['xlw', ['application/vnd.ms-excel', 'application/excel', 'application/x-msexcel', 'application/x-excel']],\n ['xm', 'audio/xm'],\n ['xml', ['application/xml', 'text/xml', 'application/atom+xml', 'application/rss+xml']],\n ['xmz', 'xgl/movie'],\n ['xo', 'application/vnd.olpc-sugar'],\n ['xof', 'x-world/x-vrml'],\n ['xop', 'application/xop+xml'],\n ['xpi', 'application/x-xpinstall'],\n ['xpix', 'application/x-vnd.ls-xpix'],\n ['xpm', ['image/xpm', 'image/x-xpixmap']],\n ['xpr', 'application/vnd.is-xpr'],\n ['xps', 'application/vnd.ms-xpsdocument'],\n ['xpw', 'application/vnd.intercon.formnet'],\n ['xslt', 'application/xslt+xml'],\n ['xsm', 'application/vnd.syncml+xml'],\n ['xspf', 'application/xspf+xml'],\n ['xsr', 'video/x-amt-showrun'],\n ['xul', 'application/vnd.mozilla.xul+xml'],\n ['xwd', ['image/x-xwd', 'image/x-xwindowdump']],\n ['xyz', ['chemical/x-xyz', 'chemical/x-pdb']],\n ['yang', 'application/yang'],\n ['yin', 'application/yin+xml'],\n ['z', ['application/x-compressed', 'application/x-compress']],\n ['zaz', 'application/vnd.zzazz.deck+xml'],\n ['zip', ['application/zip', 'multipart/x-zip', 'application/x-zip-compressed', 'application/x-compressed']],\n ['zir', 'application/vnd.zul'],\n ['zmm', 'application/vnd.handheld-entertainment+xml'],\n ['zoo', 'application/octet-stream'],\n ['zsh', 'text/x-script.zsh']\n]);\n\nmodule.exports = {\n detectMimeType(filename) {\n if (!filename) {\n return defaultMimeType;\n }\n\n let parsed = path.parse(filename);\n let extension = (parsed.ext.substr(1) || parsed.name || '').split('?').shift().trim().toLowerCase();\n let value = defaultMimeType;\n\n if (extensions.has(extension)) {\n value = extensions.get(extension);\n }\n\n if (Array.isArray(value)) {\n return value[0];\n }\n return value;\n },\n\n detectExtension(mimeType) {\n if (!mimeType) {\n return defaultExtension;\n }\n let parts = (mimeType || '').toLowerCase().trim().split('/');\n let rootType = parts.shift().trim();\n let subType = parts.join('/').trim();\n\n if (mimeTypes.has(rootType + '/' + subType)) {\n let value = mimeTypes.get(rootType + '/' + subType);\n if (Array.isArray(value)) {\n return value[0];\n }\n return value;\n }\n\n switch (rootType) {\n case 'text':\n return 'txt';\n default:\n return 'bin';\n }\n }\n};\n","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):((e=\"undefined\"!=typeof globalThis?globalThis:e||self).prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.graphql=n())}(this,(function(){\"use strict\";var e=function(e,n){const t=new SyntaxError(e+\" (\"+n.start.line+\":\"+n.start.column+\")\");return t.loc=n,t};var n={hasPragma:function(e){return/^\\s*#[^\\S\\n]*@(format|prettier)\\s*(\\n|$)/.test(e)},insertPragma:function(e){return\"# @format\\n\\n\"+e}};var t={locStart:function(e){return\"number\"==typeof e.start?e.start:e.loc&&e.loc.start},locEnd:function(e){return\"number\"==typeof e.end?e.end:e.loc&&e.loc.end}};function i(e,n,t){return e(t={path:n,exports:{},require:function(e,n){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==n&&t.path)}},t.exports),t.exports}var r=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.SYMBOL_TO_STRING_TAG=n.SYMBOL_ASYNC_ITERATOR=n.SYMBOL_ITERATOR=void 0;var t=\"function\"==typeof Symbol&&null!=Symbol.iterator?Symbol.iterator:\"@@iterator\";n.SYMBOL_ITERATOR=t;var i=\"function\"==typeof Symbol&&null!=Symbol.asyncIterator?Symbol.asyncIterator:\"@@asyncIterator\";n.SYMBOL_ASYNC_ITERATOR=i;var r=\"function\"==typeof Symbol&&null!=Symbol.toStringTag?Symbol.toStringTag:\"@@toStringTag\";n.SYMBOL_TO_STRING_TAG=r})),o=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=void 0;var t=\"function\"==typeof Symbol&&\"function\"==typeof Symbol.for?Symbol.for(\"nodejs.util.inspect.custom\"):void 0;n.default=t})),a=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=function(e){return a(e,[])};var t,i=(t=o)&&t.__esModule?t:{default:t};function r(e){return(r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function a(e,n){switch(r(e)){case\"string\":return JSON.stringify(e);case\"function\":return e.name?\"[function \".concat(e.name,\"]\"):\"[function]\";case\"object\":return null===e?\"null\":function(e,n){if(-1!==n.indexOf(e))return\"[Circular]\";var t=[].concat(n,[e]),r=function(e){var n=e[String(i.default)];if(\"function\"==typeof n)return n;if(\"function\"==typeof e.inspect)return e.inspect}(e);if(void 0!==r){var o=r.call(e);if(o!==e)return\"string\"==typeof o?o:a(o,t)}else if(Array.isArray(e))return function(e,n){if(0===e.length)return\"[]\";if(n.length>2)return\"[Array]\";for(var t=Math.min(10,e.length),i=e.length-t,r=[],o=0;o1&&r.push(\"... \".concat(i,\" more items\"));return\"[\"+r.join(\", \")+\"]\"}(e,t);return function(e,n){var t=Object.keys(e);if(0===t.length)return\"{}\";if(n.length>2)return\"[\"+function(e){var n=Object.prototype.toString.call(e).replace(/^\\[object /,\"\").replace(/]$/,\"\");if(\"Object\"===n&&\"function\"==typeof e.constructor){var t=e.constructor.name;if(\"string\"==typeof t&&\"\"!==t)return t}return n}(e)+\"]\";return\"{ \"+t.map((function(t){return t+\": \"+a(e[t],n)})).join(\", \")+\" }\"}(e,t)}(e,n);default:return String(e)}}})),s=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=function(e,n){if(!Boolean(e))throw new Error(n)}})),c=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=void 0;n.default=function(e,n){return e instanceof n}})),u=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.isSource=function(e){return(0,o.default)(e,d)},n.Source=void 0;var t=u(a),i=u(s),o=u(c);function u(e){return e&&e.__esModule?e:{default:e}}function l(e,n){for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:\"GraphQL request\",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{line:1,column:1};\"string\"==typeof e||(0,i.default)(0,\"Body must be a string. Received: \".concat((0,t.default)(e),\".\")),this.body=e,this.name=n,this.locationOffset=r,this.locationOffset.line>0||(0,i.default)(0,\"line in locationOffset is 1-indexed and must be positive.\"),this.locationOffset.column>0||(0,i.default)(0,\"column in locationOffset is 1-indexed and must be positive.\")}var n,o,a;return n=e,(o=[{key:r.SYMBOL_TO_STRING_TAG,get:function(){return\"Source\"}}])&&l(n.prototype,o),a&&l(n,a),e}();n.Source=d})),l=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.getLocation=function(e,n){var t,i=/\\r\\n|[\\n\\r]/g,r=1,o=n+1;for(;(t=i.exec(e.body))&&t.index120){for(var h=Math.floor(l/80),T=l%80,v=[],E=0;E\",EOF:\"\",BANG:\"!\",DOLLAR:\"$\",AMP:\"&\",PAREN_L:\"(\",PAREN_R:\")\",SPREAD:\"...\",COLON:\":\",EQUALS:\"=\",AT:\"@\",BRACKET_L:\"[\",BRACKET_R:\"]\",BRACE_L:\"{\",PIPE:\"|\",BRACE_R:\"}\",NAME:\"Name\",INT:\"Int\",FLOAT:\"Float\",STRING:\"String\",BLOCK_STRING:\"BlockString\",COMMENT:\"Comment\"});n.TokenKind=t})),h=i((function(e,n){function t(e){return(t=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=function(e){return\"object\"==t(e)&&null!==e}})),T=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.printError=y,n.GraphQLError=void 0;var t,i=(t=h)&&t.__esModule?t:{default:t};function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function a(e,n){for(var t=0;ta&&t(n[s-1]);)--s;return n.slice(a,s).join(\"\\n\")},n.getBlockStringIndentation=i,n.printBlockString=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=-1===e.indexOf(\"\\n\"),r=\" \"===e[0]||\"\\t\"===e[0],o='\"'===e[e.length-1],a=\"\\\\\"===e[e.length-1],s=!i||o||a||t,c=\"\";!s||i&&r||(c+=\"\\n\"+n);c+=n?e.replace(/\\n/g,\"\\n\"+n):e,s&&(c+=\"\\n\");return'\"\"\"'+c.replace(/\"\"\"/g,'\\\\\"\"\"')+'\"\"\"'}})),k=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.isPunctuatorTokenKind=function(e){return e===f.TokenKind.BANG||e===f.TokenKind.DOLLAR||e===f.TokenKind.AMP||e===f.TokenKind.PAREN_L||e===f.TokenKind.PAREN_R||e===f.TokenKind.SPREAD||e===f.TokenKind.COLON||e===f.TokenKind.EQUALS||e===f.TokenKind.AT||e===f.TokenKind.BRACKET_L||e===f.TokenKind.BRACKET_R||e===f.TokenKind.BRACE_L||e===f.TokenKind.PIPE||e===f.TokenKind.BRACE_R},n.Lexer=void 0;var t=function(){function e(e){var n=new N.Token(f.TokenKind.SOF,0,0,0,0,null);this.source=e,this.lastToken=n,this.token=n,this.line=1,this.lineStart=0}var n=e.prototype;return n.advance=function(){return this.lastToken=this.token,this.token=this.lookahead()},n.lookahead=function(){var e=this.token;if(e.kind!==f.TokenKind.EOF)do{var n;e=null!==(n=e.next)&&void 0!==n?n:e.next=r(this,e)}while(e.kind===f.TokenKind.COMMENT);return e},e}();function i(e){return isNaN(e)?f.TokenKind.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'\"\\\\u'.concat((\"00\"+e.toString(16).toUpperCase()).slice(-4),'\"')}function r(e,n){for(var t=e.source,i=t.body,r=i.length,c=n.end;c31||9===o));return new N.Token(f.TokenKind.COMMENT,n,s,t,i,r,a.slice(n+1,s))}function s(e,n,t,r,o,a){var s=e.body,u=t,l=n,d=!1;if(45===u&&(u=s.charCodeAt(++l)),48===u){if((u=s.charCodeAt(++l))>=48&&u<=57)throw(0,v.syntaxError)(e,l,\"Invalid number, unexpected digit after 0: \".concat(i(u),\".\"))}else l=c(e,l,u),u=s.charCodeAt(l);if(46===u&&(d=!0,u=s.charCodeAt(++l),l=c(e,l,u),u=s.charCodeAt(l)),69!==u&&101!==u||(d=!0,43!==(u=s.charCodeAt(++l))&&45!==u||(u=s.charCodeAt(++l)),l=c(e,l,u),u=s.charCodeAt(l)),46===u||function(e){return 95===e||e>=65&&e<=90||e>=97&&e<=122}(u))throw(0,v.syntaxError)(e,l,\"Invalid number, expected digit but got: \".concat(i(u),\".\"));return new N.Token(d?f.TokenKind.FLOAT:f.TokenKind.INT,n,l,r,o,a,s.slice(n,l))}function c(e,n,t){var r=e.body,o=n,a=t;if(a>=48&&a<=57){do{a=r.charCodeAt(++o)}while(a>=48&&a<=57);return o}throw(0,v.syntaxError)(e,o,\"Invalid number, expected digit but got: \".concat(i(a),\".\"))}function u(e,n,t,r,o){for(var a,s,c,u,l=e.body,p=n+1,h=p,T=0,E=\"\";p=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function p(e,n,t,i,r){for(var o=e.body,a=o.length,s=n+1,c=0;s!==a&&!isNaN(c=o.charCodeAt(s))&&(95===c||c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122);)++s;return new N.Token(f.TokenKind.NAME,n,s,t,i,r,o.slice(n,s))}n.Lexer=t})),_=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.DirectiveLocation=void 0;var t=Object.freeze({QUERY:\"QUERY\",MUTATION:\"MUTATION\",SUBSCRIPTION:\"SUBSCRIPTION\",FIELD:\"FIELD\",FRAGMENT_DEFINITION:\"FRAGMENT_DEFINITION\",FRAGMENT_SPREAD:\"FRAGMENT_SPREAD\",INLINE_FRAGMENT:\"INLINE_FRAGMENT\",VARIABLE_DEFINITION:\"VARIABLE_DEFINITION\",SCHEMA:\"SCHEMA\",SCALAR:\"SCALAR\",OBJECT:\"OBJECT\",FIELD_DEFINITION:\"FIELD_DEFINITION\",ARGUMENT_DEFINITION:\"ARGUMENT_DEFINITION\",INTERFACE:\"INTERFACE\",UNION:\"UNION\",ENUM:\"ENUM\",ENUM_VALUE:\"ENUM_VALUE\",INPUT_OBJECT:\"INPUT_OBJECT\",INPUT_FIELD_DEFINITION:\"INPUT_FIELD_DEFINITION\"});n.DirectiveLocation=t})),O=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.parse=function(e,n){return new t(e,n).parseDocument()},n.parseValue=function(e,n){var i=new t(e,n);i.expectToken(f.TokenKind.SOF);var r=i.parseValueLiteral(!1);return i.expectToken(f.TokenKind.EOF),r},n.parseType=function(e,n){var i=new t(e,n);i.expectToken(f.TokenKind.SOF);var r=i.parseTypeReference();return i.expectToken(f.TokenKind.EOF),r},n.Parser=void 0;var t=function(){function e(e,n){var t=(0,u.isSource)(e)?e:new u.Source(e);this._lexer=new k.Lexer(t),this._options=n}var n=e.prototype;return n.parseName=function(){var e=this.expectToken(f.TokenKind.NAME);return{kind:p.Kind.NAME,value:e.value,loc:this.loc(e)}},n.parseDocument=function(){var e=this._lexer.token;return{kind:p.Kind.DOCUMENT,definitions:this.many(f.TokenKind.SOF,this.parseDefinition,f.TokenKind.EOF),loc:this.loc(e)}},n.parseDefinition=function(){if(this.peek(f.TokenKind.NAME))switch(this._lexer.token.value){case\"query\":case\"mutation\":case\"subscription\":return this.parseOperationDefinition();case\"fragment\":return this.parseFragmentDefinition();case\"schema\":case\"scalar\":case\"type\":case\"interface\":case\"union\":case\"enum\":case\"input\":case\"directive\":return this.parseTypeSystemDefinition();case\"extend\":return this.parseTypeSystemExtension()}else{if(this.peek(f.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},n.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(f.TokenKind.BRACE_L))return{kind:p.Kind.OPERATION_DEFINITION,operation:\"query\",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var n,t=this.parseOperationType();return this.peek(f.TokenKind.NAME)&&(n=this.parseName()),{kind:p.Kind.OPERATION_DEFINITION,operation:t,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},n.parseOperationType=function(){var e=this.expectToken(f.TokenKind.NAME);switch(e.value){case\"query\":return\"query\";case\"mutation\":return\"mutation\";case\"subscription\":return\"subscription\"}throw this.unexpected(e)},n.parseVariableDefinitions=function(){return this.optionalMany(f.TokenKind.PAREN_L,this.parseVariableDefinition,f.TokenKind.PAREN_R)},n.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:p.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(f.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(f.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},n.parseVariable=function(){var e=this._lexer.token;return this.expectToken(f.TokenKind.DOLLAR),{kind:p.Kind.VARIABLE,name:this.parseName(),loc:this.loc(e)}},n.parseSelectionSet=function(){var e=this._lexer.token;return{kind:p.Kind.SELECTION_SET,selections:this.many(f.TokenKind.BRACE_L,this.parseSelection,f.TokenKind.BRACE_R),loc:this.loc(e)}},n.parseSelection=function(){return this.peek(f.TokenKind.SPREAD)?this.parseFragment():this.parseField()},n.parseField=function(){var e,n,t=this._lexer.token,i=this.parseName();return this.expectOptionalToken(f.TokenKind.COLON)?(e=i,n=this.parseName()):n=i,{kind:p.Kind.FIELD,alias:e,name:n,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(f.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(t)}},n.parseArguments=function(e){var n=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(f.TokenKind.PAREN_L,n,f.TokenKind.PAREN_R)},n.parseArgument=function(){var e=this._lexer.token,n=this.parseName();return this.expectToken(f.TokenKind.COLON),{kind:p.Kind.ARGUMENT,name:n,value:this.parseValueLiteral(!1),loc:this.loc(e)}},n.parseConstArgument=function(){var e=this._lexer.token;return{kind:p.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(f.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},n.parseFragment=function(){var e=this._lexer.token;this.expectToken(f.TokenKind.SPREAD);var n=this.expectOptionalKeyword(\"on\");return!n&&this.peek(f.TokenKind.NAME)?{kind:p.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:p.Kind.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},n.parseFragmentDefinition=function(){var e,n=this._lexer.token;return this.expectKeyword(\"fragment\"),!0===(null===(e=this._options)||void 0===e?void 0:e.experimentalFragmentVariables)?{kind:p.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword(\"on\"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(n)}:{kind:p.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword(\"on\"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(n)}},n.parseFragmentName=function(){if(\"on\"===this._lexer.token.value)throw this.unexpected();return this.parseName()},n.parseValueLiteral=function(e){var n=this._lexer.token;switch(n.kind){case f.TokenKind.BRACKET_L:return this.parseList(e);case f.TokenKind.BRACE_L:return this.parseObject(e);case f.TokenKind.INT:return this._lexer.advance(),{kind:p.Kind.INT,value:n.value,loc:this.loc(n)};case f.TokenKind.FLOAT:return this._lexer.advance(),{kind:p.Kind.FLOAT,value:n.value,loc:this.loc(n)};case f.TokenKind.STRING:case f.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case f.TokenKind.NAME:switch(this._lexer.advance(),n.value){case\"true\":return{kind:p.Kind.BOOLEAN,value:!0,loc:this.loc(n)};case\"false\":return{kind:p.Kind.BOOLEAN,value:!1,loc:this.loc(n)};case\"null\":return{kind:p.Kind.NULL,loc:this.loc(n)};default:return{kind:p.Kind.ENUM,value:n.value,loc:this.loc(n)}}case f.TokenKind.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},n.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:p.Kind.STRING,value:e.value,block:e.kind===f.TokenKind.BLOCK_STRING,loc:this.loc(e)}},n.parseList=function(e){var n=this,t=this._lexer.token;return{kind:p.Kind.LIST,values:this.any(f.TokenKind.BRACKET_L,(function(){return n.parseValueLiteral(e)}),f.TokenKind.BRACKET_R),loc:this.loc(t)}},n.parseObject=function(e){var n=this,t=this._lexer.token;return{kind:p.Kind.OBJECT,fields:this.any(f.TokenKind.BRACE_L,(function(){return n.parseObjectField(e)}),f.TokenKind.BRACE_R),loc:this.loc(t)}},n.parseObjectField=function(e){var n=this._lexer.token,t=this.parseName();return this.expectToken(f.TokenKind.COLON),{kind:p.Kind.OBJECT_FIELD,name:t,value:this.parseValueLiteral(e),loc:this.loc(n)}},n.parseDirectives=function(e){for(var n=[];this.peek(f.TokenKind.AT);)n.push(this.parseDirective(e));return n},n.parseDirective=function(e){var n=this._lexer.token;return this.expectToken(f.TokenKind.AT),{kind:p.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(n)}},n.parseTypeReference=function(){var e,n=this._lexer.token;return this.expectOptionalToken(f.TokenKind.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(f.TokenKind.BRACKET_R),e={kind:p.Kind.LIST_TYPE,type:e,loc:this.loc(n)}):e=this.parseNamedType(),this.expectOptionalToken(f.TokenKind.BANG)?{kind:p.Kind.NON_NULL_TYPE,type:e,loc:this.loc(n)}:e},n.parseNamedType=function(){var e=this._lexer.token;return{kind:p.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},n.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===f.TokenKind.NAME)switch(e.value){case\"schema\":return this.parseSchemaDefinition();case\"scalar\":return this.parseScalarTypeDefinition();case\"type\":return this.parseObjectTypeDefinition();case\"interface\":return this.parseInterfaceTypeDefinition();case\"union\":return this.parseUnionTypeDefinition();case\"enum\":return this.parseEnumTypeDefinition();case\"input\":return this.parseInputObjectTypeDefinition();case\"directive\":return this.parseDirectiveDefinition()}throw this.unexpected(e)},n.peekDescription=function(){return this.peek(f.TokenKind.STRING)||this.peek(f.TokenKind.BLOCK_STRING)},n.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},n.parseSchemaDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"schema\");var t=this.parseDirectives(!0),i=this.many(f.TokenKind.BRACE_L,this.parseOperationTypeDefinition,f.TokenKind.BRACE_R);return{kind:p.Kind.SCHEMA_DEFINITION,description:n,directives:t,operationTypes:i,loc:this.loc(e)}},n.parseOperationTypeDefinition=function(){var e=this._lexer.token,n=this.parseOperationType();this.expectToken(f.TokenKind.COLON);var t=this.parseNamedType();return{kind:p.Kind.OPERATION_TYPE_DEFINITION,operation:n,type:t,loc:this.loc(e)}},n.parseScalarTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"scalar\");var t=this.parseName(),i=this.parseDirectives(!0);return{kind:p.Kind.SCALAR_TYPE_DEFINITION,description:n,name:t,directives:i,loc:this.loc(e)}},n.parseObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"type\");var t=this.parseName(),i=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:p.Kind.OBJECT_TYPE_DEFINITION,description:n,name:t,interfaces:i,directives:r,fields:o,loc:this.loc(e)}},n.parseImplementsInterfaces=function(){var e;if(!this.expectOptionalKeyword(\"implements\"))return[];if(!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLImplementsInterfaces)){var n=[];this.expectOptionalToken(f.TokenKind.AMP);do{n.push(this.parseNamedType())}while(this.expectOptionalToken(f.TokenKind.AMP)||this.peek(f.TokenKind.NAME));return n}return this.delimitedMany(f.TokenKind.AMP,this.parseNamedType)},n.parseFieldsDefinition=function(){var e;return!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLEmptyFields)&&this.peek(f.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===f.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(f.TokenKind.BRACE_L,this.parseFieldDefinition,f.TokenKind.BRACE_R)},n.parseFieldDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),i=this.parseArgumentDefs();this.expectToken(f.TokenKind.COLON);var r=this.parseTypeReference(),o=this.parseDirectives(!0);return{kind:p.Kind.FIELD_DEFINITION,description:n,name:t,arguments:i,type:r,directives:o,loc:this.loc(e)}},n.parseArgumentDefs=function(){return this.optionalMany(f.TokenKind.PAREN_L,this.parseInputValueDef,f.TokenKind.PAREN_R)},n.parseInputValueDef=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName();this.expectToken(f.TokenKind.COLON);var i,r=this.parseTypeReference();this.expectOptionalToken(f.TokenKind.EQUALS)&&(i=this.parseValueLiteral(!0));var o=this.parseDirectives(!0);return{kind:p.Kind.INPUT_VALUE_DEFINITION,description:n,name:t,type:r,defaultValue:i,directives:o,loc:this.loc(e)}},n.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"interface\");var t=this.parseName(),i=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:p.Kind.INTERFACE_TYPE_DEFINITION,description:n,name:t,interfaces:i,directives:r,fields:o,loc:this.loc(e)}},n.parseUnionTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"union\");var t=this.parseName(),i=this.parseDirectives(!0),r=this.parseUnionMemberTypes();return{kind:p.Kind.UNION_TYPE_DEFINITION,description:n,name:t,directives:i,types:r,loc:this.loc(e)}},n.parseUnionMemberTypes=function(){return this.expectOptionalToken(f.TokenKind.EQUALS)?this.delimitedMany(f.TokenKind.PIPE,this.parseNamedType):[]},n.parseEnumTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"enum\");var t=this.parseName(),i=this.parseDirectives(!0),r=this.parseEnumValuesDefinition();return{kind:p.Kind.ENUM_TYPE_DEFINITION,description:n,name:t,directives:i,values:r,loc:this.loc(e)}},n.parseEnumValuesDefinition=function(){return this.optionalMany(f.TokenKind.BRACE_L,this.parseEnumValueDefinition,f.TokenKind.BRACE_R)},n.parseEnumValueDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),i=this.parseDirectives(!0);return{kind:p.Kind.ENUM_VALUE_DEFINITION,description:n,name:t,directives:i,loc:this.loc(e)}},n.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"input\");var t=this.parseName(),i=this.parseDirectives(!0),r=this.parseInputFieldsDefinition();return{kind:p.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:t,directives:i,fields:r,loc:this.loc(e)}},n.parseInputFieldsDefinition=function(){return this.optionalMany(f.TokenKind.BRACE_L,this.parseInputValueDef,f.TokenKind.BRACE_R)},n.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===f.TokenKind.NAME)switch(e.value){case\"schema\":return this.parseSchemaExtension();case\"scalar\":return this.parseScalarTypeExtension();case\"type\":return this.parseObjectTypeExtension();case\"interface\":return this.parseInterfaceTypeExtension();case\"union\":return this.parseUnionTypeExtension();case\"enum\":return this.parseEnumTypeExtension();case\"input\":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},n.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"schema\");var n=this.parseDirectives(!0),t=this.optionalMany(f.TokenKind.BRACE_L,this.parseOperationTypeDefinition,f.TokenKind.BRACE_R);if(0===n.length&&0===t.length)throw this.unexpected();return{kind:p.Kind.SCHEMA_EXTENSION,directives:n,operationTypes:t,loc:this.loc(e)}},n.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"scalar\");var n=this.parseName(),t=this.parseDirectives(!0);if(0===t.length)throw this.unexpected();return{kind:p.Kind.SCALAR_TYPE_EXTENSION,name:n,directives:t,loc:this.loc(e)}},n.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"type\");var n=this.parseName(),t=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===t.length&&0===i.length&&0===r.length)throw this.unexpected();return{kind:p.Kind.OBJECT_TYPE_EXTENSION,name:n,interfaces:t,directives:i,fields:r,loc:this.loc(e)}},n.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"interface\");var n=this.parseName(),t=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===t.length&&0===i.length&&0===r.length)throw this.unexpected();return{kind:p.Kind.INTERFACE_TYPE_EXTENSION,name:n,interfaces:t,directives:i,fields:r,loc:this.loc(e)}},n.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"union\");var n=this.parseName(),t=this.parseDirectives(!0),i=this.parseUnionMemberTypes();if(0===t.length&&0===i.length)throw this.unexpected();return{kind:p.Kind.UNION_TYPE_EXTENSION,name:n,directives:t,types:i,loc:this.loc(e)}},n.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"enum\");var n=this.parseName(),t=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();if(0===t.length&&0===i.length)throw this.unexpected();return{kind:p.Kind.ENUM_TYPE_EXTENSION,name:n,directives:t,values:i,loc:this.loc(e)}},n.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"input\");var n=this.parseName(),t=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();if(0===t.length&&0===i.length)throw this.unexpected();return{kind:p.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:t,fields:i,loc:this.loc(e)}},n.parseDirectiveDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"directive\"),this.expectToken(f.TokenKind.AT);var t=this.parseName(),i=this.parseArgumentDefs(),r=this.expectOptionalKeyword(\"repeatable\");this.expectKeyword(\"on\");var o=this.parseDirectiveLocations();return{kind:p.Kind.DIRECTIVE_DEFINITION,description:n,name:t,arguments:i,repeatable:r,locations:o,loc:this.loc(e)}},n.parseDirectiveLocations=function(){return this.delimitedMany(f.TokenKind.PIPE,this.parseDirectiveLocation)},n.parseDirectiveLocation=function(){var e=this._lexer.token,n=this.parseName();if(void 0!==_.DirectiveLocation[n.value])return n;throw this.unexpected(e)},n.loc=function(e){var n;if(!0!==(null===(n=this._options)||void 0===n?void 0:n.noLocation))return new N.Location(e,this._lexer.lastToken,this._lexer.source)},n.peek=function(e){return this._lexer.token.kind===e},n.expectToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n;throw(0,v.syntaxError)(this._lexer.source,n.start,\"Expected \".concat(r(e),\", found \").concat(i(n),\".\"))},n.expectOptionalToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n},n.expectKeyword=function(e){var n=this._lexer.token;if(n.kind!==f.TokenKind.NAME||n.value!==e)throw(0,v.syntaxError)(this._lexer.source,n.start,'Expected \"'.concat(e,'\", found ').concat(i(n),\".\"));this._lexer.advance()},n.expectOptionalKeyword=function(e){var n=this._lexer.token;return n.kind===f.TokenKind.NAME&&n.value===e&&(this._lexer.advance(),!0)},n.unexpected=function(e){var n=null!=e?e:this._lexer.token;return(0,v.syntaxError)(this._lexer.source,n.start,\"Unexpected \".concat(i(n),\".\"))},n.any=function(e,n,t){this.expectToken(e);for(var i=[];!this.expectOptionalToken(t);)i.push(n.call(this));return i},n.optionalMany=function(e,n,t){if(this.expectOptionalToken(e)){var i=[];do{i.push(n.call(this))}while(!this.expectOptionalToken(t));return i}return[]},n.many=function(e,n,t){this.expectToken(e);var i=[];do{i.push(n.call(this))}while(!this.expectOptionalToken(t));return i},n.delimitedMany=function(e,n){this.expectOptionalToken(e);var t=[];do{t.push(n.call(this))}while(this.expectOptionalToken(e));return t},e}();function i(e){var n=e.value;return r(e.kind)+(null!=n?' \"'.concat(n,'\"'):\"\")}function r(e){return(0,k.isPunctuatorTokenKind)(e)?'\"'.concat(e,'\"'):e}n.Parser=t})),I=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.visit=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r,a=void 0,c=Array.isArray(e),u=[e],l=-1,d=[],p=void 0,f=void 0,h=void 0,T=[],v=[],E=e;do{var y=++l===u.length,m=y&&0!==d.length;if(y){if(f=0===v.length?void 0:T[T.length-1],p=h,h=v.pop(),m){if(c)p=p.slice();else{for(var k={},_=0,O=Object.keys(p);_80&&(l=u+a(\"(\\n\",s(r(i,\"\\n\")),\"\\n)\")),r([l,r(o,\" \"),c],\" \")},Argument:function(e){return e.name+\": \"+e.value},FragmentSpread:function(e){return\"...\"+e.name+a(\" \",r(e.directives,\" \"))},InlineFragment:function(e){var n=e.typeCondition,t=e.directives,i=e.selectionSet;return r([\"...\",a(\"on \",n),r(t,\" \"),i],\" \")},FragmentDefinition:function(e){var n=e.name,t=e.typeCondition,i=e.variableDefinitions,o=e.directives,s=e.selectionSet;return\"fragment \".concat(n).concat(a(\"(\",r(i,\", \"),\")\"),\" \")+\"on \".concat(t,\" \").concat(a(\"\",r(o,\" \"),\" \"))+s},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,n){var t=e.value;return e.block?(0,m.printBlockString)(t,\"description\"===n?\"\":\" \"):JSON.stringify(t)},BooleanValue:function(e){return e.value?\"true\":\"false\"},NullValue:function(){return\"null\"},EnumValue:function(e){return e.value},ListValue:function(e){return\"[\"+r(e.values,\", \")+\"]\"},ObjectValue:function(e){return\"{\"+r(e.fields,\", \")+\"}\"},ObjectField:function(e){return e.name+\": \"+e.value},Directive:function(e){return\"@\"+e.name+a(\"(\",r(e.arguments,\", \"),\")\")},NamedType:function(e){return e.name},ListType:function(e){return\"[\"+e.type+\"]\"},NonNullType:function(e){return e.type+\"!\"},SchemaDefinition:i((function(e){var n=e.directives,t=e.operationTypes;return r([\"schema\",r(n,\" \"),o(t)],\" \")})),OperationTypeDefinition:function(e){return e.operation+\": \"+e.type},ScalarTypeDefinition:i((function(e){return r([\"scalar\",e.name,r(e.directives,\" \")],\" \")})),ObjectTypeDefinition:i((function(e){var n=e.name,t=e.interfaces,i=e.directives,s=e.fields;return r([\"type\",n,a(\"implements \",r(t,\" & \")),r(i,\" \"),o(s)],\" \")})),FieldDefinition:i((function(e){var n=e.name,t=e.arguments,i=e.type,o=e.directives;return n+(u(t)?a(\"(\\n\",s(r(t,\"\\n\")),\"\\n)\"):a(\"(\",r(t,\", \"),\")\"))+\": \"+i+a(\" \",r(o,\" \"))})),InputValueDefinition:i((function(e){var n=e.name,t=e.type,i=e.defaultValue,o=e.directives;return r([n+\": \"+t,a(\"= \",i),r(o,\" \")],\" \")})),InterfaceTypeDefinition:i((function(e){var n=e.name,t=e.interfaces,i=e.directives,s=e.fields;return r([\"interface\",n,a(\"implements \",r(t,\" & \")),r(i,\" \"),o(s)],\" \")})),UnionTypeDefinition:i((function(e){var n=e.name,t=e.directives,i=e.types;return r([\"union\",n,r(t,\" \"),i&&0!==i.length?\"= \"+r(i,\" | \"):\"\"],\" \")})),EnumTypeDefinition:i((function(e){var n=e.name,t=e.directives,i=e.values;return r([\"enum\",n,r(t,\" \"),o(i)],\" \")})),EnumValueDefinition:i((function(e){return r([e.name,r(e.directives,\" \")],\" \")})),InputObjectTypeDefinition:i((function(e){var n=e.name,t=e.directives,i=e.fields;return r([\"input\",n,r(t,\" \"),o(i)],\" \")})),DirectiveDefinition:i((function(e){var n=e.name,t=e.arguments,i=e.repeatable,o=e.locations;return\"directive @\"+n+(u(t)?a(\"(\\n\",s(r(t,\"\\n\")),\"\\n)\"):a(\"(\",r(t,\", \"),\")\"))+(i?\" repeatable\":\"\")+\" on \"+r(o,\" | \")})),SchemaExtension:function(e){var n=e.directives,t=e.operationTypes;return r([\"extend schema\",r(n,\" \"),o(t)],\" \")},ScalarTypeExtension:function(e){return r([\"extend scalar\",e.name,r(e.directives,\" \")],\" \")},ObjectTypeExtension:function(e){var n=e.name,t=e.interfaces,i=e.directives,s=e.fields;return r([\"extend type\",n,a(\"implements \",r(t,\" & \")),r(i,\" \"),o(s)],\" \")},InterfaceTypeExtension:function(e){var n=e.name,t=e.interfaces,i=e.directives,s=e.fields;return r([\"extend interface\",n,a(\"implements \",r(t,\" & \")),r(i,\" \"),o(s)],\" \")},UnionTypeExtension:function(e){var n=e.name,t=e.directives,i=e.types;return r([\"extend union\",n,r(t,\" \"),i&&0!==i.length?\"= \"+r(i,\" | \"):\"\"],\" \")},EnumTypeExtension:function(e){var n=e.name,t=e.directives,i=e.values;return r([\"extend enum\",n,r(t,\" \"),o(i)],\" \")},InputObjectTypeExtension:function(e){var n=e.name,t=e.directives,i=e.fields;return r([\"extend input\",n,r(t,\" \"),o(i)],\" \")}};function i(e){return function(n){return r([n.description,e(n)],\"\\n\")}}function r(e){var n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";return null!==(n=null==e?void 0:e.filter((function(e){return e})).join(t))&&void 0!==n?n:\"\"}function o(e){return a(\"{\\n\",s(r(e,\"\\n\")),\"\\n}\")}function a(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\";return null!=n&&\"\"!==n?e+n+t:\"\"}function s(e){return a(\" \",e.replace(/\\n/g,\"\\n \"))}function c(e){return-1!==e.indexOf(\"\\n\")}function u(e){return null!=e&&e.some(c)}})),D=i((function(e,n){function t(e){return e.kind===p.Kind.OPERATION_DEFINITION||e.kind===p.Kind.FRAGMENT_DEFINITION}function i(e){return e.kind===p.Kind.SCHEMA_DEFINITION||r(e)||e.kind===p.Kind.DIRECTIVE_DEFINITION}function r(e){return e.kind===p.Kind.SCALAR_TYPE_DEFINITION||e.kind===p.Kind.OBJECT_TYPE_DEFINITION||e.kind===p.Kind.INTERFACE_TYPE_DEFINITION||e.kind===p.Kind.UNION_TYPE_DEFINITION||e.kind===p.Kind.ENUM_TYPE_DEFINITION||e.kind===p.Kind.INPUT_OBJECT_TYPE_DEFINITION}function o(e){return e.kind===p.Kind.SCHEMA_EXTENSION||a(e)}function a(e){return e.kind===p.Kind.SCALAR_TYPE_EXTENSION||e.kind===p.Kind.OBJECT_TYPE_EXTENSION||e.kind===p.Kind.INTERFACE_TYPE_EXTENSION||e.kind===p.Kind.UNION_TYPE_EXTENSION||e.kind===p.Kind.ENUM_TYPE_EXTENSION||e.kind===p.Kind.INPUT_OBJECT_TYPE_EXTENSION}Object.defineProperty(n,\"__esModule\",{value:!0}),n.isDefinitionNode=function(e){return t(e)||i(e)||o(e)},n.isExecutableDefinitionNode=t,n.isSelectionNode=function(e){return e.kind===p.Kind.FIELD||e.kind===p.Kind.FRAGMENT_SPREAD||e.kind===p.Kind.INLINE_FRAGMENT},n.isValueNode=function(e){return e.kind===p.Kind.VARIABLE||e.kind===p.Kind.INT||e.kind===p.Kind.FLOAT||e.kind===p.Kind.STRING||e.kind===p.Kind.BOOLEAN||e.kind===p.Kind.NULL||e.kind===p.Kind.ENUM||e.kind===p.Kind.LIST||e.kind===p.Kind.OBJECT},n.isTypeNode=function(e){return e.kind===p.Kind.NAMED_TYPE||e.kind===p.Kind.LIST_TYPE||e.kind===p.Kind.NON_NULL_TYPE},n.isTypeSystemDefinitionNode=i,n.isTypeDefinitionNode=r,n.isTypeSystemExtensionNode=o,n.isTypeExtensionNode=a})),x=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),Object.defineProperty(n,\"Source\",{enumerable:!0,get:function(){return u.Source}}),Object.defineProperty(n,\"getLocation\",{enumerable:!0,get:function(){return l.getLocation}}),Object.defineProperty(n,\"printLocation\",{enumerable:!0,get:function(){return d.printLocation}}),Object.defineProperty(n,\"printSourceLocation\",{enumerable:!0,get:function(){return d.printSourceLocation}}),Object.defineProperty(n,\"Kind\",{enumerable:!0,get:function(){return p.Kind}}),Object.defineProperty(n,\"TokenKind\",{enumerable:!0,get:function(){return f.TokenKind}}),Object.defineProperty(n,\"Lexer\",{enumerable:!0,get:function(){return k.Lexer}}),Object.defineProperty(n,\"parse\",{enumerable:!0,get:function(){return O.parse}}),Object.defineProperty(n,\"parseValue\",{enumerable:!0,get:function(){return O.parseValue}}),Object.defineProperty(n,\"parseType\",{enumerable:!0,get:function(){return O.parseType}}),Object.defineProperty(n,\"print\",{enumerable:!0,get:function(){return b.print}}),Object.defineProperty(n,\"visit\",{enumerable:!0,get:function(){return I.visit}}),Object.defineProperty(n,\"visitInParallel\",{enumerable:!0,get:function(){return I.visitInParallel}}),Object.defineProperty(n,\"getVisitFn\",{enumerable:!0,get:function(){return I.getVisitFn}}),Object.defineProperty(n,\"BREAK\",{enumerable:!0,get:function(){return I.BREAK}}),Object.defineProperty(n,\"Location\",{enumerable:!0,get:function(){return N.Location}}),Object.defineProperty(n,\"Token\",{enumerable:!0,get:function(){return N.Token}}),Object.defineProperty(n,\"isDefinitionNode\",{enumerable:!0,get:function(){return D.isDefinitionNode}}),Object.defineProperty(n,\"isExecutableDefinitionNode\",{enumerable:!0,get:function(){return D.isExecutableDefinitionNode}}),Object.defineProperty(n,\"isSelectionNode\",{enumerable:!0,get:function(){return D.isSelectionNode}}),Object.defineProperty(n,\"isValueNode\",{enumerable:!0,get:function(){return D.isValueNode}}),Object.defineProperty(n,\"isTypeNode\",{enumerable:!0,get:function(){return D.isTypeNode}}),Object.defineProperty(n,\"isTypeSystemDefinitionNode\",{enumerable:!0,get:function(){return D.isTypeSystemDefinitionNode}}),Object.defineProperty(n,\"isTypeDefinitionNode\",{enumerable:!0,get:function(){return D.isTypeDefinitionNode}}),Object.defineProperty(n,\"isTypeSystemExtensionNode\",{enumerable:!0,get:function(){return D.isTypeSystemExtensionNode}}),Object.defineProperty(n,\"isTypeExtensionNode\",{enumerable:!0,get:function(){return D.isTypeExtensionNode}}),Object.defineProperty(n,\"DirectiveLocation\",{enumerable:!0,get:function(){return _.DirectiveLocation}})})),A=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.locatedError=function(e,n,t){var r,o=e instanceof Error?e:new Error(\"Unexpected error value: \"+(0,i.default)(e));if(Array.isArray(o.path))return o;return new T.GraphQLError(o.message,null!==(r=o.nodes)&&void 0!==r?r:n,o.source,o.positions,t,o)};var t,i=(t=a)&&t.__esModule?t:{default:t}})),S=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.formatError=function(e){var n;e||(0,i.default)(0,\"Received null or undefined error.\");var t=null!==(n=e.message)&&void 0!==n?n:\"An unknown error occurred.\",r=e.locations,o=e.path,a=e.extensions;return a?{message:t,locations:r,path:o,extensions:a}:{message:t,locations:r,path:o}};var t,i=(t=s)&&t.__esModule?t:{default:t}})),K=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),Object.defineProperty(n,\"GraphQLError\",{enumerable:!0,get:function(){return T.GraphQLError}}),Object.defineProperty(n,\"printError\",{enumerable:!0,get:function(){return T.printError}}),Object.defineProperty(n,\"syntaxError\",{enumerable:!0,get:function(){return v.syntaxError}}),Object.defineProperty(n,\"locatedError\",{enumerable:!0,get:function(){return A.locatedError}}),Object.defineProperty(n,\"formatError\",{enumerable:!0,get:function(){return S.formatError}})}));const{hasPragma:g}=n,{locStart:L,locEnd:P}=t;function R(e){if(e&&\"object\"==typeof e){delete e.startToken,delete e.endToken,delete e.prev,delete e.next;for(const n in e)R(e[n])}return e}return{parsers:{graphql:{parse:function(n){const t=x;try{const e=function(e,n){const t={allowLegacySDLImplementsInterfaces:!1,experimentalFragmentVariables:!0};try{return e(n,t)}catch(i){return t.allowLegacySDLImplementsInterfaces=!0,e(n,t)}}(t.parse,n);return e.comments=function(e){const n=[],{startToken:t}=e.loc;let{next:i}=t;for(;\"\"!==i.kind;)\"Comment\"===i.kind&&(Object.assign(i,{column:i.column-1}),n.push(i)),i=i.next;return n}(e),R(e),e}catch(n){const{GraphQLError:t}=K;if(n instanceof t){const{message:t,locations:[i]}=n;throw e(t,{start:i})}throw n}},astFormat:\"graphql\",hasPragma:g,locStart:L,locEnd:P}}}}));\n","'use strict';\n\n/**\n * Minimal HTTP/S proxy client\n */\n\nconst net = require('net');\nconst tls = require('tls');\nconst urllib = require('url');\n\n/**\n * Establishes proxied connection to destinationPort\n *\n * httpProxyClient(\"http://localhost:3128/\", 80, \"google.com\", function(err, socket){\n * socket.write(\"GET / HTTP/1.0\\r\\n\\r\\n\");\n * });\n *\n * @param {String} proxyUrl proxy configuration, etg \"http://proxy.host:3128/\"\n * @param {Number} destinationPort Port to open in destination host\n * @param {String} destinationHost Destination hostname\n * @param {Function} callback Callback to run with the rocket object once connection is established\n */\nfunction httpProxyClient(proxyUrl, destinationPort, destinationHost, callback) {\n let proxy = urllib.parse(proxyUrl);\n\n // create a socket connection to the proxy server\n let options;\n let connect;\n let socket;\n\n options = {\n host: proxy.hostname,\n port: Number(proxy.port) ? Number(proxy.port) : proxy.protocol === 'https:' ? 443 : 80\n };\n\n if (proxy.protocol === 'https:') {\n // we can use untrusted proxies as long as we verify actual SMTP certificates\n options.rejectUnauthorized = false;\n connect = tls.connect.bind(tls);\n } else {\n connect = net.connect.bind(net);\n }\n\n // Error harness for initial connection. Once connection is established, the responsibility\n // to handle errors is passed to whoever uses this socket\n let finished = false;\n let tempSocketErr = function (err) {\n if (finished) {\n return;\n }\n finished = true;\n try {\n socket.destroy();\n } catch (E) {\n // ignore\n }\n callback(err);\n };\n\n socket = connect(options, () => {\n if (finished) {\n return;\n }\n\n let reqHeaders = {\n Host: destinationHost + ':' + destinationPort,\n Connection: 'close'\n };\n if (proxy.auth) {\n reqHeaders['Proxy-Authorization'] = 'Basic ' + Buffer.from(proxy.auth).toString('base64');\n }\n\n socket.write(\n // HTTP method\n 'CONNECT ' +\n destinationHost +\n ':' +\n destinationPort +\n ' HTTP/1.1\\r\\n' +\n // HTTP request headers\n Object.keys(reqHeaders)\n .map(key => key + ': ' + reqHeaders[key])\n .join('\\r\\n') +\n // End request\n '\\r\\n\\r\\n'\n );\n\n let headers = '';\n let onSocketData = chunk => {\n let match;\n let remainder;\n\n if (finished) {\n return;\n }\n\n headers += chunk.toString('binary');\n if ((match = headers.match(/\\r\\n\\r\\n/))) {\n socket.removeListener('data', onSocketData);\n\n remainder = headers.substr(match.index + match[0].length);\n headers = headers.substr(0, match.index);\n if (remainder) {\n socket.unshift(Buffer.from(remainder, 'binary'));\n }\n\n // proxy connection is now established\n finished = true;\n\n // check response code\n match = headers.match(/^HTTP\\/\\d+\\.\\d+ (\\d+)/i);\n if (!match || (match[1] || '').charAt(0) !== '2') {\n try {\n socket.destroy();\n } catch (E) {\n // ignore\n }\n return callback(new Error('Invalid response from proxy' + ((match && ': ' + match[1]) || '')));\n }\n\n socket.removeListener('error', tempSocketErr);\n return callback(null, socket);\n }\n };\n socket.on('data', onSocketData);\n });\n\n socket.once('error', tempSocketErr);\n}\n\nmodule.exports = httpProxyClient;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlReadFunc = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898fccafc5d6cd04f6235f283cfbd/include/curl/curl.h#L361-L366\r\n/**\r\n * Special return codes for `READFUNCTION` option\r\n *\r\n * `CURL_READFUNC_ABORT` becomes `CurlReadFunc.Abort`\r\n *\r\n * @public\r\n */\r\nvar CurlReadFunc;\r\n(function (CurlReadFunc) {\r\n CurlReadFunc[CurlReadFunc[\"Abort\"] = 268435456] = \"Abort\";\r\n CurlReadFunc[CurlReadFunc[\"Pause\"] = 268435457] = \"Pause\";\r\n})(CurlReadFunc = exports.CurlReadFunc || (exports.CurlReadFunc = {}));\r\n//# sourceMappingURL=CurlReadFunc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateSite = void 0;\nconst shelljs_1 = require(\"shelljs\");\nconst init_check_1 = require(\"./helpers/init-check\");\nconst generateSite = async () => {\n if (!(await init_check_1.shouldContinue()))\n return;\n const siteDir = \"site\";\n shelljs_1.mkdir(siteDir);\n shelljs_1.cd(siteDir);\n shelljs_1.exec(\"npm init -y\");\n shelljs_1.exec(\"npm i @upptime/status-page\");\n shelljs_1.cp(\"-r\", \"node_modules/@upptime/status-page/*\", \".\");\n shelljs_1.exec(\"npm i\");\n shelljs_1.exec(\"npm run export\");\n shelljs_1.mkdir(\"-p\", \"status-page/__sapper__/export\");\n shelljs_1.cp(\"-r\", \"__sapper__/export/*\", \"status-page/__sapper__/export\");\n shelljs_1.cd(\"../..\");\n};\nexports.generateSite = generateSite;\n//# sourceMappingURL=site.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar universalUserAgent = require('universal-user-agent');\nvar beforeAfterHook = require('before-after-hook');\nvar request = require('@octokit/request');\nvar graphql = require('@octokit/graphql');\nvar authToken = require('@octokit/auth-token');\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nconst VERSION = \"2.5.4\";\n\nclass Octokit {\n constructor(options = {}) {\n const hook = new beforeAfterHook.Collection();\n const requestDefaults = {\n baseUrl: request.request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n }; // prepend default user agent with `options.userAgent` if set\n\n requestDefaults.headers[\"user-agent\"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(\" \");\n\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n\n this.request = request.request.defaults(requestDefaults);\n this.graphql = graphql.withCustomRequest(this.request).defaults(_objectSpread2(_objectSpread2({}, requestDefaults), {}, {\n baseUrl: requestDefaults.baseUrl.replace(/\\/api\\/v3$/, \"/api\")\n }));\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; // (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 registred.\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\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n // (2)\n const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const auth = options.authStrategy(Object.assign({\n request: this.request\n }, options.auth)); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n } // apply plugins\n // https://stackoverflow.com/a/16345172\n\n\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach(plugin => {\n Object.assign(this, plugin(this, options));\n });\n }\n\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null));\n }\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\n\n static plugin(p1, ...p2) {\n var _a;\n\n if (p1 instanceof Array) {\n console.warn([\"Passing an array of plugins to Octokit.plugin() has been deprecated.\", \"Instead of:\", \" Octokit.plugin([plugin1, plugin2, ...])\", \"Use:\", \" Octokit.plugin(plugin1, plugin2, ...)\"].join(\"\\n\"));\n }\n\n const currentPlugins = this.plugins;\n let newPlugins = [...(p1 instanceof Array ? p1 : [p1]), ...p2];\n const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a);\n return NewOctokit;\n }\n\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n\nexports.Octokit = Octokit;\n//# sourceMappingURL=index.js.map\n","var once = require('once')\nvar eos = require('end-of-stream')\nvar fs = require('fs') // we only need fs to get the ReadStream and WriteStream prototypes\n\nvar noop = function () {}\nvar ancient = /^v?\\.0/.test(process.version)\n\nvar isFn = function (fn) {\n return typeof fn === 'function'\n}\n\nvar isFS = function (stream) {\n if (!ancient) return false // newer node version do not need to care about fs is a special way\n if (!fs) return false // browser\n return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close)\n}\n\nvar isRequest = function (stream) {\n return stream.setHeader && isFn(stream.abort)\n}\n\nvar destroyer = function (stream, reading, writing, callback) {\n callback = once(callback)\n\n var closed = false\n stream.on('close', function () {\n closed = true\n })\n\n eos(stream, {readable: reading, writable: writing}, function (err) {\n if (err) return callback(err)\n closed = true\n callback()\n })\n\n var destroyed = false\n return function (err) {\n if (closed) return\n if (destroyed) return\n destroyed = true\n\n if (isFS(stream)) return stream.close(noop) // use close for fs streams to avoid fd leaks\n if (isRequest(stream)) return stream.abort() // request.destroy just do .end - .abort is what we want\n\n if (isFn(stream.destroy)) return stream.destroy()\n\n callback(err || new Error('stream was destroyed'))\n }\n}\n\nvar call = function (fn) {\n fn()\n}\n\nvar pipe = function (from, to) {\n return from.pipe(to)\n}\n\nvar pump = function () {\n var streams = Array.prototype.slice.call(arguments)\n var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop\n\n if (Array.isArray(streams[0])) streams = streams[0]\n if (streams.length < 2) throw new Error('pump requires two streams per minimum')\n\n var error\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1\n var writing = i > 0\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err\n if (err) destroys.forEach(call)\n if (reading) return\n destroys.forEach(call)\n callback(error)\n })\n })\n\n return streams.reduce(pipe)\n}\n\nmodule.exports = pump\n","var debug;\ntry {\n /* eslint global-require: off */\n debug = require(\"debug\")(\"follow-redirects\");\n}\ncatch (error) {\n debug = function () { /* */ };\n}\nmodule.exports = debug;\n","'use strict';\n\n/*eslint-disable max-len,no-use-before-define*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar Mark = require('./mark');\nvar DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');\nvar DEFAULT_FULL_SCHEMA = require('./schema/default_full');\n\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\n\nvar CONTEXT_FLOW_IN = 1;\nvar CONTEXT_FLOW_OUT = 2;\nvar CONTEXT_BLOCK_IN = 3;\nvar CONTEXT_BLOCK_OUT = 4;\n\n\nvar CHOMPING_CLIP = 1;\nvar CHOMPING_STRIP = 2;\nvar CHOMPING_KEEP = 3;\n\n\nvar PATTERN_NON_PRINTABLE = /[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\nvar PATTERN_NON_ASCII_LINE_BREAKS = /[\\x85\\u2028\\u2029]/;\nvar PATTERN_FLOW_INDICATORS = /[,\\[\\]\\{\\}]/;\nvar PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\\-]+!)$/i;\nvar PATTERN_TAG_URI = /^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;\n\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\n\nfunction is_EOL(c) {\n return (c === 0x0A/* LF */) || (c === 0x0D/* CR */);\n}\n\nfunction is_WHITE_SPACE(c) {\n return (c === 0x09/* Tab */) || (c === 0x20/* Space */);\n}\n\nfunction is_WS_OR_EOL(c) {\n return (c === 0x09/* Tab */) ||\n (c === 0x20/* Space */) ||\n (c === 0x0A/* LF */) ||\n (c === 0x0D/* CR */);\n}\n\nfunction is_FLOW_INDICATOR(c) {\n return c === 0x2C/* , */ ||\n c === 0x5B/* [ */ ||\n c === 0x5D/* ] */ ||\n c === 0x7B/* { */ ||\n c === 0x7D/* } */;\n}\n\nfunction fromHexCode(c) {\n var lc;\n\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n /*eslint-disable no-bitwise*/\n lc = c | 0x20;\n\n if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) {\n return lc - 0x61 + 10;\n }\n\n return -1;\n}\n\nfunction escapedHexLen(c) {\n if (c === 0x78/* x */) { return 2; }\n if (c === 0x75/* u */) { return 4; }\n if (c === 0x55/* U */) { return 8; }\n return 0;\n}\n\nfunction fromDecimalCode(c) {\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n return -1;\n}\n\nfunction simpleEscapeSequence(c) {\n /* eslint-disable indent */\n return (c === 0x30/* 0 */) ? '\\x00' :\n (c === 0x61/* a */) ? '\\x07' :\n (c === 0x62/* b */) ? '\\x08' :\n (c === 0x74/* t */) ? '\\x09' :\n (c === 0x09/* Tab */) ? '\\x09' :\n (c === 0x6E/* n */) ? '\\x0A' :\n (c === 0x76/* v */) ? '\\x0B' :\n (c === 0x66/* f */) ? '\\x0C' :\n (c === 0x72/* r */) ? '\\x0D' :\n (c === 0x65/* e */) ? '\\x1B' :\n (c === 0x20/* Space */) ? ' ' :\n (c === 0x22/* \" */) ? '\\x22' :\n (c === 0x2F/* / */) ? '/' :\n (c === 0x5C/* \\ */) ? '\\x5C' :\n (c === 0x4E/* N */) ? '\\x85' :\n (c === 0x5F/* _ */) ? '\\xA0' :\n (c === 0x4C/* L */) ? '\\u2028' :\n (c === 0x50/* P */) ? '\\u2029' : '';\n}\n\nfunction charFromCodepoint(c) {\n if (c <= 0xFFFF) {\n return String.fromCharCode(c);\n }\n // Encode UTF-16 surrogate pair\n // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF\n return String.fromCharCode(\n ((c - 0x010000) >> 10) + 0xD800,\n ((c - 0x010000) & 0x03FF) + 0xDC00\n );\n}\n\nvar simpleEscapeCheck = new Array(256); // integer, for fast access\nvar simpleEscapeMap = new Array(256);\nfor (var i = 0; i < 256; i++) {\n simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;\n simpleEscapeMap[i] = simpleEscapeSequence(i);\n}\n\n\nfunction State(input, options) {\n this.input = input;\n\n this.filename = options['filename'] || null;\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.onWarning = options['onWarning'] || null;\n this.legacy = options['legacy'] || false;\n this.json = options['json'] || false;\n this.listener = options['listener'] || null;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.typeMap = this.schema.compiledTypeMap;\n\n this.length = input.length;\n this.position = 0;\n this.line = 0;\n this.lineStart = 0;\n this.lineIndent = 0;\n\n this.documents = [];\n\n /*\n this.version;\n this.checkLineBreaks;\n this.tagMap;\n this.anchorMap;\n this.tag;\n this.anchor;\n this.kind;\n this.result;*/\n\n}\n\n\nfunction generateError(state, message) {\n return new YAMLException(\n message,\n new Mark(state.filename, state.input, state.position, state.line, (state.position - state.lineStart)));\n}\n\nfunction throwError(state, message) {\n throw generateError(state, message);\n}\n\nfunction throwWarning(state, message) {\n if (state.onWarning) {\n state.onWarning.call(null, generateError(state, message));\n }\n}\n\n\nvar directiveHandlers = {\n\n YAML: function handleYamlDirective(state, name, args) {\n\n var match, major, minor;\n\n if (state.version !== null) {\n throwError(state, 'duplication of %YAML directive');\n }\n\n if (args.length !== 1) {\n throwError(state, 'YAML directive accepts exactly one argument');\n }\n\n match = /^([0-9]+)\\.([0-9]+)$/.exec(args[0]);\n\n if (match === null) {\n throwError(state, 'ill-formed argument of the YAML directive');\n }\n\n major = parseInt(match[1], 10);\n minor = parseInt(match[2], 10);\n\n if (major !== 1) {\n throwError(state, 'unacceptable YAML version of the document');\n }\n\n state.version = args[0];\n state.checkLineBreaks = (minor < 2);\n\n if (minor !== 1 && minor !== 2) {\n throwWarning(state, 'unsupported YAML version of the document');\n }\n },\n\n TAG: function handleTagDirective(state, name, args) {\n\n var handle, prefix;\n\n if (args.length !== 2) {\n throwError(state, 'TAG directive accepts exactly two arguments');\n }\n\n handle = args[0];\n prefix = args[1];\n\n if (!PATTERN_TAG_HANDLE.test(handle)) {\n throwError(state, 'ill-formed tag handle (first argument) of the TAG directive');\n }\n\n if (_hasOwnProperty.call(state.tagMap, handle)) {\n throwError(state, 'there is a previously declared suffix for \"' + handle + '\" tag handle');\n }\n\n if (!PATTERN_TAG_URI.test(prefix)) {\n throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive');\n }\n\n state.tagMap[handle] = prefix;\n }\n};\n\n\nfunction captureSegment(state, start, end, checkJson) {\n var _position, _length, _character, _result;\n\n if (start < end) {\n _result = state.input.slice(start, end);\n\n if (checkJson) {\n for (_position = 0, _length = _result.length; _position < _length; _position += 1) {\n _character = _result.charCodeAt(_position);\n if (!(_character === 0x09 ||\n (0x20 <= _character && _character <= 0x10FFFF))) {\n throwError(state, 'expected valid JSON character');\n }\n }\n } else if (PATTERN_NON_PRINTABLE.test(_result)) {\n throwError(state, 'the stream contains non-printable characters');\n }\n\n state.result += _result;\n }\n}\n\nfunction mergeMappings(state, destination, source, overridableKeys) {\n var sourceKeys, key, index, quantity;\n\n if (!common.isObject(source)) {\n throwError(state, 'cannot merge mappings; the provided source object is unacceptable');\n }\n\n sourceKeys = Object.keys(source);\n\n for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {\n key = sourceKeys[index];\n\n if (!_hasOwnProperty.call(destination, key)) {\n destination[key] = source[key];\n overridableKeys[key] = true;\n }\n }\n}\n\nfunction storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) {\n var index, quantity;\n\n // The output is a plain object here, so keys can only be strings.\n // We need to convert keyNode to a string, but doing so can hang the process\n // (deeply nested arrays that explode exponentially using aliases).\n if (Array.isArray(keyNode)) {\n keyNode = Array.prototype.slice.call(keyNode);\n\n for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {\n if (Array.isArray(keyNode[index])) {\n throwError(state, 'nested arrays are not supported inside keys');\n }\n\n if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') {\n keyNode[index] = '[object Object]';\n }\n }\n }\n\n // Avoid code execution in load() via toString property\n // (still use its own toString for arrays, timestamps,\n // and whatever user schema extensions happen to have @@toStringTag)\n if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') {\n keyNode = '[object Object]';\n }\n\n\n keyNode = String(keyNode);\n\n if (_result === null) {\n _result = {};\n }\n\n if (keyTag === 'tag:yaml.org,2002:merge') {\n if (Array.isArray(valueNode)) {\n for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {\n mergeMappings(state, _result, valueNode[index], overridableKeys);\n }\n } else {\n mergeMappings(state, _result, valueNode, overridableKeys);\n }\n } else {\n if (!state.json &&\n !_hasOwnProperty.call(overridableKeys, keyNode) &&\n _hasOwnProperty.call(_result, keyNode)) {\n state.line = startLine || state.line;\n state.position = startPos || state.position;\n throwError(state, 'duplicated mapping key');\n }\n _result[keyNode] = valueNode;\n delete overridableKeys[keyNode];\n }\n\n return _result;\n}\n\nfunction readLineBreak(state) {\n var ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x0A/* LF */) {\n state.position++;\n } else if (ch === 0x0D/* CR */) {\n state.position++;\n if (state.input.charCodeAt(state.position) === 0x0A/* LF */) {\n state.position++;\n }\n } else {\n throwError(state, 'a line break is expected');\n }\n\n state.line += 1;\n state.lineStart = state.position;\n}\n\nfunction skipSeparationSpace(state, allowComments, checkIndent) {\n var lineBreaks = 0,\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (allowComments && ch === 0x23/* # */) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0);\n }\n\n if (is_EOL(ch)) {\n readLineBreak(state);\n\n ch = state.input.charCodeAt(state.position);\n lineBreaks++;\n state.lineIndent = 0;\n\n while (ch === 0x20/* Space */) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n } else {\n break;\n }\n }\n\n if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {\n throwWarning(state, 'deficient indentation');\n }\n\n return lineBreaks;\n}\n\nfunction testDocumentSeparator(state) {\n var _position = state.position,\n ch;\n\n ch = state.input.charCodeAt(_position);\n\n // Condition state.position === state.lineStart is tested\n // in parent on each call, for efficiency. No needs to test here again.\n if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) &&\n ch === state.input.charCodeAt(_position + 1) &&\n ch === state.input.charCodeAt(_position + 2)) {\n\n _position += 3;\n\n ch = state.input.charCodeAt(_position);\n\n if (ch === 0 || is_WS_OR_EOL(ch)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction writeFoldedLines(state, count) {\n if (count === 1) {\n state.result += ' ';\n } else if (count > 1) {\n state.result += common.repeat('\\n', count - 1);\n }\n}\n\n\nfunction readPlainScalar(state, nodeIndent, withinFlowCollection) {\n var preceding,\n following,\n captureStart,\n captureEnd,\n hasPendingContent,\n _line,\n _lineStart,\n _lineIndent,\n _kind = state.kind,\n _result = state.result,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (is_WS_OR_EOL(ch) ||\n is_FLOW_INDICATOR(ch) ||\n ch === 0x23/* # */ ||\n ch === 0x26/* & */ ||\n ch === 0x2A/* * */ ||\n ch === 0x21/* ! */ ||\n ch === 0x7C/* | */ ||\n ch === 0x3E/* > */ ||\n ch === 0x27/* ' */ ||\n ch === 0x22/* \" */ ||\n ch === 0x25/* % */ ||\n ch === 0x40/* @ */ ||\n ch === 0x60/* ` */) {\n return false;\n }\n\n if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n return false;\n }\n }\n\n state.kind = 'scalar';\n state.result = '';\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n\n while (ch !== 0) {\n if (ch === 0x3A/* : */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n break;\n }\n\n } else if (ch === 0x23/* # */) {\n preceding = state.input.charCodeAt(state.position - 1);\n\n if (is_WS_OR_EOL(preceding)) {\n break;\n }\n\n } else if ((state.position === state.lineStart && testDocumentSeparator(state)) ||\n withinFlowCollection && is_FLOW_INDICATOR(ch)) {\n break;\n\n } else if (is_EOL(ch)) {\n _line = state.line;\n _lineStart = state.lineStart;\n _lineIndent = state.lineIndent;\n skipSeparationSpace(state, false, -1);\n\n if (state.lineIndent >= nodeIndent) {\n hasPendingContent = true;\n ch = state.input.charCodeAt(state.position);\n continue;\n } else {\n state.position = captureEnd;\n state.line = _line;\n state.lineStart = _lineStart;\n state.lineIndent = _lineIndent;\n break;\n }\n }\n\n if (hasPendingContent) {\n captureSegment(state, captureStart, captureEnd, false);\n writeFoldedLines(state, state.line - _line);\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n }\n\n if (!is_WHITE_SPACE(ch)) {\n captureEnd = state.position + 1;\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, captureEnd, false);\n\n if (state.result) {\n return true;\n }\n\n state.kind = _kind;\n state.result = _result;\n return false;\n}\n\nfunction readSingleQuotedScalar(state, nodeIndent) {\n var ch,\n captureStart, captureEnd;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x27/* ' */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x27/* ' */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x27/* ' */) {\n captureStart = state.position;\n state.position++;\n captureEnd = state.position;\n } else {\n return true;\n }\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a single quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a single quoted scalar');\n}\n\nfunction readDoubleQuotedScalar(state, nodeIndent) {\n var captureStart,\n captureEnd,\n hexLength,\n hexResult,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x22/* \" */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x22/* \" */) {\n captureSegment(state, captureStart, state.position, true);\n state.position++;\n return true;\n\n } else if (ch === 0x5C/* \\ */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (is_EOL(ch)) {\n skipSeparationSpace(state, false, nodeIndent);\n\n // TODO: rework to inline fn with no type cast?\n } else if (ch < 256 && simpleEscapeCheck[ch]) {\n state.result += simpleEscapeMap[ch];\n state.position++;\n\n } else if ((tmp = escapedHexLen(ch)) > 0) {\n hexLength = tmp;\n hexResult = 0;\n\n for (; hexLength > 0; hexLength--) {\n ch = state.input.charCodeAt(++state.position);\n\n if ((tmp = fromHexCode(ch)) >= 0) {\n hexResult = (hexResult << 4) + tmp;\n\n } else {\n throwError(state, 'expected hexadecimal character');\n }\n }\n\n state.result += charFromCodepoint(hexResult);\n\n state.position++;\n\n } else {\n throwError(state, 'unknown escape sequence');\n }\n\n captureStart = captureEnd = state.position;\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a double quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a double quoted scalar');\n}\n\nfunction readFlowCollection(state, nodeIndent) {\n var readNext = true,\n _line,\n _tag = state.tag,\n _result,\n _anchor = state.anchor,\n following,\n terminator,\n isPair,\n isExplicitPair,\n isMapping,\n overridableKeys = {},\n keyNode,\n keyTag,\n valueNode,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x5B/* [ */) {\n terminator = 0x5D;/* ] */\n isMapping = false;\n _result = [];\n } else if (ch === 0x7B/* { */) {\n terminator = 0x7D;/* } */\n isMapping = true;\n _result = {};\n } else {\n return false;\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n while (ch !== 0) {\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === terminator) {\n state.position++;\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = isMapping ? 'mapping' : 'sequence';\n state.result = _result;\n return true;\n } else if (!readNext) {\n throwError(state, 'missed comma between flow collection entries');\n }\n\n keyTag = keyNode = valueNode = null;\n isPair = isExplicitPair = false;\n\n if (ch === 0x3F/* ? */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following)) {\n isPair = isExplicitPair = true;\n state.position++;\n skipSeparationSpace(state, true, nodeIndent);\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n keyTag = state.tag;\n keyNode = state.result;\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) {\n isPair = true;\n ch = state.input.charCodeAt(++state.position);\n skipSeparationSpace(state, true, nodeIndent);\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n valueNode = state.result;\n }\n\n if (isMapping) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode);\n } else if (isPair) {\n _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode));\n } else {\n _result.push(keyNode);\n }\n\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x2C/* , */) {\n readNext = true;\n ch = state.input.charCodeAt(++state.position);\n } else {\n readNext = false;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a flow collection');\n}\n\nfunction readBlockScalar(state, nodeIndent) {\n var captureStart,\n folding,\n chomping = CHOMPING_CLIP,\n didReadContent = false,\n detectedIndent = false,\n textIndent = nodeIndent,\n emptyLines = 0,\n atMoreIndented = false,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x7C/* | */) {\n folding = false;\n } else if (ch === 0x3E/* > */) {\n folding = true;\n } else {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n\n while (ch !== 0) {\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x2B/* + */ || ch === 0x2D/* - */) {\n if (CHOMPING_CLIP === chomping) {\n chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP;\n } else {\n throwError(state, 'repeat of a chomping mode identifier');\n }\n\n } else if ((tmp = fromDecimalCode(ch)) >= 0) {\n if (tmp === 0) {\n throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one');\n } else if (!detectedIndent) {\n textIndent = nodeIndent + tmp - 1;\n detectedIndent = true;\n } else {\n throwError(state, 'repeat of an indentation width identifier');\n }\n\n } else {\n break;\n }\n }\n\n if (is_WHITE_SPACE(ch)) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (is_WHITE_SPACE(ch));\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (!is_EOL(ch) && (ch !== 0));\n }\n }\n\n while (ch !== 0) {\n readLineBreak(state);\n state.lineIndent = 0;\n\n ch = state.input.charCodeAt(state.position);\n\n while ((!detectedIndent || state.lineIndent < textIndent) &&\n (ch === 0x20/* Space */)) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (!detectedIndent && state.lineIndent > textIndent) {\n textIndent = state.lineIndent;\n }\n\n if (is_EOL(ch)) {\n emptyLines++;\n continue;\n }\n\n // End of the scalar.\n if (state.lineIndent < textIndent) {\n\n // Perform the chomping.\n if (chomping === CHOMPING_KEEP) {\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n } else if (chomping === CHOMPING_CLIP) {\n if (didReadContent) { // i.e. only if the scalar is not empty.\n state.result += '\\n';\n }\n }\n\n // Break this `while` cycle and go to the funciton's epilogue.\n break;\n }\n\n // Folded style: use fancy rules to handle line breaks.\n if (folding) {\n\n // Lines starting with white space characters (more-indented lines) are not folded.\n if (is_WHITE_SPACE(ch)) {\n atMoreIndented = true;\n // except for the first content line (cf. Example 8.1)\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n\n // End of more-indented block.\n } else if (atMoreIndented) {\n atMoreIndented = false;\n state.result += common.repeat('\\n', emptyLines + 1);\n\n // Just one line break - perceive as the same line.\n } else if (emptyLines === 0) {\n if (didReadContent) { // i.e. only if we have already read some scalar content.\n state.result += ' ';\n }\n\n // Several line breaks - perceive as different lines.\n } else {\n state.result += common.repeat('\\n', emptyLines);\n }\n\n // Literal style: just add exact number of line breaks between content lines.\n } else {\n // Keep all line breaks except the header line break.\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n }\n\n didReadContent = true;\n detectedIndent = true;\n emptyLines = 0;\n captureStart = state.position;\n\n while (!is_EOL(ch) && (ch !== 0)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, state.position, false);\n }\n\n return true;\n}\n\nfunction readBlockSequence(state, nodeIndent) {\n var _line,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = [],\n following,\n detected = false,\n ch;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n\n if (ch !== 0x2D/* - */) {\n break;\n }\n\n following = state.input.charCodeAt(state.position + 1);\n\n if (!is_WS_OR_EOL(following)) {\n break;\n }\n\n detected = true;\n state.position++;\n\n if (skipSeparationSpace(state, true, -1)) {\n if (state.lineIndent <= nodeIndent) {\n _result.push(null);\n ch = state.input.charCodeAt(state.position);\n continue;\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);\n _result.push(state.result);\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) {\n throwError(state, 'bad indentation of a sequence entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'sequence';\n state.result = _result;\n return true;\n }\n return false;\n}\n\nfunction readBlockMapping(state, nodeIndent, flowIndent) {\n var following,\n allowCompact,\n _line,\n _pos,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = {},\n overridableKeys = {},\n keyTag = null,\n keyNode = null,\n valueNode = null,\n atExplicitKey = false,\n detected = false,\n ch;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n following = state.input.charCodeAt(state.position + 1);\n _line = state.line; // Save the current line.\n _pos = state.position;\n\n //\n // Explicit notation case. There are two separate blocks:\n // first for the key (denoted by \"?\") and second for the value (denoted by \":\")\n //\n if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) {\n\n if (ch === 0x3F/* ? */) {\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = true;\n allowCompact = true;\n\n } else if (atExplicitKey) {\n // i.e. 0x3A/* : */ === character after the explicit key.\n atExplicitKey = false;\n allowCompact = true;\n\n } else {\n throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line');\n }\n\n state.position += 1;\n ch = following;\n\n //\n // Implicit notation case. Flow-style node as the key first, then \":\", and the value.\n //\n } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {\n\n if (state.line === _line) {\n ch = state.input.charCodeAt(state.position);\n\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x3A/* : */) {\n ch = state.input.charCodeAt(++state.position);\n\n if (!is_WS_OR_EOL(ch)) {\n throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping');\n }\n\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = false;\n allowCompact = false;\n keyTag = state.tag;\n keyNode = state.result;\n\n } else if (detected) {\n throwError(state, 'can not read an implicit mapping pair; a colon is missed');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else if (detected) {\n throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else {\n break; // Reading is done. Go to the epilogue.\n }\n\n //\n // Common reading code for both explicit and implicit notations.\n //\n if (state.line === _line || state.lineIndent > nodeIndent) {\n if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {\n if (atExplicitKey) {\n keyNode = state.result;\n } else {\n valueNode = state.result;\n }\n }\n\n if (!atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos);\n keyTag = keyNode = valueNode = null;\n }\n\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n }\n\n if (state.lineIndent > nodeIndent && (ch !== 0)) {\n throwError(state, 'bad indentation of a mapping entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n //\n // Epilogue.\n //\n\n // Special case: last mapping's node contains only the key in explicit notation.\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n }\n\n // Expose the resulting mapping.\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'mapping';\n state.result = _result;\n }\n\n return detected;\n}\n\nfunction readTagProperty(state) {\n var _position,\n isVerbatim = false,\n isNamed = false,\n tagHandle,\n tagName,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x21/* ! */) return false;\n\n if (state.tag !== null) {\n throwError(state, 'duplication of a tag property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x3C/* < */) {\n isVerbatim = true;\n ch = state.input.charCodeAt(++state.position);\n\n } else if (ch === 0x21/* ! */) {\n isNamed = true;\n tagHandle = '!!';\n ch = state.input.charCodeAt(++state.position);\n\n } else {\n tagHandle = '!';\n }\n\n _position = state.position;\n\n if (isVerbatim) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && ch !== 0x3E/* > */);\n\n if (state.position < state.length) {\n tagName = state.input.slice(_position, state.position);\n ch = state.input.charCodeAt(++state.position);\n } else {\n throwError(state, 'unexpected end of the stream within a verbatim tag');\n }\n } else {\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n\n if (ch === 0x21/* ! */) {\n if (!isNamed) {\n tagHandle = state.input.slice(_position - 1, state.position + 1);\n\n if (!PATTERN_TAG_HANDLE.test(tagHandle)) {\n throwError(state, 'named tag handle cannot contain such characters');\n }\n\n isNamed = true;\n _position = state.position + 1;\n } else {\n throwError(state, 'tag suffix cannot contain exclamation marks');\n }\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n tagName = state.input.slice(_position, state.position);\n\n if (PATTERN_FLOW_INDICATORS.test(tagName)) {\n throwError(state, 'tag suffix cannot contain flow indicator characters');\n }\n }\n\n if (tagName && !PATTERN_TAG_URI.test(tagName)) {\n throwError(state, 'tag name cannot contain such characters: ' + tagName);\n }\n\n if (isVerbatim) {\n state.tag = tagName;\n\n } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) {\n state.tag = state.tagMap[tagHandle] + tagName;\n\n } else if (tagHandle === '!') {\n state.tag = '!' + tagName;\n\n } else if (tagHandle === '!!') {\n state.tag = 'tag:yaml.org,2002:' + tagName;\n\n } else {\n throwError(state, 'undeclared tag handle \"' + tagHandle + '\"');\n }\n\n return true;\n}\n\nfunction readAnchorProperty(state) {\n var _position,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x26/* & */) return false;\n\n if (state.anchor !== null) {\n throwError(state, 'duplication of an anchor property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an anchor node must contain at least one character');\n }\n\n state.anchor = state.input.slice(_position, state.position);\n return true;\n}\n\nfunction readAlias(state) {\n var _position, alias,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x2A/* * */) return false;\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an alias node must contain at least one character');\n }\n\n alias = state.input.slice(_position, state.position);\n\n if (!state.anchorMap.hasOwnProperty(alias)) {\n throwError(state, 'unidentified alias \"' + alias + '\"');\n }\n\n state.result = state.anchorMap[alias];\n skipSeparationSpace(state, true, -1);\n return true;\n}\n\nfunction composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {\n var allowBlockStyles,\n allowBlockScalars,\n allowBlockCollections,\n indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n }\n }\n\n if (indentStatus === 1) {\n while (readTagProperty(state) || readAnchorProperty(state)) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n allowBlockCollections = allowBlockStyles;\n\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n } else {\n allowBlockCollections = false;\n }\n }\n }\n\n if (allowBlockCollections) {\n allowBlockCollections = atNewLine || allowCompact;\n }\n\n if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {\n if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {\n flowIndent = parentIndent;\n } else {\n flowIndent = parentIndent + 1;\n }\n\n blockIndent = state.position - state.lineStart;\n\n if (indentStatus === 1) {\n if (allowBlockCollections &&\n (readBlockSequence(state, blockIndent) ||\n readBlockMapping(state, blockIndent, flowIndent)) ||\n readFlowCollection(state, flowIndent)) {\n hasContent = true;\n } else {\n if ((allowBlockScalars && readBlockScalar(state, flowIndent)) ||\n readSingleQuotedScalar(state, flowIndent) ||\n readDoubleQuotedScalar(state, flowIndent)) {\n hasContent = true;\n\n } else if (readAlias(state)) {\n hasContent = true;\n\n if (state.tag !== null || state.anchor !== null) {\n throwError(state, 'alias node should not have any properties');\n }\n\n } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {\n hasContent = true;\n\n if (state.tag === null) {\n state.tag = '?';\n }\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else if (indentStatus === 0) {\n // Special case: block sequences are allowed to have same indentation level as the parent.\n // http://www.yaml.org/spec/1.2/spec.html#id2799784\n hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);\n }\n }\n\n if (state.tag !== null && state.tag !== '!') {\n if (state.tag === '?') {\n // Implicit resolving is not allowed for non-scalar types, and '?'\n // non-specific tag is only automatically assigned to plain scalars.\n //\n // We only need to check kind conformity in case user explicitly assigns '?'\n // tag, for example like this: \"! [0]\"\n //\n if (state.result !== null && state.kind !== 'scalar') {\n throwError(state, 'unacceptable node kind for ! tag; it should be \"scalar\", not \"' + state.kind + '\"');\n }\n\n for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {\n type = state.implicitTypes[typeIndex];\n\n if (type.resolve(state.result)) { // `state.result` updated in resolver if matched\n state.result = type.construct(state.result);\n state.tag = type.tag;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n break;\n }\n }\n } else if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) {\n type = state.typeMap[state.kind || 'fallback'][state.tag];\n\n if (state.result !== null && type.kind !== state.kind) {\n throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be \"' + type.kind + '\", not \"' + state.kind + '\"');\n }\n\n if (!type.resolve(state.result)) { // `state.result` updated in resolver if matched\n throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag');\n } else {\n state.result = type.construct(state.result);\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else {\n throwError(state, 'unknown tag !<' + state.tag + '>');\n }\n }\n\n if (state.listener !== null) {\n state.listener('close', state);\n }\n return state.tag !== null || state.anchor !== null || hasContent;\n}\n\nfunction readDocument(state) {\n var documentStart = state.position,\n _position,\n directiveName,\n directiveArgs,\n hasDirectives = false,\n ch;\n\n state.version = null;\n state.checkLineBreaks = state.legacy;\n state.tagMap = {};\n state.anchorMap = {};\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if (state.lineIndent > 0 || ch !== 0x25/* % */) {\n break;\n }\n\n hasDirectives = true;\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveName = state.input.slice(_position, state.position);\n directiveArgs = [];\n\n if (directiveName.length < 1) {\n throwError(state, 'directive name must not be less than one character in length');\n }\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && !is_EOL(ch));\n break;\n }\n\n if (is_EOL(ch)) break;\n\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveArgs.push(state.input.slice(_position, state.position));\n }\n\n if (ch !== 0) readLineBreak(state);\n\n if (_hasOwnProperty.call(directiveHandlers, directiveName)) {\n directiveHandlers[directiveName](state, directiveName, directiveArgs);\n } else {\n throwWarning(state, 'unknown document directive \"' + directiveName + '\"');\n }\n }\n\n skipSeparationSpace(state, true, -1);\n\n if (state.lineIndent === 0 &&\n state.input.charCodeAt(state.position) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 1) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 2) === 0x2D/* - */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n\n } else if (hasDirectives) {\n throwError(state, 'directives end mark is expected');\n }\n\n composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);\n skipSeparationSpace(state, true, -1);\n\n if (state.checkLineBreaks &&\n PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {\n throwWarning(state, 'non-ASCII line breaks are interpreted as content');\n }\n\n state.documents.push(state.result);\n\n if (state.position === state.lineStart && testDocumentSeparator(state)) {\n\n if (state.input.charCodeAt(state.position) === 0x2E/* . */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n }\n return;\n }\n\n if (state.position < (state.length - 1)) {\n throwError(state, 'end of the stream or a document separator is expected');\n } else {\n return;\n }\n}\n\n\nfunction loadDocuments(input, options) {\n input = String(input);\n options = options || {};\n\n if (input.length !== 0) {\n\n // Add tailing `\\n` if not exists\n if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ &&\n input.charCodeAt(input.length - 1) !== 0x0D/* CR */) {\n input += '\\n';\n }\n\n // Strip BOM\n if (input.charCodeAt(0) === 0xFEFF) {\n input = input.slice(1);\n }\n }\n\n var state = new State(input, options);\n\n var nullpos = input.indexOf('\\0');\n\n if (nullpos !== -1) {\n state.position = nullpos;\n throwError(state, 'null byte is not allowed in input');\n }\n\n // Use 0 as string terminator. That significantly simplifies bounds check.\n state.input += '\\0';\n\n while (state.input.charCodeAt(state.position) === 0x20/* Space */) {\n state.lineIndent += 1;\n state.position += 1;\n }\n\n while (state.position < (state.length - 1)) {\n readDocument(state);\n }\n\n return state.documents;\n}\n\n\nfunction loadAll(input, iterator, options) {\n if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') {\n options = iterator;\n iterator = null;\n }\n\n var documents = loadDocuments(input, options);\n\n if (typeof iterator !== 'function') {\n return documents;\n }\n\n for (var index = 0, length = documents.length; index < length; index += 1) {\n iterator(documents[index]);\n }\n}\n\n\nfunction load(input, options) {\n var documents = loadDocuments(input, options);\n\n if (documents.length === 0) {\n /*eslint-disable no-undefined*/\n return undefined;\n } else if (documents.length === 1) {\n return documents[0];\n }\n throw new YAMLException('expected a single document in the stream, but found more');\n}\n\n\nfunction safeLoadAll(input, iterator, options) {\n if (typeof iterator === 'object' && iterator !== null && typeof options === 'undefined') {\n options = iterator;\n iterator = null;\n }\n\n return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\n\nfunction safeLoad(input, options) {\n return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\n\nmodule.exports.loadAll = loadAll;\nmodule.exports.load = load;\nmodule.exports.safeLoadAll = safeLoadAll;\nmodule.exports.safeLoad = safeLoad;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar deprecation = require('deprecation');\nvar once = _interopDefault(require('once'));\n\nconst logOnce = once(deprecation => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\n\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\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 = \"HttpError\";\n this.status = statusCode;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnce(new deprecation.Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n }\n\n });\n this.headers = options.headers || {}; // redact request credentials without mutating original request options\n\n const requestCopy = Object.assign({}, options.request);\n\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\n requestCopy.url = requestCopy.url // 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]\") // 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 }\n\n}\n\nexports.RequestError = RequestError;\n//# sourceMappingURL=index.js.map\n","'use strict'\n\nconst jsonFile = require('jsonfile')\n\nmodule.exports = {\n // jsonfile exports\n readJson: jsonFile.readFile,\n readJsonSync: jsonFile.readFileSync,\n writeJson: jsonFile.writeFile,\n writeJsonSync: jsonFile.writeFileSync\n}\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst command_1 = require(\"./command\");\nconst file_command_1 = require(\"./file-command\");\nconst utils_1 = require(\"./utils\");\nconst os = __importStar(require(\"os\"));\nconst path = __importStar(require(\"path\"));\n/**\n * The code to exit an action\n */\nvar ExitCode;\n(function (ExitCode) {\n /**\n * A code indicating that the action was successful\n */\n ExitCode[ExitCode[\"Success\"] = 0] = \"Success\";\n /**\n * A code indicating that the action was a failure\n */\n ExitCode[ExitCode[\"Failure\"] = 1] = \"Failure\";\n})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));\n//-----------------------------------------------------------------------\n// Variables\n//-----------------------------------------------------------------------\n/**\n * Sets env variable for this action and future actions in the job\n * @param name the name of the variable to set\n * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction exportVariable(name, val) {\n const convertedVal = utils_1.toCommandValue(val);\n process.env[name] = convertedVal;\n const filePath = process.env['GITHUB_ENV'] || '';\n if (filePath) {\n const delimiter = '_GitHubActionsFileCommandDelimeter_';\n const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`;\n file_command_1.issueCommand('ENV', commandValue);\n }\n else {\n command_1.issueCommand('set-env', { name }, convertedVal);\n }\n}\nexports.exportVariable = exportVariable;\n/**\n * Registers a secret which will get masked from logs\n * @param secret value of the secret\n */\nfunction setSecret(secret) {\n command_1.issueCommand('add-mask', {}, secret);\n}\nexports.setSecret = setSecret;\n/**\n * Prepends inputPath to the PATH (for this action and future actions)\n * @param inputPath\n */\nfunction addPath(inputPath) {\n const filePath = process.env['GITHUB_PATH'] || '';\n if (filePath) {\n file_command_1.issueCommand('PATH', inputPath);\n }\n else {\n command_1.issueCommand('add-path', {}, inputPath);\n }\n process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;\n}\nexports.addPath = addPath;\n/**\n * Gets the value of an input. The value is also trimmed.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string\n */\nfunction getInput(name, options) {\n const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';\n if (options && options.required && !val) {\n throw new Error(`Input required and not supplied: ${name}`);\n }\n return val.trim();\n}\nexports.getInput = getInput;\n/**\n * Sets the value of an output.\n *\n * @param name name of the output to set\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction setOutput(name, value) {\n command_1.issueCommand('set-output', { name }, value);\n}\nexports.setOutput = setOutput;\n/**\n * Enables or disables the echoing of commands into stdout for the rest of the step.\n * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.\n *\n */\nfunction setCommandEcho(enabled) {\n command_1.issue('echo', enabled ? 'on' : 'off');\n}\nexports.setCommandEcho = setCommandEcho;\n//-----------------------------------------------------------------------\n// Results\n//-----------------------------------------------------------------------\n/**\n * Sets the action status to failed.\n * When the action exits it will be with an exit code of 1\n * @param message add error issue message\n */\nfunction setFailed(message) {\n process.exitCode = ExitCode.Failure;\n error(message);\n}\nexports.setFailed = setFailed;\n//-----------------------------------------------------------------------\n// Logging Commands\n//-----------------------------------------------------------------------\n/**\n * Gets whether Actions Step Debug is on or not\n */\nfunction isDebug() {\n return process.env['RUNNER_DEBUG'] === '1';\n}\nexports.isDebug = isDebug;\n/**\n * Writes debug message to user log\n * @param message debug message\n */\nfunction debug(message) {\n command_1.issueCommand('debug', {}, message);\n}\nexports.debug = debug;\n/**\n * Adds an error issue\n * @param message error issue message. Errors will be converted to string via toString()\n */\nfunction error(message) {\n command_1.issue('error', message instanceof Error ? message.toString() : message);\n}\nexports.error = error;\n/**\n * Adds an warning issue\n * @param message warning issue message. Errors will be converted to string via toString()\n */\nfunction warning(message) {\n command_1.issue('warning', message instanceof Error ? message.toString() : message);\n}\nexports.warning = warning;\n/**\n * Writes info to log with console.log.\n * @param message info message\n */\nfunction info(message) {\n process.stdout.write(message + os.EOL);\n}\nexports.info = info;\n/**\n * Begin an output group.\n *\n * Output until the next `groupEnd` will be foldable in this group\n *\n * @param name The name of the output group\n */\nfunction startGroup(name) {\n command_1.issue('group', name);\n}\nexports.startGroup = startGroup;\n/**\n * End an output group.\n */\nfunction endGroup() {\n command_1.issue('endgroup');\n}\nexports.endGroup = endGroup;\n/**\n * Wrap an asynchronous function call in a group.\n *\n * Returns the same type as the function itself.\n *\n * @param name The name of the group\n * @param fn The function to wrap in the group\n */\nfunction group(name, fn) {\n return __awaiter(this, void 0, void 0, function* () {\n startGroup(name);\n let result;\n try {\n result = yield fn();\n }\n finally {\n endGroup();\n }\n return result;\n });\n}\nexports.group = group;\n//-----------------------------------------------------------------------\n// Wrapper action state\n//-----------------------------------------------------------------------\n/**\n * Saves state for current action, the state can only be retrieved by this action's post job execution.\n *\n * @param name name of the state to store\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction saveState(name, value) {\n command_1.issueCommand('save-state', { name }, value);\n}\nexports.saveState = saveState;\n/**\n * Gets the value of an state set by this action's main execution.\n *\n * @param name name of the state to get\n * @returns string\n */\nfunction getState(name) {\n return process.env[`STATE_${name}`] || '';\n}\nexports.getState = getState;\n//# sourceMappingURL=core.js.map","'use strict'\n\nconst file = require('./file')\nconst link = require('./link')\nconst symlink = require('./symlink')\n\nmodule.exports = {\n // file\n createFile: file.createFile,\n createFileSync: file.createFileSync,\n ensureFile: file.createFile,\n ensureFileSync: file.createFileSync,\n // link\n createLink: link.createLink,\n createLinkSync: link.createLinkSync,\n ensureLink: link.createLink,\n ensureLinkSync: link.createLinkSync,\n // symlink\n createSymlink: symlink.createSymlink,\n createSymlinkSync: symlink.createSymlinkSync,\n ensureSymlink: symlink.createSymlink,\n ensureSymlinkSync: symlink.createSymlinkSync\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst assert = require('assert')\n\nconst isWindows = (process.platform === 'win32')\n\nfunction defaults (options) {\n const methods = [\n 'unlink',\n 'chmod',\n 'stat',\n 'lstat',\n 'rmdir',\n 'readdir'\n ]\n methods.forEach(m => {\n options[m] = options[m] || fs[m]\n m = m + 'Sync'\n options[m] = options[m] || fs[m]\n })\n\n options.maxBusyTries = options.maxBusyTries || 3\n}\n\nfunction rimraf (p, options, cb) {\n let busyTries = 0\n\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n assert(p, 'rimraf: missing path')\n assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')\n assert.strictEqual(typeof cb, 'function', 'rimraf: callback function required')\n assert(options, 'rimraf: invalid options argument provided')\n assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')\n\n defaults(options)\n\n rimraf_(p, options, function CB (er) {\n if (er) {\n if ((er.code === 'EBUSY' || er.code === 'ENOTEMPTY' || er.code === 'EPERM') &&\n busyTries < options.maxBusyTries) {\n busyTries++\n const time = busyTries * 100\n // try again, with the same exact callback as this one.\n return setTimeout(() => rimraf_(p, options, CB), time)\n }\n\n // already gone\n if (er.code === 'ENOENT') er = null\n }\n\n cb(er)\n })\n}\n\n// Two possible strategies.\n// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR\n// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR\n//\n// Both result in an extra syscall when you guess wrong. However, there\n// are likely far more normal files in the world than directories. This\n// is based on the assumption that a the average number of files per\n// directory is >= 1.\n//\n// If anyone ever complains about this, then I guess the strategy could\n// be made configurable somehow. But until then, YAGNI.\nfunction rimraf_ (p, options, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n // sunos lets the root user unlink directories, which is... weird.\n // so we have to lstat here and make sure it's not a dir.\n options.lstat(p, (er, st) => {\n if (er && er.code === 'ENOENT') {\n return cb(null)\n }\n\n // Windows can EPERM on stat. Life is suffering.\n if (er && er.code === 'EPERM' && isWindows) {\n return fixWinEPERM(p, options, er, cb)\n }\n\n if (st && st.isDirectory()) {\n return rmdir(p, options, er, cb)\n }\n\n options.unlink(p, er => {\n if (er) {\n if (er.code === 'ENOENT') {\n return cb(null)\n }\n if (er.code === 'EPERM') {\n return (isWindows)\n ? fixWinEPERM(p, options, er, cb)\n : rmdir(p, options, er, cb)\n }\n if (er.code === 'EISDIR') {\n return rmdir(p, options, er, cb)\n }\n }\n return cb(er)\n })\n })\n}\n\nfunction fixWinEPERM (p, options, er, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n options.chmod(p, 0o666, er2 => {\n if (er2) {\n cb(er2.code === 'ENOENT' ? null : er)\n } else {\n options.stat(p, (er3, stats) => {\n if (er3) {\n cb(er3.code === 'ENOENT' ? null : er)\n } else if (stats.isDirectory()) {\n rmdir(p, options, er, cb)\n } else {\n options.unlink(p, cb)\n }\n })\n }\n })\n}\n\nfunction fixWinEPERMSync (p, options, er) {\n let stats\n\n assert(p)\n assert(options)\n\n try {\n options.chmodSync(p, 0o666)\n } catch (er2) {\n if (er2.code === 'ENOENT') {\n return\n } else {\n throw er\n }\n }\n\n try {\n stats = options.statSync(p)\n } catch (er3) {\n if (er3.code === 'ENOENT') {\n return\n } else {\n throw er\n }\n }\n\n if (stats.isDirectory()) {\n rmdirSync(p, options, er)\n } else {\n options.unlinkSync(p)\n }\n}\n\nfunction rmdir (p, options, originalEr, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS)\n // if we guessed wrong, and it's not a directory, then\n // raise the original error.\n options.rmdir(p, er => {\n if (er && (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM')) {\n rmkids(p, options, cb)\n } else if (er && er.code === 'ENOTDIR') {\n cb(originalEr)\n } else {\n cb(er)\n }\n })\n}\n\nfunction rmkids (p, options, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n options.readdir(p, (er, files) => {\n if (er) return cb(er)\n\n let n = files.length\n let errState\n\n if (n === 0) return options.rmdir(p, cb)\n\n files.forEach(f => {\n rimraf(path.join(p, f), options, er => {\n if (errState) {\n return\n }\n if (er) return cb(errState = er)\n if (--n === 0) {\n options.rmdir(p, cb)\n }\n })\n })\n })\n}\n\n// this looks simpler, and is strictly *faster*, but will\n// tie up the JavaScript thread and fail on excessively\n// deep directory trees.\nfunction rimrafSync (p, options) {\n let st\n\n options = options || {}\n defaults(options)\n\n assert(p, 'rimraf: missing path')\n assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')\n assert(options, 'rimraf: missing options')\n assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')\n\n try {\n st = options.lstatSync(p)\n } catch (er) {\n if (er.code === 'ENOENT') {\n return\n }\n\n // Windows can EPERM on stat. Life is suffering.\n if (er.code === 'EPERM' && isWindows) {\n fixWinEPERMSync(p, options, er)\n }\n }\n\n try {\n // sunos lets the root user unlink directories, which is... weird.\n if (st && st.isDirectory()) {\n rmdirSync(p, options, null)\n } else {\n options.unlinkSync(p)\n }\n } catch (er) {\n if (er.code === 'ENOENT') {\n return\n } else if (er.code === 'EPERM') {\n return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er)\n } else if (er.code !== 'EISDIR') {\n throw er\n }\n rmdirSync(p, options, er)\n }\n}\n\nfunction rmdirSync (p, options, originalEr) {\n assert(p)\n assert(options)\n\n try {\n options.rmdirSync(p)\n } catch (er) {\n if (er.code === 'ENOTDIR') {\n throw originalEr\n } else if (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM') {\n rmkidsSync(p, options)\n } else if (er.code !== 'ENOENT') {\n throw er\n }\n }\n}\n\nfunction rmkidsSync (p, options) {\n assert(p)\n assert(options)\n options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options))\n\n if (isWindows) {\n // We only end up here once we got ENOTEMPTY at least once, and\n // at this point, we are guaranteed to have removed all the kids.\n // So, we know that it won't be ENOENT or ENOTDIR or anything else.\n // try really hard to delete stuff on windows, because it has a\n // PROFOUNDLY annoying habit of not closing handles promptly when\n // files are deleted, resulting in spurious ENOTEMPTY errors.\n const startTime = Date.now()\n do {\n try {\n const ret = options.rmdirSync(p, options)\n return ret\n } catch {}\n } while (Date.now() - startTime < 500) // give up after 500ms\n } else {\n const ret = options.rmdirSync(p, options)\n return ret\n }\n}\n\nmodule.exports = rimraf\nrimraf.sync = rimrafSync\n","var common = require('./common');\nvar fs = require('fs');\nvar path = require('path');\n\nvar PERMS = (function (base) {\n return {\n OTHER_EXEC: base.EXEC,\n OTHER_WRITE: base.WRITE,\n OTHER_READ: base.READ,\n\n GROUP_EXEC: base.EXEC << 3,\n GROUP_WRITE: base.WRITE << 3,\n GROUP_READ: base.READ << 3,\n\n OWNER_EXEC: base.EXEC << 6,\n OWNER_WRITE: base.WRITE << 6,\n OWNER_READ: base.READ << 6,\n\n // Literal octal numbers are apparently not allowed in \"strict\" javascript.\n STICKY: parseInt('01000', 8),\n SETGID: parseInt('02000', 8),\n SETUID: parseInt('04000', 8),\n\n TYPE_MASK: parseInt('0770000', 8),\n };\n}({\n EXEC: 1,\n WRITE: 2,\n READ: 4,\n}));\n\ncommon.register('chmod', _chmod, {\n});\n\n//@\n//@ ### chmod([options,] octal_mode || octal_string, file)\n//@ ### chmod([options,] symbolic_mode, file)\n//@\n//@ Available options:\n//@\n//@ + `-v`: output a diagnostic for every file processed//@\n//@ + `-c`: like verbose, but report only when a change is made//@\n//@ + `-R`: change files and directories recursively//@\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ chmod(755, '/Users/brandon');\n//@ chmod('755', '/Users/brandon'); // same as above\n//@ chmod('u+x', '/Users/brandon');\n//@ chmod('-R', 'a-w', '/Users/brandon');\n//@ ```\n//@\n//@ Alters the permissions of a file or directory by either specifying the\n//@ absolute permissions in octal form or expressing the changes in symbols.\n//@ This command tries to mimic the POSIX behavior as much as possible.\n//@ Notable exceptions:\n//@\n//@ + In symbolic modes, `a-r` and `-r` are identical. No consideration is\n//@ given to the `umask`.\n//@ + There is no \"quiet\" option, since default behavior is to run silent.\nfunction _chmod(options, mode, filePattern) {\n if (!filePattern) {\n if (options.length > 0 && options.charAt(0) === '-') {\n // Special case where the specified file permissions started with - to subtract perms, which\n // get picked up by the option parser as command flags.\n // If we are down by one argument and options starts with -, shift everything over.\n [].unshift.call(arguments, '');\n } else {\n common.error('You must specify a file.');\n }\n }\n\n options = common.parseOptions(options, {\n 'R': 'recursive',\n 'c': 'changes',\n 'v': 'verbose',\n });\n\n filePattern = [].slice.call(arguments, 2);\n\n var files;\n\n // TODO: replace this with a call to common.expand()\n if (options.recursive) {\n files = [];\n filePattern.forEach(function addFile(expandedFile) {\n var stat = common.statNoFollowLinks(expandedFile);\n\n if (!stat.isSymbolicLink()) {\n files.push(expandedFile);\n\n if (stat.isDirectory()) { // intentionally does not follow symlinks.\n fs.readdirSync(expandedFile).forEach(function (child) {\n addFile(expandedFile + '/' + child);\n });\n }\n }\n });\n } else {\n files = filePattern;\n }\n\n files.forEach(function innerChmod(file) {\n file = path.resolve(file);\n if (!fs.existsSync(file)) {\n common.error('File not found: ' + file);\n }\n\n // When recursing, don't follow symlinks.\n if (options.recursive && common.statNoFollowLinks(file).isSymbolicLink()) {\n return;\n }\n\n var stat = common.statFollowLinks(file);\n var isDir = stat.isDirectory();\n var perms = stat.mode;\n var type = perms & PERMS.TYPE_MASK;\n\n var newPerms = perms;\n\n if (isNaN(parseInt(mode, 8))) {\n // parse options\n mode.split(',').forEach(function (symbolicMode) {\n var pattern = /([ugoa]*)([=\\+-])([rwxXst]*)/i;\n var matches = pattern.exec(symbolicMode);\n\n if (matches) {\n var applyTo = matches[1];\n var operator = matches[2];\n var change = matches[3];\n\n var changeOwner = applyTo.indexOf('u') !== -1 || applyTo === 'a' || applyTo === '';\n var changeGroup = applyTo.indexOf('g') !== -1 || applyTo === 'a' || applyTo === '';\n var changeOther = applyTo.indexOf('o') !== -1 || applyTo === 'a' || applyTo === '';\n\n var changeRead = change.indexOf('r') !== -1;\n var changeWrite = change.indexOf('w') !== -1;\n var changeExec = change.indexOf('x') !== -1;\n var changeExecDir = change.indexOf('X') !== -1;\n var changeSticky = change.indexOf('t') !== -1;\n var changeSetuid = change.indexOf('s') !== -1;\n\n if (changeExecDir && isDir) {\n changeExec = true;\n }\n\n var mask = 0;\n if (changeOwner) {\n mask |= (changeRead ? PERMS.OWNER_READ : 0) + (changeWrite ? PERMS.OWNER_WRITE : 0) + (changeExec ? PERMS.OWNER_EXEC : 0) + (changeSetuid ? PERMS.SETUID : 0);\n }\n if (changeGroup) {\n mask |= (changeRead ? PERMS.GROUP_READ : 0) + (changeWrite ? PERMS.GROUP_WRITE : 0) + (changeExec ? PERMS.GROUP_EXEC : 0) + (changeSetuid ? PERMS.SETGID : 0);\n }\n if (changeOther) {\n mask |= (changeRead ? PERMS.OTHER_READ : 0) + (changeWrite ? PERMS.OTHER_WRITE : 0) + (changeExec ? PERMS.OTHER_EXEC : 0);\n }\n\n // Sticky bit is special - it's not tied to user, group or other.\n if (changeSticky) {\n mask |= PERMS.STICKY;\n }\n\n switch (operator) {\n case '+':\n newPerms |= mask;\n break;\n\n case '-':\n newPerms &= ~mask;\n break;\n\n case '=':\n newPerms = type + mask;\n\n // According to POSIX, when using = to explicitly set the\n // permissions, setuid and setgid can never be cleared.\n if (common.statFollowLinks(file).isDirectory()) {\n newPerms |= (PERMS.SETUID + PERMS.SETGID) & perms;\n }\n break;\n default:\n common.error('Could not recognize operator: `' + operator + '`');\n }\n\n if (options.verbose) {\n console.log(file + ' -> ' + newPerms.toString(8));\n }\n\n if (perms !== newPerms) {\n if (!options.verbose && options.changes) {\n console.log(file + ' -> ' + newPerms.toString(8));\n }\n fs.chmodSync(file, newPerms);\n perms = newPerms; // for the next round of changes!\n }\n } else {\n common.error('Invalid symbolic mode change: ' + symbolicMode);\n }\n });\n } else {\n // they gave us a full number\n newPerms = type + parseInt(mode, 8);\n\n // POSIX rules are that setuid and setgid can only be added using numeric\n // form, but not cleared.\n if (common.statFollowLinks(file).isDirectory()) {\n newPerms |= (PERMS.SETUID + PERMS.SETGID) & perms;\n }\n\n fs.chmodSync(file, newPerms);\n }\n });\n return '';\n}\nmodule.exports = _chmod;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst Endpoints = {\n actions: {\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n cancelWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\", {}, {\n renamedParameters: {\n name: \"secret_name\"\n }\n }],\n createOrUpdateSecretForRepo: [\"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\", {}, {\n renamed: [\"actions\", \"createOrUpdateRepoSecret\"],\n renamedParameters: {\n name: \"secret_name\"\n }\n }],\n createRegistrationToken: [\"POST /repos/{owner}/{repo}/actions/runners/registration-token\", {}, {\n renamed: [\"actions\", \"createRegistrationTokenForRepo\"]\n }],\n createRegistrationTokenForOrg: [\"POST /orgs/{org}/actions/runners/registration-token\"],\n createRegistrationTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/registration-token\"],\n createRemoveToken: [\"POST /repos/{owner}/{repo}/actions/runners/remove-token\", {}, {\n renamed: [\"actions\", \"createRemoveTokenForRepo\"]\n }],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/remove-token\"],\n deleteArtifact: [\"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\", {}, {\n renamedParameters: {\n name: \"secret_name\"\n }\n }],\n deleteSecretFromRepo: [\"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\", {}, {\n renamed: [\"actions\", \"deleteRepoSecret\"],\n renamedParameters: {\n name: \"secret_name\"\n }\n }],\n deleteSelfHostedRunnerFromOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}\"],\n deleteSelfHostedRunnerFromRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n deleteWorkflowRunLogs: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n downloadArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"],\n downloadJobLogsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"],\n downloadWorkflowJobLogs: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\", {}, {\n renamed: [\"actions\", \"downloadJobLogsForWorkflowRun\"]\n }],\n downloadWorkflowRunLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\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 getPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\", {}, {\n renamed: [\"actions\", \"getRepoPublicKey\"]\n }],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\", {}, {\n renamedParameters: {\n name: \"secret_name\"\n }\n }],\n getSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\", {}, {\n renamed: [\"actions\", \"getRepoSecret\"],\n renamedParameters: {\n name: \"secret_name\"\n }\n }],\n getSelfHostedRunner: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\", {}, {\n renamed: [\"actions\", \"getSelfHostedRunnerForRepo\"]\n }],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowJob: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\", {}, {\n renamed: [\"actions\", \"getJobForWorkflowRun\"]\n }],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunUsage: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"],\n getWorkflowUsage: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listDownloadsForSelfHostedRunnerApplication: [\"GET /repos/{owner}/{repo}/actions/runners/downloads\", {}, {\n renamed: [\"actions\", \"listRunnerApplicationsForRepo\"]\n }],\n listJobsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflowRuns: [\"GET /repos/{owner}/{repo}/actions/runs\", {}, {\n renamed: [\"actions\", \"listWorkflowRunsForRepo\"]\n }],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/downloads\"],\n listSecretsForRepo: [\"GET /repos/{owner}/{repo}/actions/secrets\", {}, {\n renamed: [\"actions\", \"listRepoSecrets\"]\n }],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowJobLogs: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\", {}, {\n renamed: [\"actions\", \"downloadWorkflowJobLogs\"]\n }],\n listWorkflowRunArtifacts: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"],\n listWorkflowRunLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\", {}, {\n renamed: [\"actions\", \"downloadWorkflowRunLogs\"]\n }],\n listWorkflowRuns: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n removeSelfHostedRunner: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\", {}, {\n renamed: [\"actions\", \"deleteSelfHostedRunnerFromRepo\"]\n }],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n checkStarringRepo: [\"GET /user/starred/{owner}/{repo}\", {}, {\n renamed: [\"activity\", \"checkRepoIsStarredByAuthenticatedUser\"]\n }],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\"DELETE /notifications/threads/{thread_id}/subscription\"],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscription: [\"PUT /notifications\", {}, {\n renamed: [\"activity\", \"getThreadSubscriptionForAuthenticatedUser\"]\n }],\n getThreadSubscriptionForAuthenticatedUser: [\"GET /notifications/threads/{thread_id}/subscription\"],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listEventsForOrg: [\"GET /users/{username}/events/orgs/{org}\", {}, {\n renamed: [\"activity\", \"listOrgEventsForAuthenticatedUser\"]\n }],\n listEventsForUser: [\"GET /users/{username}/events\", {}, {\n renamed: [\"activity\", \"listEventsForAuthenticatedUser\"]\n }],\n listFeeds: [\"GET /feeds\", {}, {\n renamed: [\"activity\", \"getFeeds\"]\n }],\n listNotifications: [\"GET /notifications\", {}, {\n renamed: [\"activity\", \"listNotificationsForAuthenticatedUser\"]\n }],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listNotificationsForRepo: [\"GET /repos/{owner}/{repo}/notifications\", {}, {\n renamed: [\"activity\", \"listRepoNotificationsForAuthenticatedUser\"]\n }],\n listOrgEventsForAuthenticatedUser: [\"GET /users/{username}/events/orgs/{org}\"],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForOrg: [\"GET /orgs/{org}/events\", {}, {\n renamed: [\"activity\", \"listPublicOrgEvents\"]\n }],\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: [\"GET /users/{username}/received_events/public\"],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/notifications\"],\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 markAsRead: [\"PUT /notifications\", {}, {\n renamed: [\"activity\", \"markNotificationsAsRead\"]\n }],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markNotificationsAsReadForRepo: [\"PUT /repos/{owner}/{repo}/notifications\", {}, {\n renamed: [\"activity\", \"markRepoNotificationsAsRead\"]\n }],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\"PUT /notifications/threads/{thread_id}/subscription\"],\n starRepo: [\"PUT /user/starred/{owner}/{repo}\", {}, {\n renamed: [\"activity\", \"starRepoForAuthenticatedUser\"]\n }],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepo: [\"DELETE /user/starred/{owner}/{repo}\", {}, {\n renamed: [\"activity\", \"unstarRepoForAuthenticatedUser\"]\n }],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n checkAccountIsAssociatedWithAny: [\"GET /marketplace_listing/accounts/{account_id}\", {}, {\n renamed: [\"apps\", \"getSubscriptionPlanForAccount\"]\n }],\n checkAccountIsAssociatedWithAnyStubbed: [\"GET /marketplace_listing/stubbed/accounts/{account_id}\", {}, {\n renamed: [\"apps\", \"getSubscriptionPlanForAccountStubbed\"]\n }],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createContentAttachment: [\"POST /content_references/{content_reference_id}/attachments\", {\n mediaType: {\n previews: [\"corsair\"]\n }\n }],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\"POST /app/installations/{installation_id}/access_tokens\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n createInstallationToken: [\"POST /app/installations/{installation_id}/access_tokens\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }, {\n renamed: [\"apps\", \"createInstallationAccessToken\"]\n }],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n getBySlug: [\"GET /apps/{app_slug}\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n getInstallation: [\"GET /app/installations/{installation_id}\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n getOrgInstallation: [\"GET /orgs/{org}/installation\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n getSubscriptionPlanForAccount: [\"GET /marketplace_listing/accounts/{account_id}\"],\n getSubscriptionPlanForAccountStubbed: [\"GET /marketplace_listing/stubbed/accounts/{account_id}\"],\n getUserInstallation: [\"GET /users/{username}/installation\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"],\n listAccountsUserOrOrgOnPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\", {}, {\n renamed: [\"apps\", \"listAccountsForPlan\"]\n }],\n listAccountsUserOrOrgOnPlanStubbed: [\"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\", {}, {\n renamed: [\"apps\", \"listAccountsForPlanStubbed\"]\n }],\n listInstallationReposForAuthenticatedUser: [\"GET /user/installations/{installation_id}/repositories\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n listInstallations: [\"GET /app/installations\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n listMarketplacePurchasesForAuthenticatedUser: [\"GET /user/marketplace_purchases\", {}, {\n renamed: [\"apps\", \"listSubscriptionsForAuthenticatedUser\"]\n }],\n listMarketplacePurchasesForAuthenticatedUserStubbed: [\"GET /user/marketplace_purchases/stubbed\", {}, {\n renamed: [\"apps\", \"listSubscriptionsForAuthenticatedUserStubbed\"]\n }],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listRepos: [\"GET /installation/repositories\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }, {\n renamed: [\"apps\", \"listReposAccessibleToInstallation\"]\n }],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\"GET /user/marketplace_purchases/stubbed\"],\n removeRepoFromInstallation: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n revokeInstallationToken: [\"DELETE /installation/token\", {}, {\n renamed: [\"apps\", \"revokeInstallationAccessToken\"]\n }],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\"DELETE /app/installations/{installation_id}/suspended\"]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n listAnnotations: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n listForSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n rerequestSuite: [\"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n setSuitesPreferences: [\"PATCH /repos/{owner}/{repo}/check-suites/preferences\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }]\n },\n codeScanning: {\n getAlert: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_id}\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\", {\n mediaType: {\n previews: [\"scarlet-witch\"]\n }\n }],\n getConductCode: [\"GET /codes_of_conduct/{key}\", {\n mediaType: {\n previews: [\"scarlet-witch\"]\n }\n }],\n getForRepo: [\"GET /repos/{owner}/{repo}/community/code_of_conduct\", {\n mediaType: {\n previews: [\"scarlet-witch\"]\n }\n }],\n listConductCodes: [\"GET /codes_of_conduct\", {\n mediaType: {\n previews: [\"scarlet-witch\"]\n }\n }, {\n renamed: [\"codesOfConduct\", \"getAllCodesOfConduct\"]\n }]\n },\n emojis: {\n get: [\"GET /emojis\"]\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 listPublicForUser: [\"GET /users/{username}/gists\", {}, {\n renamed: [\"gists\", \"listForUser\"]\n }],\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 listTemplates: [\"GET /gitignore/templates\", {}, {\n renamed: [\"gitignore\", \"getAllTemplates\"]\n }]\n },\n interactions: {\n addOrUpdateRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }, {\n renamed: [\"interactions\", \"setRestrictionsForOrg\"]\n }],\n addOrUpdateRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }, {\n renamed: [\"interactions\", \"setRestrictionsForRepo\"]\n }],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }],\n removeRestrictionsForRepo: [\"DELETE /repos/{owner}/{repo}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }]\n },\n issues: {\n addAssignees: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkAssignee: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\", {}, {\n renamed: [\"issues\", \"checkUserCanBeAssigned\"]\n }],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"],\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: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\", {\n mediaType: {\n previews: [\"mockingbird\"]\n }\n }],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n listMilestonesForRepo: [\"GET /repos/{owner}/{repo}/milestones\", {}, {\n renamed: [\"issues\", \"listMilestones\"]\n }],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n removeAssignees: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n removeLabel: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"],\n removeLabels: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\", {}, {\n renamed: [\"issues\", \"removeAllLabels\"]\n }],\n replaceAllLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\", {}, {\n renamed: [\"issues\", \"setLabels\"]\n }],\n replaceLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\", {}, {\n renamed: [\"issues\", \"replaceAllLabels\"]\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: [\"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"],\n listCommonlyUsed: [\"GET /licenses\", {}, {\n renamed: [\"licenses\", \"getAllCommonlyUsed\"]\n }]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\"POST /markdown/raw\", {\n headers: {\n \"content-type\": \"text/plain; charset=utf-8\"\n }\n }]\n },\n meta: {\n get: [\"GET /meta\"]\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n deleteArchiveForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n downloadArchiveForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n getArchiveForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportProgress: [\"GET /repos/{owner}/{repo}/import\", {}, {\n renamed: [\"migrations\", \"getImportStatus\"]\n }],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listForAuthenticatedUser: [\"GET /user/migrations\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listForOrg: [\"GET /orgs/{org}/migrations\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listReposForUser: [\"GET /user/{migration_id}/repositories\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\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: [\"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n unlockRepoForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"]\n },\n orgs: {\n addOrUpdateMembership: [\"PUT /orgs/{org}/memberships/{username}\", {}, {\n renamed: [\"orgs\", \"setMembershipForUser\"]\n }],\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembership: [\"GET /orgs/{org}/members/{username}\", {}, {\n renamed: [\"orgs\", \"checkMembershipForUser\"]\n }],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembership: [\"GET /orgs/{org}/public_members/{username}\", {}, {\n renamed: [\"orgs\", \"checkPublicMembershipForUser\"]\n }],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n concealMembership: [\"DELETE /orgs/{org}/public_members/{username}\", {}, {\n renamed: [\"orgs\", \"removePublicMembershipForAuthenticatedUser\"]\n }],\n convertMemberToOutsideCollaborator: [\"PUT /orgs/{org}/outside_collaborators/{username}\"],\n createHook: [\"POST /orgs/{org}/hooks\", {}, {\n renamed: [\"orgs\", \"createWebhook\"]\n }],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteHook: [\"DELETE /orgs/{org}/hooks/{hook_id}\", {}, {\n renamed: [\"orgs\", \"deleteWebhook\"]\n }],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getHook: [\"GET /orgs/{org}/hooks/{hook_id}\", {}, {\n renamed: [\"orgs\", \"getWebhook\"]\n }],\n getMembership: [\"GET /orgs/{org}/memberships/{username}\", {}, {\n renamed: [\"orgs\", \"getMembershipForUser\"]\n }],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listHooks: [\"GET /orgs/{org}/hooks\", {}, {\n renamed: [\"orgs\", \"listWebhooks\"]\n }],\n listInstallations: [\"GET /orgs/{org}/installations\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }, {\n renamed: [\"orgs\", \"listAppInstallations\"]\n }],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMemberships: [\"GET /user/memberships/orgs\", {}, {\n renamed: [\"orgs\", \"listMembershipsForAuthenticatedUser\"]\n }],\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 listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingHook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\", {}, {\n renamed: [\"orgs\", \"pingWebhook\"]\n }],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n publicizeMembership: [\"PUT /orgs/{org}/public_members/{username}\", {}, {\n renamed: [\"orgs\", \"setPublicMembershipForAuthenticatedUser\"]\n }],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembership: [\"DELETE /orgs/{org}/memberships/{username}\", {}, {\n renamed: [\"orgs\", \"removeMembershipForUser\"]\n }],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\"DELETE /orgs/{org}/outside_collaborators/{username}\"],\n removePublicMembershipForAuthenticatedUser: [\"DELETE /orgs/{org}/public_members/{username}\"],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\"PUT /orgs/{org}/public_members/{username}\"],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateHook: [\"PATCH /orgs/{org}/hooks/{hook_id}\", {}, {\n renamed: [\"orgs\", \"updateWebhook\"]\n }],\n updateMembership: [\"PATCH /user/memberships/orgs/{org}\", {}, {\n renamed: [\"orgs\", \"updateMembershipForAuthenticatedUser\"]\n }],\n updateMembershipForAuthenticatedUser: [\"PATCH /user/memberships/orgs/{org}\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"]\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createCard: [\"POST /projects/columns/{column_id}/cards\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createColumn: [\"POST /projects/{project_id}/columns\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createForAuthenticatedUser: [\"POST /user/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createForOrg: [\"POST /orgs/{org}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n delete: [\"DELETE /projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n get: [\"GET /projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n getCard: [\"GET /projects/columns/cards/{card_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n getColumn: [\"GET /projects/columns/{column_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n getPermissionForUser: [\"GET /projects/{project_id}/collaborators/{username}/permission\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listCards: [\"GET /projects/columns/{column_id}/cards\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listColumns: [\"GET /projects/{project_id}/columns\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listForOrg: [\"GET /orgs/{org}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listForUser: [\"GET /users/{username}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n removeCollaborator: [\"DELETE /projects/{project_id}/collaborators/{username}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n reviewUserPermissionLevel: [\"GET /projects/{project_id}/collaborators/{username}/permission\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }, {\n renamed: [\"projects\", \"getPermissionForUser\"]\n }],\n update: [\"PATCH /projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n updateColumn: [\"PATCH /projects/columns/{column_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\", {}, {\n renamed: [\"pulls\", \"createReviewComment\"]\n }],\n createReplyForReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n createReviewCommentReply: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\", {}, {\n renamed: [\"pulls\", \"createReplyForReviewComment\"]\n }],\n createReviewRequest: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\", {}, {\n renamed: [\"pulls\", \"requestReviewers\"]\n }],\n deleteComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\", {}, {\n renamed: [\"pulls\", \"deleteReviewComment\"]\n }],\n deletePendingReview: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n deleteReviewComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n deleteReviewRequest: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\", {}, {\n renamed: [\"pulls\", \"removeRequestedReviewers\"]\n }],\n dismissReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\", {}, {\n renamed: [\"pulls\", \"getReviewComment\"]\n }],\n getCommentsForReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\", {}, {\n renamed: [\"pulls\", \"listCommentsForReview\"]\n }],\n getReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listComments: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\", {}, {\n renamed: [\"pulls\", \"listReviewComments\"]\n }],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\", {}, {\n renamed: [\"pulls\", \"listReviewCommentsForRepo\"]\n }],\n listCommentsForReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n listReviewComments: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviewRequests: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\", {}, {\n renamed: [\"pulls\", \"listRequestedReviewers\"]\n }],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n requestReviewers: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n submitReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\", {\n mediaType: {\n previews: [\"lydian\"]\n }\n }],\n updateComment: [\"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\", {}, {\n renamed: [\"pulls\", \"updateReviewComment\"]\n }],\n updateReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n updateReviewComment: [\"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"]\n },\n rateLimit: {\n get: [\"GET /rate_limit\"]\n },\n reactions: {\n createForCommitComment: [\"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForIssue: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForIssueComment: [\"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForPullRequestReviewComment: [\"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForTeamDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForTeamDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n delete: [\"DELETE /reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }, {\n renamed: [\"reactions\", \"deleteLegacy\"]\n }],\n deleteForCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForIssue: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForIssueComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForPullRequestComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForTeamDiscussion: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForTeamDiscussionComment: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteLegacy: [\"DELETE /reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }, {\n deprecated: \"octokit.reactions.deleteLegacy() is deprecated, see https://developer.github.com/v3/reactions/#delete-a-reaction-legacy\"\n }],\n listForCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForIssueComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForPullRequestReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForTeamDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForTeamDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }]\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addDeployKey: [\"POST /repos/{owner}/{repo}/keys\", {}, {\n renamed: [\"repos\", \"createDeployKey\"]\n }],\n addProtectedBranchAdminEnforcement: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\", {}, {\n renamed: [\"repos\", \"setAdminBranchProtection\"]\n }],\n addProtectedBranchAppRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\",\n renamed: [\"repos\", \"addAppAccessRestrictions\"]\n }],\n addProtectedBranchRequiredSignatures: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }, {\n renamed: [\"repos\", \"createCommitSignatureProtection\"]\n }],\n addProtectedBranchRequiredStatusChecksContexts: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\",\n renamed: [\"repos\", \"addStatusCheckContexts\"]\n }],\n addProtectedBranchTeamRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\",\n renamed: [\"repos\", \"addTeamAccessRestrictions\"]\n }],\n addProtectedBranchUserRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\",\n renamed: [\"repos\", \"addUserAccessRestrictions\"]\n }],\n addStatusCheckContexts: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n addTeamAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n addUserAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\"GET /repos/{owner}/{repo}/vulnerability-alerts\", {\n mediaType: {\n previews: [\"dorian\"]\n }\n }],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n createCommitComment: [\"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n createCommitSignatureProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\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: [\"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createHook: [\"POST /repos/{owner}/{repo}/hooks\", {}, {\n renamed: [\"repos\", \"createWebhook\"]\n }],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateFile: [\"PUT /repos/{owner}/{repo}/contents/{path}\", {}, {\n renamed: [\"repos\", \"createOrUpdateFileContents\"]\n }],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\", {\n mediaType: {\n previews: [\"switcheroo\"]\n }\n }],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\", {}, {\n renamed: [\"repos\", \"createCommitStatus\"]\n }],\n createUsingTemplate: [\"POST /repos/{template_owner}/{template_repo}/generate\", {\n mediaType: {\n previews: [\"baptiste\"]\n }\n }],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n deleteAdminBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n deleteBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n deleteDownload: [\"DELETE /repos/{owner}/{repo}/downloads/{download_id}\"],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteHook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\", {}, {\n renamed: [\"repos\", \"deleteWebhook\"]\n }],\n deleteInvitation: [\"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\", {\n mediaType: {\n previews: [\"switcheroo\"]\n }\n }],\n deletePullRequestReviewProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\"DELETE /repos/{owner}/{repo}/automated-security-fixes\", {\n mediaType: {\n previews: [\"london\"]\n }\n }],\n disablePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\", {\n mediaType: {\n previews: [\"switcheroo\"]\n }\n }, {\n renamed: [\"repos\", \"deletePagesSite\"]\n }],\n disableVulnerabilityAlerts: [\"DELETE /repos/{owner}/{repo}/vulnerability-alerts\", {\n mediaType: {\n previews: [\"dorian\"]\n }\n }],\n downloadArchive: [\"GET /repos/{owner}/{repo}/{archive_format}/{ref}\"],\n enableAutomatedSecurityFixes: [\"PUT /repos/{owner}/{repo}/automated-security-fixes\", {\n mediaType: {\n previews: [\"london\"]\n }\n }],\n enablePagesSite: [\"POST /repos/{owner}/{repo}/pages\", {\n mediaType: {\n previews: [\"switcheroo\"]\n }\n }, {\n renamed: [\"repos\", \"createPagesSite\"]\n }],\n enableVulnerabilityAlerts: [\"PUT /repos/{owner}/{repo}/vulnerability-alerts\", {\n mediaType: {\n previews: [\"dorian\"]\n }\n }],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n getAdminBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n getAllStatusCheckContexts: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\", {\n mediaType: {\n previews: [\"mercy\"]\n }\n }],\n getAppsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"],\n getArchiveLink: [\"GET /repos/{owner}/{repo}/{archive_format}/{ref}\", {}, {\n renamed: [\"repos\", \"downloadArchive\"]\n }],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"],\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: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContents: [\"GET /repos/{owner}/{repo}/contents/{path}\", {}, {\n renamed: [\"repos\", \"getContent\"]\n }],\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: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"],\n getDownload: [\"GET /repos/{owner}/{repo}/downloads/{download_id}\"],\n getHook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\", {}, {\n renamed: [\"repos\", \"getWebhook\"]\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 getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getProtectedBranchAdminEnforcement: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\", {}, {\n renamed: [\"repos\", \"getAdminBranchProtection\"]\n }],\n getProtectedBranchPullRequestReviewEnforcement: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\", {}, {\n renamed: [\"repos\", \"getPullRequestReviewProtection\"]\n }],\n getProtectedBranchRequiredSignatures: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }, {\n renamed: [\"repos\", \"getCommitSignatureProtection\"]\n }],\n getProtectedBranchRequiredStatusChecks: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\", {}, {\n renamed: [\"repos\", \"getStatusChecksProtection\"]\n }],\n getProtectedBranchRestrictions: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\", {}, {\n renamed: [\"repos\", \"getAccessRestrictions\"]\n }],\n getPullRequestReviewProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\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: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n getTeamsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n list: [\"GET /user/repos\", {}, {\n renamed: [\"repos\", \"listForAuthenticatedUser\"]\n }],\n listAssetsForRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}/assets\", {}, {\n renamed: [\"repos\", \"listReleaseAssets\"]\n }],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\", {\n mediaType: {\n previews: [\"groot\"]\n }\n }],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n listCommitComments: [\"GET /repos/{owner}/{repo}/comments\", {}, {\n renamed: [\"repos\", \"listCommitCommentsForRepo\"]\n }],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listDownloads: [\"GET /repos/{owner}/{repo}/downloads\"],\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 listHooks: [\"GET /repos/{owner}/{repo}/hooks\", {}, {\n renamed: [\"repos\", \"listWebhooks\"]\n }],\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 listProtectedBranchRequiredStatusChecksContexts: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n renamed: [\"repos\", \"getAllStatusCheckContexts\"]\n }],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\", {\n mediaType: {\n previews: [\"groot\"]\n }\n }],\n listReleaseAssets: [\"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listStatusesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/statuses\", {}, {\n renamed: [\"repos\", \"listCommitStatusesForRef\"]\n }],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listTopics: [\"GET /repos/{owner}/{repo}/topics\", {\n mediaType: {\n previews: [\"mercy\"]\n }\n }, {\n renamed: [\"repos\", \"getAllTopics\"]\n }],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n pingHook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\", {}, {\n renamed: [\"repos\", \"pingWebhook\"]\n }],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n removeAppAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n removeBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\", {}, {\n renamed: [\"repos\", \"deleteBranchProtection\"]\n }],\n removeCollaborator: [\"DELETE /repos/{owner}/{repo}/collaborators/{username}\"],\n removeDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\", {}, {\n renamed: [\"repos\", \"deleteDeployKey\"]\n }],\n removeProtectedBranchAdminEnforcement: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\", {}, {\n renamed: [\"repos\", \"deleteAdminBranchProtection\"]\n }],\n removeProtectedBranchAppRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\",\n renamed: [\"repos\", \"removeAppAccessRestrictions\"]\n }],\n removeProtectedBranchPullRequestReviewEnforcement: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\", {}, {\n renamed: [\"repos\", \"deletePullRequestReviewProtection\"]\n }],\n removeProtectedBranchRequiredSignatures: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }, {\n renamed: [\"repos\", \"deleteCommitSignatureProtection\"]\n }],\n removeProtectedBranchRequiredStatusChecks: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\", {}, {\n renamed: [\"repos\", \"removeStatusChecksProtection\"]\n }],\n removeProtectedBranchRequiredStatusChecksContexts: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\",\n renamed: [\"repos\", \"removeStatusCheckContexts\"]\n }],\n removeProtectedBranchRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\", {}, {\n renamed: [\"repos\", \"deleteAccessRestrictions\"]\n }],\n removeProtectedBranchTeamRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\",\n renamed: [\"repos\", \"removeTeamAccessRestrictions\"]\n }],\n removeProtectedBranchUserRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\",\n renamed: [\"repos\", \"removeUserAccessRestrictions\"]\n }],\n removeStatusCheckContexts: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n removeStatusCheckProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n removeTeamAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n removeUserAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\", {\n mediaType: {\n previews: [\"mercy\"]\n }\n }],\n replaceProtectedBranchAppRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\",\n renamed: [\"repos\", \"setAppAccessRestrictions\"]\n }],\n replaceProtectedBranchRequiredStatusChecksContexts: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\",\n renamed: [\"repos\", \"setStatusCheckContexts\"]\n }],\n replaceProtectedBranchTeamRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\",\n renamed: [\"repos\", \"setTeamAccessRestrictions\"]\n }],\n replaceProtectedBranchUserRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\",\n renamed: [\"repos\", \"setUserAccessRestrictions\"]\n }],\n replaceTopics: [\"PUT /repos/{owner}/{repo}/topics\", {\n mediaType: {\n previews: [\"mercy\"]\n }\n }, {\n renamed: [\"repos\", \"replaceAllTopics\"]\n }],\n requestPageBuild: [\"POST /repos/{owner}/{repo}/pages/builds\", {}, {\n renamed: [\"repos\", \"requestPagesBuild\"]\n }],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n retrieveCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\", {}, {\n renamed: [\"repos\", \"getCommunityProfileMetrics\"]\n }],\n setAdminBranchProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n setAppAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n setStatusCheckContexts: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n setTeamAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n setUserAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n testPushHook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\", {}, {\n renamed: [\"repos\", \"testPushWebhook\"]\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: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateHook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\", {}, {\n renamed: [\"repos\", \"updateWebhook\"]\n }],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n updateProtectedBranchPullRequestReviewEnforcement: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\", {}, {\n renamed: [\"repos\", \"updatePullRequestReviewProtection\"]\n }],\n updateProtectedBranchRequiredStatusChecks: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\", {}, {\n renamed: [\"repos\", \"updateStatusChecksProtection\"]\n }],\n updatePullRequestReviewProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n updateStatusCheckPotection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n uploadReleaseAsset: [\"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 mediaType: {\n previews: [\"cloak\"]\n }\n }],\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 teams: {\n addOrUpdateMembershipForUserInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n addOrUpdateMembershipInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\", {}, {\n renamed: [\"teams\", \"addOrUpdateMembershipForUserInOrg\"]\n }],\n addOrUpdateProjectInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }, {\n renamed: [\"teams\", \"addOrUpdateProjectPermissionsInOrg\"]\n }],\n addOrUpdateProjectPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n addOrUpdateRepoInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\", {}, {\n renamed: [\"teams\", \"addOrUpdateRepoPermissionsInOrg\"]\n }],\n addOrUpdateRepoPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n checkManagesRepoInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\", {}, {\n renamed: [\"teams\", \"checkPermissionsForRepoInOrg\"]\n }],\n checkPermissionsForProjectInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n checkPermissionsForRepoInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n deleteDiscussionInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n getDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n getMembershipForUserInOrg: [\"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n getMembershipInOrg: [\"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\", {}, {\n renamed: [\"teams\", \"getMembershipForUserInOrg\"]\n }],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\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: [\"GET /orgs/{org}/teams/{team_slug}/invitations\"],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n removeMembershipInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\", {}, {\n renamed: [\"teams\", \"removeMembershipForUserInOrg\"]\n }],\n removeProjectInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n removeRepoInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n reviewProjectInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }, {\n renamed: [\"teams\", \"checkPermissionsForProjectInOrg\"]\n }],\n updateDiscussionCommentInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n updateDiscussionInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\"],\n addEmails: [\"POST /user/emails\", {}, {\n renamed: [\"users\", \"addEmailsForAuthenticated\"]\n }],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowing: [\"GET /user/following/{username}\", {}, {\n renamed: [\"users\", \"checkPersonIsFollowedByAuthenticated\"]\n }],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKey: [\"POST /user/gpg_keys\", {}, {\n renamed: [\"users\", \"createGpgKeyForAuthenticated\"]\n }],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\"],\n createPublicKey: [\"POST /user/keys\", {}, {\n renamed: [\"users\", \"createPublicSshKeyForAuthenticated\"]\n }],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\"],\n deleteEmails: [\"DELETE /user/emails\", {}, {\n renamed: [\"users\", \"deleteEmailsForAuthenticated\"]\n }],\n deleteGpgKey: [\"DELETE /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"deleteGpgKeyForAuthenticated\"]\n }],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicKey: [\"DELETE /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"deletePublicSshKeyForAuthenticated\"]\n }],\n deletePublicSshKeyForAuthenticated: [\"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 getGpgKey: [\"GET /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"getGpgKeyForAuthenticated\"]\n }],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicKey: [\"GET /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"getPublicSshKeyForAuthenticated\"]\n }],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlocked: [\"GET /user/blocks\", {}, {\n renamed: [\"users\", \"listBlockedByAuthenticated\"]\n }],\n listBlockedByAuthenticated: [\"GET /user/blocks\"],\n listEmails: [\"GET /user/emails\", {}, {\n renamed: [\"users\", \"listEmailsForAuthenticated\"]\n }],\n listEmailsForAuthenticated: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForAuthenticatedUser: [\"GET /user/following\", {}, {\n renamed: [\"users\", \"listFollowedByAuthenticated\"]\n }],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeys: [\"GET /user/gpg_keys\", {}, {\n renamed: [\"users\", \"listGpgKeysForAuthenticated\"]\n }],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmails: [\"GET /user/public_emails\", {}, {\n renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"]\n }],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\"],\n listPublicKeys: [\"GET /user/keys\", {}, {\n renamed: [\"users\", \"listPublicSshKeysForAuthenticated\"]\n }],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\"],\n togglePrimaryEmailVisibility: [\"PATCH /user/email/visibility\", {}, {\n renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticated\"]\n }],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\n\nconst VERSION = \"3.17.0\";\n\nfunction endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n\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({\n method,\n url\n }, defaults);\n\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n\n const scopeMethods = newMethods[scope];\n\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n\n return newMethods;\n}\n\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData`\n\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined\n });\n return requestWithDefaults(options);\n } // NOTE: there are currently no deprecations. But we keep the code\n // below for future reference\n\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\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n // There is currently no deprecated parameter that is optional,\n // so we never hit the else branch below at this point.\n\n /* istanbul ignore else */\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n\n delete options[name];\n }\n }\n\n return requestWithDefaults(options);\n } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n\n\n return requestWithDefaults(...args);\n }\n\n return Object.assign(withDecorations, requestWithDefaults);\n}\n\n/**\n * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary\n * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is\n * done, we will remove the registerEndpoints methods and return the methods\n * directly as with the other plugins. At that point we will also remove the\n * legacy workarounds and deprecations.\n *\n * See the plan at\n * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1\n */\n\nfunction restEndpointMethods(octokit) {\n return endpointsToMethods(octokit, Endpoints);\n}\nrestEndpointMethods.VERSION = VERSION;\n\nexports.restEndpointMethods = restEndpointMethods;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nconst http = require('http');\nconst https = require('https');\nconst urllib = require('url');\nconst zlib = require('zlib');\nconst PassThrough = require('stream').PassThrough;\nconst Cookies = require('./cookies');\nconst packageData = require('../../package.json');\n\nconst MAX_REDIRECTS = 5;\n\nmodule.exports = function (url, options) {\n return fetch(url, options);\n};\n\nmodule.exports.Cookies = Cookies;\n\nfunction fetch(url, options) {\n options = options || {};\n\n options.fetchRes = options.fetchRes || new PassThrough();\n options.cookies = options.cookies || new Cookies();\n options.redirects = options.redirects || 0;\n options.maxRedirects = isNaN(options.maxRedirects) ? MAX_REDIRECTS : options.maxRedirects;\n\n if (options.cookie) {\n [].concat(options.cookie || []).forEach(cookie => {\n options.cookies.set(cookie, url);\n });\n options.cookie = false;\n }\n\n let fetchRes = options.fetchRes;\n let parsed = urllib.parse(url);\n let method = (options.method || '').toString().trim().toUpperCase() || 'GET';\n let finished = false;\n let cookies;\n let body;\n\n let handler = parsed.protocol === 'https:' ? https : http;\n\n let headers = {\n 'accept-encoding': 'gzip,deflate',\n 'user-agent': 'nodemailer/' + packageData.version\n };\n\n Object.keys(options.headers || {}).forEach(key => {\n headers[key.toLowerCase().trim()] = options.headers[key];\n });\n\n if (options.userAgent) {\n headers['user-agent'] = options.userAgent;\n }\n\n if (parsed.auth) {\n headers.Authorization = 'Basic ' + Buffer.from(parsed.auth).toString('base64');\n }\n\n if ((cookies = options.cookies.get(url))) {\n headers.cookie = cookies;\n }\n\n if (options.body) {\n if (options.contentType !== false) {\n headers['Content-Type'] = options.contentType || 'application/x-www-form-urlencoded';\n }\n\n if (typeof options.body.pipe === 'function') {\n // it's a stream\n headers['Transfer-Encoding'] = 'chunked';\n body = options.body;\n body.on('error', err => {\n if (finished) {\n return;\n }\n finished = true;\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n });\n } else {\n if (options.body instanceof Buffer) {\n body = options.body;\n } else if (typeof options.body === 'object') {\n try {\n // encodeURIComponent can fail on invalid input (partial emoji etc.)\n body = Buffer.from(\n Object.keys(options.body)\n .map(key => {\n let value = options.body[key].toString().trim();\n return encodeURIComponent(key) + '=' + encodeURIComponent(value);\n })\n .join('&')\n );\n } catch (E) {\n if (finished) {\n return;\n }\n finished = true;\n E.type = 'FETCH';\n E.sourceUrl = url;\n fetchRes.emit('error', E);\n return;\n }\n } else {\n body = Buffer.from(options.body.toString().trim());\n }\n\n headers['Content-Type'] = options.contentType || 'application/x-www-form-urlencoded';\n headers['Content-Length'] = body.length;\n }\n // if method is not provided, use POST instead of GET\n method = (options.method || '').toString().trim().toUpperCase() || 'POST';\n }\n\n let req;\n let reqOptions = {\n method,\n host: parsed.hostname,\n path: parsed.path,\n port: parsed.port ? parsed.port : parsed.protocol === 'https:' ? 443 : 80,\n headers,\n rejectUnauthorized: false,\n agent: false\n };\n\n if (options.tls) {\n Object.keys(options.tls).forEach(key => {\n reqOptions[key] = options.tls[key];\n });\n }\n\n try {\n req = handler.request(reqOptions);\n } catch (E) {\n finished = true;\n setImmediate(() => {\n E.type = 'FETCH';\n E.sourceUrl = url;\n fetchRes.emit('error', E);\n });\n return fetchRes;\n }\n\n if (options.timeout) {\n req.setTimeout(options.timeout, () => {\n if (finished) {\n return;\n }\n finished = true;\n req.abort();\n let err = new Error('Request Timeout');\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n });\n }\n\n req.on('error', err => {\n if (finished) {\n return;\n }\n finished = true;\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n });\n\n req.on('response', res => {\n let inflate;\n\n if (finished) {\n return;\n }\n\n switch (res.headers['content-encoding']) {\n case 'gzip':\n case 'deflate':\n inflate = zlib.createUnzip();\n break;\n }\n\n if (res.headers['set-cookie']) {\n [].concat(res.headers['set-cookie'] || []).forEach(cookie => {\n options.cookies.set(cookie, url);\n });\n }\n\n if ([301, 302, 303, 307, 308].includes(res.statusCode) && res.headers.location) {\n // redirect\n options.redirects++;\n if (options.redirects > options.maxRedirects) {\n finished = true;\n let err = new Error('Maximum redirect count exceeded');\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n req.abort();\n return;\n }\n // redirect does not include POST body\n options.method = 'GET';\n options.body = false;\n return fetch(urllib.resolve(url, res.headers.location), options);\n }\n\n fetchRes.statusCode = res.statusCode;\n fetchRes.headers = res.headers;\n\n if (res.statusCode >= 300 && !options.allowErrorResponse) {\n finished = true;\n let err = new Error('Invalid status code ' + res.statusCode);\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n req.abort();\n return;\n }\n\n res.on('error', err => {\n if (finished) {\n return;\n }\n finished = true;\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n req.abort();\n });\n\n if (inflate) {\n res.pipe(inflate).pipe(fetchRes);\n inflate.on('error', err => {\n if (finished) {\n return;\n }\n finished = true;\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n req.abort();\n });\n } else {\n res.pipe(fetchRes);\n }\n });\n\n setImmediate(() => {\n if (body) {\n try {\n if (typeof body.pipe === 'function') {\n return body.pipe(req);\n } else {\n req.write(body);\n }\n } catch (err) {\n finished = true;\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n return;\n }\n }\n req.end();\n });\n\n return fetchRes;\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\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* Active `debug` instances.\n\t*/\n\tcreateDebug.instances = [];\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 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\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 match;\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.enabled = createDebug.enabled(namespace);\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = selectColor(namespace);\n\t\tdebug.destroy = destroy;\n\t\tdebug.extend = extend;\n\t\t// Debug.formatArgs = formatArgs;\n\t\t// debug.rawLog = rawLog;\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\tcreateDebug.instances.push(debug);\n\n\t\treturn debug;\n\t}\n\n\tfunction destroy() {\n\t\tconst index = createDebug.instances.indexOf(this);\n\t\tif (index !== -1) {\n\t\t\tcreateDebug.instances.splice(index, 1);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\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\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.substr(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0; i < createDebug.instances.length; i++) {\n\t\t\tconst instance = createDebug.instances[i];\n\t\t\tinstance.enabled = createDebug.enabled(instance.namespace);\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\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","'use strict';\nconst os = require('os');\nconst execa = require('execa');\n\n// Reference: https://www.gaijin.at/en/lstwinver.php\nconst names = new Map([\n\t['10.0', '10'],\n\t['6.3', '8.1'],\n\t['6.2', '8'],\n\t['6.1', '7'],\n\t['6.0', 'Vista'],\n\t['5.2', 'Server 2003'],\n\t['5.1', 'XP'],\n\t['5.0', '2000'],\n\t['4.9', 'ME'],\n\t['4.1', '98'],\n\t['4.0', '95']\n]);\n\nconst windowsRelease = release => {\n\tconst version = /\\d+\\.\\d/.exec(release || os.release());\n\n\tif (release && !version) {\n\t\tthrow new Error('`release` argument doesn\\'t match `n.n`');\n\t}\n\n\tconst ver = (version || [])[0];\n\n\t// Server 2008, 2012, 2016, and 2019 versions are ambiguous with desktop versions and must be detected at runtime.\n\t// If `release` is omitted or we're on a Windows system, and the version number is an ambiguous version\n\t// then use `wmic` to get the OS caption: https://msdn.microsoft.com/en-us/library/aa394531(v=vs.85).aspx\n\t// If `wmic` is obsoloete (later versions of Windows 10), use PowerShell instead.\n\t// If the resulting caption contains the year 2008, 2012, 2016 or 2019, it is a server version, so return a server OS name.\n\tif ((!release || release === os.release()) && ['6.1', '6.2', '6.3', '10.0'].includes(ver)) {\n\t\tlet stdout;\n\t\ttry {\n\t\t\tstdout = execa.sync('wmic', ['os', 'get', 'Caption']).stdout || '';\n\t\t} catch (_) {\n\t\t\tstdout = execa.sync('powershell', ['(Get-CimInstance -ClassName Win32_OperatingSystem).caption']).stdout || '';\n\t\t}\n\n\t\tconst year = (stdout.match(/2008|2012|2016|2019/) || [])[0];\n\n\t\tif (year) {\n\t\t\treturn `Server ${year}`;\n\t\t}\n\t}\n\n\treturn names.get(ver);\n};\n\nmodule.exports = windowsRelease;\n","// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\nvar assert = require('assert')\nvar signals = require('./signals.js')\nvar isWin = /^win/i.test(process.platform)\n\nvar EE = require('events')\n/* istanbul ignore if */\nif (typeof EE !== 'function') {\n EE = EE.EventEmitter\n}\n\nvar emitter\nif (process.__signal_exit_emitter__) {\n emitter = process.__signal_exit_emitter__\n} else {\n emitter = process.__signal_exit_emitter__ = new EE()\n emitter.count = 0\n emitter.emitted = {}\n}\n\n// Because this emitter is a global, we have to check to see if a\n// previous version of this library failed to enable infinite listeners.\n// I know what you're about to say. But literally everything about\n// signal-exit is a compromise with evil. Get used to it.\nif (!emitter.infinite) {\n emitter.setMaxListeners(Infinity)\n emitter.infinite = true\n}\n\nmodule.exports = function (cb, opts) {\n assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler')\n\n if (loaded === false) {\n load()\n }\n\n var ev = 'exit'\n if (opts && opts.alwaysLast) {\n ev = 'afterexit'\n }\n\n var remove = function () {\n emitter.removeListener(ev, cb)\n if (emitter.listeners('exit').length === 0 &&\n emitter.listeners('afterexit').length === 0) {\n unload()\n }\n }\n emitter.on(ev, cb)\n\n return remove\n}\n\nmodule.exports.unload = unload\nfunction unload () {\n if (!loaded) {\n return\n }\n loaded = false\n\n signals.forEach(function (sig) {\n try {\n process.removeListener(sig, sigListeners[sig])\n } catch (er) {}\n })\n process.emit = originalProcessEmit\n process.reallyExit = originalProcessReallyExit\n emitter.count -= 1\n}\n\nfunction emit (event, code, signal) {\n if (emitter.emitted[event]) {\n return\n }\n emitter.emitted[event] = true\n emitter.emit(event, code, signal)\n}\n\n// { : , ... }\nvar sigListeners = {}\nsignals.forEach(function (sig) {\n sigListeners[sig] = function listener () {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n var listeners = process.listeners(sig)\n if (listeners.length === emitter.count) {\n unload()\n emit('exit', null, sig)\n /* istanbul ignore next */\n emit('afterexit', null, sig)\n /* istanbul ignore next */\n if (isWin && sig === 'SIGHUP') {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n sig = 'SIGINT'\n }\n process.kill(process.pid, sig)\n }\n }\n})\n\nmodule.exports.signals = function () {\n return signals\n}\n\nmodule.exports.load = load\n\nvar loaded = false\n\nfunction load () {\n if (loaded) {\n return\n }\n loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n emitter.count += 1\n\n signals = signals.filter(function (sig) {\n try {\n process.on(sig, sigListeners[sig])\n return true\n } catch (er) {\n return false\n }\n })\n\n process.emit = processEmit\n process.reallyExit = processReallyExit\n}\n\nvar originalProcessReallyExit = process.reallyExit\nfunction processReallyExit (code) {\n process.exitCode = code || 0\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n /* istanbul ignore next */\n originalProcessReallyExit.call(process, process.exitCode)\n}\n\nvar originalProcessEmit = process.emit\nfunction processEmit (ev, arg) {\n if (ev === 'exit') {\n if (arg !== undefined) {\n process.exitCode = arg\n }\n var ret = originalProcessEmit.apply(this, arguments)\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n return ret\n } else {\n return originalProcessEmit.apply(this, arguments)\n }\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst copy = require('../copy').copy\nconst remove = require('../remove').remove\nconst mkdirp = require('../mkdirs').mkdirp\nconst pathExists = require('../path-exists').pathExists\nconst stat = require('../util/stat')\n\nfunction move (src, dest, opts, cb) {\n if (typeof opts === 'function') {\n cb = opts\n opts = {}\n }\n\n const overwrite = opts.overwrite || opts.clobber || false\n\n stat.checkPaths(src, dest, 'move', (err, stats) => {\n if (err) return cb(err)\n const { srcStat } = stats\n stat.checkParentPaths(src, srcStat, dest, 'move', err => {\n if (err) return cb(err)\n mkdirp(path.dirname(dest), err => {\n if (err) return cb(err)\n return doRename(src, dest, overwrite, cb)\n })\n })\n })\n}\n\nfunction doRename (src, dest, overwrite, cb) {\n if (overwrite) {\n return remove(dest, err => {\n if (err) return cb(err)\n return rename(src, dest, overwrite, cb)\n })\n }\n pathExists(dest, (err, destExists) => {\n if (err) return cb(err)\n if (destExists) return cb(new Error('dest already exists.'))\n return rename(src, dest, overwrite, cb)\n })\n}\n\nfunction rename (src, dest, overwrite, cb) {\n fs.rename(src, dest, err => {\n if (!err) return cb()\n if (err.code !== 'EXDEV') return cb(err)\n return moveAcrossDevice(src, dest, overwrite, cb)\n })\n}\n\nfunction moveAcrossDevice (src, dest, overwrite, cb) {\n const opts = {\n overwrite,\n errorOnExist: true\n }\n copy(src, dest, opts, err => {\n if (err) return cb(err)\n return remove(src, cb)\n })\n}\n\nmodule.exports = move\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('touch', _touch, {\n cmdOptions: {\n 'a': 'atime_only',\n 'c': 'no_create',\n 'd': 'date',\n 'm': 'mtime_only',\n 'r': 'reference',\n },\n});\n\n//@\n//@ ### touch([options,] file [, file ...])\n//@ ### touch([options,] file_array)\n//@\n//@ Available options:\n//@\n//@ + `-a`: Change only the access time\n//@ + `-c`: Do not create any files\n//@ + `-m`: Change only the modification time\n//@ + `-d DATE`: Parse `DATE` and use it instead of current time\n//@ + `-r FILE`: Use `FILE`'s times instead of current time\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ touch('source.js');\n//@ touch('-c', '/path/to/some/dir/source.js');\n//@ touch({ '-r': FILE }, '/path/to/some/dir/source.js');\n//@ ```\n//@\n//@ Update the access and modification times of each `FILE` to the current time.\n//@ A `FILE` argument that does not exist is created empty, unless `-c` is supplied.\n//@ This is a partial implementation of [`touch(1)`](http://linux.die.net/man/1/touch).\nfunction _touch(opts, files) {\n if (!files) {\n common.error('no files given');\n } else if (typeof files === 'string') {\n files = [].slice.call(arguments, 1);\n } else {\n common.error('file arg should be a string file path or an Array of string file paths');\n }\n\n files.forEach(function (f) {\n touchFile(opts, f);\n });\n return '';\n}\n\nfunction touchFile(opts, file) {\n var stat = tryStatFile(file);\n\n if (stat && stat.isDirectory()) {\n // don't error just exit\n return;\n }\n\n // if the file doesn't already exist and the user has specified --no-create then\n // this script is finished\n if (!stat && opts.no_create) {\n return;\n }\n\n // open the file and then close it. this will create it if it doesn't exist but will\n // not truncate the file\n fs.closeSync(fs.openSync(file, 'a'));\n\n //\n // Set timestamps\n //\n\n // setup some defaults\n var now = new Date();\n var mtime = opts.date || now;\n var atime = opts.date || now;\n\n // use reference file\n if (opts.reference) {\n var refStat = tryStatFile(opts.reference);\n if (!refStat) {\n common.error('failed to get attributess of ' + opts.reference);\n }\n mtime = refStat.mtime;\n atime = refStat.atime;\n } else if (opts.date) {\n mtime = opts.date;\n atime = opts.date;\n }\n\n if (opts.atime_only && opts.mtime_only) {\n // keep the new values of mtime and atime like GNU\n } else if (opts.atime_only) {\n mtime = stat.mtime;\n } else if (opts.mtime_only) {\n atime = stat.atime;\n }\n\n fs.utimesSync(file, atime, mtime);\n}\n\nmodule.exports = _touch;\n\nfunction tryStatFile(filePath) {\n try {\n return common.statFollowLinks(filePath);\n } catch (e) {\n return null;\n }\n}\n","'use strict';\n\nconst path = require('path');\nconst niceTry = require('nice-try');\nconst resolveCommand = require('./util/resolveCommand');\nconst escape = require('./util/escape');\nconst readShebang = require('./util/readShebang');\nconst semver = require('semver');\n\nconst isWin = process.platform === 'win32';\nconst isExecutableRegExp = /\\.(?:com|exe)$/i;\nconst isCmdShimRegExp = /node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;\n\n// `options.shell` is supported in Node ^4.8.0, ^5.7.0 and >= 6.0.0\nconst supportsShellOption = niceTry(() => semver.satisfies(process.version, '^4.8.0 || ^5.7.0 || >= 6.0.0', true)) || false;\n\nfunction detectShebang(parsed) {\n parsed.file = resolveCommand(parsed);\n\n const shebang = parsed.file && readShebang(parsed.file);\n\n if (shebang) {\n parsed.args.unshift(parsed.file);\n parsed.command = shebang;\n\n return resolveCommand(parsed);\n }\n\n return parsed.file;\n}\n\nfunction parseNonShell(parsed) {\n if (!isWin) {\n return parsed;\n }\n\n // Detect & add support for shebangs\n const commandFile = detectShebang(parsed);\n\n // We don't need a shell if the command filename is an executable\n const needsShell = !isExecutableRegExp.test(commandFile);\n\n // If a shell is required, use cmd.exe and take care of escaping everything correctly\n // Note that `forceShell` is an hidden option used only in tests\n if (parsed.options.forceShell || needsShell) {\n // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`\n // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument\n // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,\n // we need to double escape them\n const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);\n\n // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\\bar)\n // This is necessary otherwise it will always fail with ENOENT in those cases\n parsed.command = path.normalize(parsed.command);\n\n // Escape command & arguments\n parsed.command = escape.command(parsed.command);\n parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));\n\n const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n parsed.command = process.env.comspec || 'cmd.exe';\n parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n }\n\n return parsed;\n}\n\nfunction parseShell(parsed) {\n // If node supports the shell option, there's no need to mimic its behavior\n if (supportsShellOption) {\n return parsed;\n }\n\n // Mimic node shell option\n // See https://github.com/nodejs/node/blob/b9f6a2dc059a1062776133f3d4fd848c4da7d150/lib/child_process.js#L335\n const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n if (isWin) {\n parsed.command = typeof parsed.options.shell === 'string' ? parsed.options.shell : process.env.comspec || 'cmd.exe';\n parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n } else {\n if (typeof parsed.options.shell === 'string') {\n parsed.command = parsed.options.shell;\n } else if (process.platform === 'android') {\n parsed.command = '/system/bin/sh';\n } else {\n parsed.command = '/bin/sh';\n }\n\n parsed.args = ['-c', shellCommand];\n }\n\n return parsed;\n}\n\nfunction parse(command, args, options) {\n // Normalize arguments, similar to nodejs\n if (args && !Array.isArray(args)) {\n options = args;\n args = null;\n }\n\n args = args ? args.slice(0) : []; // Clone array to avoid changing the original\n options = Object.assign({}, options); // Clone object to avoid changing the original\n\n // Build our parsed object\n const parsed = {\n command,\n args,\n options,\n file: undefined,\n original: {\n command,\n args,\n },\n };\n\n // Delegate further parsing to shell or non-shell\n return options.shell ? parseShell(parsed) : parseNonShell(parsed);\n}\n\nmodule.exports = parse;\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdir = require('../mkdirs')\nconst pathExists = require('../path-exists').pathExists\n\nfunction outputFile (file, data, encoding, callback) {\n if (typeof encoding === 'function') {\n callback = encoding\n encoding = 'utf8'\n }\n\n const dir = path.dirname(file)\n pathExists(dir, (err, itDoes) => {\n if (err) return callback(err)\n if (itDoes) return fs.writeFile(file, data, encoding, callback)\n\n mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n\n fs.writeFile(file, data, encoding, callback)\n })\n })\n}\n\nfunction outputFileSync (file, ...args) {\n const dir = path.dirname(file)\n if (fs.existsSync(dir)) {\n return fs.writeFileSync(file, ...args)\n }\n mkdir.mkdirsSync(dir)\n fs.writeFileSync(file, ...args)\n}\n\nmodule.exports = {\n outputFile: u(outputFile),\n outputFileSync\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(null, name ? [state, name] : [state])\n hook.api = { remove: removeHookRef }\n hook.remove = removeHookRef\n\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('[before-after-hook]: \"Hook()\" repurposing warning, use \"Hook.Collection()\". Read more: https://git.io/upgrade-before-after-hook-to-1.4')\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","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlUseSsl = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898/include/curl/curl.h#L801\r\n/**\r\n * Object with constants for option `USE_SSL`\r\n *\r\n * `CURLUSESSL_NONE` becomes `CurlUseSsl.None`\r\n *\r\n * @public\r\n */\r\nvar CurlUseSsl;\r\n(function (CurlUseSsl) {\r\n CurlUseSsl[CurlUseSsl[\"None\"] = 0] = \"None\";\r\n CurlUseSsl[CurlUseSsl[\"Try\"] = 1] = \"Try\";\r\n CurlUseSsl[CurlUseSsl[\"Control\"] = 2] = \"Control\";\r\n CurlUseSsl[CurlUseSsl[\"All\"] = 3] = \"All\";\r\n})(CurlUseSsl = exports.CurlUseSsl || (exports.CurlUseSsl = {}));\r\n//# sourceMappingURL=CurlUseSsl.js.map","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","\"use strict\";\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// This file was generated by scripts/build-constants.js on 2020-10-11T15:59:26.976Z\r\n// Do not edit manually\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlOptionCamelCaseMap = void 0;\r\nexports.CurlOptionCamelCaseMap = {\r\n /**\r\n * Path to an abstract Unix domain socket.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_ABSTRACT_UNIX_SOCKET.html](https://curl.haxx.se/libcurl/c/CURLOPT_ABSTRACT_UNIX_SOCKET.html)\r\n */\r\n abstractUnixSocket: 'ABSTRACT_UNIX_SOCKET',\r\n /**\r\n * Accept-Encoding and automatic decompressing data.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_ACCEPT_ENCODING.html](https://curl.haxx.se/libcurl/c/CURLOPT_ACCEPT_ENCODING.html)\r\n */\r\n acceptEncoding: 'ACCEPT_ENCODING',\r\n /**\r\n * Timeout for waiting for the server's connect back to be accepted.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_ACCEPTTIMEOUT_MS.html](https://curl.haxx.se/libcurl/c/CURLOPT_ACCEPTTIMEOUT_MS.html)\r\n */\r\n acceptTimeoutMs: 'ACCEPTTIMEOUT_MS',\r\n /**\r\n * IPv6 scope for local addresses.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_ADDRESS_SCOPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_ADDRESS_SCOPE.html)\r\n */\r\n addressScope: 'ADDRESS_SCOPE',\r\n /**\r\n * Specify the Alt-Svc: cache file name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_ALTSVC.html](https://curl.haxx.se/libcurl/c/CURLOPT_ALTSVC.html)\r\n */\r\n altSvc: 'ALTSVC',\r\n /**\r\n * Enable and configure Alt-Svc: treatment.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_ALTSVC_CTRL.html](https://curl.haxx.se/libcurl/c/CURLOPT_ALTSVC_CTRL.html)\r\n */\r\n altSvcCtrl: 'ALTSVC_CTRL',\r\n /**\r\n * Append to remote file.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_APPEND.html](https://curl.haxx.se/libcurl/c/CURLOPT_APPEND.html)\r\n */\r\n append: 'APPEND',\r\n /**\r\n * Automatically set Referer: header.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_AUTOREFERER.html](https://curl.haxx.se/libcurl/c/CURLOPT_AUTOREFERER.html)\r\n */\r\n autoReferer: 'AUTOREFERER',\r\n /**\r\n * Ask for alternate buffer size.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_BUFFERSIZE.html](https://curl.haxx.se/libcurl/c/CURLOPT_BUFFERSIZE.html)\r\n */\r\n bufferSize: 'BUFFERSIZE',\r\n /**\r\n * CA cert bundle.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CAINFO.html](https://curl.haxx.se/libcurl/c/CURLOPT_CAINFO.html)\r\n */\r\n caInfo: 'CAINFO',\r\n /**\r\n * Path to CA cert bundle.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CAPATH.html](https://curl.haxx.se/libcurl/c/CURLOPT_CAPATH.html)\r\n */\r\n caPath: 'CAPATH',\r\n /**\r\n * Extract certificate info.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CERTINFO.html](https://curl.haxx.se/libcurl/c/CURLOPT_CERTINFO.html)\r\n */\r\n certInfo: 'CERTINFO',\r\n /**\r\n * Callback for wildcard download start of chunk.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CHUNK_BGN_FUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_CHUNK_BGN_FUNCTION.html)\r\n */\r\n chunkBgnFunction: 'CHUNK_BGN_FUNCTION',\r\n /**\r\n * Callback for wildcard download end of chunk.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CHUNK_END_FUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_CHUNK_END_FUNCTION.html)\r\n */\r\n chunkEndFunction: 'CHUNK_END_FUNCTION',\r\n /**\r\n * Only connect, nothing else.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CONNECT_ONLY.html](https://curl.haxx.se/libcurl/c/CURLOPT_CONNECT_ONLY.html)\r\n */\r\n connectOnly: 'CONNECT_ONLY',\r\n /**\r\n * Connect to a specific host and port.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CONNECT_TO.html](https://curl.haxx.se/libcurl/c/CURLOPT_CONNECT_TO.html)\r\n */\r\n connectTo: 'CONNECT_TO',\r\n /**\r\n * Timeout for the connection phase.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CONNECTTIMEOUT.html](https://curl.haxx.se/libcurl/c/CURLOPT_CONNECTTIMEOUT.html)\r\n */\r\n connectTimeout: 'CONNECTTIMEOUT',\r\n /**\r\n * Millisecond timeout for the connection phase.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CONNECTTIMEOUT_MS.html](https://curl.haxx.se/libcurl/c/CURLOPT_CONNECTTIMEOUT_MS.html)\r\n */\r\n connectTimeoutMs: 'CONNECTTIMEOUT_MS',\r\n /**\r\n * Cookie(s) to send.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_COOKIE.html](https://curl.haxx.se/libcurl/c/CURLOPT_COOKIE.html)\r\n */\r\n cookie: 'COOKIE',\r\n /**\r\n * File to read cookies from.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_COOKIEFILE.html](https://curl.haxx.se/libcurl/c/CURLOPT_COOKIEFILE.html)\r\n */\r\n cookieFile: 'COOKIEFILE',\r\n /**\r\n * File to write cookies to.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_COOKIEJAR.html](https://curl.haxx.se/libcurl/c/CURLOPT_COOKIEJAR.html)\r\n */\r\n cookieJar: 'COOKIEJAR',\r\n /**\r\n * Add or control cookies.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_COOKIELIST.html](https://curl.haxx.se/libcurl/c/CURLOPT_COOKIELIST.html)\r\n */\r\n cookieList: 'COOKIELIST',\r\n /**\r\n * Start a new cookie session.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_COOKIESESSION.html](https://curl.haxx.se/libcurl/c/CURLOPT_COOKIESESSION.html)\r\n */\r\n cookieSession: 'COOKIESESSION',\r\n /**\r\n * Convert newlines.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CRLF.html](https://curl.haxx.se/libcurl/c/CURLOPT_CRLF.html)\r\n */\r\n crlf: 'CRLF',\r\n /**\r\n * Certificate Revocation List.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CRLFILE.html](https://curl.haxx.se/libcurl/c/CURLOPT_CRLFILE.html)\r\n */\r\n crlFile: 'CRLFILE',\r\n /**\r\n * Custom request/method.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CUSTOMREQUEST.html](https://curl.haxx.se/libcurl/c/CURLOPT_CUSTOMREQUEST.html)\r\n */\r\n customRequest: 'CUSTOMREQUEST',\r\n /**\r\n * Callback for debug information.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DEBUGFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_DEBUGFUNCTION.html)\r\n */\r\n debugFunction: 'DEBUGFUNCTION',\r\n /**\r\n * Default protocol.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DEFAULT_PROTOCOL.html](https://curl.haxx.se/libcurl/c/CURLOPT_DEFAULT_PROTOCOL.html)\r\n */\r\n defaultProtocol: 'DEFAULT_PROTOCOL',\r\n /**\r\n * List only.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DIRLISTONLY.html](https://curl.haxx.se/libcurl/c/CURLOPT_DIRLISTONLY.html)\r\n */\r\n dirListOnly: 'DIRLISTONLY',\r\n /**\r\n * Don't allow username in URL.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DISALLOW_USERNAME_IN_URL.html](https://curl.haxx.se/libcurl/c/CURLOPT_DISALLOW_USERNAME_IN_URL.html)\r\n */\r\n disallowUsernameInUrl: 'DISALLOW_USERNAME_IN_URL',\r\n /**\r\n * Timeout for DNS cache.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DNS_CACHE_TIMEOUT.html](https://curl.haxx.se/libcurl/c/CURLOPT_DNS_CACHE_TIMEOUT.html)\r\n */\r\n dnsCacheTimeout: 'DNS_CACHE_TIMEOUT',\r\n /**\r\n * Bind name resolves to this interface.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DNS_INTERFACE.html](https://curl.haxx.se/libcurl/c/CURLOPT_DNS_INTERFACE.html)\r\n */\r\n dnsInterface: 'DNS_INTERFACE',\r\n /**\r\n * Bind name resolves to this IP4 address.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DNS_LOCAL_IP4.html](https://curl.haxx.se/libcurl/c/CURLOPT_DNS_LOCAL_IP4.html)\r\n */\r\n dnsLocalIp4: 'DNS_LOCAL_IP4',\r\n /**\r\n * Bind name resolves to this IP6 address.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DNS_LOCAL_IP6.html](https://curl.haxx.se/libcurl/c/CURLOPT_DNS_LOCAL_IP6.html)\r\n */\r\n dnsLocalIp6: 'DNS_LOCAL_IP6',\r\n /**\r\n * Preferred DNS servers.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DNS_SERVERS.html](https://curl.haxx.se/libcurl/c/CURLOPT_DNS_SERVERS.html)\r\n */\r\n dnsServers: 'DNS_SERVERS',\r\n /**\r\n * Shuffle addresses before use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DNS_SHUFFLE_ADDRESSES.html](https://curl.haxx.se/libcurl/c/CURLOPT_DNS_SHUFFLE_ADDRESSES.html)\r\n */\r\n dnsShuffleAddresses: 'DNS_SHUFFLE_ADDRESSES',\r\n /**\r\n * OBSOLETE Enable global DNS cache.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DNS_USE_GLOBAL_CACHE.html](https://curl.haxx.se/libcurl/c/CURLOPT_DNS_USE_GLOBAL_CACHE.html)\r\n */\r\n dnsUseGlobalCache: 'DNS_USE_GLOBAL_CACHE',\r\n /**\r\n * Use this DOH server for name resolves.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DOH_URL.html](https://curl.haxx.se/libcurl/c/CURLOPT_DOH_URL.html)\r\n */\r\n dohUrl: 'DOH_URL',\r\n /**\r\n * Identify EGD socket for entropy.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_EGDSOCKET.html](https://curl.haxx.se/libcurl/c/CURLOPT_EGDSOCKET.html)\r\n */\r\n egdSocket: 'EGDSOCKET',\r\n /**\r\n * 100-continue timeout.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_EXPECT_100_TIMEOUT_MS.html](https://curl.haxx.se/libcurl/c/CURLOPT_EXPECT_100_TIMEOUT_MS.html)\r\n */\r\n expect100TimeoutMs: 'EXPECT_100_TIMEOUT_MS',\r\n /**\r\n * Fail on HTTP 4xx errors.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FAILONERROR.html](https://curl.haxx.se/libcurl/c/CURLOPT_FAILONERROR.html)\r\n */\r\n failOnError: 'FAILONERROR',\r\n /**\r\n * Request file modification date and time.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FILETIME.html](https://curl.haxx.se/libcurl/c/CURLOPT_FILETIME.html)\r\n */\r\n fileTime: 'FILETIME',\r\n /**\r\n * Callback for wildcard matching.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FNMATCH_FUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_FNMATCH_FUNCTION.html)\r\n */\r\n fnMatchFunction: 'FNMATCH_FUNCTION',\r\n /**\r\n * Follow HTTP redirects.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FOLLOWLOCATION.html](https://curl.haxx.se/libcurl/c/CURLOPT_FOLLOWLOCATION.html)\r\n */\r\n followLocation: 'FOLLOWLOCATION',\r\n /**\r\n * Prevent subsequent connections from re-using this.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FORBID_REUSE.html](https://curl.haxx.se/libcurl/c/CURLOPT_FORBID_REUSE.html)\r\n */\r\n forbIdReuse: 'FORBID_REUSE',\r\n /**\r\n * Use a new connection.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FRESH_CONNECT.html](https://curl.haxx.se/libcurl/c/CURLOPT_FRESH_CONNECT.html)\r\n */\r\n freshConnect: 'FRESH_CONNECT',\r\n /**\r\n * Send ACCT command.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_ACCOUNT.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_ACCOUNT.html)\r\n */\r\n ftpAccount: 'FTP_ACCOUNT',\r\n /**\r\n * Alternative to USER.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_ALTERNATIVE_TO_USER.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_ALTERNATIVE_TO_USER.html)\r\n */\r\n ftpAlternativeToUser: 'FTP_ALTERNATIVE_TO_USER',\r\n /**\r\n * Create missing directories on the remote server.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_CREATE_MISSING_DIRS.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_CREATE_MISSING_DIRS.html)\r\n */\r\n ftpCreateMissingDirs: 'FTP_CREATE_MISSING_DIRS',\r\n /**\r\n * Specify how to reach files.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_FILEMETHOD.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_FILEMETHOD.html)\r\n */\r\n ftpFileMethod: 'FTP_FILEMETHOD',\r\n /**\r\n * Timeout for FTP responses.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_RESPONSE_TIMEOUT.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_RESPONSE_TIMEOUT.html)\r\n */\r\n ftpResponseTimeout: 'FTP_RESPONSE_TIMEOUT',\r\n /**\r\n * Ignore the IP address in the PASV response.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_SKIP_PASV_IP.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_SKIP_PASV_IP.html)\r\n */\r\n ftpSkipPasvIp: 'FTP_SKIP_PASV_IP',\r\n /**\r\n * Back to non-TLS again after authentication.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_SSL_CCC.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_SSL_CCC.html)\r\n */\r\n ftpSslCcc: 'FTP_SSL_CCC',\r\n /**\r\n * Use EPTR.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_USE_EPRT.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_USE_EPRT.html)\r\n */\r\n ftpUseEprt: 'FTP_USE_EPRT',\r\n /**\r\n * Use EPSV.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_USE_EPSV.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_USE_EPSV.html)\r\n */\r\n ftpUseEpsv: 'FTP_USE_EPSV',\r\n /**\r\n * Use PRET.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_USE_PRET.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_USE_PRET.html)\r\n */\r\n ftpUsePret: 'FTP_USE_PRET',\r\n /**\r\n * Use active FTP.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTPPORT.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTPPORT.html)\r\n */\r\n ftpPort: 'FTPPORT',\r\n /**\r\n * Control how to do TLS.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTPSSLAUTH.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTPSSLAUTH.html)\r\n */\r\n ftpSslAuth: 'FTPSSLAUTH',\r\n /**\r\n * Disable GSS-API delegation.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_GSSAPI_DELEGATION.html](https://curl.haxx.se/libcurl/c/CURLOPT_GSSAPI_DELEGATION.html)\r\n */\r\n gssapiDelegation: 'GSSAPI_DELEGATION',\r\n /**\r\n * Timeout for happy eyeballs.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.html](https://curl.haxx.se/libcurl/c/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.html)\r\n */\r\n happyEyeballsTimeoutMs: 'HAPPY_EYEBALLS_TIMEOUT_MS',\r\n /**\r\n * Send an HAProxy PROXY protocol v1 header.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HAPROXYPROTOCOL.html](https://curl.haxx.se/libcurl/c/CURLOPT_HAPROXYPROTOCOL.html)\r\n */\r\n haProxyProtocol: 'HAPROXYPROTOCOL',\r\n /**\r\n * Include the header in the body output.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HEADER.html](https://curl.haxx.se/libcurl/c/CURLOPT_HEADER.html)\r\n */\r\n header: 'HEADER',\r\n /**\r\n * Callback for writing received headers.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HEADERFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_HEADERFUNCTION.html)\r\n */\r\n headerFunction: 'HEADERFUNCTION',\r\n /**\r\n * Control custom headers.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HEADEROPT.html](https://curl.haxx.se/libcurl/c/CURLOPT_HEADEROPT.html)\r\n */\r\n headerOpt: 'HEADEROPT',\r\n /**\r\n * Disable Content decoding.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTP_CONTENT_DECODING.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTP_CONTENT_DECODING.html)\r\n */\r\n httpContentDecoding: 'HTTP_CONTENT_DECODING',\r\n /**\r\n * Disable Transfer decoding.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTP_TRANSFER_DECODING.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTP_TRANSFER_DECODING.html)\r\n */\r\n httpTransferDecoding: 'HTTP_TRANSFER_DECODING',\r\n /**\r\n * HTTP version to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTP_VERSION.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTP_VERSION.html)\r\n */\r\n httpVersion: 'HTTP_VERSION',\r\n /**\r\n * Allow HTTP/0.9 responses.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTP09_ALLOWED.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTP09_ALLOWED.html)\r\n */\r\n http09Allowed: 'HTTP09_ALLOWED',\r\n /**\r\n * Alternative versions of 200 OK.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTP200ALIASES.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTP200ALIASES.html)\r\n */\r\n http200aliases: 'HTTP200ALIASES',\r\n /**\r\n * HTTP server authentication methods.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTPAUTH.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTPAUTH.html)\r\n */\r\n httpAuth: 'HTTPAUTH',\r\n /**\r\n * Do an HTTP GET request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTPGET.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTPGET.html)\r\n */\r\n httpGet: 'HTTPGET',\r\n /**\r\n * Custom HTTP headers.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTPHEADER.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTPHEADER.html)\r\n */\r\n httpHeader: 'HTTPHEADER',\r\n /**\r\n * Multipart formpost HTTP POST.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTPPOST.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTPPOST.html)\r\n */\r\n httpPost: 'HTTPPOST',\r\n /**\r\n * Tunnel through the HTTP proxy.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTPPROXYTUNNEL.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTPPROXYTUNNEL.html)\r\n */\r\n httpProxyTunnel: 'HTTPPROXYTUNNEL',\r\n /**\r\n * Ignore Content-Length.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_IGNORE_CONTENT_LENGTH.html](https://curl.haxx.se/libcurl/c/CURLOPT_IGNORE_CONTENT_LENGTH.html)\r\n */\r\n ignoreContentLength: 'IGNORE_CONTENT_LENGTH',\r\n /**\r\n * Size of file to send.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_INFILESIZE.html](https://curl.haxx.se/libcurl/c/CURLOPT_INFILESIZE.html)\r\n */\r\n inFileSize: 'INFILESIZE',\r\n /**\r\n * Size of file to send.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_INFILESIZE_LARGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_INFILESIZE_LARGE.html)\r\n */\r\n inFileSizeLarge: 'INFILESIZE_LARGE',\r\n /**\r\n * Bind connection locally to this.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_INTERFACE.html](https://curl.haxx.se/libcurl/c/CURLOPT_INTERFACE.html)\r\n */\r\n interface: 'INTERFACE',\r\n /**\r\n * IP version to resolve to.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_IPRESOLVE.html](https://curl.haxx.se/libcurl/c/CURLOPT_IPRESOLVE.html)\r\n */\r\n ipResolve: 'IPRESOLVE',\r\n /**\r\n * Issuer certificate.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_ISSUERCERT.html](https://curl.haxx.se/libcurl/c/CURLOPT_ISSUERCERT.html)\r\n */\r\n issuerCert: 'ISSUERCERT',\r\n /**\r\n * Keep sending on HTTP \\>= 300 errors.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_KEEP_SENDING_ON_ERROR.html](https://curl.haxx.se/libcurl/c/CURLOPT_KEEP_SENDING_ON_ERROR.html)\r\n */\r\n keepSendingOnError: 'KEEP_SENDING_ON_ERROR',\r\n /**\r\n * Client key password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_KEYPASSWD.html](https://curl.haxx.se/libcurl/c/CURLOPT_KEYPASSWD.html)\r\n */\r\n keyPasswd: 'KEYPASSWD',\r\n /**\r\n * Kerberos security level.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_KRBLEVEL.html](https://curl.haxx.se/libcurl/c/CURLOPT_KRBLEVEL.html)\r\n */\r\n krbLevel: 'KRBLEVEL',\r\n /**\r\n * Bind connection locally to this port.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_LOCALPORT.html](https://curl.haxx.se/libcurl/c/CURLOPT_LOCALPORT.html)\r\n */\r\n localPort: 'LOCALPORT',\r\n /**\r\n * Bind connection locally to port range.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_LOCALPORTRANGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_LOCALPORTRANGE.html)\r\n */\r\n localPortRange: 'LOCALPORTRANGE',\r\n /**\r\n * Login options.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_LOGIN_OPTIONS.html](https://curl.haxx.se/libcurl/c/CURLOPT_LOGIN_OPTIONS.html)\r\n */\r\n loginOptions: 'LOGIN_OPTIONS',\r\n /**\r\n * Low speed limit to abort transfer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_LOW_SPEED_LIMIT.html](https://curl.haxx.se/libcurl/c/CURLOPT_LOW_SPEED_LIMIT.html)\r\n */\r\n lowSpeedLimit: 'LOW_SPEED_LIMIT',\r\n /**\r\n * Time to be below the speed to trigger low speed abort.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_LOW_SPEED_TIME.html](https://curl.haxx.se/libcurl/c/CURLOPT_LOW_SPEED_TIME.html)\r\n */\r\n lowSpeedTime: 'LOW_SPEED_TIME',\r\n /**\r\n * Authentication address.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_AUTH.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_AUTH.html)\r\n */\r\n mailAuth: 'MAIL_AUTH',\r\n /**\r\n * Address of the sender.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_FROM.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_FROM.html)\r\n */\r\n mailFrom: 'MAIL_FROM',\r\n /**\r\n * Address of the recipients.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_RCPT.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_RCPT.html)\r\n */\r\n mailRcpt: 'MAIL_RCPT',\r\n /**\r\n * Allow RCPT TO command to fail for some recipients.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_RCPT_ALLLOWFAILS.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_RCPT_ALLLOWFAILS.html)\r\n */\r\n mailRcptAlllowfails: 'MAIL_RCPT_ALLLOWFAILS',\r\n /**\r\n * Cap the download speed to this.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAX_RECV_SPEED_LARGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAX_RECV_SPEED_LARGE.html)\r\n */\r\n maxRecvSpeedLarge: 'MAX_RECV_SPEED_LARGE',\r\n /**\r\n * Cap the upload speed to this.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAX_SEND_SPEED_LARGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAX_SEND_SPEED_LARGE.html)\r\n */\r\n maxSendSpeedLarge: 'MAX_SEND_SPEED_LARGE',\r\n /**\r\n * Limit the age of connections for reuse.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAXAGE_CONN.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAXAGE_CONN.html)\r\n */\r\n maxAgeConn: 'MAXAGE_CONN',\r\n /**\r\n * Maximum number of connections in the connection pool.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAXCONNECTS.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAXCONNECTS.html)\r\n */\r\n maxConnects: 'MAXCONNECTS',\r\n /**\r\n * Maximum file size to get.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAXFILESIZE.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAXFILESIZE.html)\r\n */\r\n maxFileSize: 'MAXFILESIZE',\r\n /**\r\n * Maximum file size to get.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAXFILESIZE_LARGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAXFILESIZE_LARGE.html)\r\n */\r\n maxFileSizeLarge: 'MAXFILESIZE_LARGE',\r\n /**\r\n * Maximum number of redirects to follow.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAXREDIRS.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAXREDIRS.html)\r\n */\r\n maxRedirs: 'MAXREDIRS',\r\n /**\r\n * Post/send MIME data.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MIMEPOST.html](https://curl.haxx.se/libcurl/c/CURLOPT_MIMEPOST.html)\r\n */\r\n mimePost: 'MIMEPOST',\r\n /**\r\n * Enable .netrc parsing.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NETRC.html](https://curl.haxx.se/libcurl/c/CURLOPT_NETRC.html)\r\n */\r\n netrc: 'NETRC',\r\n /**\r\n * .netrc file name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NETRC_FILE.html](https://curl.haxx.se/libcurl/c/CURLOPT_NETRC_FILE.html)\r\n */\r\n netrcFile: 'NETRC_FILE',\r\n /**\r\n * Mode for creating new remote directories.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NEW_DIRECTORY_PERMS.html](https://curl.haxx.se/libcurl/c/CURLOPT_NEW_DIRECTORY_PERMS.html)\r\n */\r\n newDirectoryPerms: 'NEW_DIRECTORY_PERMS',\r\n /**\r\n * Mode for creating new remote files.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NEW_FILE_PERMS.html](https://curl.haxx.se/libcurl/c/CURLOPT_NEW_FILE_PERMS.html)\r\n */\r\n newFilePerms: 'NEW_FILE_PERMS',\r\n /**\r\n * Do not get the body contents.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NOBODY.html](https://curl.haxx.se/libcurl/c/CURLOPT_NOBODY.html)\r\n */\r\n nobody: 'NOBODY',\r\n /**\r\n * Shut off the progress meter.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NOPROGRESS.html](https://curl.haxx.se/libcurl/c/CURLOPT_NOPROGRESS.html)\r\n */\r\n noProgress: 'NOPROGRESS',\r\n /**\r\n * Filter out hosts from proxy use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NOPROXY.html](https://curl.haxx.se/libcurl/c/CURLOPT_NOPROXY.html)\r\n */\r\n noProxy: 'NOPROXY',\r\n /**\r\n * Do not install signal handlers.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NOSIGNAL.html](https://curl.haxx.se/libcurl/c/CURLOPT_NOSIGNAL.html)\r\n */\r\n noSignal: 'NOSIGNAL',\r\n /**\r\n * Password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PASSWORD.html](https://curl.haxx.se/libcurl/c/CURLOPT_PASSWORD.html)\r\n */\r\n password: 'PASSWORD',\r\n /**\r\n * Disable squashing /../ and /./ sequences in the path.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PATH_AS_IS.html](https://curl.haxx.se/libcurl/c/CURLOPT_PATH_AS_IS.html)\r\n */\r\n pathAsIs: 'PATH_AS_IS',\r\n /**\r\n * Set pinned SSL public key .\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PINNEDPUBLICKEY.html](https://curl.haxx.se/libcurl/c/CURLOPT_PINNEDPUBLICKEY.html)\r\n */\r\n pinnedPublicKey: 'PINNEDPUBLICKEY',\r\n /**\r\n * Wait on connection to pipeline on it.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PIPEWAIT.html](https://curl.haxx.se/libcurl/c/CURLOPT_PIPEWAIT.html)\r\n */\r\n pipeWait: 'PIPEWAIT',\r\n /**\r\n * Port number to connect to.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PORT.html](https://curl.haxx.se/libcurl/c/CURLOPT_PORT.html)\r\n */\r\n port: 'PORT',\r\n /**\r\n * Issue an HTTP POST request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_POST.html](https://curl.haxx.se/libcurl/c/CURLOPT_POST.html)\r\n */\r\n post: 'POST',\r\n /**\r\n * Send a POST with this data.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_POSTFIELDS.html](https://curl.haxx.se/libcurl/c/CURLOPT_POSTFIELDS.html)\r\n */\r\n postFields: 'POSTFIELDS',\r\n /**\r\n * The POST data is this big.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_POSTFIELDSIZE.html](https://curl.haxx.se/libcurl/c/CURLOPT_POSTFIELDSIZE.html)\r\n */\r\n postFieldSize: 'POSTFIELDSIZE',\r\n /**\r\n * The POST data is this big.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_POSTFIELDSIZE_LARGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_POSTFIELDSIZE_LARGE.html)\r\n */\r\n postFieldSizeLarge: 'POSTFIELDSIZE_LARGE',\r\n /**\r\n * Commands to run after transfer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_POSTQUOTE.html](https://curl.haxx.se/libcurl/c/CURLOPT_POSTQUOTE.html)\r\n */\r\n postQuote: 'POSTQUOTE',\r\n /**\r\n * How to act on redirects after POST.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_POSTREDIR.html](https://curl.haxx.se/libcurl/c/CURLOPT_POSTREDIR.html)\r\n */\r\n postRedir: 'POSTREDIR',\r\n /**\r\n * Socks proxy to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PRE_PROXY.html](https://curl.haxx.se/libcurl/c/CURLOPT_PRE_PROXY.html)\r\n */\r\n preProxy: 'PRE_PROXY',\r\n /**\r\n * Commands to run just before transfer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PREQUOTE.html](https://curl.haxx.se/libcurl/c/CURLOPT_PREQUOTE.html)\r\n */\r\n preQuote: 'PREQUOTE',\r\n /**\r\n * OBSOLETE callback for progress meter.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROGRESSFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROGRESSFUNCTION.html)\r\n */\r\n progressFunction: 'PROGRESSFUNCTION',\r\n /**\r\n * Allowed protocols.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROTOCOLS.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROTOCOLS.html)\r\n */\r\n protocols: 'PROTOCOLS',\r\n /**\r\n * Proxy to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY.html)\r\n */\r\n proxy: 'PROXY',\r\n /**\r\n * Proxy CA cert bundle.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CAINFO.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CAINFO.html)\r\n */\r\n proxyCaInfo: 'PROXY_CAINFO',\r\n /**\r\n * Path to proxy CA cert bundle.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CAPATH.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CAPATH.html)\r\n */\r\n proxyCaPath: 'PROXY_CAPATH',\r\n /**\r\n * Proxy Certificate Revocation List.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CRLFILE.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CRLFILE.html)\r\n */\r\n proxyCrlFile: 'PROXY_CRLFILE',\r\n /**\r\n * Proxy issuer certificate.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_ISSUERCERT.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_ISSUERCERT.html)\r\n */\r\n proxyIssuerCert: 'PROXY_ISSUERCERT',\r\n /**\r\n * Proxy issuer certificate memory buffer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_ISSUERCERT_BLOB.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_ISSUERCERT_BLOB.html)\r\n */\r\n proxyIssuerCertBlob: 'PROXY_ISSUERCERT_BLOB',\r\n /**\r\n * Proxy client key password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_KEYPASSWD.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_KEYPASSWD.html)\r\n */\r\n proxyKeyPasswd: 'PROXY_KEYPASSWD',\r\n /**\r\n * Set the proxy's pinned SSL public key.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_PINNEDPUBLICKEY.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_PINNEDPUBLICKEY.html)\r\n */\r\n proxyPinnedPublicKey: 'PROXY_PINNEDPUBLICKEY',\r\n /**\r\n * Proxy authentication service name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SERVICE_NAME.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SERVICE_NAME.html)\r\n */\r\n proxyServiceName: 'PROXY_SERVICE_NAME',\r\n /**\r\n * Proxy ciphers to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_CIPHER_LIST.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_CIPHER_LIST.html)\r\n */\r\n proxySslCipherList: 'PROXY_SSL_CIPHER_LIST',\r\n /**\r\n * Control proxy SSL behavior.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_OPTIONS.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_OPTIONS.html)\r\n */\r\n proxySslOptions: 'PROXY_SSL_OPTIONS',\r\n /**\r\n * Verify the host name in the proxy SSL certificate.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_VERIFYHOST.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_VERIFYHOST.html)\r\n */\r\n proxySslVerifyHost: 'PROXY_SSL_VERIFYHOST',\r\n /**\r\n * Verify the proxy SSL certificate.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_VERIFYPEER.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_VERIFYPEER.html)\r\n */\r\n proxySslVerifyPeer: 'PROXY_SSL_VERIFYPEER',\r\n /**\r\n * Proxy client cert type.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLCERTTYPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLCERTTYPE.html)\r\n */\r\n proxySslCertType: 'PROXY_SSLCERTTYPE',\r\n /**\r\n * Proxy client key.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLKEY.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLKEY.html)\r\n */\r\n proxySslKey: 'PROXY_SSLKEY',\r\n /**\r\n * Proxy client key type.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLKEYTYPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLKEYTYPE.html)\r\n */\r\n proxySslKeyType: 'PROXY_SSLKEYTYPE',\r\n /**\r\n * Proxy SSL version to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLVERSION.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLVERSION.html)\r\n */\r\n proxySslversion: 'PROXY_SSLVERSION',\r\n /**\r\n * Proxy TLS 1.3 cipher suites to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLS13_CIPHERS.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLS13_CIPHERS.html)\r\n */\r\n proxyTls13Ciphers: 'PROXY_TLS13_CIPHERS',\r\n /**\r\n * Proxy TLS authentication password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_PASSWORD.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_PASSWORD.html)\r\n */\r\n proxyTlsAuthPassword: 'PROXY_TLSAUTH_PASSWORD',\r\n /**\r\n * Proxy TLS authentication methods.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_TYPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_TYPE.html)\r\n */\r\n proxyTlsAuthType: 'PROXY_TLSAUTH_TYPE',\r\n /**\r\n * Proxy TLS authentication user name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_USERNAME.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_USERNAME.html)\r\n */\r\n proxyTlsAuthUsername: 'PROXY_TLSAUTH_USERNAME',\r\n /**\r\n * Add transfer mode to URL over proxy.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TRANSFER_MODE.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TRANSFER_MODE.html)\r\n */\r\n proxyTransferMode: 'PROXY_TRANSFER_MODE',\r\n /**\r\n * HTTP proxy authentication methods.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXYAUTH.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXYAUTH.html)\r\n */\r\n proxyAuth: 'PROXYAUTH',\r\n /**\r\n * Custom HTTP headers sent to proxy.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXYHEADER.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXYHEADER.html)\r\n */\r\n proxyHeader: 'PROXYHEADER',\r\n /**\r\n * Proxy password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXYPASSWORD.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXYPASSWORD.html)\r\n */\r\n proxyPassword: 'PROXYPASSWORD',\r\n /**\r\n * Proxy port to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXYPORT.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXYPORT.html)\r\n */\r\n proxyPort: 'PROXYPORT',\r\n /**\r\n * Proxy type.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXYTYPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXYTYPE.html)\r\n */\r\n proxyType: 'PROXYTYPE',\r\n /**\r\n * Proxy user name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXYUSERNAME.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXYUSERNAME.html)\r\n */\r\n proxyUsername: 'PROXYUSERNAME',\r\n /**\r\n * Proxy user name and password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXYUSERPWD.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXYUSERPWD.html)\r\n */\r\n proxyUserpwd: 'PROXYUSERPWD',\r\n /**\r\n * Issue an HTTP PUT request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PUT.html](https://curl.haxx.se/libcurl/c/CURLOPT_PUT.html)\r\n */\r\n put: 'PUT',\r\n /**\r\n * Commands to run before transfer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_QUOTE.html](https://curl.haxx.se/libcurl/c/CURLOPT_QUOTE.html)\r\n */\r\n quote: 'QUOTE',\r\n /**\r\n * Provide source for entropy random data.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RANDOM_FILE.html](https://curl.haxx.se/libcurl/c/CURLOPT_RANDOM_FILE.html)\r\n */\r\n randomFile: 'RANDOM_FILE',\r\n /**\r\n * Range requests.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RANGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_RANGE.html)\r\n */\r\n range: 'RANGE',\r\n /**\r\n * Data pointer to pass to the read callback.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_READDATA.html](https://curl.haxx.se/libcurl/c/CURLOPT_READDATA.html)\r\n */\r\n readData: 'READDATA',\r\n /**\r\n * Callback for reading data.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_READFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_READFUNCTION.html)\r\n */\r\n readFunction: 'READFUNCTION',\r\n /**\r\n * Protocols to allow redirects to.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_REDIR_PROTOCOLS.html](https://curl.haxx.se/libcurl/c/CURLOPT_REDIR_PROTOCOLS.html)\r\n */\r\n redirProtocols: 'REDIR_PROTOCOLS',\r\n /**\r\n * Referer: header.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_REFERER.html](https://curl.haxx.se/libcurl/c/CURLOPT_REFERER.html)\r\n */\r\n referer: 'REFERER',\r\n /**\r\n * Set the request target.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_REQUEST_TARGET.html](https://curl.haxx.se/libcurl/c/CURLOPT_REQUEST_TARGET.html)\r\n */\r\n requestTarget: 'REQUEST_TARGET',\r\n /**\r\n * Provide fixed/fake name resolves.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RESOLVE.html](https://curl.haxx.se/libcurl/c/CURLOPT_RESOLVE.html)\r\n */\r\n resolve: 'RESOLVE',\r\n /**\r\n * Resume a transfer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RESUME_FROM.html](https://curl.haxx.se/libcurl/c/CURLOPT_RESUME_FROM.html)\r\n */\r\n resumeFrom: 'RESUME_FROM',\r\n /**\r\n * Resume a transfer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RESUME_FROM_LARGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_RESUME_FROM_LARGE.html)\r\n */\r\n resumeFromLarge: 'RESUME_FROM_LARGE',\r\n /**\r\n * Client CSEQ number.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_CLIENT_CSEQ.html](https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_CLIENT_CSEQ.html)\r\n */\r\n rtspClientCseq: 'RTSP_CLIENT_CSEQ',\r\n /**\r\n * RTSP request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_REQUEST.html](https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_REQUEST.html)\r\n */\r\n rtspRequest: 'RTSP_REQUEST',\r\n /**\r\n * CSEQ number for RTSP Server-\\>Client request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_SERVER_CSEQ.html](https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_SERVER_CSEQ.html)\r\n */\r\n rtspServerCseq: 'RTSP_SERVER_CSEQ',\r\n /**\r\n * RTSP session-id.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_SESSION_ID.html](https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_SESSION_ID.html)\r\n */\r\n rtspSessionId: 'RTSP_SESSION_ID',\r\n /**\r\n * RTSP stream URI.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_STREAM_URI.html](https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_STREAM_URI.html)\r\n */\r\n rtspStreamUri: 'RTSP_STREAM_URI',\r\n /**\r\n * RTSP Transport: header.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_TRANSPORT.html](https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_TRANSPORT.html)\r\n */\r\n rtspTransPort: 'RTSP_TRANSPORT',\r\n /**\r\n * SASL authorisation identity (identity to act as).\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SASL_AUTHZID.html](https://curl.haxx.se/libcurl/c/CURLOPT_SASL_AUTHZID.html)\r\n */\r\n saslAuthzId: 'SASL_AUTHZID',\r\n /**\r\n * Enable SASL initial response.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SASL_IR.html](https://curl.haxx.se/libcurl/c/CURLOPT_SASL_IR.html)\r\n */\r\n saslIr: 'SASL_IR',\r\n /**\r\n * Callback for seek operations.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SEEKFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_SEEKFUNCTION.html)\r\n */\r\n seekFunction: 'SEEKFUNCTION',\r\n /**\r\n * Authentication service name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SERVICE_NAME.html](https://curl.haxx.se/libcurl/c/CURLOPT_SERVICE_NAME.html)\r\n */\r\n serviceName: 'SERVICE_NAME',\r\n /**\r\n * Share object to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SHARE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SHARE.html)\r\n */\r\n share: 'SHARE',\r\n /**\r\n * Socks5 authentication methods.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SOCKS5_AUTH.html](https://curl.haxx.se/libcurl/c/CURLOPT_SOCKS5_AUTH.html)\r\n */\r\n socks5Auth: 'SOCKS5_AUTH',\r\n /**\r\n * Socks5 GSSAPI NEC mode.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SOCKS5_GSSAPI_NEC.html](https://curl.haxx.se/libcurl/c/CURLOPT_SOCKS5_GSSAPI_NEC.html)\r\n */\r\n socks5GssapiNec: 'SOCKS5_GSSAPI_NEC',\r\n /**\r\n * Socks5 GSSAPI service name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SOCKS5_GSSAPI_SERVICE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SOCKS5_GSSAPI_SERVICE.html)\r\n */\r\n socks5GssapiService: 'SOCKS5_GSSAPI_SERVICE',\r\n /**\r\n * SSH authentication types.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSH_AUTH_TYPES.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSH_AUTH_TYPES.html)\r\n */\r\n sshAuthTypes: 'SSH_AUTH_TYPES',\r\n /**\r\n * Enable SSH compression.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSH_COMPRESSION.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSH_COMPRESSION.html)\r\n */\r\n sshCompression: 'SSH_COMPRESSION',\r\n /**\r\n * MD5 of host's public key.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html)\r\n */\r\n sshHostPublicKeyMd5: 'SSH_HOST_PUBLIC_KEY_MD5',\r\n /**\r\n * File name with known hosts.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSH_KNOWNHOSTS.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSH_KNOWNHOSTS.html)\r\n */\r\n sshKnownHosts: 'SSH_KNOWNHOSTS',\r\n /**\r\n * File name of private key.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSH_PRIVATE_KEYFILE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSH_PRIVATE_KEYFILE.html)\r\n */\r\n sshPrivateKeyFile: 'SSH_PRIVATE_KEYFILE',\r\n /**\r\n * File name of public key.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSH_PUBLIC_KEYFILE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSH_PUBLIC_KEYFILE.html)\r\n */\r\n sshPublicKeyFile: 'SSH_PUBLIC_KEYFILE',\r\n /**\r\n * Ciphers to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_CIPHER_LIST.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_CIPHER_LIST.html)\r\n */\r\n sslCipherList: 'SSL_CIPHER_LIST',\r\n /**\r\n * Set key exchange curves.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_EC_CURVES.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_EC_CURVES.html)\r\n */\r\n sslEcCurves: 'SSL_EC_CURVES',\r\n /**\r\n * Enable use of ALPN.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_ENABLE_ALPN.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_ENABLE_ALPN.html)\r\n */\r\n sslEnableAlpn: 'SSL_ENABLE_ALPN',\r\n /**\r\n * Enable use of NPN.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_ENABLE_NPN.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_ENABLE_NPN.html)\r\n */\r\n sslEnableNpn: 'SSL_ENABLE_NPN',\r\n /**\r\n * Enable TLS False Start.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_FALSESTART.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_FALSESTART.html)\r\n */\r\n sslFalsestart: 'SSL_FALSESTART',\r\n /**\r\n * Control SSL behavior.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_OPTIONS.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_OPTIONS.html)\r\n */\r\n sslOptions: 'SSL_OPTIONS',\r\n /**\r\n * Disable SSL session-id cache.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_SESSIONID_CACHE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_SESSIONID_CACHE.html)\r\n */\r\n sslSessionIdCache: 'SSL_SESSIONID_CACHE',\r\n /**\r\n * Verify the host name in the SSL certificate.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYHOST.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYHOST.html)\r\n */\r\n sslVerifyHost: 'SSL_VERIFYHOST',\r\n /**\r\n * Verify the SSL certificate.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html)\r\n */\r\n sslVerifyPeer: 'SSL_VERIFYPEER',\r\n /**\r\n * Verify the SSL certificate's status.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYSTATUS.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYSTATUS.html)\r\n */\r\n sslVerifyStatus: 'SSL_VERIFYSTATUS',\r\n /**\r\n * Client cert.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSLCERT.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSLCERT.html)\r\n */\r\n sslCert: 'SSLCERT',\r\n /**\r\n * Client cert type.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSLCERTTYPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSLCERTTYPE.html)\r\n */\r\n sslCertType: 'SSLCERTTYPE',\r\n /**\r\n * Use identifier with SSL engine.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSLENGINE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSLENGINE.html)\r\n */\r\n sslEngine: 'SSLENGINE',\r\n /**\r\n * Default SSL engine.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSLENGINE_DEFAULT.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSLENGINE_DEFAULT.html)\r\n */\r\n sslEngineDefault: 'SSLENGINE_DEFAULT',\r\n /**\r\n * Client key.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSLKEY.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSLKEY.html)\r\n */\r\n sslKey: 'SSLKEY',\r\n /**\r\n * Client key type.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSLKEYTYPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSLKEYTYPE.html)\r\n */\r\n sslKeyType: 'SSLKEYTYPE',\r\n /**\r\n * SSL version to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSLVERSION.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSLVERSION.html)\r\n */\r\n sslversion: 'SSLVERSION',\r\n /**\r\n * Suppress proxy CONNECT response headers from user callbacks.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SUPPRESS_CONNECT_HEADERS.html](https://curl.haxx.se/libcurl/c/CURLOPT_SUPPRESS_CONNECT_HEADERS.html)\r\n */\r\n suppressConnectHeaders: 'SUPPRESS_CONNECT_HEADERS',\r\n /**\r\n * Enable TFO, TCP Fast Open.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TCP_FASTOPEN.html](https://curl.haxx.se/libcurl/c/CURLOPT_TCP_FASTOPEN.html)\r\n */\r\n tcpFastOpen: 'TCP_FASTOPEN',\r\n /**\r\n * Enable TCP keep-alive.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TCP_KEEPALIVE.html](https://curl.haxx.se/libcurl/c/CURLOPT_TCP_KEEPALIVE.html)\r\n */\r\n tcpKeepAlive: 'TCP_KEEPALIVE',\r\n /**\r\n * Idle time before sending keep-alive.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TCP_KEEPIDLE.html](https://curl.haxx.se/libcurl/c/CURLOPT_TCP_KEEPIDLE.html)\r\n */\r\n tcpKeepIdle: 'TCP_KEEPIDLE',\r\n /**\r\n * Interval between keep-alive probes.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TCP_KEEPINTVL.html](https://curl.haxx.se/libcurl/c/CURLOPT_TCP_KEEPINTVL.html)\r\n */\r\n tcpKeepIntvl: 'TCP_KEEPINTVL',\r\n /**\r\n * Disable the Nagle algorithm.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TCP_NODELAY.html](https://curl.haxx.se/libcurl/c/CURLOPT_TCP_NODELAY.html)\r\n */\r\n tcpNoDelay: 'TCP_NODELAY',\r\n /**\r\n * TELNET options.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TELNETOPTIONS.html](https://curl.haxx.se/libcurl/c/CURLOPT_TELNETOPTIONS.html)\r\n */\r\n telnetOptions: 'TELNETOPTIONS',\r\n /**\r\n * TFTP block size.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TFTP_BLKSIZE.html](https://curl.haxx.se/libcurl/c/CURLOPT_TFTP_BLKSIZE.html)\r\n */\r\n tftpBlkSize: 'TFTP_BLKSIZE',\r\n /**\r\n * Do not send TFTP options requests.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TFTP_NO_OPTIONS.html](https://curl.haxx.se/libcurl/c/CURLOPT_TFTP_NO_OPTIONS.html)\r\n */\r\n tftpNoOptions: 'TFTP_NO_OPTIONS',\r\n /**\r\n * Make a time conditional request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TIMECONDITION.html](https://curl.haxx.se/libcurl/c/CURLOPT_TIMECONDITION.html)\r\n */\r\n timeCondition: 'TIMECONDITION',\r\n /**\r\n * Timeout for the entire request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html](https://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html)\r\n */\r\n timeout: 'TIMEOUT',\r\n /**\r\n * Millisecond timeout for the entire request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT_MS.html](https://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT_MS.html)\r\n */\r\n timeoutMs: 'TIMEOUT_MS',\r\n /**\r\n * Time value for the time conditional request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TIMEVALUE.html](https://curl.haxx.se/libcurl/c/CURLOPT_TIMEVALUE.html)\r\n */\r\n timeValue: 'TIMEVALUE',\r\n /**\r\n * Time value for the time conditional request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TIMEVALUE_LARGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_TIMEVALUE_LARGE.html)\r\n */\r\n timeValueLarge: 'TIMEVALUE_LARGE',\r\n /**\r\n * TLS 1.3 cipher suites to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TLS13_CIPHERS.html](https://curl.haxx.se/libcurl/c/CURLOPT_TLS13_CIPHERS.html)\r\n */\r\n tls13Ciphers: 'TLS13_CIPHERS',\r\n /**\r\n * TLS authentication password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TLSAUTH_PASSWORD.html](https://curl.haxx.se/libcurl/c/CURLOPT_TLSAUTH_PASSWORD.html)\r\n */\r\n tlsAuthPassword: 'TLSAUTH_PASSWORD',\r\n /**\r\n * TLS authentication methods.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TLSAUTH_TYPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_TLSAUTH_TYPE.html)\r\n */\r\n tlsAuthType: 'TLSAUTH_TYPE',\r\n /**\r\n * TLS authentication user name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TLSAUTH_USERNAME.html](https://curl.haxx.se/libcurl/c/CURLOPT_TLSAUTH_USERNAME.html)\r\n */\r\n tlsAuthUsername: 'TLSAUTH_USERNAME',\r\n /**\r\n * Set callback for sending trailing headers.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TRAILERFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_TRAILERFUNCTION.html)\r\n */\r\n trailerFunction: 'TRAILERFUNCTION',\r\n /**\r\n * Request Transfer-Encoding.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TRANSFER_ENCODING.html](https://curl.haxx.se/libcurl/c/CURLOPT_TRANSFER_ENCODING.html)\r\n */\r\n transferEncoding: 'TRANSFER_ENCODING',\r\n /**\r\n * Use text transfer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TRANSFERTEXT.html](https://curl.haxx.se/libcurl/c/CURLOPT_TRANSFERTEXT.html)\r\n */\r\n transferText: 'TRANSFERTEXT',\r\n /**\r\n * Path to a Unix domain socket.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_UNIX_SOCKET_PATH.html](https://curl.haxx.se/libcurl/c/CURLOPT_UNIX_SOCKET_PATH.html)\r\n */\r\n unixSocketPath: 'UNIX_SOCKET_PATH',\r\n /**\r\n * Do not restrict authentication to original host.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_UNRESTRICTED_AUTH.html](https://curl.haxx.se/libcurl/c/CURLOPT_UNRESTRICTED_AUTH.html)\r\n */\r\n unrestrictedAuth: 'UNRESTRICTED_AUTH',\r\n /**\r\n * Sets the interval at which connection upkeep are performed.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_UPKEEP_INTERVAL_MS.html](https://curl.haxx.se/libcurl/c/CURLOPT_UPKEEP_INTERVAL_MS.html)\r\n */\r\n upkeepIntervalMs: 'UPKEEP_INTERVAL_MS',\r\n /**\r\n * Upload data.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_UPLOAD.html](https://curl.haxx.se/libcurl/c/CURLOPT_UPLOAD.html)\r\n */\r\n upload: 'UPLOAD',\r\n /**\r\n * Set upload buffer size.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_UPLOAD_BUFFERSIZE.html](https://curl.haxx.se/libcurl/c/CURLOPT_UPLOAD_BUFFERSIZE.html)\r\n */\r\n uploadBufferSize: 'UPLOAD_BUFFERSIZE',\r\n /**\r\n * URL to work on.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_URL.html](https://curl.haxx.se/libcurl/c/CURLOPT_URL.html)\r\n */\r\n url: 'URL',\r\n /**\r\n * Use TLS/SSL.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_USE_SSL.html](https://curl.haxx.se/libcurl/c/CURLOPT_USE_SSL.html)\r\n */\r\n useSsl: 'USE_SSL',\r\n /**\r\n * User-Agent: header.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_USERAGENT.html](https://curl.haxx.se/libcurl/c/CURLOPT_USERAGENT.html)\r\n */\r\n userAgent: 'USERAGENT',\r\n /**\r\n * User name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_USERNAME.html](https://curl.haxx.se/libcurl/c/CURLOPT_USERNAME.html)\r\n */\r\n username: 'USERNAME',\r\n /**\r\n * User name and password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_USERPWD.html](https://curl.haxx.se/libcurl/c/CURLOPT_USERPWD.html)\r\n */\r\n userpwd: 'USERPWD',\r\n /**\r\n * Display verbose information.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_VERBOSE.html](https://curl.haxx.se/libcurl/c/CURLOPT_VERBOSE.html)\r\n */\r\n verbose: 'VERBOSE',\r\n /**\r\n * Transfer multiple files according to a file name pattern.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_WILDCARDMATCH.html](https://curl.haxx.se/libcurl/c/CURLOPT_WILDCARDMATCH.html)\r\n */\r\n wildcardMatch: 'WILDCARDMATCH',\r\n /**\r\n * Callback for writing data.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_WRITEFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_WRITEFUNCTION.html)\r\n */\r\n writeFunction: 'WRITEFUNCTION',\r\n /**\r\n * Callback for progress meter.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_XFERINFOFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_XFERINFOFUNCTION.html)\r\n */\r\n xferInfoFunction: 'XFERINFOFUNCTION',\r\n /**\r\n * OAuth2 bearer token.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_XOAUTH2_BEARER.html](https://curl.haxx.se/libcurl/c/CURLOPT_XOAUTH2_BEARER.html)\r\n */\r\n xoauth2Bearer: 'XOAUTH2_BEARER',\r\n};\r\n//# sourceMappingURL=CurlOption.js.map","var fs = require('fs');\nvar path = require('path');\nvar common = require('./common');\n\ncommon.register('ln', _ln, {\n cmdOptions: {\n 's': 'symlink',\n 'f': 'force',\n },\n});\n\n//@\n//@ ### ln([options,] source, dest)\n//@\n//@ Available options:\n//@\n//@ + `-s`: symlink\n//@ + `-f`: force\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ ln('file', 'newlink');\n//@ ln('-sf', 'file', 'existing');\n//@ ```\n//@\n//@ Links `source` to `dest`. Use `-f` to force the link, should `dest` already exist.\nfunction _ln(options, source, dest) {\n if (!source || !dest) {\n common.error('Missing and/or ');\n }\n\n source = String(source);\n var sourcePath = path.normalize(source).replace(RegExp(path.sep + '$'), '');\n var isAbsolute = (path.resolve(source) === sourcePath);\n dest = path.resolve(process.cwd(), String(dest));\n\n if (fs.existsSync(dest)) {\n if (!options.force) {\n common.error('Destination file exists', { continue: true });\n }\n\n fs.unlinkSync(dest);\n }\n\n if (options.symlink) {\n var isWindows = process.platform === 'win32';\n var linkType = isWindows ? 'file' : null;\n var resolvedSourcePath = isAbsolute ? sourcePath : path.resolve(process.cwd(), path.dirname(dest), source);\n if (!fs.existsSync(resolvedSourcePath)) {\n common.error('Source file does not exist', { continue: true });\n } else if (isWindows && common.statFollowLinks(resolvedSourcePath).isDirectory()) {\n linkType = 'junction';\n }\n\n try {\n fs.symlinkSync(linkType === 'junction' ? resolvedSourcePath : source, dest, linkType);\n } catch (err) {\n common.error(err.message);\n }\n } else {\n if (!fs.existsSync(source)) {\n common.error('Source file does not exist', { continue: true });\n }\n try {\n fs.linkSync(source, dest);\n } catch (err) {\n common.error(err.message);\n }\n }\n return '';\n}\nmodule.exports = _ln;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlFtpSsl = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534/include/curl/curl.h#L846\r\n/**\r\n * Object with constants for option `FTP_SSL_CCC`\r\n *\r\n * `CURLFTPSSL_CCC_NONE` becomes `CurlFtpSsl.CccNone`\r\n *\r\n * @public\r\n */\r\nvar CurlFtpSsl;\r\n(function (CurlFtpSsl) {\r\n /**\r\n * do not send CCC\r\n */\r\n CurlFtpSsl[CurlFtpSsl[\"CccNone\"] = 0] = \"CccNone\";\r\n /**\r\n * Let the server initiate the shutdown\r\n */\r\n CurlFtpSsl[CurlFtpSsl[\"CccPassive\"] = 1] = \"CccPassive\";\r\n /**\r\n * Initiate the shutdown\r\n */\r\n CurlFtpSsl[CurlFtpSsl[\"CccActive\"] = 2] = \"CccActive\";\r\n})(CurlFtpSsl = exports.CurlFtpSsl || (exports.CurlFtpSsl = {}));\r\n//# sourceMappingURL=CurlFtpSsl.js.map","var common = require('./common');\nvar _cd = require('./cd');\nvar path = require('path');\n\ncommon.register('dirs', _dirs, {\n wrapOutput: false,\n});\ncommon.register('pushd', _pushd, {\n wrapOutput: false,\n});\ncommon.register('popd', _popd, {\n wrapOutput: false,\n});\n\n// Pushd/popd/dirs internals\nvar _dirStack = [];\n\nfunction _isStackIndex(index) {\n return (/^[\\-+]\\d+$/).test(index);\n}\n\nfunction _parseStackIndex(index) {\n if (_isStackIndex(index)) {\n if (Math.abs(index) < _dirStack.length + 1) { // +1 for pwd\n return (/^-/).test(index) ? Number(index) - 1 : Number(index);\n }\n common.error(index + ': directory stack index out of range');\n } else {\n common.error(index + ': invalid number');\n }\n}\n\nfunction _actualDirStack() {\n return [process.cwd()].concat(_dirStack);\n}\n\n//@\n//@ ### pushd([options,] [dir | '-N' | '+N'])\n//@\n//@ Available options:\n//@\n//@ + `-n`: Suppresses the normal change of directory when adding directories to the stack, so that only the stack is manipulated.\n//@ + `-q`: Supresses output to the console.\n//@\n//@ Arguments:\n//@\n//@ + `dir`: Sets the current working directory to the top of the stack, then executes the equivalent of `cd dir`.\n//@ + `+N`: Brings the Nth directory (counting from the left of the list printed by dirs, starting with zero) to the top of the list by rotating the stack.\n//@ + `-N`: Brings the Nth directory (counting from the right of the list printed by dirs, starting with zero) to the top of the list by rotating the stack.\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ // process.cwd() === '/usr'\n//@ pushd('/etc'); // Returns /etc /usr\n//@ pushd('+1'); // Returns /usr /etc\n//@ ```\n//@\n//@ Save the current directory on the top of the directory stack and then `cd` to `dir`. With no arguments, `pushd` exchanges the top two directories. Returns an array of paths in the stack.\nfunction _pushd(options, dir) {\n if (_isStackIndex(options)) {\n dir = options;\n options = '';\n }\n\n options = common.parseOptions(options, {\n 'n': 'no-cd',\n 'q': 'quiet',\n });\n\n var dirs = _actualDirStack();\n\n if (dir === '+0') {\n return dirs; // +0 is a noop\n } else if (!dir) {\n if (dirs.length > 1) {\n dirs = dirs.splice(1, 1).concat(dirs);\n } else {\n return common.error('no other directory');\n }\n } else if (_isStackIndex(dir)) {\n var n = _parseStackIndex(dir);\n dirs = dirs.slice(n).concat(dirs.slice(0, n));\n } else {\n if (options['no-cd']) {\n dirs.splice(1, 0, dir);\n } else {\n dirs.unshift(dir);\n }\n }\n\n if (options['no-cd']) {\n dirs = dirs.slice(1);\n } else {\n dir = path.resolve(dirs.shift());\n _cd('', dir);\n }\n\n _dirStack = dirs;\n return _dirs(options.quiet ? '-q' : '');\n}\nexports.pushd = _pushd;\n\n//@\n//@\n//@ ### popd([options,] ['-N' | '+N'])\n//@\n//@ Available options:\n//@\n//@ + `-n`: Suppress the normal directory change when removing directories from the stack, so that only the stack is manipulated.\n//@ + `-q`: Supresses output to the console.\n//@\n//@ Arguments:\n//@\n//@ + `+N`: Removes the Nth directory (counting from the left of the list printed by dirs), starting with zero.\n//@ + `-N`: Removes the Nth directory (counting from the right of the list printed by dirs), starting with zero.\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ echo(process.cwd()); // '/usr'\n//@ pushd('/etc'); // '/etc /usr'\n//@ echo(process.cwd()); // '/etc'\n//@ popd(); // '/usr'\n//@ echo(process.cwd()); // '/usr'\n//@ ```\n//@\n//@ When no arguments are given, `popd` removes the top directory from the stack and performs a `cd` to the new top directory. The elements are numbered from 0, starting at the first directory listed with dirs (i.e., `popd` is equivalent to `popd +0`). Returns an array of paths in the stack.\nfunction _popd(options, index) {\n if (_isStackIndex(options)) {\n index = options;\n options = '';\n }\n\n options = common.parseOptions(options, {\n 'n': 'no-cd',\n 'q': 'quiet',\n });\n\n if (!_dirStack.length) {\n return common.error('directory stack empty');\n }\n\n index = _parseStackIndex(index || '+0');\n\n if (options['no-cd'] || index > 0 || _dirStack.length + index === 0) {\n index = index > 0 ? index - 1 : index;\n _dirStack.splice(index, 1);\n } else {\n var dir = path.resolve(_dirStack.shift());\n _cd('', dir);\n }\n\n return _dirs(options.quiet ? '-q' : '');\n}\nexports.popd = _popd;\n\n//@\n//@\n//@ ### dirs([options | '+N' | '-N'])\n//@\n//@ Available options:\n//@\n//@ + `-c`: Clears the directory stack by deleting all of the elements.\n//@ + `-q`: Supresses output to the console.\n//@\n//@ Arguments:\n//@\n//@ + `+N`: Displays the Nth directory (counting from the left of the list printed by dirs when invoked without options), starting with zero.\n//@ + `-N`: Displays the Nth directory (counting from the right of the list printed by dirs when invoked without options), starting with zero.\n//@\n//@ Display the list of currently remembered directories. Returns an array of paths in the stack, or a single path if `+N` or `-N` was specified.\n//@\n//@ See also: `pushd`, `popd`\nfunction _dirs(options, index) {\n if (_isStackIndex(options)) {\n index = options;\n options = '';\n }\n\n options = common.parseOptions(options, {\n 'c': 'clear',\n 'q': 'quiet',\n });\n\n if (options.clear) {\n _dirStack = [];\n return _dirStack;\n }\n\n var stack = _actualDirStack();\n\n if (index) {\n index = _parseStackIndex(index);\n\n if (index < 0) {\n index = stack.length + index;\n }\n\n if (!options.quiet) {\n common.log(stack[index]);\n }\n return stack[index];\n }\n\n if (!options.quiet) {\n common.log(stack.join(' '));\n }\n\n return stack;\n}\nexports.dirs = _dirs;\n","'use strict';\n\nconst EventEmitter = require('events');\nconst packageData = require('../../package.json');\nconst shared = require('../shared');\nconst LeWindows = require('../sendmail-transport/le-windows');\n\n/**\n * Generates a Transport object for AWS SES\n *\n * Possible options can be the following:\n *\n * * **sendingRate** optional Number specifying how many messages per second should be delivered to SES\n * * **maxConnections** optional Number specifying max number of parallel connections to SES\n *\n * @constructor\n * @param {Object} optional config parameter\n */\nclass SESTransport extends EventEmitter {\n constructor(options) {\n super();\n options = options || {};\n\n this.options = options || {};\n this.ses = this.options.SES;\n\n this.name = 'SESTransport';\n this.version = packageData.version;\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'ses-transport'\n });\n\n // parallel sending connections\n this.maxConnections = Number(this.options.maxConnections) || Infinity;\n this.connections = 0;\n\n // max messages per second\n this.sendingRate = Number(this.options.sendingRate) || Infinity;\n this.sendingRateTTL = null;\n this.rateInterval = 1000; // milliseconds\n this.rateMessages = [];\n\n this.pending = [];\n\n this.idling = true;\n\n setImmediate(() => {\n if (this.idling) {\n this.emit('idle');\n }\n });\n }\n\n /**\n * Schedules a sending of a message\n *\n * @param {Object} emailMessage MailComposer object\n * @param {Function} callback Callback function to run when the sending is completed\n */\n send(mail, callback) {\n if (this.connections >= this.maxConnections) {\n this.idling = false;\n return this.pending.push({\n mail,\n callback\n });\n }\n\n if (!this._checkSendingRate()) {\n this.idling = false;\n return this.pending.push({\n mail,\n callback\n });\n }\n\n this._send(mail, (...args) => {\n setImmediate(() => callback(...args));\n this._sent();\n });\n }\n\n _checkRatedQueue() {\n if (this.connections >= this.maxConnections || !this._checkSendingRate()) {\n return;\n }\n\n if (!this.pending.length) {\n if (!this.idling) {\n this.idling = true;\n this.emit('idle');\n }\n return;\n }\n\n let next = this.pending.shift();\n this._send(next.mail, (...args) => {\n setImmediate(() => next.callback(...args));\n this._sent();\n });\n }\n\n _checkSendingRate() {\n clearTimeout(this.sendingRateTTL);\n\n let now = Date.now();\n let oldest = false;\n // delete older messages\n for (let i = this.rateMessages.length - 1; i >= 0; i--) {\n if (this.rateMessages[i].ts >= now - this.rateInterval && (!oldest || this.rateMessages[i].ts < oldest)) {\n oldest = this.rateMessages[i].ts;\n }\n\n if (this.rateMessages[i].ts < now - this.rateInterval && !this.rateMessages[i].pending) {\n this.rateMessages.splice(i, 1);\n }\n }\n\n if (this.rateMessages.length < this.sendingRate) {\n return true;\n }\n\n let delay = Math.max(oldest + 1001, now + 20);\n this.sendingRateTTL = setTimeout(() => this._checkRatedQueue(), now - delay);\n\n try {\n this.sendingRateTTL.unref();\n } catch (E) {\n // Ignore. Happens on envs with non-node timer implementation\n }\n\n return false;\n }\n\n _sent() {\n this.connections--;\n this._checkRatedQueue();\n }\n\n /**\n * Returns true if there are free slots in the queue\n */\n isIdle() {\n return this.idling;\n }\n\n /**\n * Compiles a mailcomposer message and forwards it to SES\n *\n * @param {Object} emailMessage MailComposer object\n * @param {Function} callback Callback function to run when the sending is completed\n */\n _send(mail, callback) {\n let statObject = {\n ts: Date.now(),\n pending: true\n };\n this.connections++;\n this.rateMessages.push(statObject);\n\n let envelope = mail.data.envelope || mail.message.getEnvelope();\n let messageId = mail.message.messageId();\n\n let recipients = [].concat(envelope.to || []);\n if (recipients.length > 3) {\n recipients.push('...and ' + recipients.splice(2).length + ' more');\n }\n this.logger.info(\n {\n tnx: 'send',\n messageId\n },\n 'Sending message %s to <%s>',\n messageId,\n recipients.join(', ')\n );\n\n let getRawMessage = next => {\n // do not use Message-ID and Date in DKIM signature\n if (!mail.data._dkim) {\n mail.data._dkim = {};\n }\n if (mail.data._dkim.skipFields && typeof mail.data._dkim.skipFields === 'string') {\n mail.data._dkim.skipFields += ':date:message-id';\n } else {\n mail.data._dkim.skipFields = 'date:message-id';\n }\n\n let sourceStream = mail.message.createReadStream();\n let stream = sourceStream.pipe(new LeWindows());\n let chunks = [];\n let chunklen = 0;\n\n stream.on('readable', () => {\n let chunk;\n while ((chunk = stream.read()) !== null) {\n chunks.push(chunk);\n chunklen += chunk.length;\n }\n });\n\n sourceStream.once('error', err => stream.emit('error', err));\n\n stream.once('error', err => {\n next(err);\n });\n\n stream.once('end', () => next(null, Buffer.concat(chunks, chunklen)));\n };\n\n setImmediate(() =>\n getRawMessage((err, raw) => {\n if (err) {\n this.logger.error(\n {\n err,\n tnx: 'send',\n messageId\n },\n 'Failed creating message for %s. %s',\n messageId,\n err.message\n );\n statObject.pending = false;\n return callback(err);\n }\n\n let sesMessage = {\n RawMessage: {\n // required\n Data: raw // required\n },\n Source: envelope.from,\n Destinations: envelope.to\n };\n\n Object.keys(mail.data.ses || {}).forEach(key => {\n sesMessage[key] = mail.data.ses[key];\n });\n\n this.ses.sendRawEmail(sesMessage, (err, data) => {\n if (err) {\n this.logger.error(\n {\n err,\n tnx: 'send'\n },\n 'Send error for %s: %s',\n messageId,\n err.message\n );\n statObject.pending = false;\n return callback(err);\n }\n\n let region = (this.ses.config && this.ses.config.region) || 'us-east-1';\n if (region === 'us-east-1') {\n region = 'email';\n }\n\n statObject.pending = false;\n callback(null, {\n envelope: {\n from: envelope.from,\n to: envelope.to\n },\n messageId: '<' + data.MessageId + (!/@/.test(data.MessageId) ? '@' + region + '.amazonses.com' : '') + '>',\n response: data.MessageId,\n raw\n });\n });\n })\n );\n }\n\n /**\n * Verifies SES configuration\n *\n * @param {Function} callback Callback function\n */\n verify(callback) {\n let promise;\n\n if (!callback) {\n promise = new Promise((resolve, reject) => {\n callback = shared.callbackPromise(resolve, reject);\n });\n }\n\n this.ses.sendRawEmail(\n {\n RawMessage: {\n // required\n Data: 'From: invalid@invalid\\r\\nTo: invalid@invalid\\r\\n Subject: Invalid\\r\\n\\r\\nInvalid'\n },\n Source: 'invalid@invalid',\n Destinations: ['invalid@invalid']\n },\n err => {\n if (err && err.code !== 'InvalidParameterValue') {\n return callback(err);\n }\n return callback(null, true);\n }\n );\n\n return promise;\n }\n}\n\nmodule.exports = SESTransport;\n","var url = require(\"url\");\nvar URL = url.URL;\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar Writable = require(\"stream\").Writable;\nvar assert = require(\"assert\");\nvar debug = require(\"./debug\");\n\n// Create handlers that pass events from native requests\nvar eventHandlers = Object.create(null);\n[\"abort\", \"aborted\", \"connect\", \"error\", \"socket\", \"timeout\"].forEach(function (event) {\n eventHandlers[event] = function (arg1, arg2, arg3) {\n this._redirectable.emit(event, arg1, arg2, arg3);\n };\n});\n\n// Error types with codes\nvar RedirectionError = createErrorType(\n \"ERR_FR_REDIRECTION_FAILURE\",\n \"\"\n);\nvar TooManyRedirectsError = createErrorType(\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"Maximum number of redirects exceeded\"\n);\nvar MaxBodyLengthExceededError = createErrorType(\n \"ERR_FR_MAX_BODY_LENGTH_EXCEEDED\",\n \"Request body larger than maxBodyLength limit\"\n);\nvar WriteAfterEndError = createErrorType(\n \"ERR_STREAM_WRITE_AFTER_END\",\n \"write after end\"\n);\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n this._sanitizeOptions(options);\n this._options = options;\n this._ended = false;\n this._ending = false;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n self._processResponse(response);\n };\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Writing is not allowed if end has been called\n if (this._ending) {\n throw new WriteAfterEndError();\n }\n\n // Validate input and shift parameters if necessary\n if (!(typeof data === \"string\" || typeof data === \"object\" && (\"length\" in data))) {\n throw new TypeError(\"data should be a string, Buffer or Uint8Array\");\n }\n if (typeof encoding === \"function\") {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new MaxBodyLengthExceededError());\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (typeof data === \"function\") {\n callback = data;\n data = encoding = null;\n }\n else if (typeof encoding === \"function\") {\n callback = encoding;\n encoding = null;\n }\n\n // Write data if needed and end\n if (!data) {\n this._ended = this._ending = true;\n this._currentRequest.end(null, null, callback);\n }\n else {\n var self = this;\n var currentRequest = this._currentRequest;\n this.write(data, encoding, function () {\n self._ended = true;\n currentRequest.end(null, null, callback);\n });\n this._ending = true;\n }\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Global timeout for all underlying requests\nRedirectableRequest.prototype.setTimeout = function (msecs, callback) {\n if (callback) {\n this.once(\"timeout\", callback);\n }\n\n if (this.socket) {\n startTimer(this, msecs);\n }\n else {\n var self = this;\n this._currentRequest.once(\"socket\", function () {\n startTimer(self, msecs);\n });\n }\n\n this.once(\"response\", clearTimer);\n this.once(\"error\", clearTimer);\n\n return this;\n};\n\nfunction startTimer(request, msecs) {\n clearTimeout(request._timeout);\n request._timeout = setTimeout(function () {\n request.emit(\"timeout\");\n }, msecs);\n}\n\nfunction clearTimer() {\n clearTimeout(this._timeout);\n}\n\n// Proxy all other public ClientRequest methods\n[\n \"abort\", \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\nRedirectableRequest.prototype._sanitizeOptions = function (options) {\n // Ensure headers are always present\n if (!options.headers) {\n options.headers = {};\n }\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n};\n\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n this.emit(\"error\", new TypeError(\"Unsupported protocol \" + protocol));\n return;\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.substr(0, protocol.length - 1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n this._currentUrl = url.format(this._options);\n\n // Set up event handlers\n request._redirectable = this;\n for (var event in eventHandlers) {\n /* istanbul ignore else */\n if (event) {\n request.on(event, eventHandlers[event]);\n }\n }\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end.\n var i = 0;\n var self = this;\n var buffers = this._requestBodyBuffers;\n (function writeNext(error) {\n // Only write if this request has not been redirected yet\n /* istanbul ignore else */\n if (request === self._currentRequest) {\n // Report any write errors\n /* istanbul ignore if */\n if (error) {\n self.emit(\"error\", error);\n }\n // Write the next buffer if there are still left\n else if (i < buffers.length) {\n var buffer = buffers[i++];\n /* istanbul ignore else */\n if (!request.finished) {\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n }\n // End the request if `end` has been called on us\n else if (self._ended) {\n request.end();\n }\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n var statusCode = response.statusCode;\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: statusCode,\n });\n }\n\n // RFC7231§6.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n var location = response.headers.location;\n if (location && this._options.followRedirects !== false &&\n statusCode >= 300 && statusCode < 400) {\n // Abort the current request\n this._currentRequest.removeAllListeners();\n this._currentRequest.on(\"error\", noop);\n this._currentRequest.abort();\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n\n // RFC7231§6.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n this.emit(\"error\", new TooManyRedirectsError());\n return;\n }\n\n // RFC7231§6.4: Automatic redirection needs to done with\n // care for methods not known to be safe, […]\n // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change\n // the request method from POST to GET for the subsequent request.\n if ((statusCode === 301 || statusCode === 302) && this._options.method === \"POST\" ||\n // RFC7231§6.4.4: The 303 (See Other) status code indicates that\n // the server is redirecting the user agent to a different resource […]\n // A user agent can perform a retrieval request targeting that URI\n // (a GET or HEAD request if using HTTP) […]\n (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n removeMatchingHeaders(/^content-/i, this._options.headers);\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n var previousHostName = removeMatchingHeaders(/^host$/i, this._options.headers) ||\n url.parse(this._currentUrl).hostname;\n\n // Create the redirected request\n var redirectUrl = url.resolve(this._currentUrl, location);\n debug(\"redirecting to\", redirectUrl);\n this._isRedirect = true;\n var redirectUrlParts = url.parse(redirectUrl);\n Object.assign(this._options, redirectUrlParts);\n\n // Drop the Authorization header if redirecting to another host\n if (redirectUrlParts.hostname !== previousHostName) {\n removeMatchingHeaders(/^authorization$/i, this._options.headers);\n }\n\n // Evaluate the beforeRedirect callback\n if (typeof this._options.beforeRedirect === \"function\") {\n var responseDetails = { headers: response.headers };\n try {\n this._options.beforeRedirect.call(null, this._options, responseDetails);\n }\n catch (err) {\n this.emit(\"error\", err);\n return;\n }\n this._sanitizeOptions(this._options);\n }\n\n // Perform the redirected request\n try {\n this._performRequest();\n }\n catch (cause) {\n var error = new RedirectionError(\"Redirected request failed: \" + cause.message);\n error.cause = cause;\n this.emit(\"error\", error);\n }\n }\n else {\n // The response is not a redirect; return it as-is\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n }\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n wrappedProtocol.request = function (input, options, callback) {\n // Parse parameters\n if (typeof input === \"string\") {\n var urlStr = input;\n try {\n input = urlToOptions(new URL(urlStr));\n }\n catch (err) {\n /* istanbul ignore next */\n input = url.parse(urlStr);\n }\n }\n else if (URL && (input instanceof URL)) {\n input = urlToOptions(input);\n }\n else {\n callback = options;\n options = input;\n input = { protocol: protocol };\n }\n if (typeof options === \"function\") {\n callback = options;\n options = null;\n }\n\n // Set defaults\n options = Object.assign({\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, input, options);\n options.nativeProtocols = nativeProtocols;\n\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n };\n\n // Executes a GET request, following redirects\n wrappedProtocol.get = function (input, options, callback) {\n var request = wrappedProtocol.request(input, options, callback);\n request.end();\n return request;\n };\n });\n return exports;\n}\n\n/* istanbul ignore next */\nfunction noop() { /* empty */ }\n\n// from https://github.com/nodejs/node/blob/master/lib/internal/url.js\nfunction urlToOptions(urlObject) {\n var options = {\n protocol: urlObject.protocol,\n hostname: urlObject.hostname.startsWith(\"[\") ?\n /* istanbul ignore next */\n urlObject.hostname.slice(1, -1) :\n urlObject.hostname,\n hash: urlObject.hash,\n search: urlObject.search,\n pathname: urlObject.pathname,\n path: urlObject.pathname + urlObject.search,\n href: urlObject.href,\n };\n if (urlObject.port !== \"\") {\n options.port = Number(urlObject.port);\n }\n return options;\n}\n\nfunction removeMatchingHeaders(regex, headers) {\n var lastValue;\n for (var header in headers) {\n if (regex.test(header)) {\n lastValue = headers[header];\n delete headers[header];\n }\n }\n return lastValue;\n}\n\nfunction createErrorType(code, defaultMessage) {\n function CustomError(message) {\n Error.captureStackTrace(this, this.constructor);\n this.message = message || defaultMessage;\n }\n CustomError.prototype = new Error();\n CustomError.prototype.constructor = CustomError;\n CustomError.prototype.name = \"Error [\" + code + \"]\";\n CustomError.prototype.code = code;\n return CustomError;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n","var common = require('./common');\nvar fs = require('fs');\n\n// add c spaces to the left of str\nfunction lpad(c, str) {\n var res = '' + str;\n if (res.length < c) {\n res = Array((c - res.length) + 1).join(' ') + res;\n }\n return res;\n}\n\ncommon.register('uniq', _uniq, {\n canReceivePipe: true,\n cmdOptions: {\n 'i': 'ignoreCase',\n 'c': 'count',\n 'd': 'duplicates',\n },\n});\n\n//@\n//@ ### uniq([options,] [input, [output]])\n//@\n//@ Available options:\n//@\n//@ + `-i`: Ignore case while comparing\n//@ + `-c`: Prefix lines by the number of occurrences\n//@ + `-d`: Only print duplicate lines, one for each group of identical lines\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ uniq('foo.txt');\n//@ uniq('-i', 'foo.txt');\n//@ uniq('-cd', 'foo.txt', 'bar.txt');\n//@ ```\n//@\n//@ Filter adjacent matching lines from `input`.\nfunction _uniq(options, input, output) {\n // Check if this is coming from a pipe\n var pipe = common.readFromPipe();\n\n if (!pipe) {\n if (!input) common.error('no input given');\n\n if (!fs.existsSync(input)) {\n common.error(input + ': No such file or directory');\n } else if (common.statFollowLinks(input).isDirectory()) {\n common.error(\"error reading '\" + input + \"'\");\n }\n }\n if (output && fs.existsSync(output) && common.statFollowLinks(output).isDirectory()) {\n common.error(output + ': Is a directory');\n }\n\n var lines = (input ? fs.readFileSync(input, 'utf8') : pipe).\n trimRight().\n split('\\n');\n\n var compare = function (a, b) {\n return options.ignoreCase ?\n a.toLocaleLowerCase().localeCompare(b.toLocaleLowerCase()) :\n a.localeCompare(b);\n };\n var uniqed = lines.reduceRight(function (res, e) {\n // Perform uniq -c on the input\n if (res.length === 0) {\n return [{ count: 1, ln: e }];\n } else if (compare(res[0].ln, e) === 0) {\n return [{ count: res[0].count + 1, ln: e }].concat(res.slice(1));\n } else {\n return [{ count: 1, ln: e }].concat(res);\n }\n }, []).filter(function (obj) {\n // Do we want only duplicated objects?\n return options.duplicates ? obj.count > 1 : true;\n }).map(function (obj) {\n // Are we tracking the counts of each line?\n return (options.count ? (lpad(7, obj.count) + ' ') : '') + obj.ln;\n }).join('\\n') + '\\n';\n\n if (output) {\n (new common.ShellString(uniqed)).to(output);\n // if uniq writes to output, nothing is passed to the next command in the pipeline (if any)\n return '';\n } else {\n return uniqed;\n }\n}\n\nmodule.exports = _uniq;\n","// YAML error class. http://stackoverflow.com/questions/8458984\n//\n'use strict';\n\nfunction YAMLException(reason, mark) {\n // Super constructor\n Error.call(this);\n\n this.name = 'YAMLException';\n this.reason = reason;\n this.mark = mark;\n this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : '');\n\n // Include stack trace in error object\n if (Error.captureStackTrace) {\n // Chrome and NodeJS\n Error.captureStackTrace(this, this.constructor);\n } else {\n // FF, IE 10+ and Safari 6+. Fallback for others\n this.stack = (new Error()).stack || '';\n }\n}\n\n\n// Inherit from Error\nYAMLException.prototype = Object.create(Error.prototype);\nYAMLException.prototype.constructor = YAMLException;\n\n\nYAMLException.prototype.toString = function toString(compact) {\n var result = this.name + ': ';\n\n result += this.reason || '(unknown reason)';\n\n if (!compact && this.mark) {\n result += ' ' + this.mark.toString();\n }\n\n return result;\n};\n\n\nmodule.exports = YAMLException;\n","'use strict';\n\nconst packageData = require('../../package.json');\nconst shared = require('../shared');\nconst LeWindows = require('../sendmail-transport/le-windows');\nconst LeUnix = require('../sendmail-transport/le-unix');\n\n/**\n * Generates a Transport object for streaming\n *\n * Possible options can be the following:\n *\n * * **buffer** if true, then returns the message as a Buffer object instead of a stream\n * * **newline** either 'windows' or 'unix'\n *\n * @constructor\n * @param {Object} optional config parameter\n */\nclass StreamTransport {\n constructor(options) {\n options = options || {};\n\n this.options = options || {};\n\n this.name = 'StreamTransport';\n this.version = packageData.version;\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'stream-transport'\n });\n\n this.winbreak = ['win', 'windows', 'dos', '\\r\\n'].includes((options.newline || '').toString().toLowerCase());\n }\n\n /**\n * Compiles a mailcomposer message and forwards it to handler that sends it\n *\n * @param {Object} emailMessage MailComposer object\n * @param {Function} callback Callback function to run when the sending is completed\n */\n send(mail, done) {\n // We probably need this in the output\n mail.message.keepBcc = true;\n\n let envelope = mail.data.envelope || mail.message.getEnvelope();\n let messageId = mail.message.messageId();\n\n let recipients = [].concat(envelope.to || []);\n if (recipients.length > 3) {\n recipients.push('...and ' + recipients.splice(2).length + ' more');\n }\n this.logger.info(\n {\n tnx: 'send',\n messageId\n },\n 'Sending message %s to <%s> using %s line breaks',\n messageId,\n recipients.join(', '),\n this.winbreak ? '' : ''\n );\n\n setImmediate(() => {\n let sourceStream;\n let stream;\n let transform;\n\n try {\n transform = this.winbreak ? new LeWindows() : new LeUnix();\n sourceStream = mail.message.createReadStream();\n stream = sourceStream.pipe(transform);\n sourceStream.on('error', err => stream.emit('error', err));\n } catch (E) {\n this.logger.error(\n {\n err: E,\n tnx: 'send',\n messageId\n },\n 'Creating send stream failed for %s. %s',\n messageId,\n E.message\n );\n return done(E);\n }\n\n if (!this.options.buffer) {\n stream.once('error', err => {\n this.logger.error(\n {\n err,\n tnx: 'send',\n messageId\n },\n 'Failed creating message for %s. %s',\n messageId,\n err.message\n );\n });\n return done(null, {\n envelope: mail.data.envelope || mail.message.getEnvelope(),\n messageId,\n message: stream\n });\n }\n\n let chunks = [];\n let chunklen = 0;\n stream.on('readable', () => {\n let chunk;\n while ((chunk = stream.read()) !== null) {\n chunks.push(chunk);\n chunklen += chunk.length;\n }\n });\n\n stream.once('error', err => {\n this.logger.error(\n {\n err,\n tnx: 'send',\n messageId\n },\n 'Failed creating message for %s. %s',\n messageId,\n err.message\n );\n return done(err);\n });\n\n stream.on('end', () =>\n done(null, {\n envelope: mail.data.envelope || mail.message.getEnvelope(),\n messageId,\n message: Buffer.concat(chunks, chunklen)\n })\n );\n });\n }\n}\n\nmodule.exports = StreamTransport;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Multi = void 0;\r\n// eslint-disable-next-line @typescript-eslint/no-var-requires\r\nconst bindings = require('../lib/binding/node_libcurl.node');\r\n/**\r\n * This is a Node.js wrapper around the binding {@link MultiNativeBinding | native Multi class}.\r\n *\r\n * The only extra is that it provides a static field `option`.\r\n *\r\n * @public\r\n */\r\nclass Multi extends bindings.Multi {\r\n}\r\nexports.Multi = Multi;\r\n/**\r\n * Options to be used with {@link setOpt | `setOpt`}.\r\n *\r\n * See the official documentation of [`curl_multi_setopt()`](http://curl.haxx.se/libcurl/c/curl_multi_setopt.html)\r\n * for reference.\r\n *\r\n * `CURLMOPT_MAXCONNECTS` becomes `Multi.option.MAXCONNECTS`\r\n */\r\nMulti.option = bindings.Curl.multi;\r\n//# sourceMappingURL=Multi.js.map","var once = require('once');\n\nvar noop = function() {};\n\nvar isRequest = function(stream) {\n\treturn stream.setHeader && typeof stream.abort === 'function';\n};\n\nvar isChildProcess = function(stream) {\n\treturn stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3\n};\n\nvar eos = function(stream, opts, callback) {\n\tif (typeof opts === 'function') return eos(stream, null, opts);\n\tif (!opts) opts = {};\n\n\tcallback = once(callback || noop);\n\n\tvar ws = stream._writableState;\n\tvar rs = stream._readableState;\n\tvar readable = opts.readable || (opts.readable !== false && stream.readable);\n\tvar writable = opts.writable || (opts.writable !== false && stream.writable);\n\tvar cancelled = false;\n\n\tvar onlegacyfinish = function() {\n\t\tif (!stream.writable) onfinish();\n\t};\n\n\tvar onfinish = function() {\n\t\twritable = false;\n\t\tif (!readable) callback.call(stream);\n\t};\n\n\tvar onend = function() {\n\t\treadable = false;\n\t\tif (!writable) callback.call(stream);\n\t};\n\n\tvar onexit = function(exitCode) {\n\t\tcallback.call(stream, exitCode ? new Error('exited with error code: ' + exitCode) : null);\n\t};\n\n\tvar onerror = function(err) {\n\t\tcallback.call(stream, err);\n\t};\n\n\tvar onclose = function() {\n\t\tprocess.nextTick(onclosenexttick);\n\t};\n\n\tvar onclosenexttick = function() {\n\t\tif (cancelled) return;\n\t\tif (readable && !(rs && (rs.ended && !rs.destroyed))) return callback.call(stream, new Error('premature close'));\n\t\tif (writable && !(ws && (ws.ended && !ws.destroyed))) return callback.call(stream, new Error('premature close'));\n\t};\n\n\tvar onrequest = function() {\n\t\tstream.req.on('finish', onfinish);\n\t};\n\n\tif (isRequest(stream)) {\n\t\tstream.on('complete', onfinish);\n\t\tstream.on('abort', onclose);\n\t\tif (stream.req) onrequest();\n\t\telse stream.on('request', onrequest);\n\t} else if (writable && !ws) { // legacy streams\n\t\tstream.on('end', onlegacyfinish);\n\t\tstream.on('close', onlegacyfinish);\n\t}\n\n\tif (isChildProcess(stream)) stream.on('exit', onexit);\n\n\tstream.on('end', onend);\n\tstream.on('finish', onfinish);\n\tif (opts.error !== false) stream.on('error', onerror);\n\tstream.on('close', onclose);\n\n\treturn function() {\n\t\tcancelled = true;\n\t\tstream.removeListener('complete', onfinish);\n\t\tstream.removeListener('abort', onclose);\n\t\tstream.removeListener('request', onrequest);\n\t\tif (stream.req) stream.req.removeListener('finish', onfinish);\n\t\tstream.removeListener('end', onlegacyfinish);\n\t\tstream.removeListener('close', onlegacyfinish);\n\t\tstream.removeListener('finish', onfinish);\n\t\tstream.removeListener('exit', onexit);\n\t\tstream.removeListener('end', onend);\n\t\tstream.removeListener('error', onerror);\n\t\tstream.removeListener('close', onclose);\n\t};\n};\n\nmodule.exports = eos;\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = { sep: '/' }\ntry {\n path = require('path')\n} catch (er) {}\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 a = a || {}\n b = b || {}\n var t = {}\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n return t\n}\n\nminimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return minimatch\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig.minimatch(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\n return m\n}\n\nMinimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return Minimatch\n return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n // \"\" only matches \"\"\n if (pattern.trim() === '') return p === ''\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 if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n pattern = pattern.trim()\n\n // windows support: need to use /, not \\\n if (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\n // make the set of regexps etc.\n this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n // don't do it more than once.\n if (this._made) return\n\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 = console.error\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 if (typeof pattern === 'undefined') {\n throw new TypeError('undefined pattern')\n }\n\n if (options.nobrace ||\n !pattern.match(/\\{.*\\}/)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\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 if (pattern.length > 1024 * 64) {\n throw new TypeError('pattern is too long')\n }\n\n var options = this.options\n\n // shortcuts\n if (!options.noglobstar && pattern === '**') return GLOBSTAR\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 case '/':\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\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 if (inClass) {\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\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 '.':\n case '[':\n 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) {\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) {\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 = match\nfunction match (f, 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 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 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 if (options.nocase) {\n hit = f.toLowerCase() === p.toLowerCase()\n } else {\n hit = f === p\n }\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 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 var emptyFileEnd = (fi === fl - 1) && (file[fi] === '')\n return emptyFileEnd\n }\n\n // should be unreachable.\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","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:str', {\n kind: 'scalar',\n construct: function (data) { return data !== null ? data : ''; }\n});\n","// Standard YAML's Failsafe schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2802346\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n explicit: [\n require('../type/str'),\n require('../type/seq'),\n require('../type/map')\n ]\n});\n","'use strict';\nconst {PassThrough} = require('stream');\n\nmodule.exports = options => {\n\toptions = Object.assign({}, options);\n\n\tconst {array} = options;\n\tlet {encoding} = options;\n\tconst buffer = encoding === 'buffer';\n\tlet objectMode = false;\n\n\tif (array) {\n\t\tobjectMode = !(encoding || buffer);\n\t} else {\n\t\tencoding = encoding || 'utf8';\n\t}\n\n\tif (buffer) {\n\t\tencoding = null;\n\t}\n\n\tlet len = 0;\n\tconst ret = [];\n\tconst stream = new PassThrough({objectMode});\n\n\tif (encoding) {\n\t\tstream.setEncoding(encoding);\n\t}\n\n\tstream.on('data', chunk => {\n\t\tret.push(chunk);\n\n\t\tif (objectMode) {\n\t\t\tlen = ret.length;\n\t\t} else {\n\t\t\tlen += chunk.length;\n\t\t}\n\t});\n\n\tstream.getBufferedValue = () => {\n\t\tif (array) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn buffer ? Buffer.concat(ret, len) : ret.join('');\n\t};\n\n\tstream.getBufferedLength = () => len;\n\n\treturn stream;\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlFnMatchFunc = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898fccafc5d6cd04f6235f283cfbd/include/curl/curl.h#L342\r\n/**\r\n * Object to be used as the return value for the callback set with the option `FNMATCH_FUNCTION`\r\n *\r\n * `CURL_FNMATCHFUNC_MATCH` becomes `CurlFnMatch.Match`\r\n *\r\n * @public\r\n */\r\nvar CurlFnMatchFunc;\r\n(function (CurlFnMatchFunc) {\r\n CurlFnMatchFunc[CurlFnMatchFunc[\"Match\"] = 0] = \"Match\";\r\n CurlFnMatchFunc[CurlFnMatchFunc[\"NoMatch\"] = 1] = \"NoMatch\";\r\n CurlFnMatchFunc[CurlFnMatchFunc[\"Fail\"] = 2] = \"Fail\";\r\n})(CurlFnMatchFunc = exports.CurlFnMatchFunc || (exports.CurlFnMatchFunc = {}));\r\n//# sourceMappingURL=CurlFnMatchFunc.js.map","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlFtpAuth = exports.CurlAuth = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L725\r\n/**\r\n * Object with bitmasks that should be used with the `HTTPAUTH` and `PROXYAUTH` options.\r\n *\r\n * `CURLAUTH_BASIC` becomes `CurlAuth.Basic`\r\n *\r\n * **NOTE:** The option `Only` (`CURLAUTH_ONLY`) cannot be safely used on bitwise operations, because it represents a integer larger\r\n * than 32 bits, if you need to use it, you must do the bitwise operation without using the operators.\r\n *\r\n * See following StackOverflow questions for more info:\r\n * https://stackoverflow.com/q/39660274/710693\r\n * https://stackoverflow.com/q/3637702/710693\r\n *\r\n * @public\r\n */\r\nvar CurlAuth;\r\n(function (CurlAuth) {\r\n CurlAuth[CurlAuth[\"None\"] = 0] = \"None\";\r\n CurlAuth[CurlAuth[\"Basic\"] = 1] = \"Basic\";\r\n CurlAuth[CurlAuth[\"Digest\"] = 2] = \"Digest\";\r\n CurlAuth[CurlAuth[\"Negotiate\"] = 4] = \"Negotiate\";\r\n /**\r\n * Deprecated since the advent of Negotiate\r\n */\r\n CurlAuth[CurlAuth[\"GssNegotiate\"] = 4] = \"GssNegotiate\";\r\n /**\r\n * Used for option `SOCKS5_AUTH` to stay terminologically correct\r\n */\r\n CurlAuth[CurlAuth[\"GssApi\"] = 4] = \"GssApi\";\r\n CurlAuth[CurlAuth[\"Ntlm\"] = 8] = \"Ntlm\";\r\n CurlAuth[CurlAuth[\"DigestIe\"] = 16] = \"DigestIe\";\r\n CurlAuth[CurlAuth[\"NtlmWb\"] = 32] = \"NtlmWb\";\r\n CurlAuth[CurlAuth[\"Bearer\"] = 64] = \"Bearer\";\r\n // cannot use 1 << 31 like on libcurl, because bitwise operations on js are limited to 32 bits, so that would overflow\r\n CurlAuth[CurlAuth[\"Only\"] = 2147483648] = \"Only\";\r\n CurlAuth[CurlAuth[\"Any\"] = -17] = \"Any\";\r\n CurlAuth[CurlAuth[\"AnySafe\"] = -18] = \"AnySafe\";\r\n})(CurlAuth = exports.CurlAuth || (exports.CurlAuth = {}));\r\n// https://github.com/curl/curl/blob/e1be825453/include/curl/curl.h#L853\r\n/**\r\n * Object with constants for option `FTPSSLAUTH`\r\n *\r\n * `CURLFTPAUTH_DEFAULT` becomes `CurlFtpAuth.Default`\r\n *\r\n * @public\r\n */\r\nvar CurlFtpAuth;\r\n(function (CurlFtpAuth) {\r\n CurlFtpAuth[CurlFtpAuth[\"Default\"] = 0] = \"Default\";\r\n CurlFtpAuth[CurlFtpAuth[\"Ssl\"] = 1] = \"Ssl\";\r\n CurlFtpAuth[CurlFtpAuth[\"Tls\"] = 2] = \"Tls\";\r\n})(CurlFtpAuth = exports.CurlFtpAuth || (exports.CurlFtpAuth = {}));\r\n//# sourceMappingURL=CurlAuth.js.map","\"use strict\";\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlPx = void 0;\r\n// https://github.com/curl/curl/blob/a4c26b0abebde418fddab7187ca089b78b6ef6d5/include/curl/curl.h#L697-L733\r\n/**\r\n * Object with constants for usage with the info `PROXY_ERROR`\r\n *\r\n * `CURLPX_OK` becomes `CurlPx.Ok`\r\n *\r\n * @public\r\n */\r\nvar CurlPx;\r\n(function (CurlPx) {\r\n CurlPx[CurlPx[\"Ok\"] = 0] = \"Ok\";\r\n CurlPx[CurlPx[\"BadAddressType\"] = 1] = \"BadAddressType\";\r\n CurlPx[CurlPx[\"BadVersion\"] = 2] = \"BadVersion\";\r\n CurlPx[CurlPx[\"Closed\"] = 3] = \"Closed\";\r\n CurlPx[CurlPx[\"Gssapi\"] = 4] = \"Gssapi\";\r\n CurlPx[CurlPx[\"GssapiPermsg\"] = 5] = \"GssapiPermsg\";\r\n CurlPx[CurlPx[\"GssapiProtection\"] = 6] = \"GssapiProtection\";\r\n CurlPx[CurlPx[\"Identd\"] = 7] = \"Identd\";\r\n CurlPx[CurlPx[\"IdentdDiffer\"] = 8] = \"IdentdDiffer\";\r\n CurlPx[CurlPx[\"LongHostname\"] = 9] = \"LongHostname\";\r\n CurlPx[CurlPx[\"LongPasswd\"] = 10] = \"LongPasswd\";\r\n CurlPx[CurlPx[\"LongUser\"] = 11] = \"LongUser\";\r\n CurlPx[CurlPx[\"NoAuth\"] = 12] = \"NoAuth\";\r\n CurlPx[CurlPx[\"RecvAddress\"] = 13] = \"RecvAddress\";\r\n CurlPx[CurlPx[\"RecvAuth\"] = 14] = \"RecvAuth\";\r\n CurlPx[CurlPx[\"RecvConnect\"] = 15] = \"RecvConnect\";\r\n CurlPx[CurlPx[\"RecvReqack\"] = 16] = \"RecvReqack\";\r\n CurlPx[CurlPx[\"ReplyAddressTypeNotSupported\"] = 17] = \"ReplyAddressTypeNotSupported\";\r\n CurlPx[CurlPx[\"ReplyCommandNotSupported\"] = 18] = \"ReplyCommandNotSupported\";\r\n CurlPx[CurlPx[\"ReplyConnectionRefused\"] = 19] = \"ReplyConnectionRefused\";\r\n CurlPx[CurlPx[\"ReplyGeneralServerFailure\"] = 20] = \"ReplyGeneralServerFailure\";\r\n CurlPx[CurlPx[\"ReplyHostUnreachable\"] = 21] = \"ReplyHostUnreachable\";\r\n CurlPx[CurlPx[\"ReplyNetworkUnreachable\"] = 22] = \"ReplyNetworkUnreachable\";\r\n CurlPx[CurlPx[\"ReplyNotAllowed\"] = 23] = \"ReplyNotAllowed\";\r\n CurlPx[CurlPx[\"ReplyTtlExpired\"] = 24] = \"ReplyTtlExpired\";\r\n CurlPx[CurlPx[\"ReplyUnassigned\"] = 25] = \"ReplyUnassigned\";\r\n CurlPx[CurlPx[\"RequestFailed\"] = 26] = \"RequestFailed\";\r\n CurlPx[CurlPx[\"ResolveHost\"] = 27] = \"ResolveHost\";\r\n CurlPx[CurlPx[\"SendAuth\"] = 28] = \"SendAuth\";\r\n CurlPx[CurlPx[\"SendConnect\"] = 29] = \"SendConnect\";\r\n CurlPx[CurlPx[\"SendRequest\"] = 30] = \"SendRequest\";\r\n CurlPx[CurlPx[\"UnknownFail\"] = 31] = \"UnknownFail\";\r\n CurlPx[CurlPx[\"UnknownMode\"] = 32] = \"UnknownMode\";\r\n CurlPx[CurlPx[\"UserRejected\"] = 33] = \"UserRejected\";\r\n})(CurlPx = exports.CurlPx || (exports.CurlPx = {}));\r\n//# sourceMappingURL=CurlPx.js.map","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdirs = require('../mkdirs').mkdirs\nconst pathExists = require('../path-exists').pathExists\nconst utimesMillis = require('../util/utimes').utimesMillis\nconst stat = require('../util/stat')\n\nfunction copy (src, dest, opts, cb) {\n if (typeof opts === 'function' && !cb) {\n cb = opts\n opts = {}\n } else if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n cb = cb || function () {}\n opts = opts || {}\n\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\\n\n see https://github.com/jprichardson/node-fs-extra/issues/269`)\n }\n\n stat.checkPaths(src, dest, 'copy', (err, stats) => {\n if (err) return cb(err)\n const { srcStat, destStat } = stats\n stat.checkParentPaths(src, srcStat, dest, 'copy', err => {\n if (err) return cb(err)\n if (opts.filter) return handleFilter(checkParentDir, destStat, src, dest, opts, cb)\n return checkParentDir(destStat, src, dest, opts, cb)\n })\n })\n}\n\nfunction checkParentDir (destStat, src, dest, opts, cb) {\n const destParent = path.dirname(dest)\n pathExists(destParent, (err, dirExists) => {\n if (err) return cb(err)\n if (dirExists) return startCopy(destStat, src, dest, opts, cb)\n mkdirs(destParent, err => {\n if (err) return cb(err)\n return startCopy(destStat, src, dest, opts, cb)\n })\n })\n}\n\nfunction handleFilter (onInclude, destStat, src, dest, opts, cb) {\n Promise.resolve(opts.filter(src, dest)).then(include => {\n if (include) return onInclude(destStat, src, dest, opts, cb)\n return cb()\n }, error => cb(error))\n}\n\nfunction startCopy (destStat, src, dest, opts, cb) {\n if (opts.filter) return handleFilter(getStats, destStat, src, dest, opts, cb)\n return getStats(destStat, src, dest, opts, cb)\n}\n\nfunction getStats (destStat, src, dest, opts, cb) {\n const stat = opts.dereference ? fs.stat : fs.lstat\n stat(src, (err, srcStat) => {\n if (err) return cb(err)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb)\n })\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts, cb) {\n if (!destStat) return copyFile(srcStat, src, dest, opts, cb)\n return mayCopyFile(srcStat, src, dest, opts, cb)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts, cb) {\n if (opts.overwrite) {\n fs.unlink(dest, err => {\n if (err) return cb(err)\n return copyFile(srcStat, src, dest, opts, cb)\n })\n } else if (opts.errorOnExist) {\n return cb(new Error(`'${dest}' already exists`))\n } else return cb()\n}\n\nfunction copyFile (srcStat, src, dest, opts, cb) {\n fs.copyFile(src, dest, err => {\n if (err) return cb(err)\n if (opts.preserveTimestamps) return handleTimestampsAndMode(srcStat.mode, src, dest, cb)\n return setDestMode(dest, srcStat.mode, cb)\n })\n}\n\nfunction handleTimestampsAndMode (srcMode, src, dest, cb) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) {\n return makeFileWritable(dest, srcMode, err => {\n if (err) return cb(err)\n return setDestTimestampsAndMode(srcMode, src, dest, cb)\n })\n }\n return setDestTimestampsAndMode(srcMode, src, dest, cb)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode, cb) {\n return setDestMode(dest, srcMode | 0o200, cb)\n}\n\nfunction setDestTimestampsAndMode (srcMode, src, dest, cb) {\n setDestTimestamps(src, dest, err => {\n if (err) return cb(err)\n return setDestMode(dest, srcMode, cb)\n })\n}\n\nfunction setDestMode (dest, srcMode, cb) {\n return fs.chmod(dest, srcMode, cb)\n}\n\nfunction setDestTimestamps (src, dest, cb) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n fs.stat(src, (err, updatedSrcStat) => {\n if (err) return cb(err)\n return utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime, cb)\n })\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts, cb) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts, cb)\n if (destStat && !destStat.isDirectory()) {\n return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`))\n }\n return copyDir(src, dest, opts, cb)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts, cb) {\n fs.mkdir(dest, err => {\n if (err) return cb(err)\n copyDir(src, dest, opts, err => {\n if (err) return cb(err)\n return setDestMode(dest, srcMode, cb)\n })\n })\n}\n\nfunction copyDir (src, dest, opts, cb) {\n fs.readdir(src, (err, items) => {\n if (err) return cb(err)\n return copyDirItems(items, src, dest, opts, cb)\n })\n}\n\nfunction copyDirItems (items, src, dest, opts, cb) {\n const item = items.pop()\n if (!item) return cb()\n return copyDirItem(items, item, src, dest, opts, cb)\n}\n\nfunction copyDirItem (items, item, src, dest, opts, cb) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n stat.checkPaths(srcItem, destItem, 'copy', (err, stats) => {\n if (err) return cb(err)\n const { destStat } = stats\n startCopy(destStat, srcItem, destItem, opts, err => {\n if (err) return cb(err)\n return copyDirItems(items, src, dest, opts, cb)\n })\n })\n}\n\nfunction onLink (destStat, src, dest, opts, cb) {\n fs.readlink(src, (err, resolvedSrc) => {\n if (err) return cb(err)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlink(resolvedSrc, dest, cb)\n } else {\n fs.readlink(dest, (err, resolvedDest) => {\n if (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlink(resolvedSrc, dest, cb)\n return cb(err)\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`))\n }\n\n // do not copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`))\n }\n return copyLink(resolvedSrc, dest, cb)\n })\n }\n })\n}\n\nfunction copyLink (resolvedSrc, dest, cb) {\n fs.unlink(dest, err => {\n if (err) return cb(err)\n return fs.symlink(resolvedSrc, dest, cb)\n })\n}\n\nmodule.exports = copy\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateSummary = void 0;\nconst slugify_1 = __importDefault(require(\"@sindresorhus/slugify\"));\nconst fs_extra_1 = require(\"fs-extra\");\nconst path_1 = require(\"path\");\nconst prettier_1 = require(\"prettier\");\nconst calculate_uptime_1 = require(\"./helpers/calculate-uptime\");\nconst config_1 = require(\"./helpers/config\");\nconst git_1 = require(\"./helpers/git\");\nconst github_1 = require(\"./helpers/github\");\nconst init_check_1 = require(\"./helpers/init-check\");\nconst generateSummary = async () => {\n if (!(await init_check_1.shouldContinue()))\n return;\n await fs_extra_1.mkdirp(\"history\");\n let [owner, repo] = (process.env.GITHUB_REPOSITORY || \"\").split(\"/\");\n const config = await config_1.getConfig();\n const octokit = await github_1.getOctokit();\n let readmeContent = await fs_extra_1.readFile(path_1.join(\".\", \"README.md\"), \"utf8\");\n const startText = readmeContent.split(config.summaryStartHtmlComment || \"\")[0];\n const endText = readmeContent.split(config.summaryEndHtmlComment || \"\")[1];\n // This object will track the summary data of all sites\n const pageStatuses = [];\n // We'll keep incrementing this if there are down/degraded sites\n // This is used to show the overall status later\n let numberOfDown = 0;\n let numberOfDegraded = 0;\n // Loop through each site and add compute the current status\n for await (const site of config.sites) {\n const slug = site.slug || slugify_1.default(site.name);\n // Get the git history for this site\n const history = await octokit.repos.listCommits({\n owner,\n repo,\n path: `history/${slug}.yml`,\n per_page: 100,\n });\n if (!history.data.length)\n continue;\n // Calculate the average response time by taking data from commits\n const averageTime = history.data\n .filter((item) => item.commit.message.includes(\" in \") &&\n Number(item.commit.message.split(\" in \")[1].split(\"ms\")[0].trim()) !== 0 &&\n !isNaN(Number(item.commit.message.split(\" in \")[1].split(\"ms\")[0].trim())))\n /**\n * Parse the commit message\n * @example \"🟥 Broken Site is down (500 in 321 ms) [skip ci] [upptime]\"\n * @returns 321\n */\n .map((item) => Number(item.commit.message.split(\" in \")[1].split(\"ms\")[0].trim()))\n .filter((item) => item && !isNaN(item))\n .reduce((p, c) => p + c, 0) / history.data.length;\n // Current status is \"up\", \"down\", or \"degraded\" based on the emoji prefix of the commit message\n const status = history.data[0].commit.message\n .split(\" \")[0]\n .includes(config.commitPrefixStatusUp || \"🟩\")\n ? \"up\"\n : history.data[0].commit.message\n .split(\" \")[0]\n .includes(config.commitPrefixStatusDegraded || \"🟨\")\n ? \"degraded\"\n : \"down\";\n pageStatuses.push({\n name: site.name,\n url: site.url,\n slug,\n status,\n uptime: await calculate_uptime_1.getUptimePercentForSite(slug),\n time: Math.floor(averageTime),\n });\n if (status === \"down\")\n numberOfDown++;\n if (status === \"degraded\")\n numberOfDegraded++;\n }\n let website = `https://${config.owner}.github.io/${config.repo}`;\n if (config[\"status-website\"] && config[\"status-website\"].cname)\n website = `https://${config[\"status-website\"].cname}`;\n const i18n = config.i18n || {};\n if (readmeContent.includes(config.summaryStartHtmlComment || \"\")) {\n readmeContent = `${startText}${config.summaryStartHtmlComment || \"\"}\n\n\n| ${i18n.url || \"URL\"} | ${i18n.status || \"Status\"} | ${i18n.history || \"History\"} | ${i18n.responseTime || \"Response Time\"} | ${i18n.uptime || \"Uptime\"} |\n| --- | ------ | ------- | ------------- | ------ |\n${pageStatuses\n .map((page) => `| ${page.url.includes(\"$\") ? page.name : `[${page.name}](${page.url})`} | ${page.status === \"up\"\n ? i18n.up || \"🟩 Up\"\n : page.status === \"degraded\"\n ? i18n.degraded || \"🟨 Degraded\"\n : i18n.down || \"🟥 Down\"} | [${page.slug}.yml](https://github.com/${owner}/${repo}/commits/master/history/${page.slug}.yml) | \"${i18n.responseTimeGraphAlt ${page.time}${i18n.ms || \"ms\"} | [![${i18n.uptime || \"Uptime\"} ${page.uptime}%](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2F${owner}%2F${repo}%2Fmaster%2Fapi%2F${page.slug}%2Fuptime.json)](${website}/history/${page.slug})`)\n .join(\"\\n\")}\n${config.summaryEndHtmlComment || \"\"}${endText}`;\n }\n // Skip running this in the template repository\n if (`${owner}/${repo}` !== \"upptime/upptime\") {\n // Remove Upptime logo and add heaading\n readmeContent = readmeContent\n .split(\"\\n\")\n .map((line, index) => {\n if (index === 0 && line.includes(\"https://upptime.js.org\"))\n return `# [📈 ${i18n.liveStatus || \"Live Status\"}](${website}): ${i18n.liveStatusHtmlComment || \"\"} **${i18n.allSystemsOperational || \"🟩 All systems operational\"}**`;\n if (line.includes(\"[![Summary CI](https://github.com\") &&\n readmeContent.includes(\"\"))\n return `${line}\\n\\nWith [Upptime](https://upptime.js.org), you can get your own unlimited and free uptime monitor and status page, powered entirely by a GitHub repository. We use [Issues](https://github.com/${config.owner}/${config.repo}/issues) as incident reports, [Actions](https://github.com/${config.owner}/${config.repo}/actions) as uptime monitors, and [Pages](${website}) for the status page.`;\n return line;\n })\n .filter((line) => !line.startsWith(`## [📈 ${i18n.liveStatus || \"Live Status\"}]`))\n .join(\"\\n\");\n // Remove default documentation\n const docsStartText = readmeContent.split(\"\")[0];\n const docsEndText = readmeContent.split(\"\")[1];\n if (readmeContent.includes(\"\"))\n readmeContent = `${docsStartText}[**Visit our status website →**](${website})${docsEndText}`;\n // Remove Koj logo\n const logoStartText = readmeContent.split(\"\")[0];\n const logoEndText = readmeContent.split(\"\")[1];\n if (readmeContent.includes(\"\"))\n readmeContent = `${logoStartText}${logoEndText}`;\n let name = `[${config.owner}](${website})`;\n if (readmeContent.includes(\"[MIT](./LICENSE) © [Koj](https://koj.co)\") ||\n readmeContent.includes(\"\")) {\n try {\n const org = await octokit.users.getByUsername({ username: config.owner });\n name = `[${org.data.name || config.owner}](${org.data.blog || website})`;\n }\n catch (error) { }\n // Remove Koj description\n const descriptionStartText = readmeContent.split(\"\")[0];\n const descriptionEndText = readmeContent.split(\"\")[1];\n if (readmeContent.includes(\"\"))\n readmeContent = `${descriptionStartText}This repository contains the open-source uptime monitor and status page for ${name}, powered by [Upptime](https://github.com/upptime/upptime).${descriptionEndText}`;\n // Change copyright\n readmeContent = readmeContent.replace(\"[MIT](./LICENSE) © [Koj](https://koj.co)\", `[MIT](./LICENSE) © ${name}`);\n }\n // Change badges\n readmeContent = readmeContent.replace(new RegExp(\"upptime/upptime/workflows\", \"g\"), `${config.owner}/${config.repo}/workflows`);\n // Add repo description, topics, etc.\n try {\n const repoInfo = await octokit.repos.get({ owner, repo });\n if (!repoInfo.data.description && !config.skipDescriptionUpdate)\n await octokit.repos.update({\n owner,\n repo,\n description: `📈 Uptime monitor and status page for ${name\n .split(\"]\")[0]\n .replace(\"[\", \"\")}, powered by @upptime`,\n });\n console.log(\"Current topics are\", repoInfo.data.topics);\n if (!(repoInfo.data.topics || []).includes(\"upptime\") && !config.skipTopicsUpdate)\n await octokit.repos.replaceAllTopics({\n owner,\n repo,\n names: [\n ...(repoInfo.data.topics || []),\n \"uptime-monitor\",\n \"status-page\",\n \"upptime\",\n ].filter((value, index, array) => array.indexOf(value) === index),\n });\n console.log(\"Possibly updated to to\", [...(repoInfo.data.topics || []), \"uptime-monitor\", \"status-page\", \"upptime\"].filter((value, index, array) => array.indexOf(value) === index));\n console.log(\"Topics are\", (await octokit.repos.get({ owner, repo })).data.topics);\n if (!repoInfo.data.homepage && !config.skipHomepageUpdate)\n await octokit.repos.update({\n owner,\n repo,\n homepage: website,\n });\n }\n catch (error) {\n console.log(error);\n }\n }\n // Add live status line\n readmeContent = readmeContent\n .split(\"\\n\")\n .map((line) => {\n if (line.includes(\"\")) {\n line = `${line.split(\"\")[0]} **${numberOfDown === 0\n ? numberOfDegraded === 0\n ? i18n.allSystemsOperational || \"🟩 All systems operational\"\n : i18n.degradedPerformance || \"🟨 Degraded performance\"\n : numberOfDown === config.sites.length\n ? i18n.completeOutage || \"🟥 Complete outage\"\n : i18n.partialOutage || \"🟧 Partial outage\"}**`;\n }\n return line;\n })\n .join(\"\\n\");\n await fs_extra_1.writeFile(path_1.join(\".\", \"README.md\"), prettier_1.format(readmeContent, { parser: \"markdown\" }));\n git_1.commit((config.commitMessages || {}).readmeContent ||\n \":pencil: Update summary in README [skip ci] [upptime]\", (config.commitMessages || {}).commitAuthorName, (config.commitMessages || {}).commitAuthorEmail);\n await fs_extra_1.writeFile(path_1.join(\".\", \"history\", \"summary.json\"), JSON.stringify(pageStatuses, null, 2));\n git_1.commit((config.commitMessages || {}).summaryJson ||\n \":card_file_box: Update status summary [skip ci] [upptime]\", (config.commitMessages || {}).commitAuthorName, (config.commitMessages || {}).commitAuthorEmail);\n git_1.push();\n};\nexports.generateSummary = generateSummary;\n//# sourceMappingURL=summary.js.map","var fs = require('fs')\nvar polyfills = require('./polyfills.js')\nvar legacy = require('./legacy-streams.js')\nvar clone = require('./clone.js')\n\nvar util = require('util')\n\n/* istanbul ignore next - node 0.x polyfill */\nvar gracefulQueue\nvar previousSymbol\n\n/* istanbul ignore else - node 0.x polyfill */\nif (typeof Symbol === 'function' && typeof Symbol.for === 'function') {\n gracefulQueue = Symbol.for('graceful-fs.queue')\n // This is used in testing by future versions\n previousSymbol = Symbol.for('graceful-fs.previous')\n} else {\n gracefulQueue = '___graceful-fs.queue'\n previousSymbol = '___graceful-fs.previous'\n}\n\nfunction noop () {}\n\nfunction publishQueue(context, queue) {\n Object.defineProperty(context, gracefulQueue, {\n get: function() {\n return queue\n }\n })\n}\n\nvar debug = noop\nif (util.debuglog)\n debug = util.debuglog('gfs4')\nelse if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || ''))\n debug = function() {\n var m = util.format.apply(util, arguments)\n m = 'GFS4: ' + m.split(/\\n/).join('\\nGFS4: ')\n console.error(m)\n }\n\n// Once time initialization\nif (!fs[gracefulQueue]) {\n // This queue can be shared by multiple loaded instances\n var queue = global[gracefulQueue] || []\n publishQueue(fs, queue)\n\n // Patch fs.close/closeSync to shared queue version, because we need\n // to retry() whenever a close happens *anywhere* in the program.\n // This is essential when multiple graceful-fs instances are\n // in play at the same time.\n fs.close = (function (fs$close) {\n function close (fd, cb) {\n return fs$close.call(fs, fd, function (err) {\n // This function uses the graceful-fs shared queue\n if (!err) {\n retry()\n }\n\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n })\n }\n\n Object.defineProperty(close, previousSymbol, {\n value: fs$close\n })\n return close\n })(fs.close)\n\n fs.closeSync = (function (fs$closeSync) {\n function closeSync (fd) {\n // This function uses the graceful-fs shared queue\n fs$closeSync.apply(fs, arguments)\n retry()\n }\n\n Object.defineProperty(closeSync, previousSymbol, {\n value: fs$closeSync\n })\n return closeSync\n })(fs.closeSync)\n\n if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || '')) {\n process.on('exit', function() {\n debug(fs[gracefulQueue])\n require('assert').equal(fs[gracefulQueue].length, 0)\n })\n }\n}\n\nif (!global[gracefulQueue]) {\n publishQueue(global, fs[gracefulQueue]);\n}\n\nmodule.exports = patch(clone(fs))\nif (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {\n module.exports = patch(fs)\n fs.__patched = true;\n}\n\nfunction patch (fs) {\n // Everything that references the open() function needs to be in here\n polyfills(fs)\n fs.gracefulify = patch\n\n fs.createReadStream = createReadStream\n fs.createWriteStream = createWriteStream\n var fs$readFile = fs.readFile\n fs.readFile = readFile\n function readFile (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readFile(path, options, cb)\n\n function go$readFile (path, options, cb) {\n return fs$readFile(path, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readFile, [path, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$writeFile = fs.writeFile\n fs.writeFile = writeFile\n function writeFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$writeFile(path, data, options, cb)\n\n function go$writeFile (path, data, options, cb) {\n return fs$writeFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$writeFile, [path, data, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$appendFile = fs.appendFile\n if (fs$appendFile)\n fs.appendFile = appendFile\n function appendFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$appendFile(path, data, options, cb)\n\n function go$appendFile (path, data, options, cb) {\n return fs$appendFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$appendFile, [path, data, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$readdir = fs.readdir\n fs.readdir = readdir\n function readdir (path, options, cb) {\n var args = [path]\n if (typeof options !== 'function') {\n args.push(options)\n } else {\n cb = options\n }\n args.push(go$readdir$cb)\n\n return go$readdir(args)\n\n function go$readdir$cb (err, files) {\n if (files && files.sort)\n files.sort()\n\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readdir, [args]])\n\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n }\n }\n\n function go$readdir (args) {\n return fs$readdir.apply(fs, args)\n }\n\n if (process.version.substr(0, 4) === 'v0.8') {\n var legStreams = legacy(fs)\n ReadStream = legStreams.ReadStream\n WriteStream = legStreams.WriteStream\n }\n\n var fs$ReadStream = fs.ReadStream\n if (fs$ReadStream) {\n ReadStream.prototype = Object.create(fs$ReadStream.prototype)\n ReadStream.prototype.open = ReadStream$open\n }\n\n var fs$WriteStream = fs.WriteStream\n if (fs$WriteStream) {\n WriteStream.prototype = Object.create(fs$WriteStream.prototype)\n WriteStream.prototype.open = WriteStream$open\n }\n\n Object.defineProperty(fs, 'ReadStream', {\n get: function () {\n return ReadStream\n },\n set: function (val) {\n ReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n Object.defineProperty(fs, 'WriteStream', {\n get: function () {\n return WriteStream\n },\n set: function (val) {\n WriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n // legacy names\n var FileReadStream = ReadStream\n Object.defineProperty(fs, 'FileReadStream', {\n get: function () {\n return FileReadStream\n },\n set: function (val) {\n FileReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n var FileWriteStream = WriteStream\n Object.defineProperty(fs, 'FileWriteStream', {\n get: function () {\n return FileWriteStream\n },\n set: function (val) {\n FileWriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n function ReadStream (path, options) {\n if (this instanceof ReadStream)\n return fs$ReadStream.apply(this, arguments), this\n else\n return ReadStream.apply(Object.create(ReadStream.prototype), arguments)\n }\n\n function ReadStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n if (that.autoClose)\n that.destroy()\n\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n that.read()\n }\n })\n }\n\n function WriteStream (path, options) {\n if (this instanceof WriteStream)\n return fs$WriteStream.apply(this, arguments), this\n else\n return WriteStream.apply(Object.create(WriteStream.prototype), arguments)\n }\n\n function WriteStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n that.destroy()\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n }\n })\n }\n\n function createReadStream (path, options) {\n return new fs.ReadStream(path, options)\n }\n\n function createWriteStream (path, options) {\n return new fs.WriteStream(path, options)\n }\n\n var fs$open = fs.open\n fs.open = open\n function open (path, flags, mode, cb) {\n if (typeof mode === 'function')\n cb = mode, mode = null\n\n return go$open(path, flags, mode, cb)\n\n function go$open (path, flags, mode, cb) {\n return fs$open(path, flags, mode, function (err, fd) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$open, [path, flags, mode, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n return fs\n}\n\nfunction enqueue (elem) {\n debug('ENQUEUE', elem[0].name, elem[1])\n fs[gracefulQueue].push(elem)\n}\n\nfunction retry () {\n var elem = fs[gracefulQueue].shift()\n if (elem) {\n debug('RETRY', elem[0].name, elem[1])\n elem[0].apply(null, elem[1])\n }\n}\n","// Ignore warning about 'new String()'\n/* eslint no-new-wrappers: 0 */\n'use strict';\n\nvar os = require('os');\nvar fs = require('fs');\nvar glob = require('glob');\nvar shell = require('..');\n\nvar shellMethods = Object.create(shell);\n\nexports.extend = Object.assign;\n\n// Check if we're running under electron\nvar isElectron = Boolean(process.versions.electron);\n\n// Module globals (assume no execPath by default)\nvar DEFAULT_CONFIG = {\n fatal: false,\n globOptions: {},\n maxdepth: 255,\n noglob: false,\n silent: false,\n verbose: false,\n execPath: null,\n bufLength: 64 * 1024, // 64KB\n};\n\nvar config = {\n reset: function () {\n Object.assign(this, DEFAULT_CONFIG);\n if (!isElectron) {\n this.execPath = process.execPath;\n }\n },\n resetForTesting: function () {\n this.reset();\n this.silent = true;\n },\n};\n\nconfig.reset();\nexports.config = config;\n\n// Note: commands should generally consider these as read-only values.\nvar state = {\n error: null,\n errorCode: 0,\n currentCmd: 'shell.js',\n};\nexports.state = state;\n\ndelete process.env.OLDPWD; // initially, there's no previous directory\n\n// Reliably test if something is any sort of javascript object\nfunction isObject(a) {\n return typeof a === 'object' && a !== null;\n}\nexports.isObject = isObject;\n\nfunction log() {\n /* istanbul ignore next */\n if (!config.silent) {\n console.error.apply(console, arguments);\n }\n}\nexports.log = log;\n\n// Converts strings to be equivalent across all platforms. Primarily responsible\n// for making sure we use '/' instead of '\\' as path separators, but this may be\n// expanded in the future if necessary\nfunction convertErrorOutput(msg) {\n if (typeof msg !== 'string') {\n throw new TypeError('input must be a string');\n }\n return msg.replace(/\\\\/g, '/');\n}\nexports.convertErrorOutput = convertErrorOutput;\n\n// Shows error message. Throws if config.fatal is true\nfunction error(msg, _code, options) {\n // Validate input\n if (typeof msg !== 'string') throw new Error('msg must be a string');\n\n var DEFAULT_OPTIONS = {\n continue: false,\n code: 1,\n prefix: state.currentCmd + ': ',\n silent: false,\n };\n\n if (typeof _code === 'number' && isObject(options)) {\n options.code = _code;\n } else if (isObject(_code)) { // no 'code'\n options = _code;\n } else if (typeof _code === 'number') { // no 'options'\n options = { code: _code };\n } else if (typeof _code !== 'number') { // only 'msg'\n options = {};\n }\n options = Object.assign({}, DEFAULT_OPTIONS, options);\n\n if (!state.errorCode) state.errorCode = options.code;\n\n var logEntry = convertErrorOutput(options.prefix + msg);\n state.error = state.error ? state.error + '\\n' : '';\n state.error += logEntry;\n\n // Throw an error, or log the entry\n if (config.fatal) throw new Error(logEntry);\n if (msg.length > 0 && !options.silent) log(logEntry);\n\n if (!options.continue) {\n throw {\n msg: 'earlyExit',\n retValue: (new ShellString('', state.error, state.errorCode)),\n };\n }\n}\nexports.error = error;\n\n//@\n//@ ### ShellString(str)\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ var foo = ShellString('hello world');\n//@ ```\n//@\n//@ Turns a regular string into a string-like object similar to what each\n//@ command returns. This has special methods, like `.to()` and `.toEnd()`.\nfunction ShellString(stdout, stderr, code) {\n var that;\n if (stdout instanceof Array) {\n that = stdout;\n that.stdout = stdout.join('\\n');\n if (stdout.length > 0) that.stdout += '\\n';\n } else {\n that = new String(stdout);\n that.stdout = stdout;\n }\n that.stderr = stderr;\n that.code = code;\n // A list of all commands that can appear on the right-hand side of a pipe\n // (populated by calls to common.wrap())\n pipeMethods.forEach(function (cmd) {\n that[cmd] = shellMethods[cmd].bind(that);\n });\n return that;\n}\n\nexports.ShellString = ShellString;\n\n// Returns {'alice': true, 'bob': false} when passed a string and dictionary as follows:\n// parseOptions('-a', {'a':'alice', 'b':'bob'});\n// Returns {'reference': 'string-value', 'bob': false} when passed two dictionaries of the form:\n// parseOptions({'-r': 'string-value'}, {'r':'reference', 'b':'bob'});\n// Throws an error when passed a string that does not start with '-':\n// parseOptions('a', {'a':'alice'}); // throws\nfunction parseOptions(opt, map, errorOptions) {\n // Validate input\n if (typeof opt !== 'string' && !isObject(opt)) {\n throw new Error('options must be strings or key-value pairs');\n } else if (!isObject(map)) {\n throw new Error('parseOptions() internal error: map must be an object');\n } else if (errorOptions && !isObject(errorOptions)) {\n throw new Error('parseOptions() internal error: errorOptions must be object');\n }\n\n if (opt === '--') {\n // This means there are no options.\n return {};\n }\n\n // All options are false by default\n var options = {};\n Object.keys(map).forEach(function (letter) {\n var optName = map[letter];\n if (optName[0] !== '!') {\n options[optName] = false;\n }\n });\n\n if (opt === '') return options; // defaults\n\n if (typeof opt === 'string') {\n if (opt[0] !== '-') {\n throw new Error(\"Options string must start with a '-'\");\n }\n\n // e.g. chars = ['R', 'f']\n var chars = opt.slice(1).split('');\n\n chars.forEach(function (c) {\n if (c in map) {\n var optionName = map[c];\n if (optionName[0] === '!') {\n options[optionName.slice(1)] = false;\n } else {\n options[optionName] = true;\n }\n } else {\n error('option not recognized: ' + c, errorOptions || {});\n }\n });\n } else { // opt is an Object\n Object.keys(opt).forEach(function (key) {\n // key is a string of the form '-r', '-d', etc.\n var c = key[1];\n if (c in map) {\n var optionName = map[c];\n options[optionName] = opt[key]; // assign the given value\n } else {\n error('option not recognized: ' + c, errorOptions || {});\n }\n });\n }\n return options;\n}\nexports.parseOptions = parseOptions;\n\n// Expands wildcards with matching (ie. existing) file names.\n// For example:\n// expand(['file*.js']) = ['file1.js', 'file2.js', ...]\n// (if the files 'file1.js', 'file2.js', etc, exist in the current dir)\nfunction expand(list) {\n if (!Array.isArray(list)) {\n throw new TypeError('must be an array');\n }\n var expanded = [];\n list.forEach(function (listEl) {\n // Don't expand non-strings\n if (typeof listEl !== 'string') {\n expanded.push(listEl);\n } else {\n var ret;\n try {\n ret = glob.sync(listEl, config.globOptions);\n // if nothing matched, interpret the string literally\n ret = ret.length > 0 ? ret : [listEl];\n } catch (e) {\n // if glob fails, interpret the string literally\n ret = [listEl];\n }\n expanded = expanded.concat(ret);\n }\n });\n return expanded;\n}\nexports.expand = expand;\n\n// Normalizes Buffer creation, using Buffer.alloc if possible.\n// Also provides a good default buffer length for most use cases.\nvar buffer = typeof Buffer.alloc === 'function' ?\n function (len) {\n return Buffer.alloc(len || config.bufLength);\n } :\n function (len) {\n return new Buffer(len || config.bufLength);\n };\nexports.buffer = buffer;\n\n// Normalizes _unlinkSync() across platforms to match Unix behavior, i.e.\n// file can be unlinked even if it's read-only, see https://github.com/joyent/node/issues/3006\nfunction unlinkSync(file) {\n try {\n fs.unlinkSync(file);\n } catch (e) {\n // Try to override file permission\n /* istanbul ignore next */\n if (e.code === 'EPERM') {\n fs.chmodSync(file, '0666');\n fs.unlinkSync(file);\n } else {\n throw e;\n }\n }\n}\nexports.unlinkSync = unlinkSync;\n\n// wrappers around common.statFollowLinks and common.statNoFollowLinks that clarify intent\n// and improve readability\nfunction statFollowLinks() {\n return fs.statSync.apply(fs, arguments);\n}\nexports.statFollowLinks = statFollowLinks;\n\nfunction statNoFollowLinks() {\n return fs.lstatSync.apply(fs, arguments);\n}\nexports.statNoFollowLinks = statNoFollowLinks;\n\n// e.g. 'shelljs_a5f185d0443ca...'\nfunction randomFileName() {\n function randomHash(count) {\n if (count === 1) {\n return parseInt(16 * Math.random(), 10).toString(16);\n }\n var hash = '';\n for (var i = 0; i < count; i++) {\n hash += randomHash(1);\n }\n return hash;\n }\n\n return 'shelljs_' + randomHash(20);\n}\nexports.randomFileName = randomFileName;\n\n// Common wrapper for all Unix-like commands that performs glob expansion,\n// command-logging, and other nice things\nfunction wrap(cmd, fn, options) {\n options = options || {};\n return function () {\n var retValue = null;\n\n state.currentCmd = cmd;\n state.error = null;\n state.errorCode = 0;\n\n try {\n var args = [].slice.call(arguments, 0);\n\n // Log the command to stderr, if appropriate\n if (config.verbose) {\n console.error.apply(console, [cmd].concat(args));\n }\n\n // If this is coming from a pipe, let's set the pipedValue (otherwise, set\n // it to the empty string)\n state.pipedValue = (this && typeof this.stdout === 'string') ? this.stdout : '';\n\n if (options.unix === false) { // this branch is for exec()\n retValue = fn.apply(this, args);\n } else { // and this branch is for everything else\n if (isObject(args[0]) && args[0].constructor.name === 'Object') {\n // a no-op, allowing the syntax `touch({'-r': file}, ...)`\n } else if (args.length === 0 || typeof args[0] !== 'string' || args[0].length <= 1 || args[0][0] !== '-') {\n args.unshift(''); // only add dummy option if '-option' not already present\n }\n\n // flatten out arrays that are arguments, to make the syntax:\n // `cp([file1, file2, file3], dest);`\n // equivalent to:\n // `cp(file1, file2, file3, dest);`\n args = args.reduce(function (accum, cur) {\n if (Array.isArray(cur)) {\n return accum.concat(cur);\n }\n accum.push(cur);\n return accum;\n }, []);\n\n // Convert ShellStrings (basically just String objects) to regular strings\n args = args.map(function (arg) {\n if (isObject(arg) && arg.constructor.name === 'String') {\n return arg.toString();\n }\n return arg;\n });\n\n // Expand the '~' if appropriate\n var homeDir = os.homedir();\n args = args.map(function (arg) {\n if (typeof arg === 'string' && arg.slice(0, 2) === '~/' || arg === '~') {\n return arg.replace(/^~/, homeDir);\n }\n return arg;\n });\n\n // Perform glob-expansion on all arguments after globStart, but preserve\n // the arguments before it (like regexes for sed and grep)\n if (!config.noglob && options.allowGlobbing === true) {\n args = args.slice(0, options.globStart).concat(expand(args.slice(options.globStart)));\n }\n\n try {\n // parse options if options are provided\n if (isObject(options.cmdOptions)) {\n args[0] = parseOptions(args[0], options.cmdOptions);\n }\n\n retValue = fn.apply(this, args);\n } catch (e) {\n /* istanbul ignore else */\n if (e.msg === 'earlyExit') {\n retValue = e.retValue;\n } else {\n throw e; // this is probably a bug that should be thrown up the call stack\n }\n }\n }\n } catch (e) {\n /* istanbul ignore next */\n if (!state.error) {\n // If state.error hasn't been set it's an error thrown by Node, not us - probably a bug...\n e.name = 'ShellJSInternalError';\n throw e;\n }\n if (config.fatal) throw e;\n }\n\n if (options.wrapOutput &&\n (typeof retValue === 'string' || Array.isArray(retValue))) {\n retValue = new ShellString(retValue, state.error, state.errorCode);\n }\n\n state.currentCmd = 'shell.js';\n return retValue;\n };\n} // wrap\nexports.wrap = wrap;\n\n// This returns all the input that is piped into the current command (or the\n// empty string, if this isn't on the right-hand side of a pipe\nfunction _readFromPipe() {\n return state.pipedValue;\n}\nexports.readFromPipe = _readFromPipe;\n\nvar DEFAULT_WRAP_OPTIONS = {\n allowGlobbing: true,\n canReceivePipe: false,\n cmdOptions: null,\n globStart: 1,\n pipeOnly: false,\n wrapOutput: true,\n unix: true,\n};\n\n// This is populated during plugin registration\nvar pipeMethods = [];\n\n// Register a new ShellJS command\nfunction _register(name, implementation, wrapOptions) {\n wrapOptions = wrapOptions || {};\n\n // Validate options\n Object.keys(wrapOptions).forEach(function (option) {\n if (!DEFAULT_WRAP_OPTIONS.hasOwnProperty(option)) {\n throw new Error(\"Unknown option '\" + option + \"'\");\n }\n if (typeof wrapOptions[option] !== typeof DEFAULT_WRAP_OPTIONS[option]) {\n throw new TypeError(\"Unsupported type '\" + typeof wrapOptions[option] +\n \"' for option '\" + option + \"'\");\n }\n });\n\n // If an option isn't specified, use the default\n wrapOptions = Object.assign({}, DEFAULT_WRAP_OPTIONS, wrapOptions);\n\n if (shell.hasOwnProperty(name)) {\n throw new Error('Command `' + name + '` already exists');\n }\n\n if (wrapOptions.pipeOnly) {\n wrapOptions.canReceivePipe = true;\n shellMethods[name] = wrap(name, implementation, wrapOptions);\n } else {\n shell[name] = wrap(name, implementation, wrapOptions);\n }\n\n if (wrapOptions.canReceivePipe) {\n pipeMethods.push(name);\n }\n}\nexports.register = _register;\n","'use strict';\n\n// module to handle cookies\n\nconst urllib = require('url');\n\nconst SESSION_TIMEOUT = 1800; // 30 min\n\n/**\n * Creates a biskviit cookie jar for managing cookie values in memory\n *\n * @constructor\n * @param {Object} [options] Optional options object\n */\nclass Cookies {\n constructor(options) {\n this.options = options || {};\n this.cookies = [];\n }\n\n /**\n * Stores a cookie string to the cookie storage\n *\n * @param {String} cookieStr Value from the 'Set-Cookie:' header\n * @param {String} url Current URL\n */\n set(cookieStr, url) {\n let urlparts = urllib.parse(url || '');\n let cookie = this.parse(cookieStr);\n let domain;\n\n if (cookie.domain) {\n domain = cookie.domain.replace(/^\\./, '');\n\n // do not allow cross origin cookies\n if (\n // can't be valid if the requested domain is shorter than current hostname\n urlparts.hostname.length < domain.length ||\n // prefix domains with dot to be sure that partial matches are not used\n ('.' + urlparts.hostname).substr(-domain.length + 1) !== '.' + domain\n ) {\n cookie.domain = urlparts.hostname;\n }\n } else {\n cookie.domain = urlparts.hostname;\n }\n\n if (!cookie.path) {\n cookie.path = this.getPath(urlparts.pathname);\n }\n\n // if no expire date, then use sessionTimeout value\n if (!cookie.expires) {\n cookie.expires = new Date(Date.now() + (Number(this.options.sessionTimeout || SESSION_TIMEOUT) || SESSION_TIMEOUT) * 1000);\n }\n\n return this.add(cookie);\n }\n\n /**\n * Returns cookie string for the 'Cookie:' header.\n *\n * @param {String} url URL to check for\n * @returns {String} Cookie header or empty string if no matches were found\n */\n get(url) {\n return this.list(url)\n .map(cookie => cookie.name + '=' + cookie.value)\n .join('; ');\n }\n\n /**\n * Lists all valied cookie objects for the specified URL\n *\n * @param {String} url URL to check for\n * @returns {Array} An array of cookie objects\n */\n list(url) {\n let result = [];\n let i;\n let cookie;\n\n for (i = this.cookies.length - 1; i >= 0; i--) {\n cookie = this.cookies[i];\n\n if (this.isExpired(cookie)) {\n this.cookies.splice(i, i);\n continue;\n }\n\n if (this.match(cookie, url)) {\n result.unshift(cookie);\n }\n }\n\n return result;\n }\n\n /**\n * Parses cookie string from the 'Set-Cookie:' header\n *\n * @param {String} cookieStr String from the 'Set-Cookie:' header\n * @returns {Object} Cookie object\n */\n parse(cookieStr) {\n let cookie = {};\n\n (cookieStr || '')\n .toString()\n .split(';')\n .forEach(cookiePart => {\n let valueParts = cookiePart.split('=');\n let key = valueParts.shift().trim().toLowerCase();\n let value = valueParts.join('=').trim();\n let domain;\n\n if (!key) {\n // skip empty parts\n return;\n }\n\n switch (key) {\n case 'expires':\n value = new Date(value);\n // ignore date if can not parse it\n if (value.toString() !== 'Invalid Date') {\n cookie.expires = value;\n }\n break;\n\n case 'path':\n cookie.path = value;\n break;\n\n case 'domain':\n domain = value.toLowerCase();\n if (domain.length && domain.charAt(0) !== '.') {\n domain = '.' + domain; // ensure preceeding dot for user set domains\n }\n cookie.domain = domain;\n break;\n\n case 'max-age':\n cookie.expires = new Date(Date.now() + (Number(value) || 0) * 1000);\n break;\n\n case 'secure':\n cookie.secure = true;\n break;\n\n case 'httponly':\n cookie.httponly = true;\n break;\n\n default:\n if (!cookie.name) {\n cookie.name = key;\n cookie.value = value;\n }\n }\n });\n\n return cookie;\n }\n\n /**\n * Checks if a cookie object is valid for a specified URL\n *\n * @param {Object} cookie Cookie object\n * @param {String} url URL to check for\n * @returns {Boolean} true if cookie is valid for specifiec URL\n */\n match(cookie, url) {\n let urlparts = urllib.parse(url || '');\n\n // check if hostname matches\n // .foo.com also matches subdomains, foo.com does not\n if (\n urlparts.hostname !== cookie.domain &&\n (cookie.domain.charAt(0) !== '.' || ('.' + urlparts.hostname).substr(-cookie.domain.length) !== cookie.domain)\n ) {\n return false;\n }\n\n // check if path matches\n let path = this.getPath(urlparts.pathname);\n if (path.substr(0, cookie.path.length) !== cookie.path) {\n return false;\n }\n\n // check secure argument\n if (cookie.secure && urlparts.protocol !== 'https:') {\n return false;\n }\n\n return true;\n }\n\n /**\n * Adds (or updates/removes if needed) a cookie object to the cookie storage\n *\n * @param {Object} cookie Cookie value to be stored\n */\n add(cookie) {\n let i;\n let len;\n\n // nothing to do here\n if (!cookie || !cookie.name) {\n return false;\n }\n\n // overwrite if has same params\n for (i = 0, len = this.cookies.length; i < len; i++) {\n if (this.compare(this.cookies[i], cookie)) {\n // check if the cookie needs to be removed instead\n if (this.isExpired(cookie)) {\n this.cookies.splice(i, 1); // remove expired/unset cookie\n return false;\n }\n\n this.cookies[i] = cookie;\n return true;\n }\n }\n\n // add as new if not already expired\n if (!this.isExpired(cookie)) {\n this.cookies.push(cookie);\n }\n\n return true;\n }\n\n /**\n * Checks if two cookie objects are the same\n *\n * @param {Object} a Cookie to check against\n * @param {Object} b Cookie to check against\n * @returns {Boolean} True, if the cookies are the same\n */\n compare(a, b) {\n return a.name === b.name && a.path === b.path && a.domain === b.domain && a.secure === b.secure && a.httponly === a.httponly;\n }\n\n /**\n * Checks if a cookie is expired\n *\n * @param {Object} cookie Cookie object to check against\n * @returns {Boolean} True, if the cookie is expired\n */\n isExpired(cookie) {\n return (cookie.expires && cookie.expires < new Date()) || !cookie.value;\n }\n\n /**\n * Returns normalized cookie path for an URL path argument\n *\n * @param {String} pathname\n * @returns {String} Normalized path\n */\n getPath(pathname) {\n let path = (pathname || '/').split('/');\n path.pop(); // remove filename part\n path = path.join('/').trim();\n\n // ensure path prefix /\n if (path.charAt(0) !== '/') {\n path = '/' + path;\n }\n\n // ensure path suffix /\n if (path.substr(-1) !== '/') {\n path += '/';\n }\n\n return path;\n }\n}\n\nmodule.exports = Cookies;\n","var common = require('./common');\n\n//@\n//@ ### error()\n//@\n//@ Tests if error occurred in the last command. Returns a truthy value if an\n//@ error returned, or a falsy value otherwise.\n//@\n//@ **Note**: do not rely on the\n//@ return value to be an error message. If you need the last error message, use\n//@ the `.stderr` attribute from the last command's return value instead.\nfunction error() {\n return common.state.error;\n}\nmodule.exports = error;\n","'use strict'\n\nmodule.exports = clone\n\nfunction clone (obj) {\n if (obj === null || typeof obj !== 'object')\n return obj\n\n if (obj instanceof Object)\n var copy = { __proto__: obj.__proto__ }\n else\n var copy = Object.create(null)\n\n Object.getOwnPropertyNames(obj).forEach(function (key) {\n Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))\n })\n\n return copy\n}\n","// Standard YAML's Core schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2804923\n//\n// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n// So, Core schema has no distinctions from JSON schema is JS-YAML.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./json')\n ]\n});\n","module.exports = require(\"events\");","'use strict'\n\nconst u = require('universalify').fromCallback\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdir = require('../mkdirs')\nconst remove = require('../remove')\n\nconst emptyDir = u(function emptyDir (dir, callback) {\n callback = callback || function () {}\n fs.readdir(dir, (err, items) => {\n if (err) return mkdir.mkdirs(dir, callback)\n\n items = items.map(item => path.join(dir, item))\n\n deleteItem()\n\n function deleteItem () {\n const item = items.pop()\n if (!item) return callback()\n remove.remove(item, err => {\n if (err) return callback(err)\n deleteItem()\n })\n }\n })\n})\n\nfunction emptyDirSync (dir) {\n let items\n try {\n items = fs.readdirSync(dir)\n } catch {\n return mkdir.mkdirsSync(dir)\n }\n\n items.forEach(item => {\n item = path.join(dir, item)\n remove.removeSync(item)\n })\n}\n\nmodule.exports = {\n emptyDirSync,\n emptydirSync: emptyDirSync,\n emptyDir,\n emptydir: emptyDir\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):((t=\"undefined\"!=typeof globalThis?globalThis:t||self).prettierPlugins=t.prettierPlugins||{},t.prettierPlugins.babel=e())}(this,(function(){\"use strict\";var t=function(t,e){const s=new SyntaxError(t+\" (\"+e.start.line+\":\"+e.start.column+\")\");return s.loc=e,s},e=t=>\"string\"==typeof t?t.replace((({onlyFirst:t=!1}={})=>{const e=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(e,t?void 0:\"g\")})(),\"\"):t;const s=t=>!Number.isNaN(t)&&(t>=4352&&(t<=4447||9001===t||9002===t||11904<=t&&t<=12871&&12351!==t||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141));var r=s,i=s;r.default=i;const n=t=>{if(\"string\"!=typeof(t=t.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\" \"))||0===t.length)return 0;t=e(t);let s=0;for(let e=0;e=127&&i<=159||(i>=768&&i<=879||(i>65535&&e++,s+=r(i)?2:1))}return s};var a=n,o=n;a.default=o;var u=t=>{if(\"string\"!=typeof t)throw new TypeError(\"Expected a string\");return t.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function h(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}var c=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{};function p(){throw new Error(\"setTimeout has not been defined\")}function l(){throw new Error(\"clearTimeout has not been defined\")}var d=p,D=l;function m(t){if(d===setTimeout)return setTimeout(t,0);if((d===p||!d)&&setTimeout)return d=setTimeout,setTimeout(t,0);try{return d(t,0)}catch(e){try{return d.call(null,t,0)}catch(e){return d.call(this,t,0)}}}\"function\"==typeof c.setTimeout&&(d=setTimeout),\"function\"==typeof c.clearTimeout&&(D=clearTimeout);var f,y=[],E=!1,A=-1;function C(){E&&f&&(E=!1,f.length?y=f.concat(y):A=-1,y.length&&x())}function x(){if(!E){var t=m(C);E=!0;for(var e=y.length;e;){for(f=y,y=[];++A1)for(var s=1;sconsole.error(\"SEMVER\",...t):()=>{};var M={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16};function R(t,e,s){return t(s={path:e,exports:{},require:function(t,e){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==e&&s.path)}},s.exports),s.exports}function _(t){return t&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var j=R((function(t,e){const{MAX_SAFE_COMPONENT_LENGTH:s}=M,r=(e=t.exports={}).re=[],i=e.src=[],n=e.t={};let a=0;const o=(t,e,s)=>{const o=a++;O(o,e),n[t]=o,i[o]=e,r[o]=new RegExp(e,s?\"g\":void 0)};o(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),o(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),o(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),o(\"MAINVERSION\",\"(\".concat(i[n.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(i[n.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(i[n.NUMERICIDENTIFIER],\")\")),o(\"MAINVERSIONLOOSE\",\"(\".concat(i[n.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(i[n.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(i[n.NUMERICIDENTIFIERLOOSE],\")\")),o(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(i[n.NUMERICIDENTIFIER],\"|\").concat(i[n.NONNUMERICIDENTIFIER],\")\")),o(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(i[n.NUMERICIDENTIFIERLOOSE],\"|\").concat(i[n.NONNUMERICIDENTIFIER],\")\")),o(\"PRERELEASE\",\"(?:-(\".concat(i[n.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(i[n.PRERELEASEIDENTIFIER],\")*))\")),o(\"PRERELEASELOOSE\",\"(?:-?(\".concat(i[n.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(i[n.PRERELEASEIDENTIFIERLOOSE],\")*))\")),o(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),o(\"BUILD\",\"(?:\\\\+(\".concat(i[n.BUILDIDENTIFIER],\"(?:\\\\.\").concat(i[n.BUILDIDENTIFIER],\")*))\")),o(\"FULLPLAIN\",\"v?\".concat(i[n.MAINVERSION]).concat(i[n.PRERELEASE],\"?\").concat(i[n.BUILD],\"?\")),o(\"FULL\",\"^\".concat(i[n.FULLPLAIN],\"$\")),o(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(i[n.MAINVERSIONLOOSE]).concat(i[n.PRERELEASELOOSE],\"?\").concat(i[n.BUILD],\"?\")),o(\"LOOSE\",\"^\".concat(i[n.LOOSEPLAIN],\"$\")),o(\"GTLT\",\"((?:<|>)?=?)\"),o(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(i[n.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),o(\"XRANGEIDENTIFIER\",\"\".concat(i[n.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),o(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(i[n.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(i[n.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(i[n.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(i[n.PRERELEASE],\")?\").concat(i[n.BUILD],\"?\")+\")?)?\"),o(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(i[n.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(i[n.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(i[n.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(i[n.PRERELEASELOOSE],\")?\").concat(i[n.BUILD],\"?\")+\")?)?\"),o(\"XRANGE\",\"^\".concat(i[n.GTLT],\"\\\\s*\").concat(i[n.XRANGEPLAIN],\"$\")),o(\"XRANGELOOSE\",\"^\".concat(i[n.GTLT],\"\\\\s*\").concat(i[n.XRANGEPLAINLOOSE],\"$\")),o(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(s,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(s,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(s,\"}))?\")+\"(?:$|[^\\\\d])\"),o(\"COERCERTL\",i[n.COERCE],!0),o(\"LONETILDE\",\"(?:~>?)\"),o(\"TILDETRIM\",\"(\\\\s*)\".concat(i[n.LONETILDE],\"\\\\s+\"),!0),e.tildeTrimReplace=\"$1~\",o(\"TILDE\",\"^\".concat(i[n.LONETILDE]).concat(i[n.XRANGEPLAIN],\"$\")),o(\"TILDELOOSE\",\"^\".concat(i[n.LONETILDE]).concat(i[n.XRANGEPLAINLOOSE],\"$\")),o(\"LONECARET\",\"(?:\\\\^)\"),o(\"CARETTRIM\",\"(\\\\s*)\".concat(i[n.LONECARET],\"\\\\s+\"),!0),e.caretTrimReplace=\"$1^\",o(\"CARET\",\"^\".concat(i[n.LONECARET]).concat(i[n.XRANGEPLAIN],\"$\")),o(\"CARETLOOSE\",\"^\".concat(i[n.LONECARET]).concat(i[n.XRANGEPLAINLOOSE],\"$\")),o(\"COMPARATORLOOSE\",\"^\".concat(i[n.GTLT],\"\\\\s*(\").concat(i[n.LOOSEPLAIN],\")$|^$\")),o(\"COMPARATOR\",\"^\".concat(i[n.GTLT],\"\\\\s*(\").concat(i[n.FULLPLAIN],\")$|^$\")),o(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(i[n.GTLT],\"\\\\s*(\").concat(i[n.LOOSEPLAIN],\"|\").concat(i[n.XRANGEPLAIN],\")\"),!0),e.comparatorTrimReplace=\"$1$2$3\",o(\"HYPHENRANGE\",\"^\\\\s*(\".concat(i[n.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(i[n.XRANGEPLAIN],\")\")+\"\\\\s*$\"),o(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(i[n.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(i[n.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),o(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),o(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),o(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")}));const U=/^[0-9]+$/,q=(t,e)=>{const s=U.test(t),r=U.test(e);return s&&r&&(t=+t,e=+e),t===e?0:s&&!r?-1:r&&!s?1:tq(e,t)};const{MAX_LENGTH:z,MAX_SAFE_INTEGER:H}=M,{re:W,t:X}=j,{compareIdentifiers:G}=V;class K{constructor(t,e){if(e&&\"object\"==typeof e||(e={loose:!!e,includePrerelease:!1}),t instanceof K){if(t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease)return t;t=t.version}else if(\"string\"!=typeof t)throw new TypeError(\"Invalid Version: \".concat(t));if(t.length>z)throw new TypeError(\"version is longer than \".concat(z,\" characters\"));O(\"SemVer\",t,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;const s=t.trim().match(e.loose?W[X.LOOSE]:W[X.FULL]);if(!s)throw new TypeError(\"Invalid Version: \".concat(t));if(this.raw=t,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>H||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>H||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>H||this.patch<0)throw new TypeError(\"Invalid patch version\");s[4]?this.prerelease=s[4].split(\".\").map((t=>{if(/^[0-9]+$/.test(t)){const e=+t;if(e>=0&&e=0;)\"number\"==typeof this.prerelease[t]&&(this.prerelease[t]++,t=-2);-1===t&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error(\"invalid increment argument: \".concat(t))}return this.format(),this.raw=this.version,this}}var J=K;var $=(t,e,s)=>new J(t,s).compare(new J(e,s));var Y=(t,e,s)=>$(t,e,s)<0;var Q=(t,e,s)=>$(t,e,s)>=0,Z=\"2.2.0\",tt=R((function(t,e){function s(){for(var t=[],e=0;e\"string\"==typeof t||\"function\"==typeof t,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:pt,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:t=>\"string\"==typeof t||\"object\"==typeof t,cliName:\"plugin\",cliCategory:ut},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:pt,description:ot(it()),exception:t=>\"string\"==typeof t||\"object\"==typeof t,cliName:\"plugin-search-dir\",cliCategory:ut},printWidth:{since:\"0.0.0\",category:pt,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:lt,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:ot(rt()),cliCategory:ht},rangeStart:{since:\"1.4.0\",category:lt,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:ot(st()),cliCategory:ht},requirePragma:{since:\"1.7.0\",category:lt,type:\"boolean\",default:!1,description:ot(et()),cliCategory:ct},tabWidth:{type:\"int\",category:pt,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:pt,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:pt,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};const Dt={compare:$,lt:Y,gte:Q},mt=Z,ft={CATEGORY_CONFIG:ut,CATEGORY_EDITOR:ht,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:ct,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:pt,CATEGORY_SPECIAL:lt,options:dt}.options;var yt={getSupportInfo:function({plugins:t=[],showUnreleased:e=!1,showDeprecated:s=!1,showInternal:r=!1}={}){const i=mt.split(\"-\",1)[0],n=t.reduce(((t,e)=>t.concat(e.languages||[])),[]).filter(h),a=(o=Object.assign({},...t.map((({options:t})=>t)),ft),u=\"name\",Object.entries(o).map((([t,e])=>Object.assign({[u]:t},e)))).filter((t=>h(t)&&c(t))).sort(((t,e)=>t.name===e.name?0:t.name=0||(i[s]=t[s]);return i}(t,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((e=>{e=Object.assign({},e),Array.isArray(e.default)&&(e.default=1===e.default.length?e.default[0].value:e.default.filter(h).sort(((t,e)=>Dt.compare(e.since,t.since)))[0].value),Array.isArray(e.choices)&&(e.choices=e.choices.filter((t=>h(t)&&c(t))),\"parser\"===e.name&&function(t,e,s){const r=new Set(t.choices.map((t=>t.value)));for(const i of e)if(i.parsers)for(const e of i.parsers)if(!r.has(e)){r.add(e);const n=s.find((t=>t.parsers&&t.parsers[e]));let a=i.name;n&&n.name&&(a+=\" (plugin: \".concat(n.name,\")\")),t.choices.push({value:e,description:a})}}(e,n,t));const s=t.filter((t=>t.defaultOptions&&void 0!==t.defaultOptions[e.name])).reduce(((t,s)=>(t[s.name]=s.defaultOptions[e.name],t)),{});return Object.assign({},e,{pluginDefaults:s})}));var o,u;return{languages:n,options:a};function h(t){return e||!(\"since\"in t)||t.since&&Dt.gte(i,t.since)}function c(t){return s||!(\"deprecated\"in t)||t.deprecated&&Dt.lt(i,t.deprecated)}}};const{getSupportInfo:Et}=yt,At=/[^\\x20-\\x7F]/;function Ct(t){return(e,s,r)=>{const i=r&&r.backwards;if(!1===s)return!1;const{length:n}=e;let a=s;for(;a>=0&&a(s.match(a.regex)||[]).length?a.quote:n.quote}return o}function Lt(t,e,s){const r='\"'===e?\"'\":'\"',i=t.replace(/\\\\([\\S\\s])|([\"'])/g,((t,i,n)=>i===r?i:n===e?\"\\\\\"+n:n||(s&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(i)?i:\"\\\\\"+i)));return e+i+e}function Ot(t,e){(t.comments||(t.comments=[])).push(e),e.printed=!1,\"JSXText\"===t.type&&(e.printed=!0)}var Mt={inferParserByLanguage:function(t,e){const{languages:s}=Et({plugins:e.plugins}),r=s.find((({name:e})=>e.toLowerCase()===t))||s.find((({aliases:e})=>Array.isArray(e)&&e.includes(t)))||s.find((({extensions:e})=>Array.isArray(e)&&e.includes(\".\".concat(t))));return r&&r.parsers[0]},replaceEndOfLineWith:function(t,e){const s=[];for(const r of t.split(\"\\n\"))0!==s.length&&s.push(e),s.push(r);return s},getStringWidth:function(t){return t?At.test(t)?a(t):t.length:0},getMaxContinuousCount:function(t,e){const s=t.match(new RegExp(\"(\".concat(u(e),\")+\"),\"g\"));return null===s?0:s.reduce(((t,s)=>Math.max(t,s.length/e.length)),0)},getMinNotPresentContinuousCount:function(t,e){const s=t.match(new RegExp(\"(\".concat(u(e),\")+\"),\"g\"));if(null===s)return 0;const r=new Map;let i=0;for(const t of s){const s=t.length/e.length;r.set(s,!0),s>i&&(i=s)}for(let t=1;tt[t.length-2],getLast:t=>t[t.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Nt,getNextNonSpaceNonCommentCharacterIndex:It,getNextNonSpaceNonCommentCharacter:function(t,e,s){return t.charAt(It(t,e,s))},skip:Ct,skipWhitespace:xt,skipSpaces:Ft,skipToLineEnd:gt,skipEverythingButNewLine:bt,skipInlineComment:Pt,skipTrailingComment:Tt,skipNewline:wt,isNextLineEmptyAfterIndex:St,isNextLineEmpty:function(t,e,s){return St(t,s(e))},isPreviousLineEmpty:function(t,e,s){let r=s(e)-1;return r=Ft(t,r,{backwards:!0}),r=wt(t,r,{backwards:!0}),r=Ft(t,r,{backwards:!0}),r!==wt(t,r,{backwards:!0})},hasNewline:Bt,hasNewlineInRange:function(t,e,s){for(let r=e;r\"browser\",cpus:()=>[{model:\"Prettier\"}]}});const _t=t=>{if(\"string\"!=typeof t)throw new TypeError(\"Expected a string\");const e=t.match(/(?:\\r?\\n)/g)||[];if(0===e.length)return;const s=e.filter((t=>\"\\r\\n\"===t)).length;return s>e.length-s?\"\\r\\n\":\"\\n\"};var jt=_t;jt.graceful=t=>\"string\"==typeof t&&_t(t)||\"\\n\";var Ut=_(Rt),qt=R((function(t,e){function s(){const t=Ut;return s=function(){return t},t}function r(){const t=(e=jt)&&e.__esModule?e:{default:e};var e;return r=function(){return t},t}Object.defineProperty(e,\"__esModule\",{value:!0}),e.extract=function(t){const e=t.match(a);return e?e[0].trimLeft():\"\"},e.strip=function(t){const e=t.match(a);return e&&e[0]?t.substring(e[0].length):t},e.parse=function(t){return d(t).pragmas},e.parseWithComments=d,e.print=function({comments:t=\"\",pragmas:e={}}){const i=(0,r().default)(t)||s().EOL,n=\" *\",a=Object.keys(e),o=a.map((t=>D(t,e[t]))).reduce(((t,e)=>t.concat(e)),[]).map((t=>\" * \"+t+i)).join(\"\");if(!t){if(0===a.length)return\"\";if(1===a.length&&!Array.isArray(e[a[0]])){const t=e[a[0]];return\"\".concat(\"/**\",\" \").concat(D(a[0],t)[0]).concat(\" */\")}}const u=t.split(i).map((t=>\"\".concat(n,\" \").concat(t))).join(i)+i;return\"/**\"+i+(t?u:\"\")+(t&&a.length?n+i:\"\")+o+\" */\"};const i=/\\*\\/$/,n=/^\\/\\*\\*/,a=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,o=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,u=/^(\\r?\\n)+/,h=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,c=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,p=/(\\r?\\n|^) *\\* ?/g,l=[];function d(t){const e=(0,r().default)(t)||s().EOL;t=t.replace(n,\"\").replace(i,\"\").replace(p,\"$1\");let a=\"\";for(;a!==t;)a=t,t=t.replace(h,\"\".concat(e,\"$1 $2\").concat(e));t=t.replace(u,\"\").trimRight();const d=Object.create(null),D=t.replace(c,\"\").replace(u,\"\").trimRight();let m;for(;m=c.exec(t);){const t=m[2].replace(o,\"\");\"string\"==typeof d[m[1]]||Array.isArray(d[m[1]])?d[m[1]]=l.concat(d[m[1]],t):d[m[1]]=t}return{comments:D,pragmas:d}}function D(t,e){return l.concat(e).map((e=>\"@\".concat(t,\" \").concat(e).trim()))}}));var Vt={guessEndOfLine:function(t){const e=t.indexOf(\"\\r\");return e>=0?\"\\n\"===t.charAt(e+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(t){switch(t){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(t,e){let s;if(\"\\n\"===e)s=/\\n/g;else if(\"\\r\"===e)s=/\\r/g;else{if(\"\\r\\n\"!==e)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(e),\".\"));s=/\\r\\n/g}const r=t.match(s);return r?r.length:0},normalizeEndOfLine:function(t){return t.replace(/\\r\\n?/g,\"\\n\")}};const{parseWithComments:zt,strip:Ht,extract:Wt,print:Xt}=qt,{getShebang:Gt}=Mt,{normalizeEndOfLine:Kt}=Vt;function Jt(t){const e=Gt(t);e&&(t=t.slice(e.length+1));const s=Wt(t),{pragmas:r,comments:i}=zt(s);return{shebang:e,text:t,pragmas:r,comments:i}}var $t={hasPragma:function(t){const e=Object.keys(Jt(t).pragmas);return e.includes(\"prettier\")||e.includes(\"format\")},insertPragma:function(t){const{shebang:e,text:s,pragmas:r,comments:i}=Jt(t),n=Ht(s),a=Xt({pragmas:Object.assign({format:\"\"},r),comments:i.trimStart()});return(e?\"\".concat(e,\"\\n\"):\"\")+Kt(a)+(n.startsWith(\"\\n\")?\"\\n\":\"\\n\\n\")+n}};function Yt(t,e){const{ignoreDecorators:s}=e||{};if(!s){const e=t.declaration&&t.declaration.decorators||t.decorators;if(e&&e.length>0)return Yt(e[0])}return t.range?t.range[0]:t.start}function Qt(t){const e=t.range?t.range[1]:t.end;return t.typeAnnotation?Math.max(e,Qt(t.typeAnnotation)):e}function Zt(t,e){return Yt(t)===Yt(e)}var te={locStart:Yt,locEnd:Qt,composeLoc:function(t,e=t){const s=Yt(t);return[s,\"number\"==typeof e?s+e:Qt(e)]},hasSameLocStart:Zt,hasSameLoc:function(t,e){return Zt(t,e)&&function(t,e){return Qt(t)===Qt(e)}(t,e)}},ee=R((function(t){!function(){function e(t){if(null==t)return!1;switch(t.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function s(t){switch(t.type){case\"IfStatement\":return null!=t.alternate?t.alternate:t.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return t.body}return null}t.exports={isExpression:function(t){if(null==t)return!1;switch(t.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:e,isIterationStatement:function(t){if(null==t)return!1;switch(t.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(t){return e(t)||null!=t&&\"FunctionDeclaration\"===t.type},isProblematicIfStatement:function(t){var e;if(\"IfStatement\"!==t.type)return!1;if(null==t.alternate)return!1;e=t.consequent;do{if(\"IfStatement\"===e.type&&null==e.alternate)return!0;e=s(e)}while(e);return!1},trailingStatement:s}}()})),se=R((function(t){!function(){var e,s,r,i,n,a;function o(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(Math.floor((t-65536)/1024)+55296)+String.fromCharCode((t-65536)%1024+56320)}for(s={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},e={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},r=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),a=0;a<128;++a)i[a]=a>=97&&a<=122||a>=65&&a<=90||36===a||95===a;for(n=new Array(128),a=0;a<128;++a)n[a]=a>=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||36===a||95===a;t.exports={isDecimalDigit:function(t){return 48<=t&&t<=57},isHexDigit:function(t){return 48<=t&&t<=57||97<=t&&t<=102||65<=t&&t<=70},isOctalDigit:function(t){return t>=48&&t<=55},isWhiteSpace:function(t){return 32===t||9===t||11===t||12===t||160===t||t>=5760&&r.indexOf(t)>=0},isLineTerminator:function(t){return 10===t||13===t||8232===t||8233===t},isIdentifierStartES5:function(t){return t<128?i[t]:s.NonAsciiIdentifierStart.test(o(t))},isIdentifierPartES5:function(t){return t<128?n[t]:s.NonAsciiIdentifierPart.test(o(t))},isIdentifierStartES6:function(t){return t<128?i[t]:e.NonAsciiIdentifierStart.test(o(t))},isIdentifierPartES6:function(t){return t<128?n[t]:e.NonAsciiIdentifierPart.test(o(t))}}}()})),re=R((function(t){!function(){var e=se;function s(t,e){return!(!e&&\"yield\"===t)&&r(t,e)}function r(t,e){if(e&&function(t){switch(t){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(t))return!0;switch(t.length){case 2:return\"if\"===t||\"in\"===t||\"do\"===t;case 3:return\"var\"===t||\"for\"===t||\"new\"===t||\"try\"===t;case 4:return\"this\"===t||\"else\"===t||\"case\"===t||\"void\"===t||\"with\"===t||\"enum\"===t;case 5:return\"while\"===t||\"break\"===t||\"catch\"===t||\"throw\"===t||\"const\"===t||\"yield\"===t||\"class\"===t||\"super\"===t;case 6:return\"return\"===t||\"typeof\"===t||\"delete\"===t||\"switch\"===t||\"export\"===t||\"import\"===t;case 7:return\"default\"===t||\"finally\"===t||\"extends\"===t;case 8:return\"function\"===t||\"continue\"===t||\"debugger\"===t;case 10:return\"instanceof\"===t;default:return!1}}function i(t,e){return\"null\"===t||\"true\"===t||\"false\"===t||s(t,e)}function n(t,e){return\"null\"===t||\"true\"===t||\"false\"===t||r(t,e)}function a(t){var s,r,i;if(0===t.length)return!1;if(i=t.charCodeAt(0),!e.isIdentifierStartES5(i))return!1;for(s=1,r=t.length;s=r)return!1;if(!(56320<=(n=t.charCodeAt(s))&&n<=57343))return!1;i=1024*(i-55296)+(n-56320)+65536}if(!a(i))return!1;a=e.isIdentifierPartES6}return!0}t.exports={isKeywordES5:s,isKeywordES6:r,isReservedWordES5:i,isReservedWordES6:n,isRestrictedWord:function(t){return\"eval\"===t||\"arguments\"===t},isIdentifierNameES5:a,isIdentifierNameES6:o,isIdentifierES5:function(t,e){return a(t)&&!i(t,e)},isIdentifierES6:function(t,e){return o(t)&&!n(t,e)}}}()}));const ie=R((function(t,e){e.ast=ee,e.code=se,e.keyword=re})).keyword.isIdentifierNameES5,{getLast:ne,hasNewline:ae,hasNewlineInRange:oe,skipWhitespace:ue}=Mt,{locStart:he,locEnd:ce,hasSameLocStart:pe}=te,le=\"(?:(?=.)\\\\s)\",de=new RegExp(\"^\".concat(le,\"*:\")),De=new RegExp(\"^\".concat(le,\"*::\"));function me(t,e){if(!t||\"object\"!=typeof t)return!1;if(Array.isArray(t))return t.some((t=>me(t,e)));const s=e(t);return\"boolean\"==typeof s?s:Object.keys(t).some((s=>me(t[s],e)))}function fe(t){return\"AssignmentExpression\"===t.type||\"BinaryExpression\"===t.type||\"LogicalExpression\"===t.type||\"NGPipeExpression\"===t.type||\"ConditionalExpression\"===t.type||\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type||\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type||\"SequenceExpression\"===t.type||\"TaggedTemplateExpression\"===t.type||\"BindExpression\"===t.type||\"UpdateExpression\"===t.type&&!t.prefix||\"TSAsExpression\"===t.type||\"TSNonNullExpression\"===t.type}function ye(t){return\"Block\"===t.type||\"CommentBlock\"===t.type||\"MultiLine\"===t.type}const Ee=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function Ae(t){return t&&Ee.has(t.type)}function Ce(t){return\"BooleanLiteral\"===t.type||\"DirectiveLiteral\"===t.type||\"Literal\"===t.type||\"NullLiteral\"===t.type||\"NumericLiteral\"===t.type||\"BigIntLiteral\"===t.type||\"DecimalLiteral\"===t.type||\"RegExpLiteral\"===t.type||\"StringLiteral\"===t.type||\"TemplateLiteral\"===t.type||\"TSTypeLiteral\"===t.type||\"JSXText\"===t.type}function xe(t){return\"NumericLiteral\"===t.type||\"Literal\"===t.type&&\"number\"==typeof t.value}function Fe(t){return\"StringLiteral\"===t.type||\"Literal\"===t.type&&\"string\"==typeof t.value}function ge(t){return\"FunctionExpression\"===t.type||\"ArrowFunctionExpression\"===t.type}function be(t){return!(\"CallExpression\"!==t.type&&\"OptionalCallExpression\"!==t.type||\"Identifier\"!==t.callee.type||\"async\"!==t.callee.name&&\"inject\"!==t.callee.name&&\"fakeAsync\"!==t.callee.name)}function Pe(t){return\"JSXElement\"===t.type||\"JSXFragment\"===t.type}function Te(t){return\"get\"===t.kind||\"set\"===t.kind}function we(t){return Te(t)||pe(t,t.value)}const Be=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]);const Se=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]);const Ne=/^(skip|[fx]?(it|describe|test))$/;function Ie(t){return\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type}const ve=new RegExp(\"([ \\n\\r\\t]+)\"),ke=new RegExp(\"[^ \\n\\r\\t]\");function Le(t){return Ce(t)&&(ke.test(_e(t))||!/\\n/.test(_e(t)))}function Oe(t,e){if(Pe(e))return Ke(e);return e.comments&&e.comments.some((e=>e.leading&&ae(t,ce(e))))}function Me(t){return/^(\\d+|\\d+\\.\\d+)$/.test(t)}function Re(t){return t.quasis.some((t=>t.value.raw.includes(\"\\n\")))}function _e(t){return t.extra?t.extra.raw:t.raw}const je={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},Ue={\"*\":!0,\"/\":!0,\"%\":!0},qe={\">>\":!0,\">>>\":!0,\"<<\":!0};const Ve={};function ze(t){return Ve[t]}[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].forEach(((t,e)=>{t.forEach((t=>{Ve[t]=e}))}));const He=new WeakMap;function We(t){if(He.has(t))return He.get(t);const e=[];return t.this&&e.push(t.this),Array.isArray(t.parameters)?e.push(...t.parameters):Array.isArray(t.params)&&e.push(...t.params),t.rest&&e.push(t.rest),He.set(t,e),e}const Xe=new WeakMap;function Ge(t){return\"prettier-ignore\"===t.value.trim()}function Ke(t){return t&&(t.comments&&t.comments.length>0&&t.comments.some((t=>Ge(t)&&!t.unignore))||t.prettierIgnore)}function Je(t){return Ke(t.getValue())}var $e={classChildNeedsASIProtection:function(t){if(t){if(t.static||t.accessibility)return!1;if(!t.computed){const e=t.key&&t.key.name;if(\"in\"===e||\"instanceof\"===e)return!0}switch(t.type){case\"ClassProperty\":case\"FieldDefinition\":case\"TSAbstractClassProperty\":return t.computed;case\"MethodDefinition\":case\"TSAbstractMethodDefinition\":case\"ClassMethod\":case\"ClassPrivateMethod\":{const e=t.value?t.value.async:t.async,s=t.value?t.value.generator:t.generator;return!e&&\"get\"!==t.kind&&\"set\"!==t.kind&&!(!t.computed&&!s)}case\"TSIndexSignature\":return!0;default:return!1}}},classPropMayCauseASIProblems:function(t){const e=t.getNode();if(\"ClassProperty\"!==e.type&&\"FieldDefinition\"!==e.type)return!1;const s=e.key&&e.key.name;return!(\"static\"!==s&&\"get\"!==s&&\"set\"!==s||e.value||e.typeAnnotation)||void 0},getFunctionParameters:We,iterateFunctionParametersPath:function(t,e){const s=t.getValue();let r=0;const i=t=>e(t,r++);s.this&&t.call(i,\"this\"),Array.isArray(s.parameters)?t.each(i,\"parameters\"):Array.isArray(s.params)&&t.each(i,\"params\"),s.rest&&t.call(i,\"rest\")},getCallArguments:function(t){if(Xe.has(t))return Xe.get(t);const e=\"ImportExpression\"===t.type?[t.source]:t.arguments;return Xe.set(t,e),e},iterateCallArgumentsPath:function(t,e){\"ImportExpression\"===t.getValue().type?t.call((t=>e(t,0)),\"source\"):t.each(e,\"arguments\")},hasRestParameter:function(t){if(t.rest)return!0;const e=We(t);return e.length>0&&\"RestElement\"===ne(e).type},getLeftSidePathName:function(t,e){if(e.expressions)return[\"expressions\",0];if(e.left)return[\"left\"];if(e.test)return[\"test\"];if(e.object)return[\"object\"];if(e.callee)return[\"callee\"];if(e.tag)return[\"tag\"];if(e.argument)return[\"argument\"];if(e.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(t){const e=t.getParentNode();return\"declaration\"===t.getName()&&Ae(e)?e:null},getTypeScriptMappedTypeModifier:function(t,e){return\"+\"===t?\"+\"+e:\"-\"===t?\"-\"+e:e},hasDanglingComments:function(t){return t.comments&&t.comments.some((t=>!t.leading&&!t.trailing))},hasFlowAnnotationComment:function(t){return t&&ye(t[0])&&De.test(t[0].value)},hasFlowShorthandAnnotationComment:function(t){return t.extra&&t.extra.parenthesized&&t.trailingComments&&ye(t.trailingComments[0])&&de.test(t.trailingComments[0].value)},hasLeadingComment:function(t){return t.comments&&t.comments.some((t=>t.leading))},hasLeadingOwnLineComment:Oe,hasNakedLeftSide:fe,hasNewlineBetweenOrAfterDecorators:function(t,e){return oe(e.originalText,he(t.decorators[0]),ce(ne(t.decorators)))||ae(e.originalText,ce(ne(t.decorators)))},hasNgSideEffect:function(t){return me(t.getValue(),(t=>{switch(t.type){case void 0:return!1;case\"CallExpression\":case\"OptionalCallExpression\":case\"AssignmentExpression\":return!0}}))},hasNode:me,hasPrettierIgnore:function(t){return Je(t)||function(t){const e=t.getValue(),s=t.getParentNode();if(!(s&&e&&Pe(e)&&Pe(s)))return!1;let r=null;for(let t=s.children.indexOf(e);t>0;t--){const e=s.children[t-1];if(\"JSXText\"!==e.type||Le(e)){r=e;break}}return r&&\"JSXExpressionContainer\"===r.type&&\"JSXEmptyExpression\"===r.expression.type&&r.expression.comments&&r.expression.comments.some((t=>Ge(t)))}(t)},hasTrailingComment:function(t){return t.comments&&t.comments.some((t=>t.trailing))},hasTrailingLineComment:function(t){return t.comments&&t.comments.some((t=>t.trailing&&!ye(t)))},hasIgnoreComment:Je,hasNodeIgnoreComment:Ke,identity:function(t){return t},isBinaryish:function(t){return Be.has(t.type)},isBlockComment:ye,isLineComment:function(t){return\"Line\"===t.type||\"CommentLine\"===t.type||\"SingleLine\"===t.type||\"HashbangComment\"===t.type||\"HTMLOpen\"===t.type||\"HTMLClose\"===t.type},isPrettierIgnoreComment:Ge,isCallOrOptionalCallExpression:Ie,isEmptyJSXElement:function(t){if(0===t.children.length)return!0;if(t.children.length>1)return!1;const e=t.children[0];return Ce(e)&&!Le(e)},isExportDeclaration:Ae,isFlowAnnotationComment:function(t,e){const s=he(e),r=ue(t,ce(e));return!1!==r&&\"/*\"===t.slice(s,s+2)&&\"*/\"===t.slice(r,r+2)},isFunctionCompositionArgs:function(t){if(t.length<=1)return!1;let e=0;for(const s of t)if(ge(s)){if(e+=1,e>1)return!0}else if(Ie(s))for(const t of s.arguments)if(ge(t))return!0;return!1},isFunctionNotation:we,isFunctionOrArrowExpression:ge,isGetterOrSetter:Te,isJestEachTemplateLiteral:function(t,e){const s=/^[fx]?(describe|it|test)$/;return\"TaggedTemplateExpression\"===e.type&&e.quasi===t&&\"MemberExpression\"===e.tag.type&&\"Identifier\"===e.tag.property.type&&\"each\"===e.tag.property.name&&(\"Identifier\"===e.tag.object.type&&s.test(e.tag.object.name)||\"MemberExpression\"===e.tag.object.type&&\"Identifier\"===e.tag.object.property.type&&(\"only\"===e.tag.object.property.name||\"skip\"===e.tag.object.property.name)&&\"Identifier\"===e.tag.object.object.type&&s.test(e.tag.object.object.name))},isJSXNode:Pe,isJSXWhitespaceExpression:function(t){return\"JSXExpressionContainer\"===t.type&&Ce(t.expression)&&\" \"===t.expression.value&&!t.expression.comments},isLastStatement:function(t){const e=t.getParentNode();if(!e)return!0;const s=t.getValue(),r=(e.body||e.consequent).filter((t=>\"EmptyStatement\"!==t.type));return r[r.length-1]===s},isLiteral:Ce,isLongCurriedCallExpression:function(t){const e=t.getValue(),s=t.getParentNode();return Ie(e)&&Ie(s)&&s.callee===e&&e.arguments.length>s.arguments.length&&s.arguments.length>0},isSimpleCallArgument:function t(e,s){if(s>=2)return!1;const r=e=>t(e,s+1),i=\"Literal\"===e.type&&\"regex\"in e&&e.regex.pattern||\"RegExpLiteral\"===e.type&&e.pattern;return!(i&&i.length>5)&&(\"Literal\"===e.type||\"BigIntLiteral\"===e.type||\"DecimalLiteral\"===e.type||\"BooleanLiteral\"===e.type||\"NullLiteral\"===e.type||\"NumericLiteral\"===e.type||\"RegExpLiteral\"===e.type||\"StringLiteral\"===e.type||\"Identifier\"===e.type||\"ThisExpression\"===e.type||\"Super\"===e.type||\"PrivateName\"===e.type||\"ArgumentPlaceholder\"===e.type||\"Import\"===e.type||(\"TemplateLiteral\"===e.type?e.expressions.every(r):\"ObjectExpression\"===e.type?e.properties.every((t=>!t.computed&&(t.shorthand||t.value&&r(t.value)))):\"ArrayExpression\"===e.type?e.elements.every((t=>null===t||r(t))):\"ImportExpression\"===e.type?r(e.source):\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type||\"NewExpression\"===e.type?t(e.callee,s)&&e.arguments.every(r):\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type?t(e.object,s)&&t(e.property,s):\"UnaryExpression\"!==e.type||\"!\"!==e.operator&&\"-\"!==e.operator?\"TSNonNullExpression\"===e.type&&t(e.expression,s):t(e.argument,s)))},isMeaningfulJSXText:Le,isMemberExpressionChain:function t(e){return(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type)&&(\"Identifier\"===e.object.type||t(e.object))},isMemberish:function(t){return\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type||\"BindExpression\"===t.type&&Boolean(t.object)},isNgForOf:function(t,e,s){return\"NGMicrosyntaxKeyedExpression\"===t.type&&\"of\"===t.key.name&&1===e&&\"NGMicrosyntaxLet\"===s.body[0].type&&null===s.body[0].value},isNumericLiteral:xe,isObjectType:function(t){return\"ObjectTypeAnnotation\"===t.type||\"TSTypeLiteral\"===t.type},isObjectTypePropertyAFunction:function(t){return!(\"ObjectTypeProperty\"!==t.type&&\"ObjectTypeInternalSlot\"!==t.type||\"FunctionTypeAnnotation\"!==t.value.type||t.static||we(t))},isSimpleType:function(t){return!!t&&(!(\"GenericTypeAnnotation\"!==t.type&&\"TSTypeReference\"!==t.type||t.typeParameters)||!!Se.has(t.type))},isSimpleNumber:Me,isSimpleTemplateLiteral:function(t){let e=\"expressions\";\"TSTemplateLiteralType\"===t.type&&(e=\"types\");const s=t[e];return 0!==s.length&&s.every((t=>{if(t.comments)return!1;if(\"Identifier\"===t.type||\"ThisExpression\"===t.type)return!0;if(\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type){let e=t;for(;\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type;){if(\"Identifier\"!==e.property.type&&\"Literal\"!==e.property.type&&\"StringLiteral\"!==e.property.type&&\"NumericLiteral\"!==e.property.type)return!1;if(e=e.object,e.comments)return!1}return\"Identifier\"===e.type||\"ThisExpression\"===e.type}return!1}))},isStringLiteral:Fe,isStringPropSafeToUnquote:function(t,e){return\"json\"!==e.parser&&Fe(t.key)&&_e(t.key).slice(1,-1)===t.key.value&&(ie(t.key.value)&&!((\"typescript\"===e.parser||\"babel-ts\"===e.parser)&&\"ClassProperty\"===t.type)||Me(t.key.value)&&String(Number(t.key.value))===t.key.value&&(\"babel\"===e.parser||\"espree\"===e.parser||\"meriyah\"===e.parser))},isTemplateOnItsOwnLine:function(t,e){return(\"TemplateLiteral\"===t.type&&Re(t)||\"TaggedTemplateExpression\"===t.type&&Re(t.quasi))&&!ae(e,he(t),{backwards:!0})},isTestCall:function t(e,s){if(\"CallExpression\"!==e.type)return!1;if(1===e.arguments.length){if(be(e)&&s&&t(s))return ge(e.arguments[0]);if(\"Identifier\"===(r=e).callee.type&&/^(before|after)(Each|All)$/.test(r.callee.name)&&1===r.arguments.length)return be(e.arguments[0])}else if((2===e.arguments.length||3===e.arguments.length)&&(\"Identifier\"===e.callee.type&&Ne.test(e.callee.name)||function(t){return(\"MemberExpression\"===t.callee.type||\"OptionalMemberExpression\"===t.callee.type)&&\"Identifier\"===t.callee.object.type&&\"Identifier\"===t.callee.property.type&&Ne.test(t.callee.object.name)&&(\"only\"===t.callee.property.name||\"skip\"===t.callee.property.name)}(e))&&(function(t){return\"TemplateLiteral\"===t.type}(e.arguments[0])||Fe(e.arguments[0])))return!(e.arguments[2]&&!xe(e.arguments[2]))&&((2===e.arguments.length?ge(e.arguments[1]):function(t){return\"FunctionExpression\"===t.type||\"ArrowFunctionExpression\"===t.type&&\"BlockStatement\"===t.body.type}(e.arguments[1])&&We(e.arguments[1]).length<=1)||be(e.arguments[1]));var r;return!1},isTheOnlyJSXElementInMarkdown:function(t,e){if(\"markdown\"!==t.parentParser&&\"mdx\"!==t.parentParser)return!1;const s=e.getNode();if(!s.expression||!Pe(s.expression))return!1;const r=e.getParentNode();return\"Program\"===r.type&&1===r.body.length},isTSXFile:function(t){return t.filepath&&/\\.tsx$/i.test(t.filepath)},isTypeAnnotationAFunction:function(t){return!(\"TypeAnnotation\"!==t.type&&\"TSTypeAnnotation\"!==t.type||\"FunctionTypeAnnotation\"!==t.typeAnnotation.type||t.static||pe(t,t.typeAnnotation))},matchJsxWhitespaceRegex:ve,needsHardlineAfterDanglingComment:function(t){if(!t.comments)return!1;const e=ne(t.comments.filter((t=>!t.leading&&!t.trailing)));return e&&!ye(e)},rawText:_e,returnArgumentHasLeadingComment:function(t,e){if(Oe(t.originalText,e))return!0;if(fe(e)){let r,i=e;for(;r=(s=i).expressions?s.expressions[0]:s.left||s.test||s.callee||s.object||s.tag||s.argument||s.expression;)if(i=r,Oe(t.originalText,i))return!0}var s;return!1},shouldPrintComma:function(t,e=\"es5\"){return\"es5\"===t.trailingComma&&\"es5\"===e||\"all\"===t.trailingComma&&(\"all\"===e||\"es5\"===e)},isBitwiseOperator:function(t){return!!qe[t]||\"|\"===t||\"^\"===t||\"&\"===t},shouldFlatten:function(t,e){return ze(e)===ze(t)&&(\"**\"!==t&&((!je[t]||!je[e])&&(!(\"%\"===e&&Ue[t]||\"%\"===t&&Ue[e])&&((e===t||!Ue[e]||!Ue[t])&&(!qe[t]||!qe[e])))))},startsWithNoLookaheadToken:function t(e,s){switch((e=function(t){for(;t.left;)t=t.left;return t}(e)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return s;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return t(e.object,s);case\"TaggedTemplateExpression\":return\"FunctionExpression\"!==e.tag.type&&t(e.tag,s);case\"CallExpression\":case\"OptionalCallExpression\":return\"FunctionExpression\"!==e.callee.type&&t(e.callee,s);case\"ConditionalExpression\":return t(e.test,s);case\"UpdateExpression\":return!e.prefix&&t(e.argument,s);case\"BindExpression\":return e.object&&t(e.object,s);case\"SequenceExpression\":return t(e.expressions[0],s);case\"TSAsExpression\":return t(e.expression,s);default:return!1}},getPrecedence:ze};const{getLast:Ye,hasNewline:Qe,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ze,getNextNonSpaceNonCommentCharacter:ts,hasNewlineInRange:es,addLeadingComment:ss,addTrailingComment:rs,addDanglingComment:is,getNextNonSpaceNonCommentCharacterIndex:ns}=Mt,{isBlockComment:as,getFunctionParameters:os,isPrettierIgnoreComment:us,isJSXNode:hs,hasFlowShorthandAnnotationComment:cs,hasFlowAnnotationComment:ps,hasIgnoreComment:ls}=$e,{locStart:ds,locEnd:Ds}=te;function ms(t,e){const s=(t.body||t.properties).find((({type:t})=>\"EmptyStatement\"!==t));s?ss(s,e):is(t,e)}function fs(t,e){\"BlockStatement\"===t.type?ms(t,e):ss(t,e)}function ys(t,e){const{precedingNode:s,enclosingNode:r,followingNode:i}=t;if(!r||\"IfStatement\"!==r.type||!i)return!1;return\")\"===ts(e,t,Ds)?(rs(s,t),!0):s===r.consequent&&i===r.alternate?(\"BlockStatement\"===s.type?rs(s,t):is(r,t),!0):\"BlockStatement\"===i.type?(ms(i,t),!0):\"IfStatement\"===i.type?(fs(i.consequent,t),!0):r.consequent===i&&(ss(i,t),!0)}function Es(t,e){const{precedingNode:s,enclosingNode:r,followingNode:i}=t;if(!r||\"WhileStatement\"!==r.type||!i)return!1;return\")\"===ts(e,t,Ds)?(rs(s,t),!0):\"BlockStatement\"===i.type?(ms(i,t),!0):r.body===i&&(ss(i,t),!0)}function As(t){const{precedingNode:e,enclosingNode:s,followingNode:r}=t;return!(!s||\"TryStatement\"!==s.type&&\"CatchClause\"!==s.type||!r)&&(\"CatchClause\"===s.type&&e?(rs(e,t),!0):\"BlockStatement\"===r.type?(ms(r,t),!0):\"TryStatement\"===r.type?(fs(r.finalizer,t),!0):\"CatchClause\"===r.type&&(fs(r.body,t),!0))}function Cs(t){const{precedingNode:e,enclosingNode:s,followingNode:r}=t;if(s&&(\"ClassDeclaration\"===s.type||\"ClassExpression\"===s.type||\"DeclareClass\"===s.type||\"DeclareInterface\"===s.type||\"InterfaceDeclaration\"===s.type||\"TSInterfaceDeclaration\"===s.type)){if(s.decorators&&s.decorators.length>0&&(!r||\"Decorator\"!==r.type))return rs(s.decorators[s.decorators.length-1],t),!0;if(s.body&&r===s.body)return ms(s.body,t),!0;if(r)for(const i of[\"implements\",\"extends\",\"mixins\"])if(s[i]&&r===s[i][0])return!e||e!==s.id&&e!==s.typeParameters&&e!==s.superClass?is(s,t,i):rs(e,t),!0}return!1}function xs(t,e){const{precedingNode:s,enclosingNode:r}=t;return(r&&s&&(\"Property\"===r.type||\"TSDeclareMethod\"===r.type||\"TSAbstractMethodDefinition\"===r.type)&&\"Identifier\"===s.type&&r.key===s&&\":\"!==ts(e,s,Ds)||!(!s||!r||\"Decorator\"!==s.type||\"ClassMethod\"!==r.type&&\"ClassProperty\"!==r.type&&\"FieldDefinition\"!==r.type&&\"TSAbstractClassProperty\"!==r.type&&\"TSAbstractMethodDefinition\"!==r.type&&\"TSDeclareMethod\"!==r.type&&\"MethodDefinition\"!==r.type))&&(rs(s,t),!0)}function Fs(t,e){const{precedingNode:s,enclosingNode:r,followingNode:i}=t;if(s&&\"FunctionTypeParam\"===s.type&&r&&\"FunctionTypeAnnotation\"===r.type&&i&&\"FunctionTypeParam\"!==i.type)return rs(s,t),!0;if(s&&(\"Identifier\"===s.type||\"AssignmentPattern\"===s.type)&&r&&ws(r)&&\")\"===ts(e,t,Ds))return rs(s,t),!0;if(r&&\"FunctionDeclaration\"===r.type&&i&&\"BlockStatement\"===i.type){const s=(()=>{const t=os(r);if(0!==t.length)return Ze(e,Ds(Ye(t)));const s=Ze(e,Ds(r.id));return!1!==s&&Ze(e,s+1)})();if(ds(t)>s)return ms(i,t),!0}return!1}function gs(t){const{enclosingNode:e}=t;return!(!e||\"ImportSpecifier\"!==e.type)&&(ss(e,t),!0)}function bs(t){const{enclosingNode:e}=t;return!(!e||\"LabeledStatement\"!==e.type)&&(ss(e,t),!0)}function Ps(t,e,s){const{enclosingNode:r}=t;return e&&e.body&&0===e.body.length?(s?is(e,t):ss(e,t),!0):!(!r||\"Program\"!==r.type||0!==r.body.length||!r.directives||0!==r.directives.length)&&(s?is(r,t):ss(r,t),!0)}function Ts(t){const{enclosingNode:e,followingNode:s}=t;if(us(t)&&e&&\"TSMappedType\"===e.type&&s&&\"TSTypeParameter\"===s.type&&s.constraint)return e.prettierIgnore=!0,t.unignore=!0,!0}function ws(t){return\"ArrowFunctionExpression\"===t.type||\"FunctionExpression\"===t.type||\"FunctionDeclaration\"===t.type||\"ObjectMethod\"===t.type||\"ClassMethod\"===t.type||\"TSDeclareFunction\"===t.type||\"TSCallSignatureDeclaration\"===t.type||\"TSConstructSignatureDeclaration\"===t.type||\"TSMethodSignature\"===t.type||\"TSConstructorType\"===t.type||\"TSFunctionType\"===t.type||\"TSDeclareMethod\"===t.type}function Bs(t){return as(t)&&\"*\"===t.value[0]&&/@type\\b/.test(t.value)}var Ss={handleOwnLineComment:function(t,e,s,r,i){return Ts(t)||Fs(t,e)||function(t){const{enclosingNode:e,followingNode:s}=t;if(e&&(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type)&&s&&\"Identifier\"===s.type)return ss(e,t),!0;return!1}(t)||ys(t,e)||Es(t,e)||As(t)||Cs(t)||gs(t)||function(t){const{enclosingNode:e}=t;if(e&&(\"ForInStatement\"===e.type||\"ForOfStatement\"===e.type))return ss(e,t),!0;return!1}(t)||function(t){const{precedingNode:e,enclosingNode:s,followingNode:r}=t;if(s&&(\"UnionTypeAnnotation\"===s.type||\"TSUnionType\"===s.type))return us(t)&&(r.prettierIgnore=!0,t.unignore=!0),!!e&&(rs(e,t),!0);r&&(\"UnionTypeAnnotation\"===r.type||\"TSUnionType\"===r.type)&&us(t)&&(r.types[0].prettierIgnore=!0,t.unignore=!0);return!1}(t)||Ps(t,r,i)||function(t,e){const{precedingNode:s,enclosingNode:r}=t;if(s&&\"ImportSpecifier\"===s.type&&r&&\"ImportDeclaration\"===r.type&&Qe(e,Ds(t)))return rs(s,t),!0;return!1}(t,e)||function(t){const{enclosingNode:e}=t;if(e&&\"AssignmentPattern\"===e.type)return ss(e,t),!0;return!1}(t)||xs(t,e)||bs(t)},handleEndOfLineComment:function(t,e,s,r,i){return function(t){const{followingNode:e}=t;if(e&&Bs(t))return ss(e,t),!0;return!1}(t)||Fs(t,e)||function(t,e){const{precedingNode:s,enclosingNode:r,followingNode:i}=t,n=s&&!es(e,Ds(s),ds(t));if((!s||!n)&&r&&(\"ConditionalExpression\"===r.type||\"TSConditionalType\"===r.type)&&i)return ss(i,t),!0;return!1}(t,e)||gs(t)||ys(t,e)||Es(t,e)||As(t)||Cs(t)||bs(t)||function(t){const{precedingNode:e,enclosingNode:s}=t;if(s&&(\"CallExpression\"===s.type||\"OptionalCallExpression\"===s.type)&&e&&s.callee===e&&s.arguments.length>0)return ss(s.arguments[0],t),!0;return!1}(t)||function(t){const{enclosingNode:e}=t;if(e&&(\"Property\"===e.type||\"ObjectProperty\"===e.type))return ss(e,t),!0;return!1}(t)||Ps(t,r,i)||function(t){const{enclosingNode:e}=t;if(e&&\"TypeAlias\"===e.type)return ss(e,t),!0;return!1}(t)||function(t){const{enclosingNode:e,followingNode:s}=t;if(e&&(\"VariableDeclarator\"===e.type||\"AssignmentExpression\"===e.type)&&s&&(\"ObjectExpression\"===s.type||\"ArrayExpression\"===s.type||\"TemplateLiteral\"===s.type||\"TaggedTemplateExpression\"===s.type||as(t)))return ss(s,t),!0;return!1}(t)},handleRemainingComment:function(t,e,s,r,i){return!!(Ts(t)||ys(t,e)||Es(t,e)||function(t){const{precedingNode:e,enclosingNode:s}=t;if(s&&(\"ObjectProperty\"===s.type||\"Property\"===s.type)&&s.shorthand&&s.key===e&&\"AssignmentPattern\"===s.value.type)return rs(s.value.left,t),!0;return!1}(t)||function(t,e){if(\")\"!==ts(e,t,Ds))return!1;const{enclosingNode:s}=t;if(s&&(ws(s)&&0===os(s).length||(\"CallExpression\"===s.type||\"OptionalCallExpression\"===s.type||\"NewExpression\"===s.type)&&0===s.arguments.length))return is(s,t),!0;if(s&&\"MethodDefinition\"===s.type&&0===os(s.value).length)return is(s.value,t),!0;return!1}(t,e)||xs(t,e)||Ps(t,r,i)||function(t,e){const{enclosingNode:s}=t;if(!s||\"ArrowFunctionExpression\"!==s.type)return!1;const r=ns(e,t,Ds);if(!1!==r&&\"=>\"===e.slice(r,r+2))return is(s,t),!0;return!1}(t,e)||function(t,e){if(\"(\"!==ts(e,t,Ds))return!1;const{precedingNode:s,enclosingNode:r}=t;if(s&&r&&(\"FunctionDeclaration\"===r.type||\"FunctionExpression\"===r.type||\"ClassMethod\"===r.type||\"MethodDefinition\"===r.type||\"ObjectMethod\"===r.type))return rs(s,t),!0;return!1}(t,e)||function(t){const{precedingNode:e,enclosingNode:s,followingNode:r}=t;if(!s||\"TSMappedType\"!==s.type)return!1;if(r&&\"TSTypeParameter\"===r.type&&r.name)return ss(r.name,t),!0;if(e&&\"TSTypeParameter\"===e.type&&e.constraint)return rs(e.constraint,t),!0;return!1}(t)||function(t){const{enclosingNode:e}=t;if(e&&(\"ContinueStatement\"===e.type||\"BreakStatement\"===e.type)&&!e.label)return rs(e,t),!0;return!1}(t)||function(t,e){const{enclosingNode:s,followingNode:r}=t;if(!r&&s&&(\"TSMethodSignature\"===s.type||\"TSDeclareFunction\"===s.type||\"TSAbstractMethodDefinition\"===s.type)&&\";\"===ts(e,t,Ds))return rs(s,t),!0;return!1}(t,e))},hasLeadingComment:function(t,e=(()=>!0)){return t.leadingComments?t.leadingComments.some(e):!!t.comments&&t.comments.some((t=>t.leading&&e(t)))},isTypeCastComment:Bs,getGapRegex:function(t){if(t&&\"BinaryExpression\"!==t.type&&\"LogicalExpression\"!==t.type)return/^[\\s&(|]*$/},getCommentChildNodes:function(t,e){if((\"typescript\"===e.parser||\"flow\"===e.parser||\"espree\"===e.parser||\"meriyah\"===e.parser)&&\"MethodDefinition\"===t.type&&t.value&&\"FunctionExpression\"===t.value.type&&0===os(t.value).length&&!t.value.returnType&&(!t.value.typeParameters||0===t.value.typeParameters.length)&&t.value.body)return[...t.decorators||[],t.key,t.value.body]},willPrintOwnComments:function(t){const e=t.getValue(),s=t.getParentNode();return(e&&(hs(e)||cs(e)||s&&(\"CallExpression\"===s.type||\"OptionalCallExpression\"===s.type)&&(ps(e.leadingComments)||ps(e.trailingComments)))||s&&(\"JSXSpreadAttribute\"===s.type||\"JSXSpreadChild\"===s.type||\"UnionTypeAnnotation\"===s.type||\"TSUnionType\"===s.type||(\"ClassDeclaration\"===s.type||\"ClassExpression\"===s.type)&&s.superClass===e))&&(!ls(t)||\"UnionTypeAnnotation\"===s.type||\"TSUnionType\"===s.type)}};const{getLast:Ns,getNextNonSpaceNonCommentCharacter:Is,getShebang:vs}=Mt,{composeLoc:ks,locStart:Ls,locEnd:Os}=te,{isTypeCastComment:Ms}=Ss;function Rs(t){return\"CallExpression\"===t.type?(t.type=\"OptionalCallExpression\",t.callee=Rs(t.callee)):\"MemberExpression\"===t.type?(t.type=\"OptionalMemberExpression\",t.object=Rs(t.object)):\"TSNonNullExpression\"===t.type&&(t.expression=Rs(t.expression)),t}function _s(t,e){let s;if(Array.isArray(t))s=t.entries();else{if(!t||\"object\"!=typeof t||\"string\"!=typeof t.type)return t;s=Object.entries(t)}for(const[r,i]of s)t[r]=_s(i,e);return Array.isArray(t)?t:e(t)||t}function js(t){return\"LogicalExpression\"===t.type&&\"LogicalExpression\"===t.right.type&&t.operator===t.right.operator}function Us(t){return js(t)?Us({type:\"LogicalExpression\",operator:t.operator,left:Us({type:\"LogicalExpression\",operator:t.operator,left:t.left,right:t.right.left,range:ks(t.left,t.right.left)}),right:t.right.right,range:ks(t)}):t}var qs=function(e,s){if(\"typescript\"!==s.parser&&\"flow\"!==s.parser&&\"espree\"!==s.parser||function(t,e){const s=vs(e.originalText);s&&t.comments.unshift({type:\"Line\",value:s.slice(2),range:[0,s.length]})}(e,s),\"typescript\"===s.parser&&s.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:r,tsNodeToESTreeNodeMap:i}=s.tsParseResult;e=_s(e,(e=>{const s=r.get(e);if(!s)return;const n=s.decorators;if(!Array.isArray(n))return;const a=i.get(s);if(a!==e)return;const o=a.decorators;if(!Array.isArray(o)||o.length!==n.length||n.some((t=>{const e=i.get(t);return!e||!o.includes(e)}))){const{start:e,end:s}=a.loc;throw t(\"Leading decorators must be attached to a class declaration\",{start:{line:e.line,column:e.column+1},end:{line:s.line,column:s.column+1}})}}))}if(\"typescript\"!==s.parser&&\"flow\"!==s.parser&&\"espree\"!==s.parser&&\"meriyah\"!==s.parser){const t=new Set;e=_s(e,(e=>{e.leadingComments&&e.leadingComments.some(Ms)&&t.add(Ls(e))})),e=_s(e,(e=>{if(\"ParenthesizedExpression\"===e.type){const{expression:s}=e;if(\"TypeCastExpression\"===s.type)return s.range=e.range,s;const r=Ls(e);if(!t.has(r))return s.extra=Object.assign({},s.extra,{parenthesized:!0}),s}}))}return e=_s(e,(t=>{switch(t.type){case\"ChainExpression\":return Rs(t.expression);case\"LogicalExpression\":if(js(t))return Us(t);break;case\"VariableDeclaration\":{const e=Ns(t.declarations);e&&e.init&&function(t,e){if(\";\"===s.originalText[Os(e)])return;t.range=ks(t,e)}(t,e);break}case\"TSParenthesizedType\":return t.typeAnnotation.range=ks(t),t.typeAnnotation;case\"TSUnionType\":case\"TSIntersectionType\":if(1===t.types.length){const[e]=t.types;return e.range=ks(t),e}break;case\"TSTypeParameter\":\"string\"==typeof t.name&&(t.name={type:\"Identifier\",name:t.name,range:ks(t,t.name.length)});break;case\"SequenceExpression\":{const e=Ns(t.expressions);Os(t)>Os(e)&&(t.range=ks(t,e));break}case\"ClassProperty\":t.key&&\"TSPrivateIdentifier\"===t.key.type&&\"?\"===Is(s.originalText,t.key,Os)&&(t.optional=!0)}}))},Vs=R((function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const s=!0,r=!0,i=!0,n=!0;class a{constructor(t,e={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.updateContext=void 0,this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.rightAssociative=!!e.rightAssociative,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=null!=e.binop?e.binop:null,this.updateContext=null}}const o=new Map;function u(t,e={}){e.keyword=t;const s=new a(t,e);return o.set(t,s),s}function h(t,e){return new a(t,{beforeExpr:s,binop:e})}const c={num:new a(\"num\",{startsExpr:r}),bigint:new a(\"bigint\",{startsExpr:r}),decimal:new a(\"decimal\",{startsExpr:r}),regexp:new a(\"regexp\",{startsExpr:r}),string:new a(\"string\",{startsExpr:r}),name:new a(\"name\",{startsExpr:r}),eof:new a(\"eof\"),bracketL:new a(\"[\",{beforeExpr:s,startsExpr:r}),bracketHashL:new a(\"#[\",{beforeExpr:s,startsExpr:r}),bracketBarL:new a(\"[|\",{beforeExpr:s,startsExpr:r}),bracketR:new a(\"]\"),bracketBarR:new a(\"|]\"),braceL:new a(\"{\",{beforeExpr:s,startsExpr:r}),braceBarL:new a(\"{|\",{beforeExpr:s,startsExpr:r}),braceHashL:new a(\"#{\",{beforeExpr:s,startsExpr:r}),braceR:new a(\"}\"),braceBarR:new a(\"|}\"),parenL:new a(\"(\",{beforeExpr:s,startsExpr:r}),parenR:new a(\")\"),comma:new a(\",\",{beforeExpr:s}),semi:new a(\";\",{beforeExpr:s}),colon:new a(\":\",{beforeExpr:s}),doubleColon:new a(\"::\",{beforeExpr:s}),dot:new a(\".\"),question:new a(\"?\",{beforeExpr:s}),questionDot:new a(\"?.\"),arrow:new a(\"=>\",{beforeExpr:s}),template:new a(\"template\"),ellipsis:new a(\"...\",{beforeExpr:s}),backQuote:new a(\"`\",{startsExpr:r}),dollarBraceL:new a(\"${\",{beforeExpr:s,startsExpr:r}),at:new a(\"@\"),hash:new a(\"#\",{startsExpr:r}),interpreterDirective:new a(\"#!...\"),eq:new a(\"=\",{beforeExpr:s,isAssign:true}),assign:new a(\"_=\",{beforeExpr:s,isAssign:true}),incDec:new a(\"++/--\",{prefix:n,postfix:!0,startsExpr:r}),bang:new a(\"!\",{beforeExpr:s,prefix:n,startsExpr:r}),tilde:new a(\"~\",{beforeExpr:s,prefix:n,startsExpr:r}),pipeline:h(\"|>\",0),nullishCoalescing:h(\"??\",1),logicalOR:h(\"||\",1),logicalAND:h(\"&&\",2),bitwiseOR:h(\"|\",3),bitwiseXOR:h(\"^\",4),bitwiseAND:h(\"&\",5),equality:h(\"==/!=/===/!==\",6),relational:h(\"/<=/>=\",7),bitShift:h(\"<>/>>>\",8),plusMin:new a(\"+/-\",{beforeExpr:s,binop:9,prefix:n,startsExpr:r}),modulo:new a(\"%\",{beforeExpr:s,binop:10,startsExpr:r}),star:new a(\"*\",{binop:10}),slash:h(\"/\",10),exponent:new a(\"**\",{beforeExpr:s,binop:11,rightAssociative:!0}),_break:u(\"break\"),_case:u(\"case\",{beforeExpr:s}),_catch:u(\"catch\"),_continue:u(\"continue\"),_debugger:u(\"debugger\"),_default:u(\"default\",{beforeExpr:s}),_do:u(\"do\",{isLoop:i,beforeExpr:s}),_else:u(\"else\",{beforeExpr:s}),_finally:u(\"finally\"),_for:u(\"for\",{isLoop:i}),_function:u(\"function\",{startsExpr:r}),_if:u(\"if\"),_return:u(\"return\",{beforeExpr:s}),_switch:u(\"switch\"),_throw:u(\"throw\",{beforeExpr:s,prefix:n,startsExpr:r}),_try:u(\"try\"),_var:u(\"var\"),_const:u(\"const\"),_while:u(\"while\",{isLoop:i}),_with:u(\"with\"),_new:u(\"new\",{beforeExpr:s,startsExpr:r}),_this:u(\"this\",{startsExpr:r}),_super:u(\"super\",{startsExpr:r}),_class:u(\"class\",{startsExpr:r}),_extends:u(\"extends\",{beforeExpr:s}),_export:u(\"export\"),_import:u(\"import\",{startsExpr:r}),_null:u(\"null\",{startsExpr:r}),_true:u(\"true\",{startsExpr:r}),_false:u(\"false\",{startsExpr:r}),_in:u(\"in\",{beforeExpr:s,binop:7}),_instanceof:u(\"instanceof\",{beforeExpr:s,binop:7}),_typeof:u(\"typeof\",{beforeExpr:s,prefix:n,startsExpr:r}),_void:u(\"void\",{beforeExpr:s,prefix:n,startsExpr:r}),_delete:u(\"delete\",{beforeExpr:s,prefix:n,startsExpr:r})},p=128,l=128,d=1024,D=64,m=/\\r\\n?|[\\n\\u2028\\u2029]/,f=new RegExp(m.source,\"g\");function y(t){switch(t){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const E=/(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;function A(t){switch(t){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}class C{constructor(t,e){this.line=void 0,this.column=void 0,this.line=t,this.column=e}}class x{constructor(t,e){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=t,this.end=e}}function F(t){return t[t.length-1]}const g=Object.freeze({AccessorIsGenerator:\"A %0ter cannot be a generator\",ArgumentsInClass:\"'arguments' is only allowed in functions and class methods\",AsyncFunctionInSingleStatementContext:\"Async functions can only be declared at the top level or inside a block\",AwaitBindingIdentifier:\"Can not use 'await' as identifier inside an async function\",AwaitExpressionFormalParameter:\"await is not allowed in async function parameters\",AwaitNotInAsyncContext:\"'await' is only allowed within async functions and at the top levels of modules\",AwaitNotInAsyncFunction:\"'await' is only allowed within async functions\",BadGetterArity:\"getter must not have any formal parameters\",BadSetterArity:\"setter must have exactly one formal parameter\",BadSetterRestParameter:\"setter function argument must not be a rest parameter\",ConstructorClassField:\"Classes may not have a field named 'constructor'\",ConstructorClassPrivateField:\"Classes may not have a private field named '#constructor'\",ConstructorIsAccessor:\"Class constructor may not be an accessor\",ConstructorIsAsync:\"Constructor can't be an async function\",ConstructorIsGenerator:\"Constructor can't be a generator\",DeclarationMissingInitializer:\"%0 require an initialization value\",DecoratorBeforeExport:\"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax\",DecoratorConstructor:\"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?\",DecoratorExportClass:\"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.\",DecoratorSemicolon:\"Decorators must not be followed by a semicolon\",DecoratorStaticBlock:\"Decorators can't be used with a static block\",DeletePrivateField:\"Deleting a private field is not allowed\",DestructureNamedImport:\"ES2015 named imports do not destructure. Use another statement for destructuring after the import.\",DuplicateConstructor:\"Duplicate constructor in the same class\",DuplicateDefaultExport:\"Only one default export allowed per module.\",DuplicateExport:\"`%0` has already been exported. Exported identifiers must be unique.\",DuplicateProto:\"Redefinition of __proto__ property\",DuplicateRegExpFlags:\"Duplicate regular expression flag\",DuplicateStaticBlock:\"Duplicate static block in the same class\",ElementAfterRest:\"Rest element must be last element\",EscapedCharNotAnIdentifier:\"Invalid Unicode escape\",ExportBindingIsString:\"A string literal cannot be used as an exported binding without `from`.\\n- Did you mean `export { %0 as '%1' } from 'some-module'`?\",ExportDefaultFromAsIdentifier:\"'from' is not allowed as an identifier after 'export default'\",ForInOfLoopInitializer:\"%0 loop variable declaration may not have an initializer\",GeneratorInSingleStatementContext:\"Generators can only be declared at the top level or inside a block\",IllegalBreakContinue:\"Unsyntactic %0\",IllegalLanguageModeDirective:\"Illegal 'use strict' directive in function with non-simple parameter list\",IllegalReturn:\"'return' outside of function\",ImportBindingIsString:'A string literal cannot be used as an imported binding.\\n- Did you mean `import { \"%0\" as foo }`?',ImportCallArgumentTrailingComma:\"Trailing comma is disallowed inside import(...) arguments\",ImportCallArity:\"import() requires exactly %0\",ImportCallNotNewExpression:\"Cannot use new with import(...)\",ImportCallSpreadArgument:\"... is not allowed in import()\",ImportMetaOutsideModule:\"import.meta may appear only with 'sourceType: \\\"module\\\"'\",ImportOutsideModule:\"'import' and 'export' may appear only with 'sourceType: \\\"module\\\"'\",InvalidBigIntLiteral:\"Invalid BigIntLiteral\",InvalidCodePoint:\"Code point out of bounds\",InvalidDecimal:\"Invalid decimal\",InvalidDigit:\"Expected number in radix %0\",InvalidEscapeSequence:\"Bad character escape sequence\",InvalidEscapeSequenceTemplate:\"Invalid escape sequence in template\",InvalidEscapedReservedWord:\"Escape sequence in keyword %0\",InvalidIdentifier:\"Invalid identifier %0\",InvalidLhs:\"Invalid left-hand side in %0\",InvalidLhsBinding:\"Binding invalid left-hand side in %0\",InvalidNumber:\"Invalid number\",InvalidOrMissingExponent:\"Floating-point numbers require a valid exponent after the 'e'\",InvalidOrUnexpectedToken:\"Unexpected character '%0'\",InvalidParenthesizedAssignment:\"Invalid parenthesized assignment pattern\",InvalidPrivateFieldResolution:\"Private name #%0 is not defined\",InvalidPropertyBindingPattern:\"Binding member expression\",InvalidRecordProperty:\"Only properties and spread elements are allowed in record definitions\",InvalidRestAssignmentPattern:\"Invalid rest operator's argument\",LabelRedeclaration:\"Label '%0' is already declared\",LetInLexicalBinding:\"'let' is not allowed to be used as a name in 'let' or 'const' declarations.\",LineTerminatorBeforeArrow:\"No line break is allowed before '=>'\",MalformedRegExpFlags:\"Invalid regular expression flag\",MissingClassName:\"A class name is required\",MissingEqInAssignment:\"Only '=' operator can be used for specifying default value.\",MissingUnicodeEscape:\"Expecting Unicode escape sequence \\\\uXXXX\",MixingCoalesceWithLogical:\"Nullish coalescing operator(??) requires parens when mixing with logical operators\",ModuleAttributeDifferentFromType:\"The only accepted module attribute is `type`\",ModuleAttributeInvalidValue:\"Only string literals are allowed as module attribute values\",ModuleAttributesWithDuplicateKeys:'Duplicate key \"%0\" is not allowed in module attributes',ModuleExportNameHasLoneSurrogate:\"An export name cannot include a lone surrogate, found '\\\\u%0'\",ModuleExportUndefined:\"Export '%0' is not defined\",MultipleDefaultsInSwitch:\"Multiple default clauses\",NewlineAfterThrow:\"Illegal newline after throw\",NoCatchOrFinally:\"Missing catch or finally clause\",NumberIdentifier:\"Identifier directly after number\",NumericSeparatorInEscapeSequence:\"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences\",ObsoleteAwaitStar:\"await* has been removed from the async functions proposal. Use Promise.all() instead.\",OptionalChainingNoNew:\"constructors in/after an Optional Chain are not allowed\",OptionalChainingNoTemplate:\"Tagged Template Literals are not allowed in optionalChain\",ParamDupe:\"Argument name clash\",PatternHasAccessor:\"Object pattern can't contain getter or setter\",PatternHasMethod:\"Object pattern can't contain methods\",PipelineBodyNoArrow:'Unexpected arrow \"=>\" after pipeline body; arrow function in pipeline body must be parenthesized',PipelineBodySequenceExpression:\"Pipeline body may not be a comma-separated sequence expression\",PipelineHeadSequenceExpression:\"Pipeline head should not be a comma-separated sequence expression\",PipelineTopicUnused:\"Pipeline is in topic style but does not use topic reference\",PrimaryTopicNotAllowed:\"Topic reference was used in a lexical context without topic binding\",PrimaryTopicRequiresSmartPipeline:\"Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option.\",PrivateInExpectedIn:\"Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`)\",PrivateNameRedeclaration:\"Duplicate private name #%0\",RecordExpressionBarIncorrectEndSyntaxType:\"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'\",RecordExpressionBarIncorrectStartSyntaxType:\"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'\",RecordExpressionHashIncorrectStartSyntaxType:\"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'\",RecordNoProto:\"'__proto__' is not allowed in Record expressions\",RestTrailingComma:\"Unexpected trailing comma after rest element\",SloppyFunction:\"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement\",StaticPrototype:\"Classes may not have static property named prototype\",StrictDelete:\"Deleting local variable in strict mode\",StrictEvalArguments:\"Assigning to '%0' in strict mode\",StrictEvalArgumentsBinding:\"Binding '%0' in strict mode\",StrictFunction:\"In strict mode code, functions can only be declared at top level or inside a block\",StrictNumericEscape:\"The only valid numeric escape in strict mode is '\\\\0'\",StrictOctalLiteral:\"Legacy octal literals are not allowed in strict mode\",StrictWith:\"'with' in strict mode\",SuperNotAllowed:\"super() is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?\",SuperPrivateField:\"Private fields can't be accessed on super\",TrailingDecorator:\"Decorators must be attached to a class element\",TupleExpressionBarIncorrectEndSyntaxType:\"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'\",TupleExpressionBarIncorrectStartSyntaxType:\"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'\",TupleExpressionHashIncorrectStartSyntaxType:\"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'\",UnexpectedArgumentPlaceholder:\"Unexpected argument placeholder\",UnexpectedAwaitAfterPipelineBody:'Unexpected \"await\" after pipeline body; await must have parentheses in minimal proposal',UnexpectedDigitAfterHash:\"Unexpected digit after hash token\",UnexpectedImportExport:\"'import' and 'export' may only appear at the top level\",UnexpectedKeyword:\"Unexpected keyword '%0'\",UnexpectedLeadingDecorator:\"Leading decorators must be attached to a class declaration\",UnexpectedLexicalDeclaration:\"Lexical declaration cannot appear in a single-statement context\",UnexpectedNewTarget:\"new.target can only be used in functions\",UnexpectedNumericSeparator:\"A numeric separator is only allowed between two digits\",UnexpectedPrivateField:\"Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\\n or a property of member expression (i.e. this.#p).\",UnexpectedReservedWord:\"Unexpected reserved word '%0'\",UnexpectedSuper:\"super is only allowed in object methods and classes\",UnexpectedToken:\"Unexpected token '%0'\",UnexpectedTokenUnaryExponentiation:\"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.\",UnsupportedBind:\"Binding should be performed on object property.\",UnsupportedDecoratorExport:\"A decorated export must export a class declaration\",UnsupportedDefaultExport:\"Only expressions, functions or classes are allowed as the `default` export.\",UnsupportedImport:\"import can only be used in import() or import.meta\",UnsupportedMetaProperty:\"The only valid meta property for %0 is %0.%1\",UnsupportedParameterDecorator:\"Decorators cannot be used to decorate parameters\",UnsupportedPropertyDecorator:\"Decorators cannot be used to decorate object literal properties\",UnsupportedSuper:\"super can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop])\",UnterminatedComment:\"Unterminated comment\",UnterminatedRegExp:\"Unterminated regular expression\",UnterminatedString:\"Unterminated string constant\",UnterminatedTemplate:\"Unterminated template\",VarRedeclaration:\"Identifier '%0' has already been declared\",YieldBindingIdentifier:\"Can not use 'yield' as identifier inside a generator\",YieldInParameter:\"Yield expression is not allowed in formal parameters\",ZeroDigitNumericSeparator:\"Numeric separator can not be used after leading 0\"});function b(t){return null!=t&&\"Property\"===t.type&&\"init\"===t.kind&&!1===t.method}class P{constructor(t,e,s,r){this.token=void 0,this.isExpr=void 0,this.preserveSpace=void 0,this.override=void 0,this.token=t,this.isExpr=!!e,this.preserveSpace=!!s,this.override=r}}const T={braceStatement:new P(\"{\",!1),braceExpression:new P(\"{\",!0),recordExpression:new P(\"#{\",!0),templateQuasi:new P(\"${\",!1),parenStatement:new P(\"(\",!1),parenExpression:new P(\"(\",!0),template:new P(\"`\",!0,!0,(t=>t.readTmplToken())),functionExpression:new P(\"function\",!0),functionStatement:new P(\"function\",!1)};c.parenR.updateContext=c.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let t=this.state.context.pop();t===T.braceStatement&&\"function\"===this.curContext().token&&(t=this.state.context.pop()),this.state.exprAllowed=!t.isExpr},c.name.updateContext=function(t){let e=!1;t!==c.dot&&(\"of\"!==this.state.value||this.state.exprAllowed||t===c._function||t===c._class||(e=!0)),this.state.exprAllowed=e,this.state.isIterator&&(this.state.isIterator=!1)},c.braceL.updateContext=function(t){this.state.context.push(this.braceIsBlock(t)?T.braceStatement:T.braceExpression),this.state.exprAllowed=!0},c.dollarBraceL.updateContext=function(){this.state.context.push(T.templateQuasi),this.state.exprAllowed=!0},c.parenL.updateContext=function(t){const e=t===c._if||t===c._for||t===c._with||t===c._while;this.state.context.push(e?T.parenStatement:T.parenExpression),this.state.exprAllowed=!0},c.incDec.updateContext=function(){},c._function.updateContext=c._class.updateContext=function(t){!t.beforeExpr||t===c.semi||t===c._else||t===c._return&&this.hasPrecedingLineBreak()||(t===c.colon||t===c.braceL)&&this.curContext()===T.b_stat?this.state.context.push(T.functionStatement):this.state.context.push(T.functionExpression),this.state.exprAllowed=!1},c.backQuote.updateContext=function(){this.curContext()===T.template?this.state.context.pop():this.state.context.push(T.template),this.state.exprAllowed=!1},c.braceHashL.updateContext=function(){this.state.context.push(T.recordExpression),this.state.exprAllowed=!0};let w=\"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u08a0-\\u08b4\\u08b6-\\u08c7\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\u9ffc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7bf\\ua7c2-\\ua7ca\\ua7f5-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\",B=\"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08d3-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf\\u1ac0\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1df9\\u1dfb-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\";const S=new RegExp(\"[\"+w+\"]\"),N=new RegExp(\"[\"+w+B+\"]\");w=B=null;const I=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],v=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function k(t,e){let s=65536;for(let r=0,i=e.length;rt)return!1;if(s+=e[r+1],s>=t)return!0}return!1}function L(t){return t<65?36===t:t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&S.test(String.fromCharCode(t)):k(t,I)))}function O(t){return t<48?36===t:t<58||!(t<65)&&(t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&N.test(String.fromCharCode(t)):k(t,I)||k(t,v))))}const M=[\"implements\",\"interface\",\"let\",\"package\",\"private\",\"protected\",\"public\",\"static\",\"yield\"],R=[\"eval\",\"arguments\"],_=new Set([\"break\",\"case\",\"catch\",\"continue\",\"debugger\",\"default\",\"do\",\"else\",\"finally\",\"for\",\"function\",\"if\",\"return\",\"switch\",\"throw\",\"try\",\"var\",\"const\",\"while\",\"with\",\"new\",\"this\",\"super\",\"class\",\"extends\",\"export\",\"import\",\"null\",\"true\",\"false\",\"in\",\"instanceof\",\"typeof\",\"void\",\"delete\"]),j=new Set(M),U=new Set(R);function q(t,e){return e&&\"await\"===t||\"enum\"===t}function V(t,e){return q(t,e)||j.has(t)}function z(t){return U.has(t)}function H(t,e){return V(t,e)||z(t)}function W(t){return _.has(t)}const X=/^in(stanceof)?$/;const G=new Set([\"_\",\"any\",\"bool\",\"boolean\",\"empty\",\"extends\",\"false\",\"interface\",\"mixed\",\"null\",\"number\",\"static\",\"string\",\"true\",\"typeof\",\"void\"]),K=Object.freeze({AmbiguousConditionalArrow:\"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.\",AmbiguousDeclareModuleKind:\"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module\",AssignReservedType:\"Cannot overwrite reserved type %0\",DeclareClassElement:\"The `declare` modifier can only appear on class fields.\",DeclareClassFieldInitializer:\"Initializers are not allowed in fields with the `declare` modifier.\",DuplicateDeclareModuleExports:\"Duplicate `declare module.exports` statement\",EnumBooleanMemberNotInitialized:\"Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.\",EnumDuplicateMemberName:\"Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.\",EnumInconsistentMemberValues:\"Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.\",EnumInvalidExplicitType:\"Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.\",EnumInvalidExplicitTypeUnknownSupplied:\"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.\",EnumInvalidMemberInitializerPrimaryType:\"Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.\",EnumInvalidMemberInitializerSymbolType:\"Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.\",EnumInvalidMemberInitializerUnknownType:\"The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.\",EnumInvalidMemberName:\"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%0`, consider using `%1`, in enum `%2`.\",EnumNumberMemberNotInitialized:\"Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.\",EnumStringMemberInconsistentlyInitailized:\"String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.\",ImportTypeShorthandOnlyInPureImport:\"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements\",InexactInsideExact:\"Explicit inexact syntax cannot appear inside an explicit exact object type\",InexactInsideNonObject:\"Explicit inexact syntax cannot appear in class or interface definitions\",InexactVariance:\"Explicit inexact syntax cannot have variance\",InvalidNonTypeImportInDeclareModule:\"Imports within a `declare module` body must always be `import type` or `import typeof`\",MissingTypeParamDefault:\"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.\",NestedDeclareModule:\"`declare module` cannot be used inside another `declare module`\",NestedFlowComment:\"Cannot have a flow comment inside another flow comment\",OptionalBindingPattern:\"A binding pattern parameter cannot be optional in an implementation signature.\",SpreadVariance:\"Spread properties cannot have variance\",TypeBeforeInitializer:\"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`\",TypeCastInPattern:\"The type cast expression is expected to be wrapped with parenthesis\",UnexpectedExplicitInexactInObject:\"Explicit inexact syntax must appear at the end of an inexact object\",UnexpectedReservedType:\"Unexpected reserved type %0\",UnexpectedReservedUnderscore:\"`_` is only allowed as a type argument to call or new\",UnexpectedSpaceBetweenModuloChecks:\"Spaces between `%` and `checks` are not allowed here.\",UnexpectedSpreadType:\"Spread operator cannot appear in class or interface definitions\",UnexpectedSubtractionOperand:'Unexpected token, expected \"number\" or \"bigint\"',UnexpectedTokenAfterTypeParameter:\"Expected an arrow function after this type parameter declaration\",UnexpectedTypeParameterBeforeAsyncArrowFunction:\"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`\",UnsupportedDeclareExportKind:\"`declare export %0` is not supported. Use `%1` instead\",UnsupportedStatementInDeclareModule:\"Only declares and type imports are allowed inside declare module\",UnterminatedFlowComment:\"Unterminated flow-comment\"});function J(t){return\"type\"===t.importKind||\"typeof\"===t.importKind}function $(t){return(t.type===c.name||!!t.type.keyword)&&\"from\"!==t.value}const Y={const:\"declare export var\",let:\"declare export var\",type:\"export type\",interface:\"export interface\"};const Q=/\\*?\\s*@((?:no)?flow)\\b/;const Z={quot:'\"',amp:\"&\",apos:\"'\",lt:\"<\",gt:\">\",nbsp:\"\\xa0\",iexcl:\"\\xa1\",cent:\"\\xa2\",pound:\"\\xa3\",curren:\"\\xa4\",yen:\"\\xa5\",brvbar:\"\\xa6\",sect:\"\\xa7\",uml:\"\\xa8\",copy:\"\\xa9\",ordf:\"\\xaa\",laquo:\"\\xab\",not:\"\\xac\",shy:\"\\xad\",reg:\"\\xae\",macr:\"\\xaf\",deg:\"\\xb0\",plusmn:\"\\xb1\",sup2:\"\\xb2\",sup3:\"\\xb3\",acute:\"\\xb4\",micro:\"\\xb5\",para:\"\\xb6\",middot:\"\\xb7\",cedil:\"\\xb8\",sup1:\"\\xb9\",ordm:\"\\xba\",raquo:\"\\xbb\",frac14:\"\\xbc\",frac12:\"\\xbd\",frac34:\"\\xbe\",iquest:\"\\xbf\",Agrave:\"\\xc0\",Aacute:\"\\xc1\",Acirc:\"\\xc2\",Atilde:\"\\xc3\",Auml:\"\\xc4\",Aring:\"\\xc5\",AElig:\"\\xc6\",Ccedil:\"\\xc7\",Egrave:\"\\xc8\",Eacute:\"\\xc9\",Ecirc:\"\\xca\",Euml:\"\\xcb\",Igrave:\"\\xcc\",Iacute:\"\\xcd\",Icirc:\"\\xce\",Iuml:\"\\xcf\",ETH:\"\\xd0\",Ntilde:\"\\xd1\",Ograve:\"\\xd2\",Oacute:\"\\xd3\",Ocirc:\"\\xd4\",Otilde:\"\\xd5\",Ouml:\"\\xd6\",times:\"\\xd7\",Oslash:\"\\xd8\",Ugrave:\"\\xd9\",Uacute:\"\\xda\",Ucirc:\"\\xdb\",Uuml:\"\\xdc\",Yacute:\"\\xdd\",THORN:\"\\xde\",szlig:\"\\xdf\",agrave:\"\\xe0\",aacute:\"\\xe1\",acirc:\"\\xe2\",atilde:\"\\xe3\",auml:\"\\xe4\",aring:\"\\xe5\",aelig:\"\\xe6\",ccedil:\"\\xe7\",egrave:\"\\xe8\",eacute:\"\\xe9\",ecirc:\"\\xea\",euml:\"\\xeb\",igrave:\"\\xec\",iacute:\"\\xed\",icirc:\"\\xee\",iuml:\"\\xef\",eth:\"\\xf0\",ntilde:\"\\xf1\",ograve:\"\\xf2\",oacute:\"\\xf3\",ocirc:\"\\xf4\",otilde:\"\\xf5\",ouml:\"\\xf6\",divide:\"\\xf7\",oslash:\"\\xf8\",ugrave:\"\\xf9\",uacute:\"\\xfa\",ucirc:\"\\xfb\",uuml:\"\\xfc\",yacute:\"\\xfd\",thorn:\"\\xfe\",yuml:\"\\xff\",OElig:\"\\u0152\",oelig:\"\\u0153\",Scaron:\"\\u0160\",scaron:\"\\u0161\",Yuml:\"\\u0178\",fnof:\"\\u0192\",circ:\"\\u02c6\",tilde:\"\\u02dc\",Alpha:\"\\u0391\",Beta:\"\\u0392\",Gamma:\"\\u0393\",Delta:\"\\u0394\",Epsilon:\"\\u0395\",Zeta:\"\\u0396\",Eta:\"\\u0397\",Theta:\"\\u0398\",Iota:\"\\u0399\",Kappa:\"\\u039a\",Lambda:\"\\u039b\",Mu:\"\\u039c\",Nu:\"\\u039d\",Xi:\"\\u039e\",Omicron:\"\\u039f\",Pi:\"\\u03a0\",Rho:\"\\u03a1\",Sigma:\"\\u03a3\",Tau:\"\\u03a4\",Upsilon:\"\\u03a5\",Phi:\"\\u03a6\",Chi:\"\\u03a7\",Psi:\"\\u03a8\",Omega:\"\\u03a9\",alpha:\"\\u03b1\",beta:\"\\u03b2\",gamma:\"\\u03b3\",delta:\"\\u03b4\",epsilon:\"\\u03b5\",zeta:\"\\u03b6\",eta:\"\\u03b7\",theta:\"\\u03b8\",iota:\"\\u03b9\",kappa:\"\\u03ba\",lambda:\"\\u03bb\",mu:\"\\u03bc\",nu:\"\\u03bd\",xi:\"\\u03be\",omicron:\"\\u03bf\",pi:\"\\u03c0\",rho:\"\\u03c1\",sigmaf:\"\\u03c2\",sigma:\"\\u03c3\",tau:\"\\u03c4\",upsilon:\"\\u03c5\",phi:\"\\u03c6\",chi:\"\\u03c7\",psi:\"\\u03c8\",omega:\"\\u03c9\",thetasym:\"\\u03d1\",upsih:\"\\u03d2\",piv:\"\\u03d6\",ensp:\"\\u2002\",emsp:\"\\u2003\",thinsp:\"\\u2009\",zwnj:\"\\u200c\",zwj:\"\\u200d\",lrm:\"\\u200e\",rlm:\"\\u200f\",ndash:\"\\u2013\",mdash:\"\\u2014\",lsquo:\"\\u2018\",rsquo:\"\\u2019\",sbquo:\"\\u201a\",ldquo:\"\\u201c\",rdquo:\"\\u201d\",bdquo:\"\\u201e\",dagger:\"\\u2020\",Dagger:\"\\u2021\",bull:\"\\u2022\",hellip:\"\\u2026\",permil:\"\\u2030\",prime:\"\\u2032\",Prime:\"\\u2033\",lsaquo:\"\\u2039\",rsaquo:\"\\u203a\",oline:\"\\u203e\",frasl:\"\\u2044\",euro:\"\\u20ac\",image:\"\\u2111\",weierp:\"\\u2118\",real:\"\\u211c\",trade:\"\\u2122\",alefsym:\"\\u2135\",larr:\"\\u2190\",uarr:\"\\u2191\",rarr:\"\\u2192\",darr:\"\\u2193\",harr:\"\\u2194\",crarr:\"\\u21b5\",lArr:\"\\u21d0\",uArr:\"\\u21d1\",rArr:\"\\u21d2\",dArr:\"\\u21d3\",hArr:\"\\u21d4\",forall:\"\\u2200\",part:\"\\u2202\",exist:\"\\u2203\",empty:\"\\u2205\",nabla:\"\\u2207\",isin:\"\\u2208\",notin:\"\\u2209\",ni:\"\\u220b\",prod:\"\\u220f\",sum:\"\\u2211\",minus:\"\\u2212\",lowast:\"\\u2217\",radic:\"\\u221a\",prop:\"\\u221d\",infin:\"\\u221e\",ang:\"\\u2220\",and:\"\\u2227\",or:\"\\u2228\",cap:\"\\u2229\",cup:\"\\u222a\",int:\"\\u222b\",there4:\"\\u2234\",sim:\"\\u223c\",cong:\"\\u2245\",asymp:\"\\u2248\",ne:\"\\u2260\",equiv:\"\\u2261\",le:\"\\u2264\",ge:\"\\u2265\",sub:\"\\u2282\",sup:\"\\u2283\",nsub:\"\\u2284\",sube:\"\\u2286\",supe:\"\\u2287\",oplus:\"\\u2295\",otimes:\"\\u2297\",perp:\"\\u22a5\",sdot:\"\\u22c5\",lceil:\"\\u2308\",rceil:\"\\u2309\",lfloor:\"\\u230a\",rfloor:\"\\u230b\",lang:\"\\u2329\",rang:\"\\u232a\",loz:\"\\u25ca\",spades:\"\\u2660\",clubs:\"\\u2663\",hearts:\"\\u2665\",diams:\"\\u2666\"},tt=/^[\\da-fA-F]+$/,et=/^\\d+$/,st=Object.freeze({AttributeIsEmpty:\"JSX attributes must only be assigned a non-empty expression\",MissingClosingTagFragment:\"Expected corresponding JSX closing tag for <>\",MissingClosingTagElement:\"Expected corresponding JSX closing tag for <%0>\",UnsupportedJsxValue:\"JSX value should be either an expression or a quoted JSX text\",UnterminatedJsxContent:\"Unterminated JSX contents\",UnwrappedAdjacentJSXElements:\"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?\"});function rt(t){return!!t&&(\"JSXOpeningFragment\"===t.type||\"JSXClosingFragment\"===t.type)}function it(t){if(\"JSXIdentifier\"===t.type)return t.name;if(\"JSXNamespacedName\"===t.type)return t.namespace.name+\":\"+t.name.name;if(\"JSXMemberExpression\"===t.type)return it(t.object)+\".\"+it(t.property);throw new Error(\"Node had unexpected type: \"+t.type)}T.j_oTag=new P(\"...\",!0,!0),c.jsxName=new a(\"jsxName\"),c.jsxText=new a(\"jsxText\",{beforeExpr:!0}),c.jsxTagStart=new a(\"jsxTagStart\",{startsExpr:!0}),c.jsxTagEnd=new a(\"jsxTagEnd\"),c.jsxTagStart.updateContext=function(){this.state.context.push(T.j_expr),this.state.context.push(T.j_oTag),this.state.exprAllowed=!1},c.jsxTagEnd.updateContext=function(t){const e=this.state.context.pop();e===T.j_oTag&&t===c.slash||e===T.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===T.j_expr):this.state.exprAllowed=!0};class nt{constructor(t){this.flags=void 0,this.var=[],this.lexical=[],this.functions=[],this.flags=t}}class at{constructor(t,e){this.scopeStack=[],this.undefinedExports=new Map,this.undefinedPrivateNames=new Map,this.raise=t,this.inModule=e}get inFunction(){return(2&this.currentVarScope().flags)>0}get allowSuper(){return(16&this.currentThisScope().flags)>0}get allowDirectSuper(){return(32&this.currentThisScope().flags)>0}get inClass(){return(64&this.currentThisScope().flags)>0}get inNonArrowFunction(){return(2&this.currentThisScope().flags)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(t){return new nt(t)}enter(t){this.scopeStack.push(this.createScope(t))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(t){return!!(2&t.flags||!this.inModule&&1&t.flags)}declareName(t,e,s){let r=this.currentScope();if(8&e||16&e)this.checkRedeclarationInScope(r,t,e,s),16&e?r.functions.push(t):r.lexical.push(t),8&e&&this.maybeExportDefined(r,t);else if(4&e)for(let i=this.scopeStack.length-1;i>=0&&(r=this.scopeStack[i],this.checkRedeclarationInScope(r,t,e,s),r.var.push(t),this.maybeExportDefined(r,t),!(131&r.flags));--i);this.inModule&&1&r.flags&&this.undefinedExports.delete(t)}maybeExportDefined(t,e){this.inModule&&1&t.flags&&this.undefinedExports.delete(e)}checkRedeclarationInScope(t,e,s,r){this.isRedeclaredInScope(t,e,s)&&this.raise(r,g.VarRedeclaration,e)}isRedeclaredInScope(t,e,s){return!!(1&s)&&(8&s?t.lexical.indexOf(e)>-1||t.functions.indexOf(e)>-1||t.var.indexOf(e)>-1:16&s?t.lexical.indexOf(e)>-1||!this.treatFunctionsAsVarInScope(t)&&t.var.indexOf(e)>-1:t.lexical.indexOf(e)>-1&&!(8&t.flags&&t.lexical[0]===e)||!this.treatFunctionsAsVarInScope(t)&&t.functions.indexOf(e)>-1)}checkLocalExport(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&-1===this.scopeStack[0].functions.indexOf(t.name)&&this.undefinedExports.set(t.name,t.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScope(){for(let t=this.scopeStack.length-1;;t--){const e=this.scopeStack[t];if(131&e.flags)return e}}currentThisScope(){for(let t=this.scopeStack.length-1;;t--){const e=this.scopeStack[t];if((131&e.flags||64&e.flags)&&!(4&e.flags))return e}}}class ot extends nt{constructor(...t){super(...t),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class ut extends at{createScope(t){return new ot(t)}declareName(t,e,s){const r=this.currentScope();if(e&d)return this.maybeExportDefined(r,t),void r.exportOnlyBindings.push(t);super.declareName(...arguments),2&e&&(1&e||(this.checkRedeclarationInScope(r,t,e,s),this.maybeExportDefined(r,t)),r.types.push(t)),256&e&&r.enums.push(t),512&e&&r.constEnums.push(t),e&l&&r.classes.push(t)}isRedeclaredInScope(t,e,s){if(t.enums.indexOf(e)>-1){if(256&s){return!!(512&s)!==t.constEnums.indexOf(e)>-1}return!0}return s&l&&t.classes.indexOf(e)>-1?t.lexical.indexOf(e)>-1&&!!(1&s):!!(2&s&&t.types.indexOf(e)>-1)||super.isRedeclaredInScope(...arguments)}checkLocalExport(t){-1===this.scopeStack[0].types.indexOf(t.name)&&-1===this.scopeStack[0].exportOnlyBindings.indexOf(t.name)&&super.checkLocalExport(t)}}class ht{constructor(){this.stacks=[]}enter(t){this.stacks.push(t)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}get hasIn(){return(8&this.currentFlags())>0}}function ct(t,e){return(t?2:0)|(e?1:0)}function pt(t){if(null==t)throw new Error(\"Unexpected \".concat(t,\" value.\"));return t}function lt(t){if(!t)throw new Error(\"Assert fail\")}const dt=Object.freeze({ClassMethodHasDeclare:\"Class methods cannot have the 'declare' modifier\",ClassMethodHasReadonly:\"Class methods cannot have the 'readonly' modifier\",ConstructorHasTypeParameters:\"Type parameters cannot appear on a constructor declaration.\",DeclareClassFieldHasInitializer:\"Initializers are not allowed in ambient contexts.\",DeclareFunctionHasImplementation:\"An implementation cannot be declared in ambient contexts.\",DuplicateModifier:\"Duplicate modifier: '%0'\",EmptyHeritageClauseType:\"'%0' list cannot be empty.\",EmptyTypeArguments:\"Type argument list cannot be empty.\",EmptyTypeParameters:\"Type parameter list cannot be empty.\",IndexSignatureHasAbstract:\"Index signatures cannot have the 'abstract' modifier\",IndexSignatureHasAccessibility:\"Index signatures cannot have an accessibility modifier ('%0')\",IndexSignatureHasStatic:\"Index signatures cannot have the 'static' modifier\",IndexSignatureHasDeclare:\"Index signatures cannot have the 'declare' modifier\",InvalidTupleMemberLabel:\"Tuple members must be labeled with a simple identifier.\",MixedLabeledAndUnlabeledElements:\"Tuple members must all have names or all not have names.\",OptionalTypeBeforeRequired:\"A required element cannot follow an optional element.\",PatternIsOptional:\"A binding pattern parameter cannot be optional in an implementation signature.\",PrivateElementHasAbstract:\"Private elements cannot have the 'abstract' modifier.\",PrivateElementHasAccessibility:\"Private elements cannot have an accessibility modifier ('%0')\",TypeAnnotationAfterAssign:\"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`\",UnexpectedParameterModifier:\"A parameter property is only allowed in a constructor implementation.\",UnexpectedReadonly:\"'readonly' type modifier is only permitted on array and tuple literal types.\",UnexpectedTypeAnnotation:\"Did not expect a type annotation here.\",UnexpectedTypeCastInParameter:\"Unexpected type cast in parameter position.\",UnsupportedImportTypeArgument:\"Argument in a type import must be a string literal\",UnsupportedParameterPropertyKind:\"A parameter property may not be declared using a binding pattern.\",UnsupportedSignatureParameterKind:\"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0\"});c.placeholder=new a(\"%%\",{startsExpr:!0});function Dt(t,e){return t.some((t=>Array.isArray(t)?t[0]===e:t===e))}function mt(t,e,s){const r=t.find((t=>Array.isArray(t)?t[0]===e:t===e));return r&&Array.isArray(r)?r[1][s]:null}const ft=[\"minimal\",\"smart\",\"fsharp\"],yt=[\"hash\",\"bar\"];const Et={estree:t=>class extends t{estreeParseRegExpLiteral({pattern:t,flags:e}){let s=null;try{s=new RegExp(t,e)}catch(t){}const r=this.estreeParseLiteral(s);return r.regex={pattern:t,flags:e},r}estreeParseBigIntLiteral(t){const e=\"undefined\"!=typeof BigInt?BigInt(t):null,s=this.estreeParseLiteral(e);return s.bigint=String(s.value||t),s}estreeParseDecimalLiteral(t){const e=this.estreeParseLiteral(null);return e.decimal=String(e.value||t),e}estreeParseLiteral(t){return this.parseLiteral(t,\"Literal\")}directiveToStmt(t){const e=t.value,s=this.startNodeAt(t.start,t.loc.start),r=this.startNodeAt(e.start,e.loc.start);return r.value=e.value,r.raw=e.extra.raw,s.expression=this.finishNodeAt(r,\"Literal\",e.end,e.loc.end),s.directive=e.extra.raw.slice(1,-1),this.finishNodeAt(s,\"ExpressionStatement\",t.end,t.loc.end)}initFunction(t,e){super.initFunction(t,e),t.expression=!1}checkDeclaration(t){b(t)?this.checkDeclaration(t.value):super.checkDeclaration(t)}getObjectOrClassMethodParams(t){return t.value.params}checkLVal(t,e=64,s,r,i){switch(t.type){case\"ObjectPattern\":t.properties.forEach((t=>{this.checkLVal(\"Property\"===t.type?t.value:t,e,s,\"object destructuring pattern\",i)}));break;default:super.checkLVal(t,e,s,r,i)}}checkProto(t,e,s,r){t.method||super.checkProto(t,e,s,r)}isValidDirective(t){var e;return\"ExpressionStatement\"===t.type&&\"Literal\"===t.expression.type&&\"string\"==typeof t.expression.value&&!(null==(e=t.expression.extra)?void 0:e.parenthesized)}stmtToDirective(t){const e=super.stmtToDirective(t),s=t.expression.value;return e.value.value=s,e}parseBlockBody(t,e,s,r){super.parseBlockBody(t,e,s,r);const i=t.directives.map((t=>this.directiveToStmt(t)));t.body=i.concat(t.body),delete t.directives}pushClassMethod(t,e,s,r,i,n){this.parseMethod(e,s,r,i,n,\"ClassMethod\",!0),e.typeParameters&&(e.value.typeParameters=e.typeParameters,delete e.typeParameters),t.body.push(e)}parseExprAtom(t){switch(this.state.type){case c.num:case c.string:return this.estreeParseLiteral(this.state.value);case c.regexp:return this.estreeParseRegExpLiteral(this.state.value);case c.bigint:return this.estreeParseBigIntLiteral(this.state.value);case c.decimal:return this.estreeParseDecimalLiteral(this.state.value);case c._null:return this.estreeParseLiteral(null);case c._true:return this.estreeParseLiteral(!0);case c._false:return this.estreeParseLiteral(!1);default:return super.parseExprAtom(t)}}parseLiteral(t,e,s,r){const i=super.parseLiteral(t,e,s,r);return i.raw=i.extra.raw,delete i.extra,i}parseFunctionBody(t,e,s=!1){super.parseFunctionBody(t,e,s),t.expression=\"BlockStatement\"!==t.body.type}parseMethod(t,e,s,r,i,n,a=!1){let o=this.startNode();return o.kind=t.kind,o=super.parseMethod(o,e,s,r,i,n,a),o.type=\"FunctionExpression\",delete o.kind,t.value=o,n=\"ClassMethod\"===n?\"MethodDefinition\":n,this.finishNode(t,n)}parseObjectMethod(t,e,s,r,i){const n=super.parseObjectMethod(t,e,s,r,i);return n&&(n.type=\"Property\",\"method\"===n.kind&&(n.kind=\"init\"),n.shorthand=!1),n}parseObjectProperty(t,e,s,r,i){const n=super.parseObjectProperty(t,e,s,r,i);return n&&(n.kind=\"init\",n.type=\"Property\"),n}toAssignable(t){return b(t)?(this.toAssignable(t.value),t):super.toAssignable(t)}toAssignableObjectExpressionProp(t,e){if(\"get\"===t.kind||\"set\"===t.kind)throw this.raise(t.key.start,g.PatternHasAccessor);if(t.method)throw this.raise(t.key.start,g.PatternHasMethod);super.toAssignableObjectExpressionProp(t,e)}finishCallExpression(t,e){return super.finishCallExpression(t,e),\"Import\"===t.callee.type&&(t.type=\"ImportExpression\",t.source=t.arguments[0],delete t.arguments,delete t.callee),t}toReferencedArguments(t){\"ImportExpression\"!==t.type&&super.toReferencedArguments(t)}parseExport(t){switch(super.parseExport(t),t.type){case\"ExportAllDeclaration\":t.exported=null;break;case\"ExportNamedDeclaration\":1===t.specifiers.length&&\"ExportNamespaceSpecifier\"===t.specifiers[0].type&&(t.type=\"ExportAllDeclaration\",t.exported=t.specifiers[0].exported,delete t.specifiers)}return t}parseSubscript(t,e,s,r,i){const n=super.parseSubscript(t,e,s,r,i);if(i.optionalChainMember){if(\"OptionalMemberExpression\"!==n.type&&\"OptionalCallExpression\"!==n.type||(n.type=n.type.substring(8)),i.stop){const t=this.startNodeAtNode(n);return t.expression=n,this.finishNode(t,\"ChainExpression\")}}else\"MemberExpression\"!==n.type&&\"CallExpression\"!==n.type||(n.optional=!1);return n}},jsx:t=>class extends t{jsxReadToken(){let t=\"\",e=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,st.UnterminatedJsxContent);const s=this.input.charCodeAt(this.state.pos);switch(s){case 60:case 123:return this.state.pos===this.state.start?60===s&&this.state.exprAllowed?(++this.state.pos,this.finishToken(c.jsxTagStart)):super.getTokenFromCode(s):(t+=this.input.slice(e,this.state.pos),this.finishToken(c.jsxText,t));case 38:t+=this.input.slice(e,this.state.pos),t+=this.jsxReadEntity(),e=this.state.pos;break;default:y(s)?(t+=this.input.slice(e,this.state.pos),t+=this.jsxReadNewLine(!0),e=this.state.pos):++this.state.pos}}}jsxReadNewLine(t){const e=this.input.charCodeAt(this.state.pos);let s;return++this.state.pos,13===e&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,s=t?\"\\n\":\"\\r\\n\"):s=String.fromCharCode(e),++this.state.curLine,this.state.lineStart=this.state.pos,s}jsxReadString(t){let e=\"\",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,g.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===t)break;38===r?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadEntity(),s=this.state.pos):y(r)?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadNewLine(!1),s=this.state.pos):++this.state.pos}return e+=this.input.slice(s,this.state.pos++),this.finishToken(c.string,e)}jsxReadEntity(){let t,e=\"\",s=0,r=this.input[this.state.pos];const i=++this.state.pos;for(;this.state.posclass extends t{constructor(t,e){super(t,e),this.flowPragma=void 0,this.flowPragma=void 0}shouldParseTypes(){return this.getPluginOption(\"flow\",\"all\")||\"flow\"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption(\"flow\",\"enums\")}finishToken(t,e){return t!==c.string&&t!==c.semi&&t!==c.interpreterDirective&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(t,e)}addComment(t){if(void 0===this.flowPragma){const e=Q.exec(t.value);if(e)if(\"flow\"===e[1])this.flowPragma=\"flow\";else{if(\"noflow\"!==e[1])throw new Error(\"Unexpected flow pragma\");this.flowPragma=\"noflow\"}else;}return super.addComment(t)}flowParseTypeInitialiser(t){const e=this.state.inType;this.state.inType=!0,this.expect(t||c.colon);const s=this.flowParseType();return this.state.inType=e,s}flowParsePredicate(){const t=this.startNode(),e=this.state.startLoc,s=this.state.start;this.expect(c.modulo);const r=this.state.startLoc;return this.expectContextual(\"checks\"),e.line===r.line&&e.column===r.column-1||this.raise(s,K.UnexpectedSpaceBetweenModuloChecks),this.eat(c.parenL)?(t.value=this.parseExpression(),this.expect(c.parenR),this.finishNode(t,\"DeclaredPredicate\")):this.finishNode(t,\"InferredPredicate\")}flowParseTypeAndPredicateInitialiser(){const t=this.state.inType;this.state.inType=!0,this.expect(c.colon);let e=null,s=null;return this.match(c.modulo)?(this.state.inType=t,s=this.flowParsePredicate()):(e=this.flowParseType(),this.state.inType=t,this.match(c.modulo)&&(s=this.flowParsePredicate())),[e,s]}flowParseDeclareClass(t){return this.next(),this.flowParseInterfaceish(t,!0),this.finishNode(t,\"DeclareClass\")}flowParseDeclareFunction(t){this.next();const e=t.id=this.parseIdentifier(),s=this.startNode(),r=this.startNode();this.isRelational(\"<\")?s.typeParameters=this.flowParseTypeParameterDeclaration():s.typeParameters=null,this.expect(c.parenL);const i=this.flowParseFunctionTypeParams();return s.params=i.params,s.rest=i.rest,this.expect(c.parenR),[s.returnType,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),r.typeAnnotation=this.finishNode(s,\"FunctionTypeAnnotation\"),e.typeAnnotation=this.finishNode(r,\"TypeAnnotation\"),this.resetEndLocation(e),this.semicolon(),this.finishNode(t,\"DeclareFunction\")}flowParseDeclare(t,e){if(this.match(c._class))return this.flowParseDeclareClass(t);if(this.match(c._function))return this.flowParseDeclareFunction(t);if(this.match(c._var))return this.flowParseDeclareVariable(t);if(this.eatContextual(\"module\"))return this.match(c.dot)?this.flowParseDeclareModuleExports(t):(e&&this.raise(this.state.lastTokStart,K.NestedDeclareModule),this.flowParseDeclareModule(t));if(this.isContextual(\"type\"))return this.flowParseDeclareTypeAlias(t);if(this.isContextual(\"opaque\"))return this.flowParseDeclareOpaqueType(t);if(this.isContextual(\"interface\"))return this.flowParseDeclareInterface(t);if(this.match(c._export))return this.flowParseDeclareExportDeclaration(t,e);throw this.unexpected()}flowParseDeclareVariable(t){return this.next(),t.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(t.id.name,5,t.id.start),this.semicolon(),this.finishNode(t,\"DeclareVariable\")}flowParseDeclareModule(t){this.scope.enter(0),this.match(c.string)?t.id=this.parseExprAtom():t.id=this.parseIdentifier();const e=t.body=this.startNode(),s=e.body=[];for(this.expect(c.braceL);!this.match(c.braceR);){let t=this.startNode();this.match(c._import)?(this.next(),this.isContextual(\"type\")||this.match(c._typeof)||this.raise(this.state.lastTokStart,K.InvalidNonTypeImportInDeclareModule),this.parseImport(t)):(this.expectContextual(\"declare\",K.UnsupportedStatementInDeclareModule),t=this.flowParseDeclare(t,!0)),s.push(t)}this.scope.exit(),this.expect(c.braceR),this.finishNode(e,\"BlockStatement\");let r=null,i=!1;return s.forEach((t=>{!function(t){return\"DeclareExportAllDeclaration\"===t.type||\"DeclareExportDeclaration\"===t.type&&(!t.declaration||\"TypeAlias\"!==t.declaration.type&&\"InterfaceDeclaration\"!==t.declaration.type)}(t)?\"DeclareModuleExports\"===t.type&&(i&&this.raise(t.start,K.DuplicateDeclareModuleExports),\"ES\"===r&&this.raise(t.start,K.AmbiguousDeclareModuleKind),r=\"CommonJS\",i=!0):(\"CommonJS\"===r&&this.raise(t.start,K.AmbiguousDeclareModuleKind),r=\"ES\")})),t.kind=r||\"CommonJS\",this.finishNode(t,\"DeclareModule\")}flowParseDeclareExportDeclaration(t,e){if(this.expect(c._export),this.eat(c._default))return this.match(c._function)||this.match(c._class)?t.declaration=this.flowParseDeclare(this.startNode()):(t.declaration=this.flowParseType(),this.semicolon()),t.default=!0,this.finishNode(t,\"DeclareExportDeclaration\");if(this.match(c._const)||this.isLet()||(this.isContextual(\"type\")||this.isContextual(\"interface\"))&&!e){const t=this.state.value,e=Y[t];throw this.raise(this.state.start,K.UnsupportedDeclareExportKind,t,e)}if(this.match(c._var)||this.match(c._function)||this.match(c._class)||this.isContextual(\"opaque\"))return t.declaration=this.flowParseDeclare(this.startNode()),t.default=!1,this.finishNode(t,\"DeclareExportDeclaration\");if(this.match(c.star)||this.match(c.braceL)||this.isContextual(\"interface\")||this.isContextual(\"type\")||this.isContextual(\"opaque\"))return\"ExportNamedDeclaration\"===(t=this.parseExport(t)).type&&(t.type=\"ExportDeclaration\",t.default=!1,delete t.exportKind),t.type=\"Declare\"+t.type,t;throw this.unexpected()}flowParseDeclareModuleExports(t){return this.next(),this.expectContextual(\"exports\"),t.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(t,\"DeclareModuleExports\")}flowParseDeclareTypeAlias(t){return this.next(),this.flowParseTypeAlias(t),t.type=\"DeclareTypeAlias\",t}flowParseDeclareOpaqueType(t){return this.next(),this.flowParseOpaqueType(t,!0),t.type=\"DeclareOpaqueType\",t}flowParseDeclareInterface(t){return this.next(),this.flowParseInterfaceish(t),this.finishNode(t,\"DeclareInterface\")}flowParseInterfaceish(t,e=!1){if(t.id=this.flowParseRestrictedIdentifier(!e,!0),this.scope.declareName(t.id.name,e?17:9,t.id.start),this.isRelational(\"<\")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.extends=[],t.implements=[],t.mixins=[],this.eat(c._extends))do{t.extends.push(this.flowParseInterfaceExtends())}while(!e&&this.eat(c.comma));if(this.isContextual(\"mixins\")){this.next();do{t.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(c.comma))}if(this.isContextual(\"implements\")){this.next();do{t.implements.push(this.flowParseInterfaceExtends())}while(this.eat(c.comma))}t.body=this.flowParseObjectType({allowStatic:e,allowExact:!1,allowSpread:!1,allowProto:e,allowInexact:!1})}flowParseInterfaceExtends(){const t=this.startNode();return t.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational(\"<\")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,this.finishNode(t,\"InterfaceExtends\")}flowParseInterface(t){return this.flowParseInterfaceish(t),this.finishNode(t,\"InterfaceDeclaration\")}checkNotUnderscore(t){\"_\"===t&&this.raise(this.state.start,K.UnexpectedReservedUnderscore)}checkReservedType(t,e,s){G.has(t)&&this.raise(e,s?K.AssignReservedType:K.UnexpectedReservedType,t)}flowParseRestrictedIdentifier(t,e){return this.checkReservedType(this.state.value,this.state.start,e),this.parseIdentifier(t)}flowParseTypeAlias(t){return t.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(t.id.name,9,t.id.start),this.isRelational(\"<\")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.right=this.flowParseTypeInitialiser(c.eq),this.semicolon(),this.finishNode(t,\"TypeAlias\")}flowParseOpaqueType(t,e){return this.expectContextual(\"type\"),t.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(t.id.name,9,t.id.start),this.isRelational(\"<\")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.supertype=null,this.match(c.colon)&&(t.supertype=this.flowParseTypeInitialiser(c.colon)),t.impltype=null,e||(t.impltype=this.flowParseTypeInitialiser(c.eq)),this.semicolon(),this.finishNode(t,\"OpaqueType\")}flowParseTypeParameter(t=!1){const e=this.state.start,s=this.startNode(),r=this.flowParseVariance(),i=this.flowParseTypeAnnotatableIdentifier();return s.name=i.name,s.variance=r,s.bound=i.typeAnnotation,this.match(c.eq)?(this.eat(c.eq),s.default=this.flowParseType()):t&&this.raise(e,K.MissingTypeParamDefault),this.finishNode(s,\"TypeParameter\")}flowParseTypeParameterDeclaration(){const t=this.state.inType,e=this.startNode();e.params=[],this.state.inType=!0,this.isRelational(\"<\")||this.match(c.jsxTagStart)?this.next():this.unexpected();let s=!1;do{const t=this.flowParseTypeParameter(s);e.params.push(t),t.default&&(s=!0),this.isRelational(\">\")||this.expect(c.comma)}while(!this.isRelational(\">\"));return this.expectRelational(\">\"),this.state.inType=t,this.finishNode(e,\"TypeParameterDeclaration\")}flowParseTypeParameterInstantiation(){const t=this.startNode(),e=this.state.inType;t.params=[],this.state.inType=!0,this.expectRelational(\"<\");const s=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(\">\");)t.params.push(this.flowParseType()),this.isRelational(\">\")||this.expect(c.comma);return this.state.noAnonFunctionType=s,this.expectRelational(\">\"),this.state.inType=e,this.finishNode(t,\"TypeParameterInstantiation\")}flowParseTypeParameterInstantiationCallOrNew(){const t=this.startNode(),e=this.state.inType;for(t.params=[],this.state.inType=!0,this.expectRelational(\"<\");!this.isRelational(\">\");)t.params.push(this.flowParseTypeOrImplicitInstantiation()),this.isRelational(\">\")||this.expect(c.comma);return this.expectRelational(\">\"),this.state.inType=e,this.finishNode(t,\"TypeParameterInstantiation\")}flowParseInterfaceType(){const t=this.startNode();if(this.expectContextual(\"interface\"),t.extends=[],this.eat(c._extends))do{t.extends.push(this.flowParseInterfaceExtends())}while(this.eat(c.comma));return t.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(t,\"InterfaceTypeAnnotation\")}flowParseObjectPropertyKey(){return this.match(c.num)||this.match(c.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(t,e,s){return t.static=e,this.lookahead().type===c.colon?(t.id=this.flowParseObjectPropertyKey(),t.key=this.flowParseTypeInitialiser()):(t.id=null,t.key=this.flowParseType()),this.expect(c.bracketR),t.value=this.flowParseTypeInitialiser(),t.variance=s,this.finishNode(t,\"ObjectTypeIndexer\")}flowParseObjectTypeInternalSlot(t,e){return t.static=e,t.id=this.flowParseObjectPropertyKey(),this.expect(c.bracketR),this.expect(c.bracketR),this.isRelational(\"<\")||this.match(c.parenL)?(t.method=!0,t.optional=!1,t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start))):(t.method=!1,this.eat(c.question)&&(t.optional=!0),t.value=this.flowParseTypeInitialiser()),this.finishNode(t,\"ObjectTypeInternalSlot\")}flowParseObjectTypeMethodish(t){for(t.params=[],t.rest=null,t.typeParameters=null,this.isRelational(\"<\")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(c.parenL);!this.match(c.parenR)&&!this.match(c.ellipsis);)t.params.push(this.flowParseFunctionTypeParam()),this.match(c.parenR)||this.expect(c.comma);return this.eat(c.ellipsis)&&(t.rest=this.flowParseFunctionTypeParam()),this.expect(c.parenR),t.returnType=this.flowParseTypeInitialiser(),this.finishNode(t,\"FunctionTypeAnnotation\")}flowParseObjectTypeCallProperty(t,e){const s=this.startNode();return t.static=e,t.value=this.flowParseObjectTypeMethodish(s),this.finishNode(t,\"ObjectTypeCallProperty\")}flowParseObjectType({allowStatic:t,allowExact:e,allowSpread:s,allowProto:r,allowInexact:i}){const n=this.state.inType;this.state.inType=!0;const a=this.startNode();let o,u;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let h=!1;for(e&&this.match(c.braceBarL)?(this.expect(c.braceBarL),o=c.braceBarR,u=!0):(this.expect(c.braceL),o=c.braceR,u=!1),a.exact=u;!this.match(o);){let e=!1,n=null,o=null;const p=this.startNode();if(r&&this.isContextual(\"proto\")){const e=this.lookahead();e.type!==c.colon&&e.type!==c.question&&(this.next(),n=this.state.start,t=!1)}if(t&&this.isContextual(\"static\")){const t=this.lookahead();t.type!==c.colon&&t.type!==c.question&&(this.next(),e=!0)}const l=this.flowParseVariance();if(this.eat(c.bracketL))null!=n&&this.unexpected(n),this.eat(c.bracketL)?(l&&this.unexpected(l.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(p,e))):a.indexers.push(this.flowParseObjectTypeIndexer(p,e,l));else if(this.match(c.parenL)||this.isRelational(\"<\"))null!=n&&this.unexpected(n),l&&this.unexpected(l.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(p,e));else{let t=\"init\";if(this.isContextual(\"get\")||this.isContextual(\"set\")){const e=this.lookahead();e.type!==c.name&&e.type!==c.string&&e.type!==c.num||(t=this.state.value,this.next())}const r=this.flowParseObjectTypeProperty(p,e,n,l,t,s,null!=i?i:!u);null===r?(h=!0,o=this.state.lastTokStart):a.properties.push(r)}this.flowObjectTypeSemicolon(),!o||this.match(c.braceR)||this.match(c.braceBarR)||this.raise(o,K.UnexpectedExplicitInexactInObject)}this.expect(o),s&&(a.inexact=h);const p=this.finishNode(a,\"ObjectTypeAnnotation\");return this.state.inType=n,p}flowParseObjectTypeProperty(t,e,s,r,i,n,a){if(this.eat(c.ellipsis)){return this.match(c.comma)||this.match(c.semi)||this.match(c.braceR)||this.match(c.braceBarR)?(n?a||this.raise(this.state.lastTokStart,K.InexactInsideExact):this.raise(this.state.lastTokStart,K.InexactInsideNonObject),r&&this.raise(r.start,K.InexactVariance),null):(n||this.raise(this.state.lastTokStart,K.UnexpectedSpreadType),null!=s&&this.unexpected(s),r&&this.raise(r.start,K.SpreadVariance),t.argument=this.flowParseType(),this.finishNode(t,\"ObjectTypeSpreadProperty\"))}{t.key=this.flowParseObjectPropertyKey(),t.static=e,t.proto=null!=s,t.kind=i;let n=!1;return this.isRelational(\"<\")||this.match(c.parenL)?(t.method=!0,null!=s&&this.unexpected(s),r&&this.unexpected(r.start),t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start)),\"get\"!==i&&\"set\"!==i||this.flowCheckGetterSetterParams(t)):(\"init\"!==i&&this.unexpected(),t.method=!1,this.eat(c.question)&&(n=!0),t.value=this.flowParseTypeInitialiser(),t.variance=r),t.optional=n,this.finishNode(t,\"ObjectTypeProperty\")}}flowCheckGetterSetterParams(t){const e=\"get\"===t.kind?0:1,s=t.start;t.value.params.length+(t.value.rest?1:0)!==e&&(\"get\"===t.kind?this.raise(s,g.BadGetterArity):this.raise(s,g.BadSetterArity)),\"set\"===t.kind&&t.value.rest&&this.raise(s,g.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(c.semi)||this.eat(c.comma)||this.match(c.braceR)||this.match(c.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(t,e,s){t=t||this.state.start,e=e||this.state.startLoc;let r=s||this.flowParseRestrictedIdentifier(!0);for(;this.eat(c.dot);){const s=this.startNodeAt(t,e);s.qualification=r,s.id=this.flowParseRestrictedIdentifier(!0),r=this.finishNode(s,\"QualifiedTypeIdentifier\")}return r}flowParseGenericType(t,e,s){const r=this.startNodeAt(t,e);return r.typeParameters=null,r.id=this.flowParseQualifiedTypeIdentifier(t,e,s),this.isRelational(\"<\")&&(r.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(r,\"GenericTypeAnnotation\")}flowParseTypeofType(){const t=this.startNode();return this.expect(c._typeof),t.argument=this.flowParsePrimaryType(),this.finishNode(t,\"TypeofTypeAnnotation\")}flowParseTupleType(){const t=this.startNode();for(t.types=[],this.expect(c.bracketL);this.state.possuper.parseFunctionBody(t,!0,s))):super.parseFunctionBody(t,!1,s)}parseFunctionBodyAndFinish(t,e,s=!1){if(this.match(c.colon)){const e=this.startNode();[e.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),t.returnType=e.typeAnnotation?this.finishNode(e,\"TypeAnnotation\"):null}super.parseFunctionBodyAndFinish(t,e,s)}parseStatement(t,e){if(this.state.strict&&this.match(c.name)&&\"interface\"===this.state.value){const t=this.lookahead();if(t.type===c.name||W(t.value)){const t=this.startNode();return this.next(),this.flowParseInterface(t)}}else if(this.shouldParseEnums()&&this.isContextual(\"enum\")){const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}const s=super.parseStatement(t,e);return void 0!==this.flowPragma||this.isValidDirective(s)||(this.flowPragma=null),s}parseExpressionStatement(t,e){if(\"Identifier\"===e.type)if(\"declare\"===e.name){if(this.match(c._class)||this.match(c.name)||this.match(c._function)||this.match(c._var)||this.match(c._export))return this.flowParseDeclare(t)}else if(this.match(c.name)){if(\"interface\"===e.name)return this.flowParseInterface(t);if(\"type\"===e.name)return this.flowParseTypeAlias(t);if(\"opaque\"===e.name)return this.flowParseOpaqueType(t,!1)}return super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return this.isContextual(\"type\")||this.isContextual(\"interface\")||this.isContextual(\"opaque\")||this.shouldParseEnums()&&this.isContextual(\"enum\")||super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){return(!this.match(c.name)||!(\"type\"===this.state.value||\"interface\"===this.state.value||\"opaque\"===this.state.value||this.shouldParseEnums()&&\"enum\"===this.state.value))&&super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual(\"enum\")){const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDefaultExpression()}parseConditional(t,e,s,r){if(!this.match(c.question))return t;if(r){const i=this.tryParse((()=>super.parseConditional(t,e,s)));return i.node?(i.error&&(this.state=i.failState),i.node):(r.start=i.error.pos||this.state.start,t)}this.expect(c.question);const i=this.state.clone(),n=this.state.noArrowAt,a=this.startNodeAt(e,s);let{consequent:o,failed:u}=this.tryParseConditionalConsequent(),[h,p]=this.getArrowLikeExpressions(o);if(u||p.length>0){const t=[...n];if(p.length>0){this.state=i,this.state.noArrowAt=t;for(let e=0;e1&&this.raise(i.start,K.AmbiguousConditionalArrow),u&&1===h.length&&(this.state=i,this.state.noArrowAt=t.concat(h[0].start),({consequent:o,failed:u}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(o,!0),this.state.noArrowAt=n,this.expect(c.colon),a.test=t,a.consequent=o,a.alternate=this.forwardNoArrowParamsConversionAt(a,(()=>this.parseMaybeAssign(void 0,void 0,void 0))),this.finishNode(a,\"ConditionalExpression\")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const t=this.parseMaybeAssignAllowIn(),e=!this.match(c.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:t,failed:e}}getArrowLikeExpressions(t,e){const s=[t],r=[];for(;0!==s.length;){const t=s.pop();\"ArrowFunctionExpression\"===t.type?(t.typeParameters||!t.returnType?this.finishArrowValidation(t):r.push(t),s.push(t.body)):\"ConditionalExpression\"===t.type&&(s.push(t.consequent),s.push(t.alternate))}return e?(r.forEach((t=>this.finishArrowValidation(t))),[r,[]]):function(t,e){const s=[],r=[];for(let i=0;it.params.every((t=>this.isAssignable(t,!0)))))}finishArrowValidation(t){var e;this.toAssignableList(t.params,null==(e=t.extra)?void 0:e.trailingComma),this.scope.enter(6),super.checkParams(t,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(t,e){let s;return-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),s=e(),this.state.noArrowParamsConversionAt.pop()):s=e(),s}parseParenItem(t,e,s){if(t=super.parseParenItem(t,e,s),this.eat(c.question)&&(t.optional=!0,this.resetEndLocation(t)),this.match(c.colon)){const r=this.startNodeAt(e,s);return r.expression=t,r.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(r,\"TypeCastExpression\")}return t}assertModuleNodeAllowed(t){\"ImportDeclaration\"===t.type&&(\"type\"===t.importKind||\"typeof\"===t.importKind)||\"ExportNamedDeclaration\"===t.type&&\"type\"===t.exportKind||\"ExportAllDeclaration\"===t.type&&\"type\"===t.exportKind||super.assertModuleNodeAllowed(t)}parseExport(t){const e=super.parseExport(t);return\"ExportNamedDeclaration\"!==e.type&&\"ExportAllDeclaration\"!==e.type||(e.exportKind=e.exportKind||\"value\"),e}parseExportDeclaration(t){if(this.isContextual(\"type\")){t.exportKind=\"type\";const e=this.startNode();return this.next(),this.match(c.braceL)?(t.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(t),null):this.flowParseTypeAlias(e)}if(this.isContextual(\"opaque\")){t.exportKind=\"type\";const e=this.startNode();return this.next(),this.flowParseOpaqueType(e,!1)}if(this.isContextual(\"interface\")){t.exportKind=\"type\";const e=this.startNode();return this.next(),this.flowParseInterface(e)}if(this.shouldParseEnums()&&this.isContextual(\"enum\")){t.exportKind=\"value\";const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDeclaration(t)}eatExportStar(t){return!!super.eatExportStar(...arguments)||!(!this.isContextual(\"type\")||this.lookahead().type!==c.star)&&(t.exportKind=\"type\",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(t){const e=this.state.start,s=super.maybeParseExportNamespaceSpecifier(t);return s&&\"type\"===t.exportKind&&this.unexpected(e),s}parseClassId(t,e,s){super.parseClassId(t,e,s),this.isRelational(\"<\")&&(t.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(t,e,s){const r=this.state.start;if(this.isContextual(\"declare\")){if(this.parseClassMemberFromModifier(t,e))return;e.declare=!0}super.parseClassMember(t,e,s),e.declare&&(\"ClassProperty\"!==e.type&&\"ClassPrivateProperty\"!==e.type?this.raise(r,K.DeclareClassElement):e.value&&this.raise(e.value.start,K.DeclareClassFieldInitializer))}getTokenFromCode(t){const e=this.input.charCodeAt(this.state.pos+1);return 123===t&&124===e?this.finishOp(c.braceBarL,2):!this.state.inType||62!==t&&60!==t?this.state.inType&&63===t?this.finishOp(c.question,1):function(t,e){return 64===t&&64===e}(t,e)?(this.state.isIterator=!0,super.readWord()):super.getTokenFromCode(t):this.finishOp(c.relational,1)}isAssignable(t,e){switch(t.type){case\"Identifier\":case\"ObjectPattern\":case\"ArrayPattern\":case\"AssignmentPattern\":return!0;case\"ObjectExpression\":{const e=t.properties.length-1;return t.properties.every(((t,s)=>\"ObjectMethod\"!==t.type&&(s===e||\"SpreadElement\"===t.type)&&this.isAssignable(t)))}case\"ObjectProperty\":return this.isAssignable(t.value);case\"SpreadElement\":return this.isAssignable(t.argument);case\"ArrayExpression\":return t.elements.every((t=>this.isAssignable(t)));case\"AssignmentExpression\":return\"=\"===t.operator;case\"ParenthesizedExpression\":case\"TypeCastExpression\":return this.isAssignable(t.expression);case\"MemberExpression\":case\"OptionalMemberExpression\":return!e;default:return!1}}toAssignable(t){return\"TypeCastExpression\"===t.type?super.toAssignable(this.typeCastToParameter(t)):super.toAssignable(t)}toAssignableList(t,e){for(let e=0;e1||!e)&&this.raise(i.typeAnnotation.start,K.TypeCastInPattern)}return t}parseArrayLike(t,e,s,r){const i=super.parseArrayLike(t,e,s,r);return e&&!this.state.maybeInArrowParameters&&this.toReferencedList(i.elements),i}checkLVal(t,e=64,s,r){if(\"TypeCastExpression\"!==t.type)return super.checkLVal(t,e,s,r)}parseClassProperty(t){return this.match(c.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(t)}parseClassPrivateProperty(t){return this.match(c.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(t)}isClassMethod(){return this.isRelational(\"<\")||super.isClassMethod()}isClassProperty(){return this.match(c.colon)||super.isClassProperty()}isNonstaticConstructor(t){return!this.match(c.colon)&&super.isNonstaticConstructor(t)}pushClassMethod(t,e,s,r,i,n){e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational(\"<\")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(t,e,s,r,i,n)}pushClassPrivateMethod(t,e,s,r){e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational(\"<\")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(t,e,s,r)}parseClassSuper(t){if(super.parseClassSuper(t),t.superClass&&this.isRelational(\"<\")&&(t.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual(\"implements\")){this.next();const e=t.implements=[];do{const t=this.startNode();t.id=this.flowParseRestrictedIdentifier(!0),this.isRelational(\"<\")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,e.push(this.finishNode(t,\"ClassImplements\"))}while(this.eat(c.comma))}}parsePropertyName(t,e){const s=this.flowParseVariance(),r=super.parsePropertyName(t,e);return t.variance=s,r}parseObjPropValue(t,e,s,r,i,n,a,o){let u;t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational(\"<\")&&!a&&(u=this.flowParseTypeParameterDeclaration(),this.match(c.parenL)||this.unexpected()),super.parseObjPropValue(t,e,s,r,i,n,a,o),u&&((t.value||t).typeParameters=u)}parseAssignableListItemTypes(t){return this.eat(c.question)&&(\"Identifier\"!==t.type&&this.raise(t.start,K.OptionalBindingPattern),t.optional=!0),this.match(c.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),this.resetEndLocation(t),t}parseMaybeDefault(t,e,s){const r=super.parseMaybeDefault(t,e,s);return\"AssignmentPattern\"===r.type&&r.typeAnnotation&&r.right.startsuper.parseMaybeAssign(t,e,s)),n),!i.error)return i.node;const{context:r}=this.state;r[r.length-1]===T.j_oTag?r.length-=2:r[r.length-1]===T.j_expr&&(r.length-=1)}if((null==(r=i)?void 0:r.error)||this.isRelational(\"<\")){var a,o;let r;n=n||this.state.clone();const u=this.tryParse((i=>{var n;r=this.flowParseTypeParameterDeclaration();const a=this.forwardNoArrowParamsConversionAt(r,(()=>{const i=super.parseMaybeAssign(t,e,s);return this.resetStartLocationFromNode(i,r),i}));\"ArrowFunctionExpression\"!==a.type&&(null==(n=a.extra)?void 0:n.parenthesized)&&i();const o=this.maybeUnwrapTypeCastExpression(a);return o.typeParameters=r,this.resetStartLocationFromNode(o,r),a}),n);let h=null;if(u.node&&\"ArrowFunctionExpression\"===this.maybeUnwrapTypeCastExpression(u.node).type){if(!u.error&&!u.aborted)return u.node.async&&this.raise(r.start,K.UnexpectedTypeParameterBeforeAsyncArrowFunction),u.node;h=u.node}if(null==(a=i)?void 0:a.node)return this.state=i.failState,i.node;if(h)return this.state=u.failState,h;if(null==(o=i)?void 0:o.thrown)throw i.error;if(u.thrown)throw u.error;throw this.raise(r.start,K.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(t,e,s)}parseArrow(t){if(this.match(c.colon)){const e=this.tryParse((()=>{const e=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const s=this.startNode();return[s.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=e,this.canInsertSemicolon()&&this.unexpected(),this.match(c.arrow)||this.unexpected(),s}));if(e.thrown)return null;e.error&&(this.state=e.failState),t.returnType=e.node.typeAnnotation?this.finishNode(e.node,\"TypeAnnotation\"):null}return super.parseArrow(t)}shouldParseArrow(){return this.match(c.colon)||super.shouldParseArrow()}setArrowFunctionParameters(t,e){-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?t.params=e:super.setArrowFunctionParameters(t,e)}checkParams(t,e,s){if(!s||-1===this.state.noArrowParamsConversionAt.indexOf(t.start))return super.checkParams(...arguments)}parseParenAndDistinguishExpression(t){return super.parseParenAndDistinguishExpression(t&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(t,e,s,r){if(\"Identifier\"===t.type&&\"async\"===t.name&&-1!==this.state.noArrowAt.indexOf(e)){this.next();const r=this.startNodeAt(e,s);r.callee=t,r.arguments=this.parseCallExpressionArguments(c.parenR,!1),t=this.finishNode(r,\"CallExpression\")}else if(\"Identifier\"===t.type&&\"async\"===t.name&&this.isRelational(\"<\")){const i=this.state.clone(),n=this.tryParse((t=>this.parseAsyncArrowWithTypeParameters(e,s)||t()),i);if(!n.error&&!n.aborted)return n.node;const a=this.tryParse((()=>super.parseSubscripts(t,e,s,r)),i);if(a.node&&!a.error)return a.node;if(n.node)return this.state=n.failState,n.node;if(a.node)return this.state=a.failState,a.node;throw n.error||a.error}return super.parseSubscripts(t,e,s,r)}parseSubscript(t,e,s,r,i){if(this.match(c.questionDot)&&this.isLookaheadToken_lt()){if(i.optionalChainMember=!0,r)return i.stop=!0,t;this.next();const n=this.startNodeAt(e,s);return n.callee=t,n.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(c.parenL),n.arguments=this.parseCallExpressionArguments(c.parenR,!1),n.optional=!0,this.finishCallExpression(n,!0)}if(!r&&this.shouldParseTypes()&&this.isRelational(\"<\")){const r=this.startNodeAt(e,s);r.callee=t;const n=this.tryParse((()=>(r.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(c.parenL),r.arguments=this.parseCallExpressionArguments(c.parenR,!1),i.optionalChainMember&&(r.optional=!1),this.finishCallExpression(r,i.optionalChainMember))));if(n.node)return n.error&&(this.state=n.failState),n.node}return super.parseSubscript(t,e,s,r,i)}parseNewArguments(t){let e=null;this.shouldParseTypes()&&this.isRelational(\"<\")&&(e=this.tryParse((()=>this.flowParseTypeParameterInstantiationCallOrNew())).node),t.typeArguments=e,super.parseNewArguments(t)}parseAsyncArrowWithTypeParameters(t,e){const s=this.startNodeAt(t,e);if(this.parseFunctionParams(s),this.parseArrow(s))return this.parseArrowExpression(s,void 0,!0)}readToken_mult_modulo(t){const e=this.input.charCodeAt(this.state.pos+1);if(42===t&&47===e&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(t)}readToken_pipe_amp(t){const e=this.input.charCodeAt(this.state.pos+1);124!==t||125!==e?super.readToken_pipe_amp(t):this.finishOp(c.braceBarR,2)}parseTopLevel(t,e){const s=super.parseTopLevel(t,e);return this.state.hasFlowComment&&this.raise(this.state.pos,K.UnterminatedFlowComment),s}skipBlockComment(){if(this.hasPlugin(\"flowComments\")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,K.NestedFlowComment),this.hasFlowCommentCompletion(),this.state.pos+=this.skipFlowComment(),void(this.state.hasFlowComment=!0);if(this.state.hasFlowComment){const t=this.input.indexOf(\"*-/\",this.state.pos+=2);if(-1===t)throw this.raise(this.state.pos-2,g.UnterminatedComment);this.state.pos=t+3}else super.skipBlockComment()}skipFlowComment(){const{pos:t}=this.state;let e=2;for(;[32,9].includes(this.input.charCodeAt(t+e));)e++;const s=this.input.charCodeAt(e+t),r=this.input.charCodeAt(e+t+1);return 58===s&&58===r?e+2:\"flow-include\"===this.input.slice(e+t,e+t+12)?e+12:58===s&&58!==r&&e}hasFlowCommentCompletion(){if(-1===this.input.indexOf(\"*/\",this.state.pos))throw this.raise(this.state.pos,g.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(t,{enumName:e,memberName:s}){this.raise(t,K.EnumBooleanMemberNotInitialized,s,e)}flowEnumErrorInvalidMemberName(t,{enumName:e,memberName:s}){const r=s[0].toUpperCase()+s.slice(1);this.raise(t,K.EnumInvalidMemberName,s,r,e)}flowEnumErrorDuplicateMemberName(t,{enumName:e,memberName:s}){this.raise(t,K.EnumDuplicateMemberName,s,e)}flowEnumErrorInconsistentMemberValues(t,{enumName:e}){this.raise(t,K.EnumInconsistentMemberValues,e)}flowEnumErrorInvalidExplicitType(t,{enumName:e,suppliedType:s}){return this.raise(t,null===s?K.EnumInvalidExplicitTypeUnknownSupplied:K.EnumInvalidExplicitType,e,s)}flowEnumErrorInvalidMemberInitializer(t,{enumName:e,explicitType:s,memberName:r}){let i=null;switch(s){case\"boolean\":case\"number\":case\"string\":i=K.EnumInvalidMemberInitializerPrimaryType;break;case\"symbol\":i=K.EnumInvalidMemberInitializerSymbolType;break;default:i=K.EnumInvalidMemberInitializerUnknownType}return this.raise(t,i,e,r,s)}flowEnumErrorNumberMemberNotInitialized(t,{enumName:e,memberName:s}){this.raise(t,K.EnumNumberMemberNotInitialized,e,s)}flowEnumErrorStringMemberInconsistentlyInitailized(t,{enumName:e}){this.raise(t,K.EnumStringMemberInconsistentlyInitailized,e)}flowEnumMemberInit(){const t=this.state.start,e=()=>this.match(c.comma)||this.match(c.braceR);switch(this.state.type){case c.num:{const s=this.parseLiteral(this.state.value,\"NumericLiteral\");return e()?{type:\"number\",pos:s.start,value:s}:{type:\"invalid\",pos:t}}case c.string:{const s=this.parseLiteral(this.state.value,\"StringLiteral\");return e()?{type:\"string\",pos:s.start,value:s}:{type:\"invalid\",pos:t}}case c._true:case c._false:{const s=this.parseBooleanLiteral();return e()?{type:\"boolean\",pos:s.start,value:s}:{type:\"invalid\",pos:t}}default:return{type:\"invalid\",pos:t}}}flowEnumMemberRaw(){const t=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(c.eq)?this.flowEnumMemberInit():{type:\"none\",pos:t}}}flowEnumCheckExplicitTypeMismatch(t,e,s){const{explicitType:r}=e;null!==r&&r!==s&&this.flowEnumErrorInvalidMemberInitializer(t,e)}flowEnumMembers({enumName:t,explicitType:e}){const s=new Set,r={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};for(;!this.match(c.braceR);){const i=this.startNode(),{id:n,init:a}=this.flowEnumMemberRaw(),o=n.name;if(\"\"===o)continue;/^[a-z]/.test(o)&&this.flowEnumErrorInvalidMemberName(n.start,{enumName:t,memberName:o}),s.has(o)&&this.flowEnumErrorDuplicateMemberName(n.start,{enumName:t,memberName:o}),s.add(o);const u={enumName:t,explicitType:e,memberName:o};switch(i.id=n,a.type){case\"boolean\":this.flowEnumCheckExplicitTypeMismatch(a.pos,u,\"boolean\"),i.init=a.value,r.booleanMembers.push(this.finishNode(i,\"EnumBooleanMember\"));break;case\"number\":this.flowEnumCheckExplicitTypeMismatch(a.pos,u,\"number\"),i.init=a.value,r.numberMembers.push(this.finishNode(i,\"EnumNumberMember\"));break;case\"string\":this.flowEnumCheckExplicitTypeMismatch(a.pos,u,\"string\"),i.init=a.value,r.stringMembers.push(this.finishNode(i,\"EnumStringMember\"));break;case\"invalid\":throw this.flowEnumErrorInvalidMemberInitializer(a.pos,u);case\"none\":switch(e){case\"boolean\":this.flowEnumErrorBooleanMemberNotInitialized(a.pos,u);break;case\"number\":this.flowEnumErrorNumberMemberNotInitialized(a.pos,u);break;default:r.defaultedMembers.push(this.finishNode(i,\"EnumDefaultedMember\"))}}this.match(c.braceR)||this.expect(c.comma)}return r}flowEnumStringMembers(t,e,{enumName:s}){if(0===t.length)return e;if(0===e.length)return t;if(e.length>t.length){for(let e=0;e(t.members=[],this.expect(c.braceR),this.finishNode(t,\"EnumStringBody\"));t.explicitType=!1;const n=i.booleanMembers.length,a=i.numberMembers.length,o=i.stringMembers.length,u=i.defaultedMembers.length;if(n||a||o||u){if(n||a){if(!a&&!o&&n>=u){for(let t=0,s=i.defaultedMembers;t=u){for(let t=0,s=i.defaultedMembers;tclass extends t{getScopeHandler(){return ut}tsIsIdentifier(){return this.match(c.name)}tsNextTokenCanFollowModifier(){return this.next(),!(this.hasPrecedingLineBreak()||this.match(c.parenL)||this.match(c.parenR)||this.match(c.colon)||this.match(c.eq)||this.match(c.question)||this.match(c.bang))}tsParseModifier(t){if(!this.match(c.name))return;const e=this.state.value;return-1!==t.indexOf(e)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?e:void 0}tsParseModifiers(t,e){for(;;){const s=this.state.start,r=this.tsParseModifier(e);if(!r)break;Object.hasOwnProperty.call(t,r)&&this.raise(s,dt.DuplicateModifier,r),t[r]=!0}}tsIsListTerminator(t){switch(t){case\"EnumMembers\":case\"TypeMembers\":return this.match(c.braceR);case\"HeritageClauseElement\":return this.match(c.braceL);case\"TupleElementTypes\":return this.match(c.bracketR);case\"TypeParametersOrArguments\":return this.isRelational(\">\")}throw new Error(\"Unreachable\")}tsParseList(t,e){const s=[];for(;!this.tsIsListTerminator(t);)s.push(e());return s}tsParseDelimitedList(t,e){return pt(this.tsParseDelimitedListWorker(t,e,!0))}tsParseDelimitedListWorker(t,e,s){const r=[];for(;!this.tsIsListTerminator(t);){const i=e();if(null==i)return;if(r.push(i),!this.eat(c.comma)){if(this.tsIsListTerminator(t))break;return void(s&&this.expect(c.comma))}}return r}tsParseBracketedList(t,e,s,r){r||(s?this.expect(c.bracketL):this.expectRelational(\"<\"));const i=this.tsParseDelimitedList(t,e);return s?this.expect(c.bracketR):this.expectRelational(\">\"),i}tsParseImportType(){const t=this.startNode();return this.expect(c._import),this.expect(c.parenL),this.match(c.string)||this.raise(this.state.start,dt.UnsupportedImportTypeArgument),t.argument=this.parseExprAtom(),this.expect(c.parenR),this.eat(c.dot)&&(t.qualifier=this.tsParseEntityName(!0)),this.isRelational(\"<\")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,\"TSImportType\")}tsParseEntityName(t){let e=this.parseIdentifier();for(;this.eat(c.dot);){const s=this.startNodeAtNode(e);s.left=e,s.right=this.parseIdentifier(t),e=this.finishNode(s,\"TSQualifiedName\")}return e}tsParseTypeReference(){const t=this.startNode();return t.typeName=this.tsParseEntityName(!1),!this.hasPrecedingLineBreak()&&this.isRelational(\"<\")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,\"TSTypeReference\")}tsParseThisTypePredicate(t){this.next();const e=this.startNodeAtNode(t);return e.parameterName=t,e.typeAnnotation=this.tsParseTypeAnnotation(!1),this.finishNode(e,\"TSTypePredicate\")}tsParseThisTypeNode(){const t=this.startNode();return this.next(),this.finishNode(t,\"TSThisType\")}tsParseTypeQuery(){const t=this.startNode();return this.expect(c._typeof),this.match(c._import)?t.exprName=this.tsParseImportType():t.exprName=this.tsParseEntityName(!0),this.finishNode(t,\"TSTypeQuery\")}tsParseTypeParameter(){const t=this.startNode();return t.name=this.parseIdentifierName(t.start),t.constraint=this.tsEatThenParseType(c._extends),t.default=this.tsEatThenParseType(c.eq),this.finishNode(t,\"TSTypeParameter\")}tsTryParseTypeParameters(){if(this.isRelational(\"<\"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const t=this.startNode();return this.isRelational(\"<\")||this.match(c.jsxTagStart)?this.next():this.unexpected(),t.params=this.tsParseBracketedList(\"TypeParametersOrArguments\",this.tsParseTypeParameter.bind(this),!1,!0),0===t.params.length&&this.raise(t.start,dt.EmptyTypeParameters),this.finishNode(t,\"TSTypeParameterDeclaration\")}tsTryNextParseConstantContext(){return this.lookahead().type===c._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(t,e){const s=t===c.arrow;e.typeParameters=this.tsTryParseTypeParameters(),this.expect(c.parenL),e.parameters=this.tsParseBindingListForSignature(),(s||this.match(t))&&(e.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(t))}tsParseBindingListForSignature(){return this.parseBindingList(c.parenR,41).map((t=>(\"Identifier\"!==t.type&&\"RestElement\"!==t.type&&\"ObjectPattern\"!==t.type&&\"ArrayPattern\"!==t.type&&this.raise(t.start,dt.UnsupportedSignatureParameterKind,t.type),t)))}tsParseTypeMemberSemicolon(){this.eat(c.comma)||this.semicolon()}tsParseSignatureMember(t,e){return this.tsFillSignature(c.colon,e),this.tsParseTypeMemberSemicolon(),this.finishNode(e,t)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(c.name)&&this.match(c.colon)}tsTryParseIndexSignature(t){if(!this.match(c.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(c.bracketL);const e=this.parseIdentifier();e.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(e),this.expect(c.bracketR),t.parameters=[e];const s=this.tsTryParseTypeAnnotation();return s&&(t.typeAnnotation=s),this.tsParseTypeMemberSemicolon(),this.finishNode(t,\"TSIndexSignature\")}tsParsePropertyOrMethodSignature(t,e){this.eat(c.question)&&(t.optional=!0);const s=t;if(e||!this.match(c.parenL)&&!this.isRelational(\"<\")){const t=s;e&&(t.readonly=!0);const r=this.tsTryParseTypeAnnotation();return r&&(t.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(t,\"TSPropertySignature\")}{const t=s;return this.tsFillSignature(c.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,\"TSMethodSignature\")}}tsParseTypeMember(){const t=this.startNode();if(this.match(c.parenL)||this.isRelational(\"<\"))return this.tsParseSignatureMember(\"TSCallSignatureDeclaration\",t);if(this.match(c._new)){const e=this.startNode();return this.next(),this.match(c.parenL)||this.isRelational(\"<\")?this.tsParseSignatureMember(\"TSConstructSignatureDeclaration\",t):(t.key=this.createIdentifier(e,\"new\"),this.tsParsePropertyOrMethodSignature(t,!1))}const e=!!this.tsParseModifier([\"readonly\"]),s=this.tsTryParseIndexSignature(t);return s?(e&&(t.readonly=!0),s):(this.parsePropertyName(t,!1),this.tsParsePropertyOrMethodSignature(t,e))}tsParseTypeLiteral(){const t=this.startNode();return t.members=this.tsParseObjectTypeMembers(),this.finishNode(t,\"TSTypeLiteral\")}tsParseObjectTypeMembers(){this.expect(c.braceL);const t=this.tsParseList(\"TypeMembers\",this.tsParseTypeMember.bind(this));return this.expect(c.braceR),t}tsIsStartOfMappedType(){return this.next(),this.eat(c.plusMin)?this.isContextual(\"readonly\"):(this.isContextual(\"readonly\")&&this.next(),!!this.match(c.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(c._in))))}tsParseMappedTypeParameter(){const t=this.startNode();return t.name=this.parseIdentifierName(t.start),t.constraint=this.tsExpectThenParseType(c._in),this.finishNode(t,\"TSTypeParameter\")}tsParseMappedType(){const t=this.startNode();return this.expect(c.braceL),this.match(c.plusMin)?(t.readonly=this.state.value,this.next(),this.expectContextual(\"readonly\")):this.eatContextual(\"readonly\")&&(t.readonly=!0),this.expect(c.bracketL),t.typeParameter=this.tsParseMappedTypeParameter(),t.nameType=this.eatContextual(\"as\")?this.tsParseType():null,this.expect(c.bracketR),this.match(c.plusMin)?(t.optional=this.state.value,this.next(),this.expect(c.question)):this.eat(c.question)&&(t.optional=!0),t.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(c.braceR),this.finishNode(t,\"TSMappedType\")}tsParseTupleType(){const t=this.startNode();t.elementTypes=this.tsParseBracketedList(\"TupleElementTypes\",this.tsParseTupleElementType.bind(this),!0,!1);let e=!1,s=null;return t.elementTypes.forEach((t=>{var r;let{type:i}=t;!e||\"TSRestType\"===i||\"TSOptionalType\"===i||\"TSNamedTupleMember\"===i&&t.optional||this.raise(t.start,dt.OptionalTypeBeforeRequired),e=e||\"TSNamedTupleMember\"===i&&t.optional||\"TSOptionalType\"===i,\"TSRestType\"===i&&(i=(t=t.typeAnnotation).type);const n=\"TSNamedTupleMember\"===i;s=null!=(r=s)?r:n,s!==n&&this.raise(t.start,dt.MixedLabeledAndUnlabeledElements)})),this.finishNode(t,\"TSTupleType\")}tsParseTupleElementType(){const{start:t,startLoc:e}=this.state,s=this.eat(c.ellipsis);let r=this.tsParseType();const i=this.eat(c.question);if(this.eat(c.colon)){const t=this.startNodeAtNode(r);t.optional=i,\"TSTypeReference\"!==r.type||r.typeParameters||\"Identifier\"!==r.typeName.type?(this.raise(r.start,dt.InvalidTupleMemberLabel),t.label=r):t.label=r.typeName,t.elementType=this.tsParseType(),r=this.finishNode(t,\"TSNamedTupleMember\")}else if(i){const t=this.startNodeAtNode(r);t.typeAnnotation=r,r=this.finishNode(t,\"TSOptionalType\")}if(s){const s=this.startNodeAt(t,e);s.typeAnnotation=r,r=this.finishNode(s,\"TSRestType\")}return r}tsParseParenthesizedType(){const t=this.startNode();return this.expect(c.parenL),t.typeAnnotation=this.tsParseType(),this.expect(c.parenR),this.finishNode(t,\"TSParenthesizedType\")}tsParseFunctionOrConstructorType(t){const e=this.startNode();return\"TSConstructorType\"===t&&this.expect(c._new),this.tsFillSignature(c.arrow,e),this.finishNode(e,t)}tsParseLiteralTypeNode(){const t=this.startNode();return t.literal=(()=>{switch(this.state.type){case c.num:case c.bigint:case c.string:case c._true:case c._false:return this.parseExprAtom();default:throw this.unexpected()}})(),this.finishNode(t,\"TSLiteralType\")}tsParseTemplateLiteralType(){const t=this.startNode();return t.literal=this.parseTemplate(!1),this.finishNode(t,\"TSLiteralType\")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){const t=this.tsParseThisTypeNode();return this.isContextual(\"is\")&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(t):t}tsParseNonArrayType(){switch(this.state.type){case c.name:case c._void:case c._null:{const t=this.match(c._void)?\"TSVoidKeyword\":this.match(c._null)?\"TSNullKeyword\":function(t){switch(t){case\"any\":return\"TSAnyKeyword\";case\"boolean\":return\"TSBooleanKeyword\";case\"bigint\":return\"TSBigIntKeyword\";case\"never\":return\"TSNeverKeyword\";case\"number\":return\"TSNumberKeyword\";case\"object\":return\"TSObjectKeyword\";case\"string\":return\"TSStringKeyword\";case\"symbol\":return\"TSSymbolKeyword\";case\"undefined\":return\"TSUndefinedKeyword\";case\"unknown\":return\"TSUnknownKeyword\";default:return}}(this.state.value);if(void 0!==t&&46!==this.lookaheadCharCode()){const e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}case c.string:case c.num:case c.bigint:case c._true:case c._false:return this.tsParseLiteralTypeNode();case c.plusMin:if(\"-\"===this.state.value){const t=this.startNode(),e=this.lookahead();if(e.type!==c.num&&e.type!==c.bigint)throw this.unexpected();return t.literal=this.parseMaybeUnary(),this.finishNode(t,\"TSLiteralType\")}break;case c._this:return this.tsParseThisTypeOrThisTypePredicate();case c._typeof:return this.tsParseTypeQuery();case c._import:return this.tsParseImportType();case c.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case c.bracketL:return this.tsParseTupleType();case c.parenL:return this.tsParseParenthesizedType();case c.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let t=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(c.bracketL);)if(this.match(c.bracketR)){const e=this.startNodeAtNode(t);e.elementType=t,this.expect(c.bracketR),t=this.finishNode(e,\"TSArrayType\")}else{const e=this.startNodeAtNode(t);e.objectType=t,e.indexType=this.tsParseType(),this.expect(c.bracketR),t=this.finishNode(e,\"TSIndexedAccessType\")}return t}tsParseTypeOperator(t){const e=this.startNode();return this.expectContextual(t),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),\"readonly\"===t&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,\"TSTypeOperator\")}tsCheckTypeAnnotationForReadOnly(t){switch(t.typeAnnotation.type){case\"TSTupleType\":case\"TSArrayType\":return;default:this.raise(t.start,dt.UnexpectedReadonly)}}tsParseInferType(){const t=this.startNode();this.expectContextual(\"infer\");const e=this.startNode();return e.name=this.parseIdentifierName(e.start),t.typeParameter=this.finishNode(e,\"TSTypeParameter\"),this.finishNode(t,\"TSInferType\")}tsParseTypeOperatorOrHigher(){const t=[\"keyof\",\"unique\",\"readonly\"].find((t=>this.isContextual(t)));return t?this.tsParseTypeOperator(t):this.isContextual(\"infer\")?this.tsParseInferType():this.tsParseArrayTypeOrHigher()}tsParseUnionOrIntersectionType(t,e,s){this.eat(s);let r=e();if(this.match(s)){const i=[r];for(;this.eat(s);)i.push(e());const n=this.startNodeAtNode(r);n.types=i,r=this.finishNode(n,t)}return r}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType(\"TSIntersectionType\",this.tsParseTypeOperatorOrHigher.bind(this),c.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType(\"TSUnionType\",this.tsParseIntersectionTypeOrHigher.bind(this),c.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational(\"<\")||this.match(c.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(c.name)||this.match(c._this))return this.next(),!0;if(this.match(c.braceL)){let t=1;for(this.next();t>0;)this.match(c.braceL)?++t:this.match(c.braceR)&&--t,this.next();return!0}if(this.match(c.bracketL)){let t=1;for(this.next();t>0;)this.match(c.bracketL)?++t:this.match(c.bracketR)&&--t,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(c.parenR)||this.match(c.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(c.colon)||this.match(c.comma)||this.match(c.question)||this.match(c.eq))return!0;if(this.match(c.parenR)&&(this.next(),this.match(c.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(t){return this.tsInType((()=>{const e=this.startNode();this.expect(t);const s=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(s&&this.match(c._this)){let t=this.tsParseThisTypeOrThisTypePredicate();if(\"TSThisType\"===t.type){const s=this.startNodeAtNode(e);s.parameterName=t,s.asserts=!0,t=this.finishNode(s,\"TSTypePredicate\")}else t.asserts=!0;return e.typeAnnotation=t,this.finishNode(e,\"TSTypeAnnotation\")}const r=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!r){if(!s)return this.tsParseTypeAnnotation(!1,e);const t=this.startNodeAtNode(e);return t.parameterName=this.parseIdentifier(),t.asserts=s,e.typeAnnotation=this.finishNode(t,\"TSTypePredicate\"),this.finishNode(e,\"TSTypeAnnotation\")}const i=this.tsParseTypeAnnotation(!1),n=this.startNodeAtNode(e);return n.parameterName=r,n.typeAnnotation=i,n.asserts=s,e.typeAnnotation=this.finishNode(n,\"TSTypePredicate\"),this.finishNode(e,\"TSTypeAnnotation\")}))}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(c.colon)?this.tsParseTypeOrTypePredicateAnnotation(c.colon):void 0}tsTryParseTypeAnnotation(){return this.match(c.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(c.colon)}tsParseTypePredicatePrefix(){const t=this.parseIdentifier();if(this.isContextual(\"is\")&&!this.hasPrecedingLineBreak())return this.next(),t}tsParseTypePredicateAsserts(){if(!this.match(c.name)||\"asserts\"!==this.state.value||this.hasPrecedingLineBreak())return!1;const t=this.state.containsEsc;return this.next(),!(!this.match(c.name)&&!this.match(c._this))&&(t&&this.raise(this.state.lastTokStart,g.InvalidEscapedReservedWord,\"asserts\"),!0)}tsParseTypeAnnotation(t=!0,e=this.startNode()){return this.tsInType((()=>{t&&this.expect(c.colon),e.typeAnnotation=this.tsParseType()})),this.finishNode(e,\"TSTypeAnnotation\")}tsParseType(){lt(this.state.inType);const t=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(c._extends))return t;const e=this.startNodeAtNode(t);return e.checkType=t,e.extendsType=this.tsParseNonConditionalType(),this.expect(c.question),e.trueType=this.tsParseType(),this.expect(c.colon),e.falseType=this.tsParseType(),this.finishNode(e,\"TSConditionalType\")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType(\"TSFunctionType\"):this.match(c._new)?this.tsParseFunctionOrConstructorType(\"TSConstructorType\"):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){const t=this.startNode(),e=this.tsTryNextParseConstantContext();return t.typeAnnotation=e||this.tsNextThenParseType(),this.expectRelational(\">\"),t.expression=this.parseMaybeUnary(),this.finishNode(t,\"TSTypeAssertion\")}tsParseHeritageClause(t){const e=this.state.start,s=this.tsParseDelimitedList(\"HeritageClauseElement\",this.tsParseExpressionWithTypeArguments.bind(this));return s.length||this.raise(e,dt.EmptyHeritageClauseType,t),s}tsParseExpressionWithTypeArguments(){const t=this.startNode();return t.expression=this.tsParseEntityName(!1),this.isRelational(\"<\")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,\"TSExpressionWithTypeArguments\")}tsParseInterfaceDeclaration(t){t.id=this.parseIdentifier(),this.checkLVal(t.id,130,void 0,\"typescript interface declaration\"),t.typeParameters=this.tsTryParseTypeParameters(),this.eat(c._extends)&&(t.extends=this.tsParseHeritageClause(\"extends\"));const e=this.startNode();return e.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),t.body=this.finishNode(e,\"TSInterfaceBody\"),this.finishNode(t,\"TSInterfaceDeclaration\")}tsParseTypeAliasDeclaration(t){return t.id=this.parseIdentifier(),this.checkLVal(t.id,2,void 0,\"typescript type alias\"),t.typeParameters=this.tsTryParseTypeParameters(),t.typeAnnotation=this.tsInType((()=>{if(this.expect(c.eq),this.isContextual(\"intrinsic\")&&this.lookahead().type!==c.dot){const t=this.startNode();return this.next(),this.finishNode(t,\"TSIntrinsicKeyword\")}return this.tsParseType()})),this.semicolon(),this.finishNode(t,\"TSTypeAliasDeclaration\")}tsInNoContext(t){const e=this.state.context;this.state.context=[e[0]];try{return t()}finally{this.state.context=e}}tsInType(t){const e=this.state.inType;this.state.inType=!0;try{return t()}finally{this.state.inType=e}}tsEatThenParseType(t){return this.match(t)?this.tsNextThenParseType():void 0}tsExpectThenParseType(t){return this.tsDoThenParseType((()=>this.expect(t)))}tsNextThenParseType(){return this.tsDoThenParseType((()=>this.next()))}tsDoThenParseType(t){return this.tsInType((()=>(t(),this.tsParseType())))}tsParseEnumMember(){const t=this.startNode();return t.id=this.match(c.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(c.eq)&&(t.initializer=this.parseMaybeAssignAllowIn()),this.finishNode(t,\"TSEnumMember\")}tsParseEnumDeclaration(t,e){return e&&(t.const=!0),t.id=this.parseIdentifier(),this.checkLVal(t.id,e?779:267,void 0,\"typescript enum declaration\"),this.expect(c.braceL),t.members=this.tsParseDelimitedList(\"EnumMembers\",this.tsParseEnumMember.bind(this)),this.expect(c.braceR),this.finishNode(t,\"TSEnumDeclaration\")}tsParseModuleBlock(){const t=this.startNode();return this.scope.enter(0),this.expect(c.braceL),this.parseBlockOrModuleBlockBody(t.body=[],void 0,!0,c.braceR),this.scope.exit(),this.finishNode(t,\"TSModuleBlock\")}tsParseModuleOrNamespaceDeclaration(t,e=!1){if(t.id=this.parseIdentifier(),e||this.checkLVal(t.id,1024,null,\"module or namespace declaration\"),this.eat(c.dot)){const e=this.startNode();this.tsParseModuleOrNamespaceDeclaration(e,!0),t.body=e}else this.scope.enter(p),this.prodParam.enter(0),t.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(t,\"TSModuleDeclaration\")}tsParseAmbientExternalModuleDeclaration(t){return this.isContextual(\"global\")?(t.global=!0,t.id=this.parseIdentifier()):this.match(c.string)?t.id=this.parseExprAtom():this.unexpected(),this.match(c.braceL)?(this.scope.enter(p),this.prodParam.enter(0),t.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(t,\"TSModuleDeclaration\")}tsParseImportEqualsDeclaration(t,e){return t.isExport=e||!1,t.id=this.parseIdentifier(),this.checkLVal(t.id,9,void 0,\"import equals declaration\"),this.expect(c.eq),t.moduleReference=this.tsParseModuleReference(),this.semicolon(),this.finishNode(t,\"TSImportEqualsDeclaration\")}tsIsExternalModuleReference(){return this.isContextual(\"require\")&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const t=this.startNode();if(this.expectContextual(\"require\"),this.expect(c.parenL),!this.match(c.string))throw this.unexpected();return t.expression=this.parseExprAtom(),this.expect(c.parenR),this.finishNode(t,\"TSExternalModuleReference\")}tsLookAhead(t){const e=this.state.clone(),s=t();return this.state=e,s}tsTryParseAndCatch(t){const e=this.tryParse((e=>t()||e()));if(!e.aborted&&e.node)return e.error&&(this.state=e.failState),e.node}tsTryParse(t){const e=this.state.clone(),s=t();return void 0!==s&&!1!==s?s:void(this.state=e)}tsTryParseDeclare(t){if(this.isLineTerminator())return;let e,s=this.state.type;return this.isContextual(\"let\")&&(s=c._var,e=\"let\"),this.tsInDeclareContext((()=>{switch(s){case c._function:return t.declare=!0,this.parseFunctionStatement(t,!1,!0);case c._class:return t.declare=!0,this.parseClass(t,!0,!1);case c._const:if(this.match(c._const)&&this.isLookaheadContextual(\"enum\"))return this.expect(c._const),this.expectContextual(\"enum\"),this.tsParseEnumDeclaration(t,!0);case c._var:return e=e||this.state.value,this.parseVarStatement(t,e);case c.name:{const e=this.state.value;return\"global\"===e?this.tsParseAmbientExternalModuleDeclaration(t):this.tsParseDeclaration(t,e,!0)}}}))}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0)}tsParseExpressionStatement(t,e){switch(e.name){case\"declare\":{const e=this.tsTryParseDeclare(t);if(e)return e.declare=!0,e;break}case\"global\":if(this.match(c.braceL)){this.scope.enter(p),this.prodParam.enter(0);const s=t;return s.global=!0,s.id=e,s.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(s,\"TSModuleDeclaration\")}break;default:return this.tsParseDeclaration(t,e.name,!1)}}tsParseDeclaration(t,e,s){switch(e){case\"abstract\":if(this.tsCheckLineTerminatorAndMatch(c._class,s)){const e=t;return e.abstract=!0,s&&(this.next(),this.match(c._class)||this.unexpected(null,c._class)),this.parseClass(e,!0,!1)}break;case\"enum\":if(s||this.match(c.name))return s&&this.next(),this.tsParseEnumDeclaration(t,!1);break;case\"interface\":if(this.tsCheckLineTerminatorAndMatch(c.name,s))return s&&this.next(),this.tsParseInterfaceDeclaration(t);break;case\"module\":if(s&&this.next(),this.match(c.string))return this.tsParseAmbientExternalModuleDeclaration(t);if(this.tsCheckLineTerminatorAndMatch(c.name,s))return this.tsParseModuleOrNamespaceDeclaration(t);break;case\"namespace\":if(this.tsCheckLineTerminatorAndMatch(c.name,s))return s&&this.next(),this.tsParseModuleOrNamespaceDeclaration(t);break;case\"type\":if(this.tsCheckLineTerminatorAndMatch(c.name,s))return s&&this.next(),this.tsParseTypeAliasDeclaration(t)}}tsCheckLineTerminatorAndMatch(t,e){return(e||this.match(t))&&!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(t,e){if(!this.isRelational(\"<\"))return;const s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const r=this.tsTryParseAndCatch((()=>{const s=this.startNodeAt(t,e);return s.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(s),s.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(c.arrow),s}));return this.state.maybeInArrowParameters=s,r?this.parseArrowExpression(r,null,!0):void 0}tsParseTypeArguments(){const t=this.startNode();return t.params=this.tsInType((()=>this.tsInNoContext((()=>(this.expectRelational(\"<\"),this.tsParseDelimitedList(\"TypeParametersOrArguments\",this.tsParseType.bind(this))))))),0===t.params.length&&this.raise(t.start,dt.EmptyTypeArguments),this.state.exprAllowed=!1,this.expectRelational(\">\"),this.finishNode(t,\"TSTypeParameterInstantiation\")}tsIsDeclarationStart(){if(this.match(c.name))switch(this.state.value){case\"abstract\":case\"declare\":case\"enum\":case\"interface\":case\"module\":case\"namespace\":case\"type\":return!0}return!1}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(t,e){const s=this.state.start,r=this.state.startLoc;let i,n=!1;void 0!==t&&(i=this.parseAccessModifier(),n=!!this.tsParseModifier([\"readonly\"]),!1===t&&(i||n)&&this.raise(s,dt.UnexpectedParameterModifier));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(i||n){const t=this.startNodeAt(s,r);return e.length&&(t.decorators=e),i&&(t.accessibility=i),n&&(t.readonly=n),\"Identifier\"!==o.type&&\"AssignmentPattern\"!==o.type&&this.raise(t.start,dt.UnsupportedParameterPropertyKind),t.parameter=o,this.finishNode(t,\"TSParameterProperty\")}return e.length&&(a.decorators=e),o}parseFunctionBodyAndFinish(t,e,s=!1){this.match(c.colon)&&(t.returnType=this.tsParseTypeOrTypePredicateAnnotation(c.colon));const r=\"FunctionDeclaration\"===e?\"TSDeclareFunction\":\"ClassMethod\"===e?\"TSDeclareMethod\":void 0;r&&!this.match(c.braceL)&&this.isLineTerminator()?this.finishNode(t,r):\"TSDeclareFunction\"===r&&this.state.isDeclareContext&&(this.raise(t.start,dt.DeclareFunctionHasImplementation),t.declare)?super.parseFunctionBodyAndFinish(t,r,s):super.parseFunctionBodyAndFinish(t,e,s)}registerFunctionStatementId(t){!t.body&&t.id?this.checkLVal(t.id,1024,null,\"function name\"):super.registerFunctionStatementId(...arguments)}tsCheckForInvalidTypeCasts(t){t.forEach((t=>{\"TSTypeCastExpression\"===(null==t?void 0:t.type)&&this.raise(t.typeAnnotation.start,dt.UnexpectedTypeAnnotation)}))}toReferencedList(t,e){return this.tsCheckForInvalidTypeCasts(t),t}parseArrayLike(...t){const e=super.parseArrayLike(...t);return\"ArrayExpression\"===e.type&&this.tsCheckForInvalidTypeCasts(e.elements),e}parseSubscript(t,e,s,r,i){if(!this.hasPrecedingLineBreak()&&this.match(c.bang)){this.state.exprAllowed=!1,this.next();const r=this.startNodeAt(e,s);return r.expression=t,this.finishNode(r,\"TSNonNullExpression\")}if(this.isRelational(\"<\")){const n=this.tsTryParseAndCatch((()=>{if(!r&&this.atPossibleAsyncArrow(t)){const t=this.tsTryParseGenericAsyncArrowFunction(e,s);if(t)return t}const n=this.startNodeAt(e,s);n.callee=t;const a=this.tsParseTypeArguments();if(a){if(!r&&this.eat(c.parenL))return n.arguments=this.parseCallExpressionArguments(c.parenR,!1),this.tsCheckForInvalidTypeCasts(n.arguments),n.typeParameters=a,this.finishCallExpression(n,i.optionalChainMember);if(this.match(c.backQuote)){const r=this.parseTaggedTemplateExpression(t,e,s,i);return r.typeParameters=a,r}}this.unexpected()}));if(n)return n}return super.parseSubscript(t,e,s,r,i)}parseNewArguments(t){if(this.isRelational(\"<\")){const e=this.tsTryParseAndCatch((()=>{const t=this.tsParseTypeArguments();return this.match(c.parenL)||this.unexpected(),t}));e&&(t.typeParameters=e)}super.parseNewArguments(t)}parseExprOp(t,e,s,r){if(pt(c._in.binop)>r&&!this.hasPrecedingLineBreak()&&this.isContextual(\"as\")){const i=this.startNodeAt(e,s);i.expression=t;const n=this.tsTryNextParseConstantContext();return i.typeAnnotation=n||this.tsNextThenParseType(),this.finishNode(i,\"TSAsExpression\"),this.reScan_lt_gt(),this.parseExprOp(i,e,s,r)}return super.parseExprOp(t,e,s,r)}checkReservedWord(t,e,s,r){}checkDuplicateExports(){}parseImport(t){if(this.match(c.name)||this.match(c.star)||this.match(c.braceL)){const e=this.lookahead();if(this.match(c.name)&&e.type===c.eq)return this.tsParseImportEqualsDeclaration(t);!this.isContextual(\"type\")||e.type===c.comma||e.type===c.name&&\"from\"===e.value||(t.importKind=\"type\",this.next())}t.importKind||(t.importKind=\"value\");const e=super.parseImport(t);return\"type\"===e.importKind&&e.specifiers.length>1&&\"ImportDefaultSpecifier\"===e.specifiers[0].type&&this.raise(e.start,\"A type-only import can specify a default import or named bindings, but not both.\"),e}parseExport(t){if(this.match(c._import))return this.expect(c._import),this.tsParseImportEqualsDeclaration(t,!0);if(this.eat(c.eq)){const e=t;return e.expression=this.parseExpression(),this.semicolon(),this.finishNode(e,\"TSExportAssignment\")}if(this.eatContextual(\"as\")){const e=t;return this.expectContextual(\"namespace\"),e.id=this.parseIdentifier(),this.semicolon(),this.finishNode(e,\"TSNamespaceExportDeclaration\")}return this.isContextual(\"type\")&&this.lookahead().type===c.braceL?(this.next(),t.exportKind=\"type\"):t.exportKind=\"value\",super.parseExport(t)}isAbstractClass(){return this.isContextual(\"abstract\")&&this.lookahead().type===c._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const t=this.startNode();return this.next(),this.parseClass(t,!0,!0),t.abstract=!0,t}if(\"interface\"===this.state.value){const t=this.tsParseDeclaration(this.startNode(),this.state.value,!0);if(t)return t}return super.parseExportDefaultExpression()}parseStatementContent(t,e){if(this.state.type===c._const){const t=this.lookahead();if(t.type===c.name&&\"enum\"===t.value){const t=this.startNode();return this.expect(c._const),this.expectContextual(\"enum\"),this.tsParseEnumDeclaration(t,!0)}}return super.parseStatementContent(t,e)}parseAccessModifier(){return this.tsParseModifier([\"public\",\"protected\",\"private\"])}parseClassMember(t,e,s){this.tsParseModifiers(e,[\"declare\"]);const r=this.parseAccessModifier();r&&(e.accessibility=r),this.tsParseModifiers(e,[\"declare\"]);const i=()=>{super.parseClassMember(t,e,s)};e.declare?this.tsInDeclareContext(i):i()}parseClassMemberWithIsStatic(t,e,s,r){this.tsParseModifiers(e,[\"abstract\",\"readonly\",\"declare\"]);const i=this.tsTryParseIndexSignature(e);if(i)return t.body.push(i),e.abstract&&this.raise(e.start,dt.IndexSignatureHasAbstract),r&&this.raise(e.start,dt.IndexSignatureHasStatic),e.accessibility&&this.raise(e.start,dt.IndexSignatureHasAccessibility,e.accessibility),void(e.declare&&this.raise(e.start,dt.IndexSignatureHasDeclare));super.parseClassMemberWithIsStatic(t,e,s,r)}parsePostMemberNameModifiers(t){this.eat(c.question)&&(t.optional=!0),t.readonly&&this.match(c.parenL)&&this.raise(t.start,dt.ClassMethodHasReadonly),t.declare&&this.match(c.parenL)&&this.raise(t.start,dt.ClassMethodHasDeclare)}parseExpressionStatement(t,e){return(\"Identifier\"===e.type?this.tsParseExpressionStatement(t,e):void 0)||super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(t,e,s,r){if(!r||!this.match(c.question))return super.parseConditional(t,e,s,r);const i=this.tryParse((()=>super.parseConditional(t,e,s)));return i.node?(i.error&&(this.state=i.failState),i.node):(r.start=i.error.pos||this.state.start,t)}parseParenItem(t,e,s){if(t=super.parseParenItem(t,e,s),this.eat(c.question)&&(t.optional=!0,this.resetEndLocation(t)),this.match(c.colon)){const r=this.startNodeAt(e,s);return r.expression=t,r.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(r,\"TSTypeCastExpression\")}return t}parseExportDeclaration(t){const e=this.state.start,s=this.state.startLoc,r=this.eatContextual(\"declare\");let i;return this.match(c.name)&&(i=this.tsTryParseExportDeclaration()),i||(i=super.parseExportDeclaration(t)),i&&(\"TSInterfaceDeclaration\"===i.type||\"TSTypeAliasDeclaration\"===i.type||r)&&(t.exportKind=\"type\"),i&&r&&(this.resetStartLocation(i,e,s),i.declare=!0),i}parseClassId(t,e,s){if((!e||s)&&this.isContextual(\"implements\"))return;super.parseClassId(t,e,s,t.declare?1024:139);const r=this.tsTryParseTypeParameters();r&&(t.typeParameters=r)}parseClassPropertyAnnotation(t){!t.optional&&this.eat(c.bang)&&(t.definite=!0);const e=this.tsTryParseTypeAnnotation();e&&(t.typeAnnotation=e)}parseClassProperty(t){return this.parseClassPropertyAnnotation(t),this.state.isDeclareContext&&this.match(c.eq)&&this.raise(this.state.start,dt.DeclareClassFieldHasInitializer),super.parseClassProperty(t)}parseClassPrivateProperty(t){return t.abstract&&this.raise(t.start,dt.PrivateElementHasAbstract),t.accessibility&&this.raise(t.start,dt.PrivateElementHasAccessibility,t.accessibility),this.parseClassPropertyAnnotation(t),super.parseClassPrivateProperty(t)}pushClassMethod(t,e,s,r,i,n){const a=this.tsTryParseTypeParameters();a&&i&&this.raise(a.start,dt.ConstructorHasTypeParameters),a&&(e.typeParameters=a),super.pushClassMethod(t,e,s,r,i,n)}pushClassPrivateMethod(t,e,s,r){const i=this.tsTryParseTypeParameters();i&&(e.typeParameters=i),super.pushClassPrivateMethod(t,e,s,r)}parseClassSuper(t){super.parseClassSuper(t),t.superClass&&this.isRelational(\"<\")&&(t.superTypeParameters=this.tsParseTypeArguments()),this.eatContextual(\"implements\")&&(t.implements=this.tsParseHeritageClause(\"implements\"))}parseObjPropValue(t,...e){const s=this.tsTryParseTypeParameters();s&&(t.typeParameters=s),super.parseObjPropValue(t,...e)}parseFunctionParams(t,e){const s=this.tsTryParseTypeParameters();s&&(t.typeParameters=s),super.parseFunctionParams(t,e)}parseVarId(t,e){super.parseVarId(t,e),\"Identifier\"===t.id.type&&this.eat(c.bang)&&(t.definite=!0);const s=this.tsTryParseTypeAnnotation();s&&(t.id.typeAnnotation=s,this.resetEndLocation(t.id))}parseAsyncArrowFromCallExpression(t,e){return this.match(c.colon)&&(t.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(t,e)}parseMaybeAssign(...t){var e,s,r,i,n,a,o;let u,h,p,l;if(this.match(c.jsxTagStart)){if(u=this.state.clone(),h=this.tryParse((()=>super.parseMaybeAssign(...t)),u),!h.error)return h.node;const{context:e}=this.state;e[e.length-1]===T.j_oTag?e.length-=2:e[e.length-1]===T.j_expr&&(e.length-=1)}if(!(null==(e=h)?void 0:e.error)&&!this.isRelational(\"<\"))return super.parseMaybeAssign(...t);u=u||this.state.clone();const d=this.tryParse((e=>{var s;l=this.tsParseTypeParameters();const r=super.parseMaybeAssign(...t);return(\"ArrowFunctionExpression\"!==r.type||r.extra&&r.extra.parenthesized)&&e(),0!==(null==(s=l)?void 0:s.params.length)&&this.resetStartLocationFromNode(r,l),r.typeParameters=l,r}),u);if(!d.error&&!d.aborted)return d.node;if(!h&&(lt(!this.hasPlugin(\"jsx\")),p=this.tryParse((()=>super.parseMaybeAssign(...t)),u),!p.error))return p.node;if(null==(s=h)?void 0:s.node)return this.state=h.failState,h.node;if(d.node)return this.state=d.failState,d.node;if(null==(r=p)?void 0:r.node)return this.state=p.failState,p.node;if(null==(i=h)?void 0:i.thrown)throw h.error;if(d.thrown)throw d.error;if(null==(n=p)?void 0:n.thrown)throw p.error;throw(null==(a=h)?void 0:a.error)||d.error||(null==(o=p)?void 0:o.error)}parseMaybeUnary(t){return!this.hasPlugin(\"jsx\")&&this.isRelational(\"<\")?this.tsParseTypeAssertion():super.parseMaybeUnary(t)}parseArrow(t){if(this.match(c.colon)){const e=this.tryParse((t=>{const e=this.tsParseTypeOrTypePredicateAnnotation(c.colon);return!this.canInsertSemicolon()&&this.match(c.arrow)||t(),e}));if(e.aborted)return;e.thrown||(e.error&&(this.state=e.failState),t.returnType=e.node)}return super.parseArrow(t)}parseAssignableListItemTypes(t){this.eat(c.question)&&(\"Identifier\"===t.type||this.state.isDeclareContext||this.state.inType||this.raise(t.start,dt.PatternIsOptional),t.optional=!0);const e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e),this.resetEndLocation(t),t}toAssignable(t){switch(t.type){case\"TSTypeCastExpression\":return super.toAssignable(this.typeCastToParameter(t));case\"TSParameterProperty\":return super.toAssignable(t);case\"TSAsExpression\":case\"TSNonNullExpression\":case\"TSTypeAssertion\":return t.expression=this.toAssignable(t.expression),t;default:return super.toAssignable(t)}}checkLVal(t,e=64,s,r){switch(t.type){case\"TSTypeCastExpression\":return;case\"TSParameterProperty\":return void this.checkLVal(t.parameter,e,s,\"parameter property\");case\"TSAsExpression\":case\"TSNonNullExpression\":case\"TSTypeAssertion\":return void this.checkLVal(t.expression,e,s,r);default:return void super.checkLVal(t,e,s,r)}}parseBindingAtom(){switch(this.state.type){case c._this:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(t){if(this.isRelational(\"<\")){const e=this.tsParseTypeArguments();if(this.match(c.parenL)){const s=super.parseMaybeDecoratorArguments(t);return s.typeParameters=e,s}this.unexpected(this.state.start,c.parenL)}return super.parseMaybeDecoratorArguments(t)}isClassMethod(){return this.isRelational(\"<\")||super.isClassMethod()}isClassProperty(){return this.match(c.bang)||this.match(c.colon)||super.isClassProperty()}parseMaybeDefault(...t){const e=super.parseMaybeDefault(...t);return\"AssignmentPattern\"===e.type&&e.typeAnnotation&&e.right.startthis.tsParseTypeArguments()));e&&(t.typeParameters=e)}return super.jsxParseOpeningElementAfterName(t)}getGetterSetterExpectedParamCount(t){const e=super.getGetterSetterExpectedParamCount(t),s=t.params[0];return s&&\"Identifier\"===s.type&&\"this\"===s.name?e+1:e}parseCatchClauseParam(){const t=super.parseCatchClauseParam(),e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e,this.resetEndLocation(t)),t}tsInDeclareContext(t){const e=this.state.isDeclareContext;this.state.isDeclareContext=!0;try{return t()}finally{this.state.isDeclareContext=e}}},v8intrinsic:t=>class extends t{parseV8Intrinsic(){if(this.match(c.modulo)){const t=this.state.start,e=this.startNode();if(this.eat(c.modulo),this.match(c.name)){const t=this.parseIdentifierName(this.state.start),s=this.createIdentifier(e,t);if(s.type=\"V8IntrinsicIdentifier\",this.match(c.parenL))return s}this.unexpected(t)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}},placeholders:t=>class extends t{parsePlaceholder(t){if(this.match(c.placeholder)){const e=this.startNode();return this.next(),this.assertNoSpace(\"Unexpected space in placeholder.\"),e.name=super.parseIdentifier(!0),this.assertNoSpace(\"Unexpected space in placeholder.\"),this.expect(c.placeholder),this.finishPlaceholder(e,t)}}finishPlaceholder(t,e){const s=!(!t.expectedNode||\"Placeholder\"!==t.type);return t.expectedNode=e,s?t:this.finishNode(t,\"Placeholder\")}getTokenFromCode(t){return 37===t&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(c.placeholder,2):super.getTokenFromCode(...arguments)}parseExprAtom(){return this.parsePlaceholder(\"Expression\")||super.parseExprAtom(...arguments)}parseIdentifier(){return this.parsePlaceholder(\"Identifier\")||super.parseIdentifier(...arguments)}checkReservedWord(t){void 0!==t&&super.checkReservedWord(...arguments)}parseBindingAtom(){return this.parsePlaceholder(\"Pattern\")||super.parseBindingAtom(...arguments)}checkLVal(t){\"Placeholder\"!==t.type&&super.checkLVal(...arguments)}toAssignable(t){return t&&\"Placeholder\"===t.type&&\"Expression\"===t.expectedNode?(t.expectedNode=\"Pattern\",t):super.toAssignable(...arguments)}verifyBreakContinue(t){t.label&&\"Placeholder\"===t.label.type||super.verifyBreakContinue(...arguments)}parseExpressionStatement(t,e){if(\"Placeholder\"!==e.type||e.extra&&e.extra.parenthesized)return super.parseExpressionStatement(...arguments);if(this.match(c.colon)){const s=t;return s.label=this.finishPlaceholder(e,\"Identifier\"),this.next(),s.body=this.parseStatement(\"label\"),this.finishNode(s,\"LabeledStatement\")}return this.semicolon(),t.name=e.name,this.finishPlaceholder(t,\"Statement\")}parseBlock(){return this.parsePlaceholder(\"BlockStatement\")||super.parseBlock(...arguments)}parseFunctionId(){return this.parsePlaceholder(\"Identifier\")||super.parseFunctionId(...arguments)}parseClass(t,e,s){const r=e?\"ClassDeclaration\":\"ClassExpression\";this.next(),this.takeDecorators(t);const i=this.state.strict,n=this.parsePlaceholder(\"Identifier\");if(n)if(this.match(c._extends)||this.match(c.placeholder)||this.match(c.braceL))t.id=n;else{if(s||!e)return t.id=null,t.body=this.finishPlaceholder(n,\"ClassBody\"),this.finishNode(t,r);this.unexpected(null,\"A class name is required\")}else this.parseClassId(t,e,s);return this.parseClassSuper(t),t.body=this.parsePlaceholder(\"ClassBody\")||this.parseClassBody(!!t.superClass,i),this.finishNode(t,r)}parseExport(t){const e=this.parsePlaceholder(\"Identifier\");if(!e)return super.parseExport(...arguments);if(!this.isContextual(\"from\")&&!this.match(c.comma))return t.specifiers=[],t.source=null,t.declaration=this.finishPlaceholder(e,\"Declaration\"),this.finishNode(t,\"ExportNamedDeclaration\");this.expectPlugin(\"exportDefaultFrom\");const s=this.startNode();return s.exported=e,t.specifiers=[this.finishNode(s,\"ExportDefaultSpecifier\")],super.parseExport(t)}isExportDefaultSpecifier(){if(this.match(c._default)){const t=this.nextTokenStart();if(this.isUnparsedContextual(t,\"from\")&&this.input.startsWith(c.placeholder.label,this.nextTokenStartSince(t+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(t){return!!(t.specifiers&&t.specifiers.length>0)||super.maybeParseExportDefaultSpecifier(...arguments)}checkExport(t){const{specifiers:e}=t;(null==e?void 0:e.length)&&(t.specifiers=e.filter((t=>\"Placeholder\"===t.exported.type))),super.checkExport(t),t.specifiers=e}parseImport(t){const e=this.parsePlaceholder(\"Identifier\");if(!e)return super.parseImport(...arguments);if(t.specifiers=[],!this.isContextual(\"from\")&&!this.match(c.comma))return t.source=this.finishPlaceholder(e,\"StringLiteral\"),this.semicolon(),this.finishNode(t,\"ImportDeclaration\");const s=this.startNodeAtNode(e);if(s.local=e,this.finishNode(s,\"ImportDefaultSpecifier\"),t.specifiers.push(s),this.eat(c.comma)){this.maybeParseStarImportSpecifier(t)||this.parseNamedImportSpecifiers(t)}return this.expectContextual(\"from\"),t.source=this.parseImportSource(),this.semicolon(),this.finishNode(t,\"ImportDeclaration\")}parseImportSource(){return this.parsePlaceholder(\"StringLiteral\")||super.parseImportSource(...arguments)}}},At=Object.keys(Et),Ct={sourceType:\"script\",sourceFilename:void 0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1};class xt{constructor(){this.strict=void 0,this.curLine=void 0,this.startLoc=void 0,this.endLoc=void 0,this.errors=[],this.potentialArrowAt=-1,this.noArrowAt=[],this.noArrowParamsConversionAt=[],this.maybeInArrowParameters=!1,this.inPipeline=!1,this.inType=!1,this.noAnonFunctionType=!1,this.inPropertyName=!1,this.hasFlowComment=!1,this.isIterator=!1,this.isDeclareContext=!1,this.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null},this.soloAwait=!1,this.inFSharpPipelineDirectBody=!1,this.labels=[],this.decoratorStack=[[]],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.commentPreviousNode=null,this.pos=0,this.lineStart=0,this.type=c.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[T.braceStatement],this.exprAllowed=!0,this.containsEsc=!1,this.octalPositions=[],this.exportedIdentifiers=[],this.tokensLength=0}init(t){this.strict=!1!==t.strictMode&&\"module\"===t.sourceType,this.curLine=t.startLine,this.startLoc=this.endLoc=this.curPosition()}curPosition(){return new C(this.curLine,this.pos-this.lineStart)}clone(t){const e=new xt,s=Object.keys(this);for(let r=0,i=s.length;r=48&&t<=57};const gt=new Set([\"g\",\"m\",\"s\",\"i\",\"y\",\"u\"]),bt={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},Pt={bin:[48,49]};Pt.oct=[...Pt.bin,50,51,52,53,54,55],Pt.dec=[...Pt.oct,56,57],Pt.hex=[...Pt.dec,65,66,67,68,69,70,97,98,99,100,101,102];class Tt{constructor(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new x(t.startLoc,t.endLoc)}}class wt{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class Bt{constructor(t,e,s){this.type=void 0,this.start=void 0,this.end=void 0,this.loc=void 0,this.range=void 0,this.leadingComments=void 0,this.trailingComments=void 0,this.innerComments=void 0,this.extra=void 0,this.type=\"\",this.start=e,this.end=0,this.loc=new x(s),(null==t?void 0:t.options.ranges)&&(this.range=[e,0]),(null==t?void 0:t.filename)&&(this.loc.filename=t.filename)}__clone(){const t=new Bt,e=Object.keys(this);for(let s=0,r=e.length;s\"ParenthesizedExpression\"===t.type?St(t.expression):t;class Nt{constructor(t=0){this.type=void 0,this.type=t}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}}class It extends Nt{constructor(t){super(t),this.errors=new Map}recordDeclarationError(t,e){this.errors.set(t,e)}clearDeclarationError(t){this.errors.delete(t)}iterateErrors(t){this.errors.forEach(t)}}class vt{constructor(t){this.stack=[new Nt],this.raise=t}enter(t){this.stack.push(t)}exit(){this.stack.pop()}recordParameterInitializerError(t,e){const{stack:s}=this;let r=s.length-1,i=s[r];for(;!i.isCertainlyParameterDeclaration();){if(!i.canBeArrowParameterDeclaration())return;i.recordDeclarationError(t,e),i=s[--r]}this.raise(t,e)}recordAsyncArrowParametersError(t,e){const{stack:s}=this;let r=s.length-1,i=s[r];for(;i.canBeArrowParameterDeclaration();)2===i.type&&i.recordDeclarationError(t,e),i=s[--r]}validateAsPattern(){const{stack:t}=this,e=t[t.length-1];e.canBeArrowParameterDeclaration()&&e.iterateErrors(((e,s)=>{this.raise(s,e);let r=t.length-2,i=t[r];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(s),i=t[--r]}))}}function kt(){return new Nt}const Lt={kind:\"loop\"},Ot={kind:\"switch\"},Mt=/[\\uD800-\\uDFFF]/u;class Rt{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}}class _t{constructor(t){this.stack=[],this.undefinedPrivateNames=new Map,this.raise=t}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new Rt)}exit(){const t=this.stack.pop(),e=this.current();for(let s=0,r=Array.from(t.undefinedPrivateNames);s0;)r=e[--i];if(null===r)return;for(let t=0;t0?r.trailingComments=n:void 0!==r.trailingComments&&(r.trailingComments=[])}processComment(t){if(\"Program\"===t.type&&t.body.length>0)return;const e=this.state.commentStack;let s,r,i,n,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=t.end?(i=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(e.length>0){const s=F(e);s.trailingComments&&s.trailingComments[0].start>=t.end&&(i=s.trailingComments,delete s.trailingComments)}for(e.length>0&&F(e).start>=t.start&&(s=e.pop());e.length>0&&F(e).start>=t.start;)r=e.pop();if(!r&&s&&(r=s),s)switch(t.type){case\"ObjectExpression\":this.adjustCommentsAfterTrailingComma(t,t.properties);break;case\"ObjectPattern\":this.adjustCommentsAfterTrailingComma(t,t.properties,!0);break;case\"CallExpression\":this.adjustCommentsAfterTrailingComma(t,t.arguments);break;case\"ArrayExpression\":this.adjustCommentsAfterTrailingComma(t,t.elements);break;case\"ArrayPattern\":this.adjustCommentsAfterTrailingComma(t,t.elements,!0)}else this.state.commentPreviousNode&&(\"ImportSpecifier\"===this.state.commentPreviousNode.type&&\"ImportSpecifier\"!==t.type||\"ExportSpecifier\"===this.state.commentPreviousNode.type&&\"ExportSpecifier\"!==t.type)&&this.adjustCommentsAfterTrailingComma(t,[this.state.commentPreviousNode]);if(r){if(r.leadingComments)if(r!==t&&r.leadingComments.length>0&&F(r.leadingComments).end<=t.start)t.leadingComments=r.leadingComments,delete r.leadingComments;else for(n=r.leadingComments.length-2;n>=0;--n)if(r.leadingComments[n].end<=t.start){t.leadingComments=r.leadingComments.splice(0,n+1);break}}else if(this.state.leadingComments.length>0)if(F(this.state.leadingComments).end<=t.start){if(this.state.commentPreviousNode)for(a=0;a0&&(t.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(n=0;nt.start);n++);const e=this.state.leadingComments.slice(0,n);e.length&&(t.leadingComments=e),i=this.state.leadingComments.slice(n),0===i.length&&(i=null)}if(this.state.commentPreviousNode=t,i)if(i.length&&i[0].start>=t.start&&F(i).end<=t.end)t.innerComments=i;else{const e=i.findIndex((e=>e.end>=t.end));e>0?(t.innerComments=i.slice(0,e),t.trailingComments=i.slice(e)):t.trailingComments=i}e.push(t)}}{getLocationForPosition(t){let e;return e=t===this.state.start?this.state.startLoc:t===this.state.lastTokStart?this.state.lastTokStartLoc:t===this.state.end?this.state.endLoc:t===this.state.lastTokEnd?this.state.lastTokEndLoc:function(t,e){let s,r=1,i=0;for(f.lastIndex=0;(s=f.exec(t))&&s.indexr[e]))+\" (\".concat(i.line,\":\").concat(i.column,\")\");return this._raise(Object.assign({loc:i,pos:t},e),n)}_raise(t,e){const s=new SyntaxError(e);if(Object.assign(s,t),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(s),s;throw s}}{constructor(t,e){super(),this.isLookahead=void 0,this.tokens=[],this.state=new xt,this.state.init(t),this.input=e,this.length=e.length,this.isLookahead=!1}pushToken(t){this.tokens.length=this.state.tokensLength,this.tokens.push(t),++this.state.tokensLength}next(){this.isLookahead||(this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new Tt(this.state))),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(t){return!!this.match(t)&&(this.next(),!0)}match(t){return this.state.type===t}lookahead(){const t=this.state;this.state=t.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;const e=this.state;return this.state=t,e}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(t){E.lastIndex=t;return t+E.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}setStrict(t){if(this.state.strict=t,this.match(c.num)||this.match(c.string)){for(this.state.pos=this.state.start;this.state.pos=this.length)return void this.finishToken(c.eof);const e=null==t?void 0:t.override;e?e(this):this.getTokenFromCode(this.input.codePointAt(this.state.pos))}pushComment(t,e,s,r,i,n){const a={type:t?\"CommentBlock\":\"CommentLine\",value:e,start:s,end:r,loc:new x(i,n)};this.options.tokens&&this.pushToken(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const t=this.state.curPosition(),e=this.state.pos,s=this.input.indexOf(\"*/\",this.state.pos+2);if(-1===s)throw this.raise(e,g.UnterminatedComment);let r;for(this.state.pos=s+2,f.lastIndex=e;(r=f.exec(this.input))&&r.index=48&&e<=57)throw this.raise(this.state.pos,g.UnexpectedDigitAfterHash);if(123===e||91===e&&this.hasPlugin(\"recordAndTuple\")){if(this.expectPlugin(\"recordAndTuple\"),\"hash\"!==this.getPluginOption(\"recordAndTuple\",\"syntaxType\"))throw this.raise(this.state.pos,123===e?g.RecordExpressionHashIncorrectStartSyntaxType:g.TupleExpressionHashIncorrectStartSyntaxType);123===e?this.finishToken(c.braceHashL):this.finishToken(c.bracketHashL),this.state.pos+=2}else this.finishOp(c.hash,1)}readToken_dot(){const t=this.input.charCodeAt(this.state.pos+1);t>=48&&t<=57?this.readNumber(!0):46===t&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(c.ellipsis)):(++this.state.pos,this.finishToken(c.dot))}readToken_slash(){if(this.state.exprAllowed&&!this.state.inType)return++this.state.pos,void this.readRegexp();61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(c.assign,2):this.finishOp(c.slash,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let t=this.input.charCodeAt(this.state.pos+1);if(33!==t)return!1;const e=this.state.pos;for(this.state.pos+=1;!y(t)&&++this.state.pos=48&&e<=57?(++this.state.pos,this.finishToken(c.question)):(this.state.pos+=2,this.finishToken(c.questionDot))}getTokenFromCode(t){switch(t){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(c.parenL);case 41:return++this.state.pos,void this.finishToken(c.parenR);case 59:return++this.state.pos,void this.finishToken(c.semi);case 44:return++this.state.pos,void this.finishToken(c.comma);case 91:if(this.hasPlugin(\"recordAndTuple\")&&124===this.input.charCodeAt(this.state.pos+1)){if(\"bar\"!==this.getPluginOption(\"recordAndTuple\",\"syntaxType\"))throw this.raise(this.state.pos,g.TupleExpressionBarIncorrectStartSyntaxType);this.finishToken(c.bracketBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(c.bracketL);return;case 93:return++this.state.pos,void this.finishToken(c.bracketR);case 123:if(this.hasPlugin(\"recordAndTuple\")&&124===this.input.charCodeAt(this.state.pos+1)){if(\"bar\"!==this.getPluginOption(\"recordAndTuple\",\"syntaxType\"))throw this.raise(this.state.pos,g.RecordExpressionBarIncorrectStartSyntaxType);this.finishToken(c.braceBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(c.braceL);return;case 125:return++this.state.pos,void this.finishToken(c.braceR);case 58:return void(this.hasPlugin(\"functionBind\")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(c.doubleColon,2):(++this.state.pos,this.finishToken(c.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(c.backQuote);case 48:{const t=this.input.charCodeAt(this.state.pos+1);if(120===t||88===t)return void this.readRadixNumber(16);if(111===t||79===t)return void this.readRadixNumber(8);if(98===t||66===t)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(t);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(t);case 124:case 38:return void this.readToken_pipe_amp(t);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(t);case 60:case 62:return void this.readToken_lt_gt(t);case 61:case 33:return void this.readToken_eq_excl(t);case 126:return void this.finishOp(c.tilde,1);case 64:return++this.state.pos,void this.finishToken(c.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(L(t))return void this.readWord()}throw this.raise(this.state.pos,g.InvalidOrUnexpectedToken,String.fromCodePoint(t))}finishOp(t,e){const s=this.input.slice(this.state.pos,this.state.pos+e);this.state.pos+=e,this.finishToken(t,s)}readRegexp(){const t=this.state.pos;let e,s;for(;;){if(this.state.pos>=this.length)throw this.raise(t,g.UnterminatedRegExp);const r=this.input.charAt(this.state.pos);if(m.test(r))throw this.raise(t,g.UnterminatedRegExp);if(e)e=!1;else{if(\"[\"===r)s=!0;else if(\"]\"===r&&s)s=!1;else if(\"/\"===r&&!s)break;e=\"\\\\\"===r}++this.state.pos}const r=this.input.slice(t,this.state.pos);++this.state.pos;let i=\"\";for(;this.state.pos-1&&this.raise(this.state.pos+1,g.DuplicateRegExpFlags);else{if(!O(e)&&92!==e)break;this.raise(this.state.pos+1,g.MalformedRegExpFlags)}++this.state.pos,i+=t}this.finishToken(c.regexp,{pattern:r,flags:i})}readInt(t,e,s,r=!0){const i=this.state.pos,n=16===t?bt.hex:bt.decBinOct,a=16===t?Pt.hex:10===t?Pt.dec:8===t?Pt.oct:Pt.bin;let o=!1,u=0;for(let i=0,h=null==e?1/0:e;i=97?e-97+10:e>=65?e-65+10:Ft(e)?e-48:1/0,h>=t)if(this.options.errorRecovery&&h<=9)h=0,this.raise(this.state.start+i+2,g.InvalidDigit,t);else{if(!s)break;h=0,o=!0}++this.state.pos,u=u*t+h}else{const t=this.input.charCodeAt(this.state.pos-1),e=this.input.charCodeAt(this.state.pos+1);(-1===a.indexOf(e)||n.indexOf(t)>-1||n.indexOf(e)>-1||Number.isNaN(e))&&this.raise(this.state.pos,g.UnexpectedNumericSeparator),r||this.raise(this.state.pos,g.NumericSeparatorInEscapeSequence),++this.state.pos}}return this.state.pos===i||null!=e&&this.state.pos-i!==e||o?null:u}readRadixNumber(t){const e=this.state.pos;let s=!1;this.state.pos+=2;const r=this.readInt(t);null==r&&this.raise(this.state.start+2,g.InvalidDigit,t);const i=this.input.charCodeAt(this.state.pos);if(110===i)++this.state.pos,s=!0;else if(109===i)throw this.raise(e,g.InvalidDecimal);if(L(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,g.NumberIdentifier);if(s){const t=this.input.slice(e,this.state.pos).replace(/[_n]/g,\"\");this.finishToken(c.bigint,t)}else this.finishToken(c.num,r)}readNumber(t){const e=this.state.pos;let s=!1,r=!1,i=!1,n=!1,a=!1;t||null!==this.readInt(10)||this.raise(e,g.InvalidNumber);const o=this.state.pos-e>=2&&48===this.input.charCodeAt(e);if(o){const t=this.input.slice(e,this.state.pos);if(this.state.strict)this.raise(e,g.StrictOctalLiteral);else{const s=t.indexOf(\"_\");s>0&&this.raise(s+e,g.ZeroDigitNumericSeparator)}a=o&&!/[89]/.test(t)}let u=this.input.charCodeAt(this.state.pos);if(46!==u||a||(++this.state.pos,this.readInt(10),s=!0,u=this.input.charCodeAt(this.state.pos)),69!==u&&101!==u||a||(u=this.input.charCodeAt(++this.state.pos),43!==u&&45!==u||++this.state.pos,null===this.readInt(10)&&this.raise(e,g.InvalidOrMissingExponent),s=!0,n=!0,u=this.input.charCodeAt(this.state.pos)),110===u&&((s||o)&&this.raise(e,g.InvalidBigIntLiteral),++this.state.pos,r=!0),109===u&&(this.expectPlugin(\"decimal\",this.state.pos),(n||o)&&this.raise(e,g.InvalidDecimal),++this.state.pos,i=!0),L(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,g.NumberIdentifier);const h=this.input.slice(e,this.state.pos).replace(/[_mn]/g,\"\");if(r)return void this.finishToken(c.bigint,h);if(i)return void this.finishToken(c.decimal,h);const p=a?parseInt(h,8):parseFloat(h);this.finishToken(c.num,p)}readCodePoint(t){let e;if(123===this.input.charCodeAt(this.state.pos)){const s=++this.state.pos;if(e=this.readHexChar(this.input.indexOf(\"}\",this.state.pos)-this.state.pos,!0,t),++this.state.pos,null!==e&&e>1114111){if(!t)return null;this.raise(s,g.InvalidCodePoint)}}else e=this.readHexChar(4,!1,t);return e}readString(t){let e=\"\",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,g.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===t)break;if(92===r)e+=this.input.slice(s,this.state.pos),e+=this.readEscapedChar(!1),s=this.state.pos;else if(8232===r||8233===r)++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;else{if(y(r))throw this.raise(this.state.start,g.UnterminatedString);++this.state.pos}}e+=this.input.slice(s,this.state.pos++),this.finishToken(c.string,e)}readTmplToken(){let t=\"\",e=this.state.pos,s=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,g.UnterminatedTemplate);const r=this.input.charCodeAt(this.state.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(c.template)?36===r?(this.state.pos+=2,void this.finishToken(c.dollarBraceL)):(++this.state.pos,void this.finishToken(c.backQuote)):(t+=this.input.slice(e,this.state.pos),void this.finishToken(c.template,s?null:t));if(92===r){t+=this.input.slice(e,this.state.pos);const r=this.readEscapedChar(!0);null===r?s=!0:t+=r,e=this.state.pos}else if(y(r)){switch(t+=this.input.slice(e,this.state.pos),++this.state.pos,r){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:t+=\"\\n\";break;default:t+=String.fromCharCode(r)}++this.state.curLine,this.state.lineStart=this.state.pos,e=this.state.pos}else++this.state.pos}}readEscapedChar(t){const e=!t,s=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,s){case 110:return\"\\n\";case 114:return\"\\r\";case 120:{const t=this.readHexChar(2,!1,e);return null===t?null:String.fromCharCode(t)}case 117:{const t=this.readCodePoint(e);return null===t?null:String.fromCodePoint(t)}case 116:return\"\\t\";case 98:return\"\\b\";case 118:return\"\\v\";case 102:return\"\\f\";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return\"\";case 56:case 57:if(t)return null;this.state.strict&&this.raise(this.state.pos-1,g.StrictNumericEscape);default:if(s>=48&&s<=55){const e=this.state.pos-1;let s=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(s,8);r>255&&(s=s.slice(0,-1),r=parseInt(s,8)),this.state.pos+=s.length-1;const i=this.input.charCodeAt(this.state.pos);if(\"0\"!==s||56===i||57===i){if(t)return null;this.state.strict?this.raise(e,g.StrictNumericEscape):this.state.octalPositions.push(e)}return String.fromCharCode(r)}return String.fromCharCode(s)}}readHexChar(t,e,s){const r=this.state.pos,i=this.readInt(16,t,e,!1);return null===i&&(s?this.raise(r,g.InvalidEscapeSequence):this.state.pos=r-1),i}readWord1(){let t=\"\";this.state.containsEsc=!1;const e=this.state.pos;let s=this.state.pos;for(;this.state.posthis.state.lastTokEnd&&this.raise(this.state.lastTokEnd,t)}unexpected(t,e=\"Unexpected token\"){throw\"string\"!=typeof e&&(e='Unexpected token, expected \"'.concat(e.label,'\"')),this.raise(null!=t?t:this.state.start,e)}expectPlugin(t,e){if(!this.hasPlugin(t))throw this.raiseWithData(null!=e?e:this.state.start,{missingPlugin:[t]},\"This experimental syntax requires enabling the parser plugin: '\".concat(t,\"'\"));return!0}expectOnePlugin(t,e){if(!t.some((t=>this.hasPlugin(t))))throw this.raiseWithData(null!=e?e:this.state.start,{missingPlugin:t},\"This experimental syntax requires enabling one of the following parser plugin(s): '\".concat(t.join(\", \"),\"'\"))}tryParse(t,e=this.state.clone()){const s={node:null};try{const r=t(((t=null)=>{throw s.node=t,s}));if(this.state.errors.length>e.errors.length){const t=this.state;return this.state=e,{node:r,error:t.errors[e.errors.length],thrown:!1,aborted:!1,failState:t}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(t){const r=this.state;if(this.state=e,t instanceof SyntaxError)return{node:null,error:t,thrown:!0,aborted:!1,failState:r};if(t===s)return{node:s.node,error:null,thrown:!1,aborted:!0,failState:r};throw t}}checkExpressionErrors(t,e){if(!t)return!1;const{shorthandAssign:s,doubleProto:r}=t;if(!e)return s>=0||r>=0;s>=0&&this.unexpected(s),r>=0&&this.raise(r,g.DuplicateProto)}isLiteralPropertyName(){return this.match(c.name)||!!this.state.type.keyword||this.match(c.string)||this.match(c.num)||this.match(c.bigint)||this.match(c.decimal)}}{startNode(){return new Bt(this,this.state.start,this.state.startLoc)}startNodeAt(t,e){return new Bt(this,t,e)}startNodeAtNode(t){return this.startNodeAt(t.start,t.loc.start)}finishNode(t,e){return this.finishNodeAt(t,e,this.state.lastTokEnd,this.state.lastTokEndLoc)}finishNodeAt(t,e,s,r){return t.type=e,t.end=s,t.loc.end=r,this.options.ranges&&(t.range[1]=s),this.processComment(t),t}resetStartLocation(t,e,s){t.start=e,t.loc.start=s,this.options.ranges&&(t.range[0]=e)}resetEndLocation(t,e=this.state.lastTokEnd,s=this.state.lastTokEndLoc){t.end=e,t.loc.end=s,this.options.ranges&&(t.range[1]=e)}resetStartLocationFromNode(t,e){this.resetStartLocation(t,e.start,e.loc.start)}}{toAssignable(t){var e,s;let r=void 0;switch((\"ParenthesizedExpression\"===t.type||(null==(e=t.extra)?void 0:e.parenthesized))&&(r=St(t),\"Identifier\"!==r.type&&\"MemberExpression\"!==r.type&&this.raise(t.start,g.InvalidParenthesizedAssignment)),t.type){case\"Identifier\":case\"ObjectPattern\":case\"ArrayPattern\":case\"AssignmentPattern\":break;case\"ObjectExpression\":t.type=\"ObjectPattern\";for(let e=0,s=t.properties.length,r=s-1;ethis.parseExpressionBase(e))):this.allowInAnd((()=>this.parseExpressionBase(e)))}parseExpressionBase(t){const e=this.state.start,s=this.state.startLoc,r=this.parseMaybeAssign(t);if(this.match(c.comma)){const i=this.startNodeAt(e,s);for(i.expressions=[r];this.eat(c.comma);)i.expressions.push(this.parseMaybeAssign(t));return this.toReferencedList(i.expressions),this.finishNode(i,\"SequenceExpression\")}return r}parseMaybeAssignDisallowIn(t,e,s){return this.disallowInAnd((()=>this.parseMaybeAssign(t,e,s)))}parseMaybeAssignAllowIn(t,e,s){return this.allowInAnd((()=>this.parseMaybeAssign(t,e,s)))}parseMaybeAssign(t,e,s){const r=this.state.start,i=this.state.startLoc;if(this.isContextual(\"yield\")&&this.prodParam.hasYield){this.state.exprAllowed=!0;let t=this.parseYield();return e&&(t=e.call(this,t,r,i)),t}let n;t?n=!1:(t=new wt,n=!0),(this.match(c.parenL)||this.match(c.name))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(t,s);if(e&&(a=e.call(this,a,r,i)),this.state.type.isAssign){const e=this.startNodeAt(r,i),s=this.state.value;return e.operator=s,this.match(c.eq)?(e.left=this.toAssignable(a),t.doubleProto=-1):e.left=a,t.shorthandAssign>=e.left.start&&(t.shorthandAssign=-1),this.checkLVal(a,void 0,void 0,\"assignment expression\"),this.next(),e.right=this.parseMaybeAssign(),this.finishNode(e,\"AssignmentExpression\")}return n&&this.checkExpressionErrors(t,!0),a}parseMaybeConditional(t,e){const s=this.state.start,r=this.state.startLoc,i=this.state.potentialArrowAt,n=this.parseExprOps(t);return this.shouldExitDescending(n,i)?n:this.parseConditional(n,s,r,e)}parseConditional(t,e,s,r){if(this.eat(c.question)){const r=this.startNodeAt(e,s);return r.test=t,r.consequent=this.parseMaybeAssignAllowIn(),this.expect(c.colon),r.alternate=this.parseMaybeAssign(),this.finishNode(r,\"ConditionalExpression\")}return t}parseExprOps(t){const e=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseMaybeUnary(t);return this.shouldExitDescending(i,r)?i:this.parseExprOp(i,e,s,-1)}parseExprOp(t,e,s,r){let i=this.state.type.binop;if(null!=i&&(this.prodParam.hasIn||!this.match(c._in))&&i>r){const n=this.state.type;if(n===c.pipeline){if(this.expectPlugin(\"pipelineOperator\"),this.state.inFSharpPipelineDirectBody)return t;this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(t,e)}const a=this.startNodeAt(e,s);a.left=t,a.operator=this.state.value,n!==c.exponent||\"UnaryExpression\"!==t.type||!this.options.createParenthesizedExpressions&&t.extra&&t.extra.parenthesized||this.raise(t.argument.start,g.UnexpectedTokenUnaryExponentiation);const o=n===c.logicalOR||n===c.logicalAND,u=n===c.nullishCoalescing;if(u&&(i=c.logicalAND.binop),this.next(),n===c.pipeline&&\"minimal\"===this.getPluginOption(\"pipelineOperator\",\"proposal\")&&this.match(c.name)&&\"await\"===this.state.value&&this.prodParam.hasAwait)throw this.raise(this.state.start,g.UnexpectedAwaitAfterPipelineBody);a.right=this.parseExprOpRightExpr(n,i),this.finishNode(a,o||u?\"LogicalExpression\":\"BinaryExpression\");const h=this.state.type;if(u&&(h===c.logicalOR||h===c.logicalAND)||o&&h===c.nullishCoalescing)throw this.raise(this.state.start,g.MixingCoalesceWithLogical);return this.parseExprOp(a,e,s,r)}return t}parseExprOpRightExpr(t,e){const s=this.state.start,r=this.state.startLoc;switch(t){case c.pipeline:switch(this.getPluginOption(\"pipelineOperator\",\"proposal\")){case\"smart\":return this.withTopicPermittingContext((()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(t,e),s,r)));case\"fsharp\":return this.withSoloAwaitPermittingContext((()=>this.parseFSharpPipelineBody(e)))}default:return this.parseExprOpBaseRightExpr(t,e)}}parseExprOpBaseRightExpr(t,e){const s=this.state.start,r=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),s,r,t.rightAssociative?e-1:e)}parseMaybeUnary(t){if(this.isContextual(\"await\")&&this.isAwaitAllowed())return this.parseAwait();const e=this.match(c.incDec),s=this.startNode();if(this.state.type.prefix){s.operator=this.state.value,s.prefix=!0,this.match(c._throw)&&this.expectPlugin(\"throwExpressions\");const r=this.match(c._delete);if(this.next(),s.argument=this.parseMaybeUnary(),this.checkExpressionErrors(t,!0),this.state.strict&&r){const t=s.argument;\"Identifier\"===t.type?this.raise(s.start,g.StrictDelete):\"MemberExpression\"!==t.type&&\"OptionalMemberExpression\"!==t.type||\"PrivateName\"!==t.property.type||this.raise(s.start,g.DeletePrivateField)}if(!e)return this.finishNode(s,\"UnaryExpression\")}return this.parseUpdate(s,e,t)}parseUpdate(t,e,s){if(e)return this.checkLVal(t.argument,void 0,void 0,\"prefix operation\"),this.finishNode(t,\"UpdateExpression\");const r=this.state.start,i=this.state.startLoc;let n=this.parseExprSubscripts(s);if(this.checkExpressionErrors(s,!1))return n;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const t=this.startNodeAt(r,i);t.operator=this.state.value,t.prefix=!1,t.argument=n,this.checkLVal(n,void 0,void 0,\"postfix operation\"),this.next(),n=this.finishNode(t,\"UpdateExpression\")}return n}parseExprSubscripts(t){const e=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseExprAtom(t);return this.shouldExitDescending(i,r)?i:this.parseSubscripts(i,e,s)}parseSubscripts(t,e,s,r){const i={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(t),stop:!1};do{t=this.parseSubscript(t,e,s,r,i),i.maybeAsyncArrow=!1}while(!i.stop);return t}parseSubscript(t,e,s,r,i){if(!r&&this.eat(c.doubleColon))return this.parseBind(t,e,s,r,i);if(this.match(c.backQuote))return this.parseTaggedTemplateExpression(t,e,s,i);let n=!1;if(this.match(c.questionDot)){if(i.optionalChainMember=n=!0,r&&40===this.lookaheadCharCode())return i.stop=!0,t;this.next()}return!r&&this.match(c.parenL)?this.parseCoverCallAndAsyncArrowHead(t,e,s,i,n):n||this.match(c.bracketL)||this.eat(c.dot)?this.parseMember(t,e,s,i,n):(i.stop=!0,t)}parseMember(t,e,s,r,i){const n=this.startNodeAt(e,s),a=this.eat(c.bracketL);n.object=t,n.computed=a;const o=a?this.parseExpression():this.parseMaybePrivateName(!0);return\"PrivateName\"===o.type&&(\"Super\"===n.object.type&&this.raise(e,g.SuperPrivateField),this.classScope.usePrivateName(o.id.name,o.start)),n.property=o,a&&this.expect(c.bracketR),r.optionalChainMember?(n.optional=i,this.finishNode(n,\"OptionalMemberExpression\")):this.finishNode(n,\"MemberExpression\")}parseBind(t,e,s,r,i){const n=this.startNodeAt(e,s);return n.object=t,n.callee=this.parseNoCallExpr(),i.stop=!0,this.parseSubscripts(this.finishNode(n,\"BindExpression\"),e,s,r)}parseCoverCallAndAsyncArrowHead(t,e,s,r,i){const n=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0,this.next();let a=this.startNodeAt(e,s);return a.callee=t,r.maybeAsyncArrow&&this.expressionScope.enter(new It(2)),r.optionalChainMember&&(a.optional=i),a.arguments=i?this.parseCallExpressionArguments(c.parenR,!1):this.parseCallExpressionArguments(c.parenR,r.maybeAsyncArrow,\"Import\"===t.type,\"Super\"!==t.type,a),this.finishCallExpression(a,r.optionalChainMember),r.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!i?(r.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),a=this.parseAsyncArrowFromCallExpression(this.startNodeAt(e,s),a)):(r.maybeAsyncArrow&&this.expressionScope.exit(),this.toReferencedArguments(a)),this.state.maybeInArrowParameters=n,a}toReferencedArguments(t,e){this.toReferencedListDeep(t.arguments,e)}parseTaggedTemplateExpression(t,e,s,r){const i=this.startNodeAt(e,s);return i.tag=t,i.quasi=this.parseTemplate(!0),r.optionalChainMember&&this.raise(e,g.OptionalChainingNoTemplate),this.finishNode(i,\"TaggedTemplateExpression\")}atPossibleAsyncArrow(t){return\"Identifier\"===t.type&&\"async\"===t.name&&this.state.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start==5&&t.start===this.state.potentialArrowAt}finishCallExpression(t,e){if(\"Import\"===t.callee.type)if(2===t.arguments.length&&(this.hasPlugin(\"moduleAttributes\")||this.expectPlugin(\"importAssertions\")),0===t.arguments.length||t.arguments.length>2)this.raise(t.start,g.ImportCallArity,this.hasPlugin(\"importAssertions\")||this.hasPlugin(\"moduleAttributes\")?\"one or two arguments\":\"one argument\");else for(let e=0,s=t.arguments;e1?(r=this.startNodeAt(a,o),r.expressions=u,this.finishNodeAt(r,\"SequenceExpression\",m,f)):r=u[0],!this.options.createParenthesizedExpressions)return this.addExtra(r,\"parenthesized\",!0),this.addExtra(r,\"parenStart\",e),r;const E=this.startNodeAt(e,s);return E.expression=r,this.finishNode(E,\"ParenthesizedExpression\"),E}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(t){if(this.eat(c.arrow))return t}parseParenItem(t,e,s){return t}parseNewOrNewTarget(){const t=this.startNode();if(this.next(),this.match(c.dot)){const e=this.createIdentifier(this.startNodeAtNode(t),\"new\");this.next();const s=this.parseMetaProperty(t,e,\"target\");if(!this.scope.inNonArrowFunction&&!this.scope.inClass){let t=g.UnexpectedNewTarget;this.hasPlugin(\"classProperties\")&&(t+=\" or class properties\"),this.raise(s.start,t)}return s}return this.parseNew(t)}parseNew(t){return t.callee=this.parseNoCallExpr(),\"Import\"===t.callee.type?this.raise(t.callee.start,g.ImportCallNotNewExpression):\"OptionalMemberExpression\"===t.callee.type||\"OptionalCallExpression\"===t.callee.type?this.raise(this.state.lastTokEnd,g.OptionalChainingNoNew):this.eat(c.questionDot)&&this.raise(this.state.start,g.OptionalChainingNoNew),this.parseNewArguments(t),this.finishNode(t,\"NewExpression\")}parseNewArguments(t){if(this.eat(c.parenL)){const e=this.parseExprList(c.parenR);this.toReferencedList(e),t.arguments=e}else t.arguments=[]}parseTemplateElement(t){const e=this.startNode();return null===this.state.value&&(t||this.raise(this.state.start+1,g.InvalidEscapeSequenceTemplate)),e.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\\r\\n?/g,\"\\n\"),cooked:this.state.value},this.next(),e.tail=this.match(c.backQuote),this.finishNode(e,\"TemplateElement\")}parseTemplate(t){const e=this.startNode();this.next(),e.expressions=[];let s=this.parseTemplateElement(t);for(e.quasis=[s];!s.tail;)this.expect(c.dollarBraceL),e.expressions.push(this.parseTemplateSubstitution()),this.expect(c.braceR),e.quasis.push(s=this.parseTemplateElement(t));return this.next(),this.finishNode(e,\"TemplateLiteral\")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(t,e,s,r){s&&this.expectPlugin(\"recordAndTuple\");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const n=Object.create(null);let a=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(t);){if(a)a=!1;else if(this.expect(c.comma),this.match(t)){this.addExtra(o,\"trailingComma\",this.state.lastTokStart);break}const i=this.parsePropertyDefinition(e,r);e||this.checkProto(i,s,n,r),s&&\"ObjectProperty\"!==i.type&&\"SpreadElement\"!==i.type&&this.raise(i.start,g.InvalidRecordProperty),i.shorthand&&this.addExtra(i,\"shorthand\",!0),o.properties.push(i)}this.state.exprAllowed=!1,this.next(),this.state.inFSharpPipelineDirectBody=i;let u=\"ObjectExpression\";return e?u=\"ObjectPattern\":s&&(u=\"RecordExpression\"),this.finishNode(o,u)}maybeAsyncOrAccessorProp(t){return!t.computed&&\"Identifier\"===t.key.type&&(this.isLiteralPropertyName()||this.match(c.bracketL)||this.match(c.star))}parsePropertyDefinition(t,e){let s=[];if(this.match(c.at))for(this.hasPlugin(\"decorators\")&&this.raise(this.state.start,g.UnsupportedPropertyDecorator);this.match(c.at);)s.push(this.parseDecorator());const r=this.startNode();let i,n,a=!1,o=!1,u=!1;if(this.match(c.ellipsis))return s.length&&this.unexpected(),t?(this.next(),r.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(r,\"RestElement\")):this.parseSpread();s.length&&(r.decorators=s,s=[]),r.method=!1,(t||e)&&(i=this.state.start,n=this.state.startLoc),t||(a=this.eat(c.star));const h=this.state.containsEsc,p=this.parsePropertyName(r,!1);if(!t&&!a&&!h&&this.maybeAsyncOrAccessorProp(r)){const t=p.name;\"async\"!==t||this.hasPrecedingLineBreak()||(o=!0,a=this.eat(c.star),this.parsePropertyName(r,!1)),\"get\"!==t&&\"set\"!==t||(u=!0,r.kind=t,this.match(c.star)&&(a=!0,this.raise(this.state.pos,g.AccessorIsGenerator,t),this.next()),this.parsePropertyName(r,!1))}return this.parseObjPropValue(r,i,n,a,o,t,u,e),r}getGetterSetterExpectedParamCount(t){return\"get\"===t.kind?0:1}getObjectOrClassMethodParams(t){return t.params}checkGetterSetterParams(t){var e;const s=this.getGetterSetterExpectedParamCount(t),r=this.getObjectOrClassMethodParams(t),i=t.start;r.length!==s&&(\"get\"===t.kind?this.raise(i,g.BadGetterArity):this.raise(i,g.BadSetterArity)),\"set\"===t.kind&&\"RestElement\"===(null==(e=r[r.length-1])?void 0:e.type)&&this.raise(i,g.BadSetterRestParameter)}parseObjectMethod(t,e,s,r,i){return i?(this.parseMethod(t,e,!1,!1,!1,\"ObjectMethod\"),this.checkGetterSetterParams(t),t):s||e||this.match(c.parenL)?(r&&this.unexpected(),t.kind=\"method\",t.method=!0,this.parseMethod(t,e,s,!1,!1,\"ObjectMethod\")):void 0}parseObjectProperty(t,e,s,r,i){return t.shorthand=!1,this.eat(c.colon)?(t.value=r?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssignAllowIn(i),this.finishNode(t,\"ObjectProperty\")):t.computed||\"Identifier\"!==t.key.type?void 0:(this.checkReservedWord(t.key.name,t.key.start,!0,!1),r?t.value=this.parseMaybeDefault(e,s,t.key.__clone()):this.match(c.eq)&&i?(-1===i.shorthandAssign&&(i.shorthandAssign=this.state.start),t.value=this.parseMaybeDefault(e,s,t.key.__clone())):t.value=t.key.__clone(),t.shorthand=!0,this.finishNode(t,\"ObjectProperty\"))}parseObjPropValue(t,e,s,r,i,n,a,o){const u=this.parseObjectMethod(t,r,i,n,a)||this.parseObjectProperty(t,e,s,n,o);return u||this.unexpected(),u}parsePropertyName(t,e){if(this.eat(c.bracketL))t.computed=!0,t.key=this.parseMaybeAssignAllowIn(),this.expect(c.bracketR);else{const s=this.state.inPropertyName;this.state.inPropertyName=!0,t.key=this.match(c.num)||this.match(c.string)||this.match(c.bigint)||this.match(c.decimal)?this.parseExprAtom():this.parseMaybePrivateName(e),\"PrivateName\"!==t.key.type&&(t.computed=!1),this.state.inPropertyName=s}return t.key}initFunction(t,e){t.id=null,t.generator=!1,t.async=!!e}parseMethod(t,e,s,r,i,n,a=!1){this.initFunction(t,s),t.generator=!!e;const o=r;return this.scope.enter(18|(a?64:0)|(i?32:0)),this.prodParam.enter(ct(s,t.generator)),this.parseFunctionParams(t,o),this.parseFunctionBodyAndFinish(t,n,!0),this.prodParam.exit(),this.scope.exit(),t}parseArrayLike(t,e,s,r){s&&this.expectPlugin(\"recordAndTuple\");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const n=this.startNode();return this.next(),n.elements=this.parseExprList(t,!s,r,n),this.state.inFSharpPipelineDirectBody=i,this.finishNode(n,s?\"TupleExpression\":\"ArrayExpression\")}parseArrowExpression(t,e,s,r){this.scope.enter(6);let i=ct(s,!1);!this.match(c.bracketL)&&this.prodParam.hasIn&&(i|=8),this.prodParam.enter(i),this.initFunction(t,s);const n=this.state.maybeInArrowParameters;return e&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(t,e,r)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(t,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=n,this.finishNode(t,\"ArrowFunctionExpression\")}setArrowFunctionParameters(t,e,s){t.params=this.toAssignableList(e,s)}parseFunctionBodyAndFinish(t,e,s=!1){this.parseFunctionBody(t,!1,s),this.finishNode(t,e)}parseFunctionBody(t,e,s=!1){const r=e&&!this.match(c.braceL);if(this.expressionScope.enter(kt()),r)t.body=this.parseMaybeAssign(),this.checkParams(t,!1,e,!1);else{const r=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),t.body=this.parseBlock(!0,!1,(i=>{const n=!this.isSimpleParamList(t.params);if(i&&n){const e=\"method\"!==t.kind&&\"constructor\"!==t.kind||!t.key?t.start:t.key.end;this.raise(e,g.IllegalLanguageModeDirective)}const a=!r&&this.state.strict;this.checkParams(t,!(this.state.strict||e||s||n),e,a),this.state.strict&&t.id&&this.checkLVal(t.id,65,void 0,\"function name\",void 0,a)})),this.prodParam.exit(),this.expressionScope.exit(),this.state.labels=i}}isSimpleParamList(t){for(let e=0,s=t.length;e=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(t){const e=this.state.start,s=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const r=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const i=this.parseExprOp(this.parseMaybeUnary(),e,s,t);return this.state.inFSharpPipelineDirectBody=r,i}}{parseTopLevel(t,e){if(e.sourceType=this.options.sourceType,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,c.eof),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(let t=0,e=Array.from(this.scope.undefinedExports);tthis.parseStatement(\"do\"))),this.state.labels.pop(),this.expect(c._while),t.test=this.parseHeaderExpression(),this.eat(c.semi),this.finishNode(t,\"DoWhileStatement\")}parseForStatement(t){this.next(),this.state.labels.push(Lt);let e=-1;if(this.isAwaitAllowed()&&this.eatContextual(\"await\")&&(e=this.state.lastTokStart),this.scope.enter(0),this.expect(c.parenL),this.match(c.semi))return e>-1&&this.unexpected(e),this.parseFor(t,null);const s=this.isLet();if(this.match(c._var)||this.match(c._const)||s){const r=this.startNode(),i=s?\"let\":this.state.value;return this.next(),this.parseVar(r,!0,i),this.finishNode(r,\"VariableDeclaration\"),(this.match(c._in)||this.isContextual(\"of\"))&&1===r.declarations.length?this.parseForIn(t,r,e):(e>-1&&this.unexpected(e),this.parseFor(t,r))}const r=new wt,i=this.parseExpression(!0,r);if(this.match(c._in)||this.isContextual(\"of\")){this.toAssignable(i);const s=this.isContextual(\"of\")?\"for-of statement\":\"for-in statement\";return this.checkLVal(i,void 0,void 0,s),this.parseForIn(t,i,e)}return this.checkExpressionErrors(r,!0),e>-1&&this.unexpected(e),this.parseFor(t,i)}parseFunctionStatement(t,e,s){return this.next(),this.parseFunction(t,1|(s?0:2),e)}parseIfStatement(t){return this.next(),t.test=this.parseHeaderExpression(),t.consequent=this.parseStatement(\"if\"),t.alternate=this.eat(c._else)?this.parseStatement(\"if\"):null,this.finishNode(t,\"IfStatement\")}parseReturnStatement(t){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,g.IllegalReturn),this.next(),this.isLineTerminator()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,\"ReturnStatement\")}parseSwitchStatement(t){this.next(),t.discriminant=this.parseHeaderExpression();const e=t.cases=[];let s,r;for(this.expect(c.braceL),this.state.labels.push(Ot),this.scope.enter(0);!this.match(c.braceR);)if(this.match(c._case)||this.match(c._default)){const t=this.match(c._case);s&&this.finishNode(s,\"SwitchCase\"),e.push(s=this.startNode()),s.consequent=[],this.next(),t?s.test=this.parseExpression():(r&&this.raise(this.state.lastTokStart,g.MultipleDefaultsInSwitch),r=!0,s.test=null),this.expect(c.colon)}else s?s.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),s&&this.finishNode(s,\"SwitchCase\"),this.next(),this.state.labels.pop(),this.finishNode(t,\"SwitchStatement\")}parseThrowStatement(t){return this.next(),this.hasPrecedingLineBreak()&&this.raise(this.state.lastTokEnd,g.NewlineAfterThrow),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,\"ThrowStatement\")}parseCatchClauseParam(){const t=this.parseBindingAtom(),e=\"Identifier\"===t.type;return this.scope.enter(e?8:0),this.checkLVal(t,9,null,\"catch clause\"),t}parseTryStatement(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.match(c._catch)){const e=this.startNode();this.next(),this.match(c.parenL)?(this.expect(c.parenL),e.param=this.parseCatchClauseParam(),this.expect(c.parenR)):(e.param=null,this.scope.enter(0)),e.body=this.withTopicForbiddingContext((()=>this.parseBlock(!1,!1))),this.scope.exit(),t.handler=this.finishNode(e,\"CatchClause\")}return t.finalizer=this.eat(c._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,g.NoCatchOrFinally),this.finishNode(t,\"TryStatement\")}parseVarStatement(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,\"VariableDeclaration\")}parseWhileStatement(t){return this.next(),t.test=this.parseHeaderExpression(),this.state.labels.push(Lt),t.body=this.withTopicForbiddingContext((()=>this.parseStatement(\"while\"))),this.state.labels.pop(),this.finishNode(t,\"WhileStatement\")}parseWithStatement(t){return this.state.strict&&this.raise(this.state.start,g.StrictWith),this.next(),t.object=this.parseHeaderExpression(),t.body=this.withTopicForbiddingContext((()=>this.parseStatement(\"with\"))),this.finishNode(t,\"WithStatement\")}parseEmptyStatement(t){return this.next(),this.finishNode(t,\"EmptyStatement\")}parseLabeledStatement(t,e,s,r){for(let t=0,r=this.state.labels;t=0;e--){const s=this.state.labels[e];if(s.statementStart!==t.start)break;s.statementStart=this.state.start,s.kind=i}return this.state.labels.push({name:e,kind:i,statementStart:this.state.start}),t.body=this.parseStatement(r?-1===r.indexOf(\"label\")?r+\"label\":r:\"label\"),this.state.labels.pop(),t.label=s,this.finishNode(t,\"LabeledStatement\")}parseExpressionStatement(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,\"ExpressionStatement\")}parseBlock(t=!1,e=!0,s){const r=this.startNode();return this.expect(c.braceL),e&&this.scope.enter(0),this.parseBlockBody(r,t,!1,c.braceR,s),e&&this.scope.exit(),this.finishNode(r,\"BlockStatement\")}isValidDirective(t){return\"ExpressionStatement\"===t.type&&\"StringLiteral\"===t.expression.type&&!t.expression.extra.parenthesized}parseBlockBody(t,e,s,r,i){const n=t.body=[],a=t.directives=[];this.parseBlockOrModuleBlockBody(n,e?a:void 0,s,r,i)}parseBlockOrModuleBlockBody(t,e,s,r,i){const n=[],a=this.state.strict;let o=!1,u=!1;for(;!this.match(r);){!u&&this.state.octalPositions.length&&n.push(...this.state.octalPositions);const r=this.parseStatement(null,s);if(e&&!u&&this.isValidDirective(r)){const t=this.stmtToDirective(r);e.push(t),o||\"use strict\"!==t.value.value||(o=!0,this.setStrict(!0))}else u=!0,t.push(r)}if(this.state.strict&&n.length)for(let t=0;tthis.parseStatement(\"for\"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,\"ForStatement\")}parseForIn(t,e,s){const r=this.match(c._in);return this.next(),r?s>-1&&this.unexpected(s):t.await=s>-1,\"VariableDeclaration\"!==e.type||null==e.declarations[0].init||r&&!this.state.strict&&\"var\"===e.kind&&\"Identifier\"===e.declarations[0].id.type?\"AssignmentPattern\"===e.type&&this.raise(e.start,g.InvalidLhs,\"for-loop\"):this.raise(e.start,g.ForInOfLoopInitializer,r?\"for-in\":\"for-of\"),t.left=e,t.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(c.parenR),t.body=this.withTopicForbiddingContext((()=>this.parseStatement(\"for\"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,r?\"ForInStatement\":\"ForOfStatement\")}parseVar(t,e,s){const r=t.declarations=[],i=this.hasPlugin(\"typescript\");for(t.kind=s;;){const t=this.startNode();if(this.parseVarId(t,s),this.eat(c.eq)?t.init=e?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():(\"const\"!==s||this.match(c._in)||this.isContextual(\"of\")?\"Identifier\"===t.id.type||e&&(this.match(c._in)||this.isContextual(\"of\"))||this.raise(this.state.lastTokEnd,g.DeclarationMissingInitializer,\"Complex binding patterns\"):i||this.raise(this.state.lastTokEnd,g.DeclarationMissingInitializer,\"Const declarations\"),t.init=null),r.push(this.finishNode(t,\"VariableDeclarator\")),!this.eat(c.comma))break}return t}parseVarId(t,e){t.id=this.parseBindingAtom(),this.checkLVal(t.id,\"var\"===e?5:9,void 0,\"variable declaration\",\"var\"!==e)}parseFunction(t,e=0,s=!1){const r=1&e,i=2&e,n=!(!r||4&e);this.initFunction(t,s),this.match(c.star)&&i&&this.raise(this.state.start,g.GeneratorInSingleStatementContext),t.generator=this.eat(c.star),r&&(t.id=this.parseFunctionId(n));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(ct(s,t.generator)),r||(t.id=this.parseFunctionId()),this.parseFunctionParams(t,!1),this.withTopicForbiddingContext((()=>{this.parseFunctionBodyAndFinish(t,r?\"FunctionDeclaration\":\"FunctionExpression\")})),this.prodParam.exit(),this.scope.exit(),r&&!i&&this.registerFunctionStatementId(t),this.state.maybeInArrowParameters=a,t}parseFunctionId(t){return t||this.match(c.name)?this.parseIdentifier():null}parseFunctionParams(t,e){this.expect(c.parenL),this.expressionScope.enter(new Nt(3)),t.params=this.parseBindingList(c.parenR,41,!1,e),this.expressionScope.exit()}registerFunctionStatementId(t){t.id&&this.scope.declareName(t.id.name,this.state.strict||t.generator||t.async?this.scope.treatFunctionsAsVar?5:9:17,t.id.start)}parseClass(t,e,s){this.next(),this.takeDecorators(t);const r=this.state.strict;return this.state.strict=!0,this.parseClassId(t,e,s),this.parseClassSuper(t),t.body=this.parseClassBody(!!t.superClass,r),this.finishNode(t,e?\"ClassDeclaration\":\"ClassExpression\")}isClassProperty(){return this.match(c.eq)||this.match(c.semi)||this.match(c.braceR)}isClassMethod(){return this.match(c.parenL)}isNonstaticConstructor(t){return!(t.computed||t.static||\"constructor\"!==t.key.name&&\"constructor\"!==t.key.value)}parseClassBody(t,e){this.classScope.enter();const s={constructorAllowsSuper:t,hadConstructor:!1,hadStaticBlock:!1};let r=[];const i=this.startNode();if(i.body=[],this.expect(c.braceL),this.withTopicForbiddingContext((()=>{for(;!this.match(c.braceR);){if(this.eat(c.semi)){if(r.length>0)throw this.raise(this.state.lastTokEnd,g.DecoratorSemicolon);continue}if(this.match(c.at)){r.push(this.parseDecorator());continue}const t=this.startNode();r.length&&(t.decorators=r,this.resetStartLocationFromNode(t,r[0]),r=[]),this.parseClassMember(i,t,s),\"constructor\"===t.kind&&t.decorators&&t.decorators.length>0&&this.raise(t.start,g.DecoratorConstructor)}})),this.state.strict=e,this.next(),r.length)throw this.raise(this.state.start,g.TrailingDecorator);return this.classScope.exit(),this.finishNode(i,\"ClassBody\")}parseClassMemberFromModifier(t,e){const s=this.parseIdentifier(!0);if(this.isClassMethod()){const r=e;return r.kind=\"method\",r.computed=!1,r.key=s,r.static=!1,this.pushClassMethod(t,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=e;return r.computed=!1,r.key=s,r.static=!1,t.body.push(this.parseClassProperty(r)),!0}return!1}parseClassMember(t,e,s){const r=this.isContextual(\"static\");if(r){if(this.parseClassMemberFromModifier(t,e))return;if(this.eat(c.braceL))return void this.parseClassStaticBlock(t,e,s)}this.parseClassMemberWithIsStatic(t,e,s,r)}parseClassMemberWithIsStatic(t,e,s,r){const i=e,n=e,a=e,o=e,u=i,h=i;if(e.static=r,this.eat(c.star))return u.kind=\"method\",this.parseClassElementName(u),\"PrivateName\"===u.key.type?void this.pushClassPrivateMethod(t,n,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,g.ConstructorIsGenerator),void this.pushClassMethod(t,i,!0,!1,!1,!1));const p=this.state.containsEsc,l=this.parseClassElementName(e),d=\"PrivateName\"===l.type,D=\"Identifier\"===l.type,m=this.state.start;if(this.parsePostMemberNameModifiers(h),this.isClassMethod()){if(u.kind=\"method\",d)return void this.pushClassPrivateMethod(t,n,!1,!1);const e=this.isNonstaticConstructor(i);let r=!1;e&&(i.kind=\"constructor\",s.hadConstructor&&!this.hasPlugin(\"typescript\")&&this.raise(l.start,g.DuplicateConstructor),s.hadConstructor=!0,r=s.constructorAllowsSuper),this.pushClassMethod(t,i,!1,!1,e,r)}else if(this.isClassProperty())d?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,a);else if(!D||\"async\"!==l.name||p||this.isLineTerminator())!D||\"get\"!==l.name&&\"set\"!==l.name||p||this.match(c.star)&&this.isLineTerminator()?this.isLineTerminator()?d?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,a):this.unexpected():(u.kind=l.name,this.parseClassElementName(i),\"PrivateName\"===u.key.type?this.pushClassPrivateMethod(t,n,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,g.ConstructorIsAccessor),this.pushClassMethod(t,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i));else{const e=this.eat(c.star);h.optional&&this.unexpected(m),u.kind=\"method\",this.parseClassElementName(u),this.parsePostMemberNameModifiers(h),\"PrivateName\"===u.key.type?this.pushClassPrivateMethod(t,n,e,!0):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,g.ConstructorIsAsync),this.pushClassMethod(t,i,e,!0,!1,!1))}}parseClassElementName(t){const e=this.parsePropertyName(t,!0);return t.computed||!t.static||\"prototype\"!==e.name&&\"prototype\"!==e.value||this.raise(e.start,g.StaticPrototype),\"PrivateName\"===e.type&&\"constructor\"===e.id.name&&this.raise(e.start,g.ConstructorClassPrivateField),e}parseClassStaticBlock(t,e,s){var r;this.expectPlugin(\"classStaticBlock\",e.start),this.scope.enter(80),this.expressionScope.enter(kt());const i=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const n=e.body=[];this.parseBlockOrModuleBlockBody(n,void 0,!1,c.braceR),this.prodParam.exit(),this.expressionScope.exit(),this.scope.exit(),this.state.labels=i,t.body.push(this.finishNode(e,\"StaticBlock\")),s.hadStaticBlock&&this.raise(e.start,g.DuplicateStaticBlock),(null==(r=e.decorators)?void 0:r.length)&&this.raise(e.start,g.DecoratorStaticBlock),s.hadStaticBlock=!0}pushClassProperty(t,e){e.computed||\"constructor\"!==e.key.name&&\"constructor\"!==e.key.value||this.raise(e.key.start,g.ConstructorClassField),t.body.push(this.parseClassProperty(e))}pushClassPrivateProperty(t,e){this.expectPlugin(\"classPrivateProperties\",e.key.start);const s=this.parseClassPrivateProperty(e);t.body.push(s),this.classScope.declarePrivateName(s.key.id.name,0,s.key.start)}pushClassMethod(t,e,s,r,i,n){t.body.push(this.parseMethod(e,s,r,i,n,\"ClassMethod\",!0))}pushClassPrivateMethod(t,e,s,r){this.expectPlugin(\"classPrivateMethods\",e.key.start);const i=this.parseMethod(e,s,r,!1,!1,\"ClassPrivateMethod\",!0);t.body.push(i);const n=\"get\"===i.kind?i.static?6:2:\"set\"===i.kind?i.static?5:1:0;this.classScope.declarePrivateName(i.key.id.name,n,i.key.start)}parsePostMemberNameModifiers(t){}parseClassPrivateProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,\"ClassPrivateProperty\")}parseClassProperty(t){return t.typeAnnotation&&!this.match(c.eq)||this.expectPlugin(\"classProperties\"),this.parseInitializer(t),this.semicolon(),this.finishNode(t,\"ClassProperty\")}parseInitializer(t){this.scope.enter(80),this.expressionScope.enter(kt()),this.prodParam.enter(0),t.value=this.eat(c.eq)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(t,e,s,r=139){this.match(c.name)?(t.id=this.parseIdentifier(),e&&this.checkLVal(t.id,r,void 0,\"class name\")):s||!e?t.id=null:this.unexpected(null,g.MissingClassName)}parseClassSuper(t){t.superClass=this.eat(c._extends)?this.parseExprSubscripts():null}parseExport(t){const e=this.maybeParseExportDefaultSpecifier(t),s=!e||this.eat(c.comma),r=s&&this.eatExportStar(t),i=r&&this.maybeParseExportNamespaceSpecifier(t),n=s&&(!i||this.eat(c.comma)),a=e||r;if(r&&!i)return e&&this.unexpected(),this.parseExportFrom(t,!0),this.finishNode(t,\"ExportAllDeclaration\");const o=this.maybeParseExportNamedSpecifiers(t);if(e&&s&&!r&&!o||i&&n&&!o)throw this.unexpected(null,c.braceL);let u;if(a||o?(u=!1,this.parseExportFrom(t,a)):u=this.maybeParseExportDeclaration(t),a||o||u)return this.checkExport(t,!0,!1,!!t.source),this.finishNode(t,\"ExportNamedDeclaration\");if(this.eat(c._default))return t.declaration=this.parseExportDefaultExpression(),this.checkExport(t,!0,!0),this.finishNode(t,\"ExportDefaultDeclaration\");throw this.unexpected(null,c.braceL)}eatExportStar(t){return this.eat(c.star)}maybeParseExportDefaultSpecifier(t){if(this.isExportDefaultSpecifier()){this.expectPlugin(\"exportDefaultFrom\");const e=this.startNode();return e.exported=this.parseIdentifier(!0),t.specifiers=[this.finishNode(e,\"ExportDefaultSpecifier\")],!0}return!1}maybeParseExportNamespaceSpecifier(t){if(this.isContextual(\"as\")){t.specifiers||(t.specifiers=[]);const e=this.startNodeAt(this.state.lastTokStart,this.state.lastTokStartLoc);return this.next(),e.exported=this.parseModuleExportName(),t.specifiers.push(this.finishNode(e,\"ExportNamespaceSpecifier\")),!0}return!1}maybeParseExportNamedSpecifiers(t){return!!this.match(c.braceL)&&(t.specifiers||(t.specifiers=[]),t.specifiers.push(...this.parseExportSpecifiers()),t.source=null,t.declaration=null,!0)}maybeParseExportDeclaration(t){return!!this.shouldParseExportDeclaration()&&(t.specifiers=[],t.source=null,t.declaration=this.parseExportDeclaration(t),!0)}isAsyncFunction(){if(!this.isContextual(\"async\"))return!1;const t=this.nextTokenStart();return!m.test(this.input.slice(this.state.pos,t))&&this.isUnparsedContextual(t,\"function\")}parseExportDefaultExpression(){const t=this.startNode(),e=this.isAsyncFunction();if(this.match(c._function)||e)return this.next(),e&&this.next(),this.parseFunction(t,5,e);if(this.match(c._class))return this.parseClass(t,!0,!0);if(this.match(c.at))return this.hasPlugin(\"decorators\")&&this.getPluginOption(\"decorators\",\"decoratorsBeforeExport\")&&this.raise(this.state.start,g.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(t,!0,!0);if(this.match(c._const)||this.match(c._var)||this.isLet())throw this.raise(this.state.start,g.UnsupportedDefaultExport);{const t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}}parseExportDeclaration(t){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(c.name)){const t=this.state.value;if(\"async\"===t&&!this.state.containsEsc||\"let\"===t)return!1;if((\"type\"===t||\"interface\"===t)&&!this.state.containsEsc){const t=this.lookahead();if(t.type===c.name&&\"from\"!==t.value||t.type===c.braceL)return this.expectOnePlugin([\"flow\",\"typescript\"]),!1}}else if(!this.match(c._default))return!1;const t=this.nextTokenStart(),e=this.isUnparsedContextual(t,\"from\");if(44===this.input.charCodeAt(t)||this.match(c.name)&&e)return!0;if(this.match(c._default)&&e){const e=this.input.charCodeAt(this.nextTokenStartSince(t+4));return 34===e||39===e}return!1}parseExportFrom(t,e){if(this.eatContextual(\"from\")){t.source=this.parseImportSource(),this.checkExport(t);const e=this.maybeParseImportAssertions();e&&(t.assertions=e)}else e?this.unexpected():t.source=null;this.semicolon()}shouldParseExportDeclaration(){if(this.match(c.at)&&(this.expectOnePlugin([\"decorators\",\"decorators-legacy\"]),this.hasPlugin(\"decorators\"))){if(!this.getPluginOption(\"decorators\",\"decoratorsBeforeExport\"))return!0;this.unexpected(this.state.start,g.DecoratorBeforeExport)}return\"var\"===this.state.type.keyword||\"const\"===this.state.type.keyword||\"function\"===this.state.type.keyword||\"class\"===this.state.type.keyword||this.isLet()||this.isAsyncFunction()}checkExport(t,e,s,r){if(e)if(s){if(this.checkDuplicateExports(t,\"default\"),this.hasPlugin(\"exportDefaultFrom\")){var i;const e=t.declaration;\"Identifier\"!==e.type||\"from\"!==e.name||e.end-e.start!=4||(null==(i=e.extra)?void 0:i.parenthesized)||this.raise(e.start,g.ExportDefaultFromAsIdentifier)}}else if(t.specifiers&&t.specifiers.length)for(let e=0,s=t.specifiers;e-1&&this.raise(t.start,\"default\"===e?g.DuplicateDefaultExport:g.DuplicateExport,e),this.state.exportedIdentifiers.push(e)}parseExportSpecifiers(){const t=[];let e=!0;for(this.expect(c.braceL);!this.eat(c.braceR);){if(e)e=!1;else if(this.expect(c.comma),this.eat(c.braceR))break;const s=this.startNode();s.local=this.parseModuleExportName(),s.exported=this.eatContextual(\"as\")?this.parseModuleExportName():s.local.__clone(),t.push(this.finishNode(s,\"ExportSpecifier\"))}return t}parseModuleExportName(){if(this.match(c.string)){this.expectPlugin(\"moduleStringNames\");const t=this.parseLiteral(this.state.value,\"StringLiteral\"),e=t.value.match(Mt);return e&&this.raise(t.start,g.ModuleExportNameHasLoneSurrogate,e[0].charCodeAt(0).toString(16)),t}return this.parseIdentifier(!0)}parseImport(t){if(t.specifiers=[],!this.match(c.string)){const e=!this.maybeParseDefaultImportSpecifier(t)||this.eat(c.comma),s=e&&this.maybeParseStarImportSpecifier(t);e&&!s&&this.parseNamedImportSpecifiers(t),this.expectContextual(\"from\")}t.source=this.parseImportSource();const e=this.maybeParseImportAssertions();if(e)t.assertions=e;else{const e=this.maybeParseModuleAttributes();e&&(t.attributes=e)}return this.semicolon(),this.finishNode(t,\"ImportDeclaration\")}parseImportSource(){return this.match(c.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(t){return this.match(c.name)}parseImportSpecifierLocal(t,e,s,r){e.local=this.parseIdentifier(),this.checkLVal(e.local,9,void 0,r),t.specifiers.push(this.finishNode(e,s))}parseAssertEntries(){const t=[],e=new Set;do{if(this.match(c.braceR))break;const s=this.startNode(),r=this.state.value;if(this.match(c.string)?s.key=this.parseLiteral(r,\"StringLiteral\"):s.key=this.parseIdentifier(!0),this.expect(c.colon),\"type\"!==r&&this.raise(s.key.start,g.ModuleAttributeDifferentFromType,r),e.has(r)&&this.raise(s.key.start,g.ModuleAttributesWithDuplicateKeys,r),e.add(r),!this.match(c.string))throw this.unexpected(this.state.start,g.ModuleAttributeInvalidValue);s.value=this.parseLiteral(this.state.value,\"StringLiteral\"),this.finishNode(s,\"ImportAttribute\"),t.push(s)}while(this.eat(c.comma));return t}maybeParseModuleAttributes(){if(!this.match(c._with)||this.hasPrecedingLineBreak())return this.hasPlugin(\"moduleAttributes\")?[]:null;this.expectPlugin(\"moduleAttributes\"),this.next();const t=[],e=new Set;do{const s=this.startNode();if(s.key=this.parseIdentifier(!0),\"type\"!==s.key.name&&this.raise(s.key.start,g.ModuleAttributeDifferentFromType,s.key.name),e.has(s.key.name)&&this.raise(s.key.start,g.ModuleAttributesWithDuplicateKeys,s.key.name),e.add(s.key.name),this.expect(c.colon),!this.match(c.string))throw this.unexpected(this.state.start,g.ModuleAttributeInvalidValue);s.value=this.parseLiteral(this.state.value,\"StringLiteral\"),this.finishNode(s,\"ImportAttribute\"),t.push(s)}while(this.eat(c.comma));return t}maybeParseImportAssertions(){if(!this.isContextual(\"assert\")||this.hasPrecedingLineBreak())return this.hasPlugin(\"importAssertions\")?[]:null;this.expectPlugin(\"importAssertions\"),this.next(),this.eat(c.braceL);const t=this.parseAssertEntries();return this.eat(c.braceR),t}maybeParseDefaultImportSpecifier(t){return!!this.shouldParseDefaultImport(t)&&(this.parseImportSpecifierLocal(t,this.startNode(),\"ImportDefaultSpecifier\",\"default import specifier\"),!0)}maybeParseStarImportSpecifier(t){if(this.match(c.star)){const e=this.startNode();return this.next(),this.expectContextual(\"as\"),this.parseImportSpecifierLocal(t,e,\"ImportNamespaceSpecifier\",\"import namespace specifier\"),!0}return!1}parseNamedImportSpecifiers(t){let e=!0;for(this.expect(c.braceL);!this.eat(c.braceR);){if(e)e=!1;else{if(this.eat(c.colon))throw this.raise(this.state.start,g.DestructureNamedImport);if(this.expect(c.comma),this.eat(c.braceR))break}this.parseImportSpecifier(t)}}parseImportSpecifier(t){const e=this.startNode();if(e.imported=this.parseModuleExportName(),this.eatContextual(\"as\"))e.local=this.parseIdentifier();else{const{imported:t}=e;if(\"StringLiteral\"===t.type)throw this.raise(e.start,g.ImportBindingIsString,t.value);this.checkReservedWord(t.name,e.start,!0,!0),e.local=t.__clone()}this.checkLVal(e.local,9,void 0,\"import specifier\"),t.specifiers.push(this.finishNode(e,\"ImportSpecifier\"))}}{constructor(t,e){super(t=function(t){const e={};for(let s=0,r=Object.keys(Ct);s\"'\".concat(t,\"'\"))).join(\", \"));if(Dt(t,\"moduleAttributes\")){if(Dt(t,\"importAssertions\"))throw new Error(\"Cannot combine importAssertions and moduleAttributes plugins.\");if(\"may-2020\"!==mt(t,\"moduleAttributes\",\"version\"))throw new Error(\"The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.\")}if(Dt(t,\"recordAndTuple\")&&!yt.includes(mt(t,\"recordAndTuple\",\"syntaxType\")))throw new Error(\"'recordAndTuple' requires 'syntaxType' option whose value should be one of: \"+yt.map((t=>\"'\".concat(t,\"'\"))).join(\", \"))}(t.plugins),s=function(t){const e=At.filter((e=>Dt(t,e))),s=e.join(\"/\");let r=qt[s];if(!r){r=jt;for(let t=0;t{if(\"babel\"===n.parser&&function(t,e){if(e.filepath&&e.filepath.endsWith(\".js.flow\"))return!0;const s=Hs(t);s&&(t=t.slice(s.length));const r=zs(t,0);return!1!==r&&(t=t.slice(0,r)),Ks.test(t)}(r,n))return n.parser=\"babel-flow\",Ys(r,i,n);const a=Vs,o=\"script\"===n.__babelSourceType?\"script\":\"module\";let u;try{u=function(t,e){let s;for(let r=0;ra[e](r,t)),function(t,e,s){if(!t)return e;const r=[];for(const t of e)for(const e of s)r.push([...t,e]);return r}(r.includes(\"|>\"),s,[[\"pipelineOperator\",{proposal:\"smart\"}],[\"pipelineOperator\",{proposal:\"minimal\"}],[\"pipelineOperator\",{proposal:\"fsharp\"}]]).map((t=>function({sourceType:t,extraPlugins:e=[]}){return{sourceType:t,allowAwaitOutsideFunction:!0,allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,allowUndeclaredExports:!0,errorRecovery:!0,createParenthesizedExpressions:!0,plugins:[\"doExpressions\",\"classProperties\",\"exportDefaultFrom\",\"functionBind\",\"functionSent\",\"classPrivateProperties\",\"throwExpressions\",\"classPrivateMethods\",\"v8intrinsic\",\"partialApplication\",[\"decorators\",{decoratorsBeforeExport:!1}],\"privateIn\",\"importAssertions\",[\"recordAndTuple\",{syntaxType:\"hash\"}],\"decimal\",\"moduleStringNames\",\"classStaticBlock\",...e],tokens:!0,ranges:!0}}({sourceType:o,extraPlugins:t}))))}catch(e){const{message:s,loc:r}=e;throw t(s.replace(/ \\(.*\\)/,\"\"),{start:{line:r?r.line:0,column:r?r.column+1:0}})}return qs(u,Object.assign({},n,{originalText:r}))}}const $s=Js(\"parse\",[\"jsx\",\"flow\"]),Ys=Js(\"parse\",[\"jsx\",[\"flow\",{all:!0,enums:!0}]]),Qs=Js(\"parse\",[\"jsx\",\"typescript\"],[\"typescript\"]),Zs=Js(\"parseExpression\",[\"jsx\"]);const tr=new Set([\"Did not expect a type annotation here.\",\"The only accepted module attribute is `type`\",\"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`\"]);function er(t){const e=t.errors.find((t=>function(t){const[,e]=t.message.match(/(.*?)\\s*\\(\\d+:\\d+\\)/);return tr.has(e)}(t)));if(e)throw e;return t}function sr(e,s){switch(e.type){case\"ArrayExpression\":return e.elements.forEach(r);case\"ObjectExpression\":return e.properties.forEach(r);case\"ObjectProperty\":if(e.computed)throw i(\"computed\");if(e.shorthand)throw i(\"shorthand\");return[e.key,e.value].forEach(r);case\"UnaryExpression\":switch(e.operator){case\"+\":case\"-\":return r(e.argument);default:throw i(\"operator\")}case\"Identifier\":if(s&&\"ObjectProperty\"===s.type&&s.key===e)return;throw i();case\"NullLiteral\":case\"BooleanLiteral\":case\"NumericLiteral\":case\"StringLiteral\":return;default:throw i()}function r(t){return sr(t,e)}function i(s){const r=s?\"\".concat(e.type,\" with \").concat(s,\"=\").concat(JSON.stringify(e[s])):e.type;return t(\"\".concat(r,\" is not allowed in JSON.\"),{start:{line:e.loc.start.line,column:e.loc.start.column+1}})}}const rr={parse:$s,astFormat:\"estree\",hasPragma:Ws,locStart:Xs,locEnd:Gs},ir=Object.assign({},rr,{parse:Ys}),nr=Object.assign({},rr,{parse:Qs}),ar=Object.assign({},rr,{parse:Zs});return{parsers:{babel:rr,\"babel-flow\":ir,\"babel-ts\":nr,json:Object.assign({},ar,{hasPragma:()=>!0}),json5:ar,\"json-stringify\":{parse:function(t,e,s){const r=Zs(t,e,s);return r.comments.forEach(sr),sr(r),r},astFormat:\"estree-json\",locStart:Xs,locEnd:Gs},__js_expression:ar,__vue_expression:ar,__vue_event_binding:rr}}}));\n","module.exports = require(\"constants\");","'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 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","module.exports = require(\"path\");","'use strict';\n\nconst matchOperatorsRegex = /[|\\\\{}()[\\]^$+*?.-]/g;\n\nmodule.exports = string => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn string.replace(matchOperatorsRegex, '\\\\$&');\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlPush = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/eab2f95c0de94e9816c8a6110d20673761dd97a4/include/curl/multi.h#L426-L435\r\n/**\r\n * Object with constants to be used as the return value for the {@link \"Multi\".Multi.setOpt | `Multi`} option `PUSHFUNCTION`.\r\n *\r\n * `CURL_PUSH_OK` becomes `CurlPush.Ok`\r\n *\r\n * @public\r\n */\r\nvar CurlPush;\r\n(function (CurlPush) {\r\n CurlPush[CurlPush[\"Ok\"] = 0] = \"Ok\";\r\n CurlPush[CurlPush[\"Deny\"] = 1] = \"Deny\";\r\n})(CurlPush = exports.CurlPush || (exports.CurlPush = {}));\r\n//# sourceMappingURL=CurlPush.js.map","'use strict'\n\nconst { stringify } = require('jsonfile/utils')\nconst { outputFileSync } = require('../output')\n\nfunction outputJsonSync (file, data, options) {\n const str = stringify(data, options)\n\n outputFileSync(file, str, options)\n}\n\nmodule.exports = outputJsonSync\n","'use strict';\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptRegExp(data) {\n if (data === null) return false;\n if (data.length === 0) return false;\n\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n\n // if regexp starts with '/' it can have modifiers and must be properly closed\n // `/foo/gim` - modifiers tail can be maximum 3 chars\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n\n if (modifiers.length > 3) return false;\n // if expression starts with /, is should be properly terminated\n if (regexp[regexp.length - modifiers.length - 1] !== '/') return false;\n }\n\n return true;\n}\n\nfunction constructJavascriptRegExp(data) {\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n\n // `/foo/gim` - tail can be maximum 4 chars\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n regexp = regexp.slice(1, regexp.length - modifiers.length - 1);\n }\n\n return new RegExp(regexp, modifiers);\n}\n\nfunction representJavascriptRegExp(object /*, style*/) {\n var result = '/' + object.source + '/';\n\n if (object.global) result += 'g';\n if (object.multiline) result += 'm';\n if (object.ignoreCase) result += 'i';\n\n return result;\n}\n\nfunction isRegExp(object) {\n return Object.prototype.toString.call(object) === '[object RegExp]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/regexp', {\n kind: 'scalar',\n resolve: resolveJavascriptRegExp,\n construct: constructJavascriptRegExp,\n predicate: isRegExp,\n represent: representJavascriptRegExp\n});\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlMerge(data) {\n return data === '<<' || data === null;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:merge', {\n kind: 'scalar',\n resolve: resolveYamlMerge\n});\n","'use strict';\n\nvar os = require('os');\nvar path = require('path');\nvar Module = require('module');\nvar fs = require('fs');\nvar util = require('util');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar os__default = /*#__PURE__*/_interopDefaultLegacy(os);\nvar path__default = /*#__PURE__*/_interopDefaultLegacy(path);\nvar Module__default = /*#__PURE__*/_interopDefaultLegacy(Module);\nvar fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);\nvar util__default = /*#__PURE__*/_interopDefaultLegacy(util);\n\nfunction createCommonjsModule(fn, basedir, module) {\n\treturn module = {\n\t\tpath: basedir,\n\t\texports: {},\n\t\trequire: function (path, base) {\n\t\t\treturn commonjsRequire(path, (base === undefined || base === null) ? module.path : base);\n\t\t}\n\t}, fn(module, module.exports), module.exports;\n}\n\nfunction commonjsRequire () {\n\tthrow new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');\n}\n\nconst resolveFrom = (fromDir, moduleId, silent) => {\n if (typeof fromDir !== 'string') {\n throw new TypeError(`Expected \\`fromDir\\` to be of type \\`string\\`, got \\`${typeof fromDir}\\``);\n }\n\n if (typeof moduleId !== 'string') {\n throw new TypeError(`Expected \\`moduleId\\` to be of type \\`string\\`, got \\`${typeof moduleId}\\``);\n }\n\n try {\n fromDir = fs__default['default'].realpathSync(fromDir);\n } catch (err) {\n if (err.code === 'ENOENT') {\n fromDir = path__default['default'].resolve(fromDir);\n } else if (silent) {\n return null;\n } else {\n throw err;\n }\n }\n\n const fromFile = path__default['default'].join(fromDir, 'noop.js');\n\n const resolveFileName = () => Module__default['default']._resolveFilename(moduleId, {\n id: fromFile,\n filename: fromFile,\n paths: Module__default['default']._nodeModulePaths(fromDir)\n });\n\n if (silent) {\n try {\n return resolveFileName();\n } catch (err) {\n return null;\n }\n }\n\n return resolveFileName();\n};\n\nvar resolveFrom_1 = (fromDir, moduleId) => resolveFrom(fromDir, moduleId);\n\nvar silent = (fromDir, moduleId) => resolveFrom(fromDir, moduleId, true);\nresolveFrom_1.silent = silent;\n\nvar importFresh = moduleId => {\n if (typeof moduleId !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n const parentPath = __filename;\n const filePath = resolveFrom_1(path__default['default'].dirname(parentPath), moduleId);\n const oldModule = eval('require').cache[filePath]; // Delete itself from module parent\n\n if (oldModule && oldModule.parent) {\n let i = oldModule.parent.children.length;\n\n while (i--) {\n if (oldModule.parent.children[i].id === filePath) {\n oldModule.parent.children.splice(i, 1);\n }\n }\n }\n\n delete eval('require').cache[filePath]; // Delete module from cache\n\n const parent = eval('require').cache[parentPath]; // If `filePath` and `parentPath` are the same, cache will already be deleted so we won't get a memory leak in next step\n\n return parent === undefined ? eval('require')(filePath) : parent.require(filePath); // In case cache doesn't have parent, fall back to normal require\n};\n\nvar isArrayish = function isArrayish(obj) {\n if (!obj) {\n return false;\n }\n\n return obj instanceof Array || Array.isArray(obj) || obj.length >= 0 && obj.splice instanceof Function;\n};\n\nvar errorEx = function errorEx(name, properties) {\n if (!name || name.constructor !== String) {\n properties = name || {};\n name = Error.name;\n }\n\n var errorExError = function ErrorEXError(message) {\n if (!this) {\n return new ErrorEXError(message);\n }\n\n message = message instanceof Error ? message.message : message || this.message;\n Error.call(this, message);\n Error.captureStackTrace(this, errorExError);\n this.name = name;\n Object.defineProperty(this, 'message', {\n configurable: true,\n enumerable: false,\n get: function () {\n var newMessage = message.split(/\\r?\\n/g);\n\n for (var key in properties) {\n if (!properties.hasOwnProperty(key)) {\n continue;\n }\n\n var modifier = properties[key];\n\n if ('message' in modifier) {\n newMessage = modifier.message(this[key], newMessage) || newMessage;\n\n if (!isArrayish(newMessage)) {\n newMessage = [newMessage];\n }\n }\n }\n\n return newMessage.join('\\n');\n },\n set: function (v) {\n message = v;\n }\n });\n var overwrittenStack = null;\n var stackDescriptor = Object.getOwnPropertyDescriptor(this, 'stack');\n var stackGetter = stackDescriptor.get;\n var stackValue = stackDescriptor.value;\n delete stackDescriptor.value;\n delete stackDescriptor.writable;\n\n stackDescriptor.set = function (newstack) {\n overwrittenStack = newstack;\n };\n\n stackDescriptor.get = function () {\n var stack = (overwrittenStack || (stackGetter ? stackGetter.call(this) : stackValue)).split(/\\r?\\n+/g); // starting in Node 7, the stack builder caches the message.\n // just replace it.\n\n if (!overwrittenStack) {\n stack[0] = this.name + ': ' + this.message;\n }\n\n var lineCount = 1;\n\n for (var key in properties) {\n if (!properties.hasOwnProperty(key)) {\n continue;\n }\n\n var modifier = properties[key];\n\n if ('line' in modifier) {\n var line = modifier.line(this[key]);\n\n if (line) {\n stack.splice(lineCount++, 0, ' ' + line);\n }\n }\n\n if ('stack' in modifier) {\n modifier.stack(this[key], stack);\n }\n }\n\n return stack.join('\\n');\n };\n\n Object.defineProperty(this, 'stack', stackDescriptor);\n };\n\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(errorExError.prototype, Error.prototype);\n Object.setPrototypeOf(errorExError, Error);\n } else {\n util__default['default'].inherits(errorExError, Error);\n }\n\n return errorExError;\n};\n\nerrorEx.append = function (str, def) {\n return {\n message: function (v, message) {\n v = v || def;\n\n if (v) {\n message[0] += ' ' + str.replace('%s', v.toString());\n }\n\n return message;\n }\n };\n};\n\nerrorEx.line = function (str, def) {\n return {\n line: function (v) {\n v = v || def;\n\n if (v) {\n return str.replace('%s', v.toString());\n }\n\n return null;\n }\n };\n};\n\nvar errorEx_1 = errorEx;\n\nvar jsonParseBetterErrors = parseJson;\n\nfunction parseJson(txt, reviver, context) {\n context = context || 20;\n\n try {\n return JSON.parse(txt, reviver);\n } catch (e) {\n if (typeof txt !== 'string') {\n const isEmptyArray = Array.isArray(txt) && txt.length === 0;\n const errorMessage = 'Cannot parse ' + (isEmptyArray ? 'an empty array' : String(txt));\n throw new TypeError(errorMessage);\n }\n\n const syntaxErr = e.message.match(/^Unexpected token.*position\\s+(\\d+)/i);\n const errIdx = syntaxErr ? +syntaxErr[1] : e.message.match(/^Unexpected end of JSON.*/i) ? txt.length - 1 : null;\n\n if (errIdx != null) {\n const start = errIdx <= context ? 0 : errIdx - context;\n const end = errIdx + context >= txt.length ? txt.length : errIdx + context;\n e.message += ` while parsing near '${start === 0 ? '' : '...'}${txt.slice(start, end)}${end === txt.length ? '' : '...'}'`;\n } else {\n e.message += ` while parsing '${txt.slice(0, context * 2)}'`;\n }\n\n throw e;\n }\n}\n\nvar dist = createCommonjsModule(function (module, exports) {\n\n var LF = '\\n';\n var CR = '\\r';\n\n var LinesAndColumns = function () {\n function LinesAndColumns(string) {\n this.string = string;\n var offsets = [0];\n\n for (var offset = 0; offset < string.length;) {\n switch (string[offset]) {\n case LF:\n offset += LF.length;\n offsets.push(offset);\n break;\n\n case CR:\n offset += CR.length;\n\n if (string[offset] === LF) {\n offset += LF.length;\n }\n\n offsets.push(offset);\n break;\n\n default:\n offset++;\n break;\n }\n }\n\n this.offsets = offsets;\n }\n\n LinesAndColumns.prototype.locationForIndex = function (index) {\n if (index < 0 || index > this.string.length) {\n return null;\n }\n\n var line = 0;\n var offsets = this.offsets;\n\n while (offsets[line + 1] <= index) {\n line++;\n }\n\n var column = index - offsets[line];\n return {\n line: line,\n column: column\n };\n };\n\n LinesAndColumns.prototype.indexForLocation = function (location) {\n var line = location.line,\n column = location.column;\n\n if (line < 0 || line >= this.offsets.length) {\n return null;\n }\n\n if (column < 0 || column > this.lengthOfLine(line)) {\n return null;\n }\n\n return this.offsets[line] + column;\n };\n\n LinesAndColumns.prototype.lengthOfLine = function (line) {\n var offset = this.offsets[line];\n var nextOffset = line === this.offsets.length - 1 ? this.string.length : this.offsets[line + 1];\n return nextOffset - offset;\n };\n\n return LinesAndColumns;\n }();\n\n exports.__esModule = true;\n exports[\"default\"] = LinesAndColumns;\n});\n\nvar jsTokens = createCommonjsModule(function (module, exports) {\n // Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell\n // License: MIT. (See LICENSE.)\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n }); // This regex comes from regex.coffee, and is inserted here by generate-index.js\n // (run `npm run build`).\n\n exports.default = /((['\"])(?:(?!\\2|\\\\).|\\\\(?:\\r\\n|[\\s\\S]))*(\\2)?|`(?:[^`\\\\$]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{[^}]*\\}?)*\\}?)*(`)?)|(\\/\\/.*)|(\\/\\*(?:[^*]|\\*(?!\\/))*(\\*\\/)?)|(\\/(?!\\*)(?:\\[(?:(?![\\]\\\\]).|\\\\.)*\\]|(?![\\/\\]\\\\]).|\\\\.)+\\/(?:(?!\\s*(?:\\b|[\\u0080-\\uFFFF$\\\\'\"~({]|[+\\-!](?!=)|\\.?\\d))|[gmiyus]{1,6}\\b(?![\\u0080-\\uFFFF$\\\\]|\\s*(?:[+\\-*%&|^<>!=?({]|\\/(?![\\/*])))))|(0[xX][\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?)|((?!\\d)(?:(?!\\s)[$\\w\\u0080-\\uFFFF]|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+)|(--|\\+\\+|&&|\\|\\||=>|\\.{3}|(?:[+\\-\\/%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\](){}])|(\\s+)|(^$|[\\s\\S])/g;\n\n exports.matchToToken = function (match) {\n var token = {\n type: \"invalid\",\n value: match[0],\n closed: undefined\n };\n if (match[1]) token.type = \"string\", token.closed = !!(match[3] || match[4]);else if (match[5]) token.type = \"comment\";else if (match[6]) token.type = \"comment\", token.closed = !!match[7];else if (match[8]) token.type = \"regex\";else if (match[9]) token.type = \"number\";else if (match[10]) token.type = \"name\";else if (match[11]) token.type = \"punctuator\";else if (match[12]) token.type = \"whitespace\";\n return token;\n };\n});\n\nvar identifier = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.isIdentifierStart = isIdentifierStart;\n exports.isIdentifierChar = isIdentifierChar;\n exports.isIdentifierName = isIdentifierName;\n let nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u08a0-\\u08b4\\u08b6-\\u08c7\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\u9ffc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7bf\\ua7c2-\\ua7ca\\ua7f5-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\n let nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08d3-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf\\u1ac0\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1df9\\u1dfb-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\";\n const nonASCIIidentifierStart = new RegExp(\"[\" + nonASCIIidentifierStartChars + \"]\");\n const nonASCIIidentifier = new RegExp(\"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\");\n nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\n const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 107, 20, 28, 22, 13, 52, 76, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 230, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 35, 56, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8952, 286, 50, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 2357, 44, 11, 6, 17, 0, 370, 43, 1301, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42717, 35, 4148, 12, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938];\n const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 176, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 135, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 419, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];\n\n function isInAstralSet(code, set) {\n let pos = 0x10000;\n\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n\n return false;\n }\n\n function isIdentifierStart(code) {\n if (code < 65) return code === 36;\n if (code <= 90) return true;\n if (code < 97) return code === 95;\n if (code <= 122) return true;\n\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));\n }\n\n return isInAstralSet(code, astralIdentifierStartCodes);\n }\n\n function isIdentifierChar(code) {\n if (code < 48) return code === 36;\n if (code < 58) return true;\n if (code < 65) return false;\n if (code <= 90) return true;\n if (code < 97) return code === 95;\n if (code <= 122) return true;\n\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n\n return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);\n }\n\n function isIdentifierName(name) {\n let isFirst = true;\n\n for (let _i = 0, _Array$from = Array.from(name); _i < _Array$from.length; _i++) {\n const char = _Array$from[_i];\n const cp = char.codePointAt(0);\n\n if (isFirst) {\n if (!isIdentifierStart(cp)) {\n return false;\n }\n\n isFirst = false;\n } else if (!isIdentifierChar(cp)) {\n return false;\n }\n }\n\n return !isFirst;\n }\n});\n\nvar keyword = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.isReservedWord = isReservedWord;\n exports.isStrictReservedWord = isStrictReservedWord;\n exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;\n exports.isStrictBindReservedWord = isStrictBindReservedWord;\n exports.isKeyword = isKeyword;\n const reservedWords = {\n keyword: [\"break\", \"case\", \"catch\", \"continue\", \"debugger\", \"default\", \"do\", \"else\", \"finally\", \"for\", \"function\", \"if\", \"return\", \"switch\", \"throw\", \"try\", \"var\", \"const\", \"while\", \"with\", \"new\", \"this\", \"super\", \"class\", \"extends\", \"export\", \"import\", \"null\", \"true\", \"false\", \"in\", \"instanceof\", \"typeof\", \"void\", \"delete\"],\n strict: [\"implements\", \"interface\", \"let\", \"package\", \"private\", \"protected\", \"public\", \"static\", \"yield\"],\n strictBind: [\"eval\", \"arguments\"]\n };\n const keywords = new Set(reservedWords.keyword);\n const reservedWordsStrictSet = new Set(reservedWords.strict);\n const reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\n\n function isReservedWord(word, inModule) {\n return inModule && word === \"await\" || word === \"enum\";\n }\n\n function isStrictReservedWord(word, inModule) {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n }\n\n function isStrictBindOnlyReservedWord(word) {\n return reservedWordsStrictBindSet.has(word);\n }\n\n function isStrictBindReservedWord(word, inModule) {\n return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);\n }\n\n function isKeyword(word) {\n return keywords.has(word);\n }\n});\n\nvar lib = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(exports, \"isIdentifierName\", {\n enumerable: true,\n get: function () {\n return identifier.isIdentifierName;\n }\n });\n Object.defineProperty(exports, \"isIdentifierChar\", {\n enumerable: true,\n get: function () {\n return identifier.isIdentifierChar;\n }\n });\n Object.defineProperty(exports, \"isIdentifierStart\", {\n enumerable: true,\n get: function () {\n return identifier.isIdentifierStart;\n }\n });\n Object.defineProperty(exports, \"isReservedWord\", {\n enumerable: true,\n get: function () {\n return keyword.isReservedWord;\n }\n });\n Object.defineProperty(exports, \"isStrictBindOnlyReservedWord\", {\n enumerable: true,\n get: function () {\n return keyword.isStrictBindOnlyReservedWord;\n }\n });\n Object.defineProperty(exports, \"isStrictBindReservedWord\", {\n enumerable: true,\n get: function () {\n return keyword.isStrictBindReservedWord;\n }\n });\n Object.defineProperty(exports, \"isStrictReservedWord\", {\n enumerable: true,\n get: function () {\n return keyword.isStrictReservedWord;\n }\n });\n Object.defineProperty(exports, \"isKeyword\", {\n enumerable: true,\n get: function () {\n return keyword.isKeyword;\n }\n });\n});\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nvar escapeStringRegexp = function (str) {\n if (typeof str !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n return str.replace(matchOperatorsRe, '\\\\$&');\n};\n\nvar colorName = {\n \"aliceblue\": [240, 248, 255],\n \"antiquewhite\": [250, 235, 215],\n \"aqua\": [0, 255, 255],\n \"aquamarine\": [127, 255, 212],\n \"azure\": [240, 255, 255],\n \"beige\": [245, 245, 220],\n \"bisque\": [255, 228, 196],\n \"black\": [0, 0, 0],\n \"blanchedalmond\": [255, 235, 205],\n \"blue\": [0, 0, 255],\n \"blueviolet\": [138, 43, 226],\n \"brown\": [165, 42, 42],\n \"burlywood\": [222, 184, 135],\n \"cadetblue\": [95, 158, 160],\n \"chartreuse\": [127, 255, 0],\n \"chocolate\": [210, 105, 30],\n \"coral\": [255, 127, 80],\n \"cornflowerblue\": [100, 149, 237],\n \"cornsilk\": [255, 248, 220],\n \"crimson\": [220, 20, 60],\n \"cyan\": [0, 255, 255],\n \"darkblue\": [0, 0, 139],\n \"darkcyan\": [0, 139, 139],\n \"darkgoldenrod\": [184, 134, 11],\n \"darkgray\": [169, 169, 169],\n \"darkgreen\": [0, 100, 0],\n \"darkgrey\": [169, 169, 169],\n \"darkkhaki\": [189, 183, 107],\n \"darkmagenta\": [139, 0, 139],\n \"darkolivegreen\": [85, 107, 47],\n \"darkorange\": [255, 140, 0],\n \"darkorchid\": [153, 50, 204],\n \"darkred\": [139, 0, 0],\n \"darksalmon\": [233, 150, 122],\n \"darkseagreen\": [143, 188, 143],\n \"darkslateblue\": [72, 61, 139],\n \"darkslategray\": [47, 79, 79],\n \"darkslategrey\": [47, 79, 79],\n \"darkturquoise\": [0, 206, 209],\n \"darkviolet\": [148, 0, 211],\n \"deeppink\": [255, 20, 147],\n \"deepskyblue\": [0, 191, 255],\n \"dimgray\": [105, 105, 105],\n \"dimgrey\": [105, 105, 105],\n \"dodgerblue\": [30, 144, 255],\n \"firebrick\": [178, 34, 34],\n \"floralwhite\": [255, 250, 240],\n \"forestgreen\": [34, 139, 34],\n \"fuchsia\": [255, 0, 255],\n \"gainsboro\": [220, 220, 220],\n \"ghostwhite\": [248, 248, 255],\n \"gold\": [255, 215, 0],\n \"goldenrod\": [218, 165, 32],\n \"gray\": [128, 128, 128],\n \"green\": [0, 128, 0],\n \"greenyellow\": [173, 255, 47],\n \"grey\": [128, 128, 128],\n \"honeydew\": [240, 255, 240],\n \"hotpink\": [255, 105, 180],\n \"indianred\": [205, 92, 92],\n \"indigo\": [75, 0, 130],\n \"ivory\": [255, 255, 240],\n \"khaki\": [240, 230, 140],\n \"lavender\": [230, 230, 250],\n \"lavenderblush\": [255, 240, 245],\n \"lawngreen\": [124, 252, 0],\n \"lemonchiffon\": [255, 250, 205],\n \"lightblue\": [173, 216, 230],\n \"lightcoral\": [240, 128, 128],\n \"lightcyan\": [224, 255, 255],\n \"lightgoldenrodyellow\": [250, 250, 210],\n \"lightgray\": [211, 211, 211],\n \"lightgreen\": [144, 238, 144],\n \"lightgrey\": [211, 211, 211],\n \"lightpink\": [255, 182, 193],\n \"lightsalmon\": [255, 160, 122],\n \"lightseagreen\": [32, 178, 170],\n \"lightskyblue\": [135, 206, 250],\n \"lightslategray\": [119, 136, 153],\n \"lightslategrey\": [119, 136, 153],\n \"lightsteelblue\": [176, 196, 222],\n \"lightyellow\": [255, 255, 224],\n \"lime\": [0, 255, 0],\n \"limegreen\": [50, 205, 50],\n \"linen\": [250, 240, 230],\n \"magenta\": [255, 0, 255],\n \"maroon\": [128, 0, 0],\n \"mediumaquamarine\": [102, 205, 170],\n \"mediumblue\": [0, 0, 205],\n \"mediumorchid\": [186, 85, 211],\n \"mediumpurple\": [147, 112, 219],\n \"mediumseagreen\": [60, 179, 113],\n \"mediumslateblue\": [123, 104, 238],\n \"mediumspringgreen\": [0, 250, 154],\n \"mediumturquoise\": [72, 209, 204],\n \"mediumvioletred\": [199, 21, 133],\n \"midnightblue\": [25, 25, 112],\n \"mintcream\": [245, 255, 250],\n \"mistyrose\": [255, 228, 225],\n \"moccasin\": [255, 228, 181],\n \"navajowhite\": [255, 222, 173],\n \"navy\": [0, 0, 128],\n \"oldlace\": [253, 245, 230],\n \"olive\": [128, 128, 0],\n \"olivedrab\": [107, 142, 35],\n \"orange\": [255, 165, 0],\n \"orangered\": [255, 69, 0],\n \"orchid\": [218, 112, 214],\n \"palegoldenrod\": [238, 232, 170],\n \"palegreen\": [152, 251, 152],\n \"paleturquoise\": [175, 238, 238],\n \"palevioletred\": [219, 112, 147],\n \"papayawhip\": [255, 239, 213],\n \"peachpuff\": [255, 218, 185],\n \"peru\": [205, 133, 63],\n \"pink\": [255, 192, 203],\n \"plum\": [221, 160, 221],\n \"powderblue\": [176, 224, 230],\n \"purple\": [128, 0, 128],\n \"rebeccapurple\": [102, 51, 153],\n \"red\": [255, 0, 0],\n \"rosybrown\": [188, 143, 143],\n \"royalblue\": [65, 105, 225],\n \"saddlebrown\": [139, 69, 19],\n \"salmon\": [250, 128, 114],\n \"sandybrown\": [244, 164, 96],\n \"seagreen\": [46, 139, 87],\n \"seashell\": [255, 245, 238],\n \"sienna\": [160, 82, 45],\n \"silver\": [192, 192, 192],\n \"skyblue\": [135, 206, 235],\n \"slateblue\": [106, 90, 205],\n \"slategray\": [112, 128, 144],\n \"slategrey\": [112, 128, 144],\n \"snow\": [255, 250, 250],\n \"springgreen\": [0, 255, 127],\n \"steelblue\": [70, 130, 180],\n \"tan\": [210, 180, 140],\n \"teal\": [0, 128, 128],\n \"thistle\": [216, 191, 216],\n \"tomato\": [255, 99, 71],\n \"turquoise\": [64, 224, 208],\n \"violet\": [238, 130, 238],\n \"wheat\": [245, 222, 179],\n \"white\": [255, 255, 255],\n \"whitesmoke\": [245, 245, 245],\n \"yellow\": [255, 255, 0],\n \"yellowgreen\": [154, 205, 50]\n};\n\nvar conversions = createCommonjsModule(function (module) {\n /* MIT license */\n // NOTE: conversions should only return primitive values (i.e. arrays, or\n // values that give correct `typeof` results).\n // do not use box values types (i.e. Number(), String(), etc.)\n var reverseKeywords = {};\n\n for (var key in colorName) {\n if (colorName.hasOwnProperty(key)) {\n reverseKeywords[colorName[key]] = key;\n }\n }\n\n var convert = module.exports = {\n rgb: {\n channels: 3,\n labels: 'rgb'\n },\n hsl: {\n channels: 3,\n labels: 'hsl'\n },\n hsv: {\n channels: 3,\n labels: 'hsv'\n },\n hwb: {\n channels: 3,\n labels: 'hwb'\n },\n cmyk: {\n channels: 4,\n labels: 'cmyk'\n },\n xyz: {\n channels: 3,\n labels: 'xyz'\n },\n lab: {\n channels: 3,\n labels: 'lab'\n },\n lch: {\n channels: 3,\n labels: 'lch'\n },\n hex: {\n channels: 1,\n labels: ['hex']\n },\n keyword: {\n channels: 1,\n labels: ['keyword']\n },\n ansi16: {\n channels: 1,\n labels: ['ansi16']\n },\n ansi256: {\n channels: 1,\n labels: ['ansi256']\n },\n hcg: {\n channels: 3,\n labels: ['h', 'c', 'g']\n },\n apple: {\n channels: 3,\n labels: ['r16', 'g16', 'b16']\n },\n gray: {\n channels: 1,\n labels: ['gray']\n }\n }; // hide .channels and .labels properties\n\n for (var model in convert) {\n if (convert.hasOwnProperty(model)) {\n if (!('channels' in convert[model])) {\n throw new Error('missing channels property: ' + model);\n }\n\n if (!('labels' in convert[model])) {\n throw new Error('missing channel labels property: ' + model);\n }\n\n if (convert[model].labels.length !== convert[model].channels) {\n throw new Error('channel and label counts mismatch: ' + model);\n }\n\n var channels = convert[model].channels;\n var labels = convert[model].labels;\n delete convert[model].channels;\n delete convert[model].labels;\n Object.defineProperty(convert[model], 'channels', {\n value: channels\n });\n Object.defineProperty(convert[model], 'labels', {\n value: labels\n });\n }\n }\n\n convert.rgb.hsl = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var delta = max - min;\n var h;\n var s;\n var l;\n\n if (max === min) {\n h = 0;\n } else if (r === max) {\n h = (g - b) / delta;\n } else if (g === max) {\n h = 2 + (b - r) / delta;\n } else if (b === max) {\n h = 4 + (r - g) / delta;\n }\n\n h = Math.min(h * 60, 360);\n\n if (h < 0) {\n h += 360;\n }\n\n l = (min + max) / 2;\n\n if (max === min) {\n s = 0;\n } else if (l <= 0.5) {\n s = delta / (max + min);\n } else {\n s = delta / (2 - max - min);\n }\n\n return [h, s * 100, l * 100];\n };\n\n convert.rgb.hsv = function (rgb) {\n var rdif;\n var gdif;\n var bdif;\n var h;\n var s;\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var v = Math.max(r, g, b);\n var diff = v - Math.min(r, g, b);\n\n var diffc = function (c) {\n return (v - c) / 6 / diff + 1 / 2;\n };\n\n if (diff === 0) {\n h = s = 0;\n } else {\n s = diff / v;\n rdif = diffc(r);\n gdif = diffc(g);\n bdif = diffc(b);\n\n if (r === v) {\n h = bdif - gdif;\n } else if (g === v) {\n h = 1 / 3 + rdif - bdif;\n } else if (b === v) {\n h = 2 / 3 + gdif - rdif;\n }\n\n if (h < 0) {\n h += 1;\n } else if (h > 1) {\n h -= 1;\n }\n }\n\n return [h * 360, s * 100, v * 100];\n };\n\n convert.rgb.hwb = function (rgb) {\n var r = rgb[0];\n var g = rgb[1];\n var b = rgb[2];\n var h = convert.rgb.hsl(rgb)[0];\n var w = 1 / 255 * Math.min(r, Math.min(g, b));\n b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n return [h, w * 100, b * 100];\n };\n\n convert.rgb.cmyk = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var c;\n var m;\n var y;\n var k;\n k = Math.min(1 - r, 1 - g, 1 - b);\n c = (1 - r - k) / (1 - k) || 0;\n m = (1 - g - k) / (1 - k) || 0;\n y = (1 - b - k) / (1 - k) || 0;\n return [c * 100, m * 100, y * 100, k * 100];\n };\n /**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\n\n\n function comparativeDistance(x, y) {\n return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);\n }\n\n convert.rgb.keyword = function (rgb) {\n var reversed = reverseKeywords[rgb];\n\n if (reversed) {\n return reversed;\n }\n\n var currentClosestDistance = Infinity;\n var currentClosestKeyword;\n\n for (var keyword in colorName) {\n if (colorName.hasOwnProperty(keyword)) {\n var value = colorName[keyword]; // Compute comparative distance\n\n var distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest\n\n if (distance < currentClosestDistance) {\n currentClosestDistance = distance;\n currentClosestKeyword = keyword;\n }\n }\n }\n\n return currentClosestKeyword;\n };\n\n convert.keyword.rgb = function (keyword) {\n return colorName[keyword];\n };\n\n convert.rgb.xyz = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255; // assume sRGB\n\n r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;\n g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;\n b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;\n var x = r * 0.4124 + g * 0.3576 + b * 0.1805;\n var y = r * 0.2126 + g * 0.7152 + b * 0.0722;\n var z = r * 0.0193 + g * 0.1192 + b * 0.9505;\n return [x * 100, y * 100, z * 100];\n };\n\n convert.rgb.lab = function (rgb) {\n var xyz = convert.rgb.xyz(rgb);\n var x = xyz[0];\n var y = xyz[1];\n var z = xyz[2];\n var l;\n var a;\n var b;\n x /= 95.047;\n y /= 100;\n z /= 108.883;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n l = 116 * y - 16;\n a = 500 * (x - y);\n b = 200 * (y - z);\n return [l, a, b];\n };\n\n convert.hsl.rgb = function (hsl) {\n var h = hsl[0] / 360;\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var t1;\n var t2;\n var t3;\n var rgb;\n var val;\n\n if (s === 0) {\n val = l * 255;\n return [val, val, val];\n }\n\n if (l < 0.5) {\n t2 = l * (1 + s);\n } else {\n t2 = l + s - l * s;\n }\n\n t1 = 2 * l - t2;\n rgb = [0, 0, 0];\n\n for (var i = 0; i < 3; i++) {\n t3 = h + 1 / 3 * -(i - 1);\n\n if (t3 < 0) {\n t3++;\n }\n\n if (t3 > 1) {\n t3--;\n }\n\n if (6 * t3 < 1) {\n val = t1 + (t2 - t1) * 6 * t3;\n } else if (2 * t3 < 1) {\n val = t2;\n } else if (3 * t3 < 2) {\n val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n } else {\n val = t1;\n }\n\n rgb[i] = val * 255;\n }\n\n return rgb;\n };\n\n convert.hsl.hsv = function (hsl) {\n var h = hsl[0];\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var smin = s;\n var lmin = Math.max(l, 0.01);\n var sv;\n var v;\n l *= 2;\n s *= l <= 1 ? l : 2 - l;\n smin *= lmin <= 1 ? lmin : 2 - lmin;\n v = (l + s) / 2;\n sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);\n return [h, sv * 100, v * 100];\n };\n\n convert.hsv.rgb = function (hsv) {\n var h = hsv[0] / 60;\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var hi = Math.floor(h) % 6;\n var f = h - Math.floor(h);\n var p = 255 * v * (1 - s);\n var q = 255 * v * (1 - s * f);\n var t = 255 * v * (1 - s * (1 - f));\n v *= 255;\n\n switch (hi) {\n case 0:\n return [v, t, p];\n\n case 1:\n return [q, v, p];\n\n case 2:\n return [p, v, t];\n\n case 3:\n return [p, q, v];\n\n case 4:\n return [t, p, v];\n\n case 5:\n return [v, p, q];\n }\n };\n\n convert.hsv.hsl = function (hsv) {\n var h = hsv[0];\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var vmin = Math.max(v, 0.01);\n var lmin;\n var sl;\n var l;\n l = (2 - s) * v;\n lmin = (2 - s) * vmin;\n sl = s * vmin;\n sl /= lmin <= 1 ? lmin : 2 - lmin;\n sl = sl || 0;\n l /= 2;\n return [h, sl * 100, l * 100];\n }; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb\n\n\n convert.hwb.rgb = function (hwb) {\n var h = hwb[0] / 360;\n var wh = hwb[1] / 100;\n var bl = hwb[2] / 100;\n var ratio = wh + bl;\n var i;\n var v;\n var f;\n var n; // wh + bl cant be > 1\n\n if (ratio > 1) {\n wh /= ratio;\n bl /= ratio;\n }\n\n i = Math.floor(6 * h);\n v = 1 - bl;\n f = 6 * h - i;\n\n if ((i & 0x01) !== 0) {\n f = 1 - f;\n }\n\n n = wh + f * (v - wh); // linear interpolation\n\n var r;\n var g;\n var b;\n\n switch (i) {\n default:\n case 6:\n case 0:\n r = v;\n g = n;\n b = wh;\n break;\n\n case 1:\n r = n;\n g = v;\n b = wh;\n break;\n\n case 2:\n r = wh;\n g = v;\n b = n;\n break;\n\n case 3:\n r = wh;\n g = n;\n b = v;\n break;\n\n case 4:\n r = n;\n g = wh;\n b = v;\n break;\n\n case 5:\n r = v;\n g = wh;\n b = n;\n break;\n }\n\n return [r * 255, g * 255, b * 255];\n };\n\n convert.cmyk.rgb = function (cmyk) {\n var c = cmyk[0] / 100;\n var m = cmyk[1] / 100;\n var y = cmyk[2] / 100;\n var k = cmyk[3] / 100;\n var r;\n var g;\n var b;\n r = 1 - Math.min(1, c * (1 - k) + k);\n g = 1 - Math.min(1, m * (1 - k) + k);\n b = 1 - Math.min(1, y * (1 - k) + k);\n return [r * 255, g * 255, b * 255];\n };\n\n convert.xyz.rgb = function (xyz) {\n var x = xyz[0] / 100;\n var y = xyz[1] / 100;\n var z = xyz[2] / 100;\n var r;\n var g;\n var b;\n r = x * 3.2406 + y * -1.5372 + z * -0.4986;\n g = x * -0.9689 + y * 1.8758 + z * 0.0415;\n b = x * 0.0557 + y * -0.2040 + z * 1.0570; // assume sRGB\n\n r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92;\n g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92;\n b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92;\n r = Math.min(Math.max(0, r), 1);\n g = Math.min(Math.max(0, g), 1);\n b = Math.min(Math.max(0, b), 1);\n return [r * 255, g * 255, b * 255];\n };\n\n convert.xyz.lab = function (xyz) {\n var x = xyz[0];\n var y = xyz[1];\n var z = xyz[2];\n var l;\n var a;\n var b;\n x /= 95.047;\n y /= 100;\n z /= 108.883;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n l = 116 * y - 16;\n a = 500 * (x - y);\n b = 200 * (y - z);\n return [l, a, b];\n };\n\n convert.lab.xyz = function (lab) {\n var l = lab[0];\n var a = lab[1];\n var b = lab[2];\n var x;\n var y;\n var z;\n y = (l + 16) / 116;\n x = a / 500 + y;\n z = y - b / 200;\n var y2 = Math.pow(y, 3);\n var x2 = Math.pow(x, 3);\n var z2 = Math.pow(z, 3);\n y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n x *= 95.047;\n y *= 100;\n z *= 108.883;\n return [x, y, z];\n };\n\n convert.lab.lch = function (lab) {\n var l = lab[0];\n var a = lab[1];\n var b = lab[2];\n var hr;\n var h;\n var c;\n hr = Math.atan2(b, a);\n h = hr * 360 / 2 / Math.PI;\n\n if (h < 0) {\n h += 360;\n }\n\n c = Math.sqrt(a * a + b * b);\n return [l, c, h];\n };\n\n convert.lch.lab = function (lch) {\n var l = lch[0];\n var c = lch[1];\n var h = lch[2];\n var a;\n var b;\n var hr;\n hr = h / 360 * 2 * Math.PI;\n a = c * Math.cos(hr);\n b = c * Math.sin(hr);\n return [l, a, b];\n };\n\n convert.rgb.ansi16 = function (args) {\n var r = args[0];\n var g = args[1];\n var b = args[2];\n var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n value = Math.round(value / 50);\n\n if (value === 0) {\n return 30;\n }\n\n var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));\n\n if (value === 2) {\n ansi += 60;\n }\n\n return ansi;\n };\n\n convert.hsv.ansi16 = function (args) {\n // optimization here; we already know the value and don't need to get\n // it converted for us.\n return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n };\n\n convert.rgb.ansi256 = function (args) {\n var r = args[0];\n var g = args[1];\n var b = args[2]; // we use the extended greyscale palette here, with the exception of\n // black and white. normal palette only has 4 greyscale shades.\n\n if (r === g && g === b) {\n if (r < 8) {\n return 16;\n }\n\n if (r > 248) {\n return 231;\n }\n\n return Math.round((r - 8) / 247 * 24) + 232;\n }\n\n var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);\n return ansi;\n };\n\n convert.ansi16.rgb = function (args) {\n var color = args % 10; // handle greyscale\n\n if (color === 0 || color === 7) {\n if (args > 50) {\n color += 3.5;\n }\n\n color = color / 10.5 * 255;\n return [color, color, color];\n }\n\n var mult = (~~(args > 50) + 1) * 0.5;\n var r = (color & 1) * mult * 255;\n var g = (color >> 1 & 1) * mult * 255;\n var b = (color >> 2 & 1) * mult * 255;\n return [r, g, b];\n };\n\n convert.ansi256.rgb = function (args) {\n // handle greyscale\n if (args >= 232) {\n var c = (args - 232) * 10 + 8;\n return [c, c, c];\n }\n\n args -= 16;\n var rem;\n var r = Math.floor(args / 36) / 5 * 255;\n var g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n var b = rem % 6 / 5 * 255;\n return [r, g, b];\n };\n\n convert.rgb.hex = function (args) {\n var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);\n var string = integer.toString(16).toUpperCase();\n return '000000'.substring(string.length) + string;\n };\n\n convert.hex.rgb = function (args) {\n var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\n if (!match) {\n return [0, 0, 0];\n }\n\n var colorString = match[0];\n\n if (match[0].length === 3) {\n colorString = colorString.split('').map(function (char) {\n return char + char;\n }).join('');\n }\n\n var integer = parseInt(colorString, 16);\n var r = integer >> 16 & 0xFF;\n var g = integer >> 8 & 0xFF;\n var b = integer & 0xFF;\n return [r, g, b];\n };\n\n convert.rgb.hcg = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var max = Math.max(Math.max(r, g), b);\n var min = Math.min(Math.min(r, g), b);\n var chroma = max - min;\n var grayscale;\n var hue;\n\n if (chroma < 1) {\n grayscale = min / (1 - chroma);\n } else {\n grayscale = 0;\n }\n\n if (chroma <= 0) {\n hue = 0;\n } else if (max === r) {\n hue = (g - b) / chroma % 6;\n } else if (max === g) {\n hue = 2 + (b - r) / chroma;\n } else {\n hue = 4 + (r - g) / chroma + 4;\n }\n\n hue /= 6;\n hue %= 1;\n return [hue * 360, chroma * 100, grayscale * 100];\n };\n\n convert.hsl.hcg = function (hsl) {\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var c = 1;\n var f = 0;\n\n if (l < 0.5) {\n c = 2.0 * s * l;\n } else {\n c = 2.0 * s * (1.0 - l);\n }\n\n if (c < 1.0) {\n f = (l - 0.5 * c) / (1.0 - c);\n }\n\n return [hsl[0], c * 100, f * 100];\n };\n\n convert.hsv.hcg = function (hsv) {\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var c = s * v;\n var f = 0;\n\n if (c < 1.0) {\n f = (v - c) / (1 - c);\n }\n\n return [hsv[0], c * 100, f * 100];\n };\n\n convert.hcg.rgb = function (hcg) {\n var h = hcg[0] / 360;\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n\n if (c === 0.0) {\n return [g * 255, g * 255, g * 255];\n }\n\n var pure = [0, 0, 0];\n var hi = h % 1 * 6;\n var v = hi % 1;\n var w = 1 - v;\n var mg = 0;\n\n switch (Math.floor(hi)) {\n case 0:\n pure[0] = 1;\n pure[1] = v;\n pure[2] = 0;\n break;\n\n case 1:\n pure[0] = w;\n pure[1] = 1;\n pure[2] = 0;\n break;\n\n case 2:\n pure[0] = 0;\n pure[1] = 1;\n pure[2] = v;\n break;\n\n case 3:\n pure[0] = 0;\n pure[1] = w;\n pure[2] = 1;\n break;\n\n case 4:\n pure[0] = v;\n pure[1] = 0;\n pure[2] = 1;\n break;\n\n default:\n pure[0] = 1;\n pure[1] = 0;\n pure[2] = w;\n }\n\n mg = (1.0 - c) * g;\n return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];\n };\n\n convert.hcg.hsv = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var v = c + g * (1.0 - c);\n var f = 0;\n\n if (v > 0.0) {\n f = c / v;\n }\n\n return [hcg[0], f * 100, v * 100];\n };\n\n convert.hcg.hsl = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var l = g * (1.0 - c) + 0.5 * c;\n var s = 0;\n\n if (l > 0.0 && l < 0.5) {\n s = c / (2 * l);\n } else if (l >= 0.5 && l < 1.0) {\n s = c / (2 * (1 - l));\n }\n\n return [hcg[0], s * 100, l * 100];\n };\n\n convert.hcg.hwb = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var v = c + g * (1.0 - c);\n return [hcg[0], (v - c) * 100, (1 - v) * 100];\n };\n\n convert.hwb.hcg = function (hwb) {\n var w = hwb[1] / 100;\n var b = hwb[2] / 100;\n var v = 1 - b;\n var c = v - w;\n var g = 0;\n\n if (c < 1) {\n g = (v - c) / (1 - c);\n }\n\n return [hwb[0], c * 100, g * 100];\n };\n\n convert.apple.rgb = function (apple) {\n return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];\n };\n\n convert.rgb.apple = function (rgb) {\n return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];\n };\n\n convert.gray.rgb = function (args) {\n return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n };\n\n convert.gray.hsl = convert.gray.hsv = function (args) {\n return [0, 0, args[0]];\n };\n\n convert.gray.hwb = function (gray) {\n return [0, 100, gray[0]];\n };\n\n convert.gray.cmyk = function (gray) {\n return [0, 0, 0, gray[0]];\n };\n\n convert.gray.lab = function (gray) {\n return [gray[0], 0, 0];\n };\n\n convert.gray.hex = function (gray) {\n var val = Math.round(gray[0] / 100 * 255) & 0xFF;\n var integer = (val << 16) + (val << 8) + val;\n var string = integer.toString(16).toUpperCase();\n return '000000'.substring(string.length) + string;\n };\n\n convert.rgb.gray = function (rgb) {\n var val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n return [val / 255 * 100];\n };\n});\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n var graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\n var models = Object.keys(conversions);\n\n for (var len = models.length, i = 0; i < len; i++) {\n graph[models[i]] = {\n // http://jsperf.com/1-vs-infinity\n // micro-opt, but this is simple.\n distance: -1,\n parent: null\n };\n }\n\n return graph;\n} // https://en.wikipedia.org/wiki/Breadth-first_search\n\n\nfunction deriveBFS(fromModel) {\n var graph = buildGraph();\n var queue = [fromModel]; // unshift -> queue -> pop\n\n graph[fromModel].distance = 0;\n\n while (queue.length) {\n var current = queue.pop();\n var adjacents = Object.keys(conversions[current]);\n\n for (var len = adjacents.length, i = 0; i < len; i++) {\n var adjacent = adjacents[i];\n var node = graph[adjacent];\n\n if (node.distance === -1) {\n node.distance = graph[current].distance + 1;\n node.parent = current;\n queue.unshift(adjacent);\n }\n }\n }\n\n return graph;\n}\n\nfunction link(from, to) {\n return function (args) {\n return to(from(args));\n };\n}\n\nfunction wrapConversion(toModel, graph) {\n var path = [graph[toModel].parent, toModel];\n var fn = conversions[graph[toModel].parent][toModel];\n var cur = graph[toModel].parent;\n\n while (graph[cur].parent) {\n path.unshift(graph[cur].parent);\n fn = link(conversions[graph[cur].parent][cur], fn);\n cur = graph[cur].parent;\n }\n\n fn.conversion = path;\n return fn;\n}\n\nvar route = function (fromModel) {\n var graph = deriveBFS(fromModel);\n var conversion = {};\n var models = Object.keys(graph);\n\n for (var len = models.length, i = 0; i < len; i++) {\n var toModel = models[i];\n var node = graph[toModel];\n\n if (node.parent === null) {\n // no possible conversion, or this node is the source model.\n continue;\n }\n\n conversion[toModel] = wrapConversion(toModel, graph);\n }\n\n return conversion;\n};\n\nvar convert = {};\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n var wrappedFn = function (args) {\n if (args === undefined || args === null) {\n return args;\n }\n\n if (arguments.length > 1) {\n args = Array.prototype.slice.call(arguments);\n }\n\n return fn(args);\n }; // preserve .conversion property if there is one\n\n\n if ('conversion' in fn) {\n wrappedFn.conversion = fn.conversion;\n }\n\n return wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n var wrappedFn = function (args) {\n if (args === undefined || args === null) {\n return args;\n }\n\n if (arguments.length > 1) {\n args = Array.prototype.slice.call(arguments);\n }\n\n var result = fn(args); // we're assuming the result is an array here.\n // see notice in conversions.js; don't use box types\n // in conversion functions.\n\n if (typeof result === 'object') {\n for (var len = result.length, i = 0; i < len; i++) {\n result[i] = Math.round(result[i]);\n }\n }\n\n return result;\n }; // preserve .conversion property if there is one\n\n\n if ('conversion' in fn) {\n wrappedFn.conversion = fn.conversion;\n }\n\n return wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n convert[fromModel] = {};\n Object.defineProperty(convert[fromModel], 'channels', {\n value: conversions[fromModel].channels\n });\n Object.defineProperty(convert[fromModel], 'labels', {\n value: conversions[fromModel].labels\n });\n var routes = route(fromModel);\n var routeModels = Object.keys(routes);\n routeModels.forEach(function (toModel) {\n var fn = routes[toModel];\n convert[fromModel][toModel] = wrapRounded(fn);\n convert[fromModel][toModel].raw = wrapRaw(fn);\n });\n});\nvar colorConvert = convert;\n\nvar ansiStyles = createCommonjsModule(function (module) {\n\n const wrapAnsi16 = (fn, offset) => function () {\n const code = fn.apply(colorConvert, arguments);\n return `\\u001B[${code + offset}m`;\n };\n\n const wrapAnsi256 = (fn, offset) => function () {\n const code = fn.apply(colorConvert, arguments);\n return `\\u001B[${38 + offset};5;${code}m`;\n };\n\n const wrapAnsi16m = (fn, offset) => function () {\n const rgb = fn.apply(colorConvert, arguments);\n return `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\n };\n\n function assembleStyles() {\n const codes = new Map();\n const styles = {\n modifier: {\n reset: [0, 0],\n // 21 isn't widely supported and 22 does the same thing\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29]\n },\n color: {\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n // Bright color\n redBright: [91, 39],\n greenBright: [92, 39],\n yellowBright: [93, 39],\n blueBright: [94, 39],\n magentaBright: [95, 39],\n cyanBright: [96, 39],\n whiteBright: [97, 39]\n },\n bgColor: {\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n // Bright color\n bgBlackBright: [100, 49],\n bgRedBright: [101, 49],\n bgGreenBright: [102, 49],\n bgYellowBright: [103, 49],\n bgBlueBright: [104, 49],\n bgMagentaBright: [105, 49],\n bgCyanBright: [106, 49],\n bgWhiteBright: [107, 49]\n }\n }; // Fix humans\n\n styles.color.grey = styles.color.gray;\n\n for (const groupName of Object.keys(styles)) {\n const group = styles[groupName];\n\n for (const styleName of Object.keys(group)) {\n const style = group[styleName];\n styles[styleName] = {\n open: `\\u001B[${style[0]}m`,\n close: `\\u001B[${style[1]}m`\n };\n group[styleName] = styles[styleName];\n codes.set(style[0], style[1]);\n }\n\n Object.defineProperty(styles, groupName, {\n value: group,\n enumerable: false\n });\n Object.defineProperty(styles, 'codes', {\n value: codes,\n enumerable: false\n });\n }\n\n const ansi2ansi = n => n;\n\n const rgb2rgb = (r, g, b) => [r, g, b];\n\n styles.color.close = '\\u001B[39m';\n styles.bgColor.close = '\\u001B[49m';\n styles.color.ansi = {\n ansi: wrapAnsi16(ansi2ansi, 0)\n };\n styles.color.ansi256 = {\n ansi256: wrapAnsi256(ansi2ansi, 0)\n };\n styles.color.ansi16m = {\n rgb: wrapAnsi16m(rgb2rgb, 0)\n };\n styles.bgColor.ansi = {\n ansi: wrapAnsi16(ansi2ansi, 10)\n };\n styles.bgColor.ansi256 = {\n ansi256: wrapAnsi256(ansi2ansi, 10)\n };\n styles.bgColor.ansi16m = {\n rgb: wrapAnsi16m(rgb2rgb, 10)\n };\n\n for (let key of Object.keys(colorConvert)) {\n if (typeof colorConvert[key] !== 'object') {\n continue;\n }\n\n const suite = colorConvert[key];\n\n if (key === 'ansi16') {\n key = 'ansi';\n }\n\n if ('ansi16' in suite) {\n styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0);\n styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10);\n }\n\n if ('ansi256' in suite) {\n styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0);\n styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10);\n }\n\n if ('rgb' in suite) {\n styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0);\n styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10);\n }\n }\n\n return styles;\n } // Make the export immutable\n\n\n Object.defineProperty(module, 'exports', {\n enumerable: true,\n get: assembleStyles\n });\n});\n\nvar hasFlag = (flag, argv) => {\n argv = argv || process.argv;\n const prefix = flag.startsWith('-') ? '' : flag.length === 1 ? '-' : '--';\n const pos = argv.indexOf(prefix + flag);\n const terminatorPos = argv.indexOf('--');\n return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n\nconst env = process.env;\nlet forceColor;\n\nif (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false')) {\n forceColor = false;\n} else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true') || hasFlag('color=always')) {\n forceColor = true;\n}\n\nif ('FORCE_COLOR' in env) {\n forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;\n}\n\nfunction translateLevel(level) {\n if (level === 0) {\n return false;\n }\n\n return {\n level,\n hasBasic: true,\n has256: level >= 2,\n has16m: level >= 3\n };\n}\n\nfunction supportsColor(stream) {\n if (forceColor === false) {\n return 0;\n }\n\n if (hasFlag('color=16m') || hasFlag('color=full') || hasFlag('color=truecolor')) {\n return 3;\n }\n\n if (hasFlag('color=256')) {\n return 2;\n }\n\n if (stream && !stream.isTTY && forceColor !== true) {\n return 0;\n }\n\n const min = forceColor ? 1 : 0;\n\n if (process.platform === 'win32') {\n // Node.js 7.5.0 is the first version of Node.js to include a patch to\n // libuv that enables 256 color output on Windows. Anything earlier and it\n // won't work. However, here we target Node.js 8 at minimum as it is an LTS\n // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows\n // release that supports 256 colors. Windows 10 build 14931 is the first release\n // that supports 16m/TrueColor.\n const osRelease = os__default['default'].release().split('.');\n\n if (Number(process.versions.node.split('.')[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {\n return Number(osRelease[2]) >= 14931 ? 3 : 2;\n }\n\n return 1;\n }\n\n if ('CI' in env) {\n if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n return 1;\n }\n\n return min;\n }\n\n if ('TEAMCITY_VERSION' in env) {\n return /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n }\n\n if (env.COLORTERM === 'truecolor') {\n return 3;\n }\n\n if ('TERM_PROGRAM' in env) {\n const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n switch (env.TERM_PROGRAM) {\n case 'iTerm.app':\n return version >= 3 ? 3 : 2;\n\n case 'Apple_Terminal':\n return 2;\n // No default\n }\n }\n\n if (/-256(color)?$/i.test(env.TERM)) {\n return 2;\n }\n\n if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n return 1;\n }\n\n if ('COLORTERM' in env) {\n return 1;\n }\n\n if (env.TERM === 'dumb') {\n return min;\n }\n\n return min;\n}\n\nfunction getSupportLevel(stream) {\n const level = supportsColor(stream);\n return translateLevel(level);\n}\n\nvar supportsColor_1 = {\n supportsColor: getSupportLevel,\n stdout: getSupportLevel(process.stdout),\n stderr: getSupportLevel(process.stderr)\n};\n\nconst TEMPLATE_REGEX = /(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi;\nconst STYLE_REGEX = /(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g;\nconst STRING_REGEX = /^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/;\nconst ESCAPE_REGEX = /\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi;\nconst ESCAPES = new Map([['n', '\\n'], ['r', '\\r'], ['t', '\\t'], ['b', '\\b'], ['f', '\\f'], ['v', '\\v'], ['0', '\\0'], ['\\\\', '\\\\'], ['e', '\\u001B'], ['a', '\\u0007']]);\n\nfunction unescape(c) {\n if (c[0] === 'u' && c.length === 5 || c[0] === 'x' && c.length === 3) {\n return String.fromCharCode(parseInt(c.slice(1), 16));\n }\n\n return ESCAPES.get(c) || c;\n}\n\nfunction parseArguments(name, args) {\n const results = [];\n const chunks = args.trim().split(/\\s*,\\s*/g);\n let matches;\n\n for (const chunk of chunks) {\n if (!isNaN(chunk)) {\n results.push(Number(chunk));\n } else if (matches = chunk.match(STRING_REGEX)) {\n results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr));\n } else {\n throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);\n }\n }\n\n return results;\n}\n\nfunction parseStyle(style) {\n STYLE_REGEX.lastIndex = 0;\n const results = [];\n let matches;\n\n while ((matches = STYLE_REGEX.exec(style)) !== null) {\n const name = matches[1];\n\n if (matches[2]) {\n const args = parseArguments(name, matches[2]);\n results.push([name].concat(args));\n } else {\n results.push([name]);\n }\n }\n\n return results;\n}\n\nfunction buildStyle(chalk, styles) {\n const enabled = {};\n\n for (const layer of styles) {\n for (const style of layer.styles) {\n enabled[style[0]] = layer.inverse ? null : style.slice(1);\n }\n }\n\n let current = chalk;\n\n for (const styleName of Object.keys(enabled)) {\n if (Array.isArray(enabled[styleName])) {\n if (!(styleName in current)) {\n throw new Error(`Unknown Chalk style: ${styleName}`);\n }\n\n if (enabled[styleName].length > 0) {\n current = current[styleName].apply(current, enabled[styleName]);\n } else {\n current = current[styleName];\n }\n }\n }\n\n return current;\n}\n\nvar templates = (chalk, tmp) => {\n const styles = [];\n const chunks = [];\n let chunk = []; // eslint-disable-next-line max-params\n\n tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => {\n if (escapeChar) {\n chunk.push(unescape(escapeChar));\n } else if (style) {\n const str = chunk.join('');\n chunk = [];\n chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str));\n styles.push({\n inverse,\n styles: parseStyle(style)\n });\n } else if (close) {\n if (styles.length === 0) {\n throw new Error('Found extraneous } in Chalk template literal');\n }\n\n chunks.push(buildStyle(chalk, styles)(chunk.join('')));\n chunk = [];\n styles.pop();\n } else {\n chunk.push(chr);\n }\n });\n chunks.push(chunk.join(''));\n\n if (styles.length > 0) {\n const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\\`}\\`)`;\n throw new Error(errMsg);\n }\n\n return chunks.join('');\n};\n\nvar chalk = createCommonjsModule(function (module) {\n\n const stdoutColor = supportsColor_1.stdout;\n const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); // `supportsColor.level` → `ansiStyles.color[name]` mapping\n\n const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; // `color-convert` models to exclude from the Chalk API due to conflicts and such\n\n const skipModels = new Set(['gray']);\n const styles = Object.create(null);\n\n function applyOptions(obj, options) {\n options = options || {}; // Detect level if not set manually\n\n const scLevel = stdoutColor ? stdoutColor.level : 0;\n obj.level = options.level === undefined ? scLevel : options.level;\n obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0;\n }\n\n function Chalk(options) {\n // We check for this.template here since calling `chalk.constructor()`\n // by itself will have a `this` of a previously constructed chalk object\n if (!this || !(this instanceof Chalk) || this.template) {\n const chalk = {};\n applyOptions(chalk, options);\n\n chalk.template = function () {\n const args = [].slice.call(arguments);\n return chalkTag.apply(null, [chalk.template].concat(args));\n };\n\n Object.setPrototypeOf(chalk, Chalk.prototype);\n Object.setPrototypeOf(chalk.template, chalk);\n chalk.template.constructor = Chalk;\n return chalk.template;\n }\n\n applyOptions(this, options);\n } // Use bright blue on Windows as the normal blue color is illegible\n\n\n if (isSimpleWindowsTerm) {\n ansiStyles.blue.open = '\\u001B[94m';\n }\n\n for (const key of Object.keys(ansiStyles)) {\n ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');\n styles[key] = {\n get() {\n const codes = ansiStyles[key];\n return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);\n }\n\n };\n }\n\n styles.visible = {\n get() {\n return build.call(this, this._styles || [], true, 'visible');\n }\n\n };\n ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g');\n\n for (const model of Object.keys(ansiStyles.color.ansi)) {\n if (skipModels.has(model)) {\n continue;\n }\n\n styles[model] = {\n get() {\n const level = this.level;\n return function () {\n const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments);\n const codes = {\n open,\n close: ansiStyles.color.close,\n closeRe: ansiStyles.color.closeRe\n };\n return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);\n };\n }\n\n };\n }\n\n ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g');\n\n for (const model of Object.keys(ansiStyles.bgColor.ansi)) {\n if (skipModels.has(model)) {\n continue;\n }\n\n const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n styles[bgModel] = {\n get() {\n const level = this.level;\n return function () {\n const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments);\n const codes = {\n open,\n close: ansiStyles.bgColor.close,\n closeRe: ansiStyles.bgColor.closeRe\n };\n return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);\n };\n }\n\n };\n }\n\n const proto = Object.defineProperties(() => {}, styles);\n\n function build(_styles, _empty, key) {\n const builder = function () {\n return applyStyle.apply(builder, arguments);\n };\n\n builder._styles = _styles;\n builder._empty = _empty;\n const self = this;\n Object.defineProperty(builder, 'level', {\n enumerable: true,\n\n get() {\n return self.level;\n },\n\n set(level) {\n self.level = level;\n }\n\n });\n Object.defineProperty(builder, 'enabled', {\n enumerable: true,\n\n get() {\n return self.enabled;\n },\n\n set(enabled) {\n self.enabled = enabled;\n }\n\n }); // See below for fix regarding invisible grey/dim combination on Windows\n\n builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; // `__proto__` is used because we must return a function, but there is\n // no way to create a function with a different prototype\n\n builder.__proto__ = proto; // eslint-disable-line no-proto\n\n return builder;\n }\n\n function applyStyle() {\n // Support varags, but simply cast to string in case there's only one arg\n const args = arguments;\n const argsLen = args.length;\n let str = String(arguments[0]);\n\n if (argsLen === 0) {\n return '';\n }\n\n if (argsLen > 1) {\n // Don't slice `arguments`, it prevents V8 optimizations\n for (let a = 1; a < argsLen; a++) {\n str += ' ' + args[a];\n }\n }\n\n if (!this.enabled || this.level <= 0 || !str) {\n return this._empty ? '' : str;\n } // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe,\n // see https://github.com/chalk/chalk/issues/58\n // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.\n\n\n const originalDim = ansiStyles.dim.open;\n\n if (isSimpleWindowsTerm && this.hasGrey) {\n ansiStyles.dim.open = '';\n }\n\n for (const code of this._styles.slice().reverse()) {\n // Replace any instances already present with a re-opening code\n // otherwise only the part of the string until said closing code\n // will be colored, and the rest will simply be 'plain'.\n str = code.open + str.replace(code.closeRe, code.open) + code.close; // Close the styling before a linebreak and reopen\n // after next line to fix a bleed issue on macOS\n // https://github.com/chalk/chalk/pull/92\n\n str = str.replace(/\\r?\\n/g, `${code.close}$&${code.open}`);\n } // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue\n\n\n ansiStyles.dim.open = originalDim;\n return str;\n }\n\n function chalkTag(chalk, strings) {\n if (!Array.isArray(strings)) {\n // If chalk() was called by itself or with a string,\n // return the string itself as a string.\n return [].slice.call(arguments, 1).join(' ');\n }\n\n const args = [].slice.call(arguments, 2);\n const parts = [strings.raw[0]];\n\n for (let i = 1; i < strings.length; i++) {\n parts.push(String(args[i - 1]).replace(/[{}\\\\]/g, '\\\\$&'));\n parts.push(String(strings.raw[i]));\n }\n\n return templates(chalk, parts.join(''));\n }\n\n Object.defineProperties(Chalk.prototype, styles);\n module.exports = Chalk(); // eslint-disable-line new-cap\n\n module.exports.supportsColor = stdoutColor;\n module.exports.default = module.exports; // For TypeScript\n});\n\nvar lib$1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.shouldHighlight = shouldHighlight;\n exports.getChalk = getChalk;\n exports.default = highlight;\n\n var _jsTokens = _interopRequireWildcard(jsTokens);\n\n var _chalk = _interopRequireDefault(chalk);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function () {\n return cache;\n };\n\n return cache;\n }\n\n function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj.default = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n }\n\n function getDefs(chalk) {\n return {\n keyword: chalk.cyan,\n capitalized: chalk.yellow,\n jsx_tag: chalk.yellow,\n punctuator: chalk.yellow,\n number: chalk.magenta,\n string: chalk.green,\n regex: chalk.magenta,\n comment: chalk.grey,\n invalid: chalk.white.bgRed.bold\n };\n }\n\n const NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n const JSX_TAG = /^[a-z][\\w-]*$/i;\n const BRACKET = /^[()[\\]{}]$/;\n\n function getTokenType(match) {\n const [offset, text] = match.slice(-2);\n const token = (0, _jsTokens.matchToToken)(match);\n\n if (token.type === \"name\") {\n if ((0, lib.isKeyword)(token.value) || (0, lib.isReservedWord)(token.value)) {\n return \"keyword\";\n }\n\n if (JSX_TAG.test(token.value) && (text[offset - 1] === \"<\" || text.substr(offset - 2, 2) == \" colorize(str)).join(\"\\n\");\n } else {\n return args[0];\n }\n });\n }\n\n function shouldHighlight(options) {\n return _chalk.default.supportsColor || options.forceColor;\n }\n\n function getChalk(options) {\n let chalk = _chalk.default;\n\n if (options.forceColor) {\n chalk = new _chalk.default.constructor({\n enabled: true,\n level: 1\n });\n }\n\n return chalk;\n }\n\n function highlight(code, options = {}) {\n if (shouldHighlight(options)) {\n const chalk = getChalk(options);\n const defs = getDefs(chalk);\n return highlightTokens(defs, code);\n } else {\n return code;\n }\n }\n});\n\nvar lib$2 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.codeFrameColumns = codeFrameColumns;\n exports.default = _default;\n\n var _highlight = _interopRequireWildcard(lib$1);\n\n function _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function () {\n return cache;\n };\n\n return cache;\n }\n\n function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj.default = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n }\n\n let deprecationWarningShown = false;\n\n function getDefs(chalk) {\n return {\n gutter: chalk.grey,\n marker: chalk.red.bold,\n message: chalk.red.bold\n };\n }\n\n const NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n\n function getMarkerLines(loc, source, opts) {\n const startLoc = Object.assign({\n column: 0,\n line: -1\n }, loc.start);\n const endLoc = Object.assign({}, startLoc, loc.end);\n const {\n linesAbove = 2,\n linesBelow = 3\n } = opts || {};\n const startLine = startLoc.line;\n const startColumn = startLoc.column;\n const endLine = endLoc.line;\n const endColumn = endLoc.column;\n let start = Math.max(startLine - (linesAbove + 1), 0);\n let end = Math.min(source.length, endLine + linesBelow);\n\n if (startLine === -1) {\n start = 0;\n }\n\n if (endLine === -1) {\n end = source.length;\n }\n\n const lineDiff = endLine - startLine;\n const markerLines = {};\n\n if (lineDiff) {\n for (let i = 0; i <= lineDiff; i++) {\n const lineNumber = i + startLine;\n\n if (!startColumn) {\n markerLines[lineNumber] = true;\n } else if (i === 0) {\n const sourceLength = source[lineNumber - 1].length;\n markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];\n } else if (i === lineDiff) {\n markerLines[lineNumber] = [0, endColumn];\n } else {\n const sourceLength = source[lineNumber - i].length;\n markerLines[lineNumber] = [0, sourceLength];\n }\n }\n } else {\n if (startColumn === endColumn) {\n if (startColumn) {\n markerLines[startLine] = [startColumn, 0];\n } else {\n markerLines[startLine] = true;\n }\n } else {\n markerLines[startLine] = [startColumn, endColumn - startColumn];\n }\n }\n\n return {\n start,\n end,\n markerLines\n };\n }\n\n function codeFrameColumns(rawLines, loc, opts = {}) {\n const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts);\n const chalk = (0, _highlight.getChalk)(opts);\n const defs = getDefs(chalk);\n\n const maybeHighlight = (chalkFn, string) => {\n return highlighted ? chalkFn(string) : string;\n };\n\n const lines = rawLines.split(NEWLINE);\n const {\n start,\n end,\n markerLines\n } = getMarkerLines(loc, lines, opts);\n const hasColumns = loc.start && typeof loc.start.column === \"number\";\n const numberMaxWidth = String(end).length;\n const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines;\n let frame = highlightedLines.split(NEWLINE).slice(start, end).map((line, index) => {\n const number = start + 1 + index;\n const paddedNumber = ` ${number}`.slice(-numberMaxWidth);\n const gutter = ` ${paddedNumber} | `;\n const hasMarker = markerLines[number];\n const lastMarkerLine = !markerLines[number + 1];\n\n if (hasMarker) {\n let markerLine = \"\";\n\n if (Array.isArray(hasMarker)) {\n const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\\t]/g, \" \");\n const numberOfMarkers = hasMarker[1] || 1;\n markerLine = [\"\\n \", maybeHighlight(defs.gutter, gutter.replace(/\\d/g, \" \")), markerSpacing, maybeHighlight(defs.marker, \"^\").repeat(numberOfMarkers)].join(\"\");\n\n if (lastMarkerLine && opts.message) {\n markerLine += \" \" + maybeHighlight(defs.message, opts.message);\n }\n }\n\n return [maybeHighlight(defs.marker, \">\"), maybeHighlight(defs.gutter, gutter), line, markerLine].join(\"\");\n } else {\n return ` ${maybeHighlight(defs.gutter, gutter)}${line}`;\n }\n }).join(\"\\n\");\n\n if (opts.message && !hasColumns) {\n frame = `${\" \".repeat(numberMaxWidth + 1)}${opts.message}\\n${frame}`;\n }\n\n if (highlighted) {\n return chalk.reset(frame);\n } else {\n return frame;\n }\n }\n\n function _default(rawLines, lineNumber, colNumber, opts = {}) {\n if (!deprecationWarningShown) {\n deprecationWarningShown = true;\n const message = \"Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.\";\n\n if (process.emitWarning) {\n process.emitWarning(message, \"DeprecationWarning\");\n } else {\n const deprecationError = new Error(message);\n deprecationError.name = \"DeprecationWarning\";\n console.warn(new Error(message));\n }\n }\n\n colNumber = Math.max(colNumber, 0);\n const location = {\n start: {\n column: colNumber,\n line: lineNumber\n }\n };\n return codeFrameColumns(rawLines, location, opts);\n }\n});\n\nconst {\n default: LinesAndColumns\n} = dist;\nconst {\n codeFrameColumns\n} = lib$2;\nconst JSONError = errorEx_1('JSONError', {\n fileName: errorEx_1.append('in %s'),\n codeFrame: errorEx_1.append('\\n\\n%s\\n')\n});\n\nvar parseJson$1 = (string, reviver, filename) => {\n if (typeof reviver === 'string') {\n filename = reviver;\n reviver = null;\n }\n\n try {\n try {\n return JSON.parse(string, reviver);\n } catch (error) {\n jsonParseBetterErrors(string, reviver);\n throw error;\n }\n } catch (error) {\n error.message = error.message.replace(/\\n/g, '');\n const indexMatch = error.message.match(/in JSON at position (\\d+) while parsing near/);\n const jsonError = new JSONError(error);\n\n if (filename) {\n jsonError.fileName = filename;\n }\n\n if (indexMatch && indexMatch.length > 0) {\n const lines = new LinesAndColumns(string);\n const index = Number(indexMatch[1]);\n const location = lines.locationForIndex(index);\n const codeFrame = codeFrameColumns(string, {\n start: {\n line: location.line + 1,\n column: location.column + 1\n }\n }, {\n highlightCode: true\n });\n jsonError.codeFrame = codeFrame;\n }\n\n throw jsonError;\n }\n};\n\nconst Char = {\n ANCHOR: '&',\n COMMENT: '#',\n TAG: '!',\n DIRECTIVES_END: '-',\n DOCUMENT_END: '.'\n};\nconst Type = {\n ALIAS: 'ALIAS',\n BLANK_LINE: 'BLANK_LINE',\n BLOCK_FOLDED: 'BLOCK_FOLDED',\n BLOCK_LITERAL: 'BLOCK_LITERAL',\n COMMENT: 'COMMENT',\n DIRECTIVE: 'DIRECTIVE',\n DOCUMENT: 'DOCUMENT',\n FLOW_MAP: 'FLOW_MAP',\n FLOW_SEQ: 'FLOW_SEQ',\n MAP: 'MAP',\n MAP_KEY: 'MAP_KEY',\n MAP_VALUE: 'MAP_VALUE',\n PLAIN: 'PLAIN',\n QUOTE_DOUBLE: 'QUOTE_DOUBLE',\n QUOTE_SINGLE: 'QUOTE_SINGLE',\n SEQ: 'SEQ',\n SEQ_ITEM: 'SEQ_ITEM'\n};\nconst defaultTagPrefix = 'tag:yaml.org,2002:';\nconst defaultTags = {\n MAP: 'tag:yaml.org,2002:map',\n SEQ: 'tag:yaml.org,2002:seq',\n STR: 'tag:yaml.org,2002:str'\n};\n\nfunction findLineStarts(src) {\n const ls = [0];\n let offset = src.indexOf('\\n');\n\n while (offset !== -1) {\n offset += 1;\n ls.push(offset);\n offset = src.indexOf('\\n', offset);\n }\n\n return ls;\n}\n\nfunction getSrcInfo(cst) {\n let lineStarts, src;\n\n if (typeof cst === 'string') {\n lineStarts = findLineStarts(cst);\n src = cst;\n } else {\n if (Array.isArray(cst)) cst = cst[0];\n\n if (cst && cst.context) {\n if (!cst.lineStarts) cst.lineStarts = findLineStarts(cst.context.src);\n lineStarts = cst.lineStarts;\n src = cst.context.src;\n }\n }\n\n return {\n lineStarts,\n src\n };\n}\n/**\n * @typedef {Object} LinePos - One-indexed position in the source\n * @property {number} line\n * @property {number} col\n */\n\n/**\n * Determine the line/col position matching a character offset.\n *\n * Accepts a source string or a CST document as the second parameter. With\n * the latter, starting indices for lines are cached in the document as\n * `lineStarts: number[]`.\n *\n * Returns a one-indexed `{ line, col }` location if found, or\n * `undefined` otherwise.\n *\n * @param {number} offset\n * @param {string|Document|Document[]} cst\n * @returns {?LinePos}\n */\n\n\nfunction getLinePos(offset, cst) {\n if (typeof offset !== 'number' || offset < 0) return null;\n const {\n lineStarts,\n src\n } = getSrcInfo(cst);\n if (!lineStarts || !src || offset > src.length) return null;\n\n for (let i = 0; i < lineStarts.length; ++i) {\n const start = lineStarts[i];\n\n if (offset < start) {\n return {\n line: i,\n col: offset - lineStarts[i - 1] + 1\n };\n }\n\n if (offset === start) return {\n line: i + 1,\n col: 1\n };\n }\n\n const line = lineStarts.length;\n return {\n line,\n col: offset - lineStarts[line - 1] + 1\n };\n}\n/**\n * Get a specified line from the source.\n *\n * Accepts a source string or a CST document as the second parameter. With\n * the latter, starting indices for lines are cached in the document as\n * `lineStarts: number[]`.\n *\n * Returns the line as a string if found, or `null` otherwise.\n *\n * @param {number} line One-indexed line number\n * @param {string|Document|Document[]} cst\n * @returns {?string}\n */\n\n\nfunction getLine(line, cst) {\n const {\n lineStarts,\n src\n } = getSrcInfo(cst);\n if (!lineStarts || !(line >= 1) || line > lineStarts.length) return null;\n const start = lineStarts[line - 1];\n let end = lineStarts[line]; // undefined for last line; that's ok for slice()\n\n while (end && end > start && src[end - 1] === '\\n') --end;\n\n return src.slice(start, end);\n}\n/**\n * Pretty-print the starting line from the source indicated by the range `pos`\n *\n * Trims output to `maxWidth` chars while keeping the starting column visible,\n * using `…` at either end to indicate dropped characters.\n *\n * Returns a two-line string (or `null`) with `\\n` as separator; the second line\n * will hold appropriately indented `^` marks indicating the column range.\n *\n * @param {Object} pos\n * @param {LinePos} pos.start\n * @param {LinePos} [pos.end]\n * @param {string|Document|Document[]*} cst\n * @param {number} [maxWidth=80]\n * @returns {?string}\n */\n\n\nfunction getPrettyContext({\n start,\n end\n}, cst, maxWidth = 80) {\n let src = getLine(start.line, cst);\n if (!src) return null;\n let {\n col\n } = start;\n\n if (src.length > maxWidth) {\n if (col <= maxWidth - 10) {\n src = src.substr(0, maxWidth - 1) + '…';\n } else {\n const halfWidth = Math.round(maxWidth / 2);\n if (src.length > col + halfWidth) src = src.substr(0, col + halfWidth - 1) + '…';\n col -= src.length - maxWidth;\n src = '…' + src.substr(1 - maxWidth);\n }\n }\n\n let errLen = 1;\n let errEnd = '';\n\n if (end) {\n if (end.line === start.line && col + (end.col - start.col) <= maxWidth + 1) {\n errLen = end.col - start.col;\n } else {\n errLen = Math.min(src.length + 1, maxWidth) - col;\n errEnd = '…';\n }\n }\n\n const offset = col > 1 ? ' '.repeat(col - 1) : '';\n const err = '^'.repeat(errLen);\n return `${src}\\n${offset}${err}${errEnd}`;\n}\n\nclass Range {\n static copy(orig) {\n return new Range(orig.start, orig.end);\n }\n\n constructor(start, end) {\n this.start = start;\n this.end = end || start;\n }\n\n isEmpty() {\n return typeof this.start !== 'number' || !this.end || this.end <= this.start;\n }\n /**\n * Set `origStart` and `origEnd` to point to the original source range for\n * this node, which may differ due to dropped CR characters.\n *\n * @param {number[]} cr - Positions of dropped CR characters\n * @param {number} offset - Starting index of `cr` from the last call\n * @returns {number} - The next offset, matching the one found for `origStart`\n */\n\n\n setOrigRange(cr, offset) {\n const {\n start,\n end\n } = this;\n\n if (cr.length === 0 || end <= cr[0]) {\n this.origStart = start;\n this.origEnd = end;\n return offset;\n }\n\n let i = offset;\n\n while (i < cr.length) {\n if (cr[i] > start) break;else ++i;\n }\n\n this.origStart = start + i;\n const nextOffset = i;\n\n while (i < cr.length) {\n // if end was at \\n, it should now be at \\r\n if (cr[i] >= end) break;else ++i;\n }\n\n this.origEnd = end + i;\n return nextOffset;\n }\n\n}\n/** Root class of all nodes */\n\n\nclass Node {\n static addStringTerminator(src, offset, str) {\n if (str[str.length - 1] === '\\n') return str;\n const next = Node.endOfWhiteSpace(src, offset);\n return next >= src.length || src[next] === '\\n' ? str + '\\n' : str;\n } // ^(---|...)\n\n\n static atDocumentBoundary(src, offset, sep) {\n const ch0 = src[offset];\n if (!ch0) return true;\n const prev = src[offset - 1];\n if (prev && prev !== '\\n') return false;\n\n if (sep) {\n if (ch0 !== sep) return false;\n } else {\n if (ch0 !== Char.DIRECTIVES_END && ch0 !== Char.DOCUMENT_END) return false;\n }\n\n const ch1 = src[offset + 1];\n const ch2 = src[offset + 2];\n if (ch1 !== ch0 || ch2 !== ch0) return false;\n const ch3 = src[offset + 3];\n return !ch3 || ch3 === '\\n' || ch3 === '\\t' || ch3 === ' ';\n }\n\n static endOfIdentifier(src, offset) {\n let ch = src[offset];\n const isVerbatim = ch === '<';\n const notOk = isVerbatim ? ['\\n', '\\t', ' ', '>'] : ['\\n', '\\t', ' ', '[', ']', '{', '}', ','];\n\n while (ch && notOk.indexOf(ch) === -1) ch = src[offset += 1];\n\n if (isVerbatim && ch === '>') offset += 1;\n return offset;\n }\n\n static endOfIndent(src, offset) {\n let ch = src[offset];\n\n while (ch === ' ') ch = src[offset += 1];\n\n return offset;\n }\n\n static endOfLine(src, offset) {\n let ch = src[offset];\n\n while (ch && ch !== '\\n') ch = src[offset += 1];\n\n return offset;\n }\n\n static endOfWhiteSpace(src, offset) {\n let ch = src[offset];\n\n while (ch === '\\t' || ch === ' ') ch = src[offset += 1];\n\n return offset;\n }\n\n static startOfLine(src, offset) {\n let ch = src[offset - 1];\n if (ch === '\\n') return offset;\n\n while (ch && ch !== '\\n') ch = src[offset -= 1];\n\n return offset + 1;\n }\n /**\n * End of indentation, or null if the line's indent level is not more\n * than `indent`\n *\n * @param {string} src\n * @param {number} indent\n * @param {number} lineStart\n * @returns {?number}\n */\n\n\n static endOfBlockIndent(src, indent, lineStart) {\n const inEnd = Node.endOfIndent(src, lineStart);\n\n if (inEnd > lineStart + indent) {\n return inEnd;\n } else {\n const wsEnd = Node.endOfWhiteSpace(src, inEnd);\n const ch = src[wsEnd];\n if (!ch || ch === '\\n') return wsEnd;\n }\n\n return null;\n }\n\n static atBlank(src, offset, endAsBlank) {\n const ch = src[offset];\n return ch === '\\n' || ch === '\\t' || ch === ' ' || endAsBlank && !ch;\n }\n\n static nextNodeIsIndented(ch, indentDiff, indicatorAsIndent) {\n if (!ch || indentDiff < 0) return false;\n if (indentDiff > 0) return true;\n return indicatorAsIndent && ch === '-';\n } // should be at line or string end, or at next non-whitespace char\n\n\n static normalizeOffset(src, offset) {\n const ch = src[offset];\n return !ch ? offset : ch !== '\\n' && src[offset - 1] === '\\n' ? offset - 1 : Node.endOfWhiteSpace(src, offset);\n } // fold single newline into space, multiple newlines to N - 1 newlines\n // presumes src[offset] === '\\n'\n\n\n static foldNewline(src, offset, indent) {\n let inCount = 0;\n let error = false;\n let fold = '';\n let ch = src[offset + 1];\n\n while (ch === ' ' || ch === '\\t' || ch === '\\n') {\n switch (ch) {\n case '\\n':\n inCount = 0;\n offset += 1;\n fold += '\\n';\n break;\n\n case '\\t':\n if (inCount <= indent) error = true;\n offset = Node.endOfWhiteSpace(src, offset + 2) - 1;\n break;\n\n case ' ':\n inCount += 1;\n offset += 1;\n break;\n }\n\n ch = src[offset + 1];\n }\n\n if (!fold) fold = ' ';\n if (ch && inCount <= indent) error = true;\n return {\n fold,\n offset,\n error\n };\n }\n\n constructor(type, props, context) {\n Object.defineProperty(this, 'context', {\n value: context || null,\n writable: true\n });\n this.error = null;\n this.range = null;\n this.valueRange = null;\n this.props = props || [];\n this.type = type;\n this.value = null;\n }\n\n getPropValue(idx, key, skipKey) {\n if (!this.context) return null;\n const {\n src\n } = this.context;\n const prop = this.props[idx];\n return prop && src[prop.start] === key ? src.slice(prop.start + (skipKey ? 1 : 0), prop.end) : null;\n }\n\n get anchor() {\n for (let i = 0; i < this.props.length; ++i) {\n const anchor = this.getPropValue(i, Char.ANCHOR, true);\n if (anchor != null) return anchor;\n }\n\n return null;\n }\n\n get comment() {\n const comments = [];\n\n for (let i = 0; i < this.props.length; ++i) {\n const comment = this.getPropValue(i, Char.COMMENT, true);\n if (comment != null) comments.push(comment);\n }\n\n return comments.length > 0 ? comments.join('\\n') : null;\n }\n\n commentHasRequiredWhitespace(start) {\n const {\n src\n } = this.context;\n if (this.header && start === this.header.end) return false;\n if (!this.valueRange) return false;\n const {\n end\n } = this.valueRange;\n return start !== end || Node.atBlank(src, end - 1);\n }\n\n get hasComment() {\n if (this.context) {\n const {\n src\n } = this.context;\n\n for (let i = 0; i < this.props.length; ++i) {\n if (src[this.props[i].start] === Char.COMMENT) return true;\n }\n }\n\n return false;\n }\n\n get hasProps() {\n if (this.context) {\n const {\n src\n } = this.context;\n\n for (let i = 0; i < this.props.length; ++i) {\n if (src[this.props[i].start] !== Char.COMMENT) return true;\n }\n }\n\n return false;\n }\n\n get includesTrailingLines() {\n return false;\n }\n\n get jsonLike() {\n const jsonLikeTypes = [Type.FLOW_MAP, Type.FLOW_SEQ, Type.QUOTE_DOUBLE, Type.QUOTE_SINGLE];\n return jsonLikeTypes.indexOf(this.type) !== -1;\n }\n\n get rangeAsLinePos() {\n if (!this.range || !this.context) return undefined;\n const start = getLinePos(this.range.start, this.context.root);\n if (!start) return undefined;\n const end = getLinePos(this.range.end, this.context.root);\n return {\n start,\n end\n };\n }\n\n get rawValue() {\n if (!this.valueRange || !this.context) return null;\n const {\n start,\n end\n } = this.valueRange;\n return this.context.src.slice(start, end);\n }\n\n get tag() {\n for (let i = 0; i < this.props.length; ++i) {\n const tag = this.getPropValue(i, Char.TAG, false);\n\n if (tag != null) {\n if (tag[1] === '<') {\n return {\n verbatim: tag.slice(2, -1)\n };\n } else {\n // eslint-disable-next-line no-unused-vars\n const [_, handle, suffix] = tag.match(/^(.*!)([^!]*)$/);\n return {\n handle,\n suffix\n };\n }\n }\n }\n\n return null;\n }\n\n get valueRangeContainsNewline() {\n if (!this.valueRange || !this.context) return false;\n const {\n start,\n end\n } = this.valueRange;\n const {\n src\n } = this.context;\n\n for (let i = start; i < end; ++i) {\n if (src[i] === '\\n') return true;\n }\n\n return false;\n }\n\n parseComment(start) {\n const {\n src\n } = this.context;\n\n if (src[start] === Char.COMMENT) {\n const end = Node.endOfLine(src, start + 1);\n const commentRange = new Range(start, end);\n this.props.push(commentRange);\n return end;\n }\n\n return start;\n }\n /**\n * Populates the `origStart` and `origEnd` values of all ranges for this\n * node. Extended by child classes to handle descendant nodes.\n *\n * @param {number[]} cr - Positions of dropped CR characters\n * @param {number} offset - Starting index of `cr` from the last call\n * @returns {number} - The next offset, matching the one found for `origStart`\n */\n\n\n setOrigRanges(cr, offset) {\n if (this.range) offset = this.range.setOrigRange(cr, offset);\n if (this.valueRange) this.valueRange.setOrigRange(cr, offset);\n this.props.forEach(prop => prop.setOrigRange(cr, offset));\n return offset;\n }\n\n toString() {\n const {\n context: {\n src\n },\n range,\n value\n } = this;\n if (value != null) return value;\n const str = src.slice(range.start, range.end);\n return Node.addStringTerminator(src, range.end, str);\n }\n\n}\n\nclass YAMLError extends Error {\n constructor(name, source, message) {\n if (!message || !(source instanceof Node)) throw new Error(`Invalid arguments for new ${name}`);\n super();\n this.name = name;\n this.message = message;\n this.source = source;\n }\n\n makePretty() {\n if (!this.source) return;\n this.nodeType = this.source.type;\n const cst = this.source.context && this.source.context.root;\n\n if (typeof this.offset === 'number') {\n this.range = new Range(this.offset, this.offset + 1);\n const start = cst && getLinePos(this.offset, cst);\n\n if (start) {\n const end = {\n line: start.line,\n col: start.col + 1\n };\n this.linePos = {\n start,\n end\n };\n }\n\n delete this.offset;\n } else {\n this.range = this.source.range;\n this.linePos = this.source.rangeAsLinePos;\n }\n\n if (this.linePos) {\n const {\n line,\n col\n } = this.linePos.start;\n this.message += ` at line ${line}, column ${col}`;\n const ctx = cst && getPrettyContext(this.linePos, cst);\n if (ctx) this.message += `:\\n\\n${ctx}\\n`;\n }\n\n delete this.source;\n }\n\n}\n\nclass YAMLReferenceError extends YAMLError {\n constructor(source, message) {\n super('YAMLReferenceError', source, message);\n }\n\n}\n\nclass YAMLSemanticError extends YAMLError {\n constructor(source, message) {\n super('YAMLSemanticError', source, message);\n }\n\n}\n\nclass YAMLSyntaxError extends YAMLError {\n constructor(source, message) {\n super('YAMLSyntaxError', source, message);\n }\n\n}\n\nclass YAMLWarning extends YAMLError {\n constructor(source, message) {\n super('YAMLWarning', source, message);\n }\n\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nclass PlainValue extends Node {\n static endOfLine(src, start, inFlow) {\n let ch = src[start];\n let offset = start;\n\n while (ch && ch !== '\\n') {\n if (inFlow && (ch === '[' || ch === ']' || ch === '{' || ch === '}' || ch === ',')) break;\n const next = src[offset + 1];\n if (ch === ':' && (!next || next === '\\n' || next === '\\t' || next === ' ' || inFlow && next === ',')) break;\n if ((ch === ' ' || ch === '\\t') && next === '#') break;\n offset += 1;\n ch = next;\n }\n\n return offset;\n }\n\n get strValue() {\n if (!this.valueRange || !this.context) return null;\n let {\n start,\n end\n } = this.valueRange;\n const {\n src\n } = this.context;\n let ch = src[end - 1];\n\n while (start < end && (ch === '\\n' || ch === '\\t' || ch === ' ')) ch = src[--end - 1];\n\n let str = '';\n\n for (let i = start; i < end; ++i) {\n const ch = src[i];\n\n if (ch === '\\n') {\n const {\n fold,\n offset\n } = Node.foldNewline(src, i, -1);\n str += fold;\n i = offset;\n } else if (ch === ' ' || ch === '\\t') {\n // trim trailing whitespace\n const wsStart = i;\n let next = src[i + 1];\n\n while (i < end && (next === ' ' || next === '\\t')) {\n i += 1;\n next = src[i + 1];\n }\n\n if (next !== '\\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch;\n } else {\n str += ch;\n }\n }\n\n const ch0 = src[start];\n\n switch (ch0) {\n case '\\t':\n {\n const msg = 'Plain value cannot start with a tab character';\n const errors = [new YAMLSemanticError(this, msg)];\n return {\n errors,\n str\n };\n }\n\n case '@':\n case '`':\n {\n const msg = `Plain value cannot start with reserved character ${ch0}`;\n const errors = [new YAMLSemanticError(this, msg)];\n return {\n errors,\n str\n };\n }\n\n default:\n return str;\n }\n }\n\n parseBlockValue(start) {\n const {\n indent,\n inFlow,\n src\n } = this.context;\n let offset = start;\n let valueEnd = start;\n\n for (let ch = src[offset]; ch === '\\n'; ch = src[offset]) {\n if (Node.atDocumentBoundary(src, offset + 1)) break;\n const end = Node.endOfBlockIndent(src, indent, offset + 1);\n if (end === null || src[end] === '#') break;\n\n if (src[end] === '\\n') {\n offset = end;\n } else {\n valueEnd = PlainValue.endOfLine(src, end, inFlow);\n offset = valueEnd;\n }\n }\n\n if (this.valueRange.isEmpty()) this.valueRange.start = start;\n this.valueRange.end = valueEnd;\n return valueEnd;\n }\n /**\n * Parses a plain value from the source\n *\n * Accepted forms are:\n * ```\n * #comment\n *\n * first line\n *\n * first line #comment\n *\n * first line\n * block\n * lines\n *\n * #comment\n * block\n * lines\n * ```\n * where block lines are empty or have an indent level greater than `indent`.\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar, may be `\\n`\n */\n\n\n parse(context, start) {\n this.context = context;\n const {\n inFlow,\n src\n } = context;\n let offset = start;\n const ch = src[offset];\n\n if (ch && ch !== '#' && ch !== '\\n') {\n offset = PlainValue.endOfLine(src, start, inFlow);\n }\n\n this.valueRange = new Range(start, offset);\n offset = Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n\n if (!this.hasComment || this.valueRange.isEmpty()) {\n offset = this.parseBlockValue(offset);\n }\n\n return offset;\n }\n\n}\n\nvar Char_1 = Char;\nvar Node_1 = Node;\nvar PlainValue_1 = PlainValue;\nvar Range_1 = Range;\nvar Type_1 = Type;\nvar YAMLError_1 = YAMLError;\nvar YAMLReferenceError_1 = YAMLReferenceError;\nvar YAMLSemanticError_1 = YAMLSemanticError;\nvar YAMLSyntaxError_1 = YAMLSyntaxError;\nvar YAMLWarning_1 = YAMLWarning;\nvar _defineProperty_1 = _defineProperty;\nvar defaultTagPrefix_1 = defaultTagPrefix;\nvar defaultTags_1 = defaultTags;\nvar PlainValueEc8e588e = {\n Char: Char_1,\n Node: Node_1,\n PlainValue: PlainValue_1,\n Range: Range_1,\n Type: Type_1,\n YAMLError: YAMLError_1,\n YAMLReferenceError: YAMLReferenceError_1,\n YAMLSemanticError: YAMLSemanticError_1,\n YAMLSyntaxError: YAMLSyntaxError_1,\n YAMLWarning: YAMLWarning_1,\n _defineProperty: _defineProperty_1,\n defaultTagPrefix: defaultTagPrefix_1,\n defaultTags: defaultTags_1\n};\n\nclass BlankLine extends PlainValueEc8e588e.Node {\n constructor() {\n super(PlainValueEc8e588e.Type.BLANK_LINE);\n }\n /* istanbul ignore next */\n\n\n get includesTrailingLines() {\n // This is never called from anywhere, but if it were,\n // this is the value it should return.\n return true;\n }\n /**\n * Parses a blank line from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first \\n character\n * @returns {number} - Index of the character after this\n */\n\n\n parse(context, start) {\n this.context = context;\n this.range = new PlainValueEc8e588e.Range(start, start + 1);\n return start + 1;\n }\n\n}\n\nclass CollectionItem extends PlainValueEc8e588e.Node {\n constructor(type, props) {\n super(type, props);\n this.node = null;\n }\n\n get includesTrailingLines() {\n return !!this.node && this.node.includesTrailingLines;\n }\n /**\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this\n */\n\n\n parse(context, start) {\n this.context = context;\n const {\n parseNode,\n src\n } = context;\n let {\n atLineStart,\n lineStart\n } = context;\n if (!atLineStart && this.type === PlainValueEc8e588e.Type.SEQ_ITEM) this.error = new PlainValueEc8e588e.YAMLSemanticError(this, 'Sequence items must not have preceding content on the same line');\n const indent = atLineStart ? start - lineStart : context.indent;\n let offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, start + 1);\n let ch = src[offset];\n const inlineComment = ch === '#';\n const comments = [];\n let blankLine = null;\n\n while (ch === '\\n' || ch === '#') {\n if (ch === '#') {\n const end = PlainValueEc8e588e.Node.endOfLine(src, offset + 1);\n comments.push(new PlainValueEc8e588e.Range(offset, end));\n offset = end;\n } else {\n atLineStart = true;\n lineStart = offset + 1;\n const wsEnd = PlainValueEc8e588e.Node.endOfWhiteSpace(src, lineStart);\n\n if (src[wsEnd] === '\\n' && comments.length === 0) {\n blankLine = new BlankLine();\n lineStart = blankLine.parse({\n src\n }, lineStart);\n }\n\n offset = PlainValueEc8e588e.Node.endOfIndent(src, lineStart);\n }\n\n ch = src[offset];\n }\n\n if (PlainValueEc8e588e.Node.nextNodeIsIndented(ch, offset - (lineStart + indent), this.type !== PlainValueEc8e588e.Type.SEQ_ITEM)) {\n this.node = parseNode({\n atLineStart,\n inCollection: false,\n indent,\n lineStart,\n parent: this\n }, offset);\n } else if (ch && lineStart > start + 1) {\n offset = lineStart - 1;\n }\n\n if (this.node) {\n if (blankLine) {\n // Only blank lines preceding non-empty nodes are captured. Note that\n // this means that collection item range start indices do not always\n // increase monotonically. -- eemeli/yaml#126\n const items = context.parent.items || context.parent.contents;\n if (items) items.push(blankLine);\n }\n\n if (comments.length) Array.prototype.push.apply(this.props, comments);\n offset = this.node.range.end;\n } else {\n if (inlineComment) {\n const c = comments[0];\n this.props.push(c);\n offset = c.end;\n } else {\n offset = PlainValueEc8e588e.Node.endOfLine(src, start + 1);\n }\n }\n\n const end = this.node ? this.node.valueRange.end : offset;\n this.valueRange = new PlainValueEc8e588e.Range(start, end);\n return offset;\n }\n\n setOrigRanges(cr, offset) {\n offset = super.setOrigRanges(cr, offset);\n return this.node ? this.node.setOrigRanges(cr, offset) : offset;\n }\n\n toString() {\n const {\n context: {\n src\n },\n node,\n range,\n value\n } = this;\n if (value != null) return value;\n const str = node ? src.slice(range.start, node.range.start) + String(node) : src.slice(range.start, range.end);\n return PlainValueEc8e588e.Node.addStringTerminator(src, range.end, str);\n }\n\n}\n\nclass Comment extends PlainValueEc8e588e.Node {\n constructor() {\n super(PlainValueEc8e588e.Type.COMMENT);\n }\n /**\n * Parses a comment line from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar\n */\n\n\n parse(context, start) {\n this.context = context;\n const offset = this.parseComment(start);\n this.range = new PlainValueEc8e588e.Range(start, offset);\n return offset;\n }\n\n}\n\nfunction grabCollectionEndComments(node) {\n let cnode = node;\n\n while (cnode instanceof CollectionItem) cnode = cnode.node;\n\n if (!(cnode instanceof Collection)) return null;\n const len = cnode.items.length;\n let ci = -1;\n\n for (let i = len - 1; i >= 0; --i) {\n const n = cnode.items[i];\n\n if (n.type === PlainValueEc8e588e.Type.COMMENT) {\n // Keep sufficiently indented comments with preceding node\n const {\n indent,\n lineStart\n } = n.context;\n if (indent > 0 && n.range.start >= lineStart + indent) break;\n ci = i;\n } else if (n.type === PlainValueEc8e588e.Type.BLANK_LINE) ci = i;else break;\n }\n\n if (ci === -1) return null;\n const ca = cnode.items.splice(ci, len - ci);\n const prevEnd = ca[0].range.start;\n\n while (true) {\n cnode.range.end = prevEnd;\n if (cnode.valueRange && cnode.valueRange.end > prevEnd) cnode.valueRange.end = prevEnd;\n if (cnode === node) break;\n cnode = cnode.context.parent;\n }\n\n return ca;\n}\n\nclass Collection extends PlainValueEc8e588e.Node {\n static nextContentHasIndent(src, offset, indent) {\n const lineStart = PlainValueEc8e588e.Node.endOfLine(src, offset) + 1;\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, lineStart);\n const ch = src[offset];\n if (!ch) return false;\n if (offset >= lineStart + indent) return true;\n if (ch !== '#' && ch !== '\\n') return false;\n return Collection.nextContentHasIndent(src, offset, indent);\n }\n\n constructor(firstItem) {\n super(firstItem.type === PlainValueEc8e588e.Type.SEQ_ITEM ? PlainValueEc8e588e.Type.SEQ : PlainValueEc8e588e.Type.MAP);\n\n for (let i = firstItem.props.length - 1; i >= 0; --i) {\n if (firstItem.props[i].start < firstItem.context.lineStart) {\n // props on previous line are assumed by the collection\n this.props = firstItem.props.slice(0, i + 1);\n firstItem.props = firstItem.props.slice(i + 1);\n const itemRange = firstItem.props[0] || firstItem.valueRange;\n firstItem.range.start = itemRange.start;\n break;\n }\n }\n\n this.items = [firstItem];\n const ec = grabCollectionEndComments(firstItem);\n if (ec) Array.prototype.push.apply(this.items, ec);\n }\n\n get includesTrailingLines() {\n return this.items.length > 0;\n }\n /**\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this\n */\n\n\n parse(context, start) {\n this.context = context;\n const {\n parseNode,\n src\n } = context; // It's easier to recalculate lineStart here rather than tracking down the\n // last context from which to read it -- eemeli/yaml#2\n\n let lineStart = PlainValueEc8e588e.Node.startOfLine(src, start);\n const firstItem = this.items[0]; // First-item context needs to be correct for later comment handling\n // -- eemeli/yaml#17\n\n firstItem.context.parent = this;\n this.valueRange = PlainValueEc8e588e.Range.copy(firstItem.valueRange);\n const indent = firstItem.range.start - firstItem.context.lineStart;\n let offset = start;\n offset = PlainValueEc8e588e.Node.normalizeOffset(src, offset);\n let ch = src[offset];\n let atLineStart = PlainValueEc8e588e.Node.endOfWhiteSpace(src, lineStart) === offset;\n let prevIncludesTrailingLines = false;\n\n while (ch) {\n while (ch === '\\n' || ch === '#') {\n if (atLineStart && ch === '\\n' && !prevIncludesTrailingLines) {\n const blankLine = new BlankLine();\n offset = blankLine.parse({\n src\n }, offset);\n this.valueRange.end = offset;\n\n if (offset >= src.length) {\n ch = null;\n break;\n }\n\n this.items.push(blankLine);\n offset -= 1; // blankLine.parse() consumes terminal newline\n } else if (ch === '#') {\n if (offset < lineStart + indent && !Collection.nextContentHasIndent(src, offset, indent)) {\n return offset;\n }\n\n const comment = new Comment();\n offset = comment.parse({\n indent,\n lineStart,\n src\n }, offset);\n this.items.push(comment);\n this.valueRange.end = offset;\n\n if (offset >= src.length) {\n ch = null;\n break;\n }\n }\n\n lineStart = offset + 1;\n offset = PlainValueEc8e588e.Node.endOfIndent(src, lineStart);\n\n if (PlainValueEc8e588e.Node.atBlank(src, offset)) {\n const wsEnd = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n const next = src[wsEnd];\n\n if (!next || next === '\\n' || next === '#') {\n offset = wsEnd;\n }\n }\n\n ch = src[offset];\n atLineStart = true;\n }\n\n if (!ch) {\n break;\n }\n\n if (offset !== lineStart + indent && (atLineStart || ch !== ':')) {\n if (offset < lineStart + indent) {\n if (lineStart > start) offset = lineStart;\n break;\n } else if (!this.error) {\n const msg = 'All collection items must start at the same column';\n this.error = new PlainValueEc8e588e.YAMLSyntaxError(this, msg);\n }\n }\n\n if (firstItem.type === PlainValueEc8e588e.Type.SEQ_ITEM) {\n if (ch !== '-') {\n if (lineStart > start) offset = lineStart;\n break;\n }\n } else if (ch === '-' && !this.error) {\n // map key may start with -, as long as it's followed by a non-whitespace char\n const next = src[offset + 1];\n\n if (!next || next === '\\n' || next === '\\t' || next === ' ') {\n const msg = 'A collection cannot be both a mapping and a sequence';\n this.error = new PlainValueEc8e588e.YAMLSyntaxError(this, msg);\n }\n }\n\n const node = parseNode({\n atLineStart,\n inCollection: true,\n indent,\n lineStart,\n parent: this\n }, offset);\n if (!node) return offset; // at next document start\n\n this.items.push(node);\n this.valueRange.end = node.valueRange.end;\n offset = PlainValueEc8e588e.Node.normalizeOffset(src, node.range.end);\n ch = src[offset];\n atLineStart = false;\n prevIncludesTrailingLines = node.includesTrailingLines; // Need to reset lineStart and atLineStart here if preceding node's range\n // has advanced to check the current line's indentation level\n // -- eemeli/yaml#10 & eemeli/yaml#38\n\n if (ch) {\n let ls = offset - 1;\n let prev = src[ls];\n\n while (prev === ' ' || prev === '\\t') prev = src[--ls];\n\n if (prev === '\\n') {\n lineStart = ls + 1;\n atLineStart = true;\n }\n }\n\n const ec = grabCollectionEndComments(node);\n if (ec) Array.prototype.push.apply(this.items, ec);\n }\n\n return offset;\n }\n\n setOrigRanges(cr, offset) {\n offset = super.setOrigRanges(cr, offset);\n this.items.forEach(node => {\n offset = node.setOrigRanges(cr, offset);\n });\n return offset;\n }\n\n toString() {\n const {\n context: {\n src\n },\n items,\n range,\n value\n } = this;\n if (value != null) return value;\n let str = src.slice(range.start, items[0].range.start) + String(items[0]);\n\n for (let i = 1; i < items.length; ++i) {\n const item = items[i];\n const {\n atLineStart,\n indent\n } = item.context;\n if (atLineStart) for (let i = 0; i < indent; ++i) str += ' ';\n str += String(item);\n }\n\n return PlainValueEc8e588e.Node.addStringTerminator(src, range.end, str);\n }\n\n}\n\nclass Directive extends PlainValueEc8e588e.Node {\n constructor() {\n super(PlainValueEc8e588e.Type.DIRECTIVE);\n this.name = null;\n }\n\n get parameters() {\n const raw = this.rawValue;\n return raw ? raw.trim().split(/[ \\t]+/) : [];\n }\n\n parseName(start) {\n const {\n src\n } = this.context;\n let offset = start;\n let ch = src[offset];\n\n while (ch && ch !== '\\n' && ch !== '\\t' && ch !== ' ') ch = src[offset += 1];\n\n this.name = src.slice(start, offset);\n return offset;\n }\n\n parseParameters(start) {\n const {\n src\n } = this.context;\n let offset = start;\n let ch = src[offset];\n\n while (ch && ch !== '\\n' && ch !== '#') ch = src[offset += 1];\n\n this.valueRange = new PlainValueEc8e588e.Range(start, offset);\n return offset;\n }\n\n parse(context, start) {\n this.context = context;\n let offset = this.parseName(start + 1);\n offset = this.parseParameters(offset);\n offset = this.parseComment(offset);\n this.range = new PlainValueEc8e588e.Range(start, offset);\n return offset;\n }\n\n}\n\nclass Document extends PlainValueEc8e588e.Node {\n static startCommentOrEndBlankLine(src, start) {\n const offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, start);\n const ch = src[offset];\n return ch === '#' || ch === '\\n' ? offset : start;\n }\n\n constructor() {\n super(PlainValueEc8e588e.Type.DOCUMENT);\n this.directives = null;\n this.contents = null;\n this.directivesEndMarker = null;\n this.documentEndMarker = null;\n }\n\n parseDirectives(start) {\n const {\n src\n } = this.context;\n this.directives = [];\n let atLineStart = true;\n let hasDirectives = false;\n let offset = start;\n\n while (!PlainValueEc8e588e.Node.atDocumentBoundary(src, offset, PlainValueEc8e588e.Char.DIRECTIVES_END)) {\n offset = Document.startCommentOrEndBlankLine(src, offset);\n\n switch (src[offset]) {\n case '\\n':\n if (atLineStart) {\n const blankLine = new BlankLine();\n offset = blankLine.parse({\n src\n }, offset);\n\n if (offset < src.length) {\n this.directives.push(blankLine);\n }\n } else {\n offset += 1;\n atLineStart = true;\n }\n\n break;\n\n case '#':\n {\n const comment = new Comment();\n offset = comment.parse({\n src\n }, offset);\n this.directives.push(comment);\n atLineStart = false;\n }\n break;\n\n case '%':\n {\n const directive = new Directive();\n offset = directive.parse({\n parent: this,\n src\n }, offset);\n this.directives.push(directive);\n hasDirectives = true;\n atLineStart = false;\n }\n break;\n\n default:\n if (hasDirectives) {\n this.error = new PlainValueEc8e588e.YAMLSemanticError(this, 'Missing directives-end indicator line');\n } else if (this.directives.length > 0) {\n this.contents = this.directives;\n this.directives = [];\n }\n\n return offset;\n }\n }\n\n if (src[offset]) {\n this.directivesEndMarker = new PlainValueEc8e588e.Range(offset, offset + 3);\n return offset + 3;\n }\n\n if (hasDirectives) {\n this.error = new PlainValueEc8e588e.YAMLSemanticError(this, 'Missing directives-end indicator line');\n } else if (this.directives.length > 0) {\n this.contents = this.directives;\n this.directives = [];\n }\n\n return offset;\n }\n\n parseContents(start) {\n const {\n parseNode,\n src\n } = this.context;\n if (!this.contents) this.contents = [];\n let lineStart = start;\n\n while (src[lineStart - 1] === '-') lineStart -= 1;\n\n let offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, start);\n let atLineStart = lineStart === start;\n this.valueRange = new PlainValueEc8e588e.Range(offset);\n\n while (!PlainValueEc8e588e.Node.atDocumentBoundary(src, offset, PlainValueEc8e588e.Char.DOCUMENT_END)) {\n switch (src[offset]) {\n case '\\n':\n if (atLineStart) {\n const blankLine = new BlankLine();\n offset = blankLine.parse({\n src\n }, offset);\n\n if (offset < src.length) {\n this.contents.push(blankLine);\n }\n } else {\n offset += 1;\n atLineStart = true;\n }\n\n lineStart = offset;\n break;\n\n case '#':\n {\n const comment = new Comment();\n offset = comment.parse({\n src\n }, offset);\n this.contents.push(comment);\n atLineStart = false;\n }\n break;\n\n default:\n {\n const iEnd = PlainValueEc8e588e.Node.endOfIndent(src, offset);\n const context = {\n atLineStart,\n indent: -1,\n inFlow: false,\n inCollection: false,\n lineStart,\n parent: this\n };\n const node = parseNode(context, iEnd);\n if (!node) return this.valueRange.end = iEnd; // at next document start\n\n this.contents.push(node);\n offset = node.range.end;\n atLineStart = false;\n const ec = grabCollectionEndComments(node);\n if (ec) Array.prototype.push.apply(this.contents, ec);\n }\n }\n\n offset = Document.startCommentOrEndBlankLine(src, offset);\n }\n\n this.valueRange.end = offset;\n\n if (src[offset]) {\n this.documentEndMarker = new PlainValueEc8e588e.Range(offset, offset + 3);\n offset += 3;\n\n if (src[offset]) {\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n\n if (src[offset] === '#') {\n const comment = new Comment();\n offset = comment.parse({\n src\n }, offset);\n this.contents.push(comment);\n }\n\n switch (src[offset]) {\n case '\\n':\n offset += 1;\n break;\n\n case undefined:\n break;\n\n default:\n this.error = new PlainValueEc8e588e.YAMLSyntaxError(this, 'Document end marker line cannot have a non-comment suffix');\n }\n }\n }\n\n return offset;\n }\n /**\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this\n */\n\n\n parse(context, start) {\n context.root = this;\n this.context = context;\n const {\n src\n } = context;\n let offset = src.charCodeAt(start) === 0xfeff ? start + 1 : start; // skip BOM\n\n offset = this.parseDirectives(offset);\n offset = this.parseContents(offset);\n return offset;\n }\n\n setOrigRanges(cr, offset) {\n offset = super.setOrigRanges(cr, offset);\n this.directives.forEach(node => {\n offset = node.setOrigRanges(cr, offset);\n });\n if (this.directivesEndMarker) offset = this.directivesEndMarker.setOrigRange(cr, offset);\n this.contents.forEach(node => {\n offset = node.setOrigRanges(cr, offset);\n });\n if (this.documentEndMarker) offset = this.documentEndMarker.setOrigRange(cr, offset);\n return offset;\n }\n\n toString() {\n const {\n contents,\n directives,\n value\n } = this;\n if (value != null) return value;\n let str = directives.join('');\n\n if (contents.length > 0) {\n if (directives.length > 0 || contents[0].type === PlainValueEc8e588e.Type.COMMENT) str += '---\\n';\n str += contents.join('');\n }\n\n if (str[str.length - 1] !== '\\n') str += '\\n';\n return str;\n }\n\n}\n\nclass Alias extends PlainValueEc8e588e.Node {\n /**\n * Parses an *alias from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar\n */\n parse(context, start) {\n this.context = context;\n const {\n src\n } = context;\n let offset = PlainValueEc8e588e.Node.endOfIdentifier(src, start + 1);\n this.valueRange = new PlainValueEc8e588e.Range(start + 1, offset);\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n return offset;\n }\n\n}\n\nconst Chomp = {\n CLIP: 'CLIP',\n KEEP: 'KEEP',\n STRIP: 'STRIP'\n};\n\nclass BlockValue extends PlainValueEc8e588e.Node {\n constructor(type, props) {\n super(type, props);\n this.blockIndent = null;\n this.chomping = Chomp.CLIP;\n this.header = null;\n }\n\n get includesTrailingLines() {\n return this.chomping === Chomp.KEEP;\n }\n\n get strValue() {\n if (!this.valueRange || !this.context) return null;\n let {\n start,\n end\n } = this.valueRange;\n const {\n indent,\n src\n } = this.context;\n if (this.valueRange.isEmpty()) return '';\n let lastNewLine = null;\n let ch = src[end - 1];\n\n while (ch === '\\n' || ch === '\\t' || ch === ' ') {\n end -= 1;\n\n if (end <= start) {\n if (this.chomping === Chomp.KEEP) break;else return ''; // probably never happens\n }\n\n if (ch === '\\n') lastNewLine = end;\n ch = src[end - 1];\n }\n\n let keepStart = end + 1;\n\n if (lastNewLine) {\n if (this.chomping === Chomp.KEEP) {\n keepStart = lastNewLine;\n end = this.valueRange.end;\n } else {\n end = lastNewLine;\n }\n }\n\n const bi = indent + this.blockIndent;\n const folded = this.type === PlainValueEc8e588e.Type.BLOCK_FOLDED;\n let atStart = true;\n let str = '';\n let sep = '';\n let prevMoreIndented = false;\n\n for (let i = start; i < end; ++i) {\n for (let j = 0; j < bi; ++j) {\n if (src[i] !== ' ') break;\n i += 1;\n }\n\n const ch = src[i];\n\n if (ch === '\\n') {\n if (sep === '\\n') str += '\\n';else sep = '\\n';\n } else {\n const lineEnd = PlainValueEc8e588e.Node.endOfLine(src, i);\n const line = src.slice(i, lineEnd);\n i = lineEnd;\n\n if (folded && (ch === ' ' || ch === '\\t') && i < keepStart) {\n if (sep === ' ') sep = '\\n';else if (!prevMoreIndented && !atStart && sep === '\\n') sep = '\\n\\n';\n str += sep + line; //+ ((lineEnd < end && src[lineEnd]) || '')\n\n sep = lineEnd < end && src[lineEnd] || '';\n prevMoreIndented = true;\n } else {\n str += sep + line;\n sep = folded && i < keepStart ? ' ' : '\\n';\n prevMoreIndented = false;\n }\n\n if (atStart && line !== '') atStart = false;\n }\n }\n\n return this.chomping === Chomp.STRIP ? str : str + '\\n';\n }\n\n parseBlockHeader(start) {\n const {\n src\n } = this.context;\n let offset = start + 1;\n let bi = '';\n\n while (true) {\n const ch = src[offset];\n\n switch (ch) {\n case '-':\n this.chomping = Chomp.STRIP;\n break;\n\n case '+':\n this.chomping = Chomp.KEEP;\n break;\n\n case '0':\n case '1':\n case '2':\n case '3':\n case '4':\n case '5':\n case '6':\n case '7':\n case '8':\n case '9':\n bi += ch;\n break;\n\n default:\n this.blockIndent = Number(bi) || null;\n this.header = new PlainValueEc8e588e.Range(start, offset);\n return offset;\n }\n\n offset += 1;\n }\n }\n\n parseBlockValue(start) {\n const {\n indent,\n src\n } = this.context;\n const explicit = !!this.blockIndent;\n let offset = start;\n let valueEnd = start;\n let minBlockIndent = 1;\n\n for (let ch = src[offset]; ch === '\\n'; ch = src[offset]) {\n offset += 1;\n if (PlainValueEc8e588e.Node.atDocumentBoundary(src, offset)) break;\n const end = PlainValueEc8e588e.Node.endOfBlockIndent(src, indent, offset); // should not include tab?\n\n if (end === null) break;\n const ch = src[end];\n const lineIndent = end - (offset + indent);\n\n if (!this.blockIndent) {\n // no explicit block indent, none yet detected\n if (src[end] !== '\\n') {\n // first line with non-whitespace content\n if (lineIndent < minBlockIndent) {\n const msg = 'Block scalars with more-indented leading empty lines must use an explicit indentation indicator';\n this.error = new PlainValueEc8e588e.YAMLSemanticError(this, msg);\n }\n\n this.blockIndent = lineIndent;\n } else if (lineIndent > minBlockIndent) {\n // empty line with more whitespace\n minBlockIndent = lineIndent;\n }\n } else if (ch && ch !== '\\n' && lineIndent < this.blockIndent) {\n if (src[end] === '#') break;\n\n if (!this.error) {\n const src = explicit ? 'explicit indentation indicator' : 'first line';\n const msg = `Block scalars must not be less indented than their ${src}`;\n this.error = new PlainValueEc8e588e.YAMLSemanticError(this, msg);\n }\n }\n\n if (src[end] === '\\n') {\n offset = end;\n } else {\n offset = valueEnd = PlainValueEc8e588e.Node.endOfLine(src, end);\n }\n }\n\n if (this.chomping !== Chomp.KEEP) {\n offset = src[valueEnd] ? valueEnd + 1 : valueEnd;\n }\n\n this.valueRange = new PlainValueEc8e588e.Range(start + 1, offset);\n return offset;\n }\n /**\n * Parses a block value from the source\n *\n * Accepted forms are:\n * ```\n * BS\n * block\n * lines\n *\n * BS #comment\n * block\n * lines\n * ```\n * where the block style BS matches the regexp `[|>][-+1-9]*` and block lines\n * are empty or have an indent level greater than `indent`.\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this block\n */\n\n\n parse(context, start) {\n this.context = context;\n const {\n src\n } = context;\n let offset = this.parseBlockHeader(start);\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n offset = this.parseBlockValue(offset);\n return offset;\n }\n\n setOrigRanges(cr, offset) {\n offset = super.setOrigRanges(cr, offset);\n return this.header ? this.header.setOrigRange(cr, offset) : offset;\n }\n\n}\n\nclass FlowCollection extends PlainValueEc8e588e.Node {\n constructor(type, props) {\n super(type, props);\n this.items = null;\n }\n\n prevNodeIsJsonLike(idx = this.items.length) {\n const node = this.items[idx - 1];\n return !!node && (node.jsonLike || node.type === PlainValueEc8e588e.Type.COMMENT && this.prevNodeIsJsonLike(idx - 1));\n }\n /**\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this\n */\n\n\n parse(context, start) {\n this.context = context;\n const {\n parseNode,\n src\n } = context;\n let {\n indent,\n lineStart\n } = context;\n let char = src[start]; // { or [\n\n this.items = [{\n char,\n offset: start\n }];\n let offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, start + 1);\n char = src[offset];\n\n while (char && char !== ']' && char !== '}') {\n switch (char) {\n case '\\n':\n {\n lineStart = offset + 1;\n const wsEnd = PlainValueEc8e588e.Node.endOfWhiteSpace(src, lineStart);\n\n if (src[wsEnd] === '\\n') {\n const blankLine = new BlankLine();\n lineStart = blankLine.parse({\n src\n }, lineStart);\n this.items.push(blankLine);\n }\n\n offset = PlainValueEc8e588e.Node.endOfIndent(src, lineStart);\n\n if (offset <= lineStart + indent) {\n char = src[offset];\n\n if (offset < lineStart + indent || char !== ']' && char !== '}') {\n const msg = 'Insufficient indentation in flow collection';\n this.error = new PlainValueEc8e588e.YAMLSemanticError(this, msg);\n }\n }\n }\n break;\n\n case ',':\n {\n this.items.push({\n char,\n offset\n });\n offset += 1;\n }\n break;\n\n case '#':\n {\n const comment = new Comment();\n offset = comment.parse({\n src\n }, offset);\n this.items.push(comment);\n }\n break;\n\n case '?':\n case ':':\n {\n const next = src[offset + 1];\n\n if (next === '\\n' || next === '\\t' || next === ' ' || next === ',' || // in-flow : after JSON-like key does not need to be followed by whitespace\n char === ':' && this.prevNodeIsJsonLike()) {\n this.items.push({\n char,\n offset\n });\n offset += 1;\n break;\n }\n }\n // fallthrough\n\n default:\n {\n const node = parseNode({\n atLineStart: false,\n inCollection: false,\n inFlow: true,\n indent: -1,\n lineStart,\n parent: this\n }, offset);\n\n if (!node) {\n // at next document start\n this.valueRange = new PlainValueEc8e588e.Range(start, offset);\n return offset;\n }\n\n this.items.push(node);\n offset = PlainValueEc8e588e.Node.normalizeOffset(src, node.range.end);\n }\n }\n\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n char = src[offset];\n }\n\n this.valueRange = new PlainValueEc8e588e.Range(start, offset + 1);\n\n if (char) {\n this.items.push({\n char,\n offset\n });\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset + 1);\n offset = this.parseComment(offset);\n }\n\n return offset;\n }\n\n setOrigRanges(cr, offset) {\n offset = super.setOrigRanges(cr, offset);\n this.items.forEach(node => {\n if (node instanceof PlainValueEc8e588e.Node) {\n offset = node.setOrigRanges(cr, offset);\n } else if (cr.length === 0) {\n node.origOffset = node.offset;\n } else {\n let i = offset;\n\n while (i < cr.length) {\n if (cr[i] > node.offset) break;else ++i;\n }\n\n node.origOffset = node.offset + i;\n offset = i;\n }\n });\n return offset;\n }\n\n toString() {\n const {\n context: {\n src\n },\n items,\n range,\n value\n } = this;\n if (value != null) return value;\n const nodes = items.filter(item => item instanceof PlainValueEc8e588e.Node);\n let str = '';\n let prevEnd = range.start;\n nodes.forEach(node => {\n const prefix = src.slice(prevEnd, node.range.start);\n prevEnd = node.range.end;\n str += prefix + String(node);\n\n if (str[str.length - 1] === '\\n' && src[prevEnd - 1] !== '\\n' && src[prevEnd] === '\\n') {\n // Comment range does not include the terminal newline, but its\n // stringified value does. Without this fix, newlines at comment ends\n // get duplicated.\n prevEnd += 1;\n }\n });\n str += src.slice(prevEnd, range.end);\n return PlainValueEc8e588e.Node.addStringTerminator(src, range.end, str);\n }\n\n}\n\nclass QuoteDouble extends PlainValueEc8e588e.Node {\n static endOfQuote(src, offset) {\n let ch = src[offset];\n\n while (ch && ch !== '\"') {\n offset += ch === '\\\\' ? 2 : 1;\n ch = src[offset];\n }\n\n return offset + 1;\n }\n /**\n * @returns {string | { str: string, errors: YAMLSyntaxError[] }}\n */\n\n\n get strValue() {\n if (!this.valueRange || !this.context) return null;\n const errors = [];\n const {\n start,\n end\n } = this.valueRange;\n const {\n indent,\n src\n } = this.context;\n if (src[end - 1] !== '\"') errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, 'Missing closing \"quote')); // Using String#replace is too painful with escaped newlines preceded by\n // escaped backslashes; also, this should be faster.\n\n let str = '';\n\n for (let i = start + 1; i < end - 1; ++i) {\n const ch = src[i];\n\n if (ch === '\\n') {\n if (PlainValueEc8e588e.Node.atDocumentBoundary(src, i + 1)) errors.push(new PlainValueEc8e588e.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));\n const {\n fold,\n offset,\n error\n } = PlainValueEc8e588e.Node.foldNewline(src, i, indent);\n str += fold;\n i = offset;\n if (error) errors.push(new PlainValueEc8e588e.YAMLSemanticError(this, 'Multi-line double-quoted string needs to be sufficiently indented'));\n } else if (ch === '\\\\') {\n i += 1;\n\n switch (src[i]) {\n case '0':\n str += '\\0';\n break;\n // null character\n\n case 'a':\n str += '\\x07';\n break;\n // bell character\n\n case 'b':\n str += '\\b';\n break;\n // backspace\n\n case 'e':\n str += '\\x1b';\n break;\n // escape character\n\n case 'f':\n str += '\\f';\n break;\n // form feed\n\n case 'n':\n str += '\\n';\n break;\n // line feed\n\n case 'r':\n str += '\\r';\n break;\n // carriage return\n\n case 't':\n str += '\\t';\n break;\n // horizontal tab\n\n case 'v':\n str += '\\v';\n break;\n // vertical tab\n\n case 'N':\n str += '\\u0085';\n break;\n // Unicode next line\n\n case '_':\n str += '\\u00a0';\n break;\n // Unicode non-breaking space\n\n case 'L':\n str += '\\u2028';\n break;\n // Unicode line separator\n\n case 'P':\n str += '\\u2029';\n break;\n // Unicode paragraph separator\n\n case ' ':\n str += ' ';\n break;\n\n case '\"':\n str += '\"';\n break;\n\n case '/':\n str += '/';\n break;\n\n case '\\\\':\n str += '\\\\';\n break;\n\n case '\\t':\n str += '\\t';\n break;\n\n case 'x':\n str += this.parseCharCode(i + 1, 2, errors);\n i += 2;\n break;\n\n case 'u':\n str += this.parseCharCode(i + 1, 4, errors);\n i += 4;\n break;\n\n case 'U':\n str += this.parseCharCode(i + 1, 8, errors);\n i += 8;\n break;\n\n case '\\n':\n // skip escaped newlines, but still trim the following line\n while (src[i + 1] === ' ' || src[i + 1] === '\\t') i += 1;\n\n break;\n\n default:\n errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(i - 1, 2)}`));\n str += '\\\\' + src[i];\n }\n } else if (ch === ' ' || ch === '\\t') {\n // trim trailing whitespace\n const wsStart = i;\n let next = src[i + 1];\n\n while (next === ' ' || next === '\\t') {\n i += 1;\n next = src[i + 1];\n }\n\n if (next !== '\\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch;\n } else {\n str += ch;\n }\n }\n\n return errors.length > 0 ? {\n errors,\n str\n } : str;\n }\n\n parseCharCode(offset, length, errors) {\n const {\n src\n } = this.context;\n const cc = src.substr(offset, length);\n const ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc);\n const code = ok ? parseInt(cc, 16) : NaN;\n\n if (isNaN(code)) {\n errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(offset - 2, length + 2)}`));\n return src.substr(offset - 2, length + 2);\n }\n\n return String.fromCodePoint(code);\n }\n /**\n * Parses a \"double quoted\" value from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar\n */\n\n\n parse(context, start) {\n this.context = context;\n const {\n src\n } = context;\n let offset = QuoteDouble.endOfQuote(src, start + 1);\n this.valueRange = new PlainValueEc8e588e.Range(start, offset);\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n return offset;\n }\n\n}\n\nclass QuoteSingle extends PlainValueEc8e588e.Node {\n static endOfQuote(src, offset) {\n let ch = src[offset];\n\n while (ch) {\n if (ch === \"'\") {\n if (src[offset + 1] !== \"'\") break;\n ch = src[offset += 2];\n } else {\n ch = src[offset += 1];\n }\n }\n\n return offset + 1;\n }\n /**\n * @returns {string | { str: string, errors: YAMLSyntaxError[] }}\n */\n\n\n get strValue() {\n if (!this.valueRange || !this.context) return null;\n const errors = [];\n const {\n start,\n end\n } = this.valueRange;\n const {\n indent,\n src\n } = this.context;\n if (src[end - 1] !== \"'\") errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, \"Missing closing 'quote\"));\n let str = '';\n\n for (let i = start + 1; i < end - 1; ++i) {\n const ch = src[i];\n\n if (ch === '\\n') {\n if (PlainValueEc8e588e.Node.atDocumentBoundary(src, i + 1)) errors.push(new PlainValueEc8e588e.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));\n const {\n fold,\n offset,\n error\n } = PlainValueEc8e588e.Node.foldNewline(src, i, indent);\n str += fold;\n i = offset;\n if (error) errors.push(new PlainValueEc8e588e.YAMLSemanticError(this, 'Multi-line single-quoted string needs to be sufficiently indented'));\n } else if (ch === \"'\") {\n str += ch;\n i += 1;\n if (src[i] !== \"'\") errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, 'Unescaped single quote? This should not happen.'));\n } else if (ch === ' ' || ch === '\\t') {\n // trim trailing whitespace\n const wsStart = i;\n let next = src[i + 1];\n\n while (next === ' ' || next === '\\t') {\n i += 1;\n next = src[i + 1];\n }\n\n if (next !== '\\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch;\n } else {\n str += ch;\n }\n }\n\n return errors.length > 0 ? {\n errors,\n str\n } : str;\n }\n /**\n * Parses a 'single quoted' value from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar\n */\n\n\n parse(context, start) {\n this.context = context;\n const {\n src\n } = context;\n let offset = QuoteSingle.endOfQuote(src, start + 1);\n this.valueRange = new PlainValueEc8e588e.Range(start, offset);\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n return offset;\n }\n\n}\n\nfunction createNewNode(type, props) {\n switch (type) {\n case PlainValueEc8e588e.Type.ALIAS:\n return new Alias(type, props);\n\n case PlainValueEc8e588e.Type.BLOCK_FOLDED:\n case PlainValueEc8e588e.Type.BLOCK_LITERAL:\n return new BlockValue(type, props);\n\n case PlainValueEc8e588e.Type.FLOW_MAP:\n case PlainValueEc8e588e.Type.FLOW_SEQ:\n return new FlowCollection(type, props);\n\n case PlainValueEc8e588e.Type.MAP_KEY:\n case PlainValueEc8e588e.Type.MAP_VALUE:\n case PlainValueEc8e588e.Type.SEQ_ITEM:\n return new CollectionItem(type, props);\n\n case PlainValueEc8e588e.Type.COMMENT:\n case PlainValueEc8e588e.Type.PLAIN:\n return new PlainValueEc8e588e.PlainValue(type, props);\n\n case PlainValueEc8e588e.Type.QUOTE_DOUBLE:\n return new QuoteDouble(type, props);\n\n case PlainValueEc8e588e.Type.QUOTE_SINGLE:\n return new QuoteSingle(type, props);\n\n /* istanbul ignore next */\n\n default:\n return null;\n // should never happen\n }\n}\n/**\n * @param {boolean} atLineStart - Node starts at beginning of line\n * @param {boolean} inFlow - true if currently in a flow context\n * @param {boolean} inCollection - true if currently in a collection context\n * @param {number} indent - Current level of indentation\n * @param {number} lineStart - Start of the current line\n * @param {Node} parent - The parent of the node\n * @param {string} src - Source of the YAML document\n */\n\n\nclass ParseContext {\n static parseType(src, offset, inFlow) {\n switch (src[offset]) {\n case '*':\n return PlainValueEc8e588e.Type.ALIAS;\n\n case '>':\n return PlainValueEc8e588e.Type.BLOCK_FOLDED;\n\n case '|':\n return PlainValueEc8e588e.Type.BLOCK_LITERAL;\n\n case '{':\n return PlainValueEc8e588e.Type.FLOW_MAP;\n\n case '[':\n return PlainValueEc8e588e.Type.FLOW_SEQ;\n\n case '?':\n return !inFlow && PlainValueEc8e588e.Node.atBlank(src, offset + 1, true) ? PlainValueEc8e588e.Type.MAP_KEY : PlainValueEc8e588e.Type.PLAIN;\n\n case ':':\n return !inFlow && PlainValueEc8e588e.Node.atBlank(src, offset + 1, true) ? PlainValueEc8e588e.Type.MAP_VALUE : PlainValueEc8e588e.Type.PLAIN;\n\n case '-':\n return !inFlow && PlainValueEc8e588e.Node.atBlank(src, offset + 1, true) ? PlainValueEc8e588e.Type.SEQ_ITEM : PlainValueEc8e588e.Type.PLAIN;\n\n case '\"':\n return PlainValueEc8e588e.Type.QUOTE_DOUBLE;\n\n case \"'\":\n return PlainValueEc8e588e.Type.QUOTE_SINGLE;\n\n default:\n return PlainValueEc8e588e.Type.PLAIN;\n }\n }\n\n constructor(orig = {}, {\n atLineStart,\n inCollection,\n inFlow,\n indent,\n lineStart,\n parent\n } = {}) {\n PlainValueEc8e588e._defineProperty(this, \"parseNode\", (overlay, start) => {\n if (PlainValueEc8e588e.Node.atDocumentBoundary(this.src, start)) return null;\n const context = new ParseContext(this, overlay);\n const {\n props,\n type,\n valueStart\n } = context.parseProps(start);\n const node = createNewNode(type, props);\n let offset = node.parse(context, valueStart);\n node.range = new PlainValueEc8e588e.Range(start, offset);\n /* istanbul ignore if */\n\n if (offset <= start) {\n // This should never happen, but if it does, let's make sure to at least\n // step one character forward to avoid a busy loop.\n node.error = new Error(`Node#parse consumed no characters`);\n node.error.parseEnd = offset;\n node.error.source = node;\n node.range.end = start + 1;\n }\n\n if (context.nodeStartsCollection(node)) {\n if (!node.error && !context.atLineStart && context.parent.type === PlainValueEc8e588e.Type.DOCUMENT) {\n node.error = new PlainValueEc8e588e.YAMLSyntaxError(node, 'Block collection must not have preceding content here (e.g. directives-end indicator)');\n }\n\n const collection = new Collection(node);\n offset = collection.parse(new ParseContext(context), offset);\n collection.range = new PlainValueEc8e588e.Range(start, offset);\n return collection;\n }\n\n return node;\n });\n\n this.atLineStart = atLineStart != null ? atLineStart : orig.atLineStart || false;\n this.inCollection = inCollection != null ? inCollection : orig.inCollection || false;\n this.inFlow = inFlow != null ? inFlow : orig.inFlow || false;\n this.indent = indent != null ? indent : orig.indent;\n this.lineStart = lineStart != null ? lineStart : orig.lineStart;\n this.parent = parent != null ? parent : orig.parent || {};\n this.root = orig.root;\n this.src = orig.src;\n }\n\n nodeStartsCollection(node) {\n const {\n inCollection,\n inFlow,\n src\n } = this;\n if (inCollection || inFlow) return false;\n if (node instanceof CollectionItem) return true; // check for implicit key\n\n let offset = node.range.end;\n if (src[offset] === '\\n' || src[offset - 1] === '\\n') return false;\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n return src[offset] === ':';\n } // Anchor and tag are before type, which determines the node implementation\n // class; hence this intermediate step.\n\n\n parseProps(offset) {\n const {\n inFlow,\n parent,\n src\n } = this;\n const props = [];\n let lineHasProps = false;\n offset = this.atLineStart ? PlainValueEc8e588e.Node.endOfIndent(src, offset) : PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n let ch = src[offset];\n\n while (ch === PlainValueEc8e588e.Char.ANCHOR || ch === PlainValueEc8e588e.Char.COMMENT || ch === PlainValueEc8e588e.Char.TAG || ch === '\\n') {\n if (ch === '\\n') {\n const lineStart = offset + 1;\n const inEnd = PlainValueEc8e588e.Node.endOfIndent(src, lineStart);\n const indentDiff = inEnd - (lineStart + this.indent);\n const noIndicatorAsIndent = parent.type === PlainValueEc8e588e.Type.SEQ_ITEM && parent.context.atLineStart;\n if (!PlainValueEc8e588e.Node.nextNodeIsIndented(src[inEnd], indentDiff, !noIndicatorAsIndent)) break;\n this.atLineStart = true;\n this.lineStart = lineStart;\n lineHasProps = false;\n offset = inEnd;\n } else if (ch === PlainValueEc8e588e.Char.COMMENT) {\n const end = PlainValueEc8e588e.Node.endOfLine(src, offset + 1);\n props.push(new PlainValueEc8e588e.Range(offset, end));\n offset = end;\n } else {\n let end = PlainValueEc8e588e.Node.endOfIdentifier(src, offset + 1);\n\n if (ch === PlainValueEc8e588e.Char.TAG && src[end] === ',' && /^[a-zA-Z0-9-]+\\.[a-zA-Z0-9-]+,\\d\\d\\d\\d(-\\d\\d){0,2}\\/\\S/.test(src.slice(offset + 1, end + 13))) {\n // Let's presume we're dealing with a YAML 1.0 domain tag here, rather\n // than an empty but 'foo.bar' private-tagged node in a flow collection\n // followed without whitespace by a plain string starting with a year\n // or date divided by something.\n end = PlainValueEc8e588e.Node.endOfIdentifier(src, end + 5);\n }\n\n props.push(new PlainValueEc8e588e.Range(offset, end));\n lineHasProps = true;\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, end);\n }\n\n ch = src[offset];\n } // '- &a : b' has an anchor on an empty node\n\n\n if (lineHasProps && ch === ':' && PlainValueEc8e588e.Node.atBlank(src, offset + 1, true)) offset -= 1;\n const type = ParseContext.parseType(src, offset, inFlow);\n return {\n props,\n type,\n valueStart: offset\n };\n }\n /**\n * Parses a node from the source\n * @param {ParseContext} overlay\n * @param {number} start - Index of first non-whitespace character for the node\n * @returns {?Node} - null if at a document boundary\n */\n\n\n} // Published as 'yaml/parse-cst'\n\n\nfunction parse(src) {\n const cr = [];\n\n if (src.indexOf('\\r') !== -1) {\n src = src.replace(/\\r\\n?/g, (match, offset) => {\n if (match.length > 1) cr.push(offset);\n return '\\n';\n });\n }\n\n const documents = [];\n let offset = 0;\n\n do {\n const doc = new Document();\n const context = new ParseContext({\n src\n });\n offset = doc.parse(context, offset);\n documents.push(doc);\n } while (offset < src.length);\n\n documents.setOrigRanges = () => {\n if (cr.length === 0) return false;\n\n for (let i = 1; i < cr.length; ++i) cr[i] -= i;\n\n let crOffset = 0;\n\n for (let i = 0; i < documents.length; ++i) {\n crOffset = documents[i].setOrigRanges(cr, crOffset);\n }\n\n cr.splice(0, cr.length);\n return true;\n };\n\n documents.toString = () => documents.join('...\\n');\n\n return documents;\n}\n\nvar parse_1 = parse;\nvar parseCst = {\n parse: parse_1\n};\n\nfunction addCommentBefore(str, indent, comment) {\n if (!comment) return str;\n const cc = comment.replace(/[\\s\\S]^/gm, `$&${indent}#`);\n return `#${cc}\\n${indent}${str}`;\n}\n\nfunction addComment(str, indent, comment) {\n return !comment ? str : comment.indexOf('\\n') === -1 ? `${str} #${comment}` : `${str}\\n` + comment.replace(/^/gm, `${indent || ''}#`);\n}\n\nclass Node$1 {}\n\nfunction toJSON(value, arg, ctx) {\n if (Array.isArray(value)) return value.map((v, i) => toJSON(v, String(i), ctx));\n\n if (value && typeof value.toJSON === 'function') {\n const anchor = ctx && ctx.anchors && ctx.anchors.get(value);\n if (anchor) ctx.onCreate = res => {\n anchor.res = res;\n delete ctx.onCreate;\n };\n const res = value.toJSON(arg, ctx);\n if (anchor && ctx.onCreate) ctx.onCreate(res);\n return res;\n }\n\n if ((!ctx || !ctx.keep) && typeof value === 'bigint') return Number(value);\n return value;\n}\n\nclass Scalar extends Node$1 {\n constructor(value) {\n super();\n this.value = value;\n }\n\n toJSON(arg, ctx) {\n return ctx && ctx.keep ? this.value : toJSON(this.value, arg, ctx);\n }\n\n toString() {\n return String(this.value);\n }\n\n}\n\nfunction collectionFromPath(schema, path, value) {\n let v = value;\n\n for (let i = path.length - 1; i >= 0; --i) {\n const k = path[i];\n const o = Number.isInteger(k) && k >= 0 ? [] : {};\n o[k] = v;\n v = o;\n }\n\n return schema.createNode(v, false);\n} // null, undefined, or an empty non-string iterable (e.g. [])\n\n\nconst isEmptyPath = path => path == null || typeof path === 'object' && path[Symbol.iterator]().next().done;\n\nclass Collection$1 extends Node$1 {\n constructor(schema) {\n super();\n\n PlainValueEc8e588e._defineProperty(this, \"items\", []);\n\n this.schema = schema;\n }\n\n addIn(path, value) {\n if (isEmptyPath(path)) this.add(value);else {\n const [key, ...rest] = path;\n const node = this.get(key, true);\n if (node instanceof Collection$1) node.addIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);\n }\n }\n\n deleteIn([key, ...rest]) {\n if (rest.length === 0) return this.delete(key);\n const node = this.get(key, true);\n if (node instanceof Collection$1) return node.deleteIn(rest);else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);\n }\n\n getIn([key, ...rest], keepScalar) {\n const node = this.get(key, true);\n if (rest.length === 0) return !keepScalar && node instanceof Scalar ? node.value : node;else return node instanceof Collection$1 ? node.getIn(rest, keepScalar) : undefined;\n }\n\n hasAllNullValues() {\n return this.items.every(node => {\n if (!node || node.type !== 'PAIR') return false;\n const n = node.value;\n return n == null || n instanceof Scalar && n.value == null && !n.commentBefore && !n.comment && !n.tag;\n });\n }\n\n hasIn([key, ...rest]) {\n if (rest.length === 0) return this.has(key);\n const node = this.get(key, true);\n return node instanceof Collection$1 ? node.hasIn(rest) : false;\n }\n\n setIn([key, ...rest], value) {\n if (rest.length === 0) {\n this.set(key, value);\n } else {\n const node = this.get(key, true);\n if (node instanceof Collection$1) node.setIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);\n }\n } // overridden in implementations\n\n /* istanbul ignore next */\n\n\n toJSON() {\n return null;\n }\n\n toString(ctx, {\n blockItem,\n flowChars,\n isMap,\n itemIndent\n }, onComment, onChompKeep) {\n const {\n indent,\n indentStep,\n stringify\n } = ctx;\n const inFlow = this.type === PlainValueEc8e588e.Type.FLOW_MAP || this.type === PlainValueEc8e588e.Type.FLOW_SEQ || ctx.inFlow;\n if (inFlow) itemIndent += indentStep;\n const allNullValues = isMap && this.hasAllNullValues();\n ctx = Object.assign({}, ctx, {\n allNullValues,\n indent: itemIndent,\n inFlow,\n type: null\n });\n let chompKeep = false;\n let hasItemWithNewLine = false;\n const nodes = this.items.reduce((nodes, item, i) => {\n let comment;\n\n if (item) {\n if (!chompKeep && item.spaceBefore) nodes.push({\n type: 'comment',\n str: ''\n });\n if (item.commentBefore) item.commentBefore.match(/^.*$/gm).forEach(line => {\n nodes.push({\n type: 'comment',\n str: `#${line}`\n });\n });\n if (item.comment) comment = item.comment;\n if (inFlow && (!chompKeep && item.spaceBefore || item.commentBefore || item.comment || item.key && (item.key.commentBefore || item.key.comment) || item.value && (item.value.commentBefore || item.value.comment))) hasItemWithNewLine = true;\n }\n\n chompKeep = false;\n let str = stringify(item, ctx, () => comment = null, () => chompKeep = true);\n if (inFlow && !hasItemWithNewLine && str.includes('\\n')) hasItemWithNewLine = true;\n if (inFlow && i < this.items.length - 1) str += ',';\n str = addComment(str, itemIndent, comment);\n if (chompKeep && (comment || inFlow)) chompKeep = false;\n nodes.push({\n type: 'item',\n str\n });\n return nodes;\n }, []);\n let str;\n\n if (nodes.length === 0) {\n str = flowChars.start + flowChars.end;\n } else if (inFlow) {\n const {\n start,\n end\n } = flowChars;\n const strings = nodes.map(n => n.str);\n\n if (hasItemWithNewLine || strings.reduce((sum, str) => sum + str.length + 2, 2) > Collection$1.maxFlowStringSingleLineLength) {\n str = start;\n\n for (const s of strings) {\n str += s ? `\\n${indentStep}${indent}${s}` : '\\n';\n }\n\n str += `\\n${indent}${end}`;\n } else {\n str = `${start} ${strings.join(' ')} ${end}`;\n }\n } else {\n const strings = nodes.map(blockItem);\n str = strings.shift();\n\n for (const s of strings) str += s ? `\\n${indent}${s}` : '\\n';\n }\n\n if (this.comment) {\n str += '\\n' + this.comment.replace(/^/gm, `${indent}#`);\n if (onComment) onComment();\n } else if (chompKeep && onChompKeep) onChompKeep();\n\n return str;\n }\n\n}\n\nPlainValueEc8e588e._defineProperty(Collection$1, \"maxFlowStringSingleLineLength\", 60);\n\nfunction asItemIndex(key) {\n let idx = key instanceof Scalar ? key.value : key;\n if (idx && typeof idx === 'string') idx = Number(idx);\n return Number.isInteger(idx) && idx >= 0 ? idx : null;\n}\n\nclass YAMLSeq extends Collection$1 {\n add(value) {\n this.items.push(value);\n }\n\n delete(key) {\n const idx = asItemIndex(key);\n if (typeof idx !== 'number') return false;\n const del = this.items.splice(idx, 1);\n return del.length > 0;\n }\n\n get(key, keepScalar) {\n const idx = asItemIndex(key);\n if (typeof idx !== 'number') return undefined;\n const it = this.items[idx];\n return !keepScalar && it instanceof Scalar ? it.value : it;\n }\n\n has(key) {\n const idx = asItemIndex(key);\n return typeof idx === 'number' && idx < this.items.length;\n }\n\n set(key, value) {\n const idx = asItemIndex(key);\n if (typeof idx !== 'number') throw new Error(`Expected a valid index, not ${key}.`);\n this.items[idx] = value;\n }\n\n toJSON(_, ctx) {\n const seq = [];\n if (ctx && ctx.onCreate) ctx.onCreate(seq);\n let i = 0;\n\n for (const item of this.items) seq.push(toJSON(item, String(i++), ctx));\n\n return seq;\n }\n\n toString(ctx, onComment, onChompKeep) {\n if (!ctx) return JSON.stringify(this);\n return super.toString(ctx, {\n blockItem: n => n.type === 'comment' ? n.str : `- ${n.str}`,\n flowChars: {\n start: '[',\n end: ']'\n },\n isMap: false,\n itemIndent: (ctx.indent || '') + ' '\n }, onComment, onChompKeep);\n }\n\n}\n\nconst stringifyKey = (key, jsKey, ctx) => {\n if (jsKey === null) return '';\n if (typeof jsKey !== 'object') return String(jsKey);\n if (key instanceof Node$1 && ctx && ctx.doc) return key.toString({\n anchors: {},\n doc: ctx.doc,\n indent: '',\n indentStep: ctx.indentStep,\n inFlow: true,\n inStringifyKey: true,\n stringify: ctx.stringify\n });\n return JSON.stringify(jsKey);\n};\n\nclass Pair extends Node$1 {\n constructor(key, value = null) {\n super();\n this.key = key;\n this.value = value;\n this.type = Pair.Type.PAIR;\n }\n\n get commentBefore() {\n return this.key instanceof Node$1 ? this.key.commentBefore : undefined;\n }\n\n set commentBefore(cb) {\n if (this.key == null) this.key = new Scalar(null);\n if (this.key instanceof Node$1) this.key.commentBefore = cb;else {\n const msg = 'Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.';\n throw new Error(msg);\n }\n }\n\n addToJSMap(ctx, map) {\n const key = toJSON(this.key, '', ctx);\n\n if (map instanceof Map) {\n const value = toJSON(this.value, key, ctx);\n map.set(key, value);\n } else if (map instanceof Set) {\n map.add(key);\n } else {\n const stringKey = stringifyKey(this.key, key, ctx);\n map[stringKey] = toJSON(this.value, stringKey, ctx);\n }\n\n return map;\n }\n\n toJSON(_, ctx) {\n const pair = ctx && ctx.mapAsMap ? new Map() : {};\n return this.addToJSMap(ctx, pair);\n }\n\n toString(ctx, onComment, onChompKeep) {\n if (!ctx || !ctx.doc) return JSON.stringify(this);\n const {\n indent: indentSize,\n indentSeq,\n simpleKeys\n } = ctx.doc.options;\n let {\n key,\n value\n } = this;\n let keyComment = key instanceof Node$1 && key.comment;\n\n if (simpleKeys) {\n if (keyComment) {\n throw new Error('With simple keys, key nodes cannot have comments');\n }\n\n if (key instanceof Collection$1) {\n const msg = 'With simple keys, collection cannot be used as a key value';\n throw new Error(msg);\n }\n }\n\n const explicitKey = !simpleKeys && (!key || keyComment || key instanceof Collection$1 || key.type === PlainValueEc8e588e.Type.BLOCK_FOLDED || key.type === PlainValueEc8e588e.Type.BLOCK_LITERAL);\n const {\n doc,\n indent,\n indentStep,\n stringify\n } = ctx;\n ctx = Object.assign({}, ctx, {\n implicitKey: !explicitKey,\n indent: indent + indentStep\n });\n let chompKeep = false;\n let str = stringify(key, ctx, () => keyComment = null, () => chompKeep = true);\n str = addComment(str, ctx.indent, keyComment);\n\n if (ctx.allNullValues && !simpleKeys) {\n if (this.comment) {\n str = addComment(str, ctx.indent, this.comment);\n if (onComment) onComment();\n } else if (chompKeep && !keyComment && onChompKeep) onChompKeep();\n\n return ctx.inFlow ? str : `? ${str}`;\n }\n\n str = explicitKey ? `? ${str}\\n${indent}:` : `${str}:`;\n\n if (this.comment) {\n // expected (but not strictly required) to be a single-line comment\n str = addComment(str, ctx.indent, this.comment);\n if (onComment) onComment();\n }\n\n let vcb = '';\n let valueComment = null;\n\n if (value instanceof Node$1) {\n if (value.spaceBefore) vcb = '\\n';\n\n if (value.commentBefore) {\n const cs = value.commentBefore.replace(/^/gm, `${ctx.indent}#`);\n vcb += `\\n${cs}`;\n }\n\n valueComment = value.comment;\n } else if (value && typeof value === 'object') {\n value = doc.schema.createNode(value, true);\n }\n\n ctx.implicitKey = false;\n if (!explicitKey && !this.comment && value instanceof Scalar) ctx.indentAtStart = str.length + 1;\n chompKeep = false;\n\n if (!indentSeq && indentSize >= 2 && !ctx.inFlow && !explicitKey && value instanceof YAMLSeq && value.type !== PlainValueEc8e588e.Type.FLOW_SEQ && !value.tag && !doc.anchors.getName(value)) {\n // If indentSeq === false, consider '- ' as part of indentation where possible\n ctx.indent = ctx.indent.substr(2);\n }\n\n const valueStr = stringify(value, ctx, () => valueComment = null, () => chompKeep = true);\n let ws = ' ';\n\n if (vcb || this.comment) {\n ws = `${vcb}\\n${ctx.indent}`;\n } else if (!explicitKey && value instanceof Collection$1) {\n const flow = valueStr[0] === '[' || valueStr[0] === '{';\n if (!flow || valueStr.includes('\\n')) ws = `\\n${ctx.indent}`;\n }\n\n if (chompKeep && !valueComment && onChompKeep) onChompKeep();\n return addComment(str + ws + valueStr, ctx.indent, valueComment);\n }\n\n}\n\nPlainValueEc8e588e._defineProperty(Pair, \"Type\", {\n PAIR: 'PAIR',\n MERGE_PAIR: 'MERGE_PAIR'\n});\n\nconst getAliasCount = (node, anchors) => {\n if (node instanceof Alias$1) {\n const anchor = anchors.get(node.source);\n return anchor.count * anchor.aliasCount;\n } else if (node instanceof Collection$1) {\n let count = 0;\n\n for (const item of node.items) {\n const c = getAliasCount(item, anchors);\n if (c > count) count = c;\n }\n\n return count;\n } else if (node instanceof Pair) {\n const kc = getAliasCount(node.key, anchors);\n const vc = getAliasCount(node.value, anchors);\n return Math.max(kc, vc);\n }\n\n return 1;\n};\n\nclass Alias$1 extends Node$1 {\n static stringify({\n range,\n source\n }, {\n anchors,\n doc,\n implicitKey,\n inStringifyKey\n }) {\n let anchor = Object.keys(anchors).find(a => anchors[a] === source);\n if (!anchor && inStringifyKey) anchor = doc.anchors.getName(source) || doc.anchors.newName();\n if (anchor) return `*${anchor}${implicitKey ? ' ' : ''}`;\n const msg = doc.anchors.getName(source) ? 'Alias node must be after source node' : 'Source node not found for alias node';\n throw new Error(`${msg} [${range}]`);\n }\n\n constructor(source) {\n super();\n this.source = source;\n this.type = PlainValueEc8e588e.Type.ALIAS;\n }\n\n set tag(t) {\n throw new Error('Alias nodes cannot have tags');\n }\n\n toJSON(arg, ctx) {\n if (!ctx) return toJSON(this.source, arg, ctx);\n const {\n anchors,\n maxAliasCount\n } = ctx;\n const anchor = anchors.get(this.source);\n /* istanbul ignore if */\n\n if (!anchor || anchor.res === undefined) {\n const msg = 'This should not happen: Alias anchor was not resolved?';\n if (this.cstNode) throw new PlainValueEc8e588e.YAMLReferenceError(this.cstNode, msg);else throw new ReferenceError(msg);\n }\n\n if (maxAliasCount >= 0) {\n anchor.count += 1;\n if (anchor.aliasCount === 0) anchor.aliasCount = getAliasCount(this.source, anchors);\n\n if (anchor.count * anchor.aliasCount > maxAliasCount) {\n const msg = 'Excessive alias count indicates a resource exhaustion attack';\n if (this.cstNode) throw new PlainValueEc8e588e.YAMLReferenceError(this.cstNode, msg);else throw new ReferenceError(msg);\n }\n }\n\n return anchor.res;\n } // Only called when stringifying an alias mapping key while constructing\n // Object output.\n\n\n toString(ctx) {\n return Alias$1.stringify(this, ctx);\n }\n\n}\n\nPlainValueEc8e588e._defineProperty(Alias$1, \"default\", true);\n\nfunction findPair(items, key) {\n const k = key instanceof Scalar ? key.value : key;\n\n for (const it of items) {\n if (it instanceof Pair) {\n if (it.key === key || it.key === k) return it;\n if (it.key && it.key.value === k) return it;\n }\n }\n\n return undefined;\n}\n\nclass YAMLMap extends Collection$1 {\n add(pair, overwrite) {\n if (!pair) pair = new Pair(pair);else if (!(pair instanceof Pair)) pair = new Pair(pair.key || pair, pair.value);\n const prev = findPair(this.items, pair.key);\n const sortEntries = this.schema && this.schema.sortMapEntries;\n\n if (prev) {\n if (overwrite) prev.value = pair.value;else throw new Error(`Key ${pair.key} already set`);\n } else if (sortEntries) {\n const i = this.items.findIndex(item => sortEntries(pair, item) < 0);\n if (i === -1) this.items.push(pair);else this.items.splice(i, 0, pair);\n } else {\n this.items.push(pair);\n }\n }\n\n delete(key) {\n const it = findPair(this.items, key);\n if (!it) return false;\n const del = this.items.splice(this.items.indexOf(it), 1);\n return del.length > 0;\n }\n\n get(key, keepScalar) {\n const it = findPair(this.items, key);\n const node = it && it.value;\n return !keepScalar && node instanceof Scalar ? node.value : node;\n }\n\n has(key) {\n return !!findPair(this.items, key);\n }\n\n set(key, value) {\n this.add(new Pair(key, value), true);\n }\n /**\n * @param {*} arg ignored\n * @param {*} ctx Conversion context, originally set in Document#toJSON()\n * @param {Class} Type If set, forces the returned collection type\n * @returns {*} Instance of Type, Map, or Object\n */\n\n\n toJSON(_, ctx, Type) {\n const map = Type ? new Type() : ctx && ctx.mapAsMap ? new Map() : {};\n if (ctx && ctx.onCreate) ctx.onCreate(map);\n\n for (const item of this.items) item.addToJSMap(ctx, map);\n\n return map;\n }\n\n toString(ctx, onComment, onChompKeep) {\n if (!ctx) return JSON.stringify(this);\n\n for (const item of this.items) {\n if (!(item instanceof Pair)) throw new Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`);\n }\n\n return super.toString(ctx, {\n blockItem: n => n.str,\n flowChars: {\n start: '{',\n end: '}'\n },\n isMap: true,\n itemIndent: ctx.indent || ''\n }, onComment, onChompKeep);\n }\n\n}\n\nconst MERGE_KEY = '<<';\n\nclass Merge extends Pair {\n constructor(pair) {\n if (pair instanceof Pair) {\n let seq = pair.value;\n\n if (!(seq instanceof YAMLSeq)) {\n seq = new YAMLSeq();\n seq.items.push(pair.value);\n seq.range = pair.value.range;\n }\n\n super(pair.key, seq);\n this.range = pair.range;\n } else {\n super(new Scalar(MERGE_KEY), new YAMLSeq());\n }\n\n this.type = Pair.Type.MERGE_PAIR;\n } // If the value associated with a merge key is a single mapping node, each of\n // its key/value pairs is inserted into the current mapping, unless the key\n // already exists in it. If the value associated with the merge key is a\n // sequence, then this sequence is expected to contain mapping nodes and each\n // of these nodes is merged in turn according to its order in the sequence.\n // Keys in mapping nodes earlier in the sequence override keys specified in\n // later mapping nodes. -- http://yaml.org/type/merge.html\n\n\n addToJSMap(ctx, map) {\n for (const {\n source\n } of this.value.items) {\n if (!(source instanceof YAMLMap)) throw new Error('Merge sources must be maps');\n const srcMap = source.toJSON(null, ctx, Map);\n\n for (const [key, value] of srcMap) {\n if (map instanceof Map) {\n if (!map.has(key)) map.set(key, value);\n } else if (map instanceof Set) {\n map.add(key);\n } else {\n if (!Object.prototype.hasOwnProperty.call(map, key)) map[key] = value;\n }\n }\n }\n\n return map;\n }\n\n toString(ctx, onComment) {\n const seq = this.value;\n if (seq.items.length > 1) return super.toString(ctx, onComment);\n this.value = seq.items[0];\n const str = super.toString(ctx, onComment);\n this.value = seq;\n return str;\n }\n\n}\n\nconst binaryOptions = {\n defaultType: PlainValueEc8e588e.Type.BLOCK_LITERAL,\n lineWidth: 76\n};\nconst boolOptions = {\n trueStr: 'true',\n falseStr: 'false'\n};\nconst intOptions = {\n asBigInt: false\n};\nconst nullOptions = {\n nullStr: 'null'\n};\nconst strOptions = {\n defaultType: PlainValueEc8e588e.Type.PLAIN,\n doubleQuoted: {\n jsonEncoding: false,\n minMultiLineLength: 40\n },\n fold: {\n lineWidth: 80,\n minContentWidth: 20\n }\n};\n\nfunction resolveScalar(str, tags, scalarFallback) {\n for (const {\n format,\n test,\n resolve\n } of tags) {\n if (test) {\n const match = str.match(test);\n\n if (match) {\n let res = resolve.apply(null, match);\n if (!(res instanceof Scalar)) res = new Scalar(res);\n if (format) res.format = format;\n return res;\n }\n }\n }\n\n if (scalarFallback) str = scalarFallback(str);\n return new Scalar(str);\n}\n\nconst FOLD_FLOW = 'flow';\nconst FOLD_BLOCK = 'block';\nconst FOLD_QUOTED = 'quoted'; // presumes i+1 is at the start of a line\n// returns index of last newline in more-indented block\n\nconst consumeMoreIndentedLines = (text, i) => {\n let ch = text[i + 1];\n\n while (ch === ' ' || ch === '\\t') {\n do {\n ch = text[i += 1];\n } while (ch && ch !== '\\n');\n\n ch = text[i + 1];\n }\n\n return i;\n};\n/**\n * Tries to keep input at up to `lineWidth` characters, splitting only on spaces\n * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are\n * terminated with `\\n` and started with `indent`.\n *\n * @param {string} text\n * @param {string} indent\n * @param {string} [mode='flow'] `'block'` prevents more-indented lines\n * from being folded; `'quoted'` allows for `\\` escapes, including escaped\n * newlines\n * @param {Object} options\n * @param {number} [options.indentAtStart] Accounts for leading contents on\n * the first line, defaulting to `indent.length`\n * @param {number} [options.lineWidth=80]\n * @param {number} [options.minContentWidth=20] Allow highly indented lines to\n * stretch the line width\n * @param {function} options.onFold Called once if the text is folded\n * @param {function} options.onFold Called once if any line of text exceeds\n * lineWidth characters\n */\n\n\nfunction foldFlowLines(text, indent, mode, {\n indentAtStart,\n lineWidth = 80,\n minContentWidth = 20,\n onFold,\n onOverflow\n}) {\n if (!lineWidth || lineWidth < 0) return text;\n const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length);\n if (text.length <= endStep) return text;\n const folds = [];\n const escapedFolds = {};\n let end = lineWidth - (typeof indentAtStart === 'number' ? indentAtStart : indent.length);\n let split = undefined;\n let prev = undefined;\n let overflow = false;\n let i = -1;\n\n if (mode === FOLD_BLOCK) {\n i = consumeMoreIndentedLines(text, i);\n if (i !== -1) end = i + endStep;\n }\n\n for (let ch; ch = text[i += 1];) {\n if (mode === FOLD_QUOTED && ch === '\\\\') {\n switch (text[i + 1]) {\n case 'x':\n i += 3;\n break;\n\n case 'u':\n i += 5;\n break;\n\n case 'U':\n i += 9;\n break;\n\n default:\n i += 1;\n }\n }\n\n if (ch === '\\n') {\n if (mode === FOLD_BLOCK) i = consumeMoreIndentedLines(text, i);\n end = i + endStep;\n split = undefined;\n } else {\n if (ch === ' ' && prev && prev !== ' ' && prev !== '\\n' && prev !== '\\t') {\n // space surrounded by non-space can be replaced with newline + indent\n const next = text[i + 1];\n if (next && next !== ' ' && next !== '\\n' && next !== '\\t') split = i;\n }\n\n if (i >= end) {\n if (split) {\n folds.push(split);\n end = split + endStep;\n split = undefined;\n } else if (mode === FOLD_QUOTED) {\n // white-space collected at end may stretch past lineWidth\n while (prev === ' ' || prev === '\\t') {\n prev = ch;\n ch = text[i += 1];\n overflow = true;\n } // i - 2 accounts for not-dropped last char + newline-escaping \\\n\n\n folds.push(i - 2);\n escapedFolds[i - 2] = true;\n end = i - 2 + endStep;\n split = undefined;\n } else {\n overflow = true;\n }\n }\n }\n\n prev = ch;\n }\n\n if (overflow && onOverflow) onOverflow();\n if (folds.length === 0) return text;\n if (onFold) onFold();\n let res = text.slice(0, folds[0]);\n\n for (let i = 0; i < folds.length; ++i) {\n const fold = folds[i];\n const end = folds[i + 1] || text.length;\n if (mode === FOLD_QUOTED && escapedFolds[fold]) res += `${text[fold]}\\\\`;\n res += `\\n${indent}${text.slice(fold + 1, end)}`;\n }\n\n return res;\n}\n\nconst getFoldOptions = ({\n indentAtStart\n}) => indentAtStart ? Object.assign({\n indentAtStart\n}, strOptions.fold) : strOptions.fold; // Also checks for lines starting with %, as parsing the output as YAML 1.1 will\n// presume that's starting a new document.\n\n\nconst containsDocumentMarker = str => /^(%|---|\\.\\.\\.)/m.test(str);\n\nfunction lineLengthOverLimit(str, limit) {\n const strLen = str.length;\n if (strLen <= limit) return false;\n\n for (let i = 0, start = 0; i < strLen; ++i) {\n if (str[i] === '\\n') {\n if (i - start > limit) return true;\n start = i + 1;\n if (strLen - start <= limit) return false;\n }\n }\n\n return true;\n}\n\nfunction doubleQuotedString(value, ctx) {\n const {\n implicitKey\n } = ctx;\n const {\n jsonEncoding,\n minMultiLineLength\n } = strOptions.doubleQuoted;\n const json = JSON.stringify(value);\n if (jsonEncoding) return json;\n const indent = ctx.indent || (containsDocumentMarker(value) ? ' ' : '');\n let str = '';\n let start = 0;\n\n for (let i = 0, ch = json[i]; ch; ch = json[++i]) {\n if (ch === ' ' && json[i + 1] === '\\\\' && json[i + 2] === 'n') {\n // space before newline needs to be escaped to not be folded\n str += json.slice(start, i) + '\\\\ ';\n i += 1;\n start = i;\n ch = '\\\\';\n }\n\n if (ch === '\\\\') switch (json[i + 1]) {\n case 'u':\n {\n str += json.slice(start, i);\n const code = json.substr(i + 2, 4);\n\n switch (code) {\n case '0000':\n str += '\\\\0';\n break;\n\n case '0007':\n str += '\\\\a';\n break;\n\n case '000b':\n str += '\\\\v';\n break;\n\n case '001b':\n str += '\\\\e';\n break;\n\n case '0085':\n str += '\\\\N';\n break;\n\n case '00a0':\n str += '\\\\_';\n break;\n\n case '2028':\n str += '\\\\L';\n break;\n\n case '2029':\n str += '\\\\P';\n break;\n\n default:\n if (code.substr(0, 2) === '00') str += '\\\\x' + code.substr(2);else str += json.substr(i, 6);\n }\n\n i += 5;\n start = i + 1;\n }\n break;\n\n case 'n':\n if (implicitKey || json[i + 2] === '\"' || json.length < minMultiLineLength) {\n i += 1;\n } else {\n // folding will eat first newline\n str += json.slice(start, i) + '\\n\\n';\n\n while (json[i + 2] === '\\\\' && json[i + 3] === 'n' && json[i + 4] !== '\"') {\n str += '\\n';\n i += 2;\n }\n\n str += indent; // space after newline needs to be escaped to not be folded\n\n if (json[i + 2] === ' ') str += '\\\\';\n i += 1;\n start = i + 1;\n }\n\n break;\n\n default:\n i += 1;\n }\n }\n\n str = start ? str + json.slice(start) : json;\n return implicitKey ? str : foldFlowLines(str, indent, FOLD_QUOTED, getFoldOptions(ctx));\n}\n\nfunction singleQuotedString(value, ctx) {\n if (ctx.implicitKey) {\n if (/\\n/.test(value)) return doubleQuotedString(value, ctx);\n } else {\n // single quoted string can't have leading or trailing whitespace around newline\n if (/[ \\t]\\n|\\n[ \\t]/.test(value)) return doubleQuotedString(value, ctx);\n }\n\n const indent = ctx.indent || (containsDocumentMarker(value) ? ' ' : '');\n const res = \"'\" + value.replace(/'/g, \"''\").replace(/\\n+/g, `$&\\n${indent}`) + \"'\";\n return ctx.implicitKey ? res : foldFlowLines(res, indent, FOLD_FLOW, getFoldOptions(ctx));\n}\n\nfunction blockString({\n comment,\n type,\n value\n}, ctx, onComment, onChompKeep) {\n // 1. Block can't end in whitespace unless the last line is non-empty.\n // 2. Strings consisting of only whitespace are best rendered explicitly.\n if (/\\n[\\t ]+$/.test(value) || /^\\s*$/.test(value)) {\n return doubleQuotedString(value, ctx);\n }\n\n const indent = ctx.indent || (ctx.forceBlockIndent || containsDocumentMarker(value) ? ' ' : '');\n const indentSize = indent ? '2' : '1'; // root is at -1\n\n const literal = type === PlainValueEc8e588e.Type.BLOCK_FOLDED ? false : type === PlainValueEc8e588e.Type.BLOCK_LITERAL ? true : !lineLengthOverLimit(value, strOptions.fold.lineWidth - indent.length);\n let header = literal ? '|' : '>';\n if (!value) return header + '\\n';\n let wsStart = '';\n let wsEnd = '';\n value = value.replace(/[\\n\\t ]*$/, ws => {\n const n = ws.indexOf('\\n');\n\n if (n === -1) {\n header += '-'; // strip\n } else if (value === ws || n !== ws.length - 1) {\n header += '+'; // keep\n\n if (onChompKeep) onChompKeep();\n }\n\n wsEnd = ws.replace(/\\n$/, '');\n return '';\n }).replace(/^[\\n ]*/, ws => {\n if (ws.indexOf(' ') !== -1) header += indentSize;\n const m = ws.match(/ +$/);\n\n if (m) {\n wsStart = ws.slice(0, -m[0].length);\n return m[0];\n } else {\n wsStart = ws;\n return '';\n }\n });\n if (wsEnd) wsEnd = wsEnd.replace(/\\n+(?!\\n|$)/g, `$&${indent}`);\n if (wsStart) wsStart = wsStart.replace(/\\n+/g, `$&${indent}`);\n\n if (comment) {\n header += ' #' + comment.replace(/ ?[\\r\\n]+/g, ' ');\n if (onComment) onComment();\n }\n\n if (!value) return `${header}${indentSize}\\n${indent}${wsEnd}`;\n\n if (literal) {\n value = value.replace(/\\n+/g, `$&${indent}`);\n return `${header}\\n${indent}${wsStart}${value}${wsEnd}`;\n }\n\n value = value.replace(/\\n+/g, '\\n$&').replace(/(?:^|\\n)([\\t ].*)(?:([\\n\\t ]*)\\n(?![\\n\\t ]))?/g, '$1$2') // more-indented lines aren't folded\n // ^ ind.line ^ empty ^ capture next empty lines only at end of indent\n .replace(/\\n+/g, `$&${indent}`);\n const body = foldFlowLines(`${wsStart}${value}${wsEnd}`, indent, FOLD_BLOCK, strOptions.fold);\n return `${header}\\n${indent}${body}`;\n}\n\nfunction plainString(item, ctx, onComment, onChompKeep) {\n const {\n comment,\n type,\n value\n } = item;\n const {\n actualString,\n implicitKey,\n indent,\n inFlow\n } = ctx;\n\n if (implicitKey && /[\\n[\\]{},]/.test(value) || inFlow && /[[\\]{},]/.test(value)) {\n return doubleQuotedString(value, ctx);\n }\n\n if (!value || /^[\\n\\t ,[\\]{}#&*!|>'\"%@`]|^[?-]$|^[?-][ \\t]|[\\n:][ \\t]|[ \\t]\\n|[\\n\\t ]#|[\\n\\t :]$/.test(value)) {\n // not allowed:\n // - empty string, '-' or '?'\n // - start with an indicator character (except [?:-]) or /[?-] /\n // - '\\n ', ': ' or ' \\n' anywhere\n // - '#' not preceded by a non-space char\n // - end with ' ' or ':'\n return implicitKey || inFlow || value.indexOf('\\n') === -1 ? value.indexOf('\"') !== -1 && value.indexOf(\"'\") === -1 ? singleQuotedString(value, ctx) : doubleQuotedString(value, ctx) : blockString(item, ctx, onComment, onChompKeep);\n }\n\n if (!implicitKey && !inFlow && type !== PlainValueEc8e588e.Type.PLAIN && value.indexOf('\\n') !== -1) {\n // Where allowed & type not set explicitly, prefer block style for multiline strings\n return blockString(item, ctx, onComment, onChompKeep);\n }\n\n if (indent === '' && containsDocumentMarker(value)) {\n ctx.forceBlockIndent = true;\n return blockString(item, ctx, onComment, onChompKeep);\n }\n\n const str = value.replace(/\\n+/g, `$&\\n${indent}`); // Verify that output will be parsed as a string, as e.g. plain numbers and\n // booleans get parsed with those types in v1.2 (e.g. '42', 'true' & '0.9e-3'),\n // and others in v1.1.\n\n if (actualString) {\n const {\n tags\n } = ctx.doc.schema;\n const resolved = resolveScalar(str, tags, tags.scalarFallback).value;\n if (typeof resolved !== 'string') return doubleQuotedString(value, ctx);\n }\n\n const body = implicitKey ? str : foldFlowLines(str, indent, FOLD_FLOW, getFoldOptions(ctx));\n\n if (comment && !inFlow && (body.indexOf('\\n') !== -1 || comment.indexOf('\\n') !== -1)) {\n if (onComment) onComment();\n return addCommentBefore(body, indent, comment);\n }\n\n return body;\n}\n\nfunction stringifyString(item, ctx, onComment, onChompKeep) {\n const {\n defaultType\n } = strOptions;\n const {\n implicitKey,\n inFlow\n } = ctx;\n let {\n type,\n value\n } = item;\n\n if (typeof value !== 'string') {\n value = String(value);\n item = Object.assign({}, item, {\n value\n });\n }\n\n const _stringify = _type => {\n switch (_type) {\n case PlainValueEc8e588e.Type.BLOCK_FOLDED:\n case PlainValueEc8e588e.Type.BLOCK_LITERAL:\n return blockString(item, ctx, onComment, onChompKeep);\n\n case PlainValueEc8e588e.Type.QUOTE_DOUBLE:\n return doubleQuotedString(value, ctx);\n\n case PlainValueEc8e588e.Type.QUOTE_SINGLE:\n return singleQuotedString(value, ctx);\n\n case PlainValueEc8e588e.Type.PLAIN:\n return plainString(item, ctx, onComment, onChompKeep);\n\n default:\n return null;\n }\n };\n\n if (type !== PlainValueEc8e588e.Type.QUOTE_DOUBLE && /[\\x00-\\x08\\x0b-\\x1f\\x7f-\\x9f]/.test(value)) {\n // force double quotes on control characters\n type = PlainValueEc8e588e.Type.QUOTE_DOUBLE;\n } else if ((implicitKey || inFlow) && (type === PlainValueEc8e588e.Type.BLOCK_FOLDED || type === PlainValueEc8e588e.Type.BLOCK_LITERAL)) {\n // should not happen; blocks are not valid inside flow containers\n type = PlainValueEc8e588e.Type.QUOTE_DOUBLE;\n }\n\n let res = _stringify(type);\n\n if (res === null) {\n res = _stringify(defaultType);\n if (res === null) throw new Error(`Unsupported default string type ${defaultType}`);\n }\n\n return res;\n}\n\nfunction stringifyNumber({\n format,\n minFractionDigits,\n tag,\n value\n}) {\n if (typeof value === 'bigint') return String(value);\n if (!isFinite(value)) return isNaN(value) ? '.nan' : value < 0 ? '-.inf' : '.inf';\n let n = JSON.stringify(value);\n\n if (!format && minFractionDigits && (!tag || tag === 'tag:yaml.org,2002:float') && /^\\d/.test(n)) {\n let i = n.indexOf('.');\n\n if (i < 0) {\n i = n.length;\n n += '.';\n }\n\n let d = minFractionDigits - (n.length - i - 1);\n\n while (d-- > 0) n += '0';\n }\n\n return n;\n}\n\nfunction checkFlowCollectionEnd(errors, cst) {\n let char, name;\n\n switch (cst.type) {\n case PlainValueEc8e588e.Type.FLOW_MAP:\n char = '}';\n name = 'flow map';\n break;\n\n case PlainValueEc8e588e.Type.FLOW_SEQ:\n char = ']';\n name = 'flow sequence';\n break;\n\n default:\n errors.push(new PlainValueEc8e588e.YAMLSemanticError(cst, 'Not a flow collection!?'));\n return;\n }\n\n let lastItem;\n\n for (let i = cst.items.length - 1; i >= 0; --i) {\n const item = cst.items[i];\n\n if (!item || item.type !== PlainValueEc8e588e.Type.COMMENT) {\n lastItem = item;\n break;\n }\n }\n\n if (lastItem && lastItem.char !== char) {\n const msg = `Expected ${name} to end with ${char}`;\n let err;\n\n if (typeof lastItem.offset === 'number') {\n err = new PlainValueEc8e588e.YAMLSemanticError(cst, msg);\n err.offset = lastItem.offset + 1;\n } else {\n err = new PlainValueEc8e588e.YAMLSemanticError(lastItem, msg);\n if (lastItem.range && lastItem.range.end) err.offset = lastItem.range.end - lastItem.range.start;\n }\n\n errors.push(err);\n }\n}\n\nfunction checkFlowCommentSpace(errors, comment) {\n const prev = comment.context.src[comment.range.start - 1];\n\n if (prev !== '\\n' && prev !== '\\t' && prev !== ' ') {\n const msg = 'Comments must be separated from other tokens by white space characters';\n errors.push(new PlainValueEc8e588e.YAMLSemanticError(comment, msg));\n }\n}\n\nfunction getLongKeyError(source, key) {\n const sk = String(key);\n const k = sk.substr(0, 8) + '...' + sk.substr(-8);\n return new PlainValueEc8e588e.YAMLSemanticError(source, `The \"${k}\" key is too long`);\n}\n\nfunction resolveComments(collection, comments) {\n for (const {\n afterKey,\n before,\n comment\n } of comments) {\n let item = collection.items[before];\n\n if (!item) {\n if (comment !== undefined) {\n if (collection.comment) collection.comment += '\\n' + comment;else collection.comment = comment;\n }\n } else {\n if (afterKey && item.value) item = item.value;\n\n if (comment === undefined) {\n if (afterKey || !item.commentBefore) item.spaceBefore = true;\n } else {\n if (item.commentBefore) item.commentBefore += '\\n' + comment;else item.commentBefore = comment;\n }\n }\n }\n} // on error, will return { str: string, errors: Error[] }\n\n\nfunction resolveString(doc, node) {\n const res = node.strValue;\n if (!res) return '';\n if (typeof res === 'string') return res;\n res.errors.forEach(error => {\n if (!error.source) error.source = node;\n doc.errors.push(error);\n });\n return res.str;\n}\n\nfunction resolveTagHandle(doc, node) {\n const {\n handle,\n suffix\n } = node.tag;\n let prefix = doc.tagPrefixes.find(p => p.handle === handle);\n\n if (!prefix) {\n const dtp = doc.getDefaults().tagPrefixes;\n if (dtp) prefix = dtp.find(p => p.handle === handle);\n if (!prefix) throw new PlainValueEc8e588e.YAMLSemanticError(node, `The ${handle} tag handle is non-default and was not declared.`);\n }\n\n if (!suffix) throw new PlainValueEc8e588e.YAMLSemanticError(node, `The ${handle} tag has no suffix.`);\n\n if (handle === '!' && (doc.version || doc.options.version) === '1.0') {\n if (suffix[0] === '^') {\n doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(node, 'YAML 1.0 ^ tag expansion is not supported'));\n return suffix;\n }\n\n if (/[:/]/.test(suffix)) {\n // word/foo -> tag:word.yaml.org,2002:foo\n const vocab = suffix.match(/^([a-z0-9-]+)\\/(.*)/i);\n return vocab ? `tag:${vocab[1]}.yaml.org,2002:${vocab[2]}` : `tag:${suffix}`;\n }\n }\n\n return prefix.prefix + decodeURIComponent(suffix);\n}\n\nfunction resolveTagName(doc, node) {\n const {\n tag,\n type\n } = node;\n let nonSpecific = false;\n\n if (tag) {\n const {\n handle,\n suffix,\n verbatim\n } = tag;\n\n if (verbatim) {\n if (verbatim !== '!' && verbatim !== '!!') return verbatim;\n const msg = `Verbatim tags aren't resolved, so ${verbatim} is invalid.`;\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));\n } else if (handle === '!' && !suffix) {\n nonSpecific = true;\n } else {\n try {\n return resolveTagHandle(doc, node);\n } catch (error) {\n doc.errors.push(error);\n }\n }\n }\n\n switch (type) {\n case PlainValueEc8e588e.Type.BLOCK_FOLDED:\n case PlainValueEc8e588e.Type.BLOCK_LITERAL:\n case PlainValueEc8e588e.Type.QUOTE_DOUBLE:\n case PlainValueEc8e588e.Type.QUOTE_SINGLE:\n return PlainValueEc8e588e.defaultTags.STR;\n\n case PlainValueEc8e588e.Type.FLOW_MAP:\n case PlainValueEc8e588e.Type.MAP:\n return PlainValueEc8e588e.defaultTags.MAP;\n\n case PlainValueEc8e588e.Type.FLOW_SEQ:\n case PlainValueEc8e588e.Type.SEQ:\n return PlainValueEc8e588e.defaultTags.SEQ;\n\n case PlainValueEc8e588e.Type.PLAIN:\n return nonSpecific ? PlainValueEc8e588e.defaultTags.STR : null;\n\n default:\n return null;\n }\n}\n\nfunction resolveByTagName(doc, node, tagName) {\n const {\n tags\n } = doc.schema;\n const matchWithTest = [];\n\n for (const tag of tags) {\n if (tag.tag === tagName) {\n if (tag.test) matchWithTest.push(tag);else {\n const res = tag.resolve(doc, node);\n return res instanceof Collection$1 ? res : new Scalar(res);\n }\n }\n }\n\n const str = resolveString(doc, node);\n if (typeof str === 'string' && matchWithTest.length > 0) return resolveScalar(str, matchWithTest, tags.scalarFallback);\n return null;\n}\n\nfunction getFallbackTagName({\n type\n}) {\n switch (type) {\n case PlainValueEc8e588e.Type.FLOW_MAP:\n case PlainValueEc8e588e.Type.MAP:\n return PlainValueEc8e588e.defaultTags.MAP;\n\n case PlainValueEc8e588e.Type.FLOW_SEQ:\n case PlainValueEc8e588e.Type.SEQ:\n return PlainValueEc8e588e.defaultTags.SEQ;\n\n default:\n return PlainValueEc8e588e.defaultTags.STR;\n }\n}\n\nfunction resolveTag(doc, node, tagName) {\n try {\n const res = resolveByTagName(doc, node, tagName);\n\n if (res) {\n if (tagName && node.tag) res.tag = tagName;\n return res;\n }\n } catch (error) {\n /* istanbul ignore if */\n if (!error.source) error.source = node;\n doc.errors.push(error);\n return null;\n }\n\n try {\n const fallback = getFallbackTagName(node);\n if (!fallback) throw new Error(`The tag ${tagName} is unavailable`);\n const msg = `The tag ${tagName} is unavailable, falling back to ${fallback}`;\n doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(node, msg));\n const res = resolveByTagName(doc, node, fallback);\n res.tag = tagName;\n return res;\n } catch (error) {\n const refError = new PlainValueEc8e588e.YAMLReferenceError(node, error.message);\n refError.stack = error.stack;\n doc.errors.push(refError);\n return null;\n }\n}\n\nconst isCollectionItem = node => {\n if (!node) return false;\n const {\n type\n } = node;\n return type === PlainValueEc8e588e.Type.MAP_KEY || type === PlainValueEc8e588e.Type.MAP_VALUE || type === PlainValueEc8e588e.Type.SEQ_ITEM;\n};\n\nfunction resolveNodeProps(errors, node) {\n const comments = {\n before: [],\n after: []\n };\n let hasAnchor = false;\n let hasTag = false;\n const props = isCollectionItem(node.context.parent) ? node.context.parent.props.concat(node.props) : node.props;\n\n for (const {\n start,\n end\n } of props) {\n switch (node.context.src[start]) {\n case PlainValueEc8e588e.Char.COMMENT:\n {\n if (!node.commentHasRequiredWhitespace(start)) {\n const msg = 'Comments must be separated from other tokens by white space characters';\n errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));\n }\n\n const {\n header,\n valueRange\n } = node;\n const cc = valueRange && (start > valueRange.start || header && start > header.start) ? comments.after : comments.before;\n cc.push(node.context.src.slice(start + 1, end));\n break;\n }\n // Actual anchor & tag resolution is handled by schema, here we just complain\n\n case PlainValueEc8e588e.Char.ANCHOR:\n if (hasAnchor) {\n const msg = 'A node can have at most one anchor';\n errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));\n }\n\n hasAnchor = true;\n break;\n\n case PlainValueEc8e588e.Char.TAG:\n if (hasTag) {\n const msg = 'A node can have at most one tag';\n errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));\n }\n\n hasTag = true;\n break;\n }\n }\n\n return {\n comments,\n hasAnchor,\n hasTag\n };\n}\n\nfunction resolveNodeValue(doc, node) {\n const {\n anchors,\n errors,\n schema\n } = doc;\n\n if (node.type === PlainValueEc8e588e.Type.ALIAS) {\n const name = node.rawValue;\n const src = anchors.getNode(name);\n\n if (!src) {\n const msg = `Aliased anchor not found: ${name}`;\n errors.push(new PlainValueEc8e588e.YAMLReferenceError(node, msg));\n return null;\n } // Lazy resolution for circular references\n\n\n const res = new Alias$1(src);\n\n anchors._cstAliases.push(res);\n\n return res;\n }\n\n const tagName = resolveTagName(doc, node);\n if (tagName) return resolveTag(doc, node, tagName);\n\n if (node.type !== PlainValueEc8e588e.Type.PLAIN) {\n const msg = `Failed to resolve ${node.type} node here`;\n errors.push(new PlainValueEc8e588e.YAMLSyntaxError(node, msg));\n return null;\n }\n\n try {\n const str = resolveString(doc, node);\n return resolveScalar(str, schema.tags, schema.tags.scalarFallback);\n } catch (error) {\n if (!error.source) error.source = node;\n errors.push(error);\n return null;\n }\n} // sets node.resolved on success\n\n\nfunction resolveNode(doc, node) {\n if (!node) return null;\n if (node.error) doc.errors.push(node.error);\n const {\n comments,\n hasAnchor,\n hasTag\n } = resolveNodeProps(doc.errors, node);\n\n if (hasAnchor) {\n const {\n anchors\n } = doc;\n const name = node.anchor;\n const prev = anchors.getNode(name); // At this point, aliases for any preceding node with the same anchor\n // name have already been resolved, so it may safely be renamed.\n\n if (prev) anchors.map[anchors.newName(name)] = prev; // During parsing, we need to store the CST node in anchors.map as\n // anchors need to be available during resolution to allow for\n // circular references.\n\n anchors.map[name] = node;\n }\n\n if (node.type === PlainValueEc8e588e.Type.ALIAS && (hasAnchor || hasTag)) {\n const msg = 'An alias node must not specify any properties';\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));\n }\n\n const res = resolveNodeValue(doc, node);\n\n if (res) {\n res.range = [node.range.start, node.range.end];\n if (doc.options.keepCstNodes) res.cstNode = node;\n if (doc.options.keepNodeTypes) res.type = node.type;\n const cb = comments.before.join('\\n');\n\n if (cb) {\n res.commentBefore = res.commentBefore ? `${res.commentBefore}\\n${cb}` : cb;\n }\n\n const ca = comments.after.join('\\n');\n if (ca) res.comment = res.comment ? `${res.comment}\\n${ca}` : ca;\n }\n\n return node.resolved = res;\n}\n\nfunction resolveMap(doc, cst) {\n if (cst.type !== PlainValueEc8e588e.Type.MAP && cst.type !== PlainValueEc8e588e.Type.FLOW_MAP) {\n const msg = `A ${cst.type} node cannot be resolved as a mapping`;\n doc.errors.push(new PlainValueEc8e588e.YAMLSyntaxError(cst, msg));\n return null;\n }\n\n const {\n comments,\n items\n } = cst.type === PlainValueEc8e588e.Type.FLOW_MAP ? resolveFlowMapItems(doc, cst) : resolveBlockMapItems(doc, cst);\n const map = new YAMLMap();\n map.items = items;\n resolveComments(map, comments);\n let hasCollectionKey = false;\n\n for (let i = 0; i < items.length; ++i) {\n const {\n key: iKey\n } = items[i];\n if (iKey instanceof Collection$1) hasCollectionKey = true;\n\n if (doc.schema.merge && iKey && iKey.value === MERGE_KEY) {\n items[i] = new Merge(items[i]);\n const sources = items[i].value.items;\n let error = null;\n sources.some(node => {\n if (node instanceof Alias$1) {\n // During parsing, alias sources are CST nodes; to account for\n // circular references their resolved values can't be used here.\n const {\n type\n } = node.source;\n if (type === PlainValueEc8e588e.Type.MAP || type === PlainValueEc8e588e.Type.FLOW_MAP) return false;\n return error = 'Merge nodes aliases can only point to maps';\n }\n\n return error = 'Merge nodes can only have Alias nodes as values';\n });\n if (error) doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(cst, error));\n } else {\n for (let j = i + 1; j < items.length; ++j) {\n const {\n key: jKey\n } = items[j];\n\n if (iKey === jKey || iKey && jKey && Object.prototype.hasOwnProperty.call(iKey, 'value') && iKey.value === jKey.value) {\n const msg = `Map keys must be unique; \"${iKey}\" is repeated`;\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(cst, msg));\n break;\n }\n }\n }\n }\n\n if (hasCollectionKey && !doc.options.mapAsMap) {\n const warn = 'Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.';\n doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(cst, warn));\n }\n\n cst.resolved = map;\n return map;\n}\n\nconst valueHasPairComment = ({\n context: {\n lineStart,\n node,\n src\n },\n props\n}) => {\n if (props.length === 0) return false;\n const {\n start\n } = props[0];\n if (node && start > node.valueRange.start) return false;\n if (src[start] !== PlainValueEc8e588e.Char.COMMENT) return false;\n\n for (let i = lineStart; i < start; ++i) if (src[i] === '\\n') return false;\n\n return true;\n};\n\nfunction resolvePairComment(item, pair) {\n if (!valueHasPairComment(item)) return;\n const comment = item.getPropValue(0, PlainValueEc8e588e.Char.COMMENT, true);\n let found = false;\n const cb = pair.value.commentBefore;\n\n if (cb && cb.startsWith(comment)) {\n pair.value.commentBefore = cb.substr(comment.length + 1);\n found = true;\n } else {\n const cc = pair.value.comment;\n\n if (!item.node && cc && cc.startsWith(comment)) {\n pair.value.comment = cc.substr(comment.length + 1);\n found = true;\n }\n }\n\n if (found) pair.comment = comment;\n}\n\nfunction resolveBlockMapItems(doc, cst) {\n const comments = [];\n const items = [];\n let key = undefined;\n let keyStart = null;\n\n for (let i = 0; i < cst.items.length; ++i) {\n const item = cst.items[i];\n\n switch (item.type) {\n case PlainValueEc8e588e.Type.BLANK_LINE:\n comments.push({\n afterKey: !!key,\n before: items.length\n });\n break;\n\n case PlainValueEc8e588e.Type.COMMENT:\n comments.push({\n afterKey: !!key,\n before: items.length,\n comment: item.comment\n });\n break;\n\n case PlainValueEc8e588e.Type.MAP_KEY:\n if (key !== undefined) items.push(new Pair(key));\n if (item.error) doc.errors.push(item.error);\n key = resolveNode(doc, item.node);\n keyStart = null;\n break;\n\n case PlainValueEc8e588e.Type.MAP_VALUE:\n {\n if (key === undefined) key = null;\n if (item.error) doc.errors.push(item.error);\n\n if (!item.context.atLineStart && item.node && item.node.type === PlainValueEc8e588e.Type.MAP && !item.node.context.atLineStart) {\n const msg = 'Nested mappings are not allowed in compact mappings';\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item.node, msg));\n }\n\n let valueNode = item.node;\n\n if (!valueNode && item.props.length > 0) {\n // Comments on an empty mapping value need to be preserved, so we\n // need to construct a minimal empty node here to use instead of the\n // missing `item.node`. -- eemeli/yaml#19\n valueNode = new PlainValueEc8e588e.PlainValue(PlainValueEc8e588e.Type.PLAIN, []);\n valueNode.context = {\n parent: item,\n src: item.context.src\n };\n const pos = item.range.start + 1;\n valueNode.range = {\n start: pos,\n end: pos\n };\n valueNode.valueRange = {\n start: pos,\n end: pos\n };\n\n if (typeof item.range.origStart === 'number') {\n const origPos = item.range.origStart + 1;\n valueNode.range.origStart = valueNode.range.origEnd = origPos;\n valueNode.valueRange.origStart = valueNode.valueRange.origEnd = origPos;\n }\n }\n\n const pair = new Pair(key, resolveNode(doc, valueNode));\n resolvePairComment(item, pair);\n items.push(pair);\n\n if (key && typeof keyStart === 'number') {\n if (item.range.start > keyStart + 1024) doc.errors.push(getLongKeyError(cst, key));\n }\n\n key = undefined;\n keyStart = null;\n }\n break;\n\n default:\n if (key !== undefined) items.push(new Pair(key));\n key = resolveNode(doc, item);\n keyStart = item.range.start;\n if (item.error) doc.errors.push(item.error);\n\n next: for (let j = i + 1;; ++j) {\n const nextItem = cst.items[j];\n\n switch (nextItem && nextItem.type) {\n case PlainValueEc8e588e.Type.BLANK_LINE:\n case PlainValueEc8e588e.Type.COMMENT:\n continue next;\n\n case PlainValueEc8e588e.Type.MAP_VALUE:\n break next;\n\n default:\n {\n const msg = 'Implicit map keys need to be followed by map values';\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, msg));\n break next;\n }\n }\n }\n\n if (item.valueRangeContainsNewline) {\n const msg = 'Implicit map keys need to be on a single line';\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, msg));\n }\n\n }\n }\n\n if (key !== undefined) items.push(new Pair(key));\n return {\n comments,\n items\n };\n}\n\nfunction resolveFlowMapItems(doc, cst) {\n const comments = [];\n const items = [];\n let key = undefined;\n let explicitKey = false;\n let next = '{';\n\n for (let i = 0; i < cst.items.length; ++i) {\n const item = cst.items[i];\n\n if (typeof item.char === 'string') {\n const {\n char,\n offset\n } = item;\n\n if (char === '?' && key === undefined && !explicitKey) {\n explicitKey = true;\n next = ':';\n continue;\n }\n\n if (char === ':') {\n if (key === undefined) key = null;\n\n if (next === ':') {\n next = ',';\n continue;\n }\n } else {\n if (explicitKey) {\n if (key === undefined && char !== ',') key = null;\n explicitKey = false;\n }\n\n if (key !== undefined) {\n items.push(new Pair(key));\n key = undefined;\n\n if (char === ',') {\n next = ':';\n continue;\n }\n }\n }\n\n if (char === '}') {\n if (i === cst.items.length - 1) continue;\n } else if (char === next) {\n next = ':';\n continue;\n }\n\n const msg = `Flow map contains an unexpected ${char}`;\n const err = new PlainValueEc8e588e.YAMLSyntaxError(cst, msg);\n err.offset = offset;\n doc.errors.push(err);\n } else if (item.type === PlainValueEc8e588e.Type.BLANK_LINE) {\n comments.push({\n afterKey: !!key,\n before: items.length\n });\n } else if (item.type === PlainValueEc8e588e.Type.COMMENT) {\n checkFlowCommentSpace(doc.errors, item);\n comments.push({\n afterKey: !!key,\n before: items.length,\n comment: item.comment\n });\n } else if (key === undefined) {\n if (next === ',') doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, 'Separator , missing in flow map'));\n key = resolveNode(doc, item);\n } else {\n if (next !== ',') doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, 'Indicator : missing in flow map entry'));\n items.push(new Pair(key, resolveNode(doc, item)));\n key = undefined;\n explicitKey = false;\n }\n }\n\n checkFlowCollectionEnd(doc.errors, cst);\n if (key !== undefined) items.push(new Pair(key));\n return {\n comments,\n items\n };\n}\n\nfunction resolveSeq(doc, cst) {\n if (cst.type !== PlainValueEc8e588e.Type.SEQ && cst.type !== PlainValueEc8e588e.Type.FLOW_SEQ) {\n const msg = `A ${cst.type} node cannot be resolved as a sequence`;\n doc.errors.push(new PlainValueEc8e588e.YAMLSyntaxError(cst, msg));\n return null;\n }\n\n const {\n comments,\n items\n } = cst.type === PlainValueEc8e588e.Type.FLOW_SEQ ? resolveFlowSeqItems(doc, cst) : resolveBlockSeqItems(doc, cst);\n const seq = new YAMLSeq();\n seq.items = items;\n resolveComments(seq, comments);\n\n if (!doc.options.mapAsMap && items.some(it => it instanceof Pair && it.key instanceof Collection$1)) {\n const warn = 'Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.';\n doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(cst, warn));\n }\n\n cst.resolved = seq;\n return seq;\n}\n\nfunction resolveBlockSeqItems(doc, cst) {\n const comments = [];\n const items = [];\n\n for (let i = 0; i < cst.items.length; ++i) {\n const item = cst.items[i];\n\n switch (item.type) {\n case PlainValueEc8e588e.Type.BLANK_LINE:\n comments.push({\n before: items.length\n });\n break;\n\n case PlainValueEc8e588e.Type.COMMENT:\n comments.push({\n comment: item.comment,\n before: items.length\n });\n break;\n\n case PlainValueEc8e588e.Type.SEQ_ITEM:\n if (item.error) doc.errors.push(item.error);\n items.push(resolveNode(doc, item.node));\n\n if (item.hasProps) {\n const msg = 'Sequence items cannot have tags or anchors before the - indicator';\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, msg));\n }\n\n break;\n\n default:\n if (item.error) doc.errors.push(item.error);\n doc.errors.push(new PlainValueEc8e588e.YAMLSyntaxError(item, `Unexpected ${item.type} node in sequence`));\n }\n }\n\n return {\n comments,\n items\n };\n}\n\nfunction resolveFlowSeqItems(doc, cst) {\n const comments = [];\n const items = [];\n let explicitKey = false;\n let key = undefined;\n let keyStart = null;\n let next = '[';\n let prevItem = null;\n\n for (let i = 0; i < cst.items.length; ++i) {\n const item = cst.items[i];\n\n if (typeof item.char === 'string') {\n const {\n char,\n offset\n } = item;\n\n if (char !== ':' && (explicitKey || key !== undefined)) {\n if (explicitKey && key === undefined) key = next ? items.pop() : null;\n items.push(new Pair(key));\n explicitKey = false;\n key = undefined;\n keyStart = null;\n }\n\n if (char === next) {\n next = null;\n } else if (!next && char === '?') {\n explicitKey = true;\n } else if (next !== '[' && char === ':' && key === undefined) {\n if (next === ',') {\n key = items.pop();\n\n if (key instanceof Pair) {\n const msg = 'Chaining flow sequence pairs is invalid';\n const err = new PlainValueEc8e588e.YAMLSemanticError(cst, msg);\n err.offset = offset;\n doc.errors.push(err);\n }\n\n if (!explicitKey && typeof keyStart === 'number') {\n const keyEnd = item.range ? item.range.start : item.offset;\n if (keyEnd > keyStart + 1024) doc.errors.push(getLongKeyError(cst, key));\n const {\n src\n } = prevItem.context;\n\n for (let i = keyStart; i < keyEnd; ++i) if (src[i] === '\\n') {\n const msg = 'Implicit keys of flow sequence pairs need to be on a single line';\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(prevItem, msg));\n break;\n }\n }\n } else {\n key = null;\n }\n\n keyStart = null;\n explicitKey = false;\n next = null;\n } else if (next === '[' || char !== ']' || i < cst.items.length - 1) {\n const msg = `Flow sequence contains an unexpected ${char}`;\n const err = new PlainValueEc8e588e.YAMLSyntaxError(cst, msg);\n err.offset = offset;\n doc.errors.push(err);\n }\n } else if (item.type === PlainValueEc8e588e.Type.BLANK_LINE) {\n comments.push({\n before: items.length\n });\n } else if (item.type === PlainValueEc8e588e.Type.COMMENT) {\n checkFlowCommentSpace(doc.errors, item);\n comments.push({\n comment: item.comment,\n before: items.length\n });\n } else {\n if (next) {\n const msg = `Expected a ${next} in flow sequence`;\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, msg));\n }\n\n const value = resolveNode(doc, item);\n\n if (key === undefined) {\n items.push(value);\n prevItem = item;\n } else {\n items.push(new Pair(key, value));\n key = undefined;\n }\n\n keyStart = item.range.start;\n next = ',';\n }\n }\n\n checkFlowCollectionEnd(doc.errors, cst);\n if (key !== undefined) items.push(new Pair(key));\n return {\n comments,\n items\n };\n}\n\nvar Alias_1 = Alias$1;\nvar Collection_1 = Collection$1;\nvar Merge_1 = Merge;\nvar Node_1$1 = Node$1;\nvar Pair_1 = Pair;\nvar Scalar_1 = Scalar;\nvar YAMLMap_1 = YAMLMap;\nvar YAMLSeq_1 = YAMLSeq;\nvar addComment_1 = addComment;\nvar binaryOptions_1 = binaryOptions;\nvar boolOptions_1 = boolOptions;\nvar findPair_1 = findPair;\nvar intOptions_1 = intOptions;\nvar isEmptyPath_1 = isEmptyPath;\nvar nullOptions_1 = nullOptions;\nvar resolveMap_1 = resolveMap;\nvar resolveNode_1 = resolveNode;\nvar resolveSeq_1 = resolveSeq;\nvar resolveString_1 = resolveString;\nvar strOptions_1 = strOptions;\nvar stringifyNumber_1 = stringifyNumber;\nvar stringifyString_1 = stringifyString;\nvar toJSON_1 = toJSON;\nvar resolveSeq4a68b39b = {\n Alias: Alias_1,\n Collection: Collection_1,\n Merge: Merge_1,\n Node: Node_1$1,\n Pair: Pair_1,\n Scalar: Scalar_1,\n YAMLMap: YAMLMap_1,\n YAMLSeq: YAMLSeq_1,\n addComment: addComment_1,\n binaryOptions: binaryOptions_1,\n boolOptions: boolOptions_1,\n findPair: findPair_1,\n intOptions: intOptions_1,\n isEmptyPath: isEmptyPath_1,\n nullOptions: nullOptions_1,\n resolveMap: resolveMap_1,\n resolveNode: resolveNode_1,\n resolveSeq: resolveSeq_1,\n resolveString: resolveString_1,\n strOptions: strOptions_1,\n stringifyNumber: stringifyNumber_1,\n stringifyString: stringifyString_1,\n toJSON: toJSON_1\n};\n\n/* global atob, btoa, Buffer */\n\n\nconst binary = {\n identify: value => value instanceof Uint8Array,\n // Buffer inherits from Uint8Array\n default: false,\n tag: 'tag:yaml.org,2002:binary',\n\n /**\n * Returns a Buffer in node and an Uint8Array in browsers\n *\n * To use the resulting buffer as an image, you'll want to do something like:\n *\n * const blob = new Blob([buffer], { type: 'image/jpeg' })\n * document.querySelector('#photo').src = URL.createObjectURL(blob)\n */\n resolve: (doc, node) => {\n const src = resolveSeq4a68b39b.resolveString(doc, node);\n\n if (typeof Buffer === 'function') {\n return Buffer.from(src, 'base64');\n } else if (typeof atob === 'function') {\n // On IE 11, atob() can't handle newlines\n const str = atob(src.replace(/[\\n\\r]/g, ''));\n const buffer = new Uint8Array(str.length);\n\n for (let i = 0; i < str.length; ++i) buffer[i] = str.charCodeAt(i);\n\n return buffer;\n } else {\n const msg = 'This environment does not support reading binary tags; either Buffer or atob is required';\n doc.errors.push(new PlainValueEc8e588e.YAMLReferenceError(node, msg));\n return null;\n }\n },\n options: resolveSeq4a68b39b.binaryOptions,\n stringify: ({\n comment,\n type,\n value\n }, ctx, onComment, onChompKeep) => {\n let src;\n\n if (typeof Buffer === 'function') {\n src = value instanceof Buffer ? value.toString('base64') : Buffer.from(value.buffer).toString('base64');\n } else if (typeof btoa === 'function') {\n let s = '';\n\n for (let i = 0; i < value.length; ++i) s += String.fromCharCode(value[i]);\n\n src = btoa(s);\n } else {\n throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');\n }\n\n if (!type) type = resolveSeq4a68b39b.binaryOptions.defaultType;\n\n if (type === PlainValueEc8e588e.Type.QUOTE_DOUBLE) {\n value = src;\n } else {\n const {\n lineWidth\n } = resolveSeq4a68b39b.binaryOptions;\n const n = Math.ceil(src.length / lineWidth);\n const lines = new Array(n);\n\n for (let i = 0, o = 0; i < n; ++i, o += lineWidth) {\n lines[i] = src.substr(o, lineWidth);\n }\n\n value = lines.join(type === PlainValueEc8e588e.Type.BLOCK_LITERAL ? '\\n' : ' ');\n }\n\n return resolveSeq4a68b39b.stringifyString({\n comment,\n type,\n value\n }, ctx, onComment, onChompKeep);\n }\n};\n\nfunction parsePairs(doc, cst) {\n const seq = resolveSeq4a68b39b.resolveSeq(doc, cst);\n\n for (let i = 0; i < seq.items.length; ++i) {\n let item = seq.items[i];\n if (item instanceof resolveSeq4a68b39b.Pair) continue;else if (item instanceof resolveSeq4a68b39b.YAMLMap) {\n if (item.items.length > 1) {\n const msg = 'Each pair must have its own sequence indicator';\n throw new PlainValueEc8e588e.YAMLSemanticError(cst, msg);\n }\n\n const pair = item.items[0] || new resolveSeq4a68b39b.Pair();\n if (item.commentBefore) pair.commentBefore = pair.commentBefore ? `${item.commentBefore}\\n${pair.commentBefore}` : item.commentBefore;\n if (item.comment) pair.comment = pair.comment ? `${item.comment}\\n${pair.comment}` : item.comment;\n item = pair;\n }\n seq.items[i] = item instanceof resolveSeq4a68b39b.Pair ? item : new resolveSeq4a68b39b.Pair(item);\n }\n\n return seq;\n}\n\nfunction createPairs(schema, iterable, ctx) {\n const pairs = new resolveSeq4a68b39b.YAMLSeq(schema);\n pairs.tag = 'tag:yaml.org,2002:pairs';\n\n for (const it of iterable) {\n let key, value;\n\n if (Array.isArray(it)) {\n if (it.length === 2) {\n key = it[0];\n value = it[1];\n } else throw new TypeError(`Expected [key, value] tuple: ${it}`);\n } else if (it && it instanceof Object) {\n const keys = Object.keys(it);\n\n if (keys.length === 1) {\n key = keys[0];\n value = it[key];\n } else throw new TypeError(`Expected { key: value } tuple: ${it}`);\n } else {\n key = it;\n }\n\n const pair = schema.createPair(key, value, ctx);\n pairs.items.push(pair);\n }\n\n return pairs;\n}\n\nconst pairs = {\n default: false,\n tag: 'tag:yaml.org,2002:pairs',\n resolve: parsePairs,\n createNode: createPairs\n};\n\nclass YAMLOMap extends resolveSeq4a68b39b.YAMLSeq {\n constructor() {\n super();\n\n PlainValueEc8e588e._defineProperty(this, \"add\", resolveSeq4a68b39b.YAMLMap.prototype.add.bind(this));\n\n PlainValueEc8e588e._defineProperty(this, \"delete\", resolveSeq4a68b39b.YAMLMap.prototype.delete.bind(this));\n\n PlainValueEc8e588e._defineProperty(this, \"get\", resolveSeq4a68b39b.YAMLMap.prototype.get.bind(this));\n\n PlainValueEc8e588e._defineProperty(this, \"has\", resolveSeq4a68b39b.YAMLMap.prototype.has.bind(this));\n\n PlainValueEc8e588e._defineProperty(this, \"set\", resolveSeq4a68b39b.YAMLMap.prototype.set.bind(this));\n\n this.tag = YAMLOMap.tag;\n }\n\n toJSON(_, ctx) {\n const map = new Map();\n if (ctx && ctx.onCreate) ctx.onCreate(map);\n\n for (const pair of this.items) {\n let key, value;\n\n if (pair instanceof resolveSeq4a68b39b.Pair) {\n key = resolveSeq4a68b39b.toJSON(pair.key, '', ctx);\n value = resolveSeq4a68b39b.toJSON(pair.value, key, ctx);\n } else {\n key = resolveSeq4a68b39b.toJSON(pair, '', ctx);\n }\n\n if (map.has(key)) throw new Error('Ordered maps must not include duplicate keys');\n map.set(key, value);\n }\n\n return map;\n }\n\n}\n\nPlainValueEc8e588e._defineProperty(YAMLOMap, \"tag\", 'tag:yaml.org,2002:omap');\n\nfunction parseOMap(doc, cst) {\n const pairs = parsePairs(doc, cst);\n const seenKeys = [];\n\n for (const {\n key\n } of pairs.items) {\n if (key instanceof resolveSeq4a68b39b.Scalar) {\n if (seenKeys.includes(key.value)) {\n const msg = 'Ordered maps must not include duplicate keys';\n throw new PlainValueEc8e588e.YAMLSemanticError(cst, msg);\n } else {\n seenKeys.push(key.value);\n }\n }\n }\n\n return Object.assign(new YAMLOMap(), pairs);\n}\n\nfunction createOMap(schema, iterable, ctx) {\n const pairs = createPairs(schema, iterable, ctx);\n const omap = new YAMLOMap();\n omap.items = pairs.items;\n return omap;\n}\n\nconst omap = {\n identify: value => value instanceof Map,\n nodeClass: YAMLOMap,\n default: false,\n tag: 'tag:yaml.org,2002:omap',\n resolve: parseOMap,\n createNode: createOMap\n};\n\nclass YAMLSet extends resolveSeq4a68b39b.YAMLMap {\n constructor() {\n super();\n this.tag = YAMLSet.tag;\n }\n\n add(key) {\n const pair = key instanceof resolveSeq4a68b39b.Pair ? key : new resolveSeq4a68b39b.Pair(key);\n const prev = resolveSeq4a68b39b.findPair(this.items, pair.key);\n if (!prev) this.items.push(pair);\n }\n\n get(key, keepPair) {\n const pair = resolveSeq4a68b39b.findPair(this.items, key);\n return !keepPair && pair instanceof resolveSeq4a68b39b.Pair ? pair.key instanceof resolveSeq4a68b39b.Scalar ? pair.key.value : pair.key : pair;\n }\n\n set(key, value) {\n if (typeof value !== 'boolean') throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);\n const prev = resolveSeq4a68b39b.findPair(this.items, key);\n\n if (prev && !value) {\n this.items.splice(this.items.indexOf(prev), 1);\n } else if (!prev && value) {\n this.items.push(new resolveSeq4a68b39b.Pair(key));\n }\n }\n\n toJSON(_, ctx) {\n return super.toJSON(_, ctx, Set);\n }\n\n toString(ctx, onComment, onChompKeep) {\n if (!ctx) return JSON.stringify(this);\n if (this.hasAllNullValues()) return super.toString(ctx, onComment, onChompKeep);else throw new Error('Set items must all have null values');\n }\n\n}\n\nPlainValueEc8e588e._defineProperty(YAMLSet, \"tag\", 'tag:yaml.org,2002:set');\n\nfunction parseSet(doc, cst) {\n const map = resolveSeq4a68b39b.resolveMap(doc, cst);\n if (!map.hasAllNullValues()) throw new PlainValueEc8e588e.YAMLSemanticError(cst, 'Set items must all have null values');\n return Object.assign(new YAMLSet(), map);\n}\n\nfunction createSet(schema, iterable, ctx) {\n const set = new YAMLSet();\n\n for (const value of iterable) set.items.push(schema.createPair(value, null, ctx));\n\n return set;\n}\n\nconst set = {\n identify: value => value instanceof Set,\n nodeClass: YAMLSet,\n default: false,\n tag: 'tag:yaml.org,2002:set',\n resolve: parseSet,\n createNode: createSet\n};\n\nconst parseSexagesimal = (sign, parts) => {\n const n = parts.split(':').reduce((n, p) => n * 60 + Number(p), 0);\n return sign === '-' ? -n : n;\n}; // hhhh:mm:ss.sss\n\n\nconst stringifySexagesimal = ({\n value\n}) => {\n if (isNaN(value) || !isFinite(value)) return resolveSeq4a68b39b.stringifyNumber(value);\n let sign = '';\n\n if (value < 0) {\n sign = '-';\n value = Math.abs(value);\n }\n\n const parts = [value % 60]; // seconds, including ms\n\n if (value < 60) {\n parts.unshift(0); // at least one : is required\n } else {\n value = Math.round((value - parts[0]) / 60);\n parts.unshift(value % 60); // minutes\n\n if (value >= 60) {\n value = Math.round((value - parts[0]) / 60);\n parts.unshift(value); // hours\n }\n }\n\n return sign + parts.map(n => n < 10 ? '0' + String(n) : String(n)).join(':').replace(/000000\\d*$/, '') // % 60 may introduce error\n ;\n};\n\nconst intTime = {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'TIME',\n test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,\n resolve: (str, sign, parts) => parseSexagesimal(sign, parts.replace(/_/g, '')),\n stringify: stringifySexagesimal\n};\nconst floatTime = {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n format: 'TIME',\n test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*)$/,\n resolve: (str, sign, parts) => parseSexagesimal(sign, parts.replace(/_/g, '')),\n stringify: stringifySexagesimal\n};\nconst timestamp = {\n identify: value => value instanceof Date,\n default: true,\n tag: 'tag:yaml.org,2002:timestamp',\n // If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part\n // may be omitted altogether, resulting in a date format. In such a case, the time part is\n // assumed to be 00:00:00Z (start of day, UTC).\n test: RegExp('^(?:' + '([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})' + // YYYY-Mm-Dd\n '(?:(?:t|T|[ \\\\t]+)' + // t | T | whitespace\n '([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\\\.[0-9]+)?)' + // Hh:Mm:Ss(.ss)?\n '(?:[ \\\\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?' + // Z | +5 | -03:30\n ')?' + ')$'),\n resolve: (str, year, month, day, hour, minute, second, millisec, tz) => {\n if (millisec) millisec = (millisec + '00').substr(1, 3);\n let date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec || 0);\n\n if (tz && tz !== 'Z') {\n let d = parseSexagesimal(tz[0], tz.slice(1));\n if (Math.abs(d) < 30) d *= 60;\n date -= 60000 * d;\n }\n\n return new Date(date);\n },\n stringify: ({\n value\n }) => value.toISOString().replace(/((T00:00)?:00)?\\.000Z$/, '')\n};\n/* global console, process, YAML_SILENCE_DEPRECATION_WARNINGS, YAML_SILENCE_WARNINGS */\n\nfunction shouldWarn(deprecation) {\n const env = typeof process !== 'undefined' && process.env || {};\n\n if (deprecation) {\n if (typeof YAML_SILENCE_DEPRECATION_WARNINGS !== 'undefined') return !YAML_SILENCE_DEPRECATION_WARNINGS;\n return !env.YAML_SILENCE_DEPRECATION_WARNINGS;\n }\n\n if (typeof YAML_SILENCE_WARNINGS !== 'undefined') return !YAML_SILENCE_WARNINGS;\n return !env.YAML_SILENCE_WARNINGS;\n}\n\nfunction warn(warning, type) {\n if (shouldWarn(false)) {\n const emit = typeof process !== 'undefined' && process.emitWarning; // This will throw in Jest if `warning` is an Error instance due to\n // https://github.com/facebook/jest/issues/2549\n\n if (emit) emit(warning, type);else {\n // eslint-disable-next-line no-console\n console.warn(type ? `${type}: ${warning}` : warning);\n }\n }\n}\n\nfunction warnFileDeprecation(filename) {\n if (shouldWarn(true)) {\n const path = filename.replace(/.*yaml[/\\\\]/i, '').replace(/\\.js$/, '').replace(/\\\\/g, '/');\n warn(`The endpoint 'yaml/${path}' will be removed in a future release.`, 'DeprecationWarning');\n }\n}\n\nconst warned = {};\n\nfunction warnOptionDeprecation(name, alternative) {\n if (!warned[name] && shouldWarn(true)) {\n warned[name] = true;\n let msg = `The option '${name}' will be removed in a future release`;\n msg += alternative ? `, use '${alternative}' instead.` : '.';\n warn(msg, 'DeprecationWarning');\n }\n}\n\nvar binary_1 = binary;\nvar floatTime_1 = floatTime;\nvar intTime_1 = intTime;\nvar omap_1 = omap;\nvar pairs_1 = pairs;\nvar set_1 = set;\nvar timestamp_1 = timestamp;\nvar warn_1 = warn;\nvar warnFileDeprecation_1 = warnFileDeprecation;\nvar warnOptionDeprecation_1 = warnOptionDeprecation;\nvar warnings39684f17 = {\n binary: binary_1,\n floatTime: floatTime_1,\n intTime: intTime_1,\n omap: omap_1,\n pairs: pairs_1,\n set: set_1,\n timestamp: timestamp_1,\n warn: warn_1,\n warnFileDeprecation: warnFileDeprecation_1,\n warnOptionDeprecation: warnOptionDeprecation_1\n};\n\nfunction createMap(schema, obj, ctx) {\n const map = new resolveSeq4a68b39b.YAMLMap(schema);\n\n if (obj instanceof Map) {\n for (const [key, value] of obj) map.items.push(schema.createPair(key, value, ctx));\n } else if (obj && typeof obj === 'object') {\n for (const key of Object.keys(obj)) map.items.push(schema.createPair(key, obj[key], ctx));\n }\n\n if (typeof schema.sortMapEntries === 'function') {\n map.items.sort(schema.sortMapEntries);\n }\n\n return map;\n}\n\nconst map = {\n createNode: createMap,\n default: true,\n nodeClass: resolveSeq4a68b39b.YAMLMap,\n tag: 'tag:yaml.org,2002:map',\n resolve: resolveSeq4a68b39b.resolveMap\n};\n\nfunction createSeq(schema, obj, ctx) {\n const seq = new resolveSeq4a68b39b.YAMLSeq(schema);\n\n if (obj && obj[Symbol.iterator]) {\n for (const it of obj) {\n const v = schema.createNode(it, ctx.wrapScalars, null, ctx);\n seq.items.push(v);\n }\n }\n\n return seq;\n}\n\nconst seq = {\n createNode: createSeq,\n default: true,\n nodeClass: resolveSeq4a68b39b.YAMLSeq,\n tag: 'tag:yaml.org,2002:seq',\n resolve: resolveSeq4a68b39b.resolveSeq\n};\nconst string = {\n identify: value => typeof value === 'string',\n default: true,\n tag: 'tag:yaml.org,2002:str',\n resolve: resolveSeq4a68b39b.resolveString,\n\n stringify(item, ctx, onComment, onChompKeep) {\n ctx = Object.assign({\n actualString: true\n }, ctx);\n return resolveSeq4a68b39b.stringifyString(item, ctx, onComment, onChompKeep);\n },\n\n options: resolveSeq4a68b39b.strOptions\n};\nconst failsafe = [map, seq, string];\n/* global BigInt */\n\nconst intIdentify = value => typeof value === 'bigint' || Number.isInteger(value);\n\nconst intResolve = (src, part, radix) => resolveSeq4a68b39b.intOptions.asBigInt ? BigInt(src) : parseInt(part, radix);\n\nfunction intStringify(node, radix, prefix) {\n const {\n value\n } = node;\n if (intIdentify(value) && value >= 0) return prefix + value.toString(radix);\n return resolveSeq4a68b39b.stringifyNumber(node);\n}\n\nconst nullObj = {\n identify: value => value == null,\n createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq4a68b39b.Scalar(null) : null,\n default: true,\n tag: 'tag:yaml.org,2002:null',\n test: /^(?:~|[Nn]ull|NULL)?$/,\n resolve: () => null,\n options: resolveSeq4a68b39b.nullOptions,\n stringify: () => resolveSeq4a68b39b.nullOptions.nullStr\n};\nconst boolObj = {\n identify: value => typeof value === 'boolean',\n default: true,\n tag: 'tag:yaml.org,2002:bool',\n test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,\n resolve: str => str[0] === 't' || str[0] === 'T',\n options: resolveSeq4a68b39b.boolOptions,\n stringify: ({\n value\n }) => value ? resolveSeq4a68b39b.boolOptions.trueStr : resolveSeq4a68b39b.boolOptions.falseStr\n};\nconst octObj = {\n identify: value => intIdentify(value) && value >= 0,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'OCT',\n test: /^0o([0-7]+)$/,\n resolve: (str, oct) => intResolve(str, oct, 8),\n options: resolveSeq4a68b39b.intOptions,\n stringify: node => intStringify(node, 8, '0o')\n};\nconst intObj = {\n identify: intIdentify,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n test: /^[-+]?[0-9]+$/,\n resolve: str => intResolve(str, str, 10),\n options: resolveSeq4a68b39b.intOptions,\n stringify: resolveSeq4a68b39b.stringifyNumber\n};\nconst hexObj = {\n identify: value => intIdentify(value) && value >= 0,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'HEX',\n test: /^0x([0-9a-fA-F]+)$/,\n resolve: (str, hex) => intResolve(str, hex, 16),\n options: resolveSeq4a68b39b.intOptions,\n stringify: node => intStringify(node, 16, '0x')\n};\nconst nanObj = {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^(?:[-+]?\\.inf|(\\.nan))$/i,\n resolve: (str, nan) => nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,\n stringify: resolveSeq4a68b39b.stringifyNumber\n};\nconst expObj = {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n format: 'EXP',\n test: /^[-+]?(?:\\.[0-9]+|[0-9]+(?:\\.[0-9]*)?)[eE][-+]?[0-9]+$/,\n resolve: str => parseFloat(str),\n stringify: ({\n value\n }) => Number(value).toExponential()\n};\nconst floatObj = {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^[-+]?(?:\\.([0-9]+)|[0-9]+\\.([0-9]*))$/,\n\n resolve(str, frac1, frac2) {\n const frac = frac1 || frac2;\n const node = new resolveSeq4a68b39b.Scalar(parseFloat(str));\n if (frac && frac[frac.length - 1] === '0') node.minFractionDigits = frac.length;\n return node;\n },\n\n stringify: resolveSeq4a68b39b.stringifyNumber\n};\nconst core = failsafe.concat([nullObj, boolObj, octObj, intObj, hexObj, nanObj, expObj, floatObj]);\n/* global BigInt */\n\nconst intIdentify$1 = value => typeof value === 'bigint' || Number.isInteger(value);\n\nconst stringifyJSON = ({\n value\n}) => JSON.stringify(value);\n\nconst json = [map, seq, {\n identify: value => typeof value === 'string',\n default: true,\n tag: 'tag:yaml.org,2002:str',\n resolve: resolveSeq4a68b39b.resolveString,\n stringify: stringifyJSON\n}, {\n identify: value => value == null,\n createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq4a68b39b.Scalar(null) : null,\n default: true,\n tag: 'tag:yaml.org,2002:null',\n test: /^null$/,\n resolve: () => null,\n stringify: stringifyJSON\n}, {\n identify: value => typeof value === 'boolean',\n default: true,\n tag: 'tag:yaml.org,2002:bool',\n test: /^true|false$/,\n resolve: str => str === 'true',\n stringify: stringifyJSON\n}, {\n identify: intIdentify$1,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n test: /^-?(?:0|[1-9][0-9]*)$/,\n resolve: str => resolveSeq4a68b39b.intOptions.asBigInt ? BigInt(str) : parseInt(str, 10),\n stringify: ({\n value\n }) => intIdentify$1(value) ? value.toString() : JSON.stringify(value)\n}, {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,\n resolve: str => parseFloat(str),\n stringify: stringifyJSON\n}];\n\njson.scalarFallback = str => {\n throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(str)}`);\n};\n/* global BigInt */\n\n\nconst boolStringify = ({\n value\n}) => value ? resolveSeq4a68b39b.boolOptions.trueStr : resolveSeq4a68b39b.boolOptions.falseStr;\n\nconst intIdentify$2 = value => typeof value === 'bigint' || Number.isInteger(value);\n\nfunction intResolve$1(sign, src, radix) {\n let str = src.replace(/_/g, '');\n\n if (resolveSeq4a68b39b.intOptions.asBigInt) {\n switch (radix) {\n case 2:\n str = `0b${str}`;\n break;\n\n case 8:\n str = `0o${str}`;\n break;\n\n case 16:\n str = `0x${str}`;\n break;\n }\n\n const n = BigInt(str);\n return sign === '-' ? BigInt(-1) * n : n;\n }\n\n const n = parseInt(str, radix);\n return sign === '-' ? -1 * n : n;\n}\n\nfunction intStringify$1(node, radix, prefix) {\n const {\n value\n } = node;\n\n if (intIdentify$2(value)) {\n const str = value.toString(radix);\n return value < 0 ? '-' + prefix + str.substr(1) : prefix + str;\n }\n\n return resolveSeq4a68b39b.stringifyNumber(node);\n}\n\nconst yaml11 = failsafe.concat([{\n identify: value => value == null,\n createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq4a68b39b.Scalar(null) : null,\n default: true,\n tag: 'tag:yaml.org,2002:null',\n test: /^(?:~|[Nn]ull|NULL)?$/,\n resolve: () => null,\n options: resolveSeq4a68b39b.nullOptions,\n stringify: () => resolveSeq4a68b39b.nullOptions.nullStr\n}, {\n identify: value => typeof value === 'boolean',\n default: true,\n tag: 'tag:yaml.org,2002:bool',\n test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,\n resolve: () => true,\n options: resolveSeq4a68b39b.boolOptions,\n stringify: boolStringify\n}, {\n identify: value => typeof value === 'boolean',\n default: true,\n tag: 'tag:yaml.org,2002:bool',\n test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,\n resolve: () => false,\n options: resolveSeq4a68b39b.boolOptions,\n stringify: boolStringify\n}, {\n identify: intIdentify$2,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'BIN',\n test: /^([-+]?)0b([0-1_]+)$/,\n resolve: (str, sign, bin) => intResolve$1(sign, bin, 2),\n stringify: node => intStringify$1(node, 2, '0b')\n}, {\n identify: intIdentify$2,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'OCT',\n test: /^([-+]?)0([0-7_]+)$/,\n resolve: (str, sign, oct) => intResolve$1(sign, oct, 8),\n stringify: node => intStringify$1(node, 8, '0')\n}, {\n identify: intIdentify$2,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n test: /^([-+]?)([0-9][0-9_]*)$/,\n resolve: (str, sign, abs) => intResolve$1(sign, abs, 10),\n stringify: resolveSeq4a68b39b.stringifyNumber\n}, {\n identify: intIdentify$2,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'HEX',\n test: /^([-+]?)0x([0-9a-fA-F_]+)$/,\n resolve: (str, sign, hex) => intResolve$1(sign, hex, 16),\n stringify: node => intStringify$1(node, 16, '0x')\n}, {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^(?:[-+]?\\.inf|(\\.nan))$/i,\n resolve: (str, nan) => nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,\n stringify: resolveSeq4a68b39b.stringifyNumber\n}, {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n format: 'EXP',\n test: /^[-+]?([0-9][0-9_]*)?(\\.[0-9_]*)?[eE][-+]?[0-9]+$/,\n resolve: str => parseFloat(str.replace(/_/g, '')),\n stringify: ({\n value\n }) => Number(value).toExponential()\n}, {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^[-+]?(?:[0-9][0-9_]*)?\\.([0-9_]*)$/,\n\n resolve(str, frac) {\n const node = new resolveSeq4a68b39b.Scalar(parseFloat(str.replace(/_/g, '')));\n\n if (frac) {\n const f = frac.replace(/_/g, '');\n if (f[f.length - 1] === '0') node.minFractionDigits = f.length;\n }\n\n return node;\n },\n\n stringify: resolveSeq4a68b39b.stringifyNumber\n}], warnings39684f17.binary, warnings39684f17.omap, warnings39684f17.pairs, warnings39684f17.set, warnings39684f17.intTime, warnings39684f17.floatTime, warnings39684f17.timestamp);\nconst schemas = {\n core,\n failsafe,\n json,\n yaml11\n};\nconst tags = {\n binary: warnings39684f17.binary,\n bool: boolObj,\n float: floatObj,\n floatExp: expObj,\n floatNaN: nanObj,\n floatTime: warnings39684f17.floatTime,\n int: intObj,\n intHex: hexObj,\n intOct: octObj,\n intTime: warnings39684f17.intTime,\n map,\n null: nullObj,\n omap: warnings39684f17.omap,\n pairs: warnings39684f17.pairs,\n seq,\n set: warnings39684f17.set,\n timestamp: warnings39684f17.timestamp\n};\n\nfunction findTagObject(value, tagName, tags) {\n if (tagName) {\n const match = tags.filter(t => t.tag === tagName);\n const tagObj = match.find(t => !t.format) || match[0];\n if (!tagObj) throw new Error(`Tag ${tagName} not found`);\n return tagObj;\n } // TODO: deprecate/remove class check\n\n\n return tags.find(t => (t.identify && t.identify(value) || t.class && value instanceof t.class) && !t.format);\n}\n\nfunction createNode(value, tagName, ctx) {\n if (value instanceof resolveSeq4a68b39b.Node) return value;\n const {\n defaultPrefix,\n onTagObj,\n prevObjects,\n schema,\n wrapScalars\n } = ctx;\n if (tagName && tagName.startsWith('!!')) tagName = defaultPrefix + tagName.slice(2);\n let tagObj = findTagObject(value, tagName, schema.tags);\n\n if (!tagObj) {\n if (typeof value.toJSON === 'function') value = value.toJSON();\n if (typeof value !== 'object') return wrapScalars ? new resolveSeq4a68b39b.Scalar(value) : value;\n tagObj = value instanceof Map ? map : value[Symbol.iterator] ? seq : map;\n }\n\n if (onTagObj) {\n onTagObj(tagObj);\n delete ctx.onTagObj;\n } // Detect duplicate references to the same object & use Alias nodes for all\n // after first. The `obj` wrapper allows for circular references to resolve.\n\n\n const obj = {};\n\n if (value && typeof value === 'object' && prevObjects) {\n const prev = prevObjects.get(value);\n\n if (prev) {\n const alias = new resolveSeq4a68b39b.Alias(prev); // leaves source dirty; must be cleaned by caller\n\n ctx.aliasNodes.push(alias); // defined along with prevObjects\n\n return alias;\n }\n\n obj.value = value;\n prevObjects.set(value, obj);\n }\n\n obj.node = tagObj.createNode ? tagObj.createNode(ctx.schema, value, ctx) : wrapScalars ? new resolveSeq4a68b39b.Scalar(value) : value;\n if (tagName && obj.node instanceof resolveSeq4a68b39b.Node) obj.node.tag = tagName;\n return obj.node;\n}\n\nfunction getSchemaTags(schemas, knownTags, customTags, schemaId) {\n let tags = schemas[schemaId.replace(/\\W/g, '')]; // 'yaml-1.1' -> 'yaml11'\n\n if (!tags) {\n const keys = Object.keys(schemas).map(key => JSON.stringify(key)).join(', ');\n throw new Error(`Unknown schema \"${schemaId}\"; use one of ${keys}`);\n }\n\n if (Array.isArray(customTags)) {\n for (const tag of customTags) tags = tags.concat(tag);\n } else if (typeof customTags === 'function') {\n tags = customTags(tags.slice());\n }\n\n for (let i = 0; i < tags.length; ++i) {\n const tag = tags[i];\n\n if (typeof tag === 'string') {\n const tagObj = knownTags[tag];\n\n if (!tagObj) {\n const keys = Object.keys(knownTags).map(key => JSON.stringify(key)).join(', ');\n throw new Error(`Unknown custom tag \"${tag}\"; use one of ${keys}`);\n }\n\n tags[i] = tagObj;\n }\n }\n\n return tags;\n}\n\nconst sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0;\n\nclass Schema {\n // TODO: remove in v2\n // TODO: remove in v2\n constructor({\n customTags,\n merge,\n schema,\n sortMapEntries,\n tags: deprecatedCustomTags\n }) {\n this.merge = !!merge;\n this.name = schema;\n this.sortMapEntries = sortMapEntries === true ? sortMapEntriesByKey : sortMapEntries || null;\n if (!customTags && deprecatedCustomTags) warnings39684f17.warnOptionDeprecation('tags', 'customTags');\n this.tags = getSchemaTags(schemas, tags, customTags || deprecatedCustomTags, schema);\n }\n\n createNode(value, wrapScalars, tagName, ctx) {\n const baseCtx = {\n defaultPrefix: Schema.defaultPrefix,\n schema: this,\n wrapScalars\n };\n const createCtx = ctx ? Object.assign(ctx, baseCtx) : baseCtx;\n return createNode(value, tagName, createCtx);\n }\n\n createPair(key, value, ctx) {\n if (!ctx) ctx = {\n wrapScalars: true\n };\n const k = this.createNode(key, ctx.wrapScalars, null, ctx);\n const v = this.createNode(value, ctx.wrapScalars, null, ctx);\n return new resolveSeq4a68b39b.Pair(k, v);\n }\n\n}\n\nPlainValueEc8e588e._defineProperty(Schema, \"defaultPrefix\", PlainValueEc8e588e.defaultTagPrefix);\n\nPlainValueEc8e588e._defineProperty(Schema, \"defaultTags\", PlainValueEc8e588e.defaultTags);\n\nvar Schema_1 = Schema;\nvar Schema42e9705c = {\n Schema: Schema_1\n};\n\nconst defaultOptions = {\n anchorPrefix: 'a',\n customTags: null,\n indent: 2,\n indentSeq: true,\n keepCstNodes: false,\n keepNodeTypes: true,\n keepBlobsInJSON: true,\n mapAsMap: false,\n maxAliasCount: 100,\n prettyErrors: false,\n // TODO Set true in v2\n simpleKeys: false,\n version: '1.2'\n};\nconst scalarOptions = {\n get binary() {\n return resolveSeq4a68b39b.binaryOptions;\n },\n\n set binary(opt) {\n Object.assign(resolveSeq4a68b39b.binaryOptions, opt);\n },\n\n get bool() {\n return resolveSeq4a68b39b.boolOptions;\n },\n\n set bool(opt) {\n Object.assign(resolveSeq4a68b39b.boolOptions, opt);\n },\n\n get int() {\n return resolveSeq4a68b39b.intOptions;\n },\n\n set int(opt) {\n Object.assign(resolveSeq4a68b39b.intOptions, opt);\n },\n\n get null() {\n return resolveSeq4a68b39b.nullOptions;\n },\n\n set null(opt) {\n Object.assign(resolveSeq4a68b39b.nullOptions, opt);\n },\n\n get str() {\n return resolveSeq4a68b39b.strOptions;\n },\n\n set str(opt) {\n Object.assign(resolveSeq4a68b39b.strOptions, opt);\n }\n\n};\nconst documentOptions = {\n '1.0': {\n schema: 'yaml-1.1',\n merge: true,\n tagPrefixes: [{\n handle: '!',\n prefix: PlainValueEc8e588e.defaultTagPrefix\n }, {\n handle: '!!',\n prefix: 'tag:private.yaml.org,2002:'\n }]\n },\n '1.1': {\n schema: 'yaml-1.1',\n merge: true,\n tagPrefixes: [{\n handle: '!',\n prefix: '!'\n }, {\n handle: '!!',\n prefix: PlainValueEc8e588e.defaultTagPrefix\n }]\n },\n '1.2': {\n schema: 'core',\n merge: false,\n tagPrefixes: [{\n handle: '!',\n prefix: '!'\n }, {\n handle: '!!',\n prefix: PlainValueEc8e588e.defaultTagPrefix\n }]\n }\n};\n\nfunction stringifyTag(doc, tag) {\n if ((doc.version || doc.options.version) === '1.0') {\n const priv = tag.match(/^tag:private\\.yaml\\.org,2002:([^:/]+)$/);\n if (priv) return '!' + priv[1];\n const vocab = tag.match(/^tag:([a-zA-Z0-9-]+)\\.yaml\\.org,2002:(.*)/);\n return vocab ? `!${vocab[1]}/${vocab[2]}` : `!${tag.replace(/^tag:/, '')}`;\n }\n\n let p = doc.tagPrefixes.find(p => tag.indexOf(p.prefix) === 0);\n\n if (!p) {\n const dtp = doc.getDefaults().tagPrefixes;\n p = dtp && dtp.find(p => tag.indexOf(p.prefix) === 0);\n }\n\n if (!p) return tag[0] === '!' ? tag : `!<${tag}>`;\n const suffix = tag.substr(p.prefix.length).replace(/[!,[\\]{}]/g, ch => ({\n '!': '%21',\n ',': '%2C',\n '[': '%5B',\n ']': '%5D',\n '{': '%7B',\n '}': '%7D'\n })[ch]);\n return p.handle + suffix;\n}\n\nfunction getTagObject(tags, item) {\n if (item instanceof resolveSeq4a68b39b.Alias) return resolveSeq4a68b39b.Alias;\n\n if (item.tag) {\n const match = tags.filter(t => t.tag === item.tag);\n if (match.length > 0) return match.find(t => t.format === item.format) || match[0];\n }\n\n let tagObj, obj;\n\n if (item instanceof resolveSeq4a68b39b.Scalar) {\n obj = item.value; // TODO: deprecate/remove class check\n\n const match = tags.filter(t => t.identify && t.identify(obj) || t.class && obj instanceof t.class);\n tagObj = match.find(t => t.format === item.format) || match.find(t => !t.format);\n } else {\n obj = item;\n tagObj = tags.find(t => t.nodeClass && obj instanceof t.nodeClass);\n }\n\n if (!tagObj) {\n const name = obj && obj.constructor ? obj.constructor.name : typeof obj;\n throw new Error(`Tag not resolved for ${name} value`);\n }\n\n return tagObj;\n} // needs to be called before value stringifier to allow for circular anchor refs\n\n\nfunction stringifyProps(node, tagObj, {\n anchors,\n doc\n}) {\n const props = [];\n const anchor = doc.anchors.getName(node);\n\n if (anchor) {\n anchors[anchor] = node;\n props.push(`&${anchor}`);\n }\n\n if (node.tag) {\n props.push(stringifyTag(doc, node.tag));\n } else if (!tagObj.default) {\n props.push(stringifyTag(doc, tagObj.tag));\n }\n\n return props.join(' ');\n}\n\nfunction stringify(item, ctx, onComment, onChompKeep) {\n const {\n anchors,\n schema\n } = ctx.doc;\n let tagObj;\n\n if (!(item instanceof resolveSeq4a68b39b.Node)) {\n const createCtx = {\n aliasNodes: [],\n onTagObj: o => tagObj = o,\n prevObjects: new Map()\n };\n item = schema.createNode(item, true, null, createCtx);\n\n for (const alias of createCtx.aliasNodes) {\n alias.source = alias.source.node;\n let name = anchors.getName(alias.source);\n\n if (!name) {\n name = anchors.newName();\n anchors.map[name] = alias.source;\n }\n }\n }\n\n if (item instanceof resolveSeq4a68b39b.Pair) return item.toString(ctx, onComment, onChompKeep);\n if (!tagObj) tagObj = getTagObject(schema.tags, item);\n const props = stringifyProps(item, tagObj, ctx);\n if (props.length > 0) ctx.indentAtStart = (ctx.indentAtStart || 0) + props.length + 1;\n const str = typeof tagObj.stringify === 'function' ? tagObj.stringify(item, ctx, onComment, onChompKeep) : item instanceof resolveSeq4a68b39b.Scalar ? resolveSeq4a68b39b.stringifyString(item, ctx, onComment, onChompKeep) : item.toString(ctx, onComment, onChompKeep);\n if (!props) return str;\n return item instanceof resolveSeq4a68b39b.Scalar || str[0] === '{' || str[0] === '[' ? `${props} ${str}` : `${props}\\n${ctx.indent}${str}`;\n}\n\nclass Anchors {\n static validAnchorNode(node) {\n return node instanceof resolveSeq4a68b39b.Scalar || node instanceof resolveSeq4a68b39b.YAMLSeq || node instanceof resolveSeq4a68b39b.YAMLMap;\n }\n\n constructor(prefix) {\n PlainValueEc8e588e._defineProperty(this, \"map\", {});\n\n this.prefix = prefix;\n }\n\n createAlias(node, name) {\n this.setAnchor(node, name);\n return new resolveSeq4a68b39b.Alias(node);\n }\n\n createMergePair(...sources) {\n const merge = new resolveSeq4a68b39b.Merge();\n merge.value.items = sources.map(s => {\n if (s instanceof resolveSeq4a68b39b.Alias) {\n if (s.source instanceof resolveSeq4a68b39b.YAMLMap) return s;\n } else if (s instanceof resolveSeq4a68b39b.YAMLMap) {\n return this.createAlias(s);\n }\n\n throw new Error('Merge sources must be Map nodes or their Aliases');\n });\n return merge;\n }\n\n getName(node) {\n const {\n map\n } = this;\n return Object.keys(map).find(a => map[a] === node);\n }\n\n getNames() {\n return Object.keys(this.map);\n }\n\n getNode(name) {\n return this.map[name];\n }\n\n newName(prefix) {\n if (!prefix) prefix = this.prefix;\n const names = Object.keys(this.map);\n\n for (let i = 1; true; ++i) {\n const name = `${prefix}${i}`;\n if (!names.includes(name)) return name;\n }\n } // During parsing, map & aliases contain CST nodes\n\n\n resolveNodes() {\n const {\n map,\n _cstAliases\n } = this;\n Object.keys(map).forEach(a => {\n map[a] = map[a].resolved;\n });\n\n _cstAliases.forEach(a => {\n a.source = a.source.resolved;\n });\n\n delete this._cstAliases;\n }\n\n setAnchor(node, name) {\n if (node != null && !Anchors.validAnchorNode(node)) {\n throw new Error('Anchors may only be set for Scalar, Seq and Map nodes');\n }\n\n if (name && /[\\x00-\\x19\\s,[\\]{}]/.test(name)) {\n throw new Error('Anchor names must not contain whitespace or control characters');\n }\n\n const {\n map\n } = this;\n const prev = node && Object.keys(map).find(a => map[a] === node);\n\n if (prev) {\n if (!name) {\n return prev;\n } else if (prev !== name) {\n delete map[prev];\n map[name] = node;\n }\n } else {\n if (!name) {\n if (!node) return null;\n name = this.newName();\n }\n\n map[name] = node;\n }\n\n return name;\n }\n\n}\n\nconst visit = (node, tags) => {\n if (node && typeof node === 'object') {\n const {\n tag\n } = node;\n\n if (node instanceof resolveSeq4a68b39b.Collection) {\n if (tag) tags[tag] = true;\n node.items.forEach(n => visit(n, tags));\n } else if (node instanceof resolveSeq4a68b39b.Pair) {\n visit(node.key, tags);\n visit(node.value, tags);\n } else if (node instanceof resolveSeq4a68b39b.Scalar) {\n if (tag) tags[tag] = true;\n }\n }\n\n return tags;\n};\n\nconst listTagNames = node => Object.keys(visit(node, {}));\n\nfunction parseContents(doc, contents) {\n const comments = {\n before: [],\n after: []\n };\n let body = undefined;\n let spaceBefore = false;\n\n for (const node of contents) {\n if (node.valueRange) {\n if (body !== undefined) {\n const msg = 'Document contains trailing content not separated by a ... or --- line';\n doc.errors.push(new PlainValueEc8e588e.YAMLSyntaxError(node, msg));\n break;\n }\n\n const res = resolveSeq4a68b39b.resolveNode(doc, node);\n\n if (spaceBefore) {\n res.spaceBefore = true;\n spaceBefore = false;\n }\n\n body = res;\n } else if (node.comment !== null) {\n const cc = body === undefined ? comments.before : comments.after;\n cc.push(node.comment);\n } else if (node.type === PlainValueEc8e588e.Type.BLANK_LINE) {\n spaceBefore = true;\n\n if (body === undefined && comments.before.length > 0 && !doc.commentBefore) {\n // space-separated comments at start are parsed as document comments\n doc.commentBefore = comments.before.join('\\n');\n comments.before = [];\n }\n }\n }\n\n doc.contents = body || null;\n\n if (!body) {\n doc.comment = comments.before.concat(comments.after).join('\\n') || null;\n } else {\n const cb = comments.before.join('\\n');\n\n if (cb) {\n const cbNode = body instanceof resolveSeq4a68b39b.Collection && body.items[0] ? body.items[0] : body;\n cbNode.commentBefore = cbNode.commentBefore ? `${cb}\\n${cbNode.commentBefore}` : cb;\n }\n\n doc.comment = comments.after.join('\\n') || null;\n }\n}\n\nfunction resolveTagDirective({\n tagPrefixes\n}, directive) {\n const [handle, prefix] = directive.parameters;\n\n if (!handle || !prefix) {\n const msg = 'Insufficient parameters given for %TAG directive';\n throw new PlainValueEc8e588e.YAMLSemanticError(directive, msg);\n }\n\n if (tagPrefixes.some(p => p.handle === handle)) {\n const msg = 'The %TAG directive must only be given at most once per handle in the same document.';\n throw new PlainValueEc8e588e.YAMLSemanticError(directive, msg);\n }\n\n return {\n handle,\n prefix\n };\n}\n\nfunction resolveYamlDirective(doc, directive) {\n let [version] = directive.parameters;\n if (directive.name === 'YAML:1.0') version = '1.0';\n\n if (!version) {\n const msg = 'Insufficient parameters given for %YAML directive';\n throw new PlainValueEc8e588e.YAMLSemanticError(directive, msg);\n }\n\n if (!documentOptions[version]) {\n const v0 = doc.version || doc.options.version;\n const msg = `Document will be parsed as YAML ${v0} rather than YAML ${version}`;\n doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(directive, msg));\n }\n\n return version;\n}\n\nfunction parseDirectives(doc, directives, prevDoc) {\n const directiveComments = [];\n let hasDirectives = false;\n\n for (const directive of directives) {\n const {\n comment,\n name\n } = directive;\n\n switch (name) {\n case 'TAG':\n try {\n doc.tagPrefixes.push(resolveTagDirective(doc, directive));\n } catch (error) {\n doc.errors.push(error);\n }\n\n hasDirectives = true;\n break;\n\n case 'YAML':\n case 'YAML:1.0':\n if (doc.version) {\n const msg = 'The %YAML directive must only be given at most once per document.';\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(directive, msg));\n }\n\n try {\n doc.version = resolveYamlDirective(doc, directive);\n } catch (error) {\n doc.errors.push(error);\n }\n\n hasDirectives = true;\n break;\n\n default:\n if (name) {\n const msg = `YAML only supports %TAG and %YAML directives, and not %${name}`;\n doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(directive, msg));\n }\n\n }\n\n if (comment) directiveComments.push(comment);\n }\n\n if (prevDoc && !hasDirectives && '1.1' === (doc.version || prevDoc.version || doc.options.version)) {\n const copyTagPrefix = ({\n handle,\n prefix\n }) => ({\n handle,\n prefix\n });\n\n doc.tagPrefixes = prevDoc.tagPrefixes.map(copyTagPrefix);\n doc.version = prevDoc.version;\n }\n\n doc.commentBefore = directiveComments.join('\\n') || null;\n}\n\nfunction assertCollection(contents) {\n if (contents instanceof resolveSeq4a68b39b.Collection) return true;\n throw new Error('Expected a YAML collection as document contents');\n}\n\nclass Document$1 {\n constructor(options) {\n this.anchors = new Anchors(options.anchorPrefix);\n this.commentBefore = null;\n this.comment = null;\n this.contents = null;\n this.directivesEndMarker = null;\n this.errors = [];\n this.options = options;\n this.schema = null;\n this.tagPrefixes = [];\n this.version = null;\n this.warnings = [];\n }\n\n add(value) {\n assertCollection(this.contents);\n return this.contents.add(value);\n }\n\n addIn(path, value) {\n assertCollection(this.contents);\n this.contents.addIn(path, value);\n }\n\n delete(key) {\n assertCollection(this.contents);\n return this.contents.delete(key);\n }\n\n deleteIn(path) {\n if (resolveSeq4a68b39b.isEmptyPath(path)) {\n if (this.contents == null) return false;\n this.contents = null;\n return true;\n }\n\n assertCollection(this.contents);\n return this.contents.deleteIn(path);\n }\n\n getDefaults() {\n return Document$1.defaults[this.version] || Document$1.defaults[this.options.version] || {};\n }\n\n get(key, keepScalar) {\n return this.contents instanceof resolveSeq4a68b39b.Collection ? this.contents.get(key, keepScalar) : undefined;\n }\n\n getIn(path, keepScalar) {\n if (resolveSeq4a68b39b.isEmptyPath(path)) return !keepScalar && this.contents instanceof resolveSeq4a68b39b.Scalar ? this.contents.value : this.contents;\n return this.contents instanceof resolveSeq4a68b39b.Collection ? this.contents.getIn(path, keepScalar) : undefined;\n }\n\n has(key) {\n return this.contents instanceof resolveSeq4a68b39b.Collection ? this.contents.has(key) : false;\n }\n\n hasIn(path) {\n if (resolveSeq4a68b39b.isEmptyPath(path)) return this.contents !== undefined;\n return this.contents instanceof resolveSeq4a68b39b.Collection ? this.contents.hasIn(path) : false;\n }\n\n set(key, value) {\n assertCollection(this.contents);\n this.contents.set(key, value);\n }\n\n setIn(path, value) {\n if (resolveSeq4a68b39b.isEmptyPath(path)) this.contents = value;else {\n assertCollection(this.contents);\n this.contents.setIn(path, value);\n }\n }\n\n setSchema(id, customTags) {\n if (!id && !customTags && this.schema) return;\n if (typeof id === 'number') id = id.toFixed(1);\n\n if (id === '1.0' || id === '1.1' || id === '1.2') {\n if (this.version) this.version = id;else this.options.version = id;\n delete this.options.schema;\n } else if (id && typeof id === 'string') {\n this.options.schema = id;\n }\n\n if (Array.isArray(customTags)) this.options.customTags = customTags;\n const opt = Object.assign({}, this.getDefaults(), this.options);\n this.schema = new Schema42e9705c.Schema(opt);\n }\n\n parse(node, prevDoc) {\n if (this.options.keepCstNodes) this.cstNode = node;\n if (this.options.keepNodeTypes) this.type = 'DOCUMENT';\n const {\n directives = [],\n contents = [],\n directivesEndMarker,\n error,\n valueRange\n } = node;\n\n if (error) {\n if (!error.source) error.source = this;\n this.errors.push(error);\n }\n\n parseDirectives(this, directives, prevDoc);\n if (directivesEndMarker) this.directivesEndMarker = true;\n this.range = valueRange ? [valueRange.start, valueRange.end] : null;\n this.setSchema();\n this.anchors._cstAliases = [];\n parseContents(this, contents);\n this.anchors.resolveNodes();\n\n if (this.options.prettyErrors) {\n for (const error of this.errors) if (error instanceof PlainValueEc8e588e.YAMLError) error.makePretty();\n\n for (const warn of this.warnings) if (warn instanceof PlainValueEc8e588e.YAMLError) warn.makePretty();\n }\n\n return this;\n }\n\n listNonDefaultTags() {\n return listTagNames(this.contents).filter(t => t.indexOf(Schema42e9705c.Schema.defaultPrefix) !== 0);\n }\n\n setTagPrefix(handle, prefix) {\n if (handle[0] !== '!' || handle[handle.length - 1] !== '!') throw new Error('Handle must start and end with !');\n\n if (prefix) {\n const prev = this.tagPrefixes.find(p => p.handle === handle);\n if (prev) prev.prefix = prefix;else this.tagPrefixes.push({\n handle,\n prefix\n });\n } else {\n this.tagPrefixes = this.tagPrefixes.filter(p => p.handle !== handle);\n }\n }\n\n toJSON(arg, onAnchor) {\n const {\n keepBlobsInJSON,\n mapAsMap,\n maxAliasCount\n } = this.options;\n const keep = keepBlobsInJSON && (typeof arg !== 'string' || !(this.contents instanceof resolveSeq4a68b39b.Scalar));\n const ctx = {\n doc: this,\n indentStep: ' ',\n keep,\n mapAsMap: keep && !!mapAsMap,\n maxAliasCount,\n stringify // Requiring directly in Pair would create circular dependencies\n\n };\n const anchorNames = Object.keys(this.anchors.map);\n if (anchorNames.length > 0) ctx.anchors = new Map(anchorNames.map(name => [this.anchors.map[name], {\n alias: [],\n aliasCount: 0,\n count: 1\n }]));\n const res = resolveSeq4a68b39b.toJSON(this.contents, arg, ctx);\n if (typeof onAnchor === 'function' && ctx.anchors) for (const {\n count,\n res\n } of ctx.anchors.values()) onAnchor(res, count);\n return res;\n }\n\n toString() {\n if (this.errors.length > 0) throw new Error('Document with errors cannot be stringified');\n const indentSize = this.options.indent;\n\n if (!Number.isInteger(indentSize) || indentSize <= 0) {\n const s = JSON.stringify(indentSize);\n throw new Error(`\"indent\" option must be a positive integer, not ${s}`);\n }\n\n this.setSchema();\n const lines = [];\n let hasDirectives = false;\n\n if (this.version) {\n let vd = '%YAML 1.2';\n\n if (this.schema.name === 'yaml-1.1') {\n if (this.version === '1.0') vd = '%YAML:1.0';else if (this.version === '1.1') vd = '%YAML 1.1';\n }\n\n lines.push(vd);\n hasDirectives = true;\n }\n\n const tagNames = this.listNonDefaultTags();\n this.tagPrefixes.forEach(({\n handle,\n prefix\n }) => {\n if (tagNames.some(t => t.indexOf(prefix) === 0)) {\n lines.push(`%TAG ${handle} ${prefix}`);\n hasDirectives = true;\n }\n });\n if (hasDirectives || this.directivesEndMarker) lines.push('---');\n\n if (this.commentBefore) {\n if (hasDirectives || !this.directivesEndMarker) lines.unshift('');\n lines.unshift(this.commentBefore.replace(/^/gm, '#'));\n }\n\n const ctx = {\n anchors: {},\n doc: this,\n indent: '',\n indentStep: ' '.repeat(indentSize),\n stringify // Requiring directly in nodes would create circular dependencies\n\n };\n let chompKeep = false;\n let contentComment = null;\n\n if (this.contents) {\n if (this.contents instanceof resolveSeq4a68b39b.Node) {\n if (this.contents.spaceBefore && (hasDirectives || this.directivesEndMarker)) lines.push('');\n if (this.contents.commentBefore) lines.push(this.contents.commentBefore.replace(/^/gm, '#')); // top-level block scalars need to be indented if followed by a comment\n\n ctx.forceBlockIndent = !!this.comment;\n contentComment = this.contents.comment;\n }\n\n const onChompKeep = contentComment ? null : () => chompKeep = true;\n const body = stringify(this.contents, ctx, () => contentComment = null, onChompKeep);\n lines.push(resolveSeq4a68b39b.addComment(body, '', contentComment));\n } else if (this.contents !== undefined) {\n lines.push(stringify(this.contents, ctx));\n }\n\n if (this.comment) {\n if ((!chompKeep || contentComment) && lines[lines.length - 1] !== '') lines.push('');\n lines.push(this.comment.replace(/^/gm, '#'));\n }\n\n return lines.join('\\n') + '\\n';\n }\n\n}\n\nPlainValueEc8e588e._defineProperty(Document$1, \"defaults\", documentOptions);\n\nvar Document_1 = Document$1;\nvar defaultOptions_1 = defaultOptions;\nvar scalarOptions_1 = scalarOptions;\nvar Document2cf6b08c = {\n Document: Document_1,\n defaultOptions: defaultOptions_1,\n scalarOptions: scalarOptions_1\n};\n\nfunction createNode$1(value, wrapScalars = true, tag) {\n if (tag === undefined && typeof wrapScalars === 'string') {\n tag = wrapScalars;\n wrapScalars = true;\n }\n\n const options = Object.assign({}, Document2cf6b08c.Document.defaults[Document2cf6b08c.defaultOptions.version], Document2cf6b08c.defaultOptions);\n const schema = new Schema42e9705c.Schema(options);\n return schema.createNode(value, wrapScalars, tag);\n}\n\nclass Document$2 extends Document2cf6b08c.Document {\n constructor(options) {\n super(Object.assign({}, Document2cf6b08c.defaultOptions, options));\n }\n\n}\n\nfunction parseAllDocuments(src, options) {\n const stream = [];\n let prev;\n\n for (const cstDoc of parseCst.parse(src)) {\n const doc = new Document$2(options);\n doc.parse(cstDoc, prev);\n stream.push(doc);\n prev = doc;\n }\n\n return stream;\n}\n\nfunction parseDocument(src, options) {\n const cst = parseCst.parse(src);\n const doc = new Document$2(options).parse(cst[0]);\n\n if (cst.length > 1) {\n const errMsg = 'Source contains multiple documents; please use YAML.parseAllDocuments()';\n doc.errors.unshift(new PlainValueEc8e588e.YAMLSemanticError(cst[1], errMsg));\n }\n\n return doc;\n}\n\nfunction parse$1(src, options) {\n const doc = parseDocument(src, options);\n doc.warnings.forEach(warning => warnings39684f17.warn(warning));\n if (doc.errors.length > 0) throw doc.errors[0];\n return doc.toJSON();\n}\n\nfunction stringify$1(value, options) {\n const doc = new Document$2(options);\n doc.contents = value;\n return String(doc);\n}\n\nconst YAML = {\n createNode: createNode$1,\n defaultOptions: Document2cf6b08c.defaultOptions,\n Document: Document$2,\n parse: parse$1,\n parseAllDocuments,\n parseCST: parseCst.parse,\n parseDocument,\n scalarOptions: Document2cf6b08c.scalarOptions,\n stringify: stringify$1\n};\nvar YAML_1 = YAML;\nvar dist$1 = {\n YAML: YAML_1\n};\n\nvar yaml = dist$1.YAML;\n\nvar loaders_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.loaders = void 0;\n /* eslint-disable @typescript-eslint/no-require-imports */\n\n let importFresh$1;\n\n const loadJs = function loadJs(filepath) {\n if (importFresh$1 === undefined) {\n importFresh$1 = importFresh;\n }\n\n const result = importFresh$1(filepath);\n return result;\n };\n\n let parseJson;\n\n const loadJson = function loadJson(filepath, content) {\n if (parseJson === undefined) {\n parseJson = parseJson$1;\n }\n\n try {\n const result = parseJson(content);\n return result;\n } catch (error) {\n error.message = `JSON Error in ${filepath}:\\n${error.message}`;\n throw error;\n }\n };\n\n let yaml$1;\n\n const loadYaml = function loadYaml(filepath, content) {\n if (yaml$1 === undefined) {\n yaml$1 = yaml;\n }\n\n try {\n const result = yaml$1.parse(content, {\n prettyErrors: true\n });\n return result;\n } catch (error) {\n error.message = `YAML Error in ${filepath}:\\n${error.message}`;\n throw error;\n }\n };\n\n const loaders = {\n loadJs,\n loadJson,\n loadYaml\n };\n exports.loaders = loaders;\n});\n\nvar getPropertyByPath_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getPropertyByPath = getPropertyByPath; // Resolves property names or property paths defined with period-delimited\n // strings or arrays of strings. Property names that are found on the source\n // object are used directly (even if they include a period).\n // Nested property names that include periods, within a path, are only\n // understood in array paths.\n\n function getPropertyByPath(source, path) {\n if (typeof path === 'string' && Object.prototype.hasOwnProperty.call(source, path)) {\n return source[path];\n }\n\n const parsedPath = typeof path === 'string' ? path.split('.') : path; // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n return parsedPath.reduce((previous, key) => {\n if (previous === undefined) {\n return previous;\n }\n\n return previous[key];\n }, source);\n }\n});\n\nvar ExplorerBase_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getExtensionDescription = getExtensionDescription;\n exports.ExplorerBase = void 0;\n\n var _path = _interopRequireDefault(path__default['default']);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n class ExplorerBase {\n constructor(options) {\n if (options.cache === true) {\n this.loadCache = new Map();\n this.searchCache = new Map();\n }\n\n this.config = options;\n this.validateConfig();\n }\n\n clearLoadCache() {\n if (this.loadCache) {\n this.loadCache.clear();\n }\n }\n\n clearSearchCache() {\n if (this.searchCache) {\n this.searchCache.clear();\n }\n }\n\n clearCaches() {\n this.clearLoadCache();\n this.clearSearchCache();\n }\n\n validateConfig() {\n const config = this.config;\n config.searchPlaces.forEach(place => {\n const loaderKey = _path.default.extname(place) || 'noExt';\n const loader = config.loaders[loaderKey];\n\n if (!loader) {\n throw new Error(`No loader specified for ${getExtensionDescription(place)}, so searchPlaces item \"${place}\" is invalid`);\n }\n\n if (typeof loader !== 'function') {\n throw new Error(`loader for ${getExtensionDescription(place)} is not a function (type provided: \"${typeof loader}\"), so searchPlaces item \"${place}\" is invalid`);\n }\n });\n }\n\n shouldSearchStopWithResult(result) {\n if (result === null) return false;\n if (result.isEmpty && this.config.ignoreEmptySearchPlaces) return false;\n return true;\n }\n\n nextDirectoryToSearch(currentDir, currentResult) {\n if (this.shouldSearchStopWithResult(currentResult)) {\n return null;\n }\n\n const nextDir = nextDirUp(currentDir);\n\n if (nextDir === currentDir || currentDir === this.config.stopDir) {\n return null;\n }\n\n return nextDir;\n }\n\n loadPackageProp(filepath, content) {\n const parsedContent = loaders_1.loaders.loadJson(filepath, content);\n\n const packagePropValue = (0, getPropertyByPath_1.getPropertyByPath)(parsedContent, this.config.packageProp);\n return packagePropValue || null;\n }\n\n getLoaderEntryForFile(filepath) {\n if (_path.default.basename(filepath) === 'package.json') {\n const loader = this.loadPackageProp.bind(this);\n return loader;\n }\n\n const loaderKey = _path.default.extname(filepath) || 'noExt';\n const loader = this.config.loaders[loaderKey];\n\n if (!loader) {\n throw new Error(`No loader specified for ${getExtensionDescription(filepath)}`);\n }\n\n return loader;\n }\n\n loadedContentToCosmiconfigResult(filepath, loadedContent) {\n if (loadedContent === null) {\n return null;\n }\n\n if (loadedContent === undefined) {\n return {\n filepath,\n config: undefined,\n isEmpty: true\n };\n }\n\n return {\n config: loadedContent,\n filepath\n };\n }\n\n validateFilePath(filepath) {\n if (!filepath) {\n throw new Error('load must pass a non-empty string');\n }\n }\n\n }\n\n exports.ExplorerBase = ExplorerBase;\n\n function nextDirUp(dir) {\n return _path.default.dirname(dir);\n }\n\n function getExtensionDescription(filepath) {\n const ext = _path.default.extname(filepath);\n\n return ext ? `extension \"${ext}\"` : 'files without extensions';\n }\n});\n\nvar readFile_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.readFile = readFile;\n exports.readFileSync = readFileSync;\n\n var _fs = _interopRequireDefault(fs__default['default']);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n async function fsReadFileAsync(pathname, encoding) {\n return new Promise((resolve, reject) => {\n _fs.default.readFile(pathname, encoding, (error, contents) => {\n if (error) {\n reject(error);\n return;\n }\n\n resolve(contents);\n });\n });\n }\n\n async function readFile(filepath, options = {}) {\n const throwNotFound = options.throwNotFound === true;\n\n try {\n const content = await fsReadFileAsync(filepath, 'utf8');\n return content;\n } catch (error) {\n if (throwNotFound === false && error.code === 'ENOENT') {\n return null;\n }\n\n throw error;\n }\n }\n\n function readFileSync(filepath, options = {}) {\n const throwNotFound = options.throwNotFound === true;\n\n try {\n const content = _fs.default.readFileSync(filepath, 'utf8');\n\n return content;\n } catch (error) {\n if (throwNotFound === false && error.code === 'ENOENT') {\n return null;\n }\n\n throw error;\n }\n }\n});\n\nvar cacheWrapper_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.cacheWrapper = cacheWrapper;\n exports.cacheWrapperSync = cacheWrapperSync;\n\n async function cacheWrapper(cache, key, fn) {\n const cached = cache.get(key);\n\n if (cached !== undefined) {\n return cached;\n }\n\n const result = await fn();\n cache.set(key, result);\n return result;\n }\n\n function cacheWrapperSync(cache, key, fn) {\n const cached = cache.get(key);\n\n if (cached !== undefined) {\n return cached;\n }\n\n const result = fn();\n cache.set(key, result);\n return result;\n }\n});\n\nconst {\n promisify\n} = util__default['default'];\n\nasync function isType(fsStatType, statsMethodName, filePath) {\n if (typeof filePath !== 'string') {\n throw new TypeError(`Expected a string, got ${typeof filePath}`);\n }\n\n try {\n const stats = await promisify(fs__default['default'][fsStatType])(filePath);\n return stats[statsMethodName]();\n } catch (error) {\n if (error.code === 'ENOENT') {\n return false;\n }\n\n throw error;\n }\n}\n\nfunction isTypeSync(fsStatType, statsMethodName, filePath) {\n if (typeof filePath !== 'string') {\n throw new TypeError(`Expected a string, got ${typeof filePath}`);\n }\n\n try {\n return fs__default['default'][fsStatType](filePath)[statsMethodName]();\n } catch (error) {\n if (error.code === 'ENOENT') {\n return false;\n }\n\n throw error;\n }\n}\n\nvar isFile = isType.bind(null, 'stat', 'isFile');\nvar isDirectory = isType.bind(null, 'stat', 'isDirectory');\nvar isSymlink = isType.bind(null, 'lstat', 'isSymbolicLink');\nvar isFileSync = isTypeSync.bind(null, 'statSync', 'isFile');\nvar isDirectorySync = isTypeSync.bind(null, 'statSync', 'isDirectory');\nvar isSymlinkSync = isTypeSync.bind(null, 'lstatSync', 'isSymbolicLink');\nvar pathType = {\n isFile: isFile,\n isDirectory: isDirectory,\n isSymlink: isSymlink,\n isFileSync: isFileSync,\n isDirectorySync: isDirectorySync,\n isSymlinkSync: isSymlinkSync\n};\n\nvar getDirectory_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getDirectory = getDirectory;\n exports.getDirectorySync = getDirectorySync;\n\n var _path = _interopRequireDefault(path__default['default']);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n async function getDirectory(filepath) {\n const filePathIsDirectory = await (0, pathType.isDirectory)(filepath);\n\n if (filePathIsDirectory === true) {\n return filepath;\n }\n\n const directory = _path.default.dirname(filepath);\n\n return directory;\n }\n\n function getDirectorySync(filepath) {\n const filePathIsDirectory = (0, pathType.isDirectorySync)(filepath);\n\n if (filePathIsDirectory === true) {\n return filepath;\n }\n\n const directory = _path.default.dirname(filepath);\n\n return directory;\n }\n});\n\nvar Explorer_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Explorer = void 0;\n\n var _path = _interopRequireDefault(path__default['default']);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n class Explorer extends ExplorerBase_1.ExplorerBase {\n constructor(options) {\n super(options);\n }\n\n async search(searchFrom = process.cwd()) {\n const startDirectory = await (0, getDirectory_1.getDirectory)(searchFrom);\n const result = await this.searchFromDirectory(startDirectory);\n return result;\n }\n\n async searchFromDirectory(dir) {\n const absoluteDir = _path.default.resolve(process.cwd(), dir);\n\n const run = async () => {\n const result = await this.searchDirectory(absoluteDir);\n const nextDir = this.nextDirectoryToSearch(absoluteDir, result);\n\n if (nextDir) {\n return this.searchFromDirectory(nextDir);\n }\n\n const transformResult = await this.config.transform(result);\n return transformResult;\n };\n\n if (this.searchCache) {\n return (0, cacheWrapper_1.cacheWrapper)(this.searchCache, absoluteDir, run);\n }\n\n return run();\n }\n\n async searchDirectory(dir) {\n for await (const place of this.config.searchPlaces) {\n const placeResult = await this.loadSearchPlace(dir, place);\n\n if (this.shouldSearchStopWithResult(placeResult) === true) {\n return placeResult;\n }\n } // config not found\n\n\n return null;\n }\n\n async loadSearchPlace(dir, place) {\n const filepath = _path.default.join(dir, place);\n\n const fileContents = await (0, readFile_1.readFile)(filepath);\n const result = await this.createCosmiconfigResult(filepath, fileContents);\n return result;\n }\n\n async loadFileContent(filepath, content) {\n if (content === null) {\n return null;\n }\n\n if (content.trim() === '') {\n return undefined;\n }\n\n const loader = this.getLoaderEntryForFile(filepath);\n const loaderResult = await loader(filepath, content);\n return loaderResult;\n }\n\n async createCosmiconfigResult(filepath, content) {\n const fileContent = await this.loadFileContent(filepath, content);\n const result = this.loadedContentToCosmiconfigResult(filepath, fileContent);\n return result;\n }\n\n async load(filepath) {\n this.validateFilePath(filepath);\n\n const absoluteFilePath = _path.default.resolve(process.cwd(), filepath);\n\n const runLoad = async () => {\n const fileContents = await (0, readFile_1.readFile)(absoluteFilePath, {\n throwNotFound: true\n });\n const result = await this.createCosmiconfigResult(absoluteFilePath, fileContents);\n const transformResult = await this.config.transform(result);\n return transformResult;\n };\n\n if (this.loadCache) {\n return (0, cacheWrapper_1.cacheWrapper)(this.loadCache, absoluteFilePath, runLoad);\n }\n\n return runLoad();\n }\n\n }\n\n exports.Explorer = Explorer;\n});\n\nvar ExplorerSync_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ExplorerSync = void 0;\n\n var _path = _interopRequireDefault(path__default['default']);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n class ExplorerSync extends ExplorerBase_1.ExplorerBase {\n constructor(options) {\n super(options);\n }\n\n searchSync(searchFrom = process.cwd()) {\n const startDirectory = (0, getDirectory_1.getDirectorySync)(searchFrom);\n const result = this.searchFromDirectorySync(startDirectory);\n return result;\n }\n\n searchFromDirectorySync(dir) {\n const absoluteDir = _path.default.resolve(process.cwd(), dir);\n\n const run = () => {\n const result = this.searchDirectorySync(absoluteDir);\n const nextDir = this.nextDirectoryToSearch(absoluteDir, result);\n\n if (nextDir) {\n return this.searchFromDirectorySync(nextDir);\n }\n\n const transformResult = this.config.transform(result);\n return transformResult;\n };\n\n if (this.searchCache) {\n return (0, cacheWrapper_1.cacheWrapperSync)(this.searchCache, absoluteDir, run);\n }\n\n return run();\n }\n\n searchDirectorySync(dir) {\n for (const place of this.config.searchPlaces) {\n const placeResult = this.loadSearchPlaceSync(dir, place);\n\n if (this.shouldSearchStopWithResult(placeResult) === true) {\n return placeResult;\n }\n } // config not found\n\n\n return null;\n }\n\n loadSearchPlaceSync(dir, place) {\n const filepath = _path.default.join(dir, place);\n\n const content = (0, readFile_1.readFileSync)(filepath);\n const result = this.createCosmiconfigResultSync(filepath, content);\n return result;\n }\n\n loadFileContentSync(filepath, content) {\n if (content === null) {\n return null;\n }\n\n if (content.trim() === '') {\n return undefined;\n }\n\n const loader = this.getLoaderEntryForFile(filepath);\n const loaderResult = loader(filepath, content);\n return loaderResult;\n }\n\n createCosmiconfigResultSync(filepath, content) {\n const fileContent = this.loadFileContentSync(filepath, content);\n const result = this.loadedContentToCosmiconfigResult(filepath, fileContent);\n return result;\n }\n\n loadSync(filepath) {\n this.validateFilePath(filepath);\n\n const absoluteFilePath = _path.default.resolve(process.cwd(), filepath);\n\n const runLoadSync = () => {\n const content = (0, readFile_1.readFileSync)(absoluteFilePath, {\n throwNotFound: true\n });\n const cosmiconfigResult = this.createCosmiconfigResultSync(absoluteFilePath, content);\n const transformResult = this.config.transform(cosmiconfigResult);\n return transformResult;\n };\n\n if (this.loadCache) {\n return (0, cacheWrapper_1.cacheWrapperSync)(this.loadCache, absoluteFilePath, runLoadSync);\n }\n\n return runLoadSync();\n }\n\n }\n\n exports.ExplorerSync = ExplorerSync;\n});\n\nvar dist$2 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.cosmiconfig = cosmiconfig;\n exports.cosmiconfigSync = cosmiconfigSync;\n exports.defaultLoaders = void 0;\n\n var _os = _interopRequireDefault(os__default['default']);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n /* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n\n\n function cosmiconfig(moduleName, options = {}) {\n const normalizedOptions = normalizeOptions(moduleName, options);\n const explorer = new Explorer_1.Explorer(normalizedOptions);\n return {\n search: explorer.search.bind(explorer),\n load: explorer.load.bind(explorer),\n clearLoadCache: explorer.clearLoadCache.bind(explorer),\n clearSearchCache: explorer.clearSearchCache.bind(explorer),\n clearCaches: explorer.clearCaches.bind(explorer)\n };\n } // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n\n\n function cosmiconfigSync(moduleName, options = {}) {\n const normalizedOptions = normalizeOptions(moduleName, options);\n const explorerSync = new ExplorerSync_1.ExplorerSync(normalizedOptions);\n return {\n search: explorerSync.searchSync.bind(explorerSync),\n load: explorerSync.loadSync.bind(explorerSync),\n clearLoadCache: explorerSync.clearLoadCache.bind(explorerSync),\n clearSearchCache: explorerSync.clearSearchCache.bind(explorerSync),\n clearCaches: explorerSync.clearCaches.bind(explorerSync)\n };\n } // do not allow mutation of default loaders. Make sure it is set inside options\n\n\n const defaultLoaders = Object.freeze({\n '.cjs': loaders_1.loaders.loadJs,\n '.js': loaders_1.loaders.loadJs,\n '.json': loaders_1.loaders.loadJson,\n '.yaml': loaders_1.loaders.loadYaml,\n '.yml': loaders_1.loaders.loadYaml,\n noExt: loaders_1.loaders.loadYaml\n });\n exports.defaultLoaders = defaultLoaders;\n\n const identity = function identity(x) {\n return x;\n };\n\n function normalizeOptions(moduleName, options) {\n const defaults = {\n packageProp: moduleName,\n searchPlaces: ['package.json', `.${moduleName}rc`, `.${moduleName}rc.json`, `.${moduleName}rc.yaml`, `.${moduleName}rc.yml`, `.${moduleName}rc.js`, `.${moduleName}rc.cjs`, `${moduleName}.config.js`, `${moduleName}.config.cjs`],\n ignoreEmptySearchPlaces: true,\n stopDir: _os.default.homedir(),\n cache: true,\n transform: identity,\n loaders: defaultLoaders\n };\n const normalizedOptions = Object.assign({}, defaults, options, {\n loaders: Object.assign({}, defaults.loaders, options.loaders)\n });\n return normalizedOptions;\n }\n});\n\nvar findParentDir = createCommonjsModule(function (module, exports) {\n\n var exists = fs__default['default'].exists || path__default['default'].exists,\n existsSync = fs__default['default'].existsSync || path__default['default'].existsSync;\n\n function splitPath(path) {\n var parts = path.split(/(\\/|\\\\)/);\n if (!parts.length) return parts; // when path starts with a slash, the first part is empty string\n\n return !parts[0].length ? parts.slice(1) : parts;\n }\n\n exports = module.exports = function (currentFullPath, clue, cb) {\n function testDir(parts) {\n if (parts.length === 0) return cb(null, null);\n var p = parts.join('');\n exists(path__default['default'].join(p, clue), function (itdoes) {\n if (itdoes) return cb(null, p);\n testDir(parts.slice(0, -1));\n });\n }\n\n testDir(splitPath(currentFullPath));\n };\n\n exports.sync = function (currentFullPath, clue) {\n function testDir(parts) {\n if (parts.length === 0) return null;\n var p = parts.join('');\n var itdoes = existsSync(path__default['default'].join(p, clue));\n return itdoes ? p : testDir(parts.slice(0, -1));\n }\n\n return testDir(splitPath(currentFullPath));\n };\n});\n\nconst {\n stdin\n} = process;\n\nvar getStdin = async () => {\n let result = '';\n\n if (stdin.isTTY) {\n return result;\n }\n\n stdin.setEncoding('utf8');\n\n for await (const chunk of stdin) {\n result += chunk;\n }\n\n return result;\n};\n\nvar buffer = async () => {\n const result = [];\n let length = 0;\n\n if (stdin.isTTY) {\n return Buffer.concat([]);\n }\n\n for await (const chunk of stdin) {\n result.push(chunk);\n length += chunk.length;\n }\n\n return Buffer.concat(result, length);\n};\ngetStdin.buffer = buffer;\n\nvar vendors = [\n\t{\n\t\tname: \"AppVeyor\",\n\t\tconstant: \"APPVEYOR\",\n\t\tenv: \"APPVEYOR\",\n\t\tpr: \"APPVEYOR_PULL_REQUEST_NUMBER\"\n\t},\n\t{\n\t\tname: \"Azure Pipelines\",\n\t\tconstant: \"AZURE_PIPELINES\",\n\t\tenv: \"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\",\n\t\tpr: \"SYSTEM_PULLREQUEST_PULLREQUESTID\"\n\t},\n\t{\n\t\tname: \"Bamboo\",\n\t\tconstant: \"BAMBOO\",\n\t\tenv: \"bamboo_planKey\"\n\t},\n\t{\n\t\tname: \"Bitbucket Pipelines\",\n\t\tconstant: \"BITBUCKET\",\n\t\tenv: \"BITBUCKET_COMMIT\",\n\t\tpr: \"BITBUCKET_PR_ID\"\n\t},\n\t{\n\t\tname: \"Bitrise\",\n\t\tconstant: \"BITRISE\",\n\t\tenv: \"BITRISE_IO\",\n\t\tpr: \"BITRISE_PULL_REQUEST\"\n\t},\n\t{\n\t\tname: \"Buddy\",\n\t\tconstant: \"BUDDY\",\n\t\tenv: \"BUDDY_WORKSPACE_ID\",\n\t\tpr: \"BUDDY_EXECUTION_PULL_REQUEST_ID\"\n\t},\n\t{\n\t\tname: \"Buildkite\",\n\t\tconstant: \"BUILDKITE\",\n\t\tenv: \"BUILDKITE\",\n\t\tpr: {\n\t\t\tenv: \"BUILDKITE_PULL_REQUEST\",\n\t\t\tne: \"false\"\n\t\t}\n\t},\n\t{\n\t\tname: \"CircleCI\",\n\t\tconstant: \"CIRCLE\",\n\t\tenv: \"CIRCLECI\",\n\t\tpr: \"CIRCLE_PULL_REQUEST\"\n\t},\n\t{\n\t\tname: \"Cirrus CI\",\n\t\tconstant: \"CIRRUS\",\n\t\tenv: \"CIRRUS_CI\",\n\t\tpr: \"CIRRUS_PR\"\n\t},\n\t{\n\t\tname: \"AWS CodeBuild\",\n\t\tconstant: \"CODEBUILD\",\n\t\tenv: \"CODEBUILD_BUILD_ARN\"\n\t},\n\t{\n\t\tname: \"Codeship\",\n\t\tconstant: \"CODESHIP\",\n\t\tenv: {\n\t\t\tCI_NAME: \"codeship\"\n\t\t}\n\t},\n\t{\n\t\tname: \"Drone\",\n\t\tconstant: \"DRONE\",\n\t\tenv: \"DRONE\",\n\t\tpr: {\n\t\t\tDRONE_BUILD_EVENT: \"pull_request\"\n\t\t}\n\t},\n\t{\n\t\tname: \"dsari\",\n\t\tconstant: \"DSARI\",\n\t\tenv: \"DSARI\"\n\t},\n\t{\n\t\tname: \"GitHub Actions\",\n\t\tconstant: \"GITHUB_ACTIONS\",\n\t\tenv: \"GITHUB_ACTIONS\",\n\t\tpr: {\n\t\t\tGITHUB_EVENT_NAME: \"pull_request\"\n\t\t}\n\t},\n\t{\n\t\tname: \"GitLab CI\",\n\t\tconstant: \"GITLAB\",\n\t\tenv: \"GITLAB_CI\"\n\t},\n\t{\n\t\tname: \"GoCD\",\n\t\tconstant: \"GOCD\",\n\t\tenv: \"GO_PIPELINE_LABEL\"\n\t},\n\t{\n\t\tname: \"Hudson\",\n\t\tconstant: \"HUDSON\",\n\t\tenv: \"HUDSON_URL\"\n\t},\n\t{\n\t\tname: \"Jenkins\",\n\t\tconstant: \"JENKINS\",\n\t\tenv: [\n\t\t\t\"JENKINS_URL\",\n\t\t\t\"BUILD_ID\"\n\t\t],\n\t\tpr: {\n\t\t\tany: [\n\t\t\t\t\"ghprbPullId\",\n\t\t\t\t\"CHANGE_ID\"\n\t\t\t]\n\t\t}\n\t},\n\t{\n\t\tname: \"ZEIT Now\",\n\t\tconstant: \"ZEIT_NOW\",\n\t\tenv: \"NOW_BUILDER\"\n\t},\n\t{\n\t\tname: \"Magnum CI\",\n\t\tconstant: \"MAGNUM\",\n\t\tenv: \"MAGNUM\"\n\t},\n\t{\n\t\tname: \"Netlify CI\",\n\t\tconstant: \"NETLIFY\",\n\t\tenv: \"NETLIFY\",\n\t\tpr: {\n\t\t\tenv: \"PULL_REQUEST\",\n\t\t\tne: \"false\"\n\t\t}\n\t},\n\t{\n\t\tname: \"Nevercode\",\n\t\tconstant: \"NEVERCODE\",\n\t\tenv: \"NEVERCODE\",\n\t\tpr: {\n\t\t\tenv: \"NEVERCODE_PULL_REQUEST\",\n\t\t\tne: \"false\"\n\t\t}\n\t},\n\t{\n\t\tname: \"Render\",\n\t\tconstant: \"RENDER\",\n\t\tenv: \"RENDER\",\n\t\tpr: {\n\t\t\tIS_PULL_REQUEST: \"true\"\n\t\t}\n\t},\n\t{\n\t\tname: \"Sail CI\",\n\t\tconstant: \"SAIL\",\n\t\tenv: \"SAILCI\",\n\t\tpr: \"SAIL_PULL_REQUEST_NUMBER\"\n\t},\n\t{\n\t\tname: \"Semaphore\",\n\t\tconstant: \"SEMAPHORE\",\n\t\tenv: \"SEMAPHORE\",\n\t\tpr: \"PULL_REQUEST_NUMBER\"\n\t},\n\t{\n\t\tname: \"Shippable\",\n\t\tconstant: \"SHIPPABLE\",\n\t\tenv: \"SHIPPABLE\",\n\t\tpr: {\n\t\t\tIS_PULL_REQUEST: \"true\"\n\t\t}\n\t},\n\t{\n\t\tname: \"Solano CI\",\n\t\tconstant: \"SOLANO\",\n\t\tenv: \"TDDIUM\",\n\t\tpr: \"TDDIUM_PR_ID\"\n\t},\n\t{\n\t\tname: \"Strider CD\",\n\t\tconstant: \"STRIDER\",\n\t\tenv: \"STRIDER\"\n\t},\n\t{\n\t\tname: \"TaskCluster\",\n\t\tconstant: \"TASKCLUSTER\",\n\t\tenv: [\n\t\t\t\"TASK_ID\",\n\t\t\t\"RUN_ID\"\n\t\t]\n\t},\n\t{\n\t\tname: \"TeamCity\",\n\t\tconstant: \"TEAMCITY\",\n\t\tenv: \"TEAMCITY_VERSION\"\n\t},\n\t{\n\t\tname: \"Travis CI\",\n\t\tconstant: \"TRAVIS\",\n\t\tenv: \"TRAVIS\",\n\t\tpr: {\n\t\t\tenv: \"TRAVIS_PULL_REQUEST\",\n\t\t\tne: \"false\"\n\t\t}\n\t}\n];\n\nvar ciInfo = createCommonjsModule(function (module, exports) {\n\n var env = process.env; // Used for testing only\n\n Object.defineProperty(exports, '_vendors', {\n value: vendors.map(function (v) {\n return v.constant;\n })\n });\n exports.name = null;\n exports.isPR = null;\n vendors.forEach(function (vendor) {\n var envs = Array.isArray(vendor.env) ? vendor.env : [vendor.env];\n var isCI = envs.every(function (obj) {\n return checkEnv(obj);\n });\n exports[vendor.constant] = isCI;\n\n if (isCI) {\n exports.name = vendor.name;\n\n switch (typeof vendor.pr) {\n case 'string':\n // \"pr\": \"CIRRUS_PR\"\n exports.isPR = !!env[vendor.pr];\n break;\n\n case 'object':\n if ('env' in vendor.pr) {\n // \"pr\": { \"env\": \"BUILDKITE_PULL_REQUEST\", \"ne\": \"false\" }\n exports.isPR = vendor.pr.env in env && env[vendor.pr.env] !== vendor.pr.ne;\n } else if ('any' in vendor.pr) {\n // \"pr\": { \"any\": [\"ghprbPullId\", \"CHANGE_ID\"] }\n exports.isPR = vendor.pr.any.some(function (key) {\n return !!env[key];\n });\n } else {\n // \"pr\": { \"DRONE_BUILD_EVENT\": \"pull_request\" }\n exports.isPR = checkEnv(vendor.pr);\n }\n\n break;\n\n default:\n // PR detection not supported for this vendor\n exports.isPR = null;\n }\n }\n });\n exports.isCI = !!(env.CI || // Travis CI, CircleCI, Cirrus CI, Gitlab CI, Appveyor, CodeShip, dsari\n env.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI\n env.BUILD_NUMBER || // Jenkins, TeamCity\n env.RUN_ID || // TaskCluster, dsari\n exports.name || false);\n\n function checkEnv(obj) {\n if (typeof obj === 'string') return !!env[obj];\n return Object.keys(obj).every(function (k) {\n return env[k] === obj[k];\n });\n }\n});\n\nvar thirdParty = {\n cosmiconfig: dist$2.cosmiconfig,\n cosmiconfigSync: dist$2.cosmiconfigSync,\n findParentDir: findParentDir.sync,\n getStdin: getStdin,\n isCI: () => ciInfo.isCI\n};\n\nmodule.exports = thirdParty;\n","/* eslint no-control-regex:0 */\n\n'use strict';\n\nconst base64 = require('../base64');\nconst qp = require('../qp');\nconst mimeTypes = require('./mime-types');\n\nmodule.exports = {\n /**\n * Checks if a value is plaintext string (uses only printable 7bit chars)\n *\n * @param {String} value String to be tested\n * @returns {Boolean} true if it is a plaintext string\n */\n isPlainText(value, isParam) {\n const re = isParam ? /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f\"\\u0080-\\uFFFF]/ : /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f\\u0080-\\uFFFF]/;\n if (typeof value !== 'string' || re.test(value)) {\n return false;\n } else {\n return true;\n }\n },\n\n /**\n * Checks if a multi line string containes lines longer than the selected value.\n *\n * Useful when detecting if a mail message needs any processing at all –\n * if only plaintext characters are used and lines are short, then there is\n * no need to encode the values in any way. If the value is plaintext but has\n * longer lines then allowed, then use format=flowed\n *\n * @param {Number} lineLength Max line length to check for\n * @returns {Boolean} Returns true if there is at least one line longer than lineLength chars\n */\n hasLongerLines(str, lineLength) {\n if (str.length > 128 * 1024) {\n // do not test strings longer than 128kB\n return true;\n }\n return new RegExp('^.{' + (lineLength + 1) + ',}', 'm').test(str);\n },\n\n /**\n * Encodes a string or an Buffer to an UTF-8 MIME Word (rfc2047)\n *\n * @param {String|Buffer} data String to be encoded\n * @param {String} mimeWordEncoding='Q' Encoding for the mime word, either Q or B\n * @param {Number} [maxLength=0] If set, split mime words into several chunks if needed\n * @return {String} Single or several mime words joined together\n */\n encodeWord(data, mimeWordEncoding, maxLength) {\n mimeWordEncoding = (mimeWordEncoding || 'Q').toString().toUpperCase().trim().charAt(0);\n maxLength = maxLength || 0;\n\n let encodedStr;\n let toCharset = 'UTF-8';\n\n if (maxLength && maxLength > 7 + toCharset.length) {\n maxLength -= 7 + toCharset.length;\n }\n\n if (mimeWordEncoding === 'Q') {\n // https://tools.ietf.org/html/rfc2047#section-5 rule (3)\n encodedStr = qp.encode(data).replace(/[^a-z0-9!*+\\-/=]/gi, chr => {\n let ord = chr.charCodeAt(0).toString(16).toUpperCase();\n if (chr === ' ') {\n return '_';\n } else {\n return '=' + (ord.length === 1 ? '0' + ord : ord);\n }\n });\n } else if (mimeWordEncoding === 'B') {\n encodedStr = typeof data === 'string' ? data : base64.encode(data);\n maxLength = maxLength ? Math.max(3, ((maxLength - (maxLength % 4)) / 4) * 3) : 0;\n }\n\n if (maxLength && (mimeWordEncoding !== 'B' ? encodedStr : base64.encode(data)).length > maxLength) {\n if (mimeWordEncoding === 'Q') {\n encodedStr = this.splitMimeEncodedString(encodedStr, maxLength).join('?= =?' + toCharset + '?' + mimeWordEncoding + '?');\n } else {\n // RFC2047 6.3 (2) states that encoded-word must include an integral number of characters, so no chopping unicode sequences\n let parts = [];\n let lpart = '';\n for (let i = 0, len = encodedStr.length; i < len; i++) {\n let chr = encodedStr.charAt(i);\n // check if we can add this character to the existing string\n // without breaking byte length limit\n if (Buffer.byteLength(lpart + chr) <= maxLength || i === 0) {\n lpart += chr;\n } else {\n // we hit the length limit, so push the existing string and start over\n parts.push(base64.encode(lpart));\n lpart = chr;\n }\n }\n if (lpart) {\n parts.push(base64.encode(lpart));\n }\n\n if (parts.length > 1) {\n encodedStr = parts.join('?= =?' + toCharset + '?' + mimeWordEncoding + '?');\n } else {\n encodedStr = parts.join('');\n }\n }\n } else if (mimeWordEncoding === 'B') {\n encodedStr = base64.encode(data);\n }\n\n return '=?' + toCharset + '?' + mimeWordEncoding + '?' + encodedStr + (encodedStr.substr(-2) === '?=' ? '' : '?=');\n },\n\n /**\n * Finds word sequences with non ascii text and converts these to mime words\n *\n * @param {String} value String to be encoded\n * @param {String} mimeWordEncoding='Q' Encoding for the mime word, either Q or B\n * @param {Number} [maxLength=0] If set, split mime words into several chunks if needed\n * @param {Boolean} [encodeAll=false] If true and the value needs encoding then encodes entire string, not just the smallest match\n * @return {String} String with possible mime words\n */\n encodeWords(value, mimeWordEncoding, maxLength, encodeAll) {\n maxLength = maxLength || 0;\n\n let encodedValue;\n\n // find first word with a non-printable ascii or special symbol in it\n let firstMatch = value.match(/(?:^|\\s)([^\\s]*[\"\\u0080-\\uFFFF])/);\n if (!firstMatch) {\n return value;\n }\n\n if (encodeAll) {\n // if it is requested to encode everything or the string contains something that resebles encoded word, then encode everything\n\n return this.encodeWord(value, mimeWordEncoding, maxLength);\n }\n\n // find the last word with a non-printable ascii in it\n let lastMatch = value.match(/([\"\\u0080-\\uFFFF][^\\s]*)[^\"\\u0080-\\uFFFF]*$/);\n if (!lastMatch) {\n // should not happen\n return value;\n }\n\n let startIndex =\n firstMatch.index +\n (\n firstMatch[0].match(/[^\\s]/) || {\n index: 0\n }\n ).index;\n let endIndex = lastMatch.index + (lastMatch[1] || '').length;\n\n encodedValue =\n (startIndex ? value.substr(0, startIndex) : '') +\n this.encodeWord(value.substring(startIndex, endIndex), mimeWordEncoding || 'Q', maxLength) +\n (endIndex < value.length ? value.substr(endIndex) : '');\n\n return encodedValue;\n },\n\n /**\n * Joins parsed header value together as 'value; param1=value1; param2=value2'\n * PS: We are following RFC 822 for the list of special characters that we need to keep in quotes.\n * Refer: https://www.w3.org/Protocols/rfc1341/4_Content-Type.html\n * @param {Object} structured Parsed header value\n * @return {String} joined header value\n */\n buildHeaderValue(structured) {\n let paramsArray = [];\n\n Object.keys(structured.params || {}).forEach(param => {\n // filename might include unicode characters so it is a special case\n // other values probably do not\n let value = structured.params[param];\n if (!this.isPlainText(value, true) || value.length >= 75) {\n this.buildHeaderParam(param, value, 50).forEach(encodedParam => {\n if (!/[\\s\"\\\\;:/=(),<>@[\\]?]|^[-']|'$/.test(encodedParam.value) || encodedParam.key.substr(-1) === '*') {\n paramsArray.push(encodedParam.key + '=' + encodedParam.value);\n } else {\n paramsArray.push(encodedParam.key + '=' + JSON.stringify(encodedParam.value));\n }\n });\n } else if (/[\\s'\"\\\\;:/=(),<>@[\\]?]|^-/.test(value)) {\n paramsArray.push(param + '=' + JSON.stringify(value));\n } else {\n paramsArray.push(param + '=' + value);\n }\n });\n\n return structured.value + (paramsArray.length ? '; ' + paramsArray.join('; ') : '');\n },\n\n /**\n * Encodes a string or an Buffer to an UTF-8 Parameter Value Continuation encoding (rfc2231)\n * Useful for splitting long parameter values.\n *\n * For example\n * title=\"unicode string\"\n * becomes\n * title*0*=utf-8''unicode\n * title*1*=%20string\n *\n * @param {String|Buffer} data String to be encoded\n * @param {Number} [maxLength=50] Max length for generated chunks\n * @param {String} [fromCharset='UTF-8'] Source sharacter set\n * @return {Array} A list of encoded keys and headers\n */\n buildHeaderParam(key, data, maxLength) {\n let list = [];\n let encodedStr = typeof data === 'string' ? data : (data || '').toString();\n let encodedStrArr;\n let chr, ord;\n let line;\n let startPos = 0;\n let i, len;\n\n maxLength = maxLength || 50;\n\n // process ascii only text\n if (this.isPlainText(data, true)) {\n // check if conversion is even needed\n if (encodedStr.length <= maxLength) {\n return [\n {\n key,\n value: encodedStr\n }\n ];\n }\n\n encodedStr = encodedStr.replace(new RegExp('.{' + maxLength + '}', 'g'), str => {\n list.push({\n line: str\n });\n return '';\n });\n\n if (encodedStr) {\n list.push({\n line: encodedStr\n });\n }\n } else {\n if (/[\\uD800-\\uDBFF]/.test(encodedStr)) {\n // string containts surrogate pairs, so normalize it to an array of bytes\n encodedStrArr = [];\n for (i = 0, len = encodedStr.length; i < len; i++) {\n chr = encodedStr.charAt(i);\n ord = chr.charCodeAt(0);\n if (ord >= 0xd800 && ord <= 0xdbff && i < len - 1) {\n chr += encodedStr.charAt(i + 1);\n encodedStrArr.push(chr);\n i++;\n } else {\n encodedStrArr.push(chr);\n }\n }\n encodedStr = encodedStrArr;\n }\n\n // first line includes the charset and language info and needs to be encoded\n // even if it does not contain any unicode characters\n line = 'utf-8\\x27\\x27';\n let encoded = true;\n startPos = 0;\n\n // process text with unicode or special chars\n for (i = 0, len = encodedStr.length; i < len; i++) {\n chr = encodedStr[i];\n\n if (encoded) {\n chr = this.safeEncodeURIComponent(chr);\n } else {\n // try to urlencode current char\n chr = chr === ' ' ? chr : this.safeEncodeURIComponent(chr);\n // By default it is not required to encode a line, the need\n // only appears when the string contains unicode or special chars\n // in this case we start processing the line over and encode all chars\n if (chr !== encodedStr[i]) {\n // Check if it is even possible to add the encoded char to the line\n // If not, there is no reason to use this line, just push it to the list\n // and start a new line with the char that needs encoding\n if ((this.safeEncodeURIComponent(line) + chr).length >= maxLength) {\n list.push({\n line,\n encoded\n });\n line = '';\n startPos = i - 1;\n } else {\n encoded = true;\n i = startPos;\n line = '';\n continue;\n }\n }\n }\n\n // if the line is already too long, push it to the list and start a new one\n if ((line + chr).length >= maxLength) {\n list.push({\n line,\n encoded\n });\n line = chr = encodedStr[i] === ' ' ? ' ' : this.safeEncodeURIComponent(encodedStr[i]);\n if (chr === encodedStr[i]) {\n encoded = false;\n startPos = i - 1;\n } else {\n encoded = true;\n }\n } else {\n line += chr;\n }\n }\n\n if (line) {\n list.push({\n line,\n encoded\n });\n }\n }\n\n return list.map((item, i) => ({\n // encoded lines: {name}*{part}*\n // unencoded lines: {name}*{part}\n // if any line needs to be encoded then the first line (part==0) is always encoded\n key: key + '*' + i + (item.encoded ? '*' : ''),\n value: item.line\n }));\n },\n\n /**\n * Parses a header value with key=value arguments into a structured\n * object.\n *\n * parseHeaderValue('content-type: text/plain; CHARSET='UTF-8'') ->\n * {\n * 'value': 'text/plain',\n * 'params': {\n * 'charset': 'UTF-8'\n * }\n * }\n *\n * @param {String} str Header value\n * @return {Object} Header value as a parsed structure\n */\n parseHeaderValue(str) {\n let response = {\n value: false,\n params: {}\n };\n let key = false;\n let value = '';\n let type = 'value';\n let quote = false;\n let escaped = false;\n let chr;\n\n for (let i = 0, len = str.length; i < len; i++) {\n chr = str.charAt(i);\n if (type === 'key') {\n if (chr === '=') {\n key = value.trim().toLowerCase();\n type = 'value';\n value = '';\n continue;\n }\n value += chr;\n } else {\n if (escaped) {\n value += chr;\n } else if (chr === '\\\\') {\n escaped = true;\n continue;\n } else if (quote && chr === quote) {\n quote = false;\n } else if (!quote && chr === '\"') {\n quote = chr;\n } else if (!quote && chr === ';') {\n if (key === false) {\n response.value = value.trim();\n } else {\n response.params[key] = value.trim();\n }\n type = 'key';\n value = '';\n } else {\n value += chr;\n }\n escaped = false;\n }\n }\n\n if (type === 'value') {\n if (key === false) {\n response.value = value.trim();\n } else {\n response.params[key] = value.trim();\n }\n } else if (value.trim()) {\n response.params[value.trim().toLowerCase()] = '';\n }\n\n // handle parameter value continuations\n // https://tools.ietf.org/html/rfc2231#section-3\n\n // preprocess values\n Object.keys(response.params).forEach(key => {\n let actualKey, nr, match, value;\n if ((match = key.match(/(\\*(\\d+)|\\*(\\d+)\\*|\\*)$/))) {\n actualKey = key.substr(0, match.index);\n nr = Number(match[2] || match[3]) || 0;\n\n if (!response.params[actualKey] || typeof response.params[actualKey] !== 'object') {\n response.params[actualKey] = {\n charset: false,\n values: []\n };\n }\n\n value = response.params[key];\n\n if (nr === 0 && match[0].substr(-1) === '*' && (match = value.match(/^([^']*)'[^']*'(.*)$/))) {\n response.params[actualKey].charset = match[1] || 'iso-8859-1';\n value = match[2];\n }\n\n response.params[actualKey].values[nr] = value;\n\n // remove the old reference\n delete response.params[key];\n }\n });\n\n // concatenate split rfc2231 strings and convert encoded strings to mime encoded words\n Object.keys(response.params).forEach(key => {\n let value;\n if (response.params[key] && Array.isArray(response.params[key].values)) {\n value = response.params[key].values.map(val => val || '').join('');\n\n if (response.params[key].charset) {\n // convert \"%AB\" to \"=?charset?Q?=AB?=\"\n response.params[key] =\n '=?' +\n response.params[key].charset +\n '?Q?' +\n value\n // fix invalidly encoded chars\n .replace(/[=?_\\s]/g, s => {\n let c = s.charCodeAt(0).toString(16);\n if (s === ' ') {\n return '_';\n } else {\n return '%' + (c.length < 2 ? '0' : '') + c;\n }\n })\n // change from urlencoding to percent encoding\n .replace(/%/g, '=') +\n '?=';\n } else {\n response.params[key] = value;\n }\n }\n });\n\n return response;\n },\n\n /**\n * Returns file extension for a content type string. If no suitable extensions\n * are found, 'bin' is used as the default extension\n *\n * @param {String} mimeType Content type to be checked for\n * @return {String} File extension\n */\n detectExtension: mimeType => mimeTypes.detectExtension(mimeType),\n\n /**\n * Returns content type for a file extension. If no suitable content types\n * are found, 'application/octet-stream' is used as the default content type\n *\n * @param {String} extension Extension to be checked for\n * @return {String} File extension\n */\n detectMimeType: extension => mimeTypes.detectMimeType(extension),\n\n /**\n * Folds long lines, useful for folding header lines (afterSpace=false) and\n * flowed text (afterSpace=true)\n *\n * @param {String} str String to be folded\n * @param {Number} [lineLength=76] Maximum length of a line\n * @param {Boolean} afterSpace If true, leave a space in th end of a line\n * @return {String} String with folded lines\n */\n foldLines(str, lineLength, afterSpace) {\n str = (str || '').toString();\n lineLength = lineLength || 76;\n\n let pos = 0,\n len = str.length,\n result = '',\n line,\n match;\n\n while (pos < len) {\n line = str.substr(pos, lineLength);\n if (line.length < lineLength) {\n result += line;\n break;\n }\n if ((match = line.match(/^[^\\n\\r]*(\\r?\\n|\\r)/))) {\n line = match[0];\n result += line;\n pos += line.length;\n continue;\n } else if ((match = line.match(/(\\s+)[^\\s]*$/)) && match[0].length - (afterSpace ? (match[1] || '').length : 0) < line.length) {\n line = line.substr(0, line.length - (match[0].length - (afterSpace ? (match[1] || '').length : 0)));\n } else if ((match = str.substr(pos + line.length).match(/^[^\\s]+(\\s*)/))) {\n line = line + match[0].substr(0, match[0].length - (!afterSpace ? (match[1] || '').length : 0));\n }\n\n result += line;\n pos += line.length;\n if (pos < len) {\n result += '\\r\\n';\n }\n }\n\n return result;\n },\n\n /**\n * Splits a mime encoded string. Needed for dividing mime words into smaller chunks\n *\n * @param {String} str Mime encoded string to be split up\n * @param {Number} maxlen Maximum length of characters for one part (minimum 12)\n * @return {Array} Split string\n */\n splitMimeEncodedString: (str, maxlen) => {\n let curLine,\n match,\n chr,\n done,\n lines = [];\n\n // require at least 12 symbols to fit possible 4 octet UTF-8 sequences\n maxlen = Math.max(maxlen || 0, 12);\n\n while (str.length) {\n curLine = str.substr(0, maxlen);\n\n // move incomplete escaped char back to main\n if ((match = curLine.match(/[=][0-9A-F]?$/i))) {\n curLine = curLine.substr(0, match.index);\n }\n\n done = false;\n while (!done) {\n done = true;\n // check if not middle of a unicode char sequence\n if ((match = str.substr(curLine.length).match(/^[=]([0-9A-F]{2})/i))) {\n chr = parseInt(match[1], 16);\n // invalid sequence, move one char back anc recheck\n if (chr < 0xc2 && chr > 0x7f) {\n curLine = curLine.substr(0, curLine.length - 3);\n done = false;\n }\n }\n }\n\n if (curLine.length) {\n lines.push(curLine);\n }\n str = str.substr(curLine.length);\n }\n\n return lines;\n },\n\n encodeURICharComponent: chr => {\n let res = '';\n let ord = chr.charCodeAt(0).toString(16).toUpperCase();\n\n if (ord.length % 2) {\n ord = '0' + ord;\n }\n\n if (ord.length > 2) {\n for (let i = 0, len = ord.length / 2; i < len; i++) {\n res += '%' + ord.substr(i, 2);\n }\n } else {\n res += '%' + ord;\n }\n\n return res;\n },\n\n safeEncodeURIComponent(str) {\n str = (str || '').toString();\n\n try {\n // might throw if we try to encode invalid sequences, eg. partial emoji\n str = encodeURIComponent(str);\n } catch (E) {\n // should never run\n return str.replace(/[^\\x00-\\x1F *'()<>@,;:\\\\\"[\\]?=\\u007F-\\uFFFF]+/g, '');\n }\n\n // ensure chars that are not handled by encodeURICompent are converted as well\n return str.replace(/[\\x00-\\x1F *'()<>@,;:\\\\\"[\\]?=\\u007F-\\uFFFF]/g, chr => this.encodeURICharComponent(chr));\n }\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlFileType = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898/include/curl/curl.h#L264\r\n/**\r\n * Object with constants on the {@link FileInfo | `FileInfo`} object,\r\n * used alongside the `CHUNK_BGN_FUNCTION` option\r\n *\r\n * `CURLFILETYPE_DEVICE_BLOCK` becomes `CurlFileType.DeviceBlock`\r\n *\r\n * @public\r\n */\r\nvar CurlFileType;\r\n(function (CurlFileType) {\r\n CurlFileType[CurlFileType[\"File\"] = 0] = \"File\";\r\n CurlFileType[CurlFileType[\"Directory\"] = 1] = \"Directory\";\r\n CurlFileType[CurlFileType[\"Symlink\"] = 2] = \"Symlink\";\r\n CurlFileType[CurlFileType[\"DeviceBlock\"] = 3] = \"DeviceBlock\";\r\n CurlFileType[CurlFileType[\"DeviceChar\"] = 4] = \"DeviceChar\";\r\n CurlFileType[CurlFileType[\"NamedPipe\"] = 5] = \"NamedPipe\";\r\n CurlFileType[CurlFileType[\"Socket\"] = 6] = \"Socket\";\r\n CurlFileType[CurlFileType[\"Door\"] = 7] = \"Door\";\r\n})(CurlFileType = exports.CurlFileType || (exports.CurlFileType = {}));\r\n//# sourceMappingURL=CurlFileType.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlVersion = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n/**\r\n * Object with constants for use with the `rawFeatures` member\r\n * of {@link CurlVersionInfoNativeBindingObject | `CurlVersionInfoNativeBindingObject`}, which is returned\r\n * from {@link Curl.getVersionInfo | `Curl.getVersionInfo`}.\r\n *\r\n * `CURL_VERSION_IPV6` becomes `CurlVersion.Ipv6`\r\n * `CURL_VERSION_GSSNEGOTIATE` becomes `CurlVersion.GssNegotiate`\r\n * ...\r\n *\r\n * @public\r\n */\r\nvar CurlVersion;\r\n(function (CurlVersion) {\r\n /**\r\n * IPv6-enabled\r\n */\r\n CurlVersion[CurlVersion[\"Ipv6\"] = 1] = \"Ipv6\";\r\n /**\r\n * Kerberos V4 auth is supported (deprecated)\r\n */\r\n CurlVersion[CurlVersion[\"Kerberos4\"] = 2] = \"Kerberos4\";\r\n /**\r\n * SSL options are present\r\n */\r\n CurlVersion[CurlVersion[\"Ssl\"] = 4] = \"Ssl\";\r\n /**\r\n * libz features are present\r\n */\r\n CurlVersion[CurlVersion[\"Libz\"] = 8] = \"Libz\";\r\n /**\r\n * NTLM auth is supported\r\n */\r\n CurlVersion[CurlVersion[\"Ntlm\"] = 16] = \"Ntlm\";\r\n /**\r\n * Negotiate auth is supported (deprecated)\r\n */\r\n CurlVersion[CurlVersion[\"GssNegotiate\"] = 32] = \"GssNegotiate\";\r\n /**\r\n * libcurl was built with debug capabilities\r\n */\r\n CurlVersion[CurlVersion[\"Debug\"] = 64] = \"Debug\";\r\n /**\r\n * Asynchronous DNS resolver is available\r\n */\r\n CurlVersion[CurlVersion[\"AsynchDns\"] = 128] = \"AsynchDns\";\r\n /**\r\n * SPNEGO auth is supported\r\n */\r\n CurlVersion[CurlVersion[\"Spnego\"] = 256] = \"Spnego\";\r\n /**\r\n * Supports files larger than 2GB\r\n */\r\n CurlVersion[CurlVersion[\"LargeFile\"] = 512] = \"LargeFile\";\r\n /**\r\n * Internationized Domain Names are supported\r\n */\r\n CurlVersion[CurlVersion[\"Idn\"] = 1024] = \"Idn\";\r\n /**\r\n * Built against Windows SSPI\r\n */\r\n CurlVersion[CurlVersion[\"Sspi\"] = 2048] = \"Sspi\";\r\n /**\r\n * Character conversions supported\r\n */\r\n CurlVersion[CurlVersion[\"Conv\"] = 4096] = \"Conv\";\r\n /**\r\n * Debug memory tracking supported\r\n */\r\n CurlVersion[CurlVersion[\"CurlDebug\"] = 8192] = \"CurlDebug\";\r\n /**\r\n * TLS-SRP auth is supported\r\n */\r\n CurlVersion[CurlVersion[\"TlsAuthSrp\"] = 16384] = \"TlsAuthSrp\";\r\n /**\r\n * NTLM delegation to winbind helper is supported\r\n */\r\n CurlVersion[CurlVersion[\"NtlmWb\"] = 32768] = \"NtlmWb\";\r\n /**\r\n * HTTP2 support built-in\r\n */\r\n CurlVersion[CurlVersion[\"Http2\"] = 65536] = \"Http2\";\r\n /**\r\n * Built against a GSS-API library\r\n */\r\n CurlVersion[CurlVersion[\"GssApi\"] = 131072] = \"GssApi\";\r\n /**\r\n * Kerberos V5 auth is supported\r\n */\r\n CurlVersion[CurlVersion[\"Kerberos5\"] = 262144] = \"Kerberos5\";\r\n /**\r\n * Unix domain sockets support\r\n */\r\n CurlVersion[CurlVersion[\"UnixSockets\"] = 524288] = \"UnixSockets\";\r\n /**\r\n * Mozilla's Public Suffix List, used for cookie domain verification\r\n */\r\n CurlVersion[CurlVersion[\"Psl\"] = 1048576] = \"Psl\";\r\n /**\r\n * HTTPS-proxy support built-in\r\n */\r\n CurlVersion[CurlVersion[\"HttpsProxy\"] = 2097152] = \"HttpsProxy\";\r\n /**\r\n * Multiple SSL backends available\r\n */\r\n CurlVersion[CurlVersion[\"MultiSsl\"] = 4194304] = \"MultiSsl\";\r\n /**\r\n * Brotli features are present.\r\n */\r\n CurlVersion[CurlVersion[\"Brotli\"] = 8388608] = \"Brotli\";\r\n /**\r\n * Alt-Svc handling built-in\r\n */\r\n CurlVersion[CurlVersion[\"AltSvc\"] = 16777216] = \"AltSvc\";\r\n /**\r\n * HTTP3 support built-in\r\n */\r\n CurlVersion[CurlVersion[\"Http3\"] = 33554432] = \"Http3\";\r\n})(CurlVersion = exports.CurlVersion || (exports.CurlVersion = {}));\r\n//# sourceMappingURL=CurlVersion.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.replaceEnvironmentVariables = void 0;\nconst replaceEnvironmentVariables = (str) => {\n Object.keys(process.env).forEach((key) => {\n str = str.replace(`$${key}`, process.env[key] || `$${key}`);\n });\n return str;\n};\nexports.replaceEnvironmentVariables = replaceEnvironmentVariables;\n//# sourceMappingURL=environment.js.map","'use strict';\n\nconst shared = require('../shared');\nconst MimeNode = require('../mime-node');\nconst mimeFuncs = require('../mime-funcs');\n\nclass MailMessage {\n constructor(mailer, data) {\n this.mailer = mailer;\n this.data = {};\n this.message = null;\n\n data = data || {};\n let options = mailer.options || {};\n let defaults = mailer._defaults || {};\n\n Object.keys(data).forEach(key => {\n this.data[key] = data[key];\n });\n\n this.data.headers = this.data.headers || {};\n\n // apply defaults\n Object.keys(defaults).forEach(key => {\n if (!(key in this.data)) {\n this.data[key] = defaults[key];\n } else if (key === 'headers') {\n // headers is a special case. Allow setting individual default headers\n Object.keys(defaults.headers).forEach(key => {\n if (!(key in this.data.headers)) {\n this.data.headers[key] = defaults.headers[key];\n }\n });\n }\n });\n\n // force specific keys from transporter options\n ['disableFileAccess', 'disableUrlAccess', 'normalizeHeaderKey'].forEach(key => {\n if (key in options) {\n this.data[key] = options[key];\n }\n });\n }\n\n resolveContent(...args) {\n return shared.resolveContent(...args);\n }\n\n resolveAll(callback) {\n let keys = [\n [this.data, 'html'],\n [this.data, 'text'],\n [this.data, 'watchHtml'],\n [this.data, 'amp'],\n [this.data, 'icalEvent']\n ];\n\n if (this.data.alternatives && this.data.alternatives.length) {\n this.data.alternatives.forEach((alternative, i) => {\n keys.push([this.data.alternatives, i]);\n });\n }\n\n if (this.data.attachments && this.data.attachments.length) {\n this.data.attachments.forEach((attachment, i) => {\n if (!attachment.filename) {\n attachment.filename = (attachment.path || attachment.href || '').split('/').pop().split('?').shift() || 'attachment-' + (i + 1);\n if (attachment.filename.indexOf('.') < 0) {\n attachment.filename += '.' + mimeFuncs.detectExtension(attachment.contentType);\n }\n }\n\n if (!attachment.contentType) {\n attachment.contentType = mimeFuncs.detectMimeType(attachment.filename || attachment.path || attachment.href || 'bin');\n }\n\n keys.push([this.data.attachments, i]);\n });\n }\n\n let mimeNode = new MimeNode();\n\n let addressKeys = ['from', 'to', 'cc', 'bcc', 'sender', 'replyTo'];\n\n addressKeys.forEach(address => {\n let value;\n if (this.message) {\n value = [].concat(mimeNode._parseAddresses(this.message.getHeader(address === 'replyTo' ? 'reply-to' : address)) || []);\n } else if (this.data[address]) {\n value = [].concat(mimeNode._parseAddresses(this.data[address]) || []);\n }\n if (value && value.length) {\n this.data[address] = value;\n } else if (address in this.data) {\n this.data[address] = null;\n }\n });\n\n let singleKeys = ['from', 'sender', 'replyTo'];\n singleKeys.forEach(address => {\n if (this.data[address]) {\n this.data[address] = this.data[address].shift();\n }\n });\n\n let pos = 0;\n let resolveNext = () => {\n if (pos >= keys.length) {\n return callback(null, this.data);\n }\n let args = keys[pos++];\n if (!args[0] || !args[0][args[1]]) {\n return resolveNext();\n }\n shared.resolveContent(...args, (err, value) => {\n if (err) {\n return callback(err);\n }\n\n let node = {\n content: value\n };\n if (args[0][args[1]] && typeof args[0][args[1]] === 'object' && !Buffer.isBuffer(args[0][args[1]])) {\n Object.keys(args[0][args[1]]).forEach(key => {\n if (!(key in node) && !['content', 'path', 'href', 'raw'].includes(key)) {\n node[key] = args[0][args[1]][key];\n }\n });\n }\n\n args[0][args[1]] = node;\n resolveNext();\n });\n };\n\n setImmediate(() => resolveNext());\n }\n\n normalize(callback) {\n let envelope = this.data.envelope || this.message.getEnvelope();\n let messageId = this.message.messageId();\n\n this.resolveAll((err, data) => {\n if (err) {\n return callback(err);\n }\n\n data.envelope = envelope;\n data.messageId = messageId;\n\n ['html', 'text', 'watchHtml', 'amp'].forEach(key => {\n if (data[key] && data[key].content) {\n if (typeof data[key].content === 'string') {\n data[key] = data[key].content;\n } else if (Buffer.isBuffer(data[key].content)) {\n data[key] = data[key].content.toString();\n }\n }\n });\n\n if (data.icalEvent && Buffer.isBuffer(data.icalEvent.content)) {\n data.icalEvent.content = data.icalEvent.content.toString('base64');\n data.icalEvent.encoding = 'base64';\n }\n\n if (data.alternatives && data.alternatives.length) {\n data.alternatives.forEach(alternative => {\n if (alternative && alternative.content && Buffer.isBuffer(alternative.content)) {\n alternative.content = alternative.content.toString('base64');\n alternative.encoding = 'base64';\n }\n });\n }\n\n if (data.attachments && data.attachments.length) {\n data.attachments.forEach(attachment => {\n if (attachment && attachment.content && Buffer.isBuffer(attachment.content)) {\n attachment.content = attachment.content.toString('base64');\n attachment.encoding = 'base64';\n }\n });\n }\n\n data.normalizedHeaders = {};\n Object.keys(data.headers || {}).forEach(key => {\n let value = [].concat(data.headers[key] || []).shift();\n value = (value && value.value) || value;\n if (value) {\n if (['references', 'in-reply-to', 'message-id', 'content-id'].includes(key)) {\n value = this.message._encodeHeaderValue(key, value);\n }\n data.normalizedHeaders[key] = value;\n }\n });\n\n if (data.list && typeof data.list === 'object') {\n let listHeaders = this._getListHeaders(data.list);\n listHeaders.forEach(entry => {\n data.normalizedHeaders[entry.key] = entry.value.map(val => (val && val.value) || val).join(', ');\n });\n }\n\n if (data.references) {\n data.normalizedHeaders.references = this.message._encodeHeaderValue('references', data.references);\n }\n\n if (data.inReplyTo) {\n data.normalizedHeaders['in-reply-to'] = this.message._encodeHeaderValue('in-reply-to', data.inReplyTo);\n }\n\n return callback(null, data);\n });\n }\n\n setMailerHeader() {\n if (!this.message || !this.data.xMailer) {\n return;\n }\n this.message.setHeader('X-Mailer', this.data.xMailer);\n }\n\n setPriorityHeaders() {\n if (!this.message || !this.data.priority) {\n return;\n }\n switch ((this.data.priority || '').toString().toLowerCase()) {\n case 'high':\n this.message.setHeader('X-Priority', '1 (Highest)');\n this.message.setHeader('X-MSMail-Priority', 'High');\n this.message.setHeader('Importance', 'High');\n break;\n case 'low':\n this.message.setHeader('X-Priority', '5 (Lowest)');\n this.message.setHeader('X-MSMail-Priority', 'Low');\n this.message.setHeader('Importance', 'Low');\n break;\n default:\n // do not add anything, since all messages are 'Normal' by default\n }\n }\n\n setListHeaders() {\n if (!this.message || !this.data.list || typeof this.data.list !== 'object') {\n return;\n }\n // add optional List-* headers\n if (this.data.list && typeof this.data.list === 'object') {\n this._getListHeaders(this.data.list).forEach(listHeader => {\n listHeader.value.forEach(value => {\n this.message.addHeader(listHeader.key, value);\n });\n });\n }\n }\n\n _getListHeaders(listData) {\n // make sure an url looks like \n return Object.keys(listData).map(key => ({\n key: 'list-' + key.toLowerCase().trim(),\n value: [].concat(listData[key] || []).map(value => ({\n prepared: true,\n foldLines: true,\n value: []\n .concat(value || [])\n .map(value => {\n if (typeof value === 'string') {\n value = {\n url: value\n };\n }\n\n if (value && value.url) {\n if (key.toLowerCase().trim() === 'id') {\n // List-ID: \"comment\" \n let comment = value.comment || '';\n if (mimeFuncs.isPlainText(comment)) {\n comment = '\"' + comment + '\"';\n } else {\n comment = mimeFuncs.encodeWord(comment);\n }\n\n return (value.comment ? comment + ' ' : '') + this._formatListUrl(value.url).replace(/^<[^:]+\\/{,2}/, '');\n }\n\n // List-*: (comment)\n let comment = value.comment || '';\n if (!mimeFuncs.isPlainText(comment)) {\n comment = mimeFuncs.encodeWord(comment);\n }\n\n return this._formatListUrl(value.url) + (value.comment ? ' (' + comment + ')' : '');\n }\n\n return '';\n })\n .filter(value => value)\n .join(', ')\n }))\n }));\n }\n\n _formatListUrl(url) {\n url = url.replace(/[\\s<]+|[\\s>]+/g, '');\n if (/^(https?|mailto|ftp):/.test(url)) {\n return '<' + url + '>';\n }\n if (/^[^@]+@[^@]+$/.test(url)) {\n return '';\n }\n\n return '';\n }\n}\n\nmodule.exports = MailMessage;\n","'use strict';\nconst deburr = require('lodash.deburr');\nconst escapeStringRegexp = require('escape-string-regexp');\nconst builtinReplacements = require('./replacements');\n\nconst doCustomReplacements = (string, replacements) => {\n\tfor (const [key, value] of replacements) {\n\t\t// TODO: Use `String#replaceAll()` when targeting Node.js 16.\n\t\tstring = string.replace(new RegExp(escapeStringRegexp(key), 'g'), value);\n\t}\n\n\treturn string;\n};\n\nmodule.exports = (string, options) => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got \\`${typeof string}\\``);\n\t}\n\n\toptions = {\n\t\tcustomReplacements: [],\n\t\t...options\n\t};\n\n\tconst customReplacements = new Map([\n\t\t...builtinReplacements,\n\t\t...options.customReplacements\n\t]);\n\n\tstring = string.normalize();\n\tstring = doCustomReplacements(string, customReplacements);\n\tstring = deburr(string);\n\n\treturn string;\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlFtpMethod = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be825453489/include/curl/curl.h#L873\r\n// @TODO Fix enum members naming on semver major bump\r\n/**\r\n * Object with constants for option `FTP_FILEMETHOD`\r\n *\r\n * `CURLFTPMETHOD_MULTICWD` becomes `CurlFtpMethod.MULTICWD`\r\n *\r\n * This is not following the PascalCase naming format because of a mistake. To not cause a breaking change\r\n * it will stay this way until the next major version bump.\r\n *\r\n * @public\r\n */\r\nvar CurlFtpMethod;\r\n(function (CurlFtpMethod) {\r\n /**\r\n * let libcurl pick\r\n */\r\n CurlFtpMethod[CurlFtpMethod[\"DEFAULT\"] = 0] = \"DEFAULT\";\r\n /**\r\n * single CWD operation for each path part\r\n */\r\n CurlFtpMethod[CurlFtpMethod[\"MULTICWD\"] = 1] = \"MULTICWD\";\r\n /**\r\n * no CWD at all\r\n */\r\n CurlFtpMethod[CurlFtpMethod[\"NOCWD\"] = 2] = \"NOCWD\";\r\n /**\r\n * one CWD to full dir, then work on file\r\n */\r\n CurlFtpMethod[CurlFtpMethod[\"SINGLECWD\"] = 3] = \"SINGLECWD\";\r\n})(CurlFtpMethod = exports.CurlFtpMethod || (exports.CurlFtpMethod = {}));\r\n//# sourceMappingURL=CurlFtpMethod.js.map","// This is not the set of all possible signals.\n//\n// It IS, however, the set of all signals that trigger\n// an exit on either Linux or BSD systems. Linux is a\n// superset of the signal names supported on BSD, and\n// the unknown signals just fail to register, so we can\n// catch that easily enough.\n//\n// Don't bother with SIGKILL. It's uncatchable, which\n// means that we can't fire any callbacks anyway.\n//\n// If a user does happen to register a handler on a non-\n// fatal signal like SIGWINCH or something, and then\n// exit, it'll end up firing `process.emit('exit')`, so\n// the handler will be fired anyway.\n//\n// SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n// artificially, inherently leave the process in a\n// state from which it is not safe to try and enter JS\n// listeners.\nmodule.exports = [\n 'SIGABRT',\n 'SIGALRM',\n 'SIGHUP',\n 'SIGINT',\n 'SIGTERM'\n]\n\nif (process.platform !== 'win32') {\n module.exports.push(\n 'SIGVTALRM',\n 'SIGXCPU',\n 'SIGXFSZ',\n 'SIGUSR2',\n 'SIGTRAP',\n 'SIGSYS',\n 'SIGQUIT',\n 'SIGIOT'\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n )\n}\n\nif (process.platform === 'linux') {\n module.exports.push(\n 'SIGIO',\n 'SIGPOLL',\n 'SIGPWR',\n 'SIGSTKFLT',\n 'SIGUNUSED'\n )\n}\n","var common = require('./common');\nvar fs = require('fs');\nvar path = require('path');\n\ncommon.register('mkdir', _mkdir, {\n cmdOptions: {\n 'p': 'fullpath',\n },\n});\n\n// Recursively creates `dir`\nfunction mkdirSyncRecursive(dir) {\n var baseDir = path.dirname(dir);\n\n // Prevents some potential problems arising from malformed UNCs or\n // insufficient permissions.\n /* istanbul ignore next */\n if (baseDir === dir) {\n common.error('dirname() failed: [' + dir + ']');\n }\n\n // Base dir exists, no recursion necessary\n if (fs.existsSync(baseDir)) {\n fs.mkdirSync(dir, parseInt('0777', 8));\n return;\n }\n\n // Base dir does not exist, go recursive\n mkdirSyncRecursive(baseDir);\n\n // Base dir created, can create dir\n fs.mkdirSync(dir, parseInt('0777', 8));\n}\n\n//@\n//@ ### mkdir([options,] dir [, dir ...])\n//@ ### mkdir([options,] dir_array)\n//@\n//@ Available options:\n//@\n//@ + `-p`: full path (and create intermediate directories, if necessary)\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ mkdir('-p', '/tmp/a/b/c/d', '/tmp/e/f/g');\n//@ mkdir('-p', ['/tmp/a/b/c/d', '/tmp/e/f/g']); // same as above\n//@ ```\n//@\n//@ Creates directories.\nfunction _mkdir(options, dirs) {\n if (!dirs) common.error('no paths given');\n\n if (typeof dirs === 'string') {\n dirs = [].slice.call(arguments, 1);\n }\n // if it's array leave it as it is\n\n dirs.forEach(function (dir) {\n try {\n var stat = common.statNoFollowLinks(dir);\n if (!options.fullpath) {\n common.error('path already exists: ' + dir, { continue: true });\n } else if (stat.isFile()) {\n common.error('cannot create directory ' + dir + ': File exists', { continue: true });\n }\n return; // skip dir\n } catch (e) {\n // do nothing\n }\n\n // Base dir does not exist, and no -p option given\n var baseDir = path.dirname(dir);\n if (!fs.existsSync(baseDir) && !options.fullpath) {\n common.error('no such file or directory: ' + baseDir, { continue: true });\n return; // skip dir\n }\n\n try {\n if (options.fullpath) {\n mkdirSyncRecursive(path.resolve(dir));\n } else {\n fs.mkdirSync(dir, parseInt('0777', 8));\n }\n } catch (e) {\n var reason;\n if (e.code === 'EACCES') {\n reason = 'Permission denied';\n } else if (e.code === 'ENOTDIR' || e.code === 'ENOENT') {\n reason = 'Not a directory';\n } else {\n /* istanbul ignore next */\n throw e;\n }\n common.error('cannot create directory ' + dir + ': ' + reason, { continue: true });\n }\n });\n return '';\n} // mkdir\nmodule.exports = _mkdir;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.curl = void 0;\nconst node_libcurl_1 = require(\"node-libcurl\");\nconst environment_1 = require(\"./environment\");\nconst curl = (site) => new Promise((resolve) => {\n const url = environment_1.replaceEnvironmentVariables(site.url);\n const method = site.method || \"GET\";\n const curl = new node_libcurl_1.Curl();\n curl.enable(node_libcurl_1.CurlFeature.Raw);\n curl.setOpt(\"URL\", url);\n if (site.headers)\n curl.setOpt(node_libcurl_1.Curl.option.HTTPHEADER, site.headers.map(environment_1.replaceEnvironmentVariables));\n if (site.__dangerous__insecure)\n curl.setOpt(\"SSL_VERIFYPEER\", false);\n curl.setOpt(\"FOLLOWLOCATION\", 1);\n curl.setOpt(\"MAXREDIRS\", 3);\n curl.setOpt(\"USERAGENT\", \"Koj Bot\");\n curl.setOpt(\"CONNECTTIMEOUT\", 10);\n curl.setOpt(\"TIMEOUT\", 30);\n curl.setOpt(\"HEADER\", 1);\n curl.setOpt(\"VERBOSE\", false);\n curl.setOpt(\"CUSTOMREQUEST\", method);\n curl.on(\"error\", () => {\n curl.close();\n return resolve({ httpCode: 0, totalTime: 0 });\n });\n curl.on(\"end\", () => {\n let httpCode = 0;\n let totalTime = 0;\n try {\n httpCode = Number(curl.getInfo(\"RESPONSE_CODE\"));\n totalTime = Number(curl.getInfo(\"TOTAL_TIME\"));\n }\n catch (error) {\n curl.close();\n return resolve({ httpCode, totalTime });\n }\n return resolve({ httpCode, totalTime });\n });\n curl.perform();\n});\nexports.curl = curl;\n//# sourceMappingURL=request.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlChunk = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L318\r\n/**\r\n * Object to be used as the return value for the callbacks set\r\n * with the options `CHUNK_BGN_FUNCTION` and `CHUNK_END_FUNCTION`.\r\n *\r\n * `CURL_CHUNK_BGN_FUNC_OK` becomes `CurlChunk.BgnFuncOk`\r\n *\r\n * @public\r\n */\r\nvar CurlChunk;\r\n(function (CurlChunk) {\r\n CurlChunk[CurlChunk[\"BgnFuncOk\"] = 0] = \"BgnFuncOk\";\r\n CurlChunk[CurlChunk[\"BgnFuncFail\"] = 1] = \"BgnFuncFail\";\r\n CurlChunk[CurlChunk[\"BgnFuncSkip\"] = 2] = \"BgnFuncSkip\";\r\n CurlChunk[CurlChunk[\"EndFuncOk\"] = 0] = \"EndFuncOk\";\r\n CurlChunk[CurlChunk[\"EndFuncFail\"] = 1] = \"EndFuncFail\";\r\n})(CurlChunk = exports.CurlChunk || (exports.CurlChunk = {}));\r\n//# sourceMappingURL=CurlChunk.js.map","let _fs\ntry {\n _fs = require('graceful-fs')\n} catch (_) {\n _fs = require('fs')\n}\nconst universalify = require('universalify')\nconst { stringify, stripBom } = require('./utils')\n\nasync function _readFile (file, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n const fs = options.fs || _fs\n\n const shouldThrow = 'throws' in options ? options.throws : true\n\n let data = await universalify.fromCallback(fs.readFile)(file, options)\n\n data = stripBom(data)\n\n let obj\n try {\n obj = JSON.parse(data, options ? options.reviver : null)\n } catch (err) {\n if (shouldThrow) {\n err.message = `${file}: ${err.message}`\n throw err\n } else {\n return null\n }\n }\n\n return obj\n}\n\nconst readFile = universalify.fromPromise(_readFile)\n\nfunction readFileSync (file, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n const fs = options.fs || _fs\n\n const shouldThrow = 'throws' in options ? options.throws : true\n\n try {\n let content = fs.readFileSync(file, options)\n content = stripBom(content)\n return JSON.parse(content, options.reviver)\n } catch (err) {\n if (shouldThrow) {\n err.message = `${file}: ${err.message}`\n throw err\n } else {\n return null\n }\n }\n}\n\nasync function _writeFile (file, obj, options = {}) {\n const fs = options.fs || _fs\n\n const str = stringify(obj, options)\n\n await universalify.fromCallback(fs.writeFile)(file, str, options)\n}\n\nconst writeFile = universalify.fromPromise(_writeFile)\n\nfunction writeFileSync (file, obj, options = {}) {\n const fs = options.fs || _fs\n\n const str = stringify(obj, options)\n // not sure if fs.writeFileSync returns anything, but just in case\n return fs.writeFileSync(file, str, options)\n}\n\nconst jsonfile = {\n readFile,\n readFileSync,\n writeFile,\n writeFileSync\n}\n\nmodule.exports = jsonfile\n","module.exports = require(\"util\");","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildFullPath = require('../core/buildFullPath');\nvar buildURL = require('./../helpers/buildURL');\nvar http = require('http');\nvar https = require('https');\nvar httpFollow = require('follow-redirects').http;\nvar httpsFollow = require('follow-redirects').https;\nvar url = require('url');\nvar zlib = require('zlib');\nvar pkg = require('./../../package.json');\nvar createError = require('../core/createError');\nvar enhanceError = require('../core/enhanceError');\n\nvar isHttps = /https:?/;\n\n/*eslint consistent-return:0*/\nmodule.exports = function httpAdapter(config) {\n return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) {\n var resolve = function resolve(value) {\n resolvePromise(value);\n };\n var reject = function reject(value) {\n rejectPromise(value);\n };\n var data = config.data;\n var headers = config.headers;\n\n // Set User-Agent (required by some servers)\n // Only set header if it hasn't been set in config\n // See https://github.com/axios/axios/issues/69\n if (!headers['User-Agent'] && !headers['user-agent']) {\n headers['User-Agent'] = 'axios/' + pkg.version;\n }\n\n if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(createError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers['Content-Length'] = data.length;\n }\n\n // HTTP basic authentication\n var auth = undefined;\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n // Parse url\n var fullPath = buildFullPath(config.baseURL, config.url);\n var parsed = url.parse(fullPath);\n var protocol = parsed.protocol || 'http:';\n\n if (!auth && parsed.auth) {\n var urlAuth = parsed.auth.split(':');\n var urlUsername = urlAuth[0] || '';\n var urlPassword = urlAuth[1] || '';\n auth = urlUsername + ':' + urlPassword;\n }\n\n if (auth) {\n delete headers.Authorization;\n }\n\n var isHttpsRequest = isHttps.test(protocol);\n var agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n\n var options = {\n path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\\?/, ''),\n method: config.method.toUpperCase(),\n headers: headers,\n agent: agent,\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth: auth\n };\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname;\n options.port = parsed.port;\n }\n\n var proxy = config.proxy;\n if (!proxy && proxy !== false) {\n var proxyEnv = protocol.slice(0, -1) + '_proxy';\n var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()];\n if (proxyUrl) {\n var parsedProxyUrl = url.parse(proxyUrl);\n var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY;\n var shouldProxy = true;\n\n if (noProxyEnv) {\n var noProxy = noProxyEnv.split(',').map(function trim(s) {\n return s.trim();\n });\n\n shouldProxy = !noProxy.some(function proxyMatch(proxyElement) {\n if (!proxyElement) {\n return false;\n }\n if (proxyElement === '*') {\n return true;\n }\n if (proxyElement[0] === '.' &&\n parsed.hostname.substr(parsed.hostname.length - proxyElement.length) === proxyElement) {\n return true;\n }\n\n return parsed.hostname === proxyElement;\n });\n }\n\n\n if (shouldProxy) {\n proxy = {\n host: parsedProxyUrl.hostname,\n port: parsedProxyUrl.port\n };\n\n if (parsedProxyUrl.auth) {\n var proxyUrlAuth = parsedProxyUrl.auth.split(':');\n proxy.auth = {\n username: proxyUrlAuth[0],\n password: proxyUrlAuth[1]\n };\n }\n }\n }\n }\n\n if (proxy) {\n options.hostname = proxy.host;\n options.host = proxy.host;\n options.headers.host = parsed.hostname + (parsed.port ? ':' + parsed.port : '');\n options.port = proxy.port;\n options.path = protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path;\n\n // Basic proxy authorization\n if (proxy.auth) {\n var base64 = Buffer.from(proxy.auth.username + ':' + proxy.auth.password, 'utf8').toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n }\n\n var transport;\n var isHttpsProxy = isHttpsRequest && (proxy ? isHttps.test(proxy.protocol) : true);\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsProxy ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n transport = isHttpsProxy ? httpsFollow : httpFollow;\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n }\n\n // Create the request\n var req = transport.request(options, function handleResponse(res) {\n if (req.aborted) return;\n\n // uncompress the response body transparently if required\n var stream = res;\n\n // return the last request in case of redirects\n var lastRequest = res.req || req;\n\n\n // if no content, is HEAD request or decompress disabled we should not decompress\n if (res.statusCode !== 204 && lastRequest.method !== 'HEAD' && config.decompress !== false) {\n switch (res.headers['content-encoding']) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'compress':\n case 'deflate':\n // add the unzipper to the body stream processing pipeline\n stream = stream.pipe(zlib.createUnzip());\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n }\n }\n\n var response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: res.headers,\n config: config,\n request: lastRequest\n };\n\n if (config.responseType === 'stream') {\n response.data = stream;\n settle(resolve, reject, response);\n } else {\n var responseBuffer = [];\n stream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && Buffer.concat(responseBuffer).length > config.maxContentLength) {\n stream.destroy();\n reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n config, null, lastRequest));\n }\n });\n\n stream.on('error', function handleStreamError(err) {\n if (req.aborted) return;\n reject(enhanceError(err, config, null, lastRequest));\n });\n\n stream.on('end', function handleStreamEnd() {\n var responseData = Buffer.concat(responseBuffer);\n if (config.responseType !== 'arraybuffer') {\n responseData = responseData.toString(config.responseEncoding);\n if (!config.responseEncoding || config.responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n\n response.data = responseData;\n settle(resolve, reject, response);\n });\n }\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n if (req.aborted && err.code !== 'ERR_FR_TOO_MANY_REDIRECTS') return;\n reject(enhanceError(err, config, null, req));\n });\n\n // Handle request timeout\n if (config.timeout) {\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devoring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(config.timeout, function handleRequestTimeout() {\n req.abort();\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', req));\n });\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (req.aborted) return;\n\n req.abort();\n reject(cancel);\n });\n }\n\n // Send the request\n if (utils.isStream(data)) {\n data.on('error', function handleStreamError(err) {\n reject(enhanceError(err, config, null, req));\n }).pipe(req);\n } else {\n req.end(data);\n }\n });\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","'use strict';\nconst path = require('path');\nconst childProcess = require('child_process');\nconst crossSpawn = require('cross-spawn');\nconst stripEof = require('strip-eof');\nconst npmRunPath = require('npm-run-path');\nconst isStream = require('is-stream');\nconst _getStream = require('get-stream');\nconst pFinally = require('p-finally');\nconst onExit = require('signal-exit');\nconst errname = require('./lib/errname');\nconst stdio = require('./lib/stdio');\n\nconst TEN_MEGABYTES = 1000 * 1000 * 10;\n\nfunction handleArgs(cmd, args, opts) {\n\tlet parsed;\n\n\topts = Object.assign({\n\t\textendEnv: true,\n\t\tenv: {}\n\t}, opts);\n\n\tif (opts.extendEnv) {\n\t\topts.env = Object.assign({}, process.env, opts.env);\n\t}\n\n\tif (opts.__winShell === true) {\n\t\tdelete opts.__winShell;\n\t\tparsed = {\n\t\t\tcommand: cmd,\n\t\t\targs,\n\t\t\toptions: opts,\n\t\t\tfile: cmd,\n\t\t\toriginal: {\n\t\t\t\tcmd,\n\t\t\t\targs\n\t\t\t}\n\t\t};\n\t} else {\n\t\tparsed = crossSpawn._parse(cmd, args, opts);\n\t}\n\n\topts = Object.assign({\n\t\tmaxBuffer: TEN_MEGABYTES,\n\t\tbuffer: true,\n\t\tstripEof: true,\n\t\tpreferLocal: true,\n\t\tlocalDir: parsed.options.cwd || process.cwd(),\n\t\tencoding: 'utf8',\n\t\treject: true,\n\t\tcleanup: true\n\t}, parsed.options);\n\n\topts.stdio = stdio(opts);\n\n\tif (opts.preferLocal) {\n\t\topts.env = npmRunPath.env(Object.assign({}, opts, {cwd: opts.localDir}));\n\t}\n\n\tif (opts.detached) {\n\t\t// #115\n\t\topts.cleanup = false;\n\t}\n\n\tif (process.platform === 'win32' && path.basename(parsed.command) === 'cmd.exe') {\n\t\t// #116\n\t\tparsed.args.unshift('/q');\n\t}\n\n\treturn {\n\t\tcmd: parsed.command,\n\t\targs: parsed.args,\n\t\topts,\n\t\tparsed\n\t};\n}\n\nfunction handleInput(spawned, input) {\n\tif (input === null || input === undefined) {\n\t\treturn;\n\t}\n\n\tif (isStream(input)) {\n\t\tinput.pipe(spawned.stdin);\n\t} else {\n\t\tspawned.stdin.end(input);\n\t}\n}\n\nfunction handleOutput(opts, val) {\n\tif (val && opts.stripEof) {\n\t\tval = stripEof(val);\n\t}\n\n\treturn val;\n}\n\nfunction handleShell(fn, cmd, opts) {\n\tlet file = '/bin/sh';\n\tlet args = ['-c', cmd];\n\n\topts = Object.assign({}, opts);\n\n\tif (process.platform === 'win32') {\n\t\topts.__winShell = true;\n\t\tfile = process.env.comspec || 'cmd.exe';\n\t\targs = ['/s', '/c', `\"${cmd}\"`];\n\t\topts.windowsVerbatimArguments = true;\n\t}\n\n\tif (opts.shell) {\n\t\tfile = opts.shell;\n\t\tdelete opts.shell;\n\t}\n\n\treturn fn(file, args, opts);\n}\n\nfunction getStream(process, stream, {encoding, buffer, maxBuffer}) {\n\tif (!process[stream]) {\n\t\treturn null;\n\t}\n\n\tlet ret;\n\n\tif (!buffer) {\n\t\t// TODO: Use `ret = util.promisify(stream.finished)(process[stream]);` when targeting Node.js 10\n\t\tret = new Promise((resolve, reject) => {\n\t\t\tprocess[stream]\n\t\t\t\t.once('end', resolve)\n\t\t\t\t.once('error', reject);\n\t\t});\n\t} else if (encoding) {\n\t\tret = _getStream(process[stream], {\n\t\t\tencoding,\n\t\t\tmaxBuffer\n\t\t});\n\t} else {\n\t\tret = _getStream.buffer(process[stream], {maxBuffer});\n\t}\n\n\treturn ret.catch(err => {\n\t\terr.stream = stream;\n\t\terr.message = `${stream} ${err.message}`;\n\t\tthrow err;\n\t});\n}\n\nfunction makeError(result, options) {\n\tconst {stdout, stderr} = result;\n\n\tlet err = result.error;\n\tconst {code, signal} = result;\n\n\tconst {parsed, joinedCmd} = options;\n\tconst timedOut = options.timedOut || false;\n\n\tif (!err) {\n\t\tlet output = '';\n\n\t\tif (Array.isArray(parsed.opts.stdio)) {\n\t\t\tif (parsed.opts.stdio[2] !== 'inherit') {\n\t\t\t\toutput += output.length > 0 ? stderr : `\\n${stderr}`;\n\t\t\t}\n\n\t\t\tif (parsed.opts.stdio[1] !== 'inherit') {\n\t\t\t\toutput += `\\n${stdout}`;\n\t\t\t}\n\t\t} else if (parsed.opts.stdio !== 'inherit') {\n\t\t\toutput = `\\n${stderr}${stdout}`;\n\t\t}\n\n\t\terr = new Error(`Command failed: ${joinedCmd}${output}`);\n\t\terr.code = code < 0 ? errname(code) : code;\n\t}\n\n\terr.stdout = stdout;\n\terr.stderr = stderr;\n\terr.failed = true;\n\terr.signal = signal || null;\n\terr.cmd = joinedCmd;\n\terr.timedOut = timedOut;\n\n\treturn err;\n}\n\nfunction joinCmd(cmd, args) {\n\tlet joinedCmd = cmd;\n\n\tif (Array.isArray(args) && args.length > 0) {\n\t\tjoinedCmd += ' ' + args.join(' ');\n\t}\n\n\treturn joinedCmd;\n}\n\nmodule.exports = (cmd, args, opts) => {\n\tconst parsed = handleArgs(cmd, args, opts);\n\tconst {encoding, buffer, maxBuffer} = parsed.opts;\n\tconst joinedCmd = joinCmd(cmd, args);\n\n\tlet spawned;\n\ttry {\n\t\tspawned = childProcess.spawn(parsed.cmd, parsed.args, parsed.opts);\n\t} catch (err) {\n\t\treturn Promise.reject(err);\n\t}\n\n\tlet removeExitHandler;\n\tif (parsed.opts.cleanup) {\n\t\tremoveExitHandler = onExit(() => {\n\t\t\tspawned.kill();\n\t\t});\n\t}\n\n\tlet timeoutId = null;\n\tlet timedOut = false;\n\n\tconst cleanup = () => {\n\t\tif (timeoutId) {\n\t\t\tclearTimeout(timeoutId);\n\t\t\ttimeoutId = null;\n\t\t}\n\n\t\tif (removeExitHandler) {\n\t\t\tremoveExitHandler();\n\t\t}\n\t};\n\n\tif (parsed.opts.timeout > 0) {\n\t\ttimeoutId = setTimeout(() => {\n\t\t\ttimeoutId = null;\n\t\t\ttimedOut = true;\n\t\t\tspawned.kill(parsed.opts.killSignal);\n\t\t}, parsed.opts.timeout);\n\t}\n\n\tconst processDone = new Promise(resolve => {\n\t\tspawned.on('exit', (code, signal) => {\n\t\t\tcleanup();\n\t\t\tresolve({code, signal});\n\t\t});\n\n\t\tspawned.on('error', err => {\n\t\t\tcleanup();\n\t\t\tresolve({error: err});\n\t\t});\n\n\t\tif (spawned.stdin) {\n\t\t\tspawned.stdin.on('error', err => {\n\t\t\t\tcleanup();\n\t\t\t\tresolve({error: err});\n\t\t\t});\n\t\t}\n\t});\n\n\tfunction destroy() {\n\t\tif (spawned.stdout) {\n\t\t\tspawned.stdout.destroy();\n\t\t}\n\n\t\tif (spawned.stderr) {\n\t\t\tspawned.stderr.destroy();\n\t\t}\n\t}\n\n\tconst handlePromise = () => pFinally(Promise.all([\n\t\tprocessDone,\n\t\tgetStream(spawned, 'stdout', {encoding, buffer, maxBuffer}),\n\t\tgetStream(spawned, 'stderr', {encoding, buffer, maxBuffer})\n\t]).then(arr => {\n\t\tconst result = arr[0];\n\t\tresult.stdout = arr[1];\n\t\tresult.stderr = arr[2];\n\n\t\tif (result.error || result.code !== 0 || result.signal !== null) {\n\t\t\tconst err = makeError(result, {\n\t\t\t\tjoinedCmd,\n\t\t\t\tparsed,\n\t\t\t\ttimedOut\n\t\t\t});\n\n\t\t\t// TODO: missing some timeout logic for killed\n\t\t\t// https://github.com/nodejs/node/blob/master/lib/child_process.js#L203\n\t\t\t// err.killed = spawned.killed || killed;\n\t\t\terr.killed = err.killed || spawned.killed;\n\n\t\t\tif (!parsed.opts.reject) {\n\t\t\t\treturn err;\n\t\t\t}\n\n\t\t\tthrow err;\n\t\t}\n\n\t\treturn {\n\t\t\tstdout: handleOutput(parsed.opts, result.stdout),\n\t\t\tstderr: handleOutput(parsed.opts, result.stderr),\n\t\t\tcode: 0,\n\t\t\tfailed: false,\n\t\t\tkilled: false,\n\t\t\tsignal: null,\n\t\t\tcmd: joinedCmd,\n\t\t\ttimedOut: false\n\t\t};\n\t}), destroy);\n\n\tcrossSpawn._enoent.hookChildProcess(spawned, parsed.parsed);\n\n\thandleInput(spawned, parsed.opts.input);\n\n\tspawned.then = (onfulfilled, onrejected) => handlePromise().then(onfulfilled, onrejected);\n\tspawned.catch = onrejected => handlePromise().catch(onrejected);\n\n\treturn spawned;\n};\n\n// TODO: set `stderr: 'ignore'` when that option is implemented\nmodule.exports.stdout = (...args) => module.exports(...args).then(x => x.stdout);\n\n// TODO: set `stdout: 'ignore'` when that option is implemented\nmodule.exports.stderr = (...args) => module.exports(...args).then(x => x.stderr);\n\nmodule.exports.shell = (cmd, opts) => handleShell(module.exports, cmd, opts);\n\nmodule.exports.sync = (cmd, args, opts) => {\n\tconst parsed = handleArgs(cmd, args, opts);\n\tconst joinedCmd = joinCmd(cmd, args);\n\n\tif (isStream(parsed.opts.input)) {\n\t\tthrow new TypeError('The `input` option cannot be a stream in sync mode');\n\t}\n\n\tconst result = childProcess.spawnSync(parsed.cmd, parsed.args, parsed.opts);\n\tresult.code = result.status;\n\n\tif (result.error || result.status !== 0 || result.signal !== null) {\n\t\tconst err = makeError(result, {\n\t\t\tjoinedCmd,\n\t\t\tparsed\n\t\t});\n\n\t\tif (!parsed.opts.reject) {\n\t\t\treturn err;\n\t\t}\n\n\t\tthrow err;\n\t}\n\n\treturn {\n\t\tstdout: handleOutput(parsed.opts, result.stdout),\n\t\tstderr: handleOutput(parsed.opts, result.stderr),\n\t\tcode: 0,\n\t\tfailed: false,\n\t\tsignal: null,\n\t\tcmd: joinedCmd,\n\t\ttimedOut: false\n\t};\n};\n\nmodule.exports.shellSync = (cmd, opts) => handleShell(module.exports.sync, cmd, opts);\n","'use strict'\n\nexports.fromCallback = function (fn) {\n return Object.defineProperty(function (...args) {\n if (typeof args[args.length - 1] === 'function') fn.apply(this, args)\n else {\n return new Promise((resolve, reject) => {\n fn.apply(\n this,\n args.concat([(err, res) => err ? reject(err) : resolve(res)])\n )\n })\n }\n }, 'name', { value: fn.name })\n}\n\nexports.fromPromise = function (fn) {\n return Object.defineProperty(function (...args) {\n const cb = args[args.length - 1]\n if (typeof cb !== 'function') return fn.apply(this, args)\n else fn.apply(this, args.slice(0, -1)).then(r => cb(null, r), cb)\n }, 'name', { value: fn.name })\n}\n","'use strict';\n\n// FIXME:\n// replace this Transform mess with a method that pipes input argument to output argument\n\nconst MessageParser = require('./message-parser');\nconst RelaxedBody = require('./relaxed-body');\nconst sign = require('./sign');\nconst PassThrough = require('stream').PassThrough;\nconst fs = require('fs');\nconst path = require('path');\nconst crypto = require('crypto');\n\nconst DKIM_ALGO = 'sha256';\nconst MAX_MESSAGE_SIZE = 128 * 1024; // buffer messages larger than this to disk\n\n/*\n// Usage:\n\nlet dkim = new DKIM({\n domainName: 'example.com',\n keySelector: 'key-selector',\n privateKey,\n cacheDir: '/tmp'\n});\ndkim.sign(input).pipe(process.stdout);\n\n// Where inputStream is a rfc822 message (either a stream, string or Buffer)\n// and outputStream is a DKIM signed rfc822 message\n*/\n\nclass DKIMSigner {\n constructor(options, keys, input, output) {\n this.options = options || {};\n this.keys = keys;\n\n this.cacheTreshold = Number(this.options.cacheTreshold) || MAX_MESSAGE_SIZE;\n this.hashAlgo = this.options.hashAlgo || DKIM_ALGO;\n\n this.cacheDir = this.options.cacheDir || false;\n\n this.chunks = [];\n this.chunklen = 0;\n this.readPos = 0;\n this.cachePath = this.cacheDir ? path.join(this.cacheDir, 'message.' + Date.now() + '-' + crypto.randomBytes(14).toString('hex')) : false;\n this.cache = false;\n\n this.headers = false;\n this.bodyHash = false;\n this.parser = false;\n this.relaxedBody = false;\n\n this.input = input;\n this.output = output;\n this.output.usingCache = false;\n\n this.errored = false;\n\n this.input.on('error', err => {\n this.errored = true;\n this.cleanup();\n output.emit('error', err);\n });\n }\n\n cleanup() {\n if (!this.cache || !this.cachePath) {\n return;\n }\n fs.unlink(this.cachePath, () => false);\n }\n\n createReadCache() {\n // pipe remainings to cache file\n this.cache = fs.createReadStream(this.cachePath);\n this.cache.once('error', err => {\n this.cleanup();\n this.output.emit('error', err);\n });\n this.cache.once('close', () => {\n this.cleanup();\n });\n this.cache.pipe(this.output);\n }\n\n sendNextChunk() {\n if (this.errored) {\n return;\n }\n\n if (this.readPos >= this.chunks.length) {\n if (!this.cache) {\n return this.output.end();\n }\n return this.createReadCache();\n }\n let chunk = this.chunks[this.readPos++];\n if (this.output.write(chunk) === false) {\n return this.output.once('drain', () => {\n this.sendNextChunk();\n });\n }\n setImmediate(() => this.sendNextChunk());\n }\n\n sendSignedOutput() {\n let keyPos = 0;\n let signNextKey = () => {\n if (keyPos >= this.keys.length) {\n this.output.write(this.parser.rawHeaders);\n return setImmediate(() => this.sendNextChunk());\n }\n let key = this.keys[keyPos++];\n let dkimField = sign(this.headers, this.hashAlgo, this.bodyHash, {\n domainName: key.domainName,\n keySelector: key.keySelector,\n privateKey: key.privateKey,\n headerFieldNames: this.options.headerFieldNames,\n skipFields: this.options.skipFields\n });\n if (dkimField) {\n this.output.write(Buffer.from(dkimField + '\\r\\n'));\n }\n return setImmediate(signNextKey);\n };\n\n if (this.bodyHash && this.headers) {\n return signNextKey();\n }\n\n this.output.write(this.parser.rawHeaders);\n this.sendNextChunk();\n }\n\n createWriteCache() {\n this.output.usingCache = true;\n // pipe remainings to cache file\n this.cache = fs.createWriteStream(this.cachePath);\n this.cache.once('error', err => {\n this.cleanup();\n // drain input\n this.relaxedBody.unpipe(this.cache);\n this.relaxedBody.on('readable', () => {\n while (this.relaxedBody.read() !== null) {\n // do nothing\n }\n });\n this.errored = true;\n // emit error\n this.output.emit('error', err);\n });\n this.cache.once('close', () => {\n this.sendSignedOutput();\n });\n this.relaxedBody.removeAllListeners('readable');\n this.relaxedBody.pipe(this.cache);\n }\n\n signStream() {\n this.parser = new MessageParser();\n this.relaxedBody = new RelaxedBody({\n hashAlgo: this.hashAlgo\n });\n\n this.parser.on('headers', value => {\n this.headers = value;\n });\n\n this.relaxedBody.on('hash', value => {\n this.bodyHash = value;\n });\n\n this.relaxedBody.on('readable', () => {\n let chunk;\n if (this.cache) {\n return;\n }\n while ((chunk = this.relaxedBody.read()) !== null) {\n this.chunks.push(chunk);\n this.chunklen += chunk.length;\n if (this.chunklen >= this.cacheTreshold && this.cachePath) {\n return this.createWriteCache();\n }\n }\n });\n\n this.relaxedBody.on('end', () => {\n if (this.cache) {\n return;\n }\n this.sendSignedOutput();\n });\n\n this.parser.pipe(this.relaxedBody);\n setImmediate(() => this.input.pipe(this.parser));\n }\n}\n\nclass DKIM {\n constructor(options) {\n this.options = options || {};\n this.keys = [].concat(\n this.options.keys || {\n domainName: options.domainName,\n keySelector: options.keySelector,\n privateKey: options.privateKey\n }\n );\n }\n\n sign(input, extraOptions) {\n let output = new PassThrough();\n let inputStream = input;\n let writeValue = false;\n\n if (Buffer.isBuffer(input)) {\n writeValue = input;\n inputStream = new PassThrough();\n } else if (typeof input === 'string') {\n writeValue = Buffer.from(input);\n inputStream = new PassThrough();\n }\n\n let options = this.options;\n if (extraOptions && Object.keys(extraOptions).length) {\n options = {};\n Object.keys(this.options || {}).forEach(key => {\n options[key] = this.options[key];\n });\n Object.keys(extraOptions || {}).forEach(key => {\n if (!(key in options)) {\n options[key] = extraOptions[key];\n }\n });\n }\n\n let signer = new DKIMSigner(options, this.keys, inputStream, output);\n setImmediate(() => {\n signer.signStream();\n if (writeValue) {\n setImmediate(() => {\n inputStream.end(writeValue);\n });\n }\n });\n\n return output;\n }\n}\n\nmodule.exports = DKIM;\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","!function(r,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):((r=\"undefined\"!=typeof globalThis?globalThis:r||self).prettierPlugins=r.prettierPlugins||{},r.prettierPlugins.flow=e())}(this,(function(){\"use strict\";var r=function(r,e){const t=new SyntaxError(r+\" (\"+e.start.line+\":\"+e.start.column+\")\");return t.loc=e,t};function e(r,e,t){return r(t={path:e,exports:{},require:function(r,e){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==e&&t.path)}},t.exports),t.exports}function t(r){return r&&Object.prototype.hasOwnProperty.call(r,\"default\")?r.default:r}var n=Object.freeze({__proto__:null,default:{EOL:\"\\n\",platform:()=>\"browser\",cpus:()=>[{model:\"Prettier\"}]}});const u=r=>{if(\"string\"!=typeof r)throw new TypeError(\"Expected a string\");const e=r.match(/(?:\\r?\\n)/g)||[];if(0===e.length)return;const t=e.filter((r=>\"\\r\\n\"===r)).length;return t>e.length-t?\"\\r\\n\":\"\\n\"};var a=u;a.graceful=r=>\"string\"==typeof r&&u(r)||\"\\n\";var i=t(n),c=e((function(r,e){function t(){const r=i;return t=function(){return r},r}function n(){const r=(e=a)&&e.__esModule?e:{default:e};var e;return n=function(){return r},r}Object.defineProperty(e,\"__esModule\",{value:!0}),e.extract=function(r){const e=r.match(f);return e?e[0].trimLeft():\"\"},e.strip=function(r){const e=r.match(f);return e&&e[0]?r.substring(e[0].length):r},e.parse=function(r){return b(r).pragmas},e.parseWithComments=b,e.print=function({comments:r=\"\",pragmas:e={}}){const u=(0,n().default)(r)||t().EOL,a=\" *\",i=Object.keys(e),c=i.map((r=>F(r,e[r]))).reduce(((r,e)=>r.concat(e)),[]).map((r=>\" * \"+r+u)).join(\"\");if(!r){if(0===i.length)return\"\";if(1===i.length&&!Array.isArray(e[i[0]])){const r=e[i[0]];return\"\".concat(\"/**\",\" \").concat(F(i[0],r)[0]).concat(\" */\")}}const f=r.split(u).map((r=>\"\".concat(a,\" \").concat(r))).join(u)+u;return\"/**\"+u+(r?f:\"\")+(r&&i.length?a+u:\"\")+c+\" */\"};const u=/\\*\\/$/,c=/^\\/\\*\\*/,f=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,o=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,s=/^(\\r?\\n)+/,l=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,v=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,D=/(\\r?\\n|^) *\\* ?/g,p=[];function b(r){const e=(0,n().default)(r)||t().EOL;r=r.replace(c,\"\").replace(u,\"\").replace(D,\"$1\");let a=\"\";for(;a!==r;)a=r,r=r.replace(l,\"\".concat(e,\"$1 $2\").concat(e));r=r.replace(s,\"\").trimRight();const i=Object.create(null),f=r.replace(v,\"\").replace(s,\"\").trimRight();let b;for(;b=v.exec(r);){const r=b[2].replace(o,\"\");\"string\"==typeof i[b[1]]||Array.isArray(i[b[1]])?i[b[1]]=p.concat(i[b[1]],r):i[b[1]]=r}return{comments:f,pragmas:i}}function F(r,e){return p.concat(e).map((e=>\"@\".concat(r,\" \").concat(e).trim()))}})),f=r=>\"string\"==typeof r?r.replace((({onlyFirst:r=!1}={})=>{const e=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(e,r?void 0:\"g\")})(),\"\"):r;const o=r=>!Number.isNaN(r)&&(r>=4352&&(r<=4447||9001===r||9002===r||11904<=r&&r<=12871&&12351!==r||12880<=r&&r<=19903||19968<=r&&r<=42182||43360<=r&&r<=43388||44032<=r&&r<=55203||63744<=r&&r<=64255||65040<=r&&r<=65049||65072<=r&&r<=65131||65281<=r&&r<=65376||65504<=r&&r<=65510||110592<=r&&r<=110593||127488<=r&&r<=127569||131072<=r&&r<=262141));var s=o,l=o;s.default=l;const v=r=>{if(\"string\"!=typeof(r=r.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\" \"))||0===r.length)return 0;r=f(r);let e=0;for(let t=0;t=127&&n<=159||(n>=768&&n<=879||(n>65535&&t++,e+=s(n)?2:1))}return e};var D=v,p=v;D.default=p;var b=r=>{if(\"string\"!=typeof r)throw new TypeError(\"Expected a string\");return r.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function F(r,e){return e||(e=r.slice(0)),Object.freeze(Object.defineProperties(r,{raw:{value:Object.freeze(e)}}))}var m=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{};function d(){throw new Error(\"setTimeout has not been defined\")}function E(){throw new Error(\"clearTimeout has not been defined\")}var k=d,h=E;function y(r){if(k===setTimeout)return setTimeout(r,0);if((k===d||!k)&&setTimeout)return k=setTimeout,setTimeout(r,0);try{return k(r,0)}catch(e){try{return k.call(null,r,0)}catch(e){return k.call(this,r,0)}}}\"function\"==typeof m.setTimeout&&(k=setTimeout),\"function\"==typeof m.clearTimeout&&(h=clearTimeout);var C,w=[],A=!1,_=-1;function g(){A&&C&&(A=!1,C.length?w=C.concat(w):_=-1,w.length&&B())}function B(){if(!A){var r=y(g);A=!0;for(var e=w.length;e;){for(C=w,w=[];++_1)for(var t=1;tconsole.error(\"SEMVER\",...r):()=>{};var J={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},q=e((function(r,e){const{MAX_SAFE_COMPONENT_LENGTH:t}=J,n=(e=r.exports={}).re=[],u=e.src=[],a=e.t={};let i=0;const c=(r,e,t)=>{const c=i++;G(c,e),a[r]=c,u[c]=e,n[c]=new RegExp(e,t?\"g\":void 0)};c(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),c(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),c(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),c(\"MAINVERSION\",\"(\".concat(u[a.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(u[a.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(u[a.NUMERICIDENTIFIER],\")\")),c(\"MAINVERSIONLOOSE\",\"(\".concat(u[a.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(u[a.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(u[a.NUMERICIDENTIFIERLOOSE],\")\")),c(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(u[a.NUMERICIDENTIFIER],\"|\").concat(u[a.NONNUMERICIDENTIFIER],\")\")),c(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(u[a.NUMERICIDENTIFIERLOOSE],\"|\").concat(u[a.NONNUMERICIDENTIFIER],\")\")),c(\"PRERELEASE\",\"(?:-(\".concat(u[a.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(u[a.PRERELEASEIDENTIFIER],\")*))\")),c(\"PRERELEASELOOSE\",\"(?:-?(\".concat(u[a.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(u[a.PRERELEASEIDENTIFIERLOOSE],\")*))\")),c(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),c(\"BUILD\",\"(?:\\\\+(\".concat(u[a.BUILDIDENTIFIER],\"(?:\\\\.\").concat(u[a.BUILDIDENTIFIER],\")*))\")),c(\"FULLPLAIN\",\"v?\".concat(u[a.MAINVERSION]).concat(u[a.PRERELEASE],\"?\").concat(u[a.BUILD],\"?\")),c(\"FULL\",\"^\".concat(u[a.FULLPLAIN],\"$\")),c(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(u[a.MAINVERSIONLOOSE]).concat(u[a.PRERELEASELOOSE],\"?\").concat(u[a.BUILD],\"?\")),c(\"LOOSE\",\"^\".concat(u[a.LOOSEPLAIN],\"$\")),c(\"GTLT\",\"((?:<|>)?=?)\"),c(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(u[a.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),c(\"XRANGEIDENTIFIER\",\"\".concat(u[a.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),c(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(u[a.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(u[a.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(u[a.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(u[a.PRERELEASE],\")?\").concat(u[a.BUILD],\"?\")+\")?)?\"),c(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(u[a.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(u[a.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(u[a.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(u[a.PRERELEASELOOSE],\")?\").concat(u[a.BUILD],\"?\")+\")?)?\"),c(\"XRANGE\",\"^\".concat(u[a.GTLT],\"\\\\s*\").concat(u[a.XRANGEPLAIN],\"$\")),c(\"XRANGELOOSE\",\"^\".concat(u[a.GTLT],\"\\\\s*\").concat(u[a.XRANGEPLAINLOOSE],\"$\")),c(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(t,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(t,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(t,\"}))?\")+\"(?:$|[^\\\\d])\"),c(\"COERCERTL\",u[a.COERCE],!0),c(\"LONETILDE\",\"(?:~>?)\"),c(\"TILDETRIM\",\"(\\\\s*)\".concat(u[a.LONETILDE],\"\\\\s+\"),!0),e.tildeTrimReplace=\"$1~\",c(\"TILDE\",\"^\".concat(u[a.LONETILDE]).concat(u[a.XRANGEPLAIN],\"$\")),c(\"TILDELOOSE\",\"^\".concat(u[a.LONETILDE]).concat(u[a.XRANGEPLAINLOOSE],\"$\")),c(\"LONECARET\",\"(?:\\\\^)\"),c(\"CARETTRIM\",\"(\\\\s*)\".concat(u[a.LONECARET],\"\\\\s+\"),!0),e.caretTrimReplace=\"$1^\",c(\"CARET\",\"^\".concat(u[a.LONECARET]).concat(u[a.XRANGEPLAIN],\"$\")),c(\"CARETLOOSE\",\"^\".concat(u[a.LONECARET]).concat(u[a.XRANGEPLAINLOOSE],\"$\")),c(\"COMPARATORLOOSE\",\"^\".concat(u[a.GTLT],\"\\\\s*(\").concat(u[a.LOOSEPLAIN],\")$|^$\")),c(\"COMPARATOR\",\"^\".concat(u[a.GTLT],\"\\\\s*(\").concat(u[a.FULLPLAIN],\")$|^$\")),c(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(u[a.GTLT],\"\\\\s*(\").concat(u[a.LOOSEPLAIN],\"|\").concat(u[a.XRANGEPLAIN],\")\"),!0),e.comparatorTrimReplace=\"$1$2$3\",c(\"HYPHENRANGE\",\"^\\\\s*(\".concat(u[a.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(u[a.XRANGEPLAIN],\")\")+\"\\\\s*$\"),c(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(u[a.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(u[a.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),c(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),c(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),c(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")}));const z=/^[0-9]+$/,W=(r,e)=>{const t=z.test(r),n=z.test(e);return t&&n&&(r=+r,e=+e),r===e?0:t&&!n?-1:n&&!t?1:rW(e,r)};const{MAX_LENGTH:$,MAX_SAFE_INTEGER:Y}=J,{re:H,t:K}=q,{compareIdentifiers:Q}=V;class Z{constructor(r,e){if(e&&\"object\"==typeof e||(e={loose:!!e,includePrerelease:!1}),r instanceof Z){if(r.loose===!!e.loose&&r.includePrerelease===!!e.includePrerelease)return r;r=r.version}else if(\"string\"!=typeof r)throw new TypeError(\"Invalid Version: \".concat(r));if(r.length>$)throw new TypeError(\"version is longer than \".concat($,\" characters\"));G(\"SemVer\",r,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;const t=r.trim().match(e.loose?H[K.LOOSE]:H[K.FULL]);if(!t)throw new TypeError(\"Invalid Version: \".concat(r));if(this.raw=r,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>Y||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>Y||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>Y||this.patch<0)throw new TypeError(\"Invalid patch version\");t[4]?this.prerelease=t[4].split(\".\").map((r=>{if(/^[0-9]+$/.test(r)){const e=+r;if(e>=0&&e=0;)\"number\"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);-1===r&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error(\"invalid increment argument: \".concat(r))}return this.format(),this.raw=this.version,this}}var rr=Z;var er=(r,e,t)=>new rr(r,t).compare(new rr(e,t));var tr=(r,e,t)=>er(r,e,t)<0;var nr=(r,e,t)=>er(r,e,t)>=0,ur=\"2.2.0\",ar=e((function(r,e){function t(){for(var r=[],e=0;e\"string\"==typeof r||\"function\"==typeof r,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:Fr,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:r=>\"string\"==typeof r||\"object\"==typeof r,cliName:\"plugin\",cliCategory:Dr},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:Fr,description:vr(or()),exception:r=>\"string\"==typeof r||\"object\"==typeof r,cliName:\"plugin-search-dir\",cliCategory:Dr},printWidth:{since:\"0.0.0\",category:Fr,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:mr,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:vr(fr()),cliCategory:pr},rangeStart:{since:\"1.4.0\",category:mr,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:vr(cr()),cliCategory:pr},requirePragma:{since:\"1.7.0\",category:mr,type:\"boolean\",default:!1,description:vr(ir()),cliCategory:br},tabWidth:{type:\"int\",category:Fr,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:Fr,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:Fr,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};const Er={compare:er,lt:tr,gte:nr},kr=ur,hr={CATEGORY_CONFIG:Dr,CATEGORY_EDITOR:pr,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:br,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:Fr,CATEGORY_SPECIAL:mr,options:dr}.options;var yr={getSupportInfo:function({plugins:r=[],showUnreleased:e=!1,showDeprecated:t=!1,showInternal:n=!1}={}){const u=kr.split(\"-\",1)[0],a=r.reduce(((r,e)=>r.concat(e.languages||[])),[]).filter(o),i=(c=Object.assign({},...r.map((({options:r})=>r)),hr),f=\"name\",Object.entries(c).map((([r,e])=>Object.assign({[f]:r},e)))).filter((r=>o(r)&&s(r))).sort(((r,e)=>r.name===e.name?0:r.name=0||(u[t]=r[t]);return u}(r,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((e=>{e=Object.assign({},e),Array.isArray(e.default)&&(e.default=1===e.default.length?e.default[0].value:e.default.filter(o).sort(((r,e)=>Er.compare(e.since,r.since)))[0].value),Array.isArray(e.choices)&&(e.choices=e.choices.filter((r=>o(r)&&s(r))),\"parser\"===e.name&&function(r,e,t){const n=new Set(r.choices.map((r=>r.value)));for(const u of e)if(u.parsers)for(const e of u.parsers)if(!n.has(e)){n.add(e);const a=t.find((r=>r.parsers&&r.parsers[e]));let i=u.name;a&&a.name&&(i+=\" (plugin: \".concat(a.name,\")\")),r.choices.push({value:e,description:i})}}(e,a,r));const t=r.filter((r=>r.defaultOptions&&void 0!==r.defaultOptions[e.name])).reduce(((r,t)=>(r[t.name]=t.defaultOptions[e.name],r)),{});return Object.assign({},e,{pluginDefaults:t})}));var c,f;return{languages:a,options:i};function o(r){return e||!(\"since\"in r)||r.since&&Er.gte(u,r.since)}function s(r){return t||!(\"deprecated\"in r)||r.deprecated&&Er.lt(u,r.deprecated)}}};const{getSupportInfo:Cr}=yr,wr=/[^\\x20-\\x7F]/;function Ar(r){return(e,t,n)=>{const u=n&&n.backwards;if(!1===t)return!1;const{length:a}=e;let i=t;for(;i>=0&&i(t.match(i.regex)||[]).length?i.quote:a.quote}return c}function jr(r,e,t){const n='\"'===e?\"'\":'\"',u=r.replace(/\\\\([\\S\\s])|([\"'])/g,((r,u,a)=>u===n?u:a===e?\"\\\\\"+a:a||(t&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(u)?u:\"\\\\\"+u)));return e+u+e}function Ur(r,e){(r.comments||(r.comments=[])).push(e),e.printed=!1,\"JSXText\"===r.type&&(e.printed=!0)}var Xr={inferParserByLanguage:function(r,e){const{languages:t}=Cr({plugins:e.plugins}),n=t.find((({name:e})=>e.toLowerCase()===r))||t.find((({aliases:e})=>Array.isArray(e)&&e.includes(r)))||t.find((({extensions:e})=>Array.isArray(e)&&e.includes(\".\".concat(r))));return n&&n.parsers[0]},replaceEndOfLineWith:function(r,e){const t=[];for(const n of r.split(\"\\n\"))0!==t.length&&t.push(e),t.push(n);return t},getStringWidth:function(r){return r?wr.test(r)?D(r):r.length:0},getMaxContinuousCount:function(r,e){const t=r.match(new RegExp(\"(\".concat(b(e),\")+\"),\"g\"));return null===t?0:t.reduce(((r,t)=>Math.max(r,t.length/e.length)),0)},getMinNotPresentContinuousCount:function(r,e){const t=r.match(new RegExp(\"(\".concat(b(e),\")+\"),\"g\"));if(null===t)return 0;const n=new Map;let u=0;for(const r of t){const t=r.length/e.length;n.set(t,!0),t>u&&(u=t)}for(let r=1;rr[r.length-2],getLast:r=>r[r.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Lr,getNextNonSpaceNonCommentCharacterIndex:Pr,getNextNonSpaceNonCommentCharacter:function(r,e,t){return r.charAt(Pr(r,e,t))},skip:Ar,skipWhitespace:_r,skipSpaces:gr,skipToLineEnd:Br,skipEverythingButNewLine:Sr,skipInlineComment:xr,skipTrailingComment:Tr,skipNewline:Ir,isNextLineEmptyAfterIndex:Or,isNextLineEmpty:function(r,e,t){return Or(r,t(e))},isPreviousLineEmpty:function(r,e,t){let n=t(e)-1;return n=gr(r,n,{backwards:!0}),n=Ir(r,n,{backwards:!0}),n=gr(r,n,{backwards:!0}),n!==Ir(r,n,{backwards:!0})},hasNewline:Nr,hasNewlineInRange:function(r,e,t){for(let n=e;n=0?\"\\n\"===r.charAt(e+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(r){switch(r){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(r,e){let t;if(\"\\n\"===e)t=/\\n/g;else if(\"\\r\"===e)t=/\\r/g;else{if(\"\\r\\n\"!==e)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(e),\".\"));t=/\\r\\n/g}const n=r.match(t);return n?n.length:0},normalizeEndOfLine:function(r){return r.replace(/\\r\\n?/g,\"\\n\")}};const{parseWithComments:Jr,strip:qr,extract:zr,print:Wr}=c,{getShebang:Vr}=Xr,{normalizeEndOfLine:$r}=Gr;function Yr(r){const e=Vr(r);e&&(r=r.slice(e.length+1));const t=zr(r),{pragmas:n,comments:u}=Jr(t);return{shebang:e,text:r,pragmas:n,comments:u}}var Hr={hasPragma:function(r){const e=Object.keys(Yr(r).pragmas);return e.includes(\"prettier\")||e.includes(\"format\")},insertPragma:function(r){const{shebang:e,text:t,pragmas:n,comments:u}=Yr(r),a=qr(t),i=Wr({pragmas:Object.assign({format:\"\"},n),comments:u.trimStart()});return(e?\"\".concat(e,\"\\n\"):\"\")+$r(i)+(a.startsWith(\"\\n\")?\"\\n\":\"\\n\\n\")+a}};function Kr(r,e){const{ignoreDecorators:t}=e||{};if(!t){const e=r.declaration&&r.declaration.decorators||r.decorators;if(e&&e.length>0)return Kr(e[0])}return r.range?r.range[0]:r.start}function Qr(r){const e=r.range?r.range[1]:r.end;return r.typeAnnotation?Math.max(e,Qr(r.typeAnnotation)):e}function Zr(r,e){return Kr(r)===Kr(e)}var re={locStart:Kr,locEnd:Qr,composeLoc:function(r,e=r){const t=Kr(r);return[t,\"number\"==typeof e?t+e:Qr(e)]},hasSameLocStart:Zr,hasSameLoc:function(r,e){return Zr(r,e)&&function(r,e){return Qr(r)===Qr(e)}(r,e)}},ee=e((function(r){!function(){function e(r){if(null==r)return!1;switch(r.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function t(r){switch(r.type){case\"IfStatement\":return null!=r.alternate?r.alternate:r.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return r.body}return null}r.exports={isExpression:function(r){if(null==r)return!1;switch(r.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:e,isIterationStatement:function(r){if(null==r)return!1;switch(r.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(r){return e(r)||null!=r&&\"FunctionDeclaration\"===r.type},isProblematicIfStatement:function(r){var e;if(\"IfStatement\"!==r.type)return!1;if(null==r.alternate)return!1;e=r.consequent;do{if(\"IfStatement\"===e.type&&null==e.alternate)return!0;e=t(e)}while(e);return!1},trailingStatement:t}}()})),te=e((function(r){!function(){var e,t,n,u,a,i;function c(r){return r<=65535?String.fromCharCode(r):String.fromCharCode(Math.floor((r-65536)/1024)+55296)+String.fromCharCode((r-65536)%1024+56320)}for(t={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},e={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},n=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],u=new Array(128),i=0;i<128;++i)u[i]=i>=97&&i<=122||i>=65&&i<=90||36===i||95===i;for(a=new Array(128),i=0;i<128;++i)a[i]=i>=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57||36===i||95===i;r.exports={isDecimalDigit:function(r){return 48<=r&&r<=57},isHexDigit:function(r){return 48<=r&&r<=57||97<=r&&r<=102||65<=r&&r<=70},isOctalDigit:function(r){return r>=48&&r<=55},isWhiteSpace:function(r){return 32===r||9===r||11===r||12===r||160===r||r>=5760&&n.indexOf(r)>=0},isLineTerminator:function(r){return 10===r||13===r||8232===r||8233===r},isIdentifierStartES5:function(r){return r<128?u[r]:t.NonAsciiIdentifierStart.test(c(r))},isIdentifierPartES5:function(r){return r<128?a[r]:t.NonAsciiIdentifierPart.test(c(r))},isIdentifierStartES6:function(r){return r<128?u[r]:e.NonAsciiIdentifierStart.test(c(r))},isIdentifierPartES6:function(r){return r<128?a[r]:e.NonAsciiIdentifierPart.test(c(r))}}}()})),ne=e((function(r){!function(){var e=te;function t(r,e){return!(!e&&\"yield\"===r)&&n(r,e)}function n(r,e){if(e&&function(r){switch(r){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(r))return!0;switch(r.length){case 2:return\"if\"===r||\"in\"===r||\"do\"===r;case 3:return\"var\"===r||\"for\"===r||\"new\"===r||\"try\"===r;case 4:return\"this\"===r||\"else\"===r||\"case\"===r||\"void\"===r||\"with\"===r||\"enum\"===r;case 5:return\"while\"===r||\"break\"===r||\"catch\"===r||\"throw\"===r||\"const\"===r||\"yield\"===r||\"class\"===r||\"super\"===r;case 6:return\"return\"===r||\"typeof\"===r||\"delete\"===r||\"switch\"===r||\"export\"===r||\"import\"===r;case 7:return\"default\"===r||\"finally\"===r||\"extends\"===r;case 8:return\"function\"===r||\"continue\"===r||\"debugger\"===r;case 10:return\"instanceof\"===r;default:return!1}}function u(r,e){return\"null\"===r||\"true\"===r||\"false\"===r||t(r,e)}function a(r,e){return\"null\"===r||\"true\"===r||\"false\"===r||n(r,e)}function i(r){var t,n,u;if(0===r.length)return!1;if(u=r.charCodeAt(0),!e.isIdentifierStartES5(u))return!1;for(t=1,n=r.length;t=n)return!1;if(!(56320<=(a=r.charCodeAt(t))&&a<=57343))return!1;u=1024*(u-55296)+(a-56320)+65536}if(!i(u))return!1;i=e.isIdentifierPartES6}return!0}r.exports={isKeywordES5:t,isKeywordES6:n,isReservedWordES5:u,isReservedWordES6:a,isRestrictedWord:function(r){return\"eval\"===r||\"arguments\"===r},isIdentifierNameES5:i,isIdentifierNameES6:c,isIdentifierES5:function(r,e){return i(r)&&!u(r,e)},isIdentifierES6:function(r,e){return c(r)&&!a(r,e)}}}()}));const ue=e((function(r,e){e.ast=ee,e.code=te,e.keyword=ne})).keyword.isIdentifierNameES5,{getLast:ae,hasNewline:ie,hasNewlineInRange:ce,skipWhitespace:fe}=Xr,{locStart:oe,locEnd:se,hasSameLocStart:le}=re,ve=\"(?:(?=.)\\\\s)\",De=new RegExp(\"^\".concat(ve,\"*:\")),pe=new RegExp(\"^\".concat(ve,\"*::\"));function be(r,e){if(!r||\"object\"!=typeof r)return!1;if(Array.isArray(r))return r.some((r=>be(r,e)));const t=e(r);return\"boolean\"==typeof t?t:Object.keys(r).some((t=>be(r[t],e)))}function Fe(r){return\"AssignmentExpression\"===r.type||\"BinaryExpression\"===r.type||\"LogicalExpression\"===r.type||\"NGPipeExpression\"===r.type||\"ConditionalExpression\"===r.type||\"CallExpression\"===r.type||\"OptionalCallExpression\"===r.type||\"MemberExpression\"===r.type||\"OptionalMemberExpression\"===r.type||\"SequenceExpression\"===r.type||\"TaggedTemplateExpression\"===r.type||\"BindExpression\"===r.type||\"UpdateExpression\"===r.type&&!r.prefix||\"TSAsExpression\"===r.type||\"TSNonNullExpression\"===r.type}function me(r){return\"Block\"===r.type||\"CommentBlock\"===r.type||\"MultiLine\"===r.type}const de=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function Ee(r){return r&&de.has(r.type)}function ke(r){return\"BooleanLiteral\"===r.type||\"DirectiveLiteral\"===r.type||\"Literal\"===r.type||\"NullLiteral\"===r.type||\"NumericLiteral\"===r.type||\"BigIntLiteral\"===r.type||\"DecimalLiteral\"===r.type||\"RegExpLiteral\"===r.type||\"StringLiteral\"===r.type||\"TemplateLiteral\"===r.type||\"TSTypeLiteral\"===r.type||\"JSXText\"===r.type}function he(r){return\"NumericLiteral\"===r.type||\"Literal\"===r.type&&\"number\"==typeof r.value}function ye(r){return\"StringLiteral\"===r.type||\"Literal\"===r.type&&\"string\"==typeof r.value}function Ce(r){return\"FunctionExpression\"===r.type||\"ArrowFunctionExpression\"===r.type}function we(r){return!(\"CallExpression\"!==r.type&&\"OptionalCallExpression\"!==r.type||\"Identifier\"!==r.callee.type||\"async\"!==r.callee.name&&\"inject\"!==r.callee.name&&\"fakeAsync\"!==r.callee.name)}function Ae(r){return\"JSXElement\"===r.type||\"JSXFragment\"===r.type}function _e(r){return\"get\"===r.kind||\"set\"===r.kind}function ge(r){return _e(r)||le(r,r.value)}const Be=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]);const Se=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]);const xe=/^(skip|[fx]?(it|describe|test))$/;function Te(r){return\"CallExpression\"===r.type||\"OptionalCallExpression\"===r.type}const Ie=new RegExp(\"([ \\n\\r\\t]+)\"),Ne=new RegExp(\"[^ \\n\\r\\t]\");function Oe(r){return ke(r)&&(Ne.test(Me(r))||!/\\n/.test(Me(r)))}function Le(r,e){if(Ae(e))return $e(e);return e.comments&&e.comments.some((e=>e.leading&&ie(r,se(e))))}function Pe(r){return/^(\\d+|\\d+\\.\\d+)$/.test(r)}function Re(r){return r.quasis.some((r=>r.value.raw.includes(\"\\n\")))}function Me(r){return r.extra?r.extra.raw:r.raw}const je={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},Ue={\"*\":!0,\"/\":!0,\"%\":!0},Xe={\">>\":!0,\">>>\":!0,\"<<\":!0};const Ge={};function Je(r){return Ge[r]}[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].forEach(((r,e)=>{r.forEach((r=>{Ge[r]=e}))}));const qe=new WeakMap;function ze(r){if(qe.has(r))return qe.get(r);const e=[];return r.this&&e.push(r.this),Array.isArray(r.parameters)?e.push(...r.parameters):Array.isArray(r.params)&&e.push(...r.params),r.rest&&e.push(r.rest),qe.set(r,e),e}const We=new WeakMap;function Ve(r){return\"prettier-ignore\"===r.value.trim()}function $e(r){return r&&(r.comments&&r.comments.length>0&&r.comments.some((r=>Ve(r)&&!r.unignore))||r.prettierIgnore)}function Ye(r){return $e(r.getValue())}var He={classChildNeedsASIProtection:function(r){if(r){if(r.static||r.accessibility)return!1;if(!r.computed){const e=r.key&&r.key.name;if(\"in\"===e||\"instanceof\"===e)return!0}switch(r.type){case\"ClassProperty\":case\"FieldDefinition\":case\"TSAbstractClassProperty\":return r.computed;case\"MethodDefinition\":case\"TSAbstractMethodDefinition\":case\"ClassMethod\":case\"ClassPrivateMethod\":{const e=r.value?r.value.async:r.async,t=r.value?r.value.generator:r.generator;return!e&&\"get\"!==r.kind&&\"set\"!==r.kind&&!(!r.computed&&!t)}case\"TSIndexSignature\":return!0;default:return!1}}},classPropMayCauseASIProblems:function(r){const e=r.getNode();if(\"ClassProperty\"!==e.type&&\"FieldDefinition\"!==e.type)return!1;const t=e.key&&e.key.name;return!(\"static\"!==t&&\"get\"!==t&&\"set\"!==t||e.value||e.typeAnnotation)||void 0},getFunctionParameters:ze,iterateFunctionParametersPath:function(r,e){const t=r.getValue();let n=0;const u=r=>e(r,n++);t.this&&r.call(u,\"this\"),Array.isArray(t.parameters)?r.each(u,\"parameters\"):Array.isArray(t.params)&&r.each(u,\"params\"),t.rest&&r.call(u,\"rest\")},getCallArguments:function(r){if(We.has(r))return We.get(r);const e=\"ImportExpression\"===r.type?[r.source]:r.arguments;return We.set(r,e),e},iterateCallArgumentsPath:function(r,e){\"ImportExpression\"===r.getValue().type?r.call((r=>e(r,0)),\"source\"):r.each(e,\"arguments\")},hasRestParameter:function(r){if(r.rest)return!0;const e=ze(r);return e.length>0&&\"RestElement\"===ae(e).type},getLeftSidePathName:function(r,e){if(e.expressions)return[\"expressions\",0];if(e.left)return[\"left\"];if(e.test)return[\"test\"];if(e.object)return[\"object\"];if(e.callee)return[\"callee\"];if(e.tag)return[\"tag\"];if(e.argument)return[\"argument\"];if(e.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(r){const e=r.getParentNode();return\"declaration\"===r.getName()&&Ee(e)?e:null},getTypeScriptMappedTypeModifier:function(r,e){return\"+\"===r?\"+\"+e:\"-\"===r?\"-\"+e:e},hasDanglingComments:function(r){return r.comments&&r.comments.some((r=>!r.leading&&!r.trailing))},hasFlowAnnotationComment:function(r){return r&&me(r[0])&&pe.test(r[0].value)},hasFlowShorthandAnnotationComment:function(r){return r.extra&&r.extra.parenthesized&&r.trailingComments&&me(r.trailingComments[0])&&De.test(r.trailingComments[0].value)},hasLeadingComment:function(r){return r.comments&&r.comments.some((r=>r.leading))},hasLeadingOwnLineComment:Le,hasNakedLeftSide:Fe,hasNewlineBetweenOrAfterDecorators:function(r,e){return ce(e.originalText,oe(r.decorators[0]),se(ae(r.decorators)))||ie(e.originalText,se(ae(r.decorators)))},hasNgSideEffect:function(r){return be(r.getValue(),(r=>{switch(r.type){case void 0:return!1;case\"CallExpression\":case\"OptionalCallExpression\":case\"AssignmentExpression\":return!0}}))},hasNode:be,hasPrettierIgnore:function(r){return Ye(r)||function(r){const e=r.getValue(),t=r.getParentNode();if(!(t&&e&&Ae(e)&&Ae(t)))return!1;let n=null;for(let r=t.children.indexOf(e);r>0;r--){const e=t.children[r-1];if(\"JSXText\"!==e.type||Oe(e)){n=e;break}}return n&&\"JSXExpressionContainer\"===n.type&&\"JSXEmptyExpression\"===n.expression.type&&n.expression.comments&&n.expression.comments.some((r=>Ve(r)))}(r)},hasTrailingComment:function(r){return r.comments&&r.comments.some((r=>r.trailing))},hasTrailingLineComment:function(r){return r.comments&&r.comments.some((r=>r.trailing&&!me(r)))},hasIgnoreComment:Ye,hasNodeIgnoreComment:$e,identity:function(r){return r},isBinaryish:function(r){return Be.has(r.type)},isBlockComment:me,isLineComment:function(r){return\"Line\"===r.type||\"CommentLine\"===r.type||\"SingleLine\"===r.type||\"HashbangComment\"===r.type||\"HTMLOpen\"===r.type||\"HTMLClose\"===r.type},isPrettierIgnoreComment:Ve,isCallOrOptionalCallExpression:Te,isEmptyJSXElement:function(r){if(0===r.children.length)return!0;if(r.children.length>1)return!1;const e=r.children[0];return ke(e)&&!Oe(e)},isExportDeclaration:Ee,isFlowAnnotationComment:function(r,e){const t=oe(e),n=fe(r,se(e));return!1!==n&&\"/*\"===r.slice(t,t+2)&&\"*/\"===r.slice(n,n+2)},isFunctionCompositionArgs:function(r){if(r.length<=1)return!1;let e=0;for(const t of r)if(Ce(t)){if(e+=1,e>1)return!0}else if(Te(t))for(const r of t.arguments)if(Ce(r))return!0;return!1},isFunctionNotation:ge,isFunctionOrArrowExpression:Ce,isGetterOrSetter:_e,isJestEachTemplateLiteral:function(r,e){const t=/^[fx]?(describe|it|test)$/;return\"TaggedTemplateExpression\"===e.type&&e.quasi===r&&\"MemberExpression\"===e.tag.type&&\"Identifier\"===e.tag.property.type&&\"each\"===e.tag.property.name&&(\"Identifier\"===e.tag.object.type&&t.test(e.tag.object.name)||\"MemberExpression\"===e.tag.object.type&&\"Identifier\"===e.tag.object.property.type&&(\"only\"===e.tag.object.property.name||\"skip\"===e.tag.object.property.name)&&\"Identifier\"===e.tag.object.object.type&&t.test(e.tag.object.object.name))},isJSXNode:Ae,isJSXWhitespaceExpression:function(r){return\"JSXExpressionContainer\"===r.type&&ke(r.expression)&&\" \"===r.expression.value&&!r.expression.comments},isLastStatement:function(r){const e=r.getParentNode();if(!e)return!0;const t=r.getValue(),n=(e.body||e.consequent).filter((r=>\"EmptyStatement\"!==r.type));return n[n.length-1]===t},isLiteral:ke,isLongCurriedCallExpression:function(r){const e=r.getValue(),t=r.getParentNode();return Te(e)&&Te(t)&&t.callee===e&&e.arguments.length>t.arguments.length&&t.arguments.length>0},isSimpleCallArgument:function r(e,t){if(t>=2)return!1;const n=e=>r(e,t+1),u=\"Literal\"===e.type&&\"regex\"in e&&e.regex.pattern||\"RegExpLiteral\"===e.type&&e.pattern;return!(u&&u.length>5)&&(\"Literal\"===e.type||\"BigIntLiteral\"===e.type||\"DecimalLiteral\"===e.type||\"BooleanLiteral\"===e.type||\"NullLiteral\"===e.type||\"NumericLiteral\"===e.type||\"RegExpLiteral\"===e.type||\"StringLiteral\"===e.type||\"Identifier\"===e.type||\"ThisExpression\"===e.type||\"Super\"===e.type||\"PrivateName\"===e.type||\"ArgumentPlaceholder\"===e.type||\"Import\"===e.type||(\"TemplateLiteral\"===e.type?e.expressions.every(n):\"ObjectExpression\"===e.type?e.properties.every((r=>!r.computed&&(r.shorthand||r.value&&n(r.value)))):\"ArrayExpression\"===e.type?e.elements.every((r=>null===r||n(r))):\"ImportExpression\"===e.type?n(e.source):\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type||\"NewExpression\"===e.type?r(e.callee,t)&&e.arguments.every(n):\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type?r(e.object,t)&&r(e.property,t):\"UnaryExpression\"!==e.type||\"!\"!==e.operator&&\"-\"!==e.operator?\"TSNonNullExpression\"===e.type&&r(e.expression,t):r(e.argument,t)))},isMeaningfulJSXText:Oe,isMemberExpressionChain:function r(e){return(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type)&&(\"Identifier\"===e.object.type||r(e.object))},isMemberish:function(r){return\"MemberExpression\"===r.type||\"OptionalMemberExpression\"===r.type||\"BindExpression\"===r.type&&Boolean(r.object)},isNgForOf:function(r,e,t){return\"NGMicrosyntaxKeyedExpression\"===r.type&&\"of\"===r.key.name&&1===e&&\"NGMicrosyntaxLet\"===t.body[0].type&&null===t.body[0].value},isNumericLiteral:he,isObjectType:function(r){return\"ObjectTypeAnnotation\"===r.type||\"TSTypeLiteral\"===r.type},isObjectTypePropertyAFunction:function(r){return!(\"ObjectTypeProperty\"!==r.type&&\"ObjectTypeInternalSlot\"!==r.type||\"FunctionTypeAnnotation\"!==r.value.type||r.static||ge(r))},isSimpleType:function(r){return!!r&&(!(\"GenericTypeAnnotation\"!==r.type&&\"TSTypeReference\"!==r.type||r.typeParameters)||!!Se.has(r.type))},isSimpleNumber:Pe,isSimpleTemplateLiteral:function(r){let e=\"expressions\";\"TSTemplateLiteralType\"===r.type&&(e=\"types\");const t=r[e];return 0!==t.length&&t.every((r=>{if(r.comments)return!1;if(\"Identifier\"===r.type||\"ThisExpression\"===r.type)return!0;if(\"MemberExpression\"===r.type||\"OptionalMemberExpression\"===r.type){let e=r;for(;\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type;){if(\"Identifier\"!==e.property.type&&\"Literal\"!==e.property.type&&\"StringLiteral\"!==e.property.type&&\"NumericLiteral\"!==e.property.type)return!1;if(e=e.object,e.comments)return!1}return\"Identifier\"===e.type||\"ThisExpression\"===e.type}return!1}))},isStringLiteral:ye,isStringPropSafeToUnquote:function(r,e){return\"json\"!==e.parser&&ye(r.key)&&Me(r.key).slice(1,-1)===r.key.value&&(ue(r.key.value)&&!((\"typescript\"===e.parser||\"babel-ts\"===e.parser)&&\"ClassProperty\"===r.type)||Pe(r.key.value)&&String(Number(r.key.value))===r.key.value&&(\"babel\"===e.parser||\"espree\"===e.parser||\"meriyah\"===e.parser))},isTemplateOnItsOwnLine:function(r,e){return(\"TemplateLiteral\"===r.type&&Re(r)||\"TaggedTemplateExpression\"===r.type&&Re(r.quasi))&&!ie(e,oe(r),{backwards:!0})},isTestCall:function r(e,t){if(\"CallExpression\"!==e.type)return!1;if(1===e.arguments.length){if(we(e)&&t&&r(t))return Ce(e.arguments[0]);if(\"Identifier\"===(n=e).callee.type&&/^(before|after)(Each|All)$/.test(n.callee.name)&&1===n.arguments.length)return we(e.arguments[0])}else if((2===e.arguments.length||3===e.arguments.length)&&(\"Identifier\"===e.callee.type&&xe.test(e.callee.name)||function(r){return(\"MemberExpression\"===r.callee.type||\"OptionalMemberExpression\"===r.callee.type)&&\"Identifier\"===r.callee.object.type&&\"Identifier\"===r.callee.property.type&&xe.test(r.callee.object.name)&&(\"only\"===r.callee.property.name||\"skip\"===r.callee.property.name)}(e))&&(function(r){return\"TemplateLiteral\"===r.type}(e.arguments[0])||ye(e.arguments[0])))return!(e.arguments[2]&&!he(e.arguments[2]))&&((2===e.arguments.length?Ce(e.arguments[1]):function(r){return\"FunctionExpression\"===r.type||\"ArrowFunctionExpression\"===r.type&&\"BlockStatement\"===r.body.type}(e.arguments[1])&&ze(e.arguments[1]).length<=1)||we(e.arguments[1]));var n;return!1},isTheOnlyJSXElementInMarkdown:function(r,e){if(\"markdown\"!==r.parentParser&&\"mdx\"!==r.parentParser)return!1;const t=e.getNode();if(!t.expression||!Ae(t.expression))return!1;const n=e.getParentNode();return\"Program\"===n.type&&1===n.body.length},isTSXFile:function(r){return r.filepath&&/\\.tsx$/i.test(r.filepath)},isTypeAnnotationAFunction:function(r){return!(\"TypeAnnotation\"!==r.type&&\"TSTypeAnnotation\"!==r.type||\"FunctionTypeAnnotation\"!==r.typeAnnotation.type||r.static||le(r,r.typeAnnotation))},matchJsxWhitespaceRegex:Ie,needsHardlineAfterDanglingComment:function(r){if(!r.comments)return!1;const e=ae(r.comments.filter((r=>!r.leading&&!r.trailing)));return e&&!me(e)},rawText:Me,returnArgumentHasLeadingComment:function(r,e){if(Le(r.originalText,e))return!0;if(Fe(e)){let n,u=e;for(;n=(t=u).expressions?t.expressions[0]:t.left||t.test||t.callee||t.object||t.tag||t.argument||t.expression;)if(u=n,Le(r.originalText,u))return!0}var t;return!1},shouldPrintComma:function(r,e=\"es5\"){return\"es5\"===r.trailingComma&&\"es5\"===e||\"all\"===r.trailingComma&&(\"all\"===e||\"es5\"===e)},isBitwiseOperator:function(r){return!!Xe[r]||\"|\"===r||\"^\"===r||\"&\"===r},shouldFlatten:function(r,e){return Je(e)===Je(r)&&(\"**\"!==r&&((!je[r]||!je[e])&&(!(\"%\"===e&&Ue[r]||\"%\"===r&&Ue[e])&&((e===r||!Ue[e]||!Ue[r])&&(!Xe[r]||!Xe[e])))))},startsWithNoLookaheadToken:function r(e,t){switch((e=function(r){for(;r.left;)r=r.left;return r}(e)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return t;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return r(e.object,t);case\"TaggedTemplateExpression\":return\"FunctionExpression\"!==e.tag.type&&r(e.tag,t);case\"CallExpression\":case\"OptionalCallExpression\":return\"FunctionExpression\"!==e.callee.type&&r(e.callee,t);case\"ConditionalExpression\":return r(e.test,t);case\"UpdateExpression\":return!e.prefix&&r(e.argument,t);case\"BindExpression\":return e.object&&r(e.object,t);case\"SequenceExpression\":return r(e.expressions[0],t);case\"TSAsExpression\":return r(e.expression,t);default:return!1}},getPrecedence:Je};const{getLast:Ke,hasNewline:Qe,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ze,getNextNonSpaceNonCommentCharacter:rt,hasNewlineInRange:et,addLeadingComment:tt,addTrailingComment:nt,addDanglingComment:ut,getNextNonSpaceNonCommentCharacterIndex:at}=Xr,{isBlockComment:it,getFunctionParameters:ct,isPrettierIgnoreComment:ft,isJSXNode:ot,hasFlowShorthandAnnotationComment:st,hasFlowAnnotationComment:lt,hasIgnoreComment:vt}=He,{locStart:Dt,locEnd:pt}=re;function bt(r,e){const t=(r.body||r.properties).find((({type:r})=>\"EmptyStatement\"!==r));t?tt(t,e):ut(r,e)}function Ft(r,e){\"BlockStatement\"===r.type?bt(r,e):tt(r,e)}function mt(r,e){const{precedingNode:t,enclosingNode:n,followingNode:u}=r;if(!n||\"IfStatement\"!==n.type||!u)return!1;return\")\"===rt(e,r,pt)?(nt(t,r),!0):t===n.consequent&&u===n.alternate?(\"BlockStatement\"===t.type?nt(t,r):ut(n,r),!0):\"BlockStatement\"===u.type?(bt(u,r),!0):\"IfStatement\"===u.type?(Ft(u.consequent,r),!0):n.consequent===u&&(tt(u,r),!0)}function dt(r,e){const{precedingNode:t,enclosingNode:n,followingNode:u}=r;if(!n||\"WhileStatement\"!==n.type||!u)return!1;return\")\"===rt(e,r,pt)?(nt(t,r),!0):\"BlockStatement\"===u.type?(bt(u,r),!0):n.body===u&&(tt(u,r),!0)}function Et(r){const{precedingNode:e,enclosingNode:t,followingNode:n}=r;return!(!t||\"TryStatement\"!==t.type&&\"CatchClause\"!==t.type||!n)&&(\"CatchClause\"===t.type&&e?(nt(e,r),!0):\"BlockStatement\"===n.type?(bt(n,r),!0):\"TryStatement\"===n.type?(Ft(n.finalizer,r),!0):\"CatchClause\"===n.type&&(Ft(n.body,r),!0))}function kt(r){const{precedingNode:e,enclosingNode:t,followingNode:n}=r;if(t&&(\"ClassDeclaration\"===t.type||\"ClassExpression\"===t.type||\"DeclareClass\"===t.type||\"DeclareInterface\"===t.type||\"InterfaceDeclaration\"===t.type||\"TSInterfaceDeclaration\"===t.type)){if(t.decorators&&t.decorators.length>0&&(!n||\"Decorator\"!==n.type))return nt(t.decorators[t.decorators.length-1],r),!0;if(t.body&&n===t.body)return bt(t.body,r),!0;if(n)for(const u of[\"implements\",\"extends\",\"mixins\"])if(t[u]&&n===t[u][0])return!e||e!==t.id&&e!==t.typeParameters&&e!==t.superClass?ut(t,r,u):nt(e,r),!0}return!1}function ht(r,e){const{precedingNode:t,enclosingNode:n}=r;return(n&&t&&(\"Property\"===n.type||\"TSDeclareMethod\"===n.type||\"TSAbstractMethodDefinition\"===n.type)&&\"Identifier\"===t.type&&n.key===t&&\":\"!==rt(e,t,pt)||!(!t||!n||\"Decorator\"!==t.type||\"ClassMethod\"!==n.type&&\"ClassProperty\"!==n.type&&\"FieldDefinition\"!==n.type&&\"TSAbstractClassProperty\"!==n.type&&\"TSAbstractMethodDefinition\"!==n.type&&\"TSDeclareMethod\"!==n.type&&\"MethodDefinition\"!==n.type))&&(nt(t,r),!0)}function yt(r,e){const{precedingNode:t,enclosingNode:n,followingNode:u}=r;if(t&&\"FunctionTypeParam\"===t.type&&n&&\"FunctionTypeAnnotation\"===n.type&&u&&\"FunctionTypeParam\"!==u.type)return nt(t,r),!0;if(t&&(\"Identifier\"===t.type||\"AssignmentPattern\"===t.type)&&n&>(n)&&\")\"===rt(e,r,pt))return nt(t,r),!0;if(n&&\"FunctionDeclaration\"===n.type&&u&&\"BlockStatement\"===u.type){const t=(()=>{const r=ct(n);if(0!==r.length)return Ze(e,pt(Ke(r)));const t=Ze(e,pt(n.id));return!1!==t&&Ze(e,t+1)})();if(Dt(r)>t)return bt(u,r),!0}return!1}function Ct(r){const{enclosingNode:e}=r;return!(!e||\"ImportSpecifier\"!==e.type)&&(tt(e,r),!0)}function wt(r){const{enclosingNode:e}=r;return!(!e||\"LabeledStatement\"!==e.type)&&(tt(e,r),!0)}function At(r,e,t){const{enclosingNode:n}=r;return e&&e.body&&0===e.body.length?(t?ut(e,r):tt(e,r),!0):!(!n||\"Program\"!==n.type||0!==n.body.length||!n.directives||0!==n.directives.length)&&(t?ut(n,r):tt(n,r),!0)}function _t(r){const{enclosingNode:e,followingNode:t}=r;if(ft(r)&&e&&\"TSMappedType\"===e.type&&t&&\"TSTypeParameter\"===t.type&&t.constraint)return e.prettierIgnore=!0,r.unignore=!0,!0}function gt(r){return\"ArrowFunctionExpression\"===r.type||\"FunctionExpression\"===r.type||\"FunctionDeclaration\"===r.type||\"ObjectMethod\"===r.type||\"ClassMethod\"===r.type||\"TSDeclareFunction\"===r.type||\"TSCallSignatureDeclaration\"===r.type||\"TSConstructSignatureDeclaration\"===r.type||\"TSMethodSignature\"===r.type||\"TSConstructorType\"===r.type||\"TSFunctionType\"===r.type||\"TSDeclareMethod\"===r.type}function Bt(r){return it(r)&&\"*\"===r.value[0]&&/@type\\b/.test(r.value)}var St={handleOwnLineComment:function(r,e,t,n,u){return _t(r)||yt(r,e)||function(r){const{enclosingNode:e,followingNode:t}=r;if(e&&(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type)&&t&&\"Identifier\"===t.type)return tt(e,r),!0;return!1}(r)||mt(r,e)||dt(r,e)||Et(r)||kt(r)||Ct(r)||function(r){const{enclosingNode:e}=r;if(e&&(\"ForInStatement\"===e.type||\"ForOfStatement\"===e.type))return tt(e,r),!0;return!1}(r)||function(r){const{precedingNode:e,enclosingNode:t,followingNode:n}=r;if(t&&(\"UnionTypeAnnotation\"===t.type||\"TSUnionType\"===t.type))return ft(r)&&(n.prettierIgnore=!0,r.unignore=!0),!!e&&(nt(e,r),!0);n&&(\"UnionTypeAnnotation\"===n.type||\"TSUnionType\"===n.type)&&ft(r)&&(n.types[0].prettierIgnore=!0,r.unignore=!0);return!1}(r)||At(r,n,u)||function(r,e){const{precedingNode:t,enclosingNode:n}=r;if(t&&\"ImportSpecifier\"===t.type&&n&&\"ImportDeclaration\"===n.type&&Qe(e,pt(r)))return nt(t,r),!0;return!1}(r,e)||function(r){const{enclosingNode:e}=r;if(e&&\"AssignmentPattern\"===e.type)return tt(e,r),!0;return!1}(r)||ht(r,e)||wt(r)},handleEndOfLineComment:function(r,e,t,n,u){return function(r){const{followingNode:e}=r;if(e&&Bt(r))return tt(e,r),!0;return!1}(r)||yt(r,e)||function(r,e){const{precedingNode:t,enclosingNode:n,followingNode:u}=r,a=t&&!et(e,pt(t),Dt(r));if((!t||!a)&&n&&(\"ConditionalExpression\"===n.type||\"TSConditionalType\"===n.type)&&u)return tt(u,r),!0;return!1}(r,e)||Ct(r)||mt(r,e)||dt(r,e)||Et(r)||kt(r)||wt(r)||function(r){const{precedingNode:e,enclosingNode:t}=r;if(t&&(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type)&&e&&t.callee===e&&t.arguments.length>0)return tt(t.arguments[0],r),!0;return!1}(r)||function(r){const{enclosingNode:e}=r;if(e&&(\"Property\"===e.type||\"ObjectProperty\"===e.type))return tt(e,r),!0;return!1}(r)||At(r,n,u)||function(r){const{enclosingNode:e}=r;if(e&&\"TypeAlias\"===e.type)return tt(e,r),!0;return!1}(r)||function(r){const{enclosingNode:e,followingNode:t}=r;if(e&&(\"VariableDeclarator\"===e.type||\"AssignmentExpression\"===e.type)&&t&&(\"ObjectExpression\"===t.type||\"ArrayExpression\"===t.type||\"TemplateLiteral\"===t.type||\"TaggedTemplateExpression\"===t.type||it(r)))return tt(t,r),!0;return!1}(r)},handleRemainingComment:function(r,e,t,n,u){return!!(_t(r)||mt(r,e)||dt(r,e)||function(r){const{precedingNode:e,enclosingNode:t}=r;if(t&&(\"ObjectProperty\"===t.type||\"Property\"===t.type)&&t.shorthand&&t.key===e&&\"AssignmentPattern\"===t.value.type)return nt(t.value.left,r),!0;return!1}(r)||function(r,e){if(\")\"!==rt(e,r,pt))return!1;const{enclosingNode:t}=r;if(t&&(gt(t)&&0===ct(t).length||(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type||\"NewExpression\"===t.type)&&0===t.arguments.length))return ut(t,r),!0;if(t&&\"MethodDefinition\"===t.type&&0===ct(t.value).length)return ut(t.value,r),!0;return!1}(r,e)||ht(r,e)||At(r,n,u)||function(r,e){const{enclosingNode:t}=r;if(!t||\"ArrowFunctionExpression\"!==t.type)return!1;const n=at(e,r,pt);if(!1!==n&&\"=>\"===e.slice(n,n+2))return ut(t,r),!0;return!1}(r,e)||function(r,e){if(\"(\"!==rt(e,r,pt))return!1;const{precedingNode:t,enclosingNode:n}=r;if(t&&n&&(\"FunctionDeclaration\"===n.type||\"FunctionExpression\"===n.type||\"ClassMethod\"===n.type||\"MethodDefinition\"===n.type||\"ObjectMethod\"===n.type))return nt(t,r),!0;return!1}(r,e)||function(r){const{precedingNode:e,enclosingNode:t,followingNode:n}=r;if(!t||\"TSMappedType\"!==t.type)return!1;if(n&&\"TSTypeParameter\"===n.type&&n.name)return tt(n.name,r),!0;if(e&&\"TSTypeParameter\"===e.type&&e.constraint)return nt(e.constraint,r),!0;return!1}(r)||function(r){const{enclosingNode:e}=r;if(e&&(\"ContinueStatement\"===e.type||\"BreakStatement\"===e.type)&&!e.label)return nt(e,r),!0;return!1}(r)||function(r,e){const{enclosingNode:t,followingNode:n}=r;if(!n&&t&&(\"TSMethodSignature\"===t.type||\"TSDeclareFunction\"===t.type||\"TSAbstractMethodDefinition\"===t.type)&&\";\"===rt(e,r,pt))return nt(t,r),!0;return!1}(r,e))},hasLeadingComment:function(r,e=(()=>!0)){return r.leadingComments?r.leadingComments.some(e):!!r.comments&&r.comments.some((r=>r.leading&&e(r)))},isTypeCastComment:Bt,getGapRegex:function(r){if(r&&\"BinaryExpression\"!==r.type&&\"LogicalExpression\"!==r.type)return/^[\\s&(|]*$/},getCommentChildNodes:function(r,e){if((\"typescript\"===e.parser||\"flow\"===e.parser||\"espree\"===e.parser||\"meriyah\"===e.parser)&&\"MethodDefinition\"===r.type&&r.value&&\"FunctionExpression\"===r.value.type&&0===ct(r.value).length&&!r.value.returnType&&(!r.value.typeParameters||0===r.value.typeParameters.length)&&r.value.body)return[...r.decorators||[],r.key,r.value.body]},willPrintOwnComments:function(r){const e=r.getValue(),t=r.getParentNode();return(e&&(ot(e)||st(e)||t&&(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type)&&(lt(e.leadingComments)||lt(e.trailingComments)))||t&&(\"JSXSpreadAttribute\"===t.type||\"JSXSpreadChild\"===t.type||\"UnionTypeAnnotation\"===t.type||\"TSUnionType\"===t.type||(\"ClassDeclaration\"===t.type||\"ClassExpression\"===t.type)&&t.superClass===e))&&(!vt(r)||\"UnionTypeAnnotation\"===t.type||\"TSUnionType\"===t.type)}};const{getLast:xt,getNextNonSpaceNonCommentCharacter:Tt,getShebang:It}=Xr,{composeLoc:Nt,locStart:Ot,locEnd:Lt}=re,{isTypeCastComment:Pt}=St;function Rt(r){return\"CallExpression\"===r.type?(r.type=\"OptionalCallExpression\",r.callee=Rt(r.callee)):\"MemberExpression\"===r.type?(r.type=\"OptionalMemberExpression\",r.object=Rt(r.object)):\"TSNonNullExpression\"===r.type&&(r.expression=Rt(r.expression)),r}function Mt(r,e){let t;if(Array.isArray(r))t=r.entries();else{if(!r||\"object\"!=typeof r||\"string\"!=typeof r.type)return r;t=Object.entries(r)}for(const[n,u]of t)r[n]=Mt(u,e);return Array.isArray(r)?r:e(r)||r}function jt(r){return\"LogicalExpression\"===r.type&&\"LogicalExpression\"===r.right.type&&r.operator===r.right.operator}function Ut(r){return jt(r)?Ut({type:\"LogicalExpression\",operator:r.operator,left:Ut({type:\"LogicalExpression\",operator:r.operator,left:r.left,right:r.right.left,range:Nt(r.left,r.right.left)}),right:r.right.right,range:Nt(r)}):r}var Xt=function(e,t){if(\"typescript\"!==t.parser&&\"flow\"!==t.parser&&\"espree\"!==t.parser||function(r,e){const t=It(e.originalText);t&&r.comments.unshift({type:\"Line\",value:t.slice(2),range:[0,t.length]})}(e,t),\"typescript\"===t.parser&&t.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:n,tsNodeToESTreeNodeMap:u}=t.tsParseResult;e=Mt(e,(e=>{const t=n.get(e);if(!t)return;const a=t.decorators;if(!Array.isArray(a))return;const i=u.get(t);if(i!==e)return;const c=i.decorators;if(!Array.isArray(c)||c.length!==a.length||a.some((r=>{const e=u.get(r);return!e||!c.includes(e)}))){const{start:e,end:t}=i.loc;throw r(\"Leading decorators must be attached to a class declaration\",{start:{line:e.line,column:e.column+1},end:{line:t.line,column:t.column+1}})}}))}if(\"typescript\"!==t.parser&&\"flow\"!==t.parser&&\"espree\"!==t.parser&&\"meriyah\"!==t.parser){const r=new Set;e=Mt(e,(e=>{e.leadingComments&&e.leadingComments.some(Pt)&&r.add(Ot(e))})),e=Mt(e,(e=>{if(\"ParenthesizedExpression\"===e.type){const{expression:t}=e;if(\"TypeCastExpression\"===t.type)return t.range=e.range,t;const n=Ot(e);if(!r.has(n))return t.extra=Object.assign({},t.extra,{parenthesized:!0}),t}}))}return e=Mt(e,(r=>{switch(r.type){case\"ChainExpression\":return Rt(r.expression);case\"LogicalExpression\":if(jt(r))return Ut(r);break;case\"VariableDeclaration\":{const e=xt(r.declarations);e&&e.init&&function(r,e){if(\";\"===t.originalText[Lt(e)])return;r.range=Nt(r,e)}(r,e);break}case\"TSParenthesizedType\":return r.typeAnnotation.range=Nt(r),r.typeAnnotation;case\"TSUnionType\":case\"TSIntersectionType\":if(1===r.types.length){const[e]=r.types;return e.range=Nt(r),e}break;case\"TSTypeParameter\":\"string\"==typeof r.name&&(r.name={type:\"Identifier\",name:r.name,range:Nt(r,r.name.length)});break;case\"SequenceExpression\":{const e=xt(r.expressions);Lt(r)>Lt(e)&&(r.range=Nt(r,e));break}case\"ClassProperty\":r.key&&\"TSPrivateIdentifier\"===r.key.type&&\"?\"===Tt(t.originalText,r.key,Lt)&&(r.optional=!0)}}))};const Gt=()=>!1,Jt=()=>\"\";var qt={existsSync:Gt,readFileSync:Jt},zt=Object.freeze({__proto__:null,existsSync:Gt,readFileSync:Jt,default:qt}),Wt=Object.freeze({__proto__:null,default:{}}),Vt=t(zt),$t=t(Wt),Yt=e((function(r,e){!function(r){var t=\"member_property_expression\",n=8483,u=12538,a=\"??\",i=\"children\",c=\"predicate_expression\",f=\"Identifier\",o=68107,s=64311,l=192,v=71369,D=11710,p=43597,b=110947,F=67591,m=\"directive\",d=121504,E=69871,k=12347,h=126553,y=\"block\",C=68096,w=\"params\",A=93071,_=72767,g=122,B=\"for_statement\",S=128,x=70873,T=\"start\",I=43867,N=\"_method\",O=70414,L=\">\",P=\"catch_body\",R=120121,M=\"the end of an expression statement (`;`)\",j=126558,U=\"jsx_fragment\",X=69733,G=42527,J=\"decorators\",q=82943,z=71039,W=8472,V=\"update\",$=43205,Y=12783,H=12438,K=12352,Q=8511,Z=120713,rr=\"method\",er=8191,tr=\"function_param\",nr=67871,ur=\"throw\",ar=\"class_extends\",ir=43470,cr=11507,fr=71903,or=65437,sr=70840,lr=119995,vr=43311,Dr=\"jsx_child\",pr=67637,br=68116,Fr=66204,mr=65470,dr=67391,Er=11631,kr=66729,hr=69956,yr=\"tparams\",Cr=66735,wr=42623,Ar=43697,_r=64217,gr=\"Invalid binary/octal \",Br=70399,Sr=42864,xr=120487,Tr=73110,Ir=43255,Nr=\"do\",Or=43301,Lr=\"binding_pattern\",Pr=72759,Rr=110878,Mr=\"package\",jr=72750,Ur=\"interface_declaration\",Xr=119892,Gr=\"tail\",Jr=111,qr=8417,zr=119807,Wr=65613,Vr=\"type\",$r=68159,Yr=55215,Hr=\"export_default_declaration_decl\",Kr=72970,Qr=70416,Zr=72881,re=43451,ee=\"function_this_param\",te=\"module\",ne=\"try\",ue=70143,ae=125183,ie=70412,ce=\"@])\",fe=\"binary\",oe=\"infinity\",se=\"private\",le=65500,ve=\"has_unknown_members\",De=\"pattern_array_rest_element\",pe=\"Property\",be=65343,Fe=\"implements\",me=12548,de=\"if_alternate_statement\",Ee=43395,ke=\"src/parser/type_parser.ml\",he=126552,ye=66915,Ce=120712,we=126555,Ae=68326,_e=120596,ge=\"raw\",Be=112,Se=126624,xe=\"statement\",Te=\"meta_property\",Ie=71235,Ne=44002,Oe=8467,Le=8318,Pe=\"class_property_value\",Re=8203,Me=69816,je=\"optional_call\",Ue=43761,Xe=\"kind\",Ge=71230,Je=\"class_identifier\",qe=69955,ze=68220,We=66378,Ve=110,$e=123583,Ye=120512,He=119154,Ke=\"declare\",Qe=71228,Ze=11742,rt=70831,et=\"catch_clause\",tt=8468,nt=72886,ut=121343,at=\"for_in_assignment_pattern\",it=\"object_\",ct=70499,ft=43262,ot=\"mixins\",st=\"visit_trailing_comment\",lt=\"type_param\",vt=72147,Dt=69758,pt=71839,bt=\"expected *\",Ft=\"boolean\",mt=\"call\",dt=43010,Et=\"expression\",kt=\"column\",ht=43258,yt=43595,Ct=191456,wt=117,At=43754,_t=126544,gt=8416,Bt=\"Assert_failure\",St=66517,xt=42863,Tt=\"enum_number_member\",It=\"a string\",Nt=119993,Ot=43394,Lt=65855,Pt=\"opaque\",Rt=870530776,Mt=72880,jt=67711,Ut=\"enum_symbol_body\",Xt=\"filter\",Gt=126560,Jt=43615,qt=\"get\",zt=64316,Wt=122917,Yt=\"exported\",Ht=71099,Kt=\"return\",Qt=70516,Zt=\"members\",rn=64279,en=67829,tn=\"src/parser/expression_parser.ml\",nn=\"(global)\",un=\"Enum `\",an=\"object_property\",cn=67589,fn=\"pattern_object_property\",on=127343600,sn=\"template_literal_element\",ln=70452,vn=\"class_element\",Dn=71131,pn=120137,bn=94098,Fn=72349,mn=\"function_identifier\",dn=126543,En=43487,kn=\"@[<2>{ \",hn=72849,yn=70393,Cn=72191,wn=65908,An=120513,_n=92909,gn=70195,Bn=\"bound\",Sn=8399,xn=43566,Tn=120070,In=\"update_expression\",Nn=\"enum_number_body\",On=69941,Ln=123631,Pn=\"spread_element\",Rn=70401,Mn=64319,jn=12703,Un=11687,Xn=\"@,))@]\",Gn=\"%d\",Jn=42239,qn=\"type_cast\",zn=42508,Wn=71735,Vn=43643,$n=\"class_implements_interface\",Yn=67640,Hn=605857695,Kn=\"handler\",Qn=66207,Zn=11558,ru=113775,eu=113,tu=126540,nu=\"collect_comments\",uu=\"set\",au=\"assignment_pattern\",iu=\"right\",cu=94087,fu=72751,ou=\"object_key_identifier\",su=120133,lu=\"Invalid number \",vu=8580,Du=68023,pu=43798,bu=12539,Fu=100,mu=\"pattern_literal\",du=\"generic_type\",Eu=\"Lookahead.peek failed\",ku=93017,hu=42890,yu=43766,Cu=42783,wu=\"else\",Au=70851,_u=\"the start of a statement\",gu=113820,Bu=\"properties\",Su=94094,xu=71481,Tu=43696,Iu=70474,Nu=\"declare_function\",Ou=120597,Lu=110959,Pu=\"object_indexer_property_type\",Ru=70492,Mu=173782,ju=43042,Uu=107,Xu=\"arguments\",Gu=\"comments\",Ju=67431,qu=\"line\",zu=\"pattern_identifier\",Wu=\"declaration\",Vu=\"static\",$u=72883,Yu=69958,Hu=68100,Ku=72783,Qu=11310,Zu=43814,ra=\"annot\",ea=119179,ta=65786,na=66303,ua=64967,aa=64255,ia=8584,ca=71350,fa=120655,oa=\"Stack_overflow\",sa=43700,la=\"syntax_opt\",va=68921,Da=\"comprehension\",pa=65295,ba=\"Not_found\",Fa=68680,ma=64324,da=72966,Ea=-1053382366,ka=\"rest\",ha=\"pattern_array_element\",ya=65595,Ca=\"pattern_array_e\",wa=122916,Aa=43711,_a=69926,ga=\"symbol\",Ba=42725,Sa=70092,xa=43741,Ta=\"typeParameters\",Ia=\"const\",Na=72847,Oa=12341,La=66271,Pa=\"false\",Ra=71104,Ma=106,ja=120076,Ua=128,Xa=125124,Ga=73460,Ja=11743,qa=67593,za=44031,Wa=43449,Va=92927,$a=68095,Ya=42945,Ha=8231,Ka=121519,Qa=43453,Za=\"object_key_computed\",ri=\"labeled_statement\",ei=\"function_param_pattern\",ti=65481,ni=43442,ui=\"collect_comments_opt\",ai=126590,ii=\"_\",ci=\"variable_declarator\",fi=67967,oi=\"computed\",si=\"object_property_type\",li=126562,vi=114,Di=\"comment_bounds\",pi=\"id\",bi=70853,Fi=42237,mi=\"class_private_field\",di=72329,Ei=43001,ki=8412,hi=\"Invalid_argument\",yi=113770,Ci=120092,wi=\"declare_class\",Ai=94031,_i=67839,gi=43570,Bi=72250,Si=92879,xi=\"prototype\",Ti=8287,Ii=70370,Ni=\"`.\",Oi=65344,Li=12542,Pi=123641,Ri=42950,Mi=\"Internal Error: Found private field in object props\",ji=\"sequence\",Ui=\"debugger\",Xi=\"call_type_args\",Gi=12348,Ji=68863,qi=70084,zi=\"label\",Wi=70193,Vi=-45,$i=\"jsx_opening_attribute\",Yi=119364,Hi=43583,Ki=\"%F\",Qi=43784,Zi=\"call_arguments\",rc=113791,ec=126503,tc=43743,nc=917999,uc=\"0\",ac=93007,ic=119967,cc=44012,fc=42621,oc=126538,sc=\"new_\",lc=449540197,vc=68466,Dc=64109,pc=177983,bc=248,Fc=\"@,]@]\",mc=\"program\",dc=68031,Ec=\"type_\",kc=\"function_type\",hc=67382,yc=8484,Cc=8205,wc=42537,Ac=73022,_c=66559,gc=65074,Bc=11775,Sc=71236,xc=64274,Tc=120069,Ic=72105,Nc=126570,Oc=\"object\",Lc=\"for_of_statement\",Pc=\"break\",Rc=43047,Mc=43695,jc=70501,Uc=126551,Xc=126520,Gc=70477,Jc=66045,qc=66499,zc=1024,Wc=43018,Vc=73103,$c=71471,Yc=126522,Hc=119140,Kc=\"function_declaration\",Qc=73064,Zc=92728,rf=73105,ef=70418,tf=\"await\",nf=68119,uf=\"function_rest_param\",af=73119,cf=42653,ff=11703,of=\"left\",sf=70449,lf=\"declare_type_alias\",vf=16777215,Df=121475,pf=70302,bf=119142,Ff=55242,mf=70470,df=126583,Ef=124927,kf=72959,hf=65497,yf=\"Invalid legacy octal \",Cf=\"typeof\",wf=\"explicit_type\",Af=\"statement_list\",_f=65495,gf=\"class_method\",Bf=119994,Sf=71935,xf=67861,Tf=8526,If=69762,Nf=\"enum\",Of=2147483647,Lf=119170,Pf=11702,Rf=\"in\",Mf=67638,jf=\"super\",Uf=126504,Xf=8304,Gf=\"import_specifier\",Jf=177972,qf=68324,zf=67646,Wf=\"expression_or_spread\",Vf=43792,$f=74879,Yf=-82,Hf=43260,Kf=\"internal\",Qf=93052,Zf=125258,ro=65574,eo=224,to=\"instanceof\",no=69599,uo=44007,ao=43560,io=\"function_expression\",co=223,fo=121476,oo=72242,so=11498,lo=126467,vo=73112,Do=44008,po=70107,bo=13311,Fo=\"jsx_children\",mo=126548,Eo=63743,ko=43471,ho=113822,yo=122887,Co=\"jsx_expression\",wo=69864,Ao=126591,_o=126578,go=12592,Bo=\"type_params\",So=119148,xo=8420,To=126537,Io=123627,No=\"{ \",Oo=\"jsx_spread_attribute\",Lo=70161,Po=70468,Ro=\"@,\",Mo=42606,jo=126500,Uo=\"number_literal_type\",Xo=\"label_identifier\",Go=72884,Jo=42999,qo=64310,zo=-594953737,Wo=\"hasUnknownMembers\",Vo=92982,$o=\"array\",Yo=65615,Ho=\"enum_string_member\",Ko=\"void\",Qo=65135,Zo=\")\",rs=\"let\",es=70002,ts=70735,ns=70271,us=\"nan\",as=\"@[%s =@ \",is=194559,cs=42735,fs=\"/\",os=\"for_in_statement_lhs\",ss=68154,ls=43503,vs=8516,Ds=65381,ps=\"TypeParameterInstantiation\",bs=83526,Fs=71339,ms=\"number\",ds=70286,Es=12447,ks=72160,hs=43493,ys=70487,Cs=70280,ws=\"function\",As=70162,_s=255,gs=67702,Bs=66771,Ss=42895,xs=121452,Ts=8432,Is=40959,Ns=\"unreachable\",Os=70312,Ls=\"End_of_file\",Ps=93759,Rs=8494,Ms=43709,js=\"new\",Us=\"Failure\",Xs=\"local\",Gs=\"with\",Js=8489,qs=\"enum_declaration\",zs=121460,Ws=\"member\",Vs=70457,$s=64325,Ys=8488,Hs=70448,Ks=69967,Qs=126535,Zs=71934,rl=65312,el=43135,tl=12446,nl=\"import_named_specifier\",ul=126619,al=44025,il=70196,cl=\"type_annotation\",fl=8188,ol=65071,sl=131071,ll=120770,vl=12440,Dl=\"with_\",pl=\"statement_fork_point\",bl=\"finalizer\",Fl=71133,ml=12320,dl=\"elements\",El=\"literal\",kl=68607,hl=8507,yl=122913,Cl=\"each\",wl=\"Sys_error\",Al=\"bigint_literal_type\",_l=69818,gl=11727,Bl=64829,Sl=120538,xl=\"type_alias\",Tl=\"member_private_name\",Il=126556,Nl=\"tagged_template\",Ol=\"pattern_object_property_literal_key\",Ll=72192,Pl=67826,Rl=44013,Ml=70745,jl=72153,Ul=66511,Xl=43249,Gl=11646,Jl=\"None\",ql=\"int_of_string\",zl=\"FunctionTypeParam\",Wl=\"name\",Vl=70285,$l=103,Yl=12288,Hl=120744,Kl=\"intersection_type\",Ql=11679,Zl=11559,rv=71295,ev=70205,tv=\"callee\",nv=70018,uv=11567,av=\"predicate\",iv=\"expression_statement\",cv=\"regexp\",fv=44011,ov=123209,sv=65479,lv=11389,vv=43568,Dv=\"optional\",pv=-602162310,bv=\"@]\",Fv=92777,mv=120003,dv=72249,Ev=\"Unexpected \",kv=73008,hv=\"finally\",yv=\"toplevel_statement_list\",Cv=178207,wv=65055,Av=70301,_v=72161,gv=70460,Bv=12799,Sv=\"loc\",xv=65535,Tv=69375,Iv=43518,Nv=65487,Ov=\"while_\",Lv=44004,Pv=183983,Rv=-673950933,Mv=42559,jv=121398,Uv=\"jsx_name\",Xv=55291,Gv=71452,Jv=70078,qv=8239,zv=-253313196,Wv=\"mixed\",Vv=70403,$v=67827,Yv=11734,Hv=101106,Kv=68287,Qv=119976,Zv=72151,rD=73129,eD=73102,tD=73017,nD=\" =\",uD=888960333,aD=\"tuple_type\",iD=126602,cD=73111,fD=70726,oD=126529,sD=\"object_property_value_type\",lD=\"%a\",vD=69423,DD=120831,pD=120781,bD=11695,FD=11711,mD=12294,dD=67583,ED=122879,kD=126584,hD=72703,yD=68295,CD=\"prefix\",wD=43871,AD=69415,_D=11492,gD=\"class\",BD=12333,SD=65575,xD=42894,TD=\"continue\",ID=119145,ND=65663,OD=68120,LD=782176664,PD=120779,RD=71247,MD=71086,jD=19967,UD=70849,XD=8486,GD=\" \",JD=66863,qD=\"RestElement\",zD=\"Undefined_recursive_module\",WD=126634,VD=74751,$D=66377,YD=43334,HD=43481,KD=66815,QD=11311,ZD=\"typeAnnotation\",rp=120126,ep=69743,tp=\"array_element\",np=64285,up=\"Set.bal\",ap=8578,ip=8543,cp=\"()\",fp=\"declare_module\",op=122886,sp=\">>>=\",lp=68029,vp=\"importKind\",Dp=\"extends\",pp=72345,bp=64296,Fp=43259,mp=71679,dp=64913,Ep=119969,kp=94175,hp=72440,yp=65141,Cp=43071,wp=\"function_\",Ap=65391,_p=44010,gp=42888,Bp=69807,Sp=\"variance\",xp=123,Tp=12730,Ip=\"import_default_specifier\",Np=43764,Op=\"pattern\",Lp=70655,Pp=70464,Rp=\"consequent\",Mp=68447,jp=65473,Up=\"call_type_arg\",Xp=8238,Gp=73019,Jp=121498,qp=68899,zp=93026,Wp=44015,Vp=\"@[<2>[\",$p=\"comment\",Yp=65439,Hp=\"switch_case\",Kp=\"do_while\",Qp=43215,Zp=\"constructor\",rb=43586,eb=43587,tb=\"yield\",nb=-61,ub=\"target\",ab=72272,ib=\"var\",cb=70108,fb=\"impltype\",ob=\"0o\",sb=119972,lb=92991,vb=43391,Db=70441,pb=8450,bb=72278,Fb=120074,mb=43044,db=66717,Eb=\"interface_type\",kb=\"%B\",hb=70472,yb=122914,Cb=111355,wb=5760,Ab=11630,_b=126499,gb=40943,Bb=108,Sb=120629,xb=\"Popping lex mode from empty stack\",Tb=65103,Ib=42611,Nb=195101,Ob=42607,Lb=126539,Pb=\"([^/]*)\",Rb=126502,Mb=125135,jb=\"template_literal\",Ub=68903,Xb=\"src/parser/statement_parser.ml\",Gb=72758,Jb=11519,qb=11387,zb=\"Out_of_memory\",Wb=12287,Vb=120570,$b=72164,Yb=126534,Hb=65076,Kb=44005,Qb=\"index out of bounds\",Zb=73029,rF=72873,eF=\"))\",tF=\"for_statement_init\",nF=126571,uF=\"supertype\",aF=\"class_property\",iF=92916,cF=\"this\",fF=\"}\",oF=71095,sF=\"declare_module_exports\",lF=\"union_type\",vF=65535,DF=94032,pF=42124,bF=\"this_expression\",FF=\"jsx_element\",mF=65019,dF=125251,EF=64111,kF=\"typeArguments\",hF=8254,yF=8471,CF=70497,wF=71359,AF=8202,_F=\"EnumDefaultedMember\",gF=\"switch\",BF=69634,SF=\"unary_expression\",xF=71215,TF=126,IF=65597,NF=67679,OF=120686,LF=72163,PF=-983660142,RF=70197,MF=64262,jF=124,UF=65279,XF=126495,GF=69456,JF=65342,qF=\"alternate\",zF=92975,WF=65489,VF=125142,$F=67807,YF=43187,HF=\"export\",KF=68850,QF=66383,ZF=\".\",rm=\"type_args\",em=72155,tm=70508,nm=92159,um=72283,am=43644,im=42737,cm=116,fm=75075,om=70279,sm=65338,lm=\"function_params\",vm=126627,Dm=73065,pm=72872,bm=43762,Fm=119970,mm=71352,dm=68158,Em=12295,km=70005,hm=120771,ym=11557,Cm=42191,wm=\"flags\",Am=70088,_m=68437,gm=66368,Bm=\"pattern_object_p\",Sm=70730,xm=42785,Tm=\"nullable_type\",Im=\"value\",Nm=12343,Om=\"%.12g\",Lm=71089,Pm=68415,Rm=11694,Mm=69887,jm=917759,Um=11726,Xm=\"syntax\",Gm=119964,Jm=68497,qm=73097,zm=126523,Wm=\"null\",Vm=120084,$m=126601,Ym=8454,Hm=\"expressions\",Km=72144,Qm=\"(@[\",Zm=12448,rd=121503,ed=68786,td=\"<\",nd=43443,ud=\"an identifier\",ad=43309,id=68799,cd=\"leadingComments\",fd=72969,od=100351,sd=42231,ld=\"enum_defaulted_member\",vd=69839,Dd=94026,pd=70724,bd=12336,Fd=73018,md=42605,dd=\"empty\",Ed=331416730,kd=123199,hd=70479,yd=43123,Cd=43494,wd=8319,Ad=12591,_d=12335,gd=125,Bd=92735,Sd=\"cases\",xd=70199,Td=183969,Id=71455,Nd=\"bigint\",Od=\"Division_by_zero\",Ld=67071,Pd=12329,Rd=43609,Md=120004,jd=69414,Ud=\"if\",Xd=126519,Gd=\"immediately within another function.\",Jd=55238,qd=12346,zd=126498,Wd=73031,Vd=8504,$d=69940,Yd=66256,Hd=\"@ }@]\",Kd=73106,Qd=72765,Zd=118,rE=11565,eE=120122,tE=74862,nE=68099,uE=\"'\",aE=\"pattern_object_rest_property\",iE=-26065557,cE=119,fE=\"assignment\",oE=42943,sE=104,lE=8457,vE=\"from\",DE=64321,pE=113817,bE=65629,FE=43765,mE=70378,dE=42655,EE=102,kE=43137,hE=11502,yE=\";@ \",CE=101,wE=\"pattern_array_element_pattern\",AE=\"body\",_E=\"jsx_member_expression\",gE=65547,BE=\"jsx_attribute_value\",SE=72967,xE=126550,TE=\"jsx_namespaced_name\",IE=43807,NE=43738,OE=126589,LE=8455,PE=126628,RE=11670,ME=120134,jE=\"conditional\",UE=119965,XE=43599,GE=69890,JE=72817,qE=43822,zE=43638,WE=93047,VE=64322,$E=\"AssignmentPattern\",YE=123190,HE=72383,KE=\"object_spread_property_type\",QE=113663,ZE=70783,rk=42622,ek=43823,tk=70367,nk=\"init\",uk=71461,ak=109,ik=66503,ck=\"proto\",fk=74649,ok=\"optional_member\",sk=40981,lk=120654,vk=\"@ \",Dk=\"enum_boolean_body\",pk=119361,bk=73108,Fk=\"export_named_specifier\",mk=123183,dk=\"declare_interface\",Ek=120539,kk=70451,hk=64317,yk=\"pattern_object_property_computed_key\",Ck=12543,wk=\"export_named_declaration_specifier\",Ak=43359,_k=43967,gk=113800,Bk=126530,Sk=72713,xk=72103,Tk=70278,Ik=\"if_consequent_statement\",Nk=8275,Ok=126496,Lk=\"try_catch\",Pk=\"computed_key\",Rk=\"class_\",Mk=173823,jk=\"pattern_object_property_identifier_key\",Uk=71913,Xk=8485,Gk=\"arrow_function\",Jk=68151,qk=126546,zk=\"enum_boolean_member\",Wk=94177,Vk=\"delete\",$k=\"blocks\",Yk=\"pattern_array_rest_element_pattern\",Hk=78894,Kk=69881,Qk=66512,Zk=94111,rh=\"test\",eh=\"string\",th=71467,nh=66463,uh=66335,ah=43263,ih=73061,ch=72348,fh=\":\",oh=\"function_this_param_type\",sh=77823,lh=\"minus\",vh=119980,Dh=\"private_name\",ph=72263,bh=\"object_key\",Fh=\"function_param_type\",mh=11718,dh=\"as\",Eh=\"delegate\",kh=\"true\",hh=119213,yh=71232,Ch=67413,wh=73439,Ah=70854,_h=120628,gh=43776,Bh=43513,Sh=71723,xh=11505,Th=120127,Ih=73039,Nh=\"Map.bal\",Oh=\"any\",Lh=126559,Ph=43596,Rh=\"import\",Mh=70404,jh=\"jsx_spread_child\",Uh=67897,Xh=8233,Gh=119974,Jh=68405,qh=66639,zh=\"attributes\",Wh=\"object_internal_slot_property_type\",Vh=43225,$h=71351,Yh=71349,Hh=70383,Kh=67643,Qh=\"shorthand\",Zh=\"for_in_statement\",ry=126463,ey=71338,ty=69702,ny=92767,uy=69445,ay=65370,iy=73055,cy=73021,fy=64911,oy=\"pattern_object_property_pattern\",sy=70206,ly=126579,vy=72343,Dy=64286,py=94030,by=\"explicitType\",Fy=67669,my=43866,dy=\"Sys_blocked_io\",Ey=71093,ky=123197,hy=\"catch\",yy=64466,Cy=70463,wy=65140,Ay=73030,_y=69404,gy=66272,By=\"protected\",Sy=43631,xy=120571,Ty=\"array_type\",Iy=43713,Ny=\"export_default_declaration\",Oy=\"quasi\",Ly=\"%S\",Py=126515,Ry=120485,My=8525,jy=43519,Uy=125263,Xy=120745,Gy=94178,Jy=71229,qy=126588,zy=127,Wy=19893,Vy=66855,$y=\"visit_leading_comment\",Yy=67742,Hy=120144,Ky=43632,Qy=\"returnType\",Zy=240,rC=-744106340,eC=\"-\",tC=68911,nC=8469,uC=\"async\",aC=126521,iC=72095,cC=\" : file already exists\",fC=70725,oC=65039,sC=178205,lC=8449,vC=94179,DC=42774,pC=\"case\",bC=66431,FC=\"targs\",mC=\"declare_export_declaration\",dC=43013,EC=64284,kC=43815,hC=\"function_body_any\",yC=120687,CC=\"public\",wC=70003,AC=68115,_C=125273,gC=65598,BC=72262,SC=43712,xC=126547,TC=70095,IC=110591,NC=\"interface\",OC=-46,LC=\"string_literal_type\",PC=\"import_namespace_specifier\",RC=120132,MC=68102,jC=11735,UC=70751,XC=119893,GC=\"bool\",JC=\"default\",qC=\"\",zC=\"exportKind\",WC=\"trailingComments\",VC=\"^\",$C=8348,YC=65594,HC=\"logical\",KC=\"cooked\",QC=\"argument\",ZC=63,rw=72202,ew=12442,tw=120085,nw=43645,uw=70749,aw=42539,iw=126468,cw=\"Match_failure\",fw=68191,ow=\"src/parser/flow_ast.ml\",sw=72280,lw=43572,vw=71102,Dw=11647,pw=\"declare_variable\",bw=\"+\",Fw=71127,mw=43740,dw=120145,Ew=64318,kw=\"declare_export_declaration_decl\",hw=43755,yw=\"class_implements\",Cw=\"inexact\",ww=119172,Aw=\"a\",_w=73062,gw=8493,Bw=65100,Sw=70863,xw=65278,Tw=\"function_rest_param_type\",Iw=-696510241,Nw=70066,Ow=43714,Lw=70480,Pw=113788,Rw=94207,Mw=\"class_body\",jw=126651,Uw=119996,Xw=70719,Gw=68735,Jw=43456,qw=43273,zw=119209,Ww=67644,Vw=\"boolean_literal_type\",$w=\"catch_clause_pattern\",Yw=126554,Hw=126536,Kw=113807,Qw=126557,Zw=43046,rA=\"property\",eA=123213,tA=\"for_of_assignment_pattern\",nA=\"if_statement\",uA=66421,aA=8505,iA=\"Literal\",cA=100343,fA=71257,oA=42887,sA=115,lA=43574,vA=126566,DA=93823,pA=66719,bA=\"opaque_type\",FA=\"jsx_attribute\",mA=\"type_annotation_hint\",dA=92911,EA=73727,kA=72871,hA=\"range\",yA=\"jsError\",CA=70458,wA=70006,AA=71726,_A=43492,gA=\"@]}\",BA=\"(Some \",SA=43345,xA=43231,TA=8477,IA=11359,NA=121461,OA=126564,LA=126514,PA=70080,RA=\"generic_identifier_type\",MA=71738,jA=66811,UA=8256,XA=43759,GA=65007,JA=\"pattern_object_rest_property_pattern\",qA=70319,zA=66461,WA=11719,VA=72271,$A=-48,YA=70461,HA=\"export_named_declaration\",KA=\"enum_string_body\",QA=110930,ZA=73014,r_=70440,e_=\"while\",t_=\"camlinternalFormat.ml\",n_=43782,u_=11263,a_=11358,i_=1114111,c_=73462,f_=70750,o_=70105,s_=\"jsx_identifier\",l_=71101,v_=43014,D_=11564,p_=\"typeof_type\",b_=64847,F_=92995,m_=71226,d_=71167,E_=42511,k_=72712,h_=121,y_=43704,C_=12293,w_=\"object_call_property_type\",A_=64433,__=\"operator\",g_=68296,B_=\"class_decorator\",S_=120,x_=\"for_of_statement_lhs\",T_=11623,I_=110927,N_=70708,O_=512,L_=71423,P_=93951,R_=12292,M_=\"object_type\",j_=\"types\",U_=69951,X_=8286,G_=126633,J_=12686,q_=73049,z_=72793,W_=\"0x\",V_=70855,$_=70511,Y_=70366,H_=65276,K_=\"variable_declaration\",Q_=43203,Z_=119981,rg=69814,eg=43887,tg=105,ng=122922,ug=8335,ag=70187,ig=70190,cg=69631,fg=\"source\",og=\"pattern_object_property_key\",sg=70842,lg=65548,vg=66175,Dg=92766,pg=\"pattern_assignment_pattern\",bg=42998,Fg=8305,mg=\"generator\",dg=\"for\",Eg=121402,kg=-36,hg=68223,yg=66044,Cg=43757,wg=122906,Ag=43790,_g=11686,gg=\"jsx_closing_element\",Bg=69687,Sg=72162,xg=66348,Tg=43388,Ig=72768,Ng=68351,Og=\"<2>\",Lg=70015,Pg=64297,Rg=125259,Mg=\",@ \",jg=42651,Ug=70486,Xg=70281,Gg=66426,Jg=43347,qg=68149,zg=68111,Wg=\"member_property_identifier\",Vg=71450,$g=72254,Yg=43009,Hg=\"member_property\",Kg=73458,Qg=\"identifier\",Zg=67423,rB=40980,eB=66775,tB=110951,nB=\"Internal Error: Found object private prop\",uB=8276,aB=\"super_expression\",iB=\"jsx_opening_element\",cB=\"variable_declarator_pattern\",fB=\"pattern_expression\",oB=68252,sB=-835925911,lB=\"import_declaration\",vB=55203,DB=\"key\",pB=126563,bB=43702,FB=\"spread_property\",mB=863850040,dB=70106,EB=67592,kB=123214,hB=68479,yB=43879,CB=65305,wB=43019,AB=123180,_B=69622,gB=8487,BB=\"specifiers\",SB=\"function_body\",xB=43641,TB=\"Unexpected token `\",IB=122904,NB=123135,OB=120093,LB=119162,PB=65023,RB=8521,MB=43642;function jB(r,e){throw[0,r,e]}var UB=[0];function XB(r,e){if(\"function\"==typeof e)return r.fun=e,0;if(e.fun)return r.fun=e.fun,0;for(var t=e.length;t--;)r[t]=e[t];return 0}function GB(r,e,t){for(var n=new Array(t),u=0;u=t.l||2==t.t&&u>=t.c.length))t.c=4==r.t?JB(r.c,e,u):0==e&&r.c.length==u?r.c:r.c.substr(e,u),t.t=t.c.length==t.l?0:2;else if(2==t.t&&n==t.c.length)t.c+=4==r.t?JB(r.c,e,u):0==e&&r.c.length==u?r.c:r.c.substr(e,u),t.t=t.c.length==t.l?0:2;else{4!=t.t&&qB(t);var a=r.c,i=t.c;if(4==r.t)if(n<=e)for(var c=0;c=0;c--)i[n+c]=a[e+c];else{var f=Math.min(u,a.length-e);for(c=0;c>=1))return t;e+=e,9==++n&&e.slice(0,1)}}function $B(r){2==r.t?r.c+=VB(r.l-r.c.length,\"\\0\"):r.c=JB(r.c,0,r.c.length),r.t=0}function YB(r){if(r.length<24){for(var e=0;ezy)return!1;return!0}return!/[^\\x00-\\x7f]/.test(r)}function HB(r){switch(r.t){case 9:return r.c;default:$B(r);case 0:if(YB(r.c))return r.t=9,r.c;r.t=8;case 8:return function(r){for(var e,t,n,u,a=qC,i=qC,c=0,f=r.length;cO_?(i.substr(0,1),a+=i,i=qC,a+=r.slice(c,o)):i+=r.slice(c,o),o==f)break;c=o}u=1,++c=55295&&u<57344)&&(u=2):(u=3,++c1114111)&&(u=3))))),u<4?(c-=u,i+=\"\\ufffd\"):i+=u>vF?String.fromCharCode(55232+(u>>10),56320+(1023&u)):String.fromCharCode(u),i.length>zc&&(i.substr(0,1),a+=i,i=qC)}return a+i}(r.c)}}function KB(r,e,t){this.t=r,this.c=e,this.l=t}function QB(r){return new KB(0,r,r.length)}function ZB(r,e){jB(r,QB(e))}function rS(r){ZB(UB.Invalid_argument,r)}function eS(){rS(Qb)}function tS(r,e,t){if(t&=255,4!=r.t){if(e==r.c.length)return r.c+=String.fromCharCode(t),e+1==r.l&&(r.t=0),0;qB(r)}return r.c[e]=t,0}function nS(r,e,t){return e>>>0>=r.l&&eS(),tS(r,e,t)}function uS(r,e){switch(6&r.t){default:if(e>=r.c.length)return 0;case 0:return r.c.charCodeAt(e);case 4:return r.c[e]}}function aS(r,e){if(r.fun)return aS(r.fun,e);var t=r.length,n=e.length,u=t-n;return 0==u?r.apply(null,e):u<0?aS(r.apply(null,GB(e,0,t)),GB(e,t,n-t)):function(t){return aS(r,function(r,e){for(var t=r.length,n=new Array(t+1),u=0;u>>0>=r.length-1&&rS(Qb),r}function cS(r,e){var t=r[3]<<16,n=e[3]<<16;return t>n?1:te[2]?1:r[2]e[1]?1:r[1]e.c?1:0}function sS(r,e,t){for(var n=[];;){if(!t||r!==e)if(r instanceof KB){if(!(e instanceof KB))return 1;if(r!==e&&0!=(i=oS(r,e)))return i}else if(r instanceof Array&&r[0]===(0|r[0])){var u=r[0];if(254===u&&(u=0),250===u){r=r[1];continue}if(!(e instanceof Array&&e[0]===(0|e[0])))return 1;var a=e[0];if(254===a&&(a=0),250===a){e=e[1];continue}if(u!=a)return u1&&n.push(r,e,1)}}else{if(e instanceof KB||e instanceof Array&&e[0]===(0|e[0]))return-1;if(\"number\"!=typeof r&&r&&r.compare){var c=r.compare(e,t);if(0!=c)return c}else if(\"function\"==typeof r)rS(\"compare: functional value\");else{if(re)return 1;if(r!=e){if(!t)return NaN;if(r==r)return 1;if(e==e)return-1}}}if(0==n.length)return 0;var f=n.pop();e=n.pop(),f+1<(r=n.pop()).length&&n.push(r,e,f+1),r=r[f],e=e[f]}}function lS(r,e){return sS(r,e,!0)}function vS(r){return r<0&&rS(\"Bytes.create\"),new KB(r?2:9,qC,r)}function DS(r,e){return+(0==sS(r,e,!1))}function pS(r){ZB(UB.Failure,r)}function bS(r){return 0!=(6&r.t)&&$B(r),r.c}function FS(r){var e;if(e=+(r=bS(r)),r.length>0&&e==e)return e;if(e=+(r=r.replace(/_/g,qC)),r.length>0&&e==e||/^[+-]?nan$/i.test(r))return e;var t=/^ *([+-]?)0x([0-9a-f]+)\\.?([0-9a-f]*)p([+-]?[0-9]+)/i.exec(r);if(t){var n=t[3].replace(/0+$/,qC),u=parseInt(t[1]+t[2]+n,16),a=(0|t[4])-4*n.length;return e=u*Math.pow(2,a)}return/^\\+?inf(inity)?$/i.test(r)?1/0:/^-inf(inity)?$/i.test(r)?-1/0:void pS(\"float_of_string\")}function mS(r){var e=(r=bS(r)).length;e>31&&rS(\"format_int: format too long\");for(var t={justify:bw,signstyle:eC,filler:GD,alternate:!1,base:0,signedconv:!1,width:0,uppercase:!1,sign:1,prec:-1,conv:\"f\"},n=0;n=0&&u<=9;)t.width=10*t.width+u,n++;n--;break;case\".\":for(t.prec=0,n++;(u=r.charCodeAt(n)-48)>=0&&u<=9;)t.prec=10*t.prec+u,n++;n--;case\"d\":case\"i\":t.signedconv=!0;case\"u\":t.base=10;break;case\"x\":t.base=16;break;case\"X\":t.base=16,t.uppercase=!0;break;case\"o\":t.base=8;break;case\"e\":case\"f\":case\"g\":t.signedconv=!0,t.conv=u;break;case\"E\":case\"F\":case\"G\":t.signedconv=!0,t.uppercase=!0,t.conv=u.toLowerCase()}}return t}function dS(r,e){r.uppercase&&(e=e.toUpperCase());var t=e.length;r.signedconv&&(r.sign<0||r.signstyle!=eC)&&t++,r.alternate&&(8==r.base&&(t+=1),16==r.base&&(t+=2));var n=qC;if(r.justify==bw&&r.filler==GD)for(var u=t;u=1e21||e.toFixed(0).length>n){for(a=i-1;u.charAt(a)==uc;)a--;u.charAt(a)==ZF&&a--,a=(u=u.slice(0,a+1)+u.slice(i)).length,\"e\"==u.charAt(a-3)&&(u=u.slice(0,a-1)+uc+u.slice(a-1));break}var f=n;if(c<0)f-=c+1,u=e.toFixed(f);else for(;(u=e.toFixed(f)).length>n+1;)f--;if(f){for(a=u.length-1;u.charAt(a)==uc;)a--;u.charAt(a)==ZF&&a--,u=u.slice(0,a+1)}}else u=\"inf\",t.filler=GD;return dS(t,u)}function kS(r,e){if(bS(r)==Gn)return QB(qC+e);var t=mS(r);e<0&&(t.signedconv?(t.sign=-1,e=-e):e>>>=0);var n=e.toString(t.base);if(t.prec>=0){t.filler=GD;var u=t.prec-n.length;u>0&&(n=VB(u,uc)+n)}return dS(t,n)}KB.prototype.toString=function(){return HB(this)},KB.prototype.slice=function(){var r=4==this.t?this.c.slice():this.c;return new KB(this.t,r,this.l)};var hS=0;function yS(){return hS++}var CS=[];function wS(r,e,t){var n=r[1],u=CS[t];if(null===u)for(var a=CS.length;a>1|1)+1]?f=i-2:c=i;return CS[t]=c+1,e==n[c+1]?n[c]:0}function AS(r,e){return+(sS(r,e,!1)>=0)}function _S(r){var e=9;return YB(r)||(e=8,r=function(r){for(var e,t,n=qC,u=n,a=0,i=r.length;aO_?(u.substr(0,1),n+=u,u=qC,n+=r.slice(a,c)):u+=r.slice(a,c),c==i)break;a=c}e<2048?(u+=String.fromCharCode(192|e>>6),u+=String.fromCharCode(Ua|e&ZC)):e<55296||e>=57343?u+=String.fromCharCode(224|e>>12,Ua|e>>6&ZC,Ua|e&ZC):e>=56319||a+1==i||(t=r.charCodeAt(a+1))<56320||t>57343?u+=\"\\xef\\xbf\\xbd\":(a++,e=(e<<10)+t-56613888,u+=String.fromCharCode(240|e>>18,Ua|e>>12&ZC,Ua|e>>6&ZC,Ua|e&ZC)),u.length>zc&&(u.substr(0,1),n+=u,u=qC)}return n+u}(r)),new KB(e,r,r.length)}function gS(r){return 0==(r[3]|r[2]|r[1])}function BS(r){return[_s,r&vf,r>>24&vf,r>>31&vF]}function SS(r){for(var e=r.length,t=new Array(e),n=0;n>24),u=r[3]-e[3]+(n>>24);return[_s,t&vf,n&vf,u&vF]}function TS(r,e){return r[3]>e[3]?1:r[3]e[2]?1:r[2]e[1]?1:r[1]>23,r[2]=(r[2]<<1|r[1]>>23)&vf,r[1]=r[1]<<1&vf}function NS(r){r[1]=(r[1]>>>1|r[2]<<23)&vf,r[2]=(r[2]>>>1|r[3]<<23)&vf,r[3]=r[3]>>>1}function OS(r,e){for(var t=0,n=SS(r),u=SS(e),a=[_s,0,0,0];TS(n,u)>0;)t++,IS(u);for(;t>=0;)t--,IS(a),TS(n,u)>=0&&(a[1]++,n=xS(n,u)),NS(u);return[0,a,n]}function LS(r){return r[1]|r[2]<<24}function PS(r){var e=-r[1],t=-r[2]+(e>>24),n=-r[3]+(t>>24);return[_s,e&vf,t&vf,n&vF]}function RS(r){return r.l}function MS(r,e){switch(6&r.t){default:if(e>=r.c.length)return 0;case 0:return r.c.charCodeAt(e);case 4:return r.c[e]}}function jS(r,e){var t=r[1]+e[1],n=r[2]+e[2]+(t>>24),u=r[3]+e[3]+(n>>24);return[_s,t&vf,n&vf,u&vF]}var US=Math.pow(2,-24);function XS(r,e){var t=r[1]*e[1],n=(t*US|0)+r[2]*e[1]+r[1]*e[2],u=(n*US|0)+r[3]*e[1]+r[2]*e[2]+r[1]*e[3];return[_s,t&vf,n&vf,u&vF]}function GS(r,e){return TS(r,e)<0}function JS(r){var e=0,t=RS(r),n=10,u=1;if(t>0)switch(MS(r,e)){case 45:e++,u=-1;break;case 43:e++,u=1}if(e+1=48&&r<=57?r-48:r>=65&&r<=90?r-55:r>=97&&r<=g?r-87:-1}function zS(r){var e=JS(r),t=e[0],n=e[1],u=e[2],a=BS(u),i=OS([_s,vf,268435455,vF],a)[1],c=MS(r,t),f=qS(c);(f<0||f>=u)&&pS(ql);for(var o=BS(f);;)if(95!=(c=MS(r,++t))){if((f=qS(c))<0||f>=u)break;GS(i,o)&&pS(ql),f=BS(f),GS(o=jS(XS(a,o),f),f)&&pS(ql)}return t!=RS(r)&&pS(ql),10==e[2]&&GS([_s,0,0,32768],o)&&pS(ql),n<0&&(o=PS(o)),o}function WS(r){return(r[3]<<16)*Math.pow(2,32)+r[2]*Math.pow(2,24)+r[1]}function VS(r){var e=JS(r),t=e[0],n=e[1],u=e[2],a=RS(r),i=t=u)&&pS(ql);var f=c;for(t++;t=u)break;(f=u*f+c)>4294967295&&pS(ql)}return t!=a&&pS(ql),f*=n,10==u&&(0|f)!=f&&pS(ql),0|f}function $S(r){return GB(r,1,r.length-1)}function YS(r){return!!r}function HS(r){return r.toString()}function KS(r){for(var e={},t=1;t=u){var a=vS(r+n),i=this.data;this.data=a,zB(i,0,this.data,0,u)}return zB(e,t,this.data,r,n),0},ax.prototype.read=function(r,e,t,n){this.length();return zB(this.data,r,e,t,n),0},ax.prototype.read_one=function(r){return function(r,e){return e>>>0>=r.l&&eS(),uS(r,e)}(this.data,r)},ax.prototype.close=function(){},ax.prototype.constructor=ax,ix.prototype.nm=function(r){return this.root+r},ix.prototype.lookup=function(r){if(!this.content[r]&&this.lookupFun){var e=this.lookupFun(QB(this.root),QB(r));0!==e&&(this.content[r]=new ax(e[1]))}},ix.prototype.exists=function(r){if(r==qC)return 1;var e=new RegExp(VC+(r+fs));for(var t in this.content)if(t.match(e))return 1;return this.lookup(r),this.content[r]?1:0},ix.prototype.readdir=function(r){var e=new RegExp(VC+(r==qC?qC:r+fs)+Pb),t={},n=[];for(var u in this.content){var a=u.match(e);a&&!t[a[1]]&&(t[a[1]]=!0,n.push(a[1]))}return n},ix.prototype.is_dir=function(r){var e=new RegExp(VC+(r==qC?qC:r+fs)+Pb);for(var t in this.content){if(t.match(e))return 1}return 0},ix.prototype.unlink=function(r){var e=!!this.content[r];return delete this.content[r],e},ix.prototype.open=function(r,e){if(e.rdonly&&e.wronly&&rx(this.nm(r)+\" : flags Open_rdonly and Open_wronly are not compatible\"),e.text&&e.binary&&rx(this.nm(r)+\" : flags Open_text and Open_binary are not compatible\"),this.lookup(r),this.content[r]){this.is_dir(r)&&rx(this.nm(r)+\" : is a directory\"),e.create&&e.excl&&rx(this.nm(r)+cC);var t=this.content[r];return e.truncate&&t.truncate(),t}if(e.create)return this.content[r]=new ax(vS(0)),this.content[r];!function(r){rx((r=r instanceof KB?r.toString():r)+\": No such file or directory\")}(this.nm(r))},ix.prototype.register=function(r,e){if(this.content[r]&&rx(this.nm(r)+cC),e instanceof KB)this.content[r]=new ax(e);else if(e instanceof Array)this.content[r]=new ax(function(r){return new KB(4,r,r.length)}(e));else if(e.toString){var t=QB(e.toString());this.content[r]=new ax(t)}},ix.prototype.constructor=ix;var fx=r.Buffer;function ox(r){this.fs=Vt,this.fd=r}function sx(r){this.fs=Vt,this.root=r}ox.prototype=new ux,ox.prototype.truncate=function(r){this.fs.ftruncateSync(this.fd,0|r)},ox.prototype.length=function(){return this.fs.fstatSync(this.fd).size},ox.prototype.write=function(e,t,n,u){var a=cx(t);a instanceof r.Uint8Array||(a=new r.Uint8Array(a));var i=fx.from(a);return this.fs.writeSync(this.fd,i,n,u,e),0},ox.prototype.read=function(e,t,n,u){var a=cx(t);a instanceof r.Uint8Array||(a=new r.Uint8Array(a));var i=fx.from(a);this.fs.readSync(this.fd,i,n,u,e);for(var c=0;cUB.fd_last_idx)&&(UB.fd_last_idx=r),r}function vx(r){var e=UB.fds[r];e.flags.rdonly&&rx(\"fd \"+r+\" is readonly\");var t={file:e.file,offset:e.offset,fd:r,opened:!0,out:!0,buffer:qC};return ex[t.fd]=t,t.fd}function Dx(r,e,t,n){return function(r,e,t,n){var u,a=ex[r];a.opened||rx(\"Cannot output to a closed channel\"),0==t&&ZS(e)==n?u=e:zB(e,t,u=vS(n),0,n);var i=bS(u),c=i.lastIndexOf(\"\\n\");return c<0?a.buffer+=i:(a.buffer+=i.substr(0,c+1),tx(r),a.buffer+=i.substr(c+1)),0}(r,e,t,n)}function px(r,e){return+(0!=sS(r,e,!1))}function bx(r,e){var t=new Array(e+1);t[0]=r;for(var n=1;n<=e;n++)t[n]=0;return t}function Fx(r){return r instanceof Array?r[0]:r instanceof KB?252:1e3}function mx(e,t,n){n&&r.toplevelReloc&&(e=r.toplevelReloc(n)),UB[e+1]=t,n&&(UB[n]=t)}void 0!==r.process&&void 0!==r.process.versions&&r.process.versions.node,lx(0,(function(r,e){var t=ex[r],n=QB(e),u=RS(n);return t.file.write(t.offset,n,0,u),t.offset+=u,0}),new ax(vS(0))),lx(1,(function(e){var t=r;if(t.process&&t.process.stdout&&t.process.stdout.write)t.process.stdout.write(e);else{10==e.charCodeAt(e.length-1)&&(e=e.substr(0,e.length-1));var n=t.console;n&&n.log&&n.log(e)}}),new ax(vS(0))),lx(2,(function(e){var t=r;if(t.process&&t.process.stdout&&t.process.stdout.write)t.process.stderr.write(e);else{10==e.charCodeAt(e.length-1)&&(e=e.substr(0,e.length-1));var n=t.console;n&&n.error&&n.error(e)}}),new ax(vS(0)));var dx={};function Ex(r,e){return r===e?1:(6&r.t&&$B(r),6&e.t&&$B(e),r.c==e.c?1:0)}function kx(r,e){return e>>>0>=r.l&&eS(),MS(r,e)}function hx(r,e){return 1-Ex(r,e)}function yx(e){var t=r,n=e.toString();return t.process&&t.process.env&&null!=t.process.env[n]?_S(t.process.env[n]):r.jsoo_static_env&&r.jsoo_static_env[n]?_S(r.jsoo_static_env[n]):void function(r){throw r}(UB.Not_found)}function Cx(r){for(;r&&r.joo_tramp;)r=r.joo_tramp.apply(null,r.joo_args);return r}function wx(r,e){return{joo_tramp:r,joo_args:e}}function Ax(r){return dx[r]}function _x(e){return e instanceof Array?e:r.RangeError&&e instanceof r.RangeError&&e.message&&e.message.match(/maximum call stack/i)||r.InternalError&&e instanceof r.InternalError&&e.message&&e.message.match(/too much recursion/i)?UB.Stack_overflow:e instanceof r.Error&&Ax(yA)?[0,Ax(yA),e]:[0,UB.Failure,_S(String(e))]}function gx(r,e){return 1==r.length?r(e):aS(r,[e])}function Bx(r,e,t){return 2==r.length?r(e,t):aS(r,[e,t])}function Sx(r,e,t,n){return 3==r.length?r(e,t,n):aS(r,[e,t,n])}function xx(r,e,t,n,u){return 4==r.length?r(e,t,n,u):aS(r,[e,t,n,u])}function Tx(r,e,t,n,u,a){return 5==r.length?r(e,t,n,u,a):aS(r,[e,t,n,u,a])}var Ix=[bc,QB(zb),-1],Nx=[bc,QB(wl),-2],Ox=[bc,QB(Us),-3],Lx=[bc,QB(hi),-4],Px=[bc,QB(ba),-7],Rx=[bc,QB(cw),-8],Mx=[bc,QB(oa),-9],jx=[bc,QB(Bt),-11],Ux=[bc,QB(zD),-12],Xx=[0,[11,QB('File \"'),[2,0,[11,QB('\", line '),[4,0,0,0,[11,QB(\", characters \"),[4,0,0,0,[12,45,[4,0,0,0,[11,QB(\": \"),[2,0,0]]]]]]]]]],QB('File \"%s\", line %d, characters %d-%d: %s')],Gx=[0,0,[0,0,0],[0,0,0]],Jx=[0,0],qx=QB(\"\\x01\\x02\"),zx=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\"),Wx=[0,0,0,0,0,0,0,0,1,0],Vx=[0,QB($o),QB(tp),QB(Ty),QB(Gk),QB(fE),QB(au),QB(Al),QB(fe),QB(Lr),QB(y),QB(Vw),QB(Pc),QB(mt),QB(Zi),QB(Up),QB(Xi),QB(P),QB(et),QB($w),QB(Rk),QB(Mw),QB(B_),QB(vn),QB(ar),QB(Je),QB(yw),QB($n),QB(gf),QB(mi),QB(aF),QB(Pe),QB($p),QB(Da),QB(Pk),QB(jE),QB(TD),QB(Ui),QB(wi),QB(mC),QB(kw),QB(Nu),QB(dk),QB(fp),QB(sF),QB(lf),QB(pw),QB(Kp),QB(dd),QB(Dk),QB(zk),QB(qs),QB(ld),QB(Nn),QB(Tt),QB(KA),QB(Ho),QB(Ut),QB(Ny),QB(Hr),QB(HA),QB(wk),QB(Fk),QB(Et),QB(Wf),QB(iv),QB(at),QB(Zh),QB(os),QB(tA),QB(Lc),QB(x_),QB(B),QB(tF),QB(wp),QB(SB),QB(hC),QB(Kc),QB(io),QB(mn),QB(tr),QB(ei),QB(Fh),QB(lm),QB(uf),QB(Tw),QB(ee),QB(oh),QB(kc),QB(mg),QB(RA),QB(du),QB(Qg),QB(de),QB(Ik),QB(nA),QB(Rh),QB(lB),QB(Ip),QB(nl),QB(PC),QB(Gf),QB(NC),QB(Ur),QB(Eb),QB(Kl),QB(FA),QB(BE),QB(Dr),QB(Fo),QB(gg),QB(FF),QB(Co),QB(U),QB(s_),QB(_E),QB(Uv),QB(TE),QB($i),QB(iB),QB(Oo),QB(jh),QB(Xo),QB(ri),QB(El),QB(HC),QB(Ws),QB(Tl),QB(Hg),QB(t),QB(Wg),QB(Te),QB(sc),QB(Tm),QB(Uo),QB(it),QB(w_),QB(Pu),QB(Wh),QB(bh),QB(Za),QB(ou),QB(an),QB(si),QB(sD),QB(KE),QB(M_),QB(bA),QB(je),QB(ok),QB(Op),QB(Ca),QB(ha),QB(wE),QB(De),QB(Yk),QB(pg),QB(fB),QB(zu),QB(mu),QB(Bm),QB(fn),QB(yk),QB(jk),QB(og),QB(Ol),QB(oy),QB(aE),QB(JA),QB(av),QB(c),QB(Dh),QB(mc),QB(Kt),QB(ji),QB(Pn),QB(FB),QB(xe),QB(pl),QB(Af),QB(LC),QB(aB),QB(gF),QB(Hp),QB(Xm),QB(la),QB(Nl),QB(jb),QB(sn),QB(bF),QB(ur),QB(yv),QB(Lk),QB(aD),QB(Ec),QB(xl),QB(cl),QB(mA),QB(rm),QB(qn),QB(lt),QB(Bo),QB(p_),QB(SF),QB(lF),QB(In),QB(K_),QB(ci),QB(cB),QB(Sp),QB(Ov),QB(Dl),QB(tb)],$x=[0,QB(\"first_leading\"),QB(\"last_trailing\")],Yx=[0,0,0],Hx=[0,0];mx(11,Ux,zD),mx(10,jx,Bt),mx(9,[bc,QB(dy),-10],dy),mx(8,Mx,oa),mx(7,Rx,cw),mx(6,Px,ba),mx(5,[bc,QB(Od),-6],Od),mx(4,[bc,QB(Ls),-5],Ls),mx(3,Lx,hi),mx(2,Ox,Us),mx(1,Nx,wl),mx(0,Ix,zb);var Kx=QB(\"output_substring\"),Qx=QB(Om),Zx=QB(ZF),rT=QB(kh),eT=QB(Pa),tT=QB(\"\\\\\\\\\"),nT=QB(\"\\\\'\"),uT=QB(\"\\\\b\"),aT=QB(\"\\\\t\"),iT=QB(\"\\\\n\"),cT=QB(\"\\\\r\"),fT=QB(\"Char.chr\"),oT=QB(\" is not an Unicode scalar value\"),sT=QB(\"%X\"),lT=QB(\"List.iter2\"),vT=[0,QB(\"list.ml\"),268,11],DT=QB(\"tl\"),pT=QB(\"hd\"),bT=QB(\"String.blit / Bytes.blit_string\"),FT=QB(\"Bytes.blit\"),mT=QB(\"String.sub / Bytes.sub\"),dT=QB(\"Array.blit\"),ET=QB(\"Array.sub\"),kT=QB(\"Array.init\"),hT=QB(\"Set.remove_min_elt\"),yT=[0,0,0,0],CT=[0,0,0],wT=[0,QB(\"set.ml\"),514,18],AT=QB(up),_T=QB(up),gT=QB(up),BT=QB(up),ST=QB(\"Map.remove_min_elt\"),xT=[0,0,0,0],TT=[0,QB(\"map.ml\"),397,10],IT=[0,0,0],NT=QB(Nh),OT=QB(Nh),LT=QB(Nh),PT=QB(Nh),RT=QB(\"Buffer.add_substring/add_subbytes\"),MT=QB(\"Buffer.add: cannot grow buffer\"),jT=QB(\"Buffer.sub\"),UT=QB(\"%c\"),XT=QB(\"%s\"),GT=QB(\"%i\"),JT=QB(\"%li\"),qT=QB(\"%ni\"),zT=QB(\"%Li\"),WT=QB(\"%f\"),VT=QB(kb),$T=QB(\"%{\"),YT=QB(\"%}\"),HT=QB(\"%(\"),KT=QB(\"%)\"),QT=QB(lD),ZT=QB(\"%t\"),rI=QB(\"%?\"),eI=QB(\"%r\"),tI=QB(\"%_r\"),nI=[0,QB(t_),846,23],uI=[0,QB(t_),810,21],aI=[0,QB(t_),811,21],iI=[0,QB(t_),814,21],cI=[0,QB(t_),815,21],fI=[0,QB(t_),818,19],oI=[0,QB(t_),819,19],sI=[0,QB(t_),822,22],lI=[0,QB(t_),823,22],vI=[0,QB(t_),827,30],DI=[0,QB(t_),828,30],pI=[0,QB(t_),832,26],bI=[0,QB(t_),833,26],FI=[0,QB(t_),842,28],mI=[0,QB(t_),843,28],dI=[0,QB(t_),847,23],EI=QB(\"%u\"),kI=[0,QB(t_),1525,4],hI=QB(\"Printf: bad conversion %[\"),yI=[0,QB(t_),1593,39],CI=[0,QB(t_),1616,31],wI=[0,QB(t_),1617,31],AI=QB(\"Printf: bad conversion %_\"),_I=QB(\"@{\"),gI=QB(\"@[\"),BI=[0,[11,QB(\"invalid box description \"),[3,0,0]],QB(\"invalid box description %S\")],SI=QB(qC),xI=[0,0,4],TI=QB(qC),II=QB(\"b\"),NI=QB(\"h\"),OI=QB(\"hov\"),LI=QB(\"hv\"),PI=QB(\"v\"),RI=QB(us),MI=QB(ZF),jI=QB(\"neg_infinity\"),UI=QB(oe),XI=QB(Om),GI=QB(\"%nd\"),JI=QB(\"%+nd\"),qI=QB(\"% nd\"),zI=QB(\"%ni\"),WI=QB(\"%+ni\"),VI=QB(\"% ni\"),$I=QB(\"%nx\"),YI=QB(\"%#nx\"),HI=QB(\"%nX\"),KI=QB(\"%#nX\"),QI=QB(\"%no\"),ZI=QB(\"%#no\"),rN=QB(\"%nu\"),eN=QB(\"%ld\"),tN=QB(\"%+ld\"),nN=QB(\"% ld\"),uN=QB(\"%li\"),aN=QB(\"%+li\"),iN=QB(\"% li\"),cN=QB(\"%lx\"),fN=QB(\"%#lx\"),oN=QB(\"%lX\"),sN=QB(\"%#lX\"),lN=QB(\"%lo\"),vN=QB(\"%#lo\"),DN=QB(\"%lu\"),pN=QB(\"%Ld\"),bN=QB(\"%+Ld\"),FN=QB(\"% Ld\"),mN=QB(\"%Li\"),dN=QB(\"%+Li\"),EN=QB(\"% Li\"),kN=QB(\"%Lx\"),hN=QB(\"%#Lx\"),yN=QB(\"%LX\"),CN=QB(\"%#LX\"),wN=QB(\"%Lo\"),AN=QB(\"%#Lo\"),_N=QB(\"%Lu\"),gN=QB(Gn),BN=QB(\"%+d\"),SN=QB(\"% d\"),xN=QB(\"%i\"),TN=QB(\"%+i\"),IN=QB(\"% i\"),NN=QB(\"%x\"),ON=QB(\"%#x\"),LN=QB(\"%X\"),PN=QB(\"%#X\"),RN=QB(\"%o\"),MN=QB(\"%#o\"),jN=QB(\"%u\"),UN=QB(bv),XN=QB(\"@}\"),GN=QB(\"@?\"),JN=QB(\"@\\n\"),qN=QB(\"@.\"),zN=QB(\"@@\"),WN=QB(\"@%\"),VN=QB(\"@\"),$N=QB(\"CamlinternalFormat.Type_mismatch\"),YN=QB(qC),HN=[0,[11,QB(\", \"),[2,0,[2,0,0]]],QB(\", %s%s\")],KN=QB(\"Out of memory\"),QN=QB(\"Stack overflow\"),ZN=QB(\"Pattern matching failed\"),rO=QB(\"Assertion failed\"),eO=QB(\"Undefined recursive module\"),tO=[0,[12,40,[2,0,[2,0,[12,41,0]]]],QB(\"(%s%s)\")],nO=QB(qC),uO=QB(qC),aO=[0,[12,40,[2,0,[12,41,0]]],QB(\"(%s)\")],iO=[0,[4,0,0,0,0],QB(Gn)],cO=[0,[3,0,0],QB(Ly)],fO=QB(ii),oO=[3,0,3],sO=QB(ZF),lO=QB(L),vO=QB(\"Flow_ast.Function.BodyBlock@ \")],iL=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],cL=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],fL=[0,[17,0,[12,41,0]],QB(ce)],oL=[0,[17,0,[12,41,0]],QB(ce)],sL=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Function.BodyExpression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Function.BodyExpression@ \")],lL=[0,[17,0,[12,41,0]],QB(ce)],vL=[0,[15,0],QB(lD)],DL=QB(cp),pL=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],bL=QB(\"Flow_ast.Function.id\"),FL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mL=QB(BA),dL=QB(Zo),EL=QB(Jl),kL=[0,[17,0,0],QB(bv)],hL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],yL=QB(w),CL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wL=[0,[17,0,0],QB(bv)],AL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_L=QB(AE),gL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],BL=[0,[17,0,0],QB(bv)],SL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],xL=QB(uC),TL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],IL=[0,[9,0,0],QB(kb)],NL=[0,[17,0,0],QB(bv)],OL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],LL=QB(mg),PL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],RL=[0,[9,0,0],QB(kb)],ML=[0,[17,0,0],QB(bv)],jL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],UL=QB(av),XL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],GL=QB(BA),JL=QB(Zo),qL=QB(Jl),zL=[0,[17,0,0],QB(bv)],WL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],VL=QB(Kt),$L=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],YL=[0,[17,0,0],QB(bv)],HL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],KL=QB(yr),QL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ZL=QB(BA),rP=QB(Zo),eP=QB(Jl),tP=[0,[17,0,0],QB(bv)],nP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uP=QB(Gu),aP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iP=QB(BA),cP=QB(Zo),fP=QB(Jl),oP=[0,[17,0,0],QB(bv)],sP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],lP=QB(\"sig_loc\"),vP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],DP=[0,[17,0,0],QB(bv)],pP=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],bP=[0,[15,0],QB(lD)],FP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],mP=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],dP=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],EP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kP=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],hP=QB(\"Flow_ast.Function.Params.this_\"),yP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],CP=QB(BA),wP=QB(Zo),AP=QB(Jl),_P=[0,[17,0,0],QB(bv)],gP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BP=QB(w),SP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xP=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],TP=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],IP=[0,[17,0,0],QB(bv)],NP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],OP=QB(ka),LP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],PP=QB(BA),RP=QB(Zo),MP=QB(Jl),jP=[0,[17,0,0],QB(bv)],UP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XP=QB(Gu),GP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JP=QB(BA),qP=QB(Zo),zP=QB(Jl),WP=[0,[17,0,0],QB(bv)],VP=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],$P=[0,[15,0],QB(lD)],YP=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],HP=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],KP=[0,[17,0,[12,41,0]],QB(ce)],QP=[0,[15,0],QB(lD)],ZP=QB(cp),rR=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],eR=QB(\"Flow_ast.Function.ThisParam.annot\"),tR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nR=[0,[17,0,0],QB(bv)],uR=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],aR=QB(Gu),iR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cR=QB(BA),fR=QB(Zo),oR=QB(Jl),sR=[0,[17,0,0],QB(bv)],lR=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],vR=[0,[15,0],QB(lD)],DR=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],pR=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],bR=[0,[17,0,[12,41,0]],QB(ce)],FR=[0,[15,0],QB(lD)],mR=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],dR=QB(\"Flow_ast.Function.Param.argument\"),ER=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kR=[0,[17,0,0],QB(bv)],hR=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],yR=QB(JC),CR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wR=QB(BA),AR=QB(Zo),_R=QB(Jl),gR=[0,[17,0,0],QB(bv)],BR=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],SR=[0,[15,0],QB(lD)],xR=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],TR=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],IR=[0,[17,0,[12,41,0]],QB(ce)],NR=[0,[15,0],QB(lD)],OR=QB(cp),LR=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],PR=QB(\"Flow_ast.Function.RestParam.argument\"),RR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],MR=[0,[17,0,0],QB(bv)],jR=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],UR=QB(Gu),XR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],GR=QB(BA),JR=QB(Zo),qR=QB(Jl),zR=[0,[17,0,0],QB(bv)],WR=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],VR=[0,[15,0],QB(lD)],$R=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],YR=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],HR=[0,[17,0,[12,41,0]],QB(ce)],KR=[0,[15,0],QB(lD)],QR=QB(cp),ZR=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rM=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],eM=QB(\"Flow_ast.Class.id\"),tM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nM=QB(BA),uM=QB(Zo),aM=QB(Jl),iM=[0,[17,0,0],QB(bv)],cM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fM=QB(AE),oM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sM=[0,[17,0,0],QB(bv)],lM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vM=QB(yr),DM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pM=QB(BA),bM=QB(Zo),FM=QB(Jl),mM=[0,[17,0,0],QB(bv)],dM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],EM=QB(Dp),kM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hM=QB(BA),yM=QB(Zo),CM=QB(Jl),wM=[0,[17,0,0],QB(bv)],AM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_M=QB(Fe),gM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],BM=QB(BA),SM=QB(Zo),xM=QB(Jl),TM=[0,[17,0,0],QB(bv)],IM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],NM=QB(\"class_decorators\"),OM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LM=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],PM=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],RM=[0,[17,0,0],QB(bv)],MM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jM=QB(Gu),UM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XM=QB(BA),GM=QB(Zo),JM=QB(Jl),qM=[0,[17,0,0],QB(bv)],zM=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],WM=[0,[15,0],QB(lD)],VM=QB(cp),$M=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],YM=QB(\"Flow_ast.Class.Decorator.expression\"),HM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],KM=[0,[17,0,0],QB(bv)],QM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ZM=QB(Gu),rj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ej=QB(BA),tj=QB(Zo),nj=QB(Jl),uj=[0,[17,0,0],QB(bv)],aj=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],ij=[0,[15,0],QB(lD)],cj=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],fj=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],oj=[0,[17,0,[12,41,0]],QB(ce)],sj=[0,[15,0],QB(lD)],lj=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Class.Body.Method\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Class.Body.Method@ \")],vj=[0,[17,0,[12,41,0]],QB(ce)],Dj=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Class.Body.Property\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Class.Body.Property@ \")],pj=[0,[17,0,[12,41,0]],QB(ce)],bj=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Class.Body.PrivateField\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Class.Body.PrivateField@ \")],Fj=[0,[17,0,[12,41,0]],QB(ce)],mj=[0,[15,0],QB(lD)],dj=QB(cp),Ej=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kj=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],hj=QB(\"Flow_ast.Class.Body.body\"),yj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Cj=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],wj=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Aj=[0,[17,0,0],QB(bv)],_j=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gj=QB(Gu),Bj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Sj=QB(BA),xj=QB(Zo),Tj=QB(Jl),Ij=[0,[17,0,0],QB(bv)],Nj=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Oj=[0,[15,0],QB(lD)],Lj=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Pj=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Rj=[0,[17,0,[12,41,0]],QB(ce)],Mj=[0,[15,0],QB(lD)],jj=QB(cp),Uj=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Xj=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Gj=QB(\"Flow_ast.Class.Implements.interfaces\"),Jj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qj=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],zj=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Wj=[0,[17,0,0],QB(bv)],Vj=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$j=QB(Gu),Yj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Hj=QB(BA),Kj=QB(Zo),Qj=QB(Jl),Zj=[0,[17,0,0],QB(bv)],rU=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],eU=[0,[15,0],QB(lD)],tU=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],nU=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],uU=[0,[17,0,[12,41,0]],QB(ce)],aU=[0,[15,0],QB(lD)],iU=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],cU=QB(\"Flow_ast.Class.Implements.Interface.id\"),fU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],oU=[0,[17,0,0],QB(bv)],sU=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],lU=QB(FC),vU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],DU=QB(BA),pU=QB(Zo),bU=QB(Jl),FU=[0,[17,0,0],QB(bv)],mU=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],dU=[0,[15,0],QB(lD)],EU=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],kU=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],hU=[0,[17,0,[12,41,0]],QB(ce)],yU=[0,[15,0],QB(lD)],CU=QB(cp),wU=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],AU=QB(\"Flow_ast.Class.Extends.expr\"),_U=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gU=[0,[17,0,0],QB(bv)],BU=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],SU=QB(FC),xU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],TU=QB(BA),IU=QB(Zo),NU=QB(Jl),OU=[0,[17,0,0],QB(bv)],LU=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],PU=QB(Gu),RU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],MU=QB(BA),jU=QB(Zo),UU=QB(Jl),XU=[0,[17,0,0],QB(bv)],GU=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],JU=[0,[15,0],QB(lD)],qU=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],zU=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],WU=[0,[17,0,[12,41,0]],QB(ce)],VU=[0,[15,0],QB(lD)],$U=QB(cp),YU=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],HU=QB(\"Flow_ast.Class.PrivateField.key\"),KU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QU=[0,[17,0,0],QB(bv)],ZU=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rX=QB(Im),eX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tX=[0,[17,0,0],QB(bv)],nX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uX=QB(ra),aX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iX=[0,[17,0,0],QB(bv)],cX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fX=QB(Vu),oX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sX=[0,[9,0,0],QB(kb)],lX=[0,[17,0,0],QB(bv)],vX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],DX=QB(Sp),pX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bX=QB(BA),FX=QB(Zo),mX=QB(Jl),dX=[0,[17,0,0],QB(bv)],EX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kX=QB(Gu),hX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],yX=QB(BA),CX=QB(Zo),wX=QB(Jl),AX=[0,[17,0,0],QB(bv)],_X=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],gX=[0,[15,0],QB(lD)],BX=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],SX=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],xX=[0,[17,0,[12,41,0]],QB(ce)],TX=[0,[15,0],QB(lD)],IX=QB(\"Flow_ast.Class.Property.Uninitialized\"),NX=QB(\"Flow_ast.Class.Property.Declared\"),OX=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Class.Property.Initialized\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Class.Property.Initialized@ \")],LX=[0,[17,0,[12,41,0]],QB(ce)],PX=[0,[15,0],QB(lD)],RX=QB(cp),MX=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],jX=QB(\"Flow_ast.Class.Property.key\"),UX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XX=[0,[17,0,0],QB(bv)],GX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],JX=QB(Im),qX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zX=[0,[17,0,0],QB(bv)],WX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],VX=QB(ra),$X=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],YX=[0,[17,0,0],QB(bv)],HX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],KX=QB(Vu),QX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ZX=[0,[9,0,0],QB(kb)],rG=[0,[17,0,0],QB(bv)],eG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],tG=QB(Sp),nG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uG=QB(BA),aG=QB(Zo),iG=QB(Jl),cG=[0,[17,0,0],QB(bv)],fG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],oG=QB(Gu),sG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lG=QB(BA),vG=QB(Zo),DG=QB(Jl),pG=[0,[17,0,0],QB(bv)],bG=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],FG=[0,[15,0],QB(lD)],mG=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],dG=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],EG=[0,[17,0,[12,41,0]],QB(ce)],kG=[0,[15,0],QB(lD)],hG=QB(cp),yG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],CG=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],wG=QB(\"Flow_ast.Class.Method.kind\"),AG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],_G=[0,[17,0,0],QB(bv)],gG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BG=QB(DB),SG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xG=[0,[17,0,0],QB(bv)],TG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],IG=QB(Im),NG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],OG=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],LG=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],PG=[0,[17,0,[12,41,0]],QB(ce)],RG=[0,[17,0,0],QB(bv)],MG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jG=QB(Vu),UG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XG=[0,[9,0,0],QB(kb)],GG=[0,[17,0,0],QB(bv)],JG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],qG=QB(J),zG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],WG=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],VG=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],$G=[0,[17,0,0],QB(bv)],YG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],HG=QB(Gu),KG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QG=QB(BA),ZG=QB(Zo),rJ=QB(Jl),eJ=[0,[17,0,0],QB(bv)],tJ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],nJ=[0,[15,0],QB(lD)],uJ=QB(\"Flow_ast.Class.Method.Constructor\"),aJ=QB(\"Flow_ast.Class.Method.Method\"),iJ=QB(\"Flow_ast.Class.Method.Get\"),cJ=QB(\"Flow_ast.Class.Method.Set\"),fJ=[0,[15,0],QB(lD)],oJ=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],sJ=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],lJ=[0,[17,0,[12,41,0]],QB(ce)],vJ=[0,[15,0],QB(lD)],DJ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],pJ=QB(\"Flow_ast.Comment.kind\"),bJ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FJ=[0,[17,0,0],QB(bv)],mJ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dJ=QB(\"text\"),EJ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kJ=[0,[3,0,0],QB(Ly)],hJ=[0,[17,0,0],QB(bv)],yJ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],CJ=QB(\"on_newline\"),wJ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],AJ=[0,[9,0,0],QB(kb)],_J=[0,[17,0,0],QB(bv)],gJ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],BJ=[0,[15,0],QB(lD)],SJ=QB(\"Flow_ast.Comment.Line\"),xJ=QB(\"Flow_ast.Comment.Block\"),TJ=[0,[15,0],QB(lD)],IJ=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],NJ=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],OJ=[0,[17,0,[12,41,0]],QB(ce)],LJ=[0,[15,0],QB(lD)],PJ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Object\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Object@ \")],RJ=[0,[17,0,[12,41,0]],QB(ce)],MJ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Array\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Array@ \")],jJ=[0,[17,0,[12,41,0]],QB(ce)],UJ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Identifier@ \")],XJ=[0,[17,0,[12,41,0]],QB(ce)],GJ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Expression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Expression@ \")],JJ=[0,[17,0,[12,41,0]],QB(ce)],qJ=[0,[15,0],QB(lD)],zJ=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],WJ=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],VJ=[0,[17,0,[12,41,0]],QB(ce)],$J=[0,[15,0],QB(lD)],YJ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],HJ=QB(\"Flow_ast.Pattern.Identifier.name\"),KJ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QJ=[0,[17,0,0],QB(bv)],ZJ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rq=QB(ra),eq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tq=[0,[17,0,0],QB(bv)],nq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uq=QB(Dv),aq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iq=[0,[9,0,0],QB(kb)],cq=[0,[17,0,0],QB(bv)],fq=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],oq=[0,[15,0],QB(lD)],sq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],lq=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],vq=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Dq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pq=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],bq=QB(\"Flow_ast.Pattern.Array.elements\"),Fq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mq=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],dq=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Eq=[0,[17,0,0],QB(bv)],kq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hq=QB(ra),yq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Cq=[0,[17,0,0],QB(bv)],wq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Aq=QB(Gu),_q=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gq=QB(BA),Bq=QB(Zo),Sq=QB(Jl),xq=[0,[17,0,0],QB(bv)],Tq=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Iq=[0,[15,0],QB(lD)],Nq=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Array.Element\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Array.Element@ \")],Oq=[0,[17,0,[12,41,0]],QB(ce)],Lq=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Array.RestElement\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Array.RestElement@ \")],Pq=[0,[17,0,[12,41,0]],QB(ce)],Rq=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Array.Hole\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Array.Hole@ \")],Mq=[0,[17,0,[12,41,0]],QB(ce)],jq=[0,[15,0],QB(lD)],Uq=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Xq=QB(\"Flow_ast.Pattern.Array.Element.argument\"),Gq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Jq=[0,[17,0,0],QB(bv)],qq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zq=QB(JC),Wq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vq=QB(BA),$q=QB(Zo),Yq=QB(Jl),Hq=[0,[17,0,0],QB(bv)],Kq=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Qq=[0,[15,0],QB(lD)],Zq=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],rz=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ez=[0,[17,0,[12,41,0]],QB(ce)],tz=[0,[15,0],QB(lD)],nz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uz=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],az=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],iz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cz=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],fz=QB(\"Flow_ast.Pattern.Object.properties\"),oz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sz=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],lz=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],vz=[0,[17,0,0],QB(bv)],Dz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pz=QB(ra),bz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Fz=[0,[17,0,0],QB(bv)],mz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dz=QB(Gu),Ez=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kz=QB(BA),hz=QB(Zo),yz=QB(Jl),Cz=[0,[17,0,0],QB(bv)],wz=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Az=[0,[15,0],QB(lD)],_z=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Object.Property\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Object.Property@ \")],gz=[0,[17,0,[12,41,0]],QB(ce)],Bz=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Object.RestElement\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Object.RestElement@ \")],Sz=[0,[17,0,[12,41,0]],QB(ce)],xz=[0,[15,0],QB(lD)],Tz=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Iz=QB(\"Flow_ast.Pattern.Object.Property.key\"),Nz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Oz=[0,[17,0,0],QB(bv)],Lz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Pz=QB(Op),Rz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mz=[0,[17,0,0],QB(bv)],jz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Uz=QB(JC),Xz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Gz=QB(BA),Jz=QB(Zo),qz=QB(Jl),zz=[0,[17,0,0],QB(bv)],Wz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Vz=QB(Qh),$z=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Yz=[0,[9,0,0],QB(kb)],Hz=[0,[17,0,0],QB(bv)],Kz=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Qz=[0,[15,0],QB(lD)],Zz=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],rW=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],eW=[0,[17,0,[12,41,0]],QB(ce)],tW=[0,[15,0],QB(lD)],nW=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Object.Property.Literal\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Object.Property.Literal@ \")],uW=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],aW=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],iW=[0,[17,0,[12,41,0]],QB(ce)],cW=[0,[17,0,[12,41,0]],QB(ce)],fW=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Object.Property.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Object.Property.Identifier@ \")],oW=[0,[17,0,[12,41,0]],QB(ce)],sW=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Object.Property.Computed\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Object.Property.Computed@ \")],lW=[0,[17,0,[12,41,0]],QB(ce)],vW=[0,[15,0],QB(lD)],DW=QB(cp),pW=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],bW=QB(\"Flow_ast.Pattern.RestElement.argument\"),FW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mW=[0,[17,0,0],QB(bv)],dW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],EW=QB(Gu),kW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hW=QB(BA),yW=QB(Zo),CW=QB(Jl),wW=[0,[17,0,0],QB(bv)],AW=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],_W=[0,[15,0],QB(lD)],gW=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],BW=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],SW=[0,[17,0,[12,41,0]],QB(ce)],xW=[0,[15,0],QB(lD)],TW=QB(cp),IW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],NW=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],OW=QB(\"Flow_ast.JSX.frag_opening_element\"),LW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],PW=[0,[17,0,0],QB(bv)],RW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],MW=QB(\"frag_closing_element\"),jW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],UW=[0,[17,0,0],QB(bv)],XW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],GW=QB(\"frag_children\"),JW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qW=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],zW=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],WW=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],VW=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],$W=[0,[17,0,[12,41,0]],QB(ce)],YW=[0,[17,0,0],QB(bv)],HW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],KW=QB(\"frag_comments\"),QW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ZW=QB(BA),rV=QB(Zo),eV=QB(Jl),tV=[0,[17,0,0],QB(bv)],nV=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],uV=[0,[15,0],QB(lD)],aV=QB(cp),iV=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cV=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],fV=QB(\"Flow_ast.JSX.opening_element\"),oV=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sV=[0,[17,0,0],QB(bv)],lV=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vV=QB(\"closing_element\"),DV=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pV=QB(BA),bV=QB(Zo),FV=QB(Jl),mV=[0,[17,0,0],QB(bv)],dV=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],EV=QB(i),kV=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hV=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],yV=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],CV=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],wV=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],AV=[0,[17,0,[12,41,0]],QB(ce)],_V=[0,[17,0,0],QB(bv)],gV=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BV=QB(Gu),SV=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xV=QB(BA),TV=QB(Zo),IV=QB(Jl),NV=[0,[17,0,0],QB(bv)],OV=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],LV=[0,[15,0],QB(lD)],PV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Element\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Element@ \")],RV=[0,[17,0,[12,41,0]],QB(ce)],MV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Fragment\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Fragment@ \")],jV=[0,[17,0,[12,41,0]],QB(ce)],UV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.ExpressionContainer\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.ExpressionContainer@ \")],XV=[0,[17,0,[12,41,0]],QB(ce)],GV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.SpreadChild\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.SpreadChild@ \")],JV=[0,[17,0,[12,41,0]],QB(ce)],qV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Text\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Text@ \")],zV=[0,[17,0,[12,41,0]],QB(ce)],WV=[0,[15,0],QB(lD)],VV=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],$V=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],YV=[0,[17,0,[12,41,0]],QB(ce)],HV=[0,[15,0],QB(lD)],KV=QB(cp),QV=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ZV=QB(\"Flow_ast.JSX.SpreadChild.expression\"),r$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],e$=[0,[17,0,0],QB(bv)],t$=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],n$=QB(Gu),u$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],a$=QB(BA),i$=QB(Zo),c$=QB(Jl),f$=[0,[17,0,0],QB(bv)],o$=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],s$=[0,[15,0],QB(lD)],l$=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],v$=QB(\"Flow_ast.JSX.Closing.name\"),D$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],p$=[0,[17,0,0],QB(bv)],b$=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],F$=[0,[15,0],QB(lD)],m$=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],d$=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],E$=[0,[17,0,[12,41,0]],QB(ce)],k$=[0,[15,0],QB(lD)],h$=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],y$=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],C$=QB(\"Flow_ast.JSX.Opening.name\"),w$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],A$=[0,[17,0,0],QB(bv)],_$=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],g$=QB(\"self_closing\"),B$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],S$=[0,[9,0,0],QB(kb)],x$=[0,[17,0,0],QB(bv)],T$=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],I$=QB(zh),N$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],O$=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],L$=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],P$=[0,[17,0,0],QB(bv)],R$=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],M$=[0,[15,0],QB(lD)],j$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Opening.Attribute\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Opening.Attribute@ \")],U$=[0,[17,0,[12,41,0]],QB(ce)],X$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Opening.SpreadAttribute\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Opening.SpreadAttribute@ \")],G$=[0,[17,0,[12,41,0]],QB(ce)],J$=[0,[15,0],QB(lD)],q$=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],z$=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],W$=[0,[17,0,[12,41,0]],QB(ce)],V$=[0,[15,0],QB(lD)],$$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Identifier@ \")],Y$=[0,[17,0,[12,41,0]],QB(ce)],H$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.NamespacedName\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.NamespacedName@ \")],K$=[0,[17,0,[12,41,0]],QB(ce)],Q$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.MemberExpression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.MemberExpression@ \")],Z$=[0,[17,0,[12,41,0]],QB(ce)],rY=[0,[15,0],QB(lD)],eY=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],tY=QB(\"Flow_ast.JSX.MemberExpression._object\"),nY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uY=[0,[17,0,0],QB(bv)],aY=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],iY=QB(rA),cY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fY=[0,[17,0,0],QB(bv)],oY=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],sY=[0,[15,0],QB(lD)],lY=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.MemberExpression.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.MemberExpression.Identifier@ \")],vY=[0,[17,0,[12,41,0]],QB(ce)],DY=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.MemberExpression.MemberExpression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.MemberExpression.MemberExpression@ \")],pY=[0,[17,0,[12,41,0]],QB(ce)],bY=[0,[15,0],QB(lD)],FY=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],mY=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],dY=[0,[17,0,[12,41,0]],QB(ce)],EY=[0,[15,0],QB(lD)],kY=QB(cp),hY=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],yY=QB(\"Flow_ast.JSX.SpreadAttribute.argument\"),CY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wY=[0,[17,0,0],QB(bv)],AY=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_Y=QB(Gu),gY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],BY=QB(BA),SY=QB(Zo),xY=QB(Jl),TY=[0,[17,0,0],QB(bv)],IY=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],NY=[0,[15,0],QB(lD)],OY=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],LY=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],PY=[0,[17,0,[12,41,0]],QB(ce)],RY=[0,[15,0],QB(lD)],MY=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],jY=QB(\"Flow_ast.JSX.Attribute.name\"),UY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XY=[0,[17,0,0],QB(bv)],GY=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],JY=QB(Im),qY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zY=QB(BA),WY=QB(Zo),VY=QB(Jl),$Y=[0,[17,0,0],QB(bv)],YY=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],HY=[0,[15,0],QB(lD)],KY=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Attribute.Literal (\"),[17,[0,QB(Ro),0,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Attribute.Literal (@,\")],QY=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ZY=[0,[17,[0,QB(Ro),0,0],[11,QB(eF),[17,0,0]]],QB(Xn)],rH=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Attribute.ExpressionContainer (\"),[17,[0,QB(Ro),0,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Attribute.ExpressionContainer (@,\")],eH=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],tH=[0,[17,[0,QB(Ro),0,0],[11,QB(eF),[17,0,0]]],QB(Xn)],nH=[0,[15,0],QB(lD)],uH=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Attribute.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Attribute.Identifier@ \")],aH=[0,[17,0,[12,41,0]],QB(ce)],iH=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Attribute.NamespacedName\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Attribute.NamespacedName@ \")],cH=[0,[17,0,[12,41,0]],QB(ce)],fH=[0,[15,0],QB(lD)],oH=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],sH=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],lH=[0,[17,0,[12,41,0]],QB(ce)],vH=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],DH=QB(\"Flow_ast.JSX.Text.value\"),pH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bH=[0,[3,0,0],QB(Ly)],FH=[0,[17,0,0],QB(bv)],mH=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dH=QB(ge),EH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kH=[0,[3,0,0],QB(Ly)],hH=[0,[17,0,0],QB(bv)],yH=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],CH=[0,[15,0],QB(lD)],wH=[0,[15,0],QB(lD)],AH=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.ExpressionContainer.Expression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.ExpressionContainer.Expression@ \")],_H=[0,[17,0,[12,41,0]],QB(ce)],gH=QB(\"Flow_ast.JSX.ExpressionContainer.EmptyExpression\"),BH=[0,[15,0],QB(lD)],SH=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],xH=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],TH=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],IH=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],NH=QB(\"Flow_ast.JSX.ExpressionContainer.expression\"),OH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LH=[0,[17,0,0],QB(bv)],PH=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],RH=QB(Gu),MH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jH=QB(BA),UH=QB(Zo),XH=QB(Jl),GH=[0,[17,0,0],QB(bv)],JH=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],qH=[0,[15,0],QB(lD)],zH=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],WH=QB(\"Flow_ast.JSX.NamespacedName.namespace\"),VH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$H=[0,[17,0,0],QB(bv)],YH=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],HH=QB(Wl),KH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QH=[0,[17,0,0],QB(bv)],ZH=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],rK=[0,[15,0],QB(lD)],eK=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],tK=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],nK=[0,[17,0,[12,41,0]],QB(ce)],uK=[0,[15,0],QB(lD)],aK=QB(cp),iK=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],cK=QB(\"Flow_ast.JSX.Identifier.name\"),fK=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],oK=[0,[3,0,0],QB(Ly)],sK=[0,[17,0,0],QB(bv)],lK=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vK=QB(Gu),DK=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pK=QB(BA),bK=QB(Zo),FK=QB(Jl),mK=[0,[17,0,0],QB(bv)],dK=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],EK=[0,[15,0],QB(lD)],kK=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hK=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],yK=[0,[17,0,[12,41,0]],QB(ce)],CK=[0,[15,0],QB(lD)],wK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Array\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Array@ \")],AK=[0,[17,0,[12,41,0]],QB(ce)],_K=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.ArrowFunction\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.ArrowFunction@ \")],gK=[0,[17,0,[12,41,0]],QB(ce)],BK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Assignment\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Assignment@ \")],SK=[0,[17,0,[12,41,0]],QB(ce)],xK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Binary\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Binary@ \")],TK=[0,[17,0,[12,41,0]],QB(ce)],IK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Call\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Call@ \")],NK=[0,[17,0,[12,41,0]],QB(ce)],OK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Class\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Class@ \")],LK=[0,[17,0,[12,41,0]],QB(ce)],PK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Comprehension\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Comprehension@ \")],RK=[0,[17,0,[12,41,0]],QB(ce)],MK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Conditional\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Conditional@ \")],jK=[0,[17,0,[12,41,0]],QB(ce)],UK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Function\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Function@ \")],XK=[0,[17,0,[12,41,0]],QB(ce)],GK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Generator\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Generator@ \")],JK=[0,[17,0,[12,41,0]],QB(ce)],qK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Identifier@ \")],zK=[0,[17,0,[12,41,0]],QB(ce)],WK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Import\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Import@ \")],VK=[0,[17,0,[12,41,0]],QB(ce)],$K=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.JSXElement\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.JSXElement@ \")],YK=[0,[17,0,[12,41,0]],QB(ce)],HK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.JSXFragment\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.JSXFragment@ \")],KK=[0,[17,0,[12,41,0]],QB(ce)],QK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Literal\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Literal@ \")],ZK=[0,[17,0,[12,41,0]],QB(ce)],rQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Logical\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Logical@ \")],eQ=[0,[17,0,[12,41,0]],QB(ce)],tQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Member\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Member@ \")],nQ=[0,[17,0,[12,41,0]],QB(ce)],uQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.MetaProperty\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.MetaProperty@ \")],aQ=[0,[17,0,[12,41,0]],QB(ce)],iQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.New\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.New@ \")],cQ=[0,[17,0,[12,41,0]],QB(ce)],fQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Object@ \")],oQ=[0,[17,0,[12,41,0]],QB(ce)],sQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.OptionalCall\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.OptionalCall@ \")],lQ=[0,[17,0,[12,41,0]],QB(ce)],vQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.OptionalMember\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.OptionalMember@ \")],DQ=[0,[17,0,[12,41,0]],QB(ce)],pQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Sequence\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Sequence@ \")],bQ=[0,[17,0,[12,41,0]],QB(ce)],FQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Super\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Super@ \")],mQ=[0,[17,0,[12,41,0]],QB(ce)],dQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.TaggedTemplate\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.TaggedTemplate@ \")],EQ=[0,[17,0,[12,41,0]],QB(ce)],kQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.TemplateLiteral\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.TemplateLiteral@ \")],hQ=[0,[17,0,[12,41,0]],QB(ce)],yQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.This\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.This@ \")],CQ=[0,[17,0,[12,41,0]],QB(ce)],wQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.TypeCast\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.TypeCast@ \")],AQ=[0,[17,0,[12,41,0]],QB(ce)],_Q=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Unary\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Unary@ \")],gQ=[0,[17,0,[12,41,0]],QB(ce)],BQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Update\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Update@ \")],SQ=[0,[17,0,[12,41,0]],QB(ce)],xQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Yield\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Yield@ \")],TQ=[0,[17,0,[12,41,0]],QB(ce)],IQ=[0,[15,0],QB(lD)],NQ=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],OQ=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],LQ=[0,[17,0,[12,41,0]],QB(ce)],PQ=[0,[15,0],QB(lD)],RQ=QB(cp),MQ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],jQ=QB(\"Flow_ast.Expression.Import.argument\"),UQ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XQ=[0,[17,0,0],QB(bv)],GQ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],JQ=QB(Gu),qQ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zQ=QB(BA),WQ=QB(Zo),VQ=QB(Jl),$Q=[0,[17,0,0],QB(bv)],YQ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],HQ=[0,[15,0],QB(lD)],KQ=QB(cp),QQ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ZQ=QB(\"Flow_ast.Expression.Super.comments\"),rZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],eZ=QB(BA),tZ=QB(Zo),nZ=QB(Jl),uZ=[0,[17,0,0],QB(bv)],aZ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],iZ=[0,[15,0],QB(lD)],cZ=QB(cp),fZ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],oZ=QB(\"Flow_ast.Expression.This.comments\"),sZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lZ=QB(BA),vZ=QB(Zo),DZ=QB(Jl),pZ=[0,[17,0,0],QB(bv)],bZ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],FZ=[0,[15,0],QB(lD)],mZ=QB(cp),dZ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],EZ=QB(\"Flow_ast.Expression.MetaProperty.meta\"),kZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hZ=[0,[17,0,0],QB(bv)],yZ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],CZ=QB(rA),wZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],AZ=[0,[17,0,0],QB(bv)],_Z=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gZ=QB(Gu),BZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],SZ=QB(BA),xZ=QB(Zo),TZ=QB(Jl),IZ=[0,[17,0,0],QB(bv)],NZ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],OZ=[0,[15,0],QB(lD)],LZ=QB(cp),PZ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],RZ=QB(\"Flow_ast.Expression.TypeCast.expression\"),MZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jZ=[0,[17,0,0],QB(bv)],UZ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XZ=QB(ra),GZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JZ=[0,[17,0,0],QB(bv)],qZ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zZ=QB(Gu),WZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VZ=QB(BA),$Z=QB(Zo),YZ=QB(Jl),HZ=[0,[17,0,0],QB(bv)],KZ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],QZ=[0,[15,0],QB(lD)],ZZ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],r0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],e0=QB(\"Flow_ast.Expression.Generator.blocks\"),t0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],n0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],u0=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],a0=[0,[17,0,0],QB(bv)],i0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],c0=QB(Xt),f0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],o0=QB(BA),s0=QB(Zo),l0=QB(Jl),v0=[0,[17,0,0],QB(bv)],D0=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],p0=[0,[15,0],QB(lD)],b0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],F0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],m0=QB(\"Flow_ast.Expression.Comprehension.blocks\"),d0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],E0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],k0=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],h0=[0,[17,0,0],QB(bv)],y0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],C0=QB(Xt),w0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],A0=QB(BA),_0=QB(Zo),g0=QB(Jl),B0=[0,[17,0,0],QB(bv)],S0=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],x0=[0,[15,0],QB(lD)],T0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],I0=QB(\"Flow_ast.Expression.Comprehension.Block.left\"),N0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],O0=[0,[17,0,0],QB(bv)],L0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],P0=QB(iu),R0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],M0=[0,[17,0,0],QB(bv)],j0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],U0=QB(Cl),X0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],G0=[0,[9,0,0],QB(kb)],J0=[0,[17,0,0],QB(bv)],q0=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],z0=[0,[15,0],QB(lD)],W0=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],V0=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],$0=[0,[17,0,[12,41,0]],QB(ce)],Y0=[0,[15,0],QB(lD)],H0=QB(cp),K0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Q0=QB(\"Flow_ast.Expression.Yield.argument\"),Z0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],r1=QB(BA),e1=QB(Zo),t1=QB(Jl),n1=[0,[17,0,0],QB(bv)],u1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],a1=QB(Gu),i1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],c1=QB(BA),f1=QB(Zo),o1=QB(Jl),s1=[0,[17,0,0],QB(bv)],l1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],v1=QB(Eh),D1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],p1=[0,[9,0,0],QB(kb)],b1=[0,[17,0,0],QB(bv)],F1=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],m1=[0,[15,0],QB(lD)],d1=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],E1=QB(\"Flow_ast.Expression.OptionalMember.member\"),k1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],h1=[0,[17,0,0],QB(bv)],y1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],C1=QB(Dv),w1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],A1=[0,[9,0,0],QB(kb)],_1=[0,[17,0,0],QB(bv)],g1=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],B1=[0,[15,0],QB(lD)],S1=QB(cp),x1=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],T1=QB(\"Flow_ast.Expression.Member._object\"),I1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],N1=[0,[17,0,0],QB(bv)],O1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],L1=QB(rA),P1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],R1=[0,[17,0,0],QB(bv)],M1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],j1=QB(Gu),U1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],X1=QB(BA),G1=QB(Zo),J1=QB(Jl),q1=[0,[17,0,0],QB(bv)],z1=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],W1=[0,[15,0],QB(lD)],V1=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Member.PropertyIdentifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Member.PropertyIdentifier@ \")],$1=[0,[17,0,[12,41,0]],QB(ce)],Y1=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Member.PropertyPrivateName\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Member.PropertyPrivateName@ \")],H1=[0,[17,0,[12,41,0]],QB(ce)],K1=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Member.PropertyExpression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Member.PropertyExpression@ \")],Q1=[0,[17,0,[12,41,0]],QB(ce)],Z1=[0,[15,0],QB(lD)],r2=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],e2=QB(\"Flow_ast.Expression.OptionalCall.call\"),t2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],n2=[0,[17,0,0],QB(bv)],u2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],a2=QB(Dv),i2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],c2=[0,[9,0,0],QB(kb)],f2=[0,[17,0,0],QB(bv)],o2=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],s2=[0,[15,0],QB(lD)],l2=QB(cp),v2=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],D2=QB(\"Flow_ast.Expression.Call.callee\"),p2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],b2=[0,[17,0,0],QB(bv)],F2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],m2=QB(FC),d2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],E2=QB(BA),k2=QB(Zo),h2=QB(Jl),y2=[0,[17,0,0],QB(bv)],C2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],w2=QB(Xu),A2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],_2=[0,[17,0,0],QB(bv)],g2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],B2=QB(Gu),S2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],x2=QB(BA),T2=QB(Zo),I2=QB(Jl),N2=[0,[17,0,0],QB(bv)],O2=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],L2=[0,[15,0],QB(lD)],P2=QB(cp),R2=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],M2=QB(\"Flow_ast.Expression.New.callee\"),j2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],U2=[0,[17,0,0],QB(bv)],X2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],G2=QB(FC),J2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],q2=QB(BA),z2=QB(Zo),W2=QB(Jl),V2=[0,[17,0,0],QB(bv)],$2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Y2=QB(Xu),H2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],K2=QB(BA),Q2=QB(Zo),Z2=QB(Jl),r7=[0,[17,0,0],QB(bv)],e7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],t7=QB(Gu),n7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],u7=QB(BA),a7=QB(Zo),i7=QB(Jl),c7=[0,[17,0,0],QB(bv)],f7=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],o7=[0,[15,0],QB(lD)],s7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],l7=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],v7=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],D7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],p7=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],b7=QB(\"Flow_ast.Expression.ArgList.arguments\"),F7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],m7=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],d7=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],E7=[0,[17,0,0],QB(bv)],k7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],h7=QB(Gu),y7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],C7=QB(BA),w7=QB(Zo),A7=QB(Jl),_7=[0,[17,0,0],QB(bv)],g7=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],B7=[0,[15,0],QB(lD)],S7=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],x7=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],T7=[0,[17,0,[12,41,0]],QB(ce)],I7=[0,[15,0],QB(lD)],N7=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Expression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Expression@ \")],O7=[0,[17,0,[12,41,0]],QB(ce)],L7=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Spread\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Spread@ \")],P7=[0,[17,0,[12,41,0]],QB(ce)],R7=[0,[15,0],QB(lD)],M7=QB(cp),j7=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],U7=QB(\"Flow_ast.Expression.Conditional.test\"),X7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],G7=[0,[17,0,0],QB(bv)],J7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],q7=QB(Rp),z7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],W7=[0,[17,0,0],QB(bv)],V7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$7=QB(qF),Y7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],H7=[0,[17,0,0],QB(bv)],K7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Q7=QB(Gu),Z7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],r8=QB(BA),e8=QB(Zo),t8=QB(Jl),n8=[0,[17,0,0],QB(bv)],u8=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],a8=[0,[15,0],QB(lD)],i8=QB(cp),c8=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],f8=QB(\"Flow_ast.Expression.Logical.operator\"),o8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],s8=[0,[17,0,0],QB(bv)],l8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],v8=QB(of),D8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],p8=[0,[17,0,0],QB(bv)],b8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],F8=QB(iu),m8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],d8=[0,[17,0,0],QB(bv)],E8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],k8=QB(Gu),h8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],y8=QB(BA),C8=QB(Zo),w8=QB(Jl),A8=[0,[17,0,0],QB(bv)],_8=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],g8=[0,[15,0],QB(lD)],B8=QB(\"Flow_ast.Expression.Logical.Or\"),S8=QB(\"Flow_ast.Expression.Logical.And\"),x8=QB(\"Flow_ast.Expression.Logical.NullishCoalesce\"),T8=[0,[15,0],QB(lD)],I8=QB(cp),N8=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],O8=QB(\"Flow_ast.Expression.Update.operator\"),L8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],P8=[0,[17,0,0],QB(bv)],R8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],M8=QB(QC),j8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],U8=[0,[17,0,0],QB(bv)],X8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],G8=QB(CD),J8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],q8=[0,[9,0,0],QB(kb)],z8=[0,[17,0,0],QB(bv)],W8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],V8=QB(Gu),$8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Y8=QB(BA),H8=QB(Zo),K8=QB(Jl),Q8=[0,[17,0,0],QB(bv)],Z8=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],r3=[0,[15,0],QB(lD)],e3=QB(\"Flow_ast.Expression.Update.Decrement\"),t3=QB(\"Flow_ast.Expression.Update.Increment\"),n3=[0,[15,0],QB(lD)],u3=QB(cp),a3=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],i3=QB(\"Flow_ast.Expression.Assignment.operator\"),c3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],f3=QB(BA),o3=QB(Zo),s3=QB(Jl),l3=[0,[17,0,0],QB(bv)],v3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],D3=QB(of),p3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],b3=[0,[17,0,0],QB(bv)],F3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],m3=QB(iu),d3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],E3=[0,[17,0,0],QB(bv)],k3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],h3=QB(Gu),y3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],C3=QB(BA),w3=QB(Zo),A3=QB(Jl),_3=[0,[17,0,0],QB(bv)],g3=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],B3=[0,[15,0],QB(lD)],S3=QB(\"Flow_ast.Expression.Assignment.PlusAssign\"),x3=QB(\"Flow_ast.Expression.Assignment.MinusAssign\"),T3=QB(\"Flow_ast.Expression.Assignment.MultAssign\"),I3=QB(\"Flow_ast.Expression.Assignment.ExpAssign\"),N3=QB(\"Flow_ast.Expression.Assignment.DivAssign\"),O3=QB(\"Flow_ast.Expression.Assignment.ModAssign\"),L3=QB(\"Flow_ast.Expression.Assignment.LShiftAssign\"),P3=QB(\"Flow_ast.Expression.Assignment.RShiftAssign\"),R3=QB(\"Flow_ast.Expression.Assignment.RShift3Assign\"),M3=QB(\"Flow_ast.Expression.Assignment.BitOrAssign\"),j3=QB(\"Flow_ast.Expression.Assignment.BitXorAssign\"),U3=QB(\"Flow_ast.Expression.Assignment.BitAndAssign\"),X3=[0,[15,0],QB(lD)],G3=QB(cp),J3=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],q3=QB(\"Flow_ast.Expression.Binary.operator\"),z3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],W3=[0,[17,0,0],QB(bv)],V3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$3=QB(of),Y3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],H3=[0,[17,0,0],QB(bv)],K3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Q3=QB(iu),Z3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],r4=[0,[17,0,0],QB(bv)],e4=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],t4=QB(Gu),n4=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],u4=QB(BA),a4=QB(Zo),i4=QB(Jl),c4=[0,[17,0,0],QB(bv)],f4=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],o4=[0,[15,0],QB(lD)],s4=QB(\"Flow_ast.Expression.Binary.Equal\"),l4=QB(\"Flow_ast.Expression.Binary.NotEqual\"),v4=QB(\"Flow_ast.Expression.Binary.StrictEqual\"),D4=QB(\"Flow_ast.Expression.Binary.StrictNotEqual\"),p4=QB(\"Flow_ast.Expression.Binary.LessThan\"),b4=QB(\"Flow_ast.Expression.Binary.LessThanEqual\"),F4=QB(\"Flow_ast.Expression.Binary.GreaterThan\"),m4=QB(\"Flow_ast.Expression.Binary.GreaterThanEqual\"),d4=QB(\"Flow_ast.Expression.Binary.LShift\"),E4=QB(\"Flow_ast.Expression.Binary.RShift\"),k4=QB(\"Flow_ast.Expression.Binary.RShift3\"),h4=QB(\"Flow_ast.Expression.Binary.Plus\"),y4=QB(\"Flow_ast.Expression.Binary.Minus\"),C4=QB(\"Flow_ast.Expression.Binary.Mult\"),w4=QB(\"Flow_ast.Expression.Binary.Exp\"),A4=QB(\"Flow_ast.Expression.Binary.Div\"),_4=QB(\"Flow_ast.Expression.Binary.Mod\"),g4=QB(\"Flow_ast.Expression.Binary.BitOr\"),B4=QB(\"Flow_ast.Expression.Binary.Xor\"),S4=QB(\"Flow_ast.Expression.Binary.BitAnd\"),x4=QB(\"Flow_ast.Expression.Binary.In\"),T4=QB(\"Flow_ast.Expression.Binary.Instanceof\"),I4=[0,[15,0],QB(lD)],N4=QB(cp),O4=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],L4=QB(\"Flow_ast.Expression.Unary.operator\"),P4=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],R4=[0,[17,0,0],QB(bv)],M4=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],j4=QB(QC),U4=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],X4=[0,[17,0,0],QB(bv)],G4=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],J4=QB(Gu),q4=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],z4=QB(BA),W4=QB(Zo),V4=QB(Jl),$4=[0,[17,0,0],QB(bv)],Y4=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],H4=[0,[15,0],QB(lD)],K4=QB(\"Flow_ast.Expression.Unary.Minus\"),Q4=QB(\"Flow_ast.Expression.Unary.Plus\"),Z4=QB(\"Flow_ast.Expression.Unary.Not\"),r6=QB(\"Flow_ast.Expression.Unary.BitNot\"),e6=QB(\"Flow_ast.Expression.Unary.Typeof\"),t6=QB(\"Flow_ast.Expression.Unary.Void\"),n6=QB(\"Flow_ast.Expression.Unary.Delete\"),u6=QB(\"Flow_ast.Expression.Unary.Await\"),a6=[0,[15,0],QB(lD)],i6=QB(cp),c6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],f6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],o6=QB(\"Flow_ast.Expression.Sequence.expressions\"),s6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],l6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],v6=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],D6=[0,[17,0,0],QB(bv)],p6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],b6=QB(Gu),F6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],m6=QB(BA),d6=QB(Zo),E6=QB(Jl),k6=[0,[17,0,0],QB(bv)],h6=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],y6=[0,[15,0],QB(lD)],C6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],w6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],A6=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],_6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],g6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],B6=QB(\"Flow_ast.Expression.Object.properties\"),S6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],x6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],T6=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],I6=[0,[17,0,0],QB(bv)],N6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],O6=QB(Gu),L6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],P6=QB(BA),R6=QB(Zo),M6=QB(Jl),j6=[0,[17,0,0],QB(bv)],U6=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],X6=[0,[15,0],QB(lD)],G6=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Object.Property@ \")],J6=[0,[17,0,[12,41,0]],QB(ce)],q6=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.SpreadProperty\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Object.SpreadProperty@ \")],z6=[0,[17,0,[12,41,0]],QB(ce)],W6=[0,[15,0],QB(lD)],V6=QB(cp),$6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Y6=QB(\"Flow_ast.Expression.Object.SpreadProperty.argument\"),H6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],K6=[0,[17,0,0],QB(bv)],Q6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Z6=QB(Gu),r5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],e5=QB(BA),t5=QB(Zo),n5=QB(Jl),u5=[0,[17,0,0],QB(bv)],a5=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],i5=[0,[15,0],QB(lD)],c5=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],f5=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],o5=[0,[17,0,[12,41,0]],QB(ce)],s5=[0,[15,0],QB(lD)],l5=QB(cp),v5=QB(cp),D5=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.Init {\"),[17,[0,QB(Ro),0,0],0]]],QB(\"@[<2>Flow_ast.Expression.Object.Property.Init {@,\")],p5=QB(DB),b5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],F5=[0,[17,0,0],QB(bv)],m5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],d5=QB(Im),E5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],k5=[0,[17,0,0],QB(bv)],h5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],y5=QB(Qh),C5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],w5=[0,[9,0,0],QB(kb)],A5=[0,[17,0,0],QB(bv)],_5=[0,[17,0,[12,gd,0]],QB(gA)],g5=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.Method {\"),[17,[0,QB(Ro),0,0],0]]],QB(\"@[<2>Flow_ast.Expression.Object.Property.Method {@,\")],B5=QB(DB),S5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],x5=[0,[17,0,0],QB(bv)],T5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],I5=QB(Im),N5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],O5=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],L5=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],P5=[0,[17,0,[12,41,0]],QB(ce)],R5=[0,[17,0,0],QB(bv)],M5=[0,[17,0,[12,gd,0]],QB(gA)],j5=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.Get {\"),[17,[0,QB(Ro),0,0],0]]],QB(\"@[<2>Flow_ast.Expression.Object.Property.Get {@,\")],U5=QB(DB),X5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],G5=[0,[17,0,0],QB(bv)],J5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],q5=QB(Im),z5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],W5=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],V5=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],$5=[0,[17,0,[12,41,0]],QB(ce)],Y5=[0,[17,0,0],QB(bv)],H5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],K5=QB(Gu),Q5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Z5=QB(BA),r9=QB(Zo),e9=QB(Jl),t9=[0,[17,0,0],QB(bv)],n9=[0,[17,0,[12,gd,0]],QB(gA)],u9=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.Set {\"),[17,[0,QB(Ro),0,0],0]]],QB(\"@[<2>Flow_ast.Expression.Object.Property.Set {@,\")],a9=QB(DB),i9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],c9=[0,[17,0,0],QB(bv)],f9=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],o9=QB(Im),s9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],l9=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],v9=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],D9=[0,[17,0,[12,41,0]],QB(ce)],p9=[0,[17,0,0],QB(bv)],b9=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],F9=QB(Gu),m9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],d9=QB(BA),E9=QB(Zo),k9=QB(Jl),h9=[0,[17,0,0],QB(bv)],y9=[0,[17,0,[12,gd,0]],QB(gA)],C9=[0,[15,0],QB(lD)],w9=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],A9=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],_9=[0,[17,0,[12,41,0]],QB(ce)],g9=[0,[15,0],QB(lD)],B9=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.Literal\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Object.Property.Literal@ \")],S9=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],x9=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],T9=[0,[17,0,[12,41,0]],QB(ce)],I9=[0,[17,0,[12,41,0]],QB(ce)],N9=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Object.Property.Identifier@ \")],O9=[0,[17,0,[12,41,0]],QB(ce)],L9=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.PrivateName\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Object.Property.PrivateName@ \")],P9=[0,[17,0,[12,41,0]],QB(ce)],R9=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.Computed\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Object.Property.Computed@ \")],M9=[0,[17,0,[12,41,0]],QB(ce)],j9=[0,[15,0],QB(lD)],U9=QB(cp),X9=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],G9=QB(\"Flow_ast.Expression.TaggedTemplate.tag\"),J9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],q9=[0,[17,0,0],QB(bv)],z9=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],W9=QB(Oy),V9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$9=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Y9=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],H9=[0,[17,0,[12,41,0]],QB(ce)],K9=[0,[17,0,0],QB(bv)],Q9=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Z9=QB(Gu),rrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],err=QB(BA),trr=QB(Zo),nrr=QB(Jl),urr=[0,[17,0,0],QB(bv)],arr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],irr=[0,[15,0],QB(lD)],crr=QB(cp),frr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],orr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],srr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],lrr=QB(\"Flow_ast.Expression.TemplateLiteral.quasis\"),vrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Drr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],prr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],brr=[0,[17,0,0],QB(bv)],Frr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],mrr=QB(Hm),drr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Err=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],krr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],hrr=[0,[17,0,0],QB(bv)],yrr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Crr=QB(Gu),wrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Arr=QB(BA),_rr=QB(Zo),grr=QB(Jl),Brr=[0,[17,0,0],QB(bv)],Srr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],xrr=[0,[15,0],QB(lD)],Trr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Irr=QB(\"Flow_ast.Expression.TemplateLiteral.Element.value\"),Nrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Orr=[0,[17,0,0],QB(bv)],Lrr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Prr=QB(Gr),Rrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mrr=[0,[9,0,0],QB(kb)],jrr=[0,[17,0,0],QB(bv)],Urr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Xrr=[0,[15,0],QB(lD)],Grr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Jrr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],qrr=[0,[17,0,[12,41,0]],QB(ce)],zrr=[0,[15,0],QB(lD)],Wrr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Vrr=QB(\"Flow_ast.Expression.TemplateLiteral.Element.raw\"),$rr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Yrr=[0,[3,0,0],QB(Ly)],Hrr=[0,[17,0,0],QB(bv)],Krr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Qrr=QB(KC),Zrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rer=[0,[3,0,0],QB(Ly)],eer=[0,[17,0,0],QB(bv)],ter=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],ner=[0,[15,0],QB(lD)],uer=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],aer=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],ier=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],cer=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fer=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],oer=QB(\"Flow_ast.Expression.Array.elements\"),ser=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ler=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],ver=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Der=[0,[17,0,0],QB(bv)],per=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ber=QB(Gu),Fer=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mer=QB(BA),der=QB(Zo),Eer=QB(Jl),ker=[0,[17,0,0],QB(bv)],her=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],yer=[0,[15,0],QB(lD)],Cer=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Array.Expression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Array.Expression@ \")],wer=[0,[17,0,[12,41,0]],QB(ce)],Aer=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Array.Spread\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Array.Spread@ \")],_er=[0,[17,0,[12,41,0]],QB(ce)],ger=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Array.Hole\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Array.Hole@ \")],Ber=[0,[17,0,[12,41,0]],QB(ce)],Ser=[0,[15,0],QB(lD)],xer=QB(cp),Ter=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ier=QB(\"Flow_ast.Expression.SpreadElement.argument\"),Ner=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Oer=[0,[17,0,0],QB(bv)],Ler=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Per=QB(Gu),Rer=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mer=QB(BA),jer=QB(Zo),Uer=QB(Jl),Xer=[0,[17,0,0],QB(bv)],Ger=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Jer=[0,[15,0],QB(lD)],qer=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],zer=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Wer=[0,[17,0,[12,41,0]],QB(ce)],Ver=[0,[15,0],QB(lD)],$er=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Yer=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Her=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Ker=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Qer=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Zer=QB(\"Flow_ast.Expression.CallTypeArgs.arguments\"),rtr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],etr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],ttr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],ntr=[0,[17,0,0],QB(bv)],utr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],atr=QB(Gu),itr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ctr=QB(BA),ftr=QB(Zo),otr=QB(Jl),str=[0,[17,0,0],QB(bv)],ltr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],vtr=[0,[15,0],QB(lD)],Dtr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ptr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],btr=[0,[17,0,[12,41,0]],QB(ce)],Ftr=[0,[15,0],QB(lD)],mtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.CallTypeArg.Explicit\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.CallTypeArg.Explicit@ \")],dtr=[0,[17,0,[12,41,0]],QB(ce)],Etr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.CallTypeArg.Implicit\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.CallTypeArg.Implicit@ \")],ktr=[0,[17,0,[12,41,0]],QB(ce)],htr=[0,[15,0],QB(lD)],ytr=QB(cp),Ctr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],wtr=QB(\"Flow_ast.Expression.CallTypeArg.Implicit.comments\"),Atr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],_tr=QB(BA),gtr=QB(Zo),Btr=QB(Jl),Str=[0,[17,0,0],QB(bv)],xtr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Ttr=[0,[15,0],QB(lD)],Itr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Ntr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Otr=[0,[17,0,[12,41,0]],QB(ce)],Ltr=[0,[15,0],QB(lD)],Ptr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Block\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Block@ \")],Rtr=[0,[17,0,[12,41,0]],QB(ce)],Mtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Break\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Break@ \")],jtr=[0,[17,0,[12,41,0]],QB(ce)],Utr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ClassDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ClassDeclaration@ \")],Xtr=[0,[17,0,[12,41,0]],QB(ce)],Gtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Continue\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Continue@ \")],Jtr=[0,[17,0,[12,41,0]],QB(ce)],qtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Debugger\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Debugger@ \")],ztr=[0,[17,0,[12,41,0]],QB(ce)],Wtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareClass\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareClass@ \")],Vtr=[0,[17,0,[12,41,0]],QB(ce)],$tr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration@ \")],Ytr=[0,[17,0,[12,41,0]],QB(ce)],Htr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareFunction\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareFunction@ \")],Ktr=[0,[17,0,[12,41,0]],QB(ce)],Qtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareInterface\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareInterface@ \")],Ztr=[0,[17,0,[12,41,0]],QB(ce)],rnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareModule\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareModule@ \")],enr=[0,[17,0,[12,41,0]],QB(ce)],tnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareModuleExports\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareModuleExports@ \")],nnr=[0,[17,0,[12,41,0]],QB(ce)],unr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareTypeAlias\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareTypeAlias@ \")],anr=[0,[17,0,[12,41,0]],QB(ce)],inr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareOpaqueType\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareOpaqueType@ \")],cnr=[0,[17,0,[12,41,0]],QB(ce)],fnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareVariable\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareVariable@ \")],onr=[0,[17,0,[12,41,0]],QB(ce)],snr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DoWhile\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DoWhile@ \")],lnr=[0,[17,0,[12,41,0]],QB(ce)],vnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Empty\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Empty@ \")],Dnr=[0,[17,0,[12,41,0]],QB(ce)],pnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.EnumDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.EnumDeclaration@ \")],bnr=[0,[17,0,[12,41,0]],QB(ce)],Fnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ExportDefaultDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ExportDefaultDeclaration@ \")],mnr=[0,[17,0,[12,41,0]],QB(ce)],dnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ExportNamedDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ExportNamedDeclaration@ \")],Enr=[0,[17,0,[12,41,0]],QB(ce)],knr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Expression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Expression@ \")],hnr=[0,[17,0,[12,41,0]],QB(ce)],ynr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.For\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.For@ \")],Cnr=[0,[17,0,[12,41,0]],QB(ce)],wnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ForIn\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ForIn@ \")],Anr=[0,[17,0,[12,41,0]],QB(ce)],_nr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ForOf\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ForOf@ \")],gnr=[0,[17,0,[12,41,0]],QB(ce)],Bnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.FunctionDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.FunctionDeclaration@ \")],Snr=[0,[17,0,[12,41,0]],QB(ce)],xnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.If\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.If@ \")],Tnr=[0,[17,0,[12,41,0]],QB(ce)],Inr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ImportDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ImportDeclaration@ \")],Nnr=[0,[17,0,[12,41,0]],QB(ce)],Onr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.InterfaceDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.InterfaceDeclaration@ \")],Lnr=[0,[17,0,[12,41,0]],QB(ce)],Pnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Labeled\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Labeled@ \")],Rnr=[0,[17,0,[12,41,0]],QB(ce)],Mnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Return\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Return@ \")],jnr=[0,[17,0,[12,41,0]],QB(ce)],Unr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Switch\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Switch@ \")],Xnr=[0,[17,0,[12,41,0]],QB(ce)],Gnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Throw\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Throw@ \")],Jnr=[0,[17,0,[12,41,0]],QB(ce)],qnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Try\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Try@ \")],znr=[0,[17,0,[12,41,0]],QB(ce)],Wnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.TypeAlias\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.TypeAlias@ \")],Vnr=[0,[17,0,[12,41,0]],QB(ce)],$nr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.OpaqueType\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.OpaqueType@ \")],Ynr=[0,[17,0,[12,41,0]],QB(ce)],Hnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.VariableDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.VariableDeclaration@ \")],Knr=[0,[17,0,[12,41,0]],QB(ce)],Qnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.While\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.While@ \")],Znr=[0,[17,0,[12,41,0]],QB(ce)],rur=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.With\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.With@ \")],eur=[0,[17,0,[12,41,0]],QB(ce)],tur=[0,[15,0],QB(lD)],nur=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],uur=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],aur=[0,[17,0,[12,41,0]],QB(ce)],iur=[0,[15,0],QB(lD)],cur=QB(\"Flow_ast.Statement.ExportValue\"),fur=QB(\"Flow_ast.Statement.ExportType\"),our=[0,[15,0],QB(lD)],sur=QB(cp),lur=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],vur=QB(\"Flow_ast.Statement.Empty.comments\"),Dur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pur=QB(BA),bur=QB(Zo),Fur=QB(Jl),mur=[0,[17,0,0],QB(bv)],dur=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Eur=[0,[15,0],QB(lD)],kur=QB(cp),hur=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],yur=QB(\"Flow_ast.Statement.Expression.expression\"),Cur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wur=[0,[17,0,0],QB(bv)],Aur=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_ur=QB(m),gur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Bur=QB(BA),Sur=[0,[3,0,0],QB(Ly)],xur=QB(Zo),Tur=QB(Jl),Iur=[0,[17,0,0],QB(bv)],Nur=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Our=QB(Gu),Lur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Pur=QB(BA),Rur=QB(Zo),Mur=QB(Jl),jur=[0,[17,0,0],QB(bv)],Uur=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Xur=[0,[15,0],QB(lD)],Gur=QB(cp),Jur=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],qur=QB(\"Flow_ast.Statement.ImportDeclaration.import_kind\"),zur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Wur=[0,[17,0,0],QB(bv)],Vur=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$ur=QB(fg),Yur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Hur=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Kur=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Qur=[0,[17,0,[12,41,0]],QB(ce)],Zur=[0,[17,0,0],QB(bv)],rar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ear=QB(JC),tar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nar=QB(BA),uar=QB(Zo),aar=QB(Jl),iar=[0,[17,0,0],QB(bv)],car=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],far=QB(BB),oar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sar=QB(BA),lar=QB(Zo),Dar=QB(Jl),par=[0,[17,0,0],QB(bv)],bar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Far=QB(Gu),mar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dar=QB(BA),Ear=QB(Zo),kar=QB(Jl),har=[0,[17,0,0],QB(bv)],yar=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Car=[0,[15,0],QB(lD)],war=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Aar=QB(\"Flow_ast.Statement.ImportDeclaration.kind\"),_ar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gar=QB(BA),Bar=QB(Zo),Sar=QB(Jl),xar=[0,[17,0,0],QB(bv)],Tar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Iar=QB(Xs),Nar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Oar=QB(BA),Lar=QB(Zo),Par=QB(Jl),Rar=[0,[17,0,0],QB(bv)],Mar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jar=QB(\"remote\"),Uar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Xar=[0,[17,0,0],QB(bv)],Gar=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Jar=[0,[15,0],QB(lD)],qar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zar=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers@ \")],War=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Var=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],$ar=[0,[17,0,[12,41,0]],QB(ce)],Yar=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier@ \")],Har=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Kar=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Qar=[0,[17,0,[12,41,0]],QB(ce)],Zar=[0,[17,0,[12,41,0]],QB(ce)],rir=[0,[15,0],QB(lD)],eir=QB(\"Flow_ast.Statement.ImportDeclaration.ImportType\"),tir=QB(\"Flow_ast.Statement.ImportDeclaration.ImportTypeof\"),nir=QB(\"Flow_ast.Statement.ImportDeclaration.ImportValue\"),uir=[0,[15,0],QB(lD)],air=QB(cp),iir=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],cir=QB(\"Flow_ast.Statement.DeclareExportDeclaration.default\"),fir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],oir=QB(BA),sir=QB(Zo),lir=QB(Jl),vir=[0,[17,0,0],QB(bv)],Dir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pir=QB(Wu),bir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Fir=QB(BA),mir=QB(Zo),dir=QB(Jl),Eir=[0,[17,0,0],QB(bv)],kir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hir=QB(BB),yir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Cir=QB(BA),wir=QB(Zo),Air=QB(Jl),_ir=[0,[17,0,0],QB(bv)],gir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Bir=QB(fg),Sir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xir=QB(BA),Tir=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Iir=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Nir=[0,[17,0,[12,41,0]],QB(ce)],Oir=QB(Zo),Lir=QB(Jl),Pir=[0,[17,0,0],QB(bv)],Rir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Mir=QB(Gu),jir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Uir=QB(BA),Xir=QB(Zo),Gir=QB(Jl),Jir=[0,[17,0,0],QB(bv)],qir=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],zir=[0,[15,0],QB(lD)],Wir=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration.Variable\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Variable@ \")],Vir=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],$ir=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Yir=[0,[17,0,[12,41,0]],QB(ce)],Hir=[0,[17,0,[12,41,0]],QB(ce)],Kir=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration.Function\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Function@ \")],Qir=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Zir=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],rcr=[0,[17,0,[12,41,0]],QB(ce)],ecr=[0,[17,0,[12,41,0]],QB(ce)],tcr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration.Class\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Class@ \")],ncr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ucr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],acr=[0,[17,0,[12,41,0]],QB(ce)],icr=[0,[17,0,[12,41,0]],QB(ce)],ccr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration.DefaultType\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.DefaultType@ \")],fcr=[0,[17,0,[12,41,0]],QB(ce)],ocr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration.NamedType\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedType@ \")],scr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],lcr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],vcr=[0,[17,0,[12,41,0]],QB(ce)],Dcr=[0,[17,0,[12,41,0]],QB(ce)],pcr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType@ \")],bcr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Fcr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],mcr=[0,[17,0,[12,41,0]],QB(ce)],dcr=[0,[17,0,[12,41,0]],QB(ce)],Ecr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration.Interface\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Interface@ \")],kcr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hcr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ycr=[0,[17,0,[12,41,0]],QB(ce)],Ccr=[0,[17,0,[12,41,0]],QB(ce)],wcr=[0,[15,0],QB(lD)],Acr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ExportDefaultDeclaration.Declaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Declaration@ \")],_cr=[0,[17,0,[12,41,0]],QB(ce)],gcr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ExportDefaultDeclaration.Expression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Expression@ \")],Bcr=[0,[17,0,[12,41,0]],QB(ce)],Scr=[0,[15,0],QB(lD)],xcr=QB(cp),Tcr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Icr=QB(\"Flow_ast.Statement.ExportDefaultDeclaration.default\"),Ncr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ocr=[0,[17,0,0],QB(bv)],Lcr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Pcr=QB(Wu),Rcr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mcr=[0,[17,0,0],QB(bv)],jcr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ucr=QB(Gu),Xcr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Gcr=QB(BA),Jcr=QB(Zo),qcr=QB(Jl),zcr=[0,[17,0,0],QB(bv)],Wcr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Vcr=[0,[15,0],QB(lD)],$cr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ycr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers@ \")],Hcr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Kcr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Qcr=[0,[17,0,[12,41,0]],QB(ce)],Zcr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier (\"),[17,[0,QB(Ro),0,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier (@,\")],rfr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],efr=QB(BA),tfr=QB(Zo),nfr=QB(Jl),ufr=[0,[17,[0,QB(Ro),0,0],[11,QB(eF),[17,0,0]]],QB(Xn)],afr=[0,[15,0],QB(lD)],ifr=QB(cp),cfr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ffr=QB(\"Flow_ast.Statement.ExportNamedDeclaration.declaration\"),ofr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sfr=QB(BA),lfr=QB(Zo),vfr=QB(Jl),Dfr=[0,[17,0,0],QB(bv)],pfr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],bfr=QB(BB),Ffr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mfr=QB(BA),dfr=QB(Zo),Efr=QB(Jl),kfr=[0,[17,0,0],QB(bv)],hfr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],yfr=QB(fg),Cfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wfr=QB(BA),Afr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],_fr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],gfr=[0,[17,0,[12,41,0]],QB(ce)],Bfr=QB(Zo),Sfr=QB(Jl),xfr=[0,[17,0,0],QB(bv)],Tfr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ifr=QB(\"export_kind\"),Nfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ofr=[0,[17,0,0],QB(bv)],Lfr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Pfr=QB(Gu),Rfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mfr=QB(BA),jfr=QB(Zo),Ufr=QB(Jl),Xfr=[0,[17,0,0],QB(bv)],Gfr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Jfr=[0,[15,0],QB(lD)],qfr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],zfr=QB(\"Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifier.local\"),Wfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vfr=[0,[17,0,0],QB(bv)],$fr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Yfr=QB(Yt),Hfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Kfr=QB(BA),Qfr=QB(Zo),Zfr=QB(Jl),ror=[0,[17,0,0],QB(bv)],eor=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],tor=[0,[15,0],QB(lD)],nor=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],uor=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],aor=[0,[17,0,[12,41,0]],QB(ce)],ior=[0,[15,0],QB(lD)],cor=QB(cp),oor=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],sor=QB(\"Flow_ast.Statement.DeclareModuleExports.annot\"),lor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],vor=[0,[17,0,0],QB(bv)],Dor=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],por=QB(Gu),bor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],For=QB(BA),mor=QB(Zo),dor=QB(Jl),Eor=[0,[17,0,0],QB(bv)],kor=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],hor=[0,[15,0],QB(lD)],yor=QB(cp),Cor=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],wor=QB(\"Flow_ast.Statement.DeclareModule.id\"),Aor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],_or=[0,[17,0,0],QB(bv)],gor=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Bor=QB(AE),Sor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xor=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Tor=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Ior=[0,[17,0,[12,41,0]],QB(ce)],Nor=[0,[17,0,0],QB(bv)],Oor=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Lor=QB(Xe),Por=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ror=[0,[17,0,0],QB(bv)],Mor=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jor=QB(Gu),Uor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Xor=QB(BA),Gor=QB(Zo),Jor=QB(Jl),qor=[0,[17,0,0],QB(bv)],zor=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Wor=[0,[15,0],QB(lD)],Vor=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareModule.CommonJS\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareModule.CommonJS@ \")],$or=[0,[17,0,[12,41,0]],QB(ce)],Yor=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareModule.ES\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareModule.ES@ \")],Hor=[0,[17,0,[12,41,0]],QB(ce)],Kor=[0,[15,0],QB(lD)],Qor=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareModule.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareModule.Identifier@ \")],Zor=[0,[17,0,[12,41,0]],QB(ce)],rsr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareModule.Literal\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareModule.Literal@ \")],esr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],tsr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],nsr=[0,[17,0,[12,41,0]],QB(ce)],usr=[0,[17,0,[12,41,0]],QB(ce)],asr=[0,[15,0],QB(lD)],isr=QB(cp),csr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],fsr=QB(\"Flow_ast.Statement.DeclareFunction.id\"),osr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ssr=[0,[17,0,0],QB(bv)],lsr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vsr=QB(ra),Dsr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],psr=[0,[17,0,0],QB(bv)],bsr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fsr=QB(av),msr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dsr=QB(BA),Esr=QB(Zo),ksr=QB(Jl),hsr=[0,[17,0,0],QB(bv)],ysr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Csr=QB(Gu),wsr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Asr=QB(BA),_sr=QB(Zo),gsr=QB(Jl),Bsr=[0,[17,0,0],QB(bv)],Ssr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],xsr=[0,[15,0],QB(lD)],Tsr=QB(cp),Isr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Nsr=QB(\"Flow_ast.Statement.DeclareVariable.id\"),Osr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Lsr=[0,[17,0,0],QB(bv)],Psr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Rsr=QB(ra),Msr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jsr=[0,[17,0,0],QB(bv)],Usr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Xsr=QB(Gu),Gsr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Jsr=QB(BA),qsr=QB(Zo),zsr=QB(Jl),Wsr=[0,[17,0,0],QB(bv)],Vsr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],$sr=[0,[15,0],QB(lD)],Ysr=QB(cp),Hsr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ksr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Qsr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Zsr=[0,[17,0,[12,41,0]],QB(ce)],rlr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],elr=QB(\"Flow_ast.Statement.DeclareClass.id\"),tlr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nlr=[0,[17,0,0],QB(bv)],ulr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],alr=QB(yr),ilr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],clr=QB(BA),flr=QB(Zo),olr=QB(Jl),slr=[0,[17,0,0],QB(bv)],llr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vlr=QB(AE),Dlr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],plr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],blr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Flr=[0,[17,0,[12,41,0]],QB(ce)],mlr=[0,[17,0,0],QB(bv)],dlr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Elr=QB(Dp),klr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hlr=QB(BA),ylr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Clr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],wlr=[0,[17,0,[12,41,0]],QB(ce)],Alr=QB(Zo),_lr=QB(Jl),glr=[0,[17,0,0],QB(bv)],Blr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Slr=QB(ot),xlr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Tlr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Ilr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Nlr=[0,[17,0,0],QB(bv)],Olr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Llr=QB(Fe),Plr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Rlr=QB(BA),Mlr=QB(Zo),jlr=QB(Jl),Ulr=[0,[17,0,0],QB(bv)],Xlr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Glr=QB(Gu),Jlr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qlr=QB(BA),zlr=QB(Zo),Wlr=QB(Jl),Vlr=[0,[17,0,0],QB(bv)],$lr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Ylr=[0,[15,0],QB(lD)],Hlr=QB(cp),Klr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Qlr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Zlr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],rvr=[0,[17,0,[12,41,0]],QB(ce)],evr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],tvr=QB(\"Flow_ast.Statement.Interface.id\"),nvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uvr=[0,[17,0,0],QB(bv)],avr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ivr=QB(yr),cvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fvr=QB(BA),ovr=QB(Zo),svr=QB(Jl),lvr=[0,[17,0,0],QB(bv)],vvr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Dvr=QB(Dp),pvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bvr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Fvr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],mvr=[0,[17,0,0],QB(bv)],dvr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Evr=QB(AE),kvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hvr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],yvr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Cvr=[0,[17,0,[12,41,0]],QB(ce)],wvr=[0,[17,0,0],QB(bv)],Avr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_vr=QB(Gu),gvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Bvr=QB(BA),Svr=QB(Zo),xvr=QB(Jl),Tvr=[0,[17,0,0],QB(bv)],Ivr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Nvr=[0,[15,0],QB(lD)],Ovr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.EnumDeclaration.BooleanBody\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.EnumDeclaration.BooleanBody@ \")],Lvr=[0,[17,0,[12,41,0]],QB(ce)],Pvr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.EnumDeclaration.NumberBody\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.EnumDeclaration.NumberBody@ \")],Rvr=[0,[17,0,[12,41,0]],QB(ce)],Mvr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.EnumDeclaration.StringBody\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody@ \")],jvr=[0,[17,0,[12,41,0]],QB(ce)],Uvr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.EnumDeclaration.SymbolBody\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.EnumDeclaration.SymbolBody@ \")],Xvr=[0,[17,0,[12,41,0]],QB(ce)],Gvr=[0,[15,0],QB(lD)],Jvr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],qvr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],zvr=[0,[17,0,[12,41,0]],QB(ce)],Wvr=[0,[15,0],QB(lD)],Vvr=QB(cp),$vr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Yvr=QB(\"Flow_ast.Statement.EnumDeclaration.id\"),Hvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Kvr=[0,[17,0,0],QB(bv)],Qvr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Zvr=QB(AE),rDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],eDr=[0,[17,0,0],QB(bv)],tDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],nDr=QB(Gu),uDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],aDr=QB(BA),iDr=QB(Zo),cDr=QB(Jl),fDr=[0,[17,0,0],QB(bv)],oDr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],sDr=[0,[15,0],QB(lD)],lDr=QB(cp),vDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],DDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],pDr=QB(\"Flow_ast.Statement.EnumDeclaration.SymbolBody.members\"),bDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],mDr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],dDr=[0,[17,0,0],QB(bv)],EDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kDr=QB(ve),hDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],yDr=[0,[9,0,0],QB(kb)],CDr=[0,[17,0,0],QB(bv)],wDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ADr=QB(Gu),_Dr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gDr=QB(BA),BDr=QB(Zo),SDr=QB(Jl),xDr=[0,[17,0,0],QB(bv)],TDr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],IDr=[0,[15,0],QB(lD)],NDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ODr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],LDr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted@ \")],PDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],RDr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],MDr=[0,[17,0,[12,41,0]],QB(ce)],jDr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.EnumDeclaration.StringBody.Initialized\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Initialized@ \")],UDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],XDr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],GDr=[0,[17,0,[12,41,0]],QB(ce)],JDr=[0,[15,0],QB(lD)],qDr=QB(cp),zDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],WDr=QB(\"Flow_ast.Statement.EnumDeclaration.StringBody.members\"),VDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$Dr=[0,[17,0,0],QB(bv)],YDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],HDr=QB(wf),KDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QDr=[0,[9,0,0],QB(kb)],ZDr=[0,[17,0,0],QB(bv)],rpr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],epr=QB(ve),tpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],npr=[0,[9,0,0],QB(kb)],upr=[0,[17,0,0],QB(bv)],apr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ipr=QB(Gu),cpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fpr=QB(BA),opr=QB(Zo),spr=QB(Jl),lpr=[0,[17,0,0],QB(bv)],vpr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Dpr=[0,[15,0],QB(lD)],ppr=QB(cp),bpr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fpr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],mpr=QB(\"Flow_ast.Statement.EnumDeclaration.NumberBody.members\"),dpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Epr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],kpr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],hpr=[0,[17,0,0],QB(bv)],ypr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Cpr=QB(wf),wpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Apr=[0,[9,0,0],QB(kb)],_pr=[0,[17,0,0],QB(bv)],gpr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Bpr=QB(ve),Spr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xpr=[0,[9,0,0],QB(kb)],Tpr=[0,[17,0,0],QB(bv)],Ipr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Npr=QB(Gu),Opr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Lpr=QB(BA),Ppr=QB(Zo),Rpr=QB(Jl),Mpr=[0,[17,0,0],QB(bv)],jpr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Upr=[0,[15,0],QB(lD)],Xpr=QB(cp),Gpr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Jpr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],qpr=QB(\"Flow_ast.Statement.EnumDeclaration.BooleanBody.members\"),zpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Wpr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Vpr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],$pr=[0,[17,0,0],QB(bv)],Ypr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Hpr=QB(wf),Kpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Qpr=[0,[9,0,0],QB(kb)],Zpr=[0,[17,0,0],QB(bv)],rbr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ebr=QB(ve),tbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nbr=[0,[9,0,0],QB(kb)],ubr=[0,[17,0,0],QB(bv)],abr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ibr=QB(Gu),cbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fbr=QB(BA),obr=QB(Zo),sbr=QB(Jl),lbr=[0,[17,0,0],QB(bv)],vbr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Dbr=[0,[15,0],QB(lD)],pbr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],bbr=QB(\"Flow_ast.Statement.EnumDeclaration.InitializedMember.id\"),Fbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mbr=[0,[17,0,0],QB(bv)],dbr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ebr=QB(nk),kbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hbr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ybr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Cbr=[0,[17,0,[12,41,0]],QB(ce)],wbr=[0,[17,0,0],QB(bv)],Abr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],_br=[0,[15,0],QB(lD)],gbr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Bbr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Sbr=[0,[17,0,[12,41,0]],QB(ce)],xbr=[0,[15,0],QB(lD)],Tbr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ibr=QB(\"Flow_ast.Statement.EnumDeclaration.DefaultedMember.id\"),Nbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Obr=[0,[17,0,0],QB(bv)],Lbr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Pbr=[0,[15,0],QB(lD)],Rbr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Mbr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],jbr=[0,[17,0,[12,41,0]],QB(ce)],Ubr=[0,[15,0],QB(lD)],Xbr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ForOf.LeftDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ForOf.LeftDeclaration@ \")],Gbr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Jbr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],qbr=[0,[17,0,[12,41,0]],QB(ce)],zbr=[0,[17,0,[12,41,0]],QB(ce)],Wbr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ForOf.LeftPattern\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ForOf.LeftPattern@ \")],Vbr=[0,[17,0,[12,41,0]],QB(ce)],$br=[0,[15,0],QB(lD)],Ybr=QB(cp),Hbr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Kbr=QB(\"Flow_ast.Statement.ForOf.left\"),Qbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Zbr=[0,[17,0,0],QB(bv)],rFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],eFr=QB(iu),tFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nFr=[0,[17,0,0],QB(bv)],uFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],aFr=QB(AE),iFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cFr=[0,[17,0,0],QB(bv)],fFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],oFr=QB(tf),sFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lFr=[0,[9,0,0],QB(kb)],vFr=[0,[17,0,0],QB(bv)],DFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pFr=QB(Gu),bFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FFr=QB(BA),mFr=QB(Zo),dFr=QB(Jl),EFr=[0,[17,0,0],QB(bv)],kFr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],hFr=[0,[15,0],QB(lD)],yFr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ForIn.LeftDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ForIn.LeftDeclaration@ \")],CFr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],wFr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],AFr=[0,[17,0,[12,41,0]],QB(ce)],_Fr=[0,[17,0,[12,41,0]],QB(ce)],gFr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ForIn.LeftPattern\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ForIn.LeftPattern@ \")],BFr=[0,[17,0,[12,41,0]],QB(ce)],SFr=[0,[15,0],QB(lD)],xFr=QB(cp),TFr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],IFr=QB(\"Flow_ast.Statement.ForIn.left\"),NFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],OFr=[0,[17,0,0],QB(bv)],LFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],PFr=QB(iu),RFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],MFr=[0,[17,0,0],QB(bv)],jFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],UFr=QB(AE),XFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],GFr=[0,[17,0,0],QB(bv)],JFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],qFr=QB(Cl),zFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],WFr=[0,[9,0,0],QB(kb)],VFr=[0,[17,0,0],QB(bv)],$Fr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],YFr=QB(Gu),HFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],KFr=QB(BA),QFr=QB(Zo),ZFr=QB(Jl),rmr=[0,[17,0,0],QB(bv)],emr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],tmr=[0,[15,0],QB(lD)],nmr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.For.InitDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.For.InitDeclaration@ \")],umr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],amr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],imr=[0,[17,0,[12,41,0]],QB(ce)],cmr=[0,[17,0,[12,41,0]],QB(ce)],fmr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.For.InitExpression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.For.InitExpression@ \")],omr=[0,[17,0,[12,41,0]],QB(ce)],smr=[0,[15,0],QB(lD)],lmr=QB(cp),vmr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Dmr=QB(\"Flow_ast.Statement.For.init\"),pmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bmr=QB(BA),Fmr=QB(Zo),mmr=QB(Jl),dmr=[0,[17,0,0],QB(bv)],Emr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kmr=QB(rh),hmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ymr=QB(BA),Cmr=QB(Zo),wmr=QB(Jl),Amr=[0,[17,0,0],QB(bv)],_mr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gmr=QB(V),Bmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Smr=QB(BA),xmr=QB(Zo),Tmr=QB(Jl),Imr=[0,[17,0,0],QB(bv)],Nmr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Omr=QB(AE),Lmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Pmr=[0,[17,0,0],QB(bv)],Rmr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Mmr=QB(Gu),jmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Umr=QB(BA),Xmr=QB(Zo),Gmr=QB(Jl),Jmr=[0,[17,0,0],QB(bv)],qmr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],zmr=[0,[15,0],QB(lD)],Wmr=QB(cp),Vmr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],$mr=QB(\"Flow_ast.Statement.DoWhile.body\"),Ymr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Hmr=[0,[17,0,0],QB(bv)],Kmr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Qmr=QB(rh),Zmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rdr=[0,[17,0,0],QB(bv)],edr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],tdr=QB(Gu),ndr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],udr=QB(BA),adr=QB(Zo),idr=QB(Jl),cdr=[0,[17,0,0],QB(bv)],fdr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],odr=[0,[15,0],QB(lD)],sdr=QB(cp),ldr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],vdr=QB(\"Flow_ast.Statement.While.test\"),Ddr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pdr=[0,[17,0,0],QB(bv)],bdr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fdr=QB(AE),mdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ddr=[0,[17,0,0],QB(bv)],Edr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kdr=QB(Gu),hdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ydr=QB(BA),Cdr=QB(Zo),wdr=QB(Jl),Adr=[0,[17,0,0],QB(bv)],_dr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],gdr=[0,[15,0],QB(lD)],Bdr=QB(\"Flow_ast.Statement.VariableDeclaration.Var\"),Sdr=QB(\"Flow_ast.Statement.VariableDeclaration.Let\"),xdr=QB(\"Flow_ast.Statement.VariableDeclaration.Const\"),Tdr=[0,[15,0],QB(lD)],Idr=QB(cp),Ndr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Odr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ldr=QB(\"Flow_ast.Statement.VariableDeclaration.declarations\"),Pdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Rdr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Mdr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],jdr=[0,[17,0,0],QB(bv)],Udr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Xdr=QB(Xe),Gdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Jdr=[0,[17,0,0],QB(bv)],qdr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zdr=QB(Gu),Wdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vdr=QB(BA),$dr=QB(Zo),Ydr=QB(Jl),Hdr=[0,[17,0,0],QB(bv)],Kdr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Qdr=[0,[15,0],QB(lD)],Zdr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],rEr=QB(\"Flow_ast.Statement.VariableDeclaration.Declarator.id\"),eEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tEr=[0,[17,0,0],QB(bv)],nEr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uEr=QB(nk),aEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iEr=QB(BA),cEr=QB(Zo),fEr=QB(Jl),oEr=[0,[17,0,0],QB(bv)],sEr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],lEr=[0,[15,0],QB(lD)],vEr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],DEr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],pEr=[0,[17,0,[12,41,0]],QB(ce)],bEr=[0,[15,0],QB(lD)],FEr=QB(cp),mEr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],dEr=QB(\"Flow_ast.Statement.Try.block\"),EEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kEr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hEr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],yEr=[0,[17,0,[12,41,0]],QB(ce)],CEr=[0,[17,0,0],QB(bv)],wEr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],AEr=QB(Kn),_Er=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gEr=QB(BA),BEr=QB(Zo),SEr=QB(Jl),xEr=[0,[17,0,0],QB(bv)],TEr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],IEr=QB(bl),NEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],OEr=QB(BA),LEr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],PEr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],REr=[0,[17,0,[12,41,0]],QB(ce)],MEr=QB(Zo),jEr=QB(Jl),UEr=[0,[17,0,0],QB(bv)],XEr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],GEr=QB(Gu),JEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qEr=QB(BA),zEr=QB(Zo),WEr=QB(Jl),VEr=[0,[17,0,0],QB(bv)],$Er=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],YEr=[0,[15,0],QB(lD)],HEr=QB(cp),KEr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],QEr=QB(\"Flow_ast.Statement.Try.CatchClause.param\"),ZEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rkr=QB(BA),ekr=QB(Zo),tkr=QB(Jl),nkr=[0,[17,0,0],QB(bv)],ukr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],akr=QB(AE),ikr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ckr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],fkr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],okr=[0,[17,0,[12,41,0]],QB(ce)],skr=[0,[17,0,0],QB(bv)],lkr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vkr=QB(Gu),Dkr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pkr=QB(BA),bkr=QB(Zo),Fkr=QB(Jl),mkr=[0,[17,0,0],QB(bv)],dkr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Ekr=[0,[15,0],QB(lD)],kkr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hkr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ykr=[0,[17,0,[12,41,0]],QB(ce)],Ckr=[0,[15,0],QB(lD)],wkr=QB(cp),Akr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],_kr=QB(\"Flow_ast.Statement.Throw.argument\"),gkr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Bkr=[0,[17,0,0],QB(bv)],Skr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],xkr=QB(Gu),Tkr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ikr=QB(BA),Nkr=QB(Zo),Okr=QB(Jl),Lkr=[0,[17,0,0],QB(bv)],Pkr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Rkr=[0,[15,0],QB(lD)],Mkr=QB(cp),jkr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ukr=QB(\"Flow_ast.Statement.Return.argument\"),Xkr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Gkr=QB(BA),Jkr=QB(Zo),qkr=QB(Jl),zkr=[0,[17,0,0],QB(bv)],Wkr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Vkr=QB(Gu),$kr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ykr=QB(BA),Hkr=QB(Zo),Kkr=QB(Jl),Qkr=[0,[17,0,0],QB(bv)],Zkr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],rhr=[0,[15,0],QB(lD)],ehr=QB(cp),thr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],nhr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],uhr=QB(\"Flow_ast.Statement.Switch.discriminant\"),ahr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ihr=[0,[17,0,0],QB(bv)],chr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fhr=QB(Sd),ohr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],shr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],lhr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],vhr=[0,[17,0,0],QB(bv)],Dhr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],phr=QB(Gu),bhr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Fhr=QB(BA),mhr=QB(Zo),dhr=QB(Jl),Ehr=[0,[17,0,0],QB(bv)],khr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],hhr=[0,[15,0],QB(lD)],yhr=QB(cp),Chr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],whr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ahr=QB(\"Flow_ast.Statement.Switch.Case.test\"),_hr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ghr=QB(BA),Bhr=QB(Zo),Shr=QB(Jl),xhr=[0,[17,0,0],QB(bv)],Thr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ihr=QB(Rp),Nhr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ohr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Lhr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Phr=[0,[17,0,0],QB(bv)],Rhr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Mhr=QB(Gu),jhr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Uhr=QB(BA),Xhr=QB(Zo),Ghr=QB(Jl),Jhr=[0,[17,0,0],QB(bv)],qhr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],zhr=[0,[15,0],QB(lD)],Whr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Vhr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],$hr=[0,[17,0,[12,41,0]],QB(ce)],Yhr=[0,[15,0],QB(lD)],Hhr=QB(cp),Khr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Qhr=QB(\"Flow_ast.Statement.OpaqueType.id\"),Zhr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ryr=[0,[17,0,0],QB(bv)],eyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],tyr=QB(yr),nyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uyr=QB(BA),ayr=QB(Zo),iyr=QB(Jl),cyr=[0,[17,0,0],QB(bv)],fyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],oyr=QB(fb),syr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lyr=QB(BA),vyr=QB(Zo),Dyr=QB(Jl),pyr=[0,[17,0,0],QB(bv)],byr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fyr=QB(uF),myr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dyr=QB(BA),Eyr=QB(Zo),kyr=QB(Jl),hyr=[0,[17,0,0],QB(bv)],yyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Cyr=QB(Gu),wyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ayr=QB(BA),_yr=QB(Zo),gyr=QB(Jl),Byr=[0,[17,0,0],QB(bv)],Syr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],xyr=[0,[15,0],QB(lD)],Tyr=QB(cp),Iyr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Nyr=QB(\"Flow_ast.Statement.TypeAlias.id\"),Oyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Lyr=[0,[17,0,0],QB(bv)],Pyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ryr=QB(yr),Myr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jyr=QB(BA),Uyr=QB(Zo),Xyr=QB(Jl),Gyr=[0,[17,0,0],QB(bv)],Jyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],qyr=QB(iu),zyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Wyr=[0,[17,0,0],QB(bv)],Vyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$yr=QB(Gu),Yyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Hyr=QB(BA),Kyr=QB(Zo),Qyr=QB(Jl),Zyr=[0,[17,0,0],QB(bv)],rCr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],eCr=[0,[15,0],QB(lD)],tCr=QB(cp),nCr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],uCr=QB(\"Flow_ast.Statement.With._object\"),aCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iCr=[0,[17,0,0],QB(bv)],cCr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fCr=QB(AE),oCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sCr=[0,[17,0,0],QB(bv)],lCr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vCr=QB(Gu),DCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pCr=QB(BA),bCr=QB(Zo),FCr=QB(Jl),mCr=[0,[17,0,0],QB(bv)],dCr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],ECr=[0,[15,0],QB(lD)],kCr=QB(cp),hCr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],yCr=QB(\"Flow_ast.Statement.Debugger.comments\"),CCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wCr=QB(BA),ACr=QB(Zo),_Cr=QB(Jl),gCr=[0,[17,0,0],QB(bv)],BCr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],SCr=[0,[15,0],QB(lD)],xCr=QB(cp),TCr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ICr=QB(\"Flow_ast.Statement.Continue.label\"),NCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],OCr=QB(BA),LCr=QB(Zo),PCr=QB(Jl),RCr=[0,[17,0,0],QB(bv)],MCr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jCr=QB(Gu),UCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XCr=QB(BA),GCr=QB(Zo),JCr=QB(Jl),qCr=[0,[17,0,0],QB(bv)],zCr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],WCr=[0,[15,0],QB(lD)],VCr=QB(cp),$Cr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],YCr=QB(\"Flow_ast.Statement.Break.label\"),HCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],KCr=QB(BA),QCr=QB(Zo),ZCr=QB(Jl),rwr=[0,[17,0,0],QB(bv)],ewr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],twr=QB(Gu),nwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uwr=QB(BA),awr=QB(Zo),iwr=QB(Jl),cwr=[0,[17,0,0],QB(bv)],fwr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],owr=[0,[15,0],QB(lD)],swr=QB(cp),lwr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],vwr=QB(\"Flow_ast.Statement.Labeled.label\"),Dwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pwr=[0,[17,0,0],QB(bv)],bwr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fwr=QB(AE),mwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dwr=[0,[17,0,0],QB(bv)],Ewr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kwr=QB(Gu),hwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ywr=QB(BA),Cwr=QB(Zo),wwr=QB(Jl),Awr=[0,[17,0,0],QB(bv)],_wr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],gwr=[0,[15,0],QB(lD)],Bwr=QB(cp),Swr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],xwr=QB(\"Flow_ast.Statement.If.test\"),Twr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Iwr=[0,[17,0,0],QB(bv)],Nwr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Owr=QB(Rp),Lwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Pwr=[0,[17,0,0],QB(bv)],Rwr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Mwr=QB(qF),jwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Uwr=QB(BA),Xwr=QB(Zo),Gwr=QB(Jl),Jwr=[0,[17,0,0],QB(bv)],qwr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zwr=QB(Gu),Wwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vwr=QB(BA),$wr=QB(Zo),Ywr=QB(Jl),Hwr=[0,[17,0,0],QB(bv)],Kwr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Qwr=[0,[15,0],QB(lD)],Zwr=QB(cp),rAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],eAr=QB(\"Flow_ast.Statement.If.Alternate.body\"),tAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nAr=[0,[17,0,0],QB(bv)],uAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],aAr=QB(Gu),iAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cAr=QB(BA),fAr=QB(Zo),oAr=QB(Jl),sAr=[0,[17,0,0],QB(bv)],lAr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],vAr=[0,[15,0],QB(lD)],DAr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],pAr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],bAr=[0,[17,0,[12,41,0]],QB(ce)],FAr=[0,[15,0],QB(lD)],mAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],EAr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],kAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],yAr=QB(\"Flow_ast.Statement.Block.body\"),CAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],AAr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],_Ar=[0,[17,0,0],QB(bv)],gAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BAr=QB(Gu),SAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xAr=QB(BA),TAr=QB(Zo),IAr=QB(Jl),NAr=[0,[17,0,0],QB(bv)],OAr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],LAr=[0,[15,0],QB(lD)],PAr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Predicate.Declared\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Predicate.Declared@ \")],RAr=[0,[17,0,[12,41,0]],QB(ce)],MAr=QB(\"Flow_ast.Type.Predicate.Inferred\"),jAr=[0,[15,0],QB(lD)],UAr=QB(cp),XAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],GAr=QB(\"Flow_ast.Type.Predicate.kind\"),JAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qAr=[0,[17,0,0],QB(bv)],zAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],WAr=QB(Gu),VAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$Ar=QB(BA),YAr=QB(Zo),HAr=QB(Jl),KAr=[0,[17,0,0],QB(bv)],QAr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],ZAr=[0,[15,0],QB(lD)],r_r=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],e_r=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],t_r=[0,[17,0,[12,41,0]],QB(ce)],n_r=[0,[15,0],QB(lD)],u_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],a_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],i_r=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],c_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],f_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],o_r=QB(\"Flow_ast.Type.TypeArgs.arguments\"),s_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],l_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],v_r=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],D_r=[0,[17,0,0],QB(bv)],p_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],b_r=QB(Gu),F_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],m_r=QB(BA),d_r=QB(Zo),E_r=QB(Jl),k_r=[0,[17,0,0],QB(bv)],h_r=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],y_r=[0,[15,0],QB(lD)],C_r=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],w_r=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],A_r=[0,[17,0,[12,41,0]],QB(ce)],__r=[0,[15,0],QB(lD)],g_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],B_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],S_r=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],x_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],T_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],I_r=QB(\"Flow_ast.Type.TypeParams.params\"),N_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],O_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],L_r=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],P_r=[0,[17,0,0],QB(bv)],R_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],M_r=QB(Gu),j_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],U_r=QB(BA),X_r=QB(Zo),G_r=QB(Jl),J_r=[0,[17,0,0],QB(bv)],q_r=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],z_r=[0,[15,0],QB(lD)],W_r=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],V_r=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],$_r=[0,[17,0,[12,41,0]],QB(ce)],Y_r=[0,[15,0],QB(lD)],H_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],K_r=QB(\"Flow_ast.Type.TypeParam.name\"),Q_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Z_r=[0,[17,0,0],QB(bv)],rgr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],egr=QB(Bn),tgr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ngr=[0,[17,0,0],QB(bv)],ugr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],agr=QB(Sp),igr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cgr=QB(BA),fgr=QB(Zo),ogr=QB(Jl),sgr=[0,[17,0,0],QB(bv)],lgr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vgr=QB(JC),Dgr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pgr=QB(BA),bgr=QB(Zo),Fgr=QB(Jl),mgr=[0,[17,0,0],QB(bv)],dgr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Egr=[0,[15,0],QB(lD)],kgr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hgr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ygr=[0,[17,0,[12,41,0]],QB(ce)],Cgr=[0,[15,0],QB(lD)],wgr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Missing\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Missing@ \")],Agr=[0,[17,0,[12,41,0]],QB(ce)],_gr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Available\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Available@ \")],ggr=[0,[17,0,[12,41,0]],QB(ce)],Bgr=[0,[15,0],QB(lD)],Sgr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],xgr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Tgr=[0,[17,0,[12,41,0]],QB(ce)],Igr=[0,[15,0],QB(lD)],Ngr=QB(cp),Ogr=QB(cp),Lgr=QB(cp),Pgr=QB(cp),Rgr=QB(cp),Mgr=QB(cp),jgr=QB(cp),Ugr=QB(cp),Xgr=QB(cp),Ggr=QB(cp),Jgr=QB(cp),qgr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Any\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Any@ \")],zgr=QB(BA),Wgr=QB(Zo),Vgr=QB(Jl),$gr=[0,[17,0,[12,41,0]],QB(ce)],Ygr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Mixed\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Mixed@ \")],Hgr=QB(BA),Kgr=QB(Zo),Qgr=QB(Jl),Zgr=[0,[17,0,[12,41,0]],QB(ce)],rBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Empty\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Empty@ \")],eBr=QB(BA),tBr=QB(Zo),nBr=QB(Jl),uBr=[0,[17,0,[12,41,0]],QB(ce)],aBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Void\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Void@ \")],iBr=QB(BA),cBr=QB(Zo),fBr=QB(Jl),oBr=[0,[17,0,[12,41,0]],QB(ce)],sBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Null\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Null@ \")],lBr=QB(BA),vBr=QB(Zo),DBr=QB(Jl),pBr=[0,[17,0,[12,41,0]],QB(ce)],bBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Number\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Number@ \")],FBr=QB(BA),mBr=QB(Zo),dBr=QB(Jl),EBr=[0,[17,0,[12,41,0]],QB(ce)],kBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.BigInt\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.BigInt@ \")],hBr=QB(BA),yBr=QB(Zo),CBr=QB(Jl),wBr=[0,[17,0,[12,41,0]],QB(ce)],ABr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.String\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.String@ \")],_Br=QB(BA),gBr=QB(Zo),BBr=QB(Jl),SBr=[0,[17,0,[12,41,0]],QB(ce)],xBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Boolean\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Boolean@ \")],TBr=QB(BA),IBr=QB(Zo),NBr=QB(Jl),OBr=[0,[17,0,[12,41,0]],QB(ce)],LBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Symbol\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Symbol@ \")],PBr=QB(BA),RBr=QB(Zo),MBr=QB(Jl),jBr=[0,[17,0,[12,41,0]],QB(ce)],UBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Exists\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Exists@ \")],XBr=QB(BA),GBr=QB(Zo),JBr=QB(Jl),qBr=[0,[17,0,[12,41,0]],QB(ce)],zBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Nullable\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Nullable@ \")],WBr=[0,[17,0,[12,41,0]],QB(ce)],VBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Function\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Function@ \")],$Br=[0,[17,0,[12,41,0]],QB(ce)],YBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object@ \")],HBr=[0,[17,0,[12,41,0]],QB(ce)],KBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Interface\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Interface@ \")],QBr=[0,[17,0,[12,41,0]],QB(ce)],ZBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Array\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Array@ \")],rSr=[0,[17,0,[12,41,0]],QB(ce)],eSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Generic\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Generic@ \")],tSr=[0,[17,0,[12,41,0]],QB(ce)],nSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Union\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Union@ \")],uSr=[0,[17,0,[12,41,0]],QB(ce)],aSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Intersection\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Intersection@ \")],iSr=[0,[17,0,[12,41,0]],QB(ce)],cSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Typeof\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Typeof@ \")],fSr=[0,[17,0,[12,41,0]],QB(ce)],oSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Tuple\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Tuple@ \")],sSr=[0,[17,0,[12,41,0]],QB(ce)],lSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.StringLiteral\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.StringLiteral@ \")],vSr=[0,[17,0,[12,41,0]],QB(ce)],DSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.NumberLiteral\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.NumberLiteral@ \")],pSr=[0,[17,0,[12,41,0]],QB(ce)],bSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.BigIntLiteral\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.BigIntLiteral@ \")],FSr=[0,[17,0,[12,41,0]],QB(ce)],mSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.BooleanLiteral\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.BooleanLiteral@ \")],dSr=[0,[17,0,[12,41,0]],QB(ce)],ESr=[0,[15,0],QB(lD)],kSr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ySr=[0,[17,0,[12,41,0]],QB(ce)],CSr=[0,[15,0],QB(lD)],wSr=QB(cp),ASr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_Sr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],gSr=QB(\"Flow_ast.Type.Intersection.types\"),BSr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],SSr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],xSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],TSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ISr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],NSr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],OSr=[0,[17,0,[12,41,0]],QB(ce)],LSr=[0,[17,0,0],QB(bv)],PSr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],RSr=QB(Gu),MSr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jSr=QB(BA),USr=QB(Zo),XSr=QB(Jl),GSr=[0,[17,0,0],QB(bv)],JSr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],qSr=[0,[15,0],QB(lD)],zSr=QB(cp),WSr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],VSr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],$Sr=QB(\"Flow_ast.Type.Union.types\"),YSr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],HSr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],KSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],QSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ZSr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],rxr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],exr=[0,[17,0,[12,41,0]],QB(ce)],txr=[0,[17,0,0],QB(bv)],nxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uxr=QB(Gu),axr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ixr=QB(BA),cxr=QB(Zo),fxr=QB(Jl),oxr=[0,[17,0,0],QB(bv)],sxr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],lxr=[0,[15,0],QB(lD)],vxr=QB(cp),Dxr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],pxr=QB(\"Flow_ast.Type.Array.argument\"),bxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Fxr=[0,[17,0,0],QB(bv)],mxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dxr=QB(Gu),Exr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kxr=QB(BA),hxr=QB(Zo),yxr=QB(Jl),Cxr=[0,[17,0,0],QB(bv)],wxr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Axr=[0,[15,0],QB(lD)],_xr=QB(cp),gxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Bxr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Sxr=QB(\"Flow_ast.Type.Tuple.types\"),xxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Txr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Ixr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Nxr=[0,[17,0,0],QB(bv)],Oxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Lxr=QB(Gu),Pxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Rxr=QB(BA),Mxr=QB(Zo),jxr=QB(Jl),Uxr=[0,[17,0,0],QB(bv)],Xxr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Gxr=[0,[15,0],QB(lD)],Jxr=QB(cp),qxr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],zxr=QB(\"Flow_ast.Type.Typeof.argument\"),Wxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vxr=[0,[17,0,0],QB(bv)],$xr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Yxr=QB(Kf),Hxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Kxr=[0,[9,0,0],QB(kb)],Qxr=[0,[17,0,0],QB(bv)],Zxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rTr=QB(Gu),eTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tTr=QB(BA),nTr=QB(Zo),uTr=QB(Jl),aTr=[0,[17,0,0],QB(bv)],iTr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],cTr=[0,[15,0],QB(lD)],fTr=QB(cp),oTr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],sTr=QB(\"Flow_ast.Type.Nullable.argument\"),lTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],vTr=[0,[17,0,0],QB(bv)],DTr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pTr=QB(Gu),bTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FTr=QB(BA),mTr=QB(Zo),dTr=QB(Jl),ETr=[0,[17,0,0],QB(bv)],kTr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],hTr=[0,[15,0],QB(lD)],yTr=QB(cp),CTr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],wTr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ATr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],_Tr=[0,[17,0,[12,41,0]],QB(ce)],gTr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],BTr=QB(\"Flow_ast.Type.Interface.body\"),STr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xTr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],TTr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ITr=[0,[17,0,[12,41,0]],QB(ce)],NTr=[0,[17,0,0],QB(bv)],OTr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],LTr=QB(Dp),PTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],RTr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],MTr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],jTr=[0,[17,0,0],QB(bv)],UTr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XTr=QB(Gu),GTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JTr=QB(BA),qTr=QB(Zo),zTr=QB(Jl),WTr=[0,[17,0,0],QB(bv)],VTr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],$Tr=[0,[15,0],QB(lD)],YTr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.Property\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.Property@ \")],HTr=[0,[17,0,[12,41,0]],QB(ce)],KTr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.SpreadProperty\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.SpreadProperty@ \")],QTr=[0,[17,0,[12,41,0]],QB(ce)],ZTr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.Indexer\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.Indexer@ \")],rIr=[0,[17,0,[12,41,0]],QB(ce)],eIr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.CallProperty\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.CallProperty@ \")],tIr=[0,[17,0,[12,41,0]],QB(ce)],nIr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.InternalSlot\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.InternalSlot@ \")],uIr=[0,[17,0,[12,41,0]],QB(ce)],aIr=[0,[15,0],QB(lD)],iIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cIr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],fIr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],oIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],sIr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],lIr=QB(\"Flow_ast.Type.Object.exact\"),vIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],DIr=[0,[9,0,0],QB(kb)],pIr=[0,[17,0,0],QB(bv)],bIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],FIr=QB(Cw),mIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dIr=[0,[9,0,0],QB(kb)],EIr=[0,[17,0,0],QB(bv)],kIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hIr=QB(Bu),yIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],CIr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],wIr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],AIr=[0,[17,0,0],QB(bv)],_Ir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gIr=QB(Gu),BIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],SIr=QB(BA),xIr=QB(Zo),TIr=QB(Jl),IIr=[0,[17,0,0],QB(bv)],NIr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],OIr=[0,[15,0],QB(lD)],LIr=QB(cp),PIr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],RIr=QB(\"Flow_ast.Type.Object.InternalSlot.id\"),MIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jIr=[0,[17,0,0],QB(bv)],UIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XIr=QB(Im),GIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JIr=[0,[17,0,0],QB(bv)],qIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zIr=QB(Dv),WIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VIr=[0,[9,0,0],QB(kb)],$Ir=[0,[17,0,0],QB(bv)],YIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],HIr=QB(Vu),KIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QIr=[0,[9,0,0],QB(kb)],ZIr=[0,[17,0,0],QB(bv)],rNr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],eNr=QB(N),tNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nNr=[0,[9,0,0],QB(kb)],uNr=[0,[17,0,0],QB(bv)],aNr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],iNr=QB(Gu),cNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fNr=QB(BA),oNr=QB(Zo),sNr=QB(Jl),lNr=[0,[17,0,0],QB(bv)],vNr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],DNr=[0,[15,0],QB(lD)],pNr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],bNr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],FNr=[0,[17,0,[12,41,0]],QB(ce)],mNr=[0,[15,0],QB(lD)],dNr=QB(cp),ENr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],kNr=QB(\"Flow_ast.Type.Object.CallProperty.value\"),hNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],yNr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],CNr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],wNr=[0,[17,0,[12,41,0]],QB(ce)],ANr=[0,[17,0,0],QB(bv)],_Nr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gNr=QB(Vu),BNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],SNr=[0,[9,0,0],QB(kb)],xNr=[0,[17,0,0],QB(bv)],TNr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],INr=QB(Gu),NNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ONr=QB(BA),LNr=QB(Zo),PNr=QB(Jl),RNr=[0,[17,0,0],QB(bv)],MNr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],jNr=[0,[15,0],QB(lD)],UNr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],XNr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],GNr=[0,[17,0,[12,41,0]],QB(ce)],JNr=[0,[15,0],QB(lD)],qNr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],zNr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],WNr=[0,[17,0,[12,41,0]],QB(ce)],VNr=[0,[15,0],QB(lD)],$Nr=QB(cp),YNr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],HNr=QB(\"Flow_ast.Type.Object.Indexer.id\"),KNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QNr=QB(BA),ZNr=QB(Zo),rOr=QB(Jl),eOr=[0,[17,0,0],QB(bv)],tOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],nOr=QB(DB),uOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],aOr=[0,[17,0,0],QB(bv)],iOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cOr=QB(Im),fOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],oOr=[0,[17,0,0],QB(bv)],sOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],lOr=QB(Vu),vOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],DOr=[0,[9,0,0],QB(kb)],pOr=[0,[17,0,0],QB(bv)],bOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],FOr=QB(Sp),mOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dOr=QB(BA),EOr=QB(Zo),kOr=QB(Jl),hOr=[0,[17,0,0],QB(bv)],yOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],COr=QB(Gu),wOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],AOr=QB(BA),_Or=QB(Zo),gOr=QB(Jl),BOr=[0,[17,0,0],QB(bv)],SOr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],xOr=[0,[15,0],QB(lD)],TOr=QB(cp),IOr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],NOr=QB(\"Flow_ast.Type.Object.SpreadProperty.argument\"),OOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LOr=[0,[17,0,0],QB(bv)],POr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ROr=QB(Gu),MOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jOr=QB(BA),UOr=QB(Zo),XOr=QB(Jl),GOr=[0,[17,0,0],QB(bv)],JOr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],qOr=[0,[15,0],QB(lD)],zOr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],WOr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],VOr=[0,[17,0,[12,41,0]],QB(ce)],$Or=[0,[15,0],QB(lD)],YOr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.Property.Init\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.Property.Init@ \")],HOr=[0,[17,0,[12,41,0]],QB(ce)],KOr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.Property.Get\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.Property.Get@ \")],QOr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ZOr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],rLr=[0,[17,0,[12,41,0]],QB(ce)],eLr=[0,[17,0,[12,41,0]],QB(ce)],tLr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.Property.Set\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.Property.Set@ \")],nLr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],uLr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],aLr=[0,[17,0,[12,41,0]],QB(ce)],iLr=[0,[17,0,[12,41,0]],QB(ce)],cLr=[0,[15,0],QB(lD)],fLr=QB(cp),oLr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],sLr=QB(\"Flow_ast.Type.Object.Property.key\"),lLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],vLr=[0,[17,0,0],QB(bv)],DLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pLr=QB(Im),bLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FLr=[0,[17,0,0],QB(bv)],mLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dLr=QB(Dv),ELr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kLr=[0,[9,0,0],QB(kb)],hLr=[0,[17,0,0],QB(bv)],yLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],CLr=QB(Vu),wLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ALr=[0,[9,0,0],QB(kb)],_Lr=[0,[17,0,0],QB(bv)],gLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BLr=QB(ck),SLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xLr=[0,[9,0,0],QB(kb)],TLr=[0,[17,0,0],QB(bv)],ILr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],NLr=QB(N),OLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LLr=[0,[9,0,0],QB(kb)],PLr=[0,[17,0,0],QB(bv)],RLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],MLr=QB(Sp),jLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ULr=QB(BA),XLr=QB(Zo),GLr=QB(Jl),JLr=[0,[17,0,0],QB(bv)],qLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zLr=QB(Gu),WLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VLr=QB(BA),$Lr=QB(Zo),YLr=QB(Jl),HLr=[0,[17,0,0],QB(bv)],KLr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],QLr=[0,[15,0],QB(lD)],ZLr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],rPr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ePr=[0,[17,0,[12,41,0]],QB(ce)],tPr=[0,[15,0],QB(lD)],nPr=QB(cp),uPr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],aPr=QB(\"Flow_ast.Type.Generic.id\"),iPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cPr=[0,[17,0,0],QB(bv)],fPr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],oPr=QB(FC),sPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lPr=QB(BA),vPr=QB(Zo),DPr=QB(Jl),pPr=[0,[17,0,0],QB(bv)],bPr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],FPr=QB(Gu),mPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dPr=QB(BA),EPr=QB(Zo),kPr=QB(Jl),hPr=[0,[17,0,0],QB(bv)],yPr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],CPr=[0,[15,0],QB(lD)],wPr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],APr=QB(\"Flow_ast.Type.Generic.Identifier.qualification\"),_Pr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gPr=[0,[17,0,0],QB(bv)],BPr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],SPr=QB(pi),xPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],TPr=[0,[17,0,0],QB(bv)],IPr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],NPr=[0,[15,0],QB(lD)],OPr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],LPr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],PPr=[0,[17,0,[12,41,0]],QB(ce)],RPr=[0,[15,0],QB(lD)],MPr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Generic.Identifier.Unqualified\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Generic.Identifier.Unqualified@ \")],jPr=[0,[17,0,[12,41,0]],QB(ce)],UPr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Generic.Identifier.Qualified\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Generic.Identifier.Qualified@ \")],XPr=[0,[17,0,[12,41,0]],QB(ce)],GPr=[0,[15,0],QB(lD)],JPr=QB(cp),qPr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],zPr=QB(\"Flow_ast.Type.Function.tparams\"),WPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VPr=QB(BA),$Pr=QB(Zo),YPr=QB(Jl),HPr=[0,[17,0,0],QB(bv)],KPr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],QPr=QB(w),ZPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rRr=[0,[17,0,0],QB(bv)],eRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],tRr=QB(Kt),nRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uRr=[0,[17,0,0],QB(bv)],aRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],iRr=QB(Gu),cRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fRr=QB(BA),oRr=QB(Zo),sRr=QB(Jl),lRr=[0,[17,0,0],QB(bv)],vRr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],DRr=[0,[15,0],QB(lD)],pRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],bRr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],FRr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],mRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dRr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ERr=QB(\"Flow_ast.Type.Function.Params.this_\"),kRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hRr=QB(BA),yRr=QB(Zo),CRr=QB(Jl),wRr=[0,[17,0,0],QB(bv)],ARr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_Rr=QB(w),gRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],BRr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],SRr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],xRr=[0,[17,0,0],QB(bv)],TRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],IRr=QB(ka),NRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ORr=QB(BA),LRr=QB(Zo),PRr=QB(Jl),RRr=[0,[17,0,0],QB(bv)],MRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jRr=QB(Gu),URr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XRr=QB(BA),GRr=QB(Zo),JRr=QB(Jl),qRr=[0,[17,0,0],QB(bv)],zRr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],WRr=[0,[15,0],QB(lD)],VRr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],$Rr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],YRr=[0,[17,0,[12,41,0]],QB(ce)],HRr=[0,[15,0],QB(lD)],KRr=QB(cp),QRr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ZRr=QB(\"Flow_ast.Type.Function.ThisParam.annot\"),rMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],eMr=[0,[17,0,0],QB(bv)],tMr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],nMr=QB(Gu),uMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],aMr=QB(BA),iMr=QB(Zo),cMr=QB(Jl),fMr=[0,[17,0,0],QB(bv)],oMr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],sMr=[0,[15,0],QB(lD)],lMr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],vMr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],DMr=[0,[17,0,[12,41,0]],QB(ce)],pMr=[0,[15,0],QB(lD)],bMr=QB(cp),FMr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],mMr=QB(\"Flow_ast.Type.Function.RestParam.argument\"),dMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],EMr=[0,[17,0,0],QB(bv)],kMr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hMr=QB(Gu),yMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],CMr=QB(BA),wMr=QB(Zo),AMr=QB(Jl),_Mr=[0,[17,0,0],QB(bv)],gMr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],BMr=[0,[15,0],QB(lD)],SMr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],xMr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],TMr=[0,[17,0,[12,41,0]],QB(ce)],IMr=[0,[15,0],QB(lD)],NMr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],OMr=QB(\"Flow_ast.Type.Function.Param.name\"),LMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],PMr=QB(BA),RMr=QB(Zo),MMr=QB(Jl),jMr=[0,[17,0,0],QB(bv)],UMr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XMr=QB(ra),GMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JMr=[0,[17,0,0],QB(bv)],qMr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zMr=QB(Dv),WMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VMr=[0,[9,0,0],QB(kb)],$Mr=[0,[17,0,0],QB(bv)],YMr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],HMr=[0,[15,0],QB(lD)],KMr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],QMr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ZMr=[0,[17,0,[12,41,0]],QB(ce)],rjr=[0,[15,0],QB(lD)],ejr=QB(cp),tjr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],njr=QB(\"Flow_ast.ComputedKey.expression\"),ujr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ajr=[0,[17,0,0],QB(bv)],ijr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cjr=QB(Gu),fjr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ojr=QB(BA),sjr=QB(Zo),ljr=QB(Jl),vjr=[0,[17,0,0],QB(bv)],Djr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],pjr=[0,[15,0],QB(lD)],bjr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Fjr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],mjr=[0,[17,0,[12,41,0]],QB(ce)],djr=[0,[15,0],QB(lD)],Ejr=QB(cp),kjr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],hjr=QB(\"Flow_ast.Variance.kind\"),yjr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Cjr=[0,[17,0,0],QB(bv)],wjr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ajr=QB(Gu),_jr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gjr=QB(BA),Bjr=QB(Zo),Sjr=QB(Jl),xjr=[0,[17,0,0],QB(bv)],Tjr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Ijr=[0,[15,0],QB(lD)],Njr=QB(\"Flow_ast.Variance.Minus\"),Ojr=QB(\"Flow_ast.Variance.Plus\"),Ljr=[0,[15,0],QB(lD)],Pjr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Rjr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Mjr=[0,[17,0,[12,41,0]],QB(ce)],jjr=[0,[15,0],QB(lD)],Ujr=QB(cp),Xjr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Gjr=QB(\"Flow_ast.BooleanLiteral.value\"),Jjr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qjr=[0,[9,0,0],QB(kb)],zjr=[0,[17,0,0],QB(bv)],Wjr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Vjr=QB(Gu),$jr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Yjr=QB(BA),Hjr=QB(Zo),Kjr=QB(Jl),Qjr=[0,[17,0,0],QB(bv)],Zjr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],rUr=[0,[15,0],QB(lD)],eUr=QB(cp),tUr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],nUr=QB(\"Flow_ast.BigIntLiteral.approx_value\"),uUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],aUr=[0,[8,15,0,0,0],QB(Ki)],iUr=[0,[17,0,0],QB(bv)],cUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fUr=QB(Nd),oUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sUr=[0,[3,0,0],QB(Ly)],lUr=[0,[17,0,0],QB(bv)],vUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],DUr=QB(Gu),pUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bUr=QB(BA),FUr=QB(Zo),mUr=QB(Jl),dUr=[0,[17,0,0],QB(bv)],EUr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],kUr=[0,[15,0],QB(lD)],hUr=QB(cp),yUr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],CUr=QB(\"Flow_ast.NumberLiteral.value\"),wUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],AUr=[0,[8,15,0,0,0],QB(Ki)],_Ur=[0,[17,0,0],QB(bv)],gUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BUr=QB(ge),SUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xUr=[0,[3,0,0],QB(Ly)],TUr=[0,[17,0,0],QB(bv)],IUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],NUr=QB(Gu),OUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LUr=QB(BA),PUr=QB(Zo),RUr=QB(Jl),MUr=[0,[17,0,0],QB(bv)],jUr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],UUr=[0,[15,0],QB(lD)],XUr=QB(cp),GUr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],JUr=QB(\"Flow_ast.StringLiteral.value\"),qUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zUr=[0,[3,0,0],QB(Ly)],WUr=[0,[17,0,0],QB(bv)],VUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$Ur=QB(ge),YUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],HUr=[0,[3,0,0],QB(Ly)],KUr=[0,[17,0,0],QB(bv)],QUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ZUr=QB(Gu),rXr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],eXr=QB(BA),tXr=QB(Zo),nXr=QB(Jl),uXr=[0,[17,0,0],QB(bv)],aXr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],iXr=[0,[15,0],QB(lD)],cXr=QB(\"Flow_ast.Literal.Null\"),fXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Literal.String\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Literal.String@ \")],oXr=[0,[3,0,0],QB(Ly)],sXr=[0,[17,0,[12,41,0]],QB(ce)],lXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Literal.Boolean\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Literal.Boolean@ \")],vXr=[0,[9,0,0],QB(kb)],DXr=[0,[17,0,[12,41,0]],QB(ce)],pXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Literal.Number\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Literal.Number@ \")],bXr=[0,[8,15,0,0,0],QB(Ki)],FXr=[0,[17,0,[12,41,0]],QB(ce)],mXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Literal.BigInt\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Literal.BigInt@ \")],dXr=[0,[8,15,0,0,0],QB(Ki)],EXr=[0,[17,0,[12,41,0]],QB(ce)],kXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Literal.RegExp\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Literal.RegExp@ \")],hXr=[0,[17,0,[12,41,0]],QB(ce)],yXr=[0,[15,0],QB(lD)],CXr=QB(cp),wXr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],AXr=QB(\"Flow_ast.Literal.value\"),_Xr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gXr=[0,[17,0,0],QB(bv)],BXr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],SXr=QB(ge),xXr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],TXr=[0,[3,0,0],QB(Ly)],IXr=[0,[17,0,0],QB(bv)],NXr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],OXr=QB(Gu),LXr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],PXr=QB(BA),RXr=QB(Zo),MXr=QB(Jl),jXr=[0,[17,0,0],QB(bv)],UXr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],XXr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],GXr=QB(\"Flow_ast.Literal.RegExp.pattern\"),JXr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qXr=[0,[3,0,0],QB(Ly)],zXr=[0,[17,0,0],QB(bv)],WXr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],VXr=QB(wm),$Xr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],YXr=[0,[3,0,0],QB(Ly)],HXr=[0,[17,0,0],QB(bv)],KXr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],QXr=[0,[15,0],QB(lD)],ZXr=[0,[15,0],QB(lD)],rGr=QB(cp),eGr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],tGr=QB(\"Flow_ast.PrivateName.id\"),nGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uGr=[0,[17,0,0],QB(bv)],aGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],iGr=QB(Gu),cGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fGr=QB(BA),oGr=QB(Zo),sGr=QB(Jl),lGr=[0,[17,0,0],QB(bv)],vGr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],DGr=[0,[15,0],QB(lD)],pGr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],bGr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],FGr=[0,[17,0,[12,41,0]],QB(ce)],mGr=[0,[15,0],QB(lD)],dGr=QB(cp),EGr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],kGr=QB(\"Flow_ast.Identifier.name\"),hGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],yGr=[0,[3,0,0],QB(Ly)],CGr=[0,[17,0,0],QB(bv)],wGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],AGr=QB(Gu),_Gr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gGr=QB(BA),BGr=QB(Zo),SGr=QB(Jl),xGr=[0,[17,0,0],QB(bv)],TGr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],IGr=[0,[15,0],QB(lD)],NGr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],OGr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],LGr=[0,[17,0,[12,41,0]],QB(ce)],PGr=[0,[15,0],QB(lD)],RGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],MGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jGr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],UGr=QB(\"Flow_ast.Syntax.leading\"),XGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],GGr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],JGr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],qGr=[0,[17,0,0],QB(bv)],zGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],WGr=QB(\"trailing\"),VGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$Gr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],YGr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],HGr=[0,[17,0,0],QB(bv)],KGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],QGr=QB(Kf),ZGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rJr=[0,[17,0,0],QB(bv)],eJr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],tJr=[0,[0,0,0]],nJr=[0,QB(ow),22,2],uJr=[0,[0,0,0,0,0]],aJr=[0,QB(ow),33,2],iJr=[0,[0,0,0,0,0]],cJr=[0,QB(ow),44,2],fJr=[0,[0,[0,[0,0,0]],0,0,0,0]],oJr=[0,QB(ow),71,2],sJr=[0,[0,0,0]],lJr=[0,QB(ow),81,2],vJr=[0,[0,0,0]],DJr=[0,QB(ow),91,2],pJr=[0,[0,0,0]],bJr=[0,QB(ow),EE,2],FJr=[0,[0,0,0]],mJr=[0,QB(ow),Jr,2],dJr=[0,[0,0,0,0,0,0,0]],EJr=[0,QB(ow),TF,2],kJr=[0,[0,0,0,0,0]],hJr=[0,QB(ow),137,2],yJr=[0,[0,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],CJr=[0,QB(ow),456,2],wJr=[0,[0,[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],AJr=[0,QB(ow),987,2],_Jr=[0,[0,[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0]],gJr=[0,QB(ow),1419,2],BJr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],0,0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0]],SJr=[0,QB(ow),1563,2],xJr=[0,[0,[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],0,0,0,0]],TJr=[0,QB(ow),1648,2],IJr=[0,[0,0,0,0,0,0,0]],NJr=[0,QB(ow),1664,2],OJr=[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],LJr=[0,QB(ow),1787,2],PJr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],RJr=[0,QB(ow),1854,2],MJr=[0,[0,0,0,0,0]],jJr=[0,QB(ow),1866,2],UJr=[0,[0,0,0]],XJr=[0,[0,0,0,0,0]],GJr=[0,[0,0,0,0,0]],JJr=[0,[0,[0,[0,0,0]],0,0,0,0]],qJr=[0,[0,0,0]],zJr=[0,[0,0,0]],WJr=[0,[0,0,0]],VJr=[0,[0,0,0]],$Jr=[0,[0,0,0,0,0,0,0]],YJr=[0,[0,0,0,0,0]],HJr=[0,[0,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],KJr=[0,[0,[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],QJr=[0,[0,[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0]],ZJr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],0,0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0]],rqr=[0,[0,[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],0,0,0,0]],eqr=[0,[0,0,0,0,0,0,0]],tqr=[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],nqr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],uqr=[0,[0,0,0,0,0]],aqr=[0,1],iqr=[0,0],cqr=[0,0],fqr=[0,1],oqr=[0,1],sqr=[0,1],lqr=[0,1],vqr=[0,0,0],Dqr=[0,0,0],pqr=[0,QB(tb),QB(Dl),QB(Ov),QB(Sp),QB(cB),QB(ci),QB(K_),QB(In),QB(lF),QB(SF),QB(p_),QB(Bo),QB(lt),QB(qn),QB(rm),QB(mA),QB(cl),QB(xl),QB(Ec),QB(aD),QB(Lk),QB(yv),QB(ur),QB(bF),QB(sn),QB(jb),QB(Nl),QB(la),QB(Xm),QB(Hp),QB(gF),QB(aB),QB(LC),QB(Af),QB(pl),QB(xe),QB(FB),QB(Pn),QB(ji),QB(Kt),QB(mc),QB(Dh),QB(c),QB(av),QB(JA),QB(aE),QB(oy),QB(Ol),QB(og),QB(jk),QB(yk),QB(fn),QB(Bm),QB(mu),QB(zu),QB(fB),QB(pg),QB(Yk),QB(De),QB(wE),QB(ha),QB(Ca),QB(Op),QB(ok),QB(je),QB(bA),QB(M_),QB(KE),QB(sD),QB(si),QB(an),QB(ou),QB(Za),QB(bh),QB(Wh),QB(Pu),QB(w_),QB(it),QB(Uo),QB(Tm),QB(sc),QB(Te),QB(Wg),QB(t),QB(Hg),QB(Tl),QB(Ws),QB(HC),QB(El),QB(ri),QB(Xo),QB(jh),QB(Oo),QB(iB),QB($i),QB(TE),QB(Uv),QB(_E),QB(s_),QB(U),QB(Co),QB(FF),QB(gg),QB(Fo),QB(Dr),QB(BE),QB(FA),QB(Kl),QB(Eb),QB(Ur),QB(NC),QB(Gf),QB(PC),QB(nl),QB(Ip),QB(lB),QB(Rh),QB(nA),QB(Ik),QB(de),QB(Qg),QB(du),QB(RA),QB(mg),QB(kc),QB(oh),QB(ee),QB(Tw),QB(uf),QB(lm),QB(Fh),QB(ei),QB(tr),QB(mn),QB(io),QB(Kc),QB(hC),QB(SB),QB(wp),QB(tF),QB(B),QB(x_),QB(Lc),QB(tA),QB(os),QB(Zh),QB(at),QB(iv),QB(Wf),QB(Et),QB(Fk),QB(wk),QB(HA),QB(Hr),QB(Ny),QB(Ut),QB(Ho),QB(KA),QB(Tt),QB(Nn),QB(ld),QB(qs),QB(zk),QB(Dk),QB(dd),QB(Kp),QB(pw),QB(lf),QB(sF),QB(fp),QB(dk),QB(Nu),QB(kw),QB(mC),QB(wi),QB(Ui),QB(TD),QB(jE),QB(Pk),QB(Da),QB($p),QB(Pe),QB(aF),QB(mi),QB(gf),QB($n),QB(yw),QB(Je),QB(ar),QB(vn),QB(B_),QB(Mw),QB(Rk),QB($w),QB(et),QB(P),QB(Xi),QB(Up),QB(Zi),QB(mt),QB(Pc),QB(Vw),QB(y),QB(Lr),QB(fe),QB(Al),QB(au),QB(fE),QB(Gk),QB(Ty),QB(tp),QB($o)],bqr=[0,QB(xe),QB(Fh),QB(du),QB(mt),QB(mu),QB(Tm),QB(Za),QB(Co),QB(Eb),QB(mA),QB(gF),QB(Fk),QB(B_),QB(gg),QB(sc),QB(Dr),QB(Dk),QB(Dl),QB(B),QB(iB),QB(Uo),QB(RA),QB(zk),QB(Qg),QB(os),QB(yk),QB(Nu),QB(Xi),QB(ei),QB(P),QB(Uv),QB(Ut),QB(oh),QB(pg),QB(x_),QB(Hp),QB(Al),QB(bh),QB(Ik),QB(Af),QB(Oo),QB(Te),QB(ar),QB(aF),QB(ok),QB(oy),QB(ou),QB(aE),QB(_E),QB($n),QB(M_),QB(av),QB(an),QB(Tw),QB(Wg),QB(FF),QB(ri),QB(jE),QB(xl),QB(Tt),QB(s_),QB(Da),QB(Xo),QB(lm),QB(jk),QB(Ty),QB(fp),QB(Ny),QB(Tl),QB(Ca),QB(tp),QB(Up),QB(ji),QB(Sp),QB(JA),QB(nA),QB(fe),QB(tF),QB(yv),QB(vn),QB(w_),QB(Xm),QB(dd),QB(tA),QB(cl),QB(tb),QB(Lk),QB(mC),QB(p_),QB(wE),QB(mc),QB(SF),QB(Pe),QB(kw),QB(K_),QB(Fo),QB(Ol),QB(Kl),QB(ld),QB(at),QB(wk),QB(jh),QB(De),QB(Zh),QB(lt),QB(aD),QB(cB),QB(FB),QB(Bo),QB(lF),QB(yw),QB(Lc),QB(mi),QB(HC),QB(uf),QB(In),QB($p),QB(it),QB(TE),QB(au),QB(Ws),QB(Rk),QB(Yk),QB(Hg),QB(Rh),QB(Kt),QB(Vw),QB(aB),QB(fB),QB(ur),QB(Ui),QB(de),QB(bA),QB(Wf),QB(Op),QB(io),QB(qs),QB(Gf),QB(gf),QB(tr),QB(El),QB(BE),QB(mg),QB(ee),QB(Nn),QB(c),QB(SB),QB(Ip),QB(KA),QB(Hr),QB(Pu),QB(Pn),QB(PC),QB(sD),QB(fn),QB(Ec),QB(si),QB(Zi),QB(sF),QB($w),QB(dk),QB(la),QB(kc),QB(Dh),QB(lB),QB(Mw),QB(Wh),QB(Je),QB(Ur),QB(Kp),QB(rm),QB($o),QB(ci),QB(et),QB(qn),QB(pw),QB(Pk),QB($i),QB(Bm),QB(FA),QB(jb),QB(fE),QB(zu),QB(Lr),QB(Et),QB(ha),QB(iv),QB(Kc),QB(hC),QB(pl),QB(TD),QB(mn),QB(og),QB(lf),QB(sn),QB(Nl),QB(LC),QB(wp),QB(HA),QB(je),QB(y),QB(nl),QB(U),QB(KE),QB(wi),QB(Ho),QB(Pc),QB(Gk),QB(NC),QB(Ov),QB(bF),QB(t)],Fqr=QB(\"File_key.Builtins\"),mqr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"File_key.LibFile\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>File_key.LibFile@ \")],dqr=[0,[3,0,0],QB(Ly)],Eqr=[0,[17,0,[12,41,0]],QB(ce)],kqr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"File_key.SourceFile\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>File_key.SourceFile@ \")],hqr=[0,[3,0,0],QB(Ly)],yqr=[0,[17,0,[12,41,0]],QB(ce)],Cqr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"File_key.JsonFile\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>File_key.JsonFile@ \")],wqr=[0,[3,0,0],QB(Ly)],Aqr=[0,[17,0,[12,41,0]],QB(ce)],_qr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"File_key.ResourceFile\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>File_key.ResourceFile@ \")],gqr=[0,[3,0,0],QB(Ly)],Bqr=[0,[17,0,[12,41,0]],QB(ce)],Sqr=QB(nn),xqr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Tqr=QB(\"Loc.line\"),Iqr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Nqr=[0,[4,0,0,0,0],QB(Gn)],Oqr=[0,[17,0,0],QB(bv)],Lqr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Pqr=QB(kt),Rqr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mqr=[0,[4,0,0,0,0],QB(Gn)],jqr=[0,[17,0,0],QB(bv)],Uqr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Xqr=[0,[15,0],QB(lD)],Gqr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Jqr=QB(\"Loc.source\"),qqr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zqr=QB(BA),Wqr=QB(Zo),Vqr=QB(Jl),$qr=[0,[17,0,0],QB(bv)],Yqr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Hqr=QB(T),Kqr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Qqr=[0,[17,0,0],QB(bv)],Zqr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rzr=QB(\"_end\"),ezr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tzr=[0,[17,0,0],QB(bv)],nzr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],uzr=QB(\"==\"),azr=QB(\"!=\"),izr=QB(\"===\"),czr=QB(\"!==\"),fzr=QB(td),ozr=QB(\"<=\"),szr=QB(L),lzr=QB(\">=\"),vzr=QB(\"<<\"),Dzr=QB(\">>\"),pzr=QB(\">>>\"),bzr=QB(bw),Fzr=QB(eC),mzr=QB(\"*\"),dzr=QB(\"**\"),Ezr=QB(fs),kzr=QB(\"%\"),hzr=QB(\"|\"),yzr=QB(VC),Czr=QB(\"&\"),wzr=QB(Rf),Azr=QB(to),_zr=QB(\"+=\"),gzr=QB(\"-=\"),Bzr=QB(\"*=\"),Szr=QB(\"**=\"),xzr=QB(\"/=\"),Tzr=QB(\"%=\"),Izr=QB(\"<<=\"),Nzr=QB(\">>=\"),Ozr=QB(sp),Lzr=QB(\"|=\"),Pzr=QB(\"^=\"),Rzr=QB(\"&=\"),Mzr=QB(Ft),jzr=QB(ms),Uzr=QB(eh),Xzr=QB(ga),Gzr=QB(\"Cannot export an enum with `export type`, try `export enum E {}` or `module.exports = E;` instead.\"),Jzr=QB(\"Enum members are separated with `,`. Replace `;` with `,`.\"),qzr=QB(\"Unexpected reserved word\"),zzr=QB(\"Unexpected reserved type\"),Wzr=QB(\"Unexpected `super` outside of a class method\"),Vzr=QB(\"`super()` is only valid in a class constructor\"),$zr=QB(\"Unexpected end of input\"),Yzr=QB(\"Unexpected variance sigil\"),Hzr=QB(\"Unexpected static modifier\"),Kzr=QB(\"Unexpected proto modifier\"),Qzr=QB(\"Type aliases are not allowed in untyped mode\"),Zzr=QB(\"Opaque type aliases are not allowed in untyped mode\"),rWr=QB(\"Type annotations are not allowed in untyped mode\"),eWr=QB(\"Type declarations are not allowed in untyped mode\"),tWr=QB(\"Type imports are not allowed in untyped mode\"),nWr=QB(\"Type exports are not allowed in untyped mode\"),uWr=QB(\"Interfaces are not allowed in untyped mode\"),aWr=QB(\"Spreading a type is only allowed inside an object type\"),iWr=QB(\"Explicit inexact syntax must come at the end of an object type\"),cWr=QB(\"Explicit inexact syntax cannot appear inside an explicit exact object type\"),fWr=QB(\"Explicit inexact syntax can only appear inside an object type\"),oWr=QB(\"Illegal newline after throw\"),sWr=QB(\"A bigint literal must be an integer\"),lWr=QB(\"A bigint literal cannot use exponential notation\"),vWr=QB(\"Invalid regular expression\"),DWr=QB(\"Invalid regular expression: missing /\"),pWr=QB(\"Invalid left-hand side in assignment\"),bWr=QB(\"Invalid left-hand side in exponentiation expression\"),FWr=QB(\"Invalid left-hand side in for-in\"),mWr=QB(\"Invalid left-hand side in for-of\"),dWr=QB(\"found an expression instead\"),EWr=QB(\"Expected an object pattern, array pattern, or an identifier but \"),kWr=QB(\"More than one default clause in switch statement\"),hWr=QB(\"Missing catch or finally after try\"),yWr=QB(\"Illegal continue statement\"),CWr=QB(\"Illegal break statement\"),wWr=QB(\"Illegal return statement\"),AWr=QB(\"Illegal Unicode escape\"),_Wr=QB(\"Strict mode code may not include a with statement\"),gWr=QB(\"Catch variable may not be eval or arguments in strict mode\"),BWr=QB(\"Variable name may not be eval or arguments in strict mode\"),SWr=QB(\"Parameter name eval or arguments is not allowed in strict mode\"),xWr=QB(\"Strict mode function may not have duplicate parameter names\"),TWr=QB(\"Function name may not be eval or arguments in strict mode\"),IWr=QB(\"Octal literals are not allowed in strict mode.\"),NWr=QB(\"Number literals with leading zeros are not allowed in strict mode.\"),OWr=QB(\"Delete of an unqualified identifier in strict mode.\"),LWr=QB(\"Duplicate data property in object literal not allowed in strict mode\"),PWr=QB(\"Object literal may not have data and accessor property with the same name\"),RWr=QB(\"Object literal may not have multiple get/set accessors with the same name\"),MWr=QB(\"Assignment to eval or arguments is not allowed in strict mode\"),jWr=QB(\"Postfix increment/decrement may not have eval or arguments operand in strict mode\"),UWr=QB(\"Prefix increment/decrement may not have eval or arguments operand in strict mode\"),XWr=QB(\"Use of future reserved word in strict mode\"),GWr=QB(\"JSX attributes must only be assigned a non-empty expression\"),JWr=QB(\"JSX value should be either an expression or a quoted JSX text\"),qWr=QB(\"Const must be initialized\"),zWr=QB(\"Destructuring assignment must be initialized\"),WWr=QB(\"Illegal newline before arrow\"),VWr=QB(Gd),$Wr=QB(\"Async functions can only be declared at top level or \"),YWr=QB(Gd),HWr=QB(\"Generators can only be declared at top level or \"),KWr=QB(\"elements must be wrapped in an enclosing parent tag\"),QWr=QB(\"Unexpected token <. Remember, adjacent JSX \"),ZWr=QB(\"Rest parameter must be final parameter of an argument list\"),rVr=QB(\"Rest element must be final element of an array pattern\"),eVr=QB(\"Rest property must be final property of an object pattern\"),tVr=QB(\"async is an implementation detail and isn't necessary for your declare function statement. It is sufficient for your declare function to just have a Promise return type.\"),nVr=QB(\"`declare` modifier can only appear on class fields.\"),uVr=QB(\"Initializers are not allowed in a `declare`.\"),aVr=QB(\"`declare export let` is not supported. Use `declare export var` instead.\"),iVr=QB(\"`declare export const` is not supported. Use `declare export var` instead.\"),cVr=QB(\"`declare export type` is not supported. Use `export type` instead.\"),fVr=QB(\"`declare export interface` is not supported. Use `export interface` instead.\"),oVr=QB(\"`export * as` is an early-stage proposal and is not enabled by default. To enable support in the parser, use the `esproposal_export_star_as` option\"),sVr=QB(\"When exporting a class as a named export, you must specify a class name. Did you mean `export default class ...`?\"),lVr=QB(\"When exporting a function as a named export, you must specify a function name. Did you mean `export default function ...`?\"),vVr=QB(\"Found a decorator in an unsupported position.\"),DVr=QB(\"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.\"),pVr=QB(\"Duplicate `declare module.exports` statement!\"),bVr=QB(\"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module xor they are a CommonJS module.\"),FVr=QB(\"Getter should have zero parameters\"),mVr=QB(\"Setter should have exactly one parameter\"),dVr=QB(\"`import type` or `import typeof`!\"),EVr=QB(\"Imports within a `declare module` body must always be \"),kVr=QB(\"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements\"),hVr=QB(\"Missing comma between import specifiers\"),yVr=QB(\"Missing comma between export specifiers\"),CVr=QB(\"Malformed unicode\"),wVr=QB(\"Classes may only have one constructor\"),AVr=QB(\"Classes may not have private methods.\"),_Vr=QB(\"Private fields may not be deleted.\"),gVr=QB(\"Private fields can only be referenced from within a class.\"),BVr=QB(\"You may not access a private field through the `super` keyword.\"),SVr=QB(\"Yield expression not allowed in formal parameter\"),xVr=QB(\"`await` is an invalid identifier in async functions\"),TVr=QB(\"`yield` is an invalid identifier in generators\"),IVr=QB(\"either a `let` binding pattern, or a member expression.\"),NVr=QB(\"`let [` is ambiguous in this position because it is \"),OVr=QB(\"Literals cannot be used as shorthand properties.\"),LVr=QB(\"Computed properties must have a value.\"),PVr=QB(\"Object pattern can't contain methods\"),RVr=QB(\"A trailing comma is not permitted after the rest element\"),MVr=QB(\"The optional chaining plugin must be enabled in order to use the optional chaining operator (`?.`). Optional chaining is an active early-stage feature proposal which may change and is not enabled by default. To enable support in the parser, use the `esproposal_optional_chaining` option.\"),jVr=QB(\"An optional chain may not be used in a `new` expression.\"),UVr=QB(\"Template literals may not be used in an optional chain.\"),XVr=QB(\"The nullish coalescing plugin must be enabled in order to use the nullish coalescing operator (`??`). Nullish coalescing is an active early-stage feature proposal which may change and is not enabled by default. To enable support in the parser, use the `esproposal_nullish_coalescing` option.\"),GVr=QB(\"Unexpected whitespace between `#` and identifier\"),JVr=QB(\"A type annotation is required for the `this` parameter.\"),qVr=QB(\"The `this` parameter must be the first function parameter.\"),zVr=QB(\"The `this` parameter cannot be optional.\"),WVr=QB(\"A getter cannot have a `this` parameter.\"),VVr=QB(\"A setter cannot have a `this` parameter.\"),$Vr=QB(\"Arrow functions cannot have a `this` parameter; arrow functions automatically bind `this` when declared.\"),YVr=QB(\"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.\"),HVr=QB(\"Unexpected parser state: \"),KVr=[0,[11,QB(\"Boolean enum members need to be initialized. Use either `\"),[2,0,[11,QB(\" = true,` or `\"),[2,0,[11,QB(\" = false,` in enum `\"),[2,0,[11,QB(Ni),0]]]]]]],QB(\"Boolean enum members need to be initialized. Use either `%s = true,` or `%s = false,` in enum `%s`.\")],QVr=[0,[11,QB(\"Enum member names need to be unique, but the name `\"),[2,0,[11,QB(\"` has already been used before in enum `\"),[2,0,[11,QB(Ni),0]]]]],QB(\"Enum member names need to be unique, but the name `%s` has already been used before in enum `%s`.\")],ZVr=[0,[11,QB(un),[2,0,[11,QB(\"` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.\"),0]]],QB(\"Enum `%s` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.\")],r$r=[0,[11,QB(\"Use one of `boolean`, `number`, `string`, or `symbol` in enum `\"),[2,0,[11,QB(Ni),0]]],QB(\"Use one of `boolean`, `number`, `string`, or `symbol` in enum `%s`.\")],e$r=[0,[11,QB(\"Enum type `\"),[2,0,[11,QB(\"` is not valid. \"),[2,0,0]]]],QB(\"Enum type `%s` is not valid. %s\")],t$r=[0,[11,QB(\"Supplied enum type is not valid. \"),[2,0,0]],QB(\"Supplied enum type is not valid. %s\")],n$r=[0,[11,QB(\"Enum member names and initializers are separated with `=`. Replace `\"),[2,0,[11,QB(\":` with `\"),[2,0,[11,QB(\" =`.\"),0]]]]],QB(\"Enum member names and initializers are separated with `=`. Replace `%s:` with `%s =`.\")],u$r=[0,[11,QB(\"Symbol enum members cannot be initialized. Use `\"),[2,0,[11,QB(\",` in enum `\"),[2,0,[11,QB(Ni),0]]]]],QB(\"Symbol enum members cannot be initialized. Use `%s,` in enum `%s`.\")],a$r=[0,[11,QB(un),[2,0,[11,QB(\"` has type `\"),[2,0,[11,QB(\"`, so the initializer of `\"),[2,0,[11,QB(\"` needs to be a \"),[2,0,[11,QB(\" literal.\"),0]]]]]]]]],QB(\"Enum `%s` has type `%s`, so the initializer of `%s` needs to be a %s literal.\")],i$r=[0,[11,QB(\"The enum member initializer for `\"),[2,0,[11,QB(\"` needs to be a literal (either a boolean, number, or string) in enum `\"),[2,0,[11,QB(Ni),0]]]]],QB(\"The enum member initializer for `%s` needs to be a literal (either a boolean, number, or string) in enum `%s`.\")],c$r=[0,[11,QB(\"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `\"),[2,0,[11,QB(\"`, consider using `\"),[2,0,[11,QB(\"`, in enum `\"),[2,0,[11,QB(Ni),0]]]]]]],QB(\"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%s`, consider using `%s`, in enum `%s`.\")],f$r=QB(\"The `...` must come at the end of the enum body. Remove the trailing comma.\"),o$r=QB(\"The `...` must come after all enum members. Move it to the end of the enum body.\"),s$r=[0,[11,QB(\"Number enum members need to be initialized, e.g. `\"),[2,0,[11,QB(\" = 1,` in enum `\"),[2,0,[11,QB(Ni),0]]]]],QB(\"Number enum members need to be initialized, e.g. `%s = 1,` in enum `%s`.\")],l$r=[0,[11,QB(\"String enum members need to consistently either all use initializers, or use no initializers, in enum \"),[2,0,[12,46,0]]],QB(\"String enum members need to consistently either all use initializers, or use no initializers, in enum %s.\")],v$r=[0,[11,QB(Ev),[2,0,0]],QB(\"Unexpected %s\")],D$r=[0,[11,QB(Ev),[2,0,[11,QB(\", expected \"),[2,0,0]]]],QB(\"Unexpected %s, expected %s\")],p$r=[0,[11,QB(TB),[2,0,[11,QB(\"`. Did you mean `\"),[2,0,[11,QB(\"`?\"),0]]]]],QB(\"Unexpected token `%s`. Did you mean `%s`?\")],b$r=QB(uE),F$r=QB(\"Invalid flags supplied to RegExp constructor '\"),m$r=QB(uE),d$r=QB(\"Undefined label '\"),E$r=QB(\"' has already been declared\"),k$r=QB(\" '\"),h$r=QB(\"Expected corresponding JSX closing tag for \"),y$r=QB(Gd),C$r=QB(\"In strict mode code, functions can only be declared at top level or \"),w$r=QB(\"inside a block, or as the body of an if statement.\"),A$r=QB(\"In non-strict mode code, functions can only be declared at top level, \"),_$r=[0,[11,QB(\"Duplicate export for `\"),[2,0,[12,96,0]]],QB(\"Duplicate export for `%s`\")],g$r=QB(\"` is declared more than once.\"),B$r=QB(\"Private fields may only be declared once. `#\"),S$r=QB(\"static \"),x$r=QB(qC),T$r=QB(\"#\"),I$r=QB(Ni),N$r=QB(\"fields named `\"),O$r=QB(\"Classes may not have \"),L$r=QB(\"` has not been declared.\"),P$r=QB(\"Private fields must be declared before they can be referenced. `#\"),R$r=[0,[11,QB(TB),[2,0,[11,QB(\"`. Parentheses are required to combine `??` with `&&` or `||` expressions.\"),0]]],QB(\"Unexpected token `%s`. Parentheses are required to combine `??` with `&&` or `||` expressions.\")],M$r=QB(\"Parse_error.Error\"),j$r=[0,1,0],U$r=[0,0,[0,1,0],[0,1,0]],X$r=[0,QB(\"end of input\"),QB(\"the\")],G$r=[0,QB(\"template literal part\"),QB(Aw)],J$r=[0,QB(cv),QB(Aw)],q$r=QB(\"the\"),z$r=QB(Aw),W$r=QB(ms),V$r=QB(Aw),$$r=QB(Nd),Y$r=QB(Aw),H$r=QB(eh),K$r=QB(\"an\"),Q$r=QB(Qg),Z$r=QB(GD),rYr=[0,[11,QB(\"token `\"),[2,0,[12,96,0]]],QB(\"token `%s`\")],eYr=QB(\"{\"),tYr=QB(fF),nYr=QB(\"{|\"),uYr=QB(\"|}\"),aYr=QB(\"(\"),iYr=QB(Zo),cYr=QB(\"[\"),fYr=QB(\"]\"),oYr=QB(\";\"),sYr=QB(\",\"),lYr=QB(ZF),vYr=QB(\"=>\"),DYr=QB(\"...\"),pYr=QB(\"@\"),bYr=QB(\"#\"),FYr=QB(ws),mYr=QB(Ud),dYr=QB(Rf),EYr=QB(to),kYr=QB(Kt),hYr=QB(gF),yYr=QB(cF),CYr=QB(ur),wYr=QB(ne),AYr=QB(ib),_Yr=QB(e_),gYr=QB(Gs),BYr=QB(Ia),SYr=QB(rs),xYr=QB(Wm),TYr=QB(Pa),IYr=QB(kh),NYr=QB(Pc),OYr=QB(pC),LYr=QB(hy),PYr=QB(TD),RYr=QB(JC),MYr=QB(Nr),jYr=QB(hv),UYr=QB(dg),XYr=QB(gD),GYr=QB(Dp),JYr=QB(Vu),qYr=QB(wu),zYr=QB(js),WYr=QB(Vk),VYr=QB(Cf),$Yr=QB(Ko),YYr=QB(Nf),HYr=QB(HF),KYr=QB(Rh),QYr=QB(jf),ZYr=QB(Fe),rHr=QB(NC),eHr=QB(Mr),tHr=QB(se),nHr=QB(By),uHr=QB(CC),aHr=QB(tb),iHr=QB(Ui),cHr=QB(Ke),fHr=QB(Vr),oHr=QB(Pt),sHr=QB(\"of\"),lHr=QB(uC),vHr=QB(tf),DHr=QB(\"%checks\"),pHr=QB(sp),bHr=QB(\">>=\"),FHr=QB(\"<<=\"),mHr=QB(\"^=\"),dHr=QB(\"|=\"),EHr=QB(\"&=\"),kHr=QB(\"%=\"),hHr=QB(\"/=\"),yHr=QB(\"*=\"),CHr=QB(\"**=\"),wHr=QB(\"-=\"),AHr=QB(\"+=\"),_Hr=QB(\"=\"),gHr=QB(\"?.\"),BHr=QB(a),SHr=QB(\"?\"),xHr=QB(fh),THr=QB(\"||\"),IHr=QB(\"&&\"),NHr=QB(\"|\"),OHr=QB(VC),LHr=QB(\"&\"),PHr=QB(\"==\"),RHr=QB(\"!=\"),MHr=QB(\"===\"),jHr=QB(\"!==\"),UHr=QB(\"<=\"),XHr=QB(\">=\"),GHr=QB(td),JHr=QB(L),qHr=QB(\"<<\"),zHr=QB(\">>\"),WHr=QB(\">>>\"),VHr=QB(bw),$Hr=QB(eC),YHr=QB(fs),HHr=QB(\"*\"),KHr=QB(\"**\"),QHr=QB(\"%\"),ZHr=QB(\"!\"),rKr=QB(\"~\"),eKr=QB(\"++\"),tKr=QB(\"--\"),nKr=QB(qC),uKr=QB(Oh),aKr=QB(Wv),iKr=QB(dd),cKr=QB(ms),fKr=QB(Nd),oKr=QB(eh),sKr=QB(Ko),lKr=QB(ga),vKr=QB(fs),DKr=QB(fs),pKr=QB(Ft),bKr=QB(GC),FKr=QB(\"T_LCURLY\"),mKr=QB(\"T_RCURLY\"),dKr=QB(\"T_LCURLYBAR\"),EKr=QB(\"T_RCURLYBAR\"),kKr=QB(\"T_LPAREN\"),hKr=QB(\"T_RPAREN\"),yKr=QB(\"T_LBRACKET\"),CKr=QB(\"T_RBRACKET\"),wKr=QB(\"T_SEMICOLON\"),AKr=QB(\"T_COMMA\"),_Kr=QB(\"T_PERIOD\"),gKr=QB(\"T_ARROW\"),BKr=QB(\"T_ELLIPSIS\"),SKr=QB(\"T_AT\"),xKr=QB(\"T_POUND\"),TKr=QB(\"T_FUNCTION\"),IKr=QB(\"T_IF\"),NKr=QB(\"T_IN\"),OKr=QB(\"T_INSTANCEOF\"),LKr=QB(\"T_RETURN\"),PKr=QB(\"T_SWITCH\"),RKr=QB(\"T_THIS\"),MKr=QB(\"T_THROW\"),jKr=QB(\"T_TRY\"),UKr=QB(\"T_VAR\"),XKr=QB(\"T_WHILE\"),GKr=QB(\"T_WITH\"),JKr=QB(\"T_CONST\"),qKr=QB(\"T_LET\"),zKr=QB(\"T_NULL\"),WKr=QB(\"T_FALSE\"),VKr=QB(\"T_TRUE\"),$Kr=QB(\"T_BREAK\"),YKr=QB(\"T_CASE\"),HKr=QB(\"T_CATCH\"),KKr=QB(\"T_CONTINUE\"),QKr=QB(\"T_DEFAULT\"),ZKr=QB(\"T_DO\"),rQr=QB(\"T_FINALLY\"),eQr=QB(\"T_FOR\"),tQr=QB(\"T_CLASS\"),nQr=QB(\"T_EXTENDS\"),uQr=QB(\"T_STATIC\"),aQr=QB(\"T_ELSE\"),iQr=QB(\"T_NEW\"),cQr=QB(\"T_DELETE\"),fQr=QB(\"T_TYPEOF\"),oQr=QB(\"T_VOID\"),sQr=QB(\"T_ENUM\"),lQr=QB(\"T_EXPORT\"),vQr=QB(\"T_IMPORT\"),DQr=QB(\"T_SUPER\"),pQr=QB(\"T_IMPLEMENTS\"),bQr=QB(\"T_INTERFACE\"),FQr=QB(\"T_PACKAGE\"),mQr=QB(\"T_PRIVATE\"),dQr=QB(\"T_PROTECTED\"),EQr=QB(\"T_PUBLIC\"),kQr=QB(\"T_YIELD\"),hQr=QB(\"T_DEBUGGER\"),yQr=QB(\"T_DECLARE\"),CQr=QB(\"T_TYPE\"),wQr=QB(\"T_OPAQUE\"),AQr=QB(\"T_OF\"),_Qr=QB(\"T_ASYNC\"),gQr=QB(\"T_AWAIT\"),BQr=QB(\"T_CHECKS\"),SQr=QB(\"T_RSHIFT3_ASSIGN\"),xQr=QB(\"T_RSHIFT_ASSIGN\"),TQr=QB(\"T_LSHIFT_ASSIGN\"),IQr=QB(\"T_BIT_XOR_ASSIGN\"),NQr=QB(\"T_BIT_OR_ASSIGN\"),OQr=QB(\"T_BIT_AND_ASSIGN\"),LQr=QB(\"T_MOD_ASSIGN\"),PQr=QB(\"T_DIV_ASSIGN\"),RQr=QB(\"T_MULT_ASSIGN\"),MQr=QB(\"T_EXP_ASSIGN\"),jQr=QB(\"T_MINUS_ASSIGN\"),UQr=QB(\"T_PLUS_ASSIGN\"),XQr=QB(\"T_ASSIGN\"),GQr=QB(\"T_PLING_PERIOD\"),JQr=QB(\"T_PLING_PLING\"),qQr=QB(\"T_PLING\"),zQr=QB(\"T_COLON\"),WQr=QB(\"T_OR\"),VQr=QB(\"T_AND\"),$Qr=QB(\"T_BIT_OR\"),YQr=QB(\"T_BIT_XOR\"),HQr=QB(\"T_BIT_AND\"),KQr=QB(\"T_EQUAL\"),QQr=QB(\"T_NOT_EQUAL\"),ZQr=QB(\"T_STRICT_EQUAL\"),rZr=QB(\"T_STRICT_NOT_EQUAL\"),eZr=QB(\"T_LESS_THAN_EQUAL\"),tZr=QB(\"T_GREATER_THAN_EQUAL\"),nZr=QB(\"T_LESS_THAN\"),uZr=QB(\"T_GREATER_THAN\"),aZr=QB(\"T_LSHIFT\"),iZr=QB(\"T_RSHIFT\"),cZr=QB(\"T_RSHIFT3\"),fZr=QB(\"T_PLUS\"),oZr=QB(\"T_MINUS\"),sZr=QB(\"T_DIV\"),lZr=QB(\"T_MULT\"),vZr=QB(\"T_EXP\"),DZr=QB(\"T_MOD\"),pZr=QB(\"T_NOT\"),bZr=QB(\"T_BIT_NOT\"),FZr=QB(\"T_INCR\"),mZr=QB(\"T_DECR\"),dZr=QB(\"T_EOF\"),EZr=QB(\"T_ANY_TYPE\"),kZr=QB(\"T_MIXED_TYPE\"),hZr=QB(\"T_EMPTY_TYPE\"),yZr=QB(\"T_NUMBER_TYPE\"),CZr=QB(\"T_BIGINT_TYPE\"),wZr=QB(\"T_STRING_TYPE\"),AZr=QB(\"T_VOID_TYPE\"),_Zr=QB(\"T_SYMBOL_TYPE\"),gZr=QB(\"T_NUMBER\"),BZr=QB(\"T_BIGINT\"),SZr=QB(\"T_STRING\"),xZr=QB(\"T_TEMPLATE_PART\"),TZr=QB(\"T_IDENTIFIER\"),IZr=QB(\"T_REGEXP\"),NZr=QB(\"T_ERROR\"),OZr=QB(\"T_JSX_IDENTIFIER\"),LZr=QB(\"T_JSX_TEXT\"),PZr=QB(\"T_BOOLEAN_TYPE\"),RZr=QB(\"T_NUMBER_SINGLETON_TYPE\"),MZr=QB(\"T_BIGINT_SINGLETON_TYPE\"),jZr=QB(\"*-/\"),UZr=QB(\"*/\"),XZr=QB(\"*-/\"),GZr=QB(Ns),JZr=QB(Ns),qZr=QB(\"\\\\\"),zZr=QB(Ns),WZr=QB(\"${\"),VZr=QB(\"\\r\\n\"),$Zr=QB(\"\\r\\n\"),YZr=QB(\"\\n\"),HZr=QB(Ns),KZr=QB(\"\\\\\\\\\"),QZr=QB(Ns),ZZr=QB(qC),r0r=QB(qC),e0r=QB(qC),t0r=QB(qC),n0r=QB(Ns),u0r=QB(uE),a0r=QB('\"'),i0r=QB(td),c0r=QB(L),f0r=QB(\"{\"),o0r=QB(fF),s0r=QB(\"{'}'}\"),l0r=QB(fF),v0r=QB(\"{'>'}\"),D0r=QB(L),p0r=QB(W_),b0r=QB(\"iexcl\"),F0r=QB(\"aelig\"),m0r=QB(\"Nu\"),d0r=QB(\"Eacute\"),E0r=QB(\"Atilde\"),k0r=QB(\"'int'\"),h0r=QB(\"AElig\"),y0r=QB(\"Aacute\"),C0r=QB(\"Acirc\"),w0r=QB(\"Agrave\"),A0r=QB(\"Alpha\"),_0r=QB(\"Aring\"),g0r=[0,197],B0r=[0,913],S0r=[0,l],x0r=[0,194],T0r=[0,193],I0r=[0,198],N0r=[0,8747],O0r=QB(\"Auml\"),L0r=QB(\"Beta\"),P0r=QB(\"Ccedil\"),R0r=QB(\"Chi\"),M0r=QB(\"Dagger\"),j0r=QB(\"Delta\"),U0r=QB(\"ETH\"),X0r=[0,208],G0r=[0,916],J0r=[0,8225],q0r=[0,935],z0r=[0,199],W0r=[0,914],V0r=[0,196],$0r=[0,195],Y0r=QB(\"Icirc\"),H0r=QB(\"Ecirc\"),K0r=QB(\"Egrave\"),Q0r=QB(\"Epsilon\"),Z0r=QB(\"Eta\"),r1r=QB(\"Euml\"),e1r=QB(\"Gamma\"),t1r=QB(\"Iacute\"),n1r=[0,205],u1r=[0,915],a1r=[0,203],i1r=[0,919],c1r=[0,917],f1r=[0,200],o1r=[0,202],s1r=QB(\"Igrave\"),l1r=QB(\"Iota\"),v1r=QB(\"Iuml\"),D1r=QB(\"Kappa\"),p1r=QB(\"Lambda\"),b1r=QB(\"Mu\"),F1r=QB(\"Ntilde\"),m1r=[0,209],d1r=[0,924],E1r=[0,923],k1r=[0,922],h1r=[0,207],y1r=[0,921],C1r=[0,204],w1r=[0,206],A1r=[0,201],_1r=QB(\"Sigma\"),g1r=QB(\"Otilde\"),B1r=QB(\"OElig\"),S1r=QB(\"Oacute\"),x1r=QB(\"Ocirc\"),T1r=QB(\"Ograve\"),I1r=QB(\"Omega\"),N1r=QB(\"Omicron\"),O1r=QB(\"Oslash\"),L1r=[0,216],P1r=[0,927],R1r=[0,937],M1r=[0,210],j1r=[0,212],U1r=[0,211],X1r=[0,338],G1r=QB(\"Ouml\"),J1r=QB(\"Phi\"),q1r=QB(\"Pi\"),z1r=QB(\"Prime\"),W1r=QB(\"Psi\"),V1r=QB(\"Rho\"),$1r=QB(\"Scaron\"),Y1r=[0,352],H1r=[0,929],K1r=[0,936],Q1r=[0,8243],Z1r=[0,928],r2r=[0,934],e2r=[0,214],t2r=[0,213],n2r=QB(\"Uuml\"),u2r=QB(\"THORN\"),a2r=QB(\"Tau\"),i2r=QB(\"Theta\"),c2r=QB(\"Uacute\"),f2r=QB(\"Ucirc\"),o2r=QB(\"Ugrave\"),s2r=QB(\"Upsilon\"),l2r=[0,933],v2r=[0,217],D2r=[0,219],p2r=[0,218],b2r=[0,920],F2r=[0,932],m2r=[0,222],d2r=QB(\"Xi\"),E2r=QB(\"Yacute\"),k2r=QB(\"Yuml\"),h2r=QB(\"Zeta\"),y2r=QB(\"aacute\"),C2r=QB(\"acirc\"),w2r=QB(\"acute\"),A2r=[0,180],_2r=[0,226],g2r=[0,225],B2r=[0,918],S2r=[0,376],x2r=[0,221],T2r=[0,926],I2r=[0,220],N2r=[0,931],O2r=[0,925],L2r=QB(\"delta\"),P2r=QB(\"cap\"),R2r=QB(\"aring\"),M2r=QB(\"agrave\"),j2r=QB(\"alefsym\"),U2r=QB(\"alpha\"),X2r=QB(\"amp\"),G2r=QB(\"and\"),J2r=QB(\"ang\"),q2r=QB(\"apos\"),z2r=[0,39],W2r=[0,8736],V2r=[0,8743],$2r=[0,38],Y2r=[0,945],H2r=[0,8501],K2r=[0,eo],Q2r=QB(\"asymp\"),Z2r=QB(\"atilde\"),r7r=QB(\"auml\"),e7r=QB(\"bdquo\"),t7r=QB(\"beta\"),n7r=QB(\"brvbar\"),u7r=QB(\"bull\"),a7r=[0,8226],i7r=[0,166],c7r=[0,946],f7r=[0,8222],o7r=[0,228],s7r=[0,227],l7r=[0,8776],v7r=[0,229],D7r=QB(\"copy\"),p7r=QB(\"ccedil\"),b7r=QB(\"cedil\"),F7r=QB(\"cent\"),m7r=QB(\"chi\"),d7r=QB(\"circ\"),E7r=QB(\"clubs\"),k7r=QB(\"cong\"),h7r=[0,8773],y7r=[0,9827],C7r=[0,710],w7r=[0,967],A7r=[0,162],_7r=[0,184],g7r=[0,231],B7r=QB(\"crarr\"),S7r=QB(\"cup\"),x7r=QB(\"curren\"),T7r=QB(\"dArr\"),I7r=QB(\"dagger\"),N7r=QB(\"darr\"),O7r=QB(\"deg\"),L7r=[0,176],P7r=[0,8595],R7r=[0,8224],M7r=[0,8659],j7r=[0,164],U7r=[0,8746],X7r=[0,8629],G7r=[0,169],J7r=[0,8745],q7r=QB(\"fnof\"),z7r=QB(\"ensp\"),W7r=QB(\"diams\"),V7r=QB(\"divide\"),$7r=QB(\"eacute\"),Y7r=QB(\"ecirc\"),H7r=QB(\"egrave\"),K7r=QB(dd),Q7r=QB(\"emsp\"),Z7r=[0,8195],r8r=[0,8709],e8r=[0,232],t8r=[0,234],n8r=[0,233],u8r=[0,247],a8r=[0,9830],i8r=QB(\"epsilon\"),c8r=QB(\"equiv\"),f8r=QB(\"eta\"),o8r=QB(\"eth\"),s8r=QB(\"euml\"),l8r=QB(\"euro\"),v8r=QB(\"exist\"),D8r=[0,8707],p8r=[0,8364],b8r=[0,235],F8r=[0,Zy],m8r=[0,951],d8r=[0,8801],E8r=[0,949],k8r=[0,8194],h8r=QB(\"gt\"),y8r=QB(\"forall\"),C8r=QB(\"frac12\"),w8r=QB(\"frac14\"),A8r=QB(\"frac34\"),_8r=QB(\"frasl\"),g8r=QB(\"gamma\"),B8r=QB(\"ge\"),S8r=[0,8805],x8r=[0,947],T8r=[0,8260],I8r=[0,190],N8r=[0,188],O8r=[0,189],L8r=[0,8704],P8r=QB(\"hArr\"),R8r=QB(\"harr\"),M8r=QB(\"hearts\"),j8r=QB(\"hellip\"),U8r=QB(\"iacute\"),X8r=QB(\"icirc\"),G8r=[0,238],J8r=[0,237],q8r=[0,8230],z8r=[0,9829],W8r=[0,8596],V8r=[0,8660],$8r=[0,62],Y8r=[0,402],H8r=[0,948],K8r=[0,230],Q8r=QB(\"prime\"),Z8r=QB(\"ndash\"),r3r=QB(\"le\"),e3r=QB(\"kappa\"),t3r=QB(\"igrave\"),n3r=QB(\"image\"),u3r=QB(\"infin\"),a3r=QB(\"iota\"),i3r=QB(\"iquest\"),c3r=QB(\"isin\"),f3r=QB(\"iuml\"),o3r=[0,239],s3r=[0,8712],l3r=[0,191],v3r=[0,953],D3r=[0,8734],p3r=[0,8465],b3r=[0,236],F3r=QB(\"lArr\"),m3r=QB(\"lambda\"),d3r=QB(\"lang\"),E3r=QB(\"laquo\"),k3r=QB(\"larr\"),h3r=QB(\"lceil\"),y3r=QB(\"ldquo\"),C3r=[0,8220],w3r=[0,8968],A3r=[0,8592],_3r=[0,171],g3r=[0,10216],B3r=[0,955],S3r=[0,8656],x3r=[0,954],T3r=QB(\"macr\"),I3r=QB(\"lfloor\"),N3r=QB(\"lowast\"),O3r=QB(\"loz\"),L3r=QB(\"lrm\"),P3r=QB(\"lsaquo\"),R3r=QB(\"lsquo\"),M3r=QB(\"lt\"),j3r=[0,60],U3r=[0,8216],X3r=[0,8249],G3r=[0,8206],J3r=[0,9674],q3r=[0,8727],z3r=[0,8970],W3r=QB(\"mdash\"),V3r=QB(\"micro\"),$3r=QB(\"middot\"),Y3r=QB(lh),H3r=QB(\"mu\"),K3r=QB(\"nabla\"),Q3r=QB(\"nbsp\"),Z3r=[0,160],r4r=[0,8711],e4r=[0,956],t4r=[0,8722],n4r=[0,183],u4r=[0,181],a4r=[0,8212],i4r=[0,175],c4r=[0,8804],f4r=QB(\"or\"),o4r=QB(\"oacute\"),s4r=QB(\"ne\"),l4r=QB(\"ni\"),v4r=QB(\"not\"),D4r=QB(\"notin\"),p4r=QB(\"nsub\"),b4r=QB(\"ntilde\"),F4r=QB(\"nu\"),m4r=[0,957],d4r=[0,241],E4r=[0,8836],k4r=[0,8713],h4r=[0,172],y4r=[0,8715],C4r=[0,8800],w4r=QB(\"ocirc\"),A4r=QB(\"oelig\"),_4r=QB(\"ograve\"),g4r=QB(\"oline\"),B4r=QB(\"omega\"),S4r=QB(\"omicron\"),x4r=QB(\"oplus\"),T4r=[0,8853],I4r=[0,959],N4r=[0,969],O4r=[0,hF],L4r=[0,242],P4r=[0,339],R4r=[0,244],M4r=[0,243],j4r=QB(\"part\"),U4r=QB(\"ordf\"),X4r=QB(\"ordm\"),G4r=QB(\"oslash\"),J4r=QB(\"otilde\"),q4r=QB(\"otimes\"),z4r=QB(\"ouml\"),W4r=QB(\"para\"),V4r=[0,182],$4r=[0,246],Y4r=[0,8855],H4r=[0,245],K4r=[0,bc],Q4r=[0,186],Z4r=[0,170],r6r=QB(\"permil\"),e6r=QB(\"perp\"),t6r=QB(\"phi\"),n6r=QB(\"pi\"),u6r=QB(\"piv\"),a6r=QB(\"plusmn\"),i6r=QB(\"pound\"),c6r=[0,163],f6r=[0,177],o6r=[0,982],s6r=[0,960],l6r=[0,966],v6r=[0,8869],D6r=[0,8240],p6r=[0,8706],b6r=[0,8744],F6r=[0,8211],m6r=QB(\"sup1\"),d6r=QB(\"rlm\"),E6r=QB(\"raquo\"),k6r=QB(\"prod\"),h6r=QB(\"prop\"),y6r=QB(\"psi\"),C6r=QB(\"quot\"),w6r=QB(\"rArr\"),A6r=QB(\"radic\"),_6r=QB(\"rang\"),g6r=[0,10217],B6r=[0,8730],S6r=[0,8658],x6r=[0,34],T6r=[0,968],I6r=[0,8733],N6r=[0,8719],O6r=QB(\"rarr\"),L6r=QB(\"rceil\"),P6r=QB(\"rdquo\"),R6r=QB(\"real\"),M6r=QB(\"reg\"),j6r=QB(\"rfloor\"),U6r=QB(\"rho\"),X6r=[0,961],G6r=[0,8971],J6r=[0,174],q6r=[0,8476],z6r=[0,8221],W6r=[0,8969],V6r=[0,8594],$6r=[0,187],Y6r=QB(\"sigma\"),H6r=QB(\"rsaquo\"),K6r=QB(\"rsquo\"),Q6r=QB(\"sbquo\"),Z6r=QB(\"scaron\"),r5r=QB(\"sdot\"),e5r=QB(\"sect\"),t5r=QB(\"shy\"),n5r=[0,173],u5r=[0,167],a5r=[0,8901],i5r=[0,353],c5r=[0,8218],f5r=[0,8217],o5r=[0,8250],s5r=QB(\"sigmaf\"),l5r=QB(\"sim\"),v5r=QB(\"spades\"),D5r=QB(\"sub\"),p5r=QB(\"sube\"),b5r=QB(\"sum\"),F5r=QB(\"sup\"),m5r=[0,8835],d5r=[0,8721],E5r=[0,8838],k5r=[0,8834],h5r=[0,9824],y5r=[0,8764],C5r=[0,962],w5r=[0,963],A5r=[0,8207],_5r=QB(\"uarr\"),g5r=QB(\"thetasym\"),B5r=QB(\"sup2\"),S5r=QB(\"sup3\"),x5r=QB(\"supe\"),T5r=QB(\"szlig\"),I5r=QB(\"tau\"),N5r=QB(\"there4\"),O5r=QB(\"theta\"),L5r=[0,952],P5r=[0,8756],R5r=[0,964],M5r=[0,co],j5r=[0,8839],U5r=[0,179],X5r=[0,178],G5r=QB(\"thinsp\"),J5r=QB(\"thorn\"),q5r=QB(\"tilde\"),z5r=QB(\"times\"),W5r=QB(\"trade\"),V5r=QB(\"uArr\"),$5r=QB(\"uacute\"),Y5r=[0,250],H5r=[0,8657],K5r=[0,8482],Q5r=[0,215],Z5r=[0,732],r9r=[0,254],e9r=[0,8201],t9r=[0,977],n9r=QB(\"xi\"),u9r=QB(\"ucirc\"),a9r=QB(\"ugrave\"),i9r=QB(\"uml\"),c9r=QB(\"upsih\"),f9r=QB(\"upsilon\"),o9r=QB(\"uuml\"),s9r=QB(\"weierp\"),l9r=[0,W],v9r=[0,252],D9r=[0,965],p9r=[0,978],b9r=[0,168],F9r=[0,249],m9r=[0,251],d9r=QB(\"yacute\"),E9r=QB(\"yen\"),k9r=QB(\"yuml\"),h9r=QB(\"zeta\"),y9r=QB(\"zwj\"),C9r=QB(\"zwnj\"),w9r=[0,8204],A9r=[0,Cc],_9r=[0,950],g9r=[0,_s],B9r=[0,165],S9r=[0,253],x9r=[0,958],T9r=[0,8593],I9r=[0,185],N9r=[0,8242],O9r=[0,161],L9r=QB(\";\"),P9r=QB(\"&\"),R9r=QB(Ns),M9r=QB(Ns),j9r=QB(Ns),U9r=QB(Ns),X9r=QB(Ns),G9r=QB(Ns),J9r=QB(Ns),q9r=QB(Ns),z9r=QB(Ns),W9r=QB(Ns),V9r=QB(Ns),$9r=QB(Ns),Y9r=QB(Ns),H9r=QB(fh),K9r=QB(fh),Q9r=QB(bt),Z9r=[9,0],rre=[9,1],ere=QB(Ns),tre=QB(fF),nre=[0,QB(qC),QB(qC),QB(qC)],ure=QB(Ns),are=QB(Ns),ire=QB(uE),cre=QB(Ns),fre=QB(Ns),ore=QB(Ns),sre=QB(Ns),lre=QB(Ns),vre=QB(Ns),Dre=QB(Ns),pre=QB(Ns),bre=QB(Ns),Fre=QB(Ns),mre=QB(Ns),dre=QB(Ns),Ere=QB(Ns),kre=QB(Ns),hre=QB(Ns),yre=QB(fh),Cre=QB(fh),wre=QB(bt),Are=[6,QB(\"#!\")],_re=QB(\"expected ?\"),gre=QB(Ns),Bre=QB(uc),Sre=QB(ob),xre=QB(ob),Tre=QB(uc),Ire=QB(\"b\"),Nre=QB(\"f\"),Ore=QB(\"n\"),Lre=QB(\"r\"),Pre=QB(\"t\"),Rre=QB(\"v\"),Mre=QB(ob),jre=QB(W_),Ure=QB(W_),Xre=QB(Ns),Gre=QB(W_),Jre=QB(W_),qre=QB(Ns),zre=QB(\"Invalid (lexer) bigint \"),Wre=QB(\"Invalid (lexer) bigint binary/octal \"),Vre=QB(ob),$re=QB(yf),Yre=QB(gr),Hre=QB(lu),Kre=[11,QB(\"token ILLEGAL\")],Qre=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\"),Zre=QB(\"\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\"),ree=QB(\"\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\"),eee=QB(\"\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\"),tee=QB(\"\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x03\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\"),nee=QB(\"\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\"),uee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\"),aee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),iee=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x04\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\\x02\\x02\\x02\\x06\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\\x02\\x07\"),cee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),fee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),oee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x03\\x02\\x02\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x06\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),see=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\"),lee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),vee=QB(\"\\x01\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\"),Dee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),pee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),bee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Fee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),mee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),dee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x05\\0\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x06\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Eee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),kee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),hee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x04\\0\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),yee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Cee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x04\\x04\\0\\0\\0\\0\\0\\0\\0\\x01\\x05\\x01\\x01\\x06\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x07\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\b\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x05\\x01\\x01\\x06\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\t\\x07\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\b\\x01\\x01\"),wee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Aee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x03\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),_ee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x03\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),gee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x04\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Bee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x03\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),See=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x04\\x04\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),xee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x03\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Tee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Iee=QB(\"\\x01\\0\\0\\x02\"),Nee=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x04\\x02\\x02\\x02\\x02\\x04\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\"),Oee=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\"),Lee=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x04\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x06\\x07\"),Pee=QB(\"\\x01\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\"),Ree=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\"),Mee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\"),jee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x01\\x01\\x01\\x01\\x01\\x01\"),Uee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\"),Xee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Gee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\x02\\0\\x02\\0\\0\\x03\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Jee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),qee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),zee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Wee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Vee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),$ee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Yee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x04\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Hee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Kee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Qee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Zee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),rte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),ete=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),tte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),nte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),ute=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),ate=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x05\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),ite=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x04\\x01\\x05\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),cte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),fte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),ote=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),ste=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),lte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),vte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Dte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x04\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),pte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),bte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Fte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x06\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),mte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),dte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Ete=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),kte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x03\\x04\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x06\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),hte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),yte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Cte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),wte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Ate=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),_te=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),gte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Bte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Ste=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),xte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Tte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Ite=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Nte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Ote=QB(\"\\x01\\0\\x02\"),Lte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Pte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Rte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x05\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Mte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),jte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Ute=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Xte=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Gte=QB(\"\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),Jte=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\"),qte=QB(\"\\x01\\0\\0\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\"),zte=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\"),Wte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),Vte=QB(\"\\x01\\x02\\0\\x03\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\"),$te=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),Yte=QB(\"\\x01\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\"),Hte=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x04\\x01\\x01\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x03\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x03\\x02\\x02\\x02\\x01\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x01\\x03\\x03\\x01\\x03\\x03\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x03\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x02\\x02\\x01\\x02\\x02\\x02\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x03\\x01\\x01\\x03\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x01\\x02\\x02\\x01\\x02\\x02\\x01\\x01\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x01\\x01\\x01\\x01\\x02\\x02\\x01\\x02\\x02\\x02\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x01\\x02\\x01\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x01\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x03\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x02\\x02\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x01\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x03\\x01\\x03\\x01\\x01\\x01\\x01\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x01\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x02\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x03\\x03\\x03\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x02\\x01\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\"),Kte=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x04\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\\x06\\x06\\x06\\x06\\x06\\x06\\x06\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\b\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\n\\x02\\x02\\x02\\v\\x02\\f\\r\\x0e\\x02\\x0f\"),Qte=QB(\"\\x01\\0\\x01\\0\\0\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\"),Zte=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x03\"),rne=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x04\"),ene=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x04\\x03\\x03\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x06\\x02\\x07\\b\\t\\x06\\n\\v\\f\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x13\\x13\\x13\\x13\\x13\\x13\\x13\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x1a\\x1b\\x1c\\x02\\x07\\x02\\x1d\\x1e\\x07\\x07\\x1f \\x07\\x07!\\x07\\x07\\x07\\\"#\\x07\\x07\\x07\\x07$%\\x07&\\x07\\x07\\x07\\x07'()\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x03\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\"),tne=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x04\\x03\\x03\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x06\\x07\\b\\t\\n\\v\\x07\\f\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x15\\x15\\x15\\x15\\x15\\x15\\x15\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x1d\\x1e\\x1f \\t!\\\"#$%&'\\t\\t(\\t\\t)\\t*+,\\t-./\\t01\\t2\\t3456\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\x02\\t\\t\\x02\\x02\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\t\\t\\t\\x02\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\t\\t\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\x02\\t\\t\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\x02\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\x02\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\t\\t\\x02\\t\\t\\t\\t\\x02\\x02\\x02\\t\\t\\x02\\t\\x02\\t\\t\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\t\\x02\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\t\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x03\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\t\\x02\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\"),nne=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x04\\x03\\x03\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x06\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\"),une=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x04\"),ane=QB(\"\\x01\\0\\0\\0\\0\\x02\"),ine=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x04\\x03\\x03\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x06\\x02\\x07\\x02\\x02\\x06\\x02\\x02\\x02\\x02\\x02\\x02\\b\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\n\\x02\\v\\f\\r\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x0e\\x02\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x0f\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x03\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\"),cne=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),fne=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),one=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\\0\\0\\0\\0\\0\\x02\"),sne=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\"),lne=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x03\"),vne=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),Dne=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),pne=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\x02\"),bne=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x04\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x06\\x02\\x02\\x02\\x07\"),Fne=QB(\"\\x01\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\"),mne=QB(\"\\x01\\0\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\"),dne=QB(\"\\x01\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\"),Ene=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\"),kne=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x04\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x06\"),hne=QB(\"\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\"),yne=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Cne=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),wne=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),Ane=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),_ne=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),gne=[0,[11,QB(\"the identifier `\"),[2,0,[12,96,0]]],QB(\"the identifier `%s`\")],Bne=[0,1],Sne=QB(\"@flow\"),xne=QB(xb),Tne=QB(xb),Ine=QB(\"Peeking current location when not available\"),Nne=QB(NC),One=QB(ii),Lne=QB(Oh),Pne=QB(Nd),Rne=QB(GC),Mne=QB(Ft),jne=QB(dd),Une=QB(Dp),Xne=QB(Pa),Gne=QB(Wv),Jne=QB(Wm),qne=QB(ms),zne=QB(Vu),Wne=QB(eh),Vne=QB(kh),$ne=QB(Cf),Yne=QB(Ko),Hne=QB(Pa),Kne=QB(Wm),Qne=QB(kh),Zne=QB(Pa),rue=QB(Wm),eue=QB(kh),tue=QB(Xu),nue=QB(\"eval\"),uue=QB(Fe),aue=QB(NC),iue=QB(Mr),cue=QB(se),fue=QB(By),oue=QB(CC),sue=QB(Vu),lue=QB(tb),vue=QB(Nf),Due=QB(Ud),pue=QB(JC),bue=QB(tf),Fue=QB(Pc),mue=QB(pC),due=QB(hy),Eue=QB(gD),kue=QB(Ia),hue=QB(TD),yue=QB(Ui),Cue=QB(Vk),wue=QB(Nr),Aue=QB(wu),_ue=QB(HF),gue=QB(Dp),Bue=QB(hv),Sue=QB(dg),xue=QB(ws),Tue=QB(ur),Iue=QB(Rh),Nue=QB(Rf),Oue=QB(to),Lue=QB(js),Pue=QB(Kt),Rue=QB(jf),Mue=QB(gF),jue=QB(cF),Uue=QB(ne),Xue=QB(Cf),Gue=QB(ib),Jue=QB(Ko),que=QB(e_),zue=QB(Gs),Wue=QB(tb),Vue=[0,QB(\"src/parser/parser_env.ml\"),361,2],$ue=QB(\"Internal Error: Tried to add_declared_private with outside of class scope.\"),Yue=QB(\"Internal Error: `exit_class` called before a matching `enter_class`\"),Hue=QB(qC),Kue=QB(qC),Que=[0,0,0],Zue=[0,0,0],rae=QB(Eu),eae=QB(Eu),tae=QB(\"Parser_env.Try.Rollback\"),nae=QB(qC),uae=QB(qC),aae=[0,QB(st),QB($y),QB(Xm),QB(Di),QB(ui),QB(nu),QB(y)],iae=[0,QB(cB),QB(ci),QB(lF),QB(Bo),QB(qn),QB(rm),QB(Ec),QB(aD),QB(jb),QB(la),QB(Xm),QB(ji),QB(av),QB(M_),QB(it),QB(sc),QB(Hg),QB(Ws),QB(HC),QB(U),QB(FF),QB(Kl),QB(Eb),QB(Rh),QB(Qg),QB(RA),QB(kc),QB(lm),QB(hC),QB(wp),QB(Et),QB(jE),QB(Pk),QB($n),QB(yw),QB(ar),QB(Mw),QB(Rk),QB(Xi),QB(Zi),QB(mt),QB(y),QB(fe),QB(fE),QB(Ty),QB($o)],cae=[0,QB(xe),QB(Fh),QB(du),QB(mt),QB(mu),QB(Tm),QB(Za),QB(Co),QB(Eb),QB(mA),QB(gF),QB(Fk),QB(B_),QB(gg),QB(sc),QB(Dr),QB(Dk),QB(Dl),QB(B),QB(iB),QB(Uo),QB(RA),QB(zk),QB(Qg),QB(os),QB(yk),QB(Nu),QB(Xi),QB(ei),QB(P),QB(Uv),QB(Ut),QB(oh),QB(pg),QB(x_),QB(Hp),QB(Al),QB(bh),QB(Ik),QB(Af),QB(Oo),QB(Te),QB(ar),QB(aF),QB(ok),QB(oy),QB(ou),QB(aE),QB(_E),QB($n),QB(M_),QB(av),QB(an),QB(Tw),QB(Wg),QB(FF),QB(ri),QB(jE),QB(xl),QB(Tt),QB(s_),QB(Da),QB(Xo),QB(lm),QB(jk),QB(Ty),QB(fp),QB(Ny),QB(Tl),QB(Ca),QB(tp),QB(Up),QB(ji),QB(Sp),QB(JA),QB(nA),QB(fe),QB(tF),QB(yv),QB(vn),QB(w_),QB(Xm),QB(dd),QB(tA),QB(cl),QB(tb),QB(Lk),QB(mC),QB(p_),QB(wE),QB(mc),QB(SF),QB(Pe),QB(kw),QB(K_),QB(Fo),QB(Ol),QB(Kl),QB(ld),QB(at),QB(wk),QB(jh),QB(De),QB(Zh),QB(lt),QB(aD),QB(cB),QB(FB),QB(Bo),QB(lF),QB(yw),QB(Lc),QB(mi),QB(HC),QB(uf),QB(In),QB($p),QB(it),QB(TE),QB(au),QB(Ws),QB(Rk),QB(Yk),QB(Hg),QB(Rh),QB(Kt),QB(Vw),QB(aB),QB(fB),QB(ur),QB(Ui),QB(de),QB(bA),QB(Wf),QB(Op),QB(io),QB(qs),QB(Gf),QB(gf),QB(tr),QB(El),QB(BE),QB(mg),QB(ee),QB(Nn),QB(c),QB(SB),QB(Ip),QB(KA),QB(Hr),QB(Pu),QB(Pn),QB(PC),QB(sD),QB(fn),QB(Ec),QB(si),QB(Zi),QB(sF),QB($w),QB(dk),QB(la),QB(kc),QB(Dh),QB(lB),QB(Mw),QB(Wh),QB(Je),QB(Ur),QB(Kp),QB(rm),QB($o),QB(ci),QB(et),QB(qn),QB(pw),QB(Pk),QB($i),QB(Bm),QB(FA),QB(jb),QB(fE),QB(zu),QB(Lr),QB(Et),QB(ha),QB(iv),QB(Kc),QB(hC),QB(pl),QB(TD),QB(mn),QB(og),QB(lf),QB(sn),QB(Nl),QB(LC),QB(wp),QB(HA),QB(je),QB(y),QB(nl),QB(U),QB(KE),QB(wi),QB(Ho),QB(Pc),QB(Gk),QB(NC),QB(Ov),QB(bF),QB(t)],fae=[0,QB(xe),QB(Fh),QB(du),QB(mt),QB(mu),QB(Tm),QB(Za),QB(Co),QB(Eb),QB(mA),QB(gF),QB(Fk),QB(B_),QB(gg),QB(sc),QB(Dr),QB(Dk),QB(Dl),QB(B),QB(iB),QB(Uo),QB(RA),QB(zk),QB(Qg),QB($y),QB(os),QB(yk),QB(Nu),QB(Xi),QB(ei),QB(P),QB(Uv),QB(Ut),QB(oh),QB(pg),QB(x_),QB(Hp),QB(Al),QB(bh),QB(Ik),QB(Af),QB(Oo),QB(Te),QB(ar),QB(aF),QB(ok),QB(oy),QB(ui),QB(ou),QB(aE),QB(_E),QB($n),QB(M_),QB(av),QB(an),QB(Tw),QB(Wg),QB(FF),QB(ri),QB(jE),QB(xl),QB(Tt),QB(s_),QB(Da),QB(Xo),QB(lm),QB(jk),QB(Ty),QB(fp),QB(Ny),QB(Tl),QB(Ca),QB(tp),QB(Up),QB(ji),QB(Sp),QB(JA),QB(nA),QB(fe),QB(tF),QB(yv),QB(vn),QB(w_),QB(Xm),QB(dd),QB(tA),QB(cl),QB(tb),QB(Lk),QB(mC),QB(p_),QB(wE),QB(mc),QB(SF),QB(Pe),QB(kw),QB(K_),QB(Fo),QB(Ol),QB(Kl),QB(ld),QB(at),QB(wk),QB(jh),QB(De),QB(Zh),QB(lt),QB(aD),QB(cB),QB(FB),QB(Bo),QB(lF),QB(yw),QB(Lc),QB(mi),QB(HC),QB(uf),QB(In),QB($p),QB(it),QB(TE),QB(au),QB(Ws),QB(Rk),QB(Yk),QB(Hg),QB(Rh),QB(Kt),QB(Vw),QB(aB),QB(fB),QB(ur),QB(Ui),QB(de),QB(bA),QB(Wf),QB(Op),QB(io),QB(qs),QB(Gf),QB(gf),QB(tr),QB(El),QB(BE),QB(mg),QB(ee),QB(Nn),QB(c),QB(SB),QB(Ip),QB(KA),QB(Hr),QB(Pu),QB(Pn),QB(PC),QB(sD),QB(fn),QB(Ec),QB(si),QB(Zi),QB(sF),QB($w),QB(dk),QB(nu),QB(la),QB(kc),QB(Dh),QB(lB),QB(Mw),QB(Wh),QB(Je),QB(Ur),QB(Kp),QB(rm),QB(Di),QB($o),QB(ci),QB(et),QB(qn),QB(st),QB(pw),QB(Pk),QB($i),QB(Bm),QB(FA),QB(jb),QB(fE),QB(zu),QB(Lr),QB(Et),QB(ha),QB(iv),QB(Kc),QB(hC),QB(pl),QB(TD),QB(mn),QB(og),QB(lf),QB(sn),QB(Nl),QB(LC),QB(wp),QB(HA),QB(je),QB(y),QB(nl),QB(U),QB(KE),QB(wi),QB(Ho),QB(Pc),QB(Gk),QB(NC),QB(Ov),QB(bF),QB(t)],oae=QB(qu),sae=QB(kt),lae=[0,[11,QB(\"Failure while looking up \"),[2,0,[11,QB(\". Index: \"),[4,0,0,0,[11,QB(\". Length: \"),[4,0,0,0,[12,46,0]]]]]]],QB(\"Failure while looking up %s. Index: %d. Length: %d.\")],vae=[0,0,0,0],Dae=QB(\"Offset_utils.Offset_lookup_failed\"),pae=QB(hA),bae=QB(Sv),Fae=QB(WC),mae=QB(cd),dae=QB(cd),Eae=QB(WC),kae=QB(Vr),hae=QB(Gu),yae=QB(AE),Cae=QB(AE),wae=QB(\"Program\"),Aae=QB(zi),_ae=QB(\"BreakStatement\"),gae=QB(zi),Bae=QB(\"ContinueStatement\"),Sae=QB(\"DebuggerStatement\"),xae=QB(fg),Tae=QB(\"DeclareExportAllDeclaration\"),Iae=QB(fg),Nae=QB(BB),Oae=QB(Wu),Lae=QB(JC),Pae=QB(\"DeclareExportDeclaration\"),Rae=QB(Xe),Mae=QB(AE),jae=QB(pi),Uae=QB(\"DeclareModule\"),Xae=QB(ZD),Gae=QB(\"DeclareModuleExports\"),Jae=QB(rh),qae=QB(AE),zae=QB(\"DoWhileStatement\"),Wae=QB(\"EmptyStatement\"),Vae=QB(zC),$ae=QB(Wu),Yae=QB(\"ExportDefaultDeclaration\"),Hae=QB(zC),Kae=QB(fg),Qae=QB(\"ExportAllDeclaration\"),Zae=QB(zC),rie=QB(fg),eie=QB(BB),tie=QB(Wu),nie=QB(\"ExportNamedDeclaration\"),uie=QB(m),aie=QB(Et),iie=QB(\"ExpressionStatement\"),cie=QB(AE),fie=QB(V),oie=QB(rh),sie=QB(nk),lie=QB(\"ForStatement\"),vie=QB(Cl),Die=QB(AE),pie=QB(iu),bie=QB(of),Fie=QB(\"ForInStatement\"),mie=QB(tf),die=QB(AE),Eie=QB(iu),kie=QB(of),hie=QB(\"ForOfStatement\"),yie=QB(qF),Cie=QB(Rp),wie=QB(rh),Aie=QB(\"IfStatement\"),_ie=QB(Vr),gie=QB(Cf),Bie=QB(Im),Sie=QB(vp),xie=QB(fg),Tie=QB(BB),Iie=QB(\"ImportDeclaration\"),Nie=QB(AE),Oie=QB(zi),Lie=QB(\"LabeledStatement\"),Pie=QB(QC),Rie=QB(\"ReturnStatement\"),Mie=QB(Sd),jie=QB(\"discriminant\"),Uie=QB(\"SwitchStatement\"),Xie=QB(QC),Gie=QB(\"ThrowStatement\"),Jie=QB(bl),qie=QB(Kn),zie=QB(y),Wie=QB(\"TryStatement\"),Vie=QB(AE),$ie=QB(rh),Yie=QB(\"WhileStatement\"),Hie=QB(AE),Kie=QB(Oc),Qie=QB(\"WithStatement\"),Zie=QB(dl),rce=QB(\"ArrayExpression\"),ece=QB(Ta),tce=QB(Qy),nce=QB(Et),uce=QB(av),ace=QB(mg),ice=QB(uC),cce=QB(AE),fce=QB(w),oce=QB(pi),sce=QB(\"ArrowFunctionExpression\"),lce=QB(\"=\"),vce=QB(iu),Dce=QB(of),pce=QB(__),bce=QB(\"AssignmentExpression\"),Fce=QB(iu),mce=QB(of),dce=QB(__),Ece=QB(\"BinaryExpression\"),kce=QB(\"CallExpression\"),hce=QB(Xt),yce=QB($k),Cce=QB(\"ComprehensionExpression\"),wce=QB(qF),Ace=QB(Rp),_ce=QB(rh),gce=QB(\"ConditionalExpression\"),Bce=QB(Xt),Sce=QB($k),xce=QB(\"GeneratorExpression\"),Tce=QB(fg),Ice=QB(\"ImportExpression\"),Nce=QB(\"||\"),Oce=QB(\"&&\"),Lce=QB(a),Pce=QB(iu),Rce=QB(of),Mce=QB(__),jce=QB(\"LogicalExpression\"),Uce=QB(\"MemberExpression\"),Xce=QB(rA),Gce=QB(\"meta\"),Jce=QB(\"MetaProperty\"),qce=QB(Xu),zce=QB(kF),Wce=QB(tv),Vce=QB(\"NewExpression\"),$ce=QB(Bu),Yce=QB(\"ObjectExpression\"),Hce=QB(Dv),Kce=QB(\"OptionalCallExpression\"),Qce=QB(Dv),Zce=QB(\"OptionalMemberExpression\"),rfe=QB(Hm),efe=QB(\"SequenceExpression\"),tfe=QB(\"Super\"),nfe=QB(\"ThisExpression\"),ufe=QB(ZD),afe=QB(Et),ife=QB(\"TypeCastExpression\"),cfe=QB(QC),ffe=QB(\"AwaitExpression\"),ofe=QB(eC),sfe=QB(bw),lfe=QB(\"!\"),vfe=QB(\"~\"),Dfe=QB(Cf),pfe=QB(Ko),bfe=QB(Vk),Ffe=QB(\"matched above\"),mfe=QB(QC),dfe=QB(CD),Efe=QB(__),kfe=QB(\"UnaryExpression\"),hfe=QB(\"--\"),yfe=QB(\"++\"),Cfe=QB(CD),wfe=QB(QC),Afe=QB(__),_fe=QB(\"UpdateExpression\"),gfe=QB(Eh),Bfe=QB(QC),Sfe=QB(\"YieldExpression\"),xfe=QB(\"Unexpected FunctionDeclaration with BodyExpression\"),Tfe=QB(Ta),Ife=QB(Qy),Nfe=QB(Et),Ofe=QB(av),Lfe=QB(mg),Pfe=QB(uC),Rfe=QB(AE),Mfe=QB(w),jfe=QB(pi),Ufe=QB(\"FunctionDeclaration\"),Xfe=QB(\"Unexpected FunctionExpression with BodyExpression\"),Gfe=QB(Ta),Jfe=QB(Qy),qfe=QB(Et),zfe=QB(av),Wfe=QB(mg),Vfe=QB(uC),$fe=QB(AE),Yfe=QB(w),Hfe=QB(pi),Kfe=QB(\"FunctionExpression\"),Qfe=QB(Dv),Zfe=QB(ZD),roe=QB(Wl),eoe=QB(f),toe=QB(pi),noe=QB(\"PrivateName\"),uoe=QB(Dv),aoe=QB(ZD),ioe=QB(Wl),coe=QB(f),foe=QB(Rp),ooe=QB(rh),soe=QB(\"SwitchCase\"),loe=QB(AE),voe=QB(\"param\"),Doe=QB(\"CatchClause\"),poe=QB(AE),boe=QB(\"BlockStatement\"),Foe=QB(pi),moe=QB(\"DeclareVariable\"),doe=QB(av),Eoe=QB(pi),koe=QB(\"DeclareFunction\"),hoe=QB(ot),yoe=QB(Fe),Coe=QB(Dp),woe=QB(AE),Aoe=QB(Ta),_oe=QB(pi),goe=QB(\"DeclareClass\"),Boe=QB(Dp),Soe=QB(AE),xoe=QB(Ta),Toe=QB(pi),Ioe=QB(\"DeclareInterface\"),Noe=QB(Im),Ooe=QB(Vr),Loe=QB(Yt),Poe=QB(\"ExportNamespaceSpecifier\"),Roe=QB(iu),Moe=QB(Ta),joe=QB(pi),Uoe=QB(\"DeclareTypeAlias\"),Xoe=QB(iu),Goe=QB(Ta),Joe=QB(pi),qoe=QB(\"TypeAlias\"),zoe=QB(\"DeclareOpaqueType\"),Woe=QB(\"OpaqueType\"),Voe=QB(uF),$oe=QB(fb),Yoe=QB(Ta),Hoe=QB(pi),Koe=QB(\"ClassDeclaration\"),Qoe=QB(\"ClassExpression\"),Zoe=QB(J),rse=QB(Fe),ese=QB(\"superTypeParameters\"),tse=QB(\"superClass\"),nse=QB(Ta),use=QB(AE),ase=QB(pi),ise=QB(Et),cse=QB(\"Decorator\"),fse=QB(Ta),ose=QB(pi),sse=QB(\"ClassImplements\"),lse=QB(AE),vse=QB(\"ClassBody\"),Dse=QB(Zp),pse=QB(rr),bse=QB(qt),Fse=QB(uu),mse=QB(J),dse=QB(oi),Ese=QB(Vu),kse=QB(Xe),hse=QB(Im),yse=QB(DB),Cse=QB(\"MethodDefinition\"),wse=QB(Ke),Ase=QB(Sp),_se=QB(Vu),gse=QB(ZD),Bse=QB(Im),Sse=QB(DB),xse=QB(\"ClassPrivateProperty\"),Tse=QB(\"Internal Error: Private name found in class prop\"),Ise=QB(Ke),Nse=QB(Sp),Ose=QB(Vu),Lse=QB(oi),Pse=QB(ZD),Rse=QB(Im),Mse=QB(DB),jse=QB(\"ClassProperty\"),Use=QB(pi),Xse=QB(_F),Gse=QB(nk),Jse=QB(pi),qse=QB(\"EnumStringMember\"),zse=QB(pi),Wse=QB(_F),Vse=QB(nk),$se=QB(pi),Yse=QB(\"EnumNumberMember\"),Hse=QB(nk),Kse=QB(pi),Qse=QB(\"EnumBooleanMember\"),Zse=QB(Wo),rle=QB(by),ele=QB(Zt),tle=QB(\"EnumBooleanBody\"),nle=QB(Wo),ule=QB(by),ale=QB(Zt),ile=QB(\"EnumNumberBody\"),cle=QB(Wo),fle=QB(by),ole=QB(Zt),sle=QB(\"EnumStringBody\"),lle=QB(Wo),vle=QB(Zt),Dle=QB(\"EnumSymbolBody\"),ple=QB(AE),ble=QB(pi),Fle=QB(\"EnumDeclaration\"),mle=QB(Dp),dle=QB(AE),Ele=QB(Ta),kle=QB(pi),hle=QB(\"InterfaceDeclaration\"),yle=QB(Ta),Cle=QB(pi),wle=QB(\"InterfaceExtends\"),Ale=QB(ZD),_le=QB(Bu),gle=QB(\"ObjectPattern\"),Ble=QB(ZD),Sle=QB(dl),xle=QB(\"ArrayPattern\"),Tle=QB(iu),Ile=QB(of),Nle=QB($E),Ole=QB(ZD),Lle=QB(Wl),Ple=QB(f),Rle=QB(QC),Mle=QB(qD),jle=QB(QC),Ule=QB(qD),Xle=QB(iu),Gle=QB(of),Jle=QB($E),qle=QB(nk),zle=QB(nk),Wle=QB(qt),Vle=QB(uu),$le=QB(Mi),Yle=QB(oi),Hle=QB(Qh),Kle=QB(rr),Qle=QB(Xe),Zle=QB(Im),rve=QB(DB),eve=QB(pe),tve=QB(QC),nve=QB(\"SpreadProperty\"),uve=QB(iu),ave=QB(of),ive=QB($E),cve=QB(oi),fve=QB(Qh),ove=QB(rr),sve=QB(Xe),lve=QB(Im),vve=QB(DB),Dve=QB(pe),pve=QB(QC),bve=QB(\"SpreadElement\"),Fve=QB(Cl),mve=QB(iu),dve=QB(of),Eve=QB(\"ComprehensionBlock\"),kve=QB(\"We should not create Literal nodes for bigints\"),hve=QB(wm),yve=QB(Op),Cve=QB(\"regex\"),wve=QB(ge),Ave=QB(Im),_ve=QB(ge),gve=QB(Im),Bve=QB(iA),Sve=QB(ge),xve=QB(Im),Tve=QB(iA),Ive=QB(Nd),Nve=QB(Im),Ove=QB(\"BigIntLiteral\"),Lve=QB(ge),Pve=QB(Im),Rve=QB(iA),Mve=QB(Hm),jve=QB(\"quasis\"),Uve=QB(\"TemplateLiteral\"),Xve=QB(KC),Gve=QB(ge),Jve=QB(Gr),qve=QB(Im),zve=QB(\"TemplateElement\"),Wve=QB(Oy),Vve=QB(\"tag\"),$ve=QB(\"TaggedTemplateExpression\"),Yve=QB(ib),Hve=QB(rs),Kve=QB(Ia),Qve=QB(Xe),Zve=QB(\"declarations\"),rDe=QB(\"VariableDeclaration\"),eDe=QB(nk),tDe=QB(pi),nDe=QB(\"VariableDeclarator\"),uDe=QB(Xe),aDe=QB(\"Variance\"),iDe=QB(\"AnyTypeAnnotation\"),cDe=QB(\"MixedTypeAnnotation\"),fDe=QB(\"EmptyTypeAnnotation\"),oDe=QB(\"VoidTypeAnnotation\"),sDe=QB(\"NullLiteralTypeAnnotation\"),lDe=QB(\"SymbolTypeAnnotation\"),vDe=QB(\"NumberTypeAnnotation\"),DDe=QB(\"BigIntTypeAnnotation\"),pDe=QB(\"StringTypeAnnotation\"),bDe=QB(\"BooleanTypeAnnotation\"),FDe=QB(ZD),mDe=QB(\"NullableTypeAnnotation\"),dDe=QB(Ta),EDe=QB(ka),kDe=QB(Qy),hDe=QB(cF),yDe=QB(w),CDe=QB(\"FunctionTypeAnnotation\"),wDe=QB(Dv),ADe=QB(ZD),_De=QB(Wl),gDe=QB(zl),BDe=QB(Dv),SDe=QB(ZD),xDe=QB(Wl),TDe=QB(zl),IDe=[0,0,0,0,0],NDe=QB(\"internalSlots\"),ODe=QB(\"callProperties\"),LDe=QB(\"indexers\"),PDe=QB(Bu),RDe=QB(\"exact\"),MDe=QB(Cw),jDe=QB(\"ObjectTypeAnnotation\"),UDe=QB(Mi),XDe=QB(\"There should not be computed object type property keys\"),GDe=QB(nk),JDe=QB(qt),qDe=QB(uu),zDe=QB(Xe),WDe=QB(Sp),VDe=QB(ck),$De=QB(Vu),YDe=QB(Dv),HDe=QB(rr),KDe=QB(Im),QDe=QB(DB),ZDe=QB(\"ObjectTypeProperty\"),rpe=QB(QC),epe=QB(\"ObjectTypeSpreadProperty\"),tpe=QB(Sp),npe=QB(Vu),upe=QB(Im),ape=QB(DB),ipe=QB(pi),cpe=QB(\"ObjectTypeIndexer\"),fpe=QB(Vu),ope=QB(Im),spe=QB(\"ObjectTypeCallProperty\"),lpe=QB(Im),vpe=QB(rr),Dpe=QB(Vu),ppe=QB(Dv),bpe=QB(pi),Fpe=QB(\"ObjectTypeInternalSlot\"),mpe=QB(AE),dpe=QB(Dp),Epe=QB(\"InterfaceTypeAnnotation\"),kpe=QB(\"elementType\"),hpe=QB(\"ArrayTypeAnnotation\"),ype=QB(pi),Cpe=QB(\"qualification\"),wpe=QB(\"QualifiedTypeIdentifier\"),Ape=QB(Ta),_pe=QB(pi),gpe=QB(\"GenericTypeAnnotation\"),Bpe=QB(j_),Spe=QB(\"UnionTypeAnnotation\"),xpe=QB(j_),Tpe=QB(\"IntersectionTypeAnnotation\"),Ipe=QB(QC),Npe=QB(\"TypeofTypeAnnotation\"),Ope=QB(j_),Lpe=QB(\"TupleTypeAnnotation\"),Ppe=QB(ge),Rpe=QB(Im),Mpe=QB(\"StringLiteralTypeAnnotation\"),jpe=QB(ge),Upe=QB(Im),Xpe=QB(\"NumberLiteralTypeAnnotation\"),Gpe=QB(ge),Jpe=QB(Im),qpe=QB(\"BigIntLiteralTypeAnnotation\"),zpe=QB(kh),Wpe=QB(Pa),Vpe=QB(ge),$pe=QB(Im),Ype=QB(\"BooleanLiteralTypeAnnotation\"),Hpe=QB(\"ExistsTypeAnnotation\"),Kpe=QB(ZD),Qpe=QB(\"TypeAnnotation\"),Zpe=QB(w),rbe=QB(\"TypeParameterDeclaration\"),ebe=QB(JC),tbe=QB(Sp),nbe=QB(Bn),ube=QB(Wl),abe=QB(\"TypeParameter\"),ibe=QB(w),cbe=QB(ps),fbe=QB(w),obe=QB(ps),sbe=QB(ii),lbe=QB(i),vbe=QB(\"closingElement\"),Dbe=QB(\"openingElement\"),pbe=QB(\"JSXElement\"),bbe=QB(\"closingFragment\"),Fbe=QB(i),mbe=QB(\"openingFragment\"),dbe=QB(\"JSXFragment\"),Ebe=QB(\"selfClosing\"),kbe=QB(zh),hbe=QB(Wl),ybe=QB(\"JSXOpeningElement\"),Cbe=QB(\"JSXOpeningFragment\"),wbe=QB(Wl),Abe=QB(\"JSXClosingElement\"),_be=QB(\"JSXClosingFragment\"),gbe=QB(Im),Bbe=QB(Wl),Sbe=QB(\"JSXAttribute\"),xbe=QB(QC),Tbe=QB(\"JSXSpreadAttribute\"),Ibe=QB(\"JSXEmptyExpression\"),Nbe=QB(Et),Obe=QB(\"JSXExpressionContainer\"),Lbe=QB(Et),Pbe=QB(\"JSXSpreadChild\"),Rbe=QB(ge),Mbe=QB(Im),jbe=QB(\"JSXText\"),Ube=QB(rA),Xbe=QB(Oc),Gbe=QB(\"JSXMemberExpression\"),Jbe=QB(Wl),qbe=QB(\"namespace\"),zbe=QB(\"JSXNamespacedName\"),Wbe=QB(Wl),Vbe=QB(\"JSXIdentifier\"),$be=QB(Yt),Ybe=QB(Xs),Hbe=QB(\"ExportSpecifier\"),Kbe=QB(Xs),Qbe=QB(\"ImportDefaultSpecifier\"),Zbe=QB(Xs),rFe=QB(\"ImportNamespaceSpecifier\"),eFe=QB(vp),tFe=QB(Xs),nFe=QB(\"imported\"),uFe=QB(\"ImportSpecifier\"),aFe=QB(\"Line\"),iFe=QB(\"Block\"),cFe=QB(Im),fFe=QB(Im),oFe=QB(\"DeclaredPredicate\"),sFe=QB(\"InferredPredicate\"),lFe=QB(Xu),vFe=QB(kF),DFe=QB(tv),pFe=QB(oi),bFe=QB(rA),FFe=QB(Oc),mFe=QB(\"message\"),dFe=QB(Sv),EFe=QB(\"end\"),kFe=QB(T),hFe=QB(fg),yFe=QB(kt),CFe=QB(qu),wFe=QB(ws),AFe=QB(Ud),_Fe=QB(Rf),gFe=QB(to),BFe=QB(Kt),SFe=QB(gF),xFe=QB(cF),TFe=QB(ur),IFe=QB(ne),NFe=QB(ib),OFe=QB(e_),LFe=QB(Gs),PFe=QB(Ia),RFe=QB(rs),MFe=QB(Wm),jFe=QB(Pa),UFe=QB(kh),XFe=QB(Pc),GFe=QB(pC),JFe=QB(hy),qFe=QB(TD),zFe=QB(JC),WFe=QB(Nr),VFe=QB(hv),$Fe=QB(dg),YFe=QB(gD),HFe=QB(Dp),KFe=QB(Vu),QFe=QB(wu),ZFe=QB(js),rme=QB(Vk),eme=QB(Cf),tme=QB(Ko),nme=QB(Nf),ume=QB(HF),ame=QB(Rh),ime=QB(jf),cme=QB(Fe),fme=QB(NC),ome=QB(Mr),sme=QB(se),lme=QB(By),vme=QB(CC),Dme=QB(tb),pme=QB(Ui),bme=QB(Ke),Fme=QB(Vr),mme=QB(Pt),dme=QB(\"of\"),Eme=QB(uC),kme=QB(tf),hme=QB(Oh),yme=QB(Wv),Cme=QB(dd),wme=QB(ms),Ame=QB(Nd),_me=QB(eh),gme=QB(Ko),Bme=QB(ga),Sme=QB(Ft),xme=QB(GC),Tme=[0,QB(ud)],Ime=QB(qC),Nme=[8,0],Ome=[0,0],Lme=[0,1],Pme=[0,2],Rme=[0,3],Mme=[0,0],jme=QB(qC),Ume=[0,0,0,0,0],Xme=[0,QB(ke),811,6],Gme=[0,QB(ke),814,6],Jme=[0,QB(ke),917,8],qme=QB(ck),zme=[0,QB(ke),934,8],Wme=QB(\"Can not have both `static` and `proto`\"),Vme=QB(Vu),$me=QB(ck),Yme=QB(qt),Hme=QB(uu),Kme=QB(qt),Qme=[0,0,0,0],Zme=QB(Zp),rde=QB(xi),ede=[0,[0,0,0,0,0]],tde=QB(cF),nde=[0,0],ude=[0,QB(ke),138,15],ade=[0,QB(ke),sE,15],ide=[0,42],cde=[0,42],fde=[0,0,0],ode=[0,0,0],sde=[0,0,0],lde=[0,40],vde=QB(fs),Dde=QB(fs),pde=[0,QB(tn),1495,13],bde=[0,QB(tn),1261,17],Fde=[0,QB(\"a template literal part\")],mde=[0,[0,QB(qC),QB(qC)],1],dde=QB(Wm),Ede=QB(Wm),kde=QB(kh),hde=QB(Pa),yde=QB(\"Invalid bigint \"),Cde=QB(\"Invalid bigint binary/octal \"),wde=QB(ob),Ade=QB(yf),_de=QB(lu),gde=QB(lu),Bde=QB(gr),Sde=[0,42],xde=[0,1],Tde=[0,1],Ide=[0,1],Nde=[0,1],Ode=[0,0],Lde=QB(ii),Pde=QB(ii),Rde=QB(js),Mde=QB(ub),jde=[0,QB(\"the identifier `target`\")],Ude=[0,0],Xde=[0,80],Gde=[0,0,0],Jde=[0,1,0],qde=[0,1,1],zde=QB(jf),Wde=[0,0],Vde=[0,QB(\"either a call or access of `super`\")],$de=QB(jf),Yde=[0,0],Hde=[0,1],Kde=[0,0],Qde=[0,1],Zde=[0,0],rEe=[0,1],eEe=[0,0],tEe=[0,2],nEe=[0,3],uEe=[0,7],aEe=[0,6],iEe=[0,4],cEe=[0,5],fEe=[0,[0,17,[0,2]]],oEe=[0,[0,18,[0,3]]],sEe=[0,[0,19,[0,4]]],lEe=[0,[0,0,[0,5]]],vEe=[0,[0,1,[0,5]]],DEe=[0,[0,2,[0,5]]],pEe=[0,[0,3,[0,5]]],bEe=[0,[0,5,[0,6]]],FEe=[0,[0,7,[0,6]]],mEe=[0,[0,4,[0,6]]],dEe=[0,[0,6,[0,6]]],EEe=[0,[0,8,[0,7]]],kEe=[0,[0,9,[0,7]]],hEe=[0,[0,10,[0,7]]],yEe=[0,[0,11,[0,8]]],CEe=[0,[0,12,[0,8]]],wEe=[0,[0,15,[0,9]]],AEe=[0,[0,13,[0,9]]],_Ee=[0,[0,14,[1,10]]],gEe=[0,[0,16,[0,9]]],BEe=[0,[0,21,[0,6]]],SEe=[0,[0,20,[0,6]]],xEe=[23,QB(a)],TEe=[0,[0,8]],IEe=[0,[0,7]],NEe=[0,[0,6]],OEe=[0,[0,10]],LEe=[0,[0,9]],PEe=[0,[0,11]],REe=[0,[0,5]],MEe=[0,[0,4]],jEe=[0,[0,2]],UEe=[0,[0,3]],XEe=[0,[0,1]],GEe=[0,[0,0]],JEe=[0,0],qEe=QB(js),zEe=QB(ub),WEe=[0,5],VEe=QB(uC),$Ee=QB(js),YEe=QB(ub),HEe=QB(fh),KEe=QB(ZF),QEe=[17,QB(\"JSX fragment\")],ZEe=QB(qC),rke=[0,QB(qC)],eke=[0,QB(ud)],tke=QB(qC),nke=QB(\"unexpected PrivateName in Property, expected a PrivateField\"),uke=[0,0,0],ake=QB(Zp),ike=QB(Zp),cke=QB(qt),fke=QB(uu),oke=[0,1],ske=[0,1],lke=[0,1],vke=QB(Zp),Dke=QB(Zp),pke=QB(xi),bke=QB(qt),Fke=QB(uu),mke=QB(\"=\"),dke=QB(tb),Eke=QB(tf),kke=QB(\"Internal Error: private name found in object props\"),hke=QB(nB),yke=[0,QB(ud)],Cke=QB(tb),wke=QB(tf),Ake=QB(tb),_ke=QB(tf),gke=QB(nB),Bke=[11,QB(Qg)],Ske=[0,1],xke=QB(dh),Tke=QB(vE),Ike=[0,QB(Xb),1714,21],Nke=QB(dh),Oke=QB(JC),Lke=QB(\"other than an interface declaration!\"),Pke=QB(\"Internal Flow Error! Parsed `export interface` into something \"),Rke=QB(vE),Mke=QB(\"Internal Flow Error! Unexpected export statement declaration!\"),jke=[0,39],Uke=QB(dh),Xke=QB(vE),Gke=[0,QB(qC),QB(qC),0],Jke=[0,QB(It)],qke=QB(te),zke=QB(\"exports\"),Wke=[0,1],Vke=QB(te),$ke=[0,1],Yke=QB(ot),Hke=[0,0],Kke=[0,1],Qke=QB(vE),Zke=QB(dh),rhe=[0,81],ehe=[0,81],the=[0,0],nhe=[0,1],uhe=QB(dh),ahe=QB(dh),ihe=QB(dh),che=QB(vE),fhe=[0,QB(qC),QB(qC),0],ohe=[0,QB(It)],she=QB(\"Parser error: No such thing as an expression pattern!\"),lhe=[0,QB(M)],vhe=QB(\"Label\"),Dhe=[0,QB(M)],phe=[0,0,0],bhe=[0,29],Fhe=[0,QB(Xb),419,22],mhe=[0,28],dhe=[0,QB(Xb),438,22],Ehe=[0,0],khe=QB(\"the token `;`\"),hhe=[0,0],yhe=[0,0],Che=QB(tf),whe=QB(rs),Ahe=QB(tb),_he=[0,QB(_u)],ghe=[15,[0,0]],Bhe=[0,QB(_u)],She=QB(\"use strict\"),xhe=[0,0,0],The=QB(\"\\n\"),Ihe=QB(\"Nooo: \"),Nhe=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],Ohe=[0,QB(\"src/parser/parser_flow.ml\"),42,28],Lhe=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],Phe=QB(Im),Rhe=QB(hA),Mhe=QB(kt),jhe=QB(qu),Uhe=QB(\"end\"),Xhe=QB(kt),Ghe=QB(qu),Jhe=QB(T),qhe=QB(Sv),zhe=QB(\"normal\"),Whe=QB(Vr),Vhe=QB(\"jsxTag\"),$he=QB(\"jsxChild\"),Yhe=QB(\"template\"),Hhe=QB(cv),Khe=QB(\"context\"),Qhe=QB(Vr),Zhe=QB(\"Internal error: \");function rye(r){if(\"number\"==typeof r)return 0;switch(r[0]){case 0:return[0,rye(r[1])];case 1:return[1,rye(r[1])];case 2:return[2,rye(r[1])];case 3:return[3,rye(r[1])];case 4:return[4,rye(r[1])];case 5:return[5,rye(r[1])];case 6:return[6,rye(r[1])];case 7:return[7,rye(r[1])];case 8:return[8,r[1],rye(r[2])];case 9:var e=r[1];return[9,e,e,rye(r[3])];case 10:return[10,rye(r[1])];case 11:return[11,rye(r[1])];case 12:return[12,rye(r[1])];case 13:return[13,rye(r[1])];default:return[14,rye(r[1])]}}function eye(r,e){if(\"number\"==typeof r)return e;switch(r[0]){case 0:return[0,eye(r[1],e)];case 1:return[1,eye(r[1],e)];case 2:return[2,eye(r[1],e)];case 3:return[3,eye(r[1],e)];case 4:return[4,eye(r[1],e)];case 5:return[5,eye(r[1],e)];case 6:return[6,eye(r[1],e)];case 7:return[7,eye(r[1],e)];case 8:return[8,r[1],eye(r[2],e)];case 9:var t=r[2];return[9,r[1],t,eye(r[3],e)];case 10:return[10,eye(r[1],e)];case 11:return[11,eye(r[1],e)];case 12:return[12,eye(r[1],e)];case 13:return[13,eye(r[1],e)];default:return[14,eye(r[1],e)]}}function tye(r,e){if(\"number\"==typeof r)return e;switch(r[0]){case 0:return[0,tye(r[1],e)];case 1:return[1,tye(r[1],e)];case 2:return[2,r[1],tye(r[2],e)];case 3:return[3,r[1],tye(r[2],e)];case 4:var t=r[3],n=r[2];return[4,r[1],n,t,tye(r[4],e)];case 5:var u=r[3],a=r[2];return[5,r[1],a,u,tye(r[4],e)];case 6:var i=r[3],c=r[2];return[6,r[1],c,i,tye(r[4],e)];case 7:var f=r[3],o=r[2];return[7,r[1],o,f,tye(r[4],e)];case 8:var s=r[3],l=r[2];return[8,r[1],l,s,tye(r[4],e)];case 9:return[9,r[1],tye(r[2],e)];case 10:return[10,tye(r[1],e)];case 11:return[11,r[1],tye(r[2],e)];case 12:return[12,r[1],tye(r[2],e)];case 13:var v=r[2];return[13,r[1],v,tye(r[3],e)];case 14:var D=r[2];return[14,r[1],D,tye(r[3],e)];case 15:return[15,tye(r[1],e)];case 16:return[16,tye(r[1],e)];case 17:return[17,r[1],tye(r[2],e)];case 18:return[18,r[1],tye(r[2],e)];case 19:return[19,tye(r[1],e)];case 20:var p=r[2];return[20,r[1],p,tye(r[3],e)];case 21:return[21,r[1],tye(r[2],e)];case 22:return[22,tye(r[1],e)];case 23:return[23,r[1],tye(r[2],e)];default:var b=r[2];return[24,r[1],b,tye(r[3],e)]}}function nye(r){throw[0,Ox,r]}function uye(r){throw[0,Lx,r]}function aye(r){return 0<=r?r:0|-r}yS();function iye(r,e){var t=RS(r),n=RS(e),u=vS(t+n|0);return WB(r,0,u,0,t),WB(e,0,u,t,n),u}function cye(r){return r?rT:eT}function fye(r,e){return r?[0,r[1],fye(r[2],e)]:e}!function(r){var e=UB.fds[r];e.flags.wronly&&rx(\"fd \"+r+\" is writeonly\");var t={file:e.file,offset:e.offset,fd:r,opened:!0,out:!1,refill:null};ex[t.fd]=t}(0);var oye=vx(1),sye=vx(2),lye=[0,function(r){return function(r){for(var e=r;;){if(!e)return 0;var t=e[2],n=e[1];try{tx(n)}catch(e){if((e=_x(e))[1]!==Nx)throw e}e=t}}(function(){for(var r=0,e=0;e0)if(0==e&&(t>=r.l||2==r.t&&t>=r.c.length))0==n?(r.c=qC,r.t=2):(r.c=VB(t,String.fromCharCode(n)),r.t=t==r.l?0:2);else for(4!=r.t&&qB(r),t+=e;e=1;a--)t[n+a]=r[e+a];return 0}(r,e,t,n,u):uye(dT)}function Wye(r,e){var t=e.length-1-1|0;if(!(t<0))for(var n=0;;){gx(r,e[n+1]);var u=n+1|0;if(t===n)break;n=u}return 0}function Vye(r,e){var t=e.length-1;if(0===t)return[0];var n=QS(t,gx(r,e[1])),u=t-1|0;if(!(u<1))for(var a=1;;){n[a+1]=gx(r,e[a+1]);var i=a+1|0;if(u===a)break;a=i}return n}function $ye(r){if(r)for(var e=0,t=r,n=r[2],u=r[1];;)if(t)e=e+1|0,t=t[2];else for(var a=QS(e,u),i=1,c=n;;){if(!c)return a;var f=c[2];a[i+1]=c[1];i=i+1|0,c=f}return[0]}function Yye(r){function e(r){return r?r[4]:0}function t(r,e,t){var n=r?r[4]:0,u=t?t[4]:0;return[0,r,e,t,u<=n?n+1|0:u+1|0]}function n(r,n,u){var a=r?r[4]:0,i=u?u[4]:0;if((i+2|0)>1,k=Oye(E,e),h=b(E,e),y=b(r-E|0,k),C=0;;){if(h){if(y){var w=y[2],A=y[1],_=h[2],g=h[1],B=Bx(D,g,A);if(0===B){h=_,y=w,C=[0,g,C];continue}if(0>1,k=Oye(E,e),h=p(E,e),y=p(r-E|0,k),C=0;;){if(h){if(y){var w=y[2],A=y[1],_=h[2],g=h[1],B=Bx(D,g,A);if(0===B){h=_,y=w,C=[0,g,C];continue}if(0<=B){y=w,C=[0,A,C];continue}h=_,C=[0,g,C];continue}return Cye(h,C)}return Cye(y,C)}},F=kye(e),m=2<=F?p(F,e):e,d=function(r,e){if(!(3>>0))switch(r){case 0:return[0,0,e];case 1:if(e)return[0,[0,0,e[1],0,1],e[2]];break;case 2:if(e){var n=e[2];if(n)return[0,[0,[0,0,e[1],0,1],n[1],0,2],n[2]]}break;default:if(e){var u=e[2];if(u){var a=u[2];if(a)return[0,[0,[0,0,e[1],0,1],u[1],[0,0,a[1],0,1],2],a[2]]}}}var i=r/2|0,c=d(i,e),f=c[2],o=c[1];if(f){var s=f[1],l=d((r-i|0)-1|0,f[2]),v=l[2];return[0,t(o,s,l[1]),v]}throw[0,jx,wT]};return d(kye(m),m)[1]}return u(l[1],u(v,u(s,u(f,a(i)))))}return u(v,u(s,u(f,a(i))))}return u(s,u(f,a(i)))}return u(f,a(i))}return a(i)}return 0},function(e,t){for(var n=t,u=0;;){if(n){var a=n[3],i=n[2],c=n[1],f=Bx(r[1],i,e);if(0!==f){if(0<=f){n=c,u=[0,i,a,u];continue}n=a;continue}var o=[0,i,a,u]}else o=u;return function(r){return k(o)}}},function(r){var e=F(r,0);return function(r){return k(e)}},E,function(r){return E(r,0)}]}function Hye(r){function e(r){return r?r[5]:0}function t(r,t,n,u){var a=e(r),i=e(u);return[0,r,t,n,u,i<=a?a+1|0:i+1|0]}function n(r,e){return[0,0,r,e,0,1]}function u(r,n,u,a){var i=r?r[5]:0,c=a?a[5]:0;if((c+2|0)>>0?1:0:65<=u?0:1;else{if(32===u)var i=1;else if(43<=u)switch(u+-43|0){case 5:if(n<(t+2|0)&&1>>0?33<(u+nb|0)>>>0?1:0:2===u?1:0)){e=e+1|0;continue}var a=r,i=[0,0],c=ZS(a)-1|0;if(!(c<0))for(var f=0;;){var o=uS(a,f);if(32<=o){var s=o-34|0;if(58>>0)if(93<=s)var l=0,v=0;else v=1;else if(56<(s-1|0)>>>0)l=1,v=0;else v=1;if(v){var D=1;l=2}}else l=11<=o?13===o?1:0:8<=o?1:0;switch(l){case 0:D=4;break;case 1:D=2}i[1]=i[1]+D|0;var p=f+1|0;if(c===f)break;f=p}if(i[1]===ZS(a))var b=Pye(a);else{var F=vS(i[1]);i[1]=0;var m=ZS(a)-1|0;if(!(m<0))for(var d=0;;){var E=uS(a,d);if(35<=E)var k=92===E?1:zy<=E?0:2;else if(32<=E)k=34<=E?1:2;else if(14<=E)k=0;else switch(E){case 8:tS(F,i[1],92),i[1]++,tS(F,i[1],98);k=3;break;case 9:tS(F,i[1],92),i[1]++,tS(F,i[1],cm);k=3;break;case 10:tS(F,i[1],92),i[1]++,tS(F,i[1],Ve);k=3;break;case 13:tS(F,i[1],92),i[1]++,tS(F,i[1],vi);k=3;break;default:k=0}switch(k){case 0:tS(F,i[1],92),i[1]++,tS(F,i[1],48+(E/Fu|0)|0),i[1]++,tS(F,i[1],48+((E/10|0)%10|0)|0),i[1]++,tS(F,i[1],48+(E%10|0)|0);break;case 1:tS(F,i[1],92),i[1]++,tS(F,i[1],E);break;case 2:tS(F,i[1],E)}i[1]++;var h=d+1|0;if(m===d)break;d=h}b=F}n=b}var y=RS(n),C=Lye(y+2|0,34);return WB(n,0,C,1,y),C}}function kCe(r,e){switch(r){case 0:var t=gN;break;case 1:t=BN;break;case 2:t=SN;break;case 3:t=xN;break;case 4:t=TN;break;case 5:t=IN;break;case 6:t=NN;break;case 7:t=ON;break;case 8:t=LN;break;case 9:t=PN;break;case 10:t=RN;break;case 11:t=MN;break;default:t=jN}return kS(t,e)}function hCe(r,e){switch(r){case 0:var t=eN;break;case 1:t=tN;break;case 2:t=nN;break;case 3:t=uN;break;case 4:t=aN;break;case 5:t=iN;break;case 6:t=cN;break;case 7:t=fN;break;case 8:t=oN;break;case 9:t=sN;break;case 10:t=lN;break;case 11:t=vN;break;default:t=DN}return kS(t,e)}function yCe(r,e){switch(r){case 0:var t=GI;break;case 1:t=JI;break;case 2:t=qI;break;case 3:t=zI;break;case 4:t=WI;break;case 5:t=VI;break;case 6:t=$I;break;case 7:t=YI;break;case 8:t=HI;break;case 9:t=KI;break;case 10:t=QI;break;case 11:t=ZI;break;default:t=rN}return kS(t,e)}function CCe(r,e){switch(r){case 0:var t=pN;break;case 1:t=bN;break;case 2:t=FN;break;case 3:t=mN;break;case 4:t=dN;break;case 5:t=EN;break;case 6:t=kN;break;case 7:t=hN;break;case 8:t=yN;break;case 9:t=CN;break;case 10:t=wN;break;case 11:t=AN;break;default:t=_N}return function(r,e){var t=mS(r);t.signedconv&&function(r){return r[3]<<16<0}(e)&&(t.sign=-1,e=PS(e));var n=qC,u=BS(t.base);do{var a=OS(e,u);e=a[1],n=\"0123456789abcdef\".charAt(LS(a[2]))+n}while(!gS(e));if(t.prec>=0){t.filler=GD;var i=t.prec-n.length;i>0&&(n=VB(i,uc)+n)}return dS(t,n)}(t,e)}function wCe(r,e,t){if(16<=r){if(17<=r)switch(r+-17|0){case 2:var n=0;break;case 0:case 3:var u=43;n=1;break;default:u=32,n=1}else n=0;if(!n)u=45;var a=function(r,e,t){if(!isFinite(r))return isNaN(r)?_S(us):_S(r>0?oe:\"-infinity\");var n=0==r&&1/r==-1/0?1:r>=0?0:1;n&&(r=-r);var u=0;if(0==r);else if(r<1)for(;r<1&&u>-1022;)r*=2,u--;else for(;r>=2;)r/=2,u++;var a=u<0?qC:bw,i=qC;if(n)i=eC;else switch(t){case 43:i=bw;break;case 32:i=GD}if(e>=0&&e<13){var c=Math.pow(2,4*e);r=Math.round(r*c)/c}var f=r.toString(16);if(e>=0){var o=f.indexOf(ZF);if(o<0)f+=ZF+VB(e,uc);else{var s=o+1+e;f.length=22250738585072014e-324?0:0!=r?1:2:isNaN(r)?4:3}(t),E=RS(m);if(3===d)return t<0?jI:UI;if(4<=d)return RI;for(var k=0;;){if(k===E)var h=0;else{var y=kx(m,k)+OC|0;if(!(23>>0?55===y?1:0:21<(y-1|0)>>>0?1:0)){k=k+1|0;continue}h=1}return h?m:iye(m,MI)}}return m}function ACe(r,e,t,n,u,a,i,c){if(\"number\"==typeof u){if(\"number\"==typeof a)return 0===a?function(u){return TCe(r,e,[4,t,Bx(i,c,u)],n)}:function(u,a){return TCe(r,e,[4,t,dCe(u,Bx(i,c,a))],n)};var f=a[1];return function(u){return TCe(r,e,[4,t,dCe(f,Bx(i,c,u))],n)}}if(0===u[0]){var o=u[2],s=u[1];if(\"number\"==typeof a)return 0===a?function(u){return TCe(r,e,[4,t,mCe(s,o,Bx(i,c,u))],n)}:function(u,a){return TCe(r,e,[4,t,mCe(s,o,dCe(u,Bx(i,c,a)))],n)};var l=a[1];return function(u){return TCe(r,e,[4,t,mCe(s,o,dCe(l,Bx(i,c,u)))],n)}}var v=u[1];if(\"number\"==typeof a)return 0===a?function(u,a){return TCe(r,e,[4,t,mCe(v,u,Bx(i,c,a))],n)}:function(u,a,f){return TCe(r,e,[4,t,mCe(v,u,dCe(a,Bx(i,c,f)))],n)};var D=a[1];return function(u,a){return TCe(r,e,[4,t,mCe(v,u,dCe(D,Bx(i,c,a)))],n)}}function _Ce(r,e,t,n,u,a){if(\"number\"==typeof u)return function(u){return TCe(r,e,[4,t,gx(a,u)],n)};if(0===u[0]){var i=u[2],c=u[1];return function(u){return TCe(r,e,[4,t,mCe(c,i,gx(a,u))],n)}}var f=u[1];return function(u,i){return TCe(r,e,[4,t,mCe(f,u,gx(a,i))],n)}}function gCe(r,e,t,n,u){for(var a=e,i=n,c=u;;){if(\"number\"==typeof c)return Bx(a,t,i);switch(c[0]){case 0:var f=c[1];return function(r){return TCe(a,t,[5,i,r],f)};case 1:var o=c[1];return function(r){if(40<=r)if(92===r)var e=tT,n=2;else n=zy<=r?0:1;else if(32<=r)if(39<=r)e=nT,n=2;else n=1;else if(14<=r)n=0;else switch(r){case 8:e=uT,n=2;break;case 9:e=aT,n=2;break;case 10:e=iT,n=2;break;case 13:e=cT,n=2;break;default:n=0}switch(n){case 0:var u=vS(4);tS(u,0,92),tS(u,1,48+(r/Fu|0)|0),tS(u,2,48+((r/10|0)%10|0)|0),tS(u,3,48+(r%10|0)|0);e=u;break;case 1:var c=vS(1);tS(c,0,r);e=c}var f=RS(e),s=Lye(f+2|0,39);return WB(e,0,s,1,f),TCe(a,t,[4,i,s],o)};case 2:var s=c[2],l=c[1];return _Ce(a,t,i,s,l,(function(r){return r}));case 3:return _Ce(a,t,i,c[2],c[1],ECe);case 4:return ACe(a,t,i,c[4],c[2],c[3],kCe,c[1]);case 5:return ACe(a,t,i,c[4],c[2],c[3],hCe,c[1]);case 6:return ACe(a,t,i,c[4],c[2],c[3],yCe,c[1]);case 7:return ACe(a,t,i,c[4],c[2],c[3],CCe,c[1]);case 8:var v=c[4],D=c[3],p=c[2],b=c[1];if(\"number\"==typeof p){if(\"number\"==typeof D)return 0===D?function(r){return TCe(a,t,[4,i,wCe(b,-6,r)],v)}:function(r,e){return TCe(a,t,[4,i,wCe(b,r,e)],v)};var F=D[1];return function(r){return TCe(a,t,[4,i,wCe(b,F,r)],v)}}if(0===p[0]){var m=p[2],d=p[1];if(\"number\"==typeof D)return 0===D?function(r){return TCe(a,t,[4,i,mCe(d,m,wCe(b,-6,r))],v)}:function(r,e){return TCe(a,t,[4,i,mCe(d,m,wCe(b,r,e))],v)};var E=D[1];return function(r){return TCe(a,t,[4,i,mCe(d,m,wCe(b,E,r))],v)}}var k=p[1];if(\"number\"==typeof D)return 0===D?function(r,e){return TCe(a,t,[4,i,mCe(k,r,wCe(b,-6,e))],v)}:function(r,e,n){return TCe(a,t,[4,i,mCe(k,r,wCe(b,e,n))],v)};var h=D[1];return function(r,e){return TCe(a,t,[4,i,mCe(k,r,wCe(b,h,e))],v)};case 9:return _Ce(a,t,i,c[2],c[1],cye);case 10:i=[7,i],c=c[1];continue;case 11:i=[2,i,c[1]],c=c[2];continue;case 12:i=[3,i,c[1]],c=c[2];continue;case 13:var y=c[3],C=c[2],w=tCe(16);cCe(w,C);var A=iCe(w);return function(r){return TCe(a,t,[4,i,A],y)};case 14:var _=c[3],g=c[2];return function(r){var e=bCe(r[1],rye(fCe(g)));if(\"number\"==typeof e[2])return TCe(a,t,i,tye(e[1],_));throw lCe};case 15:var B=c[1];return function(r,e){return TCe(a,t,[6,i,function(t){return Bx(r,t,e)}],B)};case 16:var S=c[1];return function(r){return TCe(a,t,[6,i,r],S)};case 17:i=[0,i,c[1]],c=c[2];continue;case 18:var x=c[1];if(0===x[0]){var T=c[2],I=x[1][1];a=function(r,e,t){return function(n,u){return TCe(e,n,[1,r,[0,u]],t)}}(i,a,T),i=0,c=I;continue}var N=c[2],O=x[1][1];a=function(r,e,t){return function(n,u){return TCe(e,n,[1,r,[1,u]],t)}}(i,a,N),i=0,c=O;continue;case 19:throw[0,jx,kI];case 20:var L=c[3],P=[8,i,hI];return function(r){return TCe(a,t,P,L)};case 21:var R=c[2];return function(r){return TCe(a,t,[4,i,kS(EI,r)],R)};case 22:var M=c[1];return function(r){return TCe(a,t,[5,i,r],M)};case 23:var j=c[2],U=c[1];if(\"number\"==typeof U)switch(U){case 0:case 1:return r<50?SCe(r+1|0,a,t,i,j):wx(SCe,[0,a,t,i,j]);case 2:throw[0,jx,yI];default:return r<50?SCe(r+1|0,a,t,i,j):wx(SCe,[0,a,t,i,j])}else switch(U[0]){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:return r<50?SCe(r+1|0,a,t,i,j):wx(SCe,[0,a,t,i,j]);case 9:var X=U[2];return r<50?BCe(r+1|0,a,t,i,X,j):wx(BCe,[0,a,t,i,X,j]);case 10:default:return r<50?SCe(r+1|0,a,t,i,j):wx(SCe,[0,a,t,i,j])}default:var G=c[3],J=c[1],q=gx(c[2],0);return r<50?xCe(r+1|0,a,t,i,G,J,q):wx(xCe,[0,a,t,i,G,J,q])}}}function BCe(r,e,t,n,u,a){if(\"number\"==typeof u)return r<50?SCe(r+1|0,e,t,n,a):wx(SCe,[0,e,t,n,a]);switch(u[0]){case 0:var i=u[1];return function(r){return ICe(e,t,n,i,a)};case 1:var c=u[1];return function(r){return ICe(e,t,n,c,a)};case 2:var f=u[1];return function(r){return ICe(e,t,n,f,a)};case 3:var o=u[1];return function(r){return ICe(e,t,n,o,a)};case 4:var s=u[1];return function(r){return ICe(e,t,n,s,a)};case 5:var l=u[1];return function(r){return ICe(e,t,n,l,a)};case 6:var v=u[1];return function(r){return ICe(e,t,n,v,a)};case 7:var D=u[1];return function(r){return ICe(e,t,n,D,a)};case 8:var p=u[2];return function(r){return ICe(e,t,n,p,a)};case 9:var b=u[3],F=u[2],m=sCe(fCe(u[1]),F);return function(r){return ICe(e,t,n,eye(m,b),a)};case 10:var d=u[1];return function(r,u){return ICe(e,t,n,d,a)};case 11:var E=u[1];return function(r){return ICe(e,t,n,E,a)};case 12:var k=u[1];return function(r){return ICe(e,t,n,k,a)};case 13:throw[0,jx,CI];default:throw[0,jx,wI]}}function SCe(r,e,t,n,u){var a=[8,n,AI];return r<50?gCe(r+1|0,e,t,a,u):wx(gCe,[0,e,t,a,u])}function xCe(r,e,t,n,u,a,i){if(a){var c=a[1];return function(r){return function(r,e,t,n,u,a){return Cx(xCe(0,r,e,t,n,u,a))}(e,t,n,u,c,gx(i,r))}}var f=[4,n,i];return r<50?gCe(r+1|0,e,t,f,u):wx(gCe,[0,e,t,f,u])}function TCe(r,e,t,n){return Cx(gCe(0,r,e,t,n))}function ICe(r,e,t,n,u){return Cx(BCe(0,r,e,t,n,u))}function NCe(r,e){for(var t=e;;){if(\"number\"==typeof t)return 0;switch(t[0]){case 0:var n=t[2],u=t[1];if(\"number\"==typeof n)switch(n){case 0:var a=UN;break;case 1:a=XN;break;case 2:a=GN;break;case 3:a=JN;break;case 4:a=qN;break;case 5:a=zN;break;default:a=WN}else switch(n[0]){case 0:a=n[1];break;case 1:a=n[1];break;default:a=iye(VN,Xye(1,n[1]))}return NCe(r,u),eCe(r,a);case 1:var i=t[2],c=t[1];if(0===i[0]){var f=i[1];NCe(r,c),eCe(r,_I);t=f;continue}var o=i[1];NCe(r,c),eCe(r,gI);t=o;continue;case 6:var s=t[2];return NCe(r,t[1]),eCe(r,gx(s,0));case 7:t=t[1];continue;case 8:var l=t[2];return NCe(r,t[1]),uye(l);case 2:case 4:var v=t[2];return NCe(r,t[1]),eCe(r,v);default:var D=t[2];return NCe(r,t[1]),rCe(r,D)}}}function OCe(r){if(Ex(r,SI))return xI;var e=RS(r);function t(e){var t=BI[1],n=Kye(256);return gx(TCe((function(r,e){return NCe(n,e),nye(Qye(n))}),0,0,t),r)}function n(t){for(var n=t;;){if(n===e)return n;var u=kx(r,n);if(9!==u&&32!==u)return n;n=n+1|0}}var u=n(0),a=function(t,n){for(var u=n;;){if(u===e)return u;if(25<(kx(r,u)+-97|0)>>>0)return u;u=u+1|0}}(0,u),i=Gye(r,u,a-u|0),c=n(a),f=function(t,n){for(var u=n;;){if(u===e)return u;var a=kx(r,u);if(!(48<=a?58<=a?0:1:45===a?1:0))return u;u=u+1|0}}(0,c);if(c===f)var o=0;else try{o=VS(Gye(r,c,f-c|0))}catch(r){if((r=_x(r))[1]!==Ox)throw r;o=t()}if(n(f)!==e&&t(),hx(i,TI))if(hx(i,II))if(hx(i,NI))if(hx(i,OI))if(hx(i,LI))if(hx(i,PI))var s=t(),l=1;else s=1,l=1;else s=2,l=1;else s=3,l=1;else s=0,l=1;else l=0;else l=0;if(!l)s=4;return[0,o,s]}function LCe(r){return TCe((function(r,e){var t=Kye(64);return NCe(t,e),Qye(t)}),0,0,r[1])}var PCe=[0,0];function RCe(r,e){var t=r[e+1];if(1-(\"number\"==typeof t?1:0)){if(252===Fx(t))return gx(LCe(cO),t);if(253===Fx(t))for(var n=ES(Qx,t),u=0,a=RS(n);;){if(a<=u)return iye(n,Zx);var i=kx(n,u);if(!(48<=i?58<=i?0:1:45===i?1:0))return n;u=u+1|0}return fO}return gx(LCe(iO),t)}function MCe(r,e){if(r.length-1<=e)return YN;var t=MCe(r,e+1|0),n=RCe(r,e);return Bx(LCe(HN),n,t)}function jCe(r){var e=r.length-1;if(2>>0){var t=MCe(r,2),n=RCe(r,1);return Bx(LCe(tO),n,t)}switch(e){case 0:return nO;case 1:return uO;default:var u=RCe(r,1);return gx(LCe(aO),u)}}function UCe(r){return PCe[1]=[0,r,PCe[1]],0}function XCe(r,e){var t=[0,r,0],n=e[1];return n?(e[1]=t,n[2]=t,0):(e[1]=t,e[2]=t,0)}var GCe=[bc,FO,yS()];function JCe(r){var e=r[2];if(e){var t=e[2],n=e[1];return r[2]=t,0===t&&(r[1]=0),n}throw GCe}function qCe(r,e){return r[13]=r[13]+e[3]|0,XCe(e,r[28])}var zCe=1000000010;function WCe(r,e){return Sx(r[17],e,0,RS(e))}function VCe(r){return gx(r[19],0)}function $Ce(r,e,t){VCe(r),r[11]=1;var n=(r[6]-t|0)+e|0,u=r[8],a=function(r,e){return+(sS(r,e,!1)<=0)}(u,n)?u:n;return r[10]=a,r[9]=r[6]-r[10]|0,gx(r[21],r[10])}function YCe(r,e){return $Ce(r,0,e)}function HCe(r,e){return r[9]=r[9]-e|0,gx(r[20],e)}function KCe(r,e,t){if(\"number\"==typeof t)switch(t){case 0:var n=r[3];if(n){var u=n[1][1],a=function(r,e){if(e){var t=e[1],n=e[2];return function(r,e){return+(sS(r,e,!1)<0)}(r,t)?[0,r,e]:[0,t,a(r,n)]}return[0,r,0]};return u[1]=a(r[6]-r[9]|0,u[1]),0}return 0;case 1:var i=r[2];return i?(r[2]=i[2],0):0;case 2:var c=r[3];return c?(r[3]=c[2],0):0;case 3:var f=r[2];return f?YCe(r,f[1][2]):VCe(r);case 4:var o=r[10]!==(r[6]-r[9]|0)?1:0;return o?function(r){var e=JCe(r[28]),t=e[1];return r[12]=r[12]-e[3]|0,r[9]=r[9]+t|0,0}(r):o;default:var s=r[5];if(s){var l=s[2];return WCe(r,gx(r[25],s[1])),r[5]=l,0}return 0}else switch(t[0]){case 0:var v=t[1];return r[9]=r[9]-e|0,WCe(r,v),r[11]=0,0;case 1:var D=t[2],p=t[1],b=r[2];if(b){var F=b[1],m=F[2];switch(F[1]){case 0:return HCe(r,p);case 1:case 2:return $Ce(r,D,m);case 3:return r[9]>>6|0)?1:0;if(p)var b=p;else b=(2!=(v>>>6|0)?1:0)||(2!=(D>>>6|0)?1:0);if(b)throw nAe;var F=(7&f)<<18|(63&s)<<12|(63&v)<<6|63&D;o=1}else if(eo<=f){var m=kx(r,a+1|0),d=kx(r,a+2|0);if((2!=(m>>>6|0)?1:0)||(2!=(d>>>6|0)?1:0))throw nAe;var E=(15&f)<<12|(63&m)<<6|63&d,k=55296<=E?1:0;if(k?E<=57088?1:0:k)throw nAe;F=E,o=1}else{var h=kx(r,a+1|0);if(2!=(h>>>6|0))throw nAe;F=(31&f)<<6|63&h,o=1}else if(S<=f)o=0;else F=f,o=1;if(o){iS(u,i)[i+1]=F;var y=kx(r,a);a=a+iS(bAe,y)[y+1]|0,i=i+1|0,c=c-1|0;continue}throw nAe}return aAe(u)}throw nAe}var C=kx(r,n),w=iS(bAe,C)[C+1];if(!(0>>18|0)),rCe(a,Dye(S|63&(f>>>12|0))),rCe(a,Dye(S|63&(f>>>6|0))),rCe(a,Dye(S|63&f))}else{var o=55296<=f?1:0;if(o?f<57344?1:0:o)throw nAe;rCe(a,Dye(eo|f>>>12|0)),rCe(a,Dye(S|63&(f>>>6|0))),rCe(a,Dye(S|63&f))}else rCe(a,Dye(l|f>>>6|0)),rCe(a,Dye(S|63&f));else rCe(a,Dye(f));i=i+1|0,c=c-1|0}},_Ae=function(r){return AAe(r,0,r[5]-r[8]|0)},gAe=function(r,e){function t(e){return rCe(r,e)}return 65536<=e?(t(Zy|e>>>18|0),t(S|63&(e>>>12|0)),t(S|63&(e>>>6|0)),t(S|63&e)):2048<=e?(t(eo|e>>>12|0),t(S|63&(e>>>6|0)),t(S|63&e)):S<=e?(t(l|e>>>6|0),t(S|63&e)):t(e)},BAe=r,SAe=null,xAe=void 0,TAe=function(r){return r!==xAe?1:0},IAe=BAe.Array,NAe=[bc,BO,yS()],OAe=BAe.Error;xwe(SO,[0,NAe,{}]);var LAe=function(r){throw r};UCe((function(r){return r[1]===NAe?[0,_S(r[2].toString())]:0})),UCe((function(r){return r instanceof IAe?0:[0,_S(r.toString())]}));var PAe=Bx(tAe,nJr,tJr),RAe=Bx(tAe,aJr,uJr),MAe=Bx(tAe,cJr,iJr),jAe=Bx(tAe,oJr,fJr),UAe=Bx(tAe,lJr,sJr),XAe=Bx(tAe,DJr,vJr),GAe=Bx(tAe,bJr,pJr),JAe=Bx(tAe,mJr,FJr),qAe=Bx(tAe,EJr,dJr),zAe=Bx(tAe,hJr,kJr),WAe=Bx(tAe,CJr,yJr),VAe=Bx(tAe,AJr,wJr),$Ae=Bx(tAe,gJr,_Jr),YAe=Bx(tAe,SJr,BJr),HAe=Bx(tAe,TJr,xJr),KAe=Bx(tAe,NJr,IJr),QAe=Bx(tAe,LJr,OJr),ZAe=Bx(tAe,RJr,PJr),r_e=function r(e,t,n,u){return r.fun(e,t,n,u)},e_e=function r(e,t,n){return r.fun(e,t,n)},t_e=Bx(tAe,jJr,MJr);XB(r_e,(function(r,e,t,n){gx(Bwe(t),jGr),Bx(Bwe(t),XGr,UGr);var u=n[1];gx(Bwe(t),GGr);Sye((function(e,n){return e&&gx(Bwe(t),MGr),Sx(KAe[1],(function(e){return gx(r,e)}),t,n),1}),0,u),gx(Bwe(t),JGr),gx(Bwe(t),qGr),gx(Bwe(t),zGr),Bx(Bwe(t),VGr,WGr);var a=n[2];gx(Bwe(t),$Gr);return Sye((function(e,n){return e&&gx(Bwe(t),RGr),Sx(KAe[1],(function(e){return gx(r,e)}),t,n),1}),0,a),gx(Bwe(t),YGr),gx(Bwe(t),HGr),gx(Bwe(t),KGr),Bx(Bwe(t),ZGr,QGr),Bx(e,t,n[3]),gx(Bwe(t),rJr),gx(Bwe(t),eJr)})),XB(e_e,(function(r,e,t){var n=Bx(r_e,r,e);return Bx(Swe(PGr),n,t)})),Sx(eAe,UJr,PAe,[0,r_e,e_e]);var n_e=function r(e,t,n,u){return r.fun(e,t,n,u)},u_e=function r(e,t,n){return r.fun(e,t,n)},a_e=function r(e,t,n){return r.fun(e,t,n)},i_e=function r(e,t){return r.fun(e,t)};XB(n_e,(function(r,e,t,n){gx(Bwe(t),NGr),Bx(e,t,n[1]),gx(Bwe(t),OGr);var u=n[2];return Sx(a_e,(function(e){return gx(r,e)}),t,u),gx(Bwe(t),LGr)})),XB(u_e,(function(r,e,t){var n=Bx(n_e,r,e);return Bx(Swe(IGr),n,t)})),XB(a_e,(function(r,e,t){gx(Bwe(e),EGr),Bx(Bwe(e),hGr,kGr);var n=t[1];Bx(Bwe(e),yGr,n),gx(Bwe(e),CGr),gx(Bwe(e),wGr),Bx(Bwe(e),_Gr,AGr);var u=t[2];if(u){lwe(e,gGr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,dGr)}),e,a),lwe(e,BGr)}else lwe(e,SGr);return gx(Bwe(e),xGr),gx(Bwe(e),TGr)})),XB(i_e,(function(r,e){var t=gx(a_e,r);return Bx(Swe(mGr),t,e)})),Sx(eAe,XJr,RAe,[0,n_e,u_e,a_e,i_e]);var c_e=function r(e,t,n){return r.fun(e,t,n)},f_e=function r(e,t){return r.fun(e,t)},o_e=function r(e,t,n){return r.fun(e,t,n)},s_e=function r(e,t){return r.fun(e,t)};XB(c_e,(function(r,e,t){gx(Bwe(e),pGr),Bx(r,e,t[1]),gx(Bwe(e),bGr);var n=t[2];return Sx(o_e,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),FGr)})),XB(f_e,(function(r,e){var t=gx(c_e,r);return Bx(Swe(DGr),t,e)})),XB(o_e,(function(r,e,t){gx(Bwe(e),eGr),Bx(Bwe(e),nGr,tGr);var n=t[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),uGr),gx(Bwe(e),aGr),Bx(Bwe(e),cGr,iGr);var u=t[2];if(u){lwe(e,fGr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,rGr)}),e,a),lwe(e,oGr)}else lwe(e,sGr);return gx(Bwe(e),lGr),gx(Bwe(e),vGr)})),XB(s_e,(function(r,e){var t=gx(o_e,r);return Bx(Swe(ZXr),t,e)})),Sx(eAe,GJr,MAe,[0,c_e,f_e,o_e,s_e]);var l_e=function(r,e){gx(Bwe(r),XXr),Bx(Bwe(r),JXr,GXr);var t=e[1];Bx(Bwe(r),qXr,t),gx(Bwe(r),zXr),gx(Bwe(r),WXr),Bx(Bwe(r),$Xr,VXr);var n=e[2];return Bx(Bwe(r),YXr,n),gx(Bwe(r),HXr),gx(Bwe(r),KXr)},v_e=[0,l_e,function(r){return Bx(Swe(QXr),l_e,r)}],D_e=function r(e,t,n){return r.fun(e,t,n)},p_e=function r(e,t){return r.fun(e,t)},b_e=function r(e,t){return r.fun(e,t)},F_e=function r(e){return r.fun(e)};XB(D_e,(function(r,e,t){gx(Bwe(e),wXr),Bx(Bwe(e),_Xr,AXr),Bx(b_e,e,t[1]),gx(Bwe(e),gXr),gx(Bwe(e),BXr),Bx(Bwe(e),xXr,SXr);var n=t[2];Bx(Bwe(e),TXr,n),gx(Bwe(e),IXr),gx(Bwe(e),NXr),Bx(Bwe(e),LXr,OXr);var u=t[3];if(u){lwe(e,PXr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,CXr)}),e,a),lwe(e,RXr)}else lwe(e,MXr);return gx(Bwe(e),jXr),gx(Bwe(e),UXr)})),XB(p_e,(function(r,e){var t=gx(D_e,r);return Bx(Swe(yXr),t,e)})),XB(b_e,(function(r,e){if(\"number\"==typeof e)return lwe(r,cXr);switch(e[0]){case 0:gx(Bwe(r),fXr);var t=e[1];return Bx(Bwe(r),oXr,t),gx(Bwe(r),sXr);case 1:gx(Bwe(r),lXr);var n=e[1];return Bx(Bwe(r),vXr,n),gx(Bwe(r),DXr);case 2:gx(Bwe(r),pXr);var u=e[1];return Bx(Bwe(r),bXr,u),gx(Bwe(r),FXr);case 3:gx(Bwe(r),mXr);var a=e[1];return Bx(Bwe(r),dXr,a),gx(Bwe(r),EXr);default:return gx(Bwe(r),kXr),Bx(v_e[1],r,e[1]),gx(Bwe(r),hXr)}})),XB(F_e,(function(r){return Bx(Swe(iXr),b_e,r)})),Sx(eAe,JJr,jAe,[0,v_e,D_e,p_e,b_e,F_e]);var m_e=function r(e,t,n){return r.fun(e,t,n)},d_e=function r(e,t){return r.fun(e,t)};XB(m_e,(function(r,e,t){gx(Bwe(e),GUr),Bx(Bwe(e),qUr,JUr);var n=t[1];Bx(Bwe(e),zUr,n),gx(Bwe(e),WUr),gx(Bwe(e),VUr),Bx(Bwe(e),YUr,$Ur);var u=t[2];Bx(Bwe(e),HUr,u),gx(Bwe(e),KUr),gx(Bwe(e),QUr),Bx(Bwe(e),rXr,ZUr);var a=t[3];if(a){lwe(e,eXr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,XUr)}),e,i),lwe(e,tXr)}else lwe(e,nXr);return gx(Bwe(e),uXr),gx(Bwe(e),aXr)})),XB(d_e,(function(r,e){var t=gx(m_e,r);return Bx(Swe(UUr),t,e)})),Sx(eAe,qJr,UAe,[0,m_e,d_e]);var E_e=function r(e,t,n){return r.fun(e,t,n)},k_e=function r(e,t){return r.fun(e,t)};XB(E_e,(function(r,e,t){gx(Bwe(e),yUr),Bx(Bwe(e),wUr,CUr);var n=t[1];Bx(Bwe(e),AUr,n),gx(Bwe(e),_Ur),gx(Bwe(e),gUr),Bx(Bwe(e),SUr,BUr);var u=t[2];Bx(Bwe(e),xUr,u),gx(Bwe(e),TUr),gx(Bwe(e),IUr),Bx(Bwe(e),OUr,NUr);var a=t[3];if(a){lwe(e,LUr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,hUr)}),e,i),lwe(e,PUr)}else lwe(e,RUr);return gx(Bwe(e),MUr),gx(Bwe(e),jUr)})),XB(k_e,(function(r,e){var t=gx(E_e,r);return Bx(Swe(kUr),t,e)})),Sx(eAe,zJr,XAe,[0,E_e,k_e]);var h_e=function r(e,t,n){return r.fun(e,t,n)},y_e=function r(e,t){return r.fun(e,t)};XB(h_e,(function(r,e,t){gx(Bwe(e),tUr),Bx(Bwe(e),uUr,nUr);var n=t[1];Bx(Bwe(e),aUr,n),gx(Bwe(e),iUr),gx(Bwe(e),cUr),Bx(Bwe(e),oUr,fUr);var u=t[2];Bx(Bwe(e),sUr,u),gx(Bwe(e),lUr),gx(Bwe(e),vUr),Bx(Bwe(e),pUr,DUr);var a=t[3];if(a){lwe(e,bUr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,eUr)}),e,i),lwe(e,FUr)}else lwe(e,mUr);return gx(Bwe(e),dUr),gx(Bwe(e),EUr)})),XB(y_e,(function(r,e){var t=gx(h_e,r);return Bx(Swe(rUr),t,e)})),Sx(eAe,WJr,GAe,[0,h_e,y_e]);var C_e=function r(e,t,n){return r.fun(e,t,n)},w_e=function r(e,t){return r.fun(e,t)};XB(C_e,(function(r,e,t){gx(Bwe(e),Xjr),Bx(Bwe(e),Jjr,Gjr);var n=t[1];Bx(Bwe(e),qjr,n),gx(Bwe(e),zjr),gx(Bwe(e),Wjr),Bx(Bwe(e),$jr,Vjr);var u=t[2];if(u){lwe(e,Yjr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ujr)}),e,a),lwe(e,Hjr)}else lwe(e,Kjr);return gx(Bwe(e),Qjr),gx(Bwe(e),Zjr)})),XB(w_e,(function(r,e){var t=gx(C_e,r);return Bx(Swe(jjr),t,e)})),Sx(eAe,VJr,JAe,[0,C_e,w_e]);var A_e=function r(e,t,n){return r.fun(e,t,n)},__e=function r(e,t){return r.fun(e,t)},g_e=function r(e,t){return r.fun(e,t)},B_e=function r(e){return r.fun(e)},S_e=function r(e,t,n){return r.fun(e,t,n)},x_e=function r(e,t){return r.fun(e,t)};XB(A_e,(function(r,e,t){gx(Bwe(e),Pjr),Bx(r,e,t[1]),gx(Bwe(e),Rjr);var n=t[2];return Sx(S_e,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),Mjr)})),XB(__e,(function(r,e){var t=gx(A_e,r);return Bx(Swe(Ljr),t,e)})),XB(g_e,(function(r,e){return lwe(r,0===e?Ojr:Njr)})),XB(B_e,(function(r){return Bx(Swe(Ijr),g_e,r)})),XB(S_e,(function(r,e,t){gx(Bwe(e),kjr),Bx(Bwe(e),yjr,hjr),Bx(g_e,e,t[1]),gx(Bwe(e),Cjr),gx(Bwe(e),wjr),Bx(Bwe(e),_jr,Ajr);var n=t[2];if(n){lwe(e,gjr);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ejr)}),e,u),lwe(e,Bjr)}else lwe(e,Sjr);return gx(Bwe(e),xjr),gx(Bwe(e),Tjr)})),XB(x_e,(function(r,e){var t=gx(S_e,r);return Bx(Swe(djr),t,e)})),Sx(eAe,$Jr,qAe,[0,A_e,__e,g_e,B_e,S_e,x_e]);var T_e=function r(e,t,n,u){return r.fun(e,t,n,u)},I_e=function r(e,t,n){return r.fun(e,t,n)},N_e=function r(e,t,n,u){return r.fun(e,t,n,u)},O_e=function r(e,t,n){return r.fun(e,t,n)};XB(T_e,(function(r,e,t,n){gx(Bwe(t),bjr),Bx(r,t,n[1]),gx(Bwe(t),Fjr);var u=n[2];return xx(zAe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),mjr)})),XB(I_e,(function(r,e,t){var n=Bx(T_e,r,e);return Bx(Swe(pjr),n,t)})),XB(N_e,(function(r,e,t,n){gx(Bwe(t),tjr),Bx(Bwe(t),ujr,njr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ajr),gx(Bwe(t),ijr),Bx(Bwe(t),fjr,cjr);var a=n[2];if(a){lwe(t,ojr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ejr)}),t,i),lwe(t,sjr)}else lwe(t,ljr);return gx(Bwe(t),vjr),gx(Bwe(t),Djr)})),XB(O_e,(function(r,e,t){var n=Bx(N_e,r,e);return Bx(Swe(rjr),n,t)})),Sx(eAe,YJr,zAe,[0,T_e,I_e,N_e,O_e]);var L_e=function r(e,t,n,u){return r.fun(e,t,n,u)},P_e=function r(e,t,n){return r.fun(e,t,n)},R_e=function r(e,t,n,u){return r.fun(e,t,n,u)},M_e=function r(e,t,n){return r.fun(e,t,n)};XB(L_e,(function(r,e,t,n){gx(Bwe(t),KMr),Bx(r,t,n[1]),gx(Bwe(t),QMr);var u=n[2];return xx(R_e,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ZMr)})),XB(P_e,(function(r,e,t){var n=Bx(L_e,r,e);return Bx(Swe(HMr),n,t)})),XB(R_e,(function(r,e,t,n){gx(Bwe(t),NMr),Bx(Bwe(t),LMr,OMr);var u=n[1];if(u){lwe(t,PMr);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,RMr)}else lwe(t,MMr);gx(Bwe(t),jMr),gx(Bwe(t),UMr),Bx(Bwe(t),GMr,XMr);var i=n[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),JMr),gx(Bwe(t),qMr),Bx(Bwe(t),WMr,zMr);var c=n[3];return Bx(Bwe(t),VMr,c),gx(Bwe(t),$Mr),gx(Bwe(t),YMr)})),XB(M_e,(function(r,e,t){var n=Bx(R_e,r,e);return Bx(Swe(IMr),n,t)}));var j_e=[0,L_e,P_e,R_e,M_e],U_e=function r(e,t,n,u){return r.fun(e,t,n,u)},X_e=function r(e,t,n){return r.fun(e,t,n)},G_e=function r(e,t,n,u){return r.fun(e,t,n,u)},J_e=function r(e,t,n){return r.fun(e,t,n)};XB(U_e,(function(r,e,t,n){gx(Bwe(t),SMr),Bx(r,t,n[1]),gx(Bwe(t),xMr);var u=n[2];return xx(G_e,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),TMr)})),XB(X_e,(function(r,e,t){var n=Bx(U_e,r,e);return Bx(Swe(BMr),n,t)})),XB(G_e,(function(r,e,t,n){gx(Bwe(t),FMr),Bx(Bwe(t),dMr,mMr);var u=n[1];xx(j_e[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),EMr),gx(Bwe(t),kMr),Bx(Bwe(t),yMr,hMr);var a=n[2];if(a){lwe(t,CMr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,bMr)}),t,i),lwe(t,wMr)}else lwe(t,AMr);return gx(Bwe(t),_Mr),gx(Bwe(t),gMr)})),XB(J_e,(function(r,e,t){var n=Bx(G_e,r,e);return Bx(Swe(pMr),n,t)}));var q_e=[0,U_e,X_e,G_e,J_e],z_e=function r(e,t,n,u){return r.fun(e,t,n,u)},W_e=function r(e,t,n){return r.fun(e,t,n)},V_e=function r(e,t,n,u){return r.fun(e,t,n,u)},$_e=function r(e,t,n){return r.fun(e,t,n)};XB(z_e,(function(r,e,t,n){gx(Bwe(t),lMr),Bx(r,t,n[1]),gx(Bwe(t),vMr);var u=n[2];return xx(V_e,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),DMr)})),XB(W_e,(function(r,e,t){var n=Bx(z_e,r,e);return Bx(Swe(sMr),n,t)})),XB(V_e,(function(r,e,t,n){gx(Bwe(t),QRr),Bx(Bwe(t),rMr,ZRr);var u=n[1];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),eMr),gx(Bwe(t),tMr),Bx(Bwe(t),uMr,nMr);var a=n[2];if(a){lwe(t,aMr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,KRr)}),t,i),lwe(t,iMr)}else lwe(t,cMr);return gx(Bwe(t),fMr),gx(Bwe(t),oMr)})),XB($_e,(function(r,e,t){var n=Bx(V_e,r,e);return Bx(Swe(HRr),n,t)}));var Y_e=[0,z_e,W_e,V_e,$_e],H_e=function r(e,t,n,u){return r.fun(e,t,n,u)},K_e=function r(e,t,n){return r.fun(e,t,n)},Q_e=function r(e,t,n,u){return r.fun(e,t,n,u)},Z_e=function r(e,t,n){return r.fun(e,t,n)};XB(H_e,(function(r,e,t,n){gx(Bwe(t),VRr),Bx(r,t,n[1]),gx(Bwe(t),$Rr);var u=n[2];return xx(Q_e,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),YRr)})),XB(K_e,(function(r,e,t){var n=Bx(H_e,r,e);return Bx(Swe(WRr),n,t)})),XB(Q_e,(function(r,e,t,n){gx(Bwe(t),dRr),Bx(Bwe(t),kRr,ERr);var u=n[1];if(u){lwe(t,hRr);var a=u[1];xx(Y_e[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,yRr)}else lwe(t,CRr);gx(Bwe(t),wRr),gx(Bwe(t),ARr),Bx(Bwe(t),gRr,_Rr);var i=n[2];gx(Bwe(t),BRr);Sye((function(n,u){return n&&gx(Bwe(t),mRr),xx(j_e[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),SRr),gx(Bwe(t),xRr),gx(Bwe(t),TRr),Bx(Bwe(t),NRr,IRr);var c=n[3];if(c){lwe(t,ORr);var f=c[1];xx(q_e[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,LRr)}else lwe(t,PRr);gx(Bwe(t),RRr),gx(Bwe(t),MRr),Bx(Bwe(t),URr,jRr);var o=n[4];if(o){lwe(t,XRr);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),bRr);return Sye((function(t,n){return t&&gx(Bwe(e),pRr),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),FRr)}),t,s),lwe(t,GRr)}else lwe(t,JRr);return gx(Bwe(t),qRr),gx(Bwe(t),zRr)})),XB(Z_e,(function(r,e,t){var n=Bx(Q_e,r,e);return Bx(Swe(DRr),n,t)}));var rge=[0,H_e,K_e,Q_e,Z_e],ege=function r(e,t,n,u){return r.fun(e,t,n,u)},tge=function r(e,t,n){return r.fun(e,t,n)};XB(ege,(function(r,e,t,n){gx(Bwe(t),qPr),Bx(Bwe(t),WPr,zPr);var u=n[1];if(u){lwe(t,VPr);var a=u[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,$Pr)}else lwe(t,YPr);gx(Bwe(t),HPr),gx(Bwe(t),KPr),Bx(Bwe(t),ZPr,QPr);var i=n[2];xx(rge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),rRr),gx(Bwe(t),eRr),Bx(Bwe(t),nRr,tRr);var c=n[3];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),uRr),gx(Bwe(t),aRr),Bx(Bwe(t),cRr,iRr);var f=n[4];if(f){lwe(t,fRr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,JPr)}),t,o),lwe(t,oRr)}else lwe(t,sRr);return gx(Bwe(t),lRr),gx(Bwe(t),vRr)})),XB(tge,(function(r,e,t){var n=Bx(ege,r,e);return Bx(Swe(GPr),n,t)}));var nge=[0,j_e,q_e,Y_e,rge,ege,tge],uge=function r(e,t,n,u){return r.fun(e,t,n,u)},age=function r(e,t,n){return r.fun(e,t,n)},ige=function r(e,t,n,u){return r.fun(e,t,n,u)},cge=function r(e,t,n){return r.fun(e,t,n)},fge=function r(e,t,n,u){return r.fun(e,t,n,u)},oge=function r(e,t,n){return r.fun(e,t,n)};XB(uge,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),MPr);var u=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),jPr)}gx(Bwe(t),UPr);var a=n[1];return xx(ige,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),XPr)})),XB(age,(function(r,e,t){var n=Bx(uge,r,e);return Bx(Swe(RPr),n,t)})),XB(ige,(function(r,e,t,n){gx(Bwe(t),OPr),Bx(r,t,n[1]),gx(Bwe(t),LPr);var u=n[2];return xx(fge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),PPr)})),XB(cge,(function(r,e,t){var n=Bx(ige,r,e);return Bx(Swe(NPr),n,t)})),XB(fge,(function(r,e,t,n){gx(Bwe(t),wPr),Bx(Bwe(t),_Pr,APr);var u=n[1];xx(uge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),gPr),gx(Bwe(t),BPr),Bx(Bwe(t),xPr,SPr);var a=n[2];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),TPr),gx(Bwe(t),IPr)})),XB(oge,(function(r,e,t){var n=Bx(fge,r,e);return Bx(Swe(CPr),n,t)}));var sge=[0,uge,age,ige,cge,fge,oge],lge=function r(e,t,n,u){return r.fun(e,t,n,u)},vge=function r(e,t,n){return r.fun(e,t,n)};XB(lge,(function(r,e,t,n){gx(Bwe(t),uPr),Bx(Bwe(t),iPr,aPr);var u=n[1];xx(sge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),cPr),gx(Bwe(t),fPr),Bx(Bwe(t),sPr,oPr);var a=n[2];if(a){lwe(t,lPr);var i=a[1];xx(WAe[21][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,vPr)}else lwe(t,DPr);gx(Bwe(t),pPr),gx(Bwe(t),bPr),Bx(Bwe(t),mPr,FPr);var c=n[3];if(c){lwe(t,dPr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,nPr)}),t,f),lwe(t,EPr)}else lwe(t,kPr);return gx(Bwe(t),hPr),gx(Bwe(t),yPr)})),XB(vge,(function(r,e,t){var n=Bx(lge,r,e);return Bx(Swe(tPr),n,t)}));var Dge=[0,sge,lge,vge],pge=function r(e,t,n,u){return r.fun(e,t,n,u)},bge=function r(e,t,n){return r.fun(e,t,n)},Fge=function r(e,t,n,u){return r.fun(e,t,n,u)},mge=function r(e,t,n){return r.fun(e,t,n)},dge=function r(e,t,n,u){return r.fun(e,t,n,u)},Ege=function r(e,t,n){return r.fun(e,t,n)};XB(pge,(function(r,e,t,n){gx(Bwe(t),ZLr),Bx(r,t,n[1]),gx(Bwe(t),rPr);var u=n[2];return xx(Fge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ePr)})),XB(bge,(function(r,e,t){var n=Bx(pge,r,e);return Bx(Swe(QLr),n,t)})),XB(Fge,(function(r,e,t,n){gx(Bwe(t),oLr),Bx(Bwe(t),lLr,sLr);var u=n[1];xx($Ae[7][1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vLr),gx(Bwe(t),DLr),Bx(Bwe(t),bLr,pLr);var a=n[2];xx(dge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),FLr),gx(Bwe(t),mLr),Bx(Bwe(t),ELr,dLr);var i=n[3];Bx(Bwe(t),kLr,i),gx(Bwe(t),hLr),gx(Bwe(t),yLr),Bx(Bwe(t),wLr,CLr);var c=n[4];Bx(Bwe(t),ALr,c),gx(Bwe(t),_Lr),gx(Bwe(t),gLr),Bx(Bwe(t),SLr,BLr);var f=n[5];Bx(Bwe(t),xLr,f),gx(Bwe(t),TLr),gx(Bwe(t),ILr),Bx(Bwe(t),OLr,NLr);var o=n[6];Bx(Bwe(t),LLr,o),gx(Bwe(t),PLr),gx(Bwe(t),RLr),Bx(Bwe(t),jLr,MLr);var s=n[7];if(s){lwe(t,ULr);var l=s[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,l),lwe(t,XLr)}else lwe(t,GLr);gx(Bwe(t),JLr),gx(Bwe(t),qLr),Bx(Bwe(t),WLr,zLr);var v=n[8];if(v){lwe(t,VLr);var D=v[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,fLr)}),t,D),lwe(t,$Lr)}else lwe(t,YLr);return gx(Bwe(t),HLr),gx(Bwe(t),KLr)})),XB(mge,(function(r,e,t){var n=Bx(Fge,r,e);return Bx(Swe(cLr),n,t)})),XB(dge,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),YOr);var u=n[1];return xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),HOr);case 1:var a=n[1];gx(Bwe(t),KOr),gx(Bwe(t),QOr),Bx(r,t,a[1]),gx(Bwe(t),ZOr);var i=a[2];return xx(nge[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),rLr),gx(Bwe(t),eLr);default:var c=n[1];gx(Bwe(t),tLr),gx(Bwe(t),nLr),Bx(r,t,c[1]),gx(Bwe(t),uLr);var f=c[2];return xx(nge[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),aLr),gx(Bwe(t),iLr)}})),XB(Ege,(function(r,e,t){var n=Bx(dge,r,e);return Bx(Swe($Or),n,t)}));var kge=[0,pge,bge,Fge,mge,dge,Ege],hge=function r(e,t,n,u){return r.fun(e,t,n,u)},yge=function r(e,t,n){return r.fun(e,t,n)},Cge=function r(e,t,n,u){return r.fun(e,t,n,u)},wge=function r(e,t,n){return r.fun(e,t,n)};XB(hge,(function(r,e,t,n){gx(Bwe(t),zOr),Bx(r,t,n[1]),gx(Bwe(t),WOr);var u=n[2];return xx(Cge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),VOr)})),XB(yge,(function(r,e,t){var n=Bx(hge,r,e);return Bx(Swe(qOr),n,t)})),XB(Cge,(function(r,e,t,n){gx(Bwe(t),IOr),Bx(Bwe(t),OOr,NOr);var u=n[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),LOr),gx(Bwe(t),POr),Bx(Bwe(t),MOr,ROr);var a=n[2];if(a){lwe(t,jOr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,TOr)}),t,i),lwe(t,UOr)}else lwe(t,XOr);return gx(Bwe(t),GOr),gx(Bwe(t),JOr)})),XB(wge,(function(r,e,t){var n=Bx(Cge,r,e);return Bx(Swe(xOr),n,t)}));var Age=[0,hge,yge,Cge,wge],_ge=function r(e,t,n,u){return r.fun(e,t,n,u)},gge=function r(e,t,n){return r.fun(e,t,n)},Bge=function r(e,t,n,u){return r.fun(e,t,n,u)},Sge=function r(e,t,n){return r.fun(e,t,n)};XB(_ge,(function(r,e,t,n){gx(Bwe(t),YNr),Bx(Bwe(t),KNr,HNr);var u=n[1];if(u){lwe(t,QNr);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),t,a),lwe(t,ZNr)}else lwe(t,rOr);gx(Bwe(t),eOr),gx(Bwe(t),tOr),Bx(Bwe(t),uOr,nOr);var i=n[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),aOr),gx(Bwe(t),iOr),Bx(Bwe(t),fOr,cOr);var c=n[3];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),oOr),gx(Bwe(t),sOr),Bx(Bwe(t),vOr,lOr);var f=n[4];Bx(Bwe(t),DOr,f),gx(Bwe(t),pOr),gx(Bwe(t),bOr),Bx(Bwe(t),mOr,FOr);var o=n[5];if(o){lwe(t,dOr);var s=o[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,s),lwe(t,EOr)}else lwe(t,kOr);gx(Bwe(t),hOr),gx(Bwe(t),yOr),Bx(Bwe(t),wOr,COr);var l=n[6];if(l){lwe(t,AOr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,$Nr)}),t,v),lwe(t,_Or)}else lwe(t,gOr);return gx(Bwe(t),BOr),gx(Bwe(t),SOr)})),XB(gge,(function(r,e,t){var n=Bx(_ge,r,e);return Bx(Swe(VNr),n,t)})),XB(Bge,(function(r,e,t,n){gx(Bwe(t),qNr),Bx(r,t,n[1]),gx(Bwe(t),zNr);var u=n[2];return xx(_ge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),WNr)})),XB(Sge,(function(r,e,t){var n=Bx(Bge,r,e);return Bx(Swe(JNr),n,t)}));var xge=[0,_ge,gge,Bge,Sge],Tge=function r(e,t,n,u){return r.fun(e,t,n,u)},Ige=function r(e,t,n){return r.fun(e,t,n)},Nge=function r(e,t,n,u){return r.fun(e,t,n,u)},Oge=function r(e,t,n){return r.fun(e,t,n)};XB(Tge,(function(r,e,t,n){gx(Bwe(t),UNr),Bx(r,t,n[1]),gx(Bwe(t),XNr);var u=n[2];return xx(Nge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),GNr)})),XB(Ige,(function(r,e,t){var n=Bx(Tge,r,e);return Bx(Swe(jNr),n,t)})),XB(Nge,(function(r,e,t,n){gx(Bwe(t),ENr),Bx(Bwe(t),hNr,kNr);var u=n[1];gx(Bwe(t),yNr),Bx(r,t,u[1]),gx(Bwe(t),CNr);var a=u[2];xx(nge[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),wNr),gx(Bwe(t),ANr),gx(Bwe(t),_Nr),Bx(Bwe(t),BNr,gNr);var i=n[2];Bx(Bwe(t),SNr,i),gx(Bwe(t),xNr),gx(Bwe(t),TNr),Bx(Bwe(t),NNr,INr);var c=n[3];if(c){lwe(t,ONr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,dNr)}),t,f),lwe(t,LNr)}else lwe(t,PNr);return gx(Bwe(t),RNr),gx(Bwe(t),MNr)})),XB(Oge,(function(r,e,t){var n=Bx(Nge,r,e);return Bx(Swe(mNr),n,t)}));var Lge=[0,Tge,Ige,Nge,Oge],Pge=function r(e,t,n,u){return r.fun(e,t,n,u)},Rge=function r(e,t,n){return r.fun(e,t,n)},Mge=function r(e,t,n,u){return r.fun(e,t,n,u)},jge=function r(e,t,n){return r.fun(e,t,n)};XB(Pge,(function(r,e,t,n){gx(Bwe(t),pNr),Bx(r,t,n[1]),gx(Bwe(t),bNr);var u=n[2];return xx(Mge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),FNr)})),XB(Rge,(function(r,e,t){var n=Bx(Pge,r,e);return Bx(Swe(DNr),n,t)})),XB(Mge,(function(r,e,t,n){gx(Bwe(t),PIr),Bx(Bwe(t),MIr,RIr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),t,u),gx(Bwe(t),jIr),gx(Bwe(t),UIr),Bx(Bwe(t),GIr,XIr);var a=n[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),JIr),gx(Bwe(t),qIr),Bx(Bwe(t),WIr,zIr);var i=n[3];Bx(Bwe(t),VIr,i),gx(Bwe(t),$Ir),gx(Bwe(t),YIr),Bx(Bwe(t),KIr,HIr);var c=n[4];Bx(Bwe(t),QIr,c),gx(Bwe(t),ZIr),gx(Bwe(t),rNr),Bx(Bwe(t),tNr,eNr);var f=n[5];Bx(Bwe(t),nNr,f),gx(Bwe(t),uNr),gx(Bwe(t),aNr),Bx(Bwe(t),cNr,iNr);var o=n[6];if(o){lwe(t,fNr);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,LIr)}),t,s),lwe(t,oNr)}else lwe(t,sNr);return gx(Bwe(t),lNr),gx(Bwe(t),vNr)})),XB(jge,(function(r,e,t){var n=Bx(Mge,r,e);return Bx(Swe(OIr),n,t)}));var Uge=[0,Pge,Rge,Mge,jge],Xge=function r(e,t,n,u){return r.fun(e,t,n,u)},Gge=function r(e,t,n){return r.fun(e,t,n)},Jge=function r(e,t,n,u){return r.fun(e,t,n,u)},qge=function r(e,t,n){return r.fun(e,t,n)};XB(Xge,(function(r,e,t,n){gx(Bwe(t),sIr),Bx(Bwe(t),vIr,lIr);var u=n[1];Bx(Bwe(t),DIr,u),gx(Bwe(t),pIr),gx(Bwe(t),bIr),Bx(Bwe(t),mIr,FIr);var a=n[2];Bx(Bwe(t),dIr,a),gx(Bwe(t),EIr),gx(Bwe(t),kIr),Bx(Bwe(t),yIr,hIr);var i=n[3];gx(Bwe(t),CIr);Sye((function(n,u){return n&&gx(Bwe(t),oIr),xx(Jge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),wIr),gx(Bwe(t),AIr),gx(Bwe(t),_Ir),Bx(Bwe(t),BIr,gIr);var c=n[4];if(c){lwe(t,SIr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),cIr);return Sye((function(t,n){return t&&gx(Bwe(e),iIr),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),fIr)}),t,f),lwe(t,xIr)}else lwe(t,TIr);return gx(Bwe(t),IIr),gx(Bwe(t),NIr)})),XB(Gge,(function(r,e,t){var n=Bx(Xge,r,e);return Bx(Swe(aIr),n,t)})),XB(Jge,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),YTr);var u=n[1];return xx(kge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),HTr);case 1:gx(Bwe(t),KTr);var a=n[1];return xx(Age[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),QTr);case 2:gx(Bwe(t),ZTr);var i=n[1];return xx(xge[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),rIr);case 3:gx(Bwe(t),eIr);var c=n[1];return xx(Lge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),tIr);default:gx(Bwe(t),nIr);var f=n[1];return xx(Uge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),uIr)}})),XB(qge,(function(r,e,t){var n=Bx(Jge,r,e);return Bx(Swe($Tr),n,t)}));var zge=[0,kge,Age,xge,Lge,Uge,Xge,Gge,Jge,qge],Wge=function r(e,t,n,u){return r.fun(e,t,n,u)},Vge=function r(e,t,n){return r.fun(e,t,n)};XB(Wge,(function(r,e,t,n){gx(Bwe(t),gTr),Bx(Bwe(t),STr,BTr);var u=n[1];gx(Bwe(t),xTr),Bx(r,t,u[1]),gx(Bwe(t),TTr);var a=u[2];xx(zge[6],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),ITr),gx(Bwe(t),NTr),gx(Bwe(t),OTr),Bx(Bwe(t),PTr,LTr);var i=n[2];gx(Bwe(t),RTr);Sye((function(n,u){n&&gx(Bwe(t),CTr),gx(Bwe(t),wTr),Bx(r,t,u[1]),gx(Bwe(t),ATr);var a=u[2];return xx(Dge[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),_Tr),1}),0,i),gx(Bwe(t),MTr),gx(Bwe(t),jTr),gx(Bwe(t),UTr),Bx(Bwe(t),GTr,XTr);var c=n[3];if(c){lwe(t,JTr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,yTr)}),t,f),lwe(t,qTr)}else lwe(t,zTr);return gx(Bwe(t),WTr),gx(Bwe(t),VTr)})),XB(Vge,(function(r,e,t){var n=Bx(Wge,r,e);return Bx(Swe(hTr),n,t)}));var $ge=[0,Wge,Vge],Yge=function r(e,t,n,u){return r.fun(e,t,n,u)},Hge=function r(e,t,n){return r.fun(e,t,n)};XB(Yge,(function(r,e,t,n){gx(Bwe(t),oTr),Bx(Bwe(t),lTr,sTr);var u=n[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vTr),gx(Bwe(t),DTr),Bx(Bwe(t),bTr,pTr);var a=n[2];if(a){lwe(t,FTr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,fTr)}),t,i),lwe(t,mTr)}else lwe(t,dTr);return gx(Bwe(t),ETr),gx(Bwe(t),kTr)})),XB(Hge,(function(r,e,t){var n=Bx(Yge,r,e);return Bx(Swe(cTr),n,t)}));var Kge=[0,Yge,Hge],Qge=function r(e,t,n,u){return r.fun(e,t,n,u)},Zge=function r(e,t,n){return r.fun(e,t,n)};XB(Qge,(function(r,e,t,n){gx(Bwe(t),qxr),Bx(Bwe(t),Wxr,zxr);var u=n[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Vxr),gx(Bwe(t),$xr),Bx(Bwe(t),Hxr,Yxr);var a=n[2];Bx(Bwe(t),Kxr,a),gx(Bwe(t),Qxr),gx(Bwe(t),Zxr),Bx(Bwe(t),eTr,rTr);var i=n[3];if(i){lwe(t,tTr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Jxr)}),t,c),lwe(t,nTr)}else lwe(t,uTr);return gx(Bwe(t),aTr),gx(Bwe(t),iTr)})),XB(Zge,(function(r,e,t){var n=Bx(Qge,r,e);return Bx(Swe(Gxr),n,t)}));var rBe=[0,Qge,Zge],eBe=function r(e,t,n,u){return r.fun(e,t,n,u)},tBe=function r(e,t,n){return r.fun(e,t,n)};XB(eBe,(function(r,e,t,n){gx(Bwe(t),Bxr),Bx(Bwe(t),xxr,Sxr);var u=n[1];gx(Bwe(t),Txr);Sye((function(n,u){return n&&gx(Bwe(t),gxr),xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),Ixr),gx(Bwe(t),Nxr),gx(Bwe(t),Oxr),Bx(Bwe(t),Pxr,Lxr);var a=n[2];if(a){lwe(t,Rxr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,_xr)}),t,i),lwe(t,Mxr)}else lwe(t,jxr);return gx(Bwe(t),Uxr),gx(Bwe(t),Xxr)})),XB(tBe,(function(r,e,t){var n=Bx(eBe,r,e);return Bx(Swe(Axr),n,t)}));var nBe=[0,eBe,tBe],uBe=function r(e,t,n,u){return r.fun(e,t,n,u)},aBe=function r(e,t,n){return r.fun(e,t,n)};XB(uBe,(function(r,e,t,n){gx(Bwe(t),Dxr),Bx(Bwe(t),bxr,pxr);var u=n[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Fxr),gx(Bwe(t),mxr),Bx(Bwe(t),Exr,dxr);var a=n[2];if(a){lwe(t,kxr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,vxr)}),t,i),lwe(t,hxr)}else lwe(t,yxr);return gx(Bwe(t),Cxr),gx(Bwe(t),wxr)})),XB(aBe,(function(r,e,t){var n=Bx(uBe,r,e);return Bx(Swe(lxr),n,t)}));var iBe=[0,uBe,aBe],cBe=function r(e,t,n,u){return r.fun(e,t,n,u)},fBe=function r(e,t,n){return r.fun(e,t,n)};XB(cBe,(function(r,e,t,n){gx(Bwe(t),VSr),Bx(Bwe(t),YSr,$Sr);var u=n[1];gx(Bwe(t),HSr);var a=u[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),KSr);var i=u[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),QSr),gx(Bwe(t),ZSr);Sye((function(n,u){return n&&gx(Bwe(t),WSr),xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u[3]),gx(Bwe(t),rxr),gx(Bwe(t),exr),gx(Bwe(t),txr),gx(Bwe(t),nxr),Bx(Bwe(t),axr,uxr);var c=n[2];if(c){lwe(t,ixr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,zSr)}),t,f),lwe(t,cxr)}else lwe(t,fxr);return gx(Bwe(t),oxr),gx(Bwe(t),sxr)})),XB(fBe,(function(r,e,t){var n=Bx(cBe,r,e);return Bx(Swe(qSr),n,t)}));var oBe=[0,cBe,fBe],sBe=function r(e,t,n,u){return r.fun(e,t,n,u)},lBe=function r(e,t,n){return r.fun(e,t,n)};XB(sBe,(function(r,e,t,n){gx(Bwe(t),_Sr),Bx(Bwe(t),BSr,gSr);var u=n[1];gx(Bwe(t),SSr);var a=u[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),xSr);var i=u[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),TSr),gx(Bwe(t),ISr);Sye((function(n,u){return n&&gx(Bwe(t),ASr),xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u[3]),gx(Bwe(t),NSr),gx(Bwe(t),OSr),gx(Bwe(t),LSr),gx(Bwe(t),PSr),Bx(Bwe(t),MSr,RSr);var c=n[2];if(c){lwe(t,jSr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,wSr)}),t,f),lwe(t,USr)}else lwe(t,XSr);return gx(Bwe(t),GSr),gx(Bwe(t),JSr)})),XB(lBe,(function(r,e,t){var n=Bx(sBe,r,e);return Bx(Swe(CSr),n,t)}));var vBe=[0,sBe,lBe],DBe=function r(e,t,n,u){return r.fun(e,t,n,u)},pBe=function r(e,t,n){return r.fun(e,t,n)},bBe=function r(e,t,n,u){return r.fun(e,t,n,u)},FBe=function r(e,t,n){return r.fun(e,t,n)},mBe=function r(e,t,n,u){return r.fun(e,t,n,u)},dBe=function r(e,t,n){return r.fun(e,t,n)},EBe=function r(e,t,n,u){return r.fun(e,t,n,u)},kBe=function r(e,t,n){return r.fun(e,t,n)};XB(DBe,(function(r,e,t,n){gx(Bwe(t),kSr),Bx(e,t,n[1]),gx(Bwe(t),hSr);var u=n[2];return xx(bBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ySr)})),XB(pBe,(function(r,e,t){var n=Bx(DBe,r,e);return Bx(Swe(ESr),n,t)})),XB(bBe,(function(r,e,t,n){switch(n[0]){case 0:var u=n[1];if(gx(Bwe(t),qgr),u){lwe(t,zgr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Jgr)}),t,a),lwe(t,Wgr)}else lwe(t,Vgr);return gx(Bwe(t),$gr);case 1:var i=n[1];if(gx(Bwe(t),Ygr),i){lwe(t,Hgr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ggr)}),t,c),lwe(t,Kgr)}else lwe(t,Qgr);return gx(Bwe(t),Zgr);case 2:var f=n[1];if(gx(Bwe(t),rBr),f){lwe(t,eBr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Xgr)}),t,o),lwe(t,tBr)}else lwe(t,nBr);return gx(Bwe(t),uBr);case 3:var s=n[1];if(gx(Bwe(t),aBr),s){lwe(t,iBr);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ugr)}),t,l),lwe(t,cBr)}else lwe(t,fBr);return gx(Bwe(t),oBr);case 4:var v=n[1];if(gx(Bwe(t),sBr),v){lwe(t,lBr);var D=v[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,jgr)}),t,D),lwe(t,vBr)}else lwe(t,DBr);return gx(Bwe(t),pBr);case 5:var p=n[1];if(gx(Bwe(t),bBr),p){lwe(t,FBr);var b=p[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Mgr)}),t,b),lwe(t,mBr)}else lwe(t,dBr);return gx(Bwe(t),EBr);case 6:var F=n[1];if(gx(Bwe(t),kBr),F){lwe(t,hBr);var m=F[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Rgr)}),t,m),lwe(t,yBr)}else lwe(t,CBr);return gx(Bwe(t),wBr);case 7:var d=n[1];if(gx(Bwe(t),ABr),d){lwe(t,_Br);var E=d[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Pgr)}),t,E),lwe(t,gBr)}else lwe(t,BBr);return gx(Bwe(t),SBr);case 8:var k=n[1];if(gx(Bwe(t),xBr),k){lwe(t,TBr);var h=k[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Lgr)}),t,h),lwe(t,IBr)}else lwe(t,NBr);return gx(Bwe(t),OBr);case 9:var y=n[1];if(gx(Bwe(t),LBr),y){lwe(t,PBr);var C=y[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ogr)}),t,C),lwe(t,RBr)}else lwe(t,MBr);return gx(Bwe(t),jBr);case 10:var w=n[1];if(gx(Bwe(t),UBr),w){lwe(t,XBr);var A=w[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ngr)}),t,A),lwe(t,GBr)}else lwe(t,JBr);return gx(Bwe(t),qBr);case 11:gx(Bwe(t),zBr);var _=n[1];return xx(Kge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,_),gx(Bwe(t),WBr);case 12:gx(Bwe(t),VBr);var g=n[1];return xx(nge[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,g),gx(Bwe(t),$Br);case 13:gx(Bwe(t),YBr);var B=n[1];return xx(zge[6],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,B),gx(Bwe(t),HBr);case 14:gx(Bwe(t),KBr);var S=n[1];return xx($ge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,S),gx(Bwe(t),QBr);case 15:gx(Bwe(t),ZBr);var x=n[1];return xx(iBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,x),gx(Bwe(t),rSr);case 16:gx(Bwe(t),eSr);var T=n[1];return xx(Dge[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,T),gx(Bwe(t),tSr);case 17:gx(Bwe(t),nSr);var I=n[1];return xx(oBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,I),gx(Bwe(t),uSr);case 18:gx(Bwe(t),aSr);var N=n[1];return xx(vBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,N),gx(Bwe(t),iSr);case 19:gx(Bwe(t),cSr);var O=n[1];return xx(rBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,O),gx(Bwe(t),fSr);case 20:gx(Bwe(t),oSr);var L=n[1];return xx(nBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,L),gx(Bwe(t),sSr);case 21:gx(Bwe(t),lSr);var P=n[1];return Sx(UAe[1],(function(e){return gx(r,e)}),t,P),gx(Bwe(t),vSr);case 22:gx(Bwe(t),DSr);var R=n[1];return Sx(XAe[1],(function(e){return gx(r,e)}),t,R),gx(Bwe(t),pSr);case 23:gx(Bwe(t),bSr);var M=n[1];return Sx(GAe[1],(function(e){return gx(r,e)}),t,M),gx(Bwe(t),FSr);default:gx(Bwe(t),mSr);var j=n[1];return Sx(JAe[1],(function(e){return gx(r,e)}),t,j),gx(Bwe(t),dSr)}})),XB(FBe,(function(r,e,t){var n=Bx(bBe,r,e);return Bx(Swe(Igr),n,t)})),XB(mBe,(function(r,e,t,n){gx(Bwe(t),Sgr),Bx(r,t,n[1]),gx(Bwe(t),xgr);var u=n[2];return xx(DBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Tgr)})),XB(dBe,(function(r,e,t){var n=Bx(mBe,r,e);return Bx(Swe(Bgr),n,t)})),XB(EBe,(function(r,e,t,n){if(0===n[0])return gx(Bwe(t),wgr),Bx(e,t,n[1]),gx(Bwe(t),Agr);gx(Bwe(t),_gr);var u=n[1];return xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ggr)})),XB(kBe,(function(r,e,t){var n=Bx(EBe,r,e);return Bx(Swe(Cgr),n,t)}));var hBe=function r(e,t,n,u){return r.fun(e,t,n,u)},yBe=function r(e,t,n){return r.fun(e,t,n)},CBe=function r(e,t,n,u){return r.fun(e,t,n,u)},wBe=function r(e,t,n){return r.fun(e,t,n)};XB(hBe,(function(r,e,t,n){gx(Bwe(t),kgr),Bx(r,t,n[1]),gx(Bwe(t),hgr);var u=n[2];return xx(CBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ygr)})),XB(yBe,(function(r,e,t){var n=Bx(hBe,r,e);return Bx(Swe(Egr),n,t)})),XB(CBe,(function(r,e,t,n){gx(Bwe(t),H_r),Bx(Bwe(t),Q_r,K_r);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),t,u),gx(Bwe(t),Z_r),gx(Bwe(t),rgr),Bx(Bwe(t),tgr,egr);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),ngr),gx(Bwe(t),ugr),Bx(Bwe(t),igr,agr);var i=n[3];if(i){lwe(t,cgr);var c=i[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,c),lwe(t,fgr)}else lwe(t,ogr);gx(Bwe(t),sgr),gx(Bwe(t),lgr),Bx(Bwe(t),Dgr,vgr);var f=n[4];if(f){lwe(t,pgr);var o=f[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),lwe(t,bgr)}else lwe(t,Fgr);return gx(Bwe(t),mgr),gx(Bwe(t),dgr)})),XB(wBe,(function(r,e,t){var n=Bx(CBe,r,e);return Bx(Swe(Y_r),n,t)}));var ABe=[0,hBe,yBe,CBe,wBe],_Be=function r(e,t,n,u){return r.fun(e,t,n,u)},gBe=function r(e,t,n){return r.fun(e,t,n)},BBe=function r(e,t,n,u){return r.fun(e,t,n,u)},SBe=function r(e,t,n){return r.fun(e,t,n)};XB(_Be,(function(r,e,t,n){gx(Bwe(t),W_r),Bx(r,t,n[1]),gx(Bwe(t),V_r);var u=n[2];return xx(BBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$_r)})),XB(gBe,(function(r,e,t){var n=Bx(_Be,r,e);return Bx(Swe(z_r),n,t)})),XB(BBe,(function(r,e,t,n){gx(Bwe(t),T_r),Bx(Bwe(t),N_r,I_r);var u=n[1];gx(Bwe(t),O_r);Sye((function(n,u){return n&&gx(Bwe(t),x_r),xx(ABe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),L_r),gx(Bwe(t),P_r),gx(Bwe(t),R_r),Bx(Bwe(t),j_r,M_r);var a=n[2];if(a){lwe(t,U_r);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),B_r);return Sye((function(t,n){return t&&gx(Bwe(e),g_r),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),S_r)}),t,i),lwe(t,X_r)}else lwe(t,G_r);return gx(Bwe(t),J_r),gx(Bwe(t),q_r)})),XB(SBe,(function(r,e,t){var n=Bx(BBe,r,e);return Bx(Swe(__r),n,t)}));var xBe=function r(e,t,n,u){return r.fun(e,t,n,u)},TBe=function r(e,t,n){return r.fun(e,t,n)},IBe=function r(e,t,n,u){return r.fun(e,t,n,u)},NBe=function r(e,t,n){return r.fun(e,t,n)},OBe=[0,_Be,gBe,BBe,SBe];XB(xBe,(function(r,e,t,n){gx(Bwe(t),C_r),Bx(r,t,n[1]),gx(Bwe(t),w_r);var u=n[2];return xx(IBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),A_r)})),XB(TBe,(function(r,e,t){var n=Bx(xBe,r,e);return Bx(Swe(y_r),n,t)})),XB(IBe,(function(r,e,t,n){gx(Bwe(t),f_r),Bx(Bwe(t),s_r,o_r);var u=n[1];gx(Bwe(t),l_r);Sye((function(n,u){return n&&gx(Bwe(t),c_r),xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),v_r),gx(Bwe(t),D_r),gx(Bwe(t),p_r),Bx(Bwe(t),F_r,b_r);var a=n[2];if(a){lwe(t,m_r);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),a_r);return Sye((function(t,n){return t&&gx(Bwe(e),u_r),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),i_r)}),t,i),lwe(t,d_r)}else lwe(t,E_r);return gx(Bwe(t),k_r),gx(Bwe(t),h_r)})),XB(NBe,(function(r,e,t){var n=Bx(IBe,r,e);return Bx(Swe(n_r),n,t)}));var LBe=function r(e,t,n,u){return r.fun(e,t,n,u)},PBe=function r(e,t,n){return r.fun(e,t,n)},RBe=function r(e,t,n,u){return r.fun(e,t,n,u)},MBe=function r(e,t,n){return r.fun(e,t,n)},jBe=function r(e,t,n,u){return r.fun(e,t,n,u)},UBe=function r(e,t,n){return r.fun(e,t,n)},XBe=[0,xBe,TBe,IBe,NBe];XB(LBe,(function(r,e,t,n){gx(Bwe(t),r_r),Bx(r,t,n[1]),gx(Bwe(t),e_r);var u=n[2];return xx(RBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),t_r)})),XB(PBe,(function(r,e,t){var n=Bx(LBe,r,e);return Bx(Swe(ZAr),n,t)})),XB(RBe,(function(r,e,t,n){gx(Bwe(t),XAr),Bx(Bwe(t),JAr,GAr);var u=n[1];xx(jBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),qAr),gx(Bwe(t),zAr),Bx(Bwe(t),VAr,WAr);var a=n[2];if(a){lwe(t,$Ar);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,UAr)}),t,i),lwe(t,YAr)}else lwe(t,HAr);return gx(Bwe(t),KAr),gx(Bwe(t),QAr)})),XB(MBe,(function(r,e,t){var n=Bx(RBe,r,e);return Bx(Swe(jAr),n,t)})),XB(jBe,(function(r,e,t,n){if(n){gx(Bwe(t),PAr);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),RAr)}return lwe(t,MAr)})),XB(UBe,(function(r,e,t){var n=Bx(jBe,r,e);return Bx(Swe(LAr),n,t)})),Sx(eAe,HJr,WAe,[0,nge,Dge,zge,$ge,Kge,rBe,nBe,iBe,oBe,vBe,DBe,pBe,bBe,FBe,mBe,dBe,EBe,kBe,ABe,OBe,XBe,[0,LBe,PBe,RBe,MBe,jBe,UBe]]);var GBe=function r(e,t,n,u){return r.fun(e,t,n,u)},JBe=function r(e,t,n){return r.fun(e,t,n)};XB(GBe,(function(r,e,t,n){gx(Bwe(t),hAr),Bx(Bwe(t),CAr,yAr);var u=n[1];gx(Bwe(t),wAr);Sye((function(n,u){return n&&gx(Bwe(t),kAr),xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),AAr),gx(Bwe(t),_Ar),gx(Bwe(t),gAr),Bx(Bwe(t),SAr,BAr);var a=n[2];if(a){lwe(t,xAr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),dAr);return Sye((function(t,n){return t&&gx(Bwe(e),mAr),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),EAr)}),t,i),lwe(t,TAr)}else lwe(t,IAr);return gx(Bwe(t),NAr),gx(Bwe(t),OAr)})),XB(JBe,(function(r,e,t){var n=Bx(GBe,r,e);return Bx(Swe(FAr),n,t)}));var qBe=[0,GBe,JBe],zBe=function r(e,t,n,u){return r.fun(e,t,n,u)},WBe=function r(e,t,n){return r.fun(e,t,n)},VBe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Be=function r(e,t,n){return r.fun(e,t,n)};XB(zBe,(function(r,e,t,n){gx(Bwe(t),DAr),Bx(r,t,n[1]),gx(Bwe(t),pAr);var u=n[2];return xx(VBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),bAr)})),XB(WBe,(function(r,e,t){var n=Bx(zBe,r,e);return Bx(Swe(vAr),n,t)})),XB(VBe,(function(r,e,t,n){gx(Bwe(t),rAr),Bx(Bwe(t),tAr,eAr);var u=n[1];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nAr),gx(Bwe(t),uAr),Bx(Bwe(t),iAr,aAr);var a=n[2];if(a){lwe(t,cAr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Zwr)}),t,i),lwe(t,fAr)}else lwe(t,oAr);return gx(Bwe(t),sAr),gx(Bwe(t),lAr)})),XB($Be,(function(r,e,t){var n=Bx(VBe,r,e);return Bx(Swe(Qwr),n,t)}));var YBe=[0,zBe,WBe,VBe,$Be],HBe=function r(e,t,n,u){return r.fun(e,t,n,u)},KBe=function r(e,t,n){return r.fun(e,t,n)};XB(HBe,(function(r,e,t,n){gx(Bwe(t),Swr),Bx(Bwe(t),Twr,xwr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Iwr),gx(Bwe(t),Nwr),Bx(Bwe(t),Lwr,Owr);var a=n[2];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Pwr),gx(Bwe(t),Rwr),Bx(Bwe(t),jwr,Mwr);var i=n[3];if(i){lwe(t,Uwr);var c=i[1];xx(YBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,Xwr)}else lwe(t,Gwr);gx(Bwe(t),Jwr),gx(Bwe(t),qwr),Bx(Bwe(t),Wwr,zwr);var f=n[4];if(f){lwe(t,Vwr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Bwr)}),t,o),lwe(t,$wr)}else lwe(t,Ywr);return gx(Bwe(t),Hwr),gx(Bwe(t),Kwr)})),XB(KBe,(function(r,e,t){var n=Bx(HBe,r,e);return Bx(Swe(gwr),n,t)}));var QBe=[0,YBe,HBe,KBe],ZBe=function r(e,t,n,u){return r.fun(e,t,n,u)},rSe=function r(e,t,n){return r.fun(e,t,n)};XB(ZBe,(function(r,e,t,n){gx(Bwe(t),lwr),Bx(Bwe(t),Dwr,vwr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),t,u),gx(Bwe(t),pwr),gx(Bwe(t),bwr),Bx(Bwe(t),mwr,Fwr);var a=n[2];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),dwr),gx(Bwe(t),Ewr),Bx(Bwe(t),hwr,kwr);var i=n[3];if(i){lwe(t,ywr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,swr)}),t,c),lwe(t,Cwr)}else lwe(t,wwr);return gx(Bwe(t),Awr),gx(Bwe(t),_wr)})),XB(rSe,(function(r,e,t){var n=Bx(ZBe,r,e);return Bx(Swe(owr),n,t)}));var eSe=[0,ZBe,rSe],tSe=function r(e,t,n){return r.fun(e,t,n)},nSe=function r(e,t){return r.fun(e,t)};XB(tSe,(function(r,e,t){gx(Bwe(e),$Cr),Bx(Bwe(e),HCr,YCr);var n=t[1];if(n){lwe(e,KCr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,u),lwe(e,QCr)}else lwe(e,ZCr);gx(Bwe(e),rwr),gx(Bwe(e),ewr),Bx(Bwe(e),nwr,twr);var a=t[2];if(a){lwe(e,uwr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,VCr)}),e,i),lwe(e,awr)}else lwe(e,iwr);return gx(Bwe(e),cwr),gx(Bwe(e),fwr)})),XB(nSe,(function(r,e){var t=gx(tSe,r);return Bx(Swe(WCr),t,e)}));var uSe=[0,tSe,nSe],aSe=function r(e,t,n){return r.fun(e,t,n)},iSe=function r(e,t){return r.fun(e,t)};XB(aSe,(function(r,e,t){gx(Bwe(e),TCr),Bx(Bwe(e),NCr,ICr);var n=t[1];if(n){lwe(e,OCr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,u),lwe(e,LCr)}else lwe(e,PCr);gx(Bwe(e),RCr),gx(Bwe(e),MCr),Bx(Bwe(e),UCr,jCr);var a=t[2];if(a){lwe(e,XCr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,xCr)}),e,i),lwe(e,GCr)}else lwe(e,JCr);return gx(Bwe(e),qCr),gx(Bwe(e),zCr)})),XB(iSe,(function(r,e){var t=gx(aSe,r);return Bx(Swe(SCr),t,e)}));var cSe=[0,aSe,iSe],fSe=function r(e,t,n){return r.fun(e,t,n)},oSe=function r(e,t){return r.fun(e,t)};XB(fSe,(function(r,e,t){gx(Bwe(e),hCr),Bx(Bwe(e),CCr,yCr);var n=t[1];if(n){lwe(e,wCr);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,kCr)}),e,u),lwe(e,ACr)}else lwe(e,_Cr);return gx(Bwe(e),gCr),gx(Bwe(e),BCr)})),XB(oSe,(function(r,e){var t=gx(fSe,r);return Bx(Swe(ECr),t,e)}));var sSe=[0,fSe,oSe],lSe=function r(e,t,n,u){return r.fun(e,t,n,u)},vSe=function r(e,t,n){return r.fun(e,t,n)};XB(lSe,(function(r,e,t,n){gx(Bwe(t),nCr),Bx(Bwe(t),aCr,uCr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),iCr),gx(Bwe(t),cCr),Bx(Bwe(t),oCr,fCr);var a=n[2];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),sCr),gx(Bwe(t),lCr),Bx(Bwe(t),DCr,vCr);var i=n[3];if(i){lwe(t,pCr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,tCr)}),t,c),lwe(t,bCr)}else lwe(t,FCr);return gx(Bwe(t),mCr),gx(Bwe(t),dCr)})),XB(vSe,(function(r,e,t){var n=Bx(lSe,r,e);return Bx(Swe(eCr),n,t)}));var DSe=[0,lSe,vSe],pSe=function r(e,t,n,u){return r.fun(e,t,n,u)},bSe=function r(e,t,n){return r.fun(e,t,n)};XB(pSe,(function(r,e,t,n){gx(Bwe(t),Iyr),Bx(Bwe(t),Oyr,Nyr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Lyr),gx(Bwe(t),Pyr),Bx(Bwe(t),Myr,Ryr);var a=n[2];if(a){lwe(t,jyr);var i=a[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,Uyr)}else lwe(t,Xyr);gx(Bwe(t),Gyr),gx(Bwe(t),Jyr),Bx(Bwe(t),zyr,qyr);var c=n[3];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),Wyr),gx(Bwe(t),Vyr),Bx(Bwe(t),Yyr,$yr);var f=n[4];if(f){lwe(t,Hyr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Tyr)}),t,o),lwe(t,Kyr)}else lwe(t,Qyr);return gx(Bwe(t),Zyr),gx(Bwe(t),rCr)})),XB(bSe,(function(r,e,t){var n=Bx(pSe,r,e);return Bx(Swe(xyr),n,t)}));var FSe=[0,pSe,bSe],mSe=function r(e,t,n,u){return r.fun(e,t,n,u)},dSe=function r(e,t,n){return r.fun(e,t,n)};XB(mSe,(function(r,e,t,n){gx(Bwe(t),Khr),Bx(Bwe(t),Zhr,Qhr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ryr),gx(Bwe(t),eyr),Bx(Bwe(t),nyr,tyr);var a=n[2];if(a){lwe(t,uyr);var i=a[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,ayr)}else lwe(t,iyr);gx(Bwe(t),cyr),gx(Bwe(t),fyr),Bx(Bwe(t),syr,oyr);var c=n[3];if(c){lwe(t,lyr);var f=c[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,vyr)}else lwe(t,Dyr);gx(Bwe(t),pyr),gx(Bwe(t),byr),Bx(Bwe(t),myr,Fyr);var o=n[4];if(o){lwe(t,dyr);var s=o[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),lwe(t,Eyr)}else lwe(t,kyr);gx(Bwe(t),hyr),gx(Bwe(t),yyr),Bx(Bwe(t),wyr,Cyr);var l=n[5];if(l){lwe(t,Ayr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Hhr)}),t,v),lwe(t,_yr)}else lwe(t,gyr);return gx(Bwe(t),Byr),gx(Bwe(t),Syr)})),XB(dSe,(function(r,e,t){var n=Bx(mSe,r,e);return Bx(Swe(Yhr),n,t)}));var ESe=[0,mSe,dSe],kSe=function r(e,t,n,u){return r.fun(e,t,n,u)},hSe=function r(e,t,n){return r.fun(e,t,n)},ySe=function r(e,t,n,u){return r.fun(e,t,n,u)},CSe=function r(e,t,n){return r.fun(e,t,n)};XB(kSe,(function(r,e,t,n){gx(Bwe(t),Whr),Bx(r,t,n[1]),gx(Bwe(t),Vhr);var u=n[2];return xx(ySe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$hr)})),XB(hSe,(function(r,e,t){var n=Bx(kSe,r,e);return Bx(Swe(zhr),n,t)})),XB(ySe,(function(r,e,t,n){gx(Bwe(t),whr),Bx(Bwe(t),_hr,Ahr);var u=n[1];if(u){lwe(t,ghr);var a=u[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,Bhr)}else lwe(t,Shr);gx(Bwe(t),xhr),gx(Bwe(t),Thr),Bx(Bwe(t),Nhr,Ihr);var i=n[2];gx(Bwe(t),Ohr);Sye((function(n,u){return n&&gx(Bwe(t),Chr),xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),Lhr),gx(Bwe(t),Phr),gx(Bwe(t),Rhr),Bx(Bwe(t),jhr,Mhr);var c=n[3];if(c){lwe(t,Uhr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,yhr)}),t,f),lwe(t,Xhr)}else lwe(t,Ghr);return gx(Bwe(t),Jhr),gx(Bwe(t),qhr)})),XB(CSe,(function(r,e,t){var n=Bx(ySe,r,e);return Bx(Swe(hhr),n,t)}));var wSe=[0,kSe,hSe,ySe,CSe],ASe=function r(e,t,n,u){return r.fun(e,t,n,u)},_Se=function r(e,t,n){return r.fun(e,t,n)};XB(ASe,(function(r,e,t,n){gx(Bwe(t),nhr),Bx(Bwe(t),ahr,uhr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ihr),gx(Bwe(t),chr),Bx(Bwe(t),ohr,fhr);var a=n[2];gx(Bwe(t),shr);Sye((function(n,u){return n&&gx(Bwe(t),thr),xx(wSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,a),gx(Bwe(t),lhr),gx(Bwe(t),vhr),gx(Bwe(t),Dhr),Bx(Bwe(t),bhr,phr);var i=n[3];if(i){lwe(t,Fhr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ehr)}),t,c),lwe(t,mhr)}else lwe(t,dhr);return gx(Bwe(t),Ehr),gx(Bwe(t),khr)})),XB(_Se,(function(r,e,t){var n=Bx(ASe,r,e);return Bx(Swe(rhr),n,t)}));var gSe=[0,wSe,ASe,_Se],BSe=function r(e,t,n,u){return r.fun(e,t,n,u)},SSe=function r(e,t,n){return r.fun(e,t,n)};XB(BSe,(function(r,e,t,n){gx(Bwe(t),jkr),Bx(Bwe(t),Xkr,Ukr);var u=n[1];if(u){lwe(t,Gkr);var a=u[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,Jkr)}else lwe(t,qkr);gx(Bwe(t),zkr),gx(Bwe(t),Wkr),Bx(Bwe(t),$kr,Vkr);var i=n[2];if(i){lwe(t,Ykr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Mkr)}),t,c),lwe(t,Hkr)}else lwe(t,Kkr);return gx(Bwe(t),Qkr),gx(Bwe(t),Zkr)})),XB(SSe,(function(r,e,t){var n=Bx(BSe,r,e);return Bx(Swe(Rkr),n,t)}));var xSe=[0,BSe,SSe],TSe=function r(e,t,n,u){return r.fun(e,t,n,u)},ISe=function r(e,t,n){return r.fun(e,t,n)};XB(TSe,(function(r,e,t,n){gx(Bwe(t),Akr),Bx(Bwe(t),gkr,_kr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Bkr),gx(Bwe(t),Skr),Bx(Bwe(t),Tkr,xkr);var a=n[2];if(a){lwe(t,Ikr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,wkr)}),t,i),lwe(t,Nkr)}else lwe(t,Okr);return gx(Bwe(t),Lkr),gx(Bwe(t),Pkr)})),XB(ISe,(function(r,e,t){var n=Bx(TSe,r,e);return Bx(Swe(Ckr),n,t)}));var NSe=[0,TSe,ISe],OSe=function r(e,t,n,u){return r.fun(e,t,n,u)},LSe=function r(e,t,n){return r.fun(e,t,n)},PSe=function r(e,t,n,u){return r.fun(e,t,n,u)},RSe=function r(e,t,n){return r.fun(e,t,n)};XB(OSe,(function(r,e,t,n){gx(Bwe(t),kkr),Bx(r,t,n[1]),gx(Bwe(t),hkr);var u=n[2];return xx(PSe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ykr)})),XB(LSe,(function(r,e,t){var n=Bx(OSe,r,e);return Bx(Swe(Ekr),n,t)})),XB(PSe,(function(r,e,t,n){gx(Bwe(t),KEr),Bx(Bwe(t),ZEr,QEr);var u=n[1];if(u){lwe(t,rkr);var a=u[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,ekr)}else lwe(t,tkr);gx(Bwe(t),nkr),gx(Bwe(t),ukr),Bx(Bwe(t),ikr,akr);var i=n[2];gx(Bwe(t),ckr),Bx(r,t,i[1]),gx(Bwe(t),fkr);var c=i[2];xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),okr),gx(Bwe(t),skr),gx(Bwe(t),lkr),Bx(Bwe(t),Dkr,vkr);var f=n[3];if(f){lwe(t,pkr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,HEr)}),t,o),lwe(t,bkr)}else lwe(t,Fkr);return gx(Bwe(t),mkr),gx(Bwe(t),dkr)})),XB(RSe,(function(r,e,t){var n=Bx(PSe,r,e);return Bx(Swe(YEr),n,t)}));var MSe=[0,OSe,LSe,PSe,RSe],jSe=function r(e,t,n,u){return r.fun(e,t,n,u)},USe=function r(e,t,n){return r.fun(e,t,n)};XB(jSe,(function(r,e,t,n){gx(Bwe(t),mEr),Bx(Bwe(t),EEr,dEr);var u=n[1];gx(Bwe(t),kEr),Bx(r,t,u[1]),gx(Bwe(t),hEr);var a=u[2];xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),yEr),gx(Bwe(t),CEr),gx(Bwe(t),wEr),Bx(Bwe(t),_Er,AEr);var i=n[2];if(i){lwe(t,gEr);var c=i[1];xx(MSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,BEr)}else lwe(t,SEr);gx(Bwe(t),xEr),gx(Bwe(t),TEr),Bx(Bwe(t),NEr,IEr);var f=n[3];if(f){var o=f[1];lwe(t,OEr),gx(Bwe(t),LEr),Bx(r,t,o[1]),gx(Bwe(t),PEr);var s=o[2];xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),REr),lwe(t,MEr)}else lwe(t,jEr);gx(Bwe(t),UEr),gx(Bwe(t),XEr),Bx(Bwe(t),JEr,GEr);var l=n[4];if(l){lwe(t,qEr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,FEr)}),t,v),lwe(t,zEr)}else lwe(t,WEr);return gx(Bwe(t),VEr),gx(Bwe(t),$Er)})),XB(USe,(function(r,e,t){var n=Bx(jSe,r,e);return Bx(Swe(bEr),n,t)}));var XSe=[0,MSe,jSe,USe],GSe=function r(e,t,n,u){return r.fun(e,t,n,u)},JSe=function r(e,t,n){return r.fun(e,t,n)},qSe=function r(e,t,n,u){return r.fun(e,t,n,u)},zSe=function r(e,t,n){return r.fun(e,t,n)};XB(GSe,(function(r,e,t,n){gx(Bwe(t),vEr),Bx(r,t,n[1]),gx(Bwe(t),DEr);var u=n[2];return xx(qSe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),pEr)})),XB(JSe,(function(r,e,t){var n=Bx(GSe,r,e);return Bx(Swe(lEr),n,t)})),XB(qSe,(function(r,e,t,n){gx(Bwe(t),Zdr),Bx(Bwe(t),eEr,rEr);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),tEr),gx(Bwe(t),nEr),Bx(Bwe(t),aEr,uEr);var a=n[2];if(a){lwe(t,iEr);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,cEr)}else lwe(t,fEr);return gx(Bwe(t),oEr),gx(Bwe(t),sEr)})),XB(zSe,(function(r,e,t){var n=Bx(qSe,r,e);return Bx(Swe(Qdr),n,t)}));var WSe=[0,GSe,JSe,qSe,zSe],VSe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Se=function r(e,t,n){return r.fun(e,t,n)},YSe=function r(e,t){return r.fun(e,t)},HSe=function r(e){return r.fun(e)};XB(VSe,(function(r,e,t,n){gx(Bwe(t),Odr),Bx(Bwe(t),Pdr,Ldr);var u=n[1];gx(Bwe(t),Rdr);Sye((function(n,u){return n&&gx(Bwe(t),Ndr),xx(WSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),Mdr),gx(Bwe(t),jdr),gx(Bwe(t),Udr),Bx(Bwe(t),Gdr,Xdr),Bx(YSe,t,n[2]),gx(Bwe(t),Jdr),gx(Bwe(t),qdr),Bx(Bwe(t),Wdr,zdr);var a=n[3];if(a){lwe(t,Vdr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Idr)}),t,i),lwe(t,$dr)}else lwe(t,Ydr);return gx(Bwe(t),Hdr),gx(Bwe(t),Kdr)})),XB($Se,(function(r,e,t){var n=Bx(VSe,r,e);return Bx(Swe(Tdr),n,t)})),XB(YSe,(function(r,e){switch(e){case 0:return lwe(r,Bdr);case 1:return lwe(r,Sdr);default:return lwe(r,xdr)}})),XB(HSe,(function(r){return Bx(Swe(gdr),YSe,r)}));var KSe=[0,WSe,VSe,$Se,YSe,HSe],QSe=function r(e,t,n,u){return r.fun(e,t,n,u)},ZSe=function r(e,t,n){return r.fun(e,t,n)};XB(QSe,(function(r,e,t,n){gx(Bwe(t),ldr),Bx(Bwe(t),Ddr,vdr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),pdr),gx(Bwe(t),bdr),Bx(Bwe(t),mdr,Fdr);var a=n[2];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),ddr),gx(Bwe(t),Edr),Bx(Bwe(t),hdr,kdr);var i=n[3];if(i){lwe(t,ydr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,sdr)}),t,c),lwe(t,Cdr)}else lwe(t,wdr);return gx(Bwe(t),Adr),gx(Bwe(t),_dr)})),XB(ZSe,(function(r,e,t){var n=Bx(QSe,r,e);return Bx(Swe(odr),n,t)}));var rxe=[0,QSe,ZSe],exe=function r(e,t,n,u){return r.fun(e,t,n,u)},txe=function r(e,t,n){return r.fun(e,t,n)};XB(exe,(function(r,e,t,n){gx(Bwe(t),Vmr),Bx(Bwe(t),Ymr,$mr);var u=n[1];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Hmr),gx(Bwe(t),Kmr),Bx(Bwe(t),Zmr,Qmr);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),rdr),gx(Bwe(t),edr),Bx(Bwe(t),ndr,tdr);var i=n[3];if(i){lwe(t,udr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Wmr)}),t,c),lwe(t,adr)}else lwe(t,idr);return gx(Bwe(t),cdr),gx(Bwe(t),fdr)})),XB(txe,(function(r,e,t){var n=Bx(exe,r,e);return Bx(Swe(zmr),n,t)}));var nxe=[0,exe,txe],uxe=function r(e,t,n,u){return r.fun(e,t,n,u)},axe=function r(e,t,n){return r.fun(e,t,n)},ixe=function r(e,t,n,u){return r.fun(e,t,n,u)},cxe=function r(e,t,n){return r.fun(e,t,n)};XB(uxe,(function(r,e,t,n){gx(Bwe(t),vmr),Bx(Bwe(t),pmr,Dmr);var u=n[1];if(u){lwe(t,bmr);var a=u[1];xx(ixe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,Fmr)}else lwe(t,mmr);gx(Bwe(t),dmr),gx(Bwe(t),Emr),Bx(Bwe(t),hmr,kmr);var i=n[2];if(i){lwe(t,ymr);var c=i[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,Cmr)}else lwe(t,wmr);gx(Bwe(t),Amr),gx(Bwe(t),_mr),Bx(Bwe(t),Bmr,gmr);var f=n[3];if(f){lwe(t,Smr);var o=f[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),lwe(t,xmr)}else lwe(t,Tmr);gx(Bwe(t),Imr),gx(Bwe(t),Nmr),Bx(Bwe(t),Lmr,Omr);var s=n[4];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),Pmr),gx(Bwe(t),Rmr),Bx(Bwe(t),jmr,Mmr);var l=n[5];if(l){lwe(t,Umr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,lmr)}),t,v),lwe(t,Xmr)}else lwe(t,Gmr);return gx(Bwe(t),Jmr),gx(Bwe(t),qmr)})),XB(axe,(function(r,e,t){var n=Bx(uxe,r,e);return Bx(Swe(smr),n,t)})),XB(ixe,(function(r,e,t,n){if(0===n[0]){var u=n[1];gx(Bwe(t),nmr),gx(Bwe(t),umr),Bx(r,t,u[1]),gx(Bwe(t),amr);var a=u[2];return xx(KSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),imr),gx(Bwe(t),cmr)}gx(Bwe(t),fmr);var i=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),omr)})),XB(cxe,(function(r,e,t){var n=Bx(ixe,r,e);return Bx(Swe(tmr),n,t)}));var fxe=[0,uxe,axe,ixe,cxe],oxe=function r(e,t,n,u){return r.fun(e,t,n,u)},sxe=function r(e,t,n){return r.fun(e,t,n)},lxe=function r(e,t,n,u){return r.fun(e,t,n,u)},vxe=function r(e,t,n){return r.fun(e,t,n)};XB(oxe,(function(r,e,t,n){gx(Bwe(t),TFr),Bx(Bwe(t),NFr,IFr);var u=n[1];xx(lxe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),OFr),gx(Bwe(t),LFr),Bx(Bwe(t),RFr,PFr);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),MFr),gx(Bwe(t),jFr),Bx(Bwe(t),XFr,UFr);var i=n[3];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),GFr),gx(Bwe(t),JFr),Bx(Bwe(t),zFr,qFr);var c=n[4];Bx(Bwe(t),WFr,c),gx(Bwe(t),VFr),gx(Bwe(t),$Fr),Bx(Bwe(t),HFr,YFr);var f=n[5];if(f){lwe(t,KFr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,xFr)}),t,o),lwe(t,QFr)}else lwe(t,ZFr);return gx(Bwe(t),rmr),gx(Bwe(t),emr)})),XB(sxe,(function(r,e,t){var n=Bx(oxe,r,e);return Bx(Swe(SFr),n,t)})),XB(lxe,(function(r,e,t,n){if(0===n[0]){var u=n[1];gx(Bwe(t),yFr),gx(Bwe(t),CFr),Bx(r,t,u[1]),gx(Bwe(t),wFr);var a=u[2];return xx(KSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),AFr),gx(Bwe(t),_Fr)}gx(Bwe(t),gFr);var i=n[1];return xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),BFr)})),XB(vxe,(function(r,e,t){var n=Bx(lxe,r,e);return Bx(Swe(hFr),n,t)}));var Dxe=[0,oxe,sxe,lxe,vxe],pxe=function r(e,t,n,u){return r.fun(e,t,n,u)},bxe=function r(e,t,n){return r.fun(e,t,n)},Fxe=function r(e,t,n,u){return r.fun(e,t,n,u)},mxe=function r(e,t,n){return r.fun(e,t,n)};XB(pxe,(function(r,e,t,n){gx(Bwe(t),Hbr),Bx(Bwe(t),Qbr,Kbr);var u=n[1];xx(Fxe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Zbr),gx(Bwe(t),rFr),Bx(Bwe(t),tFr,eFr);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),nFr),gx(Bwe(t),uFr),Bx(Bwe(t),iFr,aFr);var i=n[3];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),cFr),gx(Bwe(t),fFr),Bx(Bwe(t),sFr,oFr);var c=n[4];Bx(Bwe(t),lFr,c),gx(Bwe(t),vFr),gx(Bwe(t),DFr),Bx(Bwe(t),bFr,pFr);var f=n[5];if(f){lwe(t,FFr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ybr)}),t,o),lwe(t,mFr)}else lwe(t,dFr);return gx(Bwe(t),EFr),gx(Bwe(t),kFr)})),XB(bxe,(function(r,e,t){var n=Bx(pxe,r,e);return Bx(Swe($br),n,t)})),XB(Fxe,(function(r,e,t,n){if(0===n[0]){var u=n[1];gx(Bwe(t),Xbr),gx(Bwe(t),Gbr),Bx(r,t,u[1]),gx(Bwe(t),Jbr);var a=u[2];return xx(KSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),qbr),gx(Bwe(t),zbr)}gx(Bwe(t),Wbr);var i=n[1];return xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Vbr)})),XB(mxe,(function(r,e,t){var n=Bx(Fxe,r,e);return Bx(Swe(Ubr),n,t)}));var dxe=[0,pxe,bxe,Fxe,mxe],Exe=function r(e,t,n){return r.fun(e,t,n)},kxe=function r(e,t){return r.fun(e,t)},hxe=function r(e,t,n){return r.fun(e,t,n)},yxe=function r(e,t){return r.fun(e,t)};XB(Exe,(function(r,e,t){gx(Bwe(e),Rbr),Bx(r,e,t[1]),gx(Bwe(e),Mbr);var n=t[2];return Sx(hxe,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),jbr)})),XB(kxe,(function(r,e){var t=gx(Exe,r);return Bx(Swe(Pbr),t,e)})),XB(hxe,(function(r,e,t){gx(Bwe(e),Tbr),Bx(Bwe(e),Nbr,Ibr);var n=t[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),Obr),gx(Bwe(e),Lbr)})),XB(yxe,(function(r,e){var t=gx(hxe,r);return Bx(Swe(xbr),t,e)}));var Cxe=[0,Exe,kxe,hxe,yxe],wxe=function r(e,t,n,u){return r.fun(e,t,n,u)},Axe=function r(e,t,n){return r.fun(e,t,n)},_xe=function r(e,t,n,u){return r.fun(e,t,n,u)},gxe=function r(e,t,n){return r.fun(e,t,n)};XB(wxe,(function(r,e,t,n){gx(Bwe(t),gbr),Bx(e,t,n[1]),gx(Bwe(t),Bbr);var u=n[2];return xx(_xe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Sbr)})),XB(Axe,(function(r,e,t){var n=Bx(wxe,r,e);return Bx(Swe(_br),n,t)})),XB(_xe,(function(r,e,t,n){gx(Bwe(t),pbr),Bx(Bwe(t),Fbr,bbr);var u=n[1];xx(RAe[1],(function(r){return gx(e,r)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),mbr),gx(Bwe(t),dbr),Bx(Bwe(t),kbr,Ebr);var a=n[2];return gx(Bwe(t),hbr),Bx(e,t,a[1]),gx(Bwe(t),ybr),Bx(r,t,a[2]),gx(Bwe(t),Cbr),gx(Bwe(t),wbr),gx(Bwe(t),Abr)})),XB(gxe,(function(r,e,t){var n=Bx(_xe,r,e);return Bx(Swe(Dbr),n,t)}));var Bxe=[0,wxe,Axe,_xe,gxe],Sxe=function r(e,t,n){return r.fun(e,t,n)},xxe=function r(e,t){return r.fun(e,t)};XB(Sxe,(function(r,e,t){gx(Bwe(e),Jpr),Bx(Bwe(e),zpr,qpr);var n=t[1];gx(Bwe(e),Wpr);Sye((function(t,n){return t&&gx(Bwe(e),Gpr),xx(Bxe[1],(function(e){return Bx(JAe[1],(function(e){return gx(r,e)}),e)}),(function(e){return gx(r,e)}),e,n),1}),0,n),gx(Bwe(e),Vpr),gx(Bwe(e),$pr),gx(Bwe(e),Ypr),Bx(Bwe(e),Kpr,Hpr);var u=t[2];Bx(Bwe(e),Qpr,u),gx(Bwe(e),Zpr),gx(Bwe(e),rbr),Bx(Bwe(e),tbr,ebr);var a=t[3];Bx(Bwe(e),nbr,a),gx(Bwe(e),ubr),gx(Bwe(e),abr),Bx(Bwe(e),cbr,ibr);var i=t[4];if(i){lwe(e,fbr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Xpr)}),e,c),lwe(e,obr)}else lwe(e,sbr);return gx(Bwe(e),lbr),gx(Bwe(e),vbr)})),XB(xxe,(function(r,e){var t=gx(Sxe,r);return Bx(Swe(Upr),t,e)}));var Txe=[0,Sxe,xxe],Ixe=function r(e,t,n){return r.fun(e,t,n)},Nxe=function r(e,t){return r.fun(e,t)};XB(Ixe,(function(r,e,t){gx(Bwe(e),Fpr),Bx(Bwe(e),dpr,mpr);var n=t[1];gx(Bwe(e),Epr);Sye((function(t,n){return t&&gx(Bwe(e),bpr),xx(Bxe[1],(function(e){return Bx(XAe[1],(function(e){return gx(r,e)}),e)}),(function(e){return gx(r,e)}),e,n),1}),0,n),gx(Bwe(e),kpr),gx(Bwe(e),hpr),gx(Bwe(e),ypr),Bx(Bwe(e),wpr,Cpr);var u=t[2];Bx(Bwe(e),Apr,u),gx(Bwe(e),_pr),gx(Bwe(e),gpr),Bx(Bwe(e),Spr,Bpr);var a=t[3];Bx(Bwe(e),xpr,a),gx(Bwe(e),Tpr),gx(Bwe(e),Ipr),Bx(Bwe(e),Opr,Npr);var i=t[4];if(i){lwe(e,Lpr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ppr)}),e,c),lwe(e,Ppr)}else lwe(e,Rpr);return gx(Bwe(e),Mpr),gx(Bwe(e),jpr)})),XB(Nxe,(function(r,e){var t=gx(Ixe,r);return Bx(Swe(Dpr),t,e)}));var Oxe=[0,Ixe,Nxe],Lxe=function r(e,t,n){return r.fun(e,t,n)},Pxe=function r(e,t){return r.fun(e,t)},Rxe=function r(e,t,n,u){return r.fun(e,t,n,u)},Mxe=function r(e,t,n){return r.fun(e,t,n)};XB(Lxe,(function(r,e,t){gx(Bwe(e),zDr),Bx(Bwe(e),VDr,WDr);var n=t[1];xx(Rxe,(function(e){return Bx(UAe[1],(function(e){return gx(r,e)}),e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),$Dr),gx(Bwe(e),YDr),Bx(Bwe(e),KDr,HDr);var u=t[2];Bx(Bwe(e),QDr,u),gx(Bwe(e),ZDr),gx(Bwe(e),rpr),Bx(Bwe(e),tpr,epr);var a=t[3];Bx(Bwe(e),npr,a),gx(Bwe(e),upr),gx(Bwe(e),apr),Bx(Bwe(e),cpr,ipr);var i=t[4];if(i){lwe(e,fpr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,qDr)}),e,c),lwe(e,opr)}else lwe(e,spr);return gx(Bwe(e),lpr),gx(Bwe(e),vpr)})),XB(Pxe,(function(r,e){var t=gx(Lxe,r);return Bx(Swe(JDr),t,e)})),XB(Rxe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),LDr),gx(Bwe(t),PDr);return Sye((function(r,n){return r&&gx(Bwe(t),ODr),Sx(Cxe[1],(function(r){return gx(e,r)}),t,n),1}),0,n[1]),gx(Bwe(t),RDr),gx(Bwe(t),MDr)}gx(Bwe(t),jDr),gx(Bwe(t),UDr);return Sye((function(n,u){return n&&gx(Bwe(t),NDr),xx(Bxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,n[1]),gx(Bwe(t),XDr),gx(Bwe(t),GDr)})),XB(Mxe,(function(r,e,t){var n=Bx(Rxe,r,e);return Bx(Swe(IDr),n,t)}));var jxe=[0,Lxe,Pxe,Rxe,Mxe],Uxe=function r(e,t,n){return r.fun(e,t,n)},Xxe=function r(e,t){return r.fun(e,t)};XB(Uxe,(function(r,e,t){gx(Bwe(e),DDr),Bx(Bwe(e),bDr,pDr);var n=t[1];gx(Bwe(e),FDr);Sye((function(t,n){return t&&gx(Bwe(e),vDr),Sx(Cxe[1],(function(e){return gx(r,e)}),e,n),1}),0,n),gx(Bwe(e),mDr),gx(Bwe(e),dDr),gx(Bwe(e),EDr),Bx(Bwe(e),hDr,kDr);var u=t[2];Bx(Bwe(e),yDr,u),gx(Bwe(e),CDr),gx(Bwe(e),wDr),Bx(Bwe(e),_Dr,ADr);var a=t[3];if(a){lwe(e,gDr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,lDr)}),e,i),lwe(e,BDr)}else lwe(e,SDr);return gx(Bwe(e),xDr),gx(Bwe(e),TDr)})),XB(Xxe,(function(r,e){var t=gx(Uxe,r);return Bx(Swe(sDr),t,e)}));var Gxe=[0,Uxe,Xxe],Jxe=function r(e,t,n,u){return r.fun(e,t,n,u)},qxe=function r(e,t,n){return r.fun(e,t,n)},zxe=function r(e,t,n){return r.fun(e,t,n)},Wxe=function r(e,t){return r.fun(e,t)},Vxe=function r(e,t,n){return r.fun(e,t,n)},$xe=function r(e,t){return r.fun(e,t)};XB(Jxe,(function(r,e,t,n){gx(Bwe(t),$vr),Bx(Bwe(t),Hvr,Yvr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Kvr),gx(Bwe(t),Qvr),Bx(Bwe(t),rDr,Zvr);var a=n[2];Sx(zxe,(function(e){return gx(r,e)}),t,a),gx(Bwe(t),eDr),gx(Bwe(t),tDr),Bx(Bwe(t),uDr,nDr);var i=n[3];if(i){lwe(t,aDr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Vvr)}),t,c),lwe(t,iDr)}else lwe(t,cDr);return gx(Bwe(t),fDr),gx(Bwe(t),oDr)})),XB(qxe,(function(r,e,t){var n=Bx(Jxe,r,e);return Bx(Swe(Wvr),n,t)})),XB(zxe,(function(r,e,t){gx(Bwe(e),Jvr),Bx(r,e,t[1]),gx(Bwe(e),qvr);var n=t[2];return Sx(Vxe,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),zvr)})),XB(Wxe,(function(r,e){var t=gx(zxe,r);return Bx(Swe(Gvr),t,e)})),XB(Vxe,(function(r,e,t){switch(t[0]){case 0:gx(Bwe(e),Ovr);var n=t[1];return Sx(Txe[1],(function(e){return gx(r,e)}),e,n),gx(Bwe(e),Lvr);case 1:gx(Bwe(e),Pvr);var u=t[1];return Sx(Oxe[1],(function(e){return gx(r,e)}),e,u),gx(Bwe(e),Rvr);case 2:gx(Bwe(e),Mvr);var a=t[1];return Sx(jxe[1],(function(e){return gx(r,e)}),e,a),gx(Bwe(e),jvr);default:gx(Bwe(e),Uvr);var i=t[1];return Sx(Gxe[1],(function(e){return gx(r,e)}),e,i),gx(Bwe(e),Xvr)}})),XB($xe,(function(r,e){var t=gx(Vxe,r);return Bx(Swe(Nvr),t,e)}));var Yxe=[0,Cxe,Bxe,Txe,Oxe,jxe,Gxe,Jxe,qxe,zxe,Wxe,Vxe,$xe],Hxe=function r(e,t,n,u){return r.fun(e,t,n,u)},Kxe=function r(e,t,n){return r.fun(e,t,n)};XB(Hxe,(function(r,e,t,n){gx(Bwe(t),evr),Bx(Bwe(t),nvr,tvr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),uvr),gx(Bwe(t),avr),Bx(Bwe(t),cvr,ivr);var a=n[2];if(a){lwe(t,fvr);var i=a[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,ovr)}else lwe(t,svr);gx(Bwe(t),lvr),gx(Bwe(t),vvr),Bx(Bwe(t),pvr,Dvr);var c=n[3];gx(Bwe(t),bvr);Sye((function(n,u){n&&gx(Bwe(t),Klr),gx(Bwe(t),Qlr),Bx(r,t,u[1]),gx(Bwe(t),Zlr);var a=u[2];return xx(WAe[2][2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),rvr),1}),0,c),gx(Bwe(t),Fvr),gx(Bwe(t),mvr),gx(Bwe(t),dvr),Bx(Bwe(t),kvr,Evr);var f=n[4];gx(Bwe(t),hvr),Bx(r,t,f[1]),gx(Bwe(t),yvr);var o=f[2];xx(WAe[3][6],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),Cvr),gx(Bwe(t),wvr),gx(Bwe(t),Avr),Bx(Bwe(t),gvr,_vr);var s=n[5];if(s){lwe(t,Bvr);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Hlr)}),t,l),lwe(t,Svr)}else lwe(t,xvr);return gx(Bwe(t),Tvr),gx(Bwe(t),Ivr)})),XB(Kxe,(function(r,e,t){var n=Bx(Hxe,r,e);return Bx(Swe(Ylr),n,t)}));var Qxe=[0,Hxe,Kxe],Zxe=function r(e,t,n,u){return r.fun(e,t,n,u)},rTe=function r(e,t,n){return r.fun(e,t,n)};XB(Zxe,(function(r,e,t,n){gx(Bwe(t),rlr),Bx(Bwe(t),tlr,elr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nlr),gx(Bwe(t),ulr),Bx(Bwe(t),ilr,alr);var a=n[2];if(a){lwe(t,clr);var i=a[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,flr)}else lwe(t,olr);gx(Bwe(t),slr),gx(Bwe(t),llr),Bx(Bwe(t),Dlr,vlr);var c=n[3];gx(Bwe(t),plr),Bx(r,t,c[1]),gx(Bwe(t),blr);var f=c[2];xx(WAe[3][6],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),Flr),gx(Bwe(t),mlr),gx(Bwe(t),dlr),Bx(Bwe(t),klr,Elr);var o=n[4];if(o){var s=o[1];lwe(t,hlr),gx(Bwe(t),ylr),Bx(r,t,s[1]),gx(Bwe(t),Clr);var l=s[2];xx(WAe[2][2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,l),gx(Bwe(t),wlr),lwe(t,Alr)}else lwe(t,_lr);gx(Bwe(t),glr),gx(Bwe(t),Blr),Bx(Bwe(t),xlr,Slr);var v=n[5];gx(Bwe(t),Tlr);Sye((function(n,u){n&&gx(Bwe(t),Hsr),gx(Bwe(t),Ksr),Bx(r,t,u[1]),gx(Bwe(t),Qsr);var a=u[2];return xx(WAe[2][2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Zsr),1}),0,v),gx(Bwe(t),Ilr),gx(Bwe(t),Nlr),gx(Bwe(t),Olr),Bx(Bwe(t),Plr,Llr);var D=n[6];if(D){lwe(t,Rlr);var p=D[1];xx(QAe[5][2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),lwe(t,Mlr)}else lwe(t,jlr);gx(Bwe(t),Ulr),gx(Bwe(t),Xlr),Bx(Bwe(t),Jlr,Glr);var b=n[7];if(b){lwe(t,qlr);var F=b[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ysr)}),t,F),lwe(t,zlr)}else lwe(t,Wlr);return gx(Bwe(t),Vlr),gx(Bwe(t),$lr)})),XB(rTe,(function(r,e,t){var n=Bx(Zxe,r,e);return Bx(Swe($sr),n,t)}));var eTe=[0,Zxe,rTe],tTe=function r(e,t,n,u){return r.fun(e,t,n,u)},nTe=function r(e,t,n){return r.fun(e,t,n)};XB(tTe,(function(r,e,t,n){gx(Bwe(t),Isr),Bx(Bwe(t),Osr,Nsr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Lsr),gx(Bwe(t),Psr),Bx(Bwe(t),Msr,Rsr);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),jsr),gx(Bwe(t),Usr),Bx(Bwe(t),Gsr,Xsr);var i=n[3];if(i){lwe(t,Jsr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Tsr)}),t,c),lwe(t,qsr)}else lwe(t,zsr);return gx(Bwe(t),Wsr),gx(Bwe(t),Vsr)})),XB(nTe,(function(r,e,t){var n=Bx(tTe,r,e);return Bx(Swe(xsr),n,t)}));var uTe=[0,tTe,nTe],aTe=function r(e,t,n,u){return r.fun(e,t,n,u)},iTe=function r(e,t,n){return r.fun(e,t,n)};XB(aTe,(function(r,e,t,n){gx(Bwe(t),csr),Bx(Bwe(t),osr,fsr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ssr),gx(Bwe(t),lsr),Bx(Bwe(t),Dsr,vsr);var a=n[2];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),psr),gx(Bwe(t),bsr),Bx(Bwe(t),msr,Fsr);var i=n[3];if(i){lwe(t,dsr);var c=i[1];xx(WAe[22][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,Esr)}else lwe(t,ksr);gx(Bwe(t),hsr),gx(Bwe(t),ysr),Bx(Bwe(t),wsr,Csr);var f=n[4];if(f){lwe(t,Asr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,isr)}),t,o),lwe(t,_sr)}else lwe(t,gsr);return gx(Bwe(t),Bsr),gx(Bwe(t),Ssr)})),XB(iTe,(function(r,e,t){var n=Bx(aTe,r,e);return Bx(Swe(asr),n,t)}));var cTe=[0,aTe,iTe],fTe=function r(e,t,n,u){return r.fun(e,t,n,u)},oTe=function r(e,t,n){return r.fun(e,t,n)},sTe=function r(e,t,n){return r.fun(e,t,n)},lTe=function r(e,t){return r.fun(e,t)},vTe=function r(e,t,n,u){return r.fun(e,t,n,u)},DTe=function r(e,t,n){return r.fun(e,t,n)};XB(fTe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),Qor);var u=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Zor)}var a=n[1];gx(Bwe(t),rsr),gx(Bwe(t),esr),Bx(e,t,a[1]),gx(Bwe(t),tsr);var i=a[2];return Sx(UAe[1],(function(e){return gx(r,e)}),t,i),gx(Bwe(t),nsr),gx(Bwe(t),usr)})),XB(oTe,(function(r,e,t){var n=Bx(fTe,r,e);return Bx(Swe(Kor),n,t)})),XB(sTe,(function(r,e,t){return 0===t[0]?(gx(Bwe(e),Vor),Bx(r,e,t[1]),gx(Bwe(e),$or)):(gx(Bwe(e),Yor),Bx(r,e,t[1]),gx(Bwe(e),Hor))})),XB(lTe,(function(r,e){var t=gx(sTe,r);return Bx(Swe(Wor),t,e)})),XB(vTe,(function(r,e,t,n){gx(Bwe(t),Cor),Bx(Bwe(t),Aor,wor);var u=n[1];xx(fTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),_or),gx(Bwe(t),gor),Bx(Bwe(t),Sor,Bor);var a=n[2];gx(Bwe(t),xor),Bx(r,t,a[1]),gx(Bwe(t),Tor);var i=a[2];xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Ior),gx(Bwe(t),Nor),gx(Bwe(t),Oor),Bx(Bwe(t),Por,Lor);var c=n[3];Sx(sTe,(function(e){return gx(r,e)}),t,c),gx(Bwe(t),Ror),gx(Bwe(t),Mor),Bx(Bwe(t),Uor,jor);var f=n[4];if(f){lwe(t,Xor);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,yor)}),t,o),lwe(t,Gor)}else lwe(t,Jor);return gx(Bwe(t),qor),gx(Bwe(t),zor)})),XB(DTe,(function(r,e,t){var n=Bx(vTe,r,e);return Bx(Swe(hor),n,t)}));var pTe=[0,fTe,oTe,sTe,lTe,vTe,DTe],bTe=function r(e,t,n,u){return r.fun(e,t,n,u)},FTe=function r(e,t,n){return r.fun(e,t,n)};XB(bTe,(function(r,e,t,n){gx(Bwe(t),oor),Bx(Bwe(t),lor,sor);var u=n[1];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vor),gx(Bwe(t),Dor),Bx(Bwe(t),bor,por);var a=n[2];if(a){lwe(t,For);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,cor)}),t,i),lwe(t,mor)}else lwe(t,dor);return gx(Bwe(t),Eor),gx(Bwe(t),kor)})),XB(FTe,(function(r,e,t){var n=Bx(bTe,r,e);return Bx(Swe(ior),n,t)}));var mTe=[0,bTe,FTe],dTe=function r(e,t,n){return r.fun(e,t,n)},ETe=function r(e,t){return r.fun(e,t)},kTe=function r(e,t,n){return r.fun(e,t,n)},hTe=function r(e,t){return r.fun(e,t)};XB(dTe,(function(r,e,t){gx(Bwe(e),nor),Bx(r,e,t[1]),gx(Bwe(e),uor);var n=t[2];return Sx(kTe,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),aor)})),XB(ETe,(function(r,e){var t=gx(dTe,r);return Bx(Swe(tor),t,e)})),XB(kTe,(function(r,e,t){gx(Bwe(e),qfr),Bx(Bwe(e),Wfr,zfr);var n=t[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),Vfr),gx(Bwe(e),$fr),Bx(Bwe(e),Hfr,Yfr);var u=t[2];if(u){lwe(e,Kfr);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,a),lwe(e,Qfr)}else lwe(e,Zfr);return gx(Bwe(e),ror),gx(Bwe(e),eor)})),XB(hTe,(function(r,e){var t=gx(kTe,r);return Bx(Swe(Jfr),t,e)}));var yTe=[0,dTe,ETe,kTe,hTe],CTe=function r(e,t,n,u){return r.fun(e,t,n,u)},wTe=function r(e,t,n){return r.fun(e,t,n)},ATe=function r(e,t,n){return r.fun(e,t,n)},_Te=function r(e,t){return r.fun(e,t)};XB(CTe,(function(r,e,t,n){gx(Bwe(t),cfr),Bx(Bwe(t),ofr,ffr);var u=n[1];if(u){lwe(t,sfr);var a=u[1];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,lfr)}else lwe(t,vfr);gx(Bwe(t),Dfr),gx(Bwe(t),pfr),Bx(Bwe(t),Ffr,bfr);var i=n[2];if(i){lwe(t,mfr);var c=i[1];Sx(ATe,(function(e){return gx(r,e)}),t,c),lwe(t,dfr)}else lwe(t,Efr);gx(Bwe(t),kfr),gx(Bwe(t),hfr),Bx(Bwe(t),Cfr,yfr);var f=n[3];if(f){var o=f[1];lwe(t,wfr),gx(Bwe(t),Afr),Bx(r,t,o[1]),gx(Bwe(t),_fr);var s=o[2];Sx(UAe[1],(function(e){return gx(r,e)}),t,s),gx(Bwe(t),gfr),lwe(t,Bfr)}else lwe(t,Sfr);gx(Bwe(t),xfr),gx(Bwe(t),Tfr),Bx(Bwe(t),Nfr,Ifr),Bx(VAe[33],t,n[4]),gx(Bwe(t),Ofr),gx(Bwe(t),Lfr),Bx(Bwe(t),Rfr,Pfr);var l=n[5];if(l){lwe(t,Mfr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ifr)}),t,v),lwe(t,jfr)}else lwe(t,Ufr);return gx(Bwe(t),Xfr),gx(Bwe(t),Gfr)})),XB(wTe,(function(r,e,t){var n=Bx(CTe,r,e);return Bx(Swe(afr),n,t)})),XB(ATe,(function(r,e,t){if(0===t[0]){gx(Bwe(e),Ycr),gx(Bwe(e),Hcr);return Sye((function(t,n){return t&&gx(Bwe(e),$cr),Sx(yTe[1],(function(e){return gx(r,e)}),e,n),1}),0,t[1]),gx(Bwe(e),Kcr),gx(Bwe(e),Qcr)}var n=t[2];if(gx(Bwe(e),Zcr),Bx(r,e,t[1]),gx(Bwe(e),rfr),n){lwe(e,efr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,u),lwe(e,tfr)}else lwe(e,nfr);return gx(Bwe(e),ufr)})),XB(_Te,(function(r,e){var t=gx(ATe,r);return Bx(Swe(Vcr),t,e)}));var gTe=[0,yTe,CTe,wTe,ATe,_Te],BTe=function r(e,t,n,u){return r.fun(e,t,n,u)},STe=function r(e,t,n){return r.fun(e,t,n)},xTe=function r(e,t,n,u){return r.fun(e,t,n,u)},TTe=function r(e,t,n){return r.fun(e,t,n)};XB(BTe,(function(r,e,t,n){gx(Bwe(t),Tcr),Bx(Bwe(t),Ncr,Icr),Bx(r,t,n[1]),gx(Bwe(t),Ocr),gx(Bwe(t),Lcr),Bx(Bwe(t),Rcr,Pcr);var u=n[2];xx(xTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Mcr),gx(Bwe(t),jcr),Bx(Bwe(t),Xcr,Ucr);var a=n[3];if(a){lwe(t,Gcr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,xcr)}),t,i),lwe(t,Jcr)}else lwe(t,qcr);return gx(Bwe(t),zcr),gx(Bwe(t),Wcr)})),XB(STe,(function(r,e,t){var n=Bx(BTe,r,e);return Bx(Swe(Scr),n,t)})),XB(xTe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),Acr);var u=n[1];return xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),_cr)}gx(Bwe(t),gcr);var a=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Bcr)})),XB(TTe,(function(r,e,t){var n=Bx(xTe,r,e);return Bx(Swe(wcr),n,t)}));var ITe=[0,BTe,STe,xTe,TTe],NTe=function r(e,t,n,u){return r.fun(e,t,n,u)},OTe=function r(e,t,n){return r.fun(e,t,n)},LTe=function r(e,t,n,u){return r.fun(e,t,n,u)},PTe=function r(e,t,n){return r.fun(e,t,n)};XB(NTe,(function(r,e,t,n){switch(n[0]){case 0:var u=n[1];gx(Bwe(t),Wir),gx(Bwe(t),Vir),Bx(r,t,u[1]),gx(Bwe(t),$ir);var a=u[2];return xx(uTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Yir),gx(Bwe(t),Hir);case 1:var i=n[1];gx(Bwe(t),Kir),gx(Bwe(t),Qir),Bx(r,t,i[1]),gx(Bwe(t),Zir);var c=i[2];return xx(cTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),rcr),gx(Bwe(t),ecr);case 2:var f=n[1];gx(Bwe(t),tcr),gx(Bwe(t),ncr),Bx(r,t,f[1]),gx(Bwe(t),ucr);var o=f[2];return xx(eTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),acr),gx(Bwe(t),icr);case 3:gx(Bwe(t),ccr);var s=n[1];return xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),fcr);case 4:var l=n[1];gx(Bwe(t),ocr),gx(Bwe(t),scr),Bx(r,t,l[1]),gx(Bwe(t),lcr);var v=l[2];return xx(FSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),vcr),gx(Bwe(t),Dcr);case 5:var D=n[1];gx(Bwe(t),pcr),gx(Bwe(t),bcr),Bx(r,t,D[1]),gx(Bwe(t),Fcr);var p=D[2];return xx(ESe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),gx(Bwe(t),mcr),gx(Bwe(t),dcr);default:var b=n[1];gx(Bwe(t),Ecr),gx(Bwe(t),kcr),Bx(r,t,b[1]),gx(Bwe(t),hcr);var F=b[2];return xx(Qxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,F),gx(Bwe(t),ycr),gx(Bwe(t),Ccr)}})),XB(OTe,(function(r,e,t){var n=Bx(NTe,r,e);return Bx(Swe(zir),n,t)})),XB(LTe,(function(r,e,t,n){gx(Bwe(t),iir),Bx(Bwe(t),fir,cir);var u=n[1];u?(lwe(t,oir),Bx(r,t,u[1]),lwe(t,sir)):lwe(t,lir),gx(Bwe(t),vir),gx(Bwe(t),Dir),Bx(Bwe(t),bir,pir);var a=n[2];if(a){lwe(t,Fir);var i=a[1];xx(NTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,mir)}else lwe(t,dir);gx(Bwe(t),Eir),gx(Bwe(t),kir),Bx(Bwe(t),yir,hir);var c=n[3];if(c){lwe(t,Cir);var f=c[1];Sx(gTe[4],(function(e){return gx(r,e)}),t,f),lwe(t,wir)}else lwe(t,Air);gx(Bwe(t),_ir),gx(Bwe(t),gir),Bx(Bwe(t),Sir,Bir);var o=n[4];if(o){var s=o[1];lwe(t,xir),gx(Bwe(t),Tir),Bx(r,t,s[1]),gx(Bwe(t),Iir);var l=s[2];Sx(UAe[1],(function(e){return gx(r,e)}),t,l),gx(Bwe(t),Nir),lwe(t,Oir)}else lwe(t,Lir);gx(Bwe(t),Pir),gx(Bwe(t),Rir),Bx(Bwe(t),jir,Mir);var v=n[5];if(v){lwe(t,Uir);var D=v[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,air)}),t,D),lwe(t,Xir)}else lwe(t,Gir);return gx(Bwe(t),Jir),gx(Bwe(t),qir)})),XB(PTe,(function(r,e,t){var n=Bx(LTe,r,e);return Bx(Swe(uir),n,t)}));var RTe=[0,NTe,OTe,LTe,PTe],MTe=function r(e,t){return r.fun(e,t)},jTe=function r(e){return r.fun(e)},UTe=function r(e,t,n,u){return r.fun(e,t,n,u)},XTe=function r(e,t,n){return r.fun(e,t,n)},GTe=function r(e,t,n,u){return r.fun(e,t,n,u)},JTe=function r(e,t,n){return r.fun(e,t,n)},qTe=function r(e,t,n,u){return r.fun(e,t,n,u)},zTe=function r(e,t,n){return r.fun(e,t,n)};XB(MTe,(function(r,e){switch(e){case 0:return lwe(r,eir);case 1:return lwe(r,tir);default:return lwe(r,nir)}})),XB(jTe,(function(r){return Bx(Swe(rir),MTe,r)})),XB(UTe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),zar),gx(Bwe(t),War);return Sye((function(n,u){return n&&gx(Bwe(t),qar),xx(GTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,n[1]),gx(Bwe(t),Var),gx(Bwe(t),$ar)}var u=n[1];gx(Bwe(t),Yar),gx(Bwe(t),Har),Bx(r,t,u[1]),gx(Bwe(t),Kar);var a=u[2];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Qar),gx(Bwe(t),Zar)})),XB(XTe,(function(r,e,t){var n=Bx(UTe,r,e);return Bx(Swe(Jar),n,t)})),XB(GTe,(function(r,e,t,n){gx(Bwe(t),war),Bx(Bwe(t),_ar,Aar);var u=n[1];u?(lwe(t,gar),Bx(MTe,t,u[1]),lwe(t,Bar)):lwe(t,Sar),gx(Bwe(t),xar),gx(Bwe(t),Tar),Bx(Bwe(t),Nar,Iar);var a=n[2];if(a){lwe(t,Oar);var i=a[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,Lar)}else lwe(t,Par);gx(Bwe(t),Rar),gx(Bwe(t),Mar),Bx(Bwe(t),Uar,jar);var c=n[3];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),Xar),gx(Bwe(t),Gar)})),XB(JTe,(function(r,e,t){var n=Bx(GTe,r,e);return Bx(Swe(Car),n,t)})),XB(qTe,(function(r,e,t,n){gx(Bwe(t),Jur),Bx(Bwe(t),zur,qur),Bx(MTe,t,n[1]),gx(Bwe(t),Wur),gx(Bwe(t),Vur),Bx(Bwe(t),Yur,$ur);var u=n[2];gx(Bwe(t),Hur),Bx(r,t,u[1]),gx(Bwe(t),Kur);var a=u[2];Sx(UAe[1],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),Qur),gx(Bwe(t),Zur),gx(Bwe(t),rar),Bx(Bwe(t),tar,ear);var i=n[3];if(i){lwe(t,nar);var c=i[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,uar)}else lwe(t,aar);gx(Bwe(t),iar),gx(Bwe(t),car),Bx(Bwe(t),oar,far);var f=n[4];if(f){lwe(t,sar);var o=f[1];xx(UTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),lwe(t,lar)}else lwe(t,Dar);gx(Bwe(t),par),gx(Bwe(t),bar),Bx(Bwe(t),mar,Far);var s=n[5];if(s){lwe(t,dar);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Gur)}),t,l),lwe(t,Ear)}else lwe(t,kar);return gx(Bwe(t),har),gx(Bwe(t),yar)})),XB(zTe,(function(r,e,t){var n=Bx(qTe,r,e);return Bx(Swe(Xur),n,t)}));var WTe=[0,MTe,jTe,UTe,XTe,GTe,JTe,qTe,zTe],VTe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Te=function r(e,t,n){return r.fun(e,t,n)};XB(VTe,(function(r,e,t,n){gx(Bwe(t),hur),Bx(Bwe(t),Cur,yur);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),wur),gx(Bwe(t),Aur),Bx(Bwe(t),gur,_ur);var a=n[2];if(a){lwe(t,Bur);var i=a[1];Bx(Bwe(t),Sur,i),lwe(t,xur)}else lwe(t,Tur);gx(Bwe(t),Iur),gx(Bwe(t),Nur),Bx(Bwe(t),Lur,Our);var c=n[3];if(c){lwe(t,Pur);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,kur)}),t,f),lwe(t,Rur)}else lwe(t,Mur);return gx(Bwe(t),jur),gx(Bwe(t),Uur)})),XB($Te,(function(r,e,t){var n=Bx(VTe,r,e);return Bx(Swe(Eur),n,t)}));var YTe=[0,VTe,$Te],HTe=function r(e,t,n){return r.fun(e,t,n)},KTe=function r(e,t){return r.fun(e,t)};XB(HTe,(function(r,e,t){gx(Bwe(e),lur),Bx(Bwe(e),Dur,vur);var n=t[1];if(n){lwe(e,pur);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,sur)}),e,u),lwe(e,bur)}else lwe(e,Fur);return gx(Bwe(e),mur),gx(Bwe(e),dur)})),XB(KTe,(function(r,e){var t=gx(HTe,r);return Bx(Swe(our),t,e)}));var QTe=[0,HTe,KTe],ZTe=function r(e,t){return r.fun(e,t)},rIe=function r(e){return r.fun(e)},eIe=function r(e,t,n,u){return r.fun(e,t,n,u)},tIe=function r(e,t,n){return r.fun(e,t,n)},nIe=function r(e,t,n,u){return r.fun(e,t,n,u)},uIe=function r(e,t,n){return r.fun(e,t,n)};XB(ZTe,(function(r,e){return lwe(r,0===e?fur:cur)})),XB(rIe,(function(r){return Bx(Swe(iur),ZTe,r)})),XB(eIe,(function(r,e,t,n){gx(Bwe(t),nur),Bx(r,t,n[1]),gx(Bwe(t),uur);var u=n[2];return xx(nIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),aur)})),XB(tIe,(function(r,e,t){var n=Bx(eIe,r,e);return Bx(Swe(tur),n,t)})),XB(nIe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),Ptr);var u=n[1];return xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Rtr);case 1:gx(Bwe(t),Mtr);var a=n[1];return Sx(uSe[1],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),jtr);case 2:gx(Bwe(t),Utr);var i=n[1];return xx(QAe[8],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Xtr);case 3:gx(Bwe(t),Gtr);var c=n[1];return Sx(cSe[1],(function(e){return gx(r,e)}),t,c),gx(Bwe(t),Jtr);case 4:gx(Bwe(t),qtr);var f=n[1];return Sx(sSe[1],(function(e){return gx(r,e)}),t,f),gx(Bwe(t),ztr);case 5:gx(Bwe(t),Wtr);var o=n[1];return xx(eTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),Vtr);case 6:gx(Bwe(t),$tr);var s=n[1];return xx(RTe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),Ytr);case 7:gx(Bwe(t),Htr);var l=n[1];return xx(cTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,l),gx(Bwe(t),Ktr);case 8:gx(Bwe(t),Qtr);var v=n[1];return xx(Qxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),Ztr);case 9:gx(Bwe(t),rnr);var D=n[1];return xx(pTe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,D),gx(Bwe(t),enr);case 10:gx(Bwe(t),tnr);var p=n[1];return xx(mTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),gx(Bwe(t),nnr);case 11:gx(Bwe(t),unr);var b=n[1];return xx(FSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,b),gx(Bwe(t),anr);case 12:gx(Bwe(t),inr);var F=n[1];return xx(ESe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,F),gx(Bwe(t),cnr);case 13:gx(Bwe(t),fnr);var m=n[1];return xx(uTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,m),gx(Bwe(t),onr);case 14:gx(Bwe(t),snr);var d=n[1];return xx(nxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,d),gx(Bwe(t),lnr);case 15:gx(Bwe(t),vnr);var E=n[1];return Sx(QTe[1],(function(e){return gx(r,e)}),t,E),gx(Bwe(t),Dnr);case 16:gx(Bwe(t),pnr);var k=n[1];return xx(Yxe[7],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,k),gx(Bwe(t),bnr);case 17:gx(Bwe(t),Fnr);var h=n[1];return xx(ITe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,h),gx(Bwe(t),mnr);case 18:gx(Bwe(t),dnr);var y=n[1];return xx(gTe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,y),gx(Bwe(t),Enr);case 19:gx(Bwe(t),knr);var C=n[1];return xx(YTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,C),gx(Bwe(t),hnr);case 20:gx(Bwe(t),ynr);var w=n[1];return xx(fxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,w),gx(Bwe(t),Cnr);case 21:gx(Bwe(t),wnr);var A=n[1];return xx(Dxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,A),gx(Bwe(t),Anr);case 22:gx(Bwe(t),_nr);var _=n[1];return xx(dxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,_),gx(Bwe(t),gnr);case 23:gx(Bwe(t),Bnr);var g=n[1];return xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,g),gx(Bwe(t),Snr);case 24:gx(Bwe(t),xnr);var B=n[1];return xx(QBe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,B),gx(Bwe(t),Tnr);case 25:gx(Bwe(t),Inr);var S=n[1];return xx(WTe[7],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,S),gx(Bwe(t),Nnr);case 26:gx(Bwe(t),Onr);var x=n[1];return xx(Qxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,x),gx(Bwe(t),Lnr);case 27:gx(Bwe(t),Pnr);var T=n[1];return xx(eSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,T),gx(Bwe(t),Rnr);case 28:gx(Bwe(t),Mnr);var I=n[1];return xx(xSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,I),gx(Bwe(t),jnr);case 29:gx(Bwe(t),Unr);var N=n[1];return xx(gSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,N),gx(Bwe(t),Xnr);case 30:gx(Bwe(t),Gnr);var O=n[1];return xx(NSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,O),gx(Bwe(t),Jnr);case 31:gx(Bwe(t),qnr);var L=n[1];return xx(XSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,L),gx(Bwe(t),znr);case 32:gx(Bwe(t),Wnr);var P=n[1];return xx(FSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,P),gx(Bwe(t),Vnr);case 33:gx(Bwe(t),$nr);var R=n[1];return xx(ESe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,R),gx(Bwe(t),Ynr);case 34:gx(Bwe(t),Hnr);var M=n[1];return xx(KSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,M),gx(Bwe(t),Knr);case 35:gx(Bwe(t),Qnr);var j=n[1];return xx(rxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,j),gx(Bwe(t),Znr);default:gx(Bwe(t),rur);var U=n[1];return xx(DSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,U),gx(Bwe(t),eur)}})),XB(uIe,(function(r,e,t){var n=Bx(nIe,r,e);return Bx(Swe(Ltr),n,t)})),Sx(eAe,KJr,VAe,[0,qBe,QBe,eSe,uSe,cSe,sSe,DSe,FSe,ESe,gSe,xSe,NSe,XSe,KSe,rxe,nxe,fxe,Dxe,dxe,Yxe,Qxe,eTe,uTe,cTe,pTe,mTe,gTe,ITe,RTe,WTe,YTe,QTe,ZTe,rIe,eIe,tIe,nIe,uIe]);var aIe=function r(e,t,n,u){return r.fun(e,t,n,u)},iIe=function r(e,t,n){return r.fun(e,t,n)},cIe=function r(e,t,n){return r.fun(e,t,n)},fIe=function r(e,t){return r.fun(e,t)};XB(aIe,(function(r,e,t,n){gx(Bwe(t),Itr),Bx(e,t,n[1]),gx(Bwe(t),Ntr);var u=n[2];return Sx(cIe,(function(e){return gx(r,e)}),t,u),gx(Bwe(t),Otr)})),XB(iIe,(function(r,e,t){var n=Bx(aIe,r,e);return Bx(Swe(Ttr),n,t)})),XB(cIe,(function(r,e,t){gx(Bwe(e),Ctr),Bx(Bwe(e),Atr,wtr);var n=t[1];if(n){lwe(e,_tr);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ytr)}),e,u),lwe(e,gtr)}else lwe(e,Btr);return gx(Bwe(e),Str),gx(Bwe(e),xtr)})),XB(fIe,(function(r,e){var t=gx(cIe,r);return Bx(Swe(htr),t,e)}));var oIe=[0,aIe,iIe,cIe,fIe],sIe=function r(e,t,n,u){return r.fun(e,t,n,u)},lIe=function r(e,t,n){return r.fun(e,t,n)};XB(sIe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),mtr);var u=n[1];return xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),dtr)}gx(Bwe(t),Etr);var a=n[1];return xx(oIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),ktr)})),XB(lIe,(function(r,e,t){var n=Bx(sIe,r,e);return Bx(Swe(Ftr),n,t)}));var vIe=[0,oIe,sIe,lIe],DIe=function r(e,t,n,u){return r.fun(e,t,n,u)},pIe=function r(e,t,n){return r.fun(e,t,n)},bIe=function r(e,t,n,u){return r.fun(e,t,n,u)},FIe=function r(e,t,n){return r.fun(e,t,n)};XB(DIe,(function(r,e,t,n){gx(Bwe(t),Dtr),Bx(r,t,n[1]),gx(Bwe(t),ptr);var u=n[2];return xx(bIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),btr)})),XB(pIe,(function(r,e,t){var n=Bx(DIe,r,e);return Bx(Swe(vtr),n,t)})),XB(bIe,(function(r,e,t,n){gx(Bwe(t),Qer),Bx(Bwe(t),rtr,Zer);var u=n[1];gx(Bwe(t),etr);Sye((function(n,u){return n&&gx(Bwe(t),Ker),xx(vIe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),ttr),gx(Bwe(t),ntr),gx(Bwe(t),utr),Bx(Bwe(t),itr,atr);var a=n[2];if(a){lwe(t,ctr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),Yer);return Sye((function(t,n){return t&&gx(Bwe(e),$er),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),Her)}),t,i),lwe(t,ftr)}else lwe(t,otr);return gx(Bwe(t),str),gx(Bwe(t),ltr)})),XB(FIe,(function(r,e,t){var n=Bx(bIe,r,e);return Bx(Swe(Ver),n,t)}));var mIe=function r(e,t,n,u){return r.fun(e,t,n,u)},dIe=function r(e,t,n){return r.fun(e,t,n)},EIe=function r(e,t,n,u){return r.fun(e,t,n,u)},kIe=function r(e,t,n){return r.fun(e,t,n)},hIe=[0,DIe,pIe,bIe,FIe];XB(mIe,(function(r,e,t,n){gx(Bwe(t),qer),Bx(r,t,n[1]),gx(Bwe(t),zer);var u=n[2];return xx(EIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Wer)})),XB(dIe,(function(r,e,t){var n=Bx(mIe,r,e);return Bx(Swe(Jer),n,t)})),XB(EIe,(function(r,e,t,n){gx(Bwe(t),Ter),Bx(Bwe(t),Ner,Ier);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Oer),gx(Bwe(t),Ler),Bx(Bwe(t),Rer,Per);var a=n[2];if(a){lwe(t,Mer);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,xer)}),t,i),lwe(t,jer)}else lwe(t,Uer);return gx(Bwe(t),Xer),gx(Bwe(t),Ger)})),XB(kIe,(function(r,e,t){var n=Bx(EIe,r,e);return Bx(Swe(Ser),n,t)}));var yIe=[0,mIe,dIe,EIe,kIe],CIe=function r(e,t,n,u){return r.fun(e,t,n,u)},wIe=function r(e,t,n){return r.fun(e,t,n)};XB(CIe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),Cer);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),wer);case 1:gx(Bwe(t),Aer);var a=n[1];return xx(yIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),_er);default:return gx(Bwe(t),ger),Bx(r,t,n[1]),gx(Bwe(t),Ber)}})),XB(wIe,(function(r,e,t){var n=Bx(CIe,r,e);return Bx(Swe(yer),n,t)}));var AIe=function r(e,t,n,u){return r.fun(e,t,n,u)},_Ie=function r(e,t,n){return r.fun(e,t,n)};XB(AIe,(function(r,e,t,n){gx(Bwe(t),fer),Bx(Bwe(t),ser,oer);var u=n[1];gx(Bwe(t),ler);Sye((function(n,u){return n&&gx(Bwe(t),cer),xx(CIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),ver),gx(Bwe(t),Der),gx(Bwe(t),per),Bx(Bwe(t),Fer,ber);var a=n[2];if(a){lwe(t,mer);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),aer);return Sye((function(t,n){return t&&gx(Bwe(e),uer),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),ier)}),t,i),lwe(t,der)}else lwe(t,Eer);return gx(Bwe(t),ker),gx(Bwe(t),her)})),XB(_Ie,(function(r,e,t){var n=Bx(AIe,r,e);return Bx(Swe(ner),n,t)}));var gIe=[0,CIe,wIe,AIe,_Ie],BIe=function r(e,t){return r.fun(e,t)},SIe=function r(e){return r.fun(e)},xIe=function r(e,t,n){return r.fun(e,t,n)},TIe=function r(e,t){return r.fun(e,t)},IIe=function r(e,t){return r.fun(e,t)},NIe=function r(e){return r.fun(e)};XB(BIe,(function(r,e){gx(Bwe(r),Wrr),Bx(Bwe(r),$rr,Vrr);var t=e[1];Bx(Bwe(r),Yrr,t),gx(Bwe(r),Hrr),gx(Bwe(r),Krr),Bx(Bwe(r),Zrr,Qrr);var n=e[2];return Bx(Bwe(r),rer,n),gx(Bwe(r),eer),gx(Bwe(r),ter)})),XB(SIe,(function(r){return Bx(Swe(zrr),BIe,r)})),XB(xIe,(function(r,e,t){return gx(Bwe(e),Grr),Bx(r,e,t[1]),gx(Bwe(e),Jrr),Bx(IIe,e,t[2]),gx(Bwe(e),qrr)})),XB(TIe,(function(r,e){var t=gx(xIe,r);return Bx(Swe(Xrr),t,e)})),XB(IIe,(function(r,e){gx(Bwe(r),Trr),Bx(Bwe(r),Nrr,Irr),Bx(BIe,r,e[1]),gx(Bwe(r),Orr),gx(Bwe(r),Lrr),Bx(Bwe(r),Rrr,Prr);var t=e[2];return Bx(Bwe(r),Mrr,t),gx(Bwe(r),jrr),gx(Bwe(r),Urr)})),XB(NIe,(function(r){return Bx(Swe(xrr),IIe,r)}));var OIe=[0,BIe,SIe,xIe,TIe,IIe,NIe],LIe=function r(e,t,n,u){return r.fun(e,t,n,u)},PIe=function r(e,t,n){return r.fun(e,t,n)};XB(LIe,(function(r,e,t,n){gx(Bwe(t),srr),Bx(Bwe(t),vrr,lrr);var u=n[1];gx(Bwe(t),Drr);Sye((function(e,n){return e&&gx(Bwe(t),orr),Sx(OIe[3],(function(e){return gx(r,e)}),t,n),1}),0,u),gx(Bwe(t),prr),gx(Bwe(t),brr),gx(Bwe(t),Frr),Bx(Bwe(t),drr,mrr);var a=n[2];gx(Bwe(t),Err);Sye((function(n,u){return n&&gx(Bwe(t),frr),xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,a),gx(Bwe(t),krr),gx(Bwe(t),hrr),gx(Bwe(t),yrr),Bx(Bwe(t),wrr,Crr);var i=n[3];if(i){lwe(t,Arr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,crr)}),t,c),lwe(t,_rr)}else lwe(t,grr);return gx(Bwe(t),Brr),gx(Bwe(t),Srr)})),XB(PIe,(function(r,e,t){var n=Bx(LIe,r,e);return Bx(Swe(irr),n,t)}));var RIe=[0,OIe,LIe,PIe],MIe=function r(e,t,n,u){return r.fun(e,t,n,u)},jIe=function r(e,t,n){return r.fun(e,t,n)};XB(MIe,(function(r,e,t,n){gx(Bwe(t),X9),Bx(Bwe(t),J9,G9);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),q9),gx(Bwe(t),z9),Bx(Bwe(t),V9,W9);var a=n[2];gx(Bwe(t),$9),Bx(r,t,a[1]),gx(Bwe(t),Y9);var i=a[2];xx(RIe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),H9),gx(Bwe(t),K9),gx(Bwe(t),Q9),Bx(Bwe(t),rrr,Z9);var c=n[3];if(c){lwe(t,err);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,U9)}),t,f),lwe(t,trr)}else lwe(t,nrr);return gx(Bwe(t),urr),gx(Bwe(t),arr)})),XB(jIe,(function(r,e,t){var n=Bx(MIe,r,e);return Bx(Swe(j9),n,t)}));var UIe=[0,MIe,jIe],XIe=function r(e,t,n,u){return r.fun(e,t,n,u)},GIe=function r(e,t,n){return r.fun(e,t,n)},JIe=function r(e,t,n,u){return r.fun(e,t,n,u)},qIe=function r(e,t,n){return r.fun(e,t,n)},zIe=function r(e,t,n,u){return r.fun(e,t,n,u)},WIe=function r(e,t,n){return r.fun(e,t,n)};XB(XIe,(function(r,e,t,n){switch(n[0]){case 0:var u=n[1];gx(Bwe(t),B9),gx(Bwe(t),S9),Bx(e,t,u[1]),gx(Bwe(t),x9);var a=u[2];return Sx(jAe[2],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),T9),gx(Bwe(t),I9);case 1:gx(Bwe(t),N9);var i=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),O9);case 2:gx(Bwe(t),L9);var c=n[1];return Sx(MAe[1],(function(e){return gx(r,e)}),t,c),gx(Bwe(t),P9);default:gx(Bwe(t),R9);var f=n[1];return xx(zAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),M9)}})),XB(GIe,(function(r,e,t){var n=Bx(XIe,r,e);return Bx(Swe(g9),n,t)})),XB(JIe,(function(r,e,t,n){gx(Bwe(t),w9),Bx(r,t,n[1]),gx(Bwe(t),A9);var u=n[2];return xx(zIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),_9)})),XB(qIe,(function(r,e,t){var n=Bx(JIe,r,e);return Bx(Swe(C9),n,t)})),XB(zIe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),D5),Bx(Bwe(t),b5,p5);var u=n[1];xx(XIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),F5),gx(Bwe(t),m5),Bx(Bwe(t),E5,d5);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),k5),gx(Bwe(t),h5),Bx(Bwe(t),C5,y5);var i=n[3];return Bx(Bwe(t),w5,i),gx(Bwe(t),A5),gx(Bwe(t),_5);case 1:var c=n[2];gx(Bwe(t),g5),Bx(Bwe(t),S5,B5);var f=n[1];xx(XIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),x5),gx(Bwe(t),T5),Bx(Bwe(t),N5,I5),gx(Bwe(t),O5),Bx(r,t,c[1]),gx(Bwe(t),L5);var o=c[2];return xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),P5),gx(Bwe(t),R5),gx(Bwe(t),M5);case 2:var s=n[3],l=n[2];gx(Bwe(t),j5),Bx(Bwe(t),X5,U5);var v=n[1];xx(XIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),G5),gx(Bwe(t),J5),Bx(Bwe(t),z5,q5),gx(Bwe(t),W5),Bx(r,t,l[1]),gx(Bwe(t),V5);var D=l[2];if(xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,D),gx(Bwe(t),$5),gx(Bwe(t),Y5),gx(Bwe(t),H5),Bx(Bwe(t),Q5,K5),s){lwe(t,Z5);var p=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,v5)}),t,p),lwe(t,r9)}else lwe(t,e9);return gx(Bwe(t),t9),gx(Bwe(t),n9);default:var b=n[3],F=n[2];gx(Bwe(t),u9),Bx(Bwe(t),i9,a9);var m=n[1];xx(XIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,m),gx(Bwe(t),c9),gx(Bwe(t),f9),Bx(Bwe(t),s9,o9),gx(Bwe(t),l9),Bx(r,t,F[1]),gx(Bwe(t),v9);var d=F[2];if(xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,d),gx(Bwe(t),D9),gx(Bwe(t),p9),gx(Bwe(t),b9),Bx(Bwe(t),m9,F9),b){lwe(t,d9);var E=b[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,l5)}),t,E),lwe(t,E9)}else lwe(t,k9);return gx(Bwe(t),h9),gx(Bwe(t),y9)}})),XB(WIe,(function(r,e,t){var n=Bx(zIe,r,e);return Bx(Swe(s5),n,t)}));var VIe=[0,XIe,GIe,JIe,qIe,zIe,WIe],$Ie=function r(e,t,n,u){return r.fun(e,t,n,u)},YIe=function r(e,t,n){return r.fun(e,t,n)},HIe=function r(e,t,n,u){return r.fun(e,t,n,u)},KIe=function r(e,t,n){return r.fun(e,t,n)};XB($Ie,(function(r,e,t,n){gx(Bwe(t),c5),Bx(r,t,n[1]),gx(Bwe(t),f5);var u=n[2];return xx(HIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),o5)})),XB(YIe,(function(r,e,t){var n=Bx($Ie,r,e);return Bx(Swe(i5),n,t)})),XB(HIe,(function(r,e,t,n){gx(Bwe(t),$6),Bx(Bwe(t),H6,Y6);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),K6),gx(Bwe(t),Q6),Bx(Bwe(t),r5,Z6);var a=n[2];if(a){lwe(t,e5);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,V6)}),t,i),lwe(t,t5)}else lwe(t,n5);return gx(Bwe(t),u5),gx(Bwe(t),a5)})),XB(KIe,(function(r,e,t){var n=Bx(HIe,r,e);return Bx(Swe(W6),n,t)}));var QIe=[0,$Ie,YIe,HIe,KIe],ZIe=function r(e,t,n,u){return r.fun(e,t,n,u)},rNe=function r(e,t,n){return r.fun(e,t,n)},eNe=function r(e,t,n,u){return r.fun(e,t,n,u)},tNe=function r(e,t,n){return r.fun(e,t,n)};XB(ZIe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),G6);var u=n[1];return xx(VIe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),J6)}gx(Bwe(t),q6);var a=n[1];return xx(QIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),z6)})),XB(rNe,(function(r,e,t){var n=Bx(ZIe,r,e);return Bx(Swe(X6),n,t)})),XB(eNe,(function(r,e,t,n){gx(Bwe(t),g6),Bx(Bwe(t),S6,B6);var u=n[1];gx(Bwe(t),x6);Sye((function(n,u){return n&&gx(Bwe(t),_6),xx(ZIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),T6),gx(Bwe(t),I6),gx(Bwe(t),N6),Bx(Bwe(t),L6,O6);var a=n[2];if(a){lwe(t,P6);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),w6);return Sye((function(t,n){return t&&gx(Bwe(e),C6),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),A6)}),t,i),lwe(t,R6)}else lwe(t,M6);return gx(Bwe(t),j6),gx(Bwe(t),U6)})),XB(tNe,(function(r,e,t){var n=Bx(eNe,r,e);return Bx(Swe(y6),n,t)}));var nNe=[0,VIe,QIe,ZIe,rNe,eNe,tNe],uNe=function r(e,t,n,u){return r.fun(e,t,n,u)},aNe=function r(e,t,n){return r.fun(e,t,n)};XB(uNe,(function(r,e,t,n){gx(Bwe(t),f6),Bx(Bwe(t),s6,o6);var u=n[1];gx(Bwe(t),l6);Sye((function(n,u){return n&&gx(Bwe(t),c6),xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),v6),gx(Bwe(t),D6),gx(Bwe(t),p6),Bx(Bwe(t),F6,b6);var a=n[2];if(a){lwe(t,m6);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,i6)}),t,i),lwe(t,d6)}else lwe(t,E6);return gx(Bwe(t),k6),gx(Bwe(t),h6)})),XB(aNe,(function(r,e,t){var n=Bx(uNe,r,e);return Bx(Swe(a6),n,t)}));var iNe=[0,uNe,aNe],cNe=function r(e,t){return r.fun(e,t)},fNe=function r(e){return r.fun(e)},oNe=function r(e,t,n,u){return r.fun(e,t,n,u)},sNe=function r(e,t,n){return r.fun(e,t,n)};XB(cNe,(function(r,e){switch(e){case 0:return lwe(r,K4);case 1:return lwe(r,Q4);case 2:return lwe(r,Z4);case 3:return lwe(r,r6);case 4:return lwe(r,e6);case 5:return lwe(r,t6);case 6:return lwe(r,n6);default:return lwe(r,u6)}})),XB(fNe,(function(r){return Bx(Swe(H4),cNe,r)})),XB(oNe,(function(r,e,t,n){gx(Bwe(t),O4),Bx(Bwe(t),P4,L4),Bx(cNe,t,n[1]),gx(Bwe(t),R4),gx(Bwe(t),M4),Bx(Bwe(t),U4,j4);var u=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),X4),gx(Bwe(t),G4),Bx(Bwe(t),q4,J4);var a=n[3];if(a){lwe(t,z4);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,N4)}),t,i),lwe(t,W4)}else lwe(t,V4);return gx(Bwe(t),$4),gx(Bwe(t),Y4)})),XB(sNe,(function(r,e,t){var n=Bx(oNe,r,e);return Bx(Swe(I4),n,t)}));var lNe=[0,cNe,fNe,oNe,sNe],vNe=function r(e,t){return r.fun(e,t)},DNe=function r(e){return r.fun(e)},pNe=function r(e,t,n,u){return r.fun(e,t,n,u)},bNe=function r(e,t,n){return r.fun(e,t,n)};XB(vNe,(function(r,e){switch(e){case 0:return lwe(r,s4);case 1:return lwe(r,l4);case 2:return lwe(r,v4);case 3:return lwe(r,D4);case 4:return lwe(r,p4);case 5:return lwe(r,b4);case 6:return lwe(r,F4);case 7:return lwe(r,m4);case 8:return lwe(r,d4);case 9:return lwe(r,E4);case 10:return lwe(r,k4);case 11:return lwe(r,h4);case 12:return lwe(r,y4);case 13:return lwe(r,C4);case 14:return lwe(r,w4);case 15:return lwe(r,A4);case 16:return lwe(r,_4);case 17:return lwe(r,g4);case 18:return lwe(r,B4);case 19:return lwe(r,S4);case 20:return lwe(r,x4);default:return lwe(r,T4)}})),XB(DNe,(function(r){return Bx(Swe(o4),vNe,r)})),XB(pNe,(function(r,e,t,n){gx(Bwe(t),J3),Bx(Bwe(t),z3,q3),Bx(vNe,t,n[1]),gx(Bwe(t),W3),gx(Bwe(t),V3),Bx(Bwe(t),Y3,$3);var u=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),H3),gx(Bwe(t),K3),Bx(Bwe(t),Z3,Q3);var a=n[3];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),r4),gx(Bwe(t),e4),Bx(Bwe(t),n4,t4);var i=n[4];if(i){lwe(t,u4);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,G3)}),t,c),lwe(t,a4)}else lwe(t,i4);return gx(Bwe(t),c4),gx(Bwe(t),f4)})),XB(bNe,(function(r,e,t){var n=Bx(pNe,r,e);return Bx(Swe(X3),n,t)}));var FNe=[0,vNe,DNe,pNe,bNe],mNe=function r(e,t){return r.fun(e,t)},dNe=function r(e){return r.fun(e)},ENe=function r(e,t,n,u){return r.fun(e,t,n,u)},kNe=function r(e,t,n){return r.fun(e,t,n)};XB(mNe,(function(r,e){switch(e){case 0:return lwe(r,S3);case 1:return lwe(r,x3);case 2:return lwe(r,T3);case 3:return lwe(r,I3);case 4:return lwe(r,N3);case 5:return lwe(r,O3);case 6:return lwe(r,L3);case 7:return lwe(r,P3);case 8:return lwe(r,R3);case 9:return lwe(r,M3);case 10:return lwe(r,j3);default:return lwe(r,U3)}})),XB(dNe,(function(r){return Bx(Swe(B3),mNe,r)})),XB(ENe,(function(r,e,t,n){gx(Bwe(t),a3),Bx(Bwe(t),c3,i3);var u=n[1];u?(lwe(t,f3),Bx(mNe,t,u[1]),lwe(t,o3)):lwe(t,s3),gx(Bwe(t),l3),gx(Bwe(t),v3),Bx(Bwe(t),p3,D3);var a=n[2];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),b3),gx(Bwe(t),F3),Bx(Bwe(t),d3,m3);var i=n[3];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),E3),gx(Bwe(t),k3),Bx(Bwe(t),y3,h3);var c=n[4];if(c){lwe(t,C3);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,u3)}),t,f),lwe(t,w3)}else lwe(t,A3);return gx(Bwe(t),_3),gx(Bwe(t),g3)})),XB(kNe,(function(r,e,t){var n=Bx(ENe,r,e);return Bx(Swe(n3),n,t)}));var hNe=[0,mNe,dNe,ENe,kNe],yNe=function r(e,t){return r.fun(e,t)},CNe=function r(e){return r.fun(e)},wNe=function r(e,t,n,u){return r.fun(e,t,n,u)},ANe=function r(e,t,n){return r.fun(e,t,n)};XB(yNe,(function(r,e){return lwe(r,0===e?t3:e3)})),XB(CNe,(function(r){return Bx(Swe(r3),yNe,r)})),XB(wNe,(function(r,e,t,n){gx(Bwe(t),N8),Bx(Bwe(t),L8,O8),Bx(yNe,t,n[1]),gx(Bwe(t),P8),gx(Bwe(t),R8),Bx(Bwe(t),j8,M8);var u=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),U8),gx(Bwe(t),X8),Bx(Bwe(t),J8,G8);var a=n[3];Bx(Bwe(t),q8,a),gx(Bwe(t),z8),gx(Bwe(t),W8),Bx(Bwe(t),$8,V8);var i=n[4];if(i){lwe(t,Y8);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,I8)}),t,c),lwe(t,H8)}else lwe(t,K8);return gx(Bwe(t),Q8),gx(Bwe(t),Z8)})),XB(ANe,(function(r,e,t){var n=Bx(wNe,r,e);return Bx(Swe(T8),n,t)}));var _Ne=[0,yNe,CNe,wNe,ANe],gNe=function r(e,t){return r.fun(e,t)},BNe=function r(e){return r.fun(e)},SNe=function r(e,t,n,u){return r.fun(e,t,n,u)},xNe=function r(e,t,n){return r.fun(e,t,n)};XB(gNe,(function(r,e){switch(e){case 0:return lwe(r,B8);case 1:return lwe(r,S8);default:return lwe(r,x8)}})),XB(BNe,(function(r){return Bx(Swe(g8),gNe,r)})),XB(SNe,(function(r,e,t,n){gx(Bwe(t),c8),Bx(Bwe(t),o8,f8),Bx(gNe,t,n[1]),gx(Bwe(t),s8),gx(Bwe(t),l8),Bx(Bwe(t),D8,v8);var u=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),p8),gx(Bwe(t),b8),Bx(Bwe(t),m8,F8);var a=n[3];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),d8),gx(Bwe(t),E8),Bx(Bwe(t),h8,k8);var i=n[4];if(i){lwe(t,y8);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,i8)}),t,c),lwe(t,C8)}else lwe(t,w8);return gx(Bwe(t),A8),gx(Bwe(t),_8)})),XB(xNe,(function(r,e,t){var n=Bx(SNe,r,e);return Bx(Swe(a8),n,t)}));var TNe=[0,gNe,BNe,SNe,xNe],INe=function r(e,t,n,u){return r.fun(e,t,n,u)},NNe=function r(e,t,n){return r.fun(e,t,n)};XB(INe,(function(r,e,t,n){gx(Bwe(t),j7),Bx(Bwe(t),X7,U7);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),G7),gx(Bwe(t),J7),Bx(Bwe(t),z7,q7);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),W7),gx(Bwe(t),V7),Bx(Bwe(t),Y7,$7);var i=n[3];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),H7),gx(Bwe(t),K7),Bx(Bwe(t),Z7,Q7);var c=n[4];if(c){lwe(t,r8);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,M7)}),t,f),lwe(t,e8)}else lwe(t,t8);return gx(Bwe(t),n8),gx(Bwe(t),u8)})),XB(NNe,(function(r,e,t){var n=Bx(INe,r,e);return Bx(Swe(R7),n,t)}));var ONe=[0,INe,NNe],LNe=function r(e,t,n,u){return r.fun(e,t,n,u)},PNe=function r(e,t,n){return r.fun(e,t,n)};XB(LNe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),N7);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),O7)}gx(Bwe(t),L7);var a=n[1];return xx(yIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),P7)})),XB(PNe,(function(r,e,t){var n=Bx(LNe,r,e);return Bx(Swe(I7),n,t)}));var RNe=function r(e,t,n,u){return r.fun(e,t,n,u)},MNe=function r(e,t,n){return r.fun(e,t,n)},jNe=function r(e,t,n,u){return r.fun(e,t,n,u)},UNe=function r(e,t,n){return r.fun(e,t,n)};XB(RNe,(function(r,e,t,n){gx(Bwe(t),S7),Bx(r,t,n[1]),gx(Bwe(t),x7);var u=n[2];return xx(jNe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),T7)})),XB(MNe,(function(r,e,t){var n=Bx(RNe,r,e);return Bx(Swe(B7),n,t)})),XB(jNe,(function(r,e,t,n){gx(Bwe(t),p7),Bx(Bwe(t),F7,b7);var u=n[1];gx(Bwe(t),m7);Sye((function(n,u){return n&&gx(Bwe(t),D7),xx(LNe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),d7),gx(Bwe(t),E7),gx(Bwe(t),k7),Bx(Bwe(t),y7,h7);var a=n[2];if(a){lwe(t,C7);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),l7);return Sye((function(t,n){return t&&gx(Bwe(e),s7),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),v7)}),t,i),lwe(t,w7)}else lwe(t,A7);return gx(Bwe(t),_7),gx(Bwe(t),g7)})),XB(UNe,(function(r,e,t){var n=Bx(jNe,r,e);return Bx(Swe(o7),n,t)}));var XNe=[0,RNe,MNe,jNe,UNe],GNe=function r(e,t,n,u){return r.fun(e,t,n,u)},JNe=function r(e,t,n){return r.fun(e,t,n)};XB(GNe,(function(r,e,t,n){gx(Bwe(t),R2),Bx(Bwe(t),j2,M2);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),U2),gx(Bwe(t),X2),Bx(Bwe(t),J2,G2);var a=n[2];if(a){lwe(t,q2);var i=a[1];xx($Ae[2][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,z2)}else lwe(t,W2);gx(Bwe(t),V2),gx(Bwe(t),$2),Bx(Bwe(t),H2,Y2);var c=n[3];if(c){lwe(t,K2);var f=c[1];xx(XNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,Q2)}else lwe(t,Z2);gx(Bwe(t),r7),gx(Bwe(t),e7),Bx(Bwe(t),n7,t7);var o=n[4];if(o){lwe(t,u7);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,P2)}),t,s),lwe(t,a7)}else lwe(t,i7);return gx(Bwe(t),c7),gx(Bwe(t),f7)})),XB(JNe,(function(r,e,t){var n=Bx(GNe,r,e);return Bx(Swe(L2),n,t)}));var qNe=[0,GNe,JNe],zNe=function r(e,t,n,u){return r.fun(e,t,n,u)},WNe=function r(e,t,n){return r.fun(e,t,n)};XB(zNe,(function(r,e,t,n){gx(Bwe(t),v2),Bx(Bwe(t),p2,D2);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),b2),gx(Bwe(t),F2),Bx(Bwe(t),d2,m2);var a=n[2];if(a){lwe(t,E2);var i=a[1];xx($Ae[2][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,k2)}else lwe(t,h2);gx(Bwe(t),y2),gx(Bwe(t),C2),Bx(Bwe(t),A2,w2);var c=n[3];xx(XNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),_2),gx(Bwe(t),g2),Bx(Bwe(t),S2,B2);var f=n[4];if(f){lwe(t,x2);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,l2)}),t,o),lwe(t,T2)}else lwe(t,I2);return gx(Bwe(t),N2),gx(Bwe(t),O2)})),XB(WNe,(function(r,e,t){var n=Bx(zNe,r,e);return Bx(Swe(s2),n,t)}));var VNe=[0,zNe,WNe],$Ne=function r(e,t,n,u){return r.fun(e,t,n,u)},YNe=function r(e,t,n){return r.fun(e,t,n)};XB($Ne,(function(r,e,t,n){gx(Bwe(t),r2),Bx(Bwe(t),t2,e2);var u=n[1];xx(VNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),n2),gx(Bwe(t),u2),Bx(Bwe(t),i2,a2);var a=n[2];return Bx(Bwe(t),c2,a),gx(Bwe(t),f2),gx(Bwe(t),o2)})),XB(YNe,(function(r,e,t){var n=Bx($Ne,r,e);return Bx(Swe(Z1),n,t)}));var HNe=[0,$Ne,YNe],KNe=function r(e,t,n,u){return r.fun(e,t,n,u)},QNe=function r(e,t,n){return r.fun(e,t,n)},ZNe=function r(e,t,n,u){return r.fun(e,t,n,u)},rOe=function r(e,t,n){return r.fun(e,t,n)};XB(KNe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),V1);var u=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$1);case 1:gx(Bwe(t),Y1);var a=n[1];return Sx(MAe[1],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),H1);default:gx(Bwe(t),K1);var i=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Q1)}})),XB(QNe,(function(r,e,t){var n=Bx(KNe,r,e);return Bx(Swe(W1),n,t)})),XB(ZNe,(function(r,e,t,n){gx(Bwe(t),x1),Bx(Bwe(t),I1,T1);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),N1),gx(Bwe(t),O1),Bx(Bwe(t),P1,L1);var a=n[2];xx(KNe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),R1),gx(Bwe(t),M1),Bx(Bwe(t),U1,j1);var i=n[3];if(i){lwe(t,X1);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,S1)}),t,c),lwe(t,G1)}else lwe(t,J1);return gx(Bwe(t),q1),gx(Bwe(t),z1)})),XB(rOe,(function(r,e,t){var n=Bx(ZNe,r,e);return Bx(Swe(B1),n,t)}));var eOe=[0,KNe,QNe,ZNe,rOe],tOe=function r(e,t,n,u){return r.fun(e,t,n,u)},nOe=function r(e,t,n){return r.fun(e,t,n)};XB(tOe,(function(r,e,t,n){gx(Bwe(t),d1),Bx(Bwe(t),k1,E1);var u=n[1];xx(eOe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),h1),gx(Bwe(t),y1),Bx(Bwe(t),w1,C1);var a=n[2];return Bx(Bwe(t),A1,a),gx(Bwe(t),_1),gx(Bwe(t),g1)})),XB(nOe,(function(r,e,t){var n=Bx(tOe,r,e);return Bx(Swe(m1),n,t)}));var uOe=[0,tOe,nOe],aOe=function r(e,t,n,u){return r.fun(e,t,n,u)},iOe=function r(e,t,n){return r.fun(e,t,n)};XB(aOe,(function(r,e,t,n){gx(Bwe(t),K0),Bx(Bwe(t),Z0,Q0);var u=n[1];if(u){lwe(t,r1);var a=u[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,e1)}else lwe(t,t1);gx(Bwe(t),n1),gx(Bwe(t),u1),Bx(Bwe(t),i1,a1);var i=n[2];if(i){lwe(t,c1);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,H0)}),t,c),lwe(t,f1)}else lwe(t,o1);gx(Bwe(t),s1),gx(Bwe(t),l1),Bx(Bwe(t),D1,v1);var f=n[3];return Bx(Bwe(t),p1,f),gx(Bwe(t),b1),gx(Bwe(t),F1)})),XB(iOe,(function(r,e,t){var n=Bx(aOe,r,e);return Bx(Swe(Y0),n,t)}));var cOe=[0,aOe,iOe],fOe=function r(e,t,n,u){return r.fun(e,t,n,u)},oOe=function r(e,t,n){return r.fun(e,t,n)},sOe=function r(e,t,n,u){return r.fun(e,t,n,u)},lOe=function r(e,t,n){return r.fun(e,t,n)};XB(fOe,(function(r,e,t,n){gx(Bwe(t),W0),Bx(r,t,n[1]),gx(Bwe(t),V0);var u=n[2];return xx(sOe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$0)})),XB(oOe,(function(r,e,t){var n=Bx(fOe,r,e);return Bx(Swe(z0),n,t)})),XB(sOe,(function(r,e,t,n){gx(Bwe(t),T0),Bx(Bwe(t),N0,I0);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),O0),gx(Bwe(t),L0),Bx(Bwe(t),R0,P0);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),M0),gx(Bwe(t),j0),Bx(Bwe(t),X0,U0);var i=n[3];return Bx(Bwe(t),G0,i),gx(Bwe(t),J0),gx(Bwe(t),q0)})),XB(lOe,(function(r,e,t){var n=Bx(sOe,r,e);return Bx(Swe(x0),n,t)}));var vOe=[0,fOe,oOe,sOe,lOe],DOe=function r(e,t,n,u){return r.fun(e,t,n,u)},pOe=function r(e,t,n){return r.fun(e,t,n)};XB(DOe,(function(r,e,t,n){gx(Bwe(t),F0),Bx(Bwe(t),d0,m0);var u=n[1];gx(Bwe(t),E0);Sye((function(n,u){return n&&gx(Bwe(t),b0),xx(vOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),k0),gx(Bwe(t),h0),gx(Bwe(t),y0),Bx(Bwe(t),w0,C0);var a=n[2];if(a){lwe(t,A0);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,_0)}else lwe(t,g0);return gx(Bwe(t),B0),gx(Bwe(t),S0)})),XB(pOe,(function(r,e,t){var n=Bx(DOe,r,e);return Bx(Swe(p0),n,t)}));var bOe=[0,vOe,DOe,pOe],FOe=function r(e,t,n,u){return r.fun(e,t,n,u)},mOe=function r(e,t,n){return r.fun(e,t,n)};XB(FOe,(function(r,e,t,n){gx(Bwe(t),r0),Bx(Bwe(t),t0,e0);var u=n[1];gx(Bwe(t),n0);Sye((function(n,u){return n&&gx(Bwe(t),ZZ),xx(bOe[1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),u0),gx(Bwe(t),a0),gx(Bwe(t),i0),Bx(Bwe(t),f0,c0);var a=n[2];if(a){lwe(t,o0);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,s0)}else lwe(t,l0);return gx(Bwe(t),v0),gx(Bwe(t),D0)})),XB(mOe,(function(r,e,t){var n=Bx(FOe,r,e);return Bx(Swe(QZ),n,t)}));var dOe=[0,FOe,mOe],EOe=function r(e,t,n,u){return r.fun(e,t,n,u)},kOe=function r(e,t,n){return r.fun(e,t,n)};XB(EOe,(function(r,e,t,n){gx(Bwe(t),PZ),Bx(Bwe(t),MZ,RZ);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),jZ),gx(Bwe(t),UZ),Bx(Bwe(t),GZ,XZ);var a=n[2];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),JZ),gx(Bwe(t),qZ),Bx(Bwe(t),WZ,zZ);var i=n[3];if(i){lwe(t,VZ);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,LZ)}),t,c),lwe(t,$Z)}else lwe(t,YZ);return gx(Bwe(t),HZ),gx(Bwe(t),KZ)})),XB(kOe,(function(r,e,t){var n=Bx(EOe,r,e);return Bx(Swe(OZ),n,t)}));var hOe=[0,EOe,kOe],yOe=function r(e,t,n){return r.fun(e,t,n)},COe=function r(e,t){return r.fun(e,t)};XB(yOe,(function(r,e,t){gx(Bwe(e),dZ),Bx(Bwe(e),kZ,EZ);var n=t[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),hZ),gx(Bwe(e),yZ),Bx(Bwe(e),wZ,CZ);var u=t[2];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,u),gx(Bwe(e),AZ),gx(Bwe(e),_Z),Bx(Bwe(e),BZ,gZ);var a=t[3];if(a){lwe(e,SZ);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,mZ)}),e,i),lwe(e,xZ)}else lwe(e,TZ);return gx(Bwe(e),IZ),gx(Bwe(e),NZ)})),XB(COe,(function(r,e){var t=gx(yOe,r);return Bx(Swe(FZ),t,e)}));var wOe=[0,yOe,COe],AOe=function r(e,t,n){return r.fun(e,t,n)},_Oe=function r(e,t){return r.fun(e,t)};XB(AOe,(function(r,e,t){gx(Bwe(e),fZ),Bx(Bwe(e),sZ,oZ);var n=t[1];if(n){lwe(e,lZ);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,cZ)}),e,u),lwe(e,vZ)}else lwe(e,DZ);return gx(Bwe(e),pZ),gx(Bwe(e),bZ)})),XB(_Oe,(function(r,e){var t=gx(AOe,r);return Bx(Swe(iZ),t,e)}));var gOe=[0,AOe,_Oe],BOe=function r(e,t,n){return r.fun(e,t,n)},SOe=function r(e,t){return r.fun(e,t)};XB(BOe,(function(r,e,t){gx(Bwe(e),QQ),Bx(Bwe(e),rZ,ZQ);var n=t[1];if(n){lwe(e,eZ);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,KQ)}),e,u),lwe(e,tZ)}else lwe(e,nZ);return gx(Bwe(e),uZ),gx(Bwe(e),aZ)})),XB(SOe,(function(r,e){var t=gx(BOe,r);return Bx(Swe(HQ),t,e)}));var xOe=[0,BOe,SOe],TOe=function r(e,t,n,u){return r.fun(e,t,n,u)},IOe=function r(e,t,n){return r.fun(e,t,n)};XB(TOe,(function(r,e,t,n){gx(Bwe(t),MQ),Bx(Bwe(t),UQ,jQ);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),XQ),gx(Bwe(t),GQ),Bx(Bwe(t),qQ,JQ);var a=n[2];if(a){lwe(t,zQ);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,RQ)}),t,i),lwe(t,WQ)}else lwe(t,VQ);return gx(Bwe(t),$Q),gx(Bwe(t),YQ)})),XB(IOe,(function(r,e,t){var n=Bx(TOe,r,e);return Bx(Swe(PQ),n,t)}));var NOe=[0,TOe,IOe],OOe=function r(e,t,n,u){return r.fun(e,t,n,u)},LOe=function r(e,t,n){return r.fun(e,t,n)},POe=function r(e,t,n,u){return r.fun(e,t,n,u)},ROe=function r(e,t,n){return r.fun(e,t,n)};XB(OOe,(function(r,e,t,n){gx(Bwe(t),NQ),Bx(e,t,n[1]),gx(Bwe(t),OQ);var u=n[2];return xx(POe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),LQ)})),XB(LOe,(function(r,e,t){var n=Bx(OOe,r,e);return Bx(Swe(IQ),n,t)})),XB(POe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),wK);var u=n[1];return xx(gIe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),AK);case 1:gx(Bwe(t),_K);var a=n[1];return xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),gK);case 2:gx(Bwe(t),BK);var i=n[1];return xx(hNe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),SK);case 3:gx(Bwe(t),xK);var c=n[1];return xx(FNe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),TK);case 4:gx(Bwe(t),IK);var f=n[1];return xx(VNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),NK);case 5:gx(Bwe(t),OK);var o=n[1];return xx(QAe[8],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),LK);case 6:gx(Bwe(t),PK);var s=n[1];return xx(bOe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),RK);case 7:gx(Bwe(t),MK);var l=n[1];return xx(ONe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,l),gx(Bwe(t),jK);case 8:gx(Bwe(t),UK);var v=n[1];return xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),XK);case 9:gx(Bwe(t),GK);var D=n[1];return xx(dOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,D),gx(Bwe(t),JK);case 10:gx(Bwe(t),qK);var p=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),gx(Bwe(t),zK);case 11:gx(Bwe(t),WK);var b=n[1];return xx(NOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,b),gx(Bwe(t),VK);case 12:gx(Bwe(t),$K);var F=n[1];return xx(YAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,F),gx(Bwe(t),YK);case 13:gx(Bwe(t),HK);var m=n[1];return xx(YAe[19],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,m),gx(Bwe(t),KK);case 14:gx(Bwe(t),QK);var d=n[1];return Sx(jAe[2],(function(e){return gx(r,e)}),t,d),gx(Bwe(t),ZK);case 15:gx(Bwe(t),rQ);var E=n[1];return xx(TNe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,E),gx(Bwe(t),eQ);case 16:gx(Bwe(t),tQ);var k=n[1];return xx(eOe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,k),gx(Bwe(t),nQ);case 17:gx(Bwe(t),uQ);var h=n[1];return Sx(wOe[1],(function(e){return gx(r,e)}),t,h),gx(Bwe(t),aQ);case 18:gx(Bwe(t),iQ);var y=n[1];return xx(qNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,y),gx(Bwe(t),cQ);case 19:gx(Bwe(t),fQ);var C=n[1];return xx(nNe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,C),gx(Bwe(t),oQ);case 20:gx(Bwe(t),sQ);var w=n[1];return xx(HNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,w),gx(Bwe(t),lQ);case 21:gx(Bwe(t),vQ);var A=n[1];return xx(uOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,A),gx(Bwe(t),DQ);case 22:gx(Bwe(t),pQ);var _=n[1];return xx(iNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,_),gx(Bwe(t),bQ);case 23:gx(Bwe(t),FQ);var g=n[1];return Sx(xOe[1],(function(e){return gx(r,e)}),t,g),gx(Bwe(t),mQ);case 24:gx(Bwe(t),dQ);var B=n[1];return xx(UIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,B),gx(Bwe(t),EQ);case 25:gx(Bwe(t),kQ);var S=n[1];return xx(RIe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,S),gx(Bwe(t),hQ);case 26:gx(Bwe(t),yQ);var x=n[1];return Sx(gOe[1],(function(e){return gx(r,e)}),t,x),gx(Bwe(t),CQ);case 27:gx(Bwe(t),wQ);var T=n[1];return xx(hOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,T),gx(Bwe(t),AQ);case 28:gx(Bwe(t),_Q);var I=n[1];return xx(lNe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,I),gx(Bwe(t),gQ);case 29:gx(Bwe(t),BQ);var N=n[1];return xx(_Ne[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,N),gx(Bwe(t),SQ);default:gx(Bwe(t),xQ);var O=n[1];return xx(cOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,O),gx(Bwe(t),TQ)}})),XB(ROe,(function(r,e,t){var n=Bx(POe,r,e);return Bx(Swe(CK),n,t)})),Sx(eAe,QJr,$Ae,[0,vIe,hIe,yIe,gIe,RIe,UIe,nNe,iNe,lNe,FNe,hNe,_Ne,TNe,ONe,LNe,PNe,XNe,qNe,VNe,HNe,eOe,uOe,cOe,bOe,dOe,hOe,wOe,gOe,xOe,NOe,OOe,LOe,POe,ROe]);var MOe=function r(e,t,n,u){return r.fun(e,t,n,u)},jOe=function r(e,t,n){return r.fun(e,t,n)},UOe=function r(e,t,n){return r.fun(e,t,n)},XOe=function r(e,t){return r.fun(e,t)};XB(MOe,(function(r,e,t,n){gx(Bwe(t),kK),Bx(e,t,n[1]),gx(Bwe(t),hK);var u=n[2];return Sx(UOe,(function(e){return gx(r,e)}),t,u),gx(Bwe(t),yK)})),XB(jOe,(function(r,e,t){var n=Bx(MOe,r,e);return Bx(Swe(EK),n,t)})),XB(UOe,(function(r,e,t){gx(Bwe(e),iK),Bx(Bwe(e),fK,cK);var n=t[1];Bx(Bwe(e),oK,n),gx(Bwe(e),sK),gx(Bwe(e),lK),Bx(Bwe(e),DK,vK);var u=t[2];if(u){lwe(e,pK);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,aK)}),e,a),lwe(e,bK)}else lwe(e,FK);return gx(Bwe(e),mK),gx(Bwe(e),dK)})),XB(XOe,(function(r,e){var t=gx(UOe,r);return Bx(Swe(uK),t,e)}));var GOe=[0,MOe,jOe,UOe,XOe],JOe=function r(e,t,n,u){return r.fun(e,t,n,u)},qOe=function r(e,t,n){return r.fun(e,t,n)},zOe=function r(e,t,n,u){return r.fun(e,t,n,u)},WOe=function r(e,t,n){return r.fun(e,t,n)};XB(JOe,(function(r,e,t,n){gx(Bwe(t),eK),Bx(r,t,n[1]),gx(Bwe(t),tK);var u=n[2];return xx(zOe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nK)})),XB(qOe,(function(r,e,t){var n=Bx(JOe,r,e);return Bx(Swe(rK),n,t)})),XB(zOe,(function(r,e,t,n){gx(Bwe(t),zH),Bx(Bwe(t),VH,WH);var u=n[1];xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$H),gx(Bwe(t),YH),Bx(Bwe(t),KH,HH);var a=n[2];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),QH),gx(Bwe(t),ZH)})),XB(WOe,(function(r,e,t){var n=Bx(zOe,r,e);return Bx(Swe(qH),n,t)}));var VOe=[0,JOe,qOe,zOe,WOe],$Oe=function r(e,t,n,u){return r.fun(e,t,n,u)},YOe=function r(e,t,n){return r.fun(e,t,n)},HOe=function r(e,t,n,u){return r.fun(e,t,n,u)},KOe=function r(e,t,n){return r.fun(e,t,n)};XB($Oe,(function(r,e,t,n){gx(Bwe(t),IH),Bx(Bwe(t),OH,NH);var u=n[1];xx(HOe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),LH),gx(Bwe(t),PH),Bx(Bwe(t),MH,RH);var a=n[2];if(a){lwe(t,jH);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),xH);return Sye((function(t,n){return t&&gx(Bwe(e),SH),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),TH)}),t,i),lwe(t,UH)}else lwe(t,XH);return gx(Bwe(t),GH),gx(Bwe(t),JH)})),XB(YOe,(function(r,e,t){var n=Bx($Oe,r,e);return Bx(Swe(BH),n,t)})),XB(HOe,(function(r,e,t,n){if(n){gx(Bwe(t),AH);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),_H)}return lwe(t,gH)})),XB(KOe,(function(r,e,t){var n=Bx(HOe,r,e);return Bx(Swe(wH),n,t)}));var QOe=[0,$Oe,YOe,HOe,KOe],ZOe=function(r,e){gx(Bwe(r),vH),Bx(Bwe(r),pH,DH);var t=e[1];Bx(Bwe(r),bH,t),gx(Bwe(r),FH),gx(Bwe(r),mH),Bx(Bwe(r),EH,dH);var n=e[2];return Bx(Bwe(r),kH,n),gx(Bwe(r),hH),gx(Bwe(r),yH)},rLe=[0,ZOe,function(r){return Bx(Swe(CH),ZOe,r)}],eLe=function r(e,t,n,u){return r.fun(e,t,n,u)},tLe=function r(e,t,n){return r.fun(e,t,n)},nLe=function r(e,t,n,u){return r.fun(e,t,n,u)},uLe=function r(e,t,n){return r.fun(e,t,n)},aLe=function r(e,t,n,u){return r.fun(e,t,n,u)},iLe=function r(e,t,n){return r.fun(e,t,n)},cLe=function r(e,t,n,u){return r.fun(e,t,n,u)},fLe=function r(e,t,n){return r.fun(e,t,n)};XB(eLe,(function(r,e,t,n){gx(Bwe(t),oH),Bx(r,t,n[1]),gx(Bwe(t),sH);var u=n[2];return xx(cLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),lH)})),XB(tLe,(function(r,e,t){var n=Bx(eLe,r,e);return Bx(Swe(fH),n,t)})),XB(nLe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),uH);var u=n[1];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),aH)}gx(Bwe(t),iH);var a=n[1];return xx(VOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),cH)})),XB(uLe,(function(r,e,t){var n=Bx(nLe,r,e);return Bx(Swe(nH),n,t)})),XB(aLe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),KY),Bx(e,t,n[1]),gx(Bwe(t),QY);var u=n[2];return Sx(jAe[2],(function(e){return gx(r,e)}),t,u),gx(Bwe(t),ZY)}gx(Bwe(t),rH),Bx(e,t,n[1]),gx(Bwe(t),eH);var a=n[2];return xx(QOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),tH)})),XB(iLe,(function(r,e,t){var n=Bx(aLe,r,e);return Bx(Swe(HY),n,t)})),XB(cLe,(function(r,e,t,n){gx(Bwe(t),MY),Bx(Bwe(t),UY,jY);var u=n[1];xx(nLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),XY),gx(Bwe(t),GY),Bx(Bwe(t),qY,JY);var a=n[2];if(a){lwe(t,zY);var i=a[1];xx(aLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,WY)}else lwe(t,VY);return gx(Bwe(t),$Y),gx(Bwe(t),YY)})),XB(fLe,(function(r,e,t){var n=Bx(cLe,r,e);return Bx(Swe(RY),n,t)}));var oLe=[0,eLe,tLe,nLe,uLe,aLe,iLe,cLe,fLe],sLe=function r(e,t,n,u){return r.fun(e,t,n,u)},lLe=function r(e,t,n){return r.fun(e,t,n)},vLe=function r(e,t,n,u){return r.fun(e,t,n,u)},DLe=function r(e,t,n){return r.fun(e,t,n)};XB(sLe,(function(r,e,t,n){gx(Bwe(t),OY),Bx(r,t,n[1]),gx(Bwe(t),LY);var u=n[2];return xx(vLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),PY)})),XB(lLe,(function(r,e,t){var n=Bx(sLe,r,e);return Bx(Swe(NY),n,t)})),XB(vLe,(function(r,e,t,n){gx(Bwe(t),hY),Bx(Bwe(t),CY,yY);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),wY),gx(Bwe(t),AY),Bx(Bwe(t),gY,_Y);var a=n[2];if(a){lwe(t,BY);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,kY)}),t,i),lwe(t,SY)}else lwe(t,xY);return gx(Bwe(t),TY),gx(Bwe(t),IY)})),XB(DLe,(function(r,e,t){var n=Bx(vLe,r,e);return Bx(Swe(EY),n,t)}));var pLe=[0,sLe,lLe,vLe,DLe],bLe=function r(e,t,n,u){return r.fun(e,t,n,u)},FLe=function r(e,t,n){return r.fun(e,t,n)},mLe=function r(e,t,n,u){return r.fun(e,t,n,u)},dLe=function r(e,t,n){return r.fun(e,t,n)},ELe=function r(e,t,n,u){return r.fun(e,t,n,u)},kLe=function r(e,t,n){return r.fun(e,t,n)};XB(bLe,(function(r,e,t,n){gx(Bwe(t),FY),Bx(r,t,n[1]),gx(Bwe(t),mY);var u=n[2];return xx(ELe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),dY)})),XB(FLe,(function(r,e,t){var n=Bx(bLe,r,e);return Bx(Swe(bY),n,t)})),XB(mLe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),lY);var u=n[1];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vY)}gx(Bwe(t),DY);var a=n[1];return xx(bLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),pY)})),XB(dLe,(function(r,e,t){var n=Bx(mLe,r,e);return Bx(Swe(sY),n,t)})),XB(ELe,(function(r,e,t,n){gx(Bwe(t),eY),Bx(Bwe(t),nY,tY);var u=n[1];xx(mLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),uY),gx(Bwe(t),aY),Bx(Bwe(t),cY,iY);var a=n[2];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),fY),gx(Bwe(t),oY)})),XB(kLe,(function(r,e,t){var n=Bx(ELe,r,e);return Bx(Swe(rY),n,t)}));var hLe=[0,bLe,FLe,mLe,dLe,ELe,kLe],yLe=function r(e,t,n,u){return r.fun(e,t,n,u)},CLe=function r(e,t,n){return r.fun(e,t,n)};XB(yLe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),$$);var u=n[1];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Y$);case 1:gx(Bwe(t),H$);var a=n[1];return xx(VOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),K$);default:gx(Bwe(t),Q$);var i=n[1];return xx(hLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Z$)}})),XB(CLe,(function(r,e,t){var n=Bx(yLe,r,e);return Bx(Swe(V$),n,t)}));var wLe=function r(e,t,n,u){return r.fun(e,t,n,u)},ALe=function r(e,t,n){return r.fun(e,t,n)},_Le=function r(e,t,n,u){return r.fun(e,t,n,u)},gLe=function r(e,t,n){return r.fun(e,t,n)},BLe=function r(e,t,n,u){return r.fun(e,t,n,u)},SLe=function r(e,t,n){return r.fun(e,t,n)};XB(wLe,(function(r,e,t,n){gx(Bwe(t),q$),Bx(r,t,n[1]),gx(Bwe(t),z$);var u=n[2];return xx(BLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),W$)})),XB(ALe,(function(r,e,t){var n=Bx(wLe,r,e);return Bx(Swe(J$),n,t)})),XB(_Le,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),j$);var u=n[1];return xx(oLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),U$)}gx(Bwe(t),X$);var a=n[1];return xx(pLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),G$)})),XB(gLe,(function(r,e,t){var n=Bx(_Le,r,e);return Bx(Swe(M$),n,t)})),XB(BLe,(function(r,e,t,n){gx(Bwe(t),y$),Bx(Bwe(t),w$,C$);var u=n[1];xx(yLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),A$),gx(Bwe(t),_$),Bx(Bwe(t),B$,g$);var a=n[2];Bx(Bwe(t),S$,a),gx(Bwe(t),x$),gx(Bwe(t),T$),Bx(Bwe(t),N$,I$);var i=n[3];gx(Bwe(t),O$);return Sye((function(n,u){return n&&gx(Bwe(t),h$),xx(_Le,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),L$),gx(Bwe(t),P$),gx(Bwe(t),R$)})),XB(SLe,(function(r,e,t){var n=Bx(BLe,r,e);return Bx(Swe(k$),n,t)}));var xLe=[0,wLe,ALe,_Le,gLe,BLe,SLe],TLe=function r(e,t,n,u){return r.fun(e,t,n,u)},ILe=function r(e,t,n){return r.fun(e,t,n)},NLe=function r(e,t,n,u){return r.fun(e,t,n,u)},OLe=function r(e,t,n){return r.fun(e,t,n)};XB(TLe,(function(r,e,t,n){gx(Bwe(t),m$),Bx(r,t,n[1]),gx(Bwe(t),d$);var u=n[2];return xx(NLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),E$)})),XB(ILe,(function(r,e,t){var n=Bx(TLe,r,e);return Bx(Swe(F$),n,t)})),XB(NLe,(function(r,e,t,n){gx(Bwe(t),l$),Bx(Bwe(t),D$,v$);var u=n[1];return xx(yLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),p$),gx(Bwe(t),b$)})),XB(OLe,(function(r,e,t){var n=Bx(NLe,r,e);return Bx(Swe(s$),n,t)}));var LLe=[0,TLe,ILe,NLe,OLe],PLe=function r(e,t,n,u){return r.fun(e,t,n,u)},RLe=function r(e,t,n){return r.fun(e,t,n)};XB(PLe,(function(r,e,t,n){gx(Bwe(t),QV),Bx(Bwe(t),r$,ZV);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),e$),gx(Bwe(t),t$),Bx(Bwe(t),u$,n$);var a=n[2];if(a){lwe(t,a$);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,KV)}),t,i),lwe(t,i$)}else lwe(t,c$);return gx(Bwe(t),f$),gx(Bwe(t),o$)})),XB(RLe,(function(r,e,t){var n=Bx(PLe,r,e);return Bx(Swe(HV),n,t)}));var MLe=[0,PLe,RLe],jLe=function r(e,t,n,u){return r.fun(e,t,n,u)},ULe=function r(e,t,n){return r.fun(e,t,n)},XLe=function r(e,t,n,u){return r.fun(e,t,n,u)},GLe=function r(e,t,n){return r.fun(e,t,n)},JLe=function r(e,t,n,u){return r.fun(e,t,n,u)},qLe=function r(e,t,n){return r.fun(e,t,n)},zLe=function r(e,t,n,u){return r.fun(e,t,n,u)},WLe=function r(e,t,n){return r.fun(e,t,n)};XB(jLe,(function(r,e,t,n){gx(Bwe(t),VV),Bx(r,t,n[1]),gx(Bwe(t),$V);var u=n[2];return xx(XLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),YV)})),XB(ULe,(function(r,e,t){var n=Bx(jLe,r,e);return Bx(Swe(WV),n,t)})),XB(XLe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),PV);var u=n[1];return xx(JLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),RV);case 1:gx(Bwe(t),MV);var a=n[1];return xx(zLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),jV);case 2:gx(Bwe(t),UV);var i=n[1];return xx(QOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),XV);case 3:gx(Bwe(t),GV);var c=n[1];return xx(MLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),JV);default:return gx(Bwe(t),qV),Bx(rLe[1],t,n[1]),gx(Bwe(t),zV)}})),XB(GLe,(function(r,e,t){var n=Bx(XLe,r,e);return Bx(Swe(LV),n,t)})),XB(JLe,(function(r,e,t,n){gx(Bwe(t),cV),Bx(Bwe(t),oV,fV);var u=n[1];xx(xLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),sV),gx(Bwe(t),lV),Bx(Bwe(t),DV,vV);var a=n[2];if(a){lwe(t,pV);var i=a[1];xx(LLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,bV)}else lwe(t,FV);gx(Bwe(t),mV),gx(Bwe(t),dV),Bx(Bwe(t),kV,EV);var c=n[3];gx(Bwe(t),hV),Bx(r,t,c[1]),gx(Bwe(t),yV),gx(Bwe(t),CV);Sye((function(n,u){return n&&gx(Bwe(t),iV),xx(jLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,c[2]),gx(Bwe(t),wV),gx(Bwe(t),AV),gx(Bwe(t),_V),gx(Bwe(t),gV),Bx(Bwe(t),SV,BV);var f=n[4];if(f){lwe(t,xV);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,aV)}),t,o),lwe(t,TV)}else lwe(t,IV);return gx(Bwe(t),NV),gx(Bwe(t),OV)})),XB(qLe,(function(r,e,t){var n=Bx(JLe,r,e);return Bx(Swe(uV),n,t)})),XB(zLe,(function(r,e,t,n){gx(Bwe(t),NW),Bx(Bwe(t),LW,OW),Bx(r,t,n[1]),gx(Bwe(t),PW),gx(Bwe(t),RW),Bx(Bwe(t),jW,MW),Bx(r,t,n[2]),gx(Bwe(t),UW),gx(Bwe(t),XW),Bx(Bwe(t),JW,GW);var u=n[3];gx(Bwe(t),qW),Bx(r,t,u[1]),gx(Bwe(t),zW),gx(Bwe(t),WW);Sye((function(n,u){return n&&gx(Bwe(t),IW),xx(jLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u[2]),gx(Bwe(t),VW),gx(Bwe(t),$W),gx(Bwe(t),YW),gx(Bwe(t),HW),Bx(Bwe(t),QW,KW);var a=n[4];if(a){lwe(t,ZW);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,TW)}),t,i),lwe(t,rV)}else lwe(t,eV);return gx(Bwe(t),tV),gx(Bwe(t),nV)})),XB(WLe,(function(r,e,t){var n=Bx(zLe,r,e);return Bx(Swe(xW),n,t)})),Sx(eAe,ZJr,YAe,[0,GOe,VOe,QOe,rLe,oLe,pLe,hLe,yLe,CLe,xLe,LLe,MLe,jLe,ULe,XLe,GLe,JLe,qLe,zLe,WLe]);var VLe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Le=function r(e,t,n){return r.fun(e,t,n)},YLe=function r(e,t,n,u){return r.fun(e,t,n,u)},HLe=function r(e,t,n){return r.fun(e,t,n)};XB(VLe,(function(r,e,t,n){gx(Bwe(t),gW),Bx(r,t,n[1]),gx(Bwe(t),BW);var u=n[2];return xx(YLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),SW)})),XB($Le,(function(r,e,t){var n=Bx(VLe,r,e);return Bx(Swe(_W),n,t)})),XB(YLe,(function(r,e,t,n){gx(Bwe(t),pW),Bx(Bwe(t),FW,bW);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),mW),gx(Bwe(t),dW),Bx(Bwe(t),kW,EW);var a=n[2];if(a){lwe(t,hW);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,DW)}),t,i),lwe(t,yW)}else lwe(t,CW);return gx(Bwe(t),wW),gx(Bwe(t),AW)})),XB(HLe,(function(r,e,t){var n=Bx(YLe,r,e);return Bx(Swe(vW),n,t)}));var KLe=[0,VLe,$Le,YLe,HLe],QLe=function r(e,t,n,u){return r.fun(e,t,n,u)},ZLe=function r(e,t,n){return r.fun(e,t,n)},rPe=function r(e,t,n,u){return r.fun(e,t,n,u)},ePe=function r(e,t,n){return r.fun(e,t,n)},tPe=function r(e,t,n,u){return r.fun(e,t,n,u)},nPe=function r(e,t,n){return r.fun(e,t,n)};XB(QLe,(function(r,e,t,n){switch(n[0]){case 0:var u=n[1];gx(Bwe(t),nW),gx(Bwe(t),uW),Bx(r,t,u[1]),gx(Bwe(t),aW);var a=u[2];return Sx(jAe[2],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),iW),gx(Bwe(t),cW);case 1:gx(Bwe(t),fW);var i=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),oW);default:gx(Bwe(t),sW);var c=n[1];return xx(zAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),lW)}})),XB(ZLe,(function(r,e,t){var n=Bx(QLe,r,e);return Bx(Swe(tW),n,t)})),XB(rPe,(function(r,e,t,n){gx(Bwe(t),Zz),Bx(r,t,n[1]),gx(Bwe(t),rW);var u=n[2];return xx(tPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),eW)})),XB(ePe,(function(r,e,t){var n=Bx(rPe,r,e);return Bx(Swe(Qz),n,t)})),XB(tPe,(function(r,e,t,n){gx(Bwe(t),Tz),Bx(Bwe(t),Nz,Iz);var u=n[1];xx(QLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Oz),gx(Bwe(t),Lz),Bx(Bwe(t),Rz,Pz);var a=n[2];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Mz),gx(Bwe(t),jz),Bx(Bwe(t),Xz,Uz);var i=n[3];if(i){lwe(t,Gz);var c=i[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,Jz)}else lwe(t,qz);gx(Bwe(t),zz),gx(Bwe(t),Wz),Bx(Bwe(t),$z,Vz);var f=n[4];return Bx(Bwe(t),Yz,f),gx(Bwe(t),Hz),gx(Bwe(t),Kz)})),XB(nPe,(function(r,e,t){var n=Bx(tPe,r,e);return Bx(Swe(xz),n,t)}));var uPe=[0,QLe,ZLe,rPe,ePe,tPe,nPe],aPe=function r(e,t,n,u){return r.fun(e,t,n,u)},iPe=function r(e,t,n){return r.fun(e,t,n)},cPe=function r(e,t,n,u){return r.fun(e,t,n,u)},fPe=function r(e,t,n){return r.fun(e,t,n)};XB(aPe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),_z);var u=n[1];return xx(uPe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),gz)}gx(Bwe(t),Bz);var a=n[1];return xx(KLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Sz)})),XB(iPe,(function(r,e,t){var n=Bx(aPe,r,e);return Bx(Swe(Az),n,t)})),XB(cPe,(function(r,e,t,n){gx(Bwe(t),cz),Bx(Bwe(t),oz,fz);var u=n[1];gx(Bwe(t),sz);Sye((function(n,u){return n&&gx(Bwe(t),iz),xx(aPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),lz),gx(Bwe(t),vz),gx(Bwe(t),Dz),Bx(Bwe(t),bz,pz);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Fz),gx(Bwe(t),mz),Bx(Bwe(t),Ez,dz);var i=n[3];if(i){lwe(t,kz);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),uz);return Sye((function(t,n){return t&&gx(Bwe(e),nz),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),az)}),t,c),lwe(t,hz)}else lwe(t,yz);return gx(Bwe(t),Cz),gx(Bwe(t),wz)})),XB(fPe,(function(r,e,t){var n=Bx(cPe,r,e);return Bx(Swe(tz),n,t)}));var oPe=[0,uPe,aPe,iPe,cPe,fPe],sPe=function r(e,t,n,u){return r.fun(e,t,n,u)},lPe=function r(e,t,n){return r.fun(e,t,n)},vPe=function r(e,t,n,u){return r.fun(e,t,n,u)},DPe=function r(e,t,n){return r.fun(e,t,n)};XB(sPe,(function(r,e,t,n){gx(Bwe(t),Zq),Bx(r,t,n[1]),gx(Bwe(t),rz);var u=n[2];return xx(vPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ez)})),XB(lPe,(function(r,e,t){var n=Bx(sPe,r,e);return Bx(Swe(Qq),n,t)})),XB(vPe,(function(r,e,t,n){gx(Bwe(t),Uq),Bx(Bwe(t),Gq,Xq);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Jq),gx(Bwe(t),qq),Bx(Bwe(t),Wq,zq);var a=n[2];if(a){lwe(t,Vq);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,$q)}else lwe(t,Yq);return gx(Bwe(t),Hq),gx(Bwe(t),Kq)})),XB(DPe,(function(r,e,t){var n=Bx(vPe,r,e);return Bx(Swe(jq),n,t)}));var pPe=[0,sPe,lPe,vPe,DPe],bPe=function r(e,t,n,u){return r.fun(e,t,n,u)},FPe=function r(e,t,n){return r.fun(e,t,n)},mPe=function r(e,t,n,u){return r.fun(e,t,n,u)},dPe=function r(e,t,n){return r.fun(e,t,n)};XB(bPe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),Nq);var u=n[1];return xx(pPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Oq);case 1:gx(Bwe(t),Lq);var a=n[1];return xx(KLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Pq);default:return gx(Bwe(t),Rq),Bx(r,t,n[1]),gx(Bwe(t),Mq)}})),XB(FPe,(function(r,e,t){var n=Bx(bPe,r,e);return Bx(Swe(Iq),n,t)})),XB(mPe,(function(r,e,t,n){gx(Bwe(t),pq),Bx(Bwe(t),Fq,bq);var u=n[1];gx(Bwe(t),mq);Sye((function(n,u){return n&&gx(Bwe(t),Dq),xx(bPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),dq),gx(Bwe(t),Eq),gx(Bwe(t),kq),Bx(Bwe(t),yq,hq);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Cq),gx(Bwe(t),wq),Bx(Bwe(t),_q,Aq);var i=n[3];if(i){lwe(t,gq);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),lq);return Sye((function(t,n){return t&&gx(Bwe(e),sq),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),vq)}),t,c),lwe(t,Bq)}else lwe(t,Sq);return gx(Bwe(t),xq),gx(Bwe(t),Tq)})),XB(dPe,(function(r,e,t){var n=Bx(mPe,r,e);return Bx(Swe(oq),n,t)}));var EPe=[0,pPe,bPe,FPe,mPe,dPe],kPe=function r(e,t,n,u){return r.fun(e,t,n,u)},hPe=function r(e,t,n){return r.fun(e,t,n)};XB(kPe,(function(r,e,t,n){gx(Bwe(t),YJ),Bx(Bwe(t),KJ,HJ);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),QJ),gx(Bwe(t),ZJ),Bx(Bwe(t),eq,rq);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),tq),gx(Bwe(t),nq),Bx(Bwe(t),aq,uq);var i=n[3];return Bx(Bwe(t),iq,i),gx(Bwe(t),cq),gx(Bwe(t),fq)})),XB(hPe,(function(r,e,t){var n=Bx(kPe,r,e);return Bx(Swe($J),n,t)}));var yPe=[0,kPe,hPe],CPe=function r(e,t,n,u){return r.fun(e,t,n,u)},wPe=function r(e,t,n){return r.fun(e,t,n)},APe=function r(e,t,n,u){return r.fun(e,t,n,u)},_Pe=function r(e,t,n){return r.fun(e,t,n)};XB(CPe,(function(r,e,t,n){gx(Bwe(t),zJ),Bx(e,t,n[1]),gx(Bwe(t),WJ);var u=n[2];return xx(APe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),VJ)})),XB(wPe,(function(r,e,t){var n=Bx(CPe,r,e);return Bx(Swe(qJ),n,t)})),XB(APe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),PJ);var u=n[1];return xx(oPe[4],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),RJ);case 1:gx(Bwe(t),MJ);var a=n[1];return xx(EPe[4],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),jJ);case 2:gx(Bwe(t),UJ);var i=n[1];return xx(yPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),XJ);default:gx(Bwe(t),GJ);var c=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),JJ)}})),XB(_Pe,(function(r,e,t){var n=Bx(APe,r,e);return Bx(Swe(LJ),n,t)})),Sx(eAe,rqr,HAe,[0,KLe,oPe,EPe,yPe,CPe,wPe,APe,_Pe]);var gPe=function r(e,t,n){return r.fun(e,t,n)},BPe=function r(e,t){return r.fun(e,t)},SPe=function r(e,t){return r.fun(e,t)},xPe=function r(e){return r.fun(e)},TPe=function r(e,t){return r.fun(e,t)},IPe=function r(e){return r.fun(e)};XB(gPe,(function(r,e,t){return gx(Bwe(e),IJ),Bx(r,e,t[1]),gx(Bwe(e),NJ),Bx(TPe,e,t[2]),gx(Bwe(e),OJ)})),XB(BPe,(function(r,e){var t=gx(gPe,r);return Bx(Swe(TJ),t,e)})),XB(SPe,(function(r,e){return lwe(r,0===e?xJ:SJ)})),XB(xPe,(function(r){return Bx(Swe(BJ),SPe,r)})),XB(TPe,(function(r,e){gx(Bwe(r),DJ),Bx(Bwe(r),bJ,pJ),Bx(SPe,r,e[1]),gx(Bwe(r),FJ),gx(Bwe(r),mJ),Bx(Bwe(r),EJ,dJ);var t=e[2];Bx(Bwe(r),kJ,t),gx(Bwe(r),hJ),gx(Bwe(r),yJ),Bx(Bwe(r),wJ,CJ);var n=e[3];return Bx(Bwe(r),AJ,n),gx(Bwe(r),_J),gx(Bwe(r),gJ)})),XB(IPe,(function(r){return Bx(Swe(vJ),TPe,r)})),Sx(eAe,eqr,KAe,[0,gPe,BPe,SPe,xPe,TPe,IPe]);var NPe=function r(e,t,n,u){return r.fun(e,t,n,u)},OPe=function r(e,t,n){return r.fun(e,t,n)},LPe=function r(e,t){return r.fun(e,t)},PPe=function r(e){return r.fun(e)},RPe=function r(e,t,n,u){return r.fun(e,t,n,u)},MPe=function r(e,t,n){return r.fun(e,t,n)};XB(NPe,(function(r,e,t,n){gx(Bwe(t),oJ),Bx(e,t,n[1]),gx(Bwe(t),sJ);var u=n[2];return xx(RPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),lJ)})),XB(OPe,(function(r,e,t){var n=Bx(NPe,r,e);return Bx(Swe(fJ),n,t)})),XB(LPe,(function(r,e){switch(e){case 0:return lwe(r,uJ);case 1:return lwe(r,aJ);case 2:return lwe(r,iJ);default:return lwe(r,cJ)}})),XB(PPe,(function(r){return Bx(Swe(nJ),LPe,r)})),XB(RPe,(function(r,e,t,n){gx(Bwe(t),CG),Bx(Bwe(t),AG,wG),Bx(LPe,t,n[1]),gx(Bwe(t),_G),gx(Bwe(t),gG),Bx(Bwe(t),SG,BG);var u=n[2];xx($Ae[7][1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),xG),gx(Bwe(t),TG),Bx(Bwe(t),NG,IG);var a=n[3];gx(Bwe(t),OG),Bx(r,t,a[1]),gx(Bwe(t),LG);var i=a[2];xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),PG),gx(Bwe(t),RG),gx(Bwe(t),MG),Bx(Bwe(t),UG,jG);var c=n[4];Bx(Bwe(t),XG,c),gx(Bwe(t),GG),gx(Bwe(t),JG),Bx(Bwe(t),zG,qG);var f=n[5];gx(Bwe(t),WG);Sye((function(n,u){return n&&gx(Bwe(t),yG),xx(QAe[7][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,f),gx(Bwe(t),VG),gx(Bwe(t),$G),gx(Bwe(t),YG),Bx(Bwe(t),KG,HG);var o=n[6];if(o){lwe(t,QG);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,hG)}),t,s),lwe(t,ZG)}else lwe(t,rJ);return gx(Bwe(t),eJ),gx(Bwe(t),tJ)})),XB(MPe,(function(r,e,t){var n=Bx(RPe,r,e);return Bx(Swe(kG),n,t)}));var jPe=[0,NPe,OPe,LPe,PPe,RPe,MPe],UPe=function r(e,t,n,u){return r.fun(e,t,n,u)},XPe=function r(e,t,n){return r.fun(e,t,n)},GPe=function r(e,t,n,u){return r.fun(e,t,n,u)},JPe=function r(e,t,n){return r.fun(e,t,n)},qPe=function r(e,t,n,u){return r.fun(e,t,n,u)},zPe=function r(e,t,n){return r.fun(e,t,n)};XB(UPe,(function(r,e,t,n){gx(Bwe(t),mG),Bx(e,t,n[1]),gx(Bwe(t),dG);var u=n[2];return xx(GPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),EG)})),XB(XPe,(function(r,e,t){var n=Bx(UPe,r,e);return Bx(Swe(FG),n,t)})),XB(GPe,(function(r,e,t,n){gx(Bwe(t),MX),Bx(Bwe(t),UX,jX);var u=n[1];xx($Ae[7][1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),XX),gx(Bwe(t),GX),Bx(Bwe(t),qX,JX);var a=n[2];xx(qPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),zX),gx(Bwe(t),WX),Bx(Bwe(t),$X,VX);var i=n[3];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),YX),gx(Bwe(t),HX),Bx(Bwe(t),QX,KX);var c=n[4];Bx(Bwe(t),ZX,c),gx(Bwe(t),rG),gx(Bwe(t),eG),Bx(Bwe(t),nG,tG);var f=n[5];if(f){lwe(t,uG);var o=f[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,o),lwe(t,aG)}else lwe(t,iG);gx(Bwe(t),cG),gx(Bwe(t),fG),Bx(Bwe(t),sG,oG);var s=n[6];if(s){lwe(t,lG);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,RX)}),t,l),lwe(t,vG)}else lwe(t,DG);return gx(Bwe(t),pG),gx(Bwe(t),bG)})),XB(JPe,(function(r,e,t){var n=Bx(GPe,r,e);return Bx(Swe(PX),n,t)})),XB(qPe,(function(r,e,t,n){if(\"number\"==typeof n)return lwe(t,0===n?NX:IX);gx(Bwe(t),OX);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),LX)})),XB(zPe,(function(r,e,t){var n=Bx(qPe,r,e);return Bx(Swe(TX),n,t)}));var WPe=[0,UPe,XPe,GPe,JPe,qPe,zPe],VPe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Pe=function r(e,t,n){return r.fun(e,t,n)},YPe=function r(e,t,n,u){return r.fun(e,t,n,u)},HPe=function r(e,t,n){return r.fun(e,t,n)};XB(VPe,(function(r,e,t,n){gx(Bwe(t),BX),Bx(e,t,n[1]),gx(Bwe(t),SX);var u=n[2];return xx(YPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),xX)})),XB($Pe,(function(r,e,t){var n=Bx(VPe,r,e);return Bx(Swe(gX),n,t)})),XB(YPe,(function(r,e,t,n){gx(Bwe(t),YU),Bx(Bwe(t),KU,HU);var u=n[1];Sx(MAe[1],(function(e){return gx(r,e)}),t,u),gx(Bwe(t),QU),gx(Bwe(t),ZU),Bx(Bwe(t),eX,rX);var a=n[2];xx(QAe[2][5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),tX),gx(Bwe(t),nX),Bx(Bwe(t),aX,uX);var i=n[3];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),iX),gx(Bwe(t),cX),Bx(Bwe(t),oX,fX);var c=n[4];Bx(Bwe(t),sX,c),gx(Bwe(t),lX),gx(Bwe(t),vX),Bx(Bwe(t),pX,DX);var f=n[5];if(f){lwe(t,bX);var o=f[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,o),lwe(t,FX)}else lwe(t,mX);gx(Bwe(t),dX),gx(Bwe(t),EX),Bx(Bwe(t),hX,kX);var s=n[6];if(s){lwe(t,yX);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,$U)}),t,l),lwe(t,CX)}else lwe(t,wX);return gx(Bwe(t),AX),gx(Bwe(t),_X)})),XB(HPe,(function(r,e,t){var n=Bx(YPe,r,e);return Bx(Swe(VU),n,t)}));var KPe=[0,VPe,$Pe,YPe,HPe],QPe=function r(e,t,n,u){return r.fun(e,t,n,u)},ZPe=function r(e,t,n){return r.fun(e,t,n)},rRe=function r(e,t,n,u){return r.fun(e,t,n,u)},eRe=function r(e,t,n){return r.fun(e,t,n)};XB(QPe,(function(r,e,t,n){gx(Bwe(t),qU),Bx(r,t,n[1]),gx(Bwe(t),zU);var u=n[2];return xx(rRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),WU)})),XB(ZPe,(function(r,e,t){var n=Bx(QPe,r,e);return Bx(Swe(JU),n,t)})),XB(rRe,(function(r,e,t,n){gx(Bwe(t),wU),Bx(Bwe(t),_U,AU);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),gU),gx(Bwe(t),BU),Bx(Bwe(t),xU,SU);var a=n[2];if(a){lwe(t,TU);var i=a[1];xx(WAe[21][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,IU)}else lwe(t,NU);gx(Bwe(t),OU),gx(Bwe(t),LU),Bx(Bwe(t),RU,PU);var c=n[3];if(c){lwe(t,MU);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,CU)}),t,f),lwe(t,jU)}else lwe(t,UU);return gx(Bwe(t),XU),gx(Bwe(t),GU)})),XB(eRe,(function(r,e,t){var n=Bx(rRe,r,e);return Bx(Swe(yU),n,t)}));var tRe=[0,QPe,ZPe,rRe,eRe],nRe=function r(e,t,n,u){return r.fun(e,t,n,u)},uRe=function r(e,t,n){return r.fun(e,t,n)},aRe=function r(e,t,n,u){return r.fun(e,t,n,u)},iRe=function r(e,t,n){return r.fun(e,t,n)};XB(nRe,(function(r,e,t,n){gx(Bwe(t),EU),Bx(r,t,n[1]),gx(Bwe(t),kU);var u=n[2];return xx(aRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),hU)})),XB(uRe,(function(r,e,t){var n=Bx(nRe,r,e);return Bx(Swe(dU),n,t)})),XB(aRe,(function(r,e,t,n){gx(Bwe(t),iU),Bx(Bwe(t),fU,cU);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),oU),gx(Bwe(t),sU),Bx(Bwe(t),vU,lU);var a=n[2];if(a){lwe(t,DU);var i=a[1];xx(WAe[21][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,pU)}else lwe(t,bU);return gx(Bwe(t),FU),gx(Bwe(t),mU)})),XB(iRe,(function(r,e,t){var n=Bx(aRe,r,e);return Bx(Swe(aU),n,t)}));var cRe=[0,nRe,uRe,aRe,iRe],fRe=function r(e,t,n,u){return r.fun(e,t,n,u)},oRe=function r(e,t,n){return r.fun(e,t,n)},sRe=function r(e,t,n,u){return r.fun(e,t,n,u)},lRe=function r(e,t,n){return r.fun(e,t,n)};XB(fRe,(function(r,e,t,n){gx(Bwe(t),tU),Bx(r,t,n[1]),gx(Bwe(t),nU);var u=n[2];return xx(sRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),uU)})),XB(oRe,(function(r,e,t){var n=Bx(fRe,r,e);return Bx(Swe(eU),n,t)})),XB(sRe,(function(r,e,t,n){gx(Bwe(t),Xj),Bx(Bwe(t),Jj,Gj);var u=n[1];gx(Bwe(t),qj);Sye((function(n,u){return n&&gx(Bwe(t),Uj),xx(cRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),zj),gx(Bwe(t),Wj),gx(Bwe(t),Vj),Bx(Bwe(t),Yj,$j);var a=n[2];if(a){lwe(t,Hj);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,jj)}),t,i),lwe(t,Kj)}else lwe(t,Qj);return gx(Bwe(t),Zj),gx(Bwe(t),rU)})),XB(lRe,(function(r,e,t){var n=Bx(sRe,r,e);return Bx(Swe(Mj),n,t)}));var vRe=[0,cRe,fRe,oRe,sRe,lRe],DRe=function r(e,t,n,u){return r.fun(e,t,n,u)},pRe=function r(e,t,n){return r.fun(e,t,n)},bRe=function r(e,t,n,u){return r.fun(e,t,n,u)},FRe=function r(e,t,n){return r.fun(e,t,n)},mRe=function r(e,t,n,u){return r.fun(e,t,n,u)},dRe=function r(e,t,n){return r.fun(e,t,n)};XB(DRe,(function(r,e,t,n){gx(Bwe(t),Lj),Bx(r,t,n[1]),gx(Bwe(t),Pj);var u=n[2];return xx(bRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Rj)})),XB(pRe,(function(r,e,t){var n=Bx(DRe,r,e);return Bx(Swe(Oj),n,t)})),XB(bRe,(function(r,e,t,n){gx(Bwe(t),kj),Bx(Bwe(t),yj,hj);var u=n[1];gx(Bwe(t),Cj);Sye((function(n,u){return n&&gx(Bwe(t),Ej),xx(mRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),wj),gx(Bwe(t),Aj),gx(Bwe(t),_j),Bx(Bwe(t),Bj,gj);var a=n[2];if(a){lwe(t,Sj);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,dj)}),t,i),lwe(t,xj)}else lwe(t,Tj);return gx(Bwe(t),Ij),gx(Bwe(t),Nj)})),XB(FRe,(function(r,e,t){var n=Bx(bRe,r,e);return Bx(Swe(mj),n,t)})),XB(mRe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),lj);var u=n[1];return xx(jPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vj);case 1:gx(Bwe(t),Dj);var a=n[1];return xx(WPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),pj);default:gx(Bwe(t),bj);var i=n[1];return xx(KPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Fj)}})),XB(dRe,(function(r,e,t){var n=Bx(mRe,r,e);return Bx(Swe(sj),n,t)}));var ERe=function r(e,t,n,u){return r.fun(e,t,n,u)},kRe=function r(e,t,n){return r.fun(e,t,n)},hRe=function r(e,t,n,u){return r.fun(e,t,n,u)},yRe=function r(e,t,n){return r.fun(e,t,n)},CRe=[0,DRe,pRe,bRe,FRe,mRe,dRe];XB(ERe,(function(r,e,t,n){gx(Bwe(t),cj),Bx(r,t,n[1]),gx(Bwe(t),fj);var u=n[2];return xx(hRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),oj)})),XB(kRe,(function(r,e,t){var n=Bx(ERe,r,e);return Bx(Swe(ij),n,t)})),XB(hRe,(function(r,e,t,n){gx(Bwe(t),$M),Bx(Bwe(t),HM,YM);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),KM),gx(Bwe(t),QM),Bx(Bwe(t),rj,ZM);var a=n[2];if(a){lwe(t,ej);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,VM)}),t,i),lwe(t,tj)}else lwe(t,nj);return gx(Bwe(t),uj),gx(Bwe(t),aj)})),XB(yRe,(function(r,e,t){var n=Bx(hRe,r,e);return Bx(Swe(WM),n,t)}));var wRe=[0,ERe,kRe,hRe,yRe],ARe=function r(e,t,n,u){return r.fun(e,t,n,u)},_Re=function r(e,t,n){return r.fun(e,t,n)};XB(ARe,(function(r,e,t,n){gx(Bwe(t),rM),Bx(Bwe(t),tM,eM);var u=n[1];if(u){lwe(t,nM);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,uM)}else lwe(t,aM);gx(Bwe(t),iM),gx(Bwe(t),cM),Bx(Bwe(t),oM,fM);var i=n[2];xx(QAe[6][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),sM),gx(Bwe(t),lM),Bx(Bwe(t),DM,vM);var c=n[3];if(c){lwe(t,pM);var f=c[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,bM)}else lwe(t,FM);gx(Bwe(t),mM),gx(Bwe(t),dM),Bx(Bwe(t),kM,EM);var o=n[4];if(o){lwe(t,hM);var s=o[1];xx(tRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),lwe(t,yM)}else lwe(t,CM);gx(Bwe(t),wM),gx(Bwe(t),AM),Bx(Bwe(t),gM,_M);var l=n[5];if(l){lwe(t,BM);var v=l[1];xx(vRe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),lwe(t,SM)}else lwe(t,xM);gx(Bwe(t),TM),gx(Bwe(t),IM),Bx(Bwe(t),OM,NM);var D=n[6];gx(Bwe(t),LM);Sye((function(n,u){return n&&gx(Bwe(t),ZR),xx(wRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,D),gx(Bwe(t),PM),gx(Bwe(t),RM),gx(Bwe(t),MM),Bx(Bwe(t),UM,jM);var p=n[7];if(p){lwe(t,XM);var b=p[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,QR)}),t,b),lwe(t,GM)}else lwe(t,JM);return gx(Bwe(t),qM),gx(Bwe(t),zM)})),XB(_Re,(function(r,e,t){var n=Bx(ARe,r,e);return Bx(Swe(KR),n,t)})),Sx(eAe,tqr,QAe,[0,jPe,WPe,KPe,tRe,vRe,CRe,wRe,ARe,_Re]);var gRe=function r(e,t,n,u){return r.fun(e,t,n,u)},BRe=function r(e,t,n){return r.fun(e,t,n)},SRe=function r(e,t,n,u){return r.fun(e,t,n,u)},xRe=function r(e,t,n){return r.fun(e,t,n)};XB(gRe,(function(r,e,t,n){gx(Bwe(t),$R),Bx(r,t,n[1]),gx(Bwe(t),YR);var u=n[2];return xx(SRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),HR)})),XB(BRe,(function(r,e,t){var n=Bx(gRe,r,e);return Bx(Swe(VR),n,t)})),XB(SRe,(function(r,e,t,n){gx(Bwe(t),LR),Bx(Bwe(t),RR,PR);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),MR),gx(Bwe(t),jR),Bx(Bwe(t),XR,UR);var a=n[2];if(a){lwe(t,GR);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,OR)}),t,i),lwe(t,JR)}else lwe(t,qR);return gx(Bwe(t),zR),gx(Bwe(t),WR)})),XB(xRe,(function(r,e,t){var n=Bx(SRe,r,e);return Bx(Swe(NR),n,t)}));var TRe=[0,gRe,BRe,SRe,xRe],IRe=function r(e,t,n,u){return r.fun(e,t,n,u)},NRe=function r(e,t,n){return r.fun(e,t,n)},ORe=function r(e,t,n,u){return r.fun(e,t,n,u)},LRe=function r(e,t,n){return r.fun(e,t,n)};XB(IRe,(function(r,e,t,n){gx(Bwe(t),xR),Bx(r,t,n[1]),gx(Bwe(t),TR);var u=n[2];return xx(ORe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),IR)})),XB(NRe,(function(r,e,t){var n=Bx(IRe,r,e);return Bx(Swe(SR),n,t)})),XB(ORe,(function(r,e,t,n){gx(Bwe(t),mR),Bx(Bwe(t),ER,dR);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),kR),gx(Bwe(t),hR),Bx(Bwe(t),CR,yR);var a=n[2];if(a){lwe(t,wR);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,AR)}else lwe(t,_R);return gx(Bwe(t),gR),gx(Bwe(t),BR)})),XB(LRe,(function(r,e,t){var n=Bx(ORe,r,e);return Bx(Swe(FR),n,t)}));var PRe=[0,IRe,NRe,ORe,LRe],RRe=function r(e,t,n,u){return r.fun(e,t,n,u)},MRe=function r(e,t,n){return r.fun(e,t,n)},jRe=function r(e,t,n,u){return r.fun(e,t,n,u)},URe=function r(e,t,n){return r.fun(e,t,n)};XB(RRe,(function(r,e,t,n){gx(Bwe(t),DR),Bx(r,t,n[1]),gx(Bwe(t),pR);var u=n[2];return xx(jRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),bR)})),XB(MRe,(function(r,e,t){var n=Bx(RRe,r,e);return Bx(Swe(vR),n,t)})),XB(jRe,(function(r,e,t,n){gx(Bwe(t),rR),Bx(Bwe(t),tR,eR);var u=n[1];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nR),gx(Bwe(t),uR),Bx(Bwe(t),iR,aR);var a=n[2];if(a){lwe(t,cR);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ZP)}),t,i),lwe(t,fR)}else lwe(t,oR);return gx(Bwe(t),sR),gx(Bwe(t),lR)})),XB(URe,(function(r,e,t){var n=Bx(jRe,r,e);return Bx(Swe(QP),n,t)}));var XRe=[0,RRe,MRe,jRe,URe],GRe=function r(e,t,n,u){return r.fun(e,t,n,u)},JRe=function r(e,t,n){return r.fun(e,t,n)},qRe=function r(e,t,n,u){return r.fun(e,t,n,u)},zRe=function r(e,t,n){return r.fun(e,t,n)};XB(GRe,(function(r,e,t,n){gx(Bwe(t),YP),Bx(r,t,n[1]),gx(Bwe(t),HP);var u=n[2];return xx(qRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),KP)})),XB(JRe,(function(r,e,t){var n=Bx(GRe,r,e);return Bx(Swe($P),n,t)})),XB(qRe,(function(r,e,t,n){gx(Bwe(t),kP),Bx(Bwe(t),yP,hP);var u=n[1];if(u){lwe(t,CP);var a=u[1];xx(XRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,wP)}else lwe(t,AP);gx(Bwe(t),_P),gx(Bwe(t),gP),Bx(Bwe(t),SP,BP);var i=n[2];gx(Bwe(t),xP);Sye((function(n,u){return n&&gx(Bwe(t),EP),xx(PRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),TP),gx(Bwe(t),IP),gx(Bwe(t),NP),Bx(Bwe(t),LP,OP);var c=n[3];if(c){lwe(t,PP);var f=c[1];xx(TRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,RP)}else lwe(t,MP);gx(Bwe(t),jP),gx(Bwe(t),UP),Bx(Bwe(t),GP,XP);var o=n[4];if(o){lwe(t,JP);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),mP);return Sye((function(t,n){return t&&gx(Bwe(e),FP),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),dP)}),t,s),lwe(t,qP)}else lwe(t,zP);return gx(Bwe(t),WP),gx(Bwe(t),VP)})),XB(zRe,(function(r,e,t){var n=Bx(qRe,r,e);return Bx(Swe(bP),n,t)}));var WRe=[0,GRe,JRe,qRe,zRe],VRe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Re=function r(e,t,n){return r.fun(e,t,n)},YRe=function r(e,t,n,u){return r.fun(e,t,n,u)},HRe=function r(e,t,n){return r.fun(e,t,n)};XB(VRe,(function(r,e,t,n){gx(Bwe(t),pL),Bx(Bwe(t),FL,bL);var u=n[1];if(u){lwe(t,mL);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,dL)}else lwe(t,EL);gx(Bwe(t),kL),gx(Bwe(t),hL),Bx(Bwe(t),CL,yL);var i=n[2];xx(WRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),wL),gx(Bwe(t),AL),Bx(Bwe(t),gL,_L);var c=n[3];xx(YRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),BL),gx(Bwe(t),SL),Bx(Bwe(t),TL,xL);var f=n[4];Bx(Bwe(t),IL,f),gx(Bwe(t),NL),gx(Bwe(t),OL),Bx(Bwe(t),PL,LL);var o=n[5];Bx(Bwe(t),RL,o),gx(Bwe(t),ML),gx(Bwe(t),jL),Bx(Bwe(t),XL,UL);var s=n[6];if(s){lwe(t,GL);var l=s[1];xx(WAe[22][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,l),lwe(t,JL)}else lwe(t,qL);gx(Bwe(t),zL),gx(Bwe(t),WL),Bx(Bwe(t),$L,VL);var v=n[7];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),YL),gx(Bwe(t),HL),Bx(Bwe(t),QL,KL);var D=n[8];if(D){lwe(t,ZL);var p=D[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),lwe(t,rP)}else lwe(t,eP);gx(Bwe(t),tP),gx(Bwe(t),nP),Bx(Bwe(t),aP,uP);var b=n[9];if(b){lwe(t,iP);var F=b[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,DL)}),t,F),lwe(t,cP)}else lwe(t,fP);return gx(Bwe(t),oP),gx(Bwe(t),sP),Bx(Bwe(t),vP,lP),Bx(r,t,n[10]),gx(Bwe(t),DP),gx(Bwe(t),pP)})),XB($Re,(function(r,e,t){var n=Bx(VRe,r,e);return Bx(Swe(vL),n,t)})),XB(YRe,(function(r,e,t,n){if(0===n[0]){var u=n[1];gx(Bwe(t),aL),gx(Bwe(t),iL),Bx(r,t,u[1]),gx(Bwe(t),cL);var a=u[2];return xx(VAe[1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),fL),gx(Bwe(t),oL)}gx(Bwe(t),sL);var i=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),lL)})),XB(HRe,(function(r,e,t){var n=Bx(YRe,r,e);return Bx(Swe(uL),n,t)})),Sx(eAe,nqr,ZAe,[0,TRe,PRe,XRe,WRe,VRe,$Re,YRe,HRe]);var KRe=function r(e,t,n,u){return r.fun(e,t,n,u)},QRe=function r(e,t,n){return r.fun(e,t,n)},ZRe=function r(e,t,n,u){return r.fun(e,t,n,u)},rMe=function r(e,t,n){return r.fun(e,t,n)};XB(KRe,(function(r,e,t,n){gx(Bwe(t),eL),Bx(r,t,n[1]),gx(Bwe(t),tL);var u=n[2];return xx(ZRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nL)})),XB(QRe,(function(r,e,t){var n=Bx(KRe,r,e);return Bx(Swe(rL),n,t)})),XB(ZRe,(function(r,e,t,n){gx(Bwe(t),OO),Bx(Bwe(t),PO,LO);var u=n[1];gx(Bwe(t),RO);Sye((function(n,u){return n&&gx(Bwe(t),NO),xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),MO),gx(Bwe(t),jO),gx(Bwe(t),UO),Bx(Bwe(t),GO,XO);var a=n[2];if(a){lwe(t,JO);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,IO)}),t,i),lwe(t,qO)}else lwe(t,zO);gx(Bwe(t),WO),gx(Bwe(t),VO),Bx(Bwe(t),YO,$O);var c=n[3];gx(Bwe(t),HO);return Sye((function(e,n){return e&&gx(Bwe(t),TO),Sx(KAe[1],(function(e){return gx(r,e)}),t,n),1}),0,c),gx(Bwe(t),KO),gx(Bwe(t),QO),gx(Bwe(t),ZO)})),XB(rMe,(function(r,e,t){var n=Bx(ZRe,r,e);return Bx(Swe(xO),n,t)})),Sx(eAe,uqr,t_e,[0,KRe,QRe,ZRe,rMe]);var eMe=function(r,e){if(e){var t=e[1],n=gx(r,t);return t===n?e:[0,n]}return e},tMe=function(r,e,t,n,u){var a=Bx(r,e,t);return t===a?n:gx(u,a)},nMe=function(r,e,t,n){var u=gx(r,e);return e===u?t:gx(n,u)},uMe=function(r,e){var t=e[1];return tMe(r,t,e[2],e,(function(r){return[0,t,r]}))},aMe=function(r,e){var t=Sye((function(e,t){var n=gx(r,t),u=e[2]||(n!==t?1:0);return[0,[0,n,e[1]],u]}),Dqr,e);return t[2]?wye(t[1]):e},iMe=Hwe(bqr,(function(r){var e=qwe(r,pqr),t=e[1],n=e[2],u=e[3],a=e[4],i=e[5],c=e[6],f=e[7],o=e[8],s=e[9],v=e[10],D=e[11],p=e[12],b=e[13],F=e[14],m=e[15],d=e[16],E=e[17],k=e[18],h=e[19],y=e[20],C=e[21],w=e[22],A=e[23],_=e[24],B=e[25],x=e[26],T=e[27],I=e[28],N=e[29],O=e[30],L=e[31],P=e[32],R=e[33],M=e[34],j=e[35],U=e[36],X=e[37],G=e[38],J=e[39],q=e[40],z=e[42],W=e[43],V=e[44],$=e[45],Y=e[46],H=e[47],K=e[48],Q=e[49],Z=e[50],rr=e[51],er=e[52],tr=e[53],nr=e[54],ur=e[55],ar=e[56],ir=e[58],cr=e[59],fr=e[60],or=e[61],sr=e[62],lr=e[63],vr=e[64],Dr=e[65],pr=e[66],br=e[67],Fr=e[68],mr=e[69],dr=e[70],Er=e[71],kr=e[72],hr=e[73],yr=e[74],Cr=e[75],wr=e[76],Ar=e[77],_r=e[78],gr=e[79],Br=e[80],Sr=e[81],xr=e[82],Tr=e[83],Ir=e[84],Nr=e[85],Or=e[86],Lr=e[87],Pr=e[88],Rr=e[89],Mr=e[90],jr=e[91],Ur=e[92],Xr=e[93],Gr=e[94],qr=e[95],zr=e[96],Wr=e[97],Vr=e[98],$r=e[99],Yr=e[Fu],Hr=e[CE],Kr=e[EE],Qr=e[$l],Zr=e[sE],re=e[tg],ee=e[Ma],te=e[Uu],ne=e[Bb],ue=e[ak],ae=e[Ve],ie=e[Jr],ce=e[Be],fe=e[eu],oe=e[vi],se=e[sA],le=e[cm],ve=e[wt],De=e[Zd],pe=e[cE],be=e[S_],Fe=e[h_],me=e[g],de=e[xp],Ee=e[jF],ke=e[gd],he=e[TF],ye=e[zy],Ce=e[S],we=e[129],Ae=e[130],_e=e[131],ge=e[132],Se=e[133],xe=e[134],Te=e[135],Ie=e[136],Ne=e[137],Oe=e[138],Le=e[139],Pe=e[140],Re=e[141],Me=e[142],je=e[143],Ue=e[144],Xe=e[145],Ge=e[146],Je=e[147],qe=e[148],ze=e[149],We=e[150],$e=e[151],Ye=e[152],He=e[153],Ke=e[154],Qe=e[155],Ze=e[156],rt=e[157],et=e[158],tt=e[159],nt=e[160],ut=e[161],at=e[162],it=e[163],ct=e[164],ft=e[165],ot=e[166],st=e[167],lt=e[168],vt=e[169],Dt=e[170],pt=e[171],bt=e[172],Ft=e[173],mt=e[174],dt=e[175],Et=e[176],kt=e[177],ht=e[178],yt=e[179],Ct=e[180],At=e[181],_t=e[182],gt=e[183],Bt=e[184],St=e[185],xt=e[186],Tt=e[187],It=e[188],Nt=e[189],Ot=e[190],Lt=e[191],Pt=e[l],Rt=e[193],Mt=e[194],jt=e[195],Ut=e[196],Xt=e[197],Gt=e[198],Jt=e[199],qt=e[200],zt=e[201],Wt=e[202],Vt=e[203],$t=e[204],Yt=e[205],Ht=e[206],Kt=e[207],Qt=e[208],Zt=e[209],rn=e[210],en=e[211],tn=e[212],nn=e[41],un=e[57];return rAe(r,[0,nn,function(r,e){var t=e[2],n=t[3],u=t[2],a=t[1],i=Bx(r[1][w+1],r,a),c=Bx(r[1][I+1],r,u),f=aMe(gx(r[1][At+1],r),n);return a===i&&u===c&&n===f?e:[0,e[1],[0,i,c,f]]},U,function(r,e){var t=e[2],a=e[1];switch(t[0]){case 0:var i=t[1];return tMe(gx(r[1][Vt+1],r),a,i,e,(function(r){return[0,a,[0,r]]}));case 1:var c=t[1];return tMe(gx(r[1][zt+1],r),a,c,e,(function(r){return[0,a,[1,r]]}));case 2:var o=t[1];return tMe(gx(r[1][Rt+1],r),a,o,e,(function(r){return[0,a,[2,r]]}));case 3:var s=t[1];return tMe(gx(r[1][kt+1],r),a,s,e,(function(r){return[0,a,[3,r]]}));case 4:var l=t[1];return tMe(gx(r[1][Et+1],r),a,l,e,(function(r){return[0,a,[4,r]]}));case 5:var v=t[1];return tMe(gx(r[1][dt+1],r),a,v,e,(function(r){return[0,a,[5,r]]}));case 6:var D=t[1];return tMe(gx(r[1][mt+1],r),a,D,e,(function(r){return[0,a,[6,r]]}));case 7:var p=t[1];return tMe(gx(r[1][bt+1],r),a,p,e,(function(r){return[0,a,[7,r]]}));case 8:var b=t[1];return tMe(gx(r[1][pt+1],r),a,b,e,(function(r){return[0,a,[8,r]]}));case 9:var F=t[1];return tMe(gx(r[1][Dt+1],r),a,F,e,(function(r){return[0,a,[9,r]]}));case 10:var m=t[1];return tMe(gx(r[1][vt+1],r),a,m,e,(function(r){return[0,a,[10,r]]}));case 11:var d=t[1];return tMe(gx(r[1][lt+1],r),a,d,e,(function(r){return[0,a,[11,r]]}));case 12:return e;case 13:var E=t[1];return tMe(gx(r[1][st+1],r),a,E,e,(function(r){return[0,a,[13,r]]}));case 14:var h=t[1];return tMe(gx(r[1][ot+1],r),a,h,e,(function(r){return[0,a,[14,r]]}));case 15:var y=t[1];return tMe(gx(r[1][ft+1],r),a,y,e,(function(r){return[0,a,[15,r]]}));case 16:var w=t[1];return tMe(gx(r[1][at+1],r),a,w,e,(function(r){return[0,a,[16,r]]}));case 17:var _=t[1];return tMe(gx(r[1][Qe+1],r),a,_,e,(function(r){return[0,a,[17,r]]}));case 18:var g=t[1];return tMe(gx(r[1][He+1],r),a,g,e,(function(r){return[0,a,[18,r]]}));case 19:var B=t[1];return tMe(gx(r[1][qe+1],r),a,B,e,(function(r){return[0,a,[19,r]]}));case 20:var S=t[1];return tMe(gx(r[1][Re+1],r),a,S,e,(function(r){return[0,a,[20,r]]}));case 21:var x=t[1];return tMe(gx(r[1][Ge+1],r),a,x,e,(function(r){return[0,a,[21,r]]}));case 22:var T=t[1];return tMe(gx(r[1][je+1],r),a,T,e,(function(r){return[0,a,[22,r]]}));case 23:var I=t[1];return tMe(gx(r[1][Ie+1],r),a,I,e,(function(r){return[0,a,[23,r]]}));case 24:var N=t[1];return tMe(gx(r[1][De+1],r),a,N,e,(function(r){return[0,a,[24,r]]}));case 25:var O=t[1];return tMe(gx(r[1][le+1],r),a,O,e,(function(r){return[0,a,[25,r]]}));case 26:var P=t[1];return tMe(gx(r[1][ae+1],r),a,P,e,(function(r){return[0,a,[26,r]]}));case 27:var R=t[1];return tMe(gx(r[1][Mr+1],r),a,R,e,(function(r){return[0,a,[27,r]]}));case 28:var M=t[1];return tMe(gx(r[1][q+1],r),a,M,e,(function(r){return[0,a,[28,r]]}));case 29:var j=t[1];return tMe(gx(r[1][L+1],r),a,j,e,(function(r){return[0,a,[29,r]]}));case 30:var U=t[1];return tMe(gx(r[1][A+1],r),a,U,e,(function(r){return[0,a,[30,r]]}));case 31:var X=t[1];return tMe(gx(r[1][C+1],r),a,X,e,(function(r){return[0,a,[31,r]]}));case 32:var G=t[1];return tMe(gx(r[1][k+1],r),a,G,e,(function(r){return[0,a,[32,r]]}));case 33:var J=t[1];return tMe(gx(r[1][pr+1],r),a,J,e,(function(r){return[0,a,[33,r]]}));case 34:var z=t[1];return tMe(gx(r[1][f+1],r),a,z,e,(function(r){return[0,a,[34,r]]}));case 35:var W=t[1];return tMe(gx(r[1][u+1],r),a,W,e,(function(r){return[0,a,[35,r]]}));default:var V=t[1];return tMe(gx(r[1][n+1],r),a,V,e,(function(r){return[0,a,[36,r]]}))}},At,function(r,e){return e},I,8,eMe,N,N,function(r,e){var t=e[2],n=e[1],u=aMe(gx(r[1][At+1],r),n),a=aMe(gx(r[1][At+1],r),t);return n===u&&t===a?e:[0,u,a,e[3]]},We,function(r,e){var n=e[2],u=e[1];switch(n[0]){case 0:var a=n[1];return tMe(gx(r[1][tn+1],r),u,a,e,(function(r){return[0,u,[0,r]]}));case 1:var i=n[1];return tMe(gx(r[1][Zt+1],r),u,i,e,(function(r){return[0,u,[1,r]]}));case 2:var c=n[1];return tMe(gx(r[1][Qt+1],r),u,c,e,(function(r){return[0,u,[2,r]]}));case 3:var f=n[1];return tMe(gx(r[1][Yt+1],r),u,f,e,(function(r){return[0,u,[3,r]]}));case 4:var s=n[1];return tMe(gx(r[1][qt+1],r),u,s,e,(function(r){return[0,u,[4,r]]}));case 5:var l=n[1];return tMe(gx(r[1][Rt+1],r),u,l,e,(function(r){return[0,u,[5,r]]}));case 6:var D=n[1];return tMe(gx(r[1][Ct+1],r),u,D,e,(function(r){return[0,u,[6,r]]}));case 7:var p=n[1];return tMe(gx(r[1][ht+1],r),u,p,e,(function(r){return[0,u,[7,r]]}));case 8:var b=n[1];return tMe(gx(r[1][Te+1],r),u,b,e,(function(r){return[0,u,[8,r]]}));case 9:var m=n[1];return tMe(gx(r[1][Ee+1],r),u,m,e,(function(r){return[0,u,[9,r]]}));case 10:var d=n[1];return nMe(gx(r[1][Fe+1],r),d,e,(function(r){return[0,u,[10,r]]}));case 11:var E=n[1];return nMe(Bx(r[1][ve+1],r,u),E,e,(function(r){return[0,u,[11,r]]}));case 12:var k=n[1];return tMe(gx(r[1][Kr+1],r),u,k,e,(function(r){return[0,u,[12,r]]}));case 13:var h=n[1];return tMe(gx(r[1][Yr+1],r),u,h,e,(function(r){return[0,u,[13,r]]}));case 14:var y=n[1];return tMe(gx(r[1][Rr+1],r),u,y,e,(function(r){return[0,u,[14,r]]}));case 15:var C=n[1];return tMe(gx(r[1][Pr+1],r),u,C,e,(function(r){return[0,u,[15,r]]}));case 16:var w=n[1];return tMe(gx(r[1][Lr+1],r),u,w,e,(function(r){return[0,u,[16,r]]}));case 17:var A=n[1];return tMe(gx(r[1][xr+1],r),u,A,e,(function(r){return[0,u,[17,r]]}));case 18:var g=n[1];return tMe(gx(r[1][Sr+1],r),u,g,e,(function(r){return[0,u,[18,r]]}));case 19:var B=n[1];return tMe(gx(r[1][_r+1],r),u,B,e,(function(r){return[0,u,[19,r]]}));case 20:var S=n[1];return nMe(Bx(r[1][Dr+1],r,u),S,e,(function(r){return[0,u,[20,r]]}));case 21:var I=n[1];return tMe(gx(r[1][vr+1],r),u,I,e,(function(r){return[0,u,[21,r]]}));case 22:var N=n[1];return tMe(gx(r[1][J+1],r),u,N,e,(function(r){return[0,u,[22,r]]}));case 23:var O=n[1];return tMe(gx(r[1][P+1],r),u,O,e,(function(r){return[0,u,[23,r]]}));case 24:var L=n[1];return tMe(gx(r[1][T+1],r),u,L,e,(function(r){return[0,u,[24,r]]}));case 25:var R=n[1];return tMe(gx(r[1][x+1],r),u,R,e,(function(r){return[0,u,[25,r]]}));case 26:var M=n[1];return tMe(gx(r[1][_+1],r),u,M,e,(function(r){return[0,u,[26,r]]}));case 27:var j=n[1];return tMe(gx(r[1][F+1],r),u,j,e,(function(r){return[0,u,[27,r]]}));case 28:var U=n[1];return tMe(gx(r[1][v+1],r),u,U,e,(function(r){return[0,u,[28,r]]}));case 29:var X=n[1];return tMe(gx(r[1][o+1],r),u,X,e,(function(r){return[0,u,[29,r]]}));default:var G=n[1];return tMe(gx(r[1][t+1],r),u,G,e,(function(r){return[0,u,[30,r]]}))}},tn,function(r,e,t){var n=t[2],u=t[1],a=aMe(gx(r[1][en+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},en,function(r,e){switch(e[0]){case 0:var t=e[1];return nMe(gx(r[1][We+1],r),t,e,(function(r){return[0,r]}));case 1:var n=e[1];return nMe(gx(r[1][G+1],r),n,e,(function(r){return[1,r]}));default:return e}},Zt,function(r,e,t){return Sx(r[1][Le+1],r,e,t)},Qt,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=Bx(r[1][Kt+1],r,a),c=Bx(r[1][We+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,t[1],i,c,f]},Yt,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=Bx(r[1][We+1],r,a),c=Bx(r[1][We+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,t[1],i,c,f]},Vt,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][M+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},zt,function(r,e,t){var n=t[2],u=t[1],a=eMe(gx(r[1][jr+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},qt,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][We+1],r,i),f=eMe(gx(r[1][Xt+1],r),a),o=Bx(r[1][Jt+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,s]},Jt,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][ze+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Dr,function(r,e,t){var n=t[1],u=Sx(r[1][qt+1],r,e,n);return n===u?t:[0,u,t[2]]},Xt,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][Gt+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Gt,function(r,e){if(0===e[0]){var t=e[1],n=Bx(r[1][h+1],r,t);return n===t?e:[0,n]}var u=e[1],a=u[2][1],i=Bx(r[1][I+1],r,a);return a===i?e:[1,[0,u[1],[0,i]]]},Ut,function(r,e){return uMe(gx(r[1][Vt+1],r),e)},jt,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=eMe(gx(r[1][Mt+1],r),a),c=Bx(r[1][Ut+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},Rt,function(r,e,t){var n=t[7],u=t[6],a=t[5],i=t[4],c=t[2],f=t[1],o=eMe(gx(r[1][It+1],r),f),s=Bx(r[1][Pt+1],r,c),l=gx(r[1][Nt+1],r),v=eMe((function(r){return uMe(l,r)}),i),D=eMe(gx(r[1][Tt+1],r),a),p=aMe(gx(r[1][Lt+1],r),u),b=Bx(r[1][I+1],r,n);return f===o&&c===s&&i===v&&a===D&&u===p&&DS(n,b)?t:[0,o,s,t[3],v,D,p,b]},Nt,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=eMe(gx(r[1][m+1],r),u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},It,function(r,e){return Sx(r[1][ur+1],r,aqr,e)},Pt,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][Ot+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Lt,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Ot,function(r,e){switch(e[0]){case 0:var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][St+1],r),n,u,e,(function(r){return[0,[0,n,r]]}));case 1:var a=e[1],i=a[1],c=a[2];return tMe(gx(r[1][gt+1],r),i,c,e,(function(r){return[1,[0,i,r]]}));default:var f=e[1],o=f[1],s=f[2];return tMe(gx(r[1][Bt+1],r),o,s,e,(function(r){return[2,[0,o,r]]}))}},Tt,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][xt+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},xt,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][Fe+1],r,u),i=eMe(gx(r[1][m+1],r),n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},St,function(r,e,t){var n=t[6],u=t[5],a=t[3],i=t[2],c=Bx(r[1][yr+1],r,i),f=uMe(gx(r[1][Te+1],r),a),o=aMe(gx(r[1][Lt+1],r),u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,t[1],c,f,t[4],o,s]},gt,function(r,e,t){var n=t[6],u=t[5],i=t[3],c=t[2],f=t[1],o=Bx(r[1][yr+1],r,f),s=Bx(r[1][_t+1],r,c),l=Bx(r[1][d+1],r,i),v=Bx(r[1][a+1],r,u),D=Bx(r[1][I+1],r,n);return f===o&&c===s&&l===i&&v===u&&D===n?t:[0,o,s,l,t[4],v,D]},_t,function(r,e){if(\"number\"==typeof e)return e;var t=e[1],n=Bx(r[1][We+1],r,t);return t===n?e:[0,n]},Bt,function(r,e,t){var n=t[6],u=t[5],i=t[3],c=t[2],f=t[1],o=Bx(r[1][z+1],r,f),s=Bx(r[1][_t+1],r,c),l=Bx(r[1][d+1],r,i),v=Bx(r[1][a+1],r,u),D=Bx(r[1][I+1],r,n);return f===o&&c===s&&l===i&&v===u&&D===n?t:[0,o,s,l,t[4],v,D]},Ct,function(r,e,t){return t},ht,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][W+1],r,i),f=Bx(r[1][We+1],r,a),o=Bx(r[1][We+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&DS(n,s)?t:[0,c,f,o,s]},kt,function(r,e,t){var n=t[2],u=t[1],a=eMe(gx(r[1][jr+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},Et,function(r,e,t){var n=t[1],u=Bx(r[1][I+1],r,n);return n===u?t:[0,u]},dt,function(r,e,t){var n=t[7],u=t[6],a=t[5],i=t[4],c=t[3],f=t[2],o=t[1],s=Bx(r[1][It+1],r,o),l=eMe(gx(r[1][p+1],r),f),v=uMe(gx(r[1][br+1],r),c),D=gx(r[1][me+1],r),b=eMe((function(r){return uMe(D,r)}),i),F=gx(r[1][me+1],r),m=aMe((function(r){return uMe(F,r)}),a),d=eMe(gx(r[1][Tt+1],r),u),E=Bx(r[1][I+1],r,n);return s===o&&l===f&&v===c&&b===i&&m===a&&d===u&&E===n?t:[0,s,l,v,b,m,d,E]},mt,function(r,e,t){var n=t[5],u=t[3],a=t[2],i=eMe(gx(r[1][$e+1],r),u),c=eMe(gx(r[1][Ft+1],r),a),f=Bx(r[1][I+1],r,n);return u===i&&a===c&&n===f?t:[0,t[1],c,i,t[4],f]},Ft,function(r,e){switch(e[0]){case 0:var t=e[1],n=t[2],u=t[1],a=Sx(r[1][st+1],r,u,n);return a===n?e:[0,[0,u,a]];case 1:var i=e[1],c=i[2],f=i[1],o=Sx(r[1][bt+1],r,f,c);return o===c?e:[1,[0,f,o]];case 2:var s=e[1],l=s[2],v=s[1],D=Sx(r[1][dt+1],r,v,l);return D===l?e:[2,[0,v,D]];case 3:var p=e[1],b=Bx(r[1][h+1],r,p);return b===p?e:[3,b];case 4:var F=e[1],m=F[2],d=F[1],E=Sx(r[1][k+1],r,d,m);return E===m?e:[4,[0,d,E]];case 5:var y=e[1],C=y[2],w=y[1],A=Sx(r[1][pr+1],r,w,C);return A===C?e:[5,[0,w,A]];default:var _=e[1],g=_[2],B=_[1],S=Sx(r[1][ie+1],r,B,g);return S===g?e:[6,[0,B,S]]}},bt,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][xe+1],r,i),f=Bx(r[1][E+1],r,a),o=eMe(gx(r[1][V+1],r),u),s=Bx(r[1][I+1],r,n);return c===i&&f===a&&o===u&&s===n?t:[0,c,f,o,s]},pt,function(r,e,t){return Sx(r[1][ie+1],r,e,t)},Dt,function(r,e,t){var n=t[4],u=t[2],a=uMe(gx(r[1][Vt+1],r),u),i=Bx(r[1][I+1],r,n);return a===u&&DS(n,i)?t:[0,t[1],a,t[3],i]},vt,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][E+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},lt,function(r,e,t){return Sx(r[1][k+1],r,e,t)},st,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Sx(r[1][ur+1],r,iqr,a),c=Bx(r[1][d+1],r,u),f=Bx(r[1][I+1],r,n);return i===a&&c===u&&f===n?t:[0,i,c,f]},ot,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][U+1],r,a),c=Bx(r[1][W+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},ft,function(r,e,t){var n=t[1],u=Bx(r[1][I+1],r,n);return n===u?t:[0,u]},at,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][Fe+1],r,a),c=u[2],f=u[1];switch(c[0]){case 0:var o=c[1],s=nMe(gx(r[1][ct+1],r),o,u,(function(r){return[0,f,[0,r]]}));break;case 1:var l=c[1];s=nMe(gx(r[1][nt+1],r),l,u,(function(r){return[0,f,[1,r]]}));break;case 2:var v=c[1];s=nMe(gx(r[1][et+1],r),v,u,(function(r){return[0,f,[2,r]]}));break;default:var D=c[1];s=nMe(gx(r[1][Ze+1],r),D,u,(function(r){return[0,f,[3,r]]}))}var p=Bx(r[1][I+1],r,n);return a===i&&u===s&&n===p?t:[0,i,s,p]},ct,function(r,e){var t=e[4],n=e[1],u=aMe(gx(r[1][it+1],r),n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,e[2],e[3],a]},nt,function(r,e){var t=e[4],n=e[1],u=aMe(gx(r[1][tt+1],r),n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,e[2],e[3],a]},et,function(r,e){var t=e[4],n=e[1];if(0===n[0])var u=n[1],a=[0,aMe(gx(r[1][ut+1],r),u)];else{var i=n[1];a=[1,aMe(gx(r[1][rt+1],r),i)]}var c=Bx(r[1][I+1],r,t);return n===a&&t===c?e:[0,a,e[2],e[3],c]},Ze,function(r,e){var t=e[3],n=e[1],u=aMe(gx(r[1][ut+1],r),n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,e[2],a]},ut,function(r,e){var t=e[2][1],n=Bx(r[1][Fe+1],r,t);return DS(t,n)?e:[0,e[1],[0,n]]},it,function(r,e){var t=e[2],n=t[1],u=Bx(r[1][Fe+1],r,n);return DS(n,u)?e:[0,e[1],[0,u,t[2]]]},tt,function(r,e){var t=e[2],n=t[1],u=Bx(r[1][Fe+1],r,n);return DS(n,u)?e:[0,e[1],[0,u,t[2]]]},rt,function(r,e){var t=e[2],n=t[1],u=Bx(r[1][Fe+1],r,n);return DS(n,u)?e:[0,e[1],[0,u,t[2]]]},Qe,function(r,e,t){var n=t[3],u=t[2],a=Bx(r[1][Ke+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?t:[0,t[1],a,i]},Ke,function(r,e){if(0===e[0]){var t=e[1];return nMe(gx(r[1][U+1],r),t,e,(function(r){return[0,r]}))}var n=e[1];return nMe(gx(r[1][We+1],r),n,e,(function(r){return[1,r]}))},He,function(r,e,t){var n=t[5],u=t[2],a=t[1],i=eMe(gx(r[1][$e+1],r),u),c=eMe(gx(r[1][U+1],r),a),f=Bx(r[1][I+1],r,n);return u===i&&a===c&&n===f?t:[0,c,i,t[3],t[4],f]},Ye,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][Fe+1],r,u),i=eMe(gx(r[1][Fe+1],r),n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},$e,function(r,e){if(0===e[0]){var t=e[1],n=aMe(gx(r[1][Ye+1],r),t);return t===n?e:[0,n]}var u=e[2],a=eMe(gx(r[1][Fe+1],r),u);return u===a?e:[1,e[1],a]},qe,function(r,e,t){var n=t[3],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,t[2],i]},ze,function(r,e){if(0===e[0]){var t=e[1];return nMe(gx(r[1][We+1],r),t,e,(function(r){return[0,r]}))}var n=e[1];return nMe(gx(r[1][G+1],r),n,e,(function(r){return[1,r]}))},Ge,function(r,e,t){var n=t[5],u=t[3],a=t[2],i=t[1],c=Bx(r[1][Xe+1],r,i),f=Bx(r[1][We+1],r,a),o=Bx(r[1][U+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,t[4],s]},Xe,function(r,e){if(0===e[0]){var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][f+1],r),n,u,e,(function(r){return[0,[0,n,r]]}))}var a=e[1];return nMe(gx(r[1][Je+1],r),a,e,(function(r){return[1,r]}))},je,function(r,e,t){var n=t[5],u=t[3],a=t[2],i=t[1],c=Bx(r[1][Me+1],r,i),f=Bx(r[1][We+1],r,a),o=Bx(r[1][U+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,t[4],s]},Me,function(r,e){if(0===e[0]){var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][f+1],r),n,u,e,(function(r){return[0,[0,n,r]]}))}var a=e[1];return nMe(gx(r[1][Ue+1],r),a,e,(function(r){return[1,r]}))},Re,function(r,e,t){var n=t[5],u=t[4],a=t[3],i=t[2],c=t[1],f=eMe(gx(r[1][Pe+1],r),c),o=eMe(gx(r[1][W+1],r),i),s=eMe(gx(r[1][We+1],r),a),l=Bx(r[1][U+1],r,u),v=Bx(r[1][I+1],r,n);return c===f&&i===o&&a===s&&u===l&&n===v?t:[0,f,o,s,l,v]},Pe,function(r,e){if(0===e[0]){var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][f+1],r),n,u,e,(function(r){return[0,[0,n,r]]}))}var a=e[1];return nMe(gx(r[1][We+1],r),a,e,(function(r){return[1,r]}))},_e,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][h+1],r,n),i=eMe(gx(r[1][Fe+1],r),u);return a===n&&i===u?e:[0,e[1],[0,i,a,t[3]]]},Ce,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][_e+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?e:[0,e[1],[0,a,i]]},he,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][E+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?e:[0,e[1],[0,a,i]]},ke,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=a[2],c=i[4],f=i[3],o=i[2],s=i[1],l=t[1],v=eMe(gx(r[1][he+1],r),s),D=aMe(gx(r[1][_e+1],r),o),b=eMe(gx(r[1][Ce+1],r),f),F=Bx(r[1][h+1],r,u),m=eMe(gx(r[1][p+1],r),l),d=Bx(r[1][I+1],r,n),E=Bx(r[1][I+1],r,c);return D===o&&b===f&&F===u&&m===l&&d===n&&E===c&&v===s?t:[0,m,[0,a[1],[0,v,D,b,E]],F,d]},jr,function(r,e){return Bx(r[1][Fe+1],r,e)},mr,function(r,e){switch(e[0]){case 0:var t=e[1];return nMe(gx(r[1][h+1],r),t,e,(function(r){return[0,r]}));case 1:var n=e[1],u=n[1],a=n[2];return tMe(gx(r[1][ke+1],r),u,a,e,(function(r){return[1,[0,u,r]]}));default:var i=e[1],c=i[1],f=i[2];return tMe(gx(r[1][ke+1],r),c,f,e,(function(r){return[2,[0,c,r]]}))}},dr,function(r,e){var t=e[2],n=t[8],u=t[7],i=t[2],c=t[1],f=Bx(r[1][yr+1],r,c),o=Bx(r[1][mr+1],r,i),s=Bx(r[1][a+1],r,u),l=Bx(r[1][I+1],r,n);return f===c&&o===i&&s===u&&l===n?e:[0,e[1],[0,f,o,t[3],t[4],t[5],t[6],s,l]]},Fr,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][h+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&n===i?e:[0,e[1],[0,a,i]]},wr,function(r,e){var t=e[2],n=t[6],u=t[5],i=t[3],c=t[2],f=Bx(r[1][h+1],r,c),o=Bx(r[1][h+1],r,i),s=Bx(r[1][a+1],r,u),l=Bx(r[1][I+1],r,n);return f===c&&o===i&&s===u&&l===n?e:[0,e[1],[0,t[1],f,o,t[4],s,l]]},Cr,function(r,e){var t=e[2],n=t[6],u=t[2],a=t[1],i=Bx(r[1][Fe+1],r,a),c=Bx(r[1][h+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?e:[0,e[1],[0,i,c,t[3],t[4],t[5],f]]},Ar,function(r,e){var t=e[2],n=t[3],u=t[1],a=u[2],i=u[1],c=Sx(r[1][ke+1],r,i,a),f=Bx(r[1][I+1],r,n);return a===c&&n===f?e:[0,e[1],[0,[0,i,c],t[2],f]]},br,function(r,e,t){var n=t[4],u=t[3],a=aMe((function(e){switch(e[0]){case 0:var t=e[1];return nMe(gx(r[1][dr+1],r),t,e,(function(r){return[0,r]}));case 1:var n=e[1];return nMe(gx(r[1][Fr+1],r),n,e,(function(r){return[1,r]}));case 2:var u=e[1];return nMe(gx(r[1][wr+1],r),u,e,(function(r){return[2,r]}));case 3:var a=e[1];return nMe(gx(r[1][Ar+1],r),a,e,(function(r){return[3,r]}));default:var i=e[1];return nMe(gx(r[1][Cr+1],r),i,e,(function(r){return[4,r]}))}}),u),i=Bx(r[1][I+1],r,n);return a===u&&n===i?t:[0,t[1],t[2],a,i]},ue,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=gx(r[1][me+1],r),c=aMe((function(r){return uMe(i,r)}),u),f=uMe(gx(r[1][br+1],r),a),o=Bx(r[1][I+1],r,n);return c===u&&f===a&&n===o?t:[0,f,c,o]},de,function(r,e){if(0===e[0]){var t=e[1];return nMe(gx(r[1][Fe+1],r),t,e,(function(r){return[0,r]}))}var n=e[1],u=n[2],a=u[2],i=u[1],c=Bx(r[1][de+1],r,i),f=Bx(r[1][Fe+1],r,a);return c===i&&f===a?e:[1,[0,n[1],[0,c,f]]]},a,function(r,e){if(e){var t=e[1],n=t[2],u=n[2],a=Bx(r[1][I+1],r,u);if(u===a)return e;var i=[0,[0,t[1],[0,n[1],a]]]}else i=e;return i},m,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][h+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},p,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][b+1],r),u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?e:[0,e[1],[0,a,i]]},b,function(r,e){var t=e[2],n=t[4],u=t[3],i=t[2],c=t[1],f=Bx(r[1][Fe+1],r,c),o=Bx(r[1][d+1],r,i),s=Bx(r[1][a+1],r,u),l=eMe(gx(r[1][h+1],r),n);return f===c&&o===i&&s===u&&l===n?e:[0,e[1],[0,f,o,s,l]]},me,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][de+1],r,a),c=eMe(gx(r[1][m+1],r),u),f=Bx(r[1][I+1],r,n);return i===a&&c===u&&f===n?t:[0,i,c,f]},R,function(r,e,t){var n=t[3],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],t[2],u]},gr,function(r,e,t){var n=t[3],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],t[2],u]},Ht,function(r,e,t){var n=t[3],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],t[2],u]},Wt,function(r,e,t){var n=t[2],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],u]},Br,function(r,e){var t=e[2],n=e[1],u=Bx(r[1][h+1],r,n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,a]},D,function(r,e){var t=e[3],n=e[1],u=Bx(r[1][h+1],r,n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,e[2],a]},y,function(r,e){var t=e[2],n=e[1],u=aMe(gx(r[1][h+1],r),n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,a]},rn,function(r,e){var t=e[2],n=e[1],u=Bx(r[1][h+1],r,n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,a]},s,function(r,e,t){var n=t[2],u=t[1],a=u[3],i=u[2],c=u[1],f=Bx(r[1][h+1],r,c),o=Bx(r[1][h+1],r,i),s=aMe(gx(r[1][h+1],r),a),l=Bx(r[1][I+1],r,n);return f===c&&o===i&&s===a&&l===n?t:[0,[0,f,o,s],l]},ne,function(r,e,t){var n=t[2],u=t[1],a=u[3],i=u[2],c=u[1],f=Bx(r[1][h+1],r,c),o=Bx(r[1][h+1],r,i),s=aMe(gx(r[1][h+1],r),a),l=Bx(r[1][I+1],r,n);return f===c&&o===i&&s===a&&l===n?t:[0,[0,f,o,s],l]},h,function(r,e){var t=e[2],n=e[1];switch(t[0]){case 0:var u=t[1];return nMe(gx(r[1][I+1],r),u,e,(function(r){return[0,n,[0,r]]}));case 1:var a=t[1];return nMe(gx(r[1][I+1],r),a,e,(function(r){return[0,n,[1,r]]}));case 2:var i=t[1];return nMe(gx(r[1][I+1],r),i,e,(function(r){return[0,n,[2,r]]}));case 3:var c=t[1];return nMe(gx(r[1][I+1],r),c,e,(function(r){return[0,n,[3,r]]}));case 4:var f=t[1];return nMe(gx(r[1][I+1],r),f,e,(function(r){return[0,n,[4,r]]}));case 5:var o=t[1];return nMe(gx(r[1][I+1],r),o,e,(function(r){return[0,n,[5,r]]}));case 6:var l=t[1];return nMe(gx(r[1][I+1],r),l,e,(function(r){return[0,n,[6,r]]}));case 7:var v=t[1];return nMe(gx(r[1][I+1],r),v,e,(function(r){return[0,n,[7,r]]}));case 8:var p=t[1];return nMe(gx(r[1][I+1],r),p,e,(function(r){return[0,n,[8,r]]}));case 9:var b=t[1];return nMe(gx(r[1][I+1],r),b,e,(function(r){return[0,n,[9,r]]}));case 10:var F=t[1];return nMe(gx(r[1][I+1],r),F,e,(function(r){return[0,n,[10,r]]}));case 11:var m=t[1];return nMe(gx(r[1][Br+1],r),m,e,(function(r){return[0,n,[11,r]]}));case 12:var d=t[1];return tMe(gx(r[1][ke+1],r),n,d,e,(function(r){return[0,n,[12,r]]}));case 13:var E=t[1];return tMe(gx(r[1][br+1],r),n,E,e,(function(r){return[0,n,[13,r]]}));case 14:var k=t[1];return tMe(gx(r[1][ue+1],r),n,k,e,(function(r){return[0,n,[14,r]]}));case 15:var h=t[1];return nMe(gx(r[1][rn+1],r),h,e,(function(r){return[0,n,[15,r]]}));case 16:var C=t[1];return tMe(gx(r[1][me+1],r),n,C,e,(function(r){return[0,n,[16,r]]}));case 17:var w=t[1];return tMe(gx(r[1][s+1],r),n,w,e,(function(r){return[0,n,[17,r]]}));case 18:var A=t[1];return tMe(gx(r[1][ne+1],r),n,A,e,(function(r){return[0,n,[18,r]]}));case 19:var _=t[1];return nMe(gx(r[1][D+1],r),_,e,(function(r){return[0,n,[19,r]]}));case 20:var g=t[1];return nMe(gx(r[1][y+1],r),g,e,(function(r){return[0,n,[20,r]]}));case 21:var B=t[1];return tMe(gx(r[1][R+1],r),n,B,e,(function(r){return[0,n,[21,r]]}));case 22:var S=t[1];return tMe(gx(r[1][gr+1],r),n,S,e,(function(r){return[0,n,[22,r]]}));case 23:var x=t[1];return tMe(gx(r[1][Ht+1],r),n,x,e,(function(r){return[0,n,[23,r]]}));default:var T=t[1];return tMe(gx(r[1][Wt+1],r),n,T,e,(function(r){return[0,n,[24,r]]}))}},E,function(r,e){var t=e[1],n=e[2];return nMe(gx(r[1][h+1],r),n,e,(function(r){return[0,t,r]}))},d,function(r,e){if(0===e[0])return e;var t=e[1],n=Bx(r[1][E+1],r,t);return n===t?e:[1,n]},Ie,function(r,e,t){return Sx(r[1][Le+1],r,e,t)},Te,function(r,e,t){return Sx(r[1][Le+1],r,e,t)},Le,function(r,e,t){var n=t[9],u=t[8],a=t[7],i=t[6],c=t[3],f=t[2],o=t[1],s=eMe(gx(r[1][xe+1],r),o),l=Bx(r[1][Ae+1],r,f),v=Bx(r[1][d+1],r,a),D=Bx(r[1][Ne+1],r,c),b=eMe(gx(r[1][V+1],r),i),F=eMe(gx(r[1][p+1],r),u),m=Bx(r[1][I+1],r,n);return o===s&&f===l&&c===D&&DS(i,b)&&a===v&&u===F&&n===m?t:[0,s,l,D,t[4],t[5],b,v,F,m,t[10]]},Ae,function(r,e){var t=e[2],n=t[4],u=t[3],a=t[2],i=t[1],c=aMe(gx(r[1][Se+1],r),a),f=eMe(gx(r[1][we+1],r),u),o=eMe(gx(r[1][ye+1],r),i),s=Bx(r[1][I+1],r,n);return a===c&&u===f&&n===s&&i===o?e:[0,e[1],[0,o,c,f,s]]},ye,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][E+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?e:[0,e[1],[0,a,i]]},Se,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][ge+1],r,u),i=eMe(gx(r[1][We+1],r),n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Ne,function(r,e){if(0===e[0]){var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][Oe+1],r),n,u,e,(function(r){return[0,[0,n,r]]}))}var a=e[1];return nMe(gx(r[1][We+1],r),a,e,(function(r){return[1,r]}))},Oe,function(r,e,t){return Sx(r[1][Vt+1],r,e,t)},xe,function(r,e){return Sx(r[1][ur+1],r,cqr,e)},Ee,function(r,e,t){return t},Fe,function(r,e){var t=e[2],n=t[2],u=Bx(r[1][I+1],r,n);return n===u?e:[0,e[1],[0,t[1],u]]},ie,function(r,e,t){var n=t[5],u=t[4],a=t[3],i=t[2],c=t[1],f=Bx(r[1][It+1],r,c),o=eMe(gx(r[1][p+1],r),i),s=gx(r[1][me+1],r),l=aMe((function(r){return uMe(s,r)}),a),v=uMe(gx(r[1][br+1],r),u),D=Bx(r[1][I+1],r,n);return f===c&&o===i&&l===a&&v===u&&D===n?t:[0,f,o,l,v,D]},ae,function(r,e,t){return Sx(r[1][ie+1],r,e,t)},z,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][Fe+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},yt,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},ve,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},pe,function(r,e,t){return Bx(r[1][U+1],r,t)},be,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][U+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},De,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][W+1],r,i),f=Sx(r[1][pe+1],r,0!==u?1:0,a),o=gx(r[1][be+1],r),s=eMe((function(r){return uMe(o,r)}),u),l=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===s&&n===l?t:[0,c,f,s,l]},le,function(r,e,t){var n=t[5],u=t[4],a=t[3],i=eMe(gx(r[1][ce+1],r),u),c=eMe(gx(r[1][se+1],r),a),f=Bx(r[1][I+1],r,n);return u===i&&a===c&&n===f?t:[0,t[1],t[2],c,i,f]},ce,function(r,e){if(0===e[0]){var t=e[1],n=aMe(gx(r[1][oe+1],r),t);return t===n?e:[0,n]}var u=e[1],a=u[1],i=u[2];return tMe(gx(r[1][fe+1],r),a,i,e,(function(r){return[1,[0,a,r]]}))},oe,function(r,e){var t=e[3],n=e[2],u=Bx(r[1][Fe+1],r,t);if(n)var a=n[1],i=nMe(Bx(r[1][ur+1],r,fqr),a,n,(function(r){return[0,r]}));else i=n;return n===i&&t===u?e:[0,e[1],i,u]},se,function(r,e){return Sx(r[1][ur+1],r,oqr,e)},fe,function(r,e,t){return Sx(r[1][ur+1],r,sqr,t)},Kr,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][Gr+1],r,i),f=eMe(gx(r[1][Qr+1],r),a),o=Bx(r[1][Zr+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,s]},Yr,function(r,e,t){var n=t[4],u=t[3],a=Bx(r[1][Zr+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,t[1],t[2],a,i]},Gr,function(r,e){var t=e[2],n=t[3],u=t[1],a=Bx(r[1][Wr+1],r,u),i=aMe(gx(r[1][qr+1],r),n);return u===a&&n===i?e:[0,e[1],[0,a,t[2],i]]},Qr,function(r,e){var t=e[2][1],n=Bx(r[1][Wr+1],r,t);return t===n?e:[0,e[1],[0,n]]},qr,function(r,e){if(0===e[0]){var t=e[1];return nMe(gx(r[1][te+1],r),t,e,(function(r){return[0,r]}))}var n=e[1],u=n[1],a=n[2];return tMe(gx(r[1][Xr+1],r),u,a,e,(function(r){return[1,[0,u,r]]}))},Xr,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},te,function(r,e){var t=e[2],n=t[2],u=eMe(gx(r[1][ee+1],r),n);return n===u?e:[0,e[1],[0,t[1],u]]},ee,function(r,e){if(0===e[0])return e;var t=e[1],n=e[2];return tMe(gx(r[1][Hr+1],r),t,n,e,(function(r){return[1,t,r]}))},Zr,function(r,e){var t=e[2],n=aMe(gx(r[1][re+1],r),t);return t===n?e:[0,e[1],n]},re,function(r,e){var t=e[2],n=e[1];switch(t[0]){case 0:var u=t[1];return tMe(gx(r[1][Kr+1],r),n,u,e,(function(r){return[0,n,[0,r]]}));case 1:var a=t[1];return tMe(gx(r[1][Yr+1],r),n,a,e,(function(r){return[0,n,[1,r]]}));case 2:var i=t[1];return tMe(gx(r[1][Hr+1],r),n,i,e,(function(r){return[0,n,[2,r]]}));case 3:var c=t[1];return nMe(gx(r[1][Ur+1],r),c,e,(function(r){return[0,n,[3,r]]}));default:return e}},Hr,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][I+1],r,n);if(u){var i=u[1],c=Bx(r[1][We+1],r,i);return i===c&&n===a?t:[0,[0,c],a]}return n===a?t:[0,0,a]},Ur,function(r,e){var t=e[2],n=e[1],u=Bx(r[1][We+1],r,n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,a]},Wr,function(r,e){switch(e[0]){case 0:var t=[0,Bx(r[1][$r+1],r,e[1])];break;case 1:t=[1,Bx(r[1][zr+1],r,e[1])];break;default:t=[2,Bx(r[1][Vr+1],r,e[1])]}return DS(e,t)?e:t},zr,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][$r+1],r,u),i=Bx(r[1][$r+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Vr,function(r,e){var t=e[2],n=t[2],u=t[1];if(0===u[0])var a=u[1],i=Bx(r[1][$r+1],r,a),c=i===a?u:[0,i];else{var f=u[1],o=Bx(r[1][Vr+1],r,f);c=o===f?u:[1,o]}var s=Bx(r[1][$r+1],r,n);return u===c&&n===s?e:[0,e[1],[0,c,s]]},$r,function(r,e){var t=e[2],n=t[2],u=Bx(r[1][I+1],r,n);return n===u?e:[0,e[1],[0,t[1],u]]},Mr,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][jr+1],r,a),c=Bx(r[1][U+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},Rr,function(r,e,t){var n=t[3],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],t[2],u]},Pr,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=Bx(r[1][We+1],r,a),c=Bx(r[1][We+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,t[1],i,c,f]},Lr,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=Bx(r[1][Nr+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},vr,function(r,e,t){var n=t[1],u=Sx(r[1][Lr+1],r,e,n);return n===u?t:[0,u,t[2]]},Nr,function(r,e){switch(e[0]){case 0:var t=e[1];return nMe(gx(r[1][Tr+1],r),t,e,(function(r){return[0,r]}));case 1:var n=e[1];return nMe(gx(r[1][Or+1],r),n,e,(function(r){return[1,r]}));default:var u=e[1];return nMe(gx(r[1][Ir+1],r),u,e,(function(r){return[2,r]}))}},Tr,function(r,e){return Bx(r[1][Fe+1],r,e)},Or,function(r,e){return Bx(r[1][z+1],r,e)},Ir,function(r,e){return Bx(r[1][We+1],r,e)},xr,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][Fe+1],r,a),c=Bx(r[1][Fe+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},Sr,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][We+1],r,i),f=eMe(gx(r[1][Xt+1],r),a),o=eMe(gx(r[1][Jt+1],r),u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,s]},_r,function(r,e,t){var n=t[2],u=t[1],a=aMe((function(e){if(0===e[0]){var t=e[1],n=Bx(r[1][Er+1],r,t);return t===n?e:[0,n]}var u=e[1],a=Bx(r[1][X+1],r,u);return u===a?e:[1,a]}),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},Er,function(r,e){var t=e[2],n=e[1];switch(t[0]){case 0:var u=t[2],a=t[1],i=Bx(r[1][yr+1],r,a),c=Bx(r[1][We+1],r,u);return a===i&&u===c?e:[0,n,[0,i,c,t[3]]];case 1:var f=t[2],o=t[1],s=Bx(r[1][yr+1],r,o),l=uMe(gx(r[1][Te+1],r),f);return o===s&&f===l?e:[0,n,[1,s,l]];case 2:var v=t[3],D=t[2],p=t[1],b=Bx(r[1][yr+1],r,p),F=uMe(gx(r[1][Te+1],r),D),m=Bx(r[1][I+1],r,v);return p===b&&D===F&&v===m?e:[0,n,[2,b,F,m]];default:var d=t[3],E=t[2],k=t[1],h=Bx(r[1][yr+1],r,k),y=uMe(gx(r[1][Te+1],r),E),C=Bx(r[1][I+1],r,d);return k===h&&E===y&&d===C?e:[0,n,[3,h,y,C]]}},yr,function(r,e){switch(e[0]){case 0:var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][Rr+1],r),n,u,e,(function(r){return[0,[0,n,r]]}));case 1:var a=e[1];return nMe(gx(r[1][kr+1],r),a,e,(function(r){return[1,r]}));case 2:var i=e[1];return nMe(gx(r[1][z+1],r),i,e,(function(r){return[2,r]}));default:var c=e[1];return nMe(gx(r[1][hr+1],r),c,e,(function(r){return[3,r]}))}},kr,function(r,e){return Bx(r[1][Fe+1],r,e)},hr,function(r,e){return Bx(r[1][yt+1],r,e)},pr,function(r,e,t){var n=t[5],u=t[4],a=t[3],i=t[2],c=t[1],f=Bx(r[1][Fe+1],r,c),o=eMe(gx(r[1][p+1],r),i),s=eMe(gx(r[1][h+1],r),a),l=eMe(gx(r[1][h+1],r),u),v=Bx(r[1][I+1],r,n);return c===f&&a===s&&i===o&&a===s&&u===l&&n===v?t:[0,f,o,s,l,v]},ge,function(r,e){return Sx(r[1][$t+1],r,0,e)},i,function(r,e,t){return Sx(r[1][$t+1],r,[0,e],t)},Mt,function(r,e){return Sx(r[1][$t+1],r,lqr,e)},Je,function(r,e){return Bx(r[1][Kt+1],r,e)},Ue,function(r,e){return Bx(r[1][Kt+1],r,e)},$t,function(r,e,t){var n=e?e[1]:e;return Sx(r[1][lr+1],r,[0,n],t)},Kt,function(r,e){return Sx(r[1][lr+1],r,0,e)},lr,function(r,e,t){var n=t[2];switch(n[0]){case 0:var u=n[1],a=u[3],i=u[2],c=u[1],f=aMe(Bx(r[1][tr+1],r,e),c),o=Bx(r[1][d+1],r,i),s=Bx(r[1][I+1],r,a);if(f===c)if(o===i)if(s===a)var l=n,v=1;else v=0;else v=0;else v=0;if(!v)l=[0,[0,f,o,s]];var D=l;break;case 1:var p=n[1],b=p[3],F=p[2],m=p[1],E=aMe(Bx(r[1][sr+1],r,e),m),k=Bx(r[1][d+1],r,F),h=Bx(r[1][I+1],r,b);if(b===h)if(E===m)if(k===F)var y=n,C=1;else C=0;else C=0;else C=0;if(!C)y=[1,[0,E,k,h]];D=y;break;case 2:var w=n[1],A=w[2],_=w[1],g=Sx(r[1][ur+1],r,e,_),B=Bx(r[1][d+1],r,A);if(_===g)if(A===B)var S=n,x=1;else x=0;else x=0;if(!x)S=[2,[0,g,B,w[3]]];D=S;break;default:var T=n[1];D=nMe(gx(r[1][ar+1],r),T,n,(function(r){return[3,r]}))}return n===D?t:[0,t[1],D]},ur,function(r,e,t){return Bx(r[1][Fe+1],r,t)},nr,function(r,e,t,n){return Sx(r[1][Rr+1],r,t,n)},tr,function(r,e,t){if(0===t[0]){var n=t[1],u=n[1],a=n[2];return nMe(Bx(r[1][er+1],r,e),a,t,(function(r){return[0,[0,u,r]]}))}var i=t[1],c=i[1],f=i[2];return nMe(Bx(r[1][Y+1],r,e),f,t,(function(r){return[1,[0,c,r]]}))},er,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Sx(r[1][Q+1],r,e,a),c=Sx(r[1][H+1],r,e,u),f=eMe(gx(r[1][We+1],r),n);return i===a&&c===u&&f===n?t:[0,i,c,f,0]},Q,function(r,e,t){switch(t[0]){case 0:var n=t[1],u=n[1],a=n[2];return tMe(Bx(r[1][K+1],r,e),u,a,t,(function(r){return[0,[0,u,r]]}));case 1:var i=t[1];return nMe(Bx(r[1][Z+1],r,e),i,t,(function(r){return[1,r]}));default:var c=t[1];return nMe(Bx(r[1][rr+1],r,e),c,t,(function(r){return[2,r]}))}},K,function(r,e,t,n){return xx(r[1][nr+1],r,e,t,n)},Z,function(r,e,t){return Sx(r[1][ur+1],r,e,t)},rr,function(r,e,t){return Bx(r[1][yt+1],r,t)},Y,function(r,e,t){var n=t[2],u=t[1],a=Sx(r[1][$+1],r,e,u),i=Bx(r[1][I+1],r,n);return a===u&&n===i?t:[0,a,i]},H,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},$,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},sr,function(r,e,t){switch(t[0]){case 0:var n=t[1],u=n[1],a=n[2];return nMe(Bx(r[1][or+1],r,e),a,t,(function(r){return[0,[0,u,r]]}));case 1:var i=t[1],c=i[1],f=i[2];return nMe(Bx(r[1][cr+1],r,e),f,t,(function(r){return[1,[0,c,r]]}));default:return t}},or,function(r,e,t){var n=t[2],u=t[1],a=Sx(r[1][fr+1],r,e,u),i=eMe(gx(r[1][We+1],r),n);return u===a&&n===i?t:[0,a,i]},fr,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},cr,function(r,e,t){var n=t[2],u=t[1],a=Sx(r[1][ir+1],r,e,u),i=Bx(r[1][I+1],r,n);return a===u&&n===i?t:[0,a,i]},ir,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},un,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},ar,function(r,e){return Bx(r[1][We+1],r,e)},V,function(r,e){var t=e[2],n=t[2],u=t[1];if(u)var a=u[1],i=nMe(gx(r[1][We+1],r),a,u,(function(r){return[0,r]}));else i=u;var c=Bx(r[1][I+1],r,n);return u===i&&n===c?e:[0,e[1],[0,i,c]]},W,function(r,e){return Bx(r[1][We+1],r,e)},we,function(r,e){var t=e[2],n=t[2],u=t[1],a=Sx(r[1][$t+1],r,0,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},q,function(r,e,t){var n=t[2],u=t[1],a=eMe(gx(r[1][We+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},J,function(r,e,t){var n=t[2],u=t[1],a=aMe(gx(r[1][We+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},w,function(r,e){return Bx(r[1][M+1],r,e)},M,function(r,e){var t=gx(r[1][j+1],r),n=Sye((function(r,e){var n=r[1],u=gx(t,e);if(u){if(u[2])return[0,Cye(u,n),1];var a=u[1];return[0,[0,a,n],r[2]||(e!==a?1:0)]}return[0,n,1]}),vqr,e);return n[2]?wye(n[1]):e},j,function(r,e){return[0,Bx(r[1][U+1],r,e),0]},G,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},X,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},P,function(r,e,t){var n=t[1],u=Bx(r[1][I+1],r,n);return n===u?t:[0,u]},L,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=gx(r[1][O+1],r),f=aMe((function(r){return uMe(c,r)}),u),o=Bx(r[1][I+1],r,n);return a===i&&u===f&&n===o?t:[0,i,f,o]},O,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=eMe(gx(r[1][We+1],r),a),c=Bx(r[1][M+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},T,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=uMe(gx(r[1][x+1],r),u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},x,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=aMe(gx(r[1][B+1],r),a),c=aMe(gx(r[1][We+1],r),u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},B,function(r,e){return e},_,function(r,e,t){var n=t[1],u=Bx(r[1][I+1],r,n);return n===u?t:[0,u]},A,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},C,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=uMe(gx(r[1][Vt+1],r),i);if(a)var f=a[1],o=f[1],s=f[2],l=tMe(gx(r[1][jt+1],r),o,s,a,(function(r){return[0,[0,o,r]]}));else l=a;if(u)var v=u[1],D=v[1],p=v[2],b=tMe(gx(r[1][Vt+1],r),D,p,u,(function(r){return[0,[0,D,r]]}));else b=u;var F=Bx(r[1][I+1],r,n);return i===c&&a===l&&u===b&&n===F?t:[0,c,l,b,F]},F,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=Bx(r[1][E+1],r,u),f=Bx(r[1][I+1],r,n);return i===a&&c===u&&f===n?t:[0,i,c,f]},v,function(r,e,t){var n=t[3],u=t[2],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,t[1],a,i]},o,function(r,e,t){var n=t[4],u=t[2],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,t[1],a,t[3],i]},f,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=aMe(Bx(r[1][c+1],r,u),a),f=Bx(r[1][I+1],r,n);return a===i&&DS(n,f)?t:[0,i,u,f]},c,function(r,e,t){var n=t[2],u=n[2],a=n[1],c=Sx(r[1][i+1],r,e,a),f=eMe(gx(r[1][We+1],r),u);return a===c&&u===f?t:[0,t[1],[0,c,f]]},u,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][W+1],r,a),c=Bx(r[1][U+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},n,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=Bx(r[1][U+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},k,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][Fe+1],r,i),f=eMe(gx(r[1][p+1],r),a),o=Bx(r[1][h+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&u===o&&a===f&&n===s?t:[0,c,f,o,s]},t,function(r,e,t){var n=t[2],u=t[1],a=eMe(gx(r[1][We+1],r),u),i=Bx(r[1][I+1],r,n);return DS(n,i)&&u===a?t:[0,a,i,t[3]]}]),function(e,t){return Kwe(t,r)}})),cMe=function(r){return\"number\"==typeof r?Sqr:r[1]},fMe=function(r){if(\"number\"==typeof r)return 1;switch(r[0]){case 0:return 2;case 3:return 4;default:return 3}},oMe=function(r,e){gx(Bwe(r),xqr),Bx(Bwe(r),Iqr,Tqr);var t=e[1];Bx(Bwe(r),Nqr,t),gx(Bwe(r),Oqr),gx(Bwe(r),Lqr),Bx(Bwe(r),Rqr,Pqr);var n=e[2];return Bx(Bwe(r),Mqr,n),gx(Bwe(r),jqr),gx(Bwe(r),Uqr)},sMe=function r(e,t){return r.fun(e,t)};XB(sMe,(function(r,e){gx(Bwe(r),Gqr),Bx(Bwe(r),qqr,Jqr);var t=e[1];if(t){lwe(r,zqr);var n=t[1];if(\"number\"==typeof n)lwe(r,Fqr);else switch(n[0]){case 0:gx(Bwe(r),mqr);var u=n[1];Bx(Bwe(r),dqr,u),gx(Bwe(r),Eqr);break;case 1:gx(Bwe(r),kqr);var a=n[1];Bx(Bwe(r),hqr,a),gx(Bwe(r),yqr);break;case 2:gx(Bwe(r),Cqr);var i=n[1];Bx(Bwe(r),wqr,i),gx(Bwe(r),Aqr);break;default:gx(Bwe(r),_qr);var c=n[1];Bx(Bwe(r),gqr,c),gx(Bwe(r),Bqr)}lwe(r,Wqr)}else lwe(r,Vqr);return gx(Bwe(r),$qr),gx(Bwe(r),Yqr),Bx(Bwe(r),Kqr,Hqr),oMe(r,e[2]),gx(Bwe(r),Qqr),gx(Bwe(r),Zqr),Bx(Bwe(r),ezr,rzr),oMe(r,e[3]),gx(Bwe(r),tzr),gx(Bwe(r),nzr)})),XB((function r(e){return r.fun(e)}),(function(r){return Bx(Swe(Xqr),sMe,r)}));var lMe=function(r,e){return[0,r[1],r[2],e[3]]},vMe=function(r,e){var t=r[1]-e[1]|0;return 0===t?r[2]-e[2]|0:t},DMe=function r(e,t,n){return r.fun(e,t,n)};XB(DMe,(function(r,e,t){var n=t[2];switch(n[0]){case 0:return Sye((function(e,t){var n=0===t[0]?t[1][2][2]:t[1][2][1];return Sx(DMe,r,e,n)}),e,n[1][1]);case 1:return Sye((function(e,t){return 2===t[0]?e:Sx(DMe,r,e,t[1][2][1])}),e,n[1][1]);case 2:var u=n[1];return Sx(r,e,u[1],u[2]);default:return e}}));var pMe=function(r){return r[2][1]},bMe=function(r,e){return[0,e[1],[0,e[2],r]]},FMe=function(r,e,t){return[0,r?r[1]:r,e?e[1]:e,t]},mMe=function(r,e,t){var n=r?r[1]:r,u=e?e[1]:e;return n||u?[0,FMe([0,n],[0,u],0)]:u},dMe=function(r,e,t){var n=r?r[1]:r,u=e?e[1]:e;return n||u||t?[0,FMe([0,n],[0,u],t)]:t},EMe=function(r,e){if(r){if(e){var t=e[1],n=r[1],u=[0,fye(n[2],t[2])];return mMe([0,fye(t[1],n[1])],u)}var a=r}else a=e;return a},kMe=function(r,e){if(e){if(r){var t=e[1],n=r[1],u=n[3],a=[0,fye(n[2],t[2])];return dMe([0,fye(t[1],n[1])],a,u)}var i=e[1];return dMe([0,i[1]],[0,i[2]],0)}return r},hMe=function r(e,t){return r.fun(e,t)};XB(hMe,(function(r,e){if(\"number\"==typeof r){var t=r;if(55<=t)switch(t){case 55:if(\"number\"==typeof e&&55===e)return 0;break;case 56:if(\"number\"==typeof e&&56===e)return 0;break;case 57:if(\"number\"==typeof e&&57===e)return 0;break;case 58:if(\"number\"==typeof e&&58===e)return 0;break;case 59:if(\"number\"==typeof e&&59===e)return 0;break;case 60:if(\"number\"==typeof e&&60===e)return 0;break;case 61:if(\"number\"==typeof e&&61===e)return 0;break;case 62:if(\"number\"==typeof e&&62===e)return 0;break;case 63:if(\"number\"==typeof e&&63===e)return 0;break;case 64:if(\"number\"==typeof e&&64===e)return 0;break;case 65:if(\"number\"==typeof e&&65===e)return 0;break;case 66:if(\"number\"==typeof e&&66===e)return 0;break;case 67:if(\"number\"==typeof e&&67===e)return 0;break;case 68:if(\"number\"==typeof e&&68===e)return 0;break;case 69:if(\"number\"==typeof e&&69===e)return 0;break;case 70:if(\"number\"==typeof e&&70===e)return 0;break;case 71:if(\"number\"==typeof e&&71===e)return 0;break;case 72:if(\"number\"==typeof e&&72===e)return 0;break;case 73:if(\"number\"==typeof e&&73===e)return 0;break;case 74:if(\"number\"==typeof e&&74===e)return 0;break;case 75:if(\"number\"==typeof e&&75===e)return 0;break;case 76:if(\"number\"==typeof e&&76===e)return 0;break;case 77:if(\"number\"==typeof e&&77===e)return 0;break;case 78:if(\"number\"==typeof e&&78===e)return 0;break;case 79:if(\"number\"==typeof e&&79===e)return 0;break;case 80:if(\"number\"==typeof e&&80===e)return 0;break;case 81:if(\"number\"==typeof e&&81===e)return 0;break;case 82:if(\"number\"==typeof e&&82===e)return 0;break;case 83:if(\"number\"==typeof e&&83===e)return 0;break;case 84:if(\"number\"==typeof e&&84===e)return 0;break;case 85:if(\"number\"==typeof e&&85===e)return 0;break;case 86:if(\"number\"==typeof e&&86===e)return 0;break;case 87:if(\"number\"==typeof e&&87===e)return 0;break;case 88:if(\"number\"==typeof e&&88===e)return 0;break;case 89:if(\"number\"==typeof e&&89===e)return 0;break;case 90:if(\"number\"==typeof e&&90===e)return 0;break;case 91:if(\"number\"==typeof e&&91===e)return 0;break;case 92:if(\"number\"==typeof e&&92===e)return 0;break;case 93:if(\"number\"==typeof e&&93===e)return 0;break;case 94:if(\"number\"==typeof e&&94===e)return 0;break;case 95:if(\"number\"==typeof e&&95===e)return 0;break;case 96:if(\"number\"==typeof e&&96===e)return 0;break;case 97:if(\"number\"==typeof e&&97===e)return 0;break;case 98:if(\"number\"==typeof e&&98===e)return 0;break;case 99:if(\"number\"==typeof e&&99===e)return 0;break;case 100:if(\"number\"==typeof e&&Fu===e)return 0;break;case 101:if(\"number\"==typeof e&&CE===e)return 0;break;case 102:if(\"number\"==typeof e&&EE===e)return 0;break;case 103:if(\"number\"==typeof e&&$l===e)return 0;break;case 104:if(\"number\"==typeof e&&sE===e)return 0;break;case 105:if(\"number\"==typeof e&&tg===e)return 0;break;case 106:if(\"number\"==typeof e&&Ma===e)return 0;break;case 107:if(\"number\"==typeof e&&Uu===e)return 0;break;case 108:if(\"number\"==typeof e&&Bb===e)return 0;break;default:if(\"number\"==typeof e&&ak<=e)return 0}else switch(t){case 0:if(\"number\"==typeof e&&0===e)return 0;break;case 1:if(\"number\"==typeof e&&1===e)return 0;break;case 2:if(\"number\"==typeof e&&2===e)return 0;break;case 3:if(\"number\"==typeof e&&3===e)return 0;break;case 4:if(\"number\"==typeof e&&4===e)return 0;break;case 5:if(\"number\"==typeof e&&5===e)return 0;break;case 6:if(\"number\"==typeof e&&6===e)return 0;break;case 7:if(\"number\"==typeof e&&7===e)return 0;break;case 8:if(\"number\"==typeof e&&8===e)return 0;break;case 9:if(\"number\"==typeof e&&9===e)return 0;break;case 10:if(\"number\"==typeof e&&10===e)return 0;break;case 11:if(\"number\"==typeof e&&11===e)return 0;break;case 12:if(\"number\"==typeof e&&12===e)return 0;break;case 13:if(\"number\"==typeof e&&13===e)return 0;break;case 14:if(\"number\"==typeof e&&14===e)return 0;break;case 15:if(\"number\"==typeof e&&15===e)return 0;break;case 16:if(\"number\"==typeof e&&16===e)return 0;break;case 17:if(\"number\"==typeof e&&17===e)return 0;break;case 18:if(\"number\"==typeof e&&18===e)return 0;break;case 19:if(\"number\"==typeof e&&19===e)return 0;break;case 20:if(\"number\"==typeof e&&20===e)return 0;break;case 21:if(\"number\"==typeof e&&21===e)return 0;break;case 22:if(\"number\"==typeof e&&22===e)return 0;break;case 23:if(\"number\"==typeof e&&23===e)return 0;break;case 24:if(\"number\"==typeof e&&24===e)return 0;break;case 25:if(\"number\"==typeof e&&25===e)return 0;break;case 26:if(\"number\"==typeof e&&26===e)return 0;break;case 27:if(\"number\"==typeof e&&27===e)return 0;break;case 28:if(\"number\"==typeof e&&28===e)return 0;break;case 29:if(\"number\"==typeof e&&29===e)return 0;break;case 30:if(\"number\"==typeof e&&30===e)return 0;break;case 31:if(\"number\"==typeof e&&31===e)return 0;break;case 32:if(\"number\"==typeof e&&32===e)return 0;break;case 33:if(\"number\"==typeof e&&33===e)return 0;break;case 34:if(\"number\"==typeof e&&34===e)return 0;break;case 35:if(\"number\"==typeof e&&35===e)return 0;break;case 36:if(\"number\"==typeof e&&36===e)return 0;break;case 37:if(\"number\"==typeof e&&37===e)return 0;break;case 38:if(\"number\"==typeof e&&38===e)return 0;break;case 39:if(\"number\"==typeof e&&39===e)return 0;break;case 40:if(\"number\"==typeof e&&40===e)return 0;break;case 41:if(\"number\"==typeof e&&41===e)return 0;break;case 42:if(\"number\"==typeof e&&42===e)return 0;break;case 43:if(\"number\"==typeof e&&43===e)return 0;break;case 44:if(\"number\"==typeof e&&44===e)return 0;break;case 45:if(\"number\"==typeof e&&45===e)return 0;break;case 46:if(\"number\"==typeof e&&46===e)return 0;break;case 47:if(\"number\"==typeof e&&47===e)return 0;break;case 48:if(\"number\"==typeof e&&48===e)return 0;break;case 49:if(\"number\"==typeof e&&49===e)return 0;break;case 50:if(\"number\"==typeof e&&50===e)return 0;break;case 51:if(\"number\"==typeof e&&51===e)return 0;break;case 52:if(\"number\"==typeof e&&52===e)return 0;break;case 53:if(\"number\"==typeof e&&53===e)return 0;break;default:if(\"number\"==typeof e&&54===e)return 0}}else switch(r[0]){case 0:if(\"number\"!=typeof e&&0===e[0])return oS(r[1],e[1]);break;case 1:if(\"number\"!=typeof e&&1===e[0]){var n=oS(r[1],e[1]);return 0===n?oS(r[2],e[2]):n}break;case 2:if(\"number\"!=typeof e&&2===e[0]){var u=oS(r[1],e[1]);return 0===u?oS(r[2],e[2]):u}break;case 3:if(\"number\"!=typeof e&&3===e[0])return oS(r[1],e[1]);break;case 4:if(\"number\"!=typeof e&&4===e[0]){var a=e[2],i=r[2],c=oS(r[1],e[1]);return 0===c?i?a?oS(i[1],a[1]):1:a?-1:0:c}break;case 5:if(\"number\"!=typeof e&&5===e[0])return oS(r[1],e[1]);break;case 6:if(\"number\"!=typeof e&&6===e[0]){var f=e[2],o=r[2],s=oS(r[1],e[1]);if(0===s){if(o)if(f){var l=f[1],v=o[1];switch(v){case 0:if(0===l)var D=0,p=1;else p=0;break;case 1:if(1===l)D=0,p=1;else p=0;break;case 2:if(2===l)D=0,p=1;else p=0;break;default:if(3<=l)D=0,p=1;else p=0}if(!p){var b=function(r){switch(r){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},F=b(l);D=fS(b(v),F)}var m=D}else m=1;else m=f?-1:0;return 0===m?oS(r[3],e[3]):m}return s}break;case 7:if(\"number\"!=typeof e&&7===e[0]){var d=oS(r[1],e[1]);return 0===d?oS(r[2],e[2]):d}break;case 8:if(\"number\"!=typeof e&&8===e[0])return fS(r[1],e[1]);break;case 9:if(\"number\"!=typeof e&&9===e[0]){var E=oS(r[1],e[1]);return 0===E?oS(r[2],e[2]):E}break;case 10:if(\"number\"!=typeof e&&10===e[0])return oS(r[1],e[1]);break;case 11:if(\"number\"!=typeof e&&11===e[0])return oS(r[1],e[1]);break;case 12:if(\"number\"!=typeof e&&12===e[0]){var k=oS(r[1],e[1]);return 0===k?oS(r[2],e[2]):k}break;case 13:if(\"number\"!=typeof e&&13===e[0]){var h=oS(r[1],e[1]);return 0===h?oS(r[2],e[2]):h}break;case 14:if(\"number\"!=typeof e&&14===e[0])return oS(r[1],e[1]);break;case 15:if(\"number\"!=typeof e&&15===e[0])return oS(r[1],e[1]);break;case 16:if(\"number\"!=typeof e&&16===e[0]){var y=oS(r[1],e[1]);return 0===y?oS(r[2],e[2]):y}break;case 17:if(\"number\"!=typeof e&&17===e[0])return oS(r[1],e[1]);break;case 18:if(\"number\"!=typeof e&&18===e[0])return fS(r[1],e[1]);break;case 19:if(\"number\"!=typeof e&&19===e[0])return oS(r[1],e[1]);break;case 20:if(\"number\"!=typeof e&&20===e[0])return oS(r[1],e[1]);break;case 21:if(\"number\"!=typeof e&&21===e[0]){var C=oS(r[1],e[1]);if(0===C){var w=fS(r[2],e[2]);return 0===w?fS(r[3],e[3]):w}return C}break;case 22:if(\"number\"!=typeof e&&22===e[0])return oS(r[1],e[1]);break;default:if(\"number\"!=typeof e&&23===e[0])return oS(r[1],e[1])}function A(r){if(\"number\"==typeof r){var e=r;if(55<=e)switch(e){case 55:return 73;case 56:return 74;case 57:return 75;case 58:return 77;case 59:return 78;case 60:return 79;case 61:return 80;case 62:return 81;case 63:return 82;case 64:return 83;case 65:return 84;case 66:return 85;case 67:return 86;case 68:return 87;case 69:return 88;case 70:return 89;case 71:return 90;case 72:return 92;case 73:return 93;case 74:return 94;case 75:return 95;case 76:return 96;case 77:return 97;case 78:return 98;case 79:return 99;case 80:return Fu;case 81:return CE;case 82:return EE;case 83:return $l;case 84:return sE;case 85:return tg;case 86:return Bb;case 87:return ak;case 88:return Jr;case 89:return Be;case 90:return eu;case 91:return vi;case 92:return sA;case 93:return cm;case 94:return wt;case 95:return Zd;case 96:return cE;case 97:return S_;case 98:return h_;case 99:return g;case 100:return xp;case 101:return jF;case 102:return TF;case 103:return zy;case 104:return S;case 105:return 129;case 106:return 130;case 107:return 131;case 108:return 132;default:return 133}switch(e){case 0:return 5;case 1:return 9;case 2:return 16;case 3:return 17;case 4:return 18;case 5:return 19;case 6:return 20;case 7:return 21;case 8:return 22;case 9:return 23;case 10:return 24;case 11:return 25;case 12:return 26;case 13:return 27;case 14:return 28;case 15:return 29;case 16:return 30;case 17:return 31;case 18:return 32;case 19:return 33;case 20:return 34;case 21:return 35;case 22:return 36;case 23:return 37;case 24:return 38;case 25:return 40;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 50;case 34:return 51;case 35:return 52;case 36:return 53;case 37:return 54;case 38:return 55;case 39:return 56;case 40:return 57;case 41:return 58;case 42:return 59;case 43:return 60;case 44:return 61;case 45:return 62;case 46:return 63;case 47:return 64;case 48:return 65;case 49:return 66;case 50:return 67;case 51:return 68;case 52:return 69;case 53:return 70;default:return 71}}else switch(r[0]){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 5:return 6;case 6:return 7;case 7:return 8;case 8:return 10;case 9:return 11;case 10:return 12;case 11:return 13;case 12:return 14;case 13:return 15;case 14:return 39;case 15:return 48;case 16:return 49;case 17:return 72;case 18:return 76;case 19:return 91;case 20:return Ma;case 21:return Uu;case 22:return Ve;default:return gd}}var _=A(e);return fS(A(r),_)}));var yMe=[bc,M$r,yS()],CMe=function(r){return[0,r[1],r[2].slice(),r[3],r[4],r[5],r[6],r[7]]},wMe=function(r){return r[3][1]},AMe=function(r,e){return r!==e[4]?[0,e[1],e[2],e[3],r,e[5],e[6],e[7]]:e},_Me=function(r){if(\"number\"==typeof r){var e=r;if(60<=e)switch(e){case 60:return yQr;case 61:return CQr;case 62:return wQr;case 63:return AQr;case 64:return _Qr;case 65:return gQr;case 66:return BQr;case 67:return SQr;case 68:return xQr;case 69:return TQr;case 70:return IQr;case 71:return NQr;case 72:return OQr;case 73:return LQr;case 74:return PQr;case 75:return RQr;case 76:return MQr;case 77:return jQr;case 78:return UQr;case 79:return XQr;case 80:return GQr;case 81:return JQr;case 82:return qQr;case 83:return zQr;case 84:return WQr;case 85:return VQr;case 86:return $Qr;case 87:return YQr;case 88:return HQr;case 89:return KQr;case 90:return QQr;case 91:return ZQr;case 92:return rZr;case 93:return eZr;case 94:return tZr;case 95:return nZr;case 96:return uZr;case 97:return aZr;case 98:return iZr;case 99:return cZr;case 100:return fZr;case 101:return oZr;case 102:return sZr;case 103:return lZr;case 104:return vZr;case 105:return DZr;case 106:return pZr;case 107:return bZr;case 108:return FZr;case 109:return mZr;case 110:return dZr;case 111:return EZr;case 112:return kZr;case 113:return hZr;case 114:return yZr;case 115:return CZr;case 116:return wZr;case 117:return AZr;default:return _Zr}switch(e){case 0:return FKr;case 1:return mKr;case 2:return dKr;case 3:return EKr;case 4:return kKr;case 5:return hKr;case 6:return yKr;case 7:return CKr;case 8:return wKr;case 9:return AKr;case 10:return _Kr;case 11:return gKr;case 12:return BKr;case 13:return SKr;case 14:return xKr;case 15:return TKr;case 16:return IKr;case 17:return NKr;case 18:return OKr;case 19:return LKr;case 20:return PKr;case 21:return RKr;case 22:return MKr;case 23:return jKr;case 24:return UKr;case 25:return XKr;case 26:return GKr;case 27:return JKr;case 28:return qKr;case 29:return zKr;case 30:return WKr;case 31:return VKr;case 32:return $Kr;case 33:return YKr;case 34:return HKr;case 35:return KKr;case 36:return QKr;case 37:return ZKr;case 38:return rQr;case 39:return eQr;case 40:return tQr;case 41:return nQr;case 42:return uQr;case 43:return aQr;case 44:return iQr;case 45:return cQr;case 46:return fQr;case 47:return oQr;case 48:return sQr;case 49:return lQr;case 50:return vQr;case 51:return DQr;case 52:return pQr;case 53:return bQr;case 54:return FQr;case 55:return mQr;case 56:return dQr;case 57:return EQr;case 58:return kQr;default:return hQr}}else switch(r[0]){case 0:return gZr;case 1:return BZr;case 2:return SZr;case 3:return xZr;case 4:return TZr;case 5:return IZr;case 6:return NZr;case 7:return OZr;case 8:return LZr;case 9:return PZr;case 10:return RZr;default:return MZr}},gMe=function(r){if(\"number\"==typeof r){var e=r;if(60<=e)switch(e){case 60:return cHr;case 61:return fHr;case 62:return oHr;case 63:return sHr;case 64:return lHr;case 65:return vHr;case 66:return DHr;case 67:return pHr;case 68:return bHr;case 69:return FHr;case 70:return mHr;case 71:return dHr;case 72:return EHr;case 73:return kHr;case 74:return hHr;case 75:return yHr;case 76:return CHr;case 77:return wHr;case 78:return AHr;case 79:return _Hr;case 80:return gHr;case 81:return BHr;case 82:return SHr;case 83:return xHr;case 84:return THr;case 85:return IHr;case 86:return NHr;case 87:return OHr;case 88:return LHr;case 89:return PHr;case 90:return RHr;case 91:return MHr;case 92:return jHr;case 93:return UHr;case 94:return XHr;case 95:return GHr;case 96:return JHr;case 97:return qHr;case 98:return zHr;case 99:return WHr;case 100:return VHr;case 101:return $Hr;case 102:return YHr;case 103:return HHr;case 104:return KHr;case 105:return QHr;case 106:return ZHr;case 107:return rKr;case 108:return eKr;case 109:return tKr;case 110:return nKr;case 111:return uKr;case 112:return aKr;case 113:return iKr;case 114:return cKr;case 115:return fKr;case 116:return oKr;case 117:return sKr;default:return lKr}switch(e){case 0:return eYr;case 1:return tYr;case 2:return nYr;case 3:return uYr;case 4:return aYr;case 5:return iYr;case 6:return cYr;case 7:return fYr;case 8:return oYr;case 9:return sYr;case 10:return lYr;case 11:return vYr;case 12:return DYr;case 13:return pYr;case 14:return bYr;case 15:return FYr;case 16:return mYr;case 17:return dYr;case 18:return EYr;case 19:return kYr;case 20:return hYr;case 21:return yYr;case 22:return CYr;case 23:return wYr;case 24:return AYr;case 25:return _Yr;case 26:return gYr;case 27:return BYr;case 28:return SYr;case 29:return xYr;case 30:return TYr;case 31:return IYr;case 32:return NYr;case 33:return OYr;case 34:return LYr;case 35:return PYr;case 36:return RYr;case 37:return MYr;case 38:return jYr;case 39:return UYr;case 40:return XYr;case 41:return GYr;case 42:return JYr;case 43:return qYr;case 44:return zYr;case 45:return WYr;case 46:return VYr;case 47:return $Yr;case 48:return YYr;case 49:return HYr;case 50:return KYr;case 51:return QYr;case 52:return ZYr;case 53:return rHr;case 54:return eHr;case 55:return tHr;case 56:return nHr;case 57:return uHr;case 58:return aHr;default:return iHr}}else switch(r[0]){case 3:return r[1][2][3];case 5:var t=r[1],n=iye(vKr,t[3]);return iye(DKr,iye(t[2],n));case 9:return 0===r[1]?bKr:pKr;case 0:case 1:return r[2];case 2:case 8:return r[1][3];case 6:case 7:return r[1];default:return r[3]}},BMe=function(r){return gx(LCe(rYr),r)},SMe=function(r,e){var t=r?r[1]:r;if(\"number\"==typeof e)if(Ve===e)var n=X$r,u=0;else u=1;else switch(e[0]){case 3:n=G$r,u=0;break;case 5:n=J$r,u=0;break;case 6:case 9:u=1;break;case 0:case 10:var a=W$r,i=z$r;u=2;break;case 1:case 11:a=$$r,i=V$r,u=2;break;case 2:case 8:a=H$r,i=Y$r,u=2;break;default:a=Q$r,i=K$r,u=2}switch(u){case 0:a=n[1],i=n[2];break;case 1:a=BMe(gMe(e)),i=q$r}return t?iye(i,iye(Z$r,a)):a},xMe=function(r){if(r){var e=r[1];return 35>>0)var l=oAe(a);else switch(f){case 0:l=2;break;case 2:l=1;break;case 3:if(cAe(a,2),0===hUe(iAe(a))){var m=zje(iAe(a));if(0===m)l=0===RMe(iAe(a))&&0===RMe(iAe(a))&&0===RMe(iAe(a))?0:oAe(a);else if(1===m)if(0===RMe(iAe(a)))for(;;){var k=WMe(iAe(a));if(0!==k){l=1===k?0:oAe(a);break}}else l=oAe(a);else l=oAe(a)}else l=oAe(a);break;default:l=0}if(2<=l){if(!(3<=l))return NUe(r,e,36)}else if(0<=l)return r;return nye(qre)},JUe=function(r,e,t,n,u){var a=e+lAe(t)|0;return[0,gUe(r,a,e+vAe(t)|0),AAe(t,n,(DAe(t)-n|0)-u|0)]},qUe=function(r,e){for(var t=lAe(r[2]),n=wAe(e),u=Kye(RS(e)),a=r;;){fAe(n);var i=iAe(n);if(i)var c=i[1],f=92>>0)var o=oAe(n);else switch(f){case 0:o=2;break;case 1:for(;;){cAe(n,3);var s=iAe(n);if(s)var l=s[1],v=-1>>0)return nye(Xre);switch(o){case 0:var b=JUe(a,t,n,2,0),F=b[1],m=VS(iye(Gre,b[2])),d=bye(m)?GUe(a,F,m):NUe(a,F,36);gAe(u,m);a=d;continue;case 1:var E=JUe(a,t,n,3,1),k=VS(iye(Jre,E[2])),h=GUe(a,E[1],k);gAe(u,k);a=h;continue;case 2:return[0,a,Qye(u)];default:eCe(u,_Ae(n));continue}}},zUe=function(r,e,t){var n=PUe(r,xUe(r,e));return sAe(e),Bx(t,n,e)},WUe=function(r,e,t){for(var n=r;;){fAe(t);var u=iAe(t);if(u)var a=u[1],i=-1>>0)var c=oAe(t);else switch(i){case 0:for(;;){cAe(t,3);var f=iAe(t);if(f)var o=f[1],s=-1>>0){var p=PUe(n,xUe(n,t));return[0,p,SUe(p,t)]}switch(c){case 0:var b=RUe(n,t);eCe(e,_Ae(t));n=b;continue;case 1:var F=n[4]?LUe(n,xUe(n,t),UZr,jZr):n;return[0,F,SUe(F,t)];case 2:if(n[4])return[0,n,SUe(n,t)];eCe(e,XZr);continue;default:eCe(e,_Ae(t));continue}}},VUe=function(r,e,t){for(;;){fAe(t);var n=iAe(t);if(n)var u=n[1],a=13>>0)var i=oAe(t);else switch(a){case 0:i=0;break;case 1:for(;;){cAe(t,2);var c=iAe(t);if(c)var f=c[1],o=-1>>0)return nye(GZr);switch(i){case 0:return[0,r,SUe(r,t)];case 1:var s=SUe(r,t),l=RUe(r,t),v=DAe(t);return[0,l,[0,s[1],s[2]-v|0]];default:eCe(e,_Ae(t));continue}}},$Ue=function(r,e){function t(r){return cAe(r,3),0===kje(iAe(r))?2:oAe(r)}fAe(e);var n=iAe(e);if(n)var u=n[1],a=S_>>0)var i=oAe(e);else switch(a){case 1:i=16;break;case 2:i=15;break;case 3:cAe(e,15);i=0===Vje(iAe(e))?15:oAe(e);break;case 4:cAe(e,4);i=0===kje(iAe(e))?t(e):oAe(e);break;case 5:cAe(e,11);i=0===kje(iAe(e))?t(e):oAe(e);break;case 7:i=5;break;case 8:i=6;break;case 9:i=7;break;case 10:i=8;break;case 11:i=9;break;case 12:cAe(e,14);var c=zje(iAe(e));if(0===c)i=0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?12:oAe(e);else if(1===c)if(0===RMe(iAe(e)))for(;;){var f=WMe(iAe(e));if(0!==f){i=1===f?13:oAe(e);break}}else i=oAe(e);else i=oAe(e);break;case 13:i=10;break;case 14:cAe(e,14);i=0===RMe(iAe(e))&&0===RMe(iAe(e))?1:oAe(e);break;default:i=0}if(16>>0)return nye(gre);switch(i){case 1:var o=_Ae(e);return[0,r,o,[0,VS(iye(Bre,o))],0];case 2:var s=_Ae(e),l=VS(iye(Sre,s));return 256<=l?[0,r,s,[0,l>>>3|0,48+(7&l)|0],1]:[0,r,s,[0,l],1];case 3:var v=_Ae(e);return[0,r,v,[0,VS(iye(xre,v))],1];case 4:return[0,r,Tre,[0,0],0];case 5:return[0,r,Ire,[0,8],0];case 6:return[0,r,Nre,[0,12],0];case 7:return[0,r,Ore,[0,10],0];case 8:return[0,r,Lre,[0,13],0];case 9:return[0,r,Pre,[0,9],0];case 10:return[0,r,Rre,[0,11],0];case 11:var D=_Ae(e);return[0,r,D,[0,VS(iye(Mre,D))],1];case 12:var p=_Ae(e);return[0,r,p,[0,VS(iye(jre,Gye(p,1,RS(p)-1|0)))],0];case 13:var b=_Ae(e),F=VS(iye(Ure,Gye(b,2,RS(b)-3|0)));return[0,i_>>0)var l=oAe(a);else switch(s){case 0:l=3;break;case 1:for(;;){cAe(a,4);var v=iAe(a);if(v)var D=v[1],p=-1>>0)return nye(JZr);switch(l){case 0:var b=_Ae(a);if(eCe(n,b),Ex(e,b))return[0,i,SUe(i,a),c];eCe(t,b);continue;case 1:eCe(n,qZr);var F=$Ue(i,a),m=F[4]||c;eCe(n,F[2]),Wye((function(r){return gAe(t,r)}),F[3]);i=F[1],c=m;continue;case 2:var d=_Ae(a);eCe(n,d);var E=RUe(PUe(i,xUe(i,a)),a);return eCe(t,d),[0,E,SUe(E,a),c];case 3:var k=_Ae(a);eCe(n,k);var h=PUe(i,xUe(i,a));return eCe(t,k),[0,h,SUe(h,a),c];default:var y=_Ae(a);eCe(n,y),eCe(t,y);continue}}},HUe=function(r,e,t,n,u){for(var a=r;;){fAe(u);var i=iAe(u);if(i)var c=i[1],f=96>>0)var o=oAe(u);else switch(f){case 0:o=0;break;case 1:for(;;){cAe(u,6);var s=iAe(u);if(s)var l=s[1],v=-1>>0)return nye(zZr);switch(o){case 0:return[0,PUe(a,xUe(a,u)),1];case 1:return rCe(n,96),[0,a,1];case 2:return eCe(n,WZr),[0,a,0];case 3:rCe(t,92),rCe(n,92);var F=$Ue(a,u),m=F[2];eCe(t,m),eCe(n,m),Wye((function(r){return gAe(e,r)}),F[3]);a=F[1];continue;case 4:eCe(t,VZr),eCe(n,$Zr),eCe(e,YZr);a=RUe(a,u);continue;case 5:var d=_Ae(u);eCe(t,d),eCe(n,d),rCe(e,10);a=RUe(a,u);continue;default:var E=_Ae(u);eCe(t,E),eCe(n,E),eCe(e,E);continue}}},KUe=function(r,e,t,n,u){for(var a=r;;){var i=function(r){for(;;)if(cAe(r,6),0!==lje(iAe(r)))return oAe(r)};fAe(u);var c=iAe(u);if(c)var f=c[1],o=gd>>0)var s=oAe(u);else switch(o){case 0:s=1;break;case 1:s=i(u);break;case 2:s=2;break;case 3:cAe(u,2);s=0===Vje(iAe(u))?2:oAe(u);break;case 4:s=0;break;case 5:cAe(u,6);var l=iAe(u);if(l)var v=l[1],D=34>>0)return nye(n0r);switch(s){case 0:var N=_Ae(u);switch(e){case 0:var O=hx(N,u0r)?0:1;break;case 1:O=hx(N,a0r)?0:1;break;default:if(hx(N,i0r)){if(!hx(N,c0r))return LUe(a,xUe(a,u),D0r,v0r);if(hx(N,f0r)){if(!hx(N,o0r))return LUe(a,xUe(a,u),l0r,s0r);O=0;var L=0}else L=1}else L=1;if(L)return sAe(u),a}if(O)return a;eCe(n,N),eCe(t,N);continue;case 1:return PUe(a,xUe(a,u));case 2:var P=_Ae(u);eCe(n,P),eCe(t,P);a=RUe(a,u);continue;case 3:var R=_Ae(u),M=Gye(R,3,RS(R)-4|0);eCe(n,R),gAe(t,VS(iye(p0r,M)));continue;case 4:var j=_Ae(u),U=Gye(j,2,RS(j)-3|0);eCe(n,j),gAe(t,VS(U));continue;case 5:var X=_Ae(u),G=Gye(X,1,RS(X)-2|0);eCe(n,X);var J=oS(G,b0r);if(0<=J)if(0>>0)var a=oAe(e);else switch(u){case 0:a=0;break;case 1:a=6;break;case 2:if(cAe(e,2),0===NMe(iAe(e))){for(;;)if(cAe(e,2),0!==NMe(iAe(e))){a=oAe(e);break}}else a=oAe(e);break;case 3:a=1;break;case 4:cAe(e,1);a=0===Vje(iAe(e))?1:oAe(e);break;default:cAe(e,5);var i=cUe(iAe(e));a=0===i?4:1===i?3:oAe(e)}if(6>>0)return nye(cre);switch(a){case 0:return[0,r,Ve];case 1:return[2,RUe(r,e)];case 2:return[2,r];case 3:var c=BUe(r,e),f=Kye(zy),o=VUe(r,f,e),s=o[1];return[1,s,jUe(s,c,o[2],f,0)];case 4:var l=BUe(r,e),v=Kye(zy),D=WUe(r,v,e),p=D[1];return[1,p,jUe(p,l,D[2],v,1)];case 5:var b=BUe(r,e),F=Kye(zy),m=r;r:for(;;){fAe(e);var d=iAe(e);if(d)var E=d[1],k=92>>0)var h=oAe(e);else switch(k){case 0:h=0;break;case 1:for(;;){cAe(e,7);var y=iAe(e);if(y)var C=y[1],w=-1>>0)h=oAe(e);else switch(g){case 0:h=2;break;case 1:h=1;break;default:cAe(e,1);h=0===Vje(iAe(e))?1:oAe(e)}}if(7>>0)var B=nye(QZr);else switch(h){case 0:B=[0,NUe(m,xUe(m,e),25),ZZr];break;case 1:B=[0,RUe(NUe(m,xUe(m,e),25),e),r0r];break;case 3:var S=_Ae(e);B=[0,m,Gye(S,1,RS(S)-1|0)];break;case 4:B=[0,m,e0r];break;case 5:for(rCe(F,91);;){fAe(e);var x=iAe(e);if(x)var T=x[1],I=93>>0)var N=oAe(e);else switch(I){case 0:N=0;break;case 1:for(;;){cAe(e,4);var O=iAe(e);if(O)var L=O[1],P=-1>>0)var U=nye(HZr);else switch(N){case 0:U=m;break;case 1:eCe(F,KZr);continue;case 2:rCe(F,92),rCe(F,93);continue;case 3:rCe(F,93);U=m;break;default:eCe(F,_Ae(e));continue}m=U;continue r}case 6:B=[0,RUe(NUe(m,xUe(m,e),25),e),t0r];break;default:eCe(F,_Ae(e));continue}var X=B[1],G=SUe(X,e),J=[0,X[1],b,G],q=B[2];return[0,X,[5,[0,J,Qye(F),q]]]}default:return[0,PUe(r,xUe(r,e)),[6,_Ae(e)]]}})),rXe=QUe((function(r,e){function t(r,e){for(;;){cAe(e,12);var t=Eje(iAe(e));if(0!==t)return 1===t?r<50?a(r+1|0,e):wx(a,[0,e]):oAe(e)}}function a(r,e){if(0===hUe(iAe(e))){var n=zje(iAe(e));if(0===n)return 0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e);if(1===n){if(0===RMe(iAe(e)))for(;;){var u=WMe(iAe(e));if(0!==u)return 1===u?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e)}return oAe(e)}return oAe(e)}return oAe(e)}function i(r){return Cx(t(0,r))}fAe(e);var c=iAe(e);if(c)var f=c[1],o=er>>0)var l=oAe(e);else switch(o){case 0:l=0;break;case 1:l=14;break;case 2:if(cAe(e,2),0===NMe(iAe(e))){for(;;)if(cAe(e,2),0!==NMe(iAe(e))){l=oAe(e);break}}else l=oAe(e);break;case 3:l=1;break;case 4:cAe(e,1);l=0===Vje(iAe(e))?1:oAe(e);break;case 5:l=13;break;case 6:cAe(e,12);var v=Eje(iAe(e));l=0===v?i(e):1===v?function(r){return Cx(a(0,r))}(e):oAe(e);break;case 7:l=10;break;case 8:cAe(e,6);var p=cUe(iAe(e));l=0===p?4:1===p?3:oAe(e);break;case 9:l=9;break;case 10:l=5;break;case 11:l=11;break;case 12:l=7;break;case 13:if(cAe(e,14),0===hUe(iAe(e))){var m=zje(iAe(e));if(0===m)l=0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?i(e):oAe(e);else if(1===m)if(0===RMe(iAe(e)))for(;;){var d=WMe(iAe(e));if(0!==d){l=1===d?i(e):oAe(e);break}}else l=oAe(e);else l=oAe(e)}else l=oAe(e);break;default:l=8}if(14>>0)return nye(are);switch(l){case 0:return[0,r,Ve];case 1:return[2,RUe(r,e)];case 2:return[2,r];case 3:var E=BUe(r,e),k=Kye(zy),y=VUe(r,k,e),w=y[1];return[1,w,jUe(w,E,y[2],k,0)];case 4:var g=BUe(r,e),B=Kye(zy),S=WUe(r,B,e),x=S[1];return[1,x,jUe(x,g,S[2],B,1)];case 5:return[0,r,95];case 6:return[0,r,EE];case 7:return[0,r,96];case 8:return[0,r,0];case 9:return[0,r,83];case 10:return[0,r,10];case 11:return[0,r,79];case 12:return[0,r,[7,_Ae(e)]];case 13:var T=_Ae(e),N=BUe(r,e),L=Kye(zy),P=Kye(zy);eCe(P,T);var M=Ex(T,ire)?0:1,U=KUe(r,M,L,P,e),X=SUe(U,e);eCe(P,T);var J=Qye(L),W=Qye(P);return[0,U,[8,[0,[0,U[1],N,X],J,W]]];default:return[0,r,[6,_Ae(e)]]}})),eXe=QUe((function(r,e){fAe(e);var t=iAe(e);if(t)var n=t[1],u=-1>>0)var a=oAe(e);else switch(u){case 0:a=5;break;case 1:if(cAe(e,1),0===NMe(iAe(e))){for(;;)if(cAe(e,1),0!==NMe(iAe(e))){a=oAe(e);break}}else a=oAe(e);break;case 2:a=0;break;case 3:cAe(e,0);a=0===Vje(iAe(e))?0:oAe(e);break;case 4:cAe(e,5);var i=cUe(iAe(e));a=0===i?3:1===i?2:oAe(e);break;default:a=4}if(5>>0)return nye(ere);switch(a){case 0:return[2,RUe(r,e)];case 1:return[2,r];case 2:var c=BUe(r,e),f=Kye(zy),o=VUe(r,f,e),s=o[1];return[1,s,jUe(s,c,o[2],f,0)];case 3:var l=BUe(r,e),v=Kye(zy),D=WUe(r,v,e),p=D[1];return[1,p,jUe(p,l,D[2],v,1)];case 4:var b=BUe(r,e),F=Kye(zy),m=Kye(zy),d=Kye(zy);eCe(d,tre);var E=HUe(r,F,m,d,e),k=E[1],h=SUe(k,e),y=[0,k[1],b,h],C=E[2],w=Qye(d),A=Qye(m);return[0,k,[3,[0,y,[0,Qye(F),A,w],C]]];default:var _=PUe(r,xUe(r,e));return[0,_,[3,[0,xUe(_,e),nre,1]]]}})),tXe=QUe((function(r,e){function t(r,e){for(;;){cAe(e,48);var t=zMe(iAe(e));if(0!==t)return 1===t?r<50?a(r+1|0,e):wx(a,[0,e]):oAe(e)}}function a(r,e){if(0===hUe(iAe(e))){var n=zje(iAe(e));if(0===n)return 0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e);if(1===n){if(0===RMe(iAe(e)))for(;;){var u=WMe(iAe(e));if(0!==u)return 1===u?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e)}return oAe(e)}return oAe(e)}return oAe(e)}function i(r){return Cx(t(0,r))}function c(r){return Cx(a(0,r))}function f(r){for(;;)if(cAe(r,29),0!==AUe(iAe(r)))return oAe(r)}function l(r){cAe(r,27);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,25),0!==AUe(iAe(r)))return oAe(r);return 1===e?f(r):oAe(r)}function m(r){for(;;)if(cAe(r,23),0!==AUe(iAe(r)))return oAe(r)}function y(r){cAe(r,22);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,21),0!==AUe(iAe(r)))return oAe(r);return 1===e?m(r):oAe(r)}function w(r){for(;;)if(cAe(r,23),0!==AUe(iAe(r)))return oAe(r)}function g(r){cAe(r,22);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,21),0!==AUe(iAe(r)))return oAe(r);return 1===e?w(r):oAe(r)}function B(r){r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,24);var e=Kje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return w(r);case 1:continue;case 2:continue r;default:return g(r)}}return oAe(r)}}function S(r){cAe(r,29);var e=iUe(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:var t=ije(iAe(r));if(0===t)for(;;){cAe(r,24);var n=VMe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:return w(r);case 1:continue;default:return g(r)}}if(1===t)for(;;){cAe(r,24);var u=Kje(iAe(r));if(3>>0)return oAe(r);switch(u){case 0:return w(r);case 1:continue;case 2:return B(r);default:return g(r)}}return oAe(r);case 2:for(;;){cAe(r,24);var a=VMe(iAe(r));if(2>>0)return oAe(r);switch(a){case 0:return m(r);case 1:continue;default:return y(r)}}default:for(;;){cAe(r,24);var i=Kje(iAe(r));if(3>>0)return oAe(r);switch(i){case 0:return m(r);case 1:continue;case 2:return B(r);default:return y(r)}}}}function T(r){for(;;){cAe(r,30);var e=Nje(iAe(r));if(4>>0)return oAe(r);switch(e){case 0:return f(r);case 1:continue;case 2:return S(r);case 3:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,30);var t=Nje(iAe(r));if(4>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:return S(r);case 3:continue r;default:return l(r)}}return oAe(r)}default:return l(r)}}}function N(r){return 0===LMe(iAe(r))?T(r):oAe(r)}function L(r){for(;;)if(cAe(r,19),0!==AUe(iAe(r)))return oAe(r)}function P(r){for(;;)if(cAe(r,19),0!==AUe(iAe(r)))return oAe(r)}function M(r){cAe(r,29);var e=qMe(iAe(r));if(0===e)return f(r);if(1===e)for(;;){cAe(r,20);var t=lUe(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return P(r);case 1:continue;case 2:r:for(;;){if(0===RMe(iAe(r)))for(;;){cAe(r,20);var n=lUe(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return L(r);case 1:continue;case 2:continue r;default:cAe(r,18);var u=mje(iAe(r));if(0===u)for(;;)if(cAe(r,17),0!==AUe(iAe(r)))return oAe(r);return 1===u?L(r):oAe(r)}}return oAe(r)}default:cAe(r,18);var a=mje(iAe(r));if(0===a)for(;;)if(cAe(r,17),0!==AUe(iAe(r)))return oAe(r);return 1===a?P(r):oAe(r)}}return oAe(r)}function U(r){for(;;)if(cAe(r,13),0!==AUe(iAe(r)))return oAe(r)}function J(r){for(;;)if(cAe(r,13),0!==AUe(iAe(r)))return oAe(r)}function V(r){cAe(r,29);var e=$je(iAe(r));if(0===e)return f(r);if(1===e)for(;;){cAe(r,14);var t=Zje(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return J(r);case 1:continue;case 2:r:for(;;){if(0===kje(iAe(r)))for(;;){cAe(r,14);var n=Zje(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return U(r);case 1:continue;case 2:continue r;default:cAe(r,12);var u=mje(iAe(r));if(0===u)for(;;)if(cAe(r,11),0!==AUe(iAe(r)))return oAe(r);return 1===u?U(r):oAe(r)}}return oAe(r)}default:cAe(r,12);var a=mje(iAe(r));if(0===a)for(;;)if(cAe(r,11),0!==AUe(iAe(r)))return oAe(r);return 1===a?J(r):oAe(r)}}return oAe(r)}function rr(r){for(;;)if(cAe(r,9),0!==AUe(iAe(r)))return oAe(r)}function tr(r){for(;;)if(cAe(r,9),0!==AUe(iAe(r)))return oAe(r)}function ur(r){cAe(r,29);var e=qje(iAe(r));if(0===e)return f(r);if(1===e)for(;;){cAe(r,10);var t=fUe(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return tr(r);case 1:continue;case 2:r:for(;;){if(0===uje(iAe(r)))for(;;){cAe(r,10);var n=fUe(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return rr(r);case 1:continue;case 2:continue r;default:cAe(r,8);var u=mje(iAe(r));if(0===u)for(;;)if(cAe(r,7),0!==AUe(iAe(r)))return oAe(r);return 1===u?rr(r):oAe(r)}}return oAe(r)}default:cAe(r,8);var a=mje(iAe(r));if(0===a)for(;;)if(cAe(r,7),0!==AUe(iAe(r)))return oAe(r);return 1===a?tr(r):oAe(r)}}return oAe(r)}function ar(r){cAe(r,28);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,26),0!==AUe(iAe(r)))return oAe(r);return 1===e?f(r):oAe(r)}function or(r){cAe(r,30);var e=VMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return f(r);case 1:for(;;){cAe(r,30);var t=Kje(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,30);var n=Kje(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return f(r);case 1:continue;case 2:continue r;default:return l(r)}}return oAe(r)}default:return l(r)}}default:return l(r)}}function sr(r){for(;;){cAe(r,30);var e=rje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return or(r);case 2:continue;default:return ar(r)}}}function Dr(r){for(;;)if(cAe(r,15),0!==AUe(iAe(r)))return oAe(r)}function yr(r){cAe(r,15);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,15),0!==AUe(iAe(r)))return oAe(r);return 1===e?Dr(r):oAe(r)}function gr(r){for(;;){cAe(r,16);var e=oUe(iAe(r));if(4>>0)return oAe(r);switch(e){case 0:return Dr(r);case 1:return or(r);case 2:continue;case 3:for(;;){cAe(r,15);var t=rje(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return Dr(r);case 1:return or(r);case 2:continue;default:return yr(r)}}default:return yr(r)}}}function Tr(r){cAe(r,30);var e=Tje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:for(;;){cAe(r,30);var t=Nje(iAe(r));if(4>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:return S(r);case 3:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,30);var n=Nje(iAe(r));if(4>>0)return oAe(r);switch(n){case 0:return f(r);case 1:continue;case 2:return S(r);case 3:continue r;default:return l(r)}}return oAe(r)}default:return l(r)}}case 2:return S(r);default:return l(r)}}function Nr(r){cAe(r,30);var e=Wje(iAe(r));if(8>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return Tr(r);case 2:return gr(r);case 3:return sr(r);case 4:return ur(r);case 5:return S(r);case 6:return V(r);case 7:return M(r);default:return ar(r)}}function Lr(r){r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,30);var e=eUe(iAe(r));if(4>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return or(r);case 2:continue;case 3:continue r;default:return ar(r)}}return oAe(r)}}function Mr(r){for(;;){cAe(r,30);var e=cje(iAe(r));if(5>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return Tr(r);case 2:continue;case 3:return S(r);case 4:return Lr(r);default:return ar(r)}}}function Ur(r){return cAe(r,3),0===wUe(iAe(r))?3:oAe(r)}function Gr(r){return 0===Mje(iAe(r))&&0===yje(iAe(r))&&0===sUe(iAe(r))&&0===Pje(iAe(r))&&0===Rje(iAe(r))&&0===hje(iAe(r))&&0===Cje(iAe(r))&&0===Mje(iAe(r))&&0===hUe(iAe(r))&&0===jje(iAe(r))&&0===uUe(iAe(r))?3:oAe(r)}fAe(e);var Vr=iAe(e);if(Vr)var Hr=Vr[1],Zr=er>>0)var re=oAe(e);else switch(Zr){case 0:re=79;break;case 1:re=80;break;case 2:if(cAe(e,1),0===NMe(iAe(e))){for(;;)if(cAe(e,1),0!==NMe(iAe(e))){re=oAe(e);break}}else re=oAe(e);break;case 3:re=0;break;case 4:cAe(e,0);re=0===Vje(iAe(e))?0:oAe(e);break;case 5:re=6;break;case 6:cAe(e,48);var ee=zMe(iAe(e));re=0===ee?i(e):1===ee?c(e):oAe(e);break;case 7:if(cAe(e,80),0===Cje(iAe(e))){var te=iAe(e);if(te)var ne=te[1],ce=$l>>0)re=oAe(e);else switch(ve){case 0:for(;;){var De=Aje(iAe(e));if(3>>0)re=oAe(e);else switch(De){case 0:continue;case 1:re=N(e);break;case 2:re=Nr(e);break;default:re=Mr(e)}break}break;case 1:re=N(e);break;case 2:re=Nr(e);break;default:re=Mr(e)}break;case 15:cAe(e,59);var pe=Jje(iAe(e));re=0===pe?0===TMe(iAe(e))?58:oAe(e):1===pe?T(e):oAe(e);break;case 16:cAe(e,80);var Fe=cUe(iAe(e));if(0===Fe){cAe(e,2);var de=eje(iAe(e));if(2>>0)re=oAe(e);else switch(de){case 0:for(;;){var ke=eje(iAe(e));if(2>>0)re=oAe(e);else switch(ke){case 0:continue;case 1:re=Ur(e);break;default:re=Gr(e)}break}break;case 1:re=Ur(e);break;default:re=Gr(e)}}else re=1===Fe?5:oAe(e);break;case 17:cAe(e,30);var ge=Wje(iAe(e));if(8>>0)re=oAe(e);else switch(ge){case 0:re=f(e);break;case 1:re=Tr(e);break;case 2:re=gr(e);break;case 3:re=sr(e);break;case 4:re=ur(e);break;case 5:re=S(e);break;case 6:re=V(e);break;case 7:re=M(e);break;default:re=ar(e)}break;case 18:cAe(e,30);var xe=cje(iAe(e));if(5>>0)re=oAe(e);else switch(xe){case 0:re=f(e);break;case 1:re=Tr(e);break;case 2:re=Mr(e);break;case 3:re=S(e);break;case 4:re=Lr(e);break;default:re=ar(e)}break;case 19:re=62;break;case 20:re=60;break;case 21:re=66;break;case 22:cAe(e,68);var Te=iAe(e);if(Te)var Pe=Te[1],je=61>>0)re=oAe(e);else switch(Je){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ke=_je(iAe(e));if(2>>0)re=oAe(e);else switch(Ke){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,31);var Qe=zMe(iAe(e));re=0===Qe?i(e):1===Qe?c(e):oAe(e)}}break;case 29:cAe(e,48);var et=dUe(iAe(e));if(3>>0)re=oAe(e);else switch(et){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var at=UMe(iAe(e));if(2>>0)re=oAe(e);else switch(at){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var it=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(it){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ot=nje(iAe(e));if(2>>0)re=oAe(e);else switch(ot){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var st=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(st){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,41);var lt=zMe(iAe(e));re=0===lt?i(e):1===lt?c(e):oAe(e)}}}}break;default:cAe(e,48);var bt=pUe(iAe(e));if(2>>0)re=oAe(e);else switch(bt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ft=Bje(iAe(e));if(2>>0)re=oAe(e);else switch(Ft){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,32);var mt=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(mt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Et=sje(iAe(e));if(2>>0)re=oAe(e);else switch(Et){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var kt=nje(iAe(e));if(2>>0)re=oAe(e);else switch(kt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,33);var Bt=zMe(iAe(e));re=0===Bt?i(e):1===Bt?c(e):oAe(e)}}}}}}break;case 30:cAe(e,48);var Tt=iAe(e);if(Tt)var It=Tt[1],Ot=35>>0)re=oAe(e);else switch(Ot){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var Pt=JMe(iAe(e));if(2>>0)re=oAe(e);else switch(Pt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Rt=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(Rt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ut=_je(iAe(e));if(2>>0)re=oAe(e);else switch(Ut){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,34);var Xt=zMe(iAe(e));re=0===Xt?i(e):1===Xt?c(e):oAe(e)}}}break;default:cAe(e,48);var qt=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(qt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Vt=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(Vt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var $t=nje(iAe(e));if(2<$t>>>0)re=oAe(e);else switch($t){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Yt=PMe(iAe(e));if(2>>0)re=oAe(e);else switch(Yt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Kt=vUe(iAe(e));if(2>>0)re=oAe(e);else switch(Kt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,35);var Zt=zMe(iAe(e));re=0===Zt?i(e):1===Zt?c(e):oAe(e)}}}}}}break;case 31:cAe(e,48);var tn=sje(iAe(e));if(2>>0)re=oAe(e);else switch(tn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var nn=Bje(iAe(e));if(2>>0)re=oAe(e);else switch(nn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var un=vUe(iAe(e));if(2>>0)re=oAe(e);else switch(un){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var an=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(an){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,36);var fn=zMe(iAe(e));re=0===fn?i(e):1===fn?c(e):oAe(e)}}}}break;case 32:cAe(e,48);var on=nje(iAe(e));if(2>>0)re=oAe(e);else switch(on){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var sn=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(sn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var vn=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(vn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var mn=bje(iAe(e));if(2>>0)re=oAe(e);else switch(mn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var kn=DUe(iAe(e));if(2>>0)re=oAe(e);else switch(kn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var gn=sje(iAe(e));if(2>>0)re=oAe(e);else switch(gn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Bn=Uje(iAe(e));if(2>>0)re=oAe(e);else switch(Bn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var xn=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(xn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,37);var In=zMe(iAe(e));re=0===In?i(e):1===In?c(e):oAe(e)}}}}}}}}break;case 33:cAe(e,48);var Nn=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(Nn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Pn=iAe(e);if(Pn)var Rn=Pn[1],Xn=35>>0)re=oAe(e);else switch(Xn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Gn=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(Gn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var qn=PMe(iAe(e));if(2>>0)re=oAe(e);else switch(qn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,38);var Wn=zMe(iAe(e));re=0===Wn?i(e):1===Wn?c(e):oAe(e)}}}}break;case 34:cAe(e,48);var $n=IMe(iAe(e));if(2<$n>>>0)re=oAe(e);else switch($n){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Hn=iAe(e);if(Hn)var Kn=Hn[1],nu=35>>0)re=oAe(e);else switch(nu){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var uu=Bje(iAe(e));if(2>>0)re=oAe(e);else switch(uu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,39);var au=zMe(iAe(e));re=0===au?i(e):1===au?c(e):oAe(e)}break;default:cAe(e,48);var iu=tUe(iAe(e));if(2>>0)re=oAe(e);else switch(iu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ou=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(ou){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var lu=bje(iAe(e));if(2>>0)re=oAe(e);else switch(lu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,40);var mu=zMe(iAe(e));re=0===mu?i(e):1===mu?c(e):oAe(e)}}}}}break;case 35:cAe(e,48);var du=iAe(e);if(du)var Eu=du[1],wu=35>>0)re=oAe(e);else switch(wu){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var _u=iAe(e);if(_u)var Bu=_u[1],Nu=35>>0)re=oAe(e);else switch(Nu){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var Pu=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(Pu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Xu=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(Xu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Gu=Uje(iAe(e));if(2>>0)re=oAe(e);else switch(Gu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,42);var qu=zMe(iAe(e));re=0===qu?i(e):1===qu?c(e):oAe(e)}}}break;default:cAe(e,48);var zu=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(zu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Wu=nje(iAe(e));if(2>>0)re=oAe(e);else switch(Wu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Vu=UMe(iAe(e));if(2>>0)re=oAe(e);else switch(Vu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,43);var $u=zMe(iAe(e));re=0===$u?i(e):1===$u?c(e):oAe(e)}}}}break;default:cAe(e,48);var ra=Hje(iAe(e));if(2>>0)re=oAe(e);else switch(ra){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ca=tUe(iAe(e));if(2>>0)re=oAe(e);else switch(ca){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var oa=pUe(iAe(e));if(2>>0)re=oAe(e);else switch(oa){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var la=Bje(iAe(e));if(2>>0)re=oAe(e);else switch(la){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,47);var Da=zMe(iAe(e));re=0===Da?i(e):1===Da?c(e):oAe(e)}}}}}break;case 36:cAe(e,48);var ba=iAe(e);if(ba)var Ea=ba[1],ka=35>>0)re=oAe(e);else switch(ka){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var ha=IMe(iAe(e));if(2>>0)re=oAe(e);else switch(ha){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ca=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(Ca){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,44);var ga=zMe(iAe(e));re=0===ga?i(e):1===ga?c(e):oAe(e)}}break;default:cAe(e,48);var Ta=JMe(iAe(e));if(2>>0)re=oAe(e);else switch(Ta){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ia=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(Ia){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Pa=pUe(iAe(e));if(2>>0)re=oAe(e);else switch(Pa){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ua=DUe(iAe(e));if(2>>0)re=oAe(e);else switch(Ua){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,45);var Ga=zMe(iAe(e));re=0===Ga?i(e):1===Ga?c(e):oAe(e)}}}}}break;case 37:cAe(e,48);var Za=pUe(iAe(e));if(2>>0)re=oAe(e);else switch(Za){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ri=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(ri){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ei=PMe(iAe(e));if(2>>0)re=oAe(e);else switch(ei){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,46);var ui=zMe(iAe(e));re=0===ui?i(e):1===ui?c(e):oAe(e)}}}break;case 38:cAe(e,52);var ii=iAe(e);if(ii)var ci=ii[1],oi=xp>>0)return nye(Y9r);var mi=re;if(41<=mi)switch(mi){case 41:return[0,r,sA];case 42:return[0,r,42];case 43:return[0,r,cm];case 44:return[0,r,31];case 46:return[0,r,wt];case 47:return[0,r,Zd];case 48:var hi=xUe(r,e),wi=_Ae(e),gi=qUe(r,wi);return[0,gi[1],[4,hi,gi[2],wi]];case 49:return[0,r,66];case 52:return[0,r,0];case 53:return[0,r,1];case 54:return[0,r,2];case 55:return[0,r,3];case 56:return[0,r,4];case 57:return[0,r,5];case 58:return[0,r,12];case 59:return[0,r,10];case 60:return[0,r,8];case 61:return[0,r,9];case 66:return[0,r,95];case 67:return[0,r,96];case 70:return[0,r,$l];case 72:return[0,r,86];case 73:return[0,r,88];case 75:return[0,r,11];case 77:return[0,r,Fu];case 78:return[0,r,CE];case 79:return[0,r[4]?NUe(r,xUe(r,e),6):r,Ve];case 80:return[0,r,[6,_Ae(e)]];case 45:case 74:return[0,r,46];case 50:case 64:return[0,r,6];case 51:case 65:return[0,r,7];case 62:case 71:return[0,r,83];case 63:case 69:return[0,r,82];default:return[0,r,79]}switch(mi){case 0:return[2,RUe(r,e)];case 1:return[2,r];case 2:var xi=BUe(r,e),Ni=Kye(zy),Mi=WUe(r,Ni,e),ji=Mi[1];return[1,ji,jUe(ji,xi,Mi[2],Ni,1)];case 3:var Ui=_Ae(e);if(r[5]){var Xi=r[4]?OUe(r,xUe(r,e),Ui):r,zi=AMe(1,Xi),Wi=DAe(e);return Ex(AAe(e,Wi-1|0,1),H9r)&&hx(AAe(e,Wi-2|0,1),K9r)?[0,zi,83]:[2,zi]}var $i=BUe(r,e),Ki=Kye(zy);eCe(Ki,Ui);var Zi=WUe(r,Ki,e),uc=Zi[1];return[1,uc,jUe(uc,$i,Zi[2],Ki,1)];case 4:return r[4]?[2,AMe(0,r)]:(sAe(e),fAe(e),0===(0===xje(iAe(e))?0:oAe(e))?[0,r,$l]:nye(Q9r));case 5:var cc=BUe(r,e),sc=Kye(zy),lc=VUe(r,sc,e),bc=lc[1];return[1,bc,jUe(bc,cc,lc[2],sc,0)];case 6:var Fc=_Ae(e),mc=BUe(r,e),Ec=Kye(zy),kc=Kye(zy);eCe(kc,Fc);var Oc=YUe(r,Fc,Ec,kc,0,e),Lc=Oc[1],Pc=[0,Lc[1],mc,Oc[2]],zc=Oc[3],Kc=Qye(kc);return[0,Lc,[2,[0,Pc,Qye(Ec),Kc,zc]]];case 7:return zUe(r,e,(function(r,e){function t(r){if(0===Fje(iAe(r))){if(0===uje(iAe(r)))for(;;){var e=QMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===uje(iAe(r)))for(;;){var t=QMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,XUe(0,_Ae(e))]:nye($9r)}));case 8:return[0,r,XUe(0,_Ae(e))];case 9:return zUe(r,e,(function(r,e){function t(r){if(0===Fje(iAe(r))){if(0===uje(iAe(r)))for(;;){cAe(r,0);var e=KMe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===uje(iAe(r)))for(;;){cAe(r,0);var t=KMe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,UUe(0,_Ae(e))]:nye(V9r)}));case 10:return[0,r,UUe(0,_Ae(e))];case 11:return zUe(r,e,(function(r,e){function t(r){if(0===Sje(iAe(r))){if(0===kje(iAe(r)))for(;;){var e=Dje(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===kje(iAe(r)))for(;;){var t=Dje(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,XUe(1,_Ae(e))]:nye(W9r)}));case 12:return[0,r,XUe(1,_Ae(e))];case 13:return zUe(r,e,(function(r,e){function t(r){if(0===Sje(iAe(r))){if(0===kje(iAe(r)))for(;;){cAe(r,0);var e=aje(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===kje(iAe(r)))for(;;){cAe(r,0);var t=aje(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,UUe(3,_Ae(e))]:nye(z9r)}));case 14:return[0,r,UUe(3,_Ae(e))];case 15:return zUe(r,e,(function(r,e){function t(r){if(0===kje(iAe(r)))for(;;)if(cAe(r,0),0!==kje(iAe(r)))return oAe(r);return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,UUe(1,_Ae(e))]:nye(q9r)}));case 16:return[0,r,UUe(1,_Ae(e))];case 17:return zUe(r,e,(function(r,e){function t(r){if(0===XMe(iAe(r))){if(0===RMe(iAe(r)))for(;;){var e=ZMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===RMe(iAe(r)))for(;;){var t=ZMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,XUe(2,_Ae(e))]:nye(J9r)}));case 19:return zUe(r,e,(function(r,e){function t(r){if(0===XMe(iAe(r))){if(0===RMe(iAe(r)))for(;;){cAe(r,0);var e=Xje(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===RMe(iAe(r)))for(;;){cAe(r,0);var t=Xje(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,UUe(4,_Ae(e))]:nye(G9r)}));case 21:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}function n(r){for(;;){var e=vje(iAe(r));if(0!==e)return 1===e?0:oAe(r)}}function u(r){var e=FUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:var u=ije(iAe(r));return 0===u?n(r):1===u?t(r):oAe(r);case 1:return n(r);default:return t(r)}}function a(r){if(0===LMe(iAe(r)))for(;;){var e=bUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return oAe(r)}function i(r){var e=Ije(iAe(r));if(0===e)for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var n=bUe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return 1===e?u(r):oAe(r)}function c(r){var e=YMe(iAe(r));return 0===e?i(r):1===e?u(r):oAe(r)}function f(r){for(;;){var e=gje(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return i(r);case 1:continue;default:return u(r)}}}fAe(e);var o=tje(iAe(e));if(3>>0)var s=oAe(e);else switch(o){case 0:for(;;){var l=Aje(iAe(e));if(3>>0)s=oAe(e);else switch(l){case 0:continue;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}break}break;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}if(0===s){var v=_Ae(e);return[0,NUe(r,xUe(r,e),23),XUe(2,v)]}return nye(X9r)}));case 22:var tf=_Ae(e);return[0,NUe(r,xUe(r,e),23),XUe(2,tf)];case 23:return zUe(r,e,(function(r,e){function t(r){for(;;){cAe(r,0);var e=rUe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,0);var t=rUe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}}function n(r){for(;;)if(cAe(r,0),0!==LMe(iAe(r)))return oAe(r)}function u(r){var e=FUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:var u=ije(iAe(r));return 0===u?n(r):1===u?t(r):oAe(r);case 1:return n(r);default:return t(r)}}function a(r){if(0===LMe(iAe(r)))for(;;){var e=bUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return oAe(r)}function i(r){var e=Ije(iAe(r));if(0===e)for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var n=bUe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return 1===e?u(r):oAe(r)}function c(r){var e=YMe(iAe(r));return 0===e?i(r):1===e?u(r):oAe(r)}function f(r){for(;;){var e=gje(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return i(r);case 1:continue;default:return u(r)}}}fAe(e);var o=tje(iAe(e));if(3>>0)var s=oAe(e);else switch(o){case 0:for(;;){var l=Aje(iAe(e));if(3>>0)s=oAe(e);else switch(l){case 0:continue;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}break}break;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}return 0===s?[0,r,UUe(4,_Ae(e))]:nye(U9r)}));case 25:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}function n(r){return 0===LMe(iAe(r))?t(r):oAe(r)}function u(r){var e=vje(iAe(r));return 0===e?t(r):1===e?0:oAe(r)}function a(r){for(;;){var e=Jje(iAe(r));if(0===e)return u(r);if(1!==e)return oAe(r)}}function i(r){for(;;){var e=EUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return u(r);case 1:continue;default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=EUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:return u(r);case 1:continue;default:continue r}}return oAe(r)}}}}fAe(e);var c=tje(iAe(e));if(3>>0)var f=oAe(e);else switch(c){case 0:for(;;){var o=Aje(iAe(e));if(3>>0)f=oAe(e);else switch(o){case 0:continue;case 1:f=n(e);break;case 2:f=a(e);break;default:f=i(e)}break}break;case 1:f=n(e);break;case 2:f=a(e);break;default:f=i(e)}if(0===f){var s=_Ae(e);return[0,NUe(r,xUe(r,e),22),XUe(2,s)]}return nye(j9r)}));case 26:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=vje(iAe(r));if(0!==e)return 1===e?0:oAe(r)}}function n(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}fAe(e);var u=iAe(e);if(u)var a=u[1],i=44>>0)var c=oAe(e);else switch(i){case 0:for(;;){var f=aUe(iAe(e));if(2>>0)c=oAe(e);else switch(f){case 0:continue;case 1:c=t(e);break;default:c=n(e)}break}break;case 1:c=t(e);break;default:c=n(e)}return 0===c?[0,r,XUe(2,_Ae(e))]:nye(M9r)}));case 27:var uf=_Ae(e);return[0,NUe(r,xUe(r,e),22),XUe(2,uf)];case 29:return zUe(r,e,(function(r,e){function t(r){for(;;){cAe(r,0);var e=rUe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,0);var t=rUe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}}function n(r){return cAe(r,0),0===LMe(iAe(r))?t(r):oAe(r)}fAe(e);var u=tje(iAe(e));if(3>>0)var a=oAe(e);else switch(u){case 0:for(;;){var i=aUe(iAe(e));if(2>>0)a=oAe(e);else switch(i){case 0:continue;case 1:for(;;){cAe(e,0);var c=Jje(iAe(e));if(0===c)a=0;else{if(1===c)continue;a=oAe(e)}break}break;default:for(;;){cAe(e,0);var f=EUe(iAe(e));if(2>>0)a=oAe(e);else switch(f){case 0:a=0;break;case 1:continue;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){cAe(e,0);var o=EUe(iAe(e));if(2>>0)var s=oAe(e);else switch(o){case 0:s=0;break;case 1:continue;default:continue r}break}else s=oAe(e);a=s;break}}break}}break}break;case 1:a=0===LMe(iAe(e))?t(e):oAe(e);break;case 2:for(;;){cAe(e,0);var l=Jje(iAe(e));if(0===l)a=n(e);else{if(1===l)continue;a=oAe(e)}break}break;default:for(;;){cAe(e,0);var v=EUe(iAe(e));if(2>>0)a=oAe(e);else switch(v){case 0:a=n(e);break;case 1:continue;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){cAe(e,0);var D=EUe(iAe(e));if(2>>0)var p=oAe(e);else switch(D){case 0:p=n(e);break;case 1:continue;default:continue r}break}else p=oAe(e);a=p;break}}break}}return 0===a?[0,r,UUe(4,_Ae(e))]:nye(R9r)}));case 31:return[0,r,Jr];case 32:return[0,r,Z9r];case 33:return[0,r,rre];case 34:return[0,r,eu];case 35:return[0,r,41];case 36:return[0,r,30];case 37:return[0,r,53];case 38:return[0,r,Be];case 39:return[0,r,29];case 40:return[0,r,vi];case 18:case 28:return[0,r,XUe(2,_Ae(e))];default:return[0,r,UUe(4,_Ae(e))]}})),nXe=QUe((function(r,e){function t(r,e){for(;;){cAe(e,87);var t=zMe(iAe(e));if(0!==t)return 1===t?r<50?a(r+1|0,e):wx(a,[0,e]):oAe(e)}}function a(r,e){if(0===hUe(iAe(e))){var n=zje(iAe(e));if(0===n)return 0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e);if(1===n){if(0===RMe(iAe(e)))for(;;){var u=WMe(iAe(e));if(0!==u)return 1===u?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e)}return oAe(e)}return oAe(e)}return oAe(e)}function i(r){return Cx(t(0,r))}function c(r){return Cx(a(0,r))}function f(r){for(;;)if(cAe(r,34),0!==AUe(iAe(r)))return oAe(r)}function l(r){for(;;)if(cAe(r,28),0!==AUe(iAe(r)))return oAe(r)}function m(r){cAe(r,27);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,26),0!==AUe(iAe(r)))return oAe(r);return 1===e?l(r):oAe(r)}function y(r){for(;;)if(cAe(r,28),0!==AUe(iAe(r)))return oAe(r)}function w(r){cAe(r,27);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,26),0!==AUe(iAe(r)))return oAe(r);return 1===e?y(r):oAe(r)}function B(r){r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,29);var e=Kje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return y(r);case 1:continue;case 2:continue r;default:return w(r)}}return oAe(r)}}function T(r){cAe(r,34);var e=iUe(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:var t=ije(iAe(r));if(0===t)for(;;){cAe(r,29);var n=VMe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:return y(r);case 1:continue;default:return w(r)}}if(1===t)for(;;){cAe(r,29);var u=Kje(iAe(r));if(3>>0)return oAe(r);switch(u){case 0:return y(r);case 1:continue;case 2:return B(r);default:return w(r)}}return oAe(r);case 2:for(;;){cAe(r,29);var a=VMe(iAe(r));if(2>>0)return oAe(r);switch(a){case 0:return l(r);case 1:continue;default:return m(r)}}default:for(;;){cAe(r,29);var i=Kje(iAe(r));if(3>>0)return oAe(r);switch(i){case 0:return l(r);case 1:continue;case 2:return B(r);default:return m(r)}}}}function N(r){cAe(r,32);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,30),0!==AUe(iAe(r)))return oAe(r);return 1===e?f(r):oAe(r)}function L(r){return cAe(r,4),0===wUe(iAe(r))?4:oAe(r)}function P(r){return 0===Mje(iAe(r))&&0===yje(iAe(r))&&0===sUe(iAe(r))&&0===Pje(iAe(r))&&0===Rje(iAe(r))&&0===hje(iAe(r))&&0===Cje(iAe(r))&&0===Mje(iAe(r))&&0===hUe(iAe(r))&&0===jje(iAe(r))&&0===uUe(iAe(r))?4:oAe(r)}function M(r){cAe(r,35);var e=Tje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:for(;;){cAe(r,35);var t=Nje(iAe(r));if(4>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:return T(r);case 3:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,35);var n=Nje(iAe(r));if(4>>0)return oAe(r);switch(n){case 0:return f(r);case 1:continue;case 2:return T(r);case 3:continue r;default:return N(r)}}return oAe(r)}default:return N(r)}}case 2:return T(r);default:return N(r)}}function U(r){for(;;)if(cAe(r,20),0!==AUe(iAe(r)))return oAe(r)}function J(r){cAe(r,35);var e=VMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return f(r);case 1:for(;;){cAe(r,35);var t=Kje(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,35);var n=Kje(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return f(r);case 1:continue;case 2:continue r;default:return N(r)}}return oAe(r)}default:return N(r)}}default:return N(r)}}function V(r){for(;;)if(cAe(r,18),0!==AUe(iAe(r)))return oAe(r)}function rr(r){for(;;)if(cAe(r,18),0!==AUe(iAe(r)))return oAe(r)}function tr(r){for(;;)if(cAe(r,12),0!==AUe(iAe(r)))return oAe(r)}function ur(r){for(;;)if(cAe(r,12),0!==AUe(iAe(r)))return oAe(r)}function ar(r){for(;;)if(cAe(r,16),0!==AUe(iAe(r)))return oAe(r)}function or(r){for(;;)if(cAe(r,16),0!==AUe(iAe(r)))return oAe(r)}function sr(r){for(;;)if(cAe(r,24),0!==AUe(iAe(r)))return oAe(r)}function Dr(r){for(;;)if(cAe(r,24),0!==AUe(iAe(r)))return oAe(r)}function yr(r){cAe(r,33);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,31),0!==AUe(iAe(r)))return oAe(r);return 1===e?f(r):oAe(r)}function gr(r){r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,35);var e=eUe(iAe(r));if(4>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return J(r);case 2:continue;case 3:continue r;default:return yr(r)}}return oAe(r)}}fAe(e);var Tr=iAe(e);if(Tr)var Nr=Tr[1],Lr=er>>0)var Mr=oAe(e);else switch(Lr){case 0:Mr=146;break;case 1:Mr=147;break;case 2:if(cAe(e,2),0===NMe(iAe(e))){for(;;)if(cAe(e,2),0!==NMe(iAe(e))){Mr=oAe(e);break}}else Mr=oAe(e);break;case 3:Mr=0;break;case 4:cAe(e,0);Mr=0===Vje(iAe(e))?0:oAe(e);break;case 5:cAe(e,138);Mr=0===oje(iAe(e))?(cAe(e,Jr),0===oje(iAe(e))?Uu:oAe(e)):oAe(e);break;case 6:Mr=8;break;case 7:cAe(e,145);var Ur=iAe(e);if(Ur)var Gr=Ur[1],Vr=32>>0)Mr=oAe(e);else switch(te){case 0:cAe(e,133);Mr=0===oje(iAe(e))?xp:oAe(e);break;case 1:Mr=5;break;default:Mr=g}break;case 14:cAe(e,130);var ne=iAe(e);if(ne)var ce=ne[1],fe=42>>0)Mr=oAe(e);else switch(pe){case 0:Mr=f(e);break;case 1:continue;case 2:Mr=T(e);break;case 3:r:for(;;){if(0===LMe(iAe(e)))for(;;){cAe(e,35);var Fe=Nje(iAe(e));if(4>>0)var de=oAe(e);else switch(Fe){case 0:de=f(e);break;case 1:continue;case 2:de=T(e);break;case 3:continue r;default:de=N(e)}break}else de=oAe(e);Mr=de;break}break;default:Mr=N(e)}break}else Mr=oAe(e);break;case 18:cAe(e,143);var ke=Oje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ke){case 0:cAe(e,3);var ge=eje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ge){case 0:for(;;){var xe=eje(iAe(e));if(2>>0)Mr=oAe(e);else switch(xe){case 0:continue;case 1:Mr=L(e);break;default:Mr=P(e)}break}break;case 1:Mr=L(e);break;default:Mr=P(e)}break;case 1:Mr=6;break;default:Mr=142}break;case 19:cAe(e,35);var Te=Wje(iAe(e));if(8>>0)Mr=oAe(e);else switch(Te){case 0:Mr=f(e);break;case 1:Mr=M(e);break;case 2:for(;;){cAe(e,21);var Pe=oUe(iAe(e));if(4>>0)Mr=oAe(e);else switch(Pe){case 0:Mr=U(e);break;case 1:Mr=J(e);break;case 2:continue;case 3:for(;;){cAe(e,19);var je=rje(iAe(e));if(3>>0)Mr=oAe(e);else switch(je){case 0:Mr=V(e);break;case 1:Mr=J(e);break;case 2:continue;default:cAe(e,18);var Xe=mje(iAe(e));if(0===Xe){for(;;)if(cAe(e,18),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===Xe?V(e):oAe(e)}break}break;default:cAe(e,20);var Ge=mje(iAe(e));if(0===Ge){for(;;)if(cAe(e,20),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===Ge?U(e):oAe(e)}break}break;case 3:for(;;){cAe(e,19);var Je=rje(iAe(e));if(3>>0)Mr=oAe(e);else switch(Je){case 0:Mr=rr(e);break;case 1:Mr=J(e);break;case 2:continue;default:cAe(e,18);var Ke=mje(iAe(e));if(0===Ke){for(;;)if(cAe(e,18),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===Ke?rr(e):oAe(e)}break}break;case 4:cAe(e,34);var Qe=qje(iAe(e));if(0===Qe)Mr=f(e);else if(1===Qe)for(;;){cAe(e,13);var et=fUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(et){case 0:Mr=tr(e);break;case 1:continue;case 2:r:for(;;){if(0===uje(iAe(e)))for(;;){cAe(e,13);var at=fUe(iAe(e));if(3>>0)var it=oAe(e);else switch(at){case 0:it=ur(e);break;case 1:continue;case 2:continue r;default:cAe(e,11);var ot=mje(iAe(e));if(0===ot){for(;;)if(cAe(e,10),0!==AUe(iAe(e))){it=oAe(e);break}}else it=1===ot?ur(e):oAe(e)}break}else it=oAe(e);Mr=it;break}break;default:cAe(e,11);var st=mje(iAe(e));if(0===st){for(;;)if(cAe(e,10),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===st?tr(e):oAe(e)}break}else Mr=oAe(e);break;case 5:Mr=T(e);break;case 6:cAe(e,34);var lt=$je(iAe(e));if(0===lt)Mr=f(e);else if(1===lt)for(;;){cAe(e,17);var bt=Zje(iAe(e));if(3>>0)Mr=oAe(e);else switch(bt){case 0:Mr=ar(e);break;case 1:continue;case 2:r:for(;;){if(0===kje(iAe(e)))for(;;){cAe(e,17);var Ft=Zje(iAe(e));if(3>>0)var mt=oAe(e);else switch(Ft){case 0:mt=or(e);break;case 1:continue;case 2:continue r;default:cAe(e,15);var Et=mje(iAe(e));if(0===Et){for(;;)if(cAe(e,14),0!==AUe(iAe(e))){mt=oAe(e);break}}else mt=1===Et?or(e):oAe(e)}break}else mt=oAe(e);Mr=mt;break}break;default:cAe(e,15);var kt=mje(iAe(e));if(0===kt){for(;;)if(cAe(e,14),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===kt?ar(e):oAe(e)}break}else Mr=oAe(e);break;case 7:cAe(e,34);var Bt=qMe(iAe(e));if(0===Bt)Mr=f(e);else if(1===Bt)for(;;){cAe(e,25);var Tt=lUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(Tt){case 0:Mr=sr(e);break;case 1:continue;case 2:r:for(;;){if(0===RMe(iAe(e)))for(;;){cAe(e,25);var It=lUe(iAe(e));if(3>>0)var Ot=oAe(e);else switch(It){case 0:Ot=Dr(e);break;case 1:continue;case 2:continue r;default:cAe(e,23);var Pt=mje(iAe(e));if(0===Pt){for(;;)if(cAe(e,22),0!==AUe(iAe(e))){Ot=oAe(e);break}}else Ot=1===Pt?Dr(e):oAe(e)}break}else Ot=oAe(e);Mr=Ot;break}break;default:cAe(e,23);var Rt=mje(iAe(e));if(0===Rt){for(;;)if(cAe(e,22),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===Rt?sr(e):oAe(e)}break}else Mr=oAe(e);break;default:Mr=yr(e)}break;case 20:cAe(e,35);var Ut=cje(iAe(e));if(5>>0)Mr=oAe(e);else switch(Ut){case 0:Mr=f(e);break;case 1:Mr=M(e);break;case 2:for(;;){cAe(e,35);var Xt=cje(iAe(e));if(5>>0)Mr=oAe(e);else switch(Xt){case 0:Mr=f(e);break;case 1:Mr=M(e);break;case 2:continue;case 3:Mr=T(e);break;case 4:Mr=gr(e);break;default:Mr=yr(e)}break}break;case 3:Mr=T(e);break;case 4:Mr=gr(e);break;default:Mr=yr(e)}break;case 21:Mr=99;break;case 22:Mr=97;break;case 23:cAe(e,S);var qt=iAe(e);if(qt)var Vt=qt[1],$t=59>>0)Mr=oAe(e);else switch(qn){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Wn=_je(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wn){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var $n=nje(iAe(e));if(2<$n>>>0)Mr=oAe(e);else switch($n){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Hn=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Hn){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,36);var Kn=zMe(iAe(e));Mr=0===Kn?i(e):1===Kn?c(e):oAe(e)}}}break;default:cAe(e,87);var nu=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(nu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var uu=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(uu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var au=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(au){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,37);var iu=zMe(iAe(e));Mr=0===iu?i(e):1===iu?c(e):oAe(e)}}}}break;case 34:cAe(e,87);var ou=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ou){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var lu=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(lu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var mu=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(mu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var du=xMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(du){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,38);var Eu=zMe(iAe(e));Mr=0===Eu?i(e):1===Eu?c(e):oAe(e)}}}}break;case 35:cAe(e,87);var wu=iAe(e);if(wu)var _u=wu[1],Bu=35<_u?fl<_u?Re<_u?nc<_u?-1:Mt<_u?lo<_u?iw<_u?jw<_u?sl<_u?Td<_u?Pv<_u?Nb<_u?jm<_u?0:-1:Ct<_u?is<_u?0:-1:0:-1:Jf<_u?pc<_u?sC<_u?Cv<_u?0:-1:0:-1:Mu<_u?Mk<_u?0:-1:0:-1:Uc<_u?he<_u?_o<_u?ly<_u?$m<_u?iD<_u?vm<_u?PE<_u?G_<_u?WD<_u?0:-1:0:-1:ul<_u?Se<_u?0:-1:0:-1:qy<_u?OE<_u?ai<_u?Ao<_u?0:-1:0:-1:df<_u?kD<_u?0:-1:0:-1:Lh<_u?Gt<_u?OA<_u?vA<_u?Nc<_u?nF<_u?0:-1:0:-1:li<_u?pB<_u?0:-1:0:-1:we<_u?Il<_u?Qw<_u?j<_u?0:-1:0:-1:h<_u?Yw<_u?0:-1:0:-1:zm<_u?oD<_u?Lb<_u?tu<_u?qk<_u?xC<_u?mo<_u?xE<_u?0:-1:0:-1:dn<_u?_t<_u?0:-1:0:-1:Qs<_u?Hw<_u?To<_u?oc<_u?0:-1:0:-1:Bk<_u?Yb<_u?0:-1:0:-1:ec<_u?Uf<_u?Xd<_u?Xc<_u?aC<_u?Yc<_u?0:-1:0:-1:LA<_u?Py<_u?0:-1:0:-1:zd<_u?_b<_u?jo<_u?Rb<_u?0:-1:0:-1:XF<_u?Ok<_u?0:-1:0:-1:ho<_u?Hc<_u?lk<_u?fa<_u?wa<_u?Wt<_u?Ln<_u?dF<_u?Rg<_u?Uy<_u?_C<_u?ry<_u?0:-1:0:-1:0:Xa<_u?Mb<_u?VF<_u?ae<_u?0:-1:0:-1:Pi<_u?Ef<_u?0:-1:0:ky<_u?kd<_u?kB<_u?$e<_u?0:-1:ov<_u?eA<_u?0:-1:0:-1:AB<_u?mk<_u?0:-1:ng<_u?NB<_u?0:-1:0:-1:xs<_u?zs<_u?Ka<_u?ED<_u?IB<_u?wg<_u?yl<_u?yb<_u?0:-1:0:-1:op<_u?yo<_u?0:-1:0:-1:fo<_u?Jp<_u?rd<_u?d<_u?0:-1:0:-1:NA<_u?Df<_u?0:-1:0:-1:ll<_u?hm<_u?DD<_u?ut<_u?jv<_u?Eg<_u?0:-1:0:-1:PD<_u?pD<_u?0:-1:0:-1:Ce<_u?Z<_u?Hl<_u?Xy<_u?0:-1:0:-1:OF<_u?yC<_u?0:-1:0:-1:mv<_u?Md<_u?ME<_u?pn<_u?Sl<_u?Ek<_u?_e<_u?Ou<_u?_h<_u?Sb<_u?0:-1:0:-1:Vb<_u?xy<_u?0:-1:0:-1:Ry<_u?xr<_u?Ye<_u?An<_u?0:-1:0:-1:Hy<_u?dw<_u?0:-1:0:-1:Ci<_u?OB<_u?rp<_u?Th<_u?RC<_u?su<_u?0:-1:0:-1:R<_u?eE<_u?0:-1:0:-1:Fb<_u?ja<_u?Vm<_u?tw<_u?0:-1:0:-1:Tc<_u?Tn<_u?0:-1:0:-1:Xr<_u?XC<_u?Gh<_u?Qv<_u?Nt<_u?Bf<_u?lr<_u?Uw<_u?0:-1:0:-1:vh<_u?Z_<_u?0:-1:0:-1:ic<_u?Ep<_u?Fm<_u?sb<_u?0:-1:0:-1:Gm<_u?UE<_u?0:-1:0:-1:Lf<_u?ww<_u?hh<_u?pk<_u?Yi<_u?zr<_u?0:-1:0:-1:ea<_u?zw<_u?0:-1:0:-1:ID<_u?So<_u?He<_u?LB<_u?0:-1:0:-1:0:-1:Hk<_u?q<_u?DF<_u?Rr<_u?I_<_u?yi<_u?ru<_u?gk<_u?Kw<_u?pE<_u?gu<_u?0:-1:0:-1:Pw<_u?rc<_u?0:-1:0:-1:tB<_u?Lu<_u?Cb<_u?QE<_u?0:-1:0:-1:QA<_u?b<_u?0:-1:0:-1:Wk<_u?Gy<_u?cA<_u?od<_u?Hv<_u?IC<_u?0:-1:0:-1:vC<_u?Rw<_u?0:-1:0:-1:bn<_u?Zk<_u?kp<_u?0:-1:0:cu<_u?Su<_u?0:-1:0:Vo<_u?lb<_u?A<_u?Ps<_u?Dd<_u?py<_u?0:-1:DA<_u?P_<_u?0:-1:0:-1:ku<_u?zp<_u?WE<_u?Qf<_u?0:-1:0:-1:F_<_u?ac<_u?0:-1:0:-1:Fv<_u?Si<_u?iF<_u?Va<_u?0:-1:_n<_u?dA<_u?0:-1:0:-1:Zc<_u?Bd<_u?Dg<_u?ny<_u?0:-1:0:-1:bs<_u?nm<_u?0:-1:0:-1:Qc<_u?Dm<_u?vo<_u?af<_u?c_<_u?EA<_u?tE<_u?$f<_u?fm<_u?sh<_u?0:-1:0:-1:fk<_u?VD<_u?0:-1:0:-1:Kg<_u?0:rD<_u?wh<_u?0:-1:0:-1:bk<_u?0:eD<_u?Vc<_u?rf<_u?Kd<_u?0:-1:0:-1:0:-1:ZA<_u?tD<_u?Ay<_u?q_<_u?iy<_u?ih<_u?_w<_u?0:-1:0:-1:Wd<_u?Ih<_u?0:-1:0:cy<_u?Ac<_u?0:-1:Fd<_u?Gp<_u?0:-1:0:-1:nt<_u?kf<_u?fd<_u?Kr<_u?0:-1:da<_u?SE<_u?0:-1:0:-1:0:IF<_u?gC<_u?yn<_u?Br<_u?Fs<_u?LF<_u?vy<_u?Qd<_u?z_<_u?JE<_u?kA<_u?pm<_u?0:-1:Na<_u?hn<_u?0:-1:0:-1:_<_u&&Ig<_u?Ku<_u?0:-1:0:k_<_u?Sk<_u?fu<_u&&Gb<_u?Pr<_u?0:-1:0:-1:Fn<_u?HE<_u?hp<_u?hD<_u?0:-1:0:-1:pp<_u?ch<_u?0:-1:0:$g<_u?BC<_u?sw<_u||ab<_u?0:ph<_u?VA<_u?0:-1:0:-1:oo<_u||Ll<_u?0:$b<_u?Cn<_u?0:-1:0:Sh<_u?xk<_u?Ic<_u?em<_u?ks<_u&&_v<_u?Sg<_u?0:-1:0:vt<_u&&Zv<_u?jl<_u?0:-1:0:-1:MA<_u?pt<_u?Uk<_u?Zs<_u?Sf<_u?iC<_u?0:-1:0:-1:0:-1:0:v<_u?L_<_u?uk<_u?th<_u?$c<_u?xu<_u?mp<_u?0:-1:0:-1:0:Id<_u?0:Vg<_u?Gv<_u?0:-1:0:-1:Yh<_u&&$h<_u&&mm<_u?wF<_u?0:-1:0:UC<_u?ZE<_u?Ht<_u?m_<_u?yh<_u?Ie<_u?fA<_u?rv<_u?0:-1:Sc<_u?RD<_u?0:-1:0:-1:0:Dn<_u?xF<_u?0:Fl<_u?d_<_u?0:-1:0:vw<_u&&Ra<_u?Fw<_u?0:-1:0:UD<_u?x<_u?z<_u?Lm<_u&&Ey<_u?oF<_u?0:-1:0:-1:bi<_u?Ah<_u?V_<_u?Sw<_u?0:-1:0:-1:0:0:-1:Lw<_u?Ug<_u?Xw<_u?fD<_u?Ml<_u?uw<_u?0:-1:Sm<_u?ts<_u?0:-1:0:0:tm<_u?$_<_u?N_<_u?0:Qt<_u?Lp<_u?0:-1:0:-1:CF<_u?ct<_u?jc<_u?0:-1:0:ys<_u?Ru<_u?0:-1:0:-1:Vs<_u?CA<_u?Pp<_u?hb<_u?Iu<_u?Gc<_u?hd<_u?0:-1:0:-1:Po<_u?mf<_u?0:-1:0:0:-1:Qr<_u?ef<_u?Hs<_u?sf<_u?kk<_u?ln<_u?0:-1:0:-1:r_<_u?Db<_u?0:-1:0:-1:Vv<_u?Mh<_u?ie<_u?O<_u?0:-1:0:-1:0:-1:KF<_u?Ji<_u?es<_u?ig<_u?Cs<_u?Xg<_u?Y_<_u?Ii<_u&&mE<_u?Hh<_u?0:-1:0:Av<_u?pf<_u?Os<_u?qA<_u?0:-1:0:-1:Vl<_u?ds<_u?0:-1:0:-1:RF<_u?sy<_u?ns<_u?Tk<_u?om<_u?0:-1:0:-1:xd<_u?ev<_u?0:-1:0:0:PA<_u?dB<_u?po<_u?Lo<_u?As<_u?0:-1:cb<_u?ue<_u?0:-1:0:-1:Sa<_u?TC<_u?0:-1:qi<_u?Am<_u?0:-1:0:nv<_u?0:wA<_u?Lg<_u?0:-1:wC<_u?km<_u?0:-1:0:If<_u?GE<_u?$d<_u?On<_u?hr<_u?Yu<_u?Ks<_u?0:-1:0:U_<_u?qe<_u?0:-1:0:-1:0:Me<_u?wo<_u?E<_u?Kk<_u?Mm<_u?0:-1:0:-1:_l<_u?vd<_u?0:-1:0:0:_B<_u?cg<_u?Bg<_u?ep<_u?Dt<_u?0:-1:ty<_u?X<_u?0:-1:0:0:-1:_y<_u?jd<_u?uy<_u?GF<_u?no<_u?0:-1:0:AD<_u?vD<_u?0:-1:0:-1:Ub<_u?tC<_u?va<_u?Tv<_u?0:-1:0:-1:0:-1:pr<_u?Mf<_u?AC<_u?br<_u?qf<_u?vc<_u?hB<_u?Fa<_u?Gw<_u?ed<_u?id<_u?0:-1:0:-1:Jm<_u?kl<_u?0:-1:0:-1:Jh<_u?Pm<_u?_m<_u?Mp<_u?0:-1:0:-1:Ae<_u?Ng<_u?0:-1:0:$r<_u?fw<_u?oB<_u?Kv<_u?yD<_u?g_<_u?0:-1:0:-1:ze<_u?hg<_u?0:-1:0:-1:qg<_u?Jk<_u?ss<_u?dm<_u?0:-1:0:-1:nf<_u?OD<_u?0:-1:0:-1:xf<_u?nr<_u?C<_u?MC<_u?o<_u?0:-1:nE<_u?Hu<_u?0:-1:0:Du<_u?lp<_u?dc<_u?$a<_u?0:-1:0:-1:Uh<_u?fi<_u?0:-1:0:-1:gs<_u?jt<_u?Pl<_u?$v<_u?en<_u?_i<_u?0:-1:0:-1:Yy<_u?$F<_u?0:-1:0:-1:Ww<_u?zf<_u?Fy<_u?NF<_u?0:-1:0:-1:Yn<_u?Kh<_u?0:-1:0:-1:zA<_u?nh<_u?jA<_u?KD<_u?Ch<_u?Zg<_u?cn<_u?F<_u?EB<_u?qa<_u?0:-1:0:-1:Ju<_u?dD<_u?0:-1:0:-1:ye<_u?Ld<_u?hc<_u?dr<_u?0:-1:0:-1:Vy<_u?JD<_u?0:-1:0:-1:qh<_u?kr<_u?Cr<_u?Bs<_u?eB<_u?0:-1:0:-1:db<_u?pA<_u?0:-1:0:Ul<_u?Qk<_u?St<_u?_c<_u?0:-1:0:-1:qc<_u?ik<_u?0:-1:0:-1:gy<_u?na<_u?$D<_u?uA<_u?Gg<_u?bC<_u?0:-1:0:We<_u?QF<_u?0:-1:0:gm<_u?0:uh<_u?xg<_u?0:-1:0:-1:wn<_u?yg<_u?Fr<_u?Qn<_u?Yd<_u?La<_u?0:-1:0:-1:Jc<_u?vg<_u?0:-1:0:-1:bE<_u?ND<_u?ta<_u?Lt<_u?0:-1:0:-1:Wr<_u?Yo<_u?0:-1:0:-1:Ir<_u?ht<_u?bm<_u?qo<_u?s<_u?CB<_u?rl<_u?mr<_u?jp<_u?le<_u?xv<_u?ro<_u?SD<_u?YC<_u?ya<_u?0:-1:0:-1:gE<_u?lg<_u?0:-1:0:-1:Nv<_u?WF<_u?_f<_u?hf<_u?0:-1:0:-1:sv<_u?ti<_u?0:-1:0:-1:Ap<_u?0:be<_u?Oi<_u?ay<_u?Ds<_u?0:-1:0:-1:sm<_u?JF<_u?0:-1:0:-1:ua<_u?GA<_u?Hb<_u?Bw<_u?wy<_u?yp<_u?H_<_u?pa<_u?0:-1:0:-1:Tb<_u?Qo<_u?0:-1:0:-1:oC<_u?wv<_u?ol<_u?gc<_u?0:-1:0:-1:mF<_u?PB<_u?0:-1:0:-1:ma<_u?$s<_u?Bl<_u?b_<_u?fy<_u?dp<_u?0:-1:0:-1:A_<_u?yy<_u?0:-1:0:-1:Ew<_u?Mn<_u?DE<_u?VE<_u?0:-1:0:-1:zt<_u?hk<_u?0:-1:0:-1:uo<_u?Xv<_u?Eo<_u?rn<_u?EC<_u?Dy<_u&&bp<_u?Pg<_u?0:-1:0:-1:_r<_u?aa<_u?MF<_u?xc<_u?0:-1:0:-1:Dc<_u?EF<_u?0:-1:0:-1:Rl<_u?Wp<_u?vB<_u?Yr<_u?Jd<_u?Ff<_u?0:-1:0:-1:al<_u?za<_u?0:-1:0:-1:_p<_u?fv<_u?0:-1:0:qE<_u?ek<_u?_k<_u?0:wD<_u?yB<_u?eg<_u?0:-1:0:my<_u?I<_u?0:-1:0:-1:n_<_u?Qi<_u?pu<_u?IE<_u?Zu<_u?kC<_u?0:-1:0:-1:Ag<_u?Vf<_u?0:-1:0:-1:FE<_u&&yu<_u?gh<_u?0:-1:0:lw<_u?Tu<_u?Iy<_u?At<_u?Cg<_u&&XA<_u?Ue<_u?0:-1:0:mw<_u?xa<_u?tc<_u?0:-1:0:Ow<_u?NE<_u?0:-1:0:0:Sy<_u?Vn<_u?0:zE<_u?xB<_u?0:-1:0:yt<_u?p<_u?XE<_u?Rd<_u?Jt<_u?0:-1:0:-1:0:rb<_u?0:lA<_u?Hi<_u?0:-1:0:Wa<_u?Cd<_u?ao<_u?0:Bh<_u&&Iv<_u?jy<_u?0:-1:0:ko<_u?_A<_u?0:HD<_u?En<_u?0:-1:0:Qa<_u&&Jw<_u?ir<_u?0:-1:0:SA<_u?Ee<_u?0:Tg<_u?vb<_u?0:-1:Jg<_u?Ak<_u?0:-1:0:qw<_u?ad<_u?vr<_u?0:-1:0:ft<_u?0:Fp<_u?Hf<_u?0:-1:0:-1:H<_u?vl<_u?Ba<_u?dt<_u?Rc<_u?Cp<_u?Q_<_u?Vh<_u?xA<_u?0:-1:$<_u?Qp<_u?0:-1:0:kE<_u?0:yd<_u?el<_u?0:-1:0:-1:0:xD<_u?Jo<_u?0:oE<_u?Ya<_u?Ri<_u?bg<_u?0:-1:0:-1:0:xt<_u?oA<_u&&gp<_u?hu<_u?0:-1:0:im<_u?DC<_u?Cu<_u?xm<_u?0:-1:0:-1:0:pF<_u?Cm<_u?md<_u?wr<_u?0:Ob<_u?Ib<_u?fc<_u?rk<_u?0:-1:0:-1:0:zn<_u?E_<_u?wc<_u&&aw<_u?Mv<_u?0:-1:0:-1:Fi<_u?Jn<_u?0:-1:0:-1:Ad<_u?go<_u?Wy<_u?jD<_u?rB<_u?0:gb<_u?Is<_u?0:-1:0:-1:Tp<_u?Y<_u?Bv<_u?bo<_u?0:-1:0:-1:J_<_u?jn<_u?0:-1:0:-1:Es<_u?Zm<_u?Li<_u?Ck<_u?me<_u?0:-1:0:u<_u?bu<_u?0:-1:0:-1:0:-1:qb<_u?D<_u?FD<_u?Em<_u?ml<_u?Oa<_u?Nm<_u?k<_u&&Gi<_u?K<_u?0:-1:0:-1:BD<_u&&_d<_u?bd<_u?0:-1:0:-1:Ze<_u?Ja<_u?C_<_u?0:Bc<_u?R_<_u?0:-1:0:-1:Um<_u?gl<_u?Yv<_u?jC<_u?0:-1:0:-1:mh<_u?WA<_u?0:-1:0:-1:rE<_u?uv<_u?RE<_u?Ql<_u?Rm<_u?bD<_u?Pf<_u?ff<_u?0:-1:0:-1:_g<_u?Un<_u?0:-1:0:-1:Er<_u?Gl<_u?0:-1:T_<_u?Ab<_u?0:-1:0:-1:xh<_u?ym<_u?Zn<_u?Zl<_u?D_<_u?0:-1:0:-1:cr<_u?Jb<_u?0:-1:0:_D<_u?so<_u?0:-1:0:yc<_u?Xk<_u?Q<_u?vs<_u?vu<_u?Qu<_u?QD<_u?a_<_u?IA<_u?0:-1:0:-1:ia<_u?u_<_u?0:-1:0:Tf<_u?ip<_u?0:-1:RB<_u?My<_u?0:-1:0:-1:Rs<_u?Vd<_u&&aA<_u?hl<_u?0:-1:0:Ys<_u?Js<_u?0:-1:XD<_u?gB<_u?0:-1:0:-1:qr<_u?xo<_u?Oe<_u?tt<_u?W<_u?TA<_u?n<_u?0:-1:0:nC<_u?yF<_u?0:-1:0:-1:pb<_u?Ym<_u?LE<_u?lE<_u?0:-1:0:-1:Ts<_u?lC<_u?0:-1:0:-1:Fg<_u?Le<_u?$C<_u?Sn<_u?ki<_u?gt<_u?0:-1:0:-1:wd<_u?ug<_u?0:-1:0:-1:UA<_u?Nk<_u?uB<_u?Xf<_u?0:-1:0:-1:Cc<_u?hF<_u?0:-1:0:-1:kx(Tte,_u+kg|0)-1|0:-1;else Bu=-1;if(4>>0)Mr=oAe(e);else switch(Bu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Nu=nUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(Nu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Pu=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Pu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,39);var Xu=zMe(iAe(e));Mr=0===Xu?i(e):1===Xu?c(e):oAe(e)}break;default:cAe(e,87);var Gu=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Gu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var qu=kUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(qu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,40);var zu=zMe(iAe(e));Mr=0===zu?i(e):1===zu?c(e):oAe(e)}}}break;case 3:cAe(e,87);var Wu=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Vu=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Vu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var $u=vUe(iAe(e));if(2<$u>>>0)Mr=oAe(e);else switch($u){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,41);var ra=zMe(iAe(e));Mr=0===ra?i(e):1===ra?c(e):oAe(e)}}}break;default:cAe(e,87);var ca=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ca){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var oa=nUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(oa){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var la=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(la){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,42);var Da=zMe(iAe(e));Mr=0===Da?i(e):1===Da?c(e):oAe(e)}break;default:cAe(e,87);var ba=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ba){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ea=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ea){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ka=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ka){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ha=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ha){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,43);var Ca=zMe(iAe(e));Mr=0===Ca?i(e):1===Ca?c(e):oAe(e)}}}}}}}break;case 36:cAe(e,87);var ga=iAe(e);if(ga)var Ta=ga[1],Ia=35>>0)Mr=oAe(e);else switch(Ia){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Pa=iAe(e);if(Pa)var Ua=Pa[1],Ga=35>>0)Mr=oAe(e);else switch(Ga){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Za=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Za){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ri=UMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ri){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ei=UMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ei){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ui=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ui){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ii=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ii){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,44);var ci=zMe(iAe(e));Mr=0===ci?i(e):1===ci?c(e):oAe(e)}}}}}break;case 3:cAe(e,87);var oi=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(oi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var si=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(si){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Di=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Di){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var pi=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(pi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,45);var mi=zMe(iAe(e));Mr=0===mi?i(e):1===mi?c(e):oAe(e)}}}}break;case 4:cAe(e,87);var hi=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(hi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var wi=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(wi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var gi=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(gi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var xi=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(xi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,46);var Ni=zMe(iAe(e));Mr=0===Ni?i(e):1===Ni?c(e):oAe(e)}}}}break;default:cAe(e,87);var Mi=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Mi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ji=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ji){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ui=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ui){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,47);var Xi=zMe(iAe(e));Mr=0===Xi?i(e):1===Xi?c(e):oAe(e)}}}}break;default:cAe(e,48);var zi=zMe(iAe(e));Mr=0===zi?i(e):1===zi?c(e):oAe(e)}break;case 37:cAe(e,87);var Wi=iAe(e);if(Wi)var $i=Wi[1],Ki=35<$i?fl<$i?Re<$i?nc<$i?-1:Mt<$i?lo<$i?iw<$i?jw<$i?sl<$i?Td<$i?Pv<$i?Nb<$i?jm<$i?0:-1:Ct<$i?is<$i?0:-1:0:-1:Jf<$i?pc<$i?sC<$i?Cv<$i?0:-1:0:-1:Mu<$i?Mk<$i?0:-1:0:-1:Uc<$i?he<$i?_o<$i?ly<$i?$m<$i?iD<$i?vm<$i?PE<$i?G_<$i?WD<$i?0:-1:0:-1:ul<$i?Se<$i?0:-1:0:-1:qy<$i?OE<$i?ai<$i?Ao<$i?0:-1:0:-1:df<$i?kD<$i?0:-1:0:-1:Lh<$i?Gt<$i?OA<$i?vA<$i?Nc<$i?nF<$i?0:-1:0:-1:li<$i?pB<$i?0:-1:0:-1:we<$i?Il<$i?Qw<$i?j<$i?0:-1:0:-1:h<$i?Yw<$i?0:-1:0:-1:zm<$i?oD<$i?Lb<$i?tu<$i?qk<$i?xC<$i?mo<$i?xE<$i?0:-1:0:-1:dn<$i?_t<$i?0:-1:0:-1:Qs<$i?Hw<$i?To<$i?oc<$i?0:-1:0:-1:Bk<$i?Yb<$i?0:-1:0:-1:ec<$i?Uf<$i?Xd<$i?Xc<$i?aC<$i?Yc<$i?0:-1:0:-1:LA<$i?Py<$i?0:-1:0:-1:zd<$i?_b<$i?jo<$i?Rb<$i?0:-1:0:-1:XF<$i?Ok<$i?0:-1:0:-1:ho<$i?Hc<$i?lk<$i?fa<$i?wa<$i?Wt<$i?Ln<$i?dF<$i?Rg<$i?Uy<$i?_C<$i?ry<$i?0:-1:0:-1:0:Xa<$i?Mb<$i?VF<$i?ae<$i?0:-1:0:-1:Pi<$i?Ef<$i?0:-1:0:ky<$i?kd<$i?kB<$i?$e<$i?0:-1:ov<$i?eA<$i?0:-1:0:-1:AB<$i?mk<$i?0:-1:ng<$i?NB<$i?0:-1:0:-1:xs<$i?zs<$i?Ka<$i?ED<$i?IB<$i?wg<$i?yl<$i?yb<$i?0:-1:0:-1:op<$i?yo<$i?0:-1:0:-1:fo<$i?Jp<$i?rd<$i?d<$i?0:-1:0:-1:NA<$i?Df<$i?0:-1:0:-1:ll<$i?hm<$i?DD<$i?ut<$i?jv<$i?Eg<$i?0:-1:0:-1:PD<$i?pD<$i?0:-1:0:-1:Ce<$i?Z<$i?Hl<$i?Xy<$i?0:-1:0:-1:OF<$i?yC<$i?0:-1:0:-1:mv<$i?Md<$i?ME<$i?pn<$i?Sl<$i?Ek<$i?_e<$i?Ou<$i?_h<$i?Sb<$i?0:-1:0:-1:Vb<$i?xy<$i?0:-1:0:-1:Ry<$i?xr<$i?Ye<$i?An<$i?0:-1:0:-1:Hy<$i?dw<$i?0:-1:0:-1:Ci<$i?OB<$i?rp<$i?Th<$i?RC<$i?su<$i?0:-1:0:-1:R<$i?eE<$i?0:-1:0:-1:Fb<$i?ja<$i?Vm<$i?tw<$i?0:-1:0:-1:Tc<$i?Tn<$i?0:-1:0:-1:Xr<$i?XC<$i?Gh<$i?Qv<$i?Nt<$i?Bf<$i?lr<$i?Uw<$i?0:-1:0:-1:vh<$i?Z_<$i?0:-1:0:-1:ic<$i?Ep<$i?Fm<$i?sb<$i?0:-1:0:-1:Gm<$i?UE<$i?0:-1:0:-1:Lf<$i?ww<$i?hh<$i?pk<$i?Yi<$i?zr<$i?0:-1:0:-1:ea<$i?zw<$i?0:-1:0:-1:ID<$i?So<$i?He<$i?LB<$i?0:-1:0:-1:0:-1:Hk<$i?q<$i?DF<$i?Rr<$i?I_<$i?yi<$i?ru<$i?gk<$i?Kw<$i?pE<$i?gu<$i?0:-1:0:-1:Pw<$i?rc<$i?0:-1:0:-1:tB<$i?Lu<$i?Cb<$i?QE<$i?0:-1:0:-1:QA<$i?b<$i?0:-1:0:-1:Wk<$i?Gy<$i?cA<$i?od<$i?Hv<$i?IC<$i?0:-1:0:-1:vC<$i?Rw<$i?0:-1:0:-1:bn<$i?Zk<$i?kp<$i?0:-1:0:cu<$i?Su<$i?0:-1:0:Vo<$i?lb<$i?A<$i?Ps<$i?Dd<$i?py<$i?0:-1:DA<$i?P_<$i?0:-1:0:-1:ku<$i?zp<$i?WE<$i?Qf<$i?0:-1:0:-1:F_<$i?ac<$i?0:-1:0:-1:Fv<$i?Si<$i?iF<$i?Va<$i?0:-1:_n<$i?dA<$i?0:-1:0:-1:Zc<$i?Bd<$i?Dg<$i?ny<$i?0:-1:0:-1:bs<$i?nm<$i?0:-1:0:-1:Qc<$i?Dm<$i?vo<$i?af<$i?c_<$i?EA<$i?tE<$i?$f<$i?fm<$i?sh<$i?0:-1:0:-1:fk<$i?VD<$i?0:-1:0:-1:Kg<$i?0:rD<$i?wh<$i?0:-1:0:-1:bk<$i?0:eD<$i?Vc<$i?rf<$i?Kd<$i?0:-1:0:-1:0:-1:ZA<$i?tD<$i?Ay<$i?q_<$i?iy<$i?ih<$i?_w<$i?0:-1:0:-1:Wd<$i?Ih<$i?0:-1:0:cy<$i?Ac<$i?0:-1:Fd<$i?Gp<$i?0:-1:0:-1:nt<$i?kf<$i?fd<$i?Kr<$i?0:-1:da<$i?SE<$i?0:-1:0:-1:0:IF<$i?gC<$i?yn<$i?Br<$i?Fs<$i?LF<$i?vy<$i?Qd<$i?z_<$i?JE<$i?kA<$i?pm<$i?0:-1:Na<$i?hn<$i?0:-1:0:-1:_<$i&&Ig<$i?Ku<$i?0:-1:0:k_<$i?Sk<$i?fu<$i&&Gb<$i?Pr<$i?0:-1:0:-1:Fn<$i?HE<$i?hp<$i?hD<$i?0:-1:0:-1:pp<$i?ch<$i?0:-1:0:$g<$i?BC<$i?sw<$i||ab<$i?0:ph<$i?VA<$i?0:-1:0:-1:oo<$i||Ll<$i?0:$b<$i?Cn<$i?0:-1:0:Sh<$i?xk<$i?Ic<$i?em<$i?ks<$i&&_v<$i?Sg<$i?0:-1:0:vt<$i&&Zv<$i?jl<$i?0:-1:0:-1:MA<$i?pt<$i?Uk<$i?Zs<$i?Sf<$i?iC<$i?0:-1:0:-1:0:-1:0:v<$i?L_<$i?uk<$i?th<$i?$c<$i?xu<$i?mp<$i?0:-1:0:-1:0:Id<$i?0:Vg<$i?Gv<$i?0:-1:0:-1:Yh<$i&&$h<$i&&mm<$i?wF<$i?0:-1:0:UC<$i?ZE<$i?Ht<$i?m_<$i?yh<$i?Ie<$i?fA<$i?rv<$i?0:-1:Sc<$i?RD<$i?0:-1:0:-1:0:Dn<$i?xF<$i?0:Fl<$i?d_<$i?0:-1:0:vw<$i&&Ra<$i?Fw<$i?0:-1:0:UD<$i?x<$i?z<$i?Lm<$i&&Ey<$i?oF<$i?0:-1:0:-1:bi<$i?Ah<$i?V_<$i?Sw<$i?0:-1:0:-1:0:0:-1:Lw<$i?Ug<$i?Xw<$i?fD<$i?Ml<$i?uw<$i?0:-1:Sm<$i?ts<$i?0:-1:0:0:tm<$i?$_<$i?N_<$i?0:Qt<$i?Lp<$i?0:-1:0:-1:CF<$i?ct<$i?jc<$i?0:-1:0:ys<$i?Ru<$i?0:-1:0:-1:Vs<$i?CA<$i?Pp<$i?hb<$i?Iu<$i?Gc<$i?hd<$i?0:-1:0:-1:Po<$i?mf<$i?0:-1:0:0:-1:Qr<$i?ef<$i?Hs<$i?sf<$i?kk<$i?ln<$i?0:-1:0:-1:r_<$i?Db<$i?0:-1:0:-1:Vv<$i?Mh<$i?ie<$i?O<$i?0:-1:0:-1:0:-1:KF<$i?Ji<$i?es<$i?ig<$i?Cs<$i?Xg<$i?Y_<$i?Ii<$i&&mE<$i?Hh<$i?0:-1:0:Av<$i?pf<$i?Os<$i?qA<$i?0:-1:0:-1:Vl<$i?ds<$i?0:-1:0:-1:RF<$i?sy<$i?ns<$i?Tk<$i?om<$i?0:-1:0:-1:xd<$i?ev<$i?0:-1:0:0:PA<$i?dB<$i?po<$i?Lo<$i?As<$i?0:-1:cb<$i?ue<$i?0:-1:0:-1:Sa<$i?TC<$i?0:-1:qi<$i?Am<$i?0:-1:0:nv<$i?0:wA<$i?Lg<$i?0:-1:wC<$i?km<$i?0:-1:0:If<$i?GE<$i?$d<$i?On<$i?hr<$i?Yu<$i?Ks<$i?0:-1:0:U_<$i?qe<$i?0:-1:0:-1:0:Me<$i?wo<$i?E<$i?Kk<$i?Mm<$i?0:-1:0:-1:_l<$i?vd<$i?0:-1:0:0:_B<$i?cg<$i?Bg<$i?ep<$i?Dt<$i?0:-1:ty<$i?X<$i?0:-1:0:0:-1:_y<$i?jd<$i?uy<$i?GF<$i?no<$i?0:-1:0:AD<$i?vD<$i?0:-1:0:-1:Ub<$i?tC<$i?va<$i?Tv<$i?0:-1:0:-1:0:-1:pr<$i?Mf<$i?AC<$i?br<$i?qf<$i?vc<$i?hB<$i?Fa<$i?Gw<$i?ed<$i?id<$i?0:-1:0:-1:Jm<$i?kl<$i?0:-1:0:-1:Jh<$i?Pm<$i?_m<$i?Mp<$i?0:-1:0:-1:Ae<$i?Ng<$i?0:-1:0:$r<$i?fw<$i?oB<$i?Kv<$i?yD<$i?g_<$i?0:-1:0:-1:ze<$i?hg<$i?0:-1:0:-1:qg<$i?Jk<$i?ss<$i?dm<$i?0:-1:0:-1:nf<$i?OD<$i?0:-1:0:-1:xf<$i?nr<$i?C<$i?MC<$i?o<$i?0:-1:nE<$i?Hu<$i?0:-1:0:Du<$i?lp<$i?dc<$i?$a<$i?0:-1:0:-1:Uh<$i?fi<$i?0:-1:0:-1:gs<$i?jt<$i?Pl<$i?$v<$i?en<$i?_i<$i?0:-1:0:-1:Yy<$i?$F<$i?0:-1:0:-1:Ww<$i?zf<$i?Fy<$i?NF<$i?0:-1:0:-1:Yn<$i?Kh<$i?0:-1:0:-1:zA<$i?nh<$i?jA<$i?KD<$i?Ch<$i?Zg<$i?cn<$i?F<$i?EB<$i?qa<$i?0:-1:0:-1:Ju<$i?dD<$i?0:-1:0:-1:ye<$i?Ld<$i?hc<$i?dr<$i?0:-1:0:-1:Vy<$i?JD<$i?0:-1:0:-1:qh<$i?kr<$i?Cr<$i?Bs<$i?eB<$i?0:-1:0:-1:db<$i?pA<$i?0:-1:0:Ul<$i?Qk<$i?St<$i?_c<$i?0:-1:0:-1:qc<$i?ik<$i?0:-1:0:-1:gy<$i?na<$i?$D<$i?uA<$i?Gg<$i?bC<$i?0:-1:0:We<$i?QF<$i?0:-1:0:gm<$i?0:uh<$i?xg<$i?0:-1:0:-1:wn<$i?yg<$i?Fr<$i?Qn<$i?Yd<$i?La<$i?0:-1:0:-1:Jc<$i?vg<$i?0:-1:0:-1:bE<$i?ND<$i?ta<$i?Lt<$i?0:-1:0:-1:Wr<$i?Yo<$i?0:-1:0:-1:Ir<$i?ht<$i?bm<$i?qo<$i?s<$i?CB<$i?rl<$i?mr<$i?jp<$i?le<$i?xv<$i?ro<$i?SD<$i?YC<$i?ya<$i?0:-1:0:-1:gE<$i?lg<$i?0:-1:0:-1:Nv<$i?WF<$i?_f<$i?hf<$i?0:-1:0:-1:sv<$i?ti<$i?0:-1:0:-1:Ap<$i?0:be<$i?Oi<$i?ay<$i?Ds<$i?0:-1:0:-1:sm<$i?JF<$i?0:-1:0:-1:ua<$i?GA<$i?Hb<$i?Bw<$i?wy<$i?yp<$i?H_<$i?pa<$i?0:-1:0:-1:Tb<$i?Qo<$i?0:-1:0:-1:oC<$i?wv<$i?ol<$i?gc<$i?0:-1:0:-1:mF<$i?PB<$i?0:-1:0:-1:ma<$i?$s<$i?Bl<$i?b_<$i?fy<$i?dp<$i?0:-1:0:-1:A_<$i?yy<$i?0:-1:0:-1:Ew<$i?Mn<$i?DE<$i?VE<$i?0:-1:0:-1:zt<$i?hk<$i?0:-1:0:-1:uo<$i?Xv<$i?Eo<$i?rn<$i?EC<$i?Dy<$i&&bp<$i?Pg<$i?0:-1:0:-1:_r<$i?aa<$i?MF<$i?xc<$i?0:-1:0:-1:Dc<$i?EF<$i?0:-1:0:-1:Rl<$i?Wp<$i?vB<$i?Yr<$i?Jd<$i?Ff<$i?0:-1:0:-1:al<$i?za<$i?0:-1:0:-1:_p<$i?fv<$i?0:-1:0:qE<$i?ek<$i?_k<$i?0:wD<$i?yB<$i?eg<$i?0:-1:0:my<$i?I<$i?0:-1:0:-1:n_<$i?Qi<$i?pu<$i?IE<$i?Zu<$i?kC<$i?0:-1:0:-1:Ag<$i?Vf<$i?0:-1:0:-1:FE<$i&&yu<$i?gh<$i?0:-1:0:lw<$i?Tu<$i?Iy<$i?At<$i?Cg<$i&&XA<$i?Ue<$i?0:-1:0:mw<$i?xa<$i?tc<$i?0:-1:0:Ow<$i?NE<$i?0:-1:0:0:Sy<$i?Vn<$i?0:zE<$i?xB<$i?0:-1:0:yt<$i?p<$i?XE<$i?Rd<$i?Jt<$i?0:-1:0:-1:0:rb<$i?0:lA<$i?Hi<$i?0:-1:0:Wa<$i?Cd<$i?ao<$i?0:Bh<$i&&Iv<$i?jy<$i?0:-1:0:ko<$i?_A<$i?0:HD<$i?En<$i?0:-1:0:Qa<$i&&Jw<$i?ir<$i?0:-1:0:SA<$i?Ee<$i?0:Tg<$i?vb<$i?0:-1:Jg<$i?Ak<$i?0:-1:0:qw<$i?ad<$i?vr<$i?0:-1:0:ft<$i?0:Fp<$i?Hf<$i?0:-1:0:-1:H<$i?vl<$i?Ba<$i?dt<$i?Rc<$i?Cp<$i?Q_<$i?Vh<$i?xA<$i?0:-1:$<$i?Qp<$i?0:-1:0:kE<$i?0:yd<$i?el<$i?0:-1:0:-1:0:xD<$i?Jo<$i?0:oE<$i?Ya<$i?Ri<$i?bg<$i?0:-1:0:-1:0:xt<$i?oA<$i&&gp<$i?hu<$i?0:-1:0:im<$i?DC<$i?Cu<$i?xm<$i?0:-1:0:-1:0:pF<$i?Cm<$i?md<$i?wr<$i?0:Ob<$i?Ib<$i?fc<$i?rk<$i?0:-1:0:-1:0:zn<$i?E_<$i?wc<$i&&aw<$i?Mv<$i?0:-1:0:-1:Fi<$i?Jn<$i?0:-1:0:-1:Ad<$i?go<$i?Wy<$i?jD<$i?rB<$i?0:gb<$i?Is<$i?0:-1:0:-1:Tp<$i?Y<$i?Bv<$i?bo<$i?0:-1:0:-1:J_<$i?jn<$i?0:-1:0:-1:Es<$i?Zm<$i?Li<$i?Ck<$i?me<$i?0:-1:0:u<$i?bu<$i?0:-1:0:-1:0:-1:qb<$i?D<$i?FD<$i?Em<$i?ml<$i?Oa<$i?Nm<$i?k<$i&&Gi<$i?K<$i?0:-1:0:-1:BD<$i&&_d<$i?bd<$i?0:-1:0:-1:Ze<$i?Ja<$i?C_<$i?0:Bc<$i?R_<$i?0:-1:0:-1:Um<$i?gl<$i?Yv<$i?jC<$i?0:-1:0:-1:mh<$i?WA<$i?0:-1:0:-1:rE<$i?uv<$i?RE<$i?Ql<$i?Rm<$i?bD<$i?Pf<$i?ff<$i?0:-1:0:-1:_g<$i?Un<$i?0:-1:0:-1:Er<$i?Gl<$i?0:-1:T_<$i?Ab<$i?0:-1:0:-1:xh<$i?ym<$i?Zn<$i?Zl<$i?D_<$i?0:-1:0:-1:cr<$i?Jb<$i?0:-1:0:_D<$i?so<$i?0:-1:0:yc<$i?Xk<$i?Q<$i?vs<$i?vu<$i?Qu<$i?QD<$i?a_<$i?IA<$i?0:-1:0:-1:ia<$i?u_<$i?0:-1:0:Tf<$i?ip<$i?0:-1:RB<$i?My<$i?0:-1:0:-1:Rs<$i?Vd<$i&&aA<$i?hl<$i?0:-1:0:Ys<$i?Js<$i?0:-1:XD<$i?gB<$i?0:-1:0:-1:qr<$i?xo<$i?Oe<$i?tt<$i?W<$i?TA<$i?n<$i?0:-1:0:nC<$i?yF<$i?0:-1:0:-1:pb<$i?Ym<$i?LE<$i?lE<$i?0:-1:0:-1:Ts<$i?lC<$i?0:-1:0:-1:Fg<$i?Le<$i?$C<$i?Sn<$i?ki<$i?gt<$i?0:-1:0:-1:wd<$i?ug<$i?0:-1:0:-1:UA<$i?Nk<$i?uB<$i?Xf<$i?0:-1:0:-1:Cc<$i?hF<$i?0:-1:0:-1:kx(Rte,$i+kg|0)-1|0:-1;else Ki=-1;if(4>>0)Mr=oAe(e);else switch(Ki){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Zi=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Zi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var uc=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(uc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,49);var cc=zMe(iAe(e));Mr=0===cc?i(e):1===cc?c(e):oAe(e)}}break;case 3:cAe(e,87);var sc=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(sc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var lc=Hje(iAe(e));if(2>>0)Mr=oAe(e);else switch(lc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,50);var bc=zMe(iAe(e));Mr=0===bc?i(e):1===bc?c(e):oAe(e)}}break;default:cAe(e,87);var Fc=iAe(e);if(Fc)var mc=Fc[1],Ec=35>>0)Mr=oAe(e);else switch(Ec){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var kc=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(kc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Oc=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Oc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Lc=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Lc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,51);var Pc=zMe(iAe(e));Mr=0===Pc?i(e):1===Pc?c(e):oAe(e)}}}break;default:cAe(e,87);var zc=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(zc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Kc=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Kc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var tf=PMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(tf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var uf=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(uf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,52);var of=zMe(iAe(e));Mr=0===of?i(e):1===of?c(e):oAe(e)}}}}}}break;case 38:cAe(e,87);var lf=iAe(e);if(lf)var vf=lf[1],bf=35>>0)Mr=oAe(e);else switch(bf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var yf=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(yf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Cf=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Cf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var wf=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(wf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,53);var Af=zMe(iAe(e));Mr=0===Af?i(e):1===Af?c(e):oAe(e)}}}break;case 3:cAe(e,87);var gf=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(gf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Nf=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Nf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Of=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Of){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Rf=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Rf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var jf=_je(iAe(e));if(2>>0)Mr=oAe(e);else switch(jf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,54);var Gf=zMe(iAe(e));Mr=0===Gf?i(e):1===Gf?c(e):oAe(e)}}}}}break;case 4:cAe(e,87);var Wf=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,55);var Yf=zMe(iAe(e));Mr=0===Yf?i(e):1===Yf?c(e):oAe(e)}break;default:cAe(e,87);var Kf=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Kf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var eo=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(eo){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var to=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(to){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var io=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(io){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var co=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(co){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Do=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Do){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,56);var Fo=zMe(iAe(e));Mr=0===Fo?i(e):1===Fo?c(e):oAe(e)}}}}}}}break;case 39:cAe(e,87);var Co=iAe(e);if(Co)var Bo=Co[1],No=35>>0)Mr=oAe(e);else switch(No){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,57);var Oo=zMe(iAe(e));Mr=0===Oo?i(e):1===Oo?c(e):oAe(e);break;case 3:cAe(e,87);var Ro=JMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ro){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Uo=iAe(e);if(Uo)var Xo=Uo[1],Go=35>>0)Mr=oAe(e);else switch(Go){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var zo=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(zo){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Wo=Hje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wo){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var $o=OMe(iAe(e));if(2<$o>>>0)Mr=oAe(e);else switch($o){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ho=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ho){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ko=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ko){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Zo=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Zo){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,58);var rs=zMe(iAe(e));Mr=0===rs?i(e):1===rs?c(e):oAe(e)}}}}}}break;default:cAe(e,87);var us=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(us){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var as=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(as){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,59);var fs=zMe(iAe(e));Mr=0===fs?i(e):1===fs?c(e):oAe(e)}}}}break;default:cAe(e,60);var os=nUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(os){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var ps=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ps){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ms=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ms){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ws=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ws){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var _s=Uje(iAe(e));if(2<_s>>>0)Mr=oAe(e);else switch(_s){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ns=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ns){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ls=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ls){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var js=DUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(js){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,61);var Us=zMe(iAe(e));Mr=0===Us?i(e):1===Us?c(e):oAe(e)}}}}}}}break;default:cAe(e,87);var Xs=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Xs){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Gs=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Gs){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var qs=DUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(qs){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ws=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ws){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var tl=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(tl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var nl=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(nl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,62);var il=zMe(iAe(e));Mr=0===il?i(e):1===il?c(e):oAe(e)}}}}}}}}break;case 40:cAe(e,87);var cl=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(cl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Dl=Qje(iAe(e));if(2
>>0)Mr=oAe(e);else switch(Dl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,63);var pl=zMe(iAe(e));Mr=0===pl?i(e):1===pl?c(e):oAe(e)}}break;case 41:cAe(e,87);var bl=iAe(e);if(bl)var dl=bl[1],El=35>>0)Mr=oAe(e);else switch(El){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Cl=yUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Cl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,64);var wl=zMe(iAe(e));Mr=0===wl?i(e):1===wl?c(e):oAe(e)}break;default:cAe(e,87);var Al=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Al){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var xl=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(xl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,65);var Tl=zMe(iAe(e));Mr=0===Tl?i(e):1===Tl?c(e):oAe(e)}}}break;case 42:cAe(e,87);var Nl=iAe(e);if(Nl)var Ol=Nl[1],Jl=35>>0)Mr=oAe(e);else switch(Jl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,66);var ql=zMe(iAe(e));Mr=0===ql?i(e):1===ql?c(e):oAe(e);break;default:cAe(e,87);var zl=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(zl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Wl=iAe(e);if(Wl)var Kl=Wl[1],tv=35>>0)Mr=oAe(e);else switch(tv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var av=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(av){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var iv=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(iv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,67);var cv=zMe(iAe(e));Mr=0===cv?i(e):1===cv?c(e):oAe(e)}}}}}break;case 43:cAe(e,87);var vv=iAe(e);if(vv)var Dv=vv[1],pv=35>>0)Mr=oAe(e);else switch(pv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var bv=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(bv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ev=xMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ev){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var hv=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(hv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var yv=UMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(yv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Sv=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Sv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,68);var Ov=zMe(iAe(e));Mr=0===Ov?i(e):1===Ov?c(e):oAe(e)}}}}}break;case 3:cAe(e,87);var Lv=dUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(Lv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Rv=iAe(e);if(Rv)var Uv=Rv[1],Jv=35>>0)Mr=oAe(e);else switch(Jv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var zv=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(zv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Wv=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var nD=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(nD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,69);var uD=zMe(iAe(e));Mr=0===uD?i(e):1===uD?c(e):oAe(e)}}}}break;default:cAe(e,87);var aD=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(aD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var sD=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(sD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var lD=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(lD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var CD=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(CD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var gD=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(gD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var TD=PMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(TD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,70);var LD=zMe(iAe(e));Mr=0===LD?i(e):1===LD?c(e):oAe(e)}}}}}}}break;default:cAe(e,87);var GD=tUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(GD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var qD=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(qD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var zD=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(zD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ZD=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ZD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,71);var tp=zMe(iAe(e));Mr=0===tp?i(e):1===tp?c(e):oAe(e)}}}}}break;case 44:cAe(e,87);var up=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(up){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ap=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ap){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var cp=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(cp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var fp=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(fp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var sp=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(sp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,72);var vp=zMe(iAe(e));Mr=0===vp?i(e):1===vp?c(e):oAe(e)}}}}}break;case 45:cAe(e,87);var Dp=iAe(e);if(Dp)var wp=Dp[1],Sp=35>>0)Mr=oAe(e);else switch(Sp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Ip=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ip){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Op=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Op){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Rp=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Rp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Up=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Up){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,73);var Vp=zMe(iAe(e));Mr=0===Vp?i(e):1===Vp?c(e):oAe(e)}}}}break;case 3:cAe(e,87);var $p=JMe(iAe(e));if(2<$p>>>0)Mr=oAe(e);else switch($p){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Yp=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Yp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Hp=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Hp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,74);var Kp=zMe(iAe(e));Mr=0===Kp?i(e):1===Kp?c(e):oAe(e)}}}break;default:cAe(e,87);var Zp=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Zp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var tb=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(tb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ub=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ub){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ib=kUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ib){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,75);var fb=zMe(iAe(e));Mr=0===fb?i(e):1===fb?c(e):oAe(e)}}}}}break;case 46:cAe(e,87);var ob=iAe(e);if(ob)var bb=ob[1],mb=35>>0)Mr=oAe(e);else switch(mb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Eb=iAe(e);if(Eb)var kb=Eb[1],wb=35>>0)Mr=oAe(e);else switch(wb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var xb=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(xb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,76);var Pb=zMe(iAe(e));Mr=0===Pb?i(e):1===Pb?c(e):oAe(e)}break;default:cAe(e,87);var jb=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(jb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Xb=yUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Xb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,77);var zb=zMe(iAe(e));Mr=0===zb?i(e):1===zb?c(e):oAe(e)}}}break;case 3:cAe(e,87);var Kb=iAe(e);if(Kb)var Qb=Kb[1],rF=35>>0)Mr=oAe(e);else switch(rF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var eF=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(eF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,78);var tF=zMe(iAe(e));Mr=0===tF?i(e):1===tF?c(e):oAe(e)}break;default:cAe(e,79);var uF=zMe(iAe(e));Mr=0===uF?i(e):1===uF?c(e):oAe(e)}break;default:cAe(e,87);var aF=JMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(aF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var cF=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(cF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,80);var fF=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(fF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var sF=DUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(sF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,81);var lF=zMe(iAe(e));Mr=0===lF?i(e):1===lF?c(e):oAe(e)}}}}}break;case 47:cAe(e,87);var vF=iAe(e);if(vF)var bF=vF[1],FF=35>>0)Mr=oAe(e);else switch(FF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var kF=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(kF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,82);var _F=zMe(iAe(e));Mr=0===_F?i(e):1===_F?c(e):oAe(e)}break;default:cAe(e,87);var gF=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(gF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var SF=PMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(SF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,83);var PF=zMe(iAe(e));Mr=0===PF?i(e):1===PF?c(e):oAe(e)}}}break;case 48:cAe(e,87);var qF=iAe(e);if(qF)var HF=qF[1],ZF=35>>0)Mr=oAe(e);else switch(ZF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var rm=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(rm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var am=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(am){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var lm=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(lm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,84);var wm=zMe(iAe(e));Mr=0===wm?i(e):1===wm?c(e):oAe(e)}}}break;default:cAe(e,87);var Bm=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Bm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Tm=kUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Tm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,85);var Im=zMe(iAe(e));Mr=0===Im?i(e):1===Im?c(e):oAe(e)}}}break;case 49:cAe(e,87);var Om=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Om){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Xm=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Xm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Wm=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Hm=PMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Hm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,86);var Qm=zMe(iAe(e));Mr=0===Qm?i(e):1===Qm?c(e):oAe(e)}}}}break;case 50:Mr=89;break;case 51:cAe(e,135);var td=iAe(e);if(td)var nd=td[1],ud=60>>0)return nye(hre);var cd=Mr;if(74<=cd){if(Jr<=cd)switch(cd){case 111:return[0,r,90];case 112:return[0,r,Bb];case 113:return[0,r,ak];case 114:return[0,r,69];case 115:return[0,r,97];case 116:return[0,r,68];case 117:return[0,r,67];case 118:return[0,r,99];case 119:return[0,r,98];case 120:return[0,r,78];case 121:return[0,r,77];case 122:return[0,r,75];case 123:return[0,r,76];case 124:return[0,r,73];case 125:return[0,r,72];case 126:return[0,r,71];case 127:return[0,r,70];case 128:return[0,r,95];case 129:return[0,r,96];case 130:return[0,r,Fu];case 131:return[0,r,CE];case 132:return[0,r,$l];case 133:return[0,r,sE];case 134:return[0,r,tg];case 135:return[0,r,86];case 136:return[0,r,88];case 137:return[0,r,87];case 138:return[0,r,Ma];case 139:return[0,r,Uu];case 140:return[0,r,79];case 141:return[0,r,11];case 142:return[0,r,74];case 143:return[0,r,EE];case 144:return[0,r,13];case 145:return[0,r,14];case 146:return[0,r[4]?NUe(r,xUe(r,e),6):r,Ve];default:return[0,PUe(r,xUe(r,e)),[6,_Ae(e)]]}switch(cd){case 74:return[0,r,51];case 75:return[0,r,20];case 76:return[0,r,21];case 77:return[0,r,22];case 78:return[0,r,31];case 79:return[0,r,23];case 80:return[0,r,61];case 81:return[0,r,46];case 82:return[0,r,24];case 83:return[0,r,47];case 84:return[0,r,25];case 85:return[0,r,26];case 86:return[0,r,58];case 87:var sd=xUe(r,e),ld=_Ae(e),pd=qUe(r,ld);return[0,pd[1],[4,sd,pd[2],ld]];case 88:var dd=xUe(r,e),Ed=_Ae(e);return[0,r,[4,dd,Ed,Ed]];case 89:return[0,r,0];case 90:return[0,r,1];case 91:return[0,r,4];case 92:return[0,r,5];case 93:return[0,r,6];case 94:return[0,r,7];case 95:return[0,r,12];case 96:return[0,r,10];case 97:return[0,r,8];case 98:return[0,r,9];case 99:return[0,r,83];case 100:sAe(e),fAe(e);var Sd=iAe(e);if(Sd)var Nd=Sd[1],Od=62>>0)var n=oAe(e);else switch(t){case 0:continue;case 1:r:for(;;){if(0===uje(iAe(e)))for(;;){var u=QMe(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=oAe(e);n=a;break}break;default:n=0}break}else n=oAe(e);else n=oAe(e);else n=oAe(e);return 0===n?[0,r,[1,0,_Ae(e)]]:nye(kre)}));case 11:return[0,r,[1,0,_Ae(e)]];case 12:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))if(0===Fje(iAe(e)))if(0===uje(iAe(e)))for(;;){cAe(e,0);var t=KMe(iAe(e));if(0!==t){if(1===t)r:for(;;){if(0===uje(iAe(e)))for(;;){cAe(e,0);var n=KMe(iAe(e));if(0!==n){if(1===n)continue r;var u=oAe(e);break}}else u=oAe(e);var a=u;break}else a=oAe(e);break}}else a=oAe(e);else a=oAe(e);else a=oAe(e);return 0===a?[0,r,[0,0,_Ae(e)]]:nye(Ere)}));case 13:return[0,r,[0,0,_Ae(e)]];case 14:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))if(0===Sje(iAe(e)))if(0===kje(iAe(e)))for(;;){var t=Dje(iAe(e));if(2>>0)var n=oAe(e);else switch(t){case 0:continue;case 1:r:for(;;){if(0===kje(iAe(e)))for(;;){var u=Dje(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=oAe(e);n=a;break}break;default:n=0}break}else n=oAe(e);else n=oAe(e);else n=oAe(e);return 0===n?[0,r,[1,1,_Ae(e)]]:nye(dre)}));case 15:return[0,r,[1,1,_Ae(e)]];case 16:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))if(0===Sje(iAe(e)))if(0===kje(iAe(e)))for(;;){cAe(e,0);var t=aje(iAe(e));if(0!==t){if(1===t)r:for(;;){if(0===kje(iAe(e)))for(;;){cAe(e,0);var n=aje(iAe(e));if(0!==n){if(1===n)continue r;var u=oAe(e);break}}else u=oAe(e);var a=u;break}else a=oAe(e);break}}else a=oAe(e);else a=oAe(e);else a=oAe(e);return 0===a?[0,r,[0,3,_Ae(e)]]:nye(mre)}));case 17:return[0,r,[0,3,_Ae(e)]];case 18:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))for(;;){var t=iAe(e);if(t)var n=t[1],u=47>>0)var n=oAe(e);else switch(t){case 0:continue;case 1:r:for(;;){if(0===RMe(iAe(e)))for(;;){var u=ZMe(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=oAe(e);n=a;break}break;default:n=0}break}else n=oAe(e);else n=oAe(e);else n=oAe(e);return 0===n?[0,r,[1,2,_Ae(e)]]:nye(pre)}));case 24:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))if(0===XMe(iAe(e)))if(0===RMe(iAe(e)))for(;;){cAe(e,0);var t=Xje(iAe(e));if(0!==t){if(1===t)r:for(;;){if(0===RMe(iAe(e)))for(;;){cAe(e,0);var n=Xje(iAe(e));if(0!==n){if(1===n)continue r;var u=oAe(e);break}}else u=oAe(e);var a=u;break}else a=oAe(e);break}}else a=oAe(e);else a=oAe(e);else a=oAe(e);return 0===a?[0,r,[0,4,_Ae(e)]]:nye(Dre)}));case 26:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}function n(r){for(;;){var e=vje(iAe(r));if(0!==e)return 1===e?0:oAe(r)}}function u(r){var e=FUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:var u=ije(iAe(r));return 0===u?n(r):1===u?t(r):oAe(r);case 1:return n(r);default:return t(r)}}function a(r){var e=Ije(iAe(r));if(0===e)for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var n=bUe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return 1===e?u(r):oAe(r)}fAe(e);var i=GMe(iAe(e));if(2>>0)var c=oAe(e);else switch(i){case 0:if(0===LMe(iAe(e)))for(;;){var f=bUe(iAe(e));if(2>>0)c=oAe(e);else switch(f){case 0:continue;case 1:c=u(e);break;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){var o=bUe(iAe(e));if(2>>0)var s=oAe(e);else switch(o){case 0:continue;case 1:s=u(e);break;default:continue r}break}else s=oAe(e);c=s;break}}break}else c=oAe(e);break;case 1:var l=YMe(iAe(e));c=0===l?a(e):1===l?u(e):oAe(e);break;default:for(;;){var v=gje(iAe(e));if(2>>0)c=oAe(e);else switch(v){case 0:c=a(e);break;case 1:continue;default:c=u(e)}break}}return 0===c?[0,NUe(r,xUe(r,e),23),[1,2,_Ae(e)]]:nye(vre)}));case 27:return[0,NUe(r,xUe(r,e),23),[1,2,_Ae(e)]];case 28:return zUe(r,e,(function(r,e){function t(r){for(;;){cAe(r,0);var e=rUe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,0);var t=rUe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}}function n(r){for(;;)if(cAe(r,0),0!==LMe(iAe(r)))return oAe(r)}function u(r){var e=FUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:var u=ije(iAe(r));return 0===u?n(r):1===u?t(r):oAe(r);case 1:return n(r);default:return t(r)}}function a(r){var e=Ije(iAe(r));if(0===e)for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var n=bUe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return 1===e?u(r):oAe(r)}fAe(e);var i=GMe(iAe(e));if(2>>0)var c=oAe(e);else switch(i){case 0:if(0===LMe(iAe(e)))for(;;){var f=bUe(iAe(e));if(2>>0)c=oAe(e);else switch(f){case 0:continue;case 1:c=u(e);break;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){var o=bUe(iAe(e));if(2>>0)var s=oAe(e);else switch(o){case 0:continue;case 1:s=u(e);break;default:continue r}break}else s=oAe(e);c=s;break}}break}else c=oAe(e);break;case 1:var l=YMe(iAe(e));c=0===l?a(e):1===l?u(e):oAe(e);break;default:for(;;){var v=gje(iAe(e));if(2>>0)c=oAe(e);else switch(v){case 0:c=a(e);break;case 1:continue;default:c=u(e)}break}}return 0===c?[0,r,[0,4,_Ae(e)]]:nye(lre)}));case 30:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}function n(r){var e=vje(iAe(r));return 0===e?t(r):1===e?0:oAe(r)}fAe(e);var u=GMe(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:a=0===LMe(iAe(e))?t(e):oAe(e);break;case 1:for(;;){var i=Jje(iAe(e));if(0===i)a=n(e);else{if(1===i)continue;a=oAe(e)}break}break;default:for(;;){var c=EUe(iAe(e));if(2>>0)a=oAe(e);else switch(c){case 0:a=n(e);break;case 1:continue;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){var f=EUe(iAe(e));if(2>>0)var o=oAe(e);else switch(f){case 0:o=n(e);break;case 1:continue;default:continue r}break}else o=oAe(e);a=o;break}}break}}return 0===a?[0,NUe(r,xUe(r,e),22),[1,2,_Ae(e)]]:nye(sre)}));case 31:return zUe(r,e,(function(r,e){fAe(e);var t=ije(iAe(e));if(0===t)for(;;){var n=vje(iAe(e));if(0!==n){var u=1===n?0:oAe(e);break}}else if(1===t)for(;;){var a=MMe(iAe(e));if(2>>0)u=oAe(e);else switch(a){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(e)))for(;;){var i=MMe(iAe(e));if(2>>0)var c=oAe(e);else switch(i){case 0:continue;case 1:continue r;default:c=0}break}else c=oAe(e);u=c;break}break;default:u=0}break}else u=oAe(e);return 0===u?[0,r,[1,2,_Ae(e)]]:nye(ore)}));case 32:return[0,NUe(r,xUe(r,e),22),[1,2,_Ae(e)]];case 34:return zUe(r,e,(function(r,e){function t(r){for(;;){cAe(r,0);var e=rUe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,0);var t=rUe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}}function n(r){return cAe(r,0),0===LMe(iAe(r))?t(r):oAe(r)}fAe(e);var u=GMe(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:a=0===LMe(iAe(e))?t(e):oAe(e);break;case 1:for(;;){cAe(e,0);var i=Jje(iAe(e));if(0===i)a=n(e);else{if(1===i)continue;a=oAe(e)}break}break;default:for(;;){cAe(e,0);var c=EUe(iAe(e));if(2>>0)a=oAe(e);else switch(c){case 0:a=n(e);break;case 1:continue;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){cAe(e,0);var f=EUe(iAe(e));if(2>>0)var o=oAe(e);else switch(f){case 0:o=n(e);break;case 1:continue;default:continue r}break}else o=oAe(e);a=o;break}}break}}return 0===a?[0,r,[0,4,_Ae(e)]]:nye(fre)}));case 36:return[0,r,64];case 23:case 33:return[0,r,[1,2,_Ae(e)]];default:return[0,r,[0,4,_Ae(e)]]}})),uXe=Yye([0,Jye]),aXe=function(r,e){return[0,[0],0,e,CMe(r)]},iXe=function(r,e){var t=e+1|0;if(r[1].length-1>>0)var D=oAe(o);else switch(v){case 0:D=1;break;case 1:D=4;break;case 2:D=0;break;case 3:cAe(o,0);D=0===Vje(iAe(o))?0:oAe(o);break;case 4:D=2;break;default:D=3}if(4>>0)var p=nye(ure);else switch(D){case 0:var b=_Ae(o);eCe(f,b),eCe(c,b);var F=KUe(RUe(u,o),2,c,f,o),m=SUe(F,o),d=Qye(c),E=Qye(f);p=[0,F,[8,[0,[0,F[1],i,m],d,E]]];break;case 1:p=[0,u,Ve];break;case 2:p=[0,u,95];break;case 3:p=[0,u,0];break;default:sAe(o);var k=KUe(u,2,c,f,o),h=SUe(k,o),y=Qye(c),C=Qye(f);p=[0,k,[8,[0,[0,k[1],i,h],y,C]]]}var w=p[2],A=p[1];a=IUe([0,A,w,TUe(A,w),0]);break;case 4:a=gx(eXe,u);break;default:a=gx(ZUe,u)}var _=a[1],g=CMe(_);r[4]=_;var B=r[2],S=[0,[0,g,a[2]]];iS(r[1],B)[B+1]=S,r[2]=r[2]+1|0}},cXe=function(r,e,t,n){var u=r?r[1]:r,a=e?e[1]:e;try{var i=wAe(n),c=0}catch(e){if((e=_x(e))!==nAe)throw e;var f=[0,[0,[0,t,Gx[2],Gx[3]],84],0];i=wAe(Kue),c=f}var o=a?a[1]:Wx,s=function(r,e,t){return[0,r,e,j$r,0,t,Jx,U$r]}(t,i,o[8]),l=[0,aXe(s,0)];return[0,[0,c],[0,0],uXe[1],[0,uXe[1]],[0,0],o[9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[0,Zue],[0,s],l,[0,u],o,t,[0,0],[0,Que]]},fXe=function(r){return hye(r[22][1])},oXe=function(r){return r[26][8]},sXe=function(r,e){var t=e[2];r[1][1]=[0,[0,e[1],t],r[1][1]];var n=r[21];return n?Bx(n[1],r,t):n},lXe=function(r,e){var t=e[2][1];if(Ex(t,Hue))return 0;if(Bx(uXe[3],t,r[4][1]))return sXe(r,[0,e[1],[19,t]]);var n=Bx(uXe[4],t,r[4][1]);return r[4][1]=n,0},vXe=function(r,e){return r[29][1]=e,0},DXe=function(r,e){if(r<2){var t=e[24][1];iXe(t,r);var n=iS(t[1],r)[r+1];return n?n[1][2]:nye(eae)}throw[0,jx,Vue]},pXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],r,e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},bXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],r,e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},FXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],r,e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},mXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],r,e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},dXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],r,e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},EXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],r,e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},kXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],r,e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},hXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],r,e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},yXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],r,e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},CXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],r,e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},wXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],r,e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},AXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],[0,r],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},_Xe=function(r){function e(e){return sXe(r,e)}return function(r){return Bye(e,r)}},gXe=function(r){var e=r[5][1];return e?[0,e[1][2]]:e},BXe=function(r){var e=r[5][1];return e?[0,e[1][1]]:e},SXe=function(r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],0,r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]]},xXe=function(r,e,t){return[0,r[1],r[2],uXe[1],r[4],r[5],r[6],r[7],0,0,0,1,r[12],r[13],r[14],r[15],r[16],t,e,r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]]},TXe=function(r){var e=oS(r,Due);if(0<=e)if(0>>0){if(!(ak<(n+1|0)>>>0))return 1}else{var u=6!==n?1:0;if(!u)return u}}return $Xe(r,e)},KXe=function(r){return HXe(0,r)},QXe=function(r,e){var t=UXe(r,e);if(LXe(t))return 1;if(NXe(t))return 1;if(RXe(t))return 1;if(\"number\"==typeof t)switch(t){case 14:case 28:case 60:case 61:case 62:case 63:case 64:case 65:var n=1;break;default:n=0}else n=4===t[0]?1:0;return n?1:0},ZXe=function(r){return QXe(0,r)},rGe=function(r){var e=15===GXe(r)?1:0;if(e)var t=e;else{var n=64===GXe(r)?1:0;if(n){var u=15===UXe(1,r)?1:0;if(u){var a=XXe(1,r)[2][1];t=JXe(r)[3][1]===a?1:0}else t=u}else t=n}return t},eGe=function(r){var e=GXe(r);if(\"number\"==typeof e&&(13===e||40===e?1:0))return 1;return 0},tGe=function(r,e){return sXe(r,[0,JXe(r),e])},nGe=function(r,e){var t=zXe(e);gx(_Xe(e),t);var n=GXe(e);if(NXe(n))var u=2;else if(LXe(n))u=52;else{var a=SMe(0,n);u=r?[12,a,r[1]]:[11,a]}return tGe(e,u)},uGe=function(r){function e(e){return sXe(r,[0,e[1],74])}return function(r){return Bye(e,r)}},aGe=function(r,e){var t=r[6];return t?tGe(r,e):t},iGe=function(r,e){var t=r[6];return t?sXe(r,[0,e[1],e[2]]):t},cGe=function(r,e){return sXe(r,[0,e,[18,r[6]]])},fGe=function(r){var e=r[25][1];if(e){var t=fXe(r),n=GXe(r),u=[0,JXe(r),n,t];gx(e[1],u)}var a=r[24][1];iXe(a,0);var i=iS(a[1],0)[1],c=i?i[1][1]:nye(rae);r[23][1]=c;var f=zXe(r);gx(_Xe(r),f);var o=r[2][1],s=Cye(DXe(0,r)[4],o);r[2][1]=s;var l=[0,DXe(0,r)];r[5][1]=l;var v=r[24][1];iXe(v,0),1>>0?Bx(m,r,gx(t,r)):gx(d,r)}function M(r,e,n){return XGe([0,e],(function(r){var e=gx(k,r);return pGe(r,83),[0,n,e,gx(t,r),0]}),r)}function j(r,e,t,n,u){var a=TGe(r,n),i=M(r,e,gGe(r,gx(x,r))),c=[0,i[1],[12,i[2]]],f=[0,a,[0,c],0,0!==t?1:0,0,1,0,mMe([0,u],0)];return[0,[0,c[1],f]]}function U(r,e,n,u,a,i,c){return 1-oXe(r)&&tGe(r,12),[0,XGe([0,e],(function(r){var e=FGe(r,82);pGe(r,83);var f=gx(t,r);return[0,c,[0,f],e,0!==u?1:0,0!==a?1:0,0,n,mMe([0,i],0)]}),r)]}function X(r,e){var t=GXe(e);if(\"number\"==typeof t&&!(10<=t))switch(t){case 1:if(!r)return 0;break;case 3:if(r)return 0;break;case 8:case 9:return fGe(e)}return nGe(0,e)}function G(r,e){return e?sXe(r,[0,e[1][1],7]):e}function J(r,e){return e?sXe(r,[0,e[1],9]):e}function q(e){var t=WXe(e);if(pGe(e,66),4===GXe(e)){var n=fye(t,WXe(e));pGe(e,4),oGe(e,0);var u=gx(r[9],e);return sGe(e),pGe(e,5),[0,[0,u],mMe([0,n],[0,lGe(e)])]}return[0,0,mMe([0,t],[0,lGe(e)])]}XB(t,(function(r){return gx(u,r)})),XB(n,(function(r){return 1-oXe(r)&&tGe(r,12),XGe(0,(function(r){return pGe(r,83),gx(t,r)}),r)})),XB(u,(function(r){var e=86===GXe(r)?1:0;if(e){var t=WXe(r);fGe(r);var n=t}else n=e;return Sx(a,r,[0,n],gx(i,r))})),XB(a,(function(r,e,t){var n=e?e[1]:e;if(86===GXe(r)){var u=[0,t,0];return XGe([0,t[1]],(function(r){for(var e=u;;){var t=GXe(r);if(\"number\"!=typeof t||86!==t){var a=wye(e);if(a){var c=a[2];if(c){var f=mMe([0,n],0);return[17,[0,[0,a[1],c[1],c[2]],f]]}}throw[0,jx,ade]}pGe(r,86);e=[0,gx(i,r),e]}}),r)}return t})),XB(i,(function(r){var e=88===GXe(r)?1:0;if(e){var t=WXe(r);fGe(r);var n=t}else n=e;return Sx(c,r,[0,n],gx(f,r))})),XB(c,(function(r,e,t){var n=e?e[1]:e;if(88===GXe(r)){var u=[0,t,0];return XGe([0,t[1]],(function(r){for(var e=u;;){var t=GXe(r);if(\"number\"!=typeof t||88!==t){var a=wye(e);if(a){var i=a[2];if(i){var c=mMe([0,n],0);return[18,[0,[0,a[1],i[1],i[2]],c]]}}throw[0,jx,ude]}pGe(r,88);e=[0,gx(f,r),e]}}),r)}return t})),XB(f,(function(r){return Bx(o,r,gx(s,r))})),XB(o,(function(r,e){var t=GXe(r);if(\"number\"==typeof t&&11===t&&!r[15]){var n=Bx(m,r,e);return xx(A,r,n[1],0,[0,n[1],[0,0,[0,n,0],0,0]])}return e})),XB(s,(function(r){var e=GXe(r);return\"number\"==typeof e&&82===e?XGe(0,(function(r){var e=WXe(r);pGe(r,82);var t=mMe([0,e],0);return[11,[0,gx(s,r),t]]}),r):gx(l,r)})),XB(l,(function(r){return Bx(v,r,gx(D,r))})),XB(v,(function(r,e){if(!YXe(r)&&FGe(r,6)){return Bx(v,r,XGe([0,e[1]],(function(r){return pGe(r,7),[15,[0,e,mMe(0,[0,lGe(r)])]]}),r))}return e})),XB(D,(function(r){var e=JXe(r),t=GXe(r);if(\"number\"==typeof t)switch(t){case 4:return gx(C,r);case 6:return gx(F,r);case 46:return XGe(0,(function(r){var e=WXe(r);pGe(r,46);var t=mMe([0,e],0);return[19,[0,gx(D,r),0,t]]}),r);case 53:return XGe(0,(function(r){var e=WXe(r);pGe(r,53);var t=gx(g,r),n=mMe([0,e],0);return[14,[0,t[2],t[1],n]]}),r);case 95:return gx(w,r);case 103:var n=WXe(r);return pGe(r,$l),[0,e,[10,mMe([0,n],[0,lGe(r)])]];case 42:var u=1;break;case 0:case 2:var a=xx(_,0,1,1,r);return[0,a[1],[13,a[2]]];case 30:case 31:var i=WXe(r);return pGe(r,t),[0,e,[24,[0,31===t?1:0,mMe([0,i],[0,lGe(r)])]]];default:u=0}else switch(t[0]){case 2:var c=t[1],f=c[4],o=c[3],s=c[2],l=c[1];f&&aGe(r,43);var v=WXe(r);return pGe(r,[2,[0,l,s,o,f]]),[0,l,[21,[0,s,o,mMe([0,v],[0,lGe(r)])]]];case 10:var p=t[3],m=t[2],d=t[1],E=WXe(r);pGe(r,[10,d,m,p]);var k=lGe(r);return 1===d&&aGe(r,43),[0,e,[22,[0,m,p,mMe([0,E],[0,k])]]];case 11:var h=t[3],y=t[2],A=WXe(r);return pGe(r,[11,t[1],y,h]),[0,e,[23,[0,y,h,mMe([0,A],[0,lGe(r)])]]];case 4:u=1;break;default:u=0}if(u){var B=gx(I,r);return[0,B[1],[16,B[2]]]}var S=gx(b,r);return S?[0,e,S[1]]:(nGe(0,r),[0,e,nde])})),XB(p,(function(r){if(\"number\"==typeof r)switch(r){case 29:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:var e=1;break;default:e=0}else e=9===r[0]?1:0;return e?1:0})),XB(b,(function(r){var e=WXe(r),t=GXe(r);if(\"number\"==typeof t)switch(t){case 29:return fGe(r),[0,[4,mMe([0,e],[0,lGe(r)])]];case 111:return fGe(r),[0,[0,mMe([0,e],[0,lGe(r)])]];case 112:return fGe(r),[0,[1,mMe([0,e],[0,lGe(r)])]];case 113:return fGe(r),[0,[2,mMe([0,e],[0,lGe(r)])]];case 114:return fGe(r),[0,[5,mMe([0,e],[0,lGe(r)])]];case 115:return fGe(r),[0,[6,mMe([0,e],[0,lGe(r)])]];case 116:return fGe(r),[0,[7,mMe([0,e],[0,lGe(r)])]];case 117:return fGe(r),[0,[3,mMe([0,e],[0,lGe(r)])]];case 118:return fGe(r),[0,[9,mMe([0,e],[0,lGe(r)])]]}else if(9===t[0])return fGe(r),[0,[8,mMe([0,e],[0,lGe(r)])]];return 0})),XB(F,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,6);for(var n=yXe(0,r),u=0;;){var a=GXe(n);if(\"number\"==typeof a)if(7===a||Ve===a?1:0){var i=wye(u);return pGe(r,7),[20,[0,i,mMe([0,e],[0,lGe(r)])]]}var c=[0,gx(t,n),u];7!==GXe(n)&&pGe(n,9);u=c}}),r)})),XB(m,(function(r,e){return[0,e[1],[0,0,e,0]]})),XB(d,(function(e){return XGe(0,(function(e){oGe(e,0);var n=Bx(r[13],0,e);sGe(e),1-oXe(e)&&tGe(e,12);var u=FGe(e,82);return pGe(e,83),[0,[0,n],gx(t,e),u]}),e)})),XB(E,(function(r){return function(e){for(var t=0,u=e;;){var a=GXe(r);if(\"number\"==typeof a)switch(a){case 5:case 12:case 110:var i=12===a?1:0,c=i?[0,XGe(0,(function(r){var e=WXe(r);pGe(r,12);var t=mMe([0,e],0);return[0,R(r),t]}),r)]:i;return[0,t,wye(u),c,0]}else if(4===a[0]&&!hx(a[3],tde)){if(!(83===UXe(1,r)||82===UXe(1,r)?0:1)){((0!==t?1:0)||(0!==u?1:0))&&tGe(r,sE);var f=XGe(0,(function(r){var e=WXe(r);fGe(r),82===GXe(r)&&tGe(r,tg);var t=mMe([0,e],0);return[0,gx(n,r),t]}),r);5!==GXe(r)&&pGe(r,9);t=[0,f];continue}}var o=[0,R(r),u];5!==GXe(r)&&pGe(r,9);u=o}}})),XB(k,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,4);var t=Bx(E,r,0),n=WXe(r);pGe(r,5);var u=dMe([0,e],[0,lGe(r)],n);return[0,t[1],t[2],t[3],u]}),r)})),XB(h,(function(r){var e=WXe(r);pGe(r,4);var n=yXe(0,r),u=GXe(n);if(\"number\"==typeof u)switch(u){case 5:var a=ede,i=2;break;case 42:i=1;break;case 12:case 110:a=[0,Bx(E,n,0)],i=2;break;default:i=0}else i=4===u[0]?1:0;switch(i){case 0:if(gx(p,u)){var c=UXe(1,n);if(\"number\"==typeof c)if(1<(c+Yf|0)>>>0)var f=0;else{var o=[0,Bx(E,n,0)];f=1}else f=0;if(!f)o=[1,gx(t,n)];a=o}else a=[1,gx(t,n)];break;case 1:a=gx(y,n)}if(0===a[0])var s=a;else{var l=a[1];if(r[15])var v=a;else{var D=GXe(r);if(\"number\"==typeof D)if(5===D)if(11===UXe(1,r))var b=[0,Bx(E,r,[0,Bx(m,r,l),0])],F=1;else b=[1,l],F=1;else if(9===D){pGe(r,9);b=[0,Bx(E,r,[0,Bx(m,r,l),0])],F=1}else F=0;else F=0;if(!F)b=a;v=b}s=v}var d=WXe(r);pGe(r,5);var k=lGe(r);if(0===s[0]){var h=s[1],C=dMe([0,e],[0,k],d);return[0,[0,h[1],h[2],h[3],C]]}return[1,Sx(P,s[1],e,k)]})),XB(y,(function(r){var e=UXe(1,r);if(\"number\"==typeof e&&!(1<(e+Yf|0)>>>0))return[0,Bx(E,r,0)];var t=Bx(o,r,Bx(v,r,Bx(O,r,gx(B,r)))),n=Bx(gx(c,r),0,t);return[1,Bx(gx(a,r),0,n)]})),XB(C,(function(r){var e=JXe(r),t=XGe(0,h,r),n=t[2];return 0===n[0]?xx(A,r,e,0,[0,t[1],n[1]]):n[1]})),XB(w,(function(r){var e=JXe(r),t=gGe(r,gx(x,r));return xx(A,r,e,t,gx(k,r))})),XB(A,(function(r,e,n,u){return XGe([0,e],(function(r){return pGe(r,11),[12,[0,n,u,gx(t,r),0]]}),r)})),XB(_,(function(n,u,a,i){var c=u?2===GXe(i)?1:0:u,f=u?1-c:u;return XGe(0,(function(u){var i=WXe(u);pGe(u,c?2:c);var o=yXe(0,u),s=Qme;r:for(;;){var l=s[3],v=s[2],D=s[1];if(n&&a)throw[0,jx,Xme];if(f&&!a)throw[0,jx,Gme];var p=JXe(o),b=GXe(o);if(\"number\"==typeof b){if(13<=b)if(Ve===b)var F=[0,wye(D),v,l],m=1;else m=0;else if(0===b)m=0;else switch(b-1|0){case 0:if(c)m=0;else F=[0,wye(D),v,l],m=1;break;case 2:if(c)F=[0,wye(D),v,l],m=1;else m=0;break;case 11:if(!a){fGe(o);var d=GXe(o);if(\"number\"==typeof d&&!(10<=d))switch(d){case 1:case 3:case 8:case 9:sXe(o,[0,p,20]),X(c,o);continue}var E=zXe(o);gx(_Xe(o),E),sXe(o,[0,p,17]),fGe(o),X(c,o);continue}var k=WXe(o);fGe(o);var h=GXe(o);if(\"number\"==typeof h)if(10<=h)var y=1;else switch(h){case 1:case 3:case 8:case 9:X(c,o);var C=GXe(o);if(\"number\"==typeof C){var w=C-1|0;if(2>>0)var A=1;else switch(w){case 0:if(f)F=[0,wye(D),1,k],m=1,y=0,A=0;else A=1;break;case 1:A=1;break;default:sXe(o,[0,p,19]);F=[0,wye(D),v,l],m=1,y=0,A=0}}else A=1;if(A){sXe(o,[0,p,18]);continue}break;default:y=1}else y=1;if(y){var _=[1,XGe([0,p],function(r){return function(e){var n=mMe([0,r],0);return[0,gx(t,e),n]}}(k),o)];X(c,o);s=[0,[0,_,D],v,l];continue}break;default:m=0}if(m){var g=WXe(u),B=fye(F[3],g);pGe(u,c?3:1);var S=dMe([0,i],[0,lGe(u)],B);return[0,c,F[2],F[1],S]}}for(var T=n,I=n,N=0,O=0,L=0,P=0;;){var R=GXe(o);if(\"number\"==typeof R)switch(R){case 6:J(o,L);var q=UXe(1,o);if(\"number\"==typeof q)if(6===q){G(o,N);var z=[4,XGe([0,p],function(r,e,n){return function(u){var a=fye(e,WXe(u));pGe(u,6),pGe(u,6);var i=jGe(u);pGe(u,7),pGe(u,7);var c=GXe(u);if(\"number\"==typeof c){if(4===c)var f=1;else if(95===c)f=1;else{var o=0;f=0}if(f){var s=M(u,r,gGe(u,gx(x,u))),l=0,v=1,D=[0,s[1],[12,s[2]]],p=0;o=1}}else o=0;if(!o){var b=FGe(u,82),F=lGe(u);pGe(u,83);l=b,v=0,D=gx(t,u),p=F}return[0,i,D,l,0!==n?1:0,v,mMe([0,a],[0,p])]}}(p,P,O),o)],W=1,V=0}else V=1;else V=1;if(V)z=[2,XGe([0,p],function(r,e,n){return function(u){var a=fye(r,WXe(u));pGe(u,6);var i=83===UXe(1,u)?1:0;if(i){var c=jGe(u);pGe(u,83);var f=[0,c]}else f=i;var o=gx(t,u);pGe(u,7);var s=lGe(u);return pGe(u,83),[0,f,o,gx(t,u),0!==e?1:0,n,mMe([0,a],[0,s])]}}(P,O,N),o)],W=1;break;case 42:if(T){if(0===N){var $=[0,JXe(o)],Y=fye(P,WXe(o));fGe(o);T=0,I=0,O=$,P=Y;continue}throw[0,jx,Jme]}W=0;break;case 100:case 101:if(0===N){T=0,I=0,N=e(o);continue}W=0;break;case 4:case 95:J(o,L),G(o,N);z=[3,XGe([0,p],function(r,e){return function(t){return[0,M(t,JXe(t),gGe(t,gx(x,t))),0!==e?1:0,mMe([0,r],0)]}}(P,O),o)],W=1;break;default:W=0}else if(4===R[0])if(hx(R[3],qme))W=0;else{if(I){if(0===N){var H=[0,JXe(o)],K=fye(P,WXe(o));fGe(o);T=0,I=0,L=H,P=K;continue}throw[0,jx,zme]}W=0}else W=0;if(!W){if(O)if(L){z=nye(Wme);var Q=1}else if(\"number\"==typeof R)if(1<(R+Yf|0)>>>0)Q=0;else{var Z=[0,O[1],Vme];z=U(o,p,N,0,L,0,[1,bMe(mMe([0,P],0),Z)]),Q=1}else Q=0;else if(L)if(\"number\"==typeof R)if(1<(R+Yf|0)>>>0)Q=0;else{var rr=[0,L[1],$me];z=U(o,p,N,O,0,0,[1,bMe(mMe([0,P],0),rr)]),Q=1}else Q=0;else Q=0;if(!Q){var er=function(e){oGe(e,0);var t=Bx(r[20],0,e);return sGe(e),t},tr=WXe(o),nr=er(o)[2];if(1===nr[0]){var ur=nr[1][2][1];if(hx(ur,Yme))if(hx(ur,Hme))var ar=0,ir=0;else ir=1;else ir=1;if(ir){var cr=GXe(o);if(\"number\"==typeof cr){var fr=cr-5|0;if(89>>0)if(91<(fr+1|0)>>>0)var or=1;else{J(o,L),G(o,N);z=j(o,p,O,nr,P),ar=1,or=0}else if(1<(fr-77|0)>>>0)or=1;else z=U(o,p,N,O,L,P,nr),ar=1,or=0}else or=1;if(or){TGe(o,nr);var sr=er(o),lr=Ex(ur,Kme),vr=fye(P,tr);J(o,L),G(o,N);z=[0,XGe([0,p],function(r,e,t,n,u){return function(a){var i=t[1],c=TGe(a,t[2]),f=M(a,r,0),o=f[2][2];if(0===n){var s=o[2];if(s[1])sXe(a,[0,i,Uu]);else{var l=s[2];if(s[3])sXe(a,[0,i,79]);else{if(l)if(l[2])var v=1;else v=0;else v=1;v&&sXe(a,[0,i,79])}}}else{var D=o[2];if(D[1])sXe(a,[0,i,Ma]);else(D[2]||D[3]?0:1)||sXe(a,[0,i,78])}var p=mMe([0,u],0);return[0,c,n?[1,f]:[2,f],0,0!==e?1:0,0,0,0,p]}}(p,O,sr,lr,vr),o)],ar=1}}}else ar=0;if(!ar){var Dr=GXe(o);if(\"number\"==typeof Dr){if(4===Dr)var pr=1;else if(95===Dr)pr=1;else{var br=0;pr=0}if(pr){J(o,L),G(o,N);z=j(o,p,O,nr,P),br=1}}else br=0;if(!br){var Fr=0!==O?1:0;if(1===nr[0]){var mr=nr[1],dr=mr[2][1];if(n){if(Ex(Zme,dr))var Er=1;else if(Fr)if(Ex(rde,dr))Er=1;else Er=0;else Er=0;Er&&sXe(o,[0,mr[1],[21,dr,Fr,0]])}}z=U(o,p,N,O,L,P,nr)}}}}X(c,o);s=[0,[0,z,D],v,l];continue r}}}),i)})),XB(g,(function(r){var e=41===GXe(r)?1:0;if(e){pGe(r,41);for(var t=0;;){var n=[0,gx(I,r),t],u=GXe(r);if(\"number\"!=typeof u||9!==u){var a=IGe(r,wye(n));break}pGe(r,9);t=n}}else a=e;return[0,a,xx(_,0,0,0,r)]})),XB(B,(function(r){var e=jGe(r),t=e[2],n=t[1],u=e[1];return jXe(n)&&sXe(r,[0,u,3]),[0,u,[0,n,t[2]]]})),XB(S,(function(r){return XGe(0,(function(r){return[0,gx(B,r),83===GXe(r)?[1,gx(n,r)]:[0,qXe(r)]]}),r)})),XB(x,(function(r){var n=95===GXe(r)?1:0;if(n){1-oXe(r)&&tGe(r,12);var u=[0,XGe(0,(function(r){var n=WXe(r);pGe(r,95);for(var u=0,a=0;;){var i=XGe(0,function(r){return function(n){var u=e(n),a=gx(S,n),i=a[2],c=GXe(n);if(\"number\"==typeof c)if(79===c){fGe(n);var f=[0,gx(t,n)],o=1,s=1}else s=0;else s=0;if(!s){r&&sXe(n,[0,a[1],75]);f=0,o=r}return[0,u,i[1],i[2],f,o]}}(u),r),c=i[2],f=[0,[0,i[1],[0,c[2],c[3],c[1],c[4]]],a],o=GXe(r);if(\"number\"==typeof o){if(96===o)var s=1;else if(Ve===o)s=1;else{var l=0;s=0}if(s){var v=wye(f);l=1}}else l=0;if(!l){if(pGe(r,9),96!==GXe(r)){u=c[5],a=f;continue}v=wye(f)}var D=WXe(r);return pGe(r,96),[0,v,dMe([0,n],[0,lGe(r)],D)]}}),r)]}else u=n;return u})),XB(T,(function(r){var e=95===GXe(r)?1:0;return e?[0,XGe(0,(function(r){var e=WXe(r);pGe(r,95);for(var n=yXe(0,r),u=0;;){var a=GXe(n);if(\"number\"==typeof a)if(96===a||Ve===a?1:0){var i=wye(u),c=WXe(n);return pGe(n,96),[0,i,dMe([0,e],[0,lGe(n)],c)]}var f=[0,gx(t,n),u];96!==GXe(n)&&pGe(n,9);u=f}}),r)]:e})),XB(I,(function(r){return Bx(N,r,gx(B,r))})),XB(N,(function(r,e){return XGe([0,e[1]],(function(r){for(var t=[0,e[1],[0,e]];;){var n=t[2],u=t[1];if(10!==GXe(r)){if(95===GXe(r))var a=Bx(AGe(r)[2],n,(function(r,e){return Bx(wS(r,-860373976,75),r,e)}));else a=n;return[0,a,gx(T,r),0]}var i=XGe([0,u],function(r){return function(e){return pGe(e,10),[0,r,gx(B,e)]}}(n),r),c=i[1];t=[0,c,[1,[0,c,i[2]]]]}}),r)})),XB(O,(function(r,e){var t=Bx(N,r,e);return[0,t[1],[16,t[2]]]})),XB(L,(function(r){var e=GXe(r);return\"number\"==typeof e&&83===e?[1,gx(n,r)]:[0,qXe(r)]})),XB(P,(function(r,e,t){var n=r[2];function u(r){return EMe(r,mMe([0,e],[0,t]))}switch(n[0]){case 0:var a=[0,u(n[1])];break;case 1:a=[1,u(n[1])];break;case 2:a=[2,u(n[1])];break;case 3:a=[3,u(n[1])];break;case 4:a=[4,u(n[1])];break;case 5:a=[5,u(n[1])];break;case 6:a=[6,u(n[1])];break;case 7:a=[7,u(n[1])];break;case 8:a=[8,u(n[1])];break;case 9:a=[9,u(n[1])];break;case 10:a=[10,u(n[1])];break;case 11:var i=n[1],c=u(i[2]);a=[11,[0,i[1],c]];break;case 12:var f=n[1],o=u(f[4]);a=[12,[0,f[1],f[2],f[3],o]];break;case 13:var s=n[1],l=s[4],v=kMe(l,mMe([0,e],[0,t]));a=[13,[0,s[1],s[2],s[3],v]];break;case 14:var D=n[1],p=u(D[3]);a=[14,[0,D[1],D[2],p]];break;case 15:var b=n[1],F=u(b[2]);a=[15,[0,b[1],F]];break;case 16:var m=n[1],d=u(m[3]);a=[16,[0,m[1],m[2],d]];break;case 17:var E=n[1],k=u(E[2]);a=[17,[0,E[1],k]];break;case 18:var h=n[1],y=u(h[2]);a=[18,[0,h[1],y]];break;case 19:var C=n[1],w=u(C[3]);a=[19,[0,C[1],C[2],w]];break;case 20:var A=n[1],_=u(A[2]);a=[20,[0,A[1],_]];break;case 21:var g=n[1],B=u(g[3]);a=[21,[0,g[1],g[2],B]];break;case 22:var S=n[1],x=u(S[3]);a=[22,[0,S[1],S[2],x]];break;case 23:var T=n[1],I=u(T[3]);a=[23,[0,T[1],T[2],I]];break;default:var N=n[1],O=u(N[2]);a=[24,[0,N[1],O]]}return[0,r[1],a]}));function z(r){var e=yXe(0,r),t=GXe(e);return\"number\"==typeof t&&66===t?[0,XGe(0,q,e)]:0}function W(r){var e=GXe(r),t=UXe(1,r);if(\"number\"==typeof e&&83===e){if(\"number\"==typeof t&&66===t){pGe(r,83);var n=z(r);return[0,[0,qXe(r)],n]}var u=gx(L,r);return[0,66===GXe(r)?BGe(r,u):u,z(r)]}return[0,[0,qXe(r)],0]}function V(r,e){var t=pXe(1,e);oGe(t,1);var n=gx(r,t);return sGe(t),n}return[0,function(r){return V(t,r)},function(r){return V(B,r)},function(r){return V(x,r)},function(r){return V(T,r)},function(r){return V(I,r)},function(r,e){return V(Sx(_,r,0,0),e)},function(r){return V(g,r)},function(r){return V(k,r)},function(r){return V(n,r)},function(r){return V(L,r)},function(r){return V(z,r)},function(r){return V(W,r)}]}($Ge),HGe=function(r){var e=[0,Ume,GGe[1],0];function t(r){var e=GXe(r);if(\"number\"==typeof e&&(8<=e?10<=e?0:1:1===e?1:0))return 1;return 0}function n(r){var e=JXe(r),n=WXe(r),u=GXe(r);if(\"number\"==typeof u)switch(u){case 30:case 31:fGe(r);var a=lGe(r);return t(r)?[1,e,[0,31===u?1:0,mMe([0,n],[0,a])]]:[0,e]}else switch(u[0]){case 0:var i=u[2],c=Sx($Ge[24],r,u[1],i),f=lGe(r);return t(r)?[2,e,[0,c,i,mMe([0,n],[0,f])]]:[0,e];case 2:var o=u[1],s=o[1];o[4]&&aGe(r,43),fGe(r);var l=lGe(r);if(t(r)){var v=mMe([0,n],[0,l]);return[3,s,[0,o[2],o[3],v]]}return[0,s]}return fGe(r),[0,e]}function u(r){var e=jGe(r),t=GXe(r);if(\"number\"==typeof t)if(79===t){pGe(r,79);var u=n(r),a=1}else if(83===t){tGe(r,[5,e[2][1]]),pGe(r,83);u=n(r),a=1}else a=0;else a=0;if(!a)u=0;return[0,e,u]}function a(r,e,t,n,u,a,i){var c=kye(u),f=kye(a);function o(r){return[2,[0,[0,a],t,n,i]]}function s(r){return[2,[0,[1,u],t,n,i]]}return 0===c?o():0===f?s():c>>0){if(!(ak<(b+1|0)>>>0)){var F=D[3],m=wye(D[1][4]),d=wye(D[1][3]),E=wye(D[1][2]),k=wye(D[1][1]);pGe(r,1);var h=GXe(r);if(\"number\"==typeof h){if(1===h)var y=1;else if(Ve===h)y=1;else{var C=0;y=0}if(y){var w=lGe(r);C=1}}else C=0;if(!C){var A=YXe(r);w=A?vGe(r):A}var _=mMe([0,v],[0,w]);if(s)switch(s[1]){case 0:return[0,[0,k,1,F,_]];case 1:return[1,[0,E,1,F,_]];case 2:return a(r,i,1,F,d,m,_);default:return[3,[0,m,F,_]]}var B=kye(k),S=kye(E),x=kye(d),T=kye(m),I=function(r){return[2,[0,Ome,0,F,_]]};return 0===B&&0===S?0===x&&0===T?I():a(r,i,0,F,d,m,_):0===S&&0===x&&T<=B?(Bye((function(e){return sXe(r,[0,e[1],[1,i,e[2][1][2][1]]])}),m),[0,[0,k,0,F,_]]):0===B&&0===x&&T<=S?(Bye((function(e){return sXe(r,[0,e[1],[9,i,e[2][1][2][1]]])}),m),[1,[0,E,0,F,_]]):(sXe(r,[0,c,[3,i]]),I())}}else if(10===b){var N=JXe(r);fGe(r);var O=GXe(r);if(\"number\"==typeof O){var L=O-2|0;if(Uu>>0)if(109<(L+1|0)>>>0)var P=0,R=0;else R=1;else if(7===L){pGe(r,9);var M=GXe(r);if(\"number\"==typeof M){if(1===M)var j=1;else if(Ve===M)j=1;else{var U=0;j=0}if(j){var X=1;U=1}}else U=0;if(!U)X=0;sXe(r,[0,N,[8,X]]);R=1}else P=0,R=0;if(R)P=1}else P=0;P||sXe(r,[0,N,Nme]);D=[0,D[1],D[2],1];continue}}var G=D[2],J=D[1],q=XGe(0,u,r),z=q[2],W=z[1],V=W[2][1];if(Ex(V,jme))var $=D;else{var Y=W[1],H=z[2],K=q[1],Q=kx(V,0),Z=97<=Q?1:0;(Z?Q<=g?1:0:Z)&&sXe(r,[0,Y,[7,i,V]]),Bx(GGe[3],V,G)&&sXe(r,[0,Y,[2,i,V]]);var rr=D[3],er=Bx(GGe[4],V,G),tr=[0,D[1],er,rr],nr=function(e){return function(t,n){return s&&s[1]!==t?sXe(r,[0,n,[6,i,s,e]]):0}}(V);if(\"number\"==typeof H){if(s){var ur=s[1];if(1===ur){sXe(r,[0,K,[9,i,V]]);$=tr;var ar=1}else if(0===ur){sXe(r,[0,K,[1,i,V]]);$=tr,ar=1}else ar=0}else ar=0;if(!ar)$=[0,[0,J[1],J[2],J[3],[0,[0,K,[0,W]],J[4]]],er,rr]}else switch(H[0]){case 0:sXe(r,[0,H[1],[6,i,s,V]]);$=tr;break;case 1:var ir=H[1];nr(0,ir);$=[0,[0,[0,[0,K,[0,W,[0,ir,H[2]]]],J[1]],J[2],J[3],J[4]],er,rr];break;case 2:var cr=H[1];nr(1,cr);$=[0,[0,J[1],[0,[0,K,[0,W,[0,cr,H[2]]]],J[2]],J[3],J[4]],er,rr];break;default:var fr=H[1];nr(2,fr);$=[0,[0,J[1],J[2],[0,[0,K,[0,W,[0,fr,H[2]]]],J[3]],J[4]],er,rr]}}var or=GXe(r);if(\"number\"==typeof or){var sr=or-2|0;if(Uu>>0)if(109<(sr+1|0)>>>0)var lr=0,vr=0;else vr=1;else if(6===sr){tGe(r,1),pGe(r,8);vr=1}else lr=0,vr=0;if(vr)lr=1}else lr=0;lr||pGe(r,9);D=$}}),r),mMe([0,t],0)]]}function c(r,e){var t=e[2];switch(t[0]){case 0:return Sye(f,r,t[1][1]);case 1:return Sye(o,r,t[1][1]);case 2:var n=t[1][1],u=n[2][1],a=r[2],i=r[1];Bx(JGe[3],u,a)&&sXe(i,[0,n[1],41]);var c=s([0,i,a],n),l=Bx(JGe[4],u,c[2]);return[0,c[1],l];default:return sXe(r[1],[0,e[1],30]),r}}function f(r,e){if(0===e[0]){var t=e[1][2],n=t[1];return c(1===n[0]?s(r,n[1]):r,t[2])}return c(r,e[1][2][1])}function o(r,e){return 2===e[0]?r:c(r,e[1][2][1])}function s(r,e){var t=e[2][1],n=e[1],u=r[1];return PXe(t)&&iGe(u,[0,n,40]),(IXe(t)||OXe(t))&&iGe(u,[0,n,52]),[0,u,r[2]]}function l(r,e,t,n,u){var a=e||1-t;if(a){var i=u[2],f=i[3],o=e?pXe(1-r[6],r):r;if(n){var s=n[1],l=s[2][1],v=s[1];PXe(l)&&iGe(o,[0,v,42]),(IXe(l)||OXe(l))&&iGe(o,[0,v,52])}var D=i[2],p=Sye((function(r,e){return c(r,e[2][1])}),[0,o,JGe[1]],D),b=f?(c(p,f[1][2][1]),0):f}else b=a;return b}var v=function r(e,t){return r.fun(e,t)};function D(r){21===GXe(r)&&tGe(r,sE);var e=Bx($Ge[18],r,40),t=79===GXe(r)?1:0;return[0,e,t?(pGe(r,79),[0,gx($Ge[10],r)]):t]}function p(e,t){function n(n){var u=bXe(t,FXe(e,n)),a=[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],1,u[11],u[12],u[13],u[14],u[15],u[16],u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29]],i=WXe(a);pGe(a,4);var c=oXe(a),f=c?21===GXe(a)?1:0:c;if(f){var o=WXe(a),s=XGe(0,(function(e){return pGe(e,21),83===GXe(e)?[0,gx(r[9],e)]:(tGe(e,$l),0)}),a),l=s[2];if(l){9===GXe(a)&&fGe(a);var D=mMe([0,o],0),p=[0,[0,s[1],[0,l[1],D]]]}else p=l;var b=p}else b=f;var F=Bx(v,a,0),m=WXe(a);pGe(a,5);var d=dMe([0,i],[0,lGe(a)],m);return[0,b,F[1],F[2],d]}return function(r){return XGe(0,n,r)}}function b(r,e,t,n){var u=xXe(r,e,t),a=Bx($Ge[16],n,u);return[0,[0,[0,a[1],a[2]]],a[3]]}function F(r){if($l===GXe(r)){var e=WXe(r);return fGe(r),[0,1,e]}return ode}function m(r){if(64===GXe(r)&&!$Xe(1,r)){var e=WXe(r);return fGe(r),[0,1,e]}return fde}function d(r){var e=r[2],t=0===e[3]?1:0;if(t)for(var n=e[2];;){if(n){var u=n[1][2],a=n[2];if(2===u[1][2][0])if(u[2])var i=0;else{var c=1;i=1}else i=0;if(!i)c=0;if(c){n=a;continue}return c}return 1}return t}function E(e){var t=m(e),n=t[1],u=t[2],a=XGe(0,(function(e){var t=WXe(e);pGe(e,15);var a=F(e),i=a[1],c=Aye([0,u,[0,t,[0,a[2],0]]]),f=e[7],o=GXe(e);if(0===f)var s=0;else if(\"number\"==typeof o)if(4===o){var l=0,v=0;s=1}else if(95===o)l=gGe(e,gx(r[3],e)),v=4===GXe(e)?0:[0,_Ge(e,Bx($Ge[13],ide,e))],s=1;else s=0;else s=0;if(!s){var D=_Ge(e,Bx($Ge[13],cde,e));l=gGe(e,gx(r[3],e)),v=[0,D]}var b=gx(p(n,i),e),m=83===GXe(e)?b:SGe(e,b),d=gx(r[12],e),E=d[2],k=d[1];if(E)var h=k,y=xGe(e,E);else h=BGe(e,k),y=E;return[0,i,l,v,m,h,y,c]}),e),i=a[2],c=i[4],f=i[3],o=i[1],s=b(e,n,o,0),v=d(c);l(e,s[2],v,f,c);var D=a[1],E=mMe([0,i[7]],0);return[23,[0,f,c,s[1],n,o,i[6],i[5],i[2],E,D]]}XB(v,(function(r,e){var t=GXe(r);if(\"number\"==typeof t){var n=t-5|0;if(7>>0?tg===n?1:0:5<(n-1|0)>>>0?1:0){var u=12===t?1:0;if(u)var a=WXe(r),i=XGe(0,(function(r){return pGe(r,12),Bx($Ge[18],r,40)}),r),c=mMe([0,a],0),f=[0,[0,i[1],[0,i[2],c]]];else f=u;return 5!==GXe(r)&&tGe(r,61),[0,wye(e),f]}}var o=XGe(0,D,r);return 5!==GXe(r)&&pGe(r,9),Bx(v,r,[0,o,e])}));function k(r,e){var t=WXe(e);pGe(e,r);for(var n=0,u=0;;){var a=XGe(0,(function(r){var e=Bx($Ge[18],r,39);if(FGe(r,79))var t=[0,gx($Ge[10],r)],n=0;else if(2===e[2][0])t=Yx[1],n=Yx[2];else t=0,n=[0,[0,e[1],56]];return[0,[0,e,t],n]}),e),i=a[2],c=i[2],f=[0,[0,a[1],i[1]],n],o=c?[0,c[1],u]:u;if(!FGe(e,9)){var s=wye(o);return[0,wye(f),t,s]}n=f,u=o}}return[0,m,F,function(r,e,t){var n=JXe(r),u=GXe(r);if(\"number\"==typeof u)if(Fu===u){var a=WXe(r);fGe(r);var i=[0,[0,n,[0,0,mMe([0,a],0)]]],c=1}else if(CE===u){var f=WXe(r);fGe(r);i=[0,[0,n,[0,1,mMe([0,f],0)]]],c=1}else c=0;else c=0;if(!c)i=0;return i&&!(e||t?0:1)?(sXe(r,[0,i[1][1],7]),0):i},p,b,d,l,function(r){return k(28,EXe(1,r))},function(r){var e=k(27,EXe(1,r)),t=e[1],n=wye(Sye((function(r,e){return e[2][2]?r:[0,[0,e[1],55],r]}),e[3],t));return[0,t,e[2],n]},function(r){return k(24,r)},function(r){return XGe(0,E,r)},function(r){return XGe(0,i,r)}]}(YGe),KGe=function(r){return[0,function(r,e){return 0===e[0]||Bye((function(e){return sXe(r,e)}),e[2][1]),e[1]},function(e,t,n){var u=e?e[1]:26;if(0===n[0])var a=n[1];else{Bye((function(r){return sXe(t,r)}),n[2][2]);a=n[1]}1-gx(r[23],a)&&sXe(t,[0,a[1],u]);var i=a[2];return 10===i[0]&&PXe(i[1][2][1])&&iGe(t,[0,a[1],49]),Bx(r[19],t,a)},sde,function(r,e){var t=Cye(r[2],e[2]);return[0,Cye(r[1],e[1]),t]},function(r){var e=wye(r[2]);return[0,wye(r[1]),e]}]}($Ge),QGe=function(r){var e=r[1],t=function r(e){return r.fun(e)},n=function r(e){return r.fun(e)},u=function r(e){return r.fun(e)},a=function r(e){return r.fun(e)},i=function r(e){return r.fun(e)},c=function r(e){return r.fun(e)},f=function r(e){return r.fun(e)},o=function r(e){return r.fun(e)},s=function r(e){return r.fun(e)},l=function r(e){return r.fun(e)},v=function r(e){return r.fun(e)},D=function r(e){return r.fun(e)},p=function r(e){return r.fun(e)},b=function r(e){return r.fun(e)},F=function r(e){return r.fun(e)},m=function r(e){return r.fun(e)},d=function r(e){return r.fun(e)},E=function r(e,t,n,u,a){return r.fun(e,t,n,u,a)},k=function r(e,t,n,u){return r.fun(e,t,n,u)},h=function r(e){return r.fun(e)},y=function r(e){return r.fun(e)},C=function r(e){return r.fun(e)},w=function r(e,t,n,u,a){return r.fun(e,t,n,u,a)},A=function r(e,t,n,u){return r.fun(e,t,n,u)},_=function r(e){return r.fun(e)},g=function r(e,t,n){return r.fun(e,t,n)},B=function r(e){return r.fun(e)},S=function r(e,t,n){return r.fun(e,t,n)},x=function r(e){return r.fun(e)},T=function r(e){return r.fun(e)},I=function r(e,t){return r.fun(e,t)},N=function r(e,t,n,u){return r.fun(e,t,n,u)},O=function r(e){return r.fun(e)},L=function r(e,t,n){return r.fun(e,t,n)},P=function r(e){return r.fun(e)},R=function r(e){return r.fun(e)},M=function r(e){return r.fun(e)},j=function r(e,t,n){return r.fun(e,t,n)},U=function r(e){return r.fun(e)},X=r[2];function G(r){var e=JXe(r),t=gx(c,r),u=gx(i,r);if(u){var a=u[1];return[0,XGe([0,e],(function(r){var e=Sx(X,0,r,t);return[2,[0,a,e,gx(n,r),0]]}),r)]}return t}function J(r,e){if(\"number\"==typeof e){var t=52!==e?1:0;if(!t)return t}throw mGe}function q(r){var e=AXe(J,r),t=G(e),n=GXe(e);if(\"number\"==typeof n){if(11===n)throw mGe;if(83===n&&DS(BXe(e),WEe))throw mGe}if(ZXe(e)){if(0===t[0]){var u=t[1][2];if(10===u[0]&&!hx(u[1][2][1],VEe)&&!YXe(e))throw mGe}return t}return t}function z(r,t,n,u,a){return[0,[0,a,[15,[0,u,Bx(e,r,t),Bx(e,r,n),0]]]]}function W(r,e,t){for(var n=e,u=t;;){var a=GXe(r);if(\"number\"!=typeof a||85!==a)return[0,u,n];fGe(r);var i=XGe(0,s,r),c=lMe(u,i[1]),f=$(0,r,z(r,n,i[2],1,c),c);n=f[2],u=f[1]}}function V(r,e,t){for(var n=e,u=t;;){var a=GXe(r);if(\"number\"!=typeof a||84!==a)return[0,u,n];fGe(r);var i=XGe(0,s,r),c=W(r,i[2],i[1]),f=lMe(u,c[1]),o=$(0,r,z(r,n,c[2],0,f),f);n=o[2],u=o[1]}}function $(r,e,t,n){for(var u=r,a=t,i=n;;){var c=GXe(e);if(\"number\"!=typeof c||81!==c)return[0,i,a];1-e[26][7]&&tGe(e,CE),1-u&&tGe(e,xEe),pGe(e,81);var f=XGe(0,s,e),o=f[2],l=f[1],v=GXe(e);if(\"number\"==typeof v)if(1<(v-84|0)>>>0)var D=0;else{tGe(e,[23,gMe(v)]);var p=W(e,o,l),b=V(e,p[2],p[1]),F=b[1],m=b[2];D=1}else D=0;if(!D)F=l,m=o;var d=lMe(i,F);u=1,a=z(e,a,m,2,d),i=d}}function Y(r,e,t,n){return[0,n,[3,[0,t,r,e,0]]]}function H(r){var e=WXe(r);pGe(r,95);for(var t=0;;){var n=GXe(r);if(\"number\"==typeof n)if(96===n||Ve===n?1:0){var u=wye(t),a=WXe(r);pGe(r,96);var i=4===GXe(r)?AGe(r)[1]:lGe(r);return[0,u,dMe([0,e],[0,i],a)]}var c=GXe(r);if(\"number\"==typeof c)var f=0;else if(4===c[0])if(hx(c[2],Lde))f=0;else{var o=JXe(r),s=WXe(r);bGe(r,Pde);var l=[1,[0,o,[0,mMe([0,s],[0,lGe(r)])]]];f=1}else f=0;if(!f)l=[0,gx(YGe[1],r)];var v=[0,l,t];96!==GXe(r)&&pGe(r,9);t=v}}function K(r){var e=WXe(r);return pGe(r,12),[0,gx(n,r),mMe([0,e],0)]}function Q(r,t,n,u,a,i){var c=r?r[1]:1,f=t?t[1]:t,o=n?n[1]:n,s=wXe(0,u),l=gx($Ge[7],s),v=JXe(u);pGe(u,7);var D=lGe(u),p=lMe(a,v),b=mMe(0,[0,D]),F=[0,Bx(e,u,i),[2,l],b];return Tx(E,[0,c],[0,f],u,a,[0,[0,p,f?[21,[0,F,o]]:[16,F]]])}function Z(r,t,n,u,a,i){var c=r?r[1]:1,f=t?t[1]:t,o=n?n[1]:n,s=gx(U,u),l=s[3],v=s[2],D=s[1];if(l){var p=pMe(v),b=u[28][1];if(b){var F=b[1];u[28][1]=[0,[0,F[1],[0,[0,p,D],F[2]]],b[2]]}else sXe(u,[0,D,88])}var m=lMe(a,D),d=l?[1,[0,D,[0,v,mMe([0,s[4]],0)]]]:[0,v],k=(0===i[0]&&23===i[1][2][0]&&l&&sXe(u,[0,m,89]),[0,Bx(e,u,i),d,0]);return Tx(E,[0,c],[0,f],u,a,[0,[0,m,f?[21,[0,k,o]]:[16,k]]])}function rr(r,e){if(\"number\"==typeof e){if(58<=e)var t=e+nb|0,n=29>>0?47===t?1:0:27<(t-1|0)>>>0?1:0;else{var u=e-41|0;n=15>>0?-1<=u?1:0:11===u?1:0}if(n)return 0}throw mGe}return XB(t,(function(r){var e=GXe(r),t=ZXe(r);if(\"number\"==typeof e){if(22<=e)if(58===e){if(r[17])return[0,gx(u,r)];var n=0,a=0}else if(95===e)a=1;else n=0,a=0;else if(4===e)a=1;else if(21<=e)a=1;else n=0,a=0;if(a)n=1}else n=0;if(!n&&0===t)return G(r);if(64===e)if(oXe(r))if(95===UXe(1,r))var i=M,c=q,f=1;else f=0;else f=0;else f=0;if(!f)i=q,c=M;var o=EGe(r,i);if(o)return o[1];var s=EGe(r,c);return s?s[1]:G(r)})),XB(n,(function(r){return Bx(e,r,gx(t,r))})),XB(u,(function(r){return XGe(0,(function(r){r[10]&&tGe(r,90);var e=WXe(r);if(pGe(r,58),KXe(r))var t=0,u=0;else{var a=FGe(r,$l),i=GXe(r);if(\"number\"==typeof i){if(83===i)var c=1;else if(10<=i){var f=0;c=0}else switch(i){case 0:case 2:case 3:case 4:case 6:f=0,c=0;break;default:c=1}if(c){var o=0;f=1}}else f=0;if(!f)o=1;var s=a||o;t=s?[0,gx(n,r)]:s,u=a}var l=t?0:lGe(r);return[30,[0,t,mMe([0,e],[0,l]),u]]}),r)})),XB(a,(function(r){var e=r[2];switch(e[0]){case 17:var t=e[1];if(!hx(t[1][2][1],qEe)){var n=hx(t[2][2][1],zEe);if(!n)return n}break;case 10:case 16:break;default:return 0}return 1})),XB(i,(function(r){var e=GXe(r);if(\"number\"==typeof e){var t=e-67|0;if(12>>0)var n=0;else{switch(t){case 0:var u=TEe;break;case 1:u=IEe;break;case 2:u=NEe;break;case 3:u=OEe;break;case 4:u=LEe;break;case 5:u=PEe;break;case 6:u=REe;break;case 7:u=MEe;break;case 8:u=jEe;break;case 9:u=UEe;break;case 10:u=XEe;break;case 11:u=GEe;break;default:u=JEe}var a=u;n=1}}else n=0;if(!n)a=0;return 0!==a&&fGe(r),a})),XB(c,(function(r){var t=JXe(r),u=gx(o,r);if(82===GXe(r)){fGe(r);var a=gx(n,hXe(0,r));pGe(r,83);var i=XGe(0,n,r),c=lMe(t,i[1]),f=i[2];return[0,[0,c,[7,[0,Bx(e,r,u),a,f,0]]]]}return u})),XB(f,(function(r){return Bx(e,r,gx(c,r))})),XB(o,(function(r){var e=XGe(0,s,r),t=e[2],n=e[1],u=GXe(r);if(\"number\"==typeof u)if(81===u)var a=$(1,r,t,n),i=1;else i=0;else i=0;if(!i){var c=W(r,t,n);a=V(r,c[2],c[1])}return a[2]})),XB(s,(function(r){var t=0;r:for(;;){var n=XGe(0,(function(r){return[0,0!==gx(l,r)?1:0,gx(v,hXe(0,r))]}),r),u=n[2],a=u[2],i=n[1];if(95===GXe(r))0===a[0]&&12===a[1][2][0]&&tGe(r,60);var c=GXe(r);if(\"number\"==typeof c){var f=c+-17|0;if(1>>0)if(69<=f)switch(f-69|0){case 0:var o=fEe,s=1;break;case 1:o=oEe,s=1;break;case 2:o=sEe,s=1;break;case 3:o=lEe,s=1;break;case 4:o=vEe,s=1;break;case 5:o=DEe,s=1;break;case 6:o=pEe,s=1;break;case 7:o=bEe,s=1;break;case 8:o=FEe,s=1;break;case 9:o=mEe,s=1;break;case 10:o=dEe,s=1;break;case 11:o=EEe,s=1;break;case 12:o=kEe,s=1;break;case 13:o=hEe,s=1;break;case 14:o=yEe,s=1;break;case 15:o=CEe,s=1;break;case 16:o=wEe,s=1;break;case 17:o=AEe,s=1;break;case 18:o=_Ee,s=1;break;case 19:o=gEe,s=1;break;default:var D=0;s=0}else D=0,s=0;else if(0===f)if(r[12])o=0,s=1;else o=SEe,s=1;else o=BEe,s=1;if(s){var p=o;D=1}}else D=0;if(!D)p=0;if(0!==p&&fGe(r),!t&&!p)return a;if(p){var b=p[1],F=b[1],m=u[1];(m?14===F?1:0:m)&&sXe(r,[0,i,27]);for(var d=Bx(e,r,a),E=[0,F,b[2]],k=i,h=t;;){var y=E[2],C=E[1];if(h){var w=h[1],A=w[2],_=A[2],g=0===_[0]?_[1]:_[1]-1|0;if(y[1]<=g){var B=lMe(w[3],k);d=Y(w[1],d,A[1],B),E=[0,C,y],k=B,h=h[2];continue}}t=[0,[0,d,[0,C,y],k],h];continue r}}for(var S=Bx(e,r,a),x=i,T=t;;){if(!T)return[0,S];var I=T[1],N=lMe(I[3],x),O=T[2];S=Y(I[1],S,I[2][1],N),x=N,T=O}}})),XB(l,(function(r){var e=GXe(r);if(\"number\"==typeof e)if(48<=e){if(Fu<=e){if(!(Bb<=e))switch(e-100|0){case 0:return rEe;case 1:return eEe;case 6:return tEe;case 7:return nEe}}else if(65===e&&r[18])return uEe}else if(45<=e)switch(e+Vi|0){case 0:return aEe;case 1:return iEe;default:return cEe}return 0})),XB(v,(function(r){var e=JXe(r),t=WXe(r),n=gx(l,r);if(n){var u=n[1];fGe(r);var i=XGe(0,D,r),c=i[2],f=lMe(e,i[1]);if(6===u){var o=c[2];switch(o[0]){case 10:iGe(r,[0,f,45]);break;case 16:1===o[1][2][0]&&sXe(r,[0,f,87])}}return[0,[0,f,[28,[0,u,c,mMe([0,t],0)]]]]}var s=GXe(r);if(\"number\"==typeof s)if(Bb===s)var v=Zde,b=1;else if(ak===s)v=Qde,b=1;else b=0;else b=0;if(!b)v=0;if(v){fGe(r);var F=XGe(0,D,r),m=F[2];1-gx(a,m)&&sXe(r,[0,m[1],26]);var d=m[2],E=(10===d[0]&&PXe(d[1][2][1])&&aGe(r,51),lMe(e,F[1])),k=mMe([0,t],0);return[0,[0,E,[29,[0,v[1],m,1,k]]]]}return gx(p,r)})),XB(D,(function(r){return Bx(e,r,gx(v,r))})),XB(p,(function(r){var t=gx(b,r);if(YXe(r))return t;var n=GXe(r);if(\"number\"==typeof n)if(Bb===n)var u=Kde,i=1;else if(ak===n)u=Hde,i=1;else i=0;else i=0;if(!i)u=0;if(u){var c=Bx(e,r,t);1-gx(a,c)&&sXe(r,[0,c[1],26]);var f=c[2],o=(10===f[0]&&PXe(f[1][2][1])&&aGe(r,50),JXe(r));fGe(r);var s=lGe(r),l=lMe(c[1],o),v=mMe(0,[0,s]);return[0,[0,l,[29,[0,u[1],c,0,v]]]]}return t})),XB(b,(function(r){var e=JXe(r),t=[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],0,r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]],n=1-r[16],u=GXe(t);if(\"number\"==typeof u){var a=u-44|0;if(7>>0)var i=0;else{switch(a){case 0:if(n)var c=[0,gx(h,t)],f=1;else i=0,f=0;break;case 6:c=[0,gx(d,t)],f=1;break;case 7:c=[0,gx(m,t)],f=1;break;default:i=0,f=0}if(f){var o=c;i=1}}}else i=0;if(!i)o=rGe(t)?[0,gx(_,t)]:gx(x,t);return Tx(E,0,0,t,e,o)})),XB(F,(function(r){return Bx(e,r,gx(b,r))})),XB(m,(function(r){switch(r[20]){case 0:var e=Gde;break;case 1:e=Jde;break;default:e=qde}var t=e[1],n=JXe(r),u=WXe(r);pGe(r,51);var a=[0,n,[23,[0,mMe([0,u],[0,lGe(r)])]]],i=GXe(r);if(\"number\"==typeof i&&!(11<=i))switch(i){case 4:var c=e[2]?a:(sXe(r,[0,n,5]),[0,n,[10,bMe(0,[0,n,zde])]]);return xx(k,Wde,r,n,c);case 6:case 10:var f=t?a:(sXe(r,[0,n,4]),[0,n,[10,bMe(0,[0,n,$de])]]);return xx(k,Yde,r,n,f)}return t?nGe(Vde,r):sXe(r,[0,n,4]),a})),XB(d,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,50);var t=WXe(r);pGe(r,4);var u=Sx(L,[0,t],0,gx(n,hXe(0,r)));return pGe(r,5),[11,[0,u,mMe([0,e],[0,lGe(r)])]]}),r)})),XB(E,(function(r,t,n,u,a){var i=r?r[1]:1,c=t?t[1]:t,f=Tx(w,[0,i],[0,c],n,u,a),o=DS(BXe(n),Xde);function s(r){var t=AGe(r);var n=Bx(e,r,f);return Bx(t[2],n,(function(r,e){return Bx(wS(r,LD,76),r,e)}))}function l(r,e,t){var n=gx(C,e),a=n[1],f=lMe(u,a),s=[0,t,r,[0,a,n[2]],0];if(o)var l=0;else if(c)l=0;else{var v=[4,s];l=1}if(!l)v=[20,[0,s,o]];return Tx(E,[0,i],[0,c||o],e,u,[0,[0,f,v]])}if(n[13])return f;var v=GXe(n);if(\"number\"==typeof v){if(4===v)return l(0,n,s(n));if(95===v&&oXe(n)){var D=AXe((function(r,e){throw mGe}),n);return kGe(D,f,(function(r){var e=s(r);return l(gx(y,r),r,e)}))}}return f})),XB(k,(function(r,t,n,u){var a=r?r[1]:1;return Bx(e,t,Tx(E,[0,a],0,t,n,[0,u]))})),XB(h,(function(r){return XGe(0,(function(r){var e=JXe(r),t=WXe(r);if(pGe(r,44),r[11]&&10===GXe(r)){var n=lGe(r);fGe(r);var u=bMe(mMe([0,t],[0,n]),[0,e,Rde]),a=GXe(r);return\"number\"==typeof a||4!==a[0]||hx(a[3],Mde)?(nGe(jde,r),fGe(r),[10,u]):[17,[0,u,Bx($Ge[13],0,r),0]]}var i=JXe(r),c=GXe(r);if(\"number\"==typeof c)if(44===c)var f=gx(h,r),o=1;else if(51===c)f=gx(m,wXe(1,r)),o=1;else o=0;else o=0;if(!o)f=rGe(r)?gx(_,r):gx(T,r);var s=xx(A,Ude,wXe(1,r),i,f),l=GXe(r);if(\"number\"==typeof l)var v=0;else if(3===l[0]){var D=xx(N,r,i,s,l[1]);v=1}else v=0;if(!v)D=s;if(4===GXe(r))var p=0;else{if(oXe(r))if(95===GXe(r)){p=0;var b=0}else b=1;else b=1;if(b){var F=D;p=1}}if(!p)F=Bx(AGe(r)[2],D,(function(r,e){return Bx(wS(r,LD,77),r,e)}));var d=oXe(r),E=d?kGe(AXe((function(r,e){throw mGe}),r),0,y):d,k=GXe(r);if(\"number\"==typeof k)if(4===k)var w=[0,gx(C,r)],g=1;else g=0;else g=0;if(!g)w=0;return[18,[0,F,E,w,mMe([0,t],0)]]}),r)})),XB(y,(function(r){var e=95===GXe(r)?1:0;return e?[0,XGe(0,H,r)]:e})),XB(C,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,4);for(var t=0;;){var u=GXe(r);if(\"number\"==typeof u)if(5===u||Ve===u?1:0){var a=wye(t),i=WXe(r);return pGe(r,5),[0,a,dMe([0,e],[0,lGe(r)],i)]}var c=GXe(r);if(\"number\"==typeof c)if(12===c)var f=[1,XGe(0,K,r)],o=1;else o=0;else o=0;if(!o)f=[0,gx(n,r)];var s=[0,f,t];5!==GXe(r)&&pGe(r,9);t=s}}),r)})),XB(w,(function(r,t,n,u,a){var i=r?r[1]:1,c=t?t[1]:t,f=n[26],o=GXe(n);if(\"number\"==typeof o)switch(o){case 6:return fGe(n),Q([0,i],[0,c],0,n,u,a);case 10:return fGe(n),Z([0,i],[0,c],0,n,u,a);case 80:1-f[6]&&tGe(n,98),1-i&&tGe(n,99),pGe(n,80);var s=GXe(n);if(\"number\"==typeof s)switch(s){case 4:return a;case 6:return fGe(n),Q([0,i],Tde,xde,n,u,a);case 95:if(oXe(n))return a}else if(3===s[0])return tGe(n,Fu),a;return Z([0,i],Nde,Ide,n,u,a)}else if(3===o[0]){c&&tGe(n,Fu);var l=o[1];return Tx(E,Ode,0,n,u,[0,xx(N,n,u,Bx(e,n,a),l)])}return a})),XB(A,(function(r,t,n,u){var a=r?r[1]:1;return Bx(e,t,Tx(w,[0,a],0,t,n,[0,u]))})),XB(_,(function(r){return XGe(0,(function(r){var e=gx(HGe[1],r),t=e[1],n=e[2],u=XGe(0,(function(r){var e=WXe(r);pGe(r,15);var u=gx(HGe[2],r),a=u[1],i=Aye([0,n,[0,e,[0,u[2],0]]]);if(4===GXe(r))var c=0,f=0;else{var o=GXe(r);if(\"number\"==typeof o){var s=95!==o?1:0;if(s)var l=0;else{var v=s;l=1}}else l=0;if(!l){var D=bXe(a,FXe(t,r));v=[0,_Ge(D,Bx($Ge[13],Sde,D))]}c=v,f=gGe(r,gx(YGe[3],r))}var p=dXe(0,r),b=Sx(HGe[4],t,a,p),F=83===GXe(p)?b:SGe(p,b),m=gx(YGe[12],p),d=m[2],E=m[1];if(d)var k=E,h=xGe(p,d);else k=BGe(p,E),h=d;return[0,c,F,a,h,k,f,i]}),r),a=u[2],i=a[3],c=a[2],f=a[1],o=xx(HGe[5],r,t,i,1),s=gx(HGe[6],c);Tx(HGe[7],r,o[2],s,f,c);var l=u[1],v=mMe([0,a[7]],0);return[8,[0,f,c,o[1],t,i,a[4],a[5],a[6],v,l]]}),r)})),XB(g,(function(r,e,t){switch(e){case 1:aGe(r,43);try{var n=WS(zS(iye(wde,t)))}catch(r){if((r=_x(r))[1]!==Ox)throw r;n=nye(iye(Ade,t))}break;case 2:aGe(r,44);try{n=FS(t)}catch(r){if((r=_x(r))[1]!==Ox)throw r;n=nye(iye(_de,t))}break;case 4:try{n=FS(t)}catch(r){if((r=_x(r))[1]!==Ox)throw r;n=nye(iye(gde,t))}break;default:try{n=WS(zS(t))}catch(r){if((r=_x(r))[1]!==Ox)throw r;n=nye(iye(Bde,t))}}return pGe(r,[0,e,t]),n})),XB(B,(function(r){var e=RS(r);return 0!==e&&Ve===kx(r,e-1|0)?Gye(r,0,e-1|0):r})),XB(S,(function(r,e,t){if(2<=e){var n=gx(B,t);try{var u=FS(n)}catch(t){if((t=_x(t))[1]!==Ox)throw t;u=nye(iye(yde,n))}var a=u}else{var i=gx(B,t);try{var c=WS(zS(i))}catch(t){if((t=_x(t))[1]!==Ox)throw t;c=nye(iye(Cde,i))}a=c}return pGe(r,[1,e,t]),a})),XB(x,(function(r){var e=JXe(r),t=WXe(r),n=GXe(r);if(\"number\"==typeof n)switch(n){case 0:var u=gx($Ge[12],r);return[1,[0,u[1],[19,u[2]]],u[3]];case 4:return[0,gx(O,r)];case 6:var a=XGe(0,P,r),i=a[2];return[1,[0,a[1],[0,i[1]]],i[2]];case 21:return fGe(r),[0,[0,e,[26,[0,mMe([0,t],[0,lGe(r)])]]]];case 29:return fGe(r),[0,[0,e,[14,[0,0,dde,mMe([0,t],[0,lGe(r)])]]]];case 40:return[0,gx($Ge[22],r)];case 95:var c=gx($Ge[17],r),f=c[2];return[0,[0,c[1],on<=f[1]?[13,f[2]]:[12,f[2]]]];case 30:case 31:fGe(r);var o=31===n?1:0;return[0,[0,e,[14,[0,[1,o],o?kde:hde,mMe([0,t],[0,lGe(r)])]]]];case 74:case 102:return[0,gx(R,r)]}else switch(n[0]){case 0:var s=n[2];return[0,[0,e,[14,[0,[2,Sx(g,r,n[1],s)],s,mMe([0,t],[0,lGe(r)])]]]];case 1:var l=n[2];return[0,[0,e,[14,[0,[3,Sx(S,r,n[1],l)],l,mMe([0,t],[0,lGe(r)])]]]];case 2:var v=n[1];v[4]&&aGe(r,43),fGe(r);var D=[0,v[2]],p=mMe([0,t],[0,lGe(r)]);return[0,[0,v[1],[14,[0,D,v[3],p]]]];case 3:var b=Bx(I,r,n[1]);return[0,[0,b[1],[25,b[2]]]]}if(ZXe(r)){var F=Bx($Ge[13],0,r);return[0,[0,F[1],[10,F]]]}nGe(0,r);\"number\"==typeof n||6===n[0]&&fGe(r);return[0,[0,e,[14,[0,0,Ede,mMe([0,t],[0,0])]]]]})),XB(T,(function(r){return Bx(e,r,gx(x,r))})),XB(I,(function(r,e){var t=e[3],n=e[2],u=e[1],a=WXe(r);pGe(r,[3,e]);var i=[0,u,[0,[0,n[2],n[1]],t]];if(t)var c=u,f=[0,i,0],o=0;else for(var s=[0,i,0],l=0;;){var v=gx($Ge[7],r),D=[0,v,l],p=GXe(r);if(\"number\"==typeof p)if(1===p){oGe(r,4);var b=GXe(r);if(\"number\"==typeof b)var F=1;else if(3===b[0]){var m=b[1],d=m[3],E=m[2];fGe(r);var k=m[1],h=[0,[0,E[2],E[1]],d];sGe(r);var y=[0,[0,k,h],s];if(!d){s=y,l=D;continue}var C=wye(D),w=[0,k,wye(y),C],A=1;F=0}else F=1;if(F)throw[0,jx,bde]}else A=0;else A=0;if(!A){nGe(Fde,r);var _=[0,v[1],mde],g=wye(D),B=wye([0,_,s]);w=[0,v[1],B,g]}c=w[1],f=w[2],o=w[3];break}var S=lGe(r);return[0,lMe(u,c),[0,f,o,mMe([0,a],[0,S])]]})),XB(N,(function(r,e,t,n){var u=Bx(AGe(r)[2],t,(function(r,e){return Bx(wS(r,LD,26),r,e)})),a=Bx(I,r,n);return[0,lMe(e,a[1]),[24,[0,u,a,0]]]})),XB(O,(function(r){var e=WXe(r),t=XGe(0,(function(r){pGe(r,4);var e=JXe(r),t=gx(n,r),u=GXe(r);if(\"number\"==typeof u)if(9===u)var a=[0,Sx(j,r,e,[0,t,0])],i=1;else if(83===u)a=[1,[0,t,gx(YGe[9],r),0]],i=1;else i=0;else i=0;if(!i)a=[0,t];return pGe(r,5),a}),r),u=t[2],a=lGe(r),i=0===u[0]?u[1]:[0,t[1],[27,u[1]]];return Sx(L,[0,e],[0,a],i)})),XB(L,(function(r,e,t){var n=t[2],u=r?r[1]:r,a=e?e[1]:e;function i(r){return EMe(r,mMe([0,u],[0,a]))}function c(r){return kMe(r,mMe([0,u],[0,a]))}switch(n[0]){case 0:var f=n[1],o=c(f[2]),s=[0,[0,f[1],o]];break;case 1:var l=n[1],v=l[10],D=i(l[9]);s=[1,[0,l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],D,v]];break;case 2:var p=n[1],b=i(p[4]);s=[2,[0,p[1],p[2],p[3],b]];break;case 3:var F=n[1],m=i(F[4]);s=[3,[0,F[1],F[2],F[3],m]];break;case 4:var d=n[1],E=i(d[4]);s=[4,[0,d[1],d[2],d[3],E]];break;case 5:var k=n[1],h=i(k[7]);s=[5,[0,k[1],k[2],k[3],k[4],k[5],k[6],h]];break;case 7:var y=n[1],C=i(y[4]);s=[7,[0,y[1],y[2],y[3],C]];break;case 8:var w=n[1],A=w[10],_=i(w[9]);s=[8,[0,w[1],w[2],w[3],w[4],w[5],w[6],w[7],w[8],_,A]];break;case 10:var g=n[1],B=g[2],S=i(B[2]);s=[10,[0,g[1],[0,B[1],S]]];break;case 11:var x=n[1],T=i(x[2]);s=[11,[0,x[1],T]];break;case 12:var I=n[1],N=i(I[4]);s=[12,[0,I[1],I[2],I[3],N]];break;case 13:var O=n[1],L=i(O[4]);s=[13,[0,O[1],O[2],O[3],L]];break;case 14:var P=n[1],R=i(P[3]);s=[14,[0,P[1],P[2],R]];break;case 15:var M=n[1],j=i(M[4]);s=[15,[0,M[1],M[2],M[3],j]];break;case 16:var U=n[1],X=i(U[3]);s=[16,[0,U[1],U[2],X]];break;case 17:var G=n[1],J=i(G[3]);s=[17,[0,G[1],G[2],J]];break;case 18:var q=n[1],z=i(q[4]);s=[18,[0,q[1],q[2],q[3],z]];break;case 19:var W=n[1],V=c(W[2]);s=[19,[0,W[1],V]];break;case 20:var $=n[1],Y=$[1],H=$[2],K=i(Y[4]);s=[20,[0,[0,Y[1],Y[2],Y[3],K],H]];break;case 21:var Q=n[1],Z=Q[1],rr=Q[2],er=i(Z[3]);s=[21,[0,[0,Z[1],Z[2],er],rr]];break;case 22:var tr=n[1],nr=i(tr[2]);s=[22,[0,tr[1],nr]];break;case 23:s=[23,[0,i(n[1][1])]];break;case 24:var ur=n[1],ar=i(ur[3]);s=[24,[0,ur[1],ur[2],ar]];break;case 25:var ir=n[1],cr=i(ir[3]);s=[25,[0,ir[1],ir[2],cr]];break;case 26:s=[26,[0,i(n[1][1])]];break;case 27:var fr=n[1],or=i(fr[3]);s=[27,[0,fr[1],fr[2],or]];break;case 28:var sr=n[1],lr=i(sr[3]);s=[28,[0,sr[1],sr[2],lr]];break;case 29:var vr=n[1],Dr=i(vr[4]);s=[29,[0,vr[1],vr[2],vr[3],Dr]];break;case 30:var pr=n[1],br=pr[3],Fr=i(pr[2]);s=[30,[0,pr[1],Fr,br]];break;default:s=n}return[0,t[1],s]})),XB(P,(function(e){var n=WXe(e);pGe(e,6);for(var u=[0,0,r[3]];;){var a=u[2],i=u[1],c=GXe(e);if(\"number\"==typeof c){if(13<=c)var f=Ve===c?1:0;else if(7<=c)switch(c-7|0){case 2:var o=JXe(e);fGe(e);u=[0,[0,[2,o],i],a];continue;case 5:var s=WXe(e),l=XGe(0,(function(e){fGe(e);var n=gx(t,e);return 0===n[0]?[0,n[1],r[3]]:[0,n[1],n[2]]}),e),v=l[2],D=v[2],p=l[1],b=mMe([0,s],0),F=[1,[0,p,[0,v[1],b]]],m=7===GXe(e)?1:0;if(m)var d=0;else if(7===UXe(1,e)){var E=[0,D[1],[0,[0,p,62],D[2]]];d=1}else d=0;if(!d)E=D;1-m&&pGe(e,9);u=[0,[0,F,i],Bx(r[4],E,a)];continue;case 0:f=1;break;default:f=0}else f=0;if(f){var k=gx(r[5],a),h=wye(i),y=WXe(e);return pGe(e,7),[0,[0,h,dMe([0,n],[0,lGe(e)],y)],k]}}var C=gx(t,e),w=0===C[0]?[0,C[1],r[3]]:[0,C[1],C[2]];7!==GXe(e)&&pGe(e,9);u=[0,[0,[0,w[1]],i],Bx(r[4],w[2],a)]}})),XB(R,(function(r){oGe(r,5);var e=JXe(r),t=WXe(r),n=GXe(r);if(\"number\"!=typeof n&&5===n[0]){var u=n[1],a=u[3],i=u[2];fGe(r);var c=lGe(r),f=iye(Dde,iye(i,iye(vde,a)));sGe(r);var o=Kye(RS(a)),s=RS(a)-1|0;if(!(s<0))for(var l=0;;){var v=MS(a,l),D=v-103|0;if(18>>0);else switch(D){case 0:case 2:case 6:case 12:case 14:case 18:rCe(o,v)}var p=l+1|0;if(s===l)break;l=p}var b=Qye(o);return hx(b,a)&&tGe(r,[14,a]),[0,e,[14,[0,[4,[0,i,b]],f,mMe([0,t],[0,c])]]]}throw[0,jx,pde]})),XB(M,(function(r){var e=AXe(rr,r),t=JXe(e);if(11===UXe(1,e))var n=0,u=0;else{var a=gx(HGe[1],e);n=a[1],u=a[2]}var i=XGe(0,(function(r){var e=gGe(r,gx(YGe[3],r));if(ZXe(r)&&0===e){var t=Bx($Ge[13],lde,r),n=t[1];return[0,e,[0,n,[0,0,[0,[0,n,[0,[0,n,[2,[0,t,[0,qXe(r)],0]]],0]],0],0,0]],[0,[0,n[1],n[3],n[3]]],0]}var u=Sx(HGe[4],r[18],r[17],r),a=yXe(1,r),i=gx(YGe[12],a);return[0,e,u,i[1],i[2]]}),e),c=i[2],f=c[2],o=f[2];if(o[1])var s=0;else{if(o[3])var l=1;else if(o[2])s=0,l=0;else l=1;if(l){var v=SXe(e);s=1}}if(!s)v=e;var D=f[2],p=D[1],b=p?(sXe(v,[0,p[1][1],Bb]),[0,f[1],[0,0,D[2],D[3],D[4]]]):f,F=YXe(v);(F?11===GXe(v)?1:0:F)&&tGe(v,57),pGe(v,11);var m=SXe(v),d=XGe(0,(function(r){var e=xXe(r,n,0),t=GXe(e);if(\"number\"==typeof t&&0===t){var u=Bx($Ge[16],1,e);return[0,[0,[0,u[1],u[2]]],u[3]]}return[0,[1,gx($Ge[10],e)],e[6]]}),m),E=d[2],k=gx(HGe[6],b);Tx(HGe[7],m,E[2],k,0,b);var h=lMe(t,d[1]),y=i[1],C=mMe([0,u],0);return[0,[0,h,[1,[0,0,b,E[1],n,0,c[4],c[3],c[1],C,y]]]]})),XB(j,(function(r,e,t){return XGe([0,e],(function(r){for(var e=t;;){var u=GXe(r);if(\"number\"!=typeof u||9!==u)return[22,[0,wye(e),0]];fGe(r);e=[0,gx(n,r),e]}}),r)})),XB(U,(function(r){var e=JXe(r),t=XGe(0,(function(r){var e=GXe(r);if(\"number\"==typeof e)if(14===e){var t=WXe(r);fGe(r);var n=1,u=t,a=1}else a=0;else a=0;if(!a)n=0,u=0;return[0,n,jGe(r),u]}),r),n=t[2],u=n[2],a=n[1],i=t[1];return(a?px(e[3],u[1][2]):a)&&sXe(r,[0,i,EE]),[0,i,u,a,n[3]]})),[0,n,t,f,U,function(r){var e=r[2];switch(e[0]){case 17:var t=e[1];if(!hx(t[1][2][1],$Ee)){var n=hx(t[2][2][1],YEe);if(!n)return n}break;case 0:case 10:case 16:case 19:break;default:return 0}return 1},F,g,j]}(KGe),ZGe=function(r){function e(r){var e=WXe(r);fGe(r);var t=mMe([0,e],0),n=gx(QGe[6],r);return[0,Bx((YXe(r)?wGe(r):CGe(r))[2],n,(function(r,e){return Bx(wS(r,LD,78),r,e)})),t]}function t(r){var t=r[26][4];if(t)for(var n=0;;){var u=GXe(r);if(\"number\"!=typeof u||13!==u)return wye(n);n=[0,XGe(0,e,r),n]}return t}function n(r,e){var t=r?r[1]:r,n=WXe(e),u=GXe(e);if(\"number\"==typeof u)switch(u){case 6:var a=XGe(0,(function(r){var e=WXe(r);pGe(r,6);var t=hXe(0,r),n=gx($Ge[10],t);return pGe(r,7),[0,n,mMe([0,e],[0,lGe(r)])]}),e),i=a[1];return[0,i,[3,[0,i,a[2]]]];case 14:if(t){var c=gx(QGe[4],e),f=c[2],o=c[1],s=pMe(f),l=e[28][1];if(l){var v=l[1],D=l[2],p=v[2],b=[0,[0,Bx(uXe[4],s,v[1]),p],D];e[28][1]=b}else nye($ue);return[0,o,[2,[0,o,[0,f,mMe([0,c[4]],0)]]]]}}else switch(u[0]){case 0:var F=u[2],m=JXe(e);return[0,m,[0,[0,m,[0,[2,Sx(QGe[7],e,u[1],F)],F,mMe([0,n],[0,lGe(e)])]]]];case 2:var d=u[1],E=d[4],k=d[3],h=d[2],y=d[1];return E&&aGe(e,43),pGe(e,[2,[0,y,h,k,E]]),[0,y,[0,[0,y,[0,[0,h],k,mMe([0,n],[0,lGe(e)])]]]]}var C=gx(QGe[4],e),w=C[1];return C[3]&&sXe(e,[0,w,88]),[0,w,[1,C[2]]]}function u(r,e,t){var u=gx(HGe[2],r),a=u[1],i=u[2],c=n([0,e],r),f=c[1];return[0,TGe(r,c[2]),XGe(0,(function(r){var e=dXe(1,r),n=XGe(0,(function(r){var e=Sx(HGe[4],0,0,r),n=83===GXe(r)?e:SGe(r,e);if(0===t){var u=n[2];if(u[1])sXe(r,[0,f,Uu]);else{var a=u[2];(a?a[2]||u[3]?0:1:0)||(u[3],sXe(r,[0,f,79]))}}else{var i=n[2];if(i[1])sXe(r,[0,f,Ma]);else(i[2]||i[3]?0:1)||sXe(r,[0,f,78])}return[0,0,n,BGe(r,gx(YGe[10],r))]}),e),u=n[2],c=u[2],o=xx(HGe[5],e,0,a,0),s=gx(HGe[6],c);Tx(HGe[7],e,o[2],s,0,c);var l=n[1],v=mMe([0,i],0);return[0,0,c,o[1],0,a,0,u[3],u[1],v,l]}),r)]}function a(e){var t=gx(QGe[2],e);return 0===t[0]?[0,t[1],r[3]]:[0,t[1],t[2]]}function i(r,e,t){function n(n){var u=dXe(1,n),a=XGe(0,(function(t){var n=gGe(t,gx(YGe[3],t));if(0===r)if(0===e)var u=0,a=0;else u=1,a=0;else if(0===e)u=0,a=t[18];else u=1,a=1;var i=Sx(HGe[4],a,u,t);return[0,n,83===GXe(t)?i:SGe(t,i),BGe(t,gx(YGe[10],t))]}),u),i=a[2],c=i[2],f=xx(HGe[5],u,r,e,0),o=gx(HGe[6],c);Tx(HGe[7],u,f[2],o,0,c);var s=a[1],l=mMe([0,t],0);return[0,0,c,f[1],r,e,0,i[3],i[1],l,s]}return function(r){return XGe(0,n,r)}}function c(r){return pGe(r,83),a(r)}function f(e,t,n,u,a,f){var o=XGe([0,t],(function(e){if(!u&&!a){var t=GXe(e);if(\"number\"==typeof t){if(79===t){if(1===n[0])var o=n[1],s=JXe(e),l=[0,XGe([0,o[1]],(function(r){var e=WXe(r);pGe(r,79);var t=lGe(r);return[2,[0,0,Bx($Ge[19],r,[0,o[1],[10,o]]),gx($Ge[10],r),mMe([0,e],[0,t])]]}),e),[0,[0,[0,s,[11,BMe(mke)]],0],0]];else l=c(e);return[0,[0,n,l[1],1],l[2]]}if(95===t)var v=1;else if(10<=t)v=0;else switch(t){case 4:v=1;break;case 1:case 9:switch(n[0]){case 0:var D=n[1],p=D[1];sXe(e,[0,p,94]);var b=[0,p,[14,D[2]]];break;case 1:var F=n[1],m=F[2][1],d=F[1];(MXe(m)&&hx(m,dke)&&hx(m,Eke)?(sXe(e,[0,d,2]),1):0)||OXe(m)&&iGe(e,[0,d,52]);b=[0,d,[10,F]];break;case 2:b=nye(kke);break;default:var E=n[1][2][1];sXe(e,[0,E[1],95]);b=E}return[0,[0,n,b,1],r[3]];default:v=0}if(v)return[0,[1,TGe(e,n),gx(i(u,a,f),e)],r[3]]}var k=c(e);return[0,[0,n,k[1],0],k[2]]}return[0,[1,TGe(e,n),gx(i(u,a,f),e)],r[3]]}),e),s=o[2];return[0,[0,[0,o[1],s[1]]],s[2]]}function o(r,e,t,n){var u=t[2][1][2][1],a=t[1];if(Ex(u,vke))return sXe(r,[0,a,[21,u,0,1]]),e;var i=Bx(qGe[28],u,e);if(i){var c=i[1];return(Rv===n?Hn===c?1:0:Hn===n&&Rv===c?1:0)||sXe(r,[0,a,[20,u]]),Sx(qGe[4],u,Ed,e)}return Sx(qGe[4],u,n,e)}function s(r,e){return XGe(0,(function(r){var t=e?WXe(r):e;pGe(r,52);for(var n=0;;){var u=[0,XGe(0,(function(r){var e=gx(YGe[2],r);if(95===GXe(r))var t=Bx(AGe(r)[2],e,(function(r,e){return Bx(wS(r,sB,79),r,e)}));else t=e;return[0,t,gx(YGe[4],r)]}),r),n],a=GXe(r);if(\"number\"!=typeof a||9!==a)return[0,wye(u),mMe([0,t],0)];pGe(r,9);n=u}}),r)}function l(r,e){return e?sXe(r,[0,e[1][1],7]):e}function v(r,e){return e?sXe(r,[0,e[1],65]):e}function D(r,e,t,n,u,a,i){var c=XGe([0,e],(function(r){var e=gx(YGe[10],r),a=r[26],c=GXe(r);if(u){if(\"number\"==typeof c)if(79===c){tGe(r,66),fGe(r);var f=0,o=1}else o=0;else o=0;if(!o)f=0}else{if(\"number\"==typeof c)if(79===c){if(n&&a[3]?1:0)var s=1;else{if(n)var l=1;else if(a[2])s=1,l=0;else l=1;if(l){f=1;var v=1;s=0}}if(s){pGe(r,79);var D=dXe(1,r);f=[0,gx($Ge[7],D)],v=1}}else v=0;else v=0;if(!v)f=1}var p=GXe(r);if(\"number\"==typeof p)if(9<=p)var b=0;else switch(p){case 8:fGe(r);var F=GXe(r);if(\"number\"==typeof F){if(1===F)var m=1;else if(Ve===F)m=1;else{var d=0;m=0}if(m){var E=lGe(r);d=1}}else d=0;if(!d){var k=YXe(r);E=k?vGe(r):k}var h=[0,t,e,f,E];b=1;break;case 4:case 6:nGe(0,r);h=[0,t,e,f,0],b=1;break;default:b=0}else b=0;if(!b){var y=GXe(r);if(\"number\"==typeof y){if(1===y)var C=1;else if(Ve===y)C=1;else{var w=0;C=0}if(C){var A=[0,0,function(r,e){return r}];w=1}}else w=0;if(!w)A=YXe(r)?wGe(r):CGe(r);if(\"number\"==typeof f)if(0===e[0])var _=Bx(A[2],t,(function(r,e){return Bx(wS(r,Iw,82),r,e)})),g=e,B=f;else _=t,g=[1,Bx(A[2],e[1],(function(r,e){return Bx(wS(r,zv,83),r,e)}))],B=f;else _=t,g=e,B=[0,Bx(A[2],f[1],(function(r,e){return Bx(wS(r,LD,84),r,e)}))];h=[0,_,g,B,0]}var S=mMe([0,i],[0,h[4]]);return[0,h[1],h[2],h[3],S]}),r),f=c[2],o=f[4],s=f[3],l=f[2],v=f[1],D=c[1];return 2===v[0]?[2,[0,D,[0,v[1],s,l,n,a,o]]]:[1,[0,D,[0,v,s,l,n,a,o]]]}function p(r,e,t,n,u,a,i,c,f,o){for(;;){var s=GXe(r);if(\"number\"==typeof s){var p=s-1|0;if(7

>>0){var b=p-78|0;if(4>>0)var F=1;else switch(b){case 3:nGe(0,r),fGe(r);continue;case 0:case 4:F=0;break;default:F=1}}else F=5<(p-1|0)>>>0?0:1;if(!F&&!u&&!a)return D(r,e,n,i,c,f,o)}if(KXe(r))return D(r,e,n,i,c,f,o);if(v(r,c),l(r,f),0===i){switch(n[0]){case 0:var m=n[1][2][1];if(\"number\"==typeof m)var d=1;else if(0===m[0])if(hx(m[1],ake)){var E=0,k=0;d=0}else k=1,d=0;else d=1;if(d)E=0,k=0;break;case 1:if(hx(n[1][2][1],ike))E=0,k=0;else k=1;break;default:E=0,k=0}if(k){var h=0,y=dXe(2,r);E=1}}else E=0;if(!E)h=1,y=dXe(1,r);var C=TGe(y,n),w=XGe(0,(function(r){var e=XGe(0,(function(r){var e=gGe(r,gx(YGe[3],r));if(0===u)if(0===a)var t=0,n=0;else t=1,n=0;else if(0===a)t=0,n=r[18];else t=1,n=1;var i=Sx(HGe[4],n,t,r),c=83===GXe(r)?i:SGe(r,i),f=c[2],o=f[1];if(o)if(0===h){sXe(r,[0,o[1][1],ak]);var s=[0,c[1],[0,0,f[2],f[3],f[4]]],l=1}else l=0;else l=0;if(!l)s=c;return[0,e,s,BGe(r,gx(YGe[10],r))]}),r),t=e[2],n=t[2],i=xx(HGe[5],r,u,a,0),c=gx(HGe[6],n);return Tx(HGe[7],r,i[2],c,0,n),[0,0,n,i[1],u,a,0,t[3],t[1],0,e[1]]}),y),A=[0,h,C,w,i,t,mMe([0,o],0)];return[0,[0,lMe(e,w[1]),A]]}}function b(r,e){var t=UXe(r,e);if(\"number\"==typeof t){if(83<=t)var n=95===t?1:84<=t?0:1;else if(79===t)n=1;else if(9<=t)n=0;else switch(t){case 1:case 4:case 8:n=1;break;default:n=0}if(n)return 1}return 0}function F(r){return b(0,r)}function m(r,e,a,i){var c=r?r[1]:r,f=pXe(1,e),D=fye(c,t(f)),m=WXe(f);pGe(f,40);var d=EXe(1,f),E=GXe(d);if(0===a)var k=0;else if(\"number\"==typeof E){if(52<=E)if(95===E)var h=1;else if(53<=E)k=0,h=0;else h=1;else if(41===E)h=1;else if(0===E)h=1;else k=0,h=0;if(h){var y=0;k=1}}else k=0;if(!k){var C=Bx($Ge[13],0,d);y=[0,Bx(AGe(f)[2],C,(function(r,e){return Bx(wS(r,sB,85),r,e)}))]}var w=gx(YGe[3],f);if(w)var A=[0,Bx(AGe(f)[2],w[1],(function(r,e){return Bx(wS(r,iE,86),r,e)}))];else A=w;var _=WXe(f),g=FGe(f,41);if(g)var B=XGe(0,(function(r){var e=bXe(0,r),t=gx(QGe[6],e);if(95===GXe(r))var n=Bx(AGe(r)[2],t,(function(r,e){return Bx(wS(r,LD,80),r,e)}));else n=t;return[0,n,gx(YGe[4],r),mMe([0,_],0)]}),f),S=B[1],x=AGe(f),T=[0,[0,S,Bx(x[2],B[2],(function(r,e){return Sx(wS(r,-663447790,81),r,S,e)}))]];else T=g;var I=52===GXe(f)?1:0;if(I){1-oXe(f)&&tGe(f,16);var N=[0,NGe(f,s(f,1))]}else N=I;return[0,y,XGe(0,(function(r){var e=WXe(r);if(FGe(r,0)){r[28][1]=[0,[0,uXe[1],0],r[28][1]];for(var a=0,c=qGe[1],f=0;;){var s=GXe(r);if(\"number\"==typeof s){var D=s-2|0;if(Uu>>0){if(!(ak<(D+1|0)>>>0)){var m=wye(f),d=function(r,e){return gx(Nye((function(e){return 1-Bx(uXe[3],e[1],r)})),e)},E=r[28][1];if(E){var k=E[2],h=E[1],y=h[2],C=h[1];if(k){var w=d(C,y),A=hye(k),_=yye(k),g=fye(A[2],w);r[28][1]=[0,[0,A[1],g],_]}else{Bye((function(e){return sXe(r,[0,e[2],[22,e[1]]])}),d(C,y)),r[28][1]=0}}else nye(Yue);pGe(r,1);var B=GXe(r);if(0===i){if(\"number\"==typeof B)if(1===B)var S=0,x=0;else if(Ve===B)S=0,x=0;else x=1;else x=1;if(x){var T=YXe(r);if(T){var I=vGe(r);S=1}else I=T,S=1}}else S=0;if(!S)I=lGe(r);return[0,m,mMe([0,e],[0,I])]}}else if(6===D){pGe(r,8);continue}}var N=JXe(r),O=t(r),L=GXe(r);if(\"number\"==typeof L)if(60===L)if(b(1,r))var P=0;else{var R=[0,JXe(r)],M=WXe(r);fGe(r);var j=R,U=M;P=1}else P=0;else P=0;if(!P)j=0,U=0;var X=4!==UXe(1,r)?1:0;if(X)var G=95!==UXe(1,r)?1:0,J=G?42===GXe(r)?1:0:G;else J=X;if(J){var q=WXe(r);fGe(r);var z=q}else z=J;var W=64===GXe(r)?1:0;if(W)var V=1-b(1,r),$=V?1-$Xe(1,r):V;else $=W;if($){var Y=WXe(r);fGe(r);var H=Y}else H=$;var K=gx(HGe[2],r),Q=K[1],Z=Sx(HGe[3],r,$,Q);if(0===Q)if(Z)var rr=gx(HGe[2],r),er=rr[1],tr=rr[2],nr=1;else nr=0;else nr=0;if(!nr)er=Q,tr=K[2];var ur=Aye([0,U,[0,z,[0,H,[0,tr,0]]]]),ar=GXe(r);if(0===$)if(0===er)if(\"number\"==typeof ar)var ir=0;else if(4===ar[0]){var cr=ar[3];if(hx(cr,cke))if(hx(cr,fke))ir=0;else{var fr=WXe(r),or=n(oke,r)[2];if(F(r)){var sr=p(r,N,O,or,$,er,J,j,Z,ur);ir=1}else{v(r,j),l(r,Z),TGe(r,or);var lr=fye(ur,fr),vr=XGe([0,N],(function(r){return u(r,1,0)}),r),Dr=vr[2],pr=mMe([0,lr],0);sr=[0,[0,vr[1],[0,3,Dr[1],Dr[2],J,O,pr]]],ir=1}}else{var br=WXe(r),Fr=n(ske,r)[2];if(F(r))sr=p(r,N,O,Fr,$,er,J,j,Z,ur),ir=1;else{v(r,j),l(r,Z),TGe(r,Fr);var mr=fye(ur,br),dr=XGe([0,N],(function(r){return u(r,1,1)}),r),Er=dr[2],kr=mMe([0,mr],0);sr=[0,[0,dr[1],[0,2,Er[1],Er[2],J,O,kr]]],ir=1}}}else ir=0;else ir=0;else ir=0;if(!ir)sr=p(r,N,O,n(lke,r)[2],$,er,J,j,Z,ur);switch(sr[0]){case 0:var hr=sr[1],yr=hr[2],Cr=hr[1];switch(yr[1]){case 0:if(yr[4])var wr=[0,a,c];else{a&&sXe(r,[0,Cr,85]);wr=[0,1,c]}break;case 1:2===yr[2][0]&&sXe(r,[0,Cr,86]);wr=[0,a,c];break;case 2:var Ar=yr[2];wr=[0,a,2===Ar[0]?o(r,c,Ar[1],Rv):c];break;default:var _r=yr[2];wr=[0,a,2===_r[0]?o(r,c,_r[1],Hn):c]}var gr=wr;break;case 1:var Br=sr[1][2],Sr=Br[1];switch(Sr[0]){case 0:var xr=Sr[1],Tr=xr[2][1];if(\"number\"==typeof Tr)var Ir=1;else if(0===Tr[0]){var Nr=Tr[1],Or=xr[1],Lr=0;Ir=0}else Ir=1;if(Ir)Lr=1;break;case 1:var Pr=Sr[1];Nr=Pr[2][1],Or=Pr[1],Lr=0;break;case 2:nye(nke);Lr=2;break;default:Lr=1}switch(Lr){case 0:var Rr=Br[4],Mr=Ex(Nr,Dke);if(Mr)var jr=Mr;else{var Ur=Ex(Nr,pke);jr=Ur?Rr:Ur}jr&&sXe(r,[0,Or,[21,Nr,Rr,0]])}gr=[0,a,c];break;default:gr=[0,a,o(r,c,sr[1][2][1],Ed)]}a=gr[1],c=gr[2],f=[0,sr,f]}}return DGe(r,0),uke}),f),A,T,N,D,mMe([0,m],0)]}function d(r){return[5,m(0,r,1,1)]}return[0,n,function(e){var t=XGe(0,(function(e){var t=WXe(e);pGe(e,0);for(var i=0,c=[0,0,r[3]];;){var o=c[2],s=c[1],l=GXe(e);if(\"number\"==typeof l)if(1===l||Ve===l?1:0){var v=i?[0,o[1],[0,[0,i[1],97],o[2]]]:o,D=gx(r[5],v),p=wye(s),b=WXe(e);return pGe(e,1),[0,[0,p,dMe([0,t],[0,lGe(e)],b)],D]}if(12===GXe(e))var F=WXe(e),m=XGe(0,(function(r){return pGe(r,12),a(r)}),e),d=m[2],E=d[2],k=mMe([0,F],0),h=[0,[1,[0,m[1],[0,d[1],k]]],E];else{var y=JXe(e),C=UXe(1,e);if(\"number\"==typeof C){if(83<=C)if(95===C)var w=1;else if(84<=C){var A=0;w=0}else w=1;else if(79===C)w=1;else if(10<=C)A=0,w=0;else switch(C){case 1:case 4:case 9:w=1;break;default:A=0,w=0}if(w){var _=0,g=0;A=1}}else A=0;if(!A){var B=gx(HGe[1],e);_=B[1],g=B[2]}var S=gx(HGe[2],e),x=S[1],T=fye(g,S[2]),I=GXe(e);if(0===_)if(0===x)if(\"number\"==typeof I)var N=0;else if(4===I[0]){var O=I[3];if(hx(O,bke))if(hx(O,Fke))N=0;else{var L=WXe(e),P=n(0,e)[2],R=GXe(e);if(\"number\"==typeof R){if(83<=R)if(95===R)var M=1;else if(84<=R){var j=1;M=0}else M=1;else if(79===R)M=1;else if(10<=R)j=1,M=0;else switch(R){case 1:case 4:case 9:M=1;break;default:j=1,M=0}if(M)h=f(e,y,P,0,0,0),N=1,j=0}else j=1;if(j){TGe(e,P);var U=r[3],X=XGe([0,y],(function(r){return u(r,0,0)}),e),G=X[2],J=mMe([0,L],0);h=[0,[0,[0,X[1],[3,G[1],G[2],J]]],U],N=1}}else{var q=WXe(e),z=n(0,e)[2],W=GXe(e);if(\"number\"==typeof W){if(83<=W)if(95===W)var V=1;else if(84<=W){var $=1;V=0}else V=1;else if(79===W)V=1;else if(10<=W)$=1,V=0;else switch(W){case 1:case 4:case 9:V=1;break;default:$=1,V=0}if(V)h=f(e,y,z,0,0,0),N=1,$=0}else $=1;if($){TGe(e,z);var Y=r[3],H=XGe([0,y],(function(r){return u(r,0,1)}),e),K=H[2],Q=mMe([0,q],0);h=[0,[0,[0,H[1],[2,K[1],K[2],Q]]],Y],N=1}}}else N=0;else N=0;else N=0;if(!N)h=f(e,y,n(0,e)[2],_,x,T)}var Z=h[1];if(1===Z[0])if(9===GXe(e))var rr=[0,JXe(e)],er=1;else er=0;else er=0;if(!er)rr=0;var tr=GXe(e);if(\"number\"==typeof tr){if(1===tr)var nr=1;else if(Ve===tr)nr=1;else{var ur=0;nr=0}if(nr)ur=1}else ur=0;ur||pGe(e,9);i=rr,c=[0,[0,Z,s],Bx(r[4],h[2],o)]}}),e),i=t[2];return[0,t[1],i[1],i[2]]},function(r,e){return XGe(0,(function(r){return[2,m([0,e],r,r[7],0)]}),r)},function(r){return XGe(0,d,r)},s,t]}(KGe),rJe=function(r){function e(r){var e=gx(HGe[11],r);if(r[6])cGe(r,e[1]);else{var t=e[2],n=e[1];if(23===t[0]){var u=t[1];0===u[4]?0===u[5]||sXe(r,[0,n,59]):sXe(r,[0,n,58])}}return e}function t(r,e,t){var n=t[2][1],u=t[1];if(hx(n,Che)){if(hx(n,whe))return hx(n,Ahe)?OXe(n)?iGe(e,[0,u,52]):MXe(n)?sXe(e,[0,u,[11,BMe(n)]]):r&&PXe(n)?iGe(e,[0,u,r[1]]):0:e[17]?sXe(e,[0,u,2]):iGe(e,[0,u,52]);if(e[6])return iGe(e,[0,u,52]);var a=e[14];return a?sXe(e,[0,u,[11,BMe(n)]]):a}var i=e[18];return i?sXe(e,[0,u,2]):i}function n(r,e){var t=e[4],n=e[3],u=e[2],a=e[1];t&&aGe(r,43);var i=WXe(r);return pGe(r,[2,[0,a,u,n,t]]),[0,a,[0,u,n,mMe([0,i],[0,lGe(r)])]]}function u(r,e,t){var n=r?r[1]:khe,u=e?e[1]:1,a=GXe(t);if(\"number\"==typeof a){var i=a-2|0;if(Uu>>0){if(!(ak<(i+1|0)>>>0)){return[1,[0,lGe(t),function(r,e){return r}]]}}else if(6===i){fGe(t);var c=GXe(t);if(\"number\"==typeof c)if(1===c||Ve===c?1:0)return[0,lGe(t)];return YXe(t)?[0,vGe(t)]:hhe}}return YXe(t)?[1,wGe(t)]:(u&&nGe([0,n],t),yhe)}function a(r){var e=GXe(r);if(\"number\"==typeof e&&(1===e||Ve===e?1:0)){return[0,lGe(r),function(r,e){return r}]}return YXe(r)?wGe(r):CGe(r)}function i(r,e,t){var n=u(0,0,e);if(0===n[0])return[0,n[1],t];var a=wye(t);if(a)var i=wye([0,Bx(n[1][2],a[1],(function(e,t){return Sx(wS(e,634872468,87),e,r,t)})),a[2]]);else i=a;return[0,0,i]}var c=function r(e){return r.fun(e)},f=function r(e){return r.fun(e)},o=function r(e){return r.fun(e)},s=function r(e){return r.fun(e)},l=function r(e){return r.fun(e)},v=function r(e,t){return r.fun(e,t)},D=function r(e){return r.fun(e)},p=function r(e){return r.fun(e)},b=function r(e,t,n){return r.fun(e,t,n)},F=function r(e){return r.fun(e)},m=function r(e){return r.fun(e)},d=function r(e,t){return r.fun(e,t)},E=function r(e){return r.fun(e)},k=function r(e){return r.fun(e)},h=function r(e,t){return r.fun(e,t)},y=function r(e){return r.fun(e)},C=function r(e,t){return r.fun(e,t)},w=function r(e){return r.fun(e)},A=function r(e,t){return r.fun(e,t)},_=function r(e){return r.fun(e)},g=function r(e,t){return r.fun(e,t)},B=function r(e,t){return r.fun(e,t)},S=function r(e,t){return r.fun(e,t)},x=function r(e){return r.fun(e)},T=function r(e){return r.fun(e)},I=function r(e){return r.fun(e)},N=function r(e,t,n){return r.fun(e,t,n)},O=function r(e,t){return r.fun(e,t)},L=function r(e){return r.fun(e)},P=function r(e){return r.fun(e)};function R(r){var e=WXe(r);pGe(r,59);var t=8===GXe(r)?1:0,n=t?lGe(r):t,a=u(0,0,r),i=0===a[0]?a[1]:a[1][1];return[4,[0,mMe([0,e],[0,fye(n,i)])]]}function M(r){var e=WXe(r);pGe(r,37);var t=kXe(1,r),n=gx($Ge[2],t),a=1-r[6];(a?UGe(n):a)&&cGe(r,n[1]);var i=lGe(r);pGe(r,25);var c=lGe(r);pGe(r,4);var f=gx($Ge[7],r);pGe(r,5);var o=8===GXe(r)?1:0,s=o?lGe(r):o,l=u(0,Ehe,r),v=0===l[0]?fye(s,l[1]):l[1][1];return[14,[0,n,f,mMe([0,e],[0,fye(i,fye(c,v))])]]}function j(r,e,t){var n=t[2][1];if(n&&!n[1][2][2]){var u=n[2];if(!u)return u}return sXe(r,[0,t[1],e])}function U(r,e){var t=1-r[6],n=t?UGe(e):t;return n?cGe(r,e[1]):n}function X(e){var t=WXe(e);pGe(e,39);var n=e[18],u=n?FGe(e,65):n,a=fye(t,WXe(e));pGe(e,4);var i=mMe([0,a],0),c=hXe(1,e),f=GXe(c);if(\"number\"==typeof f)if(24<=f)if(29<=f)var o=0;else{switch(f-24|0){case 0:var s=XGe(0,HGe[10],c),l=s[2],v=l[3],D=mMe([0,l[2]],0),p=[0,[0,[1,[0,s[1],[0,l[1],0,D]]]],v],b=1;break;case 3:var F=XGe(0,HGe[9],c),m=F[2],d=m[3],E=mMe([0,m[2]],0);p=[0,[0,[1,[0,F[1],[0,m[1],2,E]]]],d],b=1;break;case 4:var k=XGe(0,HGe[8],c),h=k[2],y=h[3],C=mMe([0,h[2]],0);p=[0,[0,[1,[0,k[1],[0,h[1],1,C]]]],y],b=1;break;default:o=0,b=0}if(b){var w=p[1],A=p[2];o=1}}else if(8===f)w=0,A=0,o=1;else o=0;else o=0;if(!o){var _=EXe(1,c);w=[0,[0,gx($Ge[8],_)]],A=0}var g=GXe(e);if(63!==g&&!u){if(\"number\"==typeof g&&17===g){if(w){var B=w[1];if(0===B[0])var S=[1,Sx(r[2],mhe,e,B[1])];else{var x=B[1];j(e,28,x);S=[0,x]}pGe(e,17);var T=gx($Ge[7],e);pGe(e,5);var I=kXe(1,e),N=gx($Ge[2],I);return U(e,N),[21,[0,S,T,N,0,i]]}throw[0,jx,dhe]}if(Bye((function(r){return sXe(e,r)}),A),pGe(e,8),w)var O=w[1],L=0===O[0]?[0,[1,Bx(r[1],e,O[1])]]:[0,[0,O[1]]];else L=w;var P=GXe(e);if(\"number\"==typeof P){var R=8!==P?1:0;if(R)var M=0;else{var X=R;M=1}}else M=0;if(!M)X=[0,gx($Ge[7],e)];pGe(e,8);var G=GXe(e);if(\"number\"==typeof G){var J=5!==G?1:0;if(J)var q=0;else{var z=J;q=1}}else q=0;if(!q)z=[0,gx($Ge[7],e)];pGe(e,5);var W=kXe(1,e),V=gx($Ge[2],W);return U(e,V),[20,[0,L,X,z,V,i]]}if(w){var $=w[1];if(0===$[0])var Y=[1,Sx(r[2],bhe,e,$[1])];else{var H=$[1];j(e,29,H);Y=[0,H]}pGe(e,63);var K=gx($Ge[10],e);pGe(e,5);var Q=kXe(1,e),Z=gx($Ge[2],Q);return U(e,Z),[22,[0,Y,K,Z,u,i]]}throw[0,jx,Fhe]}function G(r){var t=rGe(r)?e(r):gx($Ge[2],r),n=1-r[6];return(n?UGe(t):n)&&cGe(r,t[1]),t}function J(r){var e=WXe(r);return pGe(r,43),[0,G(r),mMe([0,e],0)]}function q(r){var e=WXe(r);pGe(r,16);var t=fye(e,WXe(r));pGe(r,4);var n=gx($Ge[7],r);pGe(r,5);var u=G(r),a=43===GXe(r)?1:0;return[24,[0,n,u,a?[0,XGe(0,J,r)]:a,mMe([0,t],0)]]}function z(r){1-r[11]&&tGe(r,35);var e=WXe(r);pGe(r,19);var t=8===GXe(r)?1:0,n=t?lGe(r):t;if(8===GXe(r))var a=0;else if(KXe(r))a=0;else{var i=[0,gx($Ge[7],r)];a=1}if(!a)i=0;var c=u(0,0,r);if(0===c[0])var f=c[1],o=0;else{var s=c[1];if(i){var l=n,v=[0,Bx(s[2],i[1],(function(r,e){return Bx(wS(r,LD,88),r,e)}))];o=1}else f=s[1],o=0}if(!o)l=fye(n,f),v=i;return[28,[0,v,mMe([0,e],[0,l])]]}function W(r){var e=WXe(r);pGe(r,20),pGe(r,4);var t=gx($Ge[7],r);pGe(r,5),pGe(r,0);for(var n=phe;;){var u=n[2],i=n[1],c=GXe(r);if(\"number\"==typeof c)if(1===c||Ve===c?1:0){var f=wye(u);return pGe(r,1),[29,[0,t,f,mMe([0,e],[0,a(r)[1]])]]}var o=JXe(r),s=WXe(r),l=GXe(r);if(\"number\"==typeof l)if(36===l){i&&tGe(r,31),pGe(r,36);var v=0,D=lGe(r),p=1}else p=0;else p=0;if(!p){pGe(r,33);v=[0,gx($Ge[7],r)],D=0}var b=i||(0===v?1:0),F=JXe(r);pGe(r,83);var m=fye(D,a(r)[1]),d=Bx($Ge[4],(function(r){if(\"number\"==typeof r){var e=r-1|0;if(32>>0?35===e?1:0:30<(e-1|0)>>>0?1:0)return 1}return 0}),[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],1,r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]]),E=wye(d),k=E?E[1][1]:F,h=[0,v,d,mMe([0,s],[0,m])];n=[0,b,[0,[0,lMe(o,k),h],u]]}}function V(r){var e=WXe(r),t=JXe(r);pGe(r,22),YXe(r)&&sXe(r,[0,t,21]);var n=gx($Ge[7],r),a=u(0,0,r);if(0===a[0])var i=[0,a[1],n];else i=[0,0,Bx(a[1][2],n,(function(r,e){return Bx(wS(r,LD,89),r,e)}))];var c=mMe([0,e],[0,i[1]]);return[30,[0,i[2],c]]}function $(r){var e=WXe(r);pGe(r,23);var t=gx($Ge[15],r);if(34===GXe(r))var n=Bx(AGe(r)[2],t,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,uD,27),r,t,e[2])]}));else n=t;var u=GXe(r);if(\"number\"==typeof u)if(34===u)var i=[0,XGe(0,(function(r){var e=WXe(r);pGe(r,34);var t=lGe(r),n=4===GXe(r)?1:0;if(n){pGe(r,4);var u=[0,Bx($Ge[18],r,38)];pGe(r,5);var i=u}else i=n;var c=gx($Ge[15],r);if(38===GXe(r))var f=c;else f=Bx(a(r)[2],c,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,uD,90),r,t,e[2])]}));return[0,i,f,mMe([0,e],[0,t])]}),r)],c=1;else c=0;else c=0;if(!c)i=0;var f=GXe(r);if(\"number\"==typeof f)if(38===f){pGe(r,38);var o=gx($Ge[15],r),s=o[1],l=a(r),v=[0,[0,s,Bx(l[2],o[2],(function(r,e){return Sx(wS(r,uD,91),r,s,e)}))]],D=1}else D=0;else D=0;if(!D)v=0;var p=0===i?1:0;return(p?0===v?1:0:p)&&sXe(r,[0,n[1],32]),[31,[0,n,i,v,mMe([0,e],0)]]}function Y(r){var e=gx(HGe[10],r),t=i(0,r,e[1]);Bye((function(e){return sXe(r,e)}),e[3]);var n=mMe([0,e[2]],[0,t[1]]);return[34,[0,t[2],0,n]]}function H(r){var e=gx(HGe[9],r),t=i(2,r,e[1]);Bye((function(e){return sXe(r,e)}),e[3]);var n=mMe([0,e[2]],[0,t[1]]);return[34,[0,t[2],2,n]]}function K(r){var e=gx(HGe[8],r),t=i(1,r,e[1]);Bye((function(e){return sXe(r,e)}),e[3]);var n=mMe([0,e[2]],[0,t[1]]);return[34,[0,t[2],1,n]]}function Q(r){var e=WXe(r);pGe(r,25);var t=fye(e,WXe(r));pGe(r,4);var n=gx($Ge[7],r);pGe(r,5);var u=kXe(1,r),a=gx($Ge[2],u),i=1-r[6];return(i?UGe(a):i)&&cGe(r,a[1]),[35,[0,n,a,mMe([0,t],0)]]}function Z(r){var t=WXe(r),n=gx($Ge[7],r),a=GXe(r),i=n[2];if(10===i[0]&&\"number\"==typeof a&&83===a){var c=i[1],f=c[2][1];pGe(r,83),Bx(WGe[3],f,r[3])&&sXe(r,[0,n[1],[16,vhe,f]]);var o=r[29],s=r[28],l=r[27],v=r[26],D=r[25],p=r[24],b=r[23],F=r[22],m=r[21],d=r[20],E=r[19],k=r[18],h=r[17],y=r[16],C=r[15],w=r[14],A=r[13],_=r[12],g=r[11],B=r[10],S=r[9],x=r[8],T=r[7],I=r[6],N=r[5],O=r[4],L=Bx(uXe[4],f,r[3]),P=[0,r[1],r[2],L,O,N,I,T,x,S,B,g,_,A,w,C,y,h,k,E,d,m,F,b,p,D,v,l,s,o];return[27,[0,c,rGe(P)?e(P):gx($Ge[2],P),mMe([0,t],0)]]}var R=u(Dhe,0,r);if(0===R[0])var M=[0,R[1],n];else M=[0,0,Bx(R[1][2],n,(function(r,e){return Bx(wS(r,LD,92),r,e)}))];var j=mMe(0,[0,M[1]]);return[19,[0,M[2],0,j]]}function rr(r){var e=gx($Ge[7],r),t=u(lhe,0,r);if(0===t[0])var n=[0,t[1],e];else n=[0,0,Bx(t[1][2],e,(function(r,e){return Bx(wS(r,LD,93),r,e)}))];var a=n[2],i=r[19];if(i){var c=a[2];if(14===c[0]){var f=c[1],o=f[1];if(\"number\"==typeof o)var s=1;else if(0===o[0]){var l=f[2],v=[0,Gye(l,1,RS(l)-2|0)],D=1;s=0}else s=1;if(s)D=0}else D=0;if(!D)v=0;var p=v}else p=i;return[19,[0,a,p,mMe(0,[0,n[1]])]]}function er(r){return XGe(0,rr,r)}function tr(r,e){var t=e[2];switch(t[0]){case 0:return Sye((function(r,e){return tr(r,0===e[0]?e[1][2][2]:e[1][2][1])}),r,t[1][1]);case 1:return Sye((function(r,e){return 2===e[0]?r:tr(r,e[1][2][1])}),r,t[1][1]);case 2:return[0,t[1][1],r];default:return nye(she)}}function nr(r){bGe(r,che);var e=GXe(r);if(\"number\"!=typeof e&&2===e[0])return n(r,e[1]);var t=[0,JXe(r),fhe];return nGe(ohe,r),t}function ur(r,e,t){function n(e){return r?gx(YGe[2],e):Bx($Ge[13],0,e)}var u=UXe(1,t);if(\"number\"==typeof u)switch(u){case 1:case 9:case 110:return[0,n(t),0]}else if(4===u[0]&&!hx(u[3],ihe)){var a=jGe(t);return fGe(t),[0,a,[0,n(t)]]}var i=GXe(t);if(e&&\"number\"==typeof i&&!(46===i||61===i?0:1))return tGe(t,e[1]),fGe(t),[0,gx(YGe[2],t),0];return[0,n(t),0]}function ar(r,e){var n=JXe(r),u=GXe(r);if(\"number\"==typeof u&&$l===u){pGe(r,$l),bGe(r,Zke);var a=2<=e?Bx($Ge[13],0,r):gx(YGe[2],r);return[1,[0,lMe(n,a[1]),a]]}pGe(r,0);for(var i=0,c=0;;){var f=i?i[1]:1,o=GXe(r);if(\"number\"==typeof o)if(1===o||Ve===o?1:0){var s=wye(c);return pGe(r,1),[0,s]}switch(1-f&&tGe(r,82),e){case 0:var l=ur(1,ehe,r),v=[0,0,l[2],l[1]];break;case 1:var D=ur(1,rhe,r);v=[0,0,D[2],D[1]];break;default:var p=GXe(r);if(\"number\"==typeof p)if(46===p)var b=nhe,F=1;else if(61===p)b=the,F=1;else F=0;else F=0;if(!F)b=0;var m=GXe(r);if(\"number\"==typeof m){if(46===m)var d=1;else if(61===m)d=1;else{var E=0;d=0}if(d){var k=1;E=1}}else E=0;if(!E)k=0;if(k){var h=jGe(r),y=GXe(r);if(\"number\"==typeof y)switch(y){case 1:case 9:case 110:t(0,r,h);var C=[0,0,0,h],w=1;break;default:w=0}else if(4===y[0])if(hx(y[3],uhe))w=0;else{var A=UXe(1,r);if(\"number\"==typeof A)switch(A){case 1:case 9:case 110:C=[0,b,0,gx(YGe[2],r)],w=1;var _=0;break;default:_=1}else if(4===A[0])if(hx(A[3],ahe))_=1;else{var g=jGe(r);fGe(r);C=[0,b,[0,gx(YGe[2],r)],g],w=1,_=0}else _=1;if(_){t(0,r,h),fGe(r);C=[0,0,[0,Bx($Ge[13],0,r)],h],w=1}}else w=0;if(!w){var B=ur(1,0,r);C=[0,b,B[2],B[1]]}}else{var S=ur(0,0,r);C=[0,0,S[2],S[1]]}v=C}i=[0,FGe(r,9)],c=[0,v,c]}}function ir(r,e){var t=u(0,0,r);if(0===t[0])return[0,t[1],e];return[0,0,Bx(t[1][2],e,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,mB,94),r,t,e[2])]}))]}function cr(r,e,t){var n=[0,ar(e,r)],u=ir(e,nr(e)),a=mMe([0,t],[0,u[1]]);return[25,[0,r,u[2],0,n,a]]}function fr(r,e,t){var n=2<=r?Bx($Ge[13],0,e):gx(YGe[2],e),u=GXe(e);if(\"number\"==typeof u)if(9===u){pGe(e,9);var a=[0,ar(e,r)],i=1}else i=0;else i=0;if(!i)a=0;var c=ir(e,nr(e)),f=mMe([0,t],[0,c[1]]);return[25,[0,r,c[2],[0,n],a,f]]}function or(r){var e=pXe(1,r),t=WXe(e);pGe(e,50);var u=GXe(e);if(\"number\"==typeof u)switch(u){case 46:if(oXe(e)){pGe(e,46);var a=GXe(e);if(\"number\"==typeof a)if($l===a||0===a?1:0)return cr(1,e,t);return fr(1,e,t)}break;case 61:if(oXe(e)){var i=UXe(1,e);if(\"number\"==typeof i)switch(i){case 0:return fGe(e),cr(0,e,t);case 103:return fGe(e),nGe(0,e),cr(0,e,t);case 9:var c=1;break;default:c=0}else c=4===i[0]?hx(i[3],Qke)?0:1:0;return c?fr(2,e,t):(fGe(e),fr(0,e,t))}break;case 0:case 103:return cr(2,e,t)}else if(2===u[0]){var f=ir(e,n(e,u[1])),o=mMe([0,t],[0,f[1]]);return[25,[0,2,f[2],0,0,o]]}return fr(2,e,t)}function sr(r){return XGe(0,or,r)}return XB(c,(function(r){var e=JXe(r),t=WXe(r);return pGe(r,8),[0,e,[15,[0,mMe([0,t],[0,a(r)[1]])]]]})),XB(f,(function(r){var e=WXe(r),t=XGe(0,(function(r){if(pGe(r,32),8===GXe(r))var e=0;else if(KXe(r))e=0;else{var t=Bx($Ge[13],0,r),n=t[2][1];1-Bx(WGe[3],n,r[3])&&tGe(r,[15,n]);var a=[0,t];e=1}if(!e)a=0;var i=u(0,0,r);if(0===i[0])var c=i[1],f=0;else{var o=i[1];if(a){var s=0,l=[0,Bx(o[2],a[1],(function(r,e){return Bx(wS(r,sB,95),r,e)}))];f=1}else c=o[1],f=0}if(!f)s=c,l=a;return[0,l,s]}),r),n=t[2],a=n[1],i=t[1],c=0===a?1:0;if(c)var f=1-(r[8]||r[9]);else f=c;return f&&sXe(r,[0,i,34]),[0,i,[1,[0,a,mMe([0,e],[0,n[2]])]]]})),XB(o,(function(r){var e=WXe(r),t=XGe(0,(function(r){if(pGe(r,35),8===GXe(r))var e=0;else if(KXe(r))e=0;else{var t=Bx($Ge[13],0,r),n=t[2][1];1-Bx(WGe[3],n,r[3])&&tGe(r,[15,n]);var a=[0,t];e=1}if(!e)a=0;var i=u(0,0,r);if(0===i[0])var c=i[1],f=0;else{var o=i[1];if(a){var s=0,l=[0,Bx(o[2],a[1],(function(r,e){return Bx(wS(r,sB,96),r,e)}))];f=1}else c=o[1],f=0}if(!f)s=c,l=a;return[0,l,s]}),r),n=t[2],a=t[1];1-r[8]&&sXe(r,[0,a,33]);var i=mMe([0,e],[0,n[2]]);return[0,a,[3,[0,n[1],i]]]})),XB(s,(function(r){var e=XGe(0,(function(r){var e=WXe(r);pGe(r,26);var t=fye(e,WXe(r));pGe(r,4);var n=gx($Ge[7],r);pGe(r,5);var u=gx($Ge[2],r),a=1-r[6];return(a?UGe(u):a)&&cGe(r,u[1]),[36,[0,n,u,mMe([0,t],0)]]}),r),t=e[1];return iGe(r,[0,t,37]),[0,t,e[2]]})),XB(l,(function(r){var e=gx($Ge[15],r),t=e[1],n=a(r);return[0,t,[0,Bx(n[2],e[2],(function(r,e){return Sx(wS(r,uD,97),r,t,e)}))]]})),XB(v,(function(r,e){1-oXe(e)&&tGe(e,10);var t=fye(r,WXe(e));pGe(e,61),oGe(e,1);var n=gx(YGe[2],e),a=95===GXe(e)?_Ge(e,n):n,i=gx(YGe[3],e);pGe(e,79);var c=gx(YGe[1],e);sGe(e);var f=u(0,0,e);if(0===f[0])var o=[0,f[1],c];else o=[0,0,Bx(f[1][2],c,(function(r,e){return Bx(wS(r,lc,98),r,e)}))];var s=mMe([0,t],[0,o[1]]);return[0,a,i,o[2],s]})),XB(D,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[11,Bx(v,e,r)]}),r)})),XB(p,(function(r){if(QXe(1,r)&&!HXe(1,r)){var e=XGe(0,gx(v,0),r);return[0,e[1],[32,e[2]]]}return gx($Ge[2],r)})),XB(b,(function(r,e,t){var n=r?r[1]:r;1-oXe(t)&&tGe(t,11);var a=fye(e,WXe(t));pGe(t,62);var i=WXe(t);pGe(t,61);var c=fye(a,i);oGe(t,1);var f=gx(YGe[2],t),o=95===GXe(t)?_Ge(t,f):f,s=gx(YGe[3],t),l=GXe(t);if(\"number\"==typeof l)if(83===l){pGe(t,83);var v=[0,gx(YGe[1],t)],D=1}else D=0;else D=0;if(!D)v=0;var p=1-n,b=p?(pGe(t,79),[0,gx(YGe[1],t)]):p;sGe(t);var F=u(0,0,t);if(0===F[0])var m=[0,F[1],o,s,v,b];else{var d=F[1][2];if(b)var E=[0,0,o,s,v,[0,Bx(d,b[1],(function(r,e){return Bx(wS(r,lc,99),r,e)}))]];else if(v)E=[0,0,o,s,[0,Bx(d,v[1],(function(r,e){return Bx(wS(r,lc,Fu),r,e)}))],0];else if(s)E=[0,0,o,[0,Bx(d,s[1],(function(r,e){return Bx(wS(r,iE,CE),r,e)}))],0,0];else E=[0,0,Bx(d,o,(function(r,e){return Bx(wS(r,sB,EE),r,e)})),0,0,0];m=E}var k=mMe([0,c],[0,m[1]]);return[0,m[2],m[3],m[5],m[4],k]})),XB(F,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[12,Sx(b,Kke,e,r)]}),r)})),XB(m,(function(r){var e=UXe(1,r);if(\"number\"==typeof e&&61===e){var t=XGe(0,Bx(b,Hke,0),r);return[0,t[1],[33,t[2]]]}return gx($Ge[2],r)})),XB(d,(function(r,e){1-oXe(e)&&tGe(e,16);var t=fye(r,WXe(e));pGe(e,53);var n=gx(YGe[2],e),u=41===GXe(e)?n:_Ge(e,n),i=gx(YGe[3],e),c=41===GXe(e)?i:gGe(e,i),f=gx(YGe[7],e);var o=Bx(a(e)[2],f[2],(function(r,e){var t=e[1];return[0,t,Sx(wS(r,pv,$l),r,t,e[2])]})),s=mMe([0,t],0);return[0,u,c,f[1],o,s]})),XB(E,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[8,Bx(d,e,r)]}),r)})),XB(k,(function(r){var e=QXe(1,r);if(e)var t=e;else{var n=fXe(r);if(1===n){var u=UXe(1,r);if(\"number\"==typeof u)var a=0;else if(4===u[0])t=1,a=1;else a=0;if(!a)t=0}else if(0===n){var i=UXe(1,r);if(\"number\"==typeof i)switch(i){case 42:case 46:case 47:t=0;var c=1;break;case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 65:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:c=0;break;default:t=0,c=1}else switch(i[0]){case 4:if(jXe(i[3]))t=0,c=1;else c=0;break;case 9:case 10:case 11:c=0;break;default:t=0,c=1}if(!c)t=1}else t=0}if(t){var f=XGe(0,gx(d,0),r);return[0,f[1],[26,f[2]]]}return er(r)})),XB(h,(function(r,e){var t=pXe(1,e),n=fye(r,WXe(t));pGe(t,40);var u=Bx($Ge[13],0,t),i=GXe(t);if(\"number\"==typeof i){if(95===i)var c=1;else if(0===i)c=1;else{var f=0;c=0}if(c){var o=_Ge(t,u);f=1}}else f=0;if(!f)o=u;var s=gx(YGe[3],t),l=GXe(t);if(\"number\"==typeof l)if(0===l)var v=gGe(t,s),D=1;else D=0;else D=0;if(!D)v=s;var p=FGe(t,41);if(p){var b=gx(YGe[5],t),F=GXe(t);if(\"number\"==typeof F)if(0===F)var m=[0,Bx(AGe(t)[2],b,(function(r,e){return uMe(gx(wS(r,Ea,34),r),e)}))],d=1;else d=0;else d=0;if(!d)m=[0,b];var E=m}else E=p;var k=GXe(t);if(\"number\"==typeof k)var h=0;else if(4===k[0])if(hx(k[3],Yke))h=0;else{fGe(t);for(var y=0;;){var C=[0,gx(YGe[5],t),y],w=GXe(t);if(\"number\"!=typeof w||9!==w){var A=wye(C),_=GXe(t);if(\"number\"==typeof _)if(0===_)var g=IGe(t,A),B=1;else B=0;else B=0;if(!B)g=A;var S=g;h=1;break}pGe(t,9);y=C}}else h=0;if(!h)S=0;var x=GXe(t);if(\"number\"==typeof x)if(52===x){var T=Bx(ZGe[5],t,0),I=GXe(t);if(\"number\"==typeof I)if(0===I)var N=[0,NGe(t,T)],O=1;else O=0;else O=0;if(!O)N=[0,T];var L=N,P=1}else P=0;else P=0;if(!P)L=0;var R=Bx(YGe[6],1,t);return[0,o,v,Bx(a(t)[2],R,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,pv,sE),r,t,e[2])]})),E,S,L,mMe([0,n],0)]})),XB(y,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[5,Bx(h,e,r)]}),r)})),XB(C,(function(r,e){var t=fye(r?r[1]:r,WXe(e));pGe(e,15);var n=_Ge(e,Bx($Ge[13],0,e)),a=JXe(e),i=gGe(e,gx(YGe[3],e)),c=gx(YGe[8],e);pGe(e,83);var f=gx(YGe[1],e);oGe(e,1);var o=GXe(e);if(sGe(e),66===o)var s=Bx(AGe(e)[2],f,(function(r,e){return Bx(wS(r,lc,29),r,e)}));else s=f;var l=lMe(a,s[1]),v=[0,l,[12,[0,i,c,s,0]]],D=gx(YGe[11],e),p=u(0,0,e);if(0===p[0])var b=[0,p[1],v,D];else{var F=p[1][2];if(D)var m=[0,0,v,[0,Bx(F,D[1],(function(r,e){return Bx(wS(r,zo,tg),r,e)}))]];else m=[0,0,Bx(F,v,(function(r,e){return Bx(wS(r,lc,Ma),r,e)})),0];b=m}var d=[0,l,b[2]],E=mMe([0,t],[0,b[1]]);return[0,n,d,b[3],E]})),XB(w,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,60);var t=GXe(r);\"number\"==typeof t&&64===t&&(tGe(r,64),pGe(r,64));return[7,Bx(C,[0,e],r)]}),r)})),XB(A,(function(r,e){var t=fye(e,WXe(r));pGe(r,24);var n=Sx($Ge[14],r,$ke,39)[2],a=n[2],i=n[1],c=u(0,0,r);if(0===c[0])var f=[0,c[1],i,a];else{var o=c[1][2];f=0===a[0]?[0,0,Bx(o,i,(function(r,e){return Bx(wS(r,sB,Uu),r,e)})),a]:[0,0,i,Bx(o,a,(function(r,e){return Bx(wS(r,PF,Bb),r,e)}))]}var s=mMe([0,t],[0,f[1]]);return[0,f[2],f[3],s]})),XB(_,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[13,Bx(A,r,e)]}),r)})),XB(g,(function(r,e){var t=r?r[1]:r,u=JXe(e),i=WXe(e);pGe(e,60);var c=fye(i,WXe(e));if(bGe(e,Vke),!t&&10!==GXe(e)){var f=GXe(e);if(\"number\"==typeof f)var o=0;else if(2===f[0]){var s=n(e,f[1]),l=[1,Bx(AGe(e)[2],s,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,mB,37),r,t,e[2])]}))];o=1}else o=0;if(!o)l=[0,_Ge(e,Bx($Ge[13],0,e))];var v=XGe(0,(function(r){var e=WXe(r);pGe(r,0);for(var t=0,n=0;;){var u=GXe(r);if(\"number\"==typeof u)if(1===u||Ve===u?1:0){var i=wye(n),c=0===i?1:0,f=c?WXe(r):c;return pGe(r,1),[0,[0,t,i],dMe([0,e],[0,a(r)[1]],f)]}var o=Bx(S,Wke,r),s=o[2],l=o[1];if(t)if(0===t[1][0])switch(s[0]){case 6:var v=s[1][2];if(v)switch(v[1][0]){case 4:case 6:var D=1;break;default:D=0}else D=0;D||tGe(r,77);var p=t,b=1;break;case 10:tGe(r,76);p=t,b=1;break;default:b=0}else if(10===s[0]){tGe(r,77);p=t,b=1}else b=0;else switch(s[0]){case 6:var F=s[1][2];if(F)switch(F[1][0]){case 4:case 6:var m=t,d=1;break;default:d=0}else d=0;if(!d)m=[0,[1,l]];p=m,b=1;break;case 10:p=[0,[0,l]],b=1;break;default:b=0}if(!b)p=t;t=p,n=[0,o,n]}}),e),D=v[2],p=D[1],b=p[1],F=v[1],m=[0,F,[0,p[2],D[2]]],d=lMe(u,F);return[0,d,[9,[0,l,m,b?b[1]:[0,d],mMe([0,c],0)]]]}var E=XGe(0,gx(B,c),e),k=E[2];return[0,lMe(u,E[1]),k]})),XB(B,(function(r,e){var t=WXe(e);pGe(e,10);var n=WXe(e);bGe(e,zke);var a=Aye([0,r,[0,t,[0,n,[0,WXe(e),0]]]]),i=gx(YGe[9],e),c=u(0,0,e);if(0===c[0])var f=[0,i,c[1]];else f=[0,Bx(c[1][2],i,(function(r,e){return Bx(wS(r,zv,ak),r,e)})),0];var o=mMe([0,a],[0,f[2]]);return[10,[0,f[1],o]]})),XB(S,(function(r,e){var t=r?r[1]:r;1-oXe(e)&&tGe(e,13);var n=UXe(1,e);if(\"number\"==typeof n)switch(n){case 24:return gx(_,e);case 40:return gx(y,e);case 46:if(50===GXe(e))return sr(e);break;case 49:if(t)return Bx(P,[0,t],e);break;case 53:return gx(E,e);case 61:var u=GXe(e);return\"number\"==typeof u&&50===u&&t?sr(e):gx(D,e);case 62:return gx(F,e);case 15:case 64:return gx(w,e)}else if(4===n[0]&&!hx(n[3],qke))return Bx(g,[0,t],e);if(t){var a=GXe(e);return\"number\"==typeof a&&50===a?(tGe(e,80),gx($Ge[2],e)):gx(_,e)}return gx($Ge[2],e)})),XB(x,(function(r){bGe(r,Xke);var e=GXe(r);if(\"number\"!=typeof e&&2===e[0])return n(r,e[1]);var t=[0,JXe(r),Gke];return nGe(Jke,r),t})),XB(T,(function(r){var e=gx(x,r),t=e[2],n=e[1],a=u(0,0,r);if(0===a[0])return[0,[0,n,t],a[1]];return[0,[0,n,Bx(a[1][2],t,(function(r,e){return Sx(wS(r,mB,Ve),r,n,e)}))],0]})),XB(I,(function(r){return r[2][1]})),XB(N,(function(r,e,t){var n=r?r[1]:1,u=GXe(e);if(\"number\"==typeof u&&(1===u||Ve===u?1:0))return wye(t);1-n&&tGe(e,83);var a=XGe(0,(function(r){var e=jGe(r),t=GXe(r);if(\"number\"==typeof t)var n=0;else if(4===t[0])if(hx(t[3],Uke))n=0;else{fGe(r);var u=jGe(r);lXe(r,u);var a=[0,u];n=1}else n=0;if(!n){lXe(r,e);a=0}return[0,e,a]}),e);return Sx(N,[0,FGe(e,9)],e,[0,a,t])})),XB(O,(function(r,e){return Bye((function(e){var n=e[2];return n[2]?0:t(jke,r,n[1])}),e)})),XB(L,(function(r){function e(e){var t=CXe(1,pXe(1,e)),n=JXe(t),a=WXe(t);pGe(t,49);var i=GXe(t);if(\"number\"==typeof i)if(65<=i){if($l===i){var c=JXe(t);pGe(t,$l);var f=t[26][5],o=GXe(t);if(\"number\"==typeof o)var s=0;else if(4===o[0])if(hx(o[3],Nke))s=0;else{fGe(t);var l=f?[0,Bx($Ge[13],0,t)]:(tGe(t,13),0);s=1}else s=0;if(!s)l=0;var D=gx(T,t),p=mMe([0,a],[0,D[2]]);return[18,[0,0,[0,[1,c,l]],[0,D[1]],1,p]]}}else if(13<=i)switch(i-13|0){case 23:var F=fye(a,WXe(t)),m=XGe(0,(function(r){return pGe(r,36)}),t);if(lXe(t,bMe(0,[0,lMe(n,JXe(t)),Oke])),rGe(t))var d=[0,gx(HGe[11],t)],E=0;else if(eGe(t))d=[0,Bx(ZGe[3],t,r)],E=0;else if(48===GXe(t))d=[0,gx(HGe[12],t)],E=0;else{var h=gx($Ge[10],t),y=u(0,0,t);if(0===y[0])var C=[0,h,y[1]];else C=[0,Bx(y[1][2],h,(function(r,e){return Bx(wS(r,LD,Jr),r,e)})),0];d=[1,C[1]],E=C[2]}var w=mMe([0,F],[0,E]);return[17,[0,m[1],d,w]];case 40:1-oXe(t)&&tGe(t,15);var A=gx(k,t),_=A[2];if(26===_[0]){var g=gx(I,_[1][1]);lXe(t,bMe(0,[0,A[1],g]))}else nye(iye(Pke,Lke));return[18,[0,[0,A],0,0,0,mMe([0,a],0)]];case 48:if(0!==UXe(1,t)){1-oXe(t)&&tGe(t,15);var B=UXe(1,t);if(\"number\"==typeof B){if(48===B)return tGe(t,0),pGe(t,61),[18,[0,0,0,0,0,mMe([0,a],0)]];if($l===B){pGe(t,61);var S=JXe(t);pGe(t,$l);var x=gx(T,t),L=mMe([0,a],[0,x[2]]);return[18,[0,0,[0,[1,S,0]],[0,x[1]],0,L]]}}var P=XGe(0,gx(v,0),t),R=P[2],M=P[1];return lXe(t,bMe(0,[0,M,gx(I,R[1])])),[18,[0,[0,[0,M,[32,R]]],0,0,0,mMe([0,a],0)]]}break;case 49:var j=XGe(0,(function(r){return gx(Bx(b,0,0),r)}),t),U=j[2],X=j[1];return lXe(t,bMe(0,[0,X,gx(I,U[1])])),[18,[0,[0,[0,X,[33,U]]],0,0,0,mMe([0,a],0)]];case 0:case 2:case 11:case 14:case 15:case 27:case 35:case 51:var G=Bx($Ge[3],[0,r],t),J=G[2],q=G[1];switch(J[0]){case 2:var z=J[1][1];if(z)var W=z[1],V=1;else{sXe(t,[0,q,72]);var $=0;V=0}break;case 16:W=J[1][1],V=1;break;case 23:var Y=J[1][1];if(Y)W=Y[1],V=1;else{sXe(t,[0,q,73]);$=0,V=0}break;case 34:$=Sye((function(r,e){return Sye(tr,r,[0,e[2][1],0])}),0,J[1][1]),V=0;break;default:$=nye(Mke),V=0}return Bye((function(r){return lXe(t,r)}),V?[0,bMe(0,[0,q,gx(I,W)]),0]:$),[18,[0,[0,G],0,0,1,mMe([0,a],0)]]}var H=GXe(t);if(\"number\"==typeof H)if(61===H){fGe(t);var K=0,Q=1}else Q=0;else Q=0;if(!Q)K=1;pGe(t,0);var Z=Sx(N,0,t,0);pGe(t,1);var rr=GXe(t);if(\"number\"==typeof rr)var er=0;else if(4===rr[0])if(hx(rr[3],Rke))er=0;else{var nr=gx(T,t),ur=[0,nr[1]],ar=nr[2];er=1}else er=0;if(!er){Bx(O,t,Z);var ir=u(0,0,t);ur=0,ar=0===ir[0]?ir[1]:ir[1][1]}return[18,[0,0,[0,[0,Z]],ur,K,mMe([0,a],[0,ar])]]}return function(r){return XGe(0,e,r)}})),XB(P,(function(r){var e=r?r[1]:r;function t(r){1-oXe(r)&&tGe(r,13);var t=WXe(r);pGe(r,60);var n=CXe(1,pXe(1,r)),a=fye(t,WXe(n));pGe(n,49);var i=GXe(n);if(\"number\"==typeof i)if(53<=i){if($l===i){var c=JXe(n);pGe(n,$l);var f=n[26][5],o=GXe(n);if(\"number\"==typeof o)var s=0;else if(4===o[0])if(hx(o[3],xke))s=0;else{fGe(n);var l=f?[0,Bx($Ge[13],0,n)]:(tGe(n,13),0);s=1}else s=0;if(!s)l=0;var D=gx(T,n),p=mMe([0,a],[0,D[2]]);return[6,[0,0,0,[0,[1,c,l]],[0,D[1]],p]]}if(!(63<=i))switch(i-53|0){case 0:if(e)return[6,[0,0,[0,[6,XGe(0,gx(d,0),n)]],0,0,mMe([0,a],0)]];break;case 8:if(e)return[6,[0,0,[0,[4,XGe(0,gx(v,0),n)]],0,0,mMe([0,a],0)]];break;case 9:return[6,[0,0,[0,[5,XGe(0,Bx(b,Ske,0),n)]],0,0,mMe([0,a],0)]]}}else{var F=i-15|0;if(!(25>>0))switch(F){case 21:var m=fye(a,WXe(n)),E=XGe(0,(function(r){return pGe(r,36)}),n),k=GXe(n);if(\"number\"==typeof k)if(15===k)var y=[0,[1,XGe(0,(function(r){return Bx(C,0,r)}),n)]],w=0,_=1;else if(40===k)y=[0,[2,XGe(0,gx(h,0),n)]],w=0,_=1;else _=0;else _=0;if(!_){var g=gx(YGe[1],n),B=u(0,0,n);if(0===B[0])var S=[0,g,B[1]];else S=[0,Bx(B[1][2],g,(function(r,e){return Bx(wS(r,lc,Be),r,e)})),0];y=[0,[3,S[1]]],w=S[2]}var x=mMe([0,m],[0,w]);return[6,[0,[0,E[1]],y,0,0,x]];case 0:case 9:case 12:case 13:case 25:var I=GXe(n);if(\"number\"==typeof I){if(25<=I)if(29<=I)if(40===I)var L=[0,[2,XGe(0,gx(h,0),n)]],P=2;else P=0;else P=27<=I?1:0;else if(15===I)L=[0,[1,XGe(0,(function(r){return Bx(C,0,r)}),n)]],P=2;else P=24<=I?1:0;switch(P){case 0:var R=0;break;case 1:\"number\"==typeof I&&(27===I?tGe(n,68):28===I&&tGe(n,67)),L=[0,[0,XGe(0,(function(r){return Bx(A,r,0)}),n)]],R=1;break;default:R=1}if(R)return[6,[0,0,L,0,0,mMe([0,a],0)]]}throw[0,jx,Ike]}}var M=GXe(n);\"number\"==typeof M&&(53===M?tGe(n,70):61===M&&tGe(n,69));pGe(n,0);var j=Sx(N,0,n,0);pGe(n,1);var U=GXe(n);if(\"number\"==typeof U)var X=0;else if(4===U[0])if(hx(U[3],Tke))X=0;else{var G=gx(T,n),J=[0,G[1]],q=G[2];X=1}else X=0;if(!X){Bx(O,n,j);var z=u(0,0,n);J=0,q=0===z[0]?z[1]:z[1][1]}return[6,[0,0,0,[0,[0,j]],J,mMe([0,a],[0,q])]]}return function(r){return XGe(0,t,r)}})),[0,function(r){return XGe(0,X,r)},function(r){return XGe(0,q,r)},function(r){return XGe(0,K,r)},function(r){return XGe(0,$,r)},function(r){return XGe(0,Q,r)},s,l,f,o,function(r){return XGe(0,R,r)},S,P,F,function(r){return XGe(0,M,r)},c,L,er,sr,k,function(r){return XGe(0,Z,r)},m,function(r){return XGe(0,z,r)},function(r){return XGe(0,W,r)},function(r){return XGe(0,V,r)},p,function(r){return XGe(0,Y,r)},function(r){return XGe(0,H,r)}]}(KGe),eJe=function(r){var e=function r(e,t){return r.fun(e,t)},t=function r(e,t){return r.fun(e,t)},n=function r(e,t){return r.fun(e,t)};function u(r,e){return gx($Ge[23],e)?[0,Bx(n,r,e)]:(sXe(r,[0,e[1],26]),0)}function a(e){function t(r){var e=GXe(r);return\"number\"==typeof e&&79===e?(pGe(r,79),[0,gx($Ge[10],r)]):0}function n(n){var u=WXe(n);pGe(n,0);for(var a=0,i=0,f=0;;){var o=GXe(n);if(\"number\"==typeof o)if(1===o||Ve===o?1:0){i&&sXe(n,[0,i[1],97]);var s=wye(f),l=WXe(n);pGe(n,1);var v=lGe(n);return[0,[0,s,83===GXe(n)?[1,gx(r[9],n)]:zGe(n),dMe([0,u],[0,v],l)]]}if(12===GXe(n))var D=WXe(n),p=XGe(0,(function(r){return pGe(r,12),c(r,e)}),n),b=mMe([0,D],0),F=[0,[1,[0,p[1],[0,p[2],b]]]];else{var m=JXe(n),d=Bx($Ge[20],0,n),E=GXe(n);if(\"number\"==typeof E)if(83===E){pGe(n,83);var k=XGe([0,m],(function(r){return[0,c(r,e),t(r)]}),n),h=k[2],y=d[2];switch(y[0]){case 0:var C=[0,y[1]];break;case 1:C=[1,y[1]];break;case 2:C=nye(hke);break;default:C=[2,y[1]]}F=[0,[0,[0,k[1],[0,C,h[1],h[2],0]]]];var w=1}else w=0;else w=0;if(!w){var A=d[2];if(1===A[0]){var _=A[1],g=_[2][1],B=_[1];(MXe(g)&&hx(g,Cke)&&hx(g,wke)?(sXe(n,[0,B,2]),1):0)||OXe(g)&&iGe(n,[0,B,52]);var S=XGe([0,m],function(r,e){return function(n){return[0,[0,e,[2,[0,r,zGe(n),0]]],t(n)]}}(_,B),n),x=S[2];F=[0,[0,[0,S[1],[0,[1,_],x[1],x[2],1]]]]}else{nGe(yke,n);F=0}}}if(F){var T=F[1],I=a?(sXe(n,[0,T[1][1],63]),0):i;if(0===T[0])var N=a,O=I;else{var L=9===GXe(n)?1:0;N=1,O=L?[0,JXe(n)]:L}1!==GXe(n)&&pGe(n,9);a=N,i=O,f=[0,T,f]}else;}}return function(r){return XGe(0,n,r)}}function i(e){function t(t){var n=WXe(t);pGe(t,6);for(var u=0;;){var a=GXe(t);if(\"number\"==typeof a){if(13<=a)var i=Ve===a?1:0;else if(7<=a)switch(a-7|0){case 2:var f=JXe(t);pGe(t,9);u=[0,[2,f],u];continue;case 5:var o=WXe(t),s=XGe(0,(function(r){return pGe(r,12),c(r,e)}),t),l=s[1],v=mMe([0,o],0),D=[1,[0,l,[0,s[2],v]]];7!==GXe(t)&&(sXe(t,[0,l,62]),9===GXe(t)&&fGe(t));u=[0,D,u];continue;case 0:i=1;break;default:i=0}else i=0;if(i){var p=wye(u),b=WXe(t);return pGe(t,7),[1,[0,p,83===GXe(t)?[1,gx(r[9],t)]:zGe(t),dMe([0,n],[0,lGe(t)],b)]]}}var F=XGe(0,(function(r){var t=c(r,e),n=GXe(r);if(\"number\"==typeof n)if(79===n){pGe(r,79);var u=[0,gx($Ge[10],r)],a=1}else a=0;else a=0;if(!a)u=0;return[0,t,u]}),t),m=F[2],d=[0,[0,F[1],[0,m[1],m[2]]]];7!==GXe(t)&&pGe(t,9);u=[0,d,u]}}return function(r){return XGe(0,t,r)}}function c(r,e){var t=GXe(r);if(\"number\"==typeof t){if(6===t)return gx(i(e),r);if(0===t)return gx(a(e),r)}var n=Sx($Ge[14],r,0,e);return[0,n[1],[2,n[2]]]}return XB(e,(function(r,e){for(var t=e[2],u=t[2],a=zGe(r),i=0,c=t[1];;){if(!c){var f=[0,[0,wye(i),a,u]];return[0,e[1],f]}var o=c[1];if(0!==o[0]){var s=c[2],l=o[1],v=l[2],D=l[1];if(s){sXe(r,[0,D,63]);c=s}else{var p=v[2];i=[0,[1,[0,D,[0,Bx(n,r,v[1]),p]]],i],c=0}}else{var b=o[1],F=b[2];switch(F[0]){case 0:var m=F[2],d=F[1];switch(d[0]){case 0:var E=[0,d[1]];break;case 1:E=[1,d[1]];break;case 2:E=nye(gke);break;default:E=[2,d[1]]}var k=m[2];if(2===k[0]){var h=k[1];if(h[1])var y=0;else{var C=h[2],w=[0,h[3]];y=1}}else y=0;if(!y)C=Bx(n,r,m),w=0;var A=[0,[0,[0,b[1],[0,E,C,w,F[3]]]],i];break;case 1:sXe(r,[0,F[2][1],96]);A=i;break;default:sXe(r,[0,F[2][1],Bke]);A=i}var i=A,c=c[2]}}})),XB(t,(function(r,e){for(var t=e[2],n=t[2],a=zGe(r),i=0,c=t[1];;){if(c){var f=c[1];switch(f[0]){case 0:var o=f[1],s=o[2];if(2===s[0]){var l=s[1];if(!l[1]){i=[0,[0,[0,o[1],[0,l[2],[0,l[3]]]]],i],c=c[2];continue}}var v=u(r,o);if(v)var D=v[1],p=[0,[0,[0,D[1],[0,D,0]]],i];else p=i;i=p,c=c[2];continue;case 1:var b=c[2],F=f[1],m=F[2],d=F[1];if(b){sXe(r,[0,d,62]);c=b;continue}var E=u(r,m[1]);i=E?[0,[1,[0,d,[0,E[1],m[2]]]],i]:i,c=0;continue;default:i=[0,[2,f[1]],i],c=c[2];continue}}var k=[1,[0,wye(i),a,n]];return[0,e[1],k]}})),XB(n,(function(r,n){var u=n[2],a=n[1];switch(u[0]){case 0:return Bx(t,r,[0,a,u[1]]);case 10:var i=u[1],c=i[2][1],f=i[1];if(!(r[6]&&PXe(c)?(sXe(r,[0,f,49]),1):0)&&1-r[6])if(!(r[17]&&Ex(c,Ake)?(sXe(r,[0,f,92]),1):0)){var o=r[18];(o?Ex(c,_ke):o)&&sXe(r,[0,f,91])}return[0,a,[2,[0,i,zGe(r),0]]];case 19:return Bx(e,r,[0,a,u[1]]);default:return[0,a,[3,[0,a,u]]]}})),[0,e,t,n,a,i,c]}(YGe),tJe=function(r){function e(r){var e=GXe(r);if(\"number\"==typeof e){var t=e-96|0;if(6>>0?14===t?1:0:4<(t-1|0)>>>0?1:0)return lGe(r)}var n=YXe(r);return n?vGe(r):n}function t(t){var n=WXe(t);oGe(t,0);var u=XGe(0,(function(e){pGe(e,0),pGe(e,12);var t=gx(r[10],e);return pGe(e,1),t}),t);sGe(t);var a=mMe([0,n],[0,e(t)]);return[0,u[1],[0,u[2],a]]}function n(e){return 1===GXe(e)?0:[0,gx(r[7],e)]}function u(r){var t=WXe(r);oGe(r,0);var u=XGe(0,(function(r){pGe(r,0);var e=n(r);return pGe(r,1),e}),r);sGe(r);var a=dMe([0,t],[0,e(r)],0);return[0,u[1],[0,u[2],a]]}function a(e){oGe(e,0);var t=XGe(0,(function(e){pGe(e,0);var t=GXe(e);if(\"number\"==typeof t)if(12===t){var u=WXe(e);pGe(e,12);var a=[3,[0,gx(r[10],e),mMe([0,u],0)]],i=1}else i=0;else i=0;if(!i){var c=n(e),f=c?0:WXe(e);a=[2,[0,c,dMe(0,0,f)]]}return pGe(e,1),a}),e);return sGe(e),[0,t[1],t[2]]}function i(r){var t=JXe(r),n=GXe(r);if(\"number\"==typeof n)var u=0;else if(7===n[0]){var a=n[1];u=1}else u=0;if(!u){nGe(eke,r);a=tke}var i=WXe(r);fGe(r);var c=GXe(r);if(\"number\"==typeof c){var f=c+-10|0;if(69>>0)if(73===f)var o=1;else{var s=0;o=0}else if(67<(f-1|0)>>>0)o=1;else s=0,o=0;if(o){var l=lGe(r);s=1}}else s=0;if(!s)l=e(r);return[0,t,[0,a,mMe([0,i],[0,l])]]}function c(r){var e=UXe(1,r);if(\"number\"==typeof e){if(10===e)for(var t=XGe(0,(function(r){var e=[0,i(r)];return pGe(r,10),[0,e,i(r)]}),r);;){var n=GXe(r);if(\"number\"!=typeof n||10!==n)return[2,t];var u=function(r){return function(e){return pGe(e,10),[0,[1,r],i(e)]}}(t);t=XGe([0,t[1]],u,r)}if(83===e)return[1,XGe(0,(function(r){var e=i(r);return pGe(r,83),[0,e,i(r)]}),r)]}return[0,i(r)]}function f(r){return XGe(0,(function(r){var t=UXe(1,r);if(\"number\"==typeof t)if(83===t)var n=[1,XGe(0,(function(r){var e=i(r);return pGe(r,83),[0,e,i(r)]}),r)],a=1;else a=0;else a=0;if(!a)n=[0,i(r)];var c=GXe(r);if(\"number\"==typeof c)if(79===c){pGe(r,79);var f=WXe(r),o=GXe(r);if(\"number\"==typeof o)if(0===o){var s=u(r),l=s[2],v=s[1];l[1]||sXe(r,[0,v,53]);var D=[0,[1,v,l]],p=1}else p=0;else if(8===o[0]){var b=o[1];pGe(r,o);var F=[0,b[2]],m=mMe([0,f],[0,e(r)]);D=[0,[0,b[1],[0,F,b[3],m]]],p=1}else p=0;if(!p){tGe(r,54);D=[0,[0,JXe(r),[0,rke,ZEe,0]]]}var d=D,E=1}else E=0;else E=0;if(!E)d=0;return[0,n,d]}),r)}function o(r){return XGe(0,(function(r){pGe(r,95);var e=GXe(r);if(\"number\"==typeof e)if(96===e)var n=on,u=1;else u=0;else u=0;if(!u)for(var a=0,i=c(r);;){var o=GXe(r);if(\"number\"==typeof o){if(EE<=o)if(Ve===o)var s=1;else if($l<=o){var l=0;s=0}else s=1;else if(96===o)s=1;else{if(0===o){a=[0,[1,t(r)],a];continue}l=0,s=0}if(s){var v=wye(a);n=[0,rC,[0,i,FGe(r,EE),v]],l=1}}else l=0;if(l)break;a=[0,[0,f(r)],a]}return pGe(r,96),n}),r)}function s(r){return XGe(0,(function(r){pGe(r,95),pGe(r,EE);var e=GXe(r);if(\"number\"==typeof e)if(96===e)var t=on,n=1;else n=0;else n=0;if(!n)t=[0,rC,[0,c(r)]];return pGe(r,96),t}),r)}var l=function r(e){return r.fun(e)},v=function r(e){return r.fun(e)},D=function r(e){return r.fun(e)};function p(r){switch(r[0]){case 0:return r[1][2][1];case 1:var e=r[1][2],t=iye(HEe,e[2][2][1]);return iye(e[1][2][1],t);default:var n=r[1][2],u=n[1];return iye(0===u[0]?u[1][2][1]:p([2,u[1]]),iye(KEe,n[2][2][1]))}}return XB(l,(function(r){var e=GXe(r);if(\"number\"==typeof e){if(0===e)return a(r)}else if(8===e[0]){var t=e[1];return pGe(r,e),[0,t[1],[4,[0,t[2],t[3]]]]}var n=gx(D,r),u=n[2],i=n[1];return on<=u[1]?[0,i,[1,u[2]]]:[0,i,[0,u[2]]]})),XB(v,(function(r){var e=WXe(r),t=o(r);sGe(r);var n=t[2];if(\"number\"==typeof n?0:n[2][2])var u=XGe(0,(function(r){return 0}),r),a=870530776;else{oGe(r,3);for(var i=JXe(r),c=0;;){var f=gXe(r),D=GXe(r);if(\"number\"==typeof D){if(95===D){oGe(r,2);var b=GXe(r),F=UXe(1,r);if(\"number\"==typeof b)if(95===b)if(\"number\"==typeof F){if(EE===F)var m=1;else if(Ve===F)m=1;else{var d=1;m=0}if(m){var E=s(r),k=E[2],h=E[1],y=\"number\"==typeof k?[0,on,h]:[0,rC,[0,h,k[2]]],C=r[22][1];if(C){var w=C[2];if(w)var A=w[2],_=1;else _=0}else _=0;if(!_)A=nye(xne);r[22][1]=A;var g=fXe(r),B=aXe(r[23][1],g);r[24][1]=B;var S=[0,wye(c),f,y],x=1;d=0}}else d=1;else d=1;else d=1;if(d){var T=gx(v,r),I=T[2],N=T[1];c=[0,on<=I[1]?[0,N,[1,I[2]]]:[0,N,[0,I[2]]],c];continue}}else if(Ve===D){nGe(0,r);S=[0,wye(c),f,Rt],x=1}else{var O=1;x=0}if(x){var L=f?f[1]:i;u=[0,lMe(i,L),S[1]],a=S[3],O=0}}else O=1;if(!O)break;c=[0,gx(l,r),c]}}var P=lGe(r);if(\"number\"==typeof a)var R=0;else{var M=a[1];if(rC===M){var j=a[2],U=t[2];if(\"number\"==typeof U)tGe(r,QEe);else{var X=p(U[2][1]);hx(p(j[2][1]),X)&&tGe(r,[17,X])}var G=j[1],J=1}else if(on===M){var q=t[2];\"number\"==typeof q||rC===q[1]&&tGe(r,[17,p(q[2][1])]),G=a[2],J=1}else R=0,J=0;if(J){var z=G;R=1}}if(!R)z=t[1];var W=t[2],V=t[1];if(\"number\"==typeof W){var $=mMe([0,e],[0,P]);if(\"number\"==typeof a)var Y=0;else{var H=a[1];if(rC===H)var K=a[2][1],Q=1;else if(on===H)K=a[2],Q=1;else Y=0,Q=0;if(Q){var Z=K;Y=1}}if(!Y)Z=z;var rr=[0,on,[0,V,Z,u,$]]}else{var er=mMe([0,e],[0,P]);if(\"number\"==typeof a)var tr=0;else if(rC===a[1]){var nr=[0,a[2]];tr=1}else tr=0;if(!tr)nr=0;rr=[0,rC,[0,[0,V,W[2]],nr,u,er]]}return[0,lMe(t[1],z),rr]})),XB(D,(function(r){return oGe(r,2),gx(v,r)})),[0,e,t,n,u,a,i,c,f,o,s,l,v,D]}($Ge),nJe=function(r,e){var t=GXe(e);if(!(\"number\"==typeof t?28===t?e[6]?(tGe(e,52),1):e[14]?(nGe(0,e),1):1:58===t?e[17]?(tGe(e,2),1):e[6]?(tGe(e,52),1):1:65===t?e[18]?(tGe(e,2),1):1:0:0))if(LXe(t))aGe(e,52);else{if(\"number\"==typeof t)switch(t){case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 46:case 47:case 49:case 50:case 51:case 58:case 59:case 65:var n=1,u=1;break;default:u=0}else if(4===t[0])if(TXe(t[3]))n=1,u=1;else u=0;else u=0;if(!u)n=0;if(n)var a=n,i=0;else{var c=NXe(t);if(c)a=c,i=0;else{if(\"number\"==typeof t)switch(t){case 29:case 30:case 31:var f=1;break;default:f=0}else if(4===t[0]){var o=t[3];f=hx(o,Hne)&&hx(o,Kne)&&hx(o,Qne)?0:1}else f=0;if(f)a=1,i=0;else{var s=0;i=1}}}if(!i)s=a;if(s)nGe(0,e);else r&&RXe(t)&&aGe(e,r[1])}return jGe(e)},uJe=function r(e){return r.fun(e)},aJe=function r(e,t,n){return r.fun(e,t,n)},iJe=function r(e){return r.fun(e)},cJe=function r(e,t){return r.fun(e,t)},fJe=function r(e,t){return r.fun(e,t)},oJe=function r(e,t){return r.fun(e,t)},sJe=function r(e,t){return r.fun(e,t)},lJe=function r(e,t){return r.fun(e,t)},vJe=function r(e){return r.fun(e)},DJe=function r(e){return r.fun(e)},pJe=function r(e){return r.fun(e)},bJe=function r(e,t,n){return r.fun(e,t,n)},FJe=function r(e){return r.fun(e)},mJe=function r(e,t){return r.fun(e,t)},dJe=ZGe[3],EJe=QGe[3],kJe=QGe[1],hJe=QGe[6],yJe=ZGe[2],CJe=ZGe[1],wJe=ZGe[4],AJe=QGe[5],_Je=QGe[7],gJe=tJe[13],BJe=eJe[6],SJe=eJe[3];XB(uJe,(function(r){var e=WXe(r),t=wye(e);r:for(;;){if(t)for(var n=t[2],u=t[1],a=u[2],i=u[1],c=a[2],f=0,o=RS(c);;){if(o<(f+5|0))var s=0;else{var l=Ex(Gye(c,f,5),Sne);if(!l){f=f+1|0;continue}s=l}if(!s){t=n;continue r}r[29][1]=i[3];var v=wye([0,[0,i,a],n]);break}else v=t;if(0===v){if(e){var D=e[1],p=D[2];if(0===p[1]){var b=p[2];if(1<=RS(b))if(42===kx(b,0)){r[29][1]=D[1][3];var F=[0,D,0],m=1,d=0}else d=1;else d=1;if(d)m=0}else m=0}else m=0;if(!m)F=0}else F=v;var E=Bx(cJe,r,(function(r){return 0})),k=JXe(r);if(pGe(r,Ve),E)var h=hye(wye(E))[1],y=lMe(hye(E)[1],h);else y=k;var C=wye(r[2][1]);return[0,y,[0,E,mMe([0,F],0),C]]}})),XB(aJe,(function(r,e,t){for(var n=mXe(1,r),u=xhe;;){var a=u[2],i=u[1],c=GXe(n);if(\"number\"==typeof c)if(Ve===c)var f=[0,n,i,a],o=1;else o=0;else o=0;if(!o)if(gx(e,c))f=[0,n,i,a];else{if(\"number\"==typeof c)var s=0;else if(2===c[0]){var l=gx(t,n),v=[0,l,a],D=l[2];if(19===D[0]){var p=D[1][2];if(p){var b=n[6]||Ex(p[1],She);n=pXe(b,n),u=[0,[0,c,i],v];continue}}f=[0,n,i,v],s=1}else s=0;if(!s)f=[0,n,i,a]}var F=mXe(0,n);return Bye((function(r){if(\"number\"!=typeof r&&2===r[0]){var e=r[1],t=e[4];return t?iGe(F,[0,e[1],43]):t}return nye(iye(Ihe,iye(_Me(r),The)))}),wye(i)),[0,F,f[3]]}})),XB(iJe,(function(r){var e=gx(ZGe[6],r),t=GXe(r);if(\"number\"==typeof t){var n=t-49|0;if(!(11>>0))switch(n){case 0:return Bx(rJe[16],e,r);case 1:gx(uGe(r),e);var u=UXe(1,r);return gx(\"number\"==typeof u&&4===u?rJe[17]:rJe[18],r);case 11:if(49===UXe(1,r))return gx(uGe(r),e),Bx(rJe[12],0,r)}}return Bx(lJe,[0,e],r)})),XB(cJe,(function(r,e){var t=Sx(aJe,r,e,iJe);return Sye((function(r,e){return[0,e,r]}),Bx(fJe,e,t[1]),t[2])})),XB(fJe,(function(r,e){for(var t=0;;){var n=GXe(e);if(\"number\"==typeof n&&Ve===n)return wye(t);if(gx(r,n))return wye(t);t=[0,gx(iJe,e),t]}})),XB(oJe,(function(r,e){var t=Sx(aJe,e,r,(function(r){return Bx(lJe,0,r)})),n=t[1];return[0,Sye((function(r,e){return[0,e,r]}),Bx(sJe,r,n),t[2]),n[6]]})),XB(sJe,(function(r,e){for(var t=0;;){var n=GXe(e);if(\"number\"==typeof n&&Ve===n)return wye(t);if(gx(r,n))return wye(t);t=[0,Bx(lJe,0,e),t]}})),XB(lJe,(function(r,e){var t=r?r[1]:r;1-eGe(e)&&gx(uGe(e),t);var n=GXe(e);if(\"number\"==typeof n){if(27===n)return gx(rJe[27],e);if(28===n)return gx(rJe[3],e)}if(rGe(e))return gx(HGe[11],e);if(eGe(e))return Bx(dJe,e,t);if(\"number\"==typeof n){var u=n+$A|0;if(!(14>>0))switch(u){case 0:if(e[26][1])return gx(HGe[12],e);break;case 5:return gx(rJe[19],e);case 12:return Bx(rJe[11],0,e);case 13:return gx(rJe[25],e);case 14:return gx(rJe[21],e)}}return gx(vJe,e)})),XB(vJe,(function(r){var e=GXe(r);if(\"number\"==typeof e)switch(e){case 0:return gx(rJe[7],r);case 8:return gx(rJe[15],r);case 19:return gx(rJe[22],r);case 20:return gx(rJe[23],r);case 22:return gx(rJe[24],r);case 23:return gx(rJe[4],r);case 24:return gx(rJe[26],r);case 25:return gx(rJe[5],r);case 26:return gx(rJe[6],r);case 32:return gx(rJe[8],r);case 35:return gx(rJe[9],r);case 37:return gx(rJe[14],r);case 39:return gx(rJe[1],r);case 59:return gx(rJe[10],r);case 110:return nGe(_he,r),[0,JXe(r),ghe];case 16:case 43:return gx(rJe[2],r);case 1:case 5:case 7:case 9:case 10:case 11:case 12:case 17:case 18:case 33:case 34:case 36:case 38:case 41:case 42:case 49:case 80:case 83:return nGe(Bhe,r),fGe(r),gx(vJe,r)}if(rGe(r)){var t=gx(HGe[11],r);return cGe(r,t[1]),t}if(\"number\"==typeof e&&28===e&&6===UXe(1,r)){var n=XXe(1,r);return sXe(r,[0,lMe(JXe(r),n),93]),gx(rJe[17],r)}return ZXe(r)?gx(rJe[20],r):eGe(r)?(nGe(0,r),fGe(r),gx(rJe[17],r)):gx(rJe[17],r)})),XB(DJe,(function(r){var e=JXe(r),t=gx(QGe[1],r),n=GXe(r);return\"number\"==typeof n&&9===n?Sx(QGe[8],r,e,[0,t,0]):t})),XB(pJe,(function(r){var e=JXe(r),t=gx(QGe[2],r),n=GXe(r);if(\"number\"==typeof n&&9===n){var u=[0,Bx(KGe[1],r,t),0];return[0,Sx(QGe[8],r,e,u)]}return t})),XB(bJe,(function(r,e,t){var n=e?e[1]:e;return XGe(0,(function(r){var e=1-n,u=nJe([0,t],r),a=e?82===GXe(r)?1:0:e;return a&&(1-oXe(r)&&tGe(r,12),pGe(r,82)),[0,u,gx(YGe[10],r),a]}),r)})),XB(FJe,(function(r){var e=JXe(r),t=WXe(r);pGe(r,0);var n=Bx(sJe,(function(r){return 1===r?1:0}),r),u=0===n?1:0,a=JXe(r),i=u?WXe(r):u;pGe(r,1);var c=[0,n,dMe([0,t],[0,lGe(r)],i)];return[0,lMe(e,a),c]})),XB(mJe,(function(r,e){var t=JXe(e),n=WXe(e);pGe(e,0);var u=Bx(oJe,(function(r){return 1===r?1:0}),e),a=u[1],i=0===a?1:0,c=JXe(e),f=i?WXe(e):i;pGe(e,1);var o=GXe(e);if(0===r){if(\"number\"==typeof o)if(1===o)var s=0,l=0;else if(Ve===o)s=0,l=0;else l=1;else l=1;if(l){var v=YXe(e);if(v){var D=vGe(e);s=1}else D=v,s=1}}else s=0;if(!s)D=lGe(e);var p=u[2],b=[0,a,dMe([0,n],[0,D],f)];return[0,lMe(t,c),b,p]})),Sx(eAe,Lhe,$Ge,[0,uJe,vJe,lJe,sJe,oJe,fJe,DJe,pJe,EJe,kJe,hJe,yJe,nJe,bJe,FJe,mJe,gJe,BJe,SJe,CJe,dJe,wJe,AJe,_Je]);var xJe=[0,0],TJe=HS,IJe=YS,NJe=function(r){return KS($ye(r))},OJe=function(r){return $S($ye(r))},LJe=function(r,e,t){try{var n=new RegExp(e.toString(),t.toString())}catch(e){xJe[1]=[0,[0,r,24],xJe[1]];n=new RegExp(qC,t.toString())}return n},PJe=function(r){function e(r,e){return OJe(wye(gye(r,e)))}function t(r,e){return e?gx(r,e[1]):SAe}function n(r,e){return 0===e[0]?SAe:gx(r,e[1])}function u(r){return NJe([0,[0,CFe,r[1]],[0,[0,yFe,r[2]],0]])}function a(r){var e=r[1];if(e)var t=e[1],n=\"number\"==typeof t?nn:t[1].toString();else n=SAe;var a=[0,[0,EFe,u(r[3])],0];return NJe([0,[0,hFe,n],[0,[0,kFe,u(r[2])],a]])}function i(r){if(r){var e=r[1],t=[0,fye(e[3],e[2])];return mMe([0,e[1]],t)}return r}function c(u){function c(e,t,n,i){var c=r[1];if(c){if(u)var f=u[1],o=[0,MGe(f,t[3]),0],s=[0,[0,pae,OJe([0,MGe(f,t[2]),o])],0];else s=u;var l=fye(s,[0,[0,bae,a(t)],0])}else l=c;if(0===r[3])var v=0;else if(n){var D=n[1],p=D[1];if(p){var b=D[2];if(b)var F=[0,[0,Fae,Cr(b)],0],m=[0,[0,mae,Cr(p)],F];else m=[0,[0,dae,Cr(p)],0];var d=m}else{var E=D[2];d=E?[0,[0,Eae,Cr(E)],0]:E}var k=d;v=1}else v=0;if(!v)k=0;return NJe(Cye(fye(l,fye(k,[0,[0,kae,e.toString()],0])),i))}function f(r){return e(d,r)}function o(r){var t=r[2];switch(t[2]){case 0:var n=Yve;break;case 1:n=Hve;break;default:n=Kve}var u=[0,[0,Qve,n.toString()],0],a=[0,[0,Zve,e(K,t[1])],u];return c(rDe,r[1],t[3],a)}function s(r){var n=r[2],u=[0,[0,mle,e(P,n[3])],0],a=[0,[0,dle,rr(0,n[4])],u],i=[0,[0,Ele,t(fr,n[2])],a],f=[0,[0,kle,C(n[1])],i];return c(hle,r[1],n[5],f)}function l(r,n){var u=n[2],a=u[7],i=u[5],f=u[4];if(f)var o=f[1][2],s=EMe(o[3],a),l=[0,o[1]],v=o[2],D=s;else l=0,v=0,D=a;if(i)var p=i[1][2],b=EMe(p[2],D),F=e(O,p[1]),m=b;else F=OJe(0),m=D;var d=[0,[0,rse,F],[0,[0,Zoe,e(N,u[6])],0]],E=[0,[0,ese,t(sr,v)],d],k=[0,[0,tse,t(A,l)],E],h=[0,[0,nse,t(fr,u[3])],k],y=u[2],w=y[2],_=[0,[0,lse,e(L,w[1])],0],g=[0,[0,use,c(vse,y[1],w[2],_)],h],B=[0,[0,ase,t(C,u[1])],g];return c(r,n[1],m,B)}function v(r,e){var n=e[2],u=r?zoe:Woe,a=[0,[0,Voe,t(tr,n[4])],0],i=[0,[0,$oe,t(tr,n[3])],a],f=[0,[0,Yoe,t(fr,n[2])],i],o=[0,[0,Hoe,C(n[1])],f];return c(u,e[1],n[5],o)}function D(r){var e=r[2],n=[0,[0,Xoe,tr(e[3])],0],u=[0,[0,Goe,t(fr,e[2])],n],a=[0,[0,Joe,C(e[1])],u];return c(qoe,r[1],e[4],a)}function p(r){var n=r[2],u=n[6],a=n[4],i=OJe(a?[0,P(a[1]),0]:0),f=u?e(O,u[1][2][1]):OJe(0),o=[0,[0,Coe,i],[0,[0,yoe,f],[0,[0,hoe,e(P,n[5])],0]]],s=[0,[0,woe,rr(0,n[3])],o],l=[0,[0,Aoe,t(fr,n[2])],s],v=[0,[0,_oe,C(n[1])],l];return c(goe,r[1],n[7],v)}function b(r){var e=r[2],n=e[2],u=e[1],a=lMe(u[1],n[1]),i=[0,[0,doe,t(Ar,e[3])],0],f=[0,[0,Eoe,g(a,[0,u,[1,n],0])],i];return c(koe,r[1],e[4],f)}function F(r){var e=r[2],t=e[2],n=e[1],u=0===t[0]?n[1]:t[1][1],a=[0,[0,Foe,g(lMe(n[1],u),[0,n,t,0])],0];return c(moe,r[1],e[3],a)}function m(r){var e=r[2],t=[0,[0,poe,f(e[1])],0],n=i(e[2]);return c(boe,r[1],n,t)}function d(r){var n=r[2],u=r[1];switch(n[0]){case 0:return m([0,u,n[1]]);case 1:var a=n[1],f=[0,[0,Aae,t(C,a[1])],0];return c(_ae,u,a[2],f);case 2:return l(Koe,[0,u,n[1]]);case 3:var E=n[1],k=[0,[0,gae,t(C,E[1])],0];return c(Bae,u,E[2],k);case 4:return c(Sae,u,n[1][1],0);case 5:return p([0,u,n[1]]);case 6:var h=n[1],y=h[5],w=h[4],_=h[3],g=h[2];if(_){var B=_[1];if(0!==B[0]&&!B[2])return c(Tae,u,y,[0,[0,xae,t(Y,w)],0])}if(g){var N=g[1];switch(N[0]){case 0:var O=F(N[1]);break;case 1:O=b(N[1]);break;case 2:O=p(N[1]);break;case 3:O=tr(N[1]);break;case 4:O=D(N[1]);break;case 5:O=v(1,N[1]);break;default:O=s(N[1])}var L=O}else L=SAe;var M=[0,[0,Iae,t(Y,w)],0],j=[0,[0,Oae,L],[0,[0,Nae,I(_)],M]],X=h[1];return c(Pae,u,y,[0,[0,Lae,!!(X?1:X)],j]);case 7:return b([0,u,n[1]]);case 8:var G=n[1],J=[0,[0,Boe,e(P,G[3])],0],q=[0,[0,Soe,rr(0,G[4])],J],z=[0,[0,xoe,t(fr,G[2])],q],W=[0,[0,Toe,C(G[1])],z];return c(Ioe,u,G[5],W);case 9:var V=n[1],$=V[1],H=0===$[0]?C($[1]):Y($[1]),K=0===V[3][0]?\"CommonJS\":\"ES\",Q=[0,[0,jae,H],[0,[0,Mae,m(V[2])],[0,[0,Rae,K],0]]];return c(Uae,u,V[4],Q);case 10:var Z=n[1],er=[0,[0,Xae,cr(Z[1])],0];return c(Gae,u,Z[2],er);case 11:var nr=n[1],ur=[0,[0,Roe,tr(nr[3])],0],ar=[0,[0,Moe,t(fr,nr[2])],ur],ir=[0,[0,joe,C(nr[1])],ar];return c(Uoe,u,nr[4],ir);case 12:return v(1,[0,u,n[1]]);case 13:return F([0,u,n[1]]);case 14:var or=n[1],sr=[0,[0,Jae,A(or[2])],0],lr=[0,[0,qae,d(or[1])],sr];return c(zae,u,or[3],lr);case 15:return c(Wae,u,n[1][1],0);case 16:var vr=n[1],Dr=vr[2],pr=Dr[2],br=Dr[1];switch(pr[0]){case 0:var Fr=pr[1],mr=[0,[0,rle,!!Fr[2]],[0,[0,Zse,!!Fr[3]],0]],dr=Fr[1],Er=[0,[0,ele,e((function(r){var e=r[2],t=[0,[0,Hse,!!e[2][2][1]],0],n=[0,[0,Kse,C(e[1])],t];return c(Qse,r[1],0,n)}),dr)],mr],kr=c(tle,br,Fr[4],Er);break;case 1:var hr=pr[1],yr=[0,[0,ule,!!hr[2]],[0,[0,nle,!!hr[3]],0]],Cr=hr[1],wr=[0,[0,ale,e((function(r){var e=r[2],t=e[2],n=t[2],u=[0,[0,Vse,c(Tve,t[1],n[3],[0,[0,xve,n[1]],[0,[0,Sve,n[2].toString()],0]])],0],a=[0,[0,$se,C(e[1])],u];return c(Yse,r[1],0,a)}),Cr)],yr];kr=c(ile,br,hr[4],wr);break;case 2:var _r=pr[1],gr=_r[1];if(0===gr[0])var Br=_ye((function(r){var e=[0,[0,zse,C(r[2][1])],0];return c(Wse,r[1],0,e)}),gr[1]);else Br=_ye((function(r){var e=r[2],t=[0,[0,Gse,Y(e[2])],0],n=[0,[0,Jse,C(e[1])],t];return c(qse,r[1],0,n)}),gr[1]);var Sr=[0,[0,fle,!!_r[2]],[0,[0,cle,!!_r[3]],0]],xr=[0,[0,ole,OJe(Br)],Sr];kr=c(sle,br,_r[4],xr);break;default:var Tr=pr[1],Ir=[0,[0,lle,!!Tr[2]],0],Nr=Tr[1],Or=[0,[0,vle,e((function(r){var e=[0,[0,Use,C(r[2][1])],0];return c(Xse,r[1],0,e)}),Nr)],Ir];kr=c(Dle,br,Tr[3],Or)}var Lr=[0,[0,ble,C(vr[1])],[0,[0,ple,kr],0]];return c(Fle,u,vr[3],Lr);case 17:var Pr=n[1],Rr=Pr[2],Mr=0===Rr[0]?d(Rr[1]):A(Rr[1]),jr=[0,[0,$ae,Mr],[0,[0,Vae,T(1).toString()],0]];return c(Yae,u,Pr[3],jr);case 18:var Ur=n[1],Xr=Ur[5],Gr=Ur[4],Jr=Ur[3],qr=Ur[2];if(qr){var zr=qr[1];if(0!==zr[0]&&!zr[2]){var Wr=[0,[0,Hae,T(Gr).toString()],0];return c(Qae,u,Xr,[0,[0,Kae,t(Y,Jr)],Wr])}}var $r=[0,[0,Zae,T(Gr).toString()],0],Yr=[0,[0,rie,t(Y,Jr)],$r],Hr=[0,[0,eie,I(qr)],Yr];return c(nie,u,Xr,[0,[0,tie,t(d,Ur[1])],Hr]);case 19:var Kr=n[1],Qr=[0,[0,uie,t(TJe,Kr[2])],0],Zr=[0,[0,aie,A(Kr[1])],Qr];return c(iie,u,Kr[3],Zr);case 20:var re=n[1],ee=[0,[0,cie,d(re[4])],0],te=[0,[0,fie,t(A,re[3])],ee],ne=[0,[0,oie,t(A,re[2])],te],ue=[0,[0,sie,t((function(r){return 0===r[0]?o(r[1]):A(r[1])}),re[1])],ne];return c(lie,u,re[5],ue);case 21:var ae=n[1],ie=ae[1],ce=0===ie[0]?o(ie[1]):R(ie[1]),fe=[0,[0,vie,!!ae[4]],0],oe=[0,[0,Die,d(ae[3])],fe],se=[0,[0,bie,ce],[0,[0,pie,A(ae[2])],oe]];return c(Fie,u,ae[5],se);case 22:var le=n[1],ve=le[1],De=0===ve[0]?o(ve[1]):R(ve[1]),pe=[0,[0,mie,!!le[4]],0],be=[0,[0,die,d(le[3])],pe],Fe=[0,[0,kie,De],[0,[0,Eie,A(le[2])],be]];return c(hie,u,le[5],Fe);case 23:var me=n[1],de=me[7],Ee=me[3],ke=me[2],he=0===Ee[0]?Ee[1]:nye(xfe),ye=0===de[0]?0:[0,de[1]],Ce=me[9],we=EMe(i(ke[2][4]),Ce),Ae=[0,[0,Tfe,t(fr,me[8])],0],_e=[0,[0,Nfe,!1],[0,[0,Ife,t(cr,ye)],Ae]],ge=[0,[0,Ofe,t(Ar,me[6])],_e],Be=[0,[0,Pfe,!!me[4]],[0,[0,Lfe,!!me[5]],ge]],Se=[0,[0,Rfe,m(he)],Be],xe=[0,[0,Mfe,U(ke)],Se];return c(Ufe,u,we,[0,[0,jfe,t(C,me[1])],xe]);case 24:var Te=n[1],Ie=Te[3];if(Ie){var Ne=Ie[1][2],Oe=Ne[2],Le=Ne[1],Pe=Le[2],Re=function(r){return EMe(r,Oe)};switch(Pe[0]){case 0:var Me=Pe[1],je=kMe(Me[2],Oe),Ue=[0,[0,Me[1],je]];break;case 1:var Xe=Pe[1],Ge=Re(Xe[2]);Ue=[1,[0,Xe[1],Ge]];break;case 2:var Je=Pe[1],qe=Re(Je[7]);Ue=[2,[0,Je[1],Je[2],Je[3],Je[4],Je[5],Je[6],qe]];break;case 3:var ze=Pe[1],We=Re(ze[2]);Ue=[3,[0,ze[1],We]];break;case 4:Ue=[4,[0,Re(Pe[1][1])]];break;case 5:var Ve=Pe[1],$e=Re(Ve[7]);Ue=[5,[0,Ve[1],Ve[2],Ve[3],Ve[4],Ve[5],Ve[6],$e]];break;case 6:var Ye=Pe[1],He=Re(Ye[5]);Ue=[6,[0,Ye[1],Ye[2],Ye[3],Ye[4],He]];break;case 7:var Ke=Pe[1],Qe=Re(Ke[4]);Ue=[7,[0,Ke[1],Ke[2],Ke[3],Qe]];break;case 8:var Ze=Pe[1],rt=Re(Ze[5]);Ue=[8,[0,Ze[1],Ze[2],Ze[3],Ze[4],rt]];break;case 9:var et=Pe[1],tt=Re(et[4]);Ue=[9,[0,et[1],et[2],et[3],tt]];break;case 10:var nt=Pe[1],ut=Re(nt[2]);Ue=[10,[0,nt[1],ut]];break;case 11:var at=Pe[1],it=Re(at[4]);Ue=[11,[0,at[1],at[2],at[3],it]];break;case 12:var ct=Pe[1],ft=Re(ct[5]);Ue=[12,[0,ct[1],ct[2],ct[3],ct[4],ft]];break;case 13:var ot=Pe[1],st=Re(ot[3]);Ue=[13,[0,ot[1],ot[2],st]];break;case 14:var lt=Pe[1],vt=Re(lt[3]);Ue=[14,[0,lt[1],lt[2],vt]];break;case 15:Ue=[15,[0,Re(Pe[1][1])]];break;case 16:var Dt=Pe[1],pt=Re(Dt[3]);Ue=[16,[0,Dt[1],Dt[2],pt]];break;case 17:var bt=Pe[1],Ft=Re(bt[3]);Ue=[17,[0,bt[1],bt[2],Ft]];break;case 18:var mt=Pe[1],dt=Re(mt[5]);Ue=[18,[0,mt[1],mt[2],mt[3],mt[4],dt]];break;case 19:var Et=Pe[1],kt=Re(Et[3]);Ue=[19,[0,Et[1],Et[2],kt]];break;case 20:var ht=Pe[1],yt=Re(ht[5]);Ue=[20,[0,ht[1],ht[2],ht[3],ht[4],yt]];break;case 21:var Ct=Pe[1],wt=Re(Ct[5]);Ue=[21,[0,Ct[1],Ct[2],Ct[3],Ct[4],wt]];break;case 22:var At=Pe[1],_t=Re(At[5]);Ue=[22,[0,At[1],At[2],At[3],At[4],_t]];break;case 23:var gt=Pe[1],Bt=gt[10],St=Re(gt[9]);Ue=[23,[0,gt[1],gt[2],gt[3],gt[4],gt[5],gt[6],gt[7],gt[8],St,Bt]];break;case 24:var xt=Pe[1],Tt=Re(xt[4]);Ue=[24,[0,xt[1],xt[2],xt[3],Tt]];break;case 25:var It=Pe[1],Nt=Re(It[5]);Ue=[25,[0,It[1],It[2],It[3],It[4],Nt]];break;case 26:var Ot=Pe[1],Lt=Re(Ot[5]);Ue=[26,[0,Ot[1],Ot[2],Ot[3],Ot[4],Lt]];break;case 27:var Pt=Pe[1],Rt=Re(Pt[3]);Ue=[27,[0,Pt[1],Pt[2],Rt]];break;case 28:var Mt=Pe[1],jt=Re(Mt[2]);Ue=[28,[0,Mt[1],jt]];break;case 29:var Ut=Pe[1],Xt=Re(Ut[3]);Ue=[29,[0,Ut[1],Ut[2],Xt]];break;case 30:var Gt=Pe[1],Jt=Re(Gt[2]);Ue=[30,[0,Gt[1],Jt]];break;case 31:var qt=Pe[1],zt=Re(qt[4]);Ue=[31,[0,qt[1],qt[2],qt[3],zt]];break;case 32:var Wt=Pe[1],Vt=Re(Wt[4]);Ue=[32,[0,Wt[1],Wt[2],Wt[3],Vt]];break;case 33:var $t=Pe[1],Yt=Re($t[5]);Ue=[33,[0,$t[1],$t[2],$t[3],$t[4],Yt]];break;case 34:var Ht=Pe[1],Kt=Re(Ht[3]);Ue=[34,[0,Ht[1],Ht[2],Kt]];break;case 35:var Qt=Pe[1],Zt=Re(Qt[3]);Ue=[35,[0,Qt[1],Qt[2],Zt]];break;default:var rn=Pe[1],en=Re(rn[3]);Ue=[36,[0,rn[1],rn[2],en]]}var tn=d([0,Le[1],Ue])}else tn=SAe;var nn=[0,[0,Cie,d(Te[2])],[0,[0,yie,tn],0]],un=[0,[0,wie,A(Te[1])],nn];return c(Aie,u,Te[4],un);case 25:var an=n[1],cn=an[4],fn=an[3];if(cn){var on=cn[1];if(0===on[0])var sn=_ye((function(r){var e=r[1],t=r[3],n=r[2],u=n?lMe(t[1],n[1][1]):t[1],a=n?n[1]:t;if(e)switch(e[1]){case 0:var i=Vr,f=1;break;case 1:i=Cf,f=1;break;default:f=0}else f=0;if(!f)i=SAe;var o=[0,[0,tFe,C(a)],[0,[0,eFe,i],0]];return c(uFe,u,0,[0,[0,nFe,C(t)],o])}),on[1]);else{var ln=on[1],vn=[0,[0,Zbe,C(ln[2])],0];sn=[0,c(rFe,ln[1],0,vn),0]}var Dn=sn}else Dn=cn;if(fn)var pn=fn[1],bn=[0,[0,Kbe,C(pn)],0],Fn=[0,c(Qbe,pn[1],0,bn),Dn];else Fn=Dn;switch(an[1]){case 0:var mn=_ie;break;case 1:mn=gie;break;default:mn=Bie}var dn=[0,[0,Sie,mn.toString()],0],En=[0,[0,xie,Y(an[2])],dn],kn=[0,[0,Tie,OJe(Fn)],En];return c(Iie,u,an[5],kn);case 26:return s([0,u,n[1]]);case 27:var hn=n[1],yn=[0,[0,Nie,d(hn[2])],0],Cn=[0,[0,Oie,C(hn[1])],yn];return c(Lie,u,hn[3],Cn);case 28:var wn=n[1],An=[0,[0,Pie,t(A,wn[1])],0];return c(Rie,u,wn[2],An);case 29:var _n=n[1],gn=[0,[0,Mie,e(S,_n[2])],0],Bn=[0,[0,jie,A(_n[1])],gn];return c(Uie,u,_n[3],Bn);case 30:var Sn=n[1],xn=[0,[0,Xie,A(Sn[1])],0];return c(Gie,u,Sn[2],xn);case 31:var Tn=n[1],In=[0,[0,Jie,t(m,Tn[3])],0],Nn=[0,[0,qie,t(x,Tn[2])],In],On=[0,[0,zie,m(Tn[1])],Nn];return c(Wie,u,Tn[4],On);case 32:return D([0,u,n[1]]);case 33:return v(0,[0,u,n[1]]);case 34:return o([0,u,n[1]]);case 35:var Ln=n[1],Pn=[0,[0,Vie,d(Ln[2])],0],Rn=[0,[0,$ie,A(Ln[1])],Pn];return c(Yie,u,Ln[3],Rn);default:var Mn=n[1],jn=[0,[0,Hie,d(Mn[2])],0],Un=[0,[0,Kie,A(Mn[1])],jn];return c(Qie,u,Mn[3],Un)}}function E(r){var t=r[2],n=[0,[0,bbe,c(_be,t[2],0,0)],0],u=[0,[0,Fbe,e(Fr,t[3][2])],n],a=[0,[0,mbe,c(Cbe,t[1],0,0)],u];return c(dbe,r[1],t[4],a)}function k(r){var n=r[2],u=[0,[0,lbe,e(Fr,n[3][2])],0],a=[0,[0,vbe,t(pr,n[2])],u],i=n[1],f=i[2],o=[0,[0,Ebe,!!f[2]],0],s=[0,[0,kbe,e(Dr,f[3])],o],l=[0,[0,hbe,kr(f[1])],s],v=[0,[0,Dbe,c(ybe,i[1],0,l)],a];return c(pbe,r[1],n[4],v)}function h(r){var t=r[2],n=[0,[0,Mve,e(A,t[2])],0],u=[0,[0,jve,e(H,t[1])],n];return c(Uve,r[1],t[3],u)}function y(r){var e=r[2],t=e[2],n=e[1],u=r[1];if(\"number\"==typeof n)var a=SAe;else switch(n[0]){case 0:a=n[1].toString();break;case 1:a=!!n[1];break;case 2:a=n[1];break;case 3:a=nye(kve);break;default:var i=n[1];a=LJe(u,i[1],i[2])}if(\"number\"==typeof n)var f=0;else if(4===n[0]){var o=n[1],s=[0,[0,Cve,NJe([0,[0,yve,o[1].toString()],[0,[0,hve,o[2].toString()],0]])],0],l=[0,[0,Ave,a],[0,[0,wve,t.toString()],s]];f=1}else f=0;if(!f)l=[0,[0,gve,a],[0,[0,_ve,t.toString()],0]];return c(Bve,u,e[3],l)}function C(r){var e=r[2];return c(eoe,r[1],e[2],[0,[0,roe,e[1].toString()],[0,[0,Zfe,SAe],[0,[0,Qfe,!1],0]]])}function w(r){var e=r[2],n=e[7],u=e[3],a=e[2],f=0===u[0]?u[1]:nye(Xfe),o=0===n[0]?0:[0,n[1]],s=e[9],l=EMe(i(a[2][4]),s),v=[0,[0,Gfe,t(fr,e[8])],0],D=[0,[0,qfe,!1],[0,[0,Jfe,t(cr,o)],v]],p=[0,[0,zfe,t(Ar,e[6])],D],b=[0,[0,Vfe,!!e[4]],[0,[0,Wfe,!!e[5]],p]],F=[0,[0,$fe,m(f)],b],d=[0,[0,Yfe,U(a)],F],E=[0,[0,Hfe,t(C,e[1])],d];return c(Kfe,r[1],l,E)}function A(r){var n=r[2],u=r[1];switch(n[0]){case 0:var a=n[1],f=[0,[0,Zie,e(V,a[1])],0];return c(rce,u,i(a[2]),f);case 1:var o=n[1],s=o[7],v=o[3],D=o[2],p=0===v[0]?[0,m(v[1]),0]:[0,A(v[1]),1],b=0===s[0]?0:[0,s[1]],F=o[9],d=EMe(i(D[2][4]),F),_=[0,[0,ece,t(fr,o[8])],0],g=[0,[0,tce,t(cr,b)],_],S=[0,[0,nce,!!p[2]],g],x=[0,[0,ace,!1],[0,[0,uce,t(Ar,o[6])],S]],T=[0,[0,cce,p[1]],[0,[0,ice,!!o[4]],x]];return c(sce,u,d,[0,[0,oce,SAe],[0,[0,fce,U(D)],T]]);case 2:var I=n[1],N=I[1];if(N){switch(N[1]){case 0:var O=_zr;break;case 1:O=gzr;break;case 2:O=Bzr;break;case 3:O=Szr;break;case 4:O=xzr;break;case 5:O=Tzr;break;case 6:O=Izr;break;case 7:O=Nzr;break;case 8:O=Ozr;break;case 9:O=Lzr;break;case 10:O=Pzr;break;default:O=Rzr}var L=O}else L=lce;var P=[0,[0,vce,A(I[3])],0],M=[0,[0,Dce,R(I[2])],P];return c(bce,u,I[4],[0,[0,pce,L.toString()],M]);case 3:var j=n[1],X=[0,[0,Fce,A(j[3])],0],G=[0,[0,mce,A(j[2])],X];switch(j[1]){case 0:var q=uzr;break;case 1:q=azr;break;case 2:q=izr;break;case 3:q=czr;break;case 4:q=fzr;break;case 5:q=ozr;break;case 6:q=szr;break;case 7:q=lzr;break;case 8:q=vzr;break;case 9:q=Dzr;break;case 10:q=pzr;break;case 11:q=bzr;break;case 12:q=Fzr;break;case 13:q=mzr;break;case 14:q=dzr;break;case 15:q=Ezr;break;case 16:q=kzr;break;case 17:q=hzr;break;case 18:q=yzr;break;case 19:q=Czr;break;case 20:q=wzr;break;default:q=Azr}return c(Ece,u,j[4],[0,[0,dce,q.toString()],G]);case 4:var z=n[1],W=z[4],Y=EMe(i(z[3][2][2]),W);return c(kce,u,Y,_r(z));case 5:return l(Qoe,[0,u,n[1]]);case 6:var H=n[1],K=[0,[0,hce,t(A,H[2])],0];return c(Cce,u,0,[0,[0,yce,e($,H[1])],K]);case 7:var Q=n[1],Z=[0,[0,wce,A(Q[3])],0],rr=[0,[0,Ace,A(Q[2])],Z],er=[0,[0,_ce,A(Q[1])],rr];return c(gce,u,Q[4],er);case 8:return w([0,u,n[1]]);case 9:var tr=n[1],nr=[0,[0,Bce,t(A,tr[2])],0];return c(xce,u,0,[0,[0,Sce,e($,tr[1])],nr]);case 10:return C(n[1]);case 11:var ur=n[1],ar=[0,[0,Tce,A(ur[1])],0];return c(Ice,u,ur[2],ar);case 12:return k([0,u,n[1]]);case 13:return E([0,u,n[1]]);case 14:var ir=n[1],or=ir[1];return\"number\"!=typeof or&&3===or[0]?c(Ove,u,ir[3],[0,[0,Nve,SAe],[0,[0,Ive,ir[2].toString()],0]]):y([0,u,ir]);case 15:var sr=n[1];switch(sr[1]){case 0:var vr=Nce;break;case 1:vr=Oce;break;default:vr=Lce}var Dr=[0,[0,Pce,A(sr[3])],0],pr=[0,[0,Rce,A(sr[2])],Dr];return c(jce,u,sr[4],[0,[0,Mce,vr.toString()],pr]);case 16:var br=n[1],Fr=gr(br);return c(Uce,u,br[3],Fr);case 17:var mr=n[1],dr=[0,[0,Xce,C(mr[2])],0],Er=[0,[0,Gce,C(mr[1])],dr];return c(Jce,u,mr[3],Er);case 18:var kr=n[1],hr=kr[4],yr=kr[3];if(yr)var Cr=yr[1],wr=EMe(i(Cr[2][2]),hr),Br=B(Cr),Sr=wr;else Br=OJe(0),Sr=hr;var xr=[0,[0,zce,t(lr,kr[2])],[0,[0,qce,Br],0]];return c(Vce,u,Sr,[0,[0,Wce,A(kr[1])],xr]);case 19:var Tr=n[1],Ir=[0,[0,$ce,e(J,Tr[1])],0];return c(Yce,u,i(Tr[2]),Ir);case 20:var Nr=n[1],Or=Nr[1],Lr=Or[4],Pr=EMe(i(Or[3][2][2]),Lr),Rr=[0,[0,Hce,!!Nr[2]],0];return c(Kce,u,Pr,fye(_r(Or),Rr));case 21:var Mr=n[1],jr=Mr[1],Ur=[0,[0,Qce,!!Mr[2]],0],Xr=fye(gr(jr),Ur);return c(Zce,u,jr[3],Xr);case 22:var Gr=n[1],Jr=[0,[0,rfe,e(A,Gr[1])],0];return c(efe,u,Gr[2],Jr);case 23:return c(tfe,u,n[1][1],0);case 24:var qr=n[1],zr=[0,[0,Wve,h(qr[2])],0],Wr=[0,[0,Vve,A(qr[1])],zr];return c($ve,u,qr[3],Wr);case 25:return h([0,u,n[1]]);case 26:return c(nfe,u,n[1][1],0);case 27:var Vr=n[1],$r=[0,[0,ufe,cr(Vr[2])],0],Yr=[0,[0,afe,A(Vr[1])],$r];return c(ife,u,Vr[3],Yr);case 28:var Hr=n[1],Kr=Hr[3],Qr=Hr[2],Zr=Hr[1];if(7<=Zr)return c(ffe,u,Kr,[0,[0,cfe,A(Qr)],0]);switch(Zr){case 0:var re=ofe;break;case 1:re=sfe;break;case 2:re=lfe;break;case 3:re=vfe;break;case 4:re=Dfe;break;case 5:re=pfe;break;case 6:re=bfe;break;default:re=nye(Ffe)}var ee=[0,[0,dfe,!0],[0,[0,mfe,A(Qr)],0]];return c(kfe,u,Kr,[0,[0,Efe,re.toString()],ee]);case 29:var te=n[1],ne=0===te[1]?yfe:hfe,ue=[0,[0,Cfe,!!te[3]],0],ae=[0,[0,wfe,A(te[2])],ue];return c(_fe,u,te[4],[0,[0,Afe,ne.toString()],ae]);default:var ie=n[1],ce=[0,[0,gfe,!!ie[3]],0],fe=[0,[0,Bfe,t(A,ie[1])],ce];return c(Sfe,u,ie[2],fe)}}function _(r){var e=r[2],t=[0,[0,toe,C(e[1])],0];return c(noe,r[1],e[2],t)}function g(r,e){var t=e[1][2],u=[0,[0,uoe,!!e[3]],0],a=[0,[0,aoe,n(cr,e[2])],u];return c(coe,r,t[2],[0,[0,ioe,t[1].toString()],a])}function B(r){return e(W,r[2][1])}function S(r){var n=r[2],u=[0,[0,foe,e(d,n[2])],0],a=[0,[0,ooe,t(A,n[1])],u];return c(soe,r[1],n[3],a)}function x(r){var e=r[2],n=[0,[0,loe,m(e[2])],0],u=[0,[0,voe,t(R,e[1])],n];return c(Doe,r[1],e[3],u)}function T(r){return 0===r?Ooe:Noe}function I(r){if(r){var t=r[1];if(0===t[0])return e(yr,t[1]);var n=t[2];if(n){var u=[0,[0,Loe,C(n[1])],0];return OJe([0,c(Poe,t[1],0,u),0])}return OJe(0)}return OJe(0)}function N(r){var e=r[2],t=[0,[0,ise,A(e[1])],0];return c(cse,r[1],e[2],t)}function O(r){var e=r[2],n=[0,[0,fse,t(sr,e[2])],0],u=[0,[0,ose,C(e[1])],n];return c(sse,r[1],0,u)}function L(r){switch(r[0]){case 0:var u=r[1],a=u[2],i=a[6],f=a[2];switch(f[0]){case 0:var o=[0,y(f[1]),0,i];break;case 1:o=[0,C(f[1]),0,i];break;case 2:o=[0,_(f[1]),0,i];break;default:var s=f[1][2],l=EMe(s[2],i);o=[0,A(s[1]),1,l]}switch(a[1]){case 0:var v=Dse;break;case 1:v=pse;break;case 2:v=bse;break;default:v=Fse}var D=[0,[0,mse,e(N,a[5])],0],p=[0,[0,kse,v.toString()],[0,[0,Ese,!!a[4]],[0,[0,dse,!!o[2]],D]]],b=[0,[0,hse,w(a[3])],p];return c(Cse,u[1],o[3],[0,[0,yse,o[1]],b]);case 1:var F=r[1],m=F[2],d=m[6],E=m[2],k=m[1];switch(k[0]){case 0:var h=[0,y(k[1]),0,d];break;case 1:h=[0,C(k[1]),0,d];break;case 2:h=nye(Tse);break;default:var g=k[1][2],B=EMe(g[2],d);h=[0,A(g[1]),1,B]}if(\"number\"==typeof E)if(0===E)var S=0,x=1;else S=0,x=0;else S=[0,E[1]],x=0;var T=x?[0,[0,Ise,!!x],0]:x,I=[0,[0,Nse,t(Q,m[5])],0],O=[0,[0,Lse,!!h[2]],[0,[0,Ose,!!m[4]],I]],L=[0,[0,Pse,n(cr,m[3])],O],P=[0,[0,Rse,t(A,S)],L],R=fye([0,[0,Mse,h[1]],P],T);return c(jse,F[1],h[3],R);default:var M=r[1],j=M[2],U=j[2],X=j[1][2];if(\"number\"==typeof U)if(0===U)var G=0,J=1;else G=0,J=0;else G=[0,U[1]],J=0;var q=EMe(X[2],j[6]),z=J?[0,[0,wse,!!J],0]:J,W=[0,[0,Ase,t(Q,j[5])],0],V=[0,[0,_se,!!j[4]],W],$=[0,[0,gse,n(cr,j[3])],V],Y=[0,[0,Bse,t(A,G)],$],H=fye([0,[0,Sse,C(X[1])],Y],z);return c(xse,M[1],q,H)}}function P(r){var e=r[2],n=e[1],u=0===n[0]?C(n[1]):ir(n[1]),a=[0,[0,Cle,u],[0,[0,yle,t(sr,e[2])],0]];return c(wle,r[1],e[3],a)}function R(r){var t=r[2],u=r[1];switch(t[0]){case 0:var a=t[1],f=[0,[0,Ale,n(cr,a[2])],0],o=[0,[0,_le,e(q,a[1])],f];return c(gle,u,i(a[3]),o);case 1:var s=t[1],l=[0,[0,Ble,n(cr,s[2])],0],v=[0,[0,Sle,e(G,s[1])],l];return c(xle,u,i(s[3]),v);case 2:return g(u,t[1]);default:return A(t[1])}}function M(r){var e=r[2],t=e[2],n=e[1];if(t){var u=[0,[0,Tle,A(t[1])],0],a=[0,[0,Ile,R(n)],u];return c(Nle,r[1],0,a)}return R(n)}function j(r){var e=r[2],t=[0,[0,Lle,cF],[0,[0,Ole,cr(e[1])],0]];return c(Ple,r[1],e[2],t)}function U(r){var e=r[2],t=e[3],n=e[2],u=e[1];if(t){var a=t[1],i=a[2],f=[0,[0,Rle,R(i[1])],0],o=wye([0,c(Mle,a[1],i[2],f),gye(M,n)]),s=u?[0,j(u[1]),o]:o;return OJe(s)}var l=_ye(M,n),v=u?[0,j(u[1]),l]:l;return OJe(v)}function X(r,e){var t=[0,[0,jle,R(e[1])],0];return c(Ule,r,e[2],t)}function G(r){switch(r[0]){case 0:var e=r[1],t=e[2],n=t[2],u=t[1];if(n){var a=[0,[0,Xle,A(n[1])],0],i=[0,[0,Gle,R(u)],a];return c(Jle,e[1],0,i)}return R(u);case 1:var f=r[1];return X(f[1],f[2]);default:return SAe}}function J(r){if(0===r[0]){var e=r[1],t=e[2];switch(t[0]){case 0:var n=t[3],u=A(t[2]),a=[0,t[1],u,qle,0,n,0];break;case 1:var i=t[2],f=w([0,i[1],i[2]]);a=[0,t[1],f,zle,1,0,0];break;case 2:var o=t[2],s=t[3],l=w([0,o[1],o[2]]);a=[0,t[1],l,Wle,0,0,s];break;default:var v=t[2],D=t[3],p=w([0,v[1],v[2]]);a=[0,t[1],p,Vle,0,0,D]}var b=a[6],F=a[1];switch(F[0]){case 0:var m=[0,y(F[1]),0,b];break;case 1:m=[0,C(F[1]),0,b];break;case 2:m=nye($le);break;default:var d=F[1][2],E=EMe(d[2],b);m=[0,A(d[1]),1,E]}return c(eve,e[1],m[3],[0,[0,rve,m[1]],[0,[0,Zle,a[2]],[0,[0,Qle,a[3].toString()],[0,[0,Kle,!!a[4]],[0,[0,Hle,!!a[5]],[0,[0,Yle,!!m[2]],0]]]]]])}var k=r[1],h=k[2],_=[0,[0,tve,A(h[1])],0];return c(nve,k[1],h[2],_)}function q(r){if(0===r[0]){var e=r[1],t=e[2],n=t[3],u=t[2],a=t[1];switch(a[0]){case 0:var i=[0,y(a[1]),0,0];break;case 1:i=[0,C(a[1]),0,0];break;default:var f=a[1][2],o=f[2];i=[0,A(f[1]),1,o]}if(n)var s=n[1],l=lMe(u[1],s[1]),v=[0,[0,uve,A(s)],0],D=c(ive,l,0,[0,[0,ave,R(u)],v]);else D=R(u);return c(Dve,e[1],i[3],[0,[0,vve,i[1]],[0,[0,lve,D],[0,[0,sve,nk],[0,[0,ove,!1],[0,[0,fve,!!t[4]],[0,[0,cve,!!i[2]],0]]]]]])}var p=r[1];return X(p[1],p[2])}function z(r){var e=r[2],t=[0,[0,pve,A(e[1])],0];return c(bve,r[1],e[2],t)}function W(r){return 0===r[0]?A(r[1]):z(r[1])}function V(r){switch(r[0]){case 0:return A(r[1]);case 1:return z(r[1]);default:return SAe}}function $(r){var e=r[2],t=[0,[0,Fve,!!e[3]],0],n=[0,[0,mve,A(e[2])],t],u=[0,[0,dve,R(e[1])],n];return c(Eve,r[1],0,u)}function Y(r){var e=r[2];return c(Rve,r[1],e[3],[0,[0,Pve,e[1].toString()],[0,[0,Lve,e[2].toString()],0]])}function H(r){var e=r[2],t=e[1],n=NJe([0,[0,Gve,t[1].toString()],[0,[0,Xve,t[2].toString()],0]]);return c(zve,r[1],0,[0,[0,qve,n],[0,[0,Jve,!!e[2]],0]])}function K(r){var e=r[2],n=[0,[0,eDe,t(A,e[2])],0],u=[0,[0,tDe,R(e[1])],n];return c(nDe,r[1],0,u)}function Q(r){var e=r[2],t=0===e[1]?\"plus\":lh;return c(aDe,r[1],e[2],[0,[0,uDe,t],0])}function Z(r){var e=r[2],n=e[1],u=0===n[0]?C(n[1]):ir(n[1]),a=[0,[0,_pe,u],[0,[0,Ape,t(sr,e[2])],0]];return c(gpe,r[1],e[3],a)}function rr(r,e){var n=e[2],u=n[3],a=Sye((function(r,e){var n=r[4],u=r[3],a=r[2],i=r[1];switch(e[0]){case 0:var f=e[1],o=f[2],s=o[2],l=o[1];switch(l[0]){case 0:var v=y(l[1]);break;case 1:v=C(l[1]);break;case 2:v=nye(UDe);break;default:v=nye(XDe)}switch(s[0]){case 0:var D=[0,tr(s[1]),GDe];break;case 1:var p=s[1];D=[0,er([0,p[1],p[2]]),JDe];break;default:var b=s[1];D=[0,er([0,b[1],b[2]]),qDe]}var F=[0,[0,zDe,D[2].toString()],0],m=[0,[0,WDe,t(Q,o[7])],F];return[0,[0,c(ZDe,f[1],o[8],[0,[0,QDe,v],[0,[0,KDe,D[1]],[0,[0,HDe,!!o[6]],[0,[0,YDe,!!o[3]],[0,[0,$De,!!o[4]],[0,[0,VDe,!!o[5]],m]]]]]]),i],a,u,n];case 1:var d=e[1],E=d[2],k=[0,[0,rpe,tr(E[1])],0];return[0,[0,c(epe,d[1],E[2],k),i],a,u,n];case 2:var h=e[1],w=h[2],A=[0,[0,tpe,t(Q,w[5])],0],_=[0,[0,npe,!!w[4]],A],g=[0,[0,upe,tr(w[3])],_],B=[0,[0,ape,tr(w[2])],g],S=[0,[0,ipe,t(C,w[1])],B];return[0,i,[0,c(cpe,h[1],w[6],S),a],u,n];case 3:var x=e[1],T=x[2],I=[0,[0,fpe,!!T[2]],0],N=[0,[0,ope,er(T[1])],I];return[0,i,a,[0,c(spe,x[1],T[3],N),u],n];default:var O=e[1],L=O[2],P=[0,[0,lpe,tr(L[2])],0],R=[0,[0,ppe,!!L[3]],[0,[0,Dpe,!!L[4]],[0,[0,vpe,!!L[5]],P]]],M=[0,[0,bpe,C(L[1])],R];return[0,i,a,u,[0,c(Fpe,O[1],L[6],M),n]]}}),IDe,u),f=[0,[0,NDe,OJe(wye(a[4]))],0],o=[0,[0,ODe,OJe(wye(a[3]))],f],s=[0,[0,LDe,OJe(wye(a[2]))],o],l=[0,[0,PDe,OJe(wye(a[1]))],s],v=[0,[0,RDe,!!n[1]],l],D=r?[0,[0,MDe,!!n[2]],v]:v,p=i(n[4]);return c(jDe,e[1],p,D)}function er(r){var n=r[2],u=n[2][2],a=n[4],f=EMe(i(u[4]),a),o=[0,[0,dDe,t(fr,n[1])],0],s=[0,[0,EDe,t(ur,u[3])],o],l=[0,[0,kDe,tr(n[3])],s],v=[0,[0,hDe,t(ar,u[1])],l],D=u[2],p=[0,[0,yDe,e((function(r){return nr(0,r)}),D)],v];return c(CDe,r[1],f,p)}function tr(r){var t=r[2],n=r[1];switch(t[0]){case 0:return c(iDe,n,t[1],0);case 1:return c(cDe,n,t[1],0);case 2:return c(fDe,n,t[1],0);case 3:return c(oDe,n,t[1],0);case 4:return c(sDe,n,t[1],0);case 5:return c(vDe,n,t[1],0);case 6:return c(DDe,n,t[1],0);case 7:return c(pDe,n,t[1],0);case 8:return c(bDe,n,t[1],0);case 9:return c(lDe,n,t[1],0);case 10:return c(Hpe,n,t[1],0);case 11:var u=t[1],a=[0,[0,FDe,tr(u[1])],0];return c(mDe,n,u[2],a);case 12:return er([0,n,t[1]]);case 13:return rr(1,[0,n,t[1]]);case 14:var i=t[1],f=[0,[0,mpe,rr(0,i[1])],0],o=[0,[0,dpe,e(P,i[2])],f];return c(Epe,n,i[3],o);case 15:var s=t[1],l=[0,[0,kpe,tr(s[1])],0];return c(hpe,n,s[2],l);case 16:return Z([0,n,t[1]]);case 17:var v=t[1],D=v[1],p=[0,[0,Bpe,e(tr,[0,D[1],[0,D[2],D[3]]])],0];return c(Spe,n,v[2],p);case 18:var b=t[1],F=b[1],m=[0,[0,xpe,e(tr,[0,F[1],[0,F[2],F[3]]])],0];return c(Tpe,n,b[2],m);case 19:var d=t[1],E=[0,[0,Ipe,tr(d[1])],0];return c(Npe,n,d[3],E);case 20:var k=t[1],h=[0,[0,Ope,e(tr,k[1])],0];return c(Lpe,n,k[2],h);case 21:var y=t[1];return c(Mpe,n,y[3],[0,[0,Rpe,y[1].toString()],[0,[0,Ppe,y[2].toString()],0]]);case 22:var C=t[1];return c(Xpe,n,C[3],[0,[0,Upe,C[1]],[0,[0,jpe,C[2].toString()],0]]);case 23:var w=t[1];return c(qpe,n,w[3],[0,[0,Jpe,SAe],[0,[0,Gpe,w[2].toString()],0]]);default:var A=t[1],_=A[1],g=_?zpe:Wpe;return c(Ype,n,A[2],[0,[0,$pe,!!_],[0,[0,Vpe,g.toString()],0]])}}function nr(r,e){var n=e[2],u=[0,[0,wDe,!!n[3]],0],a=[0,[0,ADe,tr(n[2])],u],i=[0,[0,_De,t(C,n[1])],a];return c(gDe,e[1],r,i)}function ur(r){var e=r[2];return nr(e[2],e[1])}function ar(r){var e=r[2],n=[0,[0,SDe,tr(e[1][2])],[0,[0,BDe,!1],0]],u=[0,[0,xDe,t(C,0)],n];return c(TDe,r[1],e[2],u)}function ir(r){var e=r[2],t=e[1],n=0===t[0]?C(t[1]):ir(t[1]),u=[0,[0,Cpe,n],[0,[0,ype,C(e[2])],0]];return c(wpe,r[1],0,u)}function cr(r){var e=[0,[0,Kpe,tr(r[2])],0];return c(Qpe,r[1],0,e)}function fr(r){var t=r[2],n=[0,[0,Zpe,e(or,t[1])],0],u=i(t[2]);return c(rbe,r[1],u,n)}function or(r){var e=r[2],u=e[1][2],a=[0,[0,ebe,t(tr,e[4])],0],i=[0,[0,tbe,t(Q,e[3])],a],f=[0,[0,nbe,n(cr,e[2])],i];return c(abe,r[1],u[2],[0,[0,ube,u[1].toString()],f])}function sr(r){var t=r[2],n=[0,[0,ibe,e(tr,t[1])],0],u=i(t[2]);return c(cbe,r[1],u,n)}function lr(r){var t=r[2],n=[0,[0,fbe,e(vr,t[1])],0],u=i(t[2]);return c(obe,r[1],u,n)}function vr(r){if(0===r[0])return tr(r[1]);var e=r[1],t=e[1],n=e[2][1];return Z([0,t,[0,[0,bMe(0,[0,t,sbe])],0,n]])}function Dr(r){if(0===r[0]){var e=r[1],n=e[2],u=n[1],a=0===u[0]?mr(u[1]):dr(u[1]),i=[0,[0,Bbe,a],[0,[0,gbe,t(hr,n[2])],0]];return c(Sbe,e[1],0,i)}var f=r[1],o=f[2],s=[0,[0,xbe,A(o[1])],0];return c(Tbe,f[1],o[2],s)}function pr(r){var e=[0,[0,wbe,kr(r[2][1])],0];return c(Abe,r[1],0,e)}function br(r){var e=r[2],t=e[1],n=r[1],u=t?A(t[1]):c(Ibe,[0,n[1],[0,n[2][1],n[2][2]+1|0],[0,n[3][1],n[3][2]-1|0]],0,0);return c(Obe,n,i(e[2]),[0,[0,Nbe,u],0])}function Fr(r){var e=r[2],t=r[1];switch(e[0]){case 0:return k([0,t,e[1]]);case 1:return E([0,t,e[1]]);case 2:return br([0,t,e[1]]);case 3:var n=e[1],u=[0,[0,Lbe,A(n[1])],0];return c(Pbe,t,n[2],u);default:var a=e[1];return c(jbe,t,0,[0,[0,Mbe,a[1].toString()],[0,[0,Rbe,a[2].toString()],0]])}}function mr(r){var e=r[2];return c(Vbe,r[1],e[2],[0,[0,Wbe,e[1].toString()],0])}function dr(r){var e=r[2],t=[0,[0,Jbe,mr(e[2])],0],n=[0,[0,qbe,mr(e[1])],t];return c(zbe,r[1],0,n)}function Er(r){var e=r[2],t=e[1],n=0===t[0]?mr(t[1]):Er(t[1]),u=[0,[0,Xbe,n],[0,[0,Ube,mr(e[2])],0]];return c(Gbe,r[1],0,u)}function kr(r){switch(r[0]){case 0:return mr(r[1]);case 1:return dr(r[1]);default:return Er(r[1])}}function hr(r){return 0===r[0]?y([0,r[1],r[2]]):br([0,r[1],r[2]])}function yr(r){var e=r[2],t=e[2],n=e[1],u=C(t?t[1]:n),a=[0,[0,Ybe,C(n)],[0,[0,$be,u],0]];return c(Hbe,r[1],0,a)}function Cr(r){return e(wr,r)}function wr(r){var e=r[2];if(0===e[1])var t=iFe,n=e[2];else t=aFe,n=e[2];return c(t,r[1],0,[0,[0,cFe,n.toString()],0])}function Ar(r){var e=r[2],t=e[1];if(t)var n=oFe,u=[0,[0,fFe,A(t[1])],0];else n=sFe,u=0;return c(n,r[1],e[2],u)}function _r(r){var e=[0,[0,lFe,B(r[3])],0],n=[0,[0,vFe,t(lr,r[2])],e];return[0,[0,DFe,A(r[1])],n]}function gr(r){var e=r[2];switch(e[0]){case 0:var t=[0,C(e[1]),0];break;case 1:t=[0,_(e[1]),0];break;default:t=[0,A(e[1]),1]}var n=[0,[0,bFe,t[1]],[0,[0,pFe,!!t[2]],0]];return[0,[0,FFe,A(r[1])],n]}return[0,function(e){var t=e[2],n=f(t[1]),u=r[2]?[0,[0,yae,n],[0,[0,hae,Cr(t[3])],0]]:[0,[0,Cae,n],0];return c(wae,e[1],t[2],u)},A]}return[0,function(r){return c(r)[1]},function(r){return c(r)[2]},function(r){return e((function(r){var e=r[2];if(\"number\"==typeof e){var t=e;if(55<=t)switch(t){case 55:var n=qWr;break;case 56:n=zWr;break;case 57:n=WWr;break;case 58:n=iye($Wr,VWr);break;case 59:n=iye(HWr,YWr);break;case 60:n=iye(QWr,KWr);break;case 61:n=ZWr;break;case 62:n=rVr;break;case 63:n=eVr;break;case 64:n=tVr;break;case 65:n=nVr;break;case 66:n=uVr;break;case 67:n=aVr;break;case 68:n=iVr;break;case 69:n=cVr;break;case 70:n=fVr;break;case 71:n=oVr;break;case 72:n=sVr;break;case 73:n=lVr;break;case 74:n=vVr;break;case 75:n=DVr;break;case 76:n=pVr;break;case 77:n=bVr;break;case 78:n=FVr;break;case 79:n=mVr;break;case 80:n=iye(EVr,dVr);break;case 81:n=kVr;break;case 82:n=hVr;break;case 83:n=yVr;break;case 84:n=CVr;break;case 85:n=wVr;break;case 86:n=AVr;break;case 87:n=_Vr;break;case 88:n=gVr;break;case 89:n=BVr;break;case 90:n=SVr;break;case 91:n=xVr;break;case 92:n=TVr;break;case 93:n=iye(NVr,IVr);break;case 94:n=OVr;break;case 95:n=LVr;break;case 96:n=PVr;break;case 97:n=RVr;break;case 98:n=MVr;break;case 99:n=jVr;break;case 100:n=UVr;break;case 101:n=XVr;break;case 102:n=GVr;break;case 103:n=JVr;break;case 104:n=qVr;break;case 105:n=zVr;break;case 106:n=WVr;break;case 107:n=VVr;break;case 108:n=$Vr;break;default:n=YVr}else switch(t){case 0:n=Gzr;break;case 1:n=Jzr;break;case 2:n=qzr;break;case 3:n=zzr;break;case 4:n=Wzr;break;case 5:n=Vzr;break;case 6:n=$zr;break;case 7:n=Yzr;break;case 8:n=Hzr;break;case 9:n=Kzr;break;case 10:n=Qzr;break;case 11:n=Zzr;break;case 12:n=rWr;break;case 13:n=eWr;break;case 14:n=tWr;break;case 15:n=nWr;break;case 16:n=uWr;break;case 17:n=aWr;break;case 18:n=iWr;break;case 19:n=cWr;break;case 20:n=fWr;break;case 21:n=oWr;break;case 22:n=sWr;break;case 23:n=lWr;break;case 24:n=vWr;break;case 25:n=DWr;break;case 26:n=pWr;break;case 27:n=bWr;break;case 28:n=FWr;break;case 29:n=mWr;break;case 30:n=iye(EWr,dWr);break;case 31:n=kWr;break;case 32:n=hWr;break;case 33:n=yWr;break;case 34:n=CWr;break;case 35:n=wWr;break;case 36:n=AWr;break;case 37:n=_Wr;break;case 38:n=gWr;break;case 39:n=BWr;break;case 40:n=SWr;break;case 41:n=xWr;break;case 42:n=TWr;break;case 43:n=IWr;break;case 44:n=NWr;break;case 45:n=OWr;break;case 46:n=LWr;break;case 47:n=PWr;break;case 48:n=RWr;break;case 49:n=MWr;break;case 50:n=jWr;break;case 51:n=UWr;break;case 52:n=XWr;break;case 53:n=GWr;break;default:n=JWr}}else switch(e[0]){case 0:n=iye(HVr,e[1]);break;case 1:var u=e[2],i=e[1];n=Sx(LCe(KVr),u,u,i);break;case 2:var c=e[1],f=e[2];n=Bx(LCe(QVr),f,c);break;case 3:var o=e[1];n=gx(LCe(ZVr),o);break;case 4:var s=e[2],l=e[1],v=gx(LCe(r$r),l);if(s){var D=s[1];n=Bx(LCe(e$r),D,v)}else n=gx(LCe(t$r),v);break;case 5:var p=e[1];n=Bx(LCe(n$r),p,p);break;case 6:var b=e[3],F=e[2],m=e[1];if(F){var d=F[1];if(3<=d)n=Bx(LCe(u$r),b,m);else{switch(d){case 0:var E=Mzr;break;case 1:E=jzr;break;case 2:E=Uzr;break;default:E=Xzr}n=xx(LCe(a$r),m,E,b,E)}}else n=Bx(LCe(i$r),b,m);break;case 7:var k=e[2],h=k;if(0===ZS(h))var y=h;else{var C=Pye(h);tS(C,0,pye(uS(h,0)));y=C}var w=e[1];n=Sx(LCe(c$r),k,y,w);break;case 8:n=e[1]?f$r:o$r;break;case 9:var A=e[1],_=e[2];n=Bx(LCe(s$r),_,A);break;case 10:var g=e[1];n=gx(LCe(l$r),g);break;case 11:var B=e[1];n=gx(LCe(v$r),B);break;case 12:var S=e[2],x=e[1];n=Bx(LCe(D$r),x,S);break;case 13:var T=e[2],I=e[1];n=Bx(LCe(p$r),I,T);break;case 14:n=iye(F$r,iye(e[1],b$r));break;case 15:n=iye(d$r,iye(e[1],m$r));break;case 16:var N=iye(k$r,iye(e[2],E$r));n=iye(e[1],N);break;case 17:n=iye(h$r,e[1]);break;case 18:n=e[1]?iye(C$r,y$r):iye(A$r,w$r);break;case 19:var O=e[1];n=gx(LCe(_$r),O);break;case 20:n=iye(B$r,iye(e[1],g$r));break;case 21:var L=e[1],P=e[2]?S$r:x$r,R=e[3]?iye(T$r,L):L;n=iye(O$r,iye(P,iye(N$r,iye(R,I$r))));break;case 22:n=iye(P$r,iye(e[1],L$r));break;default:var M=e[1];n=gx(LCe(R$r),M)}var j=[0,[0,mFe,n.toString()],0];return NJe([0,[0,dFe,a(r[1])],j])}),r)}]}([0,1,1,0]),RJe=function(r){function e(e,t){var n=t[2],u=t[1],a=gMe(n),i=[0,[0,Phe,gx(r[1],a)],0],c=MGe(e,u[3]),f=[0,gx(r[5],c),0],o=MGe(e,u[2]),s=[0,gx(r[5],o),f],l=[0,[0,Rhe,gx(r[4],s)],i],v=[0,[0,Mhe,gx(r[5],u[3][2])],0],D=[0,[0,jhe,gx(r[5],u[3][1])],v],p=[0,[0,Uhe,gx(r[3],D)],0],b=[0,[0,Xhe,gx(r[5],u[2][2])],0],F=[0,[0,Ghe,gx(r[5],u[2][1])],b],m=[0,[0,Jhe,gx(r[3],F)],p],d=[0,[0,qhe,gx(r[3],m)],l];switch(t[3]){case 0:var E=zhe;break;case 1:E=Whe;break;case 2:E=Vhe;break;case 3:E=$he;break;case 4:E=Yhe;break;default:E=Hhe}var k=[0,[0,Khe,gx(r[1],E)],d],h=_Me(n),y=[0,[0,Qhe,gx(r[1],h)],k];return gx(r[3],y)}return[0,e,function(t,n){var u=wye(gye((function(r){return e(t,r)}),n));return gx(r[4],u)}]}([0,TJe,IJe,NJe,OJe,function(r){return r},function(r){return r},SAe,LJe]),MJe=function(r,e){var t=DS(e,xAe)?{}:e,n=_S(r),u=t.enums,a=TAe(u)?[0,0|u,Wx[2],Wx[3],Wx[4],Wx[5],Wx[6],Wx[7],Wx[8],Wx[9]]:Wx,i=t.esproposal_decorators,c=TAe(i)?[0,a[1],a[2],a[3],0|i,a[5],a[6],a[7],a[8],a[9]]:a,f=t.esproposal_class_instance_fields,o=TAe(f)?[0,c[1],0|f,c[3],c[4],c[5],c[6],c[7],c[8],c[9]]:c,s=t.esproposal_class_static_fields,l=TAe(s)?[0,o[1],o[2],0|s,o[4],o[5],o[6],o[7],o[8],o[9]]:o,v=t.esproposal_export_star_as,D=TAe(v)?[0,l[1],l[2],l[3],l[4],0|v,l[6],l[7],l[8],l[9]]:l,p=t.esproposal_optional_chaining,b=TAe(p)?[0,D[1],D[2],D[3],D[4],D[5],0|p,D[7],D[8],D[9]]:D,F=t.esproposal_nullish_coalescing,m=TAe(F)?[0,b[1],b[2],b[3],b[4],b[5],b[6],0|F,b[8],b[9]]:b,d=t.types,E=TAe(d)?[0,m[1],m[2],m[3],m[4],m[5],m[6],m[7],0|d,m[9]]:m,k=t.tokens,h=TAe(k),y=h?0|k:h,C=[0,0],w=[0,[0,E]],A=[0,y?[0,function(r){return C[1]=[0,r,C[1]],0}]:y],_=Hx?Hx[1]:1,g=[0,w?w[1]:w],B=[0,A?A[1]:A],S=cXe([0,B?B[1]:B],[0,g?g[1]:g],0,n),x=gx($Ge[1],S),T=wye(S[1][1]),I=wye(Sye((function(r,e){var t=r[2],n=r[1];return Bx(VGe[3],e,n)?[0,n,t]:[0,Bx(VGe[4],e,n),[0,e,t]]}),[0,VGe[1],0],T)[2]);if(_?0!==I?1:0:_)throw[0,yMe,I];xJe[1]=0;for(var N=RS(n)-0|0,O=n,L=0,P=0;;){if(P===N)var R=L;else{var M=uS(O,P);if(0<=M)if(zy>>0)throw[0,jx,gO];switch(q){case 0:var W=uS(O,P);break;case 1:W=(31&uS(O,P))<<6|63&uS(O,P+1|0);break;case 2:W=(15&uS(O,P))<<12|(63&uS(O,P+1|0))<<6|63&uS(O,P+2|0);break;default:W=(7&uS(O,P))<<18|(63&uS(O,P+1|0))<<12|(63&uS(O,P+2|0))<<6|63&uS(O,P+3|0)}L=LGe(L,0,[0,W]),P=z;continue}R=LGe(L,0,0)}for(var V=vae,$=wye([0,6,R]);;){var Y=V[3],H=V[2],K=V[1];if(!$){var Q=$ye(wye(Y)),Z=Bx(PJe[1],[0,Q],x),rr=fye(I,xJe[1]);if(Z.errors=gx(PJe[3],rr),y){var er=C[1];Z.tokens=OJe(gye(gx(RJe[1],Q),er))}return Z}var tr=$[1];if(5===tr){var nr=$[2];if(nr&&6===nr[1]){V=[0,K+2|0,0,[0,$ye(wye([0,K,H])),Y]],$=nr[2];continue}}else if(!(6<=tr)){var ur=$[2];V=[0,K+OGe(tr)|0,[0,K,H],Y],$=ur;continue}var ar=$ye(wye([0,K,H])),ir=$[2];V=[0,K+OGe(tr)|0,0,[0,ar,Y]],$=ir}}},jJe=function(r){if(r[1]===NAe)return gx(LAe,r[2]);return gx(LAe,new OAe(iye(Zhe,function(e){for(var t=e;;){if(!t){if(r===Ix)return KN;if(r===Mx)return QN;if(r[1]===Rx){var n=r[2],u=n[3],a=n[2],i=n[1];return Tx(LCe(Xx),i,a,u,u+5|0,ZN)}if(r[1]===jx){var c=r[2],f=c[3],o=c[2],s=c[1];return Tx(LCe(Xx),s,o,f,f+6|0,rO)}if(r[1]===Ux){var l=r[2],v=l[3],D=l[2],p=l[1];return Tx(LCe(Xx),p,D,v,v+6|0,eO)}return 0===Fx(r)?iye(r[1][1],jCe(r)):r[1]}var b=t[2],F=t[1];try{var m=gx(F,r)}catch(r){m=0}if(m)return m[1];t=b}}(PCe[1])).toString()))};return e.parse=function(r,e){try{return MJe(r,e)}catch(e){return e=_x(e),jJe(e)}},void gx(lye[1],0)}yAe=CAe}else kAe=hAe}else dAe=EAe}else FAe=mAe}}(new Function(\"return this\")())}));const{hasPragma:Ht}=Hr,{locStart:Kt,locEnd:Qt}=re;return{parsers:{flow:{parse:function(e,t,n){const u=Yt.parse(e,{enums:!0,esproposal_decorators:!0,esproposal_class_instance_fields:!0,esproposal_class_static_fields:!0,esproposal_export_star_as:!0,esproposal_optional_chaining:!0,esproposal_nullish_coalescing:!0,tokens:!0}),[a]=u.errors;if(a){const{message:e,loc:{start:t,end:n}}=a;throw r(e,{start:{line:t.line,column:t.column+1},end:{line:n.line,column:n.column+1}})}return Xt(u,Object.assign({},n,{originalText:e}))},astFormat:\"estree\",hasPragma:Ht,locStart:Kt,locEnd:Qt}}}}));\n","'use strict';\n\n/*eslint-disable no-use-before-define*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar DEFAULT_FULL_SCHEMA = require('./schema/default_full');\nvar DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');\n\nvar _toString = Object.prototype.toString;\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar CHAR_TAB = 0x09; /* Tab */\nvar CHAR_LINE_FEED = 0x0A; /* LF */\nvar CHAR_CARRIAGE_RETURN = 0x0D; /* CR */\nvar CHAR_SPACE = 0x20; /* Space */\nvar CHAR_EXCLAMATION = 0x21; /* ! */\nvar CHAR_DOUBLE_QUOTE = 0x22; /* \" */\nvar CHAR_SHARP = 0x23; /* # */\nvar CHAR_PERCENT = 0x25; /* % */\nvar CHAR_AMPERSAND = 0x26; /* & */\nvar CHAR_SINGLE_QUOTE = 0x27; /* ' */\nvar CHAR_ASTERISK = 0x2A; /* * */\nvar CHAR_COMMA = 0x2C; /* , */\nvar CHAR_MINUS = 0x2D; /* - */\nvar CHAR_COLON = 0x3A; /* : */\nvar CHAR_EQUALS = 0x3D; /* = */\nvar CHAR_GREATER_THAN = 0x3E; /* > */\nvar CHAR_QUESTION = 0x3F; /* ? */\nvar CHAR_COMMERCIAL_AT = 0x40; /* @ */\nvar CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */\nvar CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */\nvar CHAR_GRAVE_ACCENT = 0x60; /* ` */\nvar CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */\nvar CHAR_VERTICAL_LINE = 0x7C; /* | */\nvar CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */\n\nvar ESCAPE_SEQUENCES = {};\n\nESCAPE_SEQUENCES[0x00] = '\\\\0';\nESCAPE_SEQUENCES[0x07] = '\\\\a';\nESCAPE_SEQUENCES[0x08] = '\\\\b';\nESCAPE_SEQUENCES[0x09] = '\\\\t';\nESCAPE_SEQUENCES[0x0A] = '\\\\n';\nESCAPE_SEQUENCES[0x0B] = '\\\\v';\nESCAPE_SEQUENCES[0x0C] = '\\\\f';\nESCAPE_SEQUENCES[0x0D] = '\\\\r';\nESCAPE_SEQUENCES[0x1B] = '\\\\e';\nESCAPE_SEQUENCES[0x22] = '\\\\\"';\nESCAPE_SEQUENCES[0x5C] = '\\\\\\\\';\nESCAPE_SEQUENCES[0x85] = '\\\\N';\nESCAPE_SEQUENCES[0xA0] = '\\\\_';\nESCAPE_SEQUENCES[0x2028] = '\\\\L';\nESCAPE_SEQUENCES[0x2029] = '\\\\P';\n\nvar DEPRECATED_BOOLEANS_SYNTAX = [\n 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON',\n 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'\n];\n\nfunction compileStyleMap(schema, map) {\n var result, keys, index, length, tag, style, type;\n\n if (map === null) return {};\n\n result = {};\n keys = Object.keys(map);\n\n for (index = 0, length = keys.length; index < length; index += 1) {\n tag = keys[index];\n style = String(map[tag]);\n\n if (tag.slice(0, 2) === '!!') {\n tag = 'tag:yaml.org,2002:' + tag.slice(2);\n }\n type = schema.compiledTypeMap['fallback'][tag];\n\n if (type && _hasOwnProperty.call(type.styleAliases, style)) {\n style = type.styleAliases[style];\n }\n\n result[tag] = style;\n }\n\n return result;\n}\n\nfunction encodeHex(character) {\n var string, handle, length;\n\n string = character.toString(16).toUpperCase();\n\n if (character <= 0xFF) {\n handle = 'x';\n length = 2;\n } else if (character <= 0xFFFF) {\n handle = 'u';\n length = 4;\n } else if (character <= 0xFFFFFFFF) {\n handle = 'U';\n length = 8;\n } else {\n throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF');\n }\n\n return '\\\\' + handle + common.repeat('0', length - string.length) + string;\n}\n\nfunction State(options) {\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.indent = Math.max(1, (options['indent'] || 2));\n this.noArrayIndent = options['noArrayIndent'] || false;\n this.skipInvalid = options['skipInvalid'] || false;\n this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']);\n this.styleMap = compileStyleMap(this.schema, options['styles'] || null);\n this.sortKeys = options['sortKeys'] || false;\n this.lineWidth = options['lineWidth'] || 80;\n this.noRefs = options['noRefs'] || false;\n this.noCompatMode = options['noCompatMode'] || false;\n this.condenseFlow = options['condenseFlow'] || false;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.explicitTypes = this.schema.compiledExplicit;\n\n this.tag = null;\n this.result = '';\n\n this.duplicates = [];\n this.usedDuplicates = null;\n}\n\n// Indents every line in a string. Empty lines (\\n only) are not indented.\nfunction indentString(string, spaces) {\n var ind = common.repeat(' ', spaces),\n position = 0,\n next = -1,\n result = '',\n line,\n length = string.length;\n\n while (position < length) {\n next = string.indexOf('\\n', position);\n if (next === -1) {\n line = string.slice(position);\n position = length;\n } else {\n line = string.slice(position, next + 1);\n position = next + 1;\n }\n\n if (line.length && line !== '\\n') result += ind;\n\n result += line;\n }\n\n return result;\n}\n\nfunction generateNextLine(state, level) {\n return '\\n' + common.repeat(' ', state.indent * level);\n}\n\nfunction testImplicitResolving(state, str) {\n var index, length, type;\n\n for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {\n type = state.implicitTypes[index];\n\n if (type.resolve(str)) {\n return true;\n }\n }\n\n return false;\n}\n\n// [33] s-white ::= s-space | s-tab\nfunction isWhitespace(c) {\n return c === CHAR_SPACE || c === CHAR_TAB;\n}\n\n// Returns true if the character can be printed without escaping.\n// From YAML 1.2: \"any allowed characters known to be non-printable\n// should also be escaped. [However,] This isn’t mandatory\"\n// Derived from nb-char - \\t - #x85 - #xA0 - #x2028 - #x2029.\nfunction isPrintable(c) {\n return (0x00020 <= c && c <= 0x00007E)\n || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029)\n || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */)\n || (0x10000 <= c && c <= 0x10FFFF);\n}\n\n// [34] ns-char ::= nb-char - s-white\n// [27] nb-char ::= c-printable - b-char - c-byte-order-mark\n// [26] b-char ::= b-line-feed | b-carriage-return\n// [24] b-line-feed ::= #xA /* LF */\n// [25] b-carriage-return ::= #xD /* CR */\n// [3] c-byte-order-mark ::= #xFEFF\nfunction isNsChar(c) {\n return isPrintable(c) && !isWhitespace(c)\n // byte-order-mark\n && c !== 0xFEFF\n // b-char\n && c !== CHAR_CARRIAGE_RETURN\n && c !== CHAR_LINE_FEED;\n}\n\n// Simplified test for values allowed after the first character in plain style.\nfunction isPlainSafe(c, prev) {\n // Uses a subset of nb-char - c-flow-indicator - \":\" - \"#\"\n // where nb-char ::= c-printable - b-char - c-byte-order-mark.\n return isPrintable(c) && c !== 0xFEFF\n // - c-flow-indicator\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // - \":\" - \"#\"\n // /* An ns-char preceding */ \"#\"\n && c !== CHAR_COLON\n && ((c !== CHAR_SHARP) || (prev && isNsChar(prev)));\n}\n\n// Simplified test for values allowed as the first character in plain style.\nfunction isPlainSafeFirst(c) {\n // Uses a subset of ns-char - c-indicator\n // where ns-char = nb-char - s-white.\n return isPrintable(c) && c !== 0xFEFF\n && !isWhitespace(c) // - s-white\n // - (c-indicator ::=\n // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}”\n && c !== CHAR_MINUS\n && c !== CHAR_QUESTION\n && c !== CHAR_COLON\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “\"”\n && c !== CHAR_SHARP\n && c !== CHAR_AMPERSAND\n && c !== CHAR_ASTERISK\n && c !== CHAR_EXCLAMATION\n && c !== CHAR_VERTICAL_LINE\n && c !== CHAR_EQUALS\n && c !== CHAR_GREATER_THAN\n && c !== CHAR_SINGLE_QUOTE\n && c !== CHAR_DOUBLE_QUOTE\n // | “%” | “@” | “`”)\n && c !== CHAR_PERCENT\n && c !== CHAR_COMMERCIAL_AT\n && c !== CHAR_GRAVE_ACCENT;\n}\n\n// Determines whether block indentation indicator is required.\nfunction needIndentIndicator(string) {\n var leadingSpaceRe = /^\\n* /;\n return leadingSpaceRe.test(string);\n}\n\nvar STYLE_PLAIN = 1,\n STYLE_SINGLE = 2,\n STYLE_LITERAL = 3,\n STYLE_FOLDED = 4,\n STYLE_DOUBLE = 5;\n\n// Determines which scalar styles are possible and returns the preferred style.\n// lineWidth = -1 => no limit.\n// Pre-conditions: str.length > 0.\n// Post-conditions:\n// STYLE_PLAIN or STYLE_SINGLE => no \\n are in the string.\n// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1).\n// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1).\nfunction chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {\n var i;\n var char, prev_char;\n var hasLineBreak = false;\n var hasFoldableLine = false; // only checked if shouldTrackWidth\n var shouldTrackWidth = lineWidth !== -1;\n var previousLineBreak = -1; // count the first line correctly\n var plain = isPlainSafeFirst(string.charCodeAt(0))\n && !isWhitespace(string.charCodeAt(string.length - 1));\n\n if (singleLineOnly) {\n // Case: no block styles.\n // Check for disallowed characters to rule out plain and single.\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n prev_char = i > 0 ? string.charCodeAt(i - 1) : null;\n plain = plain && isPlainSafe(char, prev_char);\n }\n } else {\n // Case: block styles permitted.\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (char === CHAR_LINE_FEED) {\n hasLineBreak = true;\n // Check if any line can be folded.\n if (shouldTrackWidth) {\n hasFoldableLine = hasFoldableLine ||\n // Foldable line = too long, and not more-indented.\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' ');\n previousLineBreak = i;\n }\n } else if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n prev_char = i > 0 ? string.charCodeAt(i - 1) : null;\n plain = plain && isPlainSafe(char, prev_char);\n }\n // in case the end is missing a \\n\n hasFoldableLine = hasFoldableLine || (shouldTrackWidth &&\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' '));\n }\n // Although every style can represent \\n without escaping, prefer block styles\n // for multiline, since they're more readable and they don't add empty lines.\n // Also prefer folding a super-long line.\n if (!hasLineBreak && !hasFoldableLine) {\n // Strings interpretable as another type have to be quoted;\n // e.g. the string 'true' vs. the boolean true.\n return plain && !testAmbiguousType(string)\n ? STYLE_PLAIN : STYLE_SINGLE;\n }\n // Edge case: block indentation indicator can only have one digit.\n if (indentPerLevel > 9 && needIndentIndicator(string)) {\n return STYLE_DOUBLE;\n }\n // At this point we know block styles are valid.\n // Prefer literal style unless we want to fold.\n return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;\n}\n\n// Note: line breaking/folding is implemented for only the folded style.\n// NB. We drop the last trailing newline (if any) of a returned block scalar\n// since the dumper adds its own newline. This always works:\n// • No ending newline => unaffected; already using strip \"-\" chomping.\n// • Ending newline => removed then restored.\n// Importantly, this keeps the \"+\" chomp indicator from gaining an extra line.\nfunction writeScalar(state, string, level, iskey) {\n state.dump = (function () {\n if (string.length === 0) {\n return \"''\";\n }\n if (!state.noCompatMode &&\n DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) {\n return \"'\" + string + \"'\";\n }\n\n var indent = state.indent * Math.max(1, level); // no 0-indent scalars\n // As indentation gets deeper, let the width decrease monotonically\n // to the lower bound min(state.lineWidth, 40).\n // Note that this implies\n // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound.\n // state.lineWidth > 40 + state.indent: width decreases until the lower bound.\n // This behaves better than a constant minimum width which disallows narrower options,\n // or an indent threshold which causes the width to suddenly increase.\n var lineWidth = state.lineWidth === -1\n ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);\n\n // Without knowing if keys are implicit/explicit, assume implicit for safety.\n var singleLineOnly = iskey\n // No block styles in flow mode.\n || (state.flowLevel > -1 && level >= state.flowLevel);\n function testAmbiguity(string) {\n return testImplicitResolving(state, string);\n }\n\n switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {\n case STYLE_PLAIN:\n return string;\n case STYLE_SINGLE:\n return \"'\" + string.replace(/'/g, \"''\") + \"'\";\n case STYLE_LITERAL:\n return '|' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(string, indent));\n case STYLE_FOLDED:\n return '>' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(foldString(string, lineWidth), indent));\n case STYLE_DOUBLE:\n return '\"' + escapeString(string, lineWidth) + '\"';\n default:\n throw new YAMLException('impossible error: invalid scalar style');\n }\n }());\n}\n\n// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9.\nfunction blockHeader(string, indentPerLevel) {\n var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : '';\n\n // note the special case: the string '\\n' counts as a \"trailing\" empty line.\n var clip = string[string.length - 1] === '\\n';\n var keep = clip && (string[string.length - 2] === '\\n' || string === '\\n');\n var chomp = keep ? '+' : (clip ? '' : '-');\n\n return indentIndicator + chomp + '\\n';\n}\n\n// (See the note for writeScalar.)\nfunction dropEndingNewline(string) {\n return string[string.length - 1] === '\\n' ? string.slice(0, -1) : string;\n}\n\n// Note: a long line without a suitable break point will exceed the width limit.\n// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0.\nfunction foldString(string, width) {\n // In folded style, $k$ consecutive newlines output as $k+1$ newlines—\n // unless they're before or after a more-indented line, or at the very\n // beginning or end, in which case $k$ maps to $k$.\n // Therefore, parse each chunk as newline(s) followed by a content line.\n var lineRe = /(\\n+)([^\\n]*)/g;\n\n // first line (possibly an empty line)\n var result = (function () {\n var nextLF = string.indexOf('\\n');\n nextLF = nextLF !== -1 ? nextLF : string.length;\n lineRe.lastIndex = nextLF;\n return foldLine(string.slice(0, nextLF), width);\n }());\n // If we haven't reached the first content line yet, don't add an extra \\n.\n var prevMoreIndented = string[0] === '\\n' || string[0] === ' ';\n var moreIndented;\n\n // rest of the lines\n var match;\n while ((match = lineRe.exec(string))) {\n var prefix = match[1], line = match[2];\n moreIndented = (line[0] === ' ');\n result += prefix\n + (!prevMoreIndented && !moreIndented && line !== ''\n ? '\\n' : '')\n + foldLine(line, width);\n prevMoreIndented = moreIndented;\n }\n\n return result;\n}\n\n// Greedy line breaking.\n// Picks the longest line under the limit each time,\n// otherwise settles for the shortest line over the limit.\n// NB. More-indented lines *cannot* be folded, as that would add an extra \\n.\nfunction foldLine(line, width) {\n if (line === '' || line[0] === ' ') return line;\n\n // Since a more-indented line adds a \\n, breaks can't be followed by a space.\n var breakRe = / [^ ]/g; // note: the match index will always be <= length-2.\n var match;\n // start is an inclusive index. end, curr, and next are exclusive.\n var start = 0, end, curr = 0, next = 0;\n var result = '';\n\n // Invariants: 0 <= start <= length-1.\n // 0 <= curr <= next <= max(0, length-2). curr - start <= width.\n // Inside the loop:\n // A match implies length >= 2, so curr and next are <= length-2.\n while ((match = breakRe.exec(line))) {\n next = match.index;\n // maintain invariant: curr - start <= width\n if (next - start > width) {\n end = (curr > start) ? curr : next; // derive end <= length-2\n result += '\\n' + line.slice(start, end);\n // skip the space that was output as \\n\n start = end + 1; // derive start <= length-1\n }\n curr = next;\n }\n\n // By the invariants, start <= length-1, so there is something left over.\n // It is either the whole string or a part starting from non-whitespace.\n result += '\\n';\n // Insert a break if the remainder is too long and there is a break available.\n if (line.length - start > width && curr > start) {\n result += line.slice(start, curr) + '\\n' + line.slice(curr + 1);\n } else {\n result += line.slice(start);\n }\n\n return result.slice(1); // drop extra \\n joiner\n}\n\n// Escapes a double-quoted string.\nfunction escapeString(string) {\n var result = '';\n var char, nextChar;\n var escapeSeq;\n\n for (var i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n // Check for surrogate pairs (reference Unicode 3.0 section \"3.7 Surrogates\").\n if (char >= 0xD800 && char <= 0xDBFF/* high surrogate */) {\n nextChar = string.charCodeAt(i + 1);\n if (nextChar >= 0xDC00 && nextChar <= 0xDFFF/* low surrogate */) {\n // Combine the surrogate pair and store it escaped.\n result += encodeHex((char - 0xD800) * 0x400 + nextChar - 0xDC00 + 0x10000);\n // Advance index one extra since we already used that char here.\n i++; continue;\n }\n }\n escapeSeq = ESCAPE_SEQUENCES[char];\n result += !escapeSeq && isPrintable(char)\n ? string[i]\n : escapeSeq || encodeHex(char);\n }\n\n return result;\n}\n\nfunction writeFlowSequence(state, level, object) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n // Write only valid elements.\n if (writeNode(state, level, object[index], false, false)) {\n if (index !== 0) _result += ',' + (!state.condenseFlow ? ' ' : '');\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = '[' + _result + ']';\n}\n\nfunction writeBlockSequence(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n // Write only valid elements.\n if (writeNode(state, level + 1, object[index], true, true)) {\n if (!compact || index !== 0) {\n _result += generateNextLine(state, level);\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n _result += '-';\n } else {\n _result += '- ';\n }\n\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = _result || '[]'; // Empty sequence if no valid values.\n}\n\nfunction writeFlowMapping(state, level, object) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n pairBuffer;\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n\n pairBuffer = '';\n if (index !== 0) pairBuffer += ', ';\n\n if (state.condenseFlow) pairBuffer += '\"';\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (!writeNode(state, level, objectKey, false, false)) {\n continue; // Skip this pair because of invalid key;\n }\n\n if (state.dump.length > 1024) pairBuffer += '? ';\n\n pairBuffer += state.dump + (state.condenseFlow ? '\"' : '') + ':' + (state.condenseFlow ? '' : ' ');\n\n if (!writeNode(state, level, objectValue, false, false)) {\n continue; // Skip this pair because of invalid value.\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = '{' + _result + '}';\n}\n\nfunction writeBlockMapping(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n explicitPair,\n pairBuffer;\n\n // Allow sorting keys so that the output file is deterministic\n if (state.sortKeys === true) {\n // Default sorting\n objectKeyList.sort();\n } else if (typeof state.sortKeys === 'function') {\n // Custom sort function\n objectKeyList.sort(state.sortKeys);\n } else if (state.sortKeys) {\n // Something is wrong\n throw new YAMLException('sortKeys must be a boolean or a function');\n }\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = '';\n\n if (!compact || index !== 0) {\n pairBuffer += generateNextLine(state, level);\n }\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (!writeNode(state, level + 1, objectKey, true, true, true)) {\n continue; // Skip this pair because of invalid key.\n }\n\n explicitPair = (state.tag !== null && state.tag !== '?') ||\n (state.dump && state.dump.length > 1024);\n\n if (explicitPair) {\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += '?';\n } else {\n pairBuffer += '? ';\n }\n }\n\n pairBuffer += state.dump;\n\n if (explicitPair) {\n pairBuffer += generateNextLine(state, level);\n }\n\n if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {\n continue; // Skip this pair because of invalid value.\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += ':';\n } else {\n pairBuffer += ': ';\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = _result || '{}'; // Empty mapping if no valid pairs.\n}\n\nfunction detectType(state, object, explicit) {\n var _result, typeList, index, length, type, style;\n\n typeList = explicit ? state.explicitTypes : state.implicitTypes;\n\n for (index = 0, length = typeList.length; index < length; index += 1) {\n type = typeList[index];\n\n if ((type.instanceOf || type.predicate) &&\n (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) &&\n (!type.predicate || type.predicate(object))) {\n\n state.tag = explicit ? type.tag : '?';\n\n if (type.represent) {\n style = state.styleMap[type.tag] || type.defaultStyle;\n\n if (_toString.call(type.represent) === '[object Function]') {\n _result = type.represent(object, style);\n } else if (_hasOwnProperty.call(type.represent, style)) {\n _result = type.represent[style](object, style);\n } else {\n throw new YAMLException('!<' + type.tag + '> tag resolver accepts not \"' + style + '\" style');\n }\n\n state.dump = _result;\n }\n\n return true;\n }\n }\n\n return false;\n}\n\n// Serializes `object` and writes it to global `result`.\n// Returns true on success, or false on invalid object.\n//\nfunction writeNode(state, level, object, block, compact, iskey) {\n state.tag = null;\n state.dump = object;\n\n if (!detectType(state, object, false)) {\n detectType(state, object, true);\n }\n\n var type = _toString.call(state.dump);\n\n if (block) {\n block = (state.flowLevel < 0 || state.flowLevel > level);\n }\n\n var objectOrArray = type === '[object Object]' || type === '[object Array]',\n duplicateIndex,\n duplicate;\n\n if (objectOrArray) {\n duplicateIndex = state.duplicates.indexOf(object);\n duplicate = duplicateIndex !== -1;\n }\n\n if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) {\n compact = false;\n }\n\n if (duplicate && state.usedDuplicates[duplicateIndex]) {\n state.dump = '*ref_' + duplicateIndex;\n } else {\n if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {\n state.usedDuplicates[duplicateIndex] = true;\n }\n if (type === '[object Object]') {\n if (block && (Object.keys(state.dump).length !== 0)) {\n writeBlockMapping(state, level, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowMapping(state, level, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object Array]') {\n var arrayLevel = (state.noArrayIndent && (level > 0)) ? level - 1 : level;\n if (block && (state.dump.length !== 0)) {\n writeBlockSequence(state, arrayLevel, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowSequence(state, arrayLevel, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object String]') {\n if (state.tag !== '?') {\n writeScalar(state, state.dump, level, iskey);\n }\n } else {\n if (state.skipInvalid) return false;\n throw new YAMLException('unacceptable kind of an object to dump ' + type);\n }\n\n if (state.tag !== null && state.tag !== '?') {\n state.dump = '!<' + state.tag + '> ' + state.dump;\n }\n }\n\n return true;\n}\n\nfunction getDuplicateReferences(object, state) {\n var objects = [],\n duplicatesIndexes = [],\n index,\n length;\n\n inspectNode(object, objects, duplicatesIndexes);\n\n for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {\n state.duplicates.push(objects[duplicatesIndexes[index]]);\n }\n state.usedDuplicates = new Array(length);\n}\n\nfunction inspectNode(object, objects, duplicatesIndexes) {\n var objectKeyList,\n index,\n length;\n\n if (object !== null && typeof object === 'object') {\n index = objects.indexOf(object);\n if (index !== -1) {\n if (duplicatesIndexes.indexOf(index) === -1) {\n duplicatesIndexes.push(index);\n }\n } else {\n objects.push(object);\n\n if (Array.isArray(object)) {\n for (index = 0, length = object.length; index < length; index += 1) {\n inspectNode(object[index], objects, duplicatesIndexes);\n }\n } else {\n objectKeyList = Object.keys(object);\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);\n }\n }\n }\n }\n}\n\nfunction dump(input, options) {\n options = options || {};\n\n var state = new State(options);\n\n if (!state.noRefs) getDuplicateReferences(input, state);\n\n if (writeNode(state, 0, input, true, true)) return state.dump + '\\n';\n\n return '';\n}\n\nfunction safeDump(input, options) {\n return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\nmodule.exports.dump = dump;\nmodule.exports.safeDump = safeDump;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlHeader = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be825453/include/curl/curl.h#L880\r\n/**\r\n * Object with bitmasks to be used with `HEADEROPT`.\r\n *\r\n * Available since libcurl version \\>= 7.37.0\r\n *\r\n * `CURLHEADER_UNIFIED` becomes `CurlHeader.Unified`\r\n *\r\n * @public\r\n */\r\nvar CurlHeader;\r\n(function (CurlHeader) {\r\n CurlHeader[CurlHeader[\"Unified\"] = 0] = \"Unified\";\r\n CurlHeader[CurlHeader[\"Separate\"] = 1] = \"Separate\";\r\n})(CurlHeader = exports.CurlHeader || (exports.CurlHeader = {}));\r\n//# sourceMappingURL=CurlHeader.js.map","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\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","var common = require('./common');\nvar fs = require('fs');\nvar path = require('path');\n\ncommon.register('which', _which, {\n allowGlobbing: false,\n cmdOptions: {\n 'a': 'all',\n },\n});\n\n// XP's system default value for `PATHEXT` system variable, just in case it's not\n// set on Windows.\nvar XP_DEFAULT_PATHEXT = '.com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh';\n\n// For earlier versions of NodeJS that doesn't have a list of constants (< v6)\nvar FILE_EXECUTABLE_MODE = 1;\n\nfunction isWindowsPlatform() {\n return process.platform === 'win32';\n}\n\n// Cross-platform method for splitting environment `PATH` variables\nfunction splitPath(p) {\n return p ? p.split(path.delimiter) : [];\n}\n\n// Tests are running all cases for this func but it stays uncovered by codecov due to unknown reason\n/* istanbul ignore next */\nfunction isExecutable(pathName) {\n try {\n // TODO(node-support): replace with fs.constants.X_OK once remove support for node < v6\n fs.accessSync(pathName, FILE_EXECUTABLE_MODE);\n } catch (err) {\n return false;\n }\n return true;\n}\n\nfunction checkPath(pathName) {\n return fs.existsSync(pathName) && !common.statFollowLinks(pathName).isDirectory()\n && (isWindowsPlatform() || isExecutable(pathName));\n}\n\n//@\n//@ ### which(command)\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ var nodeExec = which('node');\n//@ ```\n//@\n//@ Searches for `command` in the system's `PATH`. On Windows, this uses the\n//@ `PATHEXT` variable to append the extension if it's not already executable.\n//@ Returns string containing the absolute path to `command`.\nfunction _which(options, cmd) {\n if (!cmd) common.error('must specify command');\n\n var isWindows = isWindowsPlatform();\n var pathArray = splitPath(process.env.PATH);\n\n var queryMatches = [];\n\n // No relative/absolute paths provided?\n if (cmd.indexOf('/') === -1) {\n // Assume that there are no extensions to append to queries (this is the\n // case for unix)\n var pathExtArray = [''];\n if (isWindows) {\n // In case the PATHEXT variable is somehow not set (e.g.\n // child_process.spawn with an empty environment), use the XP default.\n var pathExtEnv = process.env.PATHEXT || XP_DEFAULT_PATHEXT;\n pathExtArray = splitPath(pathExtEnv.toUpperCase());\n }\n\n // Search for command in PATH\n for (var k = 0; k < pathArray.length; k++) {\n // already found it\n if (queryMatches.length > 0 && !options.all) break;\n\n var attempt = path.resolve(pathArray[k], cmd);\n\n if (isWindows) {\n attempt = attempt.toUpperCase();\n }\n\n var match = attempt.match(/\\.[^<>:\"/\\|?*.]+$/);\n if (match && pathExtArray.indexOf(match[0]) >= 0) { // this is Windows-only\n // The user typed a query with the file extension, like\n // `which('node.exe')`\n if (checkPath(attempt)) {\n queryMatches.push(attempt);\n break;\n }\n } else { // All-platforms\n // Cycle through the PATHEXT array, and check each extension\n // Note: the array is always [''] on Unix\n for (var i = 0; i < pathExtArray.length; i++) {\n var ext = pathExtArray[i];\n var newAttempt = attempt + ext;\n if (checkPath(newAttempt)) {\n queryMatches.push(newAttempt);\n break;\n }\n }\n }\n }\n } else if (checkPath(cmd)) { // a valid absolute or relative path\n queryMatches.push(path.resolve(cmd));\n }\n\n if (queryMatches.length > 0) {\n return options.all ? queryMatches : queryMatches[0];\n }\n return options.all ? [] : null;\n}\nmodule.exports = _which;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nclass 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\nexports.Deprecation = Deprecation;\n",null,"'use strict'\n\nconst { stringify } = require('jsonfile/utils')\nconst { outputFile } = require('../output')\n\nasync function outputJson (file, data, options = {}) {\n const str = stringify(data, options)\n\n await outputFile(file, str, options)\n}\n\nmodule.exports = outputJson\n","'use strict';\n\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\nmodule.exports = isPlainObject;\n","'use strict';\nmodule.exports = (promise, onFinally) => {\n\tonFinally = onFinally || (() => {});\n\n\treturn promise.then(\n\t\tval => new Promise(resolve => {\n\t\t\tresolve(onFinally());\n\t\t}).then(() => val),\n\t\terr => new Promise(resolve => {\n\t\t\tresolve(onFinally());\n\t\t}).then(() => {\n\t\t\tthrow err;\n\t\t})\n\t);\n};\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):((t=\"undefined\"!=typeof globalThis?globalThis:t||self).prettierPlugins=t.prettierPlugins||{},t.prettierPlugins.glimmer=e())}(this,(function(){\"use strict\";var t=function(t,e,r){return t(r={path:e,exports:{},require:function(t,e){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==e&&r.path)}},r.exports),r.exports}((function(t,e){var r=\"\\n\",n=function(){function t(t){this.string=t;for(var e=[0],n=0;nthis.string.length)return null;for(var e=0,r=this.offsets;r[e+1]<=t;)e++;return{line:e,column:t-r[e]}},t.prototype.indexForLocation=function(t){var e=t.line,r=t.column;return e<0||e>=this.offsets.length||r<0||r>this.lengthOfLine(e)?null:this.offsets[e]+r},t.prototype.lengthOfLine=function(t){var e=this.offsets[t];return(t===this.offsets.length-1?this.string.length:this.offsets[t+1])-e},t}();e.__esModule=!0,e.default=n}));var e=function(t,e){const r=new SyntaxError(t+\" (\"+e.start.line+\":\"+e.start.column+\")\");return r.loc=e,r};var r={locStart:function(t){return t.loc.start.offset},locEnd:function(t){return t.loc.end.offset}};Object.freeze([]);function n(){return Object.create(null)}const{keys:s}=Object;function a(t){for(let e=1;et;function o(t){return t.length>0}function l(t,e=\"unexpected empty list\"){if(!o(t))throw new Error(e)}const c=console;const h=Object.freeze({line:1,column:0}),u=Object.freeze({source:\"(synthetic)\",start:h,end:h}),p=(Object.freeze({source:\"(temporary)\",start:h,end:h}),Object.freeze({source:\"(nonexistent)\",start:h,end:h})),d=Object.freeze({source:\"(broken)\",start:h,end:h});class m{constructor(t){this.loc=t.loc,this.chars=t.chars}static synthetic(t){let e=M.synthetic(t);return new m({loc:e,chars:t})}static load(t,e){return new m({loc:M.load(t,e[1]),chars:e[0]})}getString(){return this.chars}serialize(){return[this.chars,this.loc.serialize()]}}var f,g,b,y=function(t,e,r){if(!e.has(t))throw new TypeError(\"attempted to set private field on non-instance\");return e.set(t,r),r},k=function(t,e){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return e.get(t)};const v=\"MATCH_ANY\",w=\"IS_INVISIBLE\";class S{constructor(t){f.set(this,void 0),y(this,f,t)}first(t){for(let e of k(this,f)){let r=e.match(t);if(o(r))return r[0]}return null}}f=new WeakMap;class E{constructor(){g.set(this,new Map)}get(t,e){let r=k(this,g).get(t);return r||(r=e(),k(this,g).set(t,r),r)}add(t,e){k(this,g).set(t,e)}match(t){let e=function(t){switch(t){case\"Broken\":case\"InternalsSynthetic\":case\"NonExistent\":return w;default:return t}}(t),r=[],n=k(this,g).get(e),s=k(this,g).get(v);return n&&r.push(n),s&&r.push(s),r}}function x(t){return t(new N).check()}g=new WeakMap;class N{constructor(){b.set(this,new E)}check(){return(t,e)=>this.matchFor(t.kind,e.kind)(t,e)}matchFor(t,e){let r=k(this,b).match(t);return new S(r).first(e)}when(t,e,r){return k(this,b).get(t,(()=>new E)).add(e,r),this}}b=new WeakMap;var T,P,A=function(t,e){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return e.get(t)},C=function(t,e,r){if(!e.has(t))throw new TypeError(\"attempted to set private field on non-instance\");return e.set(t,r),r};const L=\"BROKEN\";class B{constructor(t){this.data=t}static forHbsPos(t,e){return new O(t,e,null).wrap()}static broken(t=h){return new _(\"Broken\",t).wrap()}get offset(){let t=this.data.toCharPos();return null===t?null:t.offset}eql(t){return D(this.data,t.data)}until(t){return j(this.data,t.data)}move(t){let e=this.data.toCharPos();if(null===e)return B.broken();{let r=e.offset+t;return e.source.check(r)?new q(e.source,r).wrap():B.broken()}}collapsed(){return j(this.data,this.data)}toJSON(){return this.data.toJSON()}}class q{constructor(t,e){this.source=t,this.charPos=e,this.kind=\"CharPosition\",T.set(this,null)}toCharPos(){return this}toJSON(){let t=this.toHbsPos();return null===t?h:t.toJSON()}wrap(){return new B(this)}get offset(){return this.charPos}toHbsPos(){let t=A(this,T);if(null===t){let e=this.source.hbsPosFor(this.charPos);C(this,T,t=null===e?L:new O(this.source,e,this.charPos))}return t===L?null:t}}T=new WeakMap;class O{constructor(t,e,r=null){this.source=t,this.hbsPos=e,this.kind=\"HbsPosition\",P.set(this,void 0),C(this,P,null===r?null:new q(t,r))}toCharPos(){let t=A(this,P);if(null===t){let e=this.source.charPosFor(this.hbsPos);C(this,P,t=null===e?L:new q(this.source,e))}return t===L?null:t}toJSON(){return this.hbsPos}wrap(){return new B(this)}toHbsPos(){return this}}P=new WeakMap;class _{constructor(t,e){this.kind=t,this.pos=e}toCharPos(){return null}toJSON(){return this.pos}wrap(){return new B(this)}get offset(){return null}}const D=x((t=>t.when(\"HbsPosition\",\"HbsPosition\",(({hbsPos:t},{hbsPos:e})=>t.column===e.column&&t.line===e.line)).when(\"CharPosition\",\"CharPosition\",(({charPos:t},{charPos:e})=>t===e)).when(\"CharPosition\",\"HbsPosition\",(({offset:t},e)=>{var r;return t===(null===(r=e.toCharPos())||void 0===r?void 0:r.offset)})).when(\"HbsPosition\",\"CharPosition\",((t,{offset:e})=>{var r;return(null===(r=t.toCharPos())||void 0===r?void 0:r.offset)===e})).when(v,v,(()=>!1))));var H,V,R,I=function(t,e){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return e.get(t)},U=function(t,e,r){if(!e.has(t))throw new TypeError(\"attempted to set private field on non-instance\");return e.set(t,r),r};class M{constructor(t){this.data=t,this.isInvisible=\"CharPosition\"!==t.kind&&\"HbsPosition\"!==t.kind}static get NON_EXISTENT(){return new $(\"NonExistent\",p).wrap()}static load(t,e){return\"number\"==typeof e?M.forCharPositions(t,e,e):\"string\"==typeof e?M.synthetic(e):Array.isArray(e)?M.forCharPositions(t,e[0],e[1]):\"NonExistent\"===e?M.NON_EXISTENT:\"Broken\"===e?M.broken(d):void function(t,e=\"unexpected unreachable branch\"){throw c.log(\"unreachable\",t),c.log(\"\".concat(e,\" :: \").concat(JSON.stringify(t),\" (\").concat(t,\")\")),new Error(\"code reached unreachable\")}(e)}static forHbsLoc(t,e){let r=new O(t,e.start),n=new O(t,e.end);return new z(t,{start:r,end:n},e).wrap()}static forCharPositions(t,e,r){let n=new q(t,e),s=new q(t,r);return new F(t,{start:n,end:s}).wrap()}static synthetic(t){return new $(\"InternalsSynthetic\",p,t).wrap()}static broken(t=d){return new $(\"Broken\",t).wrap()}getStart(){return this.data.getStart().wrap()}getEnd(){return this.data.getEnd().wrap()}get loc(){let t=this.data.toHbsSpan();return null===t?d:t.toHbsLoc()}get module(){return this.data.getModule()}get startPosition(){return this.loc.start}get endPosition(){return this.loc.end}toJSON(){return this.loc}withStart(t){return j(t.data,this.data.getEnd())}withEnd(t){return j(this.data.getStart(),t.data)}asString(){return this.data.asString()}toSlice(t){let e=this.data.asString();return new m({loc:this,chars:t||e})}get start(){return this.loc.start}set start(t){this.data.locDidUpdate({start:t})}get end(){return this.loc.end}set end(t){this.data.locDidUpdate({end:t})}get source(){return this.module}collapse(t){switch(t){case\"start\":return this.getStart().collapsed();case\"end\":return this.getEnd().collapsed()}}extend(t){return j(this.data.getStart(),t.data.getEnd())}serialize(){return this.data.serialize()}slice({skipStart:t=0,skipEnd:e=0}){return j(this.getStart().move(t).data,this.getEnd().move(-e).data)}sliceStartChars({skipStart:t=0,chars:e}){return j(this.getStart().move(t).data,this.getStart().move(t+e).data)}sliceEndChars({skipEnd:t=0,chars:e}){return j(this.getEnd().move(t-e).data,this.getStart().move(-t).data)}}class F{constructor(t,e){this.source=t,this.charPositions=e,this.kind=\"CharPosition\",H.set(this,null)}wrap(){return new M(this)}asString(){return this.source.slice(this.charPositions.start.charPos,this.charPositions.end.charPos)}getModule(){return this.source.module}getStart(){return this.charPositions.start}getEnd(){return this.charPositions.end}locDidUpdate(){}toHbsSpan(){let t=I(this,H);if(null===t){let e=this.charPositions.start.toHbsPos(),r=this.charPositions.end.toHbsPos();t=U(this,H,null===e||null===r?L:new z(this.source,{start:e,end:r}))}return t===L?null:t}serialize(){let{start:{charPos:t},end:{charPos:e}}=this.charPositions;return t===e?t:[t,e]}toCharPosSpan(){return this}}H=new WeakMap;class z{constructor(t,e,r=null){this.source=t,this.hbsPositions=e,this.kind=\"HbsPosition\",V.set(this,null),R.set(this,void 0),U(this,R,r)}serialize(){let t=this.toCharPosSpan();return null===t?\"Broken\":t.wrap().serialize()}wrap(){return new M(this)}updateProvided(t,e){I(this,R)&&(I(this,R)[e]=t),U(this,V,null),U(this,R,{start:t,end:t})}locDidUpdate({start:t,end:e}){void 0!==t&&(this.updateProvided(t,\"start\"),this.hbsPositions.start=new O(this.source,t,null)),void 0!==e&&(this.updateProvided(e,\"end\"),this.hbsPositions.end=new O(this.source,e,null))}asString(){let t=this.toCharPosSpan();return null===t?\"\":t.asString()}getModule(){return this.source.module}getStart(){return this.hbsPositions.start}getEnd(){return this.hbsPositions.end}toHbsLoc(){return{start:this.hbsPositions.start.hbsPos,end:this.hbsPositions.end.hbsPos}}toHbsSpan(){return this}toCharPosSpan(){let t=I(this,V);if(null===t){let e=this.hbsPositions.start.toCharPos(),r=this.hbsPositions.end.toCharPos();if(!e||!r)return t=U(this,V,L),null;t=U(this,V,new F(this.source,{start:e,end:r}))}return t===L?null:t}}V=new WeakMap,R=new WeakMap;class ${constructor(t,e,r=null){this.kind=t,this.loc=e,this.string=r}serialize(){switch(this.kind){case\"Broken\":case\"NonExistent\":return this.kind;case\"InternalsSynthetic\":return this.string||\"\"}}wrap(){return new M(this)}asString(){return this.string||\"\"}locDidUpdate({start:t,end:e}){void 0!==t&&(this.loc.start=t),void 0!==e&&(this.loc.end=e)}getModule(){return\"an unknown module\"}getStart(){return new _(this.kind,this.loc.start)}getEnd(){return new _(this.kind,this.loc.end)}toCharPosSpan(){return this}toHbsSpan(){return null}toHbsLoc(){return d}}const j=x((t=>t.when(\"HbsPosition\",\"HbsPosition\",((t,e)=>new z(t.source,{start:t,end:e}).wrap())).when(\"CharPosition\",\"CharPosition\",((t,e)=>new F(t.source,{start:t,end:e}).wrap())).when(\"CharPosition\",\"HbsPosition\",((t,e)=>{let r=e.toCharPos();return null===r?new $(\"Broken\",d).wrap():j(t,r)})).when(\"HbsPosition\",\"CharPosition\",((t,e)=>{let r=t.toCharPos();return null===r?new $(\"Broken\",d).wrap():j(r,e)})).when(w,v,(t=>new $(t.kind,d).wrap())).when(v,w,((t,e)=>new $(e.kind,d).wrap()))));class G{constructor(t,e=\"an unknown module\"){this.source=t,this.module=e}check(t){return t>=0&&t<=this.source.length}slice(t,e){return this.source.slice(t,e)}offsetFor(t,e){return B.forHbsPos(this,{line:t,column:e})}spanFor({start:t,end:e}){return M.forHbsLoc(this,{start:{line:t.line,column:t.column},end:{line:e.line,column:e.column}})}hbsPosFor(t){let e=0,r=0;if(t>this.source.length)return null;for(;;){let n=this.source.indexOf(\"\\n\",r);if(t<=n||-1===n)return{line:e+1,column:t-r};e+=1,r=n+1}}charPosFor(t){let{line:e,column:r}=t,n=this.source.length,s=0,a=0;for(;;){if(a>=n)return n;let t=this.source.indexOf(\"\\n\",a);if(-1===t&&(t=this.source.length),s===e-1)return a+r>t?t:a+r;if(-1===t)return 0;s+=1,a=t+1}}}class K{constructor(t,e,r,n){this.original=t,this.loc=n,this.type=\"PathExpression\",this.this=!1,this.data=!1;let s=r.slice();\"ThisHead\"===e.type?this.this=!0:\"AtHead\"===e.type?(this.data=!0,s.unshift(e.name.slice(1))):s.unshift(e.name),this.parts=s}get head(){let t;t=this.this?\"this\":this.data?\"@\".concat(this.parts[0]):this.parts[0];let e=this.loc.collapse(\"start\").sliceStartChars({chars:t.length}).loc;return at.head(t,e)}get tail(){return this.this?this.parts:this.parts.slice(1)}}let W;function J(){return W||(W=new G(\"\",\"(synthetic)\")),W}function Q(t){switch(t.type){case\"AtHead\":return{original:t.name,parts:[t.name]};case\"ThisHead\":return{original:\"this\",parts:[]};case\"VarHead\":return{original:t.name,parts:[t.name]}}}function Y(t,e){let r,[n,...s]=t.split(\".\");return r=\"this\"===n?{type:\"ThisHead\",loc:st(e||null)}:\"@\"===n[0]?{type:\"AtHead\",name:n,loc:st(e||null)}:{type:\"VarHead\",name:n,loc:st(e||null)},{head:r,tail:s}}function Z(t){return{type:\"ThisHead\",loc:st(t||null)}}function X(t,e){return{type:\"AtHead\",name:t,loc:st(e||null)}}function tt(t,e){return{type:\"VarHead\",name:t,loc:st(e||null)}}function et(t,e){if(\"string\"!=typeof t){if(\"type\"in t)return t;{let{head:r,tail:n}=Y(t.head,M.broken()),{original:s}=Q(r);return new K([s,...n].join(\".\"),r,n,st(e||null))}}let{head:r,tail:n}=Y(t,M.broken());return new K(t,r,n,st(e||null))}function rt(t,e,r){return{type:t,value:e,original:e,loc:st(r||null)}}function nt(t,e){return{type:\"Hash\",pairs:t||[],loc:st(e||null)}}function st(...t){if(1===t.length){let e=t[0];return e&&\"object\"==typeof e?M.forHbsLoc(J(),e):M.forHbsLoc(J(),u)}{let[e,r,n,s,a]=t,i=a?new G(\"\",a):J();return M.forHbsLoc(i,{start:{line:e,column:r},end:{line:n,column:s}})}}var at={mustache:function(t,e,r,n,s,a){return\"string\"==typeof t&&(t=et(t)),{type:\"MustacheStatement\",path:t,params:e||[],hash:r||nt([]),escaped:!n,trusting:!!n,loc:st(s||null),strip:a||{open:!1,close:!1}}},block:function(t,e,r,n,s,i,o,l,c){let h,u;return h=\"Template\"===n.type?a({},n,{type:\"Block\"}):n,u=null!=s&&\"Template\"===s.type?a({},s,{type:\"Block\"}):s,{type:\"BlockStatement\",path:et(t),params:e||[],hash:r||nt([]),program:h||null,inverse:u||null,loc:st(i||null),openStrip:o||{open:!1,close:!1},inverseStrip:l||{open:!1,close:!1},closeStrip:c||{open:!1,close:!1}}},partial:function(t,e,r,n,s){return{type:\"PartialStatement\",name:t,params:e||[],hash:r||nt([]),indent:n||\"\",strip:{open:!1,close:!1},loc:st(s||null)}},comment:function(t,e){return{type:\"CommentStatement\",value:t,loc:st(e||null)}},mustacheComment:function(t,e){return{type:\"MustacheCommentStatement\",value:t,loc:st(e||null)}},element:function(t,e){let r,{attrs:n,blockParams:s,modifiers:a,comments:i,children:o,loc:l}=e,c=!1;return\"object\"==typeof t?(c=t.selfClosing,r=t.name):\"/\"===t.slice(-1)?(r=t.slice(0,-1),c=!0):r=t,{type:\"ElementNode\",tag:r,selfClosing:c,attributes:n||[],blockParams:s||[],modifiers:a||[],comments:i||[],children:o||[],loc:l}},elementModifier:function(t,e,r,n){return{type:\"ElementModifierStatement\",path:et(t),params:e||[],hash:r||nt([]),loc:st(n||null)}},attr:function(t,e,r){return{type:\"AttrNode\",name:t,value:e,loc:st(r||null)}},text:function(t,e){return{type:\"TextNode\",chars:t||\"\",loc:st(e||null)}},sexpr:function(t,e,r,n){return{type:\"SubExpression\",path:et(t),params:e||[],hash:r||nt([]),loc:st(n||null)}},concat:function(t,e){if(!o(t))throw new Error(\"b.concat requires at least one part\");return{type:\"ConcatStatement\",parts:t||[],loc:st(e||null)}},hash:nt,pair:function(t,e,r){return{type:\"HashPair\",key:t,value:e,loc:st(r||null)}},literal:rt,program:function(t,e,r){return{type:\"Template\",body:t||[],blockParams:e||[],loc:st(r||null)}},blockItself:function(t,e,r=!1,n){return{type:\"Block\",body:t||[],blockParams:e||[],chained:r,loc:st(n||null)}},template:function(t,e,r){return{type:\"Template\",body:t||[],blockParams:e||[],loc:st(r||null)}},loc:st,pos:function(t,e){return{line:t,column:e}},path:et,fullPath:function(t,e,r){let{original:n,parts:s}=Q(t),a=[...n,...[...s,...e]].join(\".\");return new K(a,t,e,st(r||null))},head:function(t,e){return\"@\"===t[0]?X(t,e):\"this\"===t?Z(e):tt(t,e)},at:X,var:tt,this:Z,blockName:function(t,e){return{type:\"NamedBlockName\",name:t,loc:st(e||null)}},string:it(\"StringLiteral\"),boolean:it(\"BooleanLiteral\"),number:it(\"NumberLiteral\"),undefined:()=>rt(\"UndefinedLiteral\",void 0),null:()=>rt(\"NullLiteral\",null)};function it(t){return function(e,r){return rt(t,e,r)}}var ot=Object.freeze({__proto__:null});class lt{resolution(){return 33}serialize(){return\"Strict\"}}const ct=new lt;class ht{constructor(t){this.ambiguity=t}static namespaced(t){return new ht({namespaces:[t],fallback:!1})}static fallback(){return new ht({namespaces:[],fallback:!0})}static append({invoke:t}){return new ht({namespaces:[\"Component\",\"Helper\"],fallback:!t})}static attr(){return new ht({namespaces:[\"Helper\"],fallback:!0})}resolution(){if(0===this.ambiguity.namespaces.length)return 34;if(1!==this.ambiguity.namespaces.length)return this.ambiguity.fallback?35:36;if(this.ambiguity.fallback)return 37;switch(this.ambiguity.namespaces[0]){case\"Helper\":return 38;case\"Modifier\":return 39;case\"Component\":return 40}}serialize(){return 0===this.ambiguity.namespaces.length?\"Loose\":1===this.ambiguity.namespaces.length?this.ambiguity.fallback?[\"ambiguous\",\"Attr\"]:[\"ns\",this.ambiguity.namespaces[0]]:this.ambiguity.fallback?[\"ambiguous\",\"Append\"]:[\"ambiguous\",\"Invoke\"]}}const ut=ht.fallback();function pt(t){if(void 0!==t){const e=t;return{fields:()=>class{constructor(t){this.type=e,this.loc=t.loc,dt(t,this)}}}}return{fields:()=>class{constructor(t){this.loc=t.loc,dt(t,this)}}}}function dt(t,e){for(let n of(r=t,Object.keys(r)))e[n]=t[n];var r}class mt extends(pt().fields()){static empty(t){return new mt({loc:t,positional:ft.empty(t),named:gt.empty(t)})}static named(t){return new mt({loc:t.loc,positional:ft.empty(t.loc.collapse(\"end\")),named:t})}nth(t){return this.positional.nth(t)}get(t){return this.named.get(t)}isEmpty(){return this.positional.isEmpty()&&this.named.isEmpty()}}class ft extends(pt().fields()){static empty(t){return new ft({loc:t,exprs:[]})}get size(){return this.exprs.length}nth(t){return this.exprs[t]||null}isEmpty(){return 0===this.exprs.length}}class gt extends(pt().fields()){static empty(t){return new gt({loc:t,entries:[]})}get size(){return this.entries.length}get(t){let e=this.entries.filter((e=>e.name.chars===t))[0];return e?e.value:null}isEmpty(){return 0===this.entries.length}}class bt{constructor(t){this.loc=t.name.loc.extend(t.value.loc),this.name=t.name,this.value=t.value}}class yt extends(pt(\"HtmlAttr\").fields()){}class kt extends(pt(\"SplatAttr\").fields()){}class vt extends(pt().fields()){toNamedArgument(){return new bt({name:this.name,value:this.value})}}class wt extends(pt(\"ElementModifier\").fields()){}var St,Et=function(t,e,r){if(!e.has(t))throw new TypeError(\"attempted to set private field on non-instance\");return e.set(t,r),r},xt=function(t,e){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return e.get(t)};class Nt{constructor(t=[]){St.set(this,void 0),Et(this,St,t)}static range(t,e=M.NON_EXISTENT){return new Nt(t.map(Tt)).getRangeOffset(e)}add(t){xt(this,St).push(t)}getRangeOffset(t){if(0===xt(this,St).length)return t;{let t=xt(this,St)[0],e=xt(this,St)[xt(this,St).length-1];return t.extend(e)}}}function Tt(t){if(Array.isArray(t)){let e=t[0],r=t[t.length-1];return Tt(e).extend(Tt(r))}return t instanceof M?t:t.loc}function Pt(t){return!Array.isArray(t)||0!==t.length}St=new WeakMap;class At extends(pt(\"GlimmerComment\").fields()){}class Ct extends(pt(\"HtmlText\").fields()){}class Lt extends(pt(\"HtmlComment\").fields()){}class Bt extends(pt(\"AppendContent\").fields()){get callee(){return\"Call\"===this.value.type?this.value.callee:this.value}get args(){return\"Call\"===this.value.type?this.value.args:mt.empty(this.value.loc.collapse(\"end\"))}}class qt extends(pt(\"InvokeBlock\").fields()){}class Ot extends(pt(\"InvokeComponent\").fields()){get args(){let t=this.componentArgs.map((t=>t.toNamedArgument()));return mt.named(new gt({loc:Nt.range(t,this.callee.loc.collapse(\"end\")),entries:t}))}}class _t extends(pt(\"SimpleElement\").fields()){get args(){let t=this.componentArgs.map((t=>t.toNamedArgument()));return mt.named(new gt({loc:Nt.range(t,this.tag.loc.collapse(\"end\")),entries:t}))}}class Dt extends(pt(\"Literal\").fields()){toSlice(){return new m({loc:this.loc,chars:this.value})}}class Ht extends(pt(\"Path\").fields()){}class Vt extends(pt(\"Call\").fields()){}class Rt extends(pt(\"Interpolate\").fields()){}class It extends(pt(\"This\").fields()){}class Ut extends(pt(\"Arg\").fields()){}class Mt extends(pt(\"Local\").fields()){}class Ft extends(pt(\"Free\").fields()){}class zt extends(pt().fields()){}class $t extends(pt().fields()){}class jt extends(pt().fields()){get(t){return this.blocks.filter((e=>e.name.chars===t))[0]||null}}class Gt extends(pt().fields()){get args(){let t=this.componentArgs.map((t=>t.toNamedArgument()));return mt.named(new gt({loc:Nt.range(t,this.name.loc.collapse(\"end\")),entries:t}))}}var Kt=Object.freeze({__proto__:null,StrictResolution:lt,STRICT_RESOLUTION:ct,LooseModeResolution:ht,ARGUMENT_RESOLUTION:ut,loadResolution:function(t){if(\"string\"==typeof t)switch(t){case\"Loose\":return ht.fallback();case\"Strict\":return ct}switch(t[0]){case\"ambiguous\":switch(t[1]){case\"Append\":return ht.append({invoke:!1});case\"Attr\":return ht.attr();case\"Invoke\":return ht.append({invoke:!0})}case\"ns\":return ht.namespaced(t[1])}},node:pt,Args:mt,PositionalArguments:ft,NamedArguments:gt,NamedArgument:bt,HtmlAttr:yt,SplatAttr:kt,ComponentArg:vt,ElementModifier:wt,GlimmerComment:At,HtmlText:Ct,HtmlComment:Lt,AppendContent:Bt,InvokeBlock:qt,InvokeComponent:Ot,SimpleElement:_t,LiteralExpression:Dt,isLiteral:function(t,e){return\"Literal\"===t.type&&(void 0===e||(\"null\"===e?null===t.value:typeof t.value===e))},PathExpression:Ht,CallExpression:Vt,InterpolateExpression:Rt,ThisReference:It,ArgReference:Ut,LocalVarReference:Mt,FreeVarReference:Ft,Template:zt,Block:$t,NamedBlocks:jt,NamedBlock:Gt});const Wt=/[\\xA0\"&]/,Jt=new RegExp(Wt.source,\"g\"),Qt=/[\\xA0&<>]/,Yt=new RegExp(Qt.source,\"g\");function Zt(t){switch(t.charCodeAt(0)){case 160:return\" \";case 34:return\""\";case 38:return\"&\";default:return t}}function Xt(t){switch(t.charCodeAt(0)){case 160:return\" \";case 38:return\"&\";case 60:return\"<\";case 62:return\">\";default:return t}}const te=Object.create(null);\"area base br col command embed hr img input keygen link meta param source track wbr\".split(\" \").forEach((t=>{te[t]=!0}));const ee=/\\S/;class re{constructor(t){this.buffer=\"\",this.options=t}handledByOverride(t,e=!1){if(void 0!==this.options.override){let r=this.options.override(t,this.options);if(\"string\"==typeof r)return e&&\"\"!==r&&ee.test(r[0])&&(r=\" \".concat(r)),this.buffer+=r,!0}return!1}Node(t){switch(t.type){case\"MustacheStatement\":case\"BlockStatement\":case\"PartialStatement\":case\"MustacheCommentStatement\":case\"CommentStatement\":case\"TextNode\":case\"ElementNode\":case\"AttrNode\":case\"Block\":case\"Template\":return this.TopLevelStatement(t);case\"StringLiteral\":case\"BooleanLiteral\":case\"NumberLiteral\":case\"UndefinedLiteral\":case\"NullLiteral\":case\"PathExpression\":case\"SubExpression\":return this.Expression(t);case\"Program\":return this.Block(t);case\"ConcatStatement\":return this.ConcatStatement(t);case\"Hash\":return this.Hash(t);case\"HashPair\":return this.HashPair(t);case\"ElementModifierStatement\":return this.ElementModifierStatement(t)}}Expression(t){switch(t.type){case\"StringLiteral\":case\"BooleanLiteral\":case\"NumberLiteral\":case\"UndefinedLiteral\":case\"NullLiteral\":return this.Literal(t);case\"PathExpression\":return this.PathExpression(t);case\"SubExpression\":return this.SubExpression(t)}}Literal(t){switch(t.type){case\"StringLiteral\":return this.StringLiteral(t);case\"BooleanLiteral\":return this.BooleanLiteral(t);case\"NumberLiteral\":return this.NumberLiteral(t);case\"UndefinedLiteral\":return this.UndefinedLiteral(t);case\"NullLiteral\":return this.NullLiteral(t)}}TopLevelStatement(t){switch(t.type){case\"MustacheStatement\":return this.MustacheStatement(t);case\"BlockStatement\":return this.BlockStatement(t);case\"PartialStatement\":return this.PartialStatement(t);case\"MustacheCommentStatement\":return this.MustacheCommentStatement(t);case\"CommentStatement\":return this.CommentStatement(t);case\"TextNode\":return this.TextNode(t);case\"ElementNode\":return this.ElementNode(t);case\"Block\":case\"Template\":return this.Block(t);case\"AttrNode\":return this.AttrNode(t)}}Block(t){if(t.chained){t.body[0].chained=!0}this.handledByOverride(t)||this.TopLevelStatements(t.body)}TopLevelStatements(t){t.forEach((t=>this.TopLevelStatement(t)))}ElementNode(t){this.handledByOverride(t)||(this.OpenElementNode(t),this.TopLevelStatements(t.children),this.CloseElementNode(t))}OpenElementNode(t){this.buffer+=\"<\".concat(t.tag),t.attributes.length&&t.attributes.forEach((t=>{this.buffer+=\" \",this.AttrNode(t)})),t.modifiers.length&&t.modifiers.forEach((t=>{this.buffer+=\" \",this.ElementModifierStatement(t)})),t.comments.length&&t.comments.forEach((t=>{this.buffer+=\" \",this.MustacheCommentStatement(t)})),t.blockParams.length&&this.BlockParams(t.blockParams),t.selfClosing&&(this.buffer+=\" /\"),this.buffer+=\">\"}CloseElementNode(t){t.selfClosing||te[t.tag.toLowerCase()]||(this.buffer+=\"\"))}AttrNode(t){if(this.handledByOverride(t))return;let{name:e,value:r}=t;this.buffer+=e,(\"TextNode\"!==r.type||r.chars.length>0)&&(this.buffer+=\"=\",this.AttrNodeValue(r))}AttrNodeValue(t){\"TextNode\"===t.type?(this.buffer+='\"',this.TextNode(t,!0),this.buffer+='\"'):this.Node(t)}TextNode(t,e){var r;this.handledByOverride(t)||(\"raw\"===this.options.entityEncoding?this.buffer+=t.chars:this.buffer+=e?(r=t.chars,Wt.test(r)?r.replace(Jt,Zt):r):function(t){return Qt.test(t)?t.replace(Yt,Xt):t}(t.chars))}MustacheStatement(t){this.handledByOverride(t)||(this.buffer+=t.escaped?\"{{\":\"{{{\",t.strip.open&&(this.buffer+=\"~\"),this.Expression(t.path),this.Params(t.params),this.Hash(t.hash),t.strip.close&&(this.buffer+=\"~\"),this.buffer+=t.escaped?\"}}\":\"}}}\")}BlockStatement(t){this.handledByOverride(t)||(t.chained?(this.buffer+=t.inverseStrip.open?\"{{~\":\"{{\",this.buffer+=\"else \"):this.buffer+=t.openStrip.open?\"{{~#\":\"{{#\",this.Expression(t.path),this.Params(t.params),this.Hash(t.hash),t.program.blockParams.length&&this.BlockParams(t.program.blockParams),t.chained?this.buffer+=t.inverseStrip.close?\"~}}\":\"}}\":this.buffer+=t.openStrip.close?\"~}}\":\"}}\",this.Block(t.program),t.inverse&&(t.inverse.chained||(this.buffer+=t.inverseStrip.open?\"{{~\":\"{{\",this.buffer+=\"else\",this.buffer+=t.inverseStrip.close?\"~}}\":\"}}\"),this.Block(t.inverse)),t.chained||(this.buffer+=t.closeStrip.open?\"{{~/\":\"{{/\",this.Expression(t.path),this.buffer+=t.closeStrip.close?\"~}}\":\"}}\"))}BlockParams(t){this.buffer+=\" as |\".concat(t.join(\" \"),\"|\")}PartialStatement(t){this.handledByOverride(t)||(this.buffer+=\"{{>\",this.Expression(t.name),this.Params(t.params),this.Hash(t.hash),this.buffer+=\"}}\")}ConcatStatement(t){this.handledByOverride(t)||(this.buffer+='\"',t.parts.forEach((t=>{\"TextNode\"===t.type?this.TextNode(t,!0):this.Node(t)})),this.buffer+='\"')}MustacheCommentStatement(t){this.handledByOverride(t)||(this.buffer+=\"{{!--\".concat(t.value,\"--}}\"))}ElementModifierStatement(t){this.handledByOverride(t)||(this.buffer+=\"{{\",this.Expression(t.path),this.Params(t.params),this.Hash(t.hash),this.buffer+=\"}}\")}CommentStatement(t){this.handledByOverride(t)||(this.buffer+=\"\\x3c!--\".concat(t.value,\"--\\x3e\"))}PathExpression(t){this.handledByOverride(t)||(this.buffer+=t.original)}SubExpression(t){this.handledByOverride(t)||(this.buffer+=\"(\",this.Expression(t.path),this.Params(t.params),this.Hash(t.hash),this.buffer+=\")\")}Params(t){t.length&&t.forEach((t=>{this.buffer+=\" \",this.Expression(t)}))}Hash(t){this.handledByOverride(t,!0)||t.pairs.forEach((t=>{this.buffer+=\" \",this.HashPair(t)}))}HashPair(t){this.handledByOverride(t)||(this.buffer+=t.key,this.buffer+=\"=\",this.Node(t.value))}StringLiteral(t){this.handledByOverride(t)||(this.buffer+=JSON.stringify(t.value))}BooleanLiteral(t){this.handledByOverride(t)||(this.buffer+=t.value)}NumberLiteral(t){this.handledByOverride(t)||(this.buffer+=t.value)}UndefinedLiteral(t){this.handledByOverride(t)||(this.buffer+=\"undefined\")}NullLiteral(t){this.handledByOverride(t)||(this.buffer+=\"null\")}print(t){let{options:e}=this;if(e.override){let r=e.override(t,e);if(void 0!==r)return r}return this.buffer=\"\",this.Node(t),this.buffer}}var ne=[\"description\",\"fileName\",\"lineNumber\",\"endLineNumber\",\"message\",\"name\",\"number\",\"stack\"];function se(t,e){var r,n,s,a,i=e&&e.loc;i&&(r=i.start.line,n=i.end.line,s=i.start.column,a=i.end.column,t+=\" - \"+r+\":\"+s);for(var o=Error.prototype.constructor.call(this,t),l=0;lc&&x.push(\"'\"+this.terminals_[w]+\"'\");P=p.showPosition?\"Parse error on line \"+(o+1)+\":\\n\"+p.showPosition()+\"\\nExpecting \"+x.join(\", \")+\", got '\"+(this.terminals_[b]||b)+\"'\":\"Parse error on line \"+(o+1)+\": Unexpected \"+(b==h?\"end of input\":\"'\"+(this.terminals_[b]||b)+\"'\"),this.parseError(P,{text:p.match,token:this.terminals_[b]||b,line:p.yylineno,loc:f,expected:x})}if(k[0]instanceof Array&&k.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+y+\", token: \"+b);switch(k[0]){case 1:r.push(b),n.push(p.yytext),s.push(p.yylloc),r.push(k[1]),b=null,l=p.yyleng,i=p.yytext,o=p.yylineno,f=p.yylloc;break;case 2:if(S=this.productions_[k[1]][1],T.$=n[n.length-S],T._$={first_line:s[s.length-(S||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(S||1)].first_column,last_column:s[s.length-1].last_column},g&&(T._$.range=[s[s.length-(S||1)].range[0],s[s.length-1].range[1]]),void 0!==(v=this.performAction.apply(T,[i,l,o,d.yy,k[1],n,s].concat(u))))return v;S&&(r=r.slice(0,-1*S*2),n=n.slice(0,-1*S),s=s.slice(0,-1*S)),r.push(this.productions_[k[1]][0]),n.push(T.$),s.push(T._$),E=a[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},D={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\\r\\n?|\\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\\r\\n?|\\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?\"...\":\"\")+t.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join(\"-\");return t+this.upcomingInput()+\"\\n\"+e+\"^\"},test_match:function(t,e){var r,n,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\\r\\n?|\\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in s)this[a]=s[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext=\"\",this.match=\"\");for(var s=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,s[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[n]))&&t:\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:\"INITIAL\"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){function s(t,r){return e.yytext=e.yytext.substring(t,e.yyleng-r+t)}switch(r){case 0:if(\"\\\\\\\\\"===e.yytext.slice(-2)?(s(0,1),this.begin(\"mu\")):\"\\\\\"===e.yytext.slice(-1)?(s(0,1),this.begin(\"emu\")):this.begin(\"mu\"),e.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin(\"raw\"),15;case 4:return this.popState(),\"raw\"===this.conditionStack[this.conditionStack.length-1]?15:(s(5,9),18);case 5:return 15;case 6:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin(\"raw\"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(e.yytext),this.popState(),this.begin(\"com\");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 73;case 25:case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return e.yytext=s(1,2).replace(/\\\\\"/g,'\"'),80;case 32:return e.yytext=s(1,2).replace(/\\\\'/g,\"'\"),80;case 33:return 85;case 34:case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return e.yytext=e.yytext.replace(/\\\\([\\\\\\]])/g,\"$1\"),72;case 43:return\"INVALID\";case 44:return 5}},rules:[/^(?:[^\\x00]*?(?=(\\{\\{)))/,/^(?:[^\\x00]+)/,/^(?:[^\\x00]{2,}?(?=(\\{\\{|\\\\\\{\\{|\\\\\\\\\\{\\{|$)))/,/^(?:\\{\\{\\{\\{(?=[^/]))/,/^(?:\\{\\{\\{\\{\\/[^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=[=}\\s\\/.])\\}\\}\\}\\})/,/^(?:[^\\x00]+?(?=(\\{\\{\\{\\{)))/,/^(?:[\\s\\S]*?--(~)?\\}\\})/,/^(?:\\()/,/^(?:\\))/,/^(?:\\{\\{\\{\\{)/,/^(?:\\}\\}\\}\\})/,/^(?:\\{\\{(~)?>)/,/^(?:\\{\\{(~)?#>)/,/^(?:\\{\\{(~)?#\\*?)/,/^(?:\\{\\{(~)?\\/)/,/^(?:\\{\\{(~)?\\^\\s*(~)?\\}\\})/,/^(?:\\{\\{(~)?\\s*else\\s*(~)?\\}\\})/,/^(?:\\{\\{(~)?\\^)/,/^(?:\\{\\{(~)?\\s*else\\b)/,/^(?:\\{\\{(~)?\\{)/,/^(?:\\{\\{(~)?&)/,/^(?:\\{\\{(~)?!--)/,/^(?:\\{\\{(~)?![\\s\\S]*?\\}\\})/,/^(?:\\{\\{(~)?\\*?)/,/^(?:=)/,/^(?:\\.\\.)/,/^(?:\\.(?=([=~}\\s\\/.)|])))/,/^(?:[\\/.])/,/^(?:\\s+)/,/^(?:\\}(~)?\\}\\})/,/^(?:(~)?\\}\\})/,/^(?:\"(\\\\[\"]|[^\"])*\")/,/^(?:'(\\\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\\s)])))/,/^(?:false(?=([~}\\s)])))/,/^(?:undefined(?=([~}\\s)])))/,/^(?:null(?=([~}\\s)])))/,/^(?:-?[0-9]+(?:\\.[0-9]+)?(?=([~}\\s)])))/,/^(?:as\\s+\\|)/,/^(?:\\|)/,/^(?:([^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=([=~}\\s\\/.)|]))))/,/^(?:\\[(\\\\\\]|[^\\]])*\\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};function H(){this.yy={}}return _.lexer=D,H.prototype=_,_.Parser=H,new H}();function fe(){this.padding=0}function ge(t,e){if(e=e.path?e.path.original:e,t.path.original!==e){var r={loc:t.path.loc};throw new se(t.path.original+\" doesn't match \"+e,r)}}function be(t,e){this.source=t,this.start={line:e.first_line,column:e.first_column},this.end={line:e.last_line,column:e.last_column}}fe.prototype=new ae,fe.prototype.pad=function(t){for(var e=\"\",r=0,n=this.padding;r \"+e+\" }}\")},fe.prototype.PartialBlockStatement=function(t){var e=\"PARTIAL BLOCK:\"+t.name.original;return t.params[0]&&(e+=\" \"+this.accept(t.params[0])),t.hash&&(e+=\" \"+this.accept(t.hash)),e+=\" \"+this.pad(\"PROGRAM:\"),this.padding++,e+=this.accept(t.program),this.padding--,this.pad(\"{{> \"+e+\" }}\")},fe.prototype.ContentStatement=function(t){return this.pad(\"CONTENT[ '\"+t.value+\"' ]\")},fe.prototype.CommentStatement=function(t){return this.pad(\"{{! '\"+t.value+\"' }}\")},fe.prototype.SubExpression=function(t){for(var e,r=t.params,n=[],s=0,a=r.length;s0)throw new se(\"Invalid path: \"+n,{loc:r});\"..\"===l&&a++}}return{type:\"PathExpression\",data:t,depth:a,parts:s,original:n,loc:r}},prepareMustache:function(t,e,r,n,s,a){var i=n.charAt(3)||n.charAt(2),o=\"{\"!==i&&\"&\"!==i;return{type:/\\*/.test(n)?\"Decorator\":\"MustacheStatement\",path:t,params:e,hash:r,escaped:o,strip:s,loc:this.locInfo(a)}},prepareRawBlock:function(t,e,r,n){ge(t,r);var s={type:\"Program\",body:e,strip:{},loc:n=this.locInfo(n)};return{type:\"BlockStatement\",path:t.path,params:t.params,hash:t.hash,program:s,openStrip:{},inverseStrip:{},closeStrip:{},loc:n}},prepareBlock:function(t,e,r,n,s,a){n&&n.path&&ge(t,n);var i,o,l=/\\*/.test(t.open);if(e.blockParams=t.blockParams,r){if(l)throw new se(\"Unexpected inverse block on decorator\",r);r.chain&&(r.program.body[0].closeStrip=n.strip),o=r.strip,i=r.program}return s&&(s=i,i=e,e=s),{type:l?\"DecoratorBlock\":\"BlockStatement\",path:t.path,params:t.params,hash:t.hash,program:e,inverse:i,openStrip:t.strip,inverseStrip:o,closeStrip:n&&n.strip,loc:this.locInfo(a)}},prepareProgram:function(t,e){if(!e&&t.length){var r=t[0].loc,n=t[t.length-1].loc;r&&n&&(e={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:n.end.line,column:n.end.column}})}return{type:\"Program\",body:t,strip:{},loc:e}},preparePartialBlock:function(t,e,r,n){return ge(t,r),{type:\"PartialBlockStatement\",name:t.path,params:t.params,hash:t.hash,program:e,openStrip:t.strip,closeStrip:r&&r.strip,loc:this.locInfo(n)}}}),ke={};for(var ve in ye)Object.prototype.hasOwnProperty.call(ye,ve)&&(ke[ve]=ye[ve]);function we(t,e){return\"Program\"===t.type?t:(me.yy=ke,me.yy.locInfo=function(t){return new be(e&&e.srcName,t)},me.parse(t))}function Se(t,e){var r=we(t,e);return new ce(e).accept(r)}var Ee={Aacute:\"\\xc1\",aacute:\"\\xe1\",Abreve:\"\\u0102\",abreve:\"\\u0103\",ac:\"\\u223e\",acd:\"\\u223f\",acE:\"\\u223e\\u0333\",Acirc:\"\\xc2\",acirc:\"\\xe2\",acute:\"\\xb4\",Acy:\"\\u0410\",acy:\"\\u0430\",AElig:\"\\xc6\",aelig:\"\\xe6\",af:\"\\u2061\",Afr:\"\\ud835\\udd04\",afr:\"\\ud835\\udd1e\",Agrave:\"\\xc0\",agrave:\"\\xe0\",alefsym:\"\\u2135\",aleph:\"\\u2135\",Alpha:\"\\u0391\",alpha:\"\\u03b1\",Amacr:\"\\u0100\",amacr:\"\\u0101\",amalg:\"\\u2a3f\",amp:\"&\",AMP:\"&\",andand:\"\\u2a55\",And:\"\\u2a53\",and:\"\\u2227\",andd:\"\\u2a5c\",andslope:\"\\u2a58\",andv:\"\\u2a5a\",ang:\"\\u2220\",ange:\"\\u29a4\",angle:\"\\u2220\",angmsdaa:\"\\u29a8\",angmsdab:\"\\u29a9\",angmsdac:\"\\u29aa\",angmsdad:\"\\u29ab\",angmsdae:\"\\u29ac\",angmsdaf:\"\\u29ad\",angmsdag:\"\\u29ae\",angmsdah:\"\\u29af\",angmsd:\"\\u2221\",angrt:\"\\u221f\",angrtvb:\"\\u22be\",angrtvbd:\"\\u299d\",angsph:\"\\u2222\",angst:\"\\xc5\",angzarr:\"\\u237c\",Aogon:\"\\u0104\",aogon:\"\\u0105\",Aopf:\"\\ud835\\udd38\",aopf:\"\\ud835\\udd52\",apacir:\"\\u2a6f\",ap:\"\\u2248\",apE:\"\\u2a70\",ape:\"\\u224a\",apid:\"\\u224b\",apos:\"'\",ApplyFunction:\"\\u2061\",approx:\"\\u2248\",approxeq:\"\\u224a\",Aring:\"\\xc5\",aring:\"\\xe5\",Ascr:\"\\ud835\\udc9c\",ascr:\"\\ud835\\udcb6\",Assign:\"\\u2254\",ast:\"*\",asymp:\"\\u2248\",asympeq:\"\\u224d\",Atilde:\"\\xc3\",atilde:\"\\xe3\",Auml:\"\\xc4\",auml:\"\\xe4\",awconint:\"\\u2233\",awint:\"\\u2a11\",backcong:\"\\u224c\",backepsilon:\"\\u03f6\",backprime:\"\\u2035\",backsim:\"\\u223d\",backsimeq:\"\\u22cd\",Backslash:\"\\u2216\",Barv:\"\\u2ae7\",barvee:\"\\u22bd\",barwed:\"\\u2305\",Barwed:\"\\u2306\",barwedge:\"\\u2305\",bbrk:\"\\u23b5\",bbrktbrk:\"\\u23b6\",bcong:\"\\u224c\",Bcy:\"\\u0411\",bcy:\"\\u0431\",bdquo:\"\\u201e\",becaus:\"\\u2235\",because:\"\\u2235\",Because:\"\\u2235\",bemptyv:\"\\u29b0\",bepsi:\"\\u03f6\",bernou:\"\\u212c\",Bernoullis:\"\\u212c\",Beta:\"\\u0392\",beta:\"\\u03b2\",beth:\"\\u2136\",between:\"\\u226c\",Bfr:\"\\ud835\\udd05\",bfr:\"\\ud835\\udd1f\",bigcap:\"\\u22c2\",bigcirc:\"\\u25ef\",bigcup:\"\\u22c3\",bigodot:\"\\u2a00\",bigoplus:\"\\u2a01\",bigotimes:\"\\u2a02\",bigsqcup:\"\\u2a06\",bigstar:\"\\u2605\",bigtriangledown:\"\\u25bd\",bigtriangleup:\"\\u25b3\",biguplus:\"\\u2a04\",bigvee:\"\\u22c1\",bigwedge:\"\\u22c0\",bkarow:\"\\u290d\",blacklozenge:\"\\u29eb\",blacksquare:\"\\u25aa\",blacktriangle:\"\\u25b4\",blacktriangledown:\"\\u25be\",blacktriangleleft:\"\\u25c2\",blacktriangleright:\"\\u25b8\",blank:\"\\u2423\",blk12:\"\\u2592\",blk14:\"\\u2591\",blk34:\"\\u2593\",block:\"\\u2588\",bne:\"=\\u20e5\",bnequiv:\"\\u2261\\u20e5\",bNot:\"\\u2aed\",bnot:\"\\u2310\",Bopf:\"\\ud835\\udd39\",bopf:\"\\ud835\\udd53\",bot:\"\\u22a5\",bottom:\"\\u22a5\",bowtie:\"\\u22c8\",boxbox:\"\\u29c9\",boxdl:\"\\u2510\",boxdL:\"\\u2555\",boxDl:\"\\u2556\",boxDL:\"\\u2557\",boxdr:\"\\u250c\",boxdR:\"\\u2552\",boxDr:\"\\u2553\",boxDR:\"\\u2554\",boxh:\"\\u2500\",boxH:\"\\u2550\",boxhd:\"\\u252c\",boxHd:\"\\u2564\",boxhD:\"\\u2565\",boxHD:\"\\u2566\",boxhu:\"\\u2534\",boxHu:\"\\u2567\",boxhU:\"\\u2568\",boxHU:\"\\u2569\",boxminus:\"\\u229f\",boxplus:\"\\u229e\",boxtimes:\"\\u22a0\",boxul:\"\\u2518\",boxuL:\"\\u255b\",boxUl:\"\\u255c\",boxUL:\"\\u255d\",boxur:\"\\u2514\",boxuR:\"\\u2558\",boxUr:\"\\u2559\",boxUR:\"\\u255a\",boxv:\"\\u2502\",boxV:\"\\u2551\",boxvh:\"\\u253c\",boxvH:\"\\u256a\",boxVh:\"\\u256b\",boxVH:\"\\u256c\",boxvl:\"\\u2524\",boxvL:\"\\u2561\",boxVl:\"\\u2562\",boxVL:\"\\u2563\",boxvr:\"\\u251c\",boxvR:\"\\u255e\",boxVr:\"\\u255f\",boxVR:\"\\u2560\",bprime:\"\\u2035\",breve:\"\\u02d8\",Breve:\"\\u02d8\",brvbar:\"\\xa6\",bscr:\"\\ud835\\udcb7\",Bscr:\"\\u212c\",bsemi:\"\\u204f\",bsim:\"\\u223d\",bsime:\"\\u22cd\",bsolb:\"\\u29c5\",bsol:\"\\\\\",bsolhsub:\"\\u27c8\",bull:\"\\u2022\",bullet:\"\\u2022\",bump:\"\\u224e\",bumpE:\"\\u2aae\",bumpe:\"\\u224f\",Bumpeq:\"\\u224e\",bumpeq:\"\\u224f\",Cacute:\"\\u0106\",cacute:\"\\u0107\",capand:\"\\u2a44\",capbrcup:\"\\u2a49\",capcap:\"\\u2a4b\",cap:\"\\u2229\",Cap:\"\\u22d2\",capcup:\"\\u2a47\",capdot:\"\\u2a40\",CapitalDifferentialD:\"\\u2145\",caps:\"\\u2229\\ufe00\",caret:\"\\u2041\",caron:\"\\u02c7\",Cayleys:\"\\u212d\",ccaps:\"\\u2a4d\",Ccaron:\"\\u010c\",ccaron:\"\\u010d\",Ccedil:\"\\xc7\",ccedil:\"\\xe7\",Ccirc:\"\\u0108\",ccirc:\"\\u0109\",Cconint:\"\\u2230\",ccups:\"\\u2a4c\",ccupssm:\"\\u2a50\",Cdot:\"\\u010a\",cdot:\"\\u010b\",cedil:\"\\xb8\",Cedilla:\"\\xb8\",cemptyv:\"\\u29b2\",cent:\"\\xa2\",centerdot:\"\\xb7\",CenterDot:\"\\xb7\",cfr:\"\\ud835\\udd20\",Cfr:\"\\u212d\",CHcy:\"\\u0427\",chcy:\"\\u0447\",check:\"\\u2713\",checkmark:\"\\u2713\",Chi:\"\\u03a7\",chi:\"\\u03c7\",circ:\"\\u02c6\",circeq:\"\\u2257\",circlearrowleft:\"\\u21ba\",circlearrowright:\"\\u21bb\",circledast:\"\\u229b\",circledcirc:\"\\u229a\",circleddash:\"\\u229d\",CircleDot:\"\\u2299\",circledR:\"\\xae\",circledS:\"\\u24c8\",CircleMinus:\"\\u2296\",CirclePlus:\"\\u2295\",CircleTimes:\"\\u2297\",cir:\"\\u25cb\",cirE:\"\\u29c3\",cire:\"\\u2257\",cirfnint:\"\\u2a10\",cirmid:\"\\u2aef\",cirscir:\"\\u29c2\",ClockwiseContourIntegral:\"\\u2232\",CloseCurlyDoubleQuote:\"\\u201d\",CloseCurlyQuote:\"\\u2019\",clubs:\"\\u2663\",clubsuit:\"\\u2663\",colon:\":\",Colon:\"\\u2237\",Colone:\"\\u2a74\",colone:\"\\u2254\",coloneq:\"\\u2254\",comma:\",\",commat:\"@\",comp:\"\\u2201\",compfn:\"\\u2218\",complement:\"\\u2201\",complexes:\"\\u2102\",cong:\"\\u2245\",congdot:\"\\u2a6d\",Congruent:\"\\u2261\",conint:\"\\u222e\",Conint:\"\\u222f\",ContourIntegral:\"\\u222e\",copf:\"\\ud835\\udd54\",Copf:\"\\u2102\",coprod:\"\\u2210\",Coproduct:\"\\u2210\",copy:\"\\xa9\",COPY:\"\\xa9\",copysr:\"\\u2117\",CounterClockwiseContourIntegral:\"\\u2233\",crarr:\"\\u21b5\",cross:\"\\u2717\",Cross:\"\\u2a2f\",Cscr:\"\\ud835\\udc9e\",cscr:\"\\ud835\\udcb8\",csub:\"\\u2acf\",csube:\"\\u2ad1\",csup:\"\\u2ad0\",csupe:\"\\u2ad2\",ctdot:\"\\u22ef\",cudarrl:\"\\u2938\",cudarrr:\"\\u2935\",cuepr:\"\\u22de\",cuesc:\"\\u22df\",cularr:\"\\u21b6\",cularrp:\"\\u293d\",cupbrcap:\"\\u2a48\",cupcap:\"\\u2a46\",CupCap:\"\\u224d\",cup:\"\\u222a\",Cup:\"\\u22d3\",cupcup:\"\\u2a4a\",cupdot:\"\\u228d\",cupor:\"\\u2a45\",cups:\"\\u222a\\ufe00\",curarr:\"\\u21b7\",curarrm:\"\\u293c\",curlyeqprec:\"\\u22de\",curlyeqsucc:\"\\u22df\",curlyvee:\"\\u22ce\",curlywedge:\"\\u22cf\",curren:\"\\xa4\",curvearrowleft:\"\\u21b6\",curvearrowright:\"\\u21b7\",cuvee:\"\\u22ce\",cuwed:\"\\u22cf\",cwconint:\"\\u2232\",cwint:\"\\u2231\",cylcty:\"\\u232d\",dagger:\"\\u2020\",Dagger:\"\\u2021\",daleth:\"\\u2138\",darr:\"\\u2193\",Darr:\"\\u21a1\",dArr:\"\\u21d3\",dash:\"\\u2010\",Dashv:\"\\u2ae4\",dashv:\"\\u22a3\",dbkarow:\"\\u290f\",dblac:\"\\u02dd\",Dcaron:\"\\u010e\",dcaron:\"\\u010f\",Dcy:\"\\u0414\",dcy:\"\\u0434\",ddagger:\"\\u2021\",ddarr:\"\\u21ca\",DD:\"\\u2145\",dd:\"\\u2146\",DDotrahd:\"\\u2911\",ddotseq:\"\\u2a77\",deg:\"\\xb0\",Del:\"\\u2207\",Delta:\"\\u0394\",delta:\"\\u03b4\",demptyv:\"\\u29b1\",dfisht:\"\\u297f\",Dfr:\"\\ud835\\udd07\",dfr:\"\\ud835\\udd21\",dHar:\"\\u2965\",dharl:\"\\u21c3\",dharr:\"\\u21c2\",DiacriticalAcute:\"\\xb4\",DiacriticalDot:\"\\u02d9\",DiacriticalDoubleAcute:\"\\u02dd\",DiacriticalGrave:\"`\",DiacriticalTilde:\"\\u02dc\",diam:\"\\u22c4\",diamond:\"\\u22c4\",Diamond:\"\\u22c4\",diamondsuit:\"\\u2666\",diams:\"\\u2666\",die:\"\\xa8\",DifferentialD:\"\\u2146\",digamma:\"\\u03dd\",disin:\"\\u22f2\",div:\"\\xf7\",divide:\"\\xf7\",divideontimes:\"\\u22c7\",divonx:\"\\u22c7\",DJcy:\"\\u0402\",djcy:\"\\u0452\",dlcorn:\"\\u231e\",dlcrop:\"\\u230d\",dollar:\"$\",Dopf:\"\\ud835\\udd3b\",dopf:\"\\ud835\\udd55\",Dot:\"\\xa8\",dot:\"\\u02d9\",DotDot:\"\\u20dc\",doteq:\"\\u2250\",doteqdot:\"\\u2251\",DotEqual:\"\\u2250\",dotminus:\"\\u2238\",dotplus:\"\\u2214\",dotsquare:\"\\u22a1\",doublebarwedge:\"\\u2306\",DoubleContourIntegral:\"\\u222f\",DoubleDot:\"\\xa8\",DoubleDownArrow:\"\\u21d3\",DoubleLeftArrow:\"\\u21d0\",DoubleLeftRightArrow:\"\\u21d4\",DoubleLeftTee:\"\\u2ae4\",DoubleLongLeftArrow:\"\\u27f8\",DoubleLongLeftRightArrow:\"\\u27fa\",DoubleLongRightArrow:\"\\u27f9\",DoubleRightArrow:\"\\u21d2\",DoubleRightTee:\"\\u22a8\",DoubleUpArrow:\"\\u21d1\",DoubleUpDownArrow:\"\\u21d5\",DoubleVerticalBar:\"\\u2225\",DownArrowBar:\"\\u2913\",downarrow:\"\\u2193\",DownArrow:\"\\u2193\",Downarrow:\"\\u21d3\",DownArrowUpArrow:\"\\u21f5\",DownBreve:\"\\u0311\",downdownarrows:\"\\u21ca\",downharpoonleft:\"\\u21c3\",downharpoonright:\"\\u21c2\",DownLeftRightVector:\"\\u2950\",DownLeftTeeVector:\"\\u295e\",DownLeftVectorBar:\"\\u2956\",DownLeftVector:\"\\u21bd\",DownRightTeeVector:\"\\u295f\",DownRightVectorBar:\"\\u2957\",DownRightVector:\"\\u21c1\",DownTeeArrow:\"\\u21a7\",DownTee:\"\\u22a4\",drbkarow:\"\\u2910\",drcorn:\"\\u231f\",drcrop:\"\\u230c\",Dscr:\"\\ud835\\udc9f\",dscr:\"\\ud835\\udcb9\",DScy:\"\\u0405\",dscy:\"\\u0455\",dsol:\"\\u29f6\",Dstrok:\"\\u0110\",dstrok:\"\\u0111\",dtdot:\"\\u22f1\",dtri:\"\\u25bf\",dtrif:\"\\u25be\",duarr:\"\\u21f5\",duhar:\"\\u296f\",dwangle:\"\\u29a6\",DZcy:\"\\u040f\",dzcy:\"\\u045f\",dzigrarr:\"\\u27ff\",Eacute:\"\\xc9\",eacute:\"\\xe9\",easter:\"\\u2a6e\",Ecaron:\"\\u011a\",ecaron:\"\\u011b\",Ecirc:\"\\xca\",ecirc:\"\\xea\",ecir:\"\\u2256\",ecolon:\"\\u2255\",Ecy:\"\\u042d\",ecy:\"\\u044d\",eDDot:\"\\u2a77\",Edot:\"\\u0116\",edot:\"\\u0117\",eDot:\"\\u2251\",ee:\"\\u2147\",efDot:\"\\u2252\",Efr:\"\\ud835\\udd08\",efr:\"\\ud835\\udd22\",eg:\"\\u2a9a\",Egrave:\"\\xc8\",egrave:\"\\xe8\",egs:\"\\u2a96\",egsdot:\"\\u2a98\",el:\"\\u2a99\",Element:\"\\u2208\",elinters:\"\\u23e7\",ell:\"\\u2113\",els:\"\\u2a95\",elsdot:\"\\u2a97\",Emacr:\"\\u0112\",emacr:\"\\u0113\",empty:\"\\u2205\",emptyset:\"\\u2205\",EmptySmallSquare:\"\\u25fb\",emptyv:\"\\u2205\",EmptyVerySmallSquare:\"\\u25ab\",emsp13:\"\\u2004\",emsp14:\"\\u2005\",emsp:\"\\u2003\",ENG:\"\\u014a\",eng:\"\\u014b\",ensp:\"\\u2002\",Eogon:\"\\u0118\",eogon:\"\\u0119\",Eopf:\"\\ud835\\udd3c\",eopf:\"\\ud835\\udd56\",epar:\"\\u22d5\",eparsl:\"\\u29e3\",eplus:\"\\u2a71\",epsi:\"\\u03b5\",Epsilon:\"\\u0395\",epsilon:\"\\u03b5\",epsiv:\"\\u03f5\",eqcirc:\"\\u2256\",eqcolon:\"\\u2255\",eqsim:\"\\u2242\",eqslantgtr:\"\\u2a96\",eqslantless:\"\\u2a95\",Equal:\"\\u2a75\",equals:\"=\",EqualTilde:\"\\u2242\",equest:\"\\u225f\",Equilibrium:\"\\u21cc\",equiv:\"\\u2261\",equivDD:\"\\u2a78\",eqvparsl:\"\\u29e5\",erarr:\"\\u2971\",erDot:\"\\u2253\",escr:\"\\u212f\",Escr:\"\\u2130\",esdot:\"\\u2250\",Esim:\"\\u2a73\",esim:\"\\u2242\",Eta:\"\\u0397\",eta:\"\\u03b7\",ETH:\"\\xd0\",eth:\"\\xf0\",Euml:\"\\xcb\",euml:\"\\xeb\",euro:\"\\u20ac\",excl:\"!\",exist:\"\\u2203\",Exists:\"\\u2203\",expectation:\"\\u2130\",exponentiale:\"\\u2147\",ExponentialE:\"\\u2147\",fallingdotseq:\"\\u2252\",Fcy:\"\\u0424\",fcy:\"\\u0444\",female:\"\\u2640\",ffilig:\"\\ufb03\",fflig:\"\\ufb00\",ffllig:\"\\ufb04\",Ffr:\"\\ud835\\udd09\",ffr:\"\\ud835\\udd23\",filig:\"\\ufb01\",FilledSmallSquare:\"\\u25fc\",FilledVerySmallSquare:\"\\u25aa\",fjlig:\"fj\",flat:\"\\u266d\",fllig:\"\\ufb02\",fltns:\"\\u25b1\",fnof:\"\\u0192\",Fopf:\"\\ud835\\udd3d\",fopf:\"\\ud835\\udd57\",forall:\"\\u2200\",ForAll:\"\\u2200\",fork:\"\\u22d4\",forkv:\"\\u2ad9\",Fouriertrf:\"\\u2131\",fpartint:\"\\u2a0d\",frac12:\"\\xbd\",frac13:\"\\u2153\",frac14:\"\\xbc\",frac15:\"\\u2155\",frac16:\"\\u2159\",frac18:\"\\u215b\",frac23:\"\\u2154\",frac25:\"\\u2156\",frac34:\"\\xbe\",frac35:\"\\u2157\",frac38:\"\\u215c\",frac45:\"\\u2158\",frac56:\"\\u215a\",frac58:\"\\u215d\",frac78:\"\\u215e\",frasl:\"\\u2044\",frown:\"\\u2322\",fscr:\"\\ud835\\udcbb\",Fscr:\"\\u2131\",gacute:\"\\u01f5\",Gamma:\"\\u0393\",gamma:\"\\u03b3\",Gammad:\"\\u03dc\",gammad:\"\\u03dd\",gap:\"\\u2a86\",Gbreve:\"\\u011e\",gbreve:\"\\u011f\",Gcedil:\"\\u0122\",Gcirc:\"\\u011c\",gcirc:\"\\u011d\",Gcy:\"\\u0413\",gcy:\"\\u0433\",Gdot:\"\\u0120\",gdot:\"\\u0121\",ge:\"\\u2265\",gE:\"\\u2267\",gEl:\"\\u2a8c\",gel:\"\\u22db\",geq:\"\\u2265\",geqq:\"\\u2267\",geqslant:\"\\u2a7e\",gescc:\"\\u2aa9\",ges:\"\\u2a7e\",gesdot:\"\\u2a80\",gesdoto:\"\\u2a82\",gesdotol:\"\\u2a84\",gesl:\"\\u22db\\ufe00\",gesles:\"\\u2a94\",Gfr:\"\\ud835\\udd0a\",gfr:\"\\ud835\\udd24\",gg:\"\\u226b\",Gg:\"\\u22d9\",ggg:\"\\u22d9\",gimel:\"\\u2137\",GJcy:\"\\u0403\",gjcy:\"\\u0453\",gla:\"\\u2aa5\",gl:\"\\u2277\",glE:\"\\u2a92\",glj:\"\\u2aa4\",gnap:\"\\u2a8a\",gnapprox:\"\\u2a8a\",gne:\"\\u2a88\",gnE:\"\\u2269\",gneq:\"\\u2a88\",gneqq:\"\\u2269\",gnsim:\"\\u22e7\",Gopf:\"\\ud835\\udd3e\",gopf:\"\\ud835\\udd58\",grave:\"`\",GreaterEqual:\"\\u2265\",GreaterEqualLess:\"\\u22db\",GreaterFullEqual:\"\\u2267\",GreaterGreater:\"\\u2aa2\",GreaterLess:\"\\u2277\",GreaterSlantEqual:\"\\u2a7e\",GreaterTilde:\"\\u2273\",Gscr:\"\\ud835\\udca2\",gscr:\"\\u210a\",gsim:\"\\u2273\",gsime:\"\\u2a8e\",gsiml:\"\\u2a90\",gtcc:\"\\u2aa7\",gtcir:\"\\u2a7a\",gt:\">\",GT:\">\",Gt:\"\\u226b\",gtdot:\"\\u22d7\",gtlPar:\"\\u2995\",gtquest:\"\\u2a7c\",gtrapprox:\"\\u2a86\",gtrarr:\"\\u2978\",gtrdot:\"\\u22d7\",gtreqless:\"\\u22db\",gtreqqless:\"\\u2a8c\",gtrless:\"\\u2277\",gtrsim:\"\\u2273\",gvertneqq:\"\\u2269\\ufe00\",gvnE:\"\\u2269\\ufe00\",Hacek:\"\\u02c7\",hairsp:\"\\u200a\",half:\"\\xbd\",hamilt:\"\\u210b\",HARDcy:\"\\u042a\",hardcy:\"\\u044a\",harrcir:\"\\u2948\",harr:\"\\u2194\",hArr:\"\\u21d4\",harrw:\"\\u21ad\",Hat:\"^\",hbar:\"\\u210f\",Hcirc:\"\\u0124\",hcirc:\"\\u0125\",hearts:\"\\u2665\",heartsuit:\"\\u2665\",hellip:\"\\u2026\",hercon:\"\\u22b9\",hfr:\"\\ud835\\udd25\",Hfr:\"\\u210c\",HilbertSpace:\"\\u210b\",hksearow:\"\\u2925\",hkswarow:\"\\u2926\",hoarr:\"\\u21ff\",homtht:\"\\u223b\",hookleftarrow:\"\\u21a9\",hookrightarrow:\"\\u21aa\",hopf:\"\\ud835\\udd59\",Hopf:\"\\u210d\",horbar:\"\\u2015\",HorizontalLine:\"\\u2500\",hscr:\"\\ud835\\udcbd\",Hscr:\"\\u210b\",hslash:\"\\u210f\",Hstrok:\"\\u0126\",hstrok:\"\\u0127\",HumpDownHump:\"\\u224e\",HumpEqual:\"\\u224f\",hybull:\"\\u2043\",hyphen:\"\\u2010\",Iacute:\"\\xcd\",iacute:\"\\xed\",ic:\"\\u2063\",Icirc:\"\\xce\",icirc:\"\\xee\",Icy:\"\\u0418\",icy:\"\\u0438\",Idot:\"\\u0130\",IEcy:\"\\u0415\",iecy:\"\\u0435\",iexcl:\"\\xa1\",iff:\"\\u21d4\",ifr:\"\\ud835\\udd26\",Ifr:\"\\u2111\",Igrave:\"\\xcc\",igrave:\"\\xec\",ii:\"\\u2148\",iiiint:\"\\u2a0c\",iiint:\"\\u222d\",iinfin:\"\\u29dc\",iiota:\"\\u2129\",IJlig:\"\\u0132\",ijlig:\"\\u0133\",Imacr:\"\\u012a\",imacr:\"\\u012b\",image:\"\\u2111\",ImaginaryI:\"\\u2148\",imagline:\"\\u2110\",imagpart:\"\\u2111\",imath:\"\\u0131\",Im:\"\\u2111\",imof:\"\\u22b7\",imped:\"\\u01b5\",Implies:\"\\u21d2\",incare:\"\\u2105\",in:\"\\u2208\",infin:\"\\u221e\",infintie:\"\\u29dd\",inodot:\"\\u0131\",intcal:\"\\u22ba\",int:\"\\u222b\",Int:\"\\u222c\",integers:\"\\u2124\",Integral:\"\\u222b\",intercal:\"\\u22ba\",Intersection:\"\\u22c2\",intlarhk:\"\\u2a17\",intprod:\"\\u2a3c\",InvisibleComma:\"\\u2063\",InvisibleTimes:\"\\u2062\",IOcy:\"\\u0401\",iocy:\"\\u0451\",Iogon:\"\\u012e\",iogon:\"\\u012f\",Iopf:\"\\ud835\\udd40\",iopf:\"\\ud835\\udd5a\",Iota:\"\\u0399\",iota:\"\\u03b9\",iprod:\"\\u2a3c\",iquest:\"\\xbf\",iscr:\"\\ud835\\udcbe\",Iscr:\"\\u2110\",isin:\"\\u2208\",isindot:\"\\u22f5\",isinE:\"\\u22f9\",isins:\"\\u22f4\",isinsv:\"\\u22f3\",isinv:\"\\u2208\",it:\"\\u2062\",Itilde:\"\\u0128\",itilde:\"\\u0129\",Iukcy:\"\\u0406\",iukcy:\"\\u0456\",Iuml:\"\\xcf\",iuml:\"\\xef\",Jcirc:\"\\u0134\",jcirc:\"\\u0135\",Jcy:\"\\u0419\",jcy:\"\\u0439\",Jfr:\"\\ud835\\udd0d\",jfr:\"\\ud835\\udd27\",jmath:\"\\u0237\",Jopf:\"\\ud835\\udd41\",jopf:\"\\ud835\\udd5b\",Jscr:\"\\ud835\\udca5\",jscr:\"\\ud835\\udcbf\",Jsercy:\"\\u0408\",jsercy:\"\\u0458\",Jukcy:\"\\u0404\",jukcy:\"\\u0454\",Kappa:\"\\u039a\",kappa:\"\\u03ba\",kappav:\"\\u03f0\",Kcedil:\"\\u0136\",kcedil:\"\\u0137\",Kcy:\"\\u041a\",kcy:\"\\u043a\",Kfr:\"\\ud835\\udd0e\",kfr:\"\\ud835\\udd28\",kgreen:\"\\u0138\",KHcy:\"\\u0425\",khcy:\"\\u0445\",KJcy:\"\\u040c\",kjcy:\"\\u045c\",Kopf:\"\\ud835\\udd42\",kopf:\"\\ud835\\udd5c\",Kscr:\"\\ud835\\udca6\",kscr:\"\\ud835\\udcc0\",lAarr:\"\\u21da\",Lacute:\"\\u0139\",lacute:\"\\u013a\",laemptyv:\"\\u29b4\",lagran:\"\\u2112\",Lambda:\"\\u039b\",lambda:\"\\u03bb\",lang:\"\\u27e8\",Lang:\"\\u27ea\",langd:\"\\u2991\",langle:\"\\u27e8\",lap:\"\\u2a85\",Laplacetrf:\"\\u2112\",laquo:\"\\xab\",larrb:\"\\u21e4\",larrbfs:\"\\u291f\",larr:\"\\u2190\",Larr:\"\\u219e\",lArr:\"\\u21d0\",larrfs:\"\\u291d\",larrhk:\"\\u21a9\",larrlp:\"\\u21ab\",larrpl:\"\\u2939\",larrsim:\"\\u2973\",larrtl:\"\\u21a2\",latail:\"\\u2919\",lAtail:\"\\u291b\",lat:\"\\u2aab\",late:\"\\u2aad\",lates:\"\\u2aad\\ufe00\",lbarr:\"\\u290c\",lBarr:\"\\u290e\",lbbrk:\"\\u2772\",lbrace:\"{\",lbrack:\"[\",lbrke:\"\\u298b\",lbrksld:\"\\u298f\",lbrkslu:\"\\u298d\",Lcaron:\"\\u013d\",lcaron:\"\\u013e\",Lcedil:\"\\u013b\",lcedil:\"\\u013c\",lceil:\"\\u2308\",lcub:\"{\",Lcy:\"\\u041b\",lcy:\"\\u043b\",ldca:\"\\u2936\",ldquo:\"\\u201c\",ldquor:\"\\u201e\",ldrdhar:\"\\u2967\",ldrushar:\"\\u294b\",ldsh:\"\\u21b2\",le:\"\\u2264\",lE:\"\\u2266\",LeftAngleBracket:\"\\u27e8\",LeftArrowBar:\"\\u21e4\",leftarrow:\"\\u2190\",LeftArrow:\"\\u2190\",Leftarrow:\"\\u21d0\",LeftArrowRightArrow:\"\\u21c6\",leftarrowtail:\"\\u21a2\",LeftCeiling:\"\\u2308\",LeftDoubleBracket:\"\\u27e6\",LeftDownTeeVector:\"\\u2961\",LeftDownVectorBar:\"\\u2959\",LeftDownVector:\"\\u21c3\",LeftFloor:\"\\u230a\",leftharpoondown:\"\\u21bd\",leftharpoonup:\"\\u21bc\",leftleftarrows:\"\\u21c7\",leftrightarrow:\"\\u2194\",LeftRightArrow:\"\\u2194\",Leftrightarrow:\"\\u21d4\",leftrightarrows:\"\\u21c6\",leftrightharpoons:\"\\u21cb\",leftrightsquigarrow:\"\\u21ad\",LeftRightVector:\"\\u294e\",LeftTeeArrow:\"\\u21a4\",LeftTee:\"\\u22a3\",LeftTeeVector:\"\\u295a\",leftthreetimes:\"\\u22cb\",LeftTriangleBar:\"\\u29cf\",LeftTriangle:\"\\u22b2\",LeftTriangleEqual:\"\\u22b4\",LeftUpDownVector:\"\\u2951\",LeftUpTeeVector:\"\\u2960\",LeftUpVectorBar:\"\\u2958\",LeftUpVector:\"\\u21bf\",LeftVectorBar:\"\\u2952\",LeftVector:\"\\u21bc\",lEg:\"\\u2a8b\",leg:\"\\u22da\",leq:\"\\u2264\",leqq:\"\\u2266\",leqslant:\"\\u2a7d\",lescc:\"\\u2aa8\",les:\"\\u2a7d\",lesdot:\"\\u2a7f\",lesdoto:\"\\u2a81\",lesdotor:\"\\u2a83\",lesg:\"\\u22da\\ufe00\",lesges:\"\\u2a93\",lessapprox:\"\\u2a85\",lessdot:\"\\u22d6\",lesseqgtr:\"\\u22da\",lesseqqgtr:\"\\u2a8b\",LessEqualGreater:\"\\u22da\",LessFullEqual:\"\\u2266\",LessGreater:\"\\u2276\",lessgtr:\"\\u2276\",LessLess:\"\\u2aa1\",lesssim:\"\\u2272\",LessSlantEqual:\"\\u2a7d\",LessTilde:\"\\u2272\",lfisht:\"\\u297c\",lfloor:\"\\u230a\",Lfr:\"\\ud835\\udd0f\",lfr:\"\\ud835\\udd29\",lg:\"\\u2276\",lgE:\"\\u2a91\",lHar:\"\\u2962\",lhard:\"\\u21bd\",lharu:\"\\u21bc\",lharul:\"\\u296a\",lhblk:\"\\u2584\",LJcy:\"\\u0409\",ljcy:\"\\u0459\",llarr:\"\\u21c7\",ll:\"\\u226a\",Ll:\"\\u22d8\",llcorner:\"\\u231e\",Lleftarrow:\"\\u21da\",llhard:\"\\u296b\",lltri:\"\\u25fa\",Lmidot:\"\\u013f\",lmidot:\"\\u0140\",lmoustache:\"\\u23b0\",lmoust:\"\\u23b0\",lnap:\"\\u2a89\",lnapprox:\"\\u2a89\",lne:\"\\u2a87\",lnE:\"\\u2268\",lneq:\"\\u2a87\",lneqq:\"\\u2268\",lnsim:\"\\u22e6\",loang:\"\\u27ec\",loarr:\"\\u21fd\",lobrk:\"\\u27e6\",longleftarrow:\"\\u27f5\",LongLeftArrow:\"\\u27f5\",Longleftarrow:\"\\u27f8\",longleftrightarrow:\"\\u27f7\",LongLeftRightArrow:\"\\u27f7\",Longleftrightarrow:\"\\u27fa\",longmapsto:\"\\u27fc\",longrightarrow:\"\\u27f6\",LongRightArrow:\"\\u27f6\",Longrightarrow:\"\\u27f9\",looparrowleft:\"\\u21ab\",looparrowright:\"\\u21ac\",lopar:\"\\u2985\",Lopf:\"\\ud835\\udd43\",lopf:\"\\ud835\\udd5d\",loplus:\"\\u2a2d\",lotimes:\"\\u2a34\",lowast:\"\\u2217\",lowbar:\"_\",LowerLeftArrow:\"\\u2199\",LowerRightArrow:\"\\u2198\",loz:\"\\u25ca\",lozenge:\"\\u25ca\",lozf:\"\\u29eb\",lpar:\"(\",lparlt:\"\\u2993\",lrarr:\"\\u21c6\",lrcorner:\"\\u231f\",lrhar:\"\\u21cb\",lrhard:\"\\u296d\",lrm:\"\\u200e\",lrtri:\"\\u22bf\",lsaquo:\"\\u2039\",lscr:\"\\ud835\\udcc1\",Lscr:\"\\u2112\",lsh:\"\\u21b0\",Lsh:\"\\u21b0\",lsim:\"\\u2272\",lsime:\"\\u2a8d\",lsimg:\"\\u2a8f\",lsqb:\"[\",lsquo:\"\\u2018\",lsquor:\"\\u201a\",Lstrok:\"\\u0141\",lstrok:\"\\u0142\",ltcc:\"\\u2aa6\",ltcir:\"\\u2a79\",lt:\"<\",LT:\"<\",Lt:\"\\u226a\",ltdot:\"\\u22d6\",lthree:\"\\u22cb\",ltimes:\"\\u22c9\",ltlarr:\"\\u2976\",ltquest:\"\\u2a7b\",ltri:\"\\u25c3\",ltrie:\"\\u22b4\",ltrif:\"\\u25c2\",ltrPar:\"\\u2996\",lurdshar:\"\\u294a\",luruhar:\"\\u2966\",lvertneqq:\"\\u2268\\ufe00\",lvnE:\"\\u2268\\ufe00\",macr:\"\\xaf\",male:\"\\u2642\",malt:\"\\u2720\",maltese:\"\\u2720\",Map:\"\\u2905\",map:\"\\u21a6\",mapsto:\"\\u21a6\",mapstodown:\"\\u21a7\",mapstoleft:\"\\u21a4\",mapstoup:\"\\u21a5\",marker:\"\\u25ae\",mcomma:\"\\u2a29\",Mcy:\"\\u041c\",mcy:\"\\u043c\",mdash:\"\\u2014\",mDDot:\"\\u223a\",measuredangle:\"\\u2221\",MediumSpace:\"\\u205f\",Mellintrf:\"\\u2133\",Mfr:\"\\ud835\\udd10\",mfr:\"\\ud835\\udd2a\",mho:\"\\u2127\",micro:\"\\xb5\",midast:\"*\",midcir:\"\\u2af0\",mid:\"\\u2223\",middot:\"\\xb7\",minusb:\"\\u229f\",minus:\"\\u2212\",minusd:\"\\u2238\",minusdu:\"\\u2a2a\",MinusPlus:\"\\u2213\",mlcp:\"\\u2adb\",mldr:\"\\u2026\",mnplus:\"\\u2213\",models:\"\\u22a7\",Mopf:\"\\ud835\\udd44\",mopf:\"\\ud835\\udd5e\",mp:\"\\u2213\",mscr:\"\\ud835\\udcc2\",Mscr:\"\\u2133\",mstpos:\"\\u223e\",Mu:\"\\u039c\",mu:\"\\u03bc\",multimap:\"\\u22b8\",mumap:\"\\u22b8\",nabla:\"\\u2207\",Nacute:\"\\u0143\",nacute:\"\\u0144\",nang:\"\\u2220\\u20d2\",nap:\"\\u2249\",napE:\"\\u2a70\\u0338\",napid:\"\\u224b\\u0338\",napos:\"\\u0149\",napprox:\"\\u2249\",natural:\"\\u266e\",naturals:\"\\u2115\",natur:\"\\u266e\",nbsp:\"\\xa0\",nbump:\"\\u224e\\u0338\",nbumpe:\"\\u224f\\u0338\",ncap:\"\\u2a43\",Ncaron:\"\\u0147\",ncaron:\"\\u0148\",Ncedil:\"\\u0145\",ncedil:\"\\u0146\",ncong:\"\\u2247\",ncongdot:\"\\u2a6d\\u0338\",ncup:\"\\u2a42\",Ncy:\"\\u041d\",ncy:\"\\u043d\",ndash:\"\\u2013\",nearhk:\"\\u2924\",nearr:\"\\u2197\",neArr:\"\\u21d7\",nearrow:\"\\u2197\",ne:\"\\u2260\",nedot:\"\\u2250\\u0338\",NegativeMediumSpace:\"\\u200b\",NegativeThickSpace:\"\\u200b\",NegativeThinSpace:\"\\u200b\",NegativeVeryThinSpace:\"\\u200b\",nequiv:\"\\u2262\",nesear:\"\\u2928\",nesim:\"\\u2242\\u0338\",NestedGreaterGreater:\"\\u226b\",NestedLessLess:\"\\u226a\",NewLine:\"\\n\",nexist:\"\\u2204\",nexists:\"\\u2204\",Nfr:\"\\ud835\\udd11\",nfr:\"\\ud835\\udd2b\",ngE:\"\\u2267\\u0338\",nge:\"\\u2271\",ngeq:\"\\u2271\",ngeqq:\"\\u2267\\u0338\",ngeqslant:\"\\u2a7e\\u0338\",nges:\"\\u2a7e\\u0338\",nGg:\"\\u22d9\\u0338\",ngsim:\"\\u2275\",nGt:\"\\u226b\\u20d2\",ngt:\"\\u226f\",ngtr:\"\\u226f\",nGtv:\"\\u226b\\u0338\",nharr:\"\\u21ae\",nhArr:\"\\u21ce\",nhpar:\"\\u2af2\",ni:\"\\u220b\",nis:\"\\u22fc\",nisd:\"\\u22fa\",niv:\"\\u220b\",NJcy:\"\\u040a\",njcy:\"\\u045a\",nlarr:\"\\u219a\",nlArr:\"\\u21cd\",nldr:\"\\u2025\",nlE:\"\\u2266\\u0338\",nle:\"\\u2270\",nleftarrow:\"\\u219a\",nLeftarrow:\"\\u21cd\",nleftrightarrow:\"\\u21ae\",nLeftrightarrow:\"\\u21ce\",nleq:\"\\u2270\",nleqq:\"\\u2266\\u0338\",nleqslant:\"\\u2a7d\\u0338\",nles:\"\\u2a7d\\u0338\",nless:\"\\u226e\",nLl:\"\\u22d8\\u0338\",nlsim:\"\\u2274\",nLt:\"\\u226a\\u20d2\",nlt:\"\\u226e\",nltri:\"\\u22ea\",nltrie:\"\\u22ec\",nLtv:\"\\u226a\\u0338\",nmid:\"\\u2224\",NoBreak:\"\\u2060\",NonBreakingSpace:\"\\xa0\",nopf:\"\\ud835\\udd5f\",Nopf:\"\\u2115\",Not:\"\\u2aec\",not:\"\\xac\",NotCongruent:\"\\u2262\",NotCupCap:\"\\u226d\",NotDoubleVerticalBar:\"\\u2226\",NotElement:\"\\u2209\",NotEqual:\"\\u2260\",NotEqualTilde:\"\\u2242\\u0338\",NotExists:\"\\u2204\",NotGreater:\"\\u226f\",NotGreaterEqual:\"\\u2271\",NotGreaterFullEqual:\"\\u2267\\u0338\",NotGreaterGreater:\"\\u226b\\u0338\",NotGreaterLess:\"\\u2279\",NotGreaterSlantEqual:\"\\u2a7e\\u0338\",NotGreaterTilde:\"\\u2275\",NotHumpDownHump:\"\\u224e\\u0338\",NotHumpEqual:\"\\u224f\\u0338\",notin:\"\\u2209\",notindot:\"\\u22f5\\u0338\",notinE:\"\\u22f9\\u0338\",notinva:\"\\u2209\",notinvb:\"\\u22f7\",notinvc:\"\\u22f6\",NotLeftTriangleBar:\"\\u29cf\\u0338\",NotLeftTriangle:\"\\u22ea\",NotLeftTriangleEqual:\"\\u22ec\",NotLess:\"\\u226e\",NotLessEqual:\"\\u2270\",NotLessGreater:\"\\u2278\",NotLessLess:\"\\u226a\\u0338\",NotLessSlantEqual:\"\\u2a7d\\u0338\",NotLessTilde:\"\\u2274\",NotNestedGreaterGreater:\"\\u2aa2\\u0338\",NotNestedLessLess:\"\\u2aa1\\u0338\",notni:\"\\u220c\",notniva:\"\\u220c\",notnivb:\"\\u22fe\",notnivc:\"\\u22fd\",NotPrecedes:\"\\u2280\",NotPrecedesEqual:\"\\u2aaf\\u0338\",NotPrecedesSlantEqual:\"\\u22e0\",NotReverseElement:\"\\u220c\",NotRightTriangleBar:\"\\u29d0\\u0338\",NotRightTriangle:\"\\u22eb\",NotRightTriangleEqual:\"\\u22ed\",NotSquareSubset:\"\\u228f\\u0338\",NotSquareSubsetEqual:\"\\u22e2\",NotSquareSuperset:\"\\u2290\\u0338\",NotSquareSupersetEqual:\"\\u22e3\",NotSubset:\"\\u2282\\u20d2\",NotSubsetEqual:\"\\u2288\",NotSucceeds:\"\\u2281\",NotSucceedsEqual:\"\\u2ab0\\u0338\",NotSucceedsSlantEqual:\"\\u22e1\",NotSucceedsTilde:\"\\u227f\\u0338\",NotSuperset:\"\\u2283\\u20d2\",NotSupersetEqual:\"\\u2289\",NotTilde:\"\\u2241\",NotTildeEqual:\"\\u2244\",NotTildeFullEqual:\"\\u2247\",NotTildeTilde:\"\\u2249\",NotVerticalBar:\"\\u2224\",nparallel:\"\\u2226\",npar:\"\\u2226\",nparsl:\"\\u2afd\\u20e5\",npart:\"\\u2202\\u0338\",npolint:\"\\u2a14\",npr:\"\\u2280\",nprcue:\"\\u22e0\",nprec:\"\\u2280\",npreceq:\"\\u2aaf\\u0338\",npre:\"\\u2aaf\\u0338\",nrarrc:\"\\u2933\\u0338\",nrarr:\"\\u219b\",nrArr:\"\\u21cf\",nrarrw:\"\\u219d\\u0338\",nrightarrow:\"\\u219b\",nRightarrow:\"\\u21cf\",nrtri:\"\\u22eb\",nrtrie:\"\\u22ed\",nsc:\"\\u2281\",nsccue:\"\\u22e1\",nsce:\"\\u2ab0\\u0338\",Nscr:\"\\ud835\\udca9\",nscr:\"\\ud835\\udcc3\",nshortmid:\"\\u2224\",nshortparallel:\"\\u2226\",nsim:\"\\u2241\",nsime:\"\\u2244\",nsimeq:\"\\u2244\",nsmid:\"\\u2224\",nspar:\"\\u2226\",nsqsube:\"\\u22e2\",nsqsupe:\"\\u22e3\",nsub:\"\\u2284\",nsubE:\"\\u2ac5\\u0338\",nsube:\"\\u2288\",nsubset:\"\\u2282\\u20d2\",nsubseteq:\"\\u2288\",nsubseteqq:\"\\u2ac5\\u0338\",nsucc:\"\\u2281\",nsucceq:\"\\u2ab0\\u0338\",nsup:\"\\u2285\",nsupE:\"\\u2ac6\\u0338\",nsupe:\"\\u2289\",nsupset:\"\\u2283\\u20d2\",nsupseteq:\"\\u2289\",nsupseteqq:\"\\u2ac6\\u0338\",ntgl:\"\\u2279\",Ntilde:\"\\xd1\",ntilde:\"\\xf1\",ntlg:\"\\u2278\",ntriangleleft:\"\\u22ea\",ntrianglelefteq:\"\\u22ec\",ntriangleright:\"\\u22eb\",ntrianglerighteq:\"\\u22ed\",Nu:\"\\u039d\",nu:\"\\u03bd\",num:\"#\",numero:\"\\u2116\",numsp:\"\\u2007\",nvap:\"\\u224d\\u20d2\",nvdash:\"\\u22ac\",nvDash:\"\\u22ad\",nVdash:\"\\u22ae\",nVDash:\"\\u22af\",nvge:\"\\u2265\\u20d2\",nvgt:\">\\u20d2\",nvHarr:\"\\u2904\",nvinfin:\"\\u29de\",nvlArr:\"\\u2902\",nvle:\"\\u2264\\u20d2\",nvlt:\"<\\u20d2\",nvltrie:\"\\u22b4\\u20d2\",nvrArr:\"\\u2903\",nvrtrie:\"\\u22b5\\u20d2\",nvsim:\"\\u223c\\u20d2\",nwarhk:\"\\u2923\",nwarr:\"\\u2196\",nwArr:\"\\u21d6\",nwarrow:\"\\u2196\",nwnear:\"\\u2927\",Oacute:\"\\xd3\",oacute:\"\\xf3\",oast:\"\\u229b\",Ocirc:\"\\xd4\",ocirc:\"\\xf4\",ocir:\"\\u229a\",Ocy:\"\\u041e\",ocy:\"\\u043e\",odash:\"\\u229d\",Odblac:\"\\u0150\",odblac:\"\\u0151\",odiv:\"\\u2a38\",odot:\"\\u2299\",odsold:\"\\u29bc\",OElig:\"\\u0152\",oelig:\"\\u0153\",ofcir:\"\\u29bf\",Ofr:\"\\ud835\\udd12\",ofr:\"\\ud835\\udd2c\",ogon:\"\\u02db\",Ograve:\"\\xd2\",ograve:\"\\xf2\",ogt:\"\\u29c1\",ohbar:\"\\u29b5\",ohm:\"\\u03a9\",oint:\"\\u222e\",olarr:\"\\u21ba\",olcir:\"\\u29be\",olcross:\"\\u29bb\",oline:\"\\u203e\",olt:\"\\u29c0\",Omacr:\"\\u014c\",omacr:\"\\u014d\",Omega:\"\\u03a9\",omega:\"\\u03c9\",Omicron:\"\\u039f\",omicron:\"\\u03bf\",omid:\"\\u29b6\",ominus:\"\\u2296\",Oopf:\"\\ud835\\udd46\",oopf:\"\\ud835\\udd60\",opar:\"\\u29b7\",OpenCurlyDoubleQuote:\"\\u201c\",OpenCurlyQuote:\"\\u2018\",operp:\"\\u29b9\",oplus:\"\\u2295\",orarr:\"\\u21bb\",Or:\"\\u2a54\",or:\"\\u2228\",ord:\"\\u2a5d\",order:\"\\u2134\",orderof:\"\\u2134\",ordf:\"\\xaa\",ordm:\"\\xba\",origof:\"\\u22b6\",oror:\"\\u2a56\",orslope:\"\\u2a57\",orv:\"\\u2a5b\",oS:\"\\u24c8\",Oscr:\"\\ud835\\udcaa\",oscr:\"\\u2134\",Oslash:\"\\xd8\",oslash:\"\\xf8\",osol:\"\\u2298\",Otilde:\"\\xd5\",otilde:\"\\xf5\",otimesas:\"\\u2a36\",Otimes:\"\\u2a37\",otimes:\"\\u2297\",Ouml:\"\\xd6\",ouml:\"\\xf6\",ovbar:\"\\u233d\",OverBar:\"\\u203e\",OverBrace:\"\\u23de\",OverBracket:\"\\u23b4\",OverParenthesis:\"\\u23dc\",para:\"\\xb6\",parallel:\"\\u2225\",par:\"\\u2225\",parsim:\"\\u2af3\",parsl:\"\\u2afd\",part:\"\\u2202\",PartialD:\"\\u2202\",Pcy:\"\\u041f\",pcy:\"\\u043f\",percnt:\"%\",period:\".\",permil:\"\\u2030\",perp:\"\\u22a5\",pertenk:\"\\u2031\",Pfr:\"\\ud835\\udd13\",pfr:\"\\ud835\\udd2d\",Phi:\"\\u03a6\",phi:\"\\u03c6\",phiv:\"\\u03d5\",phmmat:\"\\u2133\",phone:\"\\u260e\",Pi:\"\\u03a0\",pi:\"\\u03c0\",pitchfork:\"\\u22d4\",piv:\"\\u03d6\",planck:\"\\u210f\",planckh:\"\\u210e\",plankv:\"\\u210f\",plusacir:\"\\u2a23\",plusb:\"\\u229e\",pluscir:\"\\u2a22\",plus:\"+\",plusdo:\"\\u2214\",plusdu:\"\\u2a25\",pluse:\"\\u2a72\",PlusMinus:\"\\xb1\",plusmn:\"\\xb1\",plussim:\"\\u2a26\",plustwo:\"\\u2a27\",pm:\"\\xb1\",Poincareplane:\"\\u210c\",pointint:\"\\u2a15\",popf:\"\\ud835\\udd61\",Popf:\"\\u2119\",pound:\"\\xa3\",prap:\"\\u2ab7\",Pr:\"\\u2abb\",pr:\"\\u227a\",prcue:\"\\u227c\",precapprox:\"\\u2ab7\",prec:\"\\u227a\",preccurlyeq:\"\\u227c\",Precedes:\"\\u227a\",PrecedesEqual:\"\\u2aaf\",PrecedesSlantEqual:\"\\u227c\",PrecedesTilde:\"\\u227e\",preceq:\"\\u2aaf\",precnapprox:\"\\u2ab9\",precneqq:\"\\u2ab5\",precnsim:\"\\u22e8\",pre:\"\\u2aaf\",prE:\"\\u2ab3\",precsim:\"\\u227e\",prime:\"\\u2032\",Prime:\"\\u2033\",primes:\"\\u2119\",prnap:\"\\u2ab9\",prnE:\"\\u2ab5\",prnsim:\"\\u22e8\",prod:\"\\u220f\",Product:\"\\u220f\",profalar:\"\\u232e\",profline:\"\\u2312\",profsurf:\"\\u2313\",prop:\"\\u221d\",Proportional:\"\\u221d\",Proportion:\"\\u2237\",propto:\"\\u221d\",prsim:\"\\u227e\",prurel:\"\\u22b0\",Pscr:\"\\ud835\\udcab\",pscr:\"\\ud835\\udcc5\",Psi:\"\\u03a8\",psi:\"\\u03c8\",puncsp:\"\\u2008\",Qfr:\"\\ud835\\udd14\",qfr:\"\\ud835\\udd2e\",qint:\"\\u2a0c\",qopf:\"\\ud835\\udd62\",Qopf:\"\\u211a\",qprime:\"\\u2057\",Qscr:\"\\ud835\\udcac\",qscr:\"\\ud835\\udcc6\",quaternions:\"\\u210d\",quatint:\"\\u2a16\",quest:\"?\",questeq:\"\\u225f\",quot:'\"',QUOT:'\"',rAarr:\"\\u21db\",race:\"\\u223d\\u0331\",Racute:\"\\u0154\",racute:\"\\u0155\",radic:\"\\u221a\",raemptyv:\"\\u29b3\",rang:\"\\u27e9\",Rang:\"\\u27eb\",rangd:\"\\u2992\",range:\"\\u29a5\",rangle:\"\\u27e9\",raquo:\"\\xbb\",rarrap:\"\\u2975\",rarrb:\"\\u21e5\",rarrbfs:\"\\u2920\",rarrc:\"\\u2933\",rarr:\"\\u2192\",Rarr:\"\\u21a0\",rArr:\"\\u21d2\",rarrfs:\"\\u291e\",rarrhk:\"\\u21aa\",rarrlp:\"\\u21ac\",rarrpl:\"\\u2945\",rarrsim:\"\\u2974\",Rarrtl:\"\\u2916\",rarrtl:\"\\u21a3\",rarrw:\"\\u219d\",ratail:\"\\u291a\",rAtail:\"\\u291c\",ratio:\"\\u2236\",rationals:\"\\u211a\",rbarr:\"\\u290d\",rBarr:\"\\u290f\",RBarr:\"\\u2910\",rbbrk:\"\\u2773\",rbrace:\"}\",rbrack:\"]\",rbrke:\"\\u298c\",rbrksld:\"\\u298e\",rbrkslu:\"\\u2990\",Rcaron:\"\\u0158\",rcaron:\"\\u0159\",Rcedil:\"\\u0156\",rcedil:\"\\u0157\",rceil:\"\\u2309\",rcub:\"}\",Rcy:\"\\u0420\",rcy:\"\\u0440\",rdca:\"\\u2937\",rdldhar:\"\\u2969\",rdquo:\"\\u201d\",rdquor:\"\\u201d\",rdsh:\"\\u21b3\",real:\"\\u211c\",realine:\"\\u211b\",realpart:\"\\u211c\",reals:\"\\u211d\",Re:\"\\u211c\",rect:\"\\u25ad\",reg:\"\\xae\",REG:\"\\xae\",ReverseElement:\"\\u220b\",ReverseEquilibrium:\"\\u21cb\",ReverseUpEquilibrium:\"\\u296f\",rfisht:\"\\u297d\",rfloor:\"\\u230b\",rfr:\"\\ud835\\udd2f\",Rfr:\"\\u211c\",rHar:\"\\u2964\",rhard:\"\\u21c1\",rharu:\"\\u21c0\",rharul:\"\\u296c\",Rho:\"\\u03a1\",rho:\"\\u03c1\",rhov:\"\\u03f1\",RightAngleBracket:\"\\u27e9\",RightArrowBar:\"\\u21e5\",rightarrow:\"\\u2192\",RightArrow:\"\\u2192\",Rightarrow:\"\\u21d2\",RightArrowLeftArrow:\"\\u21c4\",rightarrowtail:\"\\u21a3\",RightCeiling:\"\\u2309\",RightDoubleBracket:\"\\u27e7\",RightDownTeeVector:\"\\u295d\",RightDownVectorBar:\"\\u2955\",RightDownVector:\"\\u21c2\",RightFloor:\"\\u230b\",rightharpoondown:\"\\u21c1\",rightharpoonup:\"\\u21c0\",rightleftarrows:\"\\u21c4\",rightleftharpoons:\"\\u21cc\",rightrightarrows:\"\\u21c9\",rightsquigarrow:\"\\u219d\",RightTeeArrow:\"\\u21a6\",RightTee:\"\\u22a2\",RightTeeVector:\"\\u295b\",rightthreetimes:\"\\u22cc\",RightTriangleBar:\"\\u29d0\",RightTriangle:\"\\u22b3\",RightTriangleEqual:\"\\u22b5\",RightUpDownVector:\"\\u294f\",RightUpTeeVector:\"\\u295c\",RightUpVectorBar:\"\\u2954\",RightUpVector:\"\\u21be\",RightVectorBar:\"\\u2953\",RightVector:\"\\u21c0\",ring:\"\\u02da\",risingdotseq:\"\\u2253\",rlarr:\"\\u21c4\",rlhar:\"\\u21cc\",rlm:\"\\u200f\",rmoustache:\"\\u23b1\",rmoust:\"\\u23b1\",rnmid:\"\\u2aee\",roang:\"\\u27ed\",roarr:\"\\u21fe\",robrk:\"\\u27e7\",ropar:\"\\u2986\",ropf:\"\\ud835\\udd63\",Ropf:\"\\u211d\",roplus:\"\\u2a2e\",rotimes:\"\\u2a35\",RoundImplies:\"\\u2970\",rpar:\")\",rpargt:\"\\u2994\",rppolint:\"\\u2a12\",rrarr:\"\\u21c9\",Rrightarrow:\"\\u21db\",rsaquo:\"\\u203a\",rscr:\"\\ud835\\udcc7\",Rscr:\"\\u211b\",rsh:\"\\u21b1\",Rsh:\"\\u21b1\",rsqb:\"]\",rsquo:\"\\u2019\",rsquor:\"\\u2019\",rthree:\"\\u22cc\",rtimes:\"\\u22ca\",rtri:\"\\u25b9\",rtrie:\"\\u22b5\",rtrif:\"\\u25b8\",rtriltri:\"\\u29ce\",RuleDelayed:\"\\u29f4\",ruluhar:\"\\u2968\",rx:\"\\u211e\",Sacute:\"\\u015a\",sacute:\"\\u015b\",sbquo:\"\\u201a\",scap:\"\\u2ab8\",Scaron:\"\\u0160\",scaron:\"\\u0161\",Sc:\"\\u2abc\",sc:\"\\u227b\",sccue:\"\\u227d\",sce:\"\\u2ab0\",scE:\"\\u2ab4\",Scedil:\"\\u015e\",scedil:\"\\u015f\",Scirc:\"\\u015c\",scirc:\"\\u015d\",scnap:\"\\u2aba\",scnE:\"\\u2ab6\",scnsim:\"\\u22e9\",scpolint:\"\\u2a13\",scsim:\"\\u227f\",Scy:\"\\u0421\",scy:\"\\u0441\",sdotb:\"\\u22a1\",sdot:\"\\u22c5\",sdote:\"\\u2a66\",searhk:\"\\u2925\",searr:\"\\u2198\",seArr:\"\\u21d8\",searrow:\"\\u2198\",sect:\"\\xa7\",semi:\";\",seswar:\"\\u2929\",setminus:\"\\u2216\",setmn:\"\\u2216\",sext:\"\\u2736\",Sfr:\"\\ud835\\udd16\",sfr:\"\\ud835\\udd30\",sfrown:\"\\u2322\",sharp:\"\\u266f\",SHCHcy:\"\\u0429\",shchcy:\"\\u0449\",SHcy:\"\\u0428\",shcy:\"\\u0448\",ShortDownArrow:\"\\u2193\",ShortLeftArrow:\"\\u2190\",shortmid:\"\\u2223\",shortparallel:\"\\u2225\",ShortRightArrow:\"\\u2192\",ShortUpArrow:\"\\u2191\",shy:\"\\xad\",Sigma:\"\\u03a3\",sigma:\"\\u03c3\",sigmaf:\"\\u03c2\",sigmav:\"\\u03c2\",sim:\"\\u223c\",simdot:\"\\u2a6a\",sime:\"\\u2243\",simeq:\"\\u2243\",simg:\"\\u2a9e\",simgE:\"\\u2aa0\",siml:\"\\u2a9d\",simlE:\"\\u2a9f\",simne:\"\\u2246\",simplus:\"\\u2a24\",simrarr:\"\\u2972\",slarr:\"\\u2190\",SmallCircle:\"\\u2218\",smallsetminus:\"\\u2216\",smashp:\"\\u2a33\",smeparsl:\"\\u29e4\",smid:\"\\u2223\",smile:\"\\u2323\",smt:\"\\u2aaa\",smte:\"\\u2aac\",smtes:\"\\u2aac\\ufe00\",SOFTcy:\"\\u042c\",softcy:\"\\u044c\",solbar:\"\\u233f\",solb:\"\\u29c4\",sol:\"/\",Sopf:\"\\ud835\\udd4a\",sopf:\"\\ud835\\udd64\",spades:\"\\u2660\",spadesuit:\"\\u2660\",spar:\"\\u2225\",sqcap:\"\\u2293\",sqcaps:\"\\u2293\\ufe00\",sqcup:\"\\u2294\",sqcups:\"\\u2294\\ufe00\",Sqrt:\"\\u221a\",sqsub:\"\\u228f\",sqsube:\"\\u2291\",sqsubset:\"\\u228f\",sqsubseteq:\"\\u2291\",sqsup:\"\\u2290\",sqsupe:\"\\u2292\",sqsupset:\"\\u2290\",sqsupseteq:\"\\u2292\",square:\"\\u25a1\",Square:\"\\u25a1\",SquareIntersection:\"\\u2293\",SquareSubset:\"\\u228f\",SquareSubsetEqual:\"\\u2291\",SquareSuperset:\"\\u2290\",SquareSupersetEqual:\"\\u2292\",SquareUnion:\"\\u2294\",squarf:\"\\u25aa\",squ:\"\\u25a1\",squf:\"\\u25aa\",srarr:\"\\u2192\",Sscr:\"\\ud835\\udcae\",sscr:\"\\ud835\\udcc8\",ssetmn:\"\\u2216\",ssmile:\"\\u2323\",sstarf:\"\\u22c6\",Star:\"\\u22c6\",star:\"\\u2606\",starf:\"\\u2605\",straightepsilon:\"\\u03f5\",straightphi:\"\\u03d5\",strns:\"\\xaf\",sub:\"\\u2282\",Sub:\"\\u22d0\",subdot:\"\\u2abd\",subE:\"\\u2ac5\",sube:\"\\u2286\",subedot:\"\\u2ac3\",submult:\"\\u2ac1\",subnE:\"\\u2acb\",subne:\"\\u228a\",subplus:\"\\u2abf\",subrarr:\"\\u2979\",subset:\"\\u2282\",Subset:\"\\u22d0\",subseteq:\"\\u2286\",subseteqq:\"\\u2ac5\",SubsetEqual:\"\\u2286\",subsetneq:\"\\u228a\",subsetneqq:\"\\u2acb\",subsim:\"\\u2ac7\",subsub:\"\\u2ad5\",subsup:\"\\u2ad3\",succapprox:\"\\u2ab8\",succ:\"\\u227b\",succcurlyeq:\"\\u227d\",Succeeds:\"\\u227b\",SucceedsEqual:\"\\u2ab0\",SucceedsSlantEqual:\"\\u227d\",SucceedsTilde:\"\\u227f\",succeq:\"\\u2ab0\",succnapprox:\"\\u2aba\",succneqq:\"\\u2ab6\",succnsim:\"\\u22e9\",succsim:\"\\u227f\",SuchThat:\"\\u220b\",sum:\"\\u2211\",Sum:\"\\u2211\",sung:\"\\u266a\",sup1:\"\\xb9\",sup2:\"\\xb2\",sup3:\"\\xb3\",sup:\"\\u2283\",Sup:\"\\u22d1\",supdot:\"\\u2abe\",supdsub:\"\\u2ad8\",supE:\"\\u2ac6\",supe:\"\\u2287\",supedot:\"\\u2ac4\",Superset:\"\\u2283\",SupersetEqual:\"\\u2287\",suphsol:\"\\u27c9\",suphsub:\"\\u2ad7\",suplarr:\"\\u297b\",supmult:\"\\u2ac2\",supnE:\"\\u2acc\",supne:\"\\u228b\",supplus:\"\\u2ac0\",supset:\"\\u2283\",Supset:\"\\u22d1\",supseteq:\"\\u2287\",supseteqq:\"\\u2ac6\",supsetneq:\"\\u228b\",supsetneqq:\"\\u2acc\",supsim:\"\\u2ac8\",supsub:\"\\u2ad4\",supsup:\"\\u2ad6\",swarhk:\"\\u2926\",swarr:\"\\u2199\",swArr:\"\\u21d9\",swarrow:\"\\u2199\",swnwar:\"\\u292a\",szlig:\"\\xdf\",Tab:\"\\t\",target:\"\\u2316\",Tau:\"\\u03a4\",tau:\"\\u03c4\",tbrk:\"\\u23b4\",Tcaron:\"\\u0164\",tcaron:\"\\u0165\",Tcedil:\"\\u0162\",tcedil:\"\\u0163\",Tcy:\"\\u0422\",tcy:\"\\u0442\",tdot:\"\\u20db\",telrec:\"\\u2315\",Tfr:\"\\ud835\\udd17\",tfr:\"\\ud835\\udd31\",there4:\"\\u2234\",therefore:\"\\u2234\",Therefore:\"\\u2234\",Theta:\"\\u0398\",theta:\"\\u03b8\",thetasym:\"\\u03d1\",thetav:\"\\u03d1\",thickapprox:\"\\u2248\",thicksim:\"\\u223c\",ThickSpace:\"\\u205f\\u200a\",ThinSpace:\"\\u2009\",thinsp:\"\\u2009\",thkap:\"\\u2248\",thksim:\"\\u223c\",THORN:\"\\xde\",thorn:\"\\xfe\",tilde:\"\\u02dc\",Tilde:\"\\u223c\",TildeEqual:\"\\u2243\",TildeFullEqual:\"\\u2245\",TildeTilde:\"\\u2248\",timesbar:\"\\u2a31\",timesb:\"\\u22a0\",times:\"\\xd7\",timesd:\"\\u2a30\",tint:\"\\u222d\",toea:\"\\u2928\",topbot:\"\\u2336\",topcir:\"\\u2af1\",top:\"\\u22a4\",Topf:\"\\ud835\\udd4b\",topf:\"\\ud835\\udd65\",topfork:\"\\u2ada\",tosa:\"\\u2929\",tprime:\"\\u2034\",trade:\"\\u2122\",TRADE:\"\\u2122\",triangle:\"\\u25b5\",triangledown:\"\\u25bf\",triangleleft:\"\\u25c3\",trianglelefteq:\"\\u22b4\",triangleq:\"\\u225c\",triangleright:\"\\u25b9\",trianglerighteq:\"\\u22b5\",tridot:\"\\u25ec\",trie:\"\\u225c\",triminus:\"\\u2a3a\",TripleDot:\"\\u20db\",triplus:\"\\u2a39\",trisb:\"\\u29cd\",tritime:\"\\u2a3b\",trpezium:\"\\u23e2\",Tscr:\"\\ud835\\udcaf\",tscr:\"\\ud835\\udcc9\",TScy:\"\\u0426\",tscy:\"\\u0446\",TSHcy:\"\\u040b\",tshcy:\"\\u045b\",Tstrok:\"\\u0166\",tstrok:\"\\u0167\",twixt:\"\\u226c\",twoheadleftarrow:\"\\u219e\",twoheadrightarrow:\"\\u21a0\",Uacute:\"\\xda\",uacute:\"\\xfa\",uarr:\"\\u2191\",Uarr:\"\\u219f\",uArr:\"\\u21d1\",Uarrocir:\"\\u2949\",Ubrcy:\"\\u040e\",ubrcy:\"\\u045e\",Ubreve:\"\\u016c\",ubreve:\"\\u016d\",Ucirc:\"\\xdb\",ucirc:\"\\xfb\",Ucy:\"\\u0423\",ucy:\"\\u0443\",udarr:\"\\u21c5\",Udblac:\"\\u0170\",udblac:\"\\u0171\",udhar:\"\\u296e\",ufisht:\"\\u297e\",Ufr:\"\\ud835\\udd18\",ufr:\"\\ud835\\udd32\",Ugrave:\"\\xd9\",ugrave:\"\\xf9\",uHar:\"\\u2963\",uharl:\"\\u21bf\",uharr:\"\\u21be\",uhblk:\"\\u2580\",ulcorn:\"\\u231c\",ulcorner:\"\\u231c\",ulcrop:\"\\u230f\",ultri:\"\\u25f8\",Umacr:\"\\u016a\",umacr:\"\\u016b\",uml:\"\\xa8\",UnderBar:\"_\",UnderBrace:\"\\u23df\",UnderBracket:\"\\u23b5\",UnderParenthesis:\"\\u23dd\",Union:\"\\u22c3\",UnionPlus:\"\\u228e\",Uogon:\"\\u0172\",uogon:\"\\u0173\",Uopf:\"\\ud835\\udd4c\",uopf:\"\\ud835\\udd66\",UpArrowBar:\"\\u2912\",uparrow:\"\\u2191\",UpArrow:\"\\u2191\",Uparrow:\"\\u21d1\",UpArrowDownArrow:\"\\u21c5\",updownarrow:\"\\u2195\",UpDownArrow:\"\\u2195\",Updownarrow:\"\\u21d5\",UpEquilibrium:\"\\u296e\",upharpoonleft:\"\\u21bf\",upharpoonright:\"\\u21be\",uplus:\"\\u228e\",UpperLeftArrow:\"\\u2196\",UpperRightArrow:\"\\u2197\",upsi:\"\\u03c5\",Upsi:\"\\u03d2\",upsih:\"\\u03d2\",Upsilon:\"\\u03a5\",upsilon:\"\\u03c5\",UpTeeArrow:\"\\u21a5\",UpTee:\"\\u22a5\",upuparrows:\"\\u21c8\",urcorn:\"\\u231d\",urcorner:\"\\u231d\",urcrop:\"\\u230e\",Uring:\"\\u016e\",uring:\"\\u016f\",urtri:\"\\u25f9\",Uscr:\"\\ud835\\udcb0\",uscr:\"\\ud835\\udcca\",utdot:\"\\u22f0\",Utilde:\"\\u0168\",utilde:\"\\u0169\",utri:\"\\u25b5\",utrif:\"\\u25b4\",uuarr:\"\\u21c8\",Uuml:\"\\xdc\",uuml:\"\\xfc\",uwangle:\"\\u29a7\",vangrt:\"\\u299c\",varepsilon:\"\\u03f5\",varkappa:\"\\u03f0\",varnothing:\"\\u2205\",varphi:\"\\u03d5\",varpi:\"\\u03d6\",varpropto:\"\\u221d\",varr:\"\\u2195\",vArr:\"\\u21d5\",varrho:\"\\u03f1\",varsigma:\"\\u03c2\",varsubsetneq:\"\\u228a\\ufe00\",varsubsetneqq:\"\\u2acb\\ufe00\",varsupsetneq:\"\\u228b\\ufe00\",varsupsetneqq:\"\\u2acc\\ufe00\",vartheta:\"\\u03d1\",vartriangleleft:\"\\u22b2\",vartriangleright:\"\\u22b3\",vBar:\"\\u2ae8\",Vbar:\"\\u2aeb\",vBarv:\"\\u2ae9\",Vcy:\"\\u0412\",vcy:\"\\u0432\",vdash:\"\\u22a2\",vDash:\"\\u22a8\",Vdash:\"\\u22a9\",VDash:\"\\u22ab\",Vdashl:\"\\u2ae6\",veebar:\"\\u22bb\",vee:\"\\u2228\",Vee:\"\\u22c1\",veeeq:\"\\u225a\",vellip:\"\\u22ee\",verbar:\"|\",Verbar:\"\\u2016\",vert:\"|\",Vert:\"\\u2016\",VerticalBar:\"\\u2223\",VerticalLine:\"|\",VerticalSeparator:\"\\u2758\",VerticalTilde:\"\\u2240\",VeryThinSpace:\"\\u200a\",Vfr:\"\\ud835\\udd19\",vfr:\"\\ud835\\udd33\",vltri:\"\\u22b2\",vnsub:\"\\u2282\\u20d2\",vnsup:\"\\u2283\\u20d2\",Vopf:\"\\ud835\\udd4d\",vopf:\"\\ud835\\udd67\",vprop:\"\\u221d\",vrtri:\"\\u22b3\",Vscr:\"\\ud835\\udcb1\",vscr:\"\\ud835\\udccb\",vsubnE:\"\\u2acb\\ufe00\",vsubne:\"\\u228a\\ufe00\",vsupnE:\"\\u2acc\\ufe00\",vsupne:\"\\u228b\\ufe00\",Vvdash:\"\\u22aa\",vzigzag:\"\\u299a\",Wcirc:\"\\u0174\",wcirc:\"\\u0175\",wedbar:\"\\u2a5f\",wedge:\"\\u2227\",Wedge:\"\\u22c0\",wedgeq:\"\\u2259\",weierp:\"\\u2118\",Wfr:\"\\ud835\\udd1a\",wfr:\"\\ud835\\udd34\",Wopf:\"\\ud835\\udd4e\",wopf:\"\\ud835\\udd68\",wp:\"\\u2118\",wr:\"\\u2240\",wreath:\"\\u2240\",Wscr:\"\\ud835\\udcb2\",wscr:\"\\ud835\\udccc\",xcap:\"\\u22c2\",xcirc:\"\\u25ef\",xcup:\"\\u22c3\",xdtri:\"\\u25bd\",Xfr:\"\\ud835\\udd1b\",xfr:\"\\ud835\\udd35\",xharr:\"\\u27f7\",xhArr:\"\\u27fa\",Xi:\"\\u039e\",xi:\"\\u03be\",xlarr:\"\\u27f5\",xlArr:\"\\u27f8\",xmap:\"\\u27fc\",xnis:\"\\u22fb\",xodot:\"\\u2a00\",Xopf:\"\\ud835\\udd4f\",xopf:\"\\ud835\\udd69\",xoplus:\"\\u2a01\",xotime:\"\\u2a02\",xrarr:\"\\u27f6\",xrArr:\"\\u27f9\",Xscr:\"\\ud835\\udcb3\",xscr:\"\\ud835\\udccd\",xsqcup:\"\\u2a06\",xuplus:\"\\u2a04\",xutri:\"\\u25b3\",xvee:\"\\u22c1\",xwedge:\"\\u22c0\",Yacute:\"\\xdd\",yacute:\"\\xfd\",YAcy:\"\\u042f\",yacy:\"\\u044f\",Ycirc:\"\\u0176\",ycirc:\"\\u0177\",Ycy:\"\\u042b\",ycy:\"\\u044b\",yen:\"\\xa5\",Yfr:\"\\ud835\\udd1c\",yfr:\"\\ud835\\udd36\",YIcy:\"\\u0407\",yicy:\"\\u0457\",Yopf:\"\\ud835\\udd50\",yopf:\"\\ud835\\udd6a\",Yscr:\"\\ud835\\udcb4\",yscr:\"\\ud835\\udcce\",YUcy:\"\\u042e\",yucy:\"\\u044e\",yuml:\"\\xff\",Yuml:\"\\u0178\",Zacute:\"\\u0179\",zacute:\"\\u017a\",Zcaron:\"\\u017d\",zcaron:\"\\u017e\",Zcy:\"\\u0417\",zcy:\"\\u0437\",Zdot:\"\\u017b\",zdot:\"\\u017c\",zeetrf:\"\\u2128\",ZeroWidthSpace:\"\\u200b\",Zeta:\"\\u0396\",zeta:\"\\u03b6\",zfr:\"\\ud835\\udd37\",Zfr:\"\\u2128\",ZHcy:\"\\u0416\",zhcy:\"\\u0436\",zigrarr:\"\\u21dd\",zopf:\"\\ud835\\udd6b\",Zopf:\"\\u2124\",Zscr:\"\\ud835\\udcb5\",zscr:\"\\ud835\\udccf\",zwj:\"\\u200d\",zwnj:\"\\u200c\"},xe=/^#[xX]([A-Fa-f0-9]+)$/,Ne=/^#([0-9]+)$/,Te=/^([A-Za-z0-9]+)$/,Pe=function(){function t(t){this.named=t}return t.prototype.parse=function(t){if(t){var e=t.match(xe);return e?String.fromCharCode(parseInt(e[1],16)):(e=t.match(Ne))?String.fromCharCode(parseInt(e[1],10)):(e=t.match(Te))?this.named[e[1]]:void 0}},t}(),Ae=/[\\t\\n\\f ]/,Ce=/[A-Za-z]/,Le=/\\r\\n?/g;function Be(t){return Ae.test(t)}function qe(t){return Ce.test(t)}var Oe=function(){function t(t,e,r){void 0===r&&(r=\"precompile\"),this.delegate=t,this.entityParser=e,this.mode=r,this.state=\"beforeData\",this.line=-1,this.column=-1,this.input=\"\",this.index=-1,this.tagNameBuffer=\"\",this.states={beforeData:function(){var t=this.peek();if(\"<\"!==t||this.isIgnoredEndTag()){if(\"precompile\"===this.mode&&\"\\n\"===t){var e=this.tagNameBuffer.toLowerCase();\"pre\"!==e&&\"textarea\"!==e||this.consume()}this.transitionTo(\"data\"),this.delegate.beginData()}else this.transitionTo(\"tagOpen\"),this.markTagStart(),this.consume()},data:function(){var t=this.peek(),e=this.tagNameBuffer;\"<\"!==t||this.isIgnoredEndTag()?\"&\"===t&&\"script\"!==e&&\"style\"!==e?(this.consume(),this.delegate.appendToData(this.consumeCharRef()||\"&\")):(this.consume(),this.delegate.appendToData(t)):(this.delegate.finishData(),this.transitionTo(\"tagOpen\"),this.markTagStart(),this.consume())},tagOpen:function(){var t=this.consume();\"!\"===t?this.transitionTo(\"markupDeclarationOpen\"):\"/\"===t?this.transitionTo(\"endTagOpen\"):(\"@\"===t||\":\"===t||qe(t))&&(this.transitionTo(\"tagName\"),this.tagNameBuffer=\"\",this.delegate.beginStartTag(),this.appendToTagName(t))},markupDeclarationOpen:function(){\"-\"===this.consume()&&\"-\"===this.peek()&&(this.consume(),this.transitionTo(\"commentStart\"),this.delegate.beginComment())},commentStart:function(){var t=this.consume();\"-\"===t?this.transitionTo(\"commentStartDash\"):\">\"===t?(this.delegate.finishComment(),this.transitionTo(\"beforeData\")):(this.delegate.appendToCommentData(t),this.transitionTo(\"comment\"))},commentStartDash:function(){var t=this.consume();\"-\"===t?this.transitionTo(\"commentEnd\"):\">\"===t?(this.delegate.finishComment(),this.transitionTo(\"beforeData\")):(this.delegate.appendToCommentData(\"-\"),this.transitionTo(\"comment\"))},comment:function(){var t=this.consume();\"-\"===t?this.transitionTo(\"commentEndDash\"):this.delegate.appendToCommentData(t)},commentEndDash:function(){var t=this.consume();\"-\"===t?this.transitionTo(\"commentEnd\"):(this.delegate.appendToCommentData(\"-\"+t),this.transitionTo(\"comment\"))},commentEnd:function(){var t=this.consume();\">\"===t?(this.delegate.finishComment(),this.transitionTo(\"beforeData\")):(this.delegate.appendToCommentData(\"--\"+t),this.transitionTo(\"comment\"))},tagName:function(){var t=this.consume();Be(t)?this.transitionTo(\"beforeAttributeName\"):\"/\"===t?this.transitionTo(\"selfClosingStartTag\"):\">\"===t?(this.delegate.finishTag(),this.transitionTo(\"beforeData\")):this.appendToTagName(t)},endTagName:function(){var t=this.consume();Be(t)?(this.transitionTo(\"beforeAttributeName\"),this.tagNameBuffer=\"\"):\"/\"===t?(this.transitionTo(\"selfClosingStartTag\"),this.tagNameBuffer=\"\"):\">\"===t?(this.delegate.finishTag(),this.transitionTo(\"beforeData\"),this.tagNameBuffer=\"\"):this.appendToTagName(t)},beforeAttributeName:function(){var t=this.peek();Be(t)?this.consume():\"/\"===t?(this.transitionTo(\"selfClosingStartTag\"),this.consume()):\">\"===t?(this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):\"=\"===t?(this.delegate.reportSyntaxError(\"attribute name cannot start with equals sign\"),this.transitionTo(\"attributeName\"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(t)):(this.transitionTo(\"attributeName\"),this.delegate.beginAttribute())},attributeName:function(){var t=this.peek();Be(t)?(this.transitionTo(\"afterAttributeName\"),this.consume()):\"/\"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo(\"selfClosingStartTag\")):\"=\"===t?(this.transitionTo(\"beforeAttributeValue\"),this.consume()):\">\"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):'\"'===t||\"'\"===t||\"<\"===t?(this.delegate.reportSyntaxError(t+\" is not a valid character within attribute names\"),this.consume(),this.delegate.appendToAttributeName(t)):(this.consume(),this.delegate.appendToAttributeName(t))},afterAttributeName:function(){var t=this.peek();Be(t)?this.consume():\"/\"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo(\"selfClosingStartTag\")):\"=\"===t?(this.consume(),this.transitionTo(\"beforeAttributeValue\")):\">\"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.transitionTo(\"attributeName\"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(t))},beforeAttributeValue:function(){var t=this.peek();Be(t)?this.consume():'\"'===t?(this.transitionTo(\"attributeValueDoubleQuoted\"),this.delegate.beginAttributeValue(!0),this.consume()):\"'\"===t?(this.transitionTo(\"attributeValueSingleQuoted\"),this.delegate.beginAttributeValue(!0),this.consume()):\">\"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):(this.transitionTo(\"attributeValueUnquoted\"),this.delegate.beginAttributeValue(!1),this.consume(),this.delegate.appendToAttributeValue(t))},attributeValueDoubleQuoted:function(){var t=this.consume();'\"'===t?(this.delegate.finishAttributeValue(),this.transitionTo(\"afterAttributeValueQuoted\")):\"&\"===t?this.delegate.appendToAttributeValue(this.consumeCharRef()||\"&\"):this.delegate.appendToAttributeValue(t)},attributeValueSingleQuoted:function(){var t=this.consume();\"'\"===t?(this.delegate.finishAttributeValue(),this.transitionTo(\"afterAttributeValueQuoted\")):\"&\"===t?this.delegate.appendToAttributeValue(this.consumeCharRef()||\"&\"):this.delegate.appendToAttributeValue(t)},attributeValueUnquoted:function(){var t=this.peek();Be(t)?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo(\"beforeAttributeName\")):\"/\"===t?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo(\"selfClosingStartTag\")):\"&\"===t?(this.consume(),this.delegate.appendToAttributeValue(this.consumeCharRef()||\"&\")):\">\"===t?(this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):(this.consume(),this.delegate.appendToAttributeValue(t))},afterAttributeValueQuoted:function(){var t=this.peek();Be(t)?(this.consume(),this.transitionTo(\"beforeAttributeName\")):\"/\"===t?(this.consume(),this.transitionTo(\"selfClosingStartTag\")):\">\"===t?(this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):this.transitionTo(\"beforeAttributeName\")},selfClosingStartTag:function(){\">\"===this.peek()?(this.consume(),this.delegate.markTagAsSelfClosing(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):this.transitionTo(\"beforeAttributeName\")},endTagOpen:function(){var t=this.consume();(\"@\"===t||\":\"===t||qe(t))&&(this.transitionTo(\"endTagName\"),this.tagNameBuffer=\"\",this.delegate.beginEndTag(),this.appendToTagName(t))}},this.reset()}return t.prototype.reset=function(){this.transitionTo(\"beforeData\"),this.input=\"\",this.tagNameBuffer=\"\",this.index=0,this.line=1,this.column=0,this.delegate.reset()},t.prototype.transitionTo=function(t){this.state=t},t.prototype.tokenize=function(t){this.reset(),this.tokenizePart(t),this.tokenizeEOF()},t.prototype.tokenizePart=function(t){for(this.input+=function(t){return t.replace(Le,\"\\n\")}(t);this.index\"!==this.input.substring(this.index,this.index+8)||\"style\"===t&&\"\"!==this.input.substring(this.index,this.index+8)||\"script\"===t&&\"<\\/script>\"!==this.input.substring(this.index,this.index+9)},t}();function _e(t,e={entityEncoding:\"transformed\"}){if(!t)return\"\";return new re(e).print(t)}const De=function(){function t(t,e){let r=Error.call(this,t),{module:n,loc:s}=e,{line:a,column:i}=s.start,o=e.asString(),l=o?\"\\n\\n|\\n| \".concat(o.split(\"\\n\").join(\"\\n| \"),\"\\n|\\n\\n\"):\"\";this.message=\"Syntax Error: \".concat(t,\": \").concat(l,\"(error occurred in '\").concat(n,\"' @ line \").concat(a,\" : column \").concat(i,\")\"),this.stack=r.stack,this.location=e}return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}(),He={Program:i(\"body\"),Template:i(\"body\"),Block:i(\"body\"),MustacheStatement:i(\"path\",\"params\",\"hash\"),BlockStatement:i(\"path\",\"params\",\"hash\",\"program\",\"inverse\"),ElementModifierStatement:i(\"path\",\"params\",\"hash\"),PartialStatement:i(\"name\",\"params\",\"hash\"),CommentStatement:i(),MustacheCommentStatement:i(),ElementNode:i(\"attributes\",\"modifiers\",\"children\",\"comments\"),AttrNode:i(\"value\"),TextNode:i(),ConcatStatement:i(\"parts\"),SubExpression:i(\"path\",\"params\",\"hash\"),PathExpression:i(),PathHead:i(),StringLiteral:i(),BooleanLiteral:i(),NumberLiteral:i(),NullLiteral:i(),UndefinedLiteral:i(),Hash:i(\"pairs\"),HashPair:i(\"value\"),NamedBlock:i(\"attributes\",\"modifiers\",\"children\",\"comments\"),SimpleElement:i(\"attributes\",\"modifiers\",\"children\",\"comments\"),Component:i(\"head\",\"attributes\",\"modifiers\",\"children\",\"comments\")},Ve=function(){function t(t,e,r,n){let s=Error.call(this,t);this.key=n,this.message=t,this.node=e,this.parent=r,this.stack=s.stack}return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}();function Re(t,e,r){return new Ve(\"Cannot remove a node unless it is part of an array\",t,e,r)}function Ie(t,e,r){return new Ve(\"Cannot replace a node with multiple nodes unless it is part of an array\",t,e,r)}function Ue(t,e){return new Ve(\"Replacing and removing in key handlers is not yet supported.\",t,null,e)}class Me{constructor(t,e=null,r=null){this.node=t,this.parent=e,this.parentKey=r}get parentNode(){return this.parent?this.parent.node:null}parents(){return{[Symbol.iterator]:()=>new Fe(this)}}}class Fe{constructor(t){this.path=t}next(){return this.path.parent?(this.path=this.path.parent,{done:!1,value:this.path}):{done:!0,value:null}}}function ze(t){return\"function\"==typeof t?t:t.enter}function $e(t){return\"function\"==typeof t?void 0:t.exit}function je(t,e){let r,n,s,{node:a,parent:i,parentKey:o}=e,l=function(t,e){if((\"Template\"===e||\"Block\"===e)&&t.Program)return t.Program;let r=t[e];return void 0!==r?r:t.All}(t,a.type);if(void 0!==l&&(r=ze(l),n=$e(l)),void 0!==r&&(s=r(a,e)),null!=s){if(JSON.stringify(a)!==JSON.stringify(s)){if(Array.isArray(s))return We(t,s,i,o),s;return je(t,new Me(s,i,o))||s}s=void 0}if(void 0===s){let r=He[a.type];for(let n=0;n@\\[-\\^`\\{-~]/;function tr(t){let e=function(t){let e=t.attributes.length,r=[];for(let n=0;nn&&\"|\"===r[n+1].charAt(0)){let s=r.slice(n).join(\" \");if(\"|\"!==s.charAt(s.length-1)||2!==s.match(/\\|/g).length)throw new De(\"Invalid block parameters syntax, '\"+s+\"'\",t.loc);let a=[];for(let s=n+1;st.acceptNode(e))):[],s=n.length>0?n[n.length-1].loc:r.loc;return{path:r,params:n,hash:e.hash?t.Hash(e.hash):{type:\"Hash\",pairs:[],loc:t.source.spanFor(s).collapse(\"end\")}}}function ir(t,e){let{path:r,params:n,hash:s,loc:a}=e;if(rr(r)){let n=\"{{\".concat(function(t){return\"UndefinedLiteral\"===t.type?\"undefined\":JSON.stringify(t.value)}(r),\"}}\"),s=\"<\".concat(t.name,\" ... \").concat(n,\" ...\");throw new De(\"In \".concat(s,\", \").concat(n,\" is not a valid modifier\"),e.loc)}let i=sr.elementModifier({path:r,params:n,hash:s,loc:a});t.modifiers.push(i)}class or extends class extends class{constructor(t,e=new Pe(Ee),r=\"precompile\"){this.elementStack=[],this.currentAttribute=null,this.currentNode=null,this.source=t,this.lines=t.source.split(/(?:\\r\\n?|\\n)/g),this.tokenizer=new Oe(this,e,r)}offset(){let{line:t,column:e}=this.tokenizer;return this.source.offsetFor(t,e)}pos({line:t,column:e}){return this.source.offsetFor(t,e)}finish(t){return a({},t,{loc:t.loc.until(this.offset())})}get currentAttr(){return this.currentAttribute}get currentTag(){return this.currentNode}get currentStartTag(){return this.currentNode}get currentEndTag(){return this.currentNode}get currentComment(){return this.currentNode}get currentData(){return this.currentNode}acceptTemplate(t){return this[t.type](t)}acceptNode(t){return this[t.type](t)}currentElement(){return this.elementStack[this.elementStack.length-1]}sourceForNode(t,e){let r,n,s,a=t.loc.start.line-1,i=a-1,o=t.loc.start.column,l=[];for(e?(n=e.loc.end.line-1,s=e.loc.end.column):(n=t.loc.end.line-1,s=t.loc.end.column);i elements do not need end tags. You should remove it\"):void 0===e.tag?n=\"Closing tag without an open tag\"):e.tag!==t.name&&(n=\"Closing tag did not match last open tag <\").concat(e.tag,\"> (on line \").concat(e.loc.startPosition.line,\")\")),n)throw new De(n,t.loc)}assembleAttributeValue(t,e,r,n){if(r){if(e)return this.assembleConcatenatedValue(t);if(1===t.length||2===t.length&&\"TextNode\"===t[1].type&&\"/\"===t[1].chars)return t[0];throw new De(\"An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'\",n)}return t.length>0?t[0]:sr.text({chars:\"\",loc:n})}}const lr={parse:cr,builders:at,print:_e,traverse:Qe,Walker:Ye};function cr(t,e={}){var r,n;let s,i,o=e.mode||\"precompile\";\"string\"==typeof t?(s=new G(t,null===(r=e.meta)||void 0===r?void 0:r.moduleName),i=\"codemod\"===o?we(t,e.parseOptions):Se(t,e.parseOptions)):t instanceof G?(s=t,i=\"codemod\"===o?we(t.source,e.parseOptions):Se(t.source,e.parseOptions)):(s=new G(\"\",null===(n=e.meta)||void 0===n?void 0:n.moduleName),i=t);let l=void 0;\"codemod\"===o&&(l=new Pe({}));let c=M.forCharPositions(s,0,s.source.length);i.loc={source:\"(program)\",start:c.startPosition,end:c.endPosition};let h=new or(s,l,o).acceptTemplate(i);if(e&&e.plugins&&e.plugins.ast)for(let t=0,r=e.plugins.ast.length;tthis.allocate(t)));return new fr(this,t,e)}}class mr extends dr{constructor(){super(...arguments),this.symbols=[],this.upvars=[],this.size=1,this.named=n(),this.blocks=n(),hr.set(this,!1)}setHasEval(){ur(this,hr,!0)}get hasEval(){return pr(this,hr)}has(t){return!1}get(t){throw function(t=\"unreachable\"){return new Error(t)}()}getLocalsMap(){return n()}getEvalInfo(){let t=this.getLocalsMap();return Object.keys(t).map((e=>t[e]))}allocateFree(t){let e=this.upvars.indexOf(t);return-1!==e||(e=this.upvars.length,this.upvars.push(t)),e}allocateNamed(t){let e=this.named[t];return e||(e=this.named[t]=this.allocate(t)),e}allocateBlock(t){\"inverse\"===t&&(t=\"else\");let e=this.blocks[t];return e||(e=this.blocks[t]=this.allocate(\"&\".concat(t))),e}allocate(t){return this.symbols.push(t),this.size++}}hr=new WeakMap;class fr extends dr{constructor(t,e,r){super(),this.parent=t,this.symbols=e,this.slots=r}get locals(){return this.symbols}has(t){return-1!==this.symbols.indexOf(t)||this.parent.has(t)}get(t){let e=this.symbols.indexOf(t);return-1===e?this.parent.get(t):this.slots[e]}getLocalsMap(){let t=this.parent.getLocalsMap();return this.symbols.forEach((e=>t[e]=this.get(e))),t}getEvalInfo(){let t=this.getLocalsMap();return Object.keys(t).map((e=>t[e]))}setHasEval(){this.parent.setHasEval()}allocateFree(t){return this.parent.allocateFree(t)}allocateNamed(t){return this.parent.allocateNamed(t)}allocateBlock(t){return this.parent.allocateBlock(t)}allocate(t){return this.parent.allocate(t)}}var gr=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols){var s=0;for(n=Object.getOwnPropertySymbols(t);s0||t.hash.pairs.length>0}class Tr{constructor(t,e,r){this.source=t,this.options=e,this.table=r,this.builder=new br}get strict(){return this.options.strictMode||!1}loc(t){return this.source.spanFor(t)}resolutionFor(t,e){if(this.strict)return{resolution:ct};if(this.isFreeVar(t)){let r=e(t);return null===r?{resolution:\"error\",path:_r(t),head:Dr(t)}:{resolution:r}}return{resolution:ct}}isFreeVar(t){return\"PathExpression\"===t.type?\"VarHead\"===t.head.type&&!this.table.has(t.head.name):\"PathExpression\"===t.path.type&&this.isFreeVar(t.path)}hasBinding(t){return this.table.has(t)}child(t){return new Tr(this.source,this.options,this.table.child(t))}customizeComponentName(t){return this.options.customizeComponentName?this.options.customizeComponentName(t):t}}class Pr{constructor(t){this.block=t}normalize(t,e){switch(t.type){case\"NullLiteral\":case\"BooleanLiteral\":case\"NumberLiteral\":case\"StringLiteral\":case\"UndefinedLiteral\":return this.block.builder.literal(t.value,this.block.loc(t.loc));case\"PathExpression\":return this.path(t,e);case\"SubExpression\":{let e=this.block.resolutionFor(t,kr);if(\"error\"===e.resolution)throw new De(\"You attempted to invoke a path (`\".concat(e.path,\"`) but \").concat(e.head,\" was not in scope\"),t.loc);return this.block.builder.sexp(this.callParts(t,e.resolution),this.block.loc(t.loc))}}}path(t,e){let r=[],n=this.block.loc(t.head.loc);for(let e of t.tail)n=n.sliceStartChars({chars:e.length,skipStart:1}),r.push(new m({loc:n,chars:e}));return this.block.builder.path(this.ref(t.head,e),r,this.block.loc(t.loc))}callParts(t,e){let{path:r,params:n,hash:s}=t,a=this.normalize(r,e),i=n.map((t=>this.normalize(t,ut))),o=Nt.range(i,a.loc.collapse(\"end\")),l=this.block.loc(s.loc),c=Nt.range([o,l]),h=this.block.builder.positional(n.map((t=>this.normalize(t,ut))),o),u=this.block.builder.named(s.pairs.map((t=>this.namedArgument(t))),this.block.loc(s.loc));return{callee:a,args:this.block.builder.args(h,u,c)}}namedArgument(t){let e=this.block.loc(t.loc).sliceStartChars({chars:t.key.length});return this.block.builder.namedArgument(new m({chars:t.key,loc:e}),this.normalize(t.value,ut))}ref(t,e){let r=this.block.loc(t.loc);switch(t.type){case\"ThisHead\":return this.block.builder.self(r);case\"AtHead\":{let e=this.block.table.allocateNamed(t.name);return this.block.builder.at(t.name,e,r)}case\"VarHead\":if(this.block.hasBinding(t.name)){let e=this.block.table.get(t.name);return this.block.builder.localVar(t.name,e,r)}{let n=this.block.table.allocateFree(t.name);return this.block.builder.freeVar({name:t.name,context:this.block.strict?ct:e,symbol:n,loc:r})}}}}class Ar{constructor(t){this.block=t}normalize(t){switch(t.type){case\"PartialStatement\":throw new Error(\"Handlebars partial syntax ({{> ...}}) is not allowed in Glimmer\");case\"BlockStatement\":return this.BlockStatement(t);case\"ElementNode\":return new Cr(this.block).ElementNode(t);case\"MustacheStatement\":return this.MustacheStatement(t);case\"MustacheCommentStatement\":return this.MustacheCommentStatement(t);case\"CommentStatement\":{let e=this.block.loc(t.loc);return new Lt({loc:e,text:e.slice({skipStart:4,skipEnd:3}).toSlice(t.value)})}case\"TextNode\":return new Ct({loc:this.block.loc(t.loc),chars:t.chars})}}MustacheCommentStatement(t){let e,r=this.block.loc(t.loc);return e=\"{{!--\"===r.asString().slice(0,5)?r.slice({skipStart:5,skipEnd:4}):r.slice({skipStart:3,skipEnd:2}),new At({loc:r,text:e.toSlice(t.value)})}MustacheStatement(t){let{escaped:e}=t,r=this.block.loc(t.loc),n=this.expr.callParts({path:t.path,params:t.params,hash:t.hash},function(t){let e=Er(t),r=Nr(t);return e?ht.append({invoke:r}):r?ct:ht.fallback()}(t)),s=n.args.isEmpty()?n.callee:this.block.builder.sexp(n,r);return this.block.builder.append({table:this.block.table,trusting:!e,value:s},r)}BlockStatement(t){let{program:e,inverse:r}=t,n=this.block.loc(t.loc),s=this.block.resolutionFor(t,wr);if(\"error\"===s.resolution)throw new De(\"You attempted to invoke a path (`{{#\".concat(s.path,\"}}`) but \").concat(s.head,\" was not in scope\"),n);let i=this.expr.callParts(t,s.resolution);return this.block.builder.blockStatement(a({symbols:this.block.table,program:this.Block(e),inverse:r?this.Block(r):null},i),n)}Block({body:t,loc:e,blockParams:r}){let n=this.block.child(r),s=new Ar(n);return new qr(this.block.loc(e),t.map((t=>s.normalize(t))),this.block).assertBlock(n.table)}get expr(){return new Pr(this.block)}}class Cr{constructor(t){this.ctx=t}ElementNode(t){let{tag:e,selfClosing:r,comments:n}=t,s=this.ctx.loc(t.loc),[a,...i]=e.split(\".\"),o=this.classifyTag(a,i,t.loc),l=t.attributes.filter((t=>\"@\"!==t.name[0])).map((t=>this.attr(t))),c=t.attributes.filter((t=>\"@\"===t.name[0])).map((t=>this.arg(t))),h=t.modifiers.map((t=>this.modifier(t))),u=this.ctx.child(t.blockParams),p=new Ar(u),d=t.children.map((t=>p.normalize(t))),m=this.ctx.builder.element({selfClosing:r,attrs:l,componentArgs:c,modifiers:h,comments:n.map((t=>new Ar(this.ctx).MustacheCommentStatement(t)))}),f=new Or(m,s,d,this.ctx),g=this.ctx.loc(t.loc).sliceStartChars({chars:e.length,skipStart:1});if(\"ElementHead\"===o)return\":\"===e[0]?f.assertNamedBlock(g.slice({skipStart:1}).toSlice(e.slice(1)),u.table):f.assertElement(g.toSlice(e),t.blockParams.length>0);if(t.selfClosing)return m.selfClosingComponent(o,s);{let r=f.assertComponent(e,u.table,t.blockParams.length>0);return m.componentWithNamedBlocks(o,r,s)}}modifier(t){let e=this.ctx.resolutionFor(t,vr);if(\"error\"===e.resolution)throw new De(\"You attempted to invoke a path (`{{#\".concat(e.path,\"}}`) but \").concat(e.head,\" was not in scope\"),t.loc);let r=this.expr.callParts(t,e.resolution);return this.ctx.builder.modifier(r,this.ctx.loc(t.loc))}mustacheAttr(t){let e=this.ctx.builder.sexp(this.expr.callParts(t,function(t){let e=Er(t),r=Nr(t);return e?r?ht.namespaced(\"Helper\"):ht.attr():r?ct:ht.fallback()}(t)),this.ctx.loc(t.loc));return e.args.isEmpty()?e.callee:e}attrPart(t){switch(t.type){case\"MustacheStatement\":return{expr:this.mustacheAttr(t),trusting:!t.escaped};case\"TextNode\":return{expr:this.ctx.builder.literal(t.chars,this.ctx.loc(t.loc)),trusting:!0}}}attrValue(t){switch(t.type){case\"ConcatStatement\":{let e=t.parts.map((t=>this.attrPart(t).expr));return{expr:this.ctx.builder.interpolate(e,this.ctx.loc(t.loc)),trusting:!1}}default:return this.attrPart(t)}}attr(t){if(\"...attributes\"===t.name)return this.ctx.builder.splatAttr(this.ctx.table.allocateBlock(\"attrs\"),this.ctx.loc(t.loc));let e=this.ctx.loc(t.loc),r=e.sliceStartChars({chars:t.name.length}).toSlice(t.name),n=this.attrValue(t.value);return this.ctx.builder.attr({name:r,value:n.expr,trusting:n.trusting},e)}arg(t){let e=this.ctx.loc(t.loc),r=e.sliceStartChars({chars:t.name.length}).toSlice(t.name),n=this.attrValue(t.value);return this.ctx.builder.arg({name:r,value:n.expr,trusting:n.trusting},e)}classifyTag(t,e,r){let n=(s=t)[0]===s[0].toUpperCase()&&s[0]!==s[0].toLowerCase();var s;let a=this.ctx.hasBinding(t),i=\"@\"===t[0]||\"this\"===t||a||n,o=r.sliceStartChars({skipStart:1,chars:t.length}),l=e.reduce(((t,e)=>t+1+e.length),0),c=o.getEnd().move(l),h=o.withEnd(c);if(i){this.ctx.strict||!n||a||(t=this.ctx.customizeComponentName(t));let s=sr.path({head:sr.head(t,o),tail:e,loc:h}),i=this.ctx.resolutionFor(s,Sr);if(\"error\"===i.resolution)throw new De(\"You attempted to invoke a path (`<\".concat(i.path,\">`) but \").concat(i.head,\" was not in scope\"),r);return new Pr(this.ctx).normalize(s,i.resolution)}if(e.length>0)throw new De(\"You used \".concat(t,\".\").concat(e.join(\".\"),\" as a tag name, but \").concat(t,\" is not in scope\"),r);return\"ElementHead\"}get expr(){return new Pr(this.ctx)}}class Lr{constructor(t,e,r){this.loc=t,this.children=e,this.block=r,this.namedBlocks=e.filter((t=>t instanceof Gt)),this.hasSemanticContent=Boolean(e.filter((t=>{if(t instanceof Gt)return!1;switch(t.type){case\"GlimmerComment\":case\"HtmlComment\":return!1;case\"HtmlText\":return!/^\\s*$/.exec(t.chars);default:return!0}})).length),this.nonBlockChildren=e.filter((t=>!(t instanceof Gt)))}}class Br extends Lr{assertTemplate(t){if(o(this.namedBlocks))throw new De(\"Unexpected named block at the top-level of a template\",this.loc);return this.block.builder.template(t,this.nonBlockChildren,this.block.loc(this.loc))}}class qr extends Lr{assertBlock(t){if(o(this.namedBlocks))throw new De(\"Unexpected named block nested in a normal block\",this.loc);return this.block.builder.block(t,this.nonBlockChildren,this.loc)}}class Or extends Lr{constructor(t,e,r,n){super(e,r,n),this.el=t}assertNamedBlock(t,e){if(this.el.base.selfClosing)throw new De(\"<:\".concat(t,\"> is not a valid named block: named blocks cannot be self-closing\"),this.loc);if(o(this.namedBlocks))throw new De(\"Unexpected named block inside <:\".concat(t,\"> named block: named blocks cannot contain nested named blocks\"),this.loc);if((r=t.chars)[0]!==r[0].toLowerCase()||r[0]===r[0].toUpperCase())throw new De(\"<:\".concat(t,\"> is not a valid named block: `\").concat(t,\"` is uppercase, and named blocks must be lowercase\"),this.loc);var r;let n=Nt.range(this.nonBlockChildren,this.loc);return this.block.builder.namedBlock(t,this.block.builder.block(e,this.nonBlockChildren,n),this.loc)}assertElement(t,e){if(e)throw new De(\"Unexpected block params in <\".concat(t,\">: simple elements cannot have block params\"),this.loc);if(o(this.namedBlocks)){let e=this.namedBlocks.map((t=>t.name));if(1===e.length)throw new De(\"Syntax Error: Unexpected named block <:foo> inside <\".concat(t,\"> HTML element\"),this.loc);{let r=e.map((t=>\"<:\".concat(t.chars,\">\"))).join(\", \");throw new De(\"Syntax Error: Unexpected named blocks inside <\".concat(t,\"> HTML element (\").concat(r,\")\"),this.loc)}}return this.el.simple(t,this.nonBlockChildren,this.loc)}assertComponent(t,e,r){if(o(this.namedBlocks)&&this.hasSemanticContent)throw new De(\"Unexpected content inside <\".concat(t,\"> component invocation: when using named blocks, the tag cannot contain other content\"),this.loc);if(o(this.namedBlocks)){if(r)throw new De(\"Unexpected block params list on <\".concat(t,\"> component invocation: when passing named blocks, the invocation tag cannot take block params\"),this.loc);return this.namedBlocks}return[this.block.builder.namedBlock(m.synthetic(\"default\"),this.block.builder.block(e,this.nonBlockChildren,this.loc),this.loc)]}}function _r(t){return\"PathExpression\"!==t.type&&\"PathExpression\"===t.path.type?_r(t.path):new re({entityEncoding:\"raw\"}).print(t)}function Dr(t){if(\"PathExpression\"!==t.type)return\"PathExpression\"===t.path.type?Dr(t.path):new re({entityEncoding:\"raw\"}).print(t);switch(t.head.type){case\"AtHead\":case\"VarHead\":return t.head.name;case\"ThisHead\":return\"this\"}}var Hr=Object.freeze({__proto__:null,ASTv1:ot,ASTv2:Kt,AST:ot,Source:G,builders:at,normalize:function(t,e={}){let r=cr(t,e),n=a({strictMode:!1},e),s=dr.top(),i=new Tr(t,n,s),o=new Ar(i);return new Br(i.loc(r.loc),r.body.map((t=>o.normalize(t))),i).assertTemplate(s)},SymbolTable:dr,BlockSymbolTable:fr,ProgramSymbolTable:mr,GlimmerSyntaxError:De,preprocess:cr,print:_e,Walker:Ye,traverse:Qe,cannotRemoveNode:Re,cannotReplaceNode:Ie,WalkerPath:Me,SourceSlice:m,SourceSpan:M,SpanList:Nt,maybeLoc:function(t,e){return Pt(t)?Tt(t):e},loc:Tt,hasSpan:Pt,node:pt,Path:Ye});const Vr=t.default,{locStart:Rr,locEnd:Ir}=r;function Ur(){return{name:\"addBackslash\",visitor:{TextNode(t){t.chars=t.chars.replace(/\\\\/,\"\\\\\\\\\")}}}}function Mr(t){const e=new Vr(t),r=({line:t,column:r})=>e.indexForLocation({line:t-1,column:r});return()=>({name:\"addOffset\",visitor:{All(t){const{start:e,end:n}=t.loc;e.offset=r(e),n.offset=r(n)}}})}return{parsers:{glimmer:{parse:function(t){const{preprocess:r}=Hr;let n;try{n=r(t,{mode:\"codemod\",plugins:{ast:[Ur,Mr(t)]}})}catch(t){const r=function(t){const{location:e,hash:r}=t;if(e){const{start:t,end:r}=e;return\"number\"!=typeof r.line?{start:t}:e}if(r){const{loc:{last_line:t,last_column:e}}=r;return{start:{line:t,column:e+1}}}}(t);if(r)throw e(t.message,r);throw t}return n},astFormat:\"glimmer\",locStart:Rr,locEnd:Ir}}}}));\n","var path = require('path');\nvar fs = require('fs');\nvar common = require('./common');\nvar glob = require('glob');\n\nvar globPatternRecursive = path.sep + '**';\n\ncommon.register('ls', _ls, {\n cmdOptions: {\n 'R': 'recursive',\n 'A': 'all',\n 'L': 'link',\n 'a': 'all_deprecated',\n 'd': 'directory',\n 'l': 'long',\n },\n});\n\n//@\n//@ ### ls([options,] [path, ...])\n//@ ### ls([options,] path_array)\n//@\n//@ Available options:\n//@\n//@ + `-R`: recursive\n//@ + `-A`: all files (include files beginning with `.`, except for `.` and `..`)\n//@ + `-L`: follow symlinks\n//@ + `-d`: list directories themselves, not their contents\n//@ + `-l`: list objects representing each file, each with fields containing `ls\n//@ -l` output fields. See\n//@ [`fs.Stats`](https://nodejs.org/api/fs.html#fs_class_fs_stats)\n//@ for more info\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ ls('projs/*.js');\n//@ ls('-R', '/users/me', '/tmp');\n//@ ls('-R', ['/users/me', '/tmp']); // same as above\n//@ ls('-l', 'file.txt'); // { name: 'file.txt', mode: 33188, nlink: 1, ...}\n//@ ```\n//@\n//@ Returns array of files in the given `path`, or files in\n//@ the current directory if no `path` is provided.\nfunction _ls(options, paths) {\n if (options.all_deprecated) {\n // We won't support the -a option as it's hard to image why it's useful\n // (it includes '.' and '..' in addition to '.*' files)\n // For backwards compatibility we'll dump a deprecated message and proceed as before\n common.log('ls: Option -a is deprecated. Use -A instead');\n options.all = true;\n }\n\n if (!paths) {\n paths = ['.'];\n } else {\n paths = [].slice.call(arguments, 1);\n }\n\n var list = [];\n\n function pushFile(abs, relName, stat) {\n if (process.platform === 'win32') {\n relName = relName.replace(/\\\\/g, '/');\n }\n if (options.long) {\n stat = stat || (options.link ? common.statFollowLinks(abs) : common.statNoFollowLinks(abs));\n list.push(addLsAttributes(relName, stat));\n } else {\n // list.push(path.relative(rel || '.', file));\n list.push(relName);\n }\n }\n\n paths.forEach(function (p) {\n var stat;\n\n try {\n stat = options.link ? common.statFollowLinks(p) : common.statNoFollowLinks(p);\n // follow links to directories by default\n if (stat.isSymbolicLink()) {\n /* istanbul ignore next */\n // workaround for https://github.com/shelljs/shelljs/issues/795\n // codecov seems to have a bug that miscalculate this block as uncovered.\n // but according to nyc report this block does get covered.\n try {\n var _stat = common.statFollowLinks(p);\n if (_stat.isDirectory()) {\n stat = _stat;\n }\n } catch (_) {} // bad symlink, treat it like a file\n }\n } catch (e) {\n common.error('no such file or directory: ' + p, 2, { continue: true });\n return;\n }\n\n // If the stat succeeded\n if (stat.isDirectory() && !options.directory) {\n if (options.recursive) {\n // use glob, because it's simple\n glob.sync(p + globPatternRecursive, { dot: options.all, follow: options.link })\n .forEach(function (item) {\n // Glob pattern returns the directory itself and needs to be filtered out.\n if (path.relative(p, item)) {\n pushFile(item, path.relative(p, item));\n }\n });\n } else if (options.all) {\n // use fs.readdirSync, because it's fast\n fs.readdirSync(p).forEach(function (item) {\n pushFile(path.join(p, item), item);\n });\n } else {\n // use fs.readdirSync and then filter out secret files\n fs.readdirSync(p).forEach(function (item) {\n if (item[0] !== '.') {\n pushFile(path.join(p, item), item);\n }\n });\n }\n } else {\n pushFile(p, p, stat);\n }\n });\n\n // Add methods, to make this more compatible with ShellStrings\n return list;\n}\n\nfunction addLsAttributes(pathName, stats) {\n // Note: this object will contain more information than .toString() returns\n stats.name = pathName;\n stats.toString = function () {\n // Return a string resembling unix's `ls -l` format\n return [this.mode, this.nlink, this.uid, this.gid, this.size, this.mtime, this.name].join(' ');\n };\n return stats;\n}\n\nmodule.exports = _ls;\n","'use strict';\n\nconst EventEmitter = require('events');\nconst PoolResource = require('./pool-resource');\nconst SMTPConnection = require('../smtp-connection');\nconst wellKnown = require('../well-known');\nconst shared = require('../shared');\nconst packageData = require('../../package.json');\n\n/**\n * Creates a SMTP pool transport object for Nodemailer\n *\n * @constructor\n * @param {Object} options SMTP Connection options\n */\nclass SMTPPool extends EventEmitter {\n constructor(options) {\n super();\n\n options = options || {};\n if (typeof options === 'string') {\n options = {\n url: options\n };\n }\n\n let urlData;\n let service = options.service;\n\n if (typeof options.getSocket === 'function') {\n this.getSocket = options.getSocket;\n }\n\n if (options.url) {\n urlData = shared.parseConnectionUrl(options.url);\n service = service || urlData.service;\n }\n\n this.options = shared.assign(\n false, // create new object\n options, // regular options\n urlData, // url options\n service && wellKnown(service) // wellknown options\n );\n\n this.options.maxConnections = this.options.maxConnections || 5;\n this.options.maxMessages = this.options.maxMessages || 100;\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'smtp-pool'\n });\n\n // temporary object\n let connection = new SMTPConnection(this.options);\n\n this.name = 'SMTP (pool)';\n this.version = packageData.version + '[client:' + connection.version + ']';\n\n this._rateLimit = {\n counter: 0,\n timeout: null,\n waiting: [],\n checkpoint: false,\n delta: Number(this.options.rateDelta) || 1000,\n limit: Number(this.options.rateLimit) || 0\n };\n this._closed = false;\n this._queue = [];\n this._connections = [];\n this._connectionCounter = 0;\n\n this.idling = true;\n\n setImmediate(() => {\n if (this.idling) {\n this.emit('idle');\n }\n });\n }\n\n /**\n * Placeholder function for creating proxy sockets. This method immediatelly returns\n * without a socket\n *\n * @param {Object} options Connection options\n * @param {Function} callback Callback function to run with the socket keys\n */\n getSocket(options, callback) {\n // return immediatelly\n return setImmediate(() => callback(null, false));\n }\n\n /**\n * Queues an e-mail to be sent using the selected settings\n *\n * @param {Object} mail Mail object\n * @param {Function} callback Callback function\n */\n send(mail, callback) {\n if (this._closed) {\n return false;\n }\n\n this._queue.push({\n mail,\n requeueAttempts: 0,\n callback\n });\n\n if (this.idling && this._queue.length >= this.options.maxConnections) {\n this.idling = false;\n }\n\n setImmediate(() => this._processMessages());\n\n return true;\n }\n\n /**\n * Closes all connections in the pool. If there is a message being sent, the connection\n * is closed later\n */\n close() {\n let connection;\n let len = this._connections.length;\n this._closed = true;\n\n // clear rate limit timer if it exists\n clearTimeout(this._rateLimit.timeout);\n\n if (!len && !this._queue.length) {\n return;\n }\n\n // remove all available connections\n for (let i = len - 1; i >= 0; i--) {\n if (this._connections[i] && this._connections[i].available) {\n connection = this._connections[i];\n connection.close();\n this.logger.info(\n {\n tnx: 'connection',\n cid: connection.id,\n action: 'removed'\n },\n 'Connection #%s removed',\n connection.id\n );\n }\n }\n\n if (len && !this._connections.length) {\n this.logger.debug(\n {\n tnx: 'connection'\n },\n 'All connections removed'\n );\n }\n\n if (!this._queue.length) {\n return;\n }\n\n // make sure that entire queue would be cleaned\n let invokeCallbacks = () => {\n if (!this._queue.length) {\n this.logger.debug(\n {\n tnx: 'connection'\n },\n 'Pending queue entries cleared'\n );\n return;\n }\n let entry = this._queue.shift();\n if (entry && typeof entry.callback === 'function') {\n try {\n entry.callback(new Error('Connection pool was closed'));\n } catch (E) {\n this.logger.error(\n {\n err: E,\n tnx: 'callback',\n cid: connection.id\n },\n 'Callback error for #%s: %s',\n connection.id,\n E.message\n );\n }\n }\n setImmediate(invokeCallbacks);\n };\n setImmediate(invokeCallbacks);\n }\n\n /**\n * Check the queue and available connections. If there is a message to be sent and there is\n * an available connection, then use this connection to send the mail\n */\n _processMessages() {\n let connection;\n let i, len;\n\n // do nothing if already closed\n if (this._closed) {\n return;\n }\n\n // do nothing if queue is empty\n if (!this._queue.length) {\n if (!this.idling) {\n // no pending jobs\n this.idling = true;\n this.emit('idle');\n }\n return;\n }\n\n // find first available connection\n for (i = 0, len = this._connections.length; i < len; i++) {\n if (this._connections[i].available) {\n connection = this._connections[i];\n break;\n }\n }\n\n if (!connection && this._connections.length < this.options.maxConnections) {\n connection = this._createConnection();\n }\n\n if (!connection) {\n // no more free connection slots available\n this.idling = false;\n return;\n }\n\n // check if there is free space in the processing queue\n if (!this.idling && this._queue.length < this.options.maxConnections) {\n this.idling = true;\n this.emit('idle');\n }\n\n let entry = (connection.queueEntry = this._queue.shift());\n entry.messageId = (connection.queueEntry.mail.message.getHeader('message-id') || '').replace(/[<>\\s]/g, '');\n\n connection.available = false;\n\n this.logger.debug(\n {\n tnx: 'pool',\n cid: connection.id,\n messageId: entry.messageId,\n action: 'assign'\n },\n 'Assigned message <%s> to #%s (%s)',\n entry.messageId,\n connection.id,\n connection.messages + 1\n );\n\n if (this._rateLimit.limit) {\n this._rateLimit.counter++;\n if (!this._rateLimit.checkpoint) {\n this._rateLimit.checkpoint = Date.now();\n }\n }\n\n connection.send(entry.mail, (err, info) => {\n // only process callback if current handler is not changed\n if (entry === connection.queueEntry) {\n try {\n entry.callback(err, info);\n } catch (E) {\n this.logger.error(\n {\n err: E,\n tnx: 'callback',\n cid: connection.id\n },\n 'Callback error for #%s: %s',\n connection.id,\n E.message\n );\n }\n connection.queueEntry = false;\n }\n });\n }\n\n /**\n * Creates a new pool resource\n */\n _createConnection() {\n let connection = new PoolResource(this);\n\n connection.id = ++this._connectionCounter;\n\n this.logger.info(\n {\n tnx: 'pool',\n cid: connection.id,\n action: 'conection'\n },\n 'Created new pool resource #%s',\n connection.id\n );\n\n // resource comes available\n connection.on('available', () => {\n this.logger.debug(\n {\n tnx: 'connection',\n cid: connection.id,\n action: 'available'\n },\n 'Connection #%s became available',\n connection.id\n );\n\n if (this._closed) {\n // if already closed run close() that will remove this connections from connections list\n this.close();\n } else {\n // check if there's anything else to send\n this._processMessages();\n }\n });\n\n // resource is terminated with an error\n connection.once('error', err => {\n if (err.code !== 'EMAXLIMIT') {\n this.logger.error(\n {\n err,\n tnx: 'pool',\n cid: connection.id\n },\n 'Pool Error for #%s: %s',\n connection.id,\n err.message\n );\n } else {\n this.logger.debug(\n {\n tnx: 'pool',\n cid: connection.id,\n action: 'maxlimit'\n },\n 'Max messages limit exchausted for #%s',\n connection.id\n );\n }\n\n if (connection.queueEntry) {\n try {\n connection.queueEntry.callback(err);\n } catch (E) {\n this.logger.error(\n {\n err: E,\n tnx: 'callback',\n cid: connection.id\n },\n 'Callback error for #%s: %s',\n connection.id,\n E.message\n );\n }\n connection.queueEntry = false;\n }\n\n // remove the erroneus connection from connections list\n this._removeConnection(connection);\n\n this._continueProcessing();\n });\n\n connection.once('close', () => {\n this.logger.info(\n {\n tnx: 'connection',\n cid: connection.id,\n action: 'closed'\n },\n 'Connection #%s was closed',\n connection.id\n );\n\n this._removeConnection(connection);\n\n if (connection.queueEntry) {\n // If the connection closed when sending, add the message to the queue again\n // if max number of requeues is not reached yet\n // Note that we must wait a bit.. because the callback of the 'error' handler might be called\n // in the next event loop\n setTimeout(() => {\n if (connection.queueEntry) {\n if (this._shouldRequeuOnConnectionClose(connection.queueEntry)) {\n this._requeueEntryOnConnectionClose(connection);\n } else {\n this._failDeliveryOnConnectionClose(connection);\n }\n }\n this._continueProcessing();\n }, 50);\n } else {\n this._continueProcessing();\n }\n });\n\n this._connections.push(connection);\n\n return connection;\n }\n\n _shouldRequeuOnConnectionClose(queueEntry) {\n if (this.options.maxRequeues === undefined || this.options.maxRequeues < 0) {\n return true;\n }\n\n return queueEntry.requeueAttempts < this.options.maxRequeues;\n }\n\n _failDeliveryOnConnectionClose(connection) {\n if (connection.queueEntry && connection.queueEntry.callback) {\n try {\n connection.queueEntry.callback(new Error('Reached maximum number of retries after connection was closed'));\n } catch (E) {\n this.logger.error(\n {\n err: E,\n tnx: 'callback',\n messageId: connection.queueEntry.messageId,\n cid: connection.id\n },\n 'Callback error for #%s: %s',\n connection.id,\n E.message\n );\n }\n connection.queueEntry = false;\n }\n }\n\n _requeueEntryOnConnectionClose(connection) {\n connection.queueEntry.requeueAttempts = connection.queueEntry.requeueAttempts + 1;\n this.logger.debug(\n {\n tnx: 'pool',\n cid: connection.id,\n messageId: connection.queueEntry.messageId,\n action: 'requeue'\n },\n 'Re-queued message <%s> for #%s. Attempt: #%s',\n connection.queueEntry.messageId,\n connection.id,\n connection.queueEntry.requeueAttempts\n );\n this._queue.unshift(connection.queueEntry);\n connection.queueEntry = false;\n }\n\n /**\n * Continue to process message if the pool hasn't closed\n */\n _continueProcessing() {\n if (this._closed) {\n this.close();\n } else {\n setTimeout(() => this._processMessages(), 100);\n }\n }\n\n /**\n * Remove resource from pool\n *\n * @param {Object} connection The PoolResource to remove\n */\n _removeConnection(connection) {\n let index = this._connections.indexOf(connection);\n\n if (index !== -1) {\n this._connections.splice(index, 1);\n }\n }\n\n /**\n * Checks if connections have hit current rate limit and if so, queues the availability callback\n *\n * @param {Function} callback Callback function to run once rate limiter has been cleared\n */\n _checkRateLimit(callback) {\n if (!this._rateLimit.limit) {\n return callback();\n }\n\n let now = Date.now();\n\n if (this._rateLimit.counter < this._rateLimit.limit) {\n return callback();\n }\n\n this._rateLimit.waiting.push(callback);\n\n if (this._rateLimit.checkpoint <= now - this._rateLimit.delta) {\n return this._clearRateLimit();\n } else if (!this._rateLimit.timeout) {\n this._rateLimit.timeout = setTimeout(() => this._clearRateLimit(), this._rateLimit.delta - (now - this._rateLimit.checkpoint));\n this._rateLimit.checkpoint = now;\n }\n }\n\n /**\n * Clears current rate limit limitation and runs paused callback\n */\n _clearRateLimit() {\n clearTimeout(this._rateLimit.timeout);\n this._rateLimit.timeout = null;\n this._rateLimit.counter = 0;\n this._rateLimit.checkpoint = false;\n\n // resume all paused connections\n while (this._rateLimit.waiting.length) {\n let cb = this._rateLimit.waiting.shift();\n setImmediate(cb);\n }\n }\n\n /**\n * Returns true if there are free slots in the queue\n */\n isIdle() {\n return this.idling;\n }\n\n /**\n * Verifies SMTP configuration\n *\n * @param {Function} callback Callback function\n */\n verify(callback) {\n let promise;\n\n if (!callback) {\n promise = new Promise((resolve, reject) => {\n callback = shared.callbackPromise(resolve, reject);\n });\n }\n\n let auth = new PoolResource(this).auth;\n\n this.getSocket(this.options, (err, socketOptions) => {\n if (err) {\n return callback(err);\n }\n\n let options = this.options;\n if (socketOptions && socketOptions.connection) {\n this.logger.info(\n {\n tnx: 'proxy',\n remoteAddress: socketOptions.connection.remoteAddress,\n remotePort: socketOptions.connection.remotePort,\n destHost: options.host || '',\n destPort: options.port || '',\n action: 'connected'\n },\n 'Using proxied socket from %s:%s to %s:%s',\n socketOptions.connection.remoteAddress,\n socketOptions.connection.remotePort,\n options.host || '',\n options.port || ''\n );\n options = shared.assign(false, options);\n Object.keys(socketOptions).forEach(key => {\n options[key] = socketOptions[key];\n });\n }\n\n let connection = new SMTPConnection(options);\n let returned = false;\n\n connection.once('error', err => {\n if (returned) {\n return;\n }\n returned = true;\n connection.close();\n return callback(err);\n });\n\n connection.once('end', () => {\n if (returned) {\n return;\n }\n returned = true;\n return callback(new Error('Connection closed'));\n });\n\n let finalize = () => {\n if (returned) {\n return;\n }\n returned = true;\n connection.quit();\n return callback(null, true);\n };\n\n connection.connect(() => {\n if (returned) {\n return;\n }\n\n if (auth && (connection.allowsAuth || options.forceAuth)) {\n connection.login(auth, err => {\n if (returned) {\n return;\n }\n\n if (err) {\n returned = true;\n connection.close();\n return callback(err);\n }\n\n finalize();\n });\n } else {\n finalize();\n }\n });\n });\n\n return promise;\n }\n}\n\n// expose to the world\nmodule.exports = SMTPPool;\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst rimraf = require('./rimraf')\n\nmodule.exports = {\n remove: u(rimraf),\n removeSync: rimraf.sync\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\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\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 = parse_url(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 = parse_url(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parse_url(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\tif (!headers.has('Connection') && !agent) {\n\t\theaders.set('Connection', 'close');\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\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\nconst resolve_url = Url.resolve;\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\trequest.body.destroy(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\t\t\tfinalize();\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\tconst locationURL = location === null ? null : resolve_url(request.url, location);\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\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\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}\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\n","'use strict'\nconst u = require('universalify').fromPromise\nconst { makeDir: _makeDir, makeDirSync } = require('./make-dir')\nconst makeDir = u(_makeDir)\n\nmodule.exports = {\n mkdirs: makeDir,\n mkdirsSync: makeDirSync,\n // alias\n mkdirp: makeDir,\n mkdirpSync: makeDirSync,\n ensureDir: makeDir,\n ensureDirSync: makeDirSync\n}\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlShareLock = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L2643\r\n/**\r\n * Options to be used when setting `SHARE` or `UNSHARE` with {@link \"Share\".Share.setOpt | `Share#setOpt`}.\r\n *\r\n * `CURL_LOCK_DATA_SSL_SESSION` becomes `CurlShareLock.DataSslSession`\r\n *\r\n * @public\r\n */\r\nvar CurlShareLock;\r\n(function (CurlShareLock) {\r\n CurlShareLock[CurlShareLock[\"DataNone\"] = 0] = \"DataNone\";\r\n /**\r\n * DataShare is used internally to say that\r\n * the locking is just made to change the internal state of the share\r\n * itself.\r\n */\r\n CurlShareLock[CurlShareLock[\"DataShare\"] = 1] = \"DataShare\";\r\n CurlShareLock[CurlShareLock[\"DataCookie\"] = 2] = \"DataCookie\";\r\n CurlShareLock[CurlShareLock[\"DataDns\"] = 3] = \"DataDns\";\r\n CurlShareLock[CurlShareLock[\"DataSslSession\"] = 4] = \"DataSslSession\";\r\n CurlShareLock[CurlShareLock[\"DataConnect\"] = 5] = \"DataConnect\";\r\n CurlShareLock[CurlShareLock[\"DataPsl\"] = 6] = \"DataPsl\";\r\n})(CurlShareLock = exports.CurlShareLock || (exports.CurlShareLock = {}));\r\n//# sourceMappingURL=CurlShareLock.js.map","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\n/*eslint-disable max-len*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar Type = require('./type');\n\n\nfunction compileList(schema, name, result) {\n var exclude = [];\n\n schema.include.forEach(function (includedSchema) {\n result = compileList(includedSchema, name, result);\n });\n\n schema[name].forEach(function (currentType) {\n result.forEach(function (previousType, previousIndex) {\n if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) {\n exclude.push(previousIndex);\n }\n });\n\n result.push(currentType);\n });\n\n return result.filter(function (type, index) {\n return exclude.indexOf(index) === -1;\n });\n}\n\n\nfunction compileMap(/* lists... */) {\n var result = {\n scalar: {},\n sequence: {},\n mapping: {},\n fallback: {}\n }, index, length;\n\n function collectType(type) {\n result[type.kind][type.tag] = result['fallback'][type.tag] = type;\n }\n\n for (index = 0, length = arguments.length; index < length; index += 1) {\n arguments[index].forEach(collectType);\n }\n return result;\n}\n\n\nfunction Schema(definition) {\n this.include = definition.include || [];\n this.implicit = definition.implicit || [];\n this.explicit = definition.explicit || [];\n\n this.implicit.forEach(function (type) {\n if (type.loadKind && type.loadKind !== 'scalar') {\n throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.');\n }\n });\n\n this.compiledImplicit = compileList(this, 'implicit', []);\n this.compiledExplicit = compileList(this, 'explicit', []);\n this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit);\n}\n\n\nSchema.DEFAULT = null;\n\n\nSchema.create = function createSchema() {\n var schemas, types;\n\n switch (arguments.length) {\n case 1:\n schemas = Schema.DEFAULT;\n types = arguments[0];\n break;\n\n case 2:\n schemas = arguments[0];\n types = arguments[1];\n break;\n\n default:\n throw new YAMLException('Wrong number of arguments for Schema.create function');\n }\n\n schemas = common.toArray(schemas);\n types = common.toArray(types);\n\n if (!schemas.every(function (schema) { return schema instanceof Schema; })) {\n throw new YAMLException('Specified list of super schemas (or a single Schema object) contains a non-Schema object.');\n }\n\n if (!types.every(function (type) { return type instanceof Type; })) {\n throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.');\n }\n\n return new Schema({\n include: schemas,\n explicit: types\n });\n};\n\n\nmodule.exports = Schema;\n",null,"'use strict';\n\n\nfunction isNothing(subject) {\n return (typeof subject === 'undefined') || (subject === null);\n}\n\n\nfunction isObject(subject) {\n return (typeof subject === 'object') && (subject !== null);\n}\n\n\nfunction toArray(sequence) {\n if (Array.isArray(sequence)) return sequence;\n else if (isNothing(sequence)) return [];\n\n return [ sequence ];\n}\n\n\nfunction extend(target, source) {\n var index, length, key, sourceKeys;\n\n if (source) {\n sourceKeys = Object.keys(source);\n\n for (index = 0, length = sourceKeys.length; index < length; index += 1) {\n key = sourceKeys[index];\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n\nfunction repeat(string, count) {\n var result = '', cycle;\n\n for (cycle = 0; cycle < count; cycle += 1) {\n result += string;\n }\n\n return result;\n}\n\n\nfunction isNegativeZero(number) {\n return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number);\n}\n\n\nmodule.exports.isNothing = isNothing;\nmodule.exports.isObject = isObject;\nmodule.exports.toArray = toArray;\nmodule.exports.repeat = repeat;\nmodule.exports.isNegativeZero = isNegativeZero;\nmodule.exports.extend = extend;\n","var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n core = require('./windows.js')\n} else {\n core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n if (!cb) {\n if (typeof Promise !== 'function') {\n throw new TypeError('callback not provided')\n }\n\n return new Promise(function (resolve, reject) {\n isexe(path, options || {}, function (er, is) {\n if (er) {\n reject(er)\n } else {\n resolve(is)\n }\n })\n })\n }\n\n core(path, options || {}, function (er, is) {\n // ignore EACCES because that just means we aren't allowed to run it\n if (er) {\n if (er.code === 'EACCES' || options && options.ignoreErrors) {\n er = null\n is = false\n }\n }\n cb(er, is)\n })\n}\n\nfunction sync (path, options) {\n // my kingdom for a filtered catch\n try {\n return core.sync(path, options || {})\n } catch (er) {\n if (options && options.ignoreErrors || er.code === 'EACCES') {\n return false\n } else {\n throw er\n }\n }\n}\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlIpResolve = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be825453489/include/curl/curl.h#L1954\r\n/**\r\n * Object with constants for option `IPRESOLVE`\r\n *\r\n * `CURL_IPRESOLVE_V4` becomes `Curl.ipresolve.V4`\r\n *\r\n * @public\r\n */\r\nvar CurlIpResolve;\r\n(function (CurlIpResolve) {\r\n CurlIpResolve[CurlIpResolve[\"Whatever\"] = 0] = \"Whatever\";\r\n CurlIpResolve[CurlIpResolve[\"V4\"] = 1] = \"V4\";\r\n CurlIpResolve[CurlIpResolve[\"V6\"] = 2] = \"V6\";\r\n})(CurlIpResolve = exports.CurlIpResolve || (exports.CurlIpResolve = {}));\r\n//# sourceMappingURL=CurlIpResolve.js.map","module.exports = require(\"fs\");","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar endpoint = require('@octokit/endpoint');\nvar universalUserAgent = require('universal-user-agent');\nvar isPlainObject = _interopDefault(require('is-plain-object'));\nvar nodeFetch = _interopDefault(require('node-fetch'));\nvar requestError = require('@octokit/request-error');\n\nconst VERSION = \"5.4.7\";\n\nfunction getBufferResponse(response) {\n return response.arrayBuffer();\n}\n\nfunction fetchWrapper(requestOptions) {\n if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\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 }, requestOptions.request)).then(response => {\n url = response.url;\n status = response.status;\n\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n\n if (status === 204 || status === 205) {\n return;\n } // GitHub API returns 200 for HEAD requests\n\n\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n\n throw new requestError.RequestError(response.statusText, status, {\n headers,\n request: requestOptions\n });\n }\n\n if (status === 304) {\n throw new requestError.RequestError(\"Not modified\", status, {\n headers,\n request: requestOptions\n });\n }\n\n if (status >= 400) {\n return response.text().then(message => {\n const error = new requestError.RequestError(message, status, {\n headers,\n request: requestOptions\n });\n\n try {\n let responseBody = JSON.parse(error.message);\n Object.assign(error, responseBody);\n let errors = responseBody.errors; // Assumption `errors` would always be in Array format\n\n error.message = error.message + \": \" + errors.map(JSON.stringify).join(\", \");\n } catch (e) {// ignore, see octokit/rest.js#684\n }\n\n throw error;\n });\n }\n\n const contentType = response.headers.get(\"content-type\");\n\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n\n return getBufferResponse(response);\n }).then(data => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch(error => {\n if (error instanceof requestError.RequestError) {\n throw error;\n }\n\n throw new requestError.RequestError(error.message, 500, {\n headers,\n request: requestOptions\n });\n });\n}\n\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\n\nconst request = withDefaults(endpoint.endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n }\n});\n\nexports.request = request;\n//# sourceMappingURL=index.js.map\n","'use strict';\nmodule.exports = /^#!.*/;\n","var format = require('util').format;\n\nvar common = require('./common');\n\ncommon.register('echo', _echo, {\n allowGlobbing: false,\n});\n\n//@\n//@ ### echo([options,] string [, string ...])\n//@\n//@ Available options:\n//@\n//@ + `-e`: interpret backslash escapes (default)\n//@ + `-n`: remove trailing newline from output\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ echo('hello world');\n//@ var str = echo('hello world');\n//@ echo('-n', 'no newline at end');\n//@ ```\n//@\n//@ Prints `string` to stdout, and returns string with additional utility methods\n//@ like `.to()`.\nfunction _echo(opts) {\n // allow strings starting with '-', see issue #20\n var messages = [].slice.call(arguments, opts ? 0 : 1);\n var options = {};\n\n // If the first argument starts with '-', parse it as options string.\n // If parseOptions throws, it wasn't an options string.\n try {\n options = common.parseOptions(messages[0], {\n 'e': 'escapes',\n 'n': 'no_newline',\n }, {\n silent: true,\n });\n\n // Allow null to be echoed\n if (messages[0]) {\n messages.shift();\n }\n } catch (_) {\n // Clear out error if an error occurred\n common.state.error = null;\n }\n\n var output = format.apply(null, messages);\n\n // Add newline if -n is not passed.\n if (!options.no_newline) {\n output += '\\n';\n }\n\n process.stdout.write(output);\n\n return output;\n}\n\nmodule.exports = _echo;\n","'use strict';\nconst pump = require('pump');\nconst bufferStream = require('./buffer-stream');\n\nclass MaxBufferError extends Error {\n\tconstructor() {\n\t\tsuper('maxBuffer exceeded');\n\t\tthis.name = 'MaxBufferError';\n\t}\n}\n\nfunction getStream(inputStream, options) {\n\tif (!inputStream) {\n\t\treturn Promise.reject(new Error('Expected a stream'));\n\t}\n\n\toptions = Object.assign({maxBuffer: Infinity}, options);\n\n\tconst {maxBuffer} = options;\n\n\tlet stream;\n\treturn new Promise((resolve, reject) => {\n\t\tconst rejectPromise = error => {\n\t\t\tif (error) { // A null check\n\t\t\t\terror.bufferedData = stream.getBufferedValue();\n\t\t\t}\n\t\t\treject(error);\n\t\t};\n\n\t\tstream = pump(inputStream, bufferStream(options), error => {\n\t\t\tif (error) {\n\t\t\t\trejectPromise(error);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresolve();\n\t\t});\n\n\t\tstream.on('data', () => {\n\t\t\tif (stream.getBufferedLength() > maxBuffer) {\n\t\t\t\trejectPromise(new MaxBufferError());\n\t\t\t}\n\t\t});\n\t}).then(() => stream.getBufferedValue());\n}\n\nmodule.exports = getStream;\nmodule.exports.buffer = (stream, options) => getStream(stream, Object.assign({}, options, {encoding: 'buffer'}));\nmodule.exports.array = (stream, options) => getStream(stream, Object.assign({}, options, {array: true}));\nmodule.exports.MaxBufferError = MaxBufferError;\n",null,"'use strict';\n\nconst stream = require('stream');\nconst Transform = stream.Transform;\n\n/**\n * Ensures that only sequences are used for linebreaks\n *\n * @param {Object} options Stream options\n */\nclass LeWindows extends Transform {\n constructor(options) {\n super(options);\n // init Transform\n this.options = options || {};\n this.lastByte = false;\n }\n\n /**\n * Escapes dots\n */\n _transform(chunk, encoding, done) {\n let buf;\n let lastPos = 0;\n\n for (let i = 0, len = chunk.length; i < len; i++) {\n if (chunk[i] === 0x0a) {\n // \\n\n if ((i && chunk[i - 1] !== 0x0d) || (!i && this.lastByte !== 0x0d)) {\n if (i > lastPos) {\n buf = chunk.slice(lastPos, i);\n this.push(buf);\n }\n this.push(Buffer.from('\\r\\n'));\n lastPos = i + 1;\n }\n }\n }\n\n if (lastPos && lastPos < chunk.length) {\n buf = chunk.slice(lastPos);\n this.push(buf);\n } else if (!lastPos) {\n this.push(chunk);\n }\n\n this.lastByte = chunk[chunk.length - 1];\n done();\n }\n}\n\nmodule.exports = LeWindows;\n","'use strict';\nmodule.exports = function (x) {\n\tvar lf = typeof x === 'string' ? '\\n' : '\\n'.charCodeAt();\n\tvar cr = typeof x === 'string' ? '\\r' : '\\r'.charCodeAt();\n\n\tif (x[x.length - 1] === lf) {\n\t\tx = x.slice(0, x.length - 1);\n\t}\n\n\tif (x[x.length - 1] === cr) {\n\t\tx = x.slice(0, x.length - 1);\n\t}\n\n\treturn x;\n};\n","'use strict'\n\nconst u = require('universalify').fromCallback\nmodule.exports = {\n copy: u(require('./copy'))\n}\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar isStream = module.exports = function (stream) {\n\treturn stream !== null && typeof stream === 'object' && typeof stream.pipe === 'function';\n};\n\nisStream.writable = function (stream) {\n\treturn isStream(stream) && stream.writable !== false && typeof stream._write === 'function' && typeof stream._writableState === 'object';\n};\n\nisStream.readable = function (stream) {\n\treturn isStream(stream) && stream.readable !== false && typeof stream._read === 'function' && typeof stream._readableState === 'object';\n};\n\nisStream.duplex = function (stream) {\n\treturn isStream.writable(stream) && isStream.readable(stream);\n};\n\nisStream.transform = function (stream) {\n\treturn isStream.duplex(stream) && typeof stream._transform === 'function' && typeof stream._transformState === 'object';\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","/* eslint no-console: 0 */\n\n'use strict';\n\nconst urllib = require('url');\nconst util = require('util');\nconst fs = require('fs');\nconst fetch = require('../fetch');\nconst dns = require('dns');\nconst net = require('net');\n\nconst DNS_TTL = 5 * 60 * 1000;\n\nconst resolver = (family, hostname, callback) => {\n dns['resolve' + family](hostname, (err, addresses) => {\n if (err) {\n switch (err.code) {\n case dns.NODATA:\n case dns.NOTFOUND:\n case dns.NOTIMP:\n case dns.SERVFAIL:\n case dns.CONNREFUSED:\n case 'EAI_AGAIN':\n return callback(null, []);\n }\n return callback(err);\n }\n return callback(null, Array.isArray(addresses) ? addresses : [].concat(addresses || []));\n });\n};\n\nconst dnsCache = (module.exports.dnsCache = new Map());\nmodule.exports.resolveHostname = (options, callback) => {\n options = options || {};\n\n if (!options.host || net.isIP(options.host)) {\n // nothing to do here\n let value = {\n host: options.host,\n servername: options.servername || false\n };\n return callback(null, value);\n }\n\n let cached;\n\n if (dnsCache.has(options.host)) {\n cached = dnsCache.get(options.host);\n if (!cached.expires || cached.expires >= Date.now()) {\n return callback(null, {\n host: cached.value.host,\n servername: cached.value.servername,\n _cached: true\n });\n }\n }\n\n resolver(4, options.host, (err, addresses) => {\n if (err) {\n if (cached) {\n // ignore error, use expired value\n return callback(null, cached.value);\n }\n return callback(err);\n }\n if (addresses && addresses.length) {\n let value = {\n host: addresses[0] || options.host,\n servername: options.servername || options.host\n };\n dnsCache.set(options.host, {\n value,\n expires: Date.now() + DNS_TTL\n });\n return callback(null, value);\n }\n\n resolver(6, options.host, (err, addresses) => {\n if (err) {\n if (cached) {\n // ignore error, use expired value\n return callback(null, cached.value);\n }\n return callback(err);\n }\n if (addresses && addresses.length) {\n let value = {\n host: addresses[0] || options.host,\n servername: options.servername || options.host\n };\n dnsCache.set(options.host, {\n value,\n expires: Date.now() + DNS_TTL\n });\n return callback(null, value);\n }\n\n try {\n dns.lookup(options.host, {}, (err, address) => {\n if (err) {\n if (cached) {\n // ignore error, use expired value\n return callback(null, cached.value);\n }\n return callback(err);\n }\n\n if (!address && cached) {\n // nothing was found, fallback to cached value\n return callback(null, cached.value);\n }\n\n let value = {\n host: address || options.host,\n servername: options.servername || options.host\n };\n dnsCache.set(options.host, {\n value,\n expires: Date.now() + DNS_TTL\n });\n return callback(null, value);\n });\n } catch (err) {\n if (cached) {\n // ignore error, use expired value\n return callback(null, cached.value);\n }\n return callback(err);\n }\n });\n });\n};\n/**\n * Parses connection url to a structured configuration object\n *\n * @param {String} str Connection url\n * @return {Object} Configuration object\n */\nmodule.exports.parseConnectionUrl = str => {\n str = str || '';\n let options = {};\n\n [urllib.parse(str, true)].forEach(url => {\n let auth;\n\n switch (url.protocol) {\n case 'smtp:':\n options.secure = false;\n break;\n case 'smtps:':\n options.secure = true;\n break;\n case 'direct:':\n options.direct = true;\n break;\n }\n\n if (!isNaN(url.port) && Number(url.port)) {\n options.port = Number(url.port);\n }\n\n if (url.hostname) {\n options.host = url.hostname;\n }\n\n if (url.auth) {\n auth = url.auth.split(':');\n\n if (!options.auth) {\n options.auth = {};\n }\n\n options.auth.user = auth.shift();\n options.auth.pass = auth.join(':');\n }\n\n Object.keys(url.query || {}).forEach(key => {\n let obj = options;\n let lKey = key;\n let value = url.query[key];\n\n if (!isNaN(value)) {\n value = Number(value);\n }\n\n switch (value) {\n case 'true':\n value = true;\n break;\n case 'false':\n value = false;\n break;\n }\n\n // tls is nested object\n if (key.indexOf('tls.') === 0) {\n lKey = key.substr(4);\n if (!options.tls) {\n options.tls = {};\n }\n obj = options.tls;\n } else if (key.indexOf('.') >= 0) {\n // ignore nested properties besides tls\n return;\n }\n\n if (!(lKey in obj)) {\n obj[lKey] = value;\n }\n });\n });\n\n return options;\n};\n\nmodule.exports._logFunc = (logger, level, defaults, data, message, ...args) => {\n let entry = {};\n\n Object.keys(defaults || {}).forEach(key => {\n if (key !== 'level') {\n entry[key] = defaults[key];\n }\n });\n\n Object.keys(data || {}).forEach(key => {\n if (key !== 'level') {\n entry[key] = data[key];\n }\n });\n\n logger[level](entry, message, ...args);\n};\n\n/**\n * Returns a bunyan-compatible logger interface. Uses either provided logger or\n * creates a default console logger\n *\n * @param {Object} [options] Options object that might include 'logger' value\n * @return {Object} bunyan compatible logger\n */\nmodule.exports.getLogger = (options, defaults) => {\n options = options || {};\n\n let response = {};\n let levels = ['trace', 'debug', 'info', 'warn', 'error', 'fatal'];\n\n if (!options.logger) {\n // use vanity logger\n levels.forEach(level => {\n response[level] = () => false;\n });\n return response;\n }\n\n let logger = options.logger;\n\n if (options.logger === true) {\n // create console logger\n logger = createDefaultLogger(levels);\n }\n\n levels.forEach(level => {\n response[level] = (data, message, ...args) => {\n module.exports._logFunc(logger, level, defaults, data, message, ...args);\n };\n });\n\n return response;\n};\n\n/**\n * Wrapper for creating a callback that either resolves or rejects a promise\n * based on input\n *\n * @param {Function} resolve Function to run if callback is called\n * @param {Function} reject Function to run if callback ends with an error\n */\nmodule.exports.callbackPromise = (resolve, reject) =>\n function () {\n let args = Array.from(arguments);\n let err = args.shift();\n if (err) {\n reject(err);\n } else {\n resolve(...args);\n }\n };\n\n/**\n * Resolves a String or a Buffer value for content value. Useful if the value\n * is a Stream or a file or an URL. If the value is a Stream, overwrites\n * the stream object with the resolved value (you can't stream a value twice).\n *\n * This is useful when you want to create a plugin that needs a content value,\n * for example the `html` or `text` value as a String or a Buffer but not as\n * a file path or an URL.\n *\n * @param {Object} data An object or an Array you want to resolve an element for\n * @param {String|Number} key Property name or an Array index\n * @param {Function} callback Callback function with (err, value)\n */\nmodule.exports.resolveContent = (data, key, callback) => {\n let promise;\n\n if (!callback) {\n promise = new Promise((resolve, reject) => {\n callback = module.exports.callbackPromise(resolve, reject);\n });\n }\n\n let content = (data && data[key] && data[key].content) || data[key];\n let contentStream;\n let encoding = ((typeof data[key] === 'object' && data[key].encoding) || 'utf8')\n .toString()\n .toLowerCase()\n .replace(/[-_\\s]/g, '');\n\n if (!content) {\n return callback(null, content);\n }\n\n if (typeof content === 'object') {\n if (typeof content.pipe === 'function') {\n return resolveStream(content, (err, value) => {\n if (err) {\n return callback(err);\n }\n // we can't stream twice the same content, so we need\n // to replace the stream object with the streaming result\n data[key] = value;\n callback(null, value);\n });\n } else if (/^https?:\\/\\//i.test(content.path || content.href)) {\n contentStream = fetch(content.path || content.href);\n return resolveStream(contentStream, callback);\n } else if (/^data:/i.test(content.path || content.href)) {\n let parts = (content.path || content.href).match(/^data:((?:[^;]*;)*(?:[^,]*)),(.*)$/i);\n if (!parts) {\n return callback(null, Buffer.from(0));\n }\n return callback(null, /\\bbase64$/i.test(parts[1]) ? Buffer.from(parts[2], 'base64') : Buffer.from(decodeURIComponent(parts[2])));\n } else if (content.path) {\n return resolveStream(fs.createReadStream(content.path), callback);\n }\n }\n\n if (typeof data[key].content === 'string' && !['utf8', 'usascii', 'ascii'].includes(encoding)) {\n content = Buffer.from(data[key].content, encoding);\n }\n\n // default action, return as is\n setImmediate(() => callback(null, content));\n\n return promise;\n};\n\n/**\n * Copies properties from source objects to target objects\n */\nmodule.exports.assign = function (/* target, ... sources */) {\n let args = Array.from(arguments);\n let target = args.shift() || {};\n\n args.forEach(source => {\n Object.keys(source || {}).forEach(key => {\n if (['tls', 'auth'].includes(key) && source[key] && typeof source[key] === 'object') {\n // tls and auth are special keys that need to be enumerated separately\n // other objects are passed as is\n if (!target[key]) {\n // ensure that target has this key\n target[key] = {};\n }\n Object.keys(source[key]).forEach(subKey => {\n target[key][subKey] = source[key][subKey];\n });\n } else {\n target[key] = source[key];\n }\n });\n });\n return target;\n};\n\nmodule.exports.encodeXText = str => {\n // ! 0x21\n // + 0x2B\n // = 0x3D\n // ~ 0x7E\n if (!/[^\\x21-\\x2A\\x2C-\\x3C\\x3E-\\x7E]/.test(str)) {\n return str;\n }\n let buf = Buffer.from(str);\n let result = '';\n for (let i = 0, len = buf.length; i < len; i++) {\n let c = buf[i];\n if (c < 0x21 || c > 0x7e || c === 0x2b || c === 0x3d) {\n result += '+' + (c < 0x10 ? '0' : '') + c.toString(16).toUpperCase();\n } else {\n result += String.fromCharCode(c);\n }\n }\n return result;\n};\n\n/**\n * Streams a stream value into a Buffer\n *\n * @param {Object} stream Readable stream\n * @param {Function} callback Callback function with (err, value)\n */\nfunction resolveStream(stream, callback) {\n let responded = false;\n let chunks = [];\n let chunklen = 0;\n\n stream.on('error', err => {\n if (responded) {\n return;\n }\n\n responded = true;\n callback(err);\n });\n\n stream.on('readable', () => {\n let chunk;\n while ((chunk = stream.read()) !== null) {\n chunks.push(chunk);\n chunklen += chunk.length;\n }\n });\n\n stream.on('end', () => {\n if (responded) {\n return;\n }\n responded = true;\n\n let value;\n\n try {\n value = Buffer.concat(chunks, chunklen);\n } catch (E) {\n return callback(E);\n }\n callback(null, value);\n });\n}\n\n/**\n * Generates a bunyan-like logger that prints to console\n *\n * @returns {Object} Bunyan logger instance\n */\nfunction createDefaultLogger(levels) {\n let levelMaxLen = 0;\n let levelNames = new Map();\n levels.forEach(level => {\n if (level.length > levelMaxLen) {\n levelMaxLen = level.length;\n }\n });\n\n levels.forEach(level => {\n let levelName = level.toUpperCase();\n if (levelName.length < levelMaxLen) {\n levelName += ' '.repeat(levelMaxLen - levelName.length);\n }\n levelNames.set(level, levelName);\n });\n\n let print = (level, entry, message, ...args) => {\n let prefix = '';\n if (entry) {\n if (entry.tnx === 'server') {\n prefix = 'S: ';\n } else if (entry.tnx === 'client') {\n prefix = 'C: ';\n }\n\n if (entry.sid) {\n prefix = '[' + entry.sid + '] ' + prefix;\n }\n\n if (entry.cid) {\n prefix = '[#' + entry.cid + '] ' + prefix;\n }\n }\n\n message = util.format(message, ...args);\n message.split(/\\r?\\n/).forEach(line => {\n console.log('[%s] %s %s', new Date().toISOString().substr(0, 19).replace(/T/, ' '), levelNames.get(level), prefix + line);\n });\n };\n\n let logger = {};\n levels.forEach(level => {\n logger[level] = print.bind(null, level);\n });\n\n return logger;\n}\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\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.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\nfunction log(...args) {\n\t// This hackery is required for IE8/9, where\n\t// the `console.log` function doesn't have 'apply'\n\treturn typeof console === 'object' &&\n\t\tconsole.log &&\n\t\tconsole.log(...args);\n}\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\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar osName = _interopDefault(require('os-name'));\n\nfunction getUserAgent() {\n try {\n return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`;\n } catch (error) {\n if (/wmic os get Caption/.test(error.message)) {\n return \"Windows \";\n }\n\n return \"\";\n }\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlNetrc = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545/include/curl/curl.h#L2003\r\n/**\r\n * To be used with the `NETRC` option\r\n *\r\n * `CURL_NETRC_OPTIONAL` becomes `CurlNetrc.Optional`\r\n *\r\n * @public\r\n */\r\nvar CurlNetrc;\r\n(function (CurlNetrc) {\r\n /**\r\n * The .netrc will never be read.\r\n * This is the default\r\n */\r\n CurlNetrc[CurlNetrc[\"Ignored\"] = 0] = \"Ignored\";\r\n /**\r\n * A user:password in the URL will be preferred to one in the .netrc\r\n */\r\n CurlNetrc[CurlNetrc[\"Optional\"] = 1] = \"Optional\";\r\n /**\r\n * A user:password in the URL will be ignored.\r\n * Unless one is set programmatically, the .netrc\r\n * will be queried.\r\n */\r\n CurlNetrc[CurlNetrc[\"Required\"] = 2] = \"Required\";\r\n})(CurlNetrc = exports.CurlNetrc || (exports.CurlNetrc = {}));\r\n//# sourceMappingURL=CurlNetrc.js.map","'use strict';\n\nconst Transform = require('stream').Transform;\n\n/**\n * Encodes a Buffer into a Quoted-Printable encoded string\n *\n * @param {Buffer} buffer Buffer to convert\n * @returns {String} Quoted-Printable encoded string\n */\nfunction encode(buffer) {\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer, 'utf-8');\n }\n\n // usable characters that do not need encoding\n let ranges = [\n // https://tools.ietf.org/html/rfc2045#section-6.7\n [0x09], // \n [0x0a], // \n [0x0d], // \n [0x20, 0x3c], // !\"#$%&'()*+,-./0123456789:;\n [0x3e, 0x7e] // >?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}\n ];\n let result = '';\n let ord;\n\n for (let i = 0, len = buffer.length; i < len; i++) {\n ord = buffer[i];\n // if the char is in allowed range, then keep as is, unless it is a WS in the end of a line\n if (checkRanges(ord, ranges) && !((ord === 0x20 || ord === 0x09) && (i === len - 1 || buffer[i + 1] === 0x0a || buffer[i + 1] === 0x0d))) {\n result += String.fromCharCode(ord);\n continue;\n }\n result += '=' + (ord < 0x10 ? '0' : '') + ord.toString(16).toUpperCase();\n }\n\n return result;\n}\n\n/**\n * Adds soft line breaks to a Quoted-Printable string\n *\n * @param {String} str Quoted-Printable encoded string that might need line wrapping\n * @param {Number} [lineLength=76] Maximum allowed length for a line\n * @returns {String} Soft-wrapped Quoted-Printable encoded string\n */\nfunction wrap(str, lineLength) {\n str = (str || '').toString();\n lineLength = lineLength || 76;\n\n if (str.length <= lineLength) {\n return str;\n }\n\n let pos = 0;\n let len = str.length;\n let match, code, line;\n let lineMargin = Math.floor(lineLength / 3);\n let result = '';\n\n // insert soft linebreaks where needed\n while (pos < len) {\n line = str.substr(pos, lineLength);\n if ((match = line.match(/\\r\\n/))) {\n line = line.substr(0, match.index + match[0].length);\n result += line;\n pos += line.length;\n continue;\n }\n\n if (line.substr(-1) === '\\n') {\n // nothing to change here\n result += line;\n pos += line.length;\n continue;\n } else if ((match = line.substr(-lineMargin).match(/\\n.*?$/))) {\n // truncate to nearest line break\n line = line.substr(0, line.length - (match[0].length - 1));\n result += line;\n pos += line.length;\n continue;\n } else if (line.length > lineLength - lineMargin && (match = line.substr(-lineMargin).match(/[ \\t.,!?][^ \\t.,!?]*$/))) {\n // truncate to nearest space\n line = line.substr(0, line.length - (match[0].length - 1));\n } else if (line.match(/[=][\\da-f]{0,2}$/i)) {\n // push incomplete encoding sequences to the next line\n if ((match = line.match(/[=][\\da-f]{0,1}$/i))) {\n line = line.substr(0, line.length - match[0].length);\n }\n\n // ensure that utf-8 sequences are not split\n while (line.length > 3 && line.length < len - pos && !line.match(/^(?:=[\\da-f]{2}){1,4}$/i) && (match = line.match(/[=][\\da-f]{2}$/gi))) {\n code = parseInt(match[0].substr(1, 2), 16);\n if (code < 128) {\n break;\n }\n\n line = line.substr(0, line.length - 3);\n\n if (code >= 0xc0) {\n break;\n }\n }\n }\n\n if (pos + line.length < len && line.substr(-1) !== '\\n') {\n if (line.length === lineLength && line.match(/[=][\\da-f]{2}$/i)) {\n line = line.substr(0, line.length - 3);\n } else if (line.length === lineLength) {\n line = line.substr(0, line.length - 1);\n }\n pos += line.length;\n line += '=\\r\\n';\n } else {\n pos += line.length;\n }\n\n result += line;\n }\n\n return result;\n}\n\n/**\n * Helper function to check if a number is inside provided ranges\n *\n * @param {Number} nr Number to check for\n * @param {Array} ranges An Array of allowed values\n * @returns {Boolean} True if the value was found inside allowed ranges, false otherwise\n */\nfunction checkRanges(nr, ranges) {\n for (let i = ranges.length - 1; i >= 0; i--) {\n if (!ranges[i].length) {\n continue;\n }\n if (ranges[i].length === 1 && nr === ranges[i][0]) {\n return true;\n }\n if (ranges[i].length === 2 && nr >= ranges[i][0] && nr <= ranges[i][1]) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Creates a transform stream for encoding data to Quoted-Printable encoding\n *\n * @constructor\n * @param {Object} options Stream options\n * @param {Number} [options.lineLength=76] Maximum lenght for lines, set to false to disable wrapping\n */\nclass Encoder extends Transform {\n constructor(options) {\n super();\n\n // init Transform\n this.options = options || {};\n\n if (this.options.lineLength !== false) {\n this.options.lineLength = this.options.lineLength || 76;\n }\n\n this._curLine = '';\n\n this.inputBytes = 0;\n this.outputBytes = 0;\n }\n\n _transform(chunk, encoding, done) {\n let qp;\n\n if (encoding !== 'buffer') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n if (!chunk || !chunk.length) {\n return done();\n }\n\n this.inputBytes += chunk.length;\n\n if (this.options.lineLength) {\n qp = this._curLine + encode(chunk);\n qp = wrap(qp, this.options.lineLength);\n qp = qp.replace(/(^|\\n)([^\\n]*)$/, (match, lineBreak, lastLine) => {\n this._curLine = lastLine;\n return lineBreak;\n });\n\n if (qp) {\n this.outputBytes += qp.length;\n this.push(qp);\n }\n } else {\n qp = encode(chunk);\n this.outputBytes += qp.length;\n this.push(qp, 'ascii');\n }\n\n done();\n }\n\n _flush(done) {\n if (this._curLine) {\n this.outputBytes += this._curLine.length;\n this.push(this._curLine, 'ascii');\n }\n done();\n }\n}\n\n// expose to the world\nmodule.exports = {\n encode,\n wrap,\n Encoder\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlSshAuth = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L741\r\n/**\r\n * Object with constants for option `SSH_AUTH_TYPES`\r\n *\r\n * `CURLSSH_AUTH_PASSWORD` becomes `CurlSshAuth.Password`\r\n *\r\n * @public\r\n */\r\nvar CurlSshAuth;\r\n(function (CurlSshAuth) {\r\n /**\r\n * all types supported by the server\r\n */\r\n CurlSshAuth[CurlSshAuth[\"Any\"] = -1] = \"Any\";\r\n /**\r\n * none allowed, silly but complete\r\n */\r\n CurlSshAuth[CurlSshAuth[\"None\"] = 0] = \"None\";\r\n /**\r\n * public/private key files\r\n */\r\n CurlSshAuth[CurlSshAuth[\"PublicKey\"] = 1] = \"PublicKey\";\r\n /**\r\n * password\r\n */\r\n CurlSshAuth[CurlSshAuth[\"Password\"] = 2] = \"Password\";\r\n /**\r\n * host key files\r\n */\r\n CurlSshAuth[CurlSshAuth[\"Host\"] = 4] = \"Host\";\r\n /**\r\n * keyboard interactive\r\n */\r\n CurlSshAuth[CurlSshAuth[\"Keyboard\"] = 8] = \"Keyboard\";\r\n /**\r\n * agent (ssh-agent, pageant...)\r\n */\r\n CurlSshAuth[CurlSshAuth[\"Agent\"] = 16] = \"Agent\";\r\n /**\r\n * gssapi (kerberos, ...)\r\n */\r\n CurlSshAuth[CurlSshAuth[\"GssApi\"] = 32] = \"GssApi\";\r\n CurlSshAuth[CurlSshAuth[\"Default\"] = -1] = \"Default\";\r\n})(CurlSshAuth = exports.CurlSshAuth || (exports.CurlSshAuth = {}));\r\n//# sourceMappingURL=CurlSshAuth.js.map","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlNull(data) {\n if (data === null) return true;\n\n var max = data.length;\n\n return (max === 1 && data === '~') ||\n (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL'));\n}\n\nfunction constructYamlNull() {\n return null;\n}\n\nfunction isNull(object) {\n return object === null;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:null', {\n kind: 'scalar',\n resolve: resolveYamlNull,\n construct: constructYamlNull,\n predicate: isNull,\n represent: {\n canonical: function () { return '~'; },\n lowercase: function () { return 'null'; },\n uppercase: function () { return 'NULL'; },\n camelcase: function () { return 'Null'; }\n },\n defaultStyle: 'lowercase'\n});\n","/* eslint no-undefined: 0 */\n\n'use strict';\n\nconst MimeNode = require('../mime-node');\nconst mimeFuncs = require('../mime-funcs');\n\n/**\n * Creates the object for composing a MimeNode instance out from the mail options\n *\n * @constructor\n * @param {Object} mail Mail options\n */\nclass MailComposer {\n constructor(mail) {\n this.mail = mail || {};\n this.message = false;\n }\n\n /**\n * Builds MimeNode instance\n */\n compile() {\n this._alternatives = this.getAlternatives();\n this._htmlNode = this._alternatives.filter(alternative => /^text\\/html\\b/i.test(alternative.contentType)).pop();\n this._attachments = this.getAttachments(!!this._htmlNode);\n\n this._useRelated = !!(this._htmlNode && this._attachments.related.length);\n this._useAlternative = this._alternatives.length > 1;\n this._useMixed = this._attachments.attached.length > 1 || (this._alternatives.length && this._attachments.attached.length === 1);\n\n // Compose MIME tree\n if (this.mail.raw) {\n this.message = new MimeNode().setRaw(this.mail.raw);\n } else if (this._useMixed) {\n this.message = this._createMixed();\n } else if (this._useAlternative) {\n this.message = this._createAlternative();\n } else if (this._useRelated) {\n this.message = this._createRelated();\n } else {\n this.message = this._createContentNode(\n false,\n []\n .concat(this._alternatives || [])\n .concat(this._attachments.attached || [])\n .shift() || {\n contentType: 'text/plain',\n content: ''\n }\n );\n }\n\n // Add custom headers\n if (this.mail.headers) {\n this.message.addHeader(this.mail.headers);\n }\n\n // Add headers to the root node, always overrides custom headers\n ['from', 'sender', 'to', 'cc', 'bcc', 'reply-to', 'in-reply-to', 'references', 'subject', 'message-id', 'date'].forEach(header => {\n let key = header.replace(/-(\\w)/g, (o, c) => c.toUpperCase());\n if (this.mail[key]) {\n this.message.setHeader(header, this.mail[key]);\n }\n });\n\n // Sets custom envelope\n if (this.mail.envelope) {\n this.message.setEnvelope(this.mail.envelope);\n }\n\n // ensure Message-Id value\n this.message.messageId();\n\n return this.message;\n }\n\n /**\n * List all attachments. Resulting attachment objects can be used as input for MimeNode nodes\n *\n * @param {Boolean} findRelated If true separate related attachments from attached ones\n * @returns {Object} An object of arrays (`related` and `attached`)\n */\n getAttachments(findRelated) {\n let icalEvent, eventObject;\n let attachments = [].concat(this.mail.attachments || []).map((attachment, i) => {\n let data;\n let isMessageNode = /^message\\//i.test(attachment.contentType);\n\n if (/^data:/i.test(attachment.path || attachment.href)) {\n attachment = this._processDataUrl(attachment);\n }\n\n data = {\n contentType: attachment.contentType || mimeFuncs.detectMimeType(attachment.filename || attachment.path || attachment.href || 'bin'),\n contentDisposition: attachment.contentDisposition || (isMessageNode ? 'inline' : 'attachment'),\n contentTransferEncoding: 'contentTransferEncoding' in attachment ? attachment.contentTransferEncoding : 'base64'\n };\n\n if (attachment.filename) {\n data.filename = attachment.filename;\n } else if (!isMessageNode && attachment.filename !== false) {\n data.filename = (attachment.path || attachment.href || '').split('/').pop().split('?').shift() || 'attachment-' + (i + 1);\n if (data.filename.indexOf('.') < 0) {\n data.filename += '.' + mimeFuncs.detectExtension(data.contentType);\n }\n }\n\n if (/^https?:\\/\\//i.test(attachment.path)) {\n attachment.href = attachment.path;\n attachment.path = undefined;\n }\n\n if (attachment.cid) {\n data.cid = attachment.cid;\n }\n\n if (attachment.raw) {\n data.raw = attachment.raw;\n } else if (attachment.path) {\n data.content = {\n path: attachment.path\n };\n } else if (attachment.href) {\n data.content = {\n href: attachment.href,\n httpHeaders: attachment.httpHeaders\n };\n } else {\n data.content = attachment.content || '';\n }\n\n if (attachment.encoding) {\n data.encoding = attachment.encoding;\n }\n\n if (attachment.headers) {\n data.headers = attachment.headers;\n }\n\n return data;\n });\n\n if (this.mail.icalEvent) {\n if (\n typeof this.mail.icalEvent === 'object' &&\n (this.mail.icalEvent.content || this.mail.icalEvent.path || this.mail.icalEvent.href || this.mail.icalEvent.raw)\n ) {\n icalEvent = this.mail.icalEvent;\n } else {\n icalEvent = {\n content: this.mail.icalEvent\n };\n }\n\n eventObject = {};\n Object.keys(icalEvent).forEach(key => {\n eventObject[key] = icalEvent[key];\n });\n\n eventObject.contentType = 'application/ics';\n if (!eventObject.headers) {\n eventObject.headers = {};\n }\n eventObject.filename = eventObject.filename || 'invite.ics';\n eventObject.headers['Content-Disposition'] = 'attachment';\n eventObject.headers['Content-Transfer-Encoding'] = 'base64';\n }\n\n if (!findRelated) {\n return {\n attached: attachments.concat(eventObject || []),\n related: []\n };\n } else {\n return {\n attached: attachments.filter(attachment => !attachment.cid).concat(eventObject || []),\n related: attachments.filter(attachment => !!attachment.cid)\n };\n }\n }\n\n /**\n * List alternatives. Resulting objects can be used as input for MimeNode nodes\n *\n * @returns {Array} An array of alternative elements. Includes the `text` and `html` values as well\n */\n getAlternatives() {\n let alternatives = [],\n text,\n html,\n watchHtml,\n amp,\n icalEvent,\n eventObject;\n\n if (this.mail.text) {\n if (typeof this.mail.text === 'object' && (this.mail.text.content || this.mail.text.path || this.mail.text.href || this.mail.text.raw)) {\n text = this.mail.text;\n } else {\n text = {\n content: this.mail.text\n };\n }\n text.contentType = 'text/plain; charset=utf-8';\n }\n\n if (this.mail.watchHtml) {\n if (\n typeof this.mail.watchHtml === 'object' &&\n (this.mail.watchHtml.content || this.mail.watchHtml.path || this.mail.watchHtml.href || this.mail.watchHtml.raw)\n ) {\n watchHtml = this.mail.watchHtml;\n } else {\n watchHtml = {\n content: this.mail.watchHtml\n };\n }\n watchHtml.contentType = 'text/watch-html; charset=utf-8';\n }\n\n if (this.mail.amp) {\n if (typeof this.mail.amp === 'object' && (this.mail.amp.content || this.mail.amp.path || this.mail.amp.href || this.mail.amp.raw)) {\n amp = this.mail.amp;\n } else {\n amp = {\n content: this.mail.amp\n };\n }\n amp.contentType = 'text/x-amp-html; charset=utf-8';\n }\n\n // only include the calendar alternative if there are no attachments\n // otherwise you might end up in a blank screen on some clients\n if (this.mail.icalEvent && !(this.mail.attachments && this.mail.attachments.length)) {\n if (\n typeof this.mail.icalEvent === 'object' &&\n (this.mail.icalEvent.content || this.mail.icalEvent.path || this.mail.icalEvent.href || this.mail.icalEvent.raw)\n ) {\n icalEvent = this.mail.icalEvent;\n } else {\n icalEvent = {\n content: this.mail.icalEvent\n };\n }\n\n eventObject = {};\n Object.keys(icalEvent).forEach(key => {\n eventObject[key] = icalEvent[key];\n });\n\n if (eventObject.content && typeof eventObject.content === 'object') {\n // we are going to have the same attachment twice, so mark this to be\n // resolved just once\n eventObject.content._resolve = true;\n }\n\n eventObject.filename = false;\n eventObject.contentType = 'text/calendar; charset=utf-8; method=' + (eventObject.method || 'PUBLISH').toString().trim().toUpperCase();\n if (!eventObject.headers) {\n eventObject.headers = {};\n }\n }\n\n if (this.mail.html) {\n if (typeof this.mail.html === 'object' && (this.mail.html.content || this.mail.html.path || this.mail.html.href || this.mail.html.raw)) {\n html = this.mail.html;\n } else {\n html = {\n content: this.mail.html\n };\n }\n html.contentType = 'text/html; charset=utf-8';\n }\n\n []\n .concat(text || [])\n .concat(watchHtml || [])\n .concat(amp || [])\n .concat(html || [])\n .concat(eventObject || [])\n .concat(this.mail.alternatives || [])\n .forEach(alternative => {\n let data;\n\n if (/^data:/i.test(alternative.path || alternative.href)) {\n alternative = this._processDataUrl(alternative);\n }\n\n data = {\n contentType: alternative.contentType || mimeFuncs.detectMimeType(alternative.filename || alternative.path || alternative.href || 'txt'),\n contentTransferEncoding: alternative.contentTransferEncoding\n };\n\n if (alternative.filename) {\n data.filename = alternative.filename;\n }\n\n if (/^https?:\\/\\//i.test(alternative.path)) {\n alternative.href = alternative.path;\n alternative.path = undefined;\n }\n\n if (alternative.raw) {\n data.raw = alternative.raw;\n } else if (alternative.path) {\n data.content = {\n path: alternative.path\n };\n } else if (alternative.href) {\n data.content = {\n href: alternative.href\n };\n } else {\n data.content = alternative.content || '';\n }\n\n if (alternative.encoding) {\n data.encoding = alternative.encoding;\n }\n\n if (alternative.headers) {\n data.headers = alternative.headers;\n }\n\n alternatives.push(data);\n });\n\n return alternatives;\n }\n\n /**\n * Builds multipart/mixed node. It should always contain different type of elements on the same level\n * eg. text + attachments\n *\n * @param {Object} parentNode Parent for this note. If it does not exist, a root node is created\n * @returns {Object} MimeNode node element\n */\n _createMixed(parentNode) {\n let node;\n\n if (!parentNode) {\n node = new MimeNode('multipart/mixed', {\n baseBoundary: this.mail.baseBoundary,\n textEncoding: this.mail.textEncoding,\n boundaryPrefix: this.mail.boundaryPrefix,\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n } else {\n node = parentNode.createChild('multipart/mixed', {\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n }\n\n if (this._useAlternative) {\n this._createAlternative(node);\n } else if (this._useRelated) {\n this._createRelated(node);\n }\n\n []\n .concat((!this._useAlternative && this._alternatives) || [])\n .concat(this._attachments.attached || [])\n .forEach(element => {\n // if the element is a html node from related subpart then ignore it\n if (!this._useRelated || element !== this._htmlNode) {\n this._createContentNode(node, element);\n }\n });\n\n return node;\n }\n\n /**\n * Builds multipart/alternative node. It should always contain same type of elements on the same level\n * eg. text + html view of the same data\n *\n * @param {Object} parentNode Parent for this note. If it does not exist, a root node is created\n * @returns {Object} MimeNode node element\n */\n _createAlternative(parentNode) {\n let node;\n\n if (!parentNode) {\n node = new MimeNode('multipart/alternative', {\n baseBoundary: this.mail.baseBoundary,\n textEncoding: this.mail.textEncoding,\n boundaryPrefix: this.mail.boundaryPrefix,\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n } else {\n node = parentNode.createChild('multipart/alternative', {\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n }\n\n this._alternatives.forEach(alternative => {\n if (this._useRelated && this._htmlNode === alternative) {\n this._createRelated(node);\n } else {\n this._createContentNode(node, alternative);\n }\n });\n\n return node;\n }\n\n /**\n * Builds multipart/related node. It should always contain html node with related attachments\n *\n * @param {Object} parentNode Parent for this note. If it does not exist, a root node is created\n * @returns {Object} MimeNode node element\n */\n _createRelated(parentNode) {\n let node;\n\n if (!parentNode) {\n node = new MimeNode('multipart/related; type=\"text/html\"', {\n baseBoundary: this.mail.baseBoundary,\n textEncoding: this.mail.textEncoding,\n boundaryPrefix: this.mail.boundaryPrefix,\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n } else {\n node = parentNode.createChild('multipart/related; type=\"text/html\"', {\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n }\n\n this._createContentNode(node, this._htmlNode);\n\n this._attachments.related.forEach(alternative => this._createContentNode(node, alternative));\n\n return node;\n }\n\n /**\n * Creates a regular node with contents\n *\n * @param {Object} parentNode Parent for this note. If it does not exist, a root node is created\n * @param {Object} element Node data\n * @returns {Object} MimeNode node element\n */\n _createContentNode(parentNode, element) {\n element = element || {};\n element.content = element.content || '';\n\n let node;\n let encoding = (element.encoding || 'utf8')\n .toString()\n .toLowerCase()\n .replace(/[-_\\s]/g, '');\n\n if (!parentNode) {\n node = new MimeNode(element.contentType, {\n filename: element.filename,\n baseBoundary: this.mail.baseBoundary,\n textEncoding: this.mail.textEncoding,\n boundaryPrefix: this.mail.boundaryPrefix,\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n } else {\n node = parentNode.createChild(element.contentType, {\n filename: element.filename,\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n }\n\n // add custom headers\n if (element.headers) {\n node.addHeader(element.headers);\n }\n\n if (element.cid) {\n node.setHeader('Content-Id', '<' + element.cid.replace(/[<>]/g, '') + '>');\n }\n\n if (element.contentTransferEncoding) {\n node.setHeader('Content-Transfer-Encoding', element.contentTransferEncoding);\n } else if (this.mail.encoding && /^text\\//i.test(element.contentType)) {\n node.setHeader('Content-Transfer-Encoding', this.mail.encoding);\n }\n\n if (!/^text\\//i.test(element.contentType) || element.contentDisposition) {\n node.setHeader('Content-Disposition', element.contentDisposition || (element.cid ? 'inline' : 'attachment'));\n }\n\n if (typeof element.content === 'string' && !['utf8', 'usascii', 'ascii'].includes(encoding)) {\n element.content = Buffer.from(element.content, encoding);\n }\n\n // prefer pregenerated raw content\n if (element.raw) {\n node.setRaw(element.raw);\n } else {\n node.setContent(element.content);\n }\n\n return node;\n }\n\n /**\n * Parses data uri and converts it to a Buffer\n *\n * @param {Object} element Content element\n * @return {Object} Parsed element\n */\n _processDataUrl(element) {\n let parts = (element.path || element.href).match(/^data:((?:[^;]*;)*(?:[^,]*)),(.*)$/i);\n if (!parts) {\n return element;\n }\n\n element.content = /\\bbase64$/i.test(parts[1]) ? Buffer.from(parts[2], 'base64') : Buffer.from(decodeURIComponent(parts[2]));\n\n if ('path' in element) {\n element.path = false;\n }\n\n if ('href' in element) {\n element.href = false;\n }\n\n parts[1].split(';').forEach(item => {\n if (/^\\w+\\/[^/]+$/i.test(item)) {\n element.contentType = element.contentType || item.toLowerCase();\n }\n });\n\n return element;\n }\n}\n\nmodule.exports = MailComposer;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nasync function auth(token) {\n const tokenType = token.split(/\\./).length === 3 ? \"app\" : /^v\\d+\\./.test(token) ? \"installation\" : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType\n };\n}\n\n/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n\n return `token ${token}`;\n}\n\nasync 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\nconst createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n\n if (typeof token !== \"string\") {\n throw new Error(\"[@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};\n\nexports.createTokenAuth = createTokenAuth;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlPause = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254/include/curl/curl.h#L2828\r\n/**\r\n * Options to be used with {@link \"Easy\".Easy.pause | `Easy#pause`} and {@link \"Curl\".Curl.pause | `Curl#pause`}.\r\n *\r\n * `CURLPAUSE_RECV_CONT` becomes `CurlPause.RecvCont`\r\n *\r\n * @public\r\n */\r\nvar CurlPause;\r\n(function (CurlPause) {\r\n CurlPause[CurlPause[\"Recv\"] = 1] = \"Recv\";\r\n CurlPause[CurlPause[\"RecvCont\"] = 0] = \"RecvCont\";\r\n CurlPause[CurlPause[\"Send\"] = 4] = \"Send\";\r\n CurlPause[CurlPause[\"SendCont\"] = 0] = \"SendCont\";\r\n CurlPause[CurlPause[\"All\"] = 5] = \"All\";\r\n CurlPause[CurlPause[\"Cont\"] = 0] = \"Cont\";\r\n})(CurlPause = exports.CurlPause || (exports.CurlPause = {}));\r\n//# sourceMappingURL=CurlPause.js.map","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction checkPathExt (path, options) {\n var pathext = options.pathExt !== undefined ?\n options.pathExt : process.env.PATHEXT\n\n if (!pathext) {\n return true\n }\n\n pathext = pathext.split(';')\n if (pathext.indexOf('') !== -1) {\n return true\n }\n for (var i = 0; i < pathext.length; i++) {\n var p = pathext[i].toLowerCase()\n if (p && path.substr(-p.length).toLowerCase() === p) {\n return true\n }\n }\n return false\n}\n\nfunction checkStat (stat, path, options) {\n if (!stat.isSymbolicLink() && !stat.isFile()) {\n return false\n }\n return checkPathExt(path, options)\n}\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, path, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), path, options)\n}\n","\"use strict\";\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlFeature = void 0;\r\n/**\r\n * Flags to be used with {@link \"Curl\".Curl.enable | `Curl#enable`} and {@link \"Curl\".Curl.disable | `Curl#disable`}\r\n * @public\r\n */\r\nvar CurlFeature;\r\n(function (CurlFeature) {\r\n /**\r\n * Data received is passed as a Buffer to the end event.\r\n */\r\n CurlFeature[CurlFeature[\"NoDataParsing\"] = 1] = \"NoDataParsing\";\r\n /**\r\n * Header received is not parsed, it's passed as a Buffer to the end event.\r\n */\r\n CurlFeature[CurlFeature[\"NoHeaderParsing\"] = 2] = \"NoHeaderParsing\";\r\n /**\r\n * Same than `NoDataParsing | NoHeaderParsing`\r\n */\r\n CurlFeature[CurlFeature[\"Raw\"] = 3] = \"Raw\";\r\n /**\r\n * Data received is not stored inside this handle, implies `NoDataParsing`.\r\n */\r\n CurlFeature[CurlFeature[\"NoDataStorage\"] = 4] = \"NoDataStorage\";\r\n /**\r\n * Header received is not stored inside this handle, implies `NoHeaderParsing`.\r\n */\r\n CurlFeature[CurlFeature[\"NoHeaderStorage\"] = 8] = \"NoHeaderStorage\";\r\n /**\r\n * Same than `NoDataStorage | NoHeaderStorage`, implies `Raw`.\r\n */\r\n CurlFeature[CurlFeature[\"NoStorage\"] = 12] = \"NoStorage\";\r\n /**\r\n * This will change the behavior of the internal `WRITEFUNCTION` to push data into a stream instead of\r\n * buffering all the data into multiple `Buffer` chunks.\r\n *\r\n * As soon as the stream is available, it will be passed as the first argument for the `stream` event.\r\n *\r\n * Example usage:\r\n *\r\n * ```typescript\r\n * const curl = new Curl()\r\n * curl.setOpt('URL', 'https://some-domain/upload')\r\n *\r\n * curl.setStreamProgressCallback(() => {\r\n * // this will use the default progress callback from libcurl\r\n * return CurlProgressFunc.Continue\r\n * })\r\n *\r\n * curl.on('end', (statusCode, data) => {\r\n * console.log('\\n'.repeat(5))\r\n * console.log(\r\n * `curl - end - status: ${statusCode} - data length: ${data.length}`,\r\n * )\r\n * curl.close()\r\n * })\r\n * curl.on('error', (error, errorCode) => {\r\n * console.log('\\n'.repeat(5))\r\n * console.error('curl - error: ', error, errorCode)\r\n * curl.close()\r\n * })\r\n * curl.on('stream', async (stream, _statusCode, _headers) => {\r\n * const writableStream = fs.createWriteStream('./test.out')\r\n * stream.pipe(writableStream)\r\n * })\r\n * curl.perform()\r\n * ```\r\n *\r\n * Using this implies `NoDataStorage`.\r\n *\r\n * To control the `highWaterMark` option of the response stream, see {@link \"Curl\".Curl.setStreamResponseHighWaterMark | `Curl#setStreamResponseHighWaterMark`}\r\n *\r\n * @remarks\r\n *\r\n * Make sure your libcurl version is greater than or equal 7.69.1.\r\n * Versions older than that one are not reliable for streams usage.\r\n */\r\n CurlFeature[CurlFeature[\"StreamResponse\"] = 16] = \"StreamResponse\";\r\n})(CurlFeature = exports.CurlFeature || (exports.CurlFeature = {}));\r\n//# sourceMappingURL=CurlFeature.js.map","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\nmodule.exports = opts => {\n\topts = opts || {};\n\n\tconst env = opts.env || process.env;\n\tconst platform = opts.platform || process.platform;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(env).find(x => x.toUpperCase() === 'PATH') || 'Path';\n};\n","// JS-YAML's default schema for `safeLoad` function.\n// It is not described in the YAML specification.\n//\n// This schema is based on standard YAML's Core schema and includes most of\n// extra types described at YAML tag repository. (http://yaml.org/type/)\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./core')\n ],\n implicit: [\n require('../type/timestamp'),\n require('../type/merge')\n ],\n explicit: [\n require('../type/binary'),\n require('../type/omap'),\n require('../type/pairs'),\n require('../type/set')\n ]\n});\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlInfoDebug = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898/include/curl/curl.h#L452\r\n/**\r\n * When the option `DEBUGFUNCTION` is set,\r\n * the first argument to the callback will be one of these.\r\n *\r\n * `CURLINFO_SSL_DATA_IN` becomes `CurlInfoDebug.SslDataOut`\r\n *\r\n * @public\r\n */\r\nvar CurlInfoDebug;\r\n(function (CurlInfoDebug) {\r\n CurlInfoDebug[CurlInfoDebug[\"Text\"] = 0] = \"Text\";\r\n CurlInfoDebug[CurlInfoDebug[\"HeaderIn\"] = 1] = \"HeaderIn\";\r\n CurlInfoDebug[CurlInfoDebug[\"HeaderOut\"] = 2] = \"HeaderOut\";\r\n CurlInfoDebug[CurlInfoDebug[\"DataIn\"] = 3] = \"DataIn\";\r\n CurlInfoDebug[CurlInfoDebug[\"DataOut\"] = 4] = \"DataOut\";\r\n CurlInfoDebug[CurlInfoDebug[\"SslDataIn\"] = 5] = \"SslDataIn\";\r\n CurlInfoDebug[CurlInfoDebug[\"SslDataOut\"] = 6] = \"SslDataOut\";\r\n})(CurlInfoDebug = exports.CurlInfoDebug || (exports.CurlInfoDebug = {}));\r\n//# sourceMappingURL=CurlInfoDebug.js.map","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('cat', _cat, {\n canReceivePipe: true,\n cmdOptions: {\n 'n': 'number',\n },\n});\n\n//@\n//@ ### cat([options,] file [, file ...])\n//@ ### cat([options,] file_array)\n//@\n//@ Available options:\n//@\n//@ + `-n`: number all output lines\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ var str = cat('file*.txt');\n//@ var str = cat('file1', 'file2');\n//@ var str = cat(['file1', 'file2']); // same as above\n//@ ```\n//@\n//@ Returns a string containing the given file, or a concatenated string\n//@ containing the files if more than one file is given (a new line character is\n//@ introduced between each file).\nfunction _cat(options, files) {\n var cat = common.readFromPipe();\n\n if (!files && !cat) common.error('no paths given');\n\n files = [].slice.call(arguments, 1);\n\n files.forEach(function (file) {\n if (!fs.existsSync(file)) {\n common.error('no such file or directory: ' + file);\n } else if (common.statFollowLinks(file).isDirectory()) {\n common.error(file + ': Is a directory');\n }\n\n cat += fs.readFileSync(file, 'utf8');\n });\n\n if (options.number) {\n cat = addNumbers(cat);\n }\n\n return cat;\n}\nmodule.exports = _cat;\n\nfunction addNumbers(cat) {\n var lines = cat.split('\\n');\n var lastLine = lines.pop();\n\n lines = lines.map(function (line, i) {\n return numberedLine(i + 1, line);\n });\n\n if (lastLine.length) {\n lastLine = numberedLine(lines.length + 1, lastLine);\n }\n lines.push(lastLine);\n\n return lines.join('\\n');\n}\n\nfunction numberedLine(n, line) {\n // GNU cat use six pad start number + tab. See http://lingrok.org/xref/coreutils/src/cat.c#57\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\n var number = (' ' + n).slice(-6) + '\\t';\n return number + line;\n}\n","module.exports = require(\"url\");","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","'use strict';\n\nvar Type = require('../type');\n\nvar YAML_DATE_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9])' + // [2] month\n '-([0-9][0-9])$'); // [3] day\n\nvar YAML_TIMESTAMP_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9]?)' + // [2] month\n '-([0-9][0-9]?)' + // [3] day\n '(?:[Tt]|[ \\\\t]+)' + // ...\n '([0-9][0-9]?)' + // [4] hour\n ':([0-9][0-9])' + // [5] minute\n ':([0-9][0-9])' + // [6] second\n '(?:\\\\.([0-9]*))?' + // [7] fraction\n '(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour\n '(?::([0-9][0-9]))?))?$'); // [11] tz_minute\n\nfunction resolveYamlTimestamp(data) {\n if (data === null) return false;\n if (YAML_DATE_REGEXP.exec(data) !== null) return true;\n if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;\n return false;\n}\n\nfunction constructYamlTimestamp(data) {\n var match, year, month, day, hour, minute, second, fraction = 0,\n delta = null, tz_hour, tz_minute, date;\n\n match = YAML_DATE_REGEXP.exec(data);\n if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);\n\n if (match === null) throw new Error('Date resolve error');\n\n // match: [1] year [2] month [3] day\n\n year = +(match[1]);\n month = +(match[2]) - 1; // JS month starts with 0\n day = +(match[3]);\n\n if (!match[4]) { // no hour\n return new Date(Date.UTC(year, month, day));\n }\n\n // match: [4] hour [5] minute [6] second [7] fraction\n\n hour = +(match[4]);\n minute = +(match[5]);\n second = +(match[6]);\n\n if (match[7]) {\n fraction = match[7].slice(0, 3);\n while (fraction.length < 3) { // milli-seconds\n fraction += '0';\n }\n fraction = +fraction;\n }\n\n // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute\n\n if (match[9]) {\n tz_hour = +(match[10]);\n tz_minute = +(match[11] || 0);\n delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds\n if (match[9] === '-') delta = -delta;\n }\n\n date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));\n\n if (delta) date.setTime(date.getTime() - delta);\n\n return date;\n}\n\nfunction representYamlTimestamp(object /*, style*/) {\n return object.toISOString();\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:timestamp', {\n kind: 'scalar',\n resolve: resolveYamlTimestamp,\n construct: constructYamlTimestamp,\n instanceOf: Date,\n represent: representYamlTimestamp\n});\n","'use strict';\n\nvar Type = require('../type');\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\nvar _toString = Object.prototype.toString;\n\nfunction resolveYamlOmap(data) {\n if (data === null) return true;\n\n var objectKeys = [], index, length, pair, pairKey, pairHasKey,\n object = data;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n pairHasKey = false;\n\n if (_toString.call(pair) !== '[object Object]') return false;\n\n for (pairKey in pair) {\n if (_hasOwnProperty.call(pair, pairKey)) {\n if (!pairHasKey) pairHasKey = true;\n else return false;\n }\n }\n\n if (!pairHasKey) return false;\n\n if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);\n else return false;\n }\n\n return true;\n}\n\nfunction constructYamlOmap(data) {\n return data !== null ? data : [];\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:omap', {\n kind: 'sequence',\n resolve: resolveYamlOmap,\n construct: constructYamlOmap\n});\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst _mkdirs = require('../mkdirs')\nconst mkdirs = _mkdirs.mkdirs\nconst mkdirsSync = _mkdirs.mkdirsSync\n\nconst _symlinkPaths = require('./symlink-paths')\nconst symlinkPaths = _symlinkPaths.symlinkPaths\nconst symlinkPathsSync = _symlinkPaths.symlinkPathsSync\n\nconst _symlinkType = require('./symlink-type')\nconst symlinkType = _symlinkType.symlinkType\nconst symlinkTypeSync = _symlinkType.symlinkTypeSync\n\nconst pathExists = require('../path-exists').pathExists\n\nfunction createSymlink (srcpath, dstpath, type, callback) {\n callback = (typeof type === 'function') ? type : callback\n type = (typeof type === 'function') ? false : type\n\n pathExists(dstpath, (err, destinationExists) => {\n if (err) return callback(err)\n if (destinationExists) return callback(null)\n symlinkPaths(srcpath, dstpath, (err, relative) => {\n if (err) return callback(err)\n srcpath = relative.toDst\n symlinkType(relative.toCwd, type, (err, type) => {\n if (err) return callback(err)\n const dir = path.dirname(dstpath)\n pathExists(dir, (err, dirExists) => {\n if (err) return callback(err)\n if (dirExists) return fs.symlink(srcpath, dstpath, type, callback)\n mkdirs(dir, err => {\n if (err) return callback(err)\n fs.symlink(srcpath, dstpath, type, callback)\n })\n })\n })\n })\n })\n}\n\nfunction createSymlinkSync (srcpath, dstpath, type) {\n const destinationExists = fs.existsSync(dstpath)\n if (destinationExists) return undefined\n\n const relative = symlinkPathsSync(srcpath, dstpath)\n srcpath = relative.toDst\n type = symlinkTypeSync(relative.toCwd, type)\n const dir = path.dirname(dstpath)\n const exists = fs.existsSync(dir)\n if (exists) return fs.symlinkSync(srcpath, dstpath, type)\n mkdirsSync(dir)\n return fs.symlinkSync(srcpath, dstpath, type)\n}\n\nmodule.exports = {\n createSymlink: u(createSymlink),\n createSymlinkSync\n}\n","'use strict';\n\nconst EventEmitter = require('events');\nconst SMTPConnection = require('../smtp-connection');\nconst wellKnown = require('../well-known');\nconst shared = require('../shared');\nconst XOAuth2 = require('../xoauth2');\nconst packageData = require('../../package.json');\n\n/**\n * Creates a SMTP transport object for Nodemailer\n *\n * @constructor\n * @param {Object} options Connection options\n */\nclass SMTPTransport extends EventEmitter {\n constructor(options) {\n super();\n\n options = options || {};\n if (typeof options === 'string') {\n options = {\n url: options\n };\n }\n\n let urlData;\n let service = options.service;\n\n if (typeof options.getSocket === 'function') {\n this.getSocket = options.getSocket;\n }\n\n if (options.url) {\n urlData = shared.parseConnectionUrl(options.url);\n service = service || urlData.service;\n }\n\n this.options = shared.assign(\n false, // create new object\n options, // regular options\n urlData, // url options\n service && wellKnown(service) // wellknown options\n );\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'smtp-transport'\n });\n\n // temporary object\n let connection = new SMTPConnection(this.options);\n\n this.name = 'SMTP';\n this.version = packageData.version + '[client:' + connection.version + ']';\n\n if (this.options.auth) {\n this.auth = this.getAuth({});\n }\n }\n\n /**\n * Placeholder function for creating proxy sockets. This method immediatelly returns\n * without a socket\n *\n * @param {Object} options Connection options\n * @param {Function} callback Callback function to run with the socket keys\n */\n getSocket(options, callback) {\n // return immediatelly\n return setImmediate(() => callback(null, false));\n }\n\n getAuth(authOpts) {\n if (!authOpts) {\n return this.auth;\n }\n\n let hasAuth = false;\n let authData = {};\n\n if (this.options.auth && typeof this.options.auth === 'object') {\n Object.keys(this.options.auth).forEach(key => {\n hasAuth = true;\n authData[key] = this.options.auth[key];\n });\n }\n\n if (authOpts && typeof authOpts === 'object') {\n Object.keys(authOpts).forEach(key => {\n hasAuth = true;\n authData[key] = authOpts[key];\n });\n }\n\n if (!hasAuth) {\n return false;\n }\n\n switch ((authData.type || '').toString().toUpperCase()) {\n case 'OAUTH2': {\n if (!authData.service && !authData.user) {\n return false;\n }\n let oauth2 = new XOAuth2(authData, this.logger);\n oauth2.provisionCallback = (this.mailer && this.mailer.get('oauth2_provision_cb')) || oauth2.provisionCallback;\n oauth2.on('token', token => this.mailer.emit('token', token));\n oauth2.on('error', err => this.emit('error', err));\n return {\n type: 'OAUTH2',\n user: authData.user,\n oauth2,\n method: 'XOAUTH2'\n };\n }\n default:\n return {\n type: (authData.type || '').toString().toUpperCase() || 'LOGIN',\n user: authData.user,\n credentials: {\n user: authData.user || '',\n pass: authData.pass,\n options: authData.options\n },\n method: (authData.method || '').trim().toUpperCase() || this.options.authMethod || false\n };\n }\n }\n\n /**\n * Sends an e-mail using the selected settings\n *\n * @param {Object} mail Mail object\n * @param {Function} callback Callback function\n */\n send(mail, callback) {\n this.getSocket(this.options, (err, socketOptions) => {\n if (err) {\n return callback(err);\n }\n\n let returned = false;\n let options = this.options;\n if (socketOptions && socketOptions.connection) {\n this.logger.info(\n {\n tnx: 'proxy',\n remoteAddress: socketOptions.connection.remoteAddress,\n remotePort: socketOptions.connection.remotePort,\n destHost: options.host || '',\n destPort: options.port || '',\n action: 'connected'\n },\n 'Using proxied socket from %s:%s to %s:%s',\n socketOptions.connection.remoteAddress,\n socketOptions.connection.remotePort,\n options.host || '',\n options.port || ''\n );\n\n // only copy options if we need to modify it\n options = shared.assign(false, options);\n Object.keys(socketOptions).forEach(key => {\n options[key] = socketOptions[key];\n });\n }\n\n let connection = new SMTPConnection(options);\n\n connection.once('error', err => {\n if (returned) {\n return;\n }\n returned = true;\n connection.close();\n return callback(err);\n });\n\n connection.once('end', () => {\n if (returned) {\n return;\n }\n\n let timer = setTimeout(() => {\n if (returned) {\n return;\n }\n returned = true;\n // still have not returned, this means we have an unexpected connection close\n let err = new Error('Unexpected socket close');\n if (connection && connection._socket && connection._socket.upgrading) {\n // starttls connection errors\n err.code = 'ETLS';\n }\n callback(err);\n }, 1000);\n\n try {\n timer.unref();\n } catch (E) {\n // Ignore. Happens on envs with non-node timer implementation\n }\n });\n\n let sendMessage = () => {\n let envelope = mail.message.getEnvelope();\n let messageId = mail.message.messageId();\n\n let recipients = [].concat(envelope.to || []);\n if (recipients.length > 3) {\n recipients.push('...and ' + recipients.splice(2).length + ' more');\n }\n\n if (mail.data.dsn) {\n envelope.dsn = mail.data.dsn;\n }\n\n this.logger.info(\n {\n tnx: 'send',\n messageId\n },\n 'Sending message %s to <%s>',\n messageId,\n recipients.join(', ')\n );\n\n connection.send(envelope, mail.message.createReadStream(), (err, info) => {\n returned = true;\n connection.close();\n if (err) {\n this.logger.error(\n {\n err,\n tnx: 'send'\n },\n 'Send error for %s: %s',\n messageId,\n err.message\n );\n return callback(err);\n }\n info.envelope = {\n from: envelope.from,\n to: envelope.to\n };\n info.messageId = messageId;\n try {\n return callback(null, info);\n } catch (E) {\n this.logger.error(\n {\n err: E,\n tnx: 'callback'\n },\n 'Callback error for %s: %s',\n messageId,\n E.message\n );\n }\n });\n };\n\n connection.connect(() => {\n if (returned) {\n return;\n }\n\n let auth = this.getAuth(mail.data.auth);\n\n if (auth && (connection.allowsAuth || options.forceAuth)) {\n connection.login(auth, err => {\n if (auth && auth !== this.auth && auth.oauth2) {\n auth.oauth2.removeAllListeners();\n }\n if (returned) {\n return;\n }\n\n if (err) {\n returned = true;\n connection.close();\n return callback(err);\n }\n\n sendMessage();\n });\n } else {\n sendMessage();\n }\n });\n });\n }\n\n /**\n * Verifies SMTP configuration\n *\n * @param {Function} callback Callback function\n */\n verify(callback) {\n let promise;\n\n if (!callback) {\n promise = new Promise((resolve, reject) => {\n callback = shared.callbackPromise(resolve, reject);\n });\n }\n\n this.getSocket(this.options, (err, socketOptions) => {\n if (err) {\n return callback(err);\n }\n\n let options = this.options;\n if (socketOptions && socketOptions.connection) {\n this.logger.info(\n {\n tnx: 'proxy',\n remoteAddress: socketOptions.connection.remoteAddress,\n remotePort: socketOptions.connection.remotePort,\n destHost: options.host || '',\n destPort: options.port || '',\n action: 'connected'\n },\n 'Using proxied socket from %s:%s to %s:%s',\n socketOptions.connection.remoteAddress,\n socketOptions.connection.remotePort,\n options.host || '',\n options.port || ''\n );\n\n options = shared.assign(false, options);\n Object.keys(socketOptions).forEach(key => {\n options[key] = socketOptions[key];\n });\n }\n\n let connection = new SMTPConnection(options);\n let returned = false;\n\n connection.once('error', err => {\n if (returned) {\n return;\n }\n returned = true;\n connection.close();\n return callback(err);\n });\n\n connection.once('end', () => {\n if (returned) {\n return;\n }\n returned = true;\n return callback(new Error('Connection closed'));\n });\n\n let finalize = () => {\n if (returned) {\n return;\n }\n returned = true;\n connection.quit();\n return callback(null, true);\n };\n\n connection.connect(() => {\n if (returned) {\n return;\n }\n\n let authData = this.getAuth({});\n\n if (authData && (connection.allowsAuth || options.forceAuth)) {\n connection.login(authData, err => {\n if (returned) {\n return;\n }\n\n if (err) {\n returned = true;\n connection.close();\n return callback(err);\n }\n\n finalize();\n });\n } else {\n finalize();\n }\n });\n });\n\n return promise;\n }\n\n /**\n * Releases resources\n */\n close() {\n if (this.auth && this.auth.oauth2) {\n this.auth.oauth2.removeAllListeners();\n }\n this.emit('close');\n }\n}\n\n// expose to the world\nmodule.exports = SMTPTransport;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlRtspRequest = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L1987\r\n/**\r\n * Object with constants for option `RTSP_REQUEST`\r\n * Only available on libcurl >= 7.20\r\n *\r\n * `CURL_RTSPREQ_OPTIONS` becomes `CurlRtspRequest.Options`\r\n *\r\n * @public\r\n */\r\nvar CurlRtspRequest;\r\n(function (CurlRtspRequest) {\r\n CurlRtspRequest[CurlRtspRequest[\"None\"] = 0] = \"None\";\r\n CurlRtspRequest[CurlRtspRequest[\"Options\"] = 1] = \"Options\";\r\n CurlRtspRequest[CurlRtspRequest[\"Describe\"] = 2] = \"Describe\";\r\n CurlRtspRequest[CurlRtspRequest[\"Announce\"] = 3] = \"Announce\";\r\n CurlRtspRequest[CurlRtspRequest[\"Setup\"] = 4] = \"Setup\";\r\n CurlRtspRequest[CurlRtspRequest[\"Play\"] = 5] = \"Play\";\r\n CurlRtspRequest[CurlRtspRequest[\"Pause\"] = 6] = \"Pause\";\r\n CurlRtspRequest[CurlRtspRequest[\"Teardown\"] = 7] = \"Teardown\";\r\n CurlRtspRequest[CurlRtspRequest[\"GetParameter\"] = 8] = \"GetParameter\";\r\n CurlRtspRequest[CurlRtspRequest[\"SetParameter\"] = 9] = \"SetParameter\";\r\n CurlRtspRequest[CurlRtspRequest[\"Record\"] = 10] = \"Record\";\r\n CurlRtspRequest[CurlRtspRequest[\"Receive\"] = 11] = \"Receive\";\r\n})(CurlRtspRequest = exports.CurlRtspRequest || (exports.CurlRtspRequest = {}));\r\n//# sourceMappingURL=CurlRtspRequest.js.map","exports.alphasort = alphasort\nexports.alphasorti = alphasorti\nexports.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 path = require(\"path\")\nvar minimatch = require(\"minimatch\")\nvar isAbsolute = require(\"path-is-absolute\")\nvar Minimatch = minimatch.Minimatch\n\nfunction alphasorti (a, b) {\n return a.toLowerCase().localeCompare(b.toLowerCase())\n}\n\nfunction alphasort (a, b) {\n return a.localeCompare(b)\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\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\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(self.nocase ? alphasorti : 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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokit = void 0;\nconst rest_1 = require(\"@octokit/rest\");\nconst config_1 = require(\"./config\");\nconst getOctokit = async () => {\n const config = await config_1.getConfig();\n return new rest_1.Octokit({\n auth: config.PAT || process.env.GH_PAT || process.env.GITHUB_TOKEN,\n userAgent: config[\"user-agent\"] || process.env.USER_AGENT || \"KojBot\",\n });\n};\nexports.getOctokit = getOctokit;\n//# sourceMappingURL=github.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n\n return \"\";\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\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) { return registered.orig })\n .indexOf(method)\n\n if (index === -1) {\n return\n }\n\n state.registry[name].splice(index, 1)\n}\n","module.exports = require(\"tty\");","'use strict'\n// This is adapted from https://github.com/normalize/mz\n// Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors\nconst u = require('universalify').fromCallback\nconst fs = require('graceful-fs')\n\nconst api = [\n 'access',\n 'appendFile',\n 'chmod',\n 'chown',\n 'close',\n 'copyFile',\n 'fchmod',\n 'fchown',\n 'fdatasync',\n 'fstat',\n 'fsync',\n 'ftruncate',\n 'futimes',\n 'lchmod',\n 'lchown',\n 'link',\n 'lstat',\n 'mkdir',\n 'mkdtemp',\n 'open',\n 'opendir',\n 'readdir',\n 'readFile',\n 'readlink',\n 'realpath',\n 'rename',\n 'rmdir',\n 'stat',\n 'symlink',\n 'truncate',\n 'unlink',\n 'utimes',\n 'writeFile'\n].filter(key => {\n // Some commands are not available on some systems. Ex:\n // fs.opendir was added in Node.js v12.12.0\n // fs.lchown is not available on at least some Linux\n return typeof fs[key] === 'function'\n})\n\n// Export all keys:\nObject.keys(fs).forEach(key => {\n if (key === 'promises') {\n // fs.promises is a getter property that triggers ExperimentalWarning\n // Don't re-export it here, the getter is defined in \"lib/index.js\"\n return\n }\n exports[key] = fs[key]\n})\n\n// Universalify async methods:\napi.forEach(method => {\n exports[method] = u(fs[method])\n})\n\n// We differ from mz/fs in that we still ship the old, broken, fs.exists()\n// since we are a drop-in replacement for the native module\nexports.exists = function (filename, callback) {\n if (typeof callback === 'function') {\n return fs.exists(filename, callback)\n }\n return new Promise(resolve => {\n return fs.exists(filename, resolve)\n })\n}\n\n// fs.read(), fs.write(), & fs.writev() need special treatment due to multiple callback args\n\nexports.read = function (fd, buffer, offset, length, position, callback) {\n if (typeof callback === 'function') {\n return fs.read(fd, buffer, offset, length, position, callback)\n }\n return new Promise((resolve, reject) => {\n fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => {\n if (err) return reject(err)\n resolve({ bytesRead, buffer })\n })\n })\n}\n\n// Function signature can be\n// fs.write(fd, buffer[, offset[, length[, position]]], callback)\n// OR\n// fs.write(fd, string[, position[, encoding]], callback)\n// We need to handle both cases, so we use ...args\nexports.write = function (fd, buffer, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.write(fd, buffer, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.write(fd, buffer, ...args, (err, bytesWritten, buffer) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffer })\n })\n })\n}\n\n// fs.writev only available in Node v12.9.0+\nif (typeof fs.writev === 'function') {\n // Function signature is\n // s.writev(fd, buffers[, position], callback)\n // We need to handle the optional arg, so we use ...args\n exports.writev = function (fd, buffers, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.writev(fd, buffers, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.writev(fd, buffers, ...args, (err, bytesWritten, buffers) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffers })\n })\n })\n }\n}\n\n// fs.realpath.native only available in Node v9.2+\nif (typeof fs.realpath.native === 'function') {\n exports.realpath.native = u(fs.realpath.native)\n}\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):((e=\"undefined\"!=typeof globalThis?globalThis:e||self).prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.html=t())}(this,(function(){\"use strict\";var e=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function t(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==t&&n.path)}},n.exports),n.exports}var n=t((function(e,t){function n(e){return t.$0<=e&&e<=t.$9}\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0}),t.$EOF=0,t.$BSPACE=8,t.$TAB=9,t.$LF=10,t.$VTAB=11,t.$FF=12,t.$CR=13,t.$SPACE=32,t.$BANG=33,t.$DQ=34,t.$HASH=35,t.$$=36,t.$PERCENT=37,t.$AMPERSAND=38,t.$SQ=39,t.$LPAREN=40,t.$RPAREN=41,t.$STAR=42,t.$PLUS=43,t.$COMMA=44,t.$MINUS=45,t.$PERIOD=46,t.$SLASH=47,t.$COLON=58,t.$SEMICOLON=59,t.$LT=60,t.$EQ=61,t.$GT=62,t.$QUESTION=63,t.$0=48,t.$7=55,t.$9=57,t.$A=65,t.$E=69,t.$F=70,t.$X=88,t.$Z=90,t.$LBRACKET=91,t.$BACKSLASH=92,t.$RBRACKET=93,t.$CARET=94,t.$_=95,t.$a=97,t.$b=98,t.$e=101,t.$f=102,t.$n=110,t.$r=114,t.$t=116,t.$u=117,t.$v=118,t.$x=120,t.$z=122,t.$LBRACE=123,t.$BAR=124,t.$RBRACE=125,t.$NBSP=160,t.$PIPE=124,t.$TILDA=126,t.$AT=64,t.$BT=96,t.isWhitespace=function(e){return e>=t.$TAB&&e<=t.$SPACE||e==t.$NBSP},t.isDigit=n,t.isAsciiLetter=function(e){return e>=t.$a&&e<=t.$z||e>=t.$A&&e<=t.$Z},t.isAsciiHexDigit=function(e){return e>=t.$a&&e<=t.$f||e>=t.$A&&e<=t.$F||n(e)},t.isNewLine=function(e){return e===t.$LF||e===t.$CR},t.isOctalDigit=function(e){return t.$0<=e&&e<=t.$7}})),r=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});class n{constructor(e,t,n){this.filePath=e,this.name=t,this.members=n}assertNoMembers(){if(this.members.length)throw new Error(\"Illegal state: symbol without members expected, but got \".concat(JSON.stringify(this),\".\"))}}t.StaticSymbol=n;t.StaticSymbolCache=class{constructor(){this.cache=new Map}get(e,t,r){const s=(r=r||[]).length?\".\".concat(r.join(\".\")):\"\",i='\"'.concat(e,'\".').concat(t).concat(s);let o=this.cache.get(i);return o||(o=new n(e,t,r),this.cache.set(i,o)),o}}})),s=t((function(t,n){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(n,\"__esModule\",{value:!0});const r=/-+([a-z0-9])/g;function s(e,t,n){const r=e.indexOf(t);return-1==r?n:[e.slice(0,r).trim(),e.slice(r+1).trim()]}function i(e,t,n){return Array.isArray(e)?t.visitArray(e,n):\"object\"==typeof(r=e)&&null!==r&&Object.getPrototypeOf(r)===u?t.visitStringMap(e,n):null==e||\"string\"==typeof e||\"number\"==typeof e||\"boolean\"==typeof e?t.visitPrimitive(e,n):t.visitOther(e,n);var r}n.dashCaseToCamelCase=function(e){return e.replace(r,((...e)=>e[1].toUpperCase()))},n.splitAtColon=function(e,t){return s(e,\":\",t)},n.splitAtPeriod=function(e,t){return s(e,\".\",t)},n.visitValue=i,n.isDefined=function(e){return null!=e},n.noUndefined=function(e){return void 0===e?null:e};n.ValueTransformer=class{visitArray(e,t){return e.map((e=>i(e,this,t)))}visitStringMap(e,t){const n={};return Object.keys(e).forEach((r=>{n[r]=i(e[r],this,t)})),n}visitPrimitive(e,t){return e}visitOther(e,t){return e}},n.SyncAsync={assertSync:e=>{if(c(e))throw new Error(\"Illegal state: value cannot be a promise\");return e},then:(e,t)=>c(e)?e.then(t):t(e),all:e=>e.some(c)?Promise.all(e):e},n.error=function(e){throw new Error(\"Internal Error: \".concat(e))},n.syntaxError=function(e,t){const n=Error(e);return n[o]=!0,t&&(n[a]=t),n};const o=\"ngSyntaxError\",a=\"ngParseErrors\";n.isSyntaxError=function(e){return e[o]},n.getParseErrors=function(e){return e[a]||[]},n.escapeRegExp=function(e){return e.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g,\"\\\\$1\")};const u=Object.getPrototypeOf({});function c(e){return!!e&&\"function\"==typeof e.then}n.utf8Encode=function(e){let t=\"\";for(let n=0;n=55296&&r<=56319&&e.length>n+1){const t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(n++,r=(r-55296<<10)+t-56320+65536)}r<=127?t+=String.fromCharCode(r):r<=2047?t+=String.fromCharCode(r>>6&31|192,63&r|128):r<=65535?t+=String.fromCharCode(r>>12|224,r>>6&63|128,63&r|128):r<=2097151&&(t+=String.fromCharCode(r>>18&7|240,r>>12&63|128,r>>6&63|128,63&r|128))}return t},n.stringify=function e(t){if(\"string\"==typeof t)return t;if(t instanceof Array)return\"[\"+t.map(e).join(\", \")+\"]\";if(null==t)return\"\"+t;if(t.overriddenName)return\"\".concat(t.overriddenName);if(t.name)return\"\".concat(t.name);if(!t.toString)return\"object\";const n=t.toString();if(null==n)return\"\"+n;const r=n.indexOf(\"\\n\");return-1===r?n:n.substring(0,r)},n.resolveForwardRef=function(e){return\"function\"==typeof e&&e.hasOwnProperty(\"__forward_ref__\")?e():e},n.isPromise=c;n.Version=class{constructor(e){this.full=e;const t=e.split(\".\");this.major=t[0],this.minor=t[1],this.patch=t.slice(2).join(\".\")}};const l=\"undefined\"!=typeof window&&window,p=\"undefined\"!=typeof self&&\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,D=void 0!==e&&e||l||p;n.global=D})),i=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});const n=/^(?:(?:\\[([^\\]]+)\\])|(?:\\(([^\\)]+)\\)))|(\\@[-\\w]+)$/;function i(e){return e.replace(/\\W/g,\"_\")}t.sanitizeIdentifier=i;let o=0;function a(e){if(!e||!e.reference)return null;const t=e.reference;if(t instanceof r.StaticSymbol)return t.name;if(t.__anonymousType)return t.__anonymousType;let n=s.stringify(t);return n.indexOf(\"(\")>=0?(n=\"anonymous_\".concat(o++),t.__anonymousType=n):n=i(n),n}var u;t.identifierName=a,t.identifierModuleUrl=function(e){const t=e.reference;return t instanceof r.StaticSymbol?t.filePath:\"./\".concat(s.stringify(t))},t.viewClassName=function(e,t){return\"View_\".concat(a({reference:e}),\"_\").concat(t)},t.rendererTypeName=function(e){return\"RenderType_\".concat(a({reference:e}))},t.hostViewClassName=function(e){return\"HostView_\".concat(a({reference:e}))},t.componentFactoryName=function(e){return\"\".concat(a({reference:e}),\"NgFactory\")},function(e){e[e.Pipe=0]=\"Pipe\",e[e.Directive=1]=\"Directive\",e[e.NgModule=2]=\"NgModule\",e[e.Injectable=3]=\"Injectable\"}(u=t.CompileSummaryKind||(t.CompileSummaryKind={})),t.tokenName=function(e){return null!=e.value?i(e.value):a(e.identifier)},t.tokenReference=function(e){return null!=e.identifier?e.identifier.reference:e.value};t.CompileStylesheetMetadata=class{constructor({moduleUrl:e,styles:t,styleUrls:n}={}){this.moduleUrl=e||null,this.styles=l(t),this.styleUrls=l(n)}};t.CompileTemplateMetadata=class{constructor({encapsulation:e,template:t,templateUrl:n,htmlAst:r,styles:s,styleUrls:i,externalStylesheets:o,animations:a,ngContentSelectors:u,interpolation:c,isInline:D,preserveWhitespaces:h}){if(this.encapsulation=e,this.template=t,this.templateUrl=n,this.htmlAst=r,this.styles=l(s),this.styleUrls=l(i),this.externalStylesheets=l(o),this.animations=a?p(a):[],this.ngContentSelectors=u||[],c&&2!=c.length)throw new Error(\"'interpolation' should have a start and an end symbol.\");this.interpolation=c,this.isInline=D,this.preserveWhitespaces=h}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};class c{static create({isHost:e,type:t,isComponent:r,selector:i,exportAs:o,changeDetection:a,inputs:u,outputs:l,host:p,providers:D,viewProviders:h,queries:d,guards:f,viewQueries:m,entryComponents:g,template:E,componentViewType:C,rendererType:T,componentFactory:y}){const S={},_={},b={};null!=p&&Object.keys(p).forEach((e=>{const t=p[e],r=e.match(n);null===r?b[e]=t:null!=r[1]?_[r[1]]=t:null!=r[2]&&(S[r[2]]=t)}));const F={};null!=u&&u.forEach((e=>{const t=s.splitAtColon(e,[e,e]);F[t[0]]=t[1]}));const A={};return null!=l&&l.forEach((e=>{const t=s.splitAtColon(e,[e,e]);A[t[0]]=t[1]})),new c({isHost:e,type:t,isComponent:!!r,selector:i,exportAs:o,changeDetection:a,inputs:F,outputs:A,hostListeners:S,hostProperties:_,hostAttributes:b,providers:D,viewProviders:h,queries:d,guards:f,viewQueries:m,entryComponents:g,template:E,componentViewType:C,rendererType:T,componentFactory:y})}constructor({isHost:e,type:t,isComponent:n,selector:r,exportAs:s,changeDetection:i,inputs:o,outputs:a,hostListeners:u,hostProperties:c,hostAttributes:p,providers:D,viewProviders:h,queries:d,guards:f,viewQueries:m,entryComponents:g,template:E,componentViewType:C,rendererType:T,componentFactory:y}){this.isHost=!!e,this.type=t,this.isComponent=n,this.selector=r,this.exportAs=s,this.changeDetection=i,this.inputs=o,this.outputs=a,this.hostListeners=u,this.hostProperties=c,this.hostAttributes=p,this.providers=l(D),this.viewProviders=l(h),this.queries=l(d),this.guards=f,this.viewQueries=l(m),this.entryComponents=l(g),this.template=E,this.componentViewType=C,this.rendererType=T,this.componentFactory=y}toSummary(){return{summaryKind:u.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}}t.CompileDirectiveMetadata=c;t.CompilePipeMetadata=class{constructor({type:e,name:t,pure:n}){this.type=e,this.name=t,this.pure=!!n}toSummary(){return{summaryKind:u.Pipe,type:this.type,name:this.name,pure:this.pure}}};t.CompileShallowModuleMetadata=class{};t.CompileNgModuleMetadata=class{constructor({type:e,providers:t,declaredDirectives:n,exportedDirectives:r,declaredPipes:s,exportedPipes:i,entryComponents:o,bootstrapComponents:a,importedModules:u,exportedModules:c,schemas:p,transitiveModule:D,id:h}){this.type=e||null,this.declaredDirectives=l(n),this.exportedDirectives=l(r),this.declaredPipes=l(s),this.exportedPipes=l(i),this.providers=l(t),this.entryComponents=l(o),this.bootstrapComponents=l(a),this.importedModules=l(u),this.exportedModules=l(c),this.schemas=l(p),this.id=h||null,this.transitiveModule=D||null}toSummary(){const e=this.transitiveModule;return{summaryKind:u.NgModule,type:this.type,entryComponents:e.entryComponents,providers:e.providers,modules:e.modules,exportedDirectives:e.exportedDirectives,exportedPipes:e.exportedPipes}}};function l(e){return e||[]}t.TransitiveCompileNgModuleMetadata=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(e,t){this.providers.push({provider:e,module:t})}addDirective(e){this.directivesSet.has(e.reference)||(this.directivesSet.add(e.reference),this.directives.push(e))}addExportedDirective(e){this.exportedDirectivesSet.has(e.reference)||(this.exportedDirectivesSet.add(e.reference),this.exportedDirectives.push(e))}addPipe(e){this.pipesSet.has(e.reference)||(this.pipesSet.add(e.reference),this.pipes.push(e))}addExportedPipe(e){this.exportedPipesSet.has(e.reference)||(this.exportedPipesSet.add(e.reference),this.exportedPipes.push(e))}addModule(e){this.modulesSet.has(e.reference)||(this.modulesSet.add(e.reference),this.modules.push(e))}addEntryComponent(e){this.entryComponentsSet.has(e.componentType)||(this.entryComponentsSet.add(e.componentType),this.entryComponents.push(e))}};function p(e){return e.reduce(((e,t)=>{const n=Array.isArray(t)?p(t):t;return e.concat(n)}),[])}function D(e){return e.replace(/(\\w+:\\/\\/[\\w:-]+)?(\\/+)?/,\"ng:///\")}t.ProviderMeta=class{constructor(e,{useClass:t,useValue:n,useExisting:r,useFactory:s,deps:i,multi:o}){this.token=e,this.useClass=t||null,this.useValue=n,this.useExisting=r,this.useFactory=s||null,this.dependencies=i||null,this.multi=!!o}},t.flatten=p,t.templateSourceUrl=function(e,t,n){let s;return s=n.isInline?t.type.reference instanceof r.StaticSymbol?\"\".concat(t.type.reference.filePath,\".\").concat(t.type.reference.name,\".html\"):\"\".concat(a(e),\"/\").concat(a(t.type),\".html\"):n.templateUrl,t.type.reference instanceof r.StaticSymbol?s:D(s)},t.sharedStylesheetJitUrl=function(e,t){const n=e.moduleUrl.split(/\\/\\\\/g),r=n[n.length-1];return D(\"css/\".concat(t).concat(r,\".ngstyle.js\"))},t.ngModuleJitUrl=function(e){return D(\"\".concat(a(e.type),\"/module.ngfactory.js\"))},t.templateJitUrl=function(e,t){return D(\"\".concat(a(e),\"/\").concat(a(t.type),\".ngfactory.js\"))}})),o=t((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nclass r{constructor(e,t,n,r){this.file=e,this.offset=t,this.line=n,this.col=r}toString(){return null!=this.offset?\"\".concat(this.file.url,\"@\").concat(this.line,\":\").concat(this.col):this.file.url}moveBy(e){const t=this.file.content,s=t.length;let i=this.offset,o=this.line,a=this.col;for(;i>0&&e<0;){i--,e++;if(t.charCodeAt(i)==n.$LF){o--;const e=t.substr(0,i-1).lastIndexOf(String.fromCharCode(n.$LF));a=e>0?i-e:i}else a--}for(;i0;){const r=t.charCodeAt(i);i++,e--,r==n.$LF?(o++,a=0):a++}return new r(this.file,i,o,a)}getContext(e,t){const n=this.file.content;let r=this.offset;if(null!=r){r>n.length-1&&(r=n.length-1);let s=r,i=0,o=0;for(;i0&&(r--,i++,\"\\n\"!=n[r]||++o!=t););for(i=0,o=0;i]\").concat(e.after,'\")'):this.msg}toString(){const e=this.span.details?\", \".concat(this.span.details):\"\";return\"\".concat(this.contextualMessage(),\": \").concat(this.span.start).concat(e)}},t.typeSourceSpan=function(e,t){const n=i.identifierModuleUrl(t),a=null!=n?\"in \".concat(e,\" \").concat(i.identifierName(t),\" in \").concat(n):\"in \".concat(e,\" \").concat(i.identifierName(t)),u=new s(\"\",a);return new o(new r(u,-1,-1,-1),new r(u,-1,-1,-1))},t.r3JitTypeSourceSpan=function(e,t,n){const i=\"in \".concat(e,\" \").concat(t,\" in \").concat(n),a=new s(\"\",i);return new o(new r(a,-1,-1,-1),new r(a,-1,-1,-1))}})),a=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function u(e){return{type:\"concat\",parts:e}}function c(e){return{type:\"indent\",contents:e}}function l(e,t){return{type:\"align\",contents:t,n:e}}function p(e,t){return{type:\"group\",id:(t=t||{}).id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}const D={type:\"break-parent\"},h=u([{type:\"line\",hard:!0},D]),d=u([{type:\"line\",hard:!0,literal:!0},D]);var f={concat:u,join:function(e,t){const n=[];for(let r=0;r0){for(let e=0;e\"string\"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(t,e?void 0:\"g\")})(),\"\"):e;const g=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var E=g,C=g;E.default=C;const T=e=>{if(\"string\"!=typeof(e=e.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\" \"))||0===e.length)return 0;e=m(e);let t=0;for(let n=0;n=127&&r<=159||(r>=768&&r<=879||(r>65535&&n++,t+=E(r)?2:1))}return t};var y=T,S=T;y.default=S;function _(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var b=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{};function F(){throw new Error(\"setTimeout has not been defined\")}function A(){throw new Error(\"clearTimeout has not been defined\")}var v=F,w=A;function k(e){if(v===setTimeout)return setTimeout(e,0);if((v===F||!v)&&setTimeout)return v=setTimeout,setTimeout(e,0);try{return v(e,0)}catch(t){try{return v.call(null,e,0)}catch(t){return v.call(this,e,0)}}}\"function\"==typeof b.setTimeout&&(v=setTimeout),\"function\"==typeof b.clearTimeout&&(w=clearTimeout);var N,x=[],O=!1,R=-1;function P(){O&&N&&(O=!1,N.length?x=N.concat(x):R=-1,x.length&&L())}function L(){if(!O){var e=k(P);O=!0;for(var t=x.length;t;){for(N=x,x=[];++R1)for(var n=1;nconsole.error(\"SEMVER\",...e):()=>{};var Y={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},J=t((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n}=Y,r=(t=e.exports={}).re=[],s=t.src=[],i=t.t={};let o=0;const a=(e,t,n)=>{const a=o++;Q(a,t),i[e]=a,s[a]=t,r[a]=new RegExp(t,n?\"g\":void 0)};a(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),a(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),a(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),a(\"MAINVERSION\",\"(\".concat(s[i.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(s[i.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(s[i.NUMERICIDENTIFIER],\")\")),a(\"MAINVERSIONLOOSE\",\"(\".concat(s[i.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(s[i.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(s[i.NUMERICIDENTIFIERLOOSE],\")\")),a(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(s[i.NUMERICIDENTIFIER],\"|\").concat(s[i.NONNUMERICIDENTIFIER],\")\")),a(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(s[i.NUMERICIDENTIFIERLOOSE],\"|\").concat(s[i.NONNUMERICIDENTIFIER],\")\")),a(\"PRERELEASE\",\"(?:-(\".concat(s[i.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(s[i.PRERELEASEIDENTIFIER],\")*))\")),a(\"PRERELEASELOOSE\",\"(?:-?(\".concat(s[i.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(s[i.PRERELEASEIDENTIFIERLOOSE],\")*))\")),a(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),a(\"BUILD\",\"(?:\\\\+(\".concat(s[i.BUILDIDENTIFIER],\"(?:\\\\.\").concat(s[i.BUILDIDENTIFIER],\")*))\")),a(\"FULLPLAIN\",\"v?\".concat(s[i.MAINVERSION]).concat(s[i.PRERELEASE],\"?\").concat(s[i.BUILD],\"?\")),a(\"FULL\",\"^\".concat(s[i.FULLPLAIN],\"$\")),a(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(s[i.MAINVERSIONLOOSE]).concat(s[i.PRERELEASELOOSE],\"?\").concat(s[i.BUILD],\"?\")),a(\"LOOSE\",\"^\".concat(s[i.LOOSEPLAIN],\"$\")),a(\"GTLT\",\"((?:<|>)?=?)\"),a(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(s[i.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),a(\"XRANGEIDENTIFIER\",\"\".concat(s[i.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),a(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(s[i.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(s[i.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(s[i.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(s[i.PRERELEASE],\")?\").concat(s[i.BUILD],\"?\")+\")?)?\"),a(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(s[i.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(s[i.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(s[i.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(s[i.PRERELEASELOOSE],\")?\").concat(s[i.BUILD],\"?\")+\")?)?\"),a(\"XRANGE\",\"^\".concat(s[i.GTLT],\"\\\\s*\").concat(s[i.XRANGEPLAIN],\"$\")),a(\"XRANGELOOSE\",\"^\".concat(s[i.GTLT],\"\\\\s*\").concat(s[i.XRANGEPLAINLOOSE],\"$\")),a(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(n,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(n,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(n,\"}))?\")+\"(?:$|[^\\\\d])\"),a(\"COERCERTL\",s[i.COERCE],!0),a(\"LONETILDE\",\"(?:~>?)\"),a(\"TILDETRIM\",\"(\\\\s*)\".concat(s[i.LONETILDE],\"\\\\s+\"),!0),t.tildeTrimReplace=\"$1~\",a(\"TILDE\",\"^\".concat(s[i.LONETILDE]).concat(s[i.XRANGEPLAIN],\"$\")),a(\"TILDELOOSE\",\"^\".concat(s[i.LONETILDE]).concat(s[i.XRANGEPLAINLOOSE],\"$\")),a(\"LONECARET\",\"(?:\\\\^)\"),a(\"CARETTRIM\",\"(\\\\s*)\".concat(s[i.LONECARET],\"\\\\s+\"),!0),t.caretTrimReplace=\"$1^\",a(\"CARET\",\"^\".concat(s[i.LONECARET]).concat(s[i.XRANGEPLAIN],\"$\")),a(\"CARETLOOSE\",\"^\".concat(s[i.LONECARET]).concat(s[i.XRANGEPLAINLOOSE],\"$\")),a(\"COMPARATORLOOSE\",\"^\".concat(s[i.GTLT],\"\\\\s*(\").concat(s[i.LOOSEPLAIN],\")$|^$\")),a(\"COMPARATOR\",\"^\".concat(s[i.GTLT],\"\\\\s*(\").concat(s[i.FULLPLAIN],\")$|^$\")),a(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(s[i.GTLT],\"\\\\s*(\").concat(s[i.LOOSEPLAIN],\"|\").concat(s[i.XRANGEPLAIN],\")\"),!0),t.comparatorTrimReplace=\"$1$2$3\",a(\"HYPHENRANGE\",\"^\\\\s*(\".concat(s[i.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(s[i.XRANGEPLAIN],\")\")+\"\\\\s*$\"),a(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(s[i.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(s[i.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),a(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),a(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),a(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")}));const Z=/^[0-9]+$/,K=(e,t)=>{const n=Z.test(e),r=Z.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:eK(t,e)};const{MAX_LENGTH:te,MAX_SAFE_INTEGER:ne}=Y,{re:re,t:se}=J,{compareIdentifiers:ie}=ee;class oe{constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof oe){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \".concat(e));if(e.length>te)throw new TypeError(\"version is longer than \".concat(te,\" characters\"));Q(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?re[se.LOOSE]:re[se.FULL]);if(!n)throw new TypeError(\"Invalid Version: \".concat(e));if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>ne||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>ne||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>ne||this.patch<0)throw new TypeError(\"Invalid patch version\");n[4]?this.prerelease=n[4].split(\".\").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)\"number\"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(\"invalid increment argument: \".concat(e))}return this.format(),this.raw=this.version,this}}var ae=oe;var ue=(e,t,n)=>new ae(e,n).compare(new ae(t,n));var ce=(e,t,n)=>ue(e,t,n)<0;var le=(e,t,n)=>ue(e,t,n)>=0,pe=\"2.2.0\",De=t((function(e,t){function n(){for(var e=[],t=0;t\"string\"==typeof e||\"function\"==typeof e,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:_e,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin\",cliCategory:Te},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:_e,description:Ce(me()),exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin-search-dir\",cliCategory:Te},printWidth:{since:\"0.0.0\",category:_e,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:be,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:Ce(fe()),cliCategory:ye},rangeStart:{since:\"1.4.0\",category:be,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:Ce(de()),cliCategory:ye},requirePragma:{since:\"1.7.0\",category:be,type:\"boolean\",default:!1,description:Ce(he()),cliCategory:Se},tabWidth:{type:\"int\",category:_e,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:_e,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:_e,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};const Ae={compare:ue,lt:ce,gte:le},ve=pe,we={CATEGORY_CONFIG:Te,CATEGORY_EDITOR:ye,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:Se,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:_e,CATEGORY_SPECIAL:be,options:Fe}.options;var ke={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:n=!1,showInternal:r=!1}={}){const s=ve.split(\"-\",1)[0],i=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(a),o=((e,t)=>Object.entries(e).map((([e,n])=>Object.assign({[t]:e},n))))(Object.assign({},...e.map((({options:e})=>e)),we),\"name\").filter((e=>a(e)&&u(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(s[n]=e[n]);return s}(e,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(a).sort(((e,t)=>Ae.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>a(e)&&u(e))),\"parser\"===t.name&&function(e,t,n){const r=new Set(e.choices.map((e=>e.value)));for(const s of t)if(s.parsers)for(const t of s.parsers)if(!r.has(t)){r.add(t);const i=n.find((e=>e.parsers&&e.parsers[t]));let o=s.name;i&&i.name&&(o+=\" (plugin: \".concat(i.name,\")\")),e.choices.push({value:t,description:o})}}(t,i,e));const n=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,n)=>(e[n.name]=n.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:n})}));return{languages:i,options:o};function a(e){return t||!(\"since\"in e)||e.since&&Ae.gte(s,e.since)}function u(e){return n||!(\"deprecated\"in e)||e.deprecated&&Ae.lt(s,e.deprecated)}}};const{getSupportInfo:Ne}=ke,xe=/[^\\x20-\\x7F]/;function Oe(e){return(t,n,r)=>{const s=r&&r.backwards;if(!1===n)return!1;const{length:i}=t;let o=n;for(;o>=0&&o(n.match(o.regex)||[]).length?o.quote:i.quote}return a}function Xe(e,t,n){const r='\"'===t?\"'\":'\"',s=e.replace(/\\\\([\\S\\s])|([\"'])/g,((e,s,i)=>s===r?s:i===t?\"\\\\\"+i:i||(n&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(s)?s:\"\\\\\"+s)));return t+s+t}function ze(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,\"JSXText\"===e.type&&(t.printed=!0)}var We={inferParserByLanguage:function(e,t){const{languages:n}=Ne({plugins:t.plugins}),r=n.find((({name:t})=>t.toLowerCase()===e))||n.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||n.find((({extensions:t})=>Array.isArray(t)&&t.includes(\".\".concat(e))));return r&&r.parsers[0]},replaceEndOfLineWith:function(e,t){const n=[];for(const r of e.split(\"\\n\"))0!==n.length&&n.push(t),n.push(r);return n},getStringWidth:function(e){return e?xe.test(e)?y(e):e.length:0},getMaxContinuousCount:function(e,t){const n=e.match(new RegExp(\"(\".concat(a(t),\")+\"),\"g\"));return null===n?0:n.reduce(((e,n)=>Math.max(e,n.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const n=e.match(new RegExp(\"(\".concat(a(t),\")+\"),\"g\"));if(null===n)return 0;const r=new Map;let s=0;for(const e of n){const n=e.length/t.length;r.set(n,!0),n>s&&(s=n)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ge,getNextNonSpaceNonCommentCharacterIndex:Ve,getNextNonSpaceNonCommentCharacter:function(e,t,n){return e.charAt(Ve(e,t,n))},skip:Oe,skipWhitespace:Re,skipSpaces:Pe,skipToLineEnd:Le,skipEverythingButNewLine:Be,skipInlineComment:Ie,skipTrailingComment:qe,skipNewline:$e,isNextLineEmptyAfterIndex:Ue,isNextLineEmpty:function(e,t,n){return Ue(e,n(t))},isPreviousLineEmpty:function(e,t,n){let r=n(t)-1;return r=Pe(e,r,{backwards:!0}),r=$e(e,r,{backwards:!0}),r=Pe(e,r,{backwards:!0}),r!==$e(e,r,{backwards:!0})},hasNewline:Me,hasNewlineInRange:function(e,t,n){for(let r=t;r=0?\"\\n\"===e.charAt(t+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(e){switch(e){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(e,t){let n;if(\"\\n\"===t)n=/\\n/g;else if(\"\\r\"===t)n=/\\r/g;else{if(\"\\r\\n\"!==t)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(t),\".\"));n=/\\r\\n/g}const r=e.match(n);return r?r.length:0},normalizeEndOfLine:function(e){return e.replace(/\\r\\n?/g,\"\\n\")}};const{getStringWidth:Ye}=We,{convertEndOfLineToChars:Je}=Qe,{concat:Ze,fill:Ke,cursor:et}=f;let tt;function nt(e,t){return st(e,{type:\"indent\"},t)}function rt(e,t,n){if(t===-1/0)return e.root||{value:\"\",length:0,queue:[]};if(t<0)return st(e,{type:\"dedent\"},n);if(!t)return e;if(\"root\"===t.type)return Object.assign({},e,{root:e});return st(e,{type:\"string\"==typeof t?\"stringAlign\":\"numberAlign\",n:t},n)}function st(e,t,n){const r=\"dedent\"===t.type?e.queue.slice(0,-1):e.queue.concat(t);let s=\"\",i=0,o=0,a=0;for(const e of r)switch(e.type){case\"indent\":l(),n.useTabs?u(1):c(n.tabWidth);break;case\"stringAlign\":l(),s+=e.n,i+=e.n.length;break;case\"numberAlign\":o+=1,a+=e.n;break;default:throw new Error(\"Unexpected type '\".concat(e.type,\"'\"))}return p(),Object.assign({},e,{value:s,length:i,queue:r});function u(e){s+=\"\\t\".repeat(e),i+=n.tabWidth*e}function c(e){s+=\" \".repeat(e),i+=e}function l(){n.useTabs?function(){o>0&&u(o);D()}():p()}function p(){a>0&&c(a),D()}function D(){o=0,a=0}}function it(e){if(0===e.length)return 0;let t=0;for(;e.length>0&&\"string\"==typeof e[e.length-1]&&e[e.length-1].match(/^[\\t ]*$/);)t+=e.pop().length;if(e.length&&\"string\"==typeof e[e.length-1]){const n=e[e.length-1].replace(/[\\t ]*$/,\"\");t+=e[e.length-1].length-n.length,e[e.length-1]=n}return t}function ot(e,t,n,r,s){let i=t.length;const o=[e],a=[];for(;n>=0;){if(0===o.length){if(0===i)return!0;o.push(t[i-1]),i--;continue}const[e,u,c]=o.pop();if(\"string\"==typeof c)a.push(c),n-=Ye(c);else switch(c.type){case\"concat\":for(let t=c.parts.length-1;t>=0;t--)o.push([e,u,c.parts[t]]);break;case\"indent\":o.push([nt(e,r),u,c.contents]);break;case\"align\":o.push([rt(e,c.n,r),u,c.contents]);break;case\"trim\":n+=it(a);break;case\"group\":if(s&&c.break)return!1;o.push([e,c.break?1:u,c.contents]),c.id&&(tt[c.id]=o[o.length-1][1]);break;case\"fill\":for(let t=c.parts.length-1;t>=0;t--)o.push([e,u,c.parts[t]]);break;case\"if-break\":{const t=c.groupId?tt[c.groupId]:u;1===t&&c.breakContents&&o.push([e,u,c.breakContents]),2===t&&c.flatContents&&o.push([e,u,c.flatContents]);break}case\"line\":switch(u){case 2:if(!c.hard){c.soft||(a.push(\" \"),n-=1);break}return!0;case 1:return!0}}}return!1}var at={printDocToString:function(e,t){tt={};const n=t.printWidth,r=Je(t.endOfLine);let s=0;const i=[[{value:\"\",length:0,queue:[]},1,e]],o=[];let a=!1,u=[];for(;0!==i.length;){const[e,c,l]=i.pop();if(\"string\"==typeof l){const e=\"\\n\"!==r&&l.includes(\"\\n\")?l.replace(/\\n/g,r):l;o.push(e),s+=Ye(e)}else switch(l.type){case\"cursor\":o.push(et.placeholder);break;case\"concat\":for(let t=l.parts.length-1;t>=0;t--)i.push([e,c,l.parts[t]]);break;case\"indent\":i.push([nt(e,t),c,l.contents]);break;case\"align\":i.push([rt(e,l.n,t),c,l.contents]);break;case\"trim\":s-=it(o);break;case\"group\":switch(c){case 2:if(!a){i.push([e,l.break?1:2,l.contents]);break}case 1:{a=!1;const r=[e,2,l.contents],o=n-s;if(!l.break&&ot(r,i,o,t))i.push(r);else if(l.expandedStates){const n=l.expandedStates[l.expandedStates.length-1];if(l.break){i.push([e,1,n]);break}for(let r=1;r=l.expandedStates.length){i.push([e,1,n]);break}{const n=[e,2,l.expandedStates[r]];if(ot(n,i,o,t)){i.push(n);break}}}}else i.push([e,1,l.contents]);break}}l.id&&(tt[l.id]=i[i.length-1][1]);break;case\"fill\":{const r=n-s,{parts:o}=l;if(0===o.length)break;const[a,u]=o,p=[e,2,a],D=[e,1,a],h=ot(p,[],r,t,!0);if(1===o.length){h?i.push(p):i.push(D);break}const d=[e,2,u],f=[e,1,u];if(2===o.length){h?(i.push(d),i.push(p)):(i.push(f),i.push(D));break}o.splice(0,2);const m=[e,c,Ke(o)],g=o[0];ot([e,2,Ze([a,u,g])],[],r,t,!0)?(i.push(m),i.push(d),i.push(p)):h?(i.push(m),i.push(f),i.push(p)):(i.push(m),i.push(f),i.push(D));break}case\"if-break\":{const t=l.groupId?tt[l.groupId]:c;1===t&&l.breakContents&&i.push([e,c,l.breakContents]),2===t&&l.flatContents&&i.push([e,c,l.flatContents]);break}case\"line-suffix\":u.push([e,c,l.contents]);break;case\"line-suffix-boundary\":u.length>0&&i.push([e,c,{type:\"line\",hard:!0}]);break;case\"line\":switch(c){case 2:if(!l.hard){l.soft||(o.push(\" \"),s+=1);break}a=!0;case 1:if(u.length){i.push([e,c,l]),i.push(...u.reverse()),u=[];break}l.literal?e.root?(o.push(r,e.root.value),s=e.root.length):(o.push(r),s=0):(s-=it(o),o.push(r+e.value),s=e.length)}}0===i.length&&u.length&&(i.push(...u.reverse()),u=[])}const c=o.indexOf(et.placeholder);if(-1!==c){const e=o.indexOf(et.placeholder,c+1),t=o.slice(0,c).join(\"\"),n=o.slice(c+1,e).join(\"\");return{formatted:t+n+o.slice(e+1).join(\"\"),cursorNodeStart:t.length,cursorNodeText:n}}return{formatted:o.join(\"\")}}};const{literalline:ut,concat:ct}=f,lt={};function pt(e,t,n,r){const s=[e];for(;0!==s.length;){const e=s.pop();if(e!==lt){if(n&&s.push(e,lt),!t||!1!==t(e))if(\"concat\"===e.type||\"fill\"===e.type)for(let t=e.parts.length-1;t>=0;--t)s.push(e.parts[t]);else if(\"if-break\"===e.type)e.flatContents&&s.push(e.flatContents),e.breakContents&&s.push(e.breakContents);else if(\"group\"===e.type&&e.expandedStates)if(r)for(let t=e.expandedStates.length-1;t>=0;--t)s.push(e.expandedStates[t]);else s.push(e.contents);else e.contents&&s.push(e.contents)}else n(s.pop())}}function Dt(e,t){if(\"concat\"===e.type||\"fill\"===e.type){const n=e.parts.map((e=>Dt(e,t)));return t(Object.assign({},e,{parts:n}))}if(\"if-break\"===e.type){const n=e.breakContents&&Dt(e.breakContents,t),r=e.flatContents&&Dt(e.flatContents,t);return t(Object.assign({},e,{breakContents:n,flatContents:r}))}if(e.contents){const n=Dt(e.contents,t);return t(Object.assign({},e,{contents:n}))}return t(e)}function ht(e,t,n){let r=n,s=!1;return pt(e,(function(e){const n=t(e);if(void 0!==n&&(s=!0,r=n),s)return!1})),r}function dt(e){return\"string\"!=typeof e&&(\"line\"===e.type||void 0)}function ft(e){return!(\"group\"!==e.type||!e.break)||(!(\"line\"!==e.type||!e.hard)||(\"break-parent\"===e.type||void 0))}function mt(e){if(e.length>0){const t=e[e.length-1];t.expandedStates||(t.break=!0)}return null}function gt(e){return\"line\"!==e.type||e.hard?\"if-break\"===e.type?e.flatContents||\"\":e:e.soft?\"\":\" \"}function Et(e){const t=[],n=e.filter(Boolean);for(;0!==n.length;){const e=n.shift();e&&(\"concat\"!==e.type?0===t.length||\"string\"!=typeof t[t.length-1]||\"string\"!=typeof e?t.push(e):t[t.length-1]+=e:n.unshift(...e.parts))}return t}function Ct(e){if(\"concat\"===e.type){const t=[];for(let n=0;n0&&!t;r--)t=n[r-1];return\"group\"===t.type&&(n=t.contents.parts),n}(t):t.parts,s=r[r.length-1];if(\"concat\"===s.type)return 2===s.parts.length&&s.parts[0].hard&&\"break-parent\"===s.parts[1].type?{type:\"concat\",parts:r.slice(0,-1)}:{type:\"concat\",parts:t.parts.slice(0,-1).concat(e(s))}}return t},normalizeParts:Et,normalizeDoc:function(e){return Dt(e,(e=>e.parts?Object.assign({},e,{parts:Et(e.parts)}):e))},replaceNewlinesWithLiterallines:function(e){return Dt(e,(e=>\"string\"==typeof e&&e.includes(\"\\n\")?ct(e.split(/(\\n)/g).map(((e,t)=>t%2==0?e:ut))):e))}},debug:{printDocToDebug:e=>Tt(Ct(e))}};const{builders:{hardline:St,concat:_t,markAsRoot:bt}}=yt,Ft={\"---\":\"yaml\",\"+++\":\"toml\"};var At={parse:function(e){const t=Object.keys(Ft).map(a).join(\"|\"),n=e.match(new RegExp(\"^(\".concat(t,\")([^\\\\n]*)\\\\n(?:([\\\\s\\\\S]*?)\\\\n)?\\\\1[^\\\\n\\\\S]*(\\\\n|$)\")));if(null===n)return{frontMatter:null,content:e};const[r,s,i,o]=n;let u=Ft[s];return\"toml\"!==u&&i&&i.trim()&&(u=i.trim()),{frontMatter:{type:\"front-matter\",lang:u,value:o,raw:r.replace(/\\n$/,\"\")},content:r.replace(/[^\\n]/g,\" \")+e.slice(r.length)}},print:function(e,t){if(\"yaml\"===e.lang){const n=e.value.trim(),r=n?t(n,{parser:\"yaml\"},{stripTrailingHardline:!0}):\"\";return bt(_t([\"---\",St,r,r?St:\"\",\"---\"]))}}};var vt=function(e,t){const n=new SyntaxError(e+\" (\"+t.start.line+\":\"+t.start.column+\")\");return n.loc=t,n},wt={\"*\":[\"accesskey\",\"autocapitalize\",\"autofocus\",\"class\",\"contenteditable\",\"dir\",\"draggable\",\"enterkeyhint\",\"hidden\",\"id\",\"inputmode\",\"is\",\"itemid\",\"itemprop\",\"itemref\",\"itemscope\",\"itemtype\",\"lang\",\"nonce\",\"slot\",\"spellcheck\",\"style\",\"tabindex\",\"title\",\"translate\"],a:[\"accesskey\",\"charset\",\"coords\",\"download\",\"href\",\"hreflang\",\"name\",\"ping\",\"referrerpolicy\",\"rel\",\"rev\",\"shape\",\"tabindex\",\"target\",\"type\"],abbr:[\"title\"],applet:[\"align\",\"alt\",\"archive\",\"code\",\"codebase\",\"height\",\"hspace\",\"name\",\"object\",\"vspace\",\"width\"],area:[\"accesskey\",\"alt\",\"coords\",\"download\",\"href\",\"hreflang\",\"nohref\",\"ping\",\"referrerpolicy\",\"rel\",\"shape\",\"tabindex\",\"target\",\"type\"],audio:[\"autoplay\",\"controls\",\"crossorigin\",\"loop\",\"muted\",\"preload\",\"src\"],base:[\"href\",\"target\"],basefont:[\"color\",\"face\",\"size\"],bdo:[\"dir\"],blockquote:[\"cite\"],body:[\"alink\",\"background\",\"bgcolor\",\"link\",\"text\",\"vlink\"],br:[\"clear\"],button:[\"accesskey\",\"autofocus\",\"disabled\",\"form\",\"formaction\",\"formenctype\",\"formmethod\",\"formnovalidate\",\"formtarget\",\"name\",\"tabindex\",\"type\",\"value\"],canvas:[\"height\",\"width\"],caption:[\"align\"],col:[\"align\",\"char\",\"charoff\",\"span\",\"valign\",\"width\"],colgroup:[\"align\",\"char\",\"charoff\",\"span\",\"valign\",\"width\"],data:[\"value\"],del:[\"cite\",\"datetime\"],details:[\"open\"],dfn:[\"title\"],dialog:[\"open\"],dir:[\"compact\"],div:[\"align\"],dl:[\"compact\"],embed:[\"height\",\"src\",\"type\",\"width\"],fieldset:[\"disabled\",\"form\",\"name\"],font:[\"color\",\"face\",\"size\"],form:[\"accept\",\"accept-charset\",\"action\",\"autocomplete\",\"enctype\",\"method\",\"name\",\"novalidate\",\"target\"],frame:[\"frameborder\",\"longdesc\",\"marginheight\",\"marginwidth\",\"name\",\"noresize\",\"scrolling\",\"src\"],frameset:[\"cols\",\"rows\"],h1:[\"align\"],h2:[\"align\"],h3:[\"align\"],h4:[\"align\"],h5:[\"align\"],h6:[\"align\"],head:[\"profile\"],hr:[\"align\",\"noshade\",\"size\",\"width\"],html:[\"manifest\",\"version\"],iframe:[\"align\",\"allow\",\"allowfullscreen\",\"allowpaymentrequest\",\"allowusermedia\",\"frameborder\",\"height\",\"loading\",\"longdesc\",\"marginheight\",\"marginwidth\",\"name\",\"referrerpolicy\",\"sandbox\",\"scrolling\",\"src\",\"srcdoc\",\"width\"],img:[\"align\",\"alt\",\"border\",\"crossorigin\",\"decoding\",\"height\",\"hspace\",\"ismap\",\"loading\",\"longdesc\",\"name\",\"referrerpolicy\",\"sizes\",\"src\",\"srcset\",\"usemap\",\"vspace\",\"width\"],input:[\"accept\",\"accesskey\",\"align\",\"alt\",\"autocomplete\",\"autofocus\",\"checked\",\"dirname\",\"disabled\",\"form\",\"formaction\",\"formenctype\",\"formmethod\",\"formnovalidate\",\"formtarget\",\"height\",\"ismap\",\"list\",\"max\",\"maxlength\",\"min\",\"minlength\",\"multiple\",\"name\",\"pattern\",\"placeholder\",\"readonly\",\"required\",\"size\",\"src\",\"step\",\"tabindex\",\"title\",\"type\",\"usemap\",\"value\",\"width\"],ins:[\"cite\",\"datetime\"],isindex:[\"prompt\"],label:[\"accesskey\",\"for\",\"form\"],legend:[\"accesskey\",\"align\"],li:[\"type\",\"value\"],link:[\"as\",\"charset\",\"color\",\"crossorigin\",\"disabled\",\"href\",\"hreflang\",\"imagesizes\",\"imagesrcset\",\"integrity\",\"media\",\"nonce\",\"referrerpolicy\",\"rel\",\"rev\",\"sizes\",\"target\",\"title\",\"type\"],map:[\"name\"],menu:[\"compact\"],meta:[\"charset\",\"content\",\"http-equiv\",\"name\",\"scheme\"],meter:[\"high\",\"low\",\"max\",\"min\",\"optimum\",\"value\"],object:[\"align\",\"archive\",\"border\",\"classid\",\"codebase\",\"codetype\",\"data\",\"declare\",\"form\",\"height\",\"hspace\",\"name\",\"standby\",\"tabindex\",\"type\",\"typemustmatch\",\"usemap\",\"vspace\",\"width\"],ol:[\"compact\",\"reversed\",\"start\",\"type\"],optgroup:[\"disabled\",\"label\"],option:[\"disabled\",\"label\",\"selected\",\"value\"],output:[\"for\",\"form\",\"name\"],p:[\"align\"],param:[\"name\",\"type\",\"value\",\"valuetype\"],pre:[\"width\"],progress:[\"max\",\"value\"],q:[\"cite\"],script:[\"async\",\"charset\",\"crossorigin\",\"defer\",\"integrity\",\"language\",\"nomodule\",\"nonce\",\"referrerpolicy\",\"src\",\"type\"],select:[\"autocomplete\",\"autofocus\",\"disabled\",\"form\",\"multiple\",\"name\",\"required\",\"size\",\"tabindex\"],slot:[\"name\"],source:[\"media\",\"sizes\",\"src\",\"srcset\",\"type\"],style:[\"media\",\"nonce\",\"title\",\"type\"],table:[\"align\",\"bgcolor\",\"border\",\"cellpadding\",\"cellspacing\",\"frame\",\"rules\",\"summary\",\"width\"],tbody:[\"align\",\"char\",\"charoff\",\"valign\"],td:[\"abbr\",\"align\",\"axis\",\"bgcolor\",\"char\",\"charoff\",\"colspan\",\"headers\",\"height\",\"nowrap\",\"rowspan\",\"scope\",\"valign\",\"width\"],textarea:[\"accesskey\",\"autocomplete\",\"autofocus\",\"cols\",\"dirname\",\"disabled\",\"form\",\"maxlength\",\"minlength\",\"name\",\"placeholder\",\"readonly\",\"required\",\"rows\",\"tabindex\",\"wrap\"],tfoot:[\"align\",\"char\",\"charoff\",\"valign\"],th:[\"abbr\",\"align\",\"axis\",\"bgcolor\",\"char\",\"charoff\",\"colspan\",\"headers\",\"height\",\"nowrap\",\"rowspan\",\"scope\",\"valign\",\"width\"],thead:[\"align\",\"char\",\"charoff\",\"valign\"],time:[\"datetime\"],tr:[\"align\",\"bgcolor\",\"char\",\"charoff\",\"valign\"],track:[\"default\",\"kind\",\"label\",\"src\",\"srclang\"],ul:[\"compact\",\"type\"],video:[\"autoplay\",\"controls\",\"crossorigin\",\"height\",\"loop\",\"muted\",\"playsinline\",\"poster\",\"preload\",\"src\",\"width\"]};const{inferParserByLanguage:kt,isFrontMatterNode:Nt}=We,{CSS_DISPLAY_TAGS:xt,CSS_DISPLAY_DEFAULT:Ot,CSS_WHITE_SPACE_TAGS:Rt,CSS_WHITE_SPACE_DEFAULT:Pt}={CSS_DISPLAY_TAGS:{area:\"none\",base:\"none\",basefont:\"none\",datalist:\"none\",head:\"none\",link:\"none\",meta:\"none\",noembed:\"none\",noframes:\"none\",param:\"block\",rp:\"none\",script:\"block\",source:\"block\",style:\"none\",template:\"inline\",track:\"block\",title:\"none\",html:\"block\",body:\"block\",address:\"block\",blockquote:\"block\",center:\"block\",div:\"block\",figure:\"block\",figcaption:\"block\",footer:\"block\",form:\"block\",header:\"block\",hr:\"block\",legend:\"block\",listing:\"block\",main:\"block\",p:\"block\",plaintext:\"block\",pre:\"block\",xmp:\"block\",slot:\"contents\",ruby:\"ruby\",rt:\"ruby-text\",article:\"block\",aside:\"block\",h1:\"block\",h2:\"block\",h3:\"block\",h4:\"block\",h5:\"block\",h6:\"block\",hgroup:\"block\",nav:\"block\",section:\"block\",dir:\"block\",dd:\"block\",dl:\"block\",dt:\"block\",ol:\"block\",ul:\"block\",li:\"list-item\",table:\"table\",caption:\"table-caption\",colgroup:\"table-column-group\",col:\"table-column\",thead:\"table-header-group\",tbody:\"table-row-group\",tfoot:\"table-footer-group\",tr:\"table-row\",td:\"table-cell\",th:\"table-cell\",fieldset:\"block\",button:\"inline-block\",details:\"block\",summary:\"block\",dialog:\"block\",meter:\"inline-block\",progress:\"inline-block\",object:\"inline-block\",video:\"inline-block\",audio:\"inline-block\",select:\"inline-block\",option:\"block\",optgroup:\"block\"},CSS_DISPLAY_DEFAULT:\"inline\",CSS_WHITE_SPACE_TAGS:{listing:\"pre\",plaintext:\"pre\",pre:\"pre\",xmp:\"pre\",nobr:\"nowrap\",table:\"initial\",textarea:\"pre-wrap\"},CSS_WHITE_SPACE_DEFAULT:\"normal\"},Lt=$t([\"a\",\"abbr\",\"acronym\",\"address\",\"applet\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"basefont\",\"bdi\",\"bdo\",\"bgsound\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"command\",\"content\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"image\",\"img\",\"input\",\"ins\",\"isindex\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"listing\",\"main\",\"map\",\"mark\",\"marquee\",\"math\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"multicol\",\"nav\",\"nextid\",\"nobr\",\"noembed\",\"noframes\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"plaintext\",\"pre\",\"progress\",\"q\",\"rb\",\"rbc\",\"rp\",\"rt\",\"rtc\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"shadow\",\"slot\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"svg\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"xmp\"]),Bt=function(e,t){const n=Object.create(null);for(const r of Object.keys(e))n[r]=t(e[r],r);return n}(wt,$t),It=new Set([\"\\t\",\"\\n\",\"\\f\",\"\\r\",\" \"]),qt=e=>e.replace(/[\\t\\n\\f\\r ]+$/,\"\");function $t(e){const t=Object.create(null);for(const n of e)t[n]=!0;return t}function Mt(e,t){return!(\"ieConditionalComment\"!==e.type||!e.lastChild||e.lastChild.isSelfClosing||e.lastChild.endSourceSpan)||(\"ieConditionalComment\"===e.type&&!e.complete||(!(!Zt(e)||!e.children.some((e=>\"text\"!==e.type&&\"interpolation\"!==e.type)))||!(!sn(e,t)||Gt(e)||\"interpolation\"===e.type)))}function Ut(e){if(\"attribute\"===e.type)return!1;if(!e.parent)return!1;if(\"number\"!=typeof e.index||0===e.index)return!1;return function(e){return\"comment\"===e.type&&\"prettier-ignore\"===e.value.trim()}(e.parent.children[e.index-1])}function Gt(e){return\"element\"===e.type&&(\"script\"===e.fullName||\"style\"===e.fullName||\"svg:style\"===e.fullName||Kt(e)&&(\"script\"===e.name||\"style\"===e.name))}function Vt(e){return en(e).startsWith(\"pre\")}function jt(e){return\"element\"===e.type&&0!==e.children.length&&([\"html\",\"head\",\"ul\",\"ol\",\"select\"].includes(e.name)||e.cssDisplay.startsWith(\"table\")&&\"table-cell\"!==e.cssDisplay)}function Ht(e){return Qt(e)||\"element\"===e.type&&\"br\"===e.fullName||Xt(e)}function Xt(e){return zt(e)&&Wt(e)}function zt(e){return e.hasLeadingSpaces&&(e.prev?e.prev.sourceSpan.end.linee.sourceSpan.end.line:\"root\"===e.parent.type||e.parent.endSourceSpan&&e.parent.endSourceSpan.start.line>e.sourceSpan.end.line)}function Qt(e){switch(e.type){case\"ieConditionalComment\":case\"comment\":case\"directive\":return!0;case\"element\":return[\"script\",\"select\"].includes(e.name)}return!1}function Yt(e){const{type:t,lang:n}=e.attrMap;return\"module\"===t||\"text/javascript\"===t||\"text/babel\"===t||\"application/javascript\"===t||\"jsx\"===n?\"babel\":\"application/x-typescript\"===t||\"ts\"===n||\"tsx\"===n?\"typescript\":\"text/markdown\"===t?\"markdown\":\"text/html\"===t?\"html\":t&&(t.endsWith(\"json\")||t.endsWith(\"importmap\"))?\"json\":\"text/x-handlebars-template\"===t?\"glimmer\":void 0}function Jt(e){return\"block\"===e||\"list-item\"===e||e.startsWith(\"table\")}function Zt(e){return en(e).startsWith(\"pre\")}function Kt(e){return\"element\"===e.type&&!e.hasExplicitNamespace&&![\"html\",\"svg\"].includes(e.namespace)}function en(e){return\"element\"===e.type&&(!e.namespace||Kt(e))&&Rt[e.name]||Pt}const tn=new Set([\"template\",\"style\",\"script\"]);function nn(e,t){return rn(e,t)&&!tn.has(e.fullName)}function rn(e,t){return\"vue\"===t.parser&&\"element\"===e.type&&\"root\"===e.parent.type&&\"html\"!==e.fullName.toLowerCase()}function sn(e,t){return rn(e,t)&&(nn(e,t)||e.attrMap.lang&&\"html\"!==e.attrMap.lang)}var on={HTML_ELEMENT_ATTRIBUTES:Bt,HTML_TAGS:Lt,htmlTrim:e=>(e=>e.replace(/^[\\t\\n\\f\\r ]+/,\"\"))(qt(e)),htmlTrimPreserveIndentation:e=>(e=>e.replace(/^[\\t\\f\\r ]*?\\n/g,\"\"))(qt(e)),splitByHtmlWhitespace:e=>e.split(/[\\t\\n\\f\\r ]+/),hasHtmlWhitespace:e=>/[\\t\\n\\f\\r ]/.test(e),getLeadingAndTrailingHtmlWhitespace:e=>{const[,t,n,r]=e.match(/^([\\t\\n\\f\\r ]*)([\\S\\s]*?)([\\t\\n\\f\\r ]*)$/);return{leadingWhitespace:t,trailingWhitespace:r,text:n}},canHaveInterpolation:function(e){return e.children&&!Gt(e)},countChars:function(e,t){let n=0;for(let r=0;r=0;r--){const s=e.stack[r];s&&\"object\"==typeof s&&!Array.isArray(s)&&t(s)&&n++}return n},dedentString:function(e,t=function(e){let t=1/0;for(const r of e.split(\"\\n\")){if(0===r.length)continue;if(!It.has(r[0]))return 0;const e=(n=r,n.match(/^[\\t\\n\\f\\r ]*/)[0]).length;r.length!==e&&ee.slice(t))).join(\"\\n\")},forceBreakChildren:jt,forceBreakContent:function(e){return jt(e)||\"element\"===e.type&&0!==e.children.length&&([\"body\",\"script\",\"style\"].includes(e.name)||e.children.some((e=>function(e){return e.children&&e.children.some((e=>\"text\"!==e.type))}(e))))||e.firstChild&&e.firstChild===e.lastChild&&\"text\"!==e.firstChild.type&&zt(e.firstChild)&&(!e.lastChild.isTrailingSpaceSensitive||Wt(e.lastChild))},forceNextEmptyLine:function(e){return Nt(e)||e.next&&e.sourceSpan.end&&e.sourceSpan.end.line+1\"svg:foreignObject\"===e.fullName)))return\"svg\"===e.name?\"inline-block\":\"block\";n=!0}switch(t.htmlWhitespaceSensitivity){case\"strict\":return\"inline\";case\"ignore\":return\"block\";default:return\"vue\"===t.parser&&e.parent&&\"root\"===e.parent.type?\"block\":\"element\"===e.type&&(!e.namespace||n||Kt(e))&&xt[e.name]||Ot}},getNodeCssStyleWhiteSpace:en,getPrettierIgnoreAttributeCommentData:function(e){const t=e.trim().match(/^prettier-ignore-attribute(?:\\s+([^]+))?$/);return!!t&&(!t[1]||t[1].split(/\\s+/))},hasPrettierIgnore:Ut,inferScriptParser:function(e,t){return\"script\"!==e.name||e.attrMap.src?\"style\"===e.name?function(e){const{lang:t}=e.attrMap;return t&&\"postcss\"!==t&&\"css\"!==t?\"scss\"===t?\"scss\":\"less\"===t?\"less\":void 0:\"css\"}(e):t&&sn(e,t)?Yt(e)||!(\"src\"in e.attrMap)&&kt(e.attrMap.lang,t):void 0:e.attrMap.lang||e.attrMap.type?Yt(e):\"babel\"},isVueCustomBlock:nn,isVueNonHtmlBlock:sn,isVueSlotAttribute:function(e){const t=e.fullName;return\"#\"===t.charAt(0)||\"slot-scope\"===t||\"v-slot\"===t||t.startsWith(\"v-slot:\")},isVueSfcBindingsAttribute:function(e,t){const n=e.parent;if(!rn(n,t))return!1;const r=n.fullName,s=e.fullName;return\"script\"===r&&\"setup\"===s||\"style\"===r&&\"vars\"===s},isDanglingSpaceSensitiveNode:function(e){return!(t=e.cssDisplay,Jt(t)||\"inline-block\"===t||Gt(e));var t},isIndentationSensitiveNode:Vt,isLeadingSpaceSensitiveNode:function(e,t){const n=function(){if(Nt(e))return!1;if((\"text\"===e.type||\"interpolation\"===e.type)&&e.prev&&(\"text\"===e.prev.type||\"interpolation\"===e.prev.type))return!0;if(!e.parent||\"none\"===e.parent.cssDisplay)return!1;if(Zt(e.parent))return!0;if(!e.prev&&(\"root\"===e.parent.type||Zt(e)&&e.parent||Gt(e.parent)||nn(e.parent,t)||(n=e.parent.cssDisplay,Jt(n)||\"inline-block\"===n)))return!1;var n;if(e.prev&&!function(e){return!Jt(e)}(e.prev.cssDisplay))return!1;return!0}();return n&&!e.prev&&e.parent&&e.parent.tagDefinition&&e.parent.tagDefinition.ignoreFirstLf?\"interpolation\"===e.type:n},isPreLikeNode:Zt,isScriptLikeTag:Gt,isTextLikeNode:function(e){return\"text\"===e.type||\"comment\"===e.type},isTrailingSpaceSensitiveNode:function(e,t){return!Nt(e)&&(!(\"text\"!==e.type&&\"interpolation\"!==e.type||!e.next||\"text\"!==e.next.type&&\"interpolation\"!==e.next.type)||!(!e.parent||\"none\"===e.parent.cssDisplay)&&(!!Zt(e.parent)||!(!e.next&&(\"root\"===e.parent.type||Zt(e)&&e.parent||Gt(e.parent)||nn(e.parent,t)||(n=e.parent.cssDisplay,Jt(n)||\"inline-block\"===n)))&&!(e.next&&!function(e){return!Jt(e)}(e.next.cssDisplay))));var n},isWhitespaceSensitiveNode:function(e){return Gt(e)||\"interpolation\"===e.type||Vt(e)},isUnknownNamespace:Kt,preferHardlineAsLeadingSpaces:function(e){return Qt(e)||e.prev&&Ht(e.prev)||Xt(e)},preferHardlineAsTrailingSpaces:Ht,shouldNotPrintClosingTag:function(e,t){return!e.isSelfClosing&&!e.endSourceSpan&&(Ut(e)||Mt(e.parent,t))},shouldPreserveContent:Mt,unescapeQuoteEntities:function(e){return e.replace(/'/g,\"'\").replace(/"/g,'\"')}};var an={hasPragma:function(e){return/^\\s*/.test(e)},insertPragma:function(e){return\"\\x3c!-- @format --\\x3e\\n\\n\"+e.replace(/^\\s*\\n/,\"\")}};const un={attrs:!0,children:!0};class cn{constructor(e={}){for(const t of Object.keys(e)){const n=e[t];t in un?this._setNodes(t,n):this[t]=n}}_setNodes(e,t){t!==this[e]&&(this[e]=function(e,t){const n=e.map((e=>e instanceof cn?e.clone():new cn(e)));let r=null,s=n[0],i=n[1]||null;for(let e=0;e(e[t.fullName]=t.value,e)),Object.create(null))}))}map(e){let t=null;for(const n in un){const r=this[n];if(r){const s=ln(r,(t=>t.map(e)));t!==r&&(t||(t=new cn),t._setNodes(n,s))}}if(t){for(const e in this)e in un||(t[e]=this[e]);const{index:e,siblings:n,prev:r,next:s,parent:i}=this;pn(t,{index:e,siblings:n,prev:r,next:s,parent:i})}return e(t||this)}clone(e){return new cn(e?Object.assign({},this,e):this)}get firstChild(){return this.children&&0!==this.children.length?this.children[0]:null}get lastChild(){return this.children&&0!==this.children.length?this.children[this.children.length-1]:null}get rawName(){return this.hasExplicitNamespace?this.fullName:this.name}get fullName(){return this.namespace?this.namespace+\":\"+this.name:this.name}}function ln(e,t){const n=e.map(t);return n.some(((t,n)=>t!==e[n]))?n:e}function pn(e,t){const n=Object.keys(t).reduce(((e,n)=>(e[n]={value:t[n],enumerable:!1},e)),{});Object.defineProperties(e,n)}var Dn={Node:cn};const{ParseSourceSpan:hn}=o,dn=[[/^(\\[if([^\\]]*?)]>)([\\S\\s]*?){try{return[!0,t(i,a).children]}catch(e){return[!1,[{type:\"text\",value:i,sourceSpan:new hn(a,u)}]]}})();return{type:\"ieConditionalComment\",complete:c,children:l,condition:s.trim().replace(/\\s+/g,\" \"),sourceSpan:e.sourceSpan,startSourceSpan:new hn(e.sourceSpan.start,a),endSourceSpan:new hn(u,e.sourceSpan.end)}}],[/^\\[if([^\\]]*?)]>\",Gt:\"\\u226b\",gt:\">\",gtcc:\"\\u2aa7\",gtcir:\"\\u2a7a\",gtdot:\"\\u22d7\",gtlPar:\"\\u2995\",gtquest:\"\\u2a7c\",gtrapprox:\"\\u2a86\",gtrarr:\"\\u2978\",gtrdot:\"\\u22d7\",gtreqless:\"\\u22db\",gtreqqless:\"\\u2a8c\",gtrless:\"\\u2277\",gtrsim:\"\\u2273\",gvertneqq:\"\\u2269\\ufe00\",gvnE:\"\\u2269\\ufe00\",Hacek:\"\\u02c7\",hairsp:\"\\u200a\",half:\"\\xbd\",hamilt:\"\\u210b\",HARDcy:\"\\u042a\",hardcy:\"\\u044a\",hArr:\"\\u21d4\",harr:\"\\u2194\",harrcir:\"\\u2948\",harrw:\"\\u21ad\",Hat:\"^\",hbar:\"\\u210f\",Hcirc:\"\\u0124\",hcirc:\"\\u0125\",hearts:\"\\u2665\",heartsuit:\"\\u2665\",hellip:\"\\u2026\",hercon:\"\\u22b9\",Hfr:\"\\u210c\",hfr:\"\\ud835\\udd25\",HilbertSpace:\"\\u210b\",hksearow:\"\\u2925\",hkswarow:\"\\u2926\",hoarr:\"\\u21ff\",homtht:\"\\u223b\",hookleftarrow:\"\\u21a9\",hookrightarrow:\"\\u21aa\",Hopf:\"\\u210d\",hopf:\"\\ud835\\udd59\",horbar:\"\\u2015\",HorizontalLine:\"\\u2500\",Hscr:\"\\u210b\",hscr:\"\\ud835\\udcbd\",hslash:\"\\u210f\",Hstrok:\"\\u0126\",hstrok:\"\\u0127\",HumpDownHump:\"\\u224e\",HumpEqual:\"\\u224f\",hybull:\"\\u2043\",hyphen:\"\\u2010\",Iacute:\"\\xcd\",iacute:\"\\xed\",ic:\"\\u2063\",Icirc:\"\\xce\",icirc:\"\\xee\",Icy:\"\\u0418\",icy:\"\\u0438\",Idot:\"\\u0130\",IEcy:\"\\u0415\",iecy:\"\\u0435\",iexcl:\"\\xa1\",iff:\"\\u21d4\",Ifr:\"\\u2111\",ifr:\"\\ud835\\udd26\",Igrave:\"\\xcc\",igrave:\"\\xec\",ii:\"\\u2148\",iiiint:\"\\u2a0c\",iiint:\"\\u222d\",iinfin:\"\\u29dc\",iiota:\"\\u2129\",IJlig:\"\\u0132\",ijlig:\"\\u0133\",Im:\"\\u2111\",Imacr:\"\\u012a\",imacr:\"\\u012b\",image:\"\\u2111\",ImaginaryI:\"\\u2148\",imagline:\"\\u2110\",imagpart:\"\\u2111\",imath:\"\\u0131\",imof:\"\\u22b7\",imped:\"\\u01b5\",Implies:\"\\u21d2\",in:\"\\u2208\",incare:\"\\u2105\",infin:\"\\u221e\",infintie:\"\\u29dd\",inodot:\"\\u0131\",Int:\"\\u222c\",int:\"\\u222b\",intcal:\"\\u22ba\",integers:\"\\u2124\",Integral:\"\\u222b\",intercal:\"\\u22ba\",Intersection:\"\\u22c2\",intlarhk:\"\\u2a17\",intprod:\"\\u2a3c\",InvisibleComma:\"\\u2063\",InvisibleTimes:\"\\u2062\",IOcy:\"\\u0401\",iocy:\"\\u0451\",Iogon:\"\\u012e\",iogon:\"\\u012f\",Iopf:\"\\ud835\\udd40\",iopf:\"\\ud835\\udd5a\",Iota:\"\\u0399\",iota:\"\\u03b9\",iprod:\"\\u2a3c\",iquest:\"\\xbf\",Iscr:\"\\u2110\",iscr:\"\\ud835\\udcbe\",isin:\"\\u2208\",isindot:\"\\u22f5\",isinE:\"\\u22f9\",isins:\"\\u22f4\",isinsv:\"\\u22f3\",isinv:\"\\u2208\",it:\"\\u2062\",Itilde:\"\\u0128\",itilde:\"\\u0129\",Iukcy:\"\\u0406\",iukcy:\"\\u0456\",Iuml:\"\\xcf\",iuml:\"\\xef\",Jcirc:\"\\u0134\",jcirc:\"\\u0135\",Jcy:\"\\u0419\",jcy:\"\\u0439\",Jfr:\"\\ud835\\udd0d\",jfr:\"\\ud835\\udd27\",jmath:\"\\u0237\",Jopf:\"\\ud835\\udd41\",jopf:\"\\ud835\\udd5b\",Jscr:\"\\ud835\\udca5\",jscr:\"\\ud835\\udcbf\",Jsercy:\"\\u0408\",jsercy:\"\\u0458\",Jukcy:\"\\u0404\",jukcy:\"\\u0454\",Kappa:\"\\u039a\",kappa:\"\\u03ba\",kappav:\"\\u03f0\",Kcedil:\"\\u0136\",kcedil:\"\\u0137\",Kcy:\"\\u041a\",kcy:\"\\u043a\",Kfr:\"\\ud835\\udd0e\",kfr:\"\\ud835\\udd28\",kgreen:\"\\u0138\",KHcy:\"\\u0425\",khcy:\"\\u0445\",KJcy:\"\\u040c\",kjcy:\"\\u045c\",Kopf:\"\\ud835\\udd42\",kopf:\"\\ud835\\udd5c\",Kscr:\"\\ud835\\udca6\",kscr:\"\\ud835\\udcc0\",lAarr:\"\\u21da\",Lacute:\"\\u0139\",lacute:\"\\u013a\",laemptyv:\"\\u29b4\",lagran:\"\\u2112\",Lambda:\"\\u039b\",lambda:\"\\u03bb\",Lang:\"\\u27ea\",lang:\"\\u27e8\",langd:\"\\u2991\",langle:\"\\u27e8\",lap:\"\\u2a85\",Laplacetrf:\"\\u2112\",laquo:\"\\xab\",Larr:\"\\u219e\",lArr:\"\\u21d0\",larr:\"\\u2190\",larrb:\"\\u21e4\",larrbfs:\"\\u291f\",larrfs:\"\\u291d\",larrhk:\"\\u21a9\",larrlp:\"\\u21ab\",larrpl:\"\\u2939\",larrsim:\"\\u2973\",larrtl:\"\\u21a2\",lat:\"\\u2aab\",lAtail:\"\\u291b\",latail:\"\\u2919\",late:\"\\u2aad\",lates:\"\\u2aad\\ufe00\",lBarr:\"\\u290e\",lbarr:\"\\u290c\",lbbrk:\"\\u2772\",lbrace:\"{\",lbrack:\"[\",lbrke:\"\\u298b\",lbrksld:\"\\u298f\",lbrkslu:\"\\u298d\",Lcaron:\"\\u013d\",lcaron:\"\\u013e\",Lcedil:\"\\u013b\",lcedil:\"\\u013c\",lceil:\"\\u2308\",lcub:\"{\",Lcy:\"\\u041b\",lcy:\"\\u043b\",ldca:\"\\u2936\",ldquo:\"\\u201c\",ldquor:\"\\u201e\",ldrdhar:\"\\u2967\",ldrushar:\"\\u294b\",ldsh:\"\\u21b2\",lE:\"\\u2266\",le:\"\\u2264\",LeftAngleBracket:\"\\u27e8\",LeftArrow:\"\\u2190\",Leftarrow:\"\\u21d0\",leftarrow:\"\\u2190\",LeftArrowBar:\"\\u21e4\",LeftArrowRightArrow:\"\\u21c6\",leftarrowtail:\"\\u21a2\",LeftCeiling:\"\\u2308\",LeftDoubleBracket:\"\\u27e6\",LeftDownTeeVector:\"\\u2961\",LeftDownVector:\"\\u21c3\",LeftDownVectorBar:\"\\u2959\",LeftFloor:\"\\u230a\",leftharpoondown:\"\\u21bd\",leftharpoonup:\"\\u21bc\",leftleftarrows:\"\\u21c7\",LeftRightArrow:\"\\u2194\",Leftrightarrow:\"\\u21d4\",leftrightarrow:\"\\u2194\",leftrightarrows:\"\\u21c6\",leftrightharpoons:\"\\u21cb\",leftrightsquigarrow:\"\\u21ad\",LeftRightVector:\"\\u294e\",LeftTee:\"\\u22a3\",LeftTeeArrow:\"\\u21a4\",LeftTeeVector:\"\\u295a\",leftthreetimes:\"\\u22cb\",LeftTriangle:\"\\u22b2\",LeftTriangleBar:\"\\u29cf\",LeftTriangleEqual:\"\\u22b4\",LeftUpDownVector:\"\\u2951\",LeftUpTeeVector:\"\\u2960\",LeftUpVector:\"\\u21bf\",LeftUpVectorBar:\"\\u2958\",LeftVector:\"\\u21bc\",LeftVectorBar:\"\\u2952\",lEg:\"\\u2a8b\",leg:\"\\u22da\",leq:\"\\u2264\",leqq:\"\\u2266\",leqslant:\"\\u2a7d\",les:\"\\u2a7d\",lescc:\"\\u2aa8\",lesdot:\"\\u2a7f\",lesdoto:\"\\u2a81\",lesdotor:\"\\u2a83\",lesg:\"\\u22da\\ufe00\",lesges:\"\\u2a93\",lessapprox:\"\\u2a85\",lessdot:\"\\u22d6\",lesseqgtr:\"\\u22da\",lesseqqgtr:\"\\u2a8b\",LessEqualGreater:\"\\u22da\",LessFullEqual:\"\\u2266\",LessGreater:\"\\u2276\",lessgtr:\"\\u2276\",LessLess:\"\\u2aa1\",lesssim:\"\\u2272\",LessSlantEqual:\"\\u2a7d\",LessTilde:\"\\u2272\",lfisht:\"\\u297c\",lfloor:\"\\u230a\",Lfr:\"\\ud835\\udd0f\",lfr:\"\\ud835\\udd29\",lg:\"\\u2276\",lgE:\"\\u2a91\",lHar:\"\\u2962\",lhard:\"\\u21bd\",lharu:\"\\u21bc\",lharul:\"\\u296a\",lhblk:\"\\u2584\",LJcy:\"\\u0409\",ljcy:\"\\u0459\",Ll:\"\\u22d8\",ll:\"\\u226a\",llarr:\"\\u21c7\",llcorner:\"\\u231e\",Lleftarrow:\"\\u21da\",llhard:\"\\u296b\",lltri:\"\\u25fa\",Lmidot:\"\\u013f\",lmidot:\"\\u0140\",lmoust:\"\\u23b0\",lmoustache:\"\\u23b0\",lnap:\"\\u2a89\",lnapprox:\"\\u2a89\",lnE:\"\\u2268\",lne:\"\\u2a87\",lneq:\"\\u2a87\",lneqq:\"\\u2268\",lnsim:\"\\u22e6\",loang:\"\\u27ec\",loarr:\"\\u21fd\",lobrk:\"\\u27e6\",LongLeftArrow:\"\\u27f5\",Longleftarrow:\"\\u27f8\",longleftarrow:\"\\u27f5\",LongLeftRightArrow:\"\\u27f7\",Longleftrightarrow:\"\\u27fa\",longleftrightarrow:\"\\u27f7\",longmapsto:\"\\u27fc\",LongRightArrow:\"\\u27f6\",Longrightarrow:\"\\u27f9\",longrightarrow:\"\\u27f6\",looparrowleft:\"\\u21ab\",looparrowright:\"\\u21ac\",lopar:\"\\u2985\",Lopf:\"\\ud835\\udd43\",lopf:\"\\ud835\\udd5d\",loplus:\"\\u2a2d\",lotimes:\"\\u2a34\",lowast:\"\\u2217\",lowbar:\"_\",LowerLeftArrow:\"\\u2199\",LowerRightArrow:\"\\u2198\",loz:\"\\u25ca\",lozenge:\"\\u25ca\",lozf:\"\\u29eb\",lpar:\"(\",lparlt:\"\\u2993\",lrarr:\"\\u21c6\",lrcorner:\"\\u231f\",lrhar:\"\\u21cb\",lrhard:\"\\u296d\",lrm:\"\\u200e\",lrtri:\"\\u22bf\",lsaquo:\"\\u2039\",Lscr:\"\\u2112\",lscr:\"\\ud835\\udcc1\",Lsh:\"\\u21b0\",lsh:\"\\u21b0\",lsim:\"\\u2272\",lsime:\"\\u2a8d\",lsimg:\"\\u2a8f\",lsqb:\"[\",lsquo:\"\\u2018\",lsquor:\"\\u201a\",Lstrok:\"\\u0141\",lstrok:\"\\u0142\",LT:\"<\",Lt:\"\\u226a\",lt:\"<\",ltcc:\"\\u2aa6\",ltcir:\"\\u2a79\",ltdot:\"\\u22d6\",lthree:\"\\u22cb\",ltimes:\"\\u22c9\",ltlarr:\"\\u2976\",ltquest:\"\\u2a7b\",ltri:\"\\u25c3\",ltrie:\"\\u22b4\",ltrif:\"\\u25c2\",ltrPar:\"\\u2996\",lurdshar:\"\\u294a\",luruhar:\"\\u2966\",lvertneqq:\"\\u2268\\ufe00\",lvnE:\"\\u2268\\ufe00\",macr:\"\\xaf\",male:\"\\u2642\",malt:\"\\u2720\",maltese:\"\\u2720\",Map:\"\\u2905\",map:\"\\u21a6\",mapsto:\"\\u21a6\",mapstodown:\"\\u21a7\",mapstoleft:\"\\u21a4\",mapstoup:\"\\u21a5\",marker:\"\\u25ae\",mcomma:\"\\u2a29\",Mcy:\"\\u041c\",mcy:\"\\u043c\",mdash:\"\\u2014\",mDDot:\"\\u223a\",measuredangle:\"\\u2221\",MediumSpace:\"\\u205f\",Mellintrf:\"\\u2133\",Mfr:\"\\ud835\\udd10\",mfr:\"\\ud835\\udd2a\",mho:\"\\u2127\",micro:\"\\xb5\",mid:\"\\u2223\",midast:\"*\",midcir:\"\\u2af0\",middot:\"\\xb7\",minus:\"\\u2212\",minusb:\"\\u229f\",minusd:\"\\u2238\",minusdu:\"\\u2a2a\",MinusPlus:\"\\u2213\",mlcp:\"\\u2adb\",mldr:\"\\u2026\",mnplus:\"\\u2213\",models:\"\\u22a7\",Mopf:\"\\ud835\\udd44\",mopf:\"\\ud835\\udd5e\",mp:\"\\u2213\",Mscr:\"\\u2133\",mscr:\"\\ud835\\udcc2\",mstpos:\"\\u223e\",Mu:\"\\u039c\",mu:\"\\u03bc\",multimap:\"\\u22b8\",mumap:\"\\u22b8\",nabla:\"\\u2207\",Nacute:\"\\u0143\",nacute:\"\\u0144\",nang:\"\\u2220\\u20d2\",nap:\"\\u2249\",napE:\"\\u2a70\\u0338\",napid:\"\\u224b\\u0338\",napos:\"\\u0149\",napprox:\"\\u2249\",natur:\"\\u266e\",natural:\"\\u266e\",naturals:\"\\u2115\",nbsp:\"\\xa0\",nbump:\"\\u224e\\u0338\",nbumpe:\"\\u224f\\u0338\",ncap:\"\\u2a43\",Ncaron:\"\\u0147\",ncaron:\"\\u0148\",Ncedil:\"\\u0145\",ncedil:\"\\u0146\",ncong:\"\\u2247\",ncongdot:\"\\u2a6d\\u0338\",ncup:\"\\u2a42\",Ncy:\"\\u041d\",ncy:\"\\u043d\",ndash:\"\\u2013\",ne:\"\\u2260\",nearhk:\"\\u2924\",neArr:\"\\u21d7\",nearr:\"\\u2197\",nearrow:\"\\u2197\",nedot:\"\\u2250\\u0338\",NegativeMediumSpace:\"\\u200b\",NegativeThickSpace:\"\\u200b\",NegativeThinSpace:\"\\u200b\",NegativeVeryThinSpace:\"\\u200b\",nequiv:\"\\u2262\",nesear:\"\\u2928\",nesim:\"\\u2242\\u0338\",NestedGreaterGreater:\"\\u226b\",NestedLessLess:\"\\u226a\",NewLine:\"\\n\",nexist:\"\\u2204\",nexists:\"\\u2204\",Nfr:\"\\ud835\\udd11\",nfr:\"\\ud835\\udd2b\",ngE:\"\\u2267\\u0338\",nge:\"\\u2271\",ngeq:\"\\u2271\",ngeqq:\"\\u2267\\u0338\",ngeqslant:\"\\u2a7e\\u0338\",nges:\"\\u2a7e\\u0338\",nGg:\"\\u22d9\\u0338\",ngsim:\"\\u2275\",nGt:\"\\u226b\\u20d2\",ngt:\"\\u226f\",ngtr:\"\\u226f\",nGtv:\"\\u226b\\u0338\",nhArr:\"\\u21ce\",nharr:\"\\u21ae\",nhpar:\"\\u2af2\",ni:\"\\u220b\",nis:\"\\u22fc\",nisd:\"\\u22fa\",niv:\"\\u220b\",NJcy:\"\\u040a\",njcy:\"\\u045a\",nlArr:\"\\u21cd\",nlarr:\"\\u219a\",nldr:\"\\u2025\",nlE:\"\\u2266\\u0338\",nle:\"\\u2270\",nLeftarrow:\"\\u21cd\",nleftarrow:\"\\u219a\",nLeftrightarrow:\"\\u21ce\",nleftrightarrow:\"\\u21ae\",nleq:\"\\u2270\",nleqq:\"\\u2266\\u0338\",nleqslant:\"\\u2a7d\\u0338\",nles:\"\\u2a7d\\u0338\",nless:\"\\u226e\",nLl:\"\\u22d8\\u0338\",nlsim:\"\\u2274\",nLt:\"\\u226a\\u20d2\",nlt:\"\\u226e\",nltri:\"\\u22ea\",nltrie:\"\\u22ec\",nLtv:\"\\u226a\\u0338\",nmid:\"\\u2224\",NoBreak:\"\\u2060\",NonBreakingSpace:\"\\xa0\",Nopf:\"\\u2115\",nopf:\"\\ud835\\udd5f\",Not:\"\\u2aec\",not:\"\\xac\",NotCongruent:\"\\u2262\",NotCupCap:\"\\u226d\",NotDoubleVerticalBar:\"\\u2226\",NotElement:\"\\u2209\",NotEqual:\"\\u2260\",NotEqualTilde:\"\\u2242\\u0338\",NotExists:\"\\u2204\",NotGreater:\"\\u226f\",NotGreaterEqual:\"\\u2271\",NotGreaterFullEqual:\"\\u2267\\u0338\",NotGreaterGreater:\"\\u226b\\u0338\",NotGreaterLess:\"\\u2279\",NotGreaterSlantEqual:\"\\u2a7e\\u0338\",NotGreaterTilde:\"\\u2275\",NotHumpDownHump:\"\\u224e\\u0338\",NotHumpEqual:\"\\u224f\\u0338\",notin:\"\\u2209\",notindot:\"\\u22f5\\u0338\",notinE:\"\\u22f9\\u0338\",notinva:\"\\u2209\",notinvb:\"\\u22f7\",notinvc:\"\\u22f6\",NotLeftTriangle:\"\\u22ea\",NotLeftTriangleBar:\"\\u29cf\\u0338\",NotLeftTriangleEqual:\"\\u22ec\",NotLess:\"\\u226e\",NotLessEqual:\"\\u2270\",NotLessGreater:\"\\u2278\",NotLessLess:\"\\u226a\\u0338\",NotLessSlantEqual:\"\\u2a7d\\u0338\",NotLessTilde:\"\\u2274\",NotNestedGreaterGreater:\"\\u2aa2\\u0338\",NotNestedLessLess:\"\\u2aa1\\u0338\",notni:\"\\u220c\",notniva:\"\\u220c\",notnivb:\"\\u22fe\",notnivc:\"\\u22fd\",NotPrecedes:\"\\u2280\",NotPrecedesEqual:\"\\u2aaf\\u0338\",NotPrecedesSlantEqual:\"\\u22e0\",NotReverseElement:\"\\u220c\",NotRightTriangle:\"\\u22eb\",NotRightTriangleBar:\"\\u29d0\\u0338\",NotRightTriangleEqual:\"\\u22ed\",NotSquareSubset:\"\\u228f\\u0338\",NotSquareSubsetEqual:\"\\u22e2\",NotSquareSuperset:\"\\u2290\\u0338\",NotSquareSupersetEqual:\"\\u22e3\",NotSubset:\"\\u2282\\u20d2\",NotSubsetEqual:\"\\u2288\",NotSucceeds:\"\\u2281\",NotSucceedsEqual:\"\\u2ab0\\u0338\",NotSucceedsSlantEqual:\"\\u22e1\",NotSucceedsTilde:\"\\u227f\\u0338\",NotSuperset:\"\\u2283\\u20d2\",NotSupersetEqual:\"\\u2289\",NotTilde:\"\\u2241\",NotTildeEqual:\"\\u2244\",NotTildeFullEqual:\"\\u2247\",NotTildeTilde:\"\\u2249\",NotVerticalBar:\"\\u2224\",npar:\"\\u2226\",nparallel:\"\\u2226\",nparsl:\"\\u2afd\\u20e5\",npart:\"\\u2202\\u0338\",npolint:\"\\u2a14\",npr:\"\\u2280\",nprcue:\"\\u22e0\",npre:\"\\u2aaf\\u0338\",nprec:\"\\u2280\",npreceq:\"\\u2aaf\\u0338\",nrArr:\"\\u21cf\",nrarr:\"\\u219b\",nrarrc:\"\\u2933\\u0338\",nrarrw:\"\\u219d\\u0338\",nRightarrow:\"\\u21cf\",nrightarrow:\"\\u219b\",nrtri:\"\\u22eb\",nrtrie:\"\\u22ed\",nsc:\"\\u2281\",nsccue:\"\\u22e1\",nsce:\"\\u2ab0\\u0338\",Nscr:\"\\ud835\\udca9\",nscr:\"\\ud835\\udcc3\",nshortmid:\"\\u2224\",nshortparallel:\"\\u2226\",nsim:\"\\u2241\",nsime:\"\\u2244\",nsimeq:\"\\u2244\",nsmid:\"\\u2224\",nspar:\"\\u2226\",nsqsube:\"\\u22e2\",nsqsupe:\"\\u22e3\",nsub:\"\\u2284\",nsubE:\"\\u2ac5\\u0338\",nsube:\"\\u2288\",nsubset:\"\\u2282\\u20d2\",nsubseteq:\"\\u2288\",nsubseteqq:\"\\u2ac5\\u0338\",nsucc:\"\\u2281\",nsucceq:\"\\u2ab0\\u0338\",nsup:\"\\u2285\",nsupE:\"\\u2ac6\\u0338\",nsupe:\"\\u2289\",nsupset:\"\\u2283\\u20d2\",nsupseteq:\"\\u2289\",nsupseteqq:\"\\u2ac6\\u0338\",ntgl:\"\\u2279\",Ntilde:\"\\xd1\",ntilde:\"\\xf1\",ntlg:\"\\u2278\",ntriangleleft:\"\\u22ea\",ntrianglelefteq:\"\\u22ec\",ntriangleright:\"\\u22eb\",ntrianglerighteq:\"\\u22ed\",Nu:\"\\u039d\",nu:\"\\u03bd\",num:\"#\",numero:\"\\u2116\",numsp:\"\\u2007\",nvap:\"\\u224d\\u20d2\",nVDash:\"\\u22af\",nVdash:\"\\u22ae\",nvDash:\"\\u22ad\",nvdash:\"\\u22ac\",nvge:\"\\u2265\\u20d2\",nvgt:\">\\u20d2\",nvHarr:\"\\u2904\",nvinfin:\"\\u29de\",nvlArr:\"\\u2902\",nvle:\"\\u2264\\u20d2\",nvlt:\"<\\u20d2\",nvltrie:\"\\u22b4\\u20d2\",nvrArr:\"\\u2903\",nvrtrie:\"\\u22b5\\u20d2\",nvsim:\"\\u223c\\u20d2\",nwarhk:\"\\u2923\",nwArr:\"\\u21d6\",nwarr:\"\\u2196\",nwarrow:\"\\u2196\",nwnear:\"\\u2927\",Oacute:\"\\xd3\",oacute:\"\\xf3\",oast:\"\\u229b\",ocir:\"\\u229a\",Ocirc:\"\\xd4\",ocirc:\"\\xf4\",Ocy:\"\\u041e\",ocy:\"\\u043e\",odash:\"\\u229d\",Odblac:\"\\u0150\",odblac:\"\\u0151\",odiv:\"\\u2a38\",odot:\"\\u2299\",odsold:\"\\u29bc\",OElig:\"\\u0152\",oelig:\"\\u0153\",ofcir:\"\\u29bf\",Ofr:\"\\ud835\\udd12\",ofr:\"\\ud835\\udd2c\",ogon:\"\\u02db\",Ograve:\"\\xd2\",ograve:\"\\xf2\",ogt:\"\\u29c1\",ohbar:\"\\u29b5\",ohm:\"\\u03a9\",oint:\"\\u222e\",olarr:\"\\u21ba\",olcir:\"\\u29be\",olcross:\"\\u29bb\",oline:\"\\u203e\",olt:\"\\u29c0\",Omacr:\"\\u014c\",omacr:\"\\u014d\",Omega:\"\\u03a9\",omega:\"\\u03c9\",Omicron:\"\\u039f\",omicron:\"\\u03bf\",omid:\"\\u29b6\",ominus:\"\\u2296\",Oopf:\"\\ud835\\udd46\",oopf:\"\\ud835\\udd60\",opar:\"\\u29b7\",OpenCurlyDoubleQuote:\"\\u201c\",OpenCurlyQuote:\"\\u2018\",operp:\"\\u29b9\",oplus:\"\\u2295\",Or:\"\\u2a54\",or:\"\\u2228\",orarr:\"\\u21bb\",ord:\"\\u2a5d\",order:\"\\u2134\",orderof:\"\\u2134\",ordf:\"\\xaa\",ordm:\"\\xba\",origof:\"\\u22b6\",oror:\"\\u2a56\",orslope:\"\\u2a57\",orv:\"\\u2a5b\",oS:\"\\u24c8\",Oscr:\"\\ud835\\udcaa\",oscr:\"\\u2134\",Oslash:\"\\xd8\",oslash:\"\\xf8\",osol:\"\\u2298\",Otilde:\"\\xd5\",otilde:\"\\xf5\",Otimes:\"\\u2a37\",otimes:\"\\u2297\",otimesas:\"\\u2a36\",Ouml:\"\\xd6\",ouml:\"\\xf6\",ovbar:\"\\u233d\",OverBar:\"\\u203e\",OverBrace:\"\\u23de\",OverBracket:\"\\u23b4\",OverParenthesis:\"\\u23dc\",par:\"\\u2225\",para:\"\\xb6\",parallel:\"\\u2225\",parsim:\"\\u2af3\",parsl:\"\\u2afd\",part:\"\\u2202\",PartialD:\"\\u2202\",Pcy:\"\\u041f\",pcy:\"\\u043f\",percnt:\"%\",period:\".\",permil:\"\\u2030\",perp:\"\\u22a5\",pertenk:\"\\u2031\",Pfr:\"\\ud835\\udd13\",pfr:\"\\ud835\\udd2d\",Phi:\"\\u03a6\",phi:\"\\u03c6\",phiv:\"\\u03d5\",phmmat:\"\\u2133\",phone:\"\\u260e\",Pi:\"\\u03a0\",pi:\"\\u03c0\",pitchfork:\"\\u22d4\",piv:\"\\u03d6\",planck:\"\\u210f\",planckh:\"\\u210e\",plankv:\"\\u210f\",plus:\"+\",plusacir:\"\\u2a23\",plusb:\"\\u229e\",pluscir:\"\\u2a22\",plusdo:\"\\u2214\",plusdu:\"\\u2a25\",pluse:\"\\u2a72\",PlusMinus:\"\\xb1\",plusmn:\"\\xb1\",plussim:\"\\u2a26\",plustwo:\"\\u2a27\",pm:\"\\xb1\",Poincareplane:\"\\u210c\",pointint:\"\\u2a15\",Popf:\"\\u2119\",popf:\"\\ud835\\udd61\",pound:\"\\xa3\",Pr:\"\\u2abb\",pr:\"\\u227a\",prap:\"\\u2ab7\",prcue:\"\\u227c\",prE:\"\\u2ab3\",pre:\"\\u2aaf\",prec:\"\\u227a\",precapprox:\"\\u2ab7\",preccurlyeq:\"\\u227c\",Precedes:\"\\u227a\",PrecedesEqual:\"\\u2aaf\",PrecedesSlantEqual:\"\\u227c\",PrecedesTilde:\"\\u227e\",preceq:\"\\u2aaf\",precnapprox:\"\\u2ab9\",precneqq:\"\\u2ab5\",precnsim:\"\\u22e8\",precsim:\"\\u227e\",Prime:\"\\u2033\",prime:\"\\u2032\",primes:\"\\u2119\",prnap:\"\\u2ab9\",prnE:\"\\u2ab5\",prnsim:\"\\u22e8\",prod:\"\\u220f\",Product:\"\\u220f\",profalar:\"\\u232e\",profline:\"\\u2312\",profsurf:\"\\u2313\",prop:\"\\u221d\",Proportion:\"\\u2237\",Proportional:\"\\u221d\",propto:\"\\u221d\",prsim:\"\\u227e\",prurel:\"\\u22b0\",Pscr:\"\\ud835\\udcab\",pscr:\"\\ud835\\udcc5\",Psi:\"\\u03a8\",psi:\"\\u03c8\",puncsp:\"\\u2008\",Qfr:\"\\ud835\\udd14\",qfr:\"\\ud835\\udd2e\",qint:\"\\u2a0c\",Qopf:\"\\u211a\",qopf:\"\\ud835\\udd62\",qprime:\"\\u2057\",Qscr:\"\\ud835\\udcac\",qscr:\"\\ud835\\udcc6\",quaternions:\"\\u210d\",quatint:\"\\u2a16\",quest:\"?\",questeq:\"\\u225f\",QUOT:'\"',quot:'\"',rAarr:\"\\u21db\",race:\"\\u223d\\u0331\",Racute:\"\\u0154\",racute:\"\\u0155\",radic:\"\\u221a\",raemptyv:\"\\u29b3\",Rang:\"\\u27eb\",rang:\"\\u27e9\",rangd:\"\\u2992\",range:\"\\u29a5\",rangle:\"\\u27e9\",raquo:\"\\xbb\",Rarr:\"\\u21a0\",rArr:\"\\u21d2\",rarr:\"\\u2192\",rarrap:\"\\u2975\",rarrb:\"\\u21e5\",rarrbfs:\"\\u2920\",rarrc:\"\\u2933\",rarrfs:\"\\u291e\",rarrhk:\"\\u21aa\",rarrlp:\"\\u21ac\",rarrpl:\"\\u2945\",rarrsim:\"\\u2974\",Rarrtl:\"\\u2916\",rarrtl:\"\\u21a3\",rarrw:\"\\u219d\",rAtail:\"\\u291c\",ratail:\"\\u291a\",ratio:\"\\u2236\",rationals:\"\\u211a\",RBarr:\"\\u2910\",rBarr:\"\\u290f\",rbarr:\"\\u290d\",rbbrk:\"\\u2773\",rbrace:\"}\",rbrack:\"]\",rbrke:\"\\u298c\",rbrksld:\"\\u298e\",rbrkslu:\"\\u2990\",Rcaron:\"\\u0158\",rcaron:\"\\u0159\",Rcedil:\"\\u0156\",rcedil:\"\\u0157\",rceil:\"\\u2309\",rcub:\"}\",Rcy:\"\\u0420\",rcy:\"\\u0440\",rdca:\"\\u2937\",rdldhar:\"\\u2969\",rdquo:\"\\u201d\",rdquor:\"\\u201d\",rdsh:\"\\u21b3\",Re:\"\\u211c\",real:\"\\u211c\",realine:\"\\u211b\",realpart:\"\\u211c\",reals:\"\\u211d\",rect:\"\\u25ad\",REG:\"\\xae\",reg:\"\\xae\",ReverseElement:\"\\u220b\",ReverseEquilibrium:\"\\u21cb\",ReverseUpEquilibrium:\"\\u296f\",rfisht:\"\\u297d\",rfloor:\"\\u230b\",Rfr:\"\\u211c\",rfr:\"\\ud835\\udd2f\",rHar:\"\\u2964\",rhard:\"\\u21c1\",rharu:\"\\u21c0\",rharul:\"\\u296c\",Rho:\"\\u03a1\",rho:\"\\u03c1\",rhov:\"\\u03f1\",RightAngleBracket:\"\\u27e9\",RightArrow:\"\\u2192\",Rightarrow:\"\\u21d2\",rightarrow:\"\\u2192\",RightArrowBar:\"\\u21e5\",RightArrowLeftArrow:\"\\u21c4\",rightarrowtail:\"\\u21a3\",RightCeiling:\"\\u2309\",RightDoubleBracket:\"\\u27e7\",RightDownTeeVector:\"\\u295d\",RightDownVector:\"\\u21c2\",RightDownVectorBar:\"\\u2955\",RightFloor:\"\\u230b\",rightharpoondown:\"\\u21c1\",rightharpoonup:\"\\u21c0\",rightleftarrows:\"\\u21c4\",rightleftharpoons:\"\\u21cc\",rightrightarrows:\"\\u21c9\",rightsquigarrow:\"\\u219d\",RightTee:\"\\u22a2\",RightTeeArrow:\"\\u21a6\",RightTeeVector:\"\\u295b\",rightthreetimes:\"\\u22cc\",RightTriangle:\"\\u22b3\",RightTriangleBar:\"\\u29d0\",RightTriangleEqual:\"\\u22b5\",RightUpDownVector:\"\\u294f\",RightUpTeeVector:\"\\u295c\",RightUpVector:\"\\u21be\",RightUpVectorBar:\"\\u2954\",RightVector:\"\\u21c0\",RightVectorBar:\"\\u2953\",ring:\"\\u02da\",risingdotseq:\"\\u2253\",rlarr:\"\\u21c4\",rlhar:\"\\u21cc\",rlm:\"\\u200f\",rmoust:\"\\u23b1\",rmoustache:\"\\u23b1\",rnmid:\"\\u2aee\",roang:\"\\u27ed\",roarr:\"\\u21fe\",robrk:\"\\u27e7\",ropar:\"\\u2986\",Ropf:\"\\u211d\",ropf:\"\\ud835\\udd63\",roplus:\"\\u2a2e\",rotimes:\"\\u2a35\",RoundImplies:\"\\u2970\",rpar:\")\",rpargt:\"\\u2994\",rppolint:\"\\u2a12\",rrarr:\"\\u21c9\",Rrightarrow:\"\\u21db\",rsaquo:\"\\u203a\",Rscr:\"\\u211b\",rscr:\"\\ud835\\udcc7\",Rsh:\"\\u21b1\",rsh:\"\\u21b1\",rsqb:\"]\",rsquo:\"\\u2019\",rsquor:\"\\u2019\",rthree:\"\\u22cc\",rtimes:\"\\u22ca\",rtri:\"\\u25b9\",rtrie:\"\\u22b5\",rtrif:\"\\u25b8\",rtriltri:\"\\u29ce\",RuleDelayed:\"\\u29f4\",ruluhar:\"\\u2968\",rx:\"\\u211e\",Sacute:\"\\u015a\",sacute:\"\\u015b\",sbquo:\"\\u201a\",Sc:\"\\u2abc\",sc:\"\\u227b\",scap:\"\\u2ab8\",Scaron:\"\\u0160\",scaron:\"\\u0161\",sccue:\"\\u227d\",scE:\"\\u2ab4\",sce:\"\\u2ab0\",Scedil:\"\\u015e\",scedil:\"\\u015f\",Scirc:\"\\u015c\",scirc:\"\\u015d\",scnap:\"\\u2aba\",scnE:\"\\u2ab6\",scnsim:\"\\u22e9\",scpolint:\"\\u2a13\",scsim:\"\\u227f\",Scy:\"\\u0421\",scy:\"\\u0441\",sdot:\"\\u22c5\",sdotb:\"\\u22a1\",sdote:\"\\u2a66\",searhk:\"\\u2925\",seArr:\"\\u21d8\",searr:\"\\u2198\",searrow:\"\\u2198\",sect:\"\\xa7\",semi:\";\",seswar:\"\\u2929\",setminus:\"\\u2216\",setmn:\"\\u2216\",sext:\"\\u2736\",Sfr:\"\\ud835\\udd16\",sfr:\"\\ud835\\udd30\",sfrown:\"\\u2322\",sharp:\"\\u266f\",SHCHcy:\"\\u0429\",shchcy:\"\\u0449\",SHcy:\"\\u0428\",shcy:\"\\u0448\",ShortDownArrow:\"\\u2193\",ShortLeftArrow:\"\\u2190\",shortmid:\"\\u2223\",shortparallel:\"\\u2225\",ShortRightArrow:\"\\u2192\",ShortUpArrow:\"\\u2191\",shy:\"\\xad\",Sigma:\"\\u03a3\",sigma:\"\\u03c3\",sigmaf:\"\\u03c2\",sigmav:\"\\u03c2\",sim:\"\\u223c\",simdot:\"\\u2a6a\",sime:\"\\u2243\",simeq:\"\\u2243\",simg:\"\\u2a9e\",simgE:\"\\u2aa0\",siml:\"\\u2a9d\",simlE:\"\\u2a9f\",simne:\"\\u2246\",simplus:\"\\u2a24\",simrarr:\"\\u2972\",slarr:\"\\u2190\",SmallCircle:\"\\u2218\",smallsetminus:\"\\u2216\",smashp:\"\\u2a33\",smeparsl:\"\\u29e4\",smid:\"\\u2223\",smile:\"\\u2323\",smt:\"\\u2aaa\",smte:\"\\u2aac\",smtes:\"\\u2aac\\ufe00\",SOFTcy:\"\\u042c\",softcy:\"\\u044c\",sol:\"/\",solb:\"\\u29c4\",solbar:\"\\u233f\",Sopf:\"\\ud835\\udd4a\",sopf:\"\\ud835\\udd64\",spades:\"\\u2660\",spadesuit:\"\\u2660\",spar:\"\\u2225\",sqcap:\"\\u2293\",sqcaps:\"\\u2293\\ufe00\",sqcup:\"\\u2294\",sqcups:\"\\u2294\\ufe00\",Sqrt:\"\\u221a\",sqsub:\"\\u228f\",sqsube:\"\\u2291\",sqsubset:\"\\u228f\",sqsubseteq:\"\\u2291\",sqsup:\"\\u2290\",sqsupe:\"\\u2292\",sqsupset:\"\\u2290\",sqsupseteq:\"\\u2292\",squ:\"\\u25a1\",Square:\"\\u25a1\",square:\"\\u25a1\",SquareIntersection:\"\\u2293\",SquareSubset:\"\\u228f\",SquareSubsetEqual:\"\\u2291\",SquareSuperset:\"\\u2290\",SquareSupersetEqual:\"\\u2292\",SquareUnion:\"\\u2294\",squarf:\"\\u25aa\",squf:\"\\u25aa\",srarr:\"\\u2192\",Sscr:\"\\ud835\\udcae\",sscr:\"\\ud835\\udcc8\",ssetmn:\"\\u2216\",ssmile:\"\\u2323\",sstarf:\"\\u22c6\",Star:\"\\u22c6\",star:\"\\u2606\",starf:\"\\u2605\",straightepsilon:\"\\u03f5\",straightphi:\"\\u03d5\",strns:\"\\xaf\",Sub:\"\\u22d0\",sub:\"\\u2282\",subdot:\"\\u2abd\",subE:\"\\u2ac5\",sube:\"\\u2286\",subedot:\"\\u2ac3\",submult:\"\\u2ac1\",subnE:\"\\u2acb\",subne:\"\\u228a\",subplus:\"\\u2abf\",subrarr:\"\\u2979\",Subset:\"\\u22d0\",subset:\"\\u2282\",subseteq:\"\\u2286\",subseteqq:\"\\u2ac5\",SubsetEqual:\"\\u2286\",subsetneq:\"\\u228a\",subsetneqq:\"\\u2acb\",subsim:\"\\u2ac7\",subsub:\"\\u2ad5\",subsup:\"\\u2ad3\",succ:\"\\u227b\",succapprox:\"\\u2ab8\",succcurlyeq:\"\\u227d\",Succeeds:\"\\u227b\",SucceedsEqual:\"\\u2ab0\",SucceedsSlantEqual:\"\\u227d\",SucceedsTilde:\"\\u227f\",succeq:\"\\u2ab0\",succnapprox:\"\\u2aba\",succneqq:\"\\u2ab6\",succnsim:\"\\u22e9\",succsim:\"\\u227f\",SuchThat:\"\\u220b\",Sum:\"\\u2211\",sum:\"\\u2211\",sung:\"\\u266a\",Sup:\"\\u22d1\",sup:\"\\u2283\",sup1:\"\\xb9\",sup2:\"\\xb2\",sup3:\"\\xb3\",supdot:\"\\u2abe\",supdsub:\"\\u2ad8\",supE:\"\\u2ac6\",supe:\"\\u2287\",supedot:\"\\u2ac4\",Superset:\"\\u2283\",SupersetEqual:\"\\u2287\",suphsol:\"\\u27c9\",suphsub:\"\\u2ad7\",suplarr:\"\\u297b\",supmult:\"\\u2ac2\",supnE:\"\\u2acc\",supne:\"\\u228b\",supplus:\"\\u2ac0\",Supset:\"\\u22d1\",supset:\"\\u2283\",supseteq:\"\\u2287\",supseteqq:\"\\u2ac6\",supsetneq:\"\\u228b\",supsetneqq:\"\\u2acc\",supsim:\"\\u2ac8\",supsub:\"\\u2ad4\",supsup:\"\\u2ad6\",swarhk:\"\\u2926\",swArr:\"\\u21d9\",swarr:\"\\u2199\",swarrow:\"\\u2199\",swnwar:\"\\u292a\",szlig:\"\\xdf\",Tab:\"\\t\",target:\"\\u2316\",Tau:\"\\u03a4\",tau:\"\\u03c4\",tbrk:\"\\u23b4\",Tcaron:\"\\u0164\",tcaron:\"\\u0165\",Tcedil:\"\\u0162\",tcedil:\"\\u0163\",Tcy:\"\\u0422\",tcy:\"\\u0442\",tdot:\"\\u20db\",telrec:\"\\u2315\",Tfr:\"\\ud835\\udd17\",tfr:\"\\ud835\\udd31\",there4:\"\\u2234\",Therefore:\"\\u2234\",therefore:\"\\u2234\",Theta:\"\\u0398\",theta:\"\\u03b8\",thetasym:\"\\u03d1\",thetav:\"\\u03d1\",thickapprox:\"\\u2248\",thicksim:\"\\u223c\",ThickSpace:\"\\u205f\\u200a\",thinsp:\"\\u2009\",ThinSpace:\"\\u2009\",thkap:\"\\u2248\",thksim:\"\\u223c\",THORN:\"\\xde\",thorn:\"\\xfe\",Tilde:\"\\u223c\",tilde:\"\\u02dc\",TildeEqual:\"\\u2243\",TildeFullEqual:\"\\u2245\",TildeTilde:\"\\u2248\",times:\"\\xd7\",timesb:\"\\u22a0\",timesbar:\"\\u2a31\",timesd:\"\\u2a30\",tint:\"\\u222d\",toea:\"\\u2928\",top:\"\\u22a4\",topbot:\"\\u2336\",topcir:\"\\u2af1\",Topf:\"\\ud835\\udd4b\",topf:\"\\ud835\\udd65\",topfork:\"\\u2ada\",tosa:\"\\u2929\",tprime:\"\\u2034\",TRADE:\"\\u2122\",trade:\"\\u2122\",triangle:\"\\u25b5\",triangledown:\"\\u25bf\",triangleleft:\"\\u25c3\",trianglelefteq:\"\\u22b4\",triangleq:\"\\u225c\",triangleright:\"\\u25b9\",trianglerighteq:\"\\u22b5\",tridot:\"\\u25ec\",trie:\"\\u225c\",triminus:\"\\u2a3a\",TripleDot:\"\\u20db\",triplus:\"\\u2a39\",trisb:\"\\u29cd\",tritime:\"\\u2a3b\",trpezium:\"\\u23e2\",Tscr:\"\\ud835\\udcaf\",tscr:\"\\ud835\\udcc9\",TScy:\"\\u0426\",tscy:\"\\u0446\",TSHcy:\"\\u040b\",tshcy:\"\\u045b\",Tstrok:\"\\u0166\",tstrok:\"\\u0167\",twixt:\"\\u226c\",twoheadleftarrow:\"\\u219e\",twoheadrightarrow:\"\\u21a0\",Uacute:\"\\xda\",uacute:\"\\xfa\",Uarr:\"\\u219f\",uArr:\"\\u21d1\",uarr:\"\\u2191\",Uarrocir:\"\\u2949\",Ubrcy:\"\\u040e\",ubrcy:\"\\u045e\",Ubreve:\"\\u016c\",ubreve:\"\\u016d\",Ucirc:\"\\xdb\",ucirc:\"\\xfb\",Ucy:\"\\u0423\",ucy:\"\\u0443\",udarr:\"\\u21c5\",Udblac:\"\\u0170\",udblac:\"\\u0171\",udhar:\"\\u296e\",ufisht:\"\\u297e\",Ufr:\"\\ud835\\udd18\",ufr:\"\\ud835\\udd32\",Ugrave:\"\\xd9\",ugrave:\"\\xf9\",uHar:\"\\u2963\",uharl:\"\\u21bf\",uharr:\"\\u21be\",uhblk:\"\\u2580\",ulcorn:\"\\u231c\",ulcorner:\"\\u231c\",ulcrop:\"\\u230f\",ultri:\"\\u25f8\",Umacr:\"\\u016a\",umacr:\"\\u016b\",uml:\"\\xa8\",UnderBar:\"_\",UnderBrace:\"\\u23df\",UnderBracket:\"\\u23b5\",UnderParenthesis:\"\\u23dd\",Union:\"\\u22c3\",UnionPlus:\"\\u228e\",Uogon:\"\\u0172\",uogon:\"\\u0173\",Uopf:\"\\ud835\\udd4c\",uopf:\"\\ud835\\udd66\",UpArrow:\"\\u2191\",Uparrow:\"\\u21d1\",uparrow:\"\\u2191\",UpArrowBar:\"\\u2912\",UpArrowDownArrow:\"\\u21c5\",UpDownArrow:\"\\u2195\",Updownarrow:\"\\u21d5\",updownarrow:\"\\u2195\",UpEquilibrium:\"\\u296e\",upharpoonleft:\"\\u21bf\",upharpoonright:\"\\u21be\",uplus:\"\\u228e\",UpperLeftArrow:\"\\u2196\",UpperRightArrow:\"\\u2197\",Upsi:\"\\u03d2\",upsi:\"\\u03c5\",upsih:\"\\u03d2\",Upsilon:\"\\u03a5\",upsilon:\"\\u03c5\",UpTee:\"\\u22a5\",UpTeeArrow:\"\\u21a5\",upuparrows:\"\\u21c8\",urcorn:\"\\u231d\",urcorner:\"\\u231d\",urcrop:\"\\u230e\",Uring:\"\\u016e\",uring:\"\\u016f\",urtri:\"\\u25f9\",Uscr:\"\\ud835\\udcb0\",uscr:\"\\ud835\\udcca\",utdot:\"\\u22f0\",Utilde:\"\\u0168\",utilde:\"\\u0169\",utri:\"\\u25b5\",utrif:\"\\u25b4\",uuarr:\"\\u21c8\",Uuml:\"\\xdc\",uuml:\"\\xfc\",uwangle:\"\\u29a7\",vangrt:\"\\u299c\",varepsilon:\"\\u03f5\",varkappa:\"\\u03f0\",varnothing:\"\\u2205\",varphi:\"\\u03d5\",varpi:\"\\u03d6\",varpropto:\"\\u221d\",vArr:\"\\u21d5\",varr:\"\\u2195\",varrho:\"\\u03f1\",varsigma:\"\\u03c2\",varsubsetneq:\"\\u228a\\ufe00\",varsubsetneqq:\"\\u2acb\\ufe00\",varsupsetneq:\"\\u228b\\ufe00\",varsupsetneqq:\"\\u2acc\\ufe00\",vartheta:\"\\u03d1\",vartriangleleft:\"\\u22b2\",vartriangleright:\"\\u22b3\",Vbar:\"\\u2aeb\",vBar:\"\\u2ae8\",vBarv:\"\\u2ae9\",Vcy:\"\\u0412\",vcy:\"\\u0432\",VDash:\"\\u22ab\",Vdash:\"\\u22a9\",vDash:\"\\u22a8\",vdash:\"\\u22a2\",Vdashl:\"\\u2ae6\",Vee:\"\\u22c1\",vee:\"\\u2228\",veebar:\"\\u22bb\",veeeq:\"\\u225a\",vellip:\"\\u22ee\",Verbar:\"\\u2016\",verbar:\"|\",Vert:\"\\u2016\",vert:\"|\",VerticalBar:\"\\u2223\",VerticalLine:\"|\",VerticalSeparator:\"\\u2758\",VerticalTilde:\"\\u2240\",VeryThinSpace:\"\\u200a\",Vfr:\"\\ud835\\udd19\",vfr:\"\\ud835\\udd33\",vltri:\"\\u22b2\",vnsub:\"\\u2282\\u20d2\",vnsup:\"\\u2283\\u20d2\",Vopf:\"\\ud835\\udd4d\",vopf:\"\\ud835\\udd67\",vprop:\"\\u221d\",vrtri:\"\\u22b3\",Vscr:\"\\ud835\\udcb1\",vscr:\"\\ud835\\udccb\",vsubnE:\"\\u2acb\\ufe00\",vsubne:\"\\u228a\\ufe00\",vsupnE:\"\\u2acc\\ufe00\",vsupne:\"\\u228b\\ufe00\",Vvdash:\"\\u22aa\",vzigzag:\"\\u299a\",Wcirc:\"\\u0174\",wcirc:\"\\u0175\",wedbar:\"\\u2a5f\",Wedge:\"\\u22c0\",wedge:\"\\u2227\",wedgeq:\"\\u2259\",weierp:\"\\u2118\",Wfr:\"\\ud835\\udd1a\",wfr:\"\\ud835\\udd34\",Wopf:\"\\ud835\\udd4e\",wopf:\"\\ud835\\udd68\",wp:\"\\u2118\",wr:\"\\u2240\",wreath:\"\\u2240\",Wscr:\"\\ud835\\udcb2\",wscr:\"\\ud835\\udccc\",xcap:\"\\u22c2\",xcirc:\"\\u25ef\",xcup:\"\\u22c3\",xdtri:\"\\u25bd\",Xfr:\"\\ud835\\udd1b\",xfr:\"\\ud835\\udd35\",xhArr:\"\\u27fa\",xharr:\"\\u27f7\",Xi:\"\\u039e\",xi:\"\\u03be\",xlArr:\"\\u27f8\",xlarr:\"\\u27f5\",xmap:\"\\u27fc\",xnis:\"\\u22fb\",xodot:\"\\u2a00\",Xopf:\"\\ud835\\udd4f\",xopf:\"\\ud835\\udd69\",xoplus:\"\\u2a01\",xotime:\"\\u2a02\",xrArr:\"\\u27f9\",xrarr:\"\\u27f6\",Xscr:\"\\ud835\\udcb3\",xscr:\"\\ud835\\udccd\",xsqcup:\"\\u2a06\",xuplus:\"\\u2a04\",xutri:\"\\u25b3\",xvee:\"\\u22c1\",xwedge:\"\\u22c0\",Yacute:\"\\xdd\",yacute:\"\\xfd\",YAcy:\"\\u042f\",yacy:\"\\u044f\",Ycirc:\"\\u0176\",ycirc:\"\\u0177\",Ycy:\"\\u042b\",ycy:\"\\u044b\",yen:\"\\xa5\",Yfr:\"\\ud835\\udd1c\",yfr:\"\\ud835\\udd36\",YIcy:\"\\u0407\",yicy:\"\\u0457\",Yopf:\"\\ud835\\udd50\",yopf:\"\\ud835\\udd6a\",Yscr:\"\\ud835\\udcb4\",yscr:\"\\ud835\\udcce\",YUcy:\"\\u042e\",yucy:\"\\u044e\",Yuml:\"\\u0178\",yuml:\"\\xff\",Zacute:\"\\u0179\",zacute:\"\\u017a\",Zcaron:\"\\u017d\",zcaron:\"\\u017e\",Zcy:\"\\u0417\",zcy:\"\\u0437\",Zdot:\"\\u017b\",zdot:\"\\u017c\",zeetrf:\"\\u2128\",ZeroWidthSpace:\"\\u200b\",Zeta:\"\\u0396\",zeta:\"\\u03b6\",Zfr:\"\\u2128\",zfr:\"\\ud835\\udd37\",ZHcy:\"\\u0416\",zhcy:\"\\u0436\",zigrarr:\"\\u21dd\",Zopf:\"\\u2124\",zopf:\"\\ud835\\udd6b\",Zscr:\"\\ud835\\udcb5\",zscr:\"\\ud835\\udccf\",zwj:\"\\u200d\",zwnj:\"\\u200c\"},t.NGSP_UNICODE=\"\\ue500\",t.NAMED_ENTITIES.ngsp=t.NGSP_UNICODE})),En=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});class n{constructor({closedByChildren:e,implicitNamespacePrefix:t,contentType:n=gn.TagContentType.PARSABLE_DATA,closedByParent:r=!1,isVoid:s=!1,ignoreFirstLf:i=!1}={}){this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,e&&e.length>0&&e.forEach((e=>this.closedByChildren[e]=!0)),this.isVoid=s,this.closedByParent=r||s,this.implicitNamespacePrefix=t||null,this.contentType=n,this.ignoreFirstLf=i}isClosedByChild(e){return this.isVoid||e.toLowerCase()in this.closedByChildren}}let r,s;t.HtmlTagDefinition=n,t.getHtmlTagDefinition=function(e){return s||(r=new n,s={base:new n({isVoid:!0}),meta:new n({isVoid:!0}),area:new n({isVoid:!0}),embed:new n({isVoid:!0}),link:new n({isVoid:!0}),img:new n({isVoid:!0}),input:new n({isVoid:!0}),param:new n({isVoid:!0}),hr:new n({isVoid:!0}),br:new n({isVoid:!0}),source:new n({isVoid:!0}),track:new n({isVoid:!0}),wbr:new n({isVoid:!0}),p:new n({closedByChildren:[\"address\",\"article\",\"aside\",\"blockquote\",\"div\",\"dl\",\"fieldset\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"main\",\"nav\",\"ol\",\"p\",\"pre\",\"section\",\"table\",\"ul\"],closedByParent:!0}),thead:new n({closedByChildren:[\"tbody\",\"tfoot\"]}),tbody:new n({closedByChildren:[\"tbody\",\"tfoot\"],closedByParent:!0}),tfoot:new n({closedByChildren:[\"tbody\"],closedByParent:!0}),tr:new n({closedByChildren:[\"tr\"],closedByParent:!0}),td:new n({closedByChildren:[\"td\",\"th\"],closedByParent:!0}),th:new n({closedByChildren:[\"td\",\"th\"],closedByParent:!0}),col:new n({isVoid:!0}),svg:new n({implicitNamespacePrefix:\"svg\"}),math:new n({implicitNamespacePrefix:\"math\"}),li:new n({closedByChildren:[\"li\"],closedByParent:!0}),dt:new n({closedByChildren:[\"dt\",\"dd\"]}),dd:new n({closedByChildren:[\"dt\",\"dd\"],closedByParent:!0}),rb:new n({closedByChildren:[\"rb\",\"rt\",\"rtc\",\"rp\"],closedByParent:!0}),rt:new n({closedByChildren:[\"rb\",\"rt\",\"rtc\",\"rp\"],closedByParent:!0}),rtc:new n({closedByChildren:[\"rb\",\"rtc\",\"rp\"],closedByParent:!0}),rp:new n({closedByChildren:[\"rb\",\"rt\",\"rtc\",\"rp\"],closedByParent:!0}),optgroup:new n({closedByChildren:[\"optgroup\"],closedByParent:!0}),option:new n({closedByChildren:[\"option\",\"optgroup\"],closedByParent:!0}),pre:new n({ignoreFirstLf:!0}),listing:new n({ignoreFirstLf:!0}),style:new n({contentType:gn.TagContentType.RAW_TEXT}),script:new n({contentType:gn.TagContentType.RAW_TEXT}),title:new n({contentType:gn.TagContentType.ESCAPABLE_RAW_TEXT}),textarea:new n({contentType:gn.TagContentType.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),s[e]||r}})),Cn=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});t.AstPath=class{constructor(e,t=-1){this.path=e,this.position=t}get empty(){return!this.path||!this.path.length}get head(){return this.path[0]}get tail(){return this.path[this.path.length-1]}parentOf(e){return e&&this.path[this.path.indexOf(e)-1]}childOf(e){return this.path[this.path.indexOf(e)+1]}first(e){for(let t=this.path.length-1;t>=0;t--){let n=this.path[t];if(n instanceof e)return n}}push(e){this.path.push(e)}pop(){return this.path.pop()}}})),Tn=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});t.Text=class{constructor(e,t,n){this.value=e,this.sourceSpan=t,this.i18n=n}visit(e,t){return e.visitText(this,t)}};t.CDATA=class{constructor(e,t){this.value=e,this.sourceSpan=t}visit(e,t){return e.visitCdata(this,t)}};t.Expansion=class{constructor(e,t,n,r,s,i){this.switchValue=e,this.type=t,this.cases=n,this.sourceSpan=r,this.switchValueSourceSpan=s,this.i18n=i}visit(e,t){return e.visitExpansion(this,t)}};t.ExpansionCase=class{constructor(e,t,n,r,s){this.value=e,this.expression=t,this.sourceSpan=n,this.valueSourceSpan=r,this.expSourceSpan=s}visit(e,t){return e.visitExpansionCase(this,t)}};t.Attribute=class{constructor(e,t,n,r=null,s=null,i=null){this.name=e,this.value=t,this.sourceSpan=n,this.valueSpan=r,this.nameSpan=s,this.i18n=i}visit(e,t){return e.visitAttribute(this,t)}};class n{constructor(e,t,n,r,s=null,i=null,o=null,a=null){this.name=e,this.attrs=t,this.children=n,this.sourceSpan=r,this.startSourceSpan=s,this.endSourceSpan=i,this.nameSpan=o,this.i18n=a}visit(e,t){return e.visitElement(this,t)}}t.Element=n;t.Comment=class{constructor(e,t){this.value=e,this.sourceSpan=t}visit(e,t){return e.visitComment(this,t)}};function r(e,t,n=null){const r=[],s=e.visit?t=>e.visit(t,n)||t.visit(e,n):t=>t.visit(e,n);return t.forEach((e=>{const t=s(e);t&&r.push(t)})),r}t.DocType=class{constructor(e,t){this.value=e,this.sourceSpan=t}visit(e,t){return e.visitDocType(this,t)}},t.visitAll=r;class s{constructor(){}visitElement(e,t){this.visitChildren(t,(t=>{t(e.attrs),t(e.children)}))}visitAttribute(e,t){}visitText(e,t){}visitCdata(e,t){}visitComment(e,t){}visitDocType(e,t){}visitExpansion(e,t){return this.visitChildren(t,(t=>{t(e.cases)}))}visitExpansionCase(e,t){}visitChildren(e,t){let n=[],s=this;return t((function(t){t&&n.push(r(s,t,e))})),Array.prototype.concat.apply([],n)}}function i(e){const t=e.sourceSpan.start.offset;let r=e.sourceSpan.end.offset;return e instanceof n&&(e.endSourceSpan?r=e.endSourceSpan.end.offset:e.children&&e.children.length&&(r=i(e.children[e.children.length-1]).end)),{start:t,end:r}}t.RecursiveVisitor=s,t.findNode=function(e,t){const n=[];return r(new class extends s{visit(e,r){const s=i(e);if(!(s.start<=t&&t]/,/^[{}]$/,/&(#|[a-z])/i,/^\\/\\//];t.assertInterpolationSymbols=function(e,t){if(!(null==t||Array.isArray(t)&&2==t.length))throw new Error(\"Expected '\".concat(e,\"' to be an array, [start, end].\"));if(null!=t){const e=t[0],r=t[1];n.forEach((t=>{if(t.test(e)||t.test(r))throw new Error(\"['\".concat(e,\"', '\").concat(r,\"'] contains unusable interpolation symbol.\"))}))}}})),Sn=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});class n{constructor(e,t){this.start=e,this.end=t}static fromArray(e){return e?(yn.assertInterpolationSymbols(\"interpolation\",e),new n(e[0],e[1])):t.DEFAULT_INTERPOLATION_CONFIG}}t.InterpolationConfig=n,t.DEFAULT_INTERPOLATION_CONFIG=new n(\"{{\",\"}}\")})),_n=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});const r=n;var s;!function(e){e[e.TAG_OPEN_START=0]=\"TAG_OPEN_START\",e[e.TAG_OPEN_END=1]=\"TAG_OPEN_END\",e[e.TAG_OPEN_END_VOID=2]=\"TAG_OPEN_END_VOID\",e[e.TAG_CLOSE=3]=\"TAG_CLOSE\",e[e.TEXT=4]=\"TEXT\",e[e.ESCAPABLE_RAW_TEXT=5]=\"ESCAPABLE_RAW_TEXT\",e[e.RAW_TEXT=6]=\"RAW_TEXT\",e[e.COMMENT_START=7]=\"COMMENT_START\",e[e.COMMENT_END=8]=\"COMMENT_END\",e[e.CDATA_START=9]=\"CDATA_START\",e[e.CDATA_END=10]=\"CDATA_END\",e[e.ATTR_NAME=11]=\"ATTR_NAME\",e[e.ATTR_QUOTE=12]=\"ATTR_QUOTE\",e[e.ATTR_VALUE=13]=\"ATTR_VALUE\",e[e.DOC_TYPE_START=14]=\"DOC_TYPE_START\",e[e.DOC_TYPE_END=15]=\"DOC_TYPE_END\",e[e.EXPANSION_FORM_START=16]=\"EXPANSION_FORM_START\",e[e.EXPANSION_CASE_VALUE=17]=\"EXPANSION_CASE_VALUE\",e[e.EXPANSION_CASE_EXP_START=18]=\"EXPANSION_CASE_EXP_START\",e[e.EXPANSION_CASE_EXP_END=19]=\"EXPANSION_CASE_EXP_END\",e[e.EXPANSION_FORM_END=20]=\"EXPANSION_FORM_END\",e[e.EOF=21]=\"EOF\"}(s=t.TokenType||(t.TokenType={}));class i{constructor(e,t,n){this.type=e,this.parts=t,this.sourceSpan=n}}t.Token=i;class a extends o.ParseError{constructor(e,t,n){super(n,e),this.tokenType=t}}t.TokenError=a;class u{constructor(e,t){this.tokens=e,this.errors=t}}t.TokenizeResult=u,t.tokenize=function(e,t,n,r={}){return new h(new o.ParseSourceFile(e,t),n,r).tokenize()};const c=/\\r\\n?/g;function l(e){const t=e===r.$EOF?\"EOF\":String.fromCharCode(e);return'Unexpected character \"'.concat(t,'\"')}function p(e){return'Unknown entity \"'.concat(e,'\" - use the \"&#;\" or \"&#x;\" syntax')}class D{constructor(e){this.error=e}}class h{constructor(e,t,n){this._getTagContentType=t,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this._fullNameStack=[],this.tokens=[],this.errors=[],this._tokenizeIcu=n.tokenizeExpansionForms||!1,this._interpolationConfig=n.interpolationConfig||Sn.DEFAULT_INTERPOLATION_CONFIG,this._leadingTriviaCodePoints=n.leadingTriviaChars&&n.leadingTriviaChars.map((e=>e.codePointAt(0)||0)),this._canSelfClose=n.canSelfClose||!1,this._allowHtmComponentClosingTags=n.allowHtmComponentClosingTags||!1;const r=n.range||{endPos:e.content.length,startPos:0,startLine:0,startCol:0};this._cursor=n.escapedString?new T(e,r):new C(e,r);try{this._cursor.init()}catch(e){this.handleError(e)}}_processCarriageReturns(e){return e.replace(c,\"\\n\")}tokenize(){for(;this._cursor.peek()!==r.$EOF;){const e=this._cursor.clone();try{if(this._attemptCharCode(r.$LT))if(this._attemptCharCode(r.$BANG))this._attemptStr(\"[CDATA[\")?this._consumeCdata(e):this._attemptStr(\"--\")?this._consumeComment(e):this._attemptStrCaseInsensitive(\"doctype\")?this._consumeDocType(e):this._consumeBogusComment(e);else if(this._attemptCharCode(r.$SLASH))this._consumeTagClose(e);else{const t=this._cursor.clone();this._attemptCharCode(r.$QUESTION)?(this._cursor=t,this._consumeBogusComment(e)):this._consumeTagOpen(e)}else this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(e){this.handleError(e)}}return this._beginToken(s.EOF),this._endToken([]),new u(function(e){const t=[];let n=void 0;for(let r=0;rthis._attemptStr(\"--\\x3e\"))),this._beginToken(s.COMMENT_END),this._requireStr(\"--\\x3e\"),this._endToken([])}_consumeBogusComment(e){this._beginToken(s.COMMENT_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._cursor.peek()===r.$GT)),this._beginToken(s.COMMENT_END),this._cursor.advance(),this._endToken([])}_consumeCdata(e){this._beginToken(s.CDATA_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._attemptStr(\"]]>\"))),this._beginToken(s.CDATA_END),this._requireStr(\"]]>\"),this._endToken([])}_consumeDocType(e){this._beginToken(s.DOC_TYPE_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._cursor.peek()===r.$GT)),this._beginToken(s.DOC_TYPE_END),this._cursor.advance(),this._endToken([])}_consumePrefixAndName(){const e=this._cursor.clone();let t=\"\";for(;this._cursor.peek()!==r.$COLON&&!(((n=this._cursor.peek())r.$9));)this._cursor.advance();var n;let s;this._cursor.peek()===r.$COLON?(t=this._cursor.getChars(e),this._cursor.advance(),s=this._cursor.clone()):s=e,this._requireCharCodeUntilFn(f,\"\"===t?0:1);return[t,this._cursor.getChars(s)]}_consumeTagOpen(e){let t,n,i,o=this.tokens.length;const a=this._cursor.clone(),u=[];try{if(!r.isAsciiLetter(this._cursor.peek()))throw this._createError(l(this._cursor.peek()),this._cursor.getSpan(e));for(i=this._consumeTagOpenStart(e),n=i.parts[0],t=i.parts[1],this._attemptCharCodeUntilFn(d);this._cursor.peek()!==r.$SLASH&&this._cursor.peek()!==r.$GT;){const[e,t]=this._consumeAttributeName();if(this._attemptCharCodeUntilFn(d),this._attemptCharCode(r.$EQ)){this._attemptCharCodeUntilFn(d);const n=this._consumeAttributeValue();u.push({prefix:e,name:t,value:n})}else u.push({prefix:e,name:t});this._attemptCharCodeUntilFn(d)}this._consumeTagOpenEnd()}catch(t){if(t instanceof D)return this._cursor=a,i&&(this.tokens.length=o),this._beginToken(s.TEXT,e),void this._endToken([\"<\"]);throw t}if(this._canSelfClose&&this.tokens[this.tokens.length-1].type===s.TAG_OPEN_END_VOID)return;const c=this._getTagContentType(t,n,this._fullNameStack.length>0,u);this._handleFullNameStackForTagOpen(n,t),c===gn.TagContentType.RAW_TEXT?this._consumeRawTextWithTagClose(n,t,!1):c===gn.TagContentType.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(n,t,!0)}_consumeRawTextWithTagClose(e,t,n){this._consumeRawText(n,(()=>!!this._attemptCharCode(r.$LT)&&(!!this._attemptCharCode(r.$SLASH)&&(this._attemptCharCodeUntilFn(d),!!this._attemptStrCaseInsensitive(e?\"\".concat(e,\":\").concat(t):t)&&(this._attemptCharCodeUntilFn(d),this._attemptCharCode(r.$GT))))));this._beginToken(s.TAG_CLOSE),this._requireCharCodeUntilFn((e=>e===r.$GT),3),this._cursor.advance(),this._endToken([e,t]),this._handleFullNameStackForTagClose(e,t)}_consumeTagOpenStart(e){this._beginToken(s.TAG_OPEN_START,e);const t=this._consumePrefixAndName();return this._endToken(t)}_consumeAttributeName(){const e=this._cursor.peek();if(e===r.$SQ||e===r.$DQ)throw this._createError(l(e),this._cursor.getSpan());this._beginToken(s.ATTR_NAME);const t=this._consumePrefixAndName();return this._endToken(t),t}_consumeAttributeValue(){let e;if(this._cursor.peek()===r.$SQ||this._cursor.peek()===r.$DQ){this._beginToken(s.ATTR_QUOTE);const t=this._cursor.peek();this._cursor.advance(),this._endToken([String.fromCodePoint(t)]),this._beginToken(s.ATTR_VALUE);const n=[];for(;this._cursor.peek()!==t;)n.push(this._readChar(!0));e=this._processCarriageReturns(n.join(\"\")),this._endToken([e]),this._beginToken(s.ATTR_QUOTE),this._cursor.advance(),this._endToken([String.fromCodePoint(t)])}else{this._beginToken(s.ATTR_VALUE);const t=this._cursor.clone();this._requireCharCodeUntilFn(f,1),e=this._processCarriageReturns(this._cursor.getChars(t)),this._endToken([e])}return e}_consumeTagOpenEnd(){const e=this._attemptCharCode(r.$SLASH)?s.TAG_OPEN_END_VOID:s.TAG_OPEN_END;this._beginToken(e),this._requireCharCode(r.$GT),this._endToken([])}_consumeTagClose(e){if(this._beginToken(s.TAG_CLOSE,e),this._attemptCharCodeUntilFn(d),this._allowHtmComponentClosingTags&&this._attemptCharCode(r.$SLASH))this._attemptCharCodeUntilFn(d),this._requireCharCode(r.$GT),this._endToken([]);else{const[e,t]=this._consumePrefixAndName();this._attemptCharCodeUntilFn(d),this._requireCharCode(r.$GT),this._endToken([e,t]),this._handleFullNameStackForTagClose(e,t)}}_consumeExpansionFormStart(){this._beginToken(s.EXPANSION_FORM_START),this._requireCharCode(r.$LBRACE),this._endToken([]),this._expansionCaseStack.push(s.EXPANSION_FORM_START),this._beginToken(s.RAW_TEXT);const e=this._readUntil(r.$COMMA);this._endToken([e]),this._requireCharCode(r.$COMMA),this._attemptCharCodeUntilFn(d),this._beginToken(s.RAW_TEXT);const t=this._readUntil(r.$COMMA);this._endToken([t]),this._requireCharCode(r.$COMMA),this._attemptCharCodeUntilFn(d)}_consumeExpansionCaseStart(){this._beginToken(s.EXPANSION_CASE_VALUE);const e=this._readUntil(r.$LBRACE).trim();this._endToken([e]),this._attemptCharCodeUntilFn(d),this._beginToken(s.EXPANSION_CASE_EXP_START),this._requireCharCode(r.$LBRACE),this._endToken([]),this._attemptCharCodeUntilFn(d),this._expansionCaseStack.push(s.EXPANSION_CASE_EXP_START)}_consumeExpansionCaseEnd(){this._beginToken(s.EXPANSION_CASE_EXP_END),this._requireCharCode(r.$RBRACE),this._endToken([]),this._attemptCharCodeUntilFn(d),this._expansionCaseStack.pop()}_consumeExpansionFormEnd(){this._beginToken(s.EXPANSION_FORM_END),this._requireCharCode(r.$RBRACE),this._endToken([]),this._expansionCaseStack.pop()}_consumeText(){const e=this._cursor.clone();this._beginToken(s.TEXT,e);const t=[];do{this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(t.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(t.push(this._interpolationConfig.end),this._inInterpolation=!1):t.push(this._readChar(!0))}while(!this._isTextEnd());this._endToken([this._processCarriageReturns(t.join(\"\"))])}_isTextEnd(){if(this._cursor.peek()===r.$LT||this._cursor.peek()===r.$EOF)return!0;if(this._tokenizeIcu&&!this._inInterpolation){if(this.isExpansionFormStart())return!0;if(this._cursor.peek()===r.$RBRACE&&this._isInExpansionCase())return!0}return!1}_readUntil(e){const t=this._cursor.clone();return this._attemptUntilChar(e),this._cursor.getChars(t)}_isInExpansionCase(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===s.EXPANSION_CASE_EXP_START}_isInExpansionForm(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===s.EXPANSION_FORM_START}isExpansionFormStart(){if(this._cursor.peek()!==r.$LBRACE)return!1;if(this._interpolationConfig){const e=this._cursor.clone(),t=this._attemptStr(this._interpolationConfig.start);return this._cursor=e,!t}return!0}_handleFullNameStackForTagOpen(e,t){const n=gn.mergeNsAndName(e,t);0!==this._fullNameStack.length&&this._fullNameStack[this._fullNameStack.length-1]!==n||this._fullNameStack.push(n)}_handleFullNameStackForTagClose(e,t){const n=gn.mergeNsAndName(e,t);0!==this._fullNameStack.length&&this._fullNameStack[this._fullNameStack.length-1]===n&&this._fullNameStack.pop()}}function d(e){return!r.isWhitespace(e)||e===r.$EOF}function f(e){return r.isWhitespace(e)||e===r.$GT||e===r.$SLASH||e===r.$SQ||e===r.$DQ||e===r.$EQ}function m(e){return e==r.$SEMICOLON||e==r.$EOF||!r.isAsciiHexDigit(e)}function g(e){return e==r.$SEMICOLON||e==r.$EOF||!r.isAsciiLetter(e)}function E(e){return e>=r.$a&&e<=r.$z?e-r.$a+r.$A:e}class C{constructor(e,t){if(e instanceof C)this.file=e.file,this.input=e.input,this.end=e.end,this.state=Object.assign({},e.state);else{if(!t)throw new Error(\"Programming error: the range argument must be provided with a file argument.\");this.file=e,this.input=e.content,this.end=t.endPos,this.state={peek:-1,offset:t.startPos,line:t.startLine,column:t.startCol}}}clone(){return new C(this)}peek(){return this.state.peek}charsLeft(){return this.end-this.state.offset}diff(e){return this.state.offset-e.state.offset}advance(){this.advanceState(this.state)}init(){this.updatePeek(this.state)}getSpan(e,t){if(e=e||this,t)for(e=e.clone();this.diff(e)>0&&-1!==t.indexOf(e.peek());)e.advance();return new o.ParseSourceSpan(new o.ParseLocation(e.file,e.state.offset,e.state.line,e.state.column),new o.ParseLocation(this.file,this.state.offset,this.state.line,this.state.column))}getChars(e){return this.input.substring(e.state.offset,this.state.offset)}charAt(e){return this.input.charCodeAt(e)}advanceState(e){if(e.offset>=this.end)throw this.state=e,new y('Unexpected character \"EOF\"',this);const t=this.charAt(e.offset);t===r.$LF?(e.line++,e.column=0):r.isNewLine(t)||e.column++,e.offset++,this.updatePeek(e)}updatePeek(e){e.peek=e.offset>=this.end?r.$EOF:this.charAt(e.offset)}}class T extends C{constructor(e,t){e instanceof T?(super(e),this.internalState=Object.assign({},e.internalState)):(super(e,t),this.internalState=this.state)}advance(){this.state=this.internalState,super.advance(),this.processEscapeSequence()}init(){super.init(),this.processEscapeSequence()}clone(){return new T(this)}getChars(e){const t=e.clone();let n=\"\";for(;t.internalState.offsetthis.internalState.peek;if(e()===r.$BACKSLASH)if(this.internalState=Object.assign({},this.state),this.advanceState(this.internalState),e()===r.$n)this.state.peek=r.$LF;else if(e()===r.$r)this.state.peek=r.$CR;else if(e()===r.$v)this.state.peek=r.$VTAB;else if(e()===r.$t)this.state.peek=r.$TAB;else if(e()===r.$b)this.state.peek=r.$BSPACE;else if(e()===r.$f)this.state.peek=r.$FF;else if(e()===r.$u)if(this.advanceState(this.internalState),e()===r.$LBRACE){this.advanceState(this.internalState);const t=this.clone();let n=0;for(;e()!==r.$RBRACE;)this.advanceState(this.internalState),n++;this.state.peek=this.decodeHexDigits(t,n)}else{const e=this.clone();this.advanceState(this.internalState),this.advanceState(this.internalState),this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(e,4)}else if(e()===r.$x){this.advanceState(this.internalState);const e=this.clone();this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(e,2)}else if(r.isOctalDigit(e())){let t=\"\",n=0,s=this.clone();for(;r.isOctalDigit(e())&&n<3;)s=this.clone(),t+=String.fromCodePoint(e()),this.advanceState(this.internalState),n++;this.state.peek=parseInt(t,8),this.internalState=s.internalState}else r.isNewLine(this.internalState.peek)?(this.advanceState(this.internalState),this.state=this.internalState):this.state.peek=this.internalState.peek}decodeHexDigits(e,t){const n=this.input.substr(e.internalState.offset,t),r=parseInt(n,16);if(isNaN(r))throw e.state=e.internalState,new y(\"Invalid hexadecimal escape sequence\",e);return r}}class y{constructor(e,t){this.msg=e,this.cursor=t}}t.CursorError=y})),bn=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});class n extends o.ParseError{constructor(e,t,n){super(t,n),this.elementName=e}static create(e,t,r){return new n(e,t,r)}}t.TreeError=n;class r{constructor(e,t){this.rootNodes=e,this.errors=t}}t.ParseTreeResult=r;t.Parser=class{constructor(e){this.getTagDefinition=e}parse(e,t,n,i=!1,o){const a=e=>(t,...n)=>e(t.toLowerCase(),...n),u=i?this.getTagDefinition:a(this.getTagDefinition),c=e=>u(e).contentType,l=i?o:a(o),p=o?(e,t,n,r)=>{const s=l(e,t,n,r);return void 0!==s?s:c(e)}:c,D=_n.tokenize(e,t,p,n),h=n&&n.canSelfClose||!1,d=n&&n.allowHtmComponentClosingTags||!1,f=new s(D.tokens,u,h,d,i).build();return new r(f.rootNodes,D.errors.concat(f.errors))}};class s{constructor(e,t,n,r,s){this.tokens=e,this.getTagDefinition=t,this.canSelfClose=n,this.allowHtmComponentClosingTags=r,this.isTagNameCaseSensitive=s,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance()}build(){for(;this._peek.type!==_n.TokenType.EOF;)this._peek.type===_n.TokenType.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===_n.TokenType.TAG_CLOSE?(this._closeVoidElement(),this._consumeEndTag(this._advance())):this._peek.type===_n.TokenType.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===_n.TokenType.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===_n.TokenType.TEXT||this._peek.type===_n.TokenType.RAW_TEXT||this._peek.type===_n.TokenType.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===_n.TokenType.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._peek.type===_n.TokenType.DOC_TYPE_START?this._consumeDocType(this._advance()):this._advance();return new r(this._rootNodes,this._errors)}_advance(){const e=this._peek;return this._index0)return this._errors=this._errors.concat(a.errors),null;const u=new o.ParseSourceSpan(e.sourceSpan.start,i.sourceSpan.end),c=new o.ParseSourceSpan(t.sourceSpan.start,i.sourceSpan.end);return new Tn.ExpansionCase(e.parts[0],a.rootNodes,u,e.sourceSpan,c)}_collectExpansionExpTokens(e){const t=[],r=[_n.TokenType.EXPANSION_CASE_EXP_START];for(;;){if(this._peek.type!==_n.TokenType.EXPANSION_FORM_START&&this._peek.type!==_n.TokenType.EXPANSION_CASE_EXP_START||r.push(this._peek.type),this._peek.type===_n.TokenType.EXPANSION_CASE_EXP_END){if(!i(r,_n.TokenType.EXPANSION_CASE_EXP_START))return this._errors.push(n.create(null,e.sourceSpan,\"Invalid ICU message. Missing '}'.\")),null;if(r.pop(),0==r.length)return t}if(this._peek.type===_n.TokenType.EXPANSION_FORM_END){if(!i(r,_n.TokenType.EXPANSION_FORM_START))return this._errors.push(n.create(null,e.sourceSpan,\"Invalid ICU message. Missing '}'.\")),null;r.pop()}if(this._peek.type===_n.TokenType.EOF)return this._errors.push(n.create(null,e.sourceSpan,\"Invalid ICU message. Missing '}'.\")),null;t.push(this._advance())}}_getText(e){let t=e.parts[0];if(t.length>0&&\"\\n\"==t[0]){const e=this._getParentElement();null!=e&&0==e.children.length&&this.getTagDefinition(e.name).ignoreFirstLf&&(t=t.substring(1))}return t}_consumeText(e){const t=this._getText(e);t.length>0&&this._addToParent(new Tn.Text(t,e.sourceSpan))}_closeVoidElement(){const e=this._getParentElement();e&&this.getTagDefinition(e.name).isVoid&&this._elementStack.pop()}_consumeStartTag(e){const t=e.parts[0],r=e.parts[1],s=[];for(;this._peek.type===_n.TokenType.ATTR_NAME;)s.push(this._consumeAttr(this._advance()));const i=this._getElementFullName(t,r,this._getParentElement());let a=!1;if(this._peek.type===_n.TokenType.TAG_OPEN_END_VOID){this._advance(),a=!0;const t=this.getTagDefinition(i);this.canSelfClose||t.canSelfClose||null!==gn.getNsPrefix(i)||t.isVoid||this._errors.push(n.create(i,e.sourceSpan,'Only void and foreign elements can be self closed \"'.concat(e.parts[1],'\"')))}else this._peek.type===_n.TokenType.TAG_OPEN_END&&(this._advance(),a=!1);const u=this._peek.sourceSpan.start,c=new o.ParseSourceSpan(e.sourceSpan.start,u),l=new o.ParseSourceSpan(e.sourceSpan.start.moveBy(1),e.sourceSpan.end),p=new Tn.Element(i,s,[],c,c,void 0,l);this._pushElement(p),a&&(this._popElement(i),p.endSourceSpan=c)}_pushElement(e){const t=this._getParentElement();t&&this.getTagDefinition(t.name).isClosedByChild(e.name)&&this._elementStack.pop(),this._addToParent(e),this._elementStack.push(e)}_consumeEndTag(e){const t=this.allowHtmComponentClosingTags&&0===e.parts.length?null:this._getElementFullName(e.parts[0],e.parts[1],this._getParentElement());if(this._getParentElement()&&(this._getParentElement().endSourceSpan=e.sourceSpan),t&&this.getTagDefinition(t).isVoid)this._errors.push(n.create(t,e.sourceSpan,'Void elements do not have end tags \"'.concat(e.parts[1],'\"')));else if(!this._popElement(t)){const r='Unexpected closing tag \"'.concat(t,'\". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags');this._errors.push(n.create(t,e.sourceSpan,r))}}_popElement(e){for(let t=this._elementStack.length-1;t>=0;t--){const n=this._elementStack[t];if(!e||(gn.getNsPrefix(n.name)?n.name==e:n.name.toLowerCase()==e.toLowerCase()))return this._elementStack.splice(t,this._elementStack.length-t),!0;if(!this.getTagDefinition(n.name).closedByParent)return!1}return!1}_consumeAttr(e){const t=gn.mergeNsAndName(e.parts[0],e.parts[1]);let n=e.sourceSpan.end,r=\"\",s=void 0,i=void 0;if(this._peek.type===_n.TokenType.ATTR_QUOTE){i=this._advance().sourceSpan.start}if(this._peek.type===_n.TokenType.ATTR_VALUE){const e=this._advance();r=e.parts[0],n=e.sourceSpan.end,s=e.sourceSpan}if(this._peek.type===_n.TokenType.ATTR_QUOTE){n=this._advance().sourceSpan.end,s=new o.ParseSourceSpan(i,n)}return new Tn.Attribute(t,r,new o.ParseSourceSpan(e.sourceSpan.start,n),s,e.sourceSpan)}_getParentElement(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null}_getParentElementSkippingContainers(){let e=null;for(let t=this._elementStack.length-1;t>=0;t--){if(!gn.isNgContainer(this._elementStack[t].name))return{parent:this._elementStack[t],container:e};e=this._elementStack[t]}return{parent:null,container:e}}_addToParent(e){const t=this._getParentElement();null!=t?t.children.push(e):this._rootNodes.push(e)}_insertBeforeContainer(e,t,n){if(t){if(e){const r=e.children.indexOf(t);e.children[r]=n}else this._rootNodes.push(n);n.children.push(t),this._elementStack.splice(this._elementStack.indexOf(t),0,n)}else this._addToParent(n),this._elementStack.push(n)}_getElementFullName(e,t,n){return\"\"===e&&\"\"===(e=this.getTagDefinition(t).implicitNamespacePrefix||\"\")&&null!=n&&(e=gn.getNsPrefix(n.name)),gn.mergeNsAndName(e,t)}}function i(e,t){return e.length>0&&e[e.length-1]===t}})),Fn=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});var n=bn;t.ParseTreeResult=n.ParseTreeResult,t.TreeError=n.TreeError;class r extends bn.Parser{constructor(){super(En.getHtmlTagDefinition)}parse(e,t,n,r=!1,s){return super.parse(e,t,n,r,s)}}t.HtmlParser=r})),An=t((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.TagContentType=gn.TagContentType;let n=null;t.parse=function(e,t={}){const{canSelfClose:r=!1,allowHtmComponentClosingTags:s=!1,isTagNameCaseSensitive:i=!1,getTagContentType:o}=t;return(n||(n=new Fn.HtmlParser),n).parse(e,\"angular-html-parser\",{tokenizeExpansionForms:!1,interpolationConfig:void 0,canSelfClose:r,allowHtmComponentClosingTags:s},i,o)}}));const{ParseSourceSpan:vn,ParseLocation:wn,ParseSourceFile:kn}=o,{parse:Nn}=At,{inferParserByLanguage:xn}=We,{HTML_ELEMENT_ATTRIBUTES:On,HTML_TAGS:Rn,isUnknownNamespace:Pn}=on,{hasPragma:Ln}=an,{Node:Bn}=Dn,{parseIeConditionalComment:In}=fn,{locStart:qn,locEnd:$n}=mn;function Mn(e,{recognizeSelfClosing:t,normalizeTagName:n,normalizeAttributeName:r,allowHtmComponentClosingTags:s,isTagNameCaseSensitive:i,getTagContentType:a},u){const c=An,{RecursiveVisitor:l,visitAll:p,Attribute:D,CDATA:h,Comment:d,DocType:f,Element:m,Text:g}=Tn,{ParseSourceSpan:E}=o,{getHtmlTagDefinition:C}=En;let{rootNodes:T,errors:y}=c.parse(e,{canSelfClose:t,allowHtmComponentClosingTags:s,isTagNameCaseSensitive:i,getTagContentType:a});const S=\"vue\"===u.parser&&T.some((e=>e instanceof f&&\"html\"===e.value||e instanceof m&&\"html\"===e.name.toLowerCase()));if(\"vue\"!==u.parser||S){if(S){t=!0,n=!0,r=!0,s=!0,i=!1;const o=c.parse(e,{canSelfClose:t,allowHtmComponentClosingTags:s,isTagNameCaseSensitive:i});T=o.rootNodes,y=o.errors}}else{const n=e=>{if(!e)return!1;if(\"template\"!==e.name)return!1;const t=e.attrs.find((e=>\"lang\"===e.name)),n=t&&t.value;return null==n||\"html\"===xn(n,u)};if(T.some(n)){let r;const o=()=>c.parse(e,{canSelfClose:t,allowHtmComponentClosingTags:s,isTagNameCaseSensitive:i}),a=()=>r||(r=o()),u=e=>a().rootNodes.find((({startSourceSpan:t})=>t&&t.start.offset===e.startSourceSpan.start.offset));for(let e=0;e{const t=e.name.startsWith(\":\")?e.name.slice(1).split(\":\")[0]:null,n=e.nameSpan.toString(),r=n.startsWith(\"\".concat(t,\":\")),s=r?n.slice(t.length+1):n;e.name=s,e.namespace=t,e.hasExplicitNamespace=r},b=(e,t)=>{const n=e.toLowerCase();return t(n)?n:e};return p(new class extends l{visit(e){(e=>{if(e instanceof D)e.type=\"attribute\";else if(e instanceof h)e.type=\"cdata\";else if(e instanceof d)e.type=\"comment\";else if(e instanceof f)e.type=\"docType\";else if(e instanceof m)e.type=\"element\";else{if(!(e instanceof g))throw new Error(\"Unexpected node \".concat(JSON.stringify(e)));e.type=\"text\"}})(e),(e=>{e instanceof m?(_(e),e.attrs.forEach((e=>{_(e),e.valueSpan?(e.value=e.valueSpan.toString(),/[\"']/.test(e.value[0])&&(e.value=e.value.slice(1,-1))):e.value=null}))):e instanceof d?e.value=e.sourceSpan.toString().slice(\"\\x3c!--\".length,-\"--\\x3e\".length):e instanceof g&&(e.value=e.sourceSpan.toString())})(e),(e=>{if(e instanceof m){const t=C(i?e.name:e.name.toLowerCase());!e.namespace||e.namespace===t.implicitNamespacePrefix||Pn(e)?e.tagDefinition=t:e.tagDefinition=C(\"\")}})(e),(e=>{if(e instanceof m&&(!n||e.namespace&&e.namespace!==e.tagDefinition.implicitNamespacePrefix&&!Pn(e)||(e.name=b(e.name,(e=>e in Rn))),r)){const t=On[e.name]||Object.create(null);e.attrs.forEach((n=>{n.namespace||(n.name=b(n.name,(n=>e.name in On&&(n in On[\"*\"]||n in t))))}))}})(e),(e=>{e.sourceSpan&&e.endSourceSpan&&(e.sourceSpan=new E(e.sourceSpan.start,e.endSourceSpan.end))})(e)}},T),T}function Un(e,t,n,r=!0){const{frontMatter:s,content:i}=r?Nn(e):{frontMatter:null,content:e},o=new kn(e,t.filepath),a=new wn(o,0,0,0),u=a.moveBy(e.length),c={type:\"root\",sourceSpan:new vn(a,u),children:Mn(i,n,t)};if(s){const e=new wn(o,0,0,0),t=e.moveBy(s.raw.length);s.sourceSpan=new vn(e,t),c.children.unshift(s)}const l=new Bn(c),p=(r,s)=>{const{offset:i}=s,o=Un(e.slice(0,i).replace(/[^\\n\\r]/g,\" \")+r,t,n,!1);o.sourceSpan=new vn(s,o.children[o.children.length-1].sourceSpan.end);const a=o.children[0];return a.length===i?o.children.shift():(a.sourceSpan=new vn(a.sourceSpan.start.moveBy(i),a.sourceSpan.end),a.value=a.value.slice(i)),o};return l.map((e=>{if(\"comment\"===e.type){const t=In(e,p);if(t)return t}return e}))}function Gn({recognizeSelfClosing:e=!1,normalizeTagName:t=!1,normalizeAttributeName:n=!1,allowHtmComponentClosingTags:r=!1,isTagNameCaseSensitive:s=!1,getTagContentType:i}={}){return{parse:(o,a,u)=>Un(o,u,{recognizeSelfClosing:e,normalizeTagName:t,normalizeAttributeName:n,allowHtmComponentClosingTags:r,isTagNameCaseSensitive:s,getTagContentType:i}),hasPragma:Ln,astFormat:\"html\",locStart:qn,locEnd:$n}}return{parsers:{html:Gn({recognizeSelfClosing:!0,normalizeTagName:!0,normalizeAttributeName:!0,allowHtmComponentClosingTags:!0}),angular:Gn(),vue:Gn({recognizeSelfClosing:!0,isTagNameCaseSensitive:!0,getTagContentType:(e,t,n,r)=>{if(\"html\"!==e.toLowerCase()&&!n&&(\"template\"!==e||r.some((({name:e,value:t})=>\"lang\"===e&&\"html\"!==t))))return An.TagContentType.RAW_TEXT}}),lwc:Gn()}}}));\n","module.exports = require(\"http\");","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","module.exports = require(\"dns\");","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar core = require('@octokit/core');\nvar pluginRequestLog = require('@octokit/plugin-request-log');\nvar pluginPaginateRest = require('@octokit/plugin-paginate-rest');\nvar pluginRestEndpointMethods = require('@octokit/plugin-rest-endpoint-methods');\n\nconst VERSION = \"17.11.2\";\n\nconst Octokit = core.Octokit.plugin(pluginRequestLog.requestLog, pluginRestEndpointMethods.restEndpointMethods, pluginPaginateRest.paginateRest).defaults({\n userAgent: `octokit-rest.js/${VERSION}`\n});\n\nexports.Octokit = Octokit;\n//# sourceMappingURL=index.js.map\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('head', _head, {\n canReceivePipe: true,\n cmdOptions: {\n 'n': 'numLines',\n },\n});\n\n// Reads |numLines| lines or the entire file, whichever is less.\nfunction readSomeLines(file, numLines) {\n var buf = common.buffer();\n var bufLength = buf.length;\n var bytesRead = bufLength;\n var pos = 0;\n\n var fdr = fs.openSync(file, 'r');\n var numLinesRead = 0;\n var ret = '';\n while (bytesRead === bufLength && numLinesRead < numLines) {\n bytesRead = fs.readSync(fdr, buf, 0, bufLength, pos);\n var bufStr = buf.toString('utf8', 0, bytesRead);\n numLinesRead += bufStr.split('\\n').length - 1;\n ret += bufStr;\n pos += bytesRead;\n }\n\n fs.closeSync(fdr);\n return ret;\n}\n\n//@\n//@ ### head([{'-n': \\},] file [, file ...])\n//@ ### head([{'-n': \\},] file_array)\n//@\n//@ Available options:\n//@\n//@ + `-n `: Show the first `` lines of the files\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ var str = head({'-n': 1}, 'file*.txt');\n//@ var str = head('file1', 'file2');\n//@ var str = head(['file1', 'file2']); // same as above\n//@ ```\n//@\n//@ Read the start of a file.\nfunction _head(options, files) {\n var head = [];\n var pipe = common.readFromPipe();\n\n if (!files && !pipe) common.error('no paths given');\n\n var idx = 1;\n if (options.numLines === true) {\n idx = 2;\n options.numLines = Number(arguments[1]);\n } else if (options.numLines === false) {\n options.numLines = 10;\n }\n files = [].slice.call(arguments, idx);\n\n if (pipe) {\n files.unshift('-');\n }\n\n var shouldAppendNewline = false;\n files.forEach(function (file) {\n if (file !== '-') {\n if (!fs.existsSync(file)) {\n common.error('no such file or directory: ' + file, { continue: true });\n return;\n } else if (common.statFollowLinks(file).isDirectory()) {\n common.error(\"error reading '\" + file + \"': Is a directory\", {\n continue: true,\n });\n return;\n }\n }\n\n var contents;\n if (file === '-') {\n contents = pipe;\n } else if (options.numLines < 0) {\n contents = fs.readFileSync(file, 'utf8');\n } else {\n contents = readSomeLines(file, options.numLines);\n }\n\n var lines = contents.split('\\n');\n var hasTrailingNewline = (lines[lines.length - 1] === '');\n if (hasTrailingNewline) {\n lines.pop();\n }\n shouldAppendNewline = (hasTrailingNewline || options.numLines < lines.length);\n\n head = head.concat(lines.slice(0, options.numLines));\n });\n\n if (shouldAppendNewline) {\n head.push(''); // to add a trailing newline once we join\n }\n return head.join('\\n');\n}\nmodule.exports = _head;\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';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar request = require('@octokit/request');\nvar universalUserAgent = require('universal-user-agent');\n\nconst VERSION = \"4.5.4\";\n\nclass GraphqlError extends Error {\n constructor(request, response) {\n const message = response.data.errors[0].message;\n super(message);\n Object.assign(this, response.data);\n Object.assign(this, {\n headers: response.headers\n });\n this.name = \"GraphqlError\";\n this.request = request; // 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\n}\n\nconst NON_VARIABLE_OPTIONS = [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"query\", \"mediaType\"];\nfunction graphql(request, query, options) {\n options = typeof query === \"string\" ? options = Object.assign({\n query\n }, options) : options = query;\n const requestOptions = Object.keys(options).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = options[key];\n return result;\n }\n\n if (!result.variables) {\n result.variables = {};\n }\n\n result.variables[key] = options[key];\n return result;\n }, {});\n return request(requestOptions).then(response => {\n if (response.data.errors) {\n const headers = {};\n\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n\n throw new GraphqlError(requestOptions, {\n headers,\n data: response.data\n });\n }\n\n return response.data.data;\n });\n}\n\nfunction withDefaults(request$1, newDefaults) {\n const newRequest = request$1.defaults(newDefaults);\n\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: request.request.endpoint\n });\n}\n\nconst graphql$1 = withDefaults(request.request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\n\nexports.graphql = graphql$1;\nexports.withCustomRequest = withCustomRequest;\n//# sourceMappingURL=index.js.map\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst mkdir = require('../mkdirs')\nconst pathExists = require('../path-exists').pathExists\n\nfunction createLink (srcpath, dstpath, callback) {\n function makeLink (srcpath, dstpath) {\n fs.link(srcpath, dstpath, err => {\n if (err) return callback(err)\n callback(null)\n })\n }\n\n pathExists(dstpath, (err, destinationExists) => {\n if (err) return callback(err)\n if (destinationExists) return callback(null)\n fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n return callback(err)\n }\n\n const dir = path.dirname(dstpath)\n pathExists(dir, (err, dirExists) => {\n if (err) return callback(err)\n if (dirExists) return makeLink(srcpath, dstpath)\n mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n makeLink(srcpath, dstpath)\n })\n })\n })\n })\n}\n\nfunction createLinkSync (srcpath, dstpath) {\n const destinationExists = fs.existsSync(dstpath)\n if (destinationExists) return undefined\n\n try {\n fs.lstatSync(srcpath)\n } catch (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n throw err\n }\n\n const dir = path.dirname(dstpath)\n const dirExists = fs.existsSync(dir)\n if (dirExists) return fs.linkSync(srcpath, dstpath)\n mkdir.mkdirsSync(dir)\n\n return fs.linkSync(srcpath, dstpath)\n}\n\nmodule.exports = {\n createLink: u(createLink),\n createLinkSync\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateGraphs = void 0;\nconst fs_extra_1 = require(\"fs-extra\");\nconst js_yaml_1 = require(\"js-yaml\");\nconst path_1 = require(\"path\");\nconst shelljs_1 = require(\"shelljs\");\nconst git_1 = require(\"./helpers/git\");\nconst init_check_1 = require(\"./helpers/init-check\");\nconst temp_1 = require(\"./helpers/temp\");\nconst generateGraphs = async () => {\n if (!(await init_check_1.shouldContinue()))\n return;\n await fs_extra_1.mkdirp(\"graphs\");\n await fs_extra_1.mkdirp(\"api\");\n const config = js_yaml_1.safeLoad(await fs_extra_1.readFile(path_1.join(\".\", \".upptimerc.yml\"), \"utf8\"));\n shelljs_1.exec(\"npx @upptime/graphs\");\n shelljs_1.exec(\"npx imagemin-cli graphs/* --out-dir=graphs\");\n await temp_1.tempFixes();\n git_1.commit((config.commitMessages || {}).graphsUpdate || \":bento: Update graphs [skip ci]\", (config.commitMessages || {}).commitAuthorName, (config.commitMessages || {}).commitAuthorEmail);\n git_1.push();\n};\nexports.generateGraphs = generateGraphs;\n//# sourceMappingURL=graphs.js.map","module.exports = require(\"zlib\");","'use strict';\n\nconst Transform = require('stream').Transform;\n\n/**\n * Encodes a Buffer into a base64 encoded string\n *\n * @param {Buffer} buffer Buffer to convert\n * @returns {String} base64 encoded string\n */\nfunction encode(buffer) {\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer, 'utf-8');\n }\n\n return buffer.toString('base64');\n}\n\n/**\n * Adds soft line breaks to a base64 string\n *\n * @param {String} str base64 encoded string that might need line wrapping\n * @param {Number} [lineLength=76] Maximum allowed length for a line\n * @returns {String} Soft-wrapped base64 encoded string\n */\nfunction wrap(str, lineLength) {\n str = (str || '').toString();\n lineLength = lineLength || 76;\n\n if (str.length <= lineLength) {\n return str;\n }\n\n let result = [];\n let pos = 0;\n let chunkLength = lineLength * 1024;\n while (pos < str.length) {\n let wrappedLines = str\n .substr(pos, chunkLength)\n .replace(new RegExp('.{' + lineLength + '}', 'g'), '$&\\r\\n')\n .trim();\n result.push(wrappedLines);\n pos += chunkLength;\n }\n\n return result.join('\\r\\n').trim();\n}\n\n/**\n * Creates a transform stream for encoding data to base64 encoding\n *\n * @constructor\n * @param {Object} options Stream options\n * @param {Number} [options.lineLength=76] Maximum lenght for lines, set to false to disable wrapping\n */\nclass Encoder extends Transform {\n constructor(options) {\n super();\n // init Transform\n this.options = options || {};\n\n if (this.options.lineLength !== false) {\n this.options.lineLength = this.options.lineLength || 76;\n }\n\n this._curLine = '';\n this._remainingBytes = false;\n\n this.inputBytes = 0;\n this.outputBytes = 0;\n }\n\n _transform(chunk, encoding, done) {\n if (encoding !== 'buffer') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n if (!chunk || !chunk.length) {\n return setImmediate(done);\n }\n\n this.inputBytes += chunk.length;\n\n if (this._remainingBytes && this._remainingBytes.length) {\n chunk = Buffer.concat([this._remainingBytes, chunk], this._remainingBytes.length + chunk.length);\n this._remainingBytes = false;\n }\n\n if (chunk.length % 3) {\n this._remainingBytes = chunk.slice(chunk.length - (chunk.length % 3));\n chunk = chunk.slice(0, chunk.length - (chunk.length % 3));\n } else {\n this._remainingBytes = false;\n }\n\n let b64 = this._curLine + encode(chunk);\n\n if (this.options.lineLength) {\n b64 = wrap(b64, this.options.lineLength);\n\n // remove last line as it is still most probably incomplete\n let lastLF = b64.lastIndexOf('\\n');\n if (lastLF < 0) {\n this._curLine = b64;\n b64 = '';\n } else if (lastLF === b64.length - 1) {\n this._curLine = '';\n } else {\n this._curLine = b64.substr(lastLF + 1);\n b64 = b64.substr(0, lastLF + 1);\n }\n }\n\n if (b64) {\n this.outputBytes += b64.length;\n this.push(Buffer.from(b64, 'ascii'));\n }\n\n setImmediate(done);\n }\n\n _flush(done) {\n if (this._remainingBytes && this._remainingBytes.length) {\n this._curLine += encode(this._remainingBytes);\n }\n\n if (this._curLine) {\n this._curLine = wrap(this._curLine, this.options.lineLength);\n this.outputBytes += this._curLine.length;\n this.push(this._curLine, 'ascii');\n this._curLine = '';\n }\n done();\n }\n}\n\n// expose to the world\nmodule.exports = {\n encode,\n wrap,\n Encoder\n};\n","\"use strict\";\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlShareCode = exports.CurlCode = exports.CurlMultiCode = void 0;\r\n// https://github.com/curl/curl/blob/7e35eb7729/include/curl/multi.h#L61\r\n/**\r\n * @public\r\n */\r\nvar CurlMultiCode;\r\n(function (CurlMultiCode) {\r\n CurlMultiCode[CurlMultiCode[\"CURLM_CALL_MULTI_PERFORM\"] = -1] = \"CURLM_CALL_MULTI_PERFORM\"; /* please call curl_multi_perform() or\r\n curl_multi_socket*() soon */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_OK\"] = 0] = \"CURLM_OK\";\r\n CurlMultiCode[CurlMultiCode[\"CURLM_BAD_HANDLE\"] = 1] = \"CURLM_BAD_HANDLE\"; /* the passed-in handle is not a valid CURLM handle */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_BAD_EASY_HANDLE\"] = 2] = \"CURLM_BAD_EASY_HANDLE\"; /* an easy handle was not good/valid */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_OUT_OF_MEMORY\"] = 3] = \"CURLM_OUT_OF_MEMORY\"; /* if you ever get this, you're in deep sh*t */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_INTERNAL_ERROR\"] = 4] = \"CURLM_INTERNAL_ERROR\"; /* this is a libcurl bug */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_BAD_SOCKET\"] = 5] = \"CURLM_BAD_SOCKET\"; /* the passed in socket argument did not match */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_UNKNOWN_OPTION\"] = 6] = \"CURLM_UNKNOWN_OPTION\"; /* curl_multi_setopt() with unsupported option */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_ADDED_ALREADY\"] = 7] = \"CURLM_ADDED_ALREADY\"; /* an easy handle already added to a multi handle was\r\n attempted to get added - again */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_RECURSIVE_API_CALL\"] = 8] = \"CURLM_RECURSIVE_API_CALL\"; /* an api function was called from inside a\r\n callback */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_WAKEUP_FAILURE\"] = 9] = \"CURLM_WAKEUP_FAILURE\"; /* wakeup is unavailable or failed */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_BAD_FUNCTION_ARGUMENT\"] = 10] = \"CURLM_BAD_FUNCTION_ARGUMENT\"; /* function called with a bad parameter */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_LAST\"] = 11] = \"CURLM_LAST\";\r\n /* just to make code nicer when using curl_multi_socket() you can now check\r\n for CURLM_CALL_MULTI_SOCKET too in the same style it works for\r\n curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_CALL_MULTI_SOCKET\"] = -1] = \"CURLM_CALL_MULTI_SOCKET\";\r\n})(CurlMultiCode = exports.CurlMultiCode || (exports.CurlMultiCode = {}));\r\n// https://github.com/curl/curl/blob/e1be825453/include/curl/curl.h#L478\r\n/**\r\n * @public\r\n */\r\nvar CurlCode;\r\n(function (CurlCode) {\r\n CurlCode[CurlCode[\"CURLE_OK\"] = 0] = \"CURLE_OK\";\r\n CurlCode[CurlCode[\"CURLE_UNSUPPORTED_PROTOCOL\"] = 1] = \"CURLE_UNSUPPORTED_PROTOCOL\"; /* 1 */\r\n CurlCode[CurlCode[\"CURLE_FAILED_INIT\"] = 2] = \"CURLE_FAILED_INIT\"; /* 2 */\r\n CurlCode[CurlCode[\"CURLE_URL_MALFORMAT\"] = 3] = \"CURLE_URL_MALFORMAT\"; /* 3 */\r\n CurlCode[CurlCode[\"CURLE_NOT_BUILT_IN\"] = 4] = \"CURLE_NOT_BUILT_IN\"; /* 4 - [was obsoleted in August 2007 for\r\n 7.17.0, reused in April 2011 for 7.21.5] */\r\n CurlCode[CurlCode[\"CURLE_COULDNT_RESOLVE_PROXY\"] = 5] = \"CURLE_COULDNT_RESOLVE_PROXY\"; /* 5 */\r\n CurlCode[CurlCode[\"CURLE_COULDNT_RESOLVE_HOST\"] = 6] = \"CURLE_COULDNT_RESOLVE_HOST\"; /* 6 */\r\n CurlCode[CurlCode[\"CURLE_COULDNT_CONNECT\"] = 7] = \"CURLE_COULDNT_CONNECT\"; /* 7 */\r\n CurlCode[CurlCode[\"CURLE_WEIRD_SERVER_REPLY\"] = 8] = \"CURLE_WEIRD_SERVER_REPLY\"; /* 8 */\r\n CurlCode[CurlCode[\"CURLE_REMOTE_ACCESS_DENIED\"] = 9] = \"CURLE_REMOTE_ACCESS_DENIED\"; /* 9 a service was denied by the server\r\n due to lack of access - when login fails\r\n this is not returned. */\r\n CurlCode[CurlCode[\"CURLE_FTP_ACCEPT_FAILED\"] = 10] = \"CURLE_FTP_ACCEPT_FAILED\"; /* 10 - [was obsoleted in April 2006 for\r\n 7.15.4, reused in Dec 2011 for 7.24.0]*/\r\n CurlCode[CurlCode[\"CURLE_FTP_WEIRD_PASS_REPLY\"] = 11] = \"CURLE_FTP_WEIRD_PASS_REPLY\"; /* 11 */\r\n CurlCode[CurlCode[\"CURLE_FTP_ACCEPT_TIMEOUT\"] = 12] = \"CURLE_FTP_ACCEPT_TIMEOUT\"; /* 12 - timeout occurred accepting server\r\n [was obsoleted in August 2007 for 7.17.0,\r\n reused in Dec 2011 for 7.24.0]*/\r\n CurlCode[CurlCode[\"CURLE_FTP_WEIRD_PASV_REPLY\"] = 13] = \"CURLE_FTP_WEIRD_PASV_REPLY\"; /* 13 */\r\n CurlCode[CurlCode[\"CURLE_FTP_WEIRD_227_FORMAT\"] = 14] = \"CURLE_FTP_WEIRD_227_FORMAT\"; /* 14 */\r\n CurlCode[CurlCode[\"CURLE_FTP_CANT_GET_HOST\"] = 15] = \"CURLE_FTP_CANT_GET_HOST\"; /* 15 */\r\n CurlCode[CurlCode[\"CURLE_HTTP2\"] = 16] = \"CURLE_HTTP2\"; /* 16 - A problem in the http2 framing layer.\r\n [was obsoleted in August 2007 for 7.17.0,\r\n reused in July 2014 for 7.38.0] */\r\n CurlCode[CurlCode[\"CURLE_FTP_COULDNT_SET_TYPE\"] = 17] = \"CURLE_FTP_COULDNT_SET_TYPE\"; /* 17 */\r\n CurlCode[CurlCode[\"CURLE_PARTIAL_FILE\"] = 18] = \"CURLE_PARTIAL_FILE\"; /* 18 */\r\n CurlCode[CurlCode[\"CURLE_FTP_COULDNT_RETR_FILE\"] = 19] = \"CURLE_FTP_COULDNT_RETR_FILE\"; /* 19 */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE20\"] = 20] = \"CURLE_OBSOLETE20\"; /* 20 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_QUOTE_ERROR\"] = 21] = \"CURLE_QUOTE_ERROR\"; /* 21 - quote command failure */\r\n CurlCode[CurlCode[\"CURLE_HTTP_RETURNED_ERROR\"] = 22] = \"CURLE_HTTP_RETURNED_ERROR\"; /* 22 */\r\n CurlCode[CurlCode[\"CURLE_WRITE_ERROR\"] = 23] = \"CURLE_WRITE_ERROR\"; /* 23 */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE24\"] = 24] = \"CURLE_OBSOLETE24\"; /* 24 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_UPLOAD_FAILED\"] = 25] = \"CURLE_UPLOAD_FAILED\"; /* 25 - failed upload \"command\" */\r\n CurlCode[CurlCode[\"CURLE_READ_ERROR\"] = 26] = \"CURLE_READ_ERROR\"; /* 26 - couldn't open/read from file */\r\n CurlCode[CurlCode[\"CURLE_OUT_OF_MEMORY\"] = 27] = \"CURLE_OUT_OF_MEMORY\"; /* 27 */\r\n /* Note: CURLE_OUT_OF_MEMORY may sometimes indicate a conversion error\r\n instead of a memory allocation error if CURL_DOES_CONVERSIONS\r\n is defined\r\n */\r\n CurlCode[CurlCode[\"CURLE_OPERATION_TIMEDOUT\"] = 28] = \"CURLE_OPERATION_TIMEDOUT\"; /* 28 - the timeout time was reached */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE29\"] = 29] = \"CURLE_OBSOLETE29\"; /* 29 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_FTP_PORT_FAILED\"] = 30] = \"CURLE_FTP_PORT_FAILED\"; /* 30 - FTP PORT operation failed */\r\n CurlCode[CurlCode[\"CURLE_FTP_COULDNT_USE_REST\"] = 31] = \"CURLE_FTP_COULDNT_USE_REST\"; /* 31 - the REST command failed */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE32\"] = 32] = \"CURLE_OBSOLETE32\"; /* 32 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_RANGE_ERROR\"] = 33] = \"CURLE_RANGE_ERROR\"; /* 33 - RANGE \"command\" didn't work */\r\n CurlCode[CurlCode[\"CURLE_HTTP_POST_ERROR\"] = 34] = \"CURLE_HTTP_POST_ERROR\"; /* 34 */\r\n CurlCode[CurlCode[\"CURLE_SSL_CONNECT_ERROR\"] = 35] = \"CURLE_SSL_CONNECT_ERROR\"; /* 35 - wrong when connecting with SSL */\r\n CurlCode[CurlCode[\"CURLE_BAD_DOWNLOAD_RESUME\"] = 36] = \"CURLE_BAD_DOWNLOAD_RESUME\"; /* 36 - couldn't resume download */\r\n CurlCode[CurlCode[\"CURLE_FILE_COULDNT_READ_FILE\"] = 37] = \"CURLE_FILE_COULDNT_READ_FILE\"; /* 37 */\r\n CurlCode[CurlCode[\"CURLE_LDAP_CANNOT_BIND\"] = 38] = \"CURLE_LDAP_CANNOT_BIND\"; /* 38 */\r\n CurlCode[CurlCode[\"CURLE_LDAP_SEARCH_FAILED\"] = 39] = \"CURLE_LDAP_SEARCH_FAILED\"; /* 39 */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE40\"] = 40] = \"CURLE_OBSOLETE40\"; /* 40 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_FUNCTION_NOT_FOUND\"] = 41] = \"CURLE_FUNCTION_NOT_FOUND\"; /* 41 - NOT USED starting with 7.53.0 */\r\n CurlCode[CurlCode[\"CURLE_ABORTED_BY_CALLBACK\"] = 42] = \"CURLE_ABORTED_BY_CALLBACK\"; /* 42 */\r\n CurlCode[CurlCode[\"CURLE_BAD_FUNCTION_ARGUMENT\"] = 43] = \"CURLE_BAD_FUNCTION_ARGUMENT\"; /* 43 */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE44\"] = 44] = \"CURLE_OBSOLETE44\"; /* 44 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_INTERFACE_FAILED\"] = 45] = \"CURLE_INTERFACE_FAILED\"; /* 45 - CURLOPT_INTERFACE failed */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE46\"] = 46] = \"CURLE_OBSOLETE46\"; /* 46 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_TOO_MANY_REDIRECTS\"] = 47] = \"CURLE_TOO_MANY_REDIRECTS\"; /* 47 - catch endless re-direct loops */\r\n CurlCode[CurlCode[\"CURLE_UNKNOWN_OPTION\"] = 48] = \"CURLE_UNKNOWN_OPTION\"; /* 48 - User specified an unknown option */\r\n CurlCode[CurlCode[\"CURLE_TELNET_OPTION_SYNTAX\"] = 49] = \"CURLE_TELNET_OPTION_SYNTAX\"; /* 49 - Malformed telnet option */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE50\"] = 50] = \"CURLE_OBSOLETE50\"; /* 50 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE51\"] = 51] = \"CURLE_OBSOLETE51\"; /* 51 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_GOT_NOTHING\"] = 52] = \"CURLE_GOT_NOTHING\"; /* 52 - when this is a specific error */\r\n CurlCode[CurlCode[\"CURLE_SSL_ENGINE_NOTFOUND\"] = 53] = \"CURLE_SSL_ENGINE_NOTFOUND\"; /* 53 - SSL crypto engine not found */\r\n CurlCode[CurlCode[\"CURLE_SSL_ENGINE_SETFAILED\"] = 54] = \"CURLE_SSL_ENGINE_SETFAILED\"; /* 54 - can not set SSL crypto engine as\r\n default */\r\n CurlCode[CurlCode[\"CURLE_SEND_ERROR\"] = 55] = \"CURLE_SEND_ERROR\"; /* 55 - failed sending network data */\r\n CurlCode[CurlCode[\"CURLE_RECV_ERROR\"] = 56] = \"CURLE_RECV_ERROR\"; /* 56 - failure in receiving network data */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE57\"] = 57] = \"CURLE_OBSOLETE57\"; /* 57 - NOT IN USE */\r\n CurlCode[CurlCode[\"CURLE_SSL_CERTPROBLEM\"] = 58] = \"CURLE_SSL_CERTPROBLEM\"; /* 58 - problem with the local certificate */\r\n CurlCode[CurlCode[\"CURLE_SSL_CIPHER\"] = 59] = \"CURLE_SSL_CIPHER\"; /* 59 - couldn't use specified cipher */\r\n CurlCode[CurlCode[\"CURLE_PEER_FAILED_VERIFICATION\"] = 60] = \"CURLE_PEER_FAILED_VERIFICATION\"; /* 60 - peer's certificate or fingerprint\r\n wasn't verified fine */\r\n CurlCode[CurlCode[\"CURLE_BAD_CONTENT_ENCODING\"] = 61] = \"CURLE_BAD_CONTENT_ENCODING\"; /* 61 - Unrecognized/bad encoding */\r\n CurlCode[CurlCode[\"CURLE_LDAP_INVALID_URL\"] = 62] = \"CURLE_LDAP_INVALID_URL\"; /* 62 - Invalid LDAP URL */\r\n CurlCode[CurlCode[\"CURLE_FILESIZE_EXCEEDED\"] = 63] = \"CURLE_FILESIZE_EXCEEDED\"; /* 63 - Maximum file size exceeded */\r\n CurlCode[CurlCode[\"CURLE_USE_SSL_FAILED\"] = 64] = \"CURLE_USE_SSL_FAILED\"; /* 64 - Requested FTP SSL level failed */\r\n CurlCode[CurlCode[\"CURLE_SEND_FAIL_REWIND\"] = 65] = \"CURLE_SEND_FAIL_REWIND\"; /* 65 - Sending the data requires a rewind\r\n that failed */\r\n CurlCode[CurlCode[\"CURLE_SSL_ENGINE_INITFAILED\"] = 66] = \"CURLE_SSL_ENGINE_INITFAILED\"; /* 66 - failed to initialise ENGINE */\r\n CurlCode[CurlCode[\"CURLE_LOGIN_DENIED\"] = 67] = \"CURLE_LOGIN_DENIED\"; /* 67 - user, password or similar was not\r\n accepted and we failed to login */\r\n CurlCode[CurlCode[\"CURLE_TFTP_NOTFOUND\"] = 68] = \"CURLE_TFTP_NOTFOUND\"; /* 68 - file not found on server */\r\n CurlCode[CurlCode[\"CURLE_TFTP_PERM\"] = 69] = \"CURLE_TFTP_PERM\"; /* 69 - permission problem on server */\r\n CurlCode[CurlCode[\"CURLE_REMOTE_DISK_FULL\"] = 70] = \"CURLE_REMOTE_DISK_FULL\"; /* 70 - out of disk space on server */\r\n CurlCode[CurlCode[\"CURLE_TFTP_ILLEGAL\"] = 71] = \"CURLE_TFTP_ILLEGAL\"; /* 71 - Illegal TFTP operation */\r\n CurlCode[CurlCode[\"CURLE_TFTP_UNKNOWNID\"] = 72] = \"CURLE_TFTP_UNKNOWNID\"; /* 72 - Unknown transfer ID */\r\n CurlCode[CurlCode[\"CURLE_REMOTE_FILE_EXISTS\"] = 73] = \"CURLE_REMOTE_FILE_EXISTS\"; /* 73 - File already exists */\r\n CurlCode[CurlCode[\"CURLE_TFTP_NOSUCHUSER\"] = 74] = \"CURLE_TFTP_NOSUCHUSER\"; /* 74 - No such user */\r\n CurlCode[CurlCode[\"CURLE_CONV_FAILED\"] = 75] = \"CURLE_CONV_FAILED\"; /* 75 - conversion failed */\r\n CurlCode[CurlCode[\"CURLE_CONV_REQD\"] = 76] = \"CURLE_CONV_REQD\"; /* 76 - caller must register conversion\r\n callbacks using curl_easy_setopt options\r\n CURLOPT_CONV_FROM_NETWORK_FUNCTION,\r\n CURLOPT_CONV_TO_NETWORK_FUNCTION, and\r\n CURLOPT_CONV_FROM_UTF8_FUNCTION */\r\n CurlCode[CurlCode[\"CURLE_SSL_CACERT_BADFILE\"] = 77] = \"CURLE_SSL_CACERT_BADFILE\"; /* 77 - could not load CACERT file, missing\r\n or wrong format */\r\n CurlCode[CurlCode[\"CURLE_REMOTE_FILE_NOT_FOUND\"] = 78] = \"CURLE_REMOTE_FILE_NOT_FOUND\"; /* 78 - remote file not found */\r\n CurlCode[CurlCode[\"CURLE_SSH\"] = 79] = \"CURLE_SSH\"; /* 79 - error from the SSH layer, somewhat\r\n generic so the error message will be of\r\n interest when this has happened */\r\n CurlCode[CurlCode[\"CURLE_SSL_SHUTDOWN_FAILED\"] = 80] = \"CURLE_SSL_SHUTDOWN_FAILED\"; /* 80 - Failed to shut down the SSL\r\n connection */\r\n CurlCode[CurlCode[\"CURLE_AGAIN\"] = 81] = \"CURLE_AGAIN\"; /* 81 - socket is not ready for send/recv,\r\n wait till it's ready and try again (Added\r\n in 7.18.2) */\r\n CurlCode[CurlCode[\"CURLE_SSL_CRL_BADFILE\"] = 82] = \"CURLE_SSL_CRL_BADFILE\"; /* 82 - could not load CRL file, missing or\r\n wrong format (Added in 7.19.0) */\r\n CurlCode[CurlCode[\"CURLE_SSL_ISSUER_ERROR\"] = 83] = \"CURLE_SSL_ISSUER_ERROR\"; /* 83 - Issuer check failed. (Added in\r\n 7.19.0) */\r\n CurlCode[CurlCode[\"CURLE_FTP_PRET_FAILED\"] = 84] = \"CURLE_FTP_PRET_FAILED\"; /* 84 - a PRET command failed */\r\n CurlCode[CurlCode[\"CURLE_RTSP_CSEQ_ERROR\"] = 85] = \"CURLE_RTSP_CSEQ_ERROR\"; /* 85 - mismatch of RTSP CSeq numbers */\r\n CurlCode[CurlCode[\"CURLE_RTSP_SESSION_ERROR\"] = 86] = \"CURLE_RTSP_SESSION_ERROR\"; /* 86 - mismatch of RTSP Session Ids */\r\n CurlCode[CurlCode[\"CURLE_FTP_BAD_FILE_LIST\"] = 87] = \"CURLE_FTP_BAD_FILE_LIST\"; /* 87 - unable to parse FTP file list */\r\n CurlCode[CurlCode[\"CURLE_CHUNK_FAILED\"] = 88] = \"CURLE_CHUNK_FAILED\"; /* 88 - chunk callback reported error */\r\n CurlCode[CurlCode[\"CURLE_NO_CONNECTION_AVAILABLE\"] = 89] = \"CURLE_NO_CONNECTION_AVAILABLE\"; /* 89 - No connection available, the\r\n session will be queued */\r\n CurlCode[CurlCode[\"CURLE_SSL_PINNEDPUBKEYNOTMATCH\"] = 90] = \"CURLE_SSL_PINNEDPUBKEYNOTMATCH\"; /* 90 - specified pinned public key did not\r\n match */\r\n CurlCode[CurlCode[\"CURLE_SSL_INVALIDCERTSTATUS\"] = 91] = \"CURLE_SSL_INVALIDCERTSTATUS\"; /* 91 - invalid certificate status */\r\n CurlCode[CurlCode[\"CURLE_HTTP2_STREAM\"] = 92] = \"CURLE_HTTP2_STREAM\"; /* 92 - stream error in HTTP/2 framing layer */\r\n CurlCode[CurlCode[\"CURLE_RECURSIVE_API_CALL\"] = 93] = \"CURLE_RECURSIVE_API_CALL\"; /* 93 - an api function was called from inside a callback */\r\n CurlCode[CurlCode[\"CURLE_AUTH_ERROR\"] = 94] = \"CURLE_AUTH_ERROR\"; /* 94 - an authentication function returned an error */\r\n CurlCode[CurlCode[\"CURLE_HTTP3\"] = 95] = \"CURLE_HTTP3\"; /* 95 - An HTTP/3 layer problem */\r\n CurlCode[CurlCode[\"CURLE_QUIC_CONNECT_ERROR\"] = 96] = \"CURLE_QUIC_CONNECT_ERROR\"; /* 96 - QUIC connection error */\r\n CurlCode[CurlCode[\"CURLE_PROXY\"] = 97] = \"CURLE_PROXY\"; /* 97 - proxy handshake error */\r\n CurlCode[CurlCode[\"CURLE_LAST\"] = 98] = \"CURLE_LAST\";\r\n /* compatibility with older names */\r\n CurlCode[CurlCode[\"CURLE_FTP_WEIRD_SERVER_REPLY\"] = 8] = \"CURLE_FTP_WEIRD_SERVER_REPLY\";\r\n CurlCode[CurlCode[\"CURLE_SSL_CACERT\"] = 60] = \"CURLE_SSL_CACERT\";\r\n CurlCode[CurlCode[\"CURLE_UNKNOWN_TELNET_OPTION\"] = 48] = \"CURLE_UNKNOWN_TELNET_OPTION\";\r\n CurlCode[CurlCode[\"CURLE_SSL_PEER_CERTIFICATE\"] = 60] = \"CURLE_SSL_PEER_CERTIFICATE\";\r\n CurlCode[CurlCode[\"CURLE_FTP_ACCESS_DENIED\"] = 9] = \"CURLE_FTP_ACCESS_DENIED\";\r\n CurlCode[CurlCode[\"CURLE_FTP_COULDNT_SET_BINARY\"] = 17] = \"CURLE_FTP_COULDNT_SET_BINARY\";\r\n CurlCode[CurlCode[\"CURLE_FTP_QUOTE_ERROR\"] = 21] = \"CURLE_FTP_QUOTE_ERROR\";\r\n CurlCode[CurlCode[\"CURLE_TFTP_DISKFULL\"] = 70] = \"CURLE_TFTP_DISKFULL\";\r\n CurlCode[CurlCode[\"CURLE_TFTP_EXISTS\"] = 73] = \"CURLE_TFTP_EXISTS\";\r\n CurlCode[CurlCode[\"CURLE_HTTP_RANGE_ERROR\"] = 33] = \"CURLE_HTTP_RANGE_ERROR\";\r\n CurlCode[CurlCode[\"CURLE_FTP_SSL_FAILED\"] = 64] = \"CURLE_FTP_SSL_FAILED\";\r\n /* The following were added earlier */\r\n CurlCode[CurlCode[\"CURLE_OPERATION_TIMEOUTED\"] = 28] = \"CURLE_OPERATION_TIMEOUTED\";\r\n CurlCode[CurlCode[\"CURLE_HTTP_NOT_FOUND\"] = 22] = \"CURLE_HTTP_NOT_FOUND\";\r\n CurlCode[CurlCode[\"CURLE_HTTP_PORT_FAILED\"] = 45] = \"CURLE_HTTP_PORT_FAILED\";\r\n CurlCode[CurlCode[\"CURLE_FTP_COULDNT_STOR_FILE\"] = 25] = \"CURLE_FTP_COULDNT_STOR_FILE\";\r\n CurlCode[CurlCode[\"CURLE_FTP_PARTIAL_FILE\"] = 18] = \"CURLE_FTP_PARTIAL_FILE\";\r\n CurlCode[CurlCode[\"CURLE_FTP_BAD_DOWNLOAD_RESUME\"] = 36] = \"CURLE_FTP_BAD_DOWNLOAD_RESUME\";\r\n})(CurlCode = exports.CurlCode || (exports.CurlCode = {}));\r\n// https://github.com/curl/curl/blob/e1be825453/include/curl/curl.h#L2675\r\n/**\r\n * @public\r\n */\r\nvar CurlShareCode;\r\n(function (CurlShareCode) {\r\n CurlShareCode[CurlShareCode[\"CURLSHE_OK\"] = 0] = \"CURLSHE_OK\"; /* all is fine */\r\n CurlShareCode[CurlShareCode[\"CURLSHE_BAD_OPTION\"] = 1] = \"CURLSHE_BAD_OPTION\"; /* 1 */\r\n CurlShareCode[CurlShareCode[\"CURLSHE_IN_USE\"] = 2] = \"CURLSHE_IN_USE\"; /* 2 */\r\n CurlShareCode[CurlShareCode[\"CURLSHE_INVALID\"] = 3] = \"CURLSHE_INVALID\"; /* 3 */\r\n CurlShareCode[CurlShareCode[\"CURLSHE_NOMEM\"] = 4] = \"CURLSHE_NOMEM\"; /* 4 out of memory */\r\n CurlShareCode[CurlShareCode[\"CURLSHE_NOT_BUILT_IN\"] = 5] = \"CURLSHE_NOT_BUILT_IN\"; /* 5 feature not present in lib */\r\n CurlShareCode[CurlShareCode[\"CURLSHE_LAST\"] = 6] = \"CURLSHE_LAST\";\r\n})(CurlShareCode = exports.CurlShareCode || (exports.CurlShareCode = {}));\r\n//# sourceMappingURL=CurlCode.js.map","// JS-YAML's default schema for `load` function.\n// It is not described in the YAML specification.\n//\n// This schema is based on JS-YAML's default safe schema and includes\n// JavaScript-specific types: !!js/undefined, !!js/regexp and !!js/function.\n//\n// Also this schema is used as default base schema at `Schema.create` function.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = Schema.DEFAULT = new Schema({\n include: [\n require('./default_safe')\n ],\n explicit: [\n require('../type/js/undefined'),\n require('../type/js/regexp'),\n require('../type/js/function')\n ]\n});\n",null,"'use strict'\n\nconst fs = require('graceful-fs')\n\nfunction utimesMillis (path, atime, mtime, callback) {\n // if (!HAS_MILLIS_RES) return fs.utimes(path, atime, mtime, callback)\n fs.open(path, 'r+', (err, fd) => {\n if (err) return callback(err)\n fs.futimes(fd, atime, mtime, futimesErr => {\n fs.close(fd, closeErr => {\n if (callback) callback(futimesErr || closeErr)\n })\n })\n })\n}\n\nfunction utimesMillisSync (path, atime, mtime) {\n const fd = fs.openSync(path, 'r+')\n fs.futimesSync(fd, atime, mtime)\n return fs.closeSync(fd)\n}\n\nmodule.exports = {\n utimesMillis,\n utimesMillisSync\n}\n","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:seq', {\n kind: 'sequence',\n construct: function (data) { return data !== null ? data : []; }\n});\n","'use strict'\n\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst pathExists = require('../path-exists').pathExists\n\n/**\n * Function that returns two types of paths, one relative to symlink, and one\n * relative to the current working directory. Checks if path is absolute or\n * relative. If the path is relative, this function checks if the path is\n * relative to symlink or relative to current working directory. This is an\n * initiative to find a smarter `srcpath` to supply when building symlinks.\n * This allows you to determine which path to use out of one of three possible\n * types of source paths. The first is an absolute path. This is detected by\n * `path.isAbsolute()`. When an absolute path is provided, it is checked to\n * see if it exists. If it does it's used, if not an error is returned\n * (callback)/ thrown (sync). The other two options for `srcpath` are a\n * relative url. By default Node's `fs.symlink` works by creating a symlink\n * using `dstpath` and expects the `srcpath` to be relative to the newly\n * created symlink. If you provide a `srcpath` that does not exist on the file\n * system it results in a broken symlink. To minimize this, the function\n * checks to see if the 'relative to symlink' source file exists, and if it\n * does it will use it. If it does not, it checks if there's a file that\n * exists that is relative to the current working directory, if does its used.\n * This preserves the expectations of the original fs.symlink spec and adds\n * the ability to pass in `relative to current working direcotry` paths.\n */\n\nfunction symlinkPaths (srcpath, dstpath, callback) {\n if (path.isAbsolute(srcpath)) {\n return fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n return callback(err)\n }\n return callback(null, {\n toCwd: srcpath,\n toDst: srcpath\n })\n })\n } else {\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n return pathExists(relativeToDst, (err, exists) => {\n if (err) return callback(err)\n if (exists) {\n return callback(null, {\n toCwd: relativeToDst,\n toDst: srcpath\n })\n } else {\n return fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n return callback(err)\n }\n return callback(null, {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n })\n })\n }\n })\n }\n}\n\nfunction symlinkPathsSync (srcpath, dstpath) {\n let exists\n if (path.isAbsolute(srcpath)) {\n exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('absolute srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: srcpath\n }\n } else {\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n exists = fs.existsSync(relativeToDst)\n if (exists) {\n return {\n toCwd: relativeToDst,\n toDst: srcpath\n }\n } else {\n exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('relative srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n }\n }\n }\n}\n\nmodule.exports = {\n symlinkPaths,\n symlinkPathsSync\n}\n","var common = require('./common');\n\ncommon.register('set', _set, {\n allowGlobbing: false,\n wrapOutput: false,\n});\n\n//@\n//@ ### set(options)\n//@\n//@ Available options:\n//@\n//@ + `+/-e`: exit upon error (`config.fatal`)\n//@ + `+/-v`: verbose: show all commands (`config.verbose`)\n//@ + `+/-f`: disable filename expansion (globbing)\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ set('-e'); // exit upon first error\n//@ set('+e'); // this undoes a \"set('-e')\"\n//@ ```\n//@\n//@ Sets global configuration variables.\nfunction _set(options) {\n if (!options) {\n var args = [].slice.call(arguments, 0);\n if (args.length < 2) common.error('must provide an argument');\n options = args[1];\n }\n var negate = (options[0] === '+');\n if (negate) {\n options = '-' + options.slice(1); // parseOptions needs a '-' prefix\n }\n options = common.parseOptions(options, {\n 'e': 'fatal',\n 'v': 'verbose',\n 'f': 'noglob',\n });\n\n if (negate) {\n Object.keys(options).forEach(function (key) {\n options[key] = !options[key];\n });\n }\n\n Object.keys(options).forEach(function (key) {\n // Only change the global config if `negate` is false and the option is true\n // or if `negate` is true and the option is false (aka negate !== option)\n if (negate !== options[key]) {\n common.config[key] = options[key];\n }\n });\n return;\n}\nmodule.exports = _set;\n","module.exports = require(\"net\");","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUptimePercentForSite = void 0;\nconst fs_extra_1 = require(\"fs-extra\");\nconst js_yaml_1 = require(\"js-yaml\");\nconst github_1 = require(\"./github\");\nconst path_1 = require(\"path\");\n/**\n * Get the number of seconds a website has been down\n * @param slug - Slug of the site\n */\nconst getDowntimeSecondsForSite = async (slug) => {\n let [owner, repo] = (process.env.GITHUB_REPOSITORY || \"\").split(\"/\");\n const octokit = await github_1.getOctokit();\n let msDown = 0;\n // Get all the issues for this website\n const { data } = await octokit.issues.listForRepo({\n owner,\n repo,\n labels: `status,${slug}`,\n filter: \"all\",\n state: \"all\",\n per_page: 100,\n });\n // If this issue has been closed already, calculate the difference\n // between when it was closed and when it was opened\n // If this issue is still open, calculate the time since it was opened\n data.forEach((issue) => (msDown +=\n new Date(issue.closed_at || new Date()).getTime() - new Date(issue.created_at).getTime()));\n return Math.round(msDown / 1000);\n};\n/**\n * Get the uptime percentage for a website\n * @returns Percent string, e.g., 94.43%\n * @param slug - Slug of the site\n */\nconst getUptimePercentForSite = async (slug) => {\n const site = js_yaml_1.safeLoad((await fs_extra_1.readFile(path_1.join(\".\", \"history\", `${slug}.yml`), \"utf8\"))\n .split(\"\\n\")\n .map((line) => (line.startsWith(\"- \") ? line.replace(\"- \", \"\") : line))\n .join(\"\\n\"));\n // Time when we started tracking this website's downtime\n const startDate = new Date(site.startTime || new Date());\n // Number of seconds we have been tracking this site\n const totalSeconds = (new Date().getTime() - startDate.getTime()) / 1000;\n // Number of seconds the site has been down\n const downtimeSeconds = await getDowntimeSecondsForSite(slug);\n // Return a percentage string\n return `${Math.min(0, 100 - (downtimeSeconds / totalSeconds) * 100).toFixed(2)}%`;\n};\nexports.getUptimePercentForSite = getUptimePercentForSite;\n//# sourceMappingURL=calculate-uptime.js.map","'use strict';\n\nvar YAMLException = require('./exception');\n\nvar TYPE_CONSTRUCTOR_OPTIONS = [\n 'kind',\n 'resolve',\n 'construct',\n 'instanceOf',\n 'predicate',\n 'represent',\n 'defaultStyle',\n 'styleAliases'\n];\n\nvar YAML_NODE_KINDS = [\n 'scalar',\n 'sequence',\n 'mapping'\n];\n\nfunction compileStyleAliases(map) {\n var result = {};\n\n if (map !== null) {\n Object.keys(map).forEach(function (style) {\n map[style].forEach(function (alias) {\n result[String(alias)] = style;\n });\n });\n }\n\n return result;\n}\n\nfunction Type(tag, options) {\n options = options || {};\n\n Object.keys(options).forEach(function (name) {\n if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {\n throw new YAMLException('Unknown option \"' + name + '\" is met in definition of \"' + tag + '\" YAML type.');\n }\n });\n\n // TODO: Add tag format check.\n this.tag = tag;\n this.kind = options['kind'] || null;\n this.resolve = options['resolve'] || function () { return true; };\n this.construct = options['construct'] || function (data) { return data; };\n this.instanceOf = options['instanceOf'] || null;\n this.predicate = options['predicate'] || null;\n this.represent = options['represent'] || null;\n this.defaultStyle = options['defaultStyle'] || null;\n this.styleAliases = compileStyleAliases(options['styleAliases'] || null);\n\n if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {\n throw new YAMLException('Unknown kind \"' + this.kind + '\" is specified for \"' + tag + '\" YAML type.');\n }\n}\n\nmodule.exports = Type;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar Type = require('../type');\n\nvar _toString = Object.prototype.toString;\n\nfunction resolveYamlPairs(data) {\n if (data === null) return true;\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n if (_toString.call(pair) !== '[object Object]') return false;\n\n keys = Object.keys(pair);\n\n if (keys.length !== 1) return false;\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return true;\n}\n\nfunction constructYamlPairs(data) {\n if (data === null) return [];\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n keys = Object.keys(pair);\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return result;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:pairs', {\n kind: 'sequence',\n resolve: resolveYamlPairs,\n construct: constructYamlPairs\n});\n","'use strict'\n\n/**\n * Tries to execute a function and discards any error that occurs.\n * @param {Function} fn - Function that might or might not throw an error.\n * @returns {?*} Return-value of the function when no error occurred.\n */\nmodule.exports = function(fn) {\n\n\ttry { return fn() } catch (e) {}\n\n}","'use strict';\n\nconst packageInfo = require('../../package.json');\nconst EventEmitter = require('events').EventEmitter;\nconst net = require('net');\nconst tls = require('tls');\nconst os = require('os');\nconst crypto = require('crypto');\nconst DataStream = require('./data-stream');\nconst PassThrough = require('stream').PassThrough;\nconst shared = require('../shared');\n\n// default timeout values in ms\nconst CONNECTION_TIMEOUT = 2 * 60 * 1000; // how much to wait for the connection to be established\nconst SOCKET_TIMEOUT = 10 * 60 * 1000; // how much to wait for socket inactivity before disconnecting the client\nconst GREETING_TIMEOUT = 30 * 1000; // how much to wait after connection is established but SMTP greeting is not receieved\n\n/**\n * Generates a SMTP connection object\n *\n * Optional options object takes the following possible properties:\n *\n * * **port** - is the port to connect to (defaults to 587 or 465)\n * * **host** - is the hostname or IP address to connect to (defaults to 'localhost')\n * * **secure** - use SSL\n * * **ignoreTLS** - ignore server support for STARTTLS\n * * **requireTLS** - forces the client to use STARTTLS\n * * **name** - the name of the client server\n * * **localAddress** - outbound address to bind to (see: http://nodejs.org/api/net.html#net_net_connect_options_connectionlistener)\n * * **greetingTimeout** - Time to wait in ms until greeting message is received from the server (defaults to 10000)\n * * **connectionTimeout** - how many milliseconds to wait for the connection to establish\n * * **socketTimeout** - Time of inactivity until the connection is closed (defaults to 1 hour)\n * * **lmtp** - if true, uses LMTP instead of SMTP protocol\n * * **logger** - bunyan compatible logger interface\n * * **debug** - if true pass SMTP traffic to the logger\n * * **tls** - options for createCredentials\n * * **socket** - existing socket to use instead of creating a new one (see: http://nodejs.org/api/net.html#net_class_net_socket)\n * * **secured** - boolean indicates that the provided socket has already been upgraded to tls\n *\n * @constructor\n * @namespace SMTP Client module\n * @param {Object} [options] Option properties\n */\nclass SMTPConnection extends EventEmitter {\n constructor(options) {\n super(options);\n\n this.id = crypto.randomBytes(8).toString('base64').replace(/\\W/g, '');\n this.stage = 'init';\n\n this.options = options || {};\n\n this.secureConnection = !!this.options.secure;\n this.alreadySecured = !!this.options.secured;\n\n this.port = Number(this.options.port) || (this.secureConnection ? 465 : 587);\n this.host = this.options.host || 'localhost';\n\n if (typeof this.options.secure === 'undefined' && this.port === 465) {\n // if secure option is not set but port is 465, then default to secure\n this.secureConnection = true;\n }\n\n this.name = this.options.name || this._getHostname();\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'smtp-connection',\n sid: this.id\n });\n\n this.customAuth = new Map();\n Object.keys(this.options.customAuth || {}).forEach(key => {\n let mapKey = (key || '').toString().trim().toUpperCase();\n if (!mapKey) {\n return;\n }\n this.customAuth.set(mapKey, this.options.customAuth[key]);\n });\n\n /**\n * Expose version nr, just for the reference\n * @type {String}\n */\n this.version = packageInfo.version;\n\n /**\n * If true, then the user is authenticated\n * @type {Boolean}\n */\n this.authenticated = false;\n\n /**\n * If set to true, this instance is no longer active\n * @private\n */\n this.destroyed = false;\n\n /**\n * Defines if the current connection is secure or not. If not,\n * STARTTLS can be used if available\n * @private\n */\n this.secure = !!this.secureConnection;\n\n /**\n * Store incomplete messages coming from the server\n * @private\n */\n this._remainder = '';\n\n /**\n * Unprocessed responses from the server\n * @type {Array}\n */\n this._responseQueue = [];\n\n this.lastServerResponse = false;\n\n /**\n * The socket connecting to the server\n * @publick\n */\n this._socket = false;\n\n /**\n * Lists supported auth mechanisms\n * @private\n */\n this._supportedAuth = [];\n\n /**\n * Set to true, if EHLO response includes \"AUTH\".\n * If false then authentication is not tried\n */\n this.allowsAuth = false;\n\n /**\n * Includes current envelope (from, to)\n * @private\n */\n this._envelope = false;\n\n /**\n * Lists supported extensions\n * @private\n */\n this._supportedExtensions = [];\n\n /**\n * Defines the maximum allowed size for a single message\n * @private\n */\n this._maxAllowedSize = 0;\n\n /**\n * Function queue to run if a data chunk comes from the server\n * @private\n */\n this._responseActions = [];\n this._recipientQueue = [];\n\n /**\n * Timeout variable for waiting the greeting\n * @private\n */\n this._greetingTimeout = false;\n\n /**\n * Timeout variable for waiting the connection to start\n * @private\n */\n this._connectionTimeout = false;\n\n /**\n * If the socket is deemed already closed\n * @private\n */\n this._destroyed = false;\n\n /**\n * If the socket is already being closed\n * @private\n */\n this._closing = false;\n\n /**\n * Callbacks for socket's listeners\n */\n this._onSocketData = chunk => this._onData(chunk);\n this._onSocketError = error => this._onError(error, 'ESOCKET', false, 'CONN');\n this._onSocketClose = () => this._onClose();\n this._onSocketEnd = () => this._onEnd();\n this._onSocketTimeout = () => this._onTimeout();\n }\n\n /**\n * Creates a connection to a SMTP server and sets up connection\n * listener\n */\n connect(connectCallback) {\n if (typeof connectCallback === 'function') {\n this.once('connect', () => {\n this.logger.debug(\n {\n tnx: 'smtp'\n },\n 'SMTP handshake finished'\n );\n connectCallback();\n });\n\n const isDestroyedMessage = this._isDestroyedMessage('connect');\n if (isDestroyedMessage) {\n return connectCallback(this._formatError(isDestroyedMessage, 'ECONNECTION', false, 'CONN'));\n }\n }\n\n let opts = {\n port: this.port,\n host: this.host\n };\n\n if (this.options.localAddress) {\n opts.localAddress = this.options.localAddress;\n }\n\n let setupConnectionHandlers = () => {\n this._connectionTimeout = setTimeout(() => {\n this._onError('Connection timeout', 'ETIMEDOUT', false, 'CONN');\n }, this.options.connectionTimeout || CONNECTION_TIMEOUT);\n\n this._socket.on('error', this._onSocketError);\n };\n\n if (this.options.connection) {\n // connection is already opened\n this._socket = this.options.connection;\n if (this.secureConnection && !this.alreadySecured) {\n setImmediate(() =>\n this._upgradeConnection(err => {\n if (err) {\n this._onError(new Error('Error initiating TLS - ' + (err.message || err)), 'ETLS', false, 'CONN');\n return;\n }\n this._onConnect();\n })\n );\n } else {\n setImmediate(() => this._onConnect());\n }\n return;\n } else if (this.options.socket) {\n // socket object is set up but not yet connected\n this._socket = this.options.socket;\n return shared.resolveHostname(opts, (err, resolved) => {\n if (err) {\n return setImmediate(() => this._onError(err, 'EDNS', false, 'CONN'));\n }\n this.logger.debug(\n {\n tnx: 'dns',\n source: opts.host,\n resolved: resolved.host,\n cached: !!resolved._cached\n },\n 'Resolved %s as %s [cache %s]',\n opts.host,\n resolved.host,\n resolved._cached ? 'hit' : 'miss'\n );\n Object.keys(resolved).forEach(key => {\n if (key.charAt(0) !== '_' && resolved[key]) {\n opts[key] = resolved[key];\n }\n });\n try {\n this._socket.connect(this.port, this.host, () => {\n this._socket.setKeepAlive(true);\n this._onConnect();\n });\n setupConnectionHandlers();\n } catch (E) {\n return setImmediate(() => this._onError(E, 'ECONNECTION', false, 'CONN'));\n }\n });\n } else if (this.secureConnection) {\n // connect using tls\n if (this.options.tls) {\n Object.keys(this.options.tls).forEach(key => {\n opts[key] = this.options.tls[key];\n });\n }\n return shared.resolveHostname(opts, (err, resolved) => {\n if (err) {\n return setImmediate(() => this._onError(err, 'EDNS', false, 'CONN'));\n }\n this.logger.debug(\n {\n tnx: 'dns',\n source: opts.host,\n resolved: resolved.host,\n cached: !!resolved._cached\n },\n 'Resolved %s as %s [cache %s]',\n opts.host,\n resolved.host,\n resolved._cached ? 'hit' : 'miss'\n );\n Object.keys(resolved).forEach(key => {\n if (key.charAt(0) !== '_' && resolved[key]) {\n opts[key] = resolved[key];\n }\n });\n try {\n this._socket = tls.connect(opts, () => {\n this._socket.setKeepAlive(true);\n this._onConnect();\n });\n setupConnectionHandlers();\n } catch (E) {\n return setImmediate(() => this._onError(E, 'ECONNECTION', false, 'CONN'));\n }\n });\n } else {\n // connect using plaintext\n return shared.resolveHostname(opts, (err, resolved) => {\n if (err) {\n return setImmediate(() => this._onError(err, 'EDNS', false, 'CONN'));\n }\n this.logger.debug(\n {\n tnx: 'dns',\n source: opts.host,\n resolved: resolved.host,\n cached: !!resolved._cached\n },\n 'Resolved %s as %s [cache %s]',\n opts.host,\n resolved.host,\n resolved._cached ? 'hit' : 'miss'\n );\n Object.keys(resolved).forEach(key => {\n if (key.charAt(0) !== '_' && resolved[key]) {\n opts[key] = resolved[key];\n }\n });\n try {\n this._socket = net.connect(opts, () => {\n this._socket.setKeepAlive(true);\n this._onConnect();\n });\n setupConnectionHandlers();\n } catch (E) {\n return setImmediate(() => this._onError(E, 'ECONNECTION', false, 'CONN'));\n }\n });\n }\n }\n\n /**\n * Sends QUIT\n */\n quit() {\n this._sendCommand('QUIT');\n this._responseActions.push(this.close);\n }\n\n /**\n * Closes the connection to the server\n */\n close() {\n clearTimeout(this._connectionTimeout);\n clearTimeout(this._greetingTimeout);\n this._responseActions = [];\n\n // allow to run this function only once\n if (this._closing) {\n return;\n }\n this._closing = true;\n\n let closeMethod = 'end';\n\n if (this.stage === 'init') {\n // Close the socket immediately when connection timed out\n closeMethod = 'destroy';\n }\n\n this.logger.debug(\n {\n tnx: 'smtp'\n },\n 'Closing connection to the server using \"%s\"',\n closeMethod\n );\n\n let socket = (this._socket && this._socket.socket) || this._socket;\n\n if (socket && !socket.destroyed) {\n try {\n this._socket[closeMethod]();\n } catch (E) {\n // just ignore\n }\n }\n\n this._destroy();\n }\n\n /**\n * Authenticate user\n */\n login(authData, callback) {\n const isDestroyedMessage = this._isDestroyedMessage('login');\n if (isDestroyedMessage) {\n return callback(this._formatError(isDestroyedMessage, 'ECONNECTION', false, 'API'));\n }\n\n this._auth = authData || {};\n // Select SASL authentication method\n this._authMethod = (this._auth.method || '').toString().trim().toUpperCase() || false;\n\n if (!this._authMethod && this._auth.oauth2 && !this._auth.credentials) {\n this._authMethod = 'XOAUTH2';\n } else if (!this._authMethod || (this._authMethod === 'XOAUTH2' && !this._auth.oauth2)) {\n // use first supported\n this._authMethod = (this._supportedAuth[0] || 'PLAIN').toUpperCase().trim();\n }\n\n if (this._authMethod !== 'XOAUTH2' && (!this._auth.credentials || !this._auth.credentials.user || !this._auth.credentials.pass)) {\n if (this._auth.user && this._auth.pass) {\n this._auth.credentials = {\n user: this._auth.user,\n pass: this._auth.pass,\n options: this._auth.options\n };\n } else {\n return callback(this._formatError('Missing credentials for \"' + this._authMethod + '\"', 'EAUTH', false, 'API'));\n }\n }\n\n if (this.customAuth.has(this._authMethod)) {\n let handler = this.customAuth.get(this._authMethod);\n let lastResponse;\n let returned = false;\n\n let resolve = () => {\n if (returned) {\n return;\n }\n returned = true;\n this.logger.info(\n {\n tnx: 'smtp',\n username: this._auth.user,\n action: 'authenticated',\n method: this._authMethod\n },\n 'User %s authenticated',\n JSON.stringify(this._auth.user)\n );\n this.authenticated = true;\n callback(null, true);\n };\n\n let reject = err => {\n if (returned) {\n return;\n }\n returned = true;\n callback(this._formatError(err, 'EAUTH', lastResponse, 'AUTH ' + this._authMethod));\n };\n\n let handlerResponse = handler({\n auth: this._auth,\n method: this._authMethod,\n\n extensions: [].concat(this._supportedExtensions),\n authMethods: [].concat(this._supportedAuth),\n maxAllowedSize: this._maxAllowedSize || false,\n\n sendCommand: (cmd, done) => {\n let promise;\n\n if (!done) {\n promise = new Promise((resolve, reject) => {\n done = shared.callbackPromise(resolve, reject);\n });\n }\n\n this._responseActions.push(str => {\n lastResponse = str;\n\n let codes = str.match(/^(\\d+)(?:\\s(\\d+\\.\\d+\\.\\d+))?\\s/);\n let data = {\n command: cmd,\n response: str\n };\n if (codes) {\n data.status = Number(codes[1]) || 0;\n if (codes[2]) {\n data.code = codes[2];\n }\n data.text = str.substr(codes[0].length);\n } else {\n data.text = str;\n data.status = 0; // just in case we need to perform numeric comparisons\n }\n done(null, data);\n });\n setImmediate(() => this._sendCommand(cmd));\n\n return promise;\n },\n\n resolve,\n reject\n });\n\n if (handlerResponse && typeof handlerResponse.catch === 'function') {\n // a promise was returned\n handlerResponse.then(resolve).catch(reject);\n }\n\n return;\n }\n\n switch (this._authMethod) {\n case 'XOAUTH2':\n this._handleXOauth2Token(false, callback);\n return;\n case 'LOGIN':\n this._responseActions.push(str => {\n this._actionAUTH_LOGIN_USER(str, callback);\n });\n this._sendCommand('AUTH LOGIN');\n return;\n case 'PLAIN':\n this._responseActions.push(str => {\n this._actionAUTHComplete(str, callback);\n });\n this._sendCommand(\n 'AUTH PLAIN ' +\n Buffer.from(\n //this._auth.user+'\\u0000'+\n '\\u0000' + // skip authorization identity as it causes problems with some servers\n this._auth.credentials.user +\n '\\u0000' +\n this._auth.credentials.pass,\n 'utf-8'\n ).toString('base64')\n );\n return;\n case 'CRAM-MD5':\n this._responseActions.push(str => {\n this._actionAUTH_CRAM_MD5(str, callback);\n });\n this._sendCommand('AUTH CRAM-MD5');\n return;\n }\n\n return callback(this._formatError('Unknown authentication method \"' + this._authMethod + '\"', 'EAUTH', false, 'API'));\n }\n\n /**\n * Sends a message\n *\n * @param {Object} envelope Envelope object, {from: addr, to: [addr]}\n * @param {Object} message String, Buffer or a Stream\n * @param {Function} callback Callback to return once sending is completed\n */\n send(envelope, message, done) {\n if (!message) {\n return done(this._formatError('Empty message', 'EMESSAGE', false, 'API'));\n }\n\n const isDestroyedMessage = this._isDestroyedMessage('send message');\n if (isDestroyedMessage) {\n return done(this._formatError(isDestroyedMessage, 'ECONNECTION', false, 'API'));\n }\n\n // reject larger messages than allowed\n if (this._maxAllowedSize && envelope.size > this._maxAllowedSize) {\n return setImmediate(() => {\n done(this._formatError('Message size larger than allowed ' + this._maxAllowedSize, 'EMESSAGE', false, 'MAIL FROM'));\n });\n }\n\n // ensure that callback is only called once\n let returned = false;\n let callback = function () {\n if (returned) {\n return;\n }\n returned = true;\n\n done(...arguments);\n };\n\n if (typeof message.on === 'function') {\n message.on('error', err => callback(this._formatError(err, 'ESTREAM', false, 'API')));\n }\n\n let startTime = Date.now();\n this._setEnvelope(envelope, (err, info) => {\n if (err) {\n return callback(err);\n }\n let envelopeTime = Date.now();\n let stream = this._createSendStream((err, str) => {\n if (err) {\n return callback(err);\n }\n\n info.envelopeTime = envelopeTime - startTime;\n info.messageTime = Date.now() - envelopeTime;\n info.messageSize = stream.outByteCount;\n info.response = str;\n\n return callback(null, info);\n });\n if (typeof message.pipe === 'function') {\n message.pipe(stream);\n } else {\n stream.write(message);\n stream.end();\n }\n });\n }\n\n /**\n * Resets connection state\n *\n * @param {Function} callback Callback to return once connection is reset\n */\n reset(callback) {\n this._sendCommand('RSET');\n this._responseActions.push(str => {\n if (str.charAt(0) !== '2') {\n return callback(this._formatError('Could not reset session state. response=' + str, 'EPROTOCOL', str, 'RSET'));\n }\n this._envelope = false;\n return callback(null, true);\n });\n }\n\n /**\n * Connection listener that is run when the connection to\n * the server is opened\n *\n * @event\n */\n _onConnect() {\n clearTimeout(this._connectionTimeout);\n\n this.logger.info(\n {\n tnx: 'network',\n localAddress: this._socket.localAddress,\n localPort: this._socket.localPort,\n remoteAddress: this._socket.remoteAddress,\n remotePort: this._socket.remotePort\n },\n '%s established to %s:%s',\n this.secure ? 'Secure connection' : 'Connection',\n this._socket.remoteAddress,\n this._socket.remotePort\n );\n\n if (this._destroyed) {\n // Connection was established after we already had canceled it\n this.close();\n return;\n }\n\n this.stage = 'connected';\n\n // clear existing listeners for the socket\n this._socket.removeListener('data', this._onSocketData);\n this._socket.removeListener('timeout', this._onSocketTimeout);\n this._socket.removeListener('close', this._onSocketClose);\n this._socket.removeListener('end', this._onSocketEnd);\n\n this._socket.on('data', this._onSocketData);\n this._socket.once('close', this._onSocketClose);\n this._socket.once('end', this._onSocketEnd);\n\n this._socket.setTimeout(this.options.socketTimeout || SOCKET_TIMEOUT);\n this._socket.on('timeout', this._onSocketTimeout);\n\n this._greetingTimeout = setTimeout(() => {\n // if still waiting for greeting, give up\n if (this._socket && !this._destroyed && this._responseActions[0] === this._actionGreeting) {\n this._onError('Greeting never received', 'ETIMEDOUT', false, 'CONN');\n }\n }, this.options.greetingTimeout || GREETING_TIMEOUT);\n\n this._responseActions.push(this._actionGreeting);\n\n // we have a 'data' listener set up so resume socket if it was paused\n this._socket.resume();\n }\n\n /**\n * 'data' listener for data coming from the server\n *\n * @event\n * @param {Buffer} chunk Data chunk coming from the server\n */\n _onData(chunk) {\n if (this._destroyed || !chunk || !chunk.length) {\n return;\n }\n\n let data = (chunk || '').toString('binary');\n let lines = (this._remainder + data).split(/\\r?\\n/);\n let lastline;\n\n this._remainder = lines.pop();\n\n for (let i = 0, len = lines.length; i < len; i++) {\n if (this._responseQueue.length) {\n lastline = this._responseQueue[this._responseQueue.length - 1];\n if (/^\\d+-/.test(lastline.split('\\n').pop())) {\n this._responseQueue[this._responseQueue.length - 1] += '\\n' + lines[i];\n continue;\n }\n }\n this._responseQueue.push(lines[i]);\n }\n\n if (this._responseQueue.length) {\n lastline = this._responseQueue[this._responseQueue.length - 1];\n if (/^\\d+-/.test(lastline.split('\\n').pop())) {\n return;\n }\n }\n\n this._processResponse();\n }\n\n /**\n * 'error' listener for the socket\n *\n * @event\n * @param {Error} err Error object\n * @param {String} type Error name\n */\n _onError(err, type, data, command) {\n clearTimeout(this._connectionTimeout);\n clearTimeout(this._greetingTimeout);\n\n if (this._destroyed) {\n // just ignore, already closed\n // this might happen when a socket is canceled because of reached timeout\n // but the socket timeout error itself receives only after\n return;\n }\n\n err = this._formatError(err, type, data, command);\n\n this.logger.error(data, err.message);\n\n this.emit('error', err);\n this.close();\n }\n\n _formatError(message, type, response, command) {\n let err;\n\n if (/Error\\]$/i.test(Object.prototype.toString.call(message))) {\n err = message;\n } else {\n err = new Error(message);\n }\n\n if (type && type !== 'Error') {\n err.code = type;\n }\n\n if (response) {\n err.response = response;\n err.message += ': ' + response;\n }\n\n let responseCode = (typeof response === 'string' && Number((response.match(/^\\d+/) || [])[0])) || false;\n if (responseCode) {\n err.responseCode = responseCode;\n }\n\n if (command) {\n err.command = command;\n }\n\n return err;\n }\n\n /**\n * 'close' listener for the socket\n *\n * @event\n */\n _onClose() {\n this.logger.info(\n {\n tnx: 'network'\n },\n 'Connection closed'\n );\n\n if (this.upgrading && !this._destroyed) {\n return this._onError(new Error('Connection closed unexpectedly'), 'ETLS', false, 'CONN');\n } else if (![this._actionGreeting, this.close].includes(this._responseActions[0]) && !this._destroyed) {\n return this._onError(new Error('Connection closed unexpectedly'), 'ECONNECTION', false, 'CONN');\n }\n\n this._destroy();\n }\n\n /**\n * 'end' listener for the socket\n *\n * @event\n */\n _onEnd() {\n if (this._socket && !this._socket.destroyed) {\n this._socket.destroy();\n }\n }\n\n /**\n * 'timeout' listener for the socket\n *\n * @event\n */\n _onTimeout() {\n return this._onError(new Error('Timeout'), 'ETIMEDOUT', false, 'CONN');\n }\n\n /**\n * Destroys the client, emits 'end'\n */\n _destroy() {\n if (this._destroyed) {\n return;\n }\n this._destroyed = true;\n this.emit('end');\n }\n\n /**\n * Upgrades the connection to TLS\n *\n * @param {Function} callback Callback function to run when the connection\n * has been secured\n */\n _upgradeConnection(callback) {\n // do not remove all listeners or it breaks node v0.10 as there's\n // apparently a 'finish' event set that would be cleared as well\n\n // we can safely keep 'error', 'end', 'close' etc. events\n this._socket.removeListener('data', this._onSocketData); // incoming data is going to be gibberish from this point onwards\n this._socket.removeListener('timeout', this._onSocketTimeout); // timeout will be re-set for the new socket object\n\n let socketPlain = this._socket;\n let opts = {\n socket: this._socket,\n host: this.host\n };\n\n Object.keys(this.options.tls || {}).forEach(key => {\n opts[key] = this.options.tls[key];\n });\n\n this.upgrading = true;\n this._socket = tls.connect(opts, () => {\n this.secure = true;\n this.upgrading = false;\n this._socket.on('data', this._onSocketData);\n\n socketPlain.removeListener('close', this._onSocketClose);\n socketPlain.removeListener('end', this._onSocketEnd);\n\n return callback(null, true);\n });\n\n this._socket.on('error', this._onSocketError);\n this._socket.once('close', this._onSocketClose);\n this._socket.once('end', this._onSocketEnd);\n\n this._socket.setTimeout(this.options.socketTimeout || SOCKET_TIMEOUT); // 10 min.\n this._socket.on('timeout', this._onSocketTimeout);\n\n // resume in case the socket was paused\n socketPlain.resume();\n }\n\n /**\n * Processes queued responses from the server\n *\n * @param {Boolean} force If true, ignores _processing flag\n */\n _processResponse() {\n if (!this._responseQueue.length) {\n return false;\n }\n\n let str = (this.lastServerResponse = (this._responseQueue.shift() || '').toString());\n\n if (/^\\d+-/.test(str.split('\\n').pop())) {\n // keep waiting for the final part of multiline response\n return;\n }\n\n if (this.options.debug || this.options.transactionLog) {\n this.logger.debug(\n {\n tnx: 'server'\n },\n str.replace(/\\r?\\n$/, '')\n );\n }\n\n if (!str.trim()) {\n // skip unexpected empty lines\n setImmediate(() => this._processResponse(true));\n }\n\n let action = this._responseActions.shift();\n\n if (typeof action === 'function') {\n action.call(this, str);\n setImmediate(() => this._processResponse(true));\n } else {\n return this._onError(new Error('Unexpected Response'), 'EPROTOCOL', str, 'CONN');\n }\n }\n\n /**\n * Send a command to the server, append \\r\\n\n *\n * @param {String} str String to be sent to the server\n */\n _sendCommand(str) {\n if (this._destroyed) {\n // Connection already closed, can't send any more data\n return;\n }\n\n if (this._socket.destroyed) {\n return this.close();\n }\n\n if (this.options.debug || this.options.transactionLog) {\n this.logger.debug(\n {\n tnx: 'client'\n },\n (str || '').toString().replace(/\\r?\\n$/, '')\n );\n }\n\n this._socket.write(Buffer.from(str + '\\r\\n', 'utf-8'));\n }\n\n /**\n * Initiates a new message by submitting envelope data, starting with\n * MAIL FROM: command\n *\n * @param {Object} envelope Envelope object in the form of\n * {from:'...', to:['...']}\n * or\n * {from:{address:'...',name:'...'}, to:[address:'...',name:'...']}\n */\n _setEnvelope(envelope, callback) {\n let args = [];\n let useSmtpUtf8 = false;\n\n this._envelope = envelope || {};\n this._envelope.from = ((this._envelope.from && this._envelope.from.address) || this._envelope.from || '').toString().trim();\n\n this._envelope.to = [].concat(this._envelope.to || []).map(to => ((to && to.address) || to || '').toString().trim());\n\n if (!this._envelope.to.length) {\n return callback(this._formatError('No recipients defined', 'EENVELOPE', false, 'API'));\n }\n\n if (this._envelope.from && /[\\r\\n<>]/.test(this._envelope.from)) {\n return callback(this._formatError('Invalid sender ' + JSON.stringify(this._envelope.from), 'EENVELOPE', false, 'API'));\n }\n\n // check if the sender address uses only ASCII characters,\n // otherwise require usage of SMTPUTF8 extension\n if (/[\\x80-\\uFFFF]/.test(this._envelope.from)) {\n useSmtpUtf8 = true;\n }\n\n for (let i = 0, len = this._envelope.to.length; i < len; i++) {\n if (!this._envelope.to[i] || /[\\r\\n<>]/.test(this._envelope.to[i])) {\n return callback(this._formatError('Invalid recipient ' + JSON.stringify(this._envelope.to[i]), 'EENVELOPE', false, 'API'));\n }\n\n // check if the recipients addresses use only ASCII characters,\n // otherwise require usage of SMTPUTF8 extension\n if (/[\\x80-\\uFFFF]/.test(this._envelope.to[i])) {\n useSmtpUtf8 = true;\n }\n }\n\n // clone the recipients array for latter manipulation\n this._envelope.rcptQueue = JSON.parse(JSON.stringify(this._envelope.to || []));\n this._envelope.rejected = [];\n this._envelope.rejectedErrors = [];\n this._envelope.accepted = [];\n\n if (this._envelope.dsn) {\n try {\n this._envelope.dsn = this._setDsnEnvelope(this._envelope.dsn);\n } catch (err) {\n return callback(this._formatError('Invalid DSN ' + err.message, 'EENVELOPE', false, 'API'));\n }\n }\n\n this._responseActions.push(str => {\n this._actionMAIL(str, callback);\n });\n\n // If the server supports SMTPUTF8 and the envelope includes an internationalized\n // email address then append SMTPUTF8 keyword to the MAIL FROM command\n if (useSmtpUtf8 && this._supportedExtensions.includes('SMTPUTF8')) {\n args.push('SMTPUTF8');\n this._usingSmtpUtf8 = true;\n }\n\n // If the server supports 8BITMIME and the message might contain non-ascii bytes\n // then append the 8BITMIME keyword to the MAIL FROM command\n if (this._envelope.use8BitMime && this._supportedExtensions.includes('8BITMIME')) {\n args.push('BODY=8BITMIME');\n this._using8BitMime = true;\n }\n\n if (this._envelope.size && this._supportedExtensions.includes('SIZE')) {\n args.push('SIZE=' + this._envelope.size);\n }\n\n // If the server supports DSN and the envelope includes an DSN prop\n // then append DSN params to the MAIL FROM command\n if (this._envelope.dsn && this._supportedExtensions.includes('DSN')) {\n if (this._envelope.dsn.ret) {\n args.push('RET=' + shared.encodeXText(this._envelope.dsn.ret));\n }\n if (this._envelope.dsn.envid) {\n args.push('ENVID=' + shared.encodeXText(this._envelope.dsn.envid));\n }\n }\n\n this._sendCommand('MAIL FROM:<' + this._envelope.from + '>' + (args.length ? ' ' + args.join(' ') : ''));\n }\n\n _setDsnEnvelope(params) {\n let ret = (params.ret || params.return || '').toString().toUpperCase() || null;\n if (ret) {\n switch (ret) {\n case 'HDRS':\n case 'HEADERS':\n ret = 'HDRS';\n break;\n case 'FULL':\n case 'BODY':\n ret = 'FULL';\n break;\n }\n }\n\n if (ret && !['FULL', 'HDRS'].includes(ret)) {\n throw new Error('ret: ' + JSON.stringify(ret));\n }\n\n let envid = (params.envid || params.id || '').toString() || null;\n\n let notify = params.notify || null;\n if (notify) {\n if (typeof notify === 'string') {\n notify = notify.split(',');\n }\n notify = notify.map(n => n.trim().toUpperCase());\n let validNotify = ['NEVER', 'SUCCESS', 'FAILURE', 'DELAY'];\n let invaliNotify = notify.filter(n => !validNotify.includes(n));\n if (invaliNotify.length || (notify.length > 1 && notify.includes('NEVER'))) {\n throw new Error('notify: ' + JSON.stringify(notify.join(',')));\n }\n notify = notify.join(',');\n }\n\n let orcpt = (params.orcpt || params.recipient || '').toString() || null;\n if (orcpt && orcpt.indexOf(';') < 0) {\n orcpt = 'rfc822;' + orcpt;\n }\n\n return {\n ret,\n envid,\n notify,\n orcpt\n };\n }\n\n _getDsnRcptToArgs() {\n let args = [];\n // If the server supports DSN and the envelope includes an DSN prop\n // then append DSN params to the RCPT TO command\n if (this._envelope.dsn && this._supportedExtensions.includes('DSN')) {\n if (this._envelope.dsn.notify) {\n args.push('NOTIFY=' + shared.encodeXText(this._envelope.dsn.notify));\n }\n if (this._envelope.dsn.orcpt) {\n args.push('ORCPT=' + shared.encodeXText(this._envelope.dsn.orcpt));\n }\n }\n return args.length ? ' ' + args.join(' ') : '';\n }\n\n _createSendStream(callback) {\n let dataStream = new DataStream();\n let logStream;\n\n if (this.options.lmtp) {\n this._envelope.accepted.forEach((recipient, i) => {\n let final = i === this._envelope.accepted.length - 1;\n this._responseActions.push(str => {\n this._actionLMTPStream(recipient, final, str, callback);\n });\n });\n } else {\n this._responseActions.push(str => {\n this._actionSMTPStream(str, callback);\n });\n }\n\n dataStream.pipe(this._socket, {\n end: false\n });\n\n if (this.options.debug) {\n logStream = new PassThrough();\n logStream.on('readable', () => {\n let chunk;\n while ((chunk = logStream.read())) {\n this.logger.debug(\n {\n tnx: 'message'\n },\n chunk.toString('binary').replace(/\\r?\\n$/, '')\n );\n }\n });\n dataStream.pipe(logStream);\n }\n\n dataStream.once('end', () => {\n this.logger.info(\n {\n tnx: 'message',\n inByteCount: dataStream.inByteCount,\n outByteCount: dataStream.outByteCount\n },\n '<%s bytes encoded mime message (source size %s bytes)>',\n dataStream.outByteCount,\n dataStream.inByteCount\n );\n });\n\n return dataStream;\n }\n\n /** ACTIONS **/\n\n /**\n * Will be run after the connection is created and the server sends\n * a greeting. If the incoming message starts with 220 initiate\n * SMTP session by sending EHLO command\n *\n * @param {String} str Message from the server\n */\n _actionGreeting(str) {\n clearTimeout(this._greetingTimeout);\n\n if (str.substr(0, 3) !== '220') {\n this._onError(new Error('Invalid greeting. response=' + str), 'EPROTOCOL', str, 'CONN');\n return;\n }\n\n if (this.options.lmtp) {\n this._responseActions.push(this._actionLHLO);\n this._sendCommand('LHLO ' + this.name);\n } else {\n this._responseActions.push(this._actionEHLO);\n this._sendCommand('EHLO ' + this.name);\n }\n }\n\n /**\n * Handles server response for LHLO command. If it yielded in\n * error, emit 'error', otherwise treat this as an EHLO response\n *\n * @param {String} str Message from the server\n */\n _actionLHLO(str) {\n if (str.charAt(0) !== '2') {\n this._onError(new Error('Invalid LHLO. response=' + str), 'EPROTOCOL', str, 'LHLO');\n return;\n }\n\n this._actionEHLO(str);\n }\n\n /**\n * Handles server response for EHLO command. If it yielded in\n * error, try HELO instead, otherwise initiate TLS negotiation\n * if STARTTLS is supported by the server or move into the\n * authentication phase.\n *\n * @param {String} str Message from the server\n */\n _actionEHLO(str) {\n let match;\n\n if (str.substr(0, 3) === '421') {\n this._onError(new Error('Server terminates connection. response=' + str), 'ECONNECTION', str, 'EHLO');\n return;\n }\n\n if (str.charAt(0) !== '2') {\n if (this.options.requireTLS) {\n this._onError(new Error('EHLO failed but HELO does not support required STARTTLS. response=' + str), 'ECONNECTION', str, 'EHLO');\n return;\n }\n\n // Try HELO instead\n this._responseActions.push(this._actionHELO);\n this._sendCommand('HELO ' + this.name);\n return;\n }\n\n // Detect if the server supports STARTTLS\n if (!this.secure && !this.options.ignoreTLS && (/[ -]STARTTLS\\b/im.test(str) || this.options.requireTLS)) {\n this._sendCommand('STARTTLS');\n this._responseActions.push(this._actionSTARTTLS);\n return;\n }\n\n // Detect if the server supports SMTPUTF8\n if (/[ -]SMTPUTF8\\b/im.test(str)) {\n this._supportedExtensions.push('SMTPUTF8');\n }\n\n // Detect if the server supports DSN\n if (/[ -]DSN\\b/im.test(str)) {\n this._supportedExtensions.push('DSN');\n }\n\n // Detect if the server supports 8BITMIME\n if (/[ -]8BITMIME\\b/im.test(str)) {\n this._supportedExtensions.push('8BITMIME');\n }\n\n // Detect if the server supports PIPELINING\n if (/[ -]PIPELINING\\b/im.test(str)) {\n this._supportedExtensions.push('PIPELINING');\n }\n\n // Detect if the server supports AUTH\n if (/[ -]AUTH\\b/i.test(str)) {\n this.allowsAuth = true;\n }\n\n // Detect if the server supports PLAIN auth\n if (/[ -]AUTH(?:(\\s+|=)[^\\n]*\\s+|\\s+|=)PLAIN/i.test(str)) {\n this._supportedAuth.push('PLAIN');\n }\n\n // Detect if the server supports LOGIN auth\n if (/[ -]AUTH(?:(\\s+|=)[^\\n]*\\s+|\\s+|=)LOGIN/i.test(str)) {\n this._supportedAuth.push('LOGIN');\n }\n\n // Detect if the server supports CRAM-MD5 auth\n if (/[ -]AUTH(?:(\\s+|=)[^\\n]*\\s+|\\s+|=)CRAM-MD5/i.test(str)) {\n this._supportedAuth.push('CRAM-MD5');\n }\n\n // Detect if the server supports XOAUTH2 auth\n if (/[ -]AUTH(?:(\\s+|=)[^\\n]*\\s+|\\s+|=)XOAUTH2/i.test(str)) {\n this._supportedAuth.push('XOAUTH2');\n }\n\n // Detect if the server supports SIZE extensions (and the max allowed size)\n if ((match = str.match(/[ -]SIZE(?:[ \\t]+(\\d+))?/im))) {\n this._supportedExtensions.push('SIZE');\n this._maxAllowedSize = Number(match[1]) || 0;\n }\n\n this.emit('connect');\n }\n\n /**\n * Handles server response for HELO command. If it yielded in\n * error, emit 'error', otherwise move into the authentication phase.\n *\n * @param {String} str Message from the server\n */\n _actionHELO(str) {\n if (str.charAt(0) !== '2') {\n this._onError(new Error('Invalid HELO. response=' + str), 'EPROTOCOL', str, 'HELO');\n return;\n }\n\n // assume that authentication is enabled (most probably is not though)\n this.allowsAuth = true;\n\n this.emit('connect');\n }\n\n /**\n * Handles server response for STARTTLS command. If there's an error\n * try HELO instead, otherwise initiate TLS upgrade. If the upgrade\n * succeedes restart the EHLO\n *\n * @param {String} str Message from the server\n */\n _actionSTARTTLS(str) {\n if (str.charAt(0) !== '2') {\n if (this.options.opportunisticTLS) {\n this.logger.info(\n {\n tnx: 'smtp'\n },\n 'Failed STARTTLS upgrade, continuing unencrypted'\n );\n return this.emit('connect');\n }\n this._onError(new Error('Error upgrading connection with STARTTLS'), 'ETLS', str, 'STARTTLS');\n return;\n }\n\n this._upgradeConnection((err, secured) => {\n if (err) {\n this._onError(new Error('Error initiating TLS - ' + (err.message || err)), 'ETLS', false, 'STARTTLS');\n return;\n }\n\n this.logger.info(\n {\n tnx: 'smtp'\n },\n 'Connection upgraded with STARTTLS'\n );\n\n if (secured) {\n // restart session\n if (this.options.lmtp) {\n this._responseActions.push(this._actionLHLO);\n this._sendCommand('LHLO ' + this.name);\n } else {\n this._responseActions.push(this._actionEHLO);\n this._sendCommand('EHLO ' + this.name);\n }\n } else {\n this.emit('connect');\n }\n });\n }\n\n /**\n * Handle the response for AUTH LOGIN command. We are expecting\n * '334 VXNlcm5hbWU6' (base64 for 'Username:'). Data to be sent as\n * response needs to be base64 encoded username. We do not need\n * exact match but settle with 334 response in general as some\n * hosts invalidly use a longer message than VXNlcm5hbWU6\n *\n * @param {String} str Message from the server\n */\n _actionAUTH_LOGIN_USER(str, callback) {\n if (!/^334[ -]/.test(str)) {\n // expecting '334 VXNlcm5hbWU6'\n callback(this._formatError('Invalid login sequence while waiting for \"334 VXNlcm5hbWU6\"', 'EAUTH', str, 'AUTH LOGIN'));\n return;\n }\n\n this._responseActions.push(str => {\n this._actionAUTH_LOGIN_PASS(str, callback);\n });\n\n this._sendCommand(Buffer.from(this._auth.credentials.user + '', 'utf-8').toString('base64'));\n }\n\n /**\n * Handle the response for AUTH CRAM-MD5 command. We are expecting\n * '334 '. Data to be sent as response needs to be\n * base64 decoded challenge string, MD5 hashed using the password as\n * a HMAC key, prefixed by the username and a space, and finally all\n * base64 encoded again.\n *\n * @param {String} str Message from the server\n */\n _actionAUTH_CRAM_MD5(str, callback) {\n let challengeMatch = str.match(/^334\\s+(.+)$/);\n let challengeString = '';\n\n if (!challengeMatch) {\n return callback(this._formatError('Invalid login sequence while waiting for server challenge string', 'EAUTH', str, 'AUTH CRAM-MD5'));\n } else {\n challengeString = challengeMatch[1];\n }\n\n // Decode from base64\n let base64decoded = Buffer.from(challengeString, 'base64').toString('ascii'),\n hmac_md5 = crypto.createHmac('md5', this._auth.credentials.pass);\n\n hmac_md5.update(base64decoded);\n\n let hex_hmac = hmac_md5.digest('hex');\n let prepended = this._auth.credentials.user + ' ' + hex_hmac;\n\n this._responseActions.push(str => {\n this._actionAUTH_CRAM_MD5_PASS(str, callback);\n });\n\n this._sendCommand(Buffer.from(prepended).toString('base64'));\n }\n\n /**\n * Handles the response to CRAM-MD5 authentication, if there's no error,\n * the user can be considered logged in. Start waiting for a message to send\n *\n * @param {String} str Message from the server\n */\n _actionAUTH_CRAM_MD5_PASS(str, callback) {\n if (!str.match(/^235\\s+/)) {\n return callback(this._formatError('Invalid login sequence while waiting for \"235\"', 'EAUTH', str, 'AUTH CRAM-MD5'));\n }\n\n this.logger.info(\n {\n tnx: 'smtp',\n username: this._auth.user,\n action: 'authenticated',\n method: this._authMethod\n },\n 'User %s authenticated',\n JSON.stringify(this._auth.user)\n );\n this.authenticated = true;\n callback(null, true);\n }\n\n /**\n * Handle the response for AUTH LOGIN command. We are expecting\n * '334 UGFzc3dvcmQ6' (base64 for 'Password:'). Data to be sent as\n * response needs to be base64 encoded password.\n *\n * @param {String} str Message from the server\n */\n _actionAUTH_LOGIN_PASS(str, callback) {\n if (!/^334[ -]/.test(str)) {\n // expecting '334 UGFzc3dvcmQ6'\n return callback(this._formatError('Invalid login sequence while waiting for \"334 UGFzc3dvcmQ6\"', 'EAUTH', str, 'AUTH LOGIN'));\n }\n\n this._responseActions.push(str => {\n this._actionAUTHComplete(str, callback);\n });\n\n this._sendCommand(Buffer.from(this._auth.credentials.pass + '', 'utf-8').toString('base64'));\n }\n\n /**\n * Handles the response for authentication, if there's no error,\n * the user can be considered logged in. Start waiting for a message to send\n *\n * @param {String} str Message from the server\n */\n _actionAUTHComplete(str, isRetry, callback) {\n if (!callback && typeof isRetry === 'function') {\n callback = isRetry;\n isRetry = false;\n }\n\n if (str.substr(0, 3) === '334') {\n this._responseActions.push(str => {\n if (isRetry || this._authMethod !== 'XOAUTH2') {\n this._actionAUTHComplete(str, true, callback);\n } else {\n // fetch a new OAuth2 access token\n setImmediate(() => this._handleXOauth2Token(true, callback));\n }\n });\n this._sendCommand('');\n return;\n }\n\n if (str.charAt(0) !== '2') {\n this.logger.info(\n {\n tnx: 'smtp',\n username: this._auth.user,\n action: 'authfail',\n method: this._authMethod\n },\n 'User %s failed to authenticate',\n JSON.stringify(this._auth.user)\n );\n return callback(this._formatError('Invalid login', 'EAUTH', str, 'AUTH ' + this._authMethod));\n }\n\n this.logger.info(\n {\n tnx: 'smtp',\n username: this._auth.user,\n action: 'authenticated',\n method: this._authMethod\n },\n 'User %s authenticated',\n JSON.stringify(this._auth.user)\n );\n this.authenticated = true;\n callback(null, true);\n }\n\n /**\n * Handle response for a MAIL FROM: command\n *\n * @param {String} str Message from the server\n */\n _actionMAIL(str, callback) {\n let message, curRecipient;\n if (Number(str.charAt(0)) !== 2) {\n if (this._usingSmtpUtf8 && /^550 /.test(str) && /[\\x80-\\uFFFF]/.test(this._envelope.from)) {\n message = 'Internationalized mailbox name not allowed';\n } else {\n message = 'Mail command failed';\n }\n return callback(this._formatError(message, 'EENVELOPE', str, 'MAIL FROM'));\n }\n\n if (!this._envelope.rcptQueue.length) {\n return callback(this._formatError('Can\\x27t send mail - no recipients defined', 'EENVELOPE', false, 'API'));\n } else {\n this._recipientQueue = [];\n\n if (this._supportedExtensions.includes('PIPELINING')) {\n while (this._envelope.rcptQueue.length) {\n curRecipient = this._envelope.rcptQueue.shift();\n this._recipientQueue.push(curRecipient);\n this._responseActions.push(str => {\n this._actionRCPT(str, callback);\n });\n this._sendCommand('RCPT TO:<' + curRecipient + '>' + this._getDsnRcptToArgs());\n }\n } else {\n curRecipient = this._envelope.rcptQueue.shift();\n this._recipientQueue.push(curRecipient);\n this._responseActions.push(str => {\n this._actionRCPT(str, callback);\n });\n this._sendCommand('RCPT TO:<' + curRecipient + '>' + this._getDsnRcptToArgs());\n }\n }\n }\n\n /**\n * Handle response for a RCPT TO: command\n *\n * @param {String} str Message from the server\n */\n _actionRCPT(str, callback) {\n let message,\n err,\n curRecipient = this._recipientQueue.shift();\n if (Number(str.charAt(0)) !== 2) {\n // this is a soft error\n if (this._usingSmtpUtf8 && /^553 /.test(str) && /[\\x80-\\uFFFF]/.test(curRecipient)) {\n message = 'Internationalized mailbox name not allowed';\n } else {\n message = 'Recipient command failed';\n }\n this._envelope.rejected.push(curRecipient);\n // store error for the failed recipient\n err = this._formatError(message, 'EENVELOPE', str, 'RCPT TO');\n err.recipient = curRecipient;\n this._envelope.rejectedErrors.push(err);\n } else {\n this._envelope.accepted.push(curRecipient);\n }\n\n if (!this._envelope.rcptQueue.length && !this._recipientQueue.length) {\n if (this._envelope.rejected.length < this._envelope.to.length) {\n this._responseActions.push(str => {\n this._actionDATA(str, callback);\n });\n this._sendCommand('DATA');\n } else {\n err = this._formatError('Can\\x27t send mail - all recipients were rejected', 'EENVELOPE', str, 'RCPT TO');\n err.rejected = this._envelope.rejected;\n err.rejectedErrors = this._envelope.rejectedErrors;\n return callback(err);\n }\n } else if (this._envelope.rcptQueue.length) {\n curRecipient = this._envelope.rcptQueue.shift();\n this._recipientQueue.push(curRecipient);\n this._responseActions.push(str => {\n this._actionRCPT(str, callback);\n });\n this._sendCommand('RCPT TO:<' + curRecipient + '>' + this._getDsnRcptToArgs());\n }\n }\n\n /**\n * Handle response for a DATA command\n *\n * @param {String} str Message from the server\n */\n _actionDATA(str, callback) {\n // response should be 354 but according to this issue https://github.com/eleith/emailjs/issues/24\n // some servers might use 250 instead, so lets check for 2 or 3 as the first digit\n if (!/^[23]/.test(str)) {\n return callback(this._formatError('Data command failed', 'EENVELOPE', str, 'DATA'));\n }\n\n let response = {\n accepted: this._envelope.accepted,\n rejected: this._envelope.rejected\n };\n\n if (this._envelope.rejectedErrors.length) {\n response.rejectedErrors = this._envelope.rejectedErrors;\n }\n\n callback(null, response);\n }\n\n /**\n * Handle response for a DATA stream when using SMTP\n * We expect a single response that defines if the sending succeeded or failed\n *\n * @param {String} str Message from the server\n */\n _actionSMTPStream(str, callback) {\n if (Number(str.charAt(0)) !== 2) {\n // Message failed\n return callback(this._formatError('Message failed', 'EMESSAGE', str, 'DATA'));\n } else {\n // Message sent succesfully\n return callback(null, str);\n }\n }\n\n /**\n * Handle response for a DATA stream\n * We expect a separate response for every recipient. All recipients can either\n * succeed or fail separately\n *\n * @param {String} recipient The recipient this response applies to\n * @param {Boolean} final Is this the final recipient?\n * @param {String} str Message from the server\n */\n _actionLMTPStream(recipient, final, str, callback) {\n let err;\n if (Number(str.charAt(0)) !== 2) {\n // Message failed\n err = this._formatError('Message failed for recipient ' + recipient, 'EMESSAGE', str, 'DATA');\n err.recipient = recipient;\n this._envelope.rejected.push(recipient);\n this._envelope.rejectedErrors.push(err);\n for (let i = 0, len = this._envelope.accepted.length; i < len; i++) {\n if (this._envelope.accepted[i] === recipient) {\n this._envelope.accepted.splice(i, 1);\n }\n }\n }\n if (final) {\n return callback(null, str);\n }\n }\n\n _handleXOauth2Token(isRetry, callback) {\n this._auth.oauth2.getToken(isRetry, (err, accessToken) => {\n if (err) {\n this.logger.info(\n {\n tnx: 'smtp',\n username: this._auth.user,\n action: 'authfail',\n method: this._authMethod\n },\n 'User %s failed to authenticate',\n JSON.stringify(this._auth.user)\n );\n return callback(this._formatError(err, 'EAUTH', false, 'AUTH XOAUTH2'));\n }\n this._responseActions.push(str => {\n this._actionAUTHComplete(str, isRetry, callback);\n });\n this._sendCommand('AUTH XOAUTH2 ' + this._auth.oauth2.buildXOAuth2Token(accessToken));\n });\n }\n\n /**\n *\n * @param {string} command\n * @private\n */\n _isDestroyedMessage(command) {\n if (this._destroyed) {\n return 'Cannot ' + command + ' - smtp connection is already destroyed.';\n }\n\n if (this._socket) {\n if (this._socket.destroyed) {\n return 'Cannot ' + command + ' - smtp connection socket is already destroyed.';\n }\n\n if (!this._socket.writable) {\n return 'Cannot ' + command + ' - smtp connection socket is already half-closed.';\n }\n }\n }\n\n _getHostname() {\n // defaul hostname is machine hostname or [IP]\n let defaultHostname = os.hostname() || '';\n\n // ignore if not FQDN\n if (defaultHostname.indexOf('.') < 0) {\n defaultHostname = '[127.0.0.1]';\n }\n\n // IP should be enclosed in []\n if (defaultHostname.match(/^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$/)) {\n defaultHostname = '[' + defaultHostname + ']';\n }\n\n return defaultHostname;\n }\n}\n\nmodule.exports = SMTPConnection;\n","var common = require('./common');\nvar os = require('os');\nvar fs = require('fs');\n\ncommon.register('tempdir', _tempDir, {\n allowGlobbing: false,\n wrapOutput: false,\n});\n\n// Returns false if 'dir' is not a writeable directory, 'dir' otherwise\nfunction writeableDir(dir) {\n if (!dir || !fs.existsSync(dir)) return false;\n\n if (!common.statFollowLinks(dir).isDirectory()) return false;\n\n var testFile = dir + '/' + common.randomFileName();\n try {\n fs.writeFileSync(testFile, ' ');\n common.unlinkSync(testFile);\n return dir;\n } catch (e) {\n /* istanbul ignore next */\n return false;\n }\n}\n\n// Variable to cache the tempdir value for successive lookups.\nvar cachedTempDir;\n\n//@\n//@ ### tempdir()\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ var tmp = tempdir(); // \"/tmp\" for most *nix platforms\n//@ ```\n//@\n//@ Searches and returns string containing a writeable, platform-dependent temporary directory.\n//@ Follows Python's [tempfile algorithm](http://docs.python.org/library/tempfile.html#tempfile.tempdir).\nfunction _tempDir() {\n if (cachedTempDir) return cachedTempDir;\n\n cachedTempDir = writeableDir(os.tmpdir()) ||\n writeableDir(process.env.TMPDIR) ||\n writeableDir(process.env.TEMP) ||\n writeableDir(process.env.TMP) ||\n writeableDir(process.env.Wimp$ScrapDir) || // RiscOS\n writeableDir('C:\\\\TEMP') || // Windows\n writeableDir('C:\\\\TMP') || // Windows\n writeableDir('\\\\TEMP') || // Windows\n writeableDir('\\\\TMP') || // Windows\n writeableDir('/tmp') ||\n writeableDir('/var/tmp') ||\n writeableDir('/usr/tmp') ||\n writeableDir('.'); // last resort\n\n return cachedTempDir;\n}\n\n// Indicates if the tempdir value is currently cached. This is exposed for tests\n// only. The return value should only be tested for truthiness.\nfunction isCached() {\n return cachedTempDir;\n}\n\n// Clears the cached tempDir value, if one is cached. This is exposed for tests\n// only.\nfunction clearCache() {\n cachedTempDir = undefined;\n}\n\nmodule.exports.tempDir = _tempDir;\nmodule.exports.isCached = isCached;\nmodule.exports.clearCache = clearCache;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.parseHeaders = void 0;\r\n/**\r\n * Parses the headers that were stored while\r\n * the request was being processed.\r\n *\r\n * @internal\r\n */\r\nfunction parseHeaders(headersString) {\r\n const headers = headersString.split(/\\r?\\n|\\r/g);\r\n const len = headers.length;\r\n const result = [];\r\n let isStatusLine = true;\r\n let currHeaders = {};\r\n for (let i = 0; i < len; i += 1) {\r\n // status line\r\n if (isStatusLine) {\r\n const header = headers[i].split(' ');\r\n currHeaders.result = {\r\n version: header.shift() || '',\r\n code: parseInt(header.shift() || '0', 10),\r\n reason: header.join(' '),\r\n };\r\n isStatusLine = false;\r\n continue;\r\n }\r\n // Empty string means empty line, which means another header group\r\n if (headers[i] === '') {\r\n result.push(currHeaders);\r\n currHeaders = {};\r\n isStatusLine = true;\r\n continue;\r\n }\r\n const header = headers[i].split(/:\\s(.+)/);\r\n if (header[0].toUpperCase() === 'SET-COOKIE') {\r\n if (!currHeaders['Set-Cookie']) {\r\n currHeaders['Set-Cookie'] = [];\r\n }\r\n currHeaders['Set-Cookie'].push(header[1]);\r\n }\r\n else {\r\n currHeaders[header[0]] = header[1];\r\n }\r\n }\r\n return result;\r\n}\r\nexports.parseHeaders = parseHeaders;\r\n//# sourceMappingURL=parseHeaders.js.map","exports = module.exports = SemVer\n\nvar debug\n/* istanbul ignore next */\nif (typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)) {\n debug = function () {\n var args = Array.prototype.slice.call(arguments, 0)\n args.unshift('SEMVER')\n console.log.apply(console, args)\n }\n} else {\n debug = function () {}\n}\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nexports.SEMVER_SPEC_VERSION = '2.0.0'\n\nvar MAX_LENGTH = 256\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nvar MAX_SAFE_COMPONENT_LENGTH = 16\n\n// The actual regexps go on exports.re\nvar re = exports.re = []\nvar src = exports.src = []\nvar R = 0\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\nvar NUMERICIDENTIFIER = R++\nsrc[NUMERICIDENTIFIER] = '0|[1-9]\\\\d*'\nvar NUMERICIDENTIFIERLOOSE = R++\nsrc[NUMERICIDENTIFIERLOOSE] = '[0-9]+'\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\nvar NONNUMERICIDENTIFIER = R++\nsrc[NONNUMERICIDENTIFIER] = '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*'\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\nvar MAINVERSION = R++\nsrc[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')'\n\nvar MAINVERSIONLOOSE = R++\nsrc[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')'\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\nvar PRERELEASEIDENTIFIER = R++\nsrc[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\nvar PRERELEASEIDENTIFIERLOOSE = R++\nsrc[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\nvar PRERELEASE = R++\nsrc[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIER] + ')*))'\n\nvar PRERELEASELOOSE = R++\nsrc[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\nvar BUILDIDENTIFIER = R++\nsrc[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\nvar BUILD = R++\nsrc[BUILD] = '(?:\\\\+(' + src[BUILDIDENTIFIER] +\n '(?:\\\\.' + src[BUILDIDENTIFIER] + ')*))'\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\nvar FULL = R++\nvar FULLPLAIN = 'v?' + src[MAINVERSION] +\n src[PRERELEASE] + '?' +\n src[BUILD] + '?'\n\nsrc[FULL] = '^' + FULLPLAIN + '$'\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\nvar LOOSEPLAIN = '[v=\\\\s]*' + src[MAINVERSIONLOOSE] +\n src[PRERELEASELOOSE] + '?' +\n src[BUILD] + '?'\n\nvar LOOSE = R++\nsrc[LOOSE] = '^' + LOOSEPLAIN + '$'\n\nvar GTLT = R++\nsrc[GTLT] = '((?:<|>)?=?)'\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\nvar XRANGEIDENTIFIERLOOSE = R++\nsrc[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\\\*'\nvar XRANGEIDENTIFIER = R++\nsrc[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\\\*'\n\nvar XRANGEPLAIN = R++\nsrc[XRANGEPLAIN] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:' + src[PRERELEASE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGEPLAINLOOSE = R++\nsrc[XRANGEPLAINLOOSE] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:' + src[PRERELEASELOOSE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGE = R++\nsrc[XRANGE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAIN] + '$'\nvar XRANGELOOSE = R++\nsrc[XRANGELOOSE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAINLOOSE] + '$'\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\nvar COERCE = R++\nsrc[COERCE] = '(?:^|[^\\\\d])' +\n '(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:$|[^\\\\d])'\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\nvar LONETILDE = R++\nsrc[LONETILDE] = '(?:~>?)'\n\nvar TILDETRIM = R++\nsrc[TILDETRIM] = '(\\\\s*)' + src[LONETILDE] + '\\\\s+'\nre[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')\nvar tildeTrimReplace = '$1~'\n\nvar TILDE = R++\nsrc[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'\nvar TILDELOOSE = R++\nsrc[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\nvar LONECARET = R++\nsrc[LONECARET] = '(?:\\\\^)'\n\nvar CARETTRIM = R++\nsrc[CARETTRIM] = '(\\\\s*)' + src[LONECARET] + '\\\\s+'\nre[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')\nvar caretTrimReplace = '$1^'\n\nvar CARET = R++\nsrc[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'\nvar CARETLOOSE = R++\nsrc[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\nvar COMPARATORLOOSE = R++\nsrc[COMPARATORLOOSE] = '^' + src[GTLT] + '\\\\s*(' + LOOSEPLAIN + ')$|^$'\nvar COMPARATOR = R++\nsrc[COMPARATOR] = '^' + src[GTLT] + '\\\\s*(' + FULLPLAIN + ')$|^$'\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\nvar COMPARATORTRIM = R++\nsrc[COMPARATORTRIM] = '(\\\\s*)' + src[GTLT] +\n '\\\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'\n\n// this one has to use the /g flag\nre[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')\nvar comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\nvar HYPHENRANGE = R++\nsrc[HYPHENRANGE] = '^\\\\s*(' + src[XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAIN] + ')' +\n '\\\\s*$'\n\nvar HYPHENRANGELOOSE = R++\nsrc[HYPHENRANGELOOSE] = '^\\\\s*(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s*$'\n\n// Star ranges basically just allow anything at all.\nvar STAR = R++\nsrc[STAR] = '(<|>)?=?\\\\s*\\\\*'\n\n// Compile to actual regexp objects.\n// All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i < R; i++) {\n debug(i, src[i])\n if (!re[i]) {\n re[i] = new RegExp(src[i])\n }\n}\n\nexports.parse = parse\nfunction parse (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n var r = options.loose ? re[LOOSE] : re[FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nexports.valid = valid\nfunction valid (version, options) {\n var v = parse(version, options)\n return v ? v.version : null\n}\n\nexports.clean = clean\nfunction clean (version, options) {\n var s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\n\nexports.SemVer = SemVer\n\nfunction SemVer (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === options.loose) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')\n }\n\n if (!(this instanceof SemVer)) {\n return new SemVer(version, options)\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n\n var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL])\n\n if (!m) {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map(function (id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n}\n\nSemVer.prototype.format = function () {\n this.version = this.major + '.' + this.minor + '.' + this.patch\n if (this.prerelease.length) {\n this.version += '-' + this.prerelease.join('.')\n }\n return this.version\n}\n\nSemVer.prototype.toString = function () {\n return this.version\n}\n\nSemVer.prototype.compare = function (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return this.compareMain(other) || this.comparePre(other)\n}\n\nSemVer.prototype.compareMain = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n}\n\nSemVer.prototype.comparePre = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n var i = 0\n do {\n var a = this.prerelease[i]\n var b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\n// preminor will bump the version up to the next minor release, and immediately\n// down to pre-release. premajor and prepatch work the same way.\nSemVer.prototype.inc = function (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 \"pre\" would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n var i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error('invalid increment argument: ' + release)\n }\n this.format()\n this.raw = this.version\n return this\n}\n\nexports.inc = inc\nfunction inc (version, release, loose, identifier) {\n if (typeof (loose) === 'string') {\n identifier = loose\n loose = undefined\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\n\nexports.diff = diff\nfunction diff (version1, version2) {\n if (eq(version1, version2)) {\n return null\n } else {\n var v1 = parse(version1)\n var v2 = parse(version2)\n var prefix = ''\n if (v1.prerelease.length || v2.prerelease.length) {\n prefix = 'pre'\n var defaultResult = 'prerelease'\n }\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\n\nexports.compareIdentifiers = compareIdentifiers\n\nvar numeric = /^[0-9]+$/\nfunction compareIdentifiers (a, b) {\n var anum = numeric.test(a)\n var bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nexports.rcompareIdentifiers = rcompareIdentifiers\nfunction rcompareIdentifiers (a, b) {\n return compareIdentifiers(b, a)\n}\n\nexports.major = major\nfunction major (a, loose) {\n return new SemVer(a, loose).major\n}\n\nexports.minor = minor\nfunction minor (a, loose) {\n return new SemVer(a, loose).minor\n}\n\nexports.patch = patch\nfunction patch (a, loose) {\n return new SemVer(a, loose).patch\n}\n\nexports.compare = compare\nfunction compare (a, b, loose) {\n return new SemVer(a, loose).compare(new SemVer(b, loose))\n}\n\nexports.compareLoose = compareLoose\nfunction compareLoose (a, b) {\n return compare(a, b, true)\n}\n\nexports.rcompare = rcompare\nfunction rcompare (a, b, loose) {\n return compare(b, a, loose)\n}\n\nexports.sort = sort\nfunction sort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compare(a, b, loose)\n })\n}\n\nexports.rsort = rsort\nfunction rsort (list, loose) {\n return list.sort(function (a, b) {\n return exports.rcompare(a, b, loose)\n })\n}\n\nexports.gt = gt\nfunction gt (a, b, loose) {\n return compare(a, b, loose) > 0\n}\n\nexports.lt = lt\nfunction lt (a, b, loose) {\n return compare(a, b, loose) < 0\n}\n\nexports.eq = eq\nfunction eq (a, b, loose) {\n return compare(a, b, loose) === 0\n}\n\nexports.neq = neq\nfunction neq (a, b, loose) {\n return compare(a, b, loose) !== 0\n}\n\nexports.gte = gte\nfunction gte (a, b, loose) {\n return compare(a, b, loose) >= 0\n}\n\nexports.lte = lte\nfunction lte (a, b, loose) {\n return compare(a, b, loose) <= 0\n}\n\nexports.cmp = cmp\nfunction cmp (a, op, b, loose) {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError('Invalid operator: ' + op)\n }\n}\n\nexports.Comparator = Comparator\nfunction Comparator (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n if (!(this instanceof Comparator)) {\n return new Comparator(comp, options)\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n}\n\nvar ANY = {}\nComparator.prototype.parse = function (comp) {\n var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]\n var m = comp.match(r)\n\n if (!m) {\n throw new TypeError('Invalid comparator: ' + comp)\n }\n\n this.operator = m[1]\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n}\n\nComparator.prototype.toString = function () {\n return this.value\n}\n\nComparator.prototype.test = function (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n}\n\nComparator.prototype.intersects = function (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n var rangeTmp\n\n if (this.operator === '') {\n rangeTmp = new Range(comp.value, options)\n return satisfies(this.value, rangeTmp, options)\n } else if (comp.operator === '') {\n rangeTmp = new Range(this.value, options)\n return satisfies(comp.semver, rangeTmp, options)\n }\n\n var sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n var sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n var sameSemVer = this.semver.version === comp.semver.version\n var differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n var oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n ((this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<'))\n var oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n ((this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>'))\n\n return sameDirectionIncreasing || sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan || oppositeDirectionsGreaterThan\n}\n\nexports.Range = Range\nfunction Range (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n return new Range(range.value, options)\n }\n\n if (!(this instanceof Range)) {\n return new Range(range, options)\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First, split based on boolean or ||\n this.raw = range\n this.set = range.split(/\\s*\\|\\|\\s*/).map(function (range) {\n return this.parseRange(range.trim())\n }, this).filter(function (c) {\n // throw out any that are not relevant for whatever reason\n return c.length\n })\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + range)\n }\n\n this.format()\n}\n\nRange.prototype.format = function () {\n this.range = this.set.map(function (comps) {\n return comps.join(' ').trim()\n }).join('||').trim()\n return this.range\n}\n\nRange.prototype.toString = function () {\n return this.range\n}\n\nRange.prototype.parseRange = function (range) {\n var loose = this.options.loose\n range = range.trim()\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]\n range = range.replace(hr, hyphenReplace)\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, re[COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]\n var set = range.split(' ').map(function (comp) {\n return parseComparator(comp, this.options)\n }, this).join(' ').split(/\\s+/)\n if (this.options.loose) {\n // in loose mode, throw out any that are not valid comparators\n set = set.filter(function (comp) {\n return !!comp.match(compRe)\n })\n }\n set = set.map(function (comp) {\n return new Comparator(comp, this.options)\n }, this)\n\n return set\n}\n\nRange.prototype.intersects = function (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some(function (thisComparators) {\n return thisComparators.every(function (thisComparator) {\n return range.set.some(function (rangeComparators) {\n return rangeComparators.every(function (rangeComparator) {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n })\n })\n}\n\n// Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators\nfunction toComparators (range, options) {\n return new Range(range, options).set.map(function (comp) {\n return comp.map(function (c) {\n return c.value\n }).join(' ').trim().split(' ')\n })\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nfunction parseComparator (comp, options) {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nfunction isX (id) {\n return !id || id.toLowerCase() === 'x' || id === '*'\n}\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceTilde(comp, options)\n }).join(' ')\n}\n\nfunction replaceTilde (comp, options) {\n var r = options.loose ? re[TILDELOOSE] : re[TILDE]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceCaret(comp, options)\n }).join(' ')\n}\n\nfunction replaceCaret (comp, options) {\n debug('caret', comp, options)\n var r = options.loose ? re[CARETLOOSE] : re[CARET]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n if (M === '0') {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else {\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + (+M + 1) + '.0.0'\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0'\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nfunction replaceXRanges (comp, options) {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map(function (comp) {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nfunction replaceXRange (comp, options) {\n comp = comp.trim()\n var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]\n return comp.replace(r, function (ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n var xM = isX(M)\n var xm = xM || isX(m)\n var xp = xm || isX(p)\n var anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n // >1.2.3 => >= 1.2.4\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n ret = gtlt + M + '.' + m + '.' + p\n } else if (xm) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars (comp, options) {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[STAR], '')\n}\n\n// This function is passed to string.replace(re[HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = '>=' + fM + '.0.0'\n } else if (isX(fp)) {\n from = '>=' + fM + '.' + fm + '.0'\n } else {\n from = '>=' + from\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = '<' + (+tM + 1) + '.0.0'\n } else if (isX(tp)) {\n to = '<' + tM + '.' + (+tm + 1) + '.0'\n } else if (tpr) {\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr\n } else {\n to = '<=' + to\n }\n\n return (from + ' ' + to).trim()\n}\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n for (var i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n}\n\nfunction testSet (set, version, options) {\n for (var i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n var allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n\nexports.satisfies = satisfies\nfunction satisfies (version, range, options) {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\n\nexports.maxSatisfying = maxSatisfying\nfunction maxSatisfying (versions, range, options) {\n var max = null\n var maxSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\n\nexports.minSatisfying = minSatisfying\nfunction minSatisfying (versions, range, options) {\n var min = null\n var minSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\n\nexports.minVersion = minVersion\nfunction minVersion (range, loose) {\n range = new Range(range, loose)\n\n var minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n comparators.forEach(function (comparator) {\n // Clone to avoid manipulating the comparator's semver object.\n var compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error('Unexpected operation: ' + comparator.operator)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\n\nexports.validRange = validRange\nfunction validRange (range, options) {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr\nfunction ltr (version, range, options) {\n return outside(version, range, '<', options)\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr\nfunction gtr (version, range, options) {\n return outside(version, range, '>', options)\n}\n\nexports.outside = outside\nfunction outside (version, range, hilo, options) {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n var gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n var high = null\n var low = null\n\n comparators.forEach(function (comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nexports.prerelease = prerelease\nfunction prerelease (version, options) {\n var parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\n\nexports.intersects = intersects\nfunction intersects (r1, r2, options) {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce\nfunction coerce (version) {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n var match = version.match(re[COERCE])\n\n if (match == null) {\n return null\n }\n\n return parse(match[1] +\n '.' + (match[2] || '0') +\n '.' + (match[3] || '0'))\n}\n","'use strict'\n\nmodule.exports = {\n moveSync: require('./move-sync')\n}\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.update = void 0;\nconst slugify_1 = __importDefault(require(\"@sindresorhus/slugify\"));\nconst fs_extra_1 = require(\"fs-extra\");\nconst js_yaml_1 = require(\"js-yaml\");\nconst path_1 = require(\"path\");\nconst config_1 = require(\"./helpers/config\");\nconst git_1 = require(\"./helpers/git\");\nconst github_1 = require(\"./helpers/github\");\nconst init_check_1 = require(\"./helpers/init-check\");\nconst notifications_1 = require(\"./helpers/notifications\");\nconst request_1 = require(\"./helpers/request\");\nconst summary_1 = require(\"./summary\");\nconst update = async (shouldCommit = false) => {\n if (!(await init_check_1.shouldContinue()))\n return;\n await fs_extra_1.mkdirp(\"history\");\n let [owner, repo] = (process.env.GITHUB_REPOSITORY || \"\").split(\"/\");\n const config = await config_1.getConfig();\n const octokit = await github_1.getOctokit();\n let hasDelta = false;\n for await (const site of config.sites) {\n console.log(\"Checking\", site.url);\n const slug = site.slug || slugify_1.default(site.name);\n let currentStatus = \"unknown\";\n let startTime = new Date();\n const siteHistory = js_yaml_1.safeLoad((await fs_extra_1.readFile(path_1.join(\".\", \"history\", `${slug}.yml`), \"utf8\"))\n .split(\"\\n\")\n .map((line) => (line.startsWith(\"- \") ? line.replace(\"- \", \"\") : line))\n .join(\"\\n\"));\n try {\n currentStatus = siteHistory.status || \"unknown\";\n startTime = new Date(siteHistory.startTime || new Date());\n }\n catch (error) { }\n console.log(\"Current status\", site.slug, currentStatus, startTime);\n /**\n * Check whether the site is online\n */\n const performTestOnce = async () => {\n const result = await request_1.curl(site);\n console.log(\"Result from test\", result);\n const responseTime = (result.totalTime * 1000).toFixed(0);\n const expectedStatusCodes = (site.expectedStatusCodes || [\n 200,\n 201,\n 202,\n 203,\n 200,\n 204,\n 205,\n 206,\n 207,\n 208,\n 226,\n 300,\n 301,\n 302,\n 303,\n 304,\n 305,\n 306,\n 307,\n 308,\n ]).map(Number);\n let status = expectedStatusCodes.includes(Number(result.httpCode))\n ? \"up\"\n : \"down\";\n if (parseInt(responseTime) > (site.maxResponseTime || 60000))\n status = \"degraded\";\n return { result, responseTime, status };\n };\n let { result, responseTime, status } = await performTestOnce();\n /**\n * If the site is down, we perform the test 2 more times to make\n * sure that it's not a false alarm\n */\n if (status === \"down\" || status === \"degraded\") {\n wait(1000);\n const secondTry = await performTestOnce();\n if (secondTry.status === \"up\") {\n result = secondTry.result;\n responseTime = secondTry.responseTime;\n status = secondTry.status;\n }\n else {\n wait(10000);\n const thirdTry = await performTestOnce();\n if (thirdTry.status === \"up\") {\n result = thirdTry.result;\n responseTime = thirdTry.responseTime;\n status = thirdTry.status;\n }\n }\n }\n try {\n if (shouldCommit || currentStatus !== status) {\n await fs_extra_1.writeFile(path_1.join(\".\", \"history\", `${slug}.yml`), `url: ${site.url} \nstatus: ${status}\ncode: ${result.httpCode}\nresponseTime: ${responseTime}\nlastUpdated: ${new Date().toISOString()}\nstartTime: ${startTime}\ngenerator: Upptime \n`);\n git_1.commit(((config.commitMessages || {}).statusChange ||\n \"$PREFIX $SITE_NAME is $STATUS ($RESPONSE_CODE in $RESPONSE_TIME ms) [skip ci] [upptime]\")\n .replace(\"$PREFIX\", status === \"up\"\n ? config.commitPrefixStatusUp || \"🟩\"\n : status === \"degraded\"\n ? config.commitPrefixStatusDegraded || \"🟨\"\n : config.commitPrefixStatusDown || \"🟥\")\n .replace(\"$SITE_NAME\", site.name)\n .replace(\"$SITE_URL\", site.url)\n .replace(\"$SITE_METHOD\", site.method || \"GET\")\n .replace(\"$STATUS\", status)\n .replace(\"$RESPONSE_CODE\", result.httpCode.toString())\n .replace(\"$RESPONSE_TIME\", responseTime), (config.commitMessages || {}).commitAuthorName, (config.commitMessages || {}).commitAuthorEmail);\n const lastCommitSha = git_1.lastCommit();\n if (currentStatus !== status) {\n console.log(\"Status is different\", currentStatus, \"to\", status);\n hasDelta = true;\n const issues = await octokit.issues.list({\n owner,\n repo,\n labels: slug,\n filter: \"all\",\n state: \"open\",\n sort: \"created\",\n direction: \"desc\",\n per_page: 1,\n });\n console.log(`Found ${issues.data.length} issues`);\n // If the site was just recorded as down or degraded, open an issue\n if (status === \"down\" || status === \"degraded\") {\n if (!issues.data.length) {\n const newIssue = await octokit.issues.create({\n owner,\n repo,\n title: status === \"down\"\n ? `🛑 ${site.name} is down`\n : `🟨 ${site.name} has degraded performance`,\n body: `In [\\`${lastCommitSha.substr(0, 7)}\\`](https://github.com/${owner}/${repo}/commit/${lastCommitSha}), ${site.name} (${site.url}) ${status === \"down\" ? \"was **down**\" : \"experienced **degraded performance**\"}:\n- HTTP code: ${result.httpCode}\n- Response time: ${responseTime} ms\n`,\n assignees: [...(config.assignees || []), ...(site.assignees || [])],\n labels: [\"status\", slug],\n });\n await octokit.issues.lock({\n owner,\n repo,\n issue_number: newIssue.data.number,\n });\n console.log(\"Opened and locked a new issue\");\n await notifications_1.sendNotification(config, status === \"down\"\n ? `🟥 ${site.name} (${site.url}) is **down**: ${newIssue.data.html_url}`\n : `🟨 ${site.name} (${site.url}) is experiencing **degraded performance**: ${newIssue.data.html_url}`);\n }\n else {\n console.log(\"An issue is already open for this\");\n }\n }\n else if (issues.data.length) {\n // If the site just came back up\n await octokit.issues.createComment({\n owner,\n repo,\n issue_number: issues.data[0].number,\n body: `**Resolved:** ${site.name} ${issues.data[0].title.includes(\"degraded\")\n ? \"performance has improved\"\n : \"is back up\"} in [\\`${lastCommitSha.substr(0, 7)}\\`](https://github.com/${owner}/${repo}/commit/${lastCommitSha}).`,\n });\n console.log(\"Created comment in issue\");\n await octokit.issues.update({\n owner,\n repo,\n issue_number: issues.data[0].number,\n state: \"closed\",\n });\n console.log(\"Closed issue\");\n await notifications_1.sendNotification(config, `🟩 ${site.name} (${site.url}) ${issues.data[0].title.includes(\"degraded\")\n ? \"performance has improved\"\n : \"is back up\"}.`);\n }\n else {\n console.log(\"Could not find a relevant issue\", issues.data);\n }\n }\n else {\n console.log(\"Status is the same\", currentStatus, status);\n }\n }\n else {\n console.log(\"Skipping commit, \", \"status is\", status);\n }\n }\n catch (error) {\n console.log(\"ERROR\", error);\n }\n }\n git_1.push();\n if (!config.skipDeleteIssues) {\n // Find all the opened issues that shouldn't have opened\n // Say, Upptime found a down monitor and it was back up within 5 min\n const issuesRecentlyClosed = await octokit.issues.listForRepo({\n owner,\n repo,\n state: \"closed\",\n labels: \"status\",\n per_page: 10,\n });\n console.log(\"Found recently closed issues\", issuesRecentlyClosed.data.length);\n for await (const issue of issuesRecentlyClosed.data) {\n if (\n // If this issue was closed within 15 minutes\n new Date(issue.closed_at).getTime() - new Date(issue.created_at).getTime() < 900000 &&\n // It has 1 comment (the default Upptime one)\n issue.comments === 1) {\n try {\n console.log(\"Trying to delete issue\", issue.number, issue.node_id);\n const result = await octokit.graphql(`\n mutation deleteIssue {\n deleteIssue(input:{issueId:\"${issue.node_id}\"}) {\n clientMutationId\n }\n }`);\n console.log(\"Success\", result);\n }\n catch (error) {\n console.log(\"Error deleting this issue\", error);\n }\n }\n }\n }\n if (hasDelta)\n summary_1.generateSummary();\n};\nexports.update = update;\nconst wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\n//# sourceMappingURL=update.js.map","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):((e=\"undefined\"!=typeof globalThis?globalThis:e||self).prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.espree=t())}(this,(function(){\"use strict\";var e=e=>\"string\"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(t,e?void 0:\"g\")})(),\"\"):e;const t=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var u=t,i=t;u.default=i;const n=t=>{if(\"string\"!=typeof(t=t.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\" \"))||0===t.length)return 0;t=e(t);let i=0;for(let e=0;e=127&&n<=159||(n>=768&&n<=879||(n>65535&&e++,i+=u(n)?2:1))}return i};var r=n,s=n;r.default=s;var a=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function o(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var c=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{};function p(){throw new Error(\"setTimeout has not been defined\")}function D(){throw new Error(\"clearTimeout has not been defined\")}var h=p,l=D;function d(e){if(h===setTimeout)return setTimeout(e,0);if((h===p||!h)&&setTimeout)return h=setTimeout,setTimeout(e,0);try{return h(e,0)}catch(t){try{return h.call(null,e,0)}catch(t){return h.call(this,e,0)}}}\"function\"==typeof c.setTimeout&&(h=setTimeout),\"function\"==typeof c.clearTimeout&&(l=clearTimeout);var E,f=[],C=!1,m=-1;function A(){C&&E&&(C=!1,E.length?f=E.concat(f):m=-1,f.length&&F())}function F(){if(!C){var e=d(A);C=!0;for(var t=f.length;t;){for(E=f,f=[];++m1)for(var u=1;uconsole.error(\"SEMVER\",...e):()=>{};var P={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16};function O(e,t,u){return e(u={path:t,exports:{},require:function(e,t){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==t&&u.path)}},u.exports),u.exports}function R(e){return e&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var M=O((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:u}=P,i=(t=e.exports={}).re=[],n=t.src=[],r=t.t={};let s=0;const a=(e,t,u)=>{const a=s++;L(a,t),r[e]=a,n[a]=t,i[a]=new RegExp(t,u?\"g\":void 0)};a(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),a(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),a(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),a(\"MAINVERSION\",\"(\".concat(n[r.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(n[r.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(n[r.NUMERICIDENTIFIER],\")\")),a(\"MAINVERSIONLOOSE\",\"(\".concat(n[r.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(n[r.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(n[r.NUMERICIDENTIFIERLOOSE],\")\")),a(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(n[r.NUMERICIDENTIFIER],\"|\").concat(n[r.NONNUMERICIDENTIFIER],\")\")),a(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(n[r.NUMERICIDENTIFIERLOOSE],\"|\").concat(n[r.NONNUMERICIDENTIFIER],\")\")),a(\"PRERELEASE\",\"(?:-(\".concat(n[r.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(n[r.PRERELEASEIDENTIFIER],\")*))\")),a(\"PRERELEASELOOSE\",\"(?:-?(\".concat(n[r.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(n[r.PRERELEASEIDENTIFIERLOOSE],\")*))\")),a(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),a(\"BUILD\",\"(?:\\\\+(\".concat(n[r.BUILDIDENTIFIER],\"(?:\\\\.\").concat(n[r.BUILDIDENTIFIER],\")*))\")),a(\"FULLPLAIN\",\"v?\".concat(n[r.MAINVERSION]).concat(n[r.PRERELEASE],\"?\").concat(n[r.BUILD],\"?\")),a(\"FULL\",\"^\".concat(n[r.FULLPLAIN],\"$\")),a(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(n[r.MAINVERSIONLOOSE]).concat(n[r.PRERELEASELOOSE],\"?\").concat(n[r.BUILD],\"?\")),a(\"LOOSE\",\"^\".concat(n[r.LOOSEPLAIN],\"$\")),a(\"GTLT\",\"((?:<|>)?=?)\"),a(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(n[r.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),a(\"XRANGEIDENTIFIER\",\"\".concat(n[r.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),a(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(n[r.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(n[r.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(n[r.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(n[r.PRERELEASE],\")?\").concat(n[r.BUILD],\"?\")+\")?)?\"),a(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(n[r.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(n[r.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(n[r.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(n[r.PRERELEASELOOSE],\")?\").concat(n[r.BUILD],\"?\")+\")?)?\"),a(\"XRANGE\",\"^\".concat(n[r.GTLT],\"\\\\s*\").concat(n[r.XRANGEPLAIN],\"$\")),a(\"XRANGELOOSE\",\"^\".concat(n[r.GTLT],\"\\\\s*\").concat(n[r.XRANGEPLAINLOOSE],\"$\")),a(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(u,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(u,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(u,\"}))?\")+\"(?:$|[^\\\\d])\"),a(\"COERCERTL\",n[r.COERCE],!0),a(\"LONETILDE\",\"(?:~>?)\"),a(\"TILDETRIM\",\"(\\\\s*)\".concat(n[r.LONETILDE],\"\\\\s+\"),!0),t.tildeTrimReplace=\"$1~\",a(\"TILDE\",\"^\".concat(n[r.LONETILDE]).concat(n[r.XRANGEPLAIN],\"$\")),a(\"TILDELOOSE\",\"^\".concat(n[r.LONETILDE]).concat(n[r.XRANGEPLAINLOOSE],\"$\")),a(\"LONECARET\",\"(?:\\\\^)\"),a(\"CARETTRIM\",\"(\\\\s*)\".concat(n[r.LONECARET],\"\\\\s+\"),!0),t.caretTrimReplace=\"$1^\",a(\"CARET\",\"^\".concat(n[r.LONECARET]).concat(n[r.XRANGEPLAIN],\"$\")),a(\"CARETLOOSE\",\"^\".concat(n[r.LONECARET]).concat(n[r.XRANGEPLAINLOOSE],\"$\")),a(\"COMPARATORLOOSE\",\"^\".concat(n[r.GTLT],\"\\\\s*(\").concat(n[r.LOOSEPLAIN],\")$|^$\")),a(\"COMPARATOR\",\"^\".concat(n[r.GTLT],\"\\\\s*(\").concat(n[r.FULLPLAIN],\")$|^$\")),a(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(n[r.GTLT],\"\\\\s*(\").concat(n[r.LOOSEPLAIN],\"|\").concat(n[r.XRANGEPLAIN],\")\"),!0),t.comparatorTrimReplace=\"$1$2$3\",a(\"HYPHENRANGE\",\"^\\\\s*(\".concat(n[r.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(n[r.XRANGEPLAIN],\")\")+\"\\\\s*$\"),a(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(n[r.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(n[r.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),a(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),a(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),a(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")}));const V=/^[0-9]+$/,j=(e,t)=>{const u=V.test(e),i=V.test(t);return u&&i&&(e=+e,t=+t),e===t?0:u&&!i?-1:i&&!u?1:ej(t,e)};const{MAX_LENGTH:X,MAX_SAFE_INTEGER:G}=P,{re:q,t:W}=M,{compareIdentifiers:J}=U;class H{constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof H){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \".concat(e));if(e.length>X)throw new TypeError(\"version is longer than \".concat(X,\" characters\"));L(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const u=e.trim().match(t.loose?q[W.LOOSE]:q[W.FULL]);if(!u)throw new TypeError(\"Invalid Version: \".concat(e));if(this.raw=e,this.major=+u[1],this.minor=+u[2],this.patch=+u[3],this.major>G||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>G||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>G||this.patch<0)throw new TypeError(\"Invalid patch version\");u[4]?this.prerelease=u[4].split(\".\").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)\"number\"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(\"invalid increment argument: \".concat(e))}return this.format(),this.raw=this.version,this}}var z=H;var $=(e,t,u)=>new z(e,u).compare(new z(t,u));var K=(e,t,u)=>$(e,t,u)<0;var Q=(e,t,u)=>$(e,t,u)>=0,Y=\"2.2.0\",Z=O((function(e,t){function u(){for(var e=[],t=0;t\"string\"==typeof e||\"function\"==typeof e,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:pe,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin\",cliCategory:ae},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:pe,description:se(ie()),exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin-search-dir\",cliCategory:ae},printWidth:{since:\"0.0.0\",category:pe,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:De,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:se(ue()),cliCategory:oe},rangeStart:{since:\"1.4.0\",category:De,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:se(te()),cliCategory:oe},requirePragma:{since:\"1.7.0\",category:De,type:\"boolean\",default:!1,description:se(ee()),cliCategory:ce},tabWidth:{type:\"int\",category:pe,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:pe,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:pe,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};const le={compare:$,lt:K,gte:Q},de=Y,Ee={CATEGORY_CONFIG:ae,CATEGORY_EDITOR:oe,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:ce,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:pe,CATEGORY_SPECIAL:De,options:he}.options;var fe={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:u=!1,showInternal:i=!1}={}){const n=de.split(\"-\",1)[0],r=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(c),s=(a=Object.assign({},...e.map((({options:e})=>e)),Ee),o=\"name\",Object.entries(a).map((([e,t])=>Object.assign({[o]:e},t)))).filter((e=>c(e)&&p(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(n[u]=e[u]);return n}(e,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(c).sort(((e,t)=>le.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>c(e)&&p(e))),\"parser\"===t.name&&function(e,t,u){const i=new Set(e.choices.map((e=>e.value)));for(const n of t)if(n.parsers)for(const t of n.parsers)if(!i.has(t)){i.add(t);const r=u.find((e=>e.parsers&&e.parsers[t]));let s=n.name;r&&r.name&&(s+=\" (plugin: \".concat(r.name,\")\")),e.choices.push({value:t,description:s})}}(t,r,e));const u=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,u)=>(e[u.name]=u.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:u})}));var a,o;return{languages:r,options:s};function c(e){return t||!(\"since\"in e)||e.since&&le.gte(n,e.since)}function p(e){return u||!(\"deprecated\"in e)||e.deprecated&&le.lt(n,e.deprecated)}}};const{getSupportInfo:Ce}=fe,me=/[^\\x20-\\x7F]/;function Ae(e){return(t,u,i)=>{const n=i&&i.backwards;if(!1===u)return!1;const{length:r}=t;let s=u;for(;s>=0&&s(u.match(s.regex)||[]).length?s.quote:r.quote}return a}function Ne(e,t,u){const i='\"'===t?\"'\":'\"',n=e.replace(/\\\\([\\S\\s])|([\"'])/g,((e,n,r)=>n===i?n:r===t?\"\\\\\"+r:r||(u&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(n)?n:\"\\\\\"+n)));return t+n+t}function Le(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,\"JSXText\"===e.type&&(t.printed=!0)}var Pe={inferParserByLanguage:function(e,t){const{languages:u}=Ce({plugins:t.plugins}),i=u.find((({name:t})=>t.toLowerCase()===e))||u.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||u.find((({extensions:t})=>Array.isArray(t)&&t.includes(\".\".concat(e))));return i&&i.parsers[0]},replaceEndOfLineWith:function(e,t){const u=[];for(const i of e.split(\"\\n\"))0!==u.length&&u.push(t),u.push(i);return u},getStringWidth:function(e){return e?me.test(e)?r(e):e.length:0},getMaxContinuousCount:function(e,t){const u=e.match(new RegExp(\"(\".concat(a(t),\")+\"),\"g\"));return null===u?0:u.reduce(((e,u)=>Math.max(e,u.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const u=e.match(new RegExp(\"(\".concat(a(t),\")+\"),\"g\"));if(null===u)return 0;const i=new Map;let n=0;for(const e of u){const u=e.length/t.length;i.set(u,!0),u>n&&(n=u)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:_e,getNextNonSpaceNonCommentCharacterIndex:we,getNextNonSpaceNonCommentCharacter:function(e,t,u){return e.charAt(we(e,t,u))},skip:Ae,skipWhitespace:Fe,skipSpaces:ge,skipToLineEnd:ye,skipEverythingButNewLine:xe,skipInlineComment:Be,skipTrailingComment:Se,skipNewline:ve,isNextLineEmptyAfterIndex:Te,isNextLineEmpty:function(e,t,u){return Te(e,u(t))},isPreviousLineEmpty:function(e,t,u){let i=u(t)-1;return i=ge(e,i,{backwards:!0}),i=ve(e,i,{backwards:!0}),i=ge(e,i,{backwards:!0}),i!==ve(e,i,{backwards:!0})},hasNewline:be,hasNewlineInRange:function(e,t,u){for(let i=t;i\"browser\",cpus:()=>[{model:\"Prettier\"}]}});const Me=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");const t=e.match(/(?:\\r?\\n)/g)||[];if(0===t.length)return;const u=t.filter((e=>\"\\r\\n\"===e)).length;return u>t.length-u?\"\\r\\n\":\"\\n\"};var Ve=Me;Ve.graceful=e=>\"string\"==typeof e&&Me(e)||\"\\n\";var je=R(Re),Ue=O((function(e,t){function u(){const e=je;return u=function(){return e},e}function i(){const e=(t=Ve)&&t.__esModule?t:{default:t};var t;return i=function(){return e},e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.extract=function(e){const t=e.match(s);return t?t[0].trimLeft():\"\"},t.strip=function(e){const t=e.match(s);return t&&t[0]?e.substring(t[0].length):e},t.parse=function(e){return l(e).pragmas},t.parseWithComments=l,t.print=function({comments:e=\"\",pragmas:t={}}){const n=(0,i().default)(e)||u().EOL,r=\" *\",s=Object.keys(t),a=s.map((e=>d(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>\" * \"+e+n)).join(\"\");if(!e){if(0===s.length)return\"\";if(1===s.length&&!Array.isArray(t[s[0]])){const e=t[s[0]];return\"\".concat(\"/**\",\" \").concat(d(s[0],e)[0]).concat(\" */\")}}const o=e.split(n).map((e=>\"\".concat(r,\" \").concat(e))).join(n)+n;return\"/**\"+n+(e?o:\"\")+(e&&s.length?r+n:\"\")+a+\" */\"};const n=/\\*\\/$/,r=/^\\/\\*\\*/,s=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,a=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,o=/^(\\r?\\n)+/,c=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,p=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,D=/(\\r?\\n|^) *\\* ?/g,h=[];function l(e){const t=(0,i().default)(e)||u().EOL;e=e.replace(r,\"\").replace(n,\"\").replace(D,\"$1\");let s=\"\";for(;s!==e;)s=e,e=e.replace(c,\"\".concat(t,\"$1 $2\").concat(t));e=e.replace(o,\"\").trimRight();const l=Object.create(null),d=e.replace(p,\"\").replace(o,\"\").trimRight();let E;for(;E=p.exec(e);){const e=E[2].replace(a,\"\");\"string\"==typeof l[E[1]]||Array.isArray(l[E[1]])?l[E[1]]=h.concat(l[E[1]],e):l[E[1]]=e}return{comments:d,pragmas:l}}function d(e,t){return h.concat(t).map((t=>\"@\".concat(e,\" \").concat(t).trim()))}}));var Xe={guessEndOfLine:function(e){const t=e.indexOf(\"\\r\");return t>=0?\"\\n\"===e.charAt(t+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(e){switch(e){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(e,t){let u;if(\"\\n\"===t)u=/\\n/g;else if(\"\\r\"===t)u=/\\r/g;else{if(\"\\r\\n\"!==t)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(t),\".\"));u=/\\r\\n/g}const i=e.match(u);return i?i.length:0},normalizeEndOfLine:function(e){return e.replace(/\\r\\n?/g,\"\\n\")}};const{parseWithComments:Ge,strip:qe,extract:We,print:Je}=Ue,{getShebang:He}=Pe,{normalizeEndOfLine:ze}=Xe;function $e(e){const t=He(e);t&&(e=e.slice(t.length+1));const u=We(e),{pragmas:i,comments:n}=Ge(u);return{shebang:t,text:e,pragmas:i,comments:n}}var Ke={hasPragma:function(e){const t=Object.keys($e(e).pragmas);return t.includes(\"prettier\")||t.includes(\"format\")},insertPragma:function(e){const{shebang:t,text:u,pragmas:i,comments:n}=$e(e),r=qe(u),s=Je({pragmas:Object.assign({format:\"\"},i),comments:n.trimStart()});return(t?\"\".concat(t,\"\\n\"):\"\")+ze(s)+(r.startsWith(\"\\n\")?\"\\n\":\"\\n\\n\")+r}};function Qe(e,t){const{ignoreDecorators:u}=t||{};if(!u){const t=e.declaration&&e.declaration.decorators||e.decorators;if(t&&t.length>0)return Qe(t[0])}return e.range?e.range[0]:e.start}function Ye(e){const t=e.range?e.range[1]:e.end;return e.typeAnnotation?Math.max(t,Ye(e.typeAnnotation)):t}function Ze(e,t){return Qe(e)===Qe(t)}var et={locStart:Qe,locEnd:Ye,composeLoc:function(e,t=e){const u=Qe(e);return[u,\"number\"==typeof t?u+t:Ye(t)]},hasSameLocStart:Ze,hasSameLoc:function(e,t){return Ze(e,t)&&function(e,t){return Ye(e)===Ye(t)}(e,t)}},tt=O((function(e){!function(){function t(e){if(null==e)return!1;switch(e.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function u(e){switch(e.type){case\"IfStatement\":return null!=e.alternate?e.alternate:e.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:t,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&\"FunctionDeclaration\"===e.type},isProblematicIfStatement:function(e){var t;if(\"IfStatement\"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if(\"IfStatement\"===t.type&&null==t.alternate)return!0;t=u(t)}while(t);return!1},trailingStatement:u}}()})),ut=O((function(e){!function(){var t,u,i,n,r,s;function a(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(u={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},t={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},i=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],n=new Array(128),s=0;s<128;++s)n[s]=s>=97&&s<=122||s>=65&&s<=90||36===s||95===s;for(r=new Array(128),s=0;s<128;++s)r[s]=s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||36===s||95===s;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&i.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?n[e]:u.NonAsciiIdentifierStart.test(a(e))},isIdentifierPartES5:function(e){return e<128?r[e]:u.NonAsciiIdentifierPart.test(a(e))},isIdentifierStartES6:function(e){return e<128?n[e]:t.NonAsciiIdentifierStart.test(a(e))},isIdentifierPartES6:function(e){return e<128?r[e]:t.NonAsciiIdentifierPart.test(a(e))}}}()})),it=O((function(e){!function(){var t=ut;function u(e,t){return!(!t&&\"yield\"===e)&&i(e,t)}function i(e,t){if(t&&function(e){switch(e){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return\"if\"===e||\"in\"===e||\"do\"===e;case 3:return\"var\"===e||\"for\"===e||\"new\"===e||\"try\"===e;case 4:return\"this\"===e||\"else\"===e||\"case\"===e||\"void\"===e||\"with\"===e||\"enum\"===e;case 5:return\"while\"===e||\"break\"===e||\"catch\"===e||\"throw\"===e||\"const\"===e||\"yield\"===e||\"class\"===e||\"super\"===e;case 6:return\"return\"===e||\"typeof\"===e||\"delete\"===e||\"switch\"===e||\"export\"===e||\"import\"===e;case 7:return\"default\"===e||\"finally\"===e||\"extends\"===e;case 8:return\"function\"===e||\"continue\"===e||\"debugger\"===e;case 10:return\"instanceof\"===e;default:return!1}}function n(e,t){return\"null\"===e||\"true\"===e||\"false\"===e||u(e,t)}function r(e,t){return\"null\"===e||\"true\"===e||\"false\"===e||i(e,t)}function s(e){var u,i,n;if(0===e.length)return!1;if(n=e.charCodeAt(0),!t.isIdentifierStartES5(n))return!1;for(u=1,i=e.length;u=i)return!1;if(!(56320<=(r=e.charCodeAt(u))&&r<=57343))return!1;n=1024*(n-55296)+(r-56320)+65536}if(!s(n))return!1;s=t.isIdentifierPartES6}return!0}e.exports={isKeywordES5:u,isKeywordES6:i,isReservedWordES5:n,isReservedWordES6:r,isRestrictedWord:function(e){return\"eval\"===e||\"arguments\"===e},isIdentifierNameES5:s,isIdentifierNameES6:a,isIdentifierES5:function(e,t){return s(e)&&!n(e,t)},isIdentifierES6:function(e,t){return a(e)&&!r(e,t)}}}()}));const nt=O((function(e,t){t.ast=tt,t.code=ut,t.keyword=it})).keyword.isIdentifierNameES5,{getLast:rt,hasNewline:st,hasNewlineInRange:at,skipWhitespace:ot}=Pe,{locStart:ct,locEnd:pt,hasSameLocStart:Dt}=et,ht=\"(?:(?=.)\\\\s)\",lt=new RegExp(\"^\".concat(ht,\"*:\")),dt=new RegExp(\"^\".concat(ht,\"*::\"));function Et(e,t){if(!e||\"object\"!=typeof e)return!1;if(Array.isArray(e))return e.some((e=>Et(e,t)));const u=t(e);return\"boolean\"==typeof u?u:Object.keys(e).some((u=>Et(e[u],t)))}function ft(e){return\"AssignmentExpression\"===e.type||\"BinaryExpression\"===e.type||\"LogicalExpression\"===e.type||\"NGPipeExpression\"===e.type||\"ConditionalExpression\"===e.type||\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type||\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type||\"SequenceExpression\"===e.type||\"TaggedTemplateExpression\"===e.type||\"BindExpression\"===e.type||\"UpdateExpression\"===e.type&&!e.prefix||\"TSAsExpression\"===e.type||\"TSNonNullExpression\"===e.type}function Ct(e){return\"Block\"===e.type||\"CommentBlock\"===e.type||\"MultiLine\"===e.type}const mt=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function At(e){return e&&mt.has(e.type)}function Ft(e){return\"BooleanLiteral\"===e.type||\"DirectiveLiteral\"===e.type||\"Literal\"===e.type||\"NullLiteral\"===e.type||\"NumericLiteral\"===e.type||\"BigIntLiteral\"===e.type||\"DecimalLiteral\"===e.type||\"RegExpLiteral\"===e.type||\"StringLiteral\"===e.type||\"TemplateLiteral\"===e.type||\"TSTypeLiteral\"===e.type||\"JSXText\"===e.type}function gt(e){return\"NumericLiteral\"===e.type||\"Literal\"===e.type&&\"number\"==typeof e.value}function yt(e){return\"StringLiteral\"===e.type||\"Literal\"===e.type&&\"string\"==typeof e.value}function xt(e){return\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type}function Bt(e){return!(\"CallExpression\"!==e.type&&\"OptionalCallExpression\"!==e.type||\"Identifier\"!==e.callee.type||\"async\"!==e.callee.name&&\"inject\"!==e.callee.name&&\"fakeAsync\"!==e.callee.name)}function St(e){return\"JSXElement\"===e.type||\"JSXFragment\"===e.type}function vt(e){return\"get\"===e.kind||\"set\"===e.kind}function bt(e){return vt(e)||Dt(e,e.value)}const Tt=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]);const _t=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]);const wt=/^(skip|[fx]?(it|describe|test))$/;function kt(e){return\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type}const It=new RegExp(\"([ \\n\\r\\t]+)\"),Nt=new RegExp(\"[^ \\n\\r\\t]\");function Lt(e){return Ft(e)&&(Nt.test(Mt(e))||!/\\n/.test(Mt(e)))}function Pt(e,t){if(St(t))return zt(t);return t.comments&&t.comments.some((t=>t.leading&&st(e,pt(t))))}function Ot(e){return/^(\\d+|\\d+\\.\\d+)$/.test(e)}function Rt(e){return e.quasis.some((e=>e.value.raw.includes(\"\\n\")))}function Mt(e){return e.extra?e.extra.raw:e.raw}const Vt={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},jt={\"*\":!0,\"/\":!0,\"%\":!0},Ut={\">>\":!0,\">>>\":!0,\"<<\":!0};const Xt={};function Gt(e){return Xt[e]}[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].forEach(((e,t)=>{e.forEach((e=>{Xt[e]=t}))}));const qt=new WeakMap;function Wt(e){if(qt.has(e))return qt.get(e);const t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),qt.set(e,t),t}const Jt=new WeakMap;function Ht(e){return\"prettier-ignore\"===e.value.trim()}function zt(e){return e&&(e.comments&&e.comments.length>0&&e.comments.some((e=>Ht(e)&&!e.unignore))||e.prettierIgnore)}function $t(e){return zt(e.getValue())}var Kt={classChildNeedsASIProtection:function(e){if(e){if(e.static||e.accessibility)return!1;if(!e.computed){const t=e.key&&e.key.name;if(\"in\"===t||\"instanceof\"===t)return!0}switch(e.type){case\"ClassProperty\":case\"FieldDefinition\":case\"TSAbstractClassProperty\":return e.computed;case\"MethodDefinition\":case\"TSAbstractMethodDefinition\":case\"ClassMethod\":case\"ClassPrivateMethod\":{const t=e.value?e.value.async:e.async,u=e.value?e.value.generator:e.generator;return!t&&\"get\"!==e.kind&&\"set\"!==e.kind&&!(!e.computed&&!u)}case\"TSIndexSignature\":return!0;default:return!1}}},classPropMayCauseASIProblems:function(e){const t=e.getNode();if(\"ClassProperty\"!==t.type&&\"FieldDefinition\"!==t.type)return!1;const u=t.key&&t.key.name;return!(\"static\"!==u&&\"get\"!==u&&\"set\"!==u||t.value||t.typeAnnotation)||void 0},getFunctionParameters:Wt,iterateFunctionParametersPath:function(e,t){const u=e.getValue();let i=0;const n=e=>t(e,i++);u.this&&e.call(n,\"this\"),Array.isArray(u.parameters)?e.each(n,\"parameters\"):Array.isArray(u.params)&&e.each(n,\"params\"),u.rest&&e.call(n,\"rest\")},getCallArguments:function(e){if(Jt.has(e))return Jt.get(e);const t=\"ImportExpression\"===e.type?[e.source]:e.arguments;return Jt.set(e,t),t},iterateCallArgumentsPath:function(e,t){\"ImportExpression\"===e.getValue().type?e.call((e=>t(e,0)),\"source\"):e.each(t,\"arguments\")},hasRestParameter:function(e){if(e.rest)return!0;const t=Wt(e);return t.length>0&&\"RestElement\"===rt(t).type},getLeftSidePathName:function(e,t){if(t.expressions)return[\"expressions\",0];if(t.left)return[\"left\"];if(t.test)return[\"test\"];if(t.object)return[\"object\"];if(t.callee)return[\"callee\"];if(t.tag)return[\"tag\"];if(t.argument)return[\"argument\"];if(t.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(e){const t=e.getParentNode();return\"declaration\"===e.getName()&&At(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return\"+\"===e?\"+\"+t:\"-\"===e?\"-\"+t:t},hasDanglingComments:function(e){return e.comments&&e.comments.some((e=>!e.leading&&!e.trailing))},hasFlowAnnotationComment:function(e){return e&&Ct(e[0])&&dt.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&e.trailingComments&&Ct(e.trailingComments[0])&<.test(e.trailingComments[0].value)},hasLeadingComment:function(e){return e.comments&&e.comments.some((e=>e.leading))},hasLeadingOwnLineComment:Pt,hasNakedLeftSide:ft,hasNewlineBetweenOrAfterDecorators:function(e,t){return at(t.originalText,ct(e.decorators[0]),pt(rt(e.decorators)))||st(t.originalText,pt(rt(e.decorators)))},hasNgSideEffect:function(e){return Et(e.getValue(),(e=>{switch(e.type){case void 0:return!1;case\"CallExpression\":case\"OptionalCallExpression\":case\"AssignmentExpression\":return!0}}))},hasNode:Et,hasPrettierIgnore:function(e){return $t(e)||function(e){const t=e.getValue(),u=e.getParentNode();if(!(u&&t&&St(t)&&St(u)))return!1;let i=null;for(let e=u.children.indexOf(t);e>0;e--){const t=u.children[e-1];if(\"JSXText\"!==t.type||Lt(t)){i=t;break}}return i&&\"JSXExpressionContainer\"===i.type&&\"JSXEmptyExpression\"===i.expression.type&&i.expression.comments&&i.expression.comments.some((e=>Ht(e)))}(e)},hasTrailingComment:function(e){return e.comments&&e.comments.some((e=>e.trailing))},hasTrailingLineComment:function(e){return e.comments&&e.comments.some((e=>e.trailing&&!Ct(e)))},hasIgnoreComment:$t,hasNodeIgnoreComment:zt,identity:function(e){return e},isBinaryish:function(e){return Tt.has(e.type)},isBlockComment:Ct,isLineComment:function(e){return\"Line\"===e.type||\"CommentLine\"===e.type||\"SingleLine\"===e.type||\"HashbangComment\"===e.type||\"HTMLOpen\"===e.type||\"HTMLClose\"===e.type},isPrettierIgnoreComment:Ht,isCallOrOptionalCallExpression:kt,isEmptyJSXElement:function(e){if(0===e.children.length)return!0;if(e.children.length>1)return!1;const t=e.children[0];return Ft(t)&&!Lt(t)},isExportDeclaration:At,isFlowAnnotationComment:function(e,t){const u=ct(t),i=ot(e,pt(t));return!1!==i&&\"/*\"===e.slice(u,u+2)&&\"*/\"===e.slice(i,i+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const u of e)if(xt(u)){if(t+=1,t>1)return!0}else if(kt(u))for(const e of u.arguments)if(xt(e))return!0;return!1},isFunctionNotation:bt,isFunctionOrArrowExpression:xt,isGetterOrSetter:vt,isJestEachTemplateLiteral:function(e,t){const u=/^[fx]?(describe|it|test)$/;return\"TaggedTemplateExpression\"===t.type&&t.quasi===e&&\"MemberExpression\"===t.tag.type&&\"Identifier\"===t.tag.property.type&&\"each\"===t.tag.property.name&&(\"Identifier\"===t.tag.object.type&&u.test(t.tag.object.name)||\"MemberExpression\"===t.tag.object.type&&\"Identifier\"===t.tag.object.property.type&&(\"only\"===t.tag.object.property.name||\"skip\"===t.tag.object.property.name)&&\"Identifier\"===t.tag.object.object.type&&u.test(t.tag.object.object.name))},isJSXNode:St,isJSXWhitespaceExpression:function(e){return\"JSXExpressionContainer\"===e.type&&Ft(e.expression)&&\" \"===e.expression.value&&!e.expression.comments},isLastStatement:function(e){const t=e.getParentNode();if(!t)return!0;const u=e.getValue(),i=(t.body||t.consequent).filter((e=>\"EmptyStatement\"!==e.type));return i[i.length-1]===u},isLiteral:Ft,isLongCurriedCallExpression:function(e){const t=e.getValue(),u=e.getParentNode();return kt(t)&&kt(u)&&u.callee===t&&t.arguments.length>u.arguments.length&&u.arguments.length>0},isSimpleCallArgument:function e(t,u){if(u>=2)return!1;const i=t=>e(t,u+1),n=\"Literal\"===t.type&&\"regex\"in t&&t.regex.pattern||\"RegExpLiteral\"===t.type&&t.pattern;return!(n&&n.length>5)&&(\"Literal\"===t.type||\"BigIntLiteral\"===t.type||\"DecimalLiteral\"===t.type||\"BooleanLiteral\"===t.type||\"NullLiteral\"===t.type||\"NumericLiteral\"===t.type||\"RegExpLiteral\"===t.type||\"StringLiteral\"===t.type||\"Identifier\"===t.type||\"ThisExpression\"===t.type||\"Super\"===t.type||\"PrivateName\"===t.type||\"ArgumentPlaceholder\"===t.type||\"Import\"===t.type||(\"TemplateLiteral\"===t.type?t.expressions.every(i):\"ObjectExpression\"===t.type?t.properties.every((e=>!e.computed&&(e.shorthand||e.value&&i(e.value)))):\"ArrayExpression\"===t.type?t.elements.every((e=>null===e||i(e))):\"ImportExpression\"===t.type?i(t.source):\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type||\"NewExpression\"===t.type?e(t.callee,u)&&t.arguments.every(i):\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type?e(t.object,u)&&e(t.property,u):\"UnaryExpression\"!==t.type||\"!\"!==t.operator&&\"-\"!==t.operator?\"TSNonNullExpression\"===t.type&&e(t.expression,u):e(t.argument,u)))},isMeaningfulJSXText:Lt,isMemberExpressionChain:function e(t){return(\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type)&&(\"Identifier\"===t.object.type||e(t.object))},isMemberish:function(e){return\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type||\"BindExpression\"===e.type&&Boolean(e.object)},isNgForOf:function(e,t,u){return\"NGMicrosyntaxKeyedExpression\"===e.type&&\"of\"===e.key.name&&1===t&&\"NGMicrosyntaxLet\"===u.body[0].type&&null===u.body[0].value},isNumericLiteral:gt,isObjectType:function(e){return\"ObjectTypeAnnotation\"===e.type||\"TSTypeLiteral\"===e.type},isObjectTypePropertyAFunction:function(e){return!(\"ObjectTypeProperty\"!==e.type&&\"ObjectTypeInternalSlot\"!==e.type||\"FunctionTypeAnnotation\"!==e.value.type||e.static||bt(e))},isSimpleType:function(e){return!!e&&(!(\"GenericTypeAnnotation\"!==e.type&&\"TSTypeReference\"!==e.type||e.typeParameters)||!!_t.has(e.type))},isSimpleNumber:Ot,isSimpleTemplateLiteral:function(e){let t=\"expressions\";\"TSTemplateLiteralType\"===e.type&&(t=\"types\");const u=e[t];return 0!==u.length&&u.every((e=>{if(e.comments)return!1;if(\"Identifier\"===e.type||\"ThisExpression\"===e.type)return!0;if(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type){let t=e;for(;\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type;){if(\"Identifier\"!==t.property.type&&\"Literal\"!==t.property.type&&\"StringLiteral\"!==t.property.type&&\"NumericLiteral\"!==t.property.type)return!1;if(t=t.object,t.comments)return!1}return\"Identifier\"===t.type||\"ThisExpression\"===t.type}return!1}))},isStringLiteral:yt,isStringPropSafeToUnquote:function(e,t){return\"json\"!==t.parser&&yt(e.key)&&Mt(e.key).slice(1,-1)===e.key.value&&(nt(e.key.value)&&!((\"typescript\"===t.parser||\"babel-ts\"===t.parser)&&\"ClassProperty\"===e.type)||Ot(e.key.value)&&String(Number(e.key.value))===e.key.value&&(\"babel\"===t.parser||\"espree\"===t.parser||\"meriyah\"===t.parser))},isTemplateOnItsOwnLine:function(e,t){return(\"TemplateLiteral\"===e.type&&Rt(e)||\"TaggedTemplateExpression\"===e.type&&Rt(e.quasi))&&!st(t,ct(e),{backwards:!0})},isTestCall:function e(t,u){if(\"CallExpression\"!==t.type)return!1;if(1===t.arguments.length){if(Bt(t)&&u&&e(u))return xt(t.arguments[0]);if(\"Identifier\"===(i=t).callee.type&&/^(before|after)(Each|All)$/.test(i.callee.name)&&1===i.arguments.length)return Bt(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&(\"Identifier\"===t.callee.type&&wt.test(t.callee.name)||function(e){return(\"MemberExpression\"===e.callee.type||\"OptionalMemberExpression\"===e.callee.type)&&\"Identifier\"===e.callee.object.type&&\"Identifier\"===e.callee.property.type&&wt.test(e.callee.object.name)&&(\"only\"===e.callee.property.name||\"skip\"===e.callee.property.name)}(t))&&(function(e){return\"TemplateLiteral\"===e.type}(t.arguments[0])||yt(t.arguments[0])))return!(t.arguments[2]&&!gt(t.arguments[2]))&&((2===t.arguments.length?xt(t.arguments[1]):function(e){return\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type&&\"BlockStatement\"===e.body.type}(t.arguments[1])&&Wt(t.arguments[1]).length<=1)||Bt(t.arguments[1]));var i;return!1},isTheOnlyJSXElementInMarkdown:function(e,t){if(\"markdown\"!==e.parentParser&&\"mdx\"!==e.parentParser)return!1;const u=t.getNode();if(!u.expression||!St(u.expression))return!1;const i=t.getParentNode();return\"Program\"===i.type&&1===i.body.length},isTSXFile:function(e){return e.filepath&&/\\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!(\"TypeAnnotation\"!==e.type&&\"TSTypeAnnotation\"!==e.type||\"FunctionTypeAnnotation\"!==e.typeAnnotation.type||e.static||Dt(e,e.typeAnnotation))},matchJsxWhitespaceRegex:It,needsHardlineAfterDanglingComment:function(e){if(!e.comments)return!1;const t=rt(e.comments.filter((e=>!e.leading&&!e.trailing)));return t&&!Ct(t)},rawText:Mt,returnArgumentHasLeadingComment:function(e,t){if(Pt(e.originalText,t))return!0;if(ft(t)){let i,n=t;for(;i=(u=n).expressions?u.expressions[0]:u.left||u.test||u.callee||u.object||u.tag||u.argument||u.expression;)if(n=i,Pt(e.originalText,n))return!0}var u;return!1},shouldPrintComma:function(e,t=\"es5\"){return\"es5\"===e.trailingComma&&\"es5\"===t||\"all\"===e.trailingComma&&(\"all\"===t||\"es5\"===t)},isBitwiseOperator:function(e){return!!Ut[e]||\"|\"===e||\"^\"===e||\"&\"===e},shouldFlatten:function(e,t){return Gt(t)===Gt(e)&&(\"**\"!==e&&((!Vt[e]||!Vt[t])&&(!(\"%\"===t&&jt[e]||\"%\"===e&&jt[t])&&((t===e||!jt[t]||!jt[e])&&(!Ut[e]||!Ut[t])))))},startsWithNoLookaheadToken:function e(t,u){switch((t=function(e){for(;e.left;)e=e.left;return e}(t)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return u;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return e(t.object,u);case\"TaggedTemplateExpression\":return\"FunctionExpression\"!==t.tag.type&&e(t.tag,u);case\"CallExpression\":case\"OptionalCallExpression\":return\"FunctionExpression\"!==t.callee.type&&e(t.callee,u);case\"ConditionalExpression\":return e(t.test,u);case\"UpdateExpression\":return!t.prefix&&e(t.argument,u);case\"BindExpression\":return t.object&&e(t.object,u);case\"SequenceExpression\":return e(t.expressions[0],u);case\"TSAsExpression\":return e(t.expression,u);default:return!1}},getPrecedence:Gt};const{getLast:Qt,hasNewline:Yt,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Zt,getNextNonSpaceNonCommentCharacter:eu,hasNewlineInRange:tu,addLeadingComment:uu,addTrailingComment:iu,addDanglingComment:nu,getNextNonSpaceNonCommentCharacterIndex:ru}=Pe,{isBlockComment:su,getFunctionParameters:au,isPrettierIgnoreComment:ou,isJSXNode:cu,hasFlowShorthandAnnotationComment:pu,hasFlowAnnotationComment:Du,hasIgnoreComment:hu}=Kt,{locStart:lu,locEnd:du}=et;function Eu(e,t){const u=(e.body||e.properties).find((({type:e})=>\"EmptyStatement\"!==e));u?uu(u,t):nu(e,t)}function fu(e,t){\"BlockStatement\"===e.type?Eu(e,t):uu(e,t)}function Cu(e,t){const{precedingNode:u,enclosingNode:i,followingNode:n}=e;if(!i||\"IfStatement\"!==i.type||!n)return!1;return\")\"===eu(t,e,du)?(iu(u,e),!0):u===i.consequent&&n===i.alternate?(\"BlockStatement\"===u.type?iu(u,e):nu(i,e),!0):\"BlockStatement\"===n.type?(Eu(n,e),!0):\"IfStatement\"===n.type?(fu(n.consequent,e),!0):i.consequent===n&&(uu(n,e),!0)}function mu(e,t){const{precedingNode:u,enclosingNode:i,followingNode:n}=e;if(!i||\"WhileStatement\"!==i.type||!n)return!1;return\")\"===eu(t,e,du)?(iu(u,e),!0):\"BlockStatement\"===n.type?(Eu(n,e),!0):i.body===n&&(uu(n,e),!0)}function Au(e){const{precedingNode:t,enclosingNode:u,followingNode:i}=e;return!(!u||\"TryStatement\"!==u.type&&\"CatchClause\"!==u.type||!i)&&(\"CatchClause\"===u.type&&t?(iu(t,e),!0):\"BlockStatement\"===i.type?(Eu(i,e),!0):\"TryStatement\"===i.type?(fu(i.finalizer,e),!0):\"CatchClause\"===i.type&&(fu(i.body,e),!0))}function Fu(e){const{precedingNode:t,enclosingNode:u,followingNode:i}=e;if(u&&(\"ClassDeclaration\"===u.type||\"ClassExpression\"===u.type||\"DeclareClass\"===u.type||\"DeclareInterface\"===u.type||\"InterfaceDeclaration\"===u.type||\"TSInterfaceDeclaration\"===u.type)){if(u.decorators&&u.decorators.length>0&&(!i||\"Decorator\"!==i.type))return iu(u.decorators[u.decorators.length-1],e),!0;if(u.body&&i===u.body)return Eu(u.body,e),!0;if(i)for(const n of[\"implements\",\"extends\",\"mixins\"])if(u[n]&&i===u[n][0])return!t||t!==u.id&&t!==u.typeParameters&&t!==u.superClass?nu(u,e,n):iu(t,e),!0}return!1}function gu(e,t){const{precedingNode:u,enclosingNode:i}=e;return(i&&u&&(\"Property\"===i.type||\"TSDeclareMethod\"===i.type||\"TSAbstractMethodDefinition\"===i.type)&&\"Identifier\"===u.type&&i.key===u&&\":\"!==eu(t,u,du)||!(!u||!i||\"Decorator\"!==u.type||\"ClassMethod\"!==i.type&&\"ClassProperty\"!==i.type&&\"FieldDefinition\"!==i.type&&\"TSAbstractClassProperty\"!==i.type&&\"TSAbstractMethodDefinition\"!==i.type&&\"TSDeclareMethod\"!==i.type&&\"MethodDefinition\"!==i.type))&&(iu(u,e),!0)}function yu(e,t){const{precedingNode:u,enclosingNode:i,followingNode:n}=e;if(u&&\"FunctionTypeParam\"===u.type&&i&&\"FunctionTypeAnnotation\"===i.type&&n&&\"FunctionTypeParam\"!==n.type)return iu(u,e),!0;if(u&&(\"Identifier\"===u.type||\"AssignmentPattern\"===u.type)&&i&&bu(i)&&\")\"===eu(t,e,du))return iu(u,e),!0;if(i&&\"FunctionDeclaration\"===i.type&&n&&\"BlockStatement\"===n.type){const u=(()=>{const e=au(i);if(0!==e.length)return Zt(t,du(Qt(e)));const u=Zt(t,du(i.id));return!1!==u&&Zt(t,u+1)})();if(lu(e)>u)return Eu(n,e),!0}return!1}function xu(e){const{enclosingNode:t}=e;return!(!t||\"ImportSpecifier\"!==t.type)&&(uu(t,e),!0)}function Bu(e){const{enclosingNode:t}=e;return!(!t||\"LabeledStatement\"!==t.type)&&(uu(t,e),!0)}function Su(e,t,u){const{enclosingNode:i}=e;return t&&t.body&&0===t.body.length?(u?nu(t,e):uu(t,e),!0):!(!i||\"Program\"!==i.type||0!==i.body.length||!i.directives||0!==i.directives.length)&&(u?nu(i,e):uu(i,e),!0)}function vu(e){const{enclosingNode:t,followingNode:u}=e;if(ou(e)&&t&&\"TSMappedType\"===t.type&&u&&\"TSTypeParameter\"===u.type&&u.constraint)return t.prettierIgnore=!0,e.unignore=!0,!0}function bu(e){return\"ArrowFunctionExpression\"===e.type||\"FunctionExpression\"===e.type||\"FunctionDeclaration\"===e.type||\"ObjectMethod\"===e.type||\"ClassMethod\"===e.type||\"TSDeclareFunction\"===e.type||\"TSCallSignatureDeclaration\"===e.type||\"TSConstructSignatureDeclaration\"===e.type||\"TSMethodSignature\"===e.type||\"TSConstructorType\"===e.type||\"TSFunctionType\"===e.type||\"TSDeclareMethod\"===e.type}function Tu(e){return su(e)&&\"*\"===e.value[0]&&/@type\\b/.test(e.value)}var _u={handleOwnLineComment:function(e,t,u,i,n){return vu(e)||yu(e,t)||function(e){const{enclosingNode:t,followingNode:u}=e;if(t&&(\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type)&&u&&\"Identifier\"===u.type)return uu(t,e),!0;return!1}(e)||Cu(e,t)||mu(e,t)||Au(e)||Fu(e)||xu(e)||function(e){const{enclosingNode:t}=e;if(t&&(\"ForInStatement\"===t.type||\"ForOfStatement\"===t.type))return uu(t,e),!0;return!1}(e)||function(e){const{precedingNode:t,enclosingNode:u,followingNode:i}=e;if(u&&(\"UnionTypeAnnotation\"===u.type||\"TSUnionType\"===u.type))return ou(e)&&(i.prettierIgnore=!0,e.unignore=!0),!!t&&(iu(t,e),!0);i&&(\"UnionTypeAnnotation\"===i.type||\"TSUnionType\"===i.type)&&ou(e)&&(i.types[0].prettierIgnore=!0,e.unignore=!0);return!1}(e)||Su(e,i,n)||function(e,t){const{precedingNode:u,enclosingNode:i}=e;if(u&&\"ImportSpecifier\"===u.type&&i&&\"ImportDeclaration\"===i.type&&Yt(t,du(e)))return iu(u,e),!0;return!1}(e,t)||function(e){const{enclosingNode:t}=e;if(t&&\"AssignmentPattern\"===t.type)return uu(t,e),!0;return!1}(e)||gu(e,t)||Bu(e)},handleEndOfLineComment:function(e,t,u,i,n){return function(e){const{followingNode:t}=e;if(t&&Tu(e))return uu(t,e),!0;return!1}(e)||yu(e,t)||function(e,t){const{precedingNode:u,enclosingNode:i,followingNode:n}=e,r=u&&!tu(t,du(u),lu(e));if((!u||!r)&&i&&(\"ConditionalExpression\"===i.type||\"TSConditionalType\"===i.type)&&n)return uu(n,e),!0;return!1}(e,t)||xu(e)||Cu(e,t)||mu(e,t)||Au(e)||Fu(e)||Bu(e)||function(e){const{precedingNode:t,enclosingNode:u}=e;if(u&&(\"CallExpression\"===u.type||\"OptionalCallExpression\"===u.type)&&t&&u.callee===t&&u.arguments.length>0)return uu(u.arguments[0],e),!0;return!1}(e)||function(e){const{enclosingNode:t}=e;if(t&&(\"Property\"===t.type||\"ObjectProperty\"===t.type))return uu(t,e),!0;return!1}(e)||Su(e,i,n)||function(e){const{enclosingNode:t}=e;if(t&&\"TypeAlias\"===t.type)return uu(t,e),!0;return!1}(e)||function(e){const{enclosingNode:t,followingNode:u}=e;if(t&&(\"VariableDeclarator\"===t.type||\"AssignmentExpression\"===t.type)&&u&&(\"ObjectExpression\"===u.type||\"ArrayExpression\"===u.type||\"TemplateLiteral\"===u.type||\"TaggedTemplateExpression\"===u.type||su(e)))return uu(u,e),!0;return!1}(e)},handleRemainingComment:function(e,t,u,i,n){return!!(vu(e)||Cu(e,t)||mu(e,t)||function(e){const{precedingNode:t,enclosingNode:u}=e;if(u&&(\"ObjectProperty\"===u.type||\"Property\"===u.type)&&u.shorthand&&u.key===t&&\"AssignmentPattern\"===u.value.type)return iu(u.value.left,e),!0;return!1}(e)||function(e,t){if(\")\"!==eu(t,e,du))return!1;const{enclosingNode:u}=e;if(u&&(bu(u)&&0===au(u).length||(\"CallExpression\"===u.type||\"OptionalCallExpression\"===u.type||\"NewExpression\"===u.type)&&0===u.arguments.length))return nu(u,e),!0;if(u&&\"MethodDefinition\"===u.type&&0===au(u.value).length)return nu(u.value,e),!0;return!1}(e,t)||gu(e,t)||Su(e,i,n)||function(e,t){const{enclosingNode:u}=e;if(!u||\"ArrowFunctionExpression\"!==u.type)return!1;const i=ru(t,e,du);if(!1!==i&&\"=>\"===t.slice(i,i+2))return nu(u,e),!0;return!1}(e,t)||function(e,t){if(\"(\"!==eu(t,e,du))return!1;const{precedingNode:u,enclosingNode:i}=e;if(u&&i&&(\"FunctionDeclaration\"===i.type||\"FunctionExpression\"===i.type||\"ClassMethod\"===i.type||\"MethodDefinition\"===i.type||\"ObjectMethod\"===i.type))return iu(u,e),!0;return!1}(e,t)||function(e){const{precedingNode:t,enclosingNode:u,followingNode:i}=e;if(!u||\"TSMappedType\"!==u.type)return!1;if(i&&\"TSTypeParameter\"===i.type&&i.name)return uu(i.name,e),!0;if(t&&\"TSTypeParameter\"===t.type&&t.constraint)return iu(t.constraint,e),!0;return!1}(e)||function(e){const{enclosingNode:t}=e;if(t&&(\"ContinueStatement\"===t.type||\"BreakStatement\"===t.type)&&!t.label)return iu(t,e),!0;return!1}(e)||function(e,t){const{enclosingNode:u,followingNode:i}=e;if(!i&&u&&(\"TSMethodSignature\"===u.type||\"TSDeclareFunction\"===u.type||\"TSAbstractMethodDefinition\"===u.type)&&\";\"===eu(t,e,du))return iu(u,e),!0;return!1}(e,t))},hasLeadingComment:function(e,t=(()=>!0)){return e.leadingComments?e.leadingComments.some(t):!!e.comments&&e.comments.some((e=>e.leading&&t(e)))},isTypeCastComment:Tu,getGapRegex:function(e){if(e&&\"BinaryExpression\"!==e.type&&\"LogicalExpression\"!==e.type)return/^[\\s&(|]*$/},getCommentChildNodes:function(e,t){if((\"typescript\"===t.parser||\"flow\"===t.parser||\"espree\"===t.parser||\"meriyah\"===t.parser)&&\"MethodDefinition\"===e.type&&e.value&&\"FunctionExpression\"===e.value.type&&0===au(e.value).length&&!e.value.returnType&&(!e.value.typeParameters||0===e.value.typeParameters.length)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const t=e.getValue(),u=e.getParentNode();return(t&&(cu(t)||pu(t)||u&&(\"CallExpression\"===u.type||\"OptionalCallExpression\"===u.type)&&(Du(t.leadingComments)||Du(t.trailingComments)))||u&&(\"JSXSpreadAttribute\"===u.type||\"JSXSpreadChild\"===u.type||\"UnionTypeAnnotation\"===u.type||\"TSUnionType\"===u.type||(\"ClassDeclaration\"===u.type||\"ClassExpression\"===u.type)&&u.superClass===t))&&(!hu(e)||\"UnionTypeAnnotation\"===u.type||\"TSUnionType\"===u.type)}};const{getLast:wu,getNextNonSpaceNonCommentCharacter:ku,getShebang:Iu}=Pe,{composeLoc:Nu,locStart:Lu,locEnd:Pu}=et,{isTypeCastComment:Ou}=_u;function Ru(e){return\"CallExpression\"===e.type?(e.type=\"OptionalCallExpression\",e.callee=Ru(e.callee)):\"MemberExpression\"===e.type?(e.type=\"OptionalMemberExpression\",e.object=Ru(e.object)):\"TSNonNullExpression\"===e.type&&(e.expression=Ru(e.expression)),e}function Mu(e,t){let u;if(Array.isArray(e))u=e.entries();else{if(!e||\"object\"!=typeof e||\"string\"!=typeof e.type)return e;u=Object.entries(e)}for(const[i,n]of u)e[i]=Mu(n,t);return Array.isArray(e)?e:t(e)||e}function Vu(e){return\"LogicalExpression\"===e.type&&\"LogicalExpression\"===e.right.type&&e.operator===e.right.operator}function ju(e){return Vu(e)?ju({type:\"LogicalExpression\",operator:e.operator,left:ju({type:\"LogicalExpression\",operator:e.operator,left:e.left,right:e.right.left,range:Nu(e.left,e.right.left)}),right:e.right.right,range:Nu(e)}):e}var Uu=function(e,t){if(\"typescript\"!==t.parser&&\"flow\"!==t.parser&&\"espree\"!==t.parser||function(e,t){const u=Iu(t.originalText);u&&e.comments.unshift({type:\"Line\",value:u.slice(2),range:[0,u.length]})}(e,t),\"typescript\"===t.parser&&t.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:u,tsNodeToESTreeNodeMap:i}=t.tsParseResult;e=Mu(e,(e=>{const t=u.get(e);if(!t)return;const n=t.decorators;if(!Array.isArray(n))return;const r=i.get(t);if(r!==e)return;const s=r.decorators;if(!Array.isArray(s)||s.length!==n.length||n.some((e=>{const t=i.get(e);return!t||!s.includes(t)}))){const{start:e,end:t}=r.loc;throw Oe(\"Leading decorators must be attached to a class declaration\",{start:{line:e.line,column:e.column+1},end:{line:t.line,column:t.column+1}})}}))}if(\"typescript\"!==t.parser&&\"flow\"!==t.parser&&\"espree\"!==t.parser&&\"meriyah\"!==t.parser){const t=new Set;e=Mu(e,(e=>{e.leadingComments&&e.leadingComments.some(Ou)&&t.add(Lu(e))})),e=Mu(e,(e=>{if(\"ParenthesizedExpression\"===e.type){const{expression:u}=e;if(\"TypeCastExpression\"===u.type)return u.range=e.range,u;const i=Lu(e);if(!t.has(i))return u.extra=Object.assign({},u.extra,{parenthesized:!0}),u}}))}return e=Mu(e,(e=>{switch(e.type){case\"ChainExpression\":return Ru(e.expression);case\"LogicalExpression\":if(Vu(e))return ju(e);break;case\"VariableDeclaration\":{const u=wu(e.declarations);u&&u.init&&function(e,u){if(\";\"===t.originalText[Pu(u)])return;e.range=Nu(e,u)}(e,u);break}case\"TSParenthesizedType\":return e.typeAnnotation.range=Nu(e),e.typeAnnotation;case\"TSUnionType\":case\"TSIntersectionType\":if(1===e.types.length){const[t]=e.types;return t.range=Nu(e),t}break;case\"TSTypeParameter\":\"string\"==typeof e.name&&(e.name={type:\"Identifier\",name:e.name,range:Nu(e,e.name.length)});break;case\"SequenceExpression\":{const t=wu(e.expressions);Pu(e)>Pu(t)&&(e.range=Nu(e,t));break}case\"ClassProperty\":e.key&&\"TSPrivateIdentifier\"===e.key.type&&\"?\"===ku(t.originalText,e.key,Pu)&&(e.optional=!0)}}))},Xu={3:\"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile\",5:\"class enum extends super const export import\",6:\"enum\",strict:\"implements interface let package private protected public static yield\",strictBind:\"eval arguments\"},Gu=\"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this\",qu={5:Gu,\"5module\":Gu+\" export import\",6:Gu+\" const class extends export import super\"},Wu=/^in(stanceof)?$/,Ju=\"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u08a0-\\u08b4\\u08b6-\\u08c7\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\u9ffc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7bf\\ua7c2-\\ua7ca\\ua7f5-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\",Hu=\"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08d3-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf\\u1ac0\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1df9\\u1dfb-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\",zu=new RegExp(\"[\"+Ju+\"]\"),$u=new RegExp(\"[\"+Ju+Hu+\"]\");Ju=Hu=null;var Ku=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],Qu=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function Yu(e,t){for(var u=65536,i=0;ie)return!1;if((u+=t[i+1])>=e)return!0}}function Zu(e,t){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&zu.test(String.fromCharCode(e)):!1!==t&&Yu(e,Ku)))}function ei(e,t){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&$u.test(String.fromCharCode(e)):!1!==t&&(Yu(e,Ku)||Yu(e,Qu)))))}var ti=function(e,t){void 0===t&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function ui(e,t){return new ti(e,{beforeExpr:!0,binop:t})}var ii={beforeExpr:!0},ni={startsExpr:!0},ri={};function si(e,t){return void 0===t&&(t={}),t.keyword=e,ri[e]=new ti(e,t)}var ai={num:new ti(\"num\",ni),regexp:new ti(\"regexp\",ni),string:new ti(\"string\",ni),name:new ti(\"name\",ni),eof:new ti(\"eof\"),bracketL:new ti(\"[\",{beforeExpr:!0,startsExpr:!0}),bracketR:new ti(\"]\"),braceL:new ti(\"{\",{beforeExpr:!0,startsExpr:!0}),braceR:new ti(\"}\"),parenL:new ti(\"(\",{beforeExpr:!0,startsExpr:!0}),parenR:new ti(\")\"),comma:new ti(\",\",ii),semi:new ti(\";\",ii),colon:new ti(\":\",ii),dot:new ti(\".\"),question:new ti(\"?\",ii),questionDot:new ti(\"?.\"),arrow:new ti(\"=>\",ii),template:new ti(\"template\"),invalidTemplate:new ti(\"invalidTemplate\"),ellipsis:new ti(\"...\",ii),backQuote:new ti(\"`\",ni),dollarBraceL:new ti(\"${\",{beforeExpr:!0,startsExpr:!0}),eq:new ti(\"=\",{beforeExpr:!0,isAssign:!0}),assign:new ti(\"_=\",{beforeExpr:!0,isAssign:!0}),incDec:new ti(\"++/--\",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new ti(\"!/~\",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:ui(\"||\",1),logicalAND:ui(\"&&\",2),bitwiseOR:ui(\"|\",3),bitwiseXOR:ui(\"^\",4),bitwiseAND:ui(\"&\",5),equality:ui(\"==/!=/===/!==\",6),relational:ui(\"/<=/>=\",7),bitShift:ui(\"<>/>>>\",8),plusMin:new ti(\"+/-\",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:ui(\"%\",10),star:ui(\"*\",10),slash:ui(\"/\",10),starstar:new ti(\"**\",{beforeExpr:!0}),coalesce:ui(\"??\",1),_break:si(\"break\"),_case:si(\"case\",ii),_catch:si(\"catch\"),_continue:si(\"continue\"),_debugger:si(\"debugger\"),_default:si(\"default\",ii),_do:si(\"do\",{isLoop:!0,beforeExpr:!0}),_else:si(\"else\",ii),_finally:si(\"finally\"),_for:si(\"for\",{isLoop:!0}),_function:si(\"function\",ni),_if:si(\"if\"),_return:si(\"return\",ii),_switch:si(\"switch\"),_throw:si(\"throw\",ii),_try:si(\"try\"),_var:si(\"var\"),_const:si(\"const\"),_while:si(\"while\",{isLoop:!0}),_with:si(\"with\"),_new:si(\"new\",{beforeExpr:!0,startsExpr:!0}),_this:si(\"this\",ni),_super:si(\"super\",ni),_class:si(\"class\",ni),_extends:si(\"extends\",ii),_export:si(\"export\"),_import:si(\"import\",ni),_null:si(\"null\",ni),_true:si(\"true\",ni),_false:si(\"false\",ni),_in:si(\"in\",{beforeExpr:!0,binop:7}),_instanceof:si(\"instanceof\",{beforeExpr:!0,binop:7}),_typeof:si(\"typeof\",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:si(\"void\",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:si(\"delete\",{beforeExpr:!0,prefix:!0,startsExpr:!0})},oi=/\\r\\n?|\\n|\\u2028|\\u2029/,ci=new RegExp(oi.source,\"g\");function pi(e,t){return 10===e||13===e||!t&&(8232===e||8233===e)}var Di=/[\\u1680\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/,hi=/(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g,li=Object.prototype,di=li.hasOwnProperty,Ei=li.toString;function fi(e,t){return di.call(e,t)}var Ci=Array.isArray||function(e){return\"[object Array]\"===Ei.call(e)};function mi(e){return new RegExp(\"^(?:\"+e.replace(/ /g,\"|\")+\")$\")}var Ai=function(e,t){this.line=e,this.column=t};Ai.prototype.offset=function(e){return new Ai(this.line,this.column+e)};var Fi=function(e,t,u){this.start=t,this.end=u,null!==e.sourceFile&&(this.source=e.sourceFile)};function gi(e,t){for(var u=1,i=0;;){ci.lastIndex=i;var n=ci.exec(e);if(!(n&&n.index=2015&&(t.ecmaVersion-=2009),null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),Ci(t.onToken)){var i=t.onToken;t.onToken=function(e){return i.push(e)}}return Ci(t.onComment)&&(t.onComment=function(e,t){return function(u,i,n,r,s,a){var o={type:u?\"Block\":\"Line\",value:i,start:n,end:r};e.locations&&(o.loc=new Fi(this,s,a)),e.ranges&&(o.range=[n,r]),t.push(o)}}(t,t.onComment)),t}function Bi(e,t){return 2|(e?4:0)|(t?8:0)}var Si=function(e,t,u){this.options=e=xi(e),this.sourceFile=e.sourceFile,this.keywords=mi(qu[e.ecmaVersion>=6?6:\"module\"===e.sourceType?\"5module\":5]);var i=\"\";if(!0!==e.allowReserved){for(var n=e.ecmaVersion;!(i=Xu[n]);n--);\"module\"===e.sourceType&&(i+=\" await\")}this.reservedWords=mi(i);var r=(i?i+\" \":\"\")+Xu.strict;this.reservedWordsStrict=mi(r),this.reservedWordsStrictBind=mi(r+\" \"+Xu.strictBind),this.input=String(t),this.containsEsc=!1,u?(this.pos=u,this.lineStart=this.input.lastIndexOf(\"\\n\",u-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(oi).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=ai.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=\"module\"===e.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports={},0===this.pos&&e.allowHashBang&&\"#!\"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null},vi={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0}};Si.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)},vi.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},vi.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},vi.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},vi.allowSuper.get=function(){return(64&this.currentThisScope().flags)>0},vi.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},vi.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},Si.prototype.inNonArrowFunction=function(){return(2&this.currentThisScope().flags)>0},Si.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var u=this,i=0;i=,?^&]/.test(n)||\"!\"===n&&\"=\"===this.input.charAt(i+1))}e+=t[0].length,hi.lastIndex=e,e+=hi.exec(this.input)[0].length,\";\"===this.input[e]&&e++}},bi.eat=function(e){return this.type===e&&(this.next(),!0)},bi.isContextual=function(e){return this.type===ai.name&&this.value===e&&!this.containsEsc},bi.eatContextual=function(e){return!!this.isContextual(e)&&(this.next(),!0)},bi.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},bi.canInsertSemicolon=function(){return this.type===ai.eof||this.type===ai.braceR||oi.test(this.input.slice(this.lastTokEnd,this.start))},bi.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},bi.semicolon=function(){this.eat(ai.semi)||this.insertSemicolon()||this.unexpected()},bi.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},bi.expect=function(e){this.eat(e)||this.unexpected()},bi.unexpected=function(e){this.raise(null!=e?e:this.start,\"Unexpected token\")},bi.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,\"Comma is not permitted after the rest element\");var u=t?e.parenthesizedAssign:e.parenthesizedBind;u>-1&&this.raiseRecoverable(u,\"Parenthesized pattern\")}},bi.checkExpressionErrors=function(e,t){if(!e)return!1;var u=e.shorthandAssign,i=e.doubleProto;if(!t)return u>=0||i>=0;u>=0&&this.raise(u,\"Shorthand property assignments are valid only in destructuring patterns\"),i>=0&&this.raiseRecoverable(i,\"Redefinition of __proto__ property\")},bi.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos=6&&this.unexpected(),this.parseFunctionStatement(r,!1,!e);case ai._class:return e&&this.unexpected(),this.parseClass(r,!0);case ai._if:return this.parseIfStatement(r);case ai._return:return this.parseReturnStatement(r);case ai._switch:return this.parseSwitchStatement(r);case ai._throw:return this.parseThrowStatement(r);case ai._try:return this.parseTryStatement(r);case ai._const:case ai._var:return i=i||this.value,e&&\"var\"!==i&&this.unexpected(),this.parseVarStatement(r,i);case ai._while:return this.parseWhileStatement(r);case ai._with:return this.parseWithStatement(r);case ai.braceL:return this.parseBlock(!0,r);case ai.semi:return this.parseEmptyStatement(r);case ai._export:case ai._import:if(this.options.ecmaVersion>10&&n===ai._import){hi.lastIndex=this.pos;var s=hi.exec(this.input),a=this.pos+s[0].length,o=this.input.charCodeAt(a);if(40===o||46===o)return this.parseExpressionStatement(r,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,\"'import' and 'export' may only appear at the top level\"),this.inModule||this.raise(this.start,\"'import' and 'export' may appear only with 'sourceType: module'\")),n===ai._import?this.parseImport(r):this.parseExport(r,u);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(r,!0,!e);var c=this.value,p=this.parseExpression();return n===ai.name&&\"Identifier\"===p.type&&this.eat(ai.colon)?this.parseLabeledStatement(r,c,p,e):this.parseExpressionStatement(r,p)}},wi.parseBreakContinueStatement=function(e,t){var u=\"break\"===t;this.next(),this.eat(ai.semi)||this.insertSemicolon()?e.label=null:this.type!==ai.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var i=0;i=6?this.eat(ai.semi):this.semicolon(),this.finishNode(e,\"DoWhileStatement\")},wi.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual(\"await\")?this.lastTokStart:-1;if(this.labels.push(ki),this.enterScope(0),this.expect(ai.parenL),this.type===ai.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var u=this.isLet();if(this.type===ai._var||this.type===ai._const||u){var i=this.startNode(),n=u?\"let\":this.value;return this.next(),this.parseVar(i,!0,n),this.finishNode(i,\"VariableDeclaration\"),(this.type===ai._in||this.options.ecmaVersion>=6&&this.isContextual(\"of\"))&&1===i.declarations.length?(this.options.ecmaVersion>=9&&(this.type===ai._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,i)):(t>-1&&this.unexpected(t),this.parseFor(e,i))}var r=new _i,s=this.parseExpression(!0,r);return this.type===ai._in||this.options.ecmaVersion>=6&&this.isContextual(\"of\")?(this.options.ecmaVersion>=9&&(this.type===ai._in?t>-1&&this.unexpected(t):e.await=t>-1),this.toAssignable(s,!1,r),this.checkLVal(s),this.parseForIn(e,s)):(this.checkExpressionErrors(r,!0),t>-1&&this.unexpected(t),this.parseFor(e,s))},wi.parseFunctionStatement=function(e,t,u){return this.next(),this.parseFunction(e,Li|(u?0:Pi),!1,t)},wi.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement(\"if\"),e.alternate=this.eat(ai._else)?this.parseStatement(\"if\"):null,this.finishNode(e,\"IfStatement\")},wi.parseReturnStatement=function(e){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,\"'return' outside of function\"),this.next(),this.eat(ai.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,\"ReturnStatement\")},wi.parseSwitchStatement=function(e){var t;this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(ai.braceL),this.labels.push(Ii),this.enterScope(0);for(var u=!1;this.type!==ai.braceR;)if(this.type===ai._case||this.type===ai._default){var i=this.type===ai._case;t&&this.finishNode(t,\"SwitchCase\"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),i?t.test=this.parseExpression():(u&&this.raiseRecoverable(this.lastTokStart,\"Multiple default clauses\"),u=!0,t.test=null),this.expect(ai.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,\"SwitchCase\"),this.next(),this.labels.pop(),this.finishNode(e,\"SwitchStatement\")},wi.parseThrowStatement=function(e){return this.next(),oi.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,\"Illegal newline after throw\"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,\"ThrowStatement\")};var Ni=[];wi.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===ai._catch){var t=this.startNode();if(this.next(),this.eat(ai.parenL)){t.param=this.parseBindingAtom();var u=\"Identifier\"===t.param.type;this.enterScope(u?32:0),this.checkLVal(t.param,u?4:2),this.expect(ai.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,\"CatchClause\")}return e.finalizer=this.eat(ai._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,\"Missing catch or finally clause\"),this.finishNode(e,\"TryStatement\")},wi.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,\"VariableDeclaration\")},wi.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(ki),e.body=this.parseStatement(\"while\"),this.labels.pop(),this.finishNode(e,\"WhileStatement\")},wi.parseWithStatement=function(e){return this.strict&&this.raise(this.start,\"'with' in strict mode\"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement(\"with\"),this.finishNode(e,\"WithStatement\")},wi.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,\"EmptyStatement\")},wi.parseLabeledStatement=function(e,t,u,i){for(var n=0,r=this.labels;n=0;a--){var o=this.labels[a];if(o.statementStart!==e.start)break;o.statementStart=this.start,o.kind=s}return this.labels.push({name:t,kind:s,statementStart:this.start}),e.body=this.parseStatement(i?-1===i.indexOf(\"label\")?i+\"label\":i:\"label\"),this.labels.pop(),e.label=u,this.finishNode(e,\"LabeledStatement\")},wi.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,\"ExpressionStatement\")},wi.parseBlock=function(e,t,u){for(void 0===e&&(e=!0),void 0===t&&(t=this.startNode()),t.body=[],this.expect(ai.braceL),e&&this.enterScope(0);this.type!==ai.braceR;){var i=this.parseStatement(null);t.body.push(i)}return u&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,\"BlockStatement\")},wi.parseFor=function(e,t){return e.init=t,this.expect(ai.semi),e.test=this.type===ai.semi?null:this.parseExpression(),this.expect(ai.semi),e.update=this.type===ai.parenR?null:this.parseExpression(),this.expect(ai.parenR),e.body=this.parseStatement(\"for\"),this.exitScope(),this.labels.pop(),this.finishNode(e,\"ForStatement\")},wi.parseForIn=function(e,t){var u=this.type===ai._in;return this.next(),\"VariableDeclaration\"===t.type&&null!=t.declarations[0].init&&(!u||this.options.ecmaVersion<8||this.strict||\"var\"!==t.kind||\"Identifier\"!==t.declarations[0].id.type)?this.raise(t.start,(u?\"for-in\":\"for-of\")+\" loop variable declaration may not have an initializer\"):\"AssignmentPattern\"===t.type&&this.raise(t.start,\"Invalid left-hand side in for-loop\"),e.left=t,e.right=u?this.parseExpression():this.parseMaybeAssign(),this.expect(ai.parenR),e.body=this.parseStatement(\"for\"),this.exitScope(),this.labels.pop(),this.finishNode(e,u?\"ForInStatement\":\"ForOfStatement\")},wi.parseVar=function(e,t,u){for(e.declarations=[],e.kind=u;;){var i=this.startNode();if(this.parseVarId(i,u),this.eat(ai.eq)?i.init=this.parseMaybeAssign(t):\"const\"!==u||this.type===ai._in||this.options.ecmaVersion>=6&&this.isContextual(\"of\")?\"Identifier\"===i.id.type||t&&(this.type===ai._in||this.isContextual(\"of\"))?i.init=null:this.raise(this.lastTokEnd,\"Complex binding patterns require an initialization value\"):this.unexpected(),e.declarations.push(this.finishNode(i,\"VariableDeclarator\")),!this.eat(ai.comma))break}return e},wi.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,\"var\"===t?1:2,!1)};var Li=1,Pi=2;wi.parseFunction=function(e,t,u,i){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===ai.star&&t&Pi&&this.unexpected(),e.generator=this.eat(ai.star)),this.options.ecmaVersion>=8&&(e.async=!!i),t&Li&&(e.id=4&t&&this.type!==ai.name?null:this.parseIdent(),!e.id||t&Pi||this.checkLVal(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?1:2:3));var n=this.yieldPos,r=this.awaitPos,s=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(Bi(e.async,e.generator)),t&Li||(e.id=this.type===ai.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,u,!1),this.yieldPos=n,this.awaitPos=r,this.awaitIdentPos=s,this.finishNode(e,t&Li?\"FunctionDeclaration\":\"FunctionExpression\")},wi.parseFunctionParams=function(e){this.expect(ai.parenL),e.params=this.parseBindingList(ai.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},wi.parseClass=function(e,t){this.next();var u=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var i=this.startNode(),n=!1;for(i.body=[],this.expect(ai.braceL);this.type!==ai.braceR;){var r=this.parseClassElement(null!==e.superClass);r&&(i.body.push(r),\"MethodDefinition\"===r.type&&\"constructor\"===r.kind&&(n&&this.raise(r.start,\"Duplicate constructor in the same class\"),n=!0))}return this.strict=u,this.next(),e.body=this.finishNode(i,\"ClassBody\"),this.finishNode(e,t?\"ClassDeclaration\":\"ClassExpression\")},wi.parseClassElement=function(e){var t=this;if(this.eat(ai.semi))return null;var u=this.startNode(),i=function(e,i){void 0===i&&(i=!1);var n=t.start,r=t.startLoc;return!!t.eatContextual(e)&&(!(t.type===ai.parenL||i&&t.canInsertSemicolon())||(u.key&&t.unexpected(),u.computed=!1,u.key=t.startNodeAt(n,r),u.key.name=e,t.finishNode(u.key,\"Identifier\"),!1))};u.kind=\"method\",u.static=i(\"static\");var n=this.eat(ai.star),r=!1;n||(this.options.ecmaVersion>=8&&i(\"async\",!0)?(r=!0,n=this.options.ecmaVersion>=9&&this.eat(ai.star)):i(\"get\")?u.kind=\"get\":i(\"set\")&&(u.kind=\"set\")),u.key||this.parsePropertyName(u);var s=u.key,a=!1;return u.computed||u.static||!(\"Identifier\"===s.type&&\"constructor\"===s.name||\"Literal\"===s.type&&\"constructor\"===s.value)?u.static&&\"Identifier\"===s.type&&\"prototype\"===s.name&&this.raise(s.start,\"Classes may not have a static property named prototype\"):(\"method\"!==u.kind&&this.raise(s.start,\"Constructor can't have get/set modifier\"),n&&this.raise(s.start,\"Constructor can't be a generator\"),r&&this.raise(s.start,\"Constructor can't be an async method\"),u.kind=\"constructor\",a=e),this.parseClassMethod(u,n,r,a),\"get\"===u.kind&&0!==u.value.params.length&&this.raiseRecoverable(u.value.start,\"getter should have no params\"),\"set\"===u.kind&&1!==u.value.params.length&&this.raiseRecoverable(u.value.start,\"setter should have exactly one param\"),\"set\"===u.kind&&\"RestElement\"===u.value.params[0].type&&this.raiseRecoverable(u.value.params[0].start,\"Setter cannot use rest params\"),u},wi.parseClassMethod=function(e,t,u,i){return e.value=this.parseMethod(t,u,i),this.finishNode(e,\"MethodDefinition\")},wi.parseClassId=function(e,t){this.type===ai.name?(e.id=this.parseIdent(),t&&this.checkLVal(e.id,2,!1)):(!0===t&&this.unexpected(),e.id=null)},wi.parseClassSuper=function(e){e.superClass=this.eat(ai._extends)?this.parseExprSubscripts():null},wi.parseExport=function(e,t){if(this.next(),this.eat(ai.star))return this.options.ecmaVersion>=11&&(this.eatContextual(\"as\")?(e.exported=this.parseIdent(!0),this.checkExport(t,e.exported.name,this.lastTokStart)):e.exported=null),this.expectContextual(\"from\"),this.type!==ai.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,\"ExportAllDeclaration\");if(this.eat(ai._default)){var u;if(this.checkExport(t,\"default\",this.lastTokStart),this.type===ai._function||(u=this.isAsyncFunction())){var i=this.startNode();this.next(),u&&this.next(),e.declaration=this.parseFunction(i,4|Li,!1,u)}else if(this.type===ai._class){var n=this.startNode();e.declaration=this.parseClass(n,\"nullableID\")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,\"ExportDefaultDeclaration\")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),\"VariableDeclaration\"===e.declaration.type?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id.name,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual(\"from\"))this.type!==ai.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var r=0,s=e.specifiers;r=6&&e)switch(e.type){case\"Identifier\":this.inAsync&&\"await\"===e.name&&this.raise(e.start,\"Cannot use 'await' as identifier inside an async function\");break;case\"ObjectPattern\":case\"ArrayPattern\":case\"RestElement\":break;case\"ObjectExpression\":e.type=\"ObjectPattern\",u&&this.checkPatternErrors(u,!0);for(var i=0,n=e.properties;i=8&&!r&&\"async\"===s.name&&!this.canInsertSemicolon()&&this.eat(ai._function))return this.parseFunction(this.startNodeAt(i,n),0,!1,!0);if(u&&!this.canInsertSemicolon()){if(this.eat(ai.arrow))return this.parseArrowExpression(this.startNodeAt(i,n),[s],!1);if(this.options.ecmaVersion>=8&&\"async\"===s.name&&this.type===ai.name&&!r)return s=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(ai.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(i,n),[s],!0)}return s;case ai.regexp:var a=this.value;return(t=this.parseLiteral(a.value)).regex={pattern:a.pattern,flags:a.flags},t;case ai.num:case ai.string:return this.parseLiteral(this.value);case ai._null:case ai._true:case ai._false:return(t=this.startNode()).value=this.type===ai._null?null:this.type===ai._true,t.raw=this.type.keyword,this.next(),this.finishNode(t,\"Literal\");case ai.parenL:var o=this.start,c=this.parseParenAndDistinguishExpression(u);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(c)&&(e.parenthesizedAssign=o),e.parenthesizedBind<0&&(e.parenthesizedBind=o)),c;case ai.bracketL:return t=this.startNode(),this.next(),t.elements=this.parseExprList(ai.bracketR,!0,!0,e),this.finishNode(t,\"ArrayExpression\");case ai.braceL:return this.parseObj(!1,e);case ai._function:return t=this.startNode(),this.next(),this.parseFunction(t,0);case ai._class:return this.parseClass(this.startNode(),!1);case ai._new:return this.parseNew();case ai.backQuote:return this.parseTemplate();case ai._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},Ri.parseExprImport=function(){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,\"Escape sequence in keyword import\");var t=this.parseIdent(!0);switch(this.type){case ai.parenL:return this.parseDynamicImport(e);case ai.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}},Ri.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(ai.parenR)){var t=this.start;this.eat(ai.comma)&&this.eat(ai.parenR)?this.raiseRecoverable(t,\"Trailing comma is not allowed in import()\"):this.unexpected(t)}return this.finishNode(e,\"ImportExpression\")},Ri.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),\"meta\"!==e.property.name&&this.raiseRecoverable(e.property.start,\"The only valid meta property for import is 'import.meta'\"),t&&this.raiseRecoverable(e.start,\"'import.meta' must not contain escaped characters\"),\"module\"!==this.options.sourceType&&this.raiseRecoverable(e.start,\"Cannot use 'import.meta' outside a module\"),this.finishNode(e,\"MetaProperty\")},Ri.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),110===t.raw.charCodeAt(t.raw.length-1)&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,\"\")),this.next(),this.finishNode(t,\"Literal\")},Ri.parseParenExpression=function(){this.expect(ai.parenL);var e=this.parseExpression();return this.expect(ai.parenR),e},Ri.parseParenAndDistinguishExpression=function(e){var t,u=this.start,i=this.startLoc,n=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var r,s=this.start,a=this.startLoc,o=[],c=!0,p=!1,D=new _i,h=this.yieldPos,l=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==ai.parenR;){if(c?c=!1:this.expect(ai.comma),n&&this.afterTrailingComma(ai.parenR,!0)){p=!0;break}if(this.type===ai.ellipsis){r=this.start,o.push(this.parseParenItem(this.parseRestBinding())),this.type===ai.comma&&this.raise(this.start,\"Comma is not permitted after the rest element\");break}o.push(this.parseMaybeAssign(!1,D,this.parseParenItem))}var d=this.start,E=this.startLoc;if(this.expect(ai.parenR),e&&!this.canInsertSemicolon()&&this.eat(ai.arrow))return this.checkPatternErrors(D,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=h,this.awaitPos=l,this.parseParenArrowList(u,i,o);o.length&&!p||this.unexpected(this.lastTokStart),r&&this.unexpected(r),this.checkExpressionErrors(D,!0),this.yieldPos=h||this.yieldPos,this.awaitPos=l||this.awaitPos,o.length>1?((t=this.startNodeAt(s,a)).expressions=o,this.finishNodeAt(t,\"SequenceExpression\",d,E)):t=o[0]}else t=this.parseParenExpression();if(this.options.preserveParens){var f=this.startNodeAt(u,i);return f.expression=t,this.finishNode(f,\"ParenthesizedExpression\")}return t},Ri.parseParenItem=function(e){return e},Ri.parseParenArrowList=function(e,t,u){return this.parseArrowExpression(this.startNodeAt(e,t),u)};var Mi=[];Ri.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,\"Escape sequence in keyword new\");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(ai.dot)){e.meta=t;var u=this.containsEsc;return e.property=this.parseIdent(!0),\"target\"!==e.property.name&&this.raiseRecoverable(e.property.start,\"The only valid meta property for new is 'new.target'\"),u&&this.raiseRecoverable(e.start,\"'new.target' must not contain escaped characters\"),this.inNonArrowFunction()||this.raiseRecoverable(e.start,\"'new.target' can only be used in functions\"),this.finishNode(e,\"MetaProperty\")}var i=this.start,n=this.startLoc,r=this.type===ai._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),i,n,!0),r&&\"ImportExpression\"===e.callee.type&&this.raise(i,\"Cannot use new with import()\"),this.eat(ai.parenL)?e.arguments=this.parseExprList(ai.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Mi,this.finishNode(e,\"NewExpression\")},Ri.parseTemplateElement=function(e){var t=e.isTagged,u=this.startNode();return this.type===ai.invalidTemplate?(t||this.raiseRecoverable(this.start,\"Bad escape sequence in untagged template literal\"),u.value={raw:this.value,cooked:null}):u.value={raw:this.input.slice(this.start,this.end).replace(/\\r\\n?/g,\"\\n\"),cooked:this.value},this.next(),u.tail=this.type===ai.backQuote,this.finishNode(u,\"TemplateElement\")},Ri.parseTemplate=function(e){void 0===e&&(e={});var t=e.isTagged;void 0===t&&(t=!1);var u=this.startNode();this.next(),u.expressions=[];var i=this.parseTemplateElement({isTagged:t});for(u.quasis=[i];!i.tail;)this.type===ai.eof&&this.raise(this.pos,\"Unterminated template literal\"),this.expect(ai.dollarBraceL),u.expressions.push(this.parseExpression()),this.expect(ai.braceR),u.quasis.push(i=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(u,\"TemplateLiteral\")},Ri.isAsyncProp=function(e){return!e.computed&&\"Identifier\"===e.key.type&&\"async\"===e.key.name&&(this.type===ai.name||this.type===ai.num||this.type===ai.string||this.type===ai.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===ai.star)&&!oi.test(this.input.slice(this.lastTokEnd,this.start))},Ri.parseObj=function(e,t){var u=this.startNode(),i=!0,n={};for(u.properties=[],this.next();!this.eat(ai.braceR);){if(i)i=!1;else if(this.expect(ai.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(ai.braceR))break;var r=this.parseProperty(e,t);e||this.checkPropClash(r,n,t),u.properties.push(r)}return this.finishNode(u,e?\"ObjectPattern\":\"ObjectExpression\")},Ri.parseProperty=function(e,t){var u,i,n,r,s=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(ai.ellipsis))return e?(s.argument=this.parseIdent(!1),this.type===ai.comma&&this.raise(this.start,\"Comma is not permitted after the rest element\"),this.finishNode(s,\"RestElement\")):(this.type===ai.parenL&&t&&(t.parenthesizedAssign<0&&(t.parenthesizedAssign=this.start),t.parenthesizedBind<0&&(t.parenthesizedBind=this.start)),s.argument=this.parseMaybeAssign(!1,t),this.type===ai.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(s,\"SpreadElement\"));this.options.ecmaVersion>=6&&(s.method=!1,s.shorthand=!1,(e||t)&&(n=this.start,r=this.startLoc),e||(u=this.eat(ai.star)));var a=this.containsEsc;return this.parsePropertyName(s),!e&&!a&&this.options.ecmaVersion>=8&&!u&&this.isAsyncProp(s)?(i=!0,u=this.options.ecmaVersion>=9&&this.eat(ai.star),this.parsePropertyName(s,t)):i=!1,this.parsePropertyValue(s,e,u,i,n,r,t,a),this.finishNode(s,\"Property\")},Ri.parsePropertyValue=function(e,t,u,i,n,r,s,a){if((u||i)&&this.type===ai.colon&&this.unexpected(),this.eat(ai.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,s),e.kind=\"init\";else if(this.options.ecmaVersion>=6&&this.type===ai.parenL)t&&this.unexpected(),e.kind=\"init\",e.method=!0,e.value=this.parseMethod(u,i);else if(t||a||!(this.options.ecmaVersion>=5)||e.computed||\"Identifier\"!==e.key.type||\"get\"!==e.key.name&&\"set\"!==e.key.name||this.type===ai.comma||this.type===ai.braceR||this.type===ai.eq)this.options.ecmaVersion>=6&&!e.computed&&\"Identifier\"===e.key.type?((u||i)&&this.unexpected(),this.checkUnreserved(e.key),\"await\"!==e.key.name||this.awaitIdentPos||(this.awaitIdentPos=n),e.kind=\"init\",t?e.value=this.parseMaybeDefault(n,r,e.key):this.type===ai.eq&&s?(s.shorthandAssign<0&&(s.shorthandAssign=this.start),e.value=this.parseMaybeDefault(n,r,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected();else{(u||i)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var o=\"get\"===e.kind?0:1;if(e.value.params.length!==o){var c=e.value.start;\"get\"===e.kind?this.raiseRecoverable(c,\"getter should have no params\"):this.raiseRecoverable(c,\"setter should have exactly one param\")}else\"set\"===e.kind&&\"RestElement\"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,\"Setter cannot use rest params\")}},Ri.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(ai.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(ai.bracketR),e.key;e.computed=!1}return e.key=this.type===ai.num||this.type===ai.string?this.parseExprAtom():this.parseIdent(\"never\"!==this.options.allowReserved)},Ri.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},Ri.parseMethod=function(e,t,u){var i=this.startNode(),n=this.yieldPos,r=this.awaitPos,s=this.awaitIdentPos;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=e),this.options.ecmaVersion>=8&&(i.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|Bi(t,i.generator)|(u?128:0)),this.expect(ai.parenL),i.params=this.parseBindingList(ai.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1,!0),this.yieldPos=n,this.awaitPos=r,this.awaitIdentPos=s,this.finishNode(i,\"FunctionExpression\")},Ri.parseArrowExpression=function(e,t,u){var i=this.yieldPos,n=this.awaitPos,r=this.awaitIdentPos;return this.enterScope(16|Bi(u,!1)),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!u),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1),this.yieldPos=i,this.awaitPos=n,this.awaitIdentPos=r,this.finishNode(e,\"ArrowFunctionExpression\")},Ri.parseFunctionBody=function(e,t,u){var i=t&&this.type!==ai.braceL,n=this.strict,r=!1;if(i)e.body=this.parseMaybeAssign(),e.expression=!0,this.checkParams(e,!1);else{var s=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);n&&!s||(r=this.strictDirective(this.end))&&s&&this.raiseRecoverable(e.start,\"Illegal 'use strict' directive in function with non-simple parameter list\");var a=this.labels;this.labels=[],r&&(this.strict=!0),this.checkParams(e,!n&&!r&&!t&&!u&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLVal(e.id,5),e.body=this.parseBlock(!1,void 0,r&&!n),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=a}this.exitScope()},Ri.isSimpleParamList=function(e){for(var t=0,u=e;t-1||n.functions.indexOf(e)>-1||n.var.indexOf(e)>-1,n.lexical.push(e),this.inModule&&1&n.flags&&delete this.undefinedExports[e]}else if(4===t){this.currentScope().lexical.push(e)}else if(3===t){var r=this.currentScope();i=this.treatFunctionsAsVar?r.lexical.indexOf(e)>-1:r.lexical.indexOf(e)>-1||r.var.indexOf(e)>-1,r.functions.push(e)}else for(var s=this.scopeStack.length-1;s>=0;--s){var a=this.scopeStack[s];if(a.lexical.indexOf(e)>-1&&!(32&a.flags&&a.lexical[0]===e)||!this.treatFunctionsAsVarInScope(a)&&a.functions.indexOf(e)>-1){i=!0;break}if(a.var.push(e),this.inModule&&1&a.flags&&delete this.undefinedExports[e],3&a.flags)break}i&&this.raiseRecoverable(u,\"Identifier '\"+e+\"' has already been declared\")},ji.checkLocalExport=function(e){-1===this.scopeStack[0].lexical.indexOf(e.name)&&-1===this.scopeStack[0].var.indexOf(e.name)&&(this.undefinedExports[e.name]=e)},ji.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},ji.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(3&t.flags)return t}},ji.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(3&t.flags&&!(16&t.flags))return t}};var Xi=function(e,t,u){this.type=\"\",this.start=t,this.end=0,e.options.locations&&(this.loc=new Fi(e,u)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},Gi=Si.prototype;function qi(e,t,u,i){return e.type=t,e.end=u,this.options.locations&&(e.loc.end=i),this.options.ranges&&(e.range[1]=u),e}Gi.startNode=function(){return new Xi(this,this.start,this.startLoc)},Gi.startNodeAt=function(e,t){return new Xi(this,e,t)},Gi.finishNode=function(e,t){return qi.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},Gi.finishNodeAt=function(e,t,u,i){return qi.call(this,e,t,u,i)};var Wi=function(e,t,u,i,n){this.token=e,this.isExpr=!!t,this.preserveSpace=!!u,this.override=i,this.generator=!!n},Ji={b_stat:new Wi(\"{\",!1),b_expr:new Wi(\"{\",!0),b_tmpl:new Wi(\"${\",!1),p_stat:new Wi(\"(\",!1),p_expr:new Wi(\"(\",!0),q_tmpl:new Wi(\"`\",!0,!0,(function(e){return e.tryReadTemplateToken()})),f_stat:new Wi(\"function\",!1),f_expr:new Wi(\"function\",!0),f_expr_gen:new Wi(\"function\",!0,!1,null,!0),f_gen:new Wi(\"function\",!1,!1,null,!0)},Hi=Si.prototype;Hi.initialContext=function(){return[Ji.b_stat]},Hi.braceIsBlock=function(e){var t=this.curContext();return t===Ji.f_expr||t===Ji.f_stat||(e!==ai.colon||t!==Ji.b_stat&&t!==Ji.b_expr?e===ai._return||e===ai.name&&this.exprAllowed?oi.test(this.input.slice(this.lastTokEnd,this.start)):e===ai._else||e===ai.semi||e===ai.eof||e===ai.parenR||e===ai.arrow||(e===ai.braceL?t===Ji.b_stat:e!==ai._var&&e!==ai._const&&e!==ai.name&&!this.exprAllowed):!t.isExpr)},Hi.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if(\"function\"===t.token)return t.generator}return!1},Hi.updateContext=function(e){var t,u=this.type;u.keyword&&e===ai.dot?this.exprAllowed=!1:(t=u.updateContext)?t.call(this,e):this.exprAllowed=u.beforeExpr},ai.parenR.updateContext=ai.braceR.updateContext=function(){if(1!==this.context.length){var e=this.context.pop();e===Ji.b_stat&&\"function\"===this.curContext().token&&(e=this.context.pop()),this.exprAllowed=!e.isExpr}else this.exprAllowed=!0},ai.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?Ji.b_stat:Ji.b_expr),this.exprAllowed=!0},ai.dollarBraceL.updateContext=function(){this.context.push(Ji.b_tmpl),this.exprAllowed=!0},ai.parenL.updateContext=function(e){var t=e===ai._if||e===ai._for||e===ai._with||e===ai._while;this.context.push(t?Ji.p_stat:Ji.p_expr),this.exprAllowed=!0},ai.incDec.updateContext=function(){},ai._function.updateContext=ai._class.updateContext=function(e){!e.beforeExpr||e===ai.semi||e===ai._else||e===ai._return&&oi.test(this.input.slice(this.lastTokEnd,this.start))||(e===ai.colon||e===ai.braceL)&&this.curContext()===Ji.b_stat?this.context.push(Ji.f_stat):this.context.push(Ji.f_expr),this.exprAllowed=!1},ai.backQuote.updateContext=function(){this.curContext()===Ji.q_tmpl?this.context.pop():this.context.push(Ji.q_tmpl),this.exprAllowed=!1},ai.star.updateContext=function(e){if(e===ai._function){var t=this.context.length-1;this.context[t]===Ji.f_expr?this.context[t]=Ji.f_expr_gen:this.context[t]=Ji.f_gen}this.exprAllowed=!0},ai.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==ai.dot&&(\"of\"===this.value&&!this.exprAllowed||\"yield\"===this.value&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var zi=\"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS\",$i=zi+\" Extended_Pictographic\",Ki={9:zi,10:$i,11:\"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS Extended_Pictographic\"},Qi=\"Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu\",Yi=\"Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb\",Zi=Yi+\" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd\",en={9:Yi,10:Zi,11:\"Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho\"},tn={};function un(e){var t=tn[e]={binary:mi(Ki[e]+\" \"+Qi),nonBinary:{General_Category:mi(Qi),Script:mi(en[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}un(9),un(10),un(11);var nn=Si.prototype,rn=function(e){this.parser=e,this.validFlags=\"gim\"+(e.options.ecmaVersion>=6?\"uy\":\"\")+(e.options.ecmaVersion>=9?\"s\":\"\"),this.unicodeProperties=tn[e.options.ecmaVersion>=11?11:e.options.ecmaVersion],this.source=\"\",this.flags=\"\",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue=\"\",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function sn(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function an(e){return 36===e||e>=40&&e<=43||46===e||63===e||e>=91&&e<=94||e>=123&&e<=125}function on(e){return e>=65&&e<=90||e>=97&&e<=122}function cn(e){return on(e)||95===e}function pn(e){return cn(e)||Dn(e)}function Dn(e){return e>=48&&e<=57}function hn(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function ln(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e-48}function dn(e){return e>=48&&e<=55}rn.prototype.reset=function(e,t,u){var i=-1!==u.indexOf(\"u\");this.start=0|e,this.source=t+\"\",this.flags=u,this.switchU=i&&this.parser.options.ecmaVersion>=6,this.switchN=i&&this.parser.options.ecmaVersion>=9},rn.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,\"Invalid regular expression: /\"+this.source+\"/: \"+e)},rn.prototype.at=function(e,t){void 0===t&&(t=!1);var u=this.source,i=u.length;if(e>=i)return-1;var n=u.charCodeAt(e);if(!t&&!this.switchU||n<=55295||n>=57344||e+1>=i)return n;var r=u.charCodeAt(e+1);return r>=56320&&r<=57343?(n<<10)+r-56613888:n},rn.prototype.nextIndex=function(e,t){void 0===t&&(t=!1);var u=this.source,i=u.length;if(e>=i)return i;var n,r=u.charCodeAt(e);return!t&&!this.switchU||r<=55295||r>=57344||e+1>=i||(n=u.charCodeAt(e+1))<56320||n>57343?e+1:e+2},rn.prototype.current=function(e){return void 0===e&&(e=!1),this.at(this.pos,e)},rn.prototype.lookahead=function(e){return void 0===e&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},rn.prototype.advance=function(e){void 0===e&&(e=!1),this.pos=this.nextIndex(this.pos,e)},rn.prototype.eat=function(e,t){return void 0===t&&(t=!1),this.current(t)===e&&(this.advance(t),!0)},nn.validateRegExpFlags=function(e){for(var t=e.validFlags,u=e.flags,i=0;i-1&&this.raise(e.start,\"Duplicate regular expression flag\")}},nn.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},nn.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue=\"\",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise(\"Unmatched ')'\"),(e.eat(93)||e.eat(125))&&e.raise(\"Lone quantifier brackets\")),e.maxBackReference>e.numCapturingParens&&e.raise(\"Invalid escape\");for(var t=0,u=e.backReferenceNames;t=9&&(u=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise(\"Unterminated group\"),e.lastAssertionIsQuantifiable=!u,!0}return e.pos=t,!1},nn.regexp_eatQuantifier=function(e,t){return void 0===t&&(t=!1),!!this.regexp_eatQuantifierPrefix(e,t)&&(e.eat(63),!0)},nn.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},nn.regexp_eatBracedQuantifier=function(e,t){var u=e.pos;if(e.eat(123)){var i=0,n=-1;if(this.regexp_eatDecimalDigits(e)&&(i=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(n=e.lastIntValue),e.eat(125)))return-1!==n&&n=9?this.regexp_groupSpecifier(e):63===e.current()&&e.raise(\"Invalid group\"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise(\"Unterminated group\")}return!1},nn.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},nn.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise(\"Nothing to repeat\"),!1},nn.regexp_eatSyntaxCharacter=function(e){var t=e.current();return!!an(t)&&(e.lastIntValue=t,e.advance(),!0)},nn.regexp_eatPatternCharacters=function(e){for(var t=e.pos,u=0;-1!==(u=e.current())&&!an(u);)e.advance();return e.pos!==t},nn.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return!(-1===t||36===t||t>=40&&t<=43||46===t||63===t||91===t||94===t||124===t)&&(e.advance(),!0)},nn.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e))return-1!==e.groupNames.indexOf(e.lastStringValue)&&e.raise(\"Duplicate capture group name\"),void e.groupNames.push(e.lastStringValue);e.raise(\"Invalid group\")}},nn.regexp_eatGroupName=function(e){if(e.lastStringValue=\"\",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise(\"Invalid capture group name\")}return!1},nn.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue=\"\",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=sn(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=sn(e.lastIntValue);return!0}return!1},nn.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,u=this.options.ecmaVersion>=11,i=e.current(u);return e.advance(u),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(e,u)&&(i=e.lastIntValue),function(e){return Zu(e,!0)||36===e||95===e}(i)?(e.lastIntValue=i,!0):(e.pos=t,!1)},nn.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,u=this.options.ecmaVersion>=11,i=e.current(u);return e.advance(u),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(e,u)&&(i=e.lastIntValue),function(e){return ei(e,!0)||36===e||95===e||8204===e||8205===e}(i)?(e.lastIntValue=i,!0):(e.pos=t,!1)},nn.regexp_eatAtomEscape=function(e){return!!(this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e))||(e.switchU&&(99===e.current()&&e.raise(\"Invalid unicode escape\"),e.raise(\"Invalid escape\")),!1)},nn.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var u=e.lastIntValue;if(e.switchU)return u>e.maxBackReference&&(e.maxBackReference=u),!0;if(u<=e.numCapturingParens)return!0;e.pos=t}return!1},nn.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise(\"Invalid named reference\")}return!1},nn.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},nn.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},nn.regexp_eatZero=function(e){return 48===e.current()&&!Dn(e.lookahead())&&(e.lastIntValue=0,e.advance(),!0)},nn.regexp_eatControlEscape=function(e){var t=e.current();return 116===t?(e.lastIntValue=9,e.advance(),!0):110===t?(e.lastIntValue=10,e.advance(),!0):118===t?(e.lastIntValue=11,e.advance(),!0):102===t?(e.lastIntValue=12,e.advance(),!0):114===t&&(e.lastIntValue=13,e.advance(),!0)},nn.regexp_eatControlLetter=function(e){var t=e.current();return!!on(t)&&(e.lastIntValue=t%32,e.advance(),!0)},nn.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){void 0===t&&(t=!1);var u,i=e.pos,n=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var r=e.lastIntValue;if(n&&r>=55296&&r<=56319){var s=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var a=e.lastIntValue;if(a>=56320&&a<=57343)return e.lastIntValue=1024*(r-55296)+(a-56320)+65536,!0}e.pos=s,e.lastIntValue=r}return!0}if(n&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&((u=e.lastIntValue)>=0&&u<=1114111))return!0;n&&e.raise(\"Invalid unicode escape\"),e.pos=i}return!1},nn.regexp_eatIdentityEscape=function(e){if(e.switchU)return!!this.regexp_eatSyntaxCharacter(e)||!!e.eat(47)&&(e.lastIntValue=47,!0);var t=e.current();return!(99===t||e.switchN&&107===t)&&(e.lastIntValue=t,e.advance(),!0)},nn.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do{e.lastIntValue=10*e.lastIntValue+(t-48),e.advance()}while((t=e.current())>=48&&t<=57);return!0}return!1},nn.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(function(e){return 100===e||68===e||115===e||83===e||119===e||87===e}(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(80===t||112===t)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise(\"Invalid property name\")}return!1},nn.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var u=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,u,i),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var n=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,n),!0}return!1},nn.regexp_validateUnicodePropertyNameAndValue=function(e,t,u){fi(e.unicodeProperties.nonBinary,t)||e.raise(\"Invalid property name\"),e.unicodeProperties.nonBinary[t].test(u)||e.raise(\"Invalid property value\")},nn.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise(\"Invalid property name\")},nn.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue=\"\";cn(t=e.current());)e.lastStringValue+=sn(t),e.advance();return\"\"!==e.lastStringValue},nn.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue=\"\";pn(t=e.current());)e.lastStringValue+=sn(t),e.advance();return\"\"!==e.lastStringValue},nn.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},nn.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise(\"Unterminated character class\")}return!1},nn.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var u=e.lastIntValue;!e.switchU||-1!==t&&-1!==u||e.raise(\"Invalid character class\"),-1!==t&&-1!==u&&t>u&&e.raise(\"Range out of order in character class\")}}},nn.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var u=e.current();(99===u||dn(u))&&e.raise(\"Invalid class escape\"),e.raise(\"Invalid escape\")}e.pos=t}var i=e.current();return 93!==i&&(e.lastIntValue=i,e.advance(),!0)},nn.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},nn.regexp_eatClassControlLetter=function(e){var t=e.current();return!(!Dn(t)&&95!==t)&&(e.lastIntValue=t%32,e.advance(),!0)},nn.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise(\"Invalid escape\"),e.pos=t}return!1},nn.regexp_eatDecimalDigits=function(e){var t=e.pos,u=0;for(e.lastIntValue=0;Dn(u=e.current());)e.lastIntValue=10*e.lastIntValue+(u-48),e.advance();return e.pos!==t},nn.regexp_eatHexDigits=function(e){var t=e.pos,u=0;for(e.lastIntValue=0;hn(u=e.current());)e.lastIntValue=16*e.lastIntValue+ln(u),e.advance();return e.pos!==t},nn.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var u=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=64*t+8*u+e.lastIntValue:e.lastIntValue=8*t+u}else e.lastIntValue=t;return!0}return!1},nn.regexp_eatOctalDigit=function(e){var t=e.current();return dn(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)},nn.regexp_eatFixedHexDigits=function(e,t){var u=e.pos;e.lastIntValue=0;for(var i=0;i>10),56320+(1023&e)))}fn.next=function(e){!e&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,\"Escape sequence in keyword \"+this.type.keyword),this.options.onToken&&this.options.onToken(new En(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},fn.getToken=function(){return this.next(),new En(this)},\"undefined\"!=typeof Symbol&&(fn[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===ai.eof,value:t}}}}),fn.curContext=function(){return this.context[this.context.length-1]},fn.nextToken=function(){var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(ai.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},fn.readToken=function(e){return Zu(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},fn.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);return e<=55295||e>=57344?e:(e<<10)+this.input.charCodeAt(this.pos+1)-56613888},fn.skipBlockComment=function(){var e,t=this.options.onComment&&this.curPosition(),u=this.pos,i=this.input.indexOf(\"*/\",this.pos+=2);if(-1===i&&this.raise(this.pos-2,\"Unterminated comment\"),this.pos=i+2,this.options.locations)for(ci.lastIndex=u;(e=ci.exec(this.input))&&e.index8&&e<14||e>=5760&&Di.test(String.fromCharCode(e))))break e;++this.pos}}},fn.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var u=this.type;this.type=e,this.value=t,this.updateContext(u)},fn.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===e&&46===t?(this.pos+=3,this.finishToken(ai.ellipsis)):(++this.pos,this.finishToken(ai.dot))},fn.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(ai.assign,2):this.finishOp(ai.slash,1)},fn.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),u=1,i=42===e?ai.star:ai.modulo;return this.options.ecmaVersion>=7&&42===e&&42===t&&(++u,i=ai.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(ai.assign,u+1):this.finishOp(i,u)},fn.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(ai.assign,3);return this.finishOp(124===e?ai.logicalOR:ai.logicalAND,2)}return 61===t?this.finishOp(ai.assign,2):this.finishOp(124===e?ai.bitwiseOR:ai.bitwiseAND,1)},fn.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(ai.assign,2):this.finishOp(ai.bitwiseXOR,1)},fn.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?45!==t||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!oi.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(ai.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===t?this.finishOp(ai.assign,2):this.finishOp(ai.plusMin,1)},fn.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),u=1;return t===e?(u=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+u)?this.finishOp(ai.assign,u+1):this.finishOp(ai.bitShift,u)):33!==t||60!==e||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===t&&(u=2),this.finishOp(ai.relational,u)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},fn.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(ai.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(ai.arrow)):this.finishOp(61===e?ai.eq:ai.prefix,1)},fn.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(46===t){var u=this.input.charCodeAt(this.pos+2);if(u<48||u>57)return this.finishOp(ai.questionDot,2)}if(63===t){if(e>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(ai.assign,3);return this.finishOp(ai.coalesce,2)}}return this.finishOp(ai.question,1)},fn.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(ai.parenL);case 41:return++this.pos,this.finishToken(ai.parenR);case 59:return++this.pos,this.finishToken(ai.semi);case 44:return++this.pos,this.finishToken(ai.comma);case 91:return++this.pos,this.finishToken(ai.bracketL);case 93:return++this.pos,this.finishToken(ai.bracketR);case 123:return++this.pos,this.finishToken(ai.braceL);case 125:return++this.pos,this.finishToken(ai.braceR);case 58:return++this.pos,this.finishToken(ai.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(ai.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(ai.prefix,1)}this.raise(this.pos,\"Unexpected character '\"+mn(e)+\"'\")},fn.finishOp=function(e,t){var u=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,u)},fn.readRegexp=function(){for(var e,t,u=this.pos;;){this.pos>=this.input.length&&this.raise(u,\"Unterminated regular expression\");var i=this.input.charAt(this.pos);if(oi.test(i)&&this.raise(u,\"Unterminated regular expression\"),e)e=!1;else{if(\"[\"===i)t=!0;else if(\"]\"===i&&t)t=!1;else if(\"/\"===i&&!t)break;e=\"\\\\\"===i}++this.pos}var n=this.input.slice(u,this.pos);++this.pos;var r=this.pos,s=this.readWord1();this.containsEsc&&this.unexpected(r);var a=this.regexpState||(this.regexpState=new rn(this));a.reset(u,n,s),this.validateRegExpFlags(a),this.validateRegExpPattern(a);var o=null;try{o=new RegExp(n,s)}catch(e){}return this.finishToken(ai.regexp,{pattern:n,flags:s,value:o})},fn.readInt=function(e,t,u){for(var i=this.options.ecmaVersion>=12&&void 0===t,n=u&&48===this.input.charCodeAt(this.pos),r=this.pos,s=0,a=0,o=0,c=null==t?1/0:t;o=97?p-97+10:p>=65?p-65+10:p>=48&&p<=57?p-48:1/0)>=e)break;a=p,s=s*e+D}}return i&&95===a&&this.raiseRecoverable(this.pos-1,\"Numeric separator is not allowed at the last of digits\"),this.pos===r||null!=t&&this.pos-r!==t?null:s},fn.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var u=this.readInt(e);return null==u&&this.raise(this.start+2,\"Expected number in radix \"+e),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(u=Cn(this.input.slice(t,this.pos)),++this.pos):Zu(this.fullCharCodeAtPos())&&this.raise(this.pos,\"Identifier directly after number\"),this.finishToken(ai.num,u)},fn.readNumber=function(e){var t=this.pos;e||null!==this.readInt(10,void 0,!0)||this.raise(t,\"Invalid number\");var u=this.pos-t>=2&&48===this.input.charCodeAt(t);u&&this.strict&&this.raise(t,\"Invalid number\");var i=this.input.charCodeAt(this.pos);if(!u&&!e&&this.options.ecmaVersion>=11&&110===i){var n=Cn(this.input.slice(t,this.pos));return++this.pos,Zu(this.fullCharCodeAtPos())&&this.raise(this.pos,\"Identifier directly after number\"),this.finishToken(ai.num,n)}u&&/[89]/.test(this.input.slice(t,this.pos))&&(u=!1),46!==i||u||(++this.pos,this.readInt(10),i=this.input.charCodeAt(this.pos)),69!==i&&101!==i||u||(43!==(i=this.input.charCodeAt(++this.pos))&&45!==i||++this.pos,null===this.readInt(10)&&this.raise(t,\"Invalid number\")),Zu(this.fullCharCodeAtPos())&&this.raise(this.pos,\"Identifier directly after number\");var r,s=(r=this.input.slice(t,this.pos),u?parseInt(r,8):parseFloat(r.replace(/_/g,\"\")));return this.finishToken(ai.num,s)},fn.readCodePoint=function(){var e;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var t=++this.pos;e=this.readHexChar(this.input.indexOf(\"}\",this.pos)-this.pos),++this.pos,e>1114111&&this.invalidStringToken(t,\"Code point out of bounds\")}else e=this.readHexChar(4);return e},fn.readString=function(e){for(var t=\"\",u=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,\"Unterminated string constant\");var i=this.input.charCodeAt(this.pos);if(i===e)break;92===i?(t+=this.input.slice(u,this.pos),t+=this.readEscapedChar(!1),u=this.pos):(pi(i,this.options.ecmaVersion>=10)&&this.raise(this.start,\"Unterminated string constant\"),++this.pos)}return t+=this.input.slice(u,this.pos++),this.finishToken(ai.string,t)};var An={};fn.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e!==An)throw e;this.readInvalidTemplateToken()}this.inTemplateElement=!1},fn.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw An;this.raise(e,t)},fn.readTmplToken=function(){for(var e=\"\",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,\"Unterminated template\");var u=this.input.charCodeAt(this.pos);if(96===u||36===u&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==ai.template&&this.type!==ai.invalidTemplate?(e+=this.input.slice(t,this.pos),this.finishToken(ai.template,e)):36===u?(this.pos+=2,this.finishToken(ai.dollarBraceL)):(++this.pos,this.finishToken(ai.backQuote));if(92===u)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(pi(u)){switch(e+=this.input.slice(t,this.pos),++this.pos,u){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:e+=\"\\n\";break;default:e+=String.fromCharCode(u)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},fn.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(i,8);return n>255&&(i=i.slice(0,-1),n=parseInt(i,8)),this.pos+=i.length-1,t=this.input.charCodeAt(this.pos),\"0\"===i&&56!==t&&57!==t||!this.strict&&!e||this.invalidStringToken(this.pos-1-i.length,e?\"Octal literal in template string\":\"Octal literal in strict mode\"),String.fromCharCode(n)}return pi(t)?\"\":String.fromCharCode(t)}},fn.readHexChar=function(e){var t=this.pos,u=this.readInt(16,e);return null===u&&this.invalidStringToken(t,\"Bad character escape sequence\"),u},fn.readWord1=function(){this.containsEsc=!1;for(var e=\"\",t=!0,u=this.pos,i=this.options.ecmaVersion>=6;this.pos\",nbsp:\"\\xa0\",iexcl:\"\\xa1\",cent:\"\\xa2\",pound:\"\\xa3\",curren:\"\\xa4\",yen:\"\\xa5\",brvbar:\"\\xa6\",sect:\"\\xa7\",uml:\"\\xa8\",copy:\"\\xa9\",ordf:\"\\xaa\",laquo:\"\\xab\",not:\"\\xac\",shy:\"\\xad\",reg:\"\\xae\",macr:\"\\xaf\",deg:\"\\xb0\",plusmn:\"\\xb1\",sup2:\"\\xb2\",sup3:\"\\xb3\",acute:\"\\xb4\",micro:\"\\xb5\",para:\"\\xb6\",middot:\"\\xb7\",cedil:\"\\xb8\",sup1:\"\\xb9\",ordm:\"\\xba\",raquo:\"\\xbb\",frac14:\"\\xbc\",frac12:\"\\xbd\",frac34:\"\\xbe\",iquest:\"\\xbf\",Agrave:\"\\xc0\",Aacute:\"\\xc1\",Acirc:\"\\xc2\",Atilde:\"\\xc3\",Auml:\"\\xc4\",Aring:\"\\xc5\",AElig:\"\\xc6\",Ccedil:\"\\xc7\",Egrave:\"\\xc8\",Eacute:\"\\xc9\",Ecirc:\"\\xca\",Euml:\"\\xcb\",Igrave:\"\\xcc\",Iacute:\"\\xcd\",Icirc:\"\\xce\",Iuml:\"\\xcf\",ETH:\"\\xd0\",Ntilde:\"\\xd1\",Ograve:\"\\xd2\",Oacute:\"\\xd3\",Ocirc:\"\\xd4\",Otilde:\"\\xd5\",Ouml:\"\\xd6\",times:\"\\xd7\",Oslash:\"\\xd8\",Ugrave:\"\\xd9\",Uacute:\"\\xda\",Ucirc:\"\\xdb\",Uuml:\"\\xdc\",Yacute:\"\\xdd\",THORN:\"\\xde\",szlig:\"\\xdf\",agrave:\"\\xe0\",aacute:\"\\xe1\",acirc:\"\\xe2\",atilde:\"\\xe3\",auml:\"\\xe4\",aring:\"\\xe5\",aelig:\"\\xe6\",ccedil:\"\\xe7\",egrave:\"\\xe8\",eacute:\"\\xe9\",ecirc:\"\\xea\",euml:\"\\xeb\",igrave:\"\\xec\",iacute:\"\\xed\",icirc:\"\\xee\",iuml:\"\\xef\",eth:\"\\xf0\",ntilde:\"\\xf1\",ograve:\"\\xf2\",oacute:\"\\xf3\",ocirc:\"\\xf4\",otilde:\"\\xf5\",ouml:\"\\xf6\",divide:\"\\xf7\",oslash:\"\\xf8\",ugrave:\"\\xf9\",uacute:\"\\xfa\",ucirc:\"\\xfb\",uuml:\"\\xfc\",yacute:\"\\xfd\",thorn:\"\\xfe\",yuml:\"\\xff\",OElig:\"\\u0152\",oelig:\"\\u0153\",Scaron:\"\\u0160\",scaron:\"\\u0161\",Yuml:\"\\u0178\",fnof:\"\\u0192\",circ:\"\\u02c6\",tilde:\"\\u02dc\",Alpha:\"\\u0391\",Beta:\"\\u0392\",Gamma:\"\\u0393\",Delta:\"\\u0394\",Epsilon:\"\\u0395\",Zeta:\"\\u0396\",Eta:\"\\u0397\",Theta:\"\\u0398\",Iota:\"\\u0399\",Kappa:\"\\u039a\",Lambda:\"\\u039b\",Mu:\"\\u039c\",Nu:\"\\u039d\",Xi:\"\\u039e\",Omicron:\"\\u039f\",Pi:\"\\u03a0\",Rho:\"\\u03a1\",Sigma:\"\\u03a3\",Tau:\"\\u03a4\",Upsilon:\"\\u03a5\",Phi:\"\\u03a6\",Chi:\"\\u03a7\",Psi:\"\\u03a8\",Omega:\"\\u03a9\",alpha:\"\\u03b1\",beta:\"\\u03b2\",gamma:\"\\u03b3\",delta:\"\\u03b4\",epsilon:\"\\u03b5\",zeta:\"\\u03b6\",eta:\"\\u03b7\",theta:\"\\u03b8\",iota:\"\\u03b9\",kappa:\"\\u03ba\",lambda:\"\\u03bb\",mu:\"\\u03bc\",nu:\"\\u03bd\",xi:\"\\u03be\",omicron:\"\\u03bf\",pi:\"\\u03c0\",rho:\"\\u03c1\",sigmaf:\"\\u03c2\",sigma:\"\\u03c3\",tau:\"\\u03c4\",upsilon:\"\\u03c5\",phi:\"\\u03c6\",chi:\"\\u03c7\",psi:\"\\u03c8\",omega:\"\\u03c9\",thetasym:\"\\u03d1\",upsih:\"\\u03d2\",piv:\"\\u03d6\",ensp:\"\\u2002\",emsp:\"\\u2003\",thinsp:\"\\u2009\",zwnj:\"\\u200c\",zwj:\"\\u200d\",lrm:\"\\u200e\",rlm:\"\\u200f\",ndash:\"\\u2013\",mdash:\"\\u2014\",lsquo:\"\\u2018\",rsquo:\"\\u2019\",sbquo:\"\\u201a\",ldquo:\"\\u201c\",rdquo:\"\\u201d\",bdquo:\"\\u201e\",dagger:\"\\u2020\",Dagger:\"\\u2021\",bull:\"\\u2022\",hellip:\"\\u2026\",permil:\"\\u2030\",prime:\"\\u2032\",Prime:\"\\u2033\",lsaquo:\"\\u2039\",rsaquo:\"\\u203a\",oline:\"\\u203e\",frasl:\"\\u2044\",euro:\"\\u20ac\",image:\"\\u2111\",weierp:\"\\u2118\",real:\"\\u211c\",trade:\"\\u2122\",alefsym:\"\\u2135\",larr:\"\\u2190\",uarr:\"\\u2191\",rarr:\"\\u2192\",darr:\"\\u2193\",harr:\"\\u2194\",crarr:\"\\u21b5\",lArr:\"\\u21d0\",uArr:\"\\u21d1\",rArr:\"\\u21d2\",dArr:\"\\u21d3\",hArr:\"\\u21d4\",forall:\"\\u2200\",part:\"\\u2202\",exist:\"\\u2203\",empty:\"\\u2205\",nabla:\"\\u2207\",isin:\"\\u2208\",notin:\"\\u2209\",ni:\"\\u220b\",prod:\"\\u220f\",sum:\"\\u2211\",minus:\"\\u2212\",lowast:\"\\u2217\",radic:\"\\u221a\",prop:\"\\u221d\",infin:\"\\u221e\",ang:\"\\u2220\",and:\"\\u2227\",or:\"\\u2228\",cap:\"\\u2229\",cup:\"\\u222a\",int:\"\\u222b\",there4:\"\\u2234\",sim:\"\\u223c\",cong:\"\\u2245\",asymp:\"\\u2248\",ne:\"\\u2260\",equiv:\"\\u2261\",le:\"\\u2264\",ge:\"\\u2265\",sub:\"\\u2282\",sup:\"\\u2283\",nsub:\"\\u2284\",sube:\"\\u2286\",supe:\"\\u2287\",oplus:\"\\u2295\",otimes:\"\\u2297\",perp:\"\\u22a5\",sdot:\"\\u22c5\",lceil:\"\\u2308\",rceil:\"\\u2309\",lfloor:\"\\u230a\",rfloor:\"\\u230b\",lang:\"\\u2329\",rang:\"\\u232a\",loz:\"\\u25ca\",spades:\"\\u2660\",clubs:\"\\u2663\",hearts:\"\\u2665\",diams:\"\\u2666\"},yn=R(Object.freeze({__proto__:null,Node:Xi,Parser:Si,Position:Ai,SourceLocation:Fi,TokContext:Wi,Token:En,TokenType:ti,defaultOptions:yi,getLineInfo:gi,isIdentifierChar:ei,isIdentifierStart:Zu,isNewLine:pi,keywordTypes:ri,lineBreak:oi,lineBreakG:ci,nonASCIIwhitespace:Di,parse:function(e,t){return Si.parse(e,t)},parseExpressionAt:function(e,t,u){return Si.parseExpressionAt(e,t,u)},tokContexts:Ji,tokTypes:ai,tokenizer:function(e,t){return Si.tokenizer(e,t)},version:Fn})),xn=O((function(e){const t=/^[\\da-fA-F]+$/,u=/^\\d+$/,i=new WeakMap;function n(e){e=e.Parser.acorn||e;let t=i.get(e);if(!t){const u=e.tokTypes,n=e.TokContext,r=e.TokenType,s=new n(\"...\",!0,!0),c={tc_oTag:s,tc_cTag:a,tc_expr:o},p={jsxName:new r(\"jsxName\"),jsxText:new r(\"jsxText\",{beforeExpr:!0}),jsxTagStart:new r(\"jsxTagStart\",{startsExpr:!0}),jsxTagEnd:new r(\"jsxTagEnd\")};p.jsxTagStart.updateContext=function(){this.context.push(o),this.context.push(s),this.exprAllowed=!1},p.jsxTagEnd.updateContext=function(e){let t=this.context.pop();t===s&&e===u.slash||t===a?(this.context.pop(),this.exprAllowed=this.curContext()===o):this.exprAllowed=!0},t={tokContexts:c,tokTypes:p},i.set(e,t)}return t}function r(e){return e?\"JSXIdentifier\"===e.type?e.name:\"JSXNamespacedName\"===e.type?e.namespace.name+\":\"+e.name.name:\"JSXMemberExpression\"===e.type?r(e.object)+\".\"+r(e.property):void 0:e}e.exports=function(e){return e=e||{},function(i){return function(e,i){const s=i.acorn||yn,a=n(s),o=s.tokTypes,c=a.tokTypes,p=s.tokContexts,D=a.tokContexts.tc_oTag,h=a.tokContexts.tc_cTag,l=a.tokContexts.tc_expr,d=s.isNewLine,E=s.isIdentifierStart,f=s.isIdentifierChar;return class extends i{static get acornJsx(){return a}jsx_readToken(){let e=\"\",t=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,\"Unterminated JSX contents\");let u=this.input.charCodeAt(this.pos);switch(u){case 60:case 123:return this.pos===this.start?60===u&&this.exprAllowed?(++this.pos,this.finishToken(c.jsxTagStart)):this.getTokenFromCode(u):(e+=this.input.slice(t,this.pos),this.finishToken(c.jsxText,e));case 38:e+=this.input.slice(t,this.pos),e+=this.jsx_readEntity(),t=this.pos;break;case 62:case 125:this.raise(this.pos,\"Unexpected token `\"+this.input[this.pos]+\"`. Did you mean `\"+(62===u?\">\":\"}\")+'` or `{\"'+this.input[this.pos]+'\"}`?');default:d(u)?(e+=this.input.slice(t,this.pos),e+=this.jsx_readNewLine(!0),t=this.pos):++this.pos}}}jsx_readNewLine(e){let t,u=this.input.charCodeAt(this.pos);return++this.pos,13===u&&10===this.input.charCodeAt(this.pos)?(++this.pos,t=e?\"\\n\":\"\\r\\n\"):t=String.fromCharCode(u),this.options.locations&&(++this.curLine,this.lineStart=this.pos),t}jsx_readString(e){let t=\"\",u=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,\"Unterminated string constant\");let i=this.input.charCodeAt(this.pos);if(i===e)break;38===i?(t+=this.input.slice(u,this.pos),t+=this.jsx_readEntity(),u=this.pos):d(i)?(t+=this.input.slice(u,this.pos),t+=this.jsx_readNewLine(!1),u=this.pos):++this.pos}return t+=this.input.slice(u,this.pos++),this.finishToken(o.string,t)}jsx_readEntity(){let e,i=\"\",n=0,r=this.input[this.pos];\"&\"!==r&&this.raise(this.pos,\"Entity must start with an ampersand\");let s=++this.pos;for(;this.pos\")}let a=n.name?\"Element\":\"Fragment\";return u[\"opening\"+a]=n,u[\"closing\"+a]=s,u.children=i,this.type===o.relational&&\"<\"===this.value&&this.raise(this.start,\"Adjacent JSX elements must be wrapped in an enclosing tag\"),this.finishNode(u,\"JSX\"+a)}jsx_parseText(){let e=this.parseLiteral(this.value);return e.type=\"JSXText\",e}jsx_parseElement(){let e=this.start,t=this.startLoc;return this.next(),this.jsx_parseElementAt(e,t)}parseExprAtom(e){return this.type===c.jsxText?this.jsx_parseText():this.type===c.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(e)}readToken(e){let t=this.curContext();if(t===l)return this.jsx_readToken();if(t===D||t===h){if(E(e))return this.jsx_readWord();if(62==e)return++this.pos,this.finishToken(c.jsxTagEnd);if((34===e||39===e)&&t==D)return this.jsx_readString(e)}return 60===e&&this.exprAllowed&&33!==this.input.charCodeAt(this.pos+1)?(++this.pos,this.finishToken(c.jsxTagStart)):super.readToken(e)}updateContext(e){if(this.type==o.braceL){var t=this.curContext();t==D?this.context.push(p.b_expr):t==l?this.context.push(p.b_tmpl):super.updateContext(e),this.exprAllowed=!0}else{if(this.type!==o.slash||e!==c.jsxTagStart)return super.updateContext(e);this.context.length-=2,this.context.push(h),this.exprAllowed=!1}}}}({allowNamespaces:!1!==e.allowNamespaces,allowNamespacedObjects:!!e.allowNamespacedObjects},i)}},Object.defineProperty(e.exports,\"tokTypes\",{get:function(){return n(yn).tokTypes},configurable:!0,enumerable:!0})})),Bn={AssignmentExpression:\"AssignmentExpression\",AssignmentPattern:\"AssignmentPattern\",ArrayExpression:\"ArrayExpression\",ArrayPattern:\"ArrayPattern\",ArrowFunctionExpression:\"ArrowFunctionExpression\",AwaitExpression:\"AwaitExpression\",BlockStatement:\"BlockStatement\",BinaryExpression:\"BinaryExpression\",BreakStatement:\"BreakStatement\",CallExpression:\"CallExpression\",CatchClause:\"CatchClause\",ClassBody:\"ClassBody\",ClassDeclaration:\"ClassDeclaration\",ClassExpression:\"ClassExpression\",ConditionalExpression:\"ConditionalExpression\",ContinueStatement:\"ContinueStatement\",DoWhileStatement:\"DoWhileStatement\",DebuggerStatement:\"DebuggerStatement\",EmptyStatement:\"EmptyStatement\",ExpressionStatement:\"ExpressionStatement\",ForStatement:\"ForStatement\",ForInStatement:\"ForInStatement\",ForOfStatement:\"ForOfStatement\",FunctionDeclaration:\"FunctionDeclaration\",FunctionExpression:\"FunctionExpression\",Identifier:\"Identifier\",IfStatement:\"IfStatement\",Literal:\"Literal\",LabeledStatement:\"LabeledStatement\",LogicalExpression:\"LogicalExpression\",MemberExpression:\"MemberExpression\",MetaProperty:\"MetaProperty\",MethodDefinition:\"MethodDefinition\",NewExpression:\"NewExpression\",ObjectExpression:\"ObjectExpression\",ObjectPattern:\"ObjectPattern\",Program:\"Program\",Property:\"Property\",RestElement:\"RestElement\",ReturnStatement:\"ReturnStatement\",SequenceExpression:\"SequenceExpression\",SpreadElement:\"SpreadElement\",Super:\"Super\",SwitchCase:\"SwitchCase\",SwitchStatement:\"SwitchStatement\",TaggedTemplateExpression:\"TaggedTemplateExpression\",TemplateElement:\"TemplateElement\",TemplateLiteral:\"TemplateLiteral\",ThisExpression:\"ThisExpression\",ThrowStatement:\"ThrowStatement\",TryStatement:\"TryStatement\",UnaryExpression:\"UnaryExpression\",UpdateExpression:\"UpdateExpression\",VariableDeclaration:\"VariableDeclaration\",VariableDeclarator:\"VariableDeclarator\",WhileStatement:\"WhileStatement\",WithStatement:\"WithStatement\",YieldExpression:\"YieldExpression\",JSXIdentifier:\"JSXIdentifier\",JSXNamespacedName:\"JSXNamespacedName\",JSXMemberExpression:\"JSXMemberExpression\",JSXEmptyExpression:\"JSXEmptyExpression\",JSXExpressionContainer:\"JSXExpressionContainer\",JSXElement:\"JSXElement\",JSXClosingElement:\"JSXClosingElement\",JSXOpeningElement:\"JSXOpeningElement\",JSXAttribute:\"JSXAttribute\",JSXSpreadAttribute:\"JSXSpreadAttribute\",JSXText:\"JSXText\",ExportDefaultDeclaration:\"ExportDefaultDeclaration\",ExportNamedDeclaration:\"ExportNamedDeclaration\",ExportAllDeclaration:\"ExportAllDeclaration\",ExportSpecifier:\"ExportSpecifier\",ImportDeclaration:\"ImportDeclaration\",ImportSpecifier:\"ImportSpecifier\",ImportDefaultSpecifier:\"ImportDefaultSpecifier\",ImportNamespaceSpecifier:\"ImportNamespaceSpecifier\"};const Sn=\"Boolean\",vn=\"Identifier\",bn=\"Keyword\",Tn=\"Null\",_n=\"Numeric\",wn=\"Punctuator\",kn=\"String\",In=\"RegularExpression\",Nn=\"Template\",Ln=\"JSXIdentifier\",Pn=\"JSXText\";function On(e,t){this._acornTokTypes=e,this._tokens=[],this._curlyBrace=null,this._code=t}On.prototype={constructor:On,translate(e,t){const u=e.type,i=this._acornTokTypes;if(u===i.name)e.type=vn,\"static\"===e.value&&(e.type=bn),t.ecmaVersion>5&&(\"yield\"===e.value||\"let\"===e.value)&&(e.type=bn);else if(u===i.semi||u===i.comma||u===i.parenL||u===i.parenR||u===i.braceL||u===i.braceR||u===i.dot||u===i.bracketL||u===i.colon||u===i.question||u===i.bracketR||u===i.ellipsis||u===i.arrow||u===i.jsxTagStart||u===i.incDec||u===i.starstar||u===i.jsxTagEnd||u===i.prefix||u===i.questionDot||u.binop&&!u.keyword||u.isAssign)e.type=wn,e.value=this._code.slice(e.start,e.end);else if(u===i.jsxName)e.type=Ln;else if(\"jsxText\"===u.label||u===i.jsxAttrValueToken)e.type=Pn;else if(u.keyword)\"true\"===u.keyword||\"false\"===u.keyword?e.type=Sn:\"null\"===u.keyword?e.type=Tn:e.type=bn;else if(u===i.num)e.type=_n,e.value=this._code.slice(e.start,e.end);else if(u===i.string)t.jsxAttrValueToken?(t.jsxAttrValueToken=!1,e.type=Pn):e.type=kn,e.value=this._code.slice(e.start,e.end);else if(u===i.regexp){e.type=In;const t=e.value;e.regex={flags:t.flags,pattern:t.pattern},e.value=\"/\".concat(t.pattern,\"/\").concat(t.flags)}return e},onToken(e,t){const u=this,i=this._acornTokTypes,n=t.tokens,r=this._tokens;function s(){n.push(function(e,t){const u=e[0],i=e[e.length-1],n={type:Nn,value:t.slice(u.start,i.end)};return u.loc&&(n.loc={start:u.loc.start,end:i.loc.end}),u.range&&(n.start=u.range[0],n.end=i.range[1],n.range=[n.start,n.end]),n}(u._tokens,u._code)),u._tokens=[]}if(e.type!==i.eof){if(e.type===i.backQuote)return this._curlyBrace&&(n.push(this.translate(this._curlyBrace,t)),this._curlyBrace=null),r.push(e),void(r.length>1&&s());if(e.type===i.dollarBraceL)return r.push(e),void s();if(e.type===i.braceR)return this._curlyBrace&&n.push(this.translate(this._curlyBrace,t)),void(this._curlyBrace=e);if(e.type===i.template||e.type===i.invalidTemplate)return this._curlyBrace&&(r.push(this._curlyBrace),this._curlyBrace=null),void r.push(e);this._curlyBrace&&(n.push(this.translate(this._curlyBrace,t)),this._curlyBrace=null),n.push(this.translate(e,t))}else this._curlyBrace&&n.push(this.translate(this._curlyBrace,t))}};var Rn=On;const Mn=[3,5,6,7,8,9,10,11,12];var Vn={normalizeOptions:function(e){const t=function(e=5){if(\"number\"!=typeof e)throw new Error(\"ecmaVersion must be a number. Received value of type \".concat(typeof e,\" instead.\"));let t=e;if(t>=2015&&(t-=2009),!Mn.includes(t))throw new Error(\"Invalid ecmaVersion.\");return t}(e.ecmaVersion),u=function(e=\"script\"){if(\"script\"===e||\"module\"===e)return e;throw new Error(\"Invalid sourceType.\")}(e.sourceType),i=!0===e.range,n=!0===e.loc;if(\"module\"===u&&t<6)throw new Error(\"sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.\");return Object.assign({},e,{ecmaVersion:t,sourceType:u,ranges:i,locations:n})},getLatestEcmaVersion:function(){return Mn[Mn.length-1]},getSupportedEcmaVersions:function(){return[...Mn]}};const{normalizeOptions:jn}=Vn,Un=Symbol(\"espree's internal state\"),Xn=Symbol(\"espree's esprimaFinishNode\");var Gn=()=>e=>{const t=Object.assign({},e.acorn.tokTypes);return e.acornJsx&&Object.assign(t,e.acornJsx.tokTypes),class extends e{constructor(e,u){\"object\"==typeof e&&null!==e||(e={}),\"string\"==typeof u||u instanceof String||(u=String(u));const i=jn(e),n=i.ecmaFeatures||{},r=!0===i.tokens?new Rn(t,u):null;super({ecmaVersion:i.ecmaVersion,sourceType:i.sourceType,ranges:i.ranges,locations:i.locations,allowReturnOutsideFunction:Boolean(n.globalReturn),onToken:e=>{r&&r.onToken(e,this[Un]),e.type!==t.eof&&(this[Un].lastToken=e)},onComment:(e,t,u,i,n,r)=>{if(this[Un].comments){const s=function(e,t,u,i,n,r){const s={type:e?\"Block\":\"Line\",value:t};return\"number\"==typeof u&&(s.start=u,s.end=i,s.range=[u,i]),\"object\"==typeof n&&(s.loc={start:n,end:r}),s}(e,t,u,i,n,r);this[Un].comments.push(s)}}},u),this[Un]={tokens:r?[]:null,comments:!0===i.comment?[]:null,impliedStrict:!0===n.impliedStrict&&this.options.ecmaVersion>=5,ecmaVersion:this.options.ecmaVersion,jsxAttrValueToken:!1,lastToken:null}}tokenize(){do{this.next()}while(this.type!==t.eof);this.next();const e=this[Un],u=e.tokens;return e.comments&&(u.comments=e.comments),u}finishNode(...e){const t=super.finishNode(...e);return this[Xn](t)}finishNodeAt(...e){const t=super.finishNodeAt(...e);return this[Xn](t)}parse(){const e=this[Un],t=super.parse();return t.sourceType=this.options.sourceType,e.comments&&(t.comments=e.comments),e.tokens&&(t.tokens=e.tokens),t.range&&(t.range[0]=t.body.length?t.body[0].range[0]:t.range[0],t.range[1]=e.lastToken?e.lastToken.range[1]:t.range[1]),t.loc&&(t.loc.start=t.body.length?t.body[0].loc.start:t.loc.start,t.loc.end=e.lastToken?e.lastToken.loc.end:t.loc.end),t}parseTopLevel(e){return this[Un].impliedStrict&&(this.strict=!0),super.parseTopLevel(e)}raise(t,u){const i=e.acorn.getLineInfo(this.input,t),n=new SyntaxError(u);throw n.index=t,n.lineNumber=i.line,n.column=i.column+1,n}raiseRecoverable(e,t){this.raise(e,t)}unexpected(e){let t=\"Unexpected token\";if(null!=e){if(this.pos=e,this.options.locations)for(;this.posthis.start&&(t+=\" \".concat(this.input.slice(this.start,this.end))),this.raise(this.start,t)}jsx_readString(e){const u=super.jsx_readString(e);return this.type===t.string&&(this[Un].jsxAttrValueToken=!0),u}[Xn](e){if(\"TemplateElement\"===e.type){const t=\"${\"===this.input.slice(e.end,e.end+2);e.range&&(e.range[0]--,e.range[1]+=t?2:1),e.loc&&(e.loc.start.column--,e.loc.end.column+=t?2:1)}return e.type.indexOf(\"Function\")>-1&&!e.generator&&(e.generator=!1),e}}},qn=\"7.3.0\",Wn={AssignmentExpression:[\"left\",\"right\"],AssignmentPattern:[\"left\",\"right\"],ArrayExpression:[\"elements\"],ArrayPattern:[\"elements\"],ArrowFunctionExpression:[\"params\",\"body\"],AwaitExpression:[\"argument\"],BlockStatement:[\"body\"],BinaryExpression:[\"left\",\"right\"],BreakStatement:[\"label\"],CallExpression:[\"callee\",\"arguments\"],CatchClause:[\"param\",\"body\"],ChainExpression:[\"expression\"],ClassBody:[\"body\"],ClassDeclaration:[\"id\",\"superClass\",\"body\"],ClassExpression:[\"id\",\"superClass\",\"body\"],ConditionalExpression:[\"test\",\"consequent\",\"alternate\"],ContinueStatement:[\"label\"],DebuggerStatement:[],DoWhileStatement:[\"body\",\"test\"],EmptyStatement:[],ExportAllDeclaration:[\"exported\",\"source\"],ExportDefaultDeclaration:[\"declaration\"],ExportNamedDeclaration:[\"declaration\",\"specifiers\",\"source\"],ExportSpecifier:[\"exported\",\"local\"],ExpressionStatement:[\"expression\"],ExperimentalRestProperty:[\"argument\"],ExperimentalSpreadProperty:[\"argument\"],ForStatement:[\"init\",\"test\",\"update\",\"body\"],ForInStatement:[\"left\",\"right\",\"body\"],ForOfStatement:[\"left\",\"right\",\"body\"],FunctionDeclaration:[\"id\",\"params\",\"body\"],FunctionExpression:[\"id\",\"params\",\"body\"],Identifier:[],IfStatement:[\"test\",\"consequent\",\"alternate\"],ImportDeclaration:[\"specifiers\",\"source\"],ImportDefaultSpecifier:[\"local\"],ImportExpression:[\"source\"],ImportNamespaceSpecifier:[\"local\"],ImportSpecifier:[\"imported\",\"local\"],JSXAttribute:[\"name\",\"value\"],JSXClosingElement:[\"name\"],JSXElement:[\"openingElement\",\"children\",\"closingElement\"],JSXEmptyExpression:[],JSXExpressionContainer:[\"expression\"],JSXIdentifier:[],JSXMemberExpression:[\"object\",\"property\"],JSXNamespacedName:[\"namespace\",\"name\"],JSXOpeningElement:[\"name\",\"attributes\"],JSXSpreadAttribute:[\"argument\"],JSXText:[],JSXFragment:[\"openingFragment\",\"children\",\"closingFragment\"],Literal:[],LabeledStatement:[\"label\",\"body\"],LogicalExpression:[\"left\",\"right\"],MemberExpression:[\"object\",\"property\"],MetaProperty:[\"meta\",\"property\"],MethodDefinition:[\"key\",\"value\"],NewExpression:[\"callee\",\"arguments\"],ObjectExpression:[\"properties\"],ObjectPattern:[\"properties\"],Program:[\"body\"],Property:[\"key\",\"value\"],RestElement:[\"argument\"],ReturnStatement:[\"argument\"],SequenceExpression:[\"expressions\"],SpreadElement:[\"argument\"],Super:[],SwitchStatement:[\"discriminant\",\"cases\"],SwitchCase:[\"test\",\"consequent\"],TaggedTemplateExpression:[\"tag\",\"quasi\"],TemplateElement:[],TemplateLiteral:[\"quasis\",\"expressions\"],ThisExpression:[],ThrowStatement:[\"argument\"],TryStatement:[\"block\",\"handler\",\"finalizer\"],UnaryExpression:[\"argument\"],UpdateExpression:[\"argument\"],VariableDeclaration:[\"declarations\"],VariableDeclarator:[\"id\",\"init\"],WhileStatement:[\"test\",\"body\"],WithStatement:[\"object\",\"body\"],YieldExpression:[\"argument\"]};const Jn=Object.freeze(Object.keys(Wn));for(const e of Jn)Object.freeze(Wn[e]);Object.freeze(Wn);const Hn=new Set([\"parent\",\"leadingComments\",\"trailingComments\"]);function zn(e){return!Hn.has(e)&&\"_\"!==e[0]}var $n=Object.freeze({KEYS:Wn,getKeys:e=>Object.keys(e).filter(zn),unionWith(e){const t=Object.assign({},Wn);for(const u of Object.keys(e))if(t.hasOwnProperty(u)){const i=new Set(e[u]);for(const e of t[u])i.add(e);t[u]=Object.freeze(Array.from(i))}else t[u]=Object.freeze(Array.from(e[u]));return Object.freeze(t)}});const{getLatestEcmaVersion:Kn,getSupportedEcmaVersions:Qn}=Vn,Yn={_regular:null,_jsx:null,get regular(){return null===this._regular&&(this._regular=yn.Parser.extend(Gn())),this._regular},get jsx(){return null===this._jsx&&(this._jsx=yn.Parser.extend(xn(),Gn())),this._jsx},get(e){return Boolean(e&&e.ecmaFeatures&&e.ecmaFeatures.jsx)?this.jsx:this.regular}};var Zn={version:qn,tokenize:function(e,t){const u=Yn.get(t);return t&&!0===t.tokens||(t=Object.assign({},t,{tokens:!0})),new u(t,e).tokenize()},parse:function(e,t){return new(Yn.get(t))(t,e).parse()},Syntax:function(){let e,t={};for(e in\"function\"==typeof Object.create&&(t=Object.create(null)),Bn)Object.hasOwnProperty.call(Bn,e)&&(t[e]=Bn[e]);return\"function\"==typeof Object.freeze&&Object.freeze(t),t}(),VisitorKeys:$n.KEYS,latestEcmaVersion:Kn(),supportedEcmaVersions:Qn()};const{getShebang:er}=Pe,{hasPragma:tr}=Ke,{locStart:ur,locEnd:ir}=et,nr={range:!0,loc:!0,comment:!0,tokens:!0,sourceType:\"module\",ecmaFeatures:{jsx:!0,globalReturn:!0,impliedStrict:!1}};return{parsers:{espree:{parse:function(e,t,u){const{parse:i,latestEcmaVersion:n}=Zn;nr.ecmaVersion=n;const r=er(e),s=r?\" \".repeat(r.length)+e.slice(r.length):e;let a;try{a=i(s,nr)}catch(e){try{a=i(s,Object.assign({},nr,{sourceType:\"script\"}))}catch(t){const{message:u,lineNumber:i,column:n}=e;if(\"number\"!=typeof i)throw e;throw Oe(u,{start:{line:i,column:n}})}}return Uu(a,Object.assign({},u,{originalText:e}))},astFormat:\"estree\",hasPragma:tr,locStart:ur,locEnd:ir}}}}));\n","'use strict'\n\nconst fs = require('graceful-fs')\n\nfunction symlinkType (srcpath, type, callback) {\n callback = (typeof type === 'function') ? type : callback\n type = (typeof type === 'function') ? false : type\n if (type) return callback(null, type)\n fs.lstat(srcpath, (err, stats) => {\n if (err) return callback(null, 'file')\n type = (stats && stats.isDirectory()) ? 'dir' : 'file'\n callback(null, type)\n })\n}\n\nfunction symlinkTypeSync (srcpath, type) {\n let stats\n\n if (type) return type\n try {\n stats = fs.lstatSync(srcpath)\n } catch {\n return 'file'\n }\n return (stats && stats.isDirectory()) ? 'dir' : 'file'\n}\n\nmodule.exports = {\n symlinkType,\n symlinkTypeSync\n}\n","'use strict';\n\nconst Transform = require('stream').Transform;\n\n/**\n * MessageParser instance is a transform stream that separates message headers\n * from the rest of the body. Headers are emitted with the 'headers' event. Message\n * body is passed on as the resulting stream.\n */\nclass MessageParser extends Transform {\n constructor(options) {\n super(options);\n this.lastBytes = Buffer.alloc(4);\n this.headersParsed = false;\n this.headerBytes = 0;\n this.headerChunks = [];\n this.rawHeaders = false;\n this.bodySize = 0;\n }\n\n /**\n * Keeps count of the last 4 bytes in order to detect line breaks on chunk boundaries\n *\n * @param {Buffer} data Next data chunk from the stream\n */\n updateLastBytes(data) {\n let lblen = this.lastBytes.length;\n let nblen = Math.min(data.length, lblen);\n\n // shift existing bytes\n for (let i = 0, len = lblen - nblen; i < len; i++) {\n this.lastBytes[i] = this.lastBytes[i + nblen];\n }\n\n // add new bytes\n for (let i = 1; i <= nblen; i++) {\n this.lastBytes[lblen - i] = data[data.length - i];\n }\n }\n\n /**\n * Finds and removes message headers from the remaining body. We want to keep\n * headers separated until final delivery to be able to modify these\n *\n * @param {Buffer} data Next chunk of data\n * @return {Boolean} Returns true if headers are already found or false otherwise\n */\n checkHeaders(data) {\n if (this.headersParsed) {\n return true;\n }\n\n let lblen = this.lastBytes.length;\n let headerPos = 0;\n this.curLinePos = 0;\n for (let i = 0, len = this.lastBytes.length + data.length; i < len; i++) {\n let chr;\n if (i < lblen) {\n chr = this.lastBytes[i];\n } else {\n chr = data[i - lblen];\n }\n if (chr === 0x0a && i) {\n let pr1 = i - 1 < lblen ? this.lastBytes[i - 1] : data[i - 1 - lblen];\n let pr2 = i > 1 ? (i - 2 < lblen ? this.lastBytes[i - 2] : data[i - 2 - lblen]) : false;\n if (pr1 === 0x0a) {\n this.headersParsed = true;\n headerPos = i - lblen + 1;\n this.headerBytes += headerPos;\n break;\n } else if (pr1 === 0x0d && pr2 === 0x0a) {\n this.headersParsed = true;\n headerPos = i - lblen + 1;\n this.headerBytes += headerPos;\n break;\n }\n }\n }\n\n if (this.headersParsed) {\n this.headerChunks.push(data.slice(0, headerPos));\n this.rawHeaders = Buffer.concat(this.headerChunks, this.headerBytes);\n this.headerChunks = null;\n this.emit('headers', this.parseHeaders());\n if (data.length - 1 > headerPos) {\n let chunk = data.slice(headerPos);\n this.bodySize += chunk.length;\n // this would be the first chunk of data sent downstream\n setImmediate(() => this.push(chunk));\n }\n return false;\n } else {\n this.headerBytes += data.length;\n this.headerChunks.push(data);\n }\n\n // store last 4 bytes to catch header break\n this.updateLastBytes(data);\n\n return false;\n }\n\n _transform(chunk, encoding, callback) {\n if (!chunk || !chunk.length) {\n return callback();\n }\n\n if (typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n let headersFound;\n\n try {\n headersFound = this.checkHeaders(chunk);\n } catch (E) {\n return callback(E);\n }\n\n if (headersFound) {\n this.bodySize += chunk.length;\n this.push(chunk);\n }\n\n setImmediate(callback);\n }\n\n _flush(callback) {\n if (this.headerChunks) {\n let chunk = Buffer.concat(this.headerChunks, this.headerBytes);\n this.bodySize += chunk.length;\n this.push(chunk);\n this.headerChunks = null;\n }\n callback();\n }\n\n parseHeaders() {\n let lines = (this.rawHeaders || '').toString().split(/\\r?\\n/);\n for (let i = lines.length - 1; i > 0; i--) {\n if (/^\\s/.test(lines[i])) {\n lines[i - 1] += '\\n' + lines[i];\n lines.splice(i, 1);\n }\n }\n return lines\n .filter(line => line.trim())\n .map(line => ({\n key: line.substr(0, line.indexOf(':')).trim().toLowerCase(),\n line\n }));\n }\n}\n\nmodule.exports = MessageParser;\n","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:map', {\n kind: 'mapping',\n construct: function (data) { return data !== null ? data : {}; }\n});\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('sed', _sed, {\n globStart: 3, // don't glob-expand regexes\n canReceivePipe: true,\n cmdOptions: {\n 'i': 'inplace',\n },\n});\n\n//@\n//@ ### sed([options,] search_regex, replacement, file [, file ...])\n//@ ### sed([options,] search_regex, replacement, file_array)\n//@\n//@ Available options:\n//@\n//@ + `-i`: Replace contents of `file` in-place. _Note that no backups will be created!_\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ sed('-i', 'PROGRAM_VERSION', 'v0.1.3', 'source.js');\n//@ sed(/.*DELETE_THIS_LINE.*\\n/, '', 'source.js');\n//@ ```\n//@\n//@ Reads an input string from `file`s, and performs a JavaScript `replace()` on the input\n//@ using the given `search_regex` and `replacement` string or function. Returns the new string after replacement.\n//@\n//@ Note:\n//@\n//@ Like unix `sed`, ShellJS `sed` supports capture groups. Capture groups are specified\n//@ using the `$n` syntax:\n//@\n//@ ```javascript\n//@ sed(/(\\w+)\\s(\\w+)/, '$2, $1', 'file.txt');\n//@ ```\nfunction _sed(options, regex, replacement, files) {\n // Check if this is coming from a pipe\n var pipe = common.readFromPipe();\n\n if (typeof replacement !== 'string' && typeof replacement !== 'function') {\n if (typeof replacement === 'number') {\n replacement = replacement.toString(); // fallback\n } else {\n common.error('invalid replacement string');\n }\n }\n\n // Convert all search strings to RegExp\n if (typeof regex === 'string') {\n regex = RegExp(regex);\n }\n\n if (!files && !pipe) {\n common.error('no files given');\n }\n\n files = [].slice.call(arguments, 3);\n\n if (pipe) {\n files.unshift('-');\n }\n\n var sed = [];\n files.forEach(function (file) {\n if (!fs.existsSync(file) && file !== '-') {\n common.error('no such file or directory: ' + file, 2, { continue: true });\n return;\n }\n\n var contents = file === '-' ? pipe : fs.readFileSync(file, 'utf8');\n var lines = contents.split('\\n');\n var result = lines.map(function (line) {\n return line.replace(regex, replacement);\n }).join('\\n');\n\n sed.push(result);\n\n if (options.inplace) {\n fs.writeFileSync(file, result, 'utf8');\n }\n });\n\n return sed.join('\\n');\n}\nmodule.exports = _sed;\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.prettierPlugins=t():(e.prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.postcss=t())}(new Function(\"return this\")(),(function(){return(()=>{var e={2426:e=>{\"use strict\";e.exports=({onlyFirst:e=!1}={})=>{const t=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(t,e?void 0:\"g\")}},3584:e=>{\"use strict\";const detectNewline=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");const t=e.match(/(?:\\r?\\n)/g)||[];if(0===t.length)return;const r=t.filter((e=>\"\\r\\n\"===e)).length;return r>t.length-r?\"\\r\\n\":\"\\n\"};e.exports=detectNewline,e.exports.graceful=e=>\"string\"==typeof e&&detectNewline(e)||\"\\n\"},541:e=>{\"use strict\";e.exports=function(){return/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g}},2240:e=>{\"use strict\";e.exports=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")}},8051:e=>{e.exports=function(e,t){return(t=\"number\"==typeof t?t:1/0)?function _flatten(e,r){return e.reduce((function(e,n){return Array.isArray(n)&&r{e.exports=function(e,t){for(var r=-1,n=[];-1!==(r=e.indexOf(t,r+1));)n.push(r);return n}},9234:(e,t,r)=>{\"use strict\";function _os(){const e=r(9623);return _os=function(){return e},e}function _detectNewline(){const e=(t=r(3584))&&t.__esModule?t:{default:t};var t;return _detectNewline=function(){return e},e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.extract=function(e){const t=e.match(i);return t?t[0].trimLeft():\"\"},t.strip=function(e){const t=e.match(i);return t&&t[0]?e.substring(t[0].length):e},t.parse=function(e){return parseWithComments(e).pragmas},t.parseWithComments=parseWithComments,t.print=function({comments:e=\"\",pragmas:t={}}){const r=(0,_detectNewline().default)(e)||_os().EOL,n=\" *\",o=Object.keys(t),i=o.map((e=>printKeyValues(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>\" * \"+e+r)).join(\"\");if(!e){if(0===o.length)return\"\";if(1===o.length&&!Array.isArray(t[o[0]])){const e=t[o[0]];return\"\".concat(\"/**\",\" \").concat(printKeyValues(o[0],e)[0]).concat(\" */\")}}const s=e.split(r).map((e=>\"\".concat(n,\" \").concat(e))).join(r)+r;return\"/**\"+r+(e?s:\"\")+(e&&o.length?n+r:\"\")+i+\" */\"};const n=/\\*\\/$/,o=/^\\/\\*\\*/,i=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,s=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,u=/^(\\r?\\n)+/,a=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,c=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,l=/(\\r?\\n|^) *\\* ?/g,p=[];function parseWithComments(e){const t=(0,_detectNewline().default)(e)||_os().EOL;e=e.replace(o,\"\").replace(n,\"\").replace(l,\"$1\");let r=\"\";for(;r!==e;)r=e,e=e.replace(a,\"\".concat(t,\"$1 $2\").concat(t));e=e.replace(u,\"\").trimRight();const i=Object.create(null),f=e.replace(c,\"\").replace(u,\"\").trimRight();let h;for(;h=c.exec(e);){const e=h[2].replace(s,\"\");\"string\"==typeof i[h[1]]||Array.isArray(i[h[1]])?i[h[1]]=p.concat(i[h[1]],e):i[h[1]]=e}return{comments:f,pragmas:i}}function printKeyValues(e,t){return p.concat(t).map((t=>\"@\".concat(e,\" \").concat(t).trim()))}},5311:(e,t,r)=>{\"use strict\";function noop(){for(var e=[],t=0;tl,outdent:()=>c}),e=r.hmd(e);var n=Object.prototype.hasOwnProperty,has=function(e,t){return n.call(e,t)};function extend(e,t){for(var r in t)has(t,r)&&(e[r]=t[r]);return e}var o=/^[ \\t]*(?:\\r\\n|\\r|\\n)/,i=/(?:\\r\\n|\\r|\\n)[ \\t]*$/,s=/^(?:[\\r\\n]|$)/,u=/(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/,a=/^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;function _outdentArray(e,t,r){var n=0,s=e[0].match(u);s&&(n=s[1].length);var a=new RegExp(\"(\\\\r\\\\n|\\\\r|\\\\n).{0,\"+n+\"}\",\"g\");t&&(e=e.slice(1));var c=r.newline,l=r.trimLeadingNewline,p=r.trimTrailingNewline,f=\"string\"==typeof c,h=e.length;return e.map((function(e,t){return e=e.replace(a,\"$1\"),0===t&&l&&(e=e.replace(o,\"\")),t===h-1&&p&&(e=e.replace(i,\"\")),f&&(e=e.replace(/\\r\\n|\\n|\\r/g,(function(e){return c}))),e}))}function concatStringsAndValues(e,t){for(var r=\"\",n=0,o=e.length;n{\"use strict\";function assertPath(e){if(\"string\"!=typeof e)throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(e))}function normalizeStringPosix(e,t){for(var r,n=\"\",o=0,i=-1,s=0,u=0;u<=e.length;++u){if(u2){var a=n.lastIndexOf(\"/\");if(a!==n.length-1){-1===a?(n=\"\",o=0):o=(n=n.slice(0,a)).length-1-n.lastIndexOf(\"/\"),i=u,s=0;continue}}else if(2===n.length||1===n.length){n=\"\",o=0,i=u,s=0;continue}t&&(n.length>0?n+=\"/..\":n=\"..\",o=2)}else n.length>0?n+=\"/\"+e.slice(i+1,u):n=e.slice(i+1,u),o=u-i-1;i=u,s=0}else 46===r&&-1!==s?++s:s=-1}return n}var t={resolve:function(){for(var e,t=\"\",r=!1,n=arguments.length-1;n>=-1&&!r;n--){var o;n>=0?o=arguments[n]:(void 0===e&&(e=process.cwd()),o=e),assertPath(o),0!==o.length&&(t=o+\"/\"+t,r=47===o.charCodeAt(0))}return t=normalizeStringPosix(t,!r),r?t.length>0?\"/\"+t:\"/\":t.length>0?t:\".\"},normalize:function(e){if(assertPath(e),0===e.length)return\".\";var t=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=normalizeStringPosix(e,!t)).length||t||(e=\".\"),e.length>0&&r&&(e+=\"/\"),t?\"/\"+e:e},isAbsolute:function(e){return assertPath(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return\".\";for(var e,r=0;r0&&(void 0===e?e=n:e+=\"/\"+n)}return void 0===e?\".\":t.normalize(e)},relative:function(e,r){if(assertPath(e),assertPath(r),e===r)return\"\";if((e=t.resolve(e))===(r=t.resolve(r)))return\"\";for(var n=1;na){if(47===r.charCodeAt(s+l))return r.slice(s+l+1);if(0===l)return r.slice(s+l)}else i>a&&(47===e.charCodeAt(n+l)?c=l:0===l&&(c=0));break}var p=e.charCodeAt(n+l);if(p!==r.charCodeAt(s+l))break;47===p&&(c=l)}var f=\"\";for(l=n+c+1;l<=o;++l)l!==o&&47!==e.charCodeAt(l)||(0===f.length?f+=\"..\":f+=\"/..\");return f.length>0?f+r.slice(s+c):(s+=c,47===r.charCodeAt(s)&&++s,r.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(assertPath(e),0===e.length)return\".\";for(var t=e.charCodeAt(0),r=47===t,n=-1,o=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!o){n=i;break}}else o=!1;return-1===n?r?\"/\":\".\":r&&1===n?\"//\":e.slice(0,n)},basename:function(e,t){if(void 0!==t&&\"string\"!=typeof t)throw new TypeError('\"ext\" argument must be a string');assertPath(e);var r,n=0,o=-1,i=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return\"\";var s=t.length-1,u=-1;for(r=e.length-1;r>=0;--r){var a=e.charCodeAt(r);if(47===a){if(!i){n=r+1;break}}else-1===u&&(i=!1,u=r+1),s>=0&&(a===t.charCodeAt(s)?-1==--s&&(o=r):(s=-1,o=u))}return n===o?o=u:-1===o&&(o=e.length),e.slice(n,o)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!i){n=r+1;break}}else-1===o&&(i=!1,o=r+1);return-1===o?\"\":e.slice(n,o)},extname:function(e){assertPath(e);for(var t=-1,r=0,n=-1,o=!0,i=0,s=e.length-1;s>=0;--s){var u=e.charCodeAt(s);if(47!==u)-1===n&&(o=!1,n=s+1),46===u?-1===t?t=s:1!==i&&(i=1):-1!==t&&(i=-1);else if(!o){r=s+1;break}}return-1===t||-1===n||0===i||1===i&&t===n-1&&t===r+1?\"\":e.slice(t,n)},format:function(e){if(null===e||\"object\"!=typeof e)throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||\"\")+(t.ext||\"\");return r?r===t.root?r+n:r+e+n:n}(\"/\",e)},parse:function(e){assertPath(e);var t={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(0===e.length)return t;var r,n=e.charCodeAt(0),o=47===n;o?(t.root=\"/\",r=1):r=0;for(var i=-1,s=0,u=-1,a=!0,c=e.length-1,l=0;c>=r;--c)if(47!==(n=e.charCodeAt(c)))-1===u&&(a=!1,u=c+1),46===n?-1===i?i=c:1!==l&&(l=1):-1!==i&&(l=-1);else if(!a){s=c+1;break}return-1===i||-1===u||0===l||1===l&&i===u-1&&i===s+1?-1!==u&&(t.base=t.name=0===s&&o?e.slice(1,u):e.slice(s,u)):(0===s&&o?(t.name=e.slice(1,i),t.base=e.slice(1,u)):(t.name=e.slice(s,i),t.base=e.slice(s,u)),t.ext=e.slice(i,u)),s>0?t.dir=e.slice(0,s-1):o&&(t.dir=\"/\"),t},sep:\"/\",delimiter:\":\",win32:null,posix:null};t.posix=t,e.exports=t},8681:(e,t,r)=>{const n=r(3102),o=r(7116),{isInlineComment:i}=r(1101),{interpolation:s}=r(3295),{isMixinToken:u}=r(5953),a=r(1330),c=r(5255),l=/(!\\s*important)$/i;e.exports=class extends o{constructor(...e){super(...e),this.lastNode=null}atrule(e){s.bind(this)(e)||(super.atrule(e),a(this.lastNode),c(this.lastNode))}decl(...e){super.decl(...e);/extend\\(.+\\)/i.test(this.lastNode.value)&&(this.lastNode.extend=!0)}each(e){e[0][1]=\" \".concat(e[0][1]);const t=e.findIndex((e=>\"(\"===e[0])),r=e.reverse().find((e=>\")\"===e[0])),n=e.reverse().indexOf(r),o=e.splice(t,n).map((e=>e[1])).join(\"\");for(const t of e.reverse())this.tokenizer.back(t);this.atrule(this.tokenizer.nextToken()),this.lastNode.function=!0,this.lastNode.params=o}init(e,t,r){super.init(e,t,r),this.lastNode=e}inlineComment(e){const t=new n,r=e[1].slice(2);if(this.init(t,e[2],e[3]),t.source.end={line:e[4],column:e[5]},t.inline=!0,t.raws.begin=\"//\",/^\\s*$/.test(r))t.text=\"\",t.raws.left=r,t.raws.right=\"\";else{const e=r.match(/^(\\s*)([^]*[^\\s])(\\s*)$/);[,t.raws.left,t.text,t.raws.right]=e}}mixin(e){const[t]=e,r=t[1].slice(0,1),n=e.findIndex((e=>\"brackets\"===e[0])),o=e.findIndex((e=>\"(\"===e[0]));let i=\"\";if((n<0||n>3)&&o>0){const t=e.reduce(((e,t,r)=>\")\"===t[0]?r:e)),r=e.slice(o,t+o).map((e=>e[1])).join(\"\"),[n]=e.slice(o),i=[n[2],n[3]],[s]=e.slice(t,t+1),u=[s[2],s[3]],a=[\"brackets\",r].concat(i,u),c=e.slice(0,o),l=e.slice(t+1);(e=c).push(a),e=e.concat(l)}const s=[];for(const t of e)if((\"!\"===t[1]||s.length)&&s.push(t),\"important\"===t[1])break;if(s.length){const[t]=s,r=e.indexOf(t),n=s[s.length-1],o=[t[2],t[3]],i=[n[4],n[5]],u=[\"word\",s.map((e=>e[1])).join(\"\")].concat(o,i);e.splice(r,s.length,u)}const u=e.findIndex((e=>l.test(e[1])));u>0&&([,i]=e[u],e.splice(u,1));for(const t of e.reverse())this.tokenizer.back(t);this.atrule(this.tokenizer.nextToken()),this.lastNode.mixin=!0,this.lastNode.raws.identifier=r,i&&(this.lastNode.important=!0,this.lastNode.raws.important=i)}other(e){i.bind(this)(e)||super.other(e)}rule(e){const t=e[e.length-1],r=e[e.length-2];if(\"at-word\"===r[0]&&\"{\"===t[0]&&(this.tokenizer.back(t),s.bind(this)(r))){const t=this.tokenizer.nextToken();e=e.slice(0,e.length-2).concat([t]);for(const t of e.reverse())this.tokenizer.back(t);return}super.rule(e);/:extend\\(.+\\)/i.test(this.lastNode.selector)&&(this.lastNode.extend=!0)}unknownWord(e){const[t]=e;\"each\"!==e[0][1]||\"(\"!==e[1][0]?u(t)?this.mixin(e):super.unknownWord(e):this.each(e)}}},3406:(e,t,r)=>{const n=r(5701);e.exports=class extends n{atrule(e,t){if(!e.mixin&&!e.variable&&!e.function)return void super.atrule(e,t);const r=e.function?\"\":e.raws.identifier||\"@\";let n=\"\".concat(r).concat(e.name),o=e.params?this.rawValue(e,\"params\"):\"\";const i=e.raws.important||\"\";if(e.variable&&(o=e.value),void 0!==e.raws.afterName?n+=e.raws.afterName:o&&(n+=\" \"),e.nodes)this.block(e,n+o+i);else{const r=(e.raws.between||\"\")+i+(t?\";\":\"\");this.builder(n+o+r,e)}}comment(e){if(e.inline){const t=this.raw(e,\"left\",\"commentLeft\"),r=this.raw(e,\"right\",\"commentRight\");this.builder(\"//\".concat(t).concat(e.text).concat(r),e)}else super.comment(e)}}},7371:(e,t,r)=>{const n=r(2993),o=r(8681),i=r(3406);e.exports={parse(e,t){const r=new n(e,t),i=new o(r);return i.parse(),i.root},stringify(e,t){new i(t).stringify(e)},nodeToString(t){let r=\"\";return e.exports.stringify(t,(e=>{r+=e})),r}}},1330:(e,t,r)=>{const n=r(1157),o=/^url\\((.+)\\)/;e.exports=e=>{const{name:t,params:r=\"\"}=e;if(\"import\"===t&&r.length){e.import=!0;const t=n({css:r});for(e.filename=r.replace(o,\"$1\");!t.endOfFile();){const[n,o]=t.nextToken();if(\"word\"===n&&\"url\"===o)return;if(\"brackets\"===n){e.options=o,e.filename=r.replace(o,\"\").trim();break}}}}},1101:(e,t,r)=>{const n=r(1157),o=r(2993);e.exports={isInlineComment(t){if(\"word\"===t[0]&&\"//\"===t[1].slice(0,2)){const e=t,r=[];let i;for(;t;){if(/\\r?\\n/.test(t[1])){if(/['\"].*\\r?\\n/.test(t[1])){r.push(t[1].substring(0,t[1].indexOf(\"\\n\")));let e=t[1].substring(t[1].indexOf(\"\\n\"));e+=this.input.css.valueOf().substring(this.tokenizer.position()),this.input=new o(e),this.tokenizer=n(this.input)}else this.tokenizer.back(t);break}r.push(t[1]),i=t,t=this.tokenizer.nextToken({ignoreUnclosed:!0})}const s=[\"comment\",r.join(\"\"),e[2],e[3],i[2],i[3]];return this.inlineComment(s),!0}if(\"/\"===t[1]){const r=this.tokenizer.nextToken({ignoreUnclosed:!0});if(\"comment\"===r[0]&&/^\\/\\*/.test(r[1]))return r[0]=\"word\",r[1]=r[1].slice(1),t[1]=\"//\",this.tokenizer.back(r),e.exports.isInlineComment.bind(this)(t)}return!1}}},3295:e=>{e.exports={interpolation(e){let t=e;const r=[e],n=[\"word\",\"{\",\"}\"];if(e=this.tokenizer.nextToken(),t[1].length>1||\"{\"!==e[0])return this.tokenizer.back(e),!1;for(;e&&n.includes(e[0]);)r.push(e),e=this.tokenizer.nextToken();const o=r.map((e=>e[1]));[t]=r;const i=r.pop(),s=[t[2],t[3]],u=[i[4]||i[2],i[5]||i[3]],a=[\"word\",o.join(\"\")].concat(s,u);return this.tokenizer.back(e),this.tokenizer.back(a),!0}}},5953:e=>{const t=/^#[0-9a-fA-F]{6}$|^#[0-9a-fA-F]{3}$/,r=/\\.[0-9]/;e.exports={isMixinToken:e=>{const[,n]=e,[o]=n;return(\".\"===o||\"#\"===o)&&!1===t.test(n)&&!1===r.test(n)}}},5255:e=>{const t=/:$/,r=/^:(\\s+)?/;e.exports=e=>{const{name:n,params:o=\"\"}=e;if(\":\"===e.name.slice(-1)){if(t.test(n)){const[r]=n.match(t);e.name=n.replace(r,\"\"),e.raws.afterName=r+(e.raws.afterName||\"\"),e.variable=!0,e.value=e.params}if(r.test(o)){const[t]=o.match(r);e.value=o.replace(t,\"\"),e.raws.afterName=(e.raws.afterName||\"\")+t,e.variable=!0}}}},8322:(e,t,r)=>{\"use strict\";t.Z=function(e){return new i.default({nodes:(0,s.parseMediaList)(e),type:\"media-query-list\",value:e.trim()})};var n,o=r(9066),i=(n=o)&&n.__esModule?n:{default:n},s=r(7625)},9066:(e,t,r)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n,o=r(7680),i=(n=o)&&n.__esModule?n:{default:n};function Container(e){var t=this;this.constructor(e),this.nodes=e.nodes,void 0===this.after&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:\"\"),void 0===this.before&&(this.before=this.nodes.length>0?this.nodes[0].before:\"\"),void 0===this.sourceIndex&&(this.sourceIndex=this.before.length),this.nodes.forEach((function(e){e.parent=t}))}Container.prototype=Object.create(i.default.prototype),Container.constructor=i.default,Container.prototype.walk=function(e,t){for(var r=\"string\"==typeof e||e instanceof RegExp,n=r?t:e,o=\"string\"==typeof e?new RegExp(e):e,i=0;i{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){this.after=e.after,this.before=e.before,this.type=e.type,this.value=e.value,this.sourceIndex=e.sourceIndex}},7625:(e,t,r)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.parseMediaFeature=parseMediaFeature,t.parseMediaQuery=parseMediaQuery,t.parseMediaList=function(e){var t=[],r=0,i=0,s=/^(\\s*)url\\s*\\(/.exec(e);if(null!==s){for(var u=s[0].length,a=1;a>0;){var c=e[u];\"(\"===c&&a++,\")\"===c&&a--,u++}t.unshift(new n.default({type:\"url\",value:e.substring(0,u).trim(),sourceIndex:s[1].length,before:s[1],after:/^(\\s*)/.exec(e.substring(u))[1]})),r=u}for(var l=r;l0&&(r[l-1].after=u.before),void 0===u.type){if(l>0){if(\"media-feature-expression\"===r[l-1].type){u.type=\"keyword\";continue}if(\"not\"===r[l-1].value||\"only\"===r[l-1].value){u.type=\"media-type\";continue}if(\"and\"===r[l-1].value){u.type=\"media-feature-expression\";continue}\"media-type\"===r[l-1].type&&(r[l+1]?u.type=\"media-feature-expression\"===r[l+1].type?\"keyword\":\"media-feature-expression\":u.type=\"media-feature-expression\")}if(0===l){if(!r[l+1]){u.type=\"media-type\";continue}if(r[l+1]&&(\"media-feature-expression\"===r[l+1].type||\"keyword\"===r[l+1].type)){u.type=\"media-type\";continue}if(r[l+2]){if(\"media-feature-expression\"===r[l+2].type){u.type=\"media-type\",r[l+1].type=\"keyword\";continue}if(\"keyword\"===r[l+2].type){u.type=\"keyword\",r[l+1].type=\"media-type\";continue}}if(r[l+3]&&\"media-feature-expression\"===r[l+3].type){u.type=\"keyword\",r[l+1].type=\"media-type\",r[l+2].type=\"keyword\";continue}}}return r}},5822:(e,t,r)=>{\"use strict\";var n=function(e){var t,r;function NestedDeclaration(t){var r;return(r=e.call(this,t)||this).type=\"decl\",r.isNested=!0,r.nodes||(r.nodes=[]),r}return r=e,(t=NestedDeclaration).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,NestedDeclaration}(r(1204));e.exports=n},1945:(e,t,r)=>{\"use strict\";var n=r(2993),o=r(1713);e.exports=function(e,t){var r=new n(e,t),i=new o(r);return i.parse(),i.root}},1713:(e,t,r)=>{\"use strict\";var n=r(3102),o=r(7116),i=r(5822),s=r(6256),u=function(e){var t,r;function ScssParser(){return e.apply(this,arguments)||this}r=e,(t=ScssParser).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var o=ScssParser.prototype;return o.createTokenizer=function(){this.tokenizer=s(this.input)},o.rule=function(t){var r=!1,n=0,o=\"\",s=t,u=Array.isArray(s),a=0;for(s=u?s:s[Symbol.iterator]();;){var c;if(u){if(a>=s.length)break;c=s[a++]}else{if((a=s.next()).done)break;c=a.value}var l=c;if(r)\"comment\"!==l[0]&&\"{\"!==l[0]&&(o+=l[1]);else{if(\"space\"===l[0]&&-1!==l[1].indexOf(\"\\n\"))break;\"(\"===l[0]?n+=1:\")\"===l[0]?n-=1:0===n&&\":\"===l[0]&&(r=!0)}}if(!r||\"\"===o.trim()||/^[a-zA-Z-:#]/.test(o))e.prototype.rule.call(this,t);else{t.pop();var p=new i;this.init(p);var f,h=t[t.length-1];for(h[4]?p.source.end={line:h[4],column:h[5]}:p.source.end={line:h[2],column:h[3]};\"word\"!==t[0][0];)p.raws.before+=t.shift()[1];for(p.source.start={line:t[0][2],column:t[0][3]},p.prop=\"\";t.length;){var d=t[0][0];if(\":\"===d||\"space\"===d||\"comment\"===d)break;p.prop+=t.shift()[1]}for(p.raws.between=\"\";t.length;){if(\":\"===(f=t.shift())[0]){p.raws.between+=f[1];break}p.raws.between+=f[1]}\"_\"!==p.prop[0]&&\"*\"!==p.prop[0]||(p.raws.before+=p.prop[0],p.prop=p.prop.slice(1)),p.raws.between+=this.spacesAndCommentsFromStart(t),this.precheckMissedSemicolon(t);for(var D=t.length-1;D>0;D--){if(\"!important\"===(f=t[D])[1]){p.important=!0;var g=this.stringFrom(t,D);\" !important\"!==(g=this.spacesFromEnd(t)+g)&&(p.raws.important=g);break}if(\"important\"===f[1]){for(var m=t.slice(0),y=\"\",v=D;v>0;v--){var C=m[v][0];if(0===y.trim().indexOf(\"!\")&&\"space\"!==C)break;y=m.pop()[1]+y}0===y.trim().indexOf(\"!\")&&(p.important=!0,p.raws.important=y,t=m)}if(\"space\"!==f[0]&&\"comment\"!==f[0])break}this.raw(p,\"value\",t),-1!==p.value.indexOf(\":\")&&this.checkMissedSemicolon(t),this.current=p}},o.comment=function(t){if(\"inline\"===t[6]){var r=new n;this.init(r,t[2],t[3]),r.raws.inline=!0,r.source.end={line:t[4],column:t[5]};var o=t[1].slice(2);if(/^\\s*$/.test(o))r.text=\"\",r.raws.left=o,r.raws.right=\"\";else{var i=o.match(/^(\\s*)([^]*[^\\s])(\\s*)$/),s=i[2].replace(/(\\*\\/|\\/\\*)/g,\"*//*\");r.text=s,r.raws.left=i[1],r.raws.right=i[3],r.raws.text=i[2]}}else e.prototype.comment.call(this,t)},o.raw=function(t,r,n){if(e.prototype.raw.call(this,t,r,n),t.raws[r]){var o=t.raws[r].raw;t.raws[r].raw=n.reduce((function(e,t){return\"comment\"===t[0]&&\"inline\"===t[6]?e+\"/*\"+t[1].slice(2).replace(/(\\*\\/|\\/\\*)/g,\"*//*\")+\"*/\":e+t[1]}),\"\"),o!==t.raws[r].raw&&(t.raws[r].scss=o)}},ScssParser}(o);e.exports=u},9235:(e,t,r)=>{\"use strict\";var n=function(e){var t,r;function ScssStringifier(){return e.apply(this,arguments)||this}r=e,(t=ScssStringifier).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var n=ScssStringifier.prototype;return n.comment=function(e){var t=this.raw(e,\"left\",\"commentLeft\"),r=this.raw(e,\"right\",\"commentRight\");if(e.raws.inline){var n=e.raws.text||e.text;this.builder(\"//\"+t+n+r,e)}else this.builder(\"/*\"+t+e.text+r+\"*/\",e)},n.decl=function(t,r){if(t.isNested){var n,o=this.raw(t,\"between\",\"colon\"),i=t.prop+o+this.rawValue(t,\"value\");t.important&&(i+=t.raws.important||\" !important\"),this.builder(i+\"{\",t,\"start\"),t.nodes&&t.nodes.length?(this.body(t),n=this.raw(t,\"after\")):n=this.raw(t,\"after\",\"emptyBody\"),n&&this.builder(n),this.builder(\"}\",t,\"end\")}else e.prototype.decl.call(this,t,r)},n.rawValue=function(e,t){var r=e[t],n=e.raws[t];return n&&n.value===r?n.scss?n.scss:n.raw:r},ScssStringifier}(r(5701));e.exports=n},4933:(e,t,r)=>{\"use strict\";var n=r(9235);e.exports=function(e,t){new n(t).stringify(e)}},304:(e,t,r)=>{\"use strict\";var n=r(4933),o=r(1945);e.exports={parse:o,stringify:n}},6256:e=>{\"use strict\";var t=\"'\".charCodeAt(0),r='\"'.charCodeAt(0),n=\"\\\\\".charCodeAt(0),o=\"/\".charCodeAt(0),i=\"\\n\".charCodeAt(0),s=\" \".charCodeAt(0),u=\"\\f\".charCodeAt(0),a=\"\\t\".charCodeAt(0),c=\"\\r\".charCodeAt(0),l=\"[\".charCodeAt(0),p=\"]\".charCodeAt(0),f=\"(\".charCodeAt(0),h=\")\".charCodeAt(0),d=\"{\".charCodeAt(0),D=\"}\".charCodeAt(0),g=\";\".charCodeAt(0),m=\"*\".charCodeAt(0),y=\":\".charCodeAt(0),v=\"@\".charCodeAt(0),C=\",\".charCodeAt(0),w=\"#\".charCodeAt(0),b=/[ \\n\\t\\r\\f{}()'\"\\\\;/[\\]#]/g,E=/[ \\n\\t\\r\\f(){}:;@!'\"\\\\\\][#]|\\/(?=\\*)/g,_=/.[\\\\/(\"'\\n]/,k=/[a-f0-9]/i,S=/[\\r\\f\\n]/g;e.exports=function(e,A){void 0===A&&(A={});var F,x,O,N,T,I,R,M,P,L,B,j,q,G,U=e.css.valueOf(),W=A.ignoreErrors,$=U.length,z=-1,V=1,H=0,X=[],J=[];function unclosed(t){throw e.error(\"Unclosed \"+t,V,H-z)}function interpolation(){for(var e=1,o=!1,i=!1;e>0;)x+=1,U.length<=x&&unclosed(\"interpolation\"),F=U.charCodeAt(x),j=U.charCodeAt(x+1),o?i||F!==o?F===n?i=!L:i&&(i=!1):(o=!1,i=!1):F===t||F===r?o=F:F===D?e-=1:F===w&&j===d&&(e+=1)}return{back:function(e){J.push(e)},nextToken:function(){if(J.length)return J.pop();if(!(H>=$)){switch(((F=U.charCodeAt(H))===i||F===u||F===c&&U.charCodeAt(H+1)!==i)&&(z=H,V+=1),F){case i:case s:case a:case c:case u:x=H;do{x+=1,(F=U.charCodeAt(x))===i&&(z=x,V+=1)}while(F===s||F===i||F===a||F===c||F===u);q=[\"space\",U.slice(H,x)],H=x-1;break;case l:q=[\"[\",\"[\",V,H-z];break;case p:q=[\"]\",\"]\",V,H-z];break;case d:q=[\"{\",\"{\",V,H-z];break;case D:q=[\"}\",\"}\",V,H-z];break;case C:q=[\"word\",\",\",V,H-z,V,H-z+1];break;case y:q=[\":\",\":\",V,H-z];break;case g:q=[\";\",\";\",V,H-z];break;case f:if(B=X.length?X.pop()[1]:\"\",j=U.charCodeAt(H+1),\"url\"===B&&j!==t&&j!==r){for(G=1,L=!1,x=H+1;x<=U.length-1;){if((j=U.charCodeAt(x))===n)L=!L;else if(j===f)G+=1;else if(j===h&&0===(G-=1))break;x+=1}I=U.slice(H,x+1),N=I.split(\"\\n\"),(T=N.length-1)>0?(M=V+T,P=x-N[T].length):(M=V,P=z),q=[\"brackets\",I,V,H-z,M,x-P],z=P,V=M,H=x}else x=U.indexOf(\")\",H+1),I=U.slice(H,x+1),-1===x||_.test(I)?q=[\"(\",\"(\",V,H-z]:(q=[\"brackets\",I,V,H-z,V,x-z],H=x);break;case h:q=[\")\",\")\",V,H-z];break;case t:case r:for(O=F,x=H,L=!1;x<$&&(++x===$&&unclosed(\"string\"),F=U.charCodeAt(x),j=U.charCodeAt(x+1),L||F!==O);)F===n?L=!L:L?L=!1:F===w&&j===d&&interpolation();I=U.slice(H,x+1),N=I.split(\"\\n\"),(T=N.length-1)>0?(M=V+T,P=x-N[T].length):(M=V,P=z),q=[\"string\",U.slice(H,x+1),V,H-z,M,x-P],z=P,V=M,H=x;break;case v:b.lastIndex=H+1,b.test(U),x=0===b.lastIndex?U.length-1:b.lastIndex-2,q=[\"at-word\",U.slice(H,x+1),V,H-z,V,x-z],H=x;break;case n:for(x=H,R=!0;U.charCodeAt(x+1)===n;)x+=1,R=!R;if(F=U.charCodeAt(x+1),R&&F!==o&&F!==s&&F!==i&&F!==a&&F!==c&&F!==u&&(x+=1,k.test(U.charAt(x)))){for(;k.test(U.charAt(x+1));)x+=1;U.charCodeAt(x+1)===s&&(x+=1)}q=[\"word\",U.slice(H,x+1),V,H-z,V,x-z],H=x;break;default:j=U.charCodeAt(H+1),F===w&&j===d?(x=H,interpolation(),I=U.slice(H,x+1),N=I.split(\"\\n\"),(T=N.length-1)>0?(M=V+T,P=x-N[T].length):(M=V,P=z),q=[\"word\",I,V,H-z,M,x-P],z=P,V=M,H=x):F===o&&j===m?(0===(x=U.indexOf(\"*/\",H+2)+1)&&(W?x=U.length:unclosed(\"comment\")),I=U.slice(H,x+1),N=I.split(\"\\n\"),(T=N.length-1)>0?(M=V+T,P=x-N[T].length):(M=V,P=z),q=[\"comment\",I,V,H-z,M,x-P],z=P,V=M,H=x):F===o&&j===o?(S.lastIndex=H+1,S.test(U),x=0===S.lastIndex?U.length-1:S.lastIndex-2,I=U.slice(H,x+1),q=[\"comment\",I,V,H-z,V,x-z,\"inline\"],H=x):(E.lastIndex=H+1,E.test(U),x=0===E.lastIndex?U.length-1:E.lastIndex-2,q=[\"word\",U.slice(H,x+1),V,H-z,V,x-z],X.push(q),H=x)}return H++,q}},endOfFile:function(){return 0===J.length&&H>=$}}}},1264:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n=_interopRequireDefault(r(2566)),o=_interopRequireDefault(r(616)),i=_interopRequireDefault(r(7835)),s=_interopRequireDefault(r(478)),u=_interopRequireDefault(r(4907)),a=_interopRequireDefault(r(8420)),c=_interopRequireDefault(r(7523)),l=_interopRequireDefault(r(4316)),p=_interopRequireDefault(r(6909)),f=_interopRequireDefault(r(6279)),h=_interopRequireDefault(r(439)),d=_interopRequireDefault(r(9956)),D=_interopRequireDefault(r(70)),g=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(8790));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var parser=function(e){return new n.default(e)};parser.attribute=function(e){return new o.default(e)},parser.className=function(e){return new i.default(e)},parser.combinator=function(e){return new s.default(e)},parser.comment=function(e){return new u.default(e)},parser.id=function(e){return new a.default(e)},parser.nesting=function(e){return new c.default(e)},parser.pseudo=function(e){return new l.default(e)},parser.root=function(e){return new p.default(e)},parser.selector=function(e){return new f.default(e)},parser.string=function(e){return new h.default(e)},parser.tag=function(e){return new d.default(e)},parser.universal=function(e){return new D.default(e)},Object.keys(g).forEach((function(e){\"__esModule\"!==e&&(parser[e]=g[e])})),t.default=parser,e.exports=t.default},5269:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n=function(){function defineProperties(e,t){for(var r=0;r1?(\"\"===o[0]&&(o[0]=!0),i.attribute=this.parseValue(o[2]),i.namespace=this.parseNamespace(o[0])):i.attribute=this.parseValue(n[0]),t=new D.default(i),n[2]){var s=n[2].split(/(\\s+i\\s*?)$/),u=s[0].trim();t.value=this.lossy?u:s[0],s[1]&&(t.insensitive=!0,this.lossy||(t.raws.insensitive=s[1])),t.quoted=\"'\"===u[0]||'\"'===u[0],t.raws.unquoted=t.quoted?u.slice(1,-1):u}this.newNode(t),this.position++},Parser.prototype.combinator=function(){if(\"|\"===this.currToken[1])return this.namespace();for(var e=new m.default({value:\"\",source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]});this.position1&&e.nextToken&&\"(\"===e.nextToken[0]&&e.error(\"Misplaced parenthesis.\")}))}else this.error('Unexpected \"'+this.currToken[0]+'\" found.')},Parser.prototype.space=function(){var e=this.currToken;0===this.position||\",\"===this.prevToken[0]||\"(\"===this.prevToken[0]?(this.spaces=this.parseSpace(e[1]),this.position++):this.position===this.tokens.length-1||\",\"===this.nextToken[0]||\")\"===this.nextToken[0]?(this.current.last.spaces.after=this.parseSpace(e[1]),this.position++):this.combinator()},Parser.prototype.string=function(){var e=this.currToken;this.newNode(new h.default({value:this.currToken[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++},Parser.prototype.universal=function(e){var t=this.nextToken;if(t&&\"|\"===t[1])return this.position++,this.namespace();this.newNode(new g.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),e),this.position++},Parser.prototype.splitWord=function(e,t){for(var r=this,n=this.nextToken,u=this.currToken[1];n&&\"word\"===n[0];){this.position++;var a=this.currToken[1];if(u+=a,a.lastIndexOf(\"\\\\\")===a.length-1){var l=this.nextToken;l&&\"space\"===l[0]&&(u+=this.parseSpace(l[1],\" \"),this.position++)}n=this.nextToken}var h=(0,i.default)(u,\".\"),d=(0,i.default)(u,\"#\"),D=(0,i.default)(u,\"#{\");D.length&&(d=d.filter((function(e){return!~D.indexOf(e)})));var g=(0,v.default)((0,s.default)((0,o.default)([[0],h,d])));g.forEach((function(n,o){var i=g[o+1]||u.length,s=u.slice(n,i);if(0===o&&t)return t.call(r,s,g.length);var a=void 0;a=~h.indexOf(n)?new c.default({value:s.slice(1),source:{start:{line:r.currToken[2],column:r.currToken[3]+n},end:{line:r.currToken[4],column:r.currToken[3]+(i-1)}},sourceIndex:r.currToken[6]+g[o]}):~d.indexOf(n)?new p.default({value:s.slice(1),source:{start:{line:r.currToken[2],column:r.currToken[3]+n},end:{line:r.currToken[4],column:r.currToken[3]+(i-1)}},sourceIndex:r.currToken[6]+g[o]}):new f.default({value:s,source:{start:{line:r.currToken[2],column:r.currToken[3]+n},end:{line:r.currToken[4],column:r.currToken[3]+(i-1)}},sourceIndex:r.currToken[6]+g[o]}),r.newNode(a,e)})),this.position++},Parser.prototype.word=function(e){var t=this.nextToken;return t&&\"|\"===t[1]?(this.position++,this.namespace()):this.splitWord(e)},Parser.prototype.loop=function(){for(;this.position{\"use strict\";t.__esModule=!0;var n,o=function(){function defineProperties(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=new s.default({css:e,error:function(e){throw new Error(e)},options:t});return this.res=r,this.func(r),this},o(Processor,[{key:\"result\",get:function(){return String(this.res)}}]),Processor}();t.default=u,e.exports=t.default},616:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(4379),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Attribute(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Attribute);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.ATTRIBUTE,r.raws={},r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Attribute,e),Attribute.prototype.toString=function(){var e=[this.spaces.before,\"[\",this.ns,this.attribute];return this.operator&&e.push(this.operator),this.value&&e.push(this.value),this.raws.insensitive?e.push(this.raws.insensitive):this.insensitive&&e.push(\" i\"),e.push(\"]\"),e.concat(this.spaces.after).join(\"\")},Attribute}(i.default);t.default=u,e.exports=t.default},7835:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(4379),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function ClassName(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,ClassName);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.CLASS,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(ClassName,e),ClassName.prototype.toString=function(){return[this.spaces.before,this.ns,String(\".\"+this.value),this.spaces.after].join(\"\")},ClassName}(i.default);t.default=u,e.exports=t.default},478:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(8871),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Combinator(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Combinator);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.COMBINATOR,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Combinator,e),Combinator}(i.default);t.default=u,e.exports=t.default},4907:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(8871),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Comment(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Comment);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.COMMENT,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Comment,e),Comment}(i.default);t.default=u,e.exports=t.default},7144:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=function(){function defineProperties(e,t){for(var r=0;r=e&&(this.indexes[r]=t-1);return this},Container.prototype.removeAll=function(){var e=this.nodes,t=Array.isArray(e),r=0;for(e=t?e:e[Symbol.iterator]();;){var n;if(t){if(r>=e.length)break;n=e[r++]}else{if((r=e.next()).done)break;n=r.value}n.parent=void 0}return this.nodes=[],this},Container.prototype.empty=function(){return this.removeAll()},Container.prototype.insertAfter=function(e,t){var r=this.index(e);this.nodes.splice(r+1,0,t);var n=void 0;for(var o in this.indexes)r<=(n=this.indexes[o])&&(this.indexes[o]=n+this.nodes.length);return this},Container.prototype.insertBefore=function(e,t){var r=this.index(e);this.nodes.splice(r,0,t);var n=void 0;for(var o in this.indexes)r<=(n=this.indexes[o])&&(this.indexes[o]=n+this.nodes.length);return this},Container.prototype.each=function(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var t=this.lastEach;if(this.indexes[t]=0,this.length){for(var r=void 0,n=void 0;this.indexes[t]{\"use strict\";t.__esModule=!0;var n,o=r(4379),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function ID(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,ID);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.ID,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(ID,e),ID.prototype.toString=function(){return[this.spaces.before,this.ns,String(\"#\"+this.value),this.spaces.after].join(\"\")},ID}(i.default);t.default=u,e.exports=t.default},4379:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=function(){function defineProperties(e,t){for(var r=0;r{\"use strict\";t.__esModule=!0;var n,o=r(8871),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Nesting(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Nesting);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.NESTING,r.value=\"&\",r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Nesting,e),Nesting}(i.default);t.default=u,e.exports=t.default},8871:(e,t)=>{\"use strict\";t.__esModule=!0;var r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e};function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var n=function cloneNode(e,t){if(\"object\"!==(void 0===e?\"undefined\":r(e)))return e;var n=new e.constructor;for(var o in e)if(e.hasOwnProperty(o)){var i=e[o],s=void 0===i?\"undefined\":r(i);\"parent\"===o&&\"object\"===s?t&&(n[o]=t):n[o]=i instanceof Array?i.map((function(e){return cloneNode(e,n)})):cloneNode(i,n)}return n},o=function(){function _class(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in _classCallCheck(this,_class),e)this[t]=e[t];var r=e.spaces,n=(r=void 0===r?{}:r).before,o=void 0===n?\"\":n,i=r.after,s=void 0===i?\"\":i;this.spaces={before:o,after:s}}return _class.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},_class.prototype.replaceWith=function(){if(this.parent){for(var e in arguments)this.parent.insertBefore(this,arguments[e]);this.remove()}return this},_class.prototype.next=function(){return this.parent.at(this.parent.index(this)+1)},_class.prototype.prev=function(){return this.parent.at(this.parent.index(this)-1)},_class.prototype.clone=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=n(this);for(var r in e)t[r]=e[r];return t},_class.prototype.toString=function(){return[this.spaces.before,String(this.value),this.spaces.after].join(\"\")},_class}();t.default=o,e.exports=t.default},4316:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(7144),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Pseudo(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Pseudo);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.PSEUDO,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Pseudo,e),Pseudo.prototype.toString=function(){var e=this.length?\"(\"+this.map(String).join(\",\")+\")\":\"\";return[this.spaces.before,String(this.value),e,this.spaces.after].join(\"\")},Pseudo}(i.default);t.default=u,e.exports=t.default},6909:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(7144),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Root(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Root);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.ROOT,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Root,e),Root.prototype.toString=function(){var e=this.reduce((function(e,t){var r=String(t);return r?e+r+\",\":\"\"}),\"\").slice(0,-1);return this.trailingComma?e+\",\":e},Root}(i.default);t.default=u,e.exports=t.default},6279:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(7144),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Selector(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Selector);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.SELECTOR,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Selector,e),Selector}(i.default);t.default=u,e.exports=t.default},439:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(8871),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function String(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,String);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.STRING,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(String,e),String}(i.default);t.default=u,e.exports=t.default},9956:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(4379),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Tag(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Tag);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.TAG,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Tag,e),Tag}(i.default);t.default=u,e.exports=t.default},8790:(e,t)=>{\"use strict\";t.__esModule=!0;t.TAG=\"tag\",t.STRING=\"string\",t.SELECTOR=\"selector\",t.ROOT=\"root\",t.PSEUDO=\"pseudo\",t.NESTING=\"nesting\",t.ID=\"id\",t.COMMENT=\"comment\",t.COMBINATOR=\"combinator\",t.CLASS=\"class\",t.ATTRIBUTE=\"attribute\",t.UNIVERSAL=\"universal\"},70:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(4379),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Universal(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Universal);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.UNIVERSAL,r.value=\"*\",r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Universal,e),Universal}(i.default);t.default=u,e.exports=t.default},9788:(e,t)=>{\"use strict\";t.__esModule=!0,t.default=function(e){return e.sort((function(e,t){return e-t}))},e.exports=t.default},6554:(e,t)=>{\"use strict\";t.__esModule=!0,t.default=function(e){var t=[],o=e.css.valueOf(),i=void 0,s=void 0,u=void 0,a=void 0,c=void 0,l=void 0,p=void 0,f=void 0,h=void 0,d=void 0,D=void 0,g=o.length,m=-1,y=1,v=0,unclosed=function(t,r){if(!e.safe)throw e.error(\"Unclosed \"+t,y,v-m,v);s=(o+=r).length-1};for(;v0?(f=y+c,h=s-a[c].length):(f=y,h=m),t.push([\"comment\",l,y,v-m,f,s-h,v]),m=h,y=f,v=s):(n.lastIndex=v+1,n.test(o),s=0===n.lastIndex?o.length-1:n.lastIndex-2,t.push([\"word\",o.slice(v,s+1),y,v-m,y,s-m,v]),v=s)}v++}return t};var r=/[ \\n\\t\\r\\{\\(\\)'\"\\\\;/]/g,n=/[ \\n\\t\\r\\(\\)\\*:;@!&'\"\\+\\|~>,\\[\\]\\\\]|\\/(?=\\*)/g;e.exports=t.default},5294:(e,t,r)=>{\"use strict\";const n=r(4196);class AtWord extends n{constructor(e){super(e),this.type=\"atword\"}toString(){this.quoted&&this.raws.quote;return[this.raws.before,\"@\",String.prototype.toString.call(this.value),this.raws.after].join(\"\")}}n.registerWalker(AtWord),e.exports=AtWord},8709:(e,t,r)=>{\"use strict\";const n=r(4196),o=r(1466);class Colon extends o{constructor(e){super(e),this.type=\"colon\"}}n.registerWalker(Colon),e.exports=Colon},3627:(e,t,r)=>{\"use strict\";const n=r(4196),o=r(1466);class Comma extends o{constructor(e){super(e),this.type=\"comma\"}}n.registerWalker(Comma),e.exports=Comma},4384:(e,t,r)=>{\"use strict\";const n=r(4196),o=r(1466);class Comment extends o{constructor(e){super(e),this.type=\"comment\",this.inline=Object(e).inline||!1}toString(){return[this.raws.before,this.inline?\"//\":\"/*\",String(this.value),this.inline?\"\":\"*/\",this.raws.after].join(\"\")}}n.registerWalker(Comment),e.exports=Comment},4196:(e,t,r)=>{\"use strict\";const n=r(1466);class Container extends n{constructor(e){super(e),this.nodes||(this.nodes=[])}push(e){return e.parent=this,this.nodes.push(e),this}each(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t,r,n=this.lastEach;if(this.indexes[n]=0,this.nodes){for(;this.indexes[n]{let n=e(t,r);return!1!==n&&t.walk&&(n=t.walk(e)),n}))}walkType(e,t){if(!e||!t)throw new Error(\"Parameters {type} and {callback} are required.\");const r=\"function\"==typeof e;return this.walk(((n,o)=>{if(r&&n instanceof e||!r&&n.type===e)return t.call(this,n,o)}))}append(e){return e.parent=this,this.nodes.push(e),this}prepend(e){return e.parent=this,this.nodes.unshift(e),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}insertAfter(e,t){let r,n=this.index(e);this.nodes.splice(n+1,0,t);for(let e in this.indexes)r=this.indexes[e],n<=r&&(this.indexes[e]=r+this.nodes.length);return this}insertBefore(e,t){let r,n=this.index(e);this.nodes.splice(n,0,t);for(let e in this.indexes)r=this.indexes[e],n<=r&&(this.indexes[e]=r+this.nodes.length);return this}removeChild(e){let t;e=this.index(e),this.nodes[e].parent=void 0,this.nodes.splice(e,1);for(let r in this.indexes)t=this.indexes[r],t>=e&&(this.indexes[r]=t-1);return this}removeAll(){for(let e of this.nodes)e.parent=void 0;return this.nodes=[],this}every(e){return this.nodes.every(e)}some(e){return this.nodes.some(e)}index(e){return\"number\"==typeof e?e:this.nodes.indexOf(e)}get first(){if(this.nodes)return this.nodes[0]}get last(){if(this.nodes)return this.nodes[this.nodes.length-1]}toString(){let e=this.nodes.map(String).join(\"\");return this.value&&(e=this.value+e),this.raws.before&&(e=this.raws.before+e),this.raws.after&&(e+=this.raws.after),e}}Container.registerWalker=e=>{let t=\"walk\"+e.name;t.lastIndexOf(\"s\")!==t.length-1&&(t+=\"s\"),Container.prototype[t]||(Container.prototype[t]=function(t){return this.walkType(e,t)})},e.exports=Container},9645:e=>{\"use strict\";class ParserError extends Error{constructor(e){super(e),this.name=this.constructor.name,this.message=e||\"An error ocurred while parsing.\",\"function\"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}}e.exports=ParserError},5128:e=>{\"use strict\";class TokenizeError extends Error{constructor(e){super(e),this.name=this.constructor.name,this.message=e||\"An error ocurred while tokzenizing.\",\"function\"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}}e.exports=TokenizeError},4320:(e,t,r)=>{\"use strict\";const n=r(4196);class FunctionNode extends n{constructor(e){super(e),this.type=\"func\",this.unbalanced=-1}}n.registerWalker(FunctionNode),e.exports=FunctionNode},9962:(e,t,r)=>{\"use strict\";const n=r(3784),o=r(5294),i=r(8709),s=r(3627),u=r(4384),a=r(4320),c=r(3074),l=r(7214),p=r(1238),f=r(9672),h=r(1369),d=r(2057),D=r(6593);let parser=function(e,t){return new n(e,t)};parser.atword=function(e){return new o(e)},parser.colon=function(e){return new i(Object.assign({value:\":\"},e))},parser.comma=function(e){return new s(Object.assign({value:\",\"},e))},parser.comment=function(e){return new u(e)},parser.func=function(e){return new a(e)},parser.number=function(e){return new c(e)},parser.operator=function(e){return new l(e)},parser.paren=function(e){return new p(Object.assign({value:\"(\"},e))},parser.string=function(e){return new f(Object.assign({quote:\"'\"},e))},parser.value=function(e){return new d(e)},parser.word=function(e){return new D(e)},parser.unicodeRange=function(e){return new h(e)},e.exports=parser},1466:e=>{\"use strict\";let cloneNode=function(e,t){let r=new e.constructor;for(let n in e){if(!e.hasOwnProperty(n))continue;let o=e[n],i=typeof o;\"parent\"===n&&\"object\"===i?t&&(r[n]=t):\"source\"===n?r[n]=o:o instanceof Array?r[n]=o.map((e=>cloneNode(e,r))):\"before\"!==n&&\"after\"!==n&&\"between\"!==n&&\"semicolon\"!==n&&(\"object\"===i&&null!==o&&(o=cloneNode(o)),r[n]=o)}return r};e.exports=class{constructor(e){e=e||{},this.raws={before:\"\",after:\"\"};for(let t in e)this[t]=e[t]}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(){return[this.raws.before,String(this.value),this.raws.after].join(\"\")}clone(e){e=e||{};let t=cloneNode(this);for(let r in e)t[r]=e[r];return t}cloneBefore(e){e=e||{};let t=this.clone(e);return this.parent.insertBefore(this,t),t}cloneAfter(e){e=e||{};let t=this.clone(e);return this.parent.insertAfter(this,t),t}replaceWith(){let e=Array.prototype.slice.call(arguments);if(this.parent){for(let t of e)this.parent.insertBefore(this,t);this.remove()}return this}moveTo(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.append(this),this}moveBefore(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertBefore(e,this),this}moveAfter(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertAfter(e,this),this}next(){let e=this.parent.index(this);return this.parent.nodes[e+1]}prev(){let e=this.parent.index(this);return this.parent.nodes[e-1]}toJSON(){let e={};for(let t in this){if(!this.hasOwnProperty(t))continue;if(\"parent\"===t)continue;let r=this[t];r instanceof Array?e[t]=r.map((e=>\"object\"==typeof e&&e.toJSON?e.toJSON():e)):\"object\"==typeof r&&r.toJSON?e[t]=r.toJSON():e[t]=r}return e}root(){let e=this;for(;e.parent;)e=e.parent;return e}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}positionInside(e){let t=this.toString(),r=this.source.start.column,n=this.source.start.line;for(let o=0;o{\"use strict\";const n=r(4196),o=r(1466);class NumberNode extends o{constructor(e){super(e),this.type=\"number\",this.unit=Object(e).unit||\"\"}toString(){return[this.raws.before,String(this.value),this.unit,this.raws.after].join(\"\")}}n.registerWalker(NumberNode),e.exports=NumberNode},7214:(e,t,r)=>{\"use strict\";const n=r(4196),o=r(1466);class Operator extends o{constructor(e){super(e),this.type=\"operator\"}}n.registerWalker(Operator),e.exports=Operator},1238:(e,t,r)=>{\"use strict\";const n=r(4196),o=r(1466);class Parenthesis extends o{constructor(e){super(e),this.type=\"paren\",this.parenType=\"\"}}n.registerWalker(Parenthesis),e.exports=Parenthesis},3784:(e,t,r)=>{\"use strict\";const n=r(4343),o=r(2057),i=r(5294),s=r(8709),u=r(3627),a=r(4384),c=r(4320),l=r(3074),p=r(7214),f=r(1238),h=r(9672),d=r(6593),D=r(1369),g=r(2481),m=r(8051),y=r(7886),v=r(3210),C=r(9645);e.exports=class{constructor(e,t){this.cache=[],this.input=e,this.options=Object.assign({},{loose:!1},t),this.position=0,this.unbalanced=0,this.root=new n;let r=new o;this.root.append(r),this.current=r,this.tokens=g(e,this.options)}parse(){return this.loop()}colon(){let e=this.currToken;this.newNode(new s({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}comma(){let e=this.currToken;this.newNode(new u({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}comment(){let e,t=!1,r=this.currToken[1].replace(/\\/\\*|\\*\\//g,\"\");this.options.loose&&r.startsWith(\"//\")&&(r=r.substring(2),t=!0),e=new a({value:r,inline:t,source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]}),this.newNode(e),this.position++}error(e,t){throw new C(e+\" at line: \".concat(t[2],\", column \").concat(t[3]))}loop(){for(;this.position0&&(\"func\"===this.current.type&&\"calc\"===this.current.value?(\"space\"!==this.prevToken[0]&&\"(\"!==this.prevToken[0]||\"space\"!==this.nextToken[0]&&\"word\"!==this.nextToken[0]||\"word\"===this.nextToken[0]&&\"operator\"!==this.current.last.type&&\"(\"!==this.current.last.value)&&this.error(\"Syntax Error\",this.currToken):\"space\"!==this.nextToken[0]&&\"operator\"!==this.nextToken[0]&&\"operator\"!==this.prevToken[0]||this.error(\"Syntax Error\",this.currToken)),this.options.loose){if((!this.current.nodes.length||this.current.last&&\"operator\"===this.current.last.type)&&\"word\"===this.nextToken[0])return this.word()}else if(\"word\"===this.nextToken[0])return this.word();return e=new p({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),this.position++,this.newNode(e)}parseTokens(){switch(this.currToken[0]){case\"space\":this.space();break;case\"colon\":this.colon();break;case\"comma\":this.comma();break;case\"comment\":this.comment();break;case\"(\":this.parenOpen();break;case\")\":this.parenClose();break;case\"atword\":case\"word\":this.word();break;case\"operator\":this.operator();break;case\"string\":this.string();break;case\"unicoderange\":this.unicodeRange();break;default:this.word()}}parenOpen(){let e,t=1,r=this.position+1,n=this.currToken;for(;r=this.tokens.length-1&&!this.current.unbalanced||(this.current.unbalanced--,this.current.unbalanced<0&&this.error(\"Expected opening parenthesis\",e),!this.current.unbalanced&&this.cache.length&&(this.current=this.cache.pop()))}space(){let e=this.currToken;this.position===this.tokens.length-1||\",\"===this.nextToken[0]||\")\"===this.nextToken[0]?(this.current.last.raws.after+=e[1],this.position++):(this.spaces=e[1],this.position++)}unicodeRange(){let e=this.currToken;this.newNode(new D({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}splitWord(){let e,t,r=this.nextToken,n=this.currToken[1],o=/^[\\+\\-]?((\\d+(\\.\\d*)?)|(\\.\\d+))([eE][\\+\\-]?\\d+)?/;if(!/^(?!\\#([a-z0-9]+))[\\#\\{\\}]/gi.test(n))for(;r&&\"word\"===r[0];){this.position++;let e=this.currToken[1];n+=e,r=this.nextToken}var s;e=y(n,\"@\"),s=v(m([[0],e])),t=s.sort(((e,t)=>e-t)),t.forEach(((s,u)=>{let a,p=t[u+1]||n.length,f=n.slice(s,p);if(~e.indexOf(s))a=new i({value:f.slice(1),source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(p-1)}},sourceIndex:this.currToken[6]+t[u]});else if(o.test(this.currToken[1])){let e=f.replace(o,\"\");a=new l({value:f.replace(e,\"\"),source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(p-1)}},sourceIndex:this.currToken[6]+t[u],unit:e})}else a=new(r&&\"(\"===r[0]?c:d)({value:f,source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(p-1)}},sourceIndex:this.currToken[6]+t[u]}),\"Word\"===a.constructor.name?(a.isHex=/^#(.+)/.test(f),a.isColor=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(f)):this.cache.push(this.current);this.newNode(a)})),this.position++}string(){let e,t=this.currToken,r=this.currToken[1],n=/^(\\\"|\\')/,o=n.test(r),i=\"\";o&&(i=r.match(n)[0],r=r.slice(1,r.length-1)),e=new h({value:r,source:{start:{line:t[2],column:t[3]},end:{line:t[4],column:t[5]}},sourceIndex:t[6],quoted:o}),e.raws.quote=i,this.newNode(e),this.position++}word(){return this.splitWord()}newNode(e){return this.spaces&&(e.raws.before+=this.spaces,this.spaces=\"\"),this.current.append(e)}get currToken(){return this.tokens[this.position]}get nextToken(){return this.tokens[this.position+1]}get prevToken(){return this.tokens[this.position-1]}}},4343:(e,t,r)=>{\"use strict\";const n=r(4196);e.exports=class extends n{constructor(e){super(e),this.type=\"root\"}}},9672:(e,t,r)=>{\"use strict\";const n=r(4196),o=r(1466);class StringNode extends o{constructor(e){super(e),this.type=\"string\"}toString(){let e=this.quoted?this.raws.quote:\"\";return[this.raws.before,e,this.value+\"\",e,this.raws.after].join(\"\")}}n.registerWalker(StringNode),e.exports=StringNode},2481:(e,t,r)=>{\"use strict\";const n=\"{\".charCodeAt(0),o=\"}\".charCodeAt(0),i=\"(\".charCodeAt(0),s=\")\".charCodeAt(0),u=\"'\".charCodeAt(0),a='\"'.charCodeAt(0),c=\"\\\\\".charCodeAt(0),l=\"/\".charCodeAt(0),p=\".\".charCodeAt(0),f=\",\".charCodeAt(0),h=\":\".charCodeAt(0),d=\"*\".charCodeAt(0),D=\"-\".charCodeAt(0),g=\"+\".charCodeAt(0),m=\"#\".charCodeAt(0),y=\"\\n\".charCodeAt(0),v=\" \".charCodeAt(0),C=\"\\f\".charCodeAt(0),w=\"\\t\".charCodeAt(0),b=\"\\r\".charCodeAt(0),E=\"@\".charCodeAt(0),_=\"e\".charCodeAt(0),k=\"E\".charCodeAt(0),S=\"0\".charCodeAt(0),A=\"9\".charCodeAt(0),F=\"u\".charCodeAt(0),x=\"U\".charCodeAt(0),O=/[ \\n\\t\\r\\{\\(\\)'\"\\\\;,/]/g,N=/[ \\n\\t\\r\\(\\)\\{\\}\\*:;@!&'\"\\+\\|~>,\\[\\]\\\\]|\\/(?=\\*)/g,T=/[ \\n\\t\\r\\(\\)\\{\\}\\*:;@!&'\"\\-\\+\\|~>,\\[\\]\\\\]|\\//g,I=/^[a-z0-9]/i,R=/^[a-f0-9?\\-]/i,M=r(1758),P=r(5128);e.exports=function(e,t){t=t||{};let r,L,B,j,q,G,U,W,$,z,V,H=[],X=e.valueOf(),J=X.length,K=-1,Q=1,Y=0,Z=0,ee=null;function unclosed(e){let t=M.format(\"Unclosed %s at line: %d, column: %d, token: %d\",e,Q,Y-K,Y);throw new P(t)}for(;Y0&&\"word\"===H[H.length-1][0]&&\"url\"===H[H.length-1][1],H.push([\"(\",\"(\",Q,Y-K,Q,L-K,Y]);break;case s:Z--,ee=ee&&Z>0,H.push([\")\",\")\",Q,Y-K,Q,L-K,Y]);break;case u:case a:B=r===u?\"'\":'\"',L=Y;do{for($=!1,L=X.indexOf(B,L+1),-1===L&&unclosed(\"quote\"),z=L;X.charCodeAt(z-1)===c;)z-=1,$=!$}while($);H.push([\"string\",X.slice(Y,L+1),Q,Y-K,Q,L-K,Y]),Y=L;break;case E:O.lastIndex=Y+1,O.test(X),L=0===O.lastIndex?X.length-1:O.lastIndex-2,H.push([\"atword\",X.slice(Y,L+1),Q,Y-K,Q,L-K,Y]),Y=L;break;case c:L=Y,r=X.charCodeAt(L+1),H.push([\"word\",X.slice(Y,L+1),Q,Y-K,Q,L-K,Y]),Y=L;break;case g:case D:case d:L=Y+1,V=X.slice(Y+1,L+1);X.slice(Y-1,Y);if(r===D&&V.charCodeAt(0)===D){L++,H.push([\"word\",X.slice(Y,L),Q,Y-K,Q,L-K,Y]),Y=L-1;break}H.push([\"operator\",X.slice(Y,L),Q,Y-K,Q,L-K,Y]),Y=L-1;break;default:if(r===l&&(X.charCodeAt(Y+1)===d||t.loose&&!ee&&X.charCodeAt(Y+1)===l)){if(X.charCodeAt(Y+1)===d)L=X.indexOf(\"*/\",Y+2)+1,0===L&&unclosed(\"comment\");else{const e=X.indexOf(\"\\n\",Y+2);L=-1!==e?e-1:J}G=X.slice(Y,L+1),j=G.split(\"\\n\"),q=j.length-1,q>0?(U=Q+q,W=L-j[q].length):(U=Q,W=K),H.push([\"comment\",G,Q,Y-K,U,L-W,Y]),K=W,Q=U,Y=L}else if(r!==m||I.test(X.slice(Y+1,Y+2)))if(r!==F&&r!==x||X.charCodeAt(Y+1)!==g)if(r===l)L=Y+1,H.push([\"operator\",X.slice(Y,L),Q,Y-K,Q,L-K,Y]),Y=L-1;else{let e=N;if(r>=S&&r<=A&&(e=T),e.lastIndex=Y+1,e.test(X),L=0===e.lastIndex?X.length-1:e.lastIndex-2,e===T||r===p){let e=X.charCodeAt(L),t=X.charCodeAt(L+1),r=X.charCodeAt(L+2);(e===_||e===k)&&(t===D||t===g)&&r>=S&&r<=A&&(T.lastIndex=L+2,T.test(X),L=0===T.lastIndex?X.length-1:T.lastIndex-2)}H.push([\"word\",X.slice(Y,L+1),Q,Y-K,Q,L-K,Y]),Y=L}else{L=Y+2;do{L+=1,r=X.charCodeAt(L)}while(L{\"use strict\";const n=r(4196),o=r(1466);class UnicodeRange extends o{constructor(e){super(e),this.type=\"unicode-range\"}}n.registerWalker(UnicodeRange),e.exports=UnicodeRange},2057:(e,t,r)=>{\"use strict\";const n=r(4196);e.exports=class extends n{constructor(e){super(e),this.type=\"value\",this.unbalanced=0}}},6593:(e,t,r)=>{\"use strict\";const n=r(4196),o=r(1466);class Word extends o{constructor(e){super(e),this.type=\"word\"}}n.registerWalker(Word),e.exports=Word},8940:(e,t,r)=>{\"use strict\";var n;t.__esModule=!0,t.default=void 0;var o=function(e){var t,r;function AtRule(t){var r;return(r=e.call(this,t)||this).type=\"atrule\",r}r=e,(t=AtRule).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var n=AtRule.prototype;return n.append=function(){var t;this.nodes||(this.nodes=[]);for(var r=arguments.length,n=new Array(r),o=0;o{\"use strict\";var n;t.__esModule=!0,t.default=void 0;var o=function(e){var t,r;function Comment(t){var r;return(r=e.call(this,t)||this).type=\"comment\",r}return r=e,(t=Comment).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,Comment}(((n=r(1714))&&n.__esModule?n:{default:n}).default);t.default=o,e.exports=t.default},1204:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(6417)),o=_interopRequireDefault(r(3102));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _createForOfIteratorHelperLoose(e,t){var r;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if(\"string\"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(e,t)}(e))||t&&e&&\"number\"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}return(r=e[Symbol.iterator]()).next.bind(r)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e&&(this.indexes[r]=t-1);return this},c.removeAll=function(){for(var e,t=_createForOfIteratorHelperLoose(this.nodes);!(e=t()).done;){e.value.parent=void 0}return this.nodes=[],this},c.replaceValues=function(e,t,r){return r||(r=t,t={}),this.walkDecls((function(n){t.props&&-1===t.props.indexOf(n.prop)||t.fast&&-1===n.value.indexOf(t.fast)||(n.value=n.value.replace(e,r))})),this},c.every=function(e){return this.nodes.every(e)},c.some=function(e){return this.nodes.some(e)},c.index=function(e){return\"number\"==typeof e?e:this.nodes.indexOf(e)},c.normalize=function(e,t){var i=this;if(\"string\"==typeof e)e=cleanSource(r(7057)(e).nodes);else if(Array.isArray(e))for(var s,u=_createForOfIteratorHelperLoose(e=e.slice(0));!(s=u()).done;){var a=s.value;a.parent&&a.parent.removeChild(a,\"ignore\")}else if(\"root\"===e.type)for(var c,l=_createForOfIteratorHelperLoose(e=e.nodes.slice(0));!(c=l()).done;){var p=c.value;p.parent&&p.parent.removeChild(p,\"ignore\")}else if(e.type)e=[e];else if(e.prop){if(void 0===e.value)throw new Error(\"Value field is missed in node creation\");\"string\"!=typeof e.value&&(e.value=String(e.value)),e=[new n.default(e)]}else if(e.selector){e=[new(r(6621))(e)]}else if(e.name){e=[new(r(8940))(e)]}else{if(!e.text)throw new Error(\"Unknown node type in node creation\");e=[new o.default(e)]}return e.map((function(e){return e.parent&&e.parent.removeChild(e),void 0===e.raws.before&&t&&void 0!==t.raws.before&&(e.raws.before=t.raws.before.replace(/[^\\s]/g,\"\")),e.parent=i,e}))},s=Container,(u=[{key:\"first\",get:function(){if(this.nodes)return this.nodes[0]}},{key:\"last\",get:function(){if(this.nodes)return this.nodes[this.nodes.length-1]}}])&&_defineProperties(s.prototype,u),a&&_defineProperties(s,a),Container}(_interopRequireDefault(r(1714)).default);t.default=i,e.exports=t.default},1667:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(825)),o=_interopRequireDefault(r(7027)),i=_interopRequireDefault(r(5208));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _wrapNativeSuper(e){var t=\"function\"==typeof Map?new Map:void 0;return(_wrapNativeSuper=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf(\"[native code]\")))return e;var r;if(\"function\"!=typeof e)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,Wrapper)}function Wrapper(){return _construct(e,arguments,_getPrototypeOf(this).constructor)}return Wrapper.prototype=Object.create(e.prototype,{constructor:{value:Wrapper,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(Wrapper,e)})(e)}function _construct(e,t,r){return(_construct=_isNativeReflectConstruct()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&_setPrototypeOf(o,r.prototype),o}).apply(null,arguments)}function _isNativeReflectConstruct(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var s=function(e){var t,r;function CssSyntaxError(t,r,n,o,i,s){var u;return(u=e.call(this,t)||this).name=\"CssSyntaxError\",u.reason=t,i&&(u.file=i),o&&(u.source=o),s&&(u.plugin=s),void 0!==r&&void 0!==n&&(u.line=r,u.column=n),u.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(u),CssSyntaxError),u}r=e,(t=CssSyntaxError).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var s=CssSyntaxError.prototype;return s.setMessage=function(){this.message=this.plugin?this.plugin+\": \":\"\",this.message+=this.file?this.file:\"\",void 0!==this.line&&(this.message+=\":\"+this.line+\":\"+this.column),this.message+=\": \"+this.reason},s.showSourceCode=function(e){var t=this;if(!this.source)return\"\";var r=this.source;i.default&&(void 0===e&&(e=n.default.stdout),e&&(r=(0,i.default)(r)));var s=r.split(/\\r?\\n/),u=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),c=String(a).length;function mark(t){return e&&o.default.red?o.default.red.bold(t):t}function aside(t){return e&&o.default.gray?o.default.gray(t):t}return s.slice(u,a).map((function(e,r){var n=u+1+r,o=\" \"+(\" \"+n).slice(-c)+\" | \";if(n===t.line){var i=aside(o.replace(/\\d/g,\" \"))+e.slice(0,t.column-1).replace(/[^\\t]/g,\" \");return mark(\">\")+aside(o)+e+\"\\n \"+i+mark(\"^\")}return\" \"+aside(o)+e})).join(\"\\n\")},s.toString=function(){var e=this.showSourceCode();return e&&(e=\"\\n\\n\"+e+\"\\n\"),this.name+\": \"+this.message+e},CssSyntaxError}(_wrapNativeSuper(Error));t.default=s,e.exports=t.default},6417:(e,t,r)=>{\"use strict\";var n;t.__esModule=!0,t.default=void 0;var o=function(e){var t,r;function Declaration(t){var r;return(r=e.call(this,t)||this).type=\"decl\",r}return r=e,(t=Declaration).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,Declaration}(((n=r(1714))&&n.__esModule?n:{default:n}).default);t.default=o,e.exports=t.default},2993:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(6391)),o=_interopRequireDefault(r(1667)),i=_interopRequireDefault(r(3353));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperties(e,t){for(var r=0;r\"),this.map&&(this.map.file=this.from)}var e,t,r,u=Input.prototype;return u.error=function(e,t,r,n){var i;void 0===n&&(n={});var s=this.origin(t,r);return(i=s?new o.default(e,s.line,s.column,s.source,s.file,n.plugin):new o.default(e,t,r,this.css,this.file,n.plugin)).input={line:t,column:r,source:this.css},this.file&&(i.input.file=this.file),i},u.origin=function(e,t){if(!this.map)return!1;var r=this.map.consumer(),n=r.originalPositionFor({line:e,column:t});if(!n.source)return!1;var o={file:this.mapResolve(n.source),line:n.line,column:n.column},i=r.sourceContentFor(n.source);return i&&(o.source=i),o},u.mapResolve=function(e){return/^\\w+:\\/\\//.test(e)?e:n.default.resolve(this.map.consumer().sourceRoot||\".\",e)},e=Input,(t=[{key:\"from\",get:function(){return this.file||this.id}}])&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Input}();t.default=u,e.exports=t.default},6992:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(8991)),o=_interopRequireDefault(r(6157)),i=(_interopRequireDefault(r(6574)),_interopRequireDefault(r(6865))),s=_interopRequireDefault(r(7057));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _createForOfIteratorHelperLoose(e,t){var r;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if(\"string\"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(e,t)}(e))||t&&e&&\"number\"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}return(r=e[Symbol.iterator]()).next.bind(r)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=this.processor.plugins.length)return this.processed=!0,e();try{var n=this.processor.plugins[this.plugin],o=this.run(n);this.plugin+=1,isPromise(o)?o.then((function(){r.asyncTick(e,t)})).catch((function(e){r.handleError(e,n),r.processed=!0,t(e)})):this.asyncTick(e,t)}catch(e){this.processed=!0,t(e)}},u.async=function(){var e=this;return this.processed?new Promise((function(t,r){e.error?r(e.error):t(e.stringify())})):(this.processing||(this.processing=new Promise((function(t,r){if(e.error)return r(e.error);e.plugin=0,e.asyncTick(t,r)})).then((function(){return e.processed=!0,e.stringify()}))),this.processing)},u.sync=function(){if(this.processed)return this.result;if(this.processed=!0,this.processing)throw new Error(\"Use process(css).then(cb) to work with async plugins\");if(this.error)throw this.error;for(var e,t=_createForOfIteratorHelperLoose(this.result.processor.plugins);!(e=t()).done;){var r=e.value;if(isPromise(this.run(r)))throw new Error(\"Use process(css).then(cb) to work with async plugins\")}return this.result},u.run=function(e){this.result.lastPlugin=e;try{return e(this.result.root,this.result)}catch(t){throw this.handleError(t,e),t}},u.stringify=function(){if(this.stringified)return this.result;this.stringified=!0,this.sync();var e=this.result.opts,t=o.default;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);var r=new n.default(t,this.result.root,this.result.opts).generate();return this.result.css=r[0],this.result.map=r[1],this.result},e=LazyResult,(t=[{key:\"processor\",get:function(){return this.result.processor}},{key:\"opts\",get:function(){return this.result.opts}},{key:\"css\",get:function(){return this.stringify().css}},{key:\"content\",get:function(){return this.stringify().content}},{key:\"map\",get:function(){return this.stringify().map}},{key:\"root\",get:function(){return this.sync().root}},{key:\"messages\",get:function(){return this.sync().messages}}])&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),LazyResult}();t.default=u,e.exports=t.default},6136:(e,t)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var r={split:function(e,t,r){for(var n=[],o=\"\",i=!1,s=0,u=!1,a=!1,c=0;c0&&(s-=1):0===s&&-1!==t.indexOf(l)&&(i=!0),i?(\"\"!==o&&n.push(o.trim()),o=\"\",i=!1):o+=l}return(r||\"\"!==o)&&n.push(o.trim()),n},space:function(e){return r.split(e,[\" \",\"\\n\",\"\\t\"])},comma:function(e){return r.split(e,[\",\"],!0)}},n=r;t.default=n,e.exports=t.default},8991:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(2447)),o=_interopRequireDefault(r(6391));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _createForOfIteratorHelperLoose(e,t){var r;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if(\"string\"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(e,t)}(e))||t&&e&&\"number\"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}return(r=e[Symbol.iterator]()).next.bind(r)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0},e.previous=function(){var e=this;return this.previousMaps||(this.previousMaps=[],this.root.walk((function(t){if(t.source&&t.source.input.map){var r=t.source.input.map;-1===e.previousMaps.indexOf(r)&&e.previousMaps.push(r)}}))),this.previousMaps},e.isInline=function(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;var e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some((function(e){return e.inline})))},e.isSourcesContent=function(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some((function(e){return e.withContent()}))},e.clearAnnotation=function(){if(!1!==this.mapOpts.annotation)for(var e,t=this.root.nodes.length-1;t>=0;t--)\"comment\"===(e=this.root.nodes[t]).type&&0===e.text.indexOf(\"# sourceMappingURL=\")&&this.root.removeChild(t)},e.setSourcesContent=function(){var e=this,t={};this.root.walk((function(r){if(r.source){var n=r.source.input.from;if(n&&!t[n]){t[n]=!0;var o=e.relative(n);e.map.setSourceContent(o,r.source.input.css)}}}))},e.applyPrevMaps=function(){for(var e,t=_createForOfIteratorHelperLoose(this.previous());!(e=t()).done;){var r=e.value,i=this.relative(r.file),s=r.root||o.default.dirname(r.file),u=void 0;!1===this.mapOpts.sourcesContent?(u=new n.default.SourceMapConsumer(r.text)).sourcesContent&&(u.sourcesContent=u.sourcesContent.map((function(){return null}))):u=r.consumer(),this.map.applySourceMap(u,i,this.relative(s))}},e.isAnnotation=function(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some((function(e){return e.annotation})))},e.toBase64=function(e){return Buffer?Buffer.from(e).toString(\"base64\"):window.btoa(unescape(encodeURIComponent(e)))},e.addAnnotation=function(){var e;e=this.isInline()?\"data:application/json;base64,\"+this.toBase64(this.map.toString()):\"string\"==typeof this.mapOpts.annotation?this.mapOpts.annotation:this.outputFile()+\".map\";var t=\"\\n\";-1!==this.css.indexOf(\"\\r\\n\")&&(t=\"\\r\\n\"),this.css+=t+\"/*# sourceMappingURL=\"+e+\" */\"},e.outputFile=function(){return this.opts.to?this.relative(this.opts.to):this.opts.from?this.relative(this.opts.from):\"to.css\"},e.generateMap=function(){return this.generateString(),this.isSourcesContent()&&this.setSourcesContent(),this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]},e.relative=function(e){if(0===e.indexOf(\"<\"))return e;if(/^\\w+:\\/\\//.test(e))return e;var t=this.opts.to?o.default.dirname(this.opts.to):\".\";return\"string\"==typeof this.mapOpts.annotation&&(t=o.default.dirname(o.default.resolve(t,this.mapOpts.annotation))),e=o.default.relative(t,e),\"\\\\\"===o.default.sep?e.replace(/\\\\/g,\"/\"):e},e.sourcePath=function(e){return this.mapOpts.from?this.mapOpts.from:this.relative(e.source.input.from)},e.generateString=function(){var e=this;this.css=\"\",this.map=new n.default.SourceMapGenerator({file:this.outputFile()});var t,r,o=1,i=1;this.stringify(this.root,(function(n,s,u){if(e.css+=n,s&&\"end\"!==u&&(s.source&&s.source.start?e.map.addMapping({source:e.sourcePath(s),generated:{line:o,column:i-1},original:{line:s.source.start.line,column:s.source.start.column-1}}):e.map.addMapping({source:\"\",original:{line:1,column:0},generated:{line:o,column:i-1}})),(t=n.match(/\\n/g))?(o+=t.length,r=n.lastIndexOf(\"\\n\"),i=n.length-r):i+=n.length,s&&\"start\"!==u){var a=s.parent||{raws:{}};(\"decl\"!==s.type||s!==a.last||a.raws.semicolon)&&(s.source&&s.source.end?e.map.addMapping({source:e.sourcePath(s),generated:{line:o,column:i-2},original:{line:s.source.end.line,column:s.source.end.column-1}}):e.map.addMapping({source:\"\",original:{line:1,column:0},generated:{line:o,column:i-1}}))}}))},e.generate=function(){if(this.clearAnnotation(),this.isMap())return this.generateMap();var e=\"\";return this.stringify(this.root,(function(t){e+=t})),[e]},MapGenerator}();t.default=i,e.exports=t.default},1714:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(1667)),o=_interopRequireDefault(r(5701)),i=_interopRequireDefault(r(6157));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function cloneNode(e,t){var r=new e.constructor;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n],i=typeof o;\"parent\"===n&&\"object\"===i?t&&(r[n]=t):\"source\"===n?r[n]=o:o instanceof Array?r[n]=o.map((function(e){return cloneNode(e,r)})):(\"object\"===i&&null!==o&&(o=cloneNode(o)),r[n]=o)}return r}var s=function(){function Node(e){for(var t in void 0===e&&(e={}),this.raws={},e)this[t]=e[t]}var e=Node.prototype;return e.error=function(e,t){if(void 0===t&&(t={}),this.source){var r=this.positionBy(t);return this.source.input.error(e,r.line,r.column,t)}return new n.default(e)},e.warn=function(e,t,r){var n={node:this};for(var o in r)n[o]=r[o];return e.warn(t,n)},e.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},e.toString=function(e){void 0===e&&(e=i.default),e.stringify&&(e=e.stringify);var t=\"\";return e(this,(function(e){t+=e})),t},e.clone=function(e){void 0===e&&(e={});var t=cloneNode(this);for(var r in e)t[r]=e[r];return t},e.cloneBefore=function(e){void 0===e&&(e={});var t=this.clone(e);return this.parent.insertBefore(this,t),t},e.cloneAfter=function(e){void 0===e&&(e={});var t=this.clone(e);return this.parent.insertAfter(this,t),t},e.replaceWith=function(){if(this.parent){for(var e=arguments.length,t=new Array(e),r=0;r{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(7116)),o=_interopRequireDefault(r(2993));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=function(e,t){var r=new o.default(e,t),i=new n.default(r);try{i.parse()}catch(e){throw e}return i.root};t.default=_default,e.exports=t.default},7116:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(6417)),o=_interopRequireDefault(r(1157)),i=_interopRequireDefault(r(3102)),s=_interopRequireDefault(r(8940)),u=_interopRequireDefault(r(7563)),a=_interopRequireDefault(r(6621));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var c=function(){function Parser(e){this.input=e,this.root=new u.default,this.current=this.root,this.spaces=\"\",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{line:1,column:1}}}var e=Parser.prototype;return e.createTokenizer=function(){this.tokenizer=(0,o.default)(this.input)},e.parse=function(){for(var e;!this.tokenizer.endOfFile();)switch((e=this.tokenizer.nextToken())[0]){case\"space\":this.spaces+=e[1];break;case\";\":this.freeSemicolon(e);break;case\"}\":this.end(e);break;case\"comment\":this.comment(e);break;case\"at-word\":this.atrule(e);break;case\"{\":this.emptyRule(e);break;default:this.other(e)}this.endFile()},e.comment=function(e){var t=new i.default;this.init(t,e[2],e[3]),t.source.end={line:e[4],column:e[5]};var r=e[1].slice(2,-2);if(/^\\s*$/.test(r))t.text=\"\",t.raws.left=r,t.raws.right=\"\";else{var n=r.match(/^(\\s*)([^]*[^\\s])(\\s*)$/);t.text=n[2],t.raws.left=n[1],t.raws.right=n[3]}},e.emptyRule=function(e){var t=new a.default;this.init(t,e[2],e[3]),t.selector=\"\",t.raws.between=\"\",this.current=t},e.other=function(e){for(var t=!1,r=null,n=!1,o=null,i=[],s=[],u=e;u;){if(r=u[0],s.push(u),\"(\"===r||\"[\"===r)o||(o=u),i.push(\"(\"===r?\")\":\"]\");else if(0===i.length){if(\";\"===r){if(n)return void this.decl(s);break}if(\"{\"===r)return void this.rule(s);if(\"}\"===r){this.tokenizer.back(s.pop()),t=!0;break}\":\"===r&&(n=!0)}else r===i[i.length-1]&&(i.pop(),0===i.length&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),i.length>0&&this.unclosedBracket(o),t&&n){for(;s.length&&(\"space\"===(u=s[s.length-1][0])||\"comment\"===u);)this.tokenizer.back(s.pop());this.decl(s)}else this.unknownWord(s)},e.rule=function(e){e.pop();var t=new a.default;this.init(t,e[0][2],e[0][3]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,\"selector\",e),this.current=t},e.decl=function(e){var t=new n.default;this.init(t);var r,o=e[e.length-1];for(\";\"===o[0]&&(this.semicolon=!0,e.pop()),o[4]?t.source.end={line:o[4],column:o[5]}:t.source.end={line:o[2],column:o[3]};\"word\"!==e[0][0];)1===e.length&&this.unknownWord(e),t.raws.before+=e.shift()[1];for(t.source.start={line:e[0][2],column:e[0][3]},t.prop=\"\";e.length;){var i=e[0][0];if(\":\"===i||\"space\"===i||\"comment\"===i)break;t.prop+=e.shift()[1]}for(t.raws.between=\"\";e.length;){if(\":\"===(r=e.shift())[0]){t.raws.between+=r[1];break}\"word\"===r[0]&&/\\w/.test(r[1])&&this.unknownWord([r]),t.raws.between+=r[1]}\"_\"!==t.prop[0]&&\"*\"!==t.prop[0]||(t.raws.before+=t.prop[0],t.prop=t.prop.slice(1)),t.raws.between+=this.spacesAndCommentsFromStart(e),this.precheckMissedSemicolon(e);for(var s=e.length-1;s>0;s--){if(\"!important\"===(r=e[s])[1].toLowerCase()){t.important=!0;var u=this.stringFrom(e,s);\" !important\"!==(u=this.spacesFromEnd(e)+u)&&(t.raws.important=u);break}if(\"important\"===r[1].toLowerCase()){for(var a=e.slice(0),c=\"\",l=s;l>0;l--){var p=a[l][0];if(0===c.trim().indexOf(\"!\")&&\"space\"!==p)break;c=a.pop()[1]+c}0===c.trim().indexOf(\"!\")&&(t.important=!0,t.raws.important=c,e=a)}if(\"space\"!==r[0]&&\"comment\"!==r[0])break}this.raw(t,\"value\",e),-1!==t.value.indexOf(\":\")&&this.checkMissedSemicolon(e)},e.atrule=function(e){var t,r,n=new s.default;n.name=e[1].slice(1),\"\"===n.name&&this.unnamedAtrule(n,e),this.init(n,e[2],e[3]);for(var o=!1,i=!1,u=[];!this.tokenizer.endOfFile();){if(\";\"===(e=this.tokenizer.nextToken())[0]){n.source.end={line:e[2],column:e[3]},this.semicolon=!0;break}if(\"{\"===e[0]){i=!0;break}if(\"}\"===e[0]){if(u.length>0){for(t=u[r=u.length-1];t&&\"space\"===t[0];)t=u[--r];t&&(n.source.end={line:t[4],column:t[5]})}this.end(e);break}if(u.push(e),this.tokenizer.endOfFile()){o=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(u),u.length?(n.raws.afterName=this.spacesAndCommentsFromStart(u),this.raw(n,\"params\",u),o&&(e=u[u.length-1],n.source.end={line:e[4],column:e[5]},this.spaces=n.raws.between,n.raws.between=\"\")):(n.raws.afterName=\"\",n.params=\"\"),i&&(n.nodes=[],this.current=n)},e.end=function(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||\"\")+this.spaces,this.spaces=\"\",this.current.parent?(this.current.source.end={line:e[2],column:e[3]},this.current=this.current.parent):this.unexpectedClose(e)},e.endFile=function(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||\"\")+this.spaces},e.freeSemicolon=function(e){if(this.spaces+=e[1],this.current.nodes){var t=this.current.nodes[this.current.nodes.length-1];t&&\"rule\"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces=\"\")}},e.init=function(e,t,r){this.current.push(e),e.source={start:{line:t,column:r},input:this.input},e.raws.before=this.spaces,this.spaces=\"\",\"comment\"!==e.type&&(this.semicolon=!1)},e.raw=function(e,t,r){for(var n,o,i,s,u=r.length,a=\"\",c=!0,l=/^([.|#])?([\\w])+/i,p=0;p=0&&(\"space\"===(r=e[o])[0]||2!==(n+=1));o--);throw this.input.error(\"Missed semicolon\",r[2],r[3])}},Parser}();t.default=c,e.exports=t.default},3353:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(2447)),o=_interopRequireDefault(r(6391)),i=_interopRequireDefault(r(7545));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var s=function(){function PreviousMap(e,t){this.loadAnnotation(e),this.inline=this.startWith(this.annotation,\"data:\");var r=t.map?t.map.prev:void 0,n=this.loadMap(t.from,r);n&&(this.text=n)}var e=PreviousMap.prototype;return e.consumer=function(){return this.consumerCache||(this.consumerCache=new n.default.SourceMapConsumer(this.text)),this.consumerCache},e.withContent=function(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)},e.startWith=function(e,t){return!!e&&e.substr(0,t.length)===t},e.getAnnotationURL=function(e){return e.match(/\\/\\*\\s*# sourceMappingURL=(.*)\\s*\\*\\//)[1].trim()},e.loadAnnotation=function(e){var t=e.match(/\\/\\*\\s*# sourceMappingURL=(.*)\\s*\\*\\//gm);if(t&&t.length>0){var r=t[t.length-1];r&&(this.annotation=this.getAnnotationURL(r))}},e.decodeInline=function(e){var t,r=\"data:application/json,\";if(this.startWith(e,r))return decodeURIComponent(e.substr(r.length));if(/^data:application\\/json;charset=utf-?8;base64,/.test(e)||/^data:application\\/json;base64,/.test(e))return t=e.substr(RegExp.lastMatch.length),Buffer?Buffer.from(t,\"base64\").toString():window.atob(t);var n=e.match(/data:application\\/json;([^,]+),/)[1];throw new Error(\"Unsupported source map encoding \"+n)},e.loadMap=function(e,t){if(!1===t)return!1;if(t){if(\"string\"==typeof t)return t;if(\"function\"==typeof t){var r=t(e);if(r&&i.default.existsSync&&i.default.existsSync(r))return i.default.readFileSync(r,\"utf-8\").toString().trim();throw new Error(\"Unable to load previous source map: \"+r.toString())}if(t instanceof n.default.SourceMapConsumer)return n.default.SourceMapGenerator.fromSourceMap(t).toString();if(t instanceof n.default.SourceMapGenerator)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error(\"Unsupported previous source map format: \"+t.toString())}if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){var s=this.annotation;return e&&(s=o.default.join(o.default.dirname(e),s)),this.root=o.default.dirname(s),!(!i.default.existsSync||!i.default.existsSync(s))&&i.default.readFileSync(s,\"utf-8\").toString().trim()}},e.isMap=function(e){return\"object\"==typeof e&&(\"string\"==typeof e.mappings||\"string\"==typeof e._mappings)},PreviousMap}();t.default=s,e.exports=t.default},9429:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n,o=(n=r(6992))&&n.__esModule?n:{default:n};function _createForOfIteratorHelperLoose(e,t){var r;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if(\"string\"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(e,t)}(e))||t&&e&&\"number\"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}return(r=e[Symbol.iterator]()).next.bind(r)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r{\"use strict\";t.__esModule=!0,t.default=void 0;var n,o=(n=r(1662))&&n.__esModule?n:{default:n};function _defineProperties(e,t){for(var r=0;r{\"use strict\";var n;function _createForOfIteratorHelperLoose(e,t){var r;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if(\"string\"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(e,t)}(e))||t&&e&&\"number\"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}return(r=e[Symbol.iterator]()).next.bind(r)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&(this.nodes[1].raws.before=this.nodes[n].raws.before),e.prototype.removeChild.call(this,t)},o.normalize=function(t,r,n){var o=e.prototype.normalize.call(this,t);if(r)if(\"prepend\"===n)this.nodes.length>1?r.raws.before=this.nodes[1].raws.before:delete r.raws.before;else if(this.first!==r)for(var i,s=_createForOfIteratorHelperLoose(o);!(i=s()).done;){i.value.raws.before=r.raws.before}return o},o.toResult=function(e){return void 0===e&&(e={}),new(r(6992))(new(r(9429)),this,e).stringify()},Root}(((n=r(1204))&&n.__esModule?n:{default:n}).default);t.default=o,e.exports=t.default},6621:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(1204)),o=_interopRequireDefault(r(6136));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperties(e,t){for(var r=0;r{\"use strict\";t.__esModule=!0,t.default=void 0;var r={colon:\": \",indent:\" \",beforeDecl:\"\\n\",beforeRule:\"\\n\",beforeOpen:\" \",beforeClose:\"\\n\",beforeComment:\"\\n\",after:\"\\n\",emptyBody:\"\",commentLeft:\" \",commentRight:\" \",semicolon:!1};var n=function(){function Stringifier(e){this.builder=e}var e=Stringifier.prototype;return e.stringify=function(e,t){this[e.type](e,t)},e.root=function(e){this.body(e),e.raws.after&&this.builder(e.raws.after)},e.comment=function(e){var t=this.raw(e,\"left\",\"commentLeft\"),r=this.raw(e,\"right\",\"commentRight\");this.builder(\"/*\"+t+e.text+r+\"*/\",e)},e.decl=function(e,t){var r=this.raw(e,\"between\",\"colon\"),n=e.prop+r+this.rawValue(e,\"value\");e.important&&(n+=e.raws.important||\" !important\"),t&&(n+=\";\"),this.builder(n,e)},e.rule=function(e){this.block(e,this.rawValue(e,\"selector\")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,\"end\")},e.atrule=function(e,t){var r=\"@\"+e.name,n=e.params?this.rawValue(e,\"params\"):\"\";if(void 0!==e.raws.afterName?r+=e.raws.afterName:n&&(r+=\" \"),e.nodes)this.block(e,r+n);else{var o=(e.raws.between||\"\")+(t?\";\":\"\");this.builder(r+n+o,e)}},e.body=function(e){for(var t=e.nodes.length-1;t>0&&\"comment\"===e.nodes[t].type;)t-=1;for(var r=this.raw(e,\"semicolon\"),n=0;n0&&void 0!==e.raws.after)return-1!==(t=e.raws.after).indexOf(\"\\n\")&&(t=t.replace(/[^\\n]+$/,\"\")),!1})),t&&(t=t.replace(/[^\\s]/g,\"\")),t},e.rawBeforeOpen=function(e){var t;return e.walk((function(e){if(\"decl\"!==e.type&&void 0!==(t=e.raws.between))return!1})),t},e.rawColon=function(e){var t;return e.walkDecls((function(e){if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\\s:]/g,\"\"),!1})),t},e.beforeAfter=function(e,t){var r;r=\"decl\"===e.type?this.raw(e,null,\"beforeDecl\"):\"comment\"===e.type?this.raw(e,null,\"beforeComment\"):\"before\"===t?this.raw(e,null,\"beforeRule\"):this.raw(e,null,\"beforeClose\");for(var n=e.parent,o=0;n&&\"root\"!==n.type;)o+=1,n=n.parent;if(-1!==r.indexOf(\"\\n\")){var i=this.raw(e,null,\"indent\");if(i.length)for(var s=0;s{\"use strict\";t.__esModule=!0,t.default=void 0;var n,o=(n=r(5701))&&n.__esModule?n:{default:n};var _default=function(e,t){new o.default(t).stringify(e)};t.default=_default,e.exports=t.default},1157:(e,t)=>{\"use strict\";t.__esModule=!0,t.default=function(e,t){void 0===t&&(t={});var k,S,A,F,x,O,N,T,I,R,M,P,L,B,j=e.css.valueOf(),q=t.ignoreErrors,G=j.length,U=-1,W=1,$=0,z=[],V=[];function unclosed(t){throw e.error(\"Unclosed \"+t,W,$-U)}return{back:function(e){V.push(e)},nextToken:function(e){if(V.length)return V.pop();if(!($>=G)){var t=!!e&&e.ignoreUnclosed;switch(((k=j.charCodeAt($))===s||k===a||k===l&&j.charCodeAt($+1)!==s)&&(U=$,W+=1),k){case s:case u:case c:case l:case a:S=$;do{S+=1,(k=j.charCodeAt(S))===s&&(U=S,W+=1)}while(k===u||k===s||k===c||k===l||k===a);B=[\"space\",j.slice($,S)],$=S-1;break;case p:case f:case D:case g:case v:case m:case d:var H=String.fromCharCode(k);B=[H,H,W,$-U];break;case h:if(P=z.length?z.pop()[1]:\"\",L=j.charCodeAt($+1),\"url\"===P&&L!==r&&L!==n&&L!==u&&L!==s&&L!==c&&L!==a&&L!==l){S=$;do{if(R=!1,-1===(S=j.indexOf(\")\",S+1))){if(q||t){S=$;break}unclosed(\"bracket\")}for(M=S;j.charCodeAt(M-1)===o;)M-=1,R=!R}while(R);B=[\"brackets\",j.slice($,S+1),W,$-U,W,S-U],$=S}else S=j.indexOf(\")\",$+1),O=j.slice($,S+1),-1===S||E.test(O)?B=[\"(\",\"(\",W,$-U]:(B=[\"brackets\",O,W,$-U,W,S-U],$=S);break;case r:case n:A=k===r?\"'\":'\"',S=$;do{if(R=!1,-1===(S=j.indexOf(A,S+1))){if(q||t){S=$+1;break}unclosed(\"string\")}for(M=S;j.charCodeAt(M-1)===o;)M-=1,R=!R}while(R);O=j.slice($,S+1),F=O.split(\"\\n\"),(x=F.length-1)>0?(T=W+x,I=S-F[x].length):(T=W,I=U),B=[\"string\",j.slice($,S+1),W,$-U,T,S-I],U=I,W=T,$=S;break;case C:w.lastIndex=$+1,w.test(j),S=0===w.lastIndex?j.length-1:w.lastIndex-2,B=[\"at-word\",j.slice($,S+1),W,$-U,W,S-U],$=S;break;case o:for(S=$,N=!0;j.charCodeAt(S+1)===o;)S+=1,N=!N;if(k=j.charCodeAt(S+1),N&&k!==i&&k!==u&&k!==s&&k!==c&&k!==l&&k!==a&&(S+=1,_.test(j.charAt(S)))){for(;_.test(j.charAt(S+1));)S+=1;j.charCodeAt(S+1)===u&&(S+=1)}B=[\"word\",j.slice($,S+1),W,$-U,W,S-U],$=S;break;default:k===i&&j.charCodeAt($+1)===y?(0===(S=j.indexOf(\"*/\",$+2)+1)&&(q||t?S=j.length:unclosed(\"comment\")),O=j.slice($,S+1),F=O.split(\"\\n\"),(x=F.length-1)>0?(T=W+x,I=S-F[x].length):(T=W,I=U),B=[\"comment\",O,W,$-U,T,S-I],U=I,W=T,$=S):(b.lastIndex=$+1,b.test(j),S=0===b.lastIndex?j.length-1:b.lastIndex-2,B=[\"word\",j.slice($,S+1),W,$-U,W,S-U],z.push(B),$=S)}return $++,B}},endOfFile:function(){return 0===V.length&&$>=G},position:function(){return $}}};var r=\"'\".charCodeAt(0),n='\"'.charCodeAt(0),o=\"\\\\\".charCodeAt(0),i=\"/\".charCodeAt(0),s=\"\\n\".charCodeAt(0),u=\" \".charCodeAt(0),a=\"\\f\".charCodeAt(0),c=\"\\t\".charCodeAt(0),l=\"\\r\".charCodeAt(0),p=\"[\".charCodeAt(0),f=\"]\".charCodeAt(0),h=\"(\".charCodeAt(0),d=\")\".charCodeAt(0),D=\"{\".charCodeAt(0),g=\"}\".charCodeAt(0),m=\";\".charCodeAt(0),y=\"*\".charCodeAt(0),v=\":\".charCodeAt(0),C=\"@\".charCodeAt(0),w=/[ \\n\\t\\r\\f{}()'\"\\\\;/[\\]#]/g,b=/[ \\n\\t\\r\\f(){}:;@!'\"\\\\\\][#]|\\/(?=\\*)/g,E=/.[\\\\/(\"'\\n]/,_=/[a-f0-9]/i;e.exports=t.default},6574:(e,t)=>{\"use strict\";t.__esModule=!0,t.default=function(e){if(r[e])return;r[e]=!0,\"undefined\"!=typeof console&&console.warn&&console.warn(e)};var r={};e.exports=t.default},1662:(e,t)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var r=function(){function Warning(e,t){if(void 0===t&&(t={}),this.type=\"warning\",this.text=e,t.node&&t.node.source){var r=t.node.positionBy(t);this.line=r.line,this.column=r.column}for(var n in t)this[n]=t[n]}return Warning.prototype.toString=function(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+\": \"+this.text:this.text},Warning}();t.default=r,e.exports=t.default},6210:(e,t,r)=>{const n=r(895),{MAX_LENGTH:o,MAX_SAFE_INTEGER:i}=r(8523),{re:s,t:u}=r(3443),{compareIdentifiers:a}=r(8337);class SemVer{constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof SemVer){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \".concat(e));if(e.length>o)throw new TypeError(\"version is longer than \".concat(o,\" characters\"));n(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?s[u.LOOSE]:s[u.FULL]);if(!r)throw new TypeError(\"Invalid Version: \".concat(e));if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>i||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>i||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>i||this.patch<0)throw new TypeError(\"Invalid patch version\");r[4]?this.prerelease=r[4].split(\".\").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)\"number\"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(\"invalid increment argument: \".concat(e))}return this.format(),this.raw=this.version,this}}e.exports=SemVer},2828:(e,t,r)=>{const n=r(6210);e.exports=(e,t,r)=>new n(e,r).compare(new n(t,r))},9195:(e,t,r)=>{const n=r(2828);e.exports=(e,t,r)=>n(e,t,r)>=0},3725:(e,t,r)=>{const n=r(2828);e.exports=(e,t,r)=>n(e,t,r)<0},8523:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:t,MAX_SAFE_COMPONENT_LENGTH:16}},895:e=>{const t=\"object\"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\\bsemver\\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error(\"SEMVER\",...e):()=>{};e.exports=t},8337:e=>{const t=/^[0-9]+$/,compareIdentifiers=(e,r)=>{const n=t.test(e),o=t.test(r);return n&&o&&(e=+e,r=+r),e===r?0:n&&!o?-1:o&&!n?1:ecompareIdentifiers(t,e)}},3443:(e,t,r)=>{const{MAX_SAFE_COMPONENT_LENGTH:n}=r(8523),o=r(895),i=(t=e.exports={}).re=[],s=t.src=[],u=t.t={};let a=0;const createToken=(e,t,r)=>{const n=a++;o(n,t),u[e]=n,s[n]=t,i[n]=new RegExp(t,r?\"g\":void 0)};createToken(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),createToken(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),createToken(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),createToken(\"MAINVERSION\",\"(\".concat(s[u.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(s[u.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(s[u.NUMERICIDENTIFIER],\")\")),createToken(\"MAINVERSIONLOOSE\",\"(\".concat(s[u.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(s[u.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(s[u.NUMERICIDENTIFIERLOOSE],\")\")),createToken(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(s[u.NUMERICIDENTIFIER],\"|\").concat(s[u.NONNUMERICIDENTIFIER],\")\")),createToken(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(s[u.NUMERICIDENTIFIERLOOSE],\"|\").concat(s[u.NONNUMERICIDENTIFIER],\")\")),createToken(\"PRERELEASE\",\"(?:-(\".concat(s[u.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(s[u.PRERELEASEIDENTIFIER],\")*))\")),createToken(\"PRERELEASELOOSE\",\"(?:-?(\".concat(s[u.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(s[u.PRERELEASEIDENTIFIERLOOSE],\")*))\")),createToken(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),createToken(\"BUILD\",\"(?:\\\\+(\".concat(s[u.BUILDIDENTIFIER],\"(?:\\\\.\").concat(s[u.BUILDIDENTIFIER],\")*))\")),createToken(\"FULLPLAIN\",\"v?\".concat(s[u.MAINVERSION]).concat(s[u.PRERELEASE],\"?\").concat(s[u.BUILD],\"?\")),createToken(\"FULL\",\"^\".concat(s[u.FULLPLAIN],\"$\")),createToken(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(s[u.MAINVERSIONLOOSE]).concat(s[u.PRERELEASELOOSE],\"?\").concat(s[u.BUILD],\"?\")),createToken(\"LOOSE\",\"^\".concat(s[u.LOOSEPLAIN],\"$\")),createToken(\"GTLT\",\"((?:<|>)?=?)\"),createToken(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(s[u.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),createToken(\"XRANGEIDENTIFIER\",\"\".concat(s[u.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),createToken(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(s[u.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(s[u.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(s[u.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(s[u.PRERELEASE],\")?\").concat(s[u.BUILD],\"?\")+\")?)?\"),createToken(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(s[u.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(s[u.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(s[u.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(s[u.PRERELEASELOOSE],\")?\").concat(s[u.BUILD],\"?\")+\")?)?\"),createToken(\"XRANGE\",\"^\".concat(s[u.GTLT],\"\\\\s*\").concat(s[u.XRANGEPLAIN],\"$\")),createToken(\"XRANGELOOSE\",\"^\".concat(s[u.GTLT],\"\\\\s*\").concat(s[u.XRANGEPLAINLOOSE],\"$\")),createToken(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(n,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(n,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(n,\"}))?\")+\"(?:$|[^\\\\d])\"),createToken(\"COERCERTL\",s[u.COERCE],!0),createToken(\"LONETILDE\",\"(?:~>?)\"),createToken(\"TILDETRIM\",\"(\\\\s*)\".concat(s[u.LONETILDE],\"\\\\s+\"),!0),t.tildeTrimReplace=\"$1~\",createToken(\"TILDE\",\"^\".concat(s[u.LONETILDE]).concat(s[u.XRANGEPLAIN],\"$\")),createToken(\"TILDELOOSE\",\"^\".concat(s[u.LONETILDE]).concat(s[u.XRANGEPLAINLOOSE],\"$\")),createToken(\"LONECARET\",\"(?:\\\\^)\"),createToken(\"CARETTRIM\",\"(\\\\s*)\".concat(s[u.LONECARET],\"\\\\s+\"),!0),t.caretTrimReplace=\"$1^\",createToken(\"CARET\",\"^\".concat(s[u.LONECARET]).concat(s[u.XRANGEPLAIN],\"$\")),createToken(\"CARETLOOSE\",\"^\".concat(s[u.LONECARET]).concat(s[u.XRANGEPLAINLOOSE],\"$\")),createToken(\"COMPARATORLOOSE\",\"^\".concat(s[u.GTLT],\"\\\\s*(\").concat(s[u.LOOSEPLAIN],\")$|^$\")),createToken(\"COMPARATOR\",\"^\".concat(s[u.GTLT],\"\\\\s*(\").concat(s[u.FULLPLAIN],\")$|^$\")),createToken(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(s[u.GTLT],\"\\\\s*(\").concat(s[u.LOOSEPLAIN],\"|\").concat(s[u.XRANGEPLAIN],\")\"),!0),t.comparatorTrimReplace=\"$1$2$3\",createToken(\"HYPHENRANGE\",\"^\\\\s*(\".concat(s[u.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(s[u.XRANGEPLAIN],\")\")+\"\\\\s*$\"),createToken(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(s[u.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(s[u.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),createToken(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),createToken(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),createToken(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")},6715:(e,t,r)=>{var n=r(7837),o=Object.prototype.hasOwnProperty,i=\"undefined\"!=typeof Map;function ArraySet(){this._array=[],this._set=i?new Map:Object.create(null)}ArraySet.fromArray=function(e,t){for(var r=new ArraySet,n=0,o=e.length;n=0)return t}else{var r=n.toSetString(e);if(o.call(this._set,r))return this._set[r]}throw new Error('\"'+e+'\" is not in the set.')},ArraySet.prototype.at=function(e){if(e>=0&&e{var n=r(4122);t.encode=function(e){var t,r=\"\",o=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&o,(o>>>=5)>0&&(t|=32),r+=n.encode(t)}while(o>0);return r},t.decode=function(e,t,r){var o,i,s,u,a=e.length,c=0,l=0;do{if(t>=a)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(-1===(i=n.decode(e.charCodeAt(t++))))throw new Error(\"Invalid base64 digit: \"+e.charAt(t-1));o=!!(32&i),c+=(i&=31)<>1,1==(1&s)?-u:u),r.rest=t}},4122:(e,t)=>{var r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");t.encode=function(e){if(0<=e&&e{function recursiveSearch(e,r,n,o,i,s){var u=Math.floor((r-e)/2)+e,a=i(n,o[u],!0);return 0===a?u:a>0?r-u>1?recursiveSearch(u,r,n,o,i,s):s==t.LEAST_UPPER_BOUND?r1?recursiveSearch(e,u,n,o,i,s):s==t.LEAST_UPPER_BOUND?u:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,r,n,o){if(0===r.length)return-1;var i=recursiveSearch(-1,r.length,e,r,n,o||t.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&0===n(r[i],r[i-1],!0);)--i;return i}},1028:(e,t,r)=>{var n=r(7837);function MappingList(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},MappingList.prototype.add=function(e){var t,r,o,i,s,u;t=this._last,r=e,o=t.generatedLine,i=r.generatedLine,s=t.generatedColumn,u=r.generatedColumn,i>o||i==o&&u>=s||n.compareByGeneratedPositionsInflated(t,r)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},MappingList.prototype.toArray=function(){return this._sorted||(this._array.sort(n.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.H=MappingList},6711:(e,t)=>{function swap(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function doQuickSort(e,t,r,n){if(r{var n=r(7837),o=r(8593),i=r(6715).I,s=r(4886),u=r(6711).U;function SourceMapConsumer(e,t){var r=e;return\"string\"==typeof e&&(r=n.parseSourceMapInput(e)),null!=r.sections?new IndexedSourceMapConsumer(r,t):new BasicSourceMapConsumer(r,t)}function BasicSourceMapConsumer(e,t){var r=e;\"string\"==typeof e&&(r=n.parseSourceMapInput(e));var o=n.getArg(r,\"version\"),s=n.getArg(r,\"sources\"),u=n.getArg(r,\"names\",[]),a=n.getArg(r,\"sourceRoot\",null),c=n.getArg(r,\"sourcesContent\",null),l=n.getArg(r,\"mappings\"),p=n.getArg(r,\"file\",null);if(o!=this._version)throw new Error(\"Unsupported version: \"+o);a&&(a=n.normalize(a)),s=s.map(String).map(n.normalize).map((function(e){return a&&n.isAbsolute(a)&&n.isAbsolute(e)?n.relative(a,e):e})),this._names=i.fromArray(u.map(String),!0),this._sources=i.fromArray(s,!0),this._absoluteSources=this._sources.toArray().map((function(e){return n.computeSourceURL(a,e,t)})),this.sourceRoot=a,this.sourcesContent=c,this._mappings=l,this._sourceMapURL=t,this.file=p}function Mapping(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function IndexedSourceMapConsumer(e,t){var r=e;\"string\"==typeof e&&(r=n.parseSourceMapInput(e));var o=n.getArg(r,\"version\"),s=n.getArg(r,\"sections\");if(o!=this._version)throw new Error(\"Unsupported version: \"+o);this._sources=new i,this._names=new i;var u={line:-1,column:0};this._sections=s.map((function(e){if(e.url)throw new Error(\"Support for url field in sections not implemented.\");var r=n.getArg(e,\"offset\"),o=n.getArg(r,\"line\"),i=n.getArg(r,\"column\");if(o=0){var u=this._originalMappings[s];if(void 0===e.column)for(var a=u.originalLine;u&&u.originalLine===a;)i.push({line:n.getArg(u,\"generatedLine\",null),column:n.getArg(u,\"generatedColumn\",null),lastColumn:n.getArg(u,\"lastGeneratedColumn\",null)}),u=this._originalMappings[++s];else for(var c=u.originalColumn;u&&u.originalLine===t&&u.originalColumn==c;)i.push({line:n.getArg(u,\"generatedLine\",null),column:n.getArg(u,\"generatedColumn\",null),lastColumn:n.getArg(u,\"lastGeneratedColumn\",null)}),u=this._originalMappings[++s]}return i},t.SourceMapConsumer=SourceMapConsumer,BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype),BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer,BasicSourceMapConsumer.prototype._findSourceIndex=function(e){var t,r=e;if(null!=this.sourceRoot&&(r=n.relative(this.sourceRoot,r)),this._sources.has(r))return this._sources.indexOf(r);for(t=0;t1&&(r.source=d+i[1],d+=i[1],r.originalLine=f+i[2],f=r.originalLine,r.originalLine+=1,r.originalColumn=h+i[3],h=r.originalColumn,i.length>4&&(r.name=D+i[4],D+=i[4])),w.push(r),\"number\"==typeof r.originalLine&&C.push(r)}u(w,n.compareByGeneratedPositionsDeflated),this.__generatedMappings=w,u(C,n.compareByOriginalPositions),this.__originalMappings=C},BasicSourceMapConsumer.prototype._findMapping=function(e,t,r,n,i,s){if(e[r]<=0)throw new TypeError(\"Line must be greater than or equal to 1, got \"+e[r]);if(e[n]<0)throw new TypeError(\"Column must be greater than or equal to 0, got \"+e[n]);return o.search(e,t,i,s)},BasicSourceMapConsumer.prototype.computeColumnSpans=function(){for(var e=0;e=0){var o=this._generatedMappings[r];if(o.generatedLine===t.generatedLine){var i=n.getArg(o,\"source\",null);null!==i&&(i=this._sources.at(i),i=n.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=n.getArg(o,\"name\",null);return null!==s&&(s=this._names.at(s)),{source:i,line:n.getArg(o,\"originalLine\",null),column:n.getArg(o,\"originalColumn\",null),name:s}}}return{source:null,line:null,column:null,name:null}},BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e})))},BasicSourceMapConsumer.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];var o,i=e;if(null!=this.sourceRoot&&(i=n.relative(this.sourceRoot,i)),null!=this.sourceRoot&&(o=n.urlParse(this.sourceRoot))){var s=i.replace(/^file:\\/\\//,\"\");if(\"file\"==o.scheme&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!o.path||\"/\"==o.path)&&this._sources.has(\"/\"+i))return this.sourcesContent[this._sources.indexOf(\"/\"+i)]}if(t)return null;throw new Error('\"'+i+'\" is not in the SourceMap.')},BasicSourceMapConsumer.prototype.generatedPositionFor=function(e){var t=n.getArg(e,\"source\");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var r={source:t,originalLine:n.getArg(e,\"line\"),originalColumn:n.getArg(e,\"column\")},o=this._findMapping(r,this._originalMappings,\"originalLine\",\"originalColumn\",n.compareByOriginalPositions,n.getArg(e,\"bias\",SourceMapConsumer.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===r.source)return{line:n.getArg(i,\"generatedLine\",null),column:n.getArg(i,\"generatedColumn\",null),lastColumn:n.getArg(i,\"lastGeneratedColumn\",null)}}return{line:null,column:null,lastColumn:null}},IndexedSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype),IndexedSourceMapConsumer.prototype.constructor=SourceMapConsumer,IndexedSourceMapConsumer.prototype._version=3,Object.defineProperty(IndexedSourceMapConsumer.prototype,\"sources\",{get:function(){for(var e=[],t=0;t{var n=r(4886),o=r(7837),i=r(6715).I,s=r(1028).H;function SourceMapGenerator(e){e||(e={}),this._file=o.getArg(e,\"file\",null),this._sourceRoot=o.getArg(e,\"sourceRoot\",null),this._skipValidation=o.getArg(e,\"skipValidation\",!1),this._sources=new i,this._names=new i,this._mappings=new s,this._sourcesContents=null}SourceMapGenerator.prototype._version=3,SourceMapGenerator.fromSourceMap=function(e){var t=e.sourceRoot,r=new SourceMapGenerator({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=t&&(n.source=o.relative(t,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),r.addMapping(n)})),e.sources.forEach((function(n){var i=n;null!==t&&(i=o.relative(t,n)),r._sources.has(i)||r._sources.add(i);var s=e.sourceContentFor(n);null!=s&&r.setSourceContent(n,s)})),r},SourceMapGenerator.prototype.addMapping=function(e){var t=o.getArg(e,\"generated\"),r=o.getArg(e,\"original\",null),n=o.getArg(e,\"source\",null),i=o.getArg(e,\"name\",null);this._skipValidation||this._validateMapping(t,r,n,i),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=i&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:n,name:i})},SourceMapGenerator.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=o.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[o.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[o.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},SourceMapGenerator.prototype.applySourceMap=function(e,t,r){var n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\\'s \"file\" property. Both were omitted.');n=e.file}var s=this._sourceRoot;null!=s&&(n=o.relative(s,n));var u=new i,a=new i;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){var i=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=i.source&&(t.source=i.source,null!=r&&(t.source=o.join(r,t.source)),null!=s&&(t.source=o.relative(s,t.source)),t.originalLine=i.line,t.originalColumn=i.column,null!=i.name&&(t.name=i.name))}var c=t.source;null==c||u.has(c)||u.add(c);var l=t.name;null==l||a.has(l)||a.add(l)}),this),this._sources=u,this._names=a,e.sources.forEach((function(t){var n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=o.join(r,t)),null!=s&&(t=o.relative(s,t)),this.setSourceContent(t,n))}),this)},SourceMapGenerator.prototype._validateMapping=function(e,t,r,n){if(t&&\"number\"!=typeof t.line&&\"number\"!=typeof t.column)throw new Error(\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\");if((!(e&&\"line\"in e&&\"column\"in e&&e.line>0&&e.column>=0)||t||r||n)&&!(e&&\"line\"in e&&\"column\"in e&&t&&\"line\"in t&&\"column\"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error(\"Invalid mapping: \"+JSON.stringify({generated:e,source:r,original:t,name:n}))},SourceMapGenerator.prototype._serializeMappings=function(){for(var e,t,r,i,s=0,u=1,a=0,c=0,l=0,p=0,f=\"\",h=this._mappings.toArray(),d=0,D=h.length;d0){if(!o.compareByGeneratedPositionsInflated(t,h[d-1]))continue;e+=\",\"}e+=n.encode(t.generatedColumn-s),s=t.generatedColumn,null!=t.source&&(i=this._sources.indexOf(t.source),e+=n.encode(i-p),p=i,e+=n.encode(t.originalLine-1-c),c=t.originalLine-1,e+=n.encode(t.originalColumn-a),a=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=n.encode(r-l),l=r)),f+=e}return f},SourceMapGenerator.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=o.relative(t,e));var r=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)},SourceMapGenerator.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},SourceMapGenerator.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=SourceMapGenerator},6270:(e,t,r)=>{var n=r(2400).SourceMapGenerator,o=r(7837),i=/(\\r?\\n)/,s=\"$$$isSourceNode$$$\";function SourceNode(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==o?null:o,this[s]=!0,null!=n&&this.add(n)}SourceNode.fromStringWithSourceMap=function(e,t,r){var n=new SourceNode,s=e.split(i),u=0,shiftNextLine=function(){return getNextLine()+(getNextLine()||\"\");function getNextLine(){return u=0;t--)this.prepend(e[t]);else{if(!e[s]&&\"string\"!=typeof e)throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \"+e);this.children.unshift(e)}return this},SourceNode.prototype.walk=function(e){for(var t,r=0,n=this.children.length;r0){for(t=[],r=0;r{t.getArg=function(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('\"'+t+'\" is a required argument.')};var r=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,n=/^data:.+\\,.+$/;function urlParse(e){var t=e.match(r);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function urlGenerate(e){var t=\"\";return e.scheme&&(t+=e.scheme+\":\"),t+=\"//\",e.auth&&(t+=e.auth+\"@\"),e.host&&(t+=e.host),e.port&&(t+=\":\"+e.port),e.path&&(t+=e.path),t}function normalize(e){var r=e,n=urlParse(e);if(n){if(!n.path)return e;r=n.path}for(var o,i=t.isAbsolute(r),s=r.split(/\\/+/),u=0,a=s.length-1;a>=0;a--)\".\"===(o=s[a])?s.splice(a,1):\"..\"===o?u++:u>0&&(\"\"===o?(s.splice(a+1,u),u=0):(s.splice(a,2),u--));return\"\"===(r=s.join(\"/\"))&&(r=i?\"/\":\".\"),n?(n.path=r,urlGenerate(n)):r}function join(e,t){\"\"===e&&(e=\".\"),\"\"===t&&(t=\".\");var r=urlParse(t),o=urlParse(e);if(o&&(e=o.path||\"/\"),r&&!r.scheme)return o&&(r.scheme=o.scheme),urlGenerate(r);if(r||t.match(n))return t;if(o&&!o.host&&!o.path)return o.host=t,urlGenerate(o);var i=\"/\"===t.charAt(0)?t:normalize(e.replace(/\\/+$/,\"\")+\"/\"+t);return o?(o.path=i,urlGenerate(o)):i}t.urlParse=urlParse,t.urlGenerate=urlGenerate,t.normalize=normalize,t.join=join,t.isAbsolute=function(e){return\"/\"===e.charAt(0)||r.test(e)},t.relative=function(e,t){\"\"===e&&(e=\".\"),e=e.replace(/\\/$/,\"\");for(var r=0;0!==t.indexOf(e+\"/\");){var n=e.lastIndexOf(\"/\");if(n<0)return t;if((e=e.slice(0,n)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++r}return Array(r+1).join(\"../\")+t.substr(e.length+1)};var o=!(\"__proto__\"in Object.create(null));function identity(e){return e}function isProtoString(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=o?identity:function(e){return isProtoString(e)?\"$\"+e:e},t.fromSetString=o?identity:function(e){return isProtoString(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,r){var n=strcmp(e.source,t.source);return 0!==n||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)||r||0!==(n=e.generatedColumn-t.generatedColumn)||0!==(n=e.generatedLine-t.generatedLine)?n:strcmp(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n||0!==(n=e.generatedColumn-t.generatedColumn)||r||0!==(n=strcmp(e.source,t.source))||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)?n:strcmp(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r||0!==(r=e.generatedColumn-t.generatedColumn)||0!==(r=strcmp(e.source,t.source))||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)?r:strcmp(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\\)]}'[^\\n]*\\n/,\"\"))},t.computeSourceURL=function(e,t,r){if(t=t||\"\",e&&(\"/\"!==e[e.length-1]&&\"/\"!==t[0]&&(e+=\"/\"),t=e+t),r){var n=urlParse(r);if(!n)throw new Error(\"sourceMapURL could not be parsed\");if(n.path){var o=n.path.lastIndexOf(\"/\");o>=0&&(n.path=n.path.substring(0,o+1))}t=join(urlGenerate(n),t)}return normalize(t)}},2447:(e,t,r)=>{t.SourceMapGenerator=r(2400).SourceMapGenerator,t.SourceMapConsumer=r(8985).SourceMapConsumer,t.SourceNode=r(6270).SourceNode},6549:(e,t,r)=>{\"use strict\";const n=r(9992),o=r(4450),i=r(541),stringWidth=e=>{if(\"string\"!=typeof(e=e.replace(i(),\" \"))||0===e.length)return 0;e=n(e);let t=0;for(let r=0;r=127&&n<=159||(n>=768&&n<=879||(n>65535&&r++,t+=o(n)?2:1))}return t};e.exports=stringWidth,e.exports.default=stringWidth},4450:e=>{\"use strict\";const isFullwidthCodePoint=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));e.exports=isFullwidthCodePoint,e.exports.default=isFullwidthCodePoint},9992:(e,t,r)=>{\"use strict\";const n=r(2426);e.exports=e=>\"string\"==typeof e?e.replace(n(),\"\"):e},3210:e=>{\"use strict\";e.exports=function(e,t,r){return 0===e.length?e:t?(r||e.sort(t),function(e,t){for(var r=1,n=e.length,o=e[0],i=e[0],s=1;s{\"use strict\";e.exports={guessEndOfLine:function(e){const t=e.indexOf(\"\\r\");return t>=0?\"\\n\"===e.charAt(t+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(e){switch(e){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(e,t){let r;if(\"\\n\"===t)r=/\\n/g;else if(\"\\r\"===t)r=/\\r/g;else{if(\"\\r\\n\"!==t)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(t),\".\"));r=/\\r\\n/g}const n=e.match(r);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\\r\\n?/g,\"\\n\")}}},47:e=>{\"use strict\";e.exports=function(e,t){const r=new SyntaxError(e+\" (\"+t.start.line+\":\"+t.start.column+\")\");return r.loc=t,r}},9428:(e,t,r)=>{\"use strict\";const n=r(6549),o=r(2240),i=r(4652),{getSupportInfo:s}=r(7290),u=/[^\\x20-\\x7F]/;function skip(e){return(t,r,n)=>{const o=n&&n.backwards;if(!1===r)return!1;const{length:i}=t;let s=r;for(;s>=0&&s(r.match(s.regex)||[]).length?s.quote:i.quote}return u}function makeString(e,t,r){const n='\"'===t?\"'\":'\"',o=e.replace(/\\\\([\\S\\s])|([\"'])/g,((e,o,i)=>o===n?o:i===t?\"\\\\\"+i:i||(r&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(o)?o:\"\\\\\"+o)));return t+o+t}function addCommentHelper(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,\"JSXText\"===e.type&&(t.printed=!0)}e.exports={inferParserByLanguage:function(e,t){const{languages:r}=s({plugins:t.plugins}),n=r.find((({name:t})=>t.toLowerCase()===e))||r.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||r.find((({extensions:t})=>Array.isArray(t)&&t.includes(\".\".concat(e))));return n&&n.parsers[0]},replaceEndOfLineWith:function(e,t){const r=[];for(const n of e.split(\"\\n\"))0!==r.length&&r.push(t),r.push(n);return r},getStringWidth:function(e){return e?u.test(e)?n(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp(\"(\".concat(o(t),\")+\"),\"g\"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp(\"(\".concat(o(t),\")+\"),\"g\"));if(null===r)return 0;const n=new Map;let i=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>i&&(i=r)}for(let e=1;ee[e.length-2],getLast:i,getNextNonSpaceNonCommentCharacterIndexWithStartIndex,getNextNonSpaceNonCommentCharacterIndex,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(getNextNonSpaceNonCommentCharacterIndex(e,t,r))},skip,skipWhitespace:a,skipSpaces:c,skipToLineEnd:l,skipEverythingButNewLine:p,skipInlineComment,skipTrailingComment,skipNewline,isNextLineEmptyAfterIndex,isNextLineEmpty:function(e,t,r){return isNextLineEmptyAfterIndex(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=c(e,n,{backwards:!0}),n=skipNewline(e,n,{backwards:!0}),n=c(e,n,{backwards:!0}),n!==skipNewline(e,n,{backwards:!0})},hasNewline,hasNewlineInRange:function(e,t,r){for(let n=t;n{\"use strict\";function concat(e){return{type:\"concat\",parts:e}}function indent(e){return{type:\"indent\",contents:e}}function align(e,t){return{type:\"align\",contents:t,n:e}}function group(e,t){return{type:\"group\",id:(t=t||{}).id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}const t={type:\"break-parent\"},r=concat([{type:\"line\",hard:!0},t]),n=concat([{type:\"line\",hard:!0,literal:!0},t]),o={type:\"cursor\",placeholder:Symbol(\"cursor\")};e.exports={concat,join:function(e,t){const r=[];for(let n=0;n0){for(let e=0;e{\"use strict\";function flattenDoc(e){if(\"concat\"===e.type){const t=[];for(let r=0;rprintDoc(flattenDoc(e))}},9765:(e,t,r)=>{\"use strict\";const{getStringWidth:n}=r(9428),{convertEndOfLineToChars:o}=r(7933),{concat:i,fill:s,cursor:u}=r(5558);let a;function makeIndent(e,t){return generateInd(e,{type:\"indent\"},t)}function makeAlign(e,t,r){if(t===-1/0)return e.root||{value:\"\",length:0,queue:[]};if(t<0)return generateInd(e,{type:\"dedent\"},r);if(!t)return e;if(\"root\"===t.type)return Object.assign({},e,{root:e});return generateInd(e,{type:\"string\"==typeof t?\"stringAlign\":\"numberAlign\",n:t},r)}function generateInd(e,t,r){const n=\"dedent\"===t.type?e.queue.slice(0,-1):e.queue.concat(t);let o=\"\",i=0,s=0,u=0;for(const e of n)switch(e.type){case\"indent\":flush(),r.useTabs?addTabs(1):addSpaces(r.tabWidth);break;case\"stringAlign\":flush(),o+=e.n,i+=e.n.length;break;case\"numberAlign\":s+=1,u+=e.n;break;default:throw new Error(\"Unexpected type '\".concat(e.type,\"'\"))}return flushSpaces(),Object.assign({},e,{value:o,length:i,queue:n});function addTabs(e){o+=\"\\t\".repeat(e),i+=r.tabWidth*e}function addSpaces(e){o+=\" \".repeat(e),i+=e}function flush(){r.useTabs?function(){s>0&&addTabs(s);resetLast()}():flushSpaces()}function flushSpaces(){u>0&&addSpaces(u),resetLast()}function resetLast(){s=0,u=0}}function trim(e){if(0===e.length)return 0;let t=0;for(;e.length>0&&\"string\"==typeof e[e.length-1]&&e[e.length-1].match(/^[\\t ]*$/);)t+=e.pop().length;if(e.length&&\"string\"==typeof e[e.length-1]){const r=e[e.length-1].replace(/[\\t ]*$/,\"\");t+=e[e.length-1].length-r.length,e[e.length-1]=r}return t}function fits(e,t,r,o,i){let s=t.length;const u=[e],c=[];for(;r>=0;){if(0===u.length){if(0===s)return!0;u.push(t[s-1]),s--;continue}const[e,l,p]=u.pop();if(\"string\"==typeof p)c.push(p),r-=n(p);else switch(p.type){case\"concat\":for(let t=p.parts.length-1;t>=0;t--)u.push([e,l,p.parts[t]]);break;case\"indent\":u.push([makeIndent(e,o),l,p.contents]);break;case\"align\":u.push([makeAlign(e,p.n,o),l,p.contents]);break;case\"trim\":r+=trim(c);break;case\"group\":if(i&&p.break)return!1;u.push([e,p.break?1:l,p.contents]),p.id&&(a[p.id]=u[u.length-1][1]);break;case\"fill\":for(let t=p.parts.length-1;t>=0;t--)u.push([e,l,p.parts[t]]);break;case\"if-break\":{const t=p.groupId?a[p.groupId]:l;1===t&&p.breakContents&&u.push([e,l,p.breakContents]),2===t&&p.flatContents&&u.push([e,l,p.flatContents]);break}case\"line\":switch(l){case 2:if(!p.hard){p.soft||(c.push(\" \"),r-=1);break}return!0;case 1:return!0}}}return!1}e.exports={printDocToString:function(e,t){a={};const r=t.printWidth,c=o(t.endOfLine);let l=0;const p=[[{value:\"\",length:0,queue:[]},1,e]],f=[];let h=!1,d=[];for(;0!==p.length;){const[e,o,D]=p.pop();if(\"string\"==typeof D){const e=\"\\n\"!==c&&D.includes(\"\\n\")?D.replace(/\\n/g,c):D;f.push(e),l+=n(e)}else switch(D.type){case\"cursor\":f.push(u.placeholder);break;case\"concat\":for(let t=D.parts.length-1;t>=0;t--)p.push([e,o,D.parts[t]]);break;case\"indent\":p.push([makeIndent(e,t),o,D.contents]);break;case\"align\":p.push([makeAlign(e,D.n,t),o,D.contents]);break;case\"trim\":l-=trim(f);break;case\"group\":switch(o){case 2:if(!h){p.push([e,D.break?1:2,D.contents]);break}case 1:{h=!1;const n=[e,2,D.contents],o=r-l;if(!D.break&&fits(n,p,o,t))p.push(n);else if(D.expandedStates){const r=D.expandedStates[D.expandedStates.length-1];if(D.break){p.push([e,1,r]);break}for(let n=1;n=D.expandedStates.length){p.push([e,1,r]);break}{const r=[e,2,D.expandedStates[n]];if(fits(r,p,o,t)){p.push(r);break}}}}else p.push([e,1,D.contents]);break}}D.id&&(a[D.id]=p[p.length-1][1]);break;case\"fill\":{const n=r-l,{parts:u}=D;if(0===u.length)break;const[a,c]=u,f=[e,2,a],h=[e,1,a],d=fits(f,[],n,t,!0);if(1===u.length){d?p.push(f):p.push(h);break}const g=[e,2,c],m=[e,1,c];if(2===u.length){d?(p.push(g),p.push(f)):(p.push(m),p.push(h));break}u.splice(0,2);const y=[e,o,s(u)],v=u[0];fits([e,2,i([a,c,v])],[],n,t,!0)?(p.push(y),p.push(g),p.push(f)):d?(p.push(y),p.push(m),p.push(f)):(p.push(y),p.push(m),p.push(h));break}case\"if-break\":{const t=D.groupId?a[D.groupId]:o;1===t&&D.breakContents&&p.push([e,o,D.breakContents]),2===t&&D.flatContents&&p.push([e,o,D.flatContents]);break}case\"line-suffix\":d.push([e,o,D.contents]);break;case\"line-suffix-boundary\":d.length>0&&p.push([e,o,{type:\"line\",hard:!0}]);break;case\"line\":switch(o){case 2:if(!D.hard){D.soft||(f.push(\" \"),l+=1);break}h=!0;case 1:if(d.length){p.push([e,o,D]),p.push(...d.reverse()),d=[];break}D.literal?e.root?(f.push(c,e.root.value),l=e.root.length):(f.push(c),l=0):(l-=trim(f),f.push(c+e.value),l=e.length)}}0===p.length&&d.length&&(p.push(...d.reverse()),d=[])}const D=f.indexOf(u.placeholder);if(-1!==D){const e=f.indexOf(u.placeholder,D+1),t=f.slice(0,D).join(\"\"),r=f.slice(D+1,e).join(\"\");return{formatted:t+r+f.slice(e+1).join(\"\"),cursorNodeStart:t.length,cursorNodeText:r}}return{formatted:f.join(\"\")}}}},630:(e,t,r)=>{\"use strict\";const{literalline:n,concat:o}=r(5558),i={};function traverseDoc(e,t,r,n){const o=[e];for(;0!==o.length;){const e=o.pop();if(e!==i){if(r&&o.push(e,i),!t||!1!==t(e))if(\"concat\"===e.type||\"fill\"===e.type)for(let t=e.parts.length-1;t>=0;--t)o.push(e.parts[t]);else if(\"if-break\"===e.type)e.flatContents&&o.push(e.flatContents),e.breakContents&&o.push(e.breakContents);else if(\"group\"===e.type&&e.expandedStates)if(n)for(let t=e.expandedStates.length-1;t>=0;--t)o.push(e.expandedStates[t]);else o.push(e.contents);else e.contents&&o.push(e.contents)}else r(o.pop())}}function mapDoc(e,t){if(\"concat\"===e.type||\"fill\"===e.type){const r=e.parts.map((e=>mapDoc(e,t)));return t(Object.assign({},e,{parts:r}))}if(\"if-break\"===e.type){const r=e.breakContents&&mapDoc(e.breakContents,t),n=e.flatContents&&mapDoc(e.flatContents,t);return t(Object.assign({},e,{breakContents:r,flatContents:n}))}if(e.contents){const r=mapDoc(e.contents,t);return t(Object.assign({},e,{contents:r}))}return t(e)}function findInDoc(e,t,r){let n=r,o=!1;return traverseDoc(e,(function(e){const r=t(e);if(void 0!==r&&(o=!0,n=r),o)return!1})),n}function isLineNextFn(e){return\"string\"!=typeof e&&(\"line\"===e.type||void 0)}function willBreakFn(e){return!(\"group\"!==e.type||!e.break)||(!(\"line\"!==e.type||!e.hard)||(\"break-parent\"===e.type||void 0))}function breakParentGroup(e){if(e.length>0){const t=e[e.length-1];t.expandedStates||(t.break=!0)}return null}function removeLinesFn(e){return\"line\"!==e.type||e.hard?\"if-break\"===e.type?e.flatContents||\"\":e:e.soft?\"\":\" \"}function normalizeParts(e){const t=[],r=e.filter(Boolean);for(;0!==r.length;){const e=r.shift();e&&(\"concat\"!==e.type?0===t.length||\"string\"!=typeof t[t.length-1]||\"string\"!=typeof e?t.push(e):t[t.length-1]+=e:r.unshift(...e.parts))}return t}e.exports={isEmpty:function(e){return\"string\"==typeof e&&0===e.length},willBreak:function(e){return findInDoc(e,willBreakFn,!1)},isLineNext:function(e){return findInDoc(e,isLineNextFn,!1)},traverseDoc,findInDoc,mapDoc,propagateBreaks:function(e){const t=new Set,r=[];traverseDoc(e,(function(e){if(\"break-parent\"===e.type&&breakParentGroup(r),\"group\"===e.type){if(r.push(e),t.has(e))return!1;t.add(e)}}),(function(e){if(\"group\"===e.type){r.pop().break&&breakParentGroup(r)}}),!0)},removeLines:function(e){return mapDoc(e,removeLinesFn)},stripTrailingHardline:function stripTrailingHardline(e,t=!1){if(\"concat\"===e.type&&0!==e.parts.length){const r=t?function(e){let t,{parts:r}=e;for(let n=e.parts.length;n>0&&!t;n--)t=r[n-1];return\"group\"===t.type&&(r=t.contents.parts),r}(e):e.parts,n=r[r.length-1];if(\"concat\"===n.type)return 2===n.parts.length&&n.parts[0].hard&&\"break-parent\"===n.parts[1].type?{type:\"concat\",parts:r.slice(0,-1)}:{type:\"concat\",parts:e.parts.slice(0,-1).concat(stripTrailingHardline(n))}}return e},normalizeParts,normalizeDoc:function(e){return mapDoc(e,(e=>e.parts?Object.assign({},e,{parts:normalizeParts(e.parts)}):e))},replaceNewlinesWithLiterallines:function(e){return mapDoc(e,(e=>\"string\"==typeof e&&e.includes(\"\\n\")?o(e.split(/(\\n)/g).map(((e,t)=>t%2==0?e:n))):e))}}},3091:(e,t,r)=>{\"use strict\";e.exports={builders:r(5558),printer:r(9765),utils:r(630),debug:r(3839)}},9355:(e,t,r)=>{\"use strict\";const n=r(6920),{getLast:o,skipEverythingButNewLine:i}=r(9428);function calculateLocStart(e,t){return\"number\"==typeof e.sourceIndex?e.sourceIndex:e.source?n(e.source.start,t)-1:null}function calculateLocEnd(e,t){if(\"css-comment\"===e.type&&e.inline)return i(t,e.source.startOffset);const r=e.nodes&&o(e.nodes);return r&&e.source&&!e.source.end&&(e=r),e.source&&e.source.end?n(e.source.end,t):null}function calculateValueNodeLoc(e,t,r){e.source&&(e.source.startOffset=calculateLocStart(e,r)+t,e.source.endOffset=calculateLocEnd(e,r)+t);for(const n in e){const o=e[n];\"source\"!==n&&o&&\"object\"==typeof o&&calculateValueNodeLoc(o,t,r)}}function getValueRootOffset(e){let t=e.source.startOffset;return\"string\"==typeof e.prop&&(t+=e.prop.length),\"css-atrule\"===e.type&&\"string\"==typeof e.name&&(t+=1+e.name.length+e.raws.afterName.match(/^\\s*:?\\s*/)[0].length),\"css-atrule\"!==e.type&&e.raws&&\"string\"==typeof e.raws.between&&(t+=e.raws.between.length),t}e.exports={locStart:function(e){return e.source.startOffset},locEnd:function(e){return e.source.endOffset},calculateLoc:function calculateLoc(e,t){e.source&&(e.source.startOffset=calculateLocStart(e,t),e.source.endOffset=calculateLocEnd(e,t));for(const r in e){const n=e[r];\"source\"!==r&&n&&\"object\"==typeof n&&(\"value-root\"===n.type||\"value-unknown\"===n.type?calculateValueNodeLoc(n,getValueRootOffset(e),n.text||n.value):calculateLoc(n,t))}},replaceQuotesInInlineComments:function(e){let t,r=\"initial\",n=\"initial\",o=!1;const i=[];for(let s=0;s{\"use strict\";const n=r(47),{parse:o}=r(3405),{hasPragma:i}=r(8850),{hasSCSSInterpolation:s,hasStringOrFunction:u,isLessParser:a,isSCSS:c,isSCSSNestedPropertyNode:l,isSCSSVariable:p,stringifyNode:f}=r(5244),{locStart:h,locEnd:d}=r(9355),{calculateLoc:D,replaceQuotesInInlineComments:g}=r(9355),getHighestAncestor=e=>{for(;e.parent;)e=e.parent;return e};function parseValueNode(e,t){const{nodes:r}=e;let n={open:null,close:null,groups:[],type:\"paren_group\"};const o=[n],i=n;let a={groups:[],type:\"comma_group\"};const l=[a];for(let i=0;i0&&n.groups.push(a),i}function flattenGroups(e){return\"paren_group\"!==e.type||e.open||e.close||1!==e.groups.length?\"comma_group\"===e.type&&1===e.groups.length?flattenGroups(e.groups[0]):\"paren_group\"===e.type||\"comma_group\"===e.type?Object.assign({},e,{groups:e.groups.map(flattenGroups)}):e:flattenGroups(e.groups[0])}function addTypePrefix(e,t,r){if(e&&\"object\"==typeof e){delete e.parent;for(const n in e)addTypePrefix(e[n],t,r),\"type\"===n&&\"string\"==typeof e[n]&&(e[n].startsWith(t)||r&&r.test(e[n])||(e[n]=t+e[n]))}return e}function addMissingType(e){if(e&&\"object\"==typeof e){delete e.parent;for(const t in e)addMissingType(e[t]);Array.isArray(e)||!e.value||e.type||(e.type=\"unknown\")}return e}function parseNestedValue(e,t){if(e&&\"object\"==typeof e){for(const r in e)\"parent\"!==r&&(parseNestedValue(e[r],t),\"nodes\"===r&&(e.group=flattenGroups(parseValueNode(e,t)),delete e[r]));delete e.parent}return e}function parseValue(e,t){const n=r(9962);let o=null;try{o=n(e,{loose:!0}).parse()}catch(t){return{type:\"value-unknown\",value:e}}o.text=e;return addTypePrefix(parseNestedValue(o,t),\"value-\",/^selector-/)}function parseSelector(e){if(/\\/\\/|\\/\\*/.test(e))return{type:\"selector-unknown\",value:e.trim()};const t=r(1264);let n=null;try{t((e=>{n=e})).process(e)}catch(t){return{type:\"selector-unknown\",value:e}}return addTypePrefix(n,\"selector-\")}function parseMediaQuery(e){const t=r(8322).Z;let n=null;try{n=t(e)}catch(t){return{type:\"selector-unknown\",value:e}}return addTypePrefix(addMissingType(n),\"media-\")}const m=/(\\s*?)(!default).*$/,y=/(\\s*?)(!global).*$/;function parseNestedCSS(e,t){if(e&&\"object\"==typeof e){delete e.parent;for(const r in e)parseNestedCSS(e[r],t);if(!e.type)return e;e.raws||(e.raws={});let r=\"\";\"string\"==typeof e.selector&&(r=e.raws.selector?e.raws.selector.scss?e.raws.selector.scss:e.raws.selector.raw:e.selector,e.raws.between&&e.raws.between.trim().length>0&&(r+=e.raws.between),e.raws.selector=r);let n=\"\";\"string\"==typeof e.value&&(n=e.raws.value?e.raws.value.scss?e.raws.value.scss:e.raws.value.raw:e.value,n=n.trim(),e.raws.value=n);let o=\"\";if(\"string\"==typeof e.params&&(o=e.raws.params?e.raws.params.scss?e.raws.params.scss:e.raws.params.raw:e.params,e.raws.afterName&&e.raws.afterName.trim().length>0&&(o=e.raws.afterName+o),e.raws.between&&e.raws.between.trim().length>0&&(o+=e.raws.between),o=o.trim(),e.raws.params=o),r.trim().length>0)return r.startsWith(\"@\")&&r.endsWith(\":\")?e:e.mixin?(e.selector=parseValue(r,t),e):(l(e)&&(e.isSCSSNesterProperty=!0),e.selector=parseSelector(r),e);if(n.length>0){const r=n.match(m);r&&(n=n.slice(0,r.index),e.scssDefault=!0,\"!default\"!==r[0].trim()&&(e.raws.scssDefault=r[0]));const o=n.match(y);if(o&&(n=n.slice(0,o.index),e.scssGlobal=!0,\"!global\"!==o[0].trim()&&(e.raws.scssGlobal=o[0])),n.startsWith(\"progid:\"))return{type:\"value-unknown\",value:n};e.value=parseValue(n,t)}if(a(t)&&\"css-decl\"===e.type&&n.startsWith(\"extend(\")&&(e.extend||(e.extend=\":\"===e.raws.between),e.extend&&!e.selector&&(delete e.value,e.selector=parseSelector(n.slice(\"extend(\".length,-1)))),\"css-atrule\"===e.type){if(a(t)){if(e.mixin){const t=e.raws.identifier+e.name+e.raws.afterName+e.raws.params;return e.selector=parseSelector(t),delete e.params,e}if(e.function)return e}if(\"css\"===t.parser&&\"custom-selector\"===e.name){const t=e.params.match(/:--\\S+?\\s+/)[0].trim();return e.customSelector=t,e.selector=parseSelector(e.params.slice(t.length).trim()),delete e.params,e}if(a(t)){if(e.name.includes(\":\")&&!e.params){e.variable=!0;const r=e.name.split(\":\");e.name=r[0],e.value=parseValue(r.slice(1).join(\":\"),t)}if(![\"page\",\"nest\"].includes(e.name)&&e.params&&\":\"===e.params[0]&&(e.variable=!0,e.value=parseValue(e.params.slice(1),t),e.raws.afterName+=\":\"),e.variable)return delete e.params,e}}if(\"css-atrule\"===e.type&&o.length>0){const{name:r}=e,n=e.name.toLowerCase();return\"warn\"===r||\"error\"===r?(e.params={type:\"media-unknown\",value:o},e):\"extend\"===r||\"nest\"===r?(e.selector=parseSelector(o),delete e.params,e):\"at-root\"===r?(/^\\(\\s*(without|with)\\s*:[\\S\\s]+\\)$/.test(o)?e.params=parseValue(o,t):(e.selector=parseSelector(o),delete e.params),e):\"import\"===n?(e.import=!0,delete e.filename,e.params=parseValue(o,t),e):[\"namespace\",\"supports\",\"if\",\"else\",\"for\",\"each\",\"while\",\"debug\",\"mixin\",\"include\",\"function\",\"return\",\"define-mixin\",\"add-mixin\"].includes(r)?(o=o.replace(/(\\$\\S+?)\\s+?\\.{3}/,\"$1...\"),o=o.replace(/^(?!if)(\\S+)\\s+\\(/,\"$1(\"),e.value=parseValue(o,t),delete e.params,e):[\"media\",\"custom-media\"].includes(n)?o.includes(\"#{\")?{type:\"media-unknown\",value:o}:(e.params=parseMediaQuery(o),e):(e.params=o,e)}}return e}function parseWithParser(e,t,r){const i=o(t),{frontMatter:s}=i;let u;t=i.content;try{u=e(t)}catch(e){const{name:t,reason:r,line:o,column:i}=e;if(\"number\"!=typeof o)throw e;throw n(\"\".concat(t,\": \").concat(r),{start:{line:o,column:i}})}return u=parseNestedCSS(addTypePrefix(u,\"css-\"),r),D(u,t),s&&(s.source={startOffset:0,endOffset:s.raw.length},u.nodes.unshift(s)),u}function parseLess(e,t,n){const o=r(7371);return parseWithParser((e=>o.parse(g(e))),e,n)}function parseScss(e,t,n){const{parse:o}=r(304);return parseWithParser(o,e,n)}const v={astFormat:\"postcss\",hasPragma:i,locStart:h,locEnd:d};e.exports={parsers:{css:Object.assign({},v,{parse:function(e,t,r){const n=c(r.parser,e)?[parseScss,parseLess]:[parseLess,parseScss];let o;for(const i of n)try{return i(e,t,r)}catch(e){o=o||e}if(o)throw o}}),less:Object.assign({},v,{parse:parseLess}),scss:Object.assign({},v,{parse:parseScss})}}},8850:(e,t,r)=>{\"use strict\";const n=r(3831),{parse:o}=r(3405);e.exports={hasPragma:function(e){return n.hasPragma(o(e).content)},insertPragma:function(e){const{frontMatter:t,content:r}=o(e);return(t?t.raw+\"\\n\\n\":\"\")+n.insertPragma(r)}}},5244:e=>{\"use strict\";const t=new Set([\"red\",\"green\",\"blue\",\"alpha\",\"a\",\"rgb\",\"hue\",\"h\",\"saturation\",\"s\",\"lightness\",\"l\",\"whiteness\",\"w\",\"blackness\",\"b\",\"tint\",\"shade\",\"blend\",\"blenda\",\"contrast\",\"hsl\",\"hsla\",\"hwb\",\"hwba\"]);function getAncestorCounter(e,t){const r=[].concat(t);let n,o=-1;for(;n=e.getParentNode(++o);)if(r.includes(n.type))return o;return-1}function getAncestorNode(e,t){const r=getAncestorCounter(e,t);return-1===r?null:e.getParentNode(r)}function isMultiplicationNode(e){return\"value-operator\"===e.type&&\"*\"===e.value}function isDivisionNode(e){return\"value-operator\"===e.type&&\"/\"===e.value}function isAdditionNode(e){return\"value-operator\"===e.type&&\"+\"===e.value}function isSubtractionNode(e){return\"value-operator\"===e.type&&\"-\"===e.value}function isModuloNode(e){return\"value-operator\"===e.type&&\"%\"===e.value}function isKeyValuePairNode(e){return\"value-comma_group\"===e.type&&e.groups&&e.groups[1]&&\"value-colon\"===e.groups[1].type}function isKeyValuePairInParenGroupNode(e){return\"value-paren_group\"===e.type&&e.groups&&e.groups[0]&&isKeyValuePairNode(e.groups[0])}e.exports={getAncestorCounter,getAncestorNode,getPropOfDeclNode:function(e){const t=getAncestorNode(e,\"css-decl\");return t&&t.prop&&t.prop.toLowerCase()},hasSCSSInterpolation:function(e){if(e&&e.length)for(let t=e.length-1;t>0;t--)if(\"word\"===e[t].type&&\"{\"===e[t].value&&\"word\"===e[t-1].type&&e[t-1].value.endsWith(\"#\"))return!0;return!1},hasStringOrFunction:function(e){if(e&&e.length)for(let t=0;t\",\"<=\",\">=\"].includes(e.value)},isEqualityOperatorNode:function(e){return\"value-word\"===e.type&&[\"==\",\"!=\"].includes(e.value)},isMultiplicationNode,isDivisionNode,isAdditionNode,isSubtractionNode,isModuloNode,isMathOperatorNode:function(e){return isMultiplicationNode(e)||isDivisionNode(e)||isAdditionNode(e)||isSubtractionNode(e)||isModuloNode(e)},isEachKeywordNode:function(e){return\"value-word\"===e.type&&\"in\"===e.value},isForKeywordNode:function(e){return\"value-word\"===e.type&&[\"from\",\"through\",\"end\"].includes(e.value)},isURLFunctionNode:function(e){return\"value-func\"===e.type&&\"url\"===e.value.toLowerCase()},isIfElseKeywordNode:function(e){return\"value-word\"===e.type&&[\"and\",\"or\",\"not\"].includes(e.value)},hasComposesNode:function(e){return e.value&&\"value-root\"===e.value.type&&e.value.group&&\"value-value\"===e.value.group.type&&\"composes\"===e.prop.toLowerCase()},hasParensAroundNode:function(e){return e.value&&e.value.group&&e.value.group.group&&\"value-paren_group\"===e.value.group.group.type&&null!==e.value.group.group.open&&null!==e.value.group.group.close},hasEmptyRawBefore:function(e){return e.raws&&\"\"===e.raws.before},isSCSSNestedPropertyNode:function(e){return!!e.selector&&e.selector.replace(/\\/\\*.*?\\*\\//,\"\").replace(/\\/\\/.*?\\n/,\"\").trim().endsWith(\":\")},isDetachedRulesetCallNode:function(e){return e.raws&&e.raws.params&&/^\\(\\s*\\)$/.test(e.raws.params)},isTemplatePlaceholderNode:function(e){return e.name.startsWith(\"prettier-placeholder\")},isTemplatePropNode:function(e){return e.prop.startsWith(\"@prettier-placeholder\")},isPostcssSimpleVarNode:function(e,t){return\"$$\"===e.value&&\"value-func\"===e.type&&t&&\"value-word\"===t.type&&!t.raws.before},isKeyValuePairNode,isKeyValuePairInParenGroupNode,isSCSSMapItemNode:function(e){const t=e.getValue();if(0===t.groups.length)return!1;const r=e.getParentNode(1);if(!(isKeyValuePairInParenGroupNode(t)||r&&isKeyValuePairInParenGroupNode(r)))return!1;const n=getAncestorNode(e,\"css-decl\");return!!(n&&n.prop&&n.prop.startsWith(\"$\"))||(!!isKeyValuePairInParenGroupNode(r)||\"value-func\"===r.type)},isInlineValueCommentNode:function(e){return\"value-comment\"===e.type&&e.inline},isHashNode:function(e){return\"value-word\"===e.type&&\"#\"===e.value},isLeftCurlyBraceNode:function(e){return\"value-word\"===e.type&&\"{\"===e.value},isRightCurlyBraceNode:function(e){return\"value-word\"===e.type&&\"}\"===e.value},isWordNode:function(e){return[\"value-word\",\"value-atword\"].includes(e.type)},isColonNode:function(e){return\"value-colon\"===e.type},isMediaAndSupportsKeywords:function(e){return e.value&&[\"not\",\"and\",\"or\"].includes(e.value.toLowerCase())},isColorAdjusterFuncNode:function(e){return\"value-func\"===e.type&&t.has(e.value.toLowerCase())},lastLineHasInlineComment:function(e){return/\\/\\//.test(e.split(/[\\n\\r]/).pop())},stringifyNode:function stringifyNode(e){if(e.groups){return(e.open&&e.open.value?e.open.value:\"\")+e.groups.reduce(((t,r,n)=>t+stringifyNode(r)+(\"comma_group\"===e.groups[0].type&&n!==e.groups.length-1?\",\":\"\")),\"\")+(e.close&&e.close.value?e.close.value:\"\")}const t=e.raws&&e.raws.before?e.raws.before:\"\",r=e.raws&&e.raws.quote?e.raws.quote:\"\";return t+r+(\"atword\"===e.type?\"@\":\"\")+(e.value?e.value:\"\")+r+(e.unit?e.unit:\"\")+(e.group?stringifyNode(e.group):\"\")+(e.raws&&e.raws.after?e.raws.after:\"\")},isAtWordPlaceholderNode:function(e){return e&&\"value-atword\"===e.type&&e.value.startsWith(\"prettier-placeholder-\")}}},3831:(e,t,r)=>{\"use strict\";const{parseWithComments:n,strip:o,extract:i,print:s}=r(9234),{getShebang:u}=r(9428),{normalizeEndOfLine:a}=r(7933);function parseDocBlock(e){const t=u(e);t&&(e=e.slice(t.length+1));const r=i(e),{pragmas:o,comments:s}=n(r);return{shebang:t,text:e,pragmas:o,comments:s}}e.exports={hasPragma:function(e){const t=Object.keys(parseDocBlock(e).pragmas);return t.includes(\"prettier\")||t.includes(\"format\")},insertPragma:function(e){const{shebang:t,text:r,pragmas:n,comments:i}=parseDocBlock(e),u=o(r),c=s({pragmas:Object.assign({format:\"\"},n),comments:i.trimStart()});return(t?\"\".concat(t,\"\\n\"):\"\")+a(c)+(u.startsWith(\"\\n\")?\"\\n\":\"\\n\\n\")+u}}},8988:(e,t,r)=>{\"use strict\";function _templateObject6(){const e=_taggedTemplateLiteral([\"\\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\\n in order for it to be formatted.\\n \"]);return _templateObject6=function(){return e},e}function _templateObject5(){const e=_taggedTemplateLiteral([\"\\n Format code starting at a given character offset.\\n The range will extend backwards to the start of the first line containing the selected statement.\\n This option cannot be used with --cursor-offset.\\n \"]);return _templateObject5=function(){return e},e}function _templateObject4(){const e=_taggedTemplateLiteral([\"\\n Format code ending at a given character offset (exclusive).\\n The range will extend forwards to the end of the selected statement.\\n This option cannot be used with --cursor-offset.\\n \"]);return _templateObject4=function(){return e},e}function _templateObject3(){const e=_taggedTemplateLiteral([\"\\n Custom directory that contains prettier plugins in node_modules subdirectory.\\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\\n Multiple values are accepted.\\n \"]);return _templateObject3=function(){return e},e}function _templateObject2(){const e=_taggedTemplateLiteral([\"\\n Maintain existing\\n (mixed values within one file are normalised by looking at what's used after the first line)\\n \"]);return _templateObject2=function(){return e},e}function _templateObject(){const e=_taggedTemplateLiteral([\"\\n Print (to stderr) where a cursor at the given position would move to after formatting.\\n This option cannot be used with --range-start and --range-end.\\n \"]);return _templateObject=function(){return e},e}function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}const{outdent:n}=r(5311),o=\"Config\",i=\"Editor\",s=\"Other\",u=\"Global\",a=\"Special\",c={cursorOffset:{since:\"1.4.0\",category:a,type:\"int\",default:-1,range:{start:-1,end:1/0,step:1},description:n(_templateObject()),cliCategory:i},endOfLine:{since:\"1.15.0\",category:u,type:\"choice\",default:[{since:\"1.15.0\",value:\"auto\"},{since:\"2.0.0\",value:\"lf\"}],description:\"Which end of line characters to apply.\",choices:[{value:\"lf\",description:\"Line Feed only (\\\\n), common on Linux and macOS as well as inside git repos\"},{value:\"crlf\",description:\"Carriage Return + Line Feed characters (\\\\r\\\\n), common on Windows\"},{value:\"cr\",description:\"Carriage Return character only (\\\\r), used very rarely\"},{value:\"auto\",description:n(_templateObject2())}]},filepath:{since:\"1.4.0\",category:a,type:\"path\",description:\"Specify the input filepath. This will be used to do parser inference.\",cliName:\"stdin-filepath\",cliCategory:s,cliDescription:\"Path to the file to pretend that stdin comes from.\"},insertPragma:{since:\"1.8.0\",category:a,type:\"boolean\",default:!1,description:\"Insert @format pragma into file's first docblock comment.\",cliCategory:s},parser:{since:\"0.0.10\",category:u,type:\"choice\",default:[{since:\"0.0.10\",value:\"babylon\"},{since:\"1.13.0\",value:void 0}],description:\"Which parser to use.\",exception:e=>\"string\"==typeof e||\"function\"==typeof e,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:u,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin\",cliCategory:o},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:u,description:n(_templateObject3()),exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin-search-dir\",cliCategory:o},printWidth:{since:\"0.0.0\",category:u,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:a,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:n(_templateObject4()),cliCategory:i},rangeStart:{since:\"1.4.0\",category:a,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:n(_templateObject5()),cliCategory:i},requirePragma:{since:\"1.7.0\",category:a,type:\"boolean\",default:!1,description:n(_templateObject6()),cliCategory:s},tabWidth:{type:\"int\",category:u,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:u,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:u,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};e.exports={CATEGORY_CONFIG:o,CATEGORY_EDITOR:i,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:s,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:u,CATEGORY_SPECIAL:a,options:c}},7290:(e,t,r)=>{\"use strict\";const n={compare:r(2828),lt:r(3725),gte:r(9195)},o=r(9077),i=r(306).i8,s=r(8988).options;e.exports={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:u=!1}={}){const a=i.split(\"-\",1)[0],c=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(filterSince),l=o(Object.assign({},...e.map((({options:e})=>e)),s),\"name\").filter((e=>filterSince(e)&&filterDeprecated(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(o[r]=e[r]);return o}(e,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(filterSince).sort(((e,t)=>n.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>filterSince(e)&&filterDeprecated(e))),\"parser\"===t.name&&function(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const o of t)if(o.parsers)for(const t of o.parsers)if(!n.has(t)){n.add(t);const i=r.find((e=>e.parsers&&e.parsers[t]));let s=o.name;i&&i.name&&(s+=\" (plugin: \".concat(i.name,\")\")),e.choices.push({value:t,description:s})}}(t,c,e));const r=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,r)=>(e[r.name]=r.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:r})}));return{languages:c,options:l};function filterSince(e){return t||!(\"since\"in e)||e.since&&n.gte(a,e.since)}function filterDeprecated(e){return r||!(\"deprecated\"in e)||e.deprecated&&n.lt(a,e.deprecated)}}}},9077:e=>{\"use strict\";e.exports=(e,t)=>Object.entries(e).map((([e,r])=>Object.assign({[t]:e},r)))},3405:(e,t,r)=>{\"use strict\";const n=r(2240),{builders:{hardline:o,concat:i,markAsRoot:s}}=r(3091),u={\"---\":\"yaml\",\"+++\":\"toml\"};e.exports={parse:function(e){const t=Object.keys(u).map(n).join(\"|\"),r=e.match(new RegExp(\"^(\".concat(t,\")([^\\\\n]*)\\\\n(?:([\\\\s\\\\S]*?)\\\\n)?\\\\1[^\\\\n\\\\S]*(\\\\n|$)\")));if(null===r)return{frontMatter:null,content:e};const[o,i,s,a]=r;let c=u[i];return\"toml\"!==c&&s&&s.trim()&&(c=s.trim()),{frontMatter:{type:\"front-matter\",lang:c,value:a,raw:o.replace(/\\n$/,\"\")},content:o.replace(/[^\\n]/g,\" \")+e.slice(o.length)}},print:function(e,t){if(\"yaml\"===e.lang){const r=e.value.trim(),n=r?t(r,{parser:\"yaml\"},{stripTrailingHardline:!0}):\"\";return s(i([\"---\",o,n,n?o:\"\",\"---\"]))}}}},4652:e=>{\"use strict\";e.exports=e=>e[e.length-1]},6920:e=>{\"use strict\";e.exports=function(e,t){let r=0;for(let n=0;n{\"use strict\";e.exports={i8:\"2.2.0\"}},7545:(e,t,r)=>{\"use strict\";r.r(t),r.d(t,{existsSync:()=>existsSync,readFileSync:()=>readFileSync,default:()=>n});const existsSync=()=>!1,readFileSync=()=>\"\",n={existsSync,readFileSync}},9623:(e,t,r)=>{\"use strict\";r.r(t),r.d(t,{default:()=>n});const n={EOL:\"\\n\",platform:()=>\"browser\",cpus:()=>[{model:\"Prettier\"}]}},6391:(e,t,r)=>{\"use strict\";r.r(t),r.d(t,{default:()=>n});var n=r(5724),o={};for(const e in n)\"default\"!==e&&(o[e]=()=>n[e]);r.d(t,o)},5208:()=>{},7027:()=>{},825:()=>{},1758:()=>{}},t={};function __webpack_require__(r){if(t[r])return t[r].exports;var n=t[r]={id:r,loaded:!1,exports:{}};return e[r](n,n.exports,__webpack_require__),n.loaded=!0,n.exports}return __webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,\"exports\",{enumerable:!0,set:()=>{throw new Error(\"ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: \"+e.id)}}),e),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},__webpack_require__(738)})()}));","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'loaded', {\n\t\tenumerable: true,\n\t\tget: function() { return module.l; }\n\t});\n\tObject.defineProperty(module, 'id', {\n\t\tenumerable: true,\n\t\tget: function() { return module.i; }\n\t});\n\treturn module;\n};"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["/webpack/bootstrap","../node_modules/node-libcurl/dist/Share.js","../node_modules/os-name/index.js","../node_modules/nodemailer/lib/mime-node/last-newline.js","../dist/helpers/config.js","../node_modules/shelljs/src/cd.js","../node_modules/js-yaml/lib/js-yaml.js","../node_modules/wrappy/wrappy.js","../node_modules/axios/lib/axios.js","../external \"tls\"","../(webpack)/ncc/@@notfound.js","../node_modules/js-yaml/lib/js-yaml/schema/json.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/utils.js","../node_modules/node-libcurl/dist/mergeChunks.js","../node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-node/index.js","../node_modules/fs-extra/lib/copy-sync/index.js","../node_modules/js-yaml/lib/js-yaml/type/int.js","../node_modules/node-libcurl/dist/enum/CurlGlobalInit.js","../node_modules/once/once.js","../node_modules/nodemailer/lib/xoauth2/index.js","../node_modules/axios/index.js","../node_modules/fs-extra/lib/mkdirs/make-dir.js","../node_modules/shelljs/src/tail.js","../node_modules/shelljs/src/mv.js","../node_modules/@sindresorhus/slugify/node_modules/escape-string-regexp/index.js","../node_modules/debug/src/node.js","../node_modules/@actions/core/lib/utils.js","../external \"os\"","../node_modules/windows-release/node_modules/which/which.js","../node_modules/node-libcurl/dist/enum/CurlSslOpt.js","../node_modules/prettier/parser-meriyah.js","../dist/helpers/git.js","../node_modules/graceful-fs/legacy-streams.js","../node_modules/fs-extra/lib/move-sync/move-sync.js","../node_modules/js-yaml/lib/js-yaml/type/set.js","../node_modules/@actions/core/lib/file-command.js","../node_modules/prettier/parser-yaml.js","../node_modules/nodemailer/lib/smtp-connection/data-stream.js","../node_modules/fs-extra/lib/copy-sync/copy-sync.js","../node_modules/fs.realpath/old.js","../node_modules/macos-release/index.js","../node_modules/node-libcurl/dist/enum/CurlSslVersion.js","../node_modules/fs-extra/lib/util/stat.js","../external \"child_process\"","../node_modules/windows-release/node_modules/shebang-command/index.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/nodemailer/lib/json-transport/index.js","../node_modules/fs-extra/lib/ensure/file.js","../node_modules/nodemailer/lib/sendmail-transport/le-unix.js","../node_modules/windows-release/node_modules/execa/lib/stdio.js","../node_modules/at-least-node/index.js","../node_modules/nodemailer/lib/well-known/index.js","../node_modules/shelljs/src/cp.js","../node_modules/fs-extra/lib/json/index.js","../node_modules/prettier/parser-angular.js","../dist/helpers/init-check.js","../node_modules/@sindresorhus/slugify/index.js","../node_modules/js-yaml/lib/js-yaml/mark.js","../node_modules/node-libcurl/dist/enum/CurlProtocol.js","../node_modules/node-libcurl/dist/enum/CurlTimeCond.js","../node_modules/shelljs/src/pushd.js","../node_modules/isexe/mode.js","../node_modules/shelljs/src/grep.js","../node_modules/node-libcurl/dist/enum/CurlHttpVersion.js","../external \"https\"","../node_modules/node-libcurl/dist/enum/CurlProxy.js","../external \"punycode\"","../dist/helpers/notifications.js","../node_modules/shelljs/src/find.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/fs-extra/lib/index.js","../node_modules/js-yaml/lib/js-yaml/type/bool.js","../node_modules/prettier/parser-markdown.js","../node_modules/shelljs/commands.js","../node_modules/windows-release/node_modules/cross-spawn/lib/util/escape.js","../node_modules/nodemailer/lib/addressparser/index.js","../node_modules/shelljs/src/toEnd.js","../node_modules/glob/sync.js","../node_modules/supports-color/index.js","../node_modules/graceful-fs/polyfills.js","../node_modules/nodemailer/lib/mailer/index.js","../node_modules/lodash.deburr/index.js","../node_modules/@sindresorhus/slugify/overridable-replacements.js","../node_modules/prettier/parser-typescript.js","../node_modules/node-libcurl/dist/index.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/shelljs/src/rm.js","../node_modules/prettier/index.js","../node_modules/node-libcurl/dist/enum/SocketState.js","../node_modules/before-after-hook/lib/register.js","../external \"module\"","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/shelljs/src/test.js","../node_modules/node-libcurl/dist/enum/CurlProgressFunc.js","../dist/helpers/temp.js","../node_modules/nodemailer/lib/nodemailer.js","../node_modules/@octokit/plugin-paginate-rest/dist-node/index.js","../node_modules/fs.realpath/index.js","../external \"string_decoder\"","../node_modules/brace-expansion/index.js","../node_modules/node-libcurl/dist/Easy.js","../node_modules/node-libcurl/dist/enum/CurlGssApi.js","../node_modules/inherits/inherits_browser.js","../node_modules/ms/index.js","../node_modules/fs-extra/lib/path-exists/index.js","../node_modules/@octokit/plugin-request-log/dist-node/index.js","../node_modules/windows-release/node_modules/cross-spawn/lib/util/readShebang.js","../node_modules/shelljs/src/sort.js","../node_modules/nodemailer/lib/mime-node/index.js","../node_modules/windows-release/node_modules/cross-spawn/lib/enoent.js","../node_modules/nodemailer/lib/dkim/sign.js","../node_modules/js-yaml/lib/js-yaml/type/js/function.js","../node_modules/fs-extra/lib/move/index.js","../node_modules/jsonfile/utils.js","../external \"assert\"","../node_modules/node-libcurl/dist/enum/CurlShareOption.js","../node_modules/shelljs/src/pwd.js","../node_modules/has-flag/index.js","../node_modules/node-libcurl/lib/binding/node_libcurl.node","../node_modules/axios/lib/core/enhanceError.js","../external \"crypto\"","../node_modules/nodemailer/lib/smtp-pool/pool-resource.js","../node_modules/shelljs/src/to.js","../node_modules/@octokit/endpoint/dist-node/index.js","../node_modules/js-yaml/lib/js-yaml/type/js/undefined.js","../node_modules/nodemailer/lib/dkim/relaxed-body.js","../node_modules/node-libcurl/dist/enum/CurlPipe.js","../node_modules/@octokit/request/node_modules/universal-user-agent/dist-node/index.js","../node_modules/node-libcurl/dist/enum/CurlWriteFunc.js","../node_modules/node-libcurl/dist/curly.js","../node_modules/windows-release/node_modules/cross-spawn/index.js","../node_modules/glob/glob.js","../node_modules/windows-release/node_modules/npm-run-path/index.js","../node_modules/shelljs/src/popd.js","../node_modules/nodemailer/lib/sendmail-transport/index.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/node-libcurl/dist/Curl.js","../external \"stream\"","../node_modules/js-yaml/index.js","../node_modules/windows-release/node_modules/cross-spawn/lib/util/resolveCommand.js","../node_modules/js-yaml/lib/js-yaml/type/float.js","../node_modules/windows-release/node_modules/execa/lib/errname.js","../node_modules/@sindresorhus/transliterate/replacements.js","../node_modules/tslib/tslib.js","../dist/index.js","../node_modules/@actions/core/lib/command.js","../node_modules/nodemailer/lib/mime-funcs/mime-types.js","../node_modules/prettier/parser-graphql.js","../node_modules/nodemailer/lib/smtp-connection/http-proxy-client.js","../node_modules/node-libcurl/dist/enum/CurlReadFunc.js","../dist/site.js","../node_modules/@octokit/core/dist-node/index.js","../node_modules/pump/index.js","../node_modules/follow-redirects/debug.js","../node_modules/js-yaml/lib/js-yaml/loader.js","../node_modules/@octokit/request-error/dist-node/index.js","../node_modules/fs-extra/lib/json/jsonfile.js","../node_modules/@actions/core/lib/core.js","../node_modules/fs-extra/lib/ensure/index.js","../node_modules/fs-extra/lib/remove/rimraf.js","../node_modules/shelljs/src/chmod.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js","../node_modules/nodemailer/lib/fetch/index.js","../node_modules/debug/src/common.js","../node_modules/windows-release/index.js","../node_modules/signal-exit/index.js","../node_modules/fs-extra/lib/move/move.js","../node_modules/shelljs/src/touch.js","../node_modules/windows-release/node_modules/cross-spawn/lib/parse.js","../node_modules/fs-extra/lib/output/index.js","../node_modules/before-after-hook/index.js","../node_modules/node-libcurl/dist/enum/CurlUseSsl.js","../node_modules/axios/lib/defaults.js","../node_modules/node-libcurl/dist/generated/CurlOption.js","../node_modules/shelljs/src/ln.js","../node_modules/node-libcurl/dist/enum/CurlFtpSsl.js","../node_modules/shelljs/src/dirs.js","../node_modules/nodemailer/lib/ses-transport/index.js","../node_modules/follow-redirects/index.js","../node_modules/shelljs/src/uniq.js","../node_modules/js-yaml/lib/js-yaml/exception.js","../node_modules/nodemailer/lib/stream-transport/index.js","../node_modules/node-libcurl/dist/Multi.js","../node_modules/end-of-stream/index.js","../node_modules/axios/lib/core/settle.js","../node_modules/minimatch/minimatch.js","../node_modules/js-yaml/lib/js-yaml/type/str.js","../node_modules/js-yaml/lib/js-yaml/schema/failsafe.js","../node_modules/windows-release/node_modules/get-stream/buffer-stream.js","../node_modules/node-libcurl/dist/enum/CurlFnMatchFunc.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/node-libcurl/dist/enum/CurlAuth.js","../node_modules/node-libcurl/dist/enum/CurlPx.js","../node_modules/fs-extra/lib/copy/copy.js","../dist/summary.js","../node_modules/graceful-fs/graceful-fs.js","../node_modules/shelljs/src/common.js","../node_modules/nodemailer/lib/fetch/cookies.js","../node_modules/shelljs/src/error.js","../node_modules/graceful-fs/clone.js","../node_modules/js-yaml/lib/js-yaml/schema/core.js","../external \"events\"","../node_modules/fs-extra/lib/empty/index.js","../node_modules/prettier/parser-babel.js","../external \"constants\"","../node_modules/balanced-match/index.js","../external \"path\"","../node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp/index.js","../node_modules/node-libcurl/dist/enum/CurlPush.js","../node_modules/fs-extra/lib/json/output-json-sync.js","../node_modules/js-yaml/lib/js-yaml/type/js/regexp.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/js-yaml/lib/js-yaml/type/merge.js","../node_modules/prettier/third-party.js","../node_modules/nodemailer/lib/mime-funcs/index.js","../node_modules/node-libcurl/dist/enum/CurlFileType.js","../node_modules/node-libcurl/dist/enum/CurlVersion.js","../dist/helpers/environment.js","../node_modules/nodemailer/lib/mailer/mail-message.js","../node_modules/@sindresorhus/transliterate/index.js","../node_modules/node-libcurl/dist/enum/CurlFtpMethod.js","../node_modules/signal-exit/signals.js","../node_modules/shelljs/src/mkdir.js","../dist/helpers/request.js","../node_modules/node-libcurl/dist/enum/CurlChunk.js","../node_modules/jsonfile/index.js","../external \"util\"","../node_modules/axios/lib/adapters/http.js","../node_modules/inflight/inflight.js","../node_modules/windows-release/node_modules/execa/index.js","../node_modules/universalify/index.js","../node_modules/nodemailer/lib/dkim/index.js","../node_modules/path-is-absolute/index.js","../node_modules/prettier/parser-flow.js","../node_modules/js-yaml/lib/js-yaml/dumper.js","../node_modules/node-libcurl/dist/enum/CurlHeader.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/inherits/inherits.js","../node_modules/shelljs/src/which.js","../node_modules/deprecation/dist-node/index.js","../node_modules/shelljs/src/exec.js","../node_modules/fs-extra/lib/json/output-json.js","../node_modules/is-plain-object/index.cjs.js","../node_modules/p-finally/index.js","../node_modules/prettier/parser-glimmer.js","../node_modules/shelljs/src/ls.js","../node_modules/nodemailer/lib/smtp-pool/index.js","../node_modules/fs-extra/lib/remove/index.js","../node_modules/node-fetch/lib/index.js","../node_modules/fs-extra/lib/mkdirs/index.js","../node_modules/node-libcurl/dist/enum/CurlShareLock.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/js-yaml/lib/js-yaml/schema.js","../node_modules/shelljs/shell.js","../node_modules/js-yaml/lib/js-yaml/common.js","../node_modules/isexe/index.js","../node_modules/node-libcurl/dist/enum/CurlIpResolve.js","../external \"fs\"","../node_modules/@octokit/request/dist-node/index.js","../node_modules/windows-release/node_modules/shebang-regex/index.js","../node_modules/shelljs/src/echo.js","../node_modules/windows-release/node_modules/get-stream/index.js","../node_modules/shelljs/src/exec-child.js","../node_modules/nodemailer/lib/sendmail-transport/le-windows.js","../node_modules/strip-eof/index.js","../node_modules/fs-extra/lib/copy/index.js","../node_modules/axios/lib/core/Axios.js","../node_modules/windows-release/node_modules/is-stream/index.js","../node_modules/debug/src/index.js","../node_modules/nodemailer/lib/shared/index.js","../node_modules/debug/src/browser.js","../node_modules/universal-user-agent/dist-node/index.js","../node_modules/node-libcurl/dist/enum/CurlNetrc.js","../node_modules/nodemailer/lib/qp/index.js","../node_modules/node-libcurl/dist/enum/CurlSshAuth.js","../node_modules/js-yaml/lib/js-yaml/type/null.js","../node_modules/nodemailer/lib/mail-composer/index.js","../node_modules/@octokit/auth-token/dist-node/index.js","../node_modules/node-libcurl/dist/enum/CurlPause.js","../node_modules/isexe/windows.js","../node_modules/node-libcurl/dist/enum/CurlFeature.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/windows-release/node_modules/path-key/index.js","../node_modules/js-yaml/lib/js-yaml/schema/default_safe.js","../node_modules/node-libcurl/dist/enum/CurlInfoDebug.js","../node_modules/shelljs/src/cat.js","../external \"url\"","../node_modules/before-after-hook/lib/add.js","../node_modules/js-yaml/lib/js-yaml/type/timestamp.js","../node_modules/js-yaml/lib/js-yaml/type/omap.js","../node_modules/fs-extra/lib/ensure/symlink.js","../node_modules/nodemailer/lib/smtp-transport/index.js","../node_modules/node-libcurl/dist/enum/CurlRtspRequest.js","../node_modules/glob/common.js","../dist/helpers/github.js","../node_modules/@octokit/graphql/node_modules/universal-user-agent/dist-node/index.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/before-after-hook/lib/remove.js","../external \"tty\"","../node_modules/fs-extra/lib/fs/index.js","../node_modules/prettier/parser-html.js","../external \"http\"","../node_modules/axios/lib/helpers/spread.js","../external \"dns\"","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/@octokit/rest/dist-node/index.js","../node_modules/shelljs/src/head.js","../node_modules/concat-map/index.js","../node_modules/@octokit/graphql/dist-node/index.js","../node_modules/fs-extra/lib/ensure/link.js","../dist/graphs.js","../external \"zlib\"","../node_modules/nodemailer/lib/base64/index.js","../node_modules/node-libcurl/dist/enum/CurlCode.js","../node_modules/js-yaml/lib/js-yaml/schema/default_full.js","../node_modules/js-yaml/lib/js-yaml/type/binary.js","../node_modules/fs-extra/lib/util/utimes.js","../node_modules/js-yaml/lib/js-yaml/type/seq.js","../node_modules/fs-extra/lib/ensure/symlink-paths.js","../node_modules/shelljs/src/set.js","../external \"net\"","../dist/helpers/calculate-uptime.js","../node_modules/js-yaml/lib/js-yaml/type.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/js-yaml/lib/js-yaml/type/pairs.js","../node_modules/nice-try/src/index.js","../node_modules/nodemailer/lib/smtp-connection/index.js","../node_modules/shelljs/src/tempdir.js","../node_modules/node-libcurl/dist/parseHeaders.js","../node_modules/windows-release/node_modules/semver/semver.js","../node_modules/fs-extra/lib/move-sync/index.js","../node_modules/axios/lib/core/buildFullPath.js","../dist/update.js","../node_modules/prettier/parser-espree.js","../node_modules/fs-extra/lib/ensure/symlink-type.js","../node_modules/nodemailer/lib/dkim/message-parser.js","../node_modules/js-yaml/lib/js-yaml/type/map.js","../node_modules/shelljs/src/sed.js","../node_modules/prettier/parser-postcss.js","/webpack/runtime/node module decorator"],"names":[],"mappings":"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;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,2BAA2B;AAC3B;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,4BAA4B;AAC5B,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9Va;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,uC;;;;;;;;;;AC5Ba;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,0BAA0B,IAAI,kBAAkB,GAAG,aAAa;AACtF;;AAEA;AACA;;AAEA,OAAO;AACP;;;;;;;;;;ACjBY;;AAEZ,cAAc;AACd,YAAY,mBAAO,CAAC,GAAa;AACjC;;;;;;;;ACJa;;AAEb,aAAa,mBAAO,CAAC,GAAW;AAChC,aAAa,mBAAO,CAAC,GAAS;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,aAAa;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,QAAQ,aAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,iCAAiC,6EAA6E,EAAE;AAChH,iCAAiC,6EAA6E,EAAE;AAChH,iCAAiC,yBAAyB,EAAE;AAC5D;AACA,iCAAiC,4GAA4G;AAC7I,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;AC5KY;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,0C;;;;;;ACFA,aAAa,mBAAO,CAAC,EAAQ;AAC7B,cAAc;AACd,cAAc;;AAEd;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCa;;AAEb,eAAe,mBAAO,CAAC,GAAQ;AAC/B,cAAc,mBAAO,CAAC,GAAU;AAChC,eAAe,mBAAO,CAAC,GAAQ;AAC/B,eAAe,mBAAO,CAAC,GAAW;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,cAAc;AAC7B,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,cAAc;AAC7B,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA,qBAAqB,0BAA0B;AAC/C;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;ACvXd,cAAc,GAAG,mBAAO,CAAC,EAAa,E;;;;;;;ACAtC;AACA;AACA;AACA;AACA;AACY;AACZ,WAAW,mBAAO,CAAC,GAAO;AAC1B,aAAa,mBAAO,CAAC,GAAM;AAC3B,oBAAoB,mBAAO,CAAC,GAAe;;AAE3C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mEAAmE,IAAI;AACvE;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB,8CAA8C;AAC9C,UAAU;AACV;;AAEA;AACA;AACA;AACA,6DAA6D,IAAI;AACjE;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;AC5IA,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA,eAAe,cAAc;AAC7B,eAAe,cAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4DAA4D,iBAAiB;AAC7E;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;;AAEH;AACA,kBAAkB;AAClB;AACA;AACA;AACA,cAAc;;;;;;;AC/Ed,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAM;AACvB,SAAS,mBAAO,CAAC,GAAM;;AAEvB;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yDAAyD,iBAAiB;AAC1E,aAAa;AACb;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+FAA+F,iBAAiB;AAChH;AACA;AACA;;AAEA;AACA,6DAA6D,iBAAiB;AAC9E,aAAa;AACb;;AAEA;AACA,mDAAmD,iBAAiB;AACpE,aAAa;AACb;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE;AACL;AACA,CAAC;AACD,cAAc;;;;;;;;;;;;;;;;;;;;;;;ACrHD;;AAEb,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;;;;;;;ACZA;AACA;AACA;;AAEA,YAAY,mBAAO,CAAC,GAAK;AACzB,aAAa,mBAAO,CAAC,GAAM;;AAE3B;AACA;AACA;;AAEA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;;AAEP;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;AACA;AACA,uBAAuB,mBAAO,CAAC,GAAgB;;AAE/C;AACA,EAAE,OAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA,CAAC,IAAI;;AAEL;AACA;AACA;;AAEA;AACA,oBAAoB,OAAO;AAC3B,UAAU,OAAO;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,2BAA2B;;AAEnC;AACA;AACA,iDAAiD,EAAE;AACnD,sBAAsB,WAAW,IAAI,KAAK;;AAE1C;AACA,+BAA+B,cAAc;AAC7C,EAAE;AACF;AACA;AACA;;AAEA;AACA,KAAK,OAAO;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0BAA0B,OAAO;AACjC,gBAAgB,iBAAiB;AACjC,+BAA+B,OAAO;AACtC;AACA;;AAEA,cAAc,GAAG,mBAAO,CAAC,GAAU,EAAE,OAAO;;AAE5C,OAAO,WAAW,GAAG,cAAc;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;AChQa;AACb;AACA;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,iC;;;;;;;;;;AClBA,+B;;;;;;ACAA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA,WAAW,mBAAO,CAAC,GAAM;AACzB,0BAA0B;AAC1B,YAAY,mBAAO,CAAC,GAAO;;AAE3B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,8DAA8D,KAAK,KAAK;AACxE;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC,OAAO;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA,8BAA8B,sBAAsB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;ACtIa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,eAAe,OAAO,gBAAgB,OAAO,gBAAgB;AAC9D,sC;;;;;;ACtCA,eAAe,KAAoD,CAAC,cAAc,KAAK,SAA2K,CAAC,kBAAkB,aAAa,oBAAoB,oEAAoE,kBAAkB,kBAAkB,YAAY,iBAAiB,uBAAuB,kBAAkB,2FAA2F,mBAAmB,sBAAsB,cAAc,wEAAwE,qBAAqB,wBAAwB,2CAA2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AACnC;AACA,sDAAsD,MAAM;AAC5D,qDAAqD,KAAK;AAC1D;AACA,qCAAqC,6BAA6B;AAClE;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,+B;;;;;;ACnBA,aAAa,mBAAO,CAAC,GAAQ;;AAE7B,cAAc;;AAEd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB;;AAEA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB;;AAEA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrHY;;AAEZ,WAAW,mBAAO,CAAC,GAAa;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,iBAAiB,mBAAO,CAAC,EAAc;AACvC,mBAAmB,mBAAO,CAAC,GAAW;AACtC,mBAAmB,mBAAO,CAAC,GAAW;AACtC,aAAa,mBAAO,CAAC,GAAc;;AAEnC;AACA;AACA;;AAEA,SAAS,UAAU;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;;;AC9CD;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;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AAoB,2BAA2B,SAAS,+CAA+C,SAAS,uCAAuC;;;;;;;;;;;ACdx22I;;AAEb,eAAe,mBAAO,CAAC,GAAQ;AAC/B;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;AC3GF;;AAEZ,WAAW,mBAAO,CAAC,GAAa;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,mBAAmB,mBAAO,CAAC,GAAW;AACtC,yBAAyB,mBAAO,CAAC,GAAgB;AACjD,aAAa,mBAAO,CAAC,GAAc;;AAEnC;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kGAAkG;AAClG;AACA;;AAEA,SAAS,oBAAoB;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB,KAAK;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uDAAuD,KAAK,oBAAoB,IAAI;AACpF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS,WAAW;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,YAAY,kCAAkC,aAAa;AACjG;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,aAAa,UAAU,YAAY;AAC9E;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;;;;ACrKd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,GAAM;AAC/B;AACA,SAAS,mBAAO,CAAC,GAAI;;AAErB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA,0CAA0C,EAAE;AAC5C,CAAC;AACD;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9Sa;AACb,WAAW,mBAAO,CAAC,EAAI;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,cAAc;;;;;;;;;;;ACnCD;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO,qBAAqB,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,mBAAmB,OAAO,oBAAoB,OAAO,oBAAoB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB,OAAO,uBAAuB,OAAO,uBAAuB;AACnF,0C;;;;;;;;;;;AC/CY;;AAEZ,WAAW,mBAAO,CAAC,GAAO;AAC1B,aAAa,mBAAO,CAAC,GAAM;AAC3B,aAAa,mBAAO,CAAC,GAAM;AAC3B,oBAAoB,mBAAO,CAAC,GAAe;;AAE3C;AACA,2DAA2D,eAAe;AAC1E,mEAAmE,eAAe;;AAElF;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,qCAAqC,oBAAoB;AACzD;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,uCAAuC;AACvC;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC,GAAG;AACH;;AAEA;AACA,SAAS,oBAAoB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,eAAe;AAC9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,SAAS,IAAI,IAAI,kCAAkC,KAAK;AAC3E;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1IA,0C;;;;;;;;ACAa;AACb,mBAAmB,mBAAO,CAAC,GAAe;;AAE1C,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AClBa;;AAEb,YAAY,mBAAO,CAAC,EAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;ACrEa;;AAEb,aAAa,mBAAO,CAAC,GAAU;;AAE/B;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;;;ACxDD;;AAEb,oBAAoB,mBAAO,CAAC,GAAoB;AAChD,eAAe,mBAAO,CAAC,GAAW;;AAElC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;AACA;;AAEA,cAAc;;;;;;;;;;;;;;ACjFF;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,WAAW,mBAAO,CAAC,GAAa;AAChC,cAAc,mBAAO,CAAC,GAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;ACpEa;;AAEb,eAAe,mBAAO,CAAC,GAAQ;AAC/B;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,SAAS;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;AC1CD;AACb;;AAEA;;AAEA,cAAc;AACd;AACA;AACA;;AAEA;AACA,uFAAuF,oBAAoB,EAAE,gBAAgB;AAC7H;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,yFAAyF,aAAa;AACtG;;AAEA;AACA;;AAEA,gBAAgB,SAAS;AACzB;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;ACxCA,cAAc;AACd;AACA;AACA;AACA;;;;;;;;;;;;;ACJa;;AAEb,iBAAiB,mBAAO,CAAC,GAAiB;AAC1C;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA,cAAc;AACd;AACA;AACA;;;;;;;;AC9CA,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC,KAAK;AACL;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,0DAA0D;AAC1D;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oCAAoC;AACpC,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC;AACjC,yDAAyD,iBAAiB;AAC1E,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,0DAA0D,iBAAiB;AAC3E,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C,mEAAmE;AAClH,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iGAAiG,iBAAiB;AAClH;AACA;AACA;;AAEA;AACA,eAAe;AACf;;AAEA;AACA;AACA,gFAAgF,iBAAiB;AACjG;AACA;;AAEA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA,cAAc;;;;;;;;;;;AC/SF;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,iBAAiB,mBAAO,CAAC,GAAY;;AAErC,wBAAwB,mBAAO,CAAC,GAAe;AAC/C,0BAA0B,mBAAO,CAAC,GAAoB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;ACfd,eAAe,KAAoD,CAAC,cAAc,KAAK,SAA2K,CAAC,kBAAkB,aAAa,gBAAgB,MAAM,mBAAmB,OAAO,OAAO,8DAA8D,gCAAgC,kCAAkC,cAAc,iCAAiC,0DAA0D,gBAAgB,mBAAmB,OAAO,+CAA+C,aAAa,sCAAsC,4CAA4C,6BAA6B,mBAAmB,QAAQ,kBAAkB,YAAY,iBAAiB,uBAAuB,kBAAkB,2FAA2F,mBAAmB,sBAAsB,yBAAyB,wBAAwB,cAAc,cAAc,kBAAkB,WAAW,cAAc,6BAA6B,MAAM,wDAAwD,MAAM,YAAY,eAAe,gDAAgD,yCAAyC,2BAA2B,UAAU,KAAK,OAAO,sBAAsB,0CAA0C,wBAAwB,uFAAuF,sCAAsC,sBAAsB,yEAAyE,GAAG,GAAG,4BAA4B,sBAAsB,sCAAsC,SAAS,EAAE,gBAAgB,eAAe,4CAA4C,QAAQ,eAAe,qCAAqC,oBAAoB,MAAM,gBAAgB,yCAAyC,OAAO,qBAAqB;AAC/hE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,qBAAqB,2IAA2I,QAAQ,iBAAiB,wBAAwB,cAAc,uCAAuC,QAAQ,iBAAiB,8BAA8B,gBAAgB,YAAY,WAAW,aAAa,kBAAkB,mBAAmB,4BAA4B,kBAAkB,uBAAuB,wEAAwE,gBAAgB,4BAA4B,WAAW,eAAe,kBAAkB,kBAAkB,kBAAkB,gBAAgB,wCAAwC,kBAAkB,mBAAmB,8BAA8B,gBAAgB,6BAA6B,kBAAkB,uBAAuB,2DAA2D,gBAAgB,mCAAmC,kBAAkB,uBAAuB,yCAAyC,gBAAgB,oCAAoC,kBAAkB,yBAAyB,sDAAsD,gBAAgB,qCAAqC,kBAAkB,uBAAuB,yCAAyC,gBAAgB,wCAAwC,kBAAkB,qBAAqB,iCAAiC,gBAAgB,iCAAiC,kBAAkB,uBAAuB,8CAA8C,gBAAgB,kCAAkC,kBAAkB,yBAAyB,gDAAgD,gBAAgB,4BAA4B,kBAAkB,mBAAmB,wBAAwB,gBAAgB,wCAAwC,kBAAkB,mBAAmB,8BAA8B,gBAAgB,oCAAoC,kBAAkB,qBAAqB,qCAAqC,gBAAgB,kCAAkC,kBAAkB,qBAAqB,6CAA6C,gBAAgB,qCAAqC,kBAAkB,uBAAuB,qDAAqD,gBAAgB,8BAA8B,kBAAkB,2BAA2B,6CAA6C,0BAA0B,2CAA2C,yBAAyB,2CAA2C,gBAAgB,yEAAyE,kBAAkB,mBAAmB,6BAA6B,gBAAgB,iCAAiC,kBAAkB,mBAAmB,6BAA6B,gBAAgB,qCAAqC,kBAAkB,yBAAyB,qDAAqD,gBAAgB,kCAAkC,kBAAkB,yBAAyB,qDAAqD,gBAAgB,sCAAsC,kBAAkB,qBAAqB,qCAAqC,gBAAgB,oCAAoC,QAAQ,iBAAiB,yBAAyB,kBAAkB,uBAAuB,0HAA0H,gBAAgB,6EAA6E,WAAW,2DAA2D,QAAQ,mBAAmB,2CAA2C,QAAQ,mBAAmB,2CAA2C,QAAQ,WAAW,gBAAgB,gBAAgB,qBAAqB,iBAAiB,2CAA2C,gBAAgB,+BAA+B,sBAAsB,2EAA2E,eAAe,4CAA4C,uBAAuB,yDAAyD,4BAA4B,wBAAwB,+BAA+B,oBAAoB,wCAAwC,qBAAqB,8DAA8D,uBAAuB,+BAA+B,qBAAqB,0BAA0B,4BAA4B,qBAAqB,iDAAiD,oBAAoB,2BAA2B,wBAAwB,2BAA2B,uBAAuB,yBAAyB,wBAAwB,+CAA+C,2BAA2B,yBAAyB,yBAAyB,iDAAiD,iBAAiB,cAAc,kCAAkC,aAAa,yFAAyF,SAAS,GAAG,qBAAqB,keAAke,2BAA2B,SAAS,wBAAwB,yEAAyE,2BAA2B,0CAA0C,uBAAuB,2EAA2E,wBAAwB,+FAA+F,2BAA2B,2EAA2E,qBAAqB,iGAAiG,yBAAyB,iGAAiG,uBAAuB,6EAA6E,uBAAuB,+DAA+D,qBAAqB,iEAAiE,gBAAgB,mBAAmB,oEAAoE,qEAAqE,uEAAuE,iBAAiB,qFAAqF,oBAAoB,2DAA2D,wBAAwB,2DAA2D,sBAAsB,uGAAuG,eAAe,4FAA4F,oBAAoB,sEAAsE,qBAAqB,0FAA0F,YAAY,WAAW,YAAY,WAAW,0BAA0B,SAAS,gBAAgB,+DAA+D,gBAAgB,iFAAiF,qCAAqC,2BAA2B,SAAS,wBAAwB,qCAAqC,kEAAkE,2BAA2B,SAAS,uBAAuB,+BAA+B,uEAAuE,wBAAwB,qDAAqD,sFAAsF,2BAA2B,+BAA+B,uEAAuE,qBAAqB,uDAAuD,qFAAqF,yBAAyB,uDAAuD,qFAAqF,uBAAuB,+DAA+D,iEAAiE,uBAAuB,qCAAqC,wDAAwD,qBAAqB,gCAAgC,0DAA0D,gBAAgB,2BAA2B,iCAAiC,mDAAmD,oDAAoD,sEAAsE,SAAS,iBAAiB,iDAAiD,4EAA4E,oBAAoB,iCAAiC,uDAAuD,wBAAwB,iCAAiC,uDAAuD,sBAAsB,iFAAiF,yFAAyF,eAAe,kDAAkD,gFAAgF,oBAAoB,8CAA8C,6DAA6D,qBAAqB,oEAAoE,4EAA4E,YAAY,WAAW,SAAS,YAAY,WAAW,KAAK,6BAA6B,kBAAkB,aAAa,gBAAgB,qCAAqC,wDAAwD,gBAAgB,UAAU,sBAAsB,uBAAuB,iKAAiK,0BAA0B,SAAS,mBAAmB,yBAAyB,kGAAkG,sBAAsB,uBAAuB,4EAA4E,4BAA4B,2BAA2B,6GAA6G;AAC9yW;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,cAAc;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,mLAAmL,SAAS,GAAG,gFAAgF,QAAQ,uBAAuB,oEAAoE,eAAe,gDAAgD,WAAW,2BAA2B,WAAW,2BAA2B,cAAc,+CAA+C,eAAe,+BAA+B,YAAY,4BAA4B,eAAe,kDAAkD,cAAc,iDAAiD,gBAAgB,mDAAmD,qBAAqB,wDAAwD,gBAAgB,mDAAmD,iBAAiB,oDAAoD,gBAAgB,mDAAmD,UAAU,0BAA0B,WAAW,4CAA4C,WAAW,kBAAkB,kHAAkH,8CAA8C,sBAAsB,kBAAkB,uDAAuD,kBAAkB,iCAAiC,sCAAsC,QAAQ,eAAe,2EAA2E,UAAU,wEAAwE,YAAY,iCAAiC,6BAA6B,KAAK,MAAM,EAAE,WAAW,IAAI,MAAM,kBAAkB,6CAA6C,qCAAqC,kCAAkC,UAAU,UAAU,iFAAiF,sGAAsG,yCAAyC,2GAA2G,sDAAsD,iFAAiF,wFAAwF,sDAAsD,wDAAwD,cAAc,gCAAgC,gBAAgB,wBAAwB,MAAM,gGAAgG,mBAAmB,wCAAwC,kBAAkB,wCAAwC,iCAAiC,eAAe,QAAQ,0GAA0G,iBAAiB,mBAAmB,mBAAmB,aAAa,gBAAgB,2CAA2C,uFAAuF,mCAAmC,iBAAiB,UAAU,cAAc,qBAAqB,oBAAoB,EAAE,iBAAiB,2BAA2B,KAAK,mCAAmC,sGAAsG,KAAK,eAAe,MAAM,2DAA2D,oBAAoB,uEAAuE,SAAS,kBAAkB,qDAAqD,UAAU,aAAa,+BAA+B,eAAe,sBAAsB,mBAAmB,KAAK,aAAa,mBAAmB,MAAM,mFAAmF,+CAA+C,4FAA4F,iBAAiB,YAAY,IAAI,mBAAmB,oCAAoC,uCAAuC,KAAK,0DAA0D,eAAe,kCAAkC,qEAAqE,UAAU,WAAW,qBAAqB,uBAAuB,8BAA8B,4GAA4G,cAAc,iDAAiD,cAAc,wBAAwB,iBAAiB,uBAAuB,gBAAgB,WAAW,EAAE,uBAAuB,YAAY,SAAS,cAAc,mBAAmB,mCAAmC,wBAAwB,cAAc,oBAAoB,eAAe,8BAA8B,eAAe,UAAU,mBAAmB,mBAAmB,mBAAmB,kBAAkB,mBAAmB,kBAAkB,sBAAsB,+BAA+B,SAAS,aAAa,YAAY,sBAAsB,oBAAoB,KAAK,QAAQ,2BAA2B,UAAU,yCAAyC;AACt9K;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,wBAAwB,oBAAoB,wBAAwB,uHAAuH,YAAY,oBAAoB,gBAAgB,sHAAsH,IAAI,2CAA2C,mBAAmB,KAAK,GAAG,eAAe,+BAA+B,uBAAuB;AAC1gB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,uBAAuB,6FAA6F,SAAS,mBAAmB,uDAAuD,gBAAgB,eAAe,6CAA6C,yBAAyB,SAAS,eAAe,6DAA6D,wBAAwB,kCAAkC,uJAAuJ,kCAAkC,yBAAyB,uCAAuC,kCAAkC,yBAAyB,yCAAyC,2BAA2B,+BAA+B,uEAAuE,mIAAmI,sBAAsB,iCAAiC,0BAA0B,gCAAgC,oBAAoB,kCAAkC,yDAAyD,8EAA8E,mBAAmB,uBAAuB,uBAAuB,qBAAqB,gCAAgC,qBAAqB,6CAA6C,sCAAsC,iCAAiC,gCAAgC,wEAAwE,kCAAkC,EAAE,+BAA+B,uCAAuC,uBAAuB,WAAW,YAAY,uBAAuB,KAAK,oKAAoK,UAAU,oCAAoC,qEAAqE,6BAA6B,+BAA+B,mBAAmB,cAAc,GAAG,KAAK,WAAW,OAAO,wCAAwC,WAAW,UAAU,MAAM,sCAAsC,oLAAoL,cAAc,WAAW,KAAK,UAAU,sCAAsC,yBAAyB,kBAAkB,cAAc,OAAO,wGAAwG,qBAAqB,wCAAwC,4BAA4B,oCAAoC,2DAA2D,kBAAkB,8BAA8B,yCAAyC,iBAAiB,WAAW,YAAY,aAAa,KAAK,4CAA4C,mCAAmC,mCAAmC,YAAY,6BAA6B,4BAA4B,MAAM,mBAAmB,8LAA8L,qCAAqC,SAAS,YAAY,IAAI,iEAAiE,iBAAiB,OAAO,aAAa,8CAA8C,WAAW,GAAG,SAAS,6BAA6B,yQAAyQ,QAAQ,qBAAqB,6CAA6C,WAAW,oBAAoB,YAAY,sCAAsC,iBAAiB,mEAAmE,sBAAsB,iBAAiB,qCAAqC,uFAAuF,4BAA4B,2CAA2C,QAAQ,qCAAqC,cAAc,iDAAiD,yIAAyI,UAAU,aAAa,iBAAiB,gBAAgB,YAAY,yBAAyB,4BAA4B,sDAAsD,iBAAiB,gCAAgC,gBAAgB,+BAA+B,mBAAmB,iGAAiG,2BAA2B,qDAAqD,kBAAkB,oFAAoF,oBAAoB,+CAA+C,4BAA4B,kBAAkB,wKAAwK,oCAAoC,kBAAkB,+LAA+L,aAAa,6BAA6B,KAAK,8BAA8B,EAAE,yBAAyB,wIAAwI,kCAAkC,EAAE,2FAA2F,oHAAoH,YAAY,6BAA6B,sCAAsC,2EAA2E,GAAG,qFAAqF,KAAK,kCAAkC,gCAAgC,MAAM,QAAQ,QAAQ,iDAAiD,yCAAyC,SAAS,kBAAkB,+BAA+B,mBAAmB,gDAAgD,sCAAsC,yBAAyB,MAAM,wDAAwD,KAAK,oDAAoD,uHAAuH,oDAAoD,SAAS,iBAAiB,6BAA6B,KAAK,mCAAmC,EAAE,gCAAgC,QAAQ,QAAQ,kDAAkD,SAAS,kBAAkB,2BAA2B,KAAK,mCAAmC,EAAE,8BAA8B,QAAQ,QAAQ,kDAAkD,SAAS,gBAAgB,6BAA6B,KAAK,2BAA2B,EAAE,2BAA2B,UAAU,qDAAqD,gCAAgC,QAAQ,QAAQ,+CAA+C,SAAS,MAAM,SAAS,kBAAkB,2BAA2B,KAAK,2BAA2B,EAAE,2BAA2B,UAAU,iDAAiD,8BAA8B,QAAQ,QAAQ,+CAA+C,SAAS,MAAM,SAAS,gBAAgB,iCAAiC,KAAK,2BAA2B,EAAE,2BAA2B,UAAU,+BAA+B,iCAAiC,MAAM,QAAQ,QAAQ,+CAA+C,SAAS,MAAM,SAAS,sBAAsB,yBAAyB,KAAK,2BAA2B,EAAE,2BAA2B,UAAU,uCAAuC,yBAAyB,MAAM,QAAQ,QAAQ,+CAA+C,SAAS,MAAM,SAAS,cAAc,+BAA+B,wBAAwB,MAAM,2BAA2B,mGAAmG,oGAAoG,6FAA6F,6BAA6B,iBAAiB,0BAA0B,qBAAqB,MAAM,iFAAiF,sFAAsF,6EAA6E,yBAAyB,yBAAyB,iJAAiJ,gCAAgC,+CAA+C,kDAAkD,GAAG,2CAA2C,uBAAuB,kCAAkC,4FAA4F,KAAK,+CAA+C,4CAA4C,eAAe,wBAAwB,sCAAsC,uBAAuB,yBAAyB,wDAAwD,+FAA+F,sGAAsG,6FAA6F,8FAA8F,0FAA0F,sCAAsC,yBAAyB,qCAAqC,kGAAkG,4DAA4D,iHAAiH,yBAAyB,6BAA6B,+DAA+D,yBAAyB,6BAA6B,+DAA+D,0OAA0O,uBAAuB,WAAW,gCAAgC,yBAAyB,yCAAyC,SAAS,kBAAkB,kCAAkC,gEAAgE,uBAAuB,GAAG,wEAAwE,QAAQ,eAAe,oDAAoD,yCAAyC,+CAA+C,kDAAkD,sCAAsC,+FAA+F,sCAAsC,uBAAuB,kCAAkC,+CAA+C,0CAA0C,+CAA+C,qMAAqM,sCAAsC,qHAAqH,gCAAgC,sDAAsD,oDAAoD,qBAAqB,qCAAqC,WAAW,GAAG,yBAAyB,yCAAyC,SAAS,2BAA2B,cAAc,mCAAmC,GAAG,4FAA4F,SAAS,OAAO,mCAAmC,yBAAyB,WAAW,qDAAqD,8BAA8B,EAAE,+BAA+B,eAAe,KAAK,iEAAiE,iIAAiI,kCAAkC,gCAAgC,iCAAiC,WAAW,kCAAkC,uCAAuC,iCAAiC,+BAA+B,oEAAoE,8BAA8B,2CAA2C,0BAA0B,0EAA0E,0BAA0B,cAAc,oCAAoC,kEAAkE,kBAAkB,qCAAqC,eAAe,wCAAwC,kCAAkC,uDAAuD,oBAAoB,kBAAkB,sCAAsC,mCAAmC,eAAe,wCAAwC,WAAW,yGAAyG,4CAA4C,oBAAoB,6BAA6B,qEAAqE,gBAAgB,qFAAqF,qBAAqB,qIAAqI,OAAO,gBAAgB,KAAK,iPAAiP,6IAA6I,SAAS,cAAc,eAAe,4BAA4B,yBAAyB,4BAA4B,wBAAwB,yBAAyB,4BAA4B,sBAAsB,0BAA0B,wBAAwB,uBAAuB,+BAA+B,qBAAqB,0BAA0B,iBAAiB,kBAAkB,qBAAqB,yBAAyB,uBAAuB,eAAe,0BAA0B,qBAAqB,sBAAsB,cAAc,mCAAmC,iBAAiB,kBAAkB,mBAAmB,cAAc,mCAAmC,YAAY,2BAA2B,sBAAsB,wGAAwG,cAAc,qDAAqD,cAAc,sBAAsB,sCAAsC,SAAS,EAAE,gCAAgC,0DAA0D,cAAc,aAAa,mCAAmC,gBAAgB,aAAa,sBAAsB,SAAS,eAAe,QAAQ,aAAa,kBAAkB,gBAAgB,0BAA0B,kDAAkD,+BAA+B,aAAa,yBAAyB,cAAc,iBAAiB,OAAO,UAAU,IAAI,iFAAiF,gBAAgB,2BAA2B,iBAAiB,uBAAuB,EAAE,iCAAiC,kDAAkD,sBAAsB,GAAG,YAAY,cAAc,IAAI,YAAY,KAAK,yBAAyB,KAAK,KAAK,uBAAuB,KAAK,OAAO,eAAe,YAAY,cAAc,IAAI,YAAY,KAAK,8BAA8B,KAAK,KAAK,yBAAyB,KAAK,OAAO,eAAe,gBAAgB,0CAA0C,4BAA4B,GAAG,6BAA6B,4CAA4C,oCAAoC,kDAAkD,6BAA6B,2CAA2C,uCAAuC,aAAa,4BAA4B,2EAA2E,cAAc,oCAAoC,aAAa,sBAAsB,aAAa,GAAG,eAAe,6BAA6B,QAAQ,KAAK,mCAAmC,gBAAgB,uDAAuD,IAAI,kBAAkB,yBAAyB,s2BAAs2B,4BAA4B,QAAQ,SAAS,yBAAyB,MAAM,EAAE,wBAAwB,0CAA0C,gCAAgC,OAAO,uCAAuC,4BAA4B,wBAAwB,iCAAiC,QAAQ,KAAK,cAAc,yHAAyH,SAAS,gCAAgC,QAAQ,KAAK,cAAc,gIAAgI,SAAS,gCAAgC,6CAA6C,uBAAuB,0CAA0C,uBAAuB,0BAA0B,OAAO,MAAM,cAAc,GAAG,OAAO,mBAAmB,wEAAwE,MAAM,oCAAoC,yBAAyB,sBAAsB,6BAA6B,iFAAiF,KAAK,OAAO,oDAAoD,EAAE,sCAAsC,SAAS,2BAA2B,wBAAwB,UAAU,aAAa,MAAM,kBAAkB,GAAG,4BAA4B,mCAAmC,SAAS,kBAAkB,EAAE,cAAc,MAAM,2BAA2B,2DAA2D,SAAS,4CAA4C,4BAA4B,wCAAwC,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,oBAAoB,oEAAoE,0BAA0B,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,MAAM,oBAAoB,qDAAqD,OAAO,EAAE,uBAAuB,aAAa,6BAA6B,2BAA2B,EAAE,+CAA+C,EAAE,kBAAkB,EAAE,aAAa,MAAM,cAAc,GAAG,gCAAgC,qBAAqB,SAAS,kBAAkB,EAAE,eAAe,MAAM,QAAQ,GAAG,wBAAwB,QAAQ,SAAS,eAAe,EAAE,mBAAmB,MAAM,iCAAiC,wBAAwB,kCAAkC,gCAAgC,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,+CAA+C,SAAS,kBAAkB,EAAE,oBAAoB,MAAM,gBAAgB,4CAA4C,2BAA2B,qBAAqB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,mDAAmD,SAAS,kBAAkB,EAAE,iBAAiB,MAAM,YAAY,GAAG,iBAAiB,wBAAwB,EAAE,iCAAiC,EAAE,oBAAoB,MAAM,cAAc,GAAG,4BAA4B,kBAAkB,SAAS,kBAAkB,EAAE,kBAAkB,MAAM,gBAAgB,iCAAiC,eAAe,MAAM,gBAAgB,oFAAoF,wBAAwB,QAAQ,oBAAoB,OAAO,IAAI,2BAA2B,iDAAiD,EAAE,oBAAoB,EAAE,GAAG,6BAA6B,aAAa,SAAS,kBAAkB,EAAE,wBAAwB,MAAM,QAAQ,GAAG,iBAAiB,yCAAyC,QAAQ,SAAS,kBAAkB,EAAE,wCAAwC,QAAQ,SAAS,kBAAkB,EAAE,sCAAsC,SAAS,kBAAkB,EAAE,uCAAuC,QAAQ,SAAS,kBAAkB,EAAE,uCAAuC,iBAAiB,SAAS,kBAAkB,EAAE,qFAAqF,uCAAuC,8BAA8B,yBAAyB,+HAA+H,OAAO,EAAE,uBAAuB,GAAG,uBAAuB,SAAS,yDAAyD,qBAAqB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,qBAAqB,MAAM,aAAa,UAAU,gCAAgC,aAAa,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,iBAAiB,MAAM,aAAa,UAAU,4BAA4B,kCAAkC,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,2CAA2C,gCAAgC,kBAAkB,4BAA4B,2BAA2B,OAAO,EAAE,uBAAuB,OAAO,kBAAkB,GAAG,GAAG,uBAAuB,EAAE,kBAAkB,EAAE,kBAAkB,MAAM,oBAAoB,0BAA0B,wBAAwB,EAAE,mBAAmB,EAAE,iCAAiC,4BAA4B,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,qBAAqB,MAAM,0BAA0B,4DAA4D,OAAO,EAAE,uBAAuB,GAAG,wBAAwB,EAAE,iCAAiC,4BAA4B,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,aAAa,MAAM,mCAAmC,GAAG,+BAA+B,iBAAiB,SAAS,kBAAkB,EAAE,sDAAsD,cAAc,wBAAwB,cAAc,2BAA2B,kBAAkB,sCAAsC,GAAG,EAAE,qCAAqC,OAAO,gBAAgB,UAAU,kBAAkB,UAAU,4BAA4B,MAAM,sBAAsB,UAAU,sCAAsC,WAAW,iDAAiD,EAAE,MAAM,qBAAqB,UAAU,sCAAsC,WAAW,iDAAiD,EAAE,OAAO,SAAS,kBAAkB,gCAAgC,GAAG,EAAE,iBAAiB,oBAAoB,oFAAoF,wCAAwC,aAAa,YAAY,IAAI,YAAY,QAAQ,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,oCAAoC,gBAAgB,mCAAmC,cAAc,gCAAgC,cAAc,sFAAsF,cAAc,sCAAsC,cAAc,uCAAuC,cAAc,oCAAoC,mBAAmB,uBAAuB,sCAAsC,SAAS,4CAA4C,uBAAuB,6CAA6C,GAAG,YAAY,MAAM,2FAA2F,WAAW,YAAY,WAAW,KAAK,aAAa,0DAA0D,8BAA8B,kBAAkB,oDAAoD,sBAAsB,oBAAoB,wCAAwC,cAAc,QAAQ,YAAY,mDAAmD,KAAK,+FAA+F,wBAAwB,uCAAuC,KAAK,aAAa,YAAY,oBAAoB,IAAI,0BAA0B,OAAO,+BAA+B,uCAAuC,EAAE,gBAAgB,SAAS,MAAM,cAAc,GAAG,4CAA4C,+BAA+B,iDAAiD,0BAA0B,iBAAiB,iDAAiD,+BAA+B,eAAe,EAAE,wCAAwC,wBAAwB,iBAAiB,UAAU,MAAM,mBAAmB,GAAG,oDAAoD,MAAM,QAAQ,GAAG,6BAA6B,0BAA0B,cAAc,uCAAuC,cAAc,cAAc,EAAE,0CAA0C,GAAG,oBAAoB,uFAAuF,wDAAwD,OAAO,yBAAyB,gBAAgB,IAAI,4BAA4B,0BAA0B,cAAc,qCAAqC,cAAc,SAAS,EAAE,kCAAkC,IAAI,cAAc,yBAAyB,uBAAuB,oCAAoC,OAAO,6BAA6B,cAAc,qDAAqD,cAAc,wCAAwC,cAAc,sCAAsC,cAAc,uDAAuD,wBAAwB,SAAS,oBAAoB,gBAAgB,sBAAsB,oCAAoC,aAAa,MAAM,iBAAiB,uBAAuB,gBAAgB,MAAM,iBAAiB,uDAAuD,6BAA6B,sCAAsC,SAAS,6BAA6B,8BAA8B,kCAAkC,oCAAoC,kCAAkC,oCAAoC,2BAA2B,6BAA6B,qCAAqC,qFAAqF,GAAG,MAAM,sBAAsB,GAAG,eAAe,OAAO,mCAAmC,gBAAgB,OAAO,4FAA4F,IAAI,2CAA2C,KAAK,wBAAwB,OAAO,SAAS,uMAAuM;;;;;;;;AC7Cp+6B;AACb;AACA,4CAA4C;AAC5C;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,gCAAgC,mBAAO,CAAC,EAAO;AAC/C,mBAAmB,mBAAO,CAAC,GAAU;AACrC,eAAe,mBAAO,CAAC,GAAM;AAC7B;AACA;AACA,WAAW,MAAM,GAAG,KAAK;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,OAAO;AACP,sC;;;;;;;;;;AC/Ba;AACb,2BAA2B,mBAAO,CAAC,EAAsB;AACzD,sBAAsB,mBAAO,CAAC,GAA6B;AAC3D,uCAAuC,mBAAO,CAAC,GAA4B;;AAE3E;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,6BAA6B,GAAG;;AAEhC;AACA;AACA;;AAEA;AACA;;AAEA;AACA,yBAAyB,kBAAkB,GAAG;AAC9C,0BAA0B,iBAAiB,GAAG,iBAAiB;AAC/D;;AAEA;AACA;AACA,kDAAkD,cAAc;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,iCAAiC,mBAAmB;;AAEpD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO,GAAG,WAAW;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd,cAAc;;;;;;;;;ACpGD;;;AAGb,aAAa,mBAAO,CAAC,GAAU;;;AAG/B;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA,cAAc;;;;;;;;;;;;AC3ED;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,iBAAiB,OAAO,kBAAkB,OAAO,kBAAkB;AACpE,wC;;;;;;;;ACnDa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,iBAAiB,OAAO,kBAAkB,OAAO,kBAAkB;AACpE,wC;;;;;;ACxBA;;;;;;;;;;;;;;;ACAA,cAAc;AACd;;AAEA,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACxCA,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,iBAAiB;AAC9E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA;AACA,cAAc;;;;;;;;;;ACxED;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oBAAoB,OAAO,qBAAqB,OAAO,qBAAqB;AAC7E,2C;;;;;;;;;;;;;;ACvCA,kC;;;;;;;ACAa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,cAAc,OAAO,eAAe,OAAO,eAAe;AAC3D,qC;;;;;;AC3BA,qC;;;;;;;ACAa;AACb;AACA,4CAA4C;AAC5C;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,gCAAgC,mBAAO,CAAC,EAAO;AAC/C,qCAAqC,mBAAO,CAAC,GAAY;AACzD;AACA;AACA,mDAAmD,oCAAoC;AACvF;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO,yEAAyE,sCAAsC,GAAG,WAAW,0BAA0B,mCAAmC,GAAG,EAAE;AAC7N;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,4BAA4B,KAAK;AACjC,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,yC;;;;;;;ACtDA,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAU;AAC/B,UAAU,mBAAO,CAAC,GAAM;;AAExB,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qCAAqC,4BAA4B,EAAE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA,WAAW,6BAA6B;AACxC;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA;AACA,cAAc;;;;;;;;;;AC5DD;;AAEb,YAAY,mBAAO,CAAC,EAAY;AAChC,aAAa,mBAAO,CAAC,GAAkB;AACvC,cAAc,mBAAO,CAAC,GAAsB;AAC5C,eAAe,mBAAO,CAAC,GAAuB;AAC9C,oBAAoB,mBAAO,CAAC,GAAuB;AACnD,mBAAmB,mBAAO,CAAC,GAA2B;AACtD,sBAAsB,mBAAO,CAAC,GAA8B;AAC5D,kBAAkB,mBAAO,CAAC,EAAqB;;AAE/C,cAAc;AACd;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;AClLY;;AA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AgD,gBAAgB,oBAAoB,WAAW,GAAG,UAAU,IAAI,qBAAqB,6BAA6B,EAAE,2FAA2F,mBAAmB,MAAM,cAAc,8FAA8F,gBAAgB,kBAAkB,MAAM,qCAAqC,gBAAgB,eAAe,GAAG,sFAAsF,yBAAyB,cAAc,uDAAuD,kBAAkB,mGAAmG,uCAAuC,cAAc,aAAa,gBAAgB,qBAAqB,6BAA6B,2BAA2B,GAAG,uCAAuC,UAAU,+DAA+D,oBAAoB,KAAK,UAAU,SAAS,EAAE,EAAE,OAAO,SAAS,0CAA0C,KAAK,UAAU,SAAS,EAAE,IAAI;;;;;;;;;;AClB7qgE,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5Ba;;AAEb;AACA,0CAA0C;;AAE1C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,IAAI;;AAEjB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc,IAAI;;AAElB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd,cAAc;;;;;;;;AC5CD;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA,8CAA8C,SAAS;AACvD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,wCAAwC;AACjD;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc;;;;;;;;;;;ACxTd,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;;AAEzB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,6EAA6E,iBAAiB;AAC9F;AACA;AACA,cAAc;;;;;;;;;;;ACnCd,cAAc;AACd;;AAEA,SAAS,mBAAO,CAAC,GAAI;AACrB,SAAS,mBAAO,CAAC,GAAa;AAC9B,gBAAgB,mBAAO,CAAC,GAAW;AACnC;AACA,WAAW,mBAAO,CAAC,GAAW;AAC9B,WAAW,mBAAO,CAAC,GAAM;AACzB,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAQ;AAC7B,iBAAiB,mBAAO,CAAC,GAAkB;AAC3C,aAAa,mBAAO,CAAC,GAAa;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;ACrea;AACb,WAAW,mBAAO,CAAC,EAAI;AACvB,gBAAgB,mBAAO,CAAC,GAAU;;AAElC;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iCAAiC,GAAG;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;;;;;;;;;AClIA,gBAAgB,mBAAO,CAAC,GAAW;;AAEnC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA,cAAc;;AAEd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,yCAAyC;AACzC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL,8CAA8C;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;ACrVa;;AAEb,qBAAqB,mBAAO,CAAC,GAAQ;AACrC,eAAe,mBAAO,CAAC,GAAW;AAClC,kBAAkB,mBAAO,CAAC,GAA0B;AACpD,qBAAqB,mBAAO,CAAC,GAAkB;AAC/C,aAAa,mBAAO,CAAC,GAAS;AAC9B,wBAAwB,mBAAO,CAAC,GAAsC;AACtE,aAAa,mBAAO,CAAC,GAAM;AAC3B,eAAe,mBAAO,CAAC,GAAK;AAC5B,oBAAoB,mBAAO,CAAC,GAAoB;AAChD,oBAAoB,mBAAO,CAAC,GAAgB;AAC5C,YAAY,mBAAO,CAAC,GAAK;AACzB,YAAY,mBAAO,CAAC,GAAK;AACzB,eAAe,mBAAO,CAAC,GAAQ;;AAE/B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;;AAET;AACA;;AAEA;AACA,mCAAmC,KAAK;AACxC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F,IAAI;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;ACtad;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAuxae,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAm3OlB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA8zIe,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAst+B5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9pwDC;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,qDAAqD;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gBAAgB,OAAO,iBAAiB,OAAO,iBAAiB;AACjE,uC;;;;;;ACnBA,cAAc;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP,KAAK;AACL;;;;;;;;AC3BA,mC;;;;;;;ACAa;;AAEb,YAAY,mBAAO,CAAC,EAAY;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,cAAc;;;;;;;ACnDd,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,oCAAoC;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe;AACf,CAAC;AACD,cAAc;;;;;;;;;ACpFD;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,qBAAqB,OAAO,sBAAsB,OAAO,sBAAsB;AAChF,4C;;;;;;;;;;AC1Ba;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,+BAA+B;AAC/B,OAAO;AACP,gC;;;;;;;;;;;;;ACLa;;AAEb,eAAe,mBAAO,CAAC,GAAU;AACjC,eAAe,mBAAO,CAAC,GAAU;AACjC,iBAAiB,mBAAO,CAAC,GAAa;AACtC,sBAAsB,mBAAO,CAAC,GAAkB;AAChD,0BAA0B,mBAAO,CAAC,GAAsB;AACxD,wBAAwB,mBAAO,CAAC,GAAoB;AACpD,sBAAsB,mBAAO,CAAC,GAAkB;AAChD,qBAAqB,mBAAO,CAAC,GAAiB;AAC9C,cAAc,mBAAO,CAAC,GAAS;AAC/B,oBAAoB,mBAAO,CAAC,GAAiB;;AAE7C;AACA;AACA;;AAEA;;AAEA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,cAAc;AACd;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;;;;;;;;AC9Ia;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,qEAAqE,oEAAoE;AACzI;AACA,gEAAgE;AAChE;AACA;AACA;AACA,SAAS;AACT;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,OAAO;AACP;;;;;;;;;ACjIA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA,SAAS,mBAAO,CAAC,GAAI;AACrB;AACA;;AAEA;AACA;AACA,UAAU,mBAAO,CAAC,GAAU;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACjEA,2C;;;;;;;ACAA,gBAAgB,mBAAO,CAAC,GAAY;AACpC,eAAe,mBAAO,CAAC,GAAgB;;AAEvC,cAAc;;AAEd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA,mCAAmC;AACnC,oCAAoC;AACpC;AACA;AACA;;;AAGA;AACA;AACA,wCAAwC,GAAG,IAAI;AAC/C;AACA;AACA;;AAEA;AACA,qBAAqB,KAAK;;AAE1B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB,aAAa;AAClC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B,uCAAuC,GAAG;AAC1C,YAAY,GAAG,yBAAyB;AACxC;AACA;AACA,8BAA8B;AAC9B,cAAc,GAAG;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qBAAqB,KAAK;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,EAAE;AACV,2BAA2B;AAC3B,sBAAsB;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,YAAY,KAAK,QAAQ,EAAE,IAAI,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mCAAmC,2BAA2B;AAC9D;;AAEA,iBAAiB,cAAc;AAC/B,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACvMa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA,iBAAiB,mBAAO,CAAC,GAAkC;AAC3D;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,gC;;;;;;;;;;;ACba;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,eAAe,OAAO,gBAAgB,OAAO,gBAAgB;AAC9D,sC;;;;;;AChCA;AACA;AACA,EAAE,cAAc;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,CAAC;AACD;AACA,EAAE,cAAc;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACjKY;AACZ,UAAU,mBAAO,CAAC,GAAc;AAChC,WAAW,mBAAO,CAAC,GAAO;;AAE1B;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;;;;;ACXa;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,sBAAsB,GAAG,KAAK,KAAK,gBAAgB,MAAM,mBAAmB;AACtG;AACA,KAAK;AACL,0BAA0B,sBAAsB,GAAG,KAAK,KAAK,aAAa,MAAM,mBAAmB;AACnG;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA,OAAO;AACP;;;;;;;;;;;;;;;;AC7Ba;;AAEb,WAAW,mBAAO,CAAC,GAAI;AACvB,uBAAuB,mBAAO,CAAC,GAAiB;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uBAAuB;AACvB;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK,YAAY;;AAEjB;AACA;AACA;;AAEA,cAAc;;;;;;;;;;AC/Bd,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,4DAA4D,iBAAiB;AAC7E;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;;;;;;;;;;;;;;AChGd;;AAEa;;AAEb,eAAe,mBAAO,CAAC,GAAQ;AAC/B,WAAW,mBAAO,CAAC,EAAI;AACvB,WAAW,mBAAO,CAAC,GAAI;AACvB,iBAAiB,mBAAO,CAAC,GAAU;AACnC,oBAAoB,mBAAO,CAAC,GAAQ;AACpC,eAAe,mBAAO,CAAC,GAAW;;AAElC,kBAAkB,mBAAO,CAAC,GAAe;AACzC,WAAW,mBAAO,CAAC,GAAO;AAC1B,eAAe,mBAAO,CAAC,GAAW;AAClC,sBAAsB,mBAAO,CAAC,GAAkB;AAChD,cAAc,mBAAO,CAAC,GAAU;AAChC,oBAAoB,mBAAO,CAAC,CAAgB;;AAE5C;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kEAAkE,iBAAiB;AACnF;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA,2DAA2D,QAAQ;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD,iBAAiB;AACvE,QAAQ,aAAa;AACrB;AACA,eAAe,oBAAoB;AACnC,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,aAAa;AACb,2BAA2B,wCAAwC;AACnE;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,0BAA0B;AAC1B;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mDAAmD,SAAS;AAC5D;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sDAAsD,iBAAiB;AACvE,QAAQ,aAAa;AACrB;AACA,eAAe,oBAAoB;AACnC,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,aAAa;AACb,2BAA2B,wCAAwC;AACnE;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,0BAA0B;AAC1B;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA,mDAAmD,SAAS;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gEAAgE;AAChE;AACA;AACA;AACA,mCAAmC;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,sDAAsD,SAAS;AAC/D;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,wDAAwD,SAAS;AACjE;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO,+BAA+B;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO,+BAA+B;AACtD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,+BAA+B;AACvE,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,6JAA6J;AAC7J;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mGAAmG;AACnG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;ACruCD;;AAEb;;AAEA;AACA,sCAAsC,QAAQ,GAAG,iBAAiB;AAClE;AACA;AACA,oBAAoB,QAAQ,GAAG,iBAAiB;AAChD;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iDAAiD;AACjD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;;;;;;;;;AC1Da;;AAEb,iBAAiB,mBAAO,CAAC,GAAU;AACnC,kBAAkB,mBAAO,CAAC,GAAe;AACzC,eAAe,mBAAO,CAAC,GAAQ;;AAE/B;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;;AAEA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,+CAA+C,GAAG,GAAG,GAAG;AACxD;;AAEA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,kEAAkE;AAClE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpHA;;;;;;;;;;;;;iBAaiB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbZ;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,cAAc;AACd,UAAU,mBAAO,CAAC,GAAQ;AAC1B;;;;;;;;;ACLA,qCAAqC;AACrC;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc,IAAI;;;;;;;ACdlB,mC;;;;;;;ACAa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,4CAA4C;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oBAAoB,OAAO,qBAAqB,OAAO,qBAAqB;AAC7E,2C;;;;;;ACrBA,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAU;;AAE/B;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;;;;;;;;;;;;;;;;;ACfD;AACb,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPA,cAAc,GAAG,OAAuB,CAAC,mBAAmB,sC;;;;;;;;ACA/C;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACzCA,mC;;;;;;;;;;;;ACAa;;AAEb,uBAAuB,mBAAO,CAAC,GAAoB;AACnD,eAAe,mBAAO,CAAC,GAAW;AAClC,gBAAgB,mBAAO,CAAC,EAAY;AACpC,qBAAqB,mBAAO,CAAC,GAAQ;;AAErC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;;AAEb;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;AC5Pd,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;;AAEzB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,4EAA4E,iBAAiB;AAC7F;AACA;AACA,cAAc;;;;;;;;;;;;ACpCD;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D,+BAA+B,iFAAiF;;AAEhH,oCAAoC,mBAAO,CAAC,GAAiB;AAC7D,yBAAyB,mBAAO,CAAC,EAAsB;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,OAAO,EAAE;AACT,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,GAAG;AACH,8BAA8B;AAC9B,GAAG;;;AAGH;AACA,gDAAgD,WAAW;;AAE3D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc,KAAK,GAAG,qCAAqC;AAC3D,GAAG;AACH;;AAEA,4BAA4B,GAAG,IAAI;;AAEnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,oBAAoB;AACpB;AACA;AACA;;AAEA;AACA;AACA,kCAAkC,EAAE;AACpC;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH,uBAAuB;AACvB;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC,6BAA6B,KAAK,EAAE,KAAK,MAAM,EAAE;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,4CAA4C,2BAA2B,QAAQ;;AAE/E,2DAA2D,IAAI;AAC/D,gCAAgC;AAChC;AACA,kGAAkG;;AAElG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2JAA2J,yBAAyB;AACpL;;AAEA;AACA;AACA;AACA,sDAAsD,yBAAyB;AAC/E,yCAAyC,QAAQ,UAAU,OAAO;AAClE,OAAO;AACP;AACA,GAAG;AACH;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;;AAGH;AACA,gDAAgD;AAChD,GAAG;AACH;;;AAGA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,yCAAyC,QAAQ,GAAG,kCAAkC,EAAE;AACxF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA,OAAO;AACP;;;;;;;;AC1Xa;;AAEb,WAAW,mBAAO,CAAC,GAAY;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AC3BY;;AAEb;;AAEA,kBAAkB,mBAAO,CAAC,GAAQ;AAClC,eAAe,mBAAO,CAAC,GAAQ;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;ACzJD;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,aAAa,OAAO,cAAc,OAAO,cAAc;AACxD,oC;;;;;;;;AChCa;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,0BAA0B,IAAI,kBAAkB,GAAG,aAAa;AACtF;;AAEA;AACA;;AAEA,OAAO;AACP;;;;;;;;;;;ACjBa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kBAAkB,OAAO,mBAAmB,OAAO,mBAAmB;AACvE,yC;;;;;;;ACrBa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,qBAAqB,mBAAO,CAAC,GAAwB;AACrD,eAAe,mBAAO,CAAC,GAAQ;AAC/B,sBAAsB,mBAAO,CAAC,GAAoB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,oCAAoC;AACpC;AACA;AACA,oCAAoC,2BAA2B,EAAE,IAAI;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,4EAA4E;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,kBAAkB;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,iC;;;;;;;;;AC/Pa;;AAEb,WAAW,mBAAO,CAAC,GAAe;AAClC,cAAc,mBAAO,CAAC,GAAa;AACnC,eAAe,mBAAO,CAAC,GAAc;;AAErC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd,cAAc;AACd,cAAc;;AAEd,cAAc;AACd,cAAc;;;;;;;;ACtCd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;AAEd,SAAS,mBAAO,CAAC,GAAI;AACrB,SAAS,mBAAO,CAAC,GAAa;AAC9B,gBAAgB,mBAAO,CAAC,GAAW;AACnC;AACA,eAAe,mBAAO,CAAC,GAAU;AACjC,SAAS,mBAAO,CAAC,GAAQ;AACzB,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAQ;AAC7B,iBAAiB,mBAAO,CAAC,GAAkB;AAC3C,eAAe,mBAAO,CAAC,GAAW;AAClC,aAAa,mBAAO,CAAC,GAAa;AAClC;AACA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,GAAU;AACjC,WAAW,mBAAO,CAAC,GAAM;AACzB;AACA;;AAEA,WAAW,mBAAO,CAAC,EAAM;;AAEzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,gCAAgC,qBAAqB;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,yBAAyB;AAC1C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;ACrxBa;AACb,aAAa,mBAAO,CAAC,GAAM;AAC3B,gBAAgB,mBAAO,CAAC,GAAU;;AAElC,cAAc;AACd;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;AACA,EAAE;;AAEF,6BAA6B;AAC7B,uBAAuB,IAAI;;AAE3B;AACA,aAAa,cAAc;;AAE3B;AACA;;;;;;;;;ACtCA;;;;;;;;ACAa;;AAEb,cAAc,mBAAO,CAAC,GAAe;AACrC,oBAAoB,mBAAO,CAAC,GAAoB;AAChD,kBAAkB,mBAAO,CAAC,GAAc;AACxC,eAAe,mBAAO,CAAC,GAAW;AAClC,eAAe,mBAAO,CAAC,GAAW;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA,aAAa;;AAEb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;ACvND;;AAEb,YAAY,mBAAO,CAAC,EAAU;;AAE9B,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACXa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,gBAAgB,mBAAO,CAAC,GAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,GAAQ;AACjC,yBAAyB,mBAAO,CAAC,GAAgB;AACjD,yCAAyC,mBAAO,CAAC,GAAQ;AACzD,iBAAiB,mBAAO,CAAC,GAAQ;AACjC;AACA,YAAY,mBAAO,CAAC,GAAiB;AACrC,eAAe,mBAAO,CAAC,GAAQ;AAC/B,gBAAgB,mBAAO,CAAC,GAAS;AACjC,sBAAsB,mBAAO,CAAC,EAAe;AAC7C,uBAAuB,mBAAO,CAAC,GAAgB;AAC/C,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,sBAAsB,mBAAO,CAAC,GAAoB;AAClD,oBAAoB,mBAAO,CAAC,GAAkB;AAC9C,wBAAwB,mBAAO,CAAC,GAAsB;AACtD,uBAAuB,mBAAO,CAAC,GAAqB;AACpD;AACA,iBAAiB,mBAAO,CAAC,GAAkC;AAC3D,OAAO,+BAA+B;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mBAAmB,2BAA2B;AAC9C;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,2BAA2B;AACtD;AACA;AACA;AACA;AACA,qDAAqD,4BAA4B;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,kDAAkD;AACnG;AACA;AACA;AACA;AACA;AACA,wCAAwC,kDAAkD;AAC1F;AACA;AACA;AACA;AACA;AACA,iDAAiD,kDAAkD;AACnG;AACA;AACA;AACA;AACA;AACA,wCAAwC,kDAAkD;AAC1F;AACA;AACA;AACA;AACA;AACA,gBAAgB,wBAAwB,MAAM;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE,8BAA8B,8BAA8B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE,8BAA8B,8BAA8B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,kCAAkC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,kCAAkC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,kCAAkC;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,8BAA8B;AAC1F;AACA;AACA,eAAe,aAAa;AAC5B;AACA,sDAAsD,2BAA2B;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,oCAAoC,WAAW,kBAAkB,YAAY;AAC7E;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,oDAAoD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,wBAAwB,KAAK,kDAAkD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,kCAAkC;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,kDAAkD;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,0CAA0C;AACtF;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,6CAA6C;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,8CAA8C;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,mCAAmC,wCAAwC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,YAAY;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2CAA2C,KAAK,+BAA+B;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yCAAyC,KAAK,6BAA6B;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,8BAA8B;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B,sBAAsB,UAAU;AAChC,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;ACt1BA,mC;;;;;;;ACAa;;;AAGb,WAAW,mBAAO,CAAC,CAAkB;;;AAGrC,cAAc;;;;;;;;;ACND;;AAEb,aAAa,mBAAO,CAAC,GAAM;AAC3B,cAAc,mBAAO,CAAC,EAAO;AAC7B,gBAAgB,mBAAO,CAAC,GAAU;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;;;;;;;;AC9CD;;AAEb,aAAa,mBAAO,CAAC,GAAW;AAChC,aAAa,mBAAO,CAAC,GAAS;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnHY;AACb;AACA;AACA,aAAa,mBAAO,CAAC,GAAM;;AAE3B;;AAEA;AACA,CAAC,cAAc;AACf,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA,CAAC,cAAc;AACf;;AAEA;AACA,cAAc;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC,KAAK;AACrC;;;;;;;;;ACrCa;;AAEb,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtvBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAA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B,cAAc;AAC5D,OAAO;AACP,eAAe,mBAAO,CAAC,GAAe;AACtC,iBAAiB,mBAAO,CAAC,GAAU;AACnC,eAAe,mBAAO,CAAC,GAAQ;AAC/B,kBAAkB,mBAAO,CAAC,GAAW;AACrC,iBAAiB,mBAAO,CAAC,GAAU;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,OAAO;AACP,iBAAiB,EAAE;AACnB;AACA;AACA;AACA,CAAC;AACD,iC;;;;;;;;ACxCa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,wBAAwB,mBAAO,CAAC,EAAI;AACpC,gBAAgB,mBAAO,CAAC,EAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,yBAAyB;AACzB;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,IAAI,GAAG,oBAAoB;AAChE;AACA;AACA;AACA;AACA,qBAAqB,WAAW,EAAE,yBAAyB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;AC9EA;;AAEa;;AAEb,aAAa,mBAAO,CAAC,GAAM;;AAE3B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACrjEA,eAAe,KAAoD,CAAC,cAAc,KAAK,SAA2K,CAAC,kBAAkB,aAAa,oBAAoB,oEAAoE,kBAAkB,OAAO,sBAAsB,yDAAyD,0BAA0B,0BAA0B,OAAO,qBAAqB,0DAA0D,oBAAoB,sDAAsD,kBAAkB,YAAY,iBAAiB,uBAAuB,kBAAkB,2FAA2F,mBAAmB,sBAAsB,uBAAuB,sCAAsC,SAAS,0EAA0E,oFAAoF,oBAAoB,mGAAmG,0BAA0B,6FAA6F,yBAAyB,sBAAsB,sCAAsC,SAAS,mBAAmB,+GAA+G,YAAY,sBAAsB,sCAAsC,SAAS,wBAAwB,gBAAgB,+BAA+B,WAAW,cAAc,iFAAiF,gBAAgB,aAAa,oGAAoG,KAAK,gBAAgB,aAAa,sCAAsC,0EAA0E,kDAAkD,wCAAwC,qCAAqC,2BAA2B,iCAAiC,iDAAiD,IAAI,eAAe,gBAAgB,2CAA2C,8CAA8C,2BAA2B,8BAA8B,sDAAsD,IAAI,sBAAsB,4EAA4E,2BAA2B,MAAM,qBAAqB,qBAAqB,yBAAyB,EAAE,oCAAoC,kFAAkF,mDAAmD,y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AAO,GAAG,KAAK,iBAAiB,uCAAuC,kBAAkB,sBAAsB,SAAS,WAAW,SAAS,MAAM,eAAe,GAAG,mBAAmB,MAAM,wBAAwB,GAAG,WAAW,QAAQ,EAAE,SAAS,wDAAwD;;;;;;;;;;;;ACAlhsD;;AAEb;AACA;AACA;;AAEA,YAAY,mBAAO,CAAC,GAAK;AACzB,YAAY,mBAAO,CAAC,EAAK;AACzB,eAAe,mBAAO,CAAC,GAAK;;AAE5B;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA,cAAc;;;;;;;;AClID;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,iBAAiB,OAAO,kBAAkB,OAAO,kBAAkB;AACpE,wC;;;;;;;;;ACtBa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,kBAAkB,mBAAO,CAAC,GAAS;AACnC,qBAAqB,mBAAO,CAAC,GAAsB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,gC;;;;;;;;ACrBa;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D,yBAAyB,mBAAO,CAAC,GAAsB;AACvD,sBAAsB,mBAAO,CAAC,GAAmB;AACjD,cAAc,mBAAO,CAAC,GAAkB;AACxC,cAAc,mBAAO,CAAC,GAAkB;AACxC,gBAAgB,mBAAO,CAAC,GAAqB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,iBAAiB;AACjB,+BAA+B;AAC/B;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,MAAM;;AAEN,mFAAmF,QAAQ,GAAG,kCAAkC;;AAEhI;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oGAAoG,sBAAsB;AAC1H;AACA,KAAK;AACL;AACA,qBAAqB;AACrB,oBAAoB;AACpB;AACA;AACA,KAAK;AACL,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,6DAA6D;;AAE7D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO,iBAAiB;;AAExB;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,wBAAwB,kBAAkB,GAAG,mBAAmB;AAChE,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA,OAAO;AACP;;;;;;;;;;;AC9KA,WAAW,mBAAO,CAAC,EAAM;AACzB,UAAU,mBAAO,CAAC,GAAe;AACjC,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,eAAe,qCAAqC;AACpD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA,cAAc;;;;;;;ACjFd;AACA;AACA;AACA,UAAU,mBAAO,CAAC,GAAO;AACzB;AACA;AACA,uBAAuB;AACvB;AACA,cAAc;;;;;;;;;;ACRD;;AAEb;;AAEA,0BAA0B,mBAAO,CAAC,GAAU;AAC5C,0BAA0B,mBAAO,CAAC,GAAa;AAC/C,0BAA0B,mBAAO,CAAC,GAAQ;AAC1C,0BAA0B,mBAAO,CAAC,GAAuB;AACzD,0BAA0B,mBAAO,CAAC,GAAuB;;;AAGzD;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,6CAA6C,EAAE;AAC/C;AACA,oDAAoD,EAAE,eAAe,EAAE,YAAY;;;AAGnF,sBAAsB,4CAA4C;;AAElE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,uBAAuB;AACvB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,0BAA0B,UAAU;AACpC,0BAA0B,UAAU;AACpC,0BAA0B,UAAU;AACpC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC;AACvC;AACA,eAAe,SAAS;AACxB;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;;AAEd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD,qBAAqB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,6CAA6C;AAC7C;;AAEA;;AAEA,+CAA+C,kBAAkB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,kBAAkB;AAChE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,cAAc,eAAe;AAC7B;;AAEA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA,GAAG,yBAAyB;AAC5B,sBAAsB,IAAI;AAC1B;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;AACA,4EAA4E;AAC5E,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA,QAAQ,+CAA+C;AACvD;;AAEA;AACA,UAAU,+CAA+C;AACzD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,6BAA6B;AAC7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA,OAAO;AACP,6BAA6B;AAC7B;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAuB;AACvB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP,4DAA4D,sBAAsB;AAClF;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT,mEAAmE;;AAEnE,SAAS;AACT;AACA;AACA,sBAAsB;AACtB;;AAEA,OAAO;AACP,8DAA8D;;AAE9D,OAAO;AACP;AACA;AACA,oBAAoB;AACpB;;AAEA,KAAK;AACL,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,QAAQ,+CAA+C;AACvD;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;;AAEA,oEAAoE,0BAA0B;AAC9F;;AAEA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,+EAA+E;AAC/E;;AAEA,wCAAwC;AACxC;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,YAAY,+CAA+C;AAC3D;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,gDAAgD,gBAAgB;AAChE;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,iDAAiD,8BAA8B;AAC/E;;;AAGA;AACA,oCAAoC,8BAA8B;AAClE;;;AAGA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;;;;;;;;;;;;;AC3mDD;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D,+BAA+B,iFAAiF;;AAEhH,kBAAkB,mBAAO,CAAC,GAAa;AACvC,2BAA2B,mBAAO,CAAC,EAAM;;AAEzC;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;;AAEnB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL,yCAAyC;;AAEzC,wCAAwC;;AAExC;AACA,4CAA4C;AAC5C;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,OAAO;AACP;;;;;;;;;;;;;ACtDY;;AAEZ,iBAAiB,mBAAO,CAAC,GAAU;;AAEnC,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVa;AACb;AACA,2BAA2B,+DAA+D,gBAAgB,EAAE,EAAE;AAC9G;AACA,mCAAmC,MAAM,6BAA6B,EAAE,YAAY,WAAW,EAAE;AACjG,kCAAkC,MAAM,iCAAiC,EAAE,YAAY,WAAW,EAAE;AACpG,+BAA+B,qFAAqF;AACpH;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,kBAAkB,mBAAO,CAAC,GAAW;AACrC,uBAAuB,mBAAO,CAAC,GAAgB;AAC/C,gBAAgB,mBAAO,CAAC,EAAS;AACjC,wBAAwB,mBAAO,CAAC,EAAI;AACpC,0BAA0B,mBAAO,CAAC,GAAM;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,aAAa,OAAO,cAAc,OAAO,cAAc;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,KAAK,IAAI,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU;AAChG;AACA;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,6BAA6B,UAAU,EAAE,eAAe,EAAE,oBAAoB;AAC9E;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,sCAAsC;AAC3E;AACA,4DAA4D,KAAK;AACjE;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,KAAK;AACrC;AACA,OAAO;AACP,gC;;;;;;;;AC7OY;;AAEZ,aAAa,mBAAO,CAAC,GAAQ;AAC7B,aAAa,mBAAO,CAAC,GAAQ;AAC7B,gBAAgB,mBAAO,CAAC,GAAW;;AAEnC,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtBY;;AAEZ,WAAW,mBAAO,CAAC,GAAa;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,eAAe,mBAAO,CAAC,GAAQ;;AAE/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA,cAAc;AACd;;;;;;;;;AC7SA,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;;AAEzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;;AAED;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC;AACjC;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,cAAc;;;;;;;;;;;;ACvND;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;AACA;AACA,6CAA6C,IAAI,kBAAkB,YAAY,eAAe,cAAc;AAC5G,sCAAsC,MAAM,EAAE,KAAK,eAAe,OAAO;AACzE,0CAA0C,IAAI,kBAAkB,YAAY;AAC5E,4CAA4C,MAAM,EAAE,KAAK,kBAAkB,YAAY,KAAK;AAC5F;AACA;AACA;AACA,KAAK;AACL,+CAA+C,MAAM,EAAE,KAAK,kBAAkB,YAAY,KAAK;AAC/F;AACA;AACA;AACA;AACA,KAAK;AACL,4CAA4C,MAAM,EAAE,KAAK,wCAAwC;AACjG;AACA,KAAK;AACL,iDAAiD,IAAI;AACrD,mDAAmD,MAAM,EAAE,KAAK;AAChE,sCAAsC,MAAM,EAAE,KAAK,kCAAkC;AACrF;AACA,KAAK;AACL,2CAA2C,IAAI;AAC/C,6CAA6C,MAAM,EAAE,KAAK;AAC1D,qCAAqC,MAAM,EAAE,KAAK,oBAAoB,YAAY;AAClF,qCAAqC,IAAI,kBAAkB,YAAY;AACvE,uCAAuC,MAAM,EAAE,KAAK,kBAAkB,YAAY,KAAK;AACvF;AACA;AACA;AACA,KAAK;AACL,2CAA2C,MAAM,EAAE,KAAK,kBAAkB,YAAY,KAAK;AAC3F;AACA;AACA;AACA;AACA,KAAK;AACL,mDAAmD,IAAI,kBAAkB,UAAU;AACnF,qDAAqD,MAAM,EAAE,KAAK,kBAAkB,UAAU;AAC9F,4CAA4C,MAAM,EAAE,KAAK,eAAe,OAAO;AAC/E,oCAAoC,MAAM,EAAE,KAAK,oBAAoB,YAAY,EAAE,eAAe;AAClG,iDAAiD,MAAM,EAAE,KAAK,eAAe,OAAO;AACpF,2CAA2C,MAAM,EAAE,KAAK,eAAe,OAAO,UAAU;AACxF;AACA,KAAK;AACL,2CAA2C,MAAM,EAAE,KAAK,eAAe,OAAO;AAC9E,+BAA+B,MAAM,EAAE,KAAK,oBAAoB,YAAY;AAC5E,wCAAwC,MAAM,EAAE,KAAK,eAAe,OAAO;AAC3E,kCAAkC,IAAI;AACtC,+BAA+B,IAAI,kBAAkB,YAAY;AACjE,gCAAgC,MAAM,EAAE,KAAK,gCAAgC;AAC7E;AACA,KAAK;AACL,oCAAoC,MAAM,EAAE,KAAK;AACjD,iCAAiC,MAAM,EAAE,KAAK,kBAAkB,YAAY,KAAK;AACjF;AACA;AACA;AACA,KAAK;AACL,6BAA6B,MAAM,EAAE,KAAK,kBAAkB,YAAY,KAAK;AAC7E;AACA;AACA;AACA;AACA,KAAK;AACL,uCAAuC,MAAM,EAAE,KAAK,kBAAkB,UAAU,KAAK;AACrF;AACA,KAAK;AACL,4CAA4C,IAAI,kBAAkB,UAAU;AAC5E,8CAA8C,MAAM,EAAE,KAAK,kBAAkB,UAAU;AACvF,+BAA+B,MAAM,EAAE,KAAK,oBAAoB,YAAY;AAC5E,kCAAkC,MAAM,EAAE,KAAK,eAAe,OAAO,KAAK;AAC1E;AACA,KAAK;AACL,kCAAkC,MAAM,EAAE,KAAK,eAAe,OAAO;AACrE,uCAAuC,MAAM,EAAE,KAAK,eAAe,OAAO;AAC1E,oCAAoC,MAAM,EAAE,KAAK,oBAAoB,YAAY;AACjF,wCAAwC,MAAM,EAAE,KAAK;AACrD,+DAA+D,MAAM,EAAE,KAAK,+BAA+B;AAC3G;AACA,KAAK;AACL,0CAA0C,MAAM,EAAE,KAAK,eAAe,OAAO;AAC7E,iCAAiC,IAAI;AACrC,mCAAmC,MAAM,EAAE,KAAK;AAChD,wCAAwC,MAAM,EAAE,KAAK,kBAAkB;AACvE;AACA,KAAK;AACL,qCAAqC,MAAM,EAAE,KAAK;AAClD,+CAA+C,IAAI;AACnD,iDAAiD,MAAM,EAAE,KAAK;AAC9D,sCAAsC,MAAM,EAAE,KAAK,qBAAqB;AACxE;AACA,KAAK;AACL,gDAAgD,IAAI,kBAAkB,YAAY;AAClF,8CAA8C,IAAI;AAClD,gDAAgD,MAAM,EAAE,KAAK;AAC7D,uCAAuC,MAAM,EAAE,KAAK,eAAe,OAAO,UAAU;AACpF;AACA,KAAK;AACL,4CAA4C,MAAM,EAAE,KAAK,eAAe,OAAO;AAC/E,uCAAuC,MAAM,EAAE,KAAK,eAAe,OAAO,UAAU;AACpF;AACA,KAAK;AACL,oCAAoC,MAAM,EAAE,KAAK,oBAAoB,YAAY;AACjF,2CAA2C,MAAM,EAAE,KAAK;AACxD,kCAAkC,MAAM,EAAE,KAAK,eAAe,OAAO;AACrE,qDAAqD,IAAI,kBAAkB,YAAY,eAAe,cAAc;AACpH,6CAA6C,MAAM,EAAE,KAAK,kBAAkB,UAAU,KAAK;AAC3F;AACA,KAAK;AACL,+CAA+C,IAAI,kBAAkB,YAAY;AACjF,GAAG;AACH;AACA,gEAAgE,MAAM,EAAE,KAAK;AAC7E,4CAA4C,MAAM,EAAE,KAAK,KAAK;AAC9D;AACA,KAAK;AACL,6CAA6C,MAAM,EAAE,KAAK;AAC1D,+DAA+D,UAAU;AACzE;AACA,uCAAuC,MAAM,EAAE,KAAK;AACpD,6CAA6C,UAAU;AACvD,oDAAoD;AACpD;AACA,KAAK;AACL,6EAA6E,UAAU;AACvF,kDAAkD,SAAS;AAC3D,oCAAoC,SAAS,cAAc,IAAI,KAAK;AACpE;AACA,KAAK;AACL,qCAAqC,SAAS,YAAY;AAC1D;AACA,KAAK;AACL,gCAAgC;AAChC;AACA,KAAK;AACL,gDAAgD;AAChD;AACA,KAAK;AACL;AACA,4CAA4C,MAAM,EAAE,KAAK,mBAAmB;AAC5E;AACA,KAAK;AACL,qDAAqD,SAAS,cAAc,IAAI;AAChF;AACA,yCAAyC,IAAI,YAAY;AACzD;AACA,KAAK;AACL,qDAAqD,MAAM,EAAE,KAAK;AAClE,2CAA2C,SAAS;AACpD,sCAAsC,IAAI;AAC1C,6CAA6C,SAAS;AACtD,mDAAmD,SAAS;AAC5D,kCAAkC,MAAM,EAAE,KAAK;AAC/C,6DAA6D,MAAM,EAAE,KAAK;AAC1E;AACA,0CAA0C,SAAS;AACnD,0CAA0C,SAAS;AACnD,yCAAyC,MAAM,EAAE,KAAK;AACtD;AACA,uCAAuC,MAAM,EAAE,KAAK;AACpD,yCAAyC;AACzC;AACA,KAAK;AACL;AACA,kDAAkD,MAAM,EAAE,KAAK,mBAAmB;AAClF;AACA,KAAK;AACL,+CAA+C,MAAM,EAAE,KAAK;AAC5D,sDAAsD,UAAU;AAChE,uCAAuC,MAAM,EAAE,KAAK;AACpD,yDAAyD,UAAU;AACnE,mCAAmC,MAAM,EAAE,KAAK,KAAK;AACrD;AACA,KAAK;AACL,uDAAuD,MAAM,EAAE,KAAK;AACpE,wCAAwC,MAAM,EAAE,KAAK,KAAK;AAC1D;AACA,KAAK;AACL,4DAA4D,MAAM,EAAE,KAAK;AACzE,GAAG;AACH;AACA,sDAAsD,gBAAgB,eAAe,cAAc;AACnG;AACA;AACA;AACA,KAAK;AACL,0EAA0E,WAAW,KAAK;AAC1F;AACA,KAAK;AACL,yFAAyF,WAAW,KAAK;AACzG;AACA,KAAK;AACL,sCAAsC,UAAU;AAChD,yDAAyD,qBAAqB;AAC9E;AACA;AACA;AACA,KAAK;AACL,+CAA+C,KAAK;AACpD,8DAA8D,gBAAgB;AAC9E;AACA;AACA;AACA,KAAK;AACL,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,iDAAiD,UAAU;AAC3D,qDAAqD,gBAAgB;AACrE;AACA;AACA;AACA,KAAK;AACL,yCAAyC,UAAU;AACnD;AACA;AACA;AACA;AACA,KAAK;AACL,4BAA4B,SAAS;AACrC;AACA;AACA;AACA,KAAK;AACL,+CAA+C,gBAAgB;AAC/D;AACA;AACA;AACA,KAAK;AACL,qCAAqC,IAAI;AACzC;AACA;AACA;AACA,KAAK;AACL,uCAAuC,MAAM,EAAE,KAAK;AACpD;AACA;AACA;AACA,KAAK;AACL,wEAAwE,WAAW;AACnF,uFAAuF,WAAW;AAClG,uCAAuC,SAAS;AAChD;AACA;AACA;AACA,KAAK;AACL,2DAA2D,QAAQ;AACnE,0EAA0E,QAAQ;AAClF,mEAAmE,QAAQ,cAAc;AACzF;AACA,KAAK;AACL,kFAAkF,QAAQ,cAAc;AACxG;AACA,KAAK;AACL,0EAA0E,gBAAgB;AAC1F;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,wFAAwF;AACxF;AACA,KAAK;AACL,uGAAuG;AACvG;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,8DAA8D,gBAAgB,eAAe,cAAc;AAC3G;AACA;AACA;AACA,KAAK;AACL,uCAAuC,UAAU;AACjD;AACA,8DAA8D;AAC9D;AACA,KAAK;AACL,mDAAmD,gBAAgB;AACnE,wDAAwD,gBAAgB;AACxE,GAAG;AACH;AACA,2BAA2B,MAAM,EAAE,KAAK;AACxC;AACA;AACA;AACA,KAAK;AACL,gCAAgC,MAAM,EAAE,KAAK;AAC7C;AACA;AACA;AACA,KAAK;AACL,uBAAuB,MAAM,EAAE,KAAK,aAAa,aAAa;AAC9D;AACA;AACA;AACA,KAAK;AACL,4BAA4B,MAAM,EAAE,KAAK,eAAe,eAAe;AACvE;AACA;AACA;AACA,KAAK;AACL,mCAAmC,MAAM,EAAE,KAAK,aAAa,aAAa;AAC1E;AACA;AACA;AACA,KAAK;AACL,8BAA8B,MAAM,EAAE,KAAK,UAAU,IAAI;AACzD;AACA;AACA;AACA,KAAK;AACL,gCAAgC,MAAM,EAAE,KAAK,eAAe,eAAe;AAC3E;AACA;AACA;AACA,KAAK;AACL,oCAAoC,MAAM,EAAE,KAAK,UAAU,IAAI;AAC/D;AACA;AACA;AACA,KAAK;AACL,mCAAmC,MAAM,EAAE,KAAK,eAAe,eAAe;AAC9E;AACA;AACA;AACA,KAAK;AACL,0CAA0C,MAAM,EAAE,KAAK;AACvD;AACA;AACA;AACA,KAAK;AACL,4BAA4B,MAAM,EAAE,KAAK,aAAa,aAAa;AACnE;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,4BAA4B,MAAM,EAAE,KAAK,uBAAuB,SAAS;AACzE,qCAAqC,MAAM,EAAE,KAAK;AAClD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,6CAA6C,IAAI;AACjD;AACA;AACA;AACA,KAAK;AACL,8BAA8B,MAAM,EAAE,KAAK;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,kCAAkC,QAAQ;AAC1C;AACA,kCAAkC,QAAQ;AAC1C,6BAA6B,QAAQ;AACrC,oCAAoC,QAAQ,WAAW,WAAW;AAClE,yBAAyB,QAAQ;AACjC,uBAAuB,QAAQ;AAC/B,8BAA8B,QAAQ,WAAW,WAAW;AAC5D,+BAA+B,QAAQ,EAAE,IAAI;AAC7C;AACA,gCAAgC,QAAQ;AACxC,+BAA+B,QAAQ;AACvC,+BAA+B,SAAS;AACxC,6BAA6B,QAAQ;AACrC;AACA,qCAAqC,SAAS,WAAW;AACzD;AACA,KAAK;AACL;AACA,wBAAwB,QAAQ;AAChC,6BAA6B,QAAQ;AACrC,4BAA4B,QAAQ;AACpC,mCAAmC,QAAQ,WAAW,WAAW;AACjE,GAAG;AACH;AACA,+BAA+B,MAAM,EAAE,KAAK;AAC5C,iCAAiC,MAAM,EAAE,KAAK;AAC9C,8BAA8B,MAAM,EAAE,KAAK;AAC3C,8BAA8B,MAAM,EAAE,KAAK;AAC3C,+BAA+B,MAAM,EAAE,KAAK;AAC5C,gCAAgC,MAAM,EAAE,KAAK,WAAW,IAAI;AAC5D,2BAA2B,MAAM,EAAE,KAAK,YAAY,SAAS;AAC7D,6BAA6B,MAAM,EAAE,KAAK,cAAc,WAAW;AACnE,0BAA0B,MAAM,EAAE,KAAK,UAAU,IAAI;AACrD,0BAA0B,MAAM,EAAE,KAAK,WAAW,QAAQ;AAC1D,2BAA2B,MAAM,EAAE,KAAK,YAAY,SAAS;AAC7D,oCAAoC,MAAM,EAAE,KAAK,oBAAoB,IAAI;AACzE,+BAA+B,MAAM,EAAE,KAAK,WAAW,IAAI;AAC3D,GAAG;AACH;AACA;AACA,6CAA6C,KAAK;AAClD,kDAAkD;AAClD;AACA,KAAK;AACL,GAAG;AACH;AACA,gDAAgD,IAAI;AACpD;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,kDAAkD,MAAM,EAAE,KAAK;AAC/D;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,wCAAwC,IAAI;AAC5C;AACA;AACA;AACA,KAAK;AACL,0CAA0C,MAAM,EAAE,KAAK;AACvD;AACA;AACA;AACA,KAAK;AACL,8CAA8C,IAAI;AAClD;AACA;AACA;AACA,KAAK;AACL,gDAAgD,MAAM,EAAE,KAAK;AAC7D;AACA;AACA;AACA,KAAK;AACL,wCAAwC,IAAI;AAC5C;AACA;AACA;AACA,KAAK;AACL,0CAA0C,MAAM,EAAE,KAAK;AACvD;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,iCAAiC,MAAM,EAAE,KAAK,SAAS,aAAa;AACpE,8BAA8B,MAAM,EAAE,KAAK,SAAS,aAAa;AACjE,iCAAiC,MAAM,EAAE,KAAK,YAAY,SAAS,KAAK;AACxE;AACA,KAAK;AACL,0CAA0C,MAAM,EAAE,KAAK,YAAY,SAAS;AAC5E,2BAA2B,MAAM,EAAE,KAAK;AACxC,kCAAkC,MAAM,EAAE,KAAK,SAAS,aAAa;AACrE,gCAAgC,MAAM,EAAE,KAAK;AAC7C,oCAAoC,MAAM,EAAE,KAAK;AACjD,oCAAoC,MAAM,EAAE,KAAK,kBAAkB,WAAW;AAC9E,kCAAkC,MAAM,EAAE,KAAK,SAAS,KAAK;AAC7D,sCAAsC,MAAM,EAAE,KAAK,aAAa,iBAAiB;AACjF,uBAAuB,MAAM,EAAE,KAAK,SAAS,aAAa;AAC1D,8BAA8B,MAAM,EAAE,KAAK,kBAAkB,WAAW;AACxE,4BAA4B,MAAM,EAAE,KAAK,gBAAgB,SAAS;AAClE,4BAA4B,MAAM,EAAE,KAAK,SAAS,KAAK;AACvD,gCAAgC,MAAM,EAAE,KAAK,aAAa,iBAAiB;AAC3E;AACA,iCAAiC,MAAM,EAAE,KAAK;AAC9C,gCAAgC,MAAM,EAAE,KAAK,SAAS,aAAa;AACnE,uCAAuC,MAAM,EAAE,KAAK;AACpD,8BAA8B,MAAM,EAAE,KAAK,SAAS,aAAa;AACjE,qCAAqC,MAAM,EAAE,KAAK;AAClD,yCAAyC,MAAM,EAAE,KAAK,SAAS,aAAa;AAC5E;AACA;AACA;AACA,KAAK;AACL;AACA,6BAA6B,IAAI;AACjC,+BAA+B,MAAM,EAAE,KAAK;AAC5C,0CAA0C,MAAM,EAAE,KAAK,aAAa,iBAAiB;AACrF,qCAAqC,MAAM,EAAE,KAAK;AAClD,qCAAqC,MAAM,EAAE,KAAK,SAAS,aAAa;AACxE,kCAAkC,MAAM,EAAE,KAAK;AAC/C,yCAAyC,MAAM,EAAE,KAAK,gBAAgB;AACtE;AACA,KAAK;AACL,wBAAwB,MAAM,EAAE,KAAK,SAAS,aAAa;AAC3D,sCAAsC,MAAM,EAAE,KAAK,SAAS,aAAa;AACzE,sCAAsC,MAAM,EAAE,KAAK,SAAS,aAAa;AACzE,kCAAkC,MAAM,EAAE,KAAK,SAAS,aAAa,SAAS,KAAK;AACnF,mCAAmC,MAAM,EAAE,KAAK,SAAS,aAAa,YAAY;AAClF;AACA,KAAK;AACL,oCAAoC,MAAM,EAAE,KAAK,SAAS,aAAa,YAAY;AACnF;AACA,KAAK;AACL,iCAAiC,MAAM,EAAE,KAAK,SAAS,aAAa,YAAY;AAChF;AACA,KAAK;AACL,6BAA6B,MAAM,EAAE,KAAK,SAAS,aAAa;AAChE,6BAA6B,MAAM,EAAE,KAAK,SAAS,aAAa;AAChE,4BAA4B,MAAM,EAAE,KAAK,SAAS,aAAa;AAC/D,mCAAmC,MAAM,EAAE,KAAK,kBAAkB,WAAW;AAC7E,iCAAiC,MAAM,EAAE,KAAK,SAAS,KAAK;AAC5D,qCAAqC,MAAM,EAAE,KAAK,aAAa,iBAAiB;AAChF,GAAG;AACH;AACA,0BAA0B,QAAQ;AAClC;AACA,8BAA8B,MAAM,EAAE,KAAK;AAC3C,0CAA0C;AAC1C;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,mCAAmC,MAAM,EAAE,KAAK;AAChD,kEAAkE,aAAa;AAC/E;AACA;AACA;AACA,KAAK;AACL,yCAAyC,IAAI,aAAa,aAAa;AACvE;AACA;AACA;AACA,KAAK;AACL,wCAAwC,IAAI,aAAa,aAAa;AACtE;AACA;AACA;AACA,KAAK;AACL,4DAA4D,aAAa;AACzE;AACA;AACA;AACA,KAAK;AACL,oCAAoC,MAAM,EAAE,KAAK;AACjD,qCAAqC,MAAM,EAAE,KAAK,YAAY;AAC9D;AACA,KAAK;AACL,mCAAmC,MAAM,EAAE,KAAK;AAChD,iCAAiC,MAAM,EAAE,KAAK;AAC9C,2DAA2D,aAAa;AACxE;AACA;AACA;AACA,KAAK;AACL,kCAAkC,IAAI,aAAa,aAAa;AAChE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,6BAA6B,IAAI;AACjC;AACA;AACA;AACA,KAAK;AACL,kCAAkC,IAAI,aAAa,aAAa;AAChE;AACA;AACA;AACA,KAAK;AACL,mCAAmC,aAAa;AAChD;AACA;AACA;AACA,KAAK;AACL,qCAAqC,MAAM,EAAE,KAAK,iBAAiB,UAAU;AAC7E,sCAAsC,MAAM,EAAE,KAAK;AACnD;AACA,+BAA+B,IAAI;AACnC,+BAA+B,MAAM,EAAE,KAAK;AAC5C,+DAA+D,aAAa,QAAQ,UAAU;AAC9F;AACA;AACA;AACA,KAAK;AACL,sCAAsC,IAAI,aAAa,aAAa,QAAQ,UAAU;AACtF;AACA;AACA;AACA,KAAK;AACL,kCAAkC,MAAM,EAAE,KAAK;AAC/C,GAAG;AACH;AACA,wCAAwC,IAAI,cAAc,SAAS,KAAK;AACxE;AACA,KAAK;AACL,4BAA4B,IAAI,SAAS,SAAS;AAClD,mCAAmC,IAAI,SAAS,SAAS;AACzD,kCAAkC,IAAI,UAAU,SAAS,KAAK;AAC9D;AACA,KAAK;AACL,yCAAyC,IAAI,UAAU,SAAS;AAChE,wCAAwC,IAAI,iBAAiB,SAAS,KAAK;AAC3E;AACA,KAAK;AACL,+CAA+C,IAAI,iBAAiB,SAAS;AAC7E,uCAAuC,IAAI,iBAAiB,SAAS,KAAK;AAC1E;AACA,KAAK;AACL,qDAAqD,IAAI,wBAAwB,SAAS;AAC1F,8BAA8B,IAAI,WAAW;AAC7C;AACA,KAAK;AACL,oCAAoC,IAAI;AACxC,iCAAiC,IAAI;AACrC,gCAAgC,IAAI,QAAQ,QAAQ,KAAK;AACzD;AACA,KAAK;AACL,mCAAmC,IAAI,QAAQ,QAAQ;AACvD,sBAAsB,IAAI;AAC1B,0BAA0B,IAAI,QAAQ,QAAQ,KAAK;AACnD;AACA,KAAK;AACL,gCAAgC,IAAI,cAAc,SAAS,KAAK;AAChE;AACA,KAAK;AACL,qEAAqE,IAAI;AACzE,uCAAuC,IAAI,cAAc,SAAS;AAClE,6BAA6B,IAAI,QAAQ,QAAQ;AACjD;AACA,uCAAuC,IAAI;AAC3C;AACA;AACA;AACA,KAAK;AACL,mCAAmC,IAAI;AACvC;AACA,+BAA+B,SAAS;AACxC,4BAA4B,IAAI,WAAW;AAC3C;AACA,KAAK;AACL,oCAAoC,IAAI;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,sCAAsC,IAAI,cAAc,cAAc;AACtE,8BAA8B,IAAI;AAClC,sDAAsD;AACtD;AACA,KAAK;AACL;AACA,2CAA2C,IAAI;AAC/C,yCAAyC,IAAI;AAC7C,oCAAoC,IAAI;AACxC,+BAA+B,IAAI;AACnC,4BAA4B,IAAI,QAAQ,QAAQ,WAAW;AAC3D;AACA,KAAK;AACL,+BAA+B,IAAI,QAAQ,QAAQ;AACnD,sCAAsC,IAAI,iBAAiB,SAAS,KAAK;AACzE;AACA,KAAK;AACL,kCAAkC,IAAI,UAAU,SAAS;AACzD,sCAAsC,IAAI,cAAc,SAAS,KAAK;AACtE;AACA,KAAK;AACL,6CAA6C,IAAI,cAAc,SAAS;AACxE,+CAA+C,IAAI,wBAAwB,SAAS;AACpF,gEAAgE,IAAI,iBAAiB,SAAS;AAC9F,uCAAuC,IAAI,cAAc,SAAS;AAClE,0DAA0D,IAAI,iBAAiB,SAAS;AACxF,iCAAiC,IAAI,SAAS,SAAS;AACvD,2BAA2B,IAAI;AAC/B,+BAA+B,IAAI,QAAQ,QAAQ,KAAK;AACxD;AACA,KAAK;AACL,sDAAsD,IAAI,KAAK;AAC/D;AACA,KAAK;AACL,0EAA0E,IAAI;AAC9E,kCAAkC,IAAI,QAAQ,QAAQ;AACtD,GAAG;AACH;AACA,sCAAsC,WAAW,gBAAgB,SAAS;AAC1E;AACA;AACA;AACA,KAAK;AACL,0CAA0C,UAAU;AACpD;AACA;AACA;AACA,KAAK;AACL,oCAAoC,WAAW;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,gCAAgC,IAAI;AACpC;AACA;AACA;AACA,KAAK;AACL,kCAAkC,MAAM,EAAE,KAAK;AAC/C;AACA;AACA;AACA,KAAK;AACL,gCAAgC,WAAW;AAC3C;AACA;AACA;AACA,KAAK;AACL,kDAAkD,QAAQ;AAC1D;AACA;AACA;AACA,KAAK;AACL,8CAA8C,UAAU;AACxD;AACA;AACA;AACA,KAAK;AACL,0BAA0B,WAAW;AACrC;AACA;AACA;AACA,KAAK;AACL,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA,KAAK;AACL,wCAAwC,UAAU;AAClD;AACA;AACA;AACA,KAAK;AACL,2CAA2C,WAAW,gBAAgB,SAAS;AAC/E;AACA;AACA;AACA,KAAK;AACL,wCAAwC,UAAU;AAClD;AACA;AACA;AACA,KAAK;AACL,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,KAAK;AACL,kCAAkC,WAAW;AAC7C;AACA;AACA;AACA,KAAK;AACL,6BAA6B,IAAI;AACjC;AACA;AACA;AACA,KAAK;AACL,+BAA+B,MAAM,EAAE,KAAK;AAC5C;AACA;AACA;AACA,KAAK;AACL,+BAA+B,SAAS;AACxC;AACA;AACA;AACA,KAAK;AACL,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA,KAAK;AACL,0CAA0C,UAAU;AACpD;AACA;AACA;AACA,KAAK;AACL,4CAA4C,WAAW,gBAAgB,SAAS;AAChF;AACA;AACA;AACA,KAAK;AACL,gDAAgD,WAAW,gBAAgB,SAAS;AACpF;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA,KAAK;AACL,iDAAiD,QAAQ;AACzD;AACA;AACA;AACA,KAAK;AACL,6CAA6C,UAAU;AACvD;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,iCAAiC,MAAM,EAAE,KAAK,QAAQ,YAAY;AAClE,2BAA2B,MAAM,EAAE,KAAK;AACxC,kCAAkC,MAAM,EAAE,KAAK,QAAQ,YAAY,cAAc;AACjF;AACA,KAAK;AACL,gDAAgD,MAAM,EAAE,KAAK,QAAQ,YAAY,WAAW,WAAW;AACvG,iCAAiC,MAAM,EAAE,KAAK,QAAQ,YAAY;AAClE,wCAAwC,MAAM,EAAE,KAAK,QAAQ,YAAY;AACzE,6CAA6C,MAAM,EAAE,KAAK,QAAQ,YAAY,WAAW,WAAW,aAAa;AACjH;AACA,KAAK;AACL,wCAAwC,MAAM,EAAE,KAAK,QAAQ,YAAY,yBAAyB;AAClG;AACA,KAAK;AACL,oCAAoC,MAAM,EAAE,KAAK,iBAAiB,WAAW,KAAK;AAClF;AACA,KAAK;AACL,0CAA0C,MAAM,EAAE,KAAK,QAAQ,YAAY,UAAU,UAAU;AAC/F,0CAA0C,MAAM,EAAE,KAAK,iBAAiB,WAAW;AACnF,0CAA0C,MAAM,EAAE,KAAK,QAAQ,YAAY,yBAAyB;AACpG;AACA,KAAK;AACL,iCAAiC,MAAM,EAAE,KAAK,QAAQ,YAAY,UAAU,UAAU;AACtF,uBAAuB,MAAM,EAAE,KAAK,QAAQ,YAAY;AACxD,8BAA8B,MAAM,EAAE,KAAK,iBAAiB,WAAW,KAAK;AAC5E;AACA,KAAK;AACL,wCAAwC,MAAM,EAAE,KAAK,QAAQ,YAAY,UAAU,UAAU,cAAc;AAC3G;AACA,KAAK;AACL,6BAA6B,MAAM,EAAE,KAAK,QAAQ,YAAY,UAAU,UAAU;AAClF,oCAAoC,MAAM,EAAE,KAAK,iBAAiB,WAAW;AAC7E,wBAAwB,MAAM,EAAE,KAAK;AACrC,gCAAgC,MAAM,EAAE,KAAK,QAAQ,YAAY,cAAc;AAC/E;AACA,KAAK;AACL,uCAAuC,MAAM,EAAE,KAAK,oBAAoB;AACxE;AACA,KAAK;AACL,yCAAyC,MAAM,EAAE,KAAK,QAAQ,YAAY,UAAU,UAAU;AAC9F,+BAA+B,MAAM,EAAE,KAAK,QAAQ,YAAY;AAChE,6BAA6B,MAAM,EAAE,KAAK,QAAQ,YAAY;AAC9D,0CAA0C,MAAM,EAAE,KAAK,QAAQ,YAAY;AAC3E,sCAAsC,MAAM,EAAE,KAAK,QAAQ,YAAY;AACvE,6CAA6C,MAAM,EAAE,KAAK;AAC1D,sCAAsC,MAAM,EAAE,KAAK,QAAQ,YAAY,yBAAyB;AAChG;AACA,KAAK;AACL,+BAA+B,MAAM,EAAE,KAAK,QAAQ,YAAY;AAChE,yBAAyB,MAAM,EAAE,KAAK,QAAQ,YAAY;AAC1D,+CAA+C,MAAM,EAAE,KAAK,QAAQ,YAAY;AAChF,qCAAqC,MAAM,EAAE,KAAK,QAAQ,YAAY;AACtE,iCAAiC,MAAM,EAAE,KAAK,QAAQ,YAAY,UAAU,UAAU;AACtF,4BAA4B,MAAM,EAAE,KAAK,QAAQ,YAAY;AAC7D,gCAAgC,MAAM,EAAE,KAAK,QAAQ,YAAY;AACjE;AACA;AACA;AACA,KAAK;AACL,mCAAmC,MAAM,EAAE,KAAK,iBAAiB,WAAW,KAAK;AACjF;AACA,KAAK;AACL,gCAAgC,MAAM,EAAE,KAAK,QAAQ,YAAY,UAAU,UAAU;AACrF,yCAAyC,MAAM,EAAE,KAAK,iBAAiB,WAAW;AAClF,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,2CAA2C,MAAM,EAAE,KAAK,WAAW,WAAW;AAC9E;AACA;AACA;AACA,KAAK;AACL,mCAAmC,MAAM,EAAE,KAAK,SAAS,aAAa;AACtE;AACA;AACA;AACA,KAAK;AACL,0CAA0C,MAAM,EAAE,KAAK,kBAAkB,WAAW;AACpF;AACA;AACA;AACA,KAAK;AACL,sDAAsD,MAAM,EAAE,KAAK,iBAAiB,WAAW;AAC/F;AACA;AACA;AACA,KAAK;AACL,uDAAuD,IAAI,QAAQ,UAAU,cAAc,kBAAkB,WAAW,eAAe;AACvI;AACA;AACA;AACA,KAAK;AACL,gDAAgD,IAAI,QAAQ,UAAU,cAAc,kBAAkB;AACtG;AACA;AACA;AACA,KAAK;AACL,iCAAiC,YAAY;AAC7C;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,6CAA6C,MAAM,EAAE,KAAK,WAAW,WAAW,YAAY,YAAY;AACxG;AACA;AACA;AACA,KAAK;AACL,qCAAqC,MAAM,EAAE,KAAK,SAAS,aAAa,YAAY,YAAY;AAChG;AACA;AACA;AACA,KAAK;AACL,4CAA4C,MAAM,EAAE,KAAK,kBAAkB,WAAW,YAAY,YAAY;AAC9G;AACA;AACA;AACA,KAAK;AACL,kDAAkD,MAAM,EAAE,KAAK,iBAAiB,WAAW,YAAY,YAAY;AACnH;AACA;AACA;AACA,KAAK;AACL,6CAA6C,IAAI,QAAQ,UAAU,cAAc,kBAAkB,YAAY,YAAY;AAC3H;AACA;AACA;AACA,KAAK;AACL,oDAAoD,IAAI,QAAQ,UAAU,cAAc,kBAAkB,WAAW,eAAe,YAAY,YAAY;AAC5J;AACA;AACA;AACA,KAAK;AACL,uCAAuC,YAAY;AACnD;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,wCAAwC,MAAM,EAAE,KAAK,WAAW,WAAW;AAC3E;AACA;AACA;AACA,KAAK;AACL,gCAAgC,MAAM,EAAE,KAAK,SAAS,aAAa;AACnE;AACA;AACA;AACA,KAAK;AACL,uCAAuC,MAAM,EAAE,KAAK,kBAAkB,WAAW;AACjF;AACA;AACA;AACA,KAAK;AACL,mDAAmD,MAAM,EAAE,KAAK,iBAAiB,WAAW;AAC5F;AACA;AACA;AACA,KAAK;AACL,oDAAoD,IAAI,QAAQ,UAAU,cAAc,kBAAkB,WAAW,eAAe;AACpI;AACA;AACA;AACA,KAAK;AACL,6CAA6C,IAAI,QAAQ,UAAU,cAAc,kBAAkB;AACnG;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,4DAA4D,cAAc;AAC1E,6CAA6C,MAAM,EAAE,KAAK,WAAW,OAAO,kCAAkC;AAC9G;AACA,KAAK;AACL,mCAAmC,MAAM,EAAE,KAAK,gBAAgB,SAAS;AACzE,iCAAiC,MAAM,EAAE,KAAK,UAAU;AACxD;AACA,KAAK;AACL,uDAAuD,MAAM,EAAE,KAAK,WAAW,OAAO,+BAA+B;AACrH;AACA,KAAK;AACL,sDAAsD,MAAM,EAAE,KAAK,WAAW,OAAO,kCAAkC;AACvH;AACA;AACA,KAAK;AACL,yDAAyD,MAAM,EAAE,KAAK,WAAW,OAAO;AACxF;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,mEAAmE,MAAM,EAAE,KAAK,WAAW,OAAO,gDAAgD;AAClJ;AACA;AACA,KAAK;AACL,uDAAuD,MAAM,EAAE,KAAK,WAAW,OAAO,mCAAmC;AACzH;AACA;AACA,KAAK;AACL,uDAAuD,MAAM,EAAE,KAAK,WAAW,OAAO,mCAAmC;AACzH;AACA;AACA,KAAK;AACL,2CAA2C,MAAM,EAAE,KAAK,WAAW,OAAO,gDAAgD;AAC1H;AACA,KAAK;AACL,8CAA8C,MAAM,EAAE,KAAK,WAAW,OAAO,mCAAmC;AAChH;AACA,KAAK;AACL,8CAA8C,MAAM,EAAE,KAAK,WAAW,OAAO,mCAAmC;AAChH;AACA,KAAK;AACL,qCAAqC,MAAM,EAAE,KAAK,gBAAgB,SAAS;AAC3E,4CAA4C,MAAM,EAAE,KAAK;AACzD;AACA;AACA;AACA,KAAK;AACL,kCAAkC,MAAM,EAAE,KAAK,UAAU,KAAK,IAAI,KAAK;AACvE,wCAAwC,MAAM,EAAE,KAAK,UAAU,WAAW;AAC1E,oDAAoD,MAAM,EAAE,KAAK,WAAW,OAAO;AACnF;AACA;AACA;AACA,KAAK;AACL,uCAAuC,MAAM,EAAE,KAAK,WAAW,IAAI;AACnE,oCAAoC,MAAM,EAAE,KAAK;AACjD,qCAAqC,MAAM,EAAE,KAAK;AAClD,2CAA2C,MAAM,EAAE,KAAK,cAAc,cAAc;AACpF,wCAAwC,MAAM,EAAE,KAAK;AACrD;AACA,+BAA+B,MAAM,EAAE,KAAK;AAC5C,+BAA+B,MAAM,EAAE,KAAK,WAAW;AACvD;AACA,KAAK;AACL,+BAA+B,IAAI;AACnC,sCAAsC,MAAM,EAAE,KAAK,WAAW,KAAK,KAAK;AACxE;AACA,KAAK;AACL,8CAA8C,MAAM,EAAE,KAAK,WAAW,KAAK;AAC3E,oCAAoC,MAAM,EAAE,KAAK;AACjD;AACA;AACA;AACA,KAAK;AACL,kCAAkC,MAAM,EAAE,KAAK;AAC/C,iCAAiC,MAAM,EAAE,KAAK,WAAW,IAAI,KAAK;AAClE;AACA,KAAK;AACL,wCAAwC,eAAe,EAAE,cAAc;AACvE;AACA;AACA;AACA,KAAK;AACL,kCAAkC,MAAM,EAAE,KAAK;AAC/C,8DAA8D,cAAc;AAC5E,6BAA6B,MAAM,EAAE,KAAK;AAC1C,+CAA+C,MAAM,EAAE,KAAK,WAAW,OAAO;AAC9E,kDAAkD,MAAM,EAAE,KAAK,WAAW,OAAO;AACjF,6CAA6C,MAAM,EAAE,KAAK,WAAW,OAAO;AAC5E,0CAA0C,MAAM,EAAE,KAAK,WAAW,WAAW;AAC7E,sDAAsD,MAAM,EAAE,KAAK,WAAW,OAAO;AACrF;AACA;AACA;AACA,KAAK;AACL,sCAAsC,MAAM,EAAE,KAAK,OAAO,OAAO;AACjE,uCAAuC,MAAM,EAAE,KAAK,cAAc,cAAc;AAChF,qCAAqC,MAAM,EAAE,KAAK,YAAY,YAAY;AAC1E,iCAAiC,MAAM,EAAE,KAAK,WAAW,KAAK;AAC9D,iCAAiC,MAAM,EAAE,KAAK,QAAQ,QAAQ,KAAK;AACnE;AACA,KAAK;AACL,uCAAuC,MAAM,EAAE,KAAK,cAAc,cAAc;AAChF,sCAAsC,MAAM,EAAE,KAAK;AACnD;AACA;AACA;AACA,KAAK;AACL,wDAAwD,MAAM,EAAE,KAAK,WAAW,OAAO;AACvF,oCAAoC,MAAM,EAAE,KAAK,WAAW,WAAW;AACvE,yCAAyC,MAAM,EAAE,KAAK,kBAAkB,SAAS;AACjF,oCAAoC,MAAM,EAAE,KAAK,QAAQ,QAAQ;AACjE,oDAAoD,MAAM,EAAE,KAAK;AACjE;AACA;AACA;AACA,KAAK;AACL,uCAAuC,MAAM,EAAE,KAAK;AACpD;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,iDAAiD,MAAM,EAAE,KAAK;AAC9D;AACA;AACA;AACA,KAAK;AACL,mCAAmC,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI;AACvE,gDAAgD,MAAM,EAAE,KAAK;AAC7D;AACA;AACA;AACA,KAAK;AACL,oCAAoC,MAAM,EAAE,KAAK;AACjD;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,6CAA6C,MAAM,EAAE,KAAK;AAC1D;AACA;AACA;AACA,KAAK;AACL,uBAAuB,MAAM,EAAE,KAAK;AACpC,yCAAyC,MAAM,EAAE,KAAK,WAAW,OAAO;AACxE,4CAA4C,MAAM,EAAE,KAAK,WAAW,OAAO;AAC3E,6CAA6C,MAAM,EAAE,KAAK,WAAW,OAAO;AAC5E,gCAAgC,MAAM,EAAE,KAAK;AAC7C;AACA;AACA;AACA,KAAK;AACL,sDAAsD,MAAM,EAAE,KAAK,WAAW,OAAO;AACrF,kCAAkC,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,KAAK;AAC3E;AACA,KAAK;AACL,6BAA6B,MAAM,EAAE,KAAK,WAAW,OAAO;AAC5D,uCAAuC,MAAM,EAAE,KAAK,WAAW,OAAO;AACtE,6BAA6B,MAAM,EAAE,KAAK;AAC1C,yCAAyC,MAAM,EAAE,KAAK;AACtD,kDAAkD,MAAM,EAAE,KAAK,gBAAgB,SAAS;AACxF,2CAA2C,MAAM,EAAE,KAAK,UAAU,IAAI;AACtE,6BAA6B,MAAM,EAAE,KAAK,UAAU,IAAI;AACxD,0CAA0C,MAAM,EAAE,KAAK;AACvD,oCAAoC,MAAM,EAAE,KAAK,WAAW,WAAW;AACvE,gDAAgD,MAAM,EAAE,KAAK,WAAW,OAAO;AAC/E;AACA;AACA;AACA,KAAK;AACL,8CAA8C,MAAM,EAAE,KAAK;AAC3D,8BAA8B,MAAM,EAAE,KAAK,WAAW,KAAK;AAC3D,+BAA+B,MAAM,EAAE,KAAK,WAAW,KAAK,KAAK;AACjE;AACA,KAAK;AACL,wCAAwC,MAAM,EAAE,KAAK;AACrD,gCAAgC,MAAM,EAAE,KAAK,OAAO,OAAO;AAC3D,iCAAiC,MAAM,EAAE,KAAK,cAAc,cAAc;AAC1E,uCAAuC,MAAM,EAAE,KAAK,cAAc,cAAc,WAAW,UAAU;AACrG,+BAA+B,MAAM,EAAE,KAAK,YAAY,YAAY;AACpE,2BAA2B,MAAM,EAAE,KAAK,QAAQ,QAAQ,KAAK;AAC7D;AACA,KAAK;AACL,uCAAuC,MAAM,EAAE,KAAK;AACpD,oCAAoC,MAAM,EAAE,KAAK;AACjD,4BAA4B,MAAM,EAAE,KAAK;AACzC,iCAAiC,MAAM,EAAE,KAAK,eAAe,SAAS;AACtE,yCAAyC,MAAM,EAAE,KAAK;AACtD,sDAAsD,MAAM,EAAE,KAAK,WAAW,OAAO,+BAA+B;AACpH;AACA,KAAK;AACL,kEAAkE,MAAM,EAAE,KAAK,WAAW,OAAO,8CAA8C;AAC/I;AACA,KAAK;AACL,wDAAwD,MAAM,EAAE,KAAK,WAAW,OAAO;AACvF;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,0DAA0D,MAAM,EAAE,KAAK,WAAW,OAAO,uCAAuC;AAChI;AACA,KAAK;AACL,kDAAkD,MAAM,EAAE,KAAK,WAAW,OAAO,6BAA6B;AAC9G;AACA,KAAK;AACL,kDAAkD,MAAM,EAAE,KAAK,WAAW,OAAO;AACjF,qCAAqC,MAAM,EAAE,KAAK;AAClD,6BAA6B,MAAM,EAAE,KAAK;AAC1C,8BAA8B,MAAM,EAAE,KAAK,WAAW,WAAW;AACjE,mCAAmC,MAAM,EAAE,KAAK,kBAAkB,SAAS;AAC3E,mCAAmC,MAAM,EAAE,KAAK,gBAAgB,IAAI;AACpE,6CAA6C,MAAM,EAAE,KAAK,WAAW,OAAO;AAC5E,uDAAuD,MAAM,EAAE,KAAK,WAAW,OAAO;AACtF,+BAA+B,MAAM,EAAE,KAAK;AAC5C,mCAAmC,MAAM,EAAE,KAAK;AAChD,uDAAuD,MAAM,EAAE,KAAK,WAAW,OAAO;AACtF,4BAA4B,MAAM,EAAE,KAAK;AACzC,8BAA8B,MAAM,EAAE,KAAK,QAAQ,QAAQ;AAC3D,gCAAgC;AAChC;AACA,KAAK;AACL,wCAAwC,MAAM,EAAE,KAAK,WAAW,WAAW,YAAY;AACvF;AACA,KAAK;AACL,gCAAgC,MAAM,EAAE,KAAK;AAC7C,6CAA6C,MAAM,EAAE,KAAK,UAAU,WAAW;AAC/E;AACA;AACA;AACA,KAAK;AACL,qCAAqC,MAAM,EAAE,KAAK;AAClD,yCAAyC,MAAM,EAAE,KAAK,UAAU,WAAW;AAC3E,sCAAsC,MAAM,EAAE,KAAK,cAAc;AACjE;AACA,KAAK;AACL,6CAA6C,MAAM,EAAE,KAAK;AAC1D,4CAA4C,MAAM,EAAE,KAAK,UAAU,IAAI;AACvE,+BAA+B,MAAM,EAAE,KAAK;AAC5C,oCAAoC,MAAM,EAAE,KAAK;AACjD,kCAAkC,MAAM,EAAE,KAAK;AAC/C,0CAA0C,MAAM,EAAE,KAAK,cAAc,cAAc;AACnF,mCAAmC,MAAM,EAAE,KAAK;AAChD,iCAAiC,MAAM,EAAE,KAAK;AAC9C;AACA,6BAA6B,IAAI;AACjC,+BAA+B,SAAS;AACxC,6BAA6B,MAAM,EAAE,KAAK;AAC1C,6BAA6B,MAAM,EAAE,KAAK,WAAW;AACrD;AACA,KAAK;AACL,mCAAmC,MAAM,EAAE,KAAK;AAChD;AACA,iCAAiC,MAAM,EAAE,KAAK;AAC9C,mCAAmC,MAAM,EAAE,KAAK;AAChD,mEAAmE,MAAM,EAAE,KAAK,WAAW,OAAO,gDAAgD;AAClJ;AACA,KAAK;AACL;AACA,wDAAwD,MAAM,EAAE,KAAK,UAAU,WAAW;AAC1F;AACA;AACA;AACA,KAAK;AACL,qCAAqC,MAAM,EAAE,KAAK,WAAW,WAAW;AACxE,gCAAgC,MAAM,EAAE,KAAK;AAC7C,sCAAsC,MAAM,EAAE,KAAK,UAAU,IAAI,cAAc;AAC/E;AACA,KAAK;AACL,4BAA4B,MAAM,EAAE,KAAK;AACzC,6BAA6B,MAAM,EAAE,KAAK;AAC1C,8BAA8B,MAAM,EAAE,KAAK;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,gCAAgC,MAAM,EAAE,KAAK;AAC7C,0BAA0B,MAAM,EAAE,KAAK;AACvC,6BAA6B,MAAM,EAAE,KAAK,QAAQ,QAAQ,WAAW;AACrE;AACA,KAAK;AACL,gCAAgC,MAAM,EAAE,KAAK,QAAQ,QAAQ;AAC7D,kDAAkD,MAAM,EAAE,KAAK,WAAW,OAAO,kCAAkC;AACnH;AACA,KAAK;AACL,6CAA6C,MAAM,EAAE,KAAK,WAAW,OAAO,gBAAgB;AAC5F;AACA,KAAK;AACL,yCAAyC,MAAM,EAAE,KAAK,gBAAgB,SAAS;AAC/E,sCAAsC,MAAM,EAAE,KAAK,OAAO,OAAO,KAAK;AACtE;AACA,KAAK;AACL,4DAA4D,MAAM,EAAE,KAAK,WAAW,OAAO,+BAA+B;AAC1H;AACA,KAAK;AACL,2DAA2D,MAAM,EAAE,KAAK,WAAW,OAAO,kCAAkC;AAC5H;AACA;AACA,KAAK;AACL,wEAAwE,MAAM,EAAE,KAAK,WAAW,OAAO,8CAA8C;AACrJ;AACA,KAAK;AACL,8DAA8D,MAAM,EAAE,KAAK,WAAW,OAAO;AAC7F;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,gEAAgE,MAAM,EAAE,KAAK,WAAW,OAAO,uCAAuC;AACtI;AACA,KAAK;AACL,wEAAwE,MAAM,EAAE,KAAK,WAAW,OAAO,gDAAgD;AACvJ;AACA;AACA,KAAK;AACL,wDAAwD,MAAM,EAAE,KAAK,WAAW,OAAO,6BAA6B;AACpH;AACA,KAAK;AACL,4DAA4D,MAAM,EAAE,KAAK,WAAW,OAAO,mCAAmC;AAC9H;AACA;AACA,KAAK;AACL,4DAA4D,MAAM,EAAE,KAAK,WAAW,OAAO,mCAAmC;AAC9H;AACA;AACA,KAAK;AACL,gDAAgD,MAAM,EAAE,KAAK,WAAW,OAAO,gDAAgD;AAC/H;AACA,KAAK;AACL,kDAAkD,MAAM,EAAE,KAAK,WAAW,OAAO;AACjF,mDAAmD,MAAM,EAAE,KAAK,WAAW,OAAO,mCAAmC;AACrH;AACA,KAAK;AACL,mDAAmD,MAAM,EAAE,KAAK,WAAW,OAAO,mCAAmC;AACrH;AACA,KAAK;AACL,oCAAoC,MAAM,EAAE,KAAK;AACjD;AACA;AACA;AACA,KAAK;AACL,yDAAyD,MAAM,EAAE,KAAK,WAAW,OAAO,kCAAkC;AAC1H;AACA;AACA,KAAK;AACL,sEAAsE,MAAM,EAAE,KAAK,WAAW,OAAO,gDAAgD;AACrJ;AACA;AACA,KAAK;AACL,0DAA0D,MAAM,EAAE,KAAK,WAAW,OAAO,mCAAmC;AAC5H;AACA;AACA,KAAK;AACL,0DAA0D,MAAM,EAAE,KAAK,WAAW,OAAO,mCAAmC;AAC5H;AACA;AACA,KAAK;AACL,iCAAiC,MAAM,EAAE,KAAK;AAC9C;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,qCAAqC,MAAM,EAAE,KAAK,kBAAkB;AACpE;AACA,KAAK;AACL,sCAAsC,MAAM,EAAE,KAAK;AACnD,mDAAmD,MAAM,EAAE,KAAK,uBAAuB;AACvF;AACA,KAAK;AACL,6CAA6C,MAAM,EAAE,KAAK,WAAW,OAAO;AAC5E,4CAA4C,MAAM,EAAE,KAAK,WAAW,OAAO,kCAAkC;AAC7G;AACA,KAAK;AACL,0CAA0C,MAAM,EAAE,KAAK,WAAW,OAAO,gDAAgD;AACzH;AACA,KAAK;AACL,6CAA6C,MAAM,EAAE,KAAK,WAAW,OAAO,mCAAmC;AAC/G;AACA,KAAK;AACL,6CAA6C,MAAM,EAAE,KAAK,WAAW,OAAO,mCAAmC;AAC/G;AACA,KAAK;AACL,iCAAiC,MAAM,EAAE,KAAK,QAAQ,QAAQ,WAAW;AACzE;AACA,KAAK;AACL,oCAAoC,MAAM,EAAE,KAAK,QAAQ,QAAQ;AACjE,6BAA6B,MAAM,EAAE,KAAK;AAC1C,4BAA4B,MAAM,EAAE,KAAK;AACzC,0CAA0C,MAAM,EAAE,KAAK,WAAW,OAAO;AACzE,yCAAyC,MAAM,EAAE,KAAK,WAAW,WAAW;AAC5E,gCAAgC,MAAM,EAAE,KAAK,QAAQ,QAAQ,KAAK;AAClE;AACA,KAAK;AACL,mDAAmD,MAAM,EAAE,KAAK;AAChE,sCAAsC,MAAM,EAAE,KAAK,cAAc,cAAc;AAC/E,uEAAuE,MAAM,EAAE,KAAK,WAAW,OAAO,8CAA8C;AACpJ;AACA,KAAK;AACL,+DAA+D,MAAM,EAAE,KAAK,WAAW,OAAO,uCAAuC;AACrI;AACA,KAAK;AACL,uDAAuD,MAAM,EAAE,KAAK,WAAW,OAAO;AACtF,mCAAmC,MAAM,EAAE,KAAK,WAAW,WAAW;AACtE,wCAAwC,MAAM,EAAE,KAAK,kBAAkB,SAAS;AAChF,gDAAgD,MAAM,EAAE,KAAK,WAAW,OAAO;AAC/E,mCAAmC,MAAM,EAAE,KAAK,QAAQ,QAAQ;AAChE,uCAAuC,MAAM,EAAE,KAAK,WAAW,WAAW,QAAQ,YAAY;AAC9F;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,oDAAoD,IAAI,QAAQ,UAAU,cAAc,SAAS;AACjG,6CAA6C,IAAI,QAAQ,UAAU,cAAc,SAAS,KAAK;AAC/F;AACA,KAAK;AACL,0CAA0C,IAAI,QAAQ,UAAU,WAAW,WAAW;AACtF;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,qDAAqD,IAAI,QAAQ,UAAU,WAAW,WAAW;AACjG;AACA;AACA;AACA,KAAK;AACL,uCAAuC,IAAI,QAAQ,UAAU,QAAQ,MAAM,EAAE,KAAK,KAAK;AACvF;AACA,KAAK;AACL,kDAAkD,IAAI,QAAQ,UAAU,QAAQ,MAAM,EAAE,KAAK;AAC7F,wCAAwC,IAAI,QAAQ,UAAU,QAAQ,MAAM,EAAE,KAAK,KAAK;AACxF;AACA,KAAK;AACL,kDAAkD,IAAI,QAAQ,UAAU,WAAW,WAAW;AAC9F;AACA;AACA;AACA,KAAK;AACL,+CAA+C,IAAI,QAAQ,UAAU,QAAQ,MAAM,EAAE,KAAK;AAC1F,0BAA0B,IAAI;AAC9B,gDAAgD,IAAI,QAAQ,UAAU,cAAc,kBAAkB;AACtG,yCAAyC,IAAI,QAAQ,UAAU;AAC/D,kDAAkD,IAAI,QAAQ,UAAU,cAAc,kBAAkB,WAAW,eAAe;AAClI,2CAA2C,IAAI,QAAQ,UAAU,cAAc,kBAAkB;AACjG,iCAAiC,IAAI,QAAQ,UAAU;AACvD,4BAA4B,IAAI,QAAQ,UAAU;AAClD,4CAA4C,IAAI,QAAQ,UAAU,cAAc,kBAAkB,WAAW,eAAe;AAC5H,qCAAqC,IAAI,QAAQ,UAAU,cAAc,kBAAkB;AAC3F,4CAA4C,IAAI,QAAQ,UAAU,cAAc,SAAS;AACzF,qCAAqC,IAAI,QAAQ,UAAU,cAAc,SAAS,KAAK;AACvF;AACA,KAAK;AACL,uBAAuB,IAAI;AAC3B,iCAAiC,IAAI,QAAQ,UAAU;AACvD,8CAA8C,IAAI,QAAQ,UAAU,cAAc,kBAAkB;AACpG,uCAAuC,IAAI,QAAQ,UAAU;AAC7D;AACA,mCAAmC,IAAI,QAAQ,UAAU;AACzD,8CAA8C,IAAI,QAAQ,UAAU;AACpE,oCAAoC,IAAI,QAAQ,UAAU;AAC1D;AACA;AACA;AACA,KAAK;AACL,iCAAiC,IAAI,QAAQ,UAAU;AACvD,kDAAkD,IAAI,QAAQ,UAAU,cAAc,SAAS;AAC/F,2CAA2C,IAAI,QAAQ,UAAU,cAAc,SAAS,KAAK;AAC7F;AACA,KAAK;AACL,wCAAwC,IAAI,QAAQ,UAAU,WAAW,WAAW;AACpF,qCAAqC,IAAI,QAAQ,UAAU,QAAQ,MAAM,EAAE,KAAK;AAChF,qCAAqC,IAAI,QAAQ,UAAU,WAAW,WAAW;AACjF;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,iDAAiD,IAAI,QAAQ,UAAU,cAAc,kBAAkB,WAAW,eAAe;AACjI,0CAA0C,IAAI,QAAQ,UAAU,cAAc,kBAAkB;AAChG,gCAAgC,IAAI,QAAQ,UAAU;AACtD,GAAG;AACH;AACA;AACA,uCAAuC;AACvC;AACA,KAAK;AACL,+BAA+B,SAAS;AACxC,sCAAsC,SAAS;AAC/C,2CAA2C,SAAS,KAAK;AACzD;AACA,KAAK;AACL,yCAAyC,SAAS,YAAY,YAAY;AAC1E,iEAAiE,SAAS;AAC1E,4CAA4C;AAC5C;AACA,KAAK;AACL;AACA,2CAA2C;AAC3C;AACA,KAAK;AACL;AACA;AACA,4CAA4C;AAC5C;AACA,KAAK;AACL,2CAA2C,WAAW,KAAK;AAC3D;AACA,KAAK;AACL,2DAA2D,WAAW;AACtE,0CAA0C,OAAO,KAAK;AACtD;AACA,KAAK;AACL,6DAA6D,OAAO;AACpE,mCAAmC,SAAS;AAC5C;AACA,iCAAiC,SAAS;AAC1C,qCAAqC,SAAS;AAC9C,qCAAqC,WAAW,KAAK;AACrD;AACA,KAAK;AACL,qDAAqD,WAAW;AAChE,oCAAoC,OAAO,KAAK;AAChD;AACA,KAAK;AACL,uDAAuD,OAAO;AAC9D;AACA,wCAAwC;AACxC;AACA,KAAK;AACL;AACA,uCAAuC;AACvC;AACA,KAAK;AACL;AACA;AACA;AACA,wCAAwC,SAAS;AACjD,iEAAiE;AACjE;AACA,KAAK;AACL,wCAAwC,SAAS;AACjD,0CAA0C;AAC1C;AACA,KAAK;AACL;AACA,sCAAsC,SAAS;AAC/C,oDAAoD;AACpD;AACA,KAAK;AACL;AACA,yCAAyC;AACzC;AACA,KAAK;AACL,yCAAyC,SAAS;AAClD;AACA;AACA,qEAAqE;AACrE;AACA,KAAK;AACL,oCAAoC,SAAS;AAC7C,wCAAwC,SAAS;AACjD;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8DAA8D;;AAE9D;AACA,gCAAgC;AAChC;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;;AAGA;AACA;AACA,kCAAkC,MAAM,GAAG,WAAW,iCAAiC,SAAS,GAAG,cAAc;AACjH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,KAAK,yCAAyC,MAAM,GAAG,WAAW,YAAY,MAAM;;AAEnH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO;AACP;;;;;;;;;;ACttDa;;AAEb,aAAa,mBAAO,CAAC,GAAM;AAC3B,cAAc,mBAAO,CAAC,GAAO;AAC7B,eAAe,mBAAO,CAAC,GAAK;AAC5B,aAAa,mBAAO,CAAC,GAAM;AAC3B,oBAAoB,mBAAO,CAAC,GAAQ;AACpC,gBAAgB,mBAAO,CAAC,GAAW;AACnC,oBAAoB,mBAAO,CAAC,GAAoB;;AAEhD;;AAEA,cAAc;AACd;AACA;;AAEA,cAAc;;AAEd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,qCAAqC;AACrC;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;;;;;;;AC3QA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAO,CAAC,GAAI;;AAEpC;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA,aAAa,kCAAkC;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;;AAEA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,cAAc;;;;;;;;;;;;;;;ACzQD;AACb,WAAW,mBAAO,CAAC,EAAI;AACvB,cAAc,mBAAO,CAAC,GAAO;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,oBAAoB,KAAK;AACzB;AACA;;AAEA;AACA;;AAEA,cAAc;;;;;;;;;ACnDd;AACA;AACA;AACA,aAAa,mBAAO,CAAC,GAAQ;AAC7B,cAAc,mBAAO,CAAC,GAAc;AACpC;;AAEA,SAAS,mBAAO,CAAC,GAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc;AACd;AACA;;AAEA,cAAc;;AAEd;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;AClKY;;AAEZ,WAAW,mBAAO,CAAC,GAAa;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,aAAa,mBAAO,CAAC,GAAS;AAC9B,eAAe,mBAAO,CAAC,GAAW;AAClC,eAAe,mBAAO,CAAC,GAAW;AAClC,mBAAmB,mBAAO,CAAC,GAAgB;AAC3C,aAAa,mBAAO,CAAC,GAAc;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,cAAc;;;;;;;;;;;AChEd,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA,cAAc;;AAEd;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;AC9Ga;;AAEb,aAAa,mBAAO,CAAC,GAAM;AAC3B,gBAAgB,mBAAO,CAAC,GAAU;AAClC,uBAAuB,mBAAO,CAAC,GAAuB;AACtD,eAAe,mBAAO,CAAC,GAAe;AACtC,oBAAoB,mBAAO,CAAC,GAAoB;AAChD,eAAe,mBAAO,CAAC,GAAQ;;AAE/B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,6CAA6C,aAAa;AAC1D;AACA,uDAAuD;AACvD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,aAAa;AAC1D,uDAAuD;AACvD,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;AACrC,8BAA8B,WAAW;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;;;;;AC5HF;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,WAAW,mBAAO,CAAC,GAAa;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,cAAc,mBAAO,CAAC,GAAW;AACjC,mBAAmB,mBAAO,CAAC,GAAgB;;AAE3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;;;;;ACvCA,eAAe,mBAAO,CAAC,GAAgB;AACvC,cAAc,mBAAO,CAAC,GAAW;AACjC,iBAAiB,mBAAO,CAAC,GAAc;;AAEvC;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;AAEA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA,cAAc;AACd,cAAc;AACd,cAAc;;;;;;;;;;;;ACxDD;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,eAAe,OAAO,gBAAgB,OAAO,gBAAgB;AAC9D,sC;;;;;;;ACxBa;;AAEb,YAAY,mBAAO,CAAC,EAAS;AAC7B,0BAA0B,mBAAO,CAAC,GAA+B;;AAEjE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,GAAgB;AACtC,GAAG;AACH;AACA,cAAc,mBAAO,CAAC,GAAiB;AACvC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY;AACnB;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,cAAc;;;;;;;;;;;ACjGD;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;AC35CA,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAU;;AAE/B;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C,iBAAiB;AAChE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kDAAkD,iBAAiB;AACnE,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA,kDAAkD,iBAAiB;AACnE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,cAAc;;;;;;;;;;ACxED;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,eAAe,OAAO,gBAAgB,OAAO,gBAAgB;AAC9D,sC;;;;;;;;;AChCA,aAAa,mBAAO,CAAC,GAAU;AAC/B,UAAU,mBAAO,CAAC,CAAM;AACxB,WAAW,mBAAO,CAAC,GAAM;;AAEzB;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA,gBAAgB;AAChB,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,kBAAkB;AAClB,wBAAwB;AACxB,WAAW;AACX,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;;;;;;;;;ACnNM;;AAEb,qBAAqB,mBAAO,CAAC,GAAQ;AACrC,oBAAoB,mBAAO,CAAC,GAAoB;AAChD,eAAe,mBAAO,CAAC,GAAW;AAClC,kBAAkB,mBAAO,CAAC,GAAkC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA,iCAAiC;AACjC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,QAAQ;AAC1D;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA,+CAA+C;AAC/C;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;ACvTd,UAAU,mBAAO,CAAC,GAAK;AACvB;AACA,WAAW,mBAAO,CAAC,GAAM;AACzB,YAAY,mBAAO,CAAC,GAAO;AAC3B,eAAe,mBAAO,CAAC,GAAQ;AAC/B,aAAa,mBAAO,CAAC,GAAQ;AAC7B,YAAY,mBAAO,CAAC,GAAS;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,iCAAiC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,sBAAsB,uCAAuC,EAAE;AAC/D,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,SAAS,2BAA2B;AAClD,cAAc;;;;;;;;;;;ACjfd,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,KAAK;AACL,eAAe,iCAAiC;AAChD,KAAK;AACL,eAAe,kBAAkB;AACjC;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,cAAc;;;;;;;;;AC3Fd;AACA;AACa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA,cAAc;;;;;;;;AC1CD;;AAEb,oBAAoB,mBAAO,CAAC,GAAoB;AAChD,eAAe,mBAAO,CAAC,GAAW;AAClC,kBAAkB,mBAAO,CAAC,GAAkC;AAC5D,eAAe,mBAAO,CAAC,GAA+B;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;;AAEA,cAAc;;;;;;;;AC7ID;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA,iBAAiB,mBAAO,CAAC,GAAkC;AAC3D;AACA,iDAAiD,8CAA8C;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,4BAA4B,wBAAwB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;ACxBA,WAAW,mBAAO,CAAC,EAAM;;AAEzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE,4BAA4B;AAC9B;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;AC7FD;;AAEb,kBAAkB,mBAAO,CAAC,EAAe;;AAEzC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,cAAc;AACd;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACxBA,cAAc;AACd;;AAEA,YAAY;AACZ;AACA,SAAS,mBAAO,CAAC,GAAM;AACvB,CAAC;;AAED;AACA,aAAa,mBAAO,CAAC,GAAiB;;AAEtC;AACA,QAAQ,uCAAuC;AAC/C,QAAQ,2BAA2B;AACnC,QAAQ,2BAA2B;AACnC,QAAQ,2BAA2B;AACnC,QAAQ;AACR;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC,IAAI;;AAE7C;AACA;AACA;;AAEA;AACA,gCAAgC;;AAEhC,aAAa;AACb;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,IAAI;AACT,KAAK,GAAG;AACR,KAAK,KAAK;AACV,KAAK,IAAI,IAAI,EAAE;AACf,KAAK,IAAI,EAAE,IAAI;AACf;AACA;AACA,KAAK,IAAI,OAAO,IAAI;AACpB,KAAK,EAAE,OAAO,EAAE;AAChB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sBAAsB,IAAI;AAC1B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,IAAI;AACvC;AACA;AACA;AACA,gCAAgC,EAAE,EAAE,KAAK;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,sBAAsB;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,6CAA6C;AAC7C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,QAAQ;AAChC;AACA;AACA;;AAEA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK,6CAA6C;;AAElD;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;;;;;;;;;;AC15Ba;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B,cAAc;AACd;AACA,8BAA8B,kCAAkC;AAChE,CAAC;;;;;;;;;;;;;;ACPD;AACA;;;AAGa;;;AAGb,aAAa,mBAAO,CAAC,GAAW;;;AAGhC,cAAc;AACd;AACA,IAAI,mBAAO,CAAC,GAAa;AACzB,IAAI,mBAAO,CAAC,GAAa;AACzB,IAAI,mBAAO,CAAC,GAAa;AACzB;AACA,CAAC;;;;;;;;AChBY;AACb,OAAO,YAAY,GAAG,mBAAO,CAAC,GAAQ;;AAEtC,cAAc;AACd,2BAA2B;;AAE3B,QAAQ,MAAM;AACd,MAAM,SAAS;AACf;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC,WAAW;;AAE5C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;;;;;;;;;;;AClDa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oBAAoB,OAAO,qBAAqB,OAAO,qBAAqB;AAC7E,2C;;;;;;;;ACvBa;;AAEb,YAAY,mBAAO,CAAC,EAAY;;AAEhC;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,MAAM;AACjB,WAAW,eAAe;AAC1B,aAAa,EAAE;AACf;AACA,cAAc;AACd;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;ACnBa;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;;;;;;;ACba;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO,eAAe,OAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,aAAa,OAAO,cAAc,OAAO,cAAc;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gBAAgB,OAAO,iBAAiB,OAAO,iBAAiB;AACjE,oC;;;;;;;AC7Da;AACb;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,WAAW,OAAO,YAAY,OAAO,YAAY;AAClD,kC;;;;;;;;;ACtDY;;AAEZ,WAAW,mBAAO,CAAC,GAAa;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,eAAe,mBAAO,CAAC,GAAW;AAClC,mBAAmB,mBAAO,CAAC,GAAgB;AAC3C,qBAAqB,mBAAO,CAAC,GAAgB;AAC7C,aAAa,mBAAO,CAAC,GAAc;;AAEnC;AACA;AACA;AACA;AACA,GAAG;AACH,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kGAAkG;AAClG;AACA;;AAEA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,4BAA4B,KAAK;AACjC,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,2DAA2D,KAAK,oBAAoB,IAAI;AACxF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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C,GAAI;AACrB,gBAAgB,mBAAO,CAAC,GAAgB;AACxC,aAAa,mBAAO,CAAC,EAAqB;AAC1C,YAAY,mBAAO,CAAC,GAAY;;AAEhC,WAAW,mBAAO,CAAC,GAAM;;AAEzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA,MAAM,mBAAO,CAAC,GAAQ;AACtB,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;AACd;AACA,IAAI,cAAc;AAClB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjWA;AACA;AACa;;AAEb,SAAS,mBAAO,CAAC,EAAI;AACrB,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;AACzB,YAAY,mBAAO,CAAC,GAAI;;AAExB;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG,4BAA4B;AAC/B;AACA,GAAG,sCAAsC;AACzC,eAAe;AACf,GAAG,sCAAsC;AACzC;AACA;AACA,4BAA4B;;AAE5B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,OAAO;;AAEP,YAAY,4BAA4B;AACxC,yBAAyB,uBAAuB;AAChD,YAAY,0CAA0C;AACtD,mBAAmB,qBAAqB,GAAG,2BAA2B;AACtE;AACA,wBAAwB,YAAY,EAAE;AACtC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,iCAAiC;;AAEjC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,+DAA+D;AAC/D;AACA,KAAK;AACL,GAAG,OAAO;AACV;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,OAAO;AACP,+DAA+D;AAC/D;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mCAAmC;AACnC;AACA,OAAO,OAAO;AACd;AACA,kDAAkD,WAAW;AAC7D,SAAS;AACT,2BAA2B;AAC3B;;AAEA;AACA,+CAA+C;AAC/C;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX,oBAAoB;AACpB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,gCAAgC;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;;;;;;;;ACndM;;AAEb;;AAEA,eAAe,mBAAO,CAAC,GAAK;;AAE5B,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,QAAQ;AACjD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAE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;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;AC3DY;;AAEb,YAAY,mBAAO,CAAC,EAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA,iBAAiB,eAAe;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;ACpDa;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA,CAAC;;;;;;;;ACXY;;AAEb,SAAS,mBAAO,CAAC,EAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;AACzB,aAAa,mBAAO,CAAC,GAAQ;AAC7B,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;;AAEzB,oCAAoC,4DAA4D,gBAAgB;;AAEhH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gFAAgF,eAAe;AAC/F;;AAEA;AACA,iFAAiF,gBAAgB;AACjG;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,oDAAoD;;AAEpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC;;AAEzC,mDAAmD;;AAEnD,qFAAqF;AACrF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6GAA6G;AAC7G;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,yBAAyB,EAAE,sBAAsB,EAAE,gCAAgC;AAC9H,KAAK;AACL,sCAAsC,0BAA0B;AAChE;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0BAA0B,wBAAwB;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE;AACL;;AAEA,+FAA+F,MAAM,OAAO,IAAI,GAAG,IAAI,KAAK,iJAAiJ,+BAA+B,IAAI,8CAA8C,kJAAkJ,EAAE,MAAM,aAAa,2BAA2B,EAAE,mBAAmB,IAAI,GAAG,IAAI,GAAG,IAAI,OAAO,IAAI,WAAW,OAAO;;AAEpmB;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF,0CAA0C,qEAAqE,wCAAwC,yCAAyC,wCAAwC,8CAA8C;AACvW;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wCAAwC,YAAY;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,oDAAoD,yBAAyB;AAC7E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED,8BAA8B;;AAE9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uCAAuC;;AAEvC,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;;AAEV;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B;;AAE1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAyE;;AAEzE;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD,EAAE,UAAU,EAAE;;AAEhE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;;AAEA,sCAAsC,SAAS;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;AAGD;AACA;AACA,0BAA0B;;AAE1B;;AAEA;AACA;AACA;;AAEA,2CAA2C,SAAS;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sCAAsC,SAAS;AAC/C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B;AAC1B,oCAAoC;AACpC;;AAEA;AACA,0CAA0C,SAAS;AACnD;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;;AAEA;;AAEA;AACA;AACA,qBAAqB,cAAc;AACnC;;AAEA;AACA;AACA,qBAAqB,aAAa,EAAE,EAAE,KAAK;AAC3C;;AAEA;AACA;AACA,qBAAqB,aAAa,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;;AAEA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,SAAS;AACnC,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mCAAmC,GAAG;AACtC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC,EAAE,UAAU,EAAE,UAAU,uEAAuE;AACtI;AACA;AACA,kCAAkC,EAAE,UAAU,EAAE;AAChD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,gEAAgE,MAAM,cAAc,KAAK;AACzF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gDAAgD,UAAU;AAC1D;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA,wDAAwD,cAAc,kBAAkB,+BAA+B,KAAK;AAC5H;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,0HAA0H;;AAE1H,8DAA8D;;AAE9D;AACA;;AAEA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gDAAgD;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,KAAK,EAAE;;AAEP,uEAAuE;AACvE;;AAEA,8BAA8B;;AAE9B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,aAAa;AAClC;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;;AAEA,qCAAqC,WAAW,IAAI,UAAU;AAC9D,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB,oBAAoB;AACvC,iDAAiD;AACjD;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B;;AAE3B;AACA,0CAA0C;AAC1C,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA,uCAAuC;AACvC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,mCAAmC;AACnC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,eAAe;AACpC;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD;AACpD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC,yBAAyB,aAAa;AACtC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP,mBAAmB,oCAAoC,EAAE,KAAK;AAC9D;AACA,KAAK;;AAEL;AACA,iBAAiB,+BAA+B,EAAE,aAAa,IAAI,MAAM;AACzE;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,8DAA8D;AAC9D;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,YAAY;AACvC;AACA;AACA,WAAW,OAAO;AAClB,WAAW,2BAA2B;AACtC,aAAa;AACb;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,iBAAiB,uBAAuB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,2BAA2B;AACtC,aAAa;AACb;;;AAGA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,6BAA6B,4BAA4B;;AAEzD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,4BAA4B;AACvC,WAAW,OAAO;AAClB,aAAa;AACb;;;AAGA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,IAAI,IAAI,OAAO,EAAE,IAAI,EAAE,OAAO;AAC1C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,+BAA+B;AAC/B;;AAEA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sFAAsF,KAAK;;AAE3F;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,eAAe;AACf;;;AAGA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP,qBAAqB,uBAAuB;AAC5C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP,qBAAqB,uBAAuB;AAC5C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,uBAAuB;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL,uBAAuB,SAAS;AAChC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,4FAA4F,KAAK;AACjG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,kCAAkC,KAAK,WAAW,IAAI;AACtD;AACA,uCAAuC,IAAI;AAC3C;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0DAA0D,cAAc;AACxE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;;AAEA,uBAAuB,SAAS;AAChC;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0EAA0E,IAAI;AAC9E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,8BAA8B,aAAa;AAC3C;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK,gEAAgE;AACrE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK,WAAW;AAChB;;AAEA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB;AACtB,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP,sCAAsC,YAAY;AAClD;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,sEAAsE;;AAEtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gDAAgD,eAAe;AAC/D;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,SAAS;AAChC,qBAAqB,QAAQ;AAC7B;AACA;AACA;;AAEA;;AAEA;AACA,sCAAsC;AACtC,OAAO;AACP;AACA;AACA;;AAEA;AACA,sCAAsC;AACtC,4BAA4B;;AAE5B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,8BAA8B,aAAa;AAC3C;AACA;AACA,gFAAgF;;AAEhF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,4EAA4E,IAAI;AAChF;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,0BAA0B,KAAK;;AAE/B;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;;AAEA;AACA;;AAEA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA,yCAAyC;AACzC;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,kHAAkH;AAClH,2BAA2B;;AAE3B;;AAEA,2BAA2B,aAAa;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,gGAAgG,qBAAqB;AACrH;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,0FAA0F,mCAAmC;AAC7H;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,2BAA2B,aAAa;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,KAAK;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,oDAAoD;;AAEpD;AACA;AACA;AACA;AACA,GAAG;AACH,WAAW;;;AAGX;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;;AAEA,qHAAqH,IAAI;AACzH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;;;AAGA,CAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,mBAAmB,eAAe;;AAElC;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C,OAAO;AACtD,aAAa,GAAG,IAAI,OAAO,EAAE,IAAI;AACjC;;AAEA;AACA,4DAA4D,IAAI,IAAI,QAAQ,OAAO,IAAI,gCAAgC,aAAa;AACpI;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;AAGD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,2CAA2C;AAC3C;AACA;AACA,gEAAgE,wGAAwG,oDAAoD,IAAI,oBAAoB,KAAK;AACzP;AACA;;AAEA;AACA;AACA;AACA,iEAAiE,oDAAoD,IAAI,oBAAoB,KAAK;AAClJ;;AAEA;AACA;AACA,4FAA4F;AAC5F;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,gEAAgE,wGAAwG,oDAAoD,IAAI,oBAAoB,KAAK;AACzP;AACA,GAAG;;AAEH;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,qBAAqB,KAAK;AAC1B,WAAW;AACX,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA,0BAA0B,WAAW,EAAE,OAAO,EAAE,EAAE;AAClD;;AAEA,oBAAoB,OAAO,EAAE,IAAI;AACjC,OAAO;AACP,iBAAiB,MAAM,GAAG,kBAAkB,GAAG,IAAI;AACnD;AACA,KAAK;AACL;AACA;;AAEA,+CAA+C,OAAO,EAAE,EAAE;AAC1D;;AAEA;AACA,mDAAmD,OAAO;AAC1D;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,gFAAgF,IAAI;AACpF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,0DAA0D,MAAM;AAChE;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,0BAA0B;AAC1B;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP,qCAAqC,IAAI;AACzC;;AAEA,6BAA6B,IAAI,IAAI,OAAO,QAAQ,IAAI;;AAExD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,yDAAyD,WAAW;AACpE,oBAAoB,GAAG;AACvB;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,IAAI,IAAI,WAAW;AACjC,KAAK;AACL,4DAA4D;AAC5D,sDAAsD,WAAW;AACjE;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,2BAA2B,OAAO,EAAE,uBAAuB;AAC3D;AACA,uBAAuB,IAAI,IAAI,MAAM;AACrC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,2FAA2F;AAC3F;;AAEA;AACA;AACA;;AAEA;AACA;AACA,6FAA6F;AAC7F;AACA;;AAEA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;;AAEA;AACA,6CAA6C,4BAA4B,SAAS;AAClF,KAAK;AACL;AACA,0CAA0C;AAC1C,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,EAAE;AACf,aAAa,MAAM;AACnB,eAAe,EAAE;AACjB;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,gFAAgF,SAAS,qBAAqB;AAC9G;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB,eAAe;AACf,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,uBAAuB;AACvB;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;AACA,8DAA8D,WAAW;AACzE,gBAAgB,OAAO,EAAE,0BAA0B;AACnD;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC,qCAAqC;AACtC;;;AAGA;;AAEA;AACA;AACA;;AAEA,4BAA4B,YAAY;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,IAAI;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4EAA4E;AAC5E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wBAAwB;;AAExB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,qEAAqE,OAAO;AAC5E;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB,KAAK;AACL,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,wDAAwD,OAAO;AAC/D,sDAAsD,OAAO;;AAE7D;AACA;AACA;AACA;;AAEA,wBAAwB,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM;;AAE/D;AACA,uCAAuC,OAAO;AAC9C,cAAc,OAAO,IAAI,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;AAC1D;;AAEA;AACA;AACA,wBAAwB,OAAO;AAC/B,gCAAgC,QAAQ,EAAE,MAAM,EAAE,MAAM;AACxD,YAAY,OAAO,IAAI,OAAO,EAAE,KAAK;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,8BAA8B,oCAAoC;AAClE;AACA;;AAEA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2CAA2C,OAAO,GAAG;AACrD;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,2BAA2B;AAC3B;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,yBAAyB;AACzB;AACA;;AAEA;;AAEA;AACA;AACA,yEAAyE,YAAY;AACrF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,oCAAoC,QAAQ;AAC5C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,KAAK,eAAe,KAAK;AACrD;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kEAAkE,EAAE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,qEAAqE;AACrE;AACA,KAAK;AACL;;AAEA;AACA;AACA,OAAO;AACP,qEAAqE;AACrE;AACA;AACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,6EAA6E,OAAO;AACpF;;AAEA,2EAA2E,OAAO;;AAElF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,SAAS,iBAAiB,SAAS,WAAW,OAAO;AACjF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,uDAAuD,SAAS;AAChE;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8CAA8C,QAAQ;AACtD,2BAA2B,QAAQ,mCAAmC,SAAS;AAC/E;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,+CAA+C,KAAK;AACpD;AACA;AACA,KAAK;;;AAGL;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qCAAqC,UAAU;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA,uCAAuC;AACvC;;AAEA,wDAAwD;AACxD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,iDAAiD,kBAAkB,IAAI,GAAG;AAC1E;;AAEA;AACA,2CAA2C,YAAY,IAAI,GAAG;AAC9D;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA,KAAK;AACL,yBAAyB,kBAAkB;AAC3C;AACA;AACA,SAAS;;AAET;AACA,+CAA+C,IAAI,KAAK;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,yBAAyB,WAAW;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA,OAAO;AACP;AACA;AACA;;AAEA,qDAAqD,KAAK;AAC1D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,mFAAmF,UAAU;AAC7F;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,kCAAkC,YAAY;AAC9C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,4DAA4D,KAAK;AACjE;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,kCAAkC,KAAK;AACvC;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC,qBAAqB;AAC7D;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,qBAAqB,gBAAgB;;AAErC;AACA,KAAK;AACL,yEAAyE;AACzE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;;AAEA,qBAAqB,kBAAkB;;AAEvC;AACA,KAAK;AACL,6EAA6E;AAC7E;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA,4BAA4B,OAAO;AACnC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;;AAEA;AACA,2EAA2E,mBAAmB,IAAI,mBAAmB;AACrH,yDAAyD,aAAa,IAAI,aAAa;AACvF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO,0DAA0D,GAAG;AACpE,KAAK;AACL;;AAEA;AACA;AACA;AACA,OAAO,qCAAqC,aAAa,UAAU,GAAG;AACtE,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qHAAqH,aAAa;AAClI;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oFAAoF;AACpF;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;;AAEA,6BAA6B;;AAE7B;AACA,qBAAqB;AACrB,GAAG;AACH;AACA,8BAA8B;;AAE9B;AACA;AACA,2BAA2B;AAC3B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,EAAE,SAAS,IAAI,SAAS,IAAI;AAC5D;AACA,UAAU,IAAI,SAAS,IAAI,SAAS,IAAI;AACxC,yCAAyC,EAAE;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uEAAuE;AACvE;;AAEA,kCAAkC;AAClC;AACA,6BAA6B,KAAK,IAAI,QAAQ;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA,6BAA6B,KAAK;AAClC,mCAAmC,YAAY;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,mDAAmD,oBAAoB;AACvE;AACA;;;AAGA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,IAAI;AACvB;;AAEA;AACA,mBAAmB,IAAI;AACvB;;AAEA;AACA,mBAAmB,IAAI;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;;AAEA;AACA,uDAAuD,wBAAwB;;AAE/E,iCAAiC;;AAEjC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;;AAElD;AACA;AACA,uCAAuC,SAAS,EAAE,cAAc,KAAK;AACrE;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;;AAEA;AACA;;AAEA;AACA;AACA,+CAA+C,IAAI,EAAE,cAAc,KAAK;AACxE;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS,QAAQ,yBAAyB;AAC7E;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,6CAA6C,IAAI;AACjD,8DAA8D;AAC9D;AACA;AACA;AACA;AACA,MAAM;AACN,MAAM;AACN,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB;;AAErB;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,KAAK;AACjD;;AAEA;AACA,CAAC;;;AAGD;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,yBAAyB,MAAM,GAAG,IAAI,OAAO,MAAM,IAAI,WAAW,EAAE,IAAI;AAC3I;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD;;AAEtD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,MAAM;AACzB,sBAAsB,OAAO,EAAE,EAAE;AACjC;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mCAAmC;AACnC;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,uDAAuD,GAAG,IAAI,qBAAqB;AACnF;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD,GAAG,oBAAoB,QAAQ;AAClF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gFAAgF,KAAK;AACrF;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C;AACA,KAAK;AACL;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,yEAAyE,EAAE;AAC3E;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,2BAA2B,OAAO,GAAG,OAAO;AAC5C;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,qGAAqG;;AAErG;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;AAC1B;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uDAAuD;AACvD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,uCAAuC,SAAS,KAAK,cAAc;AACnE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,uCAAuC,SAAS,KAAK,cAAc;AACnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH,gDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yEAAyE;;AAEzE;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qDAAqD,+BAA+B,0BAA0B,MAAM;AACpH;;AAEA;AACA,wCAAwC,+BAA+B,sCAAsC,cAAc,4BAA4B,MAAM;AAC7J;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD,kCAAkC;AACrF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,+BAA+B,IAAI;AACnC;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP,KAAK;AACL;;AAEA,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA,8CAA8C;AAC9C;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA,kDAAkD,gBAAgB;AAClE;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kDAAkD,gBAAgB;AAClE;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC,WAAW,SAAS,WAAW,cAAc,WAAW,cAAc,WAAW,aAAa,WAAW,YAAY,WAAW,YAAY,WAAW,gBAAgB,WAAW;AAC3N;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,+BAA+B;AAC/B,KAAK;AACL;AACA;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,wBAAwB;;AAExB;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB;AACA,WAAW;AACX,sBAAsB;AACtB;AACA;AACA,aAAa;AACb,WAAW;AACX,sBAAsB;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;;;;AC3uUd;;AAEa;;AAEb,eAAe,mBAAO,CAAC,GAAW;AAClC,WAAW,mBAAO,CAAC,GAAO;AAC1B,kBAAkB,mBAAO,CAAC,GAAc;;AAExC,cAAc;AACd;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,0BAA0B;AACxD,KAAK;;AAEL;AACA;AACA;AACA,eAAe,cAAc;AAC7B,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,wDAAwD,SAAS;AACjE;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,oDAAoD,eAAe;AACnE;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB,aAAa,mBAAmB;AAChC;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET,0DAA0D,wBAAwB;AAClF,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;AAC5E;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;;AAEb;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA,oDAAoD,SAAS;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,SAAS;AACzD;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA,+BAA+B,KAAK,EAAE,KAAK;AAC3C,iCAAiC,KAAK,EAAE;AACxC;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB,8BAA8B;AAC/C;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6EAA6E,EAAE;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iDAAiD,SAAS;AAC1D;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,qDAAqD;AACrD;;AAEA;AACA,gDAAgD;AAChD;AACA;;;;;;;;;AC1mBa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,4BAA4B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,iBAAiB,OAAO,kBAAkB,OAAO,kBAAkB;AACpE,wC;;;;;;;;AC7Ba;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gFAAgF;AACxF,UAAU,kDAAkD;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gBAAgB,OAAO,iBAAiB,OAAO,iBAAiB;AACjE,uC;;;;;;;;AC/Ha;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA,8BAA8B,IAAI,2BAA2B,IAAI;AACjE,KAAK;AACL;AACA;AACA,OAAO;AACP,uC;;;;;;;ACVa;;AAEb,eAAe,mBAAO,CAAC,GAAW;AAClC,iBAAiB,mBAAO,CAAC,GAAc;AACvC,kBAAkB,mBAAO,CAAC,GAAe;;AAEzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa;AACb;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA,gIAAgI,GAAG;AACnI;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;;;;;;;;AC1TD;AACb,eAAe,mBAAO,CAAC,GAAe;AACtC,2BAA2B,mBAAO,CAAC,GAAsB;AACzD,4BAA4B,mBAAO,CAAC,GAAgB;;AAEpD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA,kDAAkD,cAAc;AAChE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;AClCa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kBAAkB,OAAO,mBAAmB,OAAO,mBAAmB;AACvE,yC;;;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,cAAc;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,cAAc;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACpDA,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;;AAEzB;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qDAAqD,iBAAiB;AACtE,OAAO;AACP,0EAA0E,iBAAiB;AAC3F;AACA,aAAa;AACb,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,6DAA6D,iBAAiB;AAC9E,aAAa;AACb;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,sEAAsE,iBAAiB;AACvF;AACA,GAAG;AACH;AACA,CAAC;AACD,cAAc;;;;;;;;;;ACnGD;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,uBAAuB,mBAAO,CAAC,GAAc;AAC7C,sBAAsB,mBAAO,CAAC,GAAe;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4BAA4B;AACpD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA,wBAAwB,sBAAsB;AAC9C,KAAK;AACL;AACA,CAAC;AACD,OAAO;AACP,mC;;;;;;;AC3Ca;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,cAAc,OAAO,eAAe,OAAO,eAAe;AAC3D,qC;;;;;;AC1BA;AACA;AACA,QAAQ,mBAAO,CAAC,GAAa;AAC7B,CAAC;AACD,QAAQ,mBAAO,CAAC,GAAI;AACpB;AACA,qBAAqB,mBAAO,CAAC,GAAc;AAC3C,OAAO,sBAAsB,GAAG,mBAAO,CAAC,GAAS;;AAEjD,4CAA4C;AAC5C;AACA,eAAe;AACf;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,uBAAuB,KAAK,IAAI,YAAY;AAC5C;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,yCAAyC;AACzC;AACA,eAAe;AACf;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,uBAAuB,KAAK,IAAI,YAAY;AAC5C;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,kDAAkD;AAClD;;AAEA;;AAEA;AACA;;AAEA;;AAEA,+CAA+C;AAC/C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;ACvFd,iC;;;;;;;ACAa;;AAEb,YAAY,mBAAO,CAAC,EAAY;AAChC,aAAa,mBAAO,CAAC,GAAkB;AACvC,oBAAoB,mBAAO,CAAC,GAAuB;AACnD,eAAe,mBAAO,CAAC,GAAuB;AAC9C,WAAW,mBAAO,CAAC,GAAM;AACzB,YAAY,mBAAO,CAAC,GAAO;AAC3B,iBAAiB,mBAAO,CAAC,GAAkB;AAC3C,kBAAkB,mBAAO,CAAC,GAAkB;AAC5C,UAAU,mBAAO,CAAC,GAAK;AACvB,WAAW,mBAAO,CAAC,GAAM;AACzB,UAAU,mBAAO,CAAC,GAAsB;AACxC,kBAAkB,mBAAO,CAAC,EAAqB;AAC/C,mBAAmB,mBAAO,CAAC,GAAsB;;AAEjD;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,mDAAmD;AAClE;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;;;;;;;;;;AC9RA,aAAa,mBAAO,CAAC,EAAQ;AAC7B;AACA,WAAW,mBAAO,CAAC,EAAM;;AAEzB,cAAc;;AAEd;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;AACA;;;;;;;;ACrDa;AACb,aAAa,mBAAO,CAAC,GAAM;AAC3B,qBAAqB,mBAAO,CAAC,GAAe;AAC5C,mBAAmB,mBAAO,CAAC,GAAa;AACxC,iBAAiB,mBAAO,CAAC,GAAW;AACpC,mBAAmB,mBAAO,CAAC,GAAc;AACzC,iBAAiB,mBAAO,CAAC,GAAW;AACpC,mBAAmB,mBAAO,CAAC,GAAY;AACvC,iBAAiB,mBAAO,CAAC,GAAW;AACpC,eAAe,mBAAO,CAAC,GAAa;AACpC,gBAAgB,mBAAO,CAAC,GAAe;AACvC,cAAc,mBAAO,CAAC,GAAa;;AAEnC;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA,6BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA,4CAA4C,SAAS,mBAAmB;AACxE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,wBAAwB;;AAExB;AACA;AACA;AACA,0BAA0B,IAAI;AAC9B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,4BAA4B;AACjE;AACA;AACA;;AAEA;;AAEA;AACA,uEAAuE;AACvE;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF,4CAA4C,UAAU;AACtD;;AAEA;AACA;AACA,mBAAmB,OAAO,GAAG,YAAY;AACzC;AACA,EAAE;AACF;;AAEA;AACA,QAAQ,eAAe;;AAEvB;AACA,QAAQ,aAAa;;AAErB,QAAQ,kBAAkB;AAC1B;;AAEA;AACA;;AAEA;AACA;AACA,gDAAgD,OAAO;AACvD;;AAEA;AACA,mBAAmB,OAAO;AAC1B;AACA,GAAG;AACH,iBAAiB,OAAO,EAAE,OAAO;AACjC;;AAEA,qCAAqC,UAAU,EAAE,OAAO;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA,QAAQ,4BAA4B;AACpC;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB,GAAG;;AAEH;AACA;AACA,YAAY,WAAW;AACvB,GAAG;;AAEH;AACA;AACA;AACA,aAAa,WAAW;AACxB,IAAI;AACJ;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,4BAA4B;AAC5D,gCAAgC,4BAA4B;AAC5D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,uBAAuB,cAAc;;AAEnD;AACA,cAAc,uBAAuB,cAAc;;AAEnD,cAAc,oCAAoC,cAAc;;AAEhE,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,wCAAwC,cAAc;;;;;;;;ACxWxD;;AAEZ,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,WAAW,iBAAiB;AAC/B;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG,WAAW,iBAAiB;AAC/B;;;;;;;;;ACtBa;;AAEb;AACA;;AAEA,sBAAsB,mBAAO,CAAC,GAAkB;AAChD,oBAAoB,mBAAO,CAAC,GAAgB;AAC5C,aAAa,mBAAO,CAAC,GAAQ;AAC7B,oBAAoB,mBAAO,CAAC,GAAQ;AACpC,WAAW,mBAAO,CAAC,GAAI;AACvB,aAAa,mBAAO,CAAC,GAAM;AAC3B,eAAe,mBAAO,CAAC,GAAQ;;AAE/B;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AA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sB,WAAW,8BAA8B,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,sBAAsB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8BAA8B,eAAe,eAAe,eAAe,sBAAsB,uBAAuB,WAAW,8B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BAAkB,kBAAkB,kBAAkB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,oBAAoB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,mBAAmB,oBAAoB,iBAAiB,uBAAuB,QAAQ,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,mBAAmB,UAAU,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,m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AqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC,KAAK;AAC1C,qCAAqC;AACrC,qCAAqC,KAAK;;AAE1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,gBAAgB;AACvD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,sDAAsD,gBAAgB;AACtE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,MAAM;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,sBAAsB;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,gBAAgB;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,gBAAgB;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gDAAgD,gBAAgB;;AAEhE;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,eAAe;AACf;;AAEA;;AAEA;;AAEA;AACA,eAAe;AACf;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,gDAAgD,gBAAgB;AAChE;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe;AACf;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,eAAe;AACf;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,6BAA6B,EAAE;AAC/B;;AAEA;AACA;;AAEA;;AAEA,2CAA2C,gBAAgB;AAC3D;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,oDAAoD,gBAAgB;AACpE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,+CAA+C,gBAAgB;AAC/D;AACA;AACA,OAAO;AACP;;AAEA,sDAAsD,gBAAgB;AACtE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA,oCAAoC,8BAA8B;AAClE;;AAEA,cAAc;AACd,cAAc;;;;;;;;ACj1BD;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,eAAe,OAAO,gBAAgB,OAAO,gBAAgB;AAC9D,sC;;;;;;;;ACxBa;;AAEb,YAAY,mBAAO,CAAC,EAAY;;AAEhC,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;ACnEA;AACA,aAAa,mBAAO,CAAC,GAAM;AAC3B;AACA;AACA,EAAE,cAAc;AAChB,CAAC;AACD;AACA,EAAE,cAAc,GAAG,mBAAO,CAAC,GAAuB;AAClD;;;;;;;;ACRA,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;AACrB,WAAW,mBAAO,CAAC,GAAM;;AAEzB;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA,+BAA+B,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK;;AAEtE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,sBAAsB;AACzC;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,OAAO;AACd;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,2BAA2B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;;;;;;;;ACrHD;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;AACA;AACA,mBAAmB;;AAEnB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,OAAO;;;;;;;ACnBP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqDI,wCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrD7B;;AAEZ,OAAO,YAAY,GAAG,mBAAO,CAAC,GAAgB;AAC9C,OAAO,aAAa,GAAG,mBAAO,CAAC,GAAW;;AAE1C,mDAAmD;AACnD;;AAEA;AACA;;AAEA,cAAc;;;;;;;;ACXD;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;;;;;;;;ACnCD;AACb,cAAc;AACd,mCAAmC;;AAEnC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;;;;;;;ACdA,eAAe,KAAoD,CAAC,cAAc,KAAK,SAA2K,CAAC,kBAAkB,aAAa,sBAAsB,YAAY,iBAAiB,uBAAuB,kBAAkB,2FAA2F,mBAAmB,sBAAsB,gBAAgB,wBAAwB,cAAc,cAAc,kBAAkB,WAAW,cAAc,6BAA6B,MAAM,wDAAwD,MAAM,YAAY,eAAe,gDAAgD,yCAAyC,2BAA2B,UAAU,KAAK,OAAO,sBAAsB,0CAA0C,wBAAwB,uFAAuF,sCAAsC,sBAAsB,yEAAyE,GAAG,GAAG,4BAA4B,GAAG,oBAAoB,oEAAoE,kBAAkB,OAAO,qBAAqB,0BAA0B,oBAAoB,0BAA0B,kBAAkB,aAAa,2BAA2B,MAAM,OAAO,QAAQ,cAAc,YAAY,mBAAmB,KAAK,mBAAmB,yCAAyC,WAAW,YAAY,WAAW,KAAK,WAAW,WAAW,SAAS,kBAAkB,cAAc,kBAAkB,wCAAwC,4BAA4B,gBAAgB,uBAAuB,gBAAgB,mBAAmB,mCAAmC,oBAAoB,mCAAmC,iBAAiB,qCAAqC,oBAAoB,gCAAgC,EAAE,QAAQ,eAAe,kCAAkC,oBAAoB,qBAAqB,cAAc,cAAc,EAAE,iBAAiB,cAAc,8BAA8B,EAAE,YAAY,kBAAkB,YAAY,yCAAyC,4BAA4B,mFAAmF,oBAAoB,iBAAiB,mFAAmF,iBAAiB,qCAAqC,QAAQ,eAAe,+BAA+B,SAAS,wBAAwB,iBAAiB,oBAAoB,aAAa,cAAc,QAAQ,cAAc,oBAAoB,SAAS,uBAAuB,uCAAuC,SAAS,mBAAmB,SAAS,kBAAkB,UAAU,iEAAiE,kBAAkB,+CAA+C,oCAAoC,cAAc,wBAAwB,cAAc,QAAQ,cAAc,kBAAkB,QAAQ,+CAA+C,cAAc,yBAAyB,yBAAyB,YAAY,mDAAmD,cAAc,wBAAwB,mFAAmF,gBAAgB,mBAAmB,mFAAmF,qBAAqB,iBAAiB,QAAQ,eAAe,YAAY,sBAAsB,8BAA8B,mBAAmB,gCAAgC,aAAa,4BAA4B,8BAA8B,OAAO,2BAA2B,SAAS,2BAA2B,QAAQ,4BAA4B,+BAA+B,iBAAiB,8DAA8D,YAAY,8BAA8B,SAAS,2BAA2B,QAAQ,iBAAiB,uEAAuE,YAAY,YAAY,SAAS,sBAAsB,6BAA6B,OAAO,mBAAmB,aAAa,oBAAoB,WAAW,gBAAgB,aAAa,0CAA0C,yDAAyD,qBAAqB,cAAc,QAAQ,wBAAwB,0GAA0G,YAAY,gBAAgB,aAAa,0CAA0C,4CAA4C,oBAAoB,SAAS,mBAAmB,OAAO,mBAAmB,WAAW,aAAa,cAAc,QAAQ,iBAAiB,uBAAuB,YAAY,YAAY,SAAS,gBAAgB,OAAO,mBAAmB,aAAa,aAAa,oDAAoD,SAAS,EAAE,SAAS,gFAAgF,UAAU,EAAE,UAAU,gDAAgD,SAAS,MAAM,MAAM,kEAAkE,0CAA0C,SAAS,IAAI,MAAM,iEAAiE,wBAAwB,0BAA0B,mFAAmF,gBAAgB,mBAAmB,mFAAmF,qBAAqB,QAAQ,eAAe,6EAA6E,0BAA0B,qCAAqC,iBAAiB,mPAAmP,2IAA2I,IAAI,sBAAsB,wCAAwC,gBAAgB,cAAc,WAAW,+BAA+B,8BAA8B,gBAAgB,cAAc,SAAS,oBAAoB,8CAA8C,mBAAmB,gCAAgC,WAAW,mCAAmC,SAAS,iCAAiC,UAAU,4BAA4B,+BAA+B,aAAa,6BAA6B,oBAAoB,sBAAsB,kBAAkB,oBAAoB,SAAS,gBAAgB,aAAa,oCAAoC,WAAW,sCAAsC,WAAW,4BAA4B,WAAW,2BAA2B,cAAc,oBAAoB,EAAE,YAAY,sBAAsB,aAAa,wBAAwB,QAAQ,EAAE,UAAU,oBAAoB,WAAW,wBAAwB,MAAM,EAAE,aAAa,mBAAmB,YAAY,UAAU,+CAA+C,4CAA4C,UAAU,+CAA+C,YAAY,6BAA6B,OAAO,0BAA0B,EAAE,mEAAmE,iBAAiB,sBAAsB,EAAE,sEAAsE,eAAe,oBAAoB,EAAE,sEAAsE,QAAQ,iBAAiB,6EAA6E,OAAO,mBAAmB,WAAW,0FAA0F,YAAY,0BAA0B,WAAW,gCAAgC,SAAS,8BAA8B,gBAAgB,YAAY,gBAAgB,aAAa,8EAA8E,mDAAmD,cAAc,GAAG,oBAAoB,YAAY,IAAI,OAAO,UAAU,MAAM,WAAW,oBAAoB,qBAAqB,gBAAgB,aAAa,cAAc,QAAQ,wBAAwB,0GAA0G,YAAY,2BAA2B,8CAA8C,OAAO,mBAAmB,oBAAoB,qDAAqD,cAAc,EAAE,cAAc,cAAc,EAAE,0LAA0L,WAAW,2BAA2B,gCAAgC,YAAY,0BAA0B,WAAW,+BAA+B,SAAS,6BAA6B,WAAW,OAAO,uEAAuE,YAAY,YAAY,gBAAgB,gBAAgB,aAAa,8EAA8E,oCAAoC,8BAA8B,cAAc,GAAG,qBAAqB,4BAA4B,QAAQ,wBAAwB,qCAAqC,YAAY,kBAAkB,gDAAgD,iDAAiD,OAAO,mBAAmB,WAAW,uBAAuB,cAAc,cAAc,EAAE,4DAA4D,YAAY,0BAA0B,WAAW,uCAAuC,SAAS,qCAAqC,gBAAgB,YAAY,YAAY,YAAY,WAAW,UAAU,yEAAyE,cAAc,sEAAsE,cAAc,sDAAsD,oBAAoB,gDAAgD,8CAA8C,oBAAoB,gDAAgD,qFAAqF,QAAQ,qCAAqC,4BAA4B,SAAS,mCAAmC,WAAW,8BAA8B,eAAe,yBAAyB,gBAAgB,EAAE,SAAS,cAAc,EAAE,yBAAyB,OAAO,4BAA4B,MAAM,6BAA6B,EAAE,aAAa,YAAY,oCAAoC,MAAM,EAAE,kCAAkC,uBAAuB,qBAAqB,YAAY,cAAc,IAAI,gBAAgB,gCAAgC,MAAM,EAAE,iBAAiB,kCAAkC,6DAA6D,mBAAmB,aAAa,QAAQ,qBAAqB,gFAAgF,gBAAgB,4HAA4H,WAAW,MAAM,qEAAqE,kDAAkD,eAAe,MAAM,oBAAoB,WAAW,iDAAiD,MAAM,aAAa,wCAAwC,cAAc,eAAe,oBAAoB,gCAAgC,sBAAsB,0BAA0B,qBAAqB,iCAAiC,gBAAgB,4BAA4B,qBAAqB,gCAAgC,aAAa,qCAAqC,EAAE,sCAAsC,EAAE,eAAe,cAAc,OAAO,iCAAiC,gBAAgB,OAAO,sCAAsC,iBAAiB,OAAO,uCAAuC,iBAAiB,uBAAuB,wBAAwB,IAAI,cAAc,uBAAuB,WAAW,MAAM,kDAAkD,IAAI,cAAc,iBAAiB,gCAAgC,mBAAmB,OAAO,2CAA2C,iBAAiB,OAAO,yCAAyC,kBAAkB,iBAAiB,WAAW,oEAAoE,qCAAqC,sBAAsB,OAAO,gBAAgB,MAAM,iBAAiB,GAAG,QAAQ,+BAA+B,qCAAqC,8GAA8G,mBAAmB,mCAAmC,QAAQ,iCAAiC,IAAI,aAAa,uCAAuC,IAAI,aAAa,KAAK,2HAA2H,iBAAiB,kBAAkB,iBAAiB,gBAAgB,mBAAmB,6BAA6B,OAAO,+EAA+E,iBAAiB,kBAAkB,uBAAuB,OAAO,iDAAiD,+BAA+B,OAAO,yDAAyD,uBAAuB,OAAO,8DAA8D,QAAQ,kGAAkG,+HAA+H,mCAAmC,OAAO,wFAAwF,sBAAsB,OAAO,gDAAgD,oBAAoB,OAAO,6CAA6C,yBAAyB,OAAO,6EAA6E,sBAAsB,gEAAgE,OAAO,oDAAoD,8BAA8B,OAAO,+CAA+C,oCAAoC,OAAO,8DAA8D,kCAAkC,OAAO,qEAAqE,0BAA0B,OAAO,8DAA8D,0BAA0B,OAAO,iBAAiB,kCAAkC,IAAI,mBAAmB,wCAAwC,gCAAgC,oBAAoB,gDAAgD,4CAA4C,OAAO,8CAA8C,iKAAiK,eAAe,qBAAqB,kBAAkB,sBAAsB,eAAe,EAAE,SAAS,aAAa,UAAU,YAAY,gBAAgB,gBAAgB,SAAS,eAAe,iBAAiB,qBAAqB,eAAe,2BAA2B,EAAE,kBAAkB,eAAe,0BAA0B,EAAE,eAAe,SAAS,EAAE,eAAe,8CAA8C,EAAE,cAAc,eAAe,kCAAkC,EAAE,aAAa,kDAAkD,6EAA6E,qCAAqC,qCAAqC,uBAAuB,yBAAyB,2BAA2B,YAAY,iPAAiP,uBAAuB,eAAe,eAAe,UAAU,OAAO,iBAAiB,eAAe,yCAAyC,OAAO,iBAAiB,eAAe,6BAA6B,iBAAiB,2CAA2C,MAAM,gCAAgC,gBAAgB,eAAe,+CAA+C,EAAE,gBAAgB,eAAe,6DAA6D,EAAE,OAAO,8BAA8B,OAAO,yBAAyB,UAAU,wDAAwD,gCAAgC,gBAAgB,eAAe,eAAe,EAAE,WAAW,yBAAyB,OAAO,2BAA2B,UAAU,8BAA8B,gCAAgC,gBAAgB,eAAe,iBAAiB,EAAE,WAAW,2BAA2B,OAAO,oDAAoD,sBAAsB,UAAU,gCAAgC,SAAS,eAAe,6EAA6E,2CAA2C,4CAA4C,gCAAgC,kBAAkB,eAAe,gCAAgC,GAAG,kDAAkD,0BAA0B,mFAAmF,oBAAoB,kBAAkB,mFAAmF,iBAAiB,SAAS,kBAAkB,kCAAkC,iCAAiC,2CAA2C,OAAO,oBAAoB,kBAAkB,oCAAoC,yDAAyD,qBAAqB,eAAe,qBAAqB,2BAA2B,2BAA2B,8BAA8B,eAAe,sCAAsC,eAAe,iDAAiD,2CAA2C,8CAA8C,+CAA+C,aAAa,4DAA4D,WAAW,yFAAyF,8CAA8C,iDAAiD,WAAW,uDAAuD,wBAAwB,0DAA0D,IAAI,+CAA+C,WAAW,uDAAuD,wBAAwB,uDAAuD,IAAI,yCAAyC,UAAU,cAAc,8BAA8B,GAAG,uCAAuC,uCAAuC,8CAA8C,uCAAuC,sCAAsC,wCAAwC,uCAAuC,iCAAiC,iCAAiC,gCAAgC,OAAO,2DAA2D,gCAAgC,WAAW,uDAAuD,wBAAwB,wDAAwD,IAAI,sBAAsB,iIAAiI,gCAAgC,iCAAiC,uBAAuB,aAAa,6BAA6B,+BAA+B,UAAU,EAAE,4BAA4B,+BAA+B,UAAU,EAAE,qCAAqC,qSAAqS,uFAAuF,0LAA0L,EAAE,6FAA6F,eAAe,wBAAwB,sBAAsB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,eAAe,wBAAwB,sBAAsB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,6BAA6B,8GAA8G,SAAS,GAAG,cAAc,SAAS,eAAe,8BAA8B,0BAA0B,mCAAmC,4CAA4C,2FAA2F,SAAS,QAAQ,eAAe,sOAAsO,yKAAyK,mCAAmC,qDAAqD,+BAA+B,uCAAuC,wEAAwE,cAAc,eAAe,6HAA6H,mDAAmD,kDAAkD,WAAW,eAAe,iDAAiD,mDAAmD,iDAAiD,uDAAuD,8CAA8C,qBAAqB,eAAe,yDAAyD,mDAAmD,uDAAuD,uEAAuE,uDAAuD,uCAAuC,6CAA6C,gDAAgD,wCAAwC,SAAS,cAAc,qBAAqB,2DAA2D,sBAAsB,0CAA0C,eAAe,kHAAkH,mBAAmB,8EAA8E,kCAAkC,gDAAgD,kDAAkD,8CAA8C,kDAAkD,6GAA6G,oBAAoB,8EAA8E,YAAY,oCAAoC,IAAI,eAAe,GAAG,iGAAiG,iBAAiB,yFAAyF,cAAc,MAAM,0JAA0J,qCAAqC,WAAW,qBAAqB,sDAAsD,MAAM,+JAA+J,MAAM,GAAG,kBAAkB,2EAA2E,MAAM,yDAAyD,OAAO,yLAAyL,KAAK,qCAAqC,KAAK,4FAA4F,MAAM,4DAA4D,KAAK,wEAAwE,OAAO,+DAA+D,KAAK,IAAI,eAAe,6CAA6C,oBAAoB,4CAA4C,mFAAmF,GAAG,mBAAmB,kEAAkE,qDAAqD,qBAAqB,4BAA4B,4CAA4C,yBAAyB,IAAI,4BAA4B,4CAA4C,kFAAkF,GAAG,oBAAoB,6EAA6E,kBAAkB,qDAAqD,iBAAiB,+HAA+H,UAAU,yBAAyB,oCAAoC,GAAG,QAAQ,mDAAmD,kCAAkC,GAAG,YAAY,oFAAoF,iBAAiB,kEAAkE,kBAAkB,kDAAkD,iBAAiB,kDAAkD,oBAAoB,sDAAsD,eAAe,iDAAiD,SAAS,IAAI,UAAU,MAAM,eAAe,sBAAsB,uBAAuB,gDAAgD,iGAAiG,iBAAiB,uBAAuB,kFAAkF,uDAAuD,YAAY,yBAAyB,0DAA0D,IAAI,uGAAuG,sBAAsB,0CAA0C,sBAAsB,qCAAqC,WAAW,cAAc,gBAAgB,eAAe,kFAAkF,eAAe,wEAAwE,eAAe,kFAAkF,eAAe,iBAAiB,iBAAiB,mBAAmB,yBAAyB,sBAAsB,qGAAqG,mBAAmB,mBAAmB,sBAAsB,qGAAqG,mBAAmB,uBAAuB,0DAA0D,cAAc,kFAAkF,mBAAmB,gCAAgC,yDAAyD,cAAc,iGAAiG,qCAAqC,mDAAmD,wBAAwB,kBAAkB,oHAAoH,QAAQ,8BAA8B,iEAAiE,yBAAyB,uBAAuB,IAAI,sDAAsD,oBAAoB,MAAM,yDAAyD,gEAAgE,sBAAsB,8EAA8E,qBAAqB,yBAAyB,6HAA6H,4CAA4C,8BAA8B,8BAA8B,6CAA6C,2BAA2B,2BAA2B,4BAA4B,8BAA8B,yBAAyB,kBAAkB,0BAA0B,sBAAsB,gCAAgC,sDAAsD,wDAAwD,mBAAmB,gCAAgC,IAAI,KAAK,4BAA4B,MAAM,oGAAoG,8OAA8O,SAAS,wGAAwG,8CAA8C,0DAA0D,wCAAwC,UAAU,mCAAmC,OAAO,0GAA0G,4CAA4C,qBAAqB,6KAA6K,2CAA2C,SAAS,mEAAmE,eAAe,yEAAyE,kBAAkB,OAAO,gDAAgD,kBAAkB,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS,4mBAA4mB,kBAAkB,MAAM,WAAW,i7CAAi7C,aAAa,+dAA+d,4uBAA4uB,iBAAiB,UAAU,qBAAqB,qCAAqC,MAAM,8GAA8G,MAAM,eAAe,yGAAyG,MAAM,gBAAgB,yEAAyE,MAAM,6DAA6D,MAAM,gBAAgB,uCAAuC,MAAM,oEAAoE,MAAM,oEAAoE,MAAM,gBAAgB,sGAAsG,MAAM,wBAAwB,0FAA0F,MAAM,gBAAgB,gDAAgD,MAAM,oGAAoG,qBAAqB,uCAAuC,MAAM,gBAAgB,6CAA6C,MAAM,wGAAwG,MAAM,gBAAgB,gIAAgI,MAAM,iEAAiE,MAAM,gBAAgB,uEAAuE,MAAM,gBAAgB,mFAAmF,MAAM,gBAAgB,+CAA+C,MAAM,gBAAgB,oEAAoE,MAAM,4BAA4B,MAAM,gBAAgB,sEAAsE,MAAM,gBAAgB,sFAAsF,MAAM,gBAAgB,yFAAyF,MAAM,gBAAgB,6EAA6E,MAAM,gBAAgB,oEAAoE,MAAM,8CAA8C,MAAM,8CAA8C,MAAM,qBAAqB,+CAA+C,gBAAgB,MAAM,iBAAiB,8BAA8B,EAAE,MAAM,kGAAkG,MAAM,2HAA2H,MAAM,gCAAgC,4CAA4C,YAAY,GAAG,MAAM,EAAE,QAAQ,uBAAuB,+IAA+I,GAAG,QAAQ,2FAA2F,2DAA2D,EAAE,2DAA2D,QAAQ,SAAS,SAAS,SAAS,cAAc,MAAM,GAAG,4EAA4E,QAAQ,SAAS,wDAAwD,2DAA2D,EAAE,2DAA2D,EAAE,2DAA2D,EAAE,4EAA4E,aAAa,MAAM,kGAAkG,KAAK,GAAG,WAAW,oBAAoB,MAAM,GAAG,4CAA4C,EAAE,2BAA2B,EAAE,qBAAqB,aAAa,MAAM,2BAA2B,2DAA2D,EAAE,WAAW,aAAa,MAAM,cAAc,MAAM,cAAc,MAAM,cAAc,MAAM,GAAG,8GAA8G,EAAE,UAAU,aAAa,KAAK,GAAG,8GAA8G,EAAE,WAAW,EAAE,UAAU,QAAQ,SAAS,GAAG,UAAU,EAAE,2DAA2D,QAAQ,SAAS,GAAG,WAAW,EAAE,UAAU,0BAA0B,8GAA8G,aAAa,MAAM,eAAe,2DAA2D,aAAa,oGAAoG,cAAc,oGAAoG,GAAG,gHAAgH,EAAE,iHAAiH,EAAE,WAAW,cAAc,UAAU,oDAAoD,kBAAkB,qBAAqB,KAAK,eAAe,WAAW,cAAc,UAAU,cAAc,8CAA8C,aAAa,OAAO,GAAG,UAAU,cAAc,WAAW,cAAc,UAAU,EAAE,iHAAiH,EAAE,WAAW,EAAE,6BAA6B,0BAA0B,6BAA6B,0BAA0B,WAAW,cAAc,UAAU,EAAE,WAAW,cAAc,UAAU,0BAA0B,KAAK,EAAE,6EAA6E,cAAc,UAAU,EAAE,UAAU,aAAa,uGAAuG,eAAe,WAAW,cAAc,UAAU,cAAc,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,sCAAsC,6BAA6B,kDAAkD,sBAAsB,2BAA2B,WAAW,EAAE,UAAU,EAAE,UAAU,2CAA2C,iLAAiL,0BAA0B,mBAAmB,mBAAmB,iBAAiB,cAAc,mBAAmB,4HAA4H,OAAO,2FAA2F,gFAAgF,EAAE,eAAe,UAAU,kCAAkC,0HAA0H,qCAAqC,MAAM,6DAA6D,OAAO,EAAE,oIAAoI,SAAS,+EAA+E,6PAA6P,0EAA0E,EAAE,yHAAyH,aAAa,qHAAqH,MAAM,+DAA+D,8JAA8J,wJAAwJ,qKAAqK,MAAM,iBAAiB,UAAU,IAAI,+BAA+B,sCAAsC,+BAA+B,wBAAwB,6BAA6B,uKAAuK,sDAAsD,mEAAmE,kBAAkB,qBAAqB,8PAA8P,mBAAmB,0CAA0C,gGAAgG,wCAAwC,sJAAsJ,wBAAwB,oBAAoB,oOAAoO,wGAAwG,iBAAiB,0BAA0B,mBAAmB,iRAAiR,sCAAsC,EAAE,kBAAkB,gCAAgC,sBAAsB,mEAAmE,6DAA6D,0BAA0B,iBAAiB,qHAAqH,yBAAyB,yDAAyD,yCAAyC,0BAA0B,UAAU,qCAAqC,+BAA+B,qIAAqI,+NAA+N,6IAA6I,+MAA+M,oZAAoZ,oBAAoB,4BAA4B,SAAS,SAAS,iBAAiB,6BAA6B,YAAY,uEAAuE,mCAAmC,WAAW,+EAA+E,yCAAyC,6CAA6C,oBAAoB,KAAK,SAAS,SAAS,4BAA4B,gLAAgL,sCAAsC,EAAE,gBAAgB,kBAAkB,qBAAqB,mBAAmB,4BAA4B,qBAAqB,uFAAuF,0BAA0B,4LAA4L,sBAAsB,0FAA0F,uBAAuB,cAAc,2BAA2B,kCAAkC,WAAW,iCAAiC,gBAAgB,mDAAmD,UAAU,yJAAyJ,MAAM,iBAAiB,iCAAiC,mCAAmC,uGAAuG,iBAAiB,iCAAiC,iBAAiB,iBAAiB,iBAAiB,oDAAoD,kBAAkB,kBAAkB,kBAAkB,kBAAkB,0CAA0C,kBAAkB,kBAAkB,kBAAkB,kBAAkB,+DAA+D,MAAM,kCAAkC,kBAAkB,kBAAkB,0BAA0B,kBAAkB,cAAc,kCAAkC,kCAAkC,sDAAsD,sDAAsD,kBAAkB,0BAA0B,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,gEAAgE,wBAAwB,kBAAkB,4BAA4B,EAAE,kCAAkC,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,iBAAiB,WAAW,UAAU,SAAS,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,8CAA8C,4CAA4C,MAAM,EAAE,cAAc,EAAE,0EAA0E,0BAA0B,8BAA8B,yBAAyB,0CAA0C,uDAAuD,WAAW,YAAY,sEAAsE,IAAI,oIAAoI,MAAM,uBAAuB,MAAM,uBAAuB,MAAM,2BAA2B,UAAU,+BAA+B,aAAa,WAAW,gDAAgD,GAAG,cAAc,eAAe,iBAAiB,mDAAmD,OAAO,gBAAgB,qDAAqD,iBAAiB,0BAA0B,wCAAwC,WAAW,uCAAuC,iDAAiD,gCAAgC,IAAI,YAAY,iBAAiB,kCAAkC,sBAAsB,kBAAkB,wBAAwB,+BAA+B,IAAI,4BAA4B,uBAAuB,mBAAmB,IAAI,yBAAyB,wBAAwB,4CAA4C,mBAAmB,6BAA6B,GAAG,oCAAoC,mBAAmB,uCAAuC,GAAG,qEAAqE,SAAS,6QAA6Q,GAAG,uGAAuG,2CAA2C,iCAAiC,uGAAuG,UAAU,GAAG,gDAAgD,uCAAuC,2LAA2L,UAAU,GAAG,2CAA2C,4CAA4C,2CAA2C,mBAAmB,kBAAkB,GAAG,wCAAwC,yCAAyC,IAAI,8BAA8B,8FAA8F,yCAAyC,wBAAwB,gCAAgC,wCAAwC,sBAAsB,wCAAwC,cAAc,YAAY,EAAE,yCAAyC,eAAe,YAAY,EAAE,0CAA0C,kBAAkB,qCAAqC,aAAa,+BAA+B,sCAAsC,IAAI,8BAA8B,YAAY,iBAAiB,EAAE,mCAAmC,uCAAuC,sBAAsB,gDAAgD,qDAAqD,0BAA0B,OAAO,yDAAyD,0BAA0B,qBAAqB,EAAE,8BAA8B,EAAE,OAAO,6BAA6B,kBAAkB,2CAA2C,IAAI,KAAK,oCAAoC,wEAAwE,KAAK,+CAA+C,MAAM,EAAE,eAAe,OAAO,+DAA+D,uCAAuC,mCAAmC,eAAe,OAAO,gHAAgH,mCAAmC,QAAQ,OAAO,8BAA8B,wBAAwB,OAAO,oFAAoF,gBAAgB,cAAc,QAAQ,oCAAoC,mBAAmB,4BAA4B,kCAAkC,6DAA6D,sEAAsE,yBAAyB,iLAAiL,8BAA8B,iBAAiB,mCAAmC,UAAU,uBAAuB,wCAAwC,MAAM,qCAAqC,EAAE,OAAO,8BAA8B,QAAQ,uCAAuC,gBAAgB,6IAA6I,QAAQ,8EAA8E,iBAAiB,+DAA+D,8BAA8B,cAAc,iBAAiB,cAAc,2BAA2B,QAAQ,ikbAAikb,oJAAoJ,m8WAAm8W,oJAAoJ,uwEAAuwE,svPAAsvP,iFAAiF,cAAc,aAAa,qCAAqC,MAAM,kBAAkB,gJAAgJ,GAAG,4CAA4C,eAAe,kBAAkB,eAAe,kBAAkB,kBAAkB,kBAAkB,gMAAgM,sBAAsB,kBAAkB,oCAAoC,uCAAuC,uCAAuC,0CAA0C,oDAAoD,qEAAqE,iBAAiB,uCAAuC,uRAAuR,oBAAoB,qBAAqB,iOAAiO,kCAAkC,yHAAyH,yBAAyB,qBAAqB,0LAA0L,6BAA6B,qBAAqB,sLAAsL,oBAAoB,qBAAqB,iFAAiF,2BAA2B,qBAAqB,gHAAgH,uBAAuB,qBAAqB,iJAAiJ,oBAAoB,qBAAqB,4LAA4L,uBAAuB,qBAAqB,kQAAkQ,gCAAgC,kBAAkB,gcAAgc,0BAA0B,kBAAkB,6oBAA6oB,+BAA+B,kBAAkB,wkBAAwkB,iCAAiC,kBAAkB,4hBAA4hB,uCAAuC,qBAAqB,+MAA+M,uCAAuC,qBAAqB,+MAA+M,mCAAmC,kBAAkB,udAAud,sCAAsC,kBAAkB,8PAA8P,gCAAgC,2KAA2K,uBAAuB,qBAAqB,wIAAwI,cAAc,oCAAoC,iIAAiI,sCAAsC,aAAa,kCAAkC,qDAAqD,sCAAsC,4BAA4B,0BAA0B,IAAI,6BAA6B,EAAE,8BAA8B,6DAA6D,cAAc,oCAAoC,iBAAiB,kCAAkC,kFAAkF,6BAA6B,qCAAqC,gCAAgC,kBAAkB,yEAAyE,uCAAuC,2BAA2B,cAAc,WAAW,kEAAkE,MAAM,mBAAmB,EAAE,oBAAoB,0BAA0B,qCAAqC,wBAAwB,yCAAyC,uDAAuD,wCAAwC,yBAAyB,mOAAmO,GAAG,GAAG,iBAAiB,6BAA6B,EAAE,eAAe,0BAA0B,oBAAoB,gBAAgB,0BAA0B,eAAe,IAAI,gBAAgB,0FAA0F,4KAA4K,8EAA8E,OAAO,gzBAAgzB,eAAe,oBAAoB,yBAAyB,uEAAuE,8EAA8E,GAAG,mBAAmB,0EAA0E,mBAAmB,+FAA+F,iBAAiB,uFAAuF,SAAS,6BAA6B,2CAA2C,iBAAiB,yCAAyC,UAAU,OAAO,qCAAqC,SAAS,eAAe,YAAY,OAAO,qDAAqD,wBAAwB,GAAG,qBAAqB,eAAe,qCAAqC,eAAe,yCAAyC,iBAAiB,WAAW,4BAA4B,mBAAmB,6DAA6D,WAAW,0BAA0B,WAAW,iEAAiE,0CAA0C,yCAAyC,8BAA8B,SAAS,eAAe,iBAAiB,YAAY,WAAW,KAAK,eAAe,uBAAuB,SAAS,mBAAmB,OAAO,qBAAqB,SAAS,OAAO,mBAAmB,YAAY,MAAM,MAAM,eAAe,oBAAoB,yCAAyC,qBAAqB,WAAW,0BAA0B,MAAM,8BAA8B,6CAA6C,gCAAgC,KAAK,0BAA0B,8BAA8B,4BAA4B,qBAAqB,uDAAuD,aAAa,eAAe,UAAU,8CAA8C,qBAAqB,YAAY,WAAW,KAAK,iCAAiC,8BAA8B,mBAAmB,qGAAqG,iBAAiB,gBAAgB,SAAS,eAAe,2BAA2B,WAAW,2HAA2H,cAAc,eAAe,uDAAuD,kDAAkD,wDAAwD,iBAAiB,UAAU,eAAe,YAAY,gBAAgB,yBAAyB,iBAAiB,YAAY,gBAAgB,yBAAyB,cAAc,YAAY,gBAAgB,yBAAyB,oBAAoB,YAAY,oBAAoB,6BAA6B,uBAAuB,kDAAkD,oBAAoB,WAAW,KAAK,eAAe,kBAAkB,+BAA+B,YAAY,IAAI,iCAAiC,sBAAsB,wCAAwC,2BAA2B,wHAAwH,SAAS,cAAc,IAAI,KAAK,6BAA6B,WAAW,qFAAqF,WAAW,uEAAuE,8CAA8C,YAAY,IAAI,qBAAqB,iBAAiB,aAAa,eAAe,yCAAyC,qCAAqC,aAAa,eAAe,yIAAyI,UAAU,kBAAkB,iBAAiB,SAAS,OAAO,iBAAiB,aAAa,wCAAwC,EAAE,OAAO,2DAA2D,UAAU,2BAA2B,EAAE,OAAO,oDAAoD,UAAU,mDAAmD,EAAE,OAAO,sFAAsF,mBAAmB,OAAO,8GAA8G,EAAE,OAAO,gHAAgH,aAAa,OAAO,uCAAuC,qBAAqB,OAAO,+CAA+C,YAAY,OAAO,sCAAsC,SAAS,kFAAkF,EAAE,OAAO,+HAA+H,iBAAiB,6BAA6B,EAAE,OAAO,8DAA8D,MAAM,qBAAqB,EAAE,OAAO,sCAAsC,MAAM,cAAc,EAAE,OAAO,+BAA+B,OAAO,6BAA6B,EAAE,OAAO,mDAAmD,MAAM,oBAAoB,EAAE,IAAI,mBAAmB,aAAa,eAAe,oBAAoB,gCAAgC,sBAAsB,0BAA0B,qBAAqB,iCAAiC,sCAAsC,sBAAsB,UAAU,wEAAwE,QAAQ,OAAO,uBAAuB,YAAY,OAAO,4BAA4B,SAAS,OAAO,6BAA6B,UAAU,OAAO,+BAA+B,MAAM,oBAAoB,EAAE,OAAO,qCAAqC,SAAS,qBAAqB,EAAE,OAAO,iCAAiC,YAAY,qBAAqB,qCAAqC,EAAE,OAAO,qBAAqB,8BAA8B,EAAE,YAAY,qBAAqB,mCAAmC,EAAE,aAAa,qBAAqB,oCAAoC,EAAE,YAAY,qBAAqB,mCAAmC,IAAI,iBAAiB,qHAAqH,OAAO,4CAA4C,+DAA+D,iBAAiB,IAAI,6BAA6B,GAAG,UAAU,SAAS,qBAAqB,sEAAsE,OAAO,iDAAiD,8EAA8E,0BAA0B,6BAA6B,EAAE,oBAAoB,qCAAqC,2CAA2C,+JAA+J,SAAS,IAAI,gBAAgB,gBAAgB,kCAAkC,KAAK,gBAAgB,EAAE,kCAAkC,UAAU,WAAW,IAAI,+BAA+B,EAAE,kBAAkB,6BAA6B,iBAAiB,wBAAwB,sBAAsB,wBAAwB,oBAAoB,wBAAwB,qBAAqB,wBAAwB,kBAAkB,wBAAwB,kBAAkB,uBAAuB,cAAc,uBAAuB,iBAAiB,qDAAqD,mBAAmB,+DAA+D,sFAAsF,IAAI,8GAA8G,sBAAsB,iBAAiB,oCAAoC,WAAW,WAAW,+BAA+B,gEAAgE,kBAAkB,kFAAkF,EAAE,sBAAsB,kEAAkE,QAAQ,IAAI,+BAA+B,8BAA8B,UAAU,QAAQ,2DAA2D,SAAS,kBAAkB,gGAAgG,mLAAmL,IAAI,uBAAuB,YAAY,8EAA8E,mFAAmF,2JAA2J,EAAE,4BAA4B,qBAAqB,OAAO,YAAY,MAAM,mFAAmF,IAAI,wBAAwB,GAAG,6BAA6B,uJAAuJ,EAAE,KAAK,IAAI,uBAAuB,YAAY,eAAe,sEAAsE,EAAE,gBAAgB,8FAA8F,qDAAqD,MAAM,uKAAuK,MAAM,iGAAiG,MAAM,yIAAyI,MAAM,uIAAuI,MAAM,oCAAoC,SAAS,mCAAmC,wBAAwB,uBAAuB,+BAA+B,mBAAmB,mCAAmC,gEAAgE,gBAAgB,kCAAkC,oBAAoB,eAAe,4DAA4D,iBAAiB,wCAAwC,6CAA6C,OAAO,6BAA6B,qBAAqB,4CAA4C,oBAAoB,mFAAmF,oBAAoB,IAAI,YAAY,MAAM,mFAAmF,IAAI,cAAc,kDAAkD,gBAAgB,gEAAgE,MAAM,wDAAwD,MAAM,uIAAuI,SAAS,oBAAoB,iFAAiF,yBAAyB,uFAAuF,aAAa,mFAAmF,kBAAkB,yFAAyF,iBAAiB,IAAI,uBAAuB,YAAY,iBAAiB,sDAAsD,EAAE,kBAAkB,OAAO,WAAW,GAAG,wBAAwB,yHAAyH,4HAA4H,6FAA6F,sEAAsE,sBAAsB,KAAK,gEAAgE,mEAAmE,UAAU,WAAW,yCAAyC,qBAAqB,uBAAuB,qDAAqD,gBAAgB,gBAAgB,iKAAiK,GAAG,sCAAsC,uBAAuB,8DAA8D,KAAK,gBAAgB,uJAAuJ,GAAG,2BAA2B,uBAAuB,4DAA4D,wDAAwD,QAAQ,SAAS,YAAY,iBAAiB,KAAK,iBAAiB,gBAAgB,wEAAwE,GAAG,6CAA6C,iBAAiB,mBAAmB,6CAA6C,EAAE,kBAAkB,mBAAmB,8CAA8C,EAAE,iBAAiB,mBAAmB,6CAA6C,EAAE,oBAAoB,mBAAmB,+CAA+C,EAAE,eAAe,mBAAmB,wCAAwC,IAAI,cAAc,4DAA4D,QAAQ,sBAAsB,eAAe,2FAA2F,uBAAuB,6BAA6B,gBAAgB,2DAA2D,YAAY,0BAA0B,uCAAuC,EAAE,gBAAgB,0BAA0B,aAAa,4GAA4G,UAAU,8EAA8E,gBAAgB,kBAAkB,8IAA8I,cAAc,kBAAkB,4IAA4I,YAAY,mCAAmC,wIAAwI,iBAAiB,IAAI,+DAA+D,iDAAiD,oFAAoF,EAAE,0BAA0B,gBAAgB,qFAAqF,4EAA4E,uBAAuB,+BAA+B,mBAAmB,wBAAwB,iBAAiB,oBAAoB,uBAAuB,4FAA4F,yBAAyB,yBAAyB,uBAAuB,sGAAsG,0BAA0B,4EAA4E,mDAAmD,KAAK,oBAAoB,mHAAmH,0BAA0B,GAAG,uBAAuB,wBAAwB,sCAAsC,+GAA+G,oCAAoC,GAAG,IAAI,0DAA0D,kEAAkE,mBAAmB,eAAe,8BAA8B,EAAE,wCAAwC,qBAAqB,0CAA0C,6BAA6B,YAAY,WAAW,KAAK,WAAW,+HAA+H,iEAAiE,2BAA2B,kFAAkF,sBAAsB,MAAM,uVAAuV,gCAAgC,MAAM,8CAA8C,oFAAoF,8KAA8K,gCAAgC,eAAe,GAAG,UAAU,qDAAqD,kBAAkB,EAAE,QAAQ,+BAA+B,6SAA6S,aAAa,2BAA2B,GAAG,8CAA8C,OAAO,4DAA4D,sCAAsC,kEAAkE,IAAI,KAAK,8BAA8B,IAAI,UAAU,EAAE,eAAe,YAAY,SAAS,0BAA0B,mFAAmF,oBAAoB,kBAAkB,mFAAmF,iBAAiB,SAAS,aAAa,cAAc,SAAS,mCAAmC,yBAAyB,oBAAoB,cAAc,8GAA8G,aAAa,eAAe,cAAc,mBAAmB,OAAO,SAAS,OAAO,gCAAgC,oBAAoB,GAAG,eAAe,WAAW,cAAc,0BAA0B,qCAAqC,gBAAgB,6BAA6B,2DAA2D,iBAAiB,oBAAoB,+CAA+C,iBAAiB,0BAA0B,qBAAqB,4DAA4D,YAAY,yCAAyC,eAAe,oBAAoB,mBAAmB,kDAAkD,aAAa,oBAAoB,OAAO,uDAAuD,OAAO,8BAA8B,8CAA8C,eAAe,iCAAiC,qDAAqD,cAAc,0BAA0B,qCAAqC,aAAa,yBAAyB,gBAAgB,mCAAmC,iBAAiB,oCAAoC,iBAAiB,oCAAoC,YAAY,gCAAgC,qBAAqB,SAAS,sFAAsF,6DAA6D,QAAQ,sCAAsC,WAAW,6FAA6F,UAAU,SAAS,gBAAgB,eAAe,qBAAqB,EAAE,aAAa,eAAe,qBAAqB,EAAE,kBAAkB,eAAe,4DAA4D,EAAE,wBAAwB,eAAe,kEAAkE,eAAe,WAAW,cAAc,cAAc,EAAE,YAAY,eAAe,2BAA2B,EAAE,gBAAgB,eAAe,cAAc,EAAE,mBAAmB,eAAe,eAAe,EAAE,WAAW,eAAe,gBAAgB,EAAE,MAAM,0BAA0B,IAAI,eAAe,gCAAgC,EAAE,eAAe,eAAe,eAAe,EAAE,KAAK,0BAA0B,IAAI,eAAe,gCAAgC,EAAE,YAAY,eAAe,mBAAmB,EAAE,QAAQ,eAAe,MAAM,EAAE,UAAU,eAAe,kBAAkB,cAAc,WAAW,EAAE,SAAS,gCAAgC,EAAE,eAAe,mCAAmC,EAAE,gBAAgB,eAAe,sBAAsB,EAAE,UAAU,eAAe,kCAAkC,EAAE,iBAAiB,oBAAoB,cAAc,EAAE,aAAa,eAAe,cAAc,EAAE,QAAQ,2BAA2B,IAAI,eAAe,iCAAiC,EAAE,UAAU,gBAAgB,IAAI,eAAe,sBAAsB,EAAE,iBAAiB,eAAe,eAAe,EAAE,oBAAoB,IAAI,mCAAmC,2CAA2C,gEAAgE,2FAA2F,+DAA+D,EAAE,WAAW,kBAAkB,SAAS,eAAe,gCAAgC,cAAc,iBAAiB,oCAAoC,aAAa,aAAa,iBAAiB,sCAAsC,aAAa,0BAA0B,iBAAiB,8BAA8B,+BAA+B,kBAAkB,EAAE,EAAE,aAAa,mCAAmC,sFAAsF,iBAAiB,0DAA0D,aAAa,gCAAgC,iBAAiB,8DAA8D,cAAc,eAAe,0CAA0C,eAAe,4CAA4C,eAAe,6CAA6C,eAAe,6CAA6C,eAAe,kBAAkB,eAAe,4EAA4E,eAAe,gDAAgD,SAAS,mBAAmB,8DAA8D,aAAa,mCAAmC,OAAO,8BAA8B,mBAAmB,sBAAsB,eAAe,sBAAsB,WAAW,iBAAiB,yCAAyC,EAAE,cAAc,OAAO,eAAe,aAAa,6IAA6I,cAAc,yBAAyB,SAAS,4DAA4D,0BAA0B,qFAAqF,SAAS,eAAe,aAAa,eAAe,eAAe,uKAAuK,2CAA2C,qBAAqB,qCAAqC,8IAA8I,uFAAuF,UAAU,sCAAsC,yCAAyC,2BAA2B,gBAAgB,cAAc,GAAG,2EAA2E,eAAe,IAAI,uBAAuB,wSAAwS,OAAO,8CAA8C,iBAAiB,6CAA6C,mBAAmB,EAAE,+CAA+C,kBAAkB,8BAA8B,SAAS,4BAA4B,eAAe,iDAAiD,cAAc,6CAA6C,yCAAyC,gDAAgD,mCAAmC,gDAAgD,4CAA4C,mCAAmC,0DAA0D,KAAK,SAAS,eAAe,aAAa,aAAa,eAAe,qEAAqE,OAAO,8BAA8B,mDAAmD,2DAA2D,yDAAyD,uEAAuE,wBAAwB,4BAA4B,eAAe,oBAAoB,sBAAsB,mBAAmB,EAAE,8BAA8B,wCAAwC,GAAG,4BAA4B,8BAA8B,YAAY,wCAAwC,sBAAsB,WAAW,sBAAsB,UAAU,8BAA8B,EAAE,qBAAqB,IAAI,UAAU,kDAAkD,wCAAwC,aAAa,oBAAoB,oBAAoB,SAAS,qBAAqB,8DAA8D,kCAAkC,2CAA2C,IAAI,kBAAkB,IAAI,oBAAoB,4DAA4D,2EAA2E,oBAAoB,gDAAgD,0CAA0C,4CAA4C,4EAA4E,OAAO,OAAO,2BAA2B,EAAE,sCAAsC,4FAA4F,WAAW,2BAA2B,SAAS,eAAe,WAAW,eAAe,IAAI,+BAA+B,yWAAyW,oHAAoH,kEAAkE,2BAA2B,EAAE,kEAAkE,YAAY,oFAAoF,qDAAqD,0DAA0D,0CAA0C,YAAY,mCAAmC,2EAA2E,oBAAoB,oDAAoD,0CAA0C,wDAAwD,gBAAgB,8DAA8D,oBAAoB,gEAAgE,0BAA0B,mCAAmC,YAAY,eAAe,+BAA+B,+CAA+C,sBAAsB,yEAAyE,aAAa,eAAe,uBAAuB,8CAA8C,OAAO,sEAAsE,iCAAiC,QAAQ,yHAAyH,+CAA+C,oBAAoB,4CAA4C,8BAA8B,wCAAwC,IAAI,OAAO,+CAA+C,oBAAoB,4CAA4C,6BAA6B,wCAAwC,IAAI,mBAAmB,+DAA+D,MAAM,iFAAiF,2BAA2B,0EAA0E,MAAM,+DAA+D,eAAe,+BAA+B,iCAAiC,4IAA4I,kDAAkD,gIAAgI,oBAAoB,WAAW,yBAAyB,SAAS,mBAAmB,sIAAsI,4BAA4B,eAAe,gDAAgD,4CAA4C,kBAAkB,oEAAoE,oBAAoB,kBAAkB,sGAAsG,sFAAsF,oBAAoB,eAAe,gGAAgG,mEAAmE,oBAAoB,qBAAqB,uBAAuB,sBAAsB,sIAAsI,4JAA4J,yMAAyM,MAAM,+CAA+C,qGAAqG,mBAAmB,mHAAmH,wBAAwB,wCAAwC,0HAA0H,sDAAsD,oHAAoH,wDAAwD,uBAAuB,uMAAuM,wBAAwB,2KAA2K,wBAAwB,mIAAmI,eAAe,mFAAmF,qBAAqB,WAAW,eAAe,qFAAqF,qBAAqB,WAAW,oBAAoB,8CAA8C,6BAA6B,sBAAsB,sFAAsF,EAAE,mBAAmB,cAAc,2CAA2C,gFAAgF,kPAAkP,qBAAqB,mCAAmC,EAAE,oBAAoB,sBAAsB,GAAG,cAAc,OAAO,6BAA6B,YAAY,wCAAwC,eAAe,sBAAsB,gBAAgB,uBAAuB,kBAAkB,EAAE,YAAY,0BAA0B,OAAO,MAAM,cAAc,OAAO,8BAA8B,EAAE,OAAO,SAAS,SAAS,kBAAkB,MAAM,aAAa,IAAI,MAAM,IAAI,OAAO,wBAAwB,gBAAgB,EAAE,SAAS,oBAAoB,MAAM,kBAAkB,GAAG,MAAM,MAAM,cAAc,GAAG,+BAA+B,QAAQ,GAAG,MAAM,MAAM,KAAK,2BAA2B,GAAG,OAAO,OAAO,qBAAqB,IAAI,0BAA0B,QAAQ,SAAS,8CAA8C;;;;;;;;;;;;ACAtmyI,WAAW,mBAAO,CAAC,GAAM;AACzB,SAAS,mBAAO,CAAC,GAAI;AACrB,aAAa,mBAAO,CAAC,GAAU;AAC/B,WAAW,mBAAO,CAAC,GAAM;;AAEzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC,yBAAyB,KAAK;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa;AACtB;AACA,KAAK;AACL,0DAA0D,iBAAiB;AAC3E;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,yCAAyC;AACtF;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;AC5ID;;AAEb,qBAAqB,mBAAO,CAAC,GAAQ;AACrC,qBAAqB,mBAAO,CAAC,GAAiB;AAC9C,uBAAuB,mBAAO,CAAC,GAAoB;AACnD,kBAAkB,mBAAO,CAAC,GAAe;AACzC,eAAe,mBAAO,CAAC,GAAW;AAClC,oBAAoB,mBAAO,CAAC,GAAoB;;AAEhD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mDAAmD,SAAS;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;;AAET;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA;AACA;;AAEA;AACA,cAAc;;;;;;;;;;;;;;;;;;;;;;;AChoBF;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,eAAe,mBAAO,CAAC,GAAU;;AAEjC,cAAc;AACd;AACA;AACA;;;;;;;;ACRa;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D,+BAA+B,iFAAiF;;AAEhH,6BAA6B,mBAAO,CAAC,GAAQ;AAC7C,2BAA2B,mBAAO,CAAC,GAAM;AACzC,0BAA0B,mBAAO,CAAC,GAAK;AACvC,4BAA4B,mBAAO,CAAC,GAAO;AAC3C,2BAA2B,mBAAO,CAAC,GAAM;;AAEzC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,6BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;;AAEA;AACA,QAAQ,mBAAmB;AAC3B,QAAQ,mBAAmB;AAC3B,SAAS;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,mBAAO,CAAC,EAAU;AAC7B,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kFAAkF;AAClF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE,yBAAyB,kCAAkC;AAC7D;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE,mCAAmC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iHAAiH,UAAU,IAAI,YAAY;AAC3I;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,+EAA+E,WAAW,WAAW,YAAY;AACjH;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,QAAQ,mBAAmB;AAC3B,YAAY,mBAAmB;AAC/B,eAAe,mBAAmB;AAClC,QAAQ,mBAAmB;AAC3B,QAAQ,mBAAmB;AAC3B,QAAQ;AACR,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qEAAqE,SAAS;AAC9E;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE,WAAW,SAAS,eAAe;AACvG,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,yEAAyE,WAAW,IAAI,YAAY;AACpG;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,WAAW,eAAe,YAAY;AACnF;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,4EAA4E,WAAW,IAAI,YAAY;AACvG;AACA,GAAG;AACH,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAY,EAAE;AACd,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,qBAAqB;AACrB,EAAE;AACF;AACA,4CAA4C;AAC5C,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA,8BAA8B,WAAW,mBAAmB;AAC5D,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,KAAK;AAChB;AACA,yBAAyB,KAAK;AAC9B;AACA;;AAEA;AACA,YAAY,MAAM;AAClB;AACA,yBAAyB,MAAM;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,OAAO,mBAAmB;AAC1B,WAAW,mBAAmB;AAC9B,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,QAAQ,mBAAmB;AAC3B,UAAU,mBAAmB;AAC7B,WAAW;AACX,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;;AAE9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,MAAM,mBAAmB;AACzB,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,WAAW,mBAAmB;AAC9B,SAAS;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,IAAI;AACJ;AACA,6BAA6B,MAAM;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,iEAAiE;;AAEjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,UAAU,mBAAmB;AAC7B,OAAO,mBAAmB;AAC1B,WAAW,mBAAmB;AAC9B,YAAY,mBAAmB;AAC/B,SAAS,mBAAmB;AAC5B,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB;AACxB;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,YAAY;AAC9D;AACA,KAAK;AACL,IAAI;AACJ;;AAEA;AACA,uCAAuC,YAAY,mBAAmB,YAAY;AAClF;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sGAAsG,YAAY;AAClH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6DAA6D,YAAY;AACzE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc,GAAG,OAAO;AACxB,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO,WAAW,OAAO;AACzB,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;;;;;;;;;;AChnDK;AACZ,UA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A;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA,SAAS,YAAY;AACrB;;AAEA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,wCAAwC,QAAQ,GAAG,kCAAkC;AACrF;AACA,CAAC;;AAED,OAAO;AACP;;;;;;;;;ACnJa;AACb,cAAc;;;;;;;;ACDd,aAAa,mBAAO,CAAC,GAAM;;AAE3B,aAAa,mBAAO,CAAC,GAAU;;AAE/B;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,cAAc;;;;;;;;;;AC9DD;AACb,aAAa,mBAAO,CAAC,GAAM;AAC3B,qBAAqB,mBAAO,CAAC,GAAiB;;AAE9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0BAA0B,oBAAoB;;AAE9C,QAAQ,UAAU;;AAElB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;;AAEA,cAAc;AACd,cAAc,iEAAiE,YAAY,mBAAmB;AAC9G,cAAc,gEAAgE,YAAY,YAAY;AACtG,cAAc;;;;;;;;ACjDd,IAAI,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAE;;AAEb,eAAe,mBAAO,CAAC,GAAQ;AAC/B;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,SAAS;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;;;;ACnDD;AACb,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACdY;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,cAAc;AACd,UAAU,mBAAO,CAAC,GAAQ;AAC1B;;;;;;;;;;;;ACLa;;AAEb,YAAY,mBAAO,CAAC,EAAY;AAChC,eAAe,mBAAO,CAAC,GAAqB;AAC5C,yBAAyB,mBAAO,CAAC,GAAsB;AACvD,sBAAsB,mBAAO,CAAC,GAAmB;AACjD,kBAAkB,mBAAO,CAAC,GAAe;;AAEzC;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED,cAAc;;;;;;;;;AC9FD;;AAEb,eAAe,cAAc;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;ACpBA;AACA;AACA;AACA;;AAEA;AACA,CAAC,cAAc,GAAG,mBAAO,CAAC,GAAc;AACxC,CAAC;AACD,CAAC,cAAc,GAAG,mBAAO,CAAC,EAAW;AACrC;;;;;;;;;;;;;;;;ACTA;;AAEa;;AAEb,eAAe,mBAAO,CAAC,GAAK;AAC5B,aAAa,mBAAO,CAAC,GAAM;AAC3B,WAAW,mBAAO,CAAC,GAAI;AACvB,cAAc,mBAAO,CAAC,GAAU;AAChC,YAAY,mBAAO,CAAC,GAAK;AACzB,YAAY,mBAAO,CAAC,GAAK;;AAEzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,kBAAkB,cAAc;AAChC,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA,cAAc;AACd;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;;AAEA,cAAc;AACd;;AAEA,8BAA8B;AAC9B;AACA;AACA;AACA,KAAK;;AAEL,0BAA0B;AAC1B;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,cAAc;AAC1B;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,SAAS;AACpB;AACA,cAAc;AACd;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,SAAS;AACT,2EAA2E,GAAG;AAC9E;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,SAAS;AAC9C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;;;;;;ACrfA;;AAEA;AACA;AACA;;AAEA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;;AAEP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,cAAc;;AAEtB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,GAAG,OAAO;AACV,GAAG;AACH,GAAG,OAAO;AACV;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM,OAAO;AACb,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA,cAAc,GAAG,mBAAO,CAAC,GAAU,EAAE,OAAO;;AAE5C,OAAO,WAAW,GAAG,cAAc;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;;;;;;;;ACvQa;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D,+BAA+B,iFAAiF;;AAEhH,6BAA6B,mBAAO,CAAC,CAAS;;AAE9C;AACA;AACA,sBAAsB,0BAA0B,IAAI,UAAU,GAAG,aAAa;AAC9E,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA,OAAO;AACP;;;;;;;;;;;ACrBa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,cAAc,OAAO,eAAe,OAAO,eAAe;AAC3D,qC;;;;;;;;ACnCa;;AAEb,kBAAkB,mBAAO,CAAC,GAAQ;;AAElC;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF;AACtF;AACA;AACA;;AAEA,wCAAwC,SAAS;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS,iCAAiC,IAAI;AAC9C;AACA,gDAAgD,IAAI;AACpD;AACA;;AAEA;AACA,2FAA2F,EAAE,EAAE,IAAI,wCAAwC,EAAE;AAC7I;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qEAAqE,EAAE;AACvE;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,aAAa,QAAQ;AACrB;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;;;;;;;;;;;AC1Na;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gBAAgB,OAAO,iBAAiB,OAAO,iBAAiB;AACjE,uC;;;;;;;;;ACrDa;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,4BAA4B,YAAY,KAAK;AAC7C,4BAA4B,eAAe,EAAE;AAC7C,4BAA4B,eAAe,EAAE;AAC7C,4BAA4B,eAAe;AAC3C,GAAG;AACH;AACA,CAAC;;;;;;;;;ACjCD;;AAEa;;AAEb,iBAAiB,mBAAO,CAAC,GAAc;AACvC,kBAAkB,mBAAO,CAAC,GAAe;;AAEzC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA,qDAAqD,eAAe;AACpE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,6DAA6D;AAC7D;AACA;AACA;AACA,aAAa;AACb;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA,uEAAuE,GAAG;AAC1E;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB;AACzB;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA,cAAc;;;;;;;;;ACriBD;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,MAAM;AAC3B;;AAEA,kBAAkB,MAAM;AACxB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;AACP;;;;;;;;AChDa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uCAAuC,MAAM,uCAAuC;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,cAAc,OAAO,eAAe,OAAO,eAAe;AAC3D,qC;;;;;;;;;AC1BA,cAAc;AACd;;AAEA,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B;AAC5B;AACA;AACA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;;;;;;;;;;;;ACzCa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA,0BAA0B,yCAAyC,MAAM;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,oCAAoC,WAAW,kBAAkB,YAAY;AAC7E;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gBAAgB,OAAO,iBAAiB,OAAO,iBAAiB;AACjE,uC;;;;;;;ACtFa;;AAEb,YAAY,mBAAO,CAAC,EAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,2BAA2B;AAC3B,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;;;;;;;ACtFa;;AAEb;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,cAAc;;;;;;;;;;AClBD;AACb,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;ACZA;AACA;AACA;AACA;AACA;;;AAGa;;;AAGb,aAAa,mBAAO,CAAC,GAAW;;;AAGhC,cAAc;AACd;AACA,IAAI,mBAAO,CAAC,GAAQ;AACpB;AACA;AACA,IAAI,mBAAO,CAAC,GAAmB;AAC/B,IAAI,mBAAO,CAAC,GAAe;AAC3B;AACA;AACA,IAAI,mBAAO,CAAC,GAAgB;AAC5B,IAAI,mBAAO,CAAC,GAAc;AAC1B,IAAI,mBAAO,CAAC,GAAe;AAC3B,IAAI,mBAAO,CAAC,GAAa;AACzB;AACA,CAAC;;;;;;;;AC3BY;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kBAAkB,OAAO,mBAAmB,OAAO,mBAAmB;AACvE,yC;;;;;;;AC5BA,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA,cAAc;;AAEd;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3EA,gC;;;;;;;;ACAA,cAAc;;AAEd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;AC7Ca;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA,0BAA0B;AAC1B;;AAEA,kBAAkB;AAClB;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACvFY;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,yCAAyC,gBAAgB;AACzD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;AC3CW;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,WAAW,mBAAO,CAAC,GAAa;AAChC,gBAAgB,mBAAO,CAAC,GAAW;AACnC;AACA;;AAEA,sBAAsB,mBAAO,CAAC,GAAiB;AAC/C;AACA;;AAEA,qBAAqB,mBAAO,CAAC,GAAgB;AAC7C;AACA;;AAEA,mBAAmB,mBAAO,CAAC,GAAgB;;AAE3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;;AC9Da;;AAEb,qBAAqB,mBAAO,CAAC,GAAQ;AACrC,uBAAuB,mBAAO,CAAC,GAAoB;AACnD,kBAAkB,mBAAO,CAAC,GAAe;AACzC,eAAe,mBAAO,CAAC,GAAW;AAClC,gBAAgB,mBAAO,CAAC,EAAY;AACpC,oBAAoB,mBAAO,CAAC,GAAoB;;AAEhD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;;;;;;;;;;ACvZD;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oBAAoB,OAAO,qBAAqB,OAAO,qBAAqB;AAC7E,2C;;;;;;;ACjCA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;;AAEP;AACA;AACA;;AAEA,WAAW,mBAAO,CAAC,GAAM;AACzB,gBAAgB,mBAAO,CAAC,GAAW;AACnC,iBAAiB,mBAAO,CAAC,GAAkB;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC,YAAY;AACpD;;AAEA;AACA,qCAAqC,YAAY;AACjD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,WAAW,gCAAgC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;;AC/Oa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,eAAe,mBAAO,CAAC,GAAe;AACtC,iBAAiB,mBAAO,CAAC,CAAU;AACnC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,OAAO;AACP,kC;;;;;;;;;;ACba;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,0BAA0B,IAAI,kBAAkB,GAAG,aAAa;AACtF;;AAEA;AACA;;AAEA,OAAO;AACP;;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,EAAY;;AAEhC,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;AAC1C,SAAS;;AAET;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kCAAkC;AAClC,+BAA+B,aAAa,EAAE;AAC9C;AACA;AACA,KAAK;AACL;;;;;;;;ACpDA,cAAc;;AAEd;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,yBAAyB;AACzD;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;AChBA,gC;;;;;;;;ACAY;AACZ;AACA;AACA,UAAU,mBAAO,CAAC,GAAc;AAChC,WAAW,mBAAO,CAAC,GAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4DAA4D,iBAAiB;AAC7E;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA,kBAAkB;AAClB;AACA;AACA;AACA,cAAc;;;;;;;;;;;;AC1Gd,cAAc;AACd;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;ACZa;;AAEb,sBAAsB,OAAO,iBAAiB,cAAc;;AAE5D,cAAc,mBAAO,CAAC,GAAkB;AACxC,yBAAyB,mBAAO,CAAC,GAAsB;;AAEvD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,2BAA2B;;AAE3B;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,wCAAwC,QAAQ,GAAG,kCAAkC;AACrF,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;AACP,OAAO;AACP;;;;;;;;;AC9FY;;AAEZ,UAAU,mBAAO,CAAC,GAAc;AAChC,aAAa,mBAAO,CAAC,GAAM;AAC3B,WAAW,mBAAO,CAAC,GAAa;AAChC,cAAc,mBAAO,CAAC,GAAW;AACjC,mBAAmB,mBAAO,CAAC,GAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;;AC5Da;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,mBAAmB,mBAAO,CAAC,GAAU;AACrC,kBAAkB,mBAAO,CAAC,GAAS;AACnC,eAAe,mBAAO,CAAC,GAAM;AAC7B,kBAAkB,mBAAO,CAAC,GAAS;AACnC,cAAc,mBAAO,CAAC,EAAe;AACrC,qBAAqB,mBAAO,CAAC,GAAsB;AACnD,eAAe,mBAAO,CAAC,GAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,iFAAiF,gDAAgD;AAC9K;AACA;AACA,OAAO;AACP,kC;;;;;;ACvBA,iC;;;;;;;;ACAa;;AAEb,kBAAkB,mBAAO,CAAC,GAAQ;;AAElC;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,mBAAmB;AACtD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;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BAAO,CAAC,GAAmB;AAC/B,IAAI,mBAAO,CAAC,GAAqB;AACjC;AACA,CAAC;;;;;;;;;;ACxBD;;;;;;;;iBAQiB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRZ;;AAEZ,WAAW,mBAAO,CAAC,GAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;;;;;ACzBa;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B,cAAc;AACd;AACA,8BAA8B,kCAAkC;AAChE,CAAC;;;;;;;;;;;;;;;;ACPW;;AAEZ,aAAa,mBAAO,CAAC,GAAM;AAC3B,WAAW,mBAAO,CAAC,GAAa;AAChC,mBAAmB,mBAAO,CAAC,GAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;;;;;;;;;;AClGA,aAAa,mBAAO,CAAC,GAAU;;AAE/B;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,cAAc;;;;;;;ACvDd,gC;;;;;;;;ACAa;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,mBAAmB,mBAAO,CAAC,GAAU;AACrC,kBAAkB,mBAAO,CAAC,GAAS;AACnC,iBAAiB,mBAAO,CAAC,GAAU;AACnC,eAAe,mBAAO,CAAC,GAAM;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,0BAA0B,KAAK;AAC/B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8FAA8F,KAAK;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,qEAAqE;AACnF;AACA,OAAO;AACP,4C;;;;;;;;;;;;ACnDa;;AAEb,oBAAoB,mBAAO,CAAC,GAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,8DAA8D,aAAa;AAC3E,kEAAkE,aAAa;AAC/E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;;;;;;;;AC5DD;;AAEb,YAAY,mBAAO,CAAC,EAAY;AAChC,oBAAoB,mBAAO,CAAC,GAAiB;AAC7C,eAAe,mBAAO,CAAC,GAAoB;AAC3C,eAAe,mBAAO,CAAC,GAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;AC9Ea;;AAEb,WAAW,mBAAO,CAAC,GAAS;;AAE5B;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,yCAAyC,gBAAgB;AACzD;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,yCAAyC,gBAAgB;AACzD;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA,CAAC;;;;;;;;ACpDW;;AAEZ;AACA;AACA,WAAW,SAAS;AACpB,aAAa,GAAG;AAChB;AACA,cAAc;;AAEd,MAAM,cAAc;;AAEpB,C;;;;;;;;;ACXa;;AAEb,oBAAoB,mBAAO,CAAC,GAAoB;AAChD,qBAAqB,mBAAO,CAAC,GAAQ;AACrC,YAAY,mBAAO,CAAC,GAAK;AACzB,YAAY,mBAAO,CAAC,EAAK;AACzB,WAAW,mBAAO,CAAC,EAAI;AACvB,eAAe,mBAAO,CAAC,GAAQ;AAC/B,mBAAmB,mBAAO,CAAC,GAAe;AAC1C,oBAAoB,mBAAO,CAAC,GAAQ;AACpC,eAAe,mBAAO,CAAC,GAAW;;AAElC;AACA,yCAAyC;AACzC,sCAAsC;AACtC,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,4CAA4C;AAC5C;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO,4BAA4B;AAClD,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,2CAA2C,SAAS;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA,gEAAgE;AAChE,sEAAsE;;AAEtE;AACA;AACA;AACA;AACA;;AAEA,0CAA0C;AAC1C;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;;AAEA,8EAA8E;AAC9E;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe;AACf;AACA,eAAe,MAAM,yBAAyB;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uDAAuD,SAAS;AAChE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,SAAS;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;;AAEA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI;AACtE;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;;;;;;;;ACltDd,aAAa,mBAAO,CAAC,GAAU;AAC/B,SAAS,mBAAO,CAAC,EAAI;AACrB,SAAS,mBAAO,CAAC,GAAI;;AAErB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd,cAAc;AACd,cAAc;;;;;;;;AC1ED;AACb,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,wC;;;;;;AChDA,OAAO,GAAG,cAAc;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS,OAAO;AAChB,UAAU,OAAO;AACjB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,oCAAoC;AACxD,0BAA0B,oCAAoC;AAC9D,0BAA0B,oCAAoC;AAC9D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA,WAAW,OAAO;AAClB,GAAG;AACH;;AAEA,OAAO;AACP;AACA;AACA,WAAW,OAAO;AAClB,GAAG;AACH;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;AC18CY;;AAEZ,cAAc;AACd,YAAY,mBAAO,CAAC,EAAa;AACjC;;;;;;;;ACJa;;AAEb,oBAAoB,mBAAO,CAAC,GAA0B;AACtD,kBAAkB,mBAAO,CAAC,GAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnBa;AACb;AACA,4CAA4C;AAC5C;AACA,sBAAsB,OAAO,iBAAiB,cAAc;AAC5D,OAAO;AACP,kCAAkC,mBAAO,CAAC,GAAuB;AACjE,mBAAmB,mBAAO,CAAC,GAAU;AACrC,kBAAkB,mBAAO,CAAC,GAAS;AACnC,eAAe,mBAAO,CAAC,GAAM;AAC7B,iBAAiB,mBAAO,CAAC,CAAkB;AAC3C,cAAc,mBAAO,CAAC,EAAe;AACrC,iBAAiB,mBAAO,CAAC,GAAkB;AAC3C,qBAAqB,mBAAO,CAAC,GAAsB;AACnD,wBAAwB,mBAAO,CAAC,GAAyB;AACzD,kBAAkB,mBAAO,CAAC,GAAmB;AAC7C,kBAAkB,mBAAO,CAAC,GAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yGAAyG,KAAK;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,aAAa,+BAA+B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,KAAK,gBAAgB,S;AAC/F,UAAU;AACV,QAAQ;AACR,gBAAgB;AAChB,eAAe;AACf,aAAa;AACb;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F,gDAAgD;AAC1I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,yCAAyC,mBAAmB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,UAAU;AACtD,4CAA4C,UAAU;AACtD,+CAA+C,2BAA2B,yBAAyB,MAAM,GAAG,KAAK,UAAU,cAAc,KAAK,UAAU,IAAI,SAAS,IAAI,4EAA4E;AACrP,eAAe;AACf,mBAAmB,aAAa;AAChC;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wCAAwC,UAAU,IAAI,SAAS,iBAAiB,uBAAuB;AACvG,wCAAwC,UAAU,IAAI,SAAS,8CAA8C,uBAAuB;AACpI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,UAAU,GAAG;AAChE;AACA,+CAA+C,SAAS,2BAA2B,yBAAyB,MAAM,GAAG,KAAK,UAAU,cAAc;AAClJ,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,6EAA6E,UAAU,IAAI,SAAS,IAAI;AACxG;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW,cAAc,EAAE;AACtD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,kC;;;;;;;ACpPA,eAAe,KAAoD,CAAC,cAAc,KAAK,SAA0K,CAAC,kBAAkB,aAAa,yCAAyC,eAAe,GAAG,IAAI,mCAAmC,4BAA4B,mDAAmD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mBAAmB,WAAW,oHAAoH,2DAA2D,0EAA0E,MAAM,cAAc,KAAK,aAAa,KAAK,sBAAsB,QAAQ,uEAAuE,0CAA0C,OAAO,SAAS,QAAQ,sBAAsB,MAAM,4BAA4B,IAAI,iBAAiB,2DAA2D,MAAM,IAAI,UAAU,SAAS,IAAI,sBAAsB,KAAK,oBAAoB,GAAG,SAAS,MAAM,gCAAgC,GAAG,8BAA8B,YAAY,OAAO,iBAAiB,GAAG,4BAA4B,IAAI,eAAe,GAAG,0DAA0D;;;;;;;;ACAl85N;;AAEZ,WAAW,mBAAO,CAAC,GAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;;;;;;;;;;;;;AC9Ba;;AAEb,kBAAkB,mBAAO,CAAC,GAAQ;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA,4CAA4C,SAAS;AACrD;AACA;;AAEA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kEAAkE,SAAS;AAC3E;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA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","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tvar threw = true;\n \t\ttry {\n \t\t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n \t\t\tthrew = false;\n \t\t} finally {\n \t\t\tif(threw) delete installedModules[moduleId];\n \t\t}\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t__webpack_require__.ab = __dirname + \"/\";\n\n \t// the startup function\n \tfunction startup() {\n \t\t// Load entry module and return exports\n \t\treturn __webpack_require__(429);\n \t};\n \t// initialize runtime\n \truntime(__webpack_require__);\n\n \t// run startup\n \treturn startup();\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Share = void 0;\r\nconst CurlShareOption_1 = require(\"./enum/CurlShareOption\");\r\n// eslint-disable-next-line @typescript-eslint/no-var-requires\r\nconst bindings = require('../lib/binding/node_libcurl.node');\r\n/**\r\n * This is a Node.js wrapper around the binding {@link EasyNativeBinding | native Easy class}.\r\n *\r\n * The only extra is that it provides a static field `option` and `lock`.\r\n *\r\n * @public\r\n */\r\nclass Share extends bindings.Share {\r\n}\r\nexports.Share = Share;\r\n/**\r\n * Options to be used with {@link setOpt | `setOpt`}.\r\n *\r\n * See the official documentation of [`curl_share_setopt()`](http://curl.haxx.se/libcurl/c/curl_share_setopt.html)\r\n * for reference.\r\n *\r\n * `CURLSHOPT_SHARE` becomes `Share.option.SHARE`\r\n *\r\n * @deprecated Use {@link CurlShareOption|`CurlShareOption`} directly instead.\r\n */\r\nShare.option = CurlShareOption_1.CurlShareOption;\r\n//# sourceMappingURL=Share.js.map","'use strict';\nconst os = require('os');\nconst macosRelease = require('macos-release');\nconst winRelease = require('windows-release');\n\nconst osName = (platform, release) => {\n\tif (!platform && release) {\n\t\tthrow new Error('You can\\'t specify a `release` without specifying `platform`');\n\t}\n\n\tplatform = platform || os.platform();\n\n\tlet id;\n\n\tif (platform === 'darwin') {\n\t\tif (!release && os.platform() === 'darwin') {\n\t\t\trelease = os.release();\n\t\t}\n\n\t\tconst prefix = release ? (Number(release.split('.')[0]) > 15 ? 'macOS' : 'OS X') : 'macOS';\n\t\tid = release ? macosRelease(release).name : '';\n\t\treturn prefix + (id ? ' ' + id : '');\n\t}\n\n\tif (platform === 'linux') {\n\t\tif (!release && os.platform() === 'linux') {\n\t\t\trelease = os.release();\n\t\t}\n\n\t\tid = release ? release.replace(/^(\\d+\\.\\d+).*/, '$1') : '';\n\t\treturn 'Linux' + (id ? ' ' + id : '');\n\t}\n\n\tif (platform === 'win32') {\n\t\tif (!release && os.platform() === 'win32') {\n\t\t\trelease = os.release();\n\t\t}\n\n\t\tid = release ? winRelease(release) : '';\n\t\treturn 'Windows' + (id ? ' ' + id : '');\n\t}\n\n\treturn platform;\n};\n\nmodule.exports = osName;\n","'use strict';\n\nconst Transform = require('stream').Transform;\n\nclass LastNewline extends Transform {\n constructor() {\n super();\n this.lastByte = false;\n }\n\n _transform(chunk, encoding, done) {\n if (chunk.length) {\n this.lastByte = chunk[chunk.length - 1];\n }\n\n this.push(chunk);\n done();\n }\n\n _flush(done) {\n if (this.lastByte === 0x0a) {\n return done();\n }\n if (this.lastByte === 0x0d) {\n this.push(Buffer.from('\\n'));\n return done();\n }\n this.push(Buffer.from('\\r\\n'));\n return done();\n }\n}\n\nmodule.exports = LastNewline;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getConfig = void 0;\nconst fs_extra_1 = require(\"fs-extra\");\nconst js_yaml_1 = require(\"js-yaml\");\nconst path_1 = require(\"path\");\nlet __config = undefined;\nconst getConfig = async () => {\n if (__config)\n return __config;\n const config = js_yaml_1.safeLoad(await fs_extra_1.readFile(path_1.join(\".\", \".upptimerc.yml\"), \"utf8\"));\n __config = config;\n return config;\n};\nexports.getConfig = getConfig;\n//# sourceMappingURL=config.js.map","var os = require('os');\nvar common = require('./common');\n\ncommon.register('cd', _cd, {});\n\n//@\n//@ ### cd([dir])\n//@\n//@ Changes to directory `dir` for the duration of the script. Changes to home\n//@ directory if no argument is supplied.\nfunction _cd(options, dir) {\n if (!dir) dir = os.homedir();\n\n if (dir === '-') {\n if (!process.env.OLDPWD) {\n common.error('could not find previous directory');\n } else {\n dir = process.env.OLDPWD;\n }\n }\n\n try {\n var curDir = process.cwd();\n process.chdir(dir);\n process.env.OLDPWD = curDir;\n } catch (e) {\n // something went wrong, let's figure out the error\n var err;\n try {\n common.statFollowLinks(dir); // if this succeeds, it must be some sort of file\n err = 'not a directory: ' + dir;\n } catch (e2) {\n err = 'no such file or directory: ' + dir;\n }\n if (err) common.error(err);\n }\n return '';\n}\nmodule.exports = _cd;\n","'use strict';\n\n\nvar loader = require('./js-yaml/loader');\nvar dumper = require('./js-yaml/dumper');\n\n\nfunction deprecated(name) {\n return function () {\n throw new Error('Function ' + name + ' is deprecated and cannot be used.');\n };\n}\n\n\nmodule.exports.Type = require('./js-yaml/type');\nmodule.exports.Schema = require('./js-yaml/schema');\nmodule.exports.FAILSAFE_SCHEMA = require('./js-yaml/schema/failsafe');\nmodule.exports.JSON_SCHEMA = require('./js-yaml/schema/json');\nmodule.exports.CORE_SCHEMA = require('./js-yaml/schema/core');\nmodule.exports.DEFAULT_SAFE_SCHEMA = require('./js-yaml/schema/default_safe');\nmodule.exports.DEFAULT_FULL_SCHEMA = require('./js-yaml/schema/default_full');\nmodule.exports.load = loader.load;\nmodule.exports.loadAll = loader.loadAll;\nmodule.exports.safeLoad = loader.safeLoad;\nmodule.exports.safeLoadAll = loader.safeLoadAll;\nmodule.exports.dump = dumper.dump;\nmodule.exports.safeDump = dumper.safeDump;\nmodule.exports.YAMLException = require('./js-yaml/exception');\n\n// Deprecated schema names from JS-YAML 2.0.x\nmodule.exports.MINIMAL_SCHEMA = require('./js-yaml/schema/failsafe');\nmodule.exports.SAFE_SCHEMA = require('./js-yaml/schema/default_safe');\nmodule.exports.DEFAULT_SCHEMA = require('./js-yaml/schema/default_full');\n\n// Deprecated functions from JS-YAML 1.x.x\nmodule.exports.scan = deprecated('scan');\nmodule.exports.parse = deprecated('parse');\nmodule.exports.compose = deprecated('compose');\nmodule.exports.addConstructor = deprecated('addConstructor');\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","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","module.exports = require(\"tls\");",null,"// Standard YAML's JSON schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2803231\n//\n// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n// So, this schema is not such strict as defined in the YAML specification.\n// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./failsafe')\n ],\n implicit: [\n require('../type/null'),\n require('../type/bool'),\n require('../type/int'),\n require('../type/float')\n ]\n});\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.mergeChunks = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n/**\r\n * This function is used to merge the buffers\r\n * that were stored while the request was being processed.\r\n *\r\n * @internal\r\n */\r\nfunction mergeChunks(chunks, length) {\r\n // We init the whole buffer below, so no need to use, the slower, Buffer.alloc\r\n const buffer = Buffer.allocUnsafe(length);\r\n const chunksLen = chunks.length;\r\n let currentPos = 0;\r\n for (let i = 0; i < chunksLen; i += 1) {\r\n const chunk = chunks[i];\r\n chunk.copy(buffer, currentPos);\r\n currentPos += chunk.length;\r\n }\r\n return buffer;\r\n}\r\nexports.mergeChunks = mergeChunks;\r\n//# sourceMappingURL=mergeChunks.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n\n return \"\";\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","'use strict'\n\nmodule.exports = {\n copySync: require('./copy-sync')\n}\n","'use strict';\n\nvar common = require('../common');\nvar Type = require('../type');\n\nfunction isHexCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) ||\n ((0x41/* A */ <= c) && (c <= 0x46/* F */)) ||\n ((0x61/* a */ <= c) && (c <= 0x66/* f */));\n}\n\nfunction isOctCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */));\n}\n\nfunction isDecCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */));\n}\n\nfunction resolveYamlInteger(data) {\n if (data === null) return false;\n\n var max = data.length,\n index = 0,\n hasDigits = false,\n ch;\n\n if (!max) return false;\n\n ch = data[index];\n\n // sign\n if (ch === '-' || ch === '+') {\n ch = data[++index];\n }\n\n if (ch === '0') {\n // 0\n if (index + 1 === max) return true;\n ch = data[++index];\n\n // base 2, base 8, base 16\n\n if (ch === 'b') {\n // base 2\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch !== '0' && ch !== '1') return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n\n if (ch === 'x') {\n // base 16\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isHexCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n // base 8\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isOctCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n // base 10 (except 0) or base 60\n\n // value should not start with `_`;\n if (ch === '_') return false;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch === ':') break;\n if (!isDecCode(data.charCodeAt(index))) {\n return false;\n }\n hasDigits = true;\n }\n\n // Should have digits and should not end with `_`\n if (!hasDigits || ch === '_') return false;\n\n // if !base60 - done;\n if (ch !== ':') return true;\n\n // base60 almost not used, no needs to optimize\n return /^(:[0-5]?[0-9])+$/.test(data.slice(index));\n}\n\nfunction constructYamlInteger(data) {\n var value = data, sign = 1, ch, base, digits = [];\n\n if (value.indexOf('_') !== -1) {\n value = value.replace(/_/g, '');\n }\n\n ch = value[0];\n\n if (ch === '-' || ch === '+') {\n if (ch === '-') sign = -1;\n value = value.slice(1);\n ch = value[0];\n }\n\n if (value === '0') return 0;\n\n if (ch === '0') {\n if (value[1] === 'b') return sign * parseInt(value.slice(2), 2);\n if (value[1] === 'x') return sign * parseInt(value, 16);\n return sign * parseInt(value, 8);\n }\n\n if (value.indexOf(':') !== -1) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseInt(v, 10));\n });\n\n value = 0;\n base = 1;\n\n digits.forEach(function (d) {\n value += (d * base);\n base *= 60;\n });\n\n return sign * value;\n\n }\n\n return sign * parseInt(value, 10);\n}\n\nfunction isInteger(object) {\n return (Object.prototype.toString.call(object)) === '[object Number]' &&\n (object % 1 === 0 && !common.isNegativeZero(object));\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:int', {\n kind: 'scalar',\n resolve: resolveYamlInteger,\n construct: constructYamlInteger,\n predicate: isInteger,\n represent: {\n binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); },\n octal: function (obj) { return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1); },\n decimal: function (obj) { return obj.toString(10); },\n /* eslint-disable max-len */\n hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); }\n },\n defaultStyle: 'decimal',\n styleAliases: {\n binary: [ 2, 'bin' ],\n octal: [ 8, 'oct' ],\n decimal: [ 10, 'dec' ],\n hexadecimal: [ 16, 'hex' ]\n }\n});\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n//# sourceMappingURL=CurlGlobalInit.js.map","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","'use strict';\n\nconst Stream = require('stream').Stream;\nconst fetch = require('../fetch');\nconst crypto = require('crypto');\nconst shared = require('../shared');\n\n/**\n * XOAUTH2 access_token generator for Gmail.\n * Create client ID for web applications in Google API console to use it.\n * See Offline Access for receiving the needed refreshToken for an user\n * https://developers.google.com/accounts/docs/OAuth2WebServer#offline\n *\n * Usage for generating access tokens with a custom method using provisionCallback:\n * provisionCallback(user, renew, callback)\n * * user is the username to get the token for\n * * renew is a boolean that if true indicates that existing token failed and needs to be renewed\n * * callback is the callback to run with (error, accessToken [, expires])\n * * accessToken is a string\n * * expires is an optional expire time in milliseconds\n * If provisionCallback is used, then Nodemailer does not try to attempt generating the token by itself\n *\n * @constructor\n * @param {Object} options Client information for token generation\n * @param {String} options.user User e-mail address\n * @param {String} options.clientId Client ID value\n * @param {String} options.clientSecret Client secret value\n * @param {String} options.refreshToken Refresh token for an user\n * @param {String} options.accessUrl Endpoint for token generation, defaults to 'https://accounts.google.com/o/oauth2/token'\n * @param {String} options.accessToken An existing valid accessToken\n * @param {String} options.privateKey Private key for JSW\n * @param {Number} options.expires Optional Access Token expire time in ms\n * @param {Number} options.timeout Optional TTL for Access Token in seconds\n * @param {Function} options.provisionCallback Function to run when a new access token is required\n */\nclass XOAuth2 extends Stream {\n constructor(options, logger) {\n super();\n\n this.options = options || {};\n\n if (options && options.serviceClient) {\n if (!options.privateKey || !options.user) {\n setImmediate(() => this.emit('error', new Error('Options \"privateKey\" and \"user\" are required for service account!')));\n return;\n }\n\n let serviceRequestTimeout = Math.min(Math.max(Number(this.options.serviceRequestTimeout) || 0, 0), 3600);\n this.options.serviceRequestTimeout = serviceRequestTimeout || 5 * 60;\n }\n\n this.logger = shared.getLogger(\n {\n logger\n },\n {\n component: this.options.component || 'OAuth2'\n }\n );\n\n this.provisionCallback = typeof this.options.provisionCallback === 'function' ? this.options.provisionCallback : false;\n\n this.options.accessUrl = this.options.accessUrl || 'https://accounts.google.com/o/oauth2/token';\n this.options.customHeaders = this.options.customHeaders || {};\n this.options.customParams = this.options.customParams || {};\n\n this.accessToken = this.options.accessToken || false;\n\n if (this.options.expires && Number(this.options.expires)) {\n this.expires = this.options.expires;\n } else {\n let timeout = Math.max(Number(this.options.timeout) || 0, 0);\n this.expires = (timeout && Date.now() + timeout * 1000) || 0;\n }\n }\n\n /**\n * Returns or generates (if previous has expired) a XOAuth2 token\n *\n * @param {Boolean} renew If false then use cached access token (if available)\n * @param {Function} callback Callback function with error object and token string\n */\n getToken(renew, callback) {\n if (!renew && this.accessToken && (!this.expires || this.expires > Date.now())) {\n return callback(null, this.accessToken);\n }\n\n let generateCallback = (...args) => {\n if (args[0]) {\n this.logger.error(\n {\n err: args[0],\n tnx: 'OAUTH2',\n user: this.options.user,\n action: 'renew'\n },\n 'Failed generating new Access Token for %s',\n this.options.user\n );\n } else {\n this.logger.info(\n {\n tnx: 'OAUTH2',\n user: this.options.user,\n action: 'renew'\n },\n 'Generated new Access Token for %s',\n this.options.user\n );\n }\n callback(...args);\n };\n\n if (this.provisionCallback) {\n this.provisionCallback(this.options.user, !!renew, (err, accessToken, expires) => {\n if (!err && accessToken) {\n this.accessToken = accessToken;\n this.expires = expires || 0;\n }\n generateCallback(err, accessToken);\n });\n } else {\n this.generateToken(generateCallback);\n }\n }\n\n /**\n * Updates token values\n *\n * @param {String} accessToken New access token\n * @param {Number} timeout Access token lifetime in seconds\n *\n * Emits 'token': { user: User email-address, accessToken: the new accessToken, timeout: TTL in seconds}\n */\n updateToken(accessToken, timeout) {\n this.accessToken = accessToken;\n timeout = Math.max(Number(timeout) || 0, 0);\n this.expires = (timeout && Date.now() + timeout * 1000) || 0;\n\n this.emit('token', {\n user: this.options.user,\n accessToken: accessToken || '',\n expires: this.expires\n });\n }\n\n /**\n * Generates a new XOAuth2 token with the credentials provided at initialization\n *\n * @param {Function} callback Callback function with error object and token string\n */\n generateToken(callback) {\n let urlOptions;\n let loggedUrlOptions;\n if (this.options.serviceClient) {\n // service account - https://developers.google.com/identity/protocols/OAuth2ServiceAccount\n let iat = Math.floor(Date.now() / 1000); // unix time\n let tokenData = {\n iss: this.options.serviceClient,\n scope: this.options.scope || 'https://mail.google.com/',\n sub: this.options.user,\n aud: this.options.accessUrl,\n iat,\n exp: iat + this.options.serviceRequestTimeout\n };\n let token;\n try {\n token = this.jwtSignRS256(tokenData);\n } catch (err) {\n return callback(new Error('Can\\x27t generate token. Check your auth options'));\n }\n\n urlOptions = {\n grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',\n assertion: token\n };\n\n loggedUrlOptions = {\n grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',\n assertion: tokenData\n };\n } else {\n if (!this.options.refreshToken) {\n return callback(new Error('Can\\x27t create new access token for user'));\n }\n\n // web app - https://developers.google.com/identity/protocols/OAuth2WebServer\n urlOptions = {\n client_id: this.options.clientId || '',\n client_secret: this.options.clientSecret || '',\n refresh_token: this.options.refreshToken,\n grant_type: 'refresh_token'\n };\n\n loggedUrlOptions = {\n client_id: this.options.clientId || '',\n client_secret: (this.options.clientSecret || '').substr(0, 6) + '...',\n refresh_token: (this.options.refreshToken || '').substr(0, 6) + '...',\n grant_type: 'refresh_token'\n };\n }\n\n Object.keys(this.options.customParams).forEach(key => {\n urlOptions[key] = this.options.customParams[key];\n loggedUrlOptions[key] = this.options.customParams[key];\n });\n\n this.logger.debug(\n {\n tnx: 'OAUTH2',\n user: this.options.user,\n action: 'generate'\n },\n 'Requesting token using: %s',\n JSON.stringify(loggedUrlOptions)\n );\n\n this.postRequest(this.options.accessUrl, urlOptions, this.options, (error, body) => {\n let data;\n\n if (error) {\n return callback(error);\n }\n\n try {\n data = JSON.parse(body.toString());\n } catch (E) {\n return callback(E);\n }\n\n if (!data || typeof data !== 'object') {\n this.logger.debug(\n {\n tnx: 'OAUTH2',\n user: this.options.user,\n action: 'post'\n },\n 'Response: %s',\n (body || '').toString()\n );\n return callback(new Error('Invalid authentication response'));\n }\n\n let logData = {};\n Object.keys(data).forEach(key => {\n if (key !== 'access_token') {\n logData[key] = data[key];\n } else {\n logData[key] = (data[key] || '').toString().substr(0, 6) + '...';\n }\n });\n\n this.logger.debug(\n {\n tnx: 'OAUTH2',\n user: this.options.user,\n action: 'post'\n },\n 'Response: %s',\n JSON.stringify(logData)\n );\n\n if (data.error) {\n // Error Response : https://tools.ietf.org/html/rfc6749#section-5.2\n let errorMessage = data.error;\n if (data.error_description) {\n errorMessage += ': ' + data.error_description;\n }\n if (data.error_uri) {\n errorMessage += ' (' + data.error_uri + ')';\n }\n return callback(new Error(errorMessage));\n }\n\n if (data.access_token) {\n this.updateToken(data.access_token, data.expires_in);\n return callback(null, this.accessToken);\n }\n\n return callback(new Error('No access token'));\n });\n }\n\n /**\n * Converts an access_token and user id into a base64 encoded XOAuth2 token\n *\n * @param {String} [accessToken] Access token string\n * @return {String} Base64 encoded token for IMAP or SMTP login\n */\n buildXOAuth2Token(accessToken) {\n let authData = ['user=' + (this.options.user || ''), 'auth=Bearer ' + (accessToken || this.accessToken), '', ''];\n return Buffer.from(authData.join('\\x01'), 'utf-8').toString('base64');\n }\n\n /**\n * Custom POST request handler.\n * This is only needed to keep paths short in Windows – usually this module\n * is a dependency of a dependency and if it tries to require something\n * like the request module the paths get way too long to handle for Windows.\n * As we do only a simple POST request we do not actually require complicated\n * logic support (no redirects, no nothing) anyway.\n *\n * @param {String} url Url to POST to\n * @param {String|Buffer} payload Payload to POST\n * @param {Function} callback Callback function with (err, buff)\n */\n postRequest(url, payload, params, callback) {\n let returned = false;\n\n let chunks = [];\n let chunklen = 0;\n\n let req = fetch(url, {\n method: 'post',\n headers: params.customHeaders,\n body: payload,\n allowErrorResponse: true\n });\n\n req.on('readable', () => {\n let chunk;\n while ((chunk = req.read()) !== null) {\n chunks.push(chunk);\n chunklen += chunk.length;\n }\n });\n\n req.once('error', err => {\n if (returned) {\n return;\n }\n returned = true;\n return callback(err);\n });\n\n req.once('end', () => {\n if (returned) {\n return;\n }\n returned = true;\n return callback(null, Buffer.concat(chunks, chunklen));\n });\n }\n\n /**\n * Encodes a buffer or a string into Base64url format\n *\n * @param {Buffer|String} data The data to convert\n * @return {String} The encoded string\n */\n toBase64URL(data) {\n if (typeof data === 'string') {\n data = Buffer.from(data);\n }\n\n return data\n .toString('base64')\n .replace(/[=]+/g, '') // remove '='s\n .replace(/\\+/g, '-') // '+' → '-'\n .replace(/\\//g, '_'); // '/' → '_'\n }\n\n /**\n * Creates a JSON Web Token signed with RS256 (SHA256 + RSA)\n *\n * @param {Object} payload The payload to include in the generated token\n * @return {String} The generated and signed token\n */\n jwtSignRS256(payload) {\n payload = ['{\"alg\":\"RS256\",\"typ\":\"JWT\"}', JSON.stringify(payload)].map(val => this.toBase64URL(val)).join('.');\n let signature = crypto.createSign('RSA-SHA256').update(payload).sign(this.options.privateKey);\n return payload + '.' + this.toBase64URL(signature);\n }\n}\n\nmodule.exports = XOAuth2;\n","module.exports = require('./lib/axios');","// Adapted from https://github.com/sindresorhus/make-dir\n// Copyright (c) Sindre Sorhus (sindresorhus.com)\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict'\nconst fs = require('../fs')\nconst path = require('path')\nconst atLeastNode = require('at-least-node')\n\nconst useNativeRecursiveOption = atLeastNode('10.12.0')\n\n// https://github.com/nodejs/node/issues/8987\n// https://github.com/libuv/libuv/pull/1088\nconst checkPath = pth => {\n if (process.platform === 'win32') {\n const pathHasInvalidWinCharacters = /[<>:\"|?*]/.test(pth.replace(path.parse(pth).root, ''))\n\n if (pathHasInvalidWinCharacters) {\n const error = new Error(`Path contains invalid characters: ${pth}`)\n error.code = 'EINVAL'\n throw error\n }\n }\n}\n\nconst processOptions = options => {\n const defaults = { mode: 0o777 }\n if (typeof options === 'number') options = { mode: options }\n return { ...defaults, ...options }\n}\n\nconst permissionError = pth => {\n // This replicates the exception of `fs.mkdir` with native the\n // `recusive` option when run on an invalid drive under Windows.\n const error = new Error(`operation not permitted, mkdir '${pth}'`)\n error.code = 'EPERM'\n error.errno = -4048\n error.path = pth\n error.syscall = 'mkdir'\n return error\n}\n\nmodule.exports.makeDir = async (input, options) => {\n checkPath(input)\n options = processOptions(options)\n\n if (useNativeRecursiveOption) {\n const pth = path.resolve(input)\n\n return fs.mkdir(pth, {\n mode: options.mode,\n recursive: true\n })\n }\n\n const make = async pth => {\n try {\n await fs.mkdir(pth, options.mode)\n } catch (error) {\n if (error.code === 'EPERM') {\n throw error\n }\n\n if (error.code === 'ENOENT') {\n if (path.dirname(pth) === pth) {\n throw permissionError(pth)\n }\n\n if (error.message.includes('null bytes')) {\n throw error\n }\n\n await make(path.dirname(pth))\n return make(pth)\n }\n\n try {\n const stats = await fs.stat(pth)\n if (!stats.isDirectory()) {\n // This error is never exposed to the user\n // it is caught below, and the original error is thrown\n throw new Error('The path is not a directory')\n }\n } catch {\n throw error\n }\n }\n }\n\n return make(path.resolve(input))\n}\n\nmodule.exports.makeDirSync = (input, options) => {\n checkPath(input)\n options = processOptions(options)\n\n if (useNativeRecursiveOption) {\n const pth = path.resolve(input)\n\n return fs.mkdirSync(pth, {\n mode: options.mode,\n recursive: true\n })\n }\n\n const make = pth => {\n try {\n fs.mkdirSync(pth, options.mode)\n } catch (error) {\n if (error.code === 'EPERM') {\n throw error\n }\n\n if (error.code === 'ENOENT') {\n if (path.dirname(pth) === pth) {\n throw permissionError(pth)\n }\n\n if (error.message.includes('null bytes')) {\n throw error\n }\n\n make(path.dirname(pth))\n return make(pth)\n }\n\n try {\n if (!fs.statSync(pth).isDirectory()) {\n // This error is never exposed to the user\n // it is caught below, and the original error is thrown\n throw new Error('The path is not a directory')\n }\n } catch {\n throw error\n }\n }\n }\n\n return make(path.resolve(input))\n}\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('tail', _tail, {\n canReceivePipe: true,\n cmdOptions: {\n 'n': 'numLines',\n },\n});\n\n//@\n//@ ### tail([{'-n': \\},] file [, file ...])\n//@ ### tail([{'-n': \\},] file_array)\n//@\n//@ Available options:\n//@\n//@ + `-n `: Show the last `` lines of `file`s\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ var str = tail({'-n': 1}, 'file*.txt');\n//@ var str = tail('file1', 'file2');\n//@ var str = tail(['file1', 'file2']); // same as above\n//@ ```\n//@\n//@ Read the end of a `file`.\nfunction _tail(options, files) {\n var tail = [];\n var pipe = common.readFromPipe();\n\n if (!files && !pipe) common.error('no paths given');\n\n var idx = 1;\n if (options.numLines === true) {\n idx = 2;\n options.numLines = Number(arguments[1]);\n } else if (options.numLines === false) {\n options.numLines = 10;\n }\n options.numLines = -1 * Math.abs(options.numLines);\n files = [].slice.call(arguments, idx);\n\n if (pipe) {\n files.unshift('-');\n }\n\n var shouldAppendNewline = false;\n files.forEach(function (file) {\n if (file !== '-') {\n if (!fs.existsSync(file)) {\n common.error('no such file or directory: ' + file, { continue: true });\n return;\n } else if (common.statFollowLinks(file).isDirectory()) {\n common.error(\"error reading '\" + file + \"': Is a directory\", {\n continue: true,\n });\n return;\n }\n }\n\n var contents = file === '-' ? pipe : fs.readFileSync(file, 'utf8');\n\n var lines = contents.split('\\n');\n if (lines[lines.length - 1] === '') {\n lines.pop();\n shouldAppendNewline = true;\n } else {\n shouldAppendNewline = false;\n }\n\n tail = tail.concat(lines.slice(options.numLines));\n });\n\n if (shouldAppendNewline) {\n tail.push(''); // to add a trailing newline once we join\n }\n return tail.join('\\n');\n}\nmodule.exports = _tail;\n","var fs = require('fs');\nvar path = require('path');\nvar common = require('./common');\nvar cp = require('./cp');\nvar rm = require('./rm');\n\ncommon.register('mv', _mv, {\n cmdOptions: {\n 'f': '!no_force',\n 'n': 'no_force',\n },\n});\n\n// Checks if cureent file was created recently\nfunction checkRecentCreated(sources, index) {\n var lookedSource = sources[index];\n return sources.slice(0, index).some(function (src) {\n return path.basename(src) === path.basename(lookedSource);\n });\n}\n\n//@\n//@ ### mv([options ,] source [, source ...], dest')\n//@ ### mv([options ,] source_array, dest')\n//@\n//@ Available options:\n//@\n//@ + `-f`: force (default behavior)\n//@ + `-n`: no-clobber\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ mv('-n', 'file', 'dir/');\n//@ mv('file1', 'file2', 'dir/');\n//@ mv(['file1', 'file2'], 'dir/'); // same as above\n//@ ```\n//@\n//@ Moves `source` file(s) to `dest`.\nfunction _mv(options, sources, dest) {\n // Get sources, dest\n if (arguments.length < 3) {\n common.error('missing and/or ');\n } else if (arguments.length > 3) {\n sources = [].slice.call(arguments, 1, arguments.length - 1);\n dest = arguments[arguments.length - 1];\n } else if (typeof sources === 'string') {\n sources = [sources];\n } else {\n // TODO(nate): figure out if we actually need this line\n common.error('invalid arguments');\n }\n\n var exists = fs.existsSync(dest);\n var stats = exists && common.statFollowLinks(dest);\n\n // Dest is not existing dir, but multiple sources given\n if ((!exists || !stats.isDirectory()) && sources.length > 1) {\n common.error('dest is not a directory (too many sources)');\n }\n\n // Dest is an existing file, but no -f given\n if (exists && stats.isFile() && options.no_force) {\n common.error('dest file already exists: ' + dest);\n }\n\n sources.forEach(function (src, srcIndex) {\n if (!fs.existsSync(src)) {\n common.error('no such file or directory: ' + src, { continue: true });\n return; // skip file\n }\n\n // If here, src exists\n\n // When copying to '/path/dir':\n // thisDest = '/path/dir/file1'\n var thisDest = dest;\n if (fs.existsSync(dest) && common.statFollowLinks(dest).isDirectory()) {\n thisDest = path.normalize(dest + '/' + path.basename(src));\n }\n\n var thisDestExists = fs.existsSync(thisDest);\n\n if (thisDestExists && checkRecentCreated(sources, srcIndex)) {\n // cannot overwrite file created recently in current execution, but we want to continue copying other files\n if (!options.no_force) {\n common.error(\"will not overwrite just-created '\" + thisDest + \"' with '\" + src + \"'\", { continue: true });\n }\n return;\n }\n\n if (fs.existsSync(thisDest) && options.no_force) {\n common.error('dest file already exists: ' + thisDest, { continue: true });\n return; // skip file\n }\n\n if (path.resolve(src) === path.dirname(path.resolve(thisDest))) {\n common.error('cannot move to self: ' + src, { continue: true });\n return; // skip file\n }\n\n try {\n fs.renameSync(src, thisDest);\n } catch (e) {\n /* istanbul ignore next */\n if (e.code === 'EXDEV') {\n // If we're trying to `mv` to an external partition, we'll actually need\n // to perform a copy and then clean up the original file. If either the\n // copy or the rm fails with an exception, we should allow this\n // exception to pass up to the top level.\n cp('-r', src, thisDest);\n rm('-rf', src);\n }\n }\n }); // forEach(src)\n return '';\n} // mv\nmodule.exports = _mv;\n","'use strict';\n\nmodule.exports = string => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a \\unnnn escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\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;\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.replace(/\\s*\\n\\s*/g, ' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","\"use strict\";\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Sanitizes an input into a string so it can be passed into issueCommand safely\n * @param input input to sanitize into a string\n */\nfunction toCommandValue(input) {\n if (input === null || input === undefined) {\n return '';\n }\n else if (typeof input === 'string' || input instanceof String) {\n return input;\n }\n return JSON.stringify(input);\n}\nexports.toCommandValue = toCommandValue;\n//# sourceMappingURL=utils.js.map","module.exports = require(\"os\");","module.exports = which\nwhich.sync = whichSync\n\nvar isWindows = process.platform === 'win32' ||\n process.env.OSTYPE === 'cygwin' ||\n process.env.OSTYPE === 'msys'\n\nvar path = require('path')\nvar COLON = isWindows ? ';' : ':'\nvar isexe = require('isexe')\n\nfunction getNotFoundError (cmd) {\n var er = new Error('not found: ' + cmd)\n er.code = 'ENOENT'\n\n return er\n}\n\nfunction getPathInfo (cmd, opt) {\n var colon = opt.colon || COLON\n var pathEnv = opt.path || process.env.PATH || ''\n var pathExt = ['']\n\n pathEnv = pathEnv.split(colon)\n\n var pathExtExe = ''\n if (isWindows) {\n pathEnv.unshift(process.cwd())\n pathExtExe = (opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM')\n pathExt = pathExtExe.split(colon)\n\n\n // Always test the cmd itself first. isexe will check to make sure\n // it's found in the pathExt set.\n if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')\n pathExt.unshift('')\n }\n\n // If it has a slash, then we don't bother searching the pathenv.\n // just check the file itself, and that's it.\n if (cmd.match(/\\//) || isWindows && cmd.match(/\\\\/))\n pathEnv = ['']\n\n return {\n env: pathEnv,\n ext: pathExt,\n extExe: pathExtExe\n }\n}\n\nfunction which (cmd, opt, cb) {\n if (typeof opt === 'function') {\n cb = opt\n opt = {}\n }\n\n var info = getPathInfo(cmd, opt)\n var pathEnv = info.env\n var pathExt = info.ext\n var pathExtExe = info.extExe\n var found = []\n\n ;(function F (i, l) {\n if (i === l) {\n if (opt.all && found.length)\n return cb(null, found)\n else\n return cb(getNotFoundError(cmd))\n }\n\n var pathPart = pathEnv[i]\n if (pathPart.charAt(0) === '\"' && pathPart.slice(-1) === '\"')\n pathPart = pathPart.slice(1, -1)\n\n var p = path.join(pathPart, cmd)\n if (!pathPart && (/^\\.[\\\\\\/]/).test(cmd)) {\n p = cmd.slice(0, 2) + p\n }\n ;(function E (ii, ll) {\n if (ii === ll) return F(i + 1, l)\n var ext = pathExt[ii]\n isexe(p + ext, { pathExt: pathExtExe }, function (er, is) {\n if (!er && is) {\n if (opt.all)\n found.push(p + ext)\n else\n return cb(null, p + ext)\n }\n return E(ii + 1, ll)\n })\n })(0, pathExt.length)\n })(0, pathEnv.length)\n}\n\nfunction whichSync (cmd, opt) {\n opt = opt || {}\n\n var info = getPathInfo(cmd, opt)\n var pathEnv = info.env\n var pathExt = info.ext\n var pathExtExe = info.extExe\n var found = []\n\n for (var i = 0, l = pathEnv.length; i < l; i ++) {\n var pathPart = pathEnv[i]\n if (pathPart.charAt(0) === '\"' && pathPart.slice(-1) === '\"')\n pathPart = pathPart.slice(1, -1)\n\n var p = path.join(pathPart, cmd)\n if (!pathPart && /^\\.[\\\\\\/]/.test(cmd)) {\n p = cmd.slice(0, 2) + p\n }\n for (var j = 0, ll = pathExt.length; j < ll; j ++) {\n var cur = p + pathExt[j]\n var is\n try {\n is = isexe.sync(cur, { pathExt: pathExtExe })\n if (is) {\n if (opt.all)\n found.push(cur)\n else\n return cur\n }\n } catch (ex) {}\n }\n }\n\n if (opt.all && found.length)\n return found\n\n if (opt.nothrow)\n return null\n\n throw getNotFoundError(cmd)\n}\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlSslOpt = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898fccafc5d6cd04f6235f283cfbd/include/curl/curl.h#L7\r\n/**\r\n * Object with constants for option `SSL_OPTIONS` and/or `PROXY_SSL_OPTIONS`\r\n *\r\n * `CURLSSLOPT_ALLOW_BEAST` becomes `CurlSslOpt.AllowBeast`\r\n *\r\n * @public\r\n */\r\nvar CurlSslOpt;\r\n(function (CurlSslOpt) {\r\n /**\r\n * Tells libcurl to allow the BEAST SSL vulnerability in the\r\n * name of improving interoperability with older servers. Some SSL libraries\r\n * have introduced work-arounds for this flaw but those work-arounds sometimes\r\n * make the SSL communication fail. To regain functionality with those broken\r\n * servers, a user can this way allow the vulnerability back.\r\n */\r\n CurlSslOpt[CurlSslOpt[\"AllowBeast\"] = 1] = \"AllowBeast\";\r\n /**\r\n * Tells libcurl to disable certificate revocation checks for those\r\n * SSL backends where such behavior is present.\r\n */\r\n CurlSslOpt[CurlSslOpt[\"NoRevoke\"] = 2] = \"NoRevoke\";\r\n /**\r\n * Tells libcurl to *NOT* accept a partial certificate chain\r\n * if possible. The OpenSSL backend has this ability.\r\n */\r\n CurlSslOpt[CurlSslOpt[\"NoPartialChain\"] = 4] = \"NoPartialChain\";\r\n})(CurlSslOpt = exports.CurlSslOpt || (exports.CurlSslOpt = {}));\r\n//# sourceMappingURL=CurlSslOpt.js.map","!function(e,u){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=u():\"function\"==typeof define&&define.amd?define(u):((e=\"undefined\"!=typeof globalThis?globalThis:e||self).prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.meriyah=u())}(this,(function(){\"use strict\";var e=function(e,u){const t=new SyntaxError(e+\" (\"+u.start.line+\":\"+u.start.column+\")\");return t.loc=u,t};function u(e,u,t){return e(t={path:u,exports:{},require:function(e,u){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==u&&t.path)}},t.exports),t.exports}function t(e){return e&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var n=Object.freeze({__proto__:null,default:{EOL:\"\\n\",platform:()=>\"browser\",cpus:()=>[{model:\"Prettier\"}]}});const o=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");const u=e.match(/(?:\\r?\\n)/g)||[];if(0===u.length)return;const t=u.filter((e=>\"\\r\\n\"===e)).length;return t>u.length-t?\"\\r\\n\":\"\\n\"};var r=o;r.graceful=e=>\"string\"==typeof e&&o(e)||\"\\n\";var s=t(n),i=u((function(e,u){function t(){const e=s;return t=function(){return e},e}function n(){const e=(u=r)&&u.__esModule?u:{default:u};var u;return n=function(){return e},e}Object.defineProperty(u,\"__esModule\",{value:!0}),u.extract=function(e){const u=e.match(D);return u?u[0].trimLeft():\"\"},u.strip=function(e){const u=e.match(D);return u&&u[0]?e.substring(u[0].length):e},u.parse=function(e){return E(e).pragmas},u.parseWithComments=E,u.print=function({comments:e=\"\",pragmas:u={}}){const o=(0,n().default)(e)||t().EOL,r=\" *\",s=Object.keys(u),i=s.map((e=>A(e,u[e]))).reduce(((e,u)=>e.concat(u)),[]).map((e=>\" * \"+e+o)).join(\"\");if(!e){if(0===s.length)return\"\";if(1===s.length&&!Array.isArray(u[s[0]])){const e=u[s[0]];return\"\".concat(\"/**\",\" \").concat(A(s[0],e)[0]).concat(\" */\")}}const D=e.split(o).map((e=>\"\".concat(r,\" \").concat(e))).join(o)+o;return\"/**\"+o+(e?D:\"\")+(e&&s.length?r+o:\"\")+i+\" */\"};const o=/\\*\\/$/,i=/^\\/\\*\\*/,D=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,a=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,c=/^(\\r?\\n)+/,l=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,F=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,p=/(\\r?\\n|^) *\\* ?/g,C=[];function E(e){const u=(0,n().default)(e)||t().EOL;e=e.replace(i,\"\").replace(o,\"\").replace(p,\"$1\");let r=\"\";for(;r!==e;)r=e,e=e.replace(l,\"\".concat(u,\"$1 $2\").concat(u));e=e.replace(c,\"\").trimRight();const s=Object.create(null),D=e.replace(F,\"\").replace(c,\"\").trimRight();let E;for(;E=F.exec(e);){const e=E[2].replace(a,\"\");\"string\"==typeof s[E[1]]||Array.isArray(s[E[1]])?s[E[1]]=C.concat(s[E[1]],e):s[E[1]]=e}return{comments:D,pragmas:s}}function A(e,u){return C.concat(u).map((u=>\"@\".concat(e,\" \").concat(u).trim()))}})),D=e=>\"string\"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const u=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(u,e?void 0:\"g\")})(),\"\"):e;const a=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var c=a,l=a;c.default=l;const F=e=>{if(\"string\"!=typeof(e=e.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\" \"))||0===e.length)return 0;e=D(e);let u=0;for(let t=0;t=127&&n<=159||(n>=768&&n<=879||(n>65535&&t++,u+=c(n)?2:1))}return u};var p=F,C=F;p.default=C;var E=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function A(e,u){return u||(u=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(u)}}))}var f=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{};function d(){throw new Error(\"setTimeout has not been defined\")}function m(){throw new Error(\"clearTimeout has not been defined\")}var g=d,B=m;function y(e){if(g===setTimeout)return setTimeout(e,0);if((g===d||!g)&&setTimeout)return g=setTimeout,setTimeout(e,0);try{return g(e,0)}catch(u){try{return g.call(null,e,0)}catch(u){return g.call(this,e,0)}}}\"function\"==typeof f.setTimeout&&(g=setTimeout),\"function\"==typeof f.clearTimeout&&(B=clearTimeout);var h,k=[],P=!1,b=-1;function x(){P&&h&&(P=!1,h.length?k=h.concat(k):b=-1,k.length&&v())}function v(){if(!P){var e=y(x);P=!0;for(var u=k.length;u;){for(h=k,k=[];++b1)for(var t=1;tconsole.error(\"SEMVER\",...e):()=>{};var $={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},_=u((function(e,u){const{MAX_SAFE_COMPONENT_LENGTH:t}=$,n=(u=e.exports={}).re=[],o=u.src=[],r=u.t={};let s=0;const i=(e,u,t)=>{const i=s++;G(i,u),r[e]=i,o[i]=u,n[i]=new RegExp(u,t?\"g\":void 0)};i(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),i(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),i(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),i(\"MAINVERSION\",\"(\".concat(o[r.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(o[r.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(o[r.NUMERICIDENTIFIER],\")\")),i(\"MAINVERSIONLOOSE\",\"(\".concat(o[r.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(o[r.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(o[r.NUMERICIDENTIFIERLOOSE],\")\")),i(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(o[r.NUMERICIDENTIFIER],\"|\").concat(o[r.NONNUMERICIDENTIFIER],\")\")),i(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(o[r.NUMERICIDENTIFIERLOOSE],\"|\").concat(o[r.NONNUMERICIDENTIFIER],\")\")),i(\"PRERELEASE\",\"(?:-(\".concat(o[r.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(o[r.PRERELEASEIDENTIFIER],\")*))\")),i(\"PRERELEASELOOSE\",\"(?:-?(\".concat(o[r.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(o[r.PRERELEASEIDENTIFIERLOOSE],\")*))\")),i(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),i(\"BUILD\",\"(?:\\\\+(\".concat(o[r.BUILDIDENTIFIER],\"(?:\\\\.\").concat(o[r.BUILDIDENTIFIER],\")*))\")),i(\"FULLPLAIN\",\"v?\".concat(o[r.MAINVERSION]).concat(o[r.PRERELEASE],\"?\").concat(o[r.BUILD],\"?\")),i(\"FULL\",\"^\".concat(o[r.FULLPLAIN],\"$\")),i(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(o[r.MAINVERSIONLOOSE]).concat(o[r.PRERELEASELOOSE],\"?\").concat(o[r.BUILD],\"?\")),i(\"LOOSE\",\"^\".concat(o[r.LOOSEPLAIN],\"$\")),i(\"GTLT\",\"((?:<|>)?=?)\"),i(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(o[r.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),i(\"XRANGEIDENTIFIER\",\"\".concat(o[r.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),i(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(o[r.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(o[r.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(o[r.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(o[r.PRERELEASE],\")?\").concat(o[r.BUILD],\"?\")+\")?)?\"),i(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(o[r.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(o[r.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(o[r.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(o[r.PRERELEASELOOSE],\")?\").concat(o[r.BUILD],\"?\")+\")?)?\"),i(\"XRANGE\",\"^\".concat(o[r.GTLT],\"\\\\s*\").concat(o[r.XRANGEPLAIN],\"$\")),i(\"XRANGELOOSE\",\"^\".concat(o[r.GTLT],\"\\\\s*\").concat(o[r.XRANGEPLAINLOOSE],\"$\")),i(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(t,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(t,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(t,\"}))?\")+\"(?:$|[^\\\\d])\"),i(\"COERCERTL\",o[r.COERCE],!0),i(\"LONETILDE\",\"(?:~>?)\"),i(\"TILDETRIM\",\"(\\\\s*)\".concat(o[r.LONETILDE],\"\\\\s+\"),!0),u.tildeTrimReplace=\"$1~\",i(\"TILDE\",\"^\".concat(o[r.LONETILDE]).concat(o[r.XRANGEPLAIN],\"$\")),i(\"TILDELOOSE\",\"^\".concat(o[r.LONETILDE]).concat(o[r.XRANGEPLAINLOOSE],\"$\")),i(\"LONECARET\",\"(?:\\\\^)\"),i(\"CARETTRIM\",\"(\\\\s*)\".concat(o[r.LONECARET],\"\\\\s+\"),!0),u.caretTrimReplace=\"$1^\",i(\"CARET\",\"^\".concat(o[r.LONECARET]).concat(o[r.XRANGEPLAIN],\"$\")),i(\"CARETLOOSE\",\"^\".concat(o[r.LONECARET]).concat(o[r.XRANGEPLAINLOOSE],\"$\")),i(\"COMPARATORLOOSE\",\"^\".concat(o[r.GTLT],\"\\\\s*(\").concat(o[r.LOOSEPLAIN],\")$|^$\")),i(\"COMPARATOR\",\"^\".concat(o[r.GTLT],\"\\\\s*(\").concat(o[r.FULLPLAIN],\")$|^$\")),i(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(o[r.GTLT],\"\\\\s*(\").concat(o[r.LOOSEPLAIN],\"|\").concat(o[r.XRANGEPLAIN],\")\"),!0),u.comparatorTrimReplace=\"$1$2$3\",i(\"HYPHENRANGE\",\"^\\\\s*(\".concat(o[r.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(o[r.XRANGEPLAIN],\")\")+\"\\\\s*$\"),i(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(o[r.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(o[r.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),i(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),i(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),i(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")}));const J=/^[0-9]+$/,q=(e,u)=>{const t=J.test(e),n=J.test(u);return t&&n&&(e=+e,u=+u),e===u?0:t&&!n?-1:n&&!t?1:eq(u,e)};const{MAX_LENGTH:z,MAX_SAFE_INTEGER:H}=$,{re:K,t:Y}=_,{compareIdentifiers:Z}=W;class Q{constructor(e,u){if(u&&\"object\"==typeof u||(u={loose:!!u,includePrerelease:!1}),e instanceof Q){if(e.loose===!!u.loose&&e.includePrerelease===!!u.includePrerelease)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \".concat(e));if(e.length>z)throw new TypeError(\"version is longer than \".concat(z,\" characters\"));G(\"SemVer\",e,u),this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease;const t=e.trim().match(u.loose?K[Y.LOOSE]:K[Y.FULL]);if(!t)throw new TypeError(\"Invalid Version: \".concat(e));if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>H||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>H||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>H||this.patch<0)throw new TypeError(\"Invalid patch version\");t[4]?this.prerelease=t[4].split(\".\").map((e=>{if(/^[0-9]+$/.test(e)){const u=+e;if(u>=0&&u=0;)\"number\"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}u&&(this.prerelease[0]===u?isNaN(this.prerelease[1])&&(this.prerelease=[u,0]):this.prerelease=[u,0]);break;default:throw new Error(\"invalid increment argument: \".concat(e))}return this.format(),this.raw=this.version,this}}var ee=Q;var ue=(e,u,t)=>new ee(e,t).compare(new ee(u,t));var te=(e,u,t)=>ue(e,u,t)<0;var ne=(e,u,t)=>ue(e,u,t)>=0,oe=\"2.2.0\",re=u((function(e,u){function t(){for(var e=[],u=0;u\"string\"==typeof e||\"function\"==typeof e,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:Ae,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin\",cliCategory:pe},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:Ae,description:Fe(ae()),exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin-search-dir\",cliCategory:pe},printWidth:{since:\"0.0.0\",category:Ae,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:fe,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:Fe(De()),cliCategory:Ce},rangeStart:{since:\"1.4.0\",category:fe,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:Fe(ie()),cliCategory:Ce},requirePragma:{since:\"1.7.0\",category:fe,type:\"boolean\",default:!1,description:Fe(se()),cliCategory:Ee},tabWidth:{type:\"int\",category:Ae,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:Ae,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:Ae,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};const me={compare:ue,lt:te,gte:ne},ge=oe,Be={CATEGORY_CONFIG:pe,CATEGORY_EDITOR:Ce,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:Ee,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:Ae,CATEGORY_SPECIAL:fe,options:de}.options;var ye={getSupportInfo:function({plugins:e=[],showUnreleased:u=!1,showDeprecated:t=!1,showInternal:n=!1}={}){const o=ge.split(\"-\",1)[0],r=e.reduce(((e,u)=>e.concat(u.languages||[])),[]).filter(a),s=(i=Object.assign({},...e.map((({options:e})=>e)),Be),D=\"name\",Object.entries(i).map((([e,u])=>Object.assign({[D]:e},u)))).filter((e=>a(e)&&c(e))).sort(((e,u)=>e.name===u.name?0:e.name=0||(o[t]=e[t]);return o}(e,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((u=>{u=Object.assign({},u),Array.isArray(u.default)&&(u.default=1===u.default.length?u.default[0].value:u.default.filter(a).sort(((e,u)=>me.compare(u.since,e.since)))[0].value),Array.isArray(u.choices)&&(u.choices=u.choices.filter((e=>a(e)&&c(e))),\"parser\"===u.name&&function(e,u,t){const n=new Set(e.choices.map((e=>e.value)));for(const o of u)if(o.parsers)for(const u of o.parsers)if(!n.has(u)){n.add(u);const r=t.find((e=>e.parsers&&e.parsers[u]));let s=o.name;r&&r.name&&(s+=\" (plugin: \".concat(r.name,\")\")),e.choices.push({value:u,description:s})}}(u,r,e));const t=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[u.name])).reduce(((e,t)=>(e[t.name]=t.defaultOptions[u.name],e)),{});return Object.assign({},u,{pluginDefaults:t})}));var i,D;return{languages:r,options:s};function a(e){return u||!(\"since\"in e)||e.since&&me.gte(o,e.since)}function c(e){return t||!(\"deprecated\"in e)||e.deprecated&&me.lt(o,e.deprecated)}}};const{getSupportInfo:he}=ye,ke=/[^\\x20-\\x7F]/;function Pe(e){return(u,t,n)=>{const o=n&&n.backwards;if(!1===t)return!1;const{length:r}=u;let s=t;for(;s>=0&&s(t.match(s.regex)||[]).length?s.quote:r.quote}return i}function Ve(e,u,t){const n='\"'===u?\"'\":'\"',o=e.replace(/\\\\([\\S\\s])|([\"'])/g,((e,o,r)=>o===n?o:r===u?\"\\\\\"+r:r||(t&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(o)?o:\"\\\\\"+o)));return u+o+u}function Xe(e,u){(e.comments||(e.comments=[])).push(u),u.printed=!1,\"JSXText\"===e.type&&(u.printed=!0)}var Ue={inferParserByLanguage:function(e,u){const{languages:t}=he({plugins:u.plugins}),n=t.find((({name:u})=>u.toLowerCase()===e))||t.find((({aliases:u})=>Array.isArray(u)&&u.includes(e)))||t.find((({extensions:u})=>Array.isArray(u)&&u.includes(\".\".concat(e))));return n&&n.parsers[0]},replaceEndOfLineWith:function(e,u){const t=[];for(const n of e.split(\"\\n\"))0!==t.length&&t.push(u),t.push(n);return t},getStringWidth:function(e){return e?ke.test(e)?p(e):e.length:0},getMaxContinuousCount:function(e,u){const t=e.match(new RegExp(\"(\".concat(E(u),\")+\"),\"g\"));return null===t?0:t.reduce(((e,t)=>Math.max(e,t.length/u.length)),0)},getMinNotPresentContinuousCount:function(e,u){const t=e.match(new RegExp(\"(\".concat(E(u),\")+\"),\"g\"));if(null===t)return 0;const n=new Map;let o=0;for(const e of t){const t=e.length/u.length;n.set(t,!0),t>o&&(o=t)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Oe,getNextNonSpaceNonCommentCharacterIndex:Re,getNextNonSpaceNonCommentCharacter:function(e,u,t){return e.charAt(Re(e,u,t))},skip:Pe,skipWhitespace:be,skipSpaces:xe,skipToLineEnd:ve,skipEverythingButNewLine:Se,skipInlineComment:we,skipTrailingComment:Te,skipNewline:Ie,isNextLineEmptyAfterIndex:Le,isNextLineEmpty:function(e,u,t){return Le(e,t(u))},isPreviousLineEmpty:function(e,u,t){let n=t(u)-1;return n=xe(e,n,{backwards:!0}),n=Ie(e,n,{backwards:!0}),n=xe(e,n,{backwards:!0}),n!==Ie(e,n,{backwards:!0})},hasNewline:Ne,hasNewlineInRange:function(e,u,t){for(let n=u;n=0?\"\\n\"===e.charAt(u+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(e){switch(e){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(e,u){let t;if(\"\\n\"===u)t=/\\n/g;else if(\"\\r\"===u)t=/\\r/g;else{if(\"\\r\\n\"!==u)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(u),\".\"));t=/\\r\\n/g}const n=e.match(t);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\\r\\n?/g,\"\\n\")}};const{parseWithComments:$e,strip:_e,extract:Je,print:qe}=i,{getShebang:We}=Ue,{normalizeEndOfLine:ze}=Ge;function He(e){const u=We(e);u&&(e=e.slice(u.length+1));const t=Je(e),{pragmas:n,comments:o}=$e(t);return{shebang:u,text:e,pragmas:n,comments:o}}var Ke={hasPragma:function(e){const u=Object.keys(He(e).pragmas);return u.includes(\"prettier\")||u.includes(\"format\")},insertPragma:function(e){const{shebang:u,text:t,pragmas:n,comments:o}=He(e),r=_e(t),s=qe({pragmas:Object.assign({format:\"\"},n),comments:o.trimStart()});return(u?\"\".concat(u,\"\\n\"):\"\")+ze(s)+(r.startsWith(\"\\n\")?\"\\n\":\"\\n\\n\")+r}};function Ye(e,u){const{ignoreDecorators:t}=u||{};if(!t){const u=e.declaration&&e.declaration.decorators||e.decorators;if(u&&u.length>0)return Ye(u[0])}return e.range?e.range[0]:e.start}function Ze(e){const u=e.range?e.range[1]:e.end;return e.typeAnnotation?Math.max(u,Ze(e.typeAnnotation)):u}function Qe(e,u){return Ye(e)===Ye(u)}var eu={locStart:Ye,locEnd:Ze,composeLoc:function(e,u=e){const t=Ye(e);return[t,\"number\"==typeof u?t+u:Ze(u)]},hasSameLocStart:Qe,hasSameLoc:function(e,u){return Qe(e,u)&&function(e,u){return Ze(e)===Ze(u)}(e,u)}},uu=u((function(e){!function(){function u(e){if(null==e)return!1;switch(e.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function t(e){switch(e.type){case\"IfStatement\":return null!=e.alternate?e.alternate:e.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:u,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(e){return u(e)||null!=e&&\"FunctionDeclaration\"===e.type},isProblematicIfStatement:function(e){var u;if(\"IfStatement\"!==e.type)return!1;if(null==e.alternate)return!1;u=e.consequent;do{if(\"IfStatement\"===u.type&&null==u.alternate)return!0;u=t(u)}while(u);return!1},trailingStatement:t}}()})),tu=u((function(e){!function(){var u,t,n,o,r,s;function i(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(t={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},u={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},n=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],o=new Array(128),s=0;s<128;++s)o[s]=s>=97&&s<=122||s>=65&&s<=90||36===s||95===s;for(r=new Array(128),s=0;s<128;++s)r[s]=s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||36===s||95===s;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&n.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?o[e]:t.NonAsciiIdentifierStart.test(i(e))},isIdentifierPartES5:function(e){return e<128?r[e]:t.NonAsciiIdentifierPart.test(i(e))},isIdentifierStartES6:function(e){return e<128?o[e]:u.NonAsciiIdentifierStart.test(i(e))},isIdentifierPartES6:function(e){return e<128?r[e]:u.NonAsciiIdentifierPart.test(i(e))}}}()})),nu=u((function(e){!function(){var u=tu;function t(e,u){return!(!u&&\"yield\"===e)&&n(e,u)}function n(e,u){if(u&&function(e){switch(e){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return\"if\"===e||\"in\"===e||\"do\"===e;case 3:return\"var\"===e||\"for\"===e||\"new\"===e||\"try\"===e;case 4:return\"this\"===e||\"else\"===e||\"case\"===e||\"void\"===e||\"with\"===e||\"enum\"===e;case 5:return\"while\"===e||\"break\"===e||\"catch\"===e||\"throw\"===e||\"const\"===e||\"yield\"===e||\"class\"===e||\"super\"===e;case 6:return\"return\"===e||\"typeof\"===e||\"delete\"===e||\"switch\"===e||\"export\"===e||\"import\"===e;case 7:return\"default\"===e||\"finally\"===e||\"extends\"===e;case 8:return\"function\"===e||\"continue\"===e||\"debugger\"===e;case 10:return\"instanceof\"===e;default:return!1}}function o(e,u){return\"null\"===e||\"true\"===e||\"false\"===e||t(e,u)}function r(e,u){return\"null\"===e||\"true\"===e||\"false\"===e||n(e,u)}function s(e){var t,n,o;if(0===e.length)return!1;if(o=e.charCodeAt(0),!u.isIdentifierStartES5(o))return!1;for(t=1,n=e.length;t=n)return!1;if(!(56320<=(r=e.charCodeAt(t))&&r<=57343))return!1;o=1024*(o-55296)+(r-56320)+65536}if(!s(o))return!1;s=u.isIdentifierPartES6}return!0}e.exports={isKeywordES5:t,isKeywordES6:n,isReservedWordES5:o,isReservedWordES6:r,isRestrictedWord:function(e){return\"eval\"===e||\"arguments\"===e},isIdentifierNameES5:s,isIdentifierNameES6:i,isIdentifierES5:function(e,u){return s(e)&&!o(e,u)},isIdentifierES6:function(e,u){return i(e)&&!r(e,u)}}}()}));const ou=u((function(e,u){u.ast=uu,u.code=tu,u.keyword=nu})).keyword.isIdentifierNameES5,{getLast:ru,hasNewline:su,hasNewlineInRange:iu,skipWhitespace:Du}=Ue,{locStart:au,locEnd:cu,hasSameLocStart:lu}=eu,Fu=\"(?:(?=.)\\\\s)\",pu=new RegExp(\"^\".concat(Fu,\"*:\")),Cu=new RegExp(\"^\".concat(Fu,\"*::\"));function Eu(e,u){if(!e||\"object\"!=typeof e)return!1;if(Array.isArray(e))return e.some((e=>Eu(e,u)));const t=u(e);return\"boolean\"==typeof t?t:Object.keys(e).some((t=>Eu(e[t],u)))}function Au(e){return\"AssignmentExpression\"===e.type||\"BinaryExpression\"===e.type||\"LogicalExpression\"===e.type||\"NGPipeExpression\"===e.type||\"ConditionalExpression\"===e.type||\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type||\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type||\"SequenceExpression\"===e.type||\"TaggedTemplateExpression\"===e.type||\"BindExpression\"===e.type||\"UpdateExpression\"===e.type&&!e.prefix||\"TSAsExpression\"===e.type||\"TSNonNullExpression\"===e.type}function fu(e){return\"Block\"===e.type||\"CommentBlock\"===e.type||\"MultiLine\"===e.type}const du=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function mu(e){return e&&du.has(e.type)}function gu(e){return\"BooleanLiteral\"===e.type||\"DirectiveLiteral\"===e.type||\"Literal\"===e.type||\"NullLiteral\"===e.type||\"NumericLiteral\"===e.type||\"BigIntLiteral\"===e.type||\"DecimalLiteral\"===e.type||\"RegExpLiteral\"===e.type||\"StringLiteral\"===e.type||\"TemplateLiteral\"===e.type||\"TSTypeLiteral\"===e.type||\"JSXText\"===e.type}function Bu(e){return\"NumericLiteral\"===e.type||\"Literal\"===e.type&&\"number\"==typeof e.value}function yu(e){return\"StringLiteral\"===e.type||\"Literal\"===e.type&&\"string\"==typeof e.value}function hu(e){return\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type}function ku(e){return!(\"CallExpression\"!==e.type&&\"OptionalCallExpression\"!==e.type||\"Identifier\"!==e.callee.type||\"async\"!==e.callee.name&&\"inject\"!==e.callee.name&&\"fakeAsync\"!==e.callee.name)}function Pu(e){return\"JSXElement\"===e.type||\"JSXFragment\"===e.type}function bu(e){return\"get\"===e.kind||\"set\"===e.kind}function xu(e){return bu(e)||lu(e,e.value)}const vu=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]);const Su=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]);const wu=/^(skip|[fx]?(it|describe|test))$/;function Tu(e){return\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type}const Iu=new RegExp(\"([ \\n\\r\\t]+)\"),Nu=new RegExp(\"[^ \\n\\r\\t]\");function Lu(e){return gu(e)&&(Nu.test(ju(e))||!/\\n/.test(ju(e)))}function Ou(e,u){if(Pu(u))return zu(u);return u.comments&&u.comments.some((u=>u.leading&&su(e,cu(u))))}function Ru(e){return/^(\\d+|\\d+\\.\\d+)$/.test(e)}function Mu(e){return e.quasis.some((e=>e.value.raw.includes(\"\\n\")))}function ju(e){return e.extra?e.extra.raw:e.raw}const Vu={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},Xu={\"*\":!0,\"/\":!0,\"%\":!0},Uu={\">>\":!0,\">>>\":!0,\"<<\":!0};const Gu={};function $u(e){return Gu[e]}[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].forEach(((e,u)=>{e.forEach((e=>{Gu[e]=u}))}));const _u=new WeakMap;function Ju(e){if(_u.has(e))return _u.get(e);const u=[];return e.this&&u.push(e.this),Array.isArray(e.parameters)?u.push(...e.parameters):Array.isArray(e.params)&&u.push(...e.params),e.rest&&u.push(e.rest),_u.set(e,u),u}const qu=new WeakMap;function Wu(e){return\"prettier-ignore\"===e.value.trim()}function zu(e){return e&&(e.comments&&e.comments.length>0&&e.comments.some((e=>Wu(e)&&!e.unignore))||e.prettierIgnore)}function Hu(e){return zu(e.getValue())}var Ku={classChildNeedsASIProtection:function(e){if(e){if(e.static||e.accessibility)return!1;if(!e.computed){const u=e.key&&e.key.name;if(\"in\"===u||\"instanceof\"===u)return!0}switch(e.type){case\"ClassProperty\":case\"FieldDefinition\":case\"TSAbstractClassProperty\":return e.computed;case\"MethodDefinition\":case\"TSAbstractMethodDefinition\":case\"ClassMethod\":case\"ClassPrivateMethod\":{const u=e.value?e.value.async:e.async,t=e.value?e.value.generator:e.generator;return!u&&\"get\"!==e.kind&&\"set\"!==e.kind&&!(!e.computed&&!t)}case\"TSIndexSignature\":return!0;default:return!1}}},classPropMayCauseASIProblems:function(e){const u=e.getNode();if(\"ClassProperty\"!==u.type&&\"FieldDefinition\"!==u.type)return!1;const t=u.key&&u.key.name;return!(\"static\"!==t&&\"get\"!==t&&\"set\"!==t||u.value||u.typeAnnotation)||void 0},getFunctionParameters:Ju,iterateFunctionParametersPath:function(e,u){const t=e.getValue();let n=0;const o=e=>u(e,n++);t.this&&e.call(o,\"this\"),Array.isArray(t.parameters)?e.each(o,\"parameters\"):Array.isArray(t.params)&&e.each(o,\"params\"),t.rest&&e.call(o,\"rest\")},getCallArguments:function(e){if(qu.has(e))return qu.get(e);const u=\"ImportExpression\"===e.type?[e.source]:e.arguments;return qu.set(e,u),u},iterateCallArgumentsPath:function(e,u){\"ImportExpression\"===e.getValue().type?e.call((e=>u(e,0)),\"source\"):e.each(u,\"arguments\")},hasRestParameter:function(e){if(e.rest)return!0;const u=Ju(e);return u.length>0&&\"RestElement\"===ru(u).type},getLeftSidePathName:function(e,u){if(u.expressions)return[\"expressions\",0];if(u.left)return[\"left\"];if(u.test)return[\"test\"];if(u.object)return[\"object\"];if(u.callee)return[\"callee\"];if(u.tag)return[\"tag\"];if(u.argument)return[\"argument\"];if(u.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(e){const u=e.getParentNode();return\"declaration\"===e.getName()&&mu(u)?u:null},getTypeScriptMappedTypeModifier:function(e,u){return\"+\"===e?\"+\"+u:\"-\"===e?\"-\"+u:u},hasDanglingComments:function(e){return e.comments&&e.comments.some((e=>!e.leading&&!e.trailing))},hasFlowAnnotationComment:function(e){return e&&fu(e[0])&&Cu.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&e.trailingComments&&fu(e.trailingComments[0])&&pu.test(e.trailingComments[0].value)},hasLeadingComment:function(e){return e.comments&&e.comments.some((e=>e.leading))},hasLeadingOwnLineComment:Ou,hasNakedLeftSide:Au,hasNewlineBetweenOrAfterDecorators:function(e,u){return iu(u.originalText,au(e.decorators[0]),cu(ru(e.decorators)))||su(u.originalText,cu(ru(e.decorators)))},hasNgSideEffect:function(e){return Eu(e.getValue(),(e=>{switch(e.type){case void 0:return!1;case\"CallExpression\":case\"OptionalCallExpression\":case\"AssignmentExpression\":return!0}}))},hasNode:Eu,hasPrettierIgnore:function(e){return Hu(e)||function(e){const u=e.getValue(),t=e.getParentNode();if(!(t&&u&&Pu(u)&&Pu(t)))return!1;let n=null;for(let e=t.children.indexOf(u);e>0;e--){const u=t.children[e-1];if(\"JSXText\"!==u.type||Lu(u)){n=u;break}}return n&&\"JSXExpressionContainer\"===n.type&&\"JSXEmptyExpression\"===n.expression.type&&n.expression.comments&&n.expression.comments.some((e=>Wu(e)))}(e)},hasTrailingComment:function(e){return e.comments&&e.comments.some((e=>e.trailing))},hasTrailingLineComment:function(e){return e.comments&&e.comments.some((e=>e.trailing&&!fu(e)))},hasIgnoreComment:Hu,hasNodeIgnoreComment:zu,identity:function(e){return e},isBinaryish:function(e){return vu.has(e.type)},isBlockComment:fu,isLineComment:function(e){return\"Line\"===e.type||\"CommentLine\"===e.type||\"SingleLine\"===e.type||\"HashbangComment\"===e.type||\"HTMLOpen\"===e.type||\"HTMLClose\"===e.type},isPrettierIgnoreComment:Wu,isCallOrOptionalCallExpression:Tu,isEmptyJSXElement:function(e){if(0===e.children.length)return!0;if(e.children.length>1)return!1;const u=e.children[0];return gu(u)&&!Lu(u)},isExportDeclaration:mu,isFlowAnnotationComment:function(e,u){const t=au(u),n=Du(e,cu(u));return!1!==n&&\"/*\"===e.slice(t,t+2)&&\"*/\"===e.slice(n,n+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let u=0;for(const t of e)if(hu(t)){if(u+=1,u>1)return!0}else if(Tu(t))for(const e of t.arguments)if(hu(e))return!0;return!1},isFunctionNotation:xu,isFunctionOrArrowExpression:hu,isGetterOrSetter:bu,isJestEachTemplateLiteral:function(e,u){const t=/^[fx]?(describe|it|test)$/;return\"TaggedTemplateExpression\"===u.type&&u.quasi===e&&\"MemberExpression\"===u.tag.type&&\"Identifier\"===u.tag.property.type&&\"each\"===u.tag.property.name&&(\"Identifier\"===u.tag.object.type&&t.test(u.tag.object.name)||\"MemberExpression\"===u.tag.object.type&&\"Identifier\"===u.tag.object.property.type&&(\"only\"===u.tag.object.property.name||\"skip\"===u.tag.object.property.name)&&\"Identifier\"===u.tag.object.object.type&&t.test(u.tag.object.object.name))},isJSXNode:Pu,isJSXWhitespaceExpression:function(e){return\"JSXExpressionContainer\"===e.type&&gu(e.expression)&&\" \"===e.expression.value&&!e.expression.comments},isLastStatement:function(e){const u=e.getParentNode();if(!u)return!0;const t=e.getValue(),n=(u.body||u.consequent).filter((e=>\"EmptyStatement\"!==e.type));return n[n.length-1]===t},isLiteral:gu,isLongCurriedCallExpression:function(e){const u=e.getValue(),t=e.getParentNode();return Tu(u)&&Tu(t)&&t.callee===u&&u.arguments.length>t.arguments.length&&t.arguments.length>0},isSimpleCallArgument:function e(u,t){if(t>=2)return!1;const n=u=>e(u,t+1),o=\"Literal\"===u.type&&\"regex\"in u&&u.regex.pattern||\"RegExpLiteral\"===u.type&&u.pattern;return!(o&&o.length>5)&&(\"Literal\"===u.type||\"BigIntLiteral\"===u.type||\"DecimalLiteral\"===u.type||\"BooleanLiteral\"===u.type||\"NullLiteral\"===u.type||\"NumericLiteral\"===u.type||\"RegExpLiteral\"===u.type||\"StringLiteral\"===u.type||\"Identifier\"===u.type||\"ThisExpression\"===u.type||\"Super\"===u.type||\"PrivateName\"===u.type||\"ArgumentPlaceholder\"===u.type||\"Import\"===u.type||(\"TemplateLiteral\"===u.type?u.expressions.every(n):\"ObjectExpression\"===u.type?u.properties.every((e=>!e.computed&&(e.shorthand||e.value&&n(e.value)))):\"ArrayExpression\"===u.type?u.elements.every((e=>null===e||n(e))):\"ImportExpression\"===u.type?n(u.source):\"CallExpression\"===u.type||\"OptionalCallExpression\"===u.type||\"NewExpression\"===u.type?e(u.callee,t)&&u.arguments.every(n):\"MemberExpression\"===u.type||\"OptionalMemberExpression\"===u.type?e(u.object,t)&&e(u.property,t):\"UnaryExpression\"!==u.type||\"!\"!==u.operator&&\"-\"!==u.operator?\"TSNonNullExpression\"===u.type&&e(u.expression,t):e(u.argument,t)))},isMeaningfulJSXText:Lu,isMemberExpressionChain:function e(u){return(\"MemberExpression\"===u.type||\"OptionalMemberExpression\"===u.type)&&(\"Identifier\"===u.object.type||e(u.object))},isMemberish:function(e){return\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type||\"BindExpression\"===e.type&&Boolean(e.object)},isNgForOf:function(e,u,t){return\"NGMicrosyntaxKeyedExpression\"===e.type&&\"of\"===e.key.name&&1===u&&\"NGMicrosyntaxLet\"===t.body[0].type&&null===t.body[0].value},isNumericLiteral:Bu,isObjectType:function(e){return\"ObjectTypeAnnotation\"===e.type||\"TSTypeLiteral\"===e.type},isObjectTypePropertyAFunction:function(e){return!(\"ObjectTypeProperty\"!==e.type&&\"ObjectTypeInternalSlot\"!==e.type||\"FunctionTypeAnnotation\"!==e.value.type||e.static||xu(e))},isSimpleType:function(e){return!!e&&(!(\"GenericTypeAnnotation\"!==e.type&&\"TSTypeReference\"!==e.type||e.typeParameters)||!!Su.has(e.type))},isSimpleNumber:Ru,isSimpleTemplateLiteral:function(e){let u=\"expressions\";\"TSTemplateLiteralType\"===e.type&&(u=\"types\");const t=e[u];return 0!==t.length&&t.every((e=>{if(e.comments)return!1;if(\"Identifier\"===e.type||\"ThisExpression\"===e.type)return!0;if(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type){let u=e;for(;\"MemberExpression\"===u.type||\"OptionalMemberExpression\"===u.type;){if(\"Identifier\"!==u.property.type&&\"Literal\"!==u.property.type&&\"StringLiteral\"!==u.property.type&&\"NumericLiteral\"!==u.property.type)return!1;if(u=u.object,u.comments)return!1}return\"Identifier\"===u.type||\"ThisExpression\"===u.type}return!1}))},isStringLiteral:yu,isStringPropSafeToUnquote:function(e,u){return\"json\"!==u.parser&&yu(e.key)&&ju(e.key).slice(1,-1)===e.key.value&&(ou(e.key.value)&&!((\"typescript\"===u.parser||\"babel-ts\"===u.parser)&&\"ClassProperty\"===e.type)||Ru(e.key.value)&&String(Number(e.key.value))===e.key.value&&(\"babel\"===u.parser||\"espree\"===u.parser||\"meriyah\"===u.parser))},isTemplateOnItsOwnLine:function(e,u){return(\"TemplateLiteral\"===e.type&&Mu(e)||\"TaggedTemplateExpression\"===e.type&&Mu(e.quasi))&&!su(u,au(e),{backwards:!0})},isTestCall:function e(u,t){if(\"CallExpression\"!==u.type)return!1;if(1===u.arguments.length){if(ku(u)&&t&&e(t))return hu(u.arguments[0]);if(\"Identifier\"===(n=u).callee.type&&/^(before|after)(Each|All)$/.test(n.callee.name)&&1===n.arguments.length)return ku(u.arguments[0])}else if((2===u.arguments.length||3===u.arguments.length)&&(\"Identifier\"===u.callee.type&&wu.test(u.callee.name)||function(e){return(\"MemberExpression\"===e.callee.type||\"OptionalMemberExpression\"===e.callee.type)&&\"Identifier\"===e.callee.object.type&&\"Identifier\"===e.callee.property.type&&wu.test(e.callee.object.name)&&(\"only\"===e.callee.property.name||\"skip\"===e.callee.property.name)}(u))&&(function(e){return\"TemplateLiteral\"===e.type}(u.arguments[0])||yu(u.arguments[0])))return!(u.arguments[2]&&!Bu(u.arguments[2]))&&((2===u.arguments.length?hu(u.arguments[1]):function(e){return\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type&&\"BlockStatement\"===e.body.type}(u.arguments[1])&&Ju(u.arguments[1]).length<=1)||ku(u.arguments[1]));var n;return!1},isTheOnlyJSXElementInMarkdown:function(e,u){if(\"markdown\"!==e.parentParser&&\"mdx\"!==e.parentParser)return!1;const t=u.getNode();if(!t.expression||!Pu(t.expression))return!1;const n=u.getParentNode();return\"Program\"===n.type&&1===n.body.length},isTSXFile:function(e){return e.filepath&&/\\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!(\"TypeAnnotation\"!==e.type&&\"TSTypeAnnotation\"!==e.type||\"FunctionTypeAnnotation\"!==e.typeAnnotation.type||e.static||lu(e,e.typeAnnotation))},matchJsxWhitespaceRegex:Iu,needsHardlineAfterDanglingComment:function(e){if(!e.comments)return!1;const u=ru(e.comments.filter((e=>!e.leading&&!e.trailing)));return u&&!fu(u)},rawText:ju,returnArgumentHasLeadingComment:function(e,u){if(Ou(e.originalText,u))return!0;if(Au(u)){let n,o=u;for(;n=(t=o).expressions?t.expressions[0]:t.left||t.test||t.callee||t.object||t.tag||t.argument||t.expression;)if(o=n,Ou(e.originalText,o))return!0}var t;return!1},shouldPrintComma:function(e,u=\"es5\"){return\"es5\"===e.trailingComma&&\"es5\"===u||\"all\"===e.trailingComma&&(\"all\"===u||\"es5\"===u)},isBitwiseOperator:function(e){return!!Uu[e]||\"|\"===e||\"^\"===e||\"&\"===e},shouldFlatten:function(e,u){return $u(u)===$u(e)&&(\"**\"!==e&&((!Vu[e]||!Vu[u])&&(!(\"%\"===u&&Xu[e]||\"%\"===e&&Xu[u])&&((u===e||!Xu[u]||!Xu[e])&&(!Uu[e]||!Uu[u])))))},startsWithNoLookaheadToken:function e(u,t){switch((u=function(e){for(;e.left;)e=e.left;return e}(u)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return t;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return e(u.object,t);case\"TaggedTemplateExpression\":return\"FunctionExpression\"!==u.tag.type&&e(u.tag,t);case\"CallExpression\":case\"OptionalCallExpression\":return\"FunctionExpression\"!==u.callee.type&&e(u.callee,t);case\"ConditionalExpression\":return e(u.test,t);case\"UpdateExpression\":return!u.prefix&&e(u.argument,t);case\"BindExpression\":return u.object&&e(u.object,t);case\"SequenceExpression\":return e(u.expressions[0],t);case\"TSAsExpression\":return e(u.expression,t);default:return!1}},getPrecedence:$u};const{getLast:Yu,hasNewline:Zu,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Qu,getNextNonSpaceNonCommentCharacter:et,hasNewlineInRange:ut,addLeadingComment:tt,addTrailingComment:nt,addDanglingComment:ot,getNextNonSpaceNonCommentCharacterIndex:rt}=Ue,{isBlockComment:st,getFunctionParameters:it,isPrettierIgnoreComment:Dt,isJSXNode:at,hasFlowShorthandAnnotationComment:ct,hasFlowAnnotationComment:lt,hasIgnoreComment:Ft}=Ku,{locStart:pt,locEnd:Ct}=eu;function Et(e,u){const t=(e.body||e.properties).find((({type:e})=>\"EmptyStatement\"!==e));t?tt(t,u):ot(e,u)}function At(e,u){\"BlockStatement\"===e.type?Et(e,u):tt(e,u)}function ft(e,u){const{precedingNode:t,enclosingNode:n,followingNode:o}=e;if(!n||\"IfStatement\"!==n.type||!o)return!1;return\")\"===et(u,e,Ct)?(nt(t,e),!0):t===n.consequent&&o===n.alternate?(\"BlockStatement\"===t.type?nt(t,e):ot(n,e),!0):\"BlockStatement\"===o.type?(Et(o,e),!0):\"IfStatement\"===o.type?(At(o.consequent,e),!0):n.consequent===o&&(tt(o,e),!0)}function dt(e,u){const{precedingNode:t,enclosingNode:n,followingNode:o}=e;if(!n||\"WhileStatement\"!==n.type||!o)return!1;return\")\"===et(u,e,Ct)?(nt(t,e),!0):\"BlockStatement\"===o.type?(Et(o,e),!0):n.body===o&&(tt(o,e),!0)}function mt(e){const{precedingNode:u,enclosingNode:t,followingNode:n}=e;return!(!t||\"TryStatement\"!==t.type&&\"CatchClause\"!==t.type||!n)&&(\"CatchClause\"===t.type&&u?(nt(u,e),!0):\"BlockStatement\"===n.type?(Et(n,e),!0):\"TryStatement\"===n.type?(At(n.finalizer,e),!0):\"CatchClause\"===n.type&&(At(n.body,e),!0))}function gt(e){const{precedingNode:u,enclosingNode:t,followingNode:n}=e;if(t&&(\"ClassDeclaration\"===t.type||\"ClassExpression\"===t.type||\"DeclareClass\"===t.type||\"DeclareInterface\"===t.type||\"InterfaceDeclaration\"===t.type||\"TSInterfaceDeclaration\"===t.type)){if(t.decorators&&t.decorators.length>0&&(!n||\"Decorator\"!==n.type))return nt(t.decorators[t.decorators.length-1],e),!0;if(t.body&&n===t.body)return Et(t.body,e),!0;if(n)for(const o of[\"implements\",\"extends\",\"mixins\"])if(t[o]&&n===t[o][0])return!u||u!==t.id&&u!==t.typeParameters&&u!==t.superClass?ot(t,e,o):nt(u,e),!0}return!1}function Bt(e,u){const{precedingNode:t,enclosingNode:n}=e;return(n&&t&&(\"Property\"===n.type||\"TSDeclareMethod\"===n.type||\"TSAbstractMethodDefinition\"===n.type)&&\"Identifier\"===t.type&&n.key===t&&\":\"!==et(u,t,Ct)||!(!t||!n||\"Decorator\"!==t.type||\"ClassMethod\"!==n.type&&\"ClassProperty\"!==n.type&&\"FieldDefinition\"!==n.type&&\"TSAbstractClassProperty\"!==n.type&&\"TSAbstractMethodDefinition\"!==n.type&&\"TSDeclareMethod\"!==n.type&&\"MethodDefinition\"!==n.type))&&(nt(t,e),!0)}function yt(e,u){const{precedingNode:t,enclosingNode:n,followingNode:o}=e;if(t&&\"FunctionTypeParam\"===t.type&&n&&\"FunctionTypeAnnotation\"===n.type&&o&&\"FunctionTypeParam\"!==o.type)return nt(t,e),!0;if(t&&(\"Identifier\"===t.type||\"AssignmentPattern\"===t.type)&&n&&xt(n)&&\")\"===et(u,e,Ct))return nt(t,e),!0;if(n&&\"FunctionDeclaration\"===n.type&&o&&\"BlockStatement\"===o.type){const t=(()=>{const e=it(n);if(0!==e.length)return Qu(u,Ct(Yu(e)));const t=Qu(u,Ct(n.id));return!1!==t&&Qu(u,t+1)})();if(pt(e)>t)return Et(o,e),!0}return!1}function ht(e){const{enclosingNode:u}=e;return!(!u||\"ImportSpecifier\"!==u.type)&&(tt(u,e),!0)}function kt(e){const{enclosingNode:u}=e;return!(!u||\"LabeledStatement\"!==u.type)&&(tt(u,e),!0)}function Pt(e,u,t){const{enclosingNode:n}=e;return u&&u.body&&0===u.body.length?(t?ot(u,e):tt(u,e),!0):!(!n||\"Program\"!==n.type||0!==n.body.length||!n.directives||0!==n.directives.length)&&(t?ot(n,e):tt(n,e),!0)}function bt(e){const{enclosingNode:u,followingNode:t}=e;if(Dt(e)&&u&&\"TSMappedType\"===u.type&&t&&\"TSTypeParameter\"===t.type&&t.constraint)return u.prettierIgnore=!0,e.unignore=!0,!0}function xt(e){return\"ArrowFunctionExpression\"===e.type||\"FunctionExpression\"===e.type||\"FunctionDeclaration\"===e.type||\"ObjectMethod\"===e.type||\"ClassMethod\"===e.type||\"TSDeclareFunction\"===e.type||\"TSCallSignatureDeclaration\"===e.type||\"TSConstructSignatureDeclaration\"===e.type||\"TSMethodSignature\"===e.type||\"TSConstructorType\"===e.type||\"TSFunctionType\"===e.type||\"TSDeclareMethod\"===e.type}function vt(e){return st(e)&&\"*\"===e.value[0]&&/@type\\b/.test(e.value)}var St={handleOwnLineComment:function(e,u,t,n,o){return bt(e)||yt(e,u)||function(e){const{enclosingNode:u,followingNode:t}=e;if(u&&(\"MemberExpression\"===u.type||\"OptionalMemberExpression\"===u.type)&&t&&\"Identifier\"===t.type)return tt(u,e),!0;return!1}(e)||ft(e,u)||dt(e,u)||mt(e)||gt(e)||ht(e)||function(e){const{enclosingNode:u}=e;if(u&&(\"ForInStatement\"===u.type||\"ForOfStatement\"===u.type))return tt(u,e),!0;return!1}(e)||function(e){const{precedingNode:u,enclosingNode:t,followingNode:n}=e;if(t&&(\"UnionTypeAnnotation\"===t.type||\"TSUnionType\"===t.type))return Dt(e)&&(n.prettierIgnore=!0,e.unignore=!0),!!u&&(nt(u,e),!0);n&&(\"UnionTypeAnnotation\"===n.type||\"TSUnionType\"===n.type)&&Dt(e)&&(n.types[0].prettierIgnore=!0,e.unignore=!0);return!1}(e)||Pt(e,n,o)||function(e,u){const{precedingNode:t,enclosingNode:n}=e;if(t&&\"ImportSpecifier\"===t.type&&n&&\"ImportDeclaration\"===n.type&&Zu(u,Ct(e)))return nt(t,e),!0;return!1}(e,u)||function(e){const{enclosingNode:u}=e;if(u&&\"AssignmentPattern\"===u.type)return tt(u,e),!0;return!1}(e)||Bt(e,u)||kt(e)},handleEndOfLineComment:function(e,u,t,n,o){return function(e){const{followingNode:u}=e;if(u&&vt(e))return tt(u,e),!0;return!1}(e)||yt(e,u)||function(e,u){const{precedingNode:t,enclosingNode:n,followingNode:o}=e,r=t&&!ut(u,Ct(t),pt(e));if((!t||!r)&&n&&(\"ConditionalExpression\"===n.type||\"TSConditionalType\"===n.type)&&o)return tt(o,e),!0;return!1}(e,u)||ht(e)||ft(e,u)||dt(e,u)||mt(e)||gt(e)||kt(e)||function(e){const{precedingNode:u,enclosingNode:t}=e;if(t&&(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type)&&u&&t.callee===u&&t.arguments.length>0)return tt(t.arguments[0],e),!0;return!1}(e)||function(e){const{enclosingNode:u}=e;if(u&&(\"Property\"===u.type||\"ObjectProperty\"===u.type))return tt(u,e),!0;return!1}(e)||Pt(e,n,o)||function(e){const{enclosingNode:u}=e;if(u&&\"TypeAlias\"===u.type)return tt(u,e),!0;return!1}(e)||function(e){const{enclosingNode:u,followingNode:t}=e;if(u&&(\"VariableDeclarator\"===u.type||\"AssignmentExpression\"===u.type)&&t&&(\"ObjectExpression\"===t.type||\"ArrayExpression\"===t.type||\"TemplateLiteral\"===t.type||\"TaggedTemplateExpression\"===t.type||st(e)))return tt(t,e),!0;return!1}(e)},handleRemainingComment:function(e,u,t,n,o){return!!(bt(e)||ft(e,u)||dt(e,u)||function(e){const{precedingNode:u,enclosingNode:t}=e;if(t&&(\"ObjectProperty\"===t.type||\"Property\"===t.type)&&t.shorthand&&t.key===u&&\"AssignmentPattern\"===t.value.type)return nt(t.value.left,e),!0;return!1}(e)||function(e,u){if(\")\"!==et(u,e,Ct))return!1;const{enclosingNode:t}=e;if(t&&(xt(t)&&0===it(t).length||(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type||\"NewExpression\"===t.type)&&0===t.arguments.length))return ot(t,e),!0;if(t&&\"MethodDefinition\"===t.type&&0===it(t.value).length)return ot(t.value,e),!0;return!1}(e,u)||Bt(e,u)||Pt(e,n,o)||function(e,u){const{enclosingNode:t}=e;if(!t||\"ArrowFunctionExpression\"!==t.type)return!1;const n=rt(u,e,Ct);if(!1!==n&&\"=>\"===u.slice(n,n+2))return ot(t,e),!0;return!1}(e,u)||function(e,u){if(\"(\"!==et(u,e,Ct))return!1;const{precedingNode:t,enclosingNode:n}=e;if(t&&n&&(\"FunctionDeclaration\"===n.type||\"FunctionExpression\"===n.type||\"ClassMethod\"===n.type||\"MethodDefinition\"===n.type||\"ObjectMethod\"===n.type))return nt(t,e),!0;return!1}(e,u)||function(e){const{precedingNode:u,enclosingNode:t,followingNode:n}=e;if(!t||\"TSMappedType\"!==t.type)return!1;if(n&&\"TSTypeParameter\"===n.type&&n.name)return tt(n.name,e),!0;if(u&&\"TSTypeParameter\"===u.type&&u.constraint)return nt(u.constraint,e),!0;return!1}(e)||function(e){const{enclosingNode:u}=e;if(u&&(\"ContinueStatement\"===u.type||\"BreakStatement\"===u.type)&&!u.label)return nt(u,e),!0;return!1}(e)||function(e,u){const{enclosingNode:t,followingNode:n}=e;if(!n&&t&&(\"TSMethodSignature\"===t.type||\"TSDeclareFunction\"===t.type||\"TSAbstractMethodDefinition\"===t.type)&&\";\"===et(u,e,Ct))return nt(t,e),!0;return!1}(e,u))},hasLeadingComment:function(e,u=(()=>!0)){return e.leadingComments?e.leadingComments.some(u):!!e.comments&&e.comments.some((e=>e.leading&&u(e)))},isTypeCastComment:vt,getGapRegex:function(e){if(e&&\"BinaryExpression\"!==e.type&&\"LogicalExpression\"!==e.type)return/^[\\s&(|]*$/},getCommentChildNodes:function(e,u){if((\"typescript\"===u.parser||\"flow\"===u.parser||\"espree\"===u.parser||\"meriyah\"===u.parser)&&\"MethodDefinition\"===e.type&&e.value&&\"FunctionExpression\"===e.value.type&&0===it(e.value).length&&!e.value.returnType&&(!e.value.typeParameters||0===e.value.typeParameters.length)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const u=e.getValue(),t=e.getParentNode();return(u&&(at(u)||ct(u)||t&&(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type)&&(lt(u.leadingComments)||lt(u.trailingComments)))||t&&(\"JSXSpreadAttribute\"===t.type||\"JSXSpreadChild\"===t.type||\"UnionTypeAnnotation\"===t.type||\"TSUnionType\"===t.type||(\"ClassDeclaration\"===t.type||\"ClassExpression\"===t.type)&&t.superClass===u))&&(!Ft(e)||\"UnionTypeAnnotation\"===t.type||\"TSUnionType\"===t.type)}};const{getLast:wt,getNextNonSpaceNonCommentCharacter:Tt,getShebang:It}=Ue,{composeLoc:Nt,locStart:Lt,locEnd:Ot}=eu,{isTypeCastComment:Rt}=St;function Mt(e){return\"CallExpression\"===e.type?(e.type=\"OptionalCallExpression\",e.callee=Mt(e.callee)):\"MemberExpression\"===e.type?(e.type=\"OptionalMemberExpression\",e.object=Mt(e.object)):\"TSNonNullExpression\"===e.type&&(e.expression=Mt(e.expression)),e}function jt(e,u){let t;if(Array.isArray(e))t=e.entries();else{if(!e||\"object\"!=typeof e||\"string\"!=typeof e.type)return e;t=Object.entries(e)}for(const[n,o]of t)e[n]=jt(o,u);return Array.isArray(e)?e:u(e)||e}function Vt(e){return\"LogicalExpression\"===e.type&&\"LogicalExpression\"===e.right.type&&e.operator===e.right.operator}function Xt(e){return Vt(e)?Xt({type:\"LogicalExpression\",operator:e.operator,left:Xt({type:\"LogicalExpression\",operator:e.operator,left:e.left,right:e.right.left,range:Nt(e.left,e.right.left)}),right:e.right.right,range:Nt(e)}):e}var Ut=function(u,t){if(\"typescript\"!==t.parser&&\"flow\"!==t.parser&&\"espree\"!==t.parser||function(e,u){const t=It(u.originalText);t&&e.comments.unshift({type:\"Line\",value:t.slice(2),range:[0,t.length]})}(u,t),\"typescript\"===t.parser&&t.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:n,tsNodeToESTreeNodeMap:o}=t.tsParseResult;u=jt(u,(u=>{const t=n.get(u);if(!t)return;const r=t.decorators;if(!Array.isArray(r))return;const s=o.get(t);if(s!==u)return;const i=s.decorators;if(!Array.isArray(i)||i.length!==r.length||r.some((e=>{const u=o.get(e);return!u||!i.includes(u)}))){const{start:u,end:t}=s.loc;throw e(\"Leading decorators must be attached to a class declaration\",{start:{line:u.line,column:u.column+1},end:{line:t.line,column:t.column+1}})}}))}if(\"typescript\"!==t.parser&&\"flow\"!==t.parser&&\"espree\"!==t.parser&&\"meriyah\"!==t.parser){const e=new Set;u=jt(u,(u=>{u.leadingComments&&u.leadingComments.some(Rt)&&e.add(Lt(u))})),u=jt(u,(u=>{if(\"ParenthesizedExpression\"===u.type){const{expression:t}=u;if(\"TypeCastExpression\"===t.type)return t.range=u.range,t;const n=Lt(u);if(!e.has(n))return t.extra=Object.assign({},t.extra,{parenthesized:!0}),t}}))}return u=jt(u,(e=>{switch(e.type){case\"ChainExpression\":return Mt(e.expression);case\"LogicalExpression\":if(Vt(e))return Xt(e);break;case\"VariableDeclaration\":{const u=wt(e.declarations);u&&u.init&&function(e,u){if(\";\"===t.originalText[Ot(u)])return;e.range=Nt(e,u)}(e,u);break}case\"TSParenthesizedType\":return e.typeAnnotation.range=Nt(e),e.typeAnnotation;case\"TSUnionType\":case\"TSIntersectionType\":if(1===e.types.length){const[u]=e.types;return u.range=Nt(e),u}break;case\"TSTypeParameter\":\"string\"==typeof e.name&&(e.name={type:\"Identifier\",name:e.name,range:Nt(e,e.name.length)});break;case\"SequenceExpression\":{const u=wt(e.expressions);Ot(e)>Ot(u)&&(e.range=Nt(e,u));break}case\"ClassProperty\":e.key&&\"TSPrivateIdentifier\"===e.key.type&&\"?\"===Tt(t.originalText,e.key,Ot)&&(e.optional=!0)}}))};const Gt={0:\"Unexpected token\",28:\"Unexpected token: '%0'\",1:\"Octal escape sequences are not allowed in strict mode\",2:\"Octal escape sequences are not allowed in template strings\",3:\"Unexpected token `#`\",4:\"Illegal Unicode escape sequence\",5:\"Invalid code point %0\",6:\"Invalid hexadecimal escape sequence\",8:\"Octal literals are not allowed in strict mode\",7:\"Decimal integer literals with a leading zero are forbidden in strict mode\",9:\"Expected number in radix %0\",145:\"Invalid left-hand side assignment to a destructible right-hand side\",10:\"Non-number found after exponent indicator\",11:\"Invalid BigIntLiteral\",12:\"No identifiers allowed directly after numeric literal\",13:\"Escapes \\\\8 or \\\\9 are not syntactically valid escapes\",14:\"Unterminated string literal\",15:\"Unterminated template literal\",16:\"Multiline comment was not closed properly\",17:\"The identifier contained dynamic unicode escape that was not closed\",18:\"Illegal character '%0'\",19:\"Missing hexadecimal digits\",20:\"Invalid implicit octal\",21:\"Invalid line break in string literal\",22:\"Only unicode escapes are legal in identifier names\",23:\"Expected '%0'\",24:\"Invalid left-hand side in assignment\",25:\"Invalid left-hand side in async arrow\",26:'Calls to super must be in the \"constructor\" method of a class expression or class declaration that has a superclass',27:\"Member access on super must be in a method\",29:\"Await expression not allowed in formal parameter\",30:\"Yield expression not allowed in formal parameter\",92:\"Unexpected token: 'escaped keyword'\",31:\"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses\",119:\"Async functions can only be declared at the top level or inside a block\",32:\"Unterminated regular expression\",33:\"Unexpected regular expression flag\",34:\"Duplicate regular expression flag '%0'\",35:\"%0 functions must have exactly %1 argument%2\",36:\"Setter function argument must not be a rest parameter\",37:\"%0 declaration must have a name in this context\",38:\"Function name may not contain any reserved words or be eval or arguments in strict mode\",39:\"The rest operator is missing an argument\",40:\"A getter cannot be a generator\",41:\"A computed property name must be followed by a colon or paren\",130:\"Object literal keys that are strings or numbers must be a method or have a colon\",43:\"Found `* async x(){}` but this should be `async * x(){}`\",42:\"Getters and setters can not be generators\",44:\"'%0' can not be generator method\",45:\"No line break is allowed after '=>'\",46:\"The left-hand side of the arrow can only be destructed through assignment\",47:\"The binding declaration is not destructible\",48:\"Async arrow can not be followed by new expression\",49:\"Classes may not have a static property named 'prototype'\",50:\"Class constructor may not be a %0\",51:\"Duplicate constructor method in class\",52:\"Invalid increment/decrement operand\",53:\"Invalid use of `new` keyword on an increment/decrement expression\",54:\"`=>` is an invalid assignment target\",55:\"Rest element may not have a trailing comma\",56:\"Missing initializer in %0 declaration\",57:\"'for-%0' loop head declarations can not have an initializer\",58:\"Invalid left-hand side in for-%0 loop: Must have a single binding\",59:\"Invalid shorthand property initializer\",60:\"Property name __proto__ appears more than once in object literal\",61:\"Let is disallowed as a lexically bound name\",62:\"Invalid use of '%0' inside new expression\",63:\"Illegal 'use strict' directive in function with non-simple parameter list\",64:'Identifier \"let\" disallowed as left-hand side expression in strict mode',65:\"Illegal continue statement\",66:\"Illegal break statement\",67:\"Cannot have `let[...]` as a var name in strict mode\",68:\"Invalid destructuring assignment target\",69:\"Rest parameter may not have a default initializer\",70:\"The rest argument must the be last parameter\",71:\"Invalid rest argument\",73:\"In strict mode code, functions can only be declared at top level or inside a block\",74:\"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement\",75:\"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement\",76:\"Class declaration can't appear in single-statement context\",77:\"Invalid left-hand side in for-%0\",78:\"Invalid assignment in for-%0\",79:\"for await (... of ...) is only valid in async functions and async generators\",80:\"The first token after the template expression should be a continuation of the template\",82:\"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode\",81:\"`let \\n [` is a restricted production at the start of a statement\",83:\"Catch clause requires exactly one parameter, not more (and no trailing comma)\",84:\"Catch clause parameter does not support default values\",85:\"Missing catch or finally after try\",86:\"More than one default clause in switch statement\",87:\"Illegal newline after throw\",88:\"Strict mode code may not include a with statement\",89:\"Illegal return statement\",90:\"The left hand side of the for-header binding declaration is not destructible\",91:\"new.target only allowed within functions\",92:\"'Unexpected token: 'escaped keyword'\",93:\"'#' not followed by identifier\",99:\"Invalid keyword\",98:\"Can not use 'let' as a class name\",97:\"'A lexical declaration can't define a 'let' binding\",96:\"Can not use `let` as variable name in strict mode\",94:\"'%0' may not be used as an identifier in this context\",95:\"Await is only valid in async functions\",100:\"The %0 keyword can only be used with the module goal\",101:\"Unicode codepoint must not be greater than 0x10FFFF\",102:\"%0 source must be string\",103:\"Only a identifier can be used to indicate alias\",104:\"Only '*' or '{...}' can be imported after default\",105:\"Trailing decorator may be followed by method\",106:\"Decorators can't be used with a constructor\",107:\"'%0' may not be used as an identifier in this context\",108:\"HTML comments are only allowed with web compatibility (Annex B)\",109:\"The identifier 'let' must not be in expression position in strict mode\",110:\"Cannot assign to `eval` and `arguments` in strict mode\",111:\"The left-hand side of a for-of loop may not start with 'let'\",112:\"Block body arrows can not be immediately invoked without a group\",113:\"Block body arrows can not be immediately accessed without a group\",114:\"Unexpected strict mode reserved word\",115:\"Unexpected eval or arguments in strict mode\",116:\"Decorators must not be followed by a semicolon\",117:\"Calling delete on expression not allowed in strict mode\",118:\"Pattern can not have a tail\",120:\"Can not have a `yield` expression on the left side of a ternary\",121:\"An arrow function can not have a postfix update operator\",122:\"Invalid object literal key character after generator star\",123:\"Private fields can not be deleted\",125:\"Classes may not have a field called constructor\",124:\"Classes may not have a private element named constructor\",126:\"A class field initializer may not contain arguments\",127:\"Generators can only be declared at the top level or inside a block\",128:\"Async methods are a restricted production and cannot have a newline following it\",129:\"Unexpected character after object literal property name\",131:\"Invalid key token\",132:\"Label '%0' has already been declared\",133:\"continue statement must be nested within an iteration statement\",134:\"Undefined label '%0'\",135:\"Trailing comma is disallowed inside import(...) arguments\",136:\"import() requires exactly one argument\",137:\"Cannot use new with import(...)\",138:\"... is not allowed in import()\",139:\"Expected '=>'\",140:\"Duplicate binding '%0'\",141:\"Cannot export a duplicate name '%0'\",144:\"Duplicate %0 for-binding\",142:\"Exported binding '%0' needs to refer to a top-level declared variable\",143:\"Unexpected private field\",147:\"Numeric separators are not allowed at the end of numeric literals\",146:\"Only one underscore is allowed as numeric separator\",148:\"JSX value should be either an expression or a quoted JSX text\",149:\"Expected corresponding JSX closing tag for %0\",150:\"Adjacent JSX elements must be wrapped in an enclosing tag\",151:\"JSX attributes must only be assigned a non-empty 'expression'\",152:\"'%0' has already been declared\",153:\"'%0' shadowed a catch clause binding\",154:\"Dot property must be an identifier\",155:\"Encountered invalid input after spread/rest argument\",156:\"Catch without try\",157:\"Finally without try\",158:\"Expected corresponding closing tag for JSX fragment\",159:\"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses\",160:\"Invalid tagged template on optional chain\",161:\"Invalid optional chain from super property\",162:\"Invalid optional chain from new expression\",163:'Cannot use \"import.meta\" outside a module',164:\"Leading decorators must be attached to a class declaration\"};class $t extends SyntaxError{constructor(e,u,t,n,...o){const r=\"[\"+u+\":\"+t+\"]: \"+Gt[n].replace(/%(\\d+)/g,((e,u)=>o[u]));super(\"\".concat(r)),this.index=e,this.line=u,this.column=t,this.description=r,this.loc={line:u,column:t}}}function _t(e,u,...t){throw new $t(e.index,e.line,e.column,u,...t)}function Jt(e){throw new $t(e.index,e.line,e.column,e.type,e.params)}function qt(e,u,t,n,...o){throw new $t(e,u,t,n,...o)}function Wt(e,u,t,n){throw new $t(e,u,t,n)}const zt=((e,u)=>{const t=new Uint32Array(104448);let n=0,o=0;for(;n<3540;){const r=e[n++];if(r<0)o-=r;else{let s=e[n++];2&r&&(s=u[s]),1&r?t.fill(s,o,o+=e[n++]):t[o++]=s}}return t})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]),Ht=[126,126,126,126,126,126,126,126,126,125,133,125,125,127,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,125,16842797,134283267,128,208897,8457012,8455748,134283267,67174411,16,8457011,25233967,18,25233968,67108877,8457013,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456255,1077936157,8456256,22,130,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,134,20,8455494,208897,129,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455237,1074790415,16842798,126];function Kt(e,u){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=Yt(e,u,0),e.onToken&&1048576!==e.token){const u={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return\"NumericLiteral\";case 134283267:return\"StringLiteral\";case 86021:case 86022:return\"BooleanLiteral\";case 86023:return\"NullLiteral\";case 65540:return\"RegularExpression\";case 67174408:case 67174409:case 129:return\"TemplateLiteral\";default:return 143360==(143360&e)?\"Identifier\":4096==(4096&e)?\"Keyword\":\"Punctuator\"}}(e.token),e.tokenPos,e.index,u)}}function Yt(e,u,t){const n=0===e.index,o=e.source;let r=e.index,s=e.line,i=e.column;for(;e.index=e.end)return 8457011;const u=e.currentChar;return 61===u?(tn(e),4194340):42!==u?8457011:61!==tn(e)?8457270:(tn(e),4194337)}case 8455494:return 61!==tn(e)?8455494:(tn(e),4194343);case 25233967:{tn(e);const u=e.currentChar;return 43===u?(tn(e),33619995):61===u?(tn(e),4194338):25233967}case 25233968:{tn(e);const D=e.currentChar;if(45===D){if(tn(e),(1&t||n)&&62===e.currentChar){0==(256&u)&&_t(e,108),tn(e),t=Qt(e,o,t,u,3,r,s,i),r=e.tokenPos,s=e.linePos,i=e.colPos;continue}return 33619996}return 61===D?(tn(e),4194339):25233968}case 8457013:if(tn(e),e.index=48&&l<=57)return kn(e,u,80);if(46===l){const u=e.index+1;if(u=48&&u<=57)))return tn(e),67108988}return 22}}}else{if((8232^a)<=1){t=-5&t|1,rn(e);continue}if(55296==(64512&a)||0!=(1&zt[34816+(a>>>5)]>>>a))return 56320==(64512&a)&&(a=(1023&a)<<10|1023&a|65536,0==(1&zt[0+(a>>>5)]>>>a)&&_t(e,18,sn(a)),e.index++,e.currentChar=a),e.column++,e.tokenValue=\"\",dn(e,u,0,0);if(160===(D=a)||65279===D||133===D||5760===D||D>=8192&&D<=8203||8239===D||8287===D||12288===D||8201===D||65519===D){tn(e);continue}_t(e,18,sn(a))}}var D;return 1048576}const Zt=[\"SingleLine\",\"MultiLine\",\"HTMLOpen\",\"HTMLClose\",\"HashbangComment\"];function Qt(e,u,t,n,o,r,s,i){return 2048&n&&_t(e,0),en(e,u,t,o,r,s,i)}function en(e,u,t,n,o,r,s){const{index:i}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index>>5)]>>>u)&&_t(e,18,sn(u)),e.index++,e.column++,1)}function on(e,u){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&u)&&(e.column=0,e.line++)}function rn(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function sn(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function Dn(e){return e<65?e-48:e-65+10&15}const an=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],cn=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],ln=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function Fn(e){return e<=127?cn[e]:1&zt[34816+(e>>>5)]>>>e}function pn(e){return e<=127?ln[e]:1&zt[0+(e>>>5)]>>>e||8204===e||8205===e}const Cn=[\"end of source\",\"identifier\",\"number\",\"string\",\"regular expression\",\"false\",\"true\",\"null\",\"template continuation\",\"template tail\",\"=>\",\"(\",\"{\",\".\",\"...\",\"}\",\")\",\";\",\",\",\"[\",\"]\",\":\",\"?\",\"'\",'\"',\"\",\"++\",\"--\",\"=\",\"<<=\",\">>=\",\">>>=\",\"**=\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"^=\",\"|=\",\"&=\",\"typeof\",\"delete\",\"void\",\"!\",\"~\",\"+\",\"-\",\"in\",\"instanceof\",\"*\",\"%\",\"/\",\"**\",\"&&\",\"||\",\"===\",\"!==\",\"==\",\"!=\",\"<=\",\">=\",\"<\",\">\",\"<<\",\">>\",\">>>\",\"&\",\"|\",\"^\",\"var\",\"let\",\"const\",\"break\",\"case\",\"catch\",\"class\",\"continue\",\"debugger\",\"default\",\"do\",\"else\",\"export\",\"extends\",\"finally\",\"for\",\"function\",\"if\",\"import\",\"new\",\"return\",\"super\",\"switch\",\"this\",\"throw\",\"try\",\"while\",\"with\",\"implements\",\"interface\",\"package\",\"private\",\"protected\",\"public\",\"static\",\"yield\",\"as\",\"async\",\"await\",\"constructor\",\"get\",\"set\",\"from\",\"of\",\"enum\",\"eval\",\"arguments\",\"escaped keyword\",\"escaped future reserved keyword\",\"reserved if strict\",\"#\",\"BigIntLiteral\",\"??\",\"?.\",\"WhiteSpace\",\"Illegal\",\"LineTerminator\",\"PrivateField\",\"Template\",\"@\",\"target\",\"meta\",\"LineFeed\",\"Escaped\",\"JSXText\"],En=Object.create(null,{this:{value:86110},function:{value:86103},if:{value:20568},return:{value:20571},var:{value:86087},else:{value:20562},for:{value:20566},new:{value:86106},in:{value:8738865},typeof:{value:16863274},while:{value:20577},case:{value:20555},break:{value:20554},try:{value:20576},catch:{value:20556},delete:{value:16863275},throw:{value:86111},switch:{value:86109},continue:{value:20558},default:{value:20560},instanceof:{value:8476722},do:{value:20561},void:{value:16863276},finally:{value:20565},async:{value:143468},await:{value:209005},class:{value:86093},const:{value:86089},constructor:{value:12398},debugger:{value:20559},export:{value:20563},extends:{value:20564},false:{value:86021},from:{value:12401},get:{value:12399},implements:{value:36963},import:{value:86105},interface:{value:36964},let:{value:241736},null:{value:86023},of:{value:274546},package:{value:36965},private:{value:36966},protected:{value:36967},public:{value:36968},set:{value:12400},static:{value:36969},super:{value:86108},true:{value:86022},with:{value:20578},yield:{value:241770},enum:{value:20595},eval:{value:537079924},as:{value:12395},arguments:{value:537079925},target:{value:143491},meta:{value:143492}});function An(e,u,t){for(;ln[tn(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?En[e.tokenValue]||208897:dn(e,u,0,t)}function fn(e,u){const t=gn(e);return pn(t)||_t(e,4),e.tokenValue=sn(t),dn(e,u,1,4&an[t])}function dn(e,u,t,n){let o=e.index;for(;e.index=2&&r<=11){const n=En[e.tokenValue];return void 0===n?208897:t?1024&u?209005===n&&0==(4196352&u)?n:36969===n||36864==(36864&n)?119:118:1073741824&u&&0==(8192&u)&&20480==(20480&n)?n:241770===n?1073741824&u?143480:2097152&u?118:n:143468===n&&1073741824&u?143480:36864==(36864&n)||209005===n&&0==(4194304&u)?n:118:n}return 208897}function mn(e){return Fn(tn(e))||_t(e,93),128}function gn(e){return 117!==e.source.charCodeAt(e.index+1)&&_t(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){let u=0;const t=e.currentChar;if(123===t){const t=e.index-2;for(;64&an[tn(e)];)u=u<<4|Dn(e.currentChar),u>1114111&&Wt(t,e.line,e.index+1,101);return 125!==e.currentChar&&Wt(t,e.line,e.index-1,6),tn(e),u}0==(64&an[t])&&_t(e,6);const n=e.source.charCodeAt(e.index+1);0==(64&an[n])&&_t(e,6);const o=e.source.charCodeAt(e.index+2);0==(64&an[o])&&_t(e,6);const r=e.source.charCodeAt(e.index+3);0==(64&an[r])&&_t(e,6);return u=Dn(t)<<12|Dn(n)<<8|Dn(o)<<4|Dn(r),e.currentChar=e.source.charCodeAt(e.index+=4),u}(e)}function Bn(e,u,t){const{index:n}=e;let o=\"\",r=tn(e),s=e.index;for(;0==(8&an[r]);){if(r===t)return o+=e.source.slice(s,e.index),tn(e),512&u&&(e.tokenRaw=e.source.slice(n,e.index)),e.tokenValue=o,134283267;if(8==(8&r)&&92===r){if(o+=e.source.slice(s,e.index),r=tn(e),r<127||8232===r||8233===r){const t=yn(e,u,r);t>=0?o+=sn(t):hn(e,t,0)}else o+=sn(r);s=e.index+1}e.index>=e.end&&_t(e,14),r=tn(e)}_t(e,14)}function yn(e,u,t){switch(t){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:u}{if(0==(64&an[u]))return-4;const t=e.source.charCodeAt(e.index+1);if(0==(64&an[t]))return-4;const n=e.source.charCodeAt(e.index+2);if(0==(64&an[n]))return-4;const o=e.source.charCodeAt(e.index+3);return 0==(64&an[o])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),Dn(u)<<12|Dn(t)<<8|Dn(n)<<4|Dn(o))}}case 56:case 57:if(0==(256&u))return-3;default:return t}}function hn(e,u,t){switch(u){case-1:return;case-2:_t(e,t?2:1);case-3:_t(e,13);case-4:_t(e,6);case-5:_t(e,101)}}function kn(e,u,t){let n=e.currentChar,o=0,r=9,s=64&t?0:1,i=0,D=0;if(64&t)o=\".\"+Pn(e,n),n=e.currentChar,110===n&&_t(e,11);else{if(48===n)if(n=tn(e),120==(32|n)){for(t=136,n=tn(e);4160&an[n];)95!==n?(D=1,o=16*o+Dn(n),i++,n=tn(e)):(D||_t(e,146),D=0,n=tn(e));(i<1||!D)&&_t(e,i<1?19:147)}else if(111==(32|n)){for(t=132,n=tn(e);4128&an[n];)95!==n?(D=1,o=8*o+(n-48),i++,n=tn(e)):(D||_t(e,146),D=0,n=tn(e));(i<1||!D)&&_t(e,i<1?0:147)}else if(98==(32|n)){for(t=130,n=tn(e);4224&an[n];)95!==n?(D=1,o=2*o+(n-48),i++,n=tn(e)):(D||_t(e,146),D=0,n=tn(e));(i<1||!D)&&_t(e,i<1?0:147)}else if(32&an[n])for(1024&u&&_t(e,1),t=1;16&an[n];){if(512&an[n]){t=32,s=0;break}o=8*o+(n-48),n=tn(e)}else 512&an[n]?(1024&u&&_t(e,1),e.flags|=64,t=32):95===n&&_t(e,0);if(48&t){if(s){for(;r>=0&&4112&an[n];)95!==n?(D=0,o=10*o+(n-48),n=tn(e),--r):(n=tn(e),(95===n||32&t)&&Wt(e.index,e.line,e.index+1,146),D=1);if(D&&Wt(e.index,e.line,e.index+1,147),r>=0&&!Fn(n)&&46!==n)return e.tokenValue=o,512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}o+=Pn(e,n),n=e.currentChar,46===n&&(95===tn(e)&&_t(e,0),t=64,o+=\".\"+Pn(e,e.currentChar),n=e.currentChar)}}const a=e.index;let c=0;if(110===n&&128&t)c=1,n=tn(e);else if(101==(32|n)){n=tn(e),256&an[n]&&(n=tn(e));const{index:u}=e;(16&an[n])<1&&_t(e,10),o+=e.source.substring(a,u)+Pn(e,n),n=e.currentChar}return(e.index126)o+=sn(r);else{const t=yn(e,1024|u,r);if(t>=0)o+=sn(t);else{if(-1!==t&&65536&u){o=void 0,r=xn(e,r),r<0&&(n=67174408);break}hn(e,t,1)}}else e.index=e.end&&_t(e,15),r=tn(e)}return tn(e),e.tokenValue=o,e.tokenRaw=e.source.slice(t+1,e.index-(67174409===n?1:2)),n}function xn(e,u){for(;96!==u;){switch(u){case 36:{const t=e.index+1;if(t=e.end&&_t(e,15),u=tn(e)}return u}function vn(e,u){return e.index>=e.end&&_t(e,0),e.index--,e.column--,bn(e,u)}function Sn(e,u){const t=e.index;let n=0;e:for(;;){const u=e.currentChar;if(tn(e),1&n)n&=-2;else switch(u){case 47:if(n)break;break e;case 92:n|=1;break;case 91:n|=2;break;case 93:n&=1;break;case 13:case 10:case 8232:case 8233:_t(e,32)}if(e.index>=e.source.length)return _t(e,32)}const o=e.index-1;let r=0,s=e.currentChar;const{index:i}=e;for(;pn(s);){switch(s){case 103:2&r&&_t(e,34,\"g\"),r|=2;break;case 105:1&r&&_t(e,34,\"i\"),r|=1;break;case 109:4&r&&_t(e,34,\"m\"),r|=4;break;case 117:16&r&&_t(e,34,\"g\"),r|=16;break;case 121:8&r&&_t(e,34,\"y\"),r|=8;break;case 115:12&r&&_t(e,34,\"s\"),r|=12;break;default:_t(e,33)}s=tn(e)}const D=e.source.slice(i,e.index),a=e.source.slice(t,o);return e.tokenRegExp={pattern:a,flags:D},512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,u,t){try{return new RegExp(u,t)}catch(u){_t(e,32)}}(e,a,D),65540}function wn(e,u){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&an[e.currentChar]?function(e,u){const t=e.currentChar;let n=tn(e);const o=e.index;for(;n!==t;)e.index>=e.end&&_t(e,14),n=tn(e);n!==t&&_t(e,14);e.tokenValue=e.source.slice(o,e.index),tn(e),512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index));return 134283267}(e,u):Yt(e,u,0),e.token}function Tn(e,u){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(Ht[e.source.charCodeAt(e.index)]){case 8456255:tn(e),47===e.currentChar?(tn(e),e.token=25):e.token=8456255;break;case 2162700:tn(e),e.token=2162700;break;default:{let t=0;for(;e.index0&&Rn(e,u,209005);Mn(e,32768|u,67174411),t&&(t=Wn(t,1));let D,a=null,c=null,l=0,F=null,p=86087===e.token||241736===e.token||86089===e.token;const{token:C,tokenPos:E,linePos:A,colPos:f}=e;p?241736===C?(F=Go(e,u,0),2240512&e.token?(8738865===e.token?1024&u&&_t(e,64):F=$n(e,u,E,A,f,{type:\"VariableDeclaration\",kind:\"let\",declarations:Co(e,134217728|u,t,8,32)}),e.assignable=1):1024&u?_t(e,64):(p=!1,e.assignable=1,F=To(e,u,F,0,0,E,A,f),274546===e.token&&_t(e,111))):(Kt(e,u),F=$n(e,u,E,A,f,86087===C?{type:\"VariableDeclaration\",kind:\"var\",declarations:Co(e,134217728|u,t,4,32)}:{type:\"VariableDeclaration\",kind:\"const\",declarations:Co(e,134217728|u,t,16,32)}),e.assignable=1):1074790417===C?i&&_t(e,79):2097152==(2097152&C)?(F=2162700===C?Ko(e,u,void 0,1,0,0,2,32,E,A,f):qo(e,u,void 0,1,0,0,2,32,E,A,f),l=e.destructible,256&u&&64&l&&_t(e,60),e.assignable=16&l?2:1,F=To(e,134217728|u,F,0,0,e.tokenPos,e.linePos,e.colPos)):F=wo(e,134217728|u,1,0,1,E,A,f);if(262144==(262144&e.token)){if(274546===e.token){2&e.assignable&&_t(e,77,i?\"await\":\"of\"),jn(e,F),Kt(e,32768|u),D=yo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),Mn(e,32768|u,16);return $n(e,u,o,r,s,{type:\"ForOfStatement\",left:F,right:D,body:lo(e,u,t,n),await:i})}2&e.assignable&&_t(e,77,\"in\"),jn(e,F),Kt(e,32768|u),i&&_t(e,79),D=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos),Mn(e,32768|u,16);return $n(e,u,o,r,s,{type:\"ForInStatement\",body:lo(e,u,t,n),left:F,right:D})}i&&_t(e,79);p||(8&l&&1077936157!==e.token&&_t(e,77,\"loop\"),F=Po(e,134217728|u,0,0,E,A,f,F));18===e.token&&(F=ho(e,u,0,e.tokenPos,e.linePos,e.colPos,F));Mn(e,32768|u,1074790417),1074790417!==e.token&&(a=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos));Mn(e,32768|u,1074790417),16!==e.token&&(c=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos));Mn(e,32768|u,16);const d=lo(e,u,t,n);return $n(e,u,o,r,s,{type:\"ForStatement\",init:F,test:a,update:c,body:d})}(e,u,t,o,s,i,D);case 20561:return function(e,u,t,n,o,r,s){Kt(e,32768|u);const i=lo(e,u,t,n);Mn(e,u,20577),Mn(e,32768|u,67174411);const D=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos);return Mn(e,32768|u,16),Rn(e,u,1074790417),$n(e,u,o,r,s,{type:\"DoWhileStatement\",body:i,test:D})}(e,u,t,o,s,i,D);case 20577:return function(e,u,t,n,o,r,s){Kt(e,u),Mn(e,32768|u,67174411);const i=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos);Mn(e,32768|u,16);const D=lo(e,u,t,n);return $n(e,u,o,r,s,{type:\"WhileStatement\",test:i,body:D})}(e,u,t,o,s,i,D);case 86109:return function(e,u,t,n,o,r,s){Kt(e,u),Mn(e,32768|u,67174411);const i=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos);Mn(e,u,16),Mn(e,u,2162700);const D=[];let a=0;t&&(t=Wn(t,8));for(;1074790415!==e.token;){const{tokenPos:o,linePos:r,colPos:s}=e;let i=null;const c=[];for(Rn(e,32768|u,20555)?i=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos):(Mn(e,32768|u,20560),a&&_t(e,86),a=1),Mn(e,32768|u,21);20555!==e.token&&1074790415!==e.token&&20560!==e.token;)c.push(no(e,4096|u,t,2,{$:n}));D.push($n(e,u,o,r,s,{type:\"SwitchCase\",test:i,consequent:c}))}return Mn(e,32768|u,1074790415),$n(e,u,o,r,s,{type:\"SwitchStatement\",discriminant:i,cases:D})}(e,u,t,o,s,i,D);case 1074790417:return function(e,u,t,n,o){return Kt(e,32768|u),$n(e,u,t,n,o,{type:\"EmptyStatement\"})}(e,u,s,i,D);case 2162700:return ro(e,u,t?Wn(t,2):t,o,s,i,D);case 86111:return function(e,u,t,n,o){Kt(e,32768|u),1&e.flags&&_t(e,87);const r=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos);return Nn(e,32768|u),$n(e,u,t,n,o,{type:\"ThrowStatement\",argument:r})}(e,u,s,i,D);case 20554:return function(e,u,t,n,o,r){Kt(e,32768|u);let s=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:n}=e;s=Go(e,32768|u,0),Gn(e,t,n,0)||_t(e,134,n)}else(135168&u)<1&&_t(e,66);return Nn(e,32768|u),$n(e,u,n,o,r,{type:\"BreakStatement\",label:s})}(e,u,o,s,i,D);case 20558:return function(e,u,t,n,o,r){(131072&u)<1&&_t(e,65);Kt(e,u);let s=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:n}=e;s=Go(e,32768|u,0),Gn(e,t,n,1)||_t(e,134,n)}return Nn(e,32768|u),$n(e,u,n,o,r,{type:\"ContinueStatement\",label:s})}(e,u,o,s,i,D);case 20576:return function(e,u,t,n,o,r,s){Kt(e,32768|u);const i=t?Wn(t,32):void 0,D=ro(e,u,i,{$:n},e.tokenPos,e.linePos,e.colPos),{tokenPos:a,linePos:c,colPos:l}=e,F=Rn(e,32768|u,20556)?function(e,u,t,n,o,r,s){let i=null,D=t;Rn(e,u,67174411)&&(t&&(t=Wn(t,4)),i=pr(e,u,t,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?_t(e,83):1077936157===e.token&&_t(e,84),Mn(e,32768|u,16),t&&(D=Wn(t,64)));const a=ro(e,u,D,{$:n},e.tokenPos,e.linePos,e.colPos);return $n(e,u,o,r,s,{type:\"CatchClause\",param:i,body:a})}(e,u,t,n,a,c,l):null;let p=null;if(20565===e.token){Kt(e,32768|u);p=ro(e,u,i?Wn(t,4):void 0,{$:n},e.tokenPos,e.linePos,e.colPos)}F||p||_t(e,85);return $n(e,u,o,r,s,{type:\"TryStatement\",block:D,handler:F,finalizer:p})}(e,u,t,o,s,i,D);case 20578:return function(e,u,t,n,o,r,s){Kt(e,u),1024&u&&_t(e,88);Mn(e,32768|u,67174411);const i=ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos);Mn(e,32768|u,16);const D=oo(e,u,t,2,n,0,e.tokenPos,e.linePos,e.colPos);return $n(e,u,o,r,s,{type:\"WithStatement\",object:i,body:D})}(e,u,t,o,s,i,D);case 20559:return function(e,u,t,n,o){return Kt(e,32768|u),Nn(e,32768|u),$n(e,u,t,n,o,{type:\"DebuggerStatement\"})}(e,u,s,i,D);case 143468:return Do(e,u,t,n,o,0,s,i,D);case 20556:_t(e,156);case 20565:_t(e,157);case 86103:_t(e,1024&u?73:(256&u)<1?75:74);case 86093:_t(e,76);default:return function(e,u,t,n,o,r,s,i,D){const{tokenValue:a,token:c}=e;let l;switch(c){case 241736:l=Go(e,u,0),1024&u&&_t(e,82),69271571===e.token&&_t(e,81);break;default:l=No(e,u,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos)}if(143360&c&&21===e.token)return io(e,u,t,n,o,a,l,c,r,s,i,D);l=To(e,u,l,0,0,s,i,D),l=Po(e,u,0,0,s,i,D,l),18===e.token&&(l=ho(e,u,0,s,i,D,l));return so(e,u,l,s,i,D)}(e,u,t,n,o,r,s,i,D)}}function ro(e,u,t,n,o,r,s){const i=[];for(Mn(e,32768|u,2162700);1074790415!==e.token;)i.push(no(e,u,t,2,{$:n}));return Mn(e,32768|u,1074790415),$n(e,u,o,r,s,{type:\"BlockStatement\",body:i})}function so(e,u,t,n,o,r){return Nn(e,32768|u),$n(e,u,n,o,r,{type:\"ExpressionStatement\",expression:t})}function io(e,u,t,n,o,r,s,i,D,a,c,l){Vn(e,u,0,i,1),function(e,u,t){let n=u;for(;n;)n[\"$\"+t]&&_t(e,132,t),n=n.$;u[\"$\"+t]=1}(e,o,r),Kt(e,32768|u);return $n(e,u,a,c,l,{type:\"LabeledStatement\",label:s,body:D&&(1024&u)<1&&256&u&&86103===e.token?_o(e,u,Wn(t,2),n,0,0,0,e.tokenPos,e.linePos,e.colPos):oo(e,u,t,n,o,D,e.tokenPos,e.linePos,e.colPos)})}function Do(e,u,t,n,o,r,s,i,D){const{token:a,tokenValue:c}=e;let l=Go(e,u,0);if(21===e.token)return io(e,u,t,n,o,c,l,a,1,s,i,D);const F=1&e.flags;if(!F){if(86103===e.token)return r||_t(e,119),_o(e,u,t,n,1,0,1,s,i,D);if(143360==(143360&e.token))return l=or(e,u,1,s,i,D),18===e.token&&(l=ho(e,u,0,s,i,D,l)),so(e,u,l,s,i,D)}return 67174411===e.token?l=rr(e,u,l,1,1,0,F,s,i,D):(10===e.token&&(eo(e,u,a,1),l=Qo(e,u,e.tokenValue,l,0,1,0,s,i,D)),e.assignable=1),l=To(e,u,l,0,0,s,i,D),18===e.token&&(l=ho(e,u,0,s,i,D,l)),l=Po(e,u,0,0,s,i,D,l),e.assignable=1,so(e,u,l,s,i,D)}function ao(e,u,t,n,o,r,s){return 1074790417!==n&&(e.assignable=2,t=To(e,u,t,0,0,o,r,s),1074790417!==e.token&&(t=Po(e,u,0,0,o,r,s,t),18===e.token&&(t=ho(e,u,0,o,r,s,t))),Nn(e,32768|u)),8&u&&\"Literal\"===t.type&&\"string\"==typeof t.value?$n(e,u,o,r,s,{type:\"ExpressionStatement\",expression:t,directive:t.raw.slice(1,-1)}):$n(e,u,o,r,s,{type:\"ExpressionStatement\",expression:t})}function co(e,u,t,n,o,r,s){return 1024&u||(256&u)<1||86103!==e.token?oo(e,u,t,0,{$:n},0,e.tokenPos,e.linePos,e.colPos):_o(e,u,Wn(t,2),0,0,0,0,o,r,s)}function lo(e,u,t,n){return oo(e,134217728^(134217728|u)|131072,t,0,{loop:1,$:n},0,e.tokenPos,e.linePos,e.colPos)}function Fo(e,u,t,n,o,r,s,i){Kt(e,u);const D=Co(e,u,t,n,o);return Nn(e,32768|u),$n(e,u,r,s,i,{type:\"VariableDeclaration\",kind:8&n?\"let\":\"const\",declarations:D})}function po(e,u,t,n,o,r,s){Kt(e,u);const i=Co(e,u,t,4,n);return Nn(e,32768|u),$n(e,u,o,r,s,{type:\"VariableDeclaration\",kind:\"var\",declarations:i})}function Co(e,u,t,n,o){let r=1;const s=[Eo(e,u,t,n,o)];for(;Rn(e,u,18);)r++,s.push(Eo(e,u,t,n,o));return r>1&&32&o&&262144&e.token&&_t(e,58,Cn[255&e.token]),s}function Eo(e,u,t,n,o){const{token:r,tokenPos:s,linePos:i,colPos:D}=e;let a=null;const c=pr(e,u,t,n,o,s,i,D);return 1077936157===e.token?(Kt(e,32768|u),a=yo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&o||(2097152&r)<1)&&(274546===e.token||8738865===e.token&&(2097152&r||(4&n)<1||1024&u))&&qt(s,e.line,e.index-3,57,274546===e.token?\"of\":\"in\")):(16&n||(2097152&r)>0)&&262144!=(262144&e.token)&&_t(e,56,16&n?\"const\":\"destructuring\"),$n(e,u,s,i,D,{type:\"VariableDeclarator\",id:c,init:a})}function Ao(e,u,t){return Qn(u,e.token)||_t(e,114),537079808==(537079808&e.token)&&_t(e,115),t&&Hn(e,u,t,e.tokenValue,8,0),Go(e,u,0)}function fo(e,u,t){const{tokenPos:n,linePos:o,colPos:r}=e;return Kt(e,u),Mn(e,u,12395),134217728==(134217728&e.token)&&qt(n,e.line,e.index,28,Cn[255&e.token]),$n(e,u,n,o,r,{type:\"ImportNamespaceSpecifier\",local:Ao(e,u,t)})}function mo(e,u,t,n){for(Kt(e,u);143360&e.token;){let{token:o,tokenValue:r,tokenPos:s,linePos:i,colPos:D}=e;const a=Go(e,u,0);let c;Rn(e,u,12395)?(134217728==(134217728&e.token)||18===e.token?_t(e,103):Vn(e,u,16,e.token,0),r=e.tokenValue,c=Go(e,u,0)):(Vn(e,u,16,o,0),c=a),t&&Hn(e,u,t,r,8,0),n.push($n(e,u,s,i,D,{type:\"ImportSpecifier\",local:c,imported:a})),1074790415!==e.token&&Mn(e,u,18)}return Mn(e,u,1074790415),n}function go(e,u,t,n,o){let r=Lo(e,u,$n(e,u,t,n,o,{type:\"Identifier\",name:\"import\"}),t,n,o);return r=To(e,u,r,0,0,t,n,o),r=Po(e,u,0,0,t,n,o,r),so(e,u,r,t,n,o)}function Bo(e,u,t,n,o){let r=Oo(e,u,0,t,n,o);return r=To(e,u,r,0,0,t,n,o),so(e,u,r,t,n,o)}function yo(e,u,t,n,o,r,s,i){let D=No(e,u,2,0,t,n,o,1,r,s,i);return D=To(e,u,D,o,0,r,s,i),Po(e,u,o,0,r,s,i,D)}function ho(e,u,t,n,o,r,s){const i=[s];for(;Rn(e,32768|u,18);)i.push(yo(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos));return $n(e,u,n,o,r,{type:\"SequenceExpression\",expressions:i})}function ko(e,u,t,n,o,r,s){const i=yo(e,u,n,0,t,o,r,s);return 18===e.token?ho(e,u,t,o,r,s,i):i}function Po(e,u,t,n,o,r,s,i){const{token:D}=e;if(4194304==(4194304&D)){2&e.assignable&&_t(e,24),(!n&&1077936157===D&&\"ArrayExpression\"===i.type||\"ObjectExpression\"===i.type)&&jn(e,i),Kt(e,32768|u);const a=yo(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,$n(e,u,o,r,s,n?{type:\"AssignmentPattern\",left:i,right:a}:{type:\"AssignmentExpression\",left:i,operator:Cn[255&D],right:a})}return 8454144==(8454144&D)&&(i=vo(e,u,t,o,r,s,4,D,i)),Rn(e,32768|u,22)&&(i=xo(e,u,i,o,r,s)),i}function bo(e,u,t,n,o,r,s,i){const{token:D}=e;Kt(e,32768|u);const a=yo(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);return i=$n(e,u,o,r,s,n?{type:\"AssignmentPattern\",left:i,right:a}:{type:\"AssignmentExpression\",left:i,operator:Cn[255&D],right:a}),e.assignable=2,i}function xo(e,u,t,n,o,r){const s=yo(e,134217728^(134217728|u),1,0,0,e.tokenPos,e.linePos,e.colPos);Mn(e,32768|u,21),e.assignable=1;const i=yo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,$n(e,u,n,o,r,{type:\"ConditionalExpression\",test:t,consequent:s,alternate:i})}function vo(e,u,t,n,o,r,s,i,D){const a=8738865&-((134217728&u)>0);let c,l;for(e.assignable=2;8454144&e.token&&(c=e.token,l=3840&c,(524288&c&&268435456&i||524288&i&&268435456&c)&&_t(e,159),!(l+((8457270===c)<<8)-((a===c)<<12)<=s));)Kt(e,32768|u),D=$n(e,u,n,o,r,{type:524288&c||268435456&c?\"LogicalExpression\":\"BinaryExpression\",left:D,right:vo(e,u,t,e.tokenPos,e.linePos,e.colPos,l,c,wo(e,u,0,t,1,e.tokenPos,e.linePos,e.colPos)),operator:Cn[255&c]});return 1077936157===e.token&&_t(e,24),D}function So(e,u,t,n,o,r){const{tokenPos:s,linePos:i,colPos:D}=e;Mn(e,32768|u,2162700);const a=[],c=u;if(1074790415!==e.token){for(;134283267===e.token;){const{index:t,tokenPos:n,tokenValue:o,token:r}=e,s=$o(e,u);Ln(e,t,n,o)&&(u|=1024,128&e.flags&&qt(e.index,e.line,e.tokenPos,63),64&e.flags&&qt(e.index,e.line,e.tokenPos,8)),a.push(ao(e,u,s,r,n,e.linePos,e.colPos))}1024&u&&(o&&(537079808==(537079808&o)&&_t(e,115),36864==(36864&o)&&_t(e,38)),512&e.flags&&_t(e,115),256&e.flags&&_t(e,114)),64&u&&t&&void 0!==r&&(1024&c)<1&&(8192&u)<1&&Jt(r)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)a.push(no(e,u,t,4,{}));return Mn(e,24&n?32768|u:u,1074790415),e.flags&=-193,1077936157===e.token&&_t(e,24),$n(e,u,s,i,D,{type:\"BlockStatement\",body:a})}function wo(e,u,t,n,o,r,s,i){return To(e,u,No(e,u,2,0,t,0,n,o,r,s,i),n,0,r,s,i)}function To(e,u,t,n,o,r,s,i){if(33619968==(33619968&e.token)&&(1&e.flags)<1)t=function(e,u,t,n,o,r){2&e.assignable&&_t(e,52);const{token:s}=e;return Kt(e,u),e.assignable=2,$n(e,u,n,o,r,{type:\"UpdateExpression\",argument:t,operator:Cn[255&s],prefix:!1})}(e,u,t,r,s,i);else if(67108864==(67108864&e.token)){switch(u=134225920^(134225920|u),e.token){case 67108877:Kt(e,1073741824|u),e.assignable=1;t=$n(e,u,r,s,i,{type:\"MemberExpression\",object:t,computed:!1,property:Io(e,u)});break;case 69271571:{let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags)),Kt(e,32768|u);const{tokenPos:D,linePos:a,colPos:c}=e,l=ko(e,u,n,1,D,a,c);Mn(e,u,20),e.assignable=1,t=$n(e,u,r,s,i,{type:\"MemberExpression\",object:t,computed:!0,property:l}),o&&(e.flags|=2048);break}case 67174411:{if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),t;let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags));const D=Uo(e,u,n);e.assignable=2,t=$n(e,u,r,s,i,{type:\"CallExpression\",callee:t,arguments:D}),o&&(e.flags|=2048);break}case 67108988:Kt(e,u),e.flags|=2048,e.assignable=2,t=function(e,u,t,n,o,r){let s,i=!1;69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(i=!0,e.flags=2048^(2048|e.flags));if(69271571===e.token){Kt(e,32768|u);const{tokenPos:i,linePos:D,colPos:a}=e,c=ko(e,u,0,1,i,D,a);Mn(e,u,20),e.assignable=2,s=$n(e,u,n,o,r,{type:\"MemberExpression\",object:t,computed:!0,optional:!0,property:c})}else if(67174411===e.token){const i=Uo(e,u,0);e.assignable=2,s=$n(e,u,n,o,r,{type:\"CallExpression\",callee:t,arguments:i,optional:!0})}else{(143360&e.token)<1&&_t(e,154);const i=Go(e,u,0);e.assignable=2,s=$n(e,u,n,o,r,{type:\"MemberExpression\",object:t,computed:!1,optional:!0,property:i})}i&&(e.flags|=2048);return s}(e,u,t,r,s,i);break;default:2048==(2048&e.flags)&&_t(e,160),e.assignable=2,t=$n(e,u,r,s,i,{type:\"TaggedTemplateExpression\",tag:t,quasi:67174408===e.token?jo(e,65536|u,e.tokenPos,e.linePos,e.colPos):Mo(e,u,e.tokenPos,e.linePos,e.colPos)})}t=To(e,u,t,0,1,r,s,i)}return 0===o&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),t=$n(e,u,r,s,i,{type:\"ChainExpression\",expression:t})),t}function Io(e,u){return(143360&e.token)<1&&128!==e.token&&_t(e,154),1&u&&128===e.token?lr(e,u,e.tokenPos,e.linePos,e.colPos):Go(e,u,0)}function No(e,u,t,n,o,r,s,i,D,a,c){if(143360==(143360&e.token)){switch(e.token){case 209005:return function(e,u,t,n,o,r,s){if(n&&(e.destructible|=128),4194304&u){t&&_t(e,0),8388608&u&&qt(e.index,e.line,e.index,29),Kt(e,32768|u);const n=wo(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,$n(e,u,o,r,s,{type:\"AwaitExpression\",argument:n})}return 2048&u&&_t(e,107,\"Await\"),Zo(e,u,o,r,s)}(e,u,n,s,D,a,c);case 241770:return function(e,u,t,n,o,r,s){if(t&&(e.destructible|=256),2097152&u){Kt(e,32768|u),8388608&u&&_t(e,30),n||_t(e,24),22===e.token&&_t(e,120);let t=null,i=!1;return(1&e.flags)<1&&(i=Rn(e,32768|u,8457011),(65536&e.token||i)&&(t=yo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,$n(e,u,o,r,s,{type:\"YieldExpression\",argument:t,delegate:i})}return 1024&u&&_t(e,94,\"yield\"),Zo(e,u,o,r,s)}(e,u,s,o,D,a,c);case 143468:return function(e,u,t,n,o,r,s,i,D,a){const{token:c}=e,l=Go(e,u,r),{flags:F}=e;if((1&F)<1){if(86103===e.token)return Jo(e,u,1,t,i,D,a);if(143360==(143360&e.token))return n||_t(e,0),or(e,u,o,i,D,a)}return s||67174411!==e.token?10===e.token?(eo(e,u,c,1),s&&_t(e,48),Qo(e,u,e.tokenValue,l,s,o,0,i,D,a)):l:rr(e,u,l,o,1,0,F,i,D,a)}(e,u,s,i,o,r,n,D,a,c)}const{token:l,tokenValue:F}=e,p=Go(e,65536|u,r);return 10===e.token?(i||_t(e,0),eo(e,u,l,1),Qo(e,u,F,p,n,o,0,D,a,c)):(16384&u&&537079925===l&&_t(e,126),241736===l&&(1024&u&&_t(e,109),24&t&&_t(e,97)),e.assignable=1024&u&&537079808==(537079808&l)?2:1,p)}if(134217728==(134217728&e.token))return $o(e,u);switch(e.token){case 33619995:case 33619996:return function(e,u,t,n,o,r,s){t&&_t(e,53),n||_t(e,0);const{token:i}=e;Kt(e,32768|u);const D=wo(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&_t(e,52),e.assignable=2,$n(e,u,o,r,s,{type:\"UpdateExpression\",argument:D,operator:Cn[255&i],prefix:!0})}(e,u,n,i,D,a,c);case 16863275:case 16842797:case 16842798:case 25233967:case 25233968:case 16863274:case 16863276:return function(e,u,t,n,o,r,s){t||_t(e,0);const i=e.token;Kt(e,32768|u);const D=wo(e,u,0,s,1,e.tokenPos,e.linePos,e.colPos);var a;return 8457270===e.token&&_t(e,31),1024&u&&16863275===i&&(\"Identifier\"===D.type?_t(e,117):(a=D).property&&\"PrivateName\"===a.property.type&&_t(e,123)),e.assignable=2,$n(e,u,n,o,r,{type:\"UnaryExpression\",operator:Cn[255&i],argument:D,prefix:!0})}(e,u,i,D,a,c,s);case 86103:return Jo(e,u,0,s,D,a,c);case 2162700:return function(e,u,t,n,o,r,s){const i=Ko(e,u,void 0,t,n,0,2,0,o,r,s);256&u&&64&e.destructible&&_t(e,60);8&e.destructible&&_t(e,59);return i}(e,u,o?0:1,s,D,a,c);case 69271571:return function(e,u,t,n,o,r,s){const i=qo(e,u,void 0,t,n,0,2,0,o,r,s);256&u&&64&e.destructible&&_t(e,60);8&e.destructible&&_t(e,59);return i}(e,u,o?0:1,s,D,a,c);case 67174411:return function(e,u,t,n,o,r,s,i){e.flags=128^(128|e.flags);const{tokenPos:D,linePos:a,colPos:c}=e;Kt(e,1073774592|u);const l=64&u?Wn({parent:void 0,type:2},1024):void 0;if(Rn(e,u=134225920^(134225920|u),16))return er(e,u,l,[],t,0,r,s,i);let F,p=0;e.destructible&=-385;let C=[],E=0,A=0;const{tokenPos:f,linePos:d,colPos:m}=e;e.assignable=1;for(;16!==e.token;){const{token:t,tokenPos:r,linePos:s,colPos:i}=e;if(143360&t)l&&Hn(e,u,l,e.tokenValue,1,0),F=No(e,u,n,0,1,0,1,1,r,s,i),16===e.token||18===e.token?2&e.assignable?(p|=16,A=1):537079808!=(537079808&t)&&36864!=(36864&t)||(A=1):(1077936157===e.token?A=1:p|=16,F=To(e,u,F,1,0,r,s,i),16!==e.token&&18!==e.token&&(F=Po(e,u,1,0,r,s,i,F)));else{if(2097152!=(2097152&t)){if(14===t){F=zo(e,u,l,16,n,o,0,1,0,r,s,i),16&e.destructible&&_t(e,71),A=1,!E||16!==e.token&&18!==e.token||C.push(F),p|=8;break}if(p|=16,F=yo(e,u,1,0,1,r,s,i),!E||16!==e.token&&18!==e.token||C.push(F),18===e.token&&(E||(E=1,C=[F])),E){for(;Rn(e,32768|u,18);)C.push(yo(e,u,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,F=$n(e,u,f,d,m,{type:\"SequenceExpression\",expressions:C})}return Mn(e,u,16),e.destructible=p,F}F=2162700===t?Ko(e,1073741824|u,l,0,1,0,n,o,r,s,i):qo(e,1073741824|u,l,0,1,0,n,o,r,s,i),p|=e.destructible,A=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&p&&_t(e,118),F=To(e,u,F,0,0,r,s,i),p|=16,16!==e.token&&18!==e.token&&(F=Po(e,u,0,0,r,s,i,F)))}if(!E||16!==e.token&&18!==e.token||C.push(F),!Rn(e,32768|u,18))break;if(E||(E=1,C=[F]),16===e.token){p|=8;break}}E&&(e.assignable=2,F=$n(e,u,f,d,m,{type:\"SequenceExpression\",expressions:C}));Mn(e,u,16),16&p&&8&p&&_t(e,145);if(p|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token)return 48&p&&_t(e,46),4196352&u&&128&p&&_t(e,29),2098176&u&&256&p&&_t(e,30),A&&(e.flags|=128),er(e,u,l,E?C:[F],t,0,r,s,i);8&p&&_t(e,139);return e.destructible=256^(256|e.destructible)|p,128&u?$n(e,u,D,a,c,{type:\"ParenthesizedExpression\",expression:F}):F}(e,u,o,1,0,D,a,c);case 86021:case 86022:case 86023:return function(e,u,t,n,o){const r=Cn[255&e.token],s=86023===e.token?null:\"true\"===r;return Kt(e,u),e.assignable=2,$n(e,u,t,n,o,512&u?{type:\"Literal\",value:s,raw:r}:{type:\"Literal\",value:s})}(e,u,D,a,c);case 86110:return function(e,u){const{tokenPos:t,linePos:n,colPos:o}=e;return Kt(e,u),e.assignable=2,$n(e,u,t,n,o,{type:\"ThisExpression\"})}(e,u);case 65540:return function(e,u,t,n,o){const{tokenRaw:r,tokenRegExp:s,tokenValue:i}=e;return Kt(e,u),e.assignable=2,$n(e,u,t,n,o,512&u?{type:\"Literal\",value:i,regex:s,raw:r}:{type:\"Literal\",value:i,regex:s})}(e,u,D,a,c);case 130:case 86093:return function(e,u,t,n,o,r){let s=null,i=null;const D=ir(e,u=16777216^(16778240|u));D.length&&(n=e.tokenPos,o=e.linePos,r=e.colPos);Kt(e,u),(4351&e.token^84)>4096&&(Un(e,u,e.token)&&_t(e,114),537079808==(537079808&e.token)&&_t(e,115),s=Go(e,u,0));let a=u;Rn(e,32768|u,20564)?(i=wo(e,u,0,t,0,e.tokenPos,e.linePos,e.colPos),a|=524288):a=524288^(524288|a);const c=ar(e,a,u,void 0,2,0,t);return e.assignable=2,$n(e,u,n,o,r,1&u?{type:\"ClassExpression\",id:s,superClass:i,decorators:D,body:c}:{type:\"ClassExpression\",id:s,superClass:i,body:c})}(e,u,s,D,a,c);case 86108:return function(e,u,t,n,o){switch(Kt(e,u),e.token){case 67108988:_t(e,161);case 67174411:(524288&u)<1&&_t(e,26),16384&u&&_t(e,143),e.assignable=2;break;case 69271571:case 67108877:(262144&u)<1&&_t(e,27),16384&u&&_t(e,143),e.assignable=1;break;default:_t(e,28,\"super\")}return $n(e,u,t,n,o,{type:\"Super\"})}(e,u,D,a,c);case 67174409:return Mo(e,u,D,a,c);case 67174408:return jo(e,u,D,a,c);case 86106:return function(e,u,t,n,o,r){const s=Go(e,32768|u,0),{tokenPos:i,linePos:D,colPos:a}=e;if(Rn(e,u,67108877)){if(67108864&u&&143491===e.token)return e.assignable=2,function(e,u,t,n,o,r){const s=Go(e,u,0);return $n(e,u,n,o,r,{type:\"MetaProperty\",meta:t,property:s})}(e,u,s,n,o,r);_t(e,91)}e.assignable=2,16842752==(16842752&e.token)&&_t(e,62,Cn[255&e.token]);const c=No(e,u,2,1,0,0,t,1,i,D,a);u=134217728^(134217728|u),67108988===e.token&&_t(e,162);const l=nr(e,u,c,t,i,D,a);return e.assignable=2,$n(e,u,n,o,r,{type:\"NewExpression\",callee:l,arguments:67174411===e.token?Uo(e,u,t):[]})}(e,u,s,D,a,c);case 134283386:return Ro(e,u,D,a,c);case 128:return lr(e,u,D,a,c);case 86105:return function(e,u,t,n,o,r,s){let i=Go(e,u,0);if(67108877===e.token)return Lo(e,u,i,o,r,s);t&&_t(e,137);return i=Oo(e,u,n,o,r,s),e.assignable=2,To(e,u,i,n,0,o,r,s)}(e,u,n,s,D,a,c);case 8456255:if(16&u)return Er(e,u,1,D,a,c);default:if(Qn(u,e.token))return Zo(e,u,D,a,c);_t(e,28,Cn[255&e.token])}}function Lo(e,u,t,n,o,r){return 0==(2048&u)&&_t(e,163),Kt(e,u),143492!==e.token&&\"meta\"!==e.tokenValue&&_t(e,28,Cn[255&e.token]),e.assignable=2,$n(e,u,n,o,r,{type:\"MetaProperty\",meta:t,property:Go(e,u,0)})}function Oo(e,u,t,n,o,r){Mn(e,32768|u,67174411),14===e.token&&_t(e,138);const s=yo(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos);return Mn(e,u,16),$n(e,u,n,o,r,{type:\"ImportExpression\",source:s})}function Ro(e,u,t,n,o){const{tokenRaw:r,tokenValue:s}=e;return Kt(e,u),e.assignable=2,$n(e,u,t,n,o,512&u?{type:\"Literal\",value:s,bigint:r.slice(0,-1),raw:r}:{type:\"Literal\",value:s,bigint:r.slice(0,-1)})}function Mo(e,u,t,n,o){e.assignable=2;const{tokenValue:r,tokenRaw:s,tokenPos:i,linePos:D,colPos:a}=e;Mn(e,u,67174409);return $n(e,u,t,n,o,{type:\"TemplateLiteral\",expressions:[],quasis:[Vo(e,u,r,s,i,D,a,!0)]})}function jo(e,u,t,n,o){u=134217728^(134217728|u);const{tokenValue:r,tokenRaw:s,tokenPos:i,linePos:D,colPos:a}=e;Mn(e,32768|u,67174408);const c=[Vo(e,u,r,s,i,D,a,!1)],l=[ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&_t(e,80);67174409!==(e.token=vn(e,u));){const{tokenValue:t,tokenRaw:n,tokenPos:o,linePos:r,colPos:s}=e;Mn(e,32768|u,67174408),c.push(Vo(e,u,t,n,o,r,s,!1)),l.push(ko(e,u,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&_t(e,80)}{const{tokenValue:t,tokenRaw:n,tokenPos:o,linePos:r,colPos:s}=e;Mn(e,u,67174409),c.push(Vo(e,u,t,n,o,r,s,!0))}return $n(e,u,t,n,o,{type:\"TemplateLiteral\",expressions:l,quasis:c})}function Vo(e,u,t,n,o,r,s,i){const D=$n(e,u,o,r,s,{type:\"TemplateElement\",value:{cooked:t,raw:n},tail:i}),a=i?1:2;return 2&u&&(D.start+=1,D.range[0]+=1,D.end-=a,D.range[1]-=a),4&u&&(D.loc.start.column+=1,D.loc.end.column-=a),D}function Xo(e,u,t,n,o){Mn(e,32768|(u=134217728^(134217728|u)),14);const r=yo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,$n(e,u,t,n,o,{type:\"SpreadElement\",argument:r})}function Uo(e,u,t){Kt(e,32768|u);const n=[];if(16===e.token)return Kt(e,u),n;for(;16!==e.token&&(14===e.token?n.push(Xo(e,u,e.tokenPos,e.linePos,e.colPos)):n.push(yo(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(Kt(e,32768|u),16!==e.token););return Mn(e,u,16),n}function Go(e,u,t){const{tokenValue:n,tokenPos:o,linePos:r,colPos:s}=e;return Kt(e,u),$n(e,u,o,r,s,268435456&u?{type:\"Identifier\",name:n,pattern:1===t}:{type:\"Identifier\",name:n})}function $o(e,u){const{tokenValue:t,tokenRaw:n,tokenPos:o,linePos:r,colPos:s}=e;return 134283386===e.token?Ro(e,u,o,r,s):(Kt(e,u),e.assignable=2,$n(e,u,o,r,s,512&u?{type:\"Literal\",value:t,raw:n}:{type:\"Literal\",value:t}))}function _o(e,u,t,n,o,r,s,i,D,a){Kt(e,32768|u);const c=o?On(e,u,8457011):0;let l,F=null,p=t?{parent:void 0,type:2}:void 0;if(67174411===e.token)(1&r)<1&&_t(e,37,\"Function\");else{const o=4&n&&((8192&u)<1||(2048&u)<1)?4:64;Xn(e,u|(3072&u)<<11,e.token),t&&(4&o?Kn(e,u,t,e.tokenValue,o):Hn(e,u,t,e.tokenValue,o,n),p=Wn(p,256),r&&2&r&&Yn(e,e.tokenValue)),l=e.token,F=Go(e,u,0)}u=32243712^(32243712|u)|67108864|2*s+c<<21|(c?0:1073741824),t&&(p=Wn(p,512));return $n(e,u,i,D,a,{type:\"FunctionDeclaration\",id:F,params:tr(e,8388608|u,p,0,1),body:So(e,143360^(143360|u),t?Wn(p,128):p,8,l,t?p.scopeError:void 0),async:1===s,generator:1===c})}function Jo(e,u,t,n,o,r,s){Kt(e,32768|u);const i=On(e,u,8457011),D=2*t+i<<21;let a,c=null,l=64&u?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(Xn(e,32243712^(32243712|u)|D,e.token),l&&(l=Wn(l,256)),a=e.token,c=Go(e,u,0)),u=32243712^(32243712|u)|67108864|D|(i?0:1073741824),l&&(l=Wn(l,512));const F=tr(e,8388608|u,l,n,1),p=So(e,-134377473&u,l?Wn(l,128):l,0,a,void 0);return e.assignable=2,$n(e,u,o,r,s,{type:\"FunctionExpression\",id:c,params:F,body:p,async:1===t,generator:1===i})}function qo(e,u,t,n,o,r,s,i,D,a,c){Kt(e,32768|u);const l=[];let F=0;for(u=134217728^(134217728|u);20!==e.token;)if(Rn(e,32768|u,18))l.push(null);else{let n;const{token:D,tokenPos:a,linePos:c,colPos:p,tokenValue:C}=e;if(143360&D)if(n=No(e,u,s,0,1,0,o,1,a,c,p),1077936157===e.token){2&e.assignable&&_t(e,24),Kt(e,32768|u),t&&zn(e,u,t,C,s,i);const D=yo(e,u,1,1,o,e.tokenPos,e.linePos,e.colPos);n=$n(e,u,a,c,p,r?{type:\"AssignmentPattern\",left:n,right:D}:{type:\"AssignmentExpression\",operator:\"=\",left:n,right:D}),F|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?F|=16:t&&zn(e,u,t,C,s,i),F|=256&e.destructible?256:0|128&e.destructible?128:0):(F|=1&s?32:(2&s)<1?16:0,n=To(e,u,n,o,0,a,c,p),18!==e.token&&20!==e.token?(1077936157!==e.token&&(F|=16),n=Po(e,u,o,r,a,c,p,n)):1077936157!==e.token&&(F|=2&e.assignable?16:32));else 2097152&D?(n=2162700===e.token?Ko(e,u,t,0,o,r,s,i,a,c,p):qo(e,u,t,0,o,r,s,i,a,c,p),F|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(F|=16):8&e.destructible?_t(e,68):(n=To(e,u,n,o,0,a,c,p),F=2&e.assignable?16:0,18!==e.token&&20!==e.token?n=Po(e,u,o,r,a,c,p,n):1077936157!==e.token&&(F|=2&e.assignable?16:32))):14===D?(n=zo(e,u,t,20,s,i,0,o,r,a,c,p),F|=e.destructible,18!==e.token&&20!==e.token&&_t(e,28,Cn[255&e.token])):(n=wo(e,u,1,0,1,a,c,p),18!==e.token&&20!==e.token?(n=Po(e,u,o,r,a,c,p,n),(3&s)<1&&67174411===D&&(F|=16)):2&e.assignable?F|=16:67174411===D&&(F|=1&e.assignable&&3&s?32:16));if(l.push(n),!Rn(e,32768|u,18))break;if(20===e.token)break}Mn(e,u,20);const p=$n(e,u,D,a,c,{type:r?\"ArrayPattern\":\"ArrayExpression\",elements:l});return!n&&4194304&e.token?Wo(e,u,F,o,r,D,a,c,p):(e.destructible=F,p)}function Wo(e,u,t,n,o,r,s,i,D){1077936157!==e.token&&_t(e,24),Kt(e,32768|u),16&t&&_t(e,24),o||jn(e,D);const{tokenPos:a,linePos:c,colPos:l}=e,F=yo(e,u,1,1,n,a,c,l);return e.destructible=72^(72|t)|(128&e.destructible?128:0)|(256&e.destructible?256:0),$n(e,u,r,s,i,o?{type:\"AssignmentPattern\",left:D,right:F}:{type:\"AssignmentExpression\",left:D,operator:\"=\",right:F})}function zo(e,u,t,n,o,r,s,i,D,a,c,l){Kt(e,32768|u);let F=null,p=0,{token:C,tokenValue:E,tokenPos:A,linePos:f,colPos:d}=e;if(143360&C)e.assignable=1,F=No(e,u,o,0,1,0,i,1,A,f,d),C=e.token,F=To(e,u,F,i,0,A,f,d),18!==e.token&&e.token!==n&&(2&e.assignable&&1077936157===e.token&&_t(e,68),p|=16,F=Po(e,u,i,D,A,f,d,F)),2&e.assignable?p|=16:C===n||18===C?t&&zn(e,u,t,E,o,r):p|=32,p|=128&e.destructible?128:0;else if(C===n)_t(e,39);else{if(!(2097152&C)){p|=32,F=wo(e,u,1,i,1,e.tokenPos,e.linePos,e.colPos);const{token:t,tokenPos:o,linePos:r,colPos:s}=e;return 1077936157===t&&t!==n&&18!==t?(2&e.assignable&&_t(e,24),F=Po(e,u,i,D,o,r,s,F),p|=16):(18===t?p|=16:t!==n&&(F=Po(e,u,i,D,o,r,s,F)),p|=1&e.assignable?32:16),e.destructible=p,e.token!==n&&18!==e.token&&_t(e,155),$n(e,u,a,c,l,{type:D?\"RestElement\":\"SpreadElement\",argument:F})}F=2162700===e.token?Ko(e,u,t,1,i,D,o,r,A,f,d):qo(e,u,t,1,i,D,o,r,A,f,d),C=e.token,1077936157!==C&&C!==n&&18!==C?(8&e.destructible&&_t(e,68),F=To(e,u,F,i,0,A,f,d),p|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(p|=16),F=Po(e,u,i,D,A,f,d,F)):(8454144==(8454144&e.token)&&(F=vo(e,u,1,A,f,d,4,C,F)),Rn(e,32768|u,22)&&(F=xo(e,u,F,A,f,d)),p|=2&e.assignable?16:32)):p|=1074790415===n&&1077936157!==C?16:e.destructible}if(e.token!==n)if(1&o&&(p|=s?16:32),Rn(e,32768|u,1077936157)){16&p&&_t(e,24),jn(e,F);const t=yo(e,u,1,1,i,e.tokenPos,e.linePos,e.colPos);F=$n(e,u,A,f,d,D?{type:\"AssignmentPattern\",left:F,right:t}:{type:\"AssignmentExpression\",left:F,operator:\"=\",right:t}),p=16}else p|=16;return e.destructible=p,$n(e,u,a,c,l,{type:D?\"RestElement\":\"SpreadElement\",argument:F})}function Ho(e,u,t,n,o,r,s){const i=(64&t)<1?31981568:14680064;let D=64&(u=(u|i)^i|(88&t)<<18|100925440)?Wn({parent:void 0,type:2},512):void 0;const a=function(e,u,t,n,o,r){Mn(e,u,67174411);const s=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&n&&_t(e,35,\"Setter\",\"one\",\"\"),Kt(e,u),s;256&n&&_t(e,35,\"Getter\",\"no\",\"s\");512&n&&14===e.token&&_t(e,36);u=134217728^(134217728|u);let i=0,D=0;for(;18!==e.token;){let a=null;const{tokenPos:c,linePos:l,colPos:F}=e;if(143360&e.token?((1024&u)<1&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),a=Cr(e,u,t,1|n,0,c,l,F)):(2162700===e.token?a=Ko(e,u,t,1,r,1,o,0,c,l,F):69271571===e.token?a=qo(e,u,t,1,r,1,o,0,c,l,F):14===e.token&&(a=zo(e,u,t,16,o,0,0,r,1,c,l,F)),D=1,48&e.destructible&&_t(e,47)),1077936157===e.token){Kt(e,32768|u),D=1;a=$n(e,u,c,l,F,{type:\"AssignmentPattern\",left:a,right:yo(e,u,1,1,0,e.tokenPos,e.linePos,e.colPos)})}if(i++,s.push(a),!Rn(e,u,18))break;if(16===e.token)break}512&n&&1!==i&&_t(e,35,\"Setter\",\"one\",\"\");t&&void 0!==t.scopeError&&Jt(t.scopeError);D&&(e.flags|=128);return Mn(e,u,16),s}(e,8388608|u,D,t,1,n);D&&(D=Wn(D,128));return $n(e,u,o,r,s,{type:\"FunctionExpression\",params:a,body:So(e,-134230017&u,D,0,void 0,void 0),async:(16&t)>0,generator:(8&t)>0,id:null})}function Ko(e,u,t,n,o,r,s,i,D,a,c){Kt(e,u);const l=[];let F=0,p=0;for(u=134217728^(134217728|u);1074790415!==e.token;){const{token:n,tokenValue:D,linePos:a,colPos:c,tokenPos:C}=e;if(14===n)l.push(zo(e,u,t,1074790415,s,i,0,o,r,C,a,c));else{let E,A=0,f=null;const d=e.token;if(143360&e.token||118===e.token)if(f=Go(e,u,0),18===e.token||1074790415===e.token||1077936157===e.token)if(A|=4,1024&u&&537079808==(537079808&n)?F|=16:Vn(e,u,s,n,0),t&&zn(e,u,t,D,s,i),Rn(e,32768|u,1077936157)){F|=8;const t=yo(e,u,1,1,o,e.tokenPos,e.linePos,e.colPos);F|=256&e.destructible?256:0|128&e.destructible?128:0,E=$n(e,u,C,a,c,{type:\"AssignmentPattern\",left:-2147483648&u?Object.assign({},f):f,right:t})}else F|=(209005===n?128:0)|(118===n?16:0),E=-2147483648&u?Object.assign({},f):f;else if(Rn(e,32768|u,21)){const{tokenPos:a,linePos:c,colPos:l}=e;if(\"__proto__\"===D&&p++,143360&e.token){const n=e.token,D=e.tokenValue;F|=118===d?16:0,E=No(e,u,s,0,1,0,o,1,a,c,l);const{token:p}=e;E=To(e,u,E,o,0,a,c,l),18===e.token||1074790415===e.token?1077936157===p||1074790415===p||18===p?(F|=128&e.destructible?128:0,2&e.assignable?F|=16:t&&143360==(143360&n)&&zn(e,u,t,D,s,i)):F|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?F|=16:1077936157!==p?F|=32:t&&zn(e,u,t,D,s,i),E=Po(e,u,o,r,a,c,l,E)):(F|=16,8454144==(8454144&e.token)&&(E=vo(e,u,1,a,c,l,4,p,E)),Rn(e,32768|u,22)&&(E=xo(e,u,E,a,c,l)))}else 2097152==(2097152&e.token)?(E=69271571===e.token?qo(e,u,t,0,o,r,s,i,a,c,l):Ko(e,u,t,0,o,r,s,i,a,c,l),F=e.destructible,e.assignable=16&F?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):8&e.destructible?_t(e,68):(E=To(e,u,E,o,0,a,c,l),F=2&e.assignable?16:0,4194304==(4194304&e.token)?E=bo(e,u,o,r,a,c,l,E):(8454144==(8454144&e.token)&&(E=vo(e,u,1,a,c,l,4,n,E)),Rn(e,32768|u,22)&&(E=xo(e,u,E,a,c,l)),F|=2&e.assignable?16:32))):(E=wo(e,u,1,o,1,a,c,l),F|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):(E=To(e,u,E,o,0,a,a,l),F=2&e.assignable?16:0,18!==e.token&&1074790415!==n&&(1077936157!==e.token&&(F|=16),E=Po(e,u,o,r,a,a,l,E))))}else 69271571===e.token?(F|=16,143468===n&&(A|=16),A|=2|(12399===n?256:12400===n?512:1),f=Yo(e,u,o),F|=e.assignable,E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(F|=16,118===n&&_t(e,92),143468===n&&(1&e.flags&&_t(e,128),A|=16),f=Go(e,u,0),A|=12399===n?256:12400===n?512:1,E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(F|=16,A|=1,E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):8457011===e.token?(F|=16,12399===n||12400===n?_t(e,40):143480===n&&_t(e,92),Kt(e,u),A|=9|(143468===n?16:0),143360&e.token?f=Go(e,u,0):134217728==(134217728&e.token)?f=$o(e,u):69271571===e.token?(A|=2,f=Yo(e,u,o),F|=e.assignable):_t(e,28,Cn[255&e.token]),E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(143468===n&&(A|=16),A|=12399===n?256:12400===n?512:1,F|=16,f=$o(e,u),E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):_t(e,129);else if(134217728==(134217728&e.token))if(f=$o(e,u),21===e.token){Mn(e,32768|u,21);const{tokenPos:a,linePos:c,colPos:l}=e;if(\"__proto__\"===D&&p++,143360&e.token){E=No(e,u,s,0,1,0,o,1,a,c,l);const{token:n,tokenValue:D}=e;E=To(e,u,E,o,0,a,c,l),18===e.token||1074790415===e.token?1077936157===n||1074790415===n||18===n?2&e.assignable?F|=16:t&&zn(e,u,t,D,s,i):F|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(F|=16),E=Po(e,u,o,r,a,c,l,E)):(F|=16,E=Po(e,u,o,r,a,c,l,E))}else 2097152==(2097152&e.token)?(E=69271571===e.token?qo(e,u,t,0,o,r,s,i,a,c,l):Ko(e,u,t,0,o,r,s,i,a,c,l),F=e.destructible,e.assignable=16&F?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):8!=(8&e.destructible)&&(E=To(e,u,E,o,0,a,c,l),F=2&e.assignable?16:0,4194304==(4194304&e.token)?E=bo(e,u,o,r,a,c,l,E):(8454144==(8454144&e.token)&&(E=vo(e,u,1,a,c,l,4,n,E)),Rn(e,32768|u,22)&&(E=xo(e,u,E,a,c,l)),F|=2&e.assignable?16:32))):(E=wo(e,u,1,0,1,a,c,l),F|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):(E=To(e,u,E,o,0,a,c,l),F=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(F|=16),E=Po(e,u,o,r,a,c,l,E))))}else 67174411===e.token?(A|=1,E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos),F=16|e.assignable):_t(e,130);else if(69271571===e.token)if(f=Yo(e,u,o),F|=256&e.destructible?256:0,A|=2,21===e.token){Kt(e,32768|u);const{tokenPos:D,linePos:a,colPos:c,tokenValue:l,token:p}=e;if(143360&e.token){E=No(e,u,s,0,1,0,o,1,D,a,c);const{token:n}=e;E=To(e,u,E,o,0,D,a,c),4194304==(4194304&e.token)?(F|=2&e.assignable?16:1077936157===n?0:32,E=bo(e,u,o,r,D,a,c,E)):18===e.token||1074790415===e.token?1077936157===n||1074790415===n||18===n?2&e.assignable?F|=16:t&&143360==(143360&p)&&zn(e,u,t,l,s,i):F|=1&e.assignable?32:16:(F|=16,E=Po(e,u,o,r,D,a,c,E))}else 2097152==(2097152&e.token)?(E=69271571===e.token?qo(e,u,t,0,o,r,s,i,D,a,c):Ko(e,u,t,0,o,r,s,i,D,a,c),F=e.destructible,e.assignable=16&F?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):8&F?_t(e,59):(E=To(e,u,E,o,0,D,a,c),F=2&e.assignable?16|F:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(F|=16),E=bo(e,u,o,r,D,a,c,E)):(8454144==(8454144&e.token)&&(E=vo(e,u,1,D,a,c,4,n,E)),Rn(e,32768|u,22)&&(E=xo(e,u,E,D,a,c)),F|=2&e.assignable?16:32))):(E=wo(e,u,1,0,1,D,a,c),F|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):(E=To(e,u,E,o,0,D,a,c),F=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(F|=16),E=Po(e,u,o,r,D,a,c,E))))}else 67174411===e.token?(A|=1,E=Ho(e,u,A,o,e.tokenPos,a,c),F=16):_t(e,41);else if(8457011===n)if(Mn(e,32768|u,8457011),A|=8,143360&e.token){const{token:t,line:n,index:r}=e;f=Go(e,u,0),A|=1,67174411===e.token?(F|=16,E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):qt(r,n,r,143468===t?43:12399===t||12400===e.token?42:44,Cn[255&t])}else 134217728==(134217728&e.token)?(F|=16,f=$o(e,u),A|=1,E=Ho(e,u,A,o,C,a,c)):69271571===e.token?(F|=16,A|=3,f=Yo(e,u,o),E=Ho(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):_t(e,122);else _t(e,28,Cn[255&n]);F|=128&e.destructible?128:0,e.destructible=F,l.push($n(e,u,C,a,c,{type:\"Property\",key:f,value:E,kind:768&A?512&A?\"set\":\"get\":\"init\",computed:(2&A)>0,method:(1&A)>0,shorthand:(4&A)>0}))}if(F|=e.destructible,18!==e.token)break;Kt(e,u)}Mn(e,u,1074790415),p>1&&(F|=64);const C=$n(e,u,D,a,c,{type:r?\"ObjectPattern\":\"ObjectExpression\",properties:l});return!n&&4194304&e.token?Wo(e,u,F,o,r,D,a,c,C):(e.destructible=F,C)}function Yo(e,u,t){Kt(e,32768|u);const n=yo(e,134217728^(134217728|u),1,0,t,e.tokenPos,e.linePos,e.colPos);return Mn(e,u,20),n}function Zo(e,u,t,n,o){const{tokenValue:r}=e,s=Go(e,u,0);if(e.assignable=1,10===e.token){let i=void 0;return 64&u&&(i=Jn(e,u,r)),e.flags=128^(128|e.flags),ur(e,u,i,[s],0,t,n,o)}return s}function Qo(e,u,t,n,o,r,s,i,D,a){r||_t(e,54),o&&_t(e,48),e.flags&=-129;return ur(e,u,64&u?Jn(e,u,t):void 0,[n],s,i,D,a)}function er(e,u,t,n,o,r,s,i,D){o||_t(e,54);for(let u=0;u4096?(Un(e,u,e.token)&&_t(e,114),537079808==(537079808&e.token)&&_t(e,115),t&&(Hn(e,u,t,c,32,0),n&&2&n&&Yn(e,c)),D=Go(e,u,0)):(1&n)<1&&_t(e,37,\"Class\");let l=u;Rn(e,32768|u,20564)?(a=wo(e,u,0,0,0,e.tokenPos,e.linePos,e.colPos),l|=524288):l=524288^(524288|l);const F=ar(e,l,u,t,2,8,0);return $n(e,u,o,r,s,1&u?{type:\"ClassDeclaration\",id:D,superClass:a,decorators:i,body:F}:{type:\"ClassDeclaration\",id:D,superClass:a,body:F})}function ir(e,u){const t=[];if(1&u)for(;130===e.token;)t.push(Dr(e,u,e.tokenPos,e.linePos,e.colPos));return t}function Dr(e,u,t,n,o){Kt(e,32768|u);let r=No(e,u,2,0,1,0,0,1,t,n,o);return r=To(e,u,r,0,0,t,n,o),$n(e,u,t,n,o,{type:\"Decorator\",expression:r})}function ar(e,u,t,n,o,r,s){const{tokenPos:i,linePos:D,colPos:a}=e;Mn(e,32768|u,2162700),u=134217728^(134217728|u),e.flags=32^(32|e.flags);const c=[];let l;for(;1074790415!==e.token;){let r=0;l=ir(e,u),r=l.length,r>0&&\"constructor\"===e.tokenValue&&_t(e,106),1074790415===e.token&&_t(e,105),Rn(e,u,1074790417)?r>0&&_t(e,116):c.push(cr(e,u,n,t,o,l,0,s,e.tokenPos,e.linePos,e.colPos))}return Mn(e,8&r?32768|u:u,1074790415),$n(e,u,i,D,a,{type:\"ClassBody\",body:c})}function cr(e,u,t,n,o,r,s,i,D,a,c){let l=s?32:0,F=null;const{token:p,tokenPos:C,linePos:E,colPos:A}=e;if(176128&p)switch(F=Go(e,u,0),p){case 36969:if(!s&&67174411!==e.token)return cr(e,u,t,n,o,r,1,i,D,a,c);break;case 143468:if(67174411!==e.token&&(1&e.flags)<1){if(1&u&&1073741824==(1073741824&e.token))return Fr(e,u,F,l,r,C,E,A);l|=16|(On(e,u,8457011)?8:0)}break;case 12399:if(67174411!==e.token){if(1&u&&1073741824==(1073741824&e.token))return Fr(e,u,F,l,r,C,E,A);l|=256}break;case 12400:if(67174411!==e.token){if(1&u&&1073741824==(1073741824&e.token))return Fr(e,u,F,l,r,C,E,A);l|=512}}else 69271571===p?(l|=2,F=Yo(e,n,i)):134217728==(134217728&p)?F=$o(e,u):8457011===p?(l|=8,Kt(e,u)):1&u&&128===e.token?(l|=4096,F=lr(e,u,C,E,A),u|=16384):1&u&&1073741824==(1073741824&e.token)?(l|=128,u|=16384):119===p?(F=Go(e,u,0),67174411!==e.token&&_t(e,28,Cn[255&e.token])):_t(e,28,Cn[255&e.token]);if(792&l&&(143360&e.token?F=Go(e,u,0):134217728==(134217728&e.token)?F=$o(e,u):69271571===e.token?(l|=2,F=Yo(e,u,0)):119===e.token?F=Go(e,u,0):1&u&&128===e.token?(l|=4096,F=lr(e,u,C,E,A)):_t(e,131)),(2&l)<1&&(\"constructor\"===e.tokenValue?(1073741824==(1073741824&e.token)?_t(e,125):(32&l)<1&&67174411===e.token&&(920&l?_t(e,50,\"accessor\"):(524288&u)<1&&(32&e.flags?_t(e,51):e.flags|=32)),l|=64):(4096&l)<1&&824&l&&\"prototype\"===e.tokenValue&&_t(e,49)),1&u&&67174411!==e.token)return Fr(e,u,F,l,r,C,E,A);const f=Ho(e,u,l,i,e.tokenPos,e.linePos,e.colPos);return $n(e,u,D,a,c,1&u?{type:\"MethodDefinition\",kind:(32&l)<1&&64&l?\"constructor\":256&l?\"get\":512&l?\"set\":\"method\",static:(32&l)>0,computed:(2&l)>0,key:F,decorators:r,value:f}:{type:\"MethodDefinition\",kind:(32&l)<1&&64&l?\"constructor\":256&l?\"get\":512&l?\"set\":\"method\",static:(32&l)>0,computed:(2&l)>0,key:F,value:f})}function lr(e,u,t,n,o){Kt(e,u);const{tokenValue:r}=e;return\"constructor\"===r&&_t(e,124),Kt(e,u),$n(e,u,t,n,o,{type:\"PrivateName\",name:r})}function Fr(e,u,t,n,o,r,s,i){let D=null;if(8&n&&_t(e,0),1077936157===e.token){Kt(e,32768|u);const{tokenPos:t,linePos:n,colPos:o}=e;537079925===e.token&&_t(e,115),D=No(e,16384|u,2,0,1,0,0,1,t,n,o),1073741824!=(1073741824&e.token)&&(D=To(e,16384|u,D,0,0,t,n,o),D=Po(e,16384|u,0,0,t,n,o,D),18===e.token&&(D=ho(e,u,0,r,s,i,D)))}return $n(e,u,r,s,i,{type:\"FieldDefinition\",key:t,value:D,static:(32&n)>0,computed:(2&n)>0,decorators:o})}function pr(e,u,t,n,o,r,s,i){if(143360&e.token)return Cr(e,u,t,n,o,r,s,i);2097152!=(2097152&e.token)&&_t(e,28,Cn[255&e.token]);const D=69271571===e.token?qo(e,u,t,1,0,1,n,o,r,s,i):Ko(e,u,t,1,0,1,n,o,r,s,i);return 16&e.destructible&&_t(e,47),32&e.destructible&&_t(e,47),D}function Cr(e,u,t,n,o,r,s,i){const{tokenValue:D,token:a}=e;return 1024&u&&(537079808==(537079808&a)?_t(e,115):36864==(36864&a)&&_t(e,114)),20480==(20480&a)&&_t(e,99),2099200&u&&241770===a&&_t(e,30),241736===a&&24&n&&_t(e,97),4196352&u&&209005===a&&_t(e,95),Kt(e,u),t&&zn(e,u,t,D,n,o),$n(e,u,r,s,i,{type:\"Identifier\",name:D})}function Er(e,u,t,n,o,r){if(Kt(e,u),8456256===e.token)return $n(e,u,n,o,r,{type:\"JSXFragment\",openingFragment:Ar(e,u,n,o,r),children:dr(e,u),closingFragment:fr(e,u,t,e.tokenPos,e.linePos,e.colPos)});let s=null,i=[];const D=function(e,u,t,n,o,r){143360!=(143360&e.token)&&4096!=(4096&e.token)&&_t(e,0);const s=gr(e,u,e.tokenPos,e.linePos,e.colPos),i=function(e,u){const t=[];for(;8457013!==e.token&&8456256!==e.token&&1048576!==e.token;)t.push(yr(e,u,e.tokenPos,e.linePos,e.colPos));return t}(e,u),D=8457013===e.token;8456256===e.token?Tn(e,u):(Mn(e,u,8457013),t?Mn(e,u,8456256):Tn(e,u));return $n(e,u,n,o,r,{type:\"JSXOpeningElement\",name:s,attributes:i,selfClosing:D})}(e,u,t,n,o,r);if(!D.selfClosing){i=dr(e,u),s=function(e,u,t,n,o,r){Mn(e,u,25);const s=gr(e,u,e.tokenPos,e.linePos,e.colPos);t?Mn(e,u,8456256):e.token=Tn(e,u);return $n(e,u,n,o,r,{type:\"JSXClosingElement\",name:s})}(e,u,t,e.tokenPos,e.linePos,e.colPos);const n=_n(s.name);_n(D.name)!==n&&_t(e,149,n)}return $n(e,u,n,o,r,{type:\"JSXElement\",children:i,openingElement:D,closingElement:s})}function Ar(e,u,t,n,o){return Tn(e,u),$n(e,u,t,n,o,{type:\"JSXOpeningFragment\"})}function fr(e,u,t,n,o,r){return Mn(e,u,25),Mn(e,u,8456256),$n(e,u,n,o,r,{type:\"JSXClosingFragment\"})}function dr(e,u){const t=[];for(;25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,Tn(e,u),t.push(mr(e,u,e.tokenPos,e.linePos,e.colPos));return t}function mr(e,u,t,n,o){return 135===e.token?function(e,u,t,n,o){Tn(e,u);const r={type:\"JSXText\",value:e.tokenValue};512&u&&(r.raw=e.tokenRaw);return $n(e,u,t,n,o,r)}(e,u,t,n,o):2162700===e.token?kr(e,u,0,0,t,n,o):8456255===e.token?Er(e,u,0,t,n,o):void _t(e,0)}function gr(e,u,t,n,o){In(e);let r=Pr(e,u,t,n,o);if(21===e.token)return hr(e,u,r,t,n,o);for(;Rn(e,u,67108877);)In(e),r=Br(e,u,r,t,n,o);return r}function Br(e,u,t,n,o,r){return $n(e,u,n,o,r,{type:\"JSXMemberExpression\",object:t,property:Pr(e,u,e.tokenPos,e.linePos,e.colPos)})}function yr(e,u,t,n,o){if(2162700===e.token)return function(e,u,t,n,o){Kt(e,u),Mn(e,u,14);const r=yo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return Mn(e,u,1074790415),$n(e,u,t,n,o,{type:\"JSXSpreadAttribute\",argument:r})}(e,u,t,n,o);In(e);let r=null,s=Pr(e,u,t,n,o);if(21===e.token&&(s=hr(e,u,s,t,n,o)),1077936157===e.token){const t=wn(e,u),{tokenPos:n,linePos:o,colPos:s}=e;switch(t){case 134283267:r=$o(e,u);break;case 8456255:r=Er(e,u,1,n,o,s);break;case 2162700:r=kr(e,u,1,1,n,o,s);break;default:_t(e,148)}}return $n(e,u,t,n,o,{type:\"JSXAttribute\",value:r,name:s})}function hr(e,u,t,n,o,r){Mn(e,u,21);return $n(e,u,n,o,r,{type:\"JSXNamespacedName\",namespace:t,name:Pr(e,u,e.tokenPos,e.linePos,e.colPos)})}function kr(e,u,t,n,o,r,s){Kt(e,u);const{tokenPos:i,linePos:D,colPos:a}=e;if(14===e.token)return function(e,u,t,n,o){Mn(e,u,14);const r=yo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return Mn(e,u,1074790415),$n(e,u,t,n,o,{type:\"JSXSpreadChild\",expression:r})}(e,u,i,D,a);let c=null;return 1074790415===e.token?(n&&_t(e,151),c=function(e,u,t,n,o){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,$n(e,u,t,n,o,{type:\"JSXEmptyExpression\"})}(e,u,e.startPos,e.startLine,e.startColumn)):c=yo(e,u,1,0,0,i,D,a),t?Mn(e,u,1074790415):Tn(e,u),$n(e,u,o,r,s,{type:\"JSXExpressionContainer\",expression:c})}function Pr(e,u,t,n,o){const{tokenValue:r}=e;return Kt(e,u),$n(e,u,t,n,o,{type:\"JSXIdentifier\",name:r})}var br=Object.freeze({__proto__:null});var xr=Object.freeze({__proto__:null,ESTree:br,parse:function(e,u){return uo(e,u,0)},parseModule:function(e,u){return uo(e,u,3072)},parseScript:function(e,u){return uo(e,u,0)},version:\"3.1.6\"});const{hasPragma:vr}=Ke,{locStart:Sr,locEnd:wr}=eu,Tr={module:!0,next:!0,ranges:!0,webcompat:!0,loc:!0,raw:!0,directives:!0,globalReturn:!0,impliedStrict:!1,preserveParens:!1,lexical:!1,identifierPattern:!1,jsx:!0,specDeviation:!0,uniqueKeyInPattern:!1};function Ir(e,u){const{parse:t}=xr,n=[],o=[],r=t(e,Object.assign({},Tr,{module:u,onComment:n,onToken:o}));return r.comments=n,r.tokens=o,r}return{parsers:{meriyah:{parse:function(u,t,n){let o;try{o=Ir(u,!0)}catch(t){try{o=Ir(u,!1)}catch(u){const{message:n,line:o,column:r}=t;if(\"number\"!=typeof o)throw t;throw e(n,{start:{line:o,column:r}})}}return Ut(o,Object.assign({},n,{originalText:u}))},astFormat:\"estree\",hasPragma:vr,locStart:Sr,locEnd:wr}}}}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lastCommit = exports.push = exports.commit = void 0;\nconst shelljs_1 = require(\"shelljs\");\nconst commit = (message, name = \"Upptime Bot\", email = \"73812536+upptime-bot@users.noreply.github.com\") => {\n shelljs_1.exec(`git config --global user.email \"${email}\"`);\n shelljs_1.exec(`git config --global user.name \"${name}\"`);\n shelljs_1.exec(`git add .`);\n shelljs_1.exec(`git commit -m \"${message.replace(/\\\"/g, \"''\")}\"`);\n};\nexports.commit = commit;\nconst push = () => {\n shelljs_1.exec(\"git push\");\n};\nexports.push = push;\nconst lastCommit = () => {\n return shelljs_1.exec(`git log --format=\"%H\" -n 1`).stdout;\n};\nexports.lastCommit = lastCommit;\n//# sourceMappingURL=git.js.map","var Stream = require('stream').Stream\n\nmodule.exports = legacy\n\nfunction legacy (fs) {\n return {\n ReadStream: ReadStream,\n WriteStream: WriteStream\n }\n\n function ReadStream (path, options) {\n if (!(this instanceof ReadStream)) return new ReadStream(path, options);\n\n Stream.call(this);\n\n var self = this;\n\n this.path = path;\n this.fd = null;\n this.readable = true;\n this.paused = false;\n\n this.flags = 'r';\n this.mode = 438; /*=0666*/\n this.bufferSize = 64 * 1024;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.encoding) this.setEncoding(this.encoding);\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.end === undefined) {\n this.end = Infinity;\n } else if ('number' !== typeof this.end) {\n throw TypeError('end must be a Number');\n }\n\n if (this.start > this.end) {\n throw new Error('start must be <= end');\n }\n\n this.pos = this.start;\n }\n\n if (this.fd !== null) {\n process.nextTick(function() {\n self._read();\n });\n return;\n }\n\n fs.open(this.path, this.flags, this.mode, function (err, fd) {\n if (err) {\n self.emit('error', err);\n self.readable = false;\n return;\n }\n\n self.fd = fd;\n self.emit('open', fd);\n self._read();\n })\n }\n\n function WriteStream (path, options) {\n if (!(this instanceof WriteStream)) return new WriteStream(path, options);\n\n Stream.call(this);\n\n this.path = path;\n this.fd = null;\n this.writable = true;\n\n this.flags = 'w';\n this.encoding = 'binary';\n this.mode = 438; /*=0666*/\n this.bytesWritten = 0;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.start < 0) {\n throw new Error('start must be >= zero');\n }\n\n this.pos = this.start;\n }\n\n this.busy = false;\n this._queue = [];\n\n if (this.fd === null) {\n this._open = fs.open;\n this._queue.push([this._open, this.path, this.flags, this.mode, undefined]);\n this.flush();\n }\n }\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst copySync = require('../copy-sync').copySync\nconst removeSync = require('../remove').removeSync\nconst mkdirpSync = require('../mkdirs').mkdirpSync\nconst stat = require('../util/stat')\n\nfunction moveSync (src, dest, opts) {\n opts = opts || {}\n const overwrite = opts.overwrite || opts.clobber || false\n\n const { srcStat } = stat.checkPathsSync(src, dest, 'move')\n stat.checkParentPathsSync(src, srcStat, dest, 'move')\n mkdirpSync(path.dirname(dest))\n return doRename(src, dest, overwrite)\n}\n\nfunction doRename (src, dest, overwrite) {\n if (overwrite) {\n removeSync(dest)\n return rename(src, dest, overwrite)\n }\n if (fs.existsSync(dest)) throw new Error('dest already exists.')\n return rename(src, dest, overwrite)\n}\n\nfunction rename (src, dest, overwrite) {\n try {\n fs.renameSync(src, dest)\n } catch (err) {\n if (err.code !== 'EXDEV') throw err\n return moveAcrossDevice(src, dest, overwrite)\n }\n}\n\nfunction moveAcrossDevice (src, dest, overwrite) {\n const opts = {\n overwrite,\n errorOnExist: true\n }\n copySync(src, dest, opts)\n return removeSync(src)\n}\n\nmodule.exports = moveSync\n","'use strict';\n\nvar Type = require('../type');\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction resolveYamlSet(data) {\n if (data === null) return true;\n\n var key, object = data;\n\n for (key in object) {\n if (_hasOwnProperty.call(object, key)) {\n if (object[key] !== null) return false;\n }\n }\n\n return true;\n}\n\nfunction constructYamlSet(data) {\n return data !== null ? data : {};\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:set', {\n kind: 'mapping',\n resolve: resolveYamlSet,\n construct: constructYamlSet\n});\n","\"use strict\";\n// For internal use, subject to change.\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst fs = __importStar(require(\"fs\"));\nconst os = __importStar(require(\"os\"));\nconst utils_1 = require(\"./utils\");\nfunction issueCommand(command, message) {\n const filePath = process.env[`GITHUB_${command}`];\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`);\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`);\n }\n fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n });\n}\nexports.issueCommand = issueCommand;\n//# sourceMappingURL=file-command.js.map","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):((e=\"undefined\"!=typeof globalThis?globalThis:e||self).prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.yaml=t())}(this,(function(){\"use strict\";var e=function(e,t){const n=new SyntaxError(e+\" (\"+t.start.line+\":\"+t.start.column+\")\");return n.loc=t,n};var t={isPragma:function(e){return/^\\s*@(prettier|format)\\s*$/.test(e)},hasPragma:function(e){return/^\\s*#[^\\S\\n]*@(prettier|format)\\s*?(\\n|$)/.test(e)},insertPragma:function(e){return\"# @format\\n\\n\".concat(e)}};var n={locStart:function(e){return e.position.start.offset},locEnd:function(e){return e.position.end.offset}};function r(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}\n/*! *****************************************************************************\n Copyright (c) Microsoft Corporation.\n\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n PERFORMANCE OF THIS SOFTWARE.\n ***************************************************************************** */(null==t&&n.path)}},n.exports),n.exports}var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};var s=function(){return(s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function a(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,s=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=s.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(o)throw o.error}}return i}function c(e){return this instanceof c?(this.v=e,this):new c(e)}var u=Object.freeze({__proto__:null,__extends:function(e,t){function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},get __assign(){return s},__rest:function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o=0;a--)(o=e[a])&&(i=(s<3?o(i):s>3?o(t,n,i):o(t,n))||i);return s>3&&i&&Object.defineProperty(t,n,i),i},__param:function(e,t){return function(n,r){t(n,r,e)}},__metadata:function(e,t){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,n,r){return new(n||(n=Promise))((function(o,s){function i(e){try{c(r.next(e))}catch(e){s(e)}}function a(e){try{c(r.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,a)}c((r=r.apply(e,t||[])).next())}))},__generator:function(e,t){var n,r,o,s,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(n)throw new TypeError(\"Generator is already executing.\");for(;i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]1||a(e,t)}))})}function a(e,t){try{(n=o[e](t)).value instanceof c?Promise.resolve(n.value.v).then(u,l):f(s[0][2],n)}catch(e){f(s[0][3],e)}var n}function u(e){a(\"next\",e)}function l(e){a(\"throw\",e)}function f(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}},__asyncDelegator:function(e){var t,n;return t={},r(\"next\"),r(\"throw\",(function(e){throw e})),r(\"return\"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:c(e[r](t)),done:\"return\"===r}:o?o(t):t}:o}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=i(e),t={},r(\"next\"),r(\"throw\"),r(\"return\"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t){if(!t.has(e))throw new TypeError(\"attempted to get private field on non-instance\");return t.get(e)},__classPrivateFieldSet:function(e,t,n){if(!t.has(e))throw new TypeError(\"attempted to set private field on non-instance\");return t.set(e,n),n}}),l=r((function(e,t){var n=\"\\n\",r=function(){function e(e){this.string=e;for(var t=[0],r=0;rthis.string.length)return null;for(var t=0,n=this.offsets;n[t+1]<=e;)t++;return{line:t,column:e-n[t]}},e.prototype.indexForLocation=function(e){var t=e.line,n=e.column;return t<0||t>=this.offsets.length||n<0||n>this.lengthOfLine(t)?null:this.offsets[t]+n},e.prototype.lengthOfLine=function(e){var t=this.offsets[e];return(e===this.offsets.length-1?this.string.length:this.offsets[e+1])-t},e}();t.__esModule=!0,t.default=r})),f=r((function(e,t){t.__esModule=!0,t.defineParents=function e(t,n){void 0===n&&(n=null),\"children\"in t&&t.children.forEach((function(n){return e(n,t)})),\"anchor\"in t&&t.anchor&&e(t.anchor,t),\"tag\"in t&&t.tag&&e(t.tag,t),\"leadingComments\"in t&&t.leadingComments.forEach((function(n){return e(n,t)})),\"middleComments\"in t&&t.middleComments.forEach((function(n){return e(n,t)})),\"indicatorComment\"in t&&t.indicatorComment&&e(t.indicatorComment,t),\"trailingComment\"in t&&t.trailingComment&&e(t.trailingComment,t),\"endComments\"in t&&t.endComments.forEach((function(n){return e(n,t)})),Object.defineProperty(t,\"_parent\",{value:n,enumerable:!1})}})),h=r((function(e,t){t.__esModule=!0,t.getPointText=function(e){return e.line+\":\"+e.column}})),p=r((function(e,t){function n(e,t){if(t.position.start.offset!==t.position.end.offset){if(\"leadingComments\"in t){var r=t.position.start,o=e[r.line-1].leadingAttachableNode;(!o||r.column1&&\"document\"!==t.type&&\"documentHead\"!==t.type){var s=t.position.end,i=e[s.line-1].trailingAttachableNode;(!i||s.column>=i.position.end.column)&&(e[s.line-1].trailingAttachableNode=t)}if(\"root\"!==t.type&&\"document\"!==t.type&&\"documentHead\"!==t.type&&\"documentBody\"!==t.type)for(var a=t.position,c=(r=a.start,0),u=[(s=a.end).line].concat(r.line===s.line?[]:r.line);c=f.position.end.column)&&(e[l-1].trailingNode=t)}\"children\"in t&&t.children.forEach((function(t){n(e,t)}))}}function r(e,t){if(e.position.start.offsett.position.end.offset)switch(e.type){case\"flowMapping\":case\"flowSequence\":return 0===e.children.length||t.position.start.line>e.children[e.children.length-1].position.end.line}if(t.position.end.offsete.position.start.column;case\"mappingKey\":case\"mappingValue\":return t.position.start.column>e._parent.position.start.column&&(0===e.children.length||1===e.children.length&&\"blockFolded\"!==e.children[0].type&&\"blockLiteral\"!==e.children[0].type)&&(\"mappingValue\"===e.type||o(e));default:return!1}}function o(e){return e.position.start!==e.position.end&&(0===e.children.length||e.position.start.offset!==e.children[0].position.start.offset)}t.__esModule=!0,t.attachComments=function(e){f.defineParents(e);var t=function(e){for(var t=Array.from(new Array(e.position.end.line),(function(){return{}})),r=0,o=e.comments;r1&&e.position.start.line>s[0].position.end.line;)s.shift();!function(e,t,n){var s=e.position.start.line,i=t[s-1].trailingAttachableNode;if(i){if(i.trailingComment)throw new Error(\"Unexpected multiple trailing comment at \"+h.getPointText(e.position.start));return f.defineParents(e,i),void(i.trailingComment=e)}for(var a=s;a>=n.position.start.line;a--){var c=t[a-1].trailingNode,u=void 0;if(c)u=c;else{if(a===s||!t[a-1].comment)continue;u=t[a-1].comment._parent}if(\"sequence\"!==u.type&&\"mapping\"!==u.type||(u=u.children[0]),\"mappingItem\"===u.type){var l=u.children,p=l[0],d=l[1];u=o(p)?p:d}for(;;){if(r(u,e))return f.defineParents(e,u),void u.endComments.push(e);if(!u._parent)break;u=u._parent}break}for(a=s+1;a<=n.position.end.line;a++){var g=t[a-1].leadingAttachableNode;if(g)return f.defineParents(e,g),void g.leadingComments.push(e)}var m=n.children[1];f.defineParents(e,m),m.endComments.push(e)}(e,t,s[0])}))}})),d=r((function(e,t){t.__esModule=!0,t.createNode=function(e,t){return{type:e,position:t}}})),g=r((function(e,t){t.__esModule=!0,t.createRoot=function(e,t,n){return u.__assign(u.__assign({},d.createNode(\"root\",e)),{children:t,comments:n})}})),m=r((function(e,t){t.__esModule=!0,t.removeCstBlankLine=function e(t){switch(t.type){case\"DOCUMENT\":for(var n=t.contents.length-1;n>=0;n--)\"BLANK_LINE\"===t.contents[n].type?t.contents.splice(n,1):e(t.contents[n]);for(n=t.directives.length-1;n>=0;n--)\"BLANK_LINE\"===t.directives[n].type&&t.directives.splice(n,1);break;case\"FLOW_MAP\":case\"FLOW_SEQ\":case\"MAP\":case\"SEQ\":for(n=t.items.length-1;n>=0;n--){var r=t.items[n];\"char\"in r||(\"BLANK_LINE\"===r.type?t.items.splice(n,1):e(r))}break;case\"MAP_KEY\":case\"MAP_VALUE\":case\"SEQ_ITEM\":t.node&&e(t.node);break;case\"ALIAS\":case\"BLANK_LINE\":case\"BLOCK_FOLDED\":case\"BLOCK_LITERAL\":case\"COMMENT\":case\"DIRECTIVE\":case\"PLAIN\":case\"QUOTE_DOUBLE\":case\"QUOTE_SINGLE\":break;default:throw new Error(\"Unexpected node type \"+JSON.stringify(t.type))}}})),y=r((function(e,t){t.__esModule=!0,t.createLeadingCommentAttachable=function(){return{leadingComments:[]}}})),v=r((function(e,t){t.__esModule=!0,t.createTrailingCommentAttachable=function(e){return void 0===e&&(e=null),{trailingComment:e}}})),_=r((function(e,t){t.__esModule=!0,t.createCommentAttachable=function(){return u.__assign(u.__assign({},y.createLeadingCommentAttachable()),v.createTrailingCommentAttachable())}})),w=r((function(e,t){t.__esModule=!0,t.createAlias=function(e,t,n){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode(\"alias\",e)),_.createCommentAttachable()),t),{value:n})}})),E=r((function(e,t){t.__esModule=!0,t.transformAlias=function(e,t){var n=e.cstNode;return w.createAlias(t.transformRange({origStart:n.valueRange.origStart-1,origEnd:n.valueRange.origEnd}),t.transformContent(e),n.rawValue)}})),S=r((function(e,t){t.__esModule=!0,t.createBlockFolded=function(e){return u.__assign(u.__assign({},e),{type:\"blockFolded\"})}})),b=r((function(e,t){t.__esModule=!0,t.createBlockValue=function(e,t,n,r,o,s){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode(\"blockValue\",e)),y.createLeadingCommentAttachable()),t),{chomping:n,indent:r,value:o,indicatorComment:s})}})),A=r((function(e,t){t.__esModule=!0,function(e){e.Tag=\"!\",e.Anchor=\"&\",e.Comment=\"#\"}(t.PropLeadingCharacter||(t.PropLeadingCharacter={}))})),M=r((function(e,t){t.__esModule=!0,t.createAnchor=function(e,t){return u.__assign(u.__assign({},d.createNode(\"anchor\",e)),{value:t})}})),O=r((function(e,t){t.__esModule=!0,t.createComment=function(e,t){return u.__assign(u.__assign({},d.createNode(\"comment\",e)),{value:t})}})),L=r((function(e,t){t.__esModule=!0,t.createContent=function(e,t,n){return{anchor:t,tag:e,middleComments:n}}})),N=r((function(e,t){t.__esModule=!0,t.createTag=function(e,t){return u.__assign(u.__assign({},d.createNode(\"tag\",e)),{value:t})}})),T=r((function(e,t){t.__esModule=!0,t.transformContent=function(e,t,n){void 0===n&&(n=function(){return!1});for(var r=e.cstNode,o=[],s=null,i=null,a=null,c=0,u=r.props;c=0;c--){var u=e.contents[c];if(\"COMMENT\"===u.type){var l=t.transformNode(u);n&&n.line===l.position.start.line?i.unshift(l):a?r.unshift(l):l.position.start.offset>=e.valueRange.origEnd?s.unshift(l):r.unshift(l)}else a=!0}if(s.length>1)throw new Error(\"Unexpected multiple document trailing comments at \"+h.getPointText(s[1].position.start));if(i.length>1)throw new Error(\"Unexpected multiple documentHead trailing comments at \"+h.getPointText(i[1].position.start));return{comments:r,endComments:o,documentTrailingComment:W.getLast(s)||null,documentHeadTrailingComment:W.getLast(i)||null}}(o,t,n),i=s.comments,a=s.endComments,c=s.documentTrailingComment,l=s.documentHeadTrailingComment,f=t.transformNode(e.contents),p=function(e,t,n){var r=Q.getMatchIndex(n.text.slice(e.valueRange.origEnd),/^\\.\\.\\./),o=-1===r?e.valueRange.origEnd:Math.max(0,e.valueRange.origEnd-1);\"\\r\"===n.text[o-1]&&o--;var s=n.transformRange({origStart:null!==t?t.position.start.offset:o,origEnd:o}),i=-1===r?s.end:n.transformOffset(e.valueRange.origEnd+3);return{position:s,documentEndPoint:i}}(o,f,t),d=p.position,g=p.documentEndPoint;return(r=t.comments).push.apply(r,u.__spreadArrays(i,a)),{documentBody:j.createDocumentBody(d,f,a),documentEndPoint:g,documentTrailingComment:c,documentHeadTrailingComment:l}}})),K=r((function(e,t){t.__esModule=!0,t.createDocumentHead=function(e,t,n,r){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode(\"documentHead\",e)),F.createEndCommentAttachable(n)),v.createTrailingCommentAttachable(r)),{children:t})}})),q=r((function(e,t){t.__esModule=!0,t.transformDocumentHead=function(e,t){var n,r=e.cstNode,o=function(e,t){for(var n=[],r=[],o=[],s=!1,i=e.directives.length-1;i>=0;i--){var a=t.transformNode(e.directives[i]);\"comment\"===a.type?s?r.unshift(a):o.unshift(a):(s=!0,n.unshift(a))}return{directives:n,comments:r,endComments:o}}(r,t),s=o.directives,i=o.comments,a=o.endComments,c=function(e,t,n){var r=Q.getMatchIndex(n.text.slice(0,e.valueRange.origStart),/---\\s*$/);r>0&&!/[\\r\\n]/.test(n.text[r-1])&&(r=-1);var o=-1===r?{origStart:e.valueRange.origStart,origEnd:e.valueRange.origStart}:{origStart:r,origEnd:r+3};0!==t.length&&(o.origStart=t[0].position.start.offset);return{position:n.transformRange(o),endMarkerPoint:-1===r?null:n.transformOffset(r)}}(r,s,t),l=c.position,f=c.endMarkerPoint;return(n=t.comments).push.apply(n,u.__spreadArrays(i,a)),{createDocumentHeadWithTrailingComment:function(e){return e&&t.comments.push(e),K.createDocumentHead(l,s,a,e)},documentHeadEndMarkerPoint:f}}})),J=r((function(e,t){t.__esModule=!0,t.transformDocument=function(e,t){var n=q.transformDocumentHead(e,t),r=n.createDocumentHeadWithTrailingComment,o=n.documentHeadEndMarkerPoint,s=V.transformDocumentBody(e,t,o),i=s.documentBody,a=s.documentEndPoint,c=s.documentTrailingComment,u=r(s.documentHeadTrailingComment);return c&&t.comments.push(c),D.createDocument(U.createPosition(u.position.start,a),u,i,c)}})),$=r((function(e,t){t.__esModule=!0,t.createFlowCollection=function(e,t,n){return u.__assign(u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode(\"flowCollection\",e)),_.createCommentAttachable()),F.createEndCommentAttachable()),t),{children:n})}})),G=r((function(e,t){t.__esModule=!0,t.createFlowMapping=function(e,t,n){return u.__assign(u.__assign({},$.createFlowCollection(e,t,n)),{type:\"flowMapping\"})}})),H=r((function(e,t){t.__esModule=!0,t.createFlowMappingItem=function(e,t,n){return u.__assign(u.__assign(u.__assign({},d.createNode(\"flowMappingItem\",e)),y.createLeadingCommentAttachable()),{children:[t,n]})}})),z=r((function(e,t){t.__esModule=!0,t.extractComments=function(e,t){for(var n=[],r=0,o=e;r=0;r--)if(n.test(e[r]))return r;return-1}})),pe=r((function(e,t){t.__esModule=!0,t.transformPlain=function(e,t){var n=e.cstNode;return fe.createPlain(t.transformRange({origStart:n.valueRange.origStart,origEnd:he.findLastCharIndex(t.text,n.valueRange.origEnd-1,/\\S/)+1}),t.transformContent(e),n.strValue)}})),de=r((function(e,t){t.__esModule=!0,t.createQuoteDouble=function(e){return u.__assign(u.__assign({},e),{type:\"quoteDouble\"})}})),ge=r((function(e,t){t.__esModule=!0,t.createQuoteValue=function(e,t,n){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode(\"quoteValue\",e)),t),_.createCommentAttachable()),{value:n})}})),me=r((function(e,t){t.__esModule=!0,t.transformAstQuoteValue=function(e,t){var n=e.cstNode;return ge.createQuoteValue(t.transformRange(n.valueRange),t.transformContent(e),n.strValue)}})),ye=r((function(e,t){t.__esModule=!0,t.transformQuoteDouble=function(e,t){return de.createQuoteDouble(me.transformAstQuoteValue(e,t))}})),ve=r((function(e,t){t.__esModule=!0,t.createQuoteSingle=function(e){return u.__assign(u.__assign({},e),{type:\"quoteSingle\"})}})),_e=r((function(e,t){t.__esModule=!0,t.transformQuoteSingle=function(e,t){return ve.createQuoteSingle(me.transformAstQuoteValue(e,t))}})),we=r((function(e,t){t.__esModule=!0,t.createSequence=function(e,t,n){return u.__assign(u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode(\"sequence\",e)),y.createLeadingCommentAttachable()),F.createEndCommentAttachable()),t),{children:n})}})),Ee=r((function(e,t){t.__esModule=!0,t.createSequenceItem=function(e,t){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode(\"sequenceItem\",e)),_.createCommentAttachable()),F.createEndCommentAttachable()),{children:t?[t]:[]})}})),Se=r((function(e,t){t.__esModule=!0,t.transformSeq=function(e,t){var n=z.extractComments(e.cstNode.items,t).map((function(n,r){B.extractPropComments(n,t);var o=t.transformNode(e.items[r]);return Ee.createSequenceItem(U.createPosition(t.transformOffset(n.valueRange.origStart),null===o?t.transformOffset(n.valueRange.origStart+1):o.position.end),o)}));return we.createSequence(U.createPosition(n[0].position.start,W.getLast(n).position.end),t.transformContent(e),n)}})),be=r((function(e,t){t.__esModule=!0,t.transformNode=function(e,t){if(null===e||void 0===e.type&&null===e.value)return null;switch(e.type){case\"ALIAS\":return E.transformAlias(e,t);case\"BLOCK_FOLDED\":return x.transformBlockFolded(e,t);case\"BLOCK_LITERAL\":return R.transformBlockLiteral(e,t);case\"COMMENT\":return I.transformComment(e,t);case\"DIRECTIVE\":return Y.transformDirective(e,t);case\"DOCUMENT\":return J.transformDocument(e,t);case\"FLOW_MAP\":return oe.transformFlowMap(e,t);case\"FLOW_SEQ\":return ae.transformFlowSeq(e,t);case\"MAP\":return le.transformMap(e,t);case\"PLAIN\":return pe.transformPlain(e,t);case\"QUOTE_DOUBLE\":return ye.transformQuoteDouble(e,t);case\"QUOTE_SINGLE\":return _e.transformQuoteSingle(e,t);case\"SEQ\":return Se.transformSeq(e,t);default:throw new Error(\"Unexpected node type \"+e.type)}}})),Ae=r((function(e,t){t.__esModule=!0,t.createError=function(e,t,n){var r=new SyntaxError(e);return r.name=\"YAMLSyntaxError\",r.source=t,r.position=n,r}})),Me=r((function(e,t){t.__esModule=!0,t.transformError=function(e,t){var n=e.source.range||e.source.valueRange;return Ae.createError(e.message,t.text,t.transformRange(n))}})),Oe=r((function(e,t){t.__esModule=!0,t.createPoint=function(e,t,n){return{offset:e,line:t,column:n}}})),Le=r((function(e,t){t.__esModule=!0,t.transformOffset=function(e,t){e<0?e=0:e>t.text.length&&(e=t.text.length);var n=t.locator.locationForIndex(e);return Oe.createPoint(e,n.line+1,n.column+1)}})),Ne=r((function(e,t){t.__esModule=!0,t.transformRange=function(e,t){return U.createPosition(t.transformOffset(e.origStart),t.transformOffset(e.origEnd))}})),Te=r((function(e,t){t.__esModule=!0;var n=!0;function r(e,t){if(e&&\"object\"==typeof e&&t(e)!==n)for(var o=0,s=Object.keys(e);oe.offset}t.__esModule=!0,t.updatePositions=function e(t){if(null!==t&&\"children\"in t){var c=t.children;if(c.forEach(e),\"document\"===t.type){var u=t.children,l=u[0],f=u[1];l.position.start.offset===l.position.end.offset?l.position.start=l.position.end=f.position.start:f.position.start.offset===f.position.end.offset&&(f.position.start=f.position.end=l.position.end)}var h=xe.createUpdater(t.position,n,r,i),p=xe.createUpdater(t.position,o,s,a);\"endComments\"in t&&0!==t.endComments.length&&(h(t.endComments[0].position.start),p(W.getLast(t.endComments).position.end));var d=c.filter((function(e){return null!==e}));if(0!==d.length){var g=d[0],m=W.getLast(d);h(g.position.start),p(m.position.end),\"leadingComments\"in g&&0!==g.leadingComments.length&&h(g.leadingComments[0].position.start),\"tag\"in g&&g.tag&&h(g.tag.position.start),\"anchor\"in g&&g.anchor&&h(g.anchor.position.start),\"trailingComment\"in m&&m.trailingComment&&p(m.trailingComment.position.end)}}}}));const Re={ANCHOR:\"&\",COMMENT:\"#\",TAG:\"!\",DIRECTIVES_END:\"-\",DOCUMENT_END:\".\"},Ie={ALIAS:\"ALIAS\",BLANK_LINE:\"BLANK_LINE\",BLOCK_FOLDED:\"BLOCK_FOLDED\",BLOCK_LITERAL:\"BLOCK_LITERAL\",COMMENT:\"COMMENT\",DIRECTIVE:\"DIRECTIVE\",DOCUMENT:\"DOCUMENT\",FLOW_MAP:\"FLOW_MAP\",FLOW_SEQ:\"FLOW_SEQ\",MAP:\"MAP\",MAP_KEY:\"MAP_KEY\",MAP_VALUE:\"MAP_VALUE\",PLAIN:\"PLAIN\",QUOTE_DOUBLE:\"QUOTE_DOUBLE\",QUOTE_SINGLE:\"QUOTE_SINGLE\",SEQ:\"SEQ\",SEQ_ITEM:\"SEQ_ITEM\"};function ke(e){const t=[0];let n=e.indexOf(\"\\n\");for(;-1!==n;)n+=1,t.push(n),n=e.indexOf(\"\\n\",n);return t}function Be(e){let t,n;return\"string\"==typeof e?(t=ke(e),n=e):(Array.isArray(e)&&(e=e[0]),e&&e.context&&(e.lineStarts||(e.lineStarts=ke(e.context.src)),t=e.lineStarts,n=e.context.src)),{lineStarts:t,src:n}}function Ye(e,t){if(\"number\"!=typeof e||e<0)return null;const{lineStarts:n,src:r}=Be(t);if(!n||!r||e>r.length)return null;for(let t=0;t=1)||e>n.length)return null;const o=n[e-1];let s=n[e];for(;s&&s>o&&\"\\n\"===r[s-1];)--s;return r.slice(o,s)}(e.line,n);if(!o)return null;let{col:s}=e;if(o.length>r)if(s<=r-10)o=o.substr(0,r-1)+\"\\u2026\";else{const e=Math.round(r/2);o.length>s+e&&(o=o.substr(0,s+e-1)+\"\\u2026\"),s-=o.length-r,o=\"\\u2026\"+o.substr(1-r)}let i=1,a=\"\";t&&(t.line===e.line&&s+(t.col-e.col)<=r+1?i=t.col-e.col:(i=Math.min(o.length+1,r)-s,a=\"\\u2026\"));const c=s>1?\" \".repeat(s-1):\"\",u=\"^\".repeat(i);return\"\".concat(o,\"\\n\").concat(c).concat(u).concat(a)}class Ue{static copy(e){return new Ue(e.start,e.end)}constructor(e,t){this.start=e,this.end=t||e}isEmpty(){return\"number\"!=typeof this.start||!this.end||this.end<=this.start}setOrigRange(e,t){const{start:n,end:r}=this;if(0===e.length||r<=e[0])return this.origStart=n,this.origEnd=r,t;let o=t;for(;on);)++o;this.origStart=n+o;const s=o;for(;o=r);)++o;return this.origEnd=r+o,s}}class Fe{static addStringTerminator(e,t,n){if(\"\\n\"===n[n.length-1])return n;const r=Fe.endOfWhiteSpace(e,t);return r>=e.length||\"\\n\"===e[r]?n+\"\\n\":n}static atDocumentBoundary(e,t,n){const r=e[t];if(!r)return!0;const o=e[t-1];if(o&&\"\\n\"!==o)return!1;if(n){if(r!==n)return!1}else if(r!==Re.DIRECTIVES_END&&r!==Re.DOCUMENT_END)return!1;const s=e[t+1],i=e[t+2];if(s!==r||i!==r)return!1;const a=e[t+3];return!a||\"\\n\"===a||\"\\t\"===a||\" \"===a}static endOfIdentifier(e,t){let n=e[t];const r=\"<\"===n,o=r?[\"\\n\",\"\\t\",\" \",\">\"]:[\"\\n\",\"\\t\",\" \",\"[\",\"]\",\"{\",\"}\",\",\"];for(;n&&-1===o.indexOf(n);)n=e[t+=1];return r&&\">\"===n&&(t+=1),t}static endOfIndent(e,t){let n=e[t];for(;\" \"===n;)n=e[t+=1];return t}static endOfLine(e,t){let n=e[t];for(;n&&\"\\n\"!==n;)n=e[t+=1];return t}static endOfWhiteSpace(e,t){let n=e[t];for(;\"\\t\"===n||\" \"===n;)n=e[t+=1];return t}static startOfLine(e,t){let n=e[t-1];if(\"\\n\"===n)return t;for(;n&&\"\\n\"!==n;)n=e[t-=1];return t+1}static endOfBlockIndent(e,t,n){const r=Fe.endOfIndent(e,n);if(r>n+t)return r;{const t=Fe.endOfWhiteSpace(e,r),n=e[t];if(!n||\"\\n\"===n)return t}return null}static atBlank(e,t,n){const r=e[t];return\"\\n\"===r||\"\\t\"===r||\" \"===r||n&&!r}static nextNodeIsIndented(e,t,n){return!(!e||t<0)&&(t>0||n&&\"-\"===e)}static normalizeOffset(e,t){const n=e[t];return n?\"\\n\"!==n&&\"\\n\"===e[t-1]?t-1:Fe.endOfWhiteSpace(e,t):t}static foldNewline(e,t,n){let r=0,o=!1,s=\"\",i=e[t+1];for(;\" \"===i||\"\\t\"===i||\"\\n\"===i;){switch(i){case\"\\n\":r=0,t+=1,s+=\"\\n\";break;case\"\\t\":r<=n&&(o=!0),t=Fe.endOfWhiteSpace(e,t+2)-1;break;case\" \":r+=1,t+=1}i=e[t+1]}return s||(s=\" \"),i&&r<=n&&(o=!0),{fold:s,offset:t,error:o}}constructor(e,t,n){Object.defineProperty(this,\"context\",{value:n||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=t||[],this.type=e,this.value=null}getPropValue(e,t,n){if(!this.context)return null;const{src:r}=this.context,o=this.props[e];return o&&r[o.start]===t?r.slice(o.start+(n?1:0),o.end):null}get anchor(){for(let e=0;e0?e.join(\"\\n\"):null}commentHasRequiredWhitespace(e){const{src:t}=this.context;if(this.header&&e===this.header.end)return!1;if(!this.valueRange)return!1;const{end:n}=this.valueRange;return e!==n||Fe.atBlank(t,n-1)}get hasComment(){if(this.context){const{src:e}=this.context;for(let t=0;tn.setOrigRange(e,t))),t}toString(){const{context:{src:e},range:t,value:n}=this;if(null!=n)return n;const r=e.slice(t.start,t.end);return Fe.addStringTerminator(e,t.end,r)}}class je extends Error{constructor(e,t,n){if(!(n&&t instanceof Fe))throw new Error(\"Invalid arguments for new \".concat(e));super(),this.name=e,this.message=n,this.source=t}makePretty(){if(!this.source)return;this.nodeType=this.source.type;const e=this.source.context&&this.source.context.root;if(\"number\"==typeof this.offset){this.range=new Ue(this.offset,this.offset+1);const t=e&&Ye(this.offset,e);if(t){const e={line:t.line,col:t.col+1};this.linePos={start:t,end:e}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){const{line:t,col:n}=this.linePos.start;this.message+=\" at line \".concat(t,\", column \").concat(n);const r=e&&De(this.linePos,e);r&&(this.message+=\":\\n\\n\".concat(r,\"\\n\"))}delete this.source}}class We extends je{constructor(e,t){super(\"YAMLSemanticError\",e,t)}}class Qe extends Fe{static endOfLine(e,t,n){let r=e[t],o=t;for(;r&&\"\\n\"!==r&&(!n||\"[\"!==r&&\"]\"!==r&&\"{\"!==r&&\"}\"!==r&&\",\"!==r);){const t=e[o+1];if(\":\"===r&&(!t||\"\\n\"===t||\"\\t\"===t||\" \"===t||n&&\",\"===t))break;if((\" \"===r||\"\\t\"===r)&&\"#\"===t)break;o+=1,r=t}return o}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e,end:t}=this.valueRange;const{src:n}=this.context;let r=n[t-1];for(;es?n.slice(s,r+1):e)}else o+=e}const s=n[e];switch(s){case\"\\t\":return{errors:[new We(this,\"Plain value cannot start with a tab character\")],str:o};case\"@\":case\"`\":{const e=\"Plain value cannot start with reserved character \".concat(s);return{errors:[new We(this,e)],str:o}}default:return o}}parseBlockValue(e){const{indent:t,inFlow:n,src:r}=this.context;let o=e,s=e;for(let e=r[o];\"\\n\"===e&&!Fe.atDocumentBoundary(r,o+1);e=r[o]){const e=Fe.endOfBlockIndent(r,t,o+1);if(null===e||\"#\"===r[e])break;\"\\n\"===r[e]?o=e:(s=Qe.endOfLine(r,e,n),o=s)}return this.valueRange.isEmpty()&&(this.valueRange.start=e),this.valueRange.end=s,s}parse(e,t){this.context=e;const{inFlow:n,src:r}=e;let o=t;const s=r[o];return s&&\"#\"!==s&&\"\\n\"!==s&&(o=Qe.endOfLine(r,t,n)),this.valueRange=new Ue(t,o),o=Fe.endOfWhiteSpace(r,o),o=this.parseComment(o),this.hasComment&&!this.valueRange.isEmpty()||(o=this.parseBlockValue(o)),o}}var Ve={Char:Re,Node:Fe,PlainValue:Qe,Range:Ue,Type:Ie,YAMLError:je,YAMLReferenceError:class extends je{constructor(e,t){super(\"YAMLReferenceError\",e,t)}},YAMLSemanticError:We,YAMLSyntaxError:class extends je{constructor(e,t){super(\"YAMLSyntaxError\",e,t)}},YAMLWarning:class extends je{constructor(e,t){super(\"YAMLWarning\",e,t)}},_defineProperty:function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},defaultTagPrefix:\"tag:yaml.org,2002:\",defaultTags:{MAP:\"tag:yaml.org,2002:map\",SEQ:\"tag:yaml.org,2002:seq\",STR:\"tag:yaml.org,2002:str\"}};class Ke extends Ve.Node{constructor(){super(Ve.Type.BLANK_LINE)}get includesTrailingLines(){return!0}parse(e,t){return this.context=e,this.range=new Ve.Range(t,t+1),t+1}}class qe extends Ve.Node{constructor(e,t){super(e,t),this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let{atLineStart:o,lineStart:s}=e;o||this.type!==Ve.Type.SEQ_ITEM||(this.error=new Ve.YAMLSemanticError(this,\"Sequence items must not have preceding content on the same line\"));const i=o?t-s:e.indent;let a=Ve.Node.endOfWhiteSpace(r,t+1),c=r[a];const u=\"#\"===c,l=[];let f=null;for(;\"\\n\"===c||\"#\"===c;){if(\"#\"===c){const e=Ve.Node.endOfLine(r,a+1);l.push(new Ve.Range(a,e)),a=e}else{o=!0,s=a+1;\"\\n\"===r[Ve.Node.endOfWhiteSpace(r,s)]&&0===l.length&&(f=new Ke,s=f.parse({src:r},s)),a=Ve.Node.endOfIndent(r,s)}c=r[a]}if(Ve.Node.nextNodeIsIndented(c,a-(s+i),this.type!==Ve.Type.SEQ_ITEM)?this.node=n({atLineStart:o,inCollection:!1,indent:i,lineStart:s,parent:this},a):c&&s>t+1&&(a=s-1),this.node){if(f){const t=e.parent.items||e.parent.contents;t&&t.push(f)}l.length&&Array.prototype.push.apply(this.props,l),a=this.node.range.end}else if(u){const e=l[0];this.props.push(e),a=e.end}else a=Ve.Node.endOfLine(r,t+1);const h=this.node?this.node.valueRange.end:a;return this.valueRange=new Ve.Range(t,h),a}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.node?this.node.setOrigRanges(e,t):t}toString(){const{context:{src:e},node:t,range:n,value:r}=this;if(null!=r)return r;const o=t?e.slice(n.start,t.range.start)+String(t):e.slice(n.start,n.end);return Ve.Node.addStringTerminator(e,n.end,o)}}class Je extends Ve.Node{constructor(){super(Ve.Type.COMMENT)}parse(e,t){this.context=e;const n=this.parseComment(t);return this.range=new Ve.Range(t,n),n}}function $e(e){let t=e;for(;t instanceof qe;)t=t.node;if(!(t instanceof Ge))return null;const n=t.items.length;let r=-1;for(let e=n-1;e>=0;--e){const n=t.items[e];if(n.type===Ve.Type.COMMENT){const{indent:t,lineStart:o}=n.context;if(t>0&&n.range.start>=o+t)break;r=e}else{if(n.type!==Ve.Type.BLANK_LINE)break;r=e}}if(-1===r)return null;const o=t.items.splice(r,n-r),s=o[0].range.start;for(;t.range.end=s,t.valueRange&&t.valueRange.end>s&&(t.valueRange.end=s),t!==e;)t=t.context.parent;return o}class Ge extends Ve.Node{static nextContentHasIndent(e,t,n){const r=Ve.Node.endOfLine(e,t)+1,o=e[t=Ve.Node.endOfWhiteSpace(e,r)];return!!o&&(t>=r+n||(\"#\"===o||\"\\n\"===o)&&Ge.nextContentHasIndent(e,t,n))}constructor(e){super(e.type===Ve.Type.SEQ_ITEM?Ve.Type.SEQ:Ve.Type.MAP);for(let t=e.props.length-1;t>=0;--t)if(e.props[t].start0}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let o=Ve.Node.startOfLine(r,t);const s=this.items[0];s.context.parent=this,this.valueRange=Ve.Range.copy(s.valueRange);const i=s.range.start-s.context.lineStart;let a=t;a=Ve.Node.normalizeOffset(r,a);let c=r[a],u=Ve.Node.endOfWhiteSpace(r,o)===a,l=!1;for(;c;){for(;\"\\n\"===c||\"#\"===c;){if(u&&\"\\n\"===c&&!l){const e=new Ke;if(a=e.parse({src:r},a),this.valueRange.end=a,a>=r.length){c=null;break}this.items.push(e),a-=1}else if(\"#\"===c){if(a=r.length){c=null;break}}if(o=a+1,a=Ve.Node.endOfIndent(r,o),Ve.Node.atBlank(r,a)){const e=Ve.Node.endOfWhiteSpace(r,a),t=r[e];t&&\"\\n\"!==t&&\"#\"!==t||(a=e)}c=r[a],u=!0}if(!c)break;if(a!==o+i&&(u||\":\"!==c)){if(at&&(a=o);break}if(!this.error){const e=\"All collection items must start at the same column\";this.error=new Ve.YAMLSyntaxError(this,e)}}if(s.type===Ve.Type.SEQ_ITEM){if(\"-\"!==c){o>t&&(a=o);break}}else if(\"-\"===c&&!this.error){const e=r[a+1];if(!e||\"\\n\"===e||\"\\t\"===e||\" \"===e){const e=\"A collection cannot be both a mapping and a sequence\";this.error=new Ve.YAMLSyntaxError(this,e)}}const e=n({atLineStart:u,inCollection:!0,indent:i,lineStart:o,parent:this},a);if(!e)return a;if(this.items.push(e),this.valueRange.end=e.valueRange.end,a=Ve.Node.normalizeOffset(r,e.range.end),c=r[a],u=!1,l=e.includesTrailingLines,c){let e=a-1,t=r[e];for(;\" \"===t||\"\\t\"===t;)t=r[--e];\"\\n\"===t&&(o=e+1,u=!0)}const f=$e(e);f&&Array.prototype.push.apply(this.items,f)}return a}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.items.forEach((n=>{t=n.setOrigRanges(e,t)})),t}toString(){const{context:{src:e},items:t,range:n,value:r}=this;if(null!=r)return r;let o=e.slice(n.start,t[0].range.start)+String(t[0]);for(let e=1;e0&&(this.contents=this.directives,this.directives=[]),o}return t[o]?(this.directivesEndMarker=new Ve.Range(o,o+3),o+3):(r?this.error=new Ve.YAMLSemanticError(this,\"Missing directives-end indicator line\"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),o)}parseContents(e){const{parseNode:t,src:n}=this.context;this.contents||(this.contents=[]);let r=e;for(;\"-\"===n[r-1];)r-=1;let o=Ve.Node.endOfWhiteSpace(n,e),s=r===e;for(this.valueRange=new Ve.Range(o);!Ve.Node.atDocumentBoundary(n,o,Ve.Char.DOCUMENT_END);){switch(n[o]){case\"\\n\":if(s){const e=new Ke;o=e.parse({src:n},o),o{t=n.setOrigRanges(e,t)})),this.directivesEndMarker&&(t=this.directivesEndMarker.setOrigRange(e,t)),this.contents.forEach((n=>{t=n.setOrigRanges(e,t)})),this.documentEndMarker&&(t=this.documentEndMarker.setOrigRange(e,t)),t}toString(){const{contents:e,directives:t,value:n}=this;if(null!=n)return n;let r=t.join(\"\");return e.length>0&&((t.length>0||e[0].type===Ve.Type.COMMENT)&&(r+=\"---\\n\"),r+=e.join(\"\")),\"\\n\"!==r[r.length-1]&&(r+=\"\\n\"),r}}class Ze extends Ve.Node{parse(e,t){this.context=e;const{src:n}=e;let r=Ve.Node.endOfIdentifier(n,t+1);return this.valueRange=new Ve.Range(t+1,r),r=Ve.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}const Xe=\"CLIP\",et=\"KEEP\",tt=\"STRIP\";class nt extends Ve.Node{constructor(e,t){super(e,t),this.blockIndent=null,this.chomping=Xe,this.header=null}get includesTrailingLines(){return this.chomping===et}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e,end:t}=this.valueRange;const{indent:n,src:r}=this.context;if(this.valueRange.isEmpty())return\"\";let o=null,s=r[t-1];for(;\"\\n\"===s||\"\\t\"===s||\" \"===s;){if(t-=1,t<=e){if(this.chomping===et)break;return\"\"}\"\\n\"===s&&(o=t),s=r[t-1]}let i=t+1;o&&(this.chomping===et?(i=o,t=this.valueRange.end):t=o);const a=n+this.blockIndent,c=this.type===Ve.Type.BLOCK_FOLDED;let u=!0,l=\"\",f=\"\",h=!1;for(let n=e;ni&&(i=c);o=\"\\n\"===n[e]?e:s=Ve.Node.endOfLine(n,e)}return this.chomping!==et&&(o=n[s]?s+1:s),this.valueRange=new Ve.Range(e+1,o),o}parse(e,t){this.context=e;const{src:n}=e;let r=this.parseBlockHeader(t);return r=Ve.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r=this.parseBlockValue(r),r}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.header?this.header.setOrigRange(e,t):t}}class rt extends Ve.Node{constructor(e,t){super(e,t),this.items=null}prevNodeIsJsonLike(e=this.items.length){const t=this.items[e-1];return!!t&&(t.jsonLike||t.type===Ve.Type.COMMENT&&this.prevNodeIsJsonLike(e-1))}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let{indent:o,lineStart:s}=e,i=r[t];this.items=[{char:i,offset:t}];let a=Ve.Node.endOfWhiteSpace(r,t+1);for(i=r[a];i&&\"]\"!==i&&\"}\"!==i;){switch(i){case\"\\n\":s=a+1;if(\"\\n\"===r[Ve.Node.endOfWhiteSpace(r,s)]){const e=new Ke;s=e.parse({src:r},s),this.items.push(e)}if(a=Ve.Node.endOfIndent(r,s),a<=s+o&&(i=r[a],a{if(n instanceof Ve.Node)t=n.setOrigRanges(e,t);else if(0===e.length)n.origOffset=n.offset;else{let r=t;for(;rn.offset);)++r;n.origOffset=n.offset+r,t=r}})),t}toString(){const{context:{src:e},items:t,range:n,value:r}=this;if(null!=r)return r;const o=t.filter((e=>e instanceof Ve.Node));let s=\"\",i=n.start;return o.forEach((t=>{const n=e.slice(i,t.range.start);i=t.range.end,s+=n+String(t),\"\\n\"===s[s.length-1]&&\"\\n\"!==e[i-1]&&\"\\n\"===e[i]&&(i+=1)})),s+=e.slice(i,n.end),Ve.Node.addStringTerminator(e,n.end,s)}}class ot extends Ve.Node{static endOfQuote(e,t){let n=e[t];for(;n&&'\"'!==n;)n=e[t+=\"\\\\\"===n?2:1];return t+1}get strValue(){if(!this.valueRange||!this.context)return null;const e=[],{start:t,end:n}=this.valueRange,{indent:r,src:o}=this.context;'\"'!==o[n-1]&&e.push(new Ve.YAMLSyntaxError(this,'Missing closing \"quote'));let s=\"\";for(let i=t+1;ie?o.slice(e,i+1):t)}else s+=t}return e.length>0?{errors:e,str:s}:s}parseCharCode(e,t,n){const{src:r}=this.context,o=r.substr(e,t),s=o.length===t&&/^[0-9a-fA-F]+$/.test(o)?parseInt(o,16):NaN;return isNaN(s)?(n.push(new Ve.YAMLSyntaxError(this,\"Invalid escape sequence \".concat(r.substr(e-2,t+2)))),r.substr(e-2,t+2)):String.fromCodePoint(s)}parse(e,t){this.context=e;const{src:n}=e;let r=ot.endOfQuote(n,t+1);return this.valueRange=new Ve.Range(t,r),r=Ve.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}class st extends Ve.Node{static endOfQuote(e,t){let n=e[t];for(;n;)if(\"'\"===n){if(\"'\"!==e[t+1])break;n=e[t+=2]}else n=e[t+=1];return t+1}get strValue(){if(!this.valueRange||!this.context)return null;const e=[],{start:t,end:n}=this.valueRange,{indent:r,src:o}=this.context;\"'\"!==o[n-1]&&e.push(new Ve.YAMLSyntaxError(this,\"Missing closing 'quote\"));let s=\"\";for(let i=t+1;ie?o.slice(e,i+1):t)}else s+=t}return e.length>0?{errors:e,str:s}:s}parse(e,t){this.context=e;const{src:n}=e;let r=st.endOfQuote(n,t+1);return this.valueRange=new Ve.Range(t,r),r=Ve.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}class it{static parseType(e,t,n){switch(e[t]){case\"*\":return Ve.Type.ALIAS;case\">\":return Ve.Type.BLOCK_FOLDED;case\"|\":return Ve.Type.BLOCK_LITERAL;case\"{\":return Ve.Type.FLOW_MAP;case\"[\":return Ve.Type.FLOW_SEQ;case\"?\":return!n&&Ve.Node.atBlank(e,t+1,!0)?Ve.Type.MAP_KEY:Ve.Type.PLAIN;case\":\":return!n&&Ve.Node.atBlank(e,t+1,!0)?Ve.Type.MAP_VALUE:Ve.Type.PLAIN;case\"-\":return!n&&Ve.Node.atBlank(e,t+1,!0)?Ve.Type.SEQ_ITEM:Ve.Type.PLAIN;case'\"':return Ve.Type.QUOTE_DOUBLE;case\"'\":return Ve.Type.QUOTE_SINGLE;default:return Ve.Type.PLAIN}}constructor(e={},{atLineStart:t,inCollection:n,inFlow:r,indent:o,lineStart:s,parent:i}={}){Ve._defineProperty(this,\"parseNode\",((e,t)=>{if(Ve.Node.atDocumentBoundary(this.src,t))return null;const n=new it(this,e),{props:r,type:o,valueStart:s}=n.parseProps(t),i=function(e,t){switch(e){case Ve.Type.ALIAS:return new Ze(e,t);case Ve.Type.BLOCK_FOLDED:case Ve.Type.BLOCK_LITERAL:return new nt(e,t);case Ve.Type.FLOW_MAP:case Ve.Type.FLOW_SEQ:return new rt(e,t);case Ve.Type.MAP_KEY:case Ve.Type.MAP_VALUE:case Ve.Type.SEQ_ITEM:return new qe(e,t);case Ve.Type.COMMENT:case Ve.Type.PLAIN:return new Ve.PlainValue(e,t);case Ve.Type.QUOTE_DOUBLE:return new ot(e,t);case Ve.Type.QUOTE_SINGLE:return new st(e,t);default:return null}}(o,r);let a=i.parse(n,s);if(i.range=new Ve.Range(t,a),a<=t&&(i.error=new Error(\"Node#parse consumed no characters\"),i.error.parseEnd=a,i.error.source=i,i.range.end=t+1),n.nodeStartsCollection(i)){i.error||n.atLineStart||n.parent.type!==Ve.Type.DOCUMENT||(i.error=new Ve.YAMLSyntaxError(i,\"Block collection must not have preceding content here (e.g. directives-end indicator)\"));const e=new Ge(i);return a=e.parse(new it(n),a),e.range=new Ve.Range(t,a),e}return i})),this.atLineStart=null!=t?t:e.atLineStart||!1,this.inCollection=null!=n?n:e.inCollection||!1,this.inFlow=null!=r?r:e.inFlow||!1,this.indent=null!=o?o:e.indent,this.lineStart=null!=s?s:e.lineStart,this.parent=null!=i?i:e.parent||{},this.root=e.root,this.src=e.src}nodeStartsCollection(e){const{inCollection:t,inFlow:n,src:r}=this;if(t||n)return!1;if(e instanceof qe)return!0;let o=e.range.end;return\"\\n\"!==r[o]&&\"\\n\"!==r[o-1]&&(o=Ve.Node.endOfWhiteSpace(r,o),\":\"===r[o])}parseProps(e){const{inFlow:t,parent:n,src:r}=this,o=[];let s=!1,i=r[e=this.atLineStart?Ve.Node.endOfIndent(r,e):Ve.Node.endOfWhiteSpace(r,e)];for(;i===Ve.Char.ANCHOR||i===Ve.Char.COMMENT||i===Ve.Char.TAG||\"\\n\"===i;){if(\"\\n\"===i){const t=e+1,o=Ve.Node.endOfIndent(r,t),i=o-(t+this.indent),a=n.type===Ve.Type.SEQ_ITEM&&n.context.atLineStart;if(!Ve.Node.nextNodeIsIndented(r[o],i,!a))break;this.atLineStart=!0,this.lineStart=t,s=!1,e=o}else if(i===Ve.Char.COMMENT){const t=Ve.Node.endOfLine(r,e+1);o.push(new Ve.Range(e,t)),e=t}else{let t=Ve.Node.endOfIdentifier(r,e+1);i===Ve.Char.TAG&&\",\"===r[t]&&/^[a-zA-Z0-9-]+\\.[a-zA-Z0-9-]+,\\d\\d\\d\\d(-\\d\\d){0,2}\\/\\S/.test(r.slice(e+1,t+13))&&(t=Ve.Node.endOfIdentifier(r,t+5)),o.push(new Ve.Range(e,t)),s=!0,e=Ve.Node.endOfWhiteSpace(r,t)}i=r[e]}s&&\":\"===i&&Ve.Node.atBlank(r,e+1,!0)&&(e-=1);return{props:o,type:it.parseType(r,e,t),valueStart:e}}}var at={parse:function(e){const t=[];-1!==e.indexOf(\"\\r\")&&(e=e.replace(/\\r\\n?/g,((e,n)=>(e.length>1&&t.push(n),\"\\n\"))));const n=[];let r=0;do{const t=new ze,o=new it({src:e});r=t.parse(o,r),n.push(t)}while(r{if(0===t.length)return!1;for(let e=1;en.join(\"...\\n\"),n}};function ct(e,t,n){return n?-1===n.indexOf(\"\\n\")?\"\".concat(e,\" #\").concat(n):\"\".concat(e,\"\\n\")+n.replace(/^/gm,\"\".concat(t||\"\",\"#\")):e}class ut{}function lt(e,t,n){if(Array.isArray(e))return e.map(((e,t)=>lt(e,String(t),n)));if(e&&\"function\"==typeof e.toJSON){const r=n&&n.anchors&&n.anchors.get(e);r&&(n.onCreate=e=>{r.res=e,delete n.onCreate});const o=e.toJSON(t,n);return r&&n.onCreate&&n.onCreate(o),o}return n&&n.keep||\"bigint\"!=typeof e?e:Number(e)}class ft extends ut{constructor(e){super(),this.value=e}toJSON(e,t){return t&&t.keep?this.value:lt(this.value,e,t)}toString(){return String(this.value)}}function ht(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){const n=t[e],o=Number.isInteger(n)&&n>=0?[]:{};o[n]=r,r=o}return e.createNode(r,!1)}const pt=e=>null==e||\"object\"==typeof e&&e[Symbol.iterator]().next().done;class dt extends ut{constructor(e){super(),Ve._defineProperty(this,\"items\",[]),this.schema=e}addIn(e,t){if(pt(e))this.add(t);else{const[n,...r]=e,o=this.get(n,!0);if(o instanceof dt)o.addIn(r,t);else{if(void 0!==o||!this.schema)throw new Error(\"Expected YAML collection at \".concat(n,\". Remaining path: \").concat(r));this.set(n,ht(this.schema,r,t))}}}deleteIn([e,...t]){if(0===t.length)return this.delete(e);const n=this.get(e,!0);if(n instanceof dt)return n.deleteIn(t);throw new Error(\"Expected YAML collection at \".concat(e,\". Remaining path: \").concat(t))}getIn([e,...t],n){const r=this.get(e,!0);return 0===t.length?!n&&r instanceof ft?r.value:r:r instanceof dt?r.getIn(t,n):void 0}hasAllNullValues(){return this.items.every((e=>{if(!e||\"PAIR\"!==e.type)return!1;const t=e.value;return null==t||t instanceof ft&&null==t.value&&!t.commentBefore&&!t.comment&&!t.tag}))}hasIn([e,...t]){if(0===t.length)return this.has(e);const n=this.get(e,!0);return n instanceof dt&&n.hasIn(t)}setIn([e,...t],n){if(0===t.length)this.set(e,n);else{const r=this.get(e,!0);if(r instanceof dt)r.setIn(t,n);else{if(void 0!==r||!this.schema)throw new Error(\"Expected YAML collection at \".concat(e,\". Remaining path: \").concat(t));this.set(e,ht(this.schema,t,n))}}}toJSON(){return null}toString(e,{blockItem:t,flowChars:n,isMap:r,itemIndent:o},s,i){const{indent:a,indentStep:c,stringify:u}=e,l=this.type===Ve.Type.FLOW_MAP||this.type===Ve.Type.FLOW_SEQ||e.inFlow;l&&(o+=c);const f=r&&this.hasAllNullValues();e=Object.assign({},e,{allNullValues:f,indent:o,inFlow:l,type:null});let h=!1,p=!1;const d=this.items.reduce(((t,n,r)=>{let s;n&&(!h&&n.spaceBefore&&t.push({type:\"comment\",str:\"\"}),n.commentBefore&&n.commentBefore.match(/^.*$/gm).forEach((e=>{t.push({type:\"comment\",str:\"#\".concat(e)})})),n.comment&&(s=n.comment),l&&(!h&&n.spaceBefore||n.commentBefore||n.comment||n.key&&(n.key.commentBefore||n.key.comment)||n.value&&(n.value.commentBefore||n.value.comment))&&(p=!0)),h=!1;let i=u(n,e,(()=>s=null),(()=>h=!0));return l&&!p&&i.includes(\"\\n\")&&(p=!0),l&&re.str));if(p||r.reduce(((e,t)=>e+t.length+2),2)>dt.maxFlowStringSingleLineLength){g=e;for(const e of r)g+=e?\"\\n\".concat(c).concat(a).concat(e):\"\\n\";g+=\"\\n\".concat(a).concat(t)}else g=\"\".concat(e,\" \").concat(r.join(\" \"),\" \").concat(t)}else{const e=d.map(t);g=e.shift();for(const t of e)g+=t?\"\\n\".concat(a).concat(t):\"\\n\"}return this.comment?(g+=\"\\n\"+this.comment.replace(/^/gm,\"\".concat(a,\"#\")),s&&s()):h&&i&&i(),g}}function gt(e){let t=e instanceof ft?e.value:e;return t&&\"string\"==typeof t&&(t=Number(t)),Number.isInteger(t)&&t>=0?t:null}Ve._defineProperty(dt,\"maxFlowStringSingleLineLength\",60);class mt extends dt{add(e){this.items.push(e)}delete(e){const t=gt(e);if(\"number\"!=typeof t)return!1;return this.items.splice(t,1).length>0}get(e,t){const n=gt(e);if(\"number\"!=typeof n)return;const r=this.items[n];return!t&&r instanceof ft?r.value:r}has(e){const t=gt(e);return\"number\"==typeof t&&t\"comment\"===e.type?e.str:\"- \".concat(e.str),flowChars:{start:\"[\",end:\"]\"},isMap:!1,itemIndent:(e.indent||\"\")+\" \"},t,n):JSON.stringify(this)}}class yt extends ut{constructor(e,t=null){super(),this.key=e,this.value=t,this.type=yt.Type.PAIR}get commentBefore(){return this.key instanceof ut?this.key.commentBefore:void 0}set commentBefore(e){if(null==this.key&&(this.key=new ft(null)),!(this.key instanceof ut)){throw new Error(\"Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.\")}this.key.commentBefore=e}addToJSMap(e,t){const n=lt(this.key,\"\",e);if(t instanceof Map){const r=lt(this.value,n,e);t.set(n,r)}else if(t instanceof Set)t.add(n);else{const r=((e,t,n)=>null===t?\"\":\"object\"!=typeof t?String(t):e instanceof ut&&n&&n.doc?e.toString({anchors:{},doc:n.doc,indent:\"\",indentStep:n.indentStep,inFlow:!0,inStringifyKey:!0,stringify:n.stringify}):JSON.stringify(t))(this.key,n,e);t[r]=lt(this.value,r,e)}return t}toJSON(e,t){const n=t&&t.mapAsMap?new Map:{};return this.addToJSMap(t,n)}toString(e,t,n){if(!e||!e.doc)return JSON.stringify(this);const{indent:r,indentSeq:o,simpleKeys:s}=e.doc.options;let{key:i,value:a}=this,c=i instanceof ut&&i.comment;if(s){if(c)throw new Error(\"With simple keys, key nodes cannot have comments\");if(i instanceof dt){throw new Error(\"With simple keys, collection cannot be used as a key value\")}}const u=!s&&(!i||c||i instanceof dt||i.type===Ve.Type.BLOCK_FOLDED||i.type===Ve.Type.BLOCK_LITERAL),{doc:l,indent:f,indentStep:h,stringify:p}=e;e=Object.assign({},e,{implicitKey:!u,indent:f+h});let d=!1,g=p(i,e,(()=>c=null),(()=>d=!0));if(g=ct(g,e.indent,c),e.allNullValues&&!s)return this.comment?(g=ct(g,e.indent,this.comment),t&&t()):d&&!c&&n&&n(),e.inFlow?g:\"? \".concat(g);g=u?\"? \".concat(g,\"\\n\").concat(f,\":\"):\"\".concat(g,\":\"),this.comment&&(g=ct(g,e.indent,this.comment),t&&t());let m=\"\",y=null;if(a instanceof ut){if(a.spaceBefore&&(m=\"\\n\"),a.commentBefore){const t=a.commentBefore.replace(/^/gm,\"\".concat(e.indent,\"#\"));m+=\"\\n\".concat(t)}y=a.comment}else a&&\"object\"==typeof a&&(a=l.schema.createNode(a,!0));e.implicitKey=!1,!u&&!this.comment&&a instanceof ft&&(e.indentAtStart=g.length+1),d=!1,!o&&r>=2&&!e.inFlow&&!u&&a instanceof mt&&a.type!==Ve.Type.FLOW_SEQ&&!a.tag&&!l.anchors.getName(a)&&(e.indent=e.indent.substr(2));const v=p(a,e,(()=>y=null),(()=>d=!0));let _=\" \";if(m||this.comment)_=\"\".concat(m,\"\\n\").concat(e.indent);else if(!u&&a instanceof dt){(\"[\"===v[0]||\"{\"===v[0])&&!v.includes(\"\\n\")||(_=\"\\n\".concat(e.indent))}return d&&!y&&n&&n(),ct(g+_+v,e.indent,y)}}Ve._defineProperty(yt,\"Type\",{PAIR:\"PAIR\",MERGE_PAIR:\"MERGE_PAIR\"});const vt=(e,t)=>{if(e instanceof _t){const n=t.get(e.source);return n.count*n.aliasCount}if(e instanceof dt){let n=0;for(const r of e.items){const e=vt(r,t);e>n&&(n=e)}return n}if(e instanceof yt){const n=vt(e.key,t),r=vt(e.value,t);return Math.max(n,r)}return 1};class _t extends ut{static stringify({range:e,source:t},{anchors:n,doc:r,implicitKey:o,inStringifyKey:s}){let i=Object.keys(n).find((e=>n[e]===t));if(!i&&s&&(i=r.anchors.getName(t)||r.anchors.newName()),i)return\"*\".concat(i).concat(o?\" \":\"\");const a=r.anchors.getName(t)?\"Alias node must be after source node\":\"Source node not found for alias node\";throw new Error(\"\".concat(a,\" [\").concat(e,\"]\"))}constructor(e){super(),this.source=e,this.type=Ve.Type.ALIAS}set tag(e){throw new Error(\"Alias nodes cannot have tags\")}toJSON(e,t){if(!t)return lt(this.source,e,t);const{anchors:n,maxAliasCount:r}=t,o=n.get(this.source);if(!o||void 0===o.res){const e=\"This should not happen: Alias anchor was not resolved?\";throw this.cstNode?new Ve.YAMLReferenceError(this.cstNode,e):new ReferenceError(e)}if(r>=0&&(o.count+=1,0===o.aliasCount&&(o.aliasCount=vt(this.source,n)),o.count*o.aliasCount>r)){const e=\"Excessive alias count indicates a resource exhaustion attack\";throw this.cstNode?new Ve.YAMLReferenceError(this.cstNode,e):new ReferenceError(e)}return o.res}toString(e){return _t.stringify(this,e)}}function wt(e,t){const n=t instanceof ft?t.value:t;for(const r of e)if(r instanceof yt){if(r.key===t||r.key===n)return r;if(r.key&&r.key.value===n)return r}}Ve._defineProperty(_t,\"default\",!0);class Et extends dt{add(e,t){e?e instanceof yt||(e=new yt(e.key||e,e.value)):e=new yt(e);const n=wt(this.items,e.key),r=this.schema&&this.schema.sortMapEntries;if(n){if(!t)throw new Error(\"Key \".concat(e.key,\" already set\"));n.value=e.value}else if(r){const t=this.items.findIndex((t=>r(e,t)<0));-1===t?this.items.push(e):this.items.splice(t,0,e)}else this.items.push(e)}delete(e){const t=wt(this.items,e);if(!t)return!1;return this.items.splice(this.items.indexOf(t),1).length>0}get(e,t){const n=wt(this.items,e),r=n&&n.value;return!t&&r instanceof ft?r.value:r}has(e){return!!wt(this.items,e)}set(e,t){this.add(new yt(e,t),!0)}toJSON(e,t,n){const r=n?new n:t&&t.mapAsMap?new Map:{};t&&t.onCreate&&t.onCreate(r);for(const e of this.items)e.addToJSMap(t,r);return r}toString(e,t,n){if(!e)return JSON.stringify(this);for(const e of this.items)if(!(e instanceof yt))throw new Error(\"Map items must all be pairs; found \".concat(JSON.stringify(e),\" instead\"));return super.toString(e,{blockItem:e=>e.str,flowChars:{start:\"{\",end:\"}\"},isMap:!0,itemIndent:e.indent||\"\"},t,n)}}class St extends yt{constructor(e){if(e instanceof yt){let t=e.value;t instanceof mt||(t=new mt,t.items.push(e.value),t.range=e.value.range),super(e.key,t),this.range=e.range}else super(new ft(\"<<\"),new mt);this.type=yt.Type.MERGE_PAIR}addToJSMap(e,t){for(const{source:n}of this.value.items){if(!(n instanceof Et))throw new Error(\"Merge sources must be maps\");const r=n.toJSON(null,e,Map);for(const[e,n]of r)t instanceof Map?t.has(e)||t.set(e,n):t instanceof Set?t.add(e):Object.prototype.hasOwnProperty.call(t,e)||(t[e]=n)}return t}toString(e,t){const n=this.value;if(n.items.length>1)return super.toString(e,t);this.value=n.items[0];const r=super.toString(e,t);return this.value=n,r}}const bt={defaultType:Ve.Type.BLOCK_LITERAL,lineWidth:76},At={defaultType:Ve.Type.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function Mt(e,t,n){for(const{format:n,test:r,resolve:o}of t)if(r){const t=e.match(r);if(t){let e=o.apply(null,t);return e instanceof ft||(e=new ft(e)),n&&(e.format=n),e}}return n&&(e=n(e)),new ft(e)}const Ot=\"flow\",Lt=\"block\",Nt=\"quoted\",Tt=(e,t)=>{let n=e[t+1];for(;\" \"===n||\"\\t\"===n;){do{n=e[t+=1]}while(n&&\"\\n\"!==n);n=e[t+1]}return t};function Ct(e,t,n,{indentAtStart:r,lineWidth:o=80,minContentWidth:s=20,onFold:i,onOverflow:a}){if(!o||o<0)return e;const c=Math.max(1+s,1+o-t.length);if(e.length<=c)return e;const u=[],l={};let f,h=o-(\"number\"==typeof r?r:t.length),p=void 0,d=void 0,g=!1,m=-1;for(n===Lt&&(m=Tt(e,m),-1!==m&&(h=m+c));f=e[m+=1];){if(n===Nt&&\"\\\\\"===f)switch(e[m+1]){case\"x\":m+=3;break;case\"u\":m+=5;break;case\"U\":m+=9;break;default:m+=1}if(\"\\n\"===f)n===Lt&&(m=Tt(e,m)),h=m+c,p=void 0;else{if(\" \"===f&&d&&\" \"!==d&&\"\\n\"!==d&&\"\\t\"!==d){const t=e[m+1];t&&\" \"!==t&&\"\\n\"!==t&&\"\\t\"!==t&&(p=m)}if(m>=h)if(p)u.push(p),h=p+c,p=void 0;else if(n===Nt){for(;\" \"===d||\"\\t\"===d;)d=f,f=e[m+=1],g=!0;u.push(m-2),l[m-2]=!0,h=m-2+c,p=void 0}else g=!0}d=f}if(g&&a&&a(),0===u.length)return e;i&&i();let y=e.slice(0,u[0]);for(let r=0;re?Object.assign({indentAtStart:e},At.fold):At.fold,Pt=e=>/^(%|---|\\.\\.\\.)/m.test(e);function Rt(e,t){const{implicitKey:n}=t,{jsonEncoding:r,minMultiLineLength:o}=At.doubleQuoted,s=JSON.stringify(e);if(r)return s;const i=t.indent||(Pt(e)?\" \":\"\");let a=\"\",c=0;for(let e=0,t=s[e];t;t=s[++e])if(\" \"===t&&\"\\\\\"===s[e+1]&&\"n\"===s[e+2]&&(a+=s.slice(c,e)+\"\\\\ \",e+=1,c=e,t=\"\\\\\"),\"\\\\\"===t)switch(s[e+1]){case\"u\":{a+=s.slice(c,e);const t=s.substr(e+2,4);switch(t){case\"0000\":a+=\"\\\\0\";break;case\"0007\":a+=\"\\\\a\";break;case\"000b\":a+=\"\\\\v\";break;case\"001b\":a+=\"\\\\e\";break;case\"0085\":a+=\"\\\\N\";break;case\"00a0\":a+=\"\\\\_\";break;case\"2028\":a+=\"\\\\L\";break;case\"2029\":a+=\"\\\\P\";break;default:\"00\"===t.substr(0,2)?a+=\"\\\\x\"+t.substr(2):a+=s.substr(e,6)}e+=5,c=e+1}break;case\"n\":if(n||'\"'===s[e+2]||s.lengtht)return!0;if(o=r+1,n-o<=t)return!1}return!0}(n,At.fold.lineWidth-i.length));let u=c?\"|\":\">\";if(!n)return u+\"\\n\";let l=\"\",f=\"\";if(n=n.replace(/[\\n\\t ]*$/,(e=>{const t=e.indexOf(\"\\n\");return-1===t?u+=\"-\":n!==e&&t===e.length-1||(u+=\"+\",s&&s()),f=e.replace(/\\n$/,\"\"),\"\"})).replace(/^[\\n ]*/,(e=>{-1!==e.indexOf(\" \")&&(u+=a);const t=e.match(/ +$/);return t?(l=e.slice(0,-t[0].length),t[0]):(l=e,\"\")})),f&&(f=f.replace(/\\n+(?!\\n|$)/g,\"$&\".concat(i))),l&&(l=l.replace(/\\n+/g,\"$&\".concat(i))),e&&(u+=\" #\"+e.replace(/ ?[\\r\\n]+/g,\" \"),o&&o()),!n)return\"\".concat(u).concat(a,\"\\n\").concat(i).concat(f);if(c)return n=n.replace(/\\n+/g,\"$&\".concat(i)),\"\".concat(u,\"\\n\").concat(i).concat(l).concat(n).concat(f);n=n.replace(/\\n+/g,\"\\n$&\").replace(/(?:^|\\n)([\\t ].*)(?:([\\n\\t ]*)\\n(?![\\n\\t ]))?/g,\"$1$2\").replace(/\\n+/g,\"$&\".concat(i));const h=Ct(\"\".concat(l).concat(n).concat(f),i,Lt,At.fold);return\"\".concat(u,\"\\n\").concat(i).concat(h)}function Bt(e,t){let n,r,o;switch(t.type){case Ve.Type.FLOW_MAP:n=\"}\",r=\"flow map\";break;case Ve.Type.FLOW_SEQ:n=\"]\",r=\"flow sequence\";break;default:return void e.push(new Ve.YAMLSemanticError(t,\"Not a flow collection!?\"))}for(let e=t.items.length-1;e>=0;--e){const n=t.items[e];if(!n||n.type!==Ve.Type.COMMENT){o=n;break}}if(o&&o.char!==n){const s=\"Expected \".concat(r,\" to end with \").concat(n);let i;\"number\"==typeof o.offset?(i=new Ve.YAMLSemanticError(t,s),i.offset=o.offset+1):(i=new Ve.YAMLSemanticError(o,s),o.range&&o.range.end&&(i.offset=o.range.end-o.range.start)),e.push(i)}}function Yt(e,t){const n=t.context.src[t.range.start-1];if(\"\\n\"!==n&&\"\\t\"!==n&&\" \"!==n){const n=\"Comments must be separated from other tokens by white space characters\";e.push(new Ve.YAMLSemanticError(t,n))}}function Dt(e,t){const n=String(t),r=n.substr(0,8)+\"...\"+n.substr(-8);return new Ve.YAMLSemanticError(e,'The \"'.concat(r,'\" key is too long'))}function Ut(e,t){for(const{afterKey:n,before:r,comment:o}of t){let t=e.items[r];t?(n&&t.value&&(t=t.value),void 0===o?!n&&t.commentBefore||(t.spaceBefore=!0):t.commentBefore?t.commentBefore+=\"\\n\"+o:t.commentBefore=o):void 0!==o&&(e.comment?e.comment+=\"\\n\"+o:e.comment=o)}}function Ft(e,t){const n=t.strValue;return n?\"string\"==typeof n?n:(n.errors.forEach((n=>{n.source||(n.source=t),e.errors.push(n)})),n.str):\"\"}function jt(e,t){const{tag:n,type:r}=t;let o=!1;if(n){const{handle:r,suffix:s,verbatim:i}=n;if(i){if(\"!\"!==i&&\"!!\"!==i)return i;const n=\"Verbatim tags aren't resolved, so \".concat(i,\" is invalid.\");e.errors.push(new Ve.YAMLSemanticError(t,n))}else if(\"!\"!==r||s)try{return function(e,t){const{handle:n,suffix:r}=t.tag;let o=e.tagPrefixes.find((e=>e.handle===n));if(!o){const r=e.getDefaults().tagPrefixes;if(r&&(o=r.find((e=>e.handle===n))),!o)throw new Ve.YAMLSemanticError(t,\"The \".concat(n,\" tag handle is non-default and was not declared.\"))}if(!r)throw new Ve.YAMLSemanticError(t,\"The \".concat(n,\" tag has no suffix.\"));if(\"!\"===n&&\"1.0\"===(e.version||e.options.version)){if(\"^\"===r[0])return e.warnings.push(new Ve.YAMLWarning(t,\"YAML 1.0 ^ tag expansion is not supported\")),r;if(/[:/]/.test(r)){const e=r.match(/^([a-z0-9-]+)\\/(.*)/i);return e?\"tag:\".concat(e[1],\".yaml.org,2002:\").concat(e[2]):\"tag:\".concat(r)}}return o.prefix+decodeURIComponent(r)}(e,t)}catch(t){e.errors.push(t)}else o=!0}switch(r){case Ve.Type.BLOCK_FOLDED:case Ve.Type.BLOCK_LITERAL:case Ve.Type.QUOTE_DOUBLE:case Ve.Type.QUOTE_SINGLE:return Ve.defaultTags.STR;case Ve.Type.FLOW_MAP:case Ve.Type.MAP:return Ve.defaultTags.MAP;case Ve.Type.FLOW_SEQ:case Ve.Type.SEQ:return Ve.defaultTags.SEQ;case Ve.Type.PLAIN:return o?Ve.defaultTags.STR:null;default:return null}}function Wt(e,t,n){const{tags:r}=e.schema,o=[];for(const s of r)if(s.tag===n){if(!s.test){const n=s.resolve(e,t);return n instanceof dt?n:new ft(n)}o.push(s)}const s=Ft(e,t);return\"string\"==typeof s&&o.length>0?Mt(s,o,r.scalarFallback):null}function Qt(e,t,n){try{const r=Wt(e,t,n);if(r)return n&&t.tag&&(r.tag=n),r}catch(n){return n.source||(n.source=t),e.errors.push(n),null}try{const r=function({type:e}){switch(e){case Ve.Type.FLOW_MAP:case Ve.Type.MAP:return Ve.defaultTags.MAP;case Ve.Type.FLOW_SEQ:case Ve.Type.SEQ:return Ve.defaultTags.SEQ;default:return Ve.defaultTags.STR}}(t);if(!r)throw new Error(\"The tag \".concat(n,\" is unavailable\"));const o=\"The tag \".concat(n,\" is unavailable, falling back to \").concat(r);e.warnings.push(new Ve.YAMLWarning(t,o));const s=Wt(e,t,r);return s.tag=n,s}catch(n){const r=new Ve.YAMLReferenceError(t,n.message);return r.stack=n.stack,e.errors.push(r),null}}function Vt(e,t){const n={before:[],after:[]};let r=!1,o=!1;const s=(e=>{if(!e)return!1;const{type:t}=e;return t===Ve.Type.MAP_KEY||t===Ve.Type.MAP_VALUE||t===Ve.Type.SEQ_ITEM})(t.context.parent)?t.context.parent.props.concat(t.props):t.props;for(const{start:i,end:a}of s)switch(t.context.src[i]){case Ve.Char.COMMENT:{if(!t.commentHasRequiredWhitespace(i)){const n=\"Comments must be separated from other tokens by white space characters\";e.push(new Ve.YAMLSemanticError(t,n))}const{header:r,valueRange:o}=t;(o&&(i>o.start||r&&i>r.start)?n.after:n.before).push(t.context.src.slice(i+1,a));break}case Ve.Char.ANCHOR:if(r){const n=\"A node can have at most one anchor\";e.push(new Ve.YAMLSemanticError(t,n))}r=!0;break;case Ve.Char.TAG:if(o){const n=\"A node can have at most one tag\";e.push(new Ve.YAMLSemanticError(t,n))}o=!0}return{comments:n,hasAnchor:r,hasTag:o}}function Kt(e,t){if(!t)return null;t.error&&e.errors.push(t.error);const{comments:n,hasAnchor:r,hasTag:o}=Vt(e.errors,t);if(r){const{anchors:n}=e,r=t.anchor,o=n.getNode(r);o&&(n.map[n.newName(r)]=o),n.map[r]=t}if(t.type===Ve.Type.ALIAS&&(r||o)){const n=\"An alias node must not specify any properties\";e.errors.push(new Ve.YAMLSemanticError(t,n))}const s=function(e,t){const{anchors:n,errors:r,schema:o}=e;if(t.type===Ve.Type.ALIAS){const e=t.rawValue,o=n.getNode(e);if(!o){const n=\"Aliased anchor not found: \".concat(e);return r.push(new Ve.YAMLReferenceError(t,n)),null}const s=new _t(o);return n._cstAliases.push(s),s}const s=jt(e,t);if(s)return Qt(e,t,s);if(t.type!==Ve.Type.PLAIN){const e=\"Failed to resolve \".concat(t.type,\" node here\");return r.push(new Ve.YAMLSyntaxError(t,e)),null}try{return Mt(Ft(e,t),o.tags,o.tags.scalarFallback)}catch(e){return e.source||(e.source=t),r.push(e),null}}(e,t);if(s){s.range=[t.range.start,t.range.end],e.options.keepCstNodes&&(s.cstNode=t),e.options.keepNodeTypes&&(s.type=t.type);const r=n.before.join(\"\\n\");r&&(s.commentBefore=s.commentBefore?\"\".concat(s.commentBefore,\"\\n\").concat(r):r);const o=n.after.join(\"\\n\");o&&(s.comment=s.comment?\"\".concat(s.comment,\"\\n\").concat(o):o)}return t.resolved=s}function qt(e,t){if(!(({context:{lineStart:e,node:t,src:n},props:r})=>{if(0===r.length)return!1;const{start:o}=r[0];if(t&&o>t.valueRange.start)return!1;if(n[o]!==Ve.Char.COMMENT)return!1;for(let t=e;t0){n=new Ve.PlainValue(Ve.Type.PLAIN,[]),n.context={parent:a,src:a.context.src};const e=a.range.start+1;if(n.range={start:e,end:e},n.valueRange={start:e,end:e},\"number\"==typeof a.range.origStart){const e=a.range.origStart+1;n.range.origStart=n.range.origEnd=e,n.valueRange.origStart=n.valueRange.origEnd=e}}const i=new yt(o,Kt(e,n));qt(a,i),r.push(i),o&&\"number\"==typeof s&&a.range.start>s+1024&&e.errors.push(Dt(t,o)),o=void 0,s=null}break;default:void 0!==o&&r.push(new yt(o)),o=Kt(e,a),s=a.range.start,a.error&&e.errors.push(a.error);e:for(let n=i+1;;++n){const r=t.items[n];switch(r&&r.type){case Ve.Type.BLANK_LINE:case Ve.Type.COMMENT:continue e;case Ve.Type.MAP_VALUE:break e;default:{const t=\"Implicit map keys need to be followed by map values\";e.errors.push(new Ve.YAMLSemanticError(a,t));break e}}}if(a.valueRangeContainsNewline){const t=\"Implicit map keys need to be on a single line\";e.errors.push(new Ve.YAMLSemanticError(a,t))}}}void 0!==o&&r.push(new yt(o));return{comments:n,items:r}}(e,t),o=new Et;o.items=r,Ut(o,n);let s=!1;for(let n=0;n{if(e instanceof _t){const{type:t}=e.source;return t!==Ve.Type.MAP&&t!==Ve.Type.FLOW_MAP&&(s=\"Merge nodes aliases can only point to maps\")}return s=\"Merge nodes can only have Alias nodes as values\"})),s&&e.errors.push(new Ve.YAMLSemanticError(t,s))}else for(let s=n+1;si+1024&&e.errors.push(Dt(t,s));const{src:r}=c.context;for(let t=i;te instanceof yt&&e.key instanceof dt))){const n=\"Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.\";e.warnings.push(new Ve.YAMLWarning(t,n))}return t.resolved=o,o},resolveString:Ft,strOptions:At,stringifyNumber:function({format:e,minFractionDigits:t,tag:n,value:r}){if(\"bigint\"==typeof r)return String(r);if(!isFinite(r))return isNaN(r)?\".nan\":r<0?\"-.inf\":\".inf\";let o=JSON.stringify(r);if(!e&&t&&(!n||\"tag:yaml.org,2002:float\"===n)&&/^\\d/.test(o)){let e=o.indexOf(\".\");e<0&&(e=o.length,o+=\".\");let n=t-(o.length-e-1);for(;n-- >0;)o+=\"0\"}return o},stringifyString:function(e,t,n,r){const{defaultType:o}=At,{implicitKey:s,inFlow:i}=t;let{type:a,value:c}=e;\"string\"!=typeof c&&(c=String(c),e=Object.assign({},e,{value:c}));const u=o=>{switch(o){case Ve.Type.BLOCK_FOLDED:case Ve.Type.BLOCK_LITERAL:return kt(e,t,n,r);case Ve.Type.QUOTE_DOUBLE:return Rt(c,t);case Ve.Type.QUOTE_SINGLE:return It(c,t);case Ve.Type.PLAIN:return function(e,t,n,r){const{comment:o,type:s,value:i}=e,{actualString:a,implicitKey:c,indent:u,inFlow:l}=t;if(c&&/[\\n[\\]{},]/.test(i)||l&&/[[\\]{},]/.test(i))return Rt(i,t);if(!i||/^[\\n\\t ,[\\]{}#&*!|>'\"%@`]|^[?-]$|^[?-][ \\t]|[\\n:][ \\t]|[ \\t]\\n|[\\n\\t ]#|[\\n\\t :]$/.test(i))return c||l||-1===i.indexOf(\"\\n\")?-1!==i.indexOf('\"')&&-1===i.indexOf(\"'\")?It(i,t):Rt(i,t):kt(e,t,n,r);if(!c&&!l&&s!==Ve.Type.PLAIN&&-1!==i.indexOf(\"\\n\"))return kt(e,t,n,r);if(\"\"===u&&Pt(i))return t.forceBlockIndent=!0,kt(e,t,n,r);const f=i.replace(/\\n+/g,\"$&\\n\".concat(u));if(a){const{tags:e}=t.doc.schema;if(\"string\"!=typeof Mt(f,e,e.scalarFallback).value)return Rt(i,t)}const h=c?f:Ct(f,u,Ot,xt(t));return!o||l||-1===h.indexOf(\"\\n\")&&-1===o.indexOf(\"\\n\")?h:(n&&n(),function(e,t,n){if(!n)return e;const r=n.replace(/[\\s\\S]^/gm,\"$&\".concat(t,\"#\"));return\"#\".concat(r,\"\\n\").concat(t).concat(e)}(h,u,o))}(e,t,n,r);default:return null}};a!==Ve.Type.QUOTE_DOUBLE&&/[\\x00-\\x08\\x0b-\\x1f\\x7f-\\x9f]/.test(c)?a=Ve.Type.QUOTE_DOUBLE:!s&&!i||a!==Ve.Type.BLOCK_FOLDED&&a!==Ve.Type.BLOCK_LITERAL||(a=Ve.Type.QUOTE_DOUBLE);let l=u(a);if(null===l&&(l=u(o),null===l))throw new Error(\"Unsupported default string type \".concat(o));return l},toJSON:lt},$t=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},Gt=[],Ht=[],zt=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,Zt=!1;function Xt(){Zt=!0;for(var e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",t=0,n=e.length;t>18&63]+Gt[o>>12&63]+Gt[o>>6&63]+Gt[63&o]);return s.join(\"\")}function tn(e){var t;Zt||Xt();for(var n=e.length,r=n%3,o=\"\",s=[],i=16383,a=0,c=n-r;ac?c:a+i));return 1===r?(t=e[n-1],o+=Gt[t>>2],o+=Gt[t<<4&63],o+=\"==\"):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=Gt[t>>10],o+=Gt[t>>4&63],o+=Gt[t<<2&63],o+=\"=\"),s.push(o),s.join(\"\")}function nn(e,t,n,r,o){var s,i,a=8*o-r-1,c=(1<>1,l=-7,f=n?o-1:0,h=n?-1:1,p=e[t+f];for(f+=h,s=p&(1<<-l)-1,p>>=-l,l+=a;l>0;s=256*s+e[t+f],f+=h,l-=8);for(i=s&(1<<-l)-1,s>>=-l,l+=r;l>0;i=256*i+e[t+f],f+=h,l-=8);if(0===s)s=1-u;else{if(s===c)return i?NaN:1/0*(p?-1:1);i+=Math.pow(2,r),s-=u}return(p?-1:1)*i*Math.pow(2,s-r)}function rn(e,t,n,r,o,s){var i,a,c,u=8*s-o-1,l=(1<>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:s-1,d=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,i=l):(i=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-i))<1&&(i--,c*=2),(t+=i+f>=1?h/c:h*Math.pow(2,1-f))*c>=2&&(i++,c/=2),i+f>=l?(a=0,i=l):i+f>=1?(a=(t*c-1)*Math.pow(2,o),i+=f):(a=t*Math.pow(2,f-1)*Math.pow(2,o),i=0));o>=8;e[n+p]=255&a,p+=d,a/=256,o-=8);for(i=i<0;e[n+p]=255&i,p+=d,i/=256,u-=8);e[n+p-d]|=128*g}var on={}.toString,sn=Array.isArray||function(e){return\"[object Array]\"==on.call(e)};function an(){return un.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function cn(e,t){if(an()=an())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+an().toString(16)+\" bytes\");return 0|e}function gn(e){return!(null==e||!e._isBuffer)}function mn(e,t){if(gn(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return Qn(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return Vn(e).length;default:if(r)return Qn(e).length;t=(\"\"+t).toLowerCase(),r=!0}}function yn(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if((n>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return Pn(this,t,n);case\"utf8\":case\"utf-8\":return Nn(this,t,n);case\"ascii\":return Cn(this,t,n);case\"latin1\":case\"binary\":return xn(this,t,n);case\"base64\":return Ln(this,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Rn(this,t,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}function vn(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function _n(e,t,n,r,o){if(0===e.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if(\"string\"==typeof t&&(t=un.from(t,r)),gn(t))return 0===t.length?-1:wn(e,t,n,r,o);if(\"number\"==typeof t)return t&=255,un.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):wn(e,[t],n,r,o);throw new TypeError(\"val must be string, number or Buffer\")}function wn(e,t,n,r,o){var s,i=1,a=e.length,c=t.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;i=2,a/=2,c/=2,n/=2}function u(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(o){var l=-1;for(s=n;sa&&(n=a-c),s=n;s>=0;s--){for(var f=!0,h=0;ho&&(r=o):r=o;var s=t.length;if(s%2!=0)throw new TypeError(\"Invalid hex string\");r>s/2&&(r=s/2);for(var i=0;i>8,o=n%256,s.push(o),s.push(r);return s}(t,e.length-n),e,n,r)}function Ln(e,t,n){return 0===t&&n===e.length?tn(e):tn(e.slice(t,n))}function Nn(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o239?4:u>223?3:u>191?2:1;if(o+f<=n)switch(f){case 1:u<128&&(l=u);break;case 2:128==(192&(s=e[o+1]))&&(c=(31&u)<<6|63&s)>127&&(l=c);break;case 3:s=e[o+1],i=e[o+2],128==(192&s)&&128==(192&i)&&(c=(15&u)<<12|(63&s)<<6|63&i)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:s=e[o+1],i=e[o+2],a=e[o+3],128==(192&s)&&128==(192&i)&&128==(192&a)&&(c=(15&u)<<18|(63&s)<<12|(63&i)<<6|63&a)>65535&&c<1114112&&(l=c)}null===l?(l=65533,f=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=f}return function(e){var t=e.length;if(t<=Tn)return String.fromCharCode.apply(String,e);var n=\"\",r=0;for(;r0&&(e=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(e+=\" ... \")),\"\"},un.prototype.compare=function(e,t,n,r,o){if(!gn(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError(\"out of range index\");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var s=(o>>>=0)-(r>>>=0),i=(n>>>=0)-(t>>>=0),a=Math.min(s,i),c=this.slice(r,o),u=e.slice(t,n),l=0;lo)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var s=!1;;)switch(r){case\"hex\":return En(this,e,t,n);case\"utf8\":case\"utf-8\":return Sn(this,e,t,n);case\"ascii\":return bn(this,e,t,n);case\"latin1\":case\"binary\":return An(this,e,t,n);case\"base64\":return Mn(this,e,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return On(this,e,t,n);default:if(s)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),s=!0}},un.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var Tn=4096;function Cn(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var o=t;or)&&(n=r);for(var o=\"\",s=t;sn)throw new RangeError(\"Trying to access beyond buffer length\")}function kn(e,t,n,r,o,s){if(!gn(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError(\"Index out of range\")}function Bn(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,s=Math.min(e.length-n,2);o>>8*(r?o:1-o)}function Yn(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,s=Math.min(e.length-n,4);o>>8*(r?o:3-o)&255}function Dn(e,t,n,r,o,s){if(n+r>e.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function Un(e,t,n,r,o){return o||Dn(e,0,n,4),rn(e,t,n,r,23,4),n+4}function Fn(e,t,n,r,o){return o||Dn(e,0,n,8),rn(e,t,n,r,52,8),n+8}un.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(o*=256);)r+=this[e+--t]*o;return r},un.prototype.readUInt8=function(e,t){return t||In(e,1,this.length),this[e]},un.prototype.readUInt16LE=function(e,t){return t||In(e,2,this.length),this[e]|this[e+1]<<8},un.prototype.readUInt16BE=function(e,t){return t||In(e,2,this.length),this[e]<<8|this[e+1]},un.prototype.readUInt32LE=function(e,t){return t||In(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},un.prototype.readUInt32BE=function(e,t){return t||In(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},un.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||In(e,t,this.length);for(var r=this[e],o=1,s=0;++s=(o*=128)&&(r-=Math.pow(2,8*t)),r},un.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||In(e,t,this.length);for(var r=t,o=1,s=this[e+--r];r>0&&(o*=256);)s+=this[e+--r]*o;return s>=(o*=128)&&(s-=Math.pow(2,8*t)),s},un.prototype.readInt8=function(e,t){return t||In(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},un.prototype.readInt16LE=function(e,t){t||In(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},un.prototype.readInt16BE=function(e,t){t||In(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},un.prototype.readInt32LE=function(e,t){return t||In(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},un.prototype.readInt32BE=function(e,t){return t||In(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},un.prototype.readFloatLE=function(e,t){return t||In(e,4,this.length),nn(this,e,!0,23,4)},un.prototype.readFloatBE=function(e,t){return t||In(e,4,this.length),nn(this,e,!1,23,4)},un.prototype.readDoubleLE=function(e,t){return t||In(e,8,this.length),nn(this,e,!0,52,8)},un.prototype.readDoubleBE=function(e,t){return t||In(e,8,this.length),nn(this,e,!1,52,8)},un.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||kn(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,s=0;for(this[t]=255&e;++s=0&&(s*=256);)this[t+o]=e/s&255;return t+n},un.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,1,255,0),un.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},un.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,2,65535,0),un.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Bn(this,e,t,!0),t+2},un.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,2,65535,0),un.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Bn(this,e,t,!1),t+2},un.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,4,4294967295,0),un.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Yn(this,e,t,!0),t+4},un.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,4,4294967295,0),un.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Yn(this,e,t,!1),t+4},un.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);kn(this,e,t,n,o-1,-o)}var s=0,i=1,a=0;for(this[t]=255&e;++s>0)-a&255;return t+n},un.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);kn(this,e,t,n,o-1,-o)}var s=n-1,i=1,a=0;for(this[t+s]=255&e;--s>=0&&(i*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/i>>0)-a&255;return t+n},un.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,1,127,-128),un.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},un.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,2,32767,-32768),un.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Bn(this,e,t,!0),t+2},un.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,2,32767,-32768),un.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Bn(this,e,t,!1),t+2},un.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,4,2147483647,-2147483648),un.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Yn(this,e,t,!0),t+4},un.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||kn(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),un.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Yn(this,e,t,!1),t+4},un.prototype.writeFloatLE=function(e,t,n){return Un(this,e,t,!0,n)},un.prototype.writeFloatBE=function(e,t,n){return Un(this,e,t,!1,n)},un.prototype.writeDoubleLE=function(e,t,n){return Fn(this,e,t,!0,n)},un.prototype.writeDoubleBE=function(e,t,n){return Fn(this,e,t,!1,n)},un.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else if(s<1e3||!un.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),\"number\"==typeof e)for(s=t;s55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(i+1===r){(t-=3)>-1&&s.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&s.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function Vn(e){return function(e){var t,n,r,o,s,i;Zt||Xt();var a=e.length;if(a%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");s=\"=\"===e[a-2]?2:\"=\"===e[a-1]?1:0,i=new zt(3*a/4-s),r=s>0?a-4:a;var c=0;for(t=0,n=0;t>16&255,i[c++]=o>>8&255,i[c++]=255&o;return 2===s?(o=Ht[e.charCodeAt(t)]<<2|Ht[e.charCodeAt(t+1)]>>4,i[c++]=255&o):1===s&&(o=Ht[e.charCodeAt(t)]<<10|Ht[e.charCodeAt(t+1)]<<4|Ht[e.charCodeAt(t+2)]>>2,i[c++]=o>>8&255,i[c++]=255&o),i}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}(e).replace(jn,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function Kn(e,t,n,r){for(var o=0;o=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function qn(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function Jn(){throw new Error(\"setTimeout has not been defined\")}function $n(){throw new Error(\"clearTimeout has not been defined\")}var Gn=Jn,Hn=$n;function zn(e){if(Gn===setTimeout)return setTimeout(e,0);if((Gn===Jn||!Gn)&&setTimeout)return Gn=setTimeout,setTimeout(e,0);try{return Gn(e,0)}catch(t){try{return Gn.call(null,e,0)}catch(t){return Gn.call(this,e,0)}}}\"function\"==typeof $t.setTimeout&&(Gn=setTimeout),\"function\"==typeof $t.clearTimeout&&(Hn=clearTimeout);var Zn,Xn=[],er=!1,tr=-1;function nr(){er&&Zn&&(er=!1,Zn.length?Xn=Zn.concat(Xn):tr=-1,Xn.length&&rr())}function rr(){if(!er){var e=zn(nr);er=!0;for(var t=Xn.length;t;){for(Zn=Xn,Xn=[];++tr1)for(var n=1;ne instanceof Uint8Array,default:!1,tag:\"tag:yaml.org,2002:binary\",resolve:(e,t)=>{const n=Jt.resolveString(e,t);return un.from(n,\"base64\")},options:Jt.binaryOptions,stringify:({comment:e,type:t,value:n},r,o,s)=>{let i;if(i=n instanceof un?n.toString(\"base64\"):un.from(n.buffer).toString(\"base64\"),t||(t=Jt.binaryOptions.defaultType),t===Ve.Type.QUOTE_DOUBLE)n=i;else{const{lineWidth:e}=Jt.binaryOptions,r=Math.ceil(i.length/e),o=new Array(r);for(let t=0,n=0;t1){const e=\"Each pair must have its own sequence indicator\";throw new Ve.YAMLSemanticError(t,e)}const e=r.items[0]||new Jt.Pair;r.commentBefore&&(e.commentBefore=e.commentBefore?\"\".concat(r.commentBefore,\"\\n\").concat(e.commentBefore):r.commentBefore),r.comment&&(e.comment=e.comment?\"\".concat(r.comment,\"\\n\").concat(e.comment):r.comment),r=e}n.items[e]=r instanceof Jt.Pair?r:new Jt.Pair(r)}}return n}function _r(e,t,n){const r=new Jt.YAMLSeq(e);r.tag=\"tag:yaml.org,2002:pairs\";for(const o of t){let t,s;if(Array.isArray(o)){if(2!==o.length)throw new TypeError(\"Expected [key, value] tuple: \".concat(o));t=o[0],s=o[1]}else if(o&&o instanceof Object){const e=Object.keys(o);if(1!==e.length)throw new TypeError(\"Expected { key: value } tuple: \".concat(o));t=e[0],s=o[t]}else t=o;const i=e.createPair(t,s,n);r.items.push(i)}return r}const wr={default:!1,tag:\"tag:yaml.org,2002:pairs\",resolve:vr,createNode:_r};class Er extends Jt.YAMLSeq{constructor(){super(),Ve._defineProperty(this,\"add\",Jt.YAMLMap.prototype.add.bind(this)),Ve._defineProperty(this,\"delete\",Jt.YAMLMap.prototype.delete.bind(this)),Ve._defineProperty(this,\"get\",Jt.YAMLMap.prototype.get.bind(this)),Ve._defineProperty(this,\"has\",Jt.YAMLMap.prototype.has.bind(this)),Ve._defineProperty(this,\"set\",Jt.YAMLMap.prototype.set.bind(this)),this.tag=Er.tag}toJSON(e,t){const n=new Map;t&&t.onCreate&&t.onCreate(n);for(const e of this.items){let r,o;if(e instanceof Jt.Pair?(r=Jt.toJSON(e.key,\"\",t),o=Jt.toJSON(e.value,r,t)):r=Jt.toJSON(e,\"\",t),n.has(r))throw new Error(\"Ordered maps must not include duplicate keys\");n.set(r,o)}return n}}Ve._defineProperty(Er,\"tag\",\"tag:yaml.org,2002:omap\");const Sr={identify:e=>e instanceof Map,nodeClass:Er,default:!1,tag:\"tag:yaml.org,2002:omap\",resolve:function(e,t){const n=vr(e,t),r=[];for(const{key:e}of n.items)if(e instanceof Jt.Scalar){if(r.includes(e.value)){const e=\"Ordered maps must not include duplicate keys\";throw new Ve.YAMLSemanticError(t,e)}r.push(e.value)}return Object.assign(new Er,n)},createNode:function(e,t,n){const r=_r(e,t,n),o=new Er;return o.items=r.items,o}};class br extends Jt.YAMLMap{constructor(){super(),this.tag=br.tag}add(e){const t=e instanceof Jt.Pair?e:new Jt.Pair(e);Jt.findPair(this.items,t.key)||this.items.push(t)}get(e,t){const n=Jt.findPair(this.items,e);return!t&&n instanceof Jt.Pair?n.key instanceof Jt.Scalar?n.key.value:n.key:n}set(e,t){if(\"boolean\"!=typeof t)throw new Error(\"Expected boolean value for set(key, value) in a YAML set, not \".concat(typeof t));const n=Jt.findPair(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new Jt.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(e,t,n);throw new Error(\"Set items must all have null values\")}}Ve._defineProperty(br,\"tag\",\"tag:yaml.org,2002:set\");const Ar={identify:e=>e instanceof Set,nodeClass:br,default:!1,tag:\"tag:yaml.org,2002:set\",resolve:function(e,t){const n=Jt.resolveMap(e,t);if(!n.hasAllNullValues())throw new Ve.YAMLSemanticError(t,\"Set items must all have null values\");return Object.assign(new br,n)},createNode:function(e,t,n){const r=new br;for(const o of t)r.items.push(e.createPair(o,null,n));return r}},Mr=(e,t)=>{const n=t.split(\":\").reduce(((e,t)=>60*e+Number(t)),0);return\"-\"===e?-n:n},Or=({value:e})=>{if(isNaN(e)||!isFinite(e))return Jt.stringifyNumber(e);let t=\"\";e<0&&(t=\"-\",e=Math.abs(e));const n=[e%60];return e<60?n.unshift(0):(e=Math.round((e-n[0])/60),n.unshift(e%60),e>=60&&(e=Math.round((e-n[0])/60),n.unshift(e))),t+n.map((e=>e<10?\"0\"+String(e):String(e))).join(\":\").replace(/000000\\d*$/,\"\")},Lr={identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"TIME\",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(e,t,n)=>Mr(t,n.replace(/_/g,\"\")),stringify:Or},Nr={identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",format:\"TIME\",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*)$/,resolve:(e,t,n)=>Mr(t,n.replace(/_/g,\"\")),stringify:Or},Tr={identify:e=>e instanceof Date,default:!0,tag:\"tag:yaml.org,2002:timestamp\",test:RegExp(\"^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\\\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\\\.[0-9]+)?)(?:[ \\\\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$\"),resolve:(e,t,n,r,o,s,i,a,c)=>{a&&(a=(a+\"00\").substr(1,3));let u=Date.UTC(t,n-1,r,o||0,s||0,i||0,a||0);if(c&&\"Z\"!==c){let e=Mr(c[0],c.slice(1));Math.abs(e)<30&&(e*=60),u-=6e4*e}return new Date(u)},stringify:({value:e})=>e.toISOString().replace(/((T00:00)?:00)?\\.000Z$/,\"\")};function Cr(e){const t=void 0!==mr&&mr.env||{};return e?\"undefined\"!=typeof YAML_SILENCE_DEPRECATION_WARNINGS?!YAML_SILENCE_DEPRECATION_WARNINGS:!t.YAML_SILENCE_DEPRECATION_WARNINGS:\"undefined\"!=typeof YAML_SILENCE_WARNINGS?!YAML_SILENCE_WARNINGS:!t.YAML_SILENCE_WARNINGS}function xr(e,t){if(Cr(!1)){const n=void 0!==mr&&mr.emitWarning;n?n(e,t):console.warn(t?\"\".concat(t,\": \").concat(e):e)}}const Pr={};var Rr={binary:yr,floatTime:Nr,intTime:Lr,omap:Sr,pairs:wr,set:Ar,timestamp:Tr,warn:xr,warnFileDeprecation:function(e){if(Cr(!0)){const t=e.replace(/.*yaml[/\\\\]/i,\"\").replace(/\\.js$/,\"\").replace(/\\\\/g,\"/\");xr(\"The endpoint 'yaml/\".concat(t,\"' will be removed in a future release.\"),\"DeprecationWarning\")}},warnOptionDeprecation:function(e,t){if(!Pr[e]&&Cr(!0)){Pr[e]=!0;let n=\"The option '\".concat(e,\"' will be removed in a future release\");n+=t?\", use '\".concat(t,\"' instead.\"):\".\",xr(n,\"DeprecationWarning\")}}};const Ir={createNode:function(e,t,n){const r=new Jt.YAMLMap(e);if(t instanceof Map)for(const[o,s]of t)r.items.push(e.createPair(o,s,n));else if(t&&\"object\"==typeof t)for(const o of Object.keys(t))r.items.push(e.createPair(o,t[o],n));return\"function\"==typeof e.sortMapEntries&&r.items.sort(e.sortMapEntries),r},default:!0,nodeClass:Jt.YAMLMap,tag:\"tag:yaml.org,2002:map\",resolve:Jt.resolveMap};const kr={createNode:function(e,t,n){const r=new Jt.YAMLSeq(e);if(t&&t[Symbol.iterator])for(const o of t){const t=e.createNode(o,n.wrapScalars,null,n);r.items.push(t)}return r},default:!0,nodeClass:Jt.YAMLSeq,tag:\"tag:yaml.org,2002:seq\",resolve:Jt.resolveSeq},Br={identify:e=>\"string\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:str\",resolve:Jt.resolveString,stringify:(e,t,n,r)=>(t=Object.assign({actualString:!0},t),Jt.stringifyString(e,t,n,r)),options:Jt.strOptions},Yr=[Ir,kr,Br],Dr=e=>\"bigint\"==typeof e||Number.isInteger(e),Ur=(e,t,n)=>Jt.intOptions.asBigInt?BigInt(e):parseInt(t,n);function Fr(e,t,n){const{value:r}=e;return Dr(r)&&r>=0?n+r.toString(t):Jt.stringifyNumber(e)}const jr={identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new Jt.Scalar(null):null,default:!0,tag:\"tag:yaml.org,2002:null\",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Jt.nullOptions,stringify:()=>Jt.nullOptions.nullStr},Wr={identify:e=>\"boolean\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>\"t\"===e[0]||\"T\"===e[0],options:Jt.boolOptions,stringify:({value:e})=>e?Jt.boolOptions.trueStr:Jt.boolOptions.falseStr},Qr={identify:e=>Dr(e)&&e>=0,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"OCT\",test:/^0o([0-7]+)$/,resolve:(e,t)=>Ur(e,t,8),options:Jt.intOptions,stringify:e=>Fr(e,8,\"0o\")},Vr={identify:Dr,default:!0,tag:\"tag:yaml.org,2002:int\",test:/^[-+]?[0-9]+$/,resolve:e=>Ur(e,e,10),options:Jt.intOptions,stringify:Jt.stringifyNumber},Kr={identify:e=>Dr(e)&&e>=0,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"HEX\",test:/^0x([0-9a-fA-F]+)$/,resolve:(e,t)=>Ur(e,t,16),options:Jt.intOptions,stringify:e=>Fr(e,16,\"0x\")},qr={identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^(?:[-+]?\\.inf|(\\.nan))$/i,resolve:(e,t)=>t?NaN:\"-\"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Jt.stringifyNumber},Jr={identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",format:\"EXP\",test:/^[-+]?(?:\\.[0-9]+|[0-9]+(?:\\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify:({value:e})=>Number(e).toExponential()},$r={identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^[-+]?(?:\\.([0-9]+)|[0-9]+\\.([0-9]*))$/,resolve(e,t,n){const r=t||n,o=new Jt.Scalar(parseFloat(e));return r&&\"0\"===r[r.length-1]&&(o.minFractionDigits=r.length),o},stringify:Jt.stringifyNumber},Gr=Yr.concat([jr,Wr,Qr,Vr,Kr,qr,Jr,$r]),Hr=e=>\"bigint\"==typeof e||Number.isInteger(e),zr=({value:e})=>JSON.stringify(e),Zr=[Ir,kr,{identify:e=>\"string\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:str\",resolve:Jt.resolveString,stringify:zr},{identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new Jt.Scalar(null):null,default:!0,tag:\"tag:yaml.org,2002:null\",test:/^null$/,resolve:()=>null,stringify:zr},{identify:e=>\"boolean\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^true|false$/,resolve:e=>\"true\"===e,stringify:zr},{identify:Hr,default:!0,tag:\"tag:yaml.org,2002:int\",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:e=>Jt.intOptions.asBigInt?BigInt(e):parseInt(e,10),stringify:({value:e})=>Hr(e)?e.toString():JSON.stringify(e)},{identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:zr}];Zr.scalarFallback=e=>{throw new SyntaxError(\"Unresolved plain scalar \".concat(JSON.stringify(e)))};const Xr=({value:e})=>e?Jt.boolOptions.trueStr:Jt.boolOptions.falseStr,eo=e=>\"bigint\"==typeof e||Number.isInteger(e);function to(e,t,n){let r=t.replace(/_/g,\"\");if(Jt.intOptions.asBigInt){switch(n){case 2:r=\"0b\".concat(r);break;case 8:r=\"0o\".concat(r);break;case 16:r=\"0x\".concat(r)}const t=BigInt(r);return\"-\"===e?BigInt(-1)*t:t}const o=parseInt(r,n);return\"-\"===e?-1*o:o}function no(e,t,n){const{value:r}=e;if(eo(r)){const e=r.toString(t);return r<0?\"-\"+n+e.substr(1):n+e}return Jt.stringifyNumber(e)}const ro=Yr.concat([{identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new Jt.Scalar(null):null,default:!0,tag:\"tag:yaml.org,2002:null\",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Jt.nullOptions,stringify:()=>Jt.nullOptions.nullStr},{identify:e=>\"boolean\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>!0,options:Jt.boolOptions,stringify:Xr},{identify:e=>\"boolean\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>!1,options:Jt.boolOptions,stringify:Xr},{identify:eo,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"BIN\",test:/^([-+]?)0b([0-1_]+)$/,resolve:(e,t,n)=>to(t,n,2),stringify:e=>no(e,2,\"0b\")},{identify:eo,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"OCT\",test:/^([-+]?)0([0-7_]+)$/,resolve:(e,t,n)=>to(t,n,8),stringify:e=>no(e,8,\"0\")},{identify:eo,default:!0,tag:\"tag:yaml.org,2002:int\",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(e,t,n)=>to(t,n,10),stringify:Jt.stringifyNumber},{identify:eo,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"HEX\",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(e,t,n)=>to(t,n,16),stringify:e=>no(e,16,\"0x\")},{identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^(?:[-+]?\\.inf|(\\.nan))$/i,resolve:(e,t)=>t?NaN:\"-\"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Jt.stringifyNumber},{identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",format:\"EXP\",test:/^[-+]?([0-9][0-9_]*)?(\\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,\"\")),stringify:({value:e})=>Number(e).toExponential()},{identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^[-+]?(?:[0-9][0-9_]*)?\\.([0-9_]*)$/,resolve(e,t){const n=new Jt.Scalar(parseFloat(e.replace(/_/g,\"\")));if(t){const e=t.replace(/_/g,\"\");\"0\"===e[e.length-1]&&(n.minFractionDigits=e.length)}return n},stringify:Jt.stringifyNumber}],Rr.binary,Rr.omap,Rr.pairs,Rr.set,Rr.intTime,Rr.floatTime,Rr.timestamp),oo={core:Gr,failsafe:Yr,json:Zr,yaml11:ro},so={binary:Rr.binary,bool:Wr,float:$r,floatExp:Jr,floatNaN:qr,floatTime:Rr.floatTime,int:Vr,intHex:Kr,intOct:Qr,intTime:Rr.intTime,map:Ir,null:jr,omap:Rr.omap,pairs:Rr.pairs,seq:kr,set:Rr.set,timestamp:Rr.timestamp};function io(e,t,n){if(e instanceof Jt.Node)return e;const{defaultPrefix:r,onTagObj:o,prevObjects:s,schema:i,wrapScalars:a}=n;t&&t.startsWith(\"!!\")&&(t=r+t.slice(2));let c=function(e,t,n){if(t){const e=n.filter((e=>e.tag===t)),r=e.find((e=>!e.format))||e[0];if(!r)throw new Error(\"Tag \".concat(t,\" not found\"));return r}return n.find((t=>(t.identify&&t.identify(e)||t.class&&e instanceof t.class)&&!t.format))}(e,t,i.tags);if(!c){if(\"function\"==typeof e.toJSON&&(e=e.toJSON()),\"object\"!=typeof e)return a?new Jt.Scalar(e):e;c=e instanceof Map?Ir:e[Symbol.iterator]?kr:Ir}o&&(o(c),delete n.onTagObj);const u={};if(e&&\"object\"==typeof e&&s){const t=s.get(e);if(t){const e=new Jt.Alias(t);return n.aliasNodes.push(e),e}u.value=e,s.set(e,u)}return u.node=c.createNode?c.createNode(n.schema,e,n):a?new Jt.Scalar(e):e,t&&u.node instanceof Jt.Node&&(u.node.tag=t),u.node}const ao=(e,t)=>e.keyt.key?1:0;class co{constructor({customTags:e,merge:t,schema:n,sortMapEntries:r,tags:o}){this.merge=!!t,this.name=n,this.sortMapEntries=!0===r?ao:r||null,!e&&o&&Rr.warnOptionDeprecation(\"tags\",\"customTags\"),this.tags=function(e,t,n,r){let o=e[r.replace(/\\W/g,\"\")];if(!o){const t=Object.keys(e).map((e=>JSON.stringify(e))).join(\", \");throw new Error('Unknown schema \"'.concat(r,'\"; use one of ').concat(t))}if(Array.isArray(n))for(const e of n)o=o.concat(e);else\"function\"==typeof n&&(o=n(o.slice()));for(let e=0;eJSON.stringify(e))).join(\", \");throw new Error('Unknown custom tag \"'.concat(n,'\"; use one of ').concat(e))}o[e]=r}}return o}(oo,so,e||o,n)}createNode(e,t,n,r){const o={defaultPrefix:co.defaultPrefix,schema:this,wrapScalars:t};return io(e,n,r?Object.assign(r,o):o)}createPair(e,t,n){n||(n={wrapScalars:!0});const r=this.createNode(e,n.wrapScalars,null,n),o=this.createNode(t,n.wrapScalars,null,n);return new Jt.Pair(r,o)}}Ve._defineProperty(co,\"defaultPrefix\",Ve.defaultTagPrefix),Ve._defineProperty(co,\"defaultTags\",Ve.defaultTags);var uo={Schema:co};const lo={get binary(){return Jt.binaryOptions},set binary(e){Object.assign(Jt.binaryOptions,e)},get bool(){return Jt.boolOptions},set bool(e){Object.assign(Jt.boolOptions,e)},get int(){return Jt.intOptions},set int(e){Object.assign(Jt.intOptions,e)},get null(){return Jt.nullOptions},set null(e){Object.assign(Jt.nullOptions,e)},get str(){return Jt.strOptions},set str(e){Object.assign(Jt.strOptions,e)}},fo={\"1.0\":{schema:\"yaml-1.1\",merge:!0,tagPrefixes:[{handle:\"!\",prefix:Ve.defaultTagPrefix},{handle:\"!!\",prefix:\"tag:private.yaml.org,2002:\"}]},1.1:{schema:\"yaml-1.1\",merge:!0,tagPrefixes:[{handle:\"!\",prefix:\"!\"},{handle:\"!!\",prefix:Ve.defaultTagPrefix}]},1.2:{schema:\"core\",merge:!1,tagPrefixes:[{handle:\"!\",prefix:\"!\"},{handle:\"!!\",prefix:Ve.defaultTagPrefix}]}};function ho(e,t){if(\"1.0\"===(e.version||e.options.version)){const e=t.match(/^tag:private\\.yaml\\.org,2002:([^:/]+)$/);if(e)return\"!\"+e[1];const n=t.match(/^tag:([a-zA-Z0-9-]+)\\.yaml\\.org,2002:(.*)/);return n?\"!\".concat(n[1],\"/\").concat(n[2]):\"!\".concat(t.replace(/^tag:/,\"\"))}let n=e.tagPrefixes.find((e=>0===t.indexOf(e.prefix)));if(!n){const r=e.getDefaults().tagPrefixes;n=r&&r.find((e=>0===t.indexOf(e.prefix)))}if(!n)return\"!\"===t[0]?t:\"!<\".concat(t,\">\");const r=t.substr(n.prefix.length).replace(/[!,[\\]{}]/g,(e=>({\"!\":\"%21\",\",\":\"%2C\",\"[\":\"%5B\",\"]\":\"%5D\",\"{\":\"%7B\",\"}\":\"%7D\"}[e])));return n.handle+r}function po(e,t,n,r){const{anchors:o,schema:s}=t.doc;let i;if(!(e instanceof Jt.Node)){const t={aliasNodes:[],onTagObj:e=>i=e,prevObjects:new Map};e=s.createNode(e,!0,null,t);for(const e of t.aliasNodes){e.source=e.source.node;let t=o.getName(e.source);t||(t=o.newName(),o.map[t]=e.source)}}if(e instanceof Jt.Pair)return e.toString(t,n,r);i||(i=function(e,t){if(t instanceof Jt.Alias)return Jt.Alias;if(t.tag){const n=e.filter((e=>e.tag===t.tag));if(n.length>0)return n.find((e=>e.format===t.format))||n[0]}let n,r;if(t instanceof Jt.Scalar){r=t.value;const o=e.filter((e=>e.identify&&e.identify(r)||e.class&&r instanceof e.class));n=o.find((e=>e.format===t.format))||o.find((e=>!e.format))}else r=t,n=e.find((e=>e.nodeClass&&r instanceof e.nodeClass));if(!n){const e=r&&r.constructor?r.constructor.name:typeof r;throw new Error(\"Tag not resolved for \".concat(e,\" value\"))}return n}(s.tags,e));const a=function(e,t,{anchors:n,doc:r}){const o=[],s=r.anchors.getName(e);return s&&(n[s]=e,o.push(\"&\".concat(s))),e.tag?o.push(ho(r,e.tag)):t.default||o.push(ho(r,t.tag)),o.join(\" \")}(e,i,t);a.length>0&&(t.indentAtStart=(t.indentAtStart||0)+a.length+1);const c=\"function\"==typeof i.stringify?i.stringify(e,t,n,r):e instanceof Jt.Scalar?Jt.stringifyString(e,t,n,r):e.toString(t,n,r);return a?e instanceof Jt.Scalar||\"{\"===c[0]||\"[\"===c[0]?\"\".concat(a,\" \").concat(c):\"\".concat(a,\"\\n\").concat(t.indent).concat(c):c}class go{static validAnchorNode(e){return e instanceof Jt.Scalar||e instanceof Jt.YAMLSeq||e instanceof Jt.YAMLMap}constructor(e){Ve._defineProperty(this,\"map\",{}),this.prefix=e}createAlias(e,t){return this.setAnchor(e,t),new Jt.Alias(e)}createMergePair(...e){const t=new Jt.Merge;return t.value.items=e.map((e=>{if(e instanceof Jt.Alias){if(e.source instanceof Jt.YAMLMap)return e}else if(e instanceof Jt.YAMLMap)return this.createAlias(e);throw new Error(\"Merge sources must be Map nodes or their Aliases\")})),t}getName(e){const{map:t}=this;return Object.keys(t).find((n=>t[n]===e))}getNames(){return Object.keys(this.map)}getNode(e){return this.map[e]}newName(e){e||(e=this.prefix);const t=Object.keys(this.map);for(let n=1;;++n){const r=\"\".concat(e).concat(n);if(!t.includes(r))return r}}resolveNodes(){const{map:e,_cstAliases:t}=this;Object.keys(e).forEach((t=>{e[t]=e[t].resolved})),t.forEach((e=>{e.source=e.source.resolved})),delete this._cstAliases}setAnchor(e,t){if(null!=e&&!go.validAnchorNode(e))throw new Error(\"Anchors may only be set for Scalar, Seq and Map nodes\");if(t&&/[\\x00-\\x19\\s,[\\]{}]/.test(t))throw new Error(\"Anchor names must not contain whitespace or control characters\");const{map:n}=this,r=e&&Object.keys(n).find((t=>n[t]===e));if(r){if(!t)return r;r!==t&&(delete n[r],n[t]=e)}else{if(!t){if(!e)return null;t=this.newName()}n[t]=e}return t}}const mo=(e,t)=>{if(e&&\"object\"==typeof e){const{tag:n}=e;e instanceof Jt.Collection?(n&&(t[n]=!0),e.items.forEach((e=>mo(e,t)))):e instanceof Jt.Pair?(mo(e.key,t),mo(e.value,t)):e instanceof Jt.Scalar&&n&&(t[n]=!0)}return t};function yo({tagPrefixes:e},t){const[n,r]=t.parameters;if(!n||!r){const e=\"Insufficient parameters given for %TAG directive\";throw new Ve.YAMLSemanticError(t,e)}if(e.some((e=>e.handle===n))){const e=\"The %TAG directive must only be given at most once per handle in the same document.\";throw new Ve.YAMLSemanticError(t,e)}return{handle:n,prefix:r}}function vo(e,t){let[n]=t.parameters;if(\"YAML:1.0\"===t.name&&(n=\"1.0\"),!n){const e=\"Insufficient parameters given for %YAML directive\";throw new Ve.YAMLSemanticError(t,e)}if(!fo[n]){const r=e.version||e.options.version,o=\"Document will be parsed as YAML \".concat(r,\" rather than YAML \").concat(n);e.warnings.push(new Ve.YAMLWarning(t,o))}return n}function _o(e){if(e instanceof Jt.Collection)return!0;throw new Error(\"Expected a YAML collection as document contents\")}class wo{constructor(e){this.anchors=new go(e.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=e,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}add(e){return _o(this.contents),this.contents.add(e)}addIn(e,t){_o(this.contents),this.contents.addIn(e,t)}delete(e){return _o(this.contents),this.contents.delete(e)}deleteIn(e){return Jt.isEmptyPath(e)?null!=this.contents&&(this.contents=null,!0):(_o(this.contents),this.contents.deleteIn(e))}getDefaults(){return wo.defaults[this.version]||wo.defaults[this.options.version]||{}}get(e,t){return this.contents instanceof Jt.Collection?this.contents.get(e,t):void 0}getIn(e,t){return Jt.isEmptyPath(e)?!t&&this.contents instanceof Jt.Scalar?this.contents.value:this.contents:this.contents instanceof Jt.Collection?this.contents.getIn(e,t):void 0}has(e){return this.contents instanceof Jt.Collection&&this.contents.has(e)}hasIn(e){return Jt.isEmptyPath(e)?void 0!==this.contents:this.contents instanceof Jt.Collection&&this.contents.hasIn(e)}set(e,t){_o(this.contents),this.contents.set(e,t)}setIn(e,t){Jt.isEmptyPath(e)?this.contents=t:(_o(this.contents),this.contents.setIn(e,t))}setSchema(e,t){if(!e&&!t&&this.schema)return;\"number\"==typeof e&&(e=e.toFixed(1)),\"1.0\"===e||\"1.1\"===e||\"1.2\"===e?(this.version?this.version=e:this.options.version=e,delete this.options.schema):e&&\"string\"==typeof e&&(this.options.schema=e),Array.isArray(t)&&(this.options.customTags=t);const n=Object.assign({},this.getDefaults(),this.options);this.schema=new uo.Schema(n)}parse(e,t){this.options.keepCstNodes&&(this.cstNode=e),this.options.keepNodeTypes&&(this.type=\"DOCUMENT\");const{directives:n=[],contents:r=[],directivesEndMarker:o,error:s,valueRange:i}=e;if(s&&(s.source||(s.source=this),this.errors.push(s)),function(e,t,n){const r=[];let o=!1;for(const n of t){const{comment:t,name:s}=n;switch(s){case\"TAG\":try{e.tagPrefixes.push(yo(e,n))}catch(t){e.errors.push(t)}o=!0;break;case\"YAML\":case\"YAML:1.0\":if(e.version){const t=\"The %YAML directive must only be given at most once per document.\";e.errors.push(new Ve.YAMLSemanticError(n,t))}try{e.version=vo(e,n)}catch(t){e.errors.push(t)}o=!0;break;default:if(s){const t=\"YAML only supports %TAG and %YAML directives, and not %\".concat(s);e.warnings.push(new Ve.YAMLWarning(n,t))}}t&&r.push(t)}if(n&&!o&&\"1.1\"===(e.version||n.version||e.options.version)){const t=({handle:e,prefix:t})=>({handle:e,prefix:t});e.tagPrefixes=n.tagPrefixes.map(t),e.version=n.version}e.commentBefore=r.join(\"\\n\")||null}(this,n,t),o&&(this.directivesEndMarker=!0),this.range=i?[i.start,i.end]:null,this.setSchema(),this.anchors._cstAliases=[],function(e,t){const n={before:[],after:[]};let r=void 0,o=!1;for(const s of t)if(s.valueRange){if(void 0!==r){const t=\"Document contains trailing content not separated by a ... or --- line\";e.errors.push(new Ve.YAMLSyntaxError(s,t));break}const t=Jt.resolveNode(e,s);o&&(t.spaceBefore=!0,o=!1),r=t}else null!==s.comment?(void 0===r?n.before:n.after).push(s.comment):s.type===Ve.Type.BLANK_LINE&&(o=!0,void 0===r&&n.before.length>0&&!e.commentBefore&&(e.commentBefore=n.before.join(\"\\n\"),n.before=[]));if(e.contents=r||null,r){const t=n.before.join(\"\\n\");if(t){const e=r instanceof Jt.Collection&&r.items[0]?r.items[0]:r;e.commentBefore=e.commentBefore?\"\".concat(t,\"\\n\").concat(e.commentBefore):t}e.comment=n.after.join(\"\\n\")||null}else e.comment=n.before.concat(n.after).join(\"\\n\")||null}(this,r),this.anchors.resolveNodes(),this.options.prettyErrors){for(const e of this.errors)e instanceof Ve.YAMLError&&e.makePretty();for(const e of this.warnings)e instanceof Ve.YAMLError&&e.makePretty()}return this}listNonDefaultTags(){return(e=>Object.keys(mo(e,{})))(this.contents).filter((e=>0!==e.indexOf(uo.Schema.defaultPrefix)))}setTagPrefix(e,t){if(\"!\"!==e[0]||\"!\"!==e[e.length-1])throw new Error(\"Handle must start and end with !\");if(t){const n=this.tagPrefixes.find((t=>t.handle===e));n?n.prefix=t:this.tagPrefixes.push({handle:e,prefix:t})}else this.tagPrefixes=this.tagPrefixes.filter((t=>t.handle!==e))}toJSON(e,t){const{keepBlobsInJSON:n,mapAsMap:r,maxAliasCount:o}=this.options,s=n&&(\"string\"!=typeof e||!(this.contents instanceof Jt.Scalar)),i={doc:this,indentStep:\" \",keep:s,mapAsMap:s&&!!r,maxAliasCount:o,stringify:po},a=Object.keys(this.anchors.map);a.length>0&&(i.anchors=new Map(a.map((e=>[this.anchors.map[e],{alias:[],aliasCount:0,count:1}]))));const c=Jt.toJSON(this.contents,e,i);if(\"function\"==typeof t&&i.anchors)for(const{count:e,res:n}of i.anchors.values())t(n,e);return c}toString(){if(this.errors.length>0)throw new Error(\"Document with errors cannot be stringified\");const e=this.options.indent;if(!Number.isInteger(e)||e<=0){const t=JSON.stringify(e);throw new Error('\"indent\" option must be a positive integer, not '.concat(t))}this.setSchema();const t=[];let n=!1;if(this.version){let e=\"%YAML 1.2\";\"yaml-1.1\"===this.schema.name&&(\"1.0\"===this.version?e=\"%YAML:1.0\":\"1.1\"===this.version&&(e=\"%YAML 1.1\")),t.push(e),n=!0}const r=this.listNonDefaultTags();this.tagPrefixes.forEach((({handle:e,prefix:o})=>{r.some((e=>0===e.indexOf(o)))&&(t.push(\"%TAG \".concat(e,\" \").concat(o)),n=!0)})),(n||this.directivesEndMarker)&&t.push(\"---\"),this.commentBefore&&(!n&&this.directivesEndMarker||t.unshift(\"\"),t.unshift(this.commentBefore.replace(/^/gm,\"#\")));const o={anchors:{},doc:this,indent:\"\",indentStep:\" \".repeat(e),stringify:po};let s=!1,i=null;if(this.contents){this.contents instanceof Jt.Node&&(this.contents.spaceBefore&&(n||this.directivesEndMarker)&&t.push(\"\"),this.contents.commentBefore&&t.push(this.contents.commentBefore.replace(/^/gm,\"#\")),o.forceBlockIndent=!!this.comment,i=this.contents.comment);const e=i?null:()=>s=!0,r=po(this.contents,o,(()=>i=null),e);t.push(Jt.addComment(r,\"\",i))}else void 0!==this.contents&&t.push(po(this.contents,o));return this.comment&&(s&&!i||\"\"===t[t.length-1]||t.push(\"\"),t.push(this.comment.replace(/^/gm,\"#\"))),t.join(\"\\n\")+\"\\n\"}}Ve._defineProperty(wo,\"defaults\",fo);var Eo={Document:wo,defaultOptions:{anchorPrefix:\"a\",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:\"1.2\"},scalarOptions:lo};class So extends Eo.Document{constructor(e){super(Object.assign({},Eo.defaultOptions,e))}}function bo(e,t){const n=at.parse(e),r=new So(t).parse(n[0]);if(n.length>1){const e=\"Source contains multiple documents; please use YAML.parseAllDocuments()\";r.errors.unshift(new Ve.YAMLSemanticError(n[1],e))}return r}var Ao={YAML:{createNode:function(e,t=!0,n){void 0===n&&\"string\"==typeof t&&(n=t,t=!0);const r=Object.assign({},Eo.Document.defaults[Eo.defaultOptions.version],Eo.defaultOptions);return new uo.Schema(r).createNode(e,t,n)},defaultOptions:Eo.defaultOptions,Document:So,parse:function(e,t){const n=bo(e,t);if(n.warnings.forEach((e=>Rr.warn(e))),n.errors.length>0)throw n.errors[0];return n.toJSON()},parseAllDocuments:function(e,t){const n=[];let r;for(const o of at.parse(e)){const e=new So(t);e.parse(o,r),n.push(e),r=e}return n},parseCST:at.parse,parseDocument:bo,scalarOptions:Eo.scalarOptions,stringify:function(e,t){const n=new So(t);return n.contents=e,String(n)}}}.YAML,Mo={Type:Ve.Type,YAMLError:Ve.YAMLError,YAMLReferenceError:Ve.YAMLReferenceError,YAMLSemanticError:Ve.YAMLSemanticError,YAMLSyntaxError:Ve.YAMLSyntaxError,YAMLWarning:Ve.YAMLWarning,findPair:Jt.findPair,parseMap:Jt.resolveMap,parseSeq:Jt.resolveSeq,stringifyNumber:Jt.stringifyNumber,stringifyString:Jt.stringifyString,toJSON:Jt.toJSON},Oo={findPair:Mo.findPair,toJSON:Mo.toJSON,parseMap:Mo.parseMap,parseSeq:Mo.parseSeq,stringifyNumber:Mo.stringifyNumber,stringifyString:Mo.stringifyString,Type:Mo.Type,YAMLError:Mo.YAMLError,YAMLReferenceError:Mo.YAMLReferenceError,YAMLSemanticError:Mo.YAMLSemanticError,YAMLSyntaxError:Mo.YAMLSyntaxError,YAMLWarning:Mo.YAMLWarning},Lo=r((function(e,t){t.__esModule=!0,t.Document=Ao.Document;var n=Ao;t.parseCST=n.parseCST,t.YAMLError=Oo.YAMLError,t.YAMLSyntaxError=Oo.YAMLSyntaxError,t.YAMLSemanticError=Oo.YAMLSemanticError})),No=r((function(e,t){t.__esModule=!0,t.parse=function(e){var t=Lo.parseCST(e);Te.addOrigRange(t);for(var n=t.map((function(e){return new Lo.Document({merge:!1,keepCstNodes:!0}).parse(e)})),r=[],o={text:e,locator:new l.default(e),comments:r,transformOffset:function(e){return Le.transformOffset(e,o)},transformRange:function(e){return Ne.transformRange(e,o)},transformNode:function(e){return be.transformNode(e,o)},transformContent:function(e){return T.transformContent(e,o)}},s=0,i=n;s.\n * Also makes sure that only sequences are used for linebreaks\n *\n * @param {Object} options Stream options\n */\nclass DataStream extends Transform {\n constructor(options) {\n super(options);\n // init Transform\n this.options = options || {};\n this._curLine = '';\n\n this.inByteCount = 0;\n this.outByteCount = 0;\n this.lastByte = false;\n }\n\n /**\n * Escapes dots\n */\n _transform(chunk, encoding, done) {\n let chunks = [];\n let chunklen = 0;\n let i,\n len,\n lastPos = 0;\n let buf;\n\n if (!chunk || !chunk.length) {\n return done();\n }\n\n if (typeof chunk === 'string') {\n chunk = Buffer.from(chunk);\n }\n\n this.inByteCount += chunk.length;\n\n for (i = 0, len = chunk.length; i < len; i++) {\n if (chunk[i] === 0x2e) {\n // .\n if ((i && chunk[i - 1] === 0x0a) || (!i && (!this.lastByte || this.lastByte === 0x0a))) {\n buf = chunk.slice(lastPos, i + 1);\n chunks.push(buf);\n chunks.push(Buffer.from('.'));\n chunklen += buf.length + 1;\n lastPos = i + 1;\n }\n } else if (chunk[i] === 0x0a) {\n // .\n if ((i && chunk[i - 1] !== 0x0d) || (!i && this.lastByte !== 0x0d)) {\n if (i > lastPos) {\n buf = chunk.slice(lastPos, i);\n chunks.push(buf);\n chunklen += buf.length + 2;\n } else {\n chunklen += 2;\n }\n chunks.push(Buffer.from('\\r\\n'));\n lastPos = i + 1;\n }\n }\n }\n\n if (chunklen) {\n // add last piece\n if (lastPos < chunk.length) {\n buf = chunk.slice(lastPos);\n chunks.push(buf);\n chunklen += buf.length;\n }\n\n this.outByteCount += chunklen;\n this.push(Buffer.concat(chunks, chunklen));\n } else {\n this.outByteCount += chunk.length;\n this.push(chunk);\n }\n\n this.lastByte = chunk[chunk.length - 1];\n done();\n }\n\n /**\n * Finalizes the stream with a dot on a single line\n */\n _flush(done) {\n let buf;\n if (this.lastByte === 0x0a) {\n buf = Buffer.from('.\\r\\n');\n } else if (this.lastByte === 0x0d) {\n buf = Buffer.from('\\n.\\r\\n');\n } else {\n buf = Buffer.from('\\r\\n.\\r\\n');\n }\n this.outByteCount += buf.length;\n this.push(buf);\n done();\n }\n}\n\nmodule.exports = DataStream;\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdirsSync = require('../mkdirs').mkdirsSync\nconst utimesMillisSync = require('../util/utimes').utimesMillisSync\nconst stat = require('../util/stat')\n\nfunction copySync (src, dest, opts) {\n if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n opts = opts || {}\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\\n\n see https://github.com/jprichardson/node-fs-extra/issues/269`)\n }\n\n const { srcStat, destStat } = stat.checkPathsSync(src, dest, 'copy')\n stat.checkParentPathsSync(src, srcStat, dest, 'copy')\n return handleFilterAndCopy(destStat, src, dest, opts)\n}\n\nfunction handleFilterAndCopy (destStat, src, dest, opts) {\n if (opts.filter && !opts.filter(src, dest)) return\n const destParent = path.dirname(dest)\n if (!fs.existsSync(destParent)) mkdirsSync(destParent)\n return startCopy(destStat, src, dest, opts)\n}\n\nfunction startCopy (destStat, src, dest, opts) {\n if (opts.filter && !opts.filter(src, dest)) return\n return getStats(destStat, src, dest, opts)\n}\n\nfunction getStats (destStat, src, dest, opts) {\n const statSync = opts.dereference ? fs.statSync : fs.lstatSync\n const srcStat = statSync(src)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts)\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts) {\n if (!destStat) return copyFile(srcStat, src, dest, opts)\n return mayCopyFile(srcStat, src, dest, opts)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts) {\n if (opts.overwrite) {\n fs.unlinkSync(dest)\n return copyFile(srcStat, src, dest, opts)\n } else if (opts.errorOnExist) {\n throw new Error(`'${dest}' already exists`)\n }\n}\n\nfunction copyFile (srcStat, src, dest, opts) {\n fs.copyFileSync(src, dest)\n if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest)\n return setDestMode(dest, srcStat.mode)\n}\n\nfunction handleTimestamps (srcMode, src, dest) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode)\n return setDestTimestamps(src, dest)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode) {\n return setDestMode(dest, srcMode | 0o200)\n}\n\nfunction setDestMode (dest, srcMode) {\n return fs.chmodSync(dest, srcMode)\n}\n\nfunction setDestTimestamps (src, dest) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n const updatedSrcStat = fs.statSync(src)\n return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime)\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts)\n if (destStat && !destStat.isDirectory()) {\n throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)\n }\n return copyDir(src, dest, opts)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts) {\n fs.mkdirSync(dest)\n copyDir(src, dest, opts)\n return setDestMode(dest, srcMode)\n}\n\nfunction copyDir (src, dest, opts) {\n fs.readdirSync(src).forEach(item => copyDirItem(item, src, dest, opts))\n}\n\nfunction copyDirItem (item, src, dest, opts) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n const { destStat } = stat.checkPathsSync(srcItem, destItem, 'copy')\n return startCopy(destStat, srcItem, destItem, opts)\n}\n\nfunction onLink (destStat, src, dest, opts) {\n let resolvedSrc = fs.readlinkSync(src)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlinkSync(resolvedSrc, dest)\n } else {\n let resolvedDest\n try {\n resolvedDest = fs.readlinkSync(dest)\n } catch (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlinkSync(resolvedSrc, dest)\n throw err\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)\n }\n\n // prevent copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (fs.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)\n }\n return copyLink(resolvedSrc, dest)\n }\n}\n\nfunction copyLink (resolvedSrc, dest) {\n fs.unlinkSync(dest)\n return fs.symlinkSync(resolvedSrc, dest)\n}\n\nmodule.exports = copySync\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","'use strict';\nconst os = require('os');\n\nconst nameMap = new Map([\n\t[20, ['Big Sur', '11']],\n\t[19, ['Catalina', '10.15']],\n\t[18, ['Mojave', '10.14']],\n\t[17, ['High Sierra', '10.13']],\n\t[16, ['Sierra', '10.12']],\n\t[15, ['El Capitan', '10.11']],\n\t[14, ['Yosemite', '10.10']],\n\t[13, ['Mavericks', '10.9']],\n\t[12, ['Mountain Lion', '10.8']],\n\t[11, ['Lion', '10.7']],\n\t[10, ['Snow Leopard', '10.6']],\n\t[9, ['Leopard', '10.5']],\n\t[8, ['Tiger', '10.4']],\n\t[7, ['Panther', '10.3']],\n\t[6, ['Jaguar', '10.2']],\n\t[5, ['Puma', '10.1']]\n]);\n\nconst macosRelease = release => {\n\trelease = Number((release || os.release()).split('.')[0]);\n\n\tconst [name, version] = nameMap.get(release);\n\n\treturn {\n\t\tname,\n\t\tversion\n\t};\n};\n\nmodule.exports = macosRelease;\n// TODO: remove this in the next major version\nmodule.exports.default = macosRelease;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlSslVersionMax = exports.CurlSslVersion = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L2015\r\n/**\r\n * Object with constants for option `SSLVERSION`\r\n *\r\n * `CURL_SSLVERSION_DEFAULT` becomes `CurlSslVersion.Default`\r\n *\r\n * @public\r\n */\r\nvar CurlSslVersion;\r\n(function (CurlSslVersion) {\r\n CurlSslVersion[CurlSslVersion[\"Default\"] = 0] = \"Default\";\r\n CurlSslVersion[CurlSslVersion[\"TlsV1\"] = 1] = \"TlsV1\";\r\n CurlSslVersion[CurlSslVersion[\"SslV2\"] = 2] = \"SslV2\";\r\n CurlSslVersion[CurlSslVersion[\"SslV3\"] = 3] = \"SslV3\";\r\n CurlSslVersion[CurlSslVersion[\"TlsV1_0\"] = 4] = \"TlsV1_0\";\r\n CurlSslVersion[CurlSslVersion[\"TlsV1_1\"] = 5] = \"TlsV1_1\";\r\n CurlSslVersion[CurlSslVersion[\"TlsV1_2\"] = 6] = \"TlsV1_2\";\r\n CurlSslVersion[CurlSslVersion[\"TlsV1_3\"] = 7] = \"TlsV1_3\";\r\n})(CurlSslVersion = exports.CurlSslVersion || (exports.CurlSslVersion = {}));\r\n/**\r\n * Object with constants for option `SSLVERSION`\r\n *\r\n * The maximum TLS version can be set by using one of the `CurlSslVersionMax` fields of this Enum.\r\n * It is also possible to OR one of the `CurlSslVersion` fields with one of `CurlSslVersionMax`\r\n *\r\n * `CURL_SSLVERSION_MAX_TLSv1_0` becomes `CurlSslVersionMax.TlsV1_0`\r\n *\r\n * @public\r\n */\r\nvar CurlSslVersionMax;\r\n(function (CurlSslVersionMax) {\r\n CurlSslVersionMax[CurlSslVersionMax[\"None\"] = 0] = \"None\";\r\n CurlSslVersionMax[CurlSslVersionMax[\"Default\"] = 65536] = \"Default\";\r\n CurlSslVersionMax[CurlSslVersionMax[\"TlsV1_0\"] = 262144] = \"TlsV1_0\";\r\n CurlSslVersionMax[CurlSslVersionMax[\"TlsV1_1\"] = 327680] = \"TlsV1_1\";\r\n CurlSslVersionMax[CurlSslVersionMax[\"TlsV1_2\"] = 393216] = \"TlsV1_2\";\r\n CurlSslVersionMax[CurlSslVersionMax[\"TlsV1_3\"] = 458752] = \"TlsV1_3\";\r\n})(CurlSslVersionMax = exports.CurlSslVersionMax || (exports.CurlSslVersionMax = {}));\r\n//# sourceMappingURL=CurlSslVersion.js.map","'use strict'\n\nconst fs = require('../fs')\nconst path = require('path')\nconst util = require('util')\nconst atLeastNode = require('at-least-node')\n\nconst nodeSupportsBigInt = atLeastNode('10.5.0')\nconst stat = (file) => nodeSupportsBigInt ? fs.stat(file, { bigint: true }) : fs.stat(file)\nconst statSync = (file) => nodeSupportsBigInt ? fs.statSync(file, { bigint: true }) : fs.statSync(file)\n\nfunction getStats (src, dest) {\n return Promise.all([\n stat(src),\n stat(dest).catch(err => {\n if (err.code === 'ENOENT') return null\n throw err\n })\n ]).then(([srcStat, destStat]) => ({ srcStat, destStat }))\n}\n\nfunction getStatsSync (src, dest) {\n let destStat\n const srcStat = statSync(src)\n try {\n destStat = statSync(dest)\n } catch (err) {\n if (err.code === 'ENOENT') return { srcStat, destStat: null }\n throw err\n }\n return { srcStat, destStat }\n}\n\nfunction checkPaths (src, dest, funcName, cb) {\n util.callbackify(getStats)(src, dest, (err, stats) => {\n if (err) return cb(err)\n const { srcStat, destStat } = stats\n if (destStat && areIdentical(srcStat, destStat)) {\n return cb(new Error('Source and destination must not be the same.'))\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {\n return cb(new Error(errMsg(src, dest, funcName)))\n }\n return cb(null, { srcStat, destStat })\n })\n}\n\nfunction checkPathsSync (src, dest, funcName) {\n const { srcStat, destStat } = getStatsSync(src, dest)\n if (destStat && areIdentical(srcStat, destStat)) {\n throw new Error('Source and destination must not be the same.')\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {\n throw new Error(errMsg(src, dest, funcName))\n }\n return { srcStat, destStat }\n}\n\n// recursively check if dest parent is a subdirectory of src.\n// It works for all file types including symlinks since it\n// checks the src and dest inodes. It starts from the deepest\n// parent and stops once it reaches the src parent or the root path.\nfunction checkParentPaths (src, srcStat, dest, funcName, cb) {\n const srcParent = path.resolve(path.dirname(src))\n const destParent = path.resolve(path.dirname(dest))\n if (destParent === srcParent || destParent === path.parse(destParent).root) return cb()\n const callback = (err, destStat) => {\n if (err) {\n if (err.code === 'ENOENT') return cb()\n return cb(err)\n }\n if (areIdentical(srcStat, destStat)) {\n return cb(new Error(errMsg(src, dest, funcName)))\n }\n return checkParentPaths(src, srcStat, destParent, funcName, cb)\n }\n if (nodeSupportsBigInt) fs.stat(destParent, { bigint: true }, callback)\n else fs.stat(destParent, callback)\n}\n\nfunction checkParentPathsSync (src, srcStat, dest, funcName) {\n const srcParent = path.resolve(path.dirname(src))\n const destParent = path.resolve(path.dirname(dest))\n if (destParent === srcParent || destParent === path.parse(destParent).root) return\n let destStat\n try {\n destStat = statSync(destParent)\n } catch (err) {\n if (err.code === 'ENOENT') return\n throw err\n }\n if (areIdentical(srcStat, destStat)) {\n throw new Error(errMsg(src, dest, funcName))\n }\n return checkParentPathsSync(src, srcStat, destParent, funcName)\n}\n\nfunction areIdentical (srcStat, destStat) {\n if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {\n if (nodeSupportsBigInt || destStat.ino < Number.MAX_SAFE_INTEGER) {\n // definitive answer\n return true\n }\n // Use additional heuristics if we can't use 'bigint'.\n // Different 'ino' could be represented the same if they are >= Number.MAX_SAFE_INTEGER\n // See issue 657\n if (destStat.size === srcStat.size &&\n destStat.mode === srcStat.mode &&\n destStat.nlink === srcStat.nlink &&\n destStat.atimeMs === srcStat.atimeMs &&\n destStat.mtimeMs === srcStat.mtimeMs &&\n destStat.ctimeMs === srcStat.ctimeMs &&\n destStat.birthtimeMs === srcStat.birthtimeMs) {\n // heuristic answer\n return true\n }\n }\n return false\n}\n\n// return true if dest is a subdir of src, otherwise false.\n// It only checks the path strings.\nfunction isSrcSubdir (src, dest) {\n const srcArr = path.resolve(src).split(path.sep).filter(i => i)\n const destArr = path.resolve(dest).split(path.sep).filter(i => i)\n return srcArr.reduce((acc, cur, i) => acc && destArr[i] === cur, true)\n}\n\nfunction errMsg (src, dest, funcName) {\n return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`\n}\n\nmodule.exports = {\n checkPaths,\n checkPathsSync,\n checkParentPaths,\n checkParentPathsSync,\n isSrcSubdir\n}\n","module.exports = require(\"child_process\");","'use strict';\nvar shebangRegex = require('shebang-regex');\n\nmodule.exports = function (str) {\n\tvar match = str.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tvar arr = match[0].replace(/#! ?/, '').split(' ');\n\tvar bin = arr[0].split('/').pop();\n\tvar arg = arr[1];\n\n\treturn (bin === 'env' ?\n\t\targ :\n\t\tbin + (arg ? ' ' + arg : '')\n\t);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nconst packageData = require('../../package.json');\nconst shared = require('../shared');\n\n/**\n * Generates a Transport object to generate JSON output\n *\n * @constructor\n * @param {Object} optional config parameter\n */\nclass JSONTransport {\n constructor(options) {\n options = options || {};\n\n this.options = options || {};\n\n this.name = 'JSONTransport';\n this.version = packageData.version;\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'json-transport'\n });\n }\n\n /**\n *

Compiles a mailcomposer message and forwards it to handler that sends it.

\n *\n * @param {Object} emailMessage MailComposer object\n * @param {Function} callback Callback function to run when the sending is completed\n */\n send(mail, done) {\n // Sendmail strips this header line by itself\n mail.message.keepBcc = true;\n\n let envelope = mail.data.envelope || mail.message.getEnvelope();\n let messageId = mail.message.messageId();\n\n let recipients = [].concat(envelope.to || []);\n if (recipients.length > 3) {\n recipients.push('...and ' + recipients.splice(2).length + ' more');\n }\n this.logger.info(\n {\n tnx: 'send',\n messageId\n },\n 'Composing JSON structure of %s to <%s>',\n messageId,\n recipients.join(', ')\n );\n\n setImmediate(() => {\n mail.normalize((err, data) => {\n if (err) {\n this.logger.error(\n {\n err,\n tnx: 'send',\n messageId\n },\n 'Failed building JSON structure for %s. %s',\n messageId,\n err.message\n );\n return done(err);\n }\n\n delete data.envelope;\n delete data.normalizedHeaders;\n\n return done(null, {\n envelope,\n messageId,\n message: this.options.skipEncoding ? data : JSON.stringify(data)\n });\n });\n });\n }\n}\n\nmodule.exports = JSONTransport;\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst mkdir = require('../mkdirs')\n\nfunction createFile (file, callback) {\n function makeFile () {\n fs.writeFile(file, '', err => {\n if (err) return callback(err)\n callback()\n })\n }\n\n fs.stat(file, (err, stats) => { // eslint-disable-line handle-callback-err\n if (!err && stats.isFile()) return callback()\n const dir = path.dirname(file)\n fs.stat(dir, (err, stats) => {\n if (err) {\n // if the directory doesn't exist, make it\n if (err.code === 'ENOENT') {\n return mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n makeFile()\n })\n }\n return callback(err)\n }\n\n if (stats.isDirectory()) makeFile()\n else {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdir(dir, err => {\n if (err) return callback(err)\n })\n }\n })\n })\n}\n\nfunction createFileSync (file) {\n let stats\n try {\n stats = fs.statSync(file)\n } catch {}\n if (stats && stats.isFile()) return\n\n const dir = path.dirname(file)\n try {\n if (!fs.statSync(dir).isDirectory()) {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdirSync(dir)\n }\n } catch (err) {\n // If the stat call above failed because the directory doesn't exist, create it\n if (err && err.code === 'ENOENT') mkdir.mkdirsSync(dir)\n else throw err\n }\n\n fs.writeFileSync(file, '')\n}\n\nmodule.exports = {\n createFile: u(createFile),\n createFileSync\n}\n","'use strict';\n\nconst stream = require('stream');\nconst Transform = stream.Transform;\n\n/**\n * Ensures that only is used for linebreaks\n *\n * @param {Object} options Stream options\n */\nclass LeWindows extends Transform {\n constructor(options) {\n super(options);\n // init Transform\n this.options = options || {};\n }\n\n /**\n * Escapes dots\n */\n _transform(chunk, encoding, done) {\n let buf;\n let lastPos = 0;\n\n for (let i = 0, len = chunk.length; i < len; i++) {\n if (chunk[i] === 0x0d) {\n // \\n\n buf = chunk.slice(lastPos, i);\n lastPos = i + 1;\n this.push(buf);\n }\n }\n if (lastPos && lastPos < chunk.length) {\n buf = chunk.slice(lastPos);\n this.push(buf);\n } else if (!lastPos) {\n this.push(chunk);\n }\n done();\n }\n}\n\nmodule.exports = LeWindows;\n","'use strict';\nconst alias = ['stdin', 'stdout', 'stderr'];\n\nconst hasAlias = opts => alias.some(x => Boolean(opts[x]));\n\nmodule.exports = opts => {\n\tif (!opts) {\n\t\treturn null;\n\t}\n\n\tif (opts.stdio && hasAlias(opts)) {\n\t\tthrow new Error(`It's not possible to provide \\`stdio\\` in combination with one of ${alias.map(x => `\\`${x}\\``).join(', ')}`);\n\t}\n\n\tif (typeof opts.stdio === 'string') {\n\t\treturn opts.stdio;\n\t}\n\n\tconst stdio = opts.stdio || [];\n\n\tif (!Array.isArray(stdio)) {\n\t\tthrow new TypeError(`Expected \\`stdio\\` to be of type \\`string\\` or \\`Array\\`, got \\`${typeof stdio}\\``);\n\t}\n\n\tconst result = [];\n\tconst len = Math.max(stdio.length, alias.length);\n\n\tfor (let i = 0; i < len; i++) {\n\t\tlet value = null;\n\n\t\tif (stdio[i] !== undefined) {\n\t\t\tvalue = stdio[i];\n\t\t} else if (opts[alias[i]] !== undefined) {\n\t\t\tvalue = opts[alias[i]];\n\t\t}\n\n\t\tresult[i] = value;\n\t}\n\n\treturn result;\n};\n","module.exports = r => {\n const n = process.versions.node.split('.').map(x => parseInt(x, 10))\n r = r.split('.').map(x => parseInt(x, 10))\n return n[0] > r[0] || (n[0] === r[0] && (n[1] > r[1] || (n[1] === r[1] && n[2] >= r[2])))\n}\n","'use strict';\n\nconst services = require('./services.json');\nconst normalized = {};\n\nObject.keys(services).forEach(key => {\n let service = services[key];\n\n normalized[normalizeKey(key)] = normalizeService(service);\n\n [].concat(service.aliases || []).forEach(alias => {\n normalized[normalizeKey(alias)] = normalizeService(service);\n });\n\n [].concat(service.domains || []).forEach(domain => {\n normalized[normalizeKey(domain)] = normalizeService(service);\n });\n});\n\nfunction normalizeKey(key) {\n return key.replace(/[^a-zA-Z0-9.-]/g, '').toLowerCase();\n}\n\nfunction normalizeService(service) {\n let filter = ['domains', 'aliases'];\n let response = {};\n\n Object.keys(service).forEach(key => {\n if (filter.indexOf(key) < 0) {\n response[key] = service[key];\n }\n });\n\n return response;\n}\n\n/**\n * Resolves SMTP config for given key. Key can be a name (like 'Gmail'), alias (like 'Google Mail') or\n * an email address (like 'test@googlemail.com').\n *\n * @param {String} key [description]\n * @returns {Object} SMTP config or false if not found\n */\nmodule.exports = function (key) {\n key = normalizeKey(key.split('@').pop());\n return normalized[key] || false;\n};\n","var fs = require('fs');\nvar path = require('path');\nvar common = require('./common');\n\ncommon.register('cp', _cp, {\n cmdOptions: {\n 'f': '!no_force',\n 'n': 'no_force',\n 'u': 'update',\n 'R': 'recursive',\n 'r': 'recursive',\n 'L': 'followsymlink',\n 'P': 'noFollowsymlink',\n },\n wrapOutput: false,\n});\n\n// Buffered file copy, synchronous\n// (Using readFileSync() + writeFileSync() could easily cause a memory overflow\n// with large files)\nfunction copyFileSync(srcFile, destFile, options) {\n if (!fs.existsSync(srcFile)) {\n common.error('copyFileSync: no such file or directory: ' + srcFile);\n }\n\n var isWindows = process.platform === 'win32';\n\n // Check the mtimes of the files if the '-u' flag is provided\n try {\n if (options.update && common.statFollowLinks(srcFile).mtime < fs.statSync(destFile).mtime) {\n return;\n }\n } catch (e) {\n // If we're here, destFile probably doesn't exist, so just do a normal copy\n }\n\n if (common.statNoFollowLinks(srcFile).isSymbolicLink() && !options.followsymlink) {\n try {\n common.statNoFollowLinks(destFile);\n common.unlinkSync(destFile); // re-link it\n } catch (e) {\n // it doesn't exist, so no work needs to be done\n }\n\n var symlinkFull = fs.readlinkSync(srcFile);\n fs.symlinkSync(symlinkFull, destFile, isWindows ? 'junction' : null);\n } else {\n var buf = common.buffer();\n var bufLength = buf.length;\n var bytesRead = bufLength;\n var pos = 0;\n var fdr = null;\n var fdw = null;\n\n try {\n fdr = fs.openSync(srcFile, 'r');\n } catch (e) {\n /* istanbul ignore next */\n common.error('copyFileSync: could not read src file (' + srcFile + ')');\n }\n\n try {\n fdw = fs.openSync(destFile, 'w');\n } catch (e) {\n /* istanbul ignore next */\n common.error('copyFileSync: could not write to dest file (code=' + e.code + '):' + destFile);\n }\n\n while (bytesRead === bufLength) {\n bytesRead = fs.readSync(fdr, buf, 0, bufLength, pos);\n fs.writeSync(fdw, buf, 0, bytesRead);\n pos += bytesRead;\n }\n\n fs.closeSync(fdr);\n fs.closeSync(fdw);\n\n fs.chmodSync(destFile, common.statFollowLinks(srcFile).mode);\n }\n}\n\n// Recursively copies 'sourceDir' into 'destDir'\n// Adapted from https://github.com/ryanmcgrath/wrench-js\n//\n// Copyright (c) 2010 Ryan McGrath\n// Copyright (c) 2012 Artur Adib\n//\n// Licensed under the MIT License\n// http://www.opensource.org/licenses/mit-license.php\nfunction cpdirSyncRecursive(sourceDir, destDir, currentDepth, opts) {\n if (!opts) opts = {};\n\n // Ensure there is not a run away recursive copy\n if (currentDepth >= common.config.maxdepth) return;\n currentDepth++;\n\n var isWindows = process.platform === 'win32';\n\n // Create the directory where all our junk is moving to; read the mode of the\n // source directory and mirror it\n try {\n fs.mkdirSync(destDir);\n } catch (e) {\n // if the directory already exists, that's okay\n if (e.code !== 'EEXIST') throw e;\n }\n\n var files = fs.readdirSync(sourceDir);\n\n for (var i = 0; i < files.length; i++) {\n var srcFile = sourceDir + '/' + files[i];\n var destFile = destDir + '/' + files[i];\n var srcFileStat = common.statNoFollowLinks(srcFile);\n\n var symlinkFull;\n if (opts.followsymlink) {\n if (cpcheckcycle(sourceDir, srcFile)) {\n // Cycle link found.\n console.error('Cycle link found.');\n symlinkFull = fs.readlinkSync(srcFile);\n fs.symlinkSync(symlinkFull, destFile, isWindows ? 'junction' : null);\n continue;\n }\n }\n if (srcFileStat.isDirectory()) {\n /* recursion this thing right on back. */\n cpdirSyncRecursive(srcFile, destFile, currentDepth, opts);\n } else if (srcFileStat.isSymbolicLink() && !opts.followsymlink) {\n symlinkFull = fs.readlinkSync(srcFile);\n try {\n common.statNoFollowLinks(destFile);\n common.unlinkSync(destFile); // re-link it\n } catch (e) {\n // it doesn't exist, so no work needs to be done\n }\n fs.symlinkSync(symlinkFull, destFile, isWindows ? 'junction' : null);\n } else if (srcFileStat.isSymbolicLink() && opts.followsymlink) {\n srcFileStat = common.statFollowLinks(srcFile);\n if (srcFileStat.isDirectory()) {\n cpdirSyncRecursive(srcFile, destFile, currentDepth, opts);\n } else {\n copyFileSync(srcFile, destFile, opts);\n }\n } else {\n /* At this point, we've hit a file actually worth copying... so copy it on over. */\n if (fs.existsSync(destFile) && opts.no_force) {\n common.log('skipping existing file: ' + files[i]);\n } else {\n copyFileSync(srcFile, destFile, opts);\n }\n }\n } // for files\n\n // finally change the mode for the newly created directory (otherwise, we\n // couldn't add files to a read-only directory).\n var checkDir = common.statFollowLinks(sourceDir);\n fs.chmodSync(destDir, checkDir.mode);\n} // cpdirSyncRecursive\n\n// Checks if cureent file was created recently\nfunction checkRecentCreated(sources, index) {\n var lookedSource = sources[index];\n return sources.slice(0, index).some(function (src) {\n return path.basename(src) === path.basename(lookedSource);\n });\n}\n\nfunction cpcheckcycle(sourceDir, srcFile) {\n var srcFileStat = common.statNoFollowLinks(srcFile);\n if (srcFileStat.isSymbolicLink()) {\n // Do cycle check. For example:\n // $ mkdir -p 1/2/3/4\n // $ cd 1/2/3/4\n // $ ln -s ../../3 link\n // $ cd ../../../..\n // $ cp -RL 1 copy\n var cyclecheck = common.statFollowLinks(srcFile);\n if (cyclecheck.isDirectory()) {\n var sourcerealpath = fs.realpathSync(sourceDir);\n var symlinkrealpath = fs.realpathSync(srcFile);\n var re = new RegExp(symlinkrealpath);\n if (re.test(sourcerealpath)) {\n return true;\n }\n }\n }\n return false;\n}\n\n//@\n//@ ### cp([options,] source [, source ...], dest)\n//@ ### cp([options,] source_array, dest)\n//@\n//@ Available options:\n//@\n//@ + `-f`: force (default behavior)\n//@ + `-n`: no-clobber\n//@ + `-u`: only copy if `source` is newer than `dest`\n//@ + `-r`, `-R`: recursive\n//@ + `-L`: follow symlinks\n//@ + `-P`: don't follow symlinks\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ cp('file1', 'dir1');\n//@ cp('-R', 'path/to/dir/', '~/newCopy/');\n//@ cp('-Rf', '/tmp/*', '/usr/local/*', '/home/tmp');\n//@ cp('-Rf', ['/tmp/*', '/usr/local/*'], '/home/tmp'); // same as above\n//@ ```\n//@\n//@ Copies files.\nfunction _cp(options, sources, dest) {\n // If we're missing -R, it actually implies -L (unless -P is explicit)\n if (options.followsymlink) {\n options.noFollowsymlink = false;\n }\n if (!options.recursive && !options.noFollowsymlink) {\n options.followsymlink = true;\n }\n\n // Get sources, dest\n if (arguments.length < 3) {\n common.error('missing and/or ');\n } else {\n sources = [].slice.call(arguments, 1, arguments.length - 1);\n dest = arguments[arguments.length - 1];\n }\n\n var destExists = fs.existsSync(dest);\n var destStat = destExists && common.statFollowLinks(dest);\n\n // Dest is not existing dir, but multiple sources given\n if ((!destExists || !destStat.isDirectory()) && sources.length > 1) {\n common.error('dest is not a directory (too many sources)');\n }\n\n // Dest is an existing file, but -n is given\n if (destExists && destStat.isFile() && options.no_force) {\n return new common.ShellString('', '', 0);\n }\n\n sources.forEach(function (src, srcIndex) {\n if (!fs.existsSync(src)) {\n if (src === '') src = \"''\"; // if src was empty string, display empty string\n common.error('no such file or directory: ' + src, { continue: true });\n return; // skip file\n }\n var srcStat = common.statFollowLinks(src);\n if (!options.noFollowsymlink && srcStat.isDirectory()) {\n if (!options.recursive) {\n // Non-Recursive\n common.error(\"omitting directory '\" + src + \"'\", { continue: true });\n } else {\n // Recursive\n // 'cp /a/source dest' should create 'source' in 'dest'\n var newDest = (destStat && destStat.isDirectory()) ?\n path.join(dest, path.basename(src)) :\n dest;\n\n try {\n common.statFollowLinks(path.dirname(dest));\n cpdirSyncRecursive(src, newDest, 0, { no_force: options.no_force, followsymlink: options.followsymlink });\n } catch (e) {\n /* istanbul ignore next */\n common.error(\"cannot create directory '\" + dest + \"': No such file or directory\");\n }\n }\n } else {\n // If here, src is a file\n\n // When copying to '/path/dir':\n // thisDest = '/path/dir/file1'\n var thisDest = dest;\n if (destStat && destStat.isDirectory()) {\n thisDest = path.normalize(dest + '/' + path.basename(src));\n }\n\n var thisDestExists = fs.existsSync(thisDest);\n if (thisDestExists && checkRecentCreated(sources, srcIndex)) {\n // cannot overwrite file created recently in current execution, but we want to continue copying other files\n if (!options.no_force) {\n common.error(\"will not overwrite just-created '\" + thisDest + \"' with '\" + src + \"'\", { continue: true });\n }\n return;\n }\n\n if (thisDestExists && options.no_force) {\n return; // skip file\n }\n\n if (path.relative(src, thisDest) === '') {\n // a file cannot be copied to itself, but we want to continue copying other files\n common.error(\"'\" + thisDest + \"' and '\" + src + \"' are the same file\", { continue: true });\n return;\n }\n\n copyFileSync(src, thisDest, options);\n }\n }); // forEach(src)\n\n return new common.ShellString('', common.state.error, common.state.errorCode);\n}\nmodule.exports = _cp;\n","'use strict'\n\nconst u = require('universalify').fromPromise\nconst jsonFile = require('./jsonfile')\n\njsonFile.outputJson = u(require('./output-json'))\njsonFile.outputJsonSync = require('./output-json-sync')\n// aliases\njsonFile.outputJSON = jsonFile.outputJson\njsonFile.outputJSONSync = jsonFile.outputJsonSync\njsonFile.writeJSON = jsonFile.writeJson\njsonFile.writeJSONSync = jsonFile.writeJsonSync\njsonFile.readJSON = jsonFile.readJson\njsonFile.readJSONSync = jsonFile.readJsonSync\n\nmodule.exports = jsonFile\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):((t=\"undefined\"!=typeof globalThis?globalThis:t||self).prettierPlugins=t.prettierPlugins||{},t.prettierPlugins.angular=e())}(this,(function(){\"use strict\";function t(e,s){const{ignoreDecorators:n}=s||{};if(!n){const s=e.declaration&&e.declaration.decorators||e.decorators;if(s&&s.length>0)return t(s[0])}return e.range?e.range[0]:e.start}function e(t){const s=t.range?t.range[1]:t.end;return t.typeAnnotation?Math.max(s,e(t.typeAnnotation)):s}function s(e,s){return t(e)===t(s)}var n={locStart:t,locEnd:e,composeLoc:function(s,n=s){const r=t(s);return[r,\"number\"==typeof n?r+n:e(n)]},hasSameLocStart:s,hasSameLoc:function(t,n){return s(t,n)&&function(t,s){return e(t)===e(s)}(t,n)}};function r(t,e,s){return t(s={path:e,exports:{},require:function(t,e){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==e&&s.path)}},s.exports),s.exports}var i,a=r((function(t,e){var s=\"\\n\",n=function(){function t(t){this.string=t;for(var e=[0],n=0;nthis.string.length)return null;for(var e=0,s=this.offsets;s[e+1]<=t;)e++;return{line:e,column:t-s[e]}},t.prototype.indexForLocation=function(t){var e=t.line,s=t.column;return e<0||e>=this.offsets.length||s<0||s>this.lengthOfLine(e)?null:this.offsets[e]+s},t.prototype.lengthOfLine=function(t){var e=this.offsets[t];return(t===this.offsets.length-1?this.string.length:this.offsets[t+1])-e},t}();e.__esModule=!0,e.default=n})),o=r((function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});e.Context=class{constructor(t){this.text=t,this.locator=new s(this.text)}};class s{constructor(t){this._lineAndColumn=new a.default(t)}locationForIndex(t){const{line:e,column:s}=this._lineAndColumn.locationForIndex(t);return{line:e+1,column:s}}}}));\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass c{constructor(t,e,s,n){this.input=e,this.errLocation=s,this.ctxLocation=n,this.message=\"Parser Error: \".concat(t,\" \").concat(s,\" [\").concat(e,\"] in \").concat(n)}}class h{constructor(t,e){this.start=t,this.end=e}toAbsolute(t){return new M(t+this.start,t+this.end)}}class p{constructor(t,e){this.span=t,this.sourceSpan=e}visit(t,e=null){return null}toString(){return\"AST\"}}class u extends p{constructor(t,e,s){super(t,e),this.nameSpan=s}}class l extends p{constructor(t,e,s,n,r){super(t,e),this.prefix=s,this.uninterpretedExpression=n,this.location=r}visit(t,e=null){return t.visitQuote(this,e)}toString(){return\"Quote\"}}class d extends p{visit(t,e=null){}}class f extends p{visit(t,e=null){return t.visitImplicitReceiver(this,e)}}class v extends p{constructor(t,e,s){super(t,e),this.expressions=s}visit(t,e=null){return t.visitChain(this,e)}}class x extends p{constructor(t,e,s,n,r){super(t,e),this.condition=s,this.trueExp=n,this.falseExp=r}visit(t,e=null){return t.visitConditional(this,e)}}class g extends u{constructor(t,e,s,n,r){super(t,e,s),this.receiver=n,this.name=r}visit(t,e=null){return t.visitPropertyRead(this,e)}}class m extends u{constructor(t,e,s,n,r,i){super(t,e,s),this.receiver=n,this.name=r,this.value=i}visit(t,e=null){return t.visitPropertyWrite(this,e)}}class y extends u{constructor(t,e,s,n,r){super(t,e,s),this.receiver=n,this.name=r}visit(t,e=null){return t.visitSafePropertyRead(this,e)}}class S extends p{constructor(t,e,s,n){super(t,e),this.obj=s,this.key=n}visit(t,e=null){return t.visitKeyedRead(this,e)}}class w extends p{constructor(t,e,s,n,r){super(t,e),this.obj=s,this.key=n,this.value=r}visit(t,e=null){return t.visitKeyedWrite(this,e)}}class C extends u{constructor(t,e,s,n,r,i){super(t,e,i),this.exp=s,this.name=n,this.args=r}visit(t,e=null){return t.visitPipe(this,e)}}class P extends p{constructor(t,e,s){super(t,e),this.value=s}visit(t,e=null){return t.visitLiteralPrimitive(this,e)}}class E extends p{constructor(t,e,s){super(t,e),this.expressions=s}visit(t,e=null){return t.visitLiteralArray(this,e)}}class A extends p{constructor(t,e,s,n){super(t,e),this.keys=s,this.values=n}visit(t,e=null){return t.visitLiteralMap(this,e)}}class b extends p{constructor(t,e,s,n){super(t,e),this.strings=s,this.expressions=n}visit(t,e=null){return t.visitInterpolation(this,e)}}class O extends p{constructor(t,e,s,n,r){super(t,e),this.operation=s,this.left=n,this.right=r}visit(t,e=null){return t.visitBinary(this,e)}}class k extends O{constructor(t,e,s,n,r,i,a){super(t,e,r,i,a),this.operator=s,this.expr=n}static createMinus(t,e,s){return new k(t,e,\"-\",s,\"-\",new P(t,e,0),s)}static createPlus(t,e,s){return new k(t,e,\"+\",s,\"-\",s,new P(t,e,0))}visit(t,e=null){return void 0!==t.visitUnary?t.visitUnary(this,e):t.visitBinary(this,e)}}class N extends p{constructor(t,e,s){super(t,e),this.expression=s}visit(t,e=null){return t.visitPrefixNot(this,e)}}class I extends p{constructor(t,e,s){super(t,e),this.expression=s}visit(t,e=null){return t.visitNonNullAssert(this,e)}}class _ extends u{constructor(t,e,s,n,r,i){super(t,e,s),this.receiver=n,this.name=r,this.args=i}visit(t,e=null){return t.visitMethodCall(this,e)}}class L extends u{constructor(t,e,s,n,r,i){super(t,e,s),this.receiver=n,this.name=r,this.args=i}visit(t,e=null){return t.visitSafeMethodCall(this,e)}}class K extends p{constructor(t,e,s,n){super(t,e),this.target=s,this.args=n}visit(t,e=null){return t.visitFunctionCall(this,e)}}class M{constructor(t,e){this.start=t,this.end=e}}class T extends p{constructor(t,e,s,n,r){super(new h(0,null===e?0:e.length),new M(n,null===e?n:n+e.length)),this.ast=t,this.source=e,this.location=s,this.errors=r}visit(t,e=null){return t.visitASTWithSource?t.visitASTWithSource(this,e):this.ast.visit(t,e)}toString(){return\"\".concat(this.source,\" in \").concat(this.location)}}class B{constructor(t,e,s){this.sourceSpan=t,this.key=e,this.value=s}}class R{constructor(t,e,s){this.sourceSpan=t,this.key=e,this.value=s}}class j{visit(t,e){t.visit(this,e)}visitUnary(t,e){this.visit(t.expr,e)}visitBinary(t,e){this.visit(t.left,e),this.visit(t.right,e)}visitChain(t,e){this.visitAll(t.expressions,e)}visitConditional(t,e){this.visit(t.condition,e),this.visit(t.trueExp,e),this.visit(t.falseExp,e)}visitPipe(t,e){this.visit(t.exp,e),this.visitAll(t.args,e)}visitFunctionCall(t,e){t.target&&this.visit(t.target,e),this.visitAll(t.args,e)}visitImplicitReceiver(t,e){}visitInterpolation(t,e){this.visitAll(t.expressions,e)}visitKeyedRead(t,e){this.visit(t.obj,e),this.visit(t.key,e)}visitKeyedWrite(t,e){this.visit(t.obj,e),this.visit(t.key,e),this.visit(t.value,e)}visitLiteralArray(t,e){this.visitAll(t.expressions,e)}visitLiteralMap(t,e){this.visitAll(t.values,e)}visitLiteralPrimitive(t,e){}visitMethodCall(t,e){this.visit(t.receiver,e),this.visitAll(t.args,e)}visitPrefixNot(t,e){this.visit(t.expression,e)}visitNonNullAssert(t,e){this.visit(t.expression,e)}visitPropertyRead(t,e){this.visit(t.receiver,e)}visitPropertyWrite(t,e){this.visit(t.receiver,e),this.visit(t.value,e)}visitSafePropertyRead(t,e){this.visit(t.receiver,e)}visitSafeMethodCall(t,e){this.visit(t.receiver,e),this.visitAll(t.args,e)}visitQuote(t,e){}visitAll(t,e){for(const s of t)this.visit(s,e)}}!function(t){t[t.DEFAULT=0]=\"DEFAULT\",t[t.LITERAL_ATTR=1]=\"LITERAL_ATTR\",t[t.ANIMATION=2]=\"ANIMATION\"}(i||(i={}));var F=Object.freeze({__proto__:null,ParserError:c,ParseSpan:h,AST:p,ASTWithName:u,Quote:l,EmptyExpr:d,ImplicitReceiver:f,Chain:v,Conditional:x,PropertyRead:g,PropertyWrite:m,SafePropertyRead:y,KeyedRead:S,KeyedWrite:w,BindingPipe:C,LiteralPrimitive:P,LiteralArray:E,LiteralMap:A,Interpolation:b,Binary:O,Unary:k,PrefixNot:N,NonNullAssert:I,MethodCall:_,SafeMethodCall:L,FunctionCall:K,AbsoluteSourceSpan:M,ASTWithSource:T,VariableBinding:B,ExpressionBinding:R,RecursiveAstVisitor:j,AstTransformer:class{visitImplicitReceiver(t,e){return t}visitInterpolation(t,e){return new b(t.span,t.sourceSpan,t.strings,this.visitAll(t.expressions))}visitLiteralPrimitive(t,e){return new P(t.span,t.sourceSpan,t.value)}visitPropertyRead(t,e){return new g(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name)}visitPropertyWrite(t,e){return new m(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name,t.value.visit(this))}visitSafePropertyRead(t,e){return new y(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name)}visitMethodCall(t,e){return new _(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name,this.visitAll(t.args))}visitSafeMethodCall(t,e){return new L(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name,this.visitAll(t.args))}visitFunctionCall(t,e){return new K(t.span,t.sourceSpan,t.target.visit(this),this.visitAll(t.args))}visitLiteralArray(t,e){return new E(t.span,t.sourceSpan,this.visitAll(t.expressions))}visitLiteralMap(t,e){return new A(t.span,t.sourceSpan,t.keys,this.visitAll(t.values))}visitUnary(t,e){switch(t.operator){case\"+\":return k.createPlus(t.span,t.sourceSpan,t.expr.visit(this));case\"-\":return k.createMinus(t.span,t.sourceSpan,t.expr.visit(this));default:throw new Error(\"Unknown unary operator \".concat(t.operator))}}visitBinary(t,e){return new O(t.span,t.sourceSpan,t.operation,t.left.visit(this),t.right.visit(this))}visitPrefixNot(t,e){return new N(t.span,t.sourceSpan,t.expression.visit(this))}visitNonNullAssert(t,e){return new I(t.span,t.sourceSpan,t.expression.visit(this))}visitConditional(t,e){return new x(t.span,t.sourceSpan,t.condition.visit(this),t.trueExp.visit(this),t.falseExp.visit(this))}visitPipe(t,e){return new C(t.span,t.sourceSpan,t.exp.visit(this),t.name,this.visitAll(t.args),t.nameSpan)}visitKeyedRead(t,e){return new S(t.span,t.sourceSpan,t.obj.visit(this),t.key.visit(this))}visitKeyedWrite(t,e){return new w(t.span,t.sourceSpan,t.obj.visit(this),t.key.visit(this),t.value.visit(this))}visitAll(t){const e=[];for(let s=0;s=this.length?0:this.input.charCodeAt(this.index)}scanToken(){const t=this.input,e=this.length;let s=this.peek,n=this.index;for(;s<=32;){if(++n>=e){s=0;break}s=t.charCodeAt(n)}if(this.peek=s,this.index=n,n>=e)return null;if(J(s))return this.scanIdentifier();if(W(s))return this.scanNumber(n);const r=n;switch(s){case 46:return this.advance(),W(this.peek)?this.scanNumber(r):z(r,this.index,46);case 40:case G:case 123:case U:case 91:case 93:case 44:case 58:case 59:return this.scanCharacter(r,s);case 39:case 34:return this.scanString();case 35:case 43:case 45:case 42:case 47:case 37:case 94:return this.scanOperator(r,String.fromCharCode(s));case 63:return this.scanComplexOperator(r,\"?\",46,\".\");case 60:case 62:return this.scanComplexOperator(r,String.fromCharCode(s),61,\"=\");case 33:case 61:return this.scanComplexOperator(r,String.fromCharCode(s),61,\"=\",61,\"=\");case 38:return this.scanComplexOperator(r,\"&\",38,\"&\");case 124:return this.scanComplexOperator(r,\"|\",124,\"|\");case 160:for(;(i=this.peek)>=9&&i<=32||160==i;)this.advance();return this.scanToken()}var i;return this.advance(),this.error(\"Unexpected character [\".concat(String.fromCharCode(s),\"]\"),0)}scanCharacter(t,e){return this.advance(),z(t,this.index,e)}scanOperator(t,e){return this.advance(),q(t,this.index,e)}scanComplexOperator(t,e,s,n,r,i){this.advance();let a=e;return this.peek==s&&(this.advance(),a+=n),null!=r&&this.peek==r&&(this.advance(),a+=i),q(t,this.index,a)}scanIdentifier(){const t=this.index;for(this.advance();Y(this.peek);)this.advance();const e=this.input.substring(t,this.index);return Q.indexOf(e)>-1?(s=t,n=this.index,r=e,new D(s,n,V.Keyword,0,r)):function(t,e,s){return new D(t,e,V.Identifier,0,s)}(t,this.index,e);var s,n,r}scanNumber(t){let e=this.index===t;for(this.advance();;){if(W(this.peek));else if(46==this.peek)e=!1;else{if(101!=(s=this.peek)&&69!=s)break;if(this.advance(),Z(this.peek)&&this.advance(),!W(this.peek))return this.error(\"Invalid exponent\",-1);e=!1}this.advance()}var s;const n=this.input.substring(t,this.index),r=e?function(t){const e=parseInt(t);if(isNaN(e))throw new Error(\"Invalid integer literal when parsing \"+t);return e}(n):parseFloat(n);return i=t,a=this.index,o=r,new D(i,a,V.Number,o,\"\");var i,a,o}scanString(){const t=this.index,e=this.peek;this.advance();let s=\"\",n=this.index;const r=this.input;for(;this.peek!=e;)if(92==this.peek){let t;if(s+=r.substring(n,this.index),this.advance(),this.peek=this.peek,117==this.peek){const e=r.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(e))return this.error(\"Invalid unicode escape [\\\\u\".concat(e,\"]\"),0);t=parseInt(e,16);for(let t=0;t<5;t++)this.advance()}else t=et(this.peek),this.advance();s+=String.fromCharCode(t),n=this.index}else{if(0==this.peek)return this.error(\"Unterminated quote\",0);this.advance()}const i=r.substring(n,this.index);return this.advance(),a=t,o=this.index,c=s+i,new D(a,o,V.String,0,c);var a,o,c}error(t,e){const s=this.index+e;return function(t,e,s){return new D(t,e,V.Error,0,s)}(s,this.index,\"Lexer Error: \".concat(t,\" at column \").concat(s,\" in expression [\").concat(this.input,\"]\"))}}function J(t){return 97<=t&&t<=122||65<=t&&t<=90||95==t||36==t}function H(t){if(0==t.length)return!1;const e=new X(t);if(!J(e.peek))return!1;for(e.advance();0!==e.peek;){if(!Y(e.peek))return!1;e.advance()}return!0}function Y(t){return function(t){return t>=97&&t<=122||t>=65&&t<=90}(t)||W(t)||95==t||36==t}function Z(t){return 45==t||43==t}function tt(t){return 39===t||34===t||96===t}function et(t){switch(t){case 110:return 10;case 102:return 12;case 114:return 13;case 116:return 9;case 118:return 11;default:return t}}var st=Object.freeze({__proto__:null,get TokenType(){return V},Lexer:class{tokenize(t){const e=new X(t),s=[];let n=e.scanToken();for(;null!=n;)s.push(n),n=e.scanToken();return s}},Token:D,EOF:$,isIdentifier:H,isQuote:tt});\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */const nt=[/^\\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\\/\\//];\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass rt{constructor(t,e){this.start=t,this.end=e}static fromArray(t){return t?(function(t,e){if(!(null==e||Array.isArray(e)&&2==e.length))throw new Error(\"Expected '\".concat(t,\"' to be an array, [start, end].\"));if(null!=e){const t=e[0],s=e[1];nt.forEach((e=>{if(e.test(t)||e.test(s))throw new Error(\"['\".concat(t,\"', '\").concat(s,\"'] contains unusable interpolation symbol.\"))}))}}(\"interpolation\",t),new rt(t[0],t[1])):it}}const it=new rt(\"{{\",\"}}\");function at(t){return t.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g,\"\\\\$1\")}\"undefined\"!=typeof self&&\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self;\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */class ot{constructor(t,e,s,n,r){this.strings=t,this.stringSpans=e,this.expressions=s,this.expressionsSpans=n,this.offsets=r}}class ct{constructor(t,e,s){this.templateBindings=t,this.warnings=e,this.errors=s}}const ht=pt(it);function pt(t){const e=at(t.start)+\"([\\\\s\\\\S]*?)\"+at(t.end);return new RegExp(e,\"g\")}class ut{constructor(t){this._lexer=t,this.errors=[],this.simpleExpressionChecker=ft}parseAction(t,e,s,n=it){this._checkNoInterpolation(t,e,n);const r=this._stripComments(t),i=this._lexer.tokenize(this._stripComments(t)),a=new dt(t,e,s,i,r.length,!0,this.errors,t.length-r.length).parseChain();return new T(a,t,e,s,this.errors)}parseBinding(t,e,s,n=it){const r=this._parseBindingAst(t,e,s,n);return new T(r,t,e,s,this.errors)}checkSimpleExpression(t){const e=new this.simpleExpressionChecker;return t.visit(e),e.errors}parseSimpleBinding(t,e,s,n=it){const r=this._parseBindingAst(t,e,s,n),i=this.checkSimpleExpression(r);return i.length>0&&this._reportError(\"Host binding expression cannot contain \".concat(i.join(\" \")),t,e),new T(r,t,e,s,this.errors)}_reportError(t,e,s,n){this.errors.push(new c(t,e,s,n))}_parseBindingAst(t,e,s,n){const r=this._parseQuote(t,e,s);if(null!=r)return r;this._checkNoInterpolation(t,e,n);const i=this._stripComments(t),a=this._lexer.tokenize(i);return new dt(t,e,s,a,i.length,!1,this.errors,t.length-i.length).parseChain()}_parseQuote(t,e,s){if(null==t)return null;const n=t.indexOf(\":\");if(-1==n)return null;const r=t.substring(0,n).trim();if(!H(r))return null;const i=t.substring(n+1),a=new h(0,t.length);return new l(a,a.toAbsolute(s),r,i,e)}parseTemplateBindings(t,e,s,n,r){const i=this._lexer.tokenize(e);return new dt(e,s,r,i,e.length,!1,this.errors,0).parseTemplateBindings({source:t,span:new M(n,n+t.length)})}parseInterpolation(t,e,s,n=it){const r=this.splitInterpolation(t,e,n);if(null==r)return null;const i=[];for(let n=0;n0?r.push(f):(this._reportError(\"Blank expressions are not allowed in interpolated strings\",t,\"at column \".concat(c,\" in\"),e),r.push(\"$implicit\")),i.push(n),o.push({start:s,end:d}),c=d,h=!1}else{const e=c;c=t.indexOf(u,c),-1===c&&(c=t.length);const s=t.substring(e,c);n.push(s),a.push({start:e,end:c}),h=!0}return h||(p?(n[n.length-1]+=t.substring(c),a[a.length-1].end=t.length):(n.push(t.substring(c)),a.push({start:c,end:t.length}))),0===r.length?null:new ot(n,a,r,o,i)}wrapLiteralPrimitive(t,e,s){const n=new h(0,null==t?0:t.length);return new T(new P(n,n.toAbsolute(s),t),t,e,s,this.errors)}_stripComments(t){const e=this._commentStart(t);return null!=e?t.substring(0,e).trim():t}_commentStart(t){let e=null;for(let s=0;s1&&this._reportError(\"Got interpolation (\".concat(s.start).concat(s.end,\") where expression was expected\"),t,\"at column \".concat(this._findInterpolationErrorColumn(i,1,s),\" in\"),e)}_findInterpolationErrorColumn(t,e,s){let n=\"\";for(let r=0;r=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){if(this.index>0){return this.peek(-1).end+this.offset}return 0===this.tokens.length?this.inputLength+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(t){return new h(t,this.currentEndIndex)}sourceSpan(t){const e=\"\".concat(t,\"@\").concat(this.inputIndex);return this.sourceSpanCache.has(e)||this.sourceSpanCache.set(e,this.span(t).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(e)}advance(){this.index++}withContext(t,e){this.context|=t;const s=e();return this.context^=t,s}consumeOptionalCharacter(t){return!!this.next.isCharacter(t)&&(this.advance(),!0)}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(t){this.consumeOptionalCharacter(t)||this.error(\"Missing expected \".concat(String.fromCharCode(t)))}consumeOptionalOperator(t){return!!this.next.isOperator(t)&&(this.advance(),!0)}expectOperator(t){this.consumeOptionalOperator(t)||this.error(\"Missing expected operator \".concat(t))}prettyPrintToken(t){return t===$?\"end of input\":\"token \".concat(t)}expectIdentifierOrKeyword(){const t=this.next;return t.isIdentifier()||t.isKeyword()?(this.advance(),t.toString()):(this.error(\"Unexpected \".concat(this.prettyPrintToken(t),\", expected identifier or keyword\")),\"\")}expectIdentifierOrKeywordOrString(){const t=this.next;return t.isIdentifier()||t.isKeyword()||t.isString()?(this.advance(),t.toString()):(this.error(\"Unexpected \".concat(this.prettyPrintToken(t),\", expected identifier, keyword, or string\")),\"\")}parseChain(){const t=[],e=this.inputIndex;for(;this.index\":case\"<=\":case\">=\":this.advance();const s=this.parseAdditive(),{start:n}=t.span;t=new O(this.span(n),this.sourceSpan(n),e,t,s);continue}break}return t}parseAdditive(){let t=this.parseMultiplicative();for(;this.next.type==V.Operator;){const e=this.next.strValue;switch(e){case\"+\":case\"-\":this.advance();let s=this.parseMultiplicative();const{start:n}=t.span;t=new O(this.span(n),this.sourceSpan(n),e,t,s);continue}break}return t}parseMultiplicative(){let t=this.parsePrefix();for(;this.next.type==V.Operator;){const e=this.next.strValue;switch(e){case\"*\":case\"%\":case\"/\":this.advance();let s=this.parsePrefix();const{start:n}=t.span;t=new O(this.span(n),this.sourceSpan(n),e,t,s);continue}break}return t}parsePrefix(){if(this.next.type==V.Operator){const t=this.inputIndex;let e;switch(this.next.strValue){case\"+\":return this.advance(),e=this.parsePrefix(),k.createPlus(this.span(t),this.sourceSpan(t),e);case\"-\":return this.advance(),e=this.parsePrefix(),k.createMinus(this.span(t),this.sourceSpan(t),e);case\"!\":return this.advance(),e=this.parsePrefix(),new N(this.span(t),this.sourceSpan(t),e)}}return this.parseCallChain()}parseCallChain(){let t=this.parsePrimary();const e=t.span.start;for(;;)if(this.consumeOptionalCharacter(46))t=this.parseAccessMemberOrMethodCall(t,!1);else if(this.consumeOptionalOperator(\"?.\"))t=this.parseAccessMemberOrMethodCall(t,!0);else if(this.consumeOptionalCharacter(91))this.withContext(lt.Writable,(()=>{this.rbracketsExpected++;const s=this.parsePipe();if(s instanceof d&&this.error(\"Key access cannot be empty\"),this.rbracketsExpected--,this.expectCharacter(93),this.consumeOptionalOperator(\"=\")){const n=this.parseConditional();t=new w(this.span(e),this.sourceSpan(e),t,s,n)}else t=new S(this.span(e),this.sourceSpan(e),t,s)}));else if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const s=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(G),t=new K(this.span(e),this.sourceSpan(e),t,s)}else{if(!this.consumeOptionalOperator(\"!\"))return t;t=new I(this.span(e),this.sourceSpan(e),t)}}parsePrimary(){const t=this.inputIndex;if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const t=this.parsePipe();return this.rparensExpected--,this.expectCharacter(G),t}if(this.next.isKeywordNull())return this.advance(),new P(this.span(t),this.sourceSpan(t),null);if(this.next.isKeywordUndefined())return this.advance(),new P(this.span(t),this.sourceSpan(t),void 0);if(this.next.isKeywordTrue())return this.advance(),new P(this.span(t),this.sourceSpan(t),!0);if(this.next.isKeywordFalse())return this.advance(),new P(this.span(t),this.sourceSpan(t),!1);if(this.next.isKeywordThis())return this.advance(),new f(this.span(t),this.sourceSpan(t));if(this.consumeOptionalCharacter(91)){this.rbracketsExpected++;const e=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new E(this.span(t),this.sourceSpan(t),e)}if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new f(this.span(t),this.sourceSpan(t)),!1);if(this.next.isNumber()){const e=this.next.toNumber();return this.advance(),new P(this.span(t),this.sourceSpan(t),e)}if(this.next.isString()){const e=this.next.toString();return this.advance(),new P(this.span(t),this.sourceSpan(t),e)}return this.index>=this.tokens.length?(this.error(\"Unexpected end of expression: \".concat(this.input)),new d(this.span(t),this.sourceSpan(t))):(this.error(\"Unexpected token \".concat(this.next)),new d(this.span(t),this.sourceSpan(t)))}parseExpressionList(t){const e=[];if(!this.next.isCharacter(t))do{e.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));return e}parseLiteralMap(){const t=[],e=[],s=this.inputIndex;if(this.expectCharacter(123),!this.consumeOptionalCharacter(U)){this.rbracesExpected++;do{const s=this.next.isString(),n=this.expectIdentifierOrKeywordOrString();t.push({key:n,quoted:s}),this.expectCharacter(58),e.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));this.rbracesExpected--,this.expectCharacter(U)}return new A(this.span(s),this.sourceSpan(s),t,e)}parseAccessMemberOrMethodCall(t,e=!1){const s=t.span.start,n=this.inputIndex,r=this.expectIdentifierOrKeyword(),i=this.sourceSpan(n);if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const n=this.parseCallArguments();this.expectCharacter(G),this.rparensExpected--;const a=this.span(s),o=this.sourceSpan(s);return e?new L(a,o,i,t,r,n):new _(a,o,i,t,r,n)}if(e)return this.consumeOptionalOperator(\"=\")?(this.error(\"The '?.' operator cannot be used in the assignment\"),new d(this.span(s),this.sourceSpan(s))):new y(this.span(s),this.sourceSpan(s),i,t,r);if(this.consumeOptionalOperator(\"=\")){if(!this.parseAction)return this.error(\"Bindings cannot contain assignments\"),new d(this.span(s),this.sourceSpan(s));const e=this.parseConditional();return new m(this.span(s),this.sourceSpan(s),i,t,r,e)}return new g(this.span(s),this.sourceSpan(s),i,t,r)}parseCallArguments(){if(this.next.isCharacter(G))return[];const t=[];do{t.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));return t}expectTemplateBindingKey(){let t=\"\",e=!1;const s=this.currentAbsoluteOffset;do{t+=this.expectIdentifierOrKeywordOrString(),e=this.consumeOptionalOperator(\"-\"),e&&(t+=\"-\")}while(e);return{source:t,span:new M(s,s+t.length)}}parseTemplateBindings(t){const e=[];for(e.push(...this.parseDirectiveKeywordBindings(t));this.indext.visit(this,e)))}visitChain(t,e){}visitQuote(t,e){}}class vt extends j{constructor(){super(...arguments),this.errors=[]}visitPipe(){this.errors.push(\"pipes\")}}var xt=Object.freeze({__proto__:null,SplitInterpolation:ot,TemplateBindingParseResult:ct,Parser:ut,IvyParser:class extends ut{constructor(){super(...arguments),this.simpleExpressionChecker=vt}},_ParseAST:dt}),gt=r((function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const s=\"angular-estree-parser\";e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX=\"NgEstreeParser\";const n=[s,0];function r(){return new xt.Parser(new st.Lexer)}function i(t,e){const s=r(),{astInput:n,comments:i}=c(t,s),{ast:a,errors:h}=e(n,s);return o(h),{ast:a,comments:i}}function a(t,e){if(t&&\"object\"==typeof t){if(Array.isArray(t))return t.forEach((t=>a(t,e)));for(const s of Object.keys(t)){const n=t[s];\"span\"===s?e(n):a(n,e)}}}function o(t){if(0!==t.length){const[{message:e}]=t;throw new SyntaxError(e.replace(/^Parser Error: | at column \\d+ in [^]*$/g,\"\"))}}function c(t,e){const s=e._commentStart(t);return null===s?{astInput:t,comments:[]}:{astInput:t.slice(0,s),comments:[{type:\"Comment\",value:t.slice(s+\"//\".length),span:{start:s,end:t.length}}]}}function h({start:t,end:e},s){let n=t,r=e;for(;r!==n&&/\\s/.test(s[r-1]);)r--;for(;n!==r&&/\\s/.test(s[n]);)n++;return{start:n,end:r}}function p({start:t,end:e},s){let n=t,r=e;for(;r!==s.length&&/\\s/.test(s[r]);)r++;for(;0!==n&&/\\s/.test(s[n-1]);)n--;return{start:n,end:r}}function u(t,e){return\"(\"===e[t.start-1]&&\")\"===e[t.end]?{start:t.start-1,end:t.end+1}:t}e.parseNgBinding=function(t){return i(t,((t,e)=>e.parseBinding(t,...n)))},e.parseNgSimpleBinding=function(t){return i(t,((t,e)=>e.parseSimpleBinding(t,...n)))},e.parseNgAction=function(t){return i(t,((t,e)=>e.parseAction(t,...n)))},e.parseNgTemplateBindings=function(t){const n=r(),{templateBindings:i,errors:a}=n.parseTemplateBindings(e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX,t,s,0,0);return o(a),i},e.parseNgInterpolation=function(t){const e=r(),{astInput:s,comments:i}=c(t,e),h=\"{{\",{ast:p,errors:u}=e.parseInterpolation(h+s+\"}}\",...n);o(u);const l=p.expressions[0],d=new Set;return a(l,(t=>{d.has(t)||(t.start-=h.length,t.end-=h.length,d.add(t))})),{ast:l,comments:i}},e.getNgType=function(t){return F.Unary&&t instanceof F.Unary?\"Unary\":t instanceof F.Binary?\"Binary\":t instanceof F.BindingPipe?\"BindingPipe\":t instanceof F.Chain?\"Chain\":t instanceof F.Conditional?\"Conditional\":t instanceof F.EmptyExpr?\"EmptyExpr\":t instanceof F.FunctionCall?\"FunctionCall\":t instanceof F.ImplicitReceiver?\"ImplicitReceiver\":t instanceof F.KeyedRead?\"KeyedRead\":t instanceof F.KeyedWrite?\"KeyedWrite\":t instanceof F.LiteralArray?\"LiteralArray\":t instanceof F.LiteralMap?\"LiteralMap\":t instanceof F.LiteralPrimitive?\"LiteralPrimitive\":t instanceof F.MethodCall?\"MethodCall\":t instanceof F.NonNullAssert?\"NonNullAssert\":t instanceof F.PrefixNot?\"PrefixNot\":t instanceof F.PropertyRead?\"PropertyRead\":t instanceof F.PropertyWrite?\"PropertyWrite\":t instanceof F.Quote?\"Quote\":t instanceof F.SafeMethodCall?\"SafeMethodCall\":t instanceof F.SafePropertyRead?\"SafePropertyRead\":t.type},e.fitSpans=function(t,e,s){let n=0;const r={start:t.start,end:t.end};for(;;){const t=p(r,e),s=u(t,e);if(t.start===s.start&&t.end===s.end)break;r.start=s.start,r.end=s.end,n++}return{hasParens:0!==(s?n-1:n),outerSpan:h(s?{start:r.start+1,end:r.end-1}:r,e),innerSpan:h(t,e)}},e.findFrontChar=function(t,e,s){let n=e;for(;!t.test(s[n]);)if(--n<0)throw new Error(\"Cannot find front char \".concat(t,\" from index \").concat(e,\" in \").concat(JSON.stringify(s)));return n},e.findBackChar=function(t,e,s){let n=e;for(;!t.test(s[n]);)if(++n>=s.length)throw new Error(\"Cannot find back char \".concat(t,\" from index \").concat(e,\" in \").concat(JSON.stringify(s)));return n},e.toLowerCamelCase=function(t){return t.slice(0,1).toLowerCase()+t.slice(1)},e.getLast=function(t){return 0===t.length?void 0:t[t.length-1]}})),mt=r((function(t,e){function s(t,e,s=!1,n=!1){if(!s){const{start:s,end:n}=t;return{start:s,end:n,loc:{start:e.locator.locationForIndex(s),end:e.locator.locationForIndex(n)}}}const{outerSpan:r,innerSpan:i,hasParens:a}=gt.fitSpans(t,e.text,n);return Object.assign({start:i.start,end:i.end,loc:{start:e.locator.locationForIndex(i.start),end:e.locator.locationForIndex(i.end)}},a&&{extra:{parenthesized:!0,parenStart:r.start,parenEnd:r.end}})}Object.defineProperty(e,\"__esModule\",{value:!0}),e.transform=(t,n,r=!1)=>{const i=gt.getNgType(t);switch(i){case\"Unary\":{const{operator:e,expr:s}=t;return c(\"UnaryExpression\",{prefix:!0,argument:a(s),operator:e},t.span,{hasParentParens:r})}case\"Binary\":{const{left:e,operation:s,right:n}=t,i=n.span.start===n.span.end,o=e.span.start===e.span.end;if(i||o){const s=e.span.start===e.span.end?a(n):a(e);return c(\"UnaryExpression\",{prefix:!0,argument:s,operator:i?\"+\":\"-\"},{start:t.span.start,end:x(s)},{hasParentParens:r})}const h=a(e),p=a(n);return c(\"&&\"===s||\"||\"===s?\"LogicalExpression\":\"BinaryExpression\",{left:h,right:p,operator:s},{start:v(h),end:x(p)},{hasParentParens:r})}case\"BindingPipe\":{const{exp:e,name:s,args:n}=t,i=a(e),o=u(/\\S/,u(/\\|/,x(i))+1),h=c(\"Identifier\",{name:s},{start:o,end:o+s.length}),p=n.map(a);return c(\"NGPipeExpression\",{left:i,right:h,arguments:p},{start:v(i),end:x(0===p.length?h:gt.getLast(p))},{hasParentParens:r})}case\"Chain\":{const{expressions:e}=t;return c(\"NGChainedExpression\",{expressions:e.map(a)},t.span,{hasParentParens:r})}case\"Comment\":{const{value:e}=t;return c(\"CommentLine\",{value:e},t.span,{processSpan:!1})}case\"Conditional\":{const{condition:e,trueExp:s,falseExp:n}=t,i=a(e),o=a(s),h=a(n);return c(\"ConditionalExpression\",{test:i,consequent:o,alternate:h},{start:v(i),end:x(h)},{hasParentParens:r})}case\"EmptyExpr\":return c(\"NGEmptyExpression\",{},t.span,{hasParentParens:r});case\"FunctionCall\":{const{target:e,args:s}=t,n=1===s.length?[o(s[0])]:s.map(a),i=a(e);return c(\"CallExpression\",{callee:i,arguments:n},{start:v(i),end:t.span.end},{hasParentParens:r})}case\"ImplicitReceiver\":return c(\"ThisExpression\",{},t.span,{hasParentParens:r});case\"KeyedRead\":{const{obj:e,key:s}=t;return h(e,a(s),{computed:!0,optional:!1},{end:t.span.end,hasParentParens:r})}case\"LiteralArray\":{const{expressions:e}=t;return c(\"ArrayExpression\",{elements:e.map(a)},t.span,{hasParentParens:r})}case\"LiteralMap\":{const{keys:e,values:s}=t,n=s.map((t=>a(t))),i=e.map((({key:e,quoted:s},r)=>{const i=n[r],a={start:u(/\\S/,0===r?t.span.start+1:u(/,/,x(n[r-1]))+1),end:p(/\\S/,p(/:/,v(i)-1)-1)+1},o=s?c(\"StringLiteral\",{value:e},a):c(\"Identifier\",{name:e},a);return c(\"ObjectProperty\",{key:o,value:i,method:!1,shorthand:!1,computed:!1},{start:v(o),end:x(i)})}));return c(\"ObjectExpression\",{properties:i},t.span,{hasParentParens:r})}case\"LiteralPrimitive\":{const{value:e}=t;switch(typeof e){case\"boolean\":return c(\"BooleanLiteral\",{value:e},t.span,{hasParentParens:r});case\"number\":return c(\"NumericLiteral\",{value:e},t.span,{hasParentParens:r});case\"object\":return c(\"NullLiteral\",{},t.span,{hasParentParens:r});case\"string\":return c(\"StringLiteral\",{value:e},t.span,{hasParentParens:r});case\"undefined\":return c(\"Identifier\",{name:\"undefined\"},t.span,{hasParentParens:r});default:throw new Error(\"Unexpected LiteralPrimitive value type \".concat(typeof e))}}case\"MethodCall\":case\"SafeMethodCall\":{const e=\"SafeMethodCall\"===i,{receiver:s,name:n,args:u}=t,l=1===u.length?[o(u[0])]:u.map(a),f=p(/\\S/,p(/\\(/,(0===l.length?p(/\\)/,t.span.end-1):v(l[0]))-1)-1)+1,x=h(s,c(\"Identifier\",{name:n},{start:f-n.length,end:f}),{computed:!1,optional:e}),g=d(x);return c(e||g?\"OptionalCallExpression\":\"CallExpression\",{callee:x,arguments:l},{start:v(x),end:t.span.end},{hasParentParens:r})}case\"NonNullAssert\":{const{expression:e}=t,s=a(e);return c(\"TSNonNullExpression\",{expression:s},{start:v(s),end:t.span.end},{hasParentParens:r})}case\"PrefixNot\":{const{expression:e}=t,s=a(e);return c(\"UnaryExpression\",{prefix:!0,operator:\"!\",argument:s},{start:t.span.start,end:x(s)},{hasParentParens:r})}case\"PropertyRead\":case\"SafePropertyRead\":{const e=\"SafePropertyRead\"===i,{receiver:s,name:n}=t,a=p(/\\S/,t.span.end-1)+1;return h(s,c(\"Identifier\",{name:n},{start:a-n.length,end:a},l(s)?{hasParentParens:r}:{}),{computed:!1,optional:e},{hasParentParens:r})}case\"KeyedWrite\":{const{obj:e,key:s,value:n}=t,i=a(s),o=a(n),p=h(e,i,{computed:!0,optional:!1},{end:u(/\\]/,x(i))+1});return c(\"AssignmentExpression\",{left:p,operator:\"=\",right:o},{start:v(p),end:x(o)},{hasParentParens:r})}case\"PropertyWrite\":{const{receiver:e,name:s,value:n}=t,i=a(n),o=p(/\\S/,p(/=/,v(i)-1)-1)+1,u=h(e,c(\"Identifier\",{name:s},{start:o-s.length,end:o}),{computed:!1,optional:!1});return c(\"AssignmentExpression\",{left:u,operator:\"=\",right:i},{start:v(u),end:x(i)},{hasParentParens:r})}case\"Quote\":{const{prefix:e,uninterpretedExpression:s}=t;return c(\"NGQuotedExpression\",{prefix:e,value:s},t.span,{hasParentParens:r})}default:throw new Error(\"Unexpected node \".concat(i))}function a(t){return e.transform(t,n)}function o(t){return e.transform(t,n,!0)}function c(t,e,r,{processSpan:i=!0,hasParentParens:a=!1}={}){const o=Object.assign(Object.assign({type:t},s(r,n,i,a)),e);switch(t){case\"Identifier\":{const t=o;t.loc.identifierName=t.name;break}case\"NumericLiteral\":{const t=o;t.extra=Object.assign(Object.assign({},t.extra),{raw:n.text.slice(t.start,t.end),rawValue:t.value});break}case\"StringLiteral\":{const t=o;t.extra=Object.assign(Object.assign({},t.extra),{raw:n.text.slice(t.start,t.end),rawValue:t.value});break}}return o}function h(t,e,s,{end:n=x(e),hasParentParens:r=!1}={}){if(l(t))return e;const i=a(t),o=d(i);return c(s.optional||o?\"OptionalMemberExpression\":\"MemberExpression\",Object.assign({object:i,property:e,computed:s.computed},s.optional?{optional:!0}:o?{optional:!1}:null),{start:v(i),end:n},{hasParentParens:r})}function p(t,e){return gt.findFrontChar(t,e,n.text)}function u(t,e){return gt.findBackChar(t,e,n.text)}function l(t){return t.span.start>=t.span.end}function d(t){return(\"OptionalCallExpression\"===t.type||\"OptionalMemberExpression\"===t.type)&&!f(t)}function f(t){return t.extra&&t.extra.parenthesized}function v(t){return f(t)?t.extra.parenStart:t.start}function x(t){return f(t)?t.extra.parenEnd:t.end}},e.transformSpan=s})),yt=r((function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.transformTemplateBindings=function(t,e){t.forEach((function(t){d(t.key.span),l(t)&&t.value&&d(t.value.span)}));const[s]=t,{key:n}=s,r=0===e.text.slice(s.sourceSpan.start,s.sourceSpan.end).trim().length?t.slice(1):t,i=[];let a=null;for(let t=0;tObject.assign(Object.assign({},t),mt.transformSpan({start:t.start,end:s},e)),r=e=>Object.assign(Object.assign({},n(e,t.end)),{alias:t}),a=i.pop();if(\"NGMicrosyntaxExpression\"===a.type)i.push(r(a));else{if(\"NGMicrosyntaxKeyedExpression\"!==a.type)throw new Error(\"Unexpected type \".concat(a.type));{const t=r(a.expression);i.push(n(Object.assign(Object.assign({},a),{expression:t}),t.end))}}}else i.push(o(s,t));a=s}return h(\"NGMicrosyntax\",{body:i},0===i.length?t[0].sourceSpan:{start:i[0].start,end:i[i.length-1].end});function o(t,s){if(u(t)){const{key:e,value:n}=t;return n?0===s?h(\"NGMicrosyntaxExpression\",{expression:c(n.ast),alias:null},n.sourceSpan):h(\"NGMicrosyntaxKeyedExpression\",{key:h(\"NGMicrosyntaxKey\",{name:p(e.source)},e.span),expression:h(\"NGMicrosyntaxExpression\",{expression:c(n.ast),alias:null},n.sourceSpan)},{start:e.span.start,end:n.sourceSpan.end}):h(\"NGMicrosyntaxKey\",{name:p(e.source)},e.span)}{const{key:s,sourceSpan:n}=t;if(/^let\\s$/.test(e.text.slice(n.start,n.start+4))){const{value:e}=t;return h(\"NGMicrosyntaxLet\",{key:h(\"NGMicrosyntaxKey\",{name:s.source},s.span),value:e?h(\"NGMicrosyntaxKey\",{name:e.source},e.span):null},{start:n.start,end:e?e.span.end:s.span.end})}{const n=function(t){if(!t.value||t.value.source!==gt.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX)return t.value;const s=gt.findBackChar(/\\S/,t.sourceSpan.start,e.text);return{source:\"$implicit\",span:{start:s,end:s}}}(t);return h(\"NGMicrosyntaxAs\",{key:h(\"NGMicrosyntaxKey\",{name:n.source},n.span),alias:h(\"NGMicrosyntaxKey\",{name:s.source},s.span)},{start:n.span.start,end:s.span.end})}}}function c(t){return mt.transform(t,e)}function h(t,s,n,r=!0){return Object.assign(Object.assign({type:t},mt.transformSpan(n,e,r)),s)}function p(t){return gt.toLowerCamelCase(t.slice(n.source.length))}function u(t){return t instanceof F.ExpressionBinding}function l(t){return t instanceof F.VariableBinding}function d(t){if('\"'!==e.text[t.start]&&\"'\"!==e.text[t.start])return;const s=e.text[t.start];let n=!1;for(let r=t.start+1;rmt.transform(t,r),a=i(s);return a.comments=n.map(i),a}Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseBinding=function(t){return s(t,gt.parseNgBinding)},e.parseSimpleBinding=function(t){return s(t,gt.parseNgSimpleBinding)},e.parseInterpolation=function(t){return s(t,gt.parseNgInterpolation)},e.parseAction=function(t){return s(t,gt.parseNgAction)},e.parseTemplateBindings=function(t){return yt.transformTemplateBindings(gt.parseNgTemplateBindings(t),new o.Context(t))}}));const{locStart:wt,locEnd:Ct}=n;function Pt(t){return{astFormat:\"estree\",parse:(e,s,n)=>{const r=t(e,St);return{type:\"NGRoot\",node:\"__ng_action\"===n.parser&&\"NGChainedExpression\"!==r.type?Object.assign({},r,{type:\"NGChainedExpression\",expressions:[r]}):r}},locStart:wt,locEnd:Ct}}return{parsers:{__ng_action:Pt(((t,e)=>e.parseAction(t))),__ng_binding:Pt(((t,e)=>e.parseBinding(t))),__ng_interpolation:Pt(((t,e)=>e.parseInterpolation(t))),__ng_directive:Pt(((t,e)=>e.parseTemplateBindings(t)))}}}));\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shouldContinue = void 0;\nconst axios_1 = __importDefault(require(\"axios\"));\nconst fs_extra_1 = require(\"fs-extra\");\nconst path_1 = require(\"path\");\nconst shouldContinue = async () => {\n let [owner, repo] = (process.env.GITHUB_REPOSITORY || \"\").split(\"/\");\n if (`${owner}/${repo}` === \"upptime/upptime\")\n return true;\n try {\n const upptimeDefaultConfig = await axios_1.default.get(\"https://raw.githubusercontent.com/upptime/upptime/master/.upptimerc.yml\");\n const thisRepoConfig = await fs_extra_1.readFile(path_1.join(\".\", \".upptimerc.yml\"), \"utf8\");\n if (upptimeDefaultConfig.data.trim() === thisRepoConfig.trim()) {\n console.log(`\n\n[warn] > UPPTIME WARNING\n[warn] > You should change your Upptime configuration (.upptimerc.yml)\n[warn] > Upptime workflows will NOT work until you've added custom configuration\n\n`);\n return false;\n }\n }\n catch (error) { }\n return true;\n};\nexports.shouldContinue = shouldContinue;\n//# sourceMappingURL=init-check.js.map","'use strict';\nconst escapeStringRegexp = require('escape-string-regexp');\nconst transliterate = require('@sindresorhus/transliterate');\nconst builtinOverridableReplacements = require('./overridable-replacements');\n\nconst decamelize = string => {\n\treturn string\n\t\t// Separate capitalized words.\n\t\t.replace(/([A-Z]{2,})(\\d+)/g, '$1 $2')\n\t\t.replace(/([a-z\\d]+)([A-Z]{2,})/g, '$1 $2')\n\n\t\t.replace(/([a-z\\d])([A-Z])/g, '$1 $2')\n\t\t.replace(/([A-Z]+)([A-Z][a-z\\d]+)/g, '$1 $2');\n};\n\nconst removeMootSeparators = (string, separator) => {\n\tconst escapedSeparator = escapeStringRegexp(separator);\n\n\treturn string\n\t\t.replace(new RegExp(`${escapedSeparator}{2,}`, 'g'), separator)\n\t\t.replace(new RegExp(`^${escapedSeparator}|${escapedSeparator}$`, 'g'), '');\n};\n\nconst slugify = (string, options) => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got \\`${typeof string}\\``);\n\t}\n\n\toptions = {\n\t\tseparator: '-',\n\t\tlowercase: true,\n\t\tdecamelize: true,\n\t\tcustomReplacements: [],\n\t\tpreserveLeadingUnderscore: false,\n\t\t...options\n\t};\n\n\tconst shouldPrependUnderscore = options.preserveLeadingUnderscore && string.startsWith('_');\n\n\tconst customReplacements = new Map([\n\t\t...builtinOverridableReplacements,\n\t\t...options.customReplacements\n\t]);\n\n\tstring = transliterate(string, {customReplacements});\n\n\tif (options.decamelize) {\n\t\tstring = decamelize(string);\n\t}\n\n\tlet patternSlug = /[^a-zA-Z\\d]+/g;\n\n\tif (options.lowercase) {\n\t\tstring = string.toLowerCase();\n\t\tpatternSlug = /[^a-z\\d]+/g;\n\t}\n\n\tstring = string.replace(patternSlug, options.separator);\n\tstring = string.replace(/\\\\/g, '');\n\tif (options.separator) {\n\t\tstring = removeMootSeparators(string, options.separator);\n\t}\n\n\tif (shouldPrependUnderscore) {\n\t\tstring = `_${string}`;\n\t}\n\n\treturn string;\n};\n\nconst counter = () => {\n\tconst occurrences = new Map();\n\n\tconst countable = (string, options) => {\n\t\tstring = slugify(string, options);\n\n\t\tif (!string) {\n\t\t\treturn '';\n\t\t}\n\n\t\tconst stringLower = string.toLowerCase();\n\t\tconst numberless = occurrences.get(stringLower.replace(/(?:-\\d+?)+?$/, '')) || 0;\n\t\tconst counter = occurrences.get(stringLower);\n\t\toccurrences.set(stringLower, typeof counter === 'number' ? counter + 1 : 1);\n\t\tconst newCounter = occurrences.get(stringLower) || 2;\n\t\tif (newCounter >= 2 || numberless > 2) {\n\t\t\tstring = `${string}-${newCounter}`;\n\t\t}\n\n\t\treturn string;\n\t};\n\n\tcountable.reset = () => {\n\t\toccurrences.clear();\n\t};\n\n\treturn countable;\n};\n\nmodule.exports = slugify;\nmodule.exports.counter = counter;\n","'use strict';\n\n\nvar common = require('./common');\n\n\nfunction Mark(name, buffer, position, line, column) {\n this.name = name;\n this.buffer = buffer;\n this.position = position;\n this.line = line;\n this.column = column;\n}\n\n\nMark.prototype.getSnippet = function getSnippet(indent, maxLength) {\n var head, start, tail, end, snippet;\n\n if (!this.buffer) return null;\n\n indent = indent || 4;\n maxLength = maxLength || 75;\n\n head = '';\n start = this.position;\n\n while (start > 0 && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(start - 1)) === -1) {\n start -= 1;\n if (this.position - start > (maxLength / 2 - 1)) {\n head = ' ... ';\n start += 5;\n break;\n }\n }\n\n tail = '';\n end = this.position;\n\n while (end < this.buffer.length && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(end)) === -1) {\n end += 1;\n if (end - this.position > (maxLength / 2 - 1)) {\n tail = ' ... ';\n end -= 5;\n break;\n }\n }\n\n snippet = this.buffer.slice(start, end);\n\n return common.repeat(' ', indent) + head + snippet + tail + '\\n' +\n common.repeat(' ', indent + this.position - start + head.length) + '^';\n};\n\n\nMark.prototype.toString = function toString(compact) {\n var snippet, where = '';\n\n if (this.name) {\n where += 'in \"' + this.name + '\" ';\n }\n\n where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1);\n\n if (!compact) {\n snippet = this.getSnippet();\n\n if (snippet) {\n where += ':\\n' + snippet;\n }\n }\n\n return where;\n};\n\n\nmodule.exports = Mark;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlProtocol = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898fccafc5d6cd04f6235f283cfbd/include/curl/curl.h#L893\r\n// not following Enum name convention here because it feels more natural that way\r\n/**\r\n * Object with the protocols supported by libcurl, as bitmasks.\r\n * Should be used when setting `PROTOCOLS` and `REDIR_PROTOCOLS` options.\r\n *\r\n * `CURLPROTO_HTTP` becomes `CurlProtocol.HTTP`\r\n *\r\n * @public\r\n */\r\nvar CurlProtocol;\r\n(function (CurlProtocol) {\r\n CurlProtocol[CurlProtocol[\"HTTP\"] = 1] = \"HTTP\";\r\n CurlProtocol[CurlProtocol[\"HTTPS\"] = 2] = \"HTTPS\";\r\n CurlProtocol[CurlProtocol[\"FTP\"] = 4] = \"FTP\";\r\n CurlProtocol[CurlProtocol[\"FTPS\"] = 8] = \"FTPS\";\r\n CurlProtocol[CurlProtocol[\"SCP\"] = 16] = \"SCP\";\r\n CurlProtocol[CurlProtocol[\"SFTP\"] = 32] = \"SFTP\";\r\n CurlProtocol[CurlProtocol[\"TELNET\"] = 64] = \"TELNET\";\r\n CurlProtocol[CurlProtocol[\"LDAP\"] = 128] = \"LDAP\";\r\n CurlProtocol[CurlProtocol[\"LDAPS\"] = 256] = \"LDAPS\";\r\n CurlProtocol[CurlProtocol[\"DICT\"] = 512] = \"DICT\";\r\n CurlProtocol[CurlProtocol[\"FILE\"] = 1024] = \"FILE\";\r\n CurlProtocol[CurlProtocol[\"TFTP\"] = 2048] = \"TFTP\";\r\n CurlProtocol[CurlProtocol[\"IMAP\"] = 4096] = \"IMAP\";\r\n CurlProtocol[CurlProtocol[\"IMAPS\"] = 8192] = \"IMAPS\";\r\n CurlProtocol[CurlProtocol[\"POP3\"] = 16384] = \"POP3\";\r\n CurlProtocol[CurlProtocol[\"POP3S\"] = 32768] = \"POP3S\";\r\n CurlProtocol[CurlProtocol[\"SMTP\"] = 65536] = \"SMTP\";\r\n CurlProtocol[CurlProtocol[\"SMTPS\"] = 131072] = \"SMTPS\";\r\n CurlProtocol[CurlProtocol[\"RTSP\"] = 262144] = \"RTSP\";\r\n CurlProtocol[CurlProtocol[\"RTMP\"] = 524288] = \"RTMP\";\r\n CurlProtocol[CurlProtocol[\"RTMPT\"] = 1048576] = \"RTMPT\";\r\n CurlProtocol[CurlProtocol[\"RTMPE\"] = 2097152] = \"RTMPE\";\r\n CurlProtocol[CurlProtocol[\"RTMPTE\"] = 4194304] = \"RTMPTE\";\r\n CurlProtocol[CurlProtocol[\"RTMPS\"] = 8388608] = \"RTMPS\";\r\n CurlProtocol[CurlProtocol[\"RTMPTS\"] = 16777216] = \"RTMPTS\";\r\n CurlProtocol[CurlProtocol[\"GOPHER\"] = 33554432] = \"GOPHER\";\r\n CurlProtocol[CurlProtocol[\"SMB\"] = 67108864] = \"SMB\";\r\n CurlProtocol[CurlProtocol[\"SMBS\"] = 134217728] = \"SMBS\";\r\n CurlProtocol[CurlProtocol[\"ALL\"] = -1] = \"ALL\";\r\n})(CurlProtocol = exports.CurlProtocol || (exports.CurlProtocol = {}));\r\n//# sourceMappingURL=CurlProtocol.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlTimeCond = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L2058\r\n/**\r\n * Object with constants for option `TIMECONDITION`\r\n *\r\n * `CURL_TIMECOND_IFMODSINCE` becomes `CurlTimeCond.IfModSince`\r\n *\r\n * @public\r\n */\r\nvar CurlTimeCond;\r\n(function (CurlTimeCond) {\r\n CurlTimeCond[CurlTimeCond[\"None\"] = 0] = \"None\";\r\n CurlTimeCond[CurlTimeCond[\"IfModSince\"] = 1] = \"IfModSince\";\r\n CurlTimeCond[CurlTimeCond[\"IfUnmodSince\"] = 2] = \"IfUnmodSince\";\r\n CurlTimeCond[CurlTimeCond[\"LastMod\"] = 3] = \"LastMod\";\r\n})(CurlTimeCond = exports.CurlTimeCond || (exports.CurlTimeCond = {}));\r\n//# sourceMappingURL=CurlTimeCond.js.map","// see dirs.js\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n var mod = stat.mode\n var uid = stat.uid\n var gid = stat.gid\n\n var myUid = options.uid !== undefined ?\n options.uid : process.getuid && process.getuid()\n var myGid = options.gid !== undefined ?\n options.gid : process.getgid && process.getgid()\n\n var u = parseInt('100', 8)\n var g = parseInt('010', 8)\n var o = parseInt('001', 8)\n var ug = u | g\n\n var ret = (mod & o) ||\n (mod & g) && gid === myGid ||\n (mod & u) && uid === myUid ||\n (mod & ug) && myUid === 0\n\n return ret\n}\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('grep', _grep, {\n globStart: 2, // don't glob-expand the regex\n canReceivePipe: true,\n cmdOptions: {\n 'v': 'inverse',\n 'l': 'nameOnly',\n 'i': 'ignoreCase',\n },\n});\n\n//@\n//@ ### grep([options,] regex_filter, file [, file ...])\n//@ ### grep([options,] regex_filter, file_array)\n//@\n//@ Available options:\n//@\n//@ + `-v`: Invert `regex_filter` (only print non-matching lines).\n//@ + `-l`: Print only filenames of matching files.\n//@ + `-i`: Ignore case.\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ grep('-v', 'GLOBAL_VARIABLE', '*.js');\n//@ grep('GLOBAL_VARIABLE', '*.js');\n//@ ```\n//@\n//@ Reads input string from given files and returns a string containing all lines of the\n//@ file that match the given `regex_filter`.\nfunction _grep(options, regex, files) {\n // Check if this is coming from a pipe\n var pipe = common.readFromPipe();\n\n if (!files && !pipe) common.error('no paths given', 2);\n\n files = [].slice.call(arguments, 2);\n\n if (pipe) {\n files.unshift('-');\n }\n\n var grep = [];\n if (options.ignoreCase) {\n regex = new RegExp(regex, 'i');\n }\n files.forEach(function (file) {\n if (!fs.existsSync(file) && file !== '-') {\n common.error('no such file or directory: ' + file, 2, { continue: true });\n return;\n }\n\n var contents = file === '-' ? pipe : fs.readFileSync(file, 'utf8');\n if (options.nameOnly) {\n if (contents.match(regex)) {\n grep.push(file);\n }\n } else {\n var lines = contents.split('\\n');\n lines.forEach(function (line) {\n var matched = line.match(regex);\n if ((options.inverse && !matched) || (!options.inverse && matched)) {\n grep.push(line);\n }\n });\n }\n });\n\n return grep.join('\\n') + '\\n';\n}\nmodule.exports = _grep;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlHttpVersion = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be825453/include/curl/curl.h#L1964\r\n/**\r\n * Object with constants to be used with the `HTTP_VERSION` option.\r\n *\r\n * `CURL_HTTP_VERSION_NONE` becomes `CurlHttpVersion.None`\r\n * and `CURL_HTTP_VERSION_1_0` becomes `CurlHttpVersion.V1_0`\r\n *\r\n * @public\r\n */\r\nvar CurlHttpVersion;\r\n(function (CurlHttpVersion) {\r\n /**\r\n * Setting this means we don't care, and that we'd\r\n * like the library to choose the best possible\r\n * for us!\r\n */\r\n CurlHttpVersion[CurlHttpVersion[\"None\"] = 0] = \"None\";\r\n CurlHttpVersion[CurlHttpVersion[\"V1_0\"] = 1] = \"V1_0\";\r\n CurlHttpVersion[CurlHttpVersion[\"V1_1\"] = 2] = \"V1_1\";\r\n CurlHttpVersion[CurlHttpVersion[\"V2_0\"] = 3] = \"V2_0\";\r\n /**\r\n * Use version 2 for HTTPS, version 1.1 for HTTP\r\n */\r\n CurlHttpVersion[CurlHttpVersion[\"V2Tls\"] = 4] = \"V2Tls\";\r\n /**\r\n * Use HTTP 2 without HTTP/1.1 Upgrade\r\n */\r\n CurlHttpVersion[CurlHttpVersion[\"V2PriorKnowledge\"] = 5] = \"V2PriorKnowledge\";\r\n CurlHttpVersion[CurlHttpVersion[\"v3\"] = 6] = \"v3\";\r\n})(CurlHttpVersion = exports.CurlHttpVersion || (exports.CurlHttpVersion = {}));\r\n//# sourceMappingURL=CurlHttpVersion.js.map","module.exports = require(\"https\");","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlProxy = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898f/include/curl/curl.h#L692\r\n/**\r\n * Object with constants for option `PROXYTYPE`\r\n *\r\n * `CURLPROXY_HTTP` becomes `CurlProxy.Http`\r\n *\r\n * @public\r\n */\r\nvar CurlProxy;\r\n(function (CurlProxy) {\r\n CurlProxy[CurlProxy[\"Http\"] = 0] = \"Http\";\r\n CurlProxy[CurlProxy[\"Http_1_0\"] = 1] = \"Http_1_0\";\r\n CurlProxy[CurlProxy[\"Https\"] = 2] = \"Https\";\r\n CurlProxy[CurlProxy[\"Socks4\"] = 4] = \"Socks4\";\r\n CurlProxy[CurlProxy[\"Socks5\"] = 5] = \"Socks5\";\r\n CurlProxy[CurlProxy[\"Socks4A\"] = 6] = \"Socks4A\";\r\n CurlProxy[CurlProxy[\"Socks5Hostname\"] = 7] = \"Socks5Hostname\";\r\n})(CurlProxy = exports.CurlProxy || (exports.CurlProxy = {}));\r\n//# sourceMappingURL=CurlProxy.js.map","module.exports = require(\"punycode\");","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sendNotification = void 0;\nconst axios_1 = __importDefault(require(\"axios\"));\nconst nodemailer_1 = __importDefault(require(\"nodemailer\"));\nconst sendNotification = async (config, text) => {\n console.log(\"[debug] Sending notification\", text);\n console.log(`[debug] Notification config has ${(config.notifications || []).length} keys`);\n for await (const notification of config.notifications || []) {\n if (notification.type === \"slack\") {\n console.log(\"[debug] Sending Slack notification to channel\", notification.channel);\n const token = process.env.SLACK_APP_ACCESS_TOKEN;\n if (token) {\n const { data } = await axios_1.default.post(\"https://slack.com/api/chat.postMessage\", { channel: notification.channel, text }, { headers: { Authorization: `Bearer ${process.env.SLACK_BOT_ACCESS_TOKEN}` } });\n console.log(\"[debug] Slack response\", data);\n }\n console.log(\"[debug] Slack token found?\", !!token);\n }\n else if (notification.type === \"discord\") {\n console.log(\"[debug] Sending Discord notification\");\n const webhookUrl = process.env.DISCORD_WEBHOOK_URL;\n if (webhookUrl)\n await axios_1.default.post(webhookUrl, { content: text });\n }\n else if (notification.type === \"email\") {\n console.log(\"[debug] Sending email notification\");\n const transporter = nodemailer_1.default.createTransport({\n host: process.env.NOTIFICATION_SMTP_HOST,\n port: process.env.NOTIFICATION_SMTP_PORT || 587,\n secure: !!process.env.NOTIFICATION_SMTP_SECURE,\n auth: {\n user: process.env.NOTIFICATION_SMTP_USER,\n pass: process.env.NOTIFICATION_SMTP_PASSWORD,\n },\n });\n await transporter.sendMail({\n from: process.env.NOTIFICATION_SMTP_USER,\n to: process.env.NOTIFICATION_EMAIL || process.env.NOTIFICATION_SMTP_USER,\n subject: text,\n text: text,\n html: `

${text}

`,\n });\n console.log(\"[debug] Sent notification\");\n }\n else {\n console.log(\"This notification type is not supported:\", notification.type);\n }\n }\n console.log(\"[debug] Notifications are sent\");\n};\nexports.sendNotification = sendNotification;\n//# sourceMappingURL=notifications.js.map","var path = require('path');\nvar common = require('./common');\nvar _ls = require('./ls');\n\ncommon.register('find', _find, {});\n\n//@\n//@ ### find(path [, path ...])\n//@ ### find(path_array)\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ find('src', 'lib');\n//@ find(['src', 'lib']); // same as above\n//@ find('.').filter(function(file) { return file.match(/\\.js$/); });\n//@ ```\n//@\n//@ Returns array of all files (however deep) in the given paths.\n//@\n//@ The main difference from `ls('-R', path)` is that the resulting file names\n//@ include the base directories (e.g., `lib/resources/file1` instead of just `file1`).\nfunction _find(options, paths) {\n if (!paths) {\n common.error('no path specified');\n } else if (typeof paths === 'string') {\n paths = [].slice.call(arguments, 1);\n }\n\n var list = [];\n\n function pushFile(file) {\n if (process.platform === 'win32') {\n file = file.replace(/\\\\/g, '/');\n }\n list.push(file);\n }\n\n // why not simply do `ls('-R', paths)`? because the output wouldn't give the base dirs\n // to get the base dir in the output, we need instead `ls('-R', 'dir/*')` for every directory\n\n paths.forEach(function (file) {\n var stat;\n try {\n stat = common.statFollowLinks(file);\n } catch (e) {\n common.error('no such file or directory: ' + file);\n }\n\n pushFile(file);\n\n if (stat.isDirectory()) {\n _ls({ recursive: true, all: true }, file).forEach(function (subfile) {\n pushFile(path.join(file, subfile));\n });\n }\n });\n\n return list;\n}\nmodule.exports = _find;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict'\n\nmodule.exports = {\n // Export promiseified graceful-fs:\n ...require('./fs'),\n // Export extra methods:\n ...require('./copy-sync'),\n ...require('./copy'),\n ...require('./empty'),\n ...require('./ensure'),\n ...require('./json'),\n ...require('./mkdirs'),\n ...require('./move-sync'),\n ...require('./move'),\n ...require('./output'),\n ...require('./path-exists'),\n ...require('./remove')\n}\n\n// Export fs.promises as a getter property so that we don't trigger\n// ExperimentalWarning before fs.promises is actually accessed.\nconst fs = require('fs')\nif (Object.getOwnPropertyDescriptor(fs, 'promises')) {\n Object.defineProperty(module.exports, 'promises', {\n get () { return fs.promises }\n })\n}\n","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlBoolean(data) {\n if (data === null) return false;\n\n var max = data.length;\n\n return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) ||\n (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'));\n}\n\nfunction constructYamlBoolean(data) {\n return data === 'true' ||\n data === 'True' ||\n data === 'TRUE';\n}\n\nfunction isBoolean(object) {\n return Object.prototype.toString.call(object) === '[object Boolean]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:bool', {\n kind: 'scalar',\n resolve: resolveYamlBoolean,\n construct: constructYamlBoolean,\n predicate: isBoolean,\n represent: {\n lowercase: function (object) { return object ? 'true' : 'false'; },\n uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; },\n camelcase: function (object) { return object ? 'True' : 'False'; }\n },\n defaultStyle: 'lowercase'\n});\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):((e=\"undefined\"!=typeof globalThis?globalThis:e||self).prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.markdown=t())}(this,(function(){\"use strict\";var e=function(){for(var e={},r=0;rt)return{line:r+1,column:t-(e[r-1]||0)+1,offset:t};return{}}}function D(e){return function(t){var r=t&&t.line,n=t&&t.column;if(!isNaN(r)&&!isNaN(n)&&r-1 in e)return(e[r-2]||0)+n-1||0;return-1}}var p=function(e,t){return function(r){var n,u=0,i=r.indexOf(d),o=e[t],a=[];for(;-1!==i;)a.push(r.slice(u,i)),u=i+1,(n=r.charAt(u))&&-1!==o.indexOf(n)||a.push(d),i=r.indexOf(d,u+1);return a.push(r.slice(u)),a.join(\"\")}},d=\"\\\\\";var h={AElig:\"\\xc6\",AMP:\"&\",Aacute:\"\\xc1\",Acirc:\"\\xc2\",Agrave:\"\\xc0\",Aring:\"\\xc5\",Atilde:\"\\xc3\",Auml:\"\\xc4\",COPY:\"\\xa9\",Ccedil:\"\\xc7\",ETH:\"\\xd0\",Eacute:\"\\xc9\",Ecirc:\"\\xca\",Egrave:\"\\xc8\",Euml:\"\\xcb\",GT:\">\",Iacute:\"\\xcd\",Icirc:\"\\xce\",Igrave:\"\\xcc\",Iuml:\"\\xcf\",LT:\"<\",Ntilde:\"\\xd1\",Oacute:\"\\xd3\",Ocirc:\"\\xd4\",Ograve:\"\\xd2\",Oslash:\"\\xd8\",Otilde:\"\\xd5\",Ouml:\"\\xd6\",QUOT:'\"',REG:\"\\xae\",THORN:\"\\xde\",Uacute:\"\\xda\",Ucirc:\"\\xdb\",Ugrave:\"\\xd9\",Uuml:\"\\xdc\",Yacute:\"\\xdd\",aacute:\"\\xe1\",acirc:\"\\xe2\",acute:\"\\xb4\",aelig:\"\\xe6\",agrave:\"\\xe0\",amp:\"&\",aring:\"\\xe5\",atilde:\"\\xe3\",auml:\"\\xe4\",brvbar:\"\\xa6\",ccedil:\"\\xe7\",cedil:\"\\xb8\",cent:\"\\xa2\",copy:\"\\xa9\",curren:\"\\xa4\",deg:\"\\xb0\",divide:\"\\xf7\",eacute:\"\\xe9\",ecirc:\"\\xea\",egrave:\"\\xe8\",eth:\"\\xf0\",euml:\"\\xeb\",frac12:\"\\xbd\",frac14:\"\\xbc\",frac34:\"\\xbe\",gt:\">\",iacute:\"\\xed\",icirc:\"\\xee\",iexcl:\"\\xa1\",igrave:\"\\xec\",iquest:\"\\xbf\",iuml:\"\\xef\",laquo:\"\\xab\",lt:\"<\",macr:\"\\xaf\",micro:\"\\xb5\",middot:\"\\xb7\",nbsp:\"\\xa0\",not:\"\\xac\",ntilde:\"\\xf1\",oacute:\"\\xf3\",ocirc:\"\\xf4\",ograve:\"\\xf2\",ordf:\"\\xaa\",ordm:\"\\xba\",oslash:\"\\xf8\",otilde:\"\\xf5\",ouml:\"\\xf6\",para:\"\\xb6\",plusmn:\"\\xb1\",pound:\"\\xa3\",quot:'\"',raquo:\"\\xbb\",reg:\"\\xae\",sect:\"\\xa7\",shy:\"\\xad\",sup1:\"\\xb9\",sup2:\"\\xb2\",sup3:\"\\xb3\",szlig:\"\\xdf\",thorn:\"\\xfe\",times:\"\\xd7\",uacute:\"\\xfa\",ucirc:\"\\xfb\",ugrave:\"\\xf9\",uml:\"\\xa8\",uuml:\"\\xfc\",yacute:\"\\xfd\",yen:\"\\xa5\",yuml:\"\\xff\"},g={0:\"\\ufffd\",128:\"\\u20ac\",130:\"\\u201a\",131:\"\\u0192\",132:\"\\u201e\",133:\"\\u2026\",134:\"\\u2020\",135:\"\\u2021\",136:\"\\u02c6\",137:\"\\u2030\",138:\"\\u0160\",139:\"\\u2039\",140:\"\\u0152\",142:\"\\u017d\",145:\"\\u2018\",146:\"\\u2019\",147:\"\\u201c\",148:\"\\u201d\",149:\"\\u2022\",150:\"\\u2013\",151:\"\\u2014\",152:\"\\u02dc\",153:\"\\u2122\",154:\"\\u0161\",155:\"\\u203a\",156:\"\\u0153\",158:\"\\u017e\",159:\"\\u0178\"},m=function(e){var t=\"string\"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57};var E=function(e){var t=\"string\"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57};var C=function(e){var t=\"string\"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90};var b=function(e){return C(e)||m(e)};var v={AEli:\"\\xc6\",AElig:\"\\xc6\",AM:\"&\",AMP:\"&\",Aacut:\"\\xc1\",Aacute:\"\\xc1\",Abreve:\"\\u0102\",Acir:\"\\xc2\",Acirc:\"\\xc2\",Acy:\"\\u0410\",Afr:\"\\ud835\\udd04\",Agrav:\"\\xc0\",Agrave:\"\\xc0\",Alpha:\"\\u0391\",Amacr:\"\\u0100\",And:\"\\u2a53\",Aogon:\"\\u0104\",Aopf:\"\\ud835\\udd38\",ApplyFunction:\"\\u2061\",Arin:\"\\xc5\",Aring:\"\\xc5\",Ascr:\"\\ud835\\udc9c\",Assign:\"\\u2254\",Atild:\"\\xc3\",Atilde:\"\\xc3\",Aum:\"\\xc4\",Auml:\"\\xc4\",Backslash:\"\\u2216\",Barv:\"\\u2ae7\",Barwed:\"\\u2306\",Bcy:\"\\u0411\",Because:\"\\u2235\",Bernoullis:\"\\u212c\",Beta:\"\\u0392\",Bfr:\"\\ud835\\udd05\",Bopf:\"\\ud835\\udd39\",Breve:\"\\u02d8\",Bscr:\"\\u212c\",Bumpeq:\"\\u224e\",CHcy:\"\\u0427\",COP:\"\\xa9\",COPY:\"\\xa9\",Cacute:\"\\u0106\",Cap:\"\\u22d2\",CapitalDifferentialD:\"\\u2145\",Cayleys:\"\\u212d\",Ccaron:\"\\u010c\",Ccedi:\"\\xc7\",Ccedil:\"\\xc7\",Ccirc:\"\\u0108\",Cconint:\"\\u2230\",Cdot:\"\\u010a\",Cedilla:\"\\xb8\",CenterDot:\"\\xb7\",Cfr:\"\\u212d\",Chi:\"\\u03a7\",CircleDot:\"\\u2299\",CircleMinus:\"\\u2296\",CirclePlus:\"\\u2295\",CircleTimes:\"\\u2297\",ClockwiseContourIntegral:\"\\u2232\",CloseCurlyDoubleQuote:\"\\u201d\",CloseCurlyQuote:\"\\u2019\",Colon:\"\\u2237\",Colone:\"\\u2a74\",Congruent:\"\\u2261\",Conint:\"\\u222f\",ContourIntegral:\"\\u222e\",Copf:\"\\u2102\",Coproduct:\"\\u2210\",CounterClockwiseContourIntegral:\"\\u2233\",Cross:\"\\u2a2f\",Cscr:\"\\ud835\\udc9e\",Cup:\"\\u22d3\",CupCap:\"\\u224d\",DD:\"\\u2145\",DDotrahd:\"\\u2911\",DJcy:\"\\u0402\",DScy:\"\\u0405\",DZcy:\"\\u040f\",Dagger:\"\\u2021\",Darr:\"\\u21a1\",Dashv:\"\\u2ae4\",Dcaron:\"\\u010e\",Dcy:\"\\u0414\",Del:\"\\u2207\",Delta:\"\\u0394\",Dfr:\"\\ud835\\udd07\",DiacriticalAcute:\"\\xb4\",DiacriticalDot:\"\\u02d9\",DiacriticalDoubleAcute:\"\\u02dd\",DiacriticalGrave:\"`\",DiacriticalTilde:\"\\u02dc\",Diamond:\"\\u22c4\",DifferentialD:\"\\u2146\",Dopf:\"\\ud835\\udd3b\",Dot:\"\\xa8\",DotDot:\"\\u20dc\",DotEqual:\"\\u2250\",DoubleContourIntegral:\"\\u222f\",DoubleDot:\"\\xa8\",DoubleDownArrow:\"\\u21d3\",DoubleLeftArrow:\"\\u21d0\",DoubleLeftRightArrow:\"\\u21d4\",DoubleLeftTee:\"\\u2ae4\",DoubleLongLeftArrow:\"\\u27f8\",DoubleLongLeftRightArrow:\"\\u27fa\",DoubleLongRightArrow:\"\\u27f9\",DoubleRightArrow:\"\\u21d2\",DoubleRightTee:\"\\u22a8\",DoubleUpArrow:\"\\u21d1\",DoubleUpDownArrow:\"\\u21d5\",DoubleVerticalBar:\"\\u2225\",DownArrow:\"\\u2193\",DownArrowBar:\"\\u2913\",DownArrowUpArrow:\"\\u21f5\",DownBreve:\"\\u0311\",DownLeftRightVector:\"\\u2950\",DownLeftTeeVector:\"\\u295e\",DownLeftVector:\"\\u21bd\",DownLeftVectorBar:\"\\u2956\",DownRightTeeVector:\"\\u295f\",DownRightVector:\"\\u21c1\",DownRightVectorBar:\"\\u2957\",DownTee:\"\\u22a4\",DownTeeArrow:\"\\u21a7\",Downarrow:\"\\u21d3\",Dscr:\"\\ud835\\udc9f\",Dstrok:\"\\u0110\",ENG:\"\\u014a\",ET:\"\\xd0\",ETH:\"\\xd0\",Eacut:\"\\xc9\",Eacute:\"\\xc9\",Ecaron:\"\\u011a\",Ecir:\"\\xca\",Ecirc:\"\\xca\",Ecy:\"\\u042d\",Edot:\"\\u0116\",Efr:\"\\ud835\\udd08\",Egrav:\"\\xc8\",Egrave:\"\\xc8\",Element:\"\\u2208\",Emacr:\"\\u0112\",EmptySmallSquare:\"\\u25fb\",EmptyVerySmallSquare:\"\\u25ab\",Eogon:\"\\u0118\",Eopf:\"\\ud835\\udd3c\",Epsilon:\"\\u0395\",Equal:\"\\u2a75\",EqualTilde:\"\\u2242\",Equilibrium:\"\\u21cc\",Escr:\"\\u2130\",Esim:\"\\u2a73\",Eta:\"\\u0397\",Eum:\"\\xcb\",Euml:\"\\xcb\",Exists:\"\\u2203\",ExponentialE:\"\\u2147\",Fcy:\"\\u0424\",Ffr:\"\\ud835\\udd09\",FilledSmallSquare:\"\\u25fc\",FilledVerySmallSquare:\"\\u25aa\",Fopf:\"\\ud835\\udd3d\",ForAll:\"\\u2200\",Fouriertrf:\"\\u2131\",Fscr:\"\\u2131\",GJcy:\"\\u0403\",G:\">\",GT:\">\",Gamma:\"\\u0393\",Gammad:\"\\u03dc\",Gbreve:\"\\u011e\",Gcedil:\"\\u0122\",Gcirc:\"\\u011c\",Gcy:\"\\u0413\",Gdot:\"\\u0120\",Gfr:\"\\ud835\\udd0a\",Gg:\"\\u22d9\",Gopf:\"\\ud835\\udd3e\",GreaterEqual:\"\\u2265\",GreaterEqualLess:\"\\u22db\",GreaterFullEqual:\"\\u2267\",GreaterGreater:\"\\u2aa2\",GreaterLess:\"\\u2277\",GreaterSlantEqual:\"\\u2a7e\",GreaterTilde:\"\\u2273\",Gscr:\"\\ud835\\udca2\",Gt:\"\\u226b\",HARDcy:\"\\u042a\",Hacek:\"\\u02c7\",Hat:\"^\",Hcirc:\"\\u0124\",Hfr:\"\\u210c\",HilbertSpace:\"\\u210b\",Hopf:\"\\u210d\",HorizontalLine:\"\\u2500\",Hscr:\"\\u210b\",Hstrok:\"\\u0126\",HumpDownHump:\"\\u224e\",HumpEqual:\"\\u224f\",IEcy:\"\\u0415\",IJlig:\"\\u0132\",IOcy:\"\\u0401\",Iacut:\"\\xcd\",Iacute:\"\\xcd\",Icir:\"\\xce\",Icirc:\"\\xce\",Icy:\"\\u0418\",Idot:\"\\u0130\",Ifr:\"\\u2111\",Igrav:\"\\xcc\",Igrave:\"\\xcc\",Im:\"\\u2111\",Imacr:\"\\u012a\",ImaginaryI:\"\\u2148\",Implies:\"\\u21d2\",Int:\"\\u222c\",Integral:\"\\u222b\",Intersection:\"\\u22c2\",InvisibleComma:\"\\u2063\",InvisibleTimes:\"\\u2062\",Iogon:\"\\u012e\",Iopf:\"\\ud835\\udd40\",Iota:\"\\u0399\",Iscr:\"\\u2110\",Itilde:\"\\u0128\",Iukcy:\"\\u0406\",Ium:\"\\xcf\",Iuml:\"\\xcf\",Jcirc:\"\\u0134\",Jcy:\"\\u0419\",Jfr:\"\\ud835\\udd0d\",Jopf:\"\\ud835\\udd41\",Jscr:\"\\ud835\\udca5\",Jsercy:\"\\u0408\",Jukcy:\"\\u0404\",KHcy:\"\\u0425\",KJcy:\"\\u040c\",Kappa:\"\\u039a\",Kcedil:\"\\u0136\",Kcy:\"\\u041a\",Kfr:\"\\ud835\\udd0e\",Kopf:\"\\ud835\\udd42\",Kscr:\"\\ud835\\udca6\",LJcy:\"\\u0409\",L:\"<\",LT:\"<\",Lacute:\"\\u0139\",Lambda:\"\\u039b\",Lang:\"\\u27ea\",Laplacetrf:\"\\u2112\",Larr:\"\\u219e\",Lcaron:\"\\u013d\",Lcedil:\"\\u013b\",Lcy:\"\\u041b\",LeftAngleBracket:\"\\u27e8\",LeftArrow:\"\\u2190\",LeftArrowBar:\"\\u21e4\",LeftArrowRightArrow:\"\\u21c6\",LeftCeiling:\"\\u2308\",LeftDoubleBracket:\"\\u27e6\",LeftDownTeeVector:\"\\u2961\",LeftDownVector:\"\\u21c3\",LeftDownVectorBar:\"\\u2959\",LeftFloor:\"\\u230a\",LeftRightArrow:\"\\u2194\",LeftRightVector:\"\\u294e\",LeftTee:\"\\u22a3\",LeftTeeArrow:\"\\u21a4\",LeftTeeVector:\"\\u295a\",LeftTriangle:\"\\u22b2\",LeftTriangleBar:\"\\u29cf\",LeftTriangleEqual:\"\\u22b4\",LeftUpDownVector:\"\\u2951\",LeftUpTeeVector:\"\\u2960\",LeftUpVector:\"\\u21bf\",LeftUpVectorBar:\"\\u2958\",LeftVector:\"\\u21bc\",LeftVectorBar:\"\\u2952\",Leftarrow:\"\\u21d0\",Leftrightarrow:\"\\u21d4\",LessEqualGreater:\"\\u22da\",LessFullEqual:\"\\u2266\",LessGreater:\"\\u2276\",LessLess:\"\\u2aa1\",LessSlantEqual:\"\\u2a7d\",LessTilde:\"\\u2272\",Lfr:\"\\ud835\\udd0f\",Ll:\"\\u22d8\",Lleftarrow:\"\\u21da\",Lmidot:\"\\u013f\",LongLeftArrow:\"\\u27f5\",LongLeftRightArrow:\"\\u27f7\",LongRightArrow:\"\\u27f6\",Longleftarrow:\"\\u27f8\",Longleftrightarrow:\"\\u27fa\",Longrightarrow:\"\\u27f9\",Lopf:\"\\ud835\\udd43\",LowerLeftArrow:\"\\u2199\",LowerRightArrow:\"\\u2198\",Lscr:\"\\u2112\",Lsh:\"\\u21b0\",Lstrok:\"\\u0141\",Lt:\"\\u226a\",Map:\"\\u2905\",Mcy:\"\\u041c\",MediumSpace:\"\\u205f\",Mellintrf:\"\\u2133\",Mfr:\"\\ud835\\udd10\",MinusPlus:\"\\u2213\",Mopf:\"\\ud835\\udd44\",Mscr:\"\\u2133\",Mu:\"\\u039c\",NJcy:\"\\u040a\",Nacute:\"\\u0143\",Ncaron:\"\\u0147\",Ncedil:\"\\u0145\",Ncy:\"\\u041d\",NegativeMediumSpace:\"\\u200b\",NegativeThickSpace:\"\\u200b\",NegativeThinSpace:\"\\u200b\",NegativeVeryThinSpace:\"\\u200b\",NestedGreaterGreater:\"\\u226b\",NestedLessLess:\"\\u226a\",NewLine:\"\\n\",Nfr:\"\\ud835\\udd11\",NoBreak:\"\\u2060\",NonBreakingSpace:\"\\xa0\",Nopf:\"\\u2115\",Not:\"\\u2aec\",NotCongruent:\"\\u2262\",NotCupCap:\"\\u226d\",NotDoubleVerticalBar:\"\\u2226\",NotElement:\"\\u2209\",NotEqual:\"\\u2260\",NotEqualTilde:\"\\u2242\\u0338\",NotExists:\"\\u2204\",NotGreater:\"\\u226f\",NotGreaterEqual:\"\\u2271\",NotGreaterFullEqual:\"\\u2267\\u0338\",NotGreaterGreater:\"\\u226b\\u0338\",NotGreaterLess:\"\\u2279\",NotGreaterSlantEqual:\"\\u2a7e\\u0338\",NotGreaterTilde:\"\\u2275\",NotHumpDownHump:\"\\u224e\\u0338\",NotHumpEqual:\"\\u224f\\u0338\",NotLeftTriangle:\"\\u22ea\",NotLeftTriangleBar:\"\\u29cf\\u0338\",NotLeftTriangleEqual:\"\\u22ec\",NotLess:\"\\u226e\",NotLessEqual:\"\\u2270\",NotLessGreater:\"\\u2278\",NotLessLess:\"\\u226a\\u0338\",NotLessSlantEqual:\"\\u2a7d\\u0338\",NotLessTilde:\"\\u2274\",NotNestedGreaterGreater:\"\\u2aa2\\u0338\",NotNestedLessLess:\"\\u2aa1\\u0338\",NotPrecedes:\"\\u2280\",NotPrecedesEqual:\"\\u2aaf\\u0338\",NotPrecedesSlantEqual:\"\\u22e0\",NotReverseElement:\"\\u220c\",NotRightTriangle:\"\\u22eb\",NotRightTriangleBar:\"\\u29d0\\u0338\",NotRightTriangleEqual:\"\\u22ed\",NotSquareSubset:\"\\u228f\\u0338\",NotSquareSubsetEqual:\"\\u22e2\",NotSquareSuperset:\"\\u2290\\u0338\",NotSquareSupersetEqual:\"\\u22e3\",NotSubset:\"\\u2282\\u20d2\",NotSubsetEqual:\"\\u2288\",NotSucceeds:\"\\u2281\",NotSucceedsEqual:\"\\u2ab0\\u0338\",NotSucceedsSlantEqual:\"\\u22e1\",NotSucceedsTilde:\"\\u227f\\u0338\",NotSuperset:\"\\u2283\\u20d2\",NotSupersetEqual:\"\\u2289\",NotTilde:\"\\u2241\",NotTildeEqual:\"\\u2244\",NotTildeFullEqual:\"\\u2247\",NotTildeTilde:\"\\u2249\",NotVerticalBar:\"\\u2224\",Nscr:\"\\ud835\\udca9\",Ntild:\"\\xd1\",Ntilde:\"\\xd1\",Nu:\"\\u039d\",OElig:\"\\u0152\",Oacut:\"\\xd3\",Oacute:\"\\xd3\",Ocir:\"\\xd4\",Ocirc:\"\\xd4\",Ocy:\"\\u041e\",Odblac:\"\\u0150\",Ofr:\"\\ud835\\udd12\",Ograv:\"\\xd2\",Ograve:\"\\xd2\",Omacr:\"\\u014c\",Omega:\"\\u03a9\",Omicron:\"\\u039f\",Oopf:\"\\ud835\\udd46\",OpenCurlyDoubleQuote:\"\\u201c\",OpenCurlyQuote:\"\\u2018\",Or:\"\\u2a54\",Oscr:\"\\ud835\\udcaa\",Oslas:\"\\xd8\",Oslash:\"\\xd8\",Otild:\"\\xd5\",Otilde:\"\\xd5\",Otimes:\"\\u2a37\",Oum:\"\\xd6\",Ouml:\"\\xd6\",OverBar:\"\\u203e\",OverBrace:\"\\u23de\",OverBracket:\"\\u23b4\",OverParenthesis:\"\\u23dc\",PartialD:\"\\u2202\",Pcy:\"\\u041f\",Pfr:\"\\ud835\\udd13\",Phi:\"\\u03a6\",Pi:\"\\u03a0\",PlusMinus:\"\\xb1\",Poincareplane:\"\\u210c\",Popf:\"\\u2119\",Pr:\"\\u2abb\",Precedes:\"\\u227a\",PrecedesEqual:\"\\u2aaf\",PrecedesSlantEqual:\"\\u227c\",PrecedesTilde:\"\\u227e\",Prime:\"\\u2033\",Product:\"\\u220f\",Proportion:\"\\u2237\",Proportional:\"\\u221d\",Pscr:\"\\ud835\\udcab\",Psi:\"\\u03a8\",QUO:'\"',QUOT:'\"',Qfr:\"\\ud835\\udd14\",Qopf:\"\\u211a\",Qscr:\"\\ud835\\udcac\",RBarr:\"\\u2910\",RE:\"\\xae\",REG:\"\\xae\",Racute:\"\\u0154\",Rang:\"\\u27eb\",Rarr:\"\\u21a0\",Rarrtl:\"\\u2916\",Rcaron:\"\\u0158\",Rcedil:\"\\u0156\",Rcy:\"\\u0420\",Re:\"\\u211c\",ReverseElement:\"\\u220b\",ReverseEquilibrium:\"\\u21cb\",ReverseUpEquilibrium:\"\\u296f\",Rfr:\"\\u211c\",Rho:\"\\u03a1\",RightAngleBracket:\"\\u27e9\",RightArrow:\"\\u2192\",RightArrowBar:\"\\u21e5\",RightArrowLeftArrow:\"\\u21c4\",RightCeiling:\"\\u2309\",RightDoubleBracket:\"\\u27e7\",RightDownTeeVector:\"\\u295d\",RightDownVector:\"\\u21c2\",RightDownVectorBar:\"\\u2955\",RightFloor:\"\\u230b\",RightTee:\"\\u22a2\",RightTeeArrow:\"\\u21a6\",RightTeeVector:\"\\u295b\",RightTriangle:\"\\u22b3\",RightTriangleBar:\"\\u29d0\",RightTriangleEqual:\"\\u22b5\",RightUpDownVector:\"\\u294f\",RightUpTeeVector:\"\\u295c\",RightUpVector:\"\\u21be\",RightUpVectorBar:\"\\u2954\",RightVector:\"\\u21c0\",RightVectorBar:\"\\u2953\",Rightarrow:\"\\u21d2\",Ropf:\"\\u211d\",RoundImplies:\"\\u2970\",Rrightarrow:\"\\u21db\",Rscr:\"\\u211b\",Rsh:\"\\u21b1\",RuleDelayed:\"\\u29f4\",SHCHcy:\"\\u0429\",SHcy:\"\\u0428\",SOFTcy:\"\\u042c\",Sacute:\"\\u015a\",Sc:\"\\u2abc\",Scaron:\"\\u0160\",Scedil:\"\\u015e\",Scirc:\"\\u015c\",Scy:\"\\u0421\",Sfr:\"\\ud835\\udd16\",ShortDownArrow:\"\\u2193\",ShortLeftArrow:\"\\u2190\",ShortRightArrow:\"\\u2192\",ShortUpArrow:\"\\u2191\",Sigma:\"\\u03a3\",SmallCircle:\"\\u2218\",Sopf:\"\\ud835\\udd4a\",Sqrt:\"\\u221a\",Square:\"\\u25a1\",SquareIntersection:\"\\u2293\",SquareSubset:\"\\u228f\",SquareSubsetEqual:\"\\u2291\",SquareSuperset:\"\\u2290\",SquareSupersetEqual:\"\\u2292\",SquareUnion:\"\\u2294\",Sscr:\"\\ud835\\udcae\",Star:\"\\u22c6\",Sub:\"\\u22d0\",Subset:\"\\u22d0\",SubsetEqual:\"\\u2286\",Succeeds:\"\\u227b\",SucceedsEqual:\"\\u2ab0\",SucceedsSlantEqual:\"\\u227d\",SucceedsTilde:\"\\u227f\",SuchThat:\"\\u220b\",Sum:\"\\u2211\",Sup:\"\\u22d1\",Superset:\"\\u2283\",SupersetEqual:\"\\u2287\",Supset:\"\\u22d1\",THOR:\"\\xde\",THORN:\"\\xde\",TRADE:\"\\u2122\",TSHcy:\"\\u040b\",TScy:\"\\u0426\",Tab:\"\\t\",Tau:\"\\u03a4\",Tcaron:\"\\u0164\",Tcedil:\"\\u0162\",Tcy:\"\\u0422\",Tfr:\"\\ud835\\udd17\",Therefore:\"\\u2234\",Theta:\"\\u0398\",ThickSpace:\"\\u205f\\u200a\",ThinSpace:\"\\u2009\",Tilde:\"\\u223c\",TildeEqual:\"\\u2243\",TildeFullEqual:\"\\u2245\",TildeTilde:\"\\u2248\",Topf:\"\\ud835\\udd4b\",TripleDot:\"\\u20db\",Tscr:\"\\ud835\\udcaf\",Tstrok:\"\\u0166\",Uacut:\"\\xda\",Uacute:\"\\xda\",Uarr:\"\\u219f\",Uarrocir:\"\\u2949\",Ubrcy:\"\\u040e\",Ubreve:\"\\u016c\",Ucir:\"\\xdb\",Ucirc:\"\\xdb\",Ucy:\"\\u0423\",Udblac:\"\\u0170\",Ufr:\"\\ud835\\udd18\",Ugrav:\"\\xd9\",Ugrave:\"\\xd9\",Umacr:\"\\u016a\",UnderBar:\"_\",UnderBrace:\"\\u23df\",UnderBracket:\"\\u23b5\",UnderParenthesis:\"\\u23dd\",Union:\"\\u22c3\",UnionPlus:\"\\u228e\",Uogon:\"\\u0172\",Uopf:\"\\ud835\\udd4c\",UpArrow:\"\\u2191\",UpArrowBar:\"\\u2912\",UpArrowDownArrow:\"\\u21c5\",UpDownArrow:\"\\u2195\",UpEquilibrium:\"\\u296e\",UpTee:\"\\u22a5\",UpTeeArrow:\"\\u21a5\",Uparrow:\"\\u21d1\",Updownarrow:\"\\u21d5\",UpperLeftArrow:\"\\u2196\",UpperRightArrow:\"\\u2197\",Upsi:\"\\u03d2\",Upsilon:\"\\u03a5\",Uring:\"\\u016e\",Uscr:\"\\ud835\\udcb0\",Utilde:\"\\u0168\",Uum:\"\\xdc\",Uuml:\"\\xdc\",VDash:\"\\u22ab\",Vbar:\"\\u2aeb\",Vcy:\"\\u0412\",Vdash:\"\\u22a9\",Vdashl:\"\\u2ae6\",Vee:\"\\u22c1\",Verbar:\"\\u2016\",Vert:\"\\u2016\",VerticalBar:\"\\u2223\",VerticalLine:\"|\",VerticalSeparator:\"\\u2758\",VerticalTilde:\"\\u2240\",VeryThinSpace:\"\\u200a\",Vfr:\"\\ud835\\udd19\",Vopf:\"\\ud835\\udd4d\",Vscr:\"\\ud835\\udcb1\",Vvdash:\"\\u22aa\",Wcirc:\"\\u0174\",Wedge:\"\\u22c0\",Wfr:\"\\ud835\\udd1a\",Wopf:\"\\ud835\\udd4e\",Wscr:\"\\ud835\\udcb2\",Xfr:\"\\ud835\\udd1b\",Xi:\"\\u039e\",Xopf:\"\\ud835\\udd4f\",Xscr:\"\\ud835\\udcb3\",YAcy:\"\\u042f\",YIcy:\"\\u0407\",YUcy:\"\\u042e\",Yacut:\"\\xdd\",Yacute:\"\\xdd\",Ycirc:\"\\u0176\",Ycy:\"\\u042b\",Yfr:\"\\ud835\\udd1c\",Yopf:\"\\ud835\\udd50\",Yscr:\"\\ud835\\udcb4\",Yuml:\"\\u0178\",ZHcy:\"\\u0416\",Zacute:\"\\u0179\",Zcaron:\"\\u017d\",Zcy:\"\\u0417\",Zdot:\"\\u017b\",ZeroWidthSpace:\"\\u200b\",Zeta:\"\\u0396\",Zfr:\"\\u2128\",Zopf:\"\\u2124\",Zscr:\"\\ud835\\udcb5\",aacut:\"\\xe1\",aacute:\"\\xe1\",abreve:\"\\u0103\",ac:\"\\u223e\",acE:\"\\u223e\\u0333\",acd:\"\\u223f\",acir:\"\\xe2\",acirc:\"\\xe2\",acut:\"\\xb4\",acute:\"\\xb4\",acy:\"\\u0430\",aeli:\"\\xe6\",aelig:\"\\xe6\",af:\"\\u2061\",afr:\"\\ud835\\udd1e\",agrav:\"\\xe0\",agrave:\"\\xe0\",alefsym:\"\\u2135\",aleph:\"\\u2135\",alpha:\"\\u03b1\",amacr:\"\\u0101\",amalg:\"\\u2a3f\",am:\"&\",amp:\"&\",and:\"\\u2227\",andand:\"\\u2a55\",andd:\"\\u2a5c\",andslope:\"\\u2a58\",andv:\"\\u2a5a\",ang:\"\\u2220\",ange:\"\\u29a4\",angle:\"\\u2220\",angmsd:\"\\u2221\",angmsdaa:\"\\u29a8\",angmsdab:\"\\u29a9\",angmsdac:\"\\u29aa\",angmsdad:\"\\u29ab\",angmsdae:\"\\u29ac\",angmsdaf:\"\\u29ad\",angmsdag:\"\\u29ae\",angmsdah:\"\\u29af\",angrt:\"\\u221f\",angrtvb:\"\\u22be\",angrtvbd:\"\\u299d\",angsph:\"\\u2222\",angst:\"\\xc5\",angzarr:\"\\u237c\",aogon:\"\\u0105\",aopf:\"\\ud835\\udd52\",ap:\"\\u2248\",apE:\"\\u2a70\",apacir:\"\\u2a6f\",ape:\"\\u224a\",apid:\"\\u224b\",apos:\"'\",approx:\"\\u2248\",approxeq:\"\\u224a\",arin:\"\\xe5\",aring:\"\\xe5\",ascr:\"\\ud835\\udcb6\",ast:\"*\",asymp:\"\\u2248\",asympeq:\"\\u224d\",atild:\"\\xe3\",atilde:\"\\xe3\",aum:\"\\xe4\",auml:\"\\xe4\",awconint:\"\\u2233\",awint:\"\\u2a11\",bNot:\"\\u2aed\",backcong:\"\\u224c\",backepsilon:\"\\u03f6\",backprime:\"\\u2035\",backsim:\"\\u223d\",backsimeq:\"\\u22cd\",barvee:\"\\u22bd\",barwed:\"\\u2305\",barwedge:\"\\u2305\",bbrk:\"\\u23b5\",bbrktbrk:\"\\u23b6\",bcong:\"\\u224c\",bcy:\"\\u0431\",bdquo:\"\\u201e\",becaus:\"\\u2235\",because:\"\\u2235\",bemptyv:\"\\u29b0\",bepsi:\"\\u03f6\",bernou:\"\\u212c\",beta:\"\\u03b2\",beth:\"\\u2136\",between:\"\\u226c\",bfr:\"\\ud835\\udd1f\",bigcap:\"\\u22c2\",bigcirc:\"\\u25ef\",bigcup:\"\\u22c3\",bigodot:\"\\u2a00\",bigoplus:\"\\u2a01\",bigotimes:\"\\u2a02\",bigsqcup:\"\\u2a06\",bigstar:\"\\u2605\",bigtriangledown:\"\\u25bd\",bigtriangleup:\"\\u25b3\",biguplus:\"\\u2a04\",bigvee:\"\\u22c1\",bigwedge:\"\\u22c0\",bkarow:\"\\u290d\",blacklozenge:\"\\u29eb\",blacksquare:\"\\u25aa\",blacktriangle:\"\\u25b4\",blacktriangledown:\"\\u25be\",blacktriangleleft:\"\\u25c2\",blacktriangleright:\"\\u25b8\",blank:\"\\u2423\",blk12:\"\\u2592\",blk14:\"\\u2591\",blk34:\"\\u2593\",block:\"\\u2588\",bne:\"=\\u20e5\",bnequiv:\"\\u2261\\u20e5\",bnot:\"\\u2310\",bopf:\"\\ud835\\udd53\",bot:\"\\u22a5\",bottom:\"\\u22a5\",bowtie:\"\\u22c8\",boxDL:\"\\u2557\",boxDR:\"\\u2554\",boxDl:\"\\u2556\",boxDr:\"\\u2553\",boxH:\"\\u2550\",boxHD:\"\\u2566\",boxHU:\"\\u2569\",boxHd:\"\\u2564\",boxHu:\"\\u2567\",boxUL:\"\\u255d\",boxUR:\"\\u255a\",boxUl:\"\\u255c\",boxUr:\"\\u2559\",boxV:\"\\u2551\",boxVH:\"\\u256c\",boxVL:\"\\u2563\",boxVR:\"\\u2560\",boxVh:\"\\u256b\",boxVl:\"\\u2562\",boxVr:\"\\u255f\",boxbox:\"\\u29c9\",boxdL:\"\\u2555\",boxdR:\"\\u2552\",boxdl:\"\\u2510\",boxdr:\"\\u250c\",boxh:\"\\u2500\",boxhD:\"\\u2565\",boxhU:\"\\u2568\",boxhd:\"\\u252c\",boxhu:\"\\u2534\",boxminus:\"\\u229f\",boxplus:\"\\u229e\",boxtimes:\"\\u22a0\",boxuL:\"\\u255b\",boxuR:\"\\u2558\",boxul:\"\\u2518\",boxur:\"\\u2514\",boxv:\"\\u2502\",boxvH:\"\\u256a\",boxvL:\"\\u2561\",boxvR:\"\\u255e\",boxvh:\"\\u253c\",boxvl:\"\\u2524\",boxvr:\"\\u251c\",bprime:\"\\u2035\",breve:\"\\u02d8\",brvba:\"\\xa6\",brvbar:\"\\xa6\",bscr:\"\\ud835\\udcb7\",bsemi:\"\\u204f\",bsim:\"\\u223d\",bsime:\"\\u22cd\",bsol:\"\\\\\",bsolb:\"\\u29c5\",bsolhsub:\"\\u27c8\",bull:\"\\u2022\",bullet:\"\\u2022\",bump:\"\\u224e\",bumpE:\"\\u2aae\",bumpe:\"\\u224f\",bumpeq:\"\\u224f\",cacute:\"\\u0107\",cap:\"\\u2229\",capand:\"\\u2a44\",capbrcup:\"\\u2a49\",capcap:\"\\u2a4b\",capcup:\"\\u2a47\",capdot:\"\\u2a40\",caps:\"\\u2229\\ufe00\",caret:\"\\u2041\",caron:\"\\u02c7\",ccaps:\"\\u2a4d\",ccaron:\"\\u010d\",ccedi:\"\\xe7\",ccedil:\"\\xe7\",ccirc:\"\\u0109\",ccups:\"\\u2a4c\",ccupssm:\"\\u2a50\",cdot:\"\\u010b\",cedi:\"\\xb8\",cedil:\"\\xb8\",cemptyv:\"\\u29b2\",cen:\"\\xa2\",cent:\"\\xa2\",centerdot:\"\\xb7\",cfr:\"\\ud835\\udd20\",chcy:\"\\u0447\",check:\"\\u2713\",checkmark:\"\\u2713\",chi:\"\\u03c7\",cir:\"\\u25cb\",cirE:\"\\u29c3\",circ:\"\\u02c6\",circeq:\"\\u2257\",circlearrowleft:\"\\u21ba\",circlearrowright:\"\\u21bb\",circledR:\"\\xae\",circledS:\"\\u24c8\",circledast:\"\\u229b\",circledcirc:\"\\u229a\",circleddash:\"\\u229d\",cire:\"\\u2257\",cirfnint:\"\\u2a10\",cirmid:\"\\u2aef\",cirscir:\"\\u29c2\",clubs:\"\\u2663\",clubsuit:\"\\u2663\",colon:\":\",colone:\"\\u2254\",coloneq:\"\\u2254\",comma:\",\",commat:\"@\",comp:\"\\u2201\",compfn:\"\\u2218\",complement:\"\\u2201\",complexes:\"\\u2102\",cong:\"\\u2245\",congdot:\"\\u2a6d\",conint:\"\\u222e\",copf:\"\\ud835\\udd54\",coprod:\"\\u2210\",cop:\"\\xa9\",copy:\"\\xa9\",copysr:\"\\u2117\",crarr:\"\\u21b5\",cross:\"\\u2717\",cscr:\"\\ud835\\udcb8\",csub:\"\\u2acf\",csube:\"\\u2ad1\",csup:\"\\u2ad0\",csupe:\"\\u2ad2\",ctdot:\"\\u22ef\",cudarrl:\"\\u2938\",cudarrr:\"\\u2935\",cuepr:\"\\u22de\",cuesc:\"\\u22df\",cularr:\"\\u21b6\",cularrp:\"\\u293d\",cup:\"\\u222a\",cupbrcap:\"\\u2a48\",cupcap:\"\\u2a46\",cupcup:\"\\u2a4a\",cupdot:\"\\u228d\",cupor:\"\\u2a45\",cups:\"\\u222a\\ufe00\",curarr:\"\\u21b7\",curarrm:\"\\u293c\",curlyeqprec:\"\\u22de\",curlyeqsucc:\"\\u22df\",curlyvee:\"\\u22ce\",curlywedge:\"\\u22cf\",curre:\"\\xa4\",curren:\"\\xa4\",curvearrowleft:\"\\u21b6\",curvearrowright:\"\\u21b7\",cuvee:\"\\u22ce\",cuwed:\"\\u22cf\",cwconint:\"\\u2232\",cwint:\"\\u2231\",cylcty:\"\\u232d\",dArr:\"\\u21d3\",dHar:\"\\u2965\",dagger:\"\\u2020\",daleth:\"\\u2138\",darr:\"\\u2193\",dash:\"\\u2010\",dashv:\"\\u22a3\",dbkarow:\"\\u290f\",dblac:\"\\u02dd\",dcaron:\"\\u010f\",dcy:\"\\u0434\",dd:\"\\u2146\",ddagger:\"\\u2021\",ddarr:\"\\u21ca\",ddotseq:\"\\u2a77\",de:\"\\xb0\",deg:\"\\xb0\",delta:\"\\u03b4\",demptyv:\"\\u29b1\",dfisht:\"\\u297f\",dfr:\"\\ud835\\udd21\",dharl:\"\\u21c3\",dharr:\"\\u21c2\",diam:\"\\u22c4\",diamond:\"\\u22c4\",diamondsuit:\"\\u2666\",diams:\"\\u2666\",die:\"\\xa8\",digamma:\"\\u03dd\",disin:\"\\u22f2\",div:\"\\xf7\",divid:\"\\xf7\",divide:\"\\xf7\",divideontimes:\"\\u22c7\",divonx:\"\\u22c7\",djcy:\"\\u0452\",dlcorn:\"\\u231e\",dlcrop:\"\\u230d\",dollar:\"$\",dopf:\"\\ud835\\udd55\",dot:\"\\u02d9\",doteq:\"\\u2250\",doteqdot:\"\\u2251\",dotminus:\"\\u2238\",dotplus:\"\\u2214\",dotsquare:\"\\u22a1\",doublebarwedge:\"\\u2306\",downarrow:\"\\u2193\",downdownarrows:\"\\u21ca\",downharpoonleft:\"\\u21c3\",downharpoonright:\"\\u21c2\",drbkarow:\"\\u2910\",drcorn:\"\\u231f\",drcrop:\"\\u230c\",dscr:\"\\ud835\\udcb9\",dscy:\"\\u0455\",dsol:\"\\u29f6\",dstrok:\"\\u0111\",dtdot:\"\\u22f1\",dtri:\"\\u25bf\",dtrif:\"\\u25be\",duarr:\"\\u21f5\",duhar:\"\\u296f\",dwangle:\"\\u29a6\",dzcy:\"\\u045f\",dzigrarr:\"\\u27ff\",eDDot:\"\\u2a77\",eDot:\"\\u2251\",eacut:\"\\xe9\",eacute:\"\\xe9\",easter:\"\\u2a6e\",ecaron:\"\\u011b\",ecir:\"\\xea\",ecirc:\"\\xea\",ecolon:\"\\u2255\",ecy:\"\\u044d\",edot:\"\\u0117\",ee:\"\\u2147\",efDot:\"\\u2252\",efr:\"\\ud835\\udd22\",eg:\"\\u2a9a\",egrav:\"\\xe8\",egrave:\"\\xe8\",egs:\"\\u2a96\",egsdot:\"\\u2a98\",el:\"\\u2a99\",elinters:\"\\u23e7\",ell:\"\\u2113\",els:\"\\u2a95\",elsdot:\"\\u2a97\",emacr:\"\\u0113\",empty:\"\\u2205\",emptyset:\"\\u2205\",emptyv:\"\\u2205\",emsp13:\"\\u2004\",emsp14:\"\\u2005\",emsp:\"\\u2003\",eng:\"\\u014b\",ensp:\"\\u2002\",eogon:\"\\u0119\",eopf:\"\\ud835\\udd56\",epar:\"\\u22d5\",eparsl:\"\\u29e3\",eplus:\"\\u2a71\",epsi:\"\\u03b5\",epsilon:\"\\u03b5\",epsiv:\"\\u03f5\",eqcirc:\"\\u2256\",eqcolon:\"\\u2255\",eqsim:\"\\u2242\",eqslantgtr:\"\\u2a96\",eqslantless:\"\\u2a95\",equals:\"=\",equest:\"\\u225f\",equiv:\"\\u2261\",equivDD:\"\\u2a78\",eqvparsl:\"\\u29e5\",erDot:\"\\u2253\",erarr:\"\\u2971\",escr:\"\\u212f\",esdot:\"\\u2250\",esim:\"\\u2242\",eta:\"\\u03b7\",et:\"\\xf0\",eth:\"\\xf0\",eum:\"\\xeb\",euml:\"\\xeb\",euro:\"\\u20ac\",excl:\"!\",exist:\"\\u2203\",expectation:\"\\u2130\",exponentiale:\"\\u2147\",fallingdotseq:\"\\u2252\",fcy:\"\\u0444\",female:\"\\u2640\",ffilig:\"\\ufb03\",fflig:\"\\ufb00\",ffllig:\"\\ufb04\",ffr:\"\\ud835\\udd23\",filig:\"\\ufb01\",fjlig:\"fj\",flat:\"\\u266d\",fllig:\"\\ufb02\",fltns:\"\\u25b1\",fnof:\"\\u0192\",fopf:\"\\ud835\\udd57\",forall:\"\\u2200\",fork:\"\\u22d4\",forkv:\"\\u2ad9\",fpartint:\"\\u2a0d\",frac1:\"\\xbc\",frac12:\"\\xbd\",frac13:\"\\u2153\",frac14:\"\\xbc\",frac15:\"\\u2155\",frac16:\"\\u2159\",frac18:\"\\u215b\",frac23:\"\\u2154\",frac25:\"\\u2156\",frac3:\"\\xbe\",frac34:\"\\xbe\",frac35:\"\\u2157\",frac38:\"\\u215c\",frac45:\"\\u2158\",frac56:\"\\u215a\",frac58:\"\\u215d\",frac78:\"\\u215e\",frasl:\"\\u2044\",frown:\"\\u2322\",fscr:\"\\ud835\\udcbb\",gE:\"\\u2267\",gEl:\"\\u2a8c\",gacute:\"\\u01f5\",gamma:\"\\u03b3\",gammad:\"\\u03dd\",gap:\"\\u2a86\",gbreve:\"\\u011f\",gcirc:\"\\u011d\",gcy:\"\\u0433\",gdot:\"\\u0121\",ge:\"\\u2265\",gel:\"\\u22db\",geq:\"\\u2265\",geqq:\"\\u2267\",geqslant:\"\\u2a7e\",ges:\"\\u2a7e\",gescc:\"\\u2aa9\",gesdot:\"\\u2a80\",gesdoto:\"\\u2a82\",gesdotol:\"\\u2a84\",gesl:\"\\u22db\\ufe00\",gesles:\"\\u2a94\",gfr:\"\\ud835\\udd24\",gg:\"\\u226b\",ggg:\"\\u22d9\",gimel:\"\\u2137\",gjcy:\"\\u0453\",gl:\"\\u2277\",glE:\"\\u2a92\",gla:\"\\u2aa5\",glj:\"\\u2aa4\",gnE:\"\\u2269\",gnap:\"\\u2a8a\",gnapprox:\"\\u2a8a\",gne:\"\\u2a88\",gneq:\"\\u2a88\",gneqq:\"\\u2269\",gnsim:\"\\u22e7\",gopf:\"\\ud835\\udd58\",grave:\"`\",gscr:\"\\u210a\",gsim:\"\\u2273\",gsime:\"\\u2a8e\",gsiml:\"\\u2a90\",g:\">\",gt:\">\",gtcc:\"\\u2aa7\",gtcir:\"\\u2a7a\",gtdot:\"\\u22d7\",gtlPar:\"\\u2995\",gtquest:\"\\u2a7c\",gtrapprox:\"\\u2a86\",gtrarr:\"\\u2978\",gtrdot:\"\\u22d7\",gtreqless:\"\\u22db\",gtreqqless:\"\\u2a8c\",gtrless:\"\\u2277\",gtrsim:\"\\u2273\",gvertneqq:\"\\u2269\\ufe00\",gvnE:\"\\u2269\\ufe00\",hArr:\"\\u21d4\",hairsp:\"\\u200a\",half:\"\\xbd\",hamilt:\"\\u210b\",hardcy:\"\\u044a\",harr:\"\\u2194\",harrcir:\"\\u2948\",harrw:\"\\u21ad\",hbar:\"\\u210f\",hcirc:\"\\u0125\",hearts:\"\\u2665\",heartsuit:\"\\u2665\",hellip:\"\\u2026\",hercon:\"\\u22b9\",hfr:\"\\ud835\\udd25\",hksearow:\"\\u2925\",hkswarow:\"\\u2926\",hoarr:\"\\u21ff\",homtht:\"\\u223b\",hookleftarrow:\"\\u21a9\",hookrightarrow:\"\\u21aa\",hopf:\"\\ud835\\udd59\",horbar:\"\\u2015\",hscr:\"\\ud835\\udcbd\",hslash:\"\\u210f\",hstrok:\"\\u0127\",hybull:\"\\u2043\",hyphen:\"\\u2010\",iacut:\"\\xed\",iacute:\"\\xed\",ic:\"\\u2063\",icir:\"\\xee\",icirc:\"\\xee\",icy:\"\\u0438\",iecy:\"\\u0435\",iexc:\"\\xa1\",iexcl:\"\\xa1\",iff:\"\\u21d4\",ifr:\"\\ud835\\udd26\",igrav:\"\\xec\",igrave:\"\\xec\",ii:\"\\u2148\",iiiint:\"\\u2a0c\",iiint:\"\\u222d\",iinfin:\"\\u29dc\",iiota:\"\\u2129\",ijlig:\"\\u0133\",imacr:\"\\u012b\",image:\"\\u2111\",imagline:\"\\u2110\",imagpart:\"\\u2111\",imath:\"\\u0131\",imof:\"\\u22b7\",imped:\"\\u01b5\",in:\"\\u2208\",incare:\"\\u2105\",infin:\"\\u221e\",infintie:\"\\u29dd\",inodot:\"\\u0131\",int:\"\\u222b\",intcal:\"\\u22ba\",integers:\"\\u2124\",intercal:\"\\u22ba\",intlarhk:\"\\u2a17\",intprod:\"\\u2a3c\",iocy:\"\\u0451\",iogon:\"\\u012f\",iopf:\"\\ud835\\udd5a\",iota:\"\\u03b9\",iprod:\"\\u2a3c\",iques:\"\\xbf\",iquest:\"\\xbf\",iscr:\"\\ud835\\udcbe\",isin:\"\\u2208\",isinE:\"\\u22f9\",isindot:\"\\u22f5\",isins:\"\\u22f4\",isinsv:\"\\u22f3\",isinv:\"\\u2208\",it:\"\\u2062\",itilde:\"\\u0129\",iukcy:\"\\u0456\",ium:\"\\xef\",iuml:\"\\xef\",jcirc:\"\\u0135\",jcy:\"\\u0439\",jfr:\"\\ud835\\udd27\",jmath:\"\\u0237\",jopf:\"\\ud835\\udd5b\",jscr:\"\\ud835\\udcbf\",jsercy:\"\\u0458\",jukcy:\"\\u0454\",kappa:\"\\u03ba\",kappav:\"\\u03f0\",kcedil:\"\\u0137\",kcy:\"\\u043a\",kfr:\"\\ud835\\udd28\",kgreen:\"\\u0138\",khcy:\"\\u0445\",kjcy:\"\\u045c\",kopf:\"\\ud835\\udd5c\",kscr:\"\\ud835\\udcc0\",lAarr:\"\\u21da\",lArr:\"\\u21d0\",lAtail:\"\\u291b\",lBarr:\"\\u290e\",lE:\"\\u2266\",lEg:\"\\u2a8b\",lHar:\"\\u2962\",lacute:\"\\u013a\",laemptyv:\"\\u29b4\",lagran:\"\\u2112\",lambda:\"\\u03bb\",lang:\"\\u27e8\",langd:\"\\u2991\",langle:\"\\u27e8\",lap:\"\\u2a85\",laqu:\"\\xab\",laquo:\"\\xab\",larr:\"\\u2190\",larrb:\"\\u21e4\",larrbfs:\"\\u291f\",larrfs:\"\\u291d\",larrhk:\"\\u21a9\",larrlp:\"\\u21ab\",larrpl:\"\\u2939\",larrsim:\"\\u2973\",larrtl:\"\\u21a2\",lat:\"\\u2aab\",latail:\"\\u2919\",late:\"\\u2aad\",lates:\"\\u2aad\\ufe00\",lbarr:\"\\u290c\",lbbrk:\"\\u2772\",lbrace:\"{\",lbrack:\"[\",lbrke:\"\\u298b\",lbrksld:\"\\u298f\",lbrkslu:\"\\u298d\",lcaron:\"\\u013e\",lcedil:\"\\u013c\",lceil:\"\\u2308\",lcub:\"{\",lcy:\"\\u043b\",ldca:\"\\u2936\",ldquo:\"\\u201c\",ldquor:\"\\u201e\",ldrdhar:\"\\u2967\",ldrushar:\"\\u294b\",ldsh:\"\\u21b2\",le:\"\\u2264\",leftarrow:\"\\u2190\",leftarrowtail:\"\\u21a2\",leftharpoondown:\"\\u21bd\",leftharpoonup:\"\\u21bc\",leftleftarrows:\"\\u21c7\",leftrightarrow:\"\\u2194\",leftrightarrows:\"\\u21c6\",leftrightharpoons:\"\\u21cb\",leftrightsquigarrow:\"\\u21ad\",leftthreetimes:\"\\u22cb\",leg:\"\\u22da\",leq:\"\\u2264\",leqq:\"\\u2266\",leqslant:\"\\u2a7d\",les:\"\\u2a7d\",lescc:\"\\u2aa8\",lesdot:\"\\u2a7f\",lesdoto:\"\\u2a81\",lesdotor:\"\\u2a83\",lesg:\"\\u22da\\ufe00\",lesges:\"\\u2a93\",lessapprox:\"\\u2a85\",lessdot:\"\\u22d6\",lesseqgtr:\"\\u22da\",lesseqqgtr:\"\\u2a8b\",lessgtr:\"\\u2276\",lesssim:\"\\u2272\",lfisht:\"\\u297c\",lfloor:\"\\u230a\",lfr:\"\\ud835\\udd29\",lg:\"\\u2276\",lgE:\"\\u2a91\",lhard:\"\\u21bd\",lharu:\"\\u21bc\",lharul:\"\\u296a\",lhblk:\"\\u2584\",ljcy:\"\\u0459\",ll:\"\\u226a\",llarr:\"\\u21c7\",llcorner:\"\\u231e\",llhard:\"\\u296b\",lltri:\"\\u25fa\",lmidot:\"\\u0140\",lmoust:\"\\u23b0\",lmoustache:\"\\u23b0\",lnE:\"\\u2268\",lnap:\"\\u2a89\",lnapprox:\"\\u2a89\",lne:\"\\u2a87\",lneq:\"\\u2a87\",lneqq:\"\\u2268\",lnsim:\"\\u22e6\",loang:\"\\u27ec\",loarr:\"\\u21fd\",lobrk:\"\\u27e6\",longleftarrow:\"\\u27f5\",longleftrightarrow:\"\\u27f7\",longmapsto:\"\\u27fc\",longrightarrow:\"\\u27f6\",looparrowleft:\"\\u21ab\",looparrowright:\"\\u21ac\",lopar:\"\\u2985\",lopf:\"\\ud835\\udd5d\",loplus:\"\\u2a2d\",lotimes:\"\\u2a34\",lowast:\"\\u2217\",lowbar:\"_\",loz:\"\\u25ca\",lozenge:\"\\u25ca\",lozf:\"\\u29eb\",lpar:\"(\",lparlt:\"\\u2993\",lrarr:\"\\u21c6\",lrcorner:\"\\u231f\",lrhar:\"\\u21cb\",lrhard:\"\\u296d\",lrm:\"\\u200e\",lrtri:\"\\u22bf\",lsaquo:\"\\u2039\",lscr:\"\\ud835\\udcc1\",lsh:\"\\u21b0\",lsim:\"\\u2272\",lsime:\"\\u2a8d\",lsimg:\"\\u2a8f\",lsqb:\"[\",lsquo:\"\\u2018\",lsquor:\"\\u201a\",lstrok:\"\\u0142\",l:\"<\",lt:\"<\",ltcc:\"\\u2aa6\",ltcir:\"\\u2a79\",ltdot:\"\\u22d6\",lthree:\"\\u22cb\",ltimes:\"\\u22c9\",ltlarr:\"\\u2976\",ltquest:\"\\u2a7b\",ltrPar:\"\\u2996\",ltri:\"\\u25c3\",ltrie:\"\\u22b4\",ltrif:\"\\u25c2\",lurdshar:\"\\u294a\",luruhar:\"\\u2966\",lvertneqq:\"\\u2268\\ufe00\",lvnE:\"\\u2268\\ufe00\",mDDot:\"\\u223a\",mac:\"\\xaf\",macr:\"\\xaf\",male:\"\\u2642\",malt:\"\\u2720\",maltese:\"\\u2720\",map:\"\\u21a6\",mapsto:\"\\u21a6\",mapstodown:\"\\u21a7\",mapstoleft:\"\\u21a4\",mapstoup:\"\\u21a5\",marker:\"\\u25ae\",mcomma:\"\\u2a29\",mcy:\"\\u043c\",mdash:\"\\u2014\",measuredangle:\"\\u2221\",mfr:\"\\ud835\\udd2a\",mho:\"\\u2127\",micr:\"\\xb5\",micro:\"\\xb5\",mid:\"\\u2223\",midast:\"*\",midcir:\"\\u2af0\",middo:\"\\xb7\",middot:\"\\xb7\",minus:\"\\u2212\",minusb:\"\\u229f\",minusd:\"\\u2238\",minusdu:\"\\u2a2a\",mlcp:\"\\u2adb\",mldr:\"\\u2026\",mnplus:\"\\u2213\",models:\"\\u22a7\",mopf:\"\\ud835\\udd5e\",mp:\"\\u2213\",mscr:\"\\ud835\\udcc2\",mstpos:\"\\u223e\",mu:\"\\u03bc\",multimap:\"\\u22b8\",mumap:\"\\u22b8\",nGg:\"\\u22d9\\u0338\",nGt:\"\\u226b\\u20d2\",nGtv:\"\\u226b\\u0338\",nLeftarrow:\"\\u21cd\",nLeftrightarrow:\"\\u21ce\",nLl:\"\\u22d8\\u0338\",nLt:\"\\u226a\\u20d2\",nLtv:\"\\u226a\\u0338\",nRightarrow:\"\\u21cf\",nVDash:\"\\u22af\",nVdash:\"\\u22ae\",nabla:\"\\u2207\",nacute:\"\\u0144\",nang:\"\\u2220\\u20d2\",nap:\"\\u2249\",napE:\"\\u2a70\\u0338\",napid:\"\\u224b\\u0338\",napos:\"\\u0149\",napprox:\"\\u2249\",natur:\"\\u266e\",natural:\"\\u266e\",naturals:\"\\u2115\",nbs:\"\\xa0\",nbsp:\"\\xa0\",nbump:\"\\u224e\\u0338\",nbumpe:\"\\u224f\\u0338\",ncap:\"\\u2a43\",ncaron:\"\\u0148\",ncedil:\"\\u0146\",ncong:\"\\u2247\",ncongdot:\"\\u2a6d\\u0338\",ncup:\"\\u2a42\",ncy:\"\\u043d\",ndash:\"\\u2013\",ne:\"\\u2260\",neArr:\"\\u21d7\",nearhk:\"\\u2924\",nearr:\"\\u2197\",nearrow:\"\\u2197\",nedot:\"\\u2250\\u0338\",nequiv:\"\\u2262\",nesear:\"\\u2928\",nesim:\"\\u2242\\u0338\",nexist:\"\\u2204\",nexists:\"\\u2204\",nfr:\"\\ud835\\udd2b\",ngE:\"\\u2267\\u0338\",nge:\"\\u2271\",ngeq:\"\\u2271\",ngeqq:\"\\u2267\\u0338\",ngeqslant:\"\\u2a7e\\u0338\",nges:\"\\u2a7e\\u0338\",ngsim:\"\\u2275\",ngt:\"\\u226f\",ngtr:\"\\u226f\",nhArr:\"\\u21ce\",nharr:\"\\u21ae\",nhpar:\"\\u2af2\",ni:\"\\u220b\",nis:\"\\u22fc\",nisd:\"\\u22fa\",niv:\"\\u220b\",njcy:\"\\u045a\",nlArr:\"\\u21cd\",nlE:\"\\u2266\\u0338\",nlarr:\"\\u219a\",nldr:\"\\u2025\",nle:\"\\u2270\",nleftarrow:\"\\u219a\",nleftrightarrow:\"\\u21ae\",nleq:\"\\u2270\",nleqq:\"\\u2266\\u0338\",nleqslant:\"\\u2a7d\\u0338\",nles:\"\\u2a7d\\u0338\",nless:\"\\u226e\",nlsim:\"\\u2274\",nlt:\"\\u226e\",nltri:\"\\u22ea\",nltrie:\"\\u22ec\",nmid:\"\\u2224\",nopf:\"\\ud835\\udd5f\",no:\"\\xac\",not:\"\\xac\",notin:\"\\u2209\",notinE:\"\\u22f9\\u0338\",notindot:\"\\u22f5\\u0338\",notinva:\"\\u2209\",notinvb:\"\\u22f7\",notinvc:\"\\u22f6\",notni:\"\\u220c\",notniva:\"\\u220c\",notnivb:\"\\u22fe\",notnivc:\"\\u22fd\",npar:\"\\u2226\",nparallel:\"\\u2226\",nparsl:\"\\u2afd\\u20e5\",npart:\"\\u2202\\u0338\",npolint:\"\\u2a14\",npr:\"\\u2280\",nprcue:\"\\u22e0\",npre:\"\\u2aaf\\u0338\",nprec:\"\\u2280\",npreceq:\"\\u2aaf\\u0338\",nrArr:\"\\u21cf\",nrarr:\"\\u219b\",nrarrc:\"\\u2933\\u0338\",nrarrw:\"\\u219d\\u0338\",nrightarrow:\"\\u219b\",nrtri:\"\\u22eb\",nrtrie:\"\\u22ed\",nsc:\"\\u2281\",nsccue:\"\\u22e1\",nsce:\"\\u2ab0\\u0338\",nscr:\"\\ud835\\udcc3\",nshortmid:\"\\u2224\",nshortparallel:\"\\u2226\",nsim:\"\\u2241\",nsime:\"\\u2244\",nsimeq:\"\\u2244\",nsmid:\"\\u2224\",nspar:\"\\u2226\",nsqsube:\"\\u22e2\",nsqsupe:\"\\u22e3\",nsub:\"\\u2284\",nsubE:\"\\u2ac5\\u0338\",nsube:\"\\u2288\",nsubset:\"\\u2282\\u20d2\",nsubseteq:\"\\u2288\",nsubseteqq:\"\\u2ac5\\u0338\",nsucc:\"\\u2281\",nsucceq:\"\\u2ab0\\u0338\",nsup:\"\\u2285\",nsupE:\"\\u2ac6\\u0338\",nsupe:\"\\u2289\",nsupset:\"\\u2283\\u20d2\",nsupseteq:\"\\u2289\",nsupseteqq:\"\\u2ac6\\u0338\",ntgl:\"\\u2279\",ntild:\"\\xf1\",ntilde:\"\\xf1\",ntlg:\"\\u2278\",ntriangleleft:\"\\u22ea\",ntrianglelefteq:\"\\u22ec\",ntriangleright:\"\\u22eb\",ntrianglerighteq:\"\\u22ed\",nu:\"\\u03bd\",num:\"#\",numero:\"\\u2116\",numsp:\"\\u2007\",nvDash:\"\\u22ad\",nvHarr:\"\\u2904\",nvap:\"\\u224d\\u20d2\",nvdash:\"\\u22ac\",nvge:\"\\u2265\\u20d2\",nvgt:\">\\u20d2\",nvinfin:\"\\u29de\",nvlArr:\"\\u2902\",nvle:\"\\u2264\\u20d2\",nvlt:\"<\\u20d2\",nvltrie:\"\\u22b4\\u20d2\",nvrArr:\"\\u2903\",nvrtrie:\"\\u22b5\\u20d2\",nvsim:\"\\u223c\\u20d2\",nwArr:\"\\u21d6\",nwarhk:\"\\u2923\",nwarr:\"\\u2196\",nwarrow:\"\\u2196\",nwnear:\"\\u2927\",oS:\"\\u24c8\",oacut:\"\\xf3\",oacute:\"\\xf3\",oast:\"\\u229b\",ocir:\"\\xf4\",ocirc:\"\\xf4\",ocy:\"\\u043e\",odash:\"\\u229d\",odblac:\"\\u0151\",odiv:\"\\u2a38\",odot:\"\\u2299\",odsold:\"\\u29bc\",oelig:\"\\u0153\",ofcir:\"\\u29bf\",ofr:\"\\ud835\\udd2c\",ogon:\"\\u02db\",ograv:\"\\xf2\",ograve:\"\\xf2\",ogt:\"\\u29c1\",ohbar:\"\\u29b5\",ohm:\"\\u03a9\",oint:\"\\u222e\",olarr:\"\\u21ba\",olcir:\"\\u29be\",olcross:\"\\u29bb\",oline:\"\\u203e\",olt:\"\\u29c0\",omacr:\"\\u014d\",omega:\"\\u03c9\",omicron:\"\\u03bf\",omid:\"\\u29b6\",ominus:\"\\u2296\",oopf:\"\\ud835\\udd60\",opar:\"\\u29b7\",operp:\"\\u29b9\",oplus:\"\\u2295\",or:\"\\u2228\",orarr:\"\\u21bb\",ord:\"\\xba\",order:\"\\u2134\",orderof:\"\\u2134\",ordf:\"\\xaa\",ordm:\"\\xba\",origof:\"\\u22b6\",oror:\"\\u2a56\",orslope:\"\\u2a57\",orv:\"\\u2a5b\",oscr:\"\\u2134\",oslas:\"\\xf8\",oslash:\"\\xf8\",osol:\"\\u2298\",otild:\"\\xf5\",otilde:\"\\xf5\",otimes:\"\\u2297\",otimesas:\"\\u2a36\",oum:\"\\xf6\",ouml:\"\\xf6\",ovbar:\"\\u233d\",par:\"\\xb6\",para:\"\\xb6\",parallel:\"\\u2225\",parsim:\"\\u2af3\",parsl:\"\\u2afd\",part:\"\\u2202\",pcy:\"\\u043f\",percnt:\"%\",period:\".\",permil:\"\\u2030\",perp:\"\\u22a5\",pertenk:\"\\u2031\",pfr:\"\\ud835\\udd2d\",phi:\"\\u03c6\",phiv:\"\\u03d5\",phmmat:\"\\u2133\",phone:\"\\u260e\",pi:\"\\u03c0\",pitchfork:\"\\u22d4\",piv:\"\\u03d6\",planck:\"\\u210f\",planckh:\"\\u210e\",plankv:\"\\u210f\",plus:\"+\",plusacir:\"\\u2a23\",plusb:\"\\u229e\",pluscir:\"\\u2a22\",plusdo:\"\\u2214\",plusdu:\"\\u2a25\",pluse:\"\\u2a72\",plusm:\"\\xb1\",plusmn:\"\\xb1\",plussim:\"\\u2a26\",plustwo:\"\\u2a27\",pm:\"\\xb1\",pointint:\"\\u2a15\",popf:\"\\ud835\\udd61\",poun:\"\\xa3\",pound:\"\\xa3\",pr:\"\\u227a\",prE:\"\\u2ab3\",prap:\"\\u2ab7\",prcue:\"\\u227c\",pre:\"\\u2aaf\",prec:\"\\u227a\",precapprox:\"\\u2ab7\",preccurlyeq:\"\\u227c\",preceq:\"\\u2aaf\",precnapprox:\"\\u2ab9\",precneqq:\"\\u2ab5\",precnsim:\"\\u22e8\",precsim:\"\\u227e\",prime:\"\\u2032\",primes:\"\\u2119\",prnE:\"\\u2ab5\",prnap:\"\\u2ab9\",prnsim:\"\\u22e8\",prod:\"\\u220f\",profalar:\"\\u232e\",profline:\"\\u2312\",profsurf:\"\\u2313\",prop:\"\\u221d\",propto:\"\\u221d\",prsim:\"\\u227e\",prurel:\"\\u22b0\",pscr:\"\\ud835\\udcc5\",psi:\"\\u03c8\",puncsp:\"\\u2008\",qfr:\"\\ud835\\udd2e\",qint:\"\\u2a0c\",qopf:\"\\ud835\\udd62\",qprime:\"\\u2057\",qscr:\"\\ud835\\udcc6\",quaternions:\"\\u210d\",quatint:\"\\u2a16\",quest:\"?\",questeq:\"\\u225f\",quo:'\"',quot:'\"',rAarr:\"\\u21db\",rArr:\"\\u21d2\",rAtail:\"\\u291c\",rBarr:\"\\u290f\",rHar:\"\\u2964\",race:\"\\u223d\\u0331\",racute:\"\\u0155\",radic:\"\\u221a\",raemptyv:\"\\u29b3\",rang:\"\\u27e9\",rangd:\"\\u2992\",range:\"\\u29a5\",rangle:\"\\u27e9\",raqu:\"\\xbb\",raquo:\"\\xbb\",rarr:\"\\u2192\",rarrap:\"\\u2975\",rarrb:\"\\u21e5\",rarrbfs:\"\\u2920\",rarrc:\"\\u2933\",rarrfs:\"\\u291e\",rarrhk:\"\\u21aa\",rarrlp:\"\\u21ac\",rarrpl:\"\\u2945\",rarrsim:\"\\u2974\",rarrtl:\"\\u21a3\",rarrw:\"\\u219d\",ratail:\"\\u291a\",ratio:\"\\u2236\",rationals:\"\\u211a\",rbarr:\"\\u290d\",rbbrk:\"\\u2773\",rbrace:\"}\",rbrack:\"]\",rbrke:\"\\u298c\",rbrksld:\"\\u298e\",rbrkslu:\"\\u2990\",rcaron:\"\\u0159\",rcedil:\"\\u0157\",rceil:\"\\u2309\",rcub:\"}\",rcy:\"\\u0440\",rdca:\"\\u2937\",rdldhar:\"\\u2969\",rdquo:\"\\u201d\",rdquor:\"\\u201d\",rdsh:\"\\u21b3\",real:\"\\u211c\",realine:\"\\u211b\",realpart:\"\\u211c\",reals:\"\\u211d\",rect:\"\\u25ad\",re:\"\\xae\",reg:\"\\xae\",rfisht:\"\\u297d\",rfloor:\"\\u230b\",rfr:\"\\ud835\\udd2f\",rhard:\"\\u21c1\",rharu:\"\\u21c0\",rharul:\"\\u296c\",rho:\"\\u03c1\",rhov:\"\\u03f1\",rightarrow:\"\\u2192\",rightarrowtail:\"\\u21a3\",rightharpoondown:\"\\u21c1\",rightharpoonup:\"\\u21c0\",rightleftarrows:\"\\u21c4\",rightleftharpoons:\"\\u21cc\",rightrightarrows:\"\\u21c9\",rightsquigarrow:\"\\u219d\",rightthreetimes:\"\\u22cc\",ring:\"\\u02da\",risingdotseq:\"\\u2253\",rlarr:\"\\u21c4\",rlhar:\"\\u21cc\",rlm:\"\\u200f\",rmoust:\"\\u23b1\",rmoustache:\"\\u23b1\",rnmid:\"\\u2aee\",roang:\"\\u27ed\",roarr:\"\\u21fe\",robrk:\"\\u27e7\",ropar:\"\\u2986\",ropf:\"\\ud835\\udd63\",roplus:\"\\u2a2e\",rotimes:\"\\u2a35\",rpar:\")\",rpargt:\"\\u2994\",rppolint:\"\\u2a12\",rrarr:\"\\u21c9\",rsaquo:\"\\u203a\",rscr:\"\\ud835\\udcc7\",rsh:\"\\u21b1\",rsqb:\"]\",rsquo:\"\\u2019\",rsquor:\"\\u2019\",rthree:\"\\u22cc\",rtimes:\"\\u22ca\",rtri:\"\\u25b9\",rtrie:\"\\u22b5\",rtrif:\"\\u25b8\",rtriltri:\"\\u29ce\",ruluhar:\"\\u2968\",rx:\"\\u211e\",sacute:\"\\u015b\",sbquo:\"\\u201a\",sc:\"\\u227b\",scE:\"\\u2ab4\",scap:\"\\u2ab8\",scaron:\"\\u0161\",sccue:\"\\u227d\",sce:\"\\u2ab0\",scedil:\"\\u015f\",scirc:\"\\u015d\",scnE:\"\\u2ab6\",scnap:\"\\u2aba\",scnsim:\"\\u22e9\",scpolint:\"\\u2a13\",scsim:\"\\u227f\",scy:\"\\u0441\",sdot:\"\\u22c5\",sdotb:\"\\u22a1\",sdote:\"\\u2a66\",seArr:\"\\u21d8\",searhk:\"\\u2925\",searr:\"\\u2198\",searrow:\"\\u2198\",sec:\"\\xa7\",sect:\"\\xa7\",semi:\";\",seswar:\"\\u2929\",setminus:\"\\u2216\",setmn:\"\\u2216\",sext:\"\\u2736\",sfr:\"\\ud835\\udd30\",sfrown:\"\\u2322\",sharp:\"\\u266f\",shchcy:\"\\u0449\",shcy:\"\\u0448\",shortmid:\"\\u2223\",shortparallel:\"\\u2225\",sh:\"\\xad\",shy:\"\\xad\",sigma:\"\\u03c3\",sigmaf:\"\\u03c2\",sigmav:\"\\u03c2\",sim:\"\\u223c\",simdot:\"\\u2a6a\",sime:\"\\u2243\",simeq:\"\\u2243\",simg:\"\\u2a9e\",simgE:\"\\u2aa0\",siml:\"\\u2a9d\",simlE:\"\\u2a9f\",simne:\"\\u2246\",simplus:\"\\u2a24\",simrarr:\"\\u2972\",slarr:\"\\u2190\",smallsetminus:\"\\u2216\",smashp:\"\\u2a33\",smeparsl:\"\\u29e4\",smid:\"\\u2223\",smile:\"\\u2323\",smt:\"\\u2aaa\",smte:\"\\u2aac\",smtes:\"\\u2aac\\ufe00\",softcy:\"\\u044c\",sol:\"/\",solb:\"\\u29c4\",solbar:\"\\u233f\",sopf:\"\\ud835\\udd64\",spades:\"\\u2660\",spadesuit:\"\\u2660\",spar:\"\\u2225\",sqcap:\"\\u2293\",sqcaps:\"\\u2293\\ufe00\",sqcup:\"\\u2294\",sqcups:\"\\u2294\\ufe00\",sqsub:\"\\u228f\",sqsube:\"\\u2291\",sqsubset:\"\\u228f\",sqsubseteq:\"\\u2291\",sqsup:\"\\u2290\",sqsupe:\"\\u2292\",sqsupset:\"\\u2290\",sqsupseteq:\"\\u2292\",squ:\"\\u25a1\",square:\"\\u25a1\",squarf:\"\\u25aa\",squf:\"\\u25aa\",srarr:\"\\u2192\",sscr:\"\\ud835\\udcc8\",ssetmn:\"\\u2216\",ssmile:\"\\u2323\",sstarf:\"\\u22c6\",star:\"\\u2606\",starf:\"\\u2605\",straightepsilon:\"\\u03f5\",straightphi:\"\\u03d5\",strns:\"\\xaf\",sub:\"\\u2282\",subE:\"\\u2ac5\",subdot:\"\\u2abd\",sube:\"\\u2286\",subedot:\"\\u2ac3\",submult:\"\\u2ac1\",subnE:\"\\u2acb\",subne:\"\\u228a\",subplus:\"\\u2abf\",subrarr:\"\\u2979\",subset:\"\\u2282\",subseteq:\"\\u2286\",subseteqq:\"\\u2ac5\",subsetneq:\"\\u228a\",subsetneqq:\"\\u2acb\",subsim:\"\\u2ac7\",subsub:\"\\u2ad5\",subsup:\"\\u2ad3\",succ:\"\\u227b\",succapprox:\"\\u2ab8\",succcurlyeq:\"\\u227d\",succeq:\"\\u2ab0\",succnapprox:\"\\u2aba\",succneqq:\"\\u2ab6\",succnsim:\"\\u22e9\",succsim:\"\\u227f\",sum:\"\\u2211\",sung:\"\\u266a\",sup:\"\\u2283\",sup1:\"\\xb9\",sup2:\"\\xb2\",sup3:\"\\xb3\",supE:\"\\u2ac6\",supdot:\"\\u2abe\",supdsub:\"\\u2ad8\",supe:\"\\u2287\",supedot:\"\\u2ac4\",suphsol:\"\\u27c9\",suphsub:\"\\u2ad7\",suplarr:\"\\u297b\",supmult:\"\\u2ac2\",supnE:\"\\u2acc\",supne:\"\\u228b\",supplus:\"\\u2ac0\",supset:\"\\u2283\",supseteq:\"\\u2287\",supseteqq:\"\\u2ac6\",supsetneq:\"\\u228b\",supsetneqq:\"\\u2acc\",supsim:\"\\u2ac8\",supsub:\"\\u2ad4\",supsup:\"\\u2ad6\",swArr:\"\\u21d9\",swarhk:\"\\u2926\",swarr:\"\\u2199\",swarrow:\"\\u2199\",swnwar:\"\\u292a\",szli:\"\\xdf\",szlig:\"\\xdf\",target:\"\\u2316\",tau:\"\\u03c4\",tbrk:\"\\u23b4\",tcaron:\"\\u0165\",tcedil:\"\\u0163\",tcy:\"\\u0442\",tdot:\"\\u20db\",telrec:\"\\u2315\",tfr:\"\\ud835\\udd31\",there4:\"\\u2234\",therefore:\"\\u2234\",theta:\"\\u03b8\",thetasym:\"\\u03d1\",thetav:\"\\u03d1\",thickapprox:\"\\u2248\",thicksim:\"\\u223c\",thinsp:\"\\u2009\",thkap:\"\\u2248\",thksim:\"\\u223c\",thor:\"\\xfe\",thorn:\"\\xfe\",tilde:\"\\u02dc\",time:\"\\xd7\",times:\"\\xd7\",timesb:\"\\u22a0\",timesbar:\"\\u2a31\",timesd:\"\\u2a30\",tint:\"\\u222d\",toea:\"\\u2928\",top:\"\\u22a4\",topbot:\"\\u2336\",topcir:\"\\u2af1\",topf:\"\\ud835\\udd65\",topfork:\"\\u2ada\",tosa:\"\\u2929\",tprime:\"\\u2034\",trade:\"\\u2122\",triangle:\"\\u25b5\",triangledown:\"\\u25bf\",triangleleft:\"\\u25c3\",trianglelefteq:\"\\u22b4\",triangleq:\"\\u225c\",triangleright:\"\\u25b9\",trianglerighteq:\"\\u22b5\",tridot:\"\\u25ec\",trie:\"\\u225c\",triminus:\"\\u2a3a\",triplus:\"\\u2a39\",trisb:\"\\u29cd\",tritime:\"\\u2a3b\",trpezium:\"\\u23e2\",tscr:\"\\ud835\\udcc9\",tscy:\"\\u0446\",tshcy:\"\\u045b\",tstrok:\"\\u0167\",twixt:\"\\u226c\",twoheadleftarrow:\"\\u219e\",twoheadrightarrow:\"\\u21a0\",uArr:\"\\u21d1\",uHar:\"\\u2963\",uacut:\"\\xfa\",uacute:\"\\xfa\",uarr:\"\\u2191\",ubrcy:\"\\u045e\",ubreve:\"\\u016d\",ucir:\"\\xfb\",ucirc:\"\\xfb\",ucy:\"\\u0443\",udarr:\"\\u21c5\",udblac:\"\\u0171\",udhar:\"\\u296e\",ufisht:\"\\u297e\",ufr:\"\\ud835\\udd32\",ugrav:\"\\xf9\",ugrave:\"\\xf9\",uharl:\"\\u21bf\",uharr:\"\\u21be\",uhblk:\"\\u2580\",ulcorn:\"\\u231c\",ulcorner:\"\\u231c\",ulcrop:\"\\u230f\",ultri:\"\\u25f8\",umacr:\"\\u016b\",um:\"\\xa8\",uml:\"\\xa8\",uogon:\"\\u0173\",uopf:\"\\ud835\\udd66\",uparrow:\"\\u2191\",updownarrow:\"\\u2195\",upharpoonleft:\"\\u21bf\",upharpoonright:\"\\u21be\",uplus:\"\\u228e\",upsi:\"\\u03c5\",upsih:\"\\u03d2\",upsilon:\"\\u03c5\",upuparrows:\"\\u21c8\",urcorn:\"\\u231d\",urcorner:\"\\u231d\",urcrop:\"\\u230e\",uring:\"\\u016f\",urtri:\"\\u25f9\",uscr:\"\\ud835\\udcca\",utdot:\"\\u22f0\",utilde:\"\\u0169\",utri:\"\\u25b5\",utrif:\"\\u25b4\",uuarr:\"\\u21c8\",uum:\"\\xfc\",uuml:\"\\xfc\",uwangle:\"\\u29a7\",vArr:\"\\u21d5\",vBar:\"\\u2ae8\",vBarv:\"\\u2ae9\",vDash:\"\\u22a8\",vangrt:\"\\u299c\",varepsilon:\"\\u03f5\",varkappa:\"\\u03f0\",varnothing:\"\\u2205\",varphi:\"\\u03d5\",varpi:\"\\u03d6\",varpropto:\"\\u221d\",varr:\"\\u2195\",varrho:\"\\u03f1\",varsigma:\"\\u03c2\",varsubsetneq:\"\\u228a\\ufe00\",varsubsetneqq:\"\\u2acb\\ufe00\",varsupsetneq:\"\\u228b\\ufe00\",varsupsetneqq:\"\\u2acc\\ufe00\",vartheta:\"\\u03d1\",vartriangleleft:\"\\u22b2\",vartriangleright:\"\\u22b3\",vcy:\"\\u0432\",vdash:\"\\u22a2\",vee:\"\\u2228\",veebar:\"\\u22bb\",veeeq:\"\\u225a\",vellip:\"\\u22ee\",verbar:\"|\",vert:\"|\",vfr:\"\\ud835\\udd33\",vltri:\"\\u22b2\",vnsub:\"\\u2282\\u20d2\",vnsup:\"\\u2283\\u20d2\",vopf:\"\\ud835\\udd67\",vprop:\"\\u221d\",vrtri:\"\\u22b3\",vscr:\"\\ud835\\udccb\",vsubnE:\"\\u2acb\\ufe00\",vsubne:\"\\u228a\\ufe00\",vsupnE:\"\\u2acc\\ufe00\",vsupne:\"\\u228b\\ufe00\",vzigzag:\"\\u299a\",wcirc:\"\\u0175\",wedbar:\"\\u2a5f\",wedge:\"\\u2227\",wedgeq:\"\\u2259\",weierp:\"\\u2118\",wfr:\"\\ud835\\udd34\",wopf:\"\\ud835\\udd68\",wp:\"\\u2118\",wr:\"\\u2240\",wreath:\"\\u2240\",wscr:\"\\ud835\\udccc\",xcap:\"\\u22c2\",xcirc:\"\\u25ef\",xcup:\"\\u22c3\",xdtri:\"\\u25bd\",xfr:\"\\ud835\\udd35\",xhArr:\"\\u27fa\",xharr:\"\\u27f7\",xi:\"\\u03be\",xlArr:\"\\u27f8\",xlarr:\"\\u27f5\",xmap:\"\\u27fc\",xnis:\"\\u22fb\",xodot:\"\\u2a00\",xopf:\"\\ud835\\udd69\",xoplus:\"\\u2a01\",xotime:\"\\u2a02\",xrArr:\"\\u27f9\",xrarr:\"\\u27f6\",xscr:\"\\ud835\\udccd\",xsqcup:\"\\u2a06\",xuplus:\"\\u2a04\",xutri:\"\\u25b3\",xvee:\"\\u22c1\",xwedge:\"\\u22c0\",yacut:\"\\xfd\",yacute:\"\\xfd\",yacy:\"\\u044f\",ycirc:\"\\u0177\",ycy:\"\\u044b\",ye:\"\\xa5\",yen:\"\\xa5\",yfr:\"\\ud835\\udd36\",yicy:\"\\u0457\",yopf:\"\\ud835\\udd6a\",yscr:\"\\ud835\\udcce\",yucy:\"\\u044e\",yum:\"\\xff\",yuml:\"\\xff\",zacute:\"\\u017a\",zcaron:\"\\u017e\",zcy:\"\\u0437\",zdot:\"\\u017c\",zeetrf:\"\\u2128\",zeta:\"\\u03b6\",zfr:\"\\ud835\\udd37\",zhcy:\"\\u0436\",zigrarr:\"\\u21dd\",zopf:\"\\ud835\\udd6b\",zscr:\"\\ud835\\udccf\",zwj:\"\\u200d\",zwnj:\"\\u200c\"},F=function(e){return!!A.call(v,e)&&v[e]},A={}.hasOwnProperty;var y=function(e,t){var r,n,u={};t||(t={});for(n in O)r=t[n],u[n]=null==r?O[n]:r;(u.position.indent||u.position.start)&&(u.indent=u.position.indent||[],u.position=u.position.start);return function(e,t){var r,n,u,i,o,a,c,s,l,f,D,p,d,m,E,C,v,A,y,O=t.additional,P=t.nonTerminated,j=t.text,z=t.reference,U=t.warning,M=t.textContext,G=t.referenceContext,V=t.warningContext,_=t.position,$=t.indent||[],H=e.length,X=0,W=-1,Y=_.column||1,Z=_.line||1,J=\"\",K=[];\"string\"==typeof O&&(O=O.charCodeAt(0));C=Q(),s=U?ee:x,X--,H++;for(;++X65535&&(f+=k((a-=65536)>>>10|55296),a=56320|1023&a),a=f+k(a))):m!==L&&s(4,A)),a?(te(),C=Q(),X=y-1,Y+=y-d+1,K.push(a),(v=Q()).offset++,z&&z.call(G,a,{start:C,end:v},e.slice(d-1,y)),C=v):(i=e.slice(d-1,y),J+=i,Y+=i.length,X=y-1)}else 10===o&&(Z++,W++,Y=0),o==o?(J+=k(o),Y++):te();return K.join(\"\");function Q(){return{line:Z,column:Y,offset:X+(_.offset||0)}}function ee(e,t){var r=Q();r.column+=t,r.offset+=t,U.call(V,I[e],r,e)}function te(){J&&(K.push(J),j&&j.call(M,J,{start:C,end:Q()}),J=\"\")}}(e,u)},w={}.hasOwnProperty,k=String.fromCharCode,x=Function.prototype,O={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},L=\"named\",B=\"hexadecimal\",T=\"decimal\",N={hexadecimal:16,decimal:10},S={};S.named=b,S[T]=m,S[B]=E;var I={};function R(e){return e>=55296&&e<=57343||e>1114111}function q(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||65535==(65535&e)||65534==(65535&e)}I[1]=\"Named character references must be terminated by a semicolon\",I[2]=\"Numeric character references must be terminated by a semicolon\",I[3]=\"Named character references cannot be empty\",I[4]=\"Numeric character references cannot be empty\",I[5]=\"Named character references must be known\",I[6]=\"Numeric character references cannot be disallowed\",I[7]=\"Numeric character references cannot be outside the permissible Unicode range\";var P=function(t){return n.raw=u,n;function r(e){for(var r=t.offset,n=e.line,u=[];++n&&n in r;)u.push((r[n]||0)+1);return{start:e,indent:u}}function n(e,n,u){y(e,{position:r(n),warning:i,text:u,reference:u,textContext:t,referenceContext:t})}function u(t,n,u){return y(t,e(u,{position:r(n),warning:i}))}function i(e,r,n){3!==n&&t.file.message(e,r)}};var j=function(e){return function(t,r){var n,u,i,o,a,c=this,s=c.offset,l=[],f=c[e+\"Methods\"],D=c[e+\"Tokenizers\"],p=r.line,d=r.column;if(!t)return l;F.now=m,F.file=c.file,h(\"\");for(;t;){for(n=-1,u=f.length,o=!1;++n\"],_=V.concat([\"~\",\"|\"]),$=_.concat([\"\\n\",'\"',\"$\",\"%\",\"&\",\"'\",\",\",\"/\",\":\",\";\",\"<\",\"=\",\"?\",\"@\",\"^\"]);function H(e){var t=e||{};return t.commonmark?$:t.gfm?_:V}H.default=V,H.gfm=_,H.commonmark=$;var X={position:!0,gfm:!0,commonmark:!1,pedantic:!1,blocks:[\"address\",\"article\",\"aside\",\"base\",\"basefont\",\"blockquote\",\"body\",\"caption\",\"center\",\"col\",\"colgroup\",\"dd\",\"details\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"meta\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"pre\",\"section\",\"source\",\"title\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"]},W=function(t){var r,n,u=this,i=u.options;if(null==t)t={};else{if(\"object\"!=typeof t)throw new Error(\"Invalid value `\"+t+\"` for setting `options`\");t=e(t)}for(r in X){if(null==(n=t[r])&&(n=i[r]),\"blocks\"!==r&&\"boolean\"!=typeof n||\"blocks\"===r&&\"object\"!=typeof n)throw new Error(\"Invalid value `\"+n+\"` for setting `options.\"+r+\"`\");t[r]=n}return u.options=t,u.escape=G(t),u};var Y=Z;function Z(e){if(\"string\"==typeof e)return function(e){return t;function t(t){return Boolean(t&&t.type===e)}}(e);if(null==e)return Q;if(\"object\"==typeof e)return(\"length\"in e?K:J)(e);if(\"function\"==typeof e)return e;throw new Error(\"Expected function, string, or object as test\")}function J(e){return function(t){var r;for(r in e)if(t[r]!==e[r])return!1;return!0}}function K(e){var t=function(e){for(var t=[],r=e.length,n=-1;++nu&&a\n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */;var me,Ee=\"\",Ce=function(e,t){if(\"string\"!=typeof e)throw new TypeError(\"expected a string\");if(1===t)return e;if(2===t)return e+e;var r=e.length*t;if(me!==e||void 0===me)me=e,Ee=\"\";else if(Ee.length>=r)return Ee.substr(0,r);for(;r>Ee.length&&t>1;)1&t&&(Ee+=e),t>>=1,e+=e;return Ee=(Ee+=e).substr(0,r)};var be=function(e){var t=String(e),r=t.length;for(;\"\\n\"===t.charAt(--r););return t.slice(0,r+1)};var ve=function(e,t,r){var n,u,i,o=-1,a=t.length,c=\"\",s=\"\",l=\"\",f=\"\";for(;++o=4)){for(s=\"\";C\"!==t.charAt(F))return;if(r)return!0;F=0;for(;F\"===t.charAt(F)?(F++,l=!0,\" \"===t.charAt(F)&&F++):F=s,a=t.slice(F,o),!l&&!xe(a)){F=s;break}if(!l&&(i=t.slice(F),Oe(h,d,D,[e,i,!0])))break;c=s===F?a:t.slice(s,o),v.push(F-s),C.push(c),b.push(a),F=o+1}F=-1,E=v.length,n=e(C.join(\"\\n\"));for(;++F6)return;if(!i||!o&&t.charAt(c+1)===Se)return;a=t.length+1,u=\"\";for(;++c=3&&(!n||\"\\n\"===n)?(s+=o,!!r||e(s)({type:\"thematicBreak\"})):void 0;o+=n}};var Re=function(e){var t,r=0,n=0,u=e.charAt(r),i={},o=0;for(;\"\\t\"===u||\" \"===u;){for(n+=t=\"\\t\"===u?4:1,t>1&&(n=Math.floor(n/t)*t);o0&&n.indent=b.indent&&(k=!0),o=t.charAt(N),f=null,!k){if(\"*\"===o||\"+\"===o||\"-\"===o)f=o,N++,n++;else{for(u=\"\";N=b.indent||n>4):k=!0,l=!1,N=s;if(p=t.slice(s,c),D=s===N?p:t.slice(N,c),(\"*\"===f||\"_\"===f||\"-\"===f)&&B.thematicBreak.call(x,e,p,!0))break;if(d=h,h=!l&&!xe(D).length,k&&b)b.value=b.value.concat(C,p),E=E.concat(C,p),C=[];else if(l)0!==C.length&&(R=!0,b.value.push(\"\"),b.trail=C.concat()),b={value:[p],indent:n,trail:[]},g.push(b),E=E.concat(C,p),C=[];else if(h){if(d&&!O)break;C.push(p)}else{if(d)break;if(Oe(T,B,x,[e,p,!0]))break;b.value=b.value.concat(C,p),E=E.concat(C,p),C=[]}N=c+1}A=e(E.join(ze)).reset({type:\"list\",ordered:i,start:I,spread:R,children:[]}),v=x.enterList(),F=x.enterBlock(),N=-1,S=g.length;for(;++N=3){l--;break}f+=i}n=\"\",u=\"\";for(;++l`\\\\u0000-\\\\u0020]+|'[^']*'|\\\"[^\\\"]*\\\"))?)*\\\\s*\\\\/?>\",Je=\"<\\\\/[A-Za-z][A-Za-z0-9\\\\-]*\\\\s*>\",Ke={openCloseTag:new RegExp(\"^(?:\"+Ze+\"|\"+Je+\")\"),tag:new RegExp(\"^(?:\"+Ze+\"|\"+Je+\"|\\x3c!----\\x3e|\\x3c!--(?:-?[^>-])(?:-?[^-])*--\\x3e|<[?].*?[?]>|]*>|)\")},Qe=function(e,t,r){var n,u,i,o,a,c,s,l=this.options.blocks.join(\"|\"),f=new RegExp(\"^|$))\",\"i\"),D=t.length,p=0,d=[[et,tt,!0],[rt,nt,!0],[ut,it,!0],[ot,at,!0],[ct,st,!0],[f,lt,!0],[ft,lt,!1]];for(;p|$))/i,tt=/<\\/(script|pre|style)>/i,rt=/^/,ut=/^<\\?/,it=/\\?>/,ot=/^/,ct=/^/,lt=/^$/,ft=new RegExp(Ke.openCloseTag.source+\"\\\\s*$\");var Dt=function(e){return dt.test(\"number\"==typeof e?pt(e):e.charAt(0))},pt=String.fromCharCode,dt=/\\s/;var ht=function(e){return String(e).replace(/\\s+/g,\" \")};var gt=function(e){return ht(e).toLowerCase()};var mt=function(e,t,r){var n,u,i,o,a,c,s,l,f=this,D=f.options.commonmark,p=0,d=t.length,h=\"\";for(;p\"!==e&&\"[\"!==e&&e!==vt}function At(e){return\"[\"!==e&&e!==vt&&!Dt(e)}Ft.delimiter=\">\";var yt=function(e,t,r){var n,u,i,o,a,c,s,l,f,D,p,d,h,g,m,E,C,b,v,F,A,y;if(!this.options.gfm)return;n=0,E=0,c=t.length+1,s=[];for(;nF){if(E<2)return;break}s.push(t.slice(n,F)),E++,n=F+1}o=s.join(wt),u=s.splice(1,1)[0]||[],n=0,c=u.length,E--,i=!1,p=[];for(;n1&&(f?(o+=l.slice(0,-1),l=l.charAt(l.length-1)):(o+=l,l=\"\")),g=e.now(),e(o)({type:\"tableCell\",children:this.tokenizeInline(d,g)},a)),e(l+f),l=\"\",d=\"\"):(l&&(d+=l,l=\"\"),d+=f,\"\\\\\"===f&&n!==c-2&&(d+=C.charAt(n+1),n++)),h=!1,n++):(d?l+=f:e(f),n++);m||e(wt+u)}return v},wt=\"\\n\",kt=\"left\";var xt=function(e,t,r){var n,u,i,o,a,c=this,s=c.options.commonmark,l=c.blockTokenizers,f=c.interruptParagraph,D=t.indexOf(Ot),p=t.length;for(;D=4&&i!==Ot){D=t.indexOf(Ot,D+1);continue}}if(u=t.slice(D+1),Oe(f,l,c,[e,u,!0]))break;if(n=D,-1!==(D=t.indexOf(Ot,D+1))&&\"\"===xe(t.slice(n,D))){D=n;break}}if(u=t.slice(0,D),r)return!0;return a=e.now(),u=be(u),e(u)({type:\"paragraph\",children:c.tokenizeInline(u,a)})},Ot=\"\\n\";var Lt=function(e,t){return e.indexOf(\"\\\\\",t)};var Bt=Tt;Tt.locator=Lt;function Tt(e,t,r){var n,u;if(\"\\\\\"===t.charAt(0)&&(n=t.charAt(1),-1!==this.escape.indexOf(n)))return!!r||(u=\"\\n\"===n?{type:\"break\"}:{type:\"text\",value:n},e(\"\\\\\"+n)(u))}var Nt=function(e,t){return e.indexOf(\"<\",t)};var St=qt;qt.locator=Nt,qt.notInLink=!0;var It=\"mailto:\",Rt=It.length;function qt(e,t,r){var n,u,i,o,a,c=this,s=\"\",l=t.length,f=0,D=\"\",p=!1,d=\"\";if(\"<\"===t.charAt(0)){for(f++,s=\"<\";f\"===n||\"@\"===n||\":\"===n&&\"/\"===t.charAt(f+1)));)D+=n,f++;if(D){if(d+=D,D=\"\",d+=n=t.charAt(f),f++,\"@\"===n)p=!0;else{if(\":\"!==n||\"/\"!==t.charAt(f+1))return;d+=\"/\",f++}for(;f\"!==n);)D+=n,f++;if(n=t.charAt(f),D&&\">\"===n)return!!r||(i=d+=D,s+=d+n,(u=e.now()).column++,u.offset++,p&&(d.slice(0,Rt).toLowerCase()===It?(i=i.slice(Rt),u.column+=Rt,u.offset+=Rt):d=It+d),o=c.inlineTokenizers,c.inlineTokenizers={text:o.text},a=c.enterLink(),i=c.tokenizeInline(i,u),c.inlineTokenizers=o,a(),e(s)({type:\"link\",title:null,url:y(d,{nonTerminated:!1}),children:i}))}}}var Pt=function(e,t){var r,n=String(e),u=0;if(\"string\"!=typeof t||1!==t.length)throw new Error(\"Expected character\");r=n.indexOf(t);for(;-1!==r;)u++,r=n.indexOf(t,r+1);return u};var jt=function(e,t){var r,n,u,i=-1;if(!this.options.gfm)return i;n=zt.length,r=-1;for(;++rf;)o=a+c.lastIndexOf(\")\"),c=t.slice(a,o),D--;if(59===t.charCodeAt(o-1)&&(o--,C(t.charCodeAt(o-1)))){for(l=o-2;C(t.charCodeAt(l));)l--;38===t.charCodeAt(l)&&(o=l)}return p=t.slice(0,o),h=y(p,{nonTerminated:!1}),w&&(h=\"http://\"+h),g=E.enterLink(),E.inlineTokenizers={text:v.text},d=E.tokenizeInline(p,e.now()),E.inlineTokenizers=v,g(),e(p)({type:\"link\",title:null,url:h,children:d})}}}var Gt=function e(t,r){var n,u;if(!this.options.gfm)return-1;if(-1===(n=t.indexOf(\"@\",r)))return-1;if((u=n)===r||!Vt(t.charCodeAt(u-1)))return e.call(this,t,n+1);for(;u>r&&Vt(t.charCodeAt(u-1));)u--;return u};function Vt(e){return m(e)||C(e)||43===e||45===e||46===e||95===e}var _t=$t;$t.locator=Gt,$t.notInLink=!0;function $t(e,t,r){var n,u,i,o,a=this,c=a.options.gfm,s=a.inlineTokenizers,l=0,f=t.length,D=-1;if(c){for(n=t.charCodeAt(l);m(n)||C(n)||43===n||45===n||46===n||95===n;)n=t.charCodeAt(++l);if(0!==l&&64===n){for(l++;l/i;function Zt(e,t,r){var n,u,i=this,o=t.length;if(!(\"<\"!==t.charAt(0)||o<3)&&(n=t.charAt(1),(C(n)||\"?\"===n||\"!\"===n||\"/\"===n)&&(u=t.match(Ht))))return!!r||(u=u[0],!i.inLink&&Wt.test(u)?i.inLink=!0:i.inLink&&Yt.test(u)&&(i.inLink=!1),e(u)({type:\"html\",value:u}))}var Jt=function(e,t){var r=e.indexOf(\"[\",t),n=e.indexOf(\"![\",t);if(-1===n)return r;return r=i&&(i=0):i=u}else if(y===tr)A++,c+=t.charAt(A);else if(i&&!x||\"[\"!==y){if((!i||x)&&\"]\"===y){if(!h){if(t.charAt(A+1)!==Qt)return;c+=Qt,n=!0,A++;break}h--}}else h++;g+=c,c=\"\",A++}if(n){for(f=g,F+=g+c,A++;A\"!==(y=t.charAt(A));){if(k&&\"\\n\"===y)return;g+=y,A++}if(\">\"!==t.charAt(A))return;F+=\"<\"+g+\">\",m=g,A++}else{for(y=null,c=\"\";A2&&(32===o||10===o)&&(32===a||10===a)){for(l++,s--;lt&&\" \"===e.charAt(r-1);)r--;return r};var xr=Or;Or.locator=kr;function Or(e,t,r){for(var n,u=t.length,i=-1,o=\"\";++i\n * @license MIT\n */;var Pr=Object.prototype.hasOwnProperty,jr=Object.prototype.toString,zr=Object.defineProperty,Ur=Object.getOwnPropertyDescriptor,Mr=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===jr.call(e)},Gr=function(e){if(!e||\"[object Object]\"!==jr.call(e))return!1;var t,r=Pr.call(e,\"constructor\"),n=e.constructor&&e.constructor.prototype&&Pr.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!r&&!n)return!1;for(t in e);return void 0===t||Pr.call(e,t)},Vr=function(e,t){zr&&\"__proto__\"===t.name?zr(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},_r=function(e,t){if(\"__proto__\"===t){if(!Pr.call(e,t))return;if(Ur)return Ur(e,t).value}return e[t]},$r=function e(){var t,r,n,u,i,o,a=arguments[0],c=1,s=arguments.length,l=!1;for(\"boolean\"==typeof a&&(l=a,a=arguments[1]||{},c=2),(null==a||\"object\"!=typeof a&&\"function\"!=typeof a)&&(a={});c{if(\"[object Object]\"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype},Xr=[].slice,Wr=function(e,t){var r;return function(){var t,i=Xr.call(arguments,0),o=e.length>i.length;o&&i.push(n);try{t=e.apply(null,i)}catch(e){if(o&&r)throw e;return n(e)}o||(t&&\"function\"==typeof t.then?t.then(u,n):t instanceof Error?n(t):u(t))};function n(){r||(r=!0,t.apply(null,arguments))}function u(e){n(null,e)}};var Yr=Jr;Jr.wrap=Wr;var Zr=[].slice;function Jr(){var e=[],t={run:function(){var t=-1,r=Zr.call(arguments,0,-1),n=arguments[arguments.length-1];if(\"function\"!=typeof n)throw new Error(\"Expected function as last argument, not \"+n);function u(i){var o=e[++t],a=Zr.call(arguments,0),c=a.slice(1),s=r.length,l=-1;if(i)n(i);else{for(;++l1)for(var r=1;r2){var c=n.lastIndexOf(\"/\");if(c!==n.length-1){-1===c?(n=\"\",u=0):u=(n=n.slice(0,c)).length-1-n.lastIndexOf(\"/\"),i=a,o=0;continue}}else if(2===n.length||1===n.length){n=\"\",u=0,i=a,o=0;continue}t&&(n.length>0?n+=\"/..\":n=\"..\",u=2)}else n.length>0?n+=\"/\"+e.slice(i+1,a):n=e.slice(i+1,a),u=a-i-1;i=a,o=0}else 46===r&&-1!==o?++o:o=-1}return n}var Rn={resolve:function(){for(var e,t=\"\",r=!1,n=arguments.length-1;n>=-1&&!r;n--){var u;n>=0?u=arguments[n]:(void 0===e&&(e=Nn.cwd()),u=e),Sn(u),0!==u.length&&(t=u+\"/\"+t,r=47===u.charCodeAt(0))}return t=In(t,!r),r?t.length>0?\"/\"+t:\"/\":t.length>0?t:\".\"},normalize:function(e){if(Sn(e),0===e.length)return\".\";var t=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=In(e,!t)).length||t||(e=\".\"),e.length>0&&r&&(e+=\"/\"),t?\"/\"+e:e},isAbsolute:function(e){return Sn(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return\".\";for(var e,t=0;t0&&(void 0===e?e=r:e+=\"/\"+r)}return void 0===e?\".\":Rn.normalize(e)},relative:function(e,t){if(Sn(e),Sn(t),e===t)return\"\";if((e=Rn.resolve(e))===(t=Rn.resolve(t)))return\"\";for(var r=1;ra){if(47===t.charCodeAt(i+s))return t.slice(i+s+1);if(0===s)return t.slice(i+s)}else u>a&&(47===e.charCodeAt(r+s)?c=s:0===s&&(c=0));break}var l=e.charCodeAt(r+s);if(l!==t.charCodeAt(i+s))break;47===l&&(c=s)}var f=\"\";for(s=r+c+1;s<=n;++s)s!==n&&47!==e.charCodeAt(s)||(0===f.length?f+=\"..\":f+=\"/..\");return f.length>0?f+t.slice(i+c):(i+=c,47===t.charCodeAt(i)&&++i,t.slice(i))},_makeLong:function(e){return e},dirname:function(e){if(Sn(e),0===e.length)return\".\";for(var t=e.charCodeAt(0),r=47===t,n=-1,u=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!u){n=i;break}}else u=!1;return-1===n?r?\"/\":\".\":r&&1===n?\"//\":e.slice(0,n)},basename:function(e,t){if(void 0!==t&&\"string\"!=typeof t)throw new TypeError('\"ext\" argument must be a string');Sn(e);var r,n=0,u=-1,i=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return\"\";var o=t.length-1,a=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!i){n=r+1;break}}else-1===a&&(i=!1,a=r+1),o>=0&&(c===t.charCodeAt(o)?-1==--o&&(u=r):(o=-1,u=a))}return n===u?u=a:-1===u&&(u=e.length),e.slice(n,u)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!i){n=r+1;break}}else-1===u&&(i=!1,u=r+1);return-1===u?\"\":e.slice(n,u)},extname:function(e){Sn(e);for(var t=-1,r=0,n=-1,u=!0,i=0,o=e.length-1;o>=0;--o){var a=e.charCodeAt(o);if(47!==a)-1===n&&(u=!1,n=o+1),46===a?-1===t?t=o:1!==i&&(i=1):-1!==t&&(i=-1);else if(!u){r=o+1;break}}return-1===t||-1===n||0===i||1===i&&t===n-1&&t===r+1?\"\":e.slice(t,n)},format:function(e){if(null===e||\"object\"!=typeof e)throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||\"\")+(t.ext||\"\");return r?r===t.root?r+n:r+e+n:n}(\"/\",e)},parse:function(e){Sn(e);var t={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(0===e.length)return t;var r,n=e.charCodeAt(0),u=47===n;u?(t.root=\"/\",r=1):r=0;for(var i=-1,o=0,a=-1,c=!0,s=e.length-1,l=0;s>=r;--s)if(47!==(n=e.charCodeAt(s)))-1===a&&(c=!1,a=s+1),46===n?-1===i?i=s:1!==l&&(l=1):-1!==i&&(l=-1);else if(!c){o=s+1;break}return-1===i||-1===a||0===l||1===l&&i===a-1&&i===o+1?-1!==a&&(t.base=t.name=0===o&&u?e.slice(1,a):e.slice(o,a)):(0===o&&u?(t.name=e.slice(1,i),t.base=e.slice(1,a)):(t.name=e.slice(o,i),t.base=e.slice(o,a)),t.ext=e.slice(i,a)),o>0?t.dir=e.slice(0,o-1):u&&(t.dir=\"/\"),t},sep:\"/\",delimiter:\":\",win32:null,posix:null};Rn.posix=Rn;var qn=Rn,Pn=n(Object.freeze(Object.assign(Object.create(null),qn,{default:qn,__moduleExports:qn})));var jn=function(e,t){if(\"string\"!=typeof e)return e;if(0===e.length)return e;var r=Pn.basename(e,Pn.extname(e))+t;return Pn.join(Pn.dirname(e),r)},zn=function(e){return null!=e&&null!=e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},Un=_n,Mn={}.hasOwnProperty,Gn=_n.prototype,Vn=[\"history\",\"path\",\"basename\",\"stem\",\"extname\",\"dirname\"];\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */function _n(e){var t,r,n;if(e){if(\"string\"==typeof e||zn(e))e={contents:e};else if(\"message\"in e&&\"messages\"in e)return e}else e={};if(!(this instanceof _n))return new _n(e);for(this.data={},this.messages=[],this.history=[],this.cwd=Nn.cwd(),r=-1,n=Vn.length;++r57)&&(!D||a===cu)){s=d-1,d++,D&&d++,l=d;break}}else 92===o&&(d++,a=r.charCodeAt(d+1));d++}if(void 0!==l)return!!n||(f=r.slice(c,s+1),e(r.slice(0,l))({type:\"inlineMath\",value:f,data:{hName:\"span\",hProperties:{className:su.concat(D&&t.inlineMathDouble?[lu]:[])},hChildren:[{type:\"text\",value:f}]}}))}}}i.locator=u,r.inlineTokenizers.math=i,n.splice(n.indexOf(\"text\"),0,\"math\")}(t,e);ou.isRemarkCompiler(r)&&function(e){function t(e){let t=\"$\";return(e.data&&e.data.hProperties&&e.data.hProperties.className||[]).includes(lu)&&(t=\"$$\"),t+e.value+t}e.prototype.visitors.inlineMath=t}(r)};const cu=36,su=[\"math\",\"math-inline\"],lu=\"math-display\";var fu=function(){const e=this.Parser,t=this.Compiler;ou.isRemarkParser(e)&&function(e){const t=e.prototype,r=t.blockMethods,n=t.interruptParagraph,u=t.interruptList,i=t.interruptBlockquote;function o(e,t,r){var n=t.length,u=0;let i,o,a,c,s,l,f,D,p,d,h;for(;ud&&t.charCodeAt(c-1)===Du;)c--;for(;c>d&&t.charCodeAt(c-1)===pu;)p++,c--;for(l<=p&&t.indexOf(\"$\",d)===c&&(D=!0,h=c);d<=h&&d-ud&&t.charCodeAt(h-1)===Du;)h--;if(D&&d===h||o.push(t.slice(d,h)),D)break;u=a+1,a=t.indexOf(du,u+1),a=-1===a?n:a}return o=o.join(\"\\n\"),e(t.slice(0,a))({type:\"math\",value:o,data:{hName:\"div\",hProperties:{className:hu.concat()},hChildren:[{type:\"text\",value:o}]}})}}}t.blockTokenizers.math=o,r.splice(r.indexOf(\"fencedCode\")+1,0,\"math\"),n.splice(n.indexOf(\"fencedCode\")+1,0,[\"math\"]),u.splice(u.indexOf(\"fencedCode\")+1,0,[\"math\"]),i.splice(i.indexOf(\"fencedCode\")+1,0,[\"math\"])}(e);ou.isRemarkCompiler(t)&&function(e){function t(e){return\"$$\\n\"+e.value+\"\\n$$\"}e.prototype.visitors.math=t}(t)};const Du=32,pu=36,du=\"\\n\",hu=[\"math\",\"math-display\"];var gu=function(e){var t=e||{};fu.call(this,t),au.call(this,t)};var mu=function(e){var t=this.Parser,r=this.Compiler;(function(e){return Boolean(e&&e.prototype&&e.prototype.blockTokenizers)})(t)&&function(e,t){var r,n=t||{},u=e.prototype,i=u.blockTokenizers,o=u.inlineTokenizers,a=u.blockMethods,c=u.inlineMethods,s=i.definition,l=o.reference,f=[],D=-1,p=a.length;for(;++D4&&(p=void 0,d=v);else{if(p<4&&g&&(g.contentStart===g.contentEnd||wu(E,i,m,[e,t.slice(v,1024),!0])))break;p=void 0,d=v}v++}for(v=-1,b=h.length;b>0&&(g=h[b-1]).contentStart===g.contentEnd;)b--;for(s=e(t.slice(0,g.contentEnd));++v{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function xu(e){return{type:\"concat\",parts:e}}function Ou(e){return{type:\"indent\",contents:e}}function Lu(e,t){return{type:\"align\",contents:t,n:e}}function Bu(e,t){return{type:\"group\",id:(t=t||{}).id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}const Tu={type:\"break-parent\"},Nu=xu([{type:\"line\",hard:!0},Tu]),Su=xu([{type:\"line\",hard:!0,literal:!0},Tu]);var Iu={concat:xu,join:function(e,t){const r=[];for(let n=0;n0){for(let e=0;e\"string\"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(t,e?void 0:\"g\")})(),\"\"):e;const qu=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var Pu=qu,ju=qu;Pu.default=ju;const zu=e=>{if(\"string\"!=typeof(e=e.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\" \"))||0===e.length)return 0;e=Ru(e);let t=0;for(let r=0;r=127&&n<=159||(n>=768&&n<=879||(n>65535&&r++,t+=Pu(n)?2:1))}return t};var Uu=zu,Mu=zu;Uu.default=Mu;function Gu(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Vu=\"object\"==typeof Nn&&Nn.env&&Nn.env.NODE_DEBUG&&/\\bsemver\\b/i.test(Nn.env.NODE_DEBUG)?(...e)=>console.error(\"SEMVER\",...e):()=>{};var _u={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},$u=r((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=_u,n=(t=e.exports={}).re=[],u=t.src=[],i=t.t={};let o=0;const a=(e,t,r)=>{const a=o++;Vu(a,t),i[e]=a,u[a]=t,n[a]=new RegExp(t,r?\"g\":void 0)};a(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),a(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),a(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),a(\"MAINVERSION\",\"(\".concat(u[i.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(u[i.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(u[i.NUMERICIDENTIFIER],\")\")),a(\"MAINVERSIONLOOSE\",\"(\".concat(u[i.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(u[i.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(u[i.NUMERICIDENTIFIERLOOSE],\")\")),a(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(u[i.NUMERICIDENTIFIER],\"|\").concat(u[i.NONNUMERICIDENTIFIER],\")\")),a(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(u[i.NUMERICIDENTIFIERLOOSE],\"|\").concat(u[i.NONNUMERICIDENTIFIER],\")\")),a(\"PRERELEASE\",\"(?:-(\".concat(u[i.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(u[i.PRERELEASEIDENTIFIER],\")*))\")),a(\"PRERELEASELOOSE\",\"(?:-?(\".concat(u[i.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(u[i.PRERELEASEIDENTIFIERLOOSE],\")*))\")),a(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),a(\"BUILD\",\"(?:\\\\+(\".concat(u[i.BUILDIDENTIFIER],\"(?:\\\\.\").concat(u[i.BUILDIDENTIFIER],\")*))\")),a(\"FULLPLAIN\",\"v?\".concat(u[i.MAINVERSION]).concat(u[i.PRERELEASE],\"?\").concat(u[i.BUILD],\"?\")),a(\"FULL\",\"^\".concat(u[i.FULLPLAIN],\"$\")),a(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(u[i.MAINVERSIONLOOSE]).concat(u[i.PRERELEASELOOSE],\"?\").concat(u[i.BUILD],\"?\")),a(\"LOOSE\",\"^\".concat(u[i.LOOSEPLAIN],\"$\")),a(\"GTLT\",\"((?:<|>)?=?)\"),a(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(u[i.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),a(\"XRANGEIDENTIFIER\",\"\".concat(u[i.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),a(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(u[i.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(u[i.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(u[i.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(u[i.PRERELEASE],\")?\").concat(u[i.BUILD],\"?\")+\")?)?\"),a(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(u[i.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(u[i.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(u[i.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(u[i.PRERELEASELOOSE],\")?\").concat(u[i.BUILD],\"?\")+\")?)?\"),a(\"XRANGE\",\"^\".concat(u[i.GTLT],\"\\\\s*\").concat(u[i.XRANGEPLAIN],\"$\")),a(\"XRANGELOOSE\",\"^\".concat(u[i.GTLT],\"\\\\s*\").concat(u[i.XRANGEPLAINLOOSE],\"$\")),a(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(r,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(r,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(r,\"}))?\")+\"(?:$|[^\\\\d])\"),a(\"COERCERTL\",u[i.COERCE],!0),a(\"LONETILDE\",\"(?:~>?)\"),a(\"TILDETRIM\",\"(\\\\s*)\".concat(u[i.LONETILDE],\"\\\\s+\"),!0),t.tildeTrimReplace=\"$1~\",a(\"TILDE\",\"^\".concat(u[i.LONETILDE]).concat(u[i.XRANGEPLAIN],\"$\")),a(\"TILDELOOSE\",\"^\".concat(u[i.LONETILDE]).concat(u[i.XRANGEPLAINLOOSE],\"$\")),a(\"LONECARET\",\"(?:\\\\^)\"),a(\"CARETTRIM\",\"(\\\\s*)\".concat(u[i.LONECARET],\"\\\\s+\"),!0),t.caretTrimReplace=\"$1^\",a(\"CARET\",\"^\".concat(u[i.LONECARET]).concat(u[i.XRANGEPLAIN],\"$\")),a(\"CARETLOOSE\",\"^\".concat(u[i.LONECARET]).concat(u[i.XRANGEPLAINLOOSE],\"$\")),a(\"COMPARATORLOOSE\",\"^\".concat(u[i.GTLT],\"\\\\s*(\").concat(u[i.LOOSEPLAIN],\")$|^$\")),a(\"COMPARATOR\",\"^\".concat(u[i.GTLT],\"\\\\s*(\").concat(u[i.FULLPLAIN],\")$|^$\")),a(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(u[i.GTLT],\"\\\\s*(\").concat(u[i.LOOSEPLAIN],\"|\").concat(u[i.XRANGEPLAIN],\")\"),!0),t.comparatorTrimReplace=\"$1$2$3\",a(\"HYPHENRANGE\",\"^\\\\s*(\".concat(u[i.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(u[i.XRANGEPLAIN],\")\")+\"\\\\s*$\"),a(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(u[i.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(u[i.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),a(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),a(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),a(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")}));const Hu=/^[0-9]+$/,Xu=(e,t)=>{const r=Hu.test(e),n=Hu.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:eXu(t,e)};const{MAX_LENGTH:Yu,MAX_SAFE_INTEGER:Zu}=_u,{re:Ju,t:Ku}=$u,{compareIdentifiers:Qu}=Wu;class ei{constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof ei){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \".concat(e));if(e.length>Yu)throw new TypeError(\"version is longer than \".concat(Yu,\" characters\"));Vu(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?Ju[Ku.LOOSE]:Ju[Ku.FULL]);if(!r)throw new TypeError(\"Invalid Version: \".concat(e));if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>Zu||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>Zu||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>Zu||this.patch<0)throw new TypeError(\"Invalid patch version\");r[4]?this.prerelease=r[4].split(\".\").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)\"number\"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(\"invalid increment argument: \".concat(e))}return this.format(),this.raw=this.version,this}}var ti=ei;var ri=(e,t,r)=>new ti(e,r).compare(new ti(t,r));var ni=(e,t,r)=>ri(e,t,r)<0;var ui=(e,t,r)=>ri(e,t,r)>=0,ii=\"2.2.0\",oi=r((function(e,t){function r(){for(var e=[],t=0;t\"string\"==typeof e||\"function\"==typeof e,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:mi,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin\",cliCategory:di},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:mi,description:pi(li()),exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin-search-dir\",cliCategory:di},printWidth:{since:\"0.0.0\",category:mi,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:Ei,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:pi(si()),cliCategory:hi},rangeStart:{since:\"1.4.0\",category:Ei,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:pi(ci()),cliCategory:hi},requirePragma:{since:\"1.7.0\",category:Ei,type:\"boolean\",default:!1,description:pi(ai()),cliCategory:gi},tabWidth:{type:\"int\",category:mi,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:mi,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:mi,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};const bi={compare:ri,lt:ni,gte:ui},vi=ii,Fi={CATEGORY_CONFIG:di,CATEGORY_EDITOR:hi,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:gi,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:mi,CATEGORY_SPECIAL:Ei,options:Ci}.options;var Ai={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:n=!1}={}){const u=vi.split(\"-\",1)[0],i=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(s),o=(a=Object.assign({},...e.map((({options:e})=>e)),Fi),c=\"name\",Object.entries(a).map((([e,t])=>Object.assign({[c]:e},t)))).filter((e=>s(e)&&l(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(u[r]=e[r]);return u}(e,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(s).sort(((e,t)=>bi.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>s(e)&&l(e))),\"parser\"===t.name&&function(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const u of t)if(u.parsers)for(const t of u.parsers)if(!n.has(t)){n.add(t);const i=r.find((e=>e.parsers&&e.parsers[t]));let o=u.name;i&&i.name&&(o+=\" (plugin: \".concat(i.name,\")\")),e.choices.push({value:t,description:o})}}(t,i,e));const r=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,r)=>(e[r.name]=r.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:r})}));var a,c;return{languages:i,options:o};function s(e){return t||!(\"since\"in e)||e.since&&bi.gte(u,e.since)}function l(e){return r||!(\"deprecated\"in e)||e.deprecated&&bi.lt(u,e.deprecated)}}};const{getSupportInfo:yi}=Ai,wi=/[^\\x20-\\x7F]/;function ki(e){return(t,r,n)=>{const u=n&&n.backwards;if(!1===r)return!1;const{length:i}=t;let o=r;for(;o>=0&&o(r.match(o.regex)||[]).length?o.quote:i.quote}return a}function Ui(e,t,r){const n='\"'===t?\"'\":'\"',u=e.replace(/\\\\([\\S\\s])|([\"'])/g,((e,u,i)=>u===n?u:i===t?\"\\\\\"+i:i||(r&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(u)?u:\"\\\\\"+u)));return t+u+t}function Mi(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,\"JSXText\"===e.type&&(t.printed=!0)}var Gi={inferParserByLanguage:function(e,t){const{languages:r}=yi({plugins:t.plugins}),n=r.find((({name:t})=>t.toLowerCase()===e))||r.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||r.find((({extensions:t})=>Array.isArray(t)&&t.includes(\".\".concat(e))));return n&&n.parsers[0]},replaceEndOfLineWith:function(e,t){const r=[];for(const n of e.split(\"\\n\"))0!==r.length&&r.push(t),r.push(n);return r},getStringWidth:function(e){return e?wi.test(e)?Uu(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp(\"(\".concat(ku(t),\")+\"),\"g\"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp(\"(\".concat(ku(t),\")+\"),\"g\"));if(null===r)return 0;const n=new Map;let u=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>u&&(u=r)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:qi,getNextNonSpaceNonCommentCharacterIndex:Pi,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(Pi(e,t,r))},skip:ki,skipWhitespace:xi,skipSpaces:Oi,skipToLineEnd:Li,skipEverythingButNewLine:Bi,skipInlineComment:Ti,skipTrailingComment:Ni,skipNewline:Si,isNextLineEmptyAfterIndex:Ri,isNextLineEmpty:function(e,t,r){return Ri(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=Oi(e,n,{backwards:!0}),n=Si(e,n,{backwards:!0}),n=Oi(e,n,{backwards:!0}),n!==Si(e,n,{backwards:!0})},hasNewline:Ii,hasNewlineInRange:function(e,t,r){for(let n=t;n=0?\"\\n\"===e.charAt(t+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(e){switch(e){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(e,t){let r;if(\"\\n\"===t)r=/\\n/g;else if(\"\\r\"===t)r=/\\r/g;else{if(\"\\r\\n\"!==t)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(t),\".\"));r=/\\r\\n/g}const n=e.match(r);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\\r\\n?/g,\"\\n\")}};const{getStringWidth:_i}=Gi,{convertEndOfLineToChars:$i}=Vi,{concat:Hi,fill:Xi,cursor:Wi}=Iu;let Yi;function Zi(e,t){return Ki(e,{type:\"indent\"},t)}function Ji(e,t,r){if(t===-1/0)return e.root||{value:\"\",length:0,queue:[]};if(t<0)return Ki(e,{type:\"dedent\"},r);if(!t)return e;if(\"root\"===t.type)return Object.assign({},e,{root:e});return Ki(e,{type:\"string\"==typeof t?\"stringAlign\":\"numberAlign\",n:t},r)}function Ki(e,t,r){const n=\"dedent\"===t.type?e.queue.slice(0,-1):e.queue.concat(t);let u=\"\",i=0,o=0,a=0;for(const e of n)switch(e.type){case\"indent\":l(),r.useTabs?c(1):s(r.tabWidth);break;case\"stringAlign\":l(),u+=e.n,i+=e.n.length;break;case\"numberAlign\":o+=1,a+=e.n;break;default:throw new Error(\"Unexpected type '\".concat(e.type,\"'\"))}return f(),Object.assign({},e,{value:u,length:i,queue:n});function c(e){u+=\"\\t\".repeat(e),i+=r.tabWidth*e}function s(e){u+=\" \".repeat(e),i+=e}function l(){r.useTabs?function(){o>0&&c(o);D()}():f()}function f(){a>0&&s(a),D()}function D(){o=0,a=0}}function Qi(e){if(0===e.length)return 0;let t=0;for(;e.length>0&&\"string\"==typeof e[e.length-1]&&e[e.length-1].match(/^[\\t ]*$/);)t+=e.pop().length;if(e.length&&\"string\"==typeof e[e.length-1]){const r=e[e.length-1].replace(/[\\t ]*$/,\"\");t+=e[e.length-1].length-r.length,e[e.length-1]=r}return t}function eo(e,t,r,n,u){let i=t.length;const o=[e],a=[];for(;r>=0;){if(0===o.length){if(0===i)return!0;o.push(t[i-1]),i--;continue}const[e,c,s]=o.pop();if(\"string\"==typeof s)a.push(s),r-=_i(s);else switch(s.type){case\"concat\":for(let t=s.parts.length-1;t>=0;t--)o.push([e,c,s.parts[t]]);break;case\"indent\":o.push([Zi(e,n),c,s.contents]);break;case\"align\":o.push([Ji(e,s.n,n),c,s.contents]);break;case\"trim\":r+=Qi(a);break;case\"group\":if(u&&s.break)return!1;o.push([e,s.break?1:c,s.contents]),s.id&&(Yi[s.id]=o[o.length-1][1]);break;case\"fill\":for(let t=s.parts.length-1;t>=0;t--)o.push([e,c,s.parts[t]]);break;case\"if-break\":{const t=s.groupId?Yi[s.groupId]:c;1===t&&s.breakContents&&o.push([e,c,s.breakContents]),2===t&&s.flatContents&&o.push([e,c,s.flatContents]);break}case\"line\":switch(c){case 2:if(!s.hard){s.soft||(a.push(\" \"),r-=1);break}return!0;case 1:return!0}}}return!1}var to={printDocToString:function(e,t){Yi={};const r=t.printWidth,n=$i(t.endOfLine);let u=0;const i=[[{value:\"\",length:0,queue:[]},1,e]],o=[];let a=!1,c=[];for(;0!==i.length;){const[e,s,l]=i.pop();if(\"string\"==typeof l){const e=\"\\n\"!==n&&l.includes(\"\\n\")?l.replace(/\\n/g,n):l;o.push(e),u+=_i(e)}else switch(l.type){case\"cursor\":o.push(Wi.placeholder);break;case\"concat\":for(let t=l.parts.length-1;t>=0;t--)i.push([e,s,l.parts[t]]);break;case\"indent\":i.push([Zi(e,t),s,l.contents]);break;case\"align\":i.push([Ji(e,l.n,t),s,l.contents]);break;case\"trim\":u-=Qi(o);break;case\"group\":switch(s){case 2:if(!a){i.push([e,l.break?1:2,l.contents]);break}case 1:{a=!1;const n=[e,2,l.contents],o=r-u;if(!l.break&&eo(n,i,o,t))i.push(n);else if(l.expandedStates){const r=l.expandedStates[l.expandedStates.length-1];if(l.break){i.push([e,1,r]);break}for(let n=1;n=l.expandedStates.length){i.push([e,1,r]);break}{const r=[e,2,l.expandedStates[n]];if(eo(r,i,o,t)){i.push(r);break}}}}else i.push([e,1,l.contents]);break}}l.id&&(Yi[l.id]=i[i.length-1][1]);break;case\"fill\":{const n=r-u,{parts:o}=l;if(0===o.length)break;const[a,c]=o,f=[e,2,a],D=[e,1,a],p=eo(f,[],n,t,!0);if(1===o.length){p?i.push(f):i.push(D);break}const d=[e,2,c],h=[e,1,c];if(2===o.length){p?(i.push(d),i.push(f)):(i.push(h),i.push(D));break}o.splice(0,2);const g=[e,s,Xi(o)],m=o[0];eo([e,2,Hi([a,c,m])],[],n,t,!0)?(i.push(g),i.push(d),i.push(f)):p?(i.push(g),i.push(h),i.push(f)):(i.push(g),i.push(h),i.push(D));break}case\"if-break\":{const t=l.groupId?Yi[l.groupId]:s;1===t&&l.breakContents&&i.push([e,s,l.breakContents]),2===t&&l.flatContents&&i.push([e,s,l.flatContents]);break}case\"line-suffix\":c.push([e,s,l.contents]);break;case\"line-suffix-boundary\":c.length>0&&i.push([e,s,{type:\"line\",hard:!0}]);break;case\"line\":switch(s){case 2:if(!l.hard){l.soft||(o.push(\" \"),u+=1);break}a=!0;case 1:if(c.length){i.push([e,s,l]),i.push(...c.reverse()),c=[];break}l.literal?e.root?(o.push(n,e.root.value),u=e.root.length):(o.push(n),u=0):(u-=Qi(o),o.push(n+e.value),u=e.length)}}0===i.length&&c.length&&(i.push(...c.reverse()),c=[])}const s=o.indexOf(Wi.placeholder);if(-1!==s){const e=o.indexOf(Wi.placeholder,s+1),t=o.slice(0,s).join(\"\"),r=o.slice(s+1,e).join(\"\");return{formatted:t+r+o.slice(e+1).join(\"\"),cursorNodeStart:t.length,cursorNodeText:r}}return{formatted:o.join(\"\")}}};const{literalline:ro,concat:no}=Iu,uo={};function io(e,t,r,n){const u=[e];for(;0!==u.length;){const e=u.pop();if(e!==uo){if(r&&u.push(e,uo),!t||!1!==t(e))if(\"concat\"===e.type||\"fill\"===e.type)for(let t=e.parts.length-1;t>=0;--t)u.push(e.parts[t]);else if(\"if-break\"===e.type)e.flatContents&&u.push(e.flatContents),e.breakContents&&u.push(e.breakContents);else if(\"group\"===e.type&&e.expandedStates)if(n)for(let t=e.expandedStates.length-1;t>=0;--t)u.push(e.expandedStates[t]);else u.push(e.contents);else e.contents&&u.push(e.contents)}else r(u.pop())}}function oo(e,t){if(\"concat\"===e.type||\"fill\"===e.type){const r=e.parts.map((e=>oo(e,t)));return t(Object.assign({},e,{parts:r}))}if(\"if-break\"===e.type){const r=e.breakContents&&oo(e.breakContents,t),n=e.flatContents&&oo(e.flatContents,t);return t(Object.assign({},e,{breakContents:r,flatContents:n}))}if(e.contents){const r=oo(e.contents,t);return t(Object.assign({},e,{contents:r}))}return t(e)}function ao(e,t,r){let n=r,u=!1;return io(e,(function(e){const r=t(e);if(void 0!==r&&(u=!0,n=r),u)return!1})),n}function co(e){return\"string\"!=typeof e&&(\"line\"===e.type||void 0)}function so(e){return!(\"group\"!==e.type||!e.break)||(!(\"line\"!==e.type||!e.hard)||(\"break-parent\"===e.type||void 0))}function lo(e){if(e.length>0){const t=e[e.length-1];t.expandedStates||(t.break=!0)}return null}function fo(e){return\"line\"!==e.type||e.hard?\"if-break\"===e.type?e.flatContents||\"\":e:e.soft?\"\":\" \"}function Do(e){const t=[],r=e.filter(Boolean);for(;0!==r.length;){const e=r.shift();e&&(\"concat\"!==e.type?0===t.length||\"string\"!=typeof t[t.length-1]||\"string\"!=typeof e?t.push(e):t[t.length-1]+=e:r.unshift(...e.parts))}return t}function po(e){if(\"concat\"===e.type){const t=[];for(let r=0;r0&&!t;n--)t=r[n-1];return\"group\"===t.type&&(r=t.contents.parts),r}(t):t.parts,u=n[n.length-1];if(\"concat\"===u.type)return 2===u.parts.length&&u.parts[0].hard&&\"break-parent\"===u.parts[1].type?{type:\"concat\",parts:n.slice(0,-1)}:{type:\"concat\",parts:t.parts.slice(0,-1).concat(e(u))}}return t},normalizeParts:Do,normalizeDoc:function(e){return oo(e,(e=>e.parts?Object.assign({},e,{parts:Do(e.parts)}):e))},replaceNewlinesWithLiterallines:function(e){return oo(e,(e=>\"string\"==typeof e&&e.includes(\"\\n\")?no(e.split(/(\\n)/g).map(((e,t)=>t%2==0?e:ro))):e))}},debug:{printDocToDebug:e=>ho(po(e))}};const{builders:{hardline:mo,concat:Eo,markAsRoot:Co}}=go,bo={\"---\":\"yaml\",\"+++\":\"toml\"};var vo={parse:function(e){const t=Object.keys(bo).map(ku).join(\"|\"),r=e.match(new RegExp(\"^(\".concat(t,\")([^\\\\n]*)\\\\n(?:([\\\\s\\\\S]*?)\\\\n)?\\\\1[^\\\\n\\\\S]*(\\\\n|$)\")));if(null===r)return{frontMatter:null,content:e};const[n,u,i,o]=r;let a=bo[u];return\"toml\"!==a&&i&&i.trim()&&(a=i.trim()),{frontMatter:{type:\"front-matter\",lang:a,value:o,raw:n.replace(/\\n$/,\"\")},content:n.replace(/[^\\n]/g,\" \")+e.slice(n.length)}},print:function(e,t){if(\"yaml\"===e.lang){const r=e.value.trim(),n=r?t(r,{parser:\"yaml\"},{stripTrailingHardline:!0}):\"\";return Co(Eo([\"---\",mo,n,n?mo:\"\",\"---\"]))}}};const{parse:Fo}=vo,Ao=[\"format\",\"prettier\"];function yo(e){const t=\"@(\".concat(Ao.join(\"|\"),\")\"),r=new RegExp([\"\\x3c!--\\\\s*\".concat(t,\"\\\\s*--\\x3e\"),\"\\x3c!--.*\\r?\\n[\\\\s\\\\S]*(^|\\n)[^\\\\S\\n]*\".concat(t,\"[^\\\\S\\n]*($|\\n)[\\\\s\\\\S]*\\n.*--\\x3e\")].join(\"|\"),\"m\"),n=e.match(r);return n&&0===n.index}var wo={startWithPragma:yo,hasPragma:e=>yo(Fo(e).content.trimStart()),insertPragma:e=>{const t=Fo(e),r=\"\\x3c!-- @\".concat(Ao[0],\" --\\x3e\");return t.frontMatter?\"\".concat(t.frontMatter.raw,\"\\n\\n\").concat(r,\"\\n\\n\").concat(t.content):\"\".concat(r,\"\\n\\n\").concat(t.content)}};var ko={locStart:function(e){return e.position.start.offset},locEnd:function(e){return e.position.end.offset}};const{getLast:xo}=Gi,{locStart:Oo,locEnd:Lo}=ko,{cjkPattern:Bo,kPattern:To,punctuationPattern:No}={cjkPattern:\"(?:[\\\\u02ea-\\\\u02eb\\\\u1100-\\\\u11ff\\\\u2e80-\\\\u2e99\\\\u2e9b-\\\\u2ef3\\\\u2f00-\\\\u2fd5\\\\u3000-\\\\u303f\\\\u3041-\\\\u3096\\\\u3099-\\\\u309f\\\\u30a1-\\\\u30fa\\\\u30fc-\\\\u30ff\\\\u3105-\\\\u312f\\\\u3131-\\\\u318e\\\\u3190-\\\\u3191\\\\u3196-\\\\u31ba\\\\u31c0-\\\\u31e3\\\\u31f0-\\\\u321e\\\\u322a-\\\\u3247\\\\u3260-\\\\u327e\\\\u328a-\\\\u32b0\\\\u32c0-\\\\u32cb\\\\u32d0-\\\\u3370\\\\u337b-\\\\u337f\\\\u33e0-\\\\u33fe\\\\u3400-\\\\u4db5\\\\u4e00-\\\\u9fef\\\\ua960-\\\\ua97c\\\\uac00-\\\\ud7a3\\\\ud7b0-\\\\ud7c6\\\\ud7cb-\\\\ud7fb\\\\uf900-\\\\ufa6d\\\\ufa70-\\\\ufad9\\\\ufe10-\\\\ufe1f\\\\ufe30-\\\\ufe6f\\\\uff00-\\\\uffef]|[\\\\ud840-\\\\ud868\\\\ud86a-\\\\ud86c\\\\ud86f-\\\\ud872\\\\ud874-\\\\ud879][\\\\udc00-\\\\udfff]|\\\\ud82c[\\\\udc00-\\\\udd1e\\\\udd50-\\\\udd52\\\\udd64-\\\\udd67]|\\\\ud83c[\\\\ude00\\\\ude50-\\\\ude51]|\\\\ud869[\\\\udc00-\\\\uded6\\\\udf00-\\\\udfff]|\\\\ud86d[\\\\udc00-\\\\udf34\\\\udf40-\\\\udfff]|\\\\ud86e[\\\\udc00-\\\\udc1d\\\\udc20-\\\\udfff]|\\\\ud873[\\\\udc00-\\\\udea1\\\\udeb0-\\\\udfff]|\\\\ud87a[\\\\udc00-\\\\udfe0]|\\\\ud87e[\\\\udc00-\\\\ude1d])(?:[\\\\ufe00-\\\\ufe0f]|\\\\udb40[\\\\udd00-\\\\uddef])?\",kPattern:\"[\\\\u1100-\\\\u11ff\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3013-\\\\u301f\\\\u302e-\\\\u3030\\\\u3037\\\\u30fb\\\\u3131-\\\\u318e\\\\u3200-\\\\u321e\\\\u3260-\\\\u327e\\\\ua960-\\\\ua97c\\\\uac00-\\\\ud7a3\\\\ud7b0-\\\\ud7c6\\\\ud7cb-\\\\ud7fb\\\\ufe45-\\\\ufe46\\\\uff61-\\\\uff65\\\\uffa0-\\\\uffbe\\\\uffc2-\\\\uffc7\\\\uffca-\\\\uffcf\\\\uffd2-\\\\uffd7\\\\uffda-\\\\uffdc]\",punctuationPattern:\"[\\\\u0021-\\\\u002f\\\\u003a-\\\\u0040\\\\u005b-\\\\u0060\\\\u007b-\\\\u007e\\\\u00a1\\\\u00a7\\\\u00ab\\\\u00b6-\\\\u00b7\\\\u00bb\\\\u00bf\\\\u037e\\\\u0387\\\\u055a-\\\\u055f\\\\u0589-\\\\u058a\\\\u05be\\\\u05c0\\\\u05c3\\\\u05c6\\\\u05f3-\\\\u05f4\\\\u0609-\\\\u060a\\\\u060c-\\\\u060d\\\\u061b\\\\u061e-\\\\u061f\\\\u066a-\\\\u066d\\\\u06d4\\\\u0700-\\\\u070d\\\\u07f7-\\\\u07f9\\\\u0830-\\\\u083e\\\\u085e\\\\u0964-\\\\u0965\\\\u0970\\\\u09fd\\\\u0a76\\\\u0af0\\\\u0c77\\\\u0c84\\\\u0df4\\\\u0e4f\\\\u0e5a-\\\\u0e5b\\\\u0f04-\\\\u0f12\\\\u0f14\\\\u0f3a-\\\\u0f3d\\\\u0f85\\\\u0fd0-\\\\u0fd4\\\\u0fd9-\\\\u0fda\\\\u104a-\\\\u104f\\\\u10fb\\\\u1360-\\\\u1368\\\\u1400\\\\u166e\\\\u169b-\\\\u169c\\\\u16eb-\\\\u16ed\\\\u1735-\\\\u1736\\\\u17d4-\\\\u17d6\\\\u17d8-\\\\u17da\\\\u1800-\\\\u180a\\\\u1944-\\\\u1945\\\\u1a1e-\\\\u1a1f\\\\u1aa0-\\\\u1aa6\\\\u1aa8-\\\\u1aad\\\\u1b5a-\\\\u1b60\\\\u1bfc-\\\\u1bff\\\\u1c3b-\\\\u1c3f\\\\u1c7e-\\\\u1c7f\\\\u1cc0-\\\\u1cc7\\\\u1cd3\\\\u2010-\\\\u2027\\\\u2030-\\\\u2043\\\\u2045-\\\\u2051\\\\u2053-\\\\u205e\\\\u207d-\\\\u207e\\\\u208d-\\\\u208e\\\\u2308-\\\\u230b\\\\u2329-\\\\u232a\\\\u2768-\\\\u2775\\\\u27c5-\\\\u27c6\\\\u27e6-\\\\u27ef\\\\u2983-\\\\u2998\\\\u29d8-\\\\u29db\\\\u29fc-\\\\u29fd\\\\u2cf9-\\\\u2cfc\\\\u2cfe-\\\\u2cff\\\\u2d70\\\\u2e00-\\\\u2e2e\\\\u2e30-\\\\u2e4f\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3014-\\\\u301f\\\\u3030\\\\u303d\\\\u30a0\\\\u30fb\\\\ua4fe-\\\\ua4ff\\\\ua60d-\\\\ua60f\\\\ua673\\\\ua67e\\\\ua6f2-\\\\ua6f7\\\\ua874-\\\\ua877\\\\ua8ce-\\\\ua8cf\\\\ua8f8-\\\\ua8fa\\\\ua8fc\\\\ua92e-\\\\ua92f\\\\ua95f\\\\ua9c1-\\\\ua9cd\\\\ua9de-\\\\ua9df\\\\uaa5c-\\\\uaa5f\\\\uaade-\\\\uaadf\\\\uaaf0-\\\\uaaf1\\\\uabeb\\\\ufd3e-\\\\ufd3f\\\\ufe10-\\\\ufe19\\\\ufe30-\\\\ufe52\\\\ufe54-\\\\ufe61\\\\ufe63\\\\ufe68\\\\ufe6a-\\\\ufe6b\\\\uff01-\\\\uff03\\\\uff05-\\\\uff0a\\\\uff0c-\\\\uff0f\\\\uff1a-\\\\uff1b\\\\uff1f-\\\\uff20\\\\uff3b-\\\\uff3d\\\\uff3f\\\\uff5b\\\\uff5d\\\\uff5f-\\\\uff65]|\\\\ud800[\\\\udd00-\\\\udd02\\\\udf9f\\\\udfd0]|\\\\ud801[\\\\udd6f]|\\\\ud802[\\\\udc57\\\\udd1f\\\\udd3f\\\\ude50-\\\\ude58\\\\ude7f\\\\udef0-\\\\udef6\\\\udf39-\\\\udf3f\\\\udf99-\\\\udf9c]|\\\\ud803[\\\\udf55-\\\\udf59]|\\\\ud804[\\\\udc47-\\\\udc4d\\\\udcbb-\\\\udcbc\\\\udcbe-\\\\udcc1\\\\udd40-\\\\udd43\\\\udd74-\\\\udd75\\\\uddc5-\\\\uddc8\\\\uddcd\\\\udddb\\\\udddd-\\\\udddf\\\\ude38-\\\\ude3d\\\\udea9]|\\\\ud805[\\\\udc4b-\\\\udc4f\\\\udc5b\\\\udc5d\\\\udcc6\\\\uddc1-\\\\uddd7\\\\ude41-\\\\ude43\\\\ude60-\\\\ude6c\\\\udf3c-\\\\udf3e]|\\\\ud806[\\\\udc3b\\\\udde2\\\\ude3f-\\\\ude46\\\\ude9a-\\\\ude9c\\\\ude9e-\\\\udea2]|\\\\ud807[\\\\udc41-\\\\udc45\\\\udc70-\\\\udc71\\\\udef7-\\\\udef8\\\\udfff]|\\\\ud809[\\\\udc70-\\\\udc74]|\\\\ud81a[\\\\ude6e-\\\\ude6f\\\\udef5\\\\udf37-\\\\udf3b\\\\udf44]|\\\\ud81b[\\\\ude97-\\\\ude9a\\\\udfe2]|\\\\ud82f[\\\\udc9f]|\\\\ud836[\\\\ude87-\\\\ude8b]|\\\\ud83a[\\\\udd5e-\\\\udd5f]\"},So=[\"liquidNode\",\"inlineCode\",\"emphasis\",\"strong\",\"delete\",\"wikiLink\",\"link\",\"linkReference\",\"image\",\"imageReference\",\"footnote\",\"footnoteReference\",\"sentence\",\"whitespace\",\"word\",\"break\",\"inlineMath\"],Io=So.concat([\"tableCell\",\"paragraph\",\"heading\"]),Ro=new RegExp(To),qo=new RegExp(No);function Po(e,t){const[,r,n,u]=t.slice(e.position.start.offset,e.position.end.offset).match(/^\\s*(\\d+)(\\.|\\))(\\s*)/);return{numberText:r,marker:n,leadingSpaces:u}}var jo={mapAst:function(e,t){return function e(r,n,u){u=u||[];const i=Object.assign({},t(r,n,u));return i.children&&(i.children=i.children.map(((t,r)=>e(t,r,[i].concat(u))))),i}(e,null,null)},splitText:function(e,t){const r=\"non-cjk\",n=\"cj-letter\",u=\"cjk-punctuation\",i=[];return(\"preserve\"===t.proseWrap?e:e.replace(new RegExp(\"(\".concat(Bo,\")\\n(\").concat(Bo,\")\"),\"g\"),\"$1$2\")).split(/([\\t\\n ]+)/).forEach(((e,t,a)=>{t%2!=1?(0!==t&&t!==a.length-1||\"\"!==e)&&e.split(new RegExp(\"(\".concat(Bo,\")\"))).forEach(((e,t,i)=>{(0!==t&&t!==i.length-1||\"\"!==e)&&(t%2!=0?o(qo.test(e)?{type:\"word\",value:e,kind:u,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:\"word\",value:e,kind:Ro.test(e)?\"k-letter\":n,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1}):\"\"!==e&&o({type:\"word\",value:e,kind:r,hasLeadingPunctuation:qo.test(e[0]),hasTrailingPunctuation:qo.test(xo(e))}))})):i.push({type:\"whitespace\",value:/\\n/.test(e)?\"\\n\":\" \"})})),i;function o(e){const t=xo(i);var o,a;t&&\"word\"===t.type&&(t.kind===r&&e.kind===n&&!t.hasTrailingPunctuation||t.kind===n&&e.kind===r&&!e.hasLeadingPunctuation?i.push({type:\"whitespace\",value:\" \"}):(o=r,a=u,t.kind===o&&e.kind===a||t.kind===a&&e.kind===o||[t.value,e.value].some((e=>/\\u3000/.test(e)))||i.push({type:\"whitespace\",value:\"\"}))),i.push(e)}},punctuationPattern:No,getFencedCodeBlockValue:function(e,t){const{value:r}=e;return e.position.end.offset===t.length&&r.endsWith(\"\\n\")&&t.endsWith(\"\\n\")?r.slice(0,-1):r},getOrderedListItemInfo:Po,hasGitDiffFriendlyOrderedList:function(e,t){if(!e.ordered)return!1;if(e.children.length<2)return!1;const r=Number(Po(e.children[0],t.originalText).numberText),n=Number(Po(e.children[1],t.originalText).numberText);if(0===r&&e.children.length>2){const r=Number(Po(e.children[2],t.originalText).numberText);return 1===n&&1===r}return 1===n},INLINE_NODE_TYPES:So,INLINE_NODE_WRAPPER_TYPES:Io,isAutolink:function(e){if(!e||\"link\"!==e.type||1!==e.children.length)return!1;const t=e.children[0];return t&&Oo(e)===Oo(t)&&Lo(e)===Lo(t)}};const zo=/^import\\s/,Uo=/^export\\s/,Mo=e=>zo.test(e),Go=e=>Uo.test(e),Vo=(e,t)=>{const r=t.indexOf(\"\\n\\n\"),n=t.slice(0,r);if(Go(n)||Mo(n))return e(n)({type:Go(n)?\"export\":\"import\",value:n})};Vo.locator=e=>Go(e)||Mo(e)?-1:1;var _o={esSyntax:function(){const{Parser:e}=this,t=e.prototype.blockTokenizers,r=e.prototype.blockMethods;t.esSyntax=Vo,r.splice(r.indexOf(\"paragraph\"),0,\"esSyntax\")},BLOCKS_REGEX:\"[a-z][a-z0-9]*(\\\\.[a-z][a-z0-9]*)*|\",COMMENT_REGEX:\"\\x3c!----\\x3e|\\x3c!--(?:-?[^>-])(?:-?[^-])*--\\x3e\"};const{parse:$o}=vo,{locStart:Ho,locEnd:Xo}=ko,{mapAst:Wo,INLINE_NODE_WRAPPER_TYPES:Yo}=jo;function Zo({isMDX:e}){return t=>{const r=Zn().use(Ir,Object.assign({commonmark:!0},e&&{blocks:[_o.BLOCKS_REGEX]})).use(mu).use(Qo).use(gu).use(e?_o.esSyntax:Jo).use(ea).use(e?Ko:Jo).use(ta).use(ra);return r.runSync(r.parse(t))}}function Jo(e){return e}function Ko(){return e=>Wo(e,((e,t,[r])=>\"html\"!==e.type||e.value.match(_o.COMMENT_REGEX)||Yo.includes(r.type)?e:Object.assign({},e,{type:\"jsx\"})))}function Qo(){const e=this.Parser.prototype;function t(e,t){const r=$o(t);if(r.frontMatter)return e(r.frontMatter.raw)(r.frontMatter)}e.blockMethods=[\"frontMatter\"].concat(e.blockMethods),e.blockTokenizers.frontMatter=t,t.onlyAtStart=!0}function ea(){const e=this.Parser.prototype,t=e.inlineMethods;function r(e,t){const r=t.match(/^({%[\\S\\s]*?%}|{{[\\S\\s]*?}})/);if(r)return e(r[0])({type:\"liquidNode\",value:r[0]})}t.splice(t.indexOf(\"text\"),0,\"liquid\"),e.inlineTokenizers.liquid=r,r.locator=function(e,t){return e.indexOf(\"{\",t)}}function ta(){const e=\"wikiLink\",t=/^\\[\\[(?.+?)]]/s,r=this.Parser.prototype,n=r.inlineMethods;function u(r,n){const u=t.exec(n);if(u){const t=u.groups.linkContents.trim();return r(u[0])({type:e,value:t})}}n.splice(n.indexOf(\"link\"),0,e),r.inlineTokenizers.wikiLink=u,u.locator=function(e,t){return e.indexOf(\"[\",t)}}function ra(){const e=this.Parser.prototype,t=e.blockTokenizers.list;function r(e,t,r){return\"listItem\"===t.type&&(t.loose=t.spread||\"\\n\"===e.charAt(e.length-1),t.loose&&(r.loose=!0)),t}e.blockTokenizers.list=function(e,n,u){function i(t){const n=e(t);function u(e,u){return n(r(t,e,u),u)}return u.reset=function(e,u){return n.reset(r(t,e,u),u)},u}return i.now=e.now,t.call(this,i,n,u)}}const na={astFormat:\"mdast\",hasPragma:wo.hasPragma,locStart:Ho,locEnd:Xo},ua=Object.assign({},na,{parse:Zo({isMDX:!1})});return{parsers:{remark:ua,markdown:ua,mdx:Object.assign({},na,{parse:Zo({isMDX:!0})})}}}));\n","module.exports = [\n 'cat',\n 'cd',\n 'chmod',\n 'cp',\n 'dirs',\n 'echo',\n 'exec',\n 'find',\n 'grep',\n 'head',\n 'ln',\n 'ls',\n 'mkdir',\n 'mv',\n 'pwd',\n 'rm',\n 'sed',\n 'set',\n 'sort',\n 'tail',\n 'tempdir',\n 'test',\n 'to',\n 'toEnd',\n 'touch',\n 'uniq',\n 'which',\n];\n","'use strict';\n\n// See http://www.robvanderwoude.com/escapechars.php\nconst metaCharsRegExp = /([()\\][%!^\"`<>&|;, *?])/g;\n\nfunction escapeCommand(arg) {\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n return arg;\n}\n\nfunction escapeArgument(arg, doubleEscapeMetaChars) {\n // Convert to string\n arg = `${arg}`;\n\n // Algorithm below is based on https://qntm.org/cmd\n\n // Sequence of backslashes followed by a double quote:\n // double up all the backslashes and escape the double quote\n arg = arg.replace(/(\\\\*)\"/g, '$1$1\\\\\"');\n\n // Sequence of backslashes followed by the end of the string\n // (which will become a double quote later):\n // double up all the backslashes\n arg = arg.replace(/(\\\\*)$/, '$1$1');\n\n // All other backslashes occur literally\n\n // Quote the whole thing:\n arg = `\"${arg}\"`;\n\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n // Double escape meta chars if necessary\n if (doubleEscapeMetaChars) {\n arg = arg.replace(metaCharsRegExp, '^$1');\n }\n\n return arg;\n}\n\nmodule.exports.command = escapeCommand;\nmodule.exports.argument = escapeArgument;\n","'use strict';\n\n/**\n * Converts tokens for a single address into an address object\n *\n * @param {Array} tokens Tokens object\n * @return {Object} Address object\n */\nfunction _handleAddress(tokens) {\n let token;\n let isGroup = false;\n let state = 'text';\n let address;\n let addresses = [];\n let data = {\n address: [],\n comment: [],\n group: [],\n text: []\n };\n let i;\n let len;\n\n // Filter out , (comments) and regular text\n for (i = 0, len = tokens.length; i < len; i++) {\n token = tokens[i];\n if (token.type === 'operator') {\n switch (token.value) {\n case '<':\n state = 'address';\n break;\n case '(':\n state = 'comment';\n break;\n case ':':\n state = 'group';\n isGroup = true;\n break;\n default:\n state = 'text';\n }\n } else if (token.value) {\n if (state === 'address') {\n // handle use case where unquoted name includes a \"<\"\n // Apple Mail truncates everything between an unexpected < and an address\n // and so will we\n token.value = token.value.replace(/^[^<]*<\\s*/, '');\n }\n data[state].push(token.value);\n }\n }\n\n // If there is no text but a comment, replace the two\n if (!data.text.length && data.comment.length) {\n data.text = data.comment;\n data.comment = [];\n }\n\n if (isGroup) {\n // http://tools.ietf.org/html/rfc2822#appendix-A.1.3\n data.text = data.text.join(' ');\n addresses.push({\n name: data.text || (address && address.name),\n group: data.group.length ? addressparser(data.group.join(',')) : []\n });\n } else {\n // If no address was found, try to detect one from regular text\n if (!data.address.length && data.text.length) {\n for (i = data.text.length - 1; i >= 0; i--) {\n if (data.text[i].match(/^[^@\\s]+@[^@\\s]+$/)) {\n data.address = data.text.splice(i, 1);\n break;\n }\n }\n\n let _regexHandler = function (address) {\n if (!data.address.length) {\n data.address = [address.trim()];\n return ' ';\n } else {\n return address;\n }\n };\n\n // still no address\n if (!data.address.length) {\n for (i = data.text.length - 1; i >= 0; i--) {\n // fixed the regex to parse email address correctly when email address has more than one @\n data.text[i] = data.text[i].replace(/\\s*\\b[^@\\s]+@[^\\s]+\\b\\s*/, _regexHandler).trim();\n if (data.address.length) {\n break;\n }\n }\n }\n }\n\n // If there's still is no text but a comment exixts, replace the two\n if (!data.text.length && data.comment.length) {\n data.text = data.comment;\n data.comment = [];\n }\n\n // Keep only the first address occurence, push others to regular text\n if (data.address.length > 1) {\n data.text = data.text.concat(data.address.splice(1));\n }\n\n // Join values with spaces\n data.text = data.text.join(' ');\n data.address = data.address.join(' ');\n\n if (!data.address && isGroup) {\n return [];\n } else {\n address = {\n address: data.address || data.text || '',\n name: data.text || data.address || ''\n };\n\n if (address.address === address.name) {\n if ((address.address || '').match(/@/)) {\n address.name = '';\n } else {\n address.address = '';\n }\n }\n\n addresses.push(address);\n }\n }\n\n return addresses;\n}\n\n/**\n * Creates a Tokenizer object for tokenizing address field strings\n *\n * @constructor\n * @param {String} str Address field string\n */\nclass Tokenizer {\n constructor(str) {\n this.str = (str || '').toString();\n this.operatorCurrent = '';\n this.operatorExpecting = '';\n this.node = null;\n this.escaped = false;\n\n this.list = [];\n /**\n * Operator tokens and which tokens are expected to end the sequence\n */\n this.operators = {\n '\"': '\"',\n '(': ')',\n '<': '>',\n ',': '',\n ':': ';',\n // Semicolons are not a legal delimiter per the RFC2822 grammar other\n // than for terminating a group, but they are also not valid for any\n // other use in this context. Given that some mail clients have\n // historically allowed the semicolon as a delimiter equivalent to the\n // comma in their UI, it makes sense to treat them the same as a comma\n // when used outside of a group.\n ';': ''\n };\n }\n\n /**\n * Tokenizes the original input string\n *\n * @return {Array} An array of operator|text tokens\n */\n tokenize() {\n let chr,\n list = [];\n for (let i = 0, len = this.str.length; i < len; i++) {\n chr = this.str.charAt(i);\n this.checkChar(chr);\n }\n\n this.list.forEach(node => {\n node.value = (node.value || '').toString().trim();\n if (node.value) {\n list.push(node);\n }\n });\n\n return list;\n }\n\n /**\n * Checks if a character is an operator or text and acts accordingly\n *\n * @param {String} chr Character from the address field\n */\n checkChar(chr) {\n if (this.escaped) {\n // ignore next condition blocks\n } else if (chr === this.operatorExpecting) {\n this.node = {\n type: 'operator',\n value: chr\n };\n this.list.push(this.node);\n this.node = null;\n this.operatorExpecting = '';\n this.escaped = false;\n return;\n } else if (!this.operatorExpecting && chr in this.operators) {\n this.node = {\n type: 'operator',\n value: chr\n };\n this.list.push(this.node);\n this.node = null;\n this.operatorExpecting = this.operators[chr];\n this.escaped = false;\n return;\n } else if (['\"', \"'\"].includes(this.operatorExpecting) && chr === '\\\\') {\n this.escaped = true;\n return;\n }\n\n if (!this.node) {\n this.node = {\n type: 'text',\n value: ''\n };\n this.list.push(this.node);\n }\n\n if (chr === '\\n') {\n // Convert newlines to spaces. Carriage return is ignored as \\r and \\n usually\n // go together anyway and there already is a WS for \\n. Lone \\r means something is fishy.\n chr = ' ';\n }\n\n if (chr.charCodeAt(0) >= 0x21 || [' ', '\\t'].includes(chr)) {\n // skip command bytes\n this.node.value += chr;\n }\n\n this.escaped = false;\n }\n}\n\n/**\n * Parses structured e-mail addresses from an address field\n *\n * Example:\n *\n * 'Name '\n *\n * will be converted to\n *\n * [{name: 'Name', address: 'address@domain'}]\n *\n * @param {String} str Address field\n * @return {Array} An array of address objects\n */\nfunction addressparser(str, options) {\n options = options || {};\n\n let tokenizer = new Tokenizer(str);\n let tokens = tokenizer.tokenize();\n\n let addresses = [];\n let address = [];\n let parsedAddresses = [];\n\n tokens.forEach(token => {\n if (token.type === 'operator' && (token.value === ',' || token.value === ';')) {\n if (address.length) {\n addresses.push(address);\n }\n address = [];\n } else {\n address.push(token);\n }\n });\n\n if (address.length) {\n addresses.push(address);\n }\n\n addresses.forEach(address => {\n address = _handleAddress(address);\n if (address.length) {\n parsedAddresses = parsedAddresses.concat(address);\n }\n });\n\n if (options.flatten) {\n let addresses = [];\n let walkAddressList = list => {\n list.forEach(address => {\n if (address.group) {\n return walkAddressList(address.group);\n } else {\n addresses.push(address);\n }\n });\n };\n walkAddressList(parsedAddresses);\n return addresses;\n }\n\n return parsedAddresses;\n}\n\n// expose to the world\nmodule.exports = addressparser;\n","var common = require('./common');\nvar fs = require('fs');\nvar path = require('path');\n\ncommon.register('toEnd', _toEnd, {\n pipeOnly: true,\n wrapOutput: false,\n});\n\n//@\n//@ ### ShellString.prototype.toEnd(file)\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ cat('input.txt').toEnd('output.txt');\n//@ ```\n//@\n//@ Analogous to the redirect-and-append operator `>>` in Unix, but works with\n//@ `ShellStrings` (such as those returned by `cat`, `grep`, etc.).\nfunction _toEnd(options, file) {\n if (!file) common.error('wrong arguments');\n\n if (!fs.existsSync(path.dirname(file))) {\n common.error('no such file or directory: ' + path.dirname(file));\n }\n\n try {\n fs.appendFileSync(file, this.stdout || this.toString(), 'utf8');\n return this;\n } catch (e) {\n /* istanbul ignore next */\n common.error('could not append to file (code ' + e.code + '): ' + file, { continue: true });\n }\n}\nmodule.exports = _toEnd;\n","module.exports = globSync\nglobSync.GlobSync = GlobSync\n\nvar fs = require('fs')\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 alphasort = common.alphasort\nvar alphasorti = common.alphasorti\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(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(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) || isAbsolute(pattern.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 = 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, 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 = 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 = 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","'use strict';\nconst os = require('os');\nconst hasFlag = require('has-flag');\n\nconst env = process.env;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false')) {\n\tforceColor = false;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = true;\n}\nif ('FORCE_COLOR' in env) {\n\tforceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(stream) {\n\tif (forceColor === false) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (stream && !stream.isTTY && forceColor !== true) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor ? 1 : 0;\n\n\tif (process.platform === 'win32') {\n\t\t// Node.js 7.5.0 is the first version of Node.js to include a patch to\n\t\t// libuv that enables 256 color output on Windows. Anything earlier and it\n\t\t// won't work. However, here we target Node.js 8 at minimum as it is an LTS\n\t\t// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows\n\t\t// release that supports 256 colors. Windows 10 build 14931 is the first release\n\t\t// that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(process.versions.node.split('.')[0]) >= 8 &&\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: getSupportLevel(process.stdout),\n\tstderr: getSupportLevel(process.stderr)\n};\n","var constants = require('constants')\n\nvar origCwd = process.cwd\nvar cwd = null\n\nvar platform = process.env.GRACEFUL_FS_PLATFORM || process.platform\n\nprocess.cwd = function() {\n if (!cwd)\n cwd = origCwd.call(process)\n return cwd\n}\ntry {\n process.cwd()\n} catch (er) {}\n\nvar chdir = process.chdir\nprocess.chdir = function(d) {\n cwd = null\n chdir.call(process, d)\n}\n\nmodule.exports = patch\n\nfunction patch (fs) {\n // (re-)implement some things that are known busted or missing.\n\n // lchmod, broken prior to 0.6.2\n // back-port the fix here.\n if (constants.hasOwnProperty('O_SYMLINK') &&\n process.version.match(/^v0\\.6\\.[0-2]|^v0\\.5\\./)) {\n patchLchmod(fs)\n }\n\n // lutimes implementation, or no-op\n if (!fs.lutimes) {\n patchLutimes(fs)\n }\n\n // https://github.com/isaacs/node-graceful-fs/issues/4\n // Chown should not fail on einval or eperm if non-root.\n // It should not fail on enosys ever, as this just indicates\n // that a fs doesn't support the intended operation.\n\n fs.chown = chownFix(fs.chown)\n fs.fchown = chownFix(fs.fchown)\n fs.lchown = chownFix(fs.lchown)\n\n fs.chmod = chmodFix(fs.chmod)\n fs.fchmod = chmodFix(fs.fchmod)\n fs.lchmod = chmodFix(fs.lchmod)\n\n fs.chownSync = chownFixSync(fs.chownSync)\n fs.fchownSync = chownFixSync(fs.fchownSync)\n fs.lchownSync = chownFixSync(fs.lchownSync)\n\n fs.chmodSync = chmodFixSync(fs.chmodSync)\n fs.fchmodSync = chmodFixSync(fs.fchmodSync)\n fs.lchmodSync = chmodFixSync(fs.lchmodSync)\n\n fs.stat = statFix(fs.stat)\n fs.fstat = statFix(fs.fstat)\n fs.lstat = statFix(fs.lstat)\n\n fs.statSync = statFixSync(fs.statSync)\n fs.fstatSync = statFixSync(fs.fstatSync)\n fs.lstatSync = statFixSync(fs.lstatSync)\n\n // if lchmod/lchown do not exist, then make them no-ops\n if (!fs.lchmod) {\n fs.lchmod = function (path, mode, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchmodSync = function () {}\n }\n if (!fs.lchown) {\n fs.lchown = function (path, uid, gid, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchownSync = function () {}\n }\n\n // on Windows, A/V software can lock the directory, causing this\n // to fail with an EACCES or EPERM if the directory contains newly\n // created files. Try again on failure, for up to 60 seconds.\n\n // Set the timeout this long because some Windows Anti-Virus, such as Parity\n // bit9, may lock files for up to a minute, causing npm package install\n // failures. Also, take care to yield the scheduler. Windows scheduling gives\n // CPU to a busy looping process, which can cause the program causing the lock\n // contention to be starved of CPU by node, so the contention doesn't resolve.\n if (platform === \"win32\") {\n fs.rename = (function (fs$rename) { return function (from, to, cb) {\n var start = Date.now()\n var backoff = 0;\n fs$rename(from, to, function CB (er) {\n if (er\n && (er.code === \"EACCES\" || er.code === \"EPERM\")\n && Date.now() - start < 60000) {\n setTimeout(function() {\n fs.stat(to, function (stater, st) {\n if (stater && stater.code === \"ENOENT\")\n fs$rename(from, to, CB);\n else\n cb(er)\n })\n }, backoff)\n if (backoff < 100)\n backoff += 10;\n return;\n }\n if (cb) cb(er)\n })\n }})(fs.rename)\n }\n\n // if read() returns EAGAIN, then just try it again.\n fs.read = (function (fs$read) {\n function read (fd, buffer, offset, length, position, callback_) {\n var callback\n if (callback_ && typeof callback_ === 'function') {\n var eagCounter = 0\n callback = function (er, _, __) {\n if (er && er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n callback_.apply(this, arguments)\n }\n }\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n\n // This ensures `util.promisify` works as it does for native `fs.read`.\n read.__proto__ = fs$read\n return read\n })(fs.read)\n\n fs.readSync = (function (fs$readSync) { return function (fd, buffer, offset, length, position) {\n var eagCounter = 0\n while (true) {\n try {\n return fs$readSync.call(fs, fd, buffer, offset, length, position)\n } catch (er) {\n if (er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n continue\n }\n throw er\n }\n }\n }})(fs.readSync)\n\n function patchLchmod (fs) {\n fs.lchmod = function (path, mode, callback) {\n fs.open( path\n , constants.O_WRONLY | constants.O_SYMLINK\n , mode\n , function (err, fd) {\n if (err) {\n if (callback) callback(err)\n return\n }\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n fs.fchmod(fd, mode, function (err) {\n fs.close(fd, function(err2) {\n if (callback) callback(err || err2)\n })\n })\n })\n }\n\n fs.lchmodSync = function (path, mode) {\n var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)\n\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n var threw = true\n var ret\n try {\n ret = fs.fchmodSync(fd, mode)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n }\n\n function patchLutimes (fs) {\n if (constants.hasOwnProperty(\"O_SYMLINK\")) {\n fs.lutimes = function (path, at, mt, cb) {\n fs.open(path, constants.O_SYMLINK, function (er, fd) {\n if (er) {\n if (cb) cb(er)\n return\n }\n fs.futimes(fd, at, mt, function (er) {\n fs.close(fd, function (er2) {\n if (cb) cb(er || er2)\n })\n })\n })\n }\n\n fs.lutimesSync = function (path, at, mt) {\n var fd = fs.openSync(path, constants.O_SYMLINK)\n var ret\n var threw = true\n try {\n ret = fs.futimesSync(fd, at, mt)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n\n } else {\n fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }\n fs.lutimesSync = function () {}\n }\n }\n\n function chmodFix (orig) {\n if (!orig) return orig\n return function (target, mode, cb) {\n return orig.call(fs, target, mode, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chmodFixSync (orig) {\n if (!orig) return orig\n return function (target, mode) {\n try {\n return orig.call(fs, target, mode)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n\n function chownFix (orig) {\n if (!orig) return orig\n return function (target, uid, gid, cb) {\n return orig.call(fs, target, uid, gid, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chownFixSync (orig) {\n if (!orig) return orig\n return function (target, uid, gid) {\n try {\n return orig.call(fs, target, uid, gid)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n function statFix (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = null\n }\n function callback (er, stats) {\n if (stats) {\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n }\n if (cb) cb.apply(this, arguments)\n }\n return options ? orig.call(fs, target, options, callback)\n : orig.call(fs, target, callback)\n }\n }\n\n function statFixSync (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options) {\n var stats = options ? orig.call(fs, target, options)\n : orig.call(fs, target)\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n return stats;\n }\n }\n\n // ENOSYS means that the fs doesn't support the op. Just ignore\n // that, because it doesn't matter.\n //\n // if there's no getuid, or if getuid() is something other\n // than 0, and the error is EINVAL or EPERM, then just ignore\n // it.\n //\n // This specific case is a silent failure in cp, install, tar,\n // and most other unix tools that manage permissions.\n //\n // When running as root, or if other types of errors are\n // encountered, then it's strict.\n function chownErOk (er) {\n if (!er)\n return true\n\n if (er.code === \"ENOSYS\")\n return true\n\n var nonroot = !process.getuid || process.getuid() !== 0\n if (nonroot) {\n if (er.code === \"EINVAL\" || er.code === \"EPERM\")\n return true\n }\n\n return false\n }\n}\n","'use strict';\n\nconst EventEmitter = require('events');\nconst shared = require('../shared');\nconst mimeTypes = require('../mime-funcs/mime-types');\nconst MailComposer = require('../mail-composer');\nconst DKIM = require('../dkim');\nconst httpProxyClient = require('../smtp-connection/http-proxy-client');\nconst util = require('util');\nconst urllib = require('url');\nconst packageData = require('../../package.json');\nconst MailMessage = require('./mail-message');\nconst net = require('net');\nconst dns = require('dns');\nconst crypto = require('crypto');\n\n/**\n * Creates an object for exposing the Mail API\n *\n * @constructor\n * @param {Object} transporter Transport object instance to pass the mails to\n */\nclass Mail extends EventEmitter {\n constructor(transporter, options, defaults) {\n super();\n\n this.options = options || {};\n this._defaults = defaults || {};\n\n this._defaultPlugins = {\n compile: [(...args) => this._convertDataImages(...args)],\n stream: []\n };\n\n this._userPlugins = {\n compile: [],\n stream: []\n };\n\n this.meta = new Map();\n\n this.dkim = this.options.dkim ? new DKIM(this.options.dkim) : false;\n\n this.transporter = transporter;\n this.transporter.mailer = this;\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'mail'\n });\n\n this.logger.debug(\n {\n tnx: 'create'\n },\n 'Creating transport: %s',\n this.getVersionString()\n );\n\n // setup emit handlers for the transporter\n if (typeof this.transporter.on === 'function') {\n // deprecated log interface\n this.transporter.on('log', log => {\n this.logger.debug(\n {\n tnx: 'transport'\n },\n '%s: %s',\n log.type,\n log.message\n );\n });\n\n // transporter errors\n this.transporter.on('error', err => {\n this.logger.error(\n {\n err,\n tnx: 'transport'\n },\n 'Transport Error: %s',\n err.message\n );\n this.emit('error', err);\n });\n\n // indicates if the sender has became idle\n this.transporter.on('idle', (...args) => {\n this.emit('idle', ...args);\n });\n }\n\n /**\n * Optional methods passed to the underlying transport object\n */\n ['close', 'isIdle', 'verify'].forEach(method => {\n this[method] = (...args) => {\n if (typeof this.transporter[method] === 'function') {\n return this.transporter[method](...args);\n } else {\n this.logger.warn(\n {\n tnx: 'transport',\n methodName: method\n },\n 'Non existing method %s called for transport',\n method\n );\n return false;\n }\n };\n });\n\n // setup proxy handling\n if (this.options.proxy && typeof this.options.proxy === 'string') {\n this.setupProxy(this.options.proxy);\n }\n }\n\n use(step, plugin) {\n step = (step || '').toString();\n if (!this._userPlugins.hasOwnProperty(step)) {\n this._userPlugins[step] = [plugin];\n } else {\n this._userPlugins[step].push(plugin);\n }\n\n return this;\n }\n\n /**\n * Sends an email using the preselected transport object\n *\n * @param {Object} data E-data description\n * @param {Function?} callback Callback to run once the sending succeeded or failed\n */\n sendMail(data, callback) {\n let promise;\n\n if (!callback) {\n promise = new Promise((resolve, reject) => {\n callback = shared.callbackPromise(resolve, reject);\n });\n }\n\n if (typeof this.getSocket === 'function') {\n this.transporter.getSocket = this.getSocket;\n this.getSocket = false;\n }\n\n let mail = new MailMessage(this, data);\n\n this.logger.debug(\n {\n tnx: 'transport',\n name: this.transporter.name,\n version: this.transporter.version,\n action: 'send'\n },\n 'Sending mail using %s/%s',\n this.transporter.name,\n this.transporter.version\n );\n\n this._processPlugins('compile', mail, err => {\n if (err) {\n this.logger.error(\n {\n err,\n tnx: 'plugin',\n action: 'compile'\n },\n 'PluginCompile Error: %s',\n err.message\n );\n return callback(err);\n }\n\n mail.message = new MailComposer(mail.data).compile();\n\n mail.setMailerHeader();\n mail.setPriorityHeaders();\n mail.setListHeaders();\n\n this._processPlugins('stream', mail, err => {\n if (err) {\n this.logger.error(\n {\n err,\n tnx: 'plugin',\n action: 'stream'\n },\n 'PluginStream Error: %s',\n err.message\n );\n return callback(err);\n }\n\n if (mail.data.dkim || this.dkim) {\n mail.message.processFunc(input => {\n let dkim = mail.data.dkim ? new DKIM(mail.data.dkim) : this.dkim;\n this.logger.debug(\n {\n tnx: 'DKIM',\n messageId: mail.message.messageId(),\n dkimDomains: dkim.keys.map(key => key.keySelector + '.' + key.domainName).join(', ')\n },\n 'Signing outgoing message with %s keys',\n dkim.keys.length\n );\n return dkim.sign(input, mail.data._dkim);\n });\n }\n\n this.transporter.send(mail, (...args) => {\n if (args[0]) {\n this.logger.error(\n {\n err: args[0],\n tnx: 'transport',\n action: 'send'\n },\n 'Send Error: %s',\n args[0].message\n );\n }\n callback(...args);\n });\n });\n });\n\n return promise;\n }\n\n getVersionString() {\n return util.format('%s (%s; +%s; %s/%s)', packageData.name, packageData.version, packageData.homepage, this.transporter.name, this.transporter.version);\n }\n\n _processPlugins(step, mail, callback) {\n step = (step || '').toString();\n\n if (!this._userPlugins.hasOwnProperty(step)) {\n return callback();\n }\n\n let userPlugins = this._userPlugins[step] || [];\n let defaultPlugins = this._defaultPlugins[step] || [];\n\n if (userPlugins.length) {\n this.logger.debug(\n {\n tnx: 'transaction',\n pluginCount: userPlugins.length,\n step\n },\n 'Using %s plugins for %s',\n userPlugins.length,\n step\n );\n }\n\n if (userPlugins.length + defaultPlugins.length === 0) {\n return callback();\n }\n\n let pos = 0;\n let block = 'default';\n let processPlugins = () => {\n let curplugins = block === 'default' ? defaultPlugins : userPlugins;\n if (pos >= curplugins.length) {\n if (block === 'default' && userPlugins.length) {\n block = 'user';\n pos = 0;\n curplugins = userPlugins;\n } else {\n return callback();\n }\n }\n let plugin = curplugins[pos++];\n plugin(mail, err => {\n if (err) {\n return callback(err);\n }\n processPlugins();\n });\n };\n\n processPlugins();\n }\n\n /**\n * Sets up proxy handler for a Nodemailer object\n *\n * @param {String} proxyUrl Proxy configuration url\n */\n setupProxy(proxyUrl) {\n let proxy = urllib.parse(proxyUrl);\n\n // setup socket handler for the mailer object\n this.getSocket = (options, callback) => {\n let protocol = proxy.protocol.replace(/:$/, '').toLowerCase();\n\n if (this.meta.has('proxy_handler_' + protocol)) {\n return this.meta.get('proxy_handler_' + protocol)(proxy, options, callback);\n }\n\n switch (protocol) {\n // Connect using a HTTP CONNECT method\n case 'http':\n case 'https':\n httpProxyClient(proxy.href, options.port, options.host, (err, socket) => {\n if (err) {\n return callback(err);\n }\n return callback(null, {\n connection: socket\n });\n });\n return;\n case 'socks':\n case 'socks5':\n case 'socks4':\n case 'socks4a': {\n if (!this.meta.has('proxy_socks_module')) {\n return callback(new Error('Socks module not loaded'));\n }\n let connect = ipaddress => {\n let proxyV2 = !!this.meta.get('proxy_socks_module').SocksClient;\n let socksClient = proxyV2 ? this.meta.get('proxy_socks_module').SocksClient : this.meta.get('proxy_socks_module');\n let proxyType = Number(proxy.protocol.replace(/\\D/g, '')) || 5;\n let connectionOpts = {\n proxy: {\n ipaddress,\n port: Number(proxy.port),\n type: proxyType\n },\n [proxyV2 ? 'destination' : 'target']: {\n host: options.host,\n port: options.port\n },\n command: 'connect'\n };\n\n if (proxy.auth) {\n let username = decodeURIComponent(proxy.auth.split(':').shift());\n let password = decodeURIComponent(proxy.auth.split(':').pop());\n if (proxyV2) {\n connectionOpts.proxy.userId = username;\n connectionOpts.proxy.password = password;\n } else if (proxyType === 4) {\n connectionOpts.userid = username;\n } else {\n connectionOpts.authentication = {\n username,\n password\n };\n }\n }\n\n socksClient.createConnection(connectionOpts, (err, info) => {\n if (err) {\n return callback(err);\n }\n return callback(null, {\n connection: info.socket || info\n });\n });\n };\n\n if (net.isIP(proxy.hostname)) {\n return connect(proxy.hostname);\n }\n\n return dns.resolve(proxy.hostname, (err, address) => {\n if (err) {\n return callback(err);\n }\n connect(Array.isArray(address) ? address[0] : address);\n });\n }\n }\n callback(new Error('Unknown proxy configuration'));\n };\n }\n\n _convertDataImages(mail, callback) {\n if ((!this.options.attachDataUrls && !mail.data.attachDataUrls) || !mail.data.html) {\n return callback();\n }\n mail.resolveContent(mail.data, 'html', (err, html) => {\n if (err) {\n return callback(err);\n }\n let cidCounter = 0;\n html = (html || '').toString().replace(/(]* src\\s*=[\\s\"']*)(data:([^;]+);[^\"'>\\s]+)/gi, (match, prefix, dataUri, mimeType) => {\n let cid = crypto.randomBytes(10).toString('hex') + '@localhost';\n if (!mail.data.attachments) {\n mail.data.attachments = [];\n }\n if (!Array.isArray(mail.data.attachments)) {\n mail.data.attachments = [].concat(mail.data.attachments || []);\n }\n mail.data.attachments.push({\n path: dataUri,\n cid,\n filename: 'image-' + ++cidCounter + '.' + mimeTypes.detectExtension(mimeType)\n });\n return prefix + 'cid:' + cid;\n });\n mail.data.html = html;\n callback();\n });\n }\n\n set(key, value) {\n return this.meta.set(key, value);\n }\n\n get(key) {\n return this.meta.get(key);\n }\n}\n\nmodule.exports = Mail;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe23',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20f0';\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 'ss'\n};\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","'use strict';\n\nmodule.exports = [\n\t['&', ' and '],\n\t['🦄', ' unicorn '],\n\t['♥', ' love ']\n];\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):((e=\"undefined\"!=typeof globalThis?globalThis:e||self).prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.typescript=t())}(this,(function(){\"use strict\";var e=function(e,t){const r=new SyntaxError(e+\" (\"+t.start.line+\":\"+t.start.column+\")\");return r.loc=t,r},t=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function r(e,t,r){return e(r={path:t,exports:{},require:function(e,t){return i(null==t&&r.path)}},r.exports),r.exports}function n(e){return e&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function i(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}var a=Object.freeze({__proto__:null,default:{EOL:\"\\n\",platform:()=>\"browser\",cpus:()=>[{model:\"Prettier\"}]}});const o=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");const t=e.match(/(?:\\r?\\n)/g)||[];if(0===t.length)return;const r=t.filter((e=>\"\\r\\n\"===e)).length;return r>t.length-r?\"\\r\\n\":\"\\n\"};var s=o;s.graceful=e=>\"string\"==typeof e&&o(e)||\"\\n\";var c=n(a),u=r((function(e,t){function r(){const e=c;return r=function(){return e},e}function n(){const e=(t=s)&&t.__esModule?t:{default:t};var t;return n=function(){return e},e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.extract=function(e){const t=e.match(o);return t?t[0].trimLeft():\"\"},t.strip=function(e){const t=e.match(o);return t&&t[0]?e.substring(t[0].length):e},t.parse=function(e){return g(e).pragmas},t.parseWithComments=g,t.print=function({comments:e=\"\",pragmas:t={}}){const i=(0,n().default)(e)||r().EOL,a=\" *\",o=Object.keys(t),s=o.map((e=>m(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>\" * \"+e+i)).join(\"\");if(!e){if(0===o.length)return\"\";if(1===o.length&&!Array.isArray(t[o[0]])){const e=t[o[0]];return\"\".concat(\"/**\",\" \").concat(m(o[0],e)[0]).concat(\" */\")}}const c=e.split(i).map((e=>\"\".concat(a,\" \").concat(e))).join(i)+i;return\"/**\"+i+(e?c:\"\")+(e&&o.length?a+i:\"\")+s+\" */\"};const i=/\\*\\/$/,a=/^\\/\\*\\*/,o=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,u=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,l=/^(\\r?\\n)+/,d=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,_=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,p=/(\\r?\\n|^) *\\* ?/g,f=[];function g(e){const t=(0,n().default)(e)||r().EOL;e=e.replace(a,\"\").replace(i,\"\").replace(p,\"$1\");let o=\"\";for(;o!==e;)o=e,e=e.replace(d,\"\".concat(t,\"$1 $2\").concat(t));e=e.replace(l,\"\").trimRight();const s=Object.create(null),c=e.replace(_,\"\").replace(l,\"\").trimRight();let g;for(;g=_.exec(e);){const e=g[2].replace(u,\"\");\"string\"==typeof s[g[1]]||Array.isArray(s[g[1]])?s[g[1]]=f.concat(s[g[1]],e):s[g[1]]=e}return{comments:c,pragmas:s}}function m(e,t){return f.concat(t).map((t=>\"@\".concat(e,\" \").concat(t).trim()))}})),l=e=>\"string\"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(t,e?void 0:\"g\")})(),\"\"):e;const d=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var _=d,p=d;_.default=p;const f=e=>{if(\"string\"!=typeof(e=e.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\" \"))||0===e.length)return 0;e=l(e);let t=0;for(let r=0;r=127&&n<=159||(n>=768&&n<=879||(n>65535&&r++,t+=_(n)?2:1))}return t};var g=f,m=f;g.default=m;var y=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function v(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var h=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{};function D(){throw new Error(\"setTimeout has not been defined\")}function x(){throw new Error(\"clearTimeout has not been defined\")}var b=D,S=x;function E(e){if(b===setTimeout)return setTimeout(e,0);if((b===D||!b)&&setTimeout)return b=setTimeout,setTimeout(e,0);try{return b(e,0)}catch(t){try{return b.call(null,e,0)}catch(t){return b.call(this,e,0)}}}\"function\"==typeof h.setTimeout&&(b=setTimeout),\"function\"==typeof h.clearTimeout&&(S=clearTimeout);var T,C=[],k=!1,A=-1;function F(){k&&T&&(k=!1,T.length?C=T.concat(C):A=-1,C.length&&N())}function N(){if(!k){var e=E(F);k=!0;for(var t=C.length;t;){for(T=C,C=[];++A1)for(var r=1;rconsole.error(\"SEMVER\",...e):()=>{};var W={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},H=r((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=W,n=(t=e.exports={}).re=[],i=t.src=[],a=t.t={};let o=0;const s=(e,t,r)=>{const s=o++;q(s,t),a[e]=s,i[s]=t,n[s]=new RegExp(t,r?\"g\":void 0)};s(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),s(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),s(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),s(\"MAINVERSION\",\"(\".concat(i[a.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(i[a.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(i[a.NUMERICIDENTIFIER],\")\")),s(\"MAINVERSIONLOOSE\",\"(\".concat(i[a.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(i[a.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(i[a.NUMERICIDENTIFIERLOOSE],\")\")),s(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(i[a.NUMERICIDENTIFIER],\"|\").concat(i[a.NONNUMERICIDENTIFIER],\")\")),s(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(i[a.NUMERICIDENTIFIERLOOSE],\"|\").concat(i[a.NONNUMERICIDENTIFIER],\")\")),s(\"PRERELEASE\",\"(?:-(\".concat(i[a.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(i[a.PRERELEASEIDENTIFIER],\")*))\")),s(\"PRERELEASELOOSE\",\"(?:-?(\".concat(i[a.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(i[a.PRERELEASEIDENTIFIERLOOSE],\")*))\")),s(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),s(\"BUILD\",\"(?:\\\\+(\".concat(i[a.BUILDIDENTIFIER],\"(?:\\\\.\").concat(i[a.BUILDIDENTIFIER],\")*))\")),s(\"FULLPLAIN\",\"v?\".concat(i[a.MAINVERSION]).concat(i[a.PRERELEASE],\"?\").concat(i[a.BUILD],\"?\")),s(\"FULL\",\"^\".concat(i[a.FULLPLAIN],\"$\")),s(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(i[a.MAINVERSIONLOOSE]).concat(i[a.PRERELEASELOOSE],\"?\").concat(i[a.BUILD],\"?\")),s(\"LOOSE\",\"^\".concat(i[a.LOOSEPLAIN],\"$\")),s(\"GTLT\",\"((?:<|>)?=?)\"),s(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(i[a.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),s(\"XRANGEIDENTIFIER\",\"\".concat(i[a.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),s(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(i[a.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(i[a.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(i[a.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(i[a.PRERELEASE],\")?\").concat(i[a.BUILD],\"?\")+\")?)?\"),s(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(i[a.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(i[a.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(i[a.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(i[a.PRERELEASELOOSE],\")?\").concat(i[a.BUILD],\"?\")+\")?)?\"),s(\"XRANGE\",\"^\".concat(i[a.GTLT],\"\\\\s*\").concat(i[a.XRANGEPLAIN],\"$\")),s(\"XRANGELOOSE\",\"^\".concat(i[a.GTLT],\"\\\\s*\").concat(i[a.XRANGEPLAINLOOSE],\"$\")),s(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(r,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(r,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(r,\"}))?\")+\"(?:$|[^\\\\d])\"),s(\"COERCERTL\",i[a.COERCE],!0),s(\"LONETILDE\",\"(?:~>?)\"),s(\"TILDETRIM\",\"(\\\\s*)\".concat(i[a.LONETILDE],\"\\\\s+\"),!0),t.tildeTrimReplace=\"$1~\",s(\"TILDE\",\"^\".concat(i[a.LONETILDE]).concat(i[a.XRANGEPLAIN],\"$\")),s(\"TILDELOOSE\",\"^\".concat(i[a.LONETILDE]).concat(i[a.XRANGEPLAINLOOSE],\"$\")),s(\"LONECARET\",\"(?:\\\\^)\"),s(\"CARETTRIM\",\"(\\\\s*)\".concat(i[a.LONECARET],\"\\\\s+\"),!0),t.caretTrimReplace=\"$1^\",s(\"CARET\",\"^\".concat(i[a.LONECARET]).concat(i[a.XRANGEPLAIN],\"$\")),s(\"CARETLOOSE\",\"^\".concat(i[a.LONECARET]).concat(i[a.XRANGEPLAINLOOSE],\"$\")),s(\"COMPARATORLOOSE\",\"^\".concat(i[a.GTLT],\"\\\\s*(\").concat(i[a.LOOSEPLAIN],\")$|^$\")),s(\"COMPARATOR\",\"^\".concat(i[a.GTLT],\"\\\\s*(\").concat(i[a.FULLPLAIN],\")$|^$\")),s(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(i[a.GTLT],\"\\\\s*(\").concat(i[a.LOOSEPLAIN],\"|\").concat(i[a.XRANGEPLAIN],\")\"),!0),t.comparatorTrimReplace=\"$1$2$3\",s(\"HYPHENRANGE\",\"^\\\\s*(\".concat(i[a.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(i[a.XRANGEPLAIN],\")\")+\"\\\\s*$\"),s(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(i[a.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(i[a.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),s(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),s(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),s(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")}));const G=/^[0-9]+$/,Y=(e,t)=>{const r=G.test(e),n=G.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:eY(t,e)};const{MAX_LENGTH:Q,MAX_SAFE_INTEGER:$}=W,{re:Z,t:ee}=H,{compareIdentifiers:te}=X;class re{constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof re){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \".concat(e));if(e.length>Q)throw new TypeError(\"version is longer than \".concat(Q,\" characters\"));q(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?Z[ee.LOOSE]:Z[ee.FULL]);if(!r)throw new TypeError(\"Invalid Version: \".concat(e));if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>$||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>$||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>$||this.patch<0)throw new TypeError(\"Invalid patch version\");r[4]?this.prerelease=r[4].split(\".\").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<$)return t}return e})):this.prerelease=[],this.build=r[5]?r[5].split(\".\"):[],this.format()}format(){return this.version=\"\".concat(this.major,\".\").concat(this.minor,\".\").concat(this.patch),this.prerelease.length&&(this.version+=\"-\".concat(this.prerelease.join(\".\"))),this.version}toString(){return this.version}compare(e){if(q(\"SemVer.compare\",this.version,this.options,e),!(e instanceof re)){if(\"string\"==typeof e&&e===this.version)return 0;e=new re(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof re||(e=new re(e,this.options)),te(this.major,e.major)||te(this.minor,e.minor)||te(this.patch,e.patch)}comparePre(e){if(e instanceof re||(e=new re(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{const r=this.prerelease[t],n=e.prerelease[t];if(q(\"prerelease compare\",t,r,n),void 0===r&&void 0===n)return 0;if(void 0===n)return 1;if(void 0===r)return-1;if(r!==n)return te(r,n)}while(++t)}compareBuild(e){e instanceof re||(e=new re(e,this.options));let t=0;do{const r=this.build[t],n=e.build[t];if(q(\"prerelease compare\",t,r,n),void 0===r&&void 0===n)return 0;if(void 0===n)return 1;if(void 0===r)return-1;if(r!==n)return te(r,n)}while(++t)}inc(e,t){switch(e){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",t);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",t);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"prerelease\":0===this.prerelease.length&&this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"major\":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case\"pre\":if(0===this.prerelease.length)this.prerelease=[0];else{let e=this.prerelease.length;for(;--e>=0;)\"number\"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(\"invalid increment argument: \".concat(e))}return this.format(),this.raw=this.version,this}}var ne=re;var ie=(e,t,r)=>new ne(e,r).compare(new ne(t,r));var ae=(e,t,r)=>ie(e,t,r)<0;var oe=(e,t,r)=>ie(e,t,r)>=0,se=\"2.2.0\",ce=r((function(e,t){function r(){for(var e=[],t=0;t\"string\"==typeof e||\"function\"==typeof e,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:he,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin\",cliCategory:me},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:he,description:ge(_e()),exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin-search-dir\",cliCategory:me},printWidth:{since:\"0.0.0\",category:he,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:De,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:ge(de()),cliCategory:ye},rangeStart:{since:\"1.4.0\",category:De,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:ge(le()),cliCategory:ye},requirePragma:{since:\"1.7.0\",category:De,type:\"boolean\",default:!1,description:ge(ue()),cliCategory:ve},tabWidth:{type:\"int\",category:he,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:he,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:he,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};const be={compare:ie,lt:ae,gte:oe},Se=se,Ee={CATEGORY_CONFIG:me,CATEGORY_EDITOR:ye,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:ve,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:he,CATEGORY_SPECIAL:De,options:xe}.options;var Te={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:n=!1}={}){const i=Se.split(\"-\",1)[0],a=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(u),o=(s=Object.assign({},...e.map((({options:e})=>e)),Ee),c=\"name\",Object.entries(s).map((([e,t])=>Object.assign({[c]:e},t)))).filter((e=>u(e)&&l(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(i[r]=e[r]);return i}(e,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(u).sort(((e,t)=>be.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>u(e)&&l(e))),\"parser\"===t.name&&function(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const i of t)if(i.parsers)for(const t of i.parsers)if(!n.has(t)){n.add(t);const a=r.find((e=>e.parsers&&e.parsers[t]));let o=i.name;a&&a.name&&(o+=\" (plugin: \".concat(a.name,\")\")),e.choices.push({value:t,description:o})}}(t,a,e));const r=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,r)=>(e[r.name]=r.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:r})}));var s,c;return{languages:a,options:o};function u(e){return t||!(\"since\"in e)||e.since&&be.gte(i,e.since)}function l(e){return r||!(\"deprecated\"in e)||e.deprecated&&be.lt(i,e.deprecated)}}};const{getSupportInfo:Ce}=Te,ke=/[^\\x20-\\x7F]/;function Ae(e){return(t,r,n)=>{const i=n&&n.backwards;if(!1===r)return!1;const{length:a}=t;let o=r;for(;o>=0&&o(r.match(o.regex)||[]).length?o.quote:a.quote}return s}function ze(e,t,r){const n='\"'===t?\"'\":'\"',i=e.replace(/\\\\([\\S\\s])|([\"'])/g,((e,i,a)=>i===n?i:a===t?\"\\\\\"+a:a||(r&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(i)?i:\"\\\\\"+i)));return t+i+t}function Ue(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,\"JSXText\"===e.type&&(t.printed=!0)}var Ve={inferParserByLanguage:function(e,t){const{languages:r}=Ce({plugins:t.plugins}),n=r.find((({name:t})=>t.toLowerCase()===e))||r.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||r.find((({extensions:t})=>Array.isArray(t)&&t.includes(\".\".concat(e))));return n&&n.parsers[0]},replaceEndOfLineWith:function(e,t){const r=[];for(const n of e.split(\"\\n\"))0!==r.length&&r.push(t),r.push(n);return r},getStringWidth:function(e){return e?ke.test(e)?g(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp(\"(\".concat(y(t),\")+\"),\"g\"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp(\"(\".concat(y(t),\")+\"),\"g\"));if(null===r)return 0;const n=new Map;let i=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>i&&(i=r)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Be,getNextNonSpaceNonCommentCharacterIndex:je,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(je(e,t,r))},skip:Ae,skipWhitespace:Fe,skipSpaces:Ne,skipToLineEnd:Pe,skipEverythingButNewLine:we,skipInlineComment:Ie,skipTrailingComment:Oe,skipNewline:Me,isNextLineEmptyAfterIndex:Re,isNextLineEmpty:function(e,t,r){return Re(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=Ne(e,n,{backwards:!0}),n=Me(e,n,{backwards:!0}),n=Ne(e,n,{backwards:!0}),n!==Me(e,n,{backwards:!0})},hasNewline:Le,hasNewlineInRange:function(e,t,r){for(let n=t;n=0?\"\\n\"===e.charAt(t+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(e){switch(e){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(e,t){let r;if(\"\\n\"===t)r=/\\n/g;else if(\"\\r\"===t)r=/\\r/g;else{if(\"\\r\\n\"!==t)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(t),\".\"));r=/\\r\\n/g}const n=e.match(r);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\\r\\n?/g,\"\\n\")}};const{parseWithComments:We,strip:He,extract:Ge,print:Ye}=u,{getShebang:Xe}=Ve,{normalizeEndOfLine:Qe}=qe;function $e(e){const t=Xe(e);t&&(e=e.slice(t.length+1));const r=Ge(e),{pragmas:n,comments:i}=We(r);return{shebang:t,text:e,pragmas:n,comments:i}}var Ze={hasPragma:function(e){const t=Object.keys($e(e).pragmas);return t.includes(\"prettier\")||t.includes(\"format\")},insertPragma:function(e){const{shebang:t,text:r,pragmas:n,comments:i}=$e(e),a=He(r),o=Ye({pragmas:Object.assign({format:\"\"},n),comments:i.trimStart()});return(t?\"\".concat(t,\"\\n\"):\"\")+Qe(o)+(a.startsWith(\"\\n\")?\"\\n\":\"\\n\\n\")+a}};function et(e,t){const{ignoreDecorators:r}=t||{};if(!r){const t=e.declaration&&e.declaration.decorators||e.decorators;if(t&&t.length>0)return et(t[0])}return e.range?e.range[0]:e.start}function tt(e){const t=e.range?e.range[1]:e.end;return e.typeAnnotation?Math.max(t,tt(e.typeAnnotation)):t}function rt(e,t){return et(e)===et(t)}var nt={locStart:et,locEnd:tt,composeLoc:function(e,t=e){const r=et(e);return[r,\"number\"==typeof t?r+t:tt(t)]},hasSameLocStart:rt,hasSameLoc:function(e,t){return rt(e,t)&&function(e,t){return tt(e)===tt(t)}(e,t)}},it=r((function(e){!function(){function t(e){if(null==e)return!1;switch(e.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function r(e){switch(e.type){case\"IfStatement\":return null!=e.alternate?e.alternate:e.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:t,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&\"FunctionDeclaration\"===e.type},isProblematicIfStatement:function(e){var t;if(\"IfStatement\"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if(\"IfStatement\"===t.type&&null==t.alternate)return!0;t=r(t)}while(t);return!1},trailingStatement:r}}()})),at=r((function(e){!function(){var t,r,n,i,a,o;function s(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(r={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},t={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},n=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),o=0;o<128;++o)i[o]=o>=97&&o<=122||o>=65&&o<=90||36===o||95===o;for(a=new Array(128),o=0;o<128;++o)a[o]=o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||36===o||95===o;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&n.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?i[e]:r.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES5:function(e){return e<128?a[e]:r.NonAsciiIdentifierPart.test(s(e))},isIdentifierStartES6:function(e){return e<128?i[e]:t.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES6:function(e){return e<128?a[e]:t.NonAsciiIdentifierPart.test(s(e))}}}()})),ot=r((function(e){!function(){var t=at;function r(e,t){return!(!t&&\"yield\"===e)&&n(e,t)}function n(e,t){if(t&&function(e){switch(e){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return\"if\"===e||\"in\"===e||\"do\"===e;case 3:return\"var\"===e||\"for\"===e||\"new\"===e||\"try\"===e;case 4:return\"this\"===e||\"else\"===e||\"case\"===e||\"void\"===e||\"with\"===e||\"enum\"===e;case 5:return\"while\"===e||\"break\"===e||\"catch\"===e||\"throw\"===e||\"const\"===e||\"yield\"===e||\"class\"===e||\"super\"===e;case 6:return\"return\"===e||\"typeof\"===e||\"delete\"===e||\"switch\"===e||\"export\"===e||\"import\"===e;case 7:return\"default\"===e||\"finally\"===e||\"extends\"===e;case 8:return\"function\"===e||\"continue\"===e||\"debugger\"===e;case 10:return\"instanceof\"===e;default:return!1}}function i(e,t){return\"null\"===e||\"true\"===e||\"false\"===e||r(e,t)}function a(e,t){return\"null\"===e||\"true\"===e||\"false\"===e||n(e,t)}function o(e){var r,n,i;if(0===e.length)return!1;if(i=e.charCodeAt(0),!t.isIdentifierStartES5(i))return!1;for(r=1,n=e.length;r=n)return!1;if(!(56320<=(a=e.charCodeAt(r))&&a<=57343))return!1;i=1024*(i-55296)+(a-56320)+65536}if(!o(i))return!1;o=t.isIdentifierPartES6}return!0}e.exports={isKeywordES5:r,isKeywordES6:n,isReservedWordES5:i,isReservedWordES6:a,isRestrictedWord:function(e){return\"eval\"===e||\"arguments\"===e},isIdentifierNameES5:o,isIdentifierNameES6:s,isIdentifierES5:function(e,t){return o(e)&&!i(e,t)},isIdentifierES6:function(e,t){return s(e)&&!a(e,t)}}}()}));const st=r((function(e,t){t.ast=it,t.code=at,t.keyword=ot})).keyword.isIdentifierNameES5,{getLast:ct,hasNewline:ut,hasNewlineInRange:lt,skipWhitespace:dt}=Ve,{locStart:_t,locEnd:pt,hasSameLocStart:ft}=nt,gt=\"(?:(?=.)\\\\s)\",mt=new RegExp(\"^\".concat(gt,\"*:\")),yt=new RegExp(\"^\".concat(gt,\"*::\"));function vt(e,t){if(!e||\"object\"!=typeof e)return!1;if(Array.isArray(e))return e.some((e=>vt(e,t)));const r=t(e);return\"boolean\"==typeof r?r:Object.keys(e).some((r=>vt(e[r],t)))}function ht(e){return\"AssignmentExpression\"===e.type||\"BinaryExpression\"===e.type||\"LogicalExpression\"===e.type||\"NGPipeExpression\"===e.type||\"ConditionalExpression\"===e.type||\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type||\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type||\"SequenceExpression\"===e.type||\"TaggedTemplateExpression\"===e.type||\"BindExpression\"===e.type||\"UpdateExpression\"===e.type&&!e.prefix||\"TSAsExpression\"===e.type||\"TSNonNullExpression\"===e.type}function Dt(e){return e.expressions?e.expressions[0]:e.left||e.test||e.callee||e.object||e.tag||e.argument||e.expression}function xt(e){return\"Block\"===e.type||\"CommentBlock\"===e.type||\"MultiLine\"===e.type}const bt=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function St(e){return e&&bt.has(e.type)}function Et(e){return\"BooleanLiteral\"===e.type||\"DirectiveLiteral\"===e.type||\"Literal\"===e.type||\"NullLiteral\"===e.type||\"NumericLiteral\"===e.type||\"BigIntLiteral\"===e.type||\"DecimalLiteral\"===e.type||\"RegExpLiteral\"===e.type||\"StringLiteral\"===e.type||\"TemplateLiteral\"===e.type||\"TSTypeLiteral\"===e.type||\"JSXText\"===e.type}function Tt(e){return\"NumericLiteral\"===e.type||\"Literal\"===e.type&&\"number\"==typeof e.value}function Ct(e){return\"StringLiteral\"===e.type||\"Literal\"===e.type&&\"string\"==typeof e.value}function kt(e){return\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type}function At(e){return!(\"CallExpression\"!==e.type&&\"OptionalCallExpression\"!==e.type||\"Identifier\"!==e.callee.type||\"async\"!==e.callee.name&&\"inject\"!==e.callee.name&&\"fakeAsync\"!==e.callee.name)}function Ft(e){return\"JSXElement\"===e.type||\"JSXFragment\"===e.type}function Nt(e){return\"get\"===e.kind||\"set\"===e.kind}function Pt(e){return Nt(e)||ft(e,e.value)}const wt=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]);const It=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]);const Ot=/^(skip|[fx]?(it|describe|test))$/;function Mt(e){return\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type}const Lt=new RegExp(\"([ \\n\\r\\t]+)\"),Rt=new RegExp(\"[^ \\n\\r\\t]\");function Bt(e){return Et(e)&&(Rt.test(zt(e))||!/\\n/.test(zt(e)))}function jt(e,t){if(Ft(t))return $t(t);return t.comments&&t.comments.some((t=>t.leading&&ut(e,pt(t))))}function Jt(e){return/^(\\d+|\\d+\\.\\d+)$/.test(e)}function Kt(e){return e.quasis.some((e=>e.value.raw.includes(\"\\n\")))}function zt(e){return e.extra?e.extra.raw:e.raw}const Ut={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},Vt={\"*\":!0,\"/\":!0,\"%\":!0},qt={\">>\":!0,\">>>\":!0,\"<<\":!0};const Wt={};function Ht(e){return Wt[e]}[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].forEach(((e,t)=>{e.forEach((e=>{Wt[e]=t}))}));const Gt=new WeakMap;function Yt(e){if(Gt.has(e))return Gt.get(e);const t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),Gt.set(e,t),t}const Xt=new WeakMap;function Qt(e){return\"prettier-ignore\"===e.value.trim()}function $t(e){return e&&(e.comments&&e.comments.length>0&&e.comments.some((e=>Qt(e)&&!e.unignore))||e.prettierIgnore)}function Zt(e){return $t(e.getValue())}var er={classChildNeedsASIProtection:function(e){if(e){if(e.static||e.accessibility)return!1;if(!e.computed){const t=e.key&&e.key.name;if(\"in\"===t||\"instanceof\"===t)return!0}switch(e.type){case\"ClassProperty\":case\"FieldDefinition\":case\"TSAbstractClassProperty\":return e.computed;case\"MethodDefinition\":case\"TSAbstractMethodDefinition\":case\"ClassMethod\":case\"ClassPrivateMethod\":{const t=e.value?e.value.async:e.async,r=e.value?e.value.generator:e.generator;return!t&&\"get\"!==e.kind&&\"set\"!==e.kind&&!(!e.computed&&!r)}case\"TSIndexSignature\":return!0;default:return!1}}},classPropMayCauseASIProblems:function(e){const t=e.getNode();if(\"ClassProperty\"!==t.type&&\"FieldDefinition\"!==t.type)return!1;const r=t.key&&t.key.name;return!(\"static\"!==r&&\"get\"!==r&&\"set\"!==r||t.value||t.typeAnnotation)||void 0},getFunctionParameters:Yt,iterateFunctionParametersPath:function(e,t){const r=e.getValue();let n=0;const i=e=>t(e,n++);r.this&&e.call(i,\"this\"),Array.isArray(r.parameters)?e.each(i,\"parameters\"):Array.isArray(r.params)&&e.each(i,\"params\"),r.rest&&e.call(i,\"rest\")},getCallArguments:function(e){if(Xt.has(e))return Xt.get(e);const t=\"ImportExpression\"===e.type?[e.source]:e.arguments;return Xt.set(e,t),t},iterateCallArgumentsPath:function(e,t){\"ImportExpression\"===e.getValue().type?e.call((e=>t(e,0)),\"source\"):e.each(t,\"arguments\")},hasRestParameter:function(e){if(e.rest)return!0;const t=Yt(e);return t.length>0&&\"RestElement\"===ct(t).type},getLeftSidePathName:function(e,t){if(t.expressions)return[\"expressions\",0];if(t.left)return[\"left\"];if(t.test)return[\"test\"];if(t.object)return[\"object\"];if(t.callee)return[\"callee\"];if(t.tag)return[\"tag\"];if(t.argument)return[\"argument\"];if(t.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(e){const t=e.getParentNode();return\"declaration\"===e.getName()&&St(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return\"+\"===e?\"+\"+t:\"-\"===e?\"-\"+t:t},hasDanglingComments:function(e){return e.comments&&e.comments.some((e=>!e.leading&&!e.trailing))},hasFlowAnnotationComment:function(e){return e&&xt(e[0])&&yt.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&e.trailingComments&&xt(e.trailingComments[0])&&mt.test(e.trailingComments[0].value)},hasLeadingComment:function(e){return e.comments&&e.comments.some((e=>e.leading))},hasLeadingOwnLineComment:jt,hasNakedLeftSide:ht,hasNewlineBetweenOrAfterDecorators:function(e,t){return lt(t.originalText,_t(e.decorators[0]),pt(ct(e.decorators)))||ut(t.originalText,pt(ct(e.decorators)))},hasNgSideEffect:function(e){return vt(e.getValue(),(e=>{switch(e.type){case void 0:return!1;case\"CallExpression\":case\"OptionalCallExpression\":case\"AssignmentExpression\":return!0}}))},hasNode:vt,hasPrettierIgnore:function(e){return Zt(e)||function(e){const t=e.getValue(),r=e.getParentNode();if(!(r&&t&&Ft(t)&&Ft(r)))return!1;let n=null;for(let e=r.children.indexOf(t);e>0;e--){const t=r.children[e-1];if(\"JSXText\"!==t.type||Bt(t)){n=t;break}}return n&&\"JSXExpressionContainer\"===n.type&&\"JSXEmptyExpression\"===n.expression.type&&n.expression.comments&&n.expression.comments.some((e=>Qt(e)))}(e)},hasTrailingComment:function(e){return e.comments&&e.comments.some((e=>e.trailing))},hasTrailingLineComment:function(e){return e.comments&&e.comments.some((e=>e.trailing&&!xt(e)))},hasIgnoreComment:Zt,hasNodeIgnoreComment:$t,identity:function(e){return e},isBinaryish:function(e){return wt.has(e.type)},isBlockComment:xt,isLineComment:function(e){return\"Line\"===e.type||\"CommentLine\"===e.type||\"SingleLine\"===e.type||\"HashbangComment\"===e.type||\"HTMLOpen\"===e.type||\"HTMLClose\"===e.type},isPrettierIgnoreComment:Qt,isCallOrOptionalCallExpression:Mt,isEmptyJSXElement:function(e){if(0===e.children.length)return!0;if(e.children.length>1)return!1;const t=e.children[0];return Et(t)&&!Bt(t)},isExportDeclaration:St,isFlowAnnotationComment:function(e,t){const r=_t(t),n=dt(e,pt(t));return!1!==n&&\"/*\"===e.slice(r,r+2)&&\"*/\"===e.slice(n,n+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const r of e)if(kt(r)){if(t+=1,t>1)return!0}else if(Mt(r))for(const e of r.arguments)if(kt(e))return!0;return!1},isFunctionNotation:Pt,isFunctionOrArrowExpression:kt,isGetterOrSetter:Nt,isJestEachTemplateLiteral:function(e,t){const r=/^[fx]?(describe|it|test)$/;return\"TaggedTemplateExpression\"===t.type&&t.quasi===e&&\"MemberExpression\"===t.tag.type&&\"Identifier\"===t.tag.property.type&&\"each\"===t.tag.property.name&&(\"Identifier\"===t.tag.object.type&&r.test(t.tag.object.name)||\"MemberExpression\"===t.tag.object.type&&\"Identifier\"===t.tag.object.property.type&&(\"only\"===t.tag.object.property.name||\"skip\"===t.tag.object.property.name)&&\"Identifier\"===t.tag.object.object.type&&r.test(t.tag.object.object.name))},isJSXNode:Ft,isJSXWhitespaceExpression:function(e){return\"JSXExpressionContainer\"===e.type&&Et(e.expression)&&\" \"===e.expression.value&&!e.expression.comments},isLastStatement:function(e){const t=e.getParentNode();if(!t)return!0;const r=e.getValue(),n=(t.body||t.consequent).filter((e=>\"EmptyStatement\"!==e.type));return n[n.length-1]===r},isLiteral:Et,isLongCurriedCallExpression:function(e){const t=e.getValue(),r=e.getParentNode();return Mt(t)&&Mt(r)&&r.callee===t&&t.arguments.length>r.arguments.length&&r.arguments.length>0},isSimpleCallArgument:function e(t,r){if(r>=2)return!1;const n=t=>e(t,r+1),i=\"Literal\"===t.type&&\"regex\"in t&&t.regex.pattern||\"RegExpLiteral\"===t.type&&t.pattern;return!(i&&i.length>5)&&(\"Literal\"===t.type||\"BigIntLiteral\"===t.type||\"DecimalLiteral\"===t.type||\"BooleanLiteral\"===t.type||\"NullLiteral\"===t.type||\"NumericLiteral\"===t.type||\"RegExpLiteral\"===t.type||\"StringLiteral\"===t.type||\"Identifier\"===t.type||\"ThisExpression\"===t.type||\"Super\"===t.type||\"PrivateName\"===t.type||\"ArgumentPlaceholder\"===t.type||\"Import\"===t.type||(\"TemplateLiteral\"===t.type?t.expressions.every(n):\"ObjectExpression\"===t.type?t.properties.every((e=>!e.computed&&(e.shorthand||e.value&&n(e.value)))):\"ArrayExpression\"===t.type?t.elements.every((e=>null===e||n(e))):\"ImportExpression\"===t.type?n(t.source):\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type||\"NewExpression\"===t.type?e(t.callee,r)&&t.arguments.every(n):\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type?e(t.object,r)&&e(t.property,r):\"UnaryExpression\"!==t.type||\"!\"!==t.operator&&\"-\"!==t.operator?\"TSNonNullExpression\"===t.type&&e(t.expression,r):e(t.argument,r)))},isMeaningfulJSXText:Bt,isMemberExpressionChain:function e(t){return(\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type)&&(\"Identifier\"===t.object.type||e(t.object))},isMemberish:function(e){return\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type||\"BindExpression\"===e.type&&Boolean(e.object)},isNgForOf:function(e,t,r){return\"NGMicrosyntaxKeyedExpression\"===e.type&&\"of\"===e.key.name&&1===t&&\"NGMicrosyntaxLet\"===r.body[0].type&&null===r.body[0].value},isNumericLiteral:Tt,isObjectType:function(e){return\"ObjectTypeAnnotation\"===e.type||\"TSTypeLiteral\"===e.type},isObjectTypePropertyAFunction:function(e){return!(\"ObjectTypeProperty\"!==e.type&&\"ObjectTypeInternalSlot\"!==e.type||\"FunctionTypeAnnotation\"!==e.value.type||e.static||Pt(e))},isSimpleType:function(e){return!!e&&(!(\"GenericTypeAnnotation\"!==e.type&&\"TSTypeReference\"!==e.type||e.typeParameters)||!!It.has(e.type))},isSimpleNumber:Jt,isSimpleTemplateLiteral:function(e){let t=\"expressions\";\"TSTemplateLiteralType\"===e.type&&(t=\"types\");const r=e[t];return 0!==r.length&&r.every((e=>{if(e.comments)return!1;if(\"Identifier\"===e.type||\"ThisExpression\"===e.type)return!0;if(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type){let t=e;for(;\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type;){if(\"Identifier\"!==t.property.type&&\"Literal\"!==t.property.type&&\"StringLiteral\"!==t.property.type&&\"NumericLiteral\"!==t.property.type)return!1;if(t=t.object,t.comments)return!1}return\"Identifier\"===t.type||\"ThisExpression\"===t.type}return!1}))},isStringLiteral:Ct,isStringPropSafeToUnquote:function(e,t){return\"json\"!==t.parser&&Ct(e.key)&&zt(e.key).slice(1,-1)===e.key.value&&(st(e.key.value)&&!((\"typescript\"===t.parser||\"babel-ts\"===t.parser)&&\"ClassProperty\"===e.type)||Jt(e.key.value)&&String(Number(e.key.value))===e.key.value&&(\"babel\"===t.parser||\"espree\"===t.parser||\"meriyah\"===t.parser))},isTemplateOnItsOwnLine:function(e,t){return(\"TemplateLiteral\"===e.type&&Kt(e)||\"TaggedTemplateExpression\"===e.type&&Kt(e.quasi))&&!ut(t,_t(e),{backwards:!0})},isTestCall:function e(t,r){if(\"CallExpression\"!==t.type)return!1;if(1===t.arguments.length){if(At(t)&&r&&e(r))return kt(t.arguments[0]);if(function(e){return\"Identifier\"===e.callee.type&&/^(before|after)(Each|All)$/.test(e.callee.name)&&1===e.arguments.length}(t))return At(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&(\"Identifier\"===t.callee.type&&Ot.test(t.callee.name)||function(e){return(\"MemberExpression\"===e.callee.type||\"OptionalMemberExpression\"===e.callee.type)&&\"Identifier\"===e.callee.object.type&&\"Identifier\"===e.callee.property.type&&Ot.test(e.callee.object.name)&&(\"only\"===e.callee.property.name||\"skip\"===e.callee.property.name)}(t))&&(function(e){return\"TemplateLiteral\"===e.type}(t.arguments[0])||Ct(t.arguments[0])))return!(t.arguments[2]&&!Tt(t.arguments[2]))&&((2===t.arguments.length?kt(t.arguments[1]):function(e){return\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type&&\"BlockStatement\"===e.body.type}(t.arguments[1])&&Yt(t.arguments[1]).length<=1)||At(t.arguments[1]));return!1},isTheOnlyJSXElementInMarkdown:function(e,t){if(\"markdown\"!==e.parentParser&&\"mdx\"!==e.parentParser)return!1;const r=t.getNode();if(!r.expression||!Ft(r.expression))return!1;const n=t.getParentNode();return\"Program\"===n.type&&1===n.body.length},isTSXFile:function(e){return e.filepath&&/\\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!(\"TypeAnnotation\"!==e.type&&\"TSTypeAnnotation\"!==e.type||\"FunctionTypeAnnotation\"!==e.typeAnnotation.type||e.static||ft(e,e.typeAnnotation))},matchJsxWhitespaceRegex:Lt,needsHardlineAfterDanglingComment:function(e){if(!e.comments)return!1;const t=ct(e.comments.filter((e=>!e.leading&&!e.trailing)));return t&&!xt(t)},rawText:zt,returnArgumentHasLeadingComment:function(e,t){if(jt(e.originalText,t))return!0;if(ht(t)){let r,n=t;for(;r=Dt(n);)if(n=r,jt(e.originalText,n))return!0}return!1},shouldPrintComma:function(e,t=\"es5\"){return\"es5\"===e.trailingComma&&\"es5\"===t||\"all\"===e.trailingComma&&(\"all\"===t||\"es5\"===t)},isBitwiseOperator:function(e){return!!qt[e]||\"|\"===e||\"^\"===e||\"&\"===e},shouldFlatten:function(e,t){return Ht(t)===Ht(e)&&(\"**\"!==e&&((!Ut[e]||!Ut[t])&&(!(\"%\"===t&&Vt[e]||\"%\"===e&&Vt[t])&&((t===e||!Vt[t]||!Vt[e])&&(!qt[e]||!qt[t])))))},startsWithNoLookaheadToken:function e(t,r){switch((t=function(e){for(;e.left;)e=e.left;return e}(t)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return r;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return e(t.object,r);case\"TaggedTemplateExpression\":return\"FunctionExpression\"!==t.tag.type&&e(t.tag,r);case\"CallExpression\":case\"OptionalCallExpression\":return\"FunctionExpression\"!==t.callee.type&&e(t.callee,r);case\"ConditionalExpression\":return e(t.test,r);case\"UpdateExpression\":return!t.prefix&&e(t.argument,r);case\"BindExpression\":return t.object&&e(t.object,r);case\"SequenceExpression\":return e(t.expressions[0],r);case\"TSAsExpression\":return e(t.expression,r);default:return!1}},getPrecedence:Ht};const{getLast:tr,hasNewline:rr,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:nr,getNextNonSpaceNonCommentCharacter:ir,hasNewlineInRange:ar,addLeadingComment:or,addTrailingComment:sr,addDanglingComment:cr,getNextNonSpaceNonCommentCharacterIndex:ur}=Ve,{isBlockComment:lr,getFunctionParameters:dr,isPrettierIgnoreComment:_r,isJSXNode:pr,hasFlowShorthandAnnotationComment:fr,hasFlowAnnotationComment:gr,hasIgnoreComment:mr}=er,{locStart:yr,locEnd:vr}=nt;function hr(e,t){const r=(e.body||e.properties).find((({type:e})=>\"EmptyStatement\"!==e));r?or(r,t):cr(e,t)}function Dr(e,t){\"BlockStatement\"===e.type?hr(e,t):or(e,t)}function xr(e,t){const{precedingNode:r,enclosingNode:n,followingNode:i}=e;if(!n||\"IfStatement\"!==n.type||!i)return!1;return\")\"===ir(t,e,vr)?(sr(r,e),!0):r===n.consequent&&i===n.alternate?(\"BlockStatement\"===r.type?sr(r,e):cr(n,e),!0):\"BlockStatement\"===i.type?(hr(i,e),!0):\"IfStatement\"===i.type?(Dr(i.consequent,e),!0):n.consequent===i&&(or(i,e),!0)}function br(e,t){const{precedingNode:r,enclosingNode:n,followingNode:i}=e;if(!n||\"WhileStatement\"!==n.type||!i)return!1;return\")\"===ir(t,e,vr)?(sr(r,e),!0):\"BlockStatement\"===i.type?(hr(i,e),!0):n.body===i&&(or(i,e),!0)}function Sr(e){const{precedingNode:t,enclosingNode:r,followingNode:n}=e;return!(!r||\"TryStatement\"!==r.type&&\"CatchClause\"!==r.type||!n)&&(\"CatchClause\"===r.type&&t?(sr(t,e),!0):\"BlockStatement\"===n.type?(hr(n,e),!0):\"TryStatement\"===n.type?(Dr(n.finalizer,e),!0):\"CatchClause\"===n.type&&(Dr(n.body,e),!0))}function Er(e){const{precedingNode:t,enclosingNode:r,followingNode:n}=e;if(r&&(\"ClassDeclaration\"===r.type||\"ClassExpression\"===r.type||\"DeclareClass\"===r.type||\"DeclareInterface\"===r.type||\"InterfaceDeclaration\"===r.type||\"TSInterfaceDeclaration\"===r.type)){if(r.decorators&&r.decorators.length>0&&(!n||\"Decorator\"!==n.type))return sr(r.decorators[r.decorators.length-1],e),!0;if(r.body&&n===r.body)return hr(r.body,e),!0;if(n)for(const i of[\"implements\",\"extends\",\"mixins\"])if(r[i]&&n===r[i][0])return!t||t!==r.id&&t!==r.typeParameters&&t!==r.superClass?cr(r,e,i):sr(t,e),!0}return!1}function Tr(e,t){const{precedingNode:r,enclosingNode:n}=e;return(n&&r&&(\"Property\"===n.type||\"TSDeclareMethod\"===n.type||\"TSAbstractMethodDefinition\"===n.type)&&\"Identifier\"===r.type&&n.key===r&&\":\"!==ir(t,r,vr)||!(!r||!n||\"Decorator\"!==r.type||\"ClassMethod\"!==n.type&&\"ClassProperty\"!==n.type&&\"FieldDefinition\"!==n.type&&\"TSAbstractClassProperty\"!==n.type&&\"TSAbstractMethodDefinition\"!==n.type&&\"TSDeclareMethod\"!==n.type&&\"MethodDefinition\"!==n.type))&&(sr(r,e),!0)}function Cr(e,t){const{precedingNode:r,enclosingNode:n,followingNode:i}=e;if(r&&\"FunctionTypeParam\"===r.type&&n&&\"FunctionTypeAnnotation\"===n.type&&i&&\"FunctionTypeParam\"!==i.type)return sr(r,e),!0;if(r&&(\"Identifier\"===r.type||\"AssignmentPattern\"===r.type)&&n&&Pr(n)&&\")\"===ir(t,e,vr))return sr(r,e),!0;if(n&&\"FunctionDeclaration\"===n.type&&i&&\"BlockStatement\"===i.type){const r=(()=>{const e=dr(n);if(0!==e.length)return nr(t,vr(tr(e)));const r=nr(t,vr(n.id));return!1!==r&&nr(t,r+1)})();if(yr(e)>r)return hr(i,e),!0}return!1}function kr(e){const{enclosingNode:t}=e;return!(!t||\"ImportSpecifier\"!==t.type)&&(or(t,e),!0)}function Ar(e){const{enclosingNode:t}=e;return!(!t||\"LabeledStatement\"!==t.type)&&(or(t,e),!0)}function Fr(e,t,r){const{enclosingNode:n}=e;return t&&t.body&&0===t.body.length?(r?cr(t,e):or(t,e),!0):!(!n||\"Program\"!==n.type||0!==n.body.length||!n.directives||0!==n.directives.length)&&(r?cr(n,e):or(n,e),!0)}function Nr(e){const{enclosingNode:t,followingNode:r}=e;if(_r(e)&&t&&\"TSMappedType\"===t.type&&r&&\"TSTypeParameter\"===r.type&&r.constraint)return t.prettierIgnore=!0,e.unignore=!0,!0}function Pr(e){return\"ArrowFunctionExpression\"===e.type||\"FunctionExpression\"===e.type||\"FunctionDeclaration\"===e.type||\"ObjectMethod\"===e.type||\"ClassMethod\"===e.type||\"TSDeclareFunction\"===e.type||\"TSCallSignatureDeclaration\"===e.type||\"TSConstructSignatureDeclaration\"===e.type||\"TSMethodSignature\"===e.type||\"TSConstructorType\"===e.type||\"TSFunctionType\"===e.type||\"TSDeclareMethod\"===e.type}function wr(e){return lr(e)&&\"*\"===e.value[0]&&/@type\\b/.test(e.value)}var Ir={handleOwnLineComment:function(e,t,r,n,i){return Nr(e)||Cr(e,t)||function(e){const{enclosingNode:t,followingNode:r}=e;if(t&&(\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type)&&r&&\"Identifier\"===r.type)return or(t,e),!0;return!1}(e)||xr(e,t)||br(e,t)||Sr(e)||Er(e)||kr(e)||function(e){const{enclosingNode:t}=e;if(t&&(\"ForInStatement\"===t.type||\"ForOfStatement\"===t.type))return or(t,e),!0;return!1}(e)||function(e){const{precedingNode:t,enclosingNode:r,followingNode:n}=e;if(r&&(\"UnionTypeAnnotation\"===r.type||\"TSUnionType\"===r.type))return _r(e)&&(n.prettierIgnore=!0,e.unignore=!0),!!t&&(sr(t,e),!0);n&&(\"UnionTypeAnnotation\"===n.type||\"TSUnionType\"===n.type)&&_r(e)&&(n.types[0].prettierIgnore=!0,e.unignore=!0);return!1}(e)||Fr(e,n,i)||function(e,t){const{precedingNode:r,enclosingNode:n}=e;if(r&&\"ImportSpecifier\"===r.type&&n&&\"ImportDeclaration\"===n.type&&rr(t,vr(e)))return sr(r,e),!0;return!1}(e,t)||function(e){const{enclosingNode:t}=e;if(t&&\"AssignmentPattern\"===t.type)return or(t,e),!0;return!1}(e)||Tr(e,t)||Ar(e)},handleEndOfLineComment:function(e,t,r,n,i){return function(e){const{followingNode:t}=e;if(t&&wr(e))return or(t,e),!0;return!1}(e)||Cr(e,t)||function(e,t){const{precedingNode:r,enclosingNode:n,followingNode:i}=e,a=r&&!ar(t,vr(r),yr(e));if((!r||!a)&&n&&(\"ConditionalExpression\"===n.type||\"TSConditionalType\"===n.type)&&i)return or(i,e),!0;return!1}(e,t)||kr(e)||xr(e,t)||br(e,t)||Sr(e)||Er(e)||Ar(e)||function(e){const{precedingNode:t,enclosingNode:r}=e;if(r&&(\"CallExpression\"===r.type||\"OptionalCallExpression\"===r.type)&&t&&r.callee===t&&r.arguments.length>0)return or(r.arguments[0],e),!0;return!1}(e)||function(e){const{enclosingNode:t}=e;if(t&&(\"Property\"===t.type||\"ObjectProperty\"===t.type))return or(t,e),!0;return!1}(e)||Fr(e,n,i)||function(e){const{enclosingNode:t}=e;if(t&&\"TypeAlias\"===t.type)return or(t,e),!0;return!1}(e)||function(e){const{enclosingNode:t,followingNode:r}=e;if(t&&(\"VariableDeclarator\"===t.type||\"AssignmentExpression\"===t.type)&&r&&(\"ObjectExpression\"===r.type||\"ArrayExpression\"===r.type||\"TemplateLiteral\"===r.type||\"TaggedTemplateExpression\"===r.type||lr(e)))return or(r,e),!0;return!1}(e)},handleRemainingComment:function(e,t,r,n,i){return!!(Nr(e)||xr(e,t)||br(e,t)||function(e){const{precedingNode:t,enclosingNode:r}=e;if(r&&(\"ObjectProperty\"===r.type||\"Property\"===r.type)&&r.shorthand&&r.key===t&&\"AssignmentPattern\"===r.value.type)return sr(r.value.left,e),!0;return!1}(e)||function(e,t){if(\")\"!==ir(t,e,vr))return!1;const{enclosingNode:r}=e;if(r&&(Pr(r)&&0===dr(r).length||(\"CallExpression\"===r.type||\"OptionalCallExpression\"===r.type||\"NewExpression\"===r.type)&&0===r.arguments.length))return cr(r,e),!0;if(r&&\"MethodDefinition\"===r.type&&0===dr(r.value).length)return cr(r.value,e),!0;return!1}(e,t)||Tr(e,t)||Fr(e,n,i)||function(e,t){const{enclosingNode:r}=e;if(!r||\"ArrowFunctionExpression\"!==r.type)return!1;const n=ur(t,e,vr);if(!1!==n&&\"=>\"===t.slice(n,n+2))return cr(r,e),!0;return!1}(e,t)||function(e,t){if(\"(\"!==ir(t,e,vr))return!1;const{precedingNode:r,enclosingNode:n}=e;if(r&&n&&(\"FunctionDeclaration\"===n.type||\"FunctionExpression\"===n.type||\"ClassMethod\"===n.type||\"MethodDefinition\"===n.type||\"ObjectMethod\"===n.type))return sr(r,e),!0;return!1}(e,t)||function(e){const{precedingNode:t,enclosingNode:r,followingNode:n}=e;if(!r||\"TSMappedType\"!==r.type)return!1;if(n&&\"TSTypeParameter\"===n.type&&n.name)return or(n.name,e),!0;if(t&&\"TSTypeParameter\"===t.type&&t.constraint)return sr(t.constraint,e),!0;return!1}(e)||function(e){const{enclosingNode:t}=e;if(t&&(\"ContinueStatement\"===t.type||\"BreakStatement\"===t.type)&&!t.label)return sr(t,e),!0;return!1}(e)||function(e,t){const{enclosingNode:r,followingNode:n}=e;if(!n&&r&&(\"TSMethodSignature\"===r.type||\"TSDeclareFunction\"===r.type||\"TSAbstractMethodDefinition\"===r.type)&&\";\"===ir(t,e,vr))return sr(r,e),!0;return!1}(e,t))},hasLeadingComment:function(e,t=(()=>!0)){return e.leadingComments?e.leadingComments.some(t):!!e.comments&&e.comments.some((e=>e.leading&&t(e)))},isTypeCastComment:wr,getGapRegex:function(e){if(e&&\"BinaryExpression\"!==e.type&&\"LogicalExpression\"!==e.type)return/^[\\s&(|]*$/},getCommentChildNodes:function(e,t){if((\"typescript\"===t.parser||\"flow\"===t.parser||\"espree\"===t.parser||\"meriyah\"===t.parser)&&\"MethodDefinition\"===e.type&&e.value&&\"FunctionExpression\"===e.value.type&&0===dr(e.value).length&&!e.value.returnType&&(!e.value.typeParameters||0===e.value.typeParameters.length)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const t=e.getValue(),r=e.getParentNode();return(t&&(pr(t)||fr(t)||r&&(\"CallExpression\"===r.type||\"OptionalCallExpression\"===r.type)&&(gr(t.leadingComments)||gr(t.trailingComments)))||r&&(\"JSXSpreadAttribute\"===r.type||\"JSXSpreadChild\"===r.type||\"UnionTypeAnnotation\"===r.type||\"TSUnionType\"===r.type||(\"ClassDeclaration\"===r.type||\"ClassExpression\"===r.type)&&r.superClass===t))&&(!mr(e)||\"UnionTypeAnnotation\"===r.type||\"TSUnionType\"===r.type)}};const{getLast:Or,getNextNonSpaceNonCommentCharacter:Mr,getShebang:Lr}=Ve,{composeLoc:Rr,locStart:Br,locEnd:jr}=nt,{isTypeCastComment:Jr}=Ir;function Kr(e){return\"CallExpression\"===e.type?(e.type=\"OptionalCallExpression\",e.callee=Kr(e.callee)):\"MemberExpression\"===e.type?(e.type=\"OptionalMemberExpression\",e.object=Kr(e.object)):\"TSNonNullExpression\"===e.type&&(e.expression=Kr(e.expression)),e}function zr(e,t){let r;if(Array.isArray(e))r=e.entries();else{if(!e||\"object\"!=typeof e||\"string\"!=typeof e.type)return e;r=Object.entries(e)}for(const[n,i]of r)e[n]=zr(i,t);return Array.isArray(e)?e:t(e)||e}function Ur(e){return\"LogicalExpression\"===e.type&&\"LogicalExpression\"===e.right.type&&e.operator===e.right.operator}function Vr(e){return Ur(e)?Vr({type:\"LogicalExpression\",operator:e.operator,left:Vr({type:\"LogicalExpression\",operator:e.operator,left:e.left,right:e.right.left,range:Rr(e.left,e.right.left)}),right:e.right.right,range:Rr(e)}):e}var qr=function(t,r){if(\"typescript\"!==r.parser&&\"flow\"!==r.parser&&\"espree\"!==r.parser||function(e,t){const r=Lr(t.originalText);r&&e.comments.unshift({type:\"Line\",value:r.slice(2),range:[0,r.length]})}(t,r),\"typescript\"===r.parser&&r.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:n,tsNodeToESTreeNodeMap:i}=r.tsParseResult;t=zr(t,(t=>{const r=n.get(t);if(!r)return;const a=r.decorators;if(!Array.isArray(a))return;const o=i.get(r);if(o!==t)return;const s=o.decorators;if(!Array.isArray(s)||s.length!==a.length||a.some((e=>{const t=i.get(e);return!t||!s.includes(t)}))){const{start:t,end:r}=o.loc;throw e(\"Leading decorators must be attached to a class declaration\",{start:{line:t.line,column:t.column+1},end:{line:r.line,column:r.column+1}})}}))}if(\"typescript\"!==r.parser&&\"flow\"!==r.parser&&\"espree\"!==r.parser&&\"meriyah\"!==r.parser){const e=new Set;t=zr(t,(t=>{t.leadingComments&&t.leadingComments.some(Jr)&&e.add(Br(t))})),t=zr(t,(t=>{if(\"ParenthesizedExpression\"===t.type){const{expression:r}=t;if(\"TypeCastExpression\"===r.type)return r.range=t.range,r;const n=Br(t);if(!e.has(n))return r.extra=Object.assign({},r.extra,{parenthesized:!0}),r}}))}return t=zr(t,(e=>{switch(e.type){case\"ChainExpression\":return Kr(e.expression);case\"LogicalExpression\":if(Ur(e))return Vr(e);break;case\"VariableDeclaration\":{const t=Or(e.declarations);t&&t.init&&function(e,t){if(\";\"===r.originalText[jr(t)])return;e.range=Rr(e,t)}(e,t);break}case\"TSParenthesizedType\":return e.typeAnnotation.range=Rr(e),e.typeAnnotation;case\"TSUnionType\":case\"TSIntersectionType\":if(1===e.types.length){const[t]=e.types;return t.range=Rr(e),t}break;case\"TSTypeParameter\":\"string\"==typeof e.name&&(e.name={type:\"Identifier\",name:e.name,range:Rr(e,e.name.length)});break;case\"SequenceExpression\":{const t=Or(e.expressions);jr(e)>jr(t)&&(e.range=Rr(e,t));break}case\"ClassProperty\":e.key&&\"TSPrivateIdentifier\"===e.key.type&&\"?\"===Mr(r.originalText,e.key,jr)&&(e.optional=!0)}}))},Wr=1e3,Hr=60*Wr,Gr=60*Hr,Yr=24*Gr,Xr=7*Yr,Qr=365.25*Yr,$r=function(e,t){t=t||{};var r=typeof e;if(\"string\"===r&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var r=parseFloat(t[1]);switch((t[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*Qr;case\"weeks\":case\"week\":case\"w\":return r*Xr;case\"days\":case\"day\":case\"d\":return r*Yr;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*Gr;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*Hr;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*Wr;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}(e);if(\"number\"===r&&isFinite(e))return t.long?function(e){var t=Math.abs(e);if(t>=Yr)return Zr(e,t,Yr,\"day\");if(t>=Gr)return Zr(e,t,Gr,\"hour\");if(t>=Hr)return Zr(e,t,Hr,\"minute\");if(t>=Wr)return Zr(e,t,Wr,\"second\");return e+\" ms\"}(e):function(e){var t=Math.abs(e);if(t>=Yr)return Math.round(e/Yr)+\"d\";if(t>=Gr)return Math.round(e/Gr)+\"h\";if(t>=Hr)return Math.round(e/Hr)+\"m\";if(t>=Wr)return Math.round(e/Wr)+\"s\";return e+\"ms\"}(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))};function Zr(e,t,r,n){var i=t>=1.5*r;return Math.round(e/r)+\" \"+n+(i?\"s\":\"\")}var en=function(e){function t(e){let t=0;for(let r=0;r{if(\"%%\"===n)return n;s++;const a=r.formatters[i];if(\"function\"==typeof a){const r=e[s];n=a.call(t,r),e.splice(s,1),s--}return n})),r.formatArgs.call(t,e);(t.log||r.log).apply(t,e)}return o.namespace=e,o.enabled=r.enabled(e),o.useColors=r.useColors(),o.color=t(e),o.destroy=n,o.extend=i,\"function\"==typeof r.init&&r.init(o),r.instances.push(o),o}function n(){const e=r.instances.indexOf(this);return-1!==e&&(r.instances.splice(e,1),!0)}function i(e,t){const n=r(this.namespace+(void 0===t?\":\":t)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\\.\\*\\?$/,\"*\")}return r.debug=r,r.default=r,r.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},r.disable=function(){const e=[...r.names.map(a),...r.skips.map(a).map((e=>\"-\"+e))].join(\",\");return r.enable(\"\"),e},r.enable=function(e){let t;r.save(e),r.names=[],r.skips=[];const n=(\"string\"==typeof e?e:\"\").split(/[\\s,]+/),i=n.length;for(t=0;t{r[t]=e[t]})),r.instances=[],r.names=[],r.skips=[],r.formatters={},r.selectColor=t,r.enable(r.load()),r},tn=r((function(e,t){t.log=function(...e){return\"object\"==typeof console&&console.log&&console.log(...e)},t.formatArgs=function(t){if(t[0]=(this.useColors?\"%c\":\"\")+this.namespace+(this.useColors?\" %c\":\" \")+t[0]+(this.useColors?\"%c \":\" \")+\"+\"+e.exports.humanize(this.diff),!this.useColors)return;const r=\"color: \"+this.color;t.splice(1,0,r,\"color: inherit\");let n=0,i=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{\"%%\"!==e&&(n++,\"%c\"===e&&(i=n))})),t.splice(i,0,r)},t.save=function(e){try{e?t.storage.setItem(\"debug\",e):t.storage.removeItem(\"debug\")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem(\"debug\")}catch(e){}!e&&void 0!==V&&\"env\"in V&&(e=V.env.DEBUG);return e},t.useColors=function(){if(\"undefined\"!=typeof window&&window.process&&(\"renderer\"===window.process.type||window.process.__nwjs))return!0;if(\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/))return!1;return\"undefined\"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||\"undefined\"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.colors=[\"#0000CC\",\"#0000FF\",\"#0033CC\",\"#0033FF\",\"#0066CC\",\"#0066FF\",\"#0099CC\",\"#0099FF\",\"#00CC00\",\"#00CC33\",\"#00CC66\",\"#00CC99\",\"#00CCCC\",\"#00CCFF\",\"#3300CC\",\"#3300FF\",\"#3333CC\",\"#3333FF\",\"#3366CC\",\"#3366FF\",\"#3399CC\",\"#3399FF\",\"#33CC00\",\"#33CC33\",\"#33CC66\",\"#33CC99\",\"#33CCCC\",\"#33CCFF\",\"#6600CC\",\"#6600FF\",\"#6633CC\",\"#6633FF\",\"#66CC00\",\"#66CC33\",\"#9900CC\",\"#9900FF\",\"#9933CC\",\"#9933FF\",\"#99CC00\",\"#99CC33\",\"#CC0000\",\"#CC0033\",\"#CC0066\",\"#CC0099\",\"#CC00CC\",\"#CC00FF\",\"#CC3300\",\"#CC3333\",\"#CC3366\",\"#CC3399\",\"#CC33CC\",\"#CC33FF\",\"#CC6600\",\"#CC6633\",\"#CC9900\",\"#CC9933\",\"#CCCC00\",\"#CCCC33\",\"#FF0000\",\"#FF0033\",\"#FF0066\",\"#FF0099\",\"#FF00CC\",\"#FF00FF\",\"#FF3300\",\"#FF3333\",\"#FF3366\",\"#FF3399\",\"#FF33CC\",\"#FF33FF\",\"#FF6600\",\"#FF6633\",\"#FF9900\",\"#FF9933\",\"#FFCC00\",\"#FFCC33\"],e.exports=en(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return\"[UnexpectedJSONParseError]: \"+e.message}}})),rn={isatty:()=>!1},nn=Object.freeze({__proto__:null,default:rn}),an=Object.freeze({__proto__:null,default:{}}),on=(e,t=V.argv)=>{const r=e.startsWith(\"-\")?\"\":1===e.length?\"-\":\"--\",n=t.indexOf(r+e),i=t.indexOf(\"--\");return-1!==n&&(-1===i||n=2,has16m:e>=3}}function dn(e,t){if(0===un)return 0;if(on(\"color=16m\")||on(\"color=full\")||on(\"color=truecolor\"))return 3;if(on(\"color=256\"))return 2;if(e&&!t&&void 0===un)return 0;const r=un||0;if(\"dumb\"===cn.TERM)return r;if(\"win32\"===V.platform){const e=c.release().split(\".\");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if(\"CI\"in cn)return[\"TRAVIS\",\"CIRCLECI\",\"APPVEYOR\",\"GITLAB_CI\"].some((e=>e in cn))||\"codeship\"===cn.CI_NAME?1:r;if(\"TEAMCITY_VERSION\"in cn)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(cn.TEAMCITY_VERSION)?1:0;if(\"GITHUB_ACTIONS\"in cn)return 1;if(\"truecolor\"===cn.COLORTERM)return 3;if(\"TERM_PROGRAM\"in cn){const e=parseInt((cn.TERM_PROGRAM_VERSION||\"\").split(\".\")[0],10);switch(cn.TERM_PROGRAM){case\"iTerm.app\":return e>=3?3:2;case\"Apple_Terminal\":return 2}}return/-256(color)?$/i.test(cn.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(cn.TERM)||\"COLORTERM\"in cn?1:r}on(\"no-color\")||on(\"no-colors\")||on(\"color=false\")||on(\"color=never\")?un=0:(on(\"color\")||on(\"colors\")||on(\"color=true\")||on(\"color=always\"))&&(un=1),\"FORCE_COLOR\"in cn&&(un=\"true\"===cn.FORCE_COLOR?1:\"false\"===cn.FORCE_COLOR?0:0===cn.FORCE_COLOR.length?1:Math.min(parseInt(cn.FORCE_COLOR,10),3));var _n={supportsColor:function(e){return ln(dn(e,e&&e.isTTY))},stdout:ln(dn(!0,sn.isatty(1))),stderr:ln(dn(!0,sn.isatty(2)))},pn=n(an),fn=(r((function(e,t){t.init=function(e){e.inspectOpts={};const r=Object.keys(t.inspectOpts);for(let n=0;n=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(e){}t.inspectOpts=Object.keys(V.env).filter((e=>/^debug_/i.test(e))).reduce(((e,t)=>{const r=t.substring(6).toLowerCase().replace(/_([a-z])/g,((e,t)=>t.toUpperCase()));let n=V.env[t];return n=!!/^(yes|on|true|enabled)$/i.test(n)||!/^(no|off|false|disabled)$/i.test(n)&&(\"null\"===n?null:Number(n)),e[r]=n,e}),{}),e.exports=en(t);const{formatters:r}=e.exports;r.o=function(e){return this.inspectOpts.colors=this.useColors,pn.inspect(e,this.inspectOpts).replace(/\\s*\\n\\s*/g,\" \")},r.O=function(e){return this.inspectOpts.colors=this.useColors,pn.inspect(e,this.inspectOpts)}})),r((function(e){void 0===V||V.type,e.exports=tn}))),gn={\"{\":\"}\",\"(\":\")\",\"[\":\"]\"},mn=/\\\\(.)|(^!|\\*|[\\].+)]\\?|\\[[^\\\\\\]]+\\]|\\{[^\\\\}]+\\}|\\(\\?[:!=][^\\\\)]+\\)|\\([^|]+\\|[^\\\\)]+\\))/,yn=/\\\\(.)|(^!|[*?{}()[\\]]|\\(\\?)/,vn=function(e,t){if(\"string\"!=typeof e||\"\"===e)return!1;if(function(e){if(\"string\"!=typeof e||\"\"===e)return!1;for(var t;t=/(\\\\).|([@?!+*]\\(.*\\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}(e))return!0;var r,n=mn;for(t&&!1===t.strict&&(n=yn);r=n.exec(e);){if(r[2])return!0;var i=r.index+r[0].length,a=r[1],o=a?gn[a]:null;if(a&&o){var s=e.indexOf(o,i);-1!==s&&(i=s+1)}e=e.slice(i)}return!1};const{MAX_LENGTH:hn}=W,{re:Dn,t:xn}=H;var bn=(e,t)=>{if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof ne)return e;if(\"string\"!=typeof e)return null;if(e.length>hn)return null;if(!(t.loose?Dn[xn.LOOSE]:Dn[xn.FULL]).test(e))return null;try{return new ne(e,t)}catch(e){return null}};var Sn=(e,t)=>{const r=bn(e,t);return r?r.version:null};var En=(e,t)=>{const r=bn(e.trim().replace(/^[=v]+/,\"\"),t);return r?r.version:null};var Tn=(e,t,r,n)=>{\"string\"==typeof r&&(n=r,r=void 0);try{return new ne(e,r).inc(t,n).version}catch(e){return null}};var Cn=(e,t,r)=>0===ie(e,t,r);var kn=(e,t)=>{if(Cn(e,t))return null;{const r=bn(e),n=bn(t),i=r.prerelease.length||n.prerelease.length,a=i?\"pre\":\"\",o=i?\"prerelease\":\"\";for(const e in r)if((\"major\"===e||\"minor\"===e||\"patch\"===e)&&r[e]!==n[e])return a+e;return o}};var An=(e,t)=>new ne(e,t).major;var Fn=(e,t)=>new ne(e,t).minor;var Nn=(e,t)=>new ne(e,t).patch;var Pn=(e,t)=>{const r=bn(e,t);return r&&r.prerelease.length?r.prerelease:null};var wn=(e,t,r)=>ie(t,e,r);var In=(e,t)=>ie(e,t,!0);var On=(e,t,r)=>{const n=new ne(e,r),i=new ne(t,r);return n.compare(i)||n.compareBuild(i)};var Mn=(e,t)=>e.sort(((e,r)=>On(e,r,t)));var Ln=(e,t)=>e.sort(((e,r)=>On(r,e,t)));var Rn=(e,t,r)=>ie(e,t,r)>0;var Bn=(e,t,r)=>0!==ie(e,t,r);var jn=(e,t,r)=>ie(e,t,r)<=0;var Jn=(e,t,r,n)=>{switch(t){case\"===\":return\"object\"==typeof e&&(e=e.version),\"object\"==typeof r&&(r=r.version),e===r;case\"!==\":return\"object\"==typeof e&&(e=e.version),\"object\"==typeof r&&(r=r.version),e!==r;case\"\":case\"=\":case\"==\":return Cn(e,r,n);case\"!=\":return Bn(e,r,n);case\">\":return Rn(e,r,n);case\">=\":return oe(e,r,n);case\"<\":return ae(e,r,n);case\"<=\":return jn(e,r,n);default:throw new TypeError(\"Invalid operator: \".concat(t))}};const{re:Kn,t:zn}=H;var Un=(e,t)=>{if(e instanceof ne)return e;if(\"number\"==typeof e&&(e=String(e)),\"string\"!=typeof e)return null;let r=null;if((t=t||{}).rtl){let t;for(;(t=Kn[zn.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&t.index+t[0].length===r.index+r[0].length||(r=t),Kn[zn.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;Kn[zn.COERCERTL].lastIndex=-1}else r=e.match(Kn[zn.COERCE]);return null===r?null:bn(\"\".concat(r[2],\".\").concat(r[3]||\"0\",\".\").concat(r[4]||\"0\"),t)};class Vn{constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof Vn)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new Vn(e.raw,t);if(e instanceof _i)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\\s*\\|\\|\\s*/).map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(\"Invalid SemVer Range: \".concat(e));this.format()}format(){return this.range=this.set.map((e=>e.join(\" \").trim())).join(\"||\").trim(),this.range}toString(){return this.range}parseRange(e){const t=this.options.loose;e=e.trim();const r=t?Wn[Hn.HYPHENRANGELOOSE]:Wn[Hn.HYPHENRANGE];e=e.replace(r,ci(this.options.includePrerelease)),q(\"hyphen replace\",e),e=e.replace(Wn[Hn.COMPARATORTRIM],Gn),q(\"comparator trim\",e,Wn[Hn.COMPARATORTRIM]),e=(e=(e=e.replace(Wn[Hn.TILDETRIM],Yn)).replace(Wn[Hn.CARETTRIM],Xn)).split(/\\s+/).join(\" \");const n=t?Wn[Hn.COMPARATORLOOSE]:Wn[Hn.COMPARATOR];return e.split(\" \").map((e=>$n(e,this.options))).join(\" \").split(/\\s+/).map((e=>si(e,this.options))).filter(this.options.loose?e=>!!e.match(n):()=>!0).map((e=>new _i(e,this.options)))}intersects(e,t){if(!(e instanceof Vn))throw new TypeError(\"a Range is required\");return this.set.some((r=>Qn(r,t)&&e.set.some((e=>Qn(e,t)&&r.every((r=>e.every((e=>r.intersects(e,t)))))))))}test(e){if(!e)return!1;if(\"string\"==typeof e)try{e=new ne(e,this.options)}catch(e){return!1}for(let t=0;t{let r=!0;const n=e.slice();let i=n.pop();for(;r&&n.length;)r=n.every((e=>i.intersects(e,t))),i=n.pop();return r},$n=(e,t)=>(q(\"comp\",e,t),e=ri(e,t),q(\"caret\",e),e=ei(e,t),q(\"tildes\",e),e=ii(e,t),q(\"xrange\",e),e=oi(e,t),q(\"stars\",e),e),Zn=e=>!e||\"x\"===e.toLowerCase()||\"*\"===e,ei=(e,t)=>e.trim().split(/\\s+/).map((e=>ti(e,t))).join(\" \"),ti=(e,t)=>{const r=t.loose?Wn[Hn.TILDELOOSE]:Wn[Hn.TILDE];return e.replace(r,((t,r,n,i,a)=>{let o;return q(\"tilde\",e,t,r,n,i,a),Zn(r)?o=\"\":Zn(n)?o=\">=\".concat(r,\".0.0 <\").concat(+r+1,\".0.0-0\"):Zn(i)?o=\">=\".concat(r,\".\").concat(n,\".0 <\").concat(r,\".\").concat(+n+1,\".0-0\"):a?(q(\"replaceTilde pr\",a),o=\">=\".concat(r,\".\").concat(n,\".\").concat(i,\"-\").concat(a,\" <\").concat(r,\".\").concat(+n+1,\".0-0\")):o=\">=\".concat(r,\".\").concat(n,\".\").concat(i,\" <\").concat(r,\".\").concat(+n+1,\".0-0\"),q(\"tilde return\",o),o}))},ri=(e,t)=>e.trim().split(/\\s+/).map((e=>ni(e,t))).join(\" \"),ni=(e,t)=>{q(\"caret\",e,t);const r=t.loose?Wn[Hn.CARETLOOSE]:Wn[Hn.CARET],n=t.includePrerelease?\"-0\":\"\";return e.replace(r,((t,r,i,a,o)=>{let s;return q(\"caret\",e,t,r,i,a,o),Zn(r)?s=\"\":Zn(i)?s=\">=\".concat(r,\".0.0\").concat(n,\" <\").concat(+r+1,\".0.0-0\"):Zn(a)?s=\"0\"===r?\">=\".concat(r,\".\").concat(i,\".0\").concat(n,\" <\").concat(r,\".\").concat(+i+1,\".0-0\"):\">=\".concat(r,\".\").concat(i,\".0\").concat(n,\" <\").concat(+r+1,\".0.0-0\"):o?(q(\"replaceCaret pr\",o),s=\"0\"===r?\"0\"===i?\">=\".concat(r,\".\").concat(i,\".\").concat(a,\"-\").concat(o,\" <\").concat(r,\".\").concat(i,\".\").concat(+a+1,\"-0\"):\">=\".concat(r,\".\").concat(i,\".\").concat(a,\"-\").concat(o,\" <\").concat(r,\".\").concat(+i+1,\".0-0\"):\">=\".concat(r,\".\").concat(i,\".\").concat(a,\"-\").concat(o,\" <\").concat(+r+1,\".0.0-0\")):(q(\"no pr\"),s=\"0\"===r?\"0\"===i?\">=\".concat(r,\".\").concat(i,\".\").concat(a).concat(n,\" <\").concat(r,\".\").concat(i,\".\").concat(+a+1,\"-0\"):\">=\".concat(r,\".\").concat(i,\".\").concat(a).concat(n,\" <\").concat(r,\".\").concat(+i+1,\".0-0\"):\">=\".concat(r,\".\").concat(i,\".\").concat(a,\" <\").concat(+r+1,\".0.0-0\")),q(\"caret return\",s),s}))},ii=(e,t)=>(q(\"replaceXRanges\",e,t),e.split(/\\s+/).map((e=>ai(e,t))).join(\" \")),ai=(e,t)=>{e=e.trim();const r=t.loose?Wn[Hn.XRANGELOOSE]:Wn[Hn.XRANGE];return e.replace(r,((r,n,i,a,o,s)=>{q(\"xRange\",e,r,n,i,a,o,s);const c=Zn(i),u=c||Zn(a),l=u||Zn(o),d=l;return\"=\"===n&&d&&(n=\"\"),s=t.includePrerelease?\"-0\":\"\",c?r=\">\"===n||\"<\"===n?\"<0.0.0-0\":\"*\":n&&d?(u&&(a=0),o=0,\">\"===n?(n=\">=\",u?(i=+i+1,a=0,o=0):(a=+a+1,o=0)):\"<=\"===n&&(n=\"<\",u?i=+i+1:a=+a+1),\"<\"===n&&(s=\"-0\"),r=\"\".concat(n+i,\".\").concat(a,\".\").concat(o).concat(s)):u?r=\">=\".concat(i,\".0.0\").concat(s,\" <\").concat(+i+1,\".0.0-0\"):l&&(r=\">=\".concat(i,\".\").concat(a,\".0\").concat(s,\" <\").concat(i,\".\").concat(+a+1,\".0-0\")),q(\"xRange return\",r),r}))},oi=(e,t)=>(q(\"replaceStars\",e,t),e.trim().replace(Wn[Hn.STAR],\"\")),si=(e,t)=>(q(\"replaceGTE0\",e,t),e.trim().replace(Wn[t.includePrerelease?Hn.GTE0PRE:Hn.GTE0],\"\")),ci=e=>(t,r,n,i,a,o,s,c,u,l,d,_,p)=>(r=Zn(n)?\"\":Zn(i)?\">=\".concat(n,\".0.0\").concat(e?\"-0\":\"\"):Zn(a)?\">=\".concat(n,\".\").concat(i,\".0\").concat(e?\"-0\":\"\"):o?\">=\".concat(r):\">=\".concat(r).concat(e?\"-0\":\"\"),c=Zn(u)?\"\":Zn(l)?\"<\".concat(+u+1,\".0.0-0\"):Zn(d)?\"<\".concat(u,\".\").concat(+l+1,\".0-0\"):_?\"<=\".concat(u,\".\").concat(l,\".\").concat(d,\"-\").concat(_):e?\"<\".concat(u,\".\").concat(l,\".\").concat(+d+1,\"-0\"):\"<=\".concat(c),\"\".concat(r,\" \").concat(c).trim()),ui=(e,t,r)=>{for(let r=0;r0){const n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0},li=Symbol(\"SemVer ANY\");class di{static get ANY(){return li}constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof di){if(e.loose===!!t.loose)return e;e=e.value}q(\"comparator\",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===li?this.value=\"\":this.value=this.operator+this.semver.version,q(\"comp\",this)}parse(e){const t=this.options.loose?pi[fi.COMPARATORLOOSE]:pi[fi.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(\"Invalid comparator: \".concat(e));this.operator=void 0!==r[1]?r[1]:\"\",\"=\"===this.operator&&(this.operator=\"\"),r[2]?this.semver=new ne(r[2],this.options.loose):this.semver=li}toString(){return this.value}test(e){if(q(\"Comparator.test\",e,this.options.loose),this.semver===li||e===li)return!0;if(\"string\"==typeof e)try{e=new ne(e,this.options)}catch(e){return!1}return Jn(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof di))throw new TypeError(\"a Comparator is required\");if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),\"\"===this.operator)return\"\"===this.value||new qn(e.value,t).test(this.value);if(\"\"===e.operator)return\"\"===e.value||new qn(this.value,t).test(e.semver);const r=!(\">=\"!==this.operator&&\">\"!==this.operator||\">=\"!==e.operator&&\">\"!==e.operator),n=!(\"<=\"!==this.operator&&\"<\"!==this.operator||\"<=\"!==e.operator&&\"<\"!==e.operator),i=this.semver.version===e.semver.version,a=!(\">=\"!==this.operator&&\"<=\"!==this.operator||\">=\"!==e.operator&&\"<=\"!==e.operator),o=Jn(this.semver,\"<\",e.semver,t)&&(\">=\"===this.operator||\">\"===this.operator)&&(\"<=\"===e.operator||\"<\"===e.operator),s=Jn(this.semver,\">\",e.semver,t)&&(\"<=\"===this.operator||\"<\"===this.operator)&&(\">=\"===e.operator||\">\"===e.operator);return r||n||i&&a||o||s}}var _i=di;const{re:pi,t:fi}=H;var gi=(e,t,r)=>{try{t=new qn(t,r)}catch(e){return!1}return t.test(e)};var mi=(e,t)=>new qn(e,t).set.map((e=>e.map((e=>e.value)).join(\" \").trim().split(\" \")));var yi=(e,t,r)=>{let n=null,i=null,a=null;try{a=new qn(t,r)}catch(e){return null}return e.forEach((e=>{a.test(e)&&(n&&-1!==i.compare(e)||(n=e,i=new ne(n,r)))})),n};var vi=(e,t,r)=>{let n=null,i=null,a=null;try{a=new qn(t,r)}catch(e){return null}return e.forEach((e=>{a.test(e)&&(n&&1!==i.compare(e)||(n=e,i=new ne(n,r)))})),n};var hi=(e,t)=>{e=new qn(e,t);let r=new ne(\"0.0.0\");if(e.test(r))return r;if(r=new ne(\"0.0.0-0\"),e.test(r))return r;r=null;for(let t=0;t{const t=new ne(e.semver.version);switch(e.operator){case\">\":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case\"\":case\">=\":r&&!Rn(r,t)||(r=t);break;case\"<\":case\"<=\":break;default:throw new Error(\"Unexpected operation: \".concat(e.operator))}}))}return r&&e.test(r)?r:null};var Di=(e,t)=>{try{return new qn(e,t).range||\"*\"}catch(e){return null}};const{ANY:xi}=_i;var bi=(e,t,r,n)=>{let i,a,o,s,c;switch(e=new ne(e,n),t=new qn(t,n),r){case\">\":i=Rn,a=jn,o=ae,s=\">\",c=\">=\";break;case\"<\":i=ae,a=oe,o=Rn,s=\"<\",c=\"<=\";break;default:throw new TypeError('Must provide a hilo val of \"<\" or \">\"')}if(gi(e,t,n))return!1;for(let r=0;r{e.semver===xi&&(e=new _i(\">=0.0.0\")),l=l||e,d=d||e,i(e.semver,l.semver,n)?l=e:o(e.semver,d.semver,n)&&(d=e)})),l.operator===s||l.operator===c)return!1;if((!d.operator||d.operator===s)&&a(e,d.semver))return!1;if(d.operator===c&&o(e,d.semver))return!1}return!0};var Si=(e,t,r)=>bi(e,t,\">\",r);var Ei=(e,t,r)=>bi(e,t,\"<\",r);var Ti=(e,t,r)=>(e=new qn(e,r),t=new qn(t,r),e.intersects(t));const{ANY:Ci}=_i,ki=(e,t,r)=>{if(1===e.length&&e[0].semver===Ci)return 1===t.length&&t[0].semver===Ci;const n=new Set;let i,a,o,s,c,u,l;for(const t of e)\">\"===t.operator||\">=\"===t.operator?i=Ai(i,t,r):\"<\"===t.operator||\"<=\"===t.operator?a=Fi(a,t,r):n.add(t.semver);if(n.size>1)return null;if(i&&a){if(o=ie(i.semver,a.semver,r),o>0)return null;if(0===o&&(\">=\"!==i.operator||\"<=\"!==a.operator))return null}for(const e of n){if(i&&!gi(e,String(i),r))return null;if(a&&!gi(e,String(a),r))return null;for(const n of t)if(!gi(e,String(n),r))return!1;return!0}for(const e of t){if(l=l||\">\"===e.operator||\">=\"===e.operator,u=u||\"<\"===e.operator||\"<=\"===e.operator,i)if(\">\"===e.operator||\">=\"===e.operator){if(s=Ai(i,e,r),s===e)return!1}else if(\">=\"===i.operator&&!gi(i.semver,String(e),r))return!1;if(a)if(\"<\"===e.operator||\"<=\"===e.operator){if(c=Fi(a,e,r),c===e)return!1}else if(\"<=\"===a.operator&&!gi(a.semver,String(e),r))return!1;if(!e.operator&&(a||i)&&0!==o)return!1}return!(i&&u&&!a&&0!==o)&&!(a&&l&&!i&&0!==o)},Ai=(e,t,r)=>{if(!e)return t;const n=ie(e.semver,t.semver,r);return n>0?e:n<0||\">\"===t.operator&&\">=\"===e.operator?t:e},Fi=(e,t,r)=>{if(!e)return t;const n=ie(e.semver,t.semver,r);return n<0?e:n>0||\"<\"===t.operator&&\"<=\"===e.operator?t:e};var Ni=(e,t,r)=>{e=new qn(e,r),t=new qn(t,r);let n=!1;e:for(const i of e.set){for(const e of t.set){const t=ki(i,e,r);if(n=n||null!==t,t)continue e}if(n)return!1}return!0},Pi={re:H.re,src:H.src,tokens:H.t,SEMVER_SPEC_VERSION:W.SEMVER_SPEC_VERSION,SemVer:ne,compareIdentifiers:X.compareIdentifiers,rcompareIdentifiers:X.rcompareIdentifiers,parse:bn,valid:Sn,clean:En,inc:Tn,diff:kn,major:An,minor:Fn,patch:Nn,prerelease:Pn,compare:ie,rcompare:wn,compareLoose:In,compareBuild:On,sort:Mn,rsort:Ln,gt:Rn,lt:ae,eq:Cn,neq:Bn,gte:oe,lte:jn,cmp:Jn,coerce:Un,Comparator:_i,Range:qn,satisfies:gi,toComparators:mi,maxSatisfying:yi,minSatisfying:vi,minVersion:hi,validRange:Di,outside:bi,gtr:Si,ltr:Ei,intersects:Ti,simplifyRange:(e,t,r)=>{const n=[];let i=null,a=null;const o=e.sort(((e,t)=>ie(e,t,r)));for(const e of o){gi(e,t,r)?(a=e,i||(i=e)):(a&&n.push([i,a]),a=null,i=null)}i&&n.push([i,null]);const s=[];for(const[e,t]of n)e===t?s.push(e):t||e!==o[0]?t?e===o[0]?s.push(\"<=\".concat(t)):s.push(\"\".concat(e,\" - \").concat(t)):s.push(\">=\".concat(e)):s.push(\"*\");const c=s.join(\" || \"),u=\"string\"==typeof t.raw?t.raw:String(t);return c.length!1,Oi=()=>\"\";var Mi={existsSync:Ii,readFileSync:Oi},Li=Object.freeze({__proto__:null,existsSync:Ii,readFileSync:Oi,default:Mi});function Ri(e){if(\"string\"!=typeof e)throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(e))}function Bi(e,t){for(var r,n=\"\",i=0,a=-1,o=0,s=0;s<=e.length;++s){if(s2){var c=n.lastIndexOf(\"/\");if(c!==n.length-1){-1===c?(n=\"\",i=0):i=(n=n.slice(0,c)).length-1-n.lastIndexOf(\"/\"),a=s,o=0;continue}}else if(2===n.length||1===n.length){n=\"\",i=0,a=s,o=0;continue}t&&(n.length>0?n+=\"/..\":n=\"..\",i=2)}else n.length>0?n+=\"/\"+e.slice(a+1,s):n=e.slice(a+1,s),i=s-a-1;a=s,o=0}else 46===r&&-1!==o?++o:o=-1}return n}var ji={resolve:function(){for(var e,t=\"\",r=!1,n=arguments.length-1;n>=-1&&!r;n--){var i;n>=0?i=arguments[n]:(void 0===e&&(e=V.cwd()),i=e),Ri(i),0!==i.length&&(t=i+\"/\"+t,r=47===i.charCodeAt(0))}return t=Bi(t,!r),r?t.length>0?\"/\"+t:\"/\":t.length>0?t:\".\"},normalize:function(e){if(Ri(e),0===e.length)return\".\";var t=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=Bi(e,!t)).length||t||(e=\".\"),e.length>0&&r&&(e+=\"/\"),t?\"/\"+e:e},isAbsolute:function(e){return Ri(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return\".\";for(var e,t=0;t0&&(void 0===e?e=r:e+=\"/\"+r)}return void 0===e?\".\":ji.normalize(e)},relative:function(e,t){if(Ri(e),Ri(t),e===t)return\"\";if((e=ji.resolve(e))===(t=ji.resolve(t)))return\"\";for(var r=1;rs){if(47===t.charCodeAt(a+u))return t.slice(a+u+1);if(0===u)return t.slice(a+u)}else i>s&&(47===e.charCodeAt(r+u)?c=u:0===u&&(c=0));break}var l=e.charCodeAt(r+u);if(l!==t.charCodeAt(a+u))break;47===l&&(c=u)}var d=\"\";for(u=r+c+1;u<=n;++u)u!==n&&47!==e.charCodeAt(u)||(0===d.length?d+=\"..\":d+=\"/..\");return d.length>0?d+t.slice(a+c):(a+=c,47===t.charCodeAt(a)&&++a,t.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(Ri(e),0===e.length)return\".\";for(var t=e.charCodeAt(0),r=47===t,n=-1,i=!0,a=e.length-1;a>=1;--a)if(47===(t=e.charCodeAt(a))){if(!i){n=a;break}}else i=!1;return-1===n?r?\"/\":\".\":r&&1===n?\"//\":e.slice(0,n)},basename:function(e,t){if(void 0!==t&&\"string\"!=typeof t)throw new TypeError('\"ext\" argument must be a string');Ri(e);var r,n=0,i=-1,a=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return\"\";var o=t.length-1,s=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!a){n=r+1;break}}else-1===s&&(a=!1,s=r+1),o>=0&&(c===t.charCodeAt(o)?-1==--o&&(i=r):(o=-1,i=s))}return n===i?i=s:-1===i&&(i=e.length),e.slice(n,i)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!a){n=r+1;break}}else-1===i&&(a=!1,i=r+1);return-1===i?\"\":e.slice(n,i)},extname:function(e){Ri(e);for(var t=-1,r=0,n=-1,i=!0,a=0,o=e.length-1;o>=0;--o){var s=e.charCodeAt(o);if(47!==s)-1===n&&(i=!1,n=o+1),46===s?-1===t?t=o:1!==a&&(a=1):-1!==t&&(a=-1);else if(!i){r=o+1;break}}return-1===t||-1===n||0===a||1===a&&t===n-1&&t===r+1?\"\":e.slice(t,n)},format:function(e){if(null===e||\"object\"!=typeof e)throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||\"\")+(t.ext||\"\");return r?r===t.root?r+n:r+e+n:n}(\"/\",e)},parse:function(e){Ri(e);var t={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(0===e.length)return t;var r,n=e.charCodeAt(0),i=47===n;i?(t.root=\"/\",r=1):r=0;for(var a=-1,o=0,s=-1,c=!0,u=e.length-1,l=0;u>=r;--u)if(47!==(n=e.charCodeAt(u)))-1===s&&(c=!1,s=u+1),46===n?-1===a?a=u:1!==l&&(l=1):-1!==a&&(l=-1);else if(!c){o=u+1;break}return-1===a||-1===s||0===l||1===l&&a===s-1&&a===o+1?-1!==s&&(t.base=t.name=0===o&&i?e.slice(1,s):e.slice(o,s)):(0===o&&i?(t.name=e.slice(1,a),t.base=e.slice(1,s)):(t.name=e.slice(o,a),t.base=e.slice(o,s)),t.ext=e.slice(a,s)),o>0?t.dir=e.slice(0,o-1):i&&(t.dir=\"/\"),t},sep:\"/\",delimiter:\":\",win32:null,posix:null};ji.posix=ji;var Ji=ji,Ki=Object.freeze(Object.assign(Object.create(null),Ji,{default:Ji,__moduleExports:Ji})),zi=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\"),Ui=function(e){if(0<=e&&e>>=5)>0&&(t|=32),r+=Ui(t)}while(n>0);return r},Wi=function(e,t,r){var n,i,a,o,s=e.length,c=0,u=0;do{if(t>=s)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(-1===(i=Vi(e.charCodeAt(t++))))throw new Error(\"Invalid base64 digit: \"+e.charAt(t-1));n=!!(32&i),c+=(i&=31)<>1,1==(1&a)?-o:o),r.rest=t},Hi=r((function(e,t){t.getArg=function(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('\"'+t+'\" is a required argument.')};var r=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,n=/^data:.+\\,.+$/;function i(e){var t=e.match(r);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function a(e){var t=\"\";return e.scheme&&(t+=e.scheme+\":\"),t+=\"//\",e.auth&&(t+=e.auth+\"@\"),e.host&&(t+=e.host),e.port&&(t+=\":\"+e.port),e.path&&(t+=e.path),t}function o(e){var r=e,n=i(e);if(n){if(!n.path)return e;r=n.path}for(var o,s=t.isAbsolute(r),c=r.split(/\\/+/),u=0,l=c.length-1;l>=0;l--)\".\"===(o=c[l])?c.splice(l,1):\"..\"===o?u++:u>0&&(\"\"===o?(c.splice(l+1,u),u=0):(c.splice(l,2),u--));return\"\"===(r=c.join(\"/\"))&&(r=s?\"/\":\".\"),n?(n.path=r,a(n)):r}function s(e,t){\"\"===e&&(e=\".\"),\"\"===t&&(t=\".\");var r=i(t),s=i(e);if(s&&(e=s.path||\"/\"),r&&!r.scheme)return s&&(r.scheme=s.scheme),a(r);if(r||t.match(n))return t;if(s&&!s.host&&!s.path)return s.host=t,a(s);var c=\"/\"===t.charAt(0)?t:o(e.replace(/\\/+$/,\"\")+\"/\"+t);return s?(s.path=c,a(s)):c}t.urlParse=i,t.urlGenerate=a,t.normalize=o,t.join=s,t.isAbsolute=function(e){return\"/\"===e.charAt(0)||r.test(e)},t.relative=function(e,t){\"\"===e&&(e=\".\"),e=e.replace(/\\/$/,\"\");for(var r=0;0!==t.indexOf(e+\"/\");){var n=e.lastIndexOf(\"/\");if(n<0)return t;if((e=e.slice(0,n)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++r}return Array(r+1).join(\"../\")+t.substr(e.length+1)};var c=!(\"__proto__\"in Object.create(null));function u(e){return e}function l(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function d(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=c?u:function(e){return l(e)?\"$\"+e:e},t.fromSetString=c?u:function(e){return l(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,r){var n=d(e.source,t.source);return 0!==n||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)||r||0!==(n=e.generatedColumn-t.generatedColumn)||0!==(n=e.generatedLine-t.generatedLine)?n:d(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n||0!==(n=e.generatedColumn-t.generatedColumn)||r||0!==(n=d(e.source,t.source))||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)?n:d(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r||0!==(r=e.generatedColumn-t.generatedColumn)||0!==(r=d(e.source,t.source))||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)?r:d(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\\)]}'[^\\n]*\\n/,\"\"))},t.computeSourceURL=function(e,t,r){if(t=t||\"\",e&&(\"/\"!==e[e.length-1]&&\"/\"!==t[0]&&(e+=\"/\"),t=e+t),r){var n=i(r);if(!n)throw new Error(\"sourceMapURL could not be parsed\");if(n.path){var c=n.path.lastIndexOf(\"/\");c>=0&&(n.path=n.path.substring(0,c+1))}t=s(a(n),t)}return o(t)}})),Gi=Object.prototype.hasOwnProperty,Yi=\"undefined\"!=typeof Map;function Xi(){this._array=[],this._set=Yi?new Map:Object.create(null)}Xi.fromArray=function(e,t){for(var r=new Xi,n=0,i=e.length;n=0)return t}else{var r=Hi.toSetString(e);if(Gi.call(this._set,r))return this._set[r]}throw new Error('\"'+e+'\" is not in the set.')},Xi.prototype.at=function(e){if(e>=0&&en||i==n&&o>=a||Hi.compareByGeneratedPositionsInflated(t,r)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},$i.prototype.toArray=function(){return this._sorted||(this._array.sort(Hi.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};var Zi=Qi.ArraySet,ea={MappingList:$i}.MappingList;function ta(e){e||(e={}),this._file=Hi.getArg(e,\"file\",null),this._sourceRoot=Hi.getArg(e,\"sourceRoot\",null),this._skipValidation=Hi.getArg(e,\"skipValidation\",!1),this._sources=new Zi,this._names=new Zi,this._mappings=new ea,this._sourcesContents=null}ta.prototype._version=3,ta.fromSourceMap=function(e){var t=e.sourceRoot,r=new ta({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=t&&(n.source=Hi.relative(t,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),r.addMapping(n)})),e.sources.forEach((function(n){var i=n;null!==t&&(i=Hi.relative(t,n)),r._sources.has(i)||r._sources.add(i);var a=e.sourceContentFor(n);null!=a&&r.setSourceContent(n,a)})),r},ta.prototype.addMapping=function(e){var t=Hi.getArg(e,\"generated\"),r=Hi.getArg(e,\"original\",null),n=Hi.getArg(e,\"source\",null),i=Hi.getArg(e,\"name\",null);this._skipValidation||this._validateMapping(t,r,n,i),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=i&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:n,name:i})},ta.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=Hi.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[Hi.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[Hi.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},ta.prototype.applySourceMap=function(e,t,r){var n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\\'s \"file\" property. Both were omitted.');n=e.file}var i=this._sourceRoot;null!=i&&(n=Hi.relative(i,n));var a=new Zi,o=new Zi;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){var s=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=s.source&&(t.source=s.source,null!=r&&(t.source=Hi.join(r,t.source)),null!=i&&(t.source=Hi.relative(i,t.source)),t.originalLine=s.line,t.originalColumn=s.column,null!=s.name&&(t.name=s.name))}var c=t.source;null==c||a.has(c)||a.add(c);var u=t.name;null==u||o.has(u)||o.add(u)}),this),this._sources=a,this._names=o,e.sources.forEach((function(t){var n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=Hi.join(r,t)),null!=i&&(t=Hi.relative(i,t)),this.setSourceContent(t,n))}),this)},ta.prototype._validateMapping=function(e,t,r,n){if(t&&\"number\"!=typeof t.line&&\"number\"!=typeof t.column)throw new Error(\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\");if((!(e&&\"line\"in e&&\"column\"in e&&e.line>0&&e.column>=0)||t||r||n)&&!(e&&\"line\"in e&&\"column\"in e&&t&&\"line\"in t&&\"column\"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error(\"Invalid mapping: \"+JSON.stringify({generated:e,source:r,original:t,name:n}))},ta.prototype._serializeMappings=function(){for(var e,t,r,n,i=0,a=1,o=0,s=0,c=0,u=0,l=\"\",d=this._mappings.toArray(),_=0,p=d.length;_0){if(!Hi.compareByGeneratedPositionsInflated(t,d[_-1]))continue;e+=\",\"}e+=qi(t.generatedColumn-i),i=t.generatedColumn,null!=t.source&&(n=this._sources.indexOf(t.source),e+=qi(n-u),u=n,e+=qi(t.originalLine-1-s),s=t.originalLine-1,e+=qi(t.originalColumn-o),o=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=qi(r-c),c=r)),l+=e}return l},ta.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=Hi.relative(t,e));var r=Hi.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)},ta.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},ta.prototype.toString=function(){return JSON.stringify(this.toJSON())};var ra={SourceMapGenerator:ta},na=r((function(e,t){function r(e,n,i,a,o,s){var c=Math.floor((n-e)/2)+e,u=o(i,a[c],!0);return 0===u?c:u>0?n-c>1?r(c,n,i,a,o,s):s==t.LEAST_UPPER_BOUND?n1?r(e,c,i,a,o,s):s==t.LEAST_UPPER_BOUND?c:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,n,i,a){if(0===n.length)return-1;var o=r(-1,n.length,e,n,i,a||t.GREATEST_LOWER_BOUND);if(o<0)return-1;for(;o-1>=0&&0===i(n[o],n[o-1],!0);)--o;return o}}));function ia(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function aa(e,t,r,n){if(r=0){var a=this._originalMappings[i];if(void 0===e.column)for(var o=a.originalLine;a&&a.originalLine===o;)n.push({line:Hi.getArg(a,\"generatedLine\",null),column:Hi.getArg(a,\"generatedColumn\",null),lastColumn:Hi.getArg(a,\"lastGeneratedColumn\",null)}),a=this._originalMappings[++i];else for(var s=a.originalColumn;a&&a.originalLine===t&&a.originalColumn==s;)n.push({line:Hi.getArg(a,\"generatedLine\",null),column:Hi.getArg(a,\"generatedColumn\",null),lastColumn:Hi.getArg(a,\"lastGeneratedColumn\",null)}),a=this._originalMappings[++i]}return n};var ua=ca;function la(e,t){var r=e;\"string\"==typeof e&&(r=Hi.parseSourceMapInput(e));var n=Hi.getArg(r,\"version\"),i=Hi.getArg(r,\"sources\"),a=Hi.getArg(r,\"names\",[]),o=Hi.getArg(r,\"sourceRoot\",null),s=Hi.getArg(r,\"sourcesContent\",null),c=Hi.getArg(r,\"mappings\"),u=Hi.getArg(r,\"file\",null);if(n!=this._version)throw new Error(\"Unsupported version: \"+n);o&&(o=Hi.normalize(o)),i=i.map(String).map(Hi.normalize).map((function(e){return o&&Hi.isAbsolute(o)&&Hi.isAbsolute(e)?Hi.relative(o,e):e})),this._names=oa.fromArray(a.map(String),!0),this._sources=oa.fromArray(i,!0),this._absoluteSources=this._sources.toArray().map((function(e){return Hi.computeSourceURL(o,e,t)})),this.sourceRoot=o,this.sourcesContent=s,this._mappings=c,this._sourceMapURL=t,this.file=u}function da(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}la.prototype=Object.create(ca.prototype),la.prototype.consumer=ca,la.prototype._findSourceIndex=function(e){var t,r=e;if(null!=this.sourceRoot&&(r=Hi.relative(this.sourceRoot,r)),this._sources.has(r))return this._sources.indexOf(r);for(t=0;t1&&(r.source=d+i[1],d+=i[1],r.originalLine=u+i[2],u=r.originalLine,r.originalLine+=1,r.originalColumn=l+i[3],l=r.originalColumn,i.length>4&&(r.name=_+i[4],_+=i[4])),v.push(r),\"number\"==typeof r.originalLine&&y.push(r)}sa(v,Hi.compareByGeneratedPositionsDeflated),this.__generatedMappings=v,sa(y,Hi.compareByOriginalPositions),this.__originalMappings=y},la.prototype._findMapping=function(e,t,r,n,i,a){if(e[r]<=0)throw new TypeError(\"Line must be greater than or equal to 1, got \"+e[r]);if(e[n]<0)throw new TypeError(\"Column must be greater than or equal to 0, got \"+e[n]);return na.search(e,t,i,a)},la.prototype.computeColumnSpans=function(){for(var e=0;e=0){var n=this._generatedMappings[r];if(n.generatedLine===t.generatedLine){var i=Hi.getArg(n,\"source\",null);null!==i&&(i=this._sources.at(i),i=Hi.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var a=Hi.getArg(n,\"name\",null);return null!==a&&(a=this._names.at(a)),{source:i,line:Hi.getArg(n,\"originalLine\",null),column:Hi.getArg(n,\"originalColumn\",null),name:a}}}return{source:null,line:null,column:null,name:null}},la.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e})))},la.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];var n,i=e;if(null!=this.sourceRoot&&(i=Hi.relative(this.sourceRoot,i)),null!=this.sourceRoot&&(n=Hi.urlParse(this.sourceRoot))){var a=i.replace(/^file:\\/\\//,\"\");if(\"file\"==n.scheme&&this._sources.has(a))return this.sourcesContent[this._sources.indexOf(a)];if((!n.path||\"/\"==n.path)&&this._sources.has(\"/\"+i))return this.sourcesContent[this._sources.indexOf(\"/\"+i)]}if(t)return null;throw new Error('\"'+i+'\" is not in the SourceMap.')},la.prototype.generatedPositionFor=function(e){var t=Hi.getArg(e,\"source\");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var r={source:t,originalLine:Hi.getArg(e,\"line\"),originalColumn:Hi.getArg(e,\"column\")},n=this._findMapping(r,this._originalMappings,\"originalLine\",\"originalColumn\",Hi.compareByOriginalPositions,Hi.getArg(e,\"bias\",ca.GREATEST_LOWER_BOUND));if(n>=0){var i=this._originalMappings[n];if(i.source===r.source)return{line:Hi.getArg(i,\"generatedLine\",null),column:Hi.getArg(i,\"generatedColumn\",null),lastColumn:Hi.getArg(i,\"lastGeneratedColumn\",null)}}return{line:null,column:null,lastColumn:null}};var _a=la;function pa(e,t){var r=e;\"string\"==typeof e&&(r=Hi.parseSourceMapInput(e));var n=Hi.getArg(r,\"version\"),i=Hi.getArg(r,\"sections\");if(n!=this._version)throw new Error(\"Unsupported version: \"+n);this._sources=new oa,this._names=new oa;var a={line:-1,column:0};this._sections=i.map((function(e){if(e.url)throw new Error(\"Support for url field in sections not implemented.\");var r=Hi.getArg(e,\"offset\"),n=Hi.getArg(r,\"line\"),i=Hi.getArg(r,\"column\");if(n=0;t--)this.prepend(e[t]);else{if(!e[ya]&&\"string\"!=typeof e)throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \"+e);this.children.unshift(e)}return this},va.prototype.walk=function(e){for(var t,r=0,n=this.children.length;r0){for(t=[],r=0;r>18&63]+Da[i>>12&63]+Da[i>>6&63]+Da[63&i]);return a.join(\"\")}function Ca(e){var t;Sa||Ea();for(var r=e.length,n=r%3,i=\"\",a=[],o=16383,s=0,c=r-n;sc?c:s+o));return 1===n?(t=e[r-1],i+=Da[t>>2],i+=Da[t<<4&63],i+=\"==\"):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=Da[t>>10],i+=Da[t>>4&63],i+=Da[t<<2&63],i+=\"=\"),a.push(i),a.join(\"\")}function ka(e,t,r,n,i){var a,o,s=8*i-n-1,c=(1<>1,l=-7,d=r?i-1:0,_=r?-1:1,p=e[t+d];for(d+=_,a=p&(1<<-l)-1,p>>=-l,l+=s;l>0;a=256*a+e[t+d],d+=_,l-=8);for(o=a&(1<<-l)-1,a>>=-l,l+=n;l>0;o=256*o+e[t+d],d+=_,l-=8);if(0===a)a=1-u;else{if(a===c)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)}function Aa(e,t,r,n,i,a){var o,s,c,u=8*a-i-1,l=(1<>1,_=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,f=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),(t+=o+d>=1?_/c:_*Math.pow(2,1-d))*c>=2&&(o++,c/=2),o+d>=l?(s=0,o=l):o+d>=1?(s=(t*c-1)*Math.pow(2,i),o+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=f,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=f,o/=256,u-=8);e[r+p-f]|=128*g}var Fa={}.toString,Na=Array.isArray||function(e){return\"[object Array]\"==Fa.call(e)};function Pa(){return Ia.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function wa(e,t){if(Pa()=Pa())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+Pa().toString(16)+\" bytes\");return 0|e}function ja(e){return!(null==e||!e._isBuffer)}function Ja(e,t){if(ja(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":case void 0:return fo(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return go(e).length;default:if(n)return fo(e).length;t=(\"\"+t).toLowerCase(),n=!0}}function Ka(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return ro(this,t,r);case\"utf8\":case\"utf-8\":return $a(this,t,r);case\"ascii\":return eo(this,t,r);case\"latin1\":case\"binary\":return to(this,t,r);case\"base64\":return Qa(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return no(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}function za(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function Ua(e,t,r,n,i){if(0===e.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof t&&(t=Ia.from(t,n)),ja(t))return 0===t.length?-1:Va(e,t,r,n,i);if(\"number\"==typeof t)return t&=255,Ia.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Va(e,[t],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function Va(e,t,r,n,i){var a,o=1,s=e.length,c=t.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,c/=2,r/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var l=-1;for(a=r;as&&(r=s-c),a=r;a>=0;a--){for(var d=!0,_=0;_i&&(n=i):n=i;var a=t.length;if(a%2!=0)throw new TypeError(\"Invalid hex string\");n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function Qa(e,t,r){return 0===t&&r===e.length?Ca(e):Ca(e.slice(t,r))}function $a(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:u>223?3:u>191?2:1;if(i+d<=r)switch(d){case 1:u<128&&(l=u);break;case 2:128==(192&(a=e[i+1]))&&(c=(31&u)<<6|63&a)>127&&(l=c);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(c=(15&u)<<12|(63&a)<<6|63&o)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(c=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&c<1114112&&(l=c)}null===l?(l=65533,d=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),i+=d}return function(e){var t=e.length;if(t<=Za)return String.fromCharCode.apply(String,e);var r=\"\",n=0;for(;n0&&(e=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(e+=\" ... \")),\"\"},Ia.prototype.compare=function(e,t,r,n,i){if(!ja(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),s=Math.min(a,o),c=this.slice(n,i),u=e.slice(t,r),l=0;li)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return qa(this,e,t,r);case\"utf8\":case\"utf-8\":return Wa(this,e,t,r);case\"ascii\":return Ha(this,e,t,r);case\"latin1\":case\"binary\":return Ga(this,e,t,r);case\"base64\":return Ya(this,e,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Xa(this,e,t,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},Ia.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var Za=4096;function eo(e,t,r){var n=\"\";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i=\"\",a=t;ar)throw new RangeError(\"Trying to access beyond buffer length\")}function ao(e,t,r,n,i,a){if(!ja(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError(\"Index out of range\")}function oo(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function so(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function co(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function uo(e,t,r,n,i){return i||co(e,0,r,4),Aa(e,t,r,n,23,4),r+4}function lo(e,t,r,n,i){return i||co(e,0,r,8),Aa(e,t,r,n,52,8),r+8}Ia.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},Ia.prototype.readUInt8=function(e,t){return t||io(e,1,this.length),this[e]},Ia.prototype.readUInt16LE=function(e,t){return t||io(e,2,this.length),this[e]|this[e+1]<<8},Ia.prototype.readUInt16BE=function(e,t){return t||io(e,2,this.length),this[e]<<8|this[e+1]},Ia.prototype.readUInt32LE=function(e,t){return t||io(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Ia.prototype.readUInt32BE=function(e,t){return t||io(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Ia.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||io(e,t,this.length);for(var n=this[e],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},Ia.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||io(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},Ia.prototype.readInt8=function(e,t){return t||io(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Ia.prototype.readInt16LE=function(e,t){t||io(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Ia.prototype.readInt16BE=function(e,t){t||io(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Ia.prototype.readInt32LE=function(e,t){return t||io(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Ia.prototype.readInt32BE=function(e,t){return t||io(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Ia.prototype.readFloatLE=function(e,t){return t||io(e,4,this.length),ka(this,e,!0,23,4)},Ia.prototype.readFloatBE=function(e,t){return t||io(e,4,this.length),ka(this,e,!1,23,4)},Ia.prototype.readDoubleLE=function(e,t){return t||io(e,8,this.length),ka(this,e,!0,52,8)},Ia.prototype.readDoubleBE=function(e,t){return t||io(e,8,this.length),ka(this,e,!1,52,8)},Ia.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||ao(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+i]=e/a&255;return t+r},Ia.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,1,255,0),Ia.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Ia.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,2,65535,0),Ia.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):oo(this,e,t,!0),t+2},Ia.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,2,65535,0),Ia.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):oo(this,e,t,!1),t+2},Ia.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,4,4294967295,0),Ia.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):so(this,e,t,!0),t+4},Ia.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,4,4294967295,0),Ia.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):so(this,e,t,!1),t+4},Ia.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);ao(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+r},Ia.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);ao(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},Ia.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,1,127,-128),Ia.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Ia.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,2,32767,-32768),Ia.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):oo(this,e,t,!0),t+2},Ia.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,2,32767,-32768),Ia.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):oo(this,e,t,!1),t+2},Ia.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,4,2147483647,-2147483648),Ia.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):so(this,e,t,!0),t+4},Ia.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||ao(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Ia.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):so(this,e,t,!1),t+4},Ia.prototype.writeFloatLE=function(e,t,r){return uo(this,e,t,!0,r)},Ia.prototype.writeFloatBE=function(e,t,r){return uo(this,e,t,!1,r)},Ia.prototype.writeDoubleLE=function(e,t,r){return lo(this,e,t,!0,r)},Ia.prototype.writeDoubleBE=function(e,t,r){return lo(this,e,t,!1,r)},Ia.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError(\"sourceStart out of bounds\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(a<1e3||!Ia.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),\"number\"==typeof e)for(a=t;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function go(e){return function(e){var t,r,n,i,a,o;Sa||Ea();var s=e.length;if(s%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");a=\"=\"===e[s-2]?2:\"=\"===e[s-1]?1:0,o=new ba(3*s/4-a),n=a>0?s-4:s;var c=0;for(t=0,r=0;t>16&255,o[c++]=i>>8&255,o[c++]=255&i;return 2===a?(i=xa[e.charCodeAt(t)]<<2|xa[e.charCodeAt(t+1)]>>4,o[c++]=255&i):1===a&&(i=xa[e.charCodeAt(t)]<<10|xa[e.charCodeAt(t+1)]<<4|xa[e.charCodeAt(t+2)]>>2,o[c++]=i>>8&255,o[c++]=255&i),o}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}(e).replace(_o,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function mo(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function yo(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var vo=Object.prototype.toString,ho=\"function\"==typeof Ia.alloc&&\"function\"==typeof Ia.allocUnsafe&&\"function\"==typeof Ia.from;var Do=function(e,t,r){if(\"number\"==typeof e)throw new TypeError('\"value\" argument must not be a number');return n=e,\"ArrayBuffer\"===vo.call(n).slice(8,-1)?function(e,t,r){t>>>=0;var n=e.byteLength-t;if(n<0)throw new RangeError(\"'offset' is out of bounds\");if(void 0===r)r=n;else if((r>>>=0)>n)throw new RangeError(\"'length' is out of bounds\");return ho?Ia.from(e.slice(t,t+r)):new Ia(new Uint8Array(e.slice(t,t+r)))}(e,t,r):\"string\"==typeof e?function(e,t){if(\"string\"==typeof t&&\"\"!==t||(t=\"utf8\"),!Ia.isEncoding(t))throw new TypeError('\"encoding\" must be a valid string encoding');return ho?Ia.from(e,t):new Ia(e,t)}(e,t):ho?Ia.from(e):new Ia(e);var n},xo=n(Ki),bo=n(Li),So=(r((function(e,t){var r,n=ha.SourceMapConsumer,i=xo;try{(r=bo).existsSync&&r.readFileSync||(r=null)}catch(e){}function a(e,t){return e.require(t)}var o=!1,s=!1,c=!1,u=\"auto\",l={},d={},_=/^data:application\\/json[^,]+base64,/,p=[],f=[];function g(){return\"browser\"===u||\"node\"!==u&&(\"undefined\"!=typeof window&&\"function\"==typeof XMLHttpRequest&&!(window.require&&window.module&&window.process&&\"renderer\"===window.process.type))}function m(e){return function(t){for(var r=0;r\";var r=this.getLineNumber();if(null!=r){t+=\":\"+r;var n=this.getColumnNumber();n&&(t+=\":\"+n)}}var i=\"\",a=this.getFunctionName(),o=!0,s=this.isConstructor();if(!(this.isToplevel()||s)){var c=this.getTypeName();\"[object Object]\"===c&&(c=\"null\");var u=this.getMethodName();a?(c&&0!=a.indexOf(c)&&(i+=c+\".\"),i+=a,u&&a.indexOf(\".\"+u)!=a.length-u.length-1&&(i+=\" [as \"+u+\"]\")):i+=c+\".\"+(u||\"\")}else s?i+=\"new \"+(a||\"\"):a?i+=a:(i+=t,o=!1);return o&&(i+=\" (\"+t+\")\"),i}function S(e){var t={};return Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((function(r){t[r]=/^(?:is|get)/.test(r)?function(){return e[r].call(e)}:e[r]})),t.toString=b,t}function E(e,t){if(void 0===t&&(t={nextPosition:null,curPosition:null}),e.isNative())return t.curPosition=null,e;var r=e.getFileName()||e.getScriptNameOrSourceURL();if(r){var n=e.getLineNumber(),i=e.getColumnNumber()-1,a=/^v(10\\.1[6-9]|10\\.[2-9][0-9]|10\\.[0-9]{3,}|1[2-9]\\d*|[2-9]\\d|\\d{3,}|11\\.11)/.test(V.version)?0:62;1===n&&i>a&&!g()&&!e.isEval()&&(i-=a);var o=D({source:r,line:n,column:i});t.curPosition=o;var s=(e=S(e)).getFunctionName;return e.getFunctionName=function(){return null==t.nextPosition?s():t.nextPosition.name||s()},e.getFileName=function(){return o.source},e.getLineNumber=function(){return o.line},e.getColumnNumber=function(){return o.column+1},e.getScriptNameOrSourceURL=function(){return o.source},e}var c=e.isEval()&&e.getEvalOrigin();return c?(c=x(c),(e=S(e)).getEvalOrigin=function(){return c},e):e}function T(e,t){c&&(l={},d={});for(var r=(e.name||\"Error\")+\": \"+(e.message||\"\"),n={nextPosition:null,curPosition:null},i=[],a=t.length-1;a>=0;a--)i.push(\"\\n at \"+E(t[a],n)),n.nextPosition=n.curPosition;return n.curPosition=n.nextPosition=null,r+i.reverse().join(\"\")}function C(e){var t=/\\n at [^(]+ \\((.*):(\\d+):(\\d+)\\)/.exec(e.stack);if(t){var n=t[1],i=+t[2],a=+t[3],o=l[n];if(!o&&r&&r.existsSync(n))try{o=r.readFileSync(n,\"utf8\")}catch(e){o=\"\"}if(o){var s=o.split(/(?:\\r\\n|\\r|\\n)/)[i-1];if(s)return n+\":\"+i+\"\\n\"+s+\"\\n\"+new Array(a).join(\" \")+\"^\"}}return null}function k(e){var t=C(e);V.stderr._handle&&V.stderr._handle.setBlocking&&V.stderr._handle.setBlocking(!0),t&&(console.error(),console.error(t)),console.error(e.stack),V.exit(1)}f.push((function(e){var t,r=function(e){var t;if(g())try{var r=new XMLHttpRequest;r.open(\"GET\",e,!1),r.send(null),t=4===r.readyState?r.responseText:null;var n=r.getResponseHeader(\"SourceMap\")||r.getResponseHeader(\"X-SourceMap\");if(n)return n}catch(e){}t=y(e);for(var i,a,o=/(?:\\/\\/[@#][\\s]*sourceMappingURL=([^\\s'\"]+)[\\s]*$)|(?:\\/\\*[@#][\\s]*sourceMappingURL=([^\\s*'\"]+)[\\s]*(?:\\*\\/)[\\s]*$)/gm;a=o.exec(t);)i=a;return i?i[1]:null}(e);if(!r)return null;if(_.test(r)){var n=r.slice(r.indexOf(\",\")+1);t=Do(n,\"base64\").toString(),r=e}else r=v(e,r),t=y(r);return t?{url:r,map:t}:null}));var A=p.slice(0),F=f.slice(0);t.wrapCallSite=E,t.getErrorSource=C,t.mapSourcePosition=D,t.retrieveSourceMap=h,t.install=function(t){if((t=t||{}).environment&&(u=t.environment,-1===[\"node\",\"browser\",\"auto\"].indexOf(u)))throw new Error(\"environment \"+u+\" was unknown. Available options are {auto, browser, node}\");if(t.retrieveFile&&(t.overrideRetrieveFile&&(p.length=0),p.unshift(t.retrieveFile)),t.retrieveSourceMap&&(t.overrideRetrieveSourceMap&&(f.length=0),f.unshift(t.retrieveSourceMap)),t.hookRequire&&!g()){var r=a(e,\"module\"),n=r.prototype._compile;n.__sourceMapSupport||(r.prototype._compile=function(e,t){return l[t]=e,d[t]=void 0,n.call(this,e,t)},r.prototype._compile.__sourceMapSupport=!0)}if(c||(c=\"emptyCacheBetweenOperations\"in t&&t.emptyCacheBetweenOperations),o||(o=!0,Error.prepareStackTrace=T),!s){var i=!(\"handleUncaughtExceptions\"in t)||t.handleUncaughtExceptions;try{!1===a(e,\"worker_threads\").isMainThread&&(i=!1)}catch(e){}i&&\"object\"==typeof V&&null!==V&&\"function\"==typeof V.on&&(s=!0,_=V.emit,V.emit=function(e){if(\"uncaughtException\"===e){var t=arguments[1]&&arguments[1].stack,r=this.listeners(e).length>0;if(t&&!r)return k(arguments[1])}return _.apply(this,arguments)})}var _},t.resetRetrieveHandlers=function(){p.length=0,f.length=0,p=A.slice(0),f=F.slice(0),h=m(f),y=m(p)}})),n(wi)),Eo=r((function(e){var r=t&&t.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0;for(var r=0,n=e;r>1);switch(n(r(e[c],c),t)){case-1:o=c+1;break;case 0:return c;case 1:s=c-1}}return~o}function v(e,t,r,n,i){if(e&&e.length>0){var a=e.length;if(a>0){var o=void 0===n||n<0?0:n,s=void 0===i||o+i>a-1?a-1:o+i,c=void 0;for(arguments.length<=2?(c=e[o],o++):c=r;o<=s;)c=t(c,e[o],o),o++;return c}}return r}e.Map=t(\"Map\",\"tryGetNativeMap\",\"createMapShim\"),e.Set=t(\"Set\",\"tryGetNativeSet\",\"createSetShim\"),e.getIterator=n,e.emptyArray=[],e.emptyMap=new e.Map,e.emptySet=new e.Set,e.createMap=function(){return new e.Map},e.createMapFromTemplate=function(t){var r=new e.Map;for(var n in t)h.call(t,n)&&r.set(n,t[n]);return r},e.length=function(e){return e?e.length:0},e.forEach=function(e,t){if(e)for(var r=0;r=0;r--){var n=t(e[r],r);if(n)return n}},e.firstDefined=function(e,t){if(void 0!==e)for(var r=0;r=0;r--){var n=e[r];if(t(n,r))return n}},e.findIndex=function(e,t,r){for(var n=r||0;n=0;n--)if(t(e[n],n))return n;return-1},e.findMap=function(t,r){for(var n=0;n0&&e.Debug.assertGreaterThanOrEqual(n(r[o],r[o-1]),0);t:for(var s=a;as&&e.Debug.assertGreaterThanOrEqual(n(t[a],t[a-1]),0),n(r[o],t[a])){case-1:i.push(r[o]);continue e;case 0:continue e;case 1:continue t}}return i},e.sum=function(e,t){for(var r=0,n=0,i=e;nt?1:0}function B(e,t){return M(e,t)}e.toFileNameLowerCase=I,e.notImplemented=function(){throw new Error(\"Not implemented\")},e.memoize=function(e){var t;return function(){return e&&(t=e(),e=void 0),t}},e.memoizeOne=function(t){var r=new e.Map;return function(e){var n=typeof e+\":\"+e,i=r.get(n);return void 0!==i||r.has(n)||(i=t(e),r.set(n,i)),i}},e.compose=function(e,t,r,n,i){if(i){for(var a=[],o=0;o0?1:0}function i(e){var t=new Intl.Collator(e,{usage:\"sort\",sensitivity:\"variant\"}).compare;return function(e,r){return n(e,r,t)}}function a(e){return void 0!==e?o():function(e,r){return n(e,r,t)};function t(e,t){return e.localeCompare(t)}}function o(){return function(t,r){return n(t,r,e)};function e(e,r){return t(e.toUpperCase(),r.toUpperCase())||t(e,r)}function t(e,t){return et?1:0}}}();function z(e,t,r){for(var n=new Array(t.length+1),i=new Array(t.length+1),a=r+1,o=0;o<=t.length;o++)n[o]=o;for(o=1;o<=e.length;o++){var s=e.charCodeAt(o-1),c=o>r?o-r:1,u=t.length>r+o?r+o:t.length;i[0]=o;for(var l=o,d=1;dr)return;var p=n;n=i,i=p}var f=n[t.length];return f>r?void 0:f}function U(e,t){var r=e.length-t.length;return r>=0&&e.indexOf(t,r)===r}function V(e,t){for(var r=t;r=r.length+n.length&&H(t,r)&&U(t,n)}function Y(e,t,r,n){for(var i=0,a=e[n];ii&&(i=c.prefix.length,n=s)}return n},e.startsWith=H,e.removePrefix=function(e,t){return H(e,t)?e.substr(t.length):e},e.tryRemovePrefix=function(e,t,r){return void 0===r&&(r=N),H(r(e),r(t))?e.substring(t.length):void 0},e.and=function(e,t){return function(r){return e(r)&&t(r)}},e.or=function(){for(var e=[],t=0;t=e}function _(t,n){return!!d(t)||(l[n]={level:t,assertion:r[n]},r[n]=e.noop,!1)}function p(e,t){var r=new Error(e?\"Debug Failure. \"+e:\"Debug Failure.\");throw Error.captureStackTrace&&Error.captureStackTrace(r,t||p),r}function f(e,t,r,n){e||(t=t?\"False expression: \"+t:\"False expression.\",r&&(t+=\"\\r\\nVerbose Debug Information: \"+(\"string\"==typeof r?r:r())),p(t,n||f))}function g(e,t,r){null==e&&p(t,r||g)}function m(e,t,r){return g(e,t,r||m),e}function y(e,t,r){for(var n=0,i=e;n0&&0===i[0][0]?i[0][1]:\"0\";if(n){for(var a=\"\",o=t,s=0,c=i;st)break;0!==l&&l&t&&(a=a+(a?\"|\":\"\")+d,o&=~l)}if(0===o)return a}else for(var _=0,p=i;_n)for(var i=0,o=e.getOwnKeys(l);i=c.level&&(r[s]=c,l[s]=void 0)}},r.shouldAssert=d,r.fail=p,r.failBadSyntaxKind=function e(t,r,n){return p((r||\"Unexpected node.\")+\"\\r\\nNode \"+x(t.kind)+\" was unexpected.\",n||e)},r.assert=f,r.assertEqual=function e(t,r,n,i,a){t!==r&&p(\"Expected \"+t+\" === \"+r+\". \"+(n?i?n+\" \"+i:n:\"\"),a||e)},r.assertLessThan=function e(t,r,n,i){t>=r&&p(\"Expected \"+t+\" < \"+r+\". \"+(n||\"\"),i||e)},r.assertLessThanOrEqual=function e(t,r,n){t>r&&p(\"Expected \"+t+\" <= \"+r,n||e)},r.assertGreaterThanOrEqual=function e(t,r,n){t= \"+r,n||e)},r.assertIsDefined=g,r.checkDefined=m,r.assertDefined=m,r.assertEachIsDefined=y,r.checkEachDefined=v,r.assertEachDefined=v,r.assertNever=function t(r,n,i){return void 0===n&&(n=\"Illegal value:\"),p(n+\" \"+(\"object\"==typeof r&&e.hasProperty(r,\"kind\")&&e.hasProperty(r,\"pos\")&&x?\"SyntaxKind: \"+x(r.kind):JSON.stringify(r)),i||t)},r.assertEachNode=function t(r,n,i,a){_(1,\"assertEachNode\")&&f(void 0===n||e.every(r,n),i||\"Unexpected node.\",(function(){return\"Node array did not pass test '\"+h(n)+\"'.\"}),a||t)},r.assertNode=function e(t,r,n,i){_(1,\"assertNode\")&&f(void 0!==t&&(void 0===r||r(t)),n||\"Unexpected node.\",(function(){return\"Node \"+x(t.kind)+\" did not pass test '\"+h(r)+\"'.\"}),i||e)},r.assertNotNode=function e(t,r,n,i){_(1,\"assertNotNode\")&&f(void 0===t||void 0===r||!r(t),n||\"Unexpected node.\",(function(){return\"Node \"+x(t.kind)+\" should not have passed test '\"+h(r)+\"'.\"}),i||e)},r.assertOptionalNode=function e(t,r,n,i){_(1,\"assertOptionalNode\")&&f(void 0===r||void 0===t||r(t),n||\"Unexpected node.\",(function(){return\"Node \"+x(t.kind)+\" did not pass test '\"+h(r)+\"'.\"}),i||e)},r.assertOptionalToken=function e(t,r,n,i){_(1,\"assertOptionalToken\")&&f(void 0===r||void 0===t||t.kind===r,n||\"Unexpected node.\",(function(){return\"Node \"+x(t.kind)+\" was not a '\"+x(r)+\"' token.\"}),i||e)},r.assertMissingNode=function e(t,r,n){_(1,\"assertMissingNode\")&&f(void 0===t,r||\"Unexpected node.\",(function(){return\"Node \"+x(t.kind)+\" was unexpected'.\"}),n||e)},r.getFunctionName=h,r.formatSymbol=function(t){return\"{ name: \"+e.unescapeLeadingUnderscores(t.escapedName)+\"; flags: \"+C(t.flags)+\"; declarations: \"+e.map(t.declarations,(function(e){return x(e.kind)}))+\" }\"},r.formatEnum=D,r.formatSyntaxKind=x,r.formatNodeFlags=b,r.formatModifierFlags=S,r.formatTransformFlags=E,r.formatEmitFlags=T,r.formatSymbolFlags=C,r.formatTypeFlags=k,r.formatObjectFlags=A,r.formatFlowFlags=F;var N,P,w,I=!1;function O(e){return function(){if(R(),!N)throw new Error(\"Debugging helpers could not be loaded.\");return N}().formatControlFlowGraph(e)}function M(t){\"__debugFlowFlags\"in t||Object.defineProperties(t,{__tsDebuggerDisplay:{value:function(){var e=2&this.flags?\"FlowStart\":4&this.flags?\"FlowBranchLabel\":8&this.flags?\"FlowLoopLabel\":16&this.flags?\"FlowAssignment\":32&this.flags?\"FlowTrueCondition\":64&this.flags?\"FlowFalseCondition\":128&this.flags?\"FlowSwitchClause\":256&this.flags?\"FlowArrayMutation\":512&this.flags?\"FlowCall\":1024&this.flags?\"FlowReduceLabel\":1&this.flags?\"FlowUnreachable\":\"UnknownFlow\",t=-2048&this.flags;return e+(t?\" (\"+F(t)+\")\":\"\")}},__debugFlowFlags:{get:function(){return D(this.flags,e.FlowFlags,!0)}},__debugToString:{value:function(){return O(this)}}})}function L(e){\"__tsDebuggerDisplay\"in e||Object.defineProperties(e,{__tsDebuggerDisplay:{value:function(e){return\"NodeArray \"+(e=String(e).replace(/(?:,[\\s\\w\\d_]+:[^,]+)+\\]$/,\"]\"))}}})}function R(){if(!I){var t,r;Object.defineProperties(e.objectAllocator.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value:function(){var t=33554432&this.flags?\"TransientSymbol\":\"Symbol\",r=-33554433&this.flags;return t+\" '\"+e.symbolName(this)+\"'\"+(r?\" (\"+C(r)+\")\":\"\")}},__debugFlags:{get:function(){return C(this.flags)}}}),Object.defineProperties(e.objectAllocator.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value:function(){var t=98304&this.flags?\"NullableType\":384&this.flags?\"LiteralType \"+JSON.stringify(this.value):2048&this.flags?\"LiteralType \"+(this.value.negative?\"-\":\"\")+this.value.base10Value+\"n\":8192&this.flags?\"UniqueESSymbolType\":32&this.flags?\"EnumType\":67359327&this.flags?\"IntrinsicType \"+this.intrinsicName:1048576&this.flags?\"UnionType\":2097152&this.flags?\"IntersectionType\":4194304&this.flags?\"IndexType\":8388608&this.flags?\"IndexedAccessType\":16777216&this.flags?\"ConditionalType\":33554432&this.flags?\"SubstitutionType\":262144&this.flags?\"TypeParameter\":524288&this.flags?3&this.objectFlags?\"InterfaceType\":4&this.objectFlags?\"TypeReference\":8&this.objectFlags?\"TupleType\":16&this.objectFlags?\"AnonymousType\":32&this.objectFlags?\"MappedType\":2048&this.objectFlags?\"ReverseMappedType\":256&this.objectFlags?\"EvolvingArrayType\":\"ObjectType\":\"Type\",r=524288&this.flags?-2368&this.objectFlags:0;return t+(this.symbol?\" '\"+e.symbolName(this.symbol)+\"'\":\"\")+(r?\" (\"+A(r)+\")\":\"\")}},__debugFlags:{get:function(){return k(this.flags)}},__debugObjectFlags:{get:function(){return 524288&this.flags?A(this.objectFlags):\"\"}},__debugTypeToString:{value:function(){var e=(void 0===t&&\"function\"==typeof WeakMap&&(t=new WeakMap),t),r=null==e?void 0:e.get(this);return void 0===r&&(r=this.checker.typeToString(this),null==e||e.set(this,r)),r}}});for(var n=0,i=[e.objectAllocator.getNodeConstructor(),e.objectAllocator.getIdentifierConstructor(),e.objectAllocator.getTokenConstructor(),e.objectAllocator.getSourceFileConstructor()];n=0;return d?function(e,t,r,n){var i=B(e,!0,t,r,n);return function(){throw new TypeError(i)}}(t,s,l,r.message):_?function(e,t,r,n){var i=!1;return function(){i||(u.warn(B(e,!1,t,r,n)),i=!0)}}(t,s,l,r.message):e.noop}r.printControlFlowGraph=function(e){return console.log(O(e))},r.formatControlFlowGraph=O,r.attachFlowNodeDebugInfo=function(e){I&&(\"function\"==typeof Object.setPrototypeOf?(P||M(P=Object.create(Object.prototype)),Object.setPrototypeOf(e,P)):M(e))},r.attachNodeArrayDebugInfo=function(e){I&&(\"function\"==typeof Object.setPrototypeOf?(w||L(w=Object.create(Array.prototype)),Object.setPrototypeOf(e,w)):L(e))},r.enableDebugInfo=R,r.deprecate=function(e,t){return function(e,t){return function(){return e(),t.apply(this,arguments)}}(j(h(e),t),e)}}(e.Debug||(e.Debug={}))}(u||(u={})),function(e){var t=/^(0|[1-9]\\d*)(?:\\.(0|[1-9]\\d*)(?:\\.(0|[1-9]\\d*)(?:\\-([a-z0-9-.]+))?(?:\\+([a-z0-9-.]+))?)?)?$/i,r=/^(?:0|[1-9]\\d*|[a-z-][a-z0-9-]*)(?:\\.(?:0|[1-9]\\d*|[a-z-][a-z0-9-]*))*$/i,n=/^[a-z0-9-]+(?:\\.[a-z0-9-]+)*$/i,i=/^(0|[1-9]\\d*)$/,a=function(){function t(t,i,a,s,c){if(void 0===i&&(i=0),void 0===a&&(a=0),void 0===s&&(s=\"\"),void 0===c&&(c=\"\"),\"string\"==typeof t){var u=e.Debug.checkDefined(o(t),\"Invalid version\");t=u.major,i=u.minor,a=u.patch,s=u.prerelease,c=u.build}e.Debug.assert(t>=0,\"Invalid argument: major\"),e.Debug.assert(i>=0,\"Invalid argument: minor\"),e.Debug.assert(a>=0,\"Invalid argument: patch\"),e.Debug.assert(!s||r.test(s),\"Invalid argument: prerelease\"),e.Debug.assert(!c||n.test(c),\"Invalid argument: build\"),this.major=t,this.minor=i,this.patch=a,this.prerelease=s?s.split(\".\"):e.emptyArray,this.build=c?c.split(\".\"):e.emptyArray}return t.tryParse=function(e){var r=o(e);if(r)return new t(r.major,r.minor,r.patch,r.prerelease,r.build)},t.prototype.compareTo=function(t){return this===t?0:void 0===t?1:e.compareValues(this.major,t.major)||e.compareValues(this.minor,t.minor)||e.compareValues(this.patch,t.patch)||function(t,r){if(t===r)return 0;if(0===t.length)return 0===r.length?0:1;if(0===r.length)return-1;for(var n=Math.min(t.length,r.length),a=0;a|>=|=)?\\s*([a-z0-9-+.*]+)$/i;function p(e){for(var t=[],r=0,n=e.trim().split(c);r=\",n.version)),y(i.major)||r.push(y(i.minor)?v(\"<\",i.version.increment(\"major\")):y(i.patch)?v(\"<\",i.version.increment(\"minor\")):v(\"<=\",i.version)),!0)}function m(e,t,r){var n=f(t);if(!n)return!1;var i=n.version,o=n.major,s=n.minor,c=n.patch;if(y(o))\"<\"!==e&&\">\"!==e||r.push(v(\"<\",a.zero));else switch(e){case\"~\":r.push(v(\">=\",i)),r.push(v(\"<\",i.increment(y(s)?\"major\":\"minor\")));break;case\"^\":r.push(v(\">=\",i)),r.push(v(\"<\",i.increment(i.major>0||y(s)?\"major\":i.minor>0||y(c)?\"minor\":\"patch\")));break;case\"<\":case\">=\":r.push(v(e,i));break;case\"<=\":case\">\":r.push(y(s)?v(\"<=\"===e?\"<\":\">=\",i.increment(\"major\")):y(c)?v(\"<=\"===e?\"<\":\">=\",i.increment(\"minor\")):v(e,i));break;case\"=\":case void 0:y(s)||y(c)?(r.push(v(\">=\",i)),r.push(v(\"<\",i.increment(y(s)?\"major\":\"minor\")))):r.push(v(\"=\",i));break;default:return!1}return!0}function y(e){return\"*\"===e||\"x\"===e||\"X\"===e}function v(e,t){return{operator:e,operand:t}}function h(e,t){for(var r=0,n=t;r\":return i>0;case\">=\":return i>=0;case\"=\":return 0===i;default:return e.Debug.assertNever(r)}}function x(t){return e.map(t,b).join(\" \")}function b(e){return\"\"+e.operator+e.operand}}(u||(u={})),function(e){function t(e,t){return\"object\"==typeof e&&\"number\"==typeof e.timeOrigin&&\"function\"==typeof e.mark&&\"function\"==typeof e.measure&&\"function\"==typeof e.now&&\"function\"==typeof t}var r=function(){if(\"object\"==typeof performance&&\"function\"==typeof PerformanceObserver&&t(performance,PerformanceObserver))return{performance:performance,PerformanceObserver:PerformanceObserver}}()||function(){try{var r=So,n=r.performance,i=r.PerformanceObserver;if(t(n,i)){var a=new e.Version(\"999.999.999\");return new e.VersionRange(\"<12.16.3 || 13 <13.13\").test(a)?{performance:{get timeOrigin(){return n.timeOrigin},now:function(){return n.now()},mark:function(e){return n.mark(e)},measure:function(e,t,r){void 0===t&&(t=\"nodeStart\"),void 0===r&&(r=\"__performance.measure-fix__\",n.mark(r)),n.measure(e,t,r),\"__performance.measure-fix__\"===r&&n.clearMarks(\"__performance.measure-fix__\")}},PerformanceObserver:i}:{performance:n,PerformanceObserver:i}}}catch(e){}}(),n=null==r?void 0:r.performance;e.tryGetNativePerformanceHooks=function(){return r},e.timestamp=n?function(){return n.now()}:Date.now?Date.now:function(){return+new Date}}(u||(u={})),function(e){!function(t){var r,n,i;function a(t,r,n){var i=0;return{enter:function(){1==++i&&c(r)},exit:function(){0==--i?(c(n),u(t,r,n)):i<0&&e.Debug.fail(\"enter/exit count does not match.\")}}}t.createTimerIf=function(e,r,n,i){return e?a(r,n,i):t.nullTimer},t.createTimer=a,t.nullTimer={enter:e.noop,exit:e.noop};var o=new e.Map,s=new e.Map;function c(e){null==i||i.mark(e)}function u(e,t,r){null==i||i.measure(e,t,r)}function l(e){for(var t=0,r=e.getEntriesByType(\"mark\");t0);var t=c.pop(),r=t.phase,n=t.name,a=t.args,o=t.time;u(\"X\",r,n,a,'\"dur\":'+(1e3*e.timestamp()-o),o)}},t.dumpLegend=function(){a&&(e.Debug.assert(r),r.writeFileSync(a,JSON.stringify(s)))}}(e.tracing||(e.tracing={}))}(u||(u={})),function(e){!function(e){e[e.Unknown=0]=\"Unknown\",e[e.EndOfFileToken=1]=\"EndOfFileToken\",e[e.SingleLineCommentTrivia=2]=\"SingleLineCommentTrivia\",e[e.MultiLineCommentTrivia=3]=\"MultiLineCommentTrivia\",e[e.NewLineTrivia=4]=\"NewLineTrivia\",e[e.WhitespaceTrivia=5]=\"WhitespaceTrivia\",e[e.ShebangTrivia=6]=\"ShebangTrivia\",e[e.ConflictMarkerTrivia=7]=\"ConflictMarkerTrivia\",e[e.NumericLiteral=8]=\"NumericLiteral\",e[e.BigIntLiteral=9]=\"BigIntLiteral\",e[e.StringLiteral=10]=\"StringLiteral\",e[e.JsxText=11]=\"JsxText\",e[e.JsxTextAllWhiteSpaces=12]=\"JsxTextAllWhiteSpaces\",e[e.RegularExpressionLiteral=13]=\"RegularExpressionLiteral\",e[e.NoSubstitutionTemplateLiteral=14]=\"NoSubstitutionTemplateLiteral\",e[e.TemplateHead=15]=\"TemplateHead\",e[e.TemplateMiddle=16]=\"TemplateMiddle\",e[e.TemplateTail=17]=\"TemplateTail\",e[e.OpenBraceToken=18]=\"OpenBraceToken\",e[e.CloseBraceToken=19]=\"CloseBraceToken\",e[e.OpenParenToken=20]=\"OpenParenToken\",e[e.CloseParenToken=21]=\"CloseParenToken\",e[e.OpenBracketToken=22]=\"OpenBracketToken\",e[e.CloseBracketToken=23]=\"CloseBracketToken\",e[e.DotToken=24]=\"DotToken\",e[e.DotDotDotToken=25]=\"DotDotDotToken\",e[e.SemicolonToken=26]=\"SemicolonToken\",e[e.CommaToken=27]=\"CommaToken\",e[e.QuestionDotToken=28]=\"QuestionDotToken\",e[e.LessThanToken=29]=\"LessThanToken\",e[e.LessThanSlashToken=30]=\"LessThanSlashToken\",e[e.GreaterThanToken=31]=\"GreaterThanToken\",e[e.LessThanEqualsToken=32]=\"LessThanEqualsToken\",e[e.GreaterThanEqualsToken=33]=\"GreaterThanEqualsToken\",e[e.EqualsEqualsToken=34]=\"EqualsEqualsToken\",e[e.ExclamationEqualsToken=35]=\"ExclamationEqualsToken\",e[e.EqualsEqualsEqualsToken=36]=\"EqualsEqualsEqualsToken\",e[e.ExclamationEqualsEqualsToken=37]=\"ExclamationEqualsEqualsToken\",e[e.EqualsGreaterThanToken=38]=\"EqualsGreaterThanToken\",e[e.PlusToken=39]=\"PlusToken\",e[e.MinusToken=40]=\"MinusToken\",e[e.AsteriskToken=41]=\"AsteriskToken\",e[e.AsteriskAsteriskToken=42]=\"AsteriskAsteriskToken\",e[e.SlashToken=43]=\"SlashToken\",e[e.PercentToken=44]=\"PercentToken\",e[e.PlusPlusToken=45]=\"PlusPlusToken\",e[e.MinusMinusToken=46]=\"MinusMinusToken\",e[e.LessThanLessThanToken=47]=\"LessThanLessThanToken\",e[e.GreaterThanGreaterThanToken=48]=\"GreaterThanGreaterThanToken\",e[e.GreaterThanGreaterThanGreaterThanToken=49]=\"GreaterThanGreaterThanGreaterThanToken\",e[e.AmpersandToken=50]=\"AmpersandToken\",e[e.BarToken=51]=\"BarToken\",e[e.CaretToken=52]=\"CaretToken\",e[e.ExclamationToken=53]=\"ExclamationToken\",e[e.TildeToken=54]=\"TildeToken\",e[e.AmpersandAmpersandToken=55]=\"AmpersandAmpersandToken\",e[e.BarBarToken=56]=\"BarBarToken\",e[e.QuestionToken=57]=\"QuestionToken\",e[e.ColonToken=58]=\"ColonToken\",e[e.AtToken=59]=\"AtToken\",e[e.QuestionQuestionToken=60]=\"QuestionQuestionToken\",e[e.BacktickToken=61]=\"BacktickToken\",e[e.EqualsToken=62]=\"EqualsToken\",e[e.PlusEqualsToken=63]=\"PlusEqualsToken\",e[e.MinusEqualsToken=64]=\"MinusEqualsToken\",e[e.AsteriskEqualsToken=65]=\"AsteriskEqualsToken\",e[e.AsteriskAsteriskEqualsToken=66]=\"AsteriskAsteriskEqualsToken\",e[e.SlashEqualsToken=67]=\"SlashEqualsToken\",e[e.PercentEqualsToken=68]=\"PercentEqualsToken\",e[e.LessThanLessThanEqualsToken=69]=\"LessThanLessThanEqualsToken\",e[e.GreaterThanGreaterThanEqualsToken=70]=\"GreaterThanGreaterThanEqualsToken\",e[e.GreaterThanGreaterThanGreaterThanEqualsToken=71]=\"GreaterThanGreaterThanGreaterThanEqualsToken\",e[e.AmpersandEqualsToken=72]=\"AmpersandEqualsToken\",e[e.BarEqualsToken=73]=\"BarEqualsToken\",e[e.BarBarEqualsToken=74]=\"BarBarEqualsToken\",e[e.AmpersandAmpersandEqualsToken=75]=\"AmpersandAmpersandEqualsToken\",e[e.QuestionQuestionEqualsToken=76]=\"QuestionQuestionEqualsToken\",e[e.CaretEqualsToken=77]=\"CaretEqualsToken\",e[e.Identifier=78]=\"Identifier\",e[e.PrivateIdentifier=79]=\"PrivateIdentifier\",e[e.BreakKeyword=80]=\"BreakKeyword\",e[e.CaseKeyword=81]=\"CaseKeyword\",e[e.CatchKeyword=82]=\"CatchKeyword\",e[e.ClassKeyword=83]=\"ClassKeyword\",e[e.ConstKeyword=84]=\"ConstKeyword\",e[e.ContinueKeyword=85]=\"ContinueKeyword\",e[e.DebuggerKeyword=86]=\"DebuggerKeyword\",e[e.DefaultKeyword=87]=\"DefaultKeyword\",e[e.DeleteKeyword=88]=\"DeleteKeyword\",e[e.DoKeyword=89]=\"DoKeyword\",e[e.ElseKeyword=90]=\"ElseKeyword\",e[e.EnumKeyword=91]=\"EnumKeyword\",e[e.ExportKeyword=92]=\"ExportKeyword\",e[e.ExtendsKeyword=93]=\"ExtendsKeyword\",e[e.FalseKeyword=94]=\"FalseKeyword\",e[e.FinallyKeyword=95]=\"FinallyKeyword\",e[e.ForKeyword=96]=\"ForKeyword\",e[e.FunctionKeyword=97]=\"FunctionKeyword\",e[e.IfKeyword=98]=\"IfKeyword\",e[e.ImportKeyword=99]=\"ImportKeyword\",e[e.InKeyword=100]=\"InKeyword\",e[e.InstanceOfKeyword=101]=\"InstanceOfKeyword\",e[e.NewKeyword=102]=\"NewKeyword\",e[e.NullKeyword=103]=\"NullKeyword\",e[e.ReturnKeyword=104]=\"ReturnKeyword\",e[e.SuperKeyword=105]=\"SuperKeyword\",e[e.SwitchKeyword=106]=\"SwitchKeyword\",e[e.ThisKeyword=107]=\"ThisKeyword\",e[e.ThrowKeyword=108]=\"ThrowKeyword\",e[e.TrueKeyword=109]=\"TrueKeyword\",e[e.TryKeyword=110]=\"TryKeyword\",e[e.TypeOfKeyword=111]=\"TypeOfKeyword\",e[e.VarKeyword=112]=\"VarKeyword\",e[e.VoidKeyword=113]=\"VoidKeyword\",e[e.WhileKeyword=114]=\"WhileKeyword\",e[e.WithKeyword=115]=\"WithKeyword\",e[e.ImplementsKeyword=116]=\"ImplementsKeyword\",e[e.InterfaceKeyword=117]=\"InterfaceKeyword\",e[e.LetKeyword=118]=\"LetKeyword\",e[e.PackageKeyword=119]=\"PackageKeyword\",e[e.PrivateKeyword=120]=\"PrivateKeyword\",e[e.ProtectedKeyword=121]=\"ProtectedKeyword\",e[e.PublicKeyword=122]=\"PublicKeyword\",e[e.StaticKeyword=123]=\"StaticKeyword\",e[e.YieldKeyword=124]=\"YieldKeyword\",e[e.AbstractKeyword=125]=\"AbstractKeyword\",e[e.AsKeyword=126]=\"AsKeyword\",e[e.AssertsKeyword=127]=\"AssertsKeyword\",e[e.AnyKeyword=128]=\"AnyKeyword\",e[e.AsyncKeyword=129]=\"AsyncKeyword\",e[e.AwaitKeyword=130]=\"AwaitKeyword\",e[e.BooleanKeyword=131]=\"BooleanKeyword\",e[e.ConstructorKeyword=132]=\"ConstructorKeyword\",e[e.DeclareKeyword=133]=\"DeclareKeyword\",e[e.GetKeyword=134]=\"GetKeyword\",e[e.InferKeyword=135]=\"InferKeyword\",e[e.IntrinsicKeyword=136]=\"IntrinsicKeyword\",e[e.IsKeyword=137]=\"IsKeyword\",e[e.KeyOfKeyword=138]=\"KeyOfKeyword\",e[e.ModuleKeyword=139]=\"ModuleKeyword\",e[e.NamespaceKeyword=140]=\"NamespaceKeyword\",e[e.NeverKeyword=141]=\"NeverKeyword\",e[e.ReadonlyKeyword=142]=\"ReadonlyKeyword\",e[e.RequireKeyword=143]=\"RequireKeyword\",e[e.NumberKeyword=144]=\"NumberKeyword\",e[e.ObjectKeyword=145]=\"ObjectKeyword\",e[e.SetKeyword=146]=\"SetKeyword\",e[e.StringKeyword=147]=\"StringKeyword\",e[e.SymbolKeyword=148]=\"SymbolKeyword\",e[e.TypeKeyword=149]=\"TypeKeyword\",e[e.UndefinedKeyword=150]=\"UndefinedKeyword\",e[e.UniqueKeyword=151]=\"UniqueKeyword\",e[e.UnknownKeyword=152]=\"UnknownKeyword\",e[e.FromKeyword=153]=\"FromKeyword\",e[e.GlobalKeyword=154]=\"GlobalKeyword\",e[e.BigIntKeyword=155]=\"BigIntKeyword\",e[e.OfKeyword=156]=\"OfKeyword\",e[e.QualifiedName=157]=\"QualifiedName\",e[e.ComputedPropertyName=158]=\"ComputedPropertyName\",e[e.TypeParameter=159]=\"TypeParameter\",e[e.Parameter=160]=\"Parameter\",e[e.Decorator=161]=\"Decorator\",e[e.PropertySignature=162]=\"PropertySignature\",e[e.PropertyDeclaration=163]=\"PropertyDeclaration\",e[e.MethodSignature=164]=\"MethodSignature\",e[e.MethodDeclaration=165]=\"MethodDeclaration\",e[e.Constructor=166]=\"Constructor\",e[e.GetAccessor=167]=\"GetAccessor\",e[e.SetAccessor=168]=\"SetAccessor\",e[e.CallSignature=169]=\"CallSignature\",e[e.ConstructSignature=170]=\"ConstructSignature\",e[e.IndexSignature=171]=\"IndexSignature\",e[e.TypePredicate=172]=\"TypePredicate\",e[e.TypeReference=173]=\"TypeReference\",e[e.FunctionType=174]=\"FunctionType\",e[e.ConstructorType=175]=\"ConstructorType\",e[e.TypeQuery=176]=\"TypeQuery\",e[e.TypeLiteral=177]=\"TypeLiteral\",e[e.ArrayType=178]=\"ArrayType\",e[e.TupleType=179]=\"TupleType\",e[e.OptionalType=180]=\"OptionalType\",e[e.RestType=181]=\"RestType\",e[e.UnionType=182]=\"UnionType\",e[e.IntersectionType=183]=\"IntersectionType\",e[e.ConditionalType=184]=\"ConditionalType\",e[e.InferType=185]=\"InferType\",e[e.ParenthesizedType=186]=\"ParenthesizedType\",e[e.ThisType=187]=\"ThisType\",e[e.TypeOperator=188]=\"TypeOperator\",e[e.IndexedAccessType=189]=\"IndexedAccessType\",e[e.MappedType=190]=\"MappedType\",e[e.LiteralType=191]=\"LiteralType\",e[e.NamedTupleMember=192]=\"NamedTupleMember\",e[e.TemplateLiteralType=193]=\"TemplateLiteralType\",e[e.TemplateLiteralTypeSpan=194]=\"TemplateLiteralTypeSpan\",e[e.ImportType=195]=\"ImportType\",e[e.ObjectBindingPattern=196]=\"ObjectBindingPattern\",e[e.ArrayBindingPattern=197]=\"ArrayBindingPattern\",e[e.BindingElement=198]=\"BindingElement\",e[e.ArrayLiteralExpression=199]=\"ArrayLiteralExpression\",e[e.ObjectLiteralExpression=200]=\"ObjectLiteralExpression\",e[e.PropertyAccessExpression=201]=\"PropertyAccessExpression\",e[e.ElementAccessExpression=202]=\"ElementAccessExpression\",e[e.CallExpression=203]=\"CallExpression\",e[e.NewExpression=204]=\"NewExpression\",e[e.TaggedTemplateExpression=205]=\"TaggedTemplateExpression\",e[e.TypeAssertionExpression=206]=\"TypeAssertionExpression\",e[e.ParenthesizedExpression=207]=\"ParenthesizedExpression\",e[e.FunctionExpression=208]=\"FunctionExpression\",e[e.ArrowFunction=209]=\"ArrowFunction\",e[e.DeleteExpression=210]=\"DeleteExpression\",e[e.TypeOfExpression=211]=\"TypeOfExpression\",e[e.VoidExpression=212]=\"VoidExpression\",e[e.AwaitExpression=213]=\"AwaitExpression\",e[e.PrefixUnaryExpression=214]=\"PrefixUnaryExpression\",e[e.PostfixUnaryExpression=215]=\"PostfixUnaryExpression\",e[e.BinaryExpression=216]=\"BinaryExpression\",e[e.ConditionalExpression=217]=\"ConditionalExpression\",e[e.TemplateExpression=218]=\"TemplateExpression\",e[e.YieldExpression=219]=\"YieldExpression\",e[e.SpreadElement=220]=\"SpreadElement\",e[e.ClassExpression=221]=\"ClassExpression\",e[e.OmittedExpression=222]=\"OmittedExpression\",e[e.ExpressionWithTypeArguments=223]=\"ExpressionWithTypeArguments\",e[e.AsExpression=224]=\"AsExpression\",e[e.NonNullExpression=225]=\"NonNullExpression\",e[e.MetaProperty=226]=\"MetaProperty\",e[e.SyntheticExpression=227]=\"SyntheticExpression\",e[e.TemplateSpan=228]=\"TemplateSpan\",e[e.SemicolonClassElement=229]=\"SemicolonClassElement\",e[e.Block=230]=\"Block\",e[e.EmptyStatement=231]=\"EmptyStatement\",e[e.VariableStatement=232]=\"VariableStatement\",e[e.ExpressionStatement=233]=\"ExpressionStatement\",e[e.IfStatement=234]=\"IfStatement\",e[e.DoStatement=235]=\"DoStatement\",e[e.WhileStatement=236]=\"WhileStatement\",e[e.ForStatement=237]=\"ForStatement\",e[e.ForInStatement=238]=\"ForInStatement\",e[e.ForOfStatement=239]=\"ForOfStatement\",e[e.ContinueStatement=240]=\"ContinueStatement\",e[e.BreakStatement=241]=\"BreakStatement\",e[e.ReturnStatement=242]=\"ReturnStatement\",e[e.WithStatement=243]=\"WithStatement\",e[e.SwitchStatement=244]=\"SwitchStatement\",e[e.LabeledStatement=245]=\"LabeledStatement\",e[e.ThrowStatement=246]=\"ThrowStatement\",e[e.TryStatement=247]=\"TryStatement\",e[e.DebuggerStatement=248]=\"DebuggerStatement\",e[e.VariableDeclaration=249]=\"VariableDeclaration\",e[e.VariableDeclarationList=250]=\"VariableDeclarationList\",e[e.FunctionDeclaration=251]=\"FunctionDeclaration\",e[e.ClassDeclaration=252]=\"ClassDeclaration\",e[e.InterfaceDeclaration=253]=\"InterfaceDeclaration\",e[e.TypeAliasDeclaration=254]=\"TypeAliasDeclaration\",e[e.EnumDeclaration=255]=\"EnumDeclaration\",e[e.ModuleDeclaration=256]=\"ModuleDeclaration\",e[e.ModuleBlock=257]=\"ModuleBlock\",e[e.CaseBlock=258]=\"CaseBlock\",e[e.NamespaceExportDeclaration=259]=\"NamespaceExportDeclaration\",e[e.ImportEqualsDeclaration=260]=\"ImportEqualsDeclaration\",e[e.ImportDeclaration=261]=\"ImportDeclaration\",e[e.ImportClause=262]=\"ImportClause\",e[e.NamespaceImport=263]=\"NamespaceImport\",e[e.NamedImports=264]=\"NamedImports\",e[e.ImportSpecifier=265]=\"ImportSpecifier\",e[e.ExportAssignment=266]=\"ExportAssignment\",e[e.ExportDeclaration=267]=\"ExportDeclaration\",e[e.NamedExports=268]=\"NamedExports\",e[e.NamespaceExport=269]=\"NamespaceExport\",e[e.ExportSpecifier=270]=\"ExportSpecifier\",e[e.MissingDeclaration=271]=\"MissingDeclaration\",e[e.ExternalModuleReference=272]=\"ExternalModuleReference\",e[e.JsxElement=273]=\"JsxElement\",e[e.JsxSelfClosingElement=274]=\"JsxSelfClosingElement\",e[e.JsxOpeningElement=275]=\"JsxOpeningElement\",e[e.JsxClosingElement=276]=\"JsxClosingElement\",e[e.JsxFragment=277]=\"JsxFragment\",e[e.JsxOpeningFragment=278]=\"JsxOpeningFragment\",e[e.JsxClosingFragment=279]=\"JsxClosingFragment\",e[e.JsxAttribute=280]=\"JsxAttribute\",e[e.JsxAttributes=281]=\"JsxAttributes\",e[e.JsxSpreadAttribute=282]=\"JsxSpreadAttribute\",e[e.JsxExpression=283]=\"JsxExpression\",e[e.CaseClause=284]=\"CaseClause\",e[e.DefaultClause=285]=\"DefaultClause\",e[e.HeritageClause=286]=\"HeritageClause\",e[e.CatchClause=287]=\"CatchClause\",e[e.PropertyAssignment=288]=\"PropertyAssignment\",e[e.ShorthandPropertyAssignment=289]=\"ShorthandPropertyAssignment\",e[e.SpreadAssignment=290]=\"SpreadAssignment\",e[e.EnumMember=291]=\"EnumMember\",e[e.UnparsedPrologue=292]=\"UnparsedPrologue\",e[e.UnparsedPrepend=293]=\"UnparsedPrepend\",e[e.UnparsedText=294]=\"UnparsedText\",e[e.UnparsedInternalText=295]=\"UnparsedInternalText\",e[e.UnparsedSyntheticReference=296]=\"UnparsedSyntheticReference\",e[e.SourceFile=297]=\"SourceFile\",e[e.Bundle=298]=\"Bundle\",e[e.UnparsedSource=299]=\"UnparsedSource\",e[e.InputFiles=300]=\"InputFiles\",e[e.JSDocTypeExpression=301]=\"JSDocTypeExpression\",e[e.JSDocNameReference=302]=\"JSDocNameReference\",e[e.JSDocAllType=303]=\"JSDocAllType\",e[e.JSDocUnknownType=304]=\"JSDocUnknownType\",e[e.JSDocNullableType=305]=\"JSDocNullableType\",e[e.JSDocNonNullableType=306]=\"JSDocNonNullableType\",e[e.JSDocOptionalType=307]=\"JSDocOptionalType\",e[e.JSDocFunctionType=308]=\"JSDocFunctionType\",e[e.JSDocVariadicType=309]=\"JSDocVariadicType\",e[e.JSDocNamepathType=310]=\"JSDocNamepathType\",e[e.JSDocComment=311]=\"JSDocComment\",e[e.JSDocTypeLiteral=312]=\"JSDocTypeLiteral\",e[e.JSDocSignature=313]=\"JSDocSignature\",e[e.JSDocTag=314]=\"JSDocTag\",e[e.JSDocAugmentsTag=315]=\"JSDocAugmentsTag\",e[e.JSDocImplementsTag=316]=\"JSDocImplementsTag\",e[e.JSDocAuthorTag=317]=\"JSDocAuthorTag\",e[e.JSDocDeprecatedTag=318]=\"JSDocDeprecatedTag\",e[e.JSDocClassTag=319]=\"JSDocClassTag\",e[e.JSDocPublicTag=320]=\"JSDocPublicTag\",e[e.JSDocPrivateTag=321]=\"JSDocPrivateTag\",e[e.JSDocProtectedTag=322]=\"JSDocProtectedTag\",e[e.JSDocReadonlyTag=323]=\"JSDocReadonlyTag\",e[e.JSDocCallbackTag=324]=\"JSDocCallbackTag\",e[e.JSDocEnumTag=325]=\"JSDocEnumTag\",e[e.JSDocParameterTag=326]=\"JSDocParameterTag\",e[e.JSDocReturnTag=327]=\"JSDocReturnTag\",e[e.JSDocThisTag=328]=\"JSDocThisTag\",e[e.JSDocTypeTag=329]=\"JSDocTypeTag\",e[e.JSDocTemplateTag=330]=\"JSDocTemplateTag\",e[e.JSDocTypedefTag=331]=\"JSDocTypedefTag\",e[e.JSDocSeeTag=332]=\"JSDocSeeTag\",e[e.JSDocPropertyTag=333]=\"JSDocPropertyTag\",e[e.SyntaxList=334]=\"SyntaxList\",e[e.NotEmittedStatement=335]=\"NotEmittedStatement\",e[e.PartiallyEmittedExpression=336]=\"PartiallyEmittedExpression\",e[e.CommaListExpression=337]=\"CommaListExpression\",e[e.MergeDeclarationMarker=338]=\"MergeDeclarationMarker\",e[e.EndOfDeclarationMarker=339]=\"EndOfDeclarationMarker\",e[e.SyntheticReferenceExpression=340]=\"SyntheticReferenceExpression\",e[e.Count=341]=\"Count\",e[e.FirstAssignment=62]=\"FirstAssignment\",e[e.LastAssignment=77]=\"LastAssignment\",e[e.FirstCompoundAssignment=63]=\"FirstCompoundAssignment\",e[e.LastCompoundAssignment=77]=\"LastCompoundAssignment\",e[e.FirstReservedWord=80]=\"FirstReservedWord\",e[e.LastReservedWord=115]=\"LastReservedWord\",e[e.FirstKeyword=80]=\"FirstKeyword\",e[e.LastKeyword=156]=\"LastKeyword\",e[e.FirstFutureReservedWord=116]=\"FirstFutureReservedWord\",e[e.LastFutureReservedWord=124]=\"LastFutureReservedWord\",e[e.FirstTypeNode=172]=\"FirstTypeNode\",e[e.LastTypeNode=195]=\"LastTypeNode\",e[e.FirstPunctuation=18]=\"FirstPunctuation\",e[e.LastPunctuation=77]=\"LastPunctuation\",e[e.FirstToken=0]=\"FirstToken\",e[e.LastToken=156]=\"LastToken\",e[e.FirstTriviaToken=2]=\"FirstTriviaToken\",e[e.LastTriviaToken=7]=\"LastTriviaToken\",e[e.FirstLiteralToken=8]=\"FirstLiteralToken\",e[e.LastLiteralToken=14]=\"LastLiteralToken\",e[e.FirstTemplateToken=14]=\"FirstTemplateToken\",e[e.LastTemplateToken=17]=\"LastTemplateToken\",e[e.FirstBinaryOperator=29]=\"FirstBinaryOperator\",e[e.LastBinaryOperator=77]=\"LastBinaryOperator\",e[e.FirstStatement=232]=\"FirstStatement\",e[e.LastStatement=248]=\"LastStatement\",e[e.FirstNode=157]=\"FirstNode\",e[e.FirstJSDocNode=301]=\"FirstJSDocNode\",e[e.LastJSDocNode=333]=\"LastJSDocNode\",e[e.FirstJSDocTagNode=314]=\"FirstJSDocTagNode\",e[e.LastJSDocTagNode=333]=\"LastJSDocTagNode\",e[e.FirstContextualKeyword=125]=\"FirstContextualKeyword\",e[e.LastContextualKeyword=156]=\"LastContextualKeyword\"}(e.SyntaxKind||(e.SyntaxKind={})),function(e){e[e.None=0]=\"None\",e[e.Let=1]=\"Let\",e[e.Const=2]=\"Const\",e[e.NestedNamespace=4]=\"NestedNamespace\",e[e.Synthesized=8]=\"Synthesized\",e[e.Namespace=16]=\"Namespace\",e[e.OptionalChain=32]=\"OptionalChain\",e[e.ExportContext=64]=\"ExportContext\",e[e.ContainsThis=128]=\"ContainsThis\",e[e.HasImplicitReturn=256]=\"HasImplicitReturn\",e[e.HasExplicitReturn=512]=\"HasExplicitReturn\",e[e.GlobalAugmentation=1024]=\"GlobalAugmentation\",e[e.HasAsyncFunctions=2048]=\"HasAsyncFunctions\",e[e.DisallowInContext=4096]=\"DisallowInContext\",e[e.YieldContext=8192]=\"YieldContext\",e[e.DecoratorContext=16384]=\"DecoratorContext\",e[e.AwaitContext=32768]=\"AwaitContext\",e[e.ThisNodeHasError=65536]=\"ThisNodeHasError\",e[e.JavaScriptFile=131072]=\"JavaScriptFile\",e[e.ThisNodeOrAnySubNodesHasError=262144]=\"ThisNodeOrAnySubNodesHasError\",e[e.HasAggregatedChildData=524288]=\"HasAggregatedChildData\",e[e.PossiblyContainsDynamicImport=1048576]=\"PossiblyContainsDynamicImport\",e[e.PossiblyContainsImportMeta=2097152]=\"PossiblyContainsImportMeta\",e[e.JSDoc=4194304]=\"JSDoc\",e[e.Ambient=8388608]=\"Ambient\",e[e.InWithStatement=16777216]=\"InWithStatement\",e[e.JsonFile=33554432]=\"JsonFile\",e[e.TypeCached=67108864]=\"TypeCached\",e[e.Deprecated=134217728]=\"Deprecated\",e[e.BlockScoped=3]=\"BlockScoped\",e[e.ReachabilityCheckFlags=768]=\"ReachabilityCheckFlags\",e[e.ReachabilityAndEmitFlags=2816]=\"ReachabilityAndEmitFlags\",e[e.ContextFlags=25358336]=\"ContextFlags\",e[e.TypeExcludesFlags=40960]=\"TypeExcludesFlags\",e[e.PermanentlySetIncrementalFlags=3145728]=\"PermanentlySetIncrementalFlags\"}(e.NodeFlags||(e.NodeFlags={})),function(e){e[e.None=0]=\"None\",e[e.Export=1]=\"Export\",e[e.Ambient=2]=\"Ambient\",e[e.Public=4]=\"Public\",e[e.Private=8]=\"Private\",e[e.Protected=16]=\"Protected\",e[e.Static=32]=\"Static\",e[e.Readonly=64]=\"Readonly\",e[e.Abstract=128]=\"Abstract\",e[e.Async=256]=\"Async\",e[e.Default=512]=\"Default\",e[e.Const=2048]=\"Const\",e[e.HasComputedJSDocModifiers=4096]=\"HasComputedJSDocModifiers\",e[e.Deprecated=8192]=\"Deprecated\",e[e.HasComputedFlags=536870912]=\"HasComputedFlags\",e[e.AccessibilityModifier=28]=\"AccessibilityModifier\",e[e.ParameterPropertyModifier=92]=\"ParameterPropertyModifier\",e[e.NonPublicAccessibilityModifier=24]=\"NonPublicAccessibilityModifier\",e[e.TypeScriptModifier=2270]=\"TypeScriptModifier\",e[e.ExportDefault=513]=\"ExportDefault\",e[e.All=11263]=\"All\"}(e.ModifierFlags||(e.ModifierFlags={})),function(e){e[e.None=0]=\"None\",e[e.IntrinsicNamedElement=1]=\"IntrinsicNamedElement\",e[e.IntrinsicIndexedElement=2]=\"IntrinsicIndexedElement\",e[e.IntrinsicElement=3]=\"IntrinsicElement\"}(e.JsxFlags||(e.JsxFlags={})),function(e){e[e.Succeeded=1]=\"Succeeded\",e[e.Failed=2]=\"Failed\",e[e.Reported=4]=\"Reported\",e[e.ReportsUnmeasurable=8]=\"ReportsUnmeasurable\",e[e.ReportsUnreliable=16]=\"ReportsUnreliable\",e[e.ReportsMask=24]=\"ReportsMask\"}(e.RelationComparisonResult||(e.RelationComparisonResult={})),function(e){e[e.None=0]=\"None\",e[e.Auto=1]=\"Auto\",e[e.Loop=2]=\"Loop\",e[e.Unique=3]=\"Unique\",e[e.Node=4]=\"Node\",e[e.KindMask=7]=\"KindMask\",e[e.ReservedInNestedScopes=8]=\"ReservedInNestedScopes\",e[e.Optimistic=16]=\"Optimistic\",e[e.FileLevel=32]=\"FileLevel\",e[e.AllowNameSubstitution=64]=\"AllowNameSubstitution\"}(e.GeneratedIdentifierFlags||(e.GeneratedIdentifierFlags={})),function(e){e[e.None=0]=\"None\",e[e.PrecedingLineBreak=1]=\"PrecedingLineBreak\",e[e.PrecedingJSDocComment=2]=\"PrecedingJSDocComment\",e[e.Unterminated=4]=\"Unterminated\",e[e.ExtendedUnicodeEscape=8]=\"ExtendedUnicodeEscape\",e[e.Scientific=16]=\"Scientific\",e[e.Octal=32]=\"Octal\",e[e.HexSpecifier=64]=\"HexSpecifier\",e[e.BinarySpecifier=128]=\"BinarySpecifier\",e[e.OctalSpecifier=256]=\"OctalSpecifier\",e[e.ContainsSeparator=512]=\"ContainsSeparator\",e[e.UnicodeEscape=1024]=\"UnicodeEscape\",e[e.ContainsInvalidEscape=2048]=\"ContainsInvalidEscape\",e[e.BinaryOrOctalSpecifier=384]=\"BinaryOrOctalSpecifier\",e[e.NumericLiteralFlags=1008]=\"NumericLiteralFlags\",e[e.TemplateLiteralLikeFlags=2048]=\"TemplateLiteralLikeFlags\"}(e.TokenFlags||(e.TokenFlags={})),function(e){e[e.Unreachable=1]=\"Unreachable\",e[e.Start=2]=\"Start\",e[e.BranchLabel=4]=\"BranchLabel\",e[e.LoopLabel=8]=\"LoopLabel\",e[e.Assignment=16]=\"Assignment\",e[e.TrueCondition=32]=\"TrueCondition\",e[e.FalseCondition=64]=\"FalseCondition\",e[e.SwitchClause=128]=\"SwitchClause\",e[e.ArrayMutation=256]=\"ArrayMutation\",e[e.Call=512]=\"Call\",e[e.ReduceLabel=1024]=\"ReduceLabel\",e[e.Referenced=2048]=\"Referenced\",e[e.Shared=4096]=\"Shared\",e[e.Label=12]=\"Label\",e[e.Condition=96]=\"Condition\"}(e.FlowFlags||(e.FlowFlags={})),function(e){e[e.ExpectError=0]=\"ExpectError\",e[e.Ignore=1]=\"Ignore\"}(e.CommentDirectiveType||(e.CommentDirectiveType={}));var t,r=function(){};e.OperationCanceledException=r,function(e){e[e.Import=0]=\"Import\",e[e.ReferenceFile=1]=\"ReferenceFile\",e[e.TypeReferenceDirective=2]=\"TypeReferenceDirective\"}(e.RefFileKind||(e.RefFileKind={})),function(e){e[e.Not=0]=\"Not\",e[e.SafeModules=1]=\"SafeModules\",e[e.Completely=2]=\"Completely\"}(e.StructureIsReused||(e.StructureIsReused={})),function(e){e[e.Success=0]=\"Success\",e[e.DiagnosticsPresent_OutputsSkipped=1]=\"DiagnosticsPresent_OutputsSkipped\",e[e.DiagnosticsPresent_OutputsGenerated=2]=\"DiagnosticsPresent_OutputsGenerated\",e[e.InvalidProject_OutputsSkipped=3]=\"InvalidProject_OutputsSkipped\",e[e.ProjectReferenceCycle_OutputsSkipped=4]=\"ProjectReferenceCycle_OutputsSkipped\",e[e.ProjectReferenceCycle_OutputsSkupped=4]=\"ProjectReferenceCycle_OutputsSkupped\"}(e.ExitStatus||(e.ExitStatus={})),function(e){e[e.None=0]=\"None\",e[e.Literal=1]=\"Literal\",e[e.Subtype=2]=\"Subtype\"}(e.UnionReduction||(e.UnionReduction={})),function(e){e[e.None=0]=\"None\",e[e.Signature=1]=\"Signature\",e[e.NoConstraints=2]=\"NoConstraints\",e[e.Completions=4]=\"Completions\",e[e.SkipBindingPatterns=8]=\"SkipBindingPatterns\"}(e.ContextFlags||(e.ContextFlags={})),function(e){e[e.None=0]=\"None\",e[e.NoTruncation=1]=\"NoTruncation\",e[e.WriteArrayAsGenericType=2]=\"WriteArrayAsGenericType\",e[e.GenerateNamesForShadowedTypeParams=4]=\"GenerateNamesForShadowedTypeParams\",e[e.UseStructuralFallback=8]=\"UseStructuralFallback\",e[e.ForbidIndexedAccessSymbolReferences=16]=\"ForbidIndexedAccessSymbolReferences\",e[e.WriteTypeArgumentsOfSignature=32]=\"WriteTypeArgumentsOfSignature\",e[e.UseFullyQualifiedType=64]=\"UseFullyQualifiedType\",e[e.UseOnlyExternalAliasing=128]=\"UseOnlyExternalAliasing\",e[e.SuppressAnyReturnType=256]=\"SuppressAnyReturnType\",e[e.WriteTypeParametersInQualifiedName=512]=\"WriteTypeParametersInQualifiedName\",e[e.MultilineObjectLiterals=1024]=\"MultilineObjectLiterals\",e[e.WriteClassExpressionAsTypeLiteral=2048]=\"WriteClassExpressionAsTypeLiteral\",e[e.UseTypeOfFunction=4096]=\"UseTypeOfFunction\",e[e.OmitParameterModifiers=8192]=\"OmitParameterModifiers\",e[e.UseAliasDefinedOutsideCurrentScope=16384]=\"UseAliasDefinedOutsideCurrentScope\",e[e.UseSingleQuotesForStringLiteralType=268435456]=\"UseSingleQuotesForStringLiteralType\",e[e.NoTypeReduction=536870912]=\"NoTypeReduction\",e[e.NoUndefinedOptionalParameterType=1073741824]=\"NoUndefinedOptionalParameterType\",e[e.AllowThisInObjectLiteral=32768]=\"AllowThisInObjectLiteral\",e[e.AllowQualifedNameInPlaceOfIdentifier=65536]=\"AllowQualifedNameInPlaceOfIdentifier\",e[e.AllowAnonymousIdentifier=131072]=\"AllowAnonymousIdentifier\",e[e.AllowEmptyUnionOrIntersection=262144]=\"AllowEmptyUnionOrIntersection\",e[e.AllowEmptyTuple=524288]=\"AllowEmptyTuple\",e[e.AllowUniqueESSymbolType=1048576]=\"AllowUniqueESSymbolType\",e[e.AllowEmptyIndexInfoType=2097152]=\"AllowEmptyIndexInfoType\",e[e.AllowNodeModulesRelativePaths=67108864]=\"AllowNodeModulesRelativePaths\",e[e.DoNotIncludeSymbolChain=134217728]=\"DoNotIncludeSymbolChain\",e[e.IgnoreErrors=70221824]=\"IgnoreErrors\",e[e.InObjectTypeLiteral=4194304]=\"InObjectTypeLiteral\",e[e.InTypeAlias=8388608]=\"InTypeAlias\",e[e.InInitialEntityName=16777216]=\"InInitialEntityName\",e[e.InReverseMappedType=33554432]=\"InReverseMappedType\"}(e.NodeBuilderFlags||(e.NodeBuilderFlags={})),function(e){e[e.None=0]=\"None\",e[e.NoTruncation=1]=\"NoTruncation\",e[e.WriteArrayAsGenericType=2]=\"WriteArrayAsGenericType\",e[e.UseStructuralFallback=8]=\"UseStructuralFallback\",e[e.WriteTypeArgumentsOfSignature=32]=\"WriteTypeArgumentsOfSignature\",e[e.UseFullyQualifiedType=64]=\"UseFullyQualifiedType\",e[e.SuppressAnyReturnType=256]=\"SuppressAnyReturnType\",e[e.MultilineObjectLiterals=1024]=\"MultilineObjectLiterals\",e[e.WriteClassExpressionAsTypeLiteral=2048]=\"WriteClassExpressionAsTypeLiteral\",e[e.UseTypeOfFunction=4096]=\"UseTypeOfFunction\",e[e.OmitParameterModifiers=8192]=\"OmitParameterModifiers\",e[e.UseAliasDefinedOutsideCurrentScope=16384]=\"UseAliasDefinedOutsideCurrentScope\",e[e.UseSingleQuotesForStringLiteralType=268435456]=\"UseSingleQuotesForStringLiteralType\",e[e.NoTypeReduction=536870912]=\"NoTypeReduction\",e[e.AllowUniqueESSymbolType=1048576]=\"AllowUniqueESSymbolType\",e[e.AddUndefined=131072]=\"AddUndefined\",e[e.WriteArrowStyleSignature=262144]=\"WriteArrowStyleSignature\",e[e.InArrayType=524288]=\"InArrayType\",e[e.InElementType=2097152]=\"InElementType\",e[e.InFirstTypeArgument=4194304]=\"InFirstTypeArgument\",e[e.InTypeAlias=8388608]=\"InTypeAlias\",e[e.WriteOwnNameForAnyLike=0]=\"WriteOwnNameForAnyLike\",e[e.NodeBuilderFlagsMask=814775659]=\"NodeBuilderFlagsMask\"}(e.TypeFormatFlags||(e.TypeFormatFlags={})),function(e){e[e.None=0]=\"None\",e[e.WriteTypeParametersOrArguments=1]=\"WriteTypeParametersOrArguments\",e[e.UseOnlyExternalAliasing=2]=\"UseOnlyExternalAliasing\",e[e.AllowAnyNodeKind=4]=\"AllowAnyNodeKind\",e[e.UseAliasDefinedOutsideCurrentScope=8]=\"UseAliasDefinedOutsideCurrentScope\",e[e.DoNotIncludeSymbolChain=16]=\"DoNotIncludeSymbolChain\"}(e.SymbolFormatFlags||(e.SymbolFormatFlags={})),function(e){e[e.Accessible=0]=\"Accessible\",e[e.NotAccessible=1]=\"NotAccessible\",e[e.CannotBeNamed=2]=\"CannotBeNamed\"}(e.SymbolAccessibility||(e.SymbolAccessibility={})),function(e){e[e.UnionOrIntersection=0]=\"UnionOrIntersection\",e[e.Spread=1]=\"Spread\"}(e.SyntheticSymbolKind||(e.SyntheticSymbolKind={})),function(e){e[e.This=0]=\"This\",e[e.Identifier=1]=\"Identifier\",e[e.AssertsThis=2]=\"AssertsThis\",e[e.AssertsIdentifier=3]=\"AssertsIdentifier\"}(e.TypePredicateKind||(e.TypePredicateKind={})),function(e){e[e.Unknown=0]=\"Unknown\",e[e.TypeWithConstructSignatureAndValue=1]=\"TypeWithConstructSignatureAndValue\",e[e.VoidNullableOrNeverType=2]=\"VoidNullableOrNeverType\",e[e.NumberLikeType=3]=\"NumberLikeType\",e[e.BigIntLikeType=4]=\"BigIntLikeType\",e[e.StringLikeType=5]=\"StringLikeType\",e[e.BooleanType=6]=\"BooleanType\",e[e.ArrayLikeType=7]=\"ArrayLikeType\",e[e.ESSymbolType=8]=\"ESSymbolType\",e[e.Promise=9]=\"Promise\",e[e.TypeWithCallSignature=10]=\"TypeWithCallSignature\",e[e.ObjectType=11]=\"ObjectType\"}(e.TypeReferenceSerializationKind||(e.TypeReferenceSerializationKind={})),function(e){e[e.None=0]=\"None\",e[e.FunctionScopedVariable=1]=\"FunctionScopedVariable\",e[e.BlockScopedVariable=2]=\"BlockScopedVariable\",e[e.Property=4]=\"Property\",e[e.EnumMember=8]=\"EnumMember\",e[e.Function=16]=\"Function\",e[e.Class=32]=\"Class\",e[e.Interface=64]=\"Interface\",e[e.ConstEnum=128]=\"ConstEnum\",e[e.RegularEnum=256]=\"RegularEnum\",e[e.ValueModule=512]=\"ValueModule\",e[e.NamespaceModule=1024]=\"NamespaceModule\",e[e.TypeLiteral=2048]=\"TypeLiteral\",e[e.ObjectLiteral=4096]=\"ObjectLiteral\",e[e.Method=8192]=\"Method\",e[e.Constructor=16384]=\"Constructor\",e[e.GetAccessor=32768]=\"GetAccessor\",e[e.SetAccessor=65536]=\"SetAccessor\",e[e.Signature=131072]=\"Signature\",e[e.TypeParameter=262144]=\"TypeParameter\",e[e.TypeAlias=524288]=\"TypeAlias\",e[e.ExportValue=1048576]=\"ExportValue\",e[e.Alias=2097152]=\"Alias\",e[e.Prototype=4194304]=\"Prototype\",e[e.ExportStar=8388608]=\"ExportStar\",e[e.Optional=16777216]=\"Optional\",e[e.Transient=33554432]=\"Transient\",e[e.Assignment=67108864]=\"Assignment\",e[e.ModuleExports=134217728]=\"ModuleExports\",e[e.All=67108863]=\"All\",e[e.Enum=384]=\"Enum\",e[e.Variable=3]=\"Variable\",e[e.Value=111551]=\"Value\",e[e.Type=788968]=\"Type\",e[e.Namespace=1920]=\"Namespace\",e[e.Module=1536]=\"Module\",e[e.Accessor=98304]=\"Accessor\",e[e.FunctionScopedVariableExcludes=111550]=\"FunctionScopedVariableExcludes\",e[e.BlockScopedVariableExcludes=111551]=\"BlockScopedVariableExcludes\",e[e.ParameterExcludes=111551]=\"ParameterExcludes\",e[e.PropertyExcludes=0]=\"PropertyExcludes\",e[e.EnumMemberExcludes=900095]=\"EnumMemberExcludes\",e[e.FunctionExcludes=110991]=\"FunctionExcludes\",e[e.ClassExcludes=899503]=\"ClassExcludes\",e[e.InterfaceExcludes=788872]=\"InterfaceExcludes\",e[e.RegularEnumExcludes=899327]=\"RegularEnumExcludes\",e[e.ConstEnumExcludes=899967]=\"ConstEnumExcludes\",e[e.ValueModuleExcludes=110735]=\"ValueModuleExcludes\",e[e.NamespaceModuleExcludes=0]=\"NamespaceModuleExcludes\",e[e.MethodExcludes=103359]=\"MethodExcludes\",e[e.GetAccessorExcludes=46015]=\"GetAccessorExcludes\",e[e.SetAccessorExcludes=78783]=\"SetAccessorExcludes\",e[e.TypeParameterExcludes=526824]=\"TypeParameterExcludes\",e[e.TypeAliasExcludes=788968]=\"TypeAliasExcludes\",e[e.AliasExcludes=2097152]=\"AliasExcludes\",e[e.ModuleMember=2623475]=\"ModuleMember\",e[e.ExportHasLocal=944]=\"ExportHasLocal\",e[e.BlockScoped=418]=\"BlockScoped\",e[e.PropertyOrAccessor=98308]=\"PropertyOrAccessor\",e[e.ClassMember=106500]=\"ClassMember\",e[e.ExportSupportsDefaultModifier=112]=\"ExportSupportsDefaultModifier\",e[e.ExportDoesNotSupportDefaultModifier=-113]=\"ExportDoesNotSupportDefaultModifier\",e[e.Classifiable=2885600]=\"Classifiable\",e[e.LateBindingContainer=6256]=\"LateBindingContainer\"}(e.SymbolFlags||(e.SymbolFlags={})),function(e){e[e.Numeric=0]=\"Numeric\",e[e.Literal=1]=\"Literal\"}(e.EnumKind||(e.EnumKind={})),function(e){e[e.Instantiated=1]=\"Instantiated\",e[e.SyntheticProperty=2]=\"SyntheticProperty\",e[e.SyntheticMethod=4]=\"SyntheticMethod\",e[e.Readonly=8]=\"Readonly\",e[e.ReadPartial=16]=\"ReadPartial\",e[e.WritePartial=32]=\"WritePartial\",e[e.HasNonUniformType=64]=\"HasNonUniformType\",e[e.HasLiteralType=128]=\"HasLiteralType\",e[e.ContainsPublic=256]=\"ContainsPublic\",e[e.ContainsProtected=512]=\"ContainsProtected\",e[e.ContainsPrivate=1024]=\"ContainsPrivate\",e[e.ContainsStatic=2048]=\"ContainsStatic\",e[e.Late=4096]=\"Late\",e[e.ReverseMapped=8192]=\"ReverseMapped\",e[e.OptionalParameter=16384]=\"OptionalParameter\",e[e.RestParameter=32768]=\"RestParameter\",e[e.DeferredType=65536]=\"DeferredType\",e[e.HasNeverType=131072]=\"HasNeverType\",e[e.Mapped=262144]=\"Mapped\",e[e.StripOptional=524288]=\"StripOptional\",e[e.Synthetic=6]=\"Synthetic\",e[e.Discriminant=192]=\"Discriminant\",e[e.Partial=48]=\"Partial\"}(e.CheckFlags||(e.CheckFlags={})),function(e){e.Call=\"__call\",e.Constructor=\"__constructor\",e.New=\"__new\",e.Index=\"__index\",e.ExportStar=\"__export\",e.Global=\"__global\",e.Missing=\"__missing\",e.Type=\"__type\",e.Object=\"__object\",e.JSXAttributes=\"__jsxAttributes\",e.Class=\"__class\",e.Function=\"__function\",e.Computed=\"__computed\",e.Resolving=\"__resolving__\",e.ExportEquals=\"export=\",e.Default=\"default\",e.This=\"this\"}(e.InternalSymbolName||(e.InternalSymbolName={})),function(e){e[e.TypeChecked=1]=\"TypeChecked\",e[e.LexicalThis=2]=\"LexicalThis\",e[e.CaptureThis=4]=\"CaptureThis\",e[e.CaptureNewTarget=8]=\"CaptureNewTarget\",e[e.SuperInstance=256]=\"SuperInstance\",e[e.SuperStatic=512]=\"SuperStatic\",e[e.ContextChecked=1024]=\"ContextChecked\",e[e.AsyncMethodWithSuper=2048]=\"AsyncMethodWithSuper\",e[e.AsyncMethodWithSuperBinding=4096]=\"AsyncMethodWithSuperBinding\",e[e.CaptureArguments=8192]=\"CaptureArguments\",e[e.EnumValuesComputed=16384]=\"EnumValuesComputed\",e[e.LexicalModuleMergesWithClass=32768]=\"LexicalModuleMergesWithClass\",e[e.LoopWithCapturedBlockScopedBinding=65536]=\"LoopWithCapturedBlockScopedBinding\",e[e.ContainsCapturedBlockScopeBinding=131072]=\"ContainsCapturedBlockScopeBinding\",e[e.CapturedBlockScopedBinding=262144]=\"CapturedBlockScopedBinding\",e[e.BlockScopedBindingInLoop=524288]=\"BlockScopedBindingInLoop\",e[e.ClassWithBodyScopedClassBinding=1048576]=\"ClassWithBodyScopedClassBinding\",e[e.BodyScopedClassBinding=2097152]=\"BodyScopedClassBinding\",e[e.NeedsLoopOutParameter=4194304]=\"NeedsLoopOutParameter\",e[e.AssignmentsMarked=8388608]=\"AssignmentsMarked\",e[e.ClassWithConstructorReference=16777216]=\"ClassWithConstructorReference\",e[e.ConstructorReferenceInClass=33554432]=\"ConstructorReferenceInClass\",e[e.ContainsClassWithPrivateIdentifiers=67108864]=\"ContainsClassWithPrivateIdentifiers\"}(e.NodeCheckFlags||(e.NodeCheckFlags={})),function(e){e[e.Any=1]=\"Any\",e[e.Unknown=2]=\"Unknown\",e[e.String=4]=\"String\",e[e.Number=8]=\"Number\",e[e.Boolean=16]=\"Boolean\",e[e.Enum=32]=\"Enum\",e[e.BigInt=64]=\"BigInt\",e[e.StringLiteral=128]=\"StringLiteral\",e[e.NumberLiteral=256]=\"NumberLiteral\",e[e.BooleanLiteral=512]=\"BooleanLiteral\",e[e.EnumLiteral=1024]=\"EnumLiteral\",e[e.BigIntLiteral=2048]=\"BigIntLiteral\",e[e.ESSymbol=4096]=\"ESSymbol\",e[e.UniqueESSymbol=8192]=\"UniqueESSymbol\",e[e.Void=16384]=\"Void\",e[e.Undefined=32768]=\"Undefined\",e[e.Null=65536]=\"Null\",e[e.Never=131072]=\"Never\",e[e.TypeParameter=262144]=\"TypeParameter\",e[e.Object=524288]=\"Object\",e[e.Union=1048576]=\"Union\",e[e.Intersection=2097152]=\"Intersection\",e[e.Index=4194304]=\"Index\",e[e.IndexedAccess=8388608]=\"IndexedAccess\",e[e.Conditional=16777216]=\"Conditional\",e[e.Substitution=33554432]=\"Substitution\",e[e.NonPrimitive=67108864]=\"NonPrimitive\",e[e.TemplateLiteral=134217728]=\"TemplateLiteral\",e[e.StringMapping=268435456]=\"StringMapping\",e[e.AnyOrUnknown=3]=\"AnyOrUnknown\",e[e.Nullable=98304]=\"Nullable\",e[e.Literal=2944]=\"Literal\",e[e.Unit=109440]=\"Unit\",e[e.StringOrNumberLiteral=384]=\"StringOrNumberLiteral\",e[e.StringOrNumberLiteralOrUnique=8576]=\"StringOrNumberLiteralOrUnique\",e[e.DefinitelyFalsy=117632]=\"DefinitelyFalsy\",e[e.PossiblyFalsy=117724]=\"PossiblyFalsy\",e[e.Intrinsic=67359327]=\"Intrinsic\",e[e.Primitive=131068]=\"Primitive\",e[e.StringLike=402653316]=\"StringLike\",e[e.NumberLike=296]=\"NumberLike\",e[e.BigIntLike=2112]=\"BigIntLike\",e[e.BooleanLike=528]=\"BooleanLike\",e[e.EnumLike=1056]=\"EnumLike\",e[e.ESSymbolLike=12288]=\"ESSymbolLike\",e[e.VoidLike=49152]=\"VoidLike\",e[e.DisjointDomains=469892092]=\"DisjointDomains\",e[e.UnionOrIntersection=3145728]=\"UnionOrIntersection\",e[e.StructuredType=3670016]=\"StructuredType\",e[e.TypeVariable=8650752]=\"TypeVariable\",e[e.InstantiableNonPrimitive=58982400]=\"InstantiableNonPrimitive\",e[e.InstantiablePrimitive=406847488]=\"InstantiablePrimitive\",e[e.Instantiable=465829888]=\"Instantiable\",e[e.StructuredOrInstantiable=469499904]=\"StructuredOrInstantiable\",e[e.ObjectFlagsType=3899393]=\"ObjectFlagsType\",e[e.Simplifiable=25165824]=\"Simplifiable\",e[e.Substructure=469237760]=\"Substructure\",e[e.Narrowable=536624127]=\"Narrowable\",e[e.NotPrimitiveUnion=469647395]=\"NotPrimitiveUnion\",e[e.IncludesMask=205258751]=\"IncludesMask\",e[e.IncludesStructuredOrInstantiable=262144]=\"IncludesStructuredOrInstantiable\",e[e.IncludesNonWideningType=4194304]=\"IncludesNonWideningType\",e[e.IncludesWildcard=8388608]=\"IncludesWildcard\",e[e.IncludesEmptyObject=16777216]=\"IncludesEmptyObject\"}(e.TypeFlags||(e.TypeFlags={})),function(e){e[e.Class=1]=\"Class\",e[e.Interface=2]=\"Interface\",e[e.Reference=4]=\"Reference\",e[e.Tuple=8]=\"Tuple\",e[e.Anonymous=16]=\"Anonymous\",e[e.Mapped=32]=\"Mapped\",e[e.Instantiated=64]=\"Instantiated\",e[e.ObjectLiteral=128]=\"ObjectLiteral\",e[e.EvolvingArray=256]=\"EvolvingArray\",e[e.ObjectLiteralPatternWithComputedProperties=512]=\"ObjectLiteralPatternWithComputedProperties\",e[e.ContainsSpread=1024]=\"ContainsSpread\",e[e.ReverseMapped=2048]=\"ReverseMapped\",e[e.JsxAttributes=4096]=\"JsxAttributes\",e[e.MarkerType=8192]=\"MarkerType\",e[e.JSLiteral=16384]=\"JSLiteral\",e[e.FreshLiteral=32768]=\"FreshLiteral\",e[e.ArrayLiteral=65536]=\"ArrayLiteral\",e[e.ObjectRestType=131072]=\"ObjectRestType\",e[e.PrimitiveUnion=262144]=\"PrimitiveUnion\",e[e.ContainsWideningType=524288]=\"ContainsWideningType\",e[e.ContainsObjectOrArrayLiteral=1048576]=\"ContainsObjectOrArrayLiteral\",e[e.NonInferrableType=2097152]=\"NonInferrableType\",e[e.IsGenericObjectTypeComputed=4194304]=\"IsGenericObjectTypeComputed\",e[e.IsGenericObjectType=8388608]=\"IsGenericObjectType\",e[e.IsGenericIndexTypeComputed=16777216]=\"IsGenericIndexTypeComputed\",e[e.IsGenericIndexType=33554432]=\"IsGenericIndexType\",e[e.CouldContainTypeVariablesComputed=67108864]=\"CouldContainTypeVariablesComputed\",e[e.CouldContainTypeVariables=134217728]=\"CouldContainTypeVariables\",e[e.ContainsIntersections=268435456]=\"ContainsIntersections\",e[e.IsNeverIntersectionComputed=268435456]=\"IsNeverIntersectionComputed\",e[e.IsNeverIntersection=536870912]=\"IsNeverIntersection\",e[e.IsClassInstanceClone=1073741824]=\"IsClassInstanceClone\",e[e.ClassOrInterface=3]=\"ClassOrInterface\",e[e.RequiresWidening=1572864]=\"RequiresWidening\",e[e.PropagatingFlags=3670016]=\"PropagatingFlags\",e[e.ObjectTypeKindMask=2367]=\"ObjectTypeKindMask\"}(e.ObjectFlags||(e.ObjectFlags={})),function(e){e[e.Invariant=0]=\"Invariant\",e[e.Covariant=1]=\"Covariant\",e[e.Contravariant=2]=\"Contravariant\",e[e.Bivariant=3]=\"Bivariant\",e[e.Independent=4]=\"Independent\",e[e.VarianceMask=7]=\"VarianceMask\",e[e.Unmeasurable=8]=\"Unmeasurable\",e[e.Unreliable=16]=\"Unreliable\",e[e.AllowsStructuralFallback=24]=\"AllowsStructuralFallback\"}(e.VarianceFlags||(e.VarianceFlags={})),function(e){e[e.Required=1]=\"Required\",e[e.Optional=2]=\"Optional\",e[e.Rest=4]=\"Rest\",e[e.Variadic=8]=\"Variadic\",e[e.Variable=12]=\"Variable\"}(e.ElementFlags||(e.ElementFlags={})),function(e){e[e.Component=0]=\"Component\",e[e.Function=1]=\"Function\",e[e.Mixed=2]=\"Mixed\"}(e.JsxReferenceKind||(e.JsxReferenceKind={})),function(e){e[e.Call=0]=\"Call\",e[e.Construct=1]=\"Construct\"}(e.SignatureKind||(e.SignatureKind={})),function(e){e[e.None=0]=\"None\",e[e.HasRestParameter=1]=\"HasRestParameter\",e[e.HasLiteralTypes=2]=\"HasLiteralTypes\",e[e.IsInnerCallChain=4]=\"IsInnerCallChain\",e[e.IsOuterCallChain=8]=\"IsOuterCallChain\",e[e.IsUntypedSignatureInJSFile=16]=\"IsUntypedSignatureInJSFile\",e[e.PropagatingFlags=19]=\"PropagatingFlags\",e[e.CallChainFlags=12]=\"CallChainFlags\"}(e.SignatureFlags||(e.SignatureFlags={})),function(e){e[e.String=0]=\"String\",e[e.Number=1]=\"Number\"}(e.IndexKind||(e.IndexKind={})),function(e){e[e.Simple=0]=\"Simple\",e[e.Array=1]=\"Array\",e[e.Function=2]=\"Function\",e[e.Composite=3]=\"Composite\",e[e.Merged=4]=\"Merged\"}(e.TypeMapKind||(e.TypeMapKind={})),function(e){e[e.NakedTypeVariable=1]=\"NakedTypeVariable\",e[e.SpeculativeTuple=2]=\"SpeculativeTuple\",e[e.HomomorphicMappedType=4]=\"HomomorphicMappedType\",e[e.PartialHomomorphicMappedType=8]=\"PartialHomomorphicMappedType\",e[e.MappedTypeConstraint=16]=\"MappedTypeConstraint\",e[e.ContravariantConditional=32]=\"ContravariantConditional\",e[e.ReturnType=64]=\"ReturnType\",e[e.LiteralKeyof=128]=\"LiteralKeyof\",e[e.NoConstraints=256]=\"NoConstraints\",e[e.AlwaysStrict=512]=\"AlwaysStrict\",e[e.MaxValue=1024]=\"MaxValue\",e[e.PriorityImpliesCombination=208]=\"PriorityImpliesCombination\",e[e.Circularity=-1]=\"Circularity\"}(e.InferencePriority||(e.InferencePriority={})),function(e){e[e.None=0]=\"None\",e[e.NoDefault=1]=\"NoDefault\",e[e.AnyDefault=2]=\"AnyDefault\",e[e.SkippedGenericFunction=4]=\"SkippedGenericFunction\"}(e.InferenceFlags||(e.InferenceFlags={})),function(e){e[e.False=0]=\"False\",e[e.Unknown=1]=\"Unknown\",e[e.Maybe=3]=\"Maybe\",e[e.True=-1]=\"True\"}(e.Ternary||(e.Ternary={})),function(e){e[e.None=0]=\"None\",e[e.ExportsProperty=1]=\"ExportsProperty\",e[e.ModuleExports=2]=\"ModuleExports\",e[e.PrototypeProperty=3]=\"PrototypeProperty\",e[e.ThisProperty=4]=\"ThisProperty\",e[e.Property=5]=\"Property\",e[e.Prototype=6]=\"Prototype\",e[e.ObjectDefinePropertyValue=7]=\"ObjectDefinePropertyValue\",e[e.ObjectDefinePropertyExports=8]=\"ObjectDefinePropertyExports\",e[e.ObjectDefinePrototypeProperty=9]=\"ObjectDefinePrototypeProperty\"}(e.AssignmentDeclarationKind||(e.AssignmentDeclarationKind={})),function(e){e[e.Warning=0]=\"Warning\",e[e.Error=1]=\"Error\",e[e.Suggestion=2]=\"Suggestion\",e[e.Message=3]=\"Message\"}(t=e.DiagnosticCategory||(e.DiagnosticCategory={})),e.diagnosticCategoryName=function(e,r){void 0===r&&(r=!0);var n=t[e.category];return r?n.toLowerCase():n},function(e){e[e.Classic=1]=\"Classic\",e[e.NodeJs=2]=\"NodeJs\"}(e.ModuleResolutionKind||(e.ModuleResolutionKind={})),function(e){e[e.FixedPollingInterval=0]=\"FixedPollingInterval\",e[e.PriorityPollingInterval=1]=\"PriorityPollingInterval\",e[e.DynamicPriorityPolling=2]=\"DynamicPriorityPolling\",e[e.UseFsEvents=3]=\"UseFsEvents\",e[e.UseFsEventsOnParentDirectory=4]=\"UseFsEventsOnParentDirectory\"}(e.WatchFileKind||(e.WatchFileKind={})),function(e){e[e.UseFsEvents=0]=\"UseFsEvents\",e[e.FixedPollingInterval=1]=\"FixedPollingInterval\",e[e.DynamicPriorityPolling=2]=\"DynamicPriorityPolling\"}(e.WatchDirectoryKind||(e.WatchDirectoryKind={})),function(e){e[e.FixedInterval=0]=\"FixedInterval\",e[e.PriorityInterval=1]=\"PriorityInterval\",e[e.DynamicPriority=2]=\"DynamicPriority\"}(e.PollingWatchKind||(e.PollingWatchKind={})),function(e){e[e.None=0]=\"None\",e[e.CommonJS=1]=\"CommonJS\",e[e.AMD=2]=\"AMD\",e[e.UMD=3]=\"UMD\",e[e.System=4]=\"System\",e[e.ES2015=5]=\"ES2015\",e[e.ES2020=6]=\"ES2020\",e[e.ESNext=99]=\"ESNext\"}(e.ModuleKind||(e.ModuleKind={})),function(e){e[e.None=0]=\"None\",e[e.Preserve=1]=\"Preserve\",e[e.React=2]=\"React\",e[e.ReactNative=3]=\"ReactNative\",e[e.ReactJSX=4]=\"ReactJSX\",e[e.ReactJSXDev=5]=\"ReactJSXDev\"}(e.JsxEmit||(e.JsxEmit={})),function(e){e[e.Remove=0]=\"Remove\",e[e.Preserve=1]=\"Preserve\",e[e.Error=2]=\"Error\"}(e.ImportsNotUsedAsValues||(e.ImportsNotUsedAsValues={})),function(e){e[e.CarriageReturnLineFeed=0]=\"CarriageReturnLineFeed\",e[e.LineFeed=1]=\"LineFeed\"}(e.NewLineKind||(e.NewLineKind={})),function(e){e[e.Unknown=0]=\"Unknown\",e[e.JS=1]=\"JS\",e[e.JSX=2]=\"JSX\",e[e.TS=3]=\"TS\",e[e.TSX=4]=\"TSX\",e[e.External=5]=\"External\",e[e.JSON=6]=\"JSON\",e[e.Deferred=7]=\"Deferred\"}(e.ScriptKind||(e.ScriptKind={})),function(e){e[e.ES3=0]=\"ES3\",e[e.ES5=1]=\"ES5\",e[e.ES2015=2]=\"ES2015\",e[e.ES2016=3]=\"ES2016\",e[e.ES2017=4]=\"ES2017\",e[e.ES2018=5]=\"ES2018\",e[e.ES2019=6]=\"ES2019\",e[e.ES2020=7]=\"ES2020\",e[e.ESNext=99]=\"ESNext\",e[e.JSON=100]=\"JSON\",e[e.Latest=99]=\"Latest\"}(e.ScriptTarget||(e.ScriptTarget={})),function(e){e[e.Standard=0]=\"Standard\",e[e.JSX=1]=\"JSX\"}(e.LanguageVariant||(e.LanguageVariant={})),function(e){e[e.None=0]=\"None\",e[e.Recursive=1]=\"Recursive\"}(e.WatchDirectoryFlags||(e.WatchDirectoryFlags={})),function(e){e[e.nullCharacter=0]=\"nullCharacter\",e[e.maxAsciiCharacter=127]=\"maxAsciiCharacter\",e[e.lineFeed=10]=\"lineFeed\",e[e.carriageReturn=13]=\"carriageReturn\",e[e.lineSeparator=8232]=\"lineSeparator\",e[e.paragraphSeparator=8233]=\"paragraphSeparator\",e[e.nextLine=133]=\"nextLine\",e[e.space=32]=\"space\",e[e.nonBreakingSpace=160]=\"nonBreakingSpace\",e[e.enQuad=8192]=\"enQuad\",e[e.emQuad=8193]=\"emQuad\",e[e.enSpace=8194]=\"enSpace\",e[e.emSpace=8195]=\"emSpace\",e[e.threePerEmSpace=8196]=\"threePerEmSpace\",e[e.fourPerEmSpace=8197]=\"fourPerEmSpace\",e[e.sixPerEmSpace=8198]=\"sixPerEmSpace\",e[e.figureSpace=8199]=\"figureSpace\",e[e.punctuationSpace=8200]=\"punctuationSpace\",e[e.thinSpace=8201]=\"thinSpace\",e[e.hairSpace=8202]=\"hairSpace\",e[e.zeroWidthSpace=8203]=\"zeroWidthSpace\",e[e.narrowNoBreakSpace=8239]=\"narrowNoBreakSpace\",e[e.ideographicSpace=12288]=\"ideographicSpace\",e[e.mathematicalSpace=8287]=\"mathematicalSpace\",e[e.ogham=5760]=\"ogham\",e[e._=95]=\"_\",e[e.$=36]=\"$\",e[e._0=48]=\"_0\",e[e._1=49]=\"_1\",e[e._2=50]=\"_2\",e[e._3=51]=\"_3\",e[e._4=52]=\"_4\",e[e._5=53]=\"_5\",e[e._6=54]=\"_6\",e[e._7=55]=\"_7\",e[e._8=56]=\"_8\",e[e._9=57]=\"_9\",e[e.a=97]=\"a\",e[e.b=98]=\"b\",e[e.c=99]=\"c\",e[e.d=100]=\"d\",e[e.e=101]=\"e\",e[e.f=102]=\"f\",e[e.g=103]=\"g\",e[e.h=104]=\"h\",e[e.i=105]=\"i\",e[e.j=106]=\"j\",e[e.k=107]=\"k\",e[e.l=108]=\"l\",e[e.m=109]=\"m\",e[e.n=110]=\"n\",e[e.o=111]=\"o\",e[e.p=112]=\"p\",e[e.q=113]=\"q\",e[e.r=114]=\"r\",e[e.s=115]=\"s\",e[e.t=116]=\"t\",e[e.u=117]=\"u\",e[e.v=118]=\"v\",e[e.w=119]=\"w\",e[e.x=120]=\"x\",e[e.y=121]=\"y\",e[e.z=122]=\"z\",e[e.A=65]=\"A\",e[e.B=66]=\"B\",e[e.C=67]=\"C\",e[e.D=68]=\"D\",e[e.E=69]=\"E\",e[e.F=70]=\"F\",e[e.G=71]=\"G\",e[e.H=72]=\"H\",e[e.I=73]=\"I\",e[e.J=74]=\"J\",e[e.K=75]=\"K\",e[e.L=76]=\"L\",e[e.M=77]=\"M\",e[e.N=78]=\"N\",e[e.O=79]=\"O\",e[e.P=80]=\"P\",e[e.Q=81]=\"Q\",e[e.R=82]=\"R\",e[e.S=83]=\"S\",e[e.T=84]=\"T\",e[e.U=85]=\"U\",e[e.V=86]=\"V\",e[e.W=87]=\"W\",e[e.X=88]=\"X\",e[e.Y=89]=\"Y\",e[e.Z=90]=\"Z\",e[e.ampersand=38]=\"ampersand\",e[e.asterisk=42]=\"asterisk\",e[e.at=64]=\"at\",e[e.backslash=92]=\"backslash\",e[e.backtick=96]=\"backtick\",e[e.bar=124]=\"bar\",e[e.caret=94]=\"caret\",e[e.closeBrace=125]=\"closeBrace\",e[e.closeBracket=93]=\"closeBracket\",e[e.closeParen=41]=\"closeParen\",e[e.colon=58]=\"colon\",e[e.comma=44]=\"comma\",e[e.dot=46]=\"dot\",e[e.doubleQuote=34]=\"doubleQuote\",e[e.equals=61]=\"equals\",e[e.exclamation=33]=\"exclamation\",e[e.greaterThan=62]=\"greaterThan\",e[e.hash=35]=\"hash\",e[e.lessThan=60]=\"lessThan\",e[e.minus=45]=\"minus\",e[e.openBrace=123]=\"openBrace\",e[e.openBracket=91]=\"openBracket\",e[e.openParen=40]=\"openParen\",e[e.percent=37]=\"percent\",e[e.plus=43]=\"plus\",e[e.question=63]=\"question\",e[e.semicolon=59]=\"semicolon\",e[e.singleQuote=39]=\"singleQuote\",e[e.slash=47]=\"slash\",e[e.tilde=126]=\"tilde\",e[e.backspace=8]=\"backspace\",e[e.formFeed=12]=\"formFeed\",e[e.byteOrderMark=65279]=\"byteOrderMark\",e[e.tab=9]=\"tab\",e[e.verticalTab=11]=\"verticalTab\"}(e.CharacterCodes||(e.CharacterCodes={})),function(e){e.Ts=\".ts\",e.Tsx=\".tsx\",e.Dts=\".d.ts\",e.Js=\".js\",e.Jsx=\".jsx\",e.Json=\".json\",e.TsBuildInfo=\".tsbuildinfo\"}(e.Extension||(e.Extension={})),function(e){e[e.None=0]=\"None\",e[e.ContainsTypeScript=1]=\"ContainsTypeScript\",e[e.ContainsJsx=2]=\"ContainsJsx\",e[e.ContainsESNext=4]=\"ContainsESNext\",e[e.ContainsES2020=8]=\"ContainsES2020\",e[e.ContainsES2019=16]=\"ContainsES2019\",e[e.ContainsES2018=32]=\"ContainsES2018\",e[e.ContainsES2017=64]=\"ContainsES2017\",e[e.ContainsES2016=128]=\"ContainsES2016\",e[e.ContainsES2015=256]=\"ContainsES2015\",e[e.ContainsGenerator=512]=\"ContainsGenerator\",e[e.ContainsDestructuringAssignment=1024]=\"ContainsDestructuringAssignment\",e[e.ContainsTypeScriptClassSyntax=2048]=\"ContainsTypeScriptClassSyntax\",e[e.ContainsLexicalThis=4096]=\"ContainsLexicalThis\",e[e.ContainsRestOrSpread=8192]=\"ContainsRestOrSpread\",e[e.ContainsObjectRestOrSpread=16384]=\"ContainsObjectRestOrSpread\",e[e.ContainsComputedPropertyName=32768]=\"ContainsComputedPropertyName\",e[e.ContainsBlockScopedBinding=65536]=\"ContainsBlockScopedBinding\",e[e.ContainsBindingPattern=131072]=\"ContainsBindingPattern\",e[e.ContainsYield=262144]=\"ContainsYield\",e[e.ContainsAwait=524288]=\"ContainsAwait\",e[e.ContainsHoistedDeclarationOrCompletion=1048576]=\"ContainsHoistedDeclarationOrCompletion\",e[e.ContainsDynamicImport=2097152]=\"ContainsDynamicImport\",e[e.ContainsClassFields=4194304]=\"ContainsClassFields\",e[e.ContainsPossibleTopLevelAwait=8388608]=\"ContainsPossibleTopLevelAwait\",e[e.HasComputedFlags=536870912]=\"HasComputedFlags\",e[e.AssertTypeScript=1]=\"AssertTypeScript\",e[e.AssertJsx=2]=\"AssertJsx\",e[e.AssertESNext=4]=\"AssertESNext\",e[e.AssertES2020=8]=\"AssertES2020\",e[e.AssertES2019=16]=\"AssertES2019\",e[e.AssertES2018=32]=\"AssertES2018\",e[e.AssertES2017=64]=\"AssertES2017\",e[e.AssertES2016=128]=\"AssertES2016\",e[e.AssertES2015=256]=\"AssertES2015\",e[e.AssertGenerator=512]=\"AssertGenerator\",e[e.AssertDestructuringAssignment=1024]=\"AssertDestructuringAssignment\",e[e.OuterExpressionExcludes=536870912]=\"OuterExpressionExcludes\",e[e.PropertyAccessExcludes=536870912]=\"PropertyAccessExcludes\",e[e.NodeExcludes=536870912]=\"NodeExcludes\",e[e.ArrowFunctionExcludes=547309568]=\"ArrowFunctionExcludes\",e[e.FunctionExcludes=547313664]=\"FunctionExcludes\",e[e.ConstructorExcludes=547311616]=\"ConstructorExcludes\",e[e.MethodOrAccessorExcludes=538923008]=\"MethodOrAccessorExcludes\",e[e.PropertyExcludes=536875008]=\"PropertyExcludes\",e[e.ClassExcludes=536905728]=\"ClassExcludes\",e[e.ModuleExcludes=546379776]=\"ModuleExcludes\",e[e.TypeExcludes=-2]=\"TypeExcludes\",e[e.ObjectLiteralExcludes=536922112]=\"ObjectLiteralExcludes\",e[e.ArrayLiteralOrCallOrNewExcludes=536879104]=\"ArrayLiteralOrCallOrNewExcludes\",e[e.VariableDeclarationListExcludes=537018368]=\"VariableDeclarationListExcludes\",e[e.ParameterExcludes=536870912]=\"ParameterExcludes\",e[e.CatchClauseExcludes=536887296]=\"CatchClauseExcludes\",e[e.BindingPatternExcludes=536879104]=\"BindingPatternExcludes\",e[e.PropertyNamePropagatingFlags=4096]=\"PropertyNamePropagatingFlags\"}(e.TransformFlags||(e.TransformFlags={})),function(e){e[e.None=0]=\"None\",e[e.SingleLine=1]=\"SingleLine\",e[e.AdviseOnEmitNode=2]=\"AdviseOnEmitNode\",e[e.NoSubstitution=4]=\"NoSubstitution\",e[e.CapturesThis=8]=\"CapturesThis\",e[e.NoLeadingSourceMap=16]=\"NoLeadingSourceMap\",e[e.NoTrailingSourceMap=32]=\"NoTrailingSourceMap\",e[e.NoSourceMap=48]=\"NoSourceMap\",e[e.NoNestedSourceMaps=64]=\"NoNestedSourceMaps\",e[e.NoTokenLeadingSourceMaps=128]=\"NoTokenLeadingSourceMaps\",e[e.NoTokenTrailingSourceMaps=256]=\"NoTokenTrailingSourceMaps\",e[e.NoTokenSourceMaps=384]=\"NoTokenSourceMaps\",e[e.NoLeadingComments=512]=\"NoLeadingComments\",e[e.NoTrailingComments=1024]=\"NoTrailingComments\",e[e.NoComments=1536]=\"NoComments\",e[e.NoNestedComments=2048]=\"NoNestedComments\",e[e.HelperName=4096]=\"HelperName\",e[e.ExportName=8192]=\"ExportName\",e[e.LocalName=16384]=\"LocalName\",e[e.InternalName=32768]=\"InternalName\",e[e.Indented=65536]=\"Indented\",e[e.NoIndentation=131072]=\"NoIndentation\",e[e.AsyncFunctionBody=262144]=\"AsyncFunctionBody\",e[e.ReuseTempVariableScope=524288]=\"ReuseTempVariableScope\",e[e.CustomPrologue=1048576]=\"CustomPrologue\",e[e.NoHoisting=2097152]=\"NoHoisting\",e[e.HasEndOfDeclarationMarker=4194304]=\"HasEndOfDeclarationMarker\",e[e.Iterator=8388608]=\"Iterator\",e[e.NoAsciiEscaping=16777216]=\"NoAsciiEscaping\",e[e.TypeScriptClassWrapper=33554432]=\"TypeScriptClassWrapper\",e[e.NeverApplyImportHelper=67108864]=\"NeverApplyImportHelper\",e[e.IgnoreSourceNewlines=134217728]=\"IgnoreSourceNewlines\"}(e.EmitFlags||(e.EmitFlags={})),function(e){e[e.Extends=1]=\"Extends\",e[e.Assign=2]=\"Assign\",e[e.Rest=4]=\"Rest\",e[e.Decorate=8]=\"Decorate\",e[e.Metadata=16]=\"Metadata\",e[e.Param=32]=\"Param\",e[e.Awaiter=64]=\"Awaiter\",e[e.Generator=128]=\"Generator\",e[e.Values=256]=\"Values\",e[e.Read=512]=\"Read\",e[e.Spread=1024]=\"Spread\",e[e.SpreadArrays=2048]=\"SpreadArrays\",e[e.Await=4096]=\"Await\",e[e.AsyncGenerator=8192]=\"AsyncGenerator\",e[e.AsyncDelegator=16384]=\"AsyncDelegator\",e[e.AsyncValues=32768]=\"AsyncValues\",e[e.ExportStar=65536]=\"ExportStar\",e[e.ImportStar=131072]=\"ImportStar\",e[e.ImportDefault=262144]=\"ImportDefault\",e[e.MakeTemplateObject=524288]=\"MakeTemplateObject\",e[e.ClassPrivateFieldGet=1048576]=\"ClassPrivateFieldGet\",e[e.ClassPrivateFieldSet=2097152]=\"ClassPrivateFieldSet\",e[e.CreateBinding=4194304]=\"CreateBinding\",e[e.FirstEmitHelper=1]=\"FirstEmitHelper\",e[e.LastEmitHelper=4194304]=\"LastEmitHelper\",e[e.ForOfIncludes=256]=\"ForOfIncludes\",e[e.ForAwaitOfIncludes=32768]=\"ForAwaitOfIncludes\",e[e.AsyncGeneratorIncludes=12288]=\"AsyncGeneratorIncludes\",e[e.AsyncDelegatorIncludes=53248]=\"AsyncDelegatorIncludes\",e[e.SpreadIncludes=1536]=\"SpreadIncludes\"}(e.ExternalEmitHelpers||(e.ExternalEmitHelpers={})),function(e){e[e.SourceFile=0]=\"SourceFile\",e[e.Expression=1]=\"Expression\",e[e.IdentifierName=2]=\"IdentifierName\",e[e.MappedTypeParameter=3]=\"MappedTypeParameter\",e[e.Unspecified=4]=\"Unspecified\",e[e.EmbeddedStatement=5]=\"EmbeddedStatement\",e[e.JsxAttributeValue=6]=\"JsxAttributeValue\"}(e.EmitHint||(e.EmitHint={})),function(e){e[e.Parentheses=1]=\"Parentheses\",e[e.TypeAssertions=2]=\"TypeAssertions\",e[e.NonNullAssertions=4]=\"NonNullAssertions\",e[e.PartiallyEmittedExpressions=8]=\"PartiallyEmittedExpressions\",e[e.Assertions=6]=\"Assertions\",e[e.All=15]=\"All\"}(e.OuterExpressionKinds||(e.OuterExpressionKinds={})),function(e){e[e.None=0]=\"None\",e[e.InParameters=1]=\"InParameters\",e[e.VariablesHoistedInParameters=2]=\"VariablesHoistedInParameters\"}(e.LexicalEnvironmentFlags||(e.LexicalEnvironmentFlags={})),function(e){e.Prologue=\"prologue\",e.EmitHelpers=\"emitHelpers\",e.NoDefaultLib=\"no-default-lib\",e.Reference=\"reference\",e.Type=\"type\",e.Lib=\"lib\",e.Prepend=\"prepend\",e.Text=\"text\",e.Internal=\"internal\"}(e.BundleFileSectionKind||(e.BundleFileSectionKind={})),function(e){e[e.None=0]=\"None\",e[e.SingleLine=0]=\"SingleLine\",e[e.MultiLine=1]=\"MultiLine\",e[e.PreserveLines=2]=\"PreserveLines\",e[e.LinesMask=3]=\"LinesMask\",e[e.NotDelimited=0]=\"NotDelimited\",e[e.BarDelimited=4]=\"BarDelimited\",e[e.AmpersandDelimited=8]=\"AmpersandDelimited\",e[e.CommaDelimited=16]=\"CommaDelimited\",e[e.AsteriskDelimited=32]=\"AsteriskDelimited\",e[e.DelimitersMask=60]=\"DelimitersMask\",e[e.AllowTrailingComma=64]=\"AllowTrailingComma\",e[e.Indented=128]=\"Indented\",e[e.SpaceBetweenBraces=256]=\"SpaceBetweenBraces\",e[e.SpaceBetweenSiblings=512]=\"SpaceBetweenSiblings\",e[e.Braces=1024]=\"Braces\",e[e.Parenthesis=2048]=\"Parenthesis\",e[e.AngleBrackets=4096]=\"AngleBrackets\",e[e.SquareBrackets=8192]=\"SquareBrackets\",e[e.BracketsMask=15360]=\"BracketsMask\",e[e.OptionalIfUndefined=16384]=\"OptionalIfUndefined\",e[e.OptionalIfEmpty=32768]=\"OptionalIfEmpty\",e[e.Optional=49152]=\"Optional\",e[e.PreferNewLine=65536]=\"PreferNewLine\",e[e.NoTrailingNewLine=131072]=\"NoTrailingNewLine\",e[e.NoInterveningComments=262144]=\"NoInterveningComments\",e[e.NoSpaceIfEmpty=524288]=\"NoSpaceIfEmpty\",e[e.SingleElement=1048576]=\"SingleElement\",e[e.SpaceAfterList=2097152]=\"SpaceAfterList\",e[e.Modifiers=262656]=\"Modifiers\",e[e.HeritageClauses=512]=\"HeritageClauses\",e[e.SingleLineTypeLiteralMembers=768]=\"SingleLineTypeLiteralMembers\",e[e.MultiLineTypeLiteralMembers=32897]=\"MultiLineTypeLiteralMembers\",e[e.SingleLineTupleTypeElements=528]=\"SingleLineTupleTypeElements\",e[e.MultiLineTupleTypeElements=657]=\"MultiLineTupleTypeElements\",e[e.UnionTypeConstituents=516]=\"UnionTypeConstituents\",e[e.IntersectionTypeConstituents=520]=\"IntersectionTypeConstituents\",e[e.ObjectBindingPatternElements=525136]=\"ObjectBindingPatternElements\",e[e.ArrayBindingPatternElements=524880]=\"ArrayBindingPatternElements\",e[e.ObjectLiteralExpressionProperties=526226]=\"ObjectLiteralExpressionProperties\",e[e.ArrayLiteralExpressionElements=8914]=\"ArrayLiteralExpressionElements\",e[e.CommaListElements=528]=\"CommaListElements\",e[e.CallExpressionArguments=2576]=\"CallExpressionArguments\",e[e.NewExpressionArguments=18960]=\"NewExpressionArguments\",e[e.TemplateExpressionSpans=262144]=\"TemplateExpressionSpans\",e[e.SingleLineBlockStatements=768]=\"SingleLineBlockStatements\",e[e.MultiLineBlockStatements=129]=\"MultiLineBlockStatements\",e[e.VariableDeclarationList=528]=\"VariableDeclarationList\",e[e.SingleLineFunctionBodyStatements=768]=\"SingleLineFunctionBodyStatements\",e[e.MultiLineFunctionBodyStatements=1]=\"MultiLineFunctionBodyStatements\",e[e.ClassHeritageClauses=0]=\"ClassHeritageClauses\",e[e.ClassMembers=129]=\"ClassMembers\",e[e.InterfaceMembers=129]=\"InterfaceMembers\",e[e.EnumMembers=145]=\"EnumMembers\",e[e.CaseBlockClauses=129]=\"CaseBlockClauses\",e[e.NamedImportsOrExportsElements=525136]=\"NamedImportsOrExportsElements\",e[e.JsxElementOrFragmentChildren=262144]=\"JsxElementOrFragmentChildren\",e[e.JsxElementAttributes=262656]=\"JsxElementAttributes\",e[e.CaseOrDefaultClauseStatements=163969]=\"CaseOrDefaultClauseStatements\",e[e.HeritageClauseTypes=528]=\"HeritageClauseTypes\",e[e.SourceFileStatements=131073]=\"SourceFileStatements\",e[e.Decorators=2146305]=\"Decorators\",e[e.TypeArguments=53776]=\"TypeArguments\",e[e.TypeParameters=53776]=\"TypeParameters\",e[e.Parameters=2576]=\"Parameters\",e[e.IndexSignatureParameters=8848]=\"IndexSignatureParameters\",e[e.JSDocComment=33]=\"JSDocComment\"}(e.ListFormat||(e.ListFormat={})),function(e){e[e.None=0]=\"None\",e[e.TripleSlashXML=1]=\"TripleSlashXML\",e[e.SingleLine=2]=\"SingleLine\",e[e.MultiLine=4]=\"MultiLine\",e[e.All=7]=\"All\",e[e.Default=7]=\"Default\"}(e.PragmaKindFlags||(e.PragmaKindFlags={})),e.commentPragmas={reference:{args:[{name:\"types\",optional:!0,captureSpan:!0},{name:\"lib\",optional:!0,captureSpan:!0},{name:\"path\",optional:!0,captureSpan:!0},{name:\"no-default-lib\",optional:!0}],kind:1},\"amd-dependency\":{args:[{name:\"path\"},{name:\"name\",optional:!0}],kind:1},\"amd-module\":{args:[{name:\"name\"}],kind:1},\"ts-check\":{kind:2},\"ts-nocheck\":{kind:2},jsx:{args:[{name:\"factory\"}],kind:4},jsxfrag:{args:[{name:\"factory\"}],kind:4},jsximportsource:{args:[{name:\"factory\"}],kind:4},jsxruntime:{args:[{name:\"factory\"}],kind:4}}}(u||(u={})),function(e){e.directorySeparator=\"/\";var t=/\\\\/g;function n(e){return 47===e||92===e}function i(e){return l(e)>0}function a(e){return 0!==l(e)}function o(e){return/^\\.\\.?($|[\\\\/])/.test(e)}function s(t,r){return t.length>r.length&&e.endsWith(t,r)}function c(e){return e.length>0&&n(e.charCodeAt(e.length-1))}function u(e){return e>=97&&e<=122||e>=65&&e<=90}function l(t){if(!t)return 0;var r=t.charCodeAt(0);if(47===r||92===r){if(t.charCodeAt(1)!==r)return 1;var n=t.indexOf(47===r?e.directorySeparator:\"\\\\\",2);return n<0?t.length:n+1}if(u(r)&&58===t.charCodeAt(1)){var i=t.charCodeAt(2);if(47===i||92===i)return 3;if(2===t.length)return 2}var a=t.indexOf(\"://\");if(-1!==a){var o=a+\"://\".length,s=t.indexOf(e.directorySeparator,o);if(-1!==s){var c=t.slice(0,a),l=t.slice(o,s);if(\"file\"===c&&(\"\"===l||\"localhost\"===l)&&u(t.charCodeAt(s+1))){var d=function(e,t){var r=e.charCodeAt(t);if(58===r)return t+1;if(37===r&&51===e.charCodeAt(t+1)){var n=e.charCodeAt(t+2);if(97===n||65===n)return t+3}return-1}(t,s+2);if(-1!==d){if(47===t.charCodeAt(d))return~(d+1);if(d===t.length)return~d}}return~(s+1)}return~t.length}return 0}function d(e){var t=l(e);return t<0?~t:t}function _(t){var r=d(t=v(t));return r===t.length?t:(t=T(t)).slice(0,Math.max(r,t.lastIndexOf(e.directorySeparator)))}function p(t,r,n){if(d(t=v(t))===t.length)return\"\";var i=(t=T(t)).slice(Math.max(d(t),t.lastIndexOf(e.directorySeparator)+1)),a=void 0!==r&&void 0!==n?g(i,r,n):void 0;return a?i.slice(0,i.length-a.length):i}function f(t,r,n){if(e.startsWith(r,\".\")||(r=\".\"+r),t.length>=r.length&&46===t.charCodeAt(t.length-r.length)){var i=t.slice(t.length-r.length);if(n(i,r))return i}}function g(t,r,n){if(r)return function(e,t,r){if(\"string\"==typeof t)return f(e,t,r)||\"\";for(var n=0,i=t;n=0?i.substring(a):\"\"}function m(t,n){return void 0===n&&(n=\"\"),function(t,n){var i=t.substring(0,n),a=t.substring(n).split(e.directorySeparator);return a.length&&!e.lastOrUndefined(a)&&a.pop(),r([i],a)}(t=D(n,t),d(t))}function y(t){return 0===t.length?\"\":(t[0]&&C(t[0]))+t.slice(1).join(e.directorySeparator)}function v(r){return r.replace(t,e.directorySeparator)}function h(t){if(!e.some(t))return[];for(var r=[t[0]],n=1;n1){if(\"..\"!==r[r.length-1]){r.pop();continue}}else if(r[0])continue;r.push(i)}}return r}function D(e){for(var t=[],r=1;r0&&t===e.length},e.pathIsAbsolute=a,e.pathIsRelative=o,e.pathIsBareSpecifier=function(e){return!a(e)&&!o(e)},e.hasExtension=function(t){return e.stringContains(p(t),\".\")},e.fileExtensionIs=s,e.fileExtensionIsOneOf=function(e,t){for(var r=0,n=t;r0==d(r)>0,\"Paths must either both be absolute or both be relative\");var i=\"function\"==typeof n?n:e.identity;return y(N(t,r,\"boolean\"==typeof n&&n?e.equateStringsCaseInsensitive:e.equateStringsCaseSensitive,i))}function w(t,r,n,a,o){var s=N(x(n,t),x(n,r),e.equateStringsCaseSensitive,a),c=s[0];if(o&&i(c)){var u=c.charAt(0)===e.directorySeparator?\"file://\":\"file:///\";s[0]=u+c}return y(s)}e.comparePathsCaseSensitive=function(t,r){return F(t,r,e.compareStringsCaseSensitive)},e.comparePathsCaseInsensitive=function(t,r){return F(t,r,e.compareStringsCaseInsensitive)},e.comparePaths=function(t,r,n,i){return\"string\"==typeof n?(t=D(n,t),r=D(n,r)):\"boolean\"==typeof n&&(i=n),F(t,r,e.getStringComparer(i))},e.containsPath=function(t,r,n,i){if(\"string\"==typeof n?(t=D(n,t),r=D(n,r)):\"boolean\"==typeof n&&(i=n),void 0===t||void 0===r)return!1;if(t===r)return!0;var a=h(m(t)),o=h(m(r));if(o.length0;_(),s--){var l=t[a];if(l)if(l.isClosed)t[a]=void 0;else{u++;var d=p(l,h(l.fileName));l.isClosed?t[a]=void 0:d?(l.unchangedPolls=0,t!==n&&(t[a]=void 0,m(l))):l.unchangedPolls!==e.unchangedPollThresholds[r]?l.unchangedPolls++:t===n?(l.unchangedPolls=1,t[a]=void 0,g(l,i.Low)):r!==i.High&&(l.unchangedPolls++,t[a]=void 0,g(l,r===i.Low?i.Medium:i.High)),t[a]&&(c type. Did you mean to write 'Promise<{0}>'?\"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:t(1066,e.DiagnosticCategory.Error,\"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066\",\"In ambient enum declarations member initializer must be constant expression.\"),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:t(1068,e.DiagnosticCategory.Error,\"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068\",\"Unexpected token. A constructor, method, accessor, or property was expected.\"),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:t(1069,e.DiagnosticCategory.Error,\"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069\",\"Unexpected token. A type parameter name was expected without curly braces.\"),_0_modifier_cannot_appear_on_a_type_member:t(1070,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_a_type_member_1070\",\"'{0}' modifier cannot appear on a type member.\"),_0_modifier_cannot_appear_on_an_index_signature:t(1071,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_an_index_signature_1071\",\"'{0}' modifier cannot appear on an index signature.\"),A_0_modifier_cannot_be_used_with_an_import_declaration:t(1079,e.DiagnosticCategory.Error,\"A_0_modifier_cannot_be_used_with_an_import_declaration_1079\",\"A '{0}' modifier cannot be used with an import declaration.\"),Invalid_reference_directive_syntax:t(1084,e.DiagnosticCategory.Error,\"Invalid_reference_directive_syntax_1084\",\"Invalid 'reference' directive syntax.\"),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:t(1085,e.DiagnosticCategory.Error,\"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085\",\"Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'.\"),_0_modifier_cannot_appear_on_a_constructor_declaration:t(1089,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_a_constructor_declaration_1089\",\"'{0}' modifier cannot appear on a constructor declaration.\"),_0_modifier_cannot_appear_on_a_parameter:t(1090,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_a_parameter_1090\",\"'{0}' modifier cannot appear on a parameter.\"),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:t(1091,e.DiagnosticCategory.Error,\"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091\",\"Only a single variable declaration is allowed in a 'for...in' statement.\"),Type_parameters_cannot_appear_on_a_constructor_declaration:t(1092,e.DiagnosticCategory.Error,\"Type_parameters_cannot_appear_on_a_constructor_declaration_1092\",\"Type parameters cannot appear on a constructor declaration.\"),Type_annotation_cannot_appear_on_a_constructor_declaration:t(1093,e.DiagnosticCategory.Error,\"Type_annotation_cannot_appear_on_a_constructor_declaration_1093\",\"Type annotation cannot appear on a constructor declaration.\"),An_accessor_cannot_have_type_parameters:t(1094,e.DiagnosticCategory.Error,\"An_accessor_cannot_have_type_parameters_1094\",\"An accessor cannot have type parameters.\"),A_set_accessor_cannot_have_a_return_type_annotation:t(1095,e.DiagnosticCategory.Error,\"A_set_accessor_cannot_have_a_return_type_annotation_1095\",\"A 'set' accessor cannot have a return type annotation.\"),An_index_signature_must_have_exactly_one_parameter:t(1096,e.DiagnosticCategory.Error,\"An_index_signature_must_have_exactly_one_parameter_1096\",\"An index signature must have exactly one parameter.\"),_0_list_cannot_be_empty:t(1097,e.DiagnosticCategory.Error,\"_0_list_cannot_be_empty_1097\",\"'{0}' list cannot be empty.\"),Type_parameter_list_cannot_be_empty:t(1098,e.DiagnosticCategory.Error,\"Type_parameter_list_cannot_be_empty_1098\",\"Type parameter list cannot be empty.\"),Type_argument_list_cannot_be_empty:t(1099,e.DiagnosticCategory.Error,\"Type_argument_list_cannot_be_empty_1099\",\"Type argument list cannot be empty.\"),Invalid_use_of_0_in_strict_mode:t(1100,e.DiagnosticCategory.Error,\"Invalid_use_of_0_in_strict_mode_1100\",\"Invalid use of '{0}' in strict mode.\"),with_statements_are_not_allowed_in_strict_mode:t(1101,e.DiagnosticCategory.Error,\"with_statements_are_not_allowed_in_strict_mode_1101\",\"'with' statements are not allowed in strict mode.\"),delete_cannot_be_called_on_an_identifier_in_strict_mode:t(1102,e.DiagnosticCategory.Error,\"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102\",\"'delete' cannot be called on an identifier in strict mode.\"),A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator:t(1103,e.DiagnosticCategory.Error,\"A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator_1103\",\"A 'for-await-of' statement is only allowed within an async function or async generator.\"),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:t(1104,e.DiagnosticCategory.Error,\"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104\",\"A 'continue' statement can only be used within an enclosing iteration statement.\"),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:t(1105,e.DiagnosticCategory.Error,\"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105\",\"A 'break' statement can only be used within an enclosing iteration or switch statement.\"),Jump_target_cannot_cross_function_boundary:t(1107,e.DiagnosticCategory.Error,\"Jump_target_cannot_cross_function_boundary_1107\",\"Jump target cannot cross function boundary.\"),A_return_statement_can_only_be_used_within_a_function_body:t(1108,e.DiagnosticCategory.Error,\"A_return_statement_can_only_be_used_within_a_function_body_1108\",\"A 'return' statement can only be used within a function body.\"),Expression_expected:t(1109,e.DiagnosticCategory.Error,\"Expression_expected_1109\",\"Expression expected.\"),Type_expected:t(1110,e.DiagnosticCategory.Error,\"Type_expected_1110\",\"Type expected.\"),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:t(1113,e.DiagnosticCategory.Error,\"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113\",\"A 'default' clause cannot appear more than once in a 'switch' statement.\"),Duplicate_label_0:t(1114,e.DiagnosticCategory.Error,\"Duplicate_label_0_1114\",\"Duplicate label '{0}'.\"),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:t(1115,e.DiagnosticCategory.Error,\"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115\",\"A 'continue' statement can only jump to a label of an enclosing iteration statement.\"),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:t(1116,e.DiagnosticCategory.Error,\"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116\",\"A 'break' statement can only jump to a label of an enclosing statement.\"),An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode:t(1117,e.DiagnosticCategory.Error,\"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117\",\"An object literal cannot have multiple properties with the same name in strict mode.\"),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:t(1118,e.DiagnosticCategory.Error,\"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118\",\"An object literal cannot have multiple get/set accessors with the same name.\"),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:t(1119,e.DiagnosticCategory.Error,\"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119\",\"An object literal cannot have property and accessor with the same name.\"),An_export_assignment_cannot_have_modifiers:t(1120,e.DiagnosticCategory.Error,\"An_export_assignment_cannot_have_modifiers_1120\",\"An export assignment cannot have modifiers.\"),Octal_literals_are_not_allowed_in_strict_mode:t(1121,e.DiagnosticCategory.Error,\"Octal_literals_are_not_allowed_in_strict_mode_1121\",\"Octal literals are not allowed in strict mode.\"),Variable_declaration_list_cannot_be_empty:t(1123,e.DiagnosticCategory.Error,\"Variable_declaration_list_cannot_be_empty_1123\",\"Variable declaration list cannot be empty.\"),Digit_expected:t(1124,e.DiagnosticCategory.Error,\"Digit_expected_1124\",\"Digit expected.\"),Hexadecimal_digit_expected:t(1125,e.DiagnosticCategory.Error,\"Hexadecimal_digit_expected_1125\",\"Hexadecimal digit expected.\"),Unexpected_end_of_text:t(1126,e.DiagnosticCategory.Error,\"Unexpected_end_of_text_1126\",\"Unexpected end of text.\"),Invalid_character:t(1127,e.DiagnosticCategory.Error,\"Invalid_character_1127\",\"Invalid character.\"),Declaration_or_statement_expected:t(1128,e.DiagnosticCategory.Error,\"Declaration_or_statement_expected_1128\",\"Declaration or statement expected.\"),Statement_expected:t(1129,e.DiagnosticCategory.Error,\"Statement_expected_1129\",\"Statement expected.\"),case_or_default_expected:t(1130,e.DiagnosticCategory.Error,\"case_or_default_expected_1130\",\"'case' or 'default' expected.\"),Property_or_signature_expected:t(1131,e.DiagnosticCategory.Error,\"Property_or_signature_expected_1131\",\"Property or signature expected.\"),Enum_member_expected:t(1132,e.DiagnosticCategory.Error,\"Enum_member_expected_1132\",\"Enum member expected.\"),Variable_declaration_expected:t(1134,e.DiagnosticCategory.Error,\"Variable_declaration_expected_1134\",\"Variable declaration expected.\"),Argument_expression_expected:t(1135,e.DiagnosticCategory.Error,\"Argument_expression_expected_1135\",\"Argument expression expected.\"),Property_assignment_expected:t(1136,e.DiagnosticCategory.Error,\"Property_assignment_expected_1136\",\"Property assignment expected.\"),Expression_or_comma_expected:t(1137,e.DiagnosticCategory.Error,\"Expression_or_comma_expected_1137\",\"Expression or comma expected.\"),Parameter_declaration_expected:t(1138,e.DiagnosticCategory.Error,\"Parameter_declaration_expected_1138\",\"Parameter declaration expected.\"),Type_parameter_declaration_expected:t(1139,e.DiagnosticCategory.Error,\"Type_parameter_declaration_expected_1139\",\"Type parameter declaration expected.\"),Type_argument_expected:t(1140,e.DiagnosticCategory.Error,\"Type_argument_expected_1140\",\"Type argument expected.\"),String_literal_expected:t(1141,e.DiagnosticCategory.Error,\"String_literal_expected_1141\",\"String literal expected.\"),Line_break_not_permitted_here:t(1142,e.DiagnosticCategory.Error,\"Line_break_not_permitted_here_1142\",\"Line break not permitted here.\"),or_expected:t(1144,e.DiagnosticCategory.Error,\"or_expected_1144\",\"'{' or ';' expected.\"),Declaration_expected:t(1146,e.DiagnosticCategory.Error,\"Declaration_expected_1146\",\"Declaration expected.\"),Import_declarations_in_a_namespace_cannot_reference_a_module:t(1147,e.DiagnosticCategory.Error,\"Import_declarations_in_a_namespace_cannot_reference_a_module_1147\",\"Import declarations in a namespace cannot reference a module.\"),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:t(1148,e.DiagnosticCategory.Error,\"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148\",\"Cannot use imports, exports, or module augmentations when '--module' is 'none'.\"),File_name_0_differs_from_already_included_file_name_1_only_in_casing:t(1149,e.DiagnosticCategory.Error,\"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149\",\"File name '{0}' differs from already included file name '{1}' only in casing.\"),const_declarations_must_be_initialized:t(1155,e.DiagnosticCategory.Error,\"const_declarations_must_be_initialized_1155\",\"'const' declarations must be initialized.\"),const_declarations_can_only_be_declared_inside_a_block:t(1156,e.DiagnosticCategory.Error,\"const_declarations_can_only_be_declared_inside_a_block_1156\",\"'const' declarations can only be declared inside a block.\"),let_declarations_can_only_be_declared_inside_a_block:t(1157,e.DiagnosticCategory.Error,\"let_declarations_can_only_be_declared_inside_a_block_1157\",\"'let' declarations can only be declared inside a block.\"),Unterminated_template_literal:t(1160,e.DiagnosticCategory.Error,\"Unterminated_template_literal_1160\",\"Unterminated template literal.\"),Unterminated_regular_expression_literal:t(1161,e.DiagnosticCategory.Error,\"Unterminated_regular_expression_literal_1161\",\"Unterminated regular expression literal.\"),An_object_member_cannot_be_declared_optional:t(1162,e.DiagnosticCategory.Error,\"An_object_member_cannot_be_declared_optional_1162\",\"An object member cannot be declared optional.\"),A_yield_expression_is_only_allowed_in_a_generator_body:t(1163,e.DiagnosticCategory.Error,\"A_yield_expression_is_only_allowed_in_a_generator_body_1163\",\"A 'yield' expression is only allowed in a generator body.\"),Computed_property_names_are_not_allowed_in_enums:t(1164,e.DiagnosticCategory.Error,\"Computed_property_names_are_not_allowed_in_enums_1164\",\"Computed property names are not allowed in enums.\"),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1165,e.DiagnosticCategory.Error,\"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165\",\"A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1166,e.DiagnosticCategory.Error,\"A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_1166\",\"A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1168,e.DiagnosticCategory.Error,\"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168\",\"A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1169,e.DiagnosticCategory.Error,\"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169\",\"A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1170,e.DiagnosticCategory.Error,\"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170\",\"A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_comma_expression_is_not_allowed_in_a_computed_property_name:t(1171,e.DiagnosticCategory.Error,\"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171\",\"A comma expression is not allowed in a computed property name.\"),extends_clause_already_seen:t(1172,e.DiagnosticCategory.Error,\"extends_clause_already_seen_1172\",\"'extends' clause already seen.\"),extends_clause_must_precede_implements_clause:t(1173,e.DiagnosticCategory.Error,\"extends_clause_must_precede_implements_clause_1173\",\"'extends' clause must precede 'implements' clause.\"),Classes_can_only_extend_a_single_class:t(1174,e.DiagnosticCategory.Error,\"Classes_can_only_extend_a_single_class_1174\",\"Classes can only extend a single class.\"),implements_clause_already_seen:t(1175,e.DiagnosticCategory.Error,\"implements_clause_already_seen_1175\",\"'implements' clause already seen.\"),Interface_declaration_cannot_have_implements_clause:t(1176,e.DiagnosticCategory.Error,\"Interface_declaration_cannot_have_implements_clause_1176\",\"Interface declaration cannot have 'implements' clause.\"),Binary_digit_expected:t(1177,e.DiagnosticCategory.Error,\"Binary_digit_expected_1177\",\"Binary digit expected.\"),Octal_digit_expected:t(1178,e.DiagnosticCategory.Error,\"Octal_digit_expected_1178\",\"Octal digit expected.\"),Unexpected_token_expected:t(1179,e.DiagnosticCategory.Error,\"Unexpected_token_expected_1179\",\"Unexpected token. '{' expected.\"),Property_destructuring_pattern_expected:t(1180,e.DiagnosticCategory.Error,\"Property_destructuring_pattern_expected_1180\",\"Property destructuring pattern expected.\"),Array_element_destructuring_pattern_expected:t(1181,e.DiagnosticCategory.Error,\"Array_element_destructuring_pattern_expected_1181\",\"Array element destructuring pattern expected.\"),A_destructuring_declaration_must_have_an_initializer:t(1182,e.DiagnosticCategory.Error,\"A_destructuring_declaration_must_have_an_initializer_1182\",\"A destructuring declaration must have an initializer.\"),An_implementation_cannot_be_declared_in_ambient_contexts:t(1183,e.DiagnosticCategory.Error,\"An_implementation_cannot_be_declared_in_ambient_contexts_1183\",\"An implementation cannot be declared in ambient contexts.\"),Modifiers_cannot_appear_here:t(1184,e.DiagnosticCategory.Error,\"Modifiers_cannot_appear_here_1184\",\"Modifiers cannot appear here.\"),Merge_conflict_marker_encountered:t(1185,e.DiagnosticCategory.Error,\"Merge_conflict_marker_encountered_1185\",\"Merge conflict marker encountered.\"),A_rest_element_cannot_have_an_initializer:t(1186,e.DiagnosticCategory.Error,\"A_rest_element_cannot_have_an_initializer_1186\",\"A rest element cannot have an initializer.\"),A_parameter_property_may_not_be_declared_using_a_binding_pattern:t(1187,e.DiagnosticCategory.Error,\"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187\",\"A parameter property may not be declared using a binding pattern.\"),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:t(1188,e.DiagnosticCategory.Error,\"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188\",\"Only a single variable declaration is allowed in a 'for...of' statement.\"),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:t(1189,e.DiagnosticCategory.Error,\"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189\",\"The variable declaration of a 'for...in' statement cannot have an initializer.\"),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:t(1190,e.DiagnosticCategory.Error,\"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190\",\"The variable declaration of a 'for...of' statement cannot have an initializer.\"),An_import_declaration_cannot_have_modifiers:t(1191,e.DiagnosticCategory.Error,\"An_import_declaration_cannot_have_modifiers_1191\",\"An import declaration cannot have modifiers.\"),Module_0_has_no_default_export:t(1192,e.DiagnosticCategory.Error,\"Module_0_has_no_default_export_1192\",\"Module '{0}' has no default export.\"),An_export_declaration_cannot_have_modifiers:t(1193,e.DiagnosticCategory.Error,\"An_export_declaration_cannot_have_modifiers_1193\",\"An export declaration cannot have modifiers.\"),Export_declarations_are_not_permitted_in_a_namespace:t(1194,e.DiagnosticCategory.Error,\"Export_declarations_are_not_permitted_in_a_namespace_1194\",\"Export declarations are not permitted in a namespace.\"),export_Asterisk_does_not_re_export_a_default:t(1195,e.DiagnosticCategory.Error,\"export_Asterisk_does_not_re_export_a_default_1195\",\"'export *' does not re-export a default.\"),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:t(1196,e.DiagnosticCategory.Error,\"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196\",\"Catch clause variable type annotation must be 'any' or 'unknown' if specified.\"),Catch_clause_variable_cannot_have_an_initializer:t(1197,e.DiagnosticCategory.Error,\"Catch_clause_variable_cannot_have_an_initializer_1197\",\"Catch clause variable cannot have an initializer.\"),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:t(1198,e.DiagnosticCategory.Error,\"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198\",\"An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive.\"),Unterminated_Unicode_escape_sequence:t(1199,e.DiagnosticCategory.Error,\"Unterminated_Unicode_escape_sequence_1199\",\"Unterminated Unicode escape sequence.\"),Line_terminator_not_permitted_before_arrow:t(1200,e.DiagnosticCategory.Error,\"Line_terminator_not_permitted_before_arrow_1200\",\"Line terminator not permitted before arrow.\"),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:t(1202,e.DiagnosticCategory.Error,\"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202\",\"Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from \\\"mod\\\"', 'import {a} from \\\"mod\\\"', 'import d from \\\"mod\\\"', or another module format instead.\"),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:t(1203,e.DiagnosticCategory.Error,\"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203\",\"Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead.\"),Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type:t(1205,e.DiagnosticCategory.Error,\"Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type_1205\",\"Re-exporting a type when the '--isolatedModules' flag is provided requires using 'export type'.\"),Decorators_are_not_valid_here:t(1206,e.DiagnosticCategory.Error,\"Decorators_are_not_valid_here_1206\",\"Decorators are not valid here.\"),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:t(1207,e.DiagnosticCategory.Error,\"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207\",\"Decorators cannot be applied to multiple get/set accessors of the same name.\"),_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module:t(1208,e.DiagnosticCategory.Error,\"_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_imp_1208\",\"'{0}' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module.\"),Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:t(1210,e.DiagnosticCategory.Error,\"Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210\",\"Invalid use of '{0}'. Class definitions are automatically in strict mode.\"),A_class_declaration_without_the_default_modifier_must_have_a_name:t(1211,e.DiagnosticCategory.Error,\"A_class_declaration_without_the_default_modifier_must_have_a_name_1211\",\"A class declaration without the 'default' modifier must have a name.\"),Identifier_expected_0_is_a_reserved_word_in_strict_mode:t(1212,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212\",\"Identifier expected. '{0}' is a reserved word in strict mode.\"),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:t(1213,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213\",\"Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode.\"),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:t(1214,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214\",\"Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode.\"),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:t(1215,e.DiagnosticCategory.Error,\"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215\",\"Invalid use of '{0}'. Modules are automatically in strict mode.\"),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:t(1216,e.DiagnosticCategory.Error,\"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216\",\"Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.\"),Export_assignment_is_not_supported_when_module_flag_is_system:t(1218,e.DiagnosticCategory.Error,\"Export_assignment_is_not_supported_when_module_flag_is_system_1218\",\"Export assignment is not supported when '--module' flag is 'system'.\"),Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning:t(1219,e.DiagnosticCategory.Error,\"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219\",\"Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning.\"),Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher:t(1220,e.DiagnosticCategory.Error,\"Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220\",\"Generators are only available when targeting ECMAScript 2015 or higher.\"),Generators_are_not_allowed_in_an_ambient_context:t(1221,e.DiagnosticCategory.Error,\"Generators_are_not_allowed_in_an_ambient_context_1221\",\"Generators are not allowed in an ambient context.\"),An_overload_signature_cannot_be_declared_as_a_generator:t(1222,e.DiagnosticCategory.Error,\"An_overload_signature_cannot_be_declared_as_a_generator_1222\",\"An overload signature cannot be declared as a generator.\"),_0_tag_already_specified:t(1223,e.DiagnosticCategory.Error,\"_0_tag_already_specified_1223\",\"'{0}' tag already specified.\"),Signature_0_must_be_a_type_predicate:t(1224,e.DiagnosticCategory.Error,\"Signature_0_must_be_a_type_predicate_1224\",\"Signature '{0}' must be a type predicate.\"),Cannot_find_parameter_0:t(1225,e.DiagnosticCategory.Error,\"Cannot_find_parameter_0_1225\",\"Cannot find parameter '{0}'.\"),Type_predicate_0_is_not_assignable_to_1:t(1226,e.DiagnosticCategory.Error,\"Type_predicate_0_is_not_assignable_to_1_1226\",\"Type predicate '{0}' is not assignable to '{1}'.\"),Parameter_0_is_not_in_the_same_position_as_parameter_1:t(1227,e.DiagnosticCategory.Error,\"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227\",\"Parameter '{0}' is not in the same position as parameter '{1}'.\"),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:t(1228,e.DiagnosticCategory.Error,\"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228\",\"A type predicate is only allowed in return type position for functions and methods.\"),A_type_predicate_cannot_reference_a_rest_parameter:t(1229,e.DiagnosticCategory.Error,\"A_type_predicate_cannot_reference_a_rest_parameter_1229\",\"A type predicate cannot reference a rest parameter.\"),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:t(1230,e.DiagnosticCategory.Error,\"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230\",\"A type predicate cannot reference element '{0}' in a binding pattern.\"),An_export_assignment_can_only_be_used_in_a_module:t(1231,e.DiagnosticCategory.Error,\"An_export_assignment_can_only_be_used_in_a_module_1231\",\"An export assignment can only be used in a module.\"),An_import_declaration_can_only_be_used_in_a_namespace_or_module:t(1232,e.DiagnosticCategory.Error,\"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232\",\"An import declaration can only be used in a namespace or module.\"),An_export_declaration_can_only_be_used_in_a_module:t(1233,e.DiagnosticCategory.Error,\"An_export_declaration_can_only_be_used_in_a_module_1233\",\"An export declaration can only be used in a module.\"),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:t(1234,e.DiagnosticCategory.Error,\"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234\",\"An ambient module declaration is only allowed at the top level in a file.\"),A_namespace_declaration_is_only_allowed_in_a_namespace_or_module:t(1235,e.DiagnosticCategory.Error,\"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235\",\"A namespace declaration is only allowed in a namespace or module.\"),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:t(1236,e.DiagnosticCategory.Error,\"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236\",\"The return type of a property decorator function must be either 'void' or 'any'.\"),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:t(1237,e.DiagnosticCategory.Error,\"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237\",\"The return type of a parameter decorator function must be either 'void' or 'any'.\"),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:t(1238,e.DiagnosticCategory.Error,\"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238\",\"Unable to resolve signature of class decorator when called as an expression.\"),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:t(1239,e.DiagnosticCategory.Error,\"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239\",\"Unable to resolve signature of parameter decorator when called as an expression.\"),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:t(1240,e.DiagnosticCategory.Error,\"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240\",\"Unable to resolve signature of property decorator when called as an expression.\"),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:t(1241,e.DiagnosticCategory.Error,\"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241\",\"Unable to resolve signature of method decorator when called as an expression.\"),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:t(1242,e.DiagnosticCategory.Error,\"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242\",\"'abstract' modifier can only appear on a class, method, or property declaration.\"),_0_modifier_cannot_be_used_with_1_modifier:t(1243,e.DiagnosticCategory.Error,\"_0_modifier_cannot_be_used_with_1_modifier_1243\",\"'{0}' modifier cannot be used with '{1}' modifier.\"),Abstract_methods_can_only_appear_within_an_abstract_class:t(1244,e.DiagnosticCategory.Error,\"Abstract_methods_can_only_appear_within_an_abstract_class_1244\",\"Abstract methods can only appear within an abstract class.\"),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:t(1245,e.DiagnosticCategory.Error,\"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245\",\"Method '{0}' cannot have an implementation because it is marked abstract.\"),An_interface_property_cannot_have_an_initializer:t(1246,e.DiagnosticCategory.Error,\"An_interface_property_cannot_have_an_initializer_1246\",\"An interface property cannot have an initializer.\"),A_type_literal_property_cannot_have_an_initializer:t(1247,e.DiagnosticCategory.Error,\"A_type_literal_property_cannot_have_an_initializer_1247\",\"A type literal property cannot have an initializer.\"),A_class_member_cannot_have_the_0_keyword:t(1248,e.DiagnosticCategory.Error,\"A_class_member_cannot_have_the_0_keyword_1248\",\"A class member cannot have the '{0}' keyword.\"),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:t(1249,e.DiagnosticCategory.Error,\"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249\",\"A decorator can only decorate a method implementation, not an overload.\"),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:t(1250,e.DiagnosticCategory.Error,\"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250\",\"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'.\"),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:t(1251,e.DiagnosticCategory.Error,\"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251\",\"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode.\"),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:t(1252,e.DiagnosticCategory.Error,\"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252\",\"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode.\"),_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag:t(1253,e.DiagnosticCategory.Error,\"_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253\",\"'{0}' tag cannot be used independently as a top level JSDoc tag.\"),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:t(1254,e.DiagnosticCategory.Error,\"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254\",\"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.\"),A_definite_assignment_assertion_is_not_permitted_in_this_context:t(1255,e.DiagnosticCategory.Error,\"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255\",\"A definite assignment assertion '!' is not permitted in this context.\"),A_rest_element_must_be_last_in_a_tuple_type:t(1256,e.DiagnosticCategory.Error,\"A_rest_element_must_be_last_in_a_tuple_type_1256\",\"A rest element must be last in a tuple type.\"),A_required_element_cannot_follow_an_optional_element:t(1257,e.DiagnosticCategory.Error,\"A_required_element_cannot_follow_an_optional_element_1257\",\"A required element cannot follow an optional element.\"),Module_0_can_only_be_default_imported_using_the_1_flag:t(1259,e.DiagnosticCategory.Error,\"Module_0_can_only_be_default_imported_using_the_1_flag_1259\",\"Module '{0}' can only be default-imported using the '{1}' flag\"),Keywords_cannot_contain_escape_characters:t(1260,e.DiagnosticCategory.Error,\"Keywords_cannot_contain_escape_characters_1260\",\"Keywords cannot contain escape characters.\"),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:t(1261,e.DiagnosticCategory.Error,\"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261\",\"Already included file name '{0}' differs from file name '{1}' only in casing.\"),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:t(1262,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262\",\"Identifier expected. '{0}' is a reserved word at the top-level of a module.\"),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:t(1263,e.DiagnosticCategory.Error,\"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263\",\"Declarations with initializers cannot also have definite assignment assertions.\"),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:t(1264,e.DiagnosticCategory.Error,\"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264\",\"Declarations with definite assignment assertions must also have type annotations.\"),with_statements_are_not_allowed_in_an_async_function_block:t(1300,e.DiagnosticCategory.Error,\"with_statements_are_not_allowed_in_an_async_function_block_1300\",\"'with' statements are not allowed in an async function block.\"),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:t(1308,e.DiagnosticCategory.Error,\"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308\",\"'await' expressions are only allowed within async functions and at the top levels of modules.\"),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:t(1312,e.DiagnosticCategory.Error,\"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312\",\"Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern.\"),The_body_of_an_if_statement_cannot_be_the_empty_statement:t(1313,e.DiagnosticCategory.Error,\"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313\",\"The body of an 'if' statement cannot be the empty statement.\"),Global_module_exports_may_only_appear_in_module_files:t(1314,e.DiagnosticCategory.Error,\"Global_module_exports_may_only_appear_in_module_files_1314\",\"Global module exports may only appear in module files.\"),Global_module_exports_may_only_appear_in_declaration_files:t(1315,e.DiagnosticCategory.Error,\"Global_module_exports_may_only_appear_in_declaration_files_1315\",\"Global module exports may only appear in declaration files.\"),Global_module_exports_may_only_appear_at_top_level:t(1316,e.DiagnosticCategory.Error,\"Global_module_exports_may_only_appear_at_top_level_1316\",\"Global module exports may only appear at top level.\"),A_parameter_property_cannot_be_declared_using_a_rest_parameter:t(1317,e.DiagnosticCategory.Error,\"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317\",\"A parameter property cannot be declared using a rest parameter.\"),An_abstract_accessor_cannot_have_an_implementation:t(1318,e.DiagnosticCategory.Error,\"An_abstract_accessor_cannot_have_an_implementation_1318\",\"An abstract accessor cannot have an implementation.\"),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:t(1319,e.DiagnosticCategory.Error,\"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319\",\"A default export can only be used in an ECMAScript-style module.\"),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1320,e.DiagnosticCategory.Error,\"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320\",\"Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member.\"),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1321,e.DiagnosticCategory.Error,\"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321\",\"Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member.\"),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1322,e.DiagnosticCategory.Error,\"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322\",\"Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member.\"),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system_or_umd:t(1323,e.DiagnosticCategory.Error,\"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system__1323\",\"Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'esnext', 'commonjs', 'amd', 'system', or 'umd'.\"),Dynamic_import_must_have_one_specifier_as_an_argument:t(1324,e.DiagnosticCategory.Error,\"Dynamic_import_must_have_one_specifier_as_an_argument_1324\",\"Dynamic import must have one specifier as an argument.\"),Specifier_of_dynamic_import_cannot_be_spread_element:t(1325,e.DiagnosticCategory.Error,\"Specifier_of_dynamic_import_cannot_be_spread_element_1325\",\"Specifier of dynamic import cannot be spread element.\"),Dynamic_import_cannot_have_type_arguments:t(1326,e.DiagnosticCategory.Error,\"Dynamic_import_cannot_have_type_arguments_1326\",\"Dynamic import cannot have type arguments.\"),String_literal_with_double_quotes_expected:t(1327,e.DiagnosticCategory.Error,\"String_literal_with_double_quotes_expected_1327\",\"String literal with double quotes expected.\"),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:t(1328,e.DiagnosticCategory.Error,\"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328\",\"Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal.\"),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:t(1329,e.DiagnosticCategory.Error,\"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329\",\"'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?\"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:t(1330,e.DiagnosticCategory.Error,\"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330\",\"A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.\"),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:t(1331,e.DiagnosticCategory.Error,\"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331\",\"A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.\"),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:t(1332,e.DiagnosticCategory.Error,\"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332\",\"A variable whose type is a 'unique symbol' type must be 'const'.\"),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:t(1333,e.DiagnosticCategory.Error,\"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333\",\"'unique symbol' types may not be used on a variable declaration with a binding name.\"),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:t(1334,e.DiagnosticCategory.Error,\"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334\",\"'unique symbol' types are only allowed on variables in a variable statement.\"),unique_symbol_types_are_not_allowed_here:t(1335,e.DiagnosticCategory.Error,\"unique_symbol_types_are_not_allowed_here_1335\",\"'unique symbol' types are not allowed here.\"),An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead:t(1336,e.DiagnosticCategory.Error,\"An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead_1336\",\"An index signature parameter type cannot be a type alias. Consider writing '[{0}: {1}]: {2}' instead.\"),An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead:t(1337,e.DiagnosticCategory.Error,\"An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead_1337\",\"An index signature parameter type cannot be a union type. Consider using a mapped object type instead.\"),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:t(1338,e.DiagnosticCategory.Error,\"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338\",\"'infer' declarations are only permitted in the 'extends' clause of a conditional type.\"),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:t(1339,e.DiagnosticCategory.Error,\"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339\",\"Module '{0}' does not refer to a value, but is used as a value here.\"),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:t(1340,e.DiagnosticCategory.Error,\"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340\",\"Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?\"),Type_arguments_cannot_be_used_here:t(1342,e.DiagnosticCategory.Error,\"Type_arguments_cannot_be_used_here_1342\",\"Type arguments cannot be used here.\"),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_or_system:t(1343,e.DiagnosticCategory.Error,\"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_or_system_1343\",\"The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'esnext', or 'system'.\"),A_label_is_not_allowed_here:t(1344,e.DiagnosticCategory.Error,\"A_label_is_not_allowed_here_1344\",\"'A label is not allowed here.\"),An_expression_of_type_void_cannot_be_tested_for_truthiness:t(1345,e.DiagnosticCategory.Error,\"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345\",\"An expression of type 'void' cannot be tested for truthiness.\"),This_parameter_is_not_allowed_with_use_strict_directive:t(1346,e.DiagnosticCategory.Error,\"This_parameter_is_not_allowed_with_use_strict_directive_1346\",\"This parameter is not allowed with 'use strict' directive.\"),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:t(1347,e.DiagnosticCategory.Error,\"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347\",\"'use strict' directive cannot be used with non-simple parameter list.\"),Non_simple_parameter_declared_here:t(1348,e.DiagnosticCategory.Error,\"Non_simple_parameter_declared_here_1348\",\"Non-simple parameter declared here.\"),use_strict_directive_used_here:t(1349,e.DiagnosticCategory.Error,\"use_strict_directive_used_here_1349\",\"'use strict' directive used here.\"),Print_the_final_configuration_instead_of_building:t(1350,e.DiagnosticCategory.Message,\"Print_the_final_configuration_instead_of_building_1350\",\"Print the final configuration instead of building.\"),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:t(1351,e.DiagnosticCategory.Error,\"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351\",\"An identifier or keyword cannot immediately follow a numeric literal.\"),A_bigint_literal_cannot_use_exponential_notation:t(1352,e.DiagnosticCategory.Error,\"A_bigint_literal_cannot_use_exponential_notation_1352\",\"A bigint literal cannot use exponential notation.\"),A_bigint_literal_must_be_an_integer:t(1353,e.DiagnosticCategory.Error,\"A_bigint_literal_must_be_an_integer_1353\",\"A bigint literal must be an integer.\"),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:t(1354,e.DiagnosticCategory.Error,\"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354\",\"'readonly' type modifier is only permitted on array and tuple literal types.\"),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:t(1355,e.DiagnosticCategory.Error,\"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355\",\"A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals.\"),Did_you_mean_to_mark_this_function_as_async:t(1356,e.DiagnosticCategory.Error,\"Did_you_mean_to_mark_this_function_as_async_1356\",\"Did you mean to mark this function as 'async'?\"),An_enum_member_name_must_be_followed_by_a_or:t(1357,e.DiagnosticCategory.Error,\"An_enum_member_name_must_be_followed_by_a_or_1357\",\"An enum member name must be followed by a ',', '=', or '}'.\"),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:t(1358,e.DiagnosticCategory.Error,\"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358\",\"Tagged template expressions are not permitted in an optional chain.\"),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:t(1359,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359\",\"Identifier expected. '{0}' is a reserved word that cannot be used here.\"),Did_you_mean_to_parenthesize_this_function_type:t(1360,e.DiagnosticCategory.Error,\"Did_you_mean_to_parenthesize_this_function_type_1360\",\"Did you mean to parenthesize this function type?\"),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:t(1361,e.DiagnosticCategory.Error,\"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361\",\"'{0}' cannot be used as a value because it was imported using 'import type'.\"),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:t(1362,e.DiagnosticCategory.Error,\"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362\",\"'{0}' cannot be used as a value because it was exported using 'export type'.\"),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:t(1363,e.DiagnosticCategory.Error,\"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363\",\"A type-only import can specify a default import or named bindings, but not both.\"),Convert_to_type_only_export:t(1364,e.DiagnosticCategory.Message,\"Convert_to_type_only_export_1364\",\"Convert to type-only export\"),Convert_all_re_exported_types_to_type_only_exports:t(1365,e.DiagnosticCategory.Message,\"Convert_all_re_exported_types_to_type_only_exports_1365\",\"Convert all re-exported types to type-only exports\"),Split_into_two_separate_import_declarations:t(1366,e.DiagnosticCategory.Message,\"Split_into_two_separate_import_declarations_1366\",\"Split into two separate import declarations\"),Split_all_invalid_type_only_imports:t(1367,e.DiagnosticCategory.Message,\"Split_all_invalid_type_only_imports_1367\",\"Split all invalid type-only imports\"),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:t(1368,e.DiagnosticCategory.Message,\"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_1368\",\"Specify emit/checking behavior for imports that are only used for types\"),Did_you_mean_0:t(1369,e.DiagnosticCategory.Message,\"Did_you_mean_0_1369\",\"Did you mean '{0}'?\"),Only_ECMAScript_imports_may_use_import_type:t(1370,e.DiagnosticCategory.Error,\"Only_ECMAScript_imports_may_use_import_type_1370\",\"Only ECMAScript imports may use 'import type'.\"),This_import_is_never_used_as_a_value_and_must_use_import_type_because_the_importsNotUsedAsValues_is_set_to_error:t(1371,e.DiagnosticCategory.Error,\"This_import_is_never_used_as_a_value_and_must_use_import_type_because_the_importsNotUsedAsValues_is__1371\",\"This import is never used as a value and must use 'import type' because the 'importsNotUsedAsValues' is set to 'error'.\"),Convert_to_type_only_import:t(1373,e.DiagnosticCategory.Message,\"Convert_to_type_only_import_1373\",\"Convert to type-only import\"),Convert_all_imports_not_used_as_a_value_to_type_only_imports:t(1374,e.DiagnosticCategory.Message,\"Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374\",\"Convert all imports not used as a value to type-only imports\"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:t(1375,e.DiagnosticCategory.Error,\"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375\",\"'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module.\"),_0_was_imported_here:t(1376,e.DiagnosticCategory.Message,\"_0_was_imported_here_1376\",\"'{0}' was imported here.\"),_0_was_exported_here:t(1377,e.DiagnosticCategory.Message,\"_0_was_exported_here_1377\",\"'{0}' was exported here.\"),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher:t(1378,e.DiagnosticCategory.Error,\"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_t_1378\",\"Top-level 'await' expressions are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher.\"),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:t(1379,e.DiagnosticCategory.Error,\"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379\",\"An import alias cannot reference a declaration that was exported using 'export type'.\"),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:t(1380,e.DiagnosticCategory.Error,\"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380\",\"An import alias cannot reference a declaration that was imported using 'import type'.\"),Unexpected_token_Did_you_mean_or_rbrace:t(1381,e.DiagnosticCategory.Error,\"Unexpected_token_Did_you_mean_or_rbrace_1381\",\"Unexpected token. Did you mean `{'}'}` or `}`?\"),Unexpected_token_Did_you_mean_or_gt:t(1382,e.DiagnosticCategory.Error,\"Unexpected_token_Did_you_mean_or_gt_1382\",\"Unexpected token. Did you mean `{'>'}` or `>`?\"),Only_named_exports_may_use_export_type:t(1383,e.DiagnosticCategory.Error,\"Only_named_exports_may_use_export_type_1383\",\"Only named exports may use 'export type'.\"),A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list:t(1384,e.DiagnosticCategory.Error,\"A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list_1384\",\"A 'new' expression with type arguments must always be followed by a parenthesized argument list.\"),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:t(1385,e.DiagnosticCategory.Error,\"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385\",\"Function type notation must be parenthesized when used in a union type.\"),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:t(1386,e.DiagnosticCategory.Error,\"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386\",\"Constructor type notation must be parenthesized when used in a union type.\"),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t(1387,e.DiagnosticCategory.Error,\"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387\",\"Function type notation must be parenthesized when used in an intersection type.\"),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t(1388,e.DiagnosticCategory.Error,\"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388\",\"Constructor type notation must be parenthesized when used in an intersection type.\"),_0_is_not_allowed_as_a_variable_declaration_name:t(1389,e.DiagnosticCategory.Error,\"_0_is_not_allowed_as_a_variable_declaration_name_1389\",\"'{0}' is not allowed as a variable declaration name.\"),The_types_of_0_are_incompatible_between_these_types:t(2200,e.DiagnosticCategory.Error,\"The_types_of_0_are_incompatible_between_these_types_2200\",\"The types of '{0}' are incompatible between these types.\"),The_types_returned_by_0_are_incompatible_between_these_types:t(2201,e.DiagnosticCategory.Error,\"The_types_returned_by_0_are_incompatible_between_these_types_2201\",\"The types returned by '{0}' are incompatible between these types.\"),Call_signature_return_types_0_and_1_are_incompatible:t(2202,e.DiagnosticCategory.Error,\"Call_signature_return_types_0_and_1_are_incompatible_2202\",\"Call signature return types '{0}' and '{1}' are incompatible.\",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:t(2203,e.DiagnosticCategory.Error,\"Construct_signature_return_types_0_and_1_are_incompatible_2203\",\"Construct signature return types '{0}' and '{1}' are incompatible.\",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:t(2204,e.DiagnosticCategory.Error,\"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204\",\"Call signatures with no arguments have incompatible return types '{0}' and '{1}'.\",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:t(2205,e.DiagnosticCategory.Error,\"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205\",\"Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.\",void 0,!0),Duplicate_identifier_0:t(2300,e.DiagnosticCategory.Error,\"Duplicate_identifier_0_2300\",\"Duplicate identifier '{0}'.\"),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:t(2301,e.DiagnosticCategory.Error,\"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301\",\"Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor.\"),Static_members_cannot_reference_class_type_parameters:t(2302,e.DiagnosticCategory.Error,\"Static_members_cannot_reference_class_type_parameters_2302\",\"Static members cannot reference class type parameters.\"),Circular_definition_of_import_alias_0:t(2303,e.DiagnosticCategory.Error,\"Circular_definition_of_import_alias_0_2303\",\"Circular definition of import alias '{0}'.\"),Cannot_find_name_0:t(2304,e.DiagnosticCategory.Error,\"Cannot_find_name_0_2304\",\"Cannot find name '{0}'.\"),Module_0_has_no_exported_member_1:t(2305,e.DiagnosticCategory.Error,\"Module_0_has_no_exported_member_1_2305\",\"Module '{0}' has no exported member '{1}'.\"),File_0_is_not_a_module:t(2306,e.DiagnosticCategory.Error,\"File_0_is_not_a_module_2306\",\"File '{0}' is not a module.\"),Cannot_find_module_0_or_its_corresponding_type_declarations:t(2307,e.DiagnosticCategory.Error,\"Cannot_find_module_0_or_its_corresponding_type_declarations_2307\",\"Cannot find module '{0}' or its corresponding type declarations.\"),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:t(2308,e.DiagnosticCategory.Error,\"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308\",\"Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity.\"),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:t(2309,e.DiagnosticCategory.Error,\"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309\",\"An export assignment cannot be used in a module with other exported elements.\"),Type_0_recursively_references_itself_as_a_base_type:t(2310,e.DiagnosticCategory.Error,\"Type_0_recursively_references_itself_as_a_base_type_2310\",\"Type '{0}' recursively references itself as a base type.\"),A_class_may_only_extend_another_class:t(2311,e.DiagnosticCategory.Error,\"A_class_may_only_extend_another_class_2311\",\"A class may only extend another class.\"),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2312,e.DiagnosticCategory.Error,\"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312\",\"An interface can only extend an object type or intersection of object types with statically known members.\"),Type_parameter_0_has_a_circular_constraint:t(2313,e.DiagnosticCategory.Error,\"Type_parameter_0_has_a_circular_constraint_2313\",\"Type parameter '{0}' has a circular constraint.\"),Generic_type_0_requires_1_type_argument_s:t(2314,e.DiagnosticCategory.Error,\"Generic_type_0_requires_1_type_argument_s_2314\",\"Generic type '{0}' requires {1} type argument(s).\"),Type_0_is_not_generic:t(2315,e.DiagnosticCategory.Error,\"Type_0_is_not_generic_2315\",\"Type '{0}' is not generic.\"),Global_type_0_must_be_a_class_or_interface_type:t(2316,e.DiagnosticCategory.Error,\"Global_type_0_must_be_a_class_or_interface_type_2316\",\"Global type '{0}' must be a class or interface type.\"),Global_type_0_must_have_1_type_parameter_s:t(2317,e.DiagnosticCategory.Error,\"Global_type_0_must_have_1_type_parameter_s_2317\",\"Global type '{0}' must have {1} type parameter(s).\"),Cannot_find_global_type_0:t(2318,e.DiagnosticCategory.Error,\"Cannot_find_global_type_0_2318\",\"Cannot find global type '{0}'.\"),Named_property_0_of_types_1_and_2_are_not_identical:t(2319,e.DiagnosticCategory.Error,\"Named_property_0_of_types_1_and_2_are_not_identical_2319\",\"Named property '{0}' of types '{1}' and '{2}' are not identical.\"),Interface_0_cannot_simultaneously_extend_types_1_and_2:t(2320,e.DiagnosticCategory.Error,\"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320\",\"Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'.\"),Excessive_stack_depth_comparing_types_0_and_1:t(2321,e.DiagnosticCategory.Error,\"Excessive_stack_depth_comparing_types_0_and_1_2321\",\"Excessive stack depth comparing types '{0}' and '{1}'.\"),Type_0_is_not_assignable_to_type_1:t(2322,e.DiagnosticCategory.Error,\"Type_0_is_not_assignable_to_type_1_2322\",\"Type '{0}' is not assignable to type '{1}'.\"),Cannot_redeclare_exported_variable_0:t(2323,e.DiagnosticCategory.Error,\"Cannot_redeclare_exported_variable_0_2323\",\"Cannot redeclare exported variable '{0}'.\"),Property_0_is_missing_in_type_1:t(2324,e.DiagnosticCategory.Error,\"Property_0_is_missing_in_type_1_2324\",\"Property '{0}' is missing in type '{1}'.\"),Property_0_is_private_in_type_1_but_not_in_type_2:t(2325,e.DiagnosticCategory.Error,\"Property_0_is_private_in_type_1_but_not_in_type_2_2325\",\"Property '{0}' is private in type '{1}' but not in type '{2}'.\"),Types_of_property_0_are_incompatible:t(2326,e.DiagnosticCategory.Error,\"Types_of_property_0_are_incompatible_2326\",\"Types of property '{0}' are incompatible.\"),Property_0_is_optional_in_type_1_but_required_in_type_2:t(2327,e.DiagnosticCategory.Error,\"Property_0_is_optional_in_type_1_but_required_in_type_2_2327\",\"Property '{0}' is optional in type '{1}' but required in type '{2}'.\"),Types_of_parameters_0_and_1_are_incompatible:t(2328,e.DiagnosticCategory.Error,\"Types_of_parameters_0_and_1_are_incompatible_2328\",\"Types of parameters '{0}' and '{1}' are incompatible.\"),Index_signature_is_missing_in_type_0:t(2329,e.DiagnosticCategory.Error,\"Index_signature_is_missing_in_type_0_2329\",\"Index signature is missing in type '{0}'.\"),Index_signatures_are_incompatible:t(2330,e.DiagnosticCategory.Error,\"Index_signatures_are_incompatible_2330\",\"Index signatures are incompatible.\"),this_cannot_be_referenced_in_a_module_or_namespace_body:t(2331,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_a_module_or_namespace_body_2331\",\"'this' cannot be referenced in a module or namespace body.\"),this_cannot_be_referenced_in_current_location:t(2332,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_current_location_2332\",\"'this' cannot be referenced in current location.\"),this_cannot_be_referenced_in_constructor_arguments:t(2333,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_constructor_arguments_2333\",\"'this' cannot be referenced in constructor arguments.\"),this_cannot_be_referenced_in_a_static_property_initializer:t(2334,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_a_static_property_initializer_2334\",\"'this' cannot be referenced in a static property initializer.\"),super_can_only_be_referenced_in_a_derived_class:t(2335,e.DiagnosticCategory.Error,\"super_can_only_be_referenced_in_a_derived_class_2335\",\"'super' can only be referenced in a derived class.\"),super_cannot_be_referenced_in_constructor_arguments:t(2336,e.DiagnosticCategory.Error,\"super_cannot_be_referenced_in_constructor_arguments_2336\",\"'super' cannot be referenced in constructor arguments.\"),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:t(2337,e.DiagnosticCategory.Error,\"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337\",\"Super calls are not permitted outside constructors or in nested functions inside constructors.\"),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:t(2338,e.DiagnosticCategory.Error,\"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338\",\"'super' property access is permitted only in a constructor, member function, or member accessor of a derived class.\"),Property_0_does_not_exist_on_type_1:t(2339,e.DiagnosticCategory.Error,\"Property_0_does_not_exist_on_type_1_2339\",\"Property '{0}' does not exist on type '{1}'.\"),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:t(2340,e.DiagnosticCategory.Error,\"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340\",\"Only public and protected methods of the base class are accessible via the 'super' keyword.\"),Property_0_is_private_and_only_accessible_within_class_1:t(2341,e.DiagnosticCategory.Error,\"Property_0_is_private_and_only_accessible_within_class_1_2341\",\"Property '{0}' is private and only accessible within class '{1}'.\"),An_index_expression_argument_must_be_of_type_string_number_symbol_or_any:t(2342,e.DiagnosticCategory.Error,\"An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342\",\"An index expression argument must be of type 'string', 'number', 'symbol', or 'any'.\"),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:t(2343,e.DiagnosticCategory.Error,\"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343\",\"This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'.\"),Type_0_does_not_satisfy_the_constraint_1:t(2344,e.DiagnosticCategory.Error,\"Type_0_does_not_satisfy_the_constraint_1_2344\",\"Type '{0}' does not satisfy the constraint '{1}'.\"),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:t(2345,e.DiagnosticCategory.Error,\"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345\",\"Argument of type '{0}' is not assignable to parameter of type '{1}'.\"),Call_target_does_not_contain_any_signatures:t(2346,e.DiagnosticCategory.Error,\"Call_target_does_not_contain_any_signatures_2346\",\"Call target does not contain any signatures.\"),Untyped_function_calls_may_not_accept_type_arguments:t(2347,e.DiagnosticCategory.Error,\"Untyped_function_calls_may_not_accept_type_arguments_2347\",\"Untyped function calls may not accept type arguments.\"),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:t(2348,e.DiagnosticCategory.Error,\"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348\",\"Value of type '{0}' is not callable. Did you mean to include 'new'?\"),This_expression_is_not_callable:t(2349,e.DiagnosticCategory.Error,\"This_expression_is_not_callable_2349\",\"This expression is not callable.\"),Only_a_void_function_can_be_called_with_the_new_keyword:t(2350,e.DiagnosticCategory.Error,\"Only_a_void_function_can_be_called_with_the_new_keyword_2350\",\"Only a void function can be called with the 'new' keyword.\"),This_expression_is_not_constructable:t(2351,e.DiagnosticCategory.Error,\"This_expression_is_not_constructable_2351\",\"This expression is not constructable.\"),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:t(2352,e.DiagnosticCategory.Error,\"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352\",\"Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.\"),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:t(2353,e.DiagnosticCategory.Error,\"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353\",\"Object literal may only specify known properties, and '{0}' does not exist in type '{1}'.\"),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:t(2354,e.DiagnosticCategory.Error,\"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354\",\"This syntax requires an imported helper but module '{0}' cannot be found.\"),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:t(2355,e.DiagnosticCategory.Error,\"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355\",\"A function whose declared type is neither 'void' nor 'any' must return a value.\"),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:t(2356,e.DiagnosticCategory.Error,\"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356\",\"An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type.\"),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:t(2357,e.DiagnosticCategory.Error,\"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357\",\"The operand of an increment or decrement operator must be a variable or a property access.\"),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:t(2358,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358\",\"The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.\"),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:t(2359,e.DiagnosticCategory.Error,\"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359\",\"The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type.\"),The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol:t(2360,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360\",\"The left-hand side of an 'in' expression must be of type 'any', 'string', 'number', or 'symbol'.\"),The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:t(2361,e.DiagnosticCategory.Error,\"The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter_2361\",\"The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter.\"),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:t(2362,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362\",\"The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.\"),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:t(2363,e.DiagnosticCategory.Error,\"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363\",\"The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.\"),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:t(2364,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364\",\"The left-hand side of an assignment expression must be a variable or a property access.\"),Operator_0_cannot_be_applied_to_types_1_and_2:t(2365,e.DiagnosticCategory.Error,\"Operator_0_cannot_be_applied_to_types_1_and_2_2365\",\"Operator '{0}' cannot be applied to types '{1}' and '{2}'.\"),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:t(2366,e.DiagnosticCategory.Error,\"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366\",\"Function lacks ending return statement and return type does not include 'undefined'.\"),This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap:t(2367,e.DiagnosticCategory.Error,\"This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap_2367\",\"This condition will always return '{0}' since the types '{1}' and '{2}' have no overlap.\"),Type_parameter_name_cannot_be_0:t(2368,e.DiagnosticCategory.Error,\"Type_parameter_name_cannot_be_0_2368\",\"Type parameter name cannot be '{0}'.\"),A_parameter_property_is_only_allowed_in_a_constructor_implementation:t(2369,e.DiagnosticCategory.Error,\"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369\",\"A parameter property is only allowed in a constructor implementation.\"),A_rest_parameter_must_be_of_an_array_type:t(2370,e.DiagnosticCategory.Error,\"A_rest_parameter_must_be_of_an_array_type_2370\",\"A rest parameter must be of an array type.\"),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:t(2371,e.DiagnosticCategory.Error,\"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371\",\"A parameter initializer is only allowed in a function or constructor implementation.\"),Parameter_0_cannot_reference_itself:t(2372,e.DiagnosticCategory.Error,\"Parameter_0_cannot_reference_itself_2372\",\"Parameter '{0}' cannot reference itself.\"),Parameter_0_cannot_reference_identifier_1_declared_after_it:t(2373,e.DiagnosticCategory.Error,\"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373\",\"Parameter '{0}' cannot reference identifier '{1}' declared after it.\"),Duplicate_string_index_signature:t(2374,e.DiagnosticCategory.Error,\"Duplicate_string_index_signature_2374\",\"Duplicate string index signature.\"),Duplicate_number_index_signature:t(2375,e.DiagnosticCategory.Error,\"Duplicate_number_index_signature_2375\",\"Duplicate number index signature.\"),A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_parameter_properties_or_private_identifiers:t(2376,e.DiagnosticCategory.Error,\"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376\",\"A 'super' call must be the first statement in the constructor when a class contains initialized properties, parameter properties, or private identifiers.\"),Constructors_for_derived_classes_must_contain_a_super_call:t(2377,e.DiagnosticCategory.Error,\"Constructors_for_derived_classes_must_contain_a_super_call_2377\",\"Constructors for derived classes must contain a 'super' call.\"),A_get_accessor_must_return_a_value:t(2378,e.DiagnosticCategory.Error,\"A_get_accessor_must_return_a_value_2378\",\"A 'get' accessor must return a value.\"),Getter_and_setter_accessors_do_not_agree_in_visibility:t(2379,e.DiagnosticCategory.Error,\"Getter_and_setter_accessors_do_not_agree_in_visibility_2379\",\"Getter and setter accessors do not agree in visibility.\"),get_and_set_accessor_must_have_the_same_type:t(2380,e.DiagnosticCategory.Error,\"get_and_set_accessor_must_have_the_same_type_2380\",\"'get' and 'set' accessor must have the same type.\"),A_signature_with_an_implementation_cannot_use_a_string_literal_type:t(2381,e.DiagnosticCategory.Error,\"A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381\",\"A signature with an implementation cannot use a string literal type.\"),Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature:t(2382,e.DiagnosticCategory.Error,\"Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382\",\"Specialized overload signature is not assignable to any non-specialized signature.\"),Overload_signatures_must_all_be_exported_or_non_exported:t(2383,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_exported_or_non_exported_2383\",\"Overload signatures must all be exported or non-exported.\"),Overload_signatures_must_all_be_ambient_or_non_ambient:t(2384,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_ambient_or_non_ambient_2384\",\"Overload signatures must all be ambient or non-ambient.\"),Overload_signatures_must_all_be_public_private_or_protected:t(2385,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_public_private_or_protected_2385\",\"Overload signatures must all be public, private or protected.\"),Overload_signatures_must_all_be_optional_or_required:t(2386,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_optional_or_required_2386\",\"Overload signatures must all be optional or required.\"),Function_overload_must_be_static:t(2387,e.DiagnosticCategory.Error,\"Function_overload_must_be_static_2387\",\"Function overload must be static.\"),Function_overload_must_not_be_static:t(2388,e.DiagnosticCategory.Error,\"Function_overload_must_not_be_static_2388\",\"Function overload must not be static.\"),Function_implementation_name_must_be_0:t(2389,e.DiagnosticCategory.Error,\"Function_implementation_name_must_be_0_2389\",\"Function implementation name must be '{0}'.\"),Constructor_implementation_is_missing:t(2390,e.DiagnosticCategory.Error,\"Constructor_implementation_is_missing_2390\",\"Constructor implementation is missing.\"),Function_implementation_is_missing_or_not_immediately_following_the_declaration:t(2391,e.DiagnosticCategory.Error,\"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391\",\"Function implementation is missing or not immediately following the declaration.\"),Multiple_constructor_implementations_are_not_allowed:t(2392,e.DiagnosticCategory.Error,\"Multiple_constructor_implementations_are_not_allowed_2392\",\"Multiple constructor implementations are not allowed.\"),Duplicate_function_implementation:t(2393,e.DiagnosticCategory.Error,\"Duplicate_function_implementation_2393\",\"Duplicate function implementation.\"),This_overload_signature_is_not_compatible_with_its_implementation_signature:t(2394,e.DiagnosticCategory.Error,\"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394\",\"This overload signature is not compatible with its implementation signature.\"),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:t(2395,e.DiagnosticCategory.Error,\"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395\",\"Individual declarations in merged declaration '{0}' must be all exported or all local.\"),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:t(2396,e.DiagnosticCategory.Error,\"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396\",\"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.\"),Declaration_name_conflicts_with_built_in_global_identifier_0:t(2397,e.DiagnosticCategory.Error,\"Declaration_name_conflicts_with_built_in_global_identifier_0_2397\",\"Declaration name conflicts with built-in global identifier '{0}'.\"),constructor_cannot_be_used_as_a_parameter_property_name:t(2398,e.DiagnosticCategory.Error,\"constructor_cannot_be_used_as_a_parameter_property_name_2398\",\"'constructor' cannot be used as a parameter property name.\"),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:t(2399,e.DiagnosticCategory.Error,\"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399\",\"Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference.\"),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:t(2400,e.DiagnosticCategory.Error,\"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400\",\"Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference.\"),Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference:t(2401,e.DiagnosticCategory.Error,\"Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401\",\"Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference.\"),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:t(2402,e.DiagnosticCategory.Error,\"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402\",\"Expression resolves to '_super' that compiler uses to capture base class reference.\"),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:t(2403,e.DiagnosticCategory.Error,\"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403\",\"Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'.\"),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:t(2404,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404\",\"The left-hand side of a 'for...in' statement cannot use a type annotation.\"),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:t(2405,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405\",\"The left-hand side of a 'for...in' statement must be of type 'string' or 'any'.\"),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:t(2406,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406\",\"The left-hand side of a 'for...in' statement must be a variable or a property access.\"),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:t(2407,e.DiagnosticCategory.Error,\"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407\",\"The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'.\"),Setters_cannot_return_a_value:t(2408,e.DiagnosticCategory.Error,\"Setters_cannot_return_a_value_2408\",\"Setters cannot return a value.\"),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:t(2409,e.DiagnosticCategory.Error,\"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409\",\"Return type of constructor signature must be assignable to the instance type of the class.\"),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:t(2410,e.DiagnosticCategory.Error,\"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410\",\"The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'.\"),Property_0_of_type_1_is_not_assignable_to_string_index_type_2:t(2411,e.DiagnosticCategory.Error,\"Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411\",\"Property '{0}' of type '{1}' is not assignable to string index type '{2}'.\"),Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2:t(2412,e.DiagnosticCategory.Error,\"Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412\",\"Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'.\"),Numeric_index_type_0_is_not_assignable_to_string_index_type_1:t(2413,e.DiagnosticCategory.Error,\"Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413\",\"Numeric index type '{0}' is not assignable to string index type '{1}'.\"),Class_name_cannot_be_0:t(2414,e.DiagnosticCategory.Error,\"Class_name_cannot_be_0_2414\",\"Class name cannot be '{0}'.\"),Class_0_incorrectly_extends_base_class_1:t(2415,e.DiagnosticCategory.Error,\"Class_0_incorrectly_extends_base_class_1_2415\",\"Class '{0}' incorrectly extends base class '{1}'.\"),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:t(2416,e.DiagnosticCategory.Error,\"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416\",\"Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'.\"),Class_static_side_0_incorrectly_extends_base_class_static_side_1:t(2417,e.DiagnosticCategory.Error,\"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417\",\"Class static side '{0}' incorrectly extends base class static side '{1}'.\"),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:t(2418,e.DiagnosticCategory.Error,\"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418\",\"Type of computed property's value is '{0}', which is not assignable to type '{1}'.\"),Types_of_construct_signatures_are_incompatible:t(2419,e.DiagnosticCategory.Error,\"Types_of_construct_signatures_are_incompatible_2419\",\"Types of construct signatures are incompatible.\"),Class_0_incorrectly_implements_interface_1:t(2420,e.DiagnosticCategory.Error,\"Class_0_incorrectly_implements_interface_1_2420\",\"Class '{0}' incorrectly implements interface '{1}'.\"),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2422,e.DiagnosticCategory.Error,\"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422\",\"A class can only implement an object type or intersection of object types with statically known members.\"),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:t(2423,e.DiagnosticCategory.Error,\"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423\",\"Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor.\"),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:t(2425,e.DiagnosticCategory.Error,\"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425\",\"Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function.\"),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:t(2426,e.DiagnosticCategory.Error,\"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426\",\"Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function.\"),Interface_name_cannot_be_0:t(2427,e.DiagnosticCategory.Error,\"Interface_name_cannot_be_0_2427\",\"Interface name cannot be '{0}'.\"),All_declarations_of_0_must_have_identical_type_parameters:t(2428,e.DiagnosticCategory.Error,\"All_declarations_of_0_must_have_identical_type_parameters_2428\",\"All declarations of '{0}' must have identical type parameters.\"),Interface_0_incorrectly_extends_interface_1:t(2430,e.DiagnosticCategory.Error,\"Interface_0_incorrectly_extends_interface_1_2430\",\"Interface '{0}' incorrectly extends interface '{1}'.\"),Enum_name_cannot_be_0:t(2431,e.DiagnosticCategory.Error,\"Enum_name_cannot_be_0_2431\",\"Enum name cannot be '{0}'.\"),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:t(2432,e.DiagnosticCategory.Error,\"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432\",\"In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element.\"),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:t(2433,e.DiagnosticCategory.Error,\"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433\",\"A namespace declaration cannot be in a different file from a class or function with which it is merged.\"),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:t(2434,e.DiagnosticCategory.Error,\"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434\",\"A namespace declaration cannot be located prior to a class or function with which it is merged.\"),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:t(2435,e.DiagnosticCategory.Error,\"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435\",\"Ambient modules cannot be nested in other modules or namespaces.\"),Ambient_module_declaration_cannot_specify_relative_module_name:t(2436,e.DiagnosticCategory.Error,\"Ambient_module_declaration_cannot_specify_relative_module_name_2436\",\"Ambient module declaration cannot specify relative module name.\"),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:t(2437,e.DiagnosticCategory.Error,\"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437\",\"Module '{0}' is hidden by a local declaration with the same name.\"),Import_name_cannot_be_0:t(2438,e.DiagnosticCategory.Error,\"Import_name_cannot_be_0_2438\",\"Import name cannot be '{0}'.\"),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:t(2439,e.DiagnosticCategory.Error,\"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439\",\"Import or export declaration in an ambient module declaration cannot reference module through relative module name.\"),Import_declaration_conflicts_with_local_declaration_of_0:t(2440,e.DiagnosticCategory.Error,\"Import_declaration_conflicts_with_local_declaration_of_0_2440\",\"Import declaration conflicts with local declaration of '{0}'.\"),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:t(2441,e.DiagnosticCategory.Error,\"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441\",\"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module.\"),Types_have_separate_declarations_of_a_private_property_0:t(2442,e.DiagnosticCategory.Error,\"Types_have_separate_declarations_of_a_private_property_0_2442\",\"Types have separate declarations of a private property '{0}'.\"),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:t(2443,e.DiagnosticCategory.Error,\"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443\",\"Property '{0}' is protected but type '{1}' is not a class derived from '{2}'.\"),Property_0_is_protected_in_type_1_but_public_in_type_2:t(2444,e.DiagnosticCategory.Error,\"Property_0_is_protected_in_type_1_but_public_in_type_2_2444\",\"Property '{0}' is protected in type '{1}' but public in type '{2}'.\"),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:t(2445,e.DiagnosticCategory.Error,\"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445\",\"Property '{0}' is protected and only accessible within class '{1}' and its subclasses.\"),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1:t(2446,e.DiagnosticCategory.Error,\"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_2446\",\"Property '{0}' is protected and only accessible through an instance of class '{1}'.\"),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:t(2447,e.DiagnosticCategory.Error,\"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447\",\"The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead.\"),Block_scoped_variable_0_used_before_its_declaration:t(2448,e.DiagnosticCategory.Error,\"Block_scoped_variable_0_used_before_its_declaration_2448\",\"Block-scoped variable '{0}' used before its declaration.\"),Class_0_used_before_its_declaration:t(2449,e.DiagnosticCategory.Error,\"Class_0_used_before_its_declaration_2449\",\"Class '{0}' used before its declaration.\"),Enum_0_used_before_its_declaration:t(2450,e.DiagnosticCategory.Error,\"Enum_0_used_before_its_declaration_2450\",\"Enum '{0}' used before its declaration.\"),Cannot_redeclare_block_scoped_variable_0:t(2451,e.DiagnosticCategory.Error,\"Cannot_redeclare_block_scoped_variable_0_2451\",\"Cannot redeclare block-scoped variable '{0}'.\"),An_enum_member_cannot_have_a_numeric_name:t(2452,e.DiagnosticCategory.Error,\"An_enum_member_cannot_have_a_numeric_name_2452\",\"An enum member cannot have a numeric name.\"),The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly:t(2453,e.DiagnosticCategory.Error,\"The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453\",\"The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly.\"),Variable_0_is_used_before_being_assigned:t(2454,e.DiagnosticCategory.Error,\"Variable_0_is_used_before_being_assigned_2454\",\"Variable '{0}' is used before being assigned.\"),Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0:t(2455,e.DiagnosticCategory.Error,\"Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455\",\"Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'.\"),Type_alias_0_circularly_references_itself:t(2456,e.DiagnosticCategory.Error,\"Type_alias_0_circularly_references_itself_2456\",\"Type alias '{0}' circularly references itself.\"),Type_alias_name_cannot_be_0:t(2457,e.DiagnosticCategory.Error,\"Type_alias_name_cannot_be_0_2457\",\"Type alias name cannot be '{0}'.\"),An_AMD_module_cannot_have_multiple_name_assignments:t(2458,e.DiagnosticCategory.Error,\"An_AMD_module_cannot_have_multiple_name_assignments_2458\",\"An AMD module cannot have multiple name assignments.\"),Module_0_declares_1_locally_but_it_is_not_exported:t(2459,e.DiagnosticCategory.Error,\"Module_0_declares_1_locally_but_it_is_not_exported_2459\",\"Module '{0}' declares '{1}' locally, but it is not exported.\"),Module_0_declares_1_locally_but_it_is_exported_as_2:t(2460,e.DiagnosticCategory.Error,\"Module_0_declares_1_locally_but_it_is_exported_as_2_2460\",\"Module '{0}' declares '{1}' locally, but it is exported as '{2}'.\"),Type_0_is_not_an_array_type:t(2461,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_2461\",\"Type '{0}' is not an array type.\"),A_rest_element_must_be_last_in_a_destructuring_pattern:t(2462,e.DiagnosticCategory.Error,\"A_rest_element_must_be_last_in_a_destructuring_pattern_2462\",\"A rest element must be last in a destructuring pattern.\"),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:t(2463,e.DiagnosticCategory.Error,\"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463\",\"A binding pattern parameter cannot be optional in an implementation signature.\"),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:t(2464,e.DiagnosticCategory.Error,\"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464\",\"A computed property name must be of type 'string', 'number', 'symbol', or 'any'.\"),this_cannot_be_referenced_in_a_computed_property_name:t(2465,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_a_computed_property_name_2465\",\"'this' cannot be referenced in a computed property name.\"),super_cannot_be_referenced_in_a_computed_property_name:t(2466,e.DiagnosticCategory.Error,\"super_cannot_be_referenced_in_a_computed_property_name_2466\",\"'super' cannot be referenced in a computed property name.\"),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:t(2467,e.DiagnosticCategory.Error,\"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467\",\"A computed property name cannot reference a type parameter from its containing type.\"),Cannot_find_global_value_0:t(2468,e.DiagnosticCategory.Error,\"Cannot_find_global_value_0_2468\",\"Cannot find global value '{0}'.\"),The_0_operator_cannot_be_applied_to_type_symbol:t(2469,e.DiagnosticCategory.Error,\"The_0_operator_cannot_be_applied_to_type_symbol_2469\",\"The '{0}' operator cannot be applied to type 'symbol'.\"),Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object:t(2470,e.DiagnosticCategory.Error,\"Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470\",\"'Symbol' reference does not refer to the global Symbol constructor object.\"),A_computed_property_name_of_the_form_0_must_be_of_type_symbol:t(2471,e.DiagnosticCategory.Error,\"A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471\",\"A computed property name of the form '{0}' must be of type 'symbol'.\"),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:t(2472,e.DiagnosticCategory.Error,\"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472\",\"Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher.\"),Enum_declarations_must_all_be_const_or_non_const:t(2473,e.DiagnosticCategory.Error,\"Enum_declarations_must_all_be_const_or_non_const_2473\",\"Enum declarations must all be const or non-const.\"),const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values:t(2474,e.DiagnosticCategory.Error,\"const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values_2474\",\"const enum member initializers can only contain literal values and other computed enum values.\"),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:t(2475,e.DiagnosticCategory.Error,\"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475\",\"'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query.\"),A_const_enum_member_can_only_be_accessed_using_a_string_literal:t(2476,e.DiagnosticCategory.Error,\"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476\",\"A const enum member can only be accessed using a string literal.\"),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:t(2477,e.DiagnosticCategory.Error,\"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477\",\"'const' enum member initializer was evaluated to a non-finite value.\"),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:t(2478,e.DiagnosticCategory.Error,\"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478\",\"'const' enum member initializer was evaluated to disallowed value 'NaN'.\"),Property_0_does_not_exist_on_const_enum_1:t(2479,e.DiagnosticCategory.Error,\"Property_0_does_not_exist_on_const_enum_1_2479\",\"Property '{0}' does not exist on 'const' enum '{1}'.\"),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:t(2480,e.DiagnosticCategory.Error,\"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480\",\"'let' is not allowed to be used as a name in 'let' or 'const' declarations.\"),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:t(2481,e.DiagnosticCategory.Error,\"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481\",\"Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'.\"),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:t(2483,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483\",\"The left-hand side of a 'for...of' statement cannot use a type annotation.\"),Export_declaration_conflicts_with_exported_declaration_of_0:t(2484,e.DiagnosticCategory.Error,\"Export_declaration_conflicts_with_exported_declaration_of_0_2484\",\"Export declaration conflicts with exported declaration of '{0}'.\"),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:t(2487,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487\",\"The left-hand side of a 'for...of' statement must be a variable or a property access.\"),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2488,e.DiagnosticCategory.Error,\"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488\",\"Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator.\"),An_iterator_must_have_a_next_method:t(2489,e.DiagnosticCategory.Error,\"An_iterator_must_have_a_next_method_2489\",\"An iterator must have a 'next()' method.\"),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:t(2490,e.DiagnosticCategory.Error,\"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490\",\"The type returned by the '{0}()' method of an iterator must have a 'value' property.\"),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:t(2491,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491\",\"The left-hand side of a 'for...in' statement cannot be a destructuring pattern.\"),Cannot_redeclare_identifier_0_in_catch_clause:t(2492,e.DiagnosticCategory.Error,\"Cannot_redeclare_identifier_0_in_catch_clause_2492\",\"Cannot redeclare identifier '{0}' in catch clause.\"),Tuple_type_0_of_length_1_has_no_element_at_index_2:t(2493,e.DiagnosticCategory.Error,\"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493\",\"Tuple type '{0}' of length '{1}' has no element at index '{2}'.\"),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:t(2494,e.DiagnosticCategory.Error,\"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494\",\"Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher.\"),Type_0_is_not_an_array_type_or_a_string_type:t(2495,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_or_a_string_type_2495\",\"Type '{0}' is not an array type or a string type.\"),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:t(2496,e.DiagnosticCategory.Error,\"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496\",\"The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression.\"),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:t(2497,e.DiagnosticCategory.Error,\"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497\",\"This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export.\"),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:t(2498,e.DiagnosticCategory.Error,\"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498\",\"Module '{0}' uses 'export =' and cannot be used with 'export *'.\"),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:t(2499,e.DiagnosticCategory.Error,\"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499\",\"An interface can only extend an identifier/qualified-name with optional type arguments.\"),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:t(2500,e.DiagnosticCategory.Error,\"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500\",\"A class can only implement an identifier/qualified-name with optional type arguments.\"),A_rest_element_cannot_contain_a_binding_pattern:t(2501,e.DiagnosticCategory.Error,\"A_rest_element_cannot_contain_a_binding_pattern_2501\",\"A rest element cannot contain a binding pattern.\"),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:t(2502,e.DiagnosticCategory.Error,\"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502\",\"'{0}' is referenced directly or indirectly in its own type annotation.\"),Cannot_find_namespace_0:t(2503,e.DiagnosticCategory.Error,\"Cannot_find_namespace_0_2503\",\"Cannot find namespace '{0}'.\"),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:t(2504,e.DiagnosticCategory.Error,\"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504\",\"Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator.\"),A_generator_cannot_have_a_void_type_annotation:t(2505,e.DiagnosticCategory.Error,\"A_generator_cannot_have_a_void_type_annotation_2505\",\"A generator cannot have a 'void' type annotation.\"),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:t(2506,e.DiagnosticCategory.Error,\"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506\",\"'{0}' is referenced directly or indirectly in its own base expression.\"),Type_0_is_not_a_constructor_function_type:t(2507,e.DiagnosticCategory.Error,\"Type_0_is_not_a_constructor_function_type_2507\",\"Type '{0}' is not a constructor function type.\"),No_base_constructor_has_the_specified_number_of_type_arguments:t(2508,e.DiagnosticCategory.Error,\"No_base_constructor_has_the_specified_number_of_type_arguments_2508\",\"No base constructor has the specified number of type arguments.\"),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2509,e.DiagnosticCategory.Error,\"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509\",\"Base constructor return type '{0}' is not an object type or intersection of object types with statically known members.\"),Base_constructors_must_all_have_the_same_return_type:t(2510,e.DiagnosticCategory.Error,\"Base_constructors_must_all_have_the_same_return_type_2510\",\"Base constructors must all have the same return type.\"),Cannot_create_an_instance_of_an_abstract_class:t(2511,e.DiagnosticCategory.Error,\"Cannot_create_an_instance_of_an_abstract_class_2511\",\"Cannot create an instance of an abstract class.\"),Overload_signatures_must_all_be_abstract_or_non_abstract:t(2512,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_abstract_or_non_abstract_2512\",\"Overload signatures must all be abstract or non-abstract.\"),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:t(2513,e.DiagnosticCategory.Error,\"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513\",\"Abstract method '{0}' in class '{1}' cannot be accessed via super expression.\"),Classes_containing_abstract_methods_must_be_marked_abstract:t(2514,e.DiagnosticCategory.Error,\"Classes_containing_abstract_methods_must_be_marked_abstract_2514\",\"Classes containing abstract methods must be marked abstract.\"),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:t(2515,e.DiagnosticCategory.Error,\"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515\",\"Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'.\"),All_declarations_of_an_abstract_method_must_be_consecutive:t(2516,e.DiagnosticCategory.Error,\"All_declarations_of_an_abstract_method_must_be_consecutive_2516\",\"All declarations of an abstract method must be consecutive.\"),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:t(2517,e.DiagnosticCategory.Error,\"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517\",\"Cannot assign an abstract constructor type to a non-abstract constructor type.\"),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:t(2518,e.DiagnosticCategory.Error,\"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518\",\"A 'this'-based type guard is not compatible with a parameter-based type guard.\"),An_async_iterator_must_have_a_next_method:t(2519,e.DiagnosticCategory.Error,\"An_async_iterator_must_have_a_next_method_2519\",\"An async iterator must have a 'next()' method.\"),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:t(2520,e.DiagnosticCategory.Error,\"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520\",\"Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions.\"),Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions:t(2521,e.DiagnosticCategory.Error,\"Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521\",\"Expression resolves to variable declaration '{0}' that compiler uses to support async functions.\"),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:t(2522,e.DiagnosticCategory.Error,\"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522\",\"The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method.\"),yield_expressions_cannot_be_used_in_a_parameter_initializer:t(2523,e.DiagnosticCategory.Error,\"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523\",\"'yield' expressions cannot be used in a parameter initializer.\"),await_expressions_cannot_be_used_in_a_parameter_initializer:t(2524,e.DiagnosticCategory.Error,\"await_expressions_cannot_be_used_in_a_parameter_initializer_2524\",\"'await' expressions cannot be used in a parameter initializer.\"),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:t(2525,e.DiagnosticCategory.Error,\"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525\",\"Initializer provides no value for this binding element and the binding element has no default value.\"),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:t(2526,e.DiagnosticCategory.Error,\"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526\",\"A 'this' type is available only in a non-static member of a class or interface.\"),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:t(2527,e.DiagnosticCategory.Error,\"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527\",\"The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary.\"),A_module_cannot_have_multiple_default_exports:t(2528,e.DiagnosticCategory.Error,\"A_module_cannot_have_multiple_default_exports_2528\",\"A module cannot have multiple default exports.\"),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:t(2529,e.DiagnosticCategory.Error,\"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529\",\"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions.\"),Property_0_is_incompatible_with_index_signature:t(2530,e.DiagnosticCategory.Error,\"Property_0_is_incompatible_with_index_signature_2530\",\"Property '{0}' is incompatible with index signature.\"),Object_is_possibly_null:t(2531,e.DiagnosticCategory.Error,\"Object_is_possibly_null_2531\",\"Object is possibly 'null'.\"),Object_is_possibly_undefined:t(2532,e.DiagnosticCategory.Error,\"Object_is_possibly_undefined_2532\",\"Object is possibly 'undefined'.\"),Object_is_possibly_null_or_undefined:t(2533,e.DiagnosticCategory.Error,\"Object_is_possibly_null_or_undefined_2533\",\"Object is possibly 'null' or 'undefined'.\"),A_function_returning_never_cannot_have_a_reachable_end_point:t(2534,e.DiagnosticCategory.Error,\"A_function_returning_never_cannot_have_a_reachable_end_point_2534\",\"A function returning 'never' cannot have a reachable end point.\"),Enum_type_0_has_members_with_initializers_that_are_not_literals:t(2535,e.DiagnosticCategory.Error,\"Enum_type_0_has_members_with_initializers_that_are_not_literals_2535\",\"Enum type '{0}' has members with initializers that are not literals.\"),Type_0_cannot_be_used_to_index_type_1:t(2536,e.DiagnosticCategory.Error,\"Type_0_cannot_be_used_to_index_type_1_2536\",\"Type '{0}' cannot be used to index type '{1}'.\"),Type_0_has_no_matching_index_signature_for_type_1:t(2537,e.DiagnosticCategory.Error,\"Type_0_has_no_matching_index_signature_for_type_1_2537\",\"Type '{0}' has no matching index signature for type '{1}'.\"),Type_0_cannot_be_used_as_an_index_type:t(2538,e.DiagnosticCategory.Error,\"Type_0_cannot_be_used_as_an_index_type_2538\",\"Type '{0}' cannot be used as an index type.\"),Cannot_assign_to_0_because_it_is_not_a_variable:t(2539,e.DiagnosticCategory.Error,\"Cannot_assign_to_0_because_it_is_not_a_variable_2539\",\"Cannot assign to '{0}' because it is not a variable.\"),Cannot_assign_to_0_because_it_is_a_read_only_property:t(2540,e.DiagnosticCategory.Error,\"Cannot_assign_to_0_because_it_is_a_read_only_property_2540\",\"Cannot assign to '{0}' because it is a read-only property.\"),The_target_of_an_assignment_must_be_a_variable_or_a_property_access:t(2541,e.DiagnosticCategory.Error,\"The_target_of_an_assignment_must_be_a_variable_or_a_property_access_2541\",\"The target of an assignment must be a variable or a property access.\"),Index_signature_in_type_0_only_permits_reading:t(2542,e.DiagnosticCategory.Error,\"Index_signature_in_type_0_only_permits_reading_2542\",\"Index signature in type '{0}' only permits reading.\"),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:t(2543,e.DiagnosticCategory.Error,\"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543\",\"Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference.\"),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:t(2544,e.DiagnosticCategory.Error,\"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544\",\"Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference.\"),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:t(2545,e.DiagnosticCategory.Error,\"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545\",\"A mixin class must have a constructor with a single rest parameter of type 'any[]'.\"),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:t(2547,e.DiagnosticCategory.Error,\"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547\",\"The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property.\"),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2548,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548\",\"Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator.\"),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2549,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549\",\"Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator.\"),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:t(2550,e.DiagnosticCategory.Error,\"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550\",\"Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the `lib` compiler option to '{2}' or later.\"),Property_0_does_not_exist_on_type_1_Did_you_mean_2:t(2551,e.DiagnosticCategory.Error,\"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551\",\"Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?\"),Cannot_find_name_0_Did_you_mean_1:t(2552,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Did_you_mean_1_2552\",\"Cannot find name '{0}'. Did you mean '{1}'?\"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:t(2553,e.DiagnosticCategory.Error,\"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553\",\"Computed values are not permitted in an enum with string valued members.\"),Expected_0_arguments_but_got_1:t(2554,e.DiagnosticCategory.Error,\"Expected_0_arguments_but_got_1_2554\",\"Expected {0} arguments, but got {1}.\"),Expected_at_least_0_arguments_but_got_1:t(2555,e.DiagnosticCategory.Error,\"Expected_at_least_0_arguments_but_got_1_2555\",\"Expected at least {0} arguments, but got {1}.\"),Expected_0_arguments_but_got_1_or_more:t(2556,e.DiagnosticCategory.Error,\"Expected_0_arguments_but_got_1_or_more_2556\",\"Expected {0} arguments, but got {1} or more.\"),Expected_at_least_0_arguments_but_got_1_or_more:t(2557,e.DiagnosticCategory.Error,\"Expected_at_least_0_arguments_but_got_1_or_more_2557\",\"Expected at least {0} arguments, but got {1} or more.\"),Expected_0_type_arguments_but_got_1:t(2558,e.DiagnosticCategory.Error,\"Expected_0_type_arguments_but_got_1_2558\",\"Expected {0} type arguments, but got {1}.\"),Type_0_has_no_properties_in_common_with_type_1:t(2559,e.DiagnosticCategory.Error,\"Type_0_has_no_properties_in_common_with_type_1_2559\",\"Type '{0}' has no properties in common with type '{1}'.\"),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:t(2560,e.DiagnosticCategory.Error,\"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560\",\"Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?\"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:t(2561,e.DiagnosticCategory.Error,\"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561\",\"Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?\"),Base_class_expressions_cannot_reference_class_type_parameters:t(2562,e.DiagnosticCategory.Error,\"Base_class_expressions_cannot_reference_class_type_parameters_2562\",\"Base class expressions cannot reference class type parameters.\"),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:t(2563,e.DiagnosticCategory.Error,\"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563\",\"The containing function or module body is too large for control flow analysis.\"),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:t(2564,e.DiagnosticCategory.Error,\"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564\",\"Property '{0}' has no initializer and is not definitely assigned in the constructor.\"),Property_0_is_used_before_being_assigned:t(2565,e.DiagnosticCategory.Error,\"Property_0_is_used_before_being_assigned_2565\",\"Property '{0}' is used before being assigned.\"),A_rest_element_cannot_have_a_property_name:t(2566,e.DiagnosticCategory.Error,\"A_rest_element_cannot_have_a_property_name_2566\",\"A rest element cannot have a property name.\"),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:t(2567,e.DiagnosticCategory.Error,\"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567\",\"Enum declarations can only merge with namespace or other enum declarations.\"),Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:t(2569,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569\",\"Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators.\"),Object_is_of_type_unknown:t(2571,e.DiagnosticCategory.Error,\"Object_is_of_type_unknown_2571\",\"Object is of type 'unknown'.\"),Rest_signatures_are_incompatible:t(2572,e.DiagnosticCategory.Error,\"Rest_signatures_are_incompatible_2572\",\"Rest signatures are incompatible.\"),Property_0_is_incompatible_with_rest_element_type:t(2573,e.DiagnosticCategory.Error,\"Property_0_is_incompatible_with_rest_element_type_2573\",\"Property '{0}' is incompatible with rest element type.\"),A_rest_element_type_must_be_an_array_type:t(2574,e.DiagnosticCategory.Error,\"A_rest_element_type_must_be_an_array_type_2574\",\"A rest element type must be an array type.\"),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:t(2575,e.DiagnosticCategory.Error,\"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575\",\"No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments.\"),Property_0_is_a_static_member_of_type_1:t(2576,e.DiagnosticCategory.Error,\"Property_0_is_a_static_member_of_type_1_2576\",\"Property '{0}' is a static member of type '{1}'.\"),Return_type_annotation_circularly_references_itself:t(2577,e.DiagnosticCategory.Error,\"Return_type_annotation_circularly_references_itself_2577\",\"Return type annotation circularly references itself.\"),Unused_ts_expect_error_directive:t(2578,e.DiagnosticCategory.Error,\"Unused_ts_expect_error_directive_2578\",\"Unused '@ts-expect-error' directive.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:t(2580,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580\",\"Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:t(2581,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581\",\"Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:t(2582,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582\",\"Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.\"),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:t(2583,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583\",\"Cannot find name '{0}'. Do you need to change your target library? Try changing the `lib` compiler option to '{1}' or later.\"),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:t(2584,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584\",\"Cannot find name '{0}'. Do you need to change your target library? Try changing the `lib` compiler option to include 'dom'.\"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:t(2585,e.DiagnosticCategory.Error,\"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585\",\"'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later.\"),Enum_type_0_circularly_references_itself:t(2586,e.DiagnosticCategory.Error,\"Enum_type_0_circularly_references_itself_2586\",\"Enum type '{0}' circularly references itself.\"),JSDoc_type_0_circularly_references_itself:t(2587,e.DiagnosticCategory.Error,\"JSDoc_type_0_circularly_references_itself_2587\",\"JSDoc type '{0}' circularly references itself.\"),Cannot_assign_to_0_because_it_is_a_constant:t(2588,e.DiagnosticCategory.Error,\"Cannot_assign_to_0_because_it_is_a_constant_2588\",\"Cannot assign to '{0}' because it is a constant.\"),Type_instantiation_is_excessively_deep_and_possibly_infinite:t(2589,e.DiagnosticCategory.Error,\"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589\",\"Type instantiation is excessively deep and possibly infinite.\"),Expression_produces_a_union_type_that_is_too_complex_to_represent:t(2590,e.DiagnosticCategory.Error,\"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590\",\"Expression produces a union type that is too complex to represent.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:t(2591,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591\",\"Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add `node` to the types field in your tsconfig.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:t(2592,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592\",\"Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add `jquery` to the types field in your tsconfig.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:t(2593,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593\",\"Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add `jest` or `mocha` to the types field in your tsconfig.\"),This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:t(2594,e.DiagnosticCategory.Error,\"This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the__2594\",\"This module is declared with using 'export =', and can only be used with a default import when using the '{0}' flag.\"),_0_can_only_be_imported_by_using_a_default_import:t(2595,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_a_default_import_2595\",\"'{0}' can only be imported by using a default import.\"),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2596,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596\",\"'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import.\"),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:t(2597,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597\",\"'{0}' can only be imported by using a 'require' call or by using a default import.\"),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2598,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598\",\"'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import.\"),JSX_element_attributes_type_0_may_not_be_a_union_type:t(2600,e.DiagnosticCategory.Error,\"JSX_element_attributes_type_0_may_not_be_a_union_type_2600\",\"JSX element attributes type '{0}' may not be a union type.\"),The_return_type_of_a_JSX_element_constructor_must_return_an_object_type:t(2601,e.DiagnosticCategory.Error,\"The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601\",\"The return type of a JSX element constructor must return an object type.\"),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:t(2602,e.DiagnosticCategory.Error,\"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602\",\"JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist.\"),Property_0_in_type_1_is_not_assignable_to_type_2:t(2603,e.DiagnosticCategory.Error,\"Property_0_in_type_1_is_not_assignable_to_type_2_2603\",\"Property '{0}' in type '{1}' is not assignable to type '{2}'.\"),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:t(2604,e.DiagnosticCategory.Error,\"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604\",\"JSX element type '{0}' does not have any construct or call signatures.\"),JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements:t(2605,e.DiagnosticCategory.Error,\"JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605\",\"JSX element type '{0}' is not a constructor function for JSX elements.\"),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:t(2606,e.DiagnosticCategory.Error,\"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606\",\"Property '{0}' of JSX spread attribute is not assignable to target property.\"),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:t(2607,e.DiagnosticCategory.Error,\"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607\",\"JSX element class does not support attributes because it does not have a '{0}' property.\"),The_global_type_JSX_0_may_not_have_more_than_one_property:t(2608,e.DiagnosticCategory.Error,\"The_global_type_JSX_0_may_not_have_more_than_one_property_2608\",\"The global type 'JSX.{0}' may not have more than one property.\"),JSX_spread_child_must_be_an_array_type:t(2609,e.DiagnosticCategory.Error,\"JSX_spread_child_must_be_an_array_type_2609\",\"JSX spread child must be an array type.\"),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:t(2610,e.DiagnosticCategory.Error,\"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610\",\"'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property.\"),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:t(2611,e.DiagnosticCategory.Error,\"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611\",\"'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor.\"),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:t(2612,e.DiagnosticCategory.Error,\"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612\",\"Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration.\"),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:t(2613,e.DiagnosticCategory.Error,\"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613\",\"Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?\"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:t(2614,e.DiagnosticCategory.Error,\"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614\",\"Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?\"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:t(2615,e.DiagnosticCategory.Error,\"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615\",\"Type of property '{0}' circularly references itself in mapped type '{1}'.\"),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:t(2616,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616\",\"'{0}' can only be imported by using 'import {1} = require({2})' or a default import.\"),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2617,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617\",\"'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import.\"),Source_has_0_element_s_but_target_requires_1:t(2618,e.DiagnosticCategory.Error,\"Source_has_0_element_s_but_target_requires_1_2618\",\"Source has {0} element(s) but target requires {1}.\"),Source_has_0_element_s_but_target_allows_only_1:t(2619,e.DiagnosticCategory.Error,\"Source_has_0_element_s_but_target_allows_only_1_2619\",\"Source has {0} element(s) but target allows only {1}.\"),Target_requires_0_element_s_but_source_may_have_fewer:t(2620,e.DiagnosticCategory.Error,\"Target_requires_0_element_s_but_source_may_have_fewer_2620\",\"Target requires {0} element(s) but source may have fewer.\"),Target_allows_only_0_element_s_but_source_may_have_more:t(2621,e.DiagnosticCategory.Error,\"Target_allows_only_0_element_s_but_source_may_have_more_2621\",\"Target allows only {0} element(s) but source may have more.\"),Element_at_index_0_is_variadic_in_one_type_but_not_in_the_other:t(2622,e.DiagnosticCategory.Error,\"Element_at_index_0_is_variadic_in_one_type_but_not_in_the_other_2622\",\"Element at index {0} is variadic in one type but not in the other.\"),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:t(2649,e.DiagnosticCategory.Error,\"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649\",\"Cannot augment module '{0}' with value exports because it resolves to a non-module entity.\"),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:t(2651,e.DiagnosticCategory.Error,\"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651\",\"A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums.\"),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:t(2652,e.DiagnosticCategory.Error,\"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652\",\"Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead.\"),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:t(2653,e.DiagnosticCategory.Error,\"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653\",\"Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'.\"),Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition:t(2654,e.DiagnosticCategory.Error,\"Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654\",\"Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition.\"),Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition:t(2656,e.DiagnosticCategory.Error,\"Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656\",\"Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition.\"),JSX_expressions_must_have_one_parent_element:t(2657,e.DiagnosticCategory.Error,\"JSX_expressions_must_have_one_parent_element_2657\",\"JSX expressions must have one parent element.\"),Type_0_provides_no_match_for_the_signature_1:t(2658,e.DiagnosticCategory.Error,\"Type_0_provides_no_match_for_the_signature_1_2658\",\"Type '{0}' provides no match for the signature '{1}'.\"),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:t(2659,e.DiagnosticCategory.Error,\"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659\",\"'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher.\"),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:t(2660,e.DiagnosticCategory.Error,\"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660\",\"'super' can only be referenced in members of derived classes or object literal expressions.\"),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:t(2661,e.DiagnosticCategory.Error,\"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661\",\"Cannot export '{0}'. Only local declarations can be exported from a module.\"),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:t(2662,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662\",\"Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?\"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:t(2663,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663\",\"Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?\"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:t(2664,e.DiagnosticCategory.Error,\"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664\",\"Invalid module name in augmentation, module '{0}' cannot be found.\"),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:t(2665,e.DiagnosticCategory.Error,\"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665\",\"Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented.\"),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:t(2666,e.DiagnosticCategory.Error,\"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666\",\"Exports and export assignments are not permitted in module augmentations.\"),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:t(2667,e.DiagnosticCategory.Error,\"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667\",\"Imports are not permitted in module augmentations. Consider moving them to the enclosing external module.\"),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:t(2668,e.DiagnosticCategory.Error,\"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668\",\"'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible.\"),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:t(2669,e.DiagnosticCategory.Error,\"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669\",\"Augmentations for the global scope can only be directly nested in external modules or ambient module declarations.\"),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:t(2670,e.DiagnosticCategory.Error,\"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670\",\"Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context.\"),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:t(2671,e.DiagnosticCategory.Error,\"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671\",\"Cannot augment module '{0}' because it resolves to a non-module entity.\"),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:t(2672,e.DiagnosticCategory.Error,\"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672\",\"Cannot assign a '{0}' constructor type to a '{1}' constructor type.\"),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:t(2673,e.DiagnosticCategory.Error,\"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673\",\"Constructor of class '{0}' is private and only accessible within the class declaration.\"),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:t(2674,e.DiagnosticCategory.Error,\"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674\",\"Constructor of class '{0}' is protected and only accessible within the class declaration.\"),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:t(2675,e.DiagnosticCategory.Error,\"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675\",\"Cannot extend a class '{0}'. Class constructor is marked as private.\"),Accessors_must_both_be_abstract_or_non_abstract:t(2676,e.DiagnosticCategory.Error,\"Accessors_must_both_be_abstract_or_non_abstract_2676\",\"Accessors must both be abstract or non-abstract.\"),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:t(2677,e.DiagnosticCategory.Error,\"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677\",\"A type predicate's type must be assignable to its parameter's type.\"),Type_0_is_not_comparable_to_type_1:t(2678,e.DiagnosticCategory.Error,\"Type_0_is_not_comparable_to_type_1_2678\",\"Type '{0}' is not comparable to type '{1}'.\"),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:t(2679,e.DiagnosticCategory.Error,\"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679\",\"A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'.\"),A_0_parameter_must_be_the_first_parameter:t(2680,e.DiagnosticCategory.Error,\"A_0_parameter_must_be_the_first_parameter_2680\",\"A '{0}' parameter must be the first parameter.\"),A_constructor_cannot_have_a_this_parameter:t(2681,e.DiagnosticCategory.Error,\"A_constructor_cannot_have_a_this_parameter_2681\",\"A constructor cannot have a 'this' parameter.\"),get_and_set_accessor_must_have_the_same_this_type:t(2682,e.DiagnosticCategory.Error,\"get_and_set_accessor_must_have_the_same_this_type_2682\",\"'get' and 'set' accessor must have the same 'this' type.\"),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:t(2683,e.DiagnosticCategory.Error,\"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683\",\"'this' implicitly has type 'any' because it does not have a type annotation.\"),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:t(2684,e.DiagnosticCategory.Error,\"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684\",\"The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'.\"),The_this_types_of_each_signature_are_incompatible:t(2685,e.DiagnosticCategory.Error,\"The_this_types_of_each_signature_are_incompatible_2685\",\"The 'this' types of each signature are incompatible.\"),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:t(2686,e.DiagnosticCategory.Error,\"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686\",\"'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead.\"),All_declarations_of_0_must_have_identical_modifiers:t(2687,e.DiagnosticCategory.Error,\"All_declarations_of_0_must_have_identical_modifiers_2687\",\"All declarations of '{0}' must have identical modifiers.\"),Cannot_find_type_definition_file_for_0:t(2688,e.DiagnosticCategory.Error,\"Cannot_find_type_definition_file_for_0_2688\",\"Cannot find type definition file for '{0}'.\"),Cannot_extend_an_interface_0_Did_you_mean_implements:t(2689,e.DiagnosticCategory.Error,\"Cannot_extend_an_interface_0_Did_you_mean_implements_2689\",\"Cannot extend an interface '{0}'. Did you mean 'implements'?\"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:t(2690,e.DiagnosticCategory.Error,\"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690\",\"'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?\"),An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead:t(2691,e.DiagnosticCategory.Error,\"An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691\",\"An import path cannot end with a '{0}' extension. Consider importing '{1}' instead.\"),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:t(2692,e.DiagnosticCategory.Error,\"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692\",\"'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible.\"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:t(2693,e.DiagnosticCategory.Error,\"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693\",\"'{0}' only refers to a type, but is being used as a value here.\"),Namespace_0_has_no_exported_member_1:t(2694,e.DiagnosticCategory.Error,\"Namespace_0_has_no_exported_member_1_2694\",\"Namespace '{0}' has no exported member '{1}'.\"),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:t(2695,e.DiagnosticCategory.Error,\"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695\",\"Left side of comma operator is unused and has no side effects.\",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:t(2696,e.DiagnosticCategory.Error,\"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696\",\"The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?\"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:t(2697,e.DiagnosticCategory.Error,\"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697\",\"An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option.\"),Spread_types_may_only_be_created_from_object_types:t(2698,e.DiagnosticCategory.Error,\"Spread_types_may_only_be_created_from_object_types_2698\",\"Spread types may only be created from object types.\"),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:t(2699,e.DiagnosticCategory.Error,\"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699\",\"Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'.\"),Rest_types_may_only_be_created_from_object_types:t(2700,e.DiagnosticCategory.Error,\"Rest_types_may_only_be_created_from_object_types_2700\",\"Rest types may only be created from object types.\"),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:t(2701,e.DiagnosticCategory.Error,\"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701\",\"The target of an object rest assignment must be a variable or a property access.\"),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:t(2702,e.DiagnosticCategory.Error,\"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702\",\"'{0}' only refers to a type, but is being used as a namespace here.\"),The_operand_of_a_delete_operator_must_be_a_property_reference:t(2703,e.DiagnosticCategory.Error,\"The_operand_of_a_delete_operator_must_be_a_property_reference_2703\",\"The operand of a 'delete' operator must be a property reference.\"),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:t(2704,e.DiagnosticCategory.Error,\"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704\",\"The operand of a 'delete' operator cannot be a read-only property.\"),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:t(2705,e.DiagnosticCategory.Error,\"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705\",\"An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option.\"),Required_type_parameters_may_not_follow_optional_type_parameters:t(2706,e.DiagnosticCategory.Error,\"Required_type_parameters_may_not_follow_optional_type_parameters_2706\",\"Required type parameters may not follow optional type parameters.\"),Generic_type_0_requires_between_1_and_2_type_arguments:t(2707,e.DiagnosticCategory.Error,\"Generic_type_0_requires_between_1_and_2_type_arguments_2707\",\"Generic type '{0}' requires between {1} and {2} type arguments.\"),Cannot_use_namespace_0_as_a_value:t(2708,e.DiagnosticCategory.Error,\"Cannot_use_namespace_0_as_a_value_2708\",\"Cannot use namespace '{0}' as a value.\"),Cannot_use_namespace_0_as_a_type:t(2709,e.DiagnosticCategory.Error,\"Cannot_use_namespace_0_as_a_type_2709\",\"Cannot use namespace '{0}' as a type.\"),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:t(2710,e.DiagnosticCategory.Error,\"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710\",\"'{0}' are specified twice. The attribute named '{0}' will be overwritten.\"),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:t(2711,e.DiagnosticCategory.Error,\"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711\",\"A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option.\"),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:t(2712,e.DiagnosticCategory.Error,\"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712\",\"A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option.\"),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:t(2713,e.DiagnosticCategory.Error,\"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713\",\"Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}[\\\"{1}\\\"]'?\"),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:t(2714,e.DiagnosticCategory.Error,\"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714\",\"The expression of an export assignment must be an identifier or qualified name in an ambient context.\"),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:t(2715,e.DiagnosticCategory.Error,\"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715\",\"Abstract property '{0}' in class '{1}' cannot be accessed in the constructor.\"),Type_parameter_0_has_a_circular_default:t(2716,e.DiagnosticCategory.Error,\"Type_parameter_0_has_a_circular_default_2716\",\"Type parameter '{0}' has a circular default.\"),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:t(2717,e.DiagnosticCategory.Error,\"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717\",\"Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'.\"),Duplicate_property_0:t(2718,e.DiagnosticCategory.Error,\"Duplicate_property_0_2718\",\"Duplicate property '{0}'.\"),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:t(2719,e.DiagnosticCategory.Error,\"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719\",\"Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated.\"),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:t(2720,e.DiagnosticCategory.Error,\"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720\",\"Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?\"),Cannot_invoke_an_object_which_is_possibly_null:t(2721,e.DiagnosticCategory.Error,\"Cannot_invoke_an_object_which_is_possibly_null_2721\",\"Cannot invoke an object which is possibly 'null'.\"),Cannot_invoke_an_object_which_is_possibly_undefined:t(2722,e.DiagnosticCategory.Error,\"Cannot_invoke_an_object_which_is_possibly_undefined_2722\",\"Cannot invoke an object which is possibly 'undefined'.\"),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:t(2723,e.DiagnosticCategory.Error,\"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723\",\"Cannot invoke an object which is possibly 'null' or 'undefined'.\"),_0_has_no_exported_member_named_1_Did_you_mean_2:t(2724,e.DiagnosticCategory.Error,\"_0_has_no_exported_member_named_1_Did_you_mean_2_2724\",\"'{0}' has no exported member named '{1}'. Did you mean '{2}'?\"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:t(2725,e.DiagnosticCategory.Error,\"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725\",\"Class name cannot be 'Object' when targeting ES5 with module {0}.\"),Cannot_find_lib_definition_for_0:t(2726,e.DiagnosticCategory.Error,\"Cannot_find_lib_definition_for_0_2726\",\"Cannot find lib definition for '{0}'.\"),Cannot_find_lib_definition_for_0_Did_you_mean_1:t(2727,e.DiagnosticCategory.Error,\"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727\",\"Cannot find lib definition for '{0}'. Did you mean '{1}'?\"),_0_is_declared_here:t(2728,e.DiagnosticCategory.Message,\"_0_is_declared_here_2728\",\"'{0}' is declared here.\"),Property_0_is_used_before_its_initialization:t(2729,e.DiagnosticCategory.Error,\"Property_0_is_used_before_its_initialization_2729\",\"Property '{0}' is used before its initialization.\"),An_arrow_function_cannot_have_a_this_parameter:t(2730,e.DiagnosticCategory.Error,\"An_arrow_function_cannot_have_a_this_parameter_2730\",\"An arrow function cannot have a 'this' parameter.\"),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:t(2731,e.DiagnosticCategory.Error,\"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731\",\"Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'.\"),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:t(2732,e.DiagnosticCategory.Error,\"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732\",\"Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension.\"),Property_0_was_also_declared_here:t(2733,e.DiagnosticCategory.Error,\"Property_0_was_also_declared_here_2733\",\"Property '{0}' was also declared here.\"),Are_you_missing_a_semicolon:t(2734,e.DiagnosticCategory.Error,\"Are_you_missing_a_semicolon_2734\",\"Are you missing a semicolon?\"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:t(2735,e.DiagnosticCategory.Error,\"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735\",\"Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?\"),Operator_0_cannot_be_applied_to_type_1:t(2736,e.DiagnosticCategory.Error,\"Operator_0_cannot_be_applied_to_type_1_2736\",\"Operator '{0}' cannot be applied to type '{1}'.\"),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:t(2737,e.DiagnosticCategory.Error,\"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737\",\"BigInt literals are not available when targeting lower than ES2020.\"),An_outer_value_of_this_is_shadowed_by_this_container:t(2738,e.DiagnosticCategory.Message,\"An_outer_value_of_this_is_shadowed_by_this_container_2738\",\"An outer value of 'this' is shadowed by this container.\"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:t(2739,e.DiagnosticCategory.Error,\"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739\",\"Type '{0}' is missing the following properties from type '{1}': {2}\"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:t(2740,e.DiagnosticCategory.Error,\"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740\",\"Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more.\"),Property_0_is_missing_in_type_1_but_required_in_type_2:t(2741,e.DiagnosticCategory.Error,\"Property_0_is_missing_in_type_1_but_required_in_type_2_2741\",\"Property '{0}' is missing in type '{1}' but required in type '{2}'.\"),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:t(2742,e.DiagnosticCategory.Error,\"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742\",\"The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary.\"),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:t(2743,e.DiagnosticCategory.Error,\"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743\",\"No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments.\"),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:t(2744,e.DiagnosticCategory.Error,\"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744\",\"Type parameter defaults can only reference previously declared type parameters.\"),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:t(2745,e.DiagnosticCategory.Error,\"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745\",\"This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided.\"),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:t(2746,e.DiagnosticCategory.Error,\"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746\",\"This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided.\"),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:t(2747,e.DiagnosticCategory.Error,\"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747\",\"'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'.\"),Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided:t(2748,e.DiagnosticCategory.Error,\"Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided_2748\",\"Cannot access ambient const enums when the '--isolatedModules' flag is provided.\"),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:t(2749,e.DiagnosticCategory.Error,\"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749\",\"'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?\"),The_implementation_signature_is_declared_here:t(2750,e.DiagnosticCategory.Error,\"The_implementation_signature_is_declared_here_2750\",\"The implementation signature is declared here.\"),Circularity_originates_in_type_at_this_location:t(2751,e.DiagnosticCategory.Error,\"Circularity_originates_in_type_at_this_location_2751\",\"Circularity originates in type at this location.\"),The_first_export_default_is_here:t(2752,e.DiagnosticCategory.Error,\"The_first_export_default_is_here_2752\",\"The first export default is here.\"),Another_export_default_is_here:t(2753,e.DiagnosticCategory.Error,\"Another_export_default_is_here_2753\",\"Another export default is here.\"),super_may_not_use_type_arguments:t(2754,e.DiagnosticCategory.Error,\"super_may_not_use_type_arguments_2754\",\"'super' may not use type arguments.\"),No_constituent_of_type_0_is_callable:t(2755,e.DiagnosticCategory.Error,\"No_constituent_of_type_0_is_callable_2755\",\"No constituent of type '{0}' is callable.\"),Not_all_constituents_of_type_0_are_callable:t(2756,e.DiagnosticCategory.Error,\"Not_all_constituents_of_type_0_are_callable_2756\",\"Not all constituents of type '{0}' are callable.\"),Type_0_has_no_call_signatures:t(2757,e.DiagnosticCategory.Error,\"Type_0_has_no_call_signatures_2757\",\"Type '{0}' has no call signatures.\"),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:t(2758,e.DiagnosticCategory.Error,\"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758\",\"Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other.\"),No_constituent_of_type_0_is_constructable:t(2759,e.DiagnosticCategory.Error,\"No_constituent_of_type_0_is_constructable_2759\",\"No constituent of type '{0}' is constructable.\"),Not_all_constituents_of_type_0_are_constructable:t(2760,e.DiagnosticCategory.Error,\"Not_all_constituents_of_type_0_are_constructable_2760\",\"Not all constituents of type '{0}' are constructable.\"),Type_0_has_no_construct_signatures:t(2761,e.DiagnosticCategory.Error,\"Type_0_has_no_construct_signatures_2761\",\"Type '{0}' has no construct signatures.\"),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:t(2762,e.DiagnosticCategory.Error,\"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762\",\"Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other.\"),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:t(2763,e.DiagnosticCategory.Error,\"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763\",\"Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'.\"),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:t(2764,e.DiagnosticCategory.Error,\"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764\",\"Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'.\"),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:t(2765,e.DiagnosticCategory.Error,\"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765\",\"Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'.\"),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:t(2766,e.DiagnosticCategory.Error,\"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766\",\"Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'.\"),The_0_property_of_an_iterator_must_be_a_method:t(2767,e.DiagnosticCategory.Error,\"The_0_property_of_an_iterator_must_be_a_method_2767\",\"The '{0}' property of an iterator must be a method.\"),The_0_property_of_an_async_iterator_must_be_a_method:t(2768,e.DiagnosticCategory.Error,\"The_0_property_of_an_async_iterator_must_be_a_method_2768\",\"The '{0}' property of an async iterator must be a method.\"),No_overload_matches_this_call:t(2769,e.DiagnosticCategory.Error,\"No_overload_matches_this_call_2769\",\"No overload matches this call.\"),The_last_overload_gave_the_following_error:t(2770,e.DiagnosticCategory.Error,\"The_last_overload_gave_the_following_error_2770\",\"The last overload gave the following error.\"),The_last_overload_is_declared_here:t(2771,e.DiagnosticCategory.Error,\"The_last_overload_is_declared_here_2771\",\"The last overload is declared here.\"),Overload_0_of_1_2_gave_the_following_error:t(2772,e.DiagnosticCategory.Error,\"Overload_0_of_1_2_gave_the_following_error_2772\",\"Overload {0} of {1}, '{2}', gave the following error.\"),Did_you_forget_to_use_await:t(2773,e.DiagnosticCategory.Error,\"Did_you_forget_to_use_await_2773\",\"Did you forget to use 'await'?\"),This_condition_will_always_return_true_since_the_function_is_always_defined_Did_you_mean_to_call_it_instead:t(2774,e.DiagnosticCategory.Error,\"This_condition_will_always_return_true_since_the_function_is_always_defined_Did_you_mean_to_call_it__2774\",\"This condition will always return true since the function is always defined. Did you mean to call it instead?\"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:t(2775,e.DiagnosticCategory.Error,\"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775\",\"Assertions require every name in the call target to be declared with an explicit type annotation.\"),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:t(2776,e.DiagnosticCategory.Error,\"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776\",\"Assertions require the call target to be an identifier or qualified name.\"),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:t(2777,e.DiagnosticCategory.Error,\"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777\",\"The operand of an increment or decrement operator may not be an optional property access.\"),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:t(2778,e.DiagnosticCategory.Error,\"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778\",\"The target of an object rest assignment may not be an optional property access.\"),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:t(2779,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779\",\"The left-hand side of an assignment expression may not be an optional property access.\"),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:t(2780,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780\",\"The left-hand side of a 'for...in' statement may not be an optional property access.\"),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:t(2781,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781\",\"The left-hand side of a 'for...of' statement may not be an optional property access.\"),_0_needs_an_explicit_type_annotation:t(2782,e.DiagnosticCategory.Message,\"_0_needs_an_explicit_type_annotation_2782\",\"'{0}' needs an explicit type annotation.\"),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:t(2783,e.DiagnosticCategory.Error,\"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783\",\"'{0}' is specified more than once, so this usage will be overwritten.\"),get_and_set_accessors_cannot_declare_this_parameters:t(2784,e.DiagnosticCategory.Error,\"get_and_set_accessors_cannot_declare_this_parameters_2784\",\"'get' and 'set' accessors cannot declare 'this' parameters.\"),This_spread_always_overwrites_this_property:t(2785,e.DiagnosticCategory.Error,\"This_spread_always_overwrites_this_property_2785\",\"This spread always overwrites this property.\"),_0_cannot_be_used_as_a_JSX_component:t(2786,e.DiagnosticCategory.Error,\"_0_cannot_be_used_as_a_JSX_component_2786\",\"'{0}' cannot be used as a JSX component.\"),Its_return_type_0_is_not_a_valid_JSX_element:t(2787,e.DiagnosticCategory.Error,\"Its_return_type_0_is_not_a_valid_JSX_element_2787\",\"Its return type '{0}' is not a valid JSX element.\"),Its_instance_type_0_is_not_a_valid_JSX_element:t(2788,e.DiagnosticCategory.Error,\"Its_instance_type_0_is_not_a_valid_JSX_element_2788\",\"Its instance type '{0}' is not a valid JSX element.\"),Its_element_type_0_is_not_a_valid_JSX_element:t(2789,e.DiagnosticCategory.Error,\"Its_element_type_0_is_not_a_valid_JSX_element_2789\",\"Its element type '{0}' is not a valid JSX element.\"),The_operand_of_a_delete_operator_must_be_optional:t(2790,e.DiagnosticCategory.Error,\"The_operand_of_a_delete_operator_must_be_optional_2790\",\"The operand of a 'delete' operator must be optional.\"),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:t(2791,e.DiagnosticCategory.Error,\"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791\",\"Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later.\"),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:t(2792,e.DiagnosticCategory.Error,\"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_th_2792\",\"Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?\"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:t(2793,e.DiagnosticCategory.Error,\"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793\",\"The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible.\"),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:t(2794,e.DiagnosticCategory.Error,\"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794\",\"Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?\"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:t(2795,e.DiagnosticCategory.Error,\"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795\",\"The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types.\"),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:t(2796,e.DiagnosticCategory.Error,\"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796\",\"It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked.\"),Import_declaration_0_is_using_private_name_1:t(4e3,e.DiagnosticCategory.Error,\"Import_declaration_0_is_using_private_name_1_4000\",\"Import declaration '{0}' is using private name '{1}'.\"),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:t(4002,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002\",\"Type parameter '{0}' of exported class has or is using private name '{1}'.\"),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:t(4004,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004\",\"Type parameter '{0}' of exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:t(4006,e.DiagnosticCategory.Error,\"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006\",\"Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:t(4008,e.DiagnosticCategory.Error,\"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008\",\"Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:t(4010,e.DiagnosticCategory.Error,\"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010\",\"Type parameter '{0}' of public static method from exported class has or is using private name '{1}'.\"),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:t(4012,e.DiagnosticCategory.Error,\"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012\",\"Type parameter '{0}' of public method from exported class has or is using private name '{1}'.\"),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:t(4014,e.DiagnosticCategory.Error,\"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014\",\"Type parameter '{0}' of method from exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:t(4016,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016\",\"Type parameter '{0}' of exported function has or is using private name '{1}'.\"),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:t(4019,e.DiagnosticCategory.Error,\"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019\",\"Implements clause of exported class '{0}' has or is using private name '{1}'.\"),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:t(4020,e.DiagnosticCategory.Error,\"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020\",\"'extends' clause of exported class '{0}' has or is using private name '{1}'.\"),extends_clause_of_exported_class_has_or_is_using_private_name_0:t(4021,e.DiagnosticCategory.Error,\"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021\",\"'extends' clause of exported class has or is using private name '{0}'.\"),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:t(4022,e.DiagnosticCategory.Error,\"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022\",\"'extends' clause of exported interface '{0}' has or is using private name '{1}'.\"),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4023,e.DiagnosticCategory.Error,\"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023\",\"Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named.\"),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:t(4024,e.DiagnosticCategory.Error,\"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024\",\"Exported variable '{0}' has or is using name '{1}' from private module '{2}'.\"),Exported_variable_0_has_or_is_using_private_name_1:t(4025,e.DiagnosticCategory.Error,\"Exported_variable_0_has_or_is_using_private_name_1_4025\",\"Exported variable '{0}' has or is using private name '{1}'.\"),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4026,e.DiagnosticCategory.Error,\"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026\",\"Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4027,e.DiagnosticCategory.Error,\"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027\",\"Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:t(4028,e.DiagnosticCategory.Error,\"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028\",\"Public static property '{0}' of exported class has or is using private name '{1}'.\"),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4029,e.DiagnosticCategory.Error,\"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029\",\"Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4030,e.DiagnosticCategory.Error,\"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030\",\"Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_property_0_of_exported_class_has_or_is_using_private_name_1:t(4031,e.DiagnosticCategory.Error,\"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031\",\"Public property '{0}' of exported class has or is using private name '{1}'.\"),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4032,e.DiagnosticCategory.Error,\"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032\",\"Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'.\"),Property_0_of_exported_interface_has_or_is_using_private_name_1:t(4033,e.DiagnosticCategory.Error,\"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033\",\"Property '{0}' of exported interface has or is using private name '{1}'.\"),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4034,e.DiagnosticCategory.Error,\"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034\",\"Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:t(4035,e.DiagnosticCategory.Error,\"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035\",\"Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'.\"),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4036,e.DiagnosticCategory.Error,\"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036\",\"Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:t(4037,e.DiagnosticCategory.Error,\"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037\",\"Parameter type of public setter '{0}' from exported class has or is using private name '{1}'.\"),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4038,e.DiagnosticCategory.Error,\"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038\",\"Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4039,e.DiagnosticCategory.Error,\"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039\",\"Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:t(4040,e.DiagnosticCategory.Error,\"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040\",\"Return type of public static getter '{0}' from exported class has or is using private name '{1}'.\"),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4041,e.DiagnosticCategory.Error,\"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041\",\"Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4042,e.DiagnosticCategory.Error,\"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042\",\"Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:t(4043,e.DiagnosticCategory.Error,\"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043\",\"Return type of public getter '{0}' from exported class has or is using private name '{1}'.\"),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4044,e.DiagnosticCategory.Error,\"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044\",\"Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:t(4045,e.DiagnosticCategory.Error,\"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045\",\"Return type of constructor signature from exported interface has or is using private name '{0}'.\"),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4046,e.DiagnosticCategory.Error,\"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046\",\"Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:t(4047,e.DiagnosticCategory.Error,\"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047\",\"Return type of call signature from exported interface has or is using private name '{0}'.\"),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4048,e.DiagnosticCategory.Error,\"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048\",\"Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:t(4049,e.DiagnosticCategory.Error,\"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049\",\"Return type of index signature from exported interface has or is using private name '{0}'.\"),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4050,e.DiagnosticCategory.Error,\"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050\",\"Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named.\"),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:t(4051,e.DiagnosticCategory.Error,\"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051\",\"Return type of public static method from exported class has or is using name '{0}' from private module '{1}'.\"),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:t(4052,e.DiagnosticCategory.Error,\"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052\",\"Return type of public static method from exported class has or is using private name '{0}'.\"),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4053,e.DiagnosticCategory.Error,\"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053\",\"Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named.\"),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:t(4054,e.DiagnosticCategory.Error,\"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054\",\"Return type of public method from exported class has or is using name '{0}' from private module '{1}'.\"),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:t(4055,e.DiagnosticCategory.Error,\"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055\",\"Return type of public method from exported class has or is using private name '{0}'.\"),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4056,e.DiagnosticCategory.Error,\"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056\",\"Return type of method from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:t(4057,e.DiagnosticCategory.Error,\"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057\",\"Return type of method from exported interface has or is using private name '{0}'.\"),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4058,e.DiagnosticCategory.Error,\"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058\",\"Return type of exported function has or is using name '{0}' from external module {1} but cannot be named.\"),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:t(4059,e.DiagnosticCategory.Error,\"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059\",\"Return type of exported function has or is using name '{0}' from private module '{1}'.\"),Return_type_of_exported_function_has_or_is_using_private_name_0:t(4060,e.DiagnosticCategory.Error,\"Return_type_of_exported_function_has_or_is_using_private_name_0_4060\",\"Return type of exported function has or is using private name '{0}'.\"),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4061,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061\",\"Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4062,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062\",\"Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:t(4063,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063\",\"Parameter '{0}' of constructor from exported class has or is using private name '{1}'.\"),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4064,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064\",\"Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:t(4065,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065\",\"Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'.\"),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4066,e.DiagnosticCategory.Error,\"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066\",\"Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:t(4067,e.DiagnosticCategory.Error,\"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067\",\"Parameter '{0}' of call signature from exported interface has or is using private name '{1}'.\"),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4068,e.DiagnosticCategory.Error,\"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068\",\"Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4069,e.DiagnosticCategory.Error,\"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069\",\"Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:t(4070,e.DiagnosticCategory.Error,\"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070\",\"Parameter '{0}' of public static method from exported class has or is using private name '{1}'.\"),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4071,e.DiagnosticCategory.Error,\"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071\",\"Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4072,e.DiagnosticCategory.Error,\"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072\",\"Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:t(4073,e.DiagnosticCategory.Error,\"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073\",\"Parameter '{0}' of public method from exported class has or is using private name '{1}'.\"),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4074,e.DiagnosticCategory.Error,\"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074\",\"Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:t(4075,e.DiagnosticCategory.Error,\"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075\",\"Parameter '{0}' of method from exported interface has or is using private name '{1}'.\"),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4076,e.DiagnosticCategory.Error,\"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076\",\"Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:t(4077,e.DiagnosticCategory.Error,\"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077\",\"Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_exported_function_has_or_is_using_private_name_1:t(4078,e.DiagnosticCategory.Error,\"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078\",\"Parameter '{0}' of exported function has or is using private name '{1}'.\"),Exported_type_alias_0_has_or_is_using_private_name_1:t(4081,e.DiagnosticCategory.Error,\"Exported_type_alias_0_has_or_is_using_private_name_1_4081\",\"Exported type alias '{0}' has or is using private name '{1}'.\"),Default_export_of_the_module_has_or_is_using_private_name_0:t(4082,e.DiagnosticCategory.Error,\"Default_export_of_the_module_has_or_is_using_private_name_0_4082\",\"Default export of the module has or is using private name '{0}'.\"),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:t(4083,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083\",\"Type parameter '{0}' of exported type alias has or is using private name '{1}'.\"),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:t(4090,e.DiagnosticCategory.Error,\"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090\",\"Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict.\"),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4091,e.DiagnosticCategory.Error,\"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091\",\"Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:t(4092,e.DiagnosticCategory.Error,\"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092\",\"Parameter '{0}' of index signature from exported interface has or is using private name '{1}'.\"),Property_0_of_exported_class_expression_may_not_be_private_or_protected:t(4094,e.DiagnosticCategory.Error,\"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094\",\"Property '{0}' of exported class expression may not be private or protected.\"),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4095,e.DiagnosticCategory.Error,\"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095\",\"Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4096,e.DiagnosticCategory.Error,\"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096\",\"Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:t(4097,e.DiagnosticCategory.Error,\"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097\",\"Public static method '{0}' of exported class has or is using private name '{1}'.\"),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4098,e.DiagnosticCategory.Error,\"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098\",\"Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4099,e.DiagnosticCategory.Error,\"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099\",\"Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_method_0_of_exported_class_has_or_is_using_private_name_1:t(4100,e.DiagnosticCategory.Error,\"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100\",\"Public method '{0}' of exported class has or is using private name '{1}'.\"),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4101,e.DiagnosticCategory.Error,\"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101\",\"Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'.\"),Method_0_of_exported_interface_has_or_is_using_private_name_1:t(4102,e.DiagnosticCategory.Error,\"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102\",\"Method '{0}' of exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:t(4103,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103\",\"Type parameter '{0}' of exported mapped object type is using private name '{1}'.\"),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:t(4104,e.DiagnosticCategory.Error,\"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104\",\"The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'.\"),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:t(4105,e.DiagnosticCategory.Error,\"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105\",\"Private or protected member '{0}' cannot be accessed on a type parameter.\"),Parameter_0_of_accessor_has_or_is_using_private_name_1:t(4106,e.DiagnosticCategory.Error,\"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106\",\"Parameter '{0}' of accessor has or is using private name '{1}'.\"),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:t(4107,e.DiagnosticCategory.Error,\"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107\",\"Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4108,e.DiagnosticCategory.Error,\"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108\",\"Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named.\"),Type_arguments_for_0_circularly_reference_themselves:t(4109,e.DiagnosticCategory.Error,\"Type_arguments_for_0_circularly_reference_themselves_4109\",\"Type arguments for '{0}' circularly reference themselves.\"),Tuple_type_arguments_circularly_reference_themselves:t(4110,e.DiagnosticCategory.Error,\"Tuple_type_arguments_circularly_reference_themselves_4110\",\"Tuple type arguments circularly reference themselves.\"),The_current_host_does_not_support_the_0_option:t(5001,e.DiagnosticCategory.Error,\"The_current_host_does_not_support_the_0_option_5001\",\"The current host does not support the '{0}' option.\"),Cannot_find_the_common_subdirectory_path_for_the_input_files:t(5009,e.DiagnosticCategory.Error,\"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009\",\"Cannot find the common subdirectory path for the input files.\"),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:t(5010,e.DiagnosticCategory.Error,\"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010\",\"File specification cannot end in a recursive directory wildcard ('**'): '{0}'.\"),Cannot_read_file_0_Colon_1:t(5012,e.DiagnosticCategory.Error,\"Cannot_read_file_0_Colon_1_5012\",\"Cannot read file '{0}': {1}.\"),Failed_to_parse_file_0_Colon_1:t(5014,e.DiagnosticCategory.Error,\"Failed_to_parse_file_0_Colon_1_5014\",\"Failed to parse file '{0}': {1}.\"),Unknown_compiler_option_0:t(5023,e.DiagnosticCategory.Error,\"Unknown_compiler_option_0_5023\",\"Unknown compiler option '{0}'.\"),Compiler_option_0_requires_a_value_of_type_1:t(5024,e.DiagnosticCategory.Error,\"Compiler_option_0_requires_a_value_of_type_1_5024\",\"Compiler option '{0}' requires a value of type {1}.\"),Unknown_compiler_option_0_Did_you_mean_1:t(5025,e.DiagnosticCategory.Error,\"Unknown_compiler_option_0_Did_you_mean_1_5025\",\"Unknown compiler option '{0}'. Did you mean '{1}'?\"),Could_not_write_file_0_Colon_1:t(5033,e.DiagnosticCategory.Error,\"Could_not_write_file_0_Colon_1_5033\",\"Could not write file '{0}': {1}.\"),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:t(5042,e.DiagnosticCategory.Error,\"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042\",\"Option 'project' cannot be mixed with source files on a command line.\"),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:t(5047,e.DiagnosticCategory.Error,\"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047\",\"Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher.\"),Option_0_cannot_be_specified_when_option_target_is_ES3:t(5048,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_when_option_target_is_ES3_5048\",\"Option '{0}' cannot be specified when option 'target' is 'ES3'.\"),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:t(5051,e.DiagnosticCategory.Error,\"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051\",\"Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided.\"),Option_0_cannot_be_specified_without_specifying_option_1:t(5052,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_without_specifying_option_1_5052\",\"Option '{0}' cannot be specified without specifying option '{1}'.\"),Option_0_cannot_be_specified_with_option_1:t(5053,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_with_option_1_5053\",\"Option '{0}' cannot be specified with option '{1}'.\"),A_tsconfig_json_file_is_already_defined_at_Colon_0:t(5054,e.DiagnosticCategory.Error,\"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054\",\"A 'tsconfig.json' file is already defined at: '{0}'.\"),Cannot_write_file_0_because_it_would_overwrite_input_file:t(5055,e.DiagnosticCategory.Error,\"Cannot_write_file_0_because_it_would_overwrite_input_file_5055\",\"Cannot write file '{0}' because it would overwrite input file.\"),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:t(5056,e.DiagnosticCategory.Error,\"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056\",\"Cannot write file '{0}' because it would be overwritten by multiple input files.\"),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:t(5057,e.DiagnosticCategory.Error,\"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057\",\"Cannot find a tsconfig.json file at the specified directory: '{0}'.\"),The_specified_path_does_not_exist_Colon_0:t(5058,e.DiagnosticCategory.Error,\"The_specified_path_does_not_exist_Colon_0_5058\",\"The specified path does not exist: '{0}'.\"),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:t(5059,e.DiagnosticCategory.Error,\"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059\",\"Invalid value for '--reactNamespace'. '{0}' is not a valid identifier.\"),Pattern_0_can_have_at_most_one_Asterisk_character:t(5061,e.DiagnosticCategory.Error,\"Pattern_0_can_have_at_most_one_Asterisk_character_5061\",\"Pattern '{0}' can have at most one '*' character.\"),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:t(5062,e.DiagnosticCategory.Error,\"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062\",\"Substitution '{0}' in pattern '{1}' can have at most one '*' character.\"),Substitutions_for_pattern_0_should_be_an_array:t(5063,e.DiagnosticCategory.Error,\"Substitutions_for_pattern_0_should_be_an_array_5063\",\"Substitutions for pattern '{0}' should be an array.\"),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:t(5064,e.DiagnosticCategory.Error,\"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064\",\"Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'.\"),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:t(5065,e.DiagnosticCategory.Error,\"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065\",\"File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'.\"),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:t(5066,e.DiagnosticCategory.Error,\"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066\",\"Substitutions for pattern '{0}' shouldn't be an empty array.\"),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:t(5067,e.DiagnosticCategory.Error,\"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067\",\"Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name.\"),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:t(5068,e.DiagnosticCategory.Error,\"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068\",\"Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig.\"),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:t(5069,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069\",\"Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'.\"),Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy:t(5070,e.DiagnosticCategory.Error,\"Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy_5070\",\"Option '--resolveJsonModule' cannot be specified without 'node' module resolution strategy.\"),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:t(5071,e.DiagnosticCategory.Error,\"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071\",\"Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'.\"),Unknown_build_option_0:t(5072,e.DiagnosticCategory.Error,\"Unknown_build_option_0_5072\",\"Unknown build option '{0}'.\"),Build_option_0_requires_a_value_of_type_1:t(5073,e.DiagnosticCategory.Error,\"Build_option_0_requires_a_value_of_type_1_5073\",\"Build option '{0}' requires a value of type {1}.\"),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:t(5074,e.DiagnosticCategory.Error,\"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074\",\"Option '--incremental' can only be specified using tsconfig, emitting to single file or when option `--tsBuildInfoFile` is specified.\"),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:t(5075,e.DiagnosticCategory.Error,\"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075\",\"'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'.\"),_0_and_1_operations_cannot_be_mixed_without_parentheses:t(5076,e.DiagnosticCategory.Error,\"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076\",\"'{0}' and '{1}' operations cannot be mixed without parentheses.\"),Unknown_build_option_0_Did_you_mean_1:t(5077,e.DiagnosticCategory.Error,\"Unknown_build_option_0_Did_you_mean_1_5077\",\"Unknown build option '{0}'. Did you mean '{1}'?\"),Unknown_watch_option_0:t(5078,e.DiagnosticCategory.Error,\"Unknown_watch_option_0_5078\",\"Unknown watch option '{0}'.\"),Unknown_watch_option_0_Did_you_mean_1:t(5079,e.DiagnosticCategory.Error,\"Unknown_watch_option_0_Did_you_mean_1_5079\",\"Unknown watch option '{0}'. Did you mean '{1}'?\"),Watch_option_0_requires_a_value_of_type_1:t(5080,e.DiagnosticCategory.Error,\"Watch_option_0_requires_a_value_of_type_1_5080\",\"Watch option '{0}' requires a value of type {1}.\"),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:t(5081,e.DiagnosticCategory.Error,\"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081\",\"Cannot find a tsconfig.json file at the current directory: {0}.\"),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:t(5082,e.DiagnosticCategory.Error,\"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082\",\"'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'.\"),Cannot_read_file_0:t(5083,e.DiagnosticCategory.Error,\"Cannot_read_file_0_5083\",\"Cannot read file '{0}'.\"),Tuple_members_must_all_have_names_or_all_not_have_names:t(5084,e.DiagnosticCategory.Error,\"Tuple_members_must_all_have_names_or_all_not_have_names_5084\",\"Tuple members must all have names or all not have names.\"),A_tuple_member_cannot_be_both_optional_and_rest:t(5085,e.DiagnosticCategory.Error,\"A_tuple_member_cannot_be_both_optional_and_rest_5085\",\"A tuple member cannot be both optional and rest.\"),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:t(5086,e.DiagnosticCategory.Error,\"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086\",\"A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type.\"),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:t(5087,e.DiagnosticCategory.Error,\"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087\",\"A labeled tuple element is declared as rest with a `...` before the name, rather than before the type.\"),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:t(5088,e.DiagnosticCategory.Error,\"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088\",\"The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary.\"),Option_0_cannot_be_specified_when_option_jsx_is_1:t(5089,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_when_option_jsx_is_1_5089\",\"Option '{0}' cannot be specified when option 'jsx' is '{1}'.\"),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:t(5090,e.DiagnosticCategory.Error,\"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090\",\"Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?\"),Generates_a_sourcemap_for_each_corresponding_d_ts_file:t(6e3,e.DiagnosticCategory.Message,\"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000\",\"Generates a sourcemap for each corresponding '.d.ts' file.\"),Concatenate_and_emit_output_to_single_file:t(6001,e.DiagnosticCategory.Message,\"Concatenate_and_emit_output_to_single_file_6001\",\"Concatenate and emit output to single file.\"),Generates_corresponding_d_ts_file:t(6002,e.DiagnosticCategory.Message,\"Generates_corresponding_d_ts_file_6002\",\"Generates corresponding '.d.ts' file.\"),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:t(6003,e.DiagnosticCategory.Message,\"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003\",\"Specify the location where debugger should locate map files instead of generated locations.\"),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:t(6004,e.DiagnosticCategory.Message,\"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004\",\"Specify the location where debugger should locate TypeScript files instead of source locations.\"),Watch_input_files:t(6005,e.DiagnosticCategory.Message,\"Watch_input_files_6005\",\"Watch input files.\"),Redirect_output_structure_to_the_directory:t(6006,e.DiagnosticCategory.Message,\"Redirect_output_structure_to_the_directory_6006\",\"Redirect output structure to the directory.\"),Do_not_erase_const_enum_declarations_in_generated_code:t(6007,e.DiagnosticCategory.Message,\"Do_not_erase_const_enum_declarations_in_generated_code_6007\",\"Do not erase const enum declarations in generated code.\"),Do_not_emit_outputs_if_any_errors_were_reported:t(6008,e.DiagnosticCategory.Message,\"Do_not_emit_outputs_if_any_errors_were_reported_6008\",\"Do not emit outputs if any errors were reported.\"),Do_not_emit_comments_to_output:t(6009,e.DiagnosticCategory.Message,\"Do_not_emit_comments_to_output_6009\",\"Do not emit comments to output.\"),Do_not_emit_outputs:t(6010,e.DiagnosticCategory.Message,\"Do_not_emit_outputs_6010\",\"Do not emit outputs.\"),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:t(6011,e.DiagnosticCategory.Message,\"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011\",\"Allow default imports from modules with no default export. This does not affect code emit, just typechecking.\"),Skip_type_checking_of_declaration_files:t(6012,e.DiagnosticCategory.Message,\"Skip_type_checking_of_declaration_files_6012\",\"Skip type checking of declaration files.\"),Do_not_resolve_the_real_path_of_symlinks:t(6013,e.DiagnosticCategory.Message,\"Do_not_resolve_the_real_path_of_symlinks_6013\",\"Do not resolve the real path of symlinks.\"),Only_emit_d_ts_declaration_files:t(6014,e.DiagnosticCategory.Message,\"Only_emit_d_ts_declaration_files_6014\",\"Only emit '.d.ts' declaration files.\"),Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_or_ESNEXT:t(6015,e.DiagnosticCategory.Message,\"Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_or_6015\",\"Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'.\"),Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext:t(6016,e.DiagnosticCategory.Message,\"Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext_6016\",\"Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'.\"),Print_this_message:t(6017,e.DiagnosticCategory.Message,\"Print_this_message_6017\",\"Print this message.\"),Print_the_compiler_s_version:t(6019,e.DiagnosticCategory.Message,\"Print_the_compiler_s_version_6019\",\"Print the compiler's version.\"),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:t(6020,e.DiagnosticCategory.Message,\"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020\",\"Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'.\"),Syntax_Colon_0:t(6023,e.DiagnosticCategory.Message,\"Syntax_Colon_0_6023\",\"Syntax: {0}\"),options:t(6024,e.DiagnosticCategory.Message,\"options_6024\",\"options\"),file:t(6025,e.DiagnosticCategory.Message,\"file_6025\",\"file\"),Examples_Colon_0:t(6026,e.DiagnosticCategory.Message,\"Examples_Colon_0_6026\",\"Examples: {0}\"),Options_Colon:t(6027,e.DiagnosticCategory.Message,\"Options_Colon_6027\",\"Options:\"),Version_0:t(6029,e.DiagnosticCategory.Message,\"Version_0_6029\",\"Version {0}\"),Insert_command_line_options_and_files_from_a_file:t(6030,e.DiagnosticCategory.Message,\"Insert_command_line_options_and_files_from_a_file_6030\",\"Insert command line options and files from a file.\"),Starting_compilation_in_watch_mode:t(6031,e.DiagnosticCategory.Message,\"Starting_compilation_in_watch_mode_6031\",\"Starting compilation in watch mode...\"),File_change_detected_Starting_incremental_compilation:t(6032,e.DiagnosticCategory.Message,\"File_change_detected_Starting_incremental_compilation_6032\",\"File change detected. Starting incremental compilation...\"),KIND:t(6034,e.DiagnosticCategory.Message,\"KIND_6034\",\"KIND\"),FILE:t(6035,e.DiagnosticCategory.Message,\"FILE_6035\",\"FILE\"),VERSION:t(6036,e.DiagnosticCategory.Message,\"VERSION_6036\",\"VERSION\"),LOCATION:t(6037,e.DiagnosticCategory.Message,\"LOCATION_6037\",\"LOCATION\"),DIRECTORY:t(6038,e.DiagnosticCategory.Message,\"DIRECTORY_6038\",\"DIRECTORY\"),STRATEGY:t(6039,e.DiagnosticCategory.Message,\"STRATEGY_6039\",\"STRATEGY\"),FILE_OR_DIRECTORY:t(6040,e.DiagnosticCategory.Message,\"FILE_OR_DIRECTORY_6040\",\"FILE OR DIRECTORY\"),Generates_corresponding_map_file:t(6043,e.DiagnosticCategory.Message,\"Generates_corresponding_map_file_6043\",\"Generates corresponding '.map' file.\"),Compiler_option_0_expects_an_argument:t(6044,e.DiagnosticCategory.Error,\"Compiler_option_0_expects_an_argument_6044\",\"Compiler option '{0}' expects an argument.\"),Unterminated_quoted_string_in_response_file_0:t(6045,e.DiagnosticCategory.Error,\"Unterminated_quoted_string_in_response_file_0_6045\",\"Unterminated quoted string in response file '{0}'.\"),Argument_for_0_option_must_be_Colon_1:t(6046,e.DiagnosticCategory.Error,\"Argument_for_0_option_must_be_Colon_1_6046\",\"Argument for '{0}' option must be: {1}.\"),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:t(6048,e.DiagnosticCategory.Error,\"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048\",\"Locale must be of the form or -. For example '{0}' or '{1}'.\"),Unsupported_locale_0:t(6049,e.DiagnosticCategory.Error,\"Unsupported_locale_0_6049\",\"Unsupported locale '{0}'.\"),Unable_to_open_file_0:t(6050,e.DiagnosticCategory.Error,\"Unable_to_open_file_0_6050\",\"Unable to open file '{0}'.\"),Corrupted_locale_file_0:t(6051,e.DiagnosticCategory.Error,\"Corrupted_locale_file_0_6051\",\"Corrupted locale file {0}.\"),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:t(6052,e.DiagnosticCategory.Message,\"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052\",\"Raise error on expressions and declarations with an implied 'any' type.\"),File_0_not_found:t(6053,e.DiagnosticCategory.Error,\"File_0_not_found_6053\",\"File '{0}' not found.\"),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:t(6054,e.DiagnosticCategory.Error,\"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054\",\"File '{0}' has an unsupported extension. The only supported extensions are {1}.\"),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:t(6055,e.DiagnosticCategory.Message,\"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055\",\"Suppress noImplicitAny errors for indexing objects lacking index signatures.\"),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:t(6056,e.DiagnosticCategory.Message,\"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056\",\"Do not emit declarations for code that has an '@internal' annotation.\"),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:t(6058,e.DiagnosticCategory.Message,\"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058\",\"Specify the root directory of input files. Use to control the output directory structure with --outDir.\"),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:t(6059,e.DiagnosticCategory.Error,\"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059\",\"File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files.\"),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:t(6060,e.DiagnosticCategory.Message,\"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060\",\"Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix).\"),NEWLINE:t(6061,e.DiagnosticCategory.Message,\"NEWLINE_6061\",\"NEWLINE\"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:t(6064,e.DiagnosticCategory.Error,\"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064\",\"Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line.\"),Enables_experimental_support_for_ES7_decorators:t(6065,e.DiagnosticCategory.Message,\"Enables_experimental_support_for_ES7_decorators_6065\",\"Enables experimental support for ES7 decorators.\"),Enables_experimental_support_for_emitting_type_metadata_for_decorators:t(6066,e.DiagnosticCategory.Message,\"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066\",\"Enables experimental support for emitting type metadata for decorators.\"),Enables_experimental_support_for_ES7_async_functions:t(6068,e.DiagnosticCategory.Message,\"Enables_experimental_support_for_ES7_async_functions_6068\",\"Enables experimental support for ES7 async functions.\"),Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:t(6069,e.DiagnosticCategory.Message,\"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069\",\"Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6).\"),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:t(6070,e.DiagnosticCategory.Message,\"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070\",\"Initializes a TypeScript project and creates a tsconfig.json file.\"),Successfully_created_a_tsconfig_json_file:t(6071,e.DiagnosticCategory.Message,\"Successfully_created_a_tsconfig_json_file_6071\",\"Successfully created a tsconfig.json file.\"),Suppress_excess_property_checks_for_object_literals:t(6072,e.DiagnosticCategory.Message,\"Suppress_excess_property_checks_for_object_literals_6072\",\"Suppress excess property checks for object literals.\"),Stylize_errors_and_messages_using_color_and_context_experimental:t(6073,e.DiagnosticCategory.Message,\"Stylize_errors_and_messages_using_color_and_context_experimental_6073\",\"Stylize errors and messages using color and context (experimental).\"),Do_not_report_errors_on_unused_labels:t(6074,e.DiagnosticCategory.Message,\"Do_not_report_errors_on_unused_labels_6074\",\"Do not report errors on unused labels.\"),Report_error_when_not_all_code_paths_in_function_return_a_value:t(6075,e.DiagnosticCategory.Message,\"Report_error_when_not_all_code_paths_in_function_return_a_value_6075\",\"Report error when not all code paths in function return a value.\"),Report_errors_for_fallthrough_cases_in_switch_statement:t(6076,e.DiagnosticCategory.Message,\"Report_errors_for_fallthrough_cases_in_switch_statement_6076\",\"Report errors for fallthrough cases in switch statement.\"),Do_not_report_errors_on_unreachable_code:t(6077,e.DiagnosticCategory.Message,\"Do_not_report_errors_on_unreachable_code_6077\",\"Do not report errors on unreachable code.\"),Disallow_inconsistently_cased_references_to_the_same_file:t(6078,e.DiagnosticCategory.Message,\"Disallow_inconsistently_cased_references_to_the_same_file_6078\",\"Disallow inconsistently-cased references to the same file.\"),Specify_library_files_to_be_included_in_the_compilation:t(6079,e.DiagnosticCategory.Message,\"Specify_library_files_to_be_included_in_the_compilation_6079\",\"Specify library files to be included in the compilation.\"),Specify_JSX_code_generation_Colon_preserve_react_native_or_react:t(6080,e.DiagnosticCategory.Message,\"Specify_JSX_code_generation_Colon_preserve_react_native_or_react_6080\",\"Specify JSX code generation: 'preserve', 'react-native', or 'react'.\"),File_0_has_an_unsupported_extension_so_skipping_it:t(6081,e.DiagnosticCategory.Message,\"File_0_has_an_unsupported_extension_so_skipping_it_6081\",\"File '{0}' has an unsupported extension, so skipping it.\"),Only_amd_and_system_modules_are_supported_alongside_0:t(6082,e.DiagnosticCategory.Error,\"Only_amd_and_system_modules_are_supported_alongside_0_6082\",\"Only 'amd' and 'system' modules are supported alongside --{0}.\"),Base_directory_to_resolve_non_absolute_module_names:t(6083,e.DiagnosticCategory.Message,\"Base_directory_to_resolve_non_absolute_module_names_6083\",\"Base directory to resolve non-absolute module names.\"),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:t(6084,e.DiagnosticCategory.Message,\"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084\",\"[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit\"),Enable_tracing_of_the_name_resolution_process:t(6085,e.DiagnosticCategory.Message,\"Enable_tracing_of_the_name_resolution_process_6085\",\"Enable tracing of the name resolution process.\"),Resolving_module_0_from_1:t(6086,e.DiagnosticCategory.Message,\"Resolving_module_0_from_1_6086\",\"======== Resolving module '{0}' from '{1}'. ========\"),Explicitly_specified_module_resolution_kind_Colon_0:t(6087,e.DiagnosticCategory.Message,\"Explicitly_specified_module_resolution_kind_Colon_0_6087\",\"Explicitly specified module resolution kind: '{0}'.\"),Module_resolution_kind_is_not_specified_using_0:t(6088,e.DiagnosticCategory.Message,\"Module_resolution_kind_is_not_specified_using_0_6088\",\"Module resolution kind is not specified, using '{0}'.\"),Module_name_0_was_successfully_resolved_to_1:t(6089,e.DiagnosticCategory.Message,\"Module_name_0_was_successfully_resolved_to_1_6089\",\"======== Module name '{0}' was successfully resolved to '{1}'. ========\"),Module_name_0_was_not_resolved:t(6090,e.DiagnosticCategory.Message,\"Module_name_0_was_not_resolved_6090\",\"======== Module name '{0}' was not resolved. ========\"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:t(6091,e.DiagnosticCategory.Message,\"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091\",\"'paths' option is specified, looking for a pattern to match module name '{0}'.\"),Module_name_0_matched_pattern_1:t(6092,e.DiagnosticCategory.Message,\"Module_name_0_matched_pattern_1_6092\",\"Module name '{0}', matched pattern '{1}'.\"),Trying_substitution_0_candidate_module_location_Colon_1:t(6093,e.DiagnosticCategory.Message,\"Trying_substitution_0_candidate_module_location_Colon_1_6093\",\"Trying substitution '{0}', candidate module location: '{1}'.\"),Resolving_module_name_0_relative_to_base_url_1_2:t(6094,e.DiagnosticCategory.Message,\"Resolving_module_name_0_relative_to_base_url_1_2_6094\",\"Resolving module name '{0}' relative to base url '{1}' - '{2}'.\"),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1:t(6095,e.DiagnosticCategory.Message,\"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095\",\"Loading module as file / folder, candidate module location '{0}', target file type '{1}'.\"),File_0_does_not_exist:t(6096,e.DiagnosticCategory.Message,\"File_0_does_not_exist_6096\",\"File '{0}' does not exist.\"),File_0_exist_use_it_as_a_name_resolution_result:t(6097,e.DiagnosticCategory.Message,\"File_0_exist_use_it_as_a_name_resolution_result_6097\",\"File '{0}' exist - use it as a name resolution result.\"),Loading_module_0_from_node_modules_folder_target_file_type_1:t(6098,e.DiagnosticCategory.Message,\"Loading_module_0_from_node_modules_folder_target_file_type_1_6098\",\"Loading module '{0}' from 'node_modules' folder, target file type '{1}'.\"),Found_package_json_at_0:t(6099,e.DiagnosticCategory.Message,\"Found_package_json_at_0_6099\",\"Found 'package.json' at '{0}'.\"),package_json_does_not_have_a_0_field:t(6100,e.DiagnosticCategory.Message,\"package_json_does_not_have_a_0_field_6100\",\"'package.json' does not have a '{0}' field.\"),package_json_has_0_field_1_that_references_2:t(6101,e.DiagnosticCategory.Message,\"package_json_has_0_field_1_that_references_2_6101\",\"'package.json' has '{0}' field '{1}' that references '{2}'.\"),Allow_javascript_files_to_be_compiled:t(6102,e.DiagnosticCategory.Message,\"Allow_javascript_files_to_be_compiled_6102\",\"Allow javascript files to be compiled.\"),Option_0_should_have_array_of_strings_as_a_value:t(6103,e.DiagnosticCategory.Error,\"Option_0_should_have_array_of_strings_as_a_value_6103\",\"Option '{0}' should have array of strings as a value.\"),Checking_if_0_is_the_longest_matching_prefix_for_1_2:t(6104,e.DiagnosticCategory.Message,\"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104\",\"Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'.\"),Expected_type_of_0_field_in_package_json_to_be_1_got_2:t(6105,e.DiagnosticCategory.Message,\"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105\",\"Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'.\"),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:t(6106,e.DiagnosticCategory.Message,\"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106\",\"'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'.\"),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:t(6107,e.DiagnosticCategory.Message,\"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107\",\"'rootDirs' option is set, using it to resolve relative module name '{0}'.\"),Longest_matching_prefix_for_0_is_1:t(6108,e.DiagnosticCategory.Message,\"Longest_matching_prefix_for_0_is_1_6108\",\"Longest matching prefix for '{0}' is '{1}'.\"),Loading_0_from_the_root_dir_1_candidate_location_2:t(6109,e.DiagnosticCategory.Message,\"Loading_0_from_the_root_dir_1_candidate_location_2_6109\",\"Loading '{0}' from the root dir '{1}', candidate location '{2}'.\"),Trying_other_entries_in_rootDirs:t(6110,e.DiagnosticCategory.Message,\"Trying_other_entries_in_rootDirs_6110\",\"Trying other entries in 'rootDirs'.\"),Module_resolution_using_rootDirs_has_failed:t(6111,e.DiagnosticCategory.Message,\"Module_resolution_using_rootDirs_has_failed_6111\",\"Module resolution using 'rootDirs' has failed.\"),Do_not_emit_use_strict_directives_in_module_output:t(6112,e.DiagnosticCategory.Message,\"Do_not_emit_use_strict_directives_in_module_output_6112\",\"Do not emit 'use strict' directives in module output.\"),Enable_strict_null_checks:t(6113,e.DiagnosticCategory.Message,\"Enable_strict_null_checks_6113\",\"Enable strict null checks.\"),Unknown_option_excludes_Did_you_mean_exclude:t(6114,e.DiagnosticCategory.Error,\"Unknown_option_excludes_Did_you_mean_exclude_6114\",\"Unknown option 'excludes'. Did you mean 'exclude'?\"),Raise_error_on_this_expressions_with_an_implied_any_type:t(6115,e.DiagnosticCategory.Message,\"Raise_error_on_this_expressions_with_an_implied_any_type_6115\",\"Raise error on 'this' expressions with an implied 'any' type.\"),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:t(6116,e.DiagnosticCategory.Message,\"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116\",\"======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========\"),Resolving_using_primary_search_paths:t(6117,e.DiagnosticCategory.Message,\"Resolving_using_primary_search_paths_6117\",\"Resolving using primary search paths...\"),Resolving_from_node_modules_folder:t(6118,e.DiagnosticCategory.Message,\"Resolving_from_node_modules_folder_6118\",\"Resolving from node_modules folder...\"),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:t(6119,e.DiagnosticCategory.Message,\"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119\",\"======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========\"),Type_reference_directive_0_was_not_resolved:t(6120,e.DiagnosticCategory.Message,\"Type_reference_directive_0_was_not_resolved_6120\",\"======== Type reference directive '{0}' was not resolved. ========\"),Resolving_with_primary_search_path_0:t(6121,e.DiagnosticCategory.Message,\"Resolving_with_primary_search_path_0_6121\",\"Resolving with primary search path '{0}'.\"),Root_directory_cannot_be_determined_skipping_primary_search_paths:t(6122,e.DiagnosticCategory.Message,\"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122\",\"Root directory cannot be determined, skipping primary search paths.\"),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:t(6123,e.DiagnosticCategory.Message,\"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123\",\"======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========\"),Type_declaration_files_to_be_included_in_compilation:t(6124,e.DiagnosticCategory.Message,\"Type_declaration_files_to_be_included_in_compilation_6124\",\"Type declaration files to be included in compilation.\"),Looking_up_in_node_modules_folder_initial_location_0:t(6125,e.DiagnosticCategory.Message,\"Looking_up_in_node_modules_folder_initial_location_0_6125\",\"Looking up in 'node_modules' folder, initial location '{0}'.\"),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:t(6126,e.DiagnosticCategory.Message,\"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126\",\"Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder.\"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:t(6127,e.DiagnosticCategory.Message,\"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127\",\"======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========\"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:t(6128,e.DiagnosticCategory.Message,\"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128\",\"======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========\"),Resolving_real_path_for_0_result_1:t(6130,e.DiagnosticCategory.Message,\"Resolving_real_path_for_0_result_1_6130\",\"Resolving real path for '{0}', result '{1}'.\"),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:t(6131,e.DiagnosticCategory.Error,\"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131\",\"Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'.\"),File_name_0_has_a_1_extension_stripping_it:t(6132,e.DiagnosticCategory.Message,\"File_name_0_has_a_1_extension_stripping_it_6132\",\"File name '{0}' has a '{1}' extension - stripping it.\"),_0_is_declared_but_its_value_is_never_read:t(6133,e.DiagnosticCategory.Error,\"_0_is_declared_but_its_value_is_never_read_6133\",\"'{0}' is declared but its value is never read.\",!0),Report_errors_on_unused_locals:t(6134,e.DiagnosticCategory.Message,\"Report_errors_on_unused_locals_6134\",\"Report errors on unused locals.\"),Report_errors_on_unused_parameters:t(6135,e.DiagnosticCategory.Message,\"Report_errors_on_unused_parameters_6135\",\"Report errors on unused parameters.\"),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:t(6136,e.DiagnosticCategory.Message,\"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136\",\"The maximum dependency depth to search under node_modules and load JavaScript files.\"),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:t(6137,e.DiagnosticCategory.Error,\"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137\",\"Cannot import type declaration files. Consider importing '{0}' instead of '{1}'.\"),Property_0_is_declared_but_its_value_is_never_read:t(6138,e.DiagnosticCategory.Error,\"Property_0_is_declared_but_its_value_is_never_read_6138\",\"Property '{0}' is declared but its value is never read.\",!0),Import_emit_helpers_from_tslib:t(6139,e.DiagnosticCategory.Message,\"Import_emit_helpers_from_tslib_6139\",\"Import emit helpers from 'tslib'.\"),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:t(6140,e.DiagnosticCategory.Error,\"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140\",\"Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'.\"),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:t(6141,e.DiagnosticCategory.Message,\"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141\",'Parse in strict mode and emit \"use strict\" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:t(6142,e.DiagnosticCategory.Error,\"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142\",\"Module '{0}' was resolved to '{1}', but '--jsx' is not set.\"),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:t(6144,e.DiagnosticCategory.Message,\"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144\",\"Module '{0}' was resolved as locally declared ambient module in file '{1}'.\"),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:t(6145,e.DiagnosticCategory.Message,\"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145\",\"Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified.\"),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:t(6146,e.DiagnosticCategory.Message,\"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146\",\"Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'.\"),Resolution_for_module_0_was_found_in_cache_from_location_1:t(6147,e.DiagnosticCategory.Message,\"Resolution_for_module_0_was_found_in_cache_from_location_1_6147\",\"Resolution for module '{0}' was found in cache from location '{1}'.\"),Directory_0_does_not_exist_skipping_all_lookups_in_it:t(6148,e.DiagnosticCategory.Message,\"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148\",\"Directory '{0}' does not exist, skipping all lookups in it.\"),Show_diagnostic_information:t(6149,e.DiagnosticCategory.Message,\"Show_diagnostic_information_6149\",\"Show diagnostic information.\"),Show_verbose_diagnostic_information:t(6150,e.DiagnosticCategory.Message,\"Show_verbose_diagnostic_information_6150\",\"Show verbose diagnostic information.\"),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:t(6151,e.DiagnosticCategory.Message,\"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151\",\"Emit a single file with source maps instead of having a separate file.\"),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:t(6152,e.DiagnosticCategory.Message,\"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152\",\"Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set.\"),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:t(6153,e.DiagnosticCategory.Message,\"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153\",\"Transpile each file as a separate module (similar to 'ts.transpileModule').\"),Print_names_of_generated_files_part_of_the_compilation:t(6154,e.DiagnosticCategory.Message,\"Print_names_of_generated_files_part_of_the_compilation_6154\",\"Print names of generated files part of the compilation.\"),Print_names_of_files_part_of_the_compilation:t(6155,e.DiagnosticCategory.Message,\"Print_names_of_files_part_of_the_compilation_6155\",\"Print names of files part of the compilation.\"),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:t(6156,e.DiagnosticCategory.Message,\"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156\",\"The locale used when displaying messages to the user (e.g. 'en-us')\"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:t(6157,e.DiagnosticCategory.Message,\"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157\",\"Do not generate custom helper functions like '__extends' in compiled output.\"),Do_not_include_the_default_library_file_lib_d_ts:t(6158,e.DiagnosticCategory.Message,\"Do_not_include_the_default_library_file_lib_d_ts_6158\",\"Do not include the default library file (lib.d.ts).\"),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:t(6159,e.DiagnosticCategory.Message,\"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159\",\"Do not add triple-slash references or imported modules to the list of compiled files.\"),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:t(6160,e.DiagnosticCategory.Message,\"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160\",\"[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files.\"),List_of_folders_to_include_type_definitions_from:t(6161,e.DiagnosticCategory.Message,\"List_of_folders_to_include_type_definitions_from_6161\",\"List of folders to include type definitions from.\"),Disable_size_limitations_on_JavaScript_projects:t(6162,e.DiagnosticCategory.Message,\"Disable_size_limitations_on_JavaScript_projects_6162\",\"Disable size limitations on JavaScript projects.\"),The_character_set_of_the_input_files:t(6163,e.DiagnosticCategory.Message,\"The_character_set_of_the_input_files_6163\",\"The character set of the input files.\"),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:t(6164,e.DiagnosticCategory.Message,\"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6164\",\"Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files.\"),Do_not_truncate_error_messages:t(6165,e.DiagnosticCategory.Message,\"Do_not_truncate_error_messages_6165\",\"Do not truncate error messages.\"),Output_directory_for_generated_declaration_files:t(6166,e.DiagnosticCategory.Message,\"Output_directory_for_generated_declaration_files_6166\",\"Output directory for generated declaration files.\"),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:t(6167,e.DiagnosticCategory.Message,\"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167\",\"A series of entries which re-map imports to lookup locations relative to the 'baseUrl'.\"),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:t(6168,e.DiagnosticCategory.Message,\"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168\",\"List of root folders whose combined content represents the structure of the project at runtime.\"),Show_all_compiler_options:t(6169,e.DiagnosticCategory.Message,\"Show_all_compiler_options_6169\",\"Show all compiler options.\"),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:t(6170,e.DiagnosticCategory.Message,\"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170\",\"[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file\"),Command_line_Options:t(6171,e.DiagnosticCategory.Message,\"Command_line_Options_6171\",\"Command-line Options\"),Basic_Options:t(6172,e.DiagnosticCategory.Message,\"Basic_Options_6172\",\"Basic Options\"),Strict_Type_Checking_Options:t(6173,e.DiagnosticCategory.Message,\"Strict_Type_Checking_Options_6173\",\"Strict Type-Checking Options\"),Module_Resolution_Options:t(6174,e.DiagnosticCategory.Message,\"Module_Resolution_Options_6174\",\"Module Resolution Options\"),Source_Map_Options:t(6175,e.DiagnosticCategory.Message,\"Source_Map_Options_6175\",\"Source Map Options\"),Additional_Checks:t(6176,e.DiagnosticCategory.Message,\"Additional_Checks_6176\",\"Additional Checks\"),Experimental_Options:t(6177,e.DiagnosticCategory.Message,\"Experimental_Options_6177\",\"Experimental Options\"),Advanced_Options:t(6178,e.DiagnosticCategory.Message,\"Advanced_Options_6178\",\"Advanced Options\"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:t(6179,e.DiagnosticCategory.Message,\"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179\",\"Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'.\"),Enable_all_strict_type_checking_options:t(6180,e.DiagnosticCategory.Message,\"Enable_all_strict_type_checking_options_6180\",\"Enable all strict type-checking options.\"),List_of_language_service_plugins:t(6181,e.DiagnosticCategory.Message,\"List_of_language_service_plugins_6181\",\"List of language service plugins.\"),Scoped_package_detected_looking_in_0:t(6182,e.DiagnosticCategory.Message,\"Scoped_package_detected_looking_in_0_6182\",\"Scoped package detected, looking in '{0}'\"),Reusing_resolution_of_module_0_to_file_1_from_old_program:t(6183,e.DiagnosticCategory.Message,\"Reusing_resolution_of_module_0_to_file_1_from_old_program_6183\",\"Reusing resolution of module '{0}' to file '{1}' from old program.\"),Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program:t(6184,e.DiagnosticCategory.Message,\"Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program_6184\",\"Reusing module resolutions originating in '{0}' since resolutions are unchanged from old program.\"),Disable_strict_checking_of_generic_signatures_in_function_types:t(6185,e.DiagnosticCategory.Message,\"Disable_strict_checking_of_generic_signatures_in_function_types_6185\",\"Disable strict checking of generic signatures in function types.\"),Enable_strict_checking_of_function_types:t(6186,e.DiagnosticCategory.Message,\"Enable_strict_checking_of_function_types_6186\",\"Enable strict checking of function types.\"),Enable_strict_checking_of_property_initialization_in_classes:t(6187,e.DiagnosticCategory.Message,\"Enable_strict_checking_of_property_initialization_in_classes_6187\",\"Enable strict checking of property initialization in classes.\"),Numeric_separators_are_not_allowed_here:t(6188,e.DiagnosticCategory.Error,\"Numeric_separators_are_not_allowed_here_6188\",\"Numeric separators are not allowed here.\"),Multiple_consecutive_numeric_separators_are_not_permitted:t(6189,e.DiagnosticCategory.Error,\"Multiple_consecutive_numeric_separators_are_not_permitted_6189\",\"Multiple consecutive numeric separators are not permitted.\"),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:t(6191,e.DiagnosticCategory.Message,\"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191\",\"Whether to keep outdated console output in watch mode instead of clearing the screen.\"),All_imports_in_import_declaration_are_unused:t(6192,e.DiagnosticCategory.Error,\"All_imports_in_import_declaration_are_unused_6192\",\"All imports in import declaration are unused.\",!0),Found_1_error_Watching_for_file_changes:t(6193,e.DiagnosticCategory.Message,\"Found_1_error_Watching_for_file_changes_6193\",\"Found 1 error. Watching for file changes.\"),Found_0_errors_Watching_for_file_changes:t(6194,e.DiagnosticCategory.Message,\"Found_0_errors_Watching_for_file_changes_6194\",\"Found {0} errors. Watching for file changes.\"),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:t(6195,e.DiagnosticCategory.Message,\"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195\",\"Resolve 'keyof' to string valued property names only (no numbers or symbols).\"),_0_is_declared_but_never_used:t(6196,e.DiagnosticCategory.Error,\"_0_is_declared_but_never_used_6196\",\"'{0}' is declared but never used.\",!0),Include_modules_imported_with_json_extension:t(6197,e.DiagnosticCategory.Message,\"Include_modules_imported_with_json_extension_6197\",\"Include modules imported with '.json' extension\"),All_destructured_elements_are_unused:t(6198,e.DiagnosticCategory.Error,\"All_destructured_elements_are_unused_6198\",\"All destructured elements are unused.\",!0),All_variables_are_unused:t(6199,e.DiagnosticCategory.Error,\"All_variables_are_unused_6199\",\"All variables are unused.\",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:t(6200,e.DiagnosticCategory.Error,\"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200\",\"Definitions of the following identifiers conflict with those in another file: {0}\"),Conflicts_are_in_this_file:t(6201,e.DiagnosticCategory.Message,\"Conflicts_are_in_this_file_6201\",\"Conflicts are in this file.\"),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:t(6202,e.DiagnosticCategory.Error,\"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202\",\"Project references may not form a circular graph. Cycle detected: {0}\"),_0_was_also_declared_here:t(6203,e.DiagnosticCategory.Message,\"_0_was_also_declared_here_6203\",\"'{0}' was also declared here.\"),and_here:t(6204,e.DiagnosticCategory.Message,\"and_here_6204\",\"and here.\"),All_type_parameters_are_unused:t(6205,e.DiagnosticCategory.Error,\"All_type_parameters_are_unused_6205\",\"All type parameters are unused.\"),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:t(6206,e.DiagnosticCategory.Message,\"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206\",\"'package.json' has a 'typesVersions' field with version-specific path mappings.\"),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:t(6207,e.DiagnosticCategory.Message,\"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207\",\"'package.json' does not have a 'typesVersions' entry that matches version '{0}'.\"),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:t(6208,e.DiagnosticCategory.Message,\"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208\",\"'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'.\"),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:t(6209,e.DiagnosticCategory.Message,\"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209\",\"'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range.\"),An_argument_for_0_was_not_provided:t(6210,e.DiagnosticCategory.Message,\"An_argument_for_0_was_not_provided_6210\",\"An argument for '{0}' was not provided.\"),An_argument_matching_this_binding_pattern_was_not_provided:t(6211,e.DiagnosticCategory.Message,\"An_argument_matching_this_binding_pattern_was_not_provided_6211\",\"An argument matching this binding pattern was not provided.\"),Did_you_mean_to_call_this_expression:t(6212,e.DiagnosticCategory.Message,\"Did_you_mean_to_call_this_expression_6212\",\"Did you mean to call this expression?\"),Did_you_mean_to_use_new_with_this_expression:t(6213,e.DiagnosticCategory.Message,\"Did_you_mean_to_use_new_with_this_expression_6213\",\"Did you mean to use 'new' with this expression?\"),Enable_strict_bind_call_and_apply_methods_on_functions:t(6214,e.DiagnosticCategory.Message,\"Enable_strict_bind_call_and_apply_methods_on_functions_6214\",\"Enable strict 'bind', 'call', and 'apply' methods on functions.\"),Using_compiler_options_of_project_reference_redirect_0:t(6215,e.DiagnosticCategory.Message,\"Using_compiler_options_of_project_reference_redirect_0_6215\",\"Using compiler options of project reference redirect '{0}'.\"),Found_1_error:t(6216,e.DiagnosticCategory.Message,\"Found_1_error_6216\",\"Found 1 error.\"),Found_0_errors:t(6217,e.DiagnosticCategory.Message,\"Found_0_errors_6217\",\"Found {0} errors.\"),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:t(6218,e.DiagnosticCategory.Message,\"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218\",\"======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========\"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:t(6219,e.DiagnosticCategory.Message,\"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219\",\"======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========\"),package_json_had_a_falsy_0_field:t(6220,e.DiagnosticCategory.Message,\"package_json_had_a_falsy_0_field_6220\",\"'package.json' had a falsy '{0}' field.\"),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:t(6221,e.DiagnosticCategory.Message,\"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221\",\"Disable use of source files instead of declaration files from referenced projects.\"),Emit_class_fields_with_Define_instead_of_Set:t(6222,e.DiagnosticCategory.Message,\"Emit_class_fields_with_Define_instead_of_Set_6222\",\"Emit class fields with Define instead of Set.\"),Generates_a_CPU_profile:t(6223,e.DiagnosticCategory.Message,\"Generates_a_CPU_profile_6223\",\"Generates a CPU profile.\"),Disable_solution_searching_for_this_project:t(6224,e.DiagnosticCategory.Message,\"Disable_solution_searching_for_this_project_6224\",\"Disable solution searching for this project.\"),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_UseFsEvents_UseFsEventsOnParentDirectory:t(6225,e.DiagnosticCategory.Message,\"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225\",\"Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'.\"),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling:t(6226,e.DiagnosticCategory.Message,\"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226\",\"Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling'.\"),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority:t(6227,e.DiagnosticCategory.Message,\"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227\",\"Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority'.\"),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:t(6228,e.DiagnosticCategory.Message,\"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6228\",\"Synchronously call callbacks and update the state of directory watchers on platforms that don't support recursive watching natively.\"),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:t(6229,e.DiagnosticCategory.Error,\"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229\",\"Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'.\"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:t(6230,e.DiagnosticCategory.Error,\"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230\",\"Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line.\"),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:t(6231,e.DiagnosticCategory.Error,\"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231\",\"Could not resolve the path '{0}' with the extensions: {1}.\"),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:t(6232,e.DiagnosticCategory.Error,\"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232\",\"Declaration augments declaration in another file. This cannot be serialized.\"),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:t(6233,e.DiagnosticCategory.Error,\"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233\",\"This is the declaration being augmented. Consider moving the augmenting declaration into the same file.\"),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:t(6234,e.DiagnosticCategory.Error,\"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234\",\"This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?\"),Disable_loading_referenced_projects:t(6235,e.DiagnosticCategory.Message,\"Disable_loading_referenced_projects_6235\",\"Disable loading referenced projects.\"),Arguments_for_the_rest_parameter_0_were_not_provided:t(6236,e.DiagnosticCategory.Error,\"Arguments_for_the_rest_parameter_0_were_not_provided_6236\",\"Arguments for the rest parameter '{0}' were not provided.\"),Generates_an_event_trace_and_a_list_of_types:t(6237,e.DiagnosticCategory.Message,\"Generates_an_event_trace_and_a_list_of_types_6237\",\"Generates an event trace and a list of types.\"),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:t(6238,e.DiagnosticCategory.Error,\"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238\",\"Specify the module specifier to be used to import the `jsx` and `jsxs` factory functions from. eg, react\"),Projects_to_reference:t(6300,e.DiagnosticCategory.Message,\"Projects_to_reference_6300\",\"Projects to reference\"),Enable_project_compilation:t(6302,e.DiagnosticCategory.Message,\"Enable_project_compilation_6302\",\"Enable project compilation\"),Composite_projects_may_not_disable_declaration_emit:t(6304,e.DiagnosticCategory.Error,\"Composite_projects_may_not_disable_declaration_emit_6304\",\"Composite projects may not disable declaration emit.\"),Output_file_0_has_not_been_built_from_source_file_1:t(6305,e.DiagnosticCategory.Error,\"Output_file_0_has_not_been_built_from_source_file_1_6305\",\"Output file '{0}' has not been built from source file '{1}'.\"),Referenced_project_0_must_have_setting_composite_Colon_true:t(6306,e.DiagnosticCategory.Error,\"Referenced_project_0_must_have_setting_composite_Colon_true_6306\",\"Referenced project '{0}' must have setting \\\"composite\\\": true.\"),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:t(6307,e.DiagnosticCategory.Error,\"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307\",\"File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern.\"),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:t(6308,e.DiagnosticCategory.Error,\"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308\",\"Cannot prepend project '{0}' because it does not have 'outFile' set\"),Output_file_0_from_project_1_does_not_exist:t(6309,e.DiagnosticCategory.Error,\"Output_file_0_from_project_1_does_not_exist_6309\",\"Output file '{0}' from project '{1}' does not exist\"),Referenced_project_0_may_not_disable_emit:t(6310,e.DiagnosticCategory.Error,\"Referenced_project_0_may_not_disable_emit_6310\",\"Referenced project '{0}' may not disable emit.\"),Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2:t(6350,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350\",\"Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}'\"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2:t(6351,e.DiagnosticCategory.Message,\"Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351\",\"Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}'\"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:t(6352,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352\",\"Project '{0}' is out of date because output file '{1}' does not exist\"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:t(6353,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353\",\"Project '{0}' is out of date because its dependency '{1}' is out of date\"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:t(6354,e.DiagnosticCategory.Message,\"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354\",\"Project '{0}' is up to date with .d.ts files from its dependencies\"),Projects_in_this_build_Colon_0:t(6355,e.DiagnosticCategory.Message,\"Projects_in_this_build_Colon_0_6355\",\"Projects in this build: {0}\"),A_non_dry_build_would_delete_the_following_files_Colon_0:t(6356,e.DiagnosticCategory.Message,\"A_non_dry_build_would_delete_the_following_files_Colon_0_6356\",\"A non-dry build would delete the following files: {0}\"),A_non_dry_build_would_build_project_0:t(6357,e.DiagnosticCategory.Message,\"A_non_dry_build_would_build_project_0_6357\",\"A non-dry build would build project '{0}'\"),Building_project_0:t(6358,e.DiagnosticCategory.Message,\"Building_project_0_6358\",\"Building project '{0}'...\"),Updating_output_timestamps_of_project_0:t(6359,e.DiagnosticCategory.Message,\"Updating_output_timestamps_of_project_0_6359\",\"Updating output timestamps of project '{0}'...\"),delete_this_Project_0_is_up_to_date_because_it_was_previously_built:t(6360,e.DiagnosticCategory.Message,\"delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360\",\"delete this - Project '{0}' is up to date because it was previously built\"),Project_0_is_up_to_date:t(6361,e.DiagnosticCategory.Message,\"Project_0_is_up_to_date_6361\",\"Project '{0}' is up to date\"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:t(6362,e.DiagnosticCategory.Message,\"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362\",\"Skipping build of project '{0}' because its dependency '{1}' has errors\"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:t(6363,e.DiagnosticCategory.Message,\"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363\",\"Project '{0}' can't be built because its dependency '{1}' has errors\"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:t(6364,e.DiagnosticCategory.Message,\"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364\",\"Build one or more projects and their dependencies, if out of date\"),Delete_the_outputs_of_all_projects:t(6365,e.DiagnosticCategory.Message,\"Delete_the_outputs_of_all_projects_6365\",\"Delete the outputs of all projects\"),Enable_verbose_logging:t(6366,e.DiagnosticCategory.Message,\"Enable_verbose_logging_6366\",\"Enable verbose logging\"),Show_what_would_be_built_or_deleted_if_specified_with_clean:t(6367,e.DiagnosticCategory.Message,\"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367\",\"Show what would be built (or deleted, if specified with '--clean')\"),Build_all_projects_including_those_that_appear_to_be_up_to_date:t(6368,e.DiagnosticCategory.Message,\"Build_all_projects_including_those_that_appear_to_be_up_to_date_6368\",\"Build all projects, including those that appear to be up to date\"),Option_build_must_be_the_first_command_line_argument:t(6369,e.DiagnosticCategory.Error,\"Option_build_must_be_the_first_command_line_argument_6369\",\"Option '--build' must be the first command line argument.\"),Options_0_and_1_cannot_be_combined:t(6370,e.DiagnosticCategory.Error,\"Options_0_and_1_cannot_be_combined_6370\",\"Options '{0}' and '{1}' cannot be combined.\"),Updating_unchanged_output_timestamps_of_project_0:t(6371,e.DiagnosticCategory.Message,\"Updating_unchanged_output_timestamps_of_project_0_6371\",\"Updating unchanged output timestamps of project '{0}'...\"),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:t(6372,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372\",\"Project '{0}' is out of date because output of its dependency '{1}' has changed\"),Updating_output_of_project_0:t(6373,e.DiagnosticCategory.Message,\"Updating_output_of_project_0_6373\",\"Updating output of project '{0}'...\"),A_non_dry_build_would_update_timestamps_for_output_of_project_0:t(6374,e.DiagnosticCategory.Message,\"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374\",\"A non-dry build would update timestamps for output of project '{0}'\"),A_non_dry_build_would_update_output_of_project_0:t(6375,e.DiagnosticCategory.Message,\"A_non_dry_build_would_update_output_of_project_0_6375\",\"A non-dry build would update output of project '{0}'\"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:t(6376,e.DiagnosticCategory.Message,\"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376\",\"Cannot update output of project '{0}' because there was error reading file '{1}'\"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:t(6377,e.DiagnosticCategory.Error,\"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377\",\"Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'\"),Enable_incremental_compilation:t(6378,e.DiagnosticCategory.Message,\"Enable_incremental_compilation_6378\",\"Enable incremental compilation\"),Composite_projects_may_not_disable_incremental_compilation:t(6379,e.DiagnosticCategory.Error,\"Composite_projects_may_not_disable_incremental_compilation_6379\",\"Composite projects may not disable incremental compilation.\"),Specify_file_to_store_incremental_compilation_information:t(6380,e.DiagnosticCategory.Message,\"Specify_file_to_store_incremental_compilation_information_6380\",\"Specify file to store incremental compilation information\"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:t(6381,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381\",\"Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'\"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:t(6382,e.DiagnosticCategory.Message,\"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382\",\"Skipping build of project '{0}' because its dependency '{1}' was not built\"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:t(6383,e.DiagnosticCategory.Message,\"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383\",\"Project '{0}' can't be built because its dependency '{1}' was not built\"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:t(6384,e.DiagnosticCategory.Message,\"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384\",\"Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it.\"),_0_is_deprecated:t(6385,e.DiagnosticCategory.Suggestion,\"_0_is_deprecated_6385\",\"'{0}' is deprecated\",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:t(6386,e.DiagnosticCategory.Message,\"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386\",\"Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found.\"),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:t(6500,e.DiagnosticCategory.Message,\"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500\",\"The expected type comes from property '{0}' which is declared here on type '{1}'\"),The_expected_type_comes_from_this_index_signature:t(6501,e.DiagnosticCategory.Message,\"The_expected_type_comes_from_this_index_signature_6501\",\"The expected type comes from this index signature.\"),The_expected_type_comes_from_the_return_type_of_this_signature:t(6502,e.DiagnosticCategory.Message,\"The_expected_type_comes_from_the_return_type_of_this_signature_6502\",\"The expected type comes from the return type of this signature.\"),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:t(6503,e.DiagnosticCategory.Message,\"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503\",\"Print names of files that are part of the compilation and then stop processing.\"),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:t(6504,e.DiagnosticCategory.Error,\"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504\",\"File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?\"),Include_undefined_in_index_signature_results:t(6800,e.DiagnosticCategory.Message,\"Include_undefined_in_index_signature_results_6800\",\"Include 'undefined' in index signature results\"),Variable_0_implicitly_has_an_1_type:t(7005,e.DiagnosticCategory.Error,\"Variable_0_implicitly_has_an_1_type_7005\",\"Variable '{0}' implicitly has an '{1}' type.\"),Parameter_0_implicitly_has_an_1_type:t(7006,e.DiagnosticCategory.Error,\"Parameter_0_implicitly_has_an_1_type_7006\",\"Parameter '{0}' implicitly has an '{1}' type.\"),Member_0_implicitly_has_an_1_type:t(7008,e.DiagnosticCategory.Error,\"Member_0_implicitly_has_an_1_type_7008\",\"Member '{0}' implicitly has an '{1}' type.\"),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:t(7009,e.DiagnosticCategory.Error,\"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009\",\"'new' expression, whose target lacks a construct signature, implicitly has an 'any' type.\"),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:t(7010,e.DiagnosticCategory.Error,\"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010\",\"'{0}', which lacks return-type annotation, implicitly has an '{1}' return type.\"),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:t(7011,e.DiagnosticCategory.Error,\"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011\",\"Function expression, which lacks return-type annotation, implicitly has an '{0}' return type.\"),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:t(7013,e.DiagnosticCategory.Error,\"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013\",\"Construct signature, which lacks return-type annotation, implicitly has an 'any' return type.\"),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:t(7014,e.DiagnosticCategory.Error,\"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014\",\"Function type, which lacks return-type annotation, implicitly has an '{0}' return type.\"),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:t(7015,e.DiagnosticCategory.Error,\"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015\",\"Element implicitly has an 'any' type because index expression is not of type 'number'.\"),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:t(7016,e.DiagnosticCategory.Error,\"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016\",\"Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type.\"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:t(7017,e.DiagnosticCategory.Error,\"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017\",\"Element implicitly has an 'any' type because type '{0}' has no index signature.\"),Object_literal_s_property_0_implicitly_has_an_1_type:t(7018,e.DiagnosticCategory.Error,\"Object_literal_s_property_0_implicitly_has_an_1_type_7018\",\"Object literal's property '{0}' implicitly has an '{1}' type.\"),Rest_parameter_0_implicitly_has_an_any_type:t(7019,e.DiagnosticCategory.Error,\"Rest_parameter_0_implicitly_has_an_any_type_7019\",\"Rest parameter '{0}' implicitly has an 'any[]' type.\"),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:t(7020,e.DiagnosticCategory.Error,\"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020\",\"Call signature, which lacks return-type annotation, implicitly has an 'any' return type.\"),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:t(7022,e.DiagnosticCategory.Error,\"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022\",\"'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.\"),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:t(7023,e.DiagnosticCategory.Error,\"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023\",\"'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.\"),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:t(7024,e.DiagnosticCategory.Error,\"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024\",\"Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.\"),Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:t(7025,e.DiagnosticCategory.Error,\"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025\",\"Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation.\"),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:t(7026,e.DiagnosticCategory.Error,\"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026\",\"JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists.\"),Unreachable_code_detected:t(7027,e.DiagnosticCategory.Error,\"Unreachable_code_detected_7027\",\"Unreachable code detected.\",!0),Unused_label:t(7028,e.DiagnosticCategory.Error,\"Unused_label_7028\",\"Unused label.\",!0),Fallthrough_case_in_switch:t(7029,e.DiagnosticCategory.Error,\"Fallthrough_case_in_switch_7029\",\"Fallthrough case in switch.\"),Not_all_code_paths_return_a_value:t(7030,e.DiagnosticCategory.Error,\"Not_all_code_paths_return_a_value_7030\",\"Not all code paths return a value.\"),Binding_element_0_implicitly_has_an_1_type:t(7031,e.DiagnosticCategory.Error,\"Binding_element_0_implicitly_has_an_1_type_7031\",\"Binding element '{0}' implicitly has an '{1}' type.\"),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:t(7032,e.DiagnosticCategory.Error,\"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032\",\"Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation.\"),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:t(7033,e.DiagnosticCategory.Error,\"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033\",\"Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation.\"),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:t(7034,e.DiagnosticCategory.Error,\"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034\",\"Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined.\"),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:t(7035,e.DiagnosticCategory.Error,\"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035\",\"Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`\"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:t(7036,e.DiagnosticCategory.Error,\"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036\",\"Dynamic import's specifier must be of type 'string', but here has type '{0}'.\"),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:t(7037,e.DiagnosticCategory.Message,\"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037\",\"Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'.\"),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:t(7038,e.DiagnosticCategory.Message,\"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038\",\"Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead.\"),Mapped_object_type_implicitly_has_an_any_template_type:t(7039,e.DiagnosticCategory.Error,\"Mapped_object_type_implicitly_has_an_any_template_type_7039\",\"Mapped object type implicitly has an 'any' template type.\"),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:t(7040,e.DiagnosticCategory.Error,\"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040\",\"If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}`\"),The_containing_arrow_function_captures_the_global_value_of_this:t(7041,e.DiagnosticCategory.Error,\"The_containing_arrow_function_captures_the_global_value_of_this_7041\",\"The containing arrow function captures the global value of 'this'.\"),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:t(7042,e.DiagnosticCategory.Error,\"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042\",\"Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used.\"),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7043,e.DiagnosticCategory.Suggestion,\"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043\",\"Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage.\"),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7044,e.DiagnosticCategory.Suggestion,\"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044\",\"Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage.\"),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7045,e.DiagnosticCategory.Suggestion,\"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045\",\"Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage.\"),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:t(7046,e.DiagnosticCategory.Suggestion,\"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046\",\"Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage.\"),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:t(7047,e.DiagnosticCategory.Suggestion,\"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047\",\"Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage.\"),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:t(7048,e.DiagnosticCategory.Suggestion,\"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048\",\"Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage.\"),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:t(7049,e.DiagnosticCategory.Suggestion,\"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049\",\"Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage.\"),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:t(7050,e.DiagnosticCategory.Suggestion,\"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050\",\"'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage.\"),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:t(7051,e.DiagnosticCategory.Error,\"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051\",\"Parameter has a name but no type. Did you mean '{0}: {1}'?\"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:t(7052,e.DiagnosticCategory.Error,\"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052\",\"Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?\"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:t(7053,e.DiagnosticCategory.Error,\"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053\",\"Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'.\"),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:t(7054,e.DiagnosticCategory.Error,\"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054\",\"No index signature with a parameter of type '{0}' was found on type '{1}'.\"),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:t(7055,e.DiagnosticCategory.Error,\"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055\",\"'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type.\"),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:t(7056,e.DiagnosticCategory.Error,\"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056\",\"The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed.\"),You_cannot_rename_this_element:t(8e3,e.DiagnosticCategory.Error,\"You_cannot_rename_this_element_8000\",\"You cannot rename this element.\"),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:t(8001,e.DiagnosticCategory.Error,\"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001\",\"You cannot rename elements that are defined in the standard TypeScript library.\"),import_can_only_be_used_in_TypeScript_files:t(8002,e.DiagnosticCategory.Error,\"import_can_only_be_used_in_TypeScript_files_8002\",\"'import ... =' can only be used in TypeScript files.\"),export_can_only_be_used_in_TypeScript_files:t(8003,e.DiagnosticCategory.Error,\"export_can_only_be_used_in_TypeScript_files_8003\",\"'export =' can only be used in TypeScript files.\"),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:t(8004,e.DiagnosticCategory.Error,\"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004\",\"Type parameter declarations can only be used in TypeScript files.\"),implements_clauses_can_only_be_used_in_TypeScript_files:t(8005,e.DiagnosticCategory.Error,\"implements_clauses_can_only_be_used_in_TypeScript_files_8005\",\"'implements' clauses can only be used in TypeScript files.\"),_0_declarations_can_only_be_used_in_TypeScript_files:t(8006,e.DiagnosticCategory.Error,\"_0_declarations_can_only_be_used_in_TypeScript_files_8006\",\"'{0}' declarations can only be used in TypeScript files.\"),Type_aliases_can_only_be_used_in_TypeScript_files:t(8008,e.DiagnosticCategory.Error,\"Type_aliases_can_only_be_used_in_TypeScript_files_8008\",\"Type aliases can only be used in TypeScript files.\"),The_0_modifier_can_only_be_used_in_TypeScript_files:t(8009,e.DiagnosticCategory.Error,\"The_0_modifier_can_only_be_used_in_TypeScript_files_8009\",\"The '{0}' modifier can only be used in TypeScript files.\"),Type_annotations_can_only_be_used_in_TypeScript_files:t(8010,e.DiagnosticCategory.Error,\"Type_annotations_can_only_be_used_in_TypeScript_files_8010\",\"Type annotations can only be used in TypeScript files.\"),Type_arguments_can_only_be_used_in_TypeScript_files:t(8011,e.DiagnosticCategory.Error,\"Type_arguments_can_only_be_used_in_TypeScript_files_8011\",\"Type arguments can only be used in TypeScript files.\"),Parameter_modifiers_can_only_be_used_in_TypeScript_files:t(8012,e.DiagnosticCategory.Error,\"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012\",\"Parameter modifiers can only be used in TypeScript files.\"),Non_null_assertions_can_only_be_used_in_TypeScript_files:t(8013,e.DiagnosticCategory.Error,\"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013\",\"Non-null assertions can only be used in TypeScript files.\"),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:t(8016,e.DiagnosticCategory.Error,\"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016\",\"Type assertion expressions can only be used in TypeScript files.\"),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:t(8017,e.DiagnosticCategory.Error,\"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017\",\"Octal literal types must use ES2015 syntax. Use the syntax '{0}'.\"),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:t(8018,e.DiagnosticCategory.Error,\"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018\",\"Octal literals are not allowed in enums members initializer. Use the syntax '{0}'.\"),Report_errors_in_js_files:t(8019,e.DiagnosticCategory.Message,\"Report_errors_in_js_files_8019\",\"Report errors in .js files.\"),JSDoc_types_can_only_be_used_inside_documentation_comments:t(8020,e.DiagnosticCategory.Error,\"JSDoc_types_can_only_be_used_inside_documentation_comments_8020\",\"JSDoc types can only be used inside documentation comments.\"),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:t(8021,e.DiagnosticCategory.Error,\"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021\",\"JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags.\"),JSDoc_0_is_not_attached_to_a_class:t(8022,e.DiagnosticCategory.Error,\"JSDoc_0_is_not_attached_to_a_class_8022\",\"JSDoc '@{0}' is not attached to a class.\"),JSDoc_0_1_does_not_match_the_extends_2_clause:t(8023,e.DiagnosticCategory.Error,\"JSDoc_0_1_does_not_match_the_extends_2_clause_8023\",\"JSDoc '@{0} {1}' does not match the 'extends {2}' clause.\"),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:t(8024,e.DiagnosticCategory.Error,\"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024\",\"JSDoc '@param' tag has name '{0}', but there is no parameter with that name.\"),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:t(8025,e.DiagnosticCategory.Error,\"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025\",\"Class declarations cannot have more than one `@augments` or `@extends` tag.\"),Expected_0_type_arguments_provide_these_with_an_extends_tag:t(8026,e.DiagnosticCategory.Error,\"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026\",\"Expected {0} type arguments; provide these with an '@extends' tag.\"),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:t(8027,e.DiagnosticCategory.Error,\"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027\",\"Expected {0}-{1} type arguments; provide these with an '@extends' tag.\"),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:t(8028,e.DiagnosticCategory.Error,\"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028\",\"JSDoc '...' may only appear in the last parameter of a signature.\"),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:t(8029,e.DiagnosticCategory.Error,\"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029\",\"JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type.\"),The_type_of_a_function_declaration_must_match_the_function_s_signature:t(8030,e.DiagnosticCategory.Error,\"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030\",\"The type of a function declaration must match the function's signature.\"),You_cannot_rename_a_module_via_a_global_import:t(8031,e.DiagnosticCategory.Error,\"You_cannot_rename_a_module_via_a_global_import_8031\",\"You cannot rename a module via a global import.\"),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:t(8032,e.DiagnosticCategory.Error,\"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032\",\"Qualified name '{0}' is not allowed without a leading '@param {object} {1}'.\"),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:t(8033,e.DiagnosticCategory.Error,\"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033\",\"A JSDoc '@typedef' comment may not contain multiple '@type' tags.\"),The_tag_was_first_specified_here:t(8034,e.DiagnosticCategory.Error,\"The_tag_was_first_specified_here_8034\",\"The tag was first specified here.\"),Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clause:t(9002,e.DiagnosticCategory.Error,\"Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002\",\"Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clause.\"),class_expressions_are_not_currently_supported:t(9003,e.DiagnosticCategory.Error,\"class_expressions_are_not_currently_supported_9003\",\"'class' expressions are not currently supported.\"),Language_service_is_disabled:t(9004,e.DiagnosticCategory.Error,\"Language_service_is_disabled_9004\",\"Language service is disabled.\"),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:t(9005,e.DiagnosticCategory.Error,\"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005\",\"Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit.\"),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:t(9006,e.DiagnosticCategory.Error,\"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006\",\"Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit.\"),JSX_attributes_must_only_be_assigned_a_non_empty_expression:t(17e3,e.DiagnosticCategory.Error,\"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000\",\"JSX attributes must only be assigned a non-empty 'expression'.\"),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:t(17001,e.DiagnosticCategory.Error,\"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001\",\"JSX elements cannot have multiple attributes with the same name.\"),Expected_corresponding_JSX_closing_tag_for_0:t(17002,e.DiagnosticCategory.Error,\"Expected_corresponding_JSX_closing_tag_for_0_17002\",\"Expected corresponding JSX closing tag for '{0}'.\"),JSX_attribute_expected:t(17003,e.DiagnosticCategory.Error,\"JSX_attribute_expected_17003\",\"JSX attribute expected.\"),Cannot_use_JSX_unless_the_jsx_flag_is_provided:t(17004,e.DiagnosticCategory.Error,\"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004\",\"Cannot use JSX unless the '--jsx' flag is provided.\"),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:t(17005,e.DiagnosticCategory.Error,\"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005\",\"A constructor cannot contain a 'super' call when its class extends 'null'.\"),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:t(17006,e.DiagnosticCategory.Error,\"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006\",\"An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.\"),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:t(17007,e.DiagnosticCategory.Error,\"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007\",\"A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.\"),JSX_element_0_has_no_corresponding_closing_tag:t(17008,e.DiagnosticCategory.Error,\"JSX_element_0_has_no_corresponding_closing_tag_17008\",\"JSX element '{0}' has no corresponding closing tag.\"),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:t(17009,e.DiagnosticCategory.Error,\"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009\",\"'super' must be called before accessing 'this' in the constructor of a derived class.\"),Unknown_type_acquisition_option_0:t(17010,e.DiagnosticCategory.Error,\"Unknown_type_acquisition_option_0_17010\",\"Unknown type acquisition option '{0}'.\"),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:t(17011,e.DiagnosticCategory.Error,\"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011\",\"'super' must be called before accessing a property of 'super' in the constructor of a derived class.\"),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:t(17012,e.DiagnosticCategory.Error,\"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012\",\"'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?\"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:t(17013,e.DiagnosticCategory.Error,\"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013\",\"Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor.\"),JSX_fragment_has_no_corresponding_closing_tag:t(17014,e.DiagnosticCategory.Error,\"JSX_fragment_has_no_corresponding_closing_tag_17014\",\"JSX fragment has no corresponding closing tag.\"),Expected_corresponding_closing_tag_for_JSX_fragment:t(17015,e.DiagnosticCategory.Error,\"Expected_corresponding_closing_tag_for_JSX_fragment_17015\",\"Expected corresponding closing tag for JSX fragment.\"),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:t(17016,e.DiagnosticCategory.Error,\"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016\",\"The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option.\"),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:t(17017,e.DiagnosticCategory.Error,\"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017\",\"An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments.\"),Unknown_type_acquisition_option_0_Did_you_mean_1:t(17018,e.DiagnosticCategory.Error,\"Unknown_type_acquisition_option_0_Did_you_mean_1_17018\",\"Unknown type acquisition option '{0}'. Did you mean '{1}'?\"),Circularity_detected_while_resolving_configuration_Colon_0:t(18e3,e.DiagnosticCategory.Error,\"Circularity_detected_while_resolving_configuration_Colon_0_18000\",\"Circularity detected while resolving configuration: {0}\"),A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not:t(18001,e.DiagnosticCategory.Error,\"A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not_18001\",\"A path in an 'extends' option must be relative or rooted, but '{0}' is not.\"),The_files_list_in_config_file_0_is_empty:t(18002,e.DiagnosticCategory.Error,\"The_files_list_in_config_file_0_is_empty_18002\",\"The 'files' list in config file '{0}' is empty.\"),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:t(18003,e.DiagnosticCategory.Error,\"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003\",\"No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'.\"),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module:t(80001,e.DiagnosticCategory.Suggestion,\"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module_80001\",\"File is a CommonJS module; it may be converted to an ES6 module.\"),This_constructor_function_may_be_converted_to_a_class_declaration:t(80002,e.DiagnosticCategory.Suggestion,\"This_constructor_function_may_be_converted_to_a_class_declaration_80002\",\"This constructor function may be converted to a class declaration.\"),Import_may_be_converted_to_a_default_import:t(80003,e.DiagnosticCategory.Suggestion,\"Import_may_be_converted_to_a_default_import_80003\",\"Import may be converted to a default import.\"),JSDoc_types_may_be_moved_to_TypeScript_types:t(80004,e.DiagnosticCategory.Suggestion,\"JSDoc_types_may_be_moved_to_TypeScript_types_80004\",\"JSDoc types may be moved to TypeScript types.\"),require_call_may_be_converted_to_an_import:t(80005,e.DiagnosticCategory.Suggestion,\"require_call_may_be_converted_to_an_import_80005\",\"'require' call may be converted to an import.\"),This_may_be_converted_to_an_async_function:t(80006,e.DiagnosticCategory.Suggestion,\"This_may_be_converted_to_an_async_function_80006\",\"This may be converted to an async function.\"),await_has_no_effect_on_the_type_of_this_expression:t(80007,e.DiagnosticCategory.Suggestion,\"await_has_no_effect_on_the_type_of_this_expression_80007\",\"'await' has no effect on the type of this expression.\"),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:t(80008,e.DiagnosticCategory.Suggestion,\"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008\",\"Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers.\"),Add_missing_super_call:t(90001,e.DiagnosticCategory.Message,\"Add_missing_super_call_90001\",\"Add missing 'super()' call\"),Make_super_call_the_first_statement_in_the_constructor:t(90002,e.DiagnosticCategory.Message,\"Make_super_call_the_first_statement_in_the_constructor_90002\",\"Make 'super()' call the first statement in the constructor\"),Change_extends_to_implements:t(90003,e.DiagnosticCategory.Message,\"Change_extends_to_implements_90003\",\"Change 'extends' to 'implements'\"),Remove_unused_declaration_for_Colon_0:t(90004,e.DiagnosticCategory.Message,\"Remove_unused_declaration_for_Colon_0_90004\",\"Remove unused declaration for: '{0}'\"),Remove_import_from_0:t(90005,e.DiagnosticCategory.Message,\"Remove_import_from_0_90005\",\"Remove import from '{0}'\"),Implement_interface_0:t(90006,e.DiagnosticCategory.Message,\"Implement_interface_0_90006\",\"Implement interface '{0}'\"),Implement_inherited_abstract_class:t(90007,e.DiagnosticCategory.Message,\"Implement_inherited_abstract_class_90007\",\"Implement inherited abstract class\"),Add_0_to_unresolved_variable:t(90008,e.DiagnosticCategory.Message,\"Add_0_to_unresolved_variable_90008\",\"Add '{0}.' to unresolved variable\"),Remove_variable_statement:t(90010,e.DiagnosticCategory.Message,\"Remove_variable_statement_90010\",\"Remove variable statement\"),Remove_template_tag:t(90011,e.DiagnosticCategory.Message,\"Remove_template_tag_90011\",\"Remove template tag\"),Remove_type_parameters:t(90012,e.DiagnosticCategory.Message,\"Remove_type_parameters_90012\",\"Remove type parameters\"),Import_0_from_module_1:t(90013,e.DiagnosticCategory.Message,\"Import_0_from_module_1_90013\",\"Import '{0}' from module \\\"{1}\\\"\"),Change_0_to_1:t(90014,e.DiagnosticCategory.Message,\"Change_0_to_1_90014\",\"Change '{0}' to '{1}'\"),Add_0_to_existing_import_declaration_from_1:t(90015,e.DiagnosticCategory.Message,\"Add_0_to_existing_import_declaration_from_1_90015\",\"Add '{0}' to existing import declaration from \\\"{1}\\\"\"),Declare_property_0:t(90016,e.DiagnosticCategory.Message,\"Declare_property_0_90016\",\"Declare property '{0}'\"),Add_index_signature_for_property_0:t(90017,e.DiagnosticCategory.Message,\"Add_index_signature_for_property_0_90017\",\"Add index signature for property '{0}'\"),Disable_checking_for_this_file:t(90018,e.DiagnosticCategory.Message,\"Disable_checking_for_this_file_90018\",\"Disable checking for this file\"),Ignore_this_error_message:t(90019,e.DiagnosticCategory.Message,\"Ignore_this_error_message_90019\",\"Ignore this error message\"),Initialize_property_0_in_the_constructor:t(90020,e.DiagnosticCategory.Message,\"Initialize_property_0_in_the_constructor_90020\",\"Initialize property '{0}' in the constructor\"),Initialize_static_property_0:t(90021,e.DiagnosticCategory.Message,\"Initialize_static_property_0_90021\",\"Initialize static property '{0}'\"),Change_spelling_to_0:t(90022,e.DiagnosticCategory.Message,\"Change_spelling_to_0_90022\",\"Change spelling to '{0}'\"),Declare_method_0:t(90023,e.DiagnosticCategory.Message,\"Declare_method_0_90023\",\"Declare method '{0}'\"),Declare_static_method_0:t(90024,e.DiagnosticCategory.Message,\"Declare_static_method_0_90024\",\"Declare static method '{0}'\"),Prefix_0_with_an_underscore:t(90025,e.DiagnosticCategory.Message,\"Prefix_0_with_an_underscore_90025\",\"Prefix '{0}' with an underscore\"),Rewrite_as_the_indexed_access_type_0:t(90026,e.DiagnosticCategory.Message,\"Rewrite_as_the_indexed_access_type_0_90026\",\"Rewrite as the indexed access type '{0}'\"),Declare_static_property_0:t(90027,e.DiagnosticCategory.Message,\"Declare_static_property_0_90027\",\"Declare static property '{0}'\"),Call_decorator_expression:t(90028,e.DiagnosticCategory.Message,\"Call_decorator_expression_90028\",\"Call decorator expression\"),Add_async_modifier_to_containing_function:t(90029,e.DiagnosticCategory.Message,\"Add_async_modifier_to_containing_function_90029\",\"Add async modifier to containing function\"),Replace_infer_0_with_unknown:t(90030,e.DiagnosticCategory.Message,\"Replace_infer_0_with_unknown_90030\",\"Replace 'infer {0}' with 'unknown'\"),Replace_all_unused_infer_with_unknown:t(90031,e.DiagnosticCategory.Message,\"Replace_all_unused_infer_with_unknown_90031\",\"Replace all unused 'infer' with 'unknown'\"),Import_default_0_from_module_1:t(90032,e.DiagnosticCategory.Message,\"Import_default_0_from_module_1_90032\",\"Import default '{0}' from module \\\"{1}\\\"\"),Add_default_import_0_to_existing_import_declaration_from_1:t(90033,e.DiagnosticCategory.Message,\"Add_default_import_0_to_existing_import_declaration_from_1_90033\",\"Add default import '{0}' to existing import declaration from \\\"{1}\\\"\"),Add_parameter_name:t(90034,e.DiagnosticCategory.Message,\"Add_parameter_name_90034\",\"Add parameter name\"),Declare_private_property_0:t(90035,e.DiagnosticCategory.Message,\"Declare_private_property_0_90035\",\"Declare private property '{0}'\"),Replace_0_with_Promise_1:t(90036,e.DiagnosticCategory.Message,\"Replace_0_with_Promise_1_90036\",\"Replace '{0}' with 'Promise<{1}>'\"),Fix_all_incorrect_return_type_of_an_async_functions:t(90037,e.DiagnosticCategory.Message,\"Fix_all_incorrect_return_type_of_an_async_functions_90037\",\"Fix all incorrect return type of an async functions\"),Declare_private_method_0:t(90038,e.DiagnosticCategory.Message,\"Declare_private_method_0_90038\",\"Declare private method '{0}'\"),Remove_unused_destructuring_declaration:t(90039,e.DiagnosticCategory.Message,\"Remove_unused_destructuring_declaration_90039\",\"Remove unused destructuring declaration\"),Remove_unused_declarations_for_Colon_0:t(90041,e.DiagnosticCategory.Message,\"Remove_unused_declarations_for_Colon_0_90041\",\"Remove unused declarations for: '{0}'\"),Declare_a_private_field_named_0:t(90053,e.DiagnosticCategory.Message,\"Declare_a_private_field_named_0_90053\",\"Declare a private field named '{0}'.\"),Convert_function_to_an_ES2015_class:t(95001,e.DiagnosticCategory.Message,\"Convert_function_to_an_ES2015_class_95001\",\"Convert function to an ES2015 class\"),Convert_function_0_to_class:t(95002,e.DiagnosticCategory.Message,\"Convert_function_0_to_class_95002\",\"Convert function '{0}' to class\"),Convert_0_to_1_in_0:t(95003,e.DiagnosticCategory.Message,\"Convert_0_to_1_in_0_95003\",\"Convert '{0}' to '{1} in {0}'\"),Extract_to_0_in_1:t(95004,e.DiagnosticCategory.Message,\"Extract_to_0_in_1_95004\",\"Extract to {0} in {1}\"),Extract_function:t(95005,e.DiagnosticCategory.Message,\"Extract_function_95005\",\"Extract function\"),Extract_constant:t(95006,e.DiagnosticCategory.Message,\"Extract_constant_95006\",\"Extract constant\"),Extract_to_0_in_enclosing_scope:t(95007,e.DiagnosticCategory.Message,\"Extract_to_0_in_enclosing_scope_95007\",\"Extract to {0} in enclosing scope\"),Extract_to_0_in_1_scope:t(95008,e.DiagnosticCategory.Message,\"Extract_to_0_in_1_scope_95008\",\"Extract to {0} in {1} scope\"),Annotate_with_type_from_JSDoc:t(95009,e.DiagnosticCategory.Message,\"Annotate_with_type_from_JSDoc_95009\",\"Annotate with type from JSDoc\"),Annotate_with_types_from_JSDoc:t(95010,e.DiagnosticCategory.Message,\"Annotate_with_types_from_JSDoc_95010\",\"Annotate with types from JSDoc\"),Infer_type_of_0_from_usage:t(95011,e.DiagnosticCategory.Message,\"Infer_type_of_0_from_usage_95011\",\"Infer type of '{0}' from usage\"),Infer_parameter_types_from_usage:t(95012,e.DiagnosticCategory.Message,\"Infer_parameter_types_from_usage_95012\",\"Infer parameter types from usage\"),Convert_to_default_import:t(95013,e.DiagnosticCategory.Message,\"Convert_to_default_import_95013\",\"Convert to default import\"),Install_0:t(95014,e.DiagnosticCategory.Message,\"Install_0_95014\",\"Install '{0}'\"),Replace_import_with_0:t(95015,e.DiagnosticCategory.Message,\"Replace_import_with_0_95015\",\"Replace import with '{0}'.\"),Use_synthetic_default_member:t(95016,e.DiagnosticCategory.Message,\"Use_synthetic_default_member_95016\",\"Use synthetic 'default' member.\"),Convert_to_ES6_module:t(95017,e.DiagnosticCategory.Message,\"Convert_to_ES6_module_95017\",\"Convert to ES6 module\"),Add_undefined_type_to_property_0:t(95018,e.DiagnosticCategory.Message,\"Add_undefined_type_to_property_0_95018\",\"Add 'undefined' type to property '{0}'\"),Add_initializer_to_property_0:t(95019,e.DiagnosticCategory.Message,\"Add_initializer_to_property_0_95019\",\"Add initializer to property '{0}'\"),Add_definite_assignment_assertion_to_property_0:t(95020,e.DiagnosticCategory.Message,\"Add_definite_assignment_assertion_to_property_0_95020\",\"Add definite assignment assertion to property '{0}'\"),Convert_all_type_literals_to_mapped_type:t(95021,e.DiagnosticCategory.Message,\"Convert_all_type_literals_to_mapped_type_95021\",\"Convert all type literals to mapped type\"),Add_all_missing_members:t(95022,e.DiagnosticCategory.Message,\"Add_all_missing_members_95022\",\"Add all missing members\"),Infer_all_types_from_usage:t(95023,e.DiagnosticCategory.Message,\"Infer_all_types_from_usage_95023\",\"Infer all types from usage\"),Delete_all_unused_declarations:t(95024,e.DiagnosticCategory.Message,\"Delete_all_unused_declarations_95024\",\"Delete all unused declarations\"),Prefix_all_unused_declarations_with_where_possible:t(95025,e.DiagnosticCategory.Message,\"Prefix_all_unused_declarations_with_where_possible_95025\",\"Prefix all unused declarations with '_' where possible\"),Fix_all_detected_spelling_errors:t(95026,e.DiagnosticCategory.Message,\"Fix_all_detected_spelling_errors_95026\",\"Fix all detected spelling errors\"),Add_initializers_to_all_uninitialized_properties:t(95027,e.DiagnosticCategory.Message,\"Add_initializers_to_all_uninitialized_properties_95027\",\"Add initializers to all uninitialized properties\"),Add_definite_assignment_assertions_to_all_uninitialized_properties:t(95028,e.DiagnosticCategory.Message,\"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028\",\"Add definite assignment assertions to all uninitialized properties\"),Add_undefined_type_to_all_uninitialized_properties:t(95029,e.DiagnosticCategory.Message,\"Add_undefined_type_to_all_uninitialized_properties_95029\",\"Add undefined type to all uninitialized properties\"),Change_all_jsdoc_style_types_to_TypeScript:t(95030,e.DiagnosticCategory.Message,\"Change_all_jsdoc_style_types_to_TypeScript_95030\",\"Change all jsdoc-style types to TypeScript\"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:t(95031,e.DiagnosticCategory.Message,\"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031\",\"Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)\"),Implement_all_unimplemented_interfaces:t(95032,e.DiagnosticCategory.Message,\"Implement_all_unimplemented_interfaces_95032\",\"Implement all unimplemented interfaces\"),Install_all_missing_types_packages:t(95033,e.DiagnosticCategory.Message,\"Install_all_missing_types_packages_95033\",\"Install all missing types packages\"),Rewrite_all_as_indexed_access_types:t(95034,e.DiagnosticCategory.Message,\"Rewrite_all_as_indexed_access_types_95034\",\"Rewrite all as indexed access types\"),Convert_all_to_default_imports:t(95035,e.DiagnosticCategory.Message,\"Convert_all_to_default_imports_95035\",\"Convert all to default imports\"),Make_all_super_calls_the_first_statement_in_their_constructor:t(95036,e.DiagnosticCategory.Message,\"Make_all_super_calls_the_first_statement_in_their_constructor_95036\",\"Make all 'super()' calls the first statement in their constructor\"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:t(95037,e.DiagnosticCategory.Message,\"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037\",\"Add qualifier to all unresolved variables matching a member name\"),Change_all_extended_interfaces_to_implements:t(95038,e.DiagnosticCategory.Message,\"Change_all_extended_interfaces_to_implements_95038\",\"Change all extended interfaces to 'implements'\"),Add_all_missing_super_calls:t(95039,e.DiagnosticCategory.Message,\"Add_all_missing_super_calls_95039\",\"Add all missing super calls\"),Implement_all_inherited_abstract_classes:t(95040,e.DiagnosticCategory.Message,\"Implement_all_inherited_abstract_classes_95040\",\"Implement all inherited abstract classes\"),Add_all_missing_async_modifiers:t(95041,e.DiagnosticCategory.Message,\"Add_all_missing_async_modifiers_95041\",\"Add all missing 'async' modifiers\"),Add_ts_ignore_to_all_error_messages:t(95042,e.DiagnosticCategory.Message,\"Add_ts_ignore_to_all_error_messages_95042\",\"Add '@ts-ignore' to all error messages\"),Annotate_everything_with_types_from_JSDoc:t(95043,e.DiagnosticCategory.Message,\"Annotate_everything_with_types_from_JSDoc_95043\",\"Annotate everything with types from JSDoc\"),Add_to_all_uncalled_decorators:t(95044,e.DiagnosticCategory.Message,\"Add_to_all_uncalled_decorators_95044\",\"Add '()' to all uncalled decorators\"),Convert_all_constructor_functions_to_classes:t(95045,e.DiagnosticCategory.Message,\"Convert_all_constructor_functions_to_classes_95045\",\"Convert all constructor functions to classes\"),Generate_get_and_set_accessors:t(95046,e.DiagnosticCategory.Message,\"Generate_get_and_set_accessors_95046\",\"Generate 'get' and 'set' accessors\"),Convert_require_to_import:t(95047,e.DiagnosticCategory.Message,\"Convert_require_to_import_95047\",\"Convert 'require' to 'import'\"),Convert_all_require_to_import:t(95048,e.DiagnosticCategory.Message,\"Convert_all_require_to_import_95048\",\"Convert all 'require' to 'import'\"),Move_to_a_new_file:t(95049,e.DiagnosticCategory.Message,\"Move_to_a_new_file_95049\",\"Move to a new file\"),Remove_unreachable_code:t(95050,e.DiagnosticCategory.Message,\"Remove_unreachable_code_95050\",\"Remove unreachable code\"),Remove_all_unreachable_code:t(95051,e.DiagnosticCategory.Message,\"Remove_all_unreachable_code_95051\",\"Remove all unreachable code\"),Add_missing_typeof:t(95052,e.DiagnosticCategory.Message,\"Add_missing_typeof_95052\",\"Add missing 'typeof'\"),Remove_unused_label:t(95053,e.DiagnosticCategory.Message,\"Remove_unused_label_95053\",\"Remove unused label\"),Remove_all_unused_labels:t(95054,e.DiagnosticCategory.Message,\"Remove_all_unused_labels_95054\",\"Remove all unused labels\"),Convert_0_to_mapped_object_type:t(95055,e.DiagnosticCategory.Message,\"Convert_0_to_mapped_object_type_95055\",\"Convert '{0}' to mapped object type\"),Convert_namespace_import_to_named_imports:t(95056,e.DiagnosticCategory.Message,\"Convert_namespace_import_to_named_imports_95056\",\"Convert namespace import to named imports\"),Convert_named_imports_to_namespace_import:t(95057,e.DiagnosticCategory.Message,\"Convert_named_imports_to_namespace_import_95057\",\"Convert named imports to namespace import\"),Add_or_remove_braces_in_an_arrow_function:t(95058,e.DiagnosticCategory.Message,\"Add_or_remove_braces_in_an_arrow_function_95058\",\"Add or remove braces in an arrow function\"),Add_braces_to_arrow_function:t(95059,e.DiagnosticCategory.Message,\"Add_braces_to_arrow_function_95059\",\"Add braces to arrow function\"),Remove_braces_from_arrow_function:t(95060,e.DiagnosticCategory.Message,\"Remove_braces_from_arrow_function_95060\",\"Remove braces from arrow function\"),Convert_default_export_to_named_export:t(95061,e.DiagnosticCategory.Message,\"Convert_default_export_to_named_export_95061\",\"Convert default export to named export\"),Convert_named_export_to_default_export:t(95062,e.DiagnosticCategory.Message,\"Convert_named_export_to_default_export_95062\",\"Convert named export to default export\"),Add_missing_enum_member_0:t(95063,e.DiagnosticCategory.Message,\"Add_missing_enum_member_0_95063\",\"Add missing enum member '{0}'\"),Add_all_missing_imports:t(95064,e.DiagnosticCategory.Message,\"Add_all_missing_imports_95064\",\"Add all missing imports\"),Convert_to_async_function:t(95065,e.DiagnosticCategory.Message,\"Convert_to_async_function_95065\",\"Convert to async function\"),Convert_all_to_async_functions:t(95066,e.DiagnosticCategory.Message,\"Convert_all_to_async_functions_95066\",\"Convert all to async functions\"),Add_missing_call_parentheses:t(95067,e.DiagnosticCategory.Message,\"Add_missing_call_parentheses_95067\",\"Add missing call parentheses\"),Add_all_missing_call_parentheses:t(95068,e.DiagnosticCategory.Message,\"Add_all_missing_call_parentheses_95068\",\"Add all missing call parentheses\"),Add_unknown_conversion_for_non_overlapping_types:t(95069,e.DiagnosticCategory.Message,\"Add_unknown_conversion_for_non_overlapping_types_95069\",\"Add 'unknown' conversion for non-overlapping types\"),Add_unknown_to_all_conversions_of_non_overlapping_types:t(95070,e.DiagnosticCategory.Message,\"Add_unknown_to_all_conversions_of_non_overlapping_types_95070\",\"Add 'unknown' to all conversions of non-overlapping types\"),Add_missing_new_operator_to_call:t(95071,e.DiagnosticCategory.Message,\"Add_missing_new_operator_to_call_95071\",\"Add missing 'new' operator to call\"),Add_missing_new_operator_to_all_calls:t(95072,e.DiagnosticCategory.Message,\"Add_missing_new_operator_to_all_calls_95072\",\"Add missing 'new' operator to all calls\"),Add_names_to_all_parameters_without_names:t(95073,e.DiagnosticCategory.Message,\"Add_names_to_all_parameters_without_names_95073\",\"Add names to all parameters without names\"),Enable_the_experimentalDecorators_option_in_your_configuration_file:t(95074,e.DiagnosticCategory.Message,\"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074\",\"Enable the 'experimentalDecorators' option in your configuration file\"),Convert_parameters_to_destructured_object:t(95075,e.DiagnosticCategory.Message,\"Convert_parameters_to_destructured_object_95075\",\"Convert parameters to destructured object\"),Allow_accessing_UMD_globals_from_modules:t(95076,e.DiagnosticCategory.Message,\"Allow_accessing_UMD_globals_from_modules_95076\",\"Allow accessing UMD globals from modules.\"),Extract_type:t(95077,e.DiagnosticCategory.Message,\"Extract_type_95077\",\"Extract type\"),Extract_to_type_alias:t(95078,e.DiagnosticCategory.Message,\"Extract_to_type_alias_95078\",\"Extract to type alias\"),Extract_to_typedef:t(95079,e.DiagnosticCategory.Message,\"Extract_to_typedef_95079\",\"Extract to typedef\"),Infer_this_type_of_0_from_usage:t(95080,e.DiagnosticCategory.Message,\"Infer_this_type_of_0_from_usage_95080\",\"Infer 'this' type of '{0}' from usage\"),Add_const_to_unresolved_variable:t(95081,e.DiagnosticCategory.Message,\"Add_const_to_unresolved_variable_95081\",\"Add 'const' to unresolved variable\"),Add_const_to_all_unresolved_variables:t(95082,e.DiagnosticCategory.Message,\"Add_const_to_all_unresolved_variables_95082\",\"Add 'const' to all unresolved variables\"),Add_await:t(95083,e.DiagnosticCategory.Message,\"Add_await_95083\",\"Add 'await'\"),Add_await_to_initializer_for_0:t(95084,e.DiagnosticCategory.Message,\"Add_await_to_initializer_for_0_95084\",\"Add 'await' to initializer for '{0}'\"),Fix_all_expressions_possibly_missing_await:t(95085,e.DiagnosticCategory.Message,\"Fix_all_expressions_possibly_missing_await_95085\",\"Fix all expressions possibly missing 'await'\"),Remove_unnecessary_await:t(95086,e.DiagnosticCategory.Message,\"Remove_unnecessary_await_95086\",\"Remove unnecessary 'await'\"),Remove_all_unnecessary_uses_of_await:t(95087,e.DiagnosticCategory.Message,\"Remove_all_unnecessary_uses_of_await_95087\",\"Remove all unnecessary uses of 'await'\"),Enable_the_jsx_flag_in_your_configuration_file:t(95088,e.DiagnosticCategory.Message,\"Enable_the_jsx_flag_in_your_configuration_file_95088\",\"Enable the '--jsx' flag in your configuration file\"),Add_await_to_initializers:t(95089,e.DiagnosticCategory.Message,\"Add_await_to_initializers_95089\",\"Add 'await' to initializers\"),Extract_to_interface:t(95090,e.DiagnosticCategory.Message,\"Extract_to_interface_95090\",\"Extract to interface\"),Convert_to_a_bigint_numeric_literal:t(95091,e.DiagnosticCategory.Message,\"Convert_to_a_bigint_numeric_literal_95091\",\"Convert to a bigint numeric literal\"),Convert_all_to_bigint_numeric_literals:t(95092,e.DiagnosticCategory.Message,\"Convert_all_to_bigint_numeric_literals_95092\",\"Convert all to bigint numeric literals\"),Convert_const_to_let:t(95093,e.DiagnosticCategory.Message,\"Convert_const_to_let_95093\",\"Convert 'const' to 'let'\"),Prefix_with_declare:t(95094,e.DiagnosticCategory.Message,\"Prefix_with_declare_95094\",\"Prefix with 'declare'\"),Prefix_all_incorrect_property_declarations_with_declare:t(95095,e.DiagnosticCategory.Message,\"Prefix_all_incorrect_property_declarations_with_declare_95095\",\"Prefix all incorrect property declarations with 'declare'\"),Convert_to_template_string:t(95096,e.DiagnosticCategory.Message,\"Convert_to_template_string_95096\",\"Convert to template string\"),Add_export_to_make_this_file_into_a_module:t(95097,e.DiagnosticCategory.Message,\"Add_export_to_make_this_file_into_a_module_95097\",\"Add 'export {}' to make this file into a module\"),Set_the_target_option_in_your_configuration_file_to_0:t(95098,e.DiagnosticCategory.Message,\"Set_the_target_option_in_your_configuration_file_to_0_95098\",\"Set the 'target' option in your configuration file to '{0}'\"),Set_the_module_option_in_your_configuration_file_to_0:t(95099,e.DiagnosticCategory.Message,\"Set_the_module_option_in_your_configuration_file_to_0_95099\",\"Set the 'module' option in your configuration file to '{0}'\"),Convert_invalid_character_to_its_html_entity_code:t(95100,e.DiagnosticCategory.Message,\"Convert_invalid_character_to_its_html_entity_code_95100\",\"Convert invalid character to its html entity code\"),Convert_all_invalid_characters_to_HTML_entity_code:t(95101,e.DiagnosticCategory.Message,\"Convert_all_invalid_characters_to_HTML_entity_code_95101\",\"Convert all invalid characters to HTML entity code\"),Add_class_tag:t(95102,e.DiagnosticCategory.Message,\"Add_class_tag_95102\",\"Add '@class' tag\"),Add_this_tag:t(95103,e.DiagnosticCategory.Message,\"Add_this_tag_95103\",\"Add '@this' tag\"),Add_this_parameter:t(95104,e.DiagnosticCategory.Message,\"Add_this_parameter_95104\",\"Add 'this' parameter.\"),Convert_function_expression_0_to_arrow_function:t(95105,e.DiagnosticCategory.Message,\"Convert_function_expression_0_to_arrow_function_95105\",\"Convert function expression '{0}' to arrow function\"),Convert_function_declaration_0_to_arrow_function:t(95106,e.DiagnosticCategory.Message,\"Convert_function_declaration_0_to_arrow_function_95106\",\"Convert function declaration '{0}' to arrow function\"),Fix_all_implicit_this_errors:t(95107,e.DiagnosticCategory.Message,\"Fix_all_implicit_this_errors_95107\",\"Fix all implicit-'this' errors\"),Wrap_invalid_character_in_an_expression_container:t(95108,e.DiagnosticCategory.Message,\"Wrap_invalid_character_in_an_expression_container_95108\",\"Wrap invalid character in an expression container\"),Wrap_all_invalid_characters_in_an_expression_container:t(95109,e.DiagnosticCategory.Message,\"Wrap_all_invalid_characters_in_an_expression_container_95109\",\"Wrap all invalid characters in an expression container\"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file:t(95110,e.DiagnosticCategory.Message,\"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file_95110\",\"Visit https://aka.ms/tsconfig.json to read more about this file\"),Add_a_return_statement:t(95111,e.DiagnosticCategory.Message,\"Add_a_return_statement_95111\",\"Add a return statement\"),Remove_braces_from_arrow_function_body:t(95112,e.DiagnosticCategory.Message,\"Remove_braces_from_arrow_function_body_95112\",\"Remove braces from arrow function body\"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:t(95113,e.DiagnosticCategory.Message,\"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113\",\"Wrap the following body with parentheses which should be an object literal\"),Add_all_missing_return_statement:t(95114,e.DiagnosticCategory.Message,\"Add_all_missing_return_statement_95114\",\"Add all missing return statement\"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:t(95115,e.DiagnosticCategory.Message,\"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115\",\"Remove braces from all arrow function bodies with relevant issues\"),Wrap_all_object_literal_with_parentheses:t(95116,e.DiagnosticCategory.Message,\"Wrap_all_object_literal_with_parentheses_95116\",\"Wrap all object literal with parentheses\"),Move_labeled_tuple_element_modifiers_to_labels:t(95117,e.DiagnosticCategory.Message,\"Move_labeled_tuple_element_modifiers_to_labels_95117\",\"Move labeled tuple element modifiers to labels\"),Convert_overload_list_to_single_signature:t(95118,e.DiagnosticCategory.Message,\"Convert_overload_list_to_single_signature_95118\",\"Convert overload list to single signature\"),Generate_get_and_set_accessors_for_all_overriding_properties:t(95119,e.DiagnosticCategory.Message,\"Generate_get_and_set_accessors_for_all_overriding_properties_95119\",\"Generate 'get' and 'set' accessors for all overriding properties\"),Wrap_in_JSX_fragment:t(95120,e.DiagnosticCategory.Message,\"Wrap_in_JSX_fragment_95120\",\"Wrap in JSX fragment\"),Wrap_all_unparented_JSX_in_JSX_fragment:t(95121,e.DiagnosticCategory.Message,\"Wrap_all_unparented_JSX_in_JSX_fragment_95121\",\"Wrap all unparented JSX in JSX fragment\"),Convert_arrow_function_or_function_expression:t(95122,e.DiagnosticCategory.Message,\"Convert_arrow_function_or_function_expression_95122\",\"Convert arrow function or function expression\"),Convert_to_anonymous_function:t(95123,e.DiagnosticCategory.Message,\"Convert_to_anonymous_function_95123\",\"Convert to anonymous function\"),Convert_to_named_function:t(95124,e.DiagnosticCategory.Message,\"Convert_to_named_function_95124\",\"Convert to named function\"),Convert_to_arrow_function:t(95125,e.DiagnosticCategory.Message,\"Convert_to_arrow_function_95125\",\"Convert to arrow function\"),Remove_parentheses:t(95126,e.DiagnosticCategory.Message,\"Remove_parentheses_95126\",\"Remove parentheses\"),Could_not_find_a_containing_arrow_function:t(95127,e.DiagnosticCategory.Message,\"Could_not_find_a_containing_arrow_function_95127\",\"Could not find a containing arrow function\"),Containing_function_is_not_an_arrow_function:t(95128,e.DiagnosticCategory.Message,\"Containing_function_is_not_an_arrow_function_95128\",\"Containing function is not an arrow function\"),Could_not_find_export_statement:t(95129,e.DiagnosticCategory.Message,\"Could_not_find_export_statement_95129\",\"Could not find export statement\"),This_file_already_has_a_default_export:t(95130,e.DiagnosticCategory.Message,\"This_file_already_has_a_default_export_95130\",\"This file already has a default export\"),Could_not_find_import_clause:t(95131,e.DiagnosticCategory.Message,\"Could_not_find_import_clause_95131\",\"Could not find import clause\"),Could_not_find_namespace_import_or_named_imports:t(95132,e.DiagnosticCategory.Message,\"Could_not_find_namespace_import_or_named_imports_95132\",\"Could not find namespace import or named imports\"),Selection_is_not_a_valid_type_node:t(95133,e.DiagnosticCategory.Message,\"Selection_is_not_a_valid_type_node_95133\",\"Selection is not a valid type node\"),No_type_could_be_extracted_from_this_type_node:t(95134,e.DiagnosticCategory.Message,\"No_type_could_be_extracted_from_this_type_node_95134\",\"No type could be extracted from this type node\"),Could_not_find_property_for_which_to_generate_accessor:t(95135,e.DiagnosticCategory.Message,\"Could_not_find_property_for_which_to_generate_accessor_95135\",\"Could not find property for which to generate accessor\"),Name_is_not_valid:t(95136,e.DiagnosticCategory.Message,\"Name_is_not_valid_95136\",\"Name is not valid\"),Can_only_convert_property_with_modifier:t(95137,e.DiagnosticCategory.Message,\"Can_only_convert_property_with_modifier_95137\",\"Can only convert property with modifier\"),Switch_each_misused_0_to_1:t(95138,e.DiagnosticCategory.Message,\"Switch_each_misused_0_to_1_95138\",\"Switch each misused '{0}' to '{1}'\"),Convert_to_optional_chain_expression:t(95139,e.DiagnosticCategory.Message,\"Convert_to_optional_chain_expression_95139\",\"Convert to optional chain expression\"),Could_not_find_convertible_access_expression:t(95140,e.DiagnosticCategory.Message,\"Could_not_find_convertible_access_expression_95140\",\"Could not find convertible access expression\"),Could_not_find_matching_access_expressions:t(95141,e.DiagnosticCategory.Message,\"Could_not_find_matching_access_expressions_95141\",\"Could not find matching access expressions\"),Can_only_convert_logical_AND_access_chains:t(95142,e.DiagnosticCategory.Message,\"Can_only_convert_logical_AND_access_chains_95142\",\"Can only convert logical AND access chains\"),Add_void_to_Promise_resolved_without_a_value:t(95143,e.DiagnosticCategory.Message,\"Add_void_to_Promise_resolved_without_a_value_95143\",\"Add 'void' to Promise resolved without a value\"),Add_void_to_all_Promises_resolved_without_a_value:t(95144,e.DiagnosticCategory.Message,\"Add_void_to_all_Promises_resolved_without_a_value_95144\",\"Add 'void' to all Promises resolved without a value\"),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:t(18004,e.DiagnosticCategory.Error,\"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004\",\"No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer.\"),Classes_may_not_have_a_field_named_constructor:t(18006,e.DiagnosticCategory.Error,\"Classes_may_not_have_a_field_named_constructor_18006\",\"Classes may not have a field named 'constructor'.\"),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:t(18007,e.DiagnosticCategory.Error,\"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007\",\"JSX expressions may not use the comma operator. Did you mean to write an array?\"),Private_identifiers_cannot_be_used_as_parameters:t(18009,e.DiagnosticCategory.Error,\"Private_identifiers_cannot_be_used_as_parameters_18009\",\"Private identifiers cannot be used as parameters.\"),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:t(18010,e.DiagnosticCategory.Error,\"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010\",\"An accessibility modifier cannot be used with a private identifier.\"),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:t(18011,e.DiagnosticCategory.Error,\"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011\",\"The operand of a 'delete' operator cannot be a private identifier.\"),constructor_is_a_reserved_word:t(18012,e.DiagnosticCategory.Error,\"constructor_is_a_reserved_word_18012\",\"'#constructor' is a reserved word.\"),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:t(18013,e.DiagnosticCategory.Error,\"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013\",\"Property '{0}' is not accessible outside class '{1}' because it has a private identifier.\"),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:t(18014,e.DiagnosticCategory.Error,\"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014\",\"The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling.\"),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:t(18015,e.DiagnosticCategory.Error,\"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015\",\"Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'.\"),Private_identifiers_are_not_allowed_outside_class_bodies:t(18016,e.DiagnosticCategory.Error,\"Private_identifiers_are_not_allowed_outside_class_bodies_18016\",\"Private identifiers are not allowed outside class bodies.\"),The_shadowing_declaration_of_0_is_defined_here:t(18017,e.DiagnosticCategory.Error,\"The_shadowing_declaration_of_0_is_defined_here_18017\",\"The shadowing declaration of '{0}' is defined here\"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:t(18018,e.DiagnosticCategory.Error,\"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018\",\"The declaration of '{0}' that you probably intended to use is defined here\"),_0_modifier_cannot_be_used_with_a_private_identifier:t(18019,e.DiagnosticCategory.Error,\"_0_modifier_cannot_be_used_with_a_private_identifier_18019\",\"'{0}' modifier cannot be used with a private identifier.\"),A_method_cannot_be_named_with_a_private_identifier:t(18022,e.DiagnosticCategory.Error,\"A_method_cannot_be_named_with_a_private_identifier_18022\",\"A method cannot be named with a private identifier.\"),An_accessor_cannot_be_named_with_a_private_identifier:t(18023,e.DiagnosticCategory.Error,\"An_accessor_cannot_be_named_with_a_private_identifier_18023\",\"An accessor cannot be named with a private identifier.\"),An_enum_member_cannot_be_named_with_a_private_identifier:t(18024,e.DiagnosticCategory.Error,\"An_enum_member_cannot_be_named_with_a_private_identifier_18024\",\"An enum member cannot be named with a private identifier.\"),can_only_be_used_at_the_start_of_a_file:t(18026,e.DiagnosticCategory.Error,\"can_only_be_used_at_the_start_of_a_file_18026\",\"'#!' can only be used at the start of a file.\"),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:t(18027,e.DiagnosticCategory.Error,\"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027\",\"Compiler reserves name '{0}' when emitting private identifier downlevel.\"),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:t(18028,e.DiagnosticCategory.Error,\"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028\",\"Private identifiers are only available when targeting ECMAScript 2015 and higher.\"),Private_identifiers_are_not_allowed_in_variable_declarations:t(18029,e.DiagnosticCategory.Error,\"Private_identifiers_are_not_allowed_in_variable_declarations_18029\",\"Private identifiers are not allowed in variable declarations.\"),An_optional_chain_cannot_contain_private_identifiers:t(18030,e.DiagnosticCategory.Error,\"An_optional_chain_cannot_contain_private_identifiers_18030\",\"An optional chain cannot contain private identifiers.\"),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:t(18031,e.DiagnosticCategory.Error,\"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031\",\"The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents.\"),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:t(18032,e.DiagnosticCategory.Error,\"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032\",\"The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some.\"),Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhaustiveness_checks_consider_using_an_object_literal_instead:t(18033,e.DiagnosticCategory.Error,\"Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhau_18033\",\"Only numeric enums can have computed members, but this expression has type '{0}'. If you do not need exhaustiveness checks, consider using an object literal instead.\"),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:t(18034,e.DiagnosticCategory.Message,\"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034\",\"Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'.\"),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:t(18035,e.DiagnosticCategory.Error,\"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035\",\"Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name.\")}}(u||(u={})),function(e){var t;function r(e){return e>=78}e.tokenIsIdentifierOrKeyword=r,e.tokenIsIdentifierOrKeywordOrGreaterThan=function(e){return 31===e||r(e)};var i=((t={abstract:125,any:128,as:126,asserts:127,bigint:155,boolean:131,break:80,case:81,catch:82,class:83,continue:85,const:84}).constructor=132,t.debugger=86,t.declare=133,t.default=87,t.delete=88,t.do=89,t.else=90,t.enum=91,t.export=92,t.extends=93,t.false=94,t.finally=95,t.for=96,t.from=153,t.function=97,t.get=134,t.if=98,t.implements=116,t.import=99,t.in=100,t.infer=135,t.instanceof=101,t.interface=117,t.intrinsic=136,t.is=137,t.keyof=138,t.let=118,t.module=139,t.namespace=140,t.never=141,t.new=102,t.null=103,t.number=144,t.object=145,t.package=119,t.private=120,t.protected=121,t.public=122,t.readonly=142,t.require=143,t.global=154,t.return=104,t.set=146,t.static=123,t.string=147,t.super=105,t.switch=106,t.symbol=148,t.this=107,t.throw=108,t.true=109,t.try=110,t.type=149,t.typeof=111,t.undefined=150,t.unique=151,t.unknown=152,t.var=112,t.void=113,t.while=114,t.with=115,t.yield=124,t.async=129,t.await=130,t.of=156,t),a=new e.Map(e.getEntries(i)),o=new e.Map(e.getEntries(n(n({},i),{\"{\":18,\"}\":19,\"(\":20,\")\":21,\"[\":22,\"]\":23,\".\":24,\"...\":25,\";\":26,\",\":27,\"<\":29,\">\":31,\"<=\":32,\">=\":33,\"==\":34,\"!=\":35,\"===\":36,\"!==\":37,\"=>\":38,\"+\":39,\"-\":40,\"**\":42,\"*\":41,\"/\":43,\"%\":44,\"++\":45,\"--\":46,\"<<\":47,\">\":48,\">>>\":49,\"&\":50,\"|\":51,\"^\":52,\"!\":53,\"~\":54,\"&&\":55,\"||\":56,\"?\":57,\"??\":60,\"?.\":28,\":\":58,\"=\":62,\"+=\":63,\"-=\":64,\"*=\":65,\"**=\":66,\"/=\":67,\"%=\":68,\"<<=\":69,\">>=\":70,\">>>=\":71,\"&=\":72,\"|=\":73,\"^=\":77,\"||=\":74,\"&&=\":75,\"??=\":76,\"@\":59,\"`\":61}))),s=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],c=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],u=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],l=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],d=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],_=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],p=/^\\s*\\/\\/\\/?\\s*@(ts-expect-error|ts-ignore)/,f=/^\\s*(?:\\/|\\*)*\\s*@(ts-expect-error|ts-ignore)/;function g(e,t){if(e=2?d:1===t?u:s)}e.isUnicodeIdentifierStart=m;var y,v=(y=[],o.forEach((function(e,t){y[e]=t})),y);function h(e){for(var t=new Array,r=0,n=0;r127&&C(i)&&(t.push(n),n=r)}}return t.push(n),t}function D(t,r,n,i,a){(r<0||r>=t.length)&&(a?r=r<0?0:r>=t.length?t.length-1:r:e.Debug.fail(\"Bad line number. Line: \"+r+\", lineStarts.length: \"+t.length+\" , line map is correct? \"+(void 0!==i?e.arraysEqual(t,h(i)):\"unknown\")));var o=t[r]+n;return a?o>t[r+1]?t[r+1]:\"string\"==typeof i&&o>i.length?i.length:o:(r=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function C(e){return 10===e||13===e||8232===e||8233===e}function k(e){return e>=48&&e<=57}function A(e){return k(e)||e>=65&&e<=70||e>=97&&e<=102}function F(e){return e>=48&&e<=55}e.tokenToString=function(e){return v[e]},e.stringToToken=function(e){return o.get(e)},e.computeLineStarts=h,e.getPositionOfLineAndCharacter=function(e,t,r,n){return e.getPositionOfLineAndCharacter?e.getPositionOfLineAndCharacter(t,r,n):D(x(e),t,r,e.text,n)},e.computePositionOfLineAndCharacter=D,e.getLineStarts=x,e.computeLineAndCharacterOfPosition=b,e.computeLineOfPosition=S,e.getLinesBetweenPositions=function(e,t,r){if(t===r)return 0;var n=x(e),i=Math.min(t,r),a=i===r,o=a?t:r,s=S(n,i),c=S(n,o,s);return a?s-c:c-s},e.getLineAndCharacterOfPosition=function(e,t){return b(x(e),t)},e.isWhiteSpaceLike=E,e.isWhiteSpaceSingleLine=T,e.isLineBreak=C,e.isOctalDigit=F,e.couldStartTrivia=function(e,t){var r=e.charCodeAt(t);switch(r){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return 0===t;default:return r>127}},e.skipTrivia=function(t,r,n,i){if(void 0===i&&(i=!1),e.positionIsSynthesized(r))return r;for(;;){var a=t.charCodeAt(r);switch(a){case 13:10===t.charCodeAt(r+1)&&r++;case 10:if(r++,n)return r;continue;case 9:case 11:case 12:case 32:r++;continue;case 47:if(i)break;if(47===t.charCodeAt(r+1)){for(r+=2;r127&&E(a)){r++;continue}}return r}};var N=\"<<<<<<<\".length;function P(t,r){if(e.Debug.assert(r>=0),0===r||C(t.charCodeAt(r-1))){var n=t.charCodeAt(r);if(r+N=0&&r127&&E(g)){d&&C(g)&&(l=!0),r++;continue}break e}}return d&&(p=i(s,c,u,l,a,p)),p}function R(e,t,r,n,i){return L(!0,e,t,!1,r,n,i)}function B(e,t,r,n,i){return L(!0,e,t,!0,r,n,i)}function j(e,t,r,n,i,a){return a||(a=[]),a.push({kind:r,pos:e,end:t,hasTrailingNewLine:n}),a}function J(e){var t=I.exec(e);if(t)return t[0]}function K(e,t){return e>=65&&e<=90||e>=97&&e<=122||36===e||95===e||e>127&&m(e,t)}function z(e,t,r){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||36===e||95===e||1===r&&(45===e||58===e)||e>127&&function(e,t){return g(e,t>=2?_:1===t?l:c)}(e,t)}e.isShebangTrivia=O,e.scanShebangTrivia=M,e.forEachLeadingCommentRange=function(e,t,r,n){return L(!1,e,t,!1,r,n)},e.forEachTrailingCommentRange=function(e,t,r,n){return L(!1,e,t,!0,r,n)},e.reduceEachLeadingCommentRange=R,e.reduceEachTrailingCommentRange=B,e.getLeadingCommentRanges=function(e,t){return R(e,t,j,void 0,void 0)},e.getTrailingCommentRanges=function(e,t){return B(e,t,j,void 0,void 0)},e.getShebang=J,e.isIdentifierStart=K,e.isIdentifierPart=z,e.isIdentifierText=function(e,t,r){var n=U(e,0);if(!K(n,t))return!1;for(var i=V(n);i115},isReservedWord:function(){return m>=80&&m<=115},isUnterminated:function(){return 0!=(4&v)},getCommentDirectives:function(){return h},getNumericLiteralFlags:function(){return 1008&v},getTokenFlags:function(){return v},reScanGreaterToken:function(){if(31===m){if(62===D.charCodeAt(l))return 62===D.charCodeAt(l+1)?61===D.charCodeAt(l+2)?(l+=3,m=71):(l+=2,m=49):61===D.charCodeAt(l+1)?(l+=2,m=70):(l++,m=48);if(61===D.charCodeAt(l))return l++,m=33}return m},reScanAsteriskEqualsToken:function(){return e.Debug.assert(65===m,\"'reScanAsteriskEqualsToken' should only be called on a '*='\"),l=g+1,m=62},reScanSlashToken:function(){if(43===m||67===m){for(var r=g+1,n=!1,i=!1;;){if(r>=d){v|=4,S(e.Diagnostics.Unterminated_regular_expression_literal);break}var a=D.charCodeAt(r);if(C(a)){v|=4,S(e.Diagnostics.Unterminated_regular_expression_literal);break}if(n)n=!1;else{if(47===a&&!i){r++;break}91===a?i=!0:92===a?n=!0:93===a&&(i=!1)}r++}for(;r=d)return m=1;var e=U(D,l);switch(l+=V(e),e){case 9:case 11:case 12:case 32:for(;l=0&&K(r,t))return l+=3,v|=8,y=X()+Z(),m=ee();var n=Q();return n>=0&&K(n,t)?(l+=6,v|=1024,y=String.fromCharCode(n)+Z(),m=ee()):(l++,m=0)}if(K(e,t)){for(var i=e;l=65&&s<=70)s+=32;else if(!(s>=48&&s<=57||s>=97&&s<=102))break;i.push(s),l++,o=!1}}return i.length=d){n+=D.substring(i,l),v|=4,S(e.Diagnostics.Unterminated_string_literal);break}var a=D.charCodeAt(l);if(a===r){n+=D.substring(i,l),l++;break}if(92!==a||t){if(C(a)&&!t){n+=D.substring(i,l),v|=4,S(e.Diagnostics.Unterminated_string_literal);break}l++}else n+=D.substring(i,l),n+=G(),i=l}return n}function H(t){for(var r,n=96===D.charCodeAt(l),i=++l,a=\"\";;){if(l>=d){a+=D.substring(i,l),v|=4,S(e.Diagnostics.Unterminated_template_literal),r=n?14:17;break}var o=D.charCodeAt(l);if(96===o){a+=D.substring(i,l),l++,r=n?14:17;break}if(36===o&&l+1=d)return S(e.Diagnostics.Unexpected_end_of_text),\"\";var n=D.charCodeAt(l);switch(l++,n){case 48:return t&&l=0?String.fromCharCode(r):(S(e.Diagnostics.Hexadecimal_digit_expected),\"\")}function X(){var t=j(1,!1),r=t?parseInt(t,16):-1,n=!1;return r<0?(S(e.Diagnostics.Hexadecimal_digit_expected),n=!0):r>1114111&&(S(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),n=!0),l>=d?(S(e.Diagnostics.Unexpected_end_of_text),n=!0):125===D.charCodeAt(l)?l++:(S(e.Diagnostics.Unterminated_Unicode_escape_sequence),n=!0),n?\"\":W(r)}function Q(){if(l+5=2&&117===U(D,l+1)&&123===U(D,l+2)){var e=l;l+=3;var r=j(1,!1),n=r?parseInt(r,16):-1;return l=e,n}return-1}function Z(){for(var e=\"\",r=l;l=0&&z(n,t)){l+=3,v|=8,e+=X(),r=l;continue}if(!((n=Q())>=0&&z(n,t)))break;v|=1024,e+=D.substring(r,l),e+=W(n),r=l+=6}}return e+=D.substring(r,l)}function ee(){var e=y.length;if(e>=2&&e<=12){var t=y.charCodeAt(0);if(t>=97&&t<=122){var r=a.get(y);if(void 0!==r)return m=r}}return m=78}function te(t){for(var r=\"\",n=!1,i=!1;;){var a=D.charCodeAt(l);if(95!==a){if(n=!0,!k(a)||a-48>=t)break;r+=D[l],l++,i=!1}else v|=512,n?(n=!1,i=!0):S(i?e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted:e.Diagnostics.Numeric_separators_are_not_allowed_here,l,1),l++}return 95===D.charCodeAt(l-1)&&S(e.Diagnostics.Numeric_separators_are_not_allowed_here,l-1,1),r}function re(){if(110===D.charCodeAt(l))return y+=\"n\",384&v&&(y=e.parsePseudoBigInt(y)+\"n\"),l++,9;var t=128&v?parseInt(y.slice(2),2):256&v?parseInt(y.slice(2),8):+y;return y=\"\"+t,8}function ne(){var r;_=l,v=0;for(var a=!1;;){if(g=l,l>=d)return m=1;var o=U(D,l);if(35===o&&0===l&&O(D,l)){if(l=M(D,l),n)continue;return m=6}switch(o){case 10:case 13:if(v|=1,n){l++;continue}return 13===o&&l+1=0&&K(b,t))return l+=3,v|=8,y=X()+Z(),m=ee();var E=Q();return E>=0&&K(E,t)?(l+=6,v|=1024,y=String.fromCharCode(E)+Z(),m=ee()):(S(e.Diagnostics.Invalid_character),l++,m=0);case 35:if(0!==l&&\"!\"===D[l+1])return S(e.Diagnostics.can_only_be_used_at_the_start_of_a_file),l++,m=0;if(l++,K(o=D.charCodeAt(l),t)){for(l++;l=d)return m=1;var t=D.charCodeAt(l);if(60===t)return 47===D.charCodeAt(l+1)?(l+=2,m=30):(l++,m=29);if(123===t)return l++,m=18;for(var r=0,n=-1;l0&&n++,C(t)&&0===r?r=-1:E(t)||(r=l),l++}var i=-1===n?l:n;return y=D.substring(_,i),-1===r?12:11}function oe(){switch(_=l,D.charCodeAt(l)){case 34:case 39:return y=q(!0),m=10;default:return ne()}}function se(e,t){var r=l,n=_,i=g,a=m,o=y,s=v,c=e();return c&&!t||(l=r,_=n,g=i,m=a,y=o,v=s),c}function ce(e,t,r){D=e||\"\",d=void 0===r?D.length:t+r,ue(t||0)}function ue(t){e.Debug.assert(t>=0),l=t,_=t,g=t,m=0,y=void 0,v=0}};var U=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){var r=e.length;if(!(t<0||t>=r)){var n=e.charCodeAt(t);if(n>=55296&&n<=56319&&r>t+1){var i=e.charCodeAt(t+1);if(i>=56320&&i<=57343)return 1024*(n-55296)+i-56320+65536}return n}};function V(e){return e>=65536?2:1}var q=String.fromCodePoint?function(e){return String.fromCodePoint(e)}:function(t){if(e.Debug.assert(0<=t&&t<=1114111),t<=65535)return String.fromCharCode(t);var r=Math.floor((t-65536)/1024)+55296,n=(t-65536)%1024+56320;return String.fromCharCode(r,n)};function W(e){return q(e)}e.utf16EncodeAsString=W}(u||(u={})),function(e){function t(e){return e.start+e.length}function r(e){return 0===e.length}function n(e,t){var r=a(e,t);return r&&0===r.length?void 0:r}function i(e,t,r,n){return r<=e+t&&r+n>=e}function a(e,r){var n=Math.max(e.start,r.start),i=Math.min(t(e),t(r));return n<=i?s(n,i):void 0}function o(e,t){if(e<0)throw new Error(\"start < 0\");if(t<0)throw new Error(\"length < 0\");return{start:e,length:t}}function s(e,t){return o(e,t-e)}function c(e,t){if(t<0)throw new Error(\"newLength < 0\");return{span:e,newLength:t}}function u(t){return!!X(t)&&e.every(t.elements,l)}function l(t){return!!e.isOmittedExpression(t)||u(t.name)}function d(t){for(var r=t.parent;e.isBindingElement(r.parent);)r=r.parent.parent;return r.parent}function _(t,r){e.isBindingElement(t)&&(t=d(t));var n=r(t);return 249===t.kind&&(t=t.parent),t&&250===t.kind&&(n|=r(t),t=t.parent),t&&232===t.kind&&(n|=r(t)),n}function p(e){return 0==(8&e.flags)}function f(e){var t=e;return t.length>=3&&95===t.charCodeAt(0)&&95===t.charCodeAt(1)&&95===t.charCodeAt(2)?t.substr(1):t}function g(e){return f(e.escapedText)}function m(t){var r=t.parent.parent;if(r){if(ae(r))return y(r);switch(r.kind){case 232:if(r.declarationList&&r.declarationList.declarations[0])return y(r.declarationList.declarations[0]);break;case 233:var n=r.expression;switch(216===n.kind&&62===n.operatorToken.kind&&(n=n.left),n.kind){case 201:return n.name;case 202:var i=n.argumentExpression;if(e.isIdentifier(i))return i}break;case 207:return y(r.expression);case 245:if(ae(r.statement)||te(r.statement))return y(r.statement)}}}function y(t){var r=x(t);return r&&e.isIdentifier(r)?r:void 0}function v(e){return e.name||m(e)}function h(e){return!!e.name}function D(t){switch(t.kind){case 78:return t;case 333:case 326:var r=t.name;if(157===r.kind)return r.right;break;case 203:case 216:var n=t;switch(e.getAssignmentDeclarationKind(n)){case 1:case 4:case 5:case 3:return e.getElementOrPropertyAccessArgumentExpressionOrName(n.left);case 7:case 8:case 9:return n.arguments[1];default:return}case 331:return v(t);case 325:return m(t);case 266:var i=t.expression;return e.isIdentifier(i)?i:void 0;case 202:var a=t;if(e.isBindableStaticElementAccessExpression(a))return a.argumentExpression}return t.name}function x(t){if(void 0!==t)return D(t)||(e.isFunctionExpression(t)||e.isClassExpression(t)?b(t):void 0)}function b(t){if(t.parent){if(e.isPropertyAssignment(t.parent)||e.isBindingElement(t.parent))return t.parent.name;if(e.isBinaryExpression(t.parent)&&t===t.parent.right){if(e.isIdentifier(t.parent.left))return t.parent.left;if(e.isAccessExpression(t.parent.left))return e.getElementOrPropertyAccessArgumentExpressionOrName(t.parent.left)}else if(e.isVariableDeclaration(t.parent)&&e.isIdentifier(t.parent.name))return t.parent.name}}function S(t,r){if(t.name){if(e.isIdentifier(t.name)){var n=t.name.escapedText;return F(t.parent,r).filter((function(t){return e.isJSDocParameterTag(t)&&e.isIdentifier(t.name)&&t.name.escapedText===n}))}var i=t.parent.parameters.indexOf(t);e.Debug.assert(i>-1,\"Parameters should always be in their parents' parameter list\");var a=F(t.parent,r).filter(e.isJSDocParameterTag);if(i=157}function B(e){return 8<=e&&e<=14}function j(e){return 14<=e&&e<=17}function J(t){return e.isPropertyDeclaration(t)&&e.isPrivateIdentifier(t.name)}function K(e){switch(e){case 125:case 129:case 84:case 133:case 87:case 92:case 122:case 120:case 121:case 142:case 123:return!0}return!1}function z(t){return!!(92&e.modifierToFlag(t))}function U(e){return e&&q(e.kind)}function V(e){switch(e){case 251:case 165:case 166:case 167:case 168:case 208:case 209:return!0;default:return!1}}function q(e){switch(e){case 164:case 169:case 313:case 170:case 171:case 174:case 308:case 175:return!0;default:return V(e)}}function W(e){var t=e.kind;return 166===t||163===t||165===t||167===t||168===t||171===t||229===t}function H(e){return e&&(252===e.kind||221===e.kind)}function G(e){var t=e.kind;return 170===t||169===t||162===t||164===t||171===t}function Y(e){var t=e.kind;return 288===t||289===t||290===t||165===t||167===t||168===t}function X(e){if(e){var t=e.kind;return 197===t||196===t}return!1}function Q(e){switch(e.kind){case 196:case 200:return!0}return!1}function $(e){switch(e.kind){case 197:case 199:return!0}return!1}function Z(e){switch(e){case 201:case 202:case 204:case 203:case 273:case 274:case 277:case 205:case 199:case 207:case 200:case 221:case 208:case 78:case 13:case 8:case 9:case 10:case 14:case 218:case 94:case 103:case 107:case 109:case 105:case 225:case 226:case 99:return!0;default:return!1}}function ee(e){switch(e){case 214:case 215:case 210:case 211:case 212:case 213:case 206:return!0;default:return Z(e)}}function te(e){return function(e){switch(e){case 217:case 219:case 209:case 216:case 220:case 224:case 222:case 337:case 336:return!0;default:return ee(e)}}(M(e).kind)}function re(t){return e.isExportAssignment(t)||e.isExportDeclaration(t)}function ne(e){return 251===e||271===e||252===e||253===e||254===e||255===e||256===e||261===e||260===e||267===e||266===e||259===e}function ie(e){return 241===e||240===e||248===e||235===e||233===e||231===e||238===e||239===e||237===e||234===e||245===e||242===e||244===e||246===e||247===e||232===e||236===e||243===e||335===e||339===e||338===e}function ae(t){return 159===t.kind?t.parent&&330!==t.parent.kind||e.isInJSFile(t):209===(r=t.kind)||198===r||252===r||221===r||166===r||255===r||291===r||270===r||251===r||208===r||167===r||262===r||260===r||265===r||253===r||280===r||165===r||164===r||256===r||259===r||263===r||269===r||160===r||288===r||163===r||162===r||168===r||289===r||254===r||159===r||249===r||331===r||324===r||333===r;var r}function oe(e){return e.kind>=314&&e.kind<=333}e.isExternalModuleNameRelative=function(t){return e.pathIsRelative(t)||e.isRootedDiskPath(t)},e.sortAndDeduplicateDiagnostics=function(t){return e.sortAndDeduplicate(t,e.compareDiagnostics)},e.getDefaultLibFileName=function(e){switch(e.target){case 99:return\"lib.esnext.full.d.ts\";case 7:return\"lib.es2020.full.d.ts\";case 6:return\"lib.es2019.full.d.ts\";case 5:return\"lib.es2018.full.d.ts\";case 4:return\"lib.es2017.full.d.ts\";case 3:return\"lib.es2016.full.d.ts\";case 2:return\"lib.es6.d.ts\";default:return\"lib.d.ts\"}},e.textSpanEnd=t,e.textSpanIsEmpty=r,e.textSpanContainsPosition=function(e,r){return r>=e.start&&r=e.pos&&t<=e.end},e.textSpanContainsTextSpan=function(e,r){return r.start>=e.start&&t(r)<=t(e)},e.textSpanOverlapsWith=function(e,t){return void 0!==n(e,t)},e.textSpanOverlap=n,e.textSpanIntersectsWithTextSpan=function(e,t){return i(e.start,e.length,t.start,t.length)},e.textSpanIntersectsWith=function(e,t,r){return i(e.start,e.length,t,r)},e.decodedTextSpanIntersectsWith=i,e.textSpanIntersectsWithPosition=function(e,r){return r<=t(e)&&r>=e.start},e.textSpanIntersection=a,e.createTextSpan=o,e.createTextSpanFromBounds=s,e.textChangeRangeNewSpan=function(e){return o(e.span.start,e.newLength)},e.textChangeRangeIsUnchanged=function(e){return r(e.span)&&0===e.newLength},e.createTextChangeRange=c,e.unchangedTextChangeRange=c(o(0,0),0),e.collapseTextChangeRangesAcrossMultipleVersions=function(r){if(0===r.length)return e.unchangedTextChangeRange;if(1===r.length)return r[0];for(var n=r[0],i=n.span.start,a=t(n.span),o=i+n.newLength,u=1;u=2&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)?\"_\"+e:e},e.unescapeLeadingUnderscores=f,e.idText=g,e.symbolName=function(e){return e.valueDeclaration&&J(e.valueDeclaration)?g(e.valueDeclaration.name):f(e.escapedName)},e.nodeHasName=function t(r,n){return!(!h(r)||!e.isIdentifier(r.name)||g(r.name)!==g(n))||!(!e.isVariableStatement(r)||!e.some(r.declarationList.declarations,(function(e){return t(e,n)})))},e.getNameOfJSDocTypedef=v,e.isNamedDeclaration=h,e.getNonAssignedNameOfDeclaration=D,e.getNameOfDeclaration=x,e.getAssignedName=b,e.getJSDocParameterTags=E,e.getJSDocParameterTagsNoCache=function(e){return S(e,!0)},e.getJSDocTypeParameterTags=function(e){return T(e,!1)},e.getJSDocTypeParameterTagsNoCache=function(e){return T(e,!0)},e.hasJSDocParameterTags=function(t){return!!P(t,e.isJSDocParameterTag)},e.getJSDocAugmentsTag=function(t){return P(t,e.isJSDocAugmentsTag)},e.getJSDocImplementsTags=function(t){return w(t,e.isJSDocImplementsTag)},e.getJSDocClassTag=function(t){return P(t,e.isJSDocClassTag)},e.getJSDocPublicTag=function(t){return P(t,e.isJSDocPublicTag)},e.getJSDocPublicTagNoCache=function(t){return P(t,e.isJSDocPublicTag,!0)},e.getJSDocPrivateTag=function(t){return P(t,e.isJSDocPrivateTag)},e.getJSDocPrivateTagNoCache=function(t){return P(t,e.isJSDocPrivateTag,!0)},e.getJSDocProtectedTag=function(t){return P(t,e.isJSDocProtectedTag)},e.getJSDocProtectedTagNoCache=function(t){return P(t,e.isJSDocProtectedTag,!0)},e.getJSDocReadonlyTag=function(t){return P(t,e.isJSDocReadonlyTag)},e.getJSDocReadonlyTagNoCache=function(t){return P(t,e.isJSDocReadonlyTag,!0)},e.getJSDocDeprecatedTag=function(t){return P(t,e.isJSDocDeprecatedTag)},e.getJSDocDeprecatedTagNoCache=function(t){return P(t,e.isJSDocDeprecatedTag,!0)},e.getJSDocEnumTag=function(t){return P(t,e.isJSDocEnumTag)},e.getJSDocThisTag=function(t){return P(t,e.isJSDocThisTag)},e.getJSDocReturnTag=C,e.getJSDocTemplateTag=function(t){return P(t,e.isJSDocTemplateTag)},e.getJSDocTypeTag=k,e.getJSDocType=A,e.getJSDocReturnType=function(t){var r=C(t);if(r&&r.typeExpression)return r.typeExpression.type;var n=k(t);if(n&&n.typeExpression){var i=n.typeExpression.type;if(e.isTypeLiteralNode(i)){var a=e.find(i.members,e.isCallSignatureDeclaration);return a&&a.type}if(e.isFunctionTypeNode(i)||e.isJSDocFunctionType(i))return i.type}},e.getJSDocTags=N,e.getJSDocTagsNoCache=function(e){return F(e,!0)},e.getAllJSDocTags=w,e.getAllJSDocTagsOfKind=function(e,t){return N(e).filter((function(e){return e.kind===t}))},e.getEffectiveTypeParameterDeclarations=function(t){if(e.isJSDocSignature(t))return e.emptyArray;if(e.isJSDocTypeAlias(t))return e.Debug.assert(311===t.parent.kind),e.flatMap(t.parent.tags,(function(t){return e.isJSDocTemplateTag(t)?t.typeParameters:void 0}));if(t.typeParameters)return t.typeParameters;if(e.isInJSFile(t)){var r=e.getJSDocTypeParameterDeclarations(t);if(r.length)return r;var n=A(t);if(n&&e.isFunctionTypeNode(n)&&n.typeParameters)return n.typeParameters}return e.emptyArray},e.getEffectiveConstraintOfTypeParameter=function(t){return t.constraint?t.constraint:e.isJSDocTemplateTag(t.parent)&&t===t.parent.typeParameters[0]?t.parent.constraint:void 0},e.isIdentifierOrPrivateIdentifier=function(e){return 78===e.kind||79===e.kind},e.isGetOrSetAccessorDeclaration=function(e){return 168===e.kind||167===e.kind},e.isPropertyAccessChain=function(t){return e.isPropertyAccessExpression(t)&&!!(32&t.flags)},e.isElementAccessChain=function(t){return e.isElementAccessExpression(t)&&!!(32&t.flags)},e.isCallChain=function(t){return e.isCallExpression(t)&&!!(32&t.flags)},e.isOptionalChain=I,e.isOptionalChainRoot=O,e.isExpressionOfOptionalChainRoot=function(e){return O(e.parent)&&e.parent.expression===e},e.isOutermostOptionalChain=function(e){return!I(e.parent)||O(e.parent)||e!==e.parent.expression},e.isNullishCoalesce=function(e){return 216===e.kind&&60===e.operatorToken.kind},e.isConstTypeReference=function(t){return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&\"const\"===t.typeName.escapedText&&!t.typeArguments},e.skipPartiallyEmittedExpressions=M,e.isNonNullChain=function(t){return e.isNonNullExpression(t)&&!!(32&t.flags)},e.isBreakOrContinueStatement=function(e){return 241===e.kind||240===e.kind},e.isNamedExportBindings=function(e){return 269===e.kind||268===e.kind},e.isUnparsedTextLike=L,e.isUnparsedNode=function(e){return L(e)||292===e.kind||296===e.kind},e.isJSDocPropertyLikeTag=function(e){return 333===e.kind||326===e.kind},e.isNode=function(e){return R(e.kind)},e.isNodeKind=R,e.isToken=function(e){return e.kind>=0&&e.kind<=156},e.isNodeArray=function(e){return e.hasOwnProperty(\"pos\")&&e.hasOwnProperty(\"end\")},e.isLiteralKind=B,e.isLiteralExpression=function(e){return B(e.kind)},e.isTemplateLiteralKind=j,e.isTemplateLiteralToken=function(e){return j(e.kind)},e.isTemplateMiddleOrTemplateTail=function(e){var t=e.kind;return 16===t||17===t},e.isImportOrExportSpecifier=function(t){return e.isImportSpecifier(t)||e.isExportSpecifier(t)},e.isTypeOnlyImportOrExportDeclaration=function(e){switch(e.kind){case 265:case 270:return e.parent.parent.isTypeOnly;case 263:return e.parent.isTypeOnly;case 262:return e.isTypeOnly;default:return!1}},e.isStringTextContainingNode=function(e){return 10===e.kind||j(e.kind)},e.isGeneratedIdentifier=function(t){return e.isIdentifier(t)&&(7&t.autoGenerateFlags)>0},e.isPrivateIdentifierPropertyDeclaration=J,e.isPrivateIdentifierPropertyAccessExpression=function(t){return e.isPropertyAccessExpression(t)&&e.isPrivateIdentifier(t.name)},e.isModifierKind=K,e.isParameterPropertyModifier=z,e.isClassMemberModifier=function(e){return z(e)||123===e},e.isModifier=function(e){return K(e.kind)},e.isEntityName=function(e){var t=e.kind;return 157===t||78===t},e.isPropertyName=function(e){var t=e.kind;return 78===t||79===t||10===t||8===t||158===t},e.isBindingName=function(e){var t=e.kind;return 78===t||196===t||197===t},e.isFunctionLike=U,e.isFunctionLikeDeclaration=function(e){return e&&V(e.kind)},e.isFunctionLikeKind=q,e.isFunctionOrModuleBlock=function(t){return e.isSourceFile(t)||e.isModuleBlock(t)||e.isBlock(t)&&U(t.parent)},e.isClassElement=W,e.isClassLike=H,e.isAccessor=function(e){return e&&(167===e.kind||168===e.kind)},e.isMethodOrAccessor=function(e){switch(e.kind){case 165:case 167:case 168:return!0;default:return!1}},e.isTypeElement=G,e.isClassOrTypeElement=function(e){return G(e)||W(e)},e.isObjectLiteralElementLike=Y,e.isTypeNode=function(t){return e.isTypeNodeKind(t.kind)},e.isFunctionOrConstructorTypeNode=function(e){switch(e.kind){case 174:case 175:return!0}return!1},e.isBindingPattern=X,e.isAssignmentPattern=function(e){var t=e.kind;return 199===t||200===t},e.isArrayBindingElement=function(e){var t=e.kind;return 198===t||222===t},e.isDeclarationBindingElement=function(e){switch(e.kind){case 249:case 160:case 198:return!0}return!1},e.isBindingOrAssignmentPattern=function(e){return Q(e)||$(e)},e.isObjectBindingOrAssignmentPattern=Q,e.isArrayBindingOrAssignmentPattern=$,e.isPropertyAccessOrQualifiedNameOrImportTypeNode=function(e){var t=e.kind;return 201===t||157===t||195===t},e.isPropertyAccessOrQualifiedName=function(e){var t=e.kind;return 201===t||157===t},e.isCallLikeExpression=function(e){switch(e.kind){case 275:case 274:case 203:case 204:case 205:case 161:return!0;default:return!1}},e.isCallOrNewExpression=function(e){return 203===e.kind||204===e.kind},e.isTemplateLiteral=function(e){var t=e.kind;return 218===t||14===t},e.isLeftHandSideExpression=function(e){return Z(M(e).kind)},e.isUnaryExpression=function(e){return ee(M(e).kind)},e.isUnaryExpressionWithWrite=function(e){switch(e.kind){case 215:return!0;case 214:return 45===e.operator||46===e.operator;default:return!1}},e.isExpression=te,e.isAssertionExpression=function(e){var t=e.kind;return 206===t||224===t},e.isNotEmittedOrPartiallyEmittedNode=function(t){return e.isNotEmittedStatement(t)||e.isPartiallyEmittedExpression(t)},e.isIterationStatement=function e(t,r){switch(t.kind){case 237:case 238:case 239:case 235:case 236:return!0;case 245:return r&&e(t.statement,r)}return!1},e.isScopeMarker=re,e.hasScopeMarker=function(t){return e.some(t,re)},e.needsScopeMarker=function(t){return!(e.isAnyImportOrReExport(t)||e.isExportAssignment(t)||e.hasSyntacticModifier(t,1)||e.isAmbientModule(t))},e.isExternalModuleIndicator=function(t){return e.isAnyImportOrReExport(t)||e.isExportAssignment(t)||e.hasSyntacticModifier(t,1)},e.isForInOrOfStatement=function(e){return 238===e.kind||239===e.kind},e.isConciseBody=function(t){return e.isBlock(t)||te(t)},e.isFunctionBody=function(t){return e.isBlock(t)},e.isForInitializer=function(t){return e.isVariableDeclarationList(t)||te(t)},e.isModuleBody=function(e){var t=e.kind;return 257===t||256===t||78===t},e.isNamespaceBody=function(e){var t=e.kind;return 257===t||256===t},e.isJSDocNamespaceBody=function(e){var t=e.kind;return 78===t||256===t},e.isNamedImportBindings=function(e){var t=e.kind;return 264===t||263===t},e.isModuleOrEnumDeclaration=function(e){return 256===e.kind||255===e.kind},e.isDeclaration=ae,e.isDeclarationStatement=function(e){return ne(e.kind)},e.isStatementButNotDeclaration=function(e){return ie(e.kind)},e.isStatement=function(t){var r=t.kind;return ie(r)||ne(r)||function(t){if(230!==t.kind)return!1;if(void 0!==t.parent&&(247===t.parent.kind||287===t.parent.kind))return!1;return!e.isFunctionBlock(t)}(t)},e.isStatementOrBlock=function(e){var t=e.kind;return ie(t)||ne(t)||230===t},e.isModuleReference=function(e){var t=e.kind;return 272===t||157===t||78===t},e.isJsxTagNameExpression=function(e){var t=e.kind;return 107===t||78===t||201===t},e.isJsxChild=function(e){var t=e.kind;return 273===t||283===t||274===t||11===t||277===t},e.isJsxAttributeLike=function(e){var t=e.kind;return 280===t||282===t},e.isStringLiteralOrJsxExpression=function(e){var t=e.kind;return 10===t||283===t},e.isJsxOpeningLikeElement=function(e){var t=e.kind;return 275===t||274===t},e.isCaseOrDefaultClause=function(e){var t=e.kind;return 284===t||285===t},e.isJSDocNode=function(e){return e.kind>=301&&e.kind<=333},e.isJSDocCommentContainingNode=function(t){return 311===t.kind||310===t.kind||oe(t)||e.isJSDocTypeLiteral(t)||e.isJSDocSignature(t)},e.isJSDocTag=oe,e.isSetAccessor=function(e){return 168===e.kind},e.isGetAccessor=function(e){return 167===e.kind},e.hasJSDocNodes=function(e){var t=e.jsDoc;return!!t&&t.length>0},e.hasType=function(e){return!!e.type},e.hasInitializer=function(e){return!!e.initializer},e.hasOnlyExpressionInitializer=function(e){switch(e.kind){case 249:case 160:case 198:case 162:case 163:case 288:case 291:return!0;default:return!1}},e.isObjectLiteralElement=function(e){return 280===e.kind||282===e.kind||Y(e)},e.isTypeReferenceType=function(e){return 173===e.kind||223===e.kind};var se=1073741823;e.guessIndentation=function(t){for(var r=se,n=0,i=t;n=0);var n=e.getLineStarts(r),i=t,a=r.text;if(i+1===n.length)return a.length-1;var o=n[i],s=n[i+1]-1;for(e.Debug.assert(e.isLineBreak(a.charCodeAt(s)));o<=s&&e.isLineBreak(a.charCodeAt(s));)s--;return s}function d(e){return void 0===e||e.pos===e.end&&e.pos>=0&&1!==e.kind}function _(e){return!d(e)}function p(e,t,n){if(void 0===t||0===t.length)return e;for(var i=0;i0?y(t._children[0],r,n):e.skipTrivia((r||u(t)).text,t.pos)}function v(e,t,r){return void 0===r&&(r=!1),h(e.text,t,r)}function h(t,r,n){if(void 0===n&&(n=!1),d(r))return\"\";var i=t.substring(n?r.pos:e.skipTrivia(t,r.pos),r.end);return function(t){return!!e.findAncestor(t,e.isJSDocTypeExpression)}(r)&&(i=i.replace(/(^|\\r?\\n|\\r)\\s*\\*\\s*/g,\"$1\")),i}function D(e,t){return void 0===t&&(t=!1),v(u(e),e,t)}function x(e){return e.pos}function b(e){var t=e.emitNode;return t&&t.flags||0}function S(e){var t=mt(e);return 249===t.kind&&287===t.parent.kind}function E(t){return e.isModuleDeclaration(t)&&(10===t.name.kind||C(t))}function T(t){return e.isModuleDeclaration(t)||e.isIdentifier(t)}function C(e){return!!(1024&e.flags)}function k(e){return E(e)&&A(e)}function A(t){switch(t.parent.kind){case 297:return e.isExternalModule(t.parent);case 257:return E(t.parent.parent)&&e.isSourceFile(t.parent.parent.parent)&&!e.isExternalModule(t.parent.parent.parent)}return!1}function F(t,r){switch(t.kind){case 297:case 258:case 287:case 256:case 237:case 238:case 239:case 166:case 165:case 167:case 168:case 251:case 208:case 209:return!0;case 230:return!e.isFunctionLike(r)}return!1}function N(t){switch(t.kind){case 169:case 170:case 164:case 171:case 174:case 175:case 308:case 252:case 221:case 253:case 254:case 330:case 251:case 165:case 166:case 167:case 168:case 208:case 209:return!0;default:return e.assertType(t),!1}}function P(e){switch(e.kind){case 261:case 260:return!0;default:return!1}}function w(e){return e&&0!==s(e)?D(e):\"(Missing)\"}function I(t){switch(t.kind){case 78:case 79:return t.escapedText;case 10:case 8:case 14:return e.escapeLeadingUnderscores(t.text);case 158:return ot(t.expression)?e.escapeLeadingUnderscores(t.expression.text):e.Debug.fail(\"Text of property name cannot be read from non-literal-valued ComputedPropertyNames\");default:return e.Debug.assertNever(t)}}function O(t){switch(t.kind){case 107:return\"this\";case 79:case 78:return 0===s(t)?e.idText(t):D(t);case 157:return O(t.left)+\".\"+O(t.right);case 201:return e.isIdentifier(t.name)||e.isPrivateIdentifier(t.name)?O(t.expression)+\".\"+O(t.name):e.Debug.assertNever(t.name);default:return e.Debug.assertNever(t)}}function M(e,t,r,n,i,a,o){var s=R(e,t);return nn(e,s.start,s.length,r,n,i,a,o)}function L(t,r){var n=e.createScanner(t.languageVersion,!0,t.languageVariant,t.text,void 0,r);n.scan();var i=n.getTokenPos();return e.createTextSpanFromBounds(i,n.getTextPos())}function R(t,r){var n=r;switch(r.kind){case 297:var i=e.skipTrivia(t.text,0,!1);return i===t.text.length?e.createTextSpan(0,0):L(t,i);case 249:case 198:case 252:case 221:case 253:case 256:case 255:case 291:case 251:case 208:case 165:case 167:case 168:case 254:case 163:case 162:n=r.name;break;case 209:return function(t,r){var n=e.skipTrivia(t.text,r.pos);if(r.body&&230===r.body.kind){var i=e.getLineAndCharacterOfPosition(t,r.body.pos).line;if(i0?r.statements[0].pos:r.end;return e.createTextSpanFromBounds(a,o)}if(void 0===n)return L(t,r.pos);e.Debug.assert(!e.isJSDoc(n));var s=d(n),c=s||e.isJsxText(r)?n.pos:e.skipTrivia(t.text,n.pos);return s?(e.Debug.assert(c===n.pos,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\"),e.Debug.assert(c===n.end,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\")):(e.Debug.assert(c>=n.pos,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\"),e.Debug.assert(c<=n.end,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\")),e.createTextSpanFromBounds(c,n.end)}function B(e){return 6===e.scriptKind}function j(t){return!!(2&e.getCombinedNodeFlags(t))}function J(e){return 203===e.kind&&99===e.expression.kind}function K(t){return e.isImportTypeNode(t)&&e.isLiteralTypeNode(t.argument)&&e.isStringLiteral(t.argument.literal)}function z(e){return 233===e.kind&&10===e.expression.kind}function U(e){return!!(1048576&b(e))}function V(t){return e.isIdentifier(t.name)&&!t.initializer}e.changesAffectModuleResolution=function(e,t){return e.configFilePath!==t.configFilePath||o(e,t)},e.optionsHaveModuleResolutionChanges=o,e.forEachAncestor=function(t,r){for(;;){var n=r(t);if(\"quit\"===n)return;if(void 0!==n)return n;if(e.isSourceFile(t))return;t=t.parent}},e.forEachEntry=function(e,t){for(var r=e.entries(),n=r.next();!n.done;n=r.next()){var i=n.value,a=i[0],o=t(i[1],a);if(o)return o}},e.forEachKey=function(e,t){for(var r=e.keys(),n=r.next();!n.done;n=r.next()){var i=t(n.value);if(i)return i}},e.copyEntries=function(e,t){e.forEach((function(e,r){t.set(r,e)}))},e.usingSingleLineStringWriter=function(e){var t=a.getText();try{return e(a),a.getText()}finally{a.clear(),a.writeKeyword(t)}},e.getFullWidth=s,e.getResolvedModule=function(e,t){return e&&e.resolvedModules&&e.resolvedModules.get(t)},e.setResolvedModule=function(t,r,n){t.resolvedModules||(t.resolvedModules=new e.Map),t.resolvedModules.set(r,n)},e.setResolvedTypeReferenceDirective=function(t,r,n){t.resolvedTypeReferenceDirectiveNames||(t.resolvedTypeReferenceDirectiveNames=new e.Map),t.resolvedTypeReferenceDirectiveNames.set(r,n)},e.projectReferenceIsEqualTo=function(e,t){return e.path===t.path&&!e.prepend==!t.prepend&&!e.circular==!t.circular},e.moduleResolutionIsEqualTo=function(e,t){return e.isExternalLibraryImport===t.isExternalLibraryImport&&e.extension===t.extension&&e.resolvedFileName===t.resolvedFileName&&e.originalPath===t.originalPath&&(r=e.packageId,n=t.packageId,r===n||!!r&&!!n&&r.name===n.name&&r.subModuleName===n.subModuleName&&r.version===n.version);var r,n},e.packageIdToString=function(e){var t=e.name,r=e.subModuleName;return(r?t+\"/\"+r:t)+\"@\"+e.version},e.typeDirectiveIsEqualTo=function(e,t){return e.resolvedFileName===t.resolvedFileName&&e.primary===t.primary},e.hasChangesInResolutions=function(t,r,n,i){e.Debug.assert(t.length===r.length);for(var a=0;a=0),e.getLineStarts(r)[t]},e.nodePosToString=function(t){var r=u(t),n=e.getLineAndCharacterOfPosition(r,t.pos);return r.fileName+\"(\"+(n.line+1)+\",\"+(n.character+1)+\")\"},e.getEndLinePosition=l,e.isFileLevelUniqueName=function(e,t,r){return!(r&&r(t)||e.identifiers.has(t))},e.nodeIsMissing=d,e.nodeIsPresent=_,e.insertStatementsAfterStandardPrologue=function(e,t){return p(e,t,z)},e.insertStatementsAfterCustomPrologue=function(e,t){return p(e,t,g)},e.insertStatementAfterStandardPrologue=function(e,t){return f(e,t,z)},e.insertStatementAfterCustomPrologue=function(e,t){return f(e,t,g)},e.isRecognizedTripleSlashComment=function(t,r,n){if(47===t.charCodeAt(r+1)&&r+2=e.ModuleKind.ES2015||!r.noImplicitUseStrict)))},e.isBlockScope=F,e.isDeclarationWithTypeParameters=function(t){switch(t.kind){case 324:case 331:case 313:return!0;default:return e.assertType(t),N(t)}},e.isDeclarationWithTypeParameterChildren=N,e.isAnyImportSyntax=P,e.isLateVisibilityPaintedStatement=function(e){switch(e.kind){case 261:case 260:case 232:case 252:case 251:case 256:case 254:case 253:case 255:return!0;default:return!1}},e.isAnyImportOrReExport=function(t){return P(t)||e.isExportDeclaration(t)},e.getEnclosingBlockScopeContainer=function(t){return e.findAncestor(t.parent,(function(e){return F(e,e.parent)}))},e.declarationNameToString=w,e.getNameFromIndexInfo=function(e){return e.declaration?w(e.declaration.parameters[0].name):void 0},e.isComputedNonLiteralName=function(e){return 158===e.kind&&!ot(e.expression)},e.getTextOfPropertyName=I,e.entityNameToString=O,e.createDiagnosticForNode=function(e,t,r,n,i,a){return M(u(e),e,t,r,n,i,a)},e.createDiagnosticForNodeArray=function(t,r,n,i,a,o,s){var c=e.skipTrivia(t.text,r.pos);return nn(t,c,r.end-c,n,i,a,o,s)},e.createDiagnosticForNodeInSourceFile=M,e.createDiagnosticForNodeFromMessageChain=function(e,t,r){var n=u(e),i=R(n,e);return{file:n,start:i.start,length:i.length,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}},e.createDiagnosticForFileFromMessageChain=function(e,t,r){return{file:e,start:0,length:0,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}},e.createDiagnosticForRange=function(e,t,r){return{file:e,start:t.pos,length:t.end-t.pos,code:r.code,category:r.category,messageText:r.message}},e.getSpanOfTokenAtPosition=L,e.getErrorSpanForNode=R,e.isExternalOrCommonJsModule=function(e){return void 0!==(e.externalModuleIndicator||e.commonJsModuleIndicator)},e.isJsonSourceFile=B,e.isEnumConst=function(t){return!!(2048&e.getCombinedModifierFlags(t))},e.isDeclarationReadonly=function(t){return!(!(64&e.getCombinedModifierFlags(t))||e.isParameterPropertyDeclaration(t,t.parent))},e.isVarConst=j,e.isLet=function(t){return!!(1&e.getCombinedNodeFlags(t))},e.isSuperCall=function(e){return 203===e.kind&&105===e.expression.kind},e.isImportCall=J,e.isImportMeta=function(t){return e.isMetaProperty(t)&&99===t.keywordToken&&\"meta\"===t.name.escapedText},e.isLiteralImportTypeNode=K,e.isPrologueDirective=z,e.isCustomPrologue=U,e.isHoistedFunction=function(t){return U(t)&&e.isFunctionDeclaration(t)},e.isHoistedVariableStatement=function(t){return U(t)&&e.isVariableStatement(t)&&e.every(t.declarationList.declarations,V)},e.getLeadingCommentRangesOfNode=function(t,r){return 11!==t.kind?e.getLeadingCommentRanges(r.text,t.pos):void 0},e.getJSDocCommentRanges=function(t,r){var n=160===t.kind||159===t.kind||208===t.kind||209===t.kind||207===t.kind?e.concatenate(e.getTrailingCommentRanges(r,t.pos),e.getLeadingCommentRanges(r,t.pos)):e.getLeadingCommentRanges(r,t.pos);return e.filter(n,(function(e){return 42===r.charCodeAt(e.pos+1)&&42===r.charCodeAt(e.pos+2)&&47!==r.charCodeAt(e.pos+3)}))},e.fullTripleSlashReferencePathRegEx=/^(\\/\\/\\/\\s*/;var q=/^(\\/\\/\\/\\s*/;e.fullTripleSlashAMDReferencePathRegEx=/^(\\/\\/\\/\\s*/;var W=/^(\\/\\/\\/\\s*/;function H(t){if(172<=t.kind&&t.kind<=195)return!0;switch(t.kind){case 128:case 152:case 144:case 155:case 147:case 131:case 148:case 145:case 150:case 141:return!0;case 113:return 212!==t.parent.kind;case 223:return!Er(t);case 159:return 190===t.parent.kind||185===t.parent.kind;case 78:(157===t.parent.kind&&t.parent.right===t||201===t.parent.kind&&t.parent.name===t)&&(t=t.parent),e.Debug.assert(78===t.kind||157===t.kind||201===t.kind,\"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.\");case 157:case 201:case 107:var r=t.parent;if(176===r.kind)return!1;if(195===r.kind)return!r.isTypeOf;if(172<=r.kind&&r.kind<=195)return!0;switch(r.kind){case 223:return!Er(r);case 159:case 330:return t===r.constraint;case 163:case 162:case 160:case 249:return t===r.type;case 251:case 208:case 209:case 166:case 165:case 164:case 167:case 168:return t===r.type;case 169:case 170:case 171:case 206:return t===r.type;case 203:case 204:return e.contains(r.typeArguments,t);case 205:return!1}}return!1}function G(e){if(e)switch(e.kind){case 198:case 291:case 160:case 288:case 163:case 162:case 289:case 249:return!0}return!1}function Y(e){return 250===e.parent.kind&&232===e.parent.parent.kind}function X(e,t,r){return e.properties.filter((function(e){if(288===e.kind){var n=I(e.name);return t===n||!!r&&r===n}return!1}))}function Q(t){if(t&&t.statements.length){var r=t.statements[0].expression;return e.tryCast(r,e.isObjectLiteralExpression)}}function $(t,r){var n=Q(t);return n?X(n,r):e.emptyArray}function Z(t,r){for(e.Debug.assert(297!==t.kind);;){if(!(t=t.parent))return e.Debug.fail();switch(t.kind){case 158:if(e.isClassLike(t.parent.parent))return t;t=t.parent;break;case 161:160===t.parent.kind&&e.isClassElement(t.parent.parent)?t=t.parent.parent:e.isClassElement(t.parent)&&(t=t.parent);break;case 209:if(!r)continue;case 251:case 208:case 256:case 163:case 162:case 165:case 164:case 166:case 167:case 168:case 169:case 170:case 171:case 255:case 297:return t}}}function ee(e){var t=e.kind;return(201===t||202===t)&&105===e.expression.kind}function te(t,r,n){if(e.isNamedDeclaration(t)&&e.isPrivateIdentifier(t.name))return!1;switch(t.kind){case 252:return!0;case 163:return 252===r.kind;case 167:case 168:case 165:return void 0!==t.body&&252===r.kind;case 160:return void 0!==r.body&&(166===r.kind||165===r.kind||168===r.kind)&&252===n.kind}return!1}function re(e,t,r){return void 0!==e.decorators&&te(e,t,r)}function ne(e,t,r){return re(e,t,r)||ie(e,t)}function ie(t,r){switch(t.kind){case 252:return e.some(t.members,(function(e){return ne(e,t,r)}));case 165:case 168:return e.some(t.parameters,(function(e){return re(e,t,r)}));default:return!1}}function ae(e){var t=e.parent;return(275===t.kind||274===t.kind||276===t.kind)&&t.tagName===e}function oe(e){switch(e.kind){case 105:case 103:case 109:case 94:case 13:case 199:case 200:case 201:case 202:case 203:case 204:case 205:case 224:case 206:case 225:case 207:case 208:case 221:case 209:case 212:case 210:case 211:case 214:case 215:case 216:case 217:case 220:case 218:case 222:case 273:case 274:case 277:case 219:case 213:case 226:return!0;case 157:for(;157===e.parent.kind;)e=e.parent;return 176===e.parent.kind||ae(e);case 78:if(176===e.parent.kind||ae(e))return!0;case 8:case 9:case 10:case 14:case 107:return se(e);default:return!1}}function se(e){var t=e.parent;switch(t.kind){case 249:case 160:case 163:case 162:case 291:case 288:case 198:return t.initializer===e;case 233:case 234:case 235:case 236:case 242:case 243:case 244:case 284:case 246:return t.expression===e;case 237:var r=t;return r.initializer===e&&250!==r.initializer.kind||r.condition===e||r.incrementor===e;case 238:case 239:var n=t;return n.initializer===e&&250!==n.initializer.kind||n.expression===e;case 206:case 224:case 228:case 158:return e===t.expression;case 161:case 283:case 282:case 290:return!0;case 223:return t.expression===e&&Er(t);case 289:return t.objectAssignmentInitializer===e;default:return oe(t)}}function ce(e){for(;157===e.kind||78===e.kind;)e=e.parent;return 176===e.kind}function ue(e){return 260===e.kind&&272===e.moduleReference.kind}function le(e){return de(e)}function de(e){return!!e&&!!(131072&e.flags)}function _e(t,r){if(203!==t.kind)return!1;var n=t,i=n.expression,a=n.arguments;if(78!==i.kind||\"require\"!==i.escapedText)return!1;if(1!==a.length)return!1;var o=a[0];return!r||e.isStringLiteralLike(o)}function pe(t,r){return 198===t.kind&&(t=t.parent.parent),e.isVariableDeclaration(t)&&!!t.initializer&&_e(qr(t.initializer),r)}function fe(t){return e.isBinaryExpression(t)||Vr(t)||e.isIdentifier(t)||e.isCallExpression(t)}function ge(t){return de(t)&&t.initializer&&e.isBinaryExpression(t.initializer)&&(56===t.initializer.operatorToken.kind||60===t.initializer.operatorToken.kind)&&t.name&&Tr(t.name)&&ye(t.name,t.initializer.left)?t.initializer.right:t.initializer}function me(t,r){if(e.isCallExpression(t)){var n=Ge(t.expression);return 208===n.kind||209===n.kind?t:void 0}return 208===t.kind||221===t.kind||209===t.kind||e.isObjectLiteralExpression(t)&&(0===t.properties.length||r)?t:void 0}function ye(t,r){if(_t(t)&&_t(r))return pt(t)===pt(r);if(e.isIdentifier(t)&&Ee(r)&&(107===r.expression.kind||e.isIdentifier(r.expression)&&(\"window\"===r.expression.escapedText||\"self\"===r.expression.escapedText||\"global\"===r.expression.escapedText))){var n=Fe(r);return e.isPrivateIdentifier(n)&&e.Debug.fail(\"Unexpected PrivateIdentifier in name expression with literal-like access.\"),ye(t,n)}return!(!Ee(t)||!Ee(r))&&(Pe(t)===Pe(r)&&ye(t.expression,r.expression))}function ve(e){for(;Sr(e,!0);)e=e.right;return e}function he(t){return e.isIdentifier(t)&&\"exports\"===t.escapedText}function De(t){return e.isIdentifier(t)&&\"module\"===t.escapedText}function xe(t){return(e.isPropertyAccessExpression(t)||Te(t))&&De(t.expression)&&\"exports\"===Pe(t)}function be(t){var r=function(t){if(e.isCallExpression(t)){if(!Se(t))return 0;var r=t.arguments[0];return he(r)||xe(r)?8:Ce(r)&&\"prototype\"===Pe(r)?9:7}if(62!==t.operatorToken.kind||!Vr(t.left)||function(t){return e.isVoidExpression(t)&&e.isNumericLiteral(t.expression)&&\"0\"===t.expression.text}(ve(t)))return 0;if(Ae(t.left.expression,!0)&&\"prototype\"===Pe(t.left)&&e.isObjectLiteralExpression(Ie(t)))return 6;return we(t.left)}(t);return 5===r||de(t)?r:0}function Se(t){return 3===e.length(t.arguments)&&e.isPropertyAccessExpression(t.expression)&&e.isIdentifier(t.expression.expression)&&\"Object\"===e.idText(t.expression.expression)&&\"defineProperty\"===e.idText(t.expression.name)&&ot(t.arguments[1])&&Ae(t.arguments[0],!0)}function Ee(t){return e.isPropertyAccessExpression(t)||Te(t)}function Te(t){return e.isElementAccessExpression(t)&&(ot(t.argumentExpression)||lt(t.argumentExpression))}function Ce(t,r){return e.isPropertyAccessExpression(t)&&(!r&&107===t.expression.kind||e.isIdentifier(t.name)&&Ae(t.expression,!0))||ke(t,r)}function ke(e,t){return Te(e)&&(!t&&107===e.expression.kind||Tr(e.expression)||Ce(e.expression,!0))}function Ae(e,t){return Tr(e)||Ce(e,t)}function Fe(t){return e.isPropertyAccessExpression(t)?t.name:t.argumentExpression}function Ne(t){if(e.isPropertyAccessExpression(t))return t.name;var r=Ge(t.argumentExpression);return e.isNumericLiteral(r)||e.isStringLiteralLike(r)?r:t}function Pe(t){var r=Ne(t);if(r){if(e.isIdentifier(r))return r.escapedText;if(e.isStringLiteralLike(r)||e.isNumericLiteral(r))return e.escapeLeadingUnderscores(r.text)}if(e.isElementAccessExpression(t)&<(t.argumentExpression))return ft(e.idText(t.argumentExpression.name))}function we(t){if(107===t.expression.kind)return 4;if(xe(t))return 2;if(Ae(t.expression,!0)){if(kr(t.expression))return 3;for(var r=t;!e.isIdentifier(r.expression);)r=r.expression;var n=r.expression;if((\"exports\"===n.escapedText||\"module\"===n.escapedText&&\"exports\"===Pe(r))&&Ce(t))return 1;if(Ae(t,!0)||e.isElementAccessExpression(t)&&ut(t))return 5}return 0}function Ie(t){for(;e.isBinaryExpression(t.right);)t=t.right;return t.right}function Oe(t){switch(t.parent.kind){case 261:case 267:return t.parent;case 272:return t.parent.parent;case 203:return J(t.parent)||_e(t.parent,!1)?t.parent:void 0;case 191:return e.Debug.assert(e.isStringLiteral(t)),e.tryCast(t.parent.parent,e.isImportTypeNode);default:return}}function Me(e){return 331===e.kind||324===e.kind||325===e.kind}function Le(t){return e.isExpressionStatement(t)&&e.isBinaryExpression(t.expression)&&0!==be(t.expression)&&e.isBinaryExpression(t.expression.right)&&(56===t.expression.right.operatorToken.kind||60===t.expression.right.operatorToken.kind)?t.expression.right.right:void 0}function Re(e){switch(e.kind){case 232:var t=Be(e);return t&&t.initializer;case 163:case 288:return e.initializer}}function Be(t){return e.isVariableStatement(t)?e.firstOrUndefined(t.declarationList.declarations):void 0}function je(t){return e.isModuleDeclaration(t)&&t.body&&256===t.body.kind?t.body:void 0}function Je(t){var r=t.parent;return 288===r.kind||266===r.kind||163===r.kind||233===r.kind&&201===t.kind||je(r)||e.isBinaryExpression(t)&&62===t.operatorToken.kind?r:r.parent&&(Be(r.parent)===t||e.isBinaryExpression(r)&&62===r.operatorToken.kind)?r.parent:r.parent&&r.parent.parent&&(Be(r.parent.parent)||Re(r.parent.parent)===t||Le(r.parent.parent))?r.parent.parent:void 0}function Ke(t){var r=ze(t);return r&&e.isFunctionLike(r)?r:void 0}function ze(t){var r=Ue(t);return Le(r)||function(t){return e.isExpressionStatement(t)&&e.isBinaryExpression(t.expression)&&62===t.expression.operatorToken.kind?ve(t.expression):void 0}(r)||Re(r)||Be(r)||je(r)||r}function Ue(t){return e.Debug.checkDefined(e.findAncestor(t.parent,e.isJSDoc)).parent}function Ve(t){var r=e.isJSDocParameterTag(t)?t.typeExpression&&t.typeExpression.type:t.type;return void 0!==t.dotDotDotToken||!!r&&309===r.kind}function qe(e){for(var t=e.parent;;){switch(t.kind){case 216:var r=t.operatorToken.kind;return Dr(r)&&t.left===e?62===r||hr(r)?1:2:0;case 214:case 215:var n=t.operator;return 45===n||46===n?2:0;case 238:case 239:return t.initializer===e?1:0;case 207:case 199:case 220:case 225:e=t;break;case 289:if(t.name!==e)return 0;e=t.parent;break;case 288:if(t.name===e)return 0;e=t.parent;break;default:return 0}t=e.parent}}function We(e,t){for(;e&&e.kind===t;)e=e.parent;return e}function He(e){return We(e,207)}function Ge(t){return e.skipOuterExpressions(t,1)}function Ye(t){return Tr(t)||e.isClassExpression(t)}function Xe(e){return Ye(Qe(e))}function Qe(t){return e.isExportAssignment(t)?t.expression:t.right}function $e(t){var r=Ze(t);if(r&&de(t)){var n=e.getJSDocAugmentsTag(t);if(n)return n.class}return r}function Ze(e){var t=rt(e.heritageClauses,93);return t&&t.types.length>0?t.types[0]:void 0}function et(t){if(de(t))return e.getJSDocImplementsTags(t).map((function(e){return e.class}));var r=rt(t.heritageClauses,116);return null==r?void 0:r.types}function tt(e){var t=rt(e.heritageClauses,93);return t?t.types:void 0}function rt(e,t){if(e)for(var r=0,n=e;r0&&e.every(t.declarationList.declarations,(function(e){return pe(e,r)}))},e.isSingleOrDoubleQuote=function(e){return 39===e||34===e},e.isStringDoubleQuoted=function(e,t){return 34===v(t,e).charCodeAt(0)},e.isAssignmentDeclaration=fe,e.getEffectiveInitializer=ge,e.getDeclaredExpandoInitializer=function(e){var t=ge(e);return t&&me(t,kr(e.name))},e.getAssignedExpandoInitializer=function(t){if(t&&t.parent&&e.isBinaryExpression(t.parent)&&62===t.parent.operatorToken.kind){var r=kr(t.parent.left);return me(t.parent.right,r)||function(t,r,n){var i=e.isBinaryExpression(r)&&(56===r.operatorToken.kind||60===r.operatorToken.kind)&&me(r.right,n);if(i&&ye(t,r.left))return i}(t.parent.left,t.parent.right,r)}if(t&&e.isCallExpression(t)&&Se(t)){var n=function(t,r){return e.forEach(t.properties,(function(t){return e.isPropertyAssignment(t)&&e.isIdentifier(t.name)&&\"value\"===t.name.escapedText&&t.initializer&&me(t.initializer,r)}))}(t.arguments[2],\"prototype\"===t.arguments[1].text);if(n)return n}},e.getExpandoInitializer=me,e.isDefaultedExpandoInitializer=function(t){var r=e.isVariableDeclaration(t.parent)?t.parent.name:e.isBinaryExpression(t.parent)&&62===t.parent.operatorToken.kind?t.parent.left:void 0;return r&&me(t.right,kr(r))&&Tr(r)&&ye(r,t.left)},e.getNameOfExpando=function(t){if(e.isBinaryExpression(t.parent)){var r=56!==t.parent.operatorToken.kind&&60!==t.parent.operatorToken.kind||!e.isBinaryExpression(t.parent.parent)?t.parent:t.parent.parent;if(62===r.operatorToken.kind&&e.isIdentifier(r.left))return r.left}else if(e.isVariableDeclaration(t.parent))return t.parent.name},e.isSameEntityName=ye,e.getRightMostAssignedExpression=ve,e.isExportsIdentifier=he,e.isModuleIdentifier=De,e.isModuleExportsAccessExpression=xe,e.getAssignmentDeclarationKind=be,e.isBindableObjectDefinePropertyCall=Se,e.isLiteralLikeAccess=Ee,e.isLiteralLikeElementAccess=Te,e.isBindableStaticAccessExpression=Ce,e.isBindableStaticElementAccessExpression=ke,e.isBindableStaticNameExpression=Ae,e.getNameOrArgument=Fe,e.getElementOrPropertyAccessArgumentExpressionOrName=Ne,e.getElementOrPropertyAccessName=Pe,e.getAssignmentDeclarationPropertyAccessKind=we,e.getInitializerOfBinaryExpression=Ie,e.isPrototypePropertyAssignment=function(t){return e.isBinaryExpression(t)&&3===be(t)},e.isSpecialPropertyDeclaration=function(t){return de(t)&&t.parent&&233===t.parent.kind&&(!e.isElementAccessExpression(t)||Te(t))&&!!e.getJSDocTypeTag(t.parent)},e.setValueDeclaration=function(e,t){var r=e.valueDeclaration;(!r||(!(8388608&t.flags)||8388608&r.flags)&&fe(r)&&!fe(t)||r.kind!==t.kind&&T(r))&&(e.valueDeclaration=t)},e.isFunctionSymbol=function(t){if(!t||!t.valueDeclaration)return!1;var r=t.valueDeclaration;return 251===r.kind||e.isVariableDeclaration(r)&&r.initializer&&e.isFunctionLike(r.initializer)},e.importFromModuleSpecifier=function(t){return Oe(t)||e.Debug.failBadSyntaxKind(t.parent)},e.tryGetImportFromModuleSpecifier=Oe,e.getExternalModuleName=function(t){switch(t.kind){case 261:case 267:return t.moduleSpecifier;case 260:return 272===t.moduleReference.kind?t.moduleReference.expression:void 0;case 195:return K(t)?t.argument.literal:void 0;default:return e.Debug.assertNever(t)}},e.getNamespaceDeclarationNode=function(t){switch(t.kind){case 261:return t.importClause&&e.tryCast(t.importClause.namedBindings,e.isNamespaceImport);case 260:return t;case 267:return t.exportClause&&e.tryCast(t.exportClause,e.isNamespaceExport);default:return e.Debug.assertNever(t)}},e.isDefaultImport=function(e){return 261===e.kind&&!!e.importClause&&!!e.importClause.name},e.forEachImportClauseDeclaration=function(t,r){var n;if(t.name&&(n=r(t)))return n;if(t.namedBindings&&(n=e.isNamespaceImport(t.namedBindings)?r(t.namedBindings):e.forEach(t.namedBindings.elements,r)))return n},e.hasQuestionToken=function(e){if(e)switch(e.kind){case 160:case 165:case 164:case 289:case 288:case 163:case 162:return void 0!==e.questionToken}return!1},e.isJSDocConstructSignature=function(t){var r=e.isJSDocFunctionType(t)?e.firstOrUndefined(t.parameters):void 0,n=e.tryCast(r&&r.name,e.isIdentifier);return!!n&&\"new\"===n.escapedText},e.isJSDocTypeAlias=Me,e.isTypeAlias=function(t){return Me(t)||e.isTypeAliasDeclaration(t)},e.getSingleInitializerOfVariableStatementOrPropertyDeclaration=Re,e.getSingleVariableOfVariableStatement=Be,e.getJSDocCommentsAndTags=function(t,r){var n;G(t)&&e.hasInitializer(t)&&e.hasJSDocNodes(t.initializer)&&(n=e.append(n,e.last(t.initializer.jsDoc)));for(var i=t;i&&i.parent;){if(e.hasJSDocNodes(i)&&(n=e.append(n,e.last(i.jsDoc))),160===i.kind){n=e.addRange(n,(r?e.getJSDocParameterTagsNoCache:e.getJSDocParameterTags)(i));break}if(159===i.kind){n=e.addRange(n,(r?e.getJSDocTypeParameterTagsNoCache:e.getJSDocTypeParameterTags)(i));break}i=Je(i)}return n||e.emptyArray},e.getParameterSymbolFromJSDoc=function(t){if(t.symbol)return t.symbol;if(e.isIdentifier(t.name)){var r=t.name.escapedText,n=Ke(t);if(n){var i=e.find(n.parameters,(function(e){return 78===e.name.kind&&e.name.escapedText===r}));return i&&i.symbol}}},e.getHostSignatureFromJSDoc=Ke,e.getEffectiveJSDocHost=ze,e.getJSDocHost=Ue,e.getTypeParameterFromJsDoc=function(t){var r=t.name.escapedText,n=t.parent.parent.parent.typeParameters;return n&&e.find(n,(function(e){return e.name.escapedText===r}))},e.hasRestParameter=function(t){var r=e.lastOrUndefined(t.parameters);return!!r&&Ve(r)},e.isRestParameter=Ve,e.hasTypeArguments=function(e){return!!e.typeArguments},function(e){e[e.None=0]=\"None\",e[e.Definite=1]=\"Definite\",e[e.Compound=2]=\"Compound\"}(e.AssignmentKind||(e.AssignmentKind={})),e.getAssignmentTargetKind=qe,e.isAssignmentTarget=function(e){return 0!==qe(e)},e.isNodeWithPossibleHoistedDeclaration=function(e){switch(e.kind){case 230:case 232:case 243:case 234:case 244:case 258:case 284:case 285:case 245:case 237:case 238:case 239:case 235:case 236:case 247:case 287:return!0}return!1},e.isValueSignatureDeclaration=function(t){return e.isFunctionExpression(t)||e.isArrowFunction(t)||e.isMethodOrAccessor(t)||e.isFunctionDeclaration(t)||e.isConstructorDeclaration(t)},e.walkUpParenthesizedTypes=function(e){return We(e,186)},e.walkUpParenthesizedExpressions=He,e.walkUpParenthesizedTypesAndGetParentAndChild=function(e){for(var t;e&&186===e.kind;)t=e,e=e.parent;return[t,e]},e.skipParentheses=Ge,e.isDeleteTarget=function(e){return(201===e.kind||202===e.kind)&&((e=He(e.parent))&&210===e.kind)},e.isNodeDescendantOf=function(e,t){for(;e;){if(e===t)return!0;e=e.parent}return!1},e.isDeclarationName=function(t){return!e.isSourceFile(t)&&!e.isBindingPattern(t)&&e.isDeclaration(t.parent)&&t.parent.name===t},e.getDeclarationFromName=function(t){var r=t.parent;switch(t.kind){case 10:case 14:case 8:if(e.isComputedPropertyName(r))return r.parent;case 78:if(e.isDeclaration(r))return r.name===t?r:void 0;if(e.isQualifiedName(r)){var n=r.parent;return e.isJSDocParameterTag(n)&&n.name===r?n:void 0}var i=r.parent;return e.isBinaryExpression(i)&&0!==be(i)&&(i.left.symbol||i.symbol)&&e.getNameOfDeclaration(i)===t?i:void 0;case 79:return e.isDeclaration(r)&&r.name===t?r:void 0;default:return}},e.isLiteralComputedPropertyDeclarationName=function(t){return ot(t)&&158===t.parent.kind&&e.isDeclaration(t.parent.parent)},e.isIdentifierName=function(e){var t=e.parent;switch(t.kind){case 163:case 162:case 165:case 164:case 167:case 168:case 291:case 288:case 201:return t.name===e;case 157:return t.right===e;case 198:case 265:return t.propertyName===e;case 270:case 280:return!0}return!1},e.isAliasSymbolDeclaration=function(t){return 260===t.kind||259===t.kind||262===t.kind&&!!t.name||263===t.kind||269===t.kind||265===t.kind||270===t.kind||266===t.kind&&Xe(t)||e.isBinaryExpression(t)&&2===be(t)&&Xe(t)||e.isPropertyAccessExpression(t)&&e.isBinaryExpression(t.parent)&&t.parent.left===t&&62===t.parent.operatorToken.kind&&Ye(t.parent.right)||289===t.kind||288===t.kind&&Ye(t.initializer)},e.getAliasDeclarationFromName=function e(t){switch(t.parent.kind){case 262:case 265:case 263:case 270:case 266:case 260:return t.parent;case 157:do{t=t.parent}while(157===t.parent.kind);return e(t)}},e.isAliasableExpression=Ye,e.exportAssignmentIsAlias=Xe,e.getExportAssignmentExpression=Qe,e.getPropertyAssignmentAliasLikeExpression=function(e){return 289===e.kind?e.name:288===e.kind?e.initializer:e.parent.right},e.getEffectiveBaseTypeNode=$e,e.getClassExtendsHeritageElement=Ze,e.getEffectiveImplementsTypeNodes=et,e.getAllSuperTypeNodes=function(t){return e.isInterfaceDeclaration(t)?tt(t)||e.emptyArray:e.isClassLike(t)&&e.concatenate(e.singleElementArray($e(t)),et(t))||e.emptyArray},e.getInterfaceBaseTypeNodes=tt,e.getHeritageClause=rt,e.getAncestor=function(e,t){for(;e;){if(e.kind===t)return e;e=e.parent}},e.isKeyword=nt,e.isContextualKeyword=it,e.isNonContextualKeyword=at,e.isFutureReservedKeyword=function(e){return 116<=e&&e<=124},e.isStringANonContextualKeyword=function(t){var r=e.stringToToken(t);return void 0!==r&&at(r)},e.isStringAKeyword=function(t){var r=e.stringToToken(t);return void 0!==r&&nt(r)},e.isIdentifierANonContextualKeyword=function(e){var t=e.originalKeywordKind;return!!t&&!it(t)},e.isTrivia=function(e){return 2<=e&&e<=7},function(e){e[e.Normal=0]=\"Normal\",e[e.Generator=1]=\"Generator\",e[e.Async=2]=\"Async\",e[e.Invalid=4]=\"Invalid\",e[e.AsyncGenerator=3]=\"AsyncGenerator\"}(e.FunctionFlags||(e.FunctionFlags={})),e.getFunctionFlags=function(e){if(!e)return 4;var t=0;switch(e.kind){case 251:case 208:case 165:e.asteriskToken&&(t|=1);case 209:sr(e,256)&&(t|=2)}return e.body||(t|=4),t},e.isAsyncFunction=function(e){switch(e.kind){case 251:case 208:case 209:case 165:return void 0!==e.body&&void 0===e.asteriskToken&&sr(e,256)}return!1},e.isStringOrNumericLiteralLike=ot,e.isSignedNumericLiteral=st,e.hasDynamicName=ct,e.isDynamicName=ut,e.isWellKnownSymbolSyntactically=lt,e.getPropertyNameForPropertyNameNode=dt,e.isPropertyNameLiteral=_t,e.getTextOfIdentifierOrLiteral=pt,e.getEscapedTextOfIdentifierOrLiteral=function(t){return e.isIdentifierOrPrivateIdentifier(t)?t.escapedText:e.escapeLeadingUnderscores(t.text)},e.getPropertyNameForUniqueESSymbol=function(t){return\"__@\"+e.getSymbolId(t)+\"@\"+t.escapedName},e.getPropertyNameForKnownSymbolName=ft,e.getSymbolNameForPrivateIdentifier=function(t,r){return\"__#\"+e.getSymbolId(t)+\"@\"+r},e.isKnownSymbol=function(t){return e.startsWith(t.escapedName,\"__@\")},e.isESSymbolIdentifier=gt,e.isPushOrUnshiftIdentifier=function(e){return\"push\"===e.escapedText||\"unshift\"===e.escapedText},e.isParameterDeclaration=function(e){return 160===mt(e).kind},e.getRootDeclaration=mt,e.nodeStartsNewLexicalEnvironment=function(e){var t=e.kind;return 166===t||208===t||251===t||209===t||165===t||167===t||168===t||256===t||297===t},e.nodeIsSynthesized=yt,e.getOriginalSourceFile=function(t){return e.getParseTreeNode(t,e.isSourceFile)||t},function(e){e[e.Left=0]=\"Left\",e[e.Right=1]=\"Right\"}(e.Associativity||(e.Associativity={})),e.getExpressionAssociativity=function(e){var t=ht(e),r=204===e.kind&&void 0!==e.arguments;return vt(e.kind,t,r)},e.getOperatorAssociativity=vt,e.getExpressionPrecedence=function(e){var t=ht(e),r=204===e.kind&&void 0!==e.arguments;return Dt(e.kind,t,r)},e.getOperator=ht,function(e){e[e.Comma=0]=\"Comma\",e[e.Spread=1]=\"Spread\",e[e.Yield=2]=\"Yield\",e[e.Assignment=3]=\"Assignment\",e[e.Conditional=4]=\"Conditional\",e[e.Coalesce=4]=\"Coalesce\",e[e.LogicalOR=5]=\"LogicalOR\",e[e.LogicalAND=6]=\"LogicalAND\",e[e.BitwiseOR=7]=\"BitwiseOR\",e[e.BitwiseXOR=8]=\"BitwiseXOR\",e[e.BitwiseAND=9]=\"BitwiseAND\",e[e.Equality=10]=\"Equality\",e[e.Relational=11]=\"Relational\",e[e.Shift=12]=\"Shift\",e[e.Additive=13]=\"Additive\",e[e.Multiplicative=14]=\"Multiplicative\",e[e.Exponentiation=15]=\"Exponentiation\",e[e.Unary=16]=\"Unary\",e[e.Update=17]=\"Update\",e[e.LeftHandSide=18]=\"LeftHandSide\",e[e.Member=19]=\"Member\",e[e.Primary=20]=\"Primary\",e[e.Highest=20]=\"Highest\",e[e.Lowest=0]=\"Lowest\",e[e.Invalid=-1]=\"Invalid\"}(e.OperatorPrecedence||(e.OperatorPrecedence={})),e.getOperatorPrecedence=Dt,e.getBinaryOperatorPrecedence=xt,e.getSemanticJsxChildren=function(t){return e.filter(t,(function(e){switch(e.kind){case 283:return!!e.expression;case 11:return!e.containsOnlyTriviaWhiteSpaces;default:return!0}}))},e.createDiagnosticCollection=function(){var t=[],r=[],n=new e.Map,i=!1;return{add:function(a){var o;a.file?(o=n.get(a.file.fileName))||(o=[],n.set(a.file.fileName,o),e.insertSorted(r,a.file.fileName,e.compareStringsCaseSensitive)):(i&&(i=!1,t=t.slice()),o=t);e.insertSorted(o,a,sn)},lookup:function(r){var i;i=r.file?n.get(r.file.fileName):t;if(!i)return;var a=e.binarySearch(i,r,e.identity,cn);if(a>=0)return i[a];return},getGlobalDiagnostics:function(){return i=!0,t},getDiagnostics:function(i){if(i)return n.get(i)||[];var a=e.flatMapToMutable(r,(function(e){return n.get(e)}));if(!t.length)return a;return a.unshift.apply(a,t),a},reattachFileDiagnostics:function(t){e.forEach(n.get(t.fileName),(function(e){return e.file=t}))}}};var bt=/\\$\\{/g;e.hasInvalidEscape=function(t){return t&&!!(e.isNoSubstitutionTemplateLiteral(t)?t.templateFlags:t.head.templateFlags||e.some(t.templateSpans,(function(e){return!!e.literal.templateFlags})))};var St=/[\\\\\\\"\\u0000-\\u001f\\t\\v\\f\\b\\r\\n\\u2028\\u2029\\u0085]/g,Et=/[\\\\\\'\\u0000-\\u001f\\t\\v\\f\\b\\r\\n\\u2028\\u2029\\u0085]/g,Tt=/[\\\\`]/g,Ct=new e.Map(e.getEntries({\"\\t\":\"\\\\t\",\"\\v\":\"\\\\v\",\"\\f\":\"\\\\f\",\"\\b\":\"\\\\b\",\"\\r\":\"\\\\r\",\"\\n\":\"\\\\n\",\"\\\\\":\"\\\\\\\\\",'\"':'\\\\\"',\"'\":\"\\\\'\",\"`\":\"\\\\`\",\"\\u2028\":\"\\\\u2028\",\"\\u2029\":\"\\\\u2029\",\"\\x85\":\"\\\\u0085\"}));function kt(e){return\"\\\\u\"+(\"0000\"+e.toString(16).toUpperCase()).slice(-4)}function At(e,t,r){if(0===e.charCodeAt(0)){var n=r.charCodeAt(t+e.length);return n>=48&&n<=57?\"\\\\x00\":\"\\\\0\"}return Ct.get(e)||kt(e.charCodeAt(0))}function Ft(e,t){var r=96===t?Tt:39===t?Et:St;return e.replace(r,At)}e.escapeString=Ft;var Nt=/[^\\u0000-\\u007F]/g;function Pt(e,t){return e=Ft(e,t),Nt.test(e)?e.replace(Nt,(function(e){return kt(e.charCodeAt(0))})):e}e.escapeNonAsciiString=Pt;var wt=/[\\\"\\u0000-\\u001f\\u2028\\u2029\\u0085]/g,It=/[\\'\\u0000-\\u001f\\u2028\\u2029\\u0085]/g,Ot=new e.Map(e.getEntries({'\"':\""\",\"'\":\"'\"}));function Mt(e){return 0===e.charCodeAt(0)?\"�\":Ot.get(e)||\"&#x\"+e.charCodeAt(0).toString(16).toUpperCase()+\";\"}function Lt(e,t){var r=39===t?It:wt;return e.replace(r,Mt)}e.escapeJsxAttributeString=Lt,e.stripQuotes=function(e){var t,r=e.length;return r>=2&&e.charCodeAt(0)===e.charCodeAt(r-1)&&(39===(t=e.charCodeAt(0))||34===t||96===t)?e.substring(1,r-1):e},e.isIntrinsicJsxName=function(t){var r=t.charCodeAt(0);return r>=97&&r<=122||e.stringContains(t,\"-\")};var Rt=[\"\",\" \"];function Bt(e){for(var t=Rt[1],r=Rt.length;r<=e;r++)Rt.push(Rt[r-1]+t);return Rt[e]}function jt(){return Rt[1].length}function Jt(e){return!!e.useCaseSensitiveFileNames&&e.useCaseSensitiveFileNames()}function Kt(e,t,r){return t.moduleName||zt(e,t.fileName,r&&r.fileName)}function zt(t,r,n){var i=function(e){return t.getCanonicalFileName(e)},a=e.toPath(n?e.getDirectoryPath(n):t.getCommonSourceDirectory(),t.getCurrentDirectory(),i),o=e.getNormalizedAbsolutePath(r,t.getCurrentDirectory()),s=Un(e.getRelativePathToDirectoryOrUrl(a,o,a,i,!1));return n?e.ensurePathIsNonModuleName(s):s}function Ut(e,t,r,n,i){var a=t.declarationDir||t.outDir;return Un(a?Ht(e,a,r,n,i):e)+\".d.ts\"}function Vt(e){return e.outFile||e.out}function qt(e,t,r){return!(t.getCompilerOptions().noEmitForJsFiles&&le(e))&&!e.isDeclarationFile&&!t.isSourceFileFromExternalLibrary(e)&&!(B(e)&&t.getResolvedProjectReferenceToRedirect(e.fileName))&&(r||!t.isSourceOfProjectReferenceRedirect(e.fileName))}function Wt(e,t,r){return Ht(e,r,t.getCurrentDirectory(),t.getCommonSourceDirectory(),(function(e){return t.getCanonicalFileName(e)}))}function Ht(t,r,n,i,a){var o=e.getNormalizedAbsolutePath(t,n);return o=0===a(o).indexOf(a(i))?o.substring(i.length):o,e.combinePaths(r,o)}function Gt(t,r,n){t.length>e.getRootLength(t)&&!n(t)&&(Gt(e.getDirectoryPath(t),r,n),r(t))}function Yt(t,r){return e.computeLineOfPosition(t,r)}function Xt(e){if(e&&e.parameters.length>0){var t=2===e.parameters.length&&Qt(e.parameters[0]);return e.parameters[t?1:0]}}function Qt(e){return $t(e.name)}function $t(e){return!!e&&78===e.kind&&Zt(e)}function Zt(e){return 107===e.originalKeywordKind}function er(t){if(de(t)||!e.isFunctionDeclaration(t)){var r=t.type;return r||!de(t)?r:e.isJSDocPropertyLikeTag(t)?t.typeExpression&&t.typeExpression.type:e.getJSDocType(t)}}function tr(e,t,r,n){rr(e,t,r.pos,n)}function rr(e,t,r,n){n&&n.length&&r!==n[0].pos&&Yt(e,r)!==Yt(e,n[0].pos)&&t.writeLine()}function nr(e,t,r,n,i,a,o,s){if(n&&n.length>0){i&&r.writeSpace(\" \");for(var c=!1,u=0,l=n;u=0&&e.kind<=156?0:(536870912&e.modifierFlagsCache||(e.modifierFlagsCache=536870912|mr(e)),!t||4096&e.modifierFlagsCache||!r&&!de(e)||!e.parent||(e.modifierFlagsCache|=4096|gr(e)),-536875009&e.modifierFlagsCache)}function pr(e){return _r(e,!0)}function fr(e){return _r(e,!1)}function gr(t){var r=0;return t.parent&&!e.isParameter(t)&&(de(t)&&(e.getJSDocPublicTagNoCache(t)&&(r|=4),e.getJSDocPrivateTagNoCache(t)&&(r|=8),e.getJSDocProtectedTagNoCache(t)&&(r|=16),e.getJSDocReadonlyTagNoCache(t)&&(r|=64)),e.getJSDocDeprecatedTagNoCache(t)&&(r|=8192)),r}function mr(e){var t=yr(e.modifiers);return(4&e.flags||78===e.kind&&e.isInJSDocNamespace)&&(t|=1),t}function yr(e){var t=0;if(e)for(var r=0,n=e;r=62&&e<=77}function xr(e){var t=br(e);return t&&!t.isImplements?t.class:void 0}function br(t){return e.isExpressionWithTypeArguments(t)&&e.isHeritageClause(t.parent)&&e.isClassLike(t.parent.parent)?{class:t.parent.parent,isImplements:116===t.parent.token}:void 0}function Sr(t,r){return e.isBinaryExpression(t)&&(r?62===t.operatorToken.kind:Dr(t.operatorToken.kind))&&e.isLeftHandSideExpression(t.left)}function Er(e){return void 0!==xr(e)}function Tr(e){return 78===e.kind||Cr(e)}function Cr(t){return e.isPropertyAccessExpression(t)&&e.isIdentifier(t.name)&&Tr(t.expression)}function kr(e){return Ce(e)&&\"prototype\"===Pe(e)}e.getIndentString=Bt,e.getIndentSize=jt,e.createTextWriter=function(t){var r,n,i,a,o,s=!1;function c(t){var n=e.computeLineStarts(t);n.length>1?(a=a+n.length-1,o=r.length-t.length+e.last(n),i=o-r.length==0):i=!1}function u(e){e&&e.length&&(i&&(e=Bt(n)+e,i=!1),r+=e,c(e))}function l(e){e&&(s=!1),u(e)}function d(){r=\"\",n=0,i=!0,a=0,o=0,s=!1}return d(),{write:l,rawWrite:function(e){void 0!==e&&(r+=e,c(e),s=!1)},writeLiteral:function(e){e&&e.length&&l(e)},writeLine:function(e){i&&!e||(a++,o=(r+=t).length,i=!0,s=!1)},increaseIndent:function(){n++},decreaseIndent:function(){n--},getIndent:function(){return n},getTextPos:function(){return r.length},getLine:function(){return a},getColumn:function(){return i?n*jt():r.length-o},getText:function(){return r},isAtStartOfLine:function(){return i},hasTrailingComment:function(){return s},hasTrailingWhitespace:function(){return!!r.length&&e.isWhiteSpaceLike(r.charCodeAt(r.length-1))},clear:d,reportInaccessibleThisError:e.noop,reportPrivateInBaseOfClassExpression:e.noop,reportInaccessibleUniqueSymbolError:e.noop,trackSymbol:e.noop,writeKeyword:l,writeOperator:l,writeParameter:l,writeProperty:l,writePunctuation:l,writeSpace:l,writeStringLiteral:l,writeSymbol:function(e,t){return l(e)},writeTrailingSemicolon:l,writeComment:function(e){e&&(s=!0),u(e)},getTextPosWithWriteLine:function(){return i?r.length:r.length+t.length}}},e.getTrailingSemicolonDeferringWriter=function(e){var t=!1;function r(){t&&(e.writeTrailingSemicolon(\";\"),t=!1)}return n(n({},e),{writeTrailingSemicolon:function(){t=!0},writeLiteral:function(t){r(),e.writeLiteral(t)},writeStringLiteral:function(t){r(),e.writeStringLiteral(t)},writeSymbol:function(t,n){r(),e.writeSymbol(t,n)},writePunctuation:function(t){r(),e.writePunctuation(t)},writeKeyword:function(t){r(),e.writeKeyword(t)},writeOperator:function(t){r(),e.writeOperator(t)},writeParameter:function(t){r(),e.writeParameter(t)},writeSpace:function(t){r(),e.writeSpace(t)},writeProperty:function(t){r(),e.writeProperty(t)},writeComment:function(t){r(),e.writeComment(t)},writeLine:function(){r(),e.writeLine()},increaseIndent:function(){r(),e.increaseIndent()},decreaseIndent:function(){r(),e.decreaseIndent()}})},e.hostUsesCaseSensitiveFileNames=Jt,e.hostGetCanonicalFileName=function(t){return e.createGetCanonicalFileName(Jt(t))},e.getResolvedExternalModuleName=Kt,e.getExternalModuleNameFromDeclaration=function(e,t,r){var n=t.getExternalModuleFileFromDeclaration(r);if(n&&!n.isDeclarationFile)return Kt(e,n)},e.getExternalModuleNameFromPath=zt,e.getOwnEmitOutputFilePath=function(e,t,r){var n=t.getCompilerOptions();return(n.outDir?Un(Wt(e,t,n.outDir)):Un(e))+r},e.getDeclarationEmitOutputFilePath=function(e,t){return Ut(e,t.getCompilerOptions(),t.getCurrentDirectory(),t.getCommonSourceDirectory(),(function(e){return t.getCanonicalFileName(e)}))},e.getDeclarationEmitOutputFilePathWorker=Ut,e.outFile=Vt,e.getPathsBasePath=function(t,r){var n,i;if(t.paths)return null!==(n=t.baseUrl)&&void 0!==n?n:e.Debug.checkDefined(t.pathsBasePath||(null===(i=r.getCurrentDirectory)||void 0===i?void 0:i.call(r)),\"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.\")},e.getSourceFilesToEmit=function(t,r,n){var i=t.getCompilerOptions();if(Vt(i)){var a=dn(i),o=i.emitDeclarationOnly||a===e.ModuleKind.AMD||a===e.ModuleKind.System;return e.filter(t.getSourceFiles(),(function(r){return(o||!e.isExternalModule(r))&&qt(r,t,n)}))}var s=void 0===r?t.getSourceFiles():[r];return e.filter(s,(function(e){return qt(e,t,n)}))},e.sourceFileMayBeEmitted=qt,e.getSourceFilePathInNewDir=Wt,e.getSourceFilePathInNewDirWorker=Ht,e.writeFile=function(t,r,n,i,a,o){t.writeFile(n,i,a,(function(t){r.add(an(e.Diagnostics.Could_not_write_file_0_Colon_1,n,t))}),o)},e.writeFileEnsuringDirectories=function(t,r,n,i,a,o){try{i(t,r,n)}catch(s){Gt(e.getDirectoryPath(e.normalizePath(t)),a,o),i(t,r,n)}},e.getLineOfLocalPosition=function(t,r){var n=e.getLineStarts(t);return e.computeLineOfPosition(n,r)},e.getLineOfLocalPositionFromLineMap=Yt,e.getFirstConstructorWithBody=function(t){return e.find(t.members,(function(t){return e.isConstructorDeclaration(t)&&_(t.body)}))},e.getSetAccessorValueParameter=Xt,e.getSetAccessorTypeAnnotationNode=function(e){var t=Xt(e);return t&&t.type},e.getThisParameter=function(t){if(t.parameters.length&&!e.isJSDocSignature(t)){var r=t.parameters[0];if(Qt(r))return r}},e.parameterIsThisKeyword=Qt,e.isThisIdentifier=$t,e.identifierIsThisKeyword=Zt,e.getAllAccessorDeclarations=function(t,r){var n,i,a,o;return ct(r)?(n=r,167===r.kind?a=r:168===r.kind?o=r:e.Debug.fail(\"Accessor has wrong kind\")):e.forEach(t,(function(t){e.isAccessor(t)&&sr(t,32)===sr(r,32)&&(dt(t.name)===dt(r.name)&&(n?i||(i=t):n=t,167!==t.kind||a||(a=t),168!==t.kind||o||(o=t)))})),{firstAccessor:n,secondAccessor:i,getAccessor:a,setAccessor:o}},e.getEffectiveTypeAnnotationNode=er,e.getTypeAnnotationNode=function(e){return e.type},e.getEffectiveReturnTypeNode=function(t){return e.isJSDocSignature(t)?t.type&&t.type.typeExpression&&t.type.typeExpression.type:t.type||(de(t)?e.getJSDocReturnType(t):void 0)},e.getJSDocTypeParameterDeclarations=function(t){return e.flatMap(e.getJSDocTags(t),(function(t){return function(t){return e.isJSDocTemplateTag(t)&&!(311===t.parent.kind&&t.parent.tags.some(Me))}(t)?t.typeParameters:void 0}))},e.getEffectiveSetAccessorTypeAnnotationNode=function(e){var t=Xt(e);return t&&er(t)},e.emitNewLineBeforeLeadingComments=tr,e.emitNewLineBeforeLeadingCommentsOfPosition=rr,e.emitNewLineBeforeLeadingCommentOfPosition=function(e,t,r,n){r!==n&&Yt(e,r)!==Yt(e,n)&&t.writeLine()},e.emitComments=nr,e.emitDetachedComments=function(t,r,n,i,a,o,s){var c,u;if(s?0===a.pos&&(c=e.filter(e.getLeadingCommentRanges(t,a.pos),(function(e){return m(t,e.pos)}))):c=e.getLeadingCommentRanges(t,a.pos),c){for(var l=[],d=void 0,_=0,p=c;_=g+2)break}l.push(f),d=f}if(l.length){g=Yt(r,e.last(l).end);Yt(r,e.skipTrivia(t,a.pos))>=g+2&&(tr(r,n,a,c),nr(t,r,n,l,!1,!0,o,i),u={nodePos:a.pos,detachedCommentEndPos:e.last(l).end})}}return u},e.writeCommentRange=function(t,r,n,i,a,o){if(42===t.charCodeAt(i+1))for(var s=e.computeLineAndCharacterOfPosition(r,i),c=r.length,u=void 0,l=i,d=s.line;l0){var f=p%jt(),g=Bt((p-f)/jt());for(n.rawWrite(g);f;)n.rawWrite(\" \"),f--}else n.rawWrite(\"\")}ir(t,a,n,o,l,_),l=_}else n.writeComment(t.substring(i,a))},e.hasEffectiveModifiers=function(e){return 0!==pr(e)},e.hasSyntacticModifiers=function(e){return 0!==fr(e)},e.hasEffectiveModifier=or,e.hasSyntacticModifier=sr,e.hasStaticModifier=cr,e.hasEffectiveReadonlyModifier=ur,e.getSelectedEffectiveModifierFlags=lr,e.getSelectedSyntacticModifierFlags=dr,e.getEffectiveModifierFlags=pr,e.getEffectiveModifierFlagsAlwaysIncludeJSDoc=function(e){return _r(e,!0,!0)},e.getSyntacticModifierFlags=fr,e.getEffectiveModifierFlagsNoCache=function(e){return mr(e)|gr(e)},e.getSyntacticModifierFlagsNoCache=mr,e.modifiersToFlags=yr,e.modifierToFlag=vr,e.isLogicalOperator=function(e){return 56===e||55===e||53===e},e.isLogicalOrCoalescingAssignmentOperator=hr,e.isLogicalOrCoalescingAssignmentExpression=function(e){return hr(e.operatorToken.kind)},e.isAssignmentOperator=Dr,e.tryGetClassExtendingExpressionWithTypeArguments=xr,e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments=br,e.isAssignmentExpression=Sr,e.isDestructuringAssignment=function(e){if(Sr(e,!0)){var t=e.left.kind;return 200===t||199===t}return!1},e.isExpressionWithTypeArgumentsInClassExtendsClause=Er,e.isEntityNameExpression=Tr,e.getFirstIdentifier=function(e){switch(e.kind){case 78:return e;case 157:do{e=e.left}while(78!==e.kind);return e;case 201:do{e=e.expression}while(78!==e.kind);return e}},e.isDottedName=function e(t){return 78===t.kind||107===t.kind||105===t.kind||201===t.kind&&e(t.expression)||207===t.kind&&e(t.expression)},e.isPropertyAccessEntityNameExpression=Cr,e.tryGetPropertyAccessOrIdentifierToString=function t(r){if(e.isPropertyAccessExpression(r)){var n=t(r.expression);if(void 0!==n)return n+\".\"+O(r.name)}else if(e.isIdentifier(r))return e.unescapeLeadingUnderscores(r.escapedText)},e.isPrototypeAccess=kr,e.isRightSideOfQualifiedNameOrPropertyAccess=function(e){return 157===e.parent.kind&&e.parent.right===e||201===e.parent.kind&&e.parent.name===e},e.isEmptyObjectLiteral=function(e){return 200===e.kind&&0===e.properties.length},e.isEmptyArrayLiteral=function(e){return 199===e.kind&&0===e.elements.length},e.getLocalSymbolForExportDefault=function(t){if(function(t){return t&&e.length(t.declarations)>0&&sr(t.declarations[0],512)}(t))for(var r=0,n=t.declarations;r>6|192),r.push(63&a|128)):a<65536?(r.push(a>>12|224),r.push(a>>6&63|128),r.push(63&a|128)):a<131072?(r.push(a>>18|240),r.push(a>>12&63|128),r.push(a>>6&63|128),r.push(63&a|128)):e.Debug.assert(!1,\"Unexpected code point\")}return r}(t),c=0,u=s.length;c>2,n=(3&s[c])<<4|s[c+1]>>4,i=(15&s[c+1])<<2|s[c+2]>>6,a=63&s[c+2],c+1>=u?i=a=64:c+2>=u&&(a=64),o+=Ar.charAt(r)+Ar.charAt(n)+Ar.charAt(i)+Ar.charAt(a),c+=3;return o}e.convertToBase64=Fr,e.base64encode=function(e,t){return e&&e.base64encode?e.base64encode(t):Fr(t)},e.base64decode=function(e,t){if(e&&e.base64decode)return e.base64decode(t);for(var r=t.length,n=[],i=0;i>4&3,l=(15&o)<<4|s>>2&15,d=(3&s)<<6|63&c;0===l&&0!==s?n.push(u):0===d&&0!==c?n.push(u,l):n.push(u,l,d),i+=4}return function(e){for(var t=\"\",r=0,n=e.length;r=t||-1===r),{pos:t,end:r}}function wr(e,t){return Pr(t,e.end)}function Ir(e){return e.decorators&&e.decorators.length>0?wr(e,e.decorators.end):e}function Or(e,t,r){return Mr(Lr(e,r,!1),t.end,r)}function Mr(t,r,n){return 0===e.getLinesBetweenPositions(n,t,r)}function Lr(t,r,n){return Hn(t.pos)?-1:e.skipTrivia(r.text,t.pos,!1,n)}function Rr(e){return void 0!==e.initializer}function Br(e){return 33554432&e.flags?e.checkFlags:0}function jr(t){var r=t.parent;if(!r)return 0;switch(r.kind){case 207:return jr(r);case 215:case 214:var n=r.operator;return 45===n||46===n?c():0;case 216:var i=r,a=i.left,o=i.operatorToken;return a===t&&Dr(o.kind)?62===o.kind?1:c():0;case 201:return r.name!==t?0:jr(r);case 288:var s=jr(r.parent);return t===r.name?function(t){switch(t){case 0:return 1;case 1:return 0;case 2:return 2;default:return e.Debug.assertNever(t)}}(s):s;case 289:return t===r.objectAssignmentInitializer?0:jr(r.parent);case 199:return jr(r);default:return 0}function c(){return r.parent&&233===function(e){for(;207===e.kind;)e=e.parent;return e}(r.parent).kind?1:2}}function Jr(e,t,r){var n=r.onDeleteValue,i=r.onExistingValue;e.forEach((function(r,a){var o=t.get(a);void 0===o?(e.delete(a),n(r,a)):i&&i(r,o,a)}))}function Kr(e){if(32&e.flags){var t=zr(e);return!!t&&sr(t,128)}return!1}function zr(t){return e.find(t.declarations,e.isClassLike)}function Ur(e){return 3899393&e.flags?e.objectFlags:0}function Vr(e){return 201===e.kind||202===e.kind}function qr(e){for(;Vr(e);)e=e.expression;return e}function Wr(e,t){this.flags=e,this.escapedName=t,this.declarations=void 0,this.valueDeclaration=void 0,this.id=void 0,this.mergeId=void 0,this.parent=void 0}function Hr(t,r){this.flags=r,(e.Debug.isDebugging||e.tracing.isTracing())&&(this.checker=t)}function Gr(t,r){this.flags=r,e.Debug.isDebugging&&(this.checker=t)}function Yr(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0}function Xr(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0}function Qr(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.flowNode=void 0}function $r(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r||function(e){return e}}function Zr(t,r,n){return void 0===n&&(n=0),t.replace(/{(\\d+)}/g,(function(t,i){return\"\"+e.Debug.checkDefined(r[+i+n])}))}function en(t){return e.localizedDiagnosticMessages&&e.localizedDiagnosticMessages[t.key]||t.message}function tn(e){return void 0===e.file&&void 0!==e.start&&void 0!==e.length&&\"string\"==typeof e.fileName}function rn(t,r){var n=r.fileName||\"\",i=r.text.length;e.Debug.assertEqual(t.fileName,n),e.Debug.assertLessThanOrEqual(t.start,i),e.Debug.assertLessThanOrEqual(t.start+t.length,i);var a={file:r,start:t.start,length:t.length,messageText:t.messageText,category:t.category,code:t.code,reportsUnnecessary:t.reportsUnnecessary};if(t.relatedInformation){a.relatedInformation=[];for(var o=0,s=t.relatedInformation;o4&&(a=Zr(a,arguments,4)),{file:t,start:r,length:n,messageText:a,category:i.category,code:i.code,reportsUnnecessary:i.reportsUnnecessary,reportsDeprecated:i.reportsDeprecated}}function an(e){var t=en(e);return arguments.length>1&&(t=Zr(t,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated}}function on(e){return e.file?e.file.path:void 0}function sn(t,r){return cn(t,r)||function(t,r){if(!t.relatedInformation&&!r.relatedInformation)return 0;if(t.relatedInformation&&r.relatedInformation)return e.compareValues(t.relatedInformation.length,r.relatedInformation.length)||e.forEach(t.relatedInformation,(function(e,t){return sn(e,r.relatedInformation[t])}))||0;return t.relatedInformation?-1:1}(t,r)||0}function cn(t,r){return e.compareStringsCaseSensitive(on(t),on(r))||e.compareValues(t.start,r.start)||e.compareValues(t.length,r.length)||e.compareValues(t.code,r.code)||un(t.messageText,r.messageText)||0}function un(t,r){if(\"string\"==typeof t&&\"string\"==typeof r)return e.compareStringsCaseSensitive(t,r);if(\"string\"==typeof t)return-1;if(\"string\"==typeof r)return 1;var n=e.compareStringsCaseSensitive(t.messageText,r.messageText);if(n)return n;if(!t.next&&!r.next)return 0;if(!t.next)return-1;if(!r.next)return 1;for(var i=Math.min(t.next.length,r.next.length),a=0;ar.next.length?1:0}function ln(e){return e.target||0}function dn(t){return\"number\"==typeof t.module?t.module:ln(t)>=2?e.ModuleKind.ES2015:e.ModuleKind.CommonJS}function _n(e){return!(!e.declaration&&!e.composite)}function pn(e,t){return void 0===e[t]?!!e.strict:!!e[t]}function fn(e){return void 0===e.allowJs?!!e.checkJs:e.allowJs}function gn(e,t){return t.strictFlag?pn(e,t.name):e[t.name]}function mn(e){for(var t=!1,r=0;r0?wr(e,e.modifiers.end):Ir(e)},e.isCollapsedRange=function(e){return e.pos===e.end},e.createTokenRange=function(t,r){return Pr(t,t+e.tokenToString(r).length)},e.rangeIsOnSingleLine=function(e,t){return Or(e,e,t)},e.rangeStartPositionsAreOnSameLine=function(e,t,r){return Mr(Lr(e,r,!1),Lr(t,r,!1),r)},e.rangeEndPositionsAreOnSameLine=function(e,t,r){return Mr(e.end,t.end,r)},e.rangeStartIsOnSameLineAsRangeEnd=Or,e.rangeEndIsOnSameLineAsRangeStart=function(e,t,r){return Mr(e.end,Lr(t,r,!1),r)},e.getLinesBetweenRangeEndAndRangeStart=function(t,r,n,i){var a=Lr(r,n,i);return e.getLinesBetweenPositions(n,t.end,a)},e.getLinesBetweenRangeEndPositions=function(t,r,n){return e.getLinesBetweenPositions(n,t.end,r.end)},e.isNodeArrayMultiLine=function(e,t){return!Mr(e.pos,e.end,t)},e.positionsAreOnSameLine=Mr,e.getStartPositionOfRange=Lr,e.getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter=function(t,r,n,i){var a=e.skipTrivia(n.text,t,!1,i),o=function(t,r,n){void 0===r&&(r=0);for(;t-- >r;)if(!e.isWhiteSpaceLike(n.text.charCodeAt(t)))return t}(a,r,n);return e.getLinesBetweenPositions(n,null!=o?o:r,a)},e.getLinesBetweenPositionAndNextNonWhitespaceCharacter=function(t,r,n,i){var a=e.skipTrivia(n.text,t,!1,i);return e.getLinesBetweenPositions(n,t,Math.min(r,a))},e.isDeclarationNameOfEnumOrNamespace=function(t){var r=e.getParseTreeNode(t);if(r)switch(r.parent.kind){case 255:case 256:return r===r.parent.name}return!1},e.getInitializedVariables=function(t){return e.filter(t.declarations,Rr)},e.isWatchSet=function(e){return e.watch&&e.hasOwnProperty(\"watch\")},e.closeFileWatcher=function(e){e.close()},e.getCheckFlags=Br,e.getDeclarationModifierFlagsFromSymbol=function(t){if(t.valueDeclaration){var r=e.getCombinedModifierFlags(t.valueDeclaration);return t.parent&&32&t.parent.flags?r:-29&r}if(6&Br(t)){var n=t.checkFlags;return(1024&n?8:256&n?4:16)|(2048&n?32:0)}return 4194304&t.flags?36:0},e.skipAlias=function(e,t){return 2097152&e.flags?t.getAliasedSymbol(e):e},e.getCombinedLocalAndExportSymbolFlags=function(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags},e.isWriteOnlyAccess=function(e){return 1===jr(e)},e.isWriteAccess=function(e){return 0!==jr(e)},function(e){e[e.Read=0]=\"Read\",e[e.Write=1]=\"Write\",e[e.ReadWrite=2]=\"ReadWrite\"}(Nr||(Nr={})),e.compareDataObjects=function e(t,r){if(!t||!r||Object.keys(t).length!==Object.keys(r).length)return!1;for(var n in t)if(\"object\"==typeof t[n]){if(!e(t[n],r[n]))return!1}else if(\"function\"!=typeof t[n]&&t[n]!==r[n])return!1;return!0},e.clearMap=function(e,t){e.forEach(t),e.clear()},e.mutateMapSkippingNewValues=Jr,e.mutateMap=function(e,t,r){Jr(e,t,r);var n=r.createNewValue;t.forEach((function(t,r){e.has(r)||e.set(r,n(r,t))}))},e.isAbstractConstructorType=function(e){return!!(16&Ur(e))&&!!e.symbol&&Kr(e.symbol)},e.isAbstractConstructorSymbol=Kr,e.getClassLikeDeclarationOfSymbol=zr,e.getObjectFlags=Ur,e.typeHasCallOrConstructSignatures=function(e,t){return 0!==t.getSignaturesOfType(e,0).length||0!==t.getSignaturesOfType(e,1).length},e.forSomeAncestorDirectory=function(t,r){return!!e.forEachAncestorDirectory(t,(function(e){return!!r(e)||void 0}))},e.isUMDExportSymbol=function(t){return!!t&&!!t.declarations&&!!t.declarations[0]&&e.isNamespaceExportDeclaration(t.declarations[0])},e.showModuleSpecifier=function(t){var r=t.moduleSpecifier;return e.isStringLiteral(r)?r.text:D(r)},e.getLastChild=function(t){var r;return e.forEachChild(t,(function(e){_(e)&&(r=e)}),(function(e){for(var t=e.length-1;t>=0;t--)if(_(e[t])){r=e[t];break}})),r},e.addToSeen=function(e,t,r){return void 0===r&&(r=!0),t=String(t),!e.has(t)&&(e.set(t,r),!0)},e.isObjectTypeDeclaration=function(t){return e.isClassLike(t)||e.isInterfaceDeclaration(t)||e.isTypeLiteralNode(t)},e.isTypeNodeKind=function(e){return e>=172&&e<=195||128===e||152===e||144===e||155===e||145===e||131===e||147===e||148===e||113===e||150===e||141===e||223===e||303===e||304===e||305===e||306===e||307===e||308===e||309===e},e.isAccessExpression=Vr,e.getNameOfAccessExpression=function(t){return 201===t.kind?t.name:(e.Debug.assert(202===t.kind),t.argumentExpression)},e.isBundleFileTextLike=function(e){switch(e.kind){case\"text\":case\"internal\":return!0;default:return!1}},e.isNamedImportsOrExports=function(e){return 264===e.kind||268===e.kind},e.getLeftmostAccessExpression=qr,e.getLeftmostExpression=function(e,t){for(;;){switch(e.kind){case 215:e=e.operand;continue;case 216:e=e.left;continue;case 217:e=e.condition;continue;case 205:e=e.tag;continue;case 203:if(t)return e;case 224:case 202:case 201:case 225:case 336:e=e.expression;continue}return e}},e.objectAllocator={getNodeConstructor:function(){return Yr},getTokenConstructor:function(){return Xr},getIdentifierConstructor:function(){return Qr},getPrivateIdentifierConstructor:function(){return Yr},getSourceFileConstructor:function(){return Yr},getSymbolConstructor:function(){return Wr},getTypeConstructor:function(){return Hr},getSignatureConstructor:function(){return Gr},getSourceMapSourceConstructor:function(){return $r}},e.setObjectAllocator=function(t){e.objectAllocator=t},e.formatStringFromArgs=Zr,e.setLocalizedDiagnosticMessages=function(t){e.localizedDiagnosticMessages=t},e.getLocaleSpecificMessage=en,e.createDetachedDiagnostic=function(t,r,n,i){e.Debug.assertGreaterThanOrEqual(r,0),e.Debug.assertGreaterThanOrEqual(n,0);var a=en(i);return arguments.length>4&&(a=Zr(a,arguments,4)),{file:void 0,start:r,length:n,messageText:a,category:i.category,code:i.code,reportsUnnecessary:i.reportsUnnecessary,fileName:t}},e.attachFileToDiagnostics=function(e,t){for(var r=[],n=0,i=e;n2&&(r=Zr(r,arguments,2)),r},e.createCompilerDiagnostic=an,e.createCompilerDiagnosticFromMessageChain=function(e){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText}},e.chainDiagnosticMessages=function(e,t){var r=en(t);return arguments.length>2&&(r=Zr(r,arguments,2)),{messageText:r,category:t.category,code:t.code,next:void 0===e||Array.isArray(e)?e:[e]}},e.concatenateDiagnosticMessageChains=function(e,t){for(var r=e;r.next;)r=r.next[0];r.next=[t]},e.compareDiagnostics=sn,e.compareDiagnosticsSkipRelatedInformation=cn,e.getLanguageVariant=function(e){return 4===e||2===e||1===e||6===e?1:0},e.getEmitScriptTarget=ln,e.getEmitModuleKind=dn,e.getEmitModuleResolutionKind=function(t){var r=t.moduleResolution;return void 0===r&&(r=dn(t)===e.ModuleKind.CommonJS?e.ModuleResolutionKind.NodeJs:e.ModuleResolutionKind.Classic),r},e.hasJsonModuleEmitEnabled=function(t){switch(dn(t)){case e.ModuleKind.CommonJS:case e.ModuleKind.AMD:case e.ModuleKind.ES2015:case e.ModuleKind.ES2020:case e.ModuleKind.ESNext:return!0;default:return!1}},e.unreachableCodeIsError=function(e){return!1===e.allowUnreachableCode},e.unusedLabelIsError=function(e){return!1===e.allowUnusedLabels},e.getAreDeclarationMapsEnabled=function(e){return!(!_n(e)||!e.declarationMap)},e.getAllowSyntheticDefaultImports=function(t){var r=dn(t);return void 0!==t.allowSyntheticDefaultImports?t.allowSyntheticDefaultImports:t.esModuleInterop||r===e.ModuleKind.System},e.getEmitDeclarations=_n,e.isIncrementalCompilation=function(e){return!(!e.incremental&&!e.composite)},e.getStrictOptionValue=pn,e.getAllowJSCompilerOption=fn,e.compilerOptionsAffectSemanticDiagnostics=function(t,r){return r!==t&&e.semanticDiagnosticsOptionDeclarations.some((function(e){return!Xn(gn(r,e),gn(t,e))}))},e.compilerOptionsAffectEmit=function(t,r){return r!==t&&e.affectsEmitOptionDeclarations.some((function(e){return!Xn(gn(r,e),gn(t,e))}))},e.getCompilerOptionValue=gn,e.getJSXTransformEnabled=function(e){var t=e.jsx;return 2===t||4===t||5===t},e.getJSXImplicitImportBase=function(t,r){var n=null==r?void 0:r.pragmas.get(\"jsximportsource\"),i=e.isArray(n)?n[0]:n;return 4===t.jsx||5===t.jsx||t.jsxImportSource||i?(null==i?void 0:i.arguments.factory)||t.jsxImportSource||\"react\":void 0},e.getJSXRuntimeImport=function(e,t){return e?e+\"/\"+(5===t.jsx?\"jsx-dev-runtime\":\"jsx-runtime\"):void 0},e.hasZeroOrOneAsteriskCharacter=mn,e.createSymlinkCache=yn,e.discoverProbableSymlinks=function(t,r,n){for(var i=yn(),a=0,o=e.flatten(e.mapDefined(t,(function(t){return t.resolvedModules&&e.compact(e.arrayFrom(e.mapIterator(t.resolvedModules.values(),(function(e){return e&&e.originalPath&&e.resolvedFileName!==e.originalPath?[e.resolvedFileName,e.originalPath]:void 0}))))})));a0;)c+=\")?\",_--;return c}(t,r,n,kn[n])}))}function Nn(e){return!/[.*?]/.test(e)}function Pn(e,t){return\"*\"===e?t:\"?\"===e?\"[^/]\":\"\\\\\"+e}function wn(t,r,n,i,a){t=e.normalizePath(t),a=e.normalizePath(a);var o=e.combinePaths(a,t);return{includeFilePatterns:e.map(Fn(n,o,\"files\"),(function(e){return\"^\"+e+\"$\"})),includeFilePattern:An(n,o,\"files\"),includeDirectoryPattern:An(n,o,\"directories\"),excludePattern:An(r,o,\"exclude\"),basePaths:On(t,n,i)}}function In(e,t){return new RegExp(e,t?\"\":\"i\")}function On(t,r,n){var i=[t];if(r){for(var a=[],o=0,s=r;o=0;n--)if(e.fileExtensionIs(t,r[n]))return Kn(n,r);return 0},e.adjustExtensionPriority=Kn,e.getNextLowestExtensionPriority=function(e,t){return e<2?2:t.length};var zn=[\".d.ts\",\".ts\",\".js\",\".tsx\",\".jsx\",\".json\"];function Un(e){for(var t=0,r=zn;t=0)}function Gn(e){return\".ts\"===e||\".tsx\"===e||\".d.ts\"===e}function Yn(t){return e.find(zn,(function(r){return e.fileExtensionIs(t,r)}))}function Xn(t,r){return t===r||\"object\"==typeof t&&null!==t&&\"object\"==typeof r&&null!==r&&e.equalOwnProperties(t,r,Xn)}function Qn(e,t){return e.pos=t,e}function $n(e,t){return e.end=t,e}function Zn(e,t,r){return $n(Qn(e,t),r)}function ei(e,t){return e&&t&&(e.parent=t),e}e.removeFileExtension=Un,e.tryRemoveExtension=Vn,e.removeExtension=qn,e.changeExtension=function(t,r){return e.changeAnyExtension(t,r,zn,!1)},e.tryParsePattern=Wn,e.positionIsSynthesized=Hn,e.extensionIsTS=Gn,e.resolutionExtensionIsTSOrJson=function(e){return Gn(e)||\".json\"===e},e.extensionFromPath=function(t){var r=Yn(t);return void 0!==r?r:e.Debug.fail(\"File \"+t+\" has unknown extension.\")},e.isAnySupportedFileExtension=function(e){return void 0!==Yn(e)},e.tryGetExtensionFromPath=Yn,e.isCheckJsEnabledForFile=function(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs},e.emptyFileSystemEntries={files:e.emptyArray,directories:e.emptyArray},e.matchPatternOrExact=function(t,r){for(var n=[],i=0,a=t;ii&&(i=o)}return{min:n,max:i}},e.rangeOfNode=function(e){return{pos:y(e),end:e.end}},e.rangeOfTypeParameters=function(e){return{pos:e.pos-1,end:e.end+1}},e.skipTypeChecking=function(e,t,r){return t.skipLibCheck&&e.isDeclarationFile||t.skipDefaultLibCheck&&e.hasNoDefaultLib||r.isSourceOfProjectReferenceRedirect(e.fileName)},e.isJsonEqual=Xn,e.parsePseudoBigInt=function(e){var t;switch(e.charCodeAt(1)){case 98:case 66:t=1;break;case 111:case 79:t=3;break;case 120:case 88:t=4;break;default:for(var r=e.length-1,n=0;48===e.charCodeAt(n);)n++;return e.slice(n,r)||\"0\"}for(var i=e.length-1,a=(i-2)*t,o=new Uint16Array((a>>>4)+(15&a?1:0)),s=i-1,c=0;s>=2;s--,c+=t){var u=c>>>4,l=e.charCodeAt(s),d=(l<=57?l-48:10+l-(l<=70?65:97))<<(15&c);o[u]|=d;var _=d>>>16;_&&(o[u+1]|=_)}for(var p=\"\",f=o.length-1,g=!0;g;){var m=0;g=!1;for(u=f;u>=0;u--){var y=m<<16|o[u],v=y/10|0;o[u]=v,m=y-10*v,v&&!g&&(f=u,g=!0)}p=m+p}return p},e.pseudoBigIntToString=function(e){var t=e.negative,r=e.base10Value;return(t&&\"0\"!==r?\"-\":\"\")+r},e.isValidTypeOnlyAliasUseSite=function(t){return!!(8388608&t.flags)||ce(t)||function(t){if(78!==t.kind)return!1;var r=e.findAncestor(t.parent,(function(e){switch(e.kind){case 286:return!0;case 201:case 223:return!1;default:return\"quit\"}}));return 116===(null==r?void 0:r.token)||253===(null==r?void 0:r.parent.kind)}(t)||function(e){for(;78===e.kind||201===e.kind;)e=e.parent;if(158!==e.kind)return!1;if(sr(e.parent,128))return!0;var t=e.parent.parent.kind;return 253===t||177===t}(t)||!oe(t)},e.typeOnlyDeclarationIsExport=function(e){return 270===e.kind},e.isIdentifierTypeReference=function(t){return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)},e.arrayIsHomogeneous=function(t,r){if(void 0===r&&(r=e.equateValues),t.length<2)return!0;for(var n=t[0],i=1,a=t.length;i3)return!0;var u=e.getExpressionPrecedence(c);switch(e.compareValues(u,o)){case-1:return!(!i&&1===s&&219===n.kind);case 1:return!1;case 0:if(i)return 1===s;if(e.isBinaryExpression(c)&&c.operatorToken.kind===t){if(function(e){return 41===e||51===e||50===e||52===e}(t))return!1;if(39===t){var l=a?r(a):0;if(e.isLiteralKind(l)&&l===r(c))return!1}}return 0===e.getExpressionAssociativity(c)}}(n,i,a,o)?t.createParenthesizedExpression(i):i}function i(r){var n=e.skipPartiallyEmittedExpressions(r);return e.isLeftHandSideExpression(n)&&(204!==n.kind||n.arguments)?r:e.setTextRange(t.createParenthesizedExpression(r),r)}function a(r){var n=e.skipPartiallyEmittedExpressions(r);return e.getExpressionPrecedence(n)>e.getOperatorPrecedence(216,27)?r:e.setTextRange(t.createParenthesizedExpression(r),r)}function o(e){return 184===e.kind?t.createParenthesizedType(e):e}function s(e){switch(e.kind){case 182:case 183:case 174:case 175:return t.createParenthesizedType(e)}return o(e)}function c(r,n){return 0===n&&e.isFunctionOrConstructorTypeNode(r)&&r.typeParameters?t.createParenthesizedType(r):r}},e.nullParenthesizerRules={parenthesizeLeftSideOfBinary:function(e,t){return t},parenthesizeRightSideOfBinary:function(e,t,r){return r},parenthesizeExpressionOfComputedPropertyName:e.identity,parenthesizeConditionOfConditionalExpression:e.identity,parenthesizeBranchOfConditionalExpression:e.identity,parenthesizeExpressionOfExportDefault:e.identity,parenthesizeExpressionOfNew:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeLeftSideOfAccess:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeOperandOfPostfixUnary:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeOperandOfPrefixUnary:function(t){return e.cast(t,e.isUnaryExpression)},parenthesizeExpressionsOfCommaDelimitedList:function(t){return e.cast(t,e.isNodeArray)},parenthesizeExpressionForDisallowedComma:e.identity,parenthesizeExpressionOfExpressionStatement:e.identity,parenthesizeConciseBodyOfArrowFunction:e.identity,parenthesizeMemberOfConditionalType:e.identity,parenthesizeMemberOfElementType:e.identity,parenthesizeElementTypeOfArrayType:e.identity,parenthesizeConstituentTypesOfUnionOrIntersectionType:function(t){return e.cast(t,e.isNodeArray)},parenthesizeTypeArguments:function(t){return t&&e.cast(t,e.isNodeArray)}}}(u||(u={})),function(e){e.createNodeConverters=function(t){return{convertToFunctionBlock:function(r,n){if(e.isBlock(r))return r;var i=t.createReturnStatement(r);e.setTextRange(i,r);var a=t.createBlock([i],n);return e.setTextRange(a,r),a},convertToFunctionExpression:function(r){if(!r.body)return e.Debug.fail(\"Cannot convert a FunctionDeclaration without a body\");var n=t.createFunctionExpression(r.modifiers,r.asteriskToken,r.name,r.typeParameters,r.parameters,r.type,r.body);e.setOriginalNode(n,r),e.setTextRange(n,r),e.getStartsOnNewLine(r)&&e.setStartsOnNewLine(n,!0);return n},convertToArrayAssignmentElement:r,convertToObjectAssignmentElement:n,convertToAssignmentPattern:i,convertToObjectAssignmentPattern:a,convertToArrayAssignmentPattern:o,convertToAssignmentElementTarget:s};function r(r){if(e.isBindingElement(r)){if(r.dotDotDotToken)return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createSpreadElement(r.name),r),r);var n=s(r.name);return r.initializer?e.setOriginalNode(e.setTextRange(t.createAssignment(n,r.initializer),r),r):n}return e.cast(r,e.isExpression)}function n(r){if(e.isBindingElement(r)){if(r.dotDotDotToken)return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createSpreadAssignment(r.name),r),r);if(r.propertyName){var n=s(r.name);return e.setOriginalNode(e.setTextRange(t.createPropertyAssignment(r.propertyName,r.initializer?t.createAssignment(n,r.initializer):n),r),r)}return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createShorthandPropertyAssignment(r.name,r.initializer),r),r)}return e.cast(r,e.isObjectLiteralElementLike)}function i(e){switch(e.kind){case 197:case 199:return o(e);case 196:case 200:return a(e)}}function a(r){return e.isObjectBindingPattern(r)?e.setOriginalNode(e.setTextRange(t.createObjectLiteralExpression(e.map(r.elements,n)),r),r):e.cast(r,e.isObjectLiteralExpression)}function o(n){return e.isArrayBindingPattern(n)?e.setOriginalNode(e.setTextRange(t.createArrayLiteralExpression(e.map(n.elements,r)),n),n):e.cast(n,e.isArrayLiteralExpression)}function s(t){return e.isBindingPattern(t)?i(t):e.cast(t,e.isExpression)}},e.nullNodeConverters={convertToFunctionBlock:e.notImplemented,convertToFunctionExpression:e.notImplemented,convertToArrayAssignmentElement:e.notImplemented,convertToObjectAssignmentElement:e.notImplemented,convertToAssignmentPattern:e.notImplemented,convertToObjectAssignmentPattern:e.notImplemented,convertToArrayAssignmentPattern:e.notImplemented,convertToAssignmentElementTarget:e.notImplemented}}(u||(u={})),function(e){var t,n=0;function i(i,p){var f=8&i?a:o,g=e.memoize((function(){return 1&i?e.nullParenthesizerRules:e.createParenthesizerRules(A)})),m=e.memoize((function(){return 2&i?e.nullNodeConverters:e.createNodeConverters(A)})),y=e.memoizeOne((function(e){return function(t,r){return Nt(t,e,r)}})),h=e.memoizeOne((function(e){return function(t){return At(e,t)}})),D=e.memoizeOne((function(e){return function(t){return Ft(t,e)}})),x=e.memoizeOne((function(e){return function(){return function(e){return N(e)}(e)}})),b=e.memoizeOne((function(e){return function(t){return Gr(e,t)}})),S=e.memoizeOne((function(e){return function(t,r){return function(e,t,r){return t.type!==r?f(Gr(e,r),t):t}(e,t,r)}})),E=e.memoizeOne((function(e){return function(t,r){return dn(e,t,r)}})),T=e.memoizeOne((function(e){return function(t,r,n){return function(e,t,r,n){void 0===r&&(r=Zr(t));return t.tagName!==r||t.comment!==n?f(dn(e,r,n),t):t}(e,t,r,n)}})),C=e.memoizeOne((function(e){return function(t,r,n){return _n(e,t,r,n)}})),k=e.memoizeOne((function(e){return function(t,r,n,i){return function(e,t,r,n,i){void 0===r&&(r=Zr(t));return t.tagName!==r||t.typeExpression!==n||t.comment!==i?f(_n(e,r,n,i),t):t}(e,t,r,n,i)}})),A={get parenthesizer(){return g()},get converters(){return m()},createNodeArray:F,createNumericLiteral:U,createBigIntLiteral:V,createStringLiteral:W,createStringLiteralFromNode:function(t){var r=q(e.getTextOfIdentifierOrLiteral(t),void 0);return r.textSourceNode=t,r},createRegularExpressionLiteral:H,createLiteralLikeNode:function(e,t){switch(e){case 8:return U(t,0);case 9:return V(t);case 10:return W(t,void 0);case 11:return Dn(t,!1);case 12:return Dn(t,!0);case 13:return H(t);case 14:return Mt(e,t,void 0,0)}},createIdentifier:X,updateIdentifier:function(t,r){return t.typeArguments!==r?f(X(e.idText(t),r),t):t},createTempVariable:Q,createLoopVariable:function(){return Y(\"\",2)},createUniqueName:function(t,r){void 0===r&&(r=0);return e.Debug.assert(!(7&r),\"Argument out of range: flags\"),e.Debug.assert(32!=(48&r),\"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic\"),Y(t,3|r)},getGeneratedNameForNode:$,createPrivateIdentifier:function(t){e.startsWith(t,\"#\")||e.Debug.fail(\"First character of private identifier must be #: \"+t);var r=p.createBasePrivateIdentifierNode(79);return r.escapedText=e.escapeLeadingUnderscores(t),r.transformFlags|=4194304,r},createToken:ee,createSuper:function(){return ee(105)},createThis:te,createNull:function(){return ee(103)},createTrue:re,createFalse:ne,createModifier:ie,createModifiersFromModifierFlags:ae,createQualifiedName:oe,updateQualifiedName:function(e,t,r){return e.left!==t||e.right!==r?f(oe(t,r),e):e},createComputedPropertyName:se,updateComputedPropertyName:function(e,t){return e.expression!==t?f(se(t),e):e},createTypeParameterDeclaration:ce,updateTypeParameterDeclaration:function(e,t,r,n){return e.name!==t||e.constraint!==r||e.default!==n?f(ce(t,r,n),e):e},createParameterDeclaration:ue,updateParameterDeclaration:le,createDecorator:de,updateDecorator:function(e,t){return e.expression!==t?f(de(t),e):e},createPropertySignature:_e,updatePropertySignature:pe,createPropertyDeclaration:fe,updatePropertyDeclaration:ge,createMethodSignature:me,updateMethodSignature:ye,createMethodDeclaration:ve,updateMethodDeclaration:he,createConstructorDeclaration:De,updateConstructorDeclaration:xe,createGetAccessorDeclaration:be,updateGetAccessorDeclaration:Se,createSetAccessorDeclaration:Ee,updateSetAccessorDeclaration:Te,createCallSignature:Ce,updateCallSignature:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(Ce(t,r,n),e):e},createConstructSignature:ke,updateConstructSignature:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(ke(t,r,n),e):e},createIndexSignature:Ae,updateIndexSignature:Fe,createTemplateLiteralTypeSpan:Ne,updateTemplateLiteralTypeSpan:function(e,t,r){return e.type!==t||e.literal!==r?f(Ne(t,r),e):e},createKeywordTypeNode:function(e){return ee(e)},createTypePredicateNode:Pe,updateTypePredicateNode:function(e,t,r,n){return e.assertsModifier!==t||e.parameterName!==r||e.type!==n?f(Pe(t,r,n),e):e},createTypeReferenceNode:we,updateTypeReferenceNode:function(e,t,r){return e.typeName!==t||e.typeArguments!==r?f(we(t,r),e):e},createFunctionTypeNode:Ie,updateFunctionTypeNode:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(Ie(t,r,n),e):e},createConstructorTypeNode:Oe,updateConstructorTypeNode:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(Oe(t,r,n),e):e},createTypeQueryNode:Me,updateTypeQueryNode:function(e,t){return e.exprName!==t?f(Me(t),e):e},createTypeLiteralNode:Le,updateTypeLiteralNode:function(e,t){return e.members!==t?f(Le(t),e):e},createArrayTypeNode:Re,updateArrayTypeNode:function(e,t){return e.elementType!==t?f(Re(t),e):e},createTupleTypeNode:Be,updateTupleTypeNode:function(e,t){return e.elements!==t?f(Be(t),e):e},createNamedTupleMember:je,updateNamedTupleMember:function(e,t,r,n,i){return e.dotDotDotToken!==t||e.name!==r||e.questionToken!==n||e.type!==i?f(je(t,r,n,i),e):e},createOptionalTypeNode:Je,updateOptionalTypeNode:function(e,t){return e.type!==t?f(Je(t),e):e},createRestTypeNode:Ke,updateRestTypeNode:function(e,t){return e.type!==t?f(Ke(t),e):e},createUnionTypeNode:function(e){return ze(182,e)},updateUnionTypeNode:function(e,t){return Ue(e,t)},createIntersectionTypeNode:function(e){return ze(183,e)},updateIntersectionTypeNode:function(e,t){return Ue(e,t)},createConditionalTypeNode:Ve,updateConditionalTypeNode:function(e,t,r,n,i){return e.checkType!==t||e.extendsType!==r||e.trueType!==n||e.falseType!==i?f(Ve(t,r,n,i),e):e},createInferTypeNode:qe,updateInferTypeNode:function(e,t){return e.typeParameter!==t?f(qe(t),e):e},createImportTypeNode:He,updateImportTypeNode:function(e,t,r,n,i){void 0===i&&(i=e.isTypeOf);return e.argument!==t||e.qualifier!==r||e.typeArguments!==n||e.isTypeOf!==i?f(He(t,r,n,i),e):e},createParenthesizedType:Ge,updateParenthesizedType:function(e,t){return e.type!==t?f(Ge(t),e):e},createThisTypeNode:function(){var e=N(187);return e.transformFlags=1,e},createTypeOperatorNode:Ye,updateTypeOperatorNode:function(e,t){return e.type!==t?f(Ye(e.operator,t),e):e},createIndexedAccessTypeNode:Xe,updateIndexedAccessTypeNode:function(e,t,r){return e.objectType!==t||e.indexType!==r?f(Xe(t,r),e):e},createMappedTypeNode:Qe,updateMappedTypeNode:function(e,t,r,n,i,a){return e.readonlyToken!==t||e.typeParameter!==r||e.nameType!==n||e.questionToken!==i||e.type!==a?f(Qe(t,r,n,i,a),e):e},createLiteralTypeNode:$e,updateLiteralTypeNode:function(e,t){return e.literal!==t?f($e(t),e):e},createTemplateLiteralType:We,updateTemplateLiteralType:function(e,t,r){return e.head!==t||e.templateSpans!==r?f(We(t,r),e):e},createObjectBindingPattern:Ze,updateObjectBindingPattern:function(e,t){return e.elements!==t?f(Ze(t),e):e},createArrayBindingPattern:et,updateArrayBindingPattern:function(e,t){return e.elements!==t?f(et(t),e):e},createBindingElement:tt,updateBindingElement:function(e,t,r,n,i){return e.propertyName!==r||e.dotDotDotToken!==t||e.name!==n||e.initializer!==i?f(tt(t,r,n,i),e):e},createArrayLiteralExpression:nt,updateArrayLiteralExpression:function(e,t){return e.elements!==t?f(nt(t,e.multiLine),e):e},createObjectLiteralExpression:it,updateObjectLiteralExpression:function(e,t){return e.properties!==t?f(it(t,e.multiLine),e):e},createPropertyAccessExpression:4&i?function(t,r){return e.setEmitFlags(at(t,r),131072)}:at,updatePropertyAccessExpression:function(t,r,n){if(e.isPropertyAccessChain(t))return st(t,r,t.questionDotToken,e.cast(n,e.isIdentifier));return t.expression!==r||t.name!==n?f(at(r,n),t):t},createPropertyAccessChain:4&i?function(t,r,n){return e.setEmitFlags(ot(t,r,n),131072)}:ot,updatePropertyAccessChain:st,createElementAccessExpression:ct,updateElementAccessExpression:function(t,r,n){if(e.isElementAccessChain(t))return lt(t,r,t.questionDotToken,n);return t.expression!==r||t.argumentExpression!==n?f(ct(r,n),t):t},createElementAccessChain:ut,updateElementAccessChain:lt,createCallExpression:dt,updateCallExpression:function(t,r,n,i){if(e.isCallChain(t))return pt(t,r,t.questionDotToken,n,i);return t.expression!==r||t.typeArguments!==n||t.arguments!==i?f(dt(r,n,i),t):t},createCallChain:_t,updateCallChain:pt,createNewExpression:ft,updateNewExpression:function(e,t,r,n){return e.expression!==t||e.typeArguments!==r||e.arguments!==n?f(ft(t,r,n),e):e},createTaggedTemplateExpression:gt,updateTaggedTemplateExpression:function(e,t,r,n){return e.tag!==t||e.typeArguments!==r||e.template!==n?f(gt(t,r,n),e):e},createTypeAssertion:mt,updateTypeAssertion:yt,createParenthesizedExpression:vt,updateParenthesizedExpression:ht,createFunctionExpression:Dt,updateFunctionExpression:xt,createArrowFunction:bt,updateArrowFunction:St,createDeleteExpression:Et,updateDeleteExpression:function(e,t){return e.expression!==t?f(Et(t),e):e},createTypeOfExpression:Tt,updateTypeOfExpression:function(e,t){return e.expression!==t?f(Tt(t),e):e},createVoidExpression:Ct,updateVoidExpression:function(e,t){return e.expression!==t?f(Ct(t),e):e},createAwaitExpression:kt,updateAwaitExpression:function(e,t){return e.expression!==t?f(kt(t),e):e},createPrefixUnaryExpression:At,updatePrefixUnaryExpression:function(e,t){return e.operand!==t?f(At(e.operator,t),e):e},createPostfixUnaryExpression:Ft,updatePostfixUnaryExpression:function(e,t){return e.operand!==t?f(Ft(t,e.operator),e):e},createBinaryExpression:Nt,updateBinaryExpression:function(e,t,r,n){return e.left!==t||e.operatorToken!==r||e.right!==n?f(Nt(t,r,n),e):e},createConditionalExpression:wt,updateConditionalExpression:function(e,t,r,n,i,a){return e.condition!==t||e.questionToken!==r||e.whenTrue!==n||e.colonToken!==i||e.whenFalse!==a?f(wt(t,r,n,i,a),e):e},createTemplateExpression:It,updateTemplateExpression:function(e,t,r){return e.head!==t||e.templateSpans!==r?f(It(t,r),e):e},createTemplateHead:function(e,t,r){return Ot(15,e,t,r)},createTemplateMiddle:function(e,t,r){return Ot(16,e,t,r)},createTemplateTail:function(e,t,r){return Ot(17,e,t,r)},createNoSubstitutionTemplateLiteral:function(e,t,r){return Ot(14,e,t,r)},createTemplateLiteralLikeNode:Mt,createYieldExpression:Lt,updateYieldExpression:function(e,t,r){return e.expression!==r||e.asteriskToken!==t?f(Lt(t,r),e):e},createSpreadElement:Rt,updateSpreadElement:function(e,t){return e.expression!==t?f(Rt(t),e):e},createClassExpression:Bt,updateClassExpression:jt,createOmittedExpression:function(){return rt(222)},createExpressionWithTypeArguments:Jt,updateExpressionWithTypeArguments:function(e,t,r){return e.expression!==t||e.typeArguments!==r?f(Jt(t,r),e):e},createAsExpression:Kt,updateAsExpression:zt,createNonNullExpression:Ut,updateNonNullExpression:Vt,createNonNullChain:qt,updateNonNullChain:Wt,createMetaProperty:Ht,updateMetaProperty:function(e,t){return e.name!==t?f(Ht(e.keywordToken,t),e):e},createTemplateSpan:Gt,updateTemplateSpan:function(e,t,r){return e.expression!==t||e.literal!==r?f(Gt(t,r),e):e},createSemicolonClassElement:function(){var e=N(229);return e.transformFlags|=256,e},createBlock:Yt,updateBlock:function(e,t){return e.statements!==t?f(Yt(t,e.multiLine),e):e},createVariableStatement:Xt,updateVariableStatement:Qt,createEmptyStatement:$t,createExpressionStatement:Zt,updateExpressionStatement:function(e,t){return e.expression!==t?f(Zt(t),e):e},createIfStatement:er,updateIfStatement:function(e,t,r,n){return e.expression!==t||e.thenStatement!==r||e.elseStatement!==n?f(er(t,r,n),e):e},createDoStatement:tr,updateDoStatement:function(e,t,r){return e.statement!==t||e.expression!==r?f(tr(t,r),e):e},createWhileStatement:rr,updateWhileStatement:function(e,t,r){return e.expression!==t||e.statement!==r?f(rr(t,r),e):e},createForStatement:nr,updateForStatement:function(e,t,r,n,i){return e.initializer!==t||e.condition!==r||e.incrementor!==n||e.statement!==i?f(nr(t,r,n,i),e):e},createForInStatement:ir,updateForInStatement:function(e,t,r,n){return e.initializer!==t||e.expression!==r||e.statement!==n?f(ir(t,r,n),e):e},createForOfStatement:ar,updateForOfStatement:function(e,t,r,n,i){return e.awaitModifier!==t||e.initializer!==r||e.expression!==n||e.statement!==i?f(ar(t,r,n,i),e):e},createContinueStatement:or,updateContinueStatement:function(e,t){return e.label!==t?f(or(t),e):e},createBreakStatement:sr,updateBreakStatement:function(e,t){return e.label!==t?f(sr(t),e):e},createReturnStatement:cr,updateReturnStatement:function(e,t){return e.expression!==t?f(cr(t),e):e},createWithStatement:ur,updateWithStatement:function(e,t,r){return e.expression!==t||e.statement!==r?f(ur(t,r),e):e},createSwitchStatement:lr,updateSwitchStatement:function(e,t,r){return e.expression!==t||e.caseBlock!==r?f(lr(t,r),e):e},createLabeledStatement:dr,updateLabeledStatement:_r,createThrowStatement:pr,updateThrowStatement:function(e,t){return e.expression!==t?f(pr(t),e):e},createTryStatement:fr,updateTryStatement:function(e,t,r,n){return e.tryBlock!==t||e.catchClause!==r||e.finallyBlock!==n?f(fr(t,r,n),e):e},createDebuggerStatement:function(){return N(248)},createVariableDeclaration:gr,updateVariableDeclaration:function(e,t,r,n,i){return e.name!==t||e.type!==n||e.exclamationToken!==r||e.initializer!==i?f(gr(t,r,n,i),e):e},createVariableDeclarationList:mr,updateVariableDeclarationList:function(e,t){return e.declarations!==t?f(mr(t,e.flags),e):e},createFunctionDeclaration:yr,updateFunctionDeclaration:vr,createClassDeclaration:hr,updateClassDeclaration:Dr,createInterfaceDeclaration:xr,updateInterfaceDeclaration:br,createTypeAliasDeclaration:Sr,updateTypeAliasDeclaration:Er,createEnumDeclaration:Tr,updateEnumDeclaration:Cr,createModuleDeclaration:kr,updateModuleDeclaration:Ar,createModuleBlock:Fr,updateModuleBlock:function(e,t){return e.statements!==t?f(Fr(t),e):e},createCaseBlock:Nr,updateCaseBlock:function(e,t){return e.clauses!==t?f(Nr(t),e):e},createNamespaceExportDeclaration:Pr,updateNamespaceExportDeclaration:function(e,t){return e.name!==t?f(Pr(t),e):e},createImportEqualsDeclaration:wr,updateImportEqualsDeclaration:Ir,createImportDeclaration:Or,updateImportDeclaration:Mr,createImportClause:Lr,updateImportClause:function(e,t,r,n){return e.isTypeOnly!==t||e.name!==r||e.namedBindings!==n?f(Lr(t,r,n),e):e},createNamespaceImport:Rr,updateNamespaceImport:function(e,t){return e.name!==t?f(Rr(t),e):e},createNamespaceExport:Br,updateNamespaceExport:function(e,t){return e.name!==t?f(Br(t),e):e},createNamedImports:jr,updateNamedImports:function(e,t){return e.elements!==t?f(jr(t),e):e},createImportSpecifier:Jr,updateImportSpecifier:function(e,t,r){return e.propertyName!==t||e.name!==r?f(Jr(t,r),e):e},createExportAssignment:Kr,updateExportAssignment:zr,createExportDeclaration:Ur,updateExportDeclaration:Vr,createNamedExports:qr,updateNamedExports:function(e,t){return e.elements!==t?f(qr(t),e):e},createExportSpecifier:Wr,updateExportSpecifier:function(e,t,r){return e.propertyName!==t||e.name!==r?f(Wr(t,r),e):e},createMissingDeclaration:function(){return P(271,void 0,void 0)},createExternalModuleReference:Hr,updateExternalModuleReference:function(e,t){return e.expression!==t?f(Hr(t),e):e},get createJSDocAllType(){return x(303)},get createJSDocUnknownType(){return x(304)},get createJSDocNonNullableType(){return b(306)},get updateJSDocNonNullableType(){return S(306)},get createJSDocNullableType(){return b(305)},get updateJSDocNullableType(){return S(305)},get createJSDocOptionalType(){return b(307)},get updateJSDocOptionalType(){return S(307)},get createJSDocVariadicType(){return b(309)},get updateJSDocVariadicType(){return S(309)},get createJSDocNamepathType(){return b(310)},get updateJSDocNamepathType(){return S(310)},createJSDocFunctionType:Yr,updateJSDocFunctionType:function(e,t,r){return e.parameters!==t||e.type!==r?f(Yr(t,r),e):e},createJSDocTypeLiteral:Xr,updateJSDocTypeLiteral:function(e,t,r){return e.jsDocPropertyTags!==t||e.isArrayType!==r?f(Xr(t,r),e):e},createJSDocTypeExpression:Qr,updateJSDocTypeExpression:function(e,t){return e.type!==t?f(Qr(t),e):e},createJSDocSignature:$r,updateJSDocSignature:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?f($r(t,r,n),e):e},createJSDocTemplateTag:tn,updateJSDocTemplateTag:function(e,t,r,n,i){void 0===t&&(t=Zr(e));return e.tagName!==t||e.constraint!==r||e.typeParameters!==n||e.comment!==i?f(tn(t,r,n,i),e):e},createJSDocTypedefTag:rn,updateJSDocTypedefTag:function(e,t,r,n,i){void 0===t&&(t=Zr(e));return e.tagName!==t||e.typeExpression!==r||e.fullName!==n||e.comment!==i?f(rn(t,r,n,i),e):e},createJSDocParameterTag:nn,updateJSDocParameterTag:function(e,t,r,n,i,a,o){void 0===t&&(t=Zr(e));return e.tagName!==t||e.name!==r||e.isBracketed!==n||e.typeExpression!==i||e.isNameFirst!==a||e.comment!==o?f(nn(t,r,n,i,a,o),e):e},createJSDocPropertyTag:an,updateJSDocPropertyTag:function(e,t,r,n,i,a,o){void 0===t&&(t=Zr(e));return e.tagName!==t||e.name!==r||e.isBracketed!==n||e.typeExpression!==i||e.isNameFirst!==a||e.comment!==o?f(an(t,r,n,i,a,o),e):e},createJSDocCallbackTag:on,updateJSDocCallbackTag:function(e,t,r,n,i){void 0===t&&(t=Zr(e));return e.tagName!==t||e.typeExpression!==r||e.fullName!==n||e.comment!==i?f(on(t,r,n,i),e):e},createJSDocAugmentsTag:sn,updateJSDocAugmentsTag:function(e,t,r,n){void 0===t&&(t=Zr(e));return e.tagName!==t||e.class!==r||e.comment!==n?f(sn(t,r,n),e):e},createJSDocImplementsTag:cn,updateJSDocImplementsTag:function(e,t,r,n){void 0===t&&(t=Zr(e));return e.tagName!==t||e.class!==r||e.comment!==n?f(cn(t,r,n),e):e},createJSDocSeeTag:un,updateJSDocSeeTag:function(e,t,r,n){return e.tagName!==t||e.name!==r||e.comment!==n?f(un(t,r,n),e):e},createJSDocNameReference:ln,updateJSDocNameReference:function(e,t){return e.name!==t?f(ln(t),e):e},get createJSDocTypeTag(){return C(329)},get updateJSDocTypeTag(){return k(329)},get createJSDocReturnTag(){return C(327)},get updateJSDocReturnTag(){return k(327)},get createJSDocThisTag(){return C(328)},get updateJSDocThisTag(){return k(328)},get createJSDocEnumTag(){return C(325)},get updateJSDocEnumTag(){return k(325)},get createJSDocAuthorTag(){return E(317)},get updateJSDocAuthorTag(){return T(317)},get createJSDocClassTag(){return E(319)},get updateJSDocClassTag(){return T(319)},get createJSDocPublicTag(){return E(320)},get updateJSDocPublicTag(){return T(320)},get createJSDocPrivateTag(){return E(321)},get updateJSDocPrivateTag(){return T(321)},get createJSDocProtectedTag(){return E(322)},get updateJSDocProtectedTag(){return T(322)},get createJSDocReadonlyTag(){return E(323)},get updateJSDocReadonlyTag(){return T(323)},get createJSDocDeprecatedTag(){return E(318)},get updateJSDocDeprecatedTag(){return T(318)},createJSDocUnknownTag:pn,updateJSDocUnknownTag:function(e,t,r){return e.tagName!==t||e.comment!==r?f(pn(t,r),e):e},createJSDocComment:fn,updateJSDocComment:function(e,t,r){return e.comment!==t||e.tags!==r?f(fn(t,r),e):e},createJsxElement:gn,updateJsxElement:function(e,t,r,n){return e.openingElement!==t||e.children!==r||e.closingElement!==n?f(gn(t,r,n),e):e},createJsxSelfClosingElement:mn,updateJsxSelfClosingElement:function(e,t,r,n){return e.tagName!==t||e.typeArguments!==r||e.attributes!==n?f(mn(t,r,n),e):e},createJsxOpeningElement:yn,updateJsxOpeningElement:function(e,t,r,n){return e.tagName!==t||e.typeArguments!==r||e.attributes!==n?f(yn(t,r,n),e):e},createJsxClosingElement:vn,updateJsxClosingElement:function(e,t){return e.tagName!==t?f(vn(t),e):e},createJsxFragment:hn,createJsxText:Dn,updateJsxText:function(e,t,r){return e.text!==t||e.containsOnlyTriviaWhiteSpaces!==r?f(Dn(t,r),e):e},createJsxOpeningFragment:function(){var e=N(278);return e.transformFlags|=2,e},createJsxJsxClosingFragment:function(){var e=N(279);return e.transformFlags|=2,e},updateJsxFragment:function(e,t,r,n){return e.openingFragment!==t||e.children!==r||e.closingFragment!==n?f(hn(t,r,n),e):e},createJsxAttribute:xn,updateJsxAttribute:function(e,t,r){return e.name!==t||e.initializer!==r?f(xn(t,r),e):e},createJsxAttributes:bn,updateJsxAttributes:function(e,t){return e.properties!==t?f(bn(t),e):e},createJsxSpreadAttribute:Sn,updateJsxSpreadAttribute:function(e,t){return e.expression!==t?f(Sn(t),e):e},createJsxExpression:En,updateJsxExpression:function(e,t){return e.expression!==t?f(En(e.dotDotDotToken,t),e):e},createCaseClause:Tn,updateCaseClause:function(e,t,r){return e.expression!==t||e.statements!==r?f(Tn(t,r),e):e},createDefaultClause:Cn,updateDefaultClause:function(e,t){return e.statements!==t?f(Cn(t),e):e},createHeritageClause:kn,updateHeritageClause:function(e,t){return e.types!==t?f(kn(e.token,t),e):e},createCatchClause:An,updateCatchClause:function(e,t,r){return e.variableDeclaration!==t||e.block!==r?f(An(t,r),e):e},createPropertyAssignment:Fn,updatePropertyAssignment:function(e,t,r){return e.name!==t||e.initializer!==r?function(e,t){t.decorators&&(e.decorators=t.decorators);t.modifiers&&(e.modifiers=t.modifiers);t.questionToken&&(e.questionToken=t.questionToken);t.exclamationToken&&(e.exclamationToken=t.exclamationToken);return f(e,t)}(Fn(t,r),e):e},createShorthandPropertyAssignment:Nn,updateShorthandPropertyAssignment:function(e,t,r){return e.name!==t||e.objectAssignmentInitializer!==r?function(e,t){t.decorators&&(e.decorators=t.decorators);t.modifiers&&(e.modifiers=t.modifiers);t.equalsToken&&(e.equalsToken=t.equalsToken);t.questionToken&&(e.questionToken=t.questionToken);t.exclamationToken&&(e.exclamationToken=t.exclamationToken);return f(e,t)}(Nn(t,r),e):e},createSpreadAssignment:Pn,updateSpreadAssignment:function(e,t){return e.expression!==t?f(Pn(t),e):e},createEnumMember:wn,updateEnumMember:function(e,t,r){return e.name!==t||e.initializer!==r?f(wn(t,r),e):e},createSourceFile:function(e,t,r){var n=p.createBaseSourceFileNode(297);return n.statements=F(e),n.endOfFileToken=t,n.flags|=r,n.fileName=\"\",n.text=\"\",n.languageVersion=0,n.languageVariant=0,n.scriptKind=0,n.isDeclarationFile=!1,n.hasNoDefaultLib=!1,n.transformFlags|=d(n.statements)|l(n.endOfFileToken),n},updateSourceFile:function(t,r,n,i,a,o,s){void 0===n&&(n=t.isDeclarationFile);void 0===i&&(i=t.referencedFiles);void 0===a&&(a=t.typeReferenceDirectives);void 0===o&&(o=t.hasNoDefaultLib);void 0===s&&(s=t.libReferenceDirectives);return t.statements!==r||t.isDeclarationFile!==n||t.referencedFiles!==i||t.typeReferenceDirectives!==a||t.hasNoDefaultLib!==o||t.libReferenceDirectives!==s?f(function(t,r,n,i,a,o,s){var c=p.createBaseSourceFileNode(297);for(var u in t)\"emitNode\"!==u&&!e.hasProperty(c,u)&&e.hasProperty(t,u)&&(c[u]=t[u]);return c.flags|=t.flags,c.statements=F(r),c.endOfFileToken=t.endOfFileToken,c.isDeclarationFile=n,c.referencedFiles=i,c.typeReferenceDirectives=a,c.hasNoDefaultLib=o,c.libReferenceDirectives=s,c.transformFlags=d(c.statements)|l(c.endOfFileToken),c}(t,r,n,i,a,o,s),t):t},createBundle:In,updateBundle:function(t,r,n){void 0===n&&(n=e.emptyArray);return t.sourceFiles!==r||t.prepends!==n?f(In(r,n),t):t},createUnparsedSource:function(t,r,n){var i=N(299);return i.prologues=t,i.syntheticReferences=r,i.texts=n,i.fileName=\"\",i.text=\"\",i.referencedFiles=e.emptyArray,i.libReferenceDirectives=e.emptyArray,i.getLineAndCharacterOfPosition=function(t){return e.getLineAndCharacterOfPosition(i,t)},i},createUnparsedPrologue:function(e){return On(292,e)},createUnparsedPrepend:function(e,t){var r=On(293,e);return r.texts=t,r},createUnparsedTextLike:function(e,t){return On(t?295:294,e)},createUnparsedSyntheticReference:function(e){var t=N(296);return t.data=e.data,t.section=e,t},createInputFiles:function(){var e=N(300);return e.javascriptText=\"\",e.declarationText=\"\",e},createSyntheticExpression:function(e,t,r){void 0===t&&(t=!1);var n=N(227);return n.type=e,n.isSpread=t,n.tupleNameSource=r,n},createSyntaxList:function(e){var t=N(334);return t._children=e,t},createNotEmittedStatement:function(t){var r=N(335);return r.original=t,e.setTextRange(r,t),r},createPartiallyEmittedExpression:Mn,updatePartiallyEmittedExpression:Ln,createCommaListExpression:Bn,updateCommaListExpression:function(e,t){return e.elements!==t?f(Bn(t),e):e},createEndOfDeclarationMarker:function(e){var t=N(339);return t.emitNode={},t.original=e,t},createMergeDeclarationMarker:function(e){var t=N(338);return t.emitNode={},t.original=e,t},createSyntheticReferenceExpression:jn,updateSyntheticReferenceExpression:function(e,t,r){return e.expression!==t||e.thisArg!==r?f(jn(t,r),e):e},cloneNode:Jn,get createComma(){return y(27)},get createAssignment(){return y(62)},get createLogicalOr(){return y(56)},get createLogicalAnd(){return y(55)},get createBitwiseOr(){return y(51)},get createBitwiseXor(){return y(52)},get createBitwiseAnd(){return y(50)},get createStrictEquality(){return y(36)},get createStrictInequality(){return y(37)},get createEquality(){return y(34)},get createInequality(){return y(35)},get createLessThan(){return y(29)},get createLessThanEquals(){return y(32)},get createGreaterThan(){return y(31)},get createGreaterThanEquals(){return y(33)},get createLeftShift(){return y(47)},get createRightShift(){return y(48)},get createUnsignedRightShift(){return y(49)},get createAdd(){return y(39)},get createSubtract(){return y(40)},get createMultiply(){return y(41)},get createDivide(){return y(43)},get createModulo(){return y(44)},get createExponent(){return y(42)},get createPrefixPlus(){return h(39)},get createPrefixMinus(){return h(40)},get createPrefixIncrement(){return h(45)},get createPrefixDecrement(){return h(46)},get createBitwiseNot(){return h(54)},get createLogicalNot(){return h(53)},get createPostfixIncrement(){return D(45)},get createPostfixDecrement(){return D(46)},createImmediatelyInvokedFunctionExpression:function(e,t,r){return dt(Dt(void 0,void 0,void 0,void 0,t?[t]:[],void 0,Yt(e,!0)),void 0,r?[r]:[])},createImmediatelyInvokedArrowFunction:function(e,t,r){return dt(bt(void 0,void 0,t?[t]:[],void 0,void 0,Yt(e,!0)),void 0,r?[r]:[])},createVoidZero:Kn,createExportDefault:function(e){return Kr(void 0,void 0,!1,e)},createExternalModuleExport:function(e){return Ur(void 0,void 0,!1,qr([Wr(void 0,e)]))},createTypeCheck:function(e,t){return\"undefined\"===t?A.createStrictEquality(e,Kn()):A.createStrictEquality(Tt(e),W(t))},createMethodCall:zn,createGlobalMethodCall:Un,createFunctionBindCall:function(e,t,n){return zn(e,\"bind\",r([t],n))},createFunctionCallCall:function(e,t,n){return zn(e,\"call\",r([t],n))},createFunctionApplyCall:function(e,t,r){return zn(e,\"apply\",[t,r])},createArraySliceCall:function(e,t){return zn(e,\"slice\",void 0===t?[]:[ri(t)])},createArrayConcatCall:function(e,t){return zn(e,\"concat\",t)},createObjectDefinePropertyCall:function(e,t,r){return Un(\"Object\",\"defineProperty\",[e,ri(t),r])},createPropertyDescriptor:function(t,r){var n=[];Vn(n,\"enumerable\",ri(t.enumerable)),Vn(n,\"configurable\",ri(t.configurable));var i=Vn(n,\"writable\",ri(t.writable));i=Vn(n,\"value\",t.value)||i;var a=Vn(n,\"get\",t.get);return a=Vn(n,\"set\",t.set)||a,e.Debug.assert(!(i&&a),\"A PropertyDescriptor may not be both an accessor descriptor and a data descriptor.\"),it(n,!r)},createCallBinding:function(t,r,n,i){void 0===i&&(i=!1);var a,o,s=e.skipOuterExpressions(t,15);e.isSuperProperty(s)?(a=te(),o=s):e.isSuperKeyword(s)?(a=te(),o=void 0!==n&&n<2?e.setTextRange(X(\"_super\"),s):s):4096&e.getEmitFlags(s)?(a=Kn(),o=g().parenthesizeLeftSideOfAccess(s)):e.isPropertyAccessExpression(s)?qn(s.expression,i)?(a=Q(r),o=at(e.setTextRange(A.createAssignment(a,s.expression),s.expression),s.name),e.setTextRange(o,s)):(a=s.expression,o=s):e.isElementAccessExpression(s)?qn(s.expression,i)?(a=Q(r),o=ct(e.setTextRange(A.createAssignment(a,s.expression),s.expression),s.argumentExpression),e.setTextRange(o,s)):(a=s.expression,o=s):(a=Kn(),o=g().parenthesizeLeftSideOfAccess(t));return{target:o,thisArg:a}},inlineExpressions:function(t){return t.length>10?Bn(t):e.reduceLeft(t,A.createComma)},getInternalName:function(e,t,r){return Wn(e,t,r,49152)},getLocalName:function(e,t,r){return Wn(e,t,r,16384)},getExportName:Hn,getDeclarationName:function(e,t,r){return Wn(e,t,r)},getNamespaceMemberName:Gn,getExternalModuleOrNamespaceExportName:function(t,r,n,i){if(t&&e.hasSyntacticModifier(r,1))return Gn(t,Wn(r),n,i);return Hn(r,n,i)},restoreOuterExpressions:function t(r,n,i){void 0===i&&(i=15);if(r&&e.isOuterExpression(r,i)&&!function(t){return e.isParenthesizedExpression(t)&&e.nodeIsSynthesized(t)&&e.nodeIsSynthesized(e.getSourceMapRange(t))&&e.nodeIsSynthesized(e.getCommentRange(t))&&!e.some(e.getSyntheticLeadingComments(t))&&!e.some(e.getSyntheticTrailingComments(t))}(r))return function(e,t){switch(e.kind){case 207:return ht(e,t);case 206:return yt(e,e.type,t);case 224:return zt(e,t,e.type);case 225:return Vt(e,t);case 336:return Ln(e,t)}}(r,t(r.expression,n));return n},restoreEnclosingLabel:function t(r,n,i){if(!n)return r;var a=_r(n,n.label,e.isLabeledStatement(n.statement)?t(r,n.statement):r);i&&i(n);return a},createUseStrictPrologue:Xn,copyPrologue:function(e,t,r,n){var i=Qn(e,t,r);return $n(e,t,i,n)},copyStandardPrologue:Qn,copyCustomPrologue:$n,ensureUseStrict:function(t){if(!e.findUseStrictPrologue(t))return e.setTextRange(F(r([Xn()],t)),t);return t},liftToBlock:function(t){return e.Debug.assert(e.every(t,e.isStatementOrBlock),\"Cannot lift nodes to a Block.\"),e.singleOrUndefined(t)||Yt(t)},mergeLexicalEnvironment:function(t,n){if(!e.some(n))return t;var i=Zn(t,e.isPrologueDirective,0),a=Zn(t,e.isHoistedFunction,i),o=Zn(t,e.isHoistedVariableStatement,a),s=Zn(n,e.isPrologueDirective,0),c=Zn(n,e.isHoistedFunction,s),u=Zn(n,e.isHoistedVariableStatement,c),l=Zn(n,e.isCustomPrologue,u);e.Debug.assert(l===n.length,\"Expected declarations to be valid standard or custom prologues\");var d=e.isNodeArray(t)?t.slice():t;l>u&&d.splice.apply(d,r([o,0],n.slice(u,l)));u>c&&d.splice.apply(d,r([a,0],n.slice(c,u)));c>s&&d.splice.apply(d,r([i,0],n.slice(s,c)));if(s>0)if(0===i)d.splice.apply(d,r([0,0],n.slice(0,s)));else{for(var _=new e.Map,p=0;p=0;p--){var g=n[p];_.has(g.expression.text)||d.unshift(g)}}if(e.isNodeArray(t))return e.setTextRange(F(d,t.hasTrailingComma),t);return t},updateModifiers:function(t,r){var n;\"number\"==typeof r&&(r=ae(r));return e.isParameter(t)?le(t,t.decorators,r,t.dotDotDotToken,t.name,t.questionToken,t.type,t.initializer):e.isPropertySignature(t)?pe(t,r,t.name,t.questionToken,t.type):e.isPropertyDeclaration(t)?ge(t,t.decorators,r,t.name,null!==(n=t.questionToken)&&void 0!==n?n:t.exclamationToken,t.type,t.initializer):e.isMethodSignature(t)?ye(t,r,t.name,t.questionToken,t.typeParameters,t.parameters,t.type):e.isMethodDeclaration(t)?he(t,t.decorators,r,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,t.body):e.isConstructorDeclaration(t)?xe(t,t.decorators,r,t.parameters,t.body):e.isGetAccessorDeclaration(t)?Se(t,t.decorators,r,t.name,t.parameters,t.type,t.body):e.isSetAccessorDeclaration(t)?Te(t,t.decorators,r,t.name,t.parameters,t.body):e.isIndexSignatureDeclaration(t)?Fe(t,t.decorators,r,t.parameters,t.type):e.isFunctionExpression(t)?xt(t,r,t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body):e.isArrowFunction(t)?St(t,r,t.typeParameters,t.parameters,t.type,t.equalsGreaterThanToken,t.body):e.isClassExpression(t)?jt(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isVariableStatement(t)?Qt(t,r,t.declarationList):e.isFunctionDeclaration(t)?vr(t,t.decorators,r,t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body):e.isClassDeclaration(t)?Dr(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isInterfaceDeclaration(t)?br(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isTypeAliasDeclaration(t)?Er(t,t.decorators,r,t.name,t.typeParameters,t.type):e.isEnumDeclaration(t)?Cr(t,t.decorators,r,t.name,t.members):e.isModuleDeclaration(t)?Ar(t,t.decorators,r,t.name,t.body):e.isImportEqualsDeclaration(t)?Ir(t,t.decorators,r,t.name,t.moduleReference):e.isImportDeclaration(t)?Mr(t,t.decorators,r,t.importClause,t.moduleSpecifier):e.isExportAssignment(t)?zr(t,t.decorators,r,t.expression):e.isExportDeclaration(t)?Vr(t,t.decorators,r,t.isTypeOnly,t.exportClause,t.moduleSpecifier):e.Debug.assertNever(t)}};return A;function F(t,r){if(void 0===t||t===e.emptyArray)t=[];else if(e.isNodeArray(t))return void 0===t.transformFlags&&_(t),e.Debug.attachNodeArrayDebugInfo(t),t;var n=t.length,i=n>=1&&n<=4?t.slice():t;return e.setTextRangePosEnd(i,-1,-1),i.hasTrailingComma=!!r,_(i),e.Debug.attachNodeArrayDebugInfo(i),i}function N(e){return p.createBaseNode(e)}function P(e,t,r){var n=N(e);return n.decorators=ei(t),n.modifiers=ei(r),n.transformFlags|=d(n.decorators)|d(n.modifiers),n.symbol=void 0,n.localSymbol=void 0,n.locals=void 0,n.nextContainer=void 0,n}function w(t,r,n,i){var a=P(t,r,n);if(i=ti(i),a.name=i,i)switch(a.kind){case 165:case 167:case 168:case 163:case 288:if(e.isIdentifier(i)){a.transformFlags|=u(i);break}default:a.transformFlags|=l(i)}return a}function I(e,t,r,n,i){var a=w(e,t,r,n);return a.typeParameters=ei(i),a.transformFlags|=d(a.typeParameters),i&&(a.transformFlags|=1),a}function O(e,t,r,n,i,a,o){var s=I(e,t,r,n,i);return s.parameters=F(a),s.type=o,s.transformFlags|=d(s.parameters)|l(s.type),o&&(s.transformFlags|=1),s}function M(e,t){return t.typeArguments&&(e.typeArguments=t.typeArguments),f(e,t)}function L(e,t,r,n,i,a,o,s){var c=O(e,t,r,n,i,a,o);return c.body=s,c.transformFlags|=-8388609&l(c.body),s||(c.transformFlags|=1),c}function R(e,t){return t.exclamationToken&&(e.exclamationToken=t.exclamationToken),t.typeArguments&&(e.typeArguments=t.typeArguments),M(e,t)}function B(e,t,r,n,i,a){var o=I(e,t,r,n,i);return o.heritageClauses=ei(a),o.transformFlags|=d(o.heritageClauses),o}function j(e,t,r,n,i,a,o){var s=B(e,t,r,n,i,a);return s.members=F(o),s.transformFlags|=d(s.members),s}function J(e,t,r,n,i){var a=w(e,t,r,n);return a.initializer=i,a.transformFlags|=l(a.initializer),a}function K(e,t,r,n,i,a){var o=J(e,t,r,n,a);return o.type=i,o.transformFlags|=l(i),i&&(o.transformFlags|=1),o}function z(e,t){var r=Z(e);return r.text=t,r}function U(e,t){void 0===t&&(t=0);var r=z(8,\"number\"==typeof e?e+\"\":e);return r.numericLiteralFlags=t,384&t&&(r.transformFlags|=256),r}function V(t){var r=z(9,\"string\"==typeof t?t:e.pseudoBigIntToString(t)+\"n\");return r.transformFlags|=4,r}function q(e,t){var r=z(10,e);return r.singleQuote=t,r}function W(e,t,r){var n=q(e,t);return n.hasExtendedUnicodeEscape=r,r&&(n.transformFlags|=256),n}function H(e){return z(13,e)}function G(t,r){void 0===r&&t&&(r=e.stringToToken(t)),78===r&&(r=void 0);var n=p.createBaseIdentifierNode(78);return n.originalKeywordKind=r,n.escapedText=e.escapeLeadingUnderscores(t),n}function Y(e,t){var r=G(e,void 0);return r.autoGenerateFlags=t,r.autoGenerateId=n,n++,r}function X(e,t,r){var n=G(e,r);return t&&(n.typeArguments=F(t)),130===n.originalKeywordKind&&(n.transformFlags|=8388608),n}function Q(e,t){var r=1;t&&(r|=8);var n=Y(\"\",r);return e&&e(n),n}function $(t,r){void 0===r&&(r=0),e.Debug.assert(!(7&r),\"Argument out of range: flags\");var n=Y(t&&e.isIdentifier(t)?e.idText(t):\"\",4|r);return n.original=t,n}function Z(e){return p.createBaseTokenNode(e)}function ee(t){e.Debug.assert(t>=0&&t<=156,\"Invalid token\"),e.Debug.assert(t<=14||t>=17,\"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals.\"),e.Debug.assert(t<=8||t>=14,\"Invalid token. Use 'createLiteralLikeNode' to create literals.\"),e.Debug.assert(78!==t,\"Invalid token. Use 'createIdentifier' to create identifiers\");var r=Z(t),n=0;switch(t){case 129:n=96;break;case 122:case 120:case 121:case 142:case 125:case 133:case 84:case 128:case 144:case 155:case 141:case 145:case 147:case 131:case 148:case 113:case 152:case 150:n=1;break;case 123:case 105:n=256;break;case 107:n=4096}return n&&(r.transformFlags|=n),r}function te(){return ee(107)}function re(){return ee(109)}function ne(){return ee(94)}function ie(e){return ee(e)}function ae(e){var t=[];return 1&e&&t.push(ie(92)),2&e&&t.push(ie(133)),512&e&&t.push(ie(87)),2048&e&&t.push(ie(84)),4&e&&t.push(ie(122)),8&e&&t.push(ie(120)),16&e&&t.push(ie(121)),128&e&&t.push(ie(125)),32&e&&t.push(ie(123)),64&e&&t.push(ie(142)),256&e&&t.push(ie(129)),t}function oe(e,t){var r=N(157);return r.left=e,r.right=ti(t),r.transformFlags|=l(r.left)|u(r.right),r}function se(e){var t=N(158);return t.expression=g().parenthesizeExpressionOfComputedPropertyName(e),t.transformFlags|=33024|l(t.expression),t}function ce(e,t,r){var n=w(159,void 0,void 0,e);return n.constraint=t,n.default=r,n.transformFlags=1,n}function ue(t,r,n,i,a,o,s){var c=K(160,t,r,i,o,s&&g().parenthesizeExpressionForDisallowedComma(s));return c.dotDotDotToken=n,c.questionToken=a,e.isThisIdentifier(c.name)?c.transformFlags=1:(c.transformFlags|=l(c.dotDotDotToken)|l(c.questionToken),a&&(c.transformFlags|=1),92&e.modifiersToFlags(c.modifiers)&&(c.transformFlags|=2048),(s||n)&&(c.transformFlags|=256)),c}function le(e,t,r,n,i,a,o,s){return e.decorators!==t||e.modifiers!==r||e.dotDotDotToken!==n||e.name!==i||e.questionToken!==a||e.type!==o||e.initializer!==s?f(ue(t,r,n,i,a,o,s),e):e}function de(e){var t=N(161);return t.expression=g().parenthesizeLeftSideOfAccess(e),t.transformFlags|=2049|l(t.expression),t}function _e(e,t,r,n){var i=w(162,void 0,e,t);return i.type=n,i.questionToken=r,i.transformFlags=1,i}function pe(e,t,r,n,i){return e.modifiers!==t||e.name!==r||e.questionToken!==n||e.type!==i?f(_e(t,r,n,i),e):e}function fe(t,r,n,i,a,o){var s=K(163,t,r,n,a,o);return s.questionToken=i&&e.isQuestionToken(i)?i:void 0,s.exclamationToken=i&&e.isExclamationToken(i)?i:void 0,s.transformFlags|=l(s.questionToken)|l(s.exclamationToken)|4194304,(e.isComputedPropertyName(s.name)||e.hasStaticModifier(s)&&s.initializer)&&(s.transformFlags|=2048),(i||2&e.modifiersToFlags(s.modifiers))&&(s.transformFlags|=1),s}function ge(t,r,n,i,a,o,s){return t.decorators!==r||t.modifiers!==n||t.name!==i||t.questionToken!==(void 0!==a&&e.isQuestionToken(a)?a:void 0)||t.exclamationToken!==(void 0!==a&&e.isExclamationToken(a)?a:void 0)||t.type!==o||t.initializer!==s?f(fe(r,n,i,a,o,s),t):t}function me(e,t,r,n,i,a){var o=O(164,void 0,e,t,n,i,a);return o.questionToken=r,o.transformFlags=1,o}function ye(e,t,r,n,i,a,o){return e.modifiers!==t||e.name!==r||e.questionToken!==n||e.typeParameters!==i||e.parameters!==a||e.type!==o?M(me(t,r,n,i,a,o),e):e}function ve(t,r,n,i,a,o,s,c,u){var d=L(165,t,r,i,o,s,c,u);return d.asteriskToken=n,d.questionToken=a,d.transformFlags|=l(d.asteriskToken)|l(d.questionToken)|256,a&&(d.transformFlags|=1),256&e.modifiersToFlags(d.modifiers)?d.transformFlags|=n?32:64:n&&(d.transformFlags|=512),d}function he(e,t,r,n,i,a,o,s,c,u){return e.decorators!==t||e.modifiers!==r||e.asteriskToken!==n||e.name!==i||e.questionToken!==a||e.typeParameters!==o||e.parameters!==s||e.type!==c||e.body!==u?R(ve(t,r,n,i,a,o,s,c,u),e):e}function De(e,t,r,n){var i=L(166,e,t,void 0,void 0,r,void 0,n);return i.transformFlags|=256,i}function xe(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.parameters!==n||e.body!==i?R(De(t,r,n,i),e):e}function be(e,t,r,n,i,a){return L(167,e,t,r,void 0,n,i,a)}function Se(e,t,r,n,i,a,o){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.parameters!==i||e.type!==a||e.body!==o?R(be(t,r,n,i,a,o),e):e}function Ee(e,t,r,n,i){return L(168,e,t,r,void 0,n,void 0,i)}function Te(e,t,r,n,i,a){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.parameters!==i||e.body!==a?R(Ee(t,r,n,i,a),e):e}function Ce(e,t,r){var n=O(169,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function ke(e,t,r){var n=O(170,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function Ae(e,t,r,n){var i=O(171,e,t,void 0,void 0,r,n);return i.transformFlags=1,i}function Fe(e,t,r,n,i){return e.parameters!==n||e.type!==i||e.decorators!==t||e.modifiers!==r?M(Ae(t,r,n,i),e):e}function Ne(e,t){var r=N(194);return r.type=e,r.literal=t,r.transformFlags=1,r}function Pe(e,t,r){var n=N(172);return n.assertsModifier=e,n.parameterName=ti(t),n.type=r,n.transformFlags=1,n}function we(e,t){var r=N(173);return r.typeName=ti(e),r.typeArguments=t&&g().parenthesizeTypeArguments(F(t)),r.transformFlags=1,r}function Ie(e,t,r){var n=O(174,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function Oe(e,t,r){var n=O(175,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function Me(e){var t=N(176);return t.exprName=e,t.transformFlags=1,t}function Le(e){var t=N(177);return t.members=F(e),t.transformFlags=1,t}function Re(e){var t=N(178);return t.elementType=g().parenthesizeElementTypeOfArrayType(e),t.transformFlags=1,t}function Be(e){var t=N(179);return t.elements=F(e),t.transformFlags=1,t}function je(e,t,r,n){var i=N(192);return i.dotDotDotToken=e,i.name=t,i.questionToken=r,i.type=n,i.transformFlags=1,i}function Je(e){var t=N(180);return t.type=g().parenthesizeElementTypeOfArrayType(e),t.transformFlags=1,t}function Ke(e){var t=N(181);return t.type=e,t.transformFlags=1,t}function ze(e,t){var r=N(e);return r.types=g().parenthesizeConstituentTypesOfUnionOrIntersectionType(t),r.transformFlags=1,r}function Ue(e,t){return e.types!==t?f(ze(e.kind,t),e):e}function Ve(e,t,r,n){var i=N(184);return i.checkType=g().parenthesizeMemberOfConditionalType(e),i.extendsType=g().parenthesizeMemberOfConditionalType(t),i.trueType=r,i.falseType=n,i.transformFlags=1,i}function qe(e){var t=N(185);return t.typeParameter=e,t.transformFlags=1,t}function We(e,t){var r=N(193);return r.head=e,r.templateSpans=F(t),r.transformFlags=1,r}function He(e,t,r,n){void 0===n&&(n=!1);var i=N(195);return i.argument=e,i.qualifier=t,i.typeArguments=r&&g().parenthesizeTypeArguments(r),i.isTypeOf=n,i.transformFlags=1,i}function Ge(e){var t=N(186);return t.type=e,t.transformFlags=1,t}function Ye(e,t){var r=N(188);return r.operator=e,r.type=g().parenthesizeMemberOfElementType(t),r.transformFlags=1,r}function Xe(e,t){var r=N(189);return r.objectType=g().parenthesizeMemberOfElementType(e),r.indexType=t,r.transformFlags=1,r}function Qe(e,t,r,n,i){var a=N(190);return a.readonlyToken=e,a.typeParameter=t,a.nameType=r,a.questionToken=n,a.type=i,a.transformFlags=1,a}function $e(e){var t=N(191);return t.literal=e,t.transformFlags=1,t}function Ze(e){var t=N(196);return t.elements=F(e),t.transformFlags|=131328|d(t.elements),8192&t.transformFlags&&(t.transformFlags|=16416),t}function et(e){var t=N(197);return t.elements=F(e),t.transformFlags|=131328|d(t.elements),t}function tt(t,r,n,i){var a=J(198,void 0,void 0,n,i);return a.propertyName=ti(r),a.dotDotDotToken=t,a.transformFlags|=256|l(a.dotDotDotToken),a.propertyName&&(a.transformFlags|=e.isIdentifier(a.propertyName)?u(a.propertyName):l(a.propertyName)),t&&(a.transformFlags|=8192),a}function rt(e){return N(e)}function nt(e,t){var r=rt(199);return r.elements=g().parenthesizeExpressionsOfCommaDelimitedList(F(e)),r.multiLine=t,r.transformFlags|=d(r.elements),r}function it(e,t){var r=rt(200);return r.properties=F(e),r.multiLine=t,r.transformFlags|=d(r.properties),r}function at(t,r){var n=rt(201);return n.expression=g().parenthesizeLeftSideOfAccess(t),n.name=ti(r),n.transformFlags=l(n.expression)|(e.isIdentifier(n.name)?u(n.name):l(n.name)),e.isSuperKeyword(t)&&(n.transformFlags|=96),n}function ot(t,r,n){var i=rt(201);return i.flags|=32,i.expression=g().parenthesizeLeftSideOfAccess(t),i.questionDotToken=r,i.name=ti(n),i.transformFlags|=8|l(i.expression)|l(i.questionDotToken)|(e.isIdentifier(i.name)?u(i.name):l(i.name)),i}function st(t,r,n,i){return e.Debug.assert(!!(32&t.flags),\"Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead.\"),t.expression!==r||t.questionDotToken!==n||t.name!==i?f(ot(r,n,i),t):t}function ct(t,r){var n=rt(202);return n.expression=g().parenthesizeLeftSideOfAccess(t),n.argumentExpression=ri(r),n.transformFlags|=l(n.expression)|l(n.argumentExpression),e.isSuperKeyword(t)&&(n.transformFlags|=96),n}function ut(e,t,r){var n=rt(202);return n.flags|=32,n.expression=g().parenthesizeLeftSideOfAccess(e),n.questionDotToken=t,n.argumentExpression=ri(r),n.transformFlags|=l(n.expression)|l(n.questionDotToken)|l(n.argumentExpression)|8,n}function lt(t,r,n,i){return e.Debug.assert(!!(32&t.flags),\"Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead.\"),t.expression!==r||t.questionDotToken!==n||t.argumentExpression!==i?f(ut(r,n,i),t):t}function dt(t,r,n){var i=rt(203);return i.expression=g().parenthesizeLeftSideOfAccess(t),i.typeArguments=ei(r),i.arguments=g().parenthesizeExpressionsOfCommaDelimitedList(F(n)),i.transformFlags|=l(i.expression)|d(i.typeArguments)|d(i.arguments),i.typeArguments&&(i.transformFlags|=1),e.isImportKeyword(i.expression)?i.transformFlags|=2097152:e.isSuperProperty(i.expression)&&(i.transformFlags|=4096),i}function _t(t,r,n,i){var a=rt(203);return a.flags|=32,a.expression=g().parenthesizeLeftSideOfAccess(t),a.questionDotToken=r,a.typeArguments=ei(n),a.arguments=g().parenthesizeExpressionsOfCommaDelimitedList(F(i)),a.transformFlags|=l(a.expression)|l(a.questionDotToken)|d(a.typeArguments)|d(a.arguments)|8,a.typeArguments&&(a.transformFlags|=1),e.isSuperProperty(a.expression)&&(a.transformFlags|=4096),a}function pt(t,r,n,i,a){return e.Debug.assert(!!(32&t.flags),\"Cannot update a CallExpression using updateCallChain. Use updateCall instead.\"),t.expression!==r||t.questionDotToken!==n||t.typeArguments!==i||t.arguments!==a?f(_t(r,n,i,a),t):t}function ft(e,t,r){var n=rt(204);return n.expression=g().parenthesizeExpressionOfNew(e),n.typeArguments=ei(t),n.arguments=r?g().parenthesizeExpressionsOfCommaDelimitedList(r):void 0,n.transformFlags|=l(n.expression)|d(n.typeArguments)|d(n.arguments)|8,n.typeArguments&&(n.transformFlags|=1),n}function gt(t,r,n){var i=rt(205);return i.tag=g().parenthesizeLeftSideOfAccess(t),i.typeArguments=ei(r),i.template=n,i.transformFlags|=l(i.tag)|d(i.typeArguments)|l(i.template)|256,i.typeArguments&&(i.transformFlags|=1),e.hasInvalidEscape(i.template)&&(i.transformFlags|=32),i}function mt(e,t){var r=rt(206);return r.expression=g().parenthesizeOperandOfPrefixUnary(t),r.type=e,r.transformFlags|=l(r.expression)|l(r.type)|1,r}function yt(e,t,r){return e.type!==t||e.expression!==r?f(mt(t,r),e):e}function vt(e){var t=rt(207);return t.expression=e,t.transformFlags=l(t.expression),t}function ht(e,t){return e.expression!==t?f(vt(t),e):e}function Dt(t,r,n,i,a,o,s){var c=L(208,void 0,t,n,i,a,o,s);return c.asteriskToken=r,c.transformFlags|=l(c.asteriskToken),c.typeParameters&&(c.transformFlags|=1),256&e.modifiersToFlags(c.modifiers)?c.asteriskToken?c.transformFlags|=32:c.transformFlags|=64:c.asteriskToken&&(c.transformFlags|=512),c}function xt(e,t,r,n,i,a,o,s){return e.name!==n||e.modifiers!==t||e.asteriskToken!==r||e.typeParameters!==i||e.parameters!==a||e.type!==o||e.body!==s?R(Dt(t,r,n,i,a,o,s),e):e}function bt(t,r,n,i,a,o){var s=L(209,void 0,t,void 0,r,n,i,g().parenthesizeConciseBodyOfArrowFunction(o));return s.equalsGreaterThanToken=null!=a?a:ee(38),s.transformFlags|=256|l(s.equalsGreaterThanToken),256&e.modifiersToFlags(s.modifiers)&&(s.transformFlags|=64),s}function St(e,t,r,n,i,a,o){return e.modifiers!==t||e.typeParameters!==r||e.parameters!==n||e.type!==i||e.equalsGreaterThanToken!==a||e.body!==o?R(bt(t,r,n,i,a,o),e):e}function Et(e){var t=rt(210);return t.expression=g().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=l(t.expression),t}function Tt(e){var t=rt(211);return t.expression=g().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=l(t.expression),t}function Ct(e){var t=rt(212);return t.expression=g().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=l(t.expression),t}function kt(e){var t=rt(213);return t.expression=g().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=524384|l(t.expression),t}function At(e,t){var r=rt(214);return r.operator=e,r.operand=g().parenthesizeOperandOfPrefixUnary(t),r.transformFlags|=l(r.operand),r}function Ft(e,t){var r=rt(215);return r.operator=t,r.operand=g().parenthesizeOperandOfPostfixUnary(e),r.transformFlags=l(r.operand),r}function Nt(t,r,n){var i,a=rt(216),o=\"number\"==typeof(i=r)?ee(i):i,s=o.kind;return a.left=g().parenthesizeLeftSideOfBinary(s,t),a.operatorToken=o,a.right=g().parenthesizeRightSideOfBinary(s,a.left,n),a.transformFlags|=l(a.left)|l(a.operatorToken)|l(a.right),60===s?a.transformFlags|=8:62===s?e.isObjectLiteralExpression(a.left)?a.transformFlags|=1312|Pt(a.left):e.isArrayLiteralExpression(a.left)&&(a.transformFlags|=1280|Pt(a.left)):42===s||66===s?a.transformFlags|=128:e.isLogicalOrCoalescingAssignmentOperator(s)&&(a.transformFlags|=4),a}function Pt(t){if(16384&t.transformFlags)return 16384;if(32&t.transformFlags)for(var r=0,n=e.getElementsOfBindingOrAssignmentPattern(t);r0;default:return!0}}function Wn(t,r,n,i){void 0===i&&(i=0);var a=e.getNameOfDeclaration(t);if(a&&e.isIdentifier(a)&&!e.isGeneratedIdentifier(a)){var o=e.setParent(e.setTextRange(Jn(a),a),a.parent);return i|=e.getEmitFlags(a),n||(i|=48),r||(i|=1536),i&&e.setEmitFlags(o,i),o}return $(t)}function Hn(e,t,r){return Wn(e,t,r,8192)}function Gn(t,r,n,i){var a=at(t,e.nodeIsSynthesized(r)?r:Jn(r));e.setTextRange(a,r);var o=0;return i||(o|=48),n||(o|=1536),o&&e.setEmitFlags(a,o),a}function Yn(t){return e.isStringLiteral(t.expression)&&\"use strict\"===t.expression.text}function Xn(){return e.startOnNewLine(Zt(W(\"use strict\")))}function Qn(t,r,n){e.Debug.assert(0===r.length,\"Prologue directives should be at the first statement in the target statements array\");for(var i=!1,a=0,o=t.length;a=172&&e<=195)return-2;switch(e){case 203:case 204:case 199:return 536879104;case 256:return 546379776;case 160:return 536870912;case 209:return 547309568;case 208:case 251:return 547313664;case 250:return 537018368;case 252:case 221:return 536905728;case 166:return 547311616;case 163:return 536875008;case 165:case 167:case 168:return 538923008;case 128:case 144:case 155:case 141:case 147:case 145:case 131:case 148:case 113:case 159:case 162:case 164:case 169:case 170:case 171:case 253:case 254:return-2;case 200:return 536922112;case 287:return 536887296;case 196:case 197:return 536879104;case 206:case 224:case 336:case 207:case 105:return 536870912;case 201:case 202:default:return 536870912}}e.getTransformFlagsSubtreeExclusions=p;var f=e.createBaseNodeFactory();function g(e){return e.flags|=8,e}var m,y={createBaseSourceFileNode:function(e){return g(f.createBaseSourceFileNode(e))},createBaseIdentifierNode:function(e){return g(f.createBaseIdentifierNode(e))},createBasePrivateIdentifierNode:function(e){return g(f.createBasePrivateIdentifierNode(e))},createBaseTokenNode:function(e){return g(f.createBaseTokenNode(e))},createBaseNode:function(e){return g(f.createBaseNode(e))}};function v(t,r){if(t.original=r,r){var n=r.emitNode;n&&(t.emitNode=function(t,r){var n=t.flags,i=t.leadingComments,a=t.trailingComments,o=t.commentRange,s=t.sourceMapRange,c=t.tokenSourceMapRanges,u=t.constantValue,l=t.helpers,d=t.startsOnNewLine;r||(r={});i&&(r.leadingComments=e.addRange(i.slice(),r.leadingComments));a&&(r.trailingComments=e.addRange(a.slice(),r.trailingComments));n&&(r.flags=n);o&&(r.commentRange=o);s&&(r.sourceMapRange=s);c&&(r.tokenSourceMapRanges=function(e,t){t||(t=[]);for(var r in e)t[r]=e[r];return t}(c,r.tokenSourceMapRanges));void 0!==u&&(r.constantValue=u);if(l)for(var _=0,p=l;_0&&(o[u-c]=l)}c>0&&(o.length-=c)}},e.ignoreSourceNewlines=function(e){return t(e).flags|=134217728,e}}(u||(u={})),function(e){function t(e){for(var t=[],r=1;r=2)return n.createCallExpression(n.createPropertyAccessExpression(n.createIdentifier(\"Object\"),\"assign\"),void 0,r);return t.requestEmitHelper(e.assignHelper),n.createCallExpression(i(\"__assign\"),void 0,r)},createAwaitHelper:function(r){return t.requestEmitHelper(e.awaitHelper),n.createCallExpression(i(\"__await\"),void 0,[r])},createAsyncGeneratorHelper:function(r,a){return t.requestEmitHelper(e.awaitHelper),t.requestEmitHelper(e.asyncGeneratorHelper),(r.emitNode||(r.emitNode={})).flags|=786432,n.createCallExpression(i(\"__asyncGenerator\"),void 0,[a?n.createThis():n.createVoidZero(),n.createIdentifier(\"arguments\"),r])},createAsyncDelegatorHelper:function(r){return t.requestEmitHelper(e.awaitHelper),t.requestEmitHelper(e.asyncDelegator),n.createCallExpression(i(\"__asyncDelegator\"),void 0,[r])},createAsyncValuesHelper:function(r){return t.requestEmitHelper(e.asyncValues),n.createCallExpression(i(\"__asyncValues\"),void 0,[r])},createRestHelper:function(r,a,o,s){t.requestEmitHelper(e.restHelper);for(var c=[],u=0,l=0;l= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\\n return c > 3 && r && Object.defineProperty(target, key, r), r;\\n };'},e.metadataHelper={name:\"typescript:metadata\",importName:\"__metadata\",scoped:!1,priority:3,text:'\\n var __metadata = (this && this.__metadata) || function (k, v) {\\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\\n };'},e.paramHelper={name:\"typescript:param\",importName:\"__param\",scoped:!1,priority:4,text:\"\\n var __param = (this && this.__param) || function (paramIndex, decorator) {\\n return function (target, key) { decorator(target, key, paramIndex); }\\n };\"},e.assignHelper={name:\"typescript:assign\",importName:\"__assign\",scoped:!1,priority:1,text:\"\\n var __assign = (this && this.__assign) || function () {\\n __assign = Object.assign || function(t) {\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\n s = arguments[i];\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\\n t[p] = s[p];\\n }\\n return t;\\n };\\n return __assign.apply(this, arguments);\\n };\"},e.awaitHelper={name:\"typescript:await\",importName:\"__await\",scoped:!1,text:\"\\n var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\"},e.asyncGeneratorHelper={name:\"typescript:asyncGenerator\",importName:\"__asyncGenerator\",scoped:!1,dependencies:[e.awaitHelper],text:'\\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\\n function fulfill(value) { resume(\"next\", value); }\\n function reject(value) { resume(\"throw\", value); }\\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\\n };'},e.asyncDelegator={name:\"typescript:asyncDelegator\",importName:\"__asyncDelegator\",scoped:!1,dependencies:[e.awaitHelper],text:'\\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\\n var i, p;\\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\\n };'},e.asyncValues={name:\"typescript:asyncValues\",importName:\"__asyncValues\",scoped:!1,text:'\\n var __asyncValues = (this && this.__asyncValues) || function (o) {\\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\\n var m = o[Symbol.asyncIterator], i;\\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\\n };'},e.restHelper={name:\"typescript:rest\",importName:\"__rest\",scoped:!1,text:'\\n var __rest = (this && this.__rest) || function (s, e) {\\n var t = {};\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\\n t[p] = s[p];\\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\\n t[p[i]] = s[p[i]];\\n }\\n return t;\\n };'},e.awaiterHelper={name:\"typescript:awaiter\",importName:\"__awaiter\",scoped:!1,priority:5,text:'\\n var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n };'},e.extendsHelper={name:\"typescript:extends\",importName:\"__extends\",scoped:!1,priority:0,text:\"\\n var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n })();\"},e.templateObjectHelper={name:\"typescript:makeTemplateObject\",importName:\"__makeTemplateObject\",scoped:!1,priority:0,text:'\\n var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\\n return cooked;\\n };'},e.readHelper={name:\"typescript:read\",importName:\"__read\",scoped:!1,text:'\\n var __read = (this && this.__read) || function (o, n) {\\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\\n if (!m) return o;\\n var i = m.call(o), r, ar = [], e;\\n try {\\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\\n }\\n catch (error) { e = { error: error }; }\\n finally {\\n try {\\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\\n }\\n finally { if (e) throw e.error; }\\n }\\n return ar;\\n };'},e.spreadHelper={name:\"typescript:spread\",importName:\"__spread\",scoped:!1,dependencies:[e.readHelper],text:\"\\n var __spread = (this && this.__spread) || function () {\\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\\n return ar;\\n };\"},e.spreadArraysHelper={name:\"typescript:spreadArrays\",importName:\"__spreadArrays\",scoped:!1,text:\"\\n var __spreadArrays = (this && this.__spreadArrays) || function () {\\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\\n r[k] = a[j];\\n return r;\\n };\"},e.valuesHelper={name:\"typescript:values\",importName:\"__values\",scoped:!1,text:'\\n var __values = (this && this.__values) || function(o) {\\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\\n if (m) return m.call(o);\\n if (o && typeof o.length === \"number\") return {\\n next: function () {\\n if (o && i >= o.length) o = void 0;\\n return { value: o && o[i++], done: !o };\\n }\\n };\\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\\n };'},e.generatorHelper={name:\"typescript:generator\",importName:\"__generator\",scoped:!1,priority:6,text:'\\n var __generator = (this && this.__generator) || function (thisArg, body) {\\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\\n function verb(n) { return function (v) { return step([n, v]); }; }\\n function step(op) {\\n if (f) throw new TypeError(\"Generator is already executing.\");\\n while (_) try {\\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\\n if (y = 0, t) op = [op[0] & 2, t.value];\\n switch (op[0]) {\\n case 0: case 1: t = op; break;\\n case 4: _.label++; return { value: op[1], done: false };\\n case 5: _.label++; y = op[1]; op = [0]; continue;\\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\\n default:\\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\\n if (t[2]) _.ops.pop();\\n _.trys.pop(); continue;\\n }\\n op = body.call(thisArg, _);\\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\\n }\\n };'},e.createBindingHelper={name:\"typescript:commonjscreatebinding\",importName:\"__createBinding\",scoped:!1,priority:1,text:\"\\n var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\\n if (k2 === undefined) k2 = k;\\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\\n }) : (function(o, m, k, k2) {\\n if (k2 === undefined) k2 = k;\\n o[k2] = m[k];\\n }));\"},e.setModuleDefaultHelper={name:\"typescript:commonjscreatevalue\",importName:\"__setModuleDefault\",scoped:!1,priority:1,text:'\\n var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\\n }) : function(o, v) {\\n o[\"default\"] = v;\\n });'},e.importStarHelper={name:\"typescript:commonjsimportstar\",importName:\"__importStar\",scoped:!1,dependencies:[e.createBindingHelper,e.setModuleDefaultHelper],priority:2,text:'\\n var __importStar = (this && this.__importStar) || function (mod) {\\n if (mod && mod.__esModule) return mod;\\n var result = {};\\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\\n __setModuleDefault(result, mod);\\n return result;\\n };'},e.importDefaultHelper={name:\"typescript:commonjsimportdefault\",importName:\"__importDefault\",scoped:!1,text:'\\n var __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\\n };'},e.exportStarHelper={name:\"typescript:export-star\",importName:\"__exportStar\",scoped:!1,dependencies:[e.createBindingHelper],priority:2,text:'\\n var __exportStar = (this && this.__exportStar) || function(m, exports) {\\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\\n };'},e.classPrivateFieldGetHelper={name:\"typescript:classPrivateFieldGet\",importName:\"__classPrivateFieldGet\",scoped:!1,text:'\\n var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {\\n if (!privateMap.has(receiver)) {\\n throw new TypeError(\"attempted to get private field on non-instance\");\\n }\\n return privateMap.get(receiver);\\n };'},e.classPrivateFieldSetHelper={name:\"typescript:classPrivateFieldSet\",importName:\"__classPrivateFieldSet\",scoped:!1,text:'\\n var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {\\n if (!privateMap.has(receiver)) {\\n throw new TypeError(\"attempted to set private field on non-instance\");\\n }\\n privateMap.set(receiver, value);\\n return value;\\n };'},e.getAllUnscopedEmitHelpers=function(){return n||(n=e.arrayToMap([e.decorateHelper,e.metadataHelper,e.paramHelper,e.assignHelper,e.awaitHelper,e.asyncGeneratorHelper,e.asyncDelegator,e.asyncValues,e.restHelper,e.awaiterHelper,e.extendsHelper,e.templateObjectHelper,e.spreadHelper,e.spreadArraysHelper,e.valuesHelper,e.readHelper,e.generatorHelper,e.importStarHelper,e.importDefaultHelper,e.exportStarHelper,e.classPrivateFieldGetHelper,e.classPrivateFieldSetHelper,e.createBindingHelper,e.setModuleDefaultHelper],(function(e){return e.name})))},e.asyncSuperHelper={name:\"typescript:async-super\",scoped:!0,text:t(a([\"\\n const \",\" = name => super[name];\"],[\"\\n const \",\" = name => super[name];\"]),\"_superIndex\")},e.advancedAsyncSuperHelper={name:\"typescript:advanced-async-super\",scoped:!0,text:t(a([\"\\n const \",\" = (function (geti, seti) {\\n const cache = Object.create(null);\\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\\n })(name => super[name], (name, value) => super[name] = value);\"],[\"\\n const \",\" = (function (geti, seti) {\\n const cache = Object.create(null);\\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\\n })(name => super[name], (name, value) => super[name] = value);\"]),\"_superIndex\")}}(u||(u={})),function(e){e.isNumericLiteral=function(e){return 8===e.kind},e.isBigIntLiteral=function(e){return 9===e.kind},e.isStringLiteral=function(e){return 10===e.kind},e.isJsxText=function(e){return 11===e.kind},e.isRegularExpressionLiteral=function(e){return 13===e.kind},e.isNoSubstitutionTemplateLiteral=function(e){return 14===e.kind},e.isTemplateHead=function(e){return 15===e.kind},e.isTemplateMiddle=function(e){return 16===e.kind},e.isTemplateTail=function(e){return 17===e.kind},e.isIdentifier=function(e){return 78===e.kind},e.isQualifiedName=function(e){return 157===e.kind},e.isComputedPropertyName=function(e){return 158===e.kind},e.isPrivateIdentifier=function(e){return 79===e.kind},e.isSuperKeyword=function(e){return 105===e.kind},e.isImportKeyword=function(e){return 99===e.kind},e.isCommaToken=function(e){return 27===e.kind},e.isQuestionToken=function(e){return 57===e.kind},e.isExclamationToken=function(e){return 53===e.kind},e.isTypeParameterDeclaration=function(e){return 159===e.kind},e.isParameter=function(e){return 160===e.kind},e.isDecorator=function(e){return 161===e.kind},e.isPropertySignature=function(e){return 162===e.kind},e.isPropertyDeclaration=function(e){return 163===e.kind},e.isMethodSignature=function(e){return 164===e.kind},e.isMethodDeclaration=function(e){return 165===e.kind},e.isConstructorDeclaration=function(e){return 166===e.kind},e.isGetAccessorDeclaration=function(e){return 167===e.kind},e.isSetAccessorDeclaration=function(e){return 168===e.kind},e.isCallSignatureDeclaration=function(e){return 169===e.kind},e.isConstructSignatureDeclaration=function(e){return 170===e.kind},e.isIndexSignatureDeclaration=function(e){return 171===e.kind},e.isTypePredicateNode=function(e){return 172===e.kind},e.isTypeReferenceNode=function(e){return 173===e.kind},e.isFunctionTypeNode=function(e){return 174===e.kind},e.isConstructorTypeNode=function(e){return 175===e.kind},e.isTypeQueryNode=function(e){return 176===e.kind},e.isTypeLiteralNode=function(e){return 177===e.kind},e.isArrayTypeNode=function(e){return 178===e.kind},e.isTupleTypeNode=function(e){return 179===e.kind},e.isNamedTupleMember=function(e){return 192===e.kind},e.isOptionalTypeNode=function(e){return 180===e.kind},e.isRestTypeNode=function(e){return 181===e.kind},e.isUnionTypeNode=function(e){return 182===e.kind},e.isIntersectionTypeNode=function(e){return 183===e.kind},e.isConditionalTypeNode=function(e){return 184===e.kind},e.isInferTypeNode=function(e){return 185===e.kind},e.isParenthesizedTypeNode=function(e){return 186===e.kind},e.isThisTypeNode=function(e){return 187===e.kind},e.isTypeOperatorNode=function(e){return 188===e.kind},e.isIndexedAccessTypeNode=function(e){return 189===e.kind},e.isMappedTypeNode=function(e){return 190===e.kind},e.isLiteralTypeNode=function(e){return 191===e.kind},e.isImportTypeNode=function(e){return 195===e.kind},e.isTemplateLiteralTypeSpan=function(e){return 194===e.kind},e.isTemplateLiteralTypeNode=function(e){return 193===e.kind},e.isObjectBindingPattern=function(e){return 196===e.kind},e.isArrayBindingPattern=function(e){return 197===e.kind},e.isBindingElement=function(e){return 198===e.kind},e.isArrayLiteralExpression=function(e){return 199===e.kind},e.isObjectLiteralExpression=function(e){return 200===e.kind},e.isPropertyAccessExpression=function(e){return 201===e.kind},e.isElementAccessExpression=function(e){return 202===e.kind},e.isCallExpression=function(e){return 203===e.kind},e.isNewExpression=function(e){return 204===e.kind},e.isTaggedTemplateExpression=function(e){return 205===e.kind},e.isTypeAssertionExpression=function(e){return 206===e.kind},e.isParenthesizedExpression=function(e){return 207===e.kind},e.isFunctionExpression=function(e){return 208===e.kind},e.isArrowFunction=function(e){return 209===e.kind},e.isDeleteExpression=function(e){return 210===e.kind},e.isTypeOfExpression=function(e){return 211===e.kind},e.isVoidExpression=function(e){return 212===e.kind},e.isAwaitExpression=function(e){return 213===e.kind},e.isPrefixUnaryExpression=function(e){return 214===e.kind},e.isPostfixUnaryExpression=function(e){return 215===e.kind},e.isBinaryExpression=function(e){return 216===e.kind},e.isConditionalExpression=function(e){return 217===e.kind},e.isTemplateExpression=function(e){return 218===e.kind},e.isYieldExpression=function(e){return 219===e.kind},e.isSpreadElement=function(e){return 220===e.kind},e.isClassExpression=function(e){return 221===e.kind},e.isOmittedExpression=function(e){return 222===e.kind},e.isExpressionWithTypeArguments=function(e){return 223===e.kind},e.isAsExpression=function(e){return 224===e.kind},e.isNonNullExpression=function(e){return 225===e.kind},e.isMetaProperty=function(e){return 226===e.kind},e.isSyntheticExpression=function(e){return 227===e.kind},e.isPartiallyEmittedExpression=function(e){return 336===e.kind},e.isCommaListExpression=function(e){return 337===e.kind},e.isTemplateSpan=function(e){return 228===e.kind},e.isSemicolonClassElement=function(e){return 229===e.kind},e.isBlock=function(e){return 230===e.kind},e.isVariableStatement=function(e){return 232===e.kind},e.isEmptyStatement=function(e){return 231===e.kind},e.isExpressionStatement=function(e){return 233===e.kind},e.isIfStatement=function(e){return 234===e.kind},e.isDoStatement=function(e){return 235===e.kind},e.isWhileStatement=function(e){return 236===e.kind},e.isForStatement=function(e){return 237===e.kind},e.isForInStatement=function(e){return 238===e.kind},e.isForOfStatement=function(e){return 239===e.kind},e.isContinueStatement=function(e){return 240===e.kind},e.isBreakStatement=function(e){return 241===e.kind},e.isReturnStatement=function(e){return 242===e.kind},e.isWithStatement=function(e){return 243===e.kind},e.isSwitchStatement=function(e){return 244===e.kind},e.isLabeledStatement=function(e){return 245===e.kind},e.isThrowStatement=function(e){return 246===e.kind},e.isTryStatement=function(e){return 247===e.kind},e.isDebuggerStatement=function(e){return 248===e.kind},e.isVariableDeclaration=function(e){return 249===e.kind},e.isVariableDeclarationList=function(e){return 250===e.kind},e.isFunctionDeclaration=function(e){return 251===e.kind},e.isClassDeclaration=function(e){return 252===e.kind},e.isInterfaceDeclaration=function(e){return 253===e.kind},e.isTypeAliasDeclaration=function(e){return 254===e.kind},e.isEnumDeclaration=function(e){return 255===e.kind},e.isModuleDeclaration=function(e){return 256===e.kind},e.isModuleBlock=function(e){return 257===e.kind},e.isCaseBlock=function(e){return 258===e.kind},e.isNamespaceExportDeclaration=function(e){return 259===e.kind},e.isImportEqualsDeclaration=function(e){return 260===e.kind},e.isImportDeclaration=function(e){return 261===e.kind},e.isImportClause=function(e){return 262===e.kind},e.isNamespaceImport=function(e){return 263===e.kind},e.isNamespaceExport=function(e){return 269===e.kind},e.isNamedImports=function(e){return 264===e.kind},e.isImportSpecifier=function(e){return 265===e.kind},e.isExportAssignment=function(e){return 266===e.kind},e.isExportDeclaration=function(e){return 267===e.kind},e.isNamedExports=function(e){return 268===e.kind},e.isExportSpecifier=function(e){return 270===e.kind},e.isMissingDeclaration=function(e){return 271===e.kind},e.isNotEmittedStatement=function(e){return 335===e.kind},e.isSyntheticReference=function(e){return 340===e.kind},e.isMergeDeclarationMarker=function(e){return 338===e.kind},e.isEndOfDeclarationMarker=function(e){return 339===e.kind},e.isExternalModuleReference=function(e){return 272===e.kind},e.isJsxElement=function(e){return 273===e.kind},e.isJsxSelfClosingElement=function(e){return 274===e.kind},e.isJsxOpeningElement=function(e){return 275===e.kind},e.isJsxClosingElement=function(e){return 276===e.kind},e.isJsxFragment=function(e){return 277===e.kind},e.isJsxOpeningFragment=function(e){return 278===e.kind},e.isJsxClosingFragment=function(e){return 279===e.kind},e.isJsxAttribute=function(e){return 280===e.kind},e.isJsxAttributes=function(e){return 281===e.kind},e.isJsxSpreadAttribute=function(e){return 282===e.kind},e.isJsxExpression=function(e){return 283===e.kind},e.isCaseClause=function(e){return 284===e.kind},e.isDefaultClause=function(e){return 285===e.kind},e.isHeritageClause=function(e){return 286===e.kind},e.isCatchClause=function(e){return 287===e.kind},e.isPropertyAssignment=function(e){return 288===e.kind},e.isShorthandPropertyAssignment=function(e){return 289===e.kind},e.isSpreadAssignment=function(e){return 290===e.kind},e.isEnumMember=function(e){return 291===e.kind},e.isUnparsedPrepend=function(e){return 293===e.kind},e.isSourceFile=function(e){return 297===e.kind},e.isBundle=function(e){return 298===e.kind},e.isUnparsedSource=function(e){return 299===e.kind},e.isJSDocTypeExpression=function(e){return 301===e.kind},e.isJSDocNameReference=function(e){return 302===e.kind},e.isJSDocAllType=function(e){return 303===e.kind},e.isJSDocUnknownType=function(e){return 304===e.kind},e.isJSDocNullableType=function(e){return 305===e.kind},e.isJSDocNonNullableType=function(e){return 306===e.kind},e.isJSDocOptionalType=function(e){return 307===e.kind},e.isJSDocFunctionType=function(e){return 308===e.kind},e.isJSDocVariadicType=function(e){return 309===e.kind},e.isJSDocNamepathType=function(e){return 310===e.kind},e.isJSDoc=function(e){return 311===e.kind},e.isJSDocTypeLiteral=function(e){return 312===e.kind},e.isJSDocSignature=function(e){return 313===e.kind},e.isJSDocAugmentsTag=function(e){return 315===e.kind},e.isJSDocAuthorTag=function(e){return 317===e.kind},e.isJSDocClassTag=function(e){return 319===e.kind},e.isJSDocCallbackTag=function(e){return 324===e.kind},e.isJSDocPublicTag=function(e){return 320===e.kind},e.isJSDocPrivateTag=function(e){return 321===e.kind},e.isJSDocProtectedTag=function(e){return 322===e.kind},e.isJSDocReadonlyTag=function(e){return 323===e.kind},e.isJSDocDeprecatedTag=function(e){return 318===e.kind},e.isJSDocEnumTag=function(e){return 325===e.kind},e.isJSDocParameterTag=function(e){return 326===e.kind},e.isJSDocReturnTag=function(e){return 327===e.kind},e.isJSDocThisTag=function(e){return 328===e.kind},e.isJSDocTypeTag=function(e){return 329===e.kind},e.isJSDocTemplateTag=function(e){return 330===e.kind},e.isJSDocTypedefTag=function(e){return 331===e.kind},e.isJSDocUnknownTag=function(e){return 314===e.kind},e.isJSDocPropertyTag=function(e){return 333===e.kind},e.isJSDocImplementsTag=function(e){return 316===e.kind},e.isSyntaxList=function(e){return 334===e.kind}}(u||(u={})),function(e){function t(t,r,n,i){if(e.isComputedPropertyName(n))return e.setTextRange(t.createElementAccessExpression(r,n.expression),i);var a=e.setTextRange(e.isIdentifierOrPrivateIdentifier(n)?t.createPropertyAccessExpression(r,n):t.createElementAccessExpression(r,n),n);return e.getOrCreateEmitNode(a).flags|=64,a}function n(t,r){var n=e.parseNodeFactory.createIdentifier(t||\"React\");return e.setParent(n,e.getParseTreeNode(r)),n}function i(t,r,a){if(e.isQualifiedName(r)){var o=i(t,r.left,a),s=t.createIdentifier(e.idText(r.right));return s.escapedText=r.right.escapedText,t.createPropertyAccessExpression(o,s)}return n(e.idText(r),a)}function a(e,t,r,a){return t?i(e,t,a):e.createPropertyAccessExpression(n(r,a),\"createElement\")}function o(t,r){return e.isIdentifier(r)?t.createStringLiteralFromNode(r):e.isComputedPropertyName(r)?e.setParent(e.setTextRange(t.cloneNode(r.expression),r.expression),r.expression.parent):e.setParent(e.setTextRange(t.cloneNode(r),r),r.parent)}function s(t){return e.isStringLiteral(t.expression)&&\"use strict\"===t.expression.text}function c(e,t){switch(void 0===t&&(t=15),e.kind){case 207:return 0!=(1&t);case 206:case 224:return 0!=(2&t);case 225:return 0!=(4&t);case 336:return 0!=(8&t)}return!1}function u(e,t){for(void 0===t&&(t=15);c(e,t);)e=e.expression;return e}function l(t){return e.setStartsOnNewLine(t,!0)}function d(t){var r=e.getOriginalNode(t,e.isSourceFile),n=r&&r.emitNode;return n&&n.externalHelpersModuleName}function _(t,r,n,i,a){if(n.importHelpers&&e.isEffectiveExternalModule(r,n)){var o=d(r);if(o)return o;var s=e.getEmitModuleKind(n),c=(i||n.esModuleInterop&&a)&&s!==e.ModuleKind.System&&s0)if(i||s.push(t.createNull()),a.length>1)for(var c=0,u=a;c0)if(c.length>1)for(var p=0,f=c;p=e.ModuleKind.ES2015&&u<=e.ModuleKind.ESNext){var l=e.getEmitHelpers(n);if(l){for(var d=[],p=0,f=l;pt.checkJsDirective.pos)&&(t.checkJsDirective={enabled:\"ts-check\"===i,end:e.range.end,pos:e.range.pos})}));break;case\"jsx\":case\"jsxfrag\":case\"jsximportsource\":case\"jsxruntime\":return;default:e.Debug.fail(\"Unhandled pragma kind\")}}))}!function(e){e[e.None=0]=\"None\",e[e.Yield=1]=\"Yield\",e[e.Await=2]=\"Await\",e[e.Type=4]=\"Type\",e[e.IgnoreMissingOpenBrace=16]=\"IgnoreMissingOpenBrace\",e[e.JSDoc=32]=\"JSDoc\"}(t||(t={})),function(e){e[e.TryParse=0]=\"TryParse\",e[e.Lookahead=1]=\"Lookahead\",e[e.Reparse=2]=\"Reparse\"}(r||(r={})),e.parseBaseNodeFactory={createBaseSourceFileNode:function(t){return new(s||(s=e.objectAllocator.getSourceFileConstructor()))(t,-1,-1)},createBaseIdentifierNode:function(t){return new(a||(a=e.objectAllocator.getIdentifierConstructor()))(t,-1,-1)},createBasePrivateIdentifierNode:function(t){return new(o||(o=e.objectAllocator.getPrivateIdentifierConstructor()))(t,-1,-1)},createBaseTokenNode:function(t){return new(i||(i=e.objectAllocator.getTokenConstructor()))(t,-1,-1)},createBaseNode:function(t){return new(n||(n=e.objectAllocator.getNodeConstructor()))(t,-1,-1)}},e.parseNodeFactory=e.createNodeFactory(1,e.parseBaseNodeFactory),e.isJSDocLikeText=_,e.forEachChild=p,e.forEachChildRecursively=function(t,r,n){for(var i=[t];i.length;){var a=i.pop(),o=c(a,s(a));if(o)return o}return;function s(e){var t=[];return p(e,r,r),t;function r(e){t.unshift(e)}}function c(t,a){for(var o=0,s=a;o=0;u--){var l=c[u];if(d=r(l,t)){if(\"skip\"===d)continue;return d}i.push(l)}}else{var d;if(i.push(c),d=r(c,t)){if(\"skip\"===d)continue;return d}}}}},e.createSourceFile=function(t,r,n,i,a){void 0===i&&(i=!1);var o,s=[\"parse\",\"createSourceFile\",{path:t}];return e.tracing.begin.apply(e.tracing,s),e.performance.mark(\"beforeParse\"),e.perfLogger.logStartParseSourceFile(t),o=100===n?c.parseSourceFile(t,r,n,void 0,i,6):c.parseSourceFile(t,r,n,void 0,i,a),e.perfLogger.logStopParseSourceFile(),e.performance.mark(\"afterParse\"),e.performance.measure(\"Parse\",\"beforeParse\",\"afterParse\"),e.tracing.end.apply(e.tracing,s),o},e.parseIsolatedEntityName=function(e,t){return c.parseIsolatedEntityName(e,t)},e.parseJsonText=function(e,t){return c.parseJsonText(e,t)},e.isExternalModule=f,e.updateSourceFile=function(e,t,r,n){void 0===n&&(n=!1);var i=u.updateSourceFile(e,t,r,n);return i.flags|=3145728&e.flags,i},e.parseIsolatedJSDocComment=function(e,t,r){var n=c.JSDocParser.parseIsolatedJSDocComment(e,t,r);return n&&n.jsDoc&&c.fixupParentReferences(n.jsDoc),n},e.parseJSDocTypeExpressionForTests=function(e,t,r){return c.JSDocParser.parseJSDocTypeExpressionForTests(e,t,r)},function(t){var r,n,i,a,o,s=e.createScanner(99,!0),c=20480;function l(e){return A++,e}var d,v,h,D,x,b,S,T,C,k,A,F,N,P,w,I,O,M={createBaseSourceFileNode:function(e){return l(new o(e,0,0))},createBaseIdentifierNode:function(e){return l(new i(e,0,0))},createBasePrivateIdentifierNode:function(e){return l(new a(e,0,0))},createBaseTokenNode:function(e){return l(new n(e,0,0))},createBaseNode:function(e){return l(new r(e,0,0))}},L=e.createNodeFactory(11,M),R=!0,B=!1;function j(t,r,n,i,a){void 0===n&&(n=2),void 0===a&&(a=!1),J(t,r,n,i,6),v=O,xe();var o,s,c=me();if(1===ve())o=ze([],c,c),s=je();else{var u=void 0;switch(ve()){case 22:u=Sn();break;case 109:case 94:case 103:u=je();break;case 40:u=Fe((function(){return 8===xe()&&58!==xe()}))?Qr():Tn();break;case 8:case 10:if(Fe((function(){return 58!==xe()}))){u=It();break}default:u=Tn()}var l=L.createExpressionStatement(u);Ue(l,c),o=ze([l],c),s=Be(1,e.Diagnostics.Unexpected_token)}var d=X(t,2,6,!1,o,s,v);a&&Y(d),d.nodeCount=A,d.identifierCount=P,d.identifiers=F,d.parseDiagnostics=e.attachFileToDiagnostics(S,d),T&&(d.jsDocDiagnostics=e.attachFileToDiagnostics(T,d));var _=d;return K(),_}function J(t,c,u,l,_){switch(r=e.objectAllocator.getNodeConstructor(),n=e.objectAllocator.getTokenConstructor(),i=e.objectAllocator.getIdentifierConstructor(),a=e.objectAllocator.getPrivateIdentifierConstructor(),o=e.objectAllocator.getSourceFileConstructor(),d=e.normalizePath(t),h=c,D=u,C=l,x=_,b=e.getLanguageVariant(_),S=[],w=0,F=new e.Map,N=new e.Map,P=0,A=0,v=0,R=!0,x){case 1:case 2:O=131072;break;case 6:O=33685504;break;default:O=0}B=!1,s.setText(h),s.setOnError(ge),s.setScriptTarget(D),s.setLanguageVariant(b)}function K(){s.clearCommentDirectives(),s.setText(\"\"),s.setOnError(void 0),h=void 0,D=void 0,C=void 0,x=void 0,b=void 0,v=0,S=void 0,T=void 0,w=0,F=void 0,I=void 0,R=!0}function z(t,r,n){var i=g(d);i&&(O|=8388608),v=O,xe();var a=mt(0,Un);e.Debug.assert(1===ve());var o=G(je()),c=X(d,t,n,i,a,o,v);return m(c,h),y(c,(function(t,r,n){S.push(e.createDetachedDiagnostic(d,t,r,n))})),c.commentDirectives=s.getCommentDirectives(),c.nodeCount=A,c.identifierCount=P,c.identifiers=F,c.parseDiagnostics=e.attachFileToDiagnostics(S,c),T&&(c.jsDocDiagnostics=e.attachFileToDiagnostics(T,c)),r&&Y(c),c}function U(e,t){return t?G(e):e}t.parseSourceFile=function(t,r,n,i,a,o){if(void 0===a&&(a=!1),6===(o=e.ensureScriptKind(t,o))){var s=j(t,r,n,i,a);return e.convertToObjectWorker(s,s.parseDiagnostics,!1,void 0,void 0),s.referencedFiles=e.emptyArray,s.typeReferenceDirectives=e.emptyArray,s.libReferenceDirectives=e.emptyArray,s.amdDependencies=e.emptyArray,s.hasNoDefaultLib=!1,s.pragmas=e.emptyMap,s}J(t,r,n,i,o);var c=z(n,a,o);return K(),c},t.parseIsolatedEntityName=function(e,t){J(\"\",e,t,void 0,1),xe();var r=Tt(!0),n=1===ve()&&!S.length;return K(),n?r:void 0},t.parseJsonText=j;var V,q,W,H=!1;function G(t){e.Debug.assert(!t.jsDoc);var r=e.mapDefined(e.getJSDocCommentRanges(t,h),(function(e){return W.parseJSDocComment(t,e.pos,e.end-e.pos)}));return r.length&&(t.jsDoc=r),H&&(H=!1,t.flags|=134217728),t}function Y(t){e.setParentRecursive(t,!0)}function X(t,r,n,i,a,o,c){var l=L.createSourceFile(a,o,c);return e.setTextRangePosWidth(l,0,h.length),function(t){t.externalModuleIndicator=e.forEach(t.statements,Li)||function(e){return 2097152&e.flags?Ri(e):void 0}(t)}(l),!i&&f(l)&&8388608&l.transformFlags&&(l=function(t){var r=C,n=u.createSyntaxCursor(t);C={currentNode:function(e){var t=n.currentNode(e);return R&&t&&p(t)&&(t.intersectsChange=!0),t}};var i=[],a=S;S=[];for(var o=0,c=f(t.statements,0),l=function(){var r=t.statements[o],n=t.statements[c];e.addRange(i,t.statements,o,c),o=g(t.statements,c);var u=e.findIndex(a,(function(e){return e.start>=r.pos})),l=u>=0?e.findIndex(a,(function(e){return e.start>=n.pos}),u):-1;u>=0&&e.addRange(S,a,u,l>=0?l:void 0),Ae((function(){var e=O;for(O|=32768,s.setTextPos(n.pos),xe();1!==ve();){var r=s.getStartPos(),a=yt(0,Un);if(i.push(a),r===s.getStartPos()&&xe(),o>=0){var c=t.statements[o];if(a.end===c.pos)break;a.end>c.pos&&(o=g(t.statements,o+1))}}O=e}),2),c=o>=0?f(t.statements,o):-1};-1!==c;)l();if(o>=0){var d=t.statements[o];e.addRange(i,t.statements,o);var _=e.findIndex(a,(function(e){return e.start>=d.pos}));_>=0&&e.addRange(S,a,_)}return C=r,L.updateSourceFile(t,e.setTextRange(L.createNodeArray(i),t.statements));function p(e){return!(32768&e.flags||!(8388608&e.transformFlags))}function f(e,t){for(var r=t;r115}function we(){return 78===ve()||(124!==ve()||!se())&&((130!==ve()||!le())&&ve()>115)}function Ie(t,r,n){return void 0===n&&(n=!0),ve()===t?(n&&xe(),!0):(r?de(r):de(e.Diagnostics._0_expected,e.tokenToString(t)),!1)}function Oe(t){return ve()===t?(be(),!0):(de(e.Diagnostics._0_expected,e.tokenToString(t)),!1)}function Me(e){return ve()===e&&(xe(),!0)}function Le(e){if(ve()===e)return je()}function Re(e){if(ve()===e)return t=me(),r=ve(),be(),Ue(L.createToken(r),t);var t,r}function Be(t,r,n){return Le(t)||Ve(t,!1,r||e.Diagnostics._0_expected,n||e.tokenToString(t))}function je(){var e=me(),t=ve();return xe(),Ue(L.createToken(t),e)}function Je(){return 26===ve()||(19===ve()||1===ve()||s.hasPrecedingLineBreak())}function Ke(){return Je()?(26===ve()&&xe(),!0):Ie(26)}function ze(t,r,n,i){var a=L.createNodeArray(t,i);return e.setTextRangePosEnd(a,r,null!=n?n:s.getStartPos()),a}function Ue(t,r,n){return e.setTextRangePosEnd(t,r,null!=n?n:s.getStartPos()),O&&(t.flags|=O),B&&(B=!1,t.flags|=65536),t}function Ve(t,r,n,i){r?_e(s.getStartPos(),0,n,i):n&&de(n,i);var a=me();return Ue(78===t?L.createIdentifier(\"\",void 0,void 0):e.isTemplateLiteralKind(t)?L.createTemplateLiteralLikeNode(t,\"\",\"\",void 0):8===t?L.createNumericLiteral(\"\",void 0):10===t?L.createStringLiteral(\"\",void 0):271===t?L.createMissingDeclaration():L.createToken(t),a)}function qe(e){var t=F.get(e);return void 0===t&&F.set(e,t=e),t}function We(t,r,n){if(P++,t){var i=me(),a=ve(),o=qe(s.getTokenValue());return he(),Ue(L.createIdentifier(o,void 0,a),i)}if(79===ve())return de(n||e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),We(!0);var c=1===ve(),u=s.isReservedWord(),l=s.getTokenText(),d=u?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:e.Diagnostics.Identifier_expected;return Ve(78,c,r||d,l)}function He(e){return We(Pe(),void 0,e)}function Ge(e,t){return We(we(),e,t)}function Ye(t){return We(e.tokenIsIdentifierOrKeyword(ve()),t)}function Xe(){return e.tokenIsIdentifierOrKeyword(ve())||10===ve()||8===ve()}function Qe(e){if(10===ve()||8===ve()){var t=It();return t.text=qe(t.text),t}return e&&22===ve()?function(){var e=me();Ie(22);var t=ie(Br);return Ie(23),Ue(L.createComputedPropertyName(t),e)}():79===ve()?Ze():Ye()}function $e(){return Qe(!0)}function Ze(){var e,t,r=me(),n=L.createPrivateIdentifier((e=s.getTokenText(),void 0===(t=N.get(e))&&N.set(e,t=e),t));return xe(),Ue(n,r)}function et(e){return ve()===e&&Ne(rt)}function tt(){return xe(),!s.hasPrecedingLineBreak()&&at()}function rt(){switch(ve()){case 84:return 91===xe();case 92:return xe(),87===ve()?Fe(ot):149===ve()?Fe(it):nt();case 87:return ot();case 123:case 134:case 146:return xe(),at();default:return tt()}}function nt(){return 41!==ve()&&126!==ve()&&18!==ve()&&at()}function it(){return xe(),nt()}function at(){return 22===ve()||18===ve()||41===ve()||25===ve()||Xe()}function ot(){return xe(),83===ve()||97===ve()||117===ve()||125===ve()&&Fe(Ln)||129===ve()&&Fe(Rn)}function st(t,r){if(vt(t))return!0;switch(t){case 0:case 1:case 3:return!(26===ve()&&r)&&Kn();case 2:return 81===ve()||87===ve();case 4:return Fe(nr);case 5:return Fe(li)||26===ve()&&!r;case 6:return 22===ve()||Xe();case 12:switch(ve()){case 22:case 41:case 25:case 24:return!0;default:return Xe()}case 18:return Xe();case 9:return 22===ve()||25===ve()||Xe();case 7:return 18===ve()?Fe(ct):r?we()&&!_t():Lr()&&!_t();case 8:return Qn();case 10:return 27===ve()||25===ve()||Qn();case 19:return we();case 15:switch(ve()){case 27:case 24:return!0}case 11:return 25===ve()||Rr();case 16:return qt(!1);case 17:return qt(!0);case 20:case 21:return 27===ve()||br();case 22:return Ei();case 23:return e.tokenIsIdentifierOrKeyword(ve());case 13:return e.tokenIsIdentifierOrKeyword(ve())||18===ve();case 14:return!0}return e.Debug.fail(\"Non-exhaustive case in 'isListElement'.\")}function ct(){if(e.Debug.assert(18===ve()),19===xe()){var t=xe();return 27===t||18===t||93===t||116===t}return!0}function ut(){return xe(),we()}function lt(){return xe(),e.tokenIsIdentifierOrKeyword(ve())}function dt(){return xe(),e.tokenIsIdentifierOrKeywordOrGreaterThan(ve())}function _t(){return(116===ve()||93===ve())&&Fe(pt)}function pt(){return xe(),Rr()}function ft(){return xe(),br()}function gt(e){if(1===ve())return!0;switch(e){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:return 19===ve();case 3:return 19===ve()||81===ve()||87===ve();case 7:return 18===ve()||93===ve()||116===ve();case 8:return function(){if(Je())return!0;if(Gr(ve()))return!0;if(38===ve())return!0;return!1}();case 19:return 31===ve()||20===ve()||18===ve()||93===ve()||116===ve();case 11:return 21===ve()||26===ve();case 15:case 21:case 10:return 23===ve();case 17:case 16:case 18:return 21===ve()||23===ve();case 20:return 27!==ve();case 22:return 18===ve()||19===ve();case 13:return 31===ve()||43===ve();case 14:return 29===ve()&&Fe(Ni);default:return!1}}function mt(e,t){var r=w;w|=1<=0)}function bt(t){return 6===t?e.Diagnostics.An_enum_member_name_must_be_followed_by_a_or:void 0}function St(){var e=ze([],me());return e.isMissingList=!0,e}function Et(e,t,r,n){if(Ie(r)){var i=xt(e,t);return Ie(n),i}return St()}function Tt(e,t){for(var r=me(),n=e?Ye(t):Ge(t),i=me();Me(24);){if(29===ve()){n.jsdocDotPos=i;break}i=me(),n=Ue(L.createQualifiedName(n,kt(e,!1)),r)}return n}function Ct(e,t){return Ue(L.createQualifiedName(e,t),e.pos)}function kt(t,r){if(s.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(ve())&&Fe(Mn))return Ve(78,!0,e.Diagnostics.Identifier_expected);if(79===ve()){var n=Ze();return r?n:Ve(78,!0,e.Diagnostics.Identifier_expected)}return t?Ye():Ge()}function At(e){var t=me();return Ue(L.createTemplateExpression(Ot(e),function(e){var t,r=me(),n=[];do{t=wt(e),n.push(t)}while(16===t.literal.kind);return ze(n,r)}(e)),t)}function Ft(){var e=me();return Ue(L.createTemplateLiteralType(Ot(!1),function(){var e,t=me(),r=[];do{e=Nt(),r.push(e)}while(16===e.literal.kind);return ze(r,t)}()),e)}function Nt(){var e=me();return Ue(L.createTemplateLiteralTypeSpan(Ir(),Pt(!1)),e)}function Pt(t){return 19===ve()?(function(e){k=s.reScanTemplateToken(e)}(t),r=Mt(ve()),e.Debug.assert(16===r.kind||17===r.kind,\"Template fragment has wrong token kind\"),r):Be(17,e.Diagnostics._0_expected,e.tokenToString(19));var r}function wt(e){var t=me();return Ue(L.createTemplateSpan(ie(Br),Pt(e)),t)}function It(){return Mt(ve())}function Ot(t){t&&Ee();var r=Mt(ve());return e.Debug.assert(15===r.kind,\"Template head has wrong token kind\"),r}function Mt(t){var r=me(),n=e.isTemplateLiteralKind(t)?L.createTemplateLiteralLikeNode(t,s.getTokenValue(),function(e){var t=14===e||17===e,r=s.getTokenText();return r.substring(1,r.length-(s.isUnterminated()?0:t?1:2))}(t),2048&s.getTokenFlags()):8===t?L.createNumericLiteral(s.getTokenValue(),s.getNumericLiteralFlags()):10===t?L.createStringLiteral(s.getTokenValue(),void 0,s.hasExtendedUnicodeEscape()):e.isLiteralKind(t)?L.createLiteralLikeNode(t,s.getTokenValue()):e.Debug.fail();return s.hasExtendedUnicodeEscape()&&(n.hasExtendedUnicodeEscape=!0),s.isUnterminated()&&(n.isUnterminated=!0),xe(),Ue(n,r)}function Lt(){return Tt(!0,e.Diagnostics.Type_expected)}function Rt(){if(!s.hasPrecedingLineBreak()&&29===Te())return Et(20,Ir,29,31)}function Bt(){var e=me();return Ue(L.createTypeReferenceNode(Lt(),Rt()),e)}function jt(t){switch(t.kind){case 173:return e.nodeIsMissing(t.typeName);case 174:case 175:var r=t,n=r.parameters,i=r.type;return!!n.isMissingList||jt(i);case 186:return jt(t.type);default:return!1}}function Jt(){var e=me();return xe(),Ue(L.createThisTypeNode(),e)}function Kt(){var e,t=me();return 107!==ve()&&102!==ve()||(e=Ye(),Ie(58)),Ue(L.createParameterDeclaration(void 0,void 0,void 0,e,void 0,zt(),void 0),t)}function zt(){s.setInJSDocType(!0);var e=me();if(Me(139)){var t=L.createJSDocNamepathType(void 0);e:for(;;)switch(ve()){case 19:case 1:case 27:case 5:break e;default:be()}return s.setInJSDocType(!1),Ue(t,e)}var r=Me(25),n=Pr();return s.setInJSDocType(!1),r&&(n=Ue(L.createJSDocVariadicType(n),e)),62===ve()?(xe(),Ue(L.createJSDocOptionalType(n),e)):n}function Ut(){var e,t,r=me(),n=Ge();Me(93)&&(br()||!Rr()?e=Ir():t=$r());var i=Me(62)?Ir():void 0,a=L.createTypeParameterDeclaration(n,e,i);return a.expression=t,Ue(a,r)}function Vt(){if(29===ve())return Et(19,Ut,29,31)}function qt(t){return 25===ve()||Qn()||e.isModifierKind(ve())||59===ve()||br(!t)}function Wt(){return Gt(!0)}function Ht(){return Gt(!1)}function Gt(t){var r=me(),n=ye();if(107===ve())return U(Ue(L.createParameterDeclaration(void 0,void 0,void 0,We(!0),void 0,Mr(),void 0),r),n);var i=t?ae(pi):pi(),a=R;R=!1;var o=gi(),s=U(Ue(L.createParameterDeclaration(i,o,Le(25),function(t){var r=$n(e.Diagnostics.Private_identifiers_cannot_be_used_as_parameters);return 0===e.getFullWidth(r)&&!e.some(t)&&e.isModifierKind(ve())&&xe(),r}(o),Le(57),Mr(),jr()),r),n);return R=a,s}function Yt(t,r){if(function(t,r){if(38===t)return Ie(t),!0;if(Me(58))return!0;if(r&&38===ve())return de(e.Diagnostics._0_expected,e.tokenToString(58)),xe(),!0;return!1}(t,r))return Pr()}function Xt(e){var t=se(),r=le();Z(!!(1&e)),te(!!(2&e));var n=32&e?xt(17,Kt):xt(16,r?Wt:Ht);return Z(t),te(r),n}function Qt(e){if(!Ie(20))return St();var t=Xt(e);return Ie(21),t}function $t(){Me(27)||Ke()}function Zt(e){var t=me(),r=ye();170===e&&Ie(102);var n=Vt(),i=Qt(4),a=Yt(58,!0);return $t(),U(Ue(169===e?L.createCallSignature(n,i,a):L.createConstructSignature(n,i,a),t),r)}function er(){return 22===ve()&&Fe(tr)}function tr(){if(xe(),25===ve()||23===ve())return!0;if(e.isModifierKind(ve())){if(xe(),we())return!0}else{if(!we())return!1;xe()}return 58===ve()||27===ve()||57===ve()&&(xe(),58===ve()||27===ve()||23===ve())}function rr(e,t,r,n){var i=Et(16,Ht,22,23),a=Mr();return $t(),U(Ue(L.createIndexSignature(r,n,i,a),e),t)}function nr(){if(20===ve()||29===ve())return!0;for(var t=!1;e.isModifierKind(ve());)t=!0,xe();return 22===ve()||(Xe()&&(t=!0,xe()),!!t&&(20===ve()||29===ve()||57===ve()||58===ve()||27===ve()||Je()))}function ir(){if(20===ve()||29===ve())return Zt(169);if(102===ve()&&Fe(ar))return Zt(170);var e=me(),t=ye(),r=gi();return er()?rr(e,t,void 0,r):function(e,t,r){var n,i=$e(),a=Le(57);if(20===ve()||29===ve()){var o=Vt(),s=Qt(4),c=Yt(58,!0);n=L.createMethodSignature(r,i,a,o,s,c)}else c=Mr(),n=L.createPropertySignature(r,i,a,c),62===ve()&&(n.initializer=jr());return $t(),U(Ue(n,e),t)}(e,t,r)}function ar(){return xe(),20===ve()||29===ve()}function or(){return 24===xe()}function sr(){switch(xe()){case 20:case 29:case 24:return!0}return!1}function cr(){var e;return Ie(18)?(e=mt(4,ir),Ie(19)):e=St(),e}function ur(){return xe(),39===ve()||40===ve()?142===xe():(142===ve()&&xe(),22===ve()&&ut()&&100===xe())}function lr(){var e,t=me();Ie(18),142!==ve()&&39!==ve()&&40!==ve()||142!==(e=je()).kind&&Ie(142),Ie(22);var r,n=function(){var e=me(),t=Ye();Ie(100);var r=Ir();return Ue(L.createTypeParameterDeclaration(t,r,void 0),e)}(),i=Me(126)?Ir():void 0;Ie(23),57!==ve()&&39!==ve()&&40!==ve()||57!==(r=je()).kind&&Ie(57);var a=Mr();return Ke(),Ie(19),Ue(L.createMappedTypeNode(e,n,i,r,a),t)}function dr(){var t=me();if(Me(25))return Ue(L.createRestTypeNode(Ir()),t);var r=Ir();if(e.isJSDocNullableType(r)&&r.pos===r.type.pos){var n=L.createOptionalTypeNode(r.type);return e.setTextRange(n,r),n.flags=r.flags,n}return r}function _r(){return 58===xe()||57===ve()&&58===xe()}function pr(){return 25===ve()?e.tokenIsIdentifierOrKeyword(xe())&&_r():e.tokenIsIdentifierOrKeyword(ve())&&_r()}function fr(){if(Fe(pr)){var e=me(),t=ye(),r=Le(25),n=Ye(),i=Le(57);Ie(58);var a=dr();return U(Ue(L.createNamedTupleMember(r,n,i,a),e),t)}return dr()}function gr(){var e=me(),t=ye(),r=Me(102),n=Vt(),i=Qt(4),a=Yt(38,!1);return U(Ue(r?L.createConstructorTypeNode(n,i,a):L.createFunctionTypeNode(n,i,a),e),t)}function mr(){var e=je();return 24===ve()?void 0:e}function yr(e){var t=me();e&&xe();var r=109===ve()||94===ve()||103===ve()?je():Mt(ve());return e&&(r=Ue(L.createPrefixUnaryExpression(40,r),t)),Ue(L.createLiteralTypeNode(r),t)}function vr(){return xe(),99===ve()}function hr(){v|=1048576;var e=me(),t=Me(111);Ie(99),Ie(20);var r=Ir();Ie(21);var n=Me(24)?Lt():void 0,i=Rt();return Ue(L.createImportTypeNode(r,n,i,t),e)}function Dr(){return xe(),8===ve()||9===ve()}function xr(){switch(ve()){case 128:case 152:case 147:case 144:case 155:case 148:case 131:case 150:case 141:case 145:return Ne(mr)||Bt();case 65:s.reScanAsteriskEqualsToken();case 41:return r=me(),xe(),Ue(L.createJSDocAllType(),r);case 60:s.reScanQuestionToken();case 57:return function(){var e=me();return xe(),27===ve()||19===ve()||21===ve()||31===ve()||62===ve()||51===ve()?Ue(L.createJSDocUnknownType(),e):Ue(L.createJSDocNullableType(Ir()),e)}();case 97:return function(){var e=me(),t=ye();if(Fe(Fi)){xe();var r=Qt(36),n=Yt(58,!1);return U(Ue(L.createJSDocFunctionType(r,n),e),t)}return Ue(L.createTypeReferenceNode(Ye(),void 0),e)}();case 53:return function(){var e=me();return xe(),Ue(L.createJSDocNonNullableType(xr()),e)}();case 14:case 10:case 8:case 9:case 109:case 94:case 103:return yr();case 40:return Fe(Dr)?yr(!0):Bt();case 113:return je();case 107:var e=Jt();return 137!==ve()||s.hasPrecedingLineBreak()?e:(t=e,xe(),Ue(L.createTypePredicateNode(void 0,t,Ir()),t.pos));case 111:return Fe(vr)?hr():function(){var e=me();return Ie(111),Ue(L.createTypeQueryNode(Tt(!0)),e)}();case 18:return Fe(ur)?lr():function(){var e=me();return Ue(L.createTypeLiteralNode(cr()),e)}();case 22:return function(){var e=me();return Ue(L.createTupleTypeNode(Et(21,fr,22,23)),e)}();case 20:return function(){var e=me();Ie(20);var t=Ir();return Ie(21),Ue(L.createParenthesizedType(t),e)}();case 99:return hr();case 127:return Fe(Mn)?function(){var e=me(),t=Be(127),r=107===ve()?Jt():Ge(),n=Me(137)?Ir():void 0;return Ue(L.createTypePredicateNode(t,r,n),e)}():Bt();case 15:return Ft();default:return Bt()}var t,r}function br(e){switch(ve()){case 128:case 152:case 147:case 144:case 155:case 131:case 142:case 148:case 151:case 113:case 150:case 103:case 107:case 111:case 141:case 18:case 22:case 29:case 51:case 50:case 102:case 10:case 8:case 9:case 109:case 94:case 145:case 41:case 57:case 53:case 25:case 135:case 99:case 127:case 14:case 15:return!0;case 97:return!e;case 40:return!e&&Fe(Dr);case 20:return!e&&Fe(Sr);default:return we()}}function Sr(){return xe(),21===ve()||qt(!1)||br()}function Er(){var e=me();return Ie(135),Ue(L.createInferTypeNode(function(){var e=me();return Ue(L.createTypeParameterDeclaration(Ge(),void 0,void 0),e)}()),e)}function Tr(){var e=ve();switch(e){case 138:case 151:case 142:return function(e){var t=me();return Ie(e),Ue(L.createTypeOperatorNode(e,Tr()),t)}(e);case 135:return Er()}return function(){for(var e=me(),t=xr();!s.hasPrecedingLineBreak();)switch(ve()){case 53:xe(),t=Ue(L.createJSDocNonNullableType(t),e);break;case 57:if(Fe(ft))return t;xe(),t=Ue(L.createJSDocNullableType(t),e);break;case 22:if(Ie(22),br()){var r=Ir();Ie(23),t=Ue(L.createIndexedAccessTypeNode(t,r),e)}else Ie(23),t=Ue(L.createArrayTypeNode(t),e);break;default:return t}return t}()}function Cr(t){if(Fr()){var r=gr();return fe(r,e.isFunctionTypeNode(r)?t?e.Diagnostics.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:e.Diagnostics.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t?e.Diagnostics.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:e.Diagnostics.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type),r}}function kr(e,t,r){var n=me(),i=51===e,a=Me(e),o=a&&Cr(i)||t();if(ve()===e||a){for(var s=[o];Me(e);)s.push(Cr(i)||t());o=Ue(r(ze(s,n)),n)}return o}function Ar(){return kr(50,Tr,L.createIntersectionTypeNode)}function Fr(){return 29===ve()||(!(20!==ve()||!Fe(Nr))||102===ve())}function Nr(){if(xe(),21===ve()||25===ve())return!0;if(function(){if(e.isModifierKind(ve())&&gi(),we()||107===ve())return xe(),!0;if(22===ve()||18===ve()){var t=S.length;return $n(),t===S.length}return!1}()){if(58===ve()||27===ve()||57===ve()||62===ve())return!0;if(21===ve()&&(xe(),38===ve()))return!0}return!1}function Pr(){var e=me(),t=we()&&Ne(wr),r=Ir();return t?Ue(L.createTypePredicateNode(void 0,t,r),e):r}function wr(){var e=Ge();if(137===ve()&&!s.hasPrecedingLineBreak())return xe(),e}function Ir(){return re(40960,Or)}function Or(e){if(Fr())return gr();var t=me(),r=kr(51,Ar,L.createUnionTypeNode);if(!e&&!s.hasPrecedingLineBreak()&&Me(93)){var n=Or(!0);Ie(57);var i=Or();Ie(58);var a=Or();return Ue(L.createConditionalTypeNode(r,n,i,a),t)}return r}function Mr(){return Me(58)?Ir():void 0}function Lr(){switch(ve()){case 107:case 105:case 103:case 109:case 94:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 97:case 83:case 102:case 43:case 67:case 78:return!0;case 99:return Fe(sr);default:return we()}}function Rr(){if(Lr())return!0;switch(ve()){case 39:case 40:case 54:case 53:case 88:case 111:case 113:case 45:case 46:case 29:case 130:case 124:case 79:return!0;default:return!!function(){if(ce()&&100===ve())return!1;return e.getBinaryOperatorPrecedence(ve())>0}()||we()}}function Br(){var e=ue();e&&ee(!1);for(var t,r=me(),n=Jr();t=Le(27);)n=Xr(n,t,Jr(),r);return e&&ee(!0),n}function jr(){return Me(62)?Jr():void 0}function Jr(){if(function(){if(124===ve())return!!se()||Fe(Bn);return!1}())return function(){var e=me();return xe(),s.hasPrecedingLineBreak()||41!==ve()&&!Rr()?Ue(L.createYieldExpression(void 0,void 0),e):Ue(L.createYieldExpression(Le(41),Jr()),e)}();var t=function(){var e=function(){if(20===ve()||29===ve()||129===ve())return Fe(zr);if(38===ve())return 1;return 0}();if(0===e)return;return 1===e?qr(!0):Ne(Ur)}()||function(){if(129===ve()&&1===Fe(Vr)){var e=me(),t=mi();return Kr(e,Hr(0),t)}return}();if(t)return t;var r=me(),n=Hr(0);return 78===n.kind&&38===ve()?Kr(r,n,void 0):e.isLeftHandSideExpression(n)&&e.isAssignmentOperator(Se())?Xr(n,je(),Jr(),r):function(t,r){var n,i=Le(57);if(!i)return t;return Ue(L.createConditionalExpression(t,i,re(c,Jr),n=Be(58),e.nodeIsPresent(n)?Jr():Ve(78,!1,e.Diagnostics._0_expected,e.tokenToString(58))),r)}(n,r)}function Kr(t,r,n){e.Debug.assert(38===ve(),\"parseSimpleArrowFunctionExpression should only have been called if we had a =>\");var i=L.createParameterDeclaration(void 0,void 0,void 0,r,void 0,void 0,void 0);Ue(i,r.pos);var a=ze([i],i.pos,i.end),o=Be(38),s=Wr(!!n);return G(Ue(L.createArrowFunction(n,void 0,a,void 0,o,s),t))}function zr(){if(129===ve()){if(xe(),s.hasPrecedingLineBreak())return 0;if(20!==ve()&&29!==ve())return 0}var t=ve(),r=xe();if(20===t){if(21===r)switch(xe()){case 38:case 58:case 18:return 1;default:return 0}if(22===r||18===r)return 2;if(25===r)return 1;if(e.isModifierKind(r)&&129!==r&&Fe(ut))return 1;if(!we()&&107!==r)return 0;switch(xe()){case 58:return 1;case 57:return xe(),58===ve()||27===ve()||62===ve()||21===ve()?1:0;case 27:case 62:case 21:return 2}return 0}return e.Debug.assert(29===t),we()?1===b?Fe((function(){var e=xe();if(93===e)switch(xe()){case 62:case 31:return!1;default:return!0}else if(27===e)return!0;return!1}))?1:0:2:0}function Ur(){var t=s.getTokenPos();if(!(null==I?void 0:I.has(t))){var r=qr(!1);return r||(I||(I=new e.Set)).add(t),r}}function Vr(){if(129===ve()){if(xe(),s.hasPrecedingLineBreak()||38===ve())return 0;var e=Hr(0);if(!s.hasPrecedingLineBreak()&&78===e.kind&&38===ve())return 1}return 0}function qr(t){var r,n=me(),i=ye(),a=mi(),o=e.some(a,e.isAsyncModifier)?2:0,s=Vt();if(Ie(20)){if(r=Xt(o),!Ie(21)&&!t)return}else{if(!t)return;r=St()}var c=Yt(58,!1);if(!c||t||!jt(c)){var u=c&&e.isJSDocFunctionType(c);if(t||38===ve()||!u&&18===ve()){var l=ve(),d=Be(38),_=38===l||18===l?Wr(e.some(a,e.isAsyncModifier)):Ge();return U(Ue(L.createArrowFunction(a,s,r,c,d,_),n),i)}}}function Wr(e){if(18===ve())return Fn(e?2:0);if(26!==ve()&&97!==ve()&&83!==ve()&&Kn()&&(18===ve()||97===ve()||83===ve()||59===ve()||!Rr()))return Fn(16|(e?2:0));var t=R;R=!1;var r=e?ae(Jr):re(32768,Jr);return R=t,r}function Hr(e){var t=me();return Yr(e,$r(),t)}function Gr(e){return 100===e||156===e}function Yr(t,r,n){for(;;){Se();var i=e.getBinaryOperatorPrecedence(ve());if(!(42===ve()?i>=t:i>t))break;if(100===ve()&&ce())break;if(126===ve()){if(s.hasPrecedingLineBreak())break;xe(),a=r,o=Ir(),r=Ue(L.createAsExpression(a,o),a.pos)}else r=Xr(r,je(),Hr(i),n)}var a,o;return r}function Xr(e,t,r,n){return Ue(L.createBinaryExpression(e,t,r),n)}function Qr(){var e=me();return Ue(L.createPrefixUnaryExpression(ve(),De(Zr)),e)}function $r(){if(function(){switch(ve()){case 39:case 40:case 54:case 53:case 88:case 111:case 113:case 130:return!1;case 29:if(1!==b)return!1;default:return!0}}()){var t=me(),r=en();return 42===ve()?Yr(e.getBinaryOperatorPrecedence(ve()),r,t):r}var n=ve(),i=Zr();if(42===ve()){t=e.skipTrivia(h,i.pos);var a=i.end;206===i.kind?pe(t,a,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):pe(t,a,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(n))}return i}function Zr(){switch(ve()){case 39:case 40:case 54:case 53:return Qr();case 88:return e=me(),Ue(L.createDeleteExpression(De(Zr)),e);case 111:return function(){var e=me();return Ue(L.createTypeOfExpression(De(Zr)),e)}();case 113:return function(){var e=me();return Ue(L.createVoidExpression(De(Zr)),e)}();case 29:return function(){var e=me();Ie(29);var t=Ir();Ie(31);var r=Zr();return Ue(L.createTypeAssertion(t,r),e)}();case 130:if(130===ve()&&(le()||Fe(Bn)))return function(){var e=me();return Ue(L.createAwaitExpression(De(Zr)),e)}();default:return en()}var e}function en(){if(45===ve()||46===ve()){var t=me();return Ue(L.createPrefixUnaryExpression(ve(),De(tn)),t)}if(1===b&&29===ve()&&Fe(dt))return nn(!0);var r=tn();if(e.Debug.assert(e.isLeftHandSideExpression(r)),(45===ve()||46===ve())&&!s.hasPrecedingLineBreak()){var n=ve();return xe(),Ue(L.createPostfixUnaryExpression(r,n),r.pos)}return r}function tn(){var t,r=me();return 99===ve()?Fe(ar)?(v|=1048576,t=je()):Fe(or)?(xe(),xe(),t=Ue(L.createMetaProperty(99,Ye()),r),v|=2097152):t=rn():t=105===ve()?function(){var t=me(),r=je();if(29===ve()){var n=me();void 0!==Ne(hn)&&pe(n,me(),e.Diagnostics.super_may_not_use_type_arguments)}if(20===ve()||24===ve()||22===ve())return r;return Be(24,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access),Ue(L.createPropertyAccessExpression(r,kt(!0,!0)),t)}():rn(),yn(r,t)}function rn(){return fn(me(),Dn(),!0)}function nn(t,r){var n,i=me(),a=function(e){var t=me();if(Ie(29),31===ve())return ke(),Ue(L.createJsxOpeningFragment(),t);var r,n=sn(),i=Si(),a=function(){var e=me();return Ue(L.createJsxAttributes(mt(13,un)),e)}();31===ve()?(ke(),r=L.createJsxOpeningElement(n,i,a)):(Ie(43),e?Ie(31):(Ie(31,void 0,!1),ke()),r=L.createJsxSelfClosingElement(n,i,a));return Ue(r,t)}(t);if(275===a.kind){var o=on(a),s=function(e){var t=me();Ie(30);var r=sn();e?Ie(31):(Ie(31,void 0,!1),ke());return Ue(L.createJsxClosingElement(r),t)}(t);E(a.tagName,s.tagName)||fe(s,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(h,a.tagName)),n=Ue(L.createJsxElement(a,o,s),i)}else 278===a.kind?n=Ue(L.createJsxFragment(a,on(a),function(t){var r=me();Ie(30),e.tokenIsIdentifierOrKeyword(ve())&&fe(sn(),e.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment);t?Ie(31):(Ie(31,void 0,!1),ke());return Ue(L.createJsxJsxClosingFragment(),r)}(t)),i):(e.Debug.assert(274===a.kind),n=a);if(t&&29===ve()){var c=void 0===r?n.pos:r,u=Ne((function(){return nn(!0,c)}));if(u){var l=Ve(27,!1);return e.setTextRangePosWidth(l,u.pos,0),pe(e.skipTrivia(h,c),u.end,e.Diagnostics.JSX_expressions_must_have_one_parent_element),Ue(L.createBinaryExpression(n,l,u),i)}}return n}function an(t,r){switch(r){case 1:if(e.isJsxOpeningFragment(t))fe(t,e.Diagnostics.JSX_fragment_has_no_corresponding_closing_tag);else{var n=t.tagName;pe(e.skipTrivia(h,n.pos),n.end,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(h,t.tagName))}return;case 30:case 7:return;case 11:case 12:return function(){var e=me(),t=L.createJsxText(s.getTokenValue(),12===k);return k=s.scanJsxToken(),Ue(t,e)}();case 18:return cn(!1);case 29:return nn(!1);default:return e.Debug.assertNever(r)}}function on(e){var t=[],r=me(),n=w;for(w|=16384;;){var i=an(e,k=s.reScanJsxToken());if(!i)break;t.push(i)}return w=n,ze(t,r)}function sn(){var e=me();Ce();for(var t=107===ve()?je():Ye();Me(24);)t=Ue(L.createPropertyAccessExpression(t,kt(!0,!1)),e);return t}function cn(e){var t,r,n=me();if(Ie(18))return 19!==ve()&&(t=Le(25),r=Br()),e?Ie(19):Ie(19,void 0,!1)&&ke(),Ue(L.createJsxExpression(t,r),n)}function un(){if(18===ve())return function(){var e=me();Ie(18),Ie(25);var t=Br();return Ie(19),Ue(L.createJsxSpreadAttribute(t),e)}();Ce();var e=me();return Ue(L.createJsxAttribute(Ye(),62!==ve()?void 0:10===(k=s.scanJsxAttributeValue())?It():cn(!0)),e)}function ln(){return xe(),e.tokenIsIdentifierOrKeyword(ve())||22===ve()||gn()}function dn(t){if(32&t.flags)return!0;if(e.isNonNullExpression(t)){for(var r=t.expression;e.isNonNullExpression(r)&&!(32&r.flags);)r=r.expression;if(32&r.flags){for(;e.isNonNullExpression(t);)t.flags|=32,t=t.expression;return!0}}return!1}function _n(t,r,n){var i=kt(!0,!0),a=n||dn(r),o=a?L.createPropertyAccessChain(r,n,i):L.createPropertyAccessExpression(r,i);return a&&e.isPrivateIdentifier(o.name)&&fe(o.name,e.Diagnostics.An_optional_chain_cannot_contain_private_identifiers),Ue(o,t)}function pn(t,r,n){var i;if(23===ve())i=Ve(78,!0,e.Diagnostics.An_element_access_expression_should_take_an_argument);else{var a=ie(Br);e.isStringOrNumericLiteralLike(a)&&(a.text=qe(a.text)),i=a}return Ie(23),Ue(n||dn(r)?L.createElementAccessChain(r,n,i):L.createElementAccessExpression(r,i),t)}function fn(t,r,n){for(;;){var i=void 0,a=!1;if(n&&28===ve()&&Fe(ln)?(i=Be(28),a=e.tokenIsIdentifierOrKeyword(ve())):a=Me(24),a)r=_n(t,r,i);else if(i||53!==ve()||s.hasPrecedingLineBreak())if(!i&&ue()||!Me(22)){if(!gn())return r;r=mn(t,r,i,void 0)}else r=pn(t,r,i);else xe(),r=Ue(L.createNonNullExpression(r),t)}}function gn(){return 14===ve()||15===ve()}function mn(e,t,r,n){var i=L.createTaggedTemplateExpression(t,n,14===ve()?(Ee(),It()):At(!0));return(r||32&t.flags)&&(i.flags|=32),i.questionDotToken=r,Ue(i,e)}function yn(t,r){for(;;){r=fn(t,r,!0);var n=Le(28);if(29===ve()||47===ve()){var i=Ne(hn);if(i){if(gn()){r=mn(t,r,n,i);continue}var a=vn();r=Ue(n||dn(r)?L.createCallChain(r,n,i,a):L.createCallExpression(r,i,a),t);continue}}else if(20===ve()){a=vn();r=Ue(n||dn(r)?L.createCallChain(r,n,void 0,a):L.createCallExpression(r,void 0,a),t);continue}if(n){var o=Ve(78,!1,e.Diagnostics.Identifier_expected);r=Ue(L.createPropertyAccessChain(r,n,o),t)}break}return r}function vn(){Ie(20);var e=xt(11,bn);return Ie(21),e}function hn(){if(29===Te()){xe();var e=xt(20,Ir);if(Ie(31))return e&&function(){switch(ve()){case 20:case 14:case 15:case 24:case 21:case 23:case 58:case 26:case 57:case 34:case 36:case 35:case 37:case 55:case 56:case 60:case 52:case 50:case 51:case 19:case 1:return!0;case 27:case 18:default:return!1}}()?e:void 0}}function Dn(){switch(ve()){case 8:case 9:case 10:case 14:return It();case 107:case 105:case 103:case 109:case 94:return je();case 20:return function(){var e=me(),t=ye();Ie(20);var r=ie(Br);return Ie(21),U(Ue(L.createParenthesizedExpression(r),e),t)}();case 22:return Sn();case 18:return Tn();case 129:if(!Fe(Rn))break;return Cn();case 83:return hi(me(),ye(),void 0,void 0,221);case 97:return Cn();case 102:return function(){var t=me();if(Ie(102),Me(24)){var r=Ye();return Ue(L.createMetaProperty(102,r),t)}var n,i,a=me(),o=Dn();for(;;){o=fn(a,o,!1),n=Ne(hn),gn()&&(e.Debug.assert(!!n,\"Expected a type argument list; all plain tagged template starts should be consumed in 'parseMemberExpressionRest'\"),o=mn(a,o,void 0,n),n=void 0);break}20===ve()?i=vn():n&&pe(t,s.getStartPos(),e.Diagnostics.A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list);return Ue(L.createNewExpression(o,n,i),t)}();case 43:case 67:if(13===(k=s.reScanSlashToken()))return It();break;case 15:return At(!1)}return Ge(e.Diagnostics.Expression_expected)}function xn(){return 25===ve()?function(){var e=me();Ie(25);var t=Jr();return Ue(L.createSpreadElement(t),e)}():27===ve()?Ue(L.createOmittedExpression(),me()):Jr()}function bn(){return re(c,xn)}function Sn(){var e=me();Ie(22);var t=s.hasPrecedingLineBreak(),r=xt(15,xn);return Ie(23),Ue(L.createArrayLiteralExpression(r,t),e)}function En(){var e=me(),t=ye();if(Le(25)){var r=Jr();return U(Ue(L.createSpreadAssignment(r),e),t)}var n=pi(),i=gi();if(et(134))return ui(e,t,n,i,167);if(et(146))return ui(e,t,n,i,168);var a,o=Le(41),s=we(),c=$e(),u=Le(57),l=Le(53);if(o||20===ve()||29===ve())return oi(e,t,n,i,o,c,u,l);if(s&&58!==ve()){var d=Le(62),_=d?ie(Jr):void 0;(a=L.createShorthandPropertyAssignment(c,_)).equalsToken=d}else{Ie(58);var p=ie(Jr);a=L.createPropertyAssignment(c,p)}return a.decorators=n,a.modifiers=i,a.questionToken=u,a.exclamationToken=l,U(Ue(a,e),t)}function Tn(){var t=me(),r=s.getTokenPos();Ie(18);var n=s.hasPrecedingLineBreak(),i=xt(12,En,!0);if(!Ie(19)){var a=e.lastOrUndefined(S);a&&a.code===e.Diagnostics._0_expected.code&&e.addRelatedInfo(a,e.createDetachedDiagnostic(d,r,1,e.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here))}return Ue(L.createObjectLiteralExpression(i,n),t)}function Cn(){var t=ue();t&&ee(!1);var r=me(),n=ye(),i=gi();Ie(97);var a=Le(41),o=a?1:0,s=e.some(i,e.isAsyncModifier)?2:0,c=o&&s?ne(40960,kn):o?function(e){return ne(8192,e)}(kn):s?ae(kn):kn(),u=Vt(),l=Qt(o|s),d=Yt(58,!1),_=Fn(o|s);return t&&ee(!0),U(Ue(L.createFunctionExpression(i,a,c,u,l,d,_),r),n)}function kn(){return Pe()?He():void 0}function An(t,r){var n=me(),i=s.getTokenPos();if(Ie(18,r)||t){var a=s.hasPrecedingLineBreak(),o=mt(1,Un);if(!Ie(19)){var c=e.lastOrUndefined(S);c&&c.code===e.Diagnostics._0_expected.code&&e.addRelatedInfo(c,e.createDetachedDiagnostic(d,i,1,e.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here))}return Ue(L.createBlock(o,a),n)}o=St();return Ue(L.createBlock(o,void 0),n)}function Fn(e,t){var r=se();Z(!!(1&e));var n=le();te(!!(2&e));var i=R;R=!1;var a=ue();a&&ee(!1);var o=An(!!(16&e),t);return a&&ee(!0),R=i,Z(r),te(n),o}function Nn(){var e=me();Ie(96);var t,r,n=Le(130);if(Ie(20),26!==ve()&&(t=112===ve()||118===ve()||84===ve()?ti(!0):ne(4096,Br)),n?Ie(156):Me(156)){var i=ie(Jr);Ie(21),r=L.createForOfStatement(n,t,i,Un())}else if(Me(100)){i=ie(Br);Ie(21),r=L.createForInStatement(t,i,Un())}else{Ie(26);var a=26!==ve()&&21!==ve()?ie(Br):void 0;Ie(26);var o=21!==ve()?ie(Br):void 0;Ie(21),r=L.createForStatement(t,a,o,Un())}return Ue(r,e)}function Pn(e){var t=me();Ie(241===e?80:85);var r=Je()?void 0:Ge();return Ke(),Ue(241===e?L.createBreakStatement(r):L.createContinueStatement(r),t)}function wn(){return 81===ve()?function(){var e=me();Ie(81);var t=ie(Br);Ie(58);var r=mt(3,Un);return Ue(L.createCaseClause(t,r),e)}():function(){var e=me();Ie(87),Ie(58);var t=mt(3,Un);return Ue(L.createDefaultClause(t),e)}()}function In(){var e=me();Ie(106),Ie(20);var t=ie(Br);Ie(21);var r=function(){var e=me();Ie(18);var t=mt(2,wn);return Ie(19),Ue(L.createCaseBlock(t),e)}();return Ue(L.createSwitchStatement(t,r),e)}function On(){var e=me();Ie(110);var t,r=An(!1),n=82===ve()?function(){var e,t=me();Ie(82),Me(20)?(e=ei(),Ie(21)):e=void 0;var r=An(!1);return Ue(L.createCatchClause(e,r),t)}():void 0;return n&&95!==ve()||(Ie(95),t=An(!1)),Ue(L.createTryStatement(r,n,t),e)}function Mn(){return xe(),e.tokenIsIdentifierOrKeyword(ve())&&!s.hasPrecedingLineBreak()}function Ln(){return xe(),83===ve()&&!s.hasPrecedingLineBreak()}function Rn(){return xe(),97===ve()&&!s.hasPrecedingLineBreak()}function Bn(){return xe(),(e.tokenIsIdentifierOrKeyword(ve())||8===ve()||9===ve()||10===ve())&&!s.hasPrecedingLineBreak()}function jn(){for(;;)switch(ve()){case 112:case 118:case 84:case 97:case 83:case 91:return!0;case 117:case 149:return xe(),!s.hasPrecedingLineBreak()&&we();case 139:case 140:return Hn();case 125:case 129:case 133:case 120:case 121:case 122:case 142:if(xe(),s.hasPrecedingLineBreak())return!1;continue;case 154:return xe(),18===ve()||78===ve()||92===ve();case 99:return xe(),10===ve()||41===ve()||18===ve()||e.tokenIsIdentifierOrKeyword(ve());case 92:var t=xe();if(149===t&&(t=Fe(xe)),62===t||41===t||18===t||87===t||126===t)return!0;continue;case 123:xe();continue;default:return!1}}function Jn(){return Fe(jn)}function Kn(){switch(ve()){case 59:case 26:case 18:case 112:case 118:case 97:case 83:case 91:case 98:case 89:case 114:case 96:case 85:case 80:case 104:case 115:case 106:case 108:case 110:case 86:case 82:case 95:return!0;case 99:return Jn()||Fe(sr);case 84:case 92:return Jn();case 129:case 133:case 117:case 139:case 140:case 149:case 154:return!0;case 122:case 120:case 121:case 123:case 142:return Jn()||!Fe(Mn);default:return Rr()}}function zn(){return xe(),we()||18===ve()||22===ve()}function Un(){switch(ve()){case 26:return t=me(),Ie(26),Ue(L.createEmptyStatement(),t);case 18:return An(!1);case 112:return ni(me(),ye(),void 0,void 0);case 118:if(Fe(zn))return ni(me(),ye(),void 0,void 0);break;case 97:return ii(me(),ye(),void 0,void 0);case 83:return vi(me(),ye(),void 0,void 0);case 98:return function(){var e=me();Ie(98),Ie(20);var t=ie(Br);Ie(21);var r=Un(),n=Me(90)?Un():void 0;return Ue(L.createIfStatement(t,r,n),e)}();case 89:return function(){var e=me();Ie(89);var t=Un();Ie(114),Ie(20);var r=ie(Br);return Ie(21),Me(26),Ue(L.createDoStatement(t,r),e)}();case 114:return function(){var e=me();Ie(114),Ie(20);var t=ie(Br);Ie(21);var r=Un();return Ue(L.createWhileStatement(t,r),e)}();case 96:return Nn();case 85:return Pn(240);case 80:return Pn(241);case 104:return function(){var e=me();Ie(104);var t=Je()?void 0:ie(Br);return Ke(),Ue(L.createReturnStatement(t),e)}();case 115:return function(){var e=me();Ie(115),Ie(20);var t=ie(Br);Ie(21);var r=ne(16777216,Un);return Ue(L.createWithStatement(t,r),e)}();case 106:return In();case 108:return function(){var e=me();Ie(108);var t=s.hasPrecedingLineBreak()?void 0:ie(Br);return void 0===t&&(P++,t=Ue(L.createIdentifier(\"\"),me())),Ke(),Ue(L.createThrowStatement(t),e)}();case 110:case 82:case 95:return On();case 86:return function(){var e=me();return Ie(86),Ke(),Ue(L.createDebuggerStatement(),e)}();case 59:return qn();case 129:case 117:case 149:case 139:case 140:case 133:case 84:case 91:case 92:case 99:case 120:case 121:case 122:case 125:case 123:case 142:case 154:if(Jn())return qn()}var t;return function(){var t,r=me(),n=ye(),i=20===ve(),a=ie(Br);return e.isIdentifier(a)&&Me(58)?t=L.createLabeledStatement(a,Un()):(Ke(),t=L.createExpressionStatement(a),i&&(n=!1)),U(Ue(t,r),n)}()}function Vn(e){return 133===e.kind}function qn(){var t=e.some(Fe((function(){return pi(),gi()})),Vn);if(t){var r=ne(8388608,(function(){var e=vt(w);if(e)return ht(e)}));if(r)return r}var n=me(),i=ye(),a=pi(),o=gi();if(t){for(var s=0,c=o;s=0),e.Debug.assert(t<=o),e.Debug.assert(o<=a.length),_(a,t)){var c,u,l,p=[];return s.scanRange(t+3,i-5,(function(){var e,r,n,i=1,d=t-(a.lastIndexOf(\"\\n\",t)+1)+4;function _(t){e||(e=d),p.push(t),d+=t.length}for(be();J(5););J(4)&&(i=0,d=0);e:for(;;){switch(ve()){case 59:0===i||1===i?(g(p),E(D(d)),i=0,e=void 0):_(s.getTokenText());break;case 4:p.push(s.getTokenText()),i=0,d=0;break;case 41:var m=s.getTokenText();1===i||2===i?(i=2,_(m)):(i=1,d+=m.length);break;case 5:var y=s.getTokenText();2===i?p.push(y):void 0!==e&&d+y.length>e&&p.push(y.slice(e-d)),d+=y.length;break;case 1:break e;default:i=2,_(s.getTokenText())}be()}return f(p),g(p),r=p.length?p.join(\"\"):void 0,n=c&&ze(c,u,l),Ue(L.createJSDocComment(r,n),t,o)}))}function f(e){for(;e.length&&(\"\\n\"===e[0]||\"\\r\"===e[0]);)e.shift()}function g(e){for(;e.length&&\"\"===e[e.length-1].trim();)e.pop()}function m(){for(;;){if(be(),1===ve())return!0;if(5!==ve()&&4!==ve())return!1}}function y(){if(5!==ve()&&4!==ve()||!Fe(m))for(;5===ve()||4===ve();)be()}function v(){if((5===ve()||4===ve())&&Fe(m))return\"\";for(var e=s.hasPrecedingLineBreak(),t=!1,r=\"\";e&&41===ve()||5===ve()||4===ve();)r+=s.getTokenText(),4===ve()?(e=!0,t=!0,r=\"\"):41===ve()&&(e=!1),be();return t?r:\"\"}function D(t){e.Debug.assert(59===ve());var i=s.getTokenPos();be();var a,o=K(void 0),u=v();switch(o.escapedText){case\"author\":a=function(e,t,r,n){var i=Ne((function(){return function(){var e=[],t=!1,r=!1,n=s.getToken();e:for(;;){switch(n){case 78:case 5:case 24:case 59:e.push(s.getTokenText());break;case 29:if(t||r)return;t=!0,e.push(s.getTokenText());break;case 31:if(!t||r)return;r=!0,e.push(s.getTokenText()),s.setTextPos(s.getTokenPos()+1);break e;case 4:case 1:break e}n=be()}if(t&&r)return 0===e.length?void 0:e.join(\"\")}()}));if(!i){var a=me();return Ue(L.createJSDocAuthorTag(t,x(e,a,r,n)),e,a)}var o=i;if(Fe((function(){return 4!==xe()}))){var c=b(r);c&&(o+=c)}return Ue(L.createJSDocAuthorTag(t,o),e)}(i,o,t,u);break;case\"implements\":a=function(e,t,r,n){var i=N(),a=me();return Ue(L.createJSDocImplementsTag(t,i,x(e,a,r,n)),e,a)}(i,o,t,u);break;case\"augments\":case\"extends\":a=function(e,t,r,n){var i=N(),a=me();return Ue(L.createJSDocAugmentsTag(t,i,x(e,a,r,n)),e,a)}(i,o,t,u);break;case\"class\":case\"constructor\":a=w(i,L.createJSDocClassTag,o,t,u);break;case\"public\":a=w(i,L.createJSDocPublicTag,o,t,u);break;case\"private\":a=w(i,L.createJSDocPrivateTag,o,t,u);break;case\"protected\":a=w(i,L.createJSDocProtectedTag,o,t,u);break;case\"readonly\":a=w(i,L.createJSDocReadonlyTag,o,t,u);break;case\"deprecated\":H=!0,a=w(i,L.createJSDocDeprecatedTag,o,t,u);break;case\"this\":a=function(e,t,n,i){var a=r(!0);y();var o=me();return Ue(L.createJSDocThisTag(t,a,x(e,o,n,i)),e,o)}(i,o,t,u);break;case\"enum\":a=function(e,t,n,i){var a=r(!0);y();var o=me();return Ue(L.createJSDocEnumTag(t,a,x(e,o,n,i)),e,o)}(i,o,t,u);break;case\"arg\":case\"argument\":case\"param\":return A(i,o,2,t);case\"return\":case\"returns\":a=function(t,r,n,i){e.some(c,e.isJSDocReturnTag)&&pe(r.pos,s.getTokenPos(),e.Diagnostics._0_tag_already_specified,r.escapedText);var a=T(),o=me();return Ue(L.createJSDocReturnTag(r,a,x(t,o,n,i)),t,o)}(i,o,t,u);break;case\"template\":a=function(e,t,n,i){var a=18===ve()?r():void 0,o=function(){var e=me(),t=[];do{y(),t.push(j()),v()}while(J(27));return ze(t,e)}(),s=me();return Ue(L.createJSDocTemplateTag(t,a,o,x(e,s,n,i)),e,s)}(i,o,t,u);break;case\"type\":a=F(i,o,t,u);break;case\"typedef\":a=function(t,r,n,i){var a,o=T();v();var s=I();y();var c,u=b(n);if(!o||k(o.type)){for(var l=void 0,_=void 0,p=void 0,f=!1;l=Ne((function(){return M(n)}));)if(f=!0,329===l.kind){if(_){de(e.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);var g=e.lastOrUndefined(S);g&&e.addRelatedInfo(g,e.createDetachedDiagnostic(d,0,0,e.Diagnostics.The_tag_was_first_specified_here));break}_=l}else p=e.append(p,l);if(f){var m=o&&178===o.type.kind,h=L.createJSDocTypeLiteral(p,m);c=(o=_&&_.typeExpression&&!k(_.typeExpression.type)?_.typeExpression:Ue(h,t)).end}}c=c||void 0!==u?me():(null!==(a=null!=s?s:o)&&void 0!==a?a:r).end,u||(u=x(t,c,n,i));return Ue(L.createJSDocTypedefTag(r,o,s,u),t,c)}(i,o,t,u);break;case\"callback\":a=function(t,r,n,i){var a=I();y();var o=b(n),s=function(t){var r,n,i=me();for(;r=Ne((function(){return R(4,t)}));)n=e.append(n,r);return ze(n||[],i)}(n),c=Ne((function(){if(J(59)){var e=D(n);if(e&&327===e.kind)return e}})),u=Ue(L.createJSDocSignature(void 0,s,c),t),l=me();o||(o=x(t,l,n,i));return Ue(L.createJSDocCallbackTag(r,u,a,o),t,l)}(i,o,t,u);break;case\"see\":a=function(e,t,r,i){var a=n(),o=me(),s=void 0!==r&&void 0!==i?x(e,o,r,i):void 0;return Ue(L.createJSDocSeeTag(t,a,s),e,o)}(i,o,t,u);break;default:a=function(e,t,r,n){var i=me();return Ue(L.createJSDocUnknownTag(t,x(e,i,r,n)),e,i)}(i,o,t,u)}return a}function x(e,t,r,n){return n||(r+=t-e),b(r,n.slice(r))}function b(t,r){var n,i=[],a=0;function o(e){n||(n=t),i.push(e),t+=e.length}void 0!==r&&(\"\"!==r&&o(r),a=1);var c=ve();e:for(;;){switch(c){case 4:a=0,i.push(s.getTokenText()),t=0;break;case 59:if(3===a){i.push(s.getTokenText());break}s.setTextPos(s.getTextPos()-1);case 1:break e;case 5:if(2===a||3===a)o(s.getTokenText());else{var u=s.getTokenText();void 0!==n&&t+u.length>n&&i.push(u.slice(n-t)),t+=u.length}break;case 18:a=2,Fe((function(){return 59===be()&&e.tokenIsIdentifierOrKeyword(be())&&\"link\"===s.getTokenText()}))&&(o(s.getTokenText()),be(),o(s.getTokenText()),be()),o(s.getTokenText());break;case 61:a=3===a?2:3,o(s.getTokenText());break;case 41:if(0===a){a=1,t+=1;break}default:3!==a&&(a=2),o(s.getTokenText())}c=be()}return f(i),g(i),0===i.length?void 0:i.join(\"\")}function E(e){e&&(c?c.push(e):(c=[e],u=e.pos),l=e.end)}function T(){return v(),18===ve()?r():void 0}function C(){var t=J(22);t&&y();var r=J(61),n=function(){var e=K();Me(22)&&Ie(23);for(;Me(24);){var t=K();Me(22)&&Ie(23),e=Ct(e,t)}return e}();return r&&function(t){Re(t)||Ve(t,!1,e.Diagnostics._0_expected,e.tokenToString(t))}(61),t&&(y(),Le(62)&&Br(),Ie(23)),{name:n,isBracketed:t}}function k(t){switch(t.kind){case 145:return!0;case 178:return k(t.elementType);default:return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&\"Object\"===t.typeName.escapedText&&!t.typeArguments}}function A(t,r,n,i){var a=T(),o=!a;v();var c=C(),u=c.name,l=c.isBracketed;y(),o&&(a=T());var d=b(i+s.getStartPos()-t),_=4!==n&&function(t,r,n,i){if(t&&k(t.type)){for(var a=me(),o=void 0,s=void 0;o=Ne((function(){return R(n,i,r)}));)326!==o.kind&&333!==o.kind||(s=e.append(s,o));if(s){var c=Ue(L.createJSDocTypeLiteral(s,178===t.type.kind),a);return Ue(L.createJSDocTypeExpression(c),a)}}}(a,u,n,i);return _&&(a=_,o=!0),Ue(1===n?L.createJSDocPropertyTag(r,u,l,a,o,d):L.createJSDocParameterTag(r,u,l,a,o,d),t)}function F(t,n,i,a){e.some(c,e.isJSDocTypeTag)&&pe(n.pos,s.getTokenPos(),e.Diagnostics._0_tag_already_specified,n.escapedText);var o=r(!0),u=me(),l=void 0!==i&&void 0!==a?x(t,u,i,a):void 0;return Ue(L.createJSDocTypeTag(n,o,l),t,u)}function N(){var e=Me(18),t=me(),r=function(){var e=me(),t=K();for(;Me(24);){var r=K();t=Ue(L.createPropertyAccessExpression(t,r),e)}return t}(),n=Si(),i=Ue(L.createExpressionWithTypeArguments(r,n),t);return e&&Ie(19),i}function w(e,t,r,n,i){var a=me();return Ue(t(r,x(e,a,n,i)),e,a)}function I(t){var r=s.getTokenPos();if(e.tokenIsIdentifierOrKeyword(ve())){var n=K();if(Me(24)){var i=I(!0);return Ue(L.createModuleDeclaration(void 0,void 0,n,i,t?4:void 0),r)}return t&&(n.isInJSDocNamespace=!0),n}}function O(t,r){for(;!e.isIdentifier(t)||!e.isIdentifier(r);){if(e.isIdentifier(t)||e.isIdentifier(r)||t.right.escapedText!==r.right.escapedText)return!1;t=t.left,r=r.left}return t.escapedText===r.escapedText}function M(e){return R(1,e)}function R(t,r,n){for(var i=!0,a=!1;;)switch(be()){case 59:if(i){var o=B(t,r);return!(o&&(326===o.kind||333===o.kind)&&4!==t&&n&&(e.isIdentifier(o.name)||!O(n,o.name.left)))&&o}a=!1;break;case 4:i=!0,a=!1;break;case 41:a&&(i=!1),a=!0;break;case 78:i=!1;break;case 1:return!1}}function B(t,r){e.Debug.assert(59===ve());var n=s.getStartPos();be();var i,a=K();switch(y(),a.escapedText){case\"type\":return 1===t&&F(n,a);case\"prop\":case\"property\":i=1;break;case\"arg\":case\"argument\":case\"param\":i=6;break;default:return!1}return!!(t&i)&&A(n,a,t,r)}function j(){var t=me(),r=K(e.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces);return Ue(L.createTypeParameterDeclaration(r,void 0,void 0),t)}function J(e){return ve()===e&&(be(),!0)}function K(t){if(!e.tokenIsIdentifierOrKeyword(ve()))return Ve(78,!t,t||e.Diagnostics.Identifier_expected);P++;var r=s.getTokenPos(),n=s.getTextPos(),i=ve(),a=qe(s.getTokenValue()),o=Ue(L.createIdentifier(a,void 0,i),r,n);return be(),o}}t.parseJSDocTypeExpressionForTests=function(t,n,i){J(\"file.js\",t,99,void 0,1),s.setText(t,n,i),k=s.scan();var a=r(),o=X(\"file.js\",99,1,!1,[],L.createToken(1),0),c=e.attachFileToDiagnostics(S,o);return T&&(o.jsDocDiagnostics=e.attachFileToDiagnostics(T,o)),K(),a?{jsDocTypeExpression:a,diagnostics:c}:void 0},t.parseJSDocTypeExpression=r,t.parseJSDocNameReference=n,t.parseIsolatedJSDocComment=function(t,r,n){J(\"\",t,99,void 0,1);var i=ne(4194304,(function(){return o(r,n)})),a={languageVariant:0,text:t},s=e.attachFileToDiagnostics(S,a);return K(),i?{jsDoc:i,diagnostics:s}:void 0},t.parseJSDocComment=function(t,r,n){var i=k,a=S.length,s=B,c=ne(4194304,(function(){return o(r,n)}));return e.setParent(c,t),131072&O&&(T||(T=[]),T.push.apply(T,S)),k=i,S.length=a,B=s,c},function(e){e[e.BeginningOfLine=0]=\"BeginningOfLine\",e[e.SawAsterisk=1]=\"SawAsterisk\",e[e.SavingComments=2]=\"SavingComments\",e[e.SavingBackticks=3]=\"SavingBackticks\"}(i||(i={})),function(e){e[e.Property=1]=\"Property\",e[e.Parameter=2]=\"Parameter\",e[e.CallbackParameter=4]=\"CallbackParameter\"}(a||(a={}))}(W=t.JSDocParser||(t.JSDocParser={}))}(c||(c={})),function(t){function r(t,r,i,o,s,c){return void(r?l(t):u(t));function u(t){var r=\"\";if(c&&n(t)&&(r=o.substring(t.pos,t.end)),t._children&&(t._children=void 0),e.setTextRangePosEnd(t,t.pos+i,t.end+i),c&&n(t)&&e.Debug.assert(r===s.substring(t.pos,t.end)),p(t,u,l),e.hasJSDocNodes(t))for(var d=0,_=t.jsDoc;d<_.length;d++){u(_[d])}a(t,c)}function l(t){t._children=void 0,e.setTextRangePosEnd(t,t.pos+i,t.end+i);for(var r=0,n=t;r=r,\"Adjusting an element that was entirely before the change range\"),e.Debug.assert(t.pos<=n,\"Adjusting an element that was entirely after the change range\"),e.Debug.assert(t.pos<=t.end);var o=Math.min(t.pos,i),s=t.end>=n?t.end+a:Math.min(t.end,i);e.Debug.assert(o<=s),t.parent&&(e.Debug.assertGreaterThanOrEqual(o,t.parent.pos),e.Debug.assertLessThanOrEqual(s,t.parent.end)),e.setTextRangePosEnd(t,o,s)}function a(t,r){if(r){var n=t.pos,i=function(t){e.Debug.assert(t.pos>=n),n=t.end};if(e.hasJSDocNodes(t))for(var a=0,o=t.jsDoc;ar),!0;if(a.pos>=i.pos&&(i=a),ri.pos&&(i=a)}return i}function s(t,r,n,i){var a=t.text;if(n&&(e.Debug.assert(a.length-n.span.length+n.newLength===r.length),i||e.Debug.shouldAssert(3))){var o=a.substr(0,n.span.start),s=r.substr(0,n.span.start);e.Debug.assert(o===s);var c=a.substring(e.textSpanEnd(n.span),a.length),u=r.substring(e.textSpanEnd(e.textChangeRangeNewSpan(n)),r.length);e.Debug.assert(c===u)}}function u(t){var r=t.statements,n=0;e.Debug.assert(n=t.pos&&e=t.pos&&e0&&a<=n;a++){var s=o(t,i);e.Debug.assert(s.pos<=i);var c=s.pos;i=Math.max(0,c-1)}var u=e.createTextSpanFromBounds(i,e.textSpanEnd(r.span)),l=r.newLength+(r.span.start-i);return e.createTextChangeRange(u,l)}(t,l);s(t,n,m,d),e.Debug.assert(m.span.start<=l.span.start),e.Debug.assert(e.textSpanEnd(m.span)===e.textSpanEnd(l.span)),e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(m))===e.textSpanEnd(e.textChangeRangeNewSpan(l)));var y=e.textChangeRangeNewSpan(m).length-m.span.length;!function(t,n,o,s,c,u,l,d){return void _(t);function _(t){if(e.Debug.assert(t.pos<=t.end),t.pos>o)r(t,!1,c,u,l,d);else{var g=t.end;if(g>=n){if(t.intersectsChange=!0,t._children=void 0,i(t,n,o,s,c),p(t,_,f),e.hasJSDocNodes(t))for(var m=0,y=t.jsDoc;mo)r(t,!0,c,u,l,d);else{var a=t.end;if(a>=n){t.intersectsChange=!0,t._children=void 0,i(t,n,o,s,c);for(var p=0,f=t;pi){y();var m={range:{pos:f.pos+a,end:f.end+a},type:g};u=e.append(u,m),c&&e.Debug.assert(o.substring(f.pos,f.end)===s.substring(m.range.pos,m.range.end))}}return y(),u;function y(){l||(l=!0,u?r&&u.push.apply(u,r):u=r)}}(t.commentDirectives,v.commentDirectives,m.span.start,e.textSpanEnd(m.span),y,f,n,d),v},t.createSyntaxCursor=u,function(e){e[e.Value=-1]=\"Value\"}(l||(l={}))}(u||(u={})),e.isDeclarationFileName=g,e.processCommentPragmas=m,e.processPragmasIntoFields=y;var v=new e.Map;function h(e){if(v.has(e))return v.get(e);var t=new RegExp(\"(\\\\s\"+e+\"\\\\s*=\\\\s*)('|\\\")(.+?)\\\\2\",\"im\");return v.set(e,t),t}var D=/^\\/\\/\\/\\s*<(\\S+)\\s.*?\\/>/im,x=/^\\/\\/\\/?\\s*@(\\S+)\\s*(.*)\\s*$/im;function b(t,r,n){var i=2===r.kind&&D.exec(n);if(i){var a=i[1].toLowerCase(),o=e.commentPragmas[a];if(!(o&&1&o.kind))return;if(o.args){for(var s={},c=0,u=o.args;c=r.length)break;var o=a;if(34===r.charCodeAt(o)){for(a++;a32;)a++;i.push(r.substring(o,a))}}c(i)}else s.push(r)}}function y(t,r,n,i,a,o){if(i.isTSConfigOnly)\"null\"===(s=t[r])?(a[i.name]=void 0,r++):\"boolean\"===i.type?\"false\"===s?(a[i.name]=!1,r++):(\"true\"===s&&r++,o.push(e.createCompilerDiagnostic(e.Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line,i.name))):(o.push(e.createCompilerDiagnostic(e.Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line,i.name)),s&&!e.startsWith(s,\"-\")&&r++);else if(t[r]||\"boolean\"===i.type||o.push(e.createCompilerDiagnostic(n.optionTypeMismatchDiagnostic,i.name,B(i))),\"null\"!==t[r])switch(i.type){case\"number\":a[i.name]=parseInt(t[r]),r++;break;case\"boolean\":var s=t[r];a[i.name]=\"false\"!==s,\"false\"!==s&&\"true\"!==s||r++;break;case\"string\":a[i.name]=t[r]||\"\",r++;break;case\"list\":var c=p(i,t[r],o);a[i.name]=c||[],c&&r++;break;default:a[i.name]=_(i,t[r],o),r++}else a[i.name]=void 0,r++;return r}function v(e,t){return h(c,e,t)}function h(e,t,r){void 0===r&&(r=!1),t=t.toLowerCase();var n=e(),i=n.optionsNameMap,a=n.shortOptionNames;if(r){var o=a.get(t);void 0!==o&&(t=o)}return i.get(t)}e.libs=o.map((function(e){return e[0]})),e.libMap=new e.Map(o),e.optionsForWatch=[{name:\"watchFile\",type:new e.Map(e.getEntries({fixedpollinginterval:e.WatchFileKind.FixedPollingInterval,prioritypollinginterval:e.WatchFileKind.PriorityPollingInterval,dynamicprioritypolling:e.WatchFileKind.DynamicPriorityPolling,usefsevents:e.WatchFileKind.UseFsEvents,usefseventsonparentdirectory:e.WatchFileKind.UseFsEventsOnParentDirectory})),category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_UseFsEvents_UseFsEventsOnParentDirectory},{name:\"watchDirectory\",type:new e.Map(e.getEntries({usefsevents:e.WatchDirectoryKind.UseFsEvents,fixedpollinginterval:e.WatchDirectoryKind.FixedPollingInterval,dynamicprioritypolling:e.WatchDirectoryKind.DynamicPriorityPolling})),category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling},{name:\"fallbackPolling\",type:new e.Map(e.getEntries({fixedinterval:e.PollingWatchKind.FixedInterval,priorityinterval:e.PollingWatchKind.PriorityInterval,dynamicpriority:e.PollingWatchKind.DynamicPriority})),category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority},{name:\"synchronousWatchDirectory\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively}],e.commonOptionsWithBuild=[{name:\"help\",shortName:\"h\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Print_this_message},{name:\"help\",shortName:\"?\",type:\"boolean\"},{name:\"watch\",shortName:\"w\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Watch_input_files},{name:\"preserveWatchOutput\",type:\"boolean\",showInSimplifiedHelpView:!1,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen},{name:\"listFiles\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Print_names_of_files_part_of_the_compilation},{name:\"listEmittedFiles\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Print_names_of_generated_files_part_of_the_compilation},{name:\"pretty\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Stylize_errors_and_messages_using_color_and_context_experimental},{name:\"traceResolution\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Enable_tracing_of_the_name_resolution_process},{name:\"diagnostics\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Show_diagnostic_information},{name:\"extendedDiagnostics\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Show_verbose_diagnostic_information},{name:\"generateCpuProfile\",type:\"string\",isFilePath:!0,paramType:e.Diagnostics.FILE_OR_DIRECTORY,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Generates_a_CPU_profile},{name:\"generateTrace\",type:\"string\",isFilePath:!0,isCommandLineOnly:!0,paramType:e.Diagnostics.DIRECTORY,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Generates_an_event_trace_and_a_list_of_types},{name:\"incremental\",shortName:\"i\",type:\"boolean\",category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Enable_incremental_compilation,transpileOptionValue:void 0},{name:\"assumeChangesOnlyAffectDirectDependencies\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it},{name:\"locale\",type:\"string\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.The_locale_used_when_displaying_messages_to_the_user_e_g_en_us}],e.optionDeclarations=r(e.commonOptionsWithBuild,[{name:\"all\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Show_all_compiler_options},{name:\"version\",shortName:\"v\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Print_the_compiler_s_version},{name:\"init\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file},{name:\"project\",shortName:\"p\",type:\"string\",isFilePath:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,paramType:e.Diagnostics.FILE_OR_DIRECTORY,description:e.Diagnostics.Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json},{name:\"build\",type:\"boolean\",shortName:\"b\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Build_one_or_more_projects_and_their_dependencies_if_out_of_date},{name:\"showConfig\",type:\"boolean\",category:e.Diagnostics.Command_line_Options,isCommandLineOnly:!0,description:e.Diagnostics.Print_the_final_configuration_instead_of_building},{name:\"listFilesOnly\",type:\"boolean\",category:e.Diagnostics.Command_line_Options,affectsSemanticDiagnostics:!0,affectsEmit:!0,isCommandLineOnly:!0,description:e.Diagnostics.Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing},{name:\"target\",shortName:\"t\",type:new e.Map(e.getEntries({es3:0,es5:1,es6:2,es2015:2,es2016:3,es2017:4,es2018:5,es2019:6,es2020:7,esnext:99})),affectsSourceFile:!0,affectsModuleResolution:!0,affectsEmit:!0,paramType:e.Diagnostics.VERSION,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_or_ESNEXT},{name:\"module\",shortName:\"m\",type:new e.Map(e.getEntries({none:e.ModuleKind.None,commonjs:e.ModuleKind.CommonJS,amd:e.ModuleKind.AMD,system:e.ModuleKind.System,umd:e.ModuleKind.UMD,es6:e.ModuleKind.ES2015,es2015:e.ModuleKind.ES2015,es2020:e.ModuleKind.ES2020,esnext:e.ModuleKind.ESNext})),affectsModuleResolution:!0,affectsEmit:!0,paramType:e.Diagnostics.KIND,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext},{name:\"lib\",type:\"list\",element:{name:\"lib\",type:e.libMap},affectsModuleResolution:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_library_files_to_be_included_in_the_compilation,transpileOptionValue:void 0},{name:\"allowJs\",type:\"boolean\",affectsModuleResolution:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Allow_javascript_files_to_be_compiled},{name:\"checkJs\",type:\"boolean\",category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Report_errors_in_js_files},{name:\"jsx\",type:t,affectsSourceFile:!0,affectsEmit:!0,affectsModuleResolution:!0,paramType:e.Diagnostics.KIND,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_JSX_code_generation_Colon_preserve_react_native_or_react},{name:\"declaration\",shortName:\"d\",type:\"boolean\",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Generates_corresponding_d_ts_file,transpileOptionValue:void 0},{name:\"declarationMap\",type:\"boolean\",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Generates_a_sourcemap_for_each_corresponding_d_ts_file,transpileOptionValue:void 0},{name:\"emitDeclarationOnly\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Only_emit_d_ts_declaration_files,transpileOptionValue:void 0},{name:\"sourceMap\",type:\"boolean\",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Generates_corresponding_map_file},{name:\"outFile\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.FILE,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Concatenate_and_emit_output_to_single_file,transpileOptionValue:void 0},{name:\"outDir\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.DIRECTORY,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Redirect_output_structure_to_the_directory},{name:\"rootDir\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.LOCATION,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir},{name:\"composite\",type:\"boolean\",affectsEmit:!0,isTSConfigOnly:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Enable_project_compilation,transpileOptionValue:void 0},{name:\"tsBuildInfoFile\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.FILE,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_file_to_store_incremental_compilation_information,transpileOptionValue:void 0},{name:\"removeComments\",type:\"boolean\",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Do_not_emit_comments_to_output},{name:\"noEmit\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Do_not_emit_outputs,transpileOptionValue:void 0},{name:\"importHelpers\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Import_emit_helpers_from_tslib},{name:\"importsNotUsedAsValues\",type:new e.Map(e.getEntries({remove:0,preserve:1,error:2})),affectsEmit:!0,affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types},{name:\"downlevelIteration\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3},{name:\"isolatedModules\",type:\"boolean\",category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule,transpileOptionValue:!0},{name:\"strict\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_all_strict_type_checking_options},{name:\"noImplicitAny\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Raise_error_on_expressions_and_declarations_with_an_implied_any_type},{name:\"strictNullChecks\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_null_checks},{name:\"strictFunctionTypes\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_checking_of_function_types},{name:\"strictBindCallApply\",type:\"boolean\",strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_bind_call_and_apply_methods_on_functions},{name:\"strictPropertyInitialization\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_checking_of_property_initialization_in_classes},{name:\"noImplicitThis\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Raise_error_on_this_expressions_with_an_implied_any_type},{name:\"alwaysStrict\",type:\"boolean\",affectsSourceFile:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Parse_in_strict_mode_and_emit_use_strict_for_each_source_file},{name:\"noUnusedLocals\",type:\"boolean\",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_errors_on_unused_locals},{name:\"noUnusedParameters\",type:\"boolean\",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_errors_on_unused_parameters},{name:\"noImplicitReturns\",type:\"boolean\",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_error_when_not_all_code_paths_in_function_return_a_value},{name:\"noFallthroughCasesInSwitch\",type:\"boolean\",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_errors_for_fallthrough_cases_in_switch_statement},{name:\"noUncheckedIndexedAccess\",type:\"boolean\",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!1,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Include_undefined_in_index_signature_results},{name:\"moduleResolution\",type:new e.Map(e.getEntries({node:e.ModuleResolutionKind.NodeJs,classic:e.ModuleResolutionKind.Classic})),affectsModuleResolution:!0,paramType:e.Diagnostics.STRATEGY,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6},{name:\"baseUrl\",type:\"string\",affectsModuleResolution:!0,isFilePath:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Base_directory_to_resolve_non_absolute_module_names},{name:\"paths\",type:\"object\",affectsModuleResolution:!0,isTSConfigOnly:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl,transpileOptionValue:void 0},{name:\"rootDirs\",type:\"list\",isTSConfigOnly:!0,element:{name:\"rootDirs\",type:\"string\",isFilePath:!0},affectsModuleResolution:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime,transpileOptionValue:void 0},{name:\"typeRoots\",type:\"list\",element:{name:\"typeRoots\",type:\"string\",isFilePath:!0},affectsModuleResolution:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.List_of_folders_to_include_type_definitions_from},{name:\"types\",type:\"list\",element:{name:\"types\",type:\"string\"},affectsModuleResolution:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Type_declaration_files_to_be_included_in_compilation,transpileOptionValue:void 0},{name:\"allowSyntheticDefaultImports\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking},{name:\"esModuleInterop\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports},{name:\"preserveSymlinks\",type:\"boolean\",category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Do_not_resolve_the_real_path_of_symlinks},{name:\"allowUmdGlobalAccess\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Allow_accessing_UMD_globals_from_modules},{name:\"sourceRoot\",type:\"string\",affectsEmit:!0,paramType:e.Diagnostics.LOCATION,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations},{name:\"mapRoot\",type:\"string\",affectsEmit:!0,paramType:e.Diagnostics.LOCATION,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations},{name:\"inlineSourceMap\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file},{name:\"inlineSources\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set},{name:\"experimentalDecorators\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Experimental_Options,description:e.Diagnostics.Enables_experimental_support_for_ES7_decorators},{name:\"emitDecoratorMetadata\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,category:e.Diagnostics.Experimental_Options,description:e.Diagnostics.Enables_experimental_support_for_emitting_type_metadata_for_decorators},{name:\"jsxFactory\",type:\"string\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h},{name:\"jsxFragmentFactory\",type:\"string\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment},{name:\"jsxImportSource\",type:\"string\",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react},{name:\"resolveJsonModule\",type:\"boolean\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Include_modules_imported_with_json_extension},{name:\"out\",type:\"string\",affectsEmit:!0,isFilePath:!1,category:e.Diagnostics.Advanced_Options,paramType:e.Diagnostics.FILE,description:e.Diagnostics.Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file,transpileOptionValue:void 0},{name:\"reactNamespace\",type:\"string\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit},{name:\"skipDefaultLibCheck\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files},{name:\"charset\",type:\"string\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.The_character_set_of_the_input_files},{name:\"emitBOM\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files},{name:\"newLine\",type:new e.Map(e.getEntries({crlf:0,lf:1})),affectsEmit:!0,paramType:e.Diagnostics.NEWLINE,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix},{name:\"noErrorTruncation\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_truncate_error_messages},{name:\"noLib\",type:\"boolean\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_include_the_default_library_file_lib_d_ts,transpileOptionValue:!0},{name:\"noResolve\",type:\"boolean\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files,transpileOptionValue:!0},{name:\"stripInternal\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_emit_declarations_for_code_that_has_an_internal_annotation},{name:\"disableSizeLimit\",type:\"boolean\",affectsSourceFile:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_size_limitations_on_JavaScript_projects},{name:\"disableSourceOfProjectReferenceRedirect\",type:\"boolean\",isTSConfigOnly:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects},{name:\"disableSolutionSearching\",type:\"boolean\",isTSConfigOnly:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_solution_searching_for_this_project},{name:\"disableReferencedProjectLoad\",type:\"boolean\",isTSConfigOnly:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_loading_referenced_projects},{name:\"noImplicitUseStrict\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_emit_use_strict_directives_in_module_output},{name:\"noEmitHelpers\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_generate_custom_helper_functions_like_extends_in_compiled_output},{name:\"noEmitOnError\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_emit_outputs_if_any_errors_were_reported,transpileOptionValue:void 0},{name:\"preserveConstEnums\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_erase_const_enum_declarations_in_generated_code},{name:\"declarationDir\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.DIRECTORY,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Output_directory_for_generated_declaration_files,transpileOptionValue:void 0},{name:\"skipLibCheck\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Skip_type_checking_of_declaration_files},{name:\"allowUnusedLabels\",type:\"boolean\",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_report_errors_on_unused_labels},{name:\"allowUnreachableCode\",type:\"boolean\",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_report_errors_on_unreachable_code},{name:\"suppressExcessPropertyErrors\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Suppress_excess_property_checks_for_object_literals},{name:\"suppressImplicitAnyIndexErrors\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures},{name:\"forceConsistentCasingInFileNames\",type:\"boolean\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disallow_inconsistently_cased_references_to_the_same_file},{name:\"maxNodeModuleJsDepth\",type:\"number\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files},{name:\"noStrictGenericChecks\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_strict_checking_of_generic_signatures_in_function_types},{name:\"useDefineForClassFields\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Emit_class_fields_with_Define_instead_of_Set},{name:\"keyofStringsOnly\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols},{name:\"plugins\",type:\"list\",isTSConfigOnly:!0,element:{name:\"plugin\",type:\"object\"},description:e.Diagnostics.List_of_language_service_plugins}]),e.semanticDiagnosticsOptionDeclarations=e.optionDeclarations.filter((function(e){return!!e.affectsSemanticDiagnostics})),e.affectsEmitOptionDeclarations=e.optionDeclarations.filter((function(e){return!!e.affectsEmit})),e.moduleResolutionOptionDeclarations=e.optionDeclarations.filter((function(e){return!!e.affectsModuleResolution})),e.sourceFileAffectingCompilerOptions=e.optionDeclarations.filter((function(e){return!!e.affectsSourceFile||!!e.affectsModuleResolution||!!e.affectsBindDiagnostics})),e.transpileOptionValueCompilerOptions=e.optionDeclarations.filter((function(t){return e.hasProperty(t,\"transpileOptionValue\")})),e.buildOpts=r(e.commonOptionsWithBuild,[{name:\"verbose\",shortName:\"v\",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Enable_verbose_logging,type:\"boolean\"},{name:\"dry\",shortName:\"d\",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Show_what_would_be_built_or_deleted_if_specified_with_clean,type:\"boolean\"},{name:\"force\",shortName:\"f\",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Build_all_projects_including_those_that_appear_to_be_up_to_date,type:\"boolean\"},{name:\"clean\",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Delete_the_outputs_of_all_projects,type:\"boolean\"}]),e.typeAcquisitionDeclarations=[{name:\"enableAutoDiscovery\",type:\"boolean\"},{name:\"enable\",type:\"boolean\"},{name:\"include\",type:\"list\",element:{name:\"include\",type:\"string\"}},{name:\"exclude\",type:\"list\",element:{name:\"exclude\",type:\"string\"}},{name:\"disableFilenameBasedTypeAcquisition\",type:\"boolean\"}],e.createOptionNameMap=s,e.getOptionsNameMap=c,e.defaultInitCompilerOptions={module:e.ModuleKind.CommonJS,target:1,strict:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,skipLibCheck:!0},e.convertEnableAutoDiscoveryToEnable=u,e.createCompilerDiagnosticForInvalidCustomType=l,e.parseCustomTypeOption=_,e.parseListTypeOption=p,e.parseCommandLineWorker=m,e.compilerOptionsDidYouMeanDiagnostics={getOptionsNameMap:c,optionDeclarations:e.optionDeclarations,unknownOptionDiagnostic:e.Diagnostics.Unknown_compiler_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_compiler_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Compiler_option_0_expects_an_argument},e.parseCommandLine=function(t,r){return m(e.compilerOptionsDidYouMeanDiagnostics,t,r)},e.getOptionFromName=v;var D={getOptionsNameMap:function(){return a||(a=s(e.buildOpts))},optionDeclarations:e.buildOpts,unknownOptionDiagnostic:e.Diagnostics.Unknown_build_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_build_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Build_option_0_requires_a_value_of_type_1};function x(t,r){var n=e.parseJsonText(t,r);return{config:L(n,n.parseDiagnostics),error:n.parseDiagnostics.length?n.parseDiagnostics[0]:void 0}}function b(t,r){var n=S(t,r);return e.isString(n)?e.parseJsonText(t,n):{fileName:t,parseDiagnostics:[n]}}function S(t,r){var n;try{n=r(t)}catch(r){return e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0_Colon_1,t,r.message)}return void 0===n?e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0,t):n}function E(t){return e.arrayToMap(t,f)}e.parseBuildCommand=function(t){var r=m(D,t),n=r.options,i=r.watchOptions,a=r.fileNames,o=r.errors,s=n;return 0===a.length&&a.push(\".\"),s.clean&&s.force&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,\"clean\",\"force\")),s.clean&&s.verbose&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,\"clean\",\"verbose\")),s.clean&&s.watch&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,\"clean\",\"watch\")),s.watch&&s.dry&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,\"watch\",\"dry\")),{buildOptions:s,watchOptions:i,projects:a,errors:o}},e.getDiagnosticText=function(t){for(var r=[],n=1;n=0)return c.push(e.createCompilerDiagnostic(e.Diagnostics.Circularity_detected_while_resolving_configuration_Colon_0,r(s,[d]).join(\" -> \"))),{raw:t||L(n,c)};var _=t?function(t,r,n,i,a){e.hasProperty(t,\"excludes\")&&a.push(e.createCompilerDiagnostic(e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude));var o,s=ae(t.compilerOptions,n,a,i),c=se(t.typeAcquisition||t.typingOptions,n,a,i),u=function(e,t,r){return ce(O(),e,t,void 0,w,r)}(t.watchOptions,n,a);if(t.compileOnSave=function(t,r,n){if(!e.hasProperty(t,e.compileOnSaveCommandLineOption.name))return!1;var i=ue(e.compileOnSaveCommandLineOption,t.compileOnSave,r,n);return\"boolean\"==typeof i&&i}(t,n,a),t.extends)if(e.isString(t.extends)){var l=i?X(i,n):n;o=ne(t.extends,r,l,a,e.createCompilerDiagnostic)}else a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,\"extends\",\"string\"));return{raw:t,options:s,watchOptions:u,typeAcquisition:c,extendedConfigPath:o}}(t,i,a,o,c):function(t,r,n,i,a){var o,s,c,u,l=ie(i),d={onSetValidOptionKeyValueInParent:function(t,r,a){var u;switch(t){case\"compilerOptions\":u=l;break;case\"watchOptions\":u=c||(c={});break;case\"typeAcquisition\":u=o||(o=oe(i));break;case\"typingOptions\":u=s||(s=oe(i));break;default:e.Debug.fail(\"Unknown option\")}u[r.name]=le(r,n,a)},onSetValidOptionKeyValueInRoot:function(o,s,c,l){switch(o){case\"extends\":var d=i?X(i,n):n;return void(u=ne(c,r,d,a,(function(r,n){return e.createDiagnosticForNodeInSourceFile(t,l,r,n)})))}},onSetUnknownOptionKeyValueInRoot:function(r,n,i,o){\"excludes\"===r&&a.push(e.createDiagnosticForNodeInSourceFile(t,n,e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude))}},_=R(t,a,!0,(void 0===P&&(P={name:void 0,type:\"object\",elementOptions:E([{name:\"compilerOptions\",type:\"object\",elementOptions:I(),extraKeyDiagnostics:e.compilerOptionsDidYouMeanDiagnostics},{name:\"watchOptions\",type:\"object\",elementOptions:O(),extraKeyDiagnostics:w},{name:\"typingOptions\",type:\"object\",elementOptions:M(),extraKeyDiagnostics:C},{name:\"typeAcquisition\",type:\"object\",elementOptions:M(),extraKeyDiagnostics:C},{name:\"extends\",type:\"string\"},{name:\"references\",type:\"list\",element:{name:\"references\",type:\"object\"}},{name:\"files\",type:\"list\",element:{name:\"files\",type:\"string\"}},{name:\"include\",type:\"list\",element:{name:\"include\",type:\"string\"}},{name:\"exclude\",type:\"list\",element:{name:\"exclude\",type:\"string\"}},e.compileOnSaveCommandLineOption])}),P),d);o||(o=s?void 0!==s.enableAutoDiscovery?{enable:s.enableAutoDiscovery,include:s.include,exclude:s.exclude}:s:oe(i));return{raw:_,options:l,watchOptions:c,typeAcquisition:o,extendedConfigPath:u}}(n,i,a,o,c);if((null===(l=_.options)||void 0===l?void 0:l.paths)&&(_.options.pathsBasePath=a),_.extendedConfigPath){s=s.concat([d]);var p=function(t,r,n,i,a,o,s){var c,u,l,d,_=n.useCaseSensitiveFileNames?r:e.toFileNameLowerCase(r);if(s&&(u=s.get(_)))l=u.extendedResult,d=u.extendedConfig;else{if(!(l=b(r,(function(e){return n.readFile(e)}))).parseDiagnostics.length){var p=e.getDirectoryPath(r);if(te(d=re(void 0,l,n,p,e.getBaseFileName(r),a,o,s))){var f=e.convertToRelativePath(p,i,e.identity),g=function(t){return e.isRootedDiskPath(t)?t:e.combinePaths(f,t)},m=function(t){y[t]&&(y[t]=e.map(y[t],g))},y=d.raw;m(\"include\"),m(\"exclude\"),m(\"files\")}}s&&s.set(_,{extendedResult:l,extendedConfig:d})}t&&(t.extendedSourceFiles=[l.fileName],l.extendedSourceFiles&&(c=t.extendedSourceFiles).push.apply(c,l.extendedSourceFiles));if(l.parseDiagnostics.length)return void o.push.apply(o,l.parseDiagnostics);return d}(n,_.extendedConfigPath,i,a,s,c,u);if(p&&te(p)){var f=p.raw,g=_.raw,m=function(e){var t=g[e]||f[e];t&&(g[e]=t)};m(\"include\"),m(\"exclude\"),m(\"files\"),void 0===g.compileOnSave&&(g.compileOnSave=f.compileOnSave),_.options=e.assign({},p.options,_.options),_.watchOptions=_.watchOptions&&p.watchOptions?e.assign({},p.watchOptions,_.watchOptions):_.watchOptions||p.watchOptions}}return _}function ne(t,r,n,i,a){if(t=e.normalizeSlashes(t),e.isRootedDiskPath(t)||e.startsWith(t,\"./\")||e.startsWith(t,\"../\")){var o=e.getNormalizedAbsolutePath(t,n);return r.fileExists(o)||e.endsWith(o,\".json\")||(o+=\".json\",r.fileExists(o))?o:void i.push(a(e.Diagnostics.File_0_not_found,t))}var s=e.nodeModuleNameResolver(t,e.combinePaths(n,\"tsconfig.json\"),{moduleResolution:e.ModuleResolutionKind.NodeJs},r,void 0,void 0,!0);if(s.resolvedModule)return s.resolvedModule.resolvedFileName;i.push(a(e.Diagnostics.File_0_not_found,t))}function ie(t){return t&&\"jsconfig.json\"===e.getBaseFileName(t)?{allowJs:!0,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:!0,skipLibCheck:!0,noEmit:!0}:{}}function ae(t,r,n,i){var a=ie(i);return ce(I(),t,r,a,e.compilerOptionsDidYouMeanDiagnostics,n),i&&(a.configFilePath=e.normalizeSlashes(i)),a}function oe(t){return{enable:!!t&&\"jsconfig.json\"===e.getBaseFileName(t),include:[],exclude:[]}}function se(e,t,r,n){var i=oe(n),a=u(e);return ce(M(),a,t,i,C,r),i}function ce(t,r,n,i,a,o){if(r){for(var s in r){var c=t.get(s);c?(i||(i={}))[c.name]=ue(c,r[s],n,o):o.push(g(s,a,e.createCompilerDiagnostic))}return i}}function ue(t,r,n,i){if(j(t,r)){var a=t.type;return\"list\"===a&&e.isArray(r)?function(t,r,n,i){return e.filter(e.map(r,(function(e){return ue(t.element,e,n,i)})),(function(e){return!!e}))}(t,r,n,i):e.isString(a)?de(t,n,r):_e(t,r,i)}i.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,t.name,B(t)))}function le(t,r,n){if(!Y(n)){if(\"list\"===t.type){var i=t;return i.element.isFilePath||!e.isString(i.element.type)?e.filter(e.map(n,(function(e){return le(i.element,r,e)})),(function(e){return!!e})):n}return e.isString(t.type)?de(t,r,n):t.type.get(e.isString(n)?n.toLowerCase():n)}}function de(t,r,n){return t.isFilePath&&\"\"===(n=e.getNormalizedAbsolutePath(n,r))&&(n=\".\"),n}function _e(e,t,r){if(!Y(t)){var n=t.toLowerCase(),i=e.type.get(n);if(void 0!==i)return i;r.push(l(e))}}function pe(e){return\"function\"==typeof e.trim?e.trim():e.replace(/^[\\s]+|[\\s]+$/g,\"\")}e.convertToObject=L,e.convertToObjectWorker=R,e.convertToTSConfig=function(t,r,i){var a=e.createGetCanonicalFileName(i.useCaseSensitiveFileNames),o=e.map(e.filter(t.fileNames,t.configFileSpecs&&t.configFileSpecs.validatedIncludeSpecs?function(t,r,n,i){if(!r)return function(e){return!0};var a=e.getFileMatcherPatterns(t,n,r,i.useCaseSensitiveFileNames,i.getCurrentDirectory()),o=a.excludePattern&&e.getRegexFromPattern(a.excludePattern,i.useCaseSensitiveFileNames),s=a.includeFilePattern&&e.getRegexFromPattern(a.includeFilePattern,i.useCaseSensitiveFileNames);if(s)return o?function(e){return!(s.test(e)&&!o.test(e))}:function(e){return!s.test(e)};if(o)return function(e){return o.test(e)};return function(e){return!0}}(r,t.configFileSpecs.validatedIncludeSpecs,t.configFileSpecs.validatedExcludeSpecs,i):function(e){return!0}),(function(t){return e.getRelativePathFromFile(e.getNormalizedAbsolutePath(r,i.getCurrentDirectory()),e.getNormalizedAbsolutePath(t,i.getCurrentDirectory()),a)})),s=V(t.options,{configFilePath:e.getNormalizedAbsolutePath(r,i.getCurrentDirectory()),useCaseSensitiveFileNames:i.useCaseSensitiveFileNames}),c=t.watchOptions&&function(e){return q(e,k())}(t.watchOptions);return n(n({compilerOptions:n(n({},J(s)),{showConfig:void 0,configFile:void 0,configFilePath:void 0,help:void 0,init:void 0,listFiles:void 0,listEmittedFiles:void 0,project:void 0,build:void 0,version:void 0}),watchOptions:c&&J(c),references:e.map(t.projectReferences,(function(e){return n(n({},e),{path:e.originalPath?e.originalPath:\"\",originalPath:void 0})})),files:e.length(o)?o:void 0},t.configFileSpecs?{include:K(t.configFileSpecs.validatedIncludeSpecs),exclude:t.configFileSpecs.validatedExcludeSpecs}:{}),{compileOnSave:!!t.compileOnSave||void 0})},e.generateTSConfig=function(t,r,n){var i=V(e.extend(t,e.defaultInitCompilerOptions));return function(){for(var t=e.createMultiMap(),c=0,u=e.optionDeclarations;c0)for(var x=function(t){if(e.fileExtensionIs(t,\".json\")){if(!o){var n=_.filter((function(t){return e.endsWith(t,\".json\")})),a=e.map(e.getRegularExpressionsForWildcards(n,r,\"files\"),(function(e){return\"^\"+e+\"$\"}));o=a?a.map((function(t){return e.getRegexFromPattern(t,i.useCaseSensitiveFileNames)})):e.emptyArray}if(-1!==e.findIndex(o,(function(e){return e.test(t)}))){var d=s(t);c.has(d)||l.has(d)||l.set(d,t)}return\"continue\"}if(function(t,r,n,i,a){for(var o=e.getExtensionPriority(t,i),s=e.adjustExtensionPriority(o,i),c=0;cs&&(s=l),1===s)return s}return s}break;case 257:var d=0;return e.forEachChild(t,(function(t){var n=a(t,r);switch(n){case 0:return;case 2:return void(d=2);case 1:return d=1,!0;default:e.Debug.assertNever(n)}})),d;case 256:return i(t,r);case 78:if(t.isInJSDocNamespace)return 0}return 1}(t,r);return r.set(n,s),s}function o(t,r){for(var n=t.propertyName||t.name,i=t.parent;i;){if(e.isBlock(i)||e.isModuleBlock(i)||e.isSourceFile(i)){for(var o=void 0,s=0,c=i.statements;so)&&(o=l),1===o)return o}}if(void 0!==o)return o}i=i.parent}return 1}function s(t){return e.Debug.attachFlowNodeDebugInfo(t),t}!function(e){e[e.NonInstantiated=0]=\"NonInstantiated\",e[e.Instantiated=1]=\"Instantiated\",e[e.ConstEnumOnly=2]=\"ConstEnumOnly\"}(e.ModuleInstanceState||(e.ModuleInstanceState={})),e.getModuleInstanceState=i,function(e){e[e.None=0]=\"None\",e[e.IsContainer=1]=\"IsContainer\",e[e.IsBlockScopedContainer=2]=\"IsBlockScopedContainer\",e[e.IsControlFlowContainer=4]=\"IsControlFlowContainer\",e[e.IsFunctionLike=8]=\"IsFunctionLike\",e[e.IsFunctionExpression=16]=\"IsFunctionExpression\",e[e.HasLocals=32]=\"HasLocals\",e[e.IsInterface=64]=\"IsInterface\",e[e.IsObjectLiteralOrClassExpressionMethod=128]=\"IsObjectLiteralOrClassExpressionMethod\"}(t||(t={}));var c=function(){var t,a,o,c,_,p,f,g,m,y,v,h,D,x,b,S,E,T,C,k,A,F,N,P,w=!1,I=0,O={flags:1},M={flags:1};function L(r,n,i,a,o){return e.createDiagnosticForNodeInSourceFile(e.getSourceFileOfNode(r)||t,r,n,i,a,o)}return function(r,n){t=r,a=n,o=e.getEmitScriptTarget(a),F=function(t,r){return!(!e.getStrictOptionValue(r,\"alwaysStrict\")||t.isDeclarationFile)||!!t.externalModuleIndicator}(t,n),P=new e.Set,I=0,N=e.objectAllocator.getSymbolConstructor(),e.Debug.attachFlowNodeDebugInfo(O),e.Debug.attachFlowNodeDebugInfo(M),t.locals||(Re(t),t.symbolCount=I,t.classifiableNames=P,function(){if(m){for(var r=_,n=g,i=f,a=c,o=v,u=0,d=m;u=232&&t.kind<=248&&!a.allowUnreachableCode&&(t.flowNode=v),t.kind){case 236:!function(e){var t=fe(e,Z()),r=$(),n=$();re(t,v),v=t,_e(e.expression,r,n),v=se(r),pe(e.statement,n,t),re(t,v),v=se(n)}(t);break;case 235:!function(e){var t=Z(),r=fe(e,$()),n=$();re(t,v),v=t,pe(e.statement,n,r),re(r,v),v=se(r),_e(e.expression,t,n),v=se(n)}(t);break;case 237:!function(e){var t=fe(e,Z()),r=$(),n=$();Re(e.initializer),re(t,v),v=t,_e(e.condition,r,n),v=se(r),pe(e.statement,n,t),Re(e.incrementor),re(t,v),v=se(n)}(t);break;case 238:case 239:!function(e){var t=fe(e,Z()),r=$();Re(e.expression),re(t,v),v=t,239===e.kind&&Re(e.awaitModifier);re(r,v),Re(e.initializer),250!==e.initializer.kind&&ve(e.initializer);pe(e.statement,r,t),re(t,v),v=se(r)}(t);break;case 234:!function(e){var t=$(),r=$(),n=$();_e(e.expression,t,r),v=se(t),Re(e.thenStatement),re(n,v),v=se(r),Re(e.elseStatement),re(n,v),v=se(n)}(t);break;case 242:case 246:!function(e){Re(e.expression),242===e.kind&&(k=!0,x&&re(x,v));v=O}(t);break;case 241:case 240:!function(e){if(Re(e.label),e.label){var t=function(e){for(var t=C;t;t=t.next)if(t.name===e)return t;return}(e.label.escapedText);t&&(t.referenced=!0,ge(e,t.breakTarget,t.continueTarget))}else ge(e,h,D)}(t);break;case 247:!function(t){var r=x,n=E,i=$(),a=$(),o=$();t.finallyBlock&&(x=a);re(o,v),E=o,Re(t.tryBlock),re(i,v),t.catchClause&&(v=se(o),re(o=$(),v),E=o,Re(t.catchClause),re(i,v));if(x=r,E=n,t.finallyBlock){var s=$();s.antecedents=e.concatenate(e.concatenate(i.antecedents,o.antecedents),a.antecedents),v=s,Re(t.finallyBlock),1&v.flags?v=O:(x&&a.antecedents&&re(x,ee(s,a.antecedents,v)),E&&o.antecedents&&re(E,ee(s,o.antecedents,v)),v=i.antecedents?ee(s,i.antecedents,v):O)}else v=se(i)}(t);break;case 244:!function(t){var r=$();Re(t.expression);var n=h,i=T;h=r,T=v,Re(t.caseBlock),re(r,v);var a=e.forEach(t.caseBlock.clauses,(function(e){return 285===e.kind}));t.possiblyExhaustive=!a&&!r.antecedents,a||re(r,ie(T,t,0,0));h=n,T=i,v=se(r)}(t);break;case 258:!function(e){for(var t=e.clauses,r=H(e.parent.expression),n=O,i=0;i=0;)switch(t=r.expr[n],r.state[n]){case 0:e.setParent(t,c);var i=F;Ke(t);var a=c;c=t,u(1,i,a);break;case 1:if(55===(s=t.operatorToken.kind)||56===s||60===s||e.isLogicalOrCoalescingAssignmentOperator(s)){if(le(t)){var o=$();he(t,o,o),v=se(o)}else he(t,b,S);l()}else u(2),d(t.left);break;case 2:27===t.operatorToken.kind&&me(t.left),u(3),d(t.operatorToken);break;case 3:u(4),d(t.right);break;case 4:var s=t.operatorToken.kind;if(e.isAssignmentOperator(s)&&!e.isAssignmentTarget(t))if(ve(t.left),62===s&&202===t.left.kind)Q(t.left.expression)&&(v=ae(256,v,t));l();break;default:return e.Debug.fail(\"Invalid state \"+r.state[n]+\" for bindBinaryExpressionFlow\")}function u(e,t,i){r.state[n]=e,void 0!==t&&(r.inStrictMode[n]=t),void 0!==i&&(r.parent[n]=i)}function l(){void 0!==r.inStrictMode[n]&&(F=r.inStrictMode[n],c=r.parent[n]),n--}function d(t){t&&e.isBinaryExpression(t)&&!e.isDestructuringAssignment(t)?(n++,r.expr[n]=t,r.state[n]=0,r.inStrictMode[n]=void 0,r.parent[n]=void 0):Re(t)}}(t);break;case 210:!function(e){q(e),201===e.expression.kind&&ve(e.expression)}(t);break;case 217:!function(e){var t=$(),r=$(),n=$();_e(e.condition,t,r),v=se(t),Re(e.questionToken),Re(e.whenTrue),re(n,v),v=se(r),Re(e.colonToken),Re(e.whenFalse),re(n,v),v=se(n)}(t);break;case 249:!function(t){q(t),(t.initializer||e.isForInOrOfStatement(t.parent.parent))&&De(t)}(t);break;case 201:case 202:!function(t){e.isOptionalChain(t)?Se(t):q(t)}(t);break;case 203:!function(t){if(e.isOptionalChain(t))Se(t);else{var r=e.skipParentheses(t.expression);208===r.kind||209===r.kind?(V(t.typeArguments),V(t.arguments),Re(t.expression)):(q(t),105===t.expression.kind&&(v=oe(v,t)))}if(201===t.expression.kind){var n=t.expression;e.isIdentifier(n.name)&&Q(n.expression)&&e.isPushOrUnshiftIdentifier(n.name)&&(v=ae(256,v,t))}}(t);break;case 225:!function(t){e.isOptionalChain(t)?Se(t):q(t)}(t);break;case 331:case 324:case 325:!function(t){e.setParent(t.tagName,t),325!==t.kind&&t.fullName&&(e.setParent(t.fullName,t),e.setParentRecursive(t.fullName,!1))}(t);break;case 297:U(t.statements),Re(t.endOfFileToken);break;case 230:case 257:U(t.statements);break;case 198:!function(t){e.isBindingPattern(t.name)?(V(t.decorators),V(t.modifiers),Re(t.dotDotDotToken),Re(t.propertyName),Re(t.initializer),Re(t.name)):q(t)}(t);break;case 200:case 199:case 288:case 220:w=r;default:q(t)}Be(t),w=r}function H(t){switch(t.kind){case 78:case 79:case 107:case 201:case 202:return Y(t);case 203:return function(e){if(e.arguments)for(var t=0,r=e.arguments;t=116&&r.originalKeywordKind<=124?t.bindDiagnostics.push(L(r,function(r){if(e.getContainingClass(r))return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode;if(t.externalModuleIndicator)return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode;return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}(r),e.declarationNameToString(r))):130===r.originalKeywordKind?e.isExternalModule(t)&&e.isInTopLevelContext(r)?t.bindDiagnostics.push(L(r,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module,e.declarationNameToString(r))):32768&r.flags&&t.bindDiagnostics.push(L(r,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,e.declarationNameToString(r))):124===r.originalKeywordKind&&8192&r.flags&&t.bindDiagnostics.push(L(r,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,e.declarationNameToString(r))))}function we(r,n){if(n&&78===n.kind){var i=n;if(function(t){return e.isIdentifier(t)&&(\"eval\"===t.escapedText||\"arguments\"===t.escapedText)}(i)){var a=e.getErrorSpanForNode(t,n);t.bindDiagnostics.push(e.createFileDiagnostic(t,a.start,a.length,function(r){if(e.getContainingClass(r))return e.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode;if(t.externalModuleIndicator)return e.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode;return e.Diagnostics.Invalid_use_of_0_in_strict_mode}(r),e.idText(i)))}}}function Ie(e){F&&we(e,e.name)}function Oe(r){if(o<2&&297!==f.kind&&256!==f.kind&&!e.isFunctionLike(f)){var n=e.getErrorSpanForNode(t,r);t.bindDiagnostics.push(e.createFileDiagnostic(t,n.start,n.length,function(r){return e.getContainingClass(r)?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:t.externalModuleIndicator?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}(r)))}}function Me(r,n,i,a,o){var s=e.getSpanOfTokenAtPosition(t,r.pos);t.bindDiagnostics.push(e.createFileDiagnostic(t,s.start,s.length,n,i,a,o))}function Le(r,i,a,o){!function(r,i,a){var o=e.createFileDiagnostic(t,i.pos,i.end-i.pos,a);r?t.bindDiagnostics.push(o):t.bindSuggestionDiagnostics=e.append(t.bindSuggestionDiagnostics,n(n({},o),{category:e.DiagnosticCategory.Suggestion}))}(r,{pos:e.getTokenPosOfNode(i,t),end:a.end},o)}function Re(t){if(t){e.setParent(t,c);var r=F;if(Ke(t),t.kind>156){var n=c;c=t;var i=Ee(t);0===i?W(t):function(t,r){var n=_,i=p,a=f;if(1&r?(209!==t.kind&&(p=_),_=f=t,32&r&&(_.locals=e.createSymbolTable()),Te(_)):2&r&&((f=t).locals=void 0),4&r){var o=v,c=h,u=D,l=x,d=E,g=C,m=k,b=16&r&&!e.hasSyntacticModifier(t,256)&&!t.asteriskToken&&!!e.getImmediatelyInvokedFunctionExpression(t);b||(v=s({flags:2}),144&r&&(v.node=t)),x=b||166===t.kind||e.isInJSFile&&(251===t.kind||208===t.kind)?$():void 0,E=void 0,h=void 0,D=void 0,C=void 0,k=!1,W(t),t.flags&=-2817,!(1&v.flags)&&8&r&&e.nodeIsPresent(t.body)&&(t.flags|=256,k&&(t.flags|=512),t.endFlowNode=v),297===t.kind&&(t.flags|=A),x&&(re(x,v),v=se(x),(166===t.kind||e.isInJSFile&&(251===t.kind||208===t.kind))&&(t.returnFlowNode=v)),b||(v=o),h=c,D=u,x=l,E=d,C=g,k=m}else 64&r?(y=!1,W(t),t.flags=y?128|t.flags:-129&t.flags):W(t);_=n,p=i,f=a}(t,i),c=n}else{n=c;1===t.kind&&(c=t),Be(t),c=n}F=r}}function Be(t){if(e.hasJSDocNodes(t))if(e.isInJSFile(t))for(var r=0,n=t.jsDoc;r=2&&(e.isDeclarationStatement(t.statement)||e.isVariableStatement(t.statement))&&Me(t.label,e.Diagnostics.A_label_is_not_allowed_here)}(r);case 187:return void(y=!0);case 172:break;case 159:return function(t){if(e.isJSDocTemplateTag(t.parent)){var r=e.find(t.parent.parent.tags,e.isJSDocTypeAlias)||e.getHostSignatureFromJSDoc(t.parent);r?(r.locals||(r.locals=e.createSymbolTable()),K(r.locals,void 0,t,262144,526824)):Ce(t,262144,526824)}else if(185===t.parent.kind){var n=function(t){var r=e.findAncestor(t,(function(t){return t.parent&&e.isConditionalTypeNode(t.parent)&&t.parent.extendsType===t}));return r&&r.parent}(t.parent);n?(n.locals||(n.locals=e.createSymbolTable()),K(n.locals,void 0,t,262144,526824)):Fe(t,262144,j(t))}else Ce(t,262144,526824)}(r);case 160:return it(r);case 249:return nt(r);case 198:return r.flowNode=v,nt(r);case 163:case 162:return function(e){return at(e,4|(e.questionToken?16777216:0),0)}(r);case 288:case 289:return at(r,4,0);case 291:return at(r,8,900095);case 169:case 170:case 171:return Ce(r,131072,0);case 165:case 164:return at(r,8192|(r.questionToken?16777216:0),e.isObjectLiteralMethod(r)?0:103359);case 251:return function(r){t.isDeclarationFile||8388608&r.flags||e.isAsyncFunction(r)&&(A|=2048);Ie(r),F?(Oe(r),Ne(r,16,110991)):Ce(r,16,110991)}(r);case 166:return Ce(r,16384,0);case 167:return at(r,32768,46015);case 168:return at(r,65536,78783);case 174:case 308:case 313:case 175:return function(t){var r=R(131072,j(t));B(r,t,131072);var n=R(2048,\"__type\");B(n,t,2048),n.members=e.createSymbolTable(),n.members.set(r.escapedName,r)}(r);case 177:case 312:case 190:return function(e){return Fe(e,2048,\"__type\")}(r);case 319:return function(t){q(t);var r=e.getHostSignatureFromJSDoc(t);r&&165!==r.kind&&B(r.symbol,r,32)}(r);case 200:return function(r){var n;if(function(e){e[e.Property=1]=\"Property\",e[e.Accessor=2]=\"Accessor\"}(n||(n={})),F&&!e.isAssignmentTarget(r))for(var i=new e.Map,a=0,o=r.properties;a1&&2097152&v.flags&&(t=e.createSymbolTable()).set(\"export=\",v);return O(t),C(l);function D(e){return!!e&&78===e.kind}function x(t){return e.isVariableStatement(t)?e.filter(e.map(t.declarationList.declarations,e.getNameOfDeclaration),D):e.filter([e.getNameOfDeclaration(t)],D)}function b(t){var n=e.find(t,e.isExportAssignment),i=e.findIndex(t,e.isModuleDeclaration),a=-1!==i?t[i]:void 0;if(a&&n&&n.isExportEquals&&e.isIdentifier(n.expression)&&e.isIdentifier(a.name)&&e.idText(a.name)===e.idText(n.expression)&&a.body&&e.isModuleBlock(a.body)){var o=e.filter(t,(function(t){return!!(1&e.getEffectiveModifierFlags(t))})),s=a.name,c=a.body;if(e.length(o)&&(a=e.factory.updateModuleDeclaration(a,a.decorators,a.modifiers,a.name,c=e.factory.updateModuleBlock(c,e.factory.createNodeArray(r(a.body.statements,[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.map(e.flatMap(o,(function(e){return x(e)})),(function(t){return e.factory.createExportSpecifier(void 0,t)}))),void 0)])))),t=r(t.slice(0,i),[a],t.slice(i+1))),!e.find(t,(function(t){return t!==a&&e.nodeHasName(t,s)}))){l=[];var u=!e.some(c.statements,(function(t){return e.hasSyntacticModifier(t,1)||e.isExportAssignment(t)||e.isExportDeclaration(t)}));e.forEach(c.statements,(function(e){K(e,u?1:0)})),t=r(e.filter(t,(function(e){return e!==a&&e!==n})),l)}}return t}function E(t){var n=e.filter(t,(function(t){return e.isExportDeclaration(t)&&!t.moduleSpecifier&&!!t.exportClause&&e.isNamedExports(t.exportClause)}));if(e.length(n)>1){var i=e.filter(t,(function(t){return!e.isExportDeclaration(t)||!!t.moduleSpecifier||!t.exportClause}));t=r(i,[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.flatMap(n,(function(t){return e.cast(t.exportClause,e.isNamedExports).elements}))),void 0)])}var a=e.filter(t,(function(t){return e.isExportDeclaration(t)&&!!t.moduleSpecifier&&!!t.exportClause&&e.isNamedExports(t.exportClause)}));if(e.length(a)>1){var o=e.group(a,(function(t){return e.isStringLiteral(t.moduleSpecifier)?\">\"+t.moduleSpecifier.text:\">\"}));if(o.length!==a.length)for(var s=function(n){n.length>1&&(t=r(e.filter(t,(function(e){return-1===n.indexOf(e)})),[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.flatMap(n,(function(t){return e.cast(t.exportClause,e.isNamedExports).elements}))),n[0].moduleSpecifier)]))},c=0,u=o;c=0){var n=t[r],i=e.mapDefined(n.exportClause.elements,(function(r){if(!r.propertyName){var n=e.indicesOf(t),i=e.filter(n,(function(n){return e.nodeHasName(t[n],r.name)}));if(e.length(i)&&e.every(i,(function(e){return F(t[e])}))){for(var a=0,o=i;a0&&e.isSingleOrDoubleQuote(a.charCodeAt(0))?e.stripQuotes(a):a}return\"default\"===r?r=\"_default\":\"export=\"===r&&(r=\"_exports\"),r=e.isIdentifierText(r,q)&&!e.isStringANonContextualKeyword(r)?r:\"_\"+r.replace(/[^a-zA-Z0-9]/g,\"_\")}function pe(e,t){var r=M(e);return i.remappedSymbolNames.has(r)?i.remappedSymbolNames.get(r):(t=_e(e,t),i.remappedSymbolNames.set(r,t),t)}}(t,i,u)}))}};function i(r,n,i,a){var o,s;e.Debug.assert(void 0===r||0==(8&r.flags));var c={enclosingDeclaration:r,flags:n||0,tracker:i&&i.trackSymbol?i:{trackSymbol:e.noop,moduleResolverHost:134217728&n?{getCommonSourceDirectory:t.getCommonSourceDirectory?function(){return t.getCommonSourceDirectory()}:function(){return\"\"},getSourceFiles:function(){return t.getSourceFiles()},getCurrentDirectory:function(){return t.getCurrentDirectory()},getSymlinkCache:e.maybeBind(t,t.getSymlinkCache),useCaseSensitiveFileNames:e.maybeBind(t,t.useCaseSensitiveFileNames),redirectTargetsMap:t.redirectTargetsMap,getProjectReferenceRedirect:function(e){return t.getProjectReferenceRedirect(e)},isSourceOfProjectReferenceRedirect:function(e){return t.isSourceOfProjectReferenceRedirect(e)},fileExists:function(e){return t.fileExists(e)}}:void 0},encounteredError:!1,visitedTypes:void 0,symbolDepth:void 0,inferTypeParameters:void 0,approximateLength:0},u=a(c);return c.truncating&&1&c.flags&&(null===(s=null===(o=c.tracker)||void 0===o?void 0:o.reportTruncationError)||void 0===s||s.call(o)),c.encounteredError?void 0:u}function o(t){return t.truncating?t.truncating:t.truncating=t.approximateLength>(1&t.flags?e.noTruncationMaximumTruncationLength:e.defaultMaximumTruncationLength)}function s(t,r){a&&a.throwIfCancellationRequested&&a.throwIfCancellationRequested();var n=8388608&r.flags;if(r.flags&=-8388609,!t)return 262144&r.flags?(r.approximateLength+=3,e.factory.createKeywordTypeNode(128)):void(r.encounteredError=!0);if(536870912&r.flags||(t=oc(t)),1&t.flags)return r.approximateLength+=3,e.factory.createKeywordTypeNode(t===Fe?136:128);if(2&t.flags)return e.factory.createKeywordTypeNode(152);if(4&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(147);if(8&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(144);if(64&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(155);if(16&t.flags)return r.approximateLength+=7,e.factory.createKeywordTypeNode(131);if(1024&t.flags&&!(1048576&t.flags)){var i=Ai(t.symbol),c=E(i,r,788968);if(Jo(i)===t)return c;var g=e.symbolName(t.symbol);return e.isIdentifierText(g,0)?V(c,e.factory.createTypeReferenceNode(g,void 0)):e.isImportTypeNode(c)?(c.isTypeOf=!0,e.factory.createIndexedAccessTypeNode(c,e.factory.createLiteralTypeNode(e.factory.createStringLiteral(g)))):e.isTypeReferenceNode(c)?e.factory.createIndexedAccessTypeNode(e.factory.createTypeQueryNode(c.typeName),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(g))):e.Debug.fail(\"Unhandled type node kind returned from `symbolToTypeNode`.\")}if(1056&t.flags)return E(t.symbol,r,788968);if(128&t.flags)return r.approximateLength+=t.value.length+2,e.factory.createLiteralTypeNode(e.setEmitFlags(e.factory.createStringLiteral(t.value,!!(268435456&r.flags)),16777216));if(256&t.flags){var m=t.value;return r.approximateLength+=(\"\"+m).length,e.factory.createLiteralTypeNode(m<0?e.factory.createPrefixUnaryExpression(40,e.factory.createNumericLiteral(-m)):e.factory.createNumericLiteral(m))}if(2048&t.flags)return r.approximateLength+=e.pseudoBigIntToString(t.value).length+1,e.factory.createLiteralTypeNode(e.factory.createBigIntLiteral(t.value));if(512&t.flags)return r.approximateLength+=t.intrinsicName.length,e.factory.createLiteralTypeNode(\"true\"===t.intrinsicName?e.factory.createTrue():e.factory.createFalse());if(8192&t.flags){if(!(1048576&r.flags)){if(Xi(t.symbol,r.enclosingDeclaration))return r.approximateLength+=6,E(t.symbol,r,111551);r.tracker.reportInaccessibleUniqueSymbolError&&r.tracker.reportInaccessibleUniqueSymbolError()}return r.approximateLength+=13,e.factory.createTypeOperatorNode(151,e.factory.createKeywordTypeNode(148))}if(16384&t.flags)return r.approximateLength+=4,e.factory.createKeywordTypeNode(113);if(32768&t.flags)return r.approximateLength+=9,e.factory.createKeywordTypeNode(150);if(65536&t.flags)return r.approximateLength+=4,e.factory.createLiteralTypeNode(e.factory.createNull());if(131072&t.flags)return r.approximateLength+=5,e.factory.createKeywordTypeNode(141);if(4096&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(148);if(67108864&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(145);if(kl(t))return 4194304&r.flags&&(r.encounteredError||32768&r.flags||(r.encounteredError=!0),r.tracker.reportInaccessibleThisError&&r.tracker.reportInaccessibleThisError()),r.approximateLength+=4,e.factory.createThisTypeNode();if(!n&&t.aliasSymbol&&(16384&r.flags||Yi(t.aliasSymbol,r.enclosingDeclaration))){var y=d(t.aliasTypeArguments,r);return!Ki(t.aliasSymbol.escapedName)||32&t.aliasSymbol.flags?E(t.aliasSymbol,r,788968,y):e.factory.createTypeReferenceNode(e.factory.createIdentifier(\"\"),y)}var v=e.getObjectFlags(t);if(4&v)return e.Debug.assert(!!(524288&t.flags)),t.node?K(t,U):U(t);if(262144&t.flags||3&v){if(262144&t.flags&&e.contains(r.inferTypeParameters,t))return r.approximateLength+=e.symbolName(t.symbol).length+6,e.factory.createInferTypeNode(f(t,r,void 0));if(4&r.flags&&262144&t.flags&&!Yi(t.symbol,r.enclosingDeclaration)){var h=C(t,r);return r.approximateLength+=e.idText(h).length,e.factory.createTypeReferenceNode(e.factory.createIdentifier(e.idText(h)),void 0)}return t.symbol?E(t.symbol,r,788968):e.factory.createTypeReferenceNode(e.factory.createIdentifier(\"?\"),void 0)}if(3145728&t.flags){var D=1048576&t.flags?function(e){for(var t=[],r=0,n=0;n0?1048576&t.flags?e.factory.createUnionTypeNode(x):e.factory.createIntersectionTypeNode(x):void(r.encounteredError||262144&r.flags||(r.encounteredError=!0))}if(48&v)return e.Debug.assert(!!(524288&t.flags)),J(t);if(4194304&t.flags){var b=t.type;r.approximateLength+=6;var S=s(b,r);return e.factory.createTypeOperatorNode(138,S)}if(134217728&t.flags){var T=t.texts,k=t.types,A=e.factory.createTemplateHead(T[0]),F=e.factory.createNodeArray(e.map(k,(function(t,n){return e.factory.createTemplateLiteralTypeSpan(s(t,r),(n10)return u(r);r.symbolDepth.set(s,i+1)}r.visitedTypes.add(a);var c=n(t);return r.visitedTypes.delete(a),s&&r.symbolDepth.set(s,i),c}function z(t){if(Ls(t)||t.containsError)return function(t){e.Debug.assert(!!(524288&t.flags));var n,i=t.declaration.readonlyToken?e.factory.createToken(t.declaration.readonlyToken.kind):void 0,a=t.declaration.questionToken?e.factory.createToken(t.declaration.questionToken.kind):void 0;n=Ps(t)?e.factory.createTypeOperatorNode(138,s(ws(t),r)):s(ks(t),r);var o=f(Cs(t),r,n),c=t.declaration.nameType?s(As(t),r):void 0,u=s(Fs(t),r),l=e.factory.createMappedTypeNode(i,o,c,a,u);return r.approximateLength+=10,e.setEmitFlags(l,1)}(t);var n=Rs(t);if(!n.properties.length&&!n.stringIndexInfo&&!n.numberIndexInfo){if(!n.callSignatures.length&&!n.constructSignatures.length)return r.approximateLength+=2,e.setEmitFlags(e.factory.createTypeLiteralNode(void 0),1);if(1===n.callSignatures.length&&!n.constructSignatures.length)return p(n.callSignatures[0],174,r);if(1===n.constructSignatures.length&&!n.callSignatures.length)return p(n.constructSignatures[0],175,r)}var i=r.flags;r.flags|=4194304;var a=function(t){if(o(r))return[e.factory.createPropertySignature(void 0,\"...\",void 0,void 0)];for(var n=[],i=0,a=t.callSignatures;i0){var v=(t.target.typeParameters||e.emptyArray).length;y=d(n.slice(b,v),r)}S=r.flags;r.flags|=16;var h=E(t.symbol,r,788968,y);return r.flags=S,u?V(u,h):h}if(n.length>0){var D=au(t),x=d(n.slice(0,D),r);if(x){if(t.target.labeledElementDeclarations)for(var b=0;b2)return[s(t[0],r),e.factory.createTypeReferenceNode(\"... \"+(t.length-2)+\" more ...\",void 0),s(t[t.length-1],r)]}for(var i=!(64&r.flags)?e.createUnderscoreEscapedMultiMap():void 0,a=[],c=0,u=0,l=t;u0)),a}function D(t,r){var n;return 524384&qx(t).flags&&(n=e.factory.createNodeArray(e.map(Do(t),(function(e){return g(e,r)})))),n}function x(t,r,n){var i;e.Debug.assert(t&&0<=r&&r1?m(a,a.length-1,1):void 0,c=i||x(a,0,r),u=S(a[0],r);!(67108864&r.flags)&&e.getEmitModuleResolutionKind(V)===e.ModuleResolutionKind.NodeJs&&u.indexOf(\"/node_modules/\")>=0&&(r.encounteredError=!0,r.tracker.reportLikelyUnsafeImportRequiredError&&r.tracker.reportLikelyUnsafeImportRequiredError(u));var l=e.factory.createLiteralTypeNode(e.factory.createStringLiteral(u));if(r.tracker.trackExternalModuleSymbolOfImportTypeNode&&r.tracker.trackExternalModuleSymbolOfImportTypeNode(a[0]),r.approximateLength+=u.length+10,!s||e.isEntityName(s)){if(s)(f=e.isIdentifier(s)?s:s.right).typeArguments=void 0;return e.factory.createImportTypeNode(l,s,c,o)}var d=b(s),_=d.objectType.typeName;return e.factory.createIndexedAccessTypeNode(e.factory.createImportTypeNode(l,_,c,o),d.indexType)}var p=m(a,a.length-1,0);if(e.isIndexedAccessTypeNode(p))return p;if(o)return e.factory.createTypeQueryNode(p);var f,g=(f=e.isIdentifier(p)?p:p.right).typeArguments;return f.typeArguments=void 0,e.factory.createTypeReferenceNode(p,g);function m(t,n,a){var o,s=n===t.length-1?i:x(t,n,r),c=t[n],u=t[n-1];if(0===n)r.flags|=16777216,o=ha(c,r),r.approximateLength+=(o?o.length:0)+1,r.flags^=16777216;else if(u&&bi(u)){var l=bi(u);e.forEachEntry(l,(function(t,r){if(wi(t,c)&&!$o(r)&&\"export=\"!==r)return o=e.unescapeLeadingUnderscores(r),!0}))}if(o||(o=ha(c,r)),r.approximateLength+=o.length+1,!(16&r.flags)&&u&&is(u)&&is(u).get(c.escapedName)&&wi(is(u).get(c.escapedName),c)){var d=m(t,n-1,a);return e.isIndexedAccessTypeNode(d)?e.factory.createIndexedAccessTypeNode(d,e.factory.createLiteralTypeNode(e.factory.createStringLiteral(o))):e.factory.createIndexedAccessTypeNode(e.factory.createTypeReferenceNode(d,s),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(o)))}var _=e.setEmitFlags(e.factory.createIdentifier(o,s),16777216);if(_.symbol=c,n>a){d=m(t,n-1,a);return e.isEntityName(d)?e.factory.createQualifiedName(d,_):e.Debug.fail(\"Impossible construct - an export of an indexed access cannot be reachable\")}return _}}function T(e,t,r){var n=Pn(t.enclosingDeclaration,e,788968,void 0,e,!1);return!!n&&!(262144&n.flags&&n===r.symbol)}function C(t,r){var n;if(4&r.flags&&r.typeParameterNames){var i=r.typeParameterNames.get(Wu(t));if(i)return i}var a=k(t.symbol,r,788968,!0);if(!(78&a.kind))return e.factory.createIdentifier(\"(Missing type parameter)\");if(4&r.flags){for(var o=a.escapedText,s=0,c=o;(null===(n=r.typeParameterNamesByText)||void 0===n?void 0:n.has(c))||T(c,r,t);)c=o+\"_\"+ ++s;c!==o&&(a=e.factory.createIdentifier(c,a.typeArguments)),(r.typeParameterNames||(r.typeParameterNames=new e.Map)).set(Wu(t),a),(r.typeParameterNamesByText||(r.typeParameterNamesByText=new e.Set)).add(a.escapedText)}return a}function k(t,r,n,i){var a=v(t,r,n);return!i||1===a.length||r.encounteredError||65536&r.flags||(r.encounteredError=!0),function t(n,i){var a=x(n,i,r),o=n[i];0===i&&(r.flags|=16777216);var s=ha(o,r);0===i&&(r.flags^=16777216);var c=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216);return c.symbol=o,i>0?e.factory.createQualifiedName(t(n,i-1),c):c}(a,a.length-1)}function A(t,r,n){var i=v(t,r,n);return function t(n,i){var a=x(n,i,r),o=n[i];0===i&&(r.flags|=16777216);var s=ha(o,r);0===i&&(r.flags^=16777216);var c=s.charCodeAt(0);if(e.isSingleOrDoubleQuote(c)&&e.some(o.declarations,na))return e.factory.createStringLiteral(S(o,r));var u=35===c?s.length>1&&e.isIdentifierStart(s.charCodeAt(1),q):e.isIdentifierStart(c,q);if(0===i||u){var l=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216);return l.symbol=o,i>0?e.factory.createPropertyAccessExpression(t(n,i-1),l):l}91===c&&(s=s.substring(1,s.length-1),c=s.charCodeAt(0));var d=void 0;return e.isSingleOrDoubleQuote(c)?d=e.factory.createStringLiteral(s.substring(1,s.length-1).replace(/\\\\./g,(function(e){return e.substring(1)})),39===c):\"\"+ +s===s&&(d=e.factory.createNumericLiteral(+s)),d||((d=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216)).symbol=o),e.factory.createElementAccessExpression(t(n,i-1),d)}(i,i.length-1)}function F(t){var r=e.getNameOfDeclaration(t);return!!r&&e.isStringLiteral(r)}function N(t){var r=e.getNameOfDeclaration(t);return!!(r&&e.isStringLiteral(r)&&(r.singleQuote||!e.nodeIsSynthesized(r)&&e.startsWith(e.getTextOfNode(r,!1),\"'\")))}function P(t,r){var n=!!e.length(t.declarations)&&e.every(t.declarations,N),i=function(t,r,n){var i=Tn(t).nameType;if(i){if(384&i.flags){var a=\"\"+i.value;return e.isIdentifierText(a,V.target)||xm(a)?xm(a)&&e.startsWith(a,\"-\")?e.factory.createComputedPropertyName(e.factory.createNumericLiteral(+a)):w(a):e.factory.createStringLiteral(a,!!n)}if(8192&i.flags)return e.factory.createComputedPropertyName(A(i.symbol,r,111551))}}(t,r,n);return i||(e.isKnownSymbol(t)?e.factory.createComputedPropertyName(e.factory.createPropertyAccessExpression(e.factory.createIdentifier(\"Symbol\"),t.escapedName.substr(3))):w(e.unescapeLeadingUnderscores(t.escapedName),!!e.length(t.declarations)&&e.every(t.declarations,F),n))}function w(t,r,n){return e.isIdentifierText(t,V.target)?e.factory.createIdentifier(t):!r&&xm(t)&&+t>=0?e.factory.createNumericLiteral(+t):e.factory.createStringLiteral(t,!!n)}function I(t,r){return t.declarations&&e.find(t.declarations,(function(t){return!(!e.getEffectiveTypeAnnotationNode(t)||r&&!e.findAncestor(t,(function(e){return e===r})))}))}function L(t,r){return!(4&e.getObjectFlags(r))||!e.isTypeReferenceNode(t)||e.length(t.typeArguments)>=Cc(r.target.typeParameters)}function R(t,r,n,i,a,o){if(r!==ke&&i){var c=I(n,i);if(c&&!e.isFunctionLikeDeclaration(c)){var u=e.getEffectiveTypeAnnotationNode(c);if(ld(u)===r&&L(u,r)){var l=B(t,u,a,o);if(l)return l}}}var d=t.flags;8192&r.flags&&r.symbol===n&&(!t.enclosingDeclaration||e.some(n.declarations,(function(r){return e.getSourceFileOfNode(r)===e.getSourceFileOfNode(t.enclosingDeclaration)})))&&(t.flags|=1048576);var _=s(r,t);return t.flags=d,_}function B(r,n,i,o){a&&a.throwIfCancellationRequested&&a.throwIfCancellationRequested();var c=!1,u=e.getSourceFileOfNode(n),l=e.visitNode(n,(function n(a){var l,d;if(e.isJSDocAllType(a)||310===a.kind)return e.factory.createKeywordTypeNode(128);if(e.isJSDocUnknownType(a))return e.factory.createKeywordTypeNode(152);if(e.isJSDocNullableType(a))return e.factory.createUnionTypeNode([e.visitNode(a.type,n),e.factory.createLiteralTypeNode(e.factory.createNull())]);if(e.isJSDocOptionalType(a))return e.factory.createUnionTypeNode([e.visitNode(a.type,n),e.factory.createKeywordTypeNode(150)]);if(e.isJSDocNonNullableType(a))return e.visitNode(a.type,n);if(e.isJSDocVariadicType(a))return e.factory.createArrayTypeNode(e.visitNode(a.type,n));if(e.isJSDocTypeLiteral(a))return e.factory.createTypeLiteralNode(e.map(a.jsDocPropertyTags,(function(t){var i=e.isIdentifier(t.name)?t.name:t.name.right,o=ka(ld(a),i.escapedText),c=o&&t.typeExpression&&ld(t.typeExpression.type)!==o?s(o,r):void 0;return e.factory.createPropertySignature(void 0,i,t.typeExpression&&e.isJSDocOptionalType(t.typeExpression.type)?e.factory.createToken(57):void 0,c||t.typeExpression&&e.visitNode(t.typeExpression.type,n)||e.factory.createKeywordTypeNode(128))})));if(e.isTypeReferenceNode(a)&&e.isIdentifier(a.typeName)&&\"\"===a.typeName.escapedText)return e.setOriginalNode(e.factory.createKeywordTypeNode(128),a);if((e.isExpressionWithTypeArguments(a)||e.isTypeReferenceNode(a))&&e.isJSDocIndexSignature(a))return e.factory.createTypeLiteralNode([e.factory.createIndexSignature(void 0,void 0,[e.factory.createParameterDeclaration(void 0,void 0,void 0,\"x\",void 0,e.visitNode(a.typeArguments[0],n))],e.visitNode(a.typeArguments[1],n))]);if(e.isJSDocFunctionType(a)){var _;return e.isJSDocConstructSignature(a)?e.factory.createConstructorTypeNode(e.visitNodes(a.typeParameters,n),e.mapDefined(a.parameters,(function(t,r){return t.name&&e.isIdentifier(t.name)&&\"new\"===t.name.escapedText?void(_=t.type):e.factory.createParameterDeclaration(void 0,void 0,m(t),y(t,r),t.questionToken,e.visitNode(t.type,n),void 0)})),e.visitNode(_||a.type,n)||e.factory.createKeywordTypeNode(128)):e.factory.createFunctionTypeNode(e.visitNodes(a.typeParameters,n),e.map(a.parameters,(function(t,r){return e.factory.createParameterDeclaration(void 0,void 0,m(t),y(t,r),t.questionToken,e.visitNode(t.type,n),void 0)})),e.visitNode(a.type,n)||e.factory.createKeywordTypeNode(128))}if(e.isTypeReferenceNode(a)&&e.isInJSDoc(a)&&(!L(a,ld(a))||yu(a)||be===uu(cu(a),788968,!0)))return e.setOriginalNode(s(ld(a),r),a);if(e.isLiteralImportTypeNode(a))return e.factory.updateImportTypeNode(a,e.factory.updateLiteralTypeNode(a.argument,function(n,i){if(o){if(r.tracker&&r.tracker.moduleResolverHost){var a=_S(n);if(a){var s={getCanonicalFileName:e.createGetCanonicalFileName(!!t.useCaseSensitiveFileNames),getCurrentDirectory:function(){return r.tracker.moduleResolverHost.getCurrentDirectory()},getCommonSourceDirectory:function(){return r.tracker.moduleResolverHost.getCommonSourceDirectory()}},c=e.getResolvedExternalModuleName(s,a);return e.factory.createStringLiteral(c)}}}else if(r.tracker&&r.tracker.trackExternalModuleSymbolOfImportTypeNode){var u=fi(i,i,void 0);u&&r.tracker.trackExternalModuleSymbolOfImportTypeNode(u)}return i}(a,a.argument.literal)),a.qualifier,e.visitNodes(a.typeArguments,n,e.isTypeNode),a.isTypeOf);if(e.isEntityName(a)||e.isEntityNameExpression(a)){var p=e.getFirstIdentifier(a);if(e.isInJSFile(a)&&(e.isExportsIdentifier(p)||e.isModuleExportsAccessExpression(p.parent)||e.isQualifiedName(p.parent)&&e.isModuleIdentifier(p.parent.left)&&e.isExportsIdentifier(p.parent.right)))return c=!0,a;var f=di(p,67108863,!0,!0);if(f&&(0!==Zi(f,r.enclosingDeclaration,67108863,!1).accessibility?c=!0:(null===(d=null===(l=r.tracker)||void 0===l?void 0:l.trackSymbol)||void 0===d||d.call(l,f,r.enclosingDeclaration,67108863),null==i||i(f)),e.isIdentifier(a))){var g=262144&f.flags?C(Jo(f),r):e.factory.cloneNode(a);return g.symbol=f,e.setEmitFlags(e.setOriginalNode(g,a),16777216)}}u&&e.isTupleTypeNode(a)&&e.getLineAndCharacterOfPosition(u,a.pos).line===e.getLineAndCharacterOfPosition(u,a.end).line&&e.setEmitFlags(a,1);return e.visitEachChild(a,n,e.nullTransformationContext);function m(t){return t.dotDotDotToken||(t.type&&e.isJSDocVariadicType(t.type)?e.factory.createToken(25):void 0)}function y(t,r){return t.name&&e.isIdentifier(t.name)&&\"this\"===t.name.escapedText?\"this\":m(t)?\"args\":\"arg\"+r}}));if(!c)return l===n?e.setTextRange(e.factory.cloneNode(n),n):l}}(),ie=e.createSymbolTable(),ae=mn(4,\"undefined\");ae.declarations=[];var oe=mn(1536,\"globalThis\",8);oe.exports=ie,oe.declarations=[],ie.set(oe.escapedName,oe);var se,ce=mn(4,\"arguments\"),ue=mn(4,\"require\"),le={getNodeCount:function(){return e.sum(t.getSourceFiles(),\"nodeCount\")},getIdentifierCount:function(){return e.sum(t.getSourceFiles(),\"identifierCount\")},getSymbolCount:function(){return e.sum(t.getSourceFiles(),\"symbolCount\")+h},getTypeCatalog:function(){return k},getTypeCount:function(){return v},getInstantiationCount:function(){return x},getRelationCacheSizes:function(){return{assignable:an.size,identity:sn.size,subtype:rn.size,strictSubtype:nn.size}},isUndefinedSymbol:function(e){return e===ae},isArgumentsSymbol:function(e){return e===ce},isUnknownSymbol:function(e){return e===be},getMergedSymbol:Ci,getDiagnostics:yb,getGlobalDiagnostics:function(){return vb(),$r.getGlobalDiagnostics()},getRecursionIdentity:B_,getTypeOfSymbolAtLocation:function(t,r){var n=e.getParseTreeNode(r);return n?function(t,r){if(t=t.exportSymbol||t,78===r.kind&&(e.isRightSideOfQualifiedNameOrPropertyAccess(r)&&(r=r.parent),e.isExpressionNode(r)&&!e.isAssignmentTarget(r))){var n=qh(r);if(Ii(Cn(r).resolvedSymbol)===t)return n}return po(t)}(t,n):ke},getSymbolsOfParameterPropertyDeclaration:function(t,r){var n=e.getParseTreeNode(t,e.isParameter);return void 0===n?e.Debug.fail(\"Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node.\"):function(t,r){var n=t.parent,i=t.parent.parent,a=An(n.locals,r,111551),o=An(is(i.symbol),r,111551);if(a&&o)return[a,o];return e.Debug.fail(\"There should exist two symbols, one as property declaration and one as parameter declaration\")}(n,e.escapeLeadingUnderscores(r))},getDeclaredTypeOfSymbol:Jo,getPropertiesOfType:Ks,getPropertyOfType:function(t,r){return dc(t,e.escapeLeadingUnderscores(r))},getPrivateIdentifierPropertyOfType:function(t,r,n){var i=e.getParseTreeNode(n);if(i){var a=ly(e.escapeLeadingUnderscores(r),i);return a?dy(t,a):void 0}},getTypeOfPropertyOfType:function(t,r){return ka(t,e.escapeLeadingUnderscores(r))},getIndexInfoOfType:mc,getSignaturesOfType:pc,getIndexTypeOfType:yc,getBaseTypes:Ao,getBaseTypeOfLiteralType:ep,getWidenedType:Ip,getTypeFromTypeNode:function(t){var r=e.getParseTreeNode(t,e.isTypeNode);return r?ld(r):ke},getParameterType:Bv,getPromisedTypeOfPromise:mD,getAwaitedType:function(e){return vD(e)},getReturnTypeOfSignature:Mc,isNullableType:ey,getNullableType:yp,getNonNullableType:hp,getNonOptionalType:bp,getTypeArguments:iu,typeToTypeNode:ne.typeToTypeNode,indexInfoToIndexSignatureDeclaration:ne.indexInfoToIndexSignatureDeclaration,signatureToSignatureDeclaration:ne.signatureToSignatureDeclaration,symbolToEntityName:ne.symbolToEntityName,symbolToExpression:ne.symbolToExpression,symbolToTypeParameterDeclarations:ne.symbolToTypeParameterDeclarations,symbolToParameterDeclaration:ne.symbolToParameterDeclaration,typeParameterToDeclaration:ne.typeParameterToDeclaration,getSymbolsInScope:function(t,r){var n=e.getParseTreeNode(t);return n?function(t,r){if(16777216&t.flags)return[];var n=e.createSymbolTable(),i=!1;return a(),n.delete(\"this\"),Dc(n);function a(){for(;t;){switch(t.locals&&!kn(t)&&s(t.locals,r),t.kind){case 297:if(!e.isExternalOrCommonJsModule(t))break;case 256:s(ki(t).exports,2623475&r);break;case 255:s(ki(t).exports,8&r);break;case 221:t.name&&o(t.symbol,r);case 252:case 253:i||s(is(ki(t)),788968&r);break;case 208:t.name&&o(t.symbol,r)}e.introducesArgumentsExoticObject(t)&&o(ce,r),i=e.hasSyntacticModifier(t,32),t=t.parent}s(ie,r)}function o(t,r){if(e.getCombinedLocalAndExportSymbolFlags(t)&r){var i=t.escapedName;n.has(i)||n.set(i,t)}}function s(e,t){t&&e.forEach((function(e){o(e,t)}))}}(n,r):[]},getSymbolAtLocation:function(t){var r=e.getParseTreeNode(t);return r?Tb(r,!0):void 0},getShorthandAssignmentValueSymbol:function(t){var r=e.getParseTreeNode(t);return r?function(e){if(e&&289===e.kind)return di(e.name,2208703);return}(r):void 0},getExportSpecifierLocalTargetSymbol:function(t){var r=e.getParseTreeNode(t,e.isExportSpecifier);return r?function(t){return e.isExportSpecifier(t)?t.parent.parent.moduleSpecifier?Xn(t.parent.parent,t):di(t.propertyName||t.name,2998271):di(t,2998271)}(r):void 0},getExportSymbolOfSymbol:function(e){return Ci(e.exportSymbol||e)},getTypeAtLocation:function(t){var r=e.getParseTreeNode(t);return r?Cb(r):ke},getTypeOfAssignmentPattern:function(t){var r=e.getParseTreeNode(t,e.isAssignmentPattern);return r&&kb(r)||ke},getPropertySymbolOfDestructuringAssignment:function(t){var r=e.getParseTreeNode(t,e.isIdentifier);return r?function(t){var r=kb(e.cast(t.parent.parent,e.isAssignmentPattern));return r&&dc(r,t.escapedText)}(r):void 0},signatureToString:function(t,r,n,i){return sa(t,e.getParseTreeNode(r),n,i)},typeToString:function(t,r,n){return ca(t,e.getParseTreeNode(r),n)},symbolToString:function(t,r,n,i){return oa(t,e.getParseTreeNode(r),n,i)},typePredicateToString:function(t,r,n){return fa(t,e.getParseTreeNode(r),n)},writeSignature:function(t,r,n,i,a){return sa(t,e.getParseTreeNode(r),n,i,a)},writeType:function(t,r,n,i){return ca(t,e.getParseTreeNode(r),n,i)},writeSymbol:function(t,r,n,i,a){return oa(t,e.getParseTreeNode(r),n,i,a)},writeTypePredicate:function(t,r,n,i){return fa(t,e.getParseTreeNode(r),n,i)},getAugmentedPropertiesOfType:Pb,getRootSymbols:function t(r){var n=function(t){if(6&e.getCheckFlags(t))return e.mapDefined(Tn(t).containingType.types,(function(e){return dc(e,t.escapedName)}));if(33554432&t.flags){var r=t,n=r.leftSpread,i=r.rightSpread,a=r.syntheticOrigin;return n?[n,i]:a?[a]:e.singleElementArray(function(e){var t,r=e;for(;r=Tn(r).target;)t=r;return t}(t))}return}(r);return n?e.flatMap(n,t):[r]},getSymbolOfExpando:xv,getContextualType:function(t,r){var n=e.getParseTreeNode(t,e.isExpression);if(n){var i=e.findAncestor(n,e.isCallLikeExpression),a=i&&Cn(i).resolvedSignature;if(4&r&&i){var o=n;do{Cn(o).skipDirectInference=!0,o=o.parent}while(o&&o!==i);Cn(i).resolvedSignature=void 0}var s=cm(n,r);if(4&r&&i){o=n;do{Cn(o).skipDirectInference=void 0,o=o.parent}while(o&&o!==i);Cn(i).resolvedSignature=a}return s}},getContextualTypeForObjectLiteralElement:function(t){var r=e.getParseTreeNode(t,e.isObjectLiteralElementLike);return r?em(r):void 0},getContextualTypeForArgumentAtIndex:function(t,r){var n=e.getParseTreeNode(t,e.isCallLikeExpression);return n&&Gg(n,r)},getContextualTypeForJsxAttribute:function(t){var r=e.getParseTreeNode(t,e.isJsxAttributeLike);return r&&nm(r)},isContextSensitive:jd,getFullyQualifiedName:li,getResolvedSignature:function(e,t,r){return de(e,t,r,0)},getResolvedSignatureForSignatureHelp:function(e,t,r){return de(e,t,r,16)},getExpandedParameters:_s,hasEffectiveRestParameter:Uv,getConstantValue:function(t){var r=e.getParseTreeNode(t,$b);return r?Zb(r):void 0},isValidPropertyAccess:function(t,r){var n=e.getParseTreeNode(t,e.isPropertyAccessOrQualifiedNameOrImportTypeNode);return!!n&&function(e,t){switch(e.kind){case 201:return Ey(e,105===e.expression.kind,t,Ip(Gh(e.expression)));case 157:return Ey(e,!1,t,Ip(Gh(e.left)));case 195:return Ey(e,!1,t,ld(e))}}(n,e.escapeLeadingUnderscores(r))},isValidPropertyAccessForCompletions:function(t,r,n){var i=e.getParseTreeNode(t,e.isPropertyAccessExpression);return!!i&&function(e,t,r){return Ey(e,201===e.kind&&105===e.expression.kind,r.escapedName,t)}(i,r,n)},getSignatureFromDeclaration:function(t){var r=e.getParseTreeNode(t,e.isFunctionLike);return r?Ac(r):void 0},isImplementationOfOverload:function(t){var r=e.getParseTreeNode(t,e.isFunctionLike);return r?qb(r):void 0},getImmediateAliasedSymbol:Em,getAliasedSymbol:ni,getEmitResolver:function(e,t){return yb(e,t),re},getExportsOfModule:Di,getExportsAndPropertiesOfModule:function(t){var r=Di(t),n=yi(t);n!==t&&e.addRange(r,Ks(po(n)));return r},getSymbolWalker:e.createGetSymbolWalker((function(e){return Bc(e)||Ee}),Oc,Mc,Ao,Rs,po,vf,gc,Us,e.getFirstIdentifier,iu),getAmbientModules:function(){mt||(mt=[],ie.forEach((function(e,t){c.test(t)&&mt.push(e)})));return mt},getJsxIntrinsicTagNamesAt:function(t){var r=Im(N.IntrinsicElements,t);return r?Ks(r):e.emptyArray},isOptionalParameter:function(t){var r=e.getParseTreeNode(t,e.isParameter);return!!r&&Sc(r)},tryGetMemberInModuleExports:function(t,r){return xi(e.escapeLeadingUnderscores(t),r)},tryGetMemberInModuleExportsAndProperties:function(t,r){return function(t,r){var n=xi(t,r);if(n)return n;var i=yi(r);if(i===r)return;var a=po(i);return 131068&a.flags||1&e.getObjectFlags(a)||X_(a)?void 0:dc(a,t)}(e.escapeLeadingUnderscores(t),r)},tryFindAmbientModuleWithoutAugmentations:function(e){return bc(e,!1)},getApparentType:tc,getUnionType:$u,isTypeAssignableTo:Yd,createAnonymousType:Vi,createSignature:cs,createSymbol:mn,createIndexInfo:Gc,getAnyType:function(){return Ee},getStringType:function(){return Le},getNumberType:function(){return Re},createPromiseType:Qv,createArrayType:Iu,getElementTypeOfArrayType:W_,getBooleanType:function(){return Ue},getFalseType:function(e){return e?je:Je},getTrueType:function(e){return e?Ke:ze},getVoidType:function(){return qe},getUndefinedType:function(){return Pe},getNullType:function(){return Oe},getESSymbolType:function(){return Ve},getNeverType:function(){return We},getOptionalType:function(){return Ie},isSymbolAccessible:Zi,isArrayType:U_,isTupleType:ap,isArrayLikeType:H_,isTypeInvalidDueToUnionDiscriminant:function(e,t){return t.properties.some((function(t){var r=t.name&&ul(t.name),n=r&&Xo(r)?ts(r):void 0,i=void 0===n?void 0:ka(e,n);return!!i&&Z_(i)&&!Yd(Cb(t),i)}))},getAllPossiblePropertiesOfTypes:function(t){var r=$u(t);if(!(1048576&r.flags))return Pb(r);for(var n=e.createSymbolTable(),i=0,a=t;i>\",0,Ee),lr=cs(void 0,void 0,void 0,e.emptyArray,Ee,void 0,0,0),dr=cs(void 0,void 0,void 0,e.emptyArray,ke,void 0,0,0),_r=cs(void 0,void 0,void 0,e.emptyArray,Ee,void 0,0,0),pr=cs(void 0,void 0,void 0,e.emptyArray,He,void 0,0,0),fr=Gc(Le,!0),gr=new e.Map,mr={get yieldType(){return e.Debug.fail(\"Not supported\")},get returnType(){return e.Debug.fail(\"Not supported\")},get nextType(){return e.Debug.fail(\"Not supported\")}},yr=_x(Ee,Ee,Ee),vr=_x(Ee,Ee,Ne),hr=_x(We,Ee,Pe),Dr={iterableCacheKey:\"iterationTypesOfAsyncIterable\",iteratorCacheKey:\"iterationTypesOfAsyncIterator\",iteratorSymbolName:\"asyncIterator\",getGlobalIteratorType:function(e){return Gt||(Gt=Eu(\"AsyncIterator\",3,e))||ct},getGlobalIterableType:function(e){return Ht||(Ht=Eu(\"AsyncIterable\",1,e))||ct},getGlobalIterableIteratorType:function(e){return Yt||(Yt=Eu(\"AsyncIterableIterator\",1,e))||ct},getGlobalGeneratorType:function(e){return Xt||(Xt=Eu(\"AsyncGenerator\",3,e))||ct},resolveIterationType:vD,mustHaveANextMethodDiagnostic:e.Diagnostics.An_async_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:e.Diagnostics.The_0_property_of_an_async_iterator_must_be_a_method,mustHaveAValueDiagnostic:e.Diagnostics.The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property},xr={iterableCacheKey:\"iterationTypesOfIterable\",iteratorCacheKey:\"iterationTypesOfIterator\",iteratorSymbolName:\"iterator\",getGlobalIteratorType:function(e){return zt||(zt=Eu(\"Iterator\",3,e))||ct},getGlobalIterableType:Fu,getGlobalIterableIteratorType:function(e){return Ut||(Ut=Eu(\"IterableIterator\",1,e))||ct},getGlobalGeneratorType:function(e){return Vt||(Vt=Eu(\"Generator\",3,e))||ct},resolveIterationType:function(e,t){return e},mustHaveANextMethodDiagnostic:e.Diagnostics.An_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:e.Diagnostics.The_0_property_of_an_iterator_must_be_a_method,mustHaveAValueDiagnostic:e.Diagnostics.The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property},br=new e.Map,Sr=!1,Er=new e.Map,Tr=0,Cr=0,kr=0,Ar=!1,Fr=0,Nr=ad(\"\"),Pr=ad(0),wr=ad({negative:!1,base10Value:\"0\"}),Ir=[],Or=[],Mr=[],Lr=0,Rr=[],Br=[],jr=[],Jr=[],Kr=[],zr=[],Ur=[],Vr=[],qr=[],Wr=[],Hr=[],Gr=[],Yr=[],Xr=[],Qr=[],$r=e.createDiagnosticCollection(),Zr=e.createDiagnosticCollection(),en=new e.Map(e.getEntries({string:Le,number:Re,bigint:Be,boolean:Ue,symbol:Ve,undefined:Pe})),tn=$u(e.arrayFrom(S.keys(),ad)),rn=new e.Map,nn=new e.Map,an=new e.Map,on=new e.Map,sn=new e.Map,cn=new e.Map,un=e.createSymbolTable();return un.set(ae.escapedName,ae),function(){for(var r=0,n=t.getSourceFiles();r=5||e.some(o.relatedInformation,(function(t){return 0===e.compareDiagnostics(t,s)||0===e.compareDiagnostics(t,i)})))return\"continue\";e.addRelatedInfo(o,e.length(o.relatedInformation)?s:i)},c=0,u=i||e.emptyArray;c1)}function Tn(e){if(33554432&e.flags)return e;var t=M(e);return Br[t]||(Br[t]=new w)}function Cn(e){var t=O(e);return jr[t]||(jr[t]=new I)}function kn(t){return 297===t.kind&&!e.isExternalOrCommonJsModule(t)}function An(t,r,n){if(n){var i=Ci(t.get(r));if(i){if(e.Debug.assert(0==(1&e.getCheckFlags(i)),\"Should never get an instantiated symbol here.\"),i.flags&n)return i;if(2097152&i.flags){var a=ni(i);if(a===be||a.flags&n)return i}}}}function Fn(r,n){var i=e.getSourceFileOfNode(r),a=e.getSourceFileOfNode(n),o=e.getEnclosingBlockScopeContainer(r);if(i!==a){if(W&&(i.externalModuleIndicator||a.externalModuleIndicator)||!e.outFile(V)||hf(n)||8388608&r.flags)return!0;if(u(n,r))return!0;var s=t.getSourceFiles();return s.indexOf(i)<=s.indexOf(a)}if(r.pos<=n.pos&&(!e.isPropertyDeclaration(r)||!e.isThisProperty(n.parent)||r.initializer||r.exclamationToken)){if(198===r.kind){var c=e.getAncestor(n,198);return c?e.findAncestor(c,e.isBindingElement)!==e.findAncestor(r,e.isBindingElement)||r.post.end)&&void 0===e.findAncestor(r,(function(r){if(r===t)return\"quit\";switch(r.kind){case 209:return!0;case 163:return!n||!(e.isPropertyDeclaration(t)&&r.parent===t.parent||e.isParameterPropertyDeclaration(t,t.parent)&&r.parent===t.parent.parent)||\"quit\";case 230:switch(r.parent.kind){case 167:case 165:case 168:return!0;default:return!1}default:return!1}}))}}function Nn(t,r,n){var i=e.getEmitScriptTarget(V),a=r;if(e.isParameter(n)&&a.body&&t.valueDeclaration.pos>=a.body.pos&&t.valueDeclaration.end<=a.body.end&&i>=2){var o=Cn(a);return void 0===o.declarationRequiresScopeChange&&(o.declarationRequiresScopeChange=e.forEach(a.parameters,(function(e){return s(e.name)||!!e.initializer&&s(e.initializer)}))||!1),!o.declarationRequiresScopeChange}return!1;function s(t){switch(t.kind){case 209:case 208:case 251:case 166:return!1;case 165:case 167:case 168:case 288:return s(t.name);case 163:return e.hasStaticModifier(t)?i<99||!V.useDefineForClassFields:s(t.name);default:return e.isNullishCoalesce(t)||e.isOptionalChain(t)?i<7:e.isBindingElement(t)&&t.dotDotDotToken&&e.isObjectBindingPattern(t.parent)?i<4:!e.isTypeNode(t)&&(e.forEachChild(t,s)||!1)}}}function Pn(e,t,r,n,i,a,o,s){return void 0===o&&(o=!1),wn(e,t,r,n,i,a,o,An,s)}function wn(t,r,n,i,a,o,s,c,u){var l,d,_,p,f,g,m=t,y=!1,v=t,h=!1;e:for(;t;){if(t.locals&&!kn(t)&&(l=c(t.locals,r,n))){var D=!0;if(e.isFunctionLike(t)&&d&&d!==t.body?(n&l.flags&788968&&311!==d.kind&&(D=!!(262144&l.flags)&&(d===t.type||160===d.kind||159===d.kind)),n&l.flags&3&&(Nn(l,t,d)?D=!1:1&l.flags&&(D=160===d.kind||d===t.type&&!!e.findAncestor(l.valueDeclaration,e.isParameter)))):184===t.kind&&(D=d===t.trueType),D)break e;l=void 0}switch(y=y||In(t,d),t.kind){case 297:if(!e.isExternalOrCommonJsModule(t))break;h=!0;case 256:var x=ki(t).exports||A;if(297===t.kind||e.isModuleDeclaration(t)&&8388608&t.flags&&!e.isGlobalScopeAugmentation(t)){if(l=x.get(\"default\")){var b=e.getLocalSymbolForExportDefault(l);if(b&&l.flags&n&&b.escapedName===r)break e;l=void 0}var S=x.get(r);if(S&&2097152===S.flags&&(e.getDeclarationOfKind(S,270)||e.getDeclarationOfKind(S,269)))break}if(\"default\"!==r&&(l=c(x,r,2623475&n))){if(!e.isSourceFile(t)||!t.commonJsModuleIndicator||l.declarations.some(e.isJSDocTypeAlias))break e;l=void 0}break;case 255:if(l=c(ki(t).exports,r,8&n))break e;break;case 163:if(!e.hasSyntacticModifier(t,32)){var E=Mi(t.parent);E&&E.locals&&c(E.locals,r,111551&n)&&(p=t)}break;case 252:case 221:case 253:if(l=c(ki(t).members||A,r,788968&n)){if(!Ln(l,t)){l=void 0;break}if(d&&e.hasSyntacticModifier(d,32))return void _n(v,e.Diagnostics.Static_members_cannot_reference_class_type_parameters);break e}if(221===t.kind&&32&n){var T=t.name;if(T&&r===T.escapedText){l=t.symbol;break e}}break;case 223:if(d===t.expression&&93===t.parent.token){var C=t.parent.parent;if(e.isClassLike(C)&&(l=c(ki(C).members,r,788968&n)))return void(i&&_n(v,e.Diagnostics.Base_class_expressions_cannot_reference_class_type_parameters))}break;case 158:if(g=t.parent.parent,(e.isClassLike(g)||253===g.kind)&&(l=c(ki(g).members,r,788968&n)))return void _n(v,e.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);break;case 209:if(V.target>=2)break;case 165:case 166:case 167:case 168:case 251:if(3&n&&\"arguments\"===r){l=ce;break e}break;case 208:if(3&n&&\"arguments\"===r){l=ce;break e}if(16&n){var k=t.name;if(k&&r===k.escapedText){l=t.symbol;break e}}break;case 161:t.parent&&160===t.parent.kind&&(t=t.parent),t.parent&&(e.isClassElement(t.parent)||252===t.parent.kind)&&(t=t.parent);break;case 331:case 324:case 325:t=e.getJSDocHost(t);break;case 160:d&&(d===t.initializer||d===t.name&&e.isBindingPattern(d))&&(f||(f=t));break;case 198:d&&(d===t.initializer||d===t.name&&e.isBindingPattern(d))&&e.isParameterDeclaration(t)&&!f&&(f=t);break;case 185:if(262144&n){var F=t.typeParameter.name;if(F&&r===F.escapedText){l=t.typeParameter.symbol;break e}}}On(t)&&(_=t),d=t,t=t.parent}if(!o||!l||_&&l===_.symbol||(l.isReferenced|=n),!l){if(d&&(e.Debug.assert(297===d.kind),d.commonJsModuleIndicator&&\"exports\"===r&&n&d.symbol.flags))return d.symbol;s||(l=c(ie,r,n))}if(!l&&m&&e.isInJSFile(m)&&m.parent&&e.isRequireCall(m.parent,!1))return ue;if(l){if(i){if(p&&(99!==V.target||!V.useDefineForClassFields)){var N=p.name;return void _n(v,e.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,e.declarationNameToString(N),Mn(a))}if(v&&(2&n||(32&n||384&n)&&111551==(111551&n))){var P=Ii(l);(2&P.flags||32&P.flags||384&P.flags)&&function(t,r){if(e.Debug.assert(!!(2&t.flags||32&t.flags||384&t.flags)),67108881&t.flags&&32&t.flags)return;var n=e.find(t.declarations,(function(t){return e.isBlockOrCatchScoped(t)||e.isClassLike(t)||255===t.kind}));if(void 0===n)return e.Debug.fail(\"checkResolvedBlockScopedVariable could not find block-scoped declaration\");if(!(8388608&n.flags||Fn(n,r))){var i=void 0,a=e.declarationNameToString(e.getNameOfDeclaration(n));2&t.flags?i=_n(r,e.Diagnostics.Block_scoped_variable_0_used_before_its_declaration,a):32&t.flags?i=_n(r,e.Diagnostics.Class_0_used_before_its_declaration,a):256&t.flags?i=_n(r,e.Diagnostics.Enum_0_used_before_its_declaration,a):(e.Debug.assert(!!(128&t.flags)),V.preserveConstEnums&&(i=_n(r,e.Diagnostics.Enum_0_used_before_its_declaration,a))),i&&e.addRelatedInfo(i,e.createDiagnosticForNode(n,e.Diagnostics._0_is_declared_here,a))}}(P,v)}if(l&&h&&111551==(111551&n)&&!(4194304&m.flags)){var w=Ci(l);e.length(w.declarations)&&e.every(w.declarations,(function(t){return e.isNamespaceExportDeclaration(t)||e.isSourceFile(t)&&!!t.symbol.globalExports}))&&fn(!V.allowUmdGlobalAccess,v,e.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead,e.unescapeLeadingUnderscores(r))}if(l&&f&&!y&&111551==(111551&n)){var I=Ci(as(l)),O=e.getRootDeclaration(f);I===ki(f)?_n(v,e.Diagnostics.Parameter_0_cannot_reference_itself,e.declarationNameToString(f.name)):I.valueDeclaration&&I.valueDeclaration.pos>f.pos&&O.parent.locals&&c(O.parent.locals,I.escapedName,n)===I&&_n(v,e.Diagnostics.Parameter_0_cannot_reference_identifier_1_declared_after_it,e.declarationNameToString(f.name),e.declarationNameToString(v))}l&&v&&111551&n&&2097152&l.flags&&function(t,r,n){if(!e.isValidTypeOnlyAliasUseSite(n)){var i=oi(t);if(i){var a=e.typeOnlyDeclarationIsExport(i),o=a?e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type,s=a?e.Diagnostics._0_was_exported_here:e.Diagnostics._0_was_imported_here,c=e.unescapeLeadingUnderscores(r);e.addRelatedInfo(_n(n,o,c),e.createDiagnosticForNode(i,s,c))}}}(l,r,v)}return l}if(i&&!(v&&(function(t,r,n){if(!e.isIdentifier(t)||t.escapedText!==r||Db(t)||hf(t))return!1;var i=e.getThisContainer(t,!1),a=i;for(;a;){if(e.isClassLike(a.parent)){var o=ki(a.parent);if(!o)break;if(dc(po(o),r))return _n(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0,Mn(n),oa(o)),!0;if(a===i&&!e.hasSyntacticModifier(a,32))if(dc(Jo(o).thisType,r))return _n(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0,Mn(n)),!0}a=a.parent}return!1}(v,r,a)||Rn(v)||function(t,r,n){var i=1920|(e.isInJSFile(t)?111551:0);if(n===i){var a=ri(Pn(t,r,788968&~i,void 0,void 0,!1)),o=t.parent;if(a){if(e.isQualifiedName(o)){e.Debug.assert(o.left===t,\"Should only be resolving left side of qualified name as a namespace\");var s=o.right.escapedText;if(dc(Jo(a),s))return _n(o,e.Diagnostics.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,e.unescapeLeadingUnderscores(r),e.unescapeLeadingUnderscores(s)),!0}return _n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here,e.unescapeLeadingUnderscores(r)),!0}}return!1}(v,r,n)||function(t,r){if(jn(r)&&270===t.parent.kind)return _n(t,e.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,r),!0;return!1}(v,r)||function(t,r,n){if(111551&n){if(jn(r))return _n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,e.unescapeLeadingUnderscores(r)),!0;var i=ri(Pn(t,r,788544,void 0,void 0,!1));if(i&&!(1024&i.flags)){var a=e.unescapeLeadingUnderscores(r);return!function(e){switch(e){case\"Promise\":case\"Symbol\":case\"Map\":case\"WeakMap\":case\"Set\":case\"WeakSet\":return!0}return!1}(r)?!function(t,r){var n=e.findAncestor(t.parent,(function(t){return!e.isComputedPropertyName(t)&&!e.isPropertySignature(t)&&(e.isTypeLiteralNode(t)||\"quit\")}));if(n&&1===n.members.length){var i=Jo(r);return!!(1048576&i.flags)&&vh(i,384,!0)}return!1}(t,i)?_n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,a):_n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0,a,\"K\"===a?\"P\":\"K\"):_n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later,a),!0}}return!1}(v,r,n)||function(t,r,n){if(111127&n){if(ri(Pn(t,r,1024,void 0,void 0,!1)))return _n(t,e.Diagnostics.Cannot_use_namespace_0_as_a_value,e.unescapeLeadingUnderscores(r)),!0}else if(788544&n){if(ri(Pn(t,r,1536,void 0,void 0,!1)))return _n(t,e.Diagnostics.Cannot_use_namespace_0_as_a_type,e.unescapeLeadingUnderscores(r)),!0}return!1}(v,r,n)||function(t,r,n){if(788584&n){var i=ri(Pn(t,r,111127,void 0,void 0,!1));if(i&&!(1920&i.flags))return _n(t,e.Diagnostics._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,e.unescapeLeadingUnderscores(r)),!0}return!1}(v,r,n)))){var M=void 0;if(u&&Lr<10&&(M=Dy(m,r,n))){var L=oa(M),R=_n(v,u,Mn(a),L);M.valueDeclaration&&e.addRelatedInfo(R,e.createDiagnosticForNode(M.valueDeclaration,e.Diagnostics._0_is_declared_here,L))}if(!M&&a){var B=function(t){for(var r=Mn(t),n=e.getScriptTargetFeatures(),i=e.getOwnKeys(n),a=0,o=i;a=e.ModuleKind.ES2015?\"allowSyntheticDefaultImports\":\"esModuleInterop\",c=n.exports.get(\"export=\").valueDeclaration,u=_n(t.name,e.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag,oa(n),s);e.addRelatedInfo(u,e.createDiagnosticForNode(c,e.Diagnostics.This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag,s))}else!function(t,r){var n,i;if(null===(n=t.exports)||void 0===n?void 0:n.has(r.symbol.escapedName))_n(r.name,e.Diagnostics.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead,oa(t),oa(r.symbol));else{var a=_n(r.name,e.Diagnostics.Module_0_has_no_default_export,oa(t)),o=null===(i=t.exports)||void 0===i?void 0:i.get(\"__export\");if(o){var s=e.find(o.declarations,(function(t){var r,n;return!!(e.isExportDeclaration(t)&&t.moduleSpecifier&&(null===(n=null===(r=pi(t,t.moduleSpecifier))||void 0===r?void 0:r.exports)||void 0===n?void 0:n.has(\"default\")))}));s&&e.addRelatedInfo(a,e.createDiagnosticForNode(s,e.Diagnostics.export_Asterisk_does_not_re_export_a_default))}}}(n,t);return ii(t,i,void 0,!1),i}}function Xn(t,n,i){var a;void 0===i&&(i=!1);var o=e.getExternalModuleRequireArgument(t)||t.moduleSpecifier,s=pi(t,o),c=!e.isPropertyAccessExpression(n)&&n.propertyName||n.name;if(e.isIdentifier(c)){var u=vi(s,o,i,\"default\"===c.escapedText&&!(!V.allowSyntheticDefaultImports&&!V.esModuleInterop));if(u&&c.escapedText){if(e.isShorthandAmbientModuleSymbol(s))return s;var l=void 0;l=s&&s.exports&&s.exports.get(\"export=\")?dc(po(u),c.escapedText):function(e,t){if(3&e.flags){var r=e.valueDeclaration.type;if(r)return ri(dc(ld(r),t))}}(u,c.escapedText),l=ri(l,i);var d=function(e,t,r,n){if(1536&e.flags){var i=bi(e).get(t.escapedText),a=ri(i,n);return ii(r,i,a,!1),a}}(u,c,n,i);if(void 0===d&&\"default\"===c.escapedText)Gn(e.find(s.declarations,e.isSourceFile),s,i)&&(d=yi(s,i)||ri(s,i));var _=d&&l&&d!==l?function(t,r){if(t===be&&r===be)return be;if(790504&t.flags)return t;var n=mn(t.flags|r.flags,t.escapedName);return n.declarations=e.deduplicate(e.concatenate(t.declarations,r.declarations),e.equateValues),n.parent=t.parent||r.parent,t.valueDeclaration&&(n.valueDeclaration=t.valueDeclaration),r.members&&(n.members=new e.Map(r.members)),t.exports&&(n.exports=new e.Map(t.exports)),n}(l,d):d||l;if(!_){var p=li(s,t),f=e.declarationNameToString(c),g=xy(c,u);if(void 0!==g){var m=oa(g),y=_n(c,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2,p,f,m);g.valueDeclaration&&e.addRelatedInfo(y,e.createDiagnosticForNode(g.valueDeclaration,e.Diagnostics._0_is_declared_here,m))}else(null===(a=s.exports)||void 0===a?void 0:a.has(\"default\"))?_n(c,e.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead,p,f):function(t,n,i,a,o){var s,c=null===(s=a.valueDeclaration.locals)||void 0===s?void 0:s.get(n.escapedText),u=a.exports;if(c){var l=null==u?void 0:u.get(\"export=\");if(l)wi(l,c)?function(t,r,n,i){if(W>=e.ModuleKind.ES2015){_n(r,V.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_a_default_import:e.Diagnostics._0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n)}else{if(e.isInJSFile(t))_n(r,V.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:e.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n);else _n(r,V.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:e.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n,n,i)}}(t,n,i,o):_n(n,e.Diagnostics.Module_0_has_no_exported_member_1,o,i);else{var d=u?e.find(Dc(u),(function(e){return!!wi(e,c)})):void 0,_=d?_n(n,e.Diagnostics.Module_0_declares_1_locally_but_it_is_exported_as_2,o,i,oa(d)):_n(n,e.Diagnostics.Module_0_declares_1_locally_but_it_is_not_exported,o,i);e.addRelatedInfo.apply(void 0,r([_],e.map(c.declarations,(function(t,r){return e.createDiagnosticForNode(t,0===r?e.Diagnostics._0_is_declared_here:e.Diagnostics.and_here,i)}))))}}else _n(n,e.Diagnostics.Module_0_has_no_exported_member_1,o,i)}(t,c,f,s,p)}return _}}}function Qn(t){if(e.isVariableDeclaration(t)&&t.initializer&&e.isPropertyAccessExpression(t.initializer))return t.initializer}function $n(e,t,r){var n=e.parent.parent.moduleSpecifier?Xn(e.parent.parent,e,r):di(e.propertyName||e.name,t,!1,r);return ii(e,void 0,n,!1),n}function Zn(t,r){if(e.isClassExpression(t))return Nh(t).symbol;if(e.isEntityName(t)||e.isEntityNameExpression(t)){var n=di(t,901119,!0,r);return n||(Nh(t),Cn(t).resolvedSymbol)}}function ei(t,r){switch(void 0===r&&(r=!1),t.kind){case 260:case 249:return qn(t,r);case 262:return Yn(t,r);case 263:return function(e,t){var r=e.parent.parent.moduleSpecifier,n=pi(e,r),i=vi(n,r,t,!1);return ii(e,n,i,!1),i}(t,r);case 269:return function(e,t){var r=e.parent.moduleSpecifier,n=r&&pi(e,r),i=r&&vi(n,r,t,!1);return ii(e,n,i,!1),i}(t,r);case 265:case 198:return function(t,r){var n=e.isBindingElement(t)?e.getRootDeclaration(t):t.parent.parent.parent,i=Qn(n),a=Xn(n,i||t,r),o=t.propertyName||t.name;return i&&a&&e.isIdentifier(o)?dc(po(a),o.escapedText):(ii(t,void 0,a,!1),a)}(t,r);case 270:return $n(t,901119,r);case 266:case 216:return function(t,r){var n=Zn(e.isExportAssignment(t)?t.expression:t.right,r);return ii(t,void 0,n,!1),n}(t,r);case 259:return function(e,t){var r=yi(e.parent.symbol,t);return ii(e,void 0,r,!1),r}(t,r);case 289:return di(t.name,901119,!0,r);case 288:return function(e,t){return Zn(e.initializer,t)}(t,r);case 202:case 201:return function(t,r){if(e.isBinaryExpression(t.parent)&&t.parent.left===t&&62===t.parent.operatorToken.kind)return Zn(t.parent.right,r)}(t,r);default:return e.Debug.fail()}}function ti(e,t){return void 0===t&&(t=901119),!!e&&(2097152==(e.flags&(2097152|t))||!!(2097152&e.flags&&67108864&e.flags))}function ri(e,t){return!t&&ti(e)?ni(e):e}function ni(t){e.Debug.assert(0!=(2097152&t.flags),\"Should only get Alias here.\");var r=Tn(t);if(r.target)r.target===Se&&(r.target=be);else{r.target=Se;var n=zn(t);if(!n)return e.Debug.fail();var i=ei(n);r.target===Se?r.target=i||be:_n(n,e.Diagnostics.Circular_definition_of_import_alias_0,oa(t))}return r.target}function ii(t,r,n,i){if(!t||e.isPropertyAccessExpression(t))return!1;var a=ki(t);if(e.isTypeOnlyImportOrExportDeclaration(t))return Tn(a).typeOnlyDeclaration=t,!0;var o=Tn(a);return ai(o,r,i)||ai(o,n,i)}function ai(t,r,n){var i,a,o;if(r&&(void 0===t.typeOnlyDeclaration||n&&!1===t.typeOnlyDeclaration)){var s=null!==(a=null===(i=r.exports)||void 0===i?void 0:i.get(\"export=\"))&&void 0!==a?a:r,c=s.declarations&&e.find(s.declarations,e.isTypeOnlyImportOrExportDeclaration);t.typeOnlyDeclaration=null!==(o=null!=c?c:Tn(s).typeOnlyDeclaration)&&void 0!==o&&o}return!!t.typeOnlyDeclaration}function oi(e){if(2097152&e.flags)return Tn(e).typeOnlyDeclaration||void 0}function si(e){var t=ki(e),r=ni(t);r&&((r===be||111551&r.flags&&!Ub(r)&&!oi(t))&&ci(t))}function ci(t){var r=Tn(t);if(!r.referenced){r.referenced=!0;var n=zn(t);if(!n)return e.Debug.fail();if(e.isInternalModuleImportEqualsDeclaration(n)){var i=ri(t);(i===be||111551&i.flags)&&Nh(n.moduleReference)}}}function ui(t,r){return 78===t.kind&&e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),78===t.kind||157===t.parent.kind?di(t,1920,!1,r):(e.Debug.assert(260===t.parent.kind),di(t,901119,!1,r))}function li(e,t){return e.parent?li(e.parent,t)+\".\"+oa(e):oa(e,t,void 0,20)}function di(t,r,n,i,a){if(!e.nodeIsMissing(t)){var o,s=1920|(e.isInJSFile(t)?111551&r:0);if(78===t.kind){var c=r===s||e.nodeIsSynthesized(t)?e.Diagnostics.Cannot_find_namespace_0:yf(e.getFirstIdentifier(t)),u=e.isInJSFile(t)&&!e.nodeIsSynthesized(t)?function(t,r){if(gu(t.parent)){var n=function(t){if(e.findAncestor(t,(function(t){return e.isJSDocNode(t)||4194304&t.flags?e.isJSDocTypeAlias(t):\"quit\"})))return;var r=e.getJSDocHost(t);if(e.isExpressionStatement(r)&&e.isBinaryExpression(r.expression)&&3===e.getAssignmentDeclarationKind(r.expression)){if(i=ki(r.expression.left))return _i(i)}if((e.isObjectLiteralMethod(r)||e.isPropertyAssignment(r))&&e.isBinaryExpression(r.parent.parent)&&6===e.getAssignmentDeclarationKind(r.parent.parent)){if(i=ki(r.parent.parent.left))return _i(i)}var n=e.getEffectiveJSDocHost(t);if(n&&e.isFunctionLike(n)){var i;return(i=ki(n))&&i.valueDeclaration}}(t.parent);if(n)return Pn(n,t.escapedText,r,void 0,t,!0)}}(t,r):void 0;if(!(o=Ci(Pn(a||t,t.escapedText,r,n||u?void 0:c,t,!0))))return Ci(u)}else{if(157!==t.kind&&201!==t.kind)throw e.Debug.assertNever(t,\"Unknown entity name kind.\");var l=157===t.kind?t.left:t.expression,d=157===t.kind?t.right:t.name,_=di(l,s,n,!1,a);if(!_||e.nodeIsMissing(d))return;if(_===be)return _;if(e.isInJSFile(t)&&_.valueDeclaration&&e.isVariableDeclaration(_.valueDeclaration)&&_.valueDeclaration.initializer&&kv(_.valueDeclaration.initializer)){var p=_.valueDeclaration.initializer.arguments[0],f=pi(p,p);if(f){var g=yi(f);g&&(_=g)}}if(!(o=Ci(An(bi(_),d.escapedText,r)))){if(!n){var m=li(_),y=e.declarationNameToString(d),v=xy(d,_);v?_n(d,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2,m,y,oa(v)):_n(d,e.Diagnostics.Namespace_0_has_no_exported_member_1,m,y)}return}}return e.Debug.assert(0==(1&e.getCheckFlags(o)),\"Should never get an instantiated symbol here.\"),!e.nodeIsSynthesized(t)&&e.isEntityName(t)&&(2097152&o.flags||266===t.parent.kind)&&ii(e.getAliasDeclarationFromName(t),o,void 0,!0),o.flags&r||i?o:ni(o)}}function _i(t){var r=t.parent.valueDeclaration;if(r)return(e.isAssignmentDeclaration(r)?e.getAssignedExpandoInitializer(r):e.hasOnlyExpressionInitializer(r)?e.getDeclaredExpandoInitializer(r):void 0)||r}function pi(t,r,n){var i=e.getEmitModuleResolutionKind(V)===e.ModuleResolutionKind.Classic?e.Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:e.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations;return fi(t,r,n?void 0:i)}function fi(t,r,n,i){return void 0===i&&(i=!1),e.isStringLiteralLike(r)?gi(t,r.text,n,r,i):void 0}function gi(r,n,i,a,o){(void 0===o&&(o=!1),e.startsWith(n,\"@types/\"))&&_n(a,e.Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1,e.removePrefix(n,\"@types/\"),n);var s=bc(n,!0);if(s)return s;var c=e.getSourceFileOfNode(r),u=e.getResolvedModule(c,n),l=u&&e.getResolutionDiagnostic(V,u),d=u&&!l&&t.getSourceFile(u.resolvedFileName);if(d)return d.symbol?(u.isExternalLibraryImport&&!e.resolutionExtensionIsTSOrJson(u.extension)&&mi(!1,a,u,n),Ci(d.symbol)):void(i&&_n(a,e.Diagnostics.File_0_is_not_a_module,d.fileName));if(yt){var _=e.findBestPatternMatch(yt,(function(e){return e.pattern}),n);if(_){var p=vt&&vt.get(n);return Ci(p?p:_.symbol)}}if(u&&!e.resolutionExtensionIsTSOrJson(u.extension)&&void 0===l||l===e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type)o?_n(a,e.Diagnostics.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented,n,u.resolvedFileName):mi($&&!!i,a,u,n);else if(i){if(u){var f=t.getProjectReferenceRedirect(u.resolvedFileName);if(f)return void _n(a,e.Diagnostics.Output_file_0_has_not_been_built_from_source_file_1,f,u.resolvedFileName)}if(l)_n(a,l,n,u.resolvedFileName);else{var g=e.tryExtractTSExtension(n);if(g)_n(a,e.Diagnostics.An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead,g,e.removeExtension(n,g));else!V.resolveJsonModule&&e.fileExtensionIs(n,\".json\")&&e.getEmitModuleResolutionKind(V)===e.ModuleResolutionKind.NodeJs&&e.hasJsonModuleEmitEnabled(V)?_n(a,e.Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension,n):_n(a,i,n)}}}function mi(t,r,n,i){var a,o=n.packageId,s=n.resolvedFileName,c=!e.isExternalModuleNameRelative(i)&&o?(a=o.name,f().has(e.getTypesPackageName(a))?e.chainDiagnosticMessages(void 0,e.Diagnostics.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,o.name,e.mangleScopedPackageName(o.name)):e.chainDiagnosticMessages(void 0,e.Diagnostics.Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,i,e.mangleScopedPackageName(o.name))):void 0;fn(t,r,e.chainDiagnosticMessages(c,e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,i,s))}function yi(t,r){if(null==t?void 0:t.exports){var n=function(t,r){if(!t||t===be||t===r||1===r.exports.size||2097152&t.flags)return t;var n=Tn(t);if(n.cjsExportMerged)return n.cjsExportMerged;var i=33554432&t.flags?t:hn(t);i.flags=512|i.flags,void 0===i.exports&&(i.exports=e.createSymbolTable());return r.exports.forEach((function(e,t){\"export=\"!==t&&i.exports.set(t,i.exports.has(t)?Dn(i.exports.get(t),e):e)})),Tn(i).cjsExportMerged=i,n.cjsExportMerged=i}(Ci(ri(t.exports.get(\"export=\"),r)),Ci(t));return Ci(n)||t}}function vi(t,r,n,i){var a=yi(t,n);if(!n&&a){if(!(i||1539&a.flags||e.getDeclarationOfKind(a,297))){var o=W>=e.ModuleKind.ES2015?\"allowSyntheticDefaultImports\":\"esModuleInterop\";return _n(r,e.Diagnostics.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export,o),a}if(V.esModuleInterop){var s=r.parent;if(e.isImportDeclaration(s)&&e.getNamespaceDeclarationNode(s)||e.isImportCall(s)){var c=po(a),u=_c(c,0);if(u&&u.length||(u=_c(c,1)),u&&u.length){var l=Cv(c,a,t),d=mn(a.flags,a.escapedName);d.declarations=a.declarations?a.declarations.slice():[],d.parent=a.parent,d.target=a,d.originatingImport=s,a.valueDeclaration&&(d.valueDeclaration=a.valueDeclaration),a.constEnumOnlyModule&&(d.constEnumOnlyModule=!0),a.members&&(d.members=new e.Map(a.members)),a.exports&&(d.exports=new e.Map(a.exports));var _=Rs(l);return d.type=Vi(d,_.members,e.emptyArray,e.emptyArray,_.stringIndexInfo,_.numberIndexInfo),d}}}}return a}function hi(e){return void 0!==e.exports.get(\"export=\")}function Di(e){return Dc(Si(e))}function xi(e,t){var r=Si(t);if(r)return r.get(e)}function bi(e){return 6256&e.flags?ns(e,\"resolvedExports\"):1536&e.flags?Si(e):e.exports||A}function Si(e){var t=Tn(e);return t.resolvedExports||(t.resolvedExports=Ti(e))}function Ei(t,r,n,i){r&&r.forEach((function(r,a){if(\"default\"!==a){var o=t.get(a);if(o){if(n&&i&&o&&ri(o)!==ri(r)){var s=n.get(a);s.exportsWithDuplicate?s.exportsWithDuplicate.push(i):s.exportsWithDuplicate=[i]}}else t.set(a,r),n&&i&&n.set(a,{specifierText:e.getTextOfNode(i.moduleSpecifier)})}}))}function Ti(t){var r=[];return function t(n){if(!(n&&n.exports&&e.pushIfUnique(r,n)))return;var i=new e.Map(n.exports),a=n.exports.get(\"__export\");if(a){for(var o=e.createSymbolTable(),s=new e.Map,c=0,u=a.declarations;c=l?u.substr(0,l-\"...\".length)+\"...\":u}function ua(e,t){var r=da(e.symbol)?ca(e,e.symbol.valueDeclaration):ca(e),n=da(t.symbol)?ca(t,t.symbol.valueDeclaration):ca(t);return r===n&&(r=la(e),n=la(t)),[r,n]}function la(e){return ca(e,void 0,64)}function da(t){return t&&t.valueDeclaration&&e.isExpression(t.valueDeclaration)&&!jd(t.valueDeclaration)}function _a(e){return void 0===e&&(e=0),814775659&e}function pa(t){return!!(t.symbol&&32&t.symbol.flags&&(t===Po(t.symbol)||1073741824&e.getObjectFlags(t)))}function fa(t,r,n,i){return void 0===n&&(n=16384),i?a(i).getText():e.usingSingleLineStringWriter(a);function a(i){var a=e.factory.createTypePredicateNode(2===t.kind||3===t.kind?e.factory.createToken(127):void 0,1===t.kind||3===t.kind?e.factory.createIdentifier(t.parameterName):e.factory.createThisTypeNode(),t.type&&ne.typeToTypeNode(t.type,r,70222336|_a(n))),o=e.createPrinter({removeComments:!0}),s=r&&e.getSourceFileOfNode(r);return o.writeNode(4,a,s,i),i}}function ga(e){return 8===e?\"private\":16===e?\"protected\":\"public\"}function ma(t){return t&&t.parent&&257===t.parent.kind&&e.isExternalModuleAugmentation(t.parent.parent)}function ya(t){return 297===t.kind||e.isAmbientModule(t)}function va(t,r){var n=Tn(t).nameType;if(n){if(384&n.flags){var i=\"\"+n.value;return e.isIdentifierText(i,V.target)||xm(i)?xm(i)&&e.startsWith(i,\"-\")?\"[\"+i+\"]\":i:'\"'+e.escapeString(i,34)+'\"'}if(8192&n.flags)return\"[\"+ha(n.symbol,r)+\"]\"}}function ha(t,r){if(r&&\"default\"===t.escapedName&&!(16384&r.flags)&&(!(16777216&r.flags)||!t.declarations||r.enclosingDeclaration&&e.findAncestor(t.declarations[0],ya)!==e.findAncestor(r.enclosingDeclaration,ya)))return\"default\";if(t.declarations&&t.declarations.length){var n=e.firstDefined(t.declarations,(function(t){return e.getNameOfDeclaration(t)?t:void 0})),i=n&&e.getNameOfDeclaration(n);if(n&&i){if(e.isCallExpression(n)&&e.isBindableObjectDefinePropertyCall(n))return e.symbolName(t);if(e.isComputedPropertyName(i)&&!(4096&e.getCheckFlags(t))){var a=Tn(t).nameType;if(a&&384&a.flags){var o=va(t,r);if(void 0!==o)return o}}return e.declarationNameToString(i)}if(n||(n=t.declarations[0]),n.parent&&249===n.parent.kind)return e.declarationNameToString(n.parent.name);switch(n.kind){case 221:case 208:case 209:return!r||r.encounteredError||131072&r.flags||(r.encounteredError=!0),221===n.kind?\"(Anonymous class)\":\"(Anonymous function)\"}}var s=va(t,r);return void 0!==s?s:e.symbolName(t)}function Da(t){if(t){var r=Cn(t);return void 0===r.isVisible&&(r.isVisible=!!function(){switch(t.kind){case 324:case 331:case 325:return!!(t.parent&&t.parent.parent&&t.parent.parent.parent&&e.isSourceFile(t.parent.parent.parent));case 198:return Da(t.parent.parent);case 249:if(e.isBindingPattern(t.name)&&!t.name.elements.length)return!1;case 256:case 252:case 253:case 254:case 251:case 255:case 260:if(e.isExternalModuleAugmentation(t))return!0;var r=Ca(t);return 1&e.getCombinedModifierFlags(t)||260!==t.kind&&297!==r.kind&&8388608&r.flags?Da(r):kn(r);case 163:case 162:case 167:case 168:case 165:case 164:if(e.hasEffectiveModifier(t,24))return!1;case 166:case 170:case 169:case 171:case 160:case 257:case 174:case 175:case 177:case 173:case 178:case 179:case 182:case 183:case 186:case 192:return Da(t.parent);case 262:case 263:case 265:return!1;case 159:case 297:case 259:return!0;case 266:default:return!1}}()),r.isVisible}return!1}function xa(t,r){var n,i,a;return t.parent&&266===t.parent.kind?n=Pn(t,t.escapedText,2998271,void 0,t,!1):270===t.parent.kind&&(n=$n(t.parent,2998271)),n&&((a=new e.Set).add(M(n)),function t(n){e.forEach(n,(function(n){var o=Kn(n)||n;if(r?Cn(n).isVisible=!0:(i=i||[],e.pushIfUnique(i,o)),e.isInternalModuleImportEqualsDeclaration(n)){var s=n.moduleReference,c=Pn(n,e.getFirstIdentifier(s).escapedText,901119,void 0,void 0,!1);c&&a&&e.tryAddToSet(a,M(c))&&t(c.declarations)}}))}(n.declarations)),i}function ba(e,t){var r=Sa(e,t);if(r>=0){for(var n=Ir.length,i=r;i=0;r--){if(Ea(Ir[r],Mr[r]))return-1;if(Ir[r]===e&&Mr[r]===t)return r}return-1}function Ea(t,r){switch(r){case 0:return!!Tn(t).type;case 5:return!!Cn(t).resolvedEnumType;case 2:return!!Tn(t).declaredType;case 1:return!!t.resolvedBaseConstructorType;case 3:return!!t.resolvedReturnType;case 4:return!!t.immediateBaseConstraint;case 6:return!!t.resolvedTypeArguments;case 7:return!!t.baseTypesResolved}return e.Debug.assertNever(r)}function Ta(){return Ir.pop(),Mr.pop(),Or.pop()}function Ca(t){return e.findAncestor(e.getRootDeclaration(t),(function(e){switch(e.kind){case 249:case 250:case 265:case 264:case 263:case 262:return!1;default:return!0}})).parent}function ka(e,t){var r=dc(e,t);return r?po(r):void 0}function Aa(e){return e&&0!=(1&e.flags)}function Fa(e){var t=ki(e);return t&&Tn(t).type||Ba(e,!1)}function Na(t,r,n){if(131072&(t=$f(t,(function(e){return!(98304&e.flags)}))).flags)return it;if(1048576&t.flags)return eg(t,(function(e){return Na(e,r,n)}));var i=$u(e.map(r,ul));if(Tl(t)||Cl(i)){if(131072&i.flags)return t;var a=er||(er=Su(\"Omit\",524288,e.Diagnostics.Cannot_find_global_type_0));return a?su(a,[t,i]):ke}for(var o=e.createSymbolTable(),s=0,c=Ks(t);s=2?(i=Ee,Pu(Fu(!0),[i])):Nt;var c=e.map(a,(function(t){return e.isOmittedExpression(t)?Ee:Ya(t,r,n)})),u=e.findLastIndex(a,(function(t){return!(t===s||e.isOmittedExpression(t)||mm(t))}),a.length-1)+1,l=Ju(c,e.map(a,(function(e,t){return e===s?4:t>=u?2:1})));return r&&((l=ru(l)).pattern=t,l.objectFlags|=1048576),l}function Qa(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),196===t.kind?function(t,r,n){var i,a=e.createSymbolTable(),o=1048704;e.forEach(t.elements,(function(e){var t=e.propertyName||e.name;if(e.dotDotDotToken)i=Gc(Ee,!1);else{var s=ul(t);if(Xo(s)){var c=ts(s),u=mn(4|(e.initializer?16777216:0),c);u.type=Ya(e,r,n),u.bindingElement=e,a.set(u.escapedName,u)}else o|=512}}));var s=Vi(void 0,a,e.emptyArray,e.emptyArray,i,void 0);return s.objectFlags|=o,r&&(s.pattern=t,s.objectFlags|=1048576),s}(t,r,n):Xa(t,r,n)}function $a(e,t){return Za(Ba(e,!0),e,t)}function Za(t,r,n){return t?(n&&Rp(r,t),8192&t.flags&&(e.isBindingElement(r)||!r.type)&&t.symbol!==ki(r)&&(t=Ve),Ip(t)):(t=e.isParameter(r)&&r.dotDotDotToken?Nt:Ee,n&&(eo(r)||Lp(r,t)),t)}function eo(t){var r=e.getRootDeclaration(t);return dD(160===r.kind?r.parent:r)}function to(t){var r=e.getEffectiveTypeAnnotationNode(t);if(r)return ld(r)}function ro(t){var r=Tn(t);if(!r.type){var n=function(t){if(4194304&t.flags)return(r=Jo(Ai(t))).typeParameters?tu(r,e.map(r.typeParameters,(function(e){return Ee}))):r;var r;if(t===ue)return Ee;if(134217728&t.flags){var n=ki(e.getSourceFileOfNode(t.valueDeclaration)),i=e.createSymbolTable();return i.set(\"exports\",n),Vi(t,i,e.emptyArray,e.emptyArray,void 0,void 0)}var a,o=t.valueDeclaration;if(e.isCatchClauseVariableDeclarationOrBindingElement(o)){var s=o;if(!s.type)return Ee;var c=Cb(s.type);return Aa(c)||c===Ne?c:ke}if(e.isSourceFile(o)&&e.isJsonSourceFile(o))return o.statements.length?Ip(tp(Gh(o.statements[0].expression))):it;if(!ba(t,0))return 512&t.flags&&!(67108864&t.flags)?uo(t):_o(t);if(266===o.kind)a=Za(Nh(o.expression),o);else if(e.isBinaryExpression(o)||e.isInJSFile(o)&&(e.isCallExpression(o)||(e.isPropertyAccessExpression(o)||e.isBindableStaticElementAccessExpression(o))&&e.isBinaryExpression(o.parent)))a=Va(t);else if(e.isPropertyAccessExpression(o)||e.isElementAccessExpression(o)||e.isIdentifier(o)||e.isStringLiteralLike(o)||e.isNumericLiteral(o)||e.isClassDeclaration(o)||e.isFunctionDeclaration(o)||e.isMethodDeclaration(o)&&!e.isObjectLiteralMethod(o)||e.isMethodSignature(o)||e.isSourceFile(o)){if(9136&t.flags)return uo(t);a=e.isBinaryExpression(o.parent)?Va(t):to(o)||Ee}else if(e.isPropertyAssignment(o))a=to(o)||Rh(o);else if(e.isJsxAttribute(o))a=to(o)||Fm(o);else if(e.isShorthandPropertyAssignment(o))a=to(o)||Lh(o.name,0);else if(e.isObjectLiteralMethod(o))a=to(o)||Bh(o,0);else if(e.isParameter(o)||e.isPropertyDeclaration(o)||e.isPropertySignature(o)||e.isVariableDeclaration(o)||e.isBindingElement(o)||e.isJSDocPropertyLikeTag(o))a=$a(o,!0);else if(e.isEnumDeclaration(o))a=uo(t);else if(e.isEnumMember(o))a=lo(t);else{if(!e.isAccessor(o))return e.Debug.fail(\"Unhandled declaration kind! \"+e.Debug.formatSyntaxKind(o.kind)+\" for \"+e.Debug.formatSymbol(t));a=so(t)}if(!Ta())return 512&t.flags&&!(67108864&t.flags)?uo(t):_o(t);return a}(t);r.type||(r.type=n)}return r.type}function no(t){if(t)return 167===t.kind?e.getEffectiveReturnTypeNode(t):e.getEffectiveSetAccessorTypeAnnotationNode(t)}function io(e){var t=no(e);return t&&ld(t)}function ao(e){return Ic(Ac(e))}function oo(t){var r=Tn(t);return r.type||(r.type=function(t){if(!ba(t,0))return ke;var r=so(t);if(!Ta()){if(r=Ee,$)_n(e.getDeclarationOfKind(t,167),e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,oa(t))}return r}(t))}function so(t){var r=e.getDeclarationOfKind(t,167),n=e.getDeclarationOfKind(t,168);if(r&&e.isInJSFile(r)){var i=Ma(r);if(i)return i}var a=io(r);if(a)return a;var o=io(n);return o||(r&&r.body?eh(r):(n?dD(n)||fn($,n,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,oa(t)):(e.Debug.assert(!!r,\"there must exist a getter as we are current checking either setter or getter in this function\"),dD(r)||fn($,r,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,oa(t))),Ee))}function co(t){var r=Co(Po(t));return 8650752&r.flags?r:2097152&r.flags?e.find(r.types,(function(e){return!!(8650752&e.flags)})):void 0}function uo(t){var r=Tn(t),n=r;if(!r.type){var i=t.valueDeclaration&&xv(t.valueDeclaration,!1);if(i){var a=Dv(t,i);a&&(t=r=a)}n.type=r.type=function(t){var r=t.valueDeclaration;if(1536&t.flags&&e.isShorthandAmbientModuleSymbol(t))return Ee;if(r&&(216===r.kind||e.isAccessExpression(r)&&216===r.parent.kind))return Va(t);if(512&t.flags&&r&&e.isSourceFile(r)&&r.commonJsModuleIndicator){var n=yi(t);if(n!==t){if(!ba(t,0))return ke;var i=Ci(t.exports.get(\"export=\")),a=Va(i,i===n?void 0:n);return Ta()?a:_o(t)}}var o=ji(16,t);if(32&t.flags){var s=co(t);return s?al([o,s]):o}return G&&16777216&t.flags?vp(o):o}(t)}return r.type}function lo(e){var t=Tn(e);return t.type||(t.type=Bo(e))}function _o(t){var r=t.valueDeclaration;return e.getEffectiveTypeAnnotationNode(r)?(_n(t.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,oa(t)),ke):($&&(160!==r.kind||r.initializer)&&_n(t.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,oa(t)),Ee)}function po(t){var r=e.getCheckFlags(t);return 65536&r?function(t){var r=Tn(t);return r.type||(e.Debug.assertIsDefined(r.deferralParent),e.Debug.assertIsDefined(r.deferralConstituents),r.type=1048576&r.deferralParent.flags?$u(r.deferralConstituents):al(r.deferralConstituents)),r.type}(t):1&r?function(e){var t=Tn(e);if(!t.type){if(!ba(e,0))return t.type=ke;var r=Md(po(t.target),t.mapper);Ta()||(r=_o(e)),t.type=r}return t.type}(t):262144&r?function(t){if(!t.type){var r=t.mappedType;if(!ba(t,0))return r.containsError=!0,ke;var n=Md(Fs(r.target||r),Ed(r.mapper,Cs(r),t.keyType)),i=G&&16777216&t.flags&&!mh(n,49152)?vp(n):524288&t.checkFlags?If(n,524288):n;Ta()||(_n(d,e.Diagnostics.Type_of_property_0_circularly_references_itself_in_mapped_type_1,oa(t),ca(r)),i=ke),t.type=i}return t.type}(t):8192&r?function(e){return $p(e.propertyType,e.mappedType,e.constraintType)}(t):7&t.flags?ro(t):9136&t.flags?uo(t):8&t.flags?lo(t):98304&t.flags?oo(t):2097152&t.flags?function(e){var t=Tn(e);if(!t.type){var r=ni(e);t.type=111551&r.flags?po(r):ke}return t.type}(t):ke}function fo(t,r){return void 0!==t&&void 0!==r&&0!=(4&e.getObjectFlags(t))&&t.target===r}function go(t){return 4&e.getObjectFlags(t)?t.target:t}function mo(t,r){return function t(n){if(7&e.getObjectFlags(n)){var i=go(n);return i===r||e.some(Ao(i),t)}if(2097152&n.flags)return e.some(n.types,t);return!1}(t)}function yo(t,r){for(var n=0,i=r;n0)return!0;if(8650752&e.flags){var t=Gs(e);return!!t&&xo(t)}return!1}function So(t){return e.getEffectiveBaseTypeNode(t.symbol.valueDeclaration)}function Eo(t,r,n){var i=e.length(r),a=e.isInJSFile(n);return e.filter(pc(t,1),(function(t){return(a||i>=Cc(t.typeParameters))&&i<=e.length(t.typeParameters)}))}function To(t,r,n){var i=Eo(t,r,n),a=e.map(r,ld);return e.sameMap(i,(function(t){return e.some(t.typeParameters)?jc(t,a,e.isInJSFile(n)):t}))}function Co(t){if(!t.resolvedBaseConstructorType){var r=t.symbol.valueDeclaration,n=e.getEffectiveBaseTypeNode(r),i=So(t);if(!i)return t.resolvedBaseConstructorType=Pe;if(!ba(t,1))return ke;var a=Gh(i.expression);if(n&&i!==n&&(e.Debug.assert(!n.typeArguments),Gh(n.expression)),2621440&a.flags&&Rs(a),!Ta())return _n(t.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,oa(t.symbol)),t.resolvedBaseConstructorType=ke;if(!(1&a.flags||a===Me||bo(a))){var o=_n(i.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,ca(a));if(262144&a.flags){var s=Qc(a),c=Ne;if(s){var u=pc(s,1);u[0]&&(c=Mc(u[0]))}e.addRelatedInfo(o,e.createDiagnosticForNode(a.symbol.declarations[0],e.Diagnostics.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1,oa(a.symbol),ca(c)))}return t.resolvedBaseConstructorType=ke}t.resolvedBaseConstructorType=a}return t.resolvedBaseConstructorType}function ko(t,r){_n(t,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,ca(r,void 0,2))}function Ao(t){if(!t.baseTypesResolved){if(ba(t,7)&&(8&t.objectFlags?t.resolvedBaseTypes=[Fo(t)]:96&t.symbol.flags?(32&t.symbol.flags&&function(t){t.resolvedBaseTypes=e.resolvingEmptyArray;var r=tc(Co(t));if(!(2621441&r.flags))return t.resolvedBaseTypes=e.emptyArray;var n,i=So(t),a=r.symbol?Jo(r.symbol):void 0;if(r.symbol&&32&r.symbol.flags&&function(e){var t=e.outerTypeParameters;if(t){var r=t.length-1,n=iu(e);return t[r].symbol!==n[r].symbol}return!0}(a))n=ou(i,r.symbol);else if(1&r.flags)n=r;else{var o=To(r,i.typeArguments,i);if(!o.length)return _n(i.expression,e.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments),t.resolvedBaseTypes=e.emptyArray;n=Mc(o[0])}if(n===ke)return t.resolvedBaseTypes=e.emptyArray;var s=oc(n);if(!No(s)){var c=lc(void 0,n),u=e.chainDiagnosticMessages(c,e.Diagnostics.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members,ca(s));return $r.add(e.createDiagnosticForNodeFromMessageChain(i.expression,u)),t.resolvedBaseTypes=e.emptyArray}if(t===s||mo(s,t))return _n(t.symbol.valueDeclaration,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,ca(t,void 0,2)),t.resolvedBaseTypes=e.emptyArray;t.resolvedBaseTypes===e.resolvingEmptyArray&&(t.members=void 0);t.resolvedBaseTypes=[s]}(t),64&t.symbol.flags&&function(t){t.resolvedBaseTypes=t.resolvedBaseTypes||e.emptyArray;for(var r=0,n=t.symbol.declarations;r0)return;for(var i=1;i1&&(n=void 0===n?i:-1);for(var a=0,o=t[i];a1){var l=s.thisParameter,d=e.forEach(c,(function(e){return e.thisParameter}));if(d)l=Cp(d,al(e.mapDefined(c,(function(e){return e.thisParameter&&po(e.thisParameter)}))));(u=ls(s,c)).thisParameter=l}(r||(r=[])).push(u)}}}}if(!e.length(r)&&-1!==n){for(var _=t[void 0!==n?n:0],p=_.slice(),f=function(t){if(t!==_){var r=t[0];if(e.Debug.assert(!!r,\"getUnionSignatures bails early on empty signature lists and should not have empty lists on second pass\"),!(p=r.typeParameters&&e.some(p,(function(e){return!!e.typeParameters}))?void 0:e.map(p,(function(t){return function(t,r){var n=t.declaration,i=function(e,t){for(var r=Kv(e),n=Kv(t),i=r>=n?e:t,a=i===e?t:e,o=i===e?r:n,s=Uv(e)||Uv(t),c=s&&!Uv(i),u=new Array(o+(c?1:0)),l=0;l=zv(i)&&l>=zv(a),f=l>=r?void 0:Mv(e,l),g=l>=n?void 0:Mv(t,l),m=mn(1|(p&&!_?16777216:0),(f===g?f:f?g?void 0:f:g)||\"arg\"+l);m.type=_?Iu(d):d,u[l]=m}if(c){var y=mn(1,\"args\");y.type=Iu(Bv(a,o)),u[o]=y}return u}(t,r),a=function(e,t){if(!e||!t)return e||t;var r=al([po(e),po(t)]);return Cp(e,r)}(t.thisParameter,r.thisParameter),o=Math.max(t.minArgumentCount,r.minArgumentCount),s=cs(n,t.typeParameters||r.typeParameters,a,i,void 0,void 0,o,19&(t.flags|r.flags));return s.unionSignatures=e.concatenate(t.unionSignatures||[t],[r]),s}(t,r)}))))return\"break\"}},g=0,m=t;g0})),n=e.map(t,xo);if(r>0&&r===e.countWhere(n,(function(e){return e}))){var i=n.indexOf(!0);n[i]=!1}return n}function xs(t){for(var r,n,i,a,o=t.types,s=Ds(o),c=e.countWhere(s,(function(e){return e})),u=function(u){var l=t.types[u];if(!s[u]){var d=pc(l,1);d.length&&c>0&&(d=e.map(d,(function(e){var t=us(e);return t.resolvedReturnType=function(e,t,r,n){for(var i=[],a=0;a=d&&o<=_){var p=_?Kc(l,kc(a,l.typeParameters,d,i)):us(l);p.typeParameters=t.localTypeParameters,p.resolvedReturnType=t,s.push(p)}}return s}(l)),t.constructSignatures=i}}}function Es(t){if(4194304&t.flags){var r=tc(t.type);return op(r)?qu(r):pl(r)}if(16777216&t.flags){if(t.root.isDistributive){var n=t.checkType,i=Es(n);if(i!==n)return Od(t,Sd(t.root.checkType,i,t.mapper))}return t}return 1048576&t.flags?$u(e.sameMap(t.types,Es)):2097152&t.flags?al(e.sameMap(t.types,Es)):t}function Ts(t){var r,n,i=e.createSymbolTable();Ui(t,A,e.emptyArray,e.emptyArray,void 0,void 0);var a=Cs(t),o=ks(t),s=As(t.target||t),c=Fs(t.target||t),u=tc(ws(t)),l=Is(t),d=ee?128:8576;if(Ps(t)){for(var _=0,p=Ks(u);_=50)return e.tracing.instant(\"check\",\"getImmediateBaseConstraint_DepthLimit\",{typeId:i.id,originalTypeId:t.id,depth:C}),_n(d,e.Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite),r=!0,i.immediateBaseConstraint=lt;var o=void 0;if(R_(i,n,n.length)||(n.push(i),C++,o=function(t){if(262144&t.flags){var r=Qc(t);return t.isThisType||!r?r:a(r)}if(3145728&t.flags){for(var n=[],i=0,o=c=t.types;i=7,tr||(tr=Eu(\"BigInt\",0,r))||it):528&n.flags?kt:12288&n.flags?Cu(q>=2):67108864&n.flags?it:4194304&n.flags?Ze:2&n.flags&&!G?it:n}function rc(e){return oc(tc(oc(e)))}function nc(t,r){for(var n,i,a,o=1048576&t.flags,s=o?0:16777216,c=4,u=0,l=0,d=t.types;l2?(T.checkFlags|=65536,T.deferralParent=t,T.deferralConstituents=h):T.type=o?$u(h):al(h),T}}function ic(t,r){var n=t.propertyCache||(t.propertyCache=e.createSymbolTable()),i=n.get(r);return i||(i=nc(t,r))&&n.set(r,i),i}function ac(t,r){var n=ic(t,r);return!n||16&e.getCheckFlags(n)?void 0:n}function oc(t){return 1048576&t.flags&&268435456&t.objectFlags?t.resolvedReducedType||(t.resolvedReducedType=function(t){var r=e.sameMap(t.types,oc);if(r===t.types)return t;var n=$u(r);1048576&n.flags&&(n.resolvedReducedType=n);return n}(t)):2097152&t.flags?(268435456&t.objectFlags||(t.objectFlags|=268435456|(e.some(Js(t),sc)?536870912:0)),536870912&t.objectFlags?We:t):t}function sc(e){return cc(e)||uc(e)}function cc(t){return!(16777216&t.flags||192!=(131264&e.getCheckFlags(t))||!(131072&po(t).flags))}function uc(t){return!t.valueDeclaration&&!!(1024&e.getCheckFlags(t))}function lc(t,r){if(536870912&e.getObjectFlags(r)){var n=e.find(Js(r),cc);if(n)return e.chainDiagnosticMessages(t,e.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents,ca(r,void 0,536870912),oa(n));var i=e.find(Js(r),uc);if(i)return e.chainDiagnosticMessages(t,e.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some,ca(r,void 0,536870912),oa(i))}return t}function dc(e,t){if(524288&(e=rc(e)).flags){var r=Rs(e),n=r.members.get(t);if(n&&Oi(n))return n;var i=r===ut?Dt:r.callSignatures.length?xt:r.constructSignatures.length?bt:void 0;if(i){var a=js(i,t);if(a)return a}return js(ht,t)}if(3145728&e.flags)return ac(e,t)}function _c(t,r){if(3670016&t.flags){var n=Rs(t);return 0===r?n.callSignatures:n.constructSignatures}return e.emptyArray}function pc(e,t){return _c(rc(e),t)}function fc(e,t){if(3670016&e.flags){var r=Rs(e);return 0===t?r.stringIndexInfo:r.numberIndexInfo}}function gc(e,t){var r=fc(e,t);return r&&r.type}function mc(e,t){return fc(rc(e),t)}function yc(e,t){return gc(rc(e),t)}function vc(t,r){if(Tp(t)){for(var n=[],i=0,a=Ks(t);i=0),n>=zv(r,3)}var i=e.getImmediatelyInvokedFunctionExpression(t.parent);return!!i&&(!t.type&&!t.dotDotDotToken&&t.parent.parameters.indexOf(t)>=i.arguments.length)}function Ec(t){if(!e.isJSDocPropertyLikeTag(t))return!1;var r=t.isBracketed,n=t.typeExpression;return r||!!n&&307===n.type.kind}function Tc(e,t,r,n){return{kind:e,parameterName:t,parameterIndex:r,type:n}}function Cc(t){var r,n=0;if(t)for(var i=0;i=n&&o<=a){for(var s=t?t.slice():[],c=o;cu.arguments.length&&!f||xc(_)||(o=i.length)}if(!(167!==t.kind&&168!==t.kind||es(t)||c&&s)){var g=167===t.kind?168:167,m=e.getDeclarationOfKind(ki(t),g);m&&(s=(r=NS(m))&&r.symbol)}var y=166===t.kind?Po(Ci(t.parent.symbol)):void 0,v=y?y.localTypeParameters:hc(t);(e.hasRestParameter(t)||e.isInJSFile(t)&&function(t,r){if(e.isJSDocSignature(t)||!Nc(t))return!1;var n=e.lastOrUndefined(t.parameters),i=n?e.getJSDocParameterTags(n):e.getJSDocTags(t).filter(e.isJSDocParameterTag),a=e.firstDefined(i,(function(t){return t.typeExpression&&e.isJSDocVariadicType(t.typeExpression.type)?t.typeExpression.type:void 0})),o=mn(3,\"args\",32768);o.type=a?Iu(ld(a.type)):Nt,a&&r.pop();return r.push(o),!0}(t,i))&&(a|=1),n.resolvedSignature=cs(t,v,s,i,void 0,void 0,o,a)}return n.resolvedSignature}function Fc(t){if(e.isInJSFile(t)&&e.isFunctionLikeDeclaration(t)){var r=e.getJSDocTypeTag(t),n=r&&r.typeExpression&&jy(ld(r.typeExpression));return n&&zc(n)}}function Nc(t){var r=Cn(t);return void 0===r.containsArgumentsReference&&(8192&r.flags?r.containsArgumentsReference=!0:r.containsArgumentsReference=function t(r){if(!r)return!1;switch(r.kind){case 78:return\"arguments\"===r.escapedText&&e.isExpressionNode(r);case 163:case 165:case 167:case 168:return 158===r.name.kind&&t(r.name);default:return!e.nodeStartsNewLexicalEnvironment(r)&&!e.isPartOfTypeNode(r)&&!!e.forEachChild(r,t)}}(t.body)),r.containsArgumentsReference}function Pc(t){if(!t)return e.emptyArray;for(var r=[],n=0;n0&&i.body){var a=t.declarations[n-1];if(i.parent===a.parent&&i.kind===a.kind&&i.pos===a.end)continue}r.push(Ac(i))}}return r}function wc(e){var t=pi(e,e);if(t){var r=yi(t);if(r)return po(r)}return Ee}function Ic(e){if(e.thisParameter)return po(e.thisParameter)}function Oc(t){if(!t.resolvedTypePredicate){if(t.target){var r=Oc(t.target);t.resolvedTypePredicate=r?(o=r,s=t.mapper,Tc(o.kind,o.parameterName,o.parameterIndex,Md(o.type,s))):ur}else if(t.unionSignatures)t.resolvedTypePredicate=function(e){for(var t,r=[],n=0,i=e;n=0}function Bc(e){if(K(e)){var t=po(e.parameters[e.parameters.length-1]),r=ap(t)?cp(t):t;return r&&yc(r,1)}}function jc(e,t,r,n){var i=Jc(e,kc(t,e.typeParameters,Cc(e.typeParameters),r));if(n){var a=Jy(Mc(i));if(a){var o=us(a);o.typeParameters=n;var s=us(i);return s.resolvedReturnType=qc(o),s}}return i}function Jc(t,r){var n=t.instantiations||(t.instantiations=new e.Map),i=Zc(r),a=n.get(i);return a||n.set(i,a=Kc(t,r)),a}function Kc(e,t){return Cd(e,function(e,t){return gd(e.typeParameters,t)}(e,t),!0)}function zc(e){return e.typeParameters?e.erasedSignatureCache||(e.erasedSignatureCache=function(e){return Cd(e,Dd(e.typeParameters),!0)}(e)):e}function Uc(t){return t.typeParameters?t.canonicalSignatureCache||(t.canonicalSignatureCache=function(t){return jc(t,e.map(t.typeParameters,(function(e){return e.target&&!Us(e.target)?e.target:e})),e.isInJSFile(t.declaration))}(t)):t}function Vc(t){var r=t.typeParameters;if(r){var n=Dd(r);return Cd(t,gd(r,e.map(r,(function(e){return Md(Gs(e),n)||Ne}))),!0)}return t}function qc(t){if(!t.isolatedSignatureType){var r=t.declaration?t.declaration.kind:0,n=166===r||170===r||175===r,i=ji(16);i.members=A,i.properties=e.emptyArray,i.callSignatures=n?e.emptyArray:[t],i.constructSignatures=n?[t]:e.emptyArray,t.isolatedSignatureType=i}return t.isolatedSignatureType}function Wc(e){return e.members.get(\"__index\")}function Hc(t,r){var n=1===r?144:147,i=Wc(t);if(i)for(var a=0,o=i.declarations;a1&&(t+=\":\"+a),n+=a}return t}function eu(t,r){for(var n=0,i=0,a=t;ii.length)){var c=s&&e.isExpressionWithTypeArguments(t)&&!e.isJSDocAugmentsTag(t.parent);if(_n(t,o===i.length?c?e.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_1_type_argument_s:c?e.Diagnostics.Expected_0_1_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,ca(n,void 0,2),o,i.length),!s)return ke}return 173===t.kind&&Ru(t,e.length(t.typeArguments)!==i.length)?nu(n,t,void 0):tu(n,e.concatenate(n.outerTypeParameters,kc(hu(t),i,o,s)))}return mu(t,r)?n:ke}function su(t,r){var n=Jo(t);if(n===Fe&&P.has(t.escapedName)&&r&&1===r.length)return yl(t,r[0]);var i=Tn(t),a=i.typeParameters,o=Zc(r),s=i.instantiations.get(o);return s||i.instantiations.set(o,s=Md(n,gd(a,kc(r,a,Cc(a),e.isInJSFile(t.valueDeclaration))))),s}function cu(t){switch(t.kind){case 173:return t.typeName;case 223:var r=t.expression;if(e.isEntityNameExpression(r))return r}}function uu(e,t,r){return e&&di(e,t,r)||be}function lu(t,r){if(r===be)return ke;if(96&(r=function(t){var r=t.valueDeclaration;if(r&&e.isInJSFile(r)&&!(524288&t.flags)&&!e.getExpandoInitializer(r,!1)){var n=e.isVariableDeclaration(r)?e.getDeclaredExpandoInitializer(r):e.getAssignedExpandoInitializer(r);if(n){var i=ki(n);if(i)return Dv(i,t)}}}(r)||r).flags)return ou(t,r);if(524288&r.flags)return function(t,r){var n=Jo(r),i=Tn(r).typeParameters;if(i){var a=e.length(t.typeArguments),o=Cc(i);return ai.length?(_n(t,o===i.length?e.Diagnostics.Generic_type_0_requires_1_type_argument_s:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,oa(r),o,i.length),ke):su(r,hu(t))}return mu(t,r)?n:ke}(t,r);var n=Ko(r);if(n)return mu(t,r)?nd(n):ke;if(111551&r.flags&&gu(t)){var i=function(e,t){var r=Cn(e);if(!r.resolvedJSDocType){var n=po(t),i=n;if(t.valueDeclaration){var a=195===e.kind&&e.qualifier;n.symbol&&n.symbol!==t&&a&&(i=lu(e,n.symbol))}r.resolvedJSDocType=i}return r.resolvedJSDocType}(t,r);return i||(uu(cu(t),788968),po(r))}return ke}function du(e,t){if(3&t.flags||t===e)return e;var r=Wu(e)+\">\"+Wu(t),n=he.get(r);if(n)return n;var i=Li(33554432);return i.baseType=e,i.substitute=t,he.set(r,i),i}function _u(e){return 179===e.kind&&1===e.elements.length}function pu(e,t,r){return _u(t)&&_u(r)?pu(e,t.elements[0],r.elements[0]):Rl(ld(t))===e?ld(r):void 0}function fu(t,r){for(var n;r&&!e.isStatement(r)&&311!==r.kind;){var i=r.parent;if(184===i.kind&&r===i.trueType){var a=pu(t,i.checkType,i.extendsType);a&&(n=e.append(n,a))}r=i}return n?du(t,al(e.append(n,t))):t}function gu(e){return!!(4194304&e.flags)&&(173===e.kind||195===e.kind)}function mu(t,r){return!t.typeArguments||(_n(t,e.Diagnostics.Type_0_is_not_generic,r?oa(r):t.typeName?e.declarationNameToString(t.typeName):u),!1)}function yu(t){if(e.isIdentifier(t.typeName)){var r=t.typeArguments;switch(t.typeName.escapedText){case\"String\":return mu(t),Le;case\"Number\":return mu(t),Re;case\"Boolean\":return mu(t),Ue;case\"Void\":return mu(t),qe;case\"Undefined\":return mu(t),Pe;case\"Null\":return mu(t),Oe;case\"Function\":case\"function\":return mu(t),Dt;case\"array\":return r&&r.length||$?void 0:Nt;case\"promise\":return r&&r.length||$?void 0:Qv(Ee);case\"Object\":if(r&&2===r.length){if(e.isJSDocIndexSignature(t)){var n=ld(r[0]),i=Gc(ld(r[1]),!1);return Vi(void 0,A,e.emptyArray,e.emptyArray,n===Le?i:void 0,n===Re?i:void 0)}return Ee}return mu(t),$?void 0:Ee}}}function vu(t){var r=Cn(t);if(!r.resolvedType){if(e.isConstTypeReference(t)&&e.isAssertionExpression(t.parent))return r.resolvedSymbol=be,r.resolvedType=Nh(t.parent.expression);var n=void 0,i=void 0,a=788968;gu(t)&&((i=yu(t))||((n=uu(cu(t),a,!0))===be?n=uu(cu(t),900095):uu(cu(t),a),i=lu(t,n))),i||(i=lu(t,n=uu(cu(t),a))),r.resolvedSymbol=n,r.resolvedType=i}return r.resolvedType}function hu(t){return e.map(t.typeArguments,ld)}function Du(e){var t=Cn(e);return t.resolvedType||(t.resolvedType=nd(Ip(Gh(e.exprName)))),t.resolvedType}function xu(t,r){function n(e){for(var t=0,r=e.declarations;t=0)return ol(e.map(r,(function(e,r){return 8&t.elementFlags[r]?e:Ne})))?eg(r[o],(function(n){return Uu(t,e.replaceElement(r,o,n))})):ke;if(e.findIndex(r,(function(e,r){return!(!(8&t.elementFlags[r])||58982400&e.flags||Ls(e))}))<0)return tu(t,r);for(var s,c=[],u=[],l=[],d=-1,_=function(o){var s=r[o],c=t.elementFlags[o];8&c?58982400&s.flags||Ls(s)?g(s,8,null===(n=t.labeledElementDeclarations)||void 0===n?void 0:n[o]):ap(s)?e.forEach(iu(s),(function(e,t){var r;return g(e,s.target.elementFlags[t],null===(r=s.target.labeledElementDeclarations)||void 0===r?void 0:r[t])})):g(H_(s)&&yc(s,1)||ke,4,null===(i=t.labeledElementDeclarations)||void 0===i?void 0:i[o]):g(s,c,null===(a=t.labeledElementDeclarations)||void 0===a?void 0:a[o])},p=0;p=0){for(var n=d;ni.fixedLength?function(e){var t=cp(e);return t&&Iu(t)}(t)||Ju(e.emptyArray):Ju(iu(t).slice(r,a),i.elementFlags.slice(r,a),!1,i.labeledElementDeclarations&&i.labeledElementDeclarations.slice(r,a))}function qu(t){return $u(e.append(e.arrayOf(t.target.fixedLength,(function(e){return ad(\"\"+e)})),pl(t.target.readonly?Et:St)))}function Wu(e){return e.id}function Hu(t,r){return e.binarySearch(t,r,Wu,e.compareValues)>=0}function Gu(t,r){var n=e.binarySearch(t,r,Wu,e.compareValues);return n<0&&(t.splice(~n,0,r),!0)}function Yu(t,r,n){var i=n.flags;if(1048576&i)return Xu(t,r,n.types);if(!(131072&i))if(r|=205258751&i,469499904&i&&(r|=262144),n===Ce&&(r|=8388608),!G&&98304&i)524288&e.getObjectFlags(n)||(r|=4194304);else{var a=t.length,o=a&&n.id>t[a-1].id?~a:e.binarySearch(t,n,Wu,e.compareValues);o<0&&t.splice(~o,0,n)}return r}function Xu(e,t,r){for(var n=0,i=r;n0;)for(var o=t[--i],s=0,c=t;s(r?25e6:1e6))return e.tracing.instant(\"check\",\"removeSubtypes_DepthLimit\",{typeIds:t.map((function(e){return e.id}))}),_n(d,e.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent),!1;if(a++,v_(o,u,nn)&&(!(1&e.getObjectFlags(go(o)))||!(1&e.getObjectFlags(go(u)))||Xd(o,u))){e.orderedRemoveItemAt(t,i);break}}}return!0}function $u(t,r,n,i){if(void 0===r&&(r=1),0===t.length)return We;if(1===t.length)return t[0];var a=[],o=Xu(a,0,t);if(0!==r){if(3&o)return 1&o?8388608&o?Ce:Ee:Ne;switch(r){case 1:11136&o&&function(t,r){for(var n=t.length;n>0;){var i=t[--n];(128&i.flags&&4&r||256&i.flags&&8&r||2048&i.flags&&64&r||8192&i.flags&&4096&r||id(i)&&Hu(t,i.regularType))&&e.orderedRemoveItemAt(t,n)}}(a,o),128&o&&134217728&o&&function(t){var r=e.filter(t,El);if(r.length)for(var n=t.length,i=function(){n--;var i=t[n];128&i.flags&&e.some(r,(function(e){return Gd(i,e)}))&&e.orderedRemoveItemAt(t,n)};n>0;)i()}(a);break;case 2:if(!Qu(a,!(262144&o)))return ke}if(0===a.length)return 65536&o?4194304&o?Oe:Me:32768&o?4194304&o?Pe:we:We}return el(a,(469647395&o?0:262144)|(2097152&o?268435456:0),n,i)}function Zu(e,t){return e.kind===t.kind&&e.parameterIndex===t.parameterIndex}function el(e,t,r,n){if(0===e.length)return We;if(1===e.length)return e[0];var i=Zc(e),a=pe.get(i);return a||(a=Li(1048576),pe.set(i,a),a.objectFlags=t|eu(e,98304),a.types=e,a.aliasSymbol=r,a.aliasTypeArguments=n),a}function tl(e,t,r){var n=r.flags;return 2097152&n?rl(e,t,r.types):(f_(r)?16777216&t||(t|=16777216,e.set(r.id.toString(),r)):(3&n?r===Ce&&(t|=8388608):!G&&98304&n||e.has(r.id.toString())||(109440&r.flags&&109440&t&&(t|=67108864),e.set(r.id.toString(),r)),t|=205258751&n),t)}function rl(e,t,r){for(var n=0,i=r;n0;){var i=t[--r];if(134217728&i.flags)for(var a=0,o=n;a0;){var i=t[--n];(4&i.flags&&128&r||8&i.flags&&256&r||64&i.flags&&2048&r||4096&i.flags&&8192&r)&&e.orderedRemoveItemAt(t,n)}}(o,a),16777216&a&&524288&a&&e.orderedRemoveItemAt(o,e.findIndex(o,f_)),0===o.length)return Ne;if(1===o.length)return o[0];var s=Zc(o),c=fe.get(s);if(!c){if(1048576&a)if(function(t){var r,n=e.findIndex(t,(function(t){return!!(262144&e.getObjectFlags(t))}));if(n<0)return!1;for(var i=n+1;i=1e5)||(e.tracing.instant(\"check\",\"checkCrossProductUnion_DepthLimit\",{typeIds:t.map((function(e){return e.id})),size:r}),_n(d,e.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent),!1)}function sl(e,t){var r=Li(4194304);return r.type=e,r.stringsOnly=t,r}function cl(t){return!(!t||!(16777216&t.flags&&!t.root.isDistributive||137363456&t.flags&&e.some(t.types,cl)||272629760&t.flags&&cl(t.type)||8388608&t.flags&&cl(t.indexType)||33554432&t.flags&&cl(t.substitute)))}function ul(t){return e.isPrivateIdentifier(t)?We:e.isIdentifier(t)?ad(e.unescapeLeadingUnderscores(t.escapedText)):nd(e.isComputedPropertyName(t)?bm(t):Gh(t))}function ll(t,r){if(!(24&e.getDeclarationModifierFlagsFromSymbol(t))){var n=Tn(as(t)).nameType;if(!n&&!e.isKnownSymbol(t))if(\"default\"===t.escapedName)n=ad(\"default\");else{var i=t.valueDeclaration&&e.getNameOfDeclaration(t.valueDeclaration);n=i&&ul(i)||ad(e.symbolName(t))}if(n&&n.flags&r)return n}return We}function dl(t,r){return $u(e.map(Ks(t),(function(e){return ll(e,r)})))}function _l(e){var t=mc(e,1);return t!==fr?t:void 0}function pl(t,r,n){return void 0===r&&(r=ee),1048576&(t=oc(t)).flags?al(e.map(t.types,(function(e){return pl(e,r,n)}))):2097152&t.flags?$u(e.map(t.types,(function(e){return pl(e,r,n)}))):58982400&t.flags||op(t)||Ls(t)&&cl(As(t))?function(e,t){return t?e.resolvedStringIndexType||(e.resolvedStringIndexType=sl(e,!0)):e.resolvedIndexType||(e.resolvedIndexType=sl(e,!1))}(t,r):32&e.getObjectFlags(t)?function(e,t){var r=$f(ks(e),(function(e){return!(t&&5&e.flags)})),n=e.declaration.nameType&&ld(e.declaration.nameType);return n?eg(r,(function(t){return Md(n,Ed(e.mapper,Cs(e),t))})):r}(t,n):t===Ce?Ce:2&t.flags?We:131073&t.flags?Ze:r?!n&&mc(t,0)?Le:dl(t,128):!n&&mc(t,0)?$u([Le,Re,dl(t,8192)]):_l(t)?$u([Re,dl(t,8320)]):dl(t,8576)}function fl(t){if(ee)return t;var r=Zt||(Zt=Su(\"Extract\",524288,e.Diagnostics.Cannot_find_global_type_0));return r?su(r,[t,Le]):Le}function gl(t,r){var n=e.findIndex(r,(function(e){return!!(1179648&e.flags)}));if(n>=0)return ol(r)?eg(r[n],(function(i){return gl(t,e.replaceElement(r,n,i))})):ke;if(e.contains(r,Ce))return Ce;var i=[],a=[],o=t[0];if(!function e(t,r){for(var n=0;n=0){if(o&&Qf(r,(function(e){return!e.target.hasRestElement}))&&!(8&s)){var g=bl(o);ap(r)?_n(g,e.Diagnostics.Tuple_type_0_of_length_1_has_no_element_at_index_2,ca(r),au(r),e.unescapeLeadingUnderscores(_)):_n(g,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(_),ca(r))}return b(mc(r,1)),eg(r,(function(e){var t=cp(e)||Pe;return c?$u([t,Pe]):t}))}}if(!(98304&n.flags)&&yh(n,402665900)){if(131073&r.flags)return r;var m=mc(r,0),y=yh(n,296)&&mc(r,1)||m;if(y)return 1&s&&y===m?void(d&&_n(d,e.Diagnostics.Type_0_cannot_be_used_to_index_type_1,ca(n),ca(t))):o&&!yh(n,12)?(_n(g=bl(o),e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,ca(n)),c?$u([y.type,Pe]):y.type):(b(y),c?$u([y.type,Pe]):y.type);if(131072&n.flags)return We;if(vl(r))return Ee;if(d&&!hh(r)){if(r.symbol===oe&&void 0!==_&&oe.exports.has(_)&&418&oe.exports.get(_).flags)_n(d,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(_),ca(r));else if($&&!V.suppressImplicitAnyIndexErrors&&!a)if(void 0!==_&&my(_,r))_n(d,e.Diagnostics.Property_0_is_a_static_member_of_type_1,_,ca(r));else if(yc(r,1))_n(d.argumentExpression,e.Diagnostics.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number);else{var v=void 0;if(void 0!==_&&(v=hy(_,r)))void 0!==v&&_n(d.argumentExpression,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2,_,ca(r),v);else{var h=function(t,r,n){function i(e){var r=js(t,e);if(r){var i=jy(po(r));return!!i&&zv(i)>=1&&Yd(n,Bv(i,0))}return!1}var a=e.isAssignmentTarget(r)?\"set\":\"get\";if(!i(a))return;var o=e.tryGetPropertyAccessOrIdentifierToString(r.expression);void 0===o?o=a:o+=\".\"+a;return o}(r,d,n);if(void 0!==h)_n(d,e.Diagnostics.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1,ca(r),h);else{var D=void 0;if(1024&n.flags)D=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,\"[\"+ca(n)+\"]\",ca(r));else if(8192&n.flags){var x=li(n.symbol,d);D=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,\"[\"+x+\"]\",ca(r))}else 128&n.flags||256&n.flags?D=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,n.value,ca(r)):12&n.flags&&(D=e.chainDiagnosticMessages(void 0,e.Diagnostics.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1,ca(n),ca(r)));D=e.chainDiagnosticMessages(D,e.Diagnostics.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1,ca(i),ca(r)),$r.add(e.createDiagnosticForNodeFromMessageChain(d,D))}}}return}}if(vl(r))return Ee;if(o){g=bl(o);384&n.flags?_n(g,e.Diagnostics.Property_0_does_not_exist_on_type_1,\"\"+n.value,ca(r)):12&n.flags?_n(g,e.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1,ca(r),ca(n)):_n(g,e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,ca(n))}return Aa(n)?n:void 0;function b(t){t&&t.isReadonly&&d&&(e.isAssignmentTarget(d)||e.isDeleteTarget(d))&&_n(d,e.Diagnostics.Index_signature_in_type_0_only_permits_reading,ca(r))}}function bl(e){return 202===e.kind?e.argumentExpression:189===e.kind?e.indexType:158===e.kind?e.expression:e}function Sl(e){return-1!==tt.types.indexOf(e)||!!(1&e.flags)}function El(t){return!!(134217728&t.flags)&&e.every(t.types,Sl)}function Tl(t){return 3145728&t.flags?(4194304&t.objectFlags||(t.objectFlags|=4194304|(e.some(t.types,Tl)?8388608:0)),!!(8388608&t.objectFlags)):!!(58982400&t.flags)||Ls(t)||op(t)}function Cl(t){return 3145728&t.flags?(16777216&t.objectFlags||(t.objectFlags|=16777216|(e.some(t.types,Cl)?33554432:0)),!!(33554432&t.objectFlags)):!!(465829888&t.flags)&&!El(t)}function kl(e){return!!(262144&e.flags&&e.isThisType)}function Al(t,r){return 8388608&t.flags?function(t,r){var n=r?\"simplifiedForWriting\":\"simplifiedForReading\";if(t[n])return t[n]===dt?t:t[n];t[n]=dt;var i=function(e){if(33554432&e.flags)return e.substitute;return e}(Al(t.objectType,r)),a=Al(t.indexType,r),o=function(t,r,n){if(1048576&r.flags){var i=e.map(r.types,(function(e){return Al(wl(t,e),n)}));return n?al(i):$u(i)}}(i,a,r);if(o)return t[n]=o;if(!(465829888&a.flags)){var s=Fl(i,a,r);if(s)return t[n]=s}if(op(i)&&296&a.flags){var c=lp(i,8&a.flags?0:i.target.fixedLength,0,r);if(c)return t[n]=c}if(Ls(i))return t[n]=eg(Pl(i,t.indexType),(function(e){return Al(e,r)}));return t[n]=t}(t,r):16777216&t.flags?function(e,t){var r=e.checkType,n=e.extendsType,i=jl(e),a=Jl(e);if(131072&a.flags&&Rl(i)===Rl(r)){if(1&r.flags||Yd(Rd(r),Rd(n)))return Al(i,t);if(Nl(r,n))return We}else if(131072&i.flags&&Rl(a)===Rl(r)){if(!(1&r.flags)&&Yd(Rd(r),Rd(n)))return We;if(1&r.flags||Nl(r,n))return Al(a,t)}return e}(t,r):t}function Fl(t,r,n){if(3145728&t.flags){var i=e.map(t.types,(function(e){return Al(wl(e,r),n)}));return 2097152&t.flags||n?al(i):$u(i)}}function Nl(e,t){return!!(131072&$u([ys(e,t),We]).flags)}function Pl(e,t){var r=gd([Cs(e)],[t]),n=xd(e.mapper,r);return Md(Fs(e),n)}function wl(e,t,r,n,i,a,o){return void 0===o&&(o=0),Ol(e,t,r,n,o,i,a)||(n?ke:Ne)}function Il(e,t){return Qf(e,(function(e){if(384&e.flags){var r=ts(e);if(xm(r)){var n=+r;return n>=0&&n=5e6)return e.tracing.instant(\"check\",\"instantiateType_DepthLimit\",{typeId:t.id,instantiationDepth:T,instantiationCount:b}),_n(d,e.Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite),ke;x++,b++,T++;var n=function(t,r){var n=t.flags;if(262144&n)return md(t,r);if(524288&n){var i=t.objectFlags;if(52&i){if(4&i&&!t.node){var a=t.resolvedTypeArguments,o=pd(a,r);return o!==a?zu(t.target,o):t}return function(t,r){var n=4&t.objectFlags?t.node:t.symbol.declarations[0],i=Cn(n),a=4&t.objectFlags?i.resolvedType:64&t.objectFlags?t.target:t,o=i.outerTypeParameters;if(!o){var s=vo(n,!0);if(hv(n)){var c=hc(n);s=e.addRange(s,c)}o=s||e.emptyArray,o=(4&a.objectFlags||2048&a.symbol.flags)&&!a.aliasTypeArguments?e.filter(o,(function(e){return Ad(e,n)})):o,i.outerTypeParameters=o}if(o.length){var u=xd(t.mapper,r),l=e.map(o,(function(e){return md(e,u)})),d=Zc(l);a.instantiations||(a.instantiations=new e.Map,a.instantiations.set(Zc(o),a));var _=a.instantiations.get(d);if(!_){var p=gd(o,l);_=4&a.objectFlags?nu(t.target,t.node,p):32&a.objectFlags?Nd(a,p):Id(a,p),a.instantiations.set(d,_)}return _}return t}(t,r)}return t}if(3145728&n){var s=t.types,c=pd(s,r);return c===s?t:2097152&n?al(c,t.aliasSymbol,pd(t.aliasTypeArguments,r)):$u(c,1,t.aliasSymbol,pd(t.aliasTypeArguments,r))}if(4194304&n)return pl(Md(t.type,r));if(134217728&n)return gl(t.texts,pd(t.types,r));if(268435456&n)return yl(t.symbol,Md(t.type,r));if(8388608&n)return wl(Md(t.objectType,r),Md(t.indexType,r),t.noUncheckedIndexedAccessCandidate,void 0,t.aliasSymbol,pd(t.aliasTypeArguments,r));if(16777216&n)return Od(t,xd(t.mapper,r));if(33554432&n){var u=Md(t.baseType,r);if(8650752&u.flags)return du(u,Md(t.substitute,r));var l=Md(t.substitute,r);return 3&l.flags||Yd(Rd(u),Rd(l))?u:l}return t}(t,r);return T--,n}function Ld(e){return 262143&e.flags?e:e.permissiveInstantiation||(e.permissiveInstantiation=Md(e,nt))}function Rd(e){return 262143&e.flags?e:(e.restrictiveInstantiation||(e.restrictiveInstantiation=Md(e,rt),e.restrictiveInstantiation.restrictiveInstantiation=e.restrictiveInstantiation),e.restrictiveInstantiation)}function Bd(e,t){return e&&Gc(Md(e.type,t),e.isReadonly,e.declaration)}function jd(t){switch(e.Debug.assert(165!==t.kind||e.isObjectLiteralMethod(t)),t.kind){case 208:case 209:case 165:case 251:return Jd(t);case 200:return e.some(t.properties,jd);case 199:return e.some(t.elements,jd);case 217:return jd(t.whenTrue)||jd(t.whenFalse);case 216:return(56===t.operatorToken.kind||60===t.operatorToken.kind)&&(jd(t.left)||jd(t.right));case 288:return jd(t.initializer);case 207:return jd(t.expression);case 281:return e.some(t.properties,jd)||e.isJsxOpeningElement(t.parent)&&e.some(t.parent.parent.children,jd);case 280:var r=t.initializer;return!!r&&jd(r);case 283:var n=t.expression;return!!n&&jd(n)}return!1}function Jd(t){return(!e.isFunctionDeclaration(t)||e.isInJSFile(t)&&!!Ma(t))&&(Kd(t)||function(t){return!t.typeParameters&&!e.getEffectiveReturnTypeNode(t)&&!!t.body&&230!==t.body.kind&&jd(t.body)}(t))}function Kd(t){if(!t.typeParameters){if(e.some(t.parameters,(function(t){return!e.getEffectiveTypeAnnotationNode(t)})))return!0;if(209!==t.kind){var r=e.firstOrUndefined(t.parameters);if(!r||!e.parameterIsThisKeyword(r))return!0}}return!1}function zd(t){return(e.isInJSFile(t)&&e.isFunctionDeclaration(t)||pm(t)||e.isObjectLiteralMethod(t))&&Jd(t)}function Ud(t){if(524288&t.flags){var r=Rs(t);if(r.constructSignatures.length||r.callSignatures.length){var n=ji(16,t.symbol);return n.members=r.members,n.properties=r.properties,n.callSignatures=e.emptyArray,n.constructSignatures=e.emptyArray,n}}else if(2097152&t.flags)return al(e.map(t.types,Ud));return t}function Vd(e,t){return v_(e,t,sn)}function qd(e,t){return v_(e,t,sn)?-1:0}function Wd(e,t){return v_(e,t,an)?-1:0}function Hd(e,t){return v_(e,t,rn)?-1:0}function Gd(e,t){return v_(e,t,rn)}function Yd(e,t){return v_(e,t,an)}function Xd(t,r){return 1048576&t.flags?e.every(t.types,(function(e){return Xd(e,r)})):1048576&r.flags?e.some(r.types,(function(e){return Xd(t,e)})):58982400&t.flags?Xd(Gs(t)||Ne,r):r===ht?!!(67633152&t.flags):r===Dt?!!(524288&t.flags)&&Pf(t):mo(t,go(r))||U_(r)&&!V_(r)&&Xd(t,Et)}function Qd(e,t){return v_(e,t,on)}function $d(e,t){return Qd(e,t)||Qd(t,e)}function Zd(e,t,r,n,i,a){return x_(e,t,an,r,n,i,a)}function e_(e,t,r,n,i,a){return t_(e,t,an,r,n,i,a,void 0)}function t_(e,t,r,n,i,a,o,s){return!!v_(e,t,r)||(!n||!n_(i,e,t,r,a,o,s))&&x_(e,t,r,n,a,o,s)}function r_(t){return!!(16777216&t.flags||2097152&t.flags&&e.some(t.types,r_))}function n_(t,r,i,a,s,c,u){if(!t||r_(i))return!1;if(!x_(r,i,a,void 0)&&function(t,r,n,i,a,o,s){for(var c=pc(r,0),u=pc(r,1),l=0,d=[u,c];l1,v=$f(g,X_),h=$f(g,(function(e){return!X_(e)}));if(y){if(v!==We){var D=Ju(Nm(d,0));l=o_(function(t,r){var n,i,a,s,c;return o(this,(function(o){switch(o.label){case 0:if(!e.length(t.children))return[2];n=0,i=0,o.label=1;case 1:return iu:zv(t)>u))return 0;t.typeParameters&&t.typeParameters!==r.typeParameters&&(t=zy(t,r=Uc(r),void 0,s));var l=Kv(t),d=qv(t),_=qv(r);if((d||_)&&Md(d||_,c),d&&_&&l!==u)return 0;var p=r.declaration?r.declaration.kind:0,f=!(3&n)&&Y&&165!==p&&164!==p&&166!==p,g=-1,m=Ic(t);if(m&&m!==qe){var y=Ic(r);if(y){if(!(S=!f&&s(m,y,!1)||s(y,m,i)))return i&&a(e.Diagnostics.The_this_types_of_each_signature_are_incompatible),0;g&=S}}for(var v=d||_?Math.min(l,u):Math.max(l,u),h=d||_?v-1:-1,D=0;D=zv(t)&&D0||wb(c));if(f&&!function(e,t,r){for(var n=0,i=Ks(e);n0&&B(Mc(g[0]),u,!1)||y.length>0&&B(Mc(y[0]),u,!1)?M(e.Diagnostics.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it,ca(c),ca(u)):M(e.Diagnostics.Type_0_has_no_properties_in_common_with_type_1,ca(c),ca(u))}return 0}var v=0,h=w();if(1048576&c.flags?v=i===on?K(c,u,n&&!(131068&c.flags),s):function(e,t,r,n){for(var i=-1,a=e.types,o=0;o0;if(d&&x--,524288&i.flags&&524288&s.flags){var _=l;R(i,s,n),l!==_&&(d=!!l)}if(524288&i.flags&&131068&s.flags)!function(t,r){var n=da(t.symbol)?ca(t,t.symbol.valueDeclaration):ca(t),i=da(r.symbol)?ca(r,r.symbol.valueDeclaration):ca(r);(Tt===t&&Le===r||Ct===t&&Re===r||kt===t&&Ue===r||Cu(!1)===t&&Ve===r)&&M(e.Diagnostics._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible,i,n)}(i,s);else if(i.symbol&&524288&i.flags&&ht===i)M(e.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);else if(u&&2097152&s.flags){var p=s.types,f=Im(N.IntrinsicAttributes,a),g=Im(N.IntrinsicClassAttributes,a);if(f!==ke&&g!==ke&&(e.contains(p,f)||e.contains(p,g)))return c}else l=lc(l,r);if(!o&&d)return m=[i,s],c;L(o,i,s)}}}function j(e,t){for(var r=-1,n=0,i=e.types;n25)return e.tracing.instant(\"check\",\"typeRelatedToDiscriminatedType_DepthLimit\",{sourceId:t.id,targetId:r.id,numCombinations:a}),0}for(var c=new Array(n.length),u=new e.Set,l=0;l5?M(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more,ca(t),ca(n),e.map(m.slice(0,4),(function(e){return oa(e)})).join(\", \"),m.length-4):M(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2,ca(t),ca(n),e.map(m,(function(e){return oa(e)})).join(\", \")),s&&l&&x++)}function X(t,r,n,a,o){if(i===sn)return function(e,t,r){if(!(524288&e.flags&&524288&t.flags))return 0;var n=W(Bs(e),r),i=W(Bs(t),r);if(n.length!==i.length)return 0;for(var a=-1,o=0,s=n;o0||pc(t,n=1).length>0)return e.find(r.types,(function(e){return pc(e,n).length>0}))}(t,r)||function(t,r){for(var n,i=0,a=0,o=r.types;a=i&&(n=s,i=u)}else $_(c)&&1>=i&&(n=s,i=1)}return n}(t,r)}function E_(t,r,n,i,a){for(var o=t.types.map((function(e){})),s=0,c=r;s0&&e.every(r.properties,(function(e){return!!(16777216&e.flags)}))}return!!(2097152&t.flags)&&e.every(t.types,T_)}function C_(t,r,n){var i=tu(t,e.map(t.typeParameters,(function(e){return e===r?n:e})));return i.objectFlags|=8192,i}function k_(e){var t=Tn(e);return A_(t.typeParameters,t,(function(r,n,i){var a=su(e,pd(t.typeParameters,yd(n,i)));return a.aliasTypeArgumentsContainsMarker=!0,a}))}function A_(t,r,n){var i,a,o;void 0===t&&(t=e.emptyArray);var s=r.variances;if(!s){e.tracing.push(\"check\",\"getVariancesWorker\",{arity:t.length,id:null!==(o=null!==(i=r.id)&&void 0!==i?i:null===(a=r.declaredType)||void 0===a?void 0:a.id)&&void 0!==o?o:-1}),r.variances=e.emptyArray,s=[];for(var c=function(e){var t=!1,i=!1,a=sr;sr=function(e){return e?i=!0:t=!0};var o=n(r,e,pt),c=n(r,e,ft),u=(Yd(c,o)?1:0)|(Yd(o,c)?2:0);3===u&&Yd(n(r,e,cr),o)&&(u=4),sr=a,(t||i)&&(t&&(u|=8),i&&(u|=16)),s.push(u)},u=0,l=t;u\":n+=\"-\"+o.id}return n}function I_(e,t,r,n){if(n===sn&&e.id>t.id){var i=e;e=t,t=i}var a=r?\":\"+r:\"\";if(P_(e)&&P_(t)){var o=[];return w_(e,o)+\",\"+w_(t,o)+a}return e.id+\",\"+t.id+a}function O_(t,r){if(!(6&e.getCheckFlags(t)))return r(t);for(var n=0,i=t.containingType.types;n=5){var n=B_(e);if(n)for(var i=0,a=0;a=5)return!0}return!1}function B_(t){if(524288&t.flags&&!df(t)){if(e.getObjectFlags(t)&&t.node)return t.node;if(t.symbol&&!(16&e.getObjectFlags(t)&&32&t.symbol.flags))return t.symbol;if(ap(t))return t.target}if(8388608&t.flags){do{t=t.objectType}while(8388608&t.flags);return t}if(16777216&t.flags)return t.root}function j_(e,t){return 0!==J_(e,t,qd)}function J_(t,r,n){if(t===r)return-1;var i=24&e.getDeclarationModifierFlagsFromSymbol(t);if(i!==(24&e.getDeclarationModifierFlagsFromSymbol(r)))return 0;if(i){if(qx(t)!==qx(r))return 0}else if((16777216&t.flags)!=(16777216&r.flags))return 0;return dh(t)!==dh(r)?0:n(po(t),po(r))}function K_(t,r,n,i,a,o){if(t===r)return-1;if(!function(e,t,r){var n=Kv(e),i=Kv(t),a=zv(e),o=zv(t),s=Uv(e),c=Uv(t);return n===i&&a===o&&s===c||!!(r&&a<=o)}(t,r,n))return 0;if(e.length(t.typeParameters)!==e.length(r.typeParameters))return 0;if(r.typeParameters){for(var s=gd(t.typeParameters,r.typeParameters),c=0;c-1&&(Pn(o,o.name.escapedText,788968,void 0,o.name.escapedText,!0)||o.name.originalKeywordKind&&e.isTypeNodeKind(o.name.originalKeywordKind))){var s=\"arg\"+o.parent.parameters.indexOf(o);return void fn($,t,e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1,s,e.declarationNameToString(o.name))}a=t.dotDotDotToken?$?e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type:e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:$?e.Diagnostics.Parameter_0_implicitly_has_an_1_type:e.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 198:if(a=e.Diagnostics.Binding_element_0_implicitly_has_an_1_type,!$)return;break;case 308:return void _n(t,e.Diagnostics.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,i);case 251:case 165:case 164:case 167:case 168:case 208:case 209:if($&&!t.name)return void _n(t,3===n?e.Diagnostics.Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:e.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,i);a=$?3===n?e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:e.Diagnostics._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage;break;case 190:return void($&&_n(t,e.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type));default:a=$?e.Diagnostics.Variable_0_implicitly_has_an_1_type:e.Diagnostics.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage}fn($,t,a,e.declarationNameToString(e.getNameOfDeclaration(t)),i)}}function Rp(t,r,n){!(i&&$&&524288&e.getObjectFlags(r))||n&&fm(t)||Mp(r)||Lp(t,r,n)}function Bp(e,t,r){var n=Kv(e),i=Kv(t),a=Vv(e),o=Vv(t),s=o?i-1:i,c=a?s:Math.min(n,s),u=Ic(e);if(u){var l=Ic(t);l&&r(u,l)}for(var d=0;d0?c.indexOf(d,u):u0)for(var b=0,S=r;be.target.minLength||!t.target.hasRestElement&&(e.target.hasRestElement||t.target.fixedLength0&&4&t.target.elementFlags[s-1]?iu(t)[s-1]:void 0,m=12&r.target.combinedFlags?p?up(r):Math.min(up(t),up(r)):0,y=p?0:m;for(d=0;d<_;d++)f(iu(t)[d],u[d]);if(p&&s-_==1)for(d=_;d1){var r=e.filter(t,df);if(r.length){var n=$u(r,2);return e.concatenate(e.filter(t,(function(e){return!df(e)})),[n])}}return t}(t.candidates),i=function(e){var t=Us(e);return!!t&&mh(16777216&t.flags?qs(t):t,406978556)}(t.typeParameter),a=!i&&t.topLevel&&(t.isFixed||!Yp(Mc(r),t.typeParameter)),o=i?e.sameMap(n,nd):a?e.sameMap(n,tp):n;return Ip(208&t.priority?$u(o,2):function(t){if(!G)return z_(t);var r=e.filter(t,(function(e){return!(98304&e.flags)}));return r.length?yp(z_(r),98304&_p(t)):$u(t,2)}(o))}function ff(t,r){var n=t.inferences[r];if(!n.inferredType){var i=void 0,a=t.signature;if(a){var o=n.candidates?pf(n,a):void 0;if(n.contraCandidates){var s=_f(n);i=!o||131072&o.flags||!Gd(o,s)?s:o}else if(o)i=o;else if(1&t.flags)i=He;else{var c=Zs(n.typeParameter);c&&(i=Md(c,bd(function(t,r){return vd((function(n){return e.findIndex(t.inferences,(function(e){return e.typeParameter===n}))>=r?Ne:n}))}(t,r),t.nonFixingMapper)))}}else i=tf(n);n.inferredType=i||gf(!!(2&t.flags));var u=Us(n.typeParameter);if(u){var l=Md(u,t.nonFixingMapper);i&&t.compareTypes(i,os(l,i))||(n.inferredType=i=l)}}return n.inferredType}function gf(e){return e?Ee:Ne}function mf(e){for(var t=[],r=0;r=0&&r.parameterIndex=n&&c-1){var l=a.filter((function(e){return void 0!==e})),d=c=2||0==(34&r.flags)||e.isSourceFile(r.valueDeclaration)||287===r.valueDeclaration.parent.kind)return;var n=e.getEnclosingBlockScopeContainer(r.valueDeclaration),i=function(t,r){return!!e.findAncestor(t,(function(t){return t===r?\"quit\":e.isFunctionLike(t)}))}(t.parent,n),a=n,o=!1;for(;a&&!e.nodeStartsNewLexicalEnvironment(a);){if(e.isIterationStatement(a,!1)){o=!0;break}a=a.parent}if(o){if(i){var s=!0;if(e.isForStatement(n))if((d=e.getAncestor(r.valueDeclaration,250))&&d.parent===n){var c=function(t,r){return e.findAncestor(t,(function(e){return e===r?\"quit\":e===r.initializer||e===r.condition||e===r.incrementor||e===r.statement}))}(t.parent,n);if(c){var u=Cn(c);u.flags|=131072;var l=u.capturedBlockScopeBindings||(u.capturedBlockScopeBindings=[]);e.pushIfUnique(l,r),c===n.initializer&&(s=!1)}}s&&(Cn(a).flags|=65536)}var d;if(e.isForStatement(n))(d=e.getAncestor(r.valueDeclaration,250))&&d.parent===n&&function(t,r){var n=t;for(;207===n.parent.kind;)n=n.parent;var i=!1;if(e.isAssignmentTarget(n))i=!0;else if(214===n.parent.kind||215===n.parent.kind){var a=n.parent;i=45===a.operator||46===a.operator}if(!i)return!1;return!!e.findAncestor(n,(function(e){return e===r?\"quit\":e===r.statement}))}(t,n)&&(Cn(r.valueDeclaration).flags|=4194304);Cn(r.valueDeclaration).flags|=524288}i&&(Cn(r.valueDeclaration).flags|=262144)}(t,r);var s=Ag(po(i),t),c=e.getAssignmentTargetKind(t);if(c){if(!(3&i.flags||e.isInJSFile(t)&&512&i.flags))return _n(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable,oa(r)),ke;if(dh(i))return 3&i.flags?_n(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant,oa(r)):_n(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_read_only_property,oa(r)),ke}var u=2097152&i.flags;if(3&i.flags){if(1===c)return s}else{if(!u)return s;o=e.find(r.declarations,j)}if(!o)return s;for(var l=160===e.getRootDeclaration(o).kind,d=bg(o),_=bg(t),p=_!==d,f=t.parent&&t.parent.parent&&e.isSpreadAssignment(t.parent)&&jf(t.parent.parent),g=134217728&r.flags;_!==d&&(208===_.kind||209===_.kind||e.isObjectLiteralOrClassExpressionMethod(_))&&(Tg(i)||l&&!Sg(i));)_=bg(_);var m=l||u||p||f||g||e.isBindingElement(o)||s!==Te&&s!==Pt&&(!G||0!=(16387&s.flags)||hf(t)||270===t.parent.kind)||225===t.parent.kind||249===o.kind&&o.exclamationToken||8388608&o.flags,y=xg(t,s,m?l?function(e,t){if(ba(t.symbol,2)){var r=G&&160===t.kind&&t.initializer&&32768&pp(e)&&!(32768&pp(Gh(t.initializer)));return Ta(),r?If(e,524288):e}return _o(t.symbol),e}(s,o):s:s===Te||s===Pt?Pe:vp(s),_,!m);if(_g(t)||s!==Te&&s!==Pt){if(!m&&!(32768&pp(s))&&32768&pp(y))return _n(t,e.Diagnostics.Variable_0_is_used_before_being_assigned,oa(r)),s}else if(y===Te||y===Pt)return $&&(_n(e.getNameOfDeclaration(o),e.Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined,oa(r),ca(y)),_n(t,e.Diagnostics.Variable_0_implicitly_has_an_1_type,oa(r),ca(y))),XD(y);return c?ep(y):y}function Pg(e,t){(Cn(e).flags|=2,163===t.kind||166===t.kind)?Cn(t.parent).flags|=4:Cn(t).flags|=4}function wg(t){return e.isSuperCall(t)?t:e.isFunctionLike(t)?void 0:e.forEachChild(t,wg)}function Ig(e){return Co(Jo(ki(e)))===Me}function Og(t,r,n){var i=r.parent;e.getClassExtendsHeritageElement(i)&&!Ig(i)&&t.flowNode&&!Dg(t.flowNode,!1)&&_n(t,n)}function Mg(t){var r=e.getThisContainer(t,!0),n=!1;switch(166===r.kind&&Og(t,r,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class),209===r.kind&&(r=e.getThisContainer(r,!1),n=!0),r.kind){case 256:_n(t,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 255:_n(t,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 166:Rg(t,r)&&_n(t,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments);break;case 163:case 162:!e.hasSyntacticModifier(r,32)||99===V.target&&V.useDefineForClassFields||_n(t,e.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer);break;case 158:_n(t,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name)}n&&q<2&&Pg(t,r);var i=Lg(t,!0,r);if(Z){var a=po(oe);if(i===a&&n)_n(t,e.Diagnostics.The_containing_arrow_function_captures_the_global_value_of_this);else if(!i){var o=_n(t,e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);if(!e.isSourceFile(r)){var s=Lg(r);s&&s!==a&&e.addRelatedInfo(o,e.createDiagnosticForNode(r,e.Diagnostics.An_outer_value_of_this_is_shadowed_by_this_container))}}}return i||Ee}function Lg(t,r,n){void 0===r&&(r=!0),void 0===n&&(n=e.getThisContainer(t,!1));var i=e.isInJSFile(t);if(e.isFunctionLike(n)&&(!Vg(t)||e.getThisParameter(n))){var a=ao(n)||i&&function(t){var r=e.getJSDocType(t);if(r&&308===r.kind){var n=r;if(n.parameters.length>0&&n.parameters[0].name&&\"this\"===n.parameters[0].name.escapedText)return ld(n.parameters[0].type)}var i=e.getJSDocThisTag(t);if(i&&i.typeExpression)return ld(i.typeExpression)}(n);if(!a){var o=function(t){if(208===t.kind&&e.isBinaryExpression(t.parent)&&3===e.getAssignmentDeclarationKind(t.parent))return t.parent.left.expression.expression;if(165===t.kind&&200===t.parent.kind&&e.isBinaryExpression(t.parent.parent)&&6===e.getAssignmentDeclarationKind(t.parent.parent))return t.parent.parent.left.expression;if(208===t.kind&&288===t.parent.kind&&200===t.parent.parent.kind&&e.isBinaryExpression(t.parent.parent.parent)&&6===e.getAssignmentDeclarationKind(t.parent.parent.parent))return t.parent.parent.parent.left.expression;if(208===t.kind&&e.isPropertyAssignment(t.parent)&&e.isIdentifier(t.parent.name)&&(\"value\"===t.parent.name.escapedText||\"get\"===t.parent.name.escapedText||\"set\"===t.parent.name.escapedText)&&e.isObjectLiteralExpression(t.parent.parent)&&e.isCallExpression(t.parent.parent.parent)&&t.parent.parent.parent.arguments[2]===t.parent.parent&&9===e.getAssignmentDeclarationKind(t.parent.parent.parent))return t.parent.parent.parent.arguments[0].expression;if(e.isMethodDeclaration(t)&&e.isIdentifier(t.name)&&(\"value\"===t.name.escapedText||\"get\"===t.name.escapedText||\"set\"===t.name.escapedText)&&e.isObjectLiteralExpression(t.parent)&&e.isCallExpression(t.parent.parent)&&t.parent.parent.arguments[2]===t.parent&&9===e.getAssignmentDeclarationKind(t.parent.parent))return t.parent.parent.arguments[0].expression}(n);if(i&&o){var s=Gh(o).symbol;s&&s.members&&16&s.flags&&(a=Jo(s).thisType)}else hv(n)&&(a=Jo(Ci(n.symbol)).thisType);a||(a=Kg(n))}if(a)return xg(t,a)}if(e.isClassLike(n.parent)){var c=ki(n.parent);return xg(t,e.hasSyntacticModifier(n,32)?po(c):Jo(c).thisType)}if(e.isSourceFile(n)){if(n.commonJsModuleIndicator){var u=ki(n);return u&&po(u)}if(n.externalModuleIndicator)return Pe;if(r)return po(oe)}}function Rg(t,r){return!!e.findAncestor(t,(function(t){return e.isFunctionLikeDeclaration(t)?\"quit\":160===t.kind&&t.parent===r}))}function Bg(t){var r=203===t.parent.kind&&t.parent.expression===t,n=e.getSuperContainer(t,!0),i=n,a=!1;if(!r)for(;i&&209===i.kind;)i=e.getSuperContainer(i,!0),a=q<2;var o=0;if(!function(t){if(!t)return!1;if(r)return 166===t.kind;if(e.isClassLike(t.parent)||200===t.parent.kind)return e.hasSyntacticModifier(t,32)?165===t.kind||164===t.kind||167===t.kind||168===t.kind:165===t.kind||164===t.kind||167===t.kind||168===t.kind||163===t.kind||162===t.kind||166===t.kind;return!1}(i)){var s=e.findAncestor(t,(function(e){return e===i?\"quit\":158===e.kind}));return s&&158===s.kind?_n(t,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name):r?_n(t,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):i&&i.parent&&(e.isClassLike(i.parent)||200===i.parent.kind)?_n(t,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class):_n(t,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions),ke}if(r||166!==n.kind||Og(t,i,e.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class),o=e.hasSyntacticModifier(i,32)||r?512:256,Cn(t).flags|=o,165===i.kind&&e.hasSyntacticModifier(i,256)&&(e.isSuperProperty(t.parent)&&e.isAssignmentTarget(t.parent)?Cn(i).flags|=4096:Cn(i).flags|=2048),a&&Pg(t.parent,i),200===i.parent.kind)return q<2?(_n(t,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher),ke):Ee;var c=i.parent;if(!e.getClassExtendsHeritageElement(c))return _n(t,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class),ke;var u=Jo(ki(c)),l=u&&Ao(u)[0];return l?166===i.kind&&Rg(t,i)?(_n(t,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments),ke):512===o?Co(u):os(l,u.thisType):ke}function jg(t){return 4&e.getObjectFlags(t)&&t.target===Ft?iu(t)[0]:void 0}function Jg(t){return eg(t,(function(t){return 2097152&t.flags?e.forEach(t.types,jg):jg(t)}))}function Kg(t){if(209!==t.kind){if(zd(t)){var r=gm(t);if(r){var n=r.thisParameter;if(n)return po(n)}}var i=e.isInJSFile(t);if(Z||i){var a=function(e){return 165!==e.kind&&167!==e.kind&&168!==e.kind||200!==e.parent.kind?208===e.kind&&288===e.parent.kind?e.parent.parent:void 0:e.parent}(t);if(a){for(var o=am(a),s=a,c=o;c;){var u=Jg(c);if(u)return Md(u,Wp(um(a)));if(288!==s.parent.kind)break;c=am(s=s.parent.parent)}return Ip(o?hp(o):Nh(a))}var l=e.walkUpParenthesizedExpressions(t.parent);if(216===l.kind&&62===l.operatorToken.kind){var d=l.left;if(e.isAccessExpression(d)){var _=d.expression;if(i&&e.isIdentifier(_)){var p=e.getSourceFileOfNode(l);if(p.commonJsModuleIndicator&&vf(_)===p.symbol)return}return Ip(Nh(_))}}}}}function zg(t){var r=t.parent;if(zd(r)){var n=e.getImmediatelyInvokedFunctionExpression(r);if(n&&n.arguments){var i=Qy(n),a=r.parameters.indexOf(t);if(t.dotDotDotToken)return qy(i,a,i.length,Ee,void 0,0);var o=Cn(n),s=o.resolvedSignature;o.resolvedSignature=lr;var c=a=0?void 0:po(o);if(ap(t)){var s=cp(t);if(s&&xm(r)&&+r>=0)return s}return xm(r)&&Zg(t,1)||Zg(t,0)}var c}),!0)}function Zg(e,t){return eg(e,(function(e){return gc(e,t)}),!0)}function em(e,t){var r=am(e.parent,t);if(r){if(!es(e)){var n=$g(r,ki(e).escapedName);if(n)return n}return hm(e.name)&&Zg(r,1)||Zg(r,0)}}function tm(e,t){return e&&($g(e,\"\"+t)||eg(e,(function(e){return lx(1,e,Pe,void 0,!1)}),!0))}function rm(t){var r=t.parent;return e.isJsxAttributeLike(r)?cm(t):e.isJsxElement(r)?function(t,r){var n=am(t.openingElement.tagName),i=Bm(Lm(t));if(n&&!Aa(n)&&i&&\"\"!==i){var a=e.getSemanticJsxChildren(t.children),o=a.indexOf(r),s=$g(n,i);return s&&(1===a.length?s:eg(s,(function(e){return H_(e)?wl(e,ad(o)):e}),!0))}}(r,t):void 0}function nm(t){if(e.isJsxAttribute(t)){var r=am(t.parent);if(!r||Aa(r))return;return $g(r,t.name.escapedText)}return cm(t.parent)}function im(e){switch(e.kind){case 10:case 8:case 9:case 14:case 109:case 94:case 103:case 78:case 150:return!0;case 201:case 207:return im(e.expression);case 283:return!e.expression||im(e.expression)}return!1}function am(t,r){var n=om(e.isObjectLiteralMethod(t)?function(t,r){if(e.Debug.assert(e.isObjectLiteralMethod(t)),!(16777216&t.flags))return em(t,r)}(t,r):cm(t,r),t,r);if(n&&!(r&&2&r&&8650752&n.flags)){var i=eg(n,tc,!0);if(1048576&i.flags){if(e.isObjectLiteralExpression(t))return function(t,r){return E_(r,e.map(e.filter(t.properties,(function(e){return!!e.symbol&&288===e.kind&&im(e.initializer)&&Cf(r,e.symbol.escapedName)})),(function(e){return[function(){return Gh(e.initializer)},e.symbol.escapedName]})),Yd,r)}(t,i);if(e.isJsxAttributes(t))return function(t,r){return E_(r,e.map(e.filter(t.properties,(function(e){return!!e.symbol&&280===e.kind&&Cf(r,e.symbol.escapedName)&&(!e.initializer||im(e.initializer))})),(function(e){return[e.initializer?function(){return Gh(e.initializer)}:function(){return Ke},e.symbol.escapedName]})),Yd,r)}(t,i)}return i}}function om(t,r,n){if(t&&mh(t,465829888)){var i=um(r);if(i&&e.some(i.inferences,Kh)){if(n&&1&n)return sm(t,i.nonFixingMapper);if(i.returnMapper)return sm(t,i.returnMapper)}}return t}function sm(t,r){return 465829888&t.flags?Md(t,r):1048576&t.flags?$u(e.map(t.types,(function(e){return sm(e,r)})),0):2097152&t.flags?al(e.map(t.types,(function(e){return sm(e,r)}))):t}function cm(t,r){if(16777216&t.flags);else{if(t.contextualType)return t.contextualType;var n=t.parent;switch(n.kind){case 249:case 160:case 163:case 162:case 198:return function(t,r){var n=t.parent;if(e.hasInitializer(n)&&t===n.initializer){var i=Ug(n);if(i)return i;if(!(8&r)&&e.isBindingPattern(n.name))return Qa(n.name,!0,!1)}}(t,r);case 209:case 242:return function(t){var r=e.getContainingFunction(t);if(r){var n=Wg(r);if(n){var i=e.getFunctionFlags(r);if(1&i){var a=mx(n,2&i?2:1,void 0);if(!a)return;n=a.returnType}if(2&i){var o=eg(n,vD);return o&&$u([o,$v(o)])}return n}}}(t);case 219:return function(t){var r=e.getContainingFunction(t);if(r){var n=e.getFunctionFlags(r),i=Wg(r);if(i)return t.asteriskToken?i:wx(0,i,0!=(2&n))}}(n);case 213:return function(e,t){var r=cm(e,t);if(r){var n=vD(r);return n&&$u([n,$v(n)])}}(n,r);case 203:if(99===n.expression.kind)return Le;case 204:return Hg(n,t);case 206:case 224:return e.isConstTypeReference(n.type)?function(t){if(e.isCallLikeExpression(t.parent))return Hg(t.parent,t);return}(n):ld(n.type);case 216:return Yg(t,r);case 288:case 289:return em(n,r);case 290:return am(n.parent,r);case 199:var i=n;return tm(am(i,r),e.indexOfNode(i.elements,t));case 217:return function(e,t){var r=e.parent;return e===r.whenTrue||e===r.whenFalse?cm(r,t):void 0}(t,r);case 228:return e.Debug.assert(218===n.parent.kind),function(e,t){if(205===e.parent.kind)return Hg(e.parent,t)}(n.parent,t);case 207:var a=e.isInJSFile(n)?e.getJSDocTypeTag(n):void 0;return a?ld(a.typeExpression.type):cm(n,r);case 283:return rm(n);case 280:case 282:return nm(n);case 275:case 274:return function(t,r){if(e.isJsxOpeningElement(t)&&t.parent.contextualType&&4!==r)return t.parent.contextualType;return Gg(t,0)}(n,r)}}}function um(t){var r=e.findAncestor(t,(function(e){return!!e.inferenceContext}));return r&&r.inferenceContext}function lm(t,r){return 0!==Hy(r)?function(e,t){var r=Hv(e,Ne);r=dm(t,Lm(t),r);var n=Im(N.IntrinsicAttributes,t);n!==ke&&(r=ys(n,r));return r}(t,r):function(t,r){var n=Lm(r),i=(o=n,Rm(N.ElementAttributesPropertyNameContainer,o)),a=void 0===i?Hv(t,Ne):\"\"===i?Mc(t):function(e,t){if(e.unionSignatures){for(var r=[],n=0,i=e.unionSignatures;n=2)return tu(o,c=kc([s,n],o.typeParameters,2,e.isInJSFile(t)));if(e.length(o.aliasTypeArguments)>=2){var c=kc([s,n],o.aliasTypeArguments,2,e.isInJSFile(t));return su(o.aliasSymbol,c)}}return n}function _m(t,r){var n=pc(t,0);if(1===n.length){var i=n[0];if(!function(t,r){for(var n=0;n0&&(s=Ql(s,M(),t.symbol,g,l),o=[],a=e.createSymbolTable(),y=!1,v=!1),!Cm(A=oc(Gh(T.expression))))return _n(T,e.Diagnostics.Spread_types_may_only_be_created_from_object_types),ke;i&&Pm(A,i,T),s=Ql(s,A,t.symbol,g,l),b=o.length;continue}e.Debug.assert(167===T.kind||168===T.kind),_b(T)}!k||8576&k.flags?a.set(C.escapedName,C):Yd(k,$e)&&(Yd(k,Re)?v=!0:y=!0,n&&(m=!0)),o.push(C)}if(u&&290!==t.parent.kind)for(var I=0,O=Ks(c);I0&&(s=Ql(s,M(),t.symbol,g,l),o=[],a=e.createSymbolTable(),y=!1,v=!1),eg(s,(function(e){return e===it?M():e}))):M();function M(){var r=y?Sm(t,b,o,0):void 0,i=v?Sm(t,b,o,1):void 0,s=Vi(t.symbol,a,e.emptyArray,e.emptyArray,r,i);return s.objectFlags|=1048704|g,f&&(s.objectFlags|=16384),m&&(s.objectFlags|=512),n&&(s.pattern=t),s}}function Cm(t){if(465829888&t.flags){var r=Gs(t);if(void 0!==r)return Cm(r)}return!!(126615553&t.flags||117632&pp(t)&&Cm(fp(t))||3145728&t.flags&&e.every(t.types,Cm))}function km(t){return!e.stringContains(t,\"-\")}function Am(t){return 78===t.kind&&e.isIntrinsicJsxName(t.escapedText)}function Fm(e,t){return e.initializer?Lh(e.initializer,t):Ke}function Nm(e,t){for(var r=[],n=0,i=e.children;n0&&(s=Ql(s,E(),i.symbol,l,!1),o=e.createSymbolTable()),Aa(m=oc(Nh(f.expression,r)))&&(c=!0),Cm(m)?(s=Ql(s,m,i.symbol,l,!1),a&&Pm(m,a,f)):n=n?al([n,m]):m}c||o.size>0&&(s=Ql(s,E(),i.symbol,l,!1));var v=273===t.parent.kind?t.parent:void 0;if(v&&v.openingElement===t&&v.children.length>0){var h=Nm(v,r);if(!c&&d&&\"\"!==d){u&&_n(i,e.Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten,e.unescapeLeadingUnderscores(d));var D=am(t.attributes),x=D&&$g(D,d),b=mn(4,d);b.type=1===h.length?h[0]:x&&Xf(x,Y_)?Ju(h):Iu($u(h)),b.valueDeclaration=e.factory.createPropertySignature(void 0,e.unescapeLeadingUnderscores(d),void 0,void 0),e.setParent(b.valueDeclaration,i),b.valueDeclaration.symbol=b;var S=e.createSymbolTable();S.set(d,b),s=Ql(s,Vi(i.symbol,S,e.emptyArray,e.emptyArray,void 0,void 0),i.symbol,l,!1)}}return c?Ee:n&&s!==at?al([n,s]):n||(s===at?E():s);function E(){l|=te;var t=Vi(i.symbol,o,e.emptyArray,e.emptyArray,void 0,void 0);return t.objectFlags|=1048704|l,t}}(t.parent,r)}function Im(e,t){var r=Lm(t),n=r&&bi(r),i=n&&An(n,e,788968);return i?Jo(i):ke}function Om(t){var r=Cn(t);if(!r.resolvedSymbol){var n=Im(N.IntrinsicElements,t);if(n!==ke){if(!e.isIdentifier(t.tagName))return e.Debug.fail();var i=dc(n,t.tagName.escapedText);return i?(r.jsxFlags|=1,r.resolvedSymbol=i):yc(n,0)?(r.jsxFlags|=2,r.resolvedSymbol=n.symbol):(_n(t,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.idText(t.tagName),\"JSX.\"+N.IntrinsicElements),r.resolvedSymbol=be)}return $&&_n(t,e.Diagnostics.JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists,e.unescapeLeadingUnderscores(N.IntrinsicElements)),r.resolvedSymbol=be}return r.resolvedSymbol}function Mm(t){var r=t&&e.getSourceFileOfNode(t),n=r&&Cn(r);if(!n||!1!==n.jsxImplicitImportContainer){if(n&&n.jsxImplicitImportContainer)return n.jsxImplicitImportContainer;var i=e.getJSXRuntimeImport(e.getJSXImplicitImportBase(V,r),V);if(i){var a=gi(t,i,e.getEmitModuleResolutionKind(V)===e.ModuleResolutionKind.Classic?e.Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:e.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations,t),o=a&&a!==be?Ci(ri(a)):void 0;return n&&(n.jsxImplicitImportContainer=o||!1),o}}}function Lm(e){var t=e&&Cn(e);if(t&&t.jsxNamespace)return t.jsxNamespace;if(!t||!1!==t.jsxNamespace){var r=Mm(e);if(!r||r===be){var n=ln(e);r=Pn(e,n,1920,void 0,n,!1)}if(r){var i=ri(An(bi(ri(r)),N.JSX,1920));if(i&&i!==be)return t&&(t.jsxNamespace=i),i}t&&(t.jsxNamespace=!1)}var a=ri(Su(N.JSX,1920,void 0));return a!==be?a:void 0}function Rm(t,r){var n=r&&An(r.exports,t,788968),i=n&&Jo(n),a=i&&Ks(i);if(a){if(0===a.length)return\"\";if(1===a.length)return a[0].escapedName;a.length>1&&_n(n.declarations[0],e.Diagnostics.The_global_type_JSX_0_may_not_have_more_than_one_property,e.unescapeLeadingUnderscores(t))}}function Bm(e){return Rm(N.ElementChildrenAttributeNameContainer,e)}function jm(t,r){if(4&t.flags)return[lr];if(128&t.flags){var n=Jm(t,r);return n?[gv(r,n)]:(_n(r,e.Diagnostics.Property_0_does_not_exist_on_type_1,t.value,\"JSX.\"+N.IntrinsicElements),e.emptyArray)}var i=tc(t),a=pc(i,1);return 0===a.length&&(a=pc(i,0)),0===a.length&&1048576&i.flags&&(a=gs(e.map(i.types,(function(e){return jm(e,r)})))),a}function Jm(t,r){var n=Im(N.IntrinsicElements,r);if(n!==ke){var i=t.value,a=dc(n,e.escapeLeadingUnderscores(i));if(a)return po(a);var o=yc(n,0);return o||void 0}return Ee}function Km(t){e.Debug.assert(Am(t.tagName));var r=Cn(t);if(!r.resolvedJsxElementAttributesType){var n=Om(t);return 1&r.jsxFlags?r.resolvedJsxElementAttributesType=po(n):2&r.jsxFlags?r.resolvedJsxElementAttributesType=yc(Jo(n),0):r.resolvedJsxElementAttributesType=ke}return r.resolvedJsxElementAttributesType}function zm(e){var t=Im(N.ElementClass,e);if(t!==ke)return t}function Um(e){return Im(N.Element,e)}function Vm(e){var t=Um(e);if(t)return $u([t,Oe])}function qm(t){var r,n=e.isJsxOpeningLikeElement(t);if(n&&function(t){xS(t,t.typeArguments);for(var r=new e.Map,n=0,i=t.attributes.properties;n=0)return d>=zv(n)&&(Uv(n)||ds)return!1;if(o||a>=c)return!0;for(var _=a;_=i&&r.length<=n}function jy(e){return Ky(e,0,!1)}function Jy(e){return Ky(e,0,!1)||Ky(e,1,!1)}function Ky(e,t,r){if(524288&e.flags){var n=Rs(e);if(r||0===n.properties.length&&!n.stringIndexInfo&&!n.numberIndexInfo){if(0===t&&1===n.callSignatures.length&&0===n.constructSignatures.length)return n.callSignatures[0];if(1===t&&1===n.constructSignatures.length&&0===n.callSignatures.length)return n.constructSignatures[0]}}}function zy(t,r,n,i){var a=Jp(t.typeParameters,t,0,i),o=Vv(r),s=n&&(o&&262144&o.flags?n.nonFixingMapper:n.mapper);return Bp(s?Cd(r,s):r,t,(function(e,t){sf(a.inferences,e,t)})),n||jp(r,t,(function(e,t){sf(a.inferences,e,t,64)})),jc(t,mf(a),e.isInJSFile(r.declaration))}function Uy(t,r,n,i,a){if(e.isJsxOpeningLikeElement(t))return function(e,t,r,n){var i=lm(t,e),a=Fh(e.attributes,i,n,r);return sf(n.inferences,a,i),mf(n)}(t,r,i,a);if(161!==t.kind){var o=cm(t,e.every(r.typeParameters,(function(e){return!!Zs(e)}))?8:0);if(o){var s=um(t),c=Md(o,Wp(function(t,r){return void 0===r&&(r=0),t&&Kp(e.map(t.inferences,qp),t.signature,t.flags|r,t.compareTypes)}(s,1))),u=jy(c),l=u&&u.typeParameters?qc(Jc(u,u.typeParameters)):c,d=Mc(r);sf(a.inferences,l,d,64);var _=Jp(r.typeParameters,r,a.flags),p=Md(o,s&&s.returnMapper);sf(_.inferences,p,d),a.returnMapper=e.some(_.inferences,Kh)?Wp(function(t){var r=e.filter(t.inferences,Kh);return r.length?Kp(e.map(r,qp),t.signature,t.flags,t.compareTypes):void 0}(_)):void 0}}var f=qv(r),g=f?Math.min(Kv(r)-1,n.length):n.length;if(f&&262144&f.flags){var m=e.find(a.inferences,(function(e){return e.typeParameter===f}));m&&(m.impliedArity=e.findIndex(n,Iy,g)<0?n.length-g:void 0)}var y=Ic(r);if(y){var v=Yy(t),h=v?Gh(v):qe;sf(a.inferences,h,y)}for(var D=0;D=n-1&&Iy(d=t[n-1]))return Vy(227===d.kind?d.type:Fh(d.expression,i,a,o));for(var s=[],c=[],u=[],l=r;ld&&(d=v)}}if(!l)return!0;for(var h=1/0,D=0,x=i;D0||e.isJsxOpeningElement(t)&&t.parent.children.length>0?[t.attributes]:e.emptyArray;var i=t.arguments||e.emptyArray,a=Oy(i);if(a>=0){for(var o=i.slice(0,a),s=function(t){var r=i[t],n=220===r.kind&&(Cr?Gh(r.expression):Nh(r.expression));n&&ap(n)?e.forEach(iu(n),(function(e,t){var i,a=n.target.elementFlags[t],s=Xy(r,4&a?Iu(e):e,!!(12&a),null===(i=n.target.labeledElementDeclarations)||void 0===i?void 0:i[t]);o.push(s)})):o.push(r)},c=a;cs&&(s=p),u-1;u<=o&&h&&u--;var D=y||h?y&&h?e.Diagnostics.Expected_at_least_0_arguments_but_got_1_or_more:y?e.Diagnostics.Expected_at_least_0_arguments_but_got_1:e.Diagnostics.Expected_0_arguments_but_got_1_or_more:1===v&&0===u&&function(t){if(!e.isCallExpression(t)||!e.isIdentifier(t.expression))return!1;var r=Pn(t.expression,t.expression.escapedText,111551,void 0,void 0,!1),n=null==r?void 0:r.valueDeclaration;if(!(n&&e.isParameter(n)&&pm(n.parent)&&e.isNewExpression(n.parent.parent)&&e.isIdentifier(n.parent.parent.expression)))return!1;var i=Au(!1);return!!i&&Tb(n.parent.parent.expression,!0)===i}(t)?e.Diagnostics.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:e.Diagnostics.Expected_0_arguments_but_got_1;if(i&&zv(i)>u&&i.declaration){var x=i.declaration.parameters[i.thisParameter?u+1:u];x&&(m=e.createDiagnosticForNode(x,e.isBindingPattern(x.name)?e.Diagnostics.An_argument_matching_this_binding_pattern_was_not_provided:e.isRestParameter(x)?e.Diagnostics.Arguments_for_the_rest_parameter_0_were_not_provided:e.Diagnostics.An_argument_for_0_was_not_provided,x.name?e.isBindingPattern(x.name)?void 0:e.idText(e.getFirstIdentifier(x.name)):u))}if(au&&S?n.indexOf(S):Math.min(o,n.length-1)))}}else g=e.factory.createNodeArray(n.slice(o));var E=e.first(g).pos,T=e.last(g).end;T===E&&T++,e.setTextRangePosEnd(g,E,T);var C=e.createDiagnosticForNodeArray(e.getSourceFileOfNode(t),g,D,v,u);return m?e.addRelatedInfo(C,m):C}function rv(t,n,a,o,s,c){var u,l=205===t.kind,d=161===t.kind,_=e.isJsxOpeningLikeElement(t),p=!a&&i;d||(u=t.typeArguments,(l||_||105!==t.expression.kind)&&e.forEach(u,lb));var f=a||[];if(function(t,r,n){var i,a,o,s,c=0,u=-1;e.Debug.assert(!r.length);for(var l=0,d=t;l1&&(v=W(f,rn,D,b)),v||(v=W(f,an,D,b)),v)return v;if(p)if(g)if(1===g.length||g.length>3){var S,E=g[g.length-1];g.length>3&&(S=e.chainDiagnosticMessages(S,e.Diagnostics.The_last_overload_gave_the_following_error),S=e.chainDiagnosticMessages(S,e.Diagnostics.No_overload_matches_this_call));var T=Gy(t,h,E,an,0,!0,(function(){return S}));if(T)for(var C=0,k=T;C3&&e.addRelatedInfo(A,e.createDiagnosticForNode(E.declaration,e.Diagnostics.The_last_overload_is_declared_here)),q(E,A),$r.add(A)}else e.Debug.fail(\"No error for last overload signature\")}else{for(var F=[],N=0,P=Number.MAX_VALUE,w=0,I=0,O=function(r){var n=Gy(t,h,r,an,0,!0,(function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.Overload_0_of_1_2_gave_the_following_error,I+1,f.length,sa(r))}));n?(n.length<=P&&(P=n.length,w=I),N=Math.max(N,n.length),F.push(n)):e.Debug.fail(\"No error for 3 or fewer overload signatures\"),I++},M=0,L=g;M1?F[w]:e.flatten(F);e.Debug.assert(R.length>0,\"No errors reported for 3 or fewer overload signatures\");var B=e.chainDiagnosticMessages(e.map(R,(function(e){return\"string\"==typeof e.messageText?e:e.messageText})),e.Diagnostics.No_overload_matches_this_call),j=r(e.flatMap(R,(function(e){return e.relatedInformation}))),J=void 0;if(e.every(R,(function(e){return e.start===R[0].start&&e.length===R[0].length&&e.file===R[0].file}))){var U=R[0];J={file:U.file,start:U.start,length:U.length,code:B.code,category:B.category,messageText:B,relatedInformation:j}}else J=e.createDiagnosticForNodeFromMessageChain(t,B,j);q(g[0],J),$r.add(J)}else if(m)$r.add(tv(t,[m],h));else if(y)Wy(y,t.typeArguments,!0,c);else{var V=e.filter(n,(function(e){return By(e,u)}));0===V.length?$r.add(function(t,r,n){var i=n.length;if(1===r.length){var a=Cc((d=r[0]).typeParameters),o=e.length(d.typeParameters);return e.createDiagnosticForNodeArray(e.getSourceFileOfNode(t),n,e.Diagnostics.Expected_0_type_arguments_but_got_1,ai?c=Math.min(c,_):o0),_b(t),i||1===r.length||r.some((function(e){return!!e.typeParameters}))?function(t,r,n){var i=function(e,t){for(var r=-1,n=-1,i=0;i=t)return i;o>n&&(n=o,r=i)}return r}(r,void 0===se?n.length:se),a=r[i],o=a.typeParameters;if(!o)return a;var s=Ny(t)?t.typeArguments:void 0,c=s?Kc(a,function(e,t,r){var n=e.map(Cb);for(;n.length>t.length;)n.pop();for(;n.length1?e.find((null===(i=t.declaration)||void 0===i?void 0:i.symbol.declarations)||e.emptyArray,(function(t){return e.isFunctionLikeDeclaration(t)&&e.nodeIsPresent(t.body)})):void 0;if(c){var u=Ac(c),l=!u.typeParameters;W([u],an,l)&&e.addRelatedInfo(r,e.createDiagnosticForNode(c,e.Diagnostics.The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible))}g=a,m=o,y=s}function W(r,n,i,a){if(void 0===a&&(a=!1),g=void 0,m=void 0,y=void 0,i){var o=r[0];if(e.some(u)||!Ry(t,h,o,a))return;return Gy(t,h,o,n,0,!1,void 0)?void(g=[o]):o}for(var s=0;s=0&&_n(t.arguments[i],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}var a=Zm(t.expression);if(a===He)return pr;if((a=tc(a))===ke)return wy(t);if(Aa(a))return t.typeArguments&&_n(t,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments),Py(t);var o=pc(a,1);if(o.length){if(!function(t,r){if(!r||!r.declaration)return!0;var n=r.declaration,i=e.getSelectedEffectiveModifierFlags(n,24);if(!i||166!==n.kind)return!0;var a=e.getClassLikeDeclarationOfSymbol(n.parent.symbol),o=Jo(n.parent.symbol);if(!bb(t,a)){var s=e.getContainingClass(t);if(s&&16&i){var c=Cb(s);if(uv(n.parent.symbol,c))return!0}return 8&i&&_n(t,e.Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,ca(o)),16&i&&_n(t,e.Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,ca(o)),!1}return!0}(t,o[0]))return wy(t);var s=a.symbol&&e.getClassLikeDeclarationOfSymbol(a.symbol);return s&&e.hasSyntacticModifier(s,128)?(_n(t,e.Diagnostics.Cannot_create_an_instance_of_an_abstract_class),wy(t)):rv(t,o,r,n,0)}var c=pc(a,0);if(c.length){var u=rv(t,c,r,n,0);return $||(u.declaration&&!hv(u.declaration)&&Mc(u)!==qe&&_n(t,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword),Ic(u)===qe&&_n(t,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)),u}return dv(t.expression,a,1),wy(t)}function uv(t,r){var n=Ao(r);if(!e.length(n))return!1;var i=n[0];if(2097152&i.flags){for(var a=Ds(i.types),o=0,s=0,c=i.types;s0;if(1048576&r.flags){for(var c=!1,u=0,l=r.types;u=n-1)return r===n-1?a:Iu(wl(a,Re));for(var o=[],s=[],c=[],u=r;u0&&(a=t.parameters.length-1+c)}}if(void 0===a){if(!n&&16&t.flags)return 0;a=t.minArgumentCount}if(i)return a;for(var u=a-1;u>=0;u--){if(131072&$f(Bv(t,u),My).flags)break;a=u}t.resolvedMinArgumentCount=a}return t.resolvedMinArgumentCount}function Uv(e){if(K(e)){var t=po(e.parameters[e.parameters.length-1]);return!ap(t)||t.target.hasRestElement}return!1}function Vv(e){if(K(e)){var t=po(e.parameters[e.parameters.length-1]);if(!ap(t))return t;if(t.target.hasRestElement)return Vu(t,t.target.fixedLength)}}function qv(e){var t=Vv(e);return!t||U_(t)||Aa(t)||0!=(131072&oc(t).flags)?void 0:t}function Wv(e){return Hv(e,We)}function Hv(e,t){return e.parameters.length>0?Bv(e,0):t}function Gv(t,r){(t.typeParameters=r.typeParameters,r.thisParameter)&&((!(a=t.thisParameter)||a.valueDeclaration&&!a.valueDeclaration.type)&&(a||(t.thisParameter=Cp(r.thisParameter,void 0)),Yv(t.thisParameter,po(r.thisParameter))));for(var n=t.parameters.length-(K(t)?1:0),i=0;i0&&(n=$u(l,2)):u=We;var d=function(t,r){var n=[],i=[],a=0!=(2&e.getFunctionFlags(t));return e.forEachYieldExpression(t.body,(function(t){var o,s=t.expression?Gh(t.expression,r):we;if(e.pushIfUnique(n,rh(t,s,Ee,a)),t.asteriskToken){var c=mx(s,a?19:17,t.expression);o=c&&c.nextType}else o=cm(t);o&&e.pushIfUnique(i,o)})),{yieldTypes:n,nextTypes:i}}(t,r),_=d.yieldTypes,p=d.nextTypes;i=e.some(_)?$u(_,2):void 0,a=e.some(p)?al(p):void 0}else{var f=oh(t,r);if(!f)return 2&o?Zv(t,We):We;if(0===f.length)return 2&o?Zv(t,qe):qe;n=$u(f,2)}if(n||i||a){if(i&&Rp(t,i,3),n&&Rp(t,n,1),a&&Rp(t,a,2),n&&$_(n)||i&&$_(i)||a&&$_(a)){var g=fm(t),m=g?g===Ac(t)?c?void 0:n:om(Mc(g),t):void 0;c?(i=ip(i,m,0,s),n=ip(n,m,1,s),a=ip(a,m,2,s)):n=function(e,t,r){return e&&$_(e)&&(e=np(e,t?r?mD(t):t:void 0)),e}(n,m,s)}i&&(i=Ip(i)),n&&(n=Ip(n)),a&&(a=Ip(a))}return c?th(i||We,n||u,a||qg(2,t)||Ne,s):s?Qv(n||u):n||u}function th(e,t,r,n){var i=n?Dr:xr,a=i.getGlobalGeneratorType(!1);if(e=i.resolveIterationType(e,void 0)||Ne,t=i.resolveIterationType(t,void 0)||Ne,r=i.resolveIterationType(r,void 0)||Ne,a===ct){var o=i.getGlobalIterableIteratorType(!1),s=o!==ct?Dx(o,i):void 0,c=s?s.returnType:Ee,u=s?s.nextType:Pe;return Yd(t,c)&&Yd(u,r)?o!==ct?Pu(o,[e]):(i.getGlobalIterableIteratorType(!0),it):(i.getGlobalGeneratorType(!0),it)}return Pu(a,[e,t,r])}function rh(t,r,n,i){var a=t.expression||t,o=t.asteriskToken?ux(i?19:17,r,n,a):r;return i?vD(o,a,t.asteriskToken?e.Diagnostics.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:e.Diagnostics.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):o}function nh(e,t,r,n){var i=0;if(n){for(var a=t;a=0;)switch(t=i.expr[a],i.state[a]){case 0:if(e.isInJSFile(t)&&e.getAssignedExpandoInitializer(t)){u(Gh(t.right,r));break}if(kh(t),62===(o=t.operatorToken.kind)&&(200===t.left.kind||199===t.left.kind)){u(Sh(t.left,Gh(t.right,r),r,107===t.right.kind));break}l(1),d(t.left);break;case 1:var o,s=n;i.leftType[a]=s,55!==(o=t.operatorToken.kind)&&56!==o&&60!==o||ix(s,t.left),l(2),d(t.right);break;case 2:s=i.leftType[a];var c=n;u(Ah(t.left,t.operatorToken,t.right,s,c,t));break;default:return e.Debug.fail(\"Invalid state \"+i.state[a]+\" for checkBinaryExpression\")}return n;function u(e){n=e,a--}function l(e){i.state[a]=e}function d(t){e.isBinaryExpression(t)?(a++,i.expr[a]=t,i.state[a]=0,i.leftType[a]=void 0):n=Gh(t,r)}}function kh(t){var r=t.left,n=t.operatorToken,i=t.right;60===n.kind&&(!e.isBinaryExpression(r)||56!==r.operatorToken.kind&&55!==r.operatorToken.kind||zS(r,e.Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses,e.tokenToString(r.operatorToken.kind),e.tokenToString(n.kind)),!e.isBinaryExpression(i)||56!==i.operatorToken.kind&&55!==i.operatorToken.kind||zS(i,e.Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses,e.tokenToString(i.operatorToken.kind),e.tokenToString(n.kind)))}function Ah(t,r,n,a,o,s){var c=r.kind;switch(c){case 41:case 42:case 65:case 66:case 43:case 67:case 44:case 68:case 40:case 64:case 47:case 69:case 48:case 70:case 49:case 71:case 51:case 73:case 52:case 77:case 50:case 72:if(a===He||o===He)return He;a=ay(a,t),o=ay(o,n);var u=void 0;if(528&a.flags&&528&o.flags&&void 0!==(u=function(e){switch(e){case 51:case 73:return 56;case 52:case 77:return 37;case 50:case 72:return 55;default:return}}(r.kind)))return _n(s||r,e.Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead,e.tokenToString(r.kind),e.tokenToString(u)),Re;var l,d=uh(t,a,e.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,!0),_=uh(n,o,e.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,!0);if(yh(a,3)&&yh(o,3)||!mh(a,2112)&&!mh(o,2112))l=Re;else if(b(a,o)){switch(c){case 49:case 71:C();break;case 42:case 66:q<3&&_n(s,e.Diagnostics.Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later)}l=Be}else C(b),l=ke;return d&&_&&E(l),l;case 39:case 63:if(a===He||o===He)return He;yh(a,402653316)||yh(o,402653316)||(a=ay(a,t),o=ay(o,n));var p=void 0;if(yh(a,296,!0)&&yh(o,296,!0)?p=Re:yh(a,2112,!0)&&yh(o,2112,!0)?p=Be:yh(a,402653316,!0)||yh(o,402653316,!0)?p=Le:(Aa(a)||Aa(o))&&(p=a===ke||o===ke?ke:Ee),p&&!S(c))return p;if(!p){var f=402655727;return C((function(e,t){return yh(e,f)&&yh(t,f)})),Ee}return 63===c&&E(p),p;case 29:case 31:case 32:case 33:return S(c)&&(a=ep(ay(a,t)),o=ep(ay(o,n)),T((function(e,t){return Qd(e,t)||Qd(t,e)||Yd(e,et)&&Yd(t,et)}))),Ue;case 34:case 35:case 36:case 37:return T((function(e,t){return Th(e,t)||Th(t,e)})),Ue;case 101:return function(t,r,n,i){return n===He||i===He?He:(!Aa(n)&&vh(n,131068)&&_n(t,e.Diagnostics.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter),Aa(i)||wb(i)||Gd(i,Dt)||_n(r,e.Diagnostics.The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type),Ue)}(t,n,a,o);case 100:return function(t,r,n,i){return n===He||i===He?He:(n=ay(n,t),i=ay(i,r),vh(n,402665900)||yh(n,407109632)||_n(t,e.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol),vh(i,126091264)||_n(r,e.Diagnostics.The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter),Ue)}(t,n,a,o);case 55:case 75:var g=4194304&wf(a)?$u([gp(G?a:ep(o)),o]):a;return 75===c&&E(o),g;case 56:case 74:var m=8388608&wf(a)?$u([fp(a),o],2):a;return 74===c&&E(o),m;case 60:case 76:var y=262144&wf(a)?$u([hp(a),o],2):a;return 76===c&&E(o),y;case 62:var v=e.isBinaryExpression(t.parent)?e.getAssignmentDeclarationKind(t.parent):0;return function(t,r){if(2===t)for(var n=0,i=Bs(r);n1&&t.charCodeAt(r-1)>=48&&t.charCodeAt(r-1)<=57;)r--;for(var n=t.slice(0,r),i=1;;i++){var a=n+i;if(!zh(e,a))return a}}function Vh(e){var t=jy(e);if(t&&!t.typeParameters)return Mc(t)}function qh(t){var r=Wh(t);if(r)return r;if(67108864&t.flags&&ir){var n=ir[O(t)];if(n)return n}var i=Fr,a=Gh(t);Fr!==i&&((ir||(ir=[]))[O(t)]=a,e.setNodeFlags(t,67108864|t.flags));return a}function Wh(t){var r=e.skipParentheses(t);if(!e.isCallExpression(r)||105===r.expression.kind||e.isRequireCall(r,!0)||Ev(r)){if(e.isAssertionExpression(r)&&!e.isConstTypeReference(r.type))return ld(r.type);if(8===t.kind||10===t.kind||109===t.kind||94===t.kind)return Gh(t)}else{var n=e.isCallChain(r)?function(e){var t=Gh(e.expression),r=Ep(t,e.expression),n=Vh(t);return n&&Sp(n,e,r!==t)}(r):Vh(Zm(r.expression));if(n)return n}}function Hh(e){var t=Cn(e);if(t.contextFreeType)return t.contextFreeType;var r=e.contextualType;e.contextualType=Ee;try{return t.contextFreeType=Gh(e,4)}finally{e.contextualType=r}}function Gh(t,r,n){e.tracing.push(\"check\",\"checkExpression\",{kind:t.kind,pos:t.pos,end:t.end});var o=d;d=t,b=0;var s=jh(t,function(t,r,n){var o=t.kind;if(a)switch(o){case 221:case 208:case 209:a.throwIfCancellationRequested()}switch(o){case 78:return Ng(t);case 107:return Mg(t);case 105:return Bg(t);case 103:return Me;case 14:case 10:return rd(ad(t.text));case 8:return qS(t),rd(ad(+t.text));case 9:return function(t){if(!(e.isLiteralTypeNode(t.parent)||e.isPrefixUnaryExpression(t.parent)&&e.isLiteralTypeNode(t.parent.parent))&&q<7&&zS(t,e.Diagnostics.BigInt_literals_are_not_available_when_targeting_lower_than_ES2020))return!0}(t),rd(function(t){return ad({negative:!1,base10Value:e.parsePseudoBigInt(t.text)})}(t));case 109:return Ke;case 94:return je;case 218:return function(t){for(var r=[t.head.text],n=[],i=0,a=t.templateSpans;i=2||!e.hasRestParameter(t)||8388608&t.flags||e.nodeIsMissing(t.body))return;e.forEach(t.parameters,(function(t){t.name&&!e.isBindingPattern(t.name)&&t.name.escapedText===ce.escapedName&&dn(\"noEmit\",t,e.Diagnostics.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters)}))}(t);var n=e.getEffectiveReturnTypeNode(t);if($&&!n)switch(t.kind){case 170:_n(t,e.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type);break;case 169:_n(t,e.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type)}if(n){var a=e.getFunctionFlags(t);if(1==(5&a)){var o=ld(n);if(o===qe)_n(n,e.Diagnostics.A_generator_cannot_have_a_void_type_annotation);else{var s=wx(0,o,0!=(2&a))||Ee;Zd(th(s,wx(1,o,0!=(2&a))||s,wx(2,o,0!=(2&a))||Ne,!!(2&a)),o,n)}}else 2==(3&a)&&function(t,r){var n=ld(r);if(q>=2){if(n===ke)return;var i=ku(!0);if(i!==ct&&!fo(n,i))return void _n(r,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0,ca(vD(n)||qe))}else{if(function(t){xD(t&&e.getEntityNameFromTypeNode(t))}(r),n===ke)return;var a=e.getEntityNameFromTypeNode(r);if(void 0===a)return void _n(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,ca(n));var o=di(a,111551,!0),s=o?po(o):ke;if(s===ke)return void(78===a.kind&&\"Promise\"===a.escapedText&&go(n)===ku(!1)?_n(r,e.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option):_n(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a)));var c=(d=!0,Jt||(Jt=Eu(\"PromiseConstructorLike\",0,d))||it);if(c===it)return void _n(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a));if(!Zd(s,c,r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value))return;var u=a&&e.getFirstIdentifier(a),l=An(t.locals,u.escapedText,111551);if(l)return void _n(l.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,e.idText(u),e.entityNameToString(a))}var d;yD(n,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)}(t,n)}171!==t.kind&&308!==t.kind&&FD(t)}}function Zh(t){for(var r=new e.Map,n=0,i=t.members;n0&&r.declarations[0]!==t)return}var n=Wc(ki(t));if(n)for(var i=!1,a=!1,o=0,s=n.declarations;o=0)return void(r&&_n(r,e.Diagnostics.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method));Qr.push(t.id);var s=vD(o,r,n,i);if(Qr.pop(),!s)return;return a.awaitedTypeOfType=s}if(!function(e){var t=ka(e,\"then\");return!!t&&pc(If(t,2097152),0).length>0}(t))return a.awaitedTypeOfType=t;if(r){if(!n)return e.Debug.fail();_n(r,n,i)}}function DD(t){var r=vv(t);bv(r,t);var n=Mc(r);if(!(1&n.flags)){var i,a,o=pv(t);switch(t.parent.kind){case 252:i=$u([po(ki(t.parent)),qe]);break;case 160:i=qe,a=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any);break;case 163:i=qe,a=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any);break;case 165:case 167:case 168:i=$u([wu(Cb(t.parent)),qe]);break;default:return e.Debug.fail()}Zd(n,i,t,o,(function(){return a}))}}function xD(t){if(t){var r=e.getFirstIdentifier(t),n=2097152|(78===t.kind?788968:1920),i=Pn(r,r.escapedText,n,void 0,void 0,!0);i&&2097152&i.flags&&Oi(i)&&!Ub(ni(i))&&!oi(i)&&ci(i)}}function bD(t){var r=SD(t);r&&e.isEntityName(r)&&xD(r)}function SD(e){if(e)switch(e.kind){case 183:case 182:return ED(e.types);case 184:return ED([e.trueType,e.falseType]);case 186:case 192:return SD(e.type);case 173:return e.typeName}}function ED(t){for(var r,n=0,i=t;n=e.ModuleKind.ES2015)&&(VD(t,r,\"require\")||VD(t,r,\"exports\"))&&(!e.isModuleDeclaration(t)||1===e.getModuleInstanceState(t))){var n=Ca(t);297===n.kind&&e.isExternalOrCommonJsModule(n)&&dn(\"noEmit\",r,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,e.declarationNameToString(r),e.declarationNameToString(r))}}function YD(t,r){if(!(q>=4)&&VD(t,r,\"Promise\")&&(!e.isModuleDeclaration(t)||1===e.getModuleInstanceState(t))){var n=Ca(t);297===n.kind&&e.isExternalOrCommonJsModule(n)&&2048&n.flags&&dn(\"noEmit\",r,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,e.declarationNameToString(r),e.declarationNameToString(r))}}function XD(e){return e===Te?Ee:e===Pt?Nt:e}function QD(t){var r;if(CD(t),e.isBindingElement(t)||lb(t.type),t.name){if(158===t.name.kind&&(bm(t.name),t.initializer&&Nh(t.initializer)),198===t.kind){196===t.parent.kind&&q<99&&pS(t,4),t.propertyName&&158===t.propertyName.kind&&bm(t.propertyName);var n=t.parent.parent,i=Fa(n),a=t.propertyName||t.name;if(i&&!e.isBindingPattern(a)){var o=ul(a);if(Xo(o)){var s=dc(i,ts(o));s&&(Sy(s,void 0,!1),Qm(n,!!n.initializer&&105===n.initializer.kind,i,s))}}}if(e.isBindingPattern(t.name)&&(197===t.name.kind&&q<2&&V.downlevelIteration&&pS(t,512),e.forEach(t.name.elements,lb)),t.initializer&&e.isParameterDeclaration(t)&&e.nodeIsMissing(e.getContainingFunction(t).body))_n(t,e.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation);else if(e.isBindingPattern(t.name)){var c=t.initializer&&238!==t.parent.parent.kind,u=0===t.name.elements.length;if(c||u){var l=$a(t);if(c){var d=Nh(t.initializer);G&&u?oy(d,t):e_(d,$a(t),t,t.initializer)}u&&(e.isArrayBindingPattern(t.name)?ux(65,l,Pe,t):G&&oy(l,t))}}else{var _=ki(t);if(2097152&_.flags&&e.isRequireVariableDeclaration(t,!0))rb(t);else{var p=XD(po(_));if(t===_.valueDeclaration){var f=e.getEffectiveInitializer(t);if(f)e.isInJSFile(t)&&e.isObjectLiteralExpression(f)&&(0===f.properties.length||e.isPrototypeAccess(t.name))&&!!(null===(r=_.exports)||void 0===r?void 0:r.size)||238===t.parent.parent.kind||e_(Nh(f),p,t,f,void 0);_.declarations.length>1&&e.some(_.declarations,(function(r){return r!==t&&e.isVariableLike(r)&&!ZD(r,t)}))&&_n(t.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(t.name))}else{var g=XD($a(t));p===ke||g===ke||Vd(p,g)||67108864&_.flags||$D(_.valueDeclaration,p,t,g),t.initializer&&e_(Nh(t.initializer),g,t,t.initializer,void 0),ZD(t,_.valueDeclaration)||_n(t.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(t.name))}163!==t.kind&&162!==t.kind&&(fD(t),249!==t.kind&&198!==t.kind||function(t){if(0==(3&e.getCombinedNodeFlags(t))&&!e.isParameterDeclaration(t)&&(249!==t.kind||t.initializer)){var r=ki(t);if(1&r.flags){if(!e.isIdentifier(t.name))return e.Debug.fail();var n=Pn(t,t.name.escapedText,3,void 0,void 0,!1);if(n&&n!==r&&2&n.flags&&3&Ym(n)){var i=e.getAncestor(n.valueDeclaration,250),a=232===i.parent.kind&&i.parent.parent?i.parent.parent:void 0;if(!a||!(230===a.kind&&e.isFunctionLike(a.parent)||257===a.kind||256===a.kind||297===a.kind)){var o=oa(n);_n(t,e.Diagnostics.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,o,o)}}}}}(t),GD(t,t.name),YD(t,t.name),q<99&&VD(t,t.name,\"WeakMap\")&&Xr.push(t))}}}}function $D(t,r,n,i){var a=e.getNameOfDeclaration(n),o=163===n.kind||162===n.kind?e.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:e.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2,s=e.declarationNameToString(a),c=_n(a,o,s,ca(r),ca(i));t&&e.addRelatedInfo(c,e.createDiagnosticForNode(t,e.Diagnostics._0_was_also_declared_here,s))}function ZD(t,r){if(160===t.kind&&249===r.kind||249===t.kind&&160===r.kind)return!0;if(e.hasQuestionToken(t)!==e.hasQuestionToken(r))return!1;return e.getSelectedEffectiveModifierFlags(t,504)===e.getSelectedEffectiveModifierFlags(r,504)}function ex(t){e.tracing.push(\"check\",\"checkVariableDeclaration\",{kind:t.kind,pos:t.pos,end:t.end}),function(t){if(238!==t.parent.parent.kind&&239!==t.parent.parent.kind)if(8388608&t.flags)OS(t);else if(!t.initializer){if(e.isBindingPattern(t.name)&&!e.isBindingPattern(t.parent))return zS(t,e.Diagnostics.A_destructuring_declaration_must_have_an_initializer);if(e.isVarConst(t))return zS(t,e.Diagnostics.const_declarations_must_be_initialized)}if(t.exclamationToken&&(232!==t.parent.parent.kind||!t.type||t.initializer||8388608&t.flags)){var r=t.initializer?e.Diagnostics.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:e.Diagnostics.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return zS(t.exclamationToken,r)}var n=e.getEmitModuleKind(V);n=1&&ex(t.declarations[0])}function cx(e){return ux(e.awaitModifier?15:13,Zm(e.expression),Pe,e.expression)}function ux(e,t,r,n){return Aa(t)?t:lx(e,t,r,n,!0)||Ee}function lx(t,r,n,i,a){var o=0!=(2&t);if(r!==We){var s=q>=2,c=!s&&V.downlevelIteration,u=V.noUncheckedIndexedAccess&&!!(128&t);if(s||c||o){var l=mx(r,t,s?i:void 0);if(a&&l){var d=8&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:32&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:64&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:16&t?e.Diagnostics.Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:void 0;d&&Zd(n,l.nextType,i,d)}if(l||s)return u?Rf(l&&l.yieldType):l&&l.yieldType}var _=r,p=!1,f=!1;if(4&t){if(1048576&_.flags){var g=r.types,m=e.filter(g,(function(e){return!(402653316&e.flags)}));m!==g&&(_=$u(m,2))}else 402653316&_.flags&&(_=We);if((f=_!==r)&&(q<1&&i&&(_n(i,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher),p=!0),131072&_.flags))return u?Rf(Le):Le}if(!H_(_)){if(i&&!p){var y=dx(t,0,r,void 0),v=4&t&&!f?c?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:y?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators,!1]:[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type,!0]:c?[e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:y?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators,!1]:[e.Diagnostics.Type_0_is_not_an_array_type,!0],h=v[0];gn(i,v[1]&&!!gD(_),h,ca(_))}return f?u?Rf(Le):Le:void 0}var D=yc(_,1);return f&&D?402653316&D.flags&&!V.noUncheckedIndexedAccess?Le:$u(u?[D,Le,Pe]:[D,Le],2):128&t?Rf(D):D}Sx(i,r,o)}function dx(e,t,r,n){if(!Aa(r)){var i=mx(r,e,n);return i&&i[J(t)]}}function _x(e,t,r){if(void 0===e&&(e=We),void 0===t&&(t=We),void 0===r&&(r=Ne),67359327&e.flags&&180227&t.flags&&180227&r.flags){var n=Zc([e,t,r]),i=gr.get(n);return i||(i={yieldType:e,returnType:t,nextType:r},gr.set(n,i)),i}return{yieldType:e,returnType:t,nextType:r}}function px(t){for(var r,n,i,a=0,o=t;an)return!1;for(var l=0;l1)return JS(o.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class);r=!0}else{if(e.Debug.assert(116===o.token),n)return JS(o,e.Diagnostics.implements_clause_already_seen);n=!0}SS(o)}})(t)||vS(t.typeParameters,r)}(t),CD(t),t.name&&(jx(t.name,e.Diagnostics.Class_name_cannot_be_0),GD(t,t.name),YD(t,t.name),8388608&t.flags||function(t){1===q&&\"Object\"===t.escapedText&&W>a;case 49:return i>>>a;case 47:return i<1&&L(t,!!V.preserveConstEnums||!!V.isolatedModules)){var s=function(t){for(var r=0,n=t.declarations;r1)for(var o=0,s=n;o=232&&r<=248&&t.flowNode&&!yg(t.flowNode)&&fn(!1===V.allowUnreachableCode,t,e.Diagnostics.Unreachable_code_detected);switch(r){case 159:return Yh(t);case 160:return Xh(t);case 163:return tD(t);case 162:return function(t){return e.isPrivateIdentifier(t.name)&&_n(t,e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),tD(t)}(t);case 174:case 175:case 169:case 170:case 171:return $h(t);case 165:case 164:return function(t){wS(t)||TS(t.name),e.isPrivateIdentifier(t.name)&&_n(t,e.Diagnostics.A_method_cannot_be_named_with_a_private_identifier),AD(t),e.hasSyntacticModifier(t,128)&&165===t.kind&&t.body&&_n(t,e.Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract,e.declarationNameToString(t.name))}(t);case 166:return rD(t);case 167:case 168:return nD(t);case 173:return cD(t);case 172:return function(t){var r=function(e){switch(e.parent.kind){case 209:case 169:case 251:case 208:case 174:case 165:case 164:var t=e.parent;if(e===t.type)return t}}(t);if(r){var n=Ac(r),i=Oc(n);if(i){lb(t.type);var a=t.parameterName;if(0===i.kind||2===i.kind)sd(a);else if(i.parameterIndex>=0)K(n)&&i.parameterIndex===n.parameters.length-1?_n(a,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter):i.type&&Zd(i.type,po(n.parameters[i.parameterIndex]),t.type,void 0,(function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type)}));else if(a){for(var o=!1,s=0,c=r.parameters;s0),n.length>1&&_n(n[1],e.Diagnostics.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag);var i=kD(t.class.expression),a=e.getClassExtendsHeritageElement(r);if(a){var o=kD(a.expression);o&&i.escapedText!==o.escapedText&&_n(i,e.Diagnostics.JSDoc_0_1_does_not_match_the_extends_2_clause,e.idText(t.tagName),e.idText(i),e.idText(o))}}else _n(r,e.Diagnostics.JSDoc_0_is_not_attached_to_a_class,e.idText(t.tagName))}(t);case 316:return function(t){var r=e.getEffectiveJSDocHost(t);r&&(e.isClassDeclaration(r)||e.isClassExpression(r))||_n(r,e.Diagnostics.JSDoc_0_is_not_attached_to_a_class,e.idText(t.tagName))}(t);case 331:case 324:case 325:return function(t){t.typeExpression||_n(t.name,e.Diagnostics.JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags),t.name&&jx(t.name,e.Diagnostics.Type_alias_name_cannot_be_0),lb(t.typeExpression)}(t);case 330:return function(e){lb(e.constraint);for(var t=0,r=e.typeParameters;t-1&&n1){var n=e.isEnumConst(t);e.forEach(r.declarations,(function(t){e.isEnumDeclaration(t)&&e.isEnumConst(t)!==n&&_n(e.getNameOfDeclaration(t),e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const)}))}var a=!1;e.forEach(r.declarations,(function(t){if(255!==t.kind)return!1;var r=t;if(!r.members.length)return!1;var n=r.members[0];n.initializer||(a?_n(n.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):a=!0)}))}}}(t);case 256:return Zx(t);case 261:return ib(t);case 260:return function(t){if(!ob(t,e.Diagnostics.An_import_declaration_can_only_be_used_in_a_namespace_or_module)&&(gS(t),e.isInternalModuleImportEqualsDeclaration(t)||tb(t)))if(nb(t),e.hasSyntacticModifier(t,1)&&si(t),272!==t.moduleReference.kind){var r=ni(ki(t));if(r!==be){if(111551&r.flags){var n=e.getFirstIdentifier(t.moduleReference);1920&di(n,112575).flags||_n(n,e.Diagnostics.Module_0_is_hidden_by_a_local_declaration_with_the_same_name,e.declarationNameToString(n))}788968&r.flags&&jx(t.name,e.Diagnostics.Import_name_cannot_be_0)}}else W>=e.ModuleKind.ES2015&&!(8388608&t.flags)&&zS(t,e.Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead)}(t);case 267:return ab(t);case 266:return function(t){if(!ob(t,e.Diagnostics.An_export_assignment_can_only_be_used_in_a_module)){var r=297===t.parent.kind?t.parent:t.parent.parent;if(256!==r.kind||e.isAmbientModule(r)){if(!gS(t)&&e.hasEffectiveModifiers(t)&&JS(t,e.Diagnostics.An_export_assignment_cannot_have_modifiers),78===t.expression.kind){var n=t.expression,i=di(n,67108863,!0,!0,t);if(i){Fg(i,n);var a=2097152&i.flags?ni(i):i;(a===be||111551&a.flags)&&Nh(t.expression)}else Nh(t.expression);e.getEmitDeclarations(V)&&xa(t.expression,!0)}else Nh(t.expression);ub(r),8388608&t.flags&&!e.isEntityNameExpression(t.expression)&&zS(t.expression,e.Diagnostics.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context),!t.isExportEquals||8388608&t.flags||(W>=e.ModuleKind.ES2015?zS(t,e.Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead):W===e.ModuleKind.System&&zS(t,e.Diagnostics.Export_assignment_is_not_supported_when_module_flag_is_system))}else t.isExportEquals?_n(t,e.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace):_n(t,e.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module)}}(t);case 231:case 248:return void VS(t);case 271:(function(e){CD(e)})(t)}}(t),d=r}}function db(t){e.isInJSFile(t)||zS(t,e.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments)}function _b(t){var r=Cn(e.getSourceFileOfNode(t));if(!(1&r.flags)){r.deferredNodes=r.deferredNodes||new e.Map;var n=O(t);r.deferredNodes.set(n,t)}}function pb(t){var r=d;switch(d=t,b=0,t.kind){case 203:case 204:case 205:case 161:case 275:Py(t);break;case 208:case 209:case 165:case 164:!function(t){e.Debug.assert(165!==t.kind||e.isObjectLiteralMethod(t));var r=e.getFunctionFlags(t),n=Lc(t);if(sh(t,n),t.body)if(e.getEffectiveReturnTypeNode(t)||Mc(Ac(t)),230===t.body.kind)lb(t.body);else{var i=Gh(t.body),a=n&&Mx(n,r);a&&e_(2==(3&r)?yD(i,t.body,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):i,a,t.body,t.body)}}(t);break;case 167:case 168:nD(t);break;case 221:!function(t){e.forEach(t.members,lb),FD(t)}(t);break;case 274:!function(e){qm(e)}(t);break;case 273:!function(e){qm(e.openingElement),Am(e.closingElement.tagName)?Om(e.closingElement):Gh(e.closingElement.tagName),Nm(e)}(t)}d=r}function fb(r){var n=[\"check\",\"checkSourceFile\",{path:r.path}];e.tracing.begin.apply(e.tracing,n),e.performance.mark(\"beforeCheck\"),function(r){var n=Cn(r);if(!(1&n.flags)){if(e.skipTypeChecking(r,V,t))return;!function(t){!!(8388608&t.flags)&&function(t){for(var r=0,n=t.statements;r0?e.concatenate(o,a):a}return e.forEach(t.getSourceFiles(),fb),$r.getDiagnostics()}(r)}finally{a=void 0}}function vb(){if(!i)throw new Error(\"Trying to get diagnostics from a type checker that does not produce them.\")}function hb(e){switch(e.kind){case 159:case 252:case 253:case 254:case 255:case 331:case 324:case 325:return!0;case 262:return e.isTypeOnly;case 265:case 270:return e.parent.parent.isTypeOnly;default:return!1}}function Db(e){for(;157===e.parent.kind;)e=e.parent;return 173===e.parent.kind}function xb(t,r){for(var n;(t=e.getContainingClass(t))&&!(n=r(t)););return n}function bb(e,t){return!!xb(e,(function(e){return e===t}))}function Sb(e){return void 0!==function(e){for(;157===e.parent.kind;)e=e.parent;return 260===e.parent.kind?e.parent.moduleReference===e?e.parent:void 0:266===e.parent.kind&&e.parent.expression===e?e.parent:void 0}(e)}function Eb(t){if(e.isDeclarationName(t))return ki(t.parent);if(e.isInJSFile(t)&&201===t.parent.kind&&t.parent===t.parent.parent.left&&!e.isPrivateIdentifier(t)){var r=function(t){switch(e.getAssignmentDeclarationKind(t.parent.parent)){case 1:case 3:return ki(t.parent);case 4:case 2:case 5:return ki(t.parent.parent)}}(t);if(r)return r}if(266===t.parent.kind&&e.isEntityNameExpression(t)){var n=di(t,2998271,!0);if(n&&n!==be)return n}else if(!e.isPropertyAccessExpression(t)&&!e.isPrivateIdentifier(t)&&Sb(t)){var i=e.getAncestor(t,260);return e.Debug.assert(void 0!==i),ui(t,!0)}if(!e.isPropertyAccessExpression(t)&&!e.isPrivateIdentifier(t)){var a=function(t){for(var r=t.parent;e.isQualifiedName(r);)t=r,r=r.parent;if(r&&195===r.kind&&r.qualifier===t)return r}(t);if(a){ld(a);var o=Cn(t).resolvedSymbol;return o===be?void 0:o}}for(;e.isRightSideOfQualifiedNameOrPropertyAccess(t);)t=t.parent;if(function(e){for(;201===e.parent.kind;)e=e.parent;return 223===e.parent.kind}(t)){var s=0;223===t.parent.kind?(s=788968,e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)&&(s|=111551)):s=1920,s|=2097152;var c=e.isEntityNameExpression(t)?di(t,s):void 0;if(c)return c}if(326===t.parent.kind)return e.getParameterSymbolFromJSDoc(t.parent);if(159===t.parent.kind&&330===t.parent.parent.kind){e.Debug.assert(!e.isInJSFile(t));var u=e.getTypeParameterFromJsDoc(t.parent);return u&&u.symbol}if(e.isExpressionNode(t)){if(e.nodeIsMissing(t))return;if(78===t.kind){if(e.isJSXTagName(t)&&Am(t)){var l=Om(t.parent);return l===be?void 0:l}return di(t,111551,!1,!0)}if(201===t.kind||157===t.kind){var d=Cn(t);return d.resolvedSymbol||(201===t.kind?sy(t):cy(t)),d.resolvedSymbol}}else{if(Db(t))return di(t,s=173===t.parent.kind?788968:1920,!1,!0);if(function(e){for(;157===e.parent.kind;)e=e.parent;for(;201===e.parent.kind;)e=e.parent;return 302===e.parent.kind}(t))return di(t,s=901119,!1,!0,e.getHostSignatureFromJSDoc(t))}return 172===t.parent.kind?di(t,1):void 0}function Tb(t,r){if(297===t.kind)return e.isExternalModule(t)?Ci(t.symbol):void 0;var n=t.parent,i=n.parent;if(!(16777216&t.flags)){if(B(t)){var a=ki(n);return e.isImportOrExportSpecifier(t.parent)&&t.parent.propertyName===t?Em(a):a}if(e.isLiteralComputedPropertyDeclarationName(t))return ki(n.parent);if(78===t.kind){if(Sb(t))return Eb(t);if(198===n.kind&&196===i.kind&&t===n.propertyName){var o=dc(Cb(i),t.escapedText);if(o)return o}}switch(t.kind){case 78:case 79:case 201:case 157:return Eb(t);case 107:var s=e.getThisContainer(t,!1);if(e.isFunctionLike(s)){var c=Ac(s);if(c.thisParameter)return c.thisParameter}if(e.isInExpressionContext(t))return Gh(t).symbol;case 187:return sd(t).symbol;case 105:return Gh(t).symbol;case 132:var u=t.parent;return u&&166===u.kind?u.parent.symbol:void 0;case 10:case 14:if(e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t||(261===t.parent.kind||267===t.parent.kind)&&t.parent.moduleSpecifier===t||e.isInJSFile(t)&&e.isRequireCall(t.parent,!1)||e.isImportCall(t.parent)||e.isLiteralTypeNode(t.parent)&&e.isLiteralImportTypeNode(t.parent.parent)&&t.parent.parent.argument===t.parent)return pi(t,t,r);if(e.isCallExpression(n)&&e.isBindableObjectDefinePropertyCall(n)&&n.arguments[1]===t)return ki(n);case 8:var l=e.isElementAccessExpression(n)?n.argumentExpression===t?qh(n.expression):void 0:e.isLiteralTypeNode(n)&&e.isIndexedAccessTypeNode(i)?ld(i.objectType):void 0;return l&&dc(l,e.escapeLeadingUnderscores(t.text));case 87:case 97:case 38:case 83:return ki(t.parent);case 195:return e.isLiteralImportTypeNode(t)?Tb(t.argument.literal,r):void 0;case 92:return e.isExportAssignment(t.parent)?e.Debug.checkDefined(t.parent.symbol):void 0;default:return}}}function Cb(t){if(e.isSourceFile(t)&&!e.isExternalModule(t))return ke;if(16777216&t.flags)return ke;var r,n=e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments(t),i=n&&Po(ki(n.class));if(e.isPartOfTypeNode(t)){var a=ld(t);return i?os(a,i.thisType):a}if(e.isExpressionNode(t))return Ab(t);if(i&&!n.isImplements){var o=e.firstOrUndefined(Ao(i));return o?os(o,i.thisType):ke}if(hb(t))return Jo(r=ki(t));if(function(t){return 78===t.kind&&hb(t.parent)&&e.getNameOfDeclaration(t.parent)===t}(t))return(r=Tb(t))?Jo(r):ke;if(e.isDeclaration(t))return po(r=ki(t));if(B(t))return(r=Tb(t))?po(r):ke;if(e.isBindingPattern(t))return Ba(t.parent,!0)||ke;if(Sb(t)&&(r=Tb(t))){var s=Jo(r);return s!==ke?s:po(r)}return ke}function kb(t){if(e.Debug.assert(200===t.kind||199===t.kind),239===t.parent.kind)return Sh(t,cx(t.parent)||ke);if(216===t.parent.kind)return Sh(t,qh(t.parent.right)||ke);if(288===t.parent.kind){var r=e.cast(t.parent.parent,e.isObjectLiteralExpression);return xh(r,kb(r)||ke,e.indexOfNode(r.properties,t.parent))}var n=e.cast(t.parent,e.isArrayLiteralExpression),i=kb(n)||ke,a=ux(65,i,Pe,t.parent)||ke;return bh(n,i,n.elements.indexOf(t),a)}function Ab(t){return e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),nd(qh(t))}function Fb(t){var r=ki(t.parent);return e.hasSyntacticModifier(t,32)?po(r):Jo(r)}function Nb(t){var r=t.name;switch(r.kind){case 78:return ad(e.idText(r));case 8:case 10:return ad(r.text);case 158:var n=bm(r);return yh(n,12288)?n:Le;default:return e.Debug.fail(\"Unsupported property name.\")}}function Pb(t){t=tc(t);var r=e.createSymbolTable(Ks(t)),n=pc(t,0).length?xt:pc(t,1).length?bt:void 0;return n&&e.forEach(Ks(n),(function(e){r.has(e.escapedName)||r.set(e.escapedName,e)})),zi(r)}function wb(t){return e.typeHasCallOrConstructSignatures(t,le)}function Ib(t){if(e.isGeneratedIdentifier(t))return!1;var r=e.getParseTreeNode(t,e.isIdentifier);if(!r)return!1;var n=r.parent;return!!n&&(!((e.isPropertyAccessExpression(n)||e.isPropertyAssignment(n))&&n.name===r)&&oS(r)===ce)}function Ob(t){var r=pi(t.parent,t);if(!r||e.isShorthandAmbientModuleSymbol(r))return!0;var n=hi(r),i=Tn(r=yi(r));return void 0===i.exportsSomeValue&&(i.exportsSomeValue=n?!!(111551&r.flags):e.forEachEntry(Si(r),(function(e){return(e=ri(e))&&!!(111551&e.flags)}))),i.exportsSomeValue}function Mb(t,r){var n=e.getParseTreeNode(t,e.isIdentifier);if(n){var i=oS(n,function(t){return e.isModuleOrEnumDeclaration(t.parent)&&t===t.parent.name}(n));if(i){if(1048576&i.flags){var a=Ci(i.exportSymbol);if(!r&&944&a.flags&&!(3&a.flags))return;i=a}var o=Ai(i);if(o){if(512&o.flags&&297===o.valueDeclaration.kind){var s=o.valueDeclaration;return s!==e.getSourceFileOfNode(n)?void 0:s}return e.findAncestor(n.parent,(function(t){return e.isModuleOrEnumDeclaration(t)&&ki(t)===o}))}}}}function Lb(t){if(t.generatedImportReference)return t.generatedImportReference;var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=oS(r);if(ti(n,111551)&&!oi(n))return zn(n)}}function Rb(t){if(418&t.flags&&!e.isSourceFile(t.valueDeclaration)){var r=Tn(t);if(void 0===r.isDeclarationWithCollidingName){var n=e.getEnclosingBlockScopeContainer(t.valueDeclaration);if(e.isStatementWithLocals(n)||function(t){return e.isBindingElement(t.valueDeclaration)&&287===e.walkUpBindingElementsAndPatterns(t.valueDeclaration).parent.kind}(t)){var i=Cn(t.valueDeclaration);if(Pn(n.parent,t.escapedName,111551,void 0,void 0,!1))r.isDeclarationWithCollidingName=!0;else if(262144&i.flags){var a=524288&i.flags,o=e.isIterationStatement(n,!1),s=230===n.kind&&e.isIterationStatement(n.parent,!1);r.isDeclarationWithCollidingName=!(e.isBlockScopedContainerTopLevel(n)||a&&(o||s))}else r.isDeclarationWithCollidingName=!1}}return r.isDeclarationWithCollidingName}return!1}function Bb(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=oS(r);if(n&&Rb(n))return n.valueDeclaration}}}function jb(t){var r=e.getParseTreeNode(t,e.isDeclaration);if(r){var n=ki(r);if(n)return Rb(n)}return!1}function Jb(t){switch(t.kind){case 260:return zb(ki(t)||be);case 262:case 263:case 265:case 270:var r=ki(t)||be;return zb(r)&&!oi(r);case 267:var n=t.exportClause;return!!n&&(e.isNamespaceExport(n)||e.some(n.elements,Jb));case 266:return!t.expression||78!==t.expression.kind||zb(ki(t)||be)}return!1}function Kb(t){var r=e.getParseTreeNode(t,e.isImportEqualsDeclaration);return!(void 0===r||297!==r.parent.kind||!e.isInternalModuleImportEqualsDeclaration(r))&&(zb(ki(r))&&r.moduleReference&&!e.nodeIsMissing(r.moduleReference))}function zb(e){var t=ni(e);return t===be||!!(111551&t.flags)&&(V.preserveConstEnums||!Ub(t))}function Ub(e){return Dh(e)||!!e.constEnumOnlyModule}function Vb(t,r){if(Un(t)){var n=ki(t);if(n&&Tn(n).referenced)return!0;var i=Tn(n).target;if(i&&1&e.getEffectiveModifierFlags(t)&&111551&i.flags&&(V.preserveConstEnums||!Ub(i)))return!0}return!!r&&!!e.forEachChild(t,(function(e){return Vb(e,r)}))}function qb(t){if(e.nodeIsPresent(t.body)){if(e.isGetAccessor(t)||e.isSetAccessor(t))return!1;var r=Pc(ki(t));return r.length>1||1===r.length&&r[0].declaration!==t}return!1}function Wb(t){return!(!G||Sc(t)||e.isJSDocParameterTag(t)||!t.initializer||e.hasSyntacticModifier(t,92))}function Hb(t){return G&&Sc(t)&&!t.initializer&&e.hasSyntacticModifier(t,92)}function Gb(t){var r=e.getParseTreeNode(t,e.isFunctionDeclaration);if(!r)return!1;var n=ki(r);return!!(n&&16&n.flags)&&!!e.forEachEntry(bi(n),(function(t){return 111551&t.flags&&t.valueDeclaration&&e.isPropertyAccessExpression(t.valueDeclaration)}))}function Yb(t){var r=e.getParseTreeNode(t,e.isFunctionDeclaration);if(!r)return e.emptyArray;var n=ki(r);return n&&Ks(po(n))||e.emptyArray}function Xb(e){return Cn(e).flags||0}function Qb(e){return Yx(e.parent),Cn(e).enumMemberValue}function $b(e){switch(e.kind){case 291:case 201:case 202:return!0}return!1}function Zb(t){if(291===t.kind)return Qb(t);var r=Cn(t).resolvedSymbol;if(r&&8&r.flags){var n=r.valueDeclaration;if(e.isEnumConst(n.parent))return Qb(n)}}function eS(e){return!!(524288&e.flags)&&pc(e,0).length>0}function tS(t,r){var n,i=e.getParseTreeNode(t,e.isEntityName);if(!i)return e.TypeReferenceSerializationKind.Unknown;if(r&&!(r=e.getParseTreeNode(r)))return e.TypeReferenceSerializationKind.Unknown;var a=di(i,111551,!0,!0,r),o=(null===(n=null==a?void 0:a.declarations)||void 0===n?void 0:n.every(e.isTypeOnlyImportOrExportDeclaration))||!1,s=a&&2097152&a.flags?ni(a):a,c=di(i,788968,!0,!1,r);if(s&&s===c){var u=Au(!1);if(u&&s===u)return e.TypeReferenceSerializationKind.Promise;var l=po(s);if(l&&bo(l))return o?e.TypeReferenceSerializationKind.TypeWithCallSignature:e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue}if(!c)return o?e.TypeReferenceSerializationKind.ObjectType:e.TypeReferenceSerializationKind.Unknown;var d=Jo(c);return d===ke?o?e.TypeReferenceSerializationKind.ObjectType:e.TypeReferenceSerializationKind.Unknown:3&d.flags?e.TypeReferenceSerializationKind.ObjectType:yh(d,245760)?e.TypeReferenceSerializationKind.VoidNullableOrNeverType:yh(d,528)?e.TypeReferenceSerializationKind.BooleanType:yh(d,296)?e.TypeReferenceSerializationKind.NumberLikeType:yh(d,2112)?e.TypeReferenceSerializationKind.BigIntLikeType:yh(d,402653316)?e.TypeReferenceSerializationKind.StringLikeType:ap(d)?e.TypeReferenceSerializationKind.ArrayLikeType:yh(d,12288)?e.TypeReferenceSerializationKind.ESSymbolType:eS(d)?e.TypeReferenceSerializationKind.TypeWithCallSignature:U_(d)?e.TypeReferenceSerializationKind.ArrayLikeType:e.TypeReferenceSerializationKind.ObjectType}function rS(t,r,n,i,a){var o=e.getParseTreeNode(t,e.isVariableLikeOrAccessor);if(!o)return e.factory.createToken(128);var s=ki(o),c=!s||133120&s.flags?ke:tp(po(s));return 8192&c.flags&&c.symbol===s&&(n|=1048576),a&&(c=vp(c)),ne.typeToTypeNode(c,r,1024|n,i)}function nS(t,r,n,i){var a=e.getParseTreeNode(t,e.isFunctionLike);if(!a)return e.factory.createToken(128);var o=Ac(a);return ne.typeToTypeNode(Mc(o),r,1024|n,i)}function iS(t,r,n,i){var a=e.getParseTreeNode(t,e.isExpression);if(!a)return e.factory.createToken(128);var o=Ip(Ab(a));return ne.typeToTypeNode(o,r,1024|n,i)}function aS(t){return ie.has(e.escapeLeadingUnderscores(t))}function oS(t,r){var n=Cn(t).resolvedSymbol;if(n)return n;var i=t;if(r){var a=t.parent;e.isDeclaration(a)&&t===a.name&&(i=Ca(a))}return Pn(i,t.escapedText,3257279,void 0,void 0,!0)}function sS(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=oS(r);if(n)return Ii(n).valueDeclaration}}}function cS(t){return!!(e.isDeclarationReadonly(t)||e.isVariableDeclaration(t)&&e.isVarConst(t))&&id(po(ki(t)))}function uS(t,r){return function(t,r,n){var i=1024&t.flags?ne.symbolToExpression(t.symbol,111551,r,void 0,n):t===Ke?e.factory.createTrue():t===je&&e.factory.createFalse();if(i)return i;var a=t.value;return\"object\"==typeof a?e.factory.createBigIntLiteral(a):\"number\"==typeof a?e.factory.createNumericLiteral(a):e.factory.createStringLiteral(a)}(po(ki(t)),t,r)}function lS(t){return t?(ln(t),e.getSourceFileOfNode(t).localJsxFactory||or):or}function dS(t){if(t){var r=e.getSourceFileOfNode(t);if(r){if(r.localJsxFragmentFactory)return r.localJsxFragmentFactory;var n=r.pragmas.get(\"jsxfrag\"),i=e.isArray(n)?n[0]:n;if(i)return r.localJsxFragmentFactory=e.parseIsolatedEntityName(i.arguments.factory,q),r.localJsxFragmentFactory}}if(V.jsxFragmentFactory)return e.parseIsolatedEntityName(V.jsxFragmentFactory,q)}function _S(t){var r=256===t.kind?e.tryCast(t.name,e.isStringLiteral):e.getExternalModuleName(t),n=fi(r,r,void 0);if(n)return e.getDeclarationOfKind(n,297)}function pS(t,r){if((s&r)!==r&&V.importHelpers){var n=e.getSourceFileOfNode(t);if(e.isEffectiveExternalModule(n,V)&&!(8388608&t.flags)){var i=function(t,r){l||(l=gi(t,e.externalHelpersModuleNameText,e.Diagnostics.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,r)||be);return l}(n,t);if(i!==be)for(var a=r&~s,o=1;o<=4194304;o<<=1)if(a&o){var c=fS(o);An(i.exports,e.escapeLeadingUnderscores(c),111551)||_n(t,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,c)}s|=r}}}function fS(t){switch(t){case 1:return\"__extends\";case 2:return\"__assign\";case 4:return\"__rest\";case 8:return\"__decorate\";case 16:return\"__metadata\";case 32:return\"__param\";case 64:return\"__awaiter\";case 128:return\"__generator\";case 256:return\"__values\";case 512:return\"__read\";case 1024:return\"__spread\";case 2048:return\"__spreadArrays\";case 4096:return\"__await\";case 8192:return\"__asyncGenerator\";case 16384:return\"__asyncDelegator\";case 32768:return\"__asyncValues\";case 65536:return\"__exportStar\";case 131072:return\"__importStar\";case 262144:return\"__importDefault\";case 524288:return\"__makeTemplateObject\";case 1048576:return\"__classPrivateFieldGet\";case 2097152:return\"__classPrivateFieldSet\";case 4194304:return\"__createBinding\";default:return e.Debug.fail(\"Unrecognized helper\")}}function gS(t){return function(t){if(!t.decorators)return!1;if(!e.nodeCanBeDecorated(t,t.parent,t.parent.parent))return 165!==t.kind||e.nodeIsPresent(t.body)?JS(t,e.Diagnostics.Decorators_are_not_valid_here):JS(t,e.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload);if(167===t.kind||168===t.kind){var r=e.getAllAccessorDeclarations(t.parent.members,t);if(r.firstAccessor.decorators&&t===r.secondAccessor)return JS(t,e.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}return!1}(t)||function(t){var r,n,i,a,o=function(t){return!!t.modifiers&&(function(t){switch(t.kind){case 167:case 168:case 166:case 163:case 162:case 165:case 164:case 171:case 256:case 261:case 260:case 267:case 266:case 208:case 209:case 160:return!1;default:if(257===t.parent.kind||297===t.parent.kind)return!1;switch(t.kind){case 251:return mS(t,129);case 252:return mS(t,125);case 253:case 232:case 254:return!0;case 255:return mS(t,84);default:return e.Debug.fail(),!1}}}(t)?JS(t,e.Diagnostics.Modifiers_cannot_appear_here):void 0)}(t);if(void 0!==o)return o;for(var s=0,c=0,u=t.modifiers;c1||e.modifiers[0].kind!==t}function yS(t,r){return void 0===r&&(r=e.Diagnostics.Trailing_comma_not_allowed),!(!t||!t.hasTrailingComma)&&KS(t[0],t.end-\",\".length,\",\".length,r)}function vS(t,r){if(t&&0===t.length){var n=t.pos-\"<\".length;return KS(r,n,e.skipTrivia(r.text,t.end)+\">\".length-n,e.Diagnostics.Type_parameter_list_cannot_be_empty)}return!1}function hS(t){if(q>=3){var n=t.body&&e.isBlock(t.body)&&e.findUseStrictPrologue(t.body.statements);if(n){var i=(o=t.parameters,e.filter(o,(function(t){return!!t.initializer||e.isBindingPattern(t.name)||e.isRestParameter(t)})));if(e.length(i)){e.forEach(i,(function(t){e.addRelatedInfo(_n(t,e.Diagnostics.This_parameter_is_not_allowed_with_use_strict_directive),e.createDiagnosticForNode(n,e.Diagnostics.use_strict_directive_used_here))}));var a=i.map((function(t,r){return 0===r?e.createDiagnosticForNode(t,e.Diagnostics.Non_simple_parameter_declared_here):e.createDiagnosticForNode(t,e.Diagnostics.and_here)}));return e.addRelatedInfo.apply(void 0,r([_n(n,e.Diagnostics.use_strict_directive_cannot_be_used_with_non_simple_parameter_list)],a)),!0}}}var o;return!1}function DS(t){var r=e.getSourceFileOfNode(t);return gS(t)||vS(t.typeParameters,r)||function(t){for(var r=!1,n=t.length,i=0;i\".length-i,e.Diagnostics.Type_argument_list_cannot_be_empty)}return!1}(t,r)}function bS(t){return function(t){if(t)for(var r=0,n=t;r1){r=238===t.kind?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return JS(a.declarations[1],r)}var s=o[0];if(s.initializer){var r=238===t.kind?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return zS(s.name,r)}if(s.type)return zS(s,r=238===t.kind?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation)}}return!1}function NS(t){if(t.parameters.length===(167===t.kind?1:2))return e.getThisParameter(t)}function PS(t,r){if(function(t){return e.isDynamicName(t)&&!Qo(t)}(t))return zS(t,r)}function wS(t){if(DS(t))return!0;if(165===t.kind){if(200===t.parent.kind){if(t.modifiers&&(1!==t.modifiers.length||129!==e.first(t.modifiers).kind))return JS(t,e.Diagnostics.Modifiers_cannot_appear_here);if(kS(t.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional))return!0;if(AS(t.exclamationToken,e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context))return!0;if(void 0===t.body)return KS(t,t.end-1,\";\".length,e.Diagnostics._0_expected,\"{\")}if(CS(t))return!0}if(e.isClassLike(t.parent)){if(8388608&t.flags)return PS(t.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(165===t.kind&&!t.body)return PS(t.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else{if(253===t.parent.kind)return PS(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(177===t.parent.kind)return PS(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}function IS(t){return e.isStringOrNumericLiteralLike(t)||214===t.kind&&40===t.operator&&8===t.operand.kind}function OS(t){var r,n=t.initializer;if(n){var i=!(IS(n)||function(t){if((e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t)&&IS(t.argumentExpression))&&e.isEntityNameExpression(t.expression))return!!(1024&Nh(t).flags)}(n)||109===n.kind||94===n.kind||(r=n,9===r.kind||214===r.kind&&40===r.operator&&9===r.operand.kind)),a=e.isDeclarationReadonly(t)||e.isVariableDeclaration(t)&&e.isVarConst(t);if(!a||t.type)return zS(n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts);if(i)return zS(n,e.Diagnostics.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference);if(!a||i)return zS(n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}}function MS(t){if(78===t.kind){if(\"__esModule\"===e.idText(t))return function(t,r,n,i,a,o){if(!jS(e.getSourceFileOfNode(r)))return dn(t,r,n,i,a,o),!0;return!1}(\"noEmit\",t,e.Diagnostics.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules)}else for(var r=0,n=t.elements;r0}function JS(t,r,n,i,a){var o=e.getSourceFileOfNode(t);if(!jS(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);return $r.add(e.createFileDiagnostic(o,s.start,s.length,r,n,i,a)),!0}return!1}function KS(t,r,n,i,a,o,s){var c=e.getSourceFileOfNode(t);return!jS(c)&&($r.add(e.createFileDiagnostic(c,r,n,i,a,o,s)),!0)}function zS(t,r,n,i,a){return!jS(e.getSourceFileOfNode(t))&&($r.add(e.createDiagnosticForNode(t,r,n,i,a)),!0)}function US(t){return 253!==t.kind&&254!==t.kind&&261!==t.kind&&260!==t.kind&&267!==t.kind&&266!==t.kind&&259!==t.kind&&!e.hasSyntacticModifier(t,515)&&JS(t,e.Diagnostics.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier)}function VS(t){if(8388608&t.flags){if(!Cn(t).hasReportedStatementInAmbientContext&&(e.isFunctionLike(t.parent)||e.isAccessor(t.parent)))return Cn(t).hasReportedStatementInAmbientContext=JS(t,e.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts);if(230===t.parent.kind||257===t.parent.kind||297===t.parent.kind){var r=Cn(t.parent);if(!r.hasReportedStatementInAmbientContext)return r.hasReportedStatementInAmbientContext=JS(t,e.Diagnostics.Statements_are_not_allowed_in_ambient_contexts)}}return!1}function qS(t){if(32&t.numericLiteralFlags){var r=void 0;if(q>=1?r=e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:e.isChildOfNodeWithKind(t,191)?r=e.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:e.isChildOfNodeWithKind(t,291)&&(r=e.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0),r){var n=e.isPrefixUnaryExpression(t.parent)&&40===t.parent.operator,i=(n?\"-\":\"\")+\"0o\"+t.text;return zS(n?t.parent:t,r,i)}}return function(t){if(16&t.numericLiteralFlags||t.text.length<=15||-1!==t.text.indexOf(\".\"))return;var r=+e.getTextOfNode(t);if(r<=Math.pow(2,53)-1&&r+1>r)return;pn(!1,e.createDiagnosticForNode(t,e.Diagnostics.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers))}(t),!1}function WS(t,r,n,i){if(1048576&r.flags&&2621440&t.flags){var a=Ks(t);if(a){var o=kf(a,r);if(o)return E_(r,e.map(o,(function(e){return[function(){return po(e)},e.escapedName]})),n,void 0,i)}}}},function(e){e.JSX=\"JSX\",e.IntrinsicElements=\"IntrinsicElements\",e.ElementClass=\"ElementClass\",e.ElementAttributesPropertyNameContainer=\"ElementAttributesProperty\",e.ElementChildrenAttributeNameContainer=\"ElementChildrenAttribute\",e.Element=\"Element\",e.IntrinsicAttributes=\"IntrinsicAttributes\",e.IntrinsicClassAttributes=\"IntrinsicClassAttributes\",e.LibraryManagedAttributes=\"LibraryManagedAttributes\"}(N||(N={})),e.signatureHasRestParameter=K,e.signatureHasLiteralTypes=z}(u||(u={})),function(e){var t=e.or(e.isTypeNode,e.isTypeParameterDeclaration);function r(t,r,n,i){if(void 0===t||void 0===r)return t;var a,o=r(t);return o===t?t:void 0!==o?(a=e.isArray(o)?(i||c)(o):o,e.Debug.assertNode(a,n),a):void 0}function n(t,r,n,i,a){if(void 0===t||void 0===r)return t;var o,s,c=t.length;(void 0===i||i<0)&&(i=0),(void 0===a||a>c-i)&&(a=c-i);var u=-1,l=-1;(i>0||a=2&&(s=function(t,r){for(var n,i=0;i0&&p<=156||187===p)return o;var f=u.factory;switch(p){case 78:return f.updateIdentifier(o,l(o.typeArguments,c,t));case 157:return f.updateQualifiedName(o,_(o.left,c,e.isEntityName),_(o.right,c,e.isIdentifier));case 158:return f.updateComputedPropertyName(o,_(o.expression,c,e.isExpression));case 159:return f.updateTypeParameterDeclaration(o,_(o.name,c,e.isIdentifier),_(o.constraint,c,e.isTypeNode),_(o.default,c,e.isTypeNode));case 160:return f.updateParameterDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.dotDotDotToken,d,e.isToken),_(o.name,c,e.isBindingName),_(o.questionToken,d,e.isToken),_(o.type,c,e.isTypeNode),_(o.initializer,c,e.isExpression));case 161:return f.updateDecorator(o,_(o.expression,c,e.isExpression));case 162:return f.updatePropertySignature(o,l(o.modifiers,c,e.isToken),_(o.name,c,e.isPropertyName),_(o.questionToken,d,e.isToken),_(o.type,c,e.isTypeNode));case 163:return f.updatePropertyDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isPropertyName),_(o.questionToken||o.exclamationToken,d,e.isToken),_(o.type,c,e.isTypeNode),_(o.initializer,c,e.isExpression));case 164:return f.updateMethodSignature(o,l(o.modifiers,c,e.isModifier),_(o.name,c,e.isPropertyName),_(o.questionToken,d,e.isToken),l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 165:return f.updateMethodDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.asteriskToken,d,e.isToken),_(o.name,c,e.isPropertyName),_(o.questionToken,d,e.isToken),l(o.typeParameters,c,e.isTypeParameterDeclaration),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),s(o.body,c,u,_));case 166:return f.updateConstructorDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),a(o.parameters,c,u,l),s(o.body,c,u,_));case 167:return f.updateGetAccessorDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isPropertyName),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),s(o.body,c,u,_));case 168:return f.updateSetAccessorDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isPropertyName),a(o.parameters,c,u,l),s(o.body,c,u,_));case 169:return f.updateCallSignature(o,l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 170:return f.updateConstructSignature(o,l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 171:return f.updateIndexSignature(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 172:return f.updateTypePredicateNode(o,_(o.assertsModifier,c),_(o.parameterName,c),_(o.type,c,e.isTypeNode));case 173:return f.updateTypeReferenceNode(o,_(o.typeName,c,e.isEntityName),l(o.typeArguments,c,e.isTypeNode));case 174:return f.updateFunctionTypeNode(o,l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 175:return f.updateConstructorTypeNode(o,l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 176:return f.updateTypeQueryNode(o,_(o.exprName,c,e.isEntityName));case 177:return f.updateTypeLiteralNode(o,l(o.members,c,e.isTypeElement));case 178:return f.updateArrayTypeNode(o,_(o.elementType,c,e.isTypeNode));case 179:return f.updateTupleTypeNode(o,l(o.elements,c,e.isTypeNode));case 180:return f.updateOptionalTypeNode(o,_(o.type,c,e.isTypeNode));case 181:return f.updateRestTypeNode(o,_(o.type,c,e.isTypeNode));case 182:return f.updateUnionTypeNode(o,l(o.types,c,e.isTypeNode));case 183:return f.updateIntersectionTypeNode(o,l(o.types,c,e.isTypeNode));case 184:return f.updateConditionalTypeNode(o,_(o.checkType,c,e.isTypeNode),_(o.extendsType,c,e.isTypeNode),_(o.trueType,c,e.isTypeNode),_(o.falseType,c,e.isTypeNode));case 185:return f.updateInferTypeNode(o,_(o.typeParameter,c,e.isTypeParameterDeclaration));case 195:return f.updateImportTypeNode(o,_(o.argument,c,e.isTypeNode),_(o.qualifier,c,e.isEntityName),n(o.typeArguments,c,e.isTypeNode),o.isTypeOf);case 192:return f.updateNamedTupleMember(o,r(o.dotDotDotToken,c,e.isToken),r(o.name,c,e.isIdentifier),r(o.questionToken,c,e.isToken),r(o.type,c,e.isTypeNode));case 186:return f.updateParenthesizedType(o,_(o.type,c,e.isTypeNode));case 188:return f.updateTypeOperatorNode(o,_(o.type,c,e.isTypeNode));case 189:return f.updateIndexedAccessTypeNode(o,_(o.objectType,c,e.isTypeNode),_(o.indexType,c,e.isTypeNode));case 190:return f.updateMappedTypeNode(o,_(o.readonlyToken,d,e.isToken),_(o.typeParameter,c,e.isTypeParameterDeclaration),_(o.nameType,c,e.isTypeNode),_(o.questionToken,d,e.isToken),_(o.type,c,e.isTypeNode));case 191:return f.updateLiteralTypeNode(o,_(o.literal,c,e.isExpression));case 193:return f.updateTemplateLiteralType(o,_(o.head,c,e.isTemplateHead),l(o.templateSpans,c,e.isTemplateLiteralTypeSpan));case 194:return f.updateTemplateLiteralTypeSpan(o,_(o.type,c,e.isTypeNode),_(o.literal,c,e.isTemplateMiddleOrTemplateTail));case 196:return f.updateObjectBindingPattern(o,l(o.elements,c,e.isBindingElement));case 197:return f.updateArrayBindingPattern(o,l(o.elements,c,e.isArrayBindingElement));case 198:return f.updateBindingElement(o,_(o.dotDotDotToken,d,e.isToken),_(o.propertyName,c,e.isPropertyName),_(o.name,c,e.isBindingName),_(o.initializer,c,e.isExpression));case 199:return f.updateArrayLiteralExpression(o,l(o.elements,c,e.isExpression));case 200:return f.updateObjectLiteralExpression(o,l(o.properties,c,e.isObjectLiteralElementLike));case 201:return 32&o.flags?f.updatePropertyAccessChain(o,_(o.expression,c,e.isExpression),_(o.questionDotToken,d,e.isToken),_(o.name,c,e.isIdentifier)):f.updatePropertyAccessExpression(o,_(o.expression,c,e.isExpression),_(o.name,c,e.isIdentifierOrPrivateIdentifier));case 202:return 32&o.flags?f.updateElementAccessChain(o,_(o.expression,c,e.isExpression),_(o.questionDotToken,d,e.isToken),_(o.argumentExpression,c,e.isExpression)):f.updateElementAccessExpression(o,_(o.expression,c,e.isExpression),_(o.argumentExpression,c,e.isExpression));case 203:return 32&o.flags?f.updateCallChain(o,_(o.expression,c,e.isExpression),_(o.questionDotToken,d,e.isToken),l(o.typeArguments,c,e.isTypeNode),l(o.arguments,c,e.isExpression)):f.updateCallExpression(o,_(o.expression,c,e.isExpression),l(o.typeArguments,c,e.isTypeNode),l(o.arguments,c,e.isExpression));case 204:return f.updateNewExpression(o,_(o.expression,c,e.isExpression),l(o.typeArguments,c,e.isTypeNode),l(o.arguments,c,e.isExpression));case 205:return f.updateTaggedTemplateExpression(o,_(o.tag,c,e.isExpression),n(o.typeArguments,c,e.isExpression),_(o.template,c,e.isTemplateLiteral));case 206:return f.updateTypeAssertion(o,_(o.type,c,e.isTypeNode),_(o.expression,c,e.isExpression));case 207:return f.updateParenthesizedExpression(o,_(o.expression,c,e.isExpression));case 208:return f.updateFunctionExpression(o,l(o.modifiers,c,e.isModifier),_(o.asteriskToken,d,e.isToken),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),s(o.body,c,u,_));case 209:return f.updateArrowFunction(o,l(o.modifiers,c,e.isModifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),_(o.equalsGreaterThanToken,d,e.isToken),s(o.body,c,u,_));case 210:return f.updateDeleteExpression(o,_(o.expression,c,e.isExpression));case 211:return f.updateTypeOfExpression(o,_(o.expression,c,e.isExpression));case 212:return f.updateVoidExpression(o,_(o.expression,c,e.isExpression));case 213:return f.updateAwaitExpression(o,_(o.expression,c,e.isExpression));case 214:return f.updatePrefixUnaryExpression(o,_(o.operand,c,e.isExpression));case 215:return f.updatePostfixUnaryExpression(o,_(o.operand,c,e.isExpression));case 216:return f.updateBinaryExpression(o,_(o.left,c,e.isExpression),_(o.operatorToken,d,e.isToken),_(o.right,c,e.isExpression));case 217:return f.updateConditionalExpression(o,_(o.condition,c,e.isExpression),_(o.questionToken,d,e.isToken),_(o.whenTrue,c,e.isExpression),_(o.colonToken,d,e.isToken),_(o.whenFalse,c,e.isExpression));case 218:return f.updateTemplateExpression(o,_(o.head,c,e.isTemplateHead),l(o.templateSpans,c,e.isTemplateSpan));case 219:return f.updateYieldExpression(o,_(o.asteriskToken,d,e.isToken),_(o.expression,c,e.isExpression));case 220:return f.updateSpreadElement(o,_(o.expression,c,e.isExpression));case 221:return f.updateClassExpression(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.heritageClauses,c,e.isHeritageClause),l(o.members,c,e.isClassElement));case 223:return f.updateExpressionWithTypeArguments(o,_(o.expression,c,e.isExpression),l(o.typeArguments,c,e.isTypeNode));case 224:return f.updateAsExpression(o,_(o.expression,c,e.isExpression),_(o.type,c,e.isTypeNode));case 225:return 32&o.flags?f.updateNonNullChain(o,_(o.expression,c,e.isExpression)):f.updateNonNullExpression(o,_(o.expression,c,e.isExpression));case 226:return f.updateMetaProperty(o,_(o.name,c,e.isIdentifier));case 228:return f.updateTemplateSpan(o,_(o.expression,c,e.isExpression),_(o.literal,c,e.isTemplateMiddleOrTemplateTail));case 230:return f.updateBlock(o,l(o.statements,c,e.isStatement));case 232:return f.updateVariableStatement(o,l(o.modifiers,c,e.isModifier),_(o.declarationList,c,e.isVariableDeclarationList));case 233:return f.updateExpressionStatement(o,_(o.expression,c,e.isExpression));case 234:return f.updateIfStatement(o,_(o.expression,c,e.isExpression),_(o.thenStatement,c,e.isStatement,f.liftToBlock),_(o.elseStatement,c,e.isStatement,f.liftToBlock));case 235:return f.updateDoStatement(o,_(o.statement,c,e.isStatement,f.liftToBlock),_(o.expression,c,e.isExpression));case 236:return f.updateWhileStatement(o,_(o.expression,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 237:return f.updateForStatement(o,_(o.initializer,c,e.isForInitializer),_(o.condition,c,e.isExpression),_(o.incrementor,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 238:return f.updateForInStatement(o,_(o.initializer,c,e.isForInitializer),_(o.expression,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 239:return f.updateForOfStatement(o,_(o.awaitModifier,d,e.isToken),_(o.initializer,c,e.isForInitializer),_(o.expression,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 240:return f.updateContinueStatement(o,_(o.label,c,e.isIdentifier));case 241:return f.updateBreakStatement(o,_(o.label,c,e.isIdentifier));case 242:return f.updateReturnStatement(o,_(o.expression,c,e.isExpression));case 243:return f.updateWithStatement(o,_(o.expression,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 244:return f.updateSwitchStatement(o,_(o.expression,c,e.isExpression),_(o.caseBlock,c,e.isCaseBlock));case 245:return f.updateLabeledStatement(o,_(o.label,c,e.isIdentifier),_(o.statement,c,e.isStatement,f.liftToBlock));case 246:return f.updateThrowStatement(o,_(o.expression,c,e.isExpression));case 247:return f.updateTryStatement(o,_(o.tryBlock,c,e.isBlock),_(o.catchClause,c,e.isCatchClause),_(o.finallyBlock,c,e.isBlock));case 249:return f.updateVariableDeclaration(o,_(o.name,c,e.isBindingName),_(o.exclamationToken,d,e.isToken),_(o.type,c,e.isTypeNode),_(o.initializer,c,e.isExpression));case 250:return f.updateVariableDeclarationList(o,l(o.declarations,c,e.isVariableDeclaration));case 251:return f.updateFunctionDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.asteriskToken,d,e.isToken),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),s(o.body,c,u,_));case 252:return f.updateClassDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.heritageClauses,c,e.isHeritageClause),l(o.members,c,e.isClassElement));case 253:return f.updateInterfaceDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.heritageClauses,c,e.isHeritageClause),l(o.members,c,e.isTypeElement));case 254:return f.updateTypeAliasDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),_(o.type,c,e.isTypeNode));case 255:return f.updateEnumDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.members,c,e.isEnumMember));case 256:return f.updateModuleDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),_(o.body,c,e.isModuleBody));case 257:return f.updateModuleBlock(o,l(o.statements,c,e.isStatement));case 258:return f.updateCaseBlock(o,l(o.clauses,c,e.isCaseOrDefaultClause));case 259:return f.updateNamespaceExportDeclaration(o,_(o.name,c,e.isIdentifier));case 260:return f.updateImportEqualsDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),_(o.moduleReference,c,e.isModuleReference));case 261:return f.updateImportDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.importClause,c,e.isImportClause),_(o.moduleSpecifier,c,e.isExpression));case 262:return f.updateImportClause(o,o.isTypeOnly,_(o.name,c,e.isIdentifier),_(o.namedBindings,c,e.isNamedImportBindings));case 263:return f.updateNamespaceImport(o,_(o.name,c,e.isIdentifier));case 269:return f.updateNamespaceExport(o,_(o.name,c,e.isIdentifier));case 264:return f.updateNamedImports(o,l(o.elements,c,e.isImportSpecifier));case 265:return f.updateImportSpecifier(o,_(o.propertyName,c,e.isIdentifier),_(o.name,c,e.isIdentifier));case 266:return f.updateExportAssignment(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.expression,c,e.isExpression));case 267:return f.updateExportDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),o.isTypeOnly,_(o.exportClause,c,e.isNamedExportBindings),_(o.moduleSpecifier,c,e.isExpression));case 268:return f.updateNamedExports(o,l(o.elements,c,e.isExportSpecifier));case 270:return f.updateExportSpecifier(o,_(o.propertyName,c,e.isIdentifier),_(o.name,c,e.isIdentifier));case 272:return f.updateExternalModuleReference(o,_(o.expression,c,e.isExpression));case 273:return f.updateJsxElement(o,_(o.openingElement,c,e.isJsxOpeningElement),l(o.children,c,e.isJsxChild),_(o.closingElement,c,e.isJsxClosingElement));case 274:return f.updateJsxSelfClosingElement(o,_(o.tagName,c,e.isJsxTagNameExpression),l(o.typeArguments,c,e.isTypeNode),_(o.attributes,c,e.isJsxAttributes));case 275:return f.updateJsxOpeningElement(o,_(o.tagName,c,e.isJsxTagNameExpression),l(o.typeArguments,c,e.isTypeNode),_(o.attributes,c,e.isJsxAttributes));case 276:return f.updateJsxClosingElement(o,_(o.tagName,c,e.isJsxTagNameExpression));case 277:return f.updateJsxFragment(o,_(o.openingFragment,c,e.isJsxOpeningFragment),l(o.children,c,e.isJsxChild),_(o.closingFragment,c,e.isJsxClosingFragment));case 280:return f.updateJsxAttribute(o,_(o.name,c,e.isIdentifier),_(o.initializer,c,e.isStringLiteralOrJsxExpression));case 281:return f.updateJsxAttributes(o,l(o.properties,c,e.isJsxAttributeLike));case 282:return f.updateJsxSpreadAttribute(o,_(o.expression,c,e.isExpression));case 283:return f.updateJsxExpression(o,_(o.expression,c,e.isExpression));case 284:return f.updateCaseClause(o,_(o.expression,c,e.isExpression),l(o.statements,c,e.isStatement));case 285:return f.updateDefaultClause(o,l(o.statements,c,e.isStatement));case 286:return f.updateHeritageClause(o,l(o.types,c,e.isExpressionWithTypeArguments));case 287:return f.updateCatchClause(o,_(o.variableDeclaration,c,e.isVariableDeclaration),_(o.block,c,e.isBlock));case 288:return f.updatePropertyAssignment(o,_(o.name,c,e.isPropertyName),_(o.initializer,c,e.isExpression));case 289:return f.updateShorthandPropertyAssignment(o,_(o.name,c,e.isIdentifier),_(o.objectAssignmentInitializer,c,e.isExpression));case 290:return f.updateSpreadAssignment(o,_(o.expression,c,e.isExpression));case 291:return f.updateEnumMember(o,_(o.name,c,e.isPropertyName),_(o.initializer,c,e.isExpression));case 297:return f.updateSourceFile(o,i(o.statements,c,u));case 336:return f.updatePartiallyEmittedExpression(o,_(o.expression,c,e.isExpression));case 337:return f.updateCommaListExpression(o,l(o.elements,c,e.isExpression));default:return o}}}}(u||(u={})),function(e){e.createSourceMapGenerator=function(t,r,n,i,o){var c,u,l=o.extendedDiagnostics?e.performance.createTimer(\"Source Map\",\"beforeSourcemap\",\"afterSourcemap\"):e.performance.nullTimer,d=l.enter,_=l.exit,p=[],f=[],g=new e.Map,m=[],y=\"\",v=0,h=0,D=0,x=0,b=0,S=0,E=!1,T=0,C=0,k=0,A=0,F=0,N=0,P=!1,w=!1,I=!1;return{getSources:function(){return p},addSource:O,setSourceContent:M,addName:L,addMapping:R,appendSourceMap:function(t,r,n,i,o,s){e.Debug.assert(t>=T,\"generatedLine cannot backtrack\"),e.Debug.assert(r>=0,\"generatedCharacter cannot be negative\"),d();for(var c,u=[],l=a(n.mappings),p=l.next();!p.done;p=l.next()){var f=p.value;if(s&&(f.generatedLine>s.line||f.generatedLine===s.line&&f.generatedCharacter>s.character))break;if(!o||!(f.generatedLine=T,\"generatedLine cannot backtrack\"),e.Debug.assert(r>=0,\"generatedCharacter cannot be negative\"),e.Debug.assert(void 0===n||n>=0,\"sourceIndex cannot be negative\"),e.Debug.assert(void 0===i||i>=0,\"sourceLine cannot be negative\"),e.Debug.assert(void 0===a||a>=0,\"sourceCharacter cannot be negative\"),d(),(function(e,t){return!P||T!==e||C!==t}(t,r)||function(e,t,r){return void 0!==e&&void 0!==t&&void 0!==r&&k===e&&(A>t||A===t&&F>r)}(n,i,a))&&(B(),T=t,C=r,w=!1,I=!1,P=!0),void 0!==n&&void 0!==i&&void 0!==a&&(k=n,A=i,F=a,w=!0,void 0!==o&&(N=o,I=!0)),_()}function B(){if(P&&(!E||v!==T||h!==C||D!==k||x!==A||b!==F||S!==N)){if(d(),v=e.length)return _(\"Error in decoding base64VLQFormatDecode, past the mapping string\"),-1;var o=(t=e.charCodeAt(n))>=65&&t<=90?t-65:t>=97&&t<=122?t-97+26:t>=48&&t<=57?t-48+52:43===t?62:47===t?63:-1;if(-1===o)return _(\"Invalid character in VLQ\"),-1;r=0!=(32&o),a|=(31&o)<>=1:a=-(a>>=1),a}}function o(e){return void 0!==e.sourceIndex&&void 0!==e.sourceLine&&void 0!==e.sourceCharacter}function s(t){t<0?t=1+(-t<<1):t<<=1;var r,n=\"\";do{var i=31&t;(t>>=5)>0&&(i|=32),n+=String.fromCharCode((r=i)>=0&&r<26?65+r:r>=26&&r<52?97+r-26:r>=52&&r<62?48+r-52:62===r?43:63===r?47:e.Debug.fail(r+\": not a base64 value\"))}while(t>0);return n}function c(e){return void 0!==e.sourceIndex&&void 0!==e.sourcePosition}function u(e,t){return e.generatedPosition===t.generatedPosition&&e.sourceIndex===t.sourceIndex&&e.sourcePosition===t.sourcePosition}function l(t,r){return e.Debug.assert(t.sourceIndex===r.sourceIndex),e.compareValues(t.sourcePosition,r.sourcePosition)}function d(t,r){return e.compareValues(t.generatedPosition,r.generatedPosition)}function _(e){return e.sourcePosition}function p(e){return e.generatedPosition}e.getLineInfo=function(e,t){return{getLineCount:function(){return t.length},getLineText:function(r){return e.substring(t[r],t[r+1])}}},e.tryGetSourceMappingURL=function(e){for(var n=e.getLineCount()-1;n>=0;n--){var i=e.getLineText(n),a=t.exec(i);if(a)return a[1];if(!i.match(r))break}},e.isRawSourceMap=i,e.tryParseRawSourceMap=function(e){try{var t=JSON.parse(e);if(i(t))return t}catch(e){}},e.decodeMappings=a,e.sameMapping=function(e,t){return e===t||e.generatedLine===t.generatedLine&&e.generatedCharacter===t.generatedCharacter&&e.sourceIndex===t.sourceIndex&&e.sourceLine===t.sourceLine&&e.sourceCharacter===t.sourceCharacter&&e.nameIndex===t.nameIndex},e.isSourceMapping=o,e.createDocumentPositionMapper=function(t,r,n){var i,s,f,g=e.getDirectoryPath(n),m=r.sourceRoot?e.getNormalizedAbsolutePath(r.sourceRoot,g):g,y=e.getNormalizedAbsolutePath(r.file,g),v=t.getSourceFileLike(y),h=r.sources.map((function(t){return e.getNormalizedAbsolutePath(t,m)})),D=new e.Map(h.map((function(e,r){return[t.getCanonicalFileName(e),r]})));return{getSourcePosition:function(t){var r=E();if(!e.some(r))return t;var n=e.binarySearchKey(r,t.pos,p,e.compareValues);n<0&&(n=~n);var i=r[n];if(void 0===i||!c(i))return t;return{fileName:h[i.sourceIndex],pos:i.sourcePosition}},getGeneratedPosition:function(r){var n=D.get(t.getCanonicalFileName(r.fileName));if(void 0===n)return r;var i=S(n);if(!e.some(i))return r;var a=e.binarySearchKey(i,r.pos,_,e.compareValues);a<0&&(a=~a);var o=i[a];if(void 0===o||o.sourceIndex!==n)return r;return{fileName:y,pos:o.generatedPosition}}};function x(n){var i,a,s=void 0!==v?e.getPositionOfLineAndCharacter(v,n.generatedLine,n.generatedCharacter,!0):-1;if(o(n)){var c=t.getSourceFileLike(h[n.sourceIndex]);i=r.sources[n.sourceIndex],a=void 0!==c?e.getPositionOfLineAndCharacter(c,n.sourceLine,n.sourceCharacter,!0):-1}return{generatedPosition:s,source:i,sourceIndex:n.sourceIndex,sourcePosition:a,nameIndex:n.nameIndex}}function b(){if(void 0===i){var n=a(r.mappings),o=e.arrayFrom(n,x);void 0!==n.error?(t.log&&t.log(\"Encountered error while decoding sourcemap: \"+n.error),i=e.emptyArray):i=o}return i}function S(t){if(void 0===f){for(var r=[],n=0,i=b();n0&&i!==n.elements.length||!!(n.elements.length-i)&&e.isDefaultImport(t)}function i(t){return!n(t)&&(e.isDefaultImport(t)||!!t.importClause&&e.isNamedImports(t.importClause.namedBindings)&&function(t){return!!t&&!!e.isNamedImports(t)&&e.some(t.elements,r)}(t.importClause.namedBindings))}function a(t,r,n){if(e.isBindingPattern(t.name))for(var i=0,o=t.name.elements;i=63&&e<=77},e.getNonAssignmentOperatorForCompoundAssignment=function(e){switch(e){case 63:return 39;case 64:return 40;case 65:return 41;case 66:return 42;case 67:return 43;case 68:return 44;case 69:return 47;case 70:return 48;case 71:return 49;case 72:return 50;case 73:return 51;case 77:return 52;case 74:return 56;case 75:return 55;case 76:return 60}},e.addPrologueDirectivesAndInitialSuperCall=function(t,r,n,i){if(r.body){var a=r.body.statements,o=t.copyPrologue(a,n,!1,i);if(o===a.length)return o;var s=e.findIndex(a,(function(t){return e.isExpressionStatement(t)&&e.isSuperCall(t.expression)}),o);if(s>-1){for(var c=o;c<=s;c++)n.push(e.visitNode(a[c],i,e.isStatement));return s+1}return o}return 0},e.getProperties=function(t,r,n){return e.filter(t.members,(function(t){return function(t,r,n){return e.isPropertyDeclaration(t)&&(!!t.initializer||!r)&&e.hasStaticModifier(t)===n}(t,r,n)}))},e.isInitializedProperty=function(e){return 163===e.kind&&void 0!==e.initializer}}(u||(u={})),function(e){function t(r,n){var i=e.getTargetOfBindingOrAssignmentElement(r);return e.isBindingOrAssignmentPattern(i)?function(r,n){for(var i=e.getElementsOfBindingOrAssignmentPattern(r),a=0,o=i;a=1)||24576&f.transformFlags||24576&e.getTargetOfBindingOrAssignmentElement(f).transformFlags||e.isComputedPropertyName(g)){u&&(t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),s,c,i),u=void 0);var m=a(t,s,g);e.isComputedPropertyName(g)&&(l=e.append(l,m.argumentExpression)),n(t,f,m,f)}else u=e.append(u,e.visitNode(f,t.visitor))}}u&&t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),s,c,i)}(t,r,l,s,c):e.isArrayBindingOrAssignmentPattern(l)?function(t,r,a,s,c){var u,l,d=e.getElementsOfBindingOrAssignmentPattern(a),_=d.length;if(t.level<1&&t.downlevelIteration)s=o(t,e.setTextRange(t.context.getEmitHelperFactory().createReadHelper(s,_>0&&e.getRestIndicatorOfBindingOrAssignmentElement(d[_-1])?void 0:_),c),!1,c);else if(1!==_&&(t.level<1||0===_)||e.every(d,e.isOmittedExpression)){s=o(t,s,!e.isDeclarationBindingElement(r)||0!==_,c)}for(var p=0;p<_;p++){var f=d[p];if(t.level>=1)if(16384&f.transformFlags||t.hasTransformedPriorElement&&!i(f)){t.hasTransformedPriorElement=!0;var g=t.context.factory.createTempVariable(void 0);t.hoistTempVariables&&t.context.hoistVariableDeclaration(g),l=e.append(l,[g,f]),u=e.append(u,t.createArrayBindingOrAssignmentElement(g))}else u=e.append(u,f);else{if(e.isOmittedExpression(f))continue;if(e.getRestIndicatorOfBindingOrAssignmentElement(f)){if(p===_-1){m=t.context.factory.createArraySliceCall(s,p);n(t,f,m,f)}}else{var m=t.context.factory.createElementAccessExpression(s,p);n(t,f,m,f)}}}u&&t.emitBindingOrAssignment(t.createArrayBindingOrAssignmentPattern(u),s,c,a);if(l)for(var y=0,v=l;y0)return!0;var r=e.getFirstConstructorWithBody(t);if(r)return e.forEach(r.parameters,B);return!1})(t)&&(n|=2);e.childIsDecorated(t)&&(n|=4);Ce(t)?n|=8:!function(t){return ke(t)&&e.hasSyntacticModifier(t,512)}(t)?Ae(t)&&(n|=16):n|=32;x<=1&&7&n&&(n|=128);return n}(i,a);128&o&&t.startLexicalEnvironment();var s=i.name||(5&o?_.getGeneratedNameForNode(i):void 0),c=2&o?function(r,n){var i=e.moveRangePastDecorators(r),a=function(r){if(16777216&v.getNodeCheckFlags(r)){0==(1&u)&&(u|=1,t.enableSubstitution(78),l=[]);var n=_.createUniqueName(r.name&&!e.isGeneratedIdentifier(r.name)?e.idText(r.name):\"default\");return l[e.getOriginalNodeId(r)]=n,y(n),n}}(r),o=_.getLocalName(r,!1,!0),s=e.visitNodes(r.heritageClauses,k,e.isHeritageClause),c=K(r),d=_.createClassExpression(void 0,void 0,n,void 0,s,c);e.setOriginalNode(d,r),e.setTextRange(d,i);var p=_.createVariableStatement(void 0,_.createVariableDeclarationList([_.createVariableDeclaration(o,void 0,void 0,a?_.createAssignment(a,d):d)],1));return e.setOriginalNode(p,r),e.setTextRange(p,i),e.setCommentRange(p,r),p}(i,s):function(t,r,n){var i=128&n?void 0:e.visitNodes(t.modifiers,M,e.isModifier),a=_.createClassDeclaration(void 0,i,r,void 0,e.visitNodes(t.heritageClauses,k,e.isHeritageClause),K(t)),o=e.getEmitFlags(t);1&n&&(o|=32);return e.setTextRange(a,t),e.setOriginalNode(a,t),e.setEmitFlags(a,o),a}(i,s,o),d=[c];if(H(d,i,!1),H(d,i,!0),function(t,r){var n=function(t){var r=function(t){var r=t.decorators,n=V(e.getFirstConstructorWithBody(t));if(!r&&!n)return;return{decorators:r,parameters:n}}(t),n=W(t,t,r);if(!n)return;var i=l&&l[e.getOriginalNodeId(t)],a=_.getLocalName(t,!1,!0),o=p().createDecorateHelper(n,a),s=_.createAssignment(a,i?_.createAssignment(i,o):o);return e.setEmitFlags(s,1536),e.setSourceMapRange(s,e.moveRangePastDecorators(t)),s}(r);n&&t.push(e.setOriginalNode(_.createExpressionStatement(n),r))}(d,i),128&o){var f=e.createTokenRange(e.skipTrivia(r.text,i.members.end),19),g=_.getInternalName(i),m=_.createPartiallyEmittedExpression(g);e.setTextRangeEnd(m,f.end),e.setEmitFlags(m,1536);var h=_.createReturnStatement(m);e.setTextRangePos(h,f.pos),e.setEmitFlags(h,1920),d.push(h),e.insertStatementsAfterStandardPrologue(d,t.endLexicalEnvironment());var D=_.createImmediatelyInvokedArrowFunction(d);e.setEmitFlags(D,33554432);var b=_.createVariableStatement(void 0,_.createVariableDeclarationList([_.createVariableDeclaration(_.getLocalName(i,!1,!1),void 0,void 0,D)]));e.setOriginalNode(b,i),e.setCommentRange(b,i),e.setSourceMapRange(b,e.moveRangePastDecorators(i)),e.startOnNewLine(b),d=[b]}8&o?Ne(d,i):(128&o||2&o)&&(32&o?d.push(_.createExportDefault(_.getLocalName(i,!1,!0))):16&o&&d.push(_.createExternalModuleExport(_.getLocalName(i,!1,!0))));d.length>1&&(d.push(_.createEndOfDeclarationMarker(i)),e.setEmitFlags(c,4194304|e.getEmitFlags(c)));return e.singleOrMany(d)}(o);case 221:return function(r){if(!J(r))return e.visitEachChild(r,k,t);var n=_.createClassExpression(void 0,void 0,r.name,void 0,e.visitNodes(r.heritageClauses,k,e.isHeritageClause),K(r));return e.setOriginalNode(n,r),e.setTextRange(n,r),n}(o);case 286:return function(r){if(116===r.token)return;return e.visitEachChild(r,k,t)}(o);case 223:return function(t){return _.updateExpressionWithTypeArguments(t,e.visitNode(t.expression,k,e.isLeftHandSideExpression),void 0)}(o);case 165:return function(r){if(!se(r))return;var n=_.updateMethodDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,oe(r),void 0,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 167:return function(r){if(!de(r))return;var n=_.updateGetAccessorDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),oe(r),e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 168:return function(r){if(!de(r))return;var n=_.updateSetAccessorDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),oe(r),e.visitParameterList(r.parameters,k,t),e.visitFunctionBody(r.body,k,t)||_.createBlock([]));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 251:return function(r){if(!se(r))return _.createNotEmittedStatement(r);var n=_.updateFunctionDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]));if(Ce(r)){var i=[n];return Ne(i,r),i}return n}(o);case 208:return function(r){if(!se(r))return _.createOmittedExpression();return _.updateFunctionExpression(r,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]))}(o);case 209:return function(r){return _.updateArrowFunction(r,e.visitNodes(r.modifiers,M,e.isModifier),void 0,e.visitParameterList(r.parameters,k,t),void 0,r.equalsGreaterThanToken,e.visitFunctionBody(r.body,k,t))}(o);case 160:return function(t){if(e.parameterIsThisKeyword(t))return;var r=_.updateParameterDeclaration(t,void 0,void 0,t.dotDotDotToken,e.visitNode(t.name,k,e.isBindingName),void 0,void 0,e.visitNode(t.initializer,k,e.isExpression));r!==t&&(e.setCommentRange(r,t),e.setTextRange(r,e.moveRangePastModifiers(t)),e.setSourceMapRange(r,e.moveRangePastModifiers(t)),e.setEmitFlags(r.name,32));return r}(o);case 207:return function(n){var i=e.skipOuterExpressions(n.expression,-7);if(e.isAssertionExpression(i)){var a=e.visitNode(n.expression,k,e.isExpression);return e.length(e.getLeadingCommentRangesOfNode(a,r))?_.updateParenthesizedExpression(n,a):_.createPartiallyEmittedExpression(a,n)}return e.visitEachChild(n,k,t)}(o);case 206:case 224:return function(t){var r=e.visitNode(t.expression,k,e.isExpression);return _.createPartiallyEmittedExpression(r,t)}(o);case 203:return function(t){return _.updateCallExpression(t,e.visitNode(t.expression,k,e.isExpression),void 0,e.visitNodes(t.arguments,k,e.isExpression))}(o);case 204:return function(t){return _.updateNewExpression(t,e.visitNode(t.expression,k,e.isExpression),void 0,e.visitNodes(t.arguments,k,e.isExpression))}(o);case 205:return function(t){return _.updateTaggedTemplateExpression(t,e.visitNode(t.tag,k,e.isExpression),void 0,e.visitNode(t.template,k,e.isExpression))}(o);case 225:return function(t){var r=e.visitNode(t.expression,k,e.isLeftHandSideExpression);return _.createPartiallyEmittedExpression(r,t)}(o);case 255:return function(t){if(!function(t){return!e.isEnumConst(t)||h.preserveConstEnums||h.isolatedModules}(t))return _.createNotEmittedStatement(t);var n=[],o=2,s=ye(n,t);s&&(b===e.ModuleKind.System&&a===r||(o|=512));var c=Ie(t),u=Oe(t),l=e.hasSyntacticModifier(t,1)?_.getExternalModuleOrNamespaceExportName(i,t,!1,!0):_.getLocalName(t,!1,!0),d=_.createLogicalOr(l,_.createAssignment(l,_.createObjectLiteralExpression()));if(fe(t)){var p=_.getLocalName(t,!1,!0);d=_.createAssignment(p,d)}var g=_.createExpressionStatement(_.createCallExpression(_.createFunctionExpression(void 0,void 0,void 0,void 0,[_.createParameterDeclaration(void 0,void 0,void 0,c)],void 0,function(t,r){var n=i;i=r;var a=[];f();var o=e.map(t.members,pe);return e.insertStatementsAfterStandardPrologue(a,m()),e.addRange(a,o),i=n,_.createBlock(e.setTextRange(_.createNodeArray(a),t.members),!0)}(t,u)),void 0,[d]));e.setOriginalNode(g,t),s&&(e.setSyntheticLeadingComments(g,void 0),e.setSyntheticTrailingComments(g,void 0));return e.setTextRange(g,t),e.addEmitFlags(g,o),n.push(g),n.push(_.createEndOfDeclarationMarker(t)),n}(o);case 232:return function(r){if(Ce(r)){var n=e.getInitializedVariables(r.declarationList);if(0===n.length)return;return e.setTextRange(_.createExpressionStatement(_.inlineExpressions(e.map(n,_e))),r)}return e.visitEachChild(r,k,t)}(o);case 249:return function(t){return _.updateVariableDeclaration(t,e.visitNode(t.name,k,e.isBindingName),void 0,void 0,e.visitNode(t.initializer,k,e.isExpression))}(o);case 256:return ve(o);case 260:return Te(o);case 274:return function(t){return _.updateJsxSelfClosingElement(t,e.visitNode(t.tagName,k,e.isJsxTagNameExpression),void 0,e.visitNode(t.attributes,k,e.isJsxAttributes))}(o);case 275:return function(t){return _.updateJsxOpeningElement(t,e.visitNode(t.tagName,k,e.isJsxTagNameExpression),void 0,e.visitNode(t.attributes,k,e.isJsxAttributes))}(o);default:return e.visitEachChild(o,k,t)}}function R(r){var n=e.getStrictOptionValue(h,\"alwaysStrict\")&&!(e.isExternalModule(r)&&b>=e.ModuleKind.ES2015)&&!e.isJsonSourceFile(r);return _.updateSourceFile(r,e.visitLexicalEnvironment(r.statements,F,t,0,n))}function B(e){return void 0!==e.decorators&&e.decorators.length>0}function j(e){return!!(2048&e.transformFlags)}function J(t){return e.some(t.decorators)||e.some(t.typeParameters)||e.some(t.heritageClauses,j)||e.some(t.members,j)}function K(t){var r=[],n=e.getFirstConstructorWithBody(t),i=n&&e.filter(n.parameters,(function(t){return e.isParameterPropertyDeclaration(t,n)}));if(i)for(var a=0,o=i;a0&&e.parameterIsThisKeyword(n[0]),a=i?1:0,o=i?n.length-1:n.length,s=0;s0?163===r.kind?_.createVoidZero():_.createNull():void 0,s=p().createDecorateHelper(n,i,a,o);return e.setTextRange(s,e.moveRangePastDecorators(r)),e.setEmitFlags(s,1536),s}}function Y(t){return e.visitNode(t.expression,k,e.isExpression)}function X(t,r){var n;if(t){n=[];for(var i=0,a=t;ic&&(a||e.addRange(d,e.visitNodes(n.body.statements,v,e.isStatement,c,_-c)),c=_)}N(d,o,s.createThis()),n&&e.addRange(d,e.visitNodes(n.body.statements,v,e.isStatement,c));return d=s.mergeLexicalEnvironment(d,u()),e.setTextRange(s.createBlock(e.setTextRange(s.createNodeArray(d),n?n.body.statements:r.members),!0),n?n.body:void 0)}(r,i,n);if(!c)return;return e.startOnNewLine(e.setOriginalNode(e.setTextRange(s.createConstructorDeclaration(void 0,void 0,null!=o?o:[],c),i||r),i))}(r,n);return d&&c.push(d),e.addRange(c,e.visitNodes(r.members,D,e.isClassElement)),e.setTextRange(s.createNodeArray(c),r.members)}function F(r){return!(!e.isPropertyDeclaration(r)||e.hasStaticModifier(r))&&(t.getCompilerOptions().useDefineForClassFields?p<99:e.isInitializedProperty(r)||f&&e.isPrivateIdentifierPropertyDeclaration(r))}function N(t,r,n){for(var i=0,a=r;i=0;--t){var r,n=y[t];if(n)if(r=n.get(e.escapedText))return r}}function M(r){var n=s.getGeneratedNameForNode(r),i=O(r.name);if(!i)return e.visitEachChild(r,v,t);var a=r.expression;return(e.isThisProperty(r)||e.isSuperProperty(r)||!e.isSimpleCopiableExpression(r.expression))&&(a=s.createTempVariable(c,!0),w().push(s.createBinaryExpression(a,62,r.expression))),s.createPropertyAccessExpression(s.createParenthesizedExpression(s.createObjectLiteralExpression([s.createSetAccessorDeclaration(void 0,void 0,\"value\",[s.createParameterDeclaration(void 0,void 0,void 0,n,void 0,void 0,void 0)],s.createBlock([s.createExpressionStatement(C(i,a,n,62))]))])),\"value\")}function L(t){var r=e.getTargetOfBindingOrAssignmentElement(t);if(r&&e.isPrivateIdentifierPropertyAccessExpression(r)){var n=M(r);return e.isAssignmentExpression(t)?s.updateBinaryExpression(t,n,t.operatorToken,e.visitNode(t.right,v,e.isExpression)):e.isSpreadElement(t)?s.updateSpreadElement(t,n):n}return e.visitNode(t,h)}function R(t){if(e.isPropertyAssignment(t)){var r=e.getTargetOfBindingOrAssignmentElement(t);if(r&&e.isPrivateIdentifierPropertyAccessExpression(r)){var n=e.getInitializerOfBindingOrAssignmentElement(t),i=M(r);return s.updatePropertyAssignment(t,e.visitNode(t.name,v),n?s.createAssignment(i,e.visitNode(n,v)):i)}return s.updatePropertyAssignment(t,e.visitNode(t.name,v),e.visitNode(t.initializer,h))}return e.visitNode(t,v)}}}(u||(u={})),function(e){var t,n;function i(t,r,n,i){var a=0!=(4096&r.getNodeCheckFlags(n)),o=[];return i.forEach((function(r,n){var i=e.unescapeLeadingUnderscores(n),s=[];s.push(t.createPropertyAssignment(\"get\",t.createArrowFunction(void 0,void 0,[],void 0,void 0,e.setEmitFlags(t.createPropertyAccessExpression(e.setEmitFlags(t.createSuper(),4),i),4)))),a&&s.push(t.createPropertyAssignment(\"set\",t.createArrowFunction(void 0,void 0,[t.createParameterDeclaration(void 0,void 0,void 0,\"v\",void 0,void 0,void 0)],void 0,void 0,t.createAssignment(e.setEmitFlags(t.createPropertyAccessExpression(e.setEmitFlags(t.createSuper(),4),i),4),t.createIdentifier(\"v\"))))),o.push(t.createPropertyAssignment(i,t.createObjectLiteralExpression(s)))})),t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.createUniqueName(\"_super\",48),void 0,void 0,t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier(\"Object\"),\"create\"),void 0,[t.createNull(),t.createObjectLiteralExpression(o,!0)]))],2))}!function(e){e[e.AsyncMethodsWithSuper=1]=\"AsyncMethodsWithSuper\"}(t||(t={})),function(e){e[e.NonTopLevel=1]=\"NonTopLevel\",e[e.HasLexicalThis=2]=\"HasLexicalThis\"}(n||(n={})),e.transformES2017=function(t){var n,a,o,s,c=t.factory,u=t.getEmitHelperFactory,l=t.resumeLexicalEnvironment,d=t.endLexicalEnvironment,_=t.hoistVariableDeclaration,p=t.getEmitResolver(),f=t.getCompilerOptions(),g=e.getEmitScriptTarget(f),m=0,y=[],v=0,h=t.onEmitNode,D=t.onSubstituteNode;return t.onEmitNode=function(t,r,i){if(1&n&&function(e){var t=e.kind;return 252===t||166===t||165===t||167===t||168===t}(r)){var a=6144&p.getNodeCheckFlags(r);if(a!==m){var o=m;return m=a,h(t,r,i),void(m=o)}}else if(n&&y[e.getNodeId(r)]){o=m;return m=0,h(t,r,i),void(m=o)}h(t,r,i)},t.onSubstituteNode=function(t,n){if(n=D(t,n),1===t&&m)return function(t){switch(t.kind){case 201:return J(t);case 202:return K(t);case 203:return function(t){var n=t.expression;if(e.isSuperProperty(n)){var i=e.isPropertyAccessExpression(n)?J(n):K(n);return c.createCallExpression(c.createPropertyAccessExpression(i,\"call\"),void 0,r([c.createThis()],t.arguments))}return t}(t)}return t}(n);return n},e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;x(1,!1),x(2,!e.isEffectiveStrictModeSourceFile(r,f));var n=e.visitEachChild(r,C,t);return e.addEmitHelpers(n,t.readEmitHelpers()),n}));function x(e,t){v=t?v|e:v&~e}function b(e){return 0!=(v&e)}function S(){return b(2)}function E(e,t,r){var n=e&~v;if(n){x(n,!0);var i=t(r);return x(n,!1),i}return t(r)}function T(r){return e.visitEachChild(r,C,t)}function C(r){if(0==(64&r.transformFlags))return r;switch(r.kind){case 129:return;case 213:return function(r){if(!b(1))return e.visitEachChild(r,C,t);return e.setOriginalNode(e.setTextRange(c.createYieldExpression(void 0,e.visitNode(r.expression,C,e.isExpression)),r),r)}(r);case 165:return E(3,A,r);case 251:return E(3,F,r);case 208:return E(3,N,r);case 209:return E(1,P,r);case 201:return o&&e.isPropertyAccessExpression(r)&&105===r.expression.kind&&o.add(r.name.escapedText),e.visitEachChild(r,C,t);case 202:return o&&105===r.expression.kind&&(s=!0),e.visitEachChild(r,C,t);case 167:case 168:case 166:case 252:case 221:return E(3,T,r);default:return e.visitEachChild(r,C,t)}}function k(r){if(e.isNodeWithPossibleHoistedDeclaration(r))switch(r.kind){case 232:return function(r){if(I(r.declarationList)){var n=O(r.declarationList,!1);return n?c.createExpressionStatement(n):void 0}return e.visitEachChild(r,C,t)}(r);case 237:return function(t){var r=t.initializer;return c.updateForStatement(t,I(r)?O(r,!1):e.visitNode(t.initializer,C,e.isForInitializer),e.visitNode(t.condition,C,e.isExpression),e.visitNode(t.incrementor,C,e.isExpression),e.visitNode(t.statement,k,e.isStatement,c.liftToBlock))}(r);case 238:return function(t){return c.updateForInStatement(t,I(t.initializer)?O(t.initializer,!0):e.visitNode(t.initializer,C,e.isForInitializer),e.visitNode(t.expression,C,e.isExpression),e.visitNode(t.statement,k,e.isStatement,c.liftToBlock))}(r);case 239:return function(t){return c.updateForOfStatement(t,e.visitNode(t.awaitModifier,C,e.isToken),I(t.initializer)?O(t.initializer,!0):e.visitNode(t.initializer,C,e.isForInitializer),e.visitNode(t.expression,C,e.isExpression),e.visitNode(t.statement,k,e.isStatement,c.liftToBlock))}(r);case 287:return function(r){var n,i=new e.Set;if(w(r.variableDeclaration,i),i.forEach((function(t,r){a.has(r)&&(n||(n=new e.Set(a)),n.delete(r))})),n){var o=a;a=n;var s=e.visitEachChild(r,k,t);return a=o,s}return e.visitEachChild(r,k,t)}(r);case 230:case 244:case 258:case 284:case 285:case 247:case 235:case 236:case 234:case 243:case 245:return e.visitEachChild(r,k,t);default:return e.Debug.assertNever(r,\"Unhandled node.\")}return C(r)}function A(r){return c.updateMethodDeclaration(r,void 0,e.visitNodes(r.modifiers,C,e.isModifier),r.asteriskToken,r.name,void 0,void 0,e.visitParameterList(r.parameters,C,t),void 0,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,C,t))}function F(r){return c.updateFunctionDeclaration(r,void 0,e.visitNodes(r.modifiers,C,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,C,t),void 0,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,C,t))}function N(r){return c.updateFunctionExpression(r,e.visitNodes(r.modifiers,C,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,C,t),void 0,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,C,t))}function P(r){return c.updateArrowFunction(r,e.visitNodes(r.modifiers,C,e.isModifier),void 0,e.visitParameterList(r.parameters,C,t),void 0,r.equalsGreaterThanToken,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,C,t))}function w(t,r){var n=t.name;if(e.isIdentifier(n))r.add(n.escapedText);else for(var i=0,a=n.elements;i=2&&6144&p.getNodeCheckFlags(r);if(P&&(0==(1&n)&&(n|=1,t.enableSubstitution(203),t.enableSubstitution(201),t.enableSubstitution(202),t.enableEmitNotification(252),t.enableEmitNotification(165),t.enableEmitNotification(167),t.enableEmitNotification(168),t.enableEmitNotification(166),t.enableEmitNotification(232)),o.size)){var I=i(c,p,r,o);y[e.getNodeId(I)]=!0,e.insertStatementsAfterStandardPrologue(F,[I])}var O=c.createBlock(F,!0);e.setTextRange(O,r.body),P&&s&&(4096&p.getNodeCheckFlags(r)?e.addEmitHelper(O,e.advancedAsyncSuperHelper):2048&p.getNodeCheckFlags(r)&&e.addEmitHelper(O,e.asyncSuperHelper)),b=O}return a=h,m||(o=E,s=T),b}function j(t,r){return e.isBlock(t)?c.updateBlock(t,e.visitNodes(t.statements,k,e.isStatement,r)):c.converters.convertToFunctionBlock(e.visitNode(t,k,e.isConciseBody))}function J(t){return 105===t.expression.kind?e.setTextRange(c.createPropertyAccessExpression(c.createUniqueName(\"_super\",48),t.name),t):t}function K(t){return 105===t.expression.kind?(r=t.argumentExpression,n=t,4096&m?e.setTextRange(c.createPropertyAccessExpression(c.createCallExpression(c.createUniqueName(\"_superIndex\",48),void 0,[r]),\"value\"),n):e.setTextRange(c.createCallExpression(c.createUniqueName(\"_superIndex\",48),void 0,[r]),n)):t;var r,n}},e.createSuperAccessVariableStatement=i}(u||(u={})),function(e){var t,n;!function(e){e[e.AsyncMethodsWithSuper=1]=\"AsyncMethodsWithSuper\"}(t||(t={})),function(e){e[e.None=0]=\"None\",e[e.HasLexicalThis=1]=\"HasLexicalThis\",e[e.IterationContainer=2]=\"IterationContainer\",e[e.AncestorFactsMask=3]=\"AncestorFactsMask\",e[e.SourceFileIncludes=1]=\"SourceFileIncludes\",e[e.SourceFileExcludes=2]=\"SourceFileExcludes\",e[e.StrictModeSourceFileIncludes=0]=\"StrictModeSourceFileIncludes\",e[e.ClassOrFunctionIncludes=1]=\"ClassOrFunctionIncludes\",e[e.ClassOrFunctionExcludes=2]=\"ClassOrFunctionExcludes\",e[e.ArrowFunctionIncludes=0]=\"ArrowFunctionIncludes\",e[e.ArrowFunctionExcludes=2]=\"ArrowFunctionExcludes\",e[e.IterationStatementIncludes=2]=\"IterationStatementIncludes\",e[e.IterationStatementExcludes=0]=\"IterationStatementExcludes\"}(n||(n={})),e.transformES2018=function(t){var n=t.factory,i=t.getEmitHelperFactory,a=t.resumeLexicalEnvironment,o=t.endLexicalEnvironment,s=t.hoistVariableDeclaration,c=t.getEmitResolver(),u=t.getCompilerOptions(),l=e.getEmitScriptTarget(u),d=t.onEmitNode;t.onEmitNode=function(t,r,n){if(1&p&&function(e){var t=e.kind;return 252===t||166===t||165===t||167===t||168===t}(r)){var i=6144&c.getNodeCheckFlags(r);if(i!==D){var a=D;return D=i,d(t,r,n),void(D=a)}}else if(p&&b[e.getNodeId(r)]){a=D;return D=0,d(t,r,n),void(D=a)}d(t,r,n)};var _=t.onSubstituteNode;t.onSubstituteNode=function(t,i){if(i=_(t,i),1===t&&D)return function(t){switch(t.kind){case 201:return W(t);case 202:return H(t);case 203:return function(t){var i=t.expression;if(e.isSuperProperty(i)){var a=e.isPropertyAccessExpression(i)?W(i):H(i);return n.createCallExpression(n.createPropertyAccessExpression(a,\"call\"),void 0,r([n.createThis()],t.arguments))}return t}(t)}return t}(i);return i};var p,f,g,m,y,v,h=!1,D=0,x=0,b=[];return e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;g=r;var i=function(r){var i=S(2,e.isEffectiveStrictModeSourceFile(r,u)?0:1);h=!1;var a=e.visitEachChild(r,C,t),o=e.concatenate(a.statements,m&&[n.createVariableStatement(void 0,n.createVariableDeclarationList(m))]),s=n.updateSourceFile(a,e.setTextRange(n.createNodeArray(o),r.statements));return E(i),s}(r);return e.addEmitHelpers(i,t.readEmitHelpers()),g=void 0,m=void 0,i}));function S(e,t){var r=x;return x=3&(x&~e|t),r}function E(e){x=e}function T(t){m=e.append(m,n.createVariableDeclaration(t))}function C(e){return P(e,!1)}function k(e){return P(e,!0)}function A(e){if(129!==e.kind)return e}function F(e,t,r,n){if(function(e,t){return x!==(x&~e|t)}(r,n)){var i=S(r,n),a=e(t);return E(i),a}return e(t)}function N(r){return e.visitEachChild(r,C,t)}function P(a,o){if(0==(32&a.transformFlags))return a;switch(a.kind){case 213:return function(r){if(2&f&&1&f)return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,i().createAwaitHelper(e.visitNode(r.expression,C,e.isExpression))),r),r);return e.visitEachChild(r,C,t)}(a);case 219:return function(r){if(2&f&&1&f){if(r.asteriskToken){var a=e.visitNode(e.Debug.assertDefined(r.expression),C,e.isExpression);return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,i().createAwaitHelper(n.updateYieldExpression(r,r.asteriskToken,e.setTextRange(i().createAsyncDelegatorHelper(e.setTextRange(i().createAsyncValuesHelper(a),a)),a)))),r),r)}return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,M(r.expression?e.visitNode(r.expression,C,e.isExpression):n.createVoidZero())),r),r)}return e.visitEachChild(r,C,t)}(a);case 242:return function(r){if(2&f&&1&f)return n.updateReturnStatement(r,M(r.expression?e.visitNode(r.expression,C,e.isExpression):n.createVoidZero()));return e.visitEachChild(r,C,t)}(a);case 245:return function(r){if(2&f){var i=e.unwrapInnermostStatementOfLabel(r);return 239===i.kind&&i.awaitModifier?O(i,r):n.restoreEnclosingLabel(e.visitNode(i,C,e.isStatement,n.liftToBlock),r)}return e.visitEachChild(r,C,t)}(a);case 200:return function(r){if(16384&r.transformFlags){var a=function(t){for(var r,i=[],a=0,o=t;a1){for(var s=1;s=2&&6144&c.getNodeCheckFlags(r);if(g){0==(1&p)&&(p|=1,t.enableSubstitution(203),t.enableSubstitution(201),t.enableSubstitution(202),t.enableEmitNotification(252),t.enableEmitNotification(165),t.enableEmitNotification(167),t.enableEmitNotification(168),t.enableEmitNotification(166),t.enableEmitNotification(232));var m=e.createSuperAccessVariableStatement(n,c,r,y);b[e.getNodeId(m)]=!0,e.insertStatementsAfterStandardPrologue(s,[m])}s.push(f),e.insertStatementsAfterStandardPrologue(s,o());var h=n.updateBlock(r.body,s);return g&&v&&(4096&c.getNodeCheckFlags(r)?e.addEmitHelper(h,e.advancedAsyncSuperHelper):2048&c.getNodeCheckFlags(r)&&e.addEmitHelper(h,e.asyncSuperHelper)),y=d,v=_,h}function V(t){var r;a();var i=0,s=[],c=null!==(r=e.visitNode(t.body,C,e.isConciseBody))&&void 0!==r?r:n.createBlock([]);e.isBlock(c)&&(i=n.copyPrologue(c.statements,s,!1,C)),e.addRange(s,q(void 0,t));var u=o();if(i>0||e.some(s)||e.some(u)){var l=n.converters.convertToFunctionBlock(c,!0);return e.insertStatementsAfterStandardPrologue(s,u),e.addRange(s,l.statements.slice(i)),n.updateBlock(l,e.setTextRange(n.createNodeArray(s),l.statements))}return c}function q(r,i){for(var a=0,o=i.parameters;a1?\"jsxs\":\"jsx\"}(e))}function l(t){var r,n,o=\"createElement\"===t?i.importSpecifier:e.getJSXRuntimeImport(i.importSpecifier,s),c=null===(n=null===(r=i.utilizedImplicitRuntimeImports)||void 0===r?void 0:r.get(o))||void 0===n?void 0:n.get(t);if(c)return c.name;i.utilizedImplicitRuntimeImports||(i.utilizedImplicitRuntimeImports=e.createMap());var u=i.utilizedImplicitRuntimeImports.get(o);u||(u=e.createMap(),i.utilizedImplicitRuntimeImports.set(o,u));var l=a.createUniqueName(\"_\"+t,112),d=a.createImportSpecifier(a.createIdentifier(t),l);return l.generatedImportReference=d,u.set(t,d),l}function d(t){return 2&t.transformFlags?function(t){switch(t.kind){case 273:return f(t,!1);case 274:return g(t,!1);case 277:return m(t,!1);case 283:return F(t);default:return e.visitEachChild(t,d,r)}}(t):t}function _(t){switch(t.kind){case 11:return function(t){var r=function(t){for(var r,n=0,i=-1,a=0;a1?a.createTrue():a.createFalse());var f=e.getLineAndCharacterOfPosition(p,d.pos);_.push(a.createObjectLiteralExpression([a.createPropertyAssignment(\"fileName\",c()),a.createPropertyAssignment(\"lineNumber\",a.createNumericLiteral(f.line+1)),a.createPropertyAssignment(\"columnNumber\",a.createNumericLiteral(f.character+1))])),_.push(a.createThis())}}var g=e.setTextRange(a.createCallExpression(u(o),void 0,_),d);return l&&e.startOnNewLine(g),g}function D(t,c,u,d){var p,f=A(t),g=t.attributes.properties;if(0===g.length)p=a.createNull();else{var m=e.flatten(e.spanMap(g,e.isJsxSpreadAttribute,(function(t,r){return r?e.map(t,S):a.createObjectLiteralExpression(e.map(t,E))})));e.isJsxSpreadAttribute(g[0])&&m.unshift(a.createObjectLiteralExpression()),(p=e.singleOrUndefined(m))||(p=o().createAssignHelper(m))}var y=void 0===i.importSpecifier?e.createJsxFactoryExpression(a,r.getEmitResolver().getJsxFactoryEntity(n),s.reactNamespace,t):l(\"createElement\"),v=e.createExpressionForJsxElement(a,y,f,p,e.mapDefined(c,_),d);return u&&e.startOnNewLine(v),v}function x(t,r,n,i){var o;if(r&&r.length){var s=y(r);s&&(o=s)}return h(l(\"Fragment\"),o||a.createObjectLiteralExpression([]),void 0,e.length(e.getSemanticJsxChildren(r)),n,i)}function b(t,i,o,c){var u=e.createExpressionForJsxFragment(a,r.getEmitResolver().getJsxFactoryEntity(n),r.getEmitResolver().getJsxFragmentFactoryEntity(n),s.reactNamespace,e.mapDefined(i,_),t,c);return o&&e.startOnNewLine(u),u}function S(t){return e.visitNode(t.expression,d,e.isExpression)}function E(t){var r=function(t){var r=t.name,n=e.idText(r);return/^[A-Za-z_]\\w*$/.test(n)?r:a.createStringLiteral(n)}(t),n=T(t.initializer);return a.createPropertyAssignment(r,n)}function T(t){if(void 0===t)return a.createTrue();if(10===t.kind){var r=void 0!==t.singleQuote?t.singleQuote:!e.isStringDoubleQuoted(t,n),i=a.createStringLiteral((o=t.text,((s=k(o))===o?void 0:s)||t.text),r);return e.setTextRange(i,t)}return 283===t.kind?void 0===t.expression?a.createTrue():e.visitNode(t.expression,d,e.isExpression):e.Debug.failBadSyntaxKind(t);var o,s}function C(e,t){var r=k(t);return void 0===e?r:e+\" \"+r}function k(r){return r.replace(/&((#((\\d+)|x([\\da-fA-F]+)))|(\\w+));/g,(function(r,n,i,a,o,s,c){if(o)return e.utf16EncodeAsString(parseInt(o,10));if(s)return e.utf16EncodeAsString(parseInt(s,16));var u=t.get(c);return u?e.utf16EncodeAsString(u):r}))}function A(t){if(273===t.kind)return A(t.openingElement);var r=t.tagName;return e.isIdentifier(r)&&e.isIntrinsicJsxName(r.escapedText)?a.createStringLiteral(e.idText(r)):e.createExpressionFromEntityName(a,r)}function F(t){return e.visitNode(t.expression,d,e.isExpression)}};var t=new e.Map(e.getEntries({quot:34,amp:38,apos:39,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830}))}(u||(u={})),function(e){e.transformES2016=function(t){var r=t.factory,n=t.hoistVariableDeclaration;return e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;return e.visitEachChild(r,i,t)}));function i(a){if(0==(128&a.transformFlags))return a;switch(a.kind){case 216:return function(a){switch(a.operatorToken.kind){case 66:return function(t){var a,o,s=e.visitNode(t.left,i,e.isExpression),c=e.visitNode(t.right,i,e.isExpression);if(e.isElementAccessExpression(s)){var u=r.createTempVariable(n),l=r.createTempVariable(n);a=e.setTextRange(r.createElementAccessExpression(e.setTextRange(r.createAssignment(u,s.expression),s.expression),e.setTextRange(r.createAssignment(l,s.argumentExpression),s.argumentExpression)),s),o=e.setTextRange(r.createElementAccessExpression(u,l),s)}else if(e.isPropertyAccessExpression(s)){u=r.createTempVariable(n);a=e.setTextRange(r.createPropertyAccessExpression(e.setTextRange(r.createAssignment(u,s.expression),s.expression),s.name),s),o=e.setTextRange(r.createPropertyAccessExpression(u,s.name),s)}else a=s,o=s;return e.setTextRange(r.createAssignment(a,e.setTextRange(r.createGlobalMethodCall(\"Math\",\"pow\",[o,c]),t)),t)}(a);case 42:return function(t){var n=e.visitNode(t.left,i,e.isExpression),a=e.visitNode(t.right,i,e.isExpression);return e.setTextRange(r.createGlobalMethodCall(\"Math\",\"pow\",[n,a]),t)}(a);default:return e.visitEachChild(a,i,t)}}(a);default:return e.visitEachChild(a,i,t)}}}}(u||(u={})),function(e){var t,n,i,a,o;!function(e){e[e.CapturedThis=1]=\"CapturedThis\",e[e.BlockScopedBindings=2]=\"BlockScopedBindings\"}(t||(t={})),function(e){e[e.Body=1]=\"Body\",e[e.Initializer=2]=\"Initializer\"}(n||(n={})),function(e){e[e.ToOriginal=0]=\"ToOriginal\",e[e.ToOutParameter=1]=\"ToOutParameter\"}(i||(i={})),function(e){e[e.Break=2]=\"Break\",e[e.Continue=4]=\"Continue\",e[e.Return=8]=\"Return\"}(a||(a={})),function(e){e[e.None=0]=\"None\",e[e.Function=1]=\"Function\",e[e.ArrowFunction=2]=\"ArrowFunction\",e[e.AsyncFunctionBody=4]=\"AsyncFunctionBody\",e[e.NonStaticClassElement=8]=\"NonStaticClassElement\",e[e.CapturesThis=16]=\"CapturesThis\",e[e.ExportedVariableStatement=32]=\"ExportedVariableStatement\",e[e.TopLevel=64]=\"TopLevel\",e[e.Block=128]=\"Block\",e[e.IterationStatement=256]=\"IterationStatement\",e[e.IterationStatementBlock=512]=\"IterationStatementBlock\",e[e.IterationContainer=1024]=\"IterationContainer\",e[e.ForStatement=2048]=\"ForStatement\",e[e.ForInOrForOfStatement=4096]=\"ForInOrForOfStatement\",e[e.ConstructorWithCapturedSuper=8192]=\"ConstructorWithCapturedSuper\",e[e.AncestorFactsMask=16383]=\"AncestorFactsMask\",e[e.BlockScopeIncludes=0]=\"BlockScopeIncludes\",e[e.BlockScopeExcludes=7104]=\"BlockScopeExcludes\",e[e.SourceFileIncludes=64]=\"SourceFileIncludes\",e[e.SourceFileExcludes=8064]=\"SourceFileExcludes\",e[e.FunctionIncludes=65]=\"FunctionIncludes\",e[e.FunctionExcludes=16286]=\"FunctionExcludes\",e[e.AsyncFunctionBodyIncludes=69]=\"AsyncFunctionBodyIncludes\",e[e.AsyncFunctionBodyExcludes=16278]=\"AsyncFunctionBodyExcludes\",e[e.ArrowFunctionIncludes=66]=\"ArrowFunctionIncludes\",e[e.ArrowFunctionExcludes=15232]=\"ArrowFunctionExcludes\",e[e.ConstructorIncludes=73]=\"ConstructorIncludes\",e[e.ConstructorExcludes=16278]=\"ConstructorExcludes\",e[e.DoOrWhileStatementIncludes=1280]=\"DoOrWhileStatementIncludes\",e[e.DoOrWhileStatementExcludes=0]=\"DoOrWhileStatementExcludes\",e[e.ForStatementIncludes=3328]=\"ForStatementIncludes\",e[e.ForStatementExcludes=5056]=\"ForStatementExcludes\",e[e.ForInOrForOfStatementIncludes=5376]=\"ForInOrForOfStatementIncludes\",e[e.ForInOrForOfStatementExcludes=3008]=\"ForInOrForOfStatementExcludes\",e[e.BlockIncludes=128]=\"BlockIncludes\",e[e.BlockExcludes=6976]=\"BlockExcludes\",e[e.IterationStatementBlockIncludes=512]=\"IterationStatementBlockIncludes\",e[e.IterationStatementBlockExcludes=7104]=\"IterationStatementBlockExcludes\",e[e.NewTarget=16384]=\"NewTarget\",e[e.CapturedLexicalThis=32768]=\"CapturedLexicalThis\",e[e.SubtreeFactsMask=-16384]=\"SubtreeFactsMask\",e[e.ArrowFunctionSubtreeExcludes=0]=\"ArrowFunctionSubtreeExcludes\",e[e.FunctionSubtreeExcludes=49152]=\"FunctionSubtreeExcludes\"}(o||(o={})),e.transformES2015=function(t){var n,i,a,o,s,c,u=t.factory,l=t.getEmitHelperFactory,d=t.startLexicalEnvironment,_=t.resumeLexicalEnvironment,p=t.endLexicalEnvironment,f=t.hoistVariableDeclaration,g=t.getCompilerOptions(),m=t.getEmitResolver(),y=t.onSubstituteNode,v=t.onEmitNode;function h(t){o=e.append(o,u.createVariableDeclaration(t))}return t.onEmitNode=function(t,r,n){if(1&c&&e.isFunctionLike(r)){var i=D(16286,8&e.getEmitFlags(r)?81:65);return v(t,r,n),void x(i,0,0)}v(t,r,n)},t.onSubstituteNode=function(t,r){if(r=y(t,r),1===t)return function(t){switch(t.kind){case 78:return function(t){if(2&c&&!e.isInternalName(t)){var r=m.getReferencedDeclarationWithCollidingName(t);if(r&&(!e.isClassLike(r)||!function(t,r){var n=e.getParseTreeNode(r);if(!n||n===t||n.end<=t.pos||n.pos>=t.end)return!1;var i=e.getEnclosingBlockScopeContainer(t);for(;n;){if(n===i||n===t)return!1;if(e.isClassElement(n)&&n.parent===t)return!0;n=n.parent}return!1}(r,t)))return e.setTextRange(u.getGeneratedNameForNode(e.getNameOfDeclaration(r)),t)}return t}(t);case 107:return function(t){if(1&c&&16&a)return e.setTextRange(u.createUniqueName(\"_this\",48),t);return t}(t)}return t}(r);if(e.isIdentifier(r))return function(t){if(2&c&&!e.isInternalName(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r&&function(e){switch(e.parent.kind){case 198:case 252:case 255:case 249:return e.parent.name===e&&m.isDeclarationWithCollidingName(e.parent)}return!1}(r))return e.setTextRange(u.getGeneratedNameForNode(r),t)}return t}(r);return r},e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;n=r,i=r.text;var s=function(t){var r=D(8064,64),n=[],i=[];d();var a=u.copyPrologue(t.statements,n,!1,E);e.addRange(i,e.visitNodes(t.statements,E,e.isStatement,a)),o&&i.push(u.createVariableStatement(void 0,u.createVariableDeclarationList(o)));return u.mergeLexicalEnvironment(n,p()),j(n,t),x(r,0,0),u.updateSourceFile(t,e.setTextRange(u.createNodeArray(e.concatenate(n,i)),t.statements))}(r);return e.addEmitHelpers(s,t.readEmitHelpers()),n=void 0,i=void 0,o=void 0,a=0,s}));function D(e,t){var r=a;return a=16383&(a&~e|t),r}function x(e,t,r){a=-16384&(a&~t|r)|e}function b(e){return 0!=(8192&a)&&242===e.kind&&!e.expression}function S(t){return 0!=(256&t.transformFlags)||void 0!==s||8192&a&&function(t){return 1048576&t.transformFlags&&(e.isReturnStatement(t)||e.isIfStatement(t)||e.isWithStatement(t)||e.isSwitchStatement(t)||e.isCaseBlock(t)||e.isCaseClause(t)||e.isDefaultClause(t)||e.isTryStatement(t)||e.isCatchClause(t)||e.isLabeledStatement(t)||e.isIterationStatement(t,!1)||e.isBlock(t))}(t)||e.isIterationStatement(t,!1)&&de(t)||0!=(33554432&e.getEmitFlags(t))}function E(e){return S(e)?k(e,!1):e}function T(e){return S(e)?k(e,!0):e}function C(e){return 105===e.kind?we(!0):E(e)}function k(i,o){switch(i.kind){case 123:return;case 252:return function(t){var r=u.createVariableDeclaration(u.getLocalName(t,!0),void 0,void 0,N(t));e.setOriginalNode(r,t);var n=[],i=u.createVariableStatement(void 0,u.createVariableDeclarationList([r]));if(e.setOriginalNode(i,t),e.setTextRange(i,t),e.startOnNewLine(i),n.push(i),e.hasSyntacticModifier(t,1)){var a=e.hasSyntacticModifier(t,512)?u.createExportDefault(u.getLocalName(t)):u.createExternalModuleExport(u.getLocalName(t));e.setOriginalNode(a,i),n.push(a)}var o=e.getEmitFlags(t);0==(4194304&o)&&(n.push(u.createEndOfDeclarationMarker(t)),e.setEmitFlags(i,4194304|o));return e.singleOrMany(n)}(i);case 221:return function(e){return N(e)}(i);case 160:return function(t){return t.dotDotDotToken?void 0:e.isBindingPattern(t.name)?e.setOriginalNode(e.setTextRange(u.createParameterDeclaration(void 0,void 0,void 0,u.getGeneratedNameForNode(t),void 0,void 0,void 0),t),t):t.initializer?e.setOriginalNode(e.setTextRange(u.createParameterDeclaration(void 0,void 0,void 0,t.name,void 0,void 0,void 0),t),t):t}(i);case 251:return function(r){var n=s;s=void 0;var i=D(16286,65),o=e.visitParameterList(r.parameters,E,t),c=H(r),l=16384&a?u.getLocalName(r):r.name;return x(i,49152,0),s=n,u.updateFunctionDeclaration(r,void 0,e.visitNodes(r.modifiers,E,e.isModifier),r.asteriskToken,l,void 0,o,void 0,c)}(i);case 209:return function(r){4096&r.transformFlags&&(a|=32768);var n=s;s=void 0;var i=D(15232,66),o=u.createFunctionExpression(void 0,void 0,void 0,void 0,e.visitParameterList(r.parameters,E,t),void 0,H(r));e.setTextRange(o,r),e.setOriginalNode(o,r),e.setEmitFlags(o,8),32768&a&&Oe();return x(i,0,0),s=n,o}(i);case 208:return function(r){var n=262144&e.getEmitFlags(r)?D(16278,69):D(16286,65),i=s;s=void 0;var o=e.visitParameterList(r.parameters,E,t),c=H(r),l=16384&a?u.getLocalName(r):r.name;return x(n,49152,0),s=i,u.updateFunctionExpression(r,void 0,r.asteriskToken,l,void 0,o,void 0,c)}(i);case 249:return X(i);case 78:return F(i);case 250:return function(r){if(3&r.flags||131072&r.transformFlags){3&r.flags&&Ie();var n=e.flatMap(r.declarations,1&r.flags?Y:X),i=u.createVariableDeclarationList(n);return e.setOriginalNode(i,r),e.setTextRange(i,r),e.setCommentRange(i,r),131072&r.transformFlags&&(e.isBindingPattern(r.declarations[0].name)||e.isBindingPattern(e.last(r.declarations).name))&&e.setSourceMapRange(i,function(t){for(var r=-1,n=-1,i=0,a=t;i0?(e.insertStatementAfterCustomPrologue(r,e.setEmitFlags(u.createVariableStatement(void 0,u.createVariableDeclarationList(e.flattenDestructuringBinding(n,E,t,0,u.getGeneratedNameForNode(n)))),1048576)),!0):!!a&&(e.insertStatementAfterCustomPrologue(r,e.setEmitFlags(u.createExpressionStatement(u.createAssignment(u.getGeneratedNameForNode(n),e.visitNode(a,E,e.isExpression))),1048576)),!0)}function R(t,r,n,i){i=e.visitNode(i,E,e.isExpression);var a=u.createIfStatement(u.createTypeCheck(u.cloneNode(n),\"undefined\"),e.setEmitFlags(e.setTextRange(u.createBlock([u.createExpressionStatement(e.setEmitFlags(e.setTextRange(u.createAssignment(e.setEmitFlags(e.setParent(e.setTextRange(u.cloneNode(n),n),n.parent),48),e.setEmitFlags(i,1584|e.getEmitFlags(i))),r),1536))]),r),1953));e.startOnNewLine(a),e.setTextRange(a,r),e.setEmitFlags(a,1050528),e.insertStatementAfterCustomPrologue(t,a)}function B(r,n,i){var a=[],o=e.lastOrUndefined(n.parameters);if(!function(e,t){return!(!e||!e.dotDotDotToken||t)}(o,i))return!1;var s=78===o.name.kind?e.setParent(e.setTextRange(u.cloneNode(o.name),o.name),o.name.parent):u.createTempVariable(void 0);e.setEmitFlags(s,48);var c=78===o.name.kind?u.cloneNode(o.name):s,l=n.parameters.length-1,d=u.createLoopVariable();a.push(e.setEmitFlags(e.setTextRange(u.createVariableStatement(void 0,u.createVariableDeclarationList([u.createVariableDeclaration(s,void 0,void 0,u.createArrayLiteralExpression([]))])),o),1048576));var _=u.createForStatement(e.setTextRange(u.createVariableDeclarationList([u.createVariableDeclaration(d,void 0,void 0,u.createNumericLiteral(l))]),o),e.setTextRange(u.createLessThan(d,u.createPropertyAccessExpression(u.createIdentifier(\"arguments\"),\"length\")),o),e.setTextRange(u.createPostfixIncrement(d),o),u.createBlock([e.startOnNewLine(e.setTextRange(u.createExpressionStatement(u.createAssignment(u.createElementAccessExpression(c,0===l?d:u.createSubtract(d,u.createNumericLiteral(l))),u.createElementAccessExpression(u.createIdentifier(\"arguments\"),d))),o))]));return e.setEmitFlags(_,1048576),e.startOnNewLine(_),a.push(_),78!==o.name.kind&&a.push(e.setEmitFlags(e.setTextRange(u.createVariableStatement(void 0,u.createVariableDeclarationList(e.flattenDestructuringBinding(o,E,t,0,c))),o),1048576)),e.insertStatementsAfterCustomPrologue(r,a),!0}function j(e,t){return!!(32768&a&&209!==t.kind)&&(J(e,t,u.createThis()),!0)}function J(t,r,n){Oe();var i=u.createVariableStatement(void 0,u.createVariableDeclarationList([u.createVariableDeclaration(u.createUniqueName(\"_this\",48),void 0,void 0,n)]));e.setEmitFlags(i,1050112),e.setSourceMapRange(i,r),e.insertStatementAfterCustomPrologue(t,i)}function K(t,r,n){if(16384&a){var i=void 0;switch(r.kind){case 209:return t;case 165:case 167:case 168:i=u.createVoidZero();break;case 166:i=u.createPropertyAccessExpression(e.setEmitFlags(u.createThis(),4),\"constructor\");break;case 251:case 208:i=u.createConditionalExpression(u.createLogicalAnd(e.setEmitFlags(u.createThis(),4),u.createBinaryExpression(e.setEmitFlags(u.createThis(),4),101,u.getLocalName(r))),void 0,u.createPropertyAccessExpression(e.setEmitFlags(u.createThis(),4),\"constructor\"),void 0,u.createVoidZero());break;default:return e.Debug.failBadSyntaxKind(r)}var o=u.createVariableStatement(void 0,u.createVariableDeclarationList([u.createVariableDeclaration(u.createUniqueName(\"_newTarget\",48),void 0,void 0,i)]));e.setEmitFlags(o,1050112),n&&(t=t.slice()),e.insertStatementAfterCustomPrologue(t,o)}return t}function z(t){return e.setTextRange(u.createEmptyStatement(),t)}function U(r,n,i){var a,o=e.getCommentRange(n),s=e.getSourceMapRange(n),c=W(n,n,void 0,i),l=e.visitNode(n.name,E,e.isPropertyName);if(!e.isPrivateIdentifier(l)&&t.getCompilerOptions().useDefineForClassFields){var d=e.isComputedPropertyName(l)?l.expression:e.isIdentifier(l)?u.createStringLiteral(e.unescapeLeadingUnderscores(l.escapedText)):l;a=u.createObjectDefinePropertyCall(r,d,u.createPropertyDescriptor({value:c,enumerable:!1,writable:!0,configurable:!0}))}else{var _=e.createMemberAccessForPropertyName(u,r,l,n.name);a=u.createAssignment(_,c)}e.setEmitFlags(c,1536),e.setSourceMapRange(c,s);var p=e.setTextRange(u.createExpressionStatement(a),n);return e.setOriginalNode(p,n),e.setCommentRange(p,o),e.setEmitFlags(p,48),p}function V(t,r,n){var i=u.createExpressionStatement(q(t,r,n,!1));return e.setEmitFlags(i,1536),e.setSourceMapRange(i,e.getSourceMapRange(r.firstAccessor)),i}function q(t,r,n,i){var a=r.firstAccessor,o=r.getAccessor,s=r.setAccessor,c=e.setParent(e.setTextRange(u.cloneNode(t),t),t.parent);e.setEmitFlags(c,1568),e.setSourceMapRange(c,a.name);var l=e.visitNode(a.name,E,e.isPropertyName);if(e.isPrivateIdentifier(l))return e.Debug.failBadSyntaxKind(l,\"Encountered unhandled private identifier while transforming ES2015.\");var d=e.createExpressionForPropertyName(u,l);e.setEmitFlags(d,1552),e.setSourceMapRange(d,a.name);var _=[];if(o){var p=W(o,void 0,void 0,n);e.setSourceMapRange(p,e.getSourceMapRange(o)),e.setEmitFlags(p,512);var f=u.createPropertyAssignment(\"get\",p);e.setCommentRange(f,e.getCommentRange(o)),_.push(f)}if(s){var g=W(s,void 0,void 0,n);e.setSourceMapRange(g,e.getSourceMapRange(s)),e.setEmitFlags(g,512);var m=u.createPropertyAssignment(\"set\",g);e.setCommentRange(m,e.getCommentRange(s)),_.push(m)}_.push(u.createPropertyAssignment(\"enumerable\",o||s?u.createFalse():u.createTrue()),u.createPropertyAssignment(\"configurable\",u.createTrue()));var y=u.createCallExpression(u.createPropertyAccessExpression(u.createIdentifier(\"Object\"),\"defineProperty\"),void 0,[c,d,u.createObjectLiteralExpression(_,!0)]);return i&&e.startOnNewLine(y),y}function W(r,n,i,o){var c=s;s=void 0;var l=o&&e.isClassLike(o)&&!e.hasSyntacticModifier(r,32)?D(16286,73):D(16286,65),d=e.visitParameterList(r.parameters,E,t),_=H(r);return 16384&a&&!i&&(251===r.kind||208===r.kind)&&(i=u.getGeneratedNameForNode(r)),x(l,49152,0),s=c,e.setOriginalNode(e.setTextRange(u.createFunctionExpression(void 0,r.asteriskToken,i,void 0,d,void 0,_),n),r)}function H(t){var r,i,a,o=!1,s=!1,c=[],l=[],d=t.body;if(_(),e.isBlock(d)&&(a=u.copyStandardPrologue(d.statements,c,!1),a=u.copyCustomPrologue(d.statements,l,a,E,e.isHoistedFunction),a=u.copyCustomPrologue(d.statements,l,a,E,e.isHoistedVariableStatement)),o=M(l,t)||o,o=B(l,t,!1)||o,e.isBlock(d))a=u.copyCustomPrologue(d.statements,l,a,E),r=d.statements,e.addRange(l,e.visitNodes(d.statements,E,e.isStatement,a)),!o&&d.multiLine&&(o=!0);else{e.Debug.assert(209===t.kind),r=e.moveRangeEnd(d,-1);var f=t.equalsGreaterThanToken;e.nodeIsSynthesized(f)||e.nodeIsSynthesized(d)||(e.rangeEndIsOnSameLineAsRangeStart(f,d,n)?s=!0:o=!0);var g=e.visitNode(d,E,e.isExpression),m=u.createReturnStatement(g);e.setTextRange(m,d),e.moveSyntheticComments(m,d),e.setEmitFlags(m,1440),l.push(m),i=d}if(u.mergeLexicalEnvironment(c,p()),K(c,t,!1),j(c,t),e.some(c)&&(o=!0),l.unshift.apply(l,c),e.isBlock(d)&&e.arrayIsEqualTo(l,d.statements))return d;var y=u.createBlock(e.setTextRange(u.createNodeArray(l),r),o);return e.setTextRange(y,t.body),!o&&s&&e.setEmitFlags(y,1),i&&e.setTokenSourceMapRange(y,19,i),e.setOriginalNode(y,t.body),y}function G(r,n){return e.isDestructuringAssignment(r)?e.flattenDestructuringAssignment(r,E,t,0,!n):27===r.operatorToken.kind?u.updateBinaryExpression(r,e.visitNode(r.left,T,e.isExpression),r.operatorToken,e.visitNode(r.right,n?T:E,e.isExpression)):e.visitEachChild(r,E,t)}function Y(r){var n=r.name;return e.isBindingPattern(n)?X(r):!r.initializer&&function(e){var t=m.getNodeCheckFlags(e),r=262144&t,n=524288&t;return!(0!=(64&a)||r&&n&&0!=(512&a))&&0==(4096&a)&&(!m.isDeclarationWithCollidingName(e)||n&&!r&&0==(6144&a))}(r)?u.updateVariableDeclaration(r,r.name,void 0,void 0,u.createVoidZero()):e.visitEachChild(r,E,t)}function X(r){var n,i=D(32,0);return n=e.isBindingPattern(r.name)?e.flattenDestructuringBinding(r,E,t,0,void 0,0!=(32&i)):e.visitEachChild(r,E,t),x(i,0,0),n}function Q(t){s.labels.set(e.idText(t.label),!0)}function $(t){s.labels.set(e.idText(t.label),!1)}function Z(r,n,i,o,c){var l=D(r,n),_=function(r,n,i,o){if(!de(r)){var c=void 0;s&&(c=s.allowedNonLabeledJumps,s.allowedNonLabeledJumps=6);var l=o?o(r,n,void 0,i):u.restoreEnclosingLabel(e.isForStatement(r)?function(t){return u.updateForStatement(t,e.visitNode(t.initializer,T,e.isForInitializer),e.visitNode(t.condition,E,e.isExpression),e.visitNode(t.incrementor,T,e.isExpression),e.visitNode(t.statement,E,e.isStatement,u.liftToBlock))}(r):e.visitEachChild(r,E,t),n,s&&$);return s&&(s.allowedNonLabeledJumps=c),l}var _=function(t){var r;switch(t.kind){case 237:case 238:case 239:var n=t.initializer;n&&250===n.kind&&(r=n)}var i=[],a=[];if(r&&3&e.getCombinedNodeFlags(r))for(var o=ue(t),c=0,u=r.declarations;c=80&&r<=115)return e.setTextRange(i.createStringLiteralFromNode(t),t)}}}(u||(u={})),function(e){var t,n,i,a,o;!function(e){e[e.Nop=0]=\"Nop\",e[e.Statement=1]=\"Statement\",e[e.Assign=2]=\"Assign\",e[e.Break=3]=\"Break\",e[e.BreakWhenTrue=4]=\"BreakWhenTrue\",e[e.BreakWhenFalse=5]=\"BreakWhenFalse\",e[e.Yield=6]=\"Yield\",e[e.YieldStar=7]=\"YieldStar\",e[e.Return=8]=\"Return\",e[e.Throw=9]=\"Throw\",e[e.Endfinally=10]=\"Endfinally\"}(t||(t={})),function(e){e[e.Open=0]=\"Open\",e[e.Close=1]=\"Close\"}(n||(n={})),function(e){e[e.Exception=0]=\"Exception\",e[e.With=1]=\"With\",e[e.Switch=2]=\"Switch\",e[e.Loop=3]=\"Loop\",e[e.Labeled=4]=\"Labeled\"}(i||(i={})),function(e){e[e.Try=0]=\"Try\",e[e.Catch=1]=\"Catch\",e[e.Finally=2]=\"Finally\",e[e.Done=3]=\"Done\"}(a||(a={})),function(e){e[e.Next=0]=\"Next\",e[e.Throw=1]=\"Throw\",e[e.Return=2]=\"Return\",e[e.Break=3]=\"Break\",e[e.Yield=4]=\"Yield\",e[e.YieldStar=5]=\"YieldStar\",e[e.Catch=6]=\"Catch\",e[e.Endfinally=7]=\"Endfinally\"}(o||(o={})),e.transformGenerators=function(t){var n,i,a,o,s,c,u,l,d,_,p=t.factory,f=t.getEmitHelperFactory,g=t.resumeLexicalEnvironment,m=t.endLexicalEnvironment,y=t.hoistFunctionDeclaration,v=t.hoistVariableDeclaration,h=t.getCompilerOptions(),D=e.getEmitScriptTarget(h),x=t.getEmitResolver(),b=t.onSubstituteNode;t.onSubstituteNode=function(t,r){if(r=b(t,r),1===t)return function(t){if(e.isIdentifier(t))return function(t){if(!e.isGeneratedIdentifier(t)&&n&&n.has(e.idText(t))){var r=e.getOriginalNode(t);if(e.isIdentifier(r)&&r.parent){var a=x.getReferencedValueDeclaration(r);if(a){var o=i[e.getOriginalNodeId(a)];if(o){var s=e.setParent(e.setTextRange(p.cloneNode(o),o),o.parent);return e.setSourceMapRange(s,t),e.setCommentRange(s,t),s}}}}return t}(t);return t}(r);return r};var S,E,T,C,k,A,F,N,P,w,I,O,M=1,L=0,R=0;return e.chainBundle(t,(function(r){if(r.isDeclarationFile||0==(512&r.transformFlags))return r;var n=e.visitEachChild(r,B,t);return e.addEmitHelpers(n,t.readEmitHelpers()),n}));function B(r){var n=r.transformFlags;return o?function(r){switch(r.kind){case 235:case 236:return function(r){return o?(oe(),r=e.visitEachChild(r,B,t),ce(),r):e.visitEachChild(r,B,t)}(r);case 244:return function(r){o&&re({kind:2,isScript:!0,breakLabel:-1});r=e.visitEachChild(r,B,t),o&&ue();return r}(r);case 245:return function(r){o&&re({kind:4,isScript:!0,labelText:e.idText(r.label),breakLabel:-1});r=e.visitEachChild(r,B,t),o&&le();return r}(r);default:return j(r)}}(r):a?j(r):e.isFunctionLikeDeclaration(r)&&r.asteriskToken?function(t){switch(t.kind){case 251:return J(t);case 208:return K(t);default:return e.Debug.failBadSyntaxKind(t)}}(r):512&n?e.visitEachChild(r,B,t):r}function j(r){switch(r.kind){case 251:return J(r);case 208:return K(r);case 167:case 168:return function(r){var n=a,i=o;return a=!1,o=!1,r=e.visitEachChild(r,B,t),a=n,o=i,r}(r);case 232:return function(t){if(262144&t.transformFlags)return void G(t.declarationList);if(1048576&e.getEmitFlags(t))return t;for(var r=0,n=t.declarationList.declarations;r0?p.inlineExpressions(e.map(c,Y)):void 0,e.visitNode(r.condition,B,e.isExpression),e.visitNode(r.incrementor,B,e.isExpression),e.visitNode(r.statement,B,e.isStatement,p.liftToBlock))}else r=e.visitEachChild(r,B,t);o&&ce();return r}(r);case 238:return function(r){o&&oe();var n=r.initializer;if(e.isVariableDeclarationList(n)){for(var i=0,a=n.declarations;i0)return he(n,r)}return e.visitEachChild(r,B,t)}(r);case 240:return function(r){if(o){var n=me(r.label&&e.idText(r.label));if(n>0)return he(n,r)}return e.visitEachChild(r,B,t)}(r);case 242:return function(t){return r=e.visitNode(t.expression,B,e.isExpression),n=t,e.setTextRange(p.createReturnStatement(p.createArrayLiteralExpression(r?[ve(2),r]:[ve(2)])),n);var r,n}(r);default:return 262144&r.transformFlags?function(r){switch(r.kind){case 216:return function(r){var n=e.getExpressionAssociativity(r);switch(n){case 0:return function(r){if(X(r.right))return e.isLogicalOperator(r.operatorToken.kind)?function(t){var r=ee(),n=Z();be(n,e.visitNode(t.left,B,e.isExpression),t.left),55===t.operatorToken.kind?Te(r,n,t.left):Ee(r,n,t.left);return be(n,e.visitNode(t.right,B,e.isExpression),t.right),te(r),n}(r):27===r.operatorToken.kind?U(r):p.updateBinaryExpression(r,$(e.visitNode(r.left,B,e.isExpression)),r.operatorToken,e.visitNode(r.right,B,e.isExpression));return e.visitEachChild(r,B,t)}(r);case 1:return function(r){var n=r.left,i=r.right;if(X(i)){var a=void 0;switch(n.kind){case 201:a=p.updatePropertyAccessExpression(n,$(e.visitNode(n.expression,B,e.isLeftHandSideExpression)),n.name);break;case 202:a=p.updateElementAccessExpression(n,$(e.visitNode(n.expression,B,e.isLeftHandSideExpression)),$(e.visitNode(n.argumentExpression,B,e.isExpression)));break;default:a=e.visitNode(n,B,e.isExpression)}var o=r.operatorToken.kind;return e.isCompoundAssignment(o)?e.setTextRange(p.createAssignment(a,e.setTextRange(p.createBinaryExpression($(a),e.getNonAssignmentOperatorForCompoundAssignment(o),e.visitNode(i,B,e.isExpression)),r)),r):p.updateBinaryExpression(r,a,r.operatorToken,e.visitNode(i,B,e.isExpression))}return e.visitEachChild(r,B,t)}(r);default:return e.Debug.assertNever(n)}}(r);case 337:return function(t){for(var r=[],n=0,i=t.elements;n0&&(Ce(1,[p.createExpressionStatement(p.inlineExpressions(r))]),r=[]),r.push(e.visitNode(a,B,e.isExpression)))}return p.inlineExpressions(r)}(r);case 217:return function(r){if(X(r.whenTrue)||X(r.whenFalse)){var n=ee(),i=ee(),a=Z();return Te(n,e.visitNode(r.condition,B,e.isExpression),r.condition),be(a,e.visitNode(r.whenTrue,B,e.isExpression),r.whenTrue),Se(i),te(n),be(a,e.visitNode(r.whenFalse,B,e.isExpression),r.whenFalse),te(i),a}return e.visitEachChild(r,B,t)}(r);case 219:return function(t){var r=ee(),n=e.visitNode(t.expression,B,e.isExpression);if(t.asteriskToken){!function(e,t){Ce(7,[e],t)}(0==(8388608&e.getEmitFlags(t.expression))?e.setTextRange(f().createValuesHelper(n),t):n,t)}else!function(e,t){Ce(6,[e],t)}(n,t);return te(r),function(t){return e.setTextRange(p.createCallExpression(p.createPropertyAccessExpression(C,\"sent\"),void 0,[]),t)}(t)}(r);case 199:return function(e){return V(e.elements,void 0,void 0,e.multiLine)}(r);case 200:return function(t){var r=t.properties,n=t.multiLine,i=Q(r),a=Z();be(a,p.createObjectLiteralExpression(e.visitNodes(r,B,e.isObjectLiteralElementLike,0,i),n));var o=e.reduceLeft(r,s,[],i);return o.push(n?e.startOnNewLine(e.setParent(e.setTextRange(p.cloneNode(a),a),a.parent)):a),p.inlineExpressions(o);function s(r,i){X(i)&&r.length>0&&(xe(p.createExpressionStatement(p.inlineExpressions(r))),r=[]);var o=e.createExpressionForObjectLiteralElementLike(p,t,i,a),s=e.visitNode(o,B,e.isExpression);return s&&(n&&e.startOnNewLine(s),r.push(s)),r}}(r);case 202:return function(r){if(X(r.argumentExpression))return p.updateElementAccessExpression(r,$(e.visitNode(r.expression,B,e.isLeftHandSideExpression)),e.visitNode(r.argumentExpression,B,e.isExpression));return e.visitEachChild(r,B,t)}(r);case 203:return function(r){if(!e.isImportCall(r)&&e.forEach(r.arguments,X)){var n=p.createCallBinding(r.expression,v,D,!0),i=n.target,a=n.thisArg;return e.setOriginalNode(e.setTextRange(p.createFunctionApplyCall($(e.visitNode(i,B,e.isLeftHandSideExpression)),a,V(r.arguments)),r),r)}return e.visitEachChild(r,B,t)}(r);case 204:return function(r){if(e.forEach(r.arguments,X)){var n=p.createCallBinding(p.createPropertyAccessExpression(r.expression,\"bind\"),v),i=n.target,a=n.thisArg;return e.setOriginalNode(e.setTextRange(p.createNewExpression(p.createFunctionApplyCall($(e.visitNode(i,B,e.isExpression)),a,V(r.arguments,p.createVoidZero())),void 0,[]),r),r)}return e.visitEachChild(r,B,t)}(r);default:return e.visitEachChild(r,B,t)}}(r):1049088&r.transformFlags?e.visitEachChild(r,B,t):r}}function J(r){if(r.asteriskToken)r=e.setOriginalNode(e.setTextRange(p.createFunctionDeclaration(void 0,r.modifiers,void 0,r.name,void 0,e.visitParameterList(r.parameters,B,t),void 0,z(r.body)),r),r);else{var n=a,i=o;a=!1,o=!1,r=e.visitEachChild(r,B,t),a=n,o=i}return a?void y(r):r}function K(r){if(r.asteriskToken)r=e.setOriginalNode(e.setTextRange(p.createFunctionExpression(void 0,void 0,r.name,void 0,e.visitParameterList(r.parameters,B,t),void 0,z(r.body)),r),r);else{var n=a,i=o;a=!1,o=!1,r=e.visitEachChild(r,B,t),a=n,o=i}return r}function z(t){var r=[],n=a,i=o,f=s,y=c,v=u,h=l,D=d,x=_,b=M,k=S,A=E,F=T,N=C;a=!0,o=!1,s=void 0,c=void 0,u=void 0,l=void 0,d=void 0,_=void 0,M=1,S=void 0,E=void 0,T=void 0,C=p.createTempVariable(void 0),g();var P=p.copyPrologue(t.statements,r,!1,B);q(t.statements,P);var w=ke();return e.insertStatementsAfterStandardPrologue(r,m()),r.push(p.createReturnStatement(w)),a=n,o=i,s=f,c=y,u=v,l=h,d=D,_=x,M=b,S=k,E=A,T=F,C=N,e.setTextRange(p.createBlock(r,t.multiLine),t)}function U(t){var r=[];return n(t.left),n(t.right),p.inlineExpressions(r);function n(t){e.isBinaryExpression(t)&&27===t.operatorToken.kind?(n(t.left),n(t.right)):(X(t)&&r.length>0&&(Ce(1,[p.createExpressionStatement(p.inlineExpressions(r))]),r=[]),r.push(e.visitNode(t,B,e.isExpression)))}}function V(t,n,i,a){var o,s=Q(t);if(s>0){o=Z();var c=e.visitNodes(t,B,e.isExpression,0,s);be(o,p.createArrayLiteralExpression(n?r([n],c):c)),n=void 0}var u=e.reduceLeft(t,(function(t,i){if(X(i)&&t.length>0){var s=void 0!==o;o||(o=Z()),be(o,s?p.createArrayConcatCall(o,[p.createArrayLiteralExpression(t,a)]):p.createArrayLiteralExpression(n?r([n],t):t,a)),n=void 0,t=[]}return t.push(e.visitNode(i,B,e.isExpression)),t}),[],s);return o?p.createArrayConcatCall(o,[p.createArrayLiteralExpression(u,a)]):e.setTextRange(p.createArrayLiteralExpression(n?r([n],u):u,a),i)}function q(e,t){void 0===t&&(t=0);for(var r=e.length,n=t;n0?Se(r,t):xe(t)}(r);case 241:return function(t){var r=ge(t.label?e.idText(t.label):void 0);r>0?Se(r,t):xe(t)}(r);case 242:return function(t){r=e.visitNode(t.expression,B,e.isExpression),n=t,Ce(8,[r],n);var r,n}(r);case 243:return function(t){X(t)?(r=$(e.visitNode(t.expression,B,e.isExpression)),n=ee(),i=ee(),te(n),re({kind:1,expression:r,startLabel:n,endLabel:i}),W(t.statement),e.Debug.assert(1===ae()),te(ne().endLabel)):xe(e.visitNode(t,B,e.isStatement));var r,n,i}(r);case 244:return function(t){if(X(t.caseBlock)){for(var r=t.caseBlock,n=r.clauses.length,i=(re({kind:2,isScript:!1,breakLabel:f=ee()}),f),a=$(e.visitNode(t.expression,B,e.isExpression)),o=[],s=-1,c=0;c0)break;d.push(p.createCaseClause(e.visitNode(u.expression,B,e.isExpression),[he(o[c],u.expression)]))}else _++}d.length&&(xe(p.createSwitchStatement(a,p.createCaseBlock(d))),l+=d.length,d=[]),_>0&&(l+=_,_=0)}Se(s>=0?o[s]:i);for(c=0;c0)break;u.push(Y(i))}u.length&&(xe(p.createExpressionStatement(p.inlineExpressions(u))),c+=u.length,u=[])}}function Y(t){return e.setSourceMapRange(p.createAssignment(e.setSourceMapRange(p.cloneNode(t.name),t.name),e.visitNode(t.initializer,B,e.isExpression)),t)}function X(e){return!!e&&0!=(262144&e.transformFlags)}function Q(e){for(var t=e.length,r=0;r=0;r--){var n=l[r];if(!_e(n))break;if(n.labelText===e)return!0}return!1}function ge(e){if(l)if(e)for(var t=l.length-1;t>=0;t--){if(_e(r=l[t])&&r.labelText===e)return r.breakLabel;if(de(r)&&fe(e,t-1))return r.breakLabel}else for(t=l.length-1;t>=0;t--){var r;if(de(r=l[t]))return r.breakLabel}return 0}function me(e){if(l)if(e)for(var t=l.length-1;t>=0;t--){if(pe(r=l[t])&&fe(e,t-1))return r.continueLabel}else for(t=l.length-1;t>=0;t--){var r;if(pe(r=l[t]))return r.continueLabel}return 0}function ye(e){if(void 0!==e&&e>0){void 0===_&&(_=[]);var t=p.createNumericLiteral(-1);return void 0===_[e]?_[e]=[t]:_[e].push(t),t}return p.createOmittedExpression()}function ve(t){var r=p.createNumericLiteral(t);return e.addSyntheticTrailingComment(r,3,function(e){switch(e){case 2:return\"return\";case 3:return\"break\";case 4:return\"yield\";case 5:return\"yield*\";case 7:return\"endfinally\";default:return}}(t)),r}function he(t,r){return e.Debug.assertLessThan(0,t,\"Invalid label\"),e.setTextRange(p.createReturnStatement(p.createArrayLiteralExpression([ve(3),ye(t)])),r)}function De(){Ce(0)}function xe(e){e?Ce(1,[e]):De()}function be(e,t,r){Ce(2,[e,t],r)}function Se(e,t){Ce(3,[e],t)}function Ee(e,t,r){Ce(4,[e,t],r)}function Te(e,t,r){Ce(5,[e,t],r)}function Ce(e,t,r){void 0===S&&(S=[],E=[],T=[]),void 0===d&&te(ee());var n=S.length;S[n]=e,E[n]=t,T[n]=r}function ke(){L=0,R=0,k=void 0,A=!1,F=!1,N=void 0,P=void 0,w=void 0,I=void 0,O=void 0;var t=function(){if(S){for(var t=0;t0)),524288))}function Ae(e){(function(e){if(!F)return!0;if(!d||!_)return!1;for(var t=0;t=0;t--){var r=O[t];P=[p.createWithStatement(r.expression,p.createBlock(P))]}if(I){var n=I.startLabel,i=I.catchLabel,a=I.finallyLabel,o=I.endLabel;P.unshift(p.createExpressionStatement(p.createCallExpression(p.createPropertyAccessExpression(p.createPropertyAccessExpression(C,\"trys\"),\"push\"),void 0,[p.createArrayLiteralExpression([ye(n),ye(i),ye(a),ye(o)])]))),I=void 0}e&&P.push(p.createExpressionStatement(p.createAssignment(p.createPropertyAccessExpression(C,\"label\"),p.createNumericLiteral(R+1))))}N.push(p.createCaseClause(p.createNumericLiteral(R),P||[])),P=void 0}function Ne(e){if(d)for(var t=0;t=2?2:0)),t),t))}else n&&e.isDefaultImport(t)&&(r=e.append(r,i.createVariableStatement(void 0,i.createVariableDeclarationList([e.setOriginalNode(e.setTextRange(i.createVariableDeclaration(i.cloneNode(n.name),void 0,void 0,i.getGeneratedNameForNode(t)),t),t)],_>=2?2:0))));if(j(t)){var o=e.getOriginalNodeId(t);x[o]=J(x[o],t)}else r=J(r,t);return e.singleOrMany(r)}(t);case 260:return function(t){var r;e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(t),\"import= for internal module references should be handled in an earlier transformer.\"),p!==e.ModuleKind.AMD?r=e.hasSyntacticModifier(t,1)?e.append(r,e.setOriginalNode(e.setTextRange(i.createExpressionStatement(G(t.name,L(t))),t),t)):e.append(r,e.setOriginalNode(e.setTextRange(i.createVariableStatement(void 0,i.createVariableDeclarationList([i.createVariableDeclaration(i.cloneNode(t.name),void 0,void 0,L(t))],_>=2?2:0)),t),t)):e.hasSyntacticModifier(t,1)&&(r=e.append(r,e.setOriginalNode(e.setTextRange(i.createExpressionStatement(G(i.getExportName(t),i.getLocalName(t))),t),t)));if(j(t)){var n=e.getOriginalNodeId(t);x[n]=K(x[n],t)}else r=K(r,t);return e.singleOrMany(r)}(t);case 267:return function(t){if(!t.moduleSpecifier)return;var r=i.getGeneratedNameForNode(t);if(t.exportClause&&e.isNamedExports(t.exportClause)){var n=[];p!==e.ModuleKind.AMD&&n.push(e.setOriginalNode(e.setTextRange(i.createVariableStatement(void 0,i.createVariableDeclarationList([i.createVariableDeclaration(r,void 0,void 0,L(t))])),t),t));for(var o=0,s=t.exportClause.elements;o(e.isExportName(t)?1:0);return!1}function I(t,r){var n,o=i.createUniqueName(\"resolve\"),s=i.createUniqueName(\"reject\"),c=[i.createParameterDeclaration(void 0,void 0,void 0,o),i.createParameterDeclaration(void 0,void 0,void 0,s)],l=i.createBlock([i.createExpressionStatement(i.createCallExpression(i.createIdentifier(\"require\"),void 0,[i.createArrayLiteralExpression([t||i.createOmittedExpression()]),o,s]))]);_>=2?n=i.createArrowFunction(void 0,void 0,c,void 0,void 0,l):(n=i.createFunctionExpression(void 0,void 0,void 0,void 0,c,void 0,l),r&&e.setEmitFlags(n,8));var d=i.createNewExpression(i.createIdentifier(\"Promise\"),void 0,[n]);return u.esModuleInterop?i.createCallExpression(i.createPropertyAccessExpression(d,i.createIdentifier(\"then\")),void 0,[a().createImportStarCallbackHelper()]):d}function O(t,r){var n,o=i.createCallExpression(i.createPropertyAccessExpression(i.createIdentifier(\"Promise\"),\"resolve\"),void 0,[]),s=i.createCallExpression(i.createIdentifier(\"require\"),void 0,t?[t]:[]);return u.esModuleInterop&&(s=a().createImportStarHelper(s)),_>=2?n=i.createArrowFunction(void 0,void 0,[],void 0,void 0,s):(n=i.createFunctionExpression(void 0,void 0,void 0,void 0,[],void 0,i.createBlock([i.createReturnStatement(s)])),r&&e.setEmitFlags(n,8)),i.createCallExpression(i.createPropertyAccessExpression(o,\"then\"),void 0,[n])}function M(t,r){return!u.esModuleInterop||67108864&e.getEmitFlags(t)?r:e.getImportNeedsImportStarHelper(t)?a().createImportStarHelper(r):e.getImportNeedsImportDefaultHelper(t)?a().createImportDefaultHelper(r):r}function L(t){var r=e.getExternalModuleNameLiteral(i,t,m,d,l,u),n=[];return r&&n.push(r),i.createCallExpression(i.createIdentifier(\"require\"),void 0,n)}function R(t,r,n){var a=Q(t);if(a){for(var o=e.isExportName(t)?r:i.createAssignment(t,r),s=0,c=a;se.ModuleKind.ES2015)return t;if(!t.exportClause||!e.isNamespaceExport(t.exportClause)||!t.moduleSpecifier)return t;var r=t.exportClause.name,n=i.getGeneratedNameForNode(r),a=i.createImportDeclaration(void 0,void 0,i.createImportClause(!1,void 0,i.createNamespaceImport(n)),t.moduleSpecifier);e.setOriginalNode(a,t.exportClause);var s=e.isExportNamespaceAsDefaultDeclaration(t)?i.createExportDefault(n):i.createExportDeclaration(void 0,void 0,!1,i.createNamedExports([i.createExportSpecifier(n,r)]));return e.setOriginalNode(s,t),[a,s]}(t)}return t}}}(u||(u={})),function(e){function t(t){return e.isVariableDeclaration(t)||e.isPropertyDeclaration(t)||e.isPropertySignature(t)||e.isPropertyAccessExpression(t)||e.isBindingElement(t)||e.isConstructorDeclaration(t)?r:e.isSetAccessor(t)||e.isGetAccessor(t)?function(r){var n;n=168===t.kind?e.hasSyntacticModifier(t,32)?r.errorModuleName?e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:e.hasSyntacticModifier(t,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1;return{diagnosticMessage:n,errorNode:t.name,typeName:t.name}}:e.isConstructSignatureDeclaration(t)||e.isCallSignatureDeclaration(t)||e.isMethodDeclaration(t)||e.isMethodSignature(t)||e.isFunctionDeclaration(t)||e.isIndexSignatureDeclaration(t)?function(r){var n;switch(t.kind){case 170:n=r.errorModuleName?e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 169:n=r.errorModuleName?e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 171:n=r.errorModuleName?e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 165:case 164:n=e.hasSyntacticModifier(t,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:252===t.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:r.errorModuleName?e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 251:n=r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:return e.Debug.fail(\"This is unknown kind for signature: \"+t.kind)}return{diagnosticMessage:n,errorNode:t.name||t}}:e.isParameter(t)?e.isParameterPropertyDeclaration(t,t.parent)&&e.hasSyntacticModifier(t.parent,8)?r:function(r){var n=function(r){switch(t.parent.kind){case 166:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 170:case 175:return r.errorModuleName?e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 169:return r.errorModuleName?e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 171:return r.errorModuleName?e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 165:case 164:return e.hasSyntacticModifier(t.parent,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:252===t.parent.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 251:case 174:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1;case 168:case 167:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_private_name_1;default:return e.Debug.fail(\"Unknown parent for parameter: \"+e.SyntaxKind[t.parent.kind])}}(r);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}:e.isTypeParameterDeclaration(t)?function(){var r;switch(t.parent.kind){case 252:r=e.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 253:r=e.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 190:r=e.Diagnostics.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1;break;case 175:case 170:r=e.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 169:r=e.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 165:case 164:r=e.hasSyntacticModifier(t.parent,32)?e.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:252===t.parent.parent.kind?e.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:e.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 174:case 251:r=e.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 254:r=e.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:return e.Debug.fail(\"This is unknown parent for type parameter: \"+t.parent.kind)}return{diagnosticMessage:r,errorNode:t,typeName:t.name}}:e.isExpressionWithTypeArguments(t)?function(){var r;r=e.isClassDeclaration(t.parent.parent)?e.isHeritageClause(t.parent)&&116===t.parent.token?e.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:t.parent.parent.name?e.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.extends_clause_of_exported_class_has_or_is_using_private_name_0:e.Diagnostics.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1;return{diagnosticMessage:r,errorNode:t,typeName:e.getNameOfDeclaration(t.parent.parent)}}:e.isImportEqualsDeclaration(t)?function(){return{diagnosticMessage:e.Diagnostics.Import_declaration_0_is_using_private_name_1,errorNode:t,typeName:t.name}}:e.isTypeAliasDeclaration(t)?function(){return{diagnosticMessage:e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:t.type,typeName:t.name}}:e.Debug.assertNever(t,\"Attempted to set a declaration diagnostic context for unhandled node kind: \"+e.SyntaxKind[t.kind]);function r(r){var n=function(r){return 249===t.kind||198===t.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1:163===t.kind||201===t.kind||162===t.kind||160===t.kind&&e.hasSyntacticModifier(t.parent,8)?e.hasSyntacticModifier(t,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:252===t.parent.kind||160===t.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1:void 0}(r);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}}e.canProduceDiagnostics=function(t){return e.isVariableDeclaration(t)||e.isPropertyDeclaration(t)||e.isPropertySignature(t)||e.isBindingElement(t)||e.isSetAccessor(t)||e.isGetAccessor(t)||e.isConstructSignatureDeclaration(t)||e.isCallSignatureDeclaration(t)||e.isMethodDeclaration(t)||e.isMethodSignature(t)||e.isFunctionDeclaration(t)||e.isParameter(t)||e.isTypeParameterDeclaration(t)||e.isExpressionWithTypeArguments(t)||e.isImportEqualsDeclaration(t)||e.isTypeAliasDeclaration(t)||e.isConstructorDeclaration(t)||e.isIndexSignatureDeclaration(t)||e.isPropertyAccessExpression(t)},e.createGetSymbolAccessibilityDiagnosticForNodeName=function(r){return e.isSetAccessor(r)||e.isGetAccessor(r)?function(t){var n=function(t){return e.hasSyntacticModifier(r,32)?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:252===r.parent.kind?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1}(t);return void 0!==n?{diagnosticMessage:n,errorNode:r,typeName:r.name}:void 0}:e.isMethodSignature(r)||e.isMethodDeclaration(r)?function(t){var n=function(t){return e.hasSyntacticModifier(r,32)?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:252===r.parent.kind?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Method_0_of_exported_interface_has_or_is_using_private_name_1}(t);return void 0!==n?{diagnosticMessage:n,errorNode:r,typeName:r.name}:void 0}:t(r)},e.createGetSymbolAccessibilityDiagnosticForNode=t}(u||(u={})),function(e){function t(t,r){var n=r.text.substring(t.pos,t.end);return e.stringContains(n,\"@internal\")}function i(r,n){var i=e.getParseTreeNode(r);if(i&&160===i.kind){var a=i.parent.parameters.indexOf(i),o=a>0?i.parent.parameters[a-1]:void 0,s=n.text,c=o?e.concatenate(e.getTrailingCommentRanges(s,e.skipTrivia(s,o.end+1,!1,!0)),e.getLeadingCommentRanges(s,r.pos)):e.getTrailingCommentRanges(s,e.skipTrivia(s,r.pos,!1,!0));return c&&c.length&&t(e.last(c),n)}var u=i&&e.getLeadingCommentRangesOfNode(i,n);return!!e.forEach(u,(function(e){return t(e,n)}))}e.getDeclarationDiagnostics=function(t,r,n){var i=t.getCompilerOptions();return e.transformNodes(r,t,e.factory,i,n?[n]:e.filter(t.getSourceFiles(),e.isSourceFileNotJson),[o],!1).diagnostics},e.isInternalDeclaration=i;var a=531469;function o(t){var o,u,l,d,_,p,f,g,m,y,v,h=function(){return e.Debug.fail(\"Diagnostic emitted without context\")},D=h,x=!0,b=!1,S=!1,E=!1,T=!1,C=t.factory,k=t.getEmitHost(),A={trackSymbol:function(e,t,r){if(262144&e.flags)return;O(F.isSymbolAccessible(e,t,r,!0)),I(F.getTypeReferenceDirectivesForSymbol(e,r))},reportInaccessibleThisError:function(){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,e.declarationNameToString(f),\"this\"))},reportInaccessibleUniqueSymbolError:function(){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,e.declarationNameToString(f),\"unique symbol\"))},reportCyclicStructureError:function(){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary,e.declarationNameToString(f)))},reportPrivateInBaseOfClassExpression:function(r){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.Property_0_of_exported_class_expression_may_not_be_private_or_protected,r))},reportLikelyUnsafeImportRequiredError:function(r){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary,e.declarationNameToString(f),r))},reportTruncationError:function(){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed))},moduleResolverHost:k,trackReferencedAmbientModule:function(t,r){var n=F.getTypeReferenceDirectivesForSymbol(r,67108863);if(e.length(n))return I(n);var i=e.getSourceFileOfNode(t);m.set(e.getOriginalNodeId(i),i)},trackExternalModuleSymbolOfImportTypeNode:function(e){b||(p||(p=[])).push(e)},reportNonlocalAugmentation:function(r,n,i){for(var a=e.find(n.declarations,(function(t){return e.getSourceFileOfNode(t)===r})),o=e.filter(i.declarations,(function(t){return e.getSourceFileOfNode(t)!==r})),s=0,c=o;s0?e.parameters[0].type:void 0}e.transformDeclarations=o}(u||(u={})),function(e){var t,n;function i(t,r,n){if(n)return e.emptyArray;var i=e.getEmitScriptTarget(t),a=e.getEmitModuleKind(t),o=[];return e.addRange(o,r&&e.map(r.before,s)),o.push(e.transformTypeScript),o.push(e.transformClassFields),e.getJSXTransformEnabled(t)&&o.push(e.transformJsx),i<99&&o.push(e.transformESNext),i<7&&o.push(e.transformES2020),i<6&&o.push(e.transformES2019),i<5&&o.push(e.transformES2018),i<4&&o.push(e.transformES2017),i<3&&o.push(e.transformES2016),i<2&&(o.push(e.transformES2015),o.push(e.transformGenerators)),o.push(function(t){switch(t){case e.ModuleKind.ESNext:case e.ModuleKind.ES2020:case e.ModuleKind.ES2015:return e.transformECMAScriptModule;case e.ModuleKind.System:return e.transformSystemModule;default:return e.transformModule}}(a)),i<1&&o.push(e.transformES5),e.addRange(o,r&&e.map(r.after,s)),o}function a(t){var r=[];return r.push(e.transformDeclarations),e.addRange(r,t&&e.map(t.afterDeclarations,c)),r}function o(t,r){return function(n){var i=t(n);return\"function\"==typeof i?r(n,i):function(t){return function(r){return e.isBundle(r)?t.transformBundle(r):t.transformSourceFile(r)}}(i)}}function s(t){return o(t,e.chainBundle)}function c(e){return o(e,(function(e,t){return t}))}function u(e,t){return t}function l(e,t,r){r(e,t)}!function(e){e[e.Uninitialized=0]=\"Uninitialized\",e[e.Initialized=1]=\"Initialized\",e[e.Completed=2]=\"Completed\",e[e.Disposed=3]=\"Disposed\"}(t||(t={})),function(e){e[e.Substitution=1]=\"Substitution\",e[e.EmitNotifications=2]=\"EmitNotifications\"}(n||(n={})),e.noTransformers={scriptTransformers:e.emptyArray,declarationTransformers:e.emptyArray},e.getTransformers=function(e,t,r){return{scriptTransformers:i(e,t,r),declarationTransformers:a(t)}},e.noEmitSubstitution=u,e.noEmitNotification=l,e.transformNodes=function(t,n,i,a,o,s,c){for(var d,_,p,f,g=new Array(341),m=0,y=[],v=[],h=[],D=[],x=0,b=!1,S=u,E=l,T=0,C=[],k={factory:i,getCompilerOptions:function(){return a},getEmitResolver:function(){return t},getEmitHost:function(){return n},getEmitHelperFactory:e.memoize((function(){return e.createEmitHelperFactory(k)})),startLexicalEnvironment:function(){e.Debug.assert(T>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.Debug.assert(!b,\"Lexical environment is suspended.\"),y[x]=d,v[x]=_,h[x]=p,D[x]=m,x++,d=void 0,_=void 0,p=void 0,m=0},suspendLexicalEnvironment:function(){e.Debug.assert(T>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.Debug.assert(!b,\"Lexical environment is already suspended.\"),b=!0},resumeLexicalEnvironment:function(){e.Debug.assert(T>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.Debug.assert(b,\"Lexical environment is not suspended.\"),b=!1},endLexicalEnvironment:function(){var t;if(e.Debug.assert(T>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.Debug.assert(!b,\"Lexical environment is suspended.\"),d||_||p){if(_&&(t=r(_)),d){var n=i.createVariableStatement(void 0,i.createVariableDeclarationList(d));e.setEmitFlags(n,1048576),t?t.push(n):t=[n]}p&&(t=t?r(t,p):r(p))}x--,d=y[x],_=v[x],p=h[x],m=D[x],0===x&&(y=[],v=[],h=[],D=[]);return t},setLexicalEnvironmentFlags:function(e,t){m=t?m|e:m&~e},getLexicalEnvironmentFlags:function(){return m},hoistVariableDeclaration:function(t){e.Debug.assert(T>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the lexical environment after transformation has completed.\");var r=e.setEmitFlags(i.createVariableDeclaration(t),64);d?d.push(r):d=[r];1&m&&(m|=2)},hoistFunctionDeclaration:function(t){e.Debug.assert(T>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.setEmitFlags(t,1048576),_?_.push(t):_=[t]},addInitializationStatement:function(t){e.Debug.assert(T>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.setEmitFlags(t,1048576),p?p.push(t):p=[t]},requestEmitHelper:function t(r){if(e.Debug.assert(T>0,\"Cannot modify the transformation context during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the transformation context after transformation has completed.\"),e.Debug.assert(!r.scoped,\"Cannot request a scoped emit helper.\"),r.dependencies)for(var n=0,i=r.dependencies;n0,\"Cannot modify the transformation context during initialization.\"),e.Debug.assert(T<2,\"Cannot modify the transformation context after transformation has completed.\");var t=f;return f=void 0,t},enableSubstitution:function(t){e.Debug.assert(T<2,\"Cannot modify the transformation context after transformation has completed.\"),g[t]|=1},enableEmitNotification:function(t){e.Debug.assert(T<2,\"Cannot modify the transformation context after transformation has completed.\"),g[t]|=2},isSubstitutionEnabled:R,isEmitNotificationEnabled:B,get onSubstituteNode(){return S},set onSubstituteNode(t){e.Debug.assert(T<1,\"Cannot modify transformation hooks after initialization has completed.\"),e.Debug.assert(void 0!==t,\"Value must not be 'undefined'\"),S=t},get onEmitNode(){return E},set onEmitNode(t){e.Debug.assert(T<1,\"Cannot modify transformation hooks after initialization has completed.\"),e.Debug.assert(void 0!==t,\"Value must not be 'undefined'\"),E=t},addDiagnostic:function(e){C.push(e)}},A=0,F=o;A\"],e[8192]=[\"[\",\"]\"],e}(),a={pos:-1,end:-1};function o(t,r,n,i,a,o){void 0===i&&(i=!1);var c=e.isArray(n)?n:e.getSourceFilesToEmit(t,n,i),l=t.getCompilerOptions();if(e.outFile(l)){var d=t.getPrependNodes();if(c.length||d.length){var _=e.factory.createBundle(c,d);if(g=r(u(_,t,i),_))return g}}else{if(!a)for(var p=0,f=c;p\"),It(),De(e.type),ir(e)}(r);case 308:return function(e){Ft(\"function\"),Dt(e,e.parameters),kt(\":\"),De(e.type)}(r);case 175:return function(e){nr(e),Ft(\"new\"),It(),ht(e,e.typeParameters),Dt(e,e.parameters),It(),kt(\"=>\"),It(),De(e.type),ir(e)}(r);case 176:return function(e){Ft(\"typeof\"),It(),De(e.exprName)}(r);case 177:return function(t){kt(\"{\");var r=1&e.getEmitFlags(t)?768:32897;bt(t,t.members,524288|r),kt(\"}\")}(r);case 178:return function(e){De(e.elementType),kt(\"[\"),kt(\"]\")}(r);case 179:return function(t){Je(22,t.pos,kt,t);var r=1&e.getEmitFlags(t)?528:657;bt(t,t.elements,524288|r),Je(23,t.elements.end,kt,t)}(r);case 180:return function(e){De(e.type),kt(\"?\")}(r);case 182:return function(e){bt(e,e.types,516)}(r);case 183:return function(e){bt(e,e.types,520)}(r);case 184:return function(e){De(e.checkType),It(),Ft(\"extends\"),It(),De(e.extendsType),It(),kt(\"?\"),It(),De(e.trueType),It(),kt(\":\"),It(),De(e.falseType)}(r);case 185:return function(e){Ft(\"infer\"),It(),De(e.typeParameter)}(r);case 186:return function(e){kt(\"(\"),De(e.type),kt(\")\")}(r);case 223:return function(e){be(e.expression),vt(e,e.typeArguments)}(r);case 187:return void Ft(\"this\");case 188:return function(e){Jt(e.operator,Ft),It(),De(e.type)}(r);case 189:return function(e){De(e.objectType),kt(\"[\"),De(e.indexType),kt(\"]\")}(r);case 190:return function(t){var r=e.getEmitFlags(t);kt(\"{\"),1&r?It():(Mt(),Lt());t.readonlyToken&&(De(t.readonlyToken),142!==t.readonlyToken.kind&&Ft(\"readonly\"),It());kt(\"[\"),Ee(3,t.typeParameter),t.nameType&&(It(),Ft(\"as\"),It(),De(t.nameType));kt(\"]\"),t.questionToken&&(De(t.questionToken),57!==t.questionToken.kind&&kt(\"?\"));kt(\":\"),It(),De(t.type),At(),1&r?It():(Mt(),Rt());kt(\"}\")}(r);case 191:return function(e){be(e.literal)}(r);case 193:return function(e){De(e.head),bt(e,e.templateSpans,262144)}(r);case 195:return function(e){e.isTypeOf&&(Ft(\"typeof\"),It());Ft(\"import\"),kt(\"(\"),De(e.argument),kt(\")\"),e.qualifier&&(kt(\".\"),De(e.qualifier));vt(e,e.typeArguments)}(r);case 303:return void kt(\"*\");case 304:return void kt(\"?\");case 305:return function(e){kt(\"?\"),De(e.type)}(r);case 306:return function(e){kt(\"!\"),De(e.type)}(r);case 307:return function(e){De(e.type),kt(\"=\")}(r);case 181:case 309:return function(e){kt(\"...\"),De(e.type)}(r);case 192:return function(e){De(e.dotDotDotToken),De(e.name),De(e.questionToken),Je(58,e.name.end,kt,e),It(),De(e.type)}(r);case 196:return function(e){kt(\"{\"),bt(e,e.elements,525136),kt(\"}\")}(r);case 197:return function(e){kt(\"[\"),bt(e,e.elements,524880),kt(\"]\")}(r);case 198:return function(e){De(e.dotDotDotToken),e.propertyName&&(De(e.propertyName),kt(\":\"),It());De(e.name),pt(e.initializer,e.name.end,e)}(r);case 228:return function(e){be(e.expression),De(e.literal)}(r);case 229:return void At();case 230:return function(e){Le(e,!e.multiLine&&Zt(e))}(r);case 232:return function(e){dt(e,e.modifiers),De(e.declarationList),At()}(r);case 231:return Re(!1);case 233:return function(t){be(t.expression),(!e.isJsonSourceFile(n)||e.nodeIsSynthesized(t.expression))&&At()}(r);case 234:return function(e){var t=Je(98,e.pos,Ft,e);It(),Je(20,t,kt,e),be(e.expression),Je(21,e.expression.end,kt,e),mt(e,e.thenStatement),e.elseStatement&&(Kt(e,e.thenStatement,e.elseStatement),Je(90,e.thenStatement.end,Ft,e),234===e.elseStatement.kind?(It(),De(e.elseStatement)):mt(e,e.elseStatement))}(r);case 235:return function(t){Je(89,t.pos,Ft,t),mt(t,t.statement),e.isBlock(t.statement)&&!B?It():Kt(t,t.statement,t.expression);Be(t,t.statement.end),At()}(r);case 236:return function(e){Be(e,e.pos),mt(e,e.statement)}(r);case 237:return function(e){var t=Je(96,e.pos,Ft,e);It();var r=Je(20,t,kt,e);je(e.initializer),r=Je(26,e.initializer?e.initializer.end:r,kt,e),gt(e.condition),r=Je(26,e.condition?e.condition.end:r,kt,e),gt(e.incrementor),Je(21,e.incrementor?e.incrementor.end:r,kt,e),mt(e,e.statement)}(r);case 238:return function(e){var t=Je(96,e.pos,Ft,e);It(),Je(20,t,kt,e),je(e.initializer),It(),Je(100,e.initializer.end,Ft,e),It(),be(e.expression),Je(21,e.expression.end,kt,e),mt(e,e.statement)}(r);case 239:return function(e){var t=Je(96,e.pos,Ft,e);It(),function(e){e&&(De(e),It())}(e.awaitModifier),Je(20,t,kt,e),je(e.initializer),It(),Je(156,e.initializer.end,Ft,e),It(),be(e.expression),Je(21,e.expression.end,kt,e),mt(e,e.statement)}(r);case 240:return function(e){Je(85,e.pos,Ft,e),ft(e.label),At()}(r);case 241:return function(e){Je(80,e.pos,Ft,e),ft(e.label),At()}(r);case 242:return function(e){Je(104,e.pos,Ft,e),gt(e.expression),At()}(r);case 243:return function(e){var t=Je(115,e.pos,Ft,e);It(),Je(20,t,kt,e),be(e.expression),Je(21,e.expression.end,kt,e),mt(e,e.statement)}(r);case 244:return function(e){var t=Je(106,e.pos,Ft,e);It(),Je(20,t,kt,e),be(e.expression),Je(21,e.expression.end,kt,e),It(),De(e.caseBlock)}(r);case 245:return function(e){De(e.label),Je(58,e.label.end,kt,e),It(),De(e.statement)}(r);case 246:return function(e){Je(108,e.pos,Ft,e),gt(e.expression),At()}(r);case 247:return function(e){Je(110,e.pos,Ft,e),It(),De(e.tryBlock),e.catchClause&&(Kt(e,e.tryBlock,e.catchClause),De(e.catchClause));e.finallyBlock&&(Kt(e,e.catchClause||e.tryBlock,e.finallyBlock),Je(95,(e.catchClause||e.tryBlock).end,Ft,e),It(),De(e.finallyBlock))}(r);case 248:return function(e){Bt(86,e.pos,Ft),At()}(r);case 249:return function(e){De(e.name),De(e.exclamationToken),_t(e.type),pt(e.initializer,e.type?e.type.end:e.name.end,e)}(r);case 250:return function(t){Ft(e.isLet(t)?\"let\":e.isVarConst(t)?\"const\":\"var\"),It(),bt(t,t.declarations,528)}(r);case 251:return function(e){Ke(e)}(r);case 252:return function(e){Ge(e)}(r);case 253:return function(e){yt(e,e.decorators),dt(e,e.modifiers),Ft(\"interface\"),It(),De(e.name),ht(e,e.typeParameters),bt(e,e.heritageClauses,512),It(),kt(\"{\"),bt(e,e.members,129),kt(\"}\")}(r);case 254:return function(e){yt(e,e.decorators),dt(e,e.modifiers),Ft(\"type\"),It(),De(e.name),ht(e,e.typeParameters),It(),kt(\"=\"),It(),De(e.type),At()}(r);case 255:return function(e){dt(e,e.modifiers),Ft(\"enum\"),It(),De(e.name),It(),kt(\"{\"),bt(e,e.members,145),kt(\"}\")}(r);case 256:return function(e){dt(e,e.modifiers),1024&~e.flags&&(Ft(16&e.flags?\"namespace\":\"module\"),It());De(e.name);var t=e.body;if(!t)return At();for(;256===t.kind;)kt(\".\"),De(t.name),t=t.body;It(),De(t)}(r);case 257:return function(t){nr(t),e.forEach(t.statements,or),Le(t,Zt(t)),ir(t)}(r);case 258:return function(e){Je(18,e.pos,kt,e),bt(e,e.clauses,129),Je(19,e.clauses.end,kt,e,!0)}(r);case 259:return function(e){var t=Je(92,e.pos,Ft,e);It(),t=Je(126,t,Ft,e),It(),t=Je(140,t,Ft,e),It(),De(e.name),At()}(r);case 260:return function(e){dt(e,e.modifiers),Je(99,e.modifiers?e.modifiers.end:e.pos,Ft,e),It(),De(e.name),It(),Je(62,e.name.end,kt,e),It(),function(e){78===e.kind?be(e):De(e)}(e.moduleReference),At()}(r);case 261:return function(e){dt(e,e.modifiers),Je(99,e.modifiers?e.modifiers.end:e.pos,Ft,e),It(),e.importClause&&(De(e.importClause),It(),Je(153,e.importClause.end,Ft,e),It());be(e.moduleSpecifier),At()}(r);case 262:return function(e){e.isTypeOnly&&(Je(149,e.pos,Ft,e),It());De(e.name),e.name&&e.namedBindings&&(Je(27,e.name.end,kt,e),It());De(e.namedBindings)}(r);case 263:return function(e){var t=Je(41,e.pos,kt,e);It(),Je(126,t,Ft,e),It(),De(e.name)}(r);case 269:return function(e){var t=Je(41,e.pos,kt,e);It(),Je(126,t,Ft,e),It(),De(e.name)}(r);case 264:return function(e){Ye(e)}(r);case 265:return function(e){Xe(e)}(r);case 266:return function(e){var t=Je(92,e.pos,Ft,e);It(),e.isExportEquals?Je(62,t,Nt,e):Je(87,t,Ft,e);It(),be(e.expression),At()}(r);case 267:return function(e){var t=Je(92,e.pos,Ft,e);It(),e.isTypeOnly&&(t=Je(149,t,Ft,e),It());e.exportClause?De(e.exportClause):t=Je(41,t,kt,e);if(e.moduleSpecifier){It(),Je(153,e.exportClause?e.exportClause.end:t,Ft,e),It(),be(e.moduleSpecifier)}At()}(r);case 268:return function(e){Ye(e)}(r);case 270:return function(e){Xe(e)}(r);case 271:return;case 272:return function(e){Ft(\"require\"),kt(\"(\"),be(e.expression),kt(\")\")}(r);case 11:return function(e){f.writeLiteral(e.text)}(r);case 275:case 278:return function(t){if(kt(\"<\"),e.isJsxOpeningElement(t)){var r=Yt(t.tagName,t);Qe(t.tagName),vt(t,t.typeArguments),t.attributes.properties&&t.attributes.properties.length>0&&It(),De(t.attributes),Xt(t.attributes,t),Vt(r)}kt(\">\")}(r);case 276:case 279:return function(t){kt(\"\")}(r);case 280:return function(e){De(e.name),function(e,t,r,n){r&&(t(e),n(r))}(\"=\",kt,e.initializer,Se)}(r);case 281:return function(e){bt(e,e.properties,262656)}(r);case 282:return function(e){kt(\"{...\"),be(e.expression),kt(\"}\")}(r);case 283:return function(e){e.expression&&(kt(\"{\"),De(e.dotDotDotToken),be(e.expression),kt(\"}\"))}(r);case 284:return function(e){Je(81,e.pos,Ft,e),It(),be(e.expression),$e(e,e.statements,e.expression.end)}(r);case 285:return function(e){var t=Je(87,e.pos,Ft,e);$e(e,e.statements,t)}(r);case 286:return function(e){It(),Jt(e.token,Ft),It(),bt(e,e.types,528)}(r);case 287:return function(e){var t=Je(82,e.pos,Ft,e);It(),e.variableDeclaration&&(Je(20,t,kt,e),De(e.variableDeclaration),Je(21,e.variableDeclaration.end,kt,e),It());De(e.block)}(r);case 288:return function(t){De(t.name),kt(\":\"),It();var r=t.initializer;if(Ar&&0==(512&e.getEmitFlags(r))){Ar(e.getCommentRange(r).pos)}be(r)}(r);case 289:return function(e){De(e.name),e.objectAssignmentInitializer&&(It(),kt(\"=\"),It(),be(e.objectAssignmentInitializer))}(r);case 290:return function(e){e.expression&&(Je(25,e.pos,kt,e),be(e.expression))}(r);case 291:return function(e){De(e.name),pt(e.initializer,e.name.end,e)}(r);case 326:case 333:return function(e){tt(e.tagName),nt(e.typeExpression),It(),e.isBracketed&&kt(\"[\");De(e.name),e.isBracketed&&kt(\"]\");rt(e.comment)}(r);case 327:case 329:case 328:case 325:return tt((i=r).tagName),nt(i.typeExpression),void rt(i.comment);case 316:case 315:return function(e){tt(e.tagName),It(),kt(\"{\"),De(e.class),kt(\"}\"),rt(e.comment)}(r);case 330:return function(e){tt(e.tagName),nt(e.constraint),It(),bt(e,e.typeParameters,528),rt(e.comment)}(r);case 331:return function(e){tt(e.tagName),e.typeExpression&&(301===e.typeExpression.kind?nt(e.typeExpression):(It(),kt(\"{\"),j(\"Object\"),e.typeExpression.isArrayType&&(kt(\"[\"),kt(\"]\")),kt(\"}\")));e.fullName&&(It(),De(e.fullName));rt(e.comment),e.typeExpression&&312===e.typeExpression.kind&&Ze(e.typeExpression)}(r);case 324:return function(e){tt(e.tagName),e.name&&(It(),De(e.name));rt(e.comment),et(e.typeExpression)}(r);case 313:return et(r);case 312:return Ze(r);case 319:case 314:return function(e){tt(e.tagName),rt(e.comment)}(r);case 332:return function(e){tt(e.tagName),De(e.name),rt(e.comment)}(r);case 302:return function(e){It(),kt(\"{\"),De(e.name),kt(\"}\")}(r);case 311:return function(e){if(j(\"/**\"),e.comment)for(var t=0,r=e.comment.split(/\\r\\n?|\\n/g);t=1&&!e.isJsonSourceFile(n)?64:0;bt(t,t.properties,526226|a|i),r&&Rt()}(r);case 201:return function(t){var r=e.cast(be(t.expression),e.isExpression),n=t.questionDotToken||e.setTextRangePosEnd(e.factory.createToken(24),t.expression.end,t.name.pos),i=$t(t,t.expression,n),a=$t(t,n,t.name);Ut(i,!1),28===n.kind||!function(t){if(t=e.skipPartiallyEmittedExpressions(t),e.isNumericLiteral(t)){var r=rr(t,!0,!1);return!t.numericLiteralFlags&&!e.stringContains(r,e.tokenToString(24))}if(e.isAccessExpression(t)){var n=e.getConstantValue(t);return\"number\"==typeof n&&isFinite(n)&&Math.floor(n)===n}}(r)||f.hasTrailingComment()||f.hasTrailingWhitespace()||kt(\".\");t.questionDotToken?De(n):Je(n.kind,t.expression.end,kt,t);Ut(a,!1),De(t.name),Vt(i,a)}(r);case 202:return function(e){be(e.expression),De(e.questionDotToken),Je(22,e.expression.end,kt,e),be(e.argumentExpression),Je(23,e.argumentExpression.end,kt,e)}(r);case 203:return function(e){be(e.expression),De(e.questionDotToken),vt(e,e.typeArguments),St(e,e.arguments,2576)}(r);case 204:return function(e){Je(102,e.pos,Ft,e),It(),be(e.expression),vt(e,e.typeArguments),St(e,e.arguments,18960)}(r);case 205:return function(e){be(e.tag),vt(e,e.typeArguments),It(),be(e.template)}(r);case 206:return function(e){kt(\"<\"),De(e.type),kt(\">\"),be(e.expression)}(r);case 207:return function(e){var t=Je(20,e.pos,kt,e),r=Yt(e.expression,e);be(e.expression),Xt(e.expression,e),Vt(r),Je(21,e.expression?e.expression.end:t,kt,e)}(r);case 208:return function(e){cr(e.name),Ke(e)}(r);case 209:return function(e){yt(e,e.decorators),dt(e,e.modifiers),Ue(e,Me)}(r);case 210:return function(e){Je(88,e.pos,Ft,e),It(),be(e.expression)}(r);case 211:return function(e){Je(111,e.pos,Ft,e),It(),be(e.expression)}(r);case 212:return function(e){Je(113,e.pos,Ft,e),It(),be(e.expression)}(r);case 213:return function(e){Je(130,e.pos,Ft,e),It(),be(e.expression)}(r);case 214:return function(e){Jt(e.operator,Nt),function(e){var t=e.operand;return 214===t.kind&&(39===e.operator&&(39===t.operator||45===t.operator)||40===e.operator&&(40===t.operator||46===t.operator))}(e)&&It();be(e.operand)}(r);case 215:return function(e){be(e.operand),Jt(e.operator,Nt)}(r);case 216:return function(t){var r=[t],n=[0],i=0;for(;i>=0;)switch(t=r[i],n[i]){case 0:c(t.left);break;case 1:var a=27!==t.operatorToken.kind,o=$t(t,t.left,t.operatorToken),s=$t(t,t.operatorToken,t.right);Ut(o,a),Cr(t.operatorToken.pos),jt(t.operatorToken,100===t.operatorToken.kind?Ft:Nt),Ar(t.operatorToken.end,!0),Ut(s,!0),c(t.right);break;case 2:Vt(o=$t(t,t.left,t.operatorToken),s=$t(t,t.operatorToken,t.right)),i--;break;default:return e.Debug.fail(\"Invalid state \"+n[i]+\" for emitBinaryExpressionWorker\")}function c(t){n[i]++;var a=b,o=S;b=t,S=void 0;var s=Te(0,1,t);s===Ae&&e.isBinaryExpression(t)?(i++,n[i]=0,r[i]=t):s(1,t),e.Debug.assert(b===t),b=a,S=o}}(r);case 217:return function(e){var t=$t(e,e.condition,e.questionToken),r=$t(e,e.questionToken,e.whenTrue),n=$t(e,e.whenTrue,e.colonToken),i=$t(e,e.colonToken,e.whenFalse);be(e.condition),Ut(t,!0),De(e.questionToken),Ut(r,!0),be(e.whenTrue),Vt(t,r),Ut(n,!0),De(e.colonToken),Ut(i,!0),be(e.whenFalse),Vt(n,i)}(r);case 218:return function(e){De(e.head),bt(e,e.templateSpans,262144)}(r);case 219:return function(e){Je(124,e.pos,Ft,e),De(e.asteriskToken),gt(e.expression)}(r);case 220:return function(e){Je(25,e.pos,kt,e),be(e.expression)}(r);case 221:return function(e){cr(e.name),Ge(e)}(r);case 222:return;case 224:return function(e){be(e.expression),e.type&&(It(),Ft(\"as\"),It(),De(e.type))}(r);case 225:return function(e){be(e.expression),Nt(\"!\")}(r);case 226:return function(e){Bt(e.keywordToken,e.pos,kt),kt(\".\"),De(e.name)}(r);case 273:return function(e){De(e.openingElement),bt(e,e.children,262144),De(e.closingElement)}(r);case 274:return function(e){kt(\"<\"),Qe(e.tagName),vt(e,e.typeArguments),It(),De(e.attributes),kt(\"/>\")}(r);case 277:return function(e){De(e.openingFragment),bt(e,e.children,262144),De(e.closingFragment)}(r);case 336:return function(e){be(e.expression)}(r);case 337:return function(e){St(e,e.elements,528)}(r)}}function Fe(t,r){e.Debug.assert(b===r||S===r),Ce(1,t,r)(t,S),e.Debug.assert(b===r||S===r)}function Ne(r){var i=!1,a=298===r.kind?r:void 0;if(!a||L!==e.ModuleKind.None){for(var o=a?a.prepends.length:0,s=a?a.sourceFiles.length+o:1,c=0;c0)return!1;r=o}return!0}(t)?We:He;Dr?Dr(t,t.statements,r):r(t),Rt(),Bt(19,t.statements.end,kt,t)}function We(e){He(e,!0)}function He(e,t){var r=ot(e.statements),n=f.getTextPos();Ne(e),0===r&&n===f.getTextPos()&&t?(Rt(),bt(e,e.statements,768),Lt()):bt(e,e.statements,1,r)}function Ge(t){e.forEach(t.members,sr),yt(t,t.decorators),dt(t,t.modifiers),Ft(\"class\"),t.name&&(It(),xe(t.name));var r=65536&e.getEmitFlags(t);r&&Lt(),ht(t,t.typeParameters),bt(t,t.heritageClauses,0),It(),kt(\"{\"),bt(t,t.members,129),kt(\"}\"),r&&Rt()}function Ye(e){kt(\"{\"),bt(e,e.elements,525136),kt(\"}\")}function Xe(e){e.propertyName&&(De(e.propertyName),It(),Je(126,e.propertyName.end,Ft,e),It()),De(e.name)}function Qe(e){78===e.kind?be(e):De(e)}function $e(t,r,i){var a=163969;1===r.length&&(e.nodeIsSynthesized(t)||e.nodeIsSynthesized(r[0])||e.rangeStartPositionsAreOnSameLine(t,r[0],n))?(Bt(58,i,kt,t),It(),a&=-130):Je(58,i,kt,t),bt(t,r,a)}function Ze(t){bt(t,e.factory.createNodeArray(t.jsDocPropertyTags),33)}function et(t){t.typeParameters&&bt(t,e.factory.createNodeArray(t.typeParameters),33),t.parameters&&bt(t,e.factory.createNodeArray(t.parameters),33),t.type&&(Mt(),It(),kt(\"*\"),It(),De(t.type))}function tt(e){kt(\"@\"),De(e)}function rt(e){e&&(It(),j(e))}function nt(e){e&&(It(),kt(\"{\"),De(e.type),kt(\"}\"))}function it(e,t,r,i){if(e){var a=f.getTextPos();wt('/// '),J&&J.sections.push({pos:a,end:f.getTextPos(),kind:\"no-default-lib\"}),Mt()}if(n&&n.moduleName&&(wt('/// '),Mt()),n&&n.amdDependencies)for(var o=0,s=n.amdDependencies;o'):wt('/// '),Mt()}for(var u=0,l=t;u'),J&&J.sections.push({pos:a,end:f.getTextPos(),kind:\"reference\",data:d.fileName}),Mt()}for(var _=0,p=r;_'),J&&J.sections.push({pos:a,end:f.getTextPos(),kind:\"type\",data:d.fileName}),Mt()}for(var g=0,m=i;g'),J&&J.sections.push({pos:a,end:f.getTextPos(),kind:\"lib\",data:d.fileName}),Mt()}}function at(t){var r=t.statements;nr(t),e.forEach(t.statements,or),Ne(t);var n=e.findIndex(r,(function(t){return!e.isPrologueDirective(t)}));!function(e){e.isDeclarationFile&&it(e.hasNoDefaultLib,e.referencedFiles,e.typeReferenceDirectives,e.libReferenceDirectives)}(t),bt(t,r,1,-1===n?r.length:n),ir(t)}function ot(t,r,n,i){for(var a=!!r,o=0;o=a.length||0===c;if(l&&32768&o)return N&&N(a),void(P&&P(a));if(15360&o&&(kt(function(e){return i[15360&e][0]}(o)),l&&!u&&Ar(a.pos,!0)),N&&N(a),l)!(1&o)||B&&e.rangeIsOnSingleLine(r,n)?256&o&&!(524288&o)&&It():Mt();else{var d=0==(262144&o),_=d,f=qt(r,a,o);f?(Mt(f),_=!1):256&o&&It(),128&o&&Lt();for(var g=void 0,m=void 0,y=!1,v=0;v0?(0==(131&o)&&(Lt(),y=!0),Mt(D),_=!1):g&&512&o&&It()}if(m=ce(h),_){if(Ar)Ar(e.getCommentRange(h).pos)}else _=d;p=h.pos,t(h),y&&(Rt(),y=!1),g=h}var x=64&o&&a.hasTrailingComma;16&o&&x&&kt(\",\"),g&&60&o&&g.end!==r.end&&!(1024&e.getEmitFlags(g))&&Cr(g.end),128&o&&Rt(),ue(m);var b=Ht(r,a,o);b?Mt(b):2097408&o&&It()}P&&P(a),15360&o&&(l&&!u&&Cr(a.end),kt(function(e){return i[15360&e][1]}(o)))}}function Ct(e,t){f.writeSymbol(e,t)}function kt(e){f.writePunctuation(e)}function At(){f.writeTrailingSemicolon(\";\")}function Ft(e){f.writeKeyword(e)}function Nt(e){f.writeOperator(e)}function Pt(e){f.writeParameter(e)}function wt(e){f.writeComment(e)}function It(){f.writeSpace(\" \")}function Ot(e){f.writeProperty(e)}function Mt(e){void 0===e&&(e=1);for(var t=0;t0)}function Lt(){f.increaseIndent()}function Rt(){f.decreaseIndent()}function Bt(t,r,n,i){return q?Jt(t,n,r):function(t,r,n,i,a){if(q||t&&e.isInJsonFile(t))return a(r,n,i);var o=t&&t.emitNode,s=o&&o.flags||0,c=o&&o.tokenSourceMapRanges&&o.tokenSourceMapRanges[r],u=c&&c.source||v;i=Mr(u,c?c.pos:i),0==(128&s)&&i>=0&&Rr(u,i);i=a(r,n,i),c&&(i=c.end);0==(256&s)&&i>=0&&Rr(u,i);return i}(i,t,n,r,Jt)}function jt(t,r){w&&w(t),r(e.tokenToString(t.kind)),I&&I(t)}function Jt(t,r,n){var i=e.tokenToString(t);return r(i),n<0?n:n+i.length}function Kt(t,r,n){if(1&e.getEmitFlags(t))It();else if(B){var i=$t(t,r,n);i?Mt(i):It()}else Mt()}function zt(t){for(var r=t.split(/\\r\\n?|\\n/g),n=e.guessIndentation(r),i=0,a=r;i0||o>0)&&a!==o&&(c||xr(a,s),(!c||a>=0&&0!=(512&n))&&(G=a),(!u||o>=0&&0!=(1024&n))&&(Y=o,250===r.kind&&(X=o))),e.forEach(e.getSyntheticLeadingComments(r),yr),te();var p=Ce(2,t,r);2048&n?($=!0,p(t,r),$=!1):p(t,r),ee(),e.forEach(e.getSyntheticTrailingComments(r),vr),(a>0||o>0)&&a!==o&&(G=l,Y=d,X=_,!u&&s&&function(e){Pr(e,kr)}(o)),te(),e.Debug.assert(b===r||S===r)}function yr(e){(e.hasLeadingNewline||2===e.kind)&&f.writeLine(),hr(e),e.hasTrailingNewLine||2===e.kind?f.writeLine():f.writeSpace(\" \")}function vr(e){f.isAtStartOfLine()||f.writeSpace(\" \"),hr(e),e.hasTrailingNewLine&&f.writeLine()}function hr(t){var r=function(e){return 3===e.kind?\"/*\"+e.text+\"*/\":\"//\"+e.text}(t),n=3===t.kind?e.computeLineStarts(r):void 0;e.writeCommentRange(r,n,f,0,r.length,M)}function Dr(t,r,i){ee();var a=r.pos,o=r.end,s=e.getEmitFlags(t),c=$||o<0||0!=(1024&s);a<0||0!=(512&s)||function(t){var r=e.emitDetachedComments(n.text,he(),f,wr,t,M,$);r&&(x?x.push(r):x=[r])}(r),te(),2048&s&&!$?($=!0,i(t),$=!1):i(t),ee(),c||(xr(r.end,!0),Q&&!f.isAtStartOfLine()&&f.writeLine()),te()}function xr(e,t){Q=!1,t?0===e&&(null==n?void 0:n.isDeclarationFile)?Nr(e,Sr):Nr(e,Tr):0===e&&Nr(e,br)}function br(e,t,r,n,i){Ir(e,t)&&Tr(e,t,r,n,i)}function Sr(e,t,r,n,i){Ir(e,t)||Tr(e,t,r,n,i)}function Er(r,n){return!t.onlyPrintJsDocStyle||(e.isJSDocLikeText(r,n)||e.isPinnedComment(r,n))}function Tr(t,r,i,a,o){Er(n.text,t)&&(Q||(e.emitNewLineBeforeLeadingCommentOfPosition(he(),f,o,t),Q=!0),Lr(t),e.writeCommentRange(n.text,he(),f,t,r,M),Lr(r),a?f.writeLine():3===i&&f.writeSpace(\" \"))}function Cr(e){$||-1===e||xr(e,!0)}function kr(t,r,i,a){Er(n.text,t)&&(f.isAtStartOfLine()||f.writeSpace(\" \"),Lr(t),e.writeCommentRange(n.text,he(),f,t,r,M),Lr(r),a&&f.writeLine())}function Ar(e,t){$||(ee(),Pr(e,t?kr:Fr),te())}function Fr(t,r,i,a){Lr(t),e.writeCommentRange(n.text,he(),f,t,r,M),Lr(r),a?f.writeLine():f.writeSpace(\" \")}function Nr(t,r){!n||-1!==G&&t===G||(function(t){return void 0!==x&&e.last(x).nodePos===t}(t)?function(t){var r=e.last(x).detachedCommentEndPos;x.length-1?x.pop():x=void 0;e.forEachLeadingCommentRange(n.text,r,t,r)}(r):e.forEachLeadingCommentRange(n.text,t,r,t))}function Pr(t,r){n&&(-1===Y||t!==Y&&t!==X)&&e.forEachTrailingCommentRange(n.text,t,r)}function wr(t,r,i,a,o,s){Er(n.text,a)&&(Lr(a),e.writeCommentRange(t,r,i,a,o,s),Lr(o))}function Ir(t,r){return e.isRecognizedTripleSlashComment(n.text,t,r)}function Or(t,r){e.Debug.assert(b===r||S===r);var n=Ce(3,t,r);if(e.isUnparsedSource(r)||e.isUnparsedPrepend(r))n(t,r);else if(e.isUnparsedNode(r)){var i=function(t){return void 0===t.parsedSourceMap&&void 0!==t.sourceMapText&&(t.parsedSourceMap=e.tryParseRawSourceMap(t.sourceMapText)||!1),t.parsedSourceMap||void 0}(r.parent);i&&y&&y.appendSourceMap(f.getLine(),f.getColumn(),i,r.parent.sourceMapPath,r.parent.getLineAndCharacterOfPosition(r.pos),r.parent.getLineAndCharacterOfPosition(r.end)),n(t,r)}else{var a=e.getSourceMapRange(r),o=a.pos,s=a.end,c=a.source,u=void 0===c?v:c,l=e.getEmitFlags(r);335!==r.kind&&0==(16&l)&&o>=0&&Rr(u,Mr(u,o)),64&l?(q=!0,n(t,r),q=!1):n(t,r),335!==r.kind&&0==(32&l)&&s>=0&&Rr(u,s)}e.Debug.assert(b===r||S===r)}function Mr(t,r){return t.skipTrivia?t.skipTrivia(r):e.skipTrivia(t.text,r)}function Lr(t){if(!(q||e.positionIsSynthesized(t)||jr(v))){var r=e.getLineAndCharacterOfPosition(v,t),n=r.line,i=r.character;y.addMapping(f.getLine(),f.getColumn(),W,n,i,void 0)}}function Rr(e,t){if(e!==v){var r=v,n=W;Br(e),Lr(t),function(e,t){v=e,W=t}(r,n)}else Lr(t)}function Br(e){q||(v=e,e!==h?jr(e)||(W=y.addSource(e.fileName),t.inlineSources&&y.setSourceContent(W,e.text),h=e,H=W):W=H)}function jr(t){return e.fileExtensionIs(t.fileName,\".json\")}}e.isBuildInfoFile=function(t){return e.fileExtensionIs(t,\".tsbuildinfo\")},e.forEachEmittedFile=o,e.getTsBuildInfoEmitOutputFilePath=s,e.getOutputPathsForBundle=c,e.getOutputPathsFor=u,e.getOutputExtension=d,e.getOutputDeclarationFileName=p,e.getAllProjectOutputs=function(t,r){var n=g(),i=n.addOutput,a=n.getOutputs;if(e.outFile(t.options))m(t,i);else{for(var o=0,c=t.fileNames;o=4,v=(f+1+\"\").length;y&&(v=Math.max(\"...\".length,v));for(var h=\"\",D=l;D<=f;D++){h+=o.getNewLine(),y&&l+11}))&&Zt(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files,\"outDir\")}w.useDefineForClassFields&&0===d&&Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_target_is_ES3,\"useDefineForClassFields\");w.checkJs&&!e.getAllowJSCompilerOption(w)&&te.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,\"checkJs\",\"allowJs\"));w.emitDeclarationOnly&&(e.getEmitDeclarations(w)||Zt(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,\"emitDeclarationOnly\",\"declaration\",\"composite\"),w.noEmit&&Zt(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,\"emitDeclarationOnly\",\"noEmit\"));w.emitDecoratorMetadata&&!w.experimentalDecorators&&Zt(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,\"emitDecoratorMetadata\",\"experimentalDecorators\");w.jsxFactory?(w.reactNamespace&&Zt(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,\"reactNamespace\",\"jsxFactory\"),4!==w.jsx&&5!==w.jsx||Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,\"jsxFactory\",e.inverseJsxOptionMap.get(\"\"+w.jsx)),e.parseIsolatedEntityName(w.jsxFactory,d)||er(\"jsxFactory\",e.Diagnostics.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,w.jsxFactory)):w.reactNamespace&&!e.isIdentifierText(w.reactNamespace,d)&&er(\"reactNamespace\",e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,w.reactNamespace);w.jsxFragmentFactory&&(w.jsxFactory||Zt(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,\"jsxFragmentFactory\",\"jsxFactory\"),4!==w.jsx&&5!==w.jsx||Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,\"jsxFragmentFactory\",e.inverseJsxOptionMap.get(\"\"+w.jsx)),e.parseIsolatedEntityName(w.jsxFragmentFactory,d)||er(\"jsxFragmentFactory\",e.Diagnostics.Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name,w.jsxFragmentFactory));w.reactNamespace&&(4!==w.jsx&&5!==w.jsx||Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,\"reactNamespace\",e.inverseJsxOptionMap.get(\"\"+w.jsx)));w.jsxImportSource&&2===w.jsx&&Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,\"jsxImportSource\",e.inverseJsxOptionMap.get(\"\"+w.jsx));if(!w.noEmit&&!w.suppressOutputPathCheck){var v=Ze(),h=new e.Set;e.forEachEmittedFile(v,(function(e){w.emitDeclarationOnly||D(e.jsFilePath,h),D(e.declarationFilePath,h)}))}function D(t,r){if(t){var n=Xe(t);if(ye.has(n)){var i=void 0;w.configFilePath||(i=e.chainDiagnosticMessages(void 0,e.Diagnostics.Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig)),i=e.chainDiagnosticMessages(i,e.Diagnostics.Cannot_write_file_0_because_it_would_overwrite_input_file,t),ar(t,e.createCompilerDiagnosticFromMessageChain(i))}var a=X.useCaseSensitiveFileNames()?n:e.toFileNameLowerCase(n);r.has(a)?ar(t,e.createCompilerDiagnostic(e.Diagnostics.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files,t)):r.add(a)}}}(),e.performance.mark(\"afterProgram\"),e.performance.measure(\"Program\",\"beforeProgram\",\"afterProgram\"),e.tracing.end.apply(e.tracing,q),Ve;function qe(t,r,n){if(!t.length)return e.emptyArray;var i=e.getNormalizedAbsolutePath(r.originalFileName,re),a=He(r);e.tracing.push(\"program\",\"resolveModuleNamesWorker\",{containingFileName:i}),e.performance.mark(\"beforeResolveModule\");var o=G(t,i,n,a);return e.performance.mark(\"afterResolveModule\"),e.performance.measure(\"ResolveModule\",\"beforeResolveModule\",\"afterResolveModule\"),e.tracing.pop(),o}function We(t,r){if(!t.length)return[];var n=e.isString(r)?r:e.getNormalizedAbsolutePath(r.originalFileName,re),i=e.isString(r)?void 0:He(r);e.tracing.push(\"program\",\"resolveTypeReferenceDirectiveNamesWorker\",{containingFileName:n}),e.performance.mark(\"beforeResolveTypeReference\");var a=Y(t,n,i);return e.performance.mark(\"afterResolveTypeReference\"),e.performance.measure(\"ResolveTypeReference\",\"beforeResolveTypeReference\",\"afterResolveTypeReference\"),e.tracing.pop(),a}function He(t){var r=Ot(t.originalFileName);if(r||!e.fileExtensionIs(t.originalFileName,\".d.ts\"))return r;var n=Ge(t.originalFileName,t.path);if(n)return n;if(X.realpath&&w.preserveSymlinks&&e.stringContains(t.originalFileName,e.nodeModulesPathPart)){var i=X.realpath(t.originalFileName),a=Xe(i);return a===t.path?void 0:Ge(i,a)}}function Ge(t,r){var n=Lt(t);return e.isString(n)?Ot(n):n?Mt((function(t){var n=e.outFile(t.commandLine.options);if(n)return Xe(n)===r?t:void 0})):void 0}function Ye(t){if(e.containsPath(ee,t.fileName,!1)){var r=e.getBaseFileName(t.fileName);if(\"lib.d.ts\"===r||\"lib.es6.d.ts\"===r)return 0;var n=e.removeSuffix(e.removePrefix(r,\"lib.\"),\".d.ts\"),i=e.libs.indexOf(n);if(-1!==i)return i+1}return e.libs.length+2}function Xe(t){return e.toPath(t,re,Vt)}function Qe(){if(void 0===T){var t=e.filter(f,(function(t){return e.sourceFileMayBeEmitted(t,Ve)}));w.rootDir&&Wt(t,w.rootDir)?T=e.getNormalizedAbsolutePath(w.rootDir,re):w.composite&&w.configFilePath?Wt(t,T=e.getDirectoryPath(e.normalizeSlashes(w.configFilePath))):(r=t,T=n(e.mapDefined(r,(function(e){return e.isDeclarationFile?void 0:e.fileName})),re,Vt)),T&&T[T.length-1]!==e.directorySeparator&&(T+=e.directorySeparator)}var r;return T}function $e(t,r){if(0===Ee&&!r.ambientModuleNames.length)return qe(t,r,void 0);var n,i,a,o=M&&M.getSourceFile(r.fileName);if(o!==r&&r.resolvedModules){for(var s=[],c=0,u=t;c=0;){if(r.markUsed(o))return o;var s=n.text.slice(a[o],a[o+1]).trim();if(\"\"!==s&&!/^(\\s*)\\/\\/(.*)$/.test(s))return-1;o--}return-1}(t,i)})),directives:i}}function mt(e,t){return vt(e,t,B,yt)}function yt(t,r){return dt((function(){var n=nt().getEmitResolver(t,r);return e.getDeclarationDiagnostics(Ze(e.noop),n,t)||e.emptyArray}))}function vt(t,r,n,i){var a,o=t?null===(a=n.perFile)||void 0===a?void 0:a.get(t.path):n.allDiagnostics;if(o)return o;var s=i(t,r);return t?(n.perFile||(n.perFile=new e.Map)).set(t.path,s):n.allDiagnostics=s,s}function ht(e,t){return e.isDeclarationFile?[]:mt(e,t)}function Dt(t,r,n){Ct(e.normalizePath(t),r,n,void 0)}function xt(e,t){return e.fileName===t.fileName}function bt(e,t){return 78===e.kind?78===t.kind&&e.escapedText===t.escapedText:10===t.kind&&e.text===t.text}function St(t,r){var n=e.factory.createStringLiteral(t),i=e.factory.createImportDeclaration(void 0,void 0,void 0,n);return e.addEmitFlags(i,67108864),e.setParent(n,i),e.setParent(i,r),n.flags&=-9,i.flags&=-9,n}function Et(t){if(!t.imports){var r,n,i,a=e.isSourceFileJS(t),o=e.isExternalModule(t);if((w.isolatedModules||o)&&!t.isDeclarationFile){w.importHelpers&&(r=[St(e.externalHelpersModuleNameText,t)]);var s=e.getJSXRuntimeImport(e.getJSXImplicitImportBase(w,t),w);s&&(r||(r=[])).push(St(s,t))}for(var c=0,u=t.statements;c0),Object.defineProperties(o,{id:{get:function(){return this.redirectInfo.redirectTarget.id},set:function(e){this.redirectInfo.redirectTarget.id=e}},symbol:{get:function(){return this.redirectInfo.redirectTarget.symbol},set:function(e){this.redirectInfo.redirectTarget.symbol=e}}}),o}(D,v,t,r,Xe(t),d);return me.add(D.path,t),Nt(x,r,l),ge.set(r,o.name),p.push(x),x}v&&(fe.set(h,v),ge.set(r,o.name))}if(Nt(v,r,l),v){if(V.set(r,z>0),v.fileName=t,v.path=r,v.resolvedPath=Xe(t),v.originalFileName=d,Ft(t,v,a),X.useCaseSensitiveFileNames()){var b=e.toFileNameLowerCase(r),S=ve.get(b);S?kt(t,S,a):ve.set(b,v)}$=$||v.hasNoDefaultLib&&!i,w.noResolve||(jt(v,n),Jt(v)),w.noLib||zt(v),qt(v),n?_.push(v):p.push(v)}return v}(t,r,n,i,a,o);return e.tracing.pop(),s}function Ft(t,r,n){n&&r&&(F||(F=e.createMultiMap())).add(r.path,{referencedFileName:t,kind:n.kind,index:n.index,file:n.file.path})}function Nt(e,t,r){r?(ye.set(r,e),ye.set(t,e||!1)):ye.set(t,e)}function Pt(e){var t=wt(e);return t&&It(t,e)}function wt(t){if(le&&le.length&&!e.fileExtensionIs(t,\".d.ts\")&&!e.fileExtensionIs(t,\".json\"))return Ot(t)}function It(t,r){var n=e.outFile(t.commandLine.options);return n?e.changeExtension(n,\".d.ts\"):e.getOutputDeclarationFileName(r,t.commandLine,!X.useCaseSensitiveFileNames())}function Ot(t){void 0===_e&&(_e=new e.Map,Mt((function(e){Xe(w.configFilePath)!==e.sourceFile.path&&e.commandLine.fileNames.forEach((function(t){return _e.set(Xe(t),e.sourceFile.path)}))})));var r=_e.get(Xe(t));return r&&Bt(r)}function Mt(t){return e.forEachResolvedProjectReference(le,t)}function Lt(t){if(e.isDeclarationFileName(t))return void 0===pe&&(pe=new e.Map,Mt((function(t){var r=e.outFile(t.commandLine.options);if(r){var n=e.changeExtension(r,\".d.ts\");pe.set(Xe(n),!0)}else e.forEach(t.commandLine.fileNames,(function(r){if(!e.fileExtensionIs(r,\".d.ts\")&&!e.fileExtensionIs(r,\".json\")){var n=e.getOutputDeclarationFileName(r,t.commandLine,X.useCaseSensitiveFileNames());pe.set(Xe(n),r)}}))}))),pe.get(Xe(t))}function Rt(e){return he&&!!Ot(e)}function Bt(e){if(de)return de.get(e)||void 0}function jt(r,n){e.forEach(r.referencedFiles,(function(i,a){Ct(t(i.fileName,r.fileName),n,!1,void 0,{kind:e.RefFileKind.ReferenceFile,index:a,file:r,pos:i.pos,end:i.end})}))}function Jt(t){var r=e.map(t.typeReferenceDirectives,(function(t){return e.toFileNameLowerCase(t.fileName)}));if(r)for(var n=We(r,t),i=0;iK,d=u&&!S(w,a)&&!w.noResolve&&ir&&(te.add(e.createDiagnosticForNodeInSourceFile(w.configFile,p.elements[r],n,i,a,o)),s=!1)}}s&&te.add(e.createCompilerDiagnostic(n,i,a,o))}function Qt(t,r,n,i){for(var a=!0,o=0,s=$t();or?te.add(e.createDiagnosticForNodeInSourceFile(t||w.configFile,o.elements[r],n,i,a)):te.add(e.createCompilerDiagnostic(n,i,a))}function rr(t,r,n,i,a,o,s){var c=nr();(!c||!ir(c,t,r,n,i,a,o,s))&&te.add(e.createCompilerDiagnostic(i,a,o,s))}function nr(){if(void 0===W){W=null;var t=e.getTsConfigObjectLiteralExpression(w.configFile);if(t)for(var r=0,n=e.getPropertyAssignment(t,\"compilerOptions\");r0)for(var s=t.getTypeChecker(),c=0,u=r.imports;c0)for(var _=0,p=r.referencedFiles;_1&&b(x)}return o;function b(t){for(var n=0,i=t.declarations;n1?f.outputFiles[1]:void 0:f.outputFiles.length>0?f.outputFiles[0]:void 0;g?(e.Debug.assert(e.fileExtensionIs(g.name,\".d.ts\"),\"File extension for signature expected to be dts\",(function(){return\"Found: \"+e.getAnyExtensionFromPath(g.name)+\" for \"+g.name+\":: All output files: \"+JSON.stringify(f.outputFiles.map((function(e){return e.name})))})),d=(c||e.generateDjb2Hash)(g.text),u&&d!==_&&function(t,r,i){if(!r)return void i.set(t.resolvedPath,!1);var a;function o(t){t&&(a||(a=new e.Set),a.add(t))}r.forEach((function(e){return o(n(e))})),i.set(t.resolvedPath,a||!1)}(a,f.exportedModulesFromDeclarationEmit,u)):d=_}return o.set(a.resolvedPath,d),!_||d!==_}function d(t,r){if(!t.allFileNames){var n=r.getSourceFiles();t.allFileNames=n===e.emptyArray?e.emptyArray:n.map((function(e){return e.fileName}))}return t.allFileNames}function _(t,r){return e.arrayFrom(e.mapDefinedIterator(t.referencedMap.entries(),(function(e){var t=e[0];return e[1].has(r)?t:void 0})))}function p(t){return function(t){return e.some(t.moduleAugmentations,(function(t){return e.isGlobalScopeAugmentation(t.parent)}))}(t)||!e.isExternalModule(t)&&!function(t){for(var r=0,n=t.statements;r0;){var g=d.pop();if(!u.has(g)){var m=r.getSourceFileByPath(g);u.set(g,m),m&&l(t,r,m,i,a,o,s)&&d.push.apply(d,_(t,m.resolvedPath))}}return e.arrayFrom(e.mapDefinedIterator(u.values(),(function(e){return e})))}r.canReuseOldState=s,r.create=function(t,r,n){var i=new e.Map,a=t.getCompilerOptions().module!==e.ModuleKind.None?new e.Map:void 0,c=a?new e.Map:void 0,u=new e.Set,l=s(a,n);t.getTypeChecker();for(var d=0,_=t.getSourceFiles();d<_.length;d++){var f=_[d],g=e.Debug.checkDefined(f.version,\"Program intended to be used with Builder should have source files with versions set\"),m=l?n.fileInfos.get(f.resolvedPath):void 0;if(a){var y=o(t,f,r);if(y&&a.set(f.resolvedPath,y),l){var v=n.exportedModulesMap.get(f.resolvedPath);v&&c.set(f.resolvedPath,v)}}i.set(f.resolvedPath,{version:g,signature:m&&m.signature,affectsGlobalScope:p(f)})}return{fileInfos:i,referencedMap:a,exportedModulesMap:c,hasCalledUpdateShapeSignature:u}},r.releaseCache=function(e){e.allFilesExcludingDefaultLibraryFile=void 0,e.allFileNames=void 0},r.clone=function(t){return{fileInfos:new e.Map(t.fileInfos),referencedMap:t.referencedMap&&new e.Map(t.referencedMap),exportedModulesMap:t.exportedModulesMap&&new e.Map(t.exportedModulesMap),hasCalledUpdateShapeSignature:new e.Set(t.hasCalledUpdateShapeSignature)}},r.getFilesAffectedBy=function(t,r,n,i,a,o,s){var u=o||new e.Map,d=r.getSourceFileByPath(n);if(!d)return e.emptyArray;if(!l(t,r,d,u,i,a,s))return[d];var _=(t.referencedMap?m:g)(t,r,d,u,i,a,s);return o||c(t,u),_},r.updateSignaturesFromCache=c,r.updateSignatureOfFile=u,r.updateShapeSignature=l,r.updateExportedFilesMapFromCache=function(t,r){r&&(e.Debug.assert(!!t.exportedModulesMap),r.forEach((function(e,r){e?t.exportedModulesMap.set(r,e):t.exportedModulesMap.delete(r)})))},r.getAllDependencies=function(t,r,n){var i=r.getCompilerOptions();if(e.outFile(i))return d(t,r);if(!t.referencedMap||p(n))return d(t,r);for(var a=new e.Set,o=[n.resolvedPath];o.length;){var s=o.pop();if(!a.has(s)){a.add(s);var c=t.referencedMap.get(s);if(c)for(var u=c.keys(),l=u.next();!l.done;l=u.next())o.push(l.value)}}return e.arrayFrom(e.mapDefinedIterator(a.keys(),(function(e){var t,n;return null!==(n=null===(t=r.getSourceFileByPath(e))||void 0===t?void 0:t.fileName)&&void 0!==n?n:e})))},r.getReferencedByPaths=_,r.getAllFilesExcludingDefaultLibraryFile=f}(e.BuilderState||(e.BuilderState={}))}(u||(u={})),function(e){var t;function r(t,r,n){var a=e.BuilderState.create(t,r,n);a.program=t;var o=t.getCompilerOptions();a.compilerOptions=o,e.outFile(o)||(a.semanticDiagnosticsPerFile=new e.Map),a.changedFilesSet=new e.Set;var s=e.BuilderState.canReuseOldState(a.referencedMap,n),c=s?n.compilerOptions:void 0,u=s&&n.semanticDiagnosticsPerFile&&!!a.semanticDiagnosticsPerFile&&!e.compilerOptionsAffectSemanticDiagnostics(o,c);if(s){if(!n.currentChangedFilePath){var l=n.currentAffectedFilesSignatures;e.Debug.assert(!(n.affectedFiles||l&&l.size),\"Cannot reuse if only few affected files of currentChangedFile were iterated\")}var d=n.changedFilesSet;u&&e.Debug.assert(!d||!e.forEachKey(d,(function(e){return n.semanticDiagnosticsPerFile.has(e)})),\"Semantic diagnostics shouldnt be available for changed files\"),null==d||d.forEach((function(e){return a.changedFilesSet.add(e)})),!e.outFile(o)&&n.affectedFilesPendingEmit&&(a.affectedFilesPendingEmit=n.affectedFilesPendingEmit.slice(),a.affectedFilesPendingEmitKind=n.affectedFilesPendingEmitKind&&new e.Map(n.affectedFilesPendingEmitKind),a.affectedFilesPendingEmitIndex=n.affectedFilesPendingEmitIndex,a.seenAffectedFiles=new e.Set)}var _=a.referencedMap,p=s?n.referencedMap:void 0,f=u&&!o.skipLibCheck==!c.skipLibCheck,g=f&&!o.skipDefaultLibCheck==!c.skipDefaultLibCheck;return a.fileInfos.forEach((function(o,c){var l,d,m,y;if(!s||!(l=n.fileInfos.get(c))||l.version!==o.version||(m=d=_&&_.get(c),y=p&&p.get(c),m!==y&&(void 0===m||void 0===y||m.size!==y.size||e.forEachKey(m,(function(e){return!y.has(e)}))))||d&&e.forEachKey(d,(function(e){return!a.fileInfos.has(e)&&n.fileInfos.has(e)})))a.changedFilesSet.add(c);else if(u){var v=t.getSourceFileByPath(c);if(v.isDeclarationFile&&!f)return;if(v.hasNoDefaultLib&&!g)return;var h=n.semanticDiagnosticsPerFile.get(c);h&&(a.semanticDiagnosticsPerFile.set(c,n.hasReusableDiagnostic?function(t,r,n){if(!t.length)return e.emptyArray;var a=e.getDirectoryPath(e.getNormalizedAbsolutePath(e.getTsBuildInfoEmitOutputFilePath(r.getCompilerOptions()),r.getCurrentDirectory()));return t.map((function(e){var t=i(e,r,o);t.reportsUnnecessary=e.reportsUnnecessary,t.reportsDeprecated=e.reportDeprecated,t.source=e.source,t.skippedOn=e.skippedOn;var n=e.relatedInformation;return t.relatedInformation=n?n.length?n.map((function(e){return i(e,r,o)})):[]:void 0,t}));function o(t){return e.toPath(t,a,n)}}(h,t,r):h),a.semanticDiagnosticsFromOldState||(a.semanticDiagnosticsFromOldState=new e.Set),a.semanticDiagnosticsFromOldState.add(c))}})),s&&e.forEachEntry(n.fileInfos,(function(e,t){return e.affectsGlobalScope&&!a.fileInfos.has(t)}))?e.BuilderState.getAllFilesExcludingDefaultLibraryFile(a,t,void 0).forEach((function(e){return a.changedFilesSet.add(e.resolvedPath)})):c&&!e.outFile(o)&&e.compilerOptionsAffectEmit(o,c)&&(t.getSourceFiles().forEach((function(e){return D(a,e.resolvedPath,1)})),e.Debug.assert(!a.seenAffectedFiles||!a.seenAffectedFiles.size),a.seenAffectedFiles=a.seenAffectedFiles||new e.Set),a.buildInfoEmitPending=!!a.changedFilesSet.size,a}function i(e,t,r){var i=e.file;return n(n({},e),{file:i?t.getSourceFileByPath(r(i)):void 0})}function a(t,r){e.Debug.assert(!r||!t.affectedFiles||t.affectedFiles[t.affectedFilesIndex-1]!==r||!t.semanticDiagnosticsPerFile.has(r.resolvedPath))}function o(t,r,n){for(;;){var i=t.affectedFiles;if(i){for(var a=t.seenAffectedFiles,o=t.affectedFilesIndex;o0;){var o=a.pop();if(!i.has(o))if(i.set(o,!0),n(t,o)&&u(t,o)){var s=e.Debug.checkDefined(t.program).getSourceFileByPath(o);a.push.apply(a,e.BuilderState.getReferencedByPaths(t,s.resolvedPath))}}}e.Debug.assert(!!t.currentAffectedFilesExportedModulesMap);var c=new e.Set;if(e.forEachEntry(t.currentAffectedFilesExportedModulesMap,(function(e,i){return e&&e.has(r.resolvedPath)&&l(t,i,c,n)})))return;e.forEachEntry(t.exportedModulesMap,(function(e,i){return!t.currentAffectedFilesExportedModulesMap.has(i)&&e.has(r.resolvedPath)&&l(t,i,c,n)}))}(t,r,(function(t,r){return function(t,r,n,i){if(c(t,r),!t.changedFilesSet.has(r)){var a=e.Debug.checkDefined(t.program),o=a.getSourceFileByPath(r);o&&(e.BuilderState.updateShapeSignature(t,a,o,e.Debug.checkDefined(t.currentAffectedFilesSignatures),n,i,t.currentAffectedFilesExportedModulesMap),e.getEmitDeclarations(t.compilerOptions)&&D(t,r,0))}return!1}(t,r,n,i)}));else if(!t.cleanedDiagnosticsOfLibFiles){t.cleanedDiagnosticsOfLibFiles=!0;var a=e.Debug.checkDefined(t.program),o=a.getCompilerOptions();e.forEach(a.getSourceFiles(),(function(r){return a.isSourceFileDefaultLibrary(r)&&!e.skipTypeChecking(r,o,a)&&c(t,r.resolvedPath)}))}}function c(e,t){return!e.semanticDiagnosticsFromOldState||(e.semanticDiagnosticsFromOldState.delete(t),e.semanticDiagnosticsPerFile.delete(t),!e.semanticDiagnosticsFromOldState.size)}function u(t,r){return e.Debug.checkDefined(t.currentAffectedFilesSignatures).get(r)!==e.Debug.checkDefined(t.fileInfos.get(r)).signature}function l(t,r,n,i){return e.forEachEntry(t.referencedMap,(function(e,a){return e.has(r)&&d(t,a,n,i)}))}function d(t,r,n,i){return!!e.tryAddToSet(n,r)&&(!!i(t,r)||(e.Debug.assert(!!t.currentAffectedFilesExportedModulesMap),!!e.forEachEntry(t.currentAffectedFilesExportedModulesMap,(function(e,a){return e&&e.has(r)&&d(t,a,n,i)}))||(!!e.forEachEntry(t.exportedModulesMap,(function(e,a){return!t.currentAffectedFilesExportedModulesMap.has(a)&&e.has(r)&&d(t,a,n,i)}))||!!e.forEachEntry(t.referencedMap,(function(e,a){return e.has(r)&&!n.has(a)&&i(t,a)})))))}function _(t,r,n,i,a){a?t.buildInfoEmitPending=!1:r===t.program?(t.changedFilesSet.clear(),t.programEmitComplete=!0):(t.seenAffectedFiles.add(r.resolvedPath),void 0!==n&&(t.seenEmittedFiles||(t.seenEmittedFiles=new e.Map)).set(r.resolvedPath,n),i?(t.affectedFilesPendingEmitIndex++,t.buildInfoEmitPending=!0):t.affectedFilesIndex++)}function p(e,t,r){return _(e,r),{result:t,affected:r}}function f(e,t,r,n,i,a){return _(e,r,n,i,a),{result:t,affected:r}}function g(t,r,n){return e.concatenate(function(t,r,n){var i=r.resolvedPath;if(t.semanticDiagnosticsPerFile){var a=t.semanticDiagnosticsPerFile.get(i);if(a)return e.filterSemanticDiagnotics(a,t.compilerOptions)}var o=e.Debug.checkDefined(t.program).getBindAndCheckDiagnostics(r,n);t.semanticDiagnosticsPerFile&&t.semanticDiagnosticsPerFile.set(i,o);return e.filterSemanticDiagnotics(o,t.compilerOptions)}(t,r,n),e.Debug.checkDefined(t.program).getProgramDiagnostics(r))}function m(t,r){var n={},i=e.getOptionsNameMap().optionsNameMap;for(var a in t)e.hasProperty(t,a)&&(n[a]=y(i.get(a.toLowerCase()),t[a],r));return n.configFilePath&&(n.configFilePath=r(n.configFilePath)),n}function y(e,t,r){if(e)if(\"list\"===e.type){var n=t;if(e.element.isFilePath&&n.length)return n.map(r)}else if(e.isFilePath)return r(t);return t}function v(t,r){return e.Debug.assert(!!t.length),t.map((function(e){var t=h(e,r);t.reportsUnnecessary=e.reportsUnnecessary,t.reportDeprecated=e.reportsDeprecated,t.source=e.source,t.skippedOn=e.skippedOn;var n=e.relatedInformation;return t.relatedInformation=n?n.length?n.map((function(e){return h(e,r)})):[]:void 0,t}))}function h(e,t){var r=e.file;return n(n({},e),{file:r?t(r.resolvedPath):void 0})}function D(t,r,n){t.affectedFilesPendingEmit||(t.affectedFilesPendingEmit=[]),t.affectedFilesPendingEmitKind||(t.affectedFilesPendingEmitKind=new e.Map);var i=t.affectedFilesPendingEmitKind.get(r);t.affectedFilesPendingEmit.push(r),t.affectedFilesPendingEmitKind.set(r,i||n),void 0===t.affectedFilesPendingEmitIndex&&(t.affectedFilesPendingEmitIndex=0)}function x(t,r){if(t){var n=new e.Map;for(var i in t)e.hasProperty(t,i)&&n.set(r(i),new e.Set(t[i].map(r)));return n}}function b(t,r){return{getState:e.notImplemented,backupState:e.noop,restoreState:e.noop,getProgram:n,getProgramOrUndefined:function(){return t.program},releaseProgram:function(){return t.program=void 0},getCompilerOptions:function(){return t.compilerOptions},getSourceFile:function(e){return n().getSourceFile(e)},getSourceFiles:function(){return n().getSourceFiles()},getOptionsDiagnostics:function(e){return n().getOptionsDiagnostics(e)},getGlobalDiagnostics:function(e){return n().getGlobalDiagnostics(e)},getConfigFileParsingDiagnostics:function(){return r},getSyntacticDiagnostics:function(e,t){return n().getSyntacticDiagnostics(e,t)},getDeclarationDiagnostics:function(e,t){return n().getDeclarationDiagnostics(e,t)},getSemanticDiagnostics:function(e,t){return n().getSemanticDiagnostics(e,t)},emit:function(e,t,r,i,a){return n().emit(e,t,r,i,a)},emitBuildInfo:function(e,t){return n().emitBuildInfo(e,t)},getAllDependencies:e.notImplemented,getCurrentDirectory:function(){return n().getCurrentDirectory()},close:e.noop};function n(){return e.Debug.checkDefined(t.program)}}!function(e){e[e.DtsOnly=0]=\"DtsOnly\",e[e.Full=1]=\"Full\"}(e.BuilderFileEmit||(e.BuilderFileEmit={})),function(e){e[e.SemanticDiagnosticsBuilderProgram=0]=\"SemanticDiagnosticsBuilderProgram\",e[e.EmitAndSemanticDiagnosticsBuilderProgram=1]=\"EmitAndSemanticDiagnosticsBuilderProgram\"}(t=e.BuilderProgramKind||(e.BuilderProgramKind={})),e.getBuilderCreationParameters=function(t,r,n,i,a,o){var s,c,u;return void 0===t?(e.Debug.assert(void 0===r),s=n,u=i,e.Debug.assert(!!u),c=u.getProgram()):e.isArray(t)?(u=i,c=e.createProgram({rootNames:t,options:r,host:n,oldProgram:u&&u.getProgramOrUndefined(),configFileParsingDiagnostics:a,projectReferences:o}),s=n):(c=t,s=r,u=n,a=i),{host:s,newProgram:c,oldProgram:u,configFileParsingDiagnostics:a||e.emptyArray}},e.createBuilderProgram=function(n,i){var s=i.newProgram,c=i.host,u=i.oldProgram,l=i.configFileParsingDiagnostics,d=u&&u.getState();if(d&&s===d.program&&l===s.getConfigFileParsingDiagnostics())return s=void 0,d=void 0,u;var y,h=e.createGetCanonicalFileName(c.useCaseSensitiveFileNames()),x=e.maybeBind(c,c.createHash),S=r(s,h,d);s.getProgramBuildInfo=function(){return function(t,r){if(!e.outFile(t.compilerOptions)){var n=e.Debug.checkDefined(t.program).getCurrentDirectory(),i=e.getDirectoryPath(e.getNormalizedAbsolutePath(e.getTsBuildInfoEmitOutputFilePath(t.compilerOptions),n)),a={};t.fileInfos.forEach((function(e,r){var n=t.currentAffectedFilesSignatures&&t.currentAffectedFilesSignatures.get(r);a[C(r)]=void 0===n?e:{version:e.version,signature:n,affectsGlobalScope:e.affectsGlobalScope}}));var o={fileInfos:a,options:m(t.compilerOptions,(function(t){return C(e.getNormalizedAbsolutePath(t,n))}))};if(t.referencedMap){for(var s={},c=0,u=e.arrayFrom(t.referencedMap.keys()).sort(e.compareStringsCaseSensitive);c1||47!==t.charCodeAt(0);if(a&&0!==t.search(/[a-zA-Z]:/)&&0===i.search(/[a-zA-z]\\$\\//)){if(-1===(n=t.indexOf(e.directorySeparator,n+1)))return!1;i=t.substring(r+i.length,n+1)}if(a&&0!==i.search(/users\\//i))return!0;for(var o=n+1,s=2;s>0;s--)if(0===(o=t.indexOf(e.directorySeparator,o)+1))return!1;return!0}e.removeIgnoredPath=t,e.canWatchDirectory=r,e.createResolutionCache=function(n,i,a){var o,s,c,u=e.createMultiMap(),l=[],d=e.createMultiMap(),_=!1,p=[],f=[],g=[],m=e.memoize((function(){return n.getCurrentDirectory()})),y=n.getCachedDirectoryStructureHost(),v=new e.Map,h=e.createCacheWithRedirects(),D=e.createCacheWithRedirects(),x=e.createModuleResolutionCacheWithMaps(h,D,m(),n.getCanonicalFileName),b=new e.Map,S=e.createCacheWithRedirects(),E=[\".ts\",\".tsx\",\".js\",\".jsx\",\".json\"],T=new e.Map,C=new e.Map,k=i&&e.removeTrailingDirectorySeparator(e.getNormalizedAbsolutePath(i,m())),A=k&&n.toPath(k),F=void 0!==A?A.split(e.directorySeparator).length:0,N=new e.Map;return{startRecordingFilesWithChangedResolutions:function(){o=[]},finishRecordingFilesWithChangedResolutions:function(){var e=o;return o=void 0,e},startCachingPerDirectoryResolution:M,finishCachingPerDirectoryResolution:function(){c=void 0,M(),C.forEach((function(e,t){0===e.refCount&&(C.delete(t),e.watcher.close())})),_=!1},resolveModuleNames:function(t,r,n,i){return R({names:t,containingFile:r,redirectedReference:i,cache:v,perDirectoryCacheWithRedirects:h,loader:L,getResolutionWithResolvedFileName:P,shouldRetryResolution:function(t){return!t.resolvedModule||!e.resolutionExtensionIsTSOrJson(t.resolvedModule.extension)},reusedNames:n,logChanges:a})},getResolvedModuleWithFailedLookupLocationsFromCache:function(e,t){var r=v.get(n.toPath(t));return r&&r.get(e)},resolveTypeReferenceDirectives:function(t,r,n){return R({names:t,containingFile:r,redirectedReference:n,cache:b,perDirectoryCacheWithRedirects:S,loader:e.resolveTypeReferenceDirective,getResolutionWithResolvedFileName:w,shouldRetryResolution:function(e){return void 0===e.resolvedTypeReferenceDirective}})},removeResolutionsFromProjectReferenceRedirects:function(t){if(!e.fileExtensionIs(t,\".json\"))return;var r=n.getCurrentProgram();if(!r)return;var i=r.getResolvedProjectReferenceByPath(t);if(!i)return;i.commandLine.fileNames.forEach((function(e){return X(n.toPath(e))}))},removeResolutionsOfFile:X,hasChangedAutomaticTypeDirectiveNames:function(){return _},invalidateResolutionOfFile:function(t){X(t);var r=_;Q(d.get(t),e.returnTrue)&&_&&!r&&n.onChangedAutomaticTypeDirectiveNames()},invalidateResolutionsOfFailedLookupLocations:Z,setFilesWithInvalidatedNonRelativeUnresolvedImports:function(t){e.Debug.assert(c===t||void 0===c),c=t},createHasInvalidatedResolution:function(t){if(Z(),t)return s=void 0,e.returnTrue;var r=s;return s=void 0,function(e){return!!r&&r.has(e)||O(e)}},updateTypeRootsWatch:function(){var t=n.getCompilationSettings();if(t.types)return void te();var r=e.getEffectiveTypeRoots(t,{directoryExists:ne,getCurrentDirectory:m});r?e.mutateMap(N,e.arrayToMap(r,(function(e){return n.toPath(e)})),{createNewValue:re,onDeleteValue:e.closeFileWatcher}):te()},closeTypeRootsWatch:te,clear:function(){e.clearMap(C,e.closeFileWatcherOf),T.clear(),u.clear(),te(),v.clear(),b.clear(),d.clear(),l.length=0,p.length=0,f.length=0,g.length=0,M(),_=!1}};function P(e){return e.resolvedModule}function w(e){return e.resolvedTypeReferenceDirective}function I(t,r){return!(void 0===t||r.length<=t.length)&&(e.startsWith(r,t)&&r[t.length]===e.directorySeparator)}function O(e){if(!c)return!1;var t=c.get(e);return!!t&&!!t.length}function M(){h.clear(),D.clear(),S.clear(),u.forEach(V),u.clear()}function L(t,r,i,a,o){var s,c=e.resolveModuleName(t,r,i,a,x,o);if(!n.getGlobalCache)return c;var u=n.getGlobalCache();if(!(void 0===u||e.isExternalModuleNameRelative(t)||c.resolvedModule&&e.extensionIsTS(c.resolvedModule.extension))){var l=e.loadModuleFromGlobalCache(e.Debug.checkDefined(n.globalCacheResolutionModuleName)(t),n.projectName,i,a,u),d=l.resolvedModule,_=l.failedLookupLocations;if(d)return c.resolvedModule=d,(s=c.failedLookupLocations).push.apply(s,_),c}return c}function R(t){var r,i=t.names,a=t.containingFile,s=t.redirectedReference,c=t.cache,u=t.perDirectoryCacheWithRedirects,l=t.loader,d=t.getResolutionWithResolvedFileName,_=t.shouldRetryResolution,p=t.reusedNames,f=t.logChanges,g=n.toPath(a),m=c.get(g)||c.set(g,new e.Map).get(g),y=e.getDirectoryPath(g),v=u.getOrCreateMapOfCacheRedirects(s),h=v.get(y);h||(h=new e.Map,v.set(y,h));for(var D=[],x=n.getCompilationSettings(),b=f&&O(g),S=n.getCurrentProgram(),E=S&&S.getResolvedProjectReferenceToRedirect(a),T=E?!s||s.sourceFile.path!==E.sourceFile.path:!!s,C=new e.Map,k=0,A=i;kF+1?{dir:i.slice(0,F+1).join(e.directorySeparator),dirPath:n.slice(0,F+1).join(e.directorySeparator)}:{dir:k,dirPath:A,nonRecursive:!1}}return J(e.getDirectoryPath(e.getNormalizedAbsolutePath(t,m())),e.getDirectoryPath(r))}function J(t,n){for(;e.pathContainsNodeModules(n);)t=e.getDirectoryPath(t),n=e.getDirectoryPath(n);if(e.isNodeModulesDirectory(n))return r(e.getDirectoryPath(n))?{dir:t,dirPath:n}:void 0;var i,a,o=!0;if(void 0!==A)for(;!I(n,A);){var s=e.getDirectoryPath(n);if(s===n)break;o=!1,i=n,a=t,n=s,t=e.getDirectoryPath(t)}return r(n)?{dir:a||t,dirPath:i||n,nonRecursive:o}:void 0}function K(t){return e.fileExtensionIsOneOf(t,E)}function z(t,r,i,a){if(r.refCount)r.refCount++,e.Debug.assertDefined(r.files);else{r.refCount=1,e.Debug.assert(0===e.length(r.files)),e.isExternalModuleNameRelative(t)?U(r):u.add(t,r);var o=a(r);o&&o.resolvedFileName&&d.add(n.toPath(o.resolvedFileName),r)}(r.files||(r.files=[])).push(i)}function U(t){e.Debug.assert(!!t.refCount);var r=t.failedLookupLocations;if(r.length){l.push(t);for(var i=!1,a=0,o=r;a1),T.set(_,g-1))),f===A?o=!0:H(f)}}o&&H(A)}}}function H(e){C.get(e).refCount--}function G(e,t,r){return n.watchDirectoryOfFailedLookupLocation(e,(function(e){var r=n.toPath(e);y&&y.addOrDeleteFileOrDirectory(e,r),$(r,t===r)}),r?0:1)}function Y(e,t,r){var n=e.get(t);n&&(n.forEach((function(e){return W(e,t,r)})),e.delete(t))}function X(e){Y(v,e,P),Y(b,e,w)}function Q(t,r){if(!t)return!1;for(var n=!1,i=0,a=t;i1&&r.sort(d),c.push.apply(c,r));var i=e.getDirectoryPath(t);if(i===t)return s=t,\"break\";s=t=i},l=e.getDirectoryPath(e.toPath(t,i,a));0!==o.size;){var p=u(l);if(l=s,\"break\"===p)break}if(o.size){var f=e.arrayFrom(o.values());f.length>1&&f.sort(d),c.push.apply(c,f)}return c}function f(t,r,n){for(var i in n)for(var a=0,o=n[i];a=l.length+d.length&&e.startsWith(r,l)&&e.endsWith(r,d)||!d&&r===e.removeTrailingDirectorySeparator(l)){var _=r.substr(l.length,r.length-d.length);return i.replace(\"*\",_)}}else if(c===r||c===t)return i}}function g(t,r,n,i,a){var o=t.path,s=t.isRedirect,c=r.getCanonicalFileName,u=r.sourceDirectory;if(n.fileExists&&n.readFile){var l=function(t){var r,n=0,i=0,a=0,o=0;!function(e){e[e.BeforeNodeModules=0]=\"BeforeNodeModules\",e[e.NodeModules=1]=\"NodeModules\",e[e.Scope=2]=\"Scope\",e[e.PackageContent=3]=\"PackageContent\"}(r||(r={}));var s=0,c=0,u=0;for(;c>=0;)switch(s=c,c=t.indexOf(\"/\",s+1),u){case 0:t.indexOf(e.nodeModulesPathPart,s)===s&&(n=s,i=c,u=1);break;case 1:case 2:1===u&&\"@\"===t.charAt(s+1)?u=2:(a=c,u=3);break;case 3:u=t.indexOf(e.nodeModulesPathPart,s)===s?1:3}return o=s,u>1?{topLevelNodeModulesIndex:n,topLevelPackageNameIndex:i,packageRootIndex:a,fileNameIndex:o}:void 0}(o);if(l){var d=o,_=!1;if(!a)for(var p=l.packageRootIndex,g=void 0;;){var m=E(p),v=m.moduleFileToTry,h=m.packageRootPath;if(h){d=h,_=!0;break}if(g||(g=v),-1===(p=o.indexOf(e.directorySeparator,p+1))){d=T(g);break}}if(!s||_){var D=n.getGlobalTypingsCacheLocation&&n.getGlobalTypingsCacheLocation(),x=c(d.substring(0,l.topLevelNodeModulesIndex));if(e.startsWith(u,x)||D&&e.startsWith(c(D),x)){var b=d.substring(l.topLevelPackageNameIndex+1),S=e.getPackageNameFromTypesPackageName(b);return e.getEmitModuleResolutionKind(i)!==e.ModuleResolutionKind.NodeJs&&S===b?void 0:S}}}}function E(t){var r=o.substring(0,t),a=e.combinePaths(r,\"package.json\"),s=o;if(n.fileExists(a)){var u=JSON.parse(n.readFile(a)),l=u.typesVersions?e.getPackageJsonTypesVersionsPaths(u.typesVersions):void 0;if(l){var d=o.slice(r.length+1),_=f(e.removeFileExtension(d),y(d,0,i),l.paths);void 0!==_&&(s=e.combinePaths(r,_))}var p=u.typings||u.types||u.main;if(e.isString(p)){var g=e.toPath(p,r,c);if(e.removeFileExtension(g)===e.removeFileExtension(c(s)))return{packageRootPath:r,moduleFileToTry:s}}}return{moduleFileToTry:s}}function T(t){var r=e.removeFileExtension(t);return\"/index\"!==c(r.substring(l.fileNameIndex))||function(t,r){if(!t.fileExists)return;for(var n=e.getSupportedExtensions({allowJs:!0},[{extension:\"node\",isMixedContent:!1},{extension:\"json\",isMixedContent:!1,scriptKind:6}]),i=0,a=n;i0?e.ExitStatus.DiagnosticsPresent_OutputsSkipped:_.length>0?e.ExitStatus.DiagnosticsPresent_OutputsGenerated:e.ExitStatus.Success}function p(t,r){return void 0===t&&(t=e.sys),{onWatchStatusChange:r||o(t),watchFile:e.maybeBind(t,t.watchFile)||e.returnNoopFileWatcher,watchDirectory:e.maybeBind(t,t.watchDirectory)||e.returnNoopFileWatcher,setTimeout:e.maybeBind(t,t.setTimeout)||e.noop,clearTimeout:e.maybeBind(t,t.clearTimeout)||e.noop}}function f(t,r){var n=e.memoize((function(){return e.getDirectoryPath(e.normalizePath(t.getExecutingFilePath()))}));return{useCaseSensitiveFileNames:function(){return t.useCaseSensitiveFileNames},getNewLine:function(){return t.newLine},getCurrentDirectory:e.memoize((function(){return t.getCurrentDirectory()})),getDefaultLibLocation:n,getDefaultLibFileName:function(t){return e.combinePaths(n(),e.getDefaultLibFileName(t))},fileExists:function(e){return t.fileExists(e)},readFile:function(e,r){return t.readFile(e,r)},directoryExists:function(e){return t.directoryExists(e)},getDirectories:function(e){return t.getDirectories(e)},readDirectory:function(e,r,n,i,a){return t.readDirectory(e,r,n,i,a)},realpath:e.maybeBind(t,t.realpath),getEnvironmentVariable:e.maybeBind(t,t.getEnvironmentVariable),trace:function(e){return t.write(e+t.newLine)},createDirectory:function(e){return t.createDirectory(e)},writeFile:function(e,r,n){return t.writeFile(e,r,n)},createHash:e.maybeBind(t,t.createHash),createProgram:r||e.createEmitAndSemanticDiagnosticsBuilderProgram}}function g(t,r,n,i){void 0===t&&(t=e.sys);var a=function(e){return t.write(e+t.newLine)},o=f(t,r);return e.copyProperties(o,p(t,i)),o.afterProgramCreate=function(r){var i=r.getCompilerOptions(),s=e.getNewLineCharacter(i,(function(){return t.newLine}));d(r,n,a,(function(t){return o.onWatchStatusChange(e.createCompilerDiagnostic(c(t),t),s,i,t)}))},o}function m(t,r,n){r(n),t.exit(e.ExitStatus.DiagnosticsPresent_OutputsSkipped)}e.createDiagnosticReporter=n,e.screenStartingMessageCodes=[e.Diagnostics.Starting_compilation_in_watch_mode.code,e.Diagnostics.File_change_detected_Starting_incremental_compilation.code],e.getLocaleTimeString=a,e.createWatchStatusReporter=o,e.parseConfigFileWithSystem=function(t,r,n,i,a){var o=i;o.onUnRecoverableConfigFileDiagnostic=function(e){return m(i,a,e)};var s=e.getParsedCommandLineOfConfigFile(t,r,o,void 0,n);return o.onUnRecoverableConfigFileDiagnostic=void 0,s},e.getErrorCountForSummary=s,e.getWatchErrorSummaryDiagnosticMessage=c,e.getErrorSummaryText=u,e.listFiles=l,e.emitFilesAndReportErrors=d,e.emitFilesAndReportErrorsAndGetExitStatus=_,e.noopFileWatcher={close:e.noop},e.returnNoopFileWatcher=function(){return e.noopFileWatcher},e.createWatchHost=p,e.WatchType={ConfigFile:\"Config file\",SourceFile:\"Source file\",MissingFile:\"Missing file\",WildcardDirectory:\"Wild card directory\",FailedLookupLocations:\"Failed Lookup Locations\",TypeRoots:\"Type roots\"},e.createWatchFactory=function(t,r){var n=t.trace?r.extendedDiagnostics?e.WatchLogLevel.Verbose:r.diagnostics?e.WatchLogLevel.TriggerOnly:e.WatchLogLevel.None:e.WatchLogLevel.None,i=n!==e.WatchLogLevel.None?function(e){return t.trace(e)}:e.noop,a=e.getWatchFactory(n,i);return a.writeLog=i,a},e.createCompilerHostFromProgramHost=function(t,r,n){void 0===n&&(n=t);var i=t.useCaseSensitiveFileNames(),a=e.memoize((function(){return t.getNewLine()}));return{getSourceFile:function(n,i,a){var o;try{e.performance.mark(\"beforeIORead\"),o=t.readFile(n,r().charset),e.performance.mark(\"afterIORead\"),e.performance.measure(\"I/O Read\",\"beforeIORead\",\"afterIORead\")}catch(e){a&&a(e.message),o=\"\"}return void 0!==o?e.createSourceFile(n,o,i):void 0},getDefaultLibLocation:e.maybeBind(t,t.getDefaultLibLocation),getDefaultLibFileName:function(e){return t.getDefaultLibFileName(e)},writeFile:function(r,n,i,a){try{e.performance.mark(\"beforeIOWrite\"),e.writeFileEnsuringDirectories(r,n,i,(function(e,r,n){return t.writeFile(e,r,n)}),(function(e){return t.createDirectory(e)}),(function(e){return t.directoryExists(e)})),e.performance.mark(\"afterIOWrite\"),e.performance.measure(\"I/O Write\",\"beforeIOWrite\",\"afterIOWrite\")}catch(e){a&&a(e.message)}},getCurrentDirectory:e.memoize((function(){return t.getCurrentDirectory()})),useCaseSensitiveFileNames:function(){return i},getCanonicalFileName:e.createGetCanonicalFileName(i),getNewLine:function(){return e.getNewLineCharacter(r(),a)},fileExists:function(e){return t.fileExists(e)},readFile:function(e){return t.readFile(e)},trace:e.maybeBind(t,t.trace),directoryExists:e.maybeBind(n,n.directoryExists),getDirectories:e.maybeBind(n,n.getDirectories),realpath:e.maybeBind(t,t.realpath),getEnvironmentVariable:e.maybeBind(t,t.getEnvironmentVariable)||function(){return\"\"},createHash:e.maybeBind(t,t.createHash),readDirectory:e.maybeBind(t,t.readDirectory)}},e.setGetSourceFileAsHashVersioned=function(t,n){var i=t.getSourceFile,a=e.maybeBind(n,n.createHash)||e.generateDjb2Hash;t.getSourceFile=function(){for(var e=[],n=0;ne?t:e}function u(t){return e.fileExtensionIs(t,\".d.ts\")}function l(e){return!!e&&!!e.buildOrder}function d(e){return l(e)?e.buildOrder:e}function _(t,r){return function(n){var i=r?\"[\"+e.formatColorAndReset(e.getLocaleTimeString(t),e.ForegroundColorEscapeSequences.Grey)+\"] \":e.getLocaleTimeString(t)+\" - \";i+=\"\"+e.flattenDiagnosticMessageText(n.messageText,t.newLine)+(t.newLine+t.newLine),t.write(i)}}function p(t,r,n,i){var a=e.createProgramHost(t,r);return a.getModifiedTime=t.getModifiedTime?function(e){return t.getModifiedTime(e)}:e.returnUndefined,a.setModifiedTime=t.setModifiedTime?function(e,r){return t.setModifiedTime(e,r)}:e.noop,a.deleteFile=t.deleteFile?function(e){return t.deleteFile(e)}:e.noop,a.reportDiagnostic=n||e.createDiagnosticReporter(t),a.reportSolutionBuilderStatus=i||_(t),a.now=e.maybeBind(t,t.now),a}function f(t,r,n,i,a){var o,s,c=r,u=r,l=c.getCurrentDirectory(),d=e.createGetCanonicalFileName(c.useCaseSensitiveFileNames()),_=(o=i,s={},e.commonOptionsWithBuild.forEach((function(t){e.hasProperty(o,t.name)&&(s[t.name]=o[t.name])})),s),p=e.createCompilerHostFromProgramHost(c,(function(){return S.projectCompilerOptions}));e.setGetSourceFileAsHashVersioned(p,c),p.getParsedCommandLine=function(e){return v(S,e,m(S,e))},p.resolveModuleNames=e.maybeBind(c,c.resolveModuleNames),p.resolveTypeReferenceDirectives=e.maybeBind(c,c.resolveTypeReferenceDirectives);var f=p.resolveModuleNames?void 0:e.createModuleResolutionCache(l,d);if(!p.resolveModuleNames){var g=function(t,r,n){return e.resolveModuleName(t,r,S.projectCompilerOptions,p,f,n).resolvedModule};p.resolveModuleNames=function(t,r,n,i){return e.loadWithLocalCache(e.Debug.checkEachDefined(t),r,i,g)}}var y=e.createWatchFactory(u,i),h=y.watchFile,D=y.watchFilePath,x=y.watchDirectory,b=y.writeLog,S={host:c,hostWithWatch:u,currentDirectory:l,getCanonicalFileName:d,parseConfigFileHost:e.parseConfigHostFromCompilerHostLike(c),writeFileName:c.trace?function(e){return c.trace(e)}:void 0,options:i,baseCompilerOptions:_,rootNames:n,baseWatchOptions:a,resolvedConfigFilePaths:new e.Map,configFileCache:new e.Map,projectStatus:new e.Map,buildInfoChecked:new e.Map,extendedConfigCache:new e.Map,builderPrograms:new e.Map,diagnostics:new e.Map,projectPendingBuild:new e.Map,projectErrorsReported:new e.Map,compilerHost:p,moduleResolutionCache:f,buildOrder:void 0,readFileWithCache:function(e){return c.readFile(e)},projectCompilerOptions:_,cache:void 0,allProjectBuildPending:!0,needsSummary:!0,watchAllProjectsPending:t,currentInvalidatedProject:void 0,watch:t,allWatchedWildcardDirectories:new e.Map,allWatchedInputFiles:new e.Map,allWatchedConfigFiles:new e.Map,timerToBuildInvalidatedProject:void 0,reportFileChangeDetected:!1,watchFile:h,watchFilePath:D,watchDirectory:x,writeLog:b};return S}function g(t,r){return e.toPath(r,t.currentDirectory,t.getCanonicalFileName)}function m(e,t){var r=e.resolvedConfigFilePaths,n=r.get(t);if(void 0!==n)return n;var i=g(e,t);return r.set(t,i),i}function y(e){return!!e.options}function v(t,r,n){var i,a=t.configFileCache,o=a.get(n);if(o)return y(o)?o:void 0;var s,c=t.parseConfigFileHost,u=t.baseCompilerOptions,l=t.baseWatchOptions,d=t.extendedConfigCache,_=t.host;return _.getParsedCommandLine?(s=_.getParsedCommandLine(r))||(i=e.createCompilerDiagnostic(e.Diagnostics.File_0_not_found,r)):(c.onUnRecoverableConfigFileDiagnostic=function(e){return i=e},s=e.getParsedCommandLineOfConfigFile(r,u,c,d,l),c.onUnRecoverableConfigFileDiagnostic=e.noop),a.set(n,s||i),s}function h(t,r){return e.resolveConfigFileProjectName(e.resolvePath(t.currentDirectory,r))}function D(t,r){for(var n,i,a=new e.Map,o=new e.Map,s=[],c=0,u=r;c0);var o={sourceFile:n.options.configFile,commandLine:n};i.directoryToModuleNameMap.setOwnMap(i.directoryToModuleNameMap.getOrCreateMapOfCacheRedirects(o)),i.moduleNameToDirectoryMap.setOwnMap(i.moduleNameToDirectoryMap.getOrCreateMapOfCacheRedirects(o))}i.directoryToModuleNameMap.setOwnOptions(n.options),i.moduleNameToDirectoryMap.setOwnOptions(n.options)}(l,d,f),D=r.createProgram(f.fileNames,f.options,n,function(t,r,n){var i=t.options,a=t.builderPrograms,o=t.compilerHost;if(i.force)return;var s=a.get(r);return s||e.readBuilderProgram(n.options,o)}(l,_,f),e.getConfigFileParsingDiagnostics(f),f.projectReferences),l.watch&&l.builderPrograms.set(_,D),S++}function F(e,t,r){var n;e.length?(n=M(l,_,D,f,e,t,r),x=n.buildResult,S=n.step):S++}function P(n){e.Debug.assertIsDefined(D),F(r(D.getConfigFileParsingDiagnostics(),D.getOptionsDiagnostics(n),D.getGlobalDiagnostics(n),D.getSyntacticDiagnostics(void 0,n)),t.SyntaxErrors,\"Syntactic\")}function w(r){F(e.Debug.checkDefined(D).getSemanticDiagnostics(void 0,r),t.TypeErrors,\"Semantic\")}function L(r,n,o){var s,d;e.Debug.assertIsDefined(D),e.Debug.assert(S===i.Emit),D.backupState();var p=[],m=e.emitFilesAndReportErrors(D,(function(e){return(d||(d=[])).push(e)}),void 0,void 0,(function(e,t,r){return p.push({name:e,text:t,writeByteOrderMark:r})}),n,!1,o).emitResult;if(d)return D.restoreState(),s=M(l,_,D,f,d,t.DeclarationEmitErrors,\"Declaration file\"),x=s.buildResult,S=s.step,{emitSkipped:!0,diagnostics:m.diagnostics};var y=l.host,v=l.compilerHost,h=t.DeclarationOutputUnchanged,b=a,E=!1,T=e.createDiagnosticCollection(),C=new e.Map;return p.forEach((function(n){var i,a=n.name,o=n.text,s=n.writeByteOrderMark;!E&&u(a)&&(y.fileExists(a)&&l.readFileWithCache(a)===o?i=y.getModifiedTime(a):(h&=~t.DeclarationOutputUnchanged,E=!0)),C.set(g(l,a),a),e.writeFile(r?{writeFile:r}:v,T,a,o,s),void 0!==i&&(b=c(i,b))})),j(T,C,b,E,p.length?p[0].name:e.getFirstProjectOutput(f,!y.useCaseSensitiveFileNames()),h),m}function R(n,a){e.Debug.assertIsDefined(D),e.Debug.assert(S===i.EmitBuildInfo);var o=D.emitBuildInfo(n,a);return o.diagnostics.length&&(ee(l,o.diagnostics),l.diagnostics.set(_,r(l.diagnostics.get(_),o.diagnostics)),x=t.EmitErrors&x),o.emittedFiles&&l.writeFileName&&o.emittedFiles.forEach((function(e){return I(l,f,e)})),O(l,D,f),S=i.QueueReferencingProjects,o}function j(r,n,a,s,c,u){var d,p=r.getDiagnostics();if(p.length)return d=M(l,_,D,f,p,t.EmitErrors,\"Emit\"),x=d.buildResult,S=d.step,p;l.writeFileName&&n.forEach((function(e){return I(l,f,e)}));var g=B(l,f,a,e.Diagnostics.Updating_unchanged_output_timestamps_of_project_0,n);return l.diagnostics.delete(_),l.projectStatus.set(_,{type:e.UpToDateStatusType.UpToDate,newestDeclarationFileContentChangedTime:s?o:g,oldestOutputFileName:c}),O(l,D,f),S=i.QueueReferencingProjects,x=u,p}function K(r,o){if(e.Debug.assert(s===n.UpdateBundle),l.options.dry)return $(l,e.Diagnostics.A_non_dry_build_would_update_output_of_project_0,d),x=t.Success,void(S=i.QueueReferencingProjects);l.options.verbose&&$(l,e.Diagnostics.Updating_output_of_project_0,d);var c=l.compilerHost;l.projectCompilerOptions=f.options;var u=e.emitUsingBuildInfo(f,c,(function(e){var t=h(l,e.path);return v(l,t,m(l,t))}),o);if(e.isString(u))return $(l,e.Diagnostics.Cannot_update_output_of_project_0_because_there_was_error_reading_file_1,d,Q(l,u)),S=i.BuildInvalidatedProjectOfBundle,b=N(n.Build,l,d,_,p,f,y);e.Debug.assert(!!u.length);var D=e.createDiagnosticCollection(),E=new e.Map;return u.forEach((function(t){var n=t.name,i=t.text,a=t.writeByteOrderMark;E.set(g(l,n),n),e.writeFile(r?{writeFile:r}:c,D,n,i,a)})),{emitSkipped:!1,diagnostics:j(D,E,a,!1,u[0].name,t.DeclarationOutputUnchanged)}}function z(t,r,n,a){for(;S<=t&&So)}}}function P(t,r,n){var i=t.options;return!(r.type===e.UpToDateStatusType.OutOfDateWithPrepend&&!i.force)||(0===n.fileNames.length||!!e.getConfigFileParsingDiagnostics(n).length||!e.isIncrementalCompilation(n.options))}function w(t,r,i){if(t.projectPendingBuild.size&&!l(r)){if(t.currentInvalidatedProject)return e.arrayIsEqualTo(t.currentInvalidatedProject.buildOrder,r)?t.currentInvalidatedProject:void 0;for(var a=t.options,o=t.projectPendingBuild,s=0;ss&&(i=p,s=f)}if(!r.fileNames.length&&!e.canJsonReportNoInputFiles(r.raw))return{type:e.UpToDateStatusType.ContainerOnly};for(var g,y=e.getAllProjectOutputs(r,!l.useCaseSensitiveFileNames()),h=\"(none)\",D=o,x=\"(none)\",b=a,S=a,E=!1,T=0,C=y;Tb&&(b=A,x=k),u(k)&&(S=c(S,l.getModifiedTime(k)||e.missingFileModifiedTime))}var F,N=!1,P=!1;if(r.projectReferences){t.projectStatus.set(n,{type:e.UpToDateStatusType.ComputingUpstream});for(var w=0,I=r.projectReferences;w=0},t.findArgument=function(t){var r=e.sys.args.indexOf(t);return r>=0&&r214)return 2;if(46===e.charCodeAt(0))return 3;if(95===e.charCodeAt(0))return 4;if(t){var r=/^@([^/]+)\\/([^/]+)$/.exec(e);if(r){var n=i(r[1],!1);if(0!==n)return{name:r[1],isScopeName:!0,result:n};var a=i(r[2],!1);return 0!==a?{name:r[2],isScopeName:!1,result:a}:0}}return encodeURIComponent(e)!==e?5:0}function a(t,r,n,i){var a=i?\"Scope\":\"Package\";switch(r){case 1:return\"'\"+t+\"':: \"+a+\" name '\"+n+\"' cannot be empty\";case 2:return\"'\"+t+\"':: \"+a+\" name '\"+n+\"' should be less than 214 characters\";case 3:return\"'\"+t+\"':: \"+a+\" name '\"+n+\"' cannot start with '.'\";case 4:return\"'\"+t+\"':: \"+a+\" name '\"+n+\"' cannot start with '_'\";case 5:return\"'\"+t+\"':: \"+a+\" name '\"+n+\"' contains non URI safe characters\";case 0:return e.Debug.fail();default:throw e.Debug.assertNever(r)}}t.validatePackageName=function(e){return i(e,!0)},t.renderPackageNameValidationFailure=function(e,t){return\"object\"==typeof e?a(t,e.result,e.name,e.isScopeName):a(t,e,t,!1)}}(e.JsTyping||(e.JsTyping={}))}(u||(u={})),function(e){var t,r;function n(e){return{indentSize:4,tabSize:4,newLineCharacter:e||\"\\n\",convertTabsToSpaces:!0,indentStyle:t.Smart,insertSpaceAfterConstructor:!1,insertSpaceAfterCommaDelimiter:!0,insertSpaceAfterSemicolonInForStatements:!0,insertSpaceBeforeAndAfterBinaryOperators:!0,insertSpaceAfterKeywordsInControlFlowStatements:!0,insertSpaceAfterFunctionKeywordForAnonymousFunctions:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces:!0,insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces:!1,insertSpaceBeforeFunctionParenthesis:!1,placeOpenBraceOnNewLineForFunctions:!1,placeOpenBraceOnNewLineForControlBlocks:!1,semicolons:r.Ignore,trimTrailingWhitespace:!0}}!function(e){var t=function(){function e(e){this.text=e}return e.prototype.getText=function(e,t){return 0===e&&t===this.text.length?this.text:this.text.substring(e,t)},e.prototype.getLength=function(){return this.text.length},e.prototype.getChangeRange=function(){},e}();e.fromString=function(e){return new t(e)}}(e.ScriptSnapshot||(e.ScriptSnapshot={})),function(e){e[e.Dependencies=1]=\"Dependencies\",e[e.DevDependencies=2]=\"DevDependencies\",e[e.PeerDependencies=4]=\"PeerDependencies\",e[e.OptionalDependencies=8]=\"OptionalDependencies\",e[e.All=15]=\"All\"}(e.PackageJsonDependencyGroup||(e.PackageJsonDependencyGroup={})),function(e){e[e.Off=0]=\"Off\",e[e.On=1]=\"On\",e[e.Auto=2]=\"Auto\"}(e.PackageJsonAutoImportPreference||(e.PackageJsonAutoImportPreference={})),function(e){e[e.Semantic=0]=\"Semantic\",e[e.PartialSemantic=1]=\"PartialSemantic\",e[e.Syntactic=2]=\"Syntactic\"}(e.LanguageServiceMode||(e.LanguageServiceMode={})),e.emptyOptions={},function(e){e.Original=\"original\",e.TwentyTwenty=\"2020\"}(e.SemanticClassificationFormat||(e.SemanticClassificationFormat={})),function(e){e.none=\"none\",e.definition=\"definition\",e.reference=\"reference\",e.writtenReference=\"writtenReference\"}(e.HighlightSpanKind||(e.HighlightSpanKind={})),function(e){e[e.None=0]=\"None\",e[e.Block=1]=\"Block\",e[e.Smart=2]=\"Smart\"}(t=e.IndentStyle||(e.IndentStyle={})),function(e){e.Ignore=\"ignore\",e.Insert=\"insert\",e.Remove=\"remove\"}(r=e.SemicolonPreference||(e.SemicolonPreference={})),e.getDefaultFormatCodeSettings=n,e.testFormatSettings=n(\"\\n\"),function(e){e[e.aliasName=0]=\"aliasName\",e[e.className=1]=\"className\",e[e.enumName=2]=\"enumName\",e[e.fieldName=3]=\"fieldName\",e[e.interfaceName=4]=\"interfaceName\",e[e.keyword=5]=\"keyword\",e[e.lineBreak=6]=\"lineBreak\",e[e.numericLiteral=7]=\"numericLiteral\",e[e.stringLiteral=8]=\"stringLiteral\",e[e.localName=9]=\"localName\",e[e.methodName=10]=\"methodName\",e[e.moduleName=11]=\"moduleName\",e[e.operator=12]=\"operator\",e[e.parameterName=13]=\"parameterName\",e[e.propertyName=14]=\"propertyName\",e[e.punctuation=15]=\"punctuation\",e[e.space=16]=\"space\",e[e.text=17]=\"text\",e[e.typeParameterName=18]=\"typeParameterName\",e[e.enumMemberName=19]=\"enumMemberName\",e[e.functionName=20]=\"functionName\",e[e.regularExpressionLiteral=21]=\"regularExpressionLiteral\"}(e.SymbolDisplayPartKind||(e.SymbolDisplayPartKind={})),function(e){e.Comment=\"comment\",e.Region=\"region\",e.Code=\"code\",e.Imports=\"imports\"}(e.OutliningSpanKind||(e.OutliningSpanKind={})),function(e){e[e.JavaScript=0]=\"JavaScript\",e[e.SourceMap=1]=\"SourceMap\",e[e.Declaration=2]=\"Declaration\"}(e.OutputFileType||(e.OutputFileType={})),function(e){e[e.None=0]=\"None\",e[e.InMultiLineCommentTrivia=1]=\"InMultiLineCommentTrivia\",e[e.InSingleQuoteStringLiteral=2]=\"InSingleQuoteStringLiteral\",e[e.InDoubleQuoteStringLiteral=3]=\"InDoubleQuoteStringLiteral\",e[e.InTemplateHeadOrNoSubstitutionTemplate=4]=\"InTemplateHeadOrNoSubstitutionTemplate\",e[e.InTemplateMiddleOrTail=5]=\"InTemplateMiddleOrTail\",e[e.InTemplateSubstitutionPosition=6]=\"InTemplateSubstitutionPosition\"}(e.EndOfLineState||(e.EndOfLineState={})),function(e){e[e.Punctuation=0]=\"Punctuation\",e[e.Keyword=1]=\"Keyword\",e[e.Operator=2]=\"Operator\",e[e.Comment=3]=\"Comment\",e[e.Whitespace=4]=\"Whitespace\",e[e.Identifier=5]=\"Identifier\",e[e.NumberLiteral=6]=\"NumberLiteral\",e[e.BigIntLiteral=7]=\"BigIntLiteral\",e[e.StringLiteral=8]=\"StringLiteral\",e[e.RegExpLiteral=9]=\"RegExpLiteral\"}(e.TokenClass||(e.TokenClass={})),function(e){e.unknown=\"\",e.warning=\"warning\",e.keyword=\"keyword\",e.scriptElement=\"script\",e.moduleElement=\"module\",e.classElement=\"class\",e.localClassElement=\"local class\",e.interfaceElement=\"interface\",e.typeElement=\"type\",e.enumElement=\"enum\",e.enumMemberElement=\"enum member\",e.variableElement=\"var\",e.localVariableElement=\"local var\",e.functionElement=\"function\",e.localFunctionElement=\"local function\",e.memberFunctionElement=\"method\",e.memberGetAccessorElement=\"getter\",e.memberSetAccessorElement=\"setter\",e.memberVariableElement=\"property\",e.constructorImplementationElement=\"constructor\",e.callSignatureElement=\"call\",e.indexSignatureElement=\"index\",e.constructSignatureElement=\"construct\",e.parameterElement=\"parameter\",e.typeParameterElement=\"type parameter\",e.primitiveType=\"primitive type\",e.label=\"label\",e.alias=\"alias\",e.constElement=\"const\",e.letElement=\"let\",e.directory=\"directory\",e.externalModuleName=\"external module name\",e.jsxAttribute=\"JSX attribute\",e.string=\"string\"}(e.ScriptElementKind||(e.ScriptElementKind={})),function(e){e.none=\"\",e.publicMemberModifier=\"public\",e.privateMemberModifier=\"private\",e.protectedMemberModifier=\"protected\",e.exportedModifier=\"export\",e.ambientModifier=\"declare\",e.staticModifier=\"static\",e.abstractModifier=\"abstract\",e.optionalModifier=\"optional\",e.deprecatedModifier=\"deprecated\",e.dtsModifier=\".d.ts\",e.tsModifier=\".ts\",e.tsxModifier=\".tsx\",e.jsModifier=\".js\",e.jsxModifier=\".jsx\",e.jsonModifier=\".json\"}(e.ScriptElementKindModifier||(e.ScriptElementKindModifier={})),function(e){e.comment=\"comment\",e.identifier=\"identifier\",e.keyword=\"keyword\",e.numericLiteral=\"number\",e.bigintLiteral=\"bigint\",e.operator=\"operator\",e.stringLiteral=\"string\",e.whiteSpace=\"whitespace\",e.text=\"text\",e.punctuation=\"punctuation\",e.className=\"class name\",e.enumName=\"enum name\",e.interfaceName=\"interface name\",e.moduleName=\"module name\",e.typeParameterName=\"type parameter name\",e.typeAliasName=\"type alias name\",e.parameterName=\"parameter name\",e.docCommentTagName=\"doc comment tag name\",e.jsxOpenTagName=\"jsx open tag name\",e.jsxCloseTagName=\"jsx close tag name\",e.jsxSelfClosingTagName=\"jsx self closing tag name\",e.jsxAttribute=\"jsx attribute\",e.jsxText=\"jsx text\",e.jsxAttributeStringLiteralValue=\"jsx attribute string literal value\"}(e.ClassificationTypeNames||(e.ClassificationTypeNames={})),function(e){e[e.comment=1]=\"comment\",e[e.identifier=2]=\"identifier\",e[e.keyword=3]=\"keyword\",e[e.numericLiteral=4]=\"numericLiteral\",e[e.operator=5]=\"operator\",e[e.stringLiteral=6]=\"stringLiteral\",e[e.regularExpressionLiteral=7]=\"regularExpressionLiteral\",e[e.whiteSpace=8]=\"whiteSpace\",e[e.text=9]=\"text\",e[e.punctuation=10]=\"punctuation\",e[e.className=11]=\"className\",e[e.enumName=12]=\"enumName\",e[e.interfaceName=13]=\"interfaceName\",e[e.moduleName=14]=\"moduleName\",e[e.typeParameterName=15]=\"typeParameterName\",e[e.typeAliasName=16]=\"typeAliasName\",e[e.parameterName=17]=\"parameterName\",e[e.docCommentTagName=18]=\"docCommentTagName\",e[e.jsxOpenTagName=19]=\"jsxOpenTagName\",e[e.jsxCloseTagName=20]=\"jsxCloseTagName\",e[e.jsxSelfClosingTagName=21]=\"jsxSelfClosingTagName\",e[e.jsxAttribute=22]=\"jsxAttribute\",e[e.jsxText=23]=\"jsxText\",e[e.jsxAttributeStringLiteralValue=24]=\"jsxAttributeStringLiteralValue\",e[e.bigintLiteral=25]=\"bigintLiteral\"}(e.ClassificationType||(e.ClassificationType={}))}(u||(u={})),function(e){function t(t){switch(t.kind){case 249:return e.isInJSFile(t)&&e.getJSDocEnumTag(t)?7:1;case 160:case 198:case 163:case 162:case 288:case 289:case 165:case 164:case 166:case 167:case 168:case 251:case 208:case 209:case 287:case 280:return 1;case 159:case 253:case 254:case 177:return 2;case 331:return void 0===t.name?3:2;case 291:case 252:return 3;case 256:return e.isAmbientModule(t)||1===e.getModuleInstanceState(t)?5:4;case 255:case 264:case 265:case 260:case 261:case 266:case 267:return 7;case 297:return 5}return 7}function r(t){for(;157===t.parent.kind;)t=t.parent;return e.isInternalModuleImportEqualsDeclaration(t.parent)&&t.parent.moduleReference===t}function i(e){return e.expression}function a(e){return e.tag}function o(e){return e.tagName}function s(t,r,n,i,a){var o=i?u(t):c(t);return a&&(o=e.skipOuterExpressions(o)),!!o&&!!o.parent&&r(o.parent)&&n(o.parent)===o}function c(e){return _(e)?e.parent:e}function u(e){return _(e)||p(e)?e.parent:e}function l(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isBreakOrContinueStatement))||void 0===r?void 0:r.label)===t}function d(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isLabeledStatement))||void 0===r?void 0:r.label)===t}function _(t){var r;return(null===(r=e.tryCast(t.parent,e.isPropertyAccessExpression))||void 0===r?void 0:r.name)===t}function p(t){var r;return(null===(r=e.tryCast(t.parent,e.isElementAccessExpression))||void 0===r?void 0:r.argumentExpression)===t}e.scanner=e.createScanner(99,!0),function(e){e[e.None=0]=\"None\",e[e.Value=1]=\"Value\",e[e.Type=2]=\"Type\",e[e.Namespace=4]=\"Namespace\",e[e.All=7]=\"All\"}(e.SemanticMeaning||(e.SemanticMeaning={})),e.getMeaningFromDeclaration=t,e.getMeaningFromLocation=function(n){return 297===(n=P(n)).kind?1:266===n.parent.kind||272===n.parent.kind||265===n.parent.kind||262===n.parent.kind||e.isImportEqualsDeclaration(n.parent)&&n===n.parent.name?7:r(n)?function(t){var r=157===t.kind?t:e.isQualifiedName(t.parent)&&t.parent.right===t?t.parent:void 0;return r&&260===r.parent.kind?7:4}(n):e.isDeclarationName(n)?t(n.parent):e.isEntityName(n)&&e.isJSDocNameReference(n.parent)?7:function(t){e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent);switch(t.kind){case 107:return!e.isExpressionNode(t);case 187:return!0}switch(t.parent.kind){case 173:return!0;case 195:return!t.parent.isTypeOf;case 223:return!e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)}return!1}(n)?2:function(e){return function(e){var t=e,r=!0;if(157===t.parent.kind){for(;t.parent&&157===t.parent.kind;)t=t.parent;r=t.right===e}return 173===t.parent.kind&&!r}(e)||function(e){var t=e,r=!0;if(201===t.parent.kind){for(;t.parent&&201===t.parent.kind;)t=t.parent;r=t.name===e}if(!r&&223===t.parent.kind&&286===t.parent.parent.kind){var n=t.parent.parent.parent;return 252===n.kind&&116===t.parent.parent.token||253===n.kind&&93===t.parent.parent.token}return!1}(e)}(n)?4:e.isTypeParameterDeclaration(n.parent)?(e.Debug.assert(e.isJSDocTemplateTag(n.parent.parent)),2):e.isLiteralTypeNode(n.parent)?3:1},e.isInRightSideOfInternalImportEqualsDeclaration=r,e.isCallExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isCallExpression,i,r,n)},e.isNewExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isNewExpression,i,r,n)},e.isCallOrNewExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isCallOrNewExpression,i,r,n)},e.isTaggedTemplateTag=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isTaggedTemplateExpression,a,r,n)},e.isDecoratorTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isDecorator,i,r,n)},e.isJsxOpeningLikeElementTagName=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isJsxOpeningLikeElement,o,r,n)},e.climbPastPropertyAccess=c,e.climbPastPropertyOrElementAccess=u,e.getTargetLabel=function(e,t){for(;e;){if(245===e.kind&&e.label.escapedText===t)return e.label;e=e.parent}},e.hasPropertyAccessExpressionWithName=function(t,r){return!!e.isPropertyAccessExpression(t.expression)&&t.expression.name.text===r},e.isJumpStatementTarget=l,e.isLabelOfLabeledStatement=d,e.isLabelName=function(e){return d(e)||l(e)},e.isTagName=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isJSDocTag))||void 0===r?void 0:r.tagName)===t},e.isRightSideOfQualifiedName=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isQualifiedName))||void 0===r?void 0:r.right)===t},e.isRightSideOfPropertyAccess=_,e.isArgumentExpressionOfElementAccess=p,e.isNameOfModuleDeclaration=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isModuleDeclaration))||void 0===r?void 0:r.name)===t},e.isNameOfFunctionDeclaration=function(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isFunctionLike))||void 0===r?void 0:r.name)===t},e.isLiteralNameOfPropertyDeclarationOrIndexAccess=function(t){switch(t.parent.kind){case 163:case 162:case 288:case 291:case 165:case 164:case 167:case 168:case 256:return e.getNameOfDeclaration(t.parent)===t;case 202:return t.parent.argumentExpression===t;case 158:return!0;case 191:return 189===t.parent.parent.kind;default:return!1}},e.isExpressionOfExternalModuleImportEqualsDeclaration=function(t){return e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t},e.getContainerNode=function(t){for(e.isJSDocTypeAlias(t)&&(t=t.parent.parent);;){if(!(t=t.parent))return;switch(t.kind){case 297:case 165:case 164:case 251:case 208:case 167:case 168:case 252:case 253:case 255:case 256:return t}}},e.getNodeKind=function t(r){switch(r.kind){case 297:return e.isExternalModule(r)?\"module\":\"script\";case 256:return\"module\";case 252:case 221:return\"class\";case 253:return\"interface\";case 254:case 324:case 331:return\"type\";case 255:return\"enum\";case 249:return c(r);case 198:return c(e.getRootDeclaration(r));case 209:case 251:case 208:return\"function\";case 167:return\"getter\";case 168:return\"setter\";case 165:case 164:return\"method\";case 288:var n=r.initializer;return e.isFunctionLike(n)?\"method\":\"property\";case 163:case 162:case 289:case 290:return\"property\";case 171:return\"index\";case 170:return\"construct\";case 169:return\"call\";case 166:return\"constructor\";case 159:return\"type parameter\";case 291:return\"enum member\";case 160:return e.hasSyntacticModifier(r,92)?\"property\":\"parameter\";case 260:case 265:case 270:case 263:case 269:return\"alias\";case 216:var i=e.getAssignmentDeclarationKind(r),a=r.right;switch(i){case 7:case 8:case 9:case 0:return\"\";case 1:case 2:var o=t(a);return\"\"===o?\"const\":o;case 3:return e.isFunctionExpression(a)?\"method\":\"property\";case 4:return\"property\";case 5:return e.isFunctionExpression(a)?\"method\":\"property\";case 6:return\"local class\";default:return e.assertType(i),\"\"}case 78:return e.isImportClause(r.parent)?\"alias\":\"\";case 266:var s=t(r.expression);return\"\"===s?\"const\":s;default:return\"\"}function c(t){return e.isVarConst(t)?\"const\":e.isLet(t)?\"let\":\"var\"}},e.isThis=function(t){switch(t.kind){case 107:return!0;case 78:return e.identifierIsThisKeyword(t)&&160===t.parent.kind;default:return!1}};var f=/^\\/\\/\\/\\s*=r.end}function v(e,t,r,n){return Math.max(e,r)t)break;var u=c.getEnd();if(tt.end||e.pos===t.end)&&W(e,n)?r(e):void 0}))}(r)}function L(t,r,n,i){var a=function a(o){if(R(o)&&1!==o.kind)return o;var s=o.getChildren(r),c=e.binarySearchKey(s,t,(function(e,t){return t}),(function(e,r){return t=s[e-1].end?0:1:-1}));if(c>=0&&s[c]){var u=s[c];if(t=t||!W(u,r)||J(u)){var l=j(s,c,r);return l&&B(l,r)}return a(u)}}e.Debug.assert(void 0!==n||297===o.kind||1===o.kind||e.isJSDocCommentContainingNode(o));var d=j(s,s.length,r);return d&&B(d,r)}(n||r);return e.Debug.assert(!(a&&J(a))),a}function R(t){return e.isToken(t)&&!J(t)}function B(e,t){if(R(e))return e;var r=e.getChildren(t);if(0===r.length)return e;var n=j(r,r.length,t);return n&&B(n,t)}function j(t,r,n){for(var i=r-1;i>=0;i--){if(J(t[i]))e.Debug.assert(i>0,\"`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`\");else if(W(t[i],n))return t[i]}}function J(t){return e.isJsxText(t)&&t.containsOnlyTriviaWhiteSpaces}function K(e,t,r){for(var n=e.kind,i=0;;){var a=L(e.getFullStart(),r);if(!a)return;if((e=a).kind===t){if(0===i)return e;i--}else e.kind===n&&i++}}function z(e,t,r){return t?e.getNonNullableType():r?e.getNonOptionalType():e}function U(t,r,n){var i=n.getTypeAtLocation(t);return e.isOptionalChain(t.parent)&&(i=z(i,e.isOptionalChainRoot(t.parent),!0)),(e.isNewExpression(t.parent)?i.getConstructSignatures():i.getCallSignatures()).filter((function(e){return!!e.typeParameters&&e.typeParameters.length>=r}))}function V(t,r){for(var n=t,i=0,a=0;n;){switch(n.kind){case 29:if((n=L(n.getFullStart(),r))&&28===n.kind&&(n=L(n.getFullStart(),r)),!n||!e.isIdentifier(n))return;if(!i)return e.isDeclarationName(n)?void 0:{called:n,nTypeArguments:a};i--;break;case 49:i=3;break;case 48:i=2;break;case 31:i++;break;case 19:if(!(n=K(n,18,r)))return;break;case 21:if(!(n=K(n,20,r)))return;break;case 23:if(!(n=K(n,22,r)))return;break;case 27:a++;break;case 38:case 78:case 10:case 8:case 9:case 109:case 94:case 111:case 93:case 138:case 24:case 51:case 57:case 58:break;default:if(e.isTypeNode(n))break;return}n=L(n.getFullStart(),r)}}function q(t,r,n){return e.formatting.getRangeOfEnclosingComment(t,r,void 0,n)}function W(e,t){return 1===e.kind?!!e.jsDoc:0!==e.getWidth(t)}function H(e,t,r){var n=q(e,t,void 0);return!!n&&r===f.test(e.text.substring(n.pos,n.end))}function G(t,r,n){return e.createTextSpanFromBounds(t.getStart(r),(n||t).getEnd())}function Y(t){if(!t.isUnterminated)return e.createTextSpanFromBounds(t.getStart()+1,t.getEnd()-1)}function X(e,t){return{span:e,newText:t}}function Q(e){return 149===e.kind}function $(t,r){return{fileExists:function(e){return t.fileExists(e)},getCurrentDirectory:function(){return r.getCurrentDirectory()},readFile:e.maybeBind(r,r.readFile),useCaseSensitiveFileNames:e.maybeBind(r,r.useCaseSensitiveFileNames),getSymlinkCache:e.maybeBind(r,r.getSymlinkCache)||t.getSymlinkCache,getGlobalTypingsCacheLocation:e.maybeBind(r,r.getGlobalTypingsCacheLocation),getSourceFiles:function(){return t.getSourceFiles()},redirectTargetsMap:t.redirectTargetsMap,getProjectReferenceRedirect:function(e){return t.getProjectReferenceRedirect(e)},isSourceOfProjectReferenceRedirect:function(e){return t.isSourceOfProjectReferenceRedirect(e)}}}function Z(e,t){return n(n({},$(e,t)),{getCommonSourceDirectory:function(){return e.getCommonSourceDirectory()}})}function ee(t,r,n,i,a){return e.factory.createImportDeclaration(void 0,void 0,t||r?e.factory.createImportClause(!!a,t,r&&r.length?e.factory.createNamedImports(r):void 0):void 0,\"string\"==typeof n?te(n,i):n)}function te(t,r){return e.factory.createStringLiteral(t,0===r)}function re(t,r){return e.isStringDoubleQuoted(t,r)?1:0}function ne(t,r){if(r.quotePreference&&\"auto\"!==r.quotePreference)return\"single\"===r.quotePreference?0:1;var n=t.imports&&e.find(t.imports,(function(t){return e.isStringLiteral(t)&&!e.nodeIsSynthesized(t.parent)}));return n?re(n,t):1}function ie(t){return\"default\"!==t.escapedName?t.escapedName:e.firstDefined(t.declarations,(function(t){var r=e.getNameOfDeclaration(t);return r&&78===r.kind?r.escapedText:void 0}))}function ae(t,r,n,i){var a=new e.Map;return function t(o){if(!(96&o.flags&&e.addToSeen(a,e.getSymbolId(o))))return;return e.firstDefined(o.declarations,(function(a){return e.firstDefined(e.getAllSuperTypeNodes(a),(function(a){var o=n.getTypeAtLocation(a),s=o&&o.symbol&&n.getPropertyOfType(o,r);return o&&s&&(e.firstDefined(n.getRootSymbols(s),i)||t(o.symbol))}))}))}(t)}function oe(t,r,n){return e.textSpanContainsPosition(t,r.getStart(n))&&r.getEnd()<=e.textSpanEnd(t)}function se(e,t){return!!e&&!!t&&e.start===t.start&&e.length===t.length}function ce(e){return e.declarations&&e.declarations.length>0&&160===e.declarations[0].kind}e.getLineStartPositionForPosition=function(t,r){return e.getLineStarts(r)[r.getLineAndCharacterOfPosition(t).line]},e.rangeContainsRange=g,e.rangeContainsRangeExclusive=function(e,t){return m(e,t.pos)&&m(e,t.end)},e.rangeContainsPosition=function(e,t){return e.pos<=t&&t<=e.end},e.rangeContainsPositionExclusive=m,e.startEndContainsRange=y,e.rangeContainsStartEnd=function(e,t,r){return e.pos<=t&&e.end>=r},e.rangeOverlapsWithStartEnd=function(e,t,r){return v(e.pos,e.end,t,r)},e.nodeOverlapsWithStartEnd=function(e,t,r,n){return v(e.getStart(t),e.end,r,n)},e.startEndOverlapsWithStartEnd=v,e.positionBelongsToNode=function(t,r,n){return e.Debug.assert(t.pos<=r),rn.getStart(t)&&rn.getStart(t)},e.isInJSXText=function(t,r){var n=I(t,r);return!!e.isJsxText(n)||(!(18!==n.kind||!e.isJsxExpression(n.parent)||!e.isJsxElement(n.parent.parent))||!(29!==n.kind||!e.isJsxOpeningLikeElement(n.parent)||!e.isJsxElement(n.parent.parent)))},e.isInsideJsxElement=function(e,t){return function(r){for(;r;)if(r.kind>=274&&r.kind<=283||11===r.kind||29===r.kind||31===r.kind||78===r.kind||19===r.kind||18===r.kind||43===r.kind)r=r.parent;else{if(273!==r.kind)return!1;if(t>r.getStart(e))return!0;r=r.parent}return!1}(I(e,t))},e.findPrecedingMatchingToken=K,e.removeOptionality=z,e.isPossiblyTypeArgumentPosition=function t(r,n,i){var a=V(r,n);return void 0!==a&&(e.isPartOfTypeNode(a.called)||0!==U(a.called,a.nTypeArguments,i).length||t(a.called,n,i))},e.getPossibleGenericSignatures=U,e.getPossibleTypeArgumentsInfo=V,e.isInComment=q,e.hasDocComment=function(t,r){var n=I(t,r);return!!e.findAncestor(n,e.isJSDoc)},e.getNodeModifiers=function(t){var r=e.isDeclaration(t)?e.getCombinedNodeFlagsAlwaysIncludeJSDoc(t):0,n=[];return 8&r&&n.push(\"private\"),16&r&&n.push(\"protected\"),4&r&&n.push(\"public\"),32&r&&n.push(\"static\"),128&r&&n.push(\"abstract\"),1&r&&n.push(\"export\"),8192&r&&n.push(\"deprecated\"),8388608&t.flags&&n.push(\"declare\"),266===t.kind&&n.push(\"export\"),n.length>0?n.join(\",\"):\"\"},e.getTypeArgumentOrTypeParameterList=function(t){return 173===t.kind||203===t.kind?t.typeArguments:e.isFunctionLike(t)||252===t.kind||253===t.kind?t.typeParameters:void 0},e.isComment=function(e){return 2===e||3===e},e.isStringOrRegularExpressionOrTemplateLiteral=function(t){return!(10!==t&&13!==t&&!e.isTemplateLiteralKind(t))},e.isPunctuation=function(e){return 18<=e&&e<=77},e.isInsideTemplateLiteral=function(t,r,n){return e.isTemplateLiteralKind(t.kind)&&t.getStart(n)=2||!!e.noEmit},e.createModuleSpecifierResolutionHost=$,e.getModuleSpecifierResolverHost=Z,e.makeImportIfNecessary=function(e,t,r,n){return e||t&&t.length?ee(e,t,r,n):void 0},e.makeImport=ee,e.makeStringLiteral=te,function(e){e[e.Single=0]=\"Single\",e[e.Double=1]=\"Double\"}(e.QuotePreference||(e.QuotePreference={})),e.quotePreferenceFromString=re,e.getQuotePreference=ne,e.getQuoteFromPreference=function(t){switch(t){case 0:return\"'\";case 1:return'\"';default:return e.Debug.assertNever(t)}},e.symbolNameNoDefault=function(t){var r=ie(t);return void 0===r?void 0:e.unescapeLeadingUnderscores(r)},e.symbolEscapedNameNoDefault=ie,e.isObjectBindingElementWithoutPropertyName=function(t){return e.isBindingElement(t)&&e.isObjectBindingPattern(t.parent)&&e.isIdentifier(t.name)&&!t.propertyName},e.getPropertySymbolFromBindingElement=function(e,t){var r=e.getTypeAtLocation(t.parent);return r&&e.getPropertyOfType(r,t.name.text)},e.getPropertySymbolsFromBaseTypes=ae,e.isMemberSymbolInBaseType=function(e,t){return ae(e.parent,e.name,t,(function(e){return!0}))||!1},e.getParentNodeInSpan=function(t,r,n){if(t)for(;t.parent;){if(e.isSourceFile(t.parent)||!oe(n,t.parent,r))return t;t=t.parent}},e.findModifier=function(t,r){return t.modifiers&&e.find(t.modifiers,(function(e){return e.kind===r}))},e.insertImports=function(t,r,n,i){var a=232===(e.isArray(n)?n[0]:n).kind?e.isRequireVariableStatement:e.isAnyImportSyntax,o=e.filter(r.statements,a),s=e.isArray(n)?e.stableSort(n,e.OrganizeImports.compareImportsOrRequireStatements):[n];if(o.length)if(o&&e.OrganizeImports.importsAreSorted(o))for(var c=0,u=s;ca&&r&&\"...\"!==r&&(e.isWhiteSpaceLike(r.charCodeAt(r.length-1))||t.push(de(\" \",e.SymbolDisplayPartKind.space)),t.push(de(\"...\",e.SymbolDisplayPartKind.punctuation))),t},writeKeyword:function(t){return c(t,e.SymbolDisplayPartKind.keyword)},writeOperator:function(t){return c(t,e.SymbolDisplayPartKind.operator)},writePunctuation:function(t){return c(t,e.SymbolDisplayPartKind.punctuation)},writeTrailingSemicolon:function(t){return c(t,e.SymbolDisplayPartKind.punctuation)},writeSpace:function(t){return c(t,e.SymbolDisplayPartKind.space)},writeStringLiteral:function(t){return c(t,e.SymbolDisplayPartKind.stringLiteral)},writeParameter:function(t){return c(t,e.SymbolDisplayPartKind.parameterName)},writeProperty:function(t){return c(t,e.SymbolDisplayPartKind.propertyName)},writeLiteral:function(t){return c(t,e.SymbolDisplayPartKind.stringLiteral)},writeSymbol:function(e,r){if(i>a)return;s(),i+=e.length,t.push(le(e,r))},writeLine:function(){if(i>a)return;i+=1,t.push(fe()),r=!0},write:o,writeComment:o,getText:function(){return\"\"},getTextPos:function(){return 0},getColumn:function(){return 0},getLine:function(){return 0},isAtStartOfLine:function(){return!1},hasTrailingWhitespace:function(){return!1},hasTrailingComment:function(){return!1},rawWrite:e.notImplemented,getIndent:function(){return n},increaseIndent:function(){n++},decreaseIndent:function(){n--},clear:u,trackSymbol:e.noop,reportInaccessibleThisError:e.noop,reportInaccessibleUniqueSymbolError:e.noop,reportPrivateInBaseOfClassExpression:e.noop};function s(){if(!(i>a)&&r){var o=e.getIndentString(n);o&&(i+=o.length,t.push(de(o,e.SymbolDisplayPartKind.space))),r=!1}}function c(e,r){i>a||(s(),i+=e.length,t.push(de(e,r)))}function u(){t=[],r=!0,n=0,i=0}}();function le(t,r){return de(t,function(t){var r=t.flags;if(3&r)return ce(t)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName;if(4&r)return e.SymbolDisplayPartKind.propertyName;if(32768&r)return e.SymbolDisplayPartKind.propertyName;if(65536&r)return e.SymbolDisplayPartKind.propertyName;if(8&r)return e.SymbolDisplayPartKind.enumMemberName;if(16&r)return e.SymbolDisplayPartKind.functionName;if(32&r)return e.SymbolDisplayPartKind.className;if(64&r)return e.SymbolDisplayPartKind.interfaceName;if(384&r)return e.SymbolDisplayPartKind.enumName;if(1536&r)return e.SymbolDisplayPartKind.moduleName;if(8192&r)return e.SymbolDisplayPartKind.methodName;if(262144&r)return e.SymbolDisplayPartKind.typeParameterName;if(524288&r)return e.SymbolDisplayPartKind.aliasName;if(2097152&r)return e.SymbolDisplayPartKind.aliasName;return e.SymbolDisplayPartKind.text}(r))}function de(t,r){return{text:t,kind:e.SymbolDisplayPartKind[r]}}function _e(t){return de(e.tokenToString(t),e.SymbolDisplayPartKind.keyword)}function pe(t){return de(t,e.SymbolDisplayPartKind.text)}e.symbolPart=le,e.displayPart=de,e.spacePart=function(){return de(\" \",e.SymbolDisplayPartKind.space)},e.keywordPart=_e,e.punctuationPart=function(t){return de(e.tokenToString(t),e.SymbolDisplayPartKind.punctuation)},e.operatorPart=function(t){return de(e.tokenToString(t),e.SymbolDisplayPartKind.operator)},e.textOrKeywordPart=function(t){var r=e.stringToToken(t);return void 0===r?pe(t):_e(r)},e.textPart=pe;function fe(){return de(\"\\n\",e.SymbolDisplayPartKind.lineBreak)}function ge(e){try{return e(ue),ue.displayParts()}finally{ue.clear()}}function me(e){return 0!=(33554432&e.flags)}function ye(e){return 0!=(2097152&e.flags)}function ve(e,t){void 0===t&&(t=!0);var r=e&&De(e);return r&&!t&&xe(r),r}function he(t,r,n){var i=n(t);return i?e.setOriginalNode(i,t):i=De(t,n),i&&!r&&xe(i),i}function De(t,r){var n=r?e.visitEachChild(t,(function(e){return he(e,!0,r)}),e.nullTransformationContext):e.visitEachChild(t,ve,e.nullTransformationContext);if(n===t){var i=e.isStringLiteral(t)?e.setOriginalNode(e.factory.createStringLiteralFromNode(t),t):e.isNumericLiteral(t)?e.setOriginalNode(e.factory.createNumericLiteral(t.text,t.numericLiteralFlags),t):e.factory.cloneNode(t);return e.setTextRange(i,t)}return n.parent=void 0,n}function xe(e){be(e),Se(e)}function be(e){Ee(e,512,Te)}function Se(t){Ee(t,1024,e.getLastChild)}function Ee(t,r,n){e.addEmitFlags(t,r);var i=n(t);i&&Ee(i,r,n)}function Te(e){return e.forEachChild((function(e){return e}))}function Ce(t,r,n,i,a){e.forEachLeadingCommentRange(n.text,t.pos,Fe(r,n,i,a,e.addSyntheticLeadingComment))}function ke(t,r,n,i,a){e.forEachTrailingCommentRange(n.text,t.end,Fe(r,n,i,a,e.addSyntheticTrailingComment))}function Ae(t,r,n,i,a){e.forEachTrailingCommentRange(n.text,t.pos,Fe(r,n,i,a,e.addSyntheticLeadingComment))}function Fe(e,t,r,n,i){return function(a,o,s,c){3===s?(a+=2,o-=2):a+=2,i(e,r||s,t.text.slice(a,o),void 0!==n?n:c)}}function Ne(t,r){if(e.startsWith(t,r))return 0;var n=t.indexOf(\" \"+r);return-1===n&&(n=t.indexOf(\".\"+r)),-1===n&&(n=t.indexOf('\"'+r)),-1===n?-1:n+1}function Pe(e){switch(e){case 36:case 34:case 37:case 35:return!0;default:return!1}}function we(e,t){return t.getTypeAtLocation(e.parent.parent.expression)}function Ie(e){return 169===e||170===e||171===e||162===e||164===e}function Oe(e){return 251===e||166===e||165===e||167===e||168===e}function Me(e){return 256===e}function Le(e){return 232===e||233===e||235===e||240===e||241===e||242===e||246===e||248===e||163===e||254===e||261===e||260===e||267===e||259===e||266===e}function Re(e,t){return je(e,e.fileExists,t)}function Be(e){try{return e()}catch(e){return}}function je(e,t){for(var r=[],n=2;n-1&&e.isWhiteSpaceSingleLine(t.charCodeAt(r));)r-=1;return r+1},e.getSynthesizedDeepClone=ve,e.getSynthesizedDeepCloneWithReplacements=he,e.getSynthesizedDeepClones=function(t,r){return void 0===r&&(r=!0),t&&e.factory.createNodeArray(t.map((function(e){return ve(e,r)})),t.hasTrailingComma)},e.getSynthesizedDeepClonesWithReplacements=function(t,r,n){return e.factory.createNodeArray(t.map((function(e){return he(e,r,n)})),t.hasTrailingComma)},e.suppressLeadingAndTrailingTrivia=xe,e.suppressLeadingTrivia=be,e.suppressTrailingTrivia=Se,e.copyComments=function(e,t){var r=e.getSourceFile();!function(e,t){for(var r=e.getFullStart(),n=e.getStart(),i=r;i=0),o},e.copyLeadingComments=Ce,e.copyTrailingComments=ke,e.copyTrailingAsLeadingComments=Ae,e.needsParentheses=function(t){return e.isBinaryExpression(t)&&27===t.operatorToken.kind||e.isObjectLiteralExpression(t)},e.getContextualTypeFromParent=function(e,t){var r=e.parent;switch(r.kind){case 204:return t.getContextualType(r);case 216:var n=r,i=n.left,a=n.operatorToken,o=n.right;return Pe(a.kind)?t.getTypeAtLocation(e===o?i:o):t.getContextualType(e);case 284:return r.expression===e?we(r,t):void 0;default:return t.getContextualType(e)}},e.quote=function(t,r,n){var i=ne(t,r),a=JSON.stringify(n);return 0===i?\"'\"+e.stripQuotes(a).replace(\"'\",\"\\\\'\").replace('\\\\\"','\"')+\"'\":a},e.isEqualityOperatorKind=Pe,e.isStringLiteralOrTemplate=function(e){switch(e.kind){case 10:case 14:case 218:case 205:return!0;default:return!1}},e.hasIndexSignature=function(e){return!!e.getStringIndexType()||!!e.getNumberIndexType()},e.getSwitchedType=we,e.ANONYMOUS=\"anonymous function\",e.getTypeNodeIfAccessible=function(e,t,r,n){var i=r.getTypeChecker(),a=!0,o=function(){a=!1},s=i.typeToTypeNode(e,t,1,{trackSymbol:function(e,t,r){a=a&&0===i.isSymbolAccessible(e,t,r,!1).accessibility},reportInaccessibleThisError:o,reportPrivateInBaseOfClassExpression:o,reportInaccessibleUniqueSymbolError:o,moduleResolverHost:Z(r,n)});return a?s:void 0},e.syntaxRequiresTrailingCommaOrSemicolonOrASI=Ie,e.syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI=Oe,e.syntaxRequiresTrailingModuleBlockOrSemicolonOrASI=Me,e.syntaxRequiresTrailingSemicolonOrASI=Le,e.syntaxMayBeASICandidate=e.or(Ie,Oe,Me,Le),e.positionIsASICandidate=function(t,r,n){var i=e.findAncestor(r,(function(r){return r.end!==t?\"quit\":e.syntaxMayBeASICandidate(r.kind)}));return!!i&&function(t,r){var n=t.getLastToken(r);if(n&&26===n.kind)return!1;if(Ie(t.kind)){if(n&&27===n.kind)return!1}else if(Me(t.kind)){if((i=e.last(t.getChildren(r)))&&e.isModuleBlock(i))return!1}else if(Oe(t.kind)){var i;if((i=e.last(t.getChildren(r)))&&e.isFunctionBlock(i))return!1}else if(!Le(t.kind))return!1;if(235===t.kind)return!0;var a=M(t,e.findAncestor(t,(function(e){return!e.parent})),r);return!a||19===a.kind||r.getLineAndCharacterOfPosition(t.getEnd()).line!==r.getLineAndCharacterOfPosition(a.getStart(r)).line}(i,n)},e.probablyUsesSemicolons=function(t){var r=0,n=0;return e.forEachChild(t,(function i(a){if(Le(a.kind)){var o=a.getLastToken(t);o&&26===o.kind?r++:n++}return r+n>=5||e.forEachChild(a,i)})),0===r&&n<=1||r/n>.2},e.tryGetDirectories=function(e,t){return je(e,e.getDirectories,t)||[]},e.tryReadDirectory=function(t,r,n,i,a){return je(t,t.readDirectory,r,n,i,a)||e.emptyArray},e.tryFileExists=Re,e.tryDirectoryExists=function(t,r){return Be((function(){return e.directoryProbablyExists(r,t)}))||!1},e.tryAndIgnoreErrors=Be,e.tryIOAndConsumeErrors=je,e.findPackageJsons=function(t,r,n){var i=[];return e.forEachAncestorDirectory(t,(function(t){if(t===n)return!0;var a=e.combinePaths(t,\"package.json\");Re(r,a)&&i.push(a)})),i},e.findPackageJson=function(t,r){var n;return e.forEachAncestorDirectory(t,(function(t){return\"node_modules\"===t||(!!(n=e.findConfigFile(t,(function(e){return Re(r,e)}),\"package.json\"))||void 0)})),n},e.getPackageJsonsVisibleToFile=function(t,r){if(!r.fileExists)return[];var n=[];return e.forEachAncestorDirectory(e.getDirectoryPath(t),(function(t){var i=e.combinePaths(t,\"package.json\");if(r.fileExists(i)){var a=Je(i,r);a&&n.push(a)}})),n},e.createPackageJsonInfo=Je,e.consumesNodeCoreModules=function(t){return e.some(t.imports,(function(t){var r=t.text;return e.JsTyping.nodeCoreModules.has(r)}))},e.isInsideNodeModules=function(t){return e.contains(e.getPathComponents(t),\"node_modules\")},e.isDiagnosticWithLocation=Ke,e.findDiagnosticForNode=function(t,r){var n=G(t),i=e.binarySearchKey(r,n,e.identity,e.compareTextSpans);if(i>=0){var a=r[i];return e.Debug.assertEqual(a.file,t.getSourceFile(),\"Diagnostics proided to 'findDiagnosticForNode' must be from a single SourceFile\"),e.cast(a,Ke)}},e.getDiagnosticsWithinSpan=function(t,r){var n,i=e.binarySearchKey(r,t.start,(function(e){return e.start}),e.compareValues);for(i<0&&(i=~i);(null===(n=r[i-1])||void 0===n?void 0:n.start)===t.start;)i--;for(var a=[],o=e.textSpanEnd(t);;){var s=e.tryCast(r[i],Ke);if(!s||s.start>o)break;e.textSpanContainsTextSpan(t,s)&&a.push(s),i++}return a},e.getRefactorContextSpan=function(t){var r=t.startPosition,n=t.endPosition;return e.createTextSpanFromBounds(r,void 0===n?r:n)},e.mapOneOrMany=function(t,r,n){return void 0===n&&(n=e.identity),t?e.isArray(t)?n(e.map(t,r)):r(t,0):void 0},e.firstOrOnly=function(t){return e.isArray(t)?e.first(t):t},e.getNameForExportedSymbol=function(t,r){return\"export=\"===t.escapedName||\"default\"===t.escapedName?e.firstDefined(t.declarations,(function(t){return e.isExportAssignment(t)&&e.isIdentifier(t.expression)?t.expression.text:void 0}))||e.codefix.moduleSymbolToValidIdentifier(function(t){var r;return e.Debug.checkDefined(t.parent,\"Symbol parent was undefined. Flags: \"+e.Debug.formatSymbolFlags(t.flags)+\". Declarations: \"+(null===(r=t.declarations)||void 0===r?void 0:r.map((function(t){var r=e.Debug.formatSyntaxKind(t.kind),n=e.isInJSFile(t),i=t.expression;return(n?\"[JS]\":\"\")+r+(i?\" (expression: \"+e.Debug.formatSyntaxKind(i.kind)+\")\":\"\")})).join(\", \"))+\".\")}(t),r):t.name},e.stringContainsAt=function(e,t,r){var n=t.length;if(n+r>e.length)return!1;for(var i=0;i=i.length){var D=r(o,u,e.lastOrUndefined(d));void 0!==D&&(m=D)}}while(1!==u);function x(){switch(u){case 43:case 67:t[l]||13!==o.reScanSlashToken()||(u=13);break;case 29:78===l&&v++;break;case 31:v>0&&v--;break;case 128:case 147:case 144:case 131:case 148:v>0&&!c&&(u=78);break;case 15:d.push(u);break;case 18:d.length>0&&d.push(u);break;case 19:if(d.length>0){var r=e.lastOrUndefined(d);15===r?17===(u=o.reScanTemplateToken(!1))?d.pop():e.Debug.assertEqual(u,16,\"Should have been a template middle.\"):(e.Debug.assertEqual(r,18,\"Should have been an open brace\"),d.pop())}break;default:if(!e.isKeyword(u))break;(24===l||e.isKeyword(l)&&e.isKeyword(u)&&!function(t,r){if(!e.isAccessibilityModifier(t))return!0;switch(r){case 134:case 146:case 132:case 123:return!0;default:return!1}}(l,u))&&(u=78)}}return{endOfLineState:m,spans:y}}return{getClassificationsForLine:function(t,r,n){return function(t,r){for(var n=[],a=t.spans,o=0,s=0;s=0){var d=c-o;d>0&&n.push({length:d,classification:e.TokenClass.Whitespace})}n.push({length:u,classification:i(l)}),o=c+u}var _=r.length-o;_>0&&n.push({length:_,classification:e.TokenClass.Whitespace});return{entries:n,finalLexState:t.endOfLineState}}(s(t,r,n),t)},getEncodedLexicalClassifications:s}};var t=e.arrayToNumericMap([78,10,8,9,13,107,45,46,21,23,19,109,94],(function(e){return e}),(function(){return!0}));function r(t,r,n){switch(r){case 10:if(!t.isUnterminated())return;for(var i=t.getTokenText(),a=i.length-1,o=0;92===i.charCodeAt(a-o);)o++;if(0==(1&o))return;return 34===i.charCodeAt(0)?3:2;case 3:return t.isUnterminated()?1:void 0;default:if(e.isTemplateLiteralKind(r)){if(!t.isUnterminated())return;switch(r){case 17:return 5;case 14:return 4;default:return e.Debug.fail(\"Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #\"+r)}}return 15===n?6:void 0}}function n(e,t,r,n,i){if(8!==n){0===e&&r>0&&(e+=r);var a=t-e;a>0&&i.push(e-r,a,n)}}function i(t){switch(t){case 1:return e.TokenClass.Comment;case 3:return e.TokenClass.Keyword;case 4:return e.TokenClass.NumberLiteral;case 25:return e.TokenClass.BigIntLiteral;case 5:return e.TokenClass.Operator;case 6:return e.TokenClass.StringLiteral;case 8:return e.TokenClass.Whitespace;case 10:return e.TokenClass.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:return e.TokenClass.Identifier;default:return}}function a(t){if(e.isKeyword(t))return 3;if(function(e){switch(e){case 41:case 43:case 44:case 39:case 40:case 47:case 48:case 49:case 29:case 31:case 32:case 33:case 101:case 100:case 126:case 34:case 35:case 36:case 37:case 50:case 52:case 51:case 55:case 56:case 73:case 72:case 77:case 69:case 70:case 71:case 63:case 64:case 65:case 67:case 68:case 62:case 27:case 60:case 74:case 75:case 76:return!0;default:return!1}}(t)||function(e){switch(e){case 39:case 40:case 54:case 53:case 45:case 46:return!0;default:return!1}}(t))return 5;if(t>=18&&t<=77)return 10;switch(t){case 8:return 4;case 9:return 25;case 10:return 6;case 13:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 78:default:return e.isTemplateLiteralKind(t)?6:2}}function o(e,t){switch(t){case 256:case 252:case 253:case 251:case 221:case 208:case 209:e.throwIfCancellationRequested()}}function s(t,r,n,i,a){var s=[];return n.forEachChild((function u(l){if(l&&e.textSpanIntersectsWith(a,l.pos,l.getFullWidth())){if(o(r,l.kind),e.isIdentifier(l)&&!e.nodeIsMissing(l)&&i.has(l.escapedText)){var d=t.getSymbolAtLocation(l),_=d&&c(d,e.getMeaningFromLocation(l),t);_&&function(t,r,n){var i=r-t;e.Debug.assert(i>0,\"Classification had non-positive length of \"+i),s.push(t),s.push(i),s.push(n)}(l.getStart(n),l.getEnd(),_)}l.forEachChild(u)}})),{spans:s,endOfLineState:0}}function c(t,r,n){var i=t.getFlags();return 0==(2885600&i)?void 0:32&i?11:384&i?12:524288&i?16:1536&i?4&r||1&r&&function(t){return e.some(t.declarations,(function(t){return e.isModuleDeclaration(t)&&1===e.getModuleInstanceState(t)}))}(t)?14:void 0:2097152&i?c(n.getAliasedSymbol(t),r,n):2&r?64&i?13:262144&i?15:void 0:void 0}function u(e){switch(e){case 1:return\"comment\";case 2:return\"identifier\";case 3:return\"keyword\";case 4:return\"number\";case 25:return\"bigint\";case 5:return\"operator\";case 6:return\"string\";case 8:return\"whitespace\";case 9:return\"text\";case 10:return\"punctuation\";case 11:return\"class name\";case 12:return\"enum name\";case 13:return\"interface name\";case 14:return\"module name\";case 15:return\"type parameter name\";case 16:return\"type alias name\";case 17:return\"parameter name\";case 18:return\"doc comment tag name\";case 19:return\"jsx open tag name\";case 20:return\"jsx close tag name\";case 21:return\"jsx self closing tag name\";case 22:return\"jsx attribute\";case 23:return\"jsx text\";case 24:return\"jsx attribute string literal value\";default:return}}function l(t){e.Debug.assert(t.spans.length%3==0);for(var r=t.spans,n=[],i=0;i])*)(\\/>)?)?/im,a=/(\\S+)(\\s*)(=)(\\s*)('[^']+'|\"[^\"]+\")/gim,o=r.text.substr(t,n),s=i.exec(o);if(!s)return!1;if(!s[3]||!(s[3]in e.commentPragmas))return!1;var c=t;_(c,s[1].length),l(c+=s[1].length,s[2].length,10),l(c+=s[2].length,s[3].length,21),c+=s[3].length;var u=s[4],d=c;for(;;){var p=a.exec(u);if(!p)break;var f=c+p.index;f>d&&(_(d,f-d),d=f),l(d,p[1].length,22),d+=p[1].length,p[2].length&&(_(d,p[2].length),d+=p[2].length),l(d,p[3].length,5),d+=p[3].length,p[4].length&&(_(d,p[4].length),d+=p[4].length),l(d,p[5].length,24),d+=p[5].length}(c+=s[4].length)>d&&_(d,c-d);s[5]&&(l(c,s[5].length,10),c+=s[5].length);var g=t+n;c=0),a>0){var o=n||y(t.kind,t);o&&l(i,a,o)}return!0}function y(t,r){if(e.isKeyword(t))return 3;if((29===t||31===t)&&r&&e.getTypeArgumentOrTypeParameterList(r.parent))return 10;if(e.isPunctuation(t)){if(r){var n=r.parent;if(62===t&&(249===n.kind||163===n.kind||160===n.kind||280===n.kind))return 5;if(216===n.kind||214===n.kind||215===n.kind||217===n.kind)return 5}return 10}if(8===t)return 4;if(9===t)return 25;if(10===t)return r&&280===r.parent.kind?24:6;if(13===t)return 6;if(e.isTemplateLiteralKind(t))return 6;if(11===t)return 23;if(78===t){if(r)switch(r.parent.kind){case 252:return r.parent.name===r?11:void 0;case 159:return r.parent.name===r?15:void 0;case 253:return r.parent.name===r?13:void 0;case 255:return r.parent.name===r?12:void 0;case 256:return r.parent.name===r?14:void 0;case 160:return r.parent.name===r?e.isThisIdentifier(r)?3:17:void 0}return 2}}function v(n){if(n&&e.decodedTextSpanIntersectsWith(i,a,n.pos,n.getFullWidth())){o(t,n.kind);for(var s=0,c=n.getChildren(r);s0})))return 0;if(o((function(e){return e.getCallSignatures().length>0}))&&!o((function(e){return e.getProperties().length>0}))||function(t){for(;a(t);)t=t.parent;return e.isCallExpression(t.parent)&&t.parent.expression===t}(r))return 9===n?11:10}}return n}(u,_,g);var y=f.valueDeclaration;if(y){var v=e.getCombinedModifierFlags(y),h=e.getCombinedNodeFlags(y);32&v&&(m|=2),256&v&&(m|=4),0!==g&&2!==g&&(64&v||2&h||8&f.getFlags())&&(m|=8),7!==g&&10!==g||!function(t,r){e.isBindingElement(t)&&(t=i(t));if(e.isVariableDeclaration(t))return(!e.isSourceFile(t.parent.parent.parent)||e.isCatchClause(t.parent))&&t.getSourceFile()===r;if(e.isFunctionDeclaration(t))return!e.isSourceFile(t.parent)&&t.getSourceFile()===r;return!1}(y,r)||(m|=32),t.isSourceFileDefaultLibrary(y.getSourceFile())&&(m|=16)}else f.declarations&&f.declarations.some((function(e){return t.isSourceFileDefaultLibrary(e.getSourceFile())}))&&(m|=16);s(_,g,m)}}}e.forEachChild(_,d),l=p}}d(r)}(t,r,n,(function(e,t,n){c.push(e.getStart(r),e.getWidth(r),(t+1<<8)+n)}),s),c}function i(t){for(;;){if(!e.isBindingElement(t.parent.parent))return t.parent.parent;t=t.parent.parent}}function a(t){return e.isQualifiedName(t.parent)&&t.parent.right===t||e.isPropertyAccessExpression(t.parent)&&t.parent.name===t}!function(e){e[e.typeOffset=8]=\"typeOffset\",e[e.modifierMask=255]=\"modifierMask\"}(t.TokenEncodingConsts||(t.TokenEncodingConsts={})),function(e){e[e.class=0]=\"class\",e[e.enum=1]=\"enum\",e[e.interface=2]=\"interface\",e[e.namespace=3]=\"namespace\",e[e.typeParameter=4]=\"typeParameter\",e[e.type=5]=\"type\",e[e.parameter=6]=\"parameter\",e[e.variable=7]=\"variable\",e[e.enumMember=8]=\"enumMember\",e[e.property=9]=\"property\",e[e.function=10]=\"function\",e[e.member=11]=\"member\"}(t.TokenType||(t.TokenType={})),function(e){e[e.declaration=0]=\"declaration\",e[e.static=1]=\"static\",e[e.async=2]=\"async\",e[e.readonly=3]=\"readonly\",e[e.defaultLibrary=4]=\"defaultLibrary\",e[e.local=5]=\"local\"}(t.TokenModifier||(t.TokenModifier={})),t.getSemanticClassifications=function(t,n,i,a){var o=r(t,n,i,a);e.Debug.assert(o.spans.length%3==0);for(var s=o.spans,c=[],u=0;ua.parameters.length)){var o=r.getParameterType(a,t.argumentIndex);return n=n||!!(4&o.flags),l(o,i)}})),isNewIdentifier:n}}(E,i):T()}case 261:case 267:case 272:return{kind:0,paths:f(t,r,a,o,i)};default:return T()}function T(){return{kind:2,types:l(e.getContextualTypeFromParent(r,i)),isNewIdentifier:!1}}}function c(t){switch(t.kind){case 186:return e.walkUpParenthesizedTypes(t);case 207:return e.walkUpParenthesizedExpressions(t);default:return t}}function u(t){return t&&{kind:1,symbols:e.filter(t.getApparentProperties(),(function(t){return!(t.valueDeclaration&&e.isPrivateIdentifierPropertyDeclaration(t.valueDeclaration))})),hasIndexSignature:e.hasIndexSignature(t)}}function l(t,r){return void 0===r&&(r=new e.Map),t?(t=e.skipConstraint(t)).isUnion()?e.flatMap(t.types,(function(e){return l(e,r)})):!t.isStringLiteral()||1024&t.flags||!e.addToSeen(r,t.value)?e.emptyArray:[t]:e.emptyArray}function d(e,t,r){return{name:e,kind:t,extension:r}}function _(e){return d(e,\"directory\",void 0)}function p(t,r,n){var i=function(t,r){var n=Math.max(t.lastIndexOf(e.directorySeparator),t.lastIndexOf(\"\\\\\")),i=-1!==n?n+1:0,a=t.length-i;return 0===a||e.isIdentifierText(t.substr(i,a),99)?void 0:e.createTextSpan(r+i,a)}(t,r);return n.map((function(e){return{name:e.name,kind:e.kind,extension:e.extension,span:i}}))}function f(t,n,i,a,o){return p(n.text,n.getStart(t)+1,function(t,n,i,a,o){var s=e.normalizeSlashes(n.text),c=t.path,u=e.getDirectoryPath(c);return function(e){if(e&&e.length>=2&&46===e.charCodeAt(0)){var t=e.length>=3&&46===e.charCodeAt(1)?2:1,r=e.charCodeAt(t);return 47===r||92===r}return!1}(s)||!i.baseUrl&&(e.isRootedDiskPath(s)||e.isUrl(s))?function(t,n,i,a,o){var s=g(i);return i.rootDirs?function(t,n,i,a,o,s,c){var u=o.project||s.getCurrentDirectory(),l=!(s.useCaseSensitiveFileNames&&s.useCaseSensitiveFileNames()),d=function(t,n,i,a){t=t.map((function(t){return e.normalizePath(e.isRootedDiskPath(t)?t:e.combinePaths(n,t))}));var o=e.firstDefined(t,(function(t){return e.containsPath(t,i,n,a)?i.substr(t.length):void 0}));return e.deduplicate(r(t.map((function(t){return e.combinePaths(t,o)})),[i]),e.equateStringsCaseSensitive,e.compareStringsCaseSensitive)}(t,u,i,l);return e.flatMap(d,(function(e){return y(n,e,a,s,c)}))}(i.rootDirs,t,n,s,i,a,o):y(t,n,s,a,o)}(s,u,i,a,c):function(t,r,n,i,a){var o=n.baseUrl,s=n.paths,c=[],u=g(n);if(o){var l=n.project||i.getCurrentDirectory(),_=e.normalizePath(e.combinePaths(l,o));y(t,_,u,i,void 0,c),s&&v(c,t,_,u.extensions,s,i)}for(var p=h(t),f=0,m=function(t,r,n){var i=n.getAmbientModules().map((function(t){return e.stripQuotes(t.name)})).filter((function(r){return e.startsWith(r,t)}));if(void 0!==r){var a=e.ensureTrailingDirectorySeparator(r);return i.map((function(t){return e.removePrefix(t,a)}))}return i}(t,p,a);f=e.pos&&r<=e.end}));if(!s)return;var c=t.text.slice(s.pos,r),u=b.exec(c);if(!u)return;var l=u[1],d=u[2],_=u[3],f=e.getDirectoryPath(t.path),m=\"path\"===d?y(_,f,g(n,!0),i,t.path):\"types\"===d?x(i,n,f,h(_),g(n)):e.Debug.fail();return p(_,s.pos+l.length,m)}(r,n,c,u))&&i(_);if(e.isInString(r,n,a)){if(!a||!e.isStringLiteralLike(a))return;var _;return function(r,n,a,o,s,c){if(void 0===r)return;var u=e.createTextSpanFromStringLiteralLikeContent(n);switch(r.kind){case 0:return i(r.paths);case 1:var l=[];return t.getCompletionEntriesFromSymbols(r.symbols,l,n,a,a,o,99,s,4,c),{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:r.hasIndexSignature,optionalReplacementSpan:u,entries:l};case 2:l=r.types.map((function(r){return{name:r.value,kindModifiers:\"\",kind:\"string\",sortText:t.SortText.LocationPriority,replacementSpan:e.getReplacementSpanForContextToken(n)}}));return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:r.isNewIdentifier,optionalReplacementSpan:u,entries:l};default:return e.Debug.assertNever(r)}}(_=s(r,a,n,o,c,u),a,r,o,l,d)}},n.getStringLiteralCompletionDetails=function(r,n,i,o,c,u,l,d){if(o&&e.isStringLiteralLike(o)){var _=s(n,o,i,c,u,l);return _&&function(r,n,i,o,s,c){switch(i.kind){case 0:return(u=e.find(i.paths,(function(e){return e.name===r})))&&t.createCompletionDetails(r,a(u.extension),u.kind,[e.textPart(r)]);case 1:var u;return(u=e.find(i.symbols,(function(e){return e.name===r})))&&t.createCompletionDetailsForSymbol(u,s,o,n,c);case 2:return e.find(i.types,(function(e){return e.value===r}))?t.createCompletionDetails(r,\"\",\"type\",[e.textPart(r)]):void 0;default:return e.Debug.assertNever(i)}}(r,o,_,n,c,d)}},function(e){e[e.Paths=0]=\"Paths\",e[e.Properties=1]=\"Properties\",e[e.Types=2]=\"Types\"}(o||(o={}));var b=/^(\\/\\/\\/\\s*=t.pos;case 24:return 197===n;case 58:return 198===n;case 22:return 197===n;case 20:return 287===n||ce(n);case 18:return 255===n;case 29:return 252===n||221===n||253===n||254===n||e.isFunctionLikeKind(n);case 123:return 163===n&&!e.isClassLike(r.parent);case 25:return 160===n||!!r.parent&&197===r.parent.kind;case 122:case 120:case 121:return 160===n&&!e.isConstructorDeclaration(r.parent);case 126:return 265===n||270===n||263===n;case 134:case 146:return!R(t);case 83:case 91:case 117:case 97:case 112:case 99:case 118:case 84:case 149:return!0;case 41:return e.isFunctionLike(t.parent)&&!e.isMethodDeclaration(t.parent)}if(w(O(t))&&R(t))return!1;if(se(t)&&(!e.isIdentifier(t)||e.isParameterPropertyModifier(O(t))||_e(t)))return!1;switch(O(t)){case 125:case 83:case 84:case 133:case 91:case 97:case 117:case 118:case 120:case 121:case 122:case 123:case 112:return!0;case 129:return e.isPropertyDeclaration(t.parent)}return e.isDeclarationName(t)&&!e.isJsxAttribute(t.parent)&&!(e.isClassLike(t.parent)&&(t!==v||o>v.end))}(t)||function(e){if(8===e.kind){var t=e.getFullText();return\".\"===t.charAt(t.length-1)}return!1}(t)||function(e){if(11===e.kind)return!0;if(31===e.kind&&e.parent){if(275===e.parent.kind)return 275!==N.parent.kind;if(276===e.parent.kind||274===e.parent.kind)return!!e.parent.parent&&273===e.parent.parent.kind}return!1}(t);return n(\"getCompletionsAtPosition: isCompletionListBlocker: \"+(e.timestamp()-r)),a}(h))return void n(\"Returning an empty list because completion was requested in an invalid position.\");var I=h.parent;if(24===h.kind||28===h.kind)switch(S=24===h.kind,E=28===h.kind,I.kind){case 201:if(b=(x=I).expression,(e.isCallExpression(b)||e.isFunctionLike(b))&&b.end===h.pos&&b.getChildCount(i)&&21!==e.last(b.getChildren(i)).kind)return;break;case 157:b=I.left;break;case 256:b=I.name;break;case 195:case 226:b=I;break;default:return}else if(1===i.languageVariant){if(I&&201===I.kind&&(h=I,I=I.parent),_.parent===N)switch(_.kind){case 31:273!==_.parent.kind&&275!==_.parent.kind||(N=_);break;case 43:274===_.parent.kind&&(N=_)}switch(I.kind){case 276:43===h.kind&&(k=!0,N=h);break;case 216:if(!B(I))break;case 274:case 273:case 275:F=!0,29===h.kind&&(C=!0,N=h);break;case 283:19===v.kind&&31===_.kind&&(F=!0);break;case 280:if(I.initializer===v&&v.end0&&(U=function(t,r){if(0===r.length)return t;for(var n=new e.Set,i=new e.Set,a=0,o=r;a\"),kind:\"class\",kindModifiers:void 0,sortText:r.LocationPriority};return{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:!1,optionalReplacementSpan:d(m),entries:[F]}}var P=[];if(_(t,i)){var w=D(c,P,void 0,m,t,n,i.target,a,u,s,y,o.isJsxIdentifierExpected,S,b,x,T);!function(t,n,i,a,o){e.getNameTable(t).forEach((function(t,s){if(t!==n){var c=e.unescapeLeadingUnderscores(s);!i.has(c)&&e.isIdentifierText(c,a)&&(i.add(c),o.push({name:c,kind:\"warning\",kindModifiers:\"\",sortText:r.JavascriptIdentifiers,isFromUncheckedFile:!0}))}}))}(t,m.pos,w,i.target,P)}else{if(!(f||c&&0!==c.length||0!==v))return;D(c,P,void 0,m,t,n,i.target,a,u,s,y,o.isJsxIdentifierExpected,S,b,x,T)}if(0!==v)for(var I=new e.Set(P.map((function(e){return e.name}))),O=0,M=function(t,r){if(!r)return N(t);var n=t+7+1;return A[n]||(A[n]=N(t).filter((function(t){return!function(e){switch(e){case 125:case 128:case 155:case 131:case 133:case 91:case 154:case 116:case 135:case 117:case 137:case 138:case 139:case 140:case 141:case 144:case 145:case 120:case 121:case 122:case 142:case 147:case 148:case 149:case 151:case 152:return!0;default:return!1}}(e.stringToToken(t.name))})))}(v,!E&&e.isSourceFileJS(t));O=0&&!u(r,n[i],114);i--);return e.forEach(a(t.statement),(function(e){s(t,e)&&u(r,e.getFirstToken(),80,85)})),r}function d(e){var t=c(e);if(t)switch(t.kind){case 237:case 238:case 239:case 235:case 236:return l(t);case 244:return _(t)}}function _(t){var r=[];return u(r,t.getFirstToken(),106),e.forEach(t.caseBlock.clauses,(function(n){u(r,n.getFirstToken(),81,87),e.forEach(a(n),(function(e){s(t,e)&&u(r,e.getFirstToken(),80)}))})),r}function p(t,r){var n=[];(u(n,t.getFirstToken(),110),t.catchClause&&u(n,t.catchClause.getFirstToken(),82),t.finallyBlock)&&u(n,e.findChildOfKind(t,95,r),95);return n}function f(t,r){var n=function(t){for(var r=t;r.parent;){var n=r.parent;if(e.isFunctionBlock(n)||297===n.kind)return n;if(e.isTryStatement(n)&&n.tryBlock===r&&n.catchClause)return r;r=n}}(t);if(n){var a=[];return e.forEach(i(n),(function(t){a.push(e.findChildOfKind(t,108,r))})),e.isFunctionBlock(n)&&e.forEachReturnStatement(n,(function(t){a.push(e.findChildOfKind(t,104,r))})),a}}function g(t,r){var n=e.getContainingFunction(t);if(n){var a=[];return e.forEachReturnStatement(e.cast(n.body,e.isBlock),(function(t){a.push(e.findChildOfKind(t,104,r))})),e.forEach(i(n.body),(function(t){a.push(e.findChildOfKind(t,108,r))})),a}}function m(t){var r=e.getContainingFunction(t);if(r){var n=[];return r.modifiers&&r.modifiers.forEach((function(e){u(n,e,129)})),e.forEachChild(r,(function(t){y(t,(function(t){e.isAwaitExpression(t)&&u(n,t.getFirstToken(),130)}))})),n}}function y(t,r){r(t),e.isFunctionLike(t)||e.isClassLike(t)||e.isInterfaceDeclaration(t)||e.isModuleDeclaration(t)||e.isTypeAliasDeclaration(t)||e.isTypeNode(t)||e.forEachChild(t,(function(e){return y(e,r)}))}t.getDocumentHighlights=function(t,i,a,o,s){var c=e.getTouchingPropertyName(a,o);if(c.parent&&(e.isJsxOpeningElement(c.parent)&&c.parent.tagName===c||e.isJsxClosingElement(c.parent))){var v=c.parent.parent,h=[v.openingElement,v.closingElement].map((function(e){return n(e.tagName,a)}));return[{fileName:a.fileName,highlightSpans:h}]}return function(t,r,n,i,a){var o=new e.Set(a.map((function(e){return e.fileName}))),s=e.FindAllReferences.getReferenceEntriesForNode(t,r,n,a,i,void 0,o);if(!s)return;var c=e.arrayToMultiMap(s.map(e.FindAllReferences.toHighlightSpan),(function(e){return e.fileName}),(function(e){return e.span}));return e.arrayFrom(c.entries(),(function(t){var r=t[0],i=t[1];if(!o.has(r)){e.Debug.assert(n.redirectTargetsMap.has(r));var s=n.getSourceFile(r);r=e.find(a,(function(e){return!!e.redirectInfo&&e.redirectInfo.redirectTarget===s})).fileName,e.Debug.assert(o.has(r))}return{fileName:r,highlightSpans:i}}))}(o,c,t,i,s)||function(t,i){var a=function(t,i){switch(t.kind){case 98:case 90:return e.isIfStatement(t.parent)?function(t,r){for(var i=function(t,r){var n=[];for(;e.isIfStatement(t.parent)&&t.parent.elseStatement===t;)t=t.parent;for(;;){var i=t.getChildren(r);u(n,i[0],98);for(var a=i.length-1;a>=0&&!u(n,i[a],90);a--);if(!t.elseStatement||!e.isIfStatement(t.elseStatement))break;t=t.elseStatement}return n}(t,r),a=[],o=0;o=s.end;d--)if(!e.isWhiteSpaceSingleLine(r.text.charCodeAt(d))){l=!1;break}if(l){a.push({fileName:r.fileName,textSpan:e.createTextSpanFromBounds(s.getStart(),c.end),kind:\"reference\"}),o++;continue}}a.push(n(i[o],r))}return a}(t.parent,i):void 0;case 104:return c(t.parent,e.isReturnStatement,g);case 108:return c(t.parent,e.isThrowStatement,f);case 110:case 82:case 95:return c(82===t.kind?t.parent.parent:t.parent,e.isTryStatement,p);case 106:return c(t.parent,e.isSwitchStatement,_);case 81:case 87:return e.isDefaultClause(t.parent)||e.isCaseClause(t.parent)?c(t.parent.parent.parent,e.isSwitchStatement,_):void 0;case 80:case 85:return c(t.parent,e.isBreakOrContinueStatement,d);case 96:case 114:case 89:return c(t.parent,(function(t){return e.isIterationStatement(t,!0)}),l);case 132:return s(e.isConstructorDeclaration,[132]);case 134:case 146:return s(e.isAccessor,[134,146]);case 130:return c(t.parent,e.isAwaitExpression,m);case 129:return v(m(t));case 124:return v(function(t){var r=e.getContainingFunction(t);if(!r)return;var n=[];return e.forEachChild(r,(function(t){y(t,(function(t){e.isYieldExpression(t)&&u(n,t.getFirstToken(),124)}))})),n}(t));default:return e.isModifierKind(t.kind)&&(e.isDeclaration(t.parent)||e.isVariableStatement(t.parent))?v((a=t.kind,o=t.parent,e.mapDefined(function(t,n){var i=t.parent;switch(i.kind){case 257:case 297:case 230:case 284:case 285:return 128&n&&e.isClassDeclaration(t)?r(t.members,[t]):i.statements;case 166:case 165:case 251:return r(i.parameters,e.isClassLike(i.parent)?i.parent.members:[]);case 252:case 221:case 253:case 177:var a=i.members;if(92&n){var o=e.find(i.members,e.isConstructorDeclaration);if(o)return r(a,o.parameters)}else if(128&n)return r(a,[i]);return a;case 200:return;default:e.Debug.assertNever(i,\"Invalid container kind.\")}}(o,e.modifierToFlag(a)),(function(t){return e.findModifier(t,a)})))):void 0}var a,o;function s(r,n){return c(t.parent,r,(function(t){return e.mapDefined(t.symbol.declarations,(function(t){return r(t)?e.find(t.getChildren(i),(function(t){return e.contains(n,t.kind)})):void 0}))}))}function c(e,t,r){return t(e)?v(r(e,i)):void 0}function v(e){return e&&e.map((function(e){return n(e,i)}))}}(t,i);return a&&[{fileName:i.fileName,highlightSpans:a}]}(c,a)}}(e.DocumentHighlights||(e.DocumentHighlights={}))}(u||(u={})),function(e){function t(t,n,i){void 0===n&&(n=\"\");var a=new e.Map,o=e.createGetCanonicalFileName(!!t);function s(e,t,r,n,i,a,o){return u(e,t,r,n,i,a,!0,o)}function c(e,t,r,n,i,a,o){return u(e,t,r,n,i,a,!1,o)}function u(t,r,n,o,s,c,u,l){var d=e.getOrUpdate(a,o,(function(){return new e.Map})),_=d.get(r),p=6===l?100:n.target||1;!_&&i&&((f=i.getDocument(o,r))&&(e.Debug.assert(u),_={sourceFile:f,languageServiceRefCount:0},d.set(r,_)));if(_)_.sourceFile.version!==c&&(_.sourceFile=e.updateLanguageServiceSourceFile(_.sourceFile,s,c,s.getChangeRange(_.sourceFile.scriptSnapshot)),i&&i.setDocument(o,r,_.sourceFile)),u&&_.languageServiceRefCount++;else{var f=e.createLanguageServiceSourceFile(t,s,p,c,!1,l);i&&i.setDocument(o,r,f),_={sourceFile:f,languageServiceRefCount:1},d.set(r,_)}return e.Debug.assert(0!==_.languageServiceRefCount),_.sourceFile}function l(t,r){var n=e.Debug.checkDefined(a.get(r)),i=n.get(t);i.languageServiceRefCount--,e.Debug.assert(i.languageServiceRefCount>=0),0===i.languageServiceRefCount&&n.delete(t)}return{acquireDocument:function(t,i,a,c,u){return s(t,e.toPath(t,n,o),i,r(i),a,c,u)},acquireDocumentWithKey:s,updateDocument:function(t,i,a,s,u){return c(t,e.toPath(t,n,o),i,r(i),a,s,u)},updateDocumentWithKey:c,releaseDocument:function(t,i){return l(e.toPath(t,n,o),r(i))},releaseDocumentWithKey:l,getLanguageServiceRefCounts:function(t){return e.arrayFrom(a.entries(),(function(e){var r=e[0],n=e[1].get(t);return[r,n&&n.languageServiceRefCount]}))},reportStats:function(){var t=e.arrayFrom(a.keys()).filter((function(e){return e&&\"_\"===e.charAt(0)})).map((function(e){var t=a.get(e),r=[];return t.forEach((function(e,t){r.push({name:t,refCount:e.languageServiceRefCount})})),r.sort((function(e,t){return t.refCount-e.refCount})),{bucket:e,sourceFiles:r}}));return JSON.stringify(t,void 0,2)},getKeyForCompilationSettings:r}}function r(t){return e.sourceFileAffectingCompilerOptions.map((function(r){return e.getCompilerOptionValue(t,r)})).join(\"|\")}e.createDocumentRegistry=function(e,r){return t(e,r)},e.createDocumentRegistryInternal=t}(u||(u={})),function(e){!function(t){function r(t,r){return e.forEach(297===t.kind?t.statements:t.body.statements,(function(t){return r(t)||c(t)&&e.forEach(t.body&&t.body.statements,r)}))}function i(t,n){if(t.externalModuleIndicator||void 0!==t.imports)for(var i=0,a=t.imports;i=0&&!(c>n.end);){var u=c+s;0!==c&&e.isIdentifierPart(a.charCodeAt(c-1),99)||u!==o&&e.isIdentifierPart(a.charCodeAt(u),99)||i.push(c),c=a.indexOf(r,c+s+1)}return i}function b(t,r){var n=t.getSourceFile(),i=r.text,o=e.mapDefined(D(n,i,t),(function(t){return t===r||e.isJumpStatementTarget(t)&&e.getTargetLabel(t,i)===r?a(t):void 0}));return[{definition:{type:1,node:r},references:o}]}function S(e,t,r,n){return void 0===n&&(n=!0),r.cancellationToken.throwIfCancellationRequested(),E(e,e,t,r,n)}function E(e,t,r,n,i){if(n.markSearchedSymbols(t,r.allSearchSymbols))for(var a=0,o=x(t,r.text,e);a0;o--){x(t,i=n[o])}return[n.length-1,n[0]]}function x(e,t){var r=y(e,t);f(a,r),c.push(a),u.push(o),o=void 0,a=r}function b(){a.children&&(T(a.children,a),N(a.children)),a=c.pop(),o=u.pop()}function S(e,t,r){x(e,r),E(t),b()}function E(t){var r;if(n.throwIfCancellationRequested(),t&&!e.isToken(t))switch(t.kind){case 166:var i=t;S(i,i.body);for(var a=0,s=i.parameters;a0&&(x(U,R),e.forEachChild(U.right,E),b()):e.isFunctionExpression(U.right)||e.isArrowFunction(U.right)?S(t,U.right,R):(x(U,R),S(t,U.right,O.name),b()),void h(L);case 7:case 9:var J=t,K=(R=7===I?J.arguments[0]:J.arguments[0].expression,J.arguments[1]),z=D(t,R);L=z[0];return x(t,z[1]),x(t,e.setTextRange(e.factory.createIdentifier(K.text),K)),E(t.arguments[2]),b(),b(),void h(L);case 5:var U,V=(O=(U=t).left).expression;if(e.isIdentifier(V)&&\"prototype\"!==e.getElementOrPropertyAccessName(O)&&o&&o.has(V.text))return void(e.isFunctionExpression(U.right)||e.isArrowFunction(U.right)?S(t,U.right,V):e.isBindableStaticAccessExpression(O)&&(x(U,V),S(U.left,U.right,e.getNameOrArgument(O)),b()));break;case 4:case 0:case 8:break;default:e.Debug.assertNever(I)}default:e.hasJSDocNodes(t)&&e.forEach(t.jsDoc,(function(t){e.forEach(t.tags,(function(t){e.isJSDocTypeAlias(t)&&m(t)}))})),e.forEachChild(t,E)}}function T(t,r){var n=new e.Map;e.filterMutate(t,(function(t,i){var a=t.name||e.getNameOfDeclaration(t.node),o=a&&_(a);if(!o)return!0;var s=n.get(o);if(!s)return n.set(o,t),!0;if(s instanceof Array){for(var c=0,u=s;c0)return V(n)}switch(t.kind){case 297:var i=t;return e.isExternalModule(i)?'\"'+e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(i.fileName))))+'\"':\"\";case 266:return e.isExportAssignment(t)&&t.isExportEquals?\"export=\":\"default\";case 209:case 251:case 208:case 252:case 221:return 512&e.getSyntacticModifierFlags(t)?\"default\":z(t);case 166:return\"constructor\";case 170:return\"new()\";case 169:return\"()\";case 171:return\"[]\";default:return\"\"}}function O(t){return{text:I(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:K(t.node),spans:L(t),nameSpan:t.name&&J(t.name),childItems:e.map(t.children,O)}}function M(t){return{text:I(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:K(t.node),spans:L(t),childItems:e.map(t.children,(function(t){return{text:I(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:e.getNodeModifiers(t.node),spans:L(t),childItems:l,indent:0,bolded:!1,grayed:!1}}))||l,indent:t.indent,bolded:!1,grayed:!1}}function L(e){var t=[J(e.node)];if(e.additionalNodes)for(var r=0,n=e.additionalNodes;r0)return V(e.declarationNameToString(t.name));if(e.isVariableDeclaration(r))return V(e.declarationNameToString(r.name));if(e.isBinaryExpression(r)&&62===r.operatorToken.kind)return _(r.left).replace(s,\"\");if(e.isPropertyAssignment(r))return _(r.name);if(512&e.getSyntacticModifierFlags(t))return\"default\";if(e.isClassLike(t))return\"\";if(e.isCallExpression(r)){var n=U(r.expression);if(void 0!==n)return(n=V(n)).length>150?n+\" callback\":n+\"(\"+V(e.mapDefined(r.arguments,(function(t){return e.isStringLiteralLike(t)?t.getText(i):void 0})).join(\", \"))+\") callback\"}return\"\"}function U(t){if(e.isIdentifier(t))return t.text;if(e.isPropertyAccessExpression(t)){var r=U(t.expression),n=t.name.text;return void 0===r?n:r+\".\"+n}}function V(e){return(e=e.length>150?e.substring(0,150)+\"...\":e).replace(/\\\\?(\\r?\\n|\\r|\\u2028|\\u2029)/g,\"\")}}(e.NavigationBar||(e.NavigationBar={}))}(u||(u={})),function(e){!function(t){function r(t,r){var n=e.isStringLiteral(r)&&r.text;return e.isString(n)&&e.some(t.moduleAugmentations,(function(t){return e.isStringLiteral(t)&&t.text===n}))}function n(t){return void 0!==t&&e.isStringLiteralLike(t)?t.text:void 0}function i(t){var r;if(0===t.length)return t;var n=function(t){for(var r,n={defaultImports:[],namespaceImports:[],namedImports:[]},i={defaultImports:[],namespaceImports:[],namedImports:[]},a=0,o=t;a0?g[0]:y[0],k=0===T.length?x?void 0:e.factory.createNamedImports(e.emptyArray):0===y.length?e.factory.createNamedImports(T):e.factory.updateNamedImports(y[0].importClause.namedBindings,T);f&&x&&k?(u.push(o(C,x,void 0)),u.push(o(null!==(r=y[0])&&void 0!==r?r:C,void 0,k))):u.push(o(C,x,k))}}else{var A=g[0];u.push(o(A,A.importClause.name,m[0].importClause.namedBindings))}}return u}function a(t){if(0===t.length)return t;var r=function(e){for(var t,r=[],n=[],i=0,a=e;i...\")}function d(t){var n=e.createTextSpanFromBounds(t.openingFragment.getStart(r),t.closingFragment.getEnd());return c(n,\"code\",n,!1,\"<>...\")}function _(e){if(0!==e.properties.length)return o(e.getStart(r),e.getEnd(),\"code\")}function p(e){if(14!==e.kind||0!==e.text.length)return o(e.getStart(r),e.getEnd(),\"code\")}function f(t,r){return void 0===r&&(r=18),g(t,!1,!e.isArrayLiteralExpression(t.parent)&&!e.isCallExpression(t.parent),r)}function g(n,i,a,o,c){void 0===i&&(i=!1),void 0===a&&(a=!0),void 0===o&&(o=18),void 0===c&&(c=18===o?19:23);var u=e.findChildOfKind(t,o,r),l=e.findChildOfKind(t,c,r);return u&&l&&s(u,l,n,r,i,a)}function m(t){return t.length?c(e.createTextSpanFromRange(t),\"code\"):void 0}}(r,t);d&&i.push(d),u--,e.isCallExpression(r)?(u++,g(r.expression),u--,r.arguments.forEach(g),null===(l=r.typeArguments)||void 0===l||l.forEach(g)):e.isIfStatement(r)&&r.elseStatement&&e.isIfStatement(r.elseStatement)?(g(r.expression),g(r.thenStatement),u++,g(r.elseStatement),u--):r.forEachChild(g),u++}}}(t,n,u),function(t,r){for(var n=[],a=t.getLineStarts(),o=0,s=a;o1&&a.push(o(c,u,\"comment\"))}}function o(t,r,n){return c(e.createTextSpanFromBounds(t,r),n)}function s(t,r,n,i,a,o){return void 0===a&&(a=!1),void 0===o&&(o=!0),c(e.createTextSpanFromBounds(o?t.getFullStart():t.getStart(i),r.getEnd()),\"code\",e.createTextSpanFromNode(n,i),a)}function c(e,t,r,n,i){return void 0===r&&(r=e),void 0===n&&(n=!1),void 0===i&&(i=\"...\"),{textSpan:e,kind:t,hintSpan:r,bannerText:i,autoCollapse:n}}}(e.OutliningElementsCollector||(e.OutliningElementsCollector={}))}(u||(u={})),function(e){var t;function r(e,t){return{kind:e,isCaseSensitive:t}}function n(e,t){var r=t.get(e);return r||t.set(e,r=v(e)),r}function i(i,a,o){var s=function(e,t){for(var r=e.length-t.length,n=function(r){if(T(t,(function(t,n){return _(e.charCodeAt(n+r))===t})))return{value:r}},i=0;i<=r;i++){var a=n(i);if(\"object\"==typeof a)return a.value}return-1}(i,a.textLowerCase);if(0===s)return r(a.text.length===i.length?t.exact:t.prefix,e.startsWith(i,a.text));if(a.isLowerCase){if(-1===s)return;for(var d=0,p=n(i,o);d0)return r(t.substring,!0);if(a.characterSpans.length>0){var g=n(i,o),m=!!u(i,g,a,!1)||!u(i,g,a,!0)&&void 0;if(void 0!==m)return r(t.camelCase,m)}}}function a(e,t,r){if(T(t.totalTextChunk.text,(function(e){return 32!==e&&42!==e}))){var n=i(e,t.totalTextChunk,r);if(n)return n}for(var a,s=0,c=t.subWordTextChunks;s=65&&t<=90)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,99))return!1;var r=String.fromCharCode(t);return r===r.toUpperCase()}function d(t){if(t>=97&&t<=122)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,99))return!1;var r=String.fromCharCode(t);return r===r.toLowerCase()}function _(e){return e>=65&&e<=90?e-65+97:e<127?e:String.fromCharCode(e).toLowerCase().charCodeAt(0)}function p(e){return e>=48&&e<=57}function f(e){return l(e)||d(e)||p(e)||95===e||36===e}function g(e){for(var t=[],r=0,n=0,i=0;i0&&(t.push(m(e.substr(r,n))),n=0)}return n>0&&t.push(m(e.substr(r,n))),t}function m(e){var t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:y(e)}}function y(e){return h(e,!1)}function v(e){return h(e,!0)}function h(t,r){for(var n=[],i=0,a=1;at.length)return;for(var c=n.length-2,u=t.length-1;c>=0;c-=1,u-=1)s=o(s,a(t[u],n[c],i));return s}(t,i,n,r)},getMatchForLastSegmentOfPattern:function(t){return a(t,e.last(n),r)},patternContainsDots:n.length>1}},e.breakIntoCharacterSpans=y,e.breakIntoWordSpans=v}(u||(u={})),function(e){e.preProcessFile=function(t,r,n){void 0===r&&(r=!0),void 0===n&&(n=!1);var i,a,o,s={languageVersion:1,pragmas:void 0,checkJsDirective:void 0,referencedFiles:[],typeReferenceDirectives:[],libReferenceDirectives:[],amdDependencies:[],hasNoDefaultLib:void 0,moduleName:void 0},c=[],u=0,l=!1;function d(){return a=o,18===(o=e.scanner.scan())?u++:19===o&&u--,o}function _(){var t=e.scanner.getTokenValue(),r=e.scanner.getTokenPos();return{fileName:t,pos:r,end:r+t.length}}function p(){c.push(_()),f()}function f(){0===u&&(l=!0)}function g(){var t=e.scanner.getToken();return 133===t&&(139===(t=d())&&10===(t=d())&&(i||(i=[]),i.push({ref:_(),depth:u})),!0)}function m(){if(24===a)return!1;var t=e.scanner.getToken();if(99===t){if(20===(t=d())){if(10===(t=d())||14===t)return p(),!0}else{if(10===t)return p(),!0;149===t&&e.scanner.lookAhead((function(){var t=e.scanner.scan();return 153!==t&&(41===t||18===t||78===t||e.isKeyword(t))}))&&(t=d());if(78===t||e.isKeyword(t))if(153===(t=d())){if(10===(t=d()))return p(),!0}else if(62===t){if(v(!0))return!0}else{if(27!==t)return!0;t=d()}if(18===t){for(t=d();19!==t&&1!==t;)t=d();19===t&&153===(t=d())&&10===(t=d())&&p()}else 41===t&&126===(t=d())&&(78===(t=d())||e.isKeyword(t))&&153===(t=d())&&10===(t=d())&&p()}return!0}return!1}function y(){var t=e.scanner.getToken();if(92===t){if(f(),149===(t=d()))e.scanner.lookAhead((function(){var t=e.scanner.scan();return 41===t||18===t}))&&(t=d());if(18===t){for(t=d();19!==t&&1!==t;)t=d();19===t&&153===(t=d())&&10===(t=d())&&p()}else if(41===t)153===(t=d())&&10===(t=d())&&p();else if(99===t){if(149===(t=d()))e.scanner.lookAhead((function(){var t=e.scanner.scan();return 78===t||e.isKeyword(t)}))&&(t=d());if((78===t||e.isKeyword(t))&&62===(t=d())&&v(!0))return!0}return!0}return!1}function v(t,r){void 0===r&&(r=!1);var n=t?d():e.scanner.getToken();return 143===n&&(20===(n=d())&&(10===(n=d())||r&&14===n)&&p(),!0)}function h(){var t=e.scanner.getToken();if(78===t&&\"define\"===e.scanner.getTokenValue()){if(20!==(t=d()))return!0;if(10===(t=d())||14===t){if(27!==(t=d()))return!0;t=d()}if(22!==t)return!0;for(t=d();23!==t&&1!==t;)10!==t&&14!==t||p(),t=d();return!0}return!1}if(r&&function(){for(e.scanner.setText(t),d();1!==e.scanner.getToken();)g()||m()||y()||n&&(v(!1,!0)||h())||d();e.scanner.setText(void 0)}(),e.processCommentPragmas(s,t),e.processPragmasIntoFields(s,e.noop),l){if(i)for(var D=0,x=i;Dt)break e;if(r(i,t,m)){if(e.isBlock(m)||e.isTemplateSpan(m)||e.isTemplateHead(m)||e.isTemplateTail(m)||g&&e.isTemplateHead(g)||e.isVariableDeclarationList(m)&&e.isVariableStatement(_)||e.isSyntaxList(m)&&e.isVariableDeclarationList(_)||e.isVariableDeclaration(m)&&e.isSyntaxList(_)&&1===p.length||e.isJSDocTypeExpression(m)||e.isJSDocSignature(m)||e.isJSDocTypeLiteral(m)){_=m;break}if(e.isTemplateSpan(_)&&y&&e.isTemplateMiddleOrTemplateTail(y))x(m.getFullStart()-\"${\".length,y.getStart()+\"}\".length);var v=e.isSyntaxList(m)&&(c=void 0,18===(c=(s=g)&&s.kind)||22===c||20===c||275===c)&&u(y)&&!e.positionsAreOnSameLine(g.getStart(),y.getStart(),i),h=v?g.getEnd():m.getStart(),D=v?y.getStart():l(i,m);e.hasJSDocNodes(m)&&(null===(o=m.jsDoc)||void 0===o?void 0:o.length)&&x(e.first(m.jsDoc).getStart(),D),x(h,D),(e.isStringLiteral(m)||e.isTemplateLiteral(m))&&x(h+1,D-1),_=m;break}if(f===p.length-1)break e}}return d;function x(r,i){if(r!==i){var a=e.createTextSpanFromBounds(r,i);(!d||!e.textSpansEqual(a,d.textSpan)&&e.textSpanIntersectsWithPosition(a,t))&&(d=n({textSpan:a},d&&{parent:d}))}}};var i=e.or(e.isImportDeclaration,e.isImportEqualsDeclaration);function a(t){if(e.isSourceFile(t))return o(t.getChildAt(0).getChildren(),i);if(e.isMappedTypeNode(t)){var r=t.getChildren(),n=r[0],a=r.slice(1),u=e.Debug.checkDefined(a.pop());e.Debug.assertEqual(n.kind,18),e.Debug.assertEqual(u.kind,19);var l=o(a,(function(e){return e===t.readonlyToken||142===e.kind||e===t.questionToken||57===e.kind}));return[n,c(s(o(l,(function(e){var t=e.kind;return 22===t||159===t||23===t})),(function(e){return 58===e.kind}))),u]}if(e.isPropertySignature(t))return s(a=o(t.getChildren(),(function(r){return r===t.name||e.contains(t.modifiers,r)})),(function(e){return 58===e.kind}));if(e.isParameter(t)){var d=o(t.getChildren(),(function(e){return e===t.dotDotDotToken||e===t.name}));return s(o(d,(function(e){return e===d[0]||e===t.questionToken})),(function(e){return 62===e.kind}))}return e.isBindingElement(t)?s(t.getChildren(),(function(e){return 62===e.kind})):t.getChildren()}function o(e,t){for(var r,n=[],i=0,a=e;i0&&27===e.last(r).kind&&n++;return n}(i);return 0!==a&&e.Debug.assertLessThan(a,o),{list:i,argumentIndex:a,argumentCount:o,argumentsSpan:function(t,r){var n=t.getFullStart(),i=e.skipTrivia(r.text,t.getEnd(),!1);return e.createTextSpan(n,i-n)}(i,r)}}}function s(t,r,n){var i=t.parent;if(e.isCallOrNewExpression(i)){var a=i,s=o(t,n);if(!s)return;var c=s.list,u=s.argumentIndex,l=s.argumentCount,d=s.argumentsSpan;return{isTypeParameterList:!!i.typeArguments&&i.typeArguments.pos===c.pos,invocation:{kind:0,node:a},argumentsSpan:d,argumentIndex:u,argumentCount:l}}if(e.isNoSubstitutionTemplateLiteral(t)&&e.isTaggedTemplateExpression(i))return e.isInsideTemplateLiteral(t,r,n)?_(i,0,n):void 0;if(e.isTemplateHead(t)&&205===i.parent.kind){var p=i,f=p.parent;return e.Debug.assert(218===p.kind),_(f,u=e.isInsideTemplateLiteral(t,r,n)?0:1,n)}if(e.isTemplateSpan(i)&&e.isTaggedTemplateExpression(i.parent.parent)){var g=i;f=i.parent.parent;if(e.isTemplateTail(t)&&!e.isInsideTemplateLiteral(t,r,n))return;return _(f,u=function(t,r,n,i){if(e.Debug.assert(n>=r.getStart(),\"Assumed 'position' could not occur before node.\"),e.isTemplateLiteralToken(r))return e.isInsideTemplateLiteral(r,n,i)?0:t+2;return t+1}(g.parent.templateSpans.indexOf(g),t,r,n),n)}if(e.isJsxOpeningLikeElement(i)){var m=i.attributes.pos,y=e.skipTrivia(n.text,i.attributes.end,!1);return{isTypeParameterList:!1,invocation:{kind:0,node:i},argumentsSpan:e.createTextSpan(m,y-m),argumentIndex:0,argumentCount:1}}var v=e.getPossibleTypeArgumentsInfo(t,n);if(v){var h=v.called,D=v.nTypeArguments;return{isTypeParameterList:!0,invocation:a={kind:1,called:h},argumentsSpan:d=e.createTextSpanFromBounds(h.getStart(n),t.end),argumentIndex:D,argumentCount:D+1}}}function c(t){return e.isBinaryExpression(t.parent)?c(t.parent):t}function u(t){return e.isBinaryExpression(t.left)?u(t.left)+1:2}function l(t){return\"__type\"===t.name&&e.firstDefined(t.declarations,(function(t){return e.isFunctionTypeNode(t)?t.parent.symbol:void 0}))||t}function d(e,t){for(var r=0,n=0,i=e.getChildren();n=0&&i.length>a+1),i[a+1]}function g(t){return 0===t.kind?e.getInvokedExpression(t.node):t.called}function m(e){return 0===e.kind?e.node:1===e.kind?e.called:e.node}!function(e){e[e.Call=0]=\"Call\",e[e.TypeArgs=1]=\"TypeArgs\",e[e.Contextual=2]=\"Contextual\"}(n||(n={})),t.getSignatureHelpItems=function(t,r,n,i,d){var _=t.getTypeChecker(),p=e.findTokenOnLeftOfPosition(r,n);if(p){var f=!!i&&\"characterTyped\"===i.kind;if(!f||!e.isInString(r,n,p)&&!e.isInComment(r,n)){var y=!!i&&\"invoked\"===i.kind,D=function(t,r,n,i,a){for(var d=function(t){e.Debug.assert(e.rangeContainsRange(t.parent,t),\"Not a subspan\",(function(){return\"Child: \"+e.Debug.formatSyntaxKind(t.kind)+\", parent: \"+e.Debug.formatSyntaxKind(t.parent.kind)}));var a=function(t,r,n,i){return function(t,r,n,i){var a=function(t,r,n){if(20!==t.kind&&27!==t.kind)return;var i=t.parent;switch(i.kind){case 207:case 165:case 208:case 209:var a=o(t,r);if(!a)return;var s=a.argumentIndex,l=a.argumentCount,d=a.argumentsSpan,_=e.isMethodDeclaration(i)?n.getContextualTypeForObjectLiteralElement(i):n.getContextualType(i);return _&&{contextualType:_,argumentIndex:s,argumentCount:l,argumentsSpan:d};case 216:var p=c(i),f=n.getContextualType(p),g=20===t.kind?0:u(i)-1,m=u(p);return f&&{contextualType:f,argumentIndex:g,argumentCount:m,argumentsSpan:e.createTextSpanFromNode(i)};default:return}}(t,n,i);if(!a)return;var s=a.contextualType,d=a.argumentIndex,_=a.argumentCount,p=a.argumentsSpan,f=s.getNonNullableType(),g=f.getCallSignatures();return 1!==g.length?void 0:{isTypeParameterList:!1,invocation:{kind:2,signature:e.first(g),node:t,symbol:l(f.symbol)},argumentsSpan:p,argumentIndex:d,argumentCount:_}}(t,0,n,i)||s(t,r,n)}(t,r,n,i);if(a)return{value:a}},_=t;!e.isSourceFile(_)&&(a||!e.isBlock(_));_=_.parent){var p=d(_);if(\"object\"==typeof p)return p.value}return}(p,n,r,_,y);if(D){d.throwIfCancellationRequested();var x=function(t,r,n,i,o){var s=t.invocation,c=t.argumentCount;switch(s.kind){case 0:if(o&&!function(t,r,n){if(!e.isCallOrNewExpression(r))return!1;var i=r.getChildren(n);switch(t.kind){case 20:return e.contains(i,t);case 27:var o=e.findContainingList(t);return!!o&&e.contains(i,o);case 29:return a(t,n,r.expression);default:return!1}}(i,s.node,n))return;var u=[],l=r.getResolvedSignatureForSignatureHelp(s.node,u,c);return 0===u.length?void 0:{kind:0,candidates:u,resolvedSignature:l};case 1:var d=s.called;if(o&&!a(i,n,e.isIdentifier(d)?d.parent:d))return;if(0!==(u=e.getPossibleGenericSignatures(d,c,r)).length)return{kind:0,candidates:u,resolvedSignature:e.first(u)};var _=r.getSymbolAtLocation(d);return _&&{kind:1,symbol:_};case 2:return{kind:0,candidates:[s.signature],resolvedSignature:s.signature};default:return e.Debug.assertNever(s)}}(D,_,r,p,f);return d.throwIfCancellationRequested(),x?_.runWithCancellationToken(d,(function(e){return 0===x.kind?v(x.candidates,x.resolvedSignature,D,r,e):function(e,t,r,n){var i=t.argumentCount,a=t.argumentsSpan,o=t.invocation,s=t.argumentIndex,c=n.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e);return c?{items:[h(e,c,n,m(o),r)],applicableSpan:a,selectedItemIndex:0,argumentIndex:s,argumentCount:i}:void 0}(x.symbol,D,r,e)})):e.isSourceFileJS(r)?function(t,r,n){if(2===t.invocation.kind)return;var i=g(t.invocation),a=e.isPropertyAccessExpression(i)?i.name.text:void 0,o=r.getTypeChecker();return void 0===a?void 0:e.firstDefined(r.getSourceFiles(),(function(r){return e.firstDefined(r.getNamedDeclarations().get(a),(function(e){var i=e.symbol&&o.getTypeOfSymbolAtLocation(e.symbol,e),a=i&&i.getCallSignatures();if(a&&a.length)return o.runWithCancellationToken(n,(function(e){return v(a,a[0],t,r,e,!0)}))}))}))}(D,t,d):void 0}}}},function(e){e[e.Candidate=0]=\"Candidate\",e[e.Type=1]=\"Type\"}(i||(i={})),t.getArgumentInfoForCompletions=function(e,t,r){var n=s(e,t,r);return!n||n.isTypeParameterList||0!==n.invocation.kind?void 0:{invocation:n.invocation.node,argumentCount:n.argumentCount,argumentIndex:n.argumentIndex}};var y=70246400;function v(t,n,i,a,o,s){var c,u=i.isTypeParameterList,l=i.argumentCount,d=i.argumentsSpan,_=i.invocation,p=i.argumentIndex,f=m(_),y=2===_.kind?_.symbol:o.getSymbolAtLocation(g(_))||s&&(null===(c=n.declaration)||void 0===c?void 0:c.symbol),v=y?e.symbolToDisplayParts(o,y,s?a:void 0,void 0):e.emptyArray,h=e.map(t,(function(t){return function(t,n,i,a,o,s){var c=(i?x:b)(t,a,o,s);return e.map(c,(function(i){var s=i.isVariadic,c=i.parameters,u=i.prefix,l=i.suffix,d=r(n,u),_=r(l,function(t,r,n){return e.mapToDisplayParts((function(e){e.writePunctuation(\":\"),e.writeSpace(\" \");var i=n.getTypePredicateOfSignature(t);i?n.writeTypePredicate(i,r,void 0,e):n.writeType(n.getReturnTypeOfSignature(t),r,void 0,e)}))}(t,o,a)),p=t.getDocumentationComment(a),f=t.getJsDocTags();return{isVariadic:s,prefixDisplayParts:d,suffixDisplayParts:_,separatorDisplayParts:D,parameters:c,documentation:p,tags:f}}))}(t,v,u,o,f,a)}));0!==p&&e.Debug.assertLessThan(p,l);for(var S=0,E=0,T=0;T1))for(var k=0,A=0,F=C;A=l){S=E+k;break}k++}E+=C.length}return e.Debug.assert(-1!==S),{items:e.flatMapToMutable(h,e.identity),applicableSpan:d,selectedItemIndex:S,argumentIndex:p,argumentCount:l}}function h(t,n,i,a,o){var s=e.symbolToDisplayParts(i,t),c=e.createPrinter({removeComments:!0}),u=n.map((function(e){return S(e,i,a,o,c)})),l=t.getDocumentationComment(i),d=t.getJsDocTags();return{isVariadic:!1,prefixDisplayParts:r(s,[e.punctuationPart(29)]),suffixDisplayParts:[e.punctuationPart(31)],separatorDisplayParts:D,parameters:u,documentation:l,tags:d}}var D=[e.punctuationPart(27),e.spacePart()];function x(t,n,i,a){var o=(t.target||t).typeParameters,s=e.createPrinter({removeComments:!0}),c=(o||e.emptyArray).map((function(e){return S(e,n,i,a,s)})),u=t.thisParameter?[n.symbolToParameterDeclaration(t.thisParameter,i,y)]:[];return n.getExpandedParameters(t).map((function(t){var o=e.factory.createNodeArray(r(u,e.map(t,(function(e){return n.symbolToParameterDeclaration(e,i,y)})))),l=e.mapToDisplayParts((function(e){s.writeList(2576,o,a,e)}));return{isVariadic:!1,parameters:c,prefix:[e.punctuationPart(29)],suffix:r([e.punctuationPart(31)],l)}}))}function b(t,n,i,a){var o=n.hasEffectiveRestParameter(t),s=e.createPrinter({removeComments:!0}),c=e.mapToDisplayParts((function(r){if(t.typeParameters&&t.typeParameters.length){var o=e.factory.createNodeArray(t.typeParameters.map((function(e){return n.typeParameterToDeclaration(e,i,y)})));s.writeList(53776,o,a,r)}})),u=n.getExpandedParameters(t);return u.map((function(t){return{isVariadic:o&&(1===u.length||!!(32768&t[t.length-1].checkFlags)),parameters:t.map((function(t){return function(t,r,n,i,a){var o=e.mapToDisplayParts((function(e){var o=r.symbolToParameterDeclaration(t,n,y);a.writeNode(4,o,i,e)})),s=r.isOptionalParameter(t.valueDeclaration);return{name:t.name,documentation:t.getDocumentationComment(r),displayParts:o,isOptional:s}}(t,n,i,a,s)})),prefix:r(c,[e.punctuationPart(20)]),suffix:[e.punctuationPart(21)]}}))}function S(t,r,n,i,a){var o=e.mapToDisplayParts((function(e){var o=r.typeParameterToDeclaration(t,n,y);a.writeNode(4,o,i,e)}));return{name:t.symbol.name,documentation:t.symbol.getDocumentationComment(r),displayParts:o,isOptional:!1}}}(e.SignatureHelp||(e.SignatureHelp={}))}(u||(u={})),function(e){var t=/^data:(?:application\\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+\\/=]+)$)?/;function r(t,r,n){var i=e.tryParseRawSourceMap(r);if(i&&i.sources&&i.file&&i.mappings&&(!i.sourcesContent||!i.sourcesContent.some(e.isString)))return e.createDocumentPositionMapper(t,i,n)}e.getSourceMapper=function(t){var r=e.createGetCanonicalFileName(t.useCaseSensitiveFileNames()),n=t.getCurrentDirectory(),i=new e.Map,a=new e.Map;return{tryGetSourcePosition:function t(r){if(!e.isDeclarationFileName(r.fileName))return;if(!c(r.fileName))return;var n=s(r.fileName).getSourcePosition(r);return n&&n!==r?t(n)||n:void 0},tryGetGeneratedPosition:function(i){if(e.isDeclarationFileName(i.fileName))return;var a=c(i.fileName);if(!a)return;var o=t.getProgram();if(o.isSourceOfProjectReferenceRedirect(a.fileName))return;var u=o.getCompilerOptions(),l=e.outFile(u),d=l?e.removeFileExtension(l)+\".d.ts\":e.getDeclarationEmitOutputFilePathWorker(i.fileName,o.getCompilerOptions(),n,o.getCommonSourceDirectory(),r);if(void 0===d)return;var _=s(d,i.fileName).getGeneratedPosition(i);return _===i?void 0:_},toLineColumnOffset:function(e,t){return l(e).getLineAndCharacterOfPosition(t)},clearCache:function(){i.clear(),a.clear()}};function o(t){return e.toPath(t,n,r)}function s(n,i){var s,c=o(n),u=a.get(c);if(u)return u;if(t.getDocumentPositionMapper)s=t.getDocumentPositionMapper(n,i);else if(t.readFile){var d=l(n);s=d&&e.getDocumentPositionMapper({getSourceFileLike:l,getCanonicalFileName:r,log:function(e){return t.log(e)}},n,e.getLineInfo(d.text,e.getLineStarts(d)),(function(e){return!t.fileExists||t.fileExists(e)?t.readFile(e):void 0}))}return a.set(c,s||e.identitySourceMapConsumer),s||e.identitySourceMapConsumer}function c(e){var r=t.getProgram();if(r){var n=o(e),i=r.getSourceFileByPath(n);return i&&i.resolvedPath===n?i:void 0}}function u(r){var n=o(r),a=i.get(n);if(void 0!==a)return a||void 0;if(t.readFile&&(!t.fileExists||t.fileExists(n))){var s=t.readFile(n),c=!!s&&function(t,r){return{text:t,lineMap:r,getLineAndCharacterOfPosition:function(t){return e.computeLineAndCharacterOfPosition(e.getLineStarts(this),t)}}}(s);return i.set(n,c),c||void 0}i.set(n,!1)}function l(e){return t.getSourceFileLike?t.getSourceFileLike(e):c(e)||u(e)}},e.getDocumentPositionMapper=function(n,i,a,o){var s=e.tryGetSourceMappingURL(a);if(s){var c=t.exec(s);if(c){if(c[1]){var u=c[1];return r(n,e.base64decode(e.sys,u),i)}s=void 0}}var l=[];s&&l.push(s),l.push(i+\".map\");for(var d=s&&e.getNormalizedAbsolutePath(s,e.getDirectoryPath(i)),_=0,p=l;_2)&&(t.arguments.length<2||e.some(t.arguments,(function(t){return 103===t.kind||e.isIdentifier(t)&&\"undefined\"===t.text})))}(t)||e.hasPropertyAccessExpressionWithName(t,\"catch\"))}function s(e){switch(e.kind){case 251:case 208:case 209:t.set(c(e),!0);case 103:case 78:return!0;default:return!1}}function c(e){return e.pos.toString()+\":\"+e.end.toString()}e.computeSuggestionDiagnostics=function(a,o,s){o.getSemanticDiagnostics(a,s);var u,l=[],d=o.getTypeChecker();a.commonJsModuleIndicator&&(e.programContainsEs6Modules(o)||e.compilerOptionsIndicateEs6Modules(o.getCompilerOptions()))&&function(t){return t.statements.some((function(t){switch(t.kind){case 232:return t.declarationList.declarations.some((function(t){return!!t.initializer&&e.isRequireCall(r(t.initializer),!0)}));case 233:var n=t.expression;if(!e.isBinaryExpression(n))return e.isRequireCall(n,!0);var i=e.getAssignmentDeclarationKind(n);return 1===i||2===i;default:return!1}}))}(a)&&l.push(e.createDiagnosticForNode((u=a.commonJsModuleIndicator,e.isBinaryExpression(u)?u.left:u),e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module));var _=e.isSourceFileJS(a);if(t.clear(),function r(n){if(_)(function(t,r){var n,i,a,o;if(208===t.kind){if(e.isVariableDeclaration(t.parent)&&(null===(n=t.symbol.members)||void 0===n?void 0:n.size))return!0;var s=r.getSymbolOfExpando(t,!1);return!(!s||!(null===(i=s.exports)||void 0===i?void 0:i.size)&&!(null===(a=s.members)||void 0===a?void 0:a.size))}if(251===t.kind)return!!(null===(o=t.symbol.members)||void 0===o?void 0:o.size);return!1})(n,d)&&l.push(e.createDiagnosticForNode(e.isVariableDeclaration(n.parent)?n.parent.name:n,e.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration));else{if(e.isVariableStatement(n)&&n.parent===a&&2&n.declarationList.flags&&1===n.declarationList.declarations.length){var o=n.declarationList.declarations[0].initializer;o&&e.isRequireCall(o,!0)&&l.push(e.createDiagnosticForNode(o,e.Diagnostics.require_call_may_be_converted_to_an_import))}e.codefix.parameterShouldGetTypeFromJSDoc(n)&&l.push(e.createDiagnosticForNode(n.name||n,e.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types))}e.isFunctionLikeDeclaration(n)&&function(r,n,a){(function(t,r){return!e.isAsyncFunction(t)&&t.body&&e.isBlock(t.body)&&(n=t.body,!!e.forEachReturnStatement(n,i))&&function(e,t){var r=t.getTypeAtLocation(e),n=t.getSignaturesOfType(r,0),i=n.length?t.getReturnTypeOfSignature(n[0]):void 0;return!!i&&!!t.getPromisedTypeOfPromise(i)}(t,r);var n})(r,n)&&!t.has(c(r))&&a.push(e.createDiagnosticForNode(!r.name&&e.isVariableDeclaration(r.parent)&&e.isIdentifier(r.parent.name)?r.parent.name:r,e.Diagnostics.This_may_be_converted_to_an_async_function))}(n,d,l);n.forEachChild(r)}(a),e.getAllowSyntheticDefaultImports(o.getCompilerOptions()))for(var p=0,f=a.imports;p0?e.getNodeModifiers(t.declarations[0]):\"\",n=t&&16777216&t.flags?\"optional\":\"\";return r&&n?r+\",\"+n:r||n},t.getSymbolDisplayPartsDocumentationAndSymbolKind=function t(a,o,s,c,u,l,d){void 0===l&&(l=e.getMeaningFromLocation(u));var _,p,f,g,m=[],y=[],v=[],h=e.getCombinedLocalAndExportSymbolFlags(o),D=1&l?i(a,o,u):\"\",x=!1,b=107===u.kind&&e.isInExpressionContext(u),S=!1;if(107===u.kind&&!b)return{displayParts:[e.keywordPart(107)],documentation:[],symbolKind:\"primitive type\",tags:void 0};if(\"\"!==D||32&h||2097152&h){\"getter\"!==D&&\"setter\"!==D||(D=\"property\");var E=void 0;if(_=b?a.getTypeAtLocation(u):a.getTypeOfSymbolAtLocation(o.exportSymbol||o,u),u.parent&&201===u.parent.kind){var T=u.parent.name;(T===u||T&&0===T.getFullWidth())&&(u=u.parent)}var C=void 0;if(e.isCallOrNewExpression(u)?C=u:(e.isCallExpressionTarget(u)||e.isNewExpressionTarget(u)||u.parent&&(e.isJsxOpeningLikeElement(u.parent)||e.isTaggedTemplateExpression(u.parent))&&e.isFunctionLike(o.valueDeclaration))&&(C=u.parent),C){E=a.getResolvedSignature(C);var k=204===C.kind||e.isCallExpression(C)&&105===C.expression.kind,A=k?_.getConstructSignatures():_.getCallSignatures();if(e.contains(A,E.target)||e.contains(A,E)||(E=A.length?A[0]:void 0),E){switch(k&&32&h?(D=\"constructor\",X(_.symbol,D)):2097152&h?(Q(D=\"alias\"),m.push(e.spacePart()),k&&(m.push(e.keywordPart(102)),m.push(e.spacePart())),Y(o)):X(o,D),D){case\"JSX attribute\":case\"property\":case\"var\":case\"const\":case\"let\":case\"parameter\":case\"local var\":m.push(e.punctuationPart(58)),m.push(e.spacePart()),16&e.getObjectFlags(_)||!_.symbol||(e.addRange(m,e.symbolToDisplayParts(a,_.symbol,c,void 0,5)),m.push(e.lineBreakPart())),k&&(m.push(e.keywordPart(102)),m.push(e.spacePart())),$(E,A,262144);break;default:$(E,A)}x=!0,S=A.length>1}}else if(e.isNameOfFunctionDeclaration(u)&&!(98304&h)||132===u.kind&&166===u.parent.kind){var F=u.parent;if(o.declarations&&e.find(o.declarations,(function(e){return e===(132===u.kind?F.parent:F)}))){A=166===F.kind?_.getNonNullableType().getConstructSignatures():_.getNonNullableType().getCallSignatures();E=a.isImplementationOfOverload(F)?A[0]:a.getSignatureFromDeclaration(F),166===F.kind?(D=\"constructor\",X(_.symbol,D)):X(169!==F.kind||2048&_.symbol.flags||4096&_.symbol.flags?o:_.symbol,D),$(E,A),x=!0,S=A.length>1}}}if(32&h&&!x&&!b&&(H(),e.getDeclarationOfKind(o,221)?Q(\"local class\"):m.push(e.keywordPart(83)),m.push(e.spacePart()),Y(o),Z(o,s)),64&h&&2&l&&(W(),m.push(e.keywordPart(117)),m.push(e.spacePart()),Y(o),Z(o,s)),524288&h&&2&l&&(W(),m.push(e.keywordPart(149)),m.push(e.spacePart()),Y(o),Z(o,s),m.push(e.spacePart()),m.push(e.operatorPart(62)),m.push(e.spacePart()),e.addRange(m,e.typeToDisplayParts(a,a.getDeclaredTypeOfSymbol(o),c,8388608))),384&h&&(W(),e.some(o.declarations,(function(t){return e.isEnumDeclaration(t)&&e.isEnumConst(t)}))&&(m.push(e.keywordPart(84)),m.push(e.spacePart())),m.push(e.keywordPart(91)),m.push(e.spacePart()),Y(o)),1536&h&&!b){W();var N=(U=e.getDeclarationOfKind(o,256))&&U.name&&78===U.name.kind;m.push(e.keywordPart(N?140:139)),m.push(e.spacePart()),Y(o)}if(262144&h&&2&l)if(W(),m.push(e.punctuationPart(20)),m.push(e.textPart(\"type parameter\")),m.push(e.punctuationPart(21)),m.push(e.spacePart()),Y(o),o.parent)G(),Y(o.parent,c),Z(o.parent,c);else{var P=e.getDeclarationOfKind(o,159);if(void 0===P)return e.Debug.fail();if(U=P.parent)if(e.isFunctionLikeKind(U.kind)){G();E=a.getSignatureFromDeclaration(U);170===U.kind?(m.push(e.keywordPart(102)),m.push(e.spacePart())):169!==U.kind&&U.name&&Y(U.symbol),e.addRange(m,e.signatureToDisplayParts(a,E,s,32))}else 254===U.kind&&(G(),m.push(e.keywordPart(149)),m.push(e.spacePart()),Y(U.symbol),Z(U.symbol,s))}if(8&h&&(D=\"enum member\",X(o,\"enum member\"),291===(U=o.declarations[0]).kind)){var w=a.getConstantValue(U);void 0!==w&&(m.push(e.spacePart()),m.push(e.operatorPart(62)),m.push(e.spacePart()),m.push(e.displayPart(e.getTextOfConstantValue(w),\"number\"==typeof w?e.SymbolDisplayPartKind.numericLiteral:e.SymbolDisplayPartKind.stringLiteral)))}if(2097152&o.flags){if(W(),!x){var I=a.getAliasedSymbol(o);if(I!==o&&I.declarations&&I.declarations.length>0){var O=I.declarations[0],M=e.getNameOfDeclaration(O);if(M){var L=e.isModuleWithStringLiteralName(O)&&e.hasSyntacticModifier(O,2),R=\"default\"!==o.name&&!L,B=t(a,I,e.getSourceFileOfNode(O),O,M,l,R?o:I);m.push.apply(m,B.displayParts),m.push(e.lineBreakPart()),f=B.documentation,g=B.tags}}}switch(o.declarations[0].kind){case 259:m.push(e.keywordPart(92)),m.push(e.spacePart()),m.push(e.keywordPart(140));break;case 266:m.push(e.keywordPart(92)),m.push(e.spacePart()),m.push(e.keywordPart(o.declarations[0].isExportEquals?62:87));break;case 270:m.push(e.keywordPart(92));break;default:m.push(e.keywordPart(99))}m.push(e.spacePart()),Y(o),e.forEach(o.declarations,(function(t){if(260===t.kind){var r=t;if(e.isExternalModuleImportEqualsDeclaration(r))m.push(e.spacePart()),m.push(e.operatorPart(62)),m.push(e.spacePart()),m.push(e.keywordPart(143)),m.push(e.punctuationPart(20)),m.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(r)),e.SymbolDisplayPartKind.stringLiteral)),m.push(e.punctuationPart(21));else{var n=a.getSymbolAtLocation(r.moduleReference);n&&(m.push(e.spacePart()),m.push(e.operatorPart(62)),m.push(e.spacePart()),Y(n,c))}return!0}}))}if(!x)if(\"\"!==D){if(_)if(b?(W(),m.push(e.keywordPart(107))):X(o,D),\"property\"===D||\"JSX attribute\"===D||3&h||\"local var\"===D||b){if(m.push(e.punctuationPart(58)),m.push(e.spacePart()),_.symbol&&262144&_.symbol.flags){var j=e.mapToDisplayParts((function(t){var n=a.typeParameterToDeclaration(_,c,r);q().writeNode(4,n,e.getSourceFileOfNode(e.getParseTreeNode(c)),t)}));e.addRange(m,j)}else e.addRange(m,e.typeToDisplayParts(a,_,c));if(o.target&&o.target.tupleLabelDeclaration){var J=o.target.tupleLabelDeclaration;e.Debug.assertNode(J.name,e.isIdentifier),m.push(e.spacePart()),m.push(e.punctuationPart(20)),m.push(e.textPart(e.idText(J.name))),m.push(e.punctuationPart(21))}}else if(16&h||8192&h||16384&h||131072&h||98304&h||\"method\"===D){(A=_.getNonNullableType().getCallSignatures()).length&&($(A[0],A),S=A.length>1)}}else D=n(a,o,u);if(0!==y.length||S||(y=o.getContextualDocumentationComment(c,a)),0===y.length&&4&h&&o.parent&&e.forEach(o.parent.declarations,(function(e){return 297===e.kind})))for(var K=0,z=o.declarations;K0))break}}return 0!==v.length||S||(v=o.getJsDocTags()),0===y.length&&f&&(y=f),0===v.length&&g&&(v=g),{displayParts:m,documentation:y,symbolKind:D,tags:0===v.length?void 0:v};function q(){return p||(p=e.createPrinter({removeComments:!0})),p}function W(){m.length&&m.push(e.lineBreakPart()),H()}function H(){d&&(Q(\"alias\"),m.push(e.spacePart()))}function G(){m.push(e.spacePart()),m.push(e.keywordPart(100)),m.push(e.spacePart())}function Y(t,r){d&&t===o&&(t=d);var n=e.symbolToDisplayParts(a,t,r||s,void 0,7);e.addRange(m,n),16777216&o.flags&&m.push(e.punctuationPart(57))}function X(t,r){W(),r&&(Q(r),t&&!e.some(t.declarations,(function(t){return e.isArrowFunction(t)||(e.isFunctionExpression(t)||e.isClassExpression(t))&&!t.name}))&&(m.push(e.spacePart()),Y(t)))}function Q(t){switch(t){case\"var\":case\"function\":case\"let\":case\"const\":case\"constructor\":return void m.push(e.textOrKeywordPart(t));default:return m.push(e.punctuationPart(20)),m.push(e.textOrKeywordPart(t)),void m.push(e.punctuationPart(21))}}function $(t,r,n){void 0===n&&(n=0),e.addRange(m,e.signatureToDisplayParts(a,t,c,32|n)),r.length>1&&(m.push(e.spacePart()),m.push(e.punctuationPart(20)),m.push(e.operatorPart(39)),m.push(e.displayPart((r.length-1).toString(),e.SymbolDisplayPartKind.numericLiteral)),m.push(e.spacePart()),m.push(e.textPart(2===r.length?\"overload\":\"overloads\")),m.push(e.punctuationPart(21))),y=t.getDocumentationComment(a),v=t.getJsDocTags(),r.length>1&&0===y.length&&0===v.length&&(y=r[0].getDocumentationComment(a),v=r[0].getJsDocTags())}function Z(t,n){var i=e.mapToDisplayParts((function(i){var o=a.symbolToTypeParameterDeclarations(t,n,r);q().writeList(53776,o,e.getSourceFileOfNode(e.getParseTreeNode(n)),i)}));e.addRange(m,i)}}}(e.SymbolDisplay||(e.SymbolDisplay={}))}(u||(u={})),function(e){function t(t,r){var i=[],a=r.compilerOptions?n(r.compilerOptions,i):{},o=e.getDefaultCompilerOptions();for(var s in o)e.hasProperty(o,s)&&void 0===a[s]&&(a[s]=o[s]);for(var c=0,u=e.transpileOptionValueCompilerOptions;c>=5;return r}(p,_),0,n),a[c]=(d=1+((u=p)>>(l=_)&s),e.Debug.assert((d&s)===d,\"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules.\"),u&~(s<=r.pos?t.pos:a.end:t.pos}(o,r,n),r.end,(function(s){return _(r,o,t.SmartIndenter.getIndentationForNode(o,r,n,i.options),function(e,r,n){for(var i,a=-1;e;){var o=n.getLineAndCharacterOfPosition(e.getStart(n)).line;if(-1!==a&&o!==a)break;if(t.SmartIndenter.shouldIndentChildNode(r,e,i,n))return r.indentSize;a=o,i=e,e=e.parent}return 0}(o,i.options,n),s,i,a,function(t,r){if(!t.length)return a;var n=t.filter((function(t){return e.rangeOverlapsWithStartEnd(r,t.start,t.start+t.length)})).sort((function(e,t){return e.start-t.start}));if(!n.length)return a;var i=0;return function(t){for(;;){if(i>=n.length)return!1;var r=n[i];if(t.end<=r.start)return!1;if(e.startEndOverlapsWithStartEnd(t.pos,t.end,r.start,r.start+r.length))return!0;i++}};function a(){return!1}}(n.parseDiagnostics,r),n)}))}function _(r,n,i,a,o,s,c,u,l){var d,_,f,g,m=s.options,y=s.getRules,v=s.host,h=new t.FormattingContext(l,c,m),D=-1,x=[];if(o.advance(),o.isOnToken()){var b=l.getLineAndCharacterOfPosition(n.getStart(l)).line,S=b;n.decorators&&(S=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(n,l)).line),function n(i,a,s,c,p,y){if(!e.rangeOverlapsWithStartEnd(r,i.getStart(l),i.getEnd()))return;var v=T(i,s,p,y),h=a;e.forEachChild(i,(function(e){S(e,-1,i,v,s,c,!1)}),(function(e){E(e,i,s,v)}));for(;o.isOnToken();){var x=o.readTokenInfo(i);if(x.token.end>i.end)break;11!==i.kind?w(x,i,v,i):o.advance()}if(!i.parent&&o.isOnEOF()){var b=o.readEOFTokenRange();b.end<=i.end&&d&&F(b,l.getLineAndCharacterOfPosition(b.pos).line,i,d,f,_,a,v)}function S(a,s,c,u,d,_,p,f){var y=a.getStart(l),v=l.getLineAndCharacterOfPosition(y).line,x=v;a.decorators&&(x=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(a,l)).line);var b=-1;if(p&&e.rangeContainsRange(r,c)&&-1!==(b=function(r,n,i,a,o){if(e.rangeOverlapsWithStartEnd(a,r,n)||e.rangeContainsStartEnd(a,r,n)){if(-1!==o)return o}else{var s=l.getLineAndCharacterOfPosition(r).line,c=e.getLineStartPositionForPosition(r,l),u=t.SmartIndenter.findFirstNonWhitespaceColumn(c,r,l,m);if(s!==i||r===u){var d=t.SmartIndenter.getBaseIndentation(m);return d>u?d:u}}return-1}(y,a.end,d,r,s))&&(s=b),!e.rangeOverlapsWithStartEnd(r,a.pos,a.end))return a.endy){S.token.pos>y&&o.skipToStartOf(a);break}w(S,i,u,i)}if(!o.isOnToken())return s;if(e.isToken(a)){var S=o.readTokenInfo(a);if(11!==a.kind)return e.Debug.assert(S.token.end===a.end,\"Token end is child end\"),w(S,i,u,a),s}var E=161===a.kind?v:_,T=function(e,r,n,i,a,o){var s=t.SmartIndenter.shouldIndentChildNode(m,e)?m.indentSize:0;return o===r?{indentation:r===g?D:a.getIndentation(),delta:Math.min(m.indentSize,a.getDelta(e)+s)}:-1===n?20===e.kind&&r===g?{indentation:D,delta:a.getDelta(e)}:t.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(i,e,r,l)||t.SmartIndenter.argumentStartsOnSameLineAsPreviousArgument(i,e,r,l)?{indentation:a.getIndentation(),delta:s}:{indentation:a.getIndentation()+a.getDelta(e),delta:s}:{indentation:n,delta:s}}(a,v,b,i,u,E);if(n(a,h,v,x,T.indentation,T.delta),11===a.kind){var C={pos:a.getStart(),end:a.getEnd()};if(C.pos!==C.end){var k=c.getChildren(l),A=k[e.findIndex(k,(function(e){return e.pos===a.pos}))-1];if(A&&l.getLineAndCharacterOfPosition(C.end).line!==l.getLineAndCharacterOfPosition(A.end).line){var F=l.getLineAndCharacterOfPosition(C.pos).line===l.getLineAndCharacterOfPosition(A.end).line;P(C,T.indentation,F,!1,!0)}}}return h=i,f&&199===c.kind&&-1===s&&(s=T.indentation),s}function E(r,n,a,s){e.Debug.assert(e.isNodeArray(r));var c=function(e,t){switch(e.kind){case 166:case 251:case 208:case 165:case 164:case 209:if(e.typeParameters===t)return 29;if(e.parameters===t)return 20;break;case 203:case 204:if(e.typeArguments===t)return 29;if(e.arguments===t)return 20;break;case 173:if(e.typeArguments===t)return 29;break;case 177:return 18}return 0}(n,r),u=s,d=a;if(0!==c)for(;o.isOnToken();){if((v=o.readTokenInfo(n)).token.end>r.pos)break;if(v.token.kind===c){d=l.getLineAndCharacterOfPosition(v.token.pos).line,w(v,n,s,n);var _=void 0;if(-1!==D)_=D;else{var p=e.getLineStartPositionForPosition(v.token.pos,l);_=t.SmartIndenter.findFirstNonWhitespaceColumn(p,v.token.pos,l,m)}u=T(n,a,_,m.indentSize)}else w(v,n,s,n)}for(var f=-1,g=0;g0){var E=p(S,m);M(x,b.character,E)}else O(x,b.character)}}}else i||N(r.pos,n,!1)}function w(t,r,n){for(var i=t;io)){var s=I(a,o);-1!==s&&(e.Debug.assert(s===a||!e.isWhiteSpaceSingleLine(l.text.charCodeAt(s-1))),O(s,o+1-s))}}}function I(t,r){for(var n=r;n>=t&&e.isWhiteSpaceSingleLine(l.text.charCodeAt(n));)n--;return n!==r?n+1:-1}function O(t,r){r&&x.push(e.createTextChangeFromStartLength(t,r,\"\"))}function M(t,r,n){(r||n)&&x.push(e.createTextChangeFromStartLength(t,r,n))}}function p(t,r){if((!i||i.tabSize!==r.tabSize||i.indentSize!==r.indentSize)&&(i={tabSize:r.tabSize,indentSize:r.indentSize},a=o=void 0),r.convertTabsToSpaces){var n=void 0,s=Math.floor(t/r.indentSize),c=t%r.indentSize;return o||(o=[]),void 0===o[s]?(n=e.repeatString(\" \",r.indentSize*s),o[s]=n):n=o[s],c?n+e.repeatString(\" \",c):n}var u=Math.floor(t/r.tabSize),l=t-u*r.tabSize,d=void 0;return a||(a=[]),void 0===a[u]?a[u]=d=e.repeatString(\"\\t\",u):d=a[u],l?d+e.repeatString(\" \",l):d}t.createTextRangeWithKind=function(t,r,n){var i={pos:t,end:r,kind:n};return e.Debug.isDebugging&&Object.defineProperty(i,\"__debugKind\",{get:function(){return e.Debug.formatSyntaxKind(n)}}),i},function(e){e[e.Unknown=-1]=\"Unknown\"}(r||(r={})),t.formatOnEnter=function(t,r,n){var i=r.getLineAndCharacterOfPosition(t).line;if(0===i)return[];for(var a=e.getEndLinePosition(i,r);e.isWhiteSpaceSingleLine(r.text.charCodeAt(a));)a--;return e.isLineBreak(r.text.charCodeAt(a))&&a--,d({pos:e.getStartPositionOfLine(i-1,r),end:a+1},r,n,2)},t.formatOnSemicolon=function(e,t,r){return l(c(s(e,26,t)),t,r,3)},t.formatOnOpeningCurly=function(t,r,n){var i=s(t,18,r);if(!i)return[];var a=c(i.parent);return d({pos:e.getLineStartPositionForPosition(a.getStart(r),r),end:t},r,n,4)},t.formatOnClosingCurly=function(e,t,r){return l(c(s(e,19,t)),t,r,5)},t.formatDocument=function(e,t){return d({pos:0,end:e.text.length},e,t,0)},t.formatSelection=function(t,r,n,i){return d({pos:e.getLineStartPositionForPosition(t,n),end:r},n,i,1)},t.formatNodeGivenIndentation=function(e,r,n,i,a,o){var s={pos:0,end:r.text.length};return t.getFormattingScanner(r.text,n,s.pos,s.end,(function(t){return _(s,e,i,a,t,o,1,(function(e){return!1}),r)}))},function(e){e[e.None=0]=\"None\",e[e.LineAdded=1]=\"LineAdded\",e[e.LineRemoved=2]=\"LineRemoved\"}(n||(n={})),t.getRangeOfEnclosingComment=function(t,r,n,i){void 0===i&&(i=e.getTokenAtPosition(t,r));var a=e.findAncestor(i,e.isJSDoc);if(a&&(i=a.parent),!(i.getStart(t)<=r&&rr.end}var g=s(l,e,i),y=g.line===t.line||_(l,e,t.line,i);if(p){var v=m(e,i,u,!y);if(-1!==v)return v+n;if(-1!==(v=c(e,l,t,y,i,u)))return v+n}b(u,l,e,i,o)&&!y&&(n+=u.indentSize);var h=d(l,e,t.line,i);l=(e=l).parent,t=h?i.getLineAndCharacterOfPosition(e.getStart(i)):g}return n+a(u)}function s(e,t,r){var n=p(t,r),i=n?n.pos:e.getStart(r);return r.getLineAndCharacterOfPosition(i)}function c(t,r,n,i,a,o){return(e.isDeclaration(t)||e.isStatementButNotDeclaration(t))&&(297===r.kind||!i)?v(n,a,o):-1}function u(t,r,n,i){var a=e.findNextToken(t,r,i);return a?18===a.kind?1:19===a.kind&&n===l(a,i).line?2:0:0}function l(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function d(t,r,n,i){if(!e.isCallExpression(t)||!e.contains(t.arguments,r))return!1;var a=t.expression.getEnd();return e.getLineAndCharacterOfPosition(i,a).line===n}function _(t,r,n,i){if(234===t.kind&&t.elseStatement===r){var a=e.findChildOfKind(t,90,i);return e.Debug.assert(void 0!==a),l(a,i).line===n}return!1}function p(e,t){return e.parent&&f(e.getStart(t),e.getEnd(),e.parent,t)}function f(t,r,n,i){switch(n.kind){case 173:return a(n.typeArguments);case 200:return a(n.properties);case 199:return a(n.elements);case 177:return a(n.members);case 251:case 208:case 209:case 165:case 164:case 169:case 166:case 175:case 170:return a(n.typeParameters)||a(n.parameters);case 252:case 221:case 253:case 254:case 330:return a(n.typeParameters);case 204:case 203:return a(n.typeArguments)||a(n.arguments);case 250:return a(n.declarations);case 264:case 268:return a(n.elements);case 196:case 197:return a(n.elements)}function a(a){return a&&e.rangeContainsStartEnd(function(e,t,r){for(var n=e.getChildren(r),i=1;i=0&&r=0;o--)if(27!==t[o].kind){if(n.getLineAndCharacterOfPosition(t[o].end).line!==a.line)return v(a,n,i);a=l(t[o],n)}return-1}function v(e,t,r){var n=t.getPositionOfLineAndCharacter(e.line,0);return D(n,n+e.character,t,r)}function h(t,r,n,i){for(var a=0,o=0,s=t;sn.text.length)return a(i);if(i.indentStyle===e.IndentStyle.None)return 0;var c=e.findPrecedingToken(r,n,void 0,!0),d=t.getRangeOfEnclosingComment(n,r,c||null);if(d&&3===d.kind)return function(t,r,n,i){var a=e.getLineAndCharacterOfPosition(t,r).line-1,o=e.getLineAndCharacterOfPosition(t,i.pos).line;if(e.Debug.assert(o>=0),a<=o)return D(e.getStartPositionOfLine(o,t),r,t,n);var s=e.getStartPositionOfLine(a,t),c=h(s,r,t,n),u=c.column,l=c.character;if(0===u)return u;return 42===t.text.charCodeAt(s+l)?u-1:u}(n,r,i,d);if(!c)return a(i);if(e.isStringOrRegularExpressionOrTemplateLiteral(c.kind)&&c.getStart(n)<=r&&r0;){var a=t.text.charCodeAt(i);if(!e.isWhiteSpaceLike(a))break;i--}return D(e.getLineStartPositionForPosition(i,t),i,t,n)}(n,r,i);if(27===c.kind&&216!==c.parent.kind){var p=function(t,r,n){var i=e.findListItemInfo(t);return i&&i.listItemIndex>0?y(i.list.getChildren(),i.listItemIndex-1,r,n):-1}(c,n,i);if(-1!==p)return p}var v=function(e,t,r){return t&&f(e,e,t,r)}(r,c.parent,n);return v&&!e.rangeContainsRange(v,c)?g(v,n,i)+i.indentSize:function(t,r,n,i,s,c){var d,_=n;for(;_;){if(e.positionBelongsToNode(_,r,t)&&b(c,_,d,t,!0)){var p=l(_,t),f=u(n,_,i,t);return o(_,p,void 0,0!==f?s&&2===f?c.indentSize:0:i!==p.line?c.indentSize:0,t,!0,c)}var g=m(_,t,c,!0);if(-1!==g)return g;d=_,_=_.parent}return a(c)}(n,r,c,_,s,i)},r.getIndentationForNode=function(e,t,r,n){var i=r.getLineAndCharacterOfPosition(e.getStart(r));return o(e,i,t,0,r,!1,n)},r.getBaseIndentation=a,function(e){e[e.Unknown=0]=\"Unknown\",e[e.OpenBrace=1]=\"OpenBrace\",e[e.CloseBrace=2]=\"CloseBrace\"}(i||(i={})),r.isArgumentAndStartLineOverlapsExpressionBeingCalled=d,r.childStartsOnTheSameLineWithElseInIfStatement=_,r.argumentStartsOnSameLineAsPreviousArgument=function(t,r,n,i){if(e.isCallOrNewExpression(t)){if(!t.arguments)return!1;var a=e.find(t.arguments,(function(e){return e.pos===r.pos}));if(!a)return!1;var o=t.arguments.indexOf(a);if(0===o)return!1;var s=t.arguments[o-1];if(n===e.getLineAndCharacterOfPosition(i,s.getEnd()).line)return!0}return!1},r.getContainingList=p,r.findFirstNonWhitespaceCharacterAndColumn=h,r.findFirstNonWhitespaceColumn=D,r.nodeWillIndentChild=x,r.shouldIndentChildNode=b}(t.SmartIndenter||(t.SmartIndenter={}))}(e.formatting||(e.formatting={}))}(u||(u={})),function(e){!function(t){function i(t){var r=t.__pos;return e.Debug.assert(\"number\"==typeof r),r}function a(t,r){e.Debug.assert(\"number\"==typeof r),t.__pos=r}function o(t){var r=t.__end;return e.Debug.assert(\"number\"==typeof r),r}function s(t,r){e.Debug.assert(\"number\"==typeof r),t.__end=r}var c,u;function l(t,r){return e.skipTrivia(t,r,!1,!0)}!function(e){e[e.Exclude=0]=\"Exclude\",e[e.IncludeAll=1]=\"IncludeAll\",e[e.JSDoc=2]=\"JSDoc\",e[e.StartLine=3]=\"StartLine\"}(c=t.LeadingTriviaOption||(t.LeadingTriviaOption={})),function(e){e[e.Exclude=0]=\"Exclude\",e[e.ExcludeWhitespace=1]=\"ExcludeWhitespace\",e[e.Include=2]=\"Include\"}(u=t.TrailingTriviaOption||(t.TrailingTriviaOption={}));var d,_={leadingTriviaOption:c.Exclude,trailingTriviaOption:u.Exclude};function p(e,t,r,n){return{pos:f(e,t,n),end:g(e,r,n)}}function f(t,r,n){var i=n.leadingTriviaOption;if(i===c.Exclude)return r.getStart(t);if(i===c.StartLine)return e.getLineStartPositionForPosition(r.getStart(t),t);if(i===c.JSDoc){var a=e.getJSDocCommentRanges(r,t.text);if(null==a?void 0:a.length)return e.getLineStartPositionForPosition(a[0].pos,t)}var o=r.getFullStart(),s=r.getStart(t);if(o===s)return s;var u=e.getLineStartPositionForPosition(o,t);if(e.getLineStartPositionForPosition(s,t)===u)return i===c.IncludeAll?o:s;var d=o>0?1:0,_=e.getStartPositionOfLine(e.getLineOfLocalPosition(t,u)+d,t);return _=l(t.text,_),e.getStartPositionOfLine(e.getLineOfLocalPosition(t,_),t)}function g(t,r,n){var i,a=r.end,o=n.trailingTriviaOption;if(o===u.Exclude)return a;if(o===u.ExcludeWhitespace){var s=e.concatenate(e.getTrailingCommentRanges(t.text,a),e.getLeadingCommentRanges(t.text,a)),c=null===(i=null==s?void 0:s[s.length-1])||void 0===i?void 0:i.end;return c||a}var l=e.skipTrivia(t.text,a,!0);return l===a||o!==u.Include&&!e.isLineBreak(t.text.charCodeAt(l-1))?a:l}function m(e,t){return!!t&&!!e.parent&&(27===t.kind||26===t.kind&&200===e.parent.kind)}!function(e){e[e.Remove=0]=\"Remove\",e[e.ReplaceWithSingleNode=1]=\"ReplaceWithSingleNode\",e[e.ReplaceWithMultipleNodes=2]=\"ReplaceWithMultipleNodes\",e[e.Text=3]=\"Text\"}(d||(d={})),t.isThisTypeAnnotatable=function(t){return e.isFunctionExpression(t)||e.isFunctionDeclaration(t)};var y,v,h=function(){function t(t,r){this.newLineCharacter=t,this.formatContext=r,this.changes=[],this.newFiles=[],this.classesWithNodesInsertedAtStart=new e.Map,this.deletedNodes=[]}return t.fromContext=function(r){return new t(e.getNewLineOrDefaultFromHost(r.host,r.formatContext.options),r.formatContext)},t.with=function(e,r){var n=t.fromContext(e);return r(n),n.getChanges()},t.prototype.pushRaw=function(t,r){e.Debug.assertEqual(t.fileName,r.fileName);for(var n=0,i=r.textChanges;n=t.getLineAndCharacterOfPosition(u.range.end).line+2)break}if(t.statements.length)if(void 0===l&&(l=t.getLineAndCharacterOfPosition(t.statements[0].getStart()).line),l\",joiner:\", \"})},t.prototype.getOptionsForInsertNodeBefore=function(t,r,n){return e.isStatement(t)||e.isClassElement(t)?{suffix:n?this.newLineCharacter+this.newLineCharacter:this.newLineCharacter}:e.isVariableDeclaration(t)?{suffix:\", \"}:e.isParameter(t)?e.isParameter(r)?{suffix:\", \"}:{}:e.isStringLiteral(t)&&e.isImportDeclaration(t.parent)||e.isNamedImports(t)?{suffix:\", \"}:e.isImportSpecifier(t)?{suffix:\",\"+(n?this.newLineCharacter:\" \")}:e.Debug.failBadSyntaxKind(t)},t.prototype.insertNodeAtConstructorStart=function(t,n,i){var a=e.firstOrUndefined(n.body.statements);a&&n.body.multiLine?this.insertNodeBefore(t,a,i):this.replaceConstructorBody(t,n,r([i],n.body.statements))},t.prototype.insertNodeAtConstructorEnd=function(t,n,i){var a=e.lastOrUndefined(n.body.statements);a&&n.body.multiLine?this.insertNodeAfter(t,a,i):this.replaceConstructorBody(t,n,r(n.body.statements,[i]))},t.prototype.replaceConstructorBody=function(t,r,n){this.replaceNode(t,r.body,e.factory.createBlock(n,!0))},t.prototype.insertNodeAtEndOfScope=function(t,r,n){var i=f(t,r.getLastToken(),{});this.insertNodeAt(t,i,n,{prefix:e.isLineBreak(t.text.charCodeAt(r.getLastToken().pos))?this.newLineCharacter:this.newLineCharacter+this.newLineCharacter,suffix:this.newLineCharacter})},t.prototype.insertNodeAtClassStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)},t.prototype.insertNodeAtObjectStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)},t.prototype.insertNodeAtStartWorker=function(e,t,r){var n,i=null!==(n=this.guessIndentationFromExistingMembers(e,t))&&void 0!==n?n:this.computeIndentationForNewMember(e,t);this.insertNodeAt(e,x(t).pos,r,this.getInsertNodeAtStartInsertOptions(e,t,i))},t.prototype.guessIndentationFromExistingMembers=function(t,r){for(var n,i=r,a=0,o=x(r);a=0;n--){var i=r[n],a=i.span,o=i.newText;t=\"\"+t.substring(0,a.start)+o+t.substring(e.textSpanEnd(a))}return t}function S(t){var r=e.visitEachChild(t,S,e.nullTransformationContext,E,S),n=e.nodeIsSynthesized(r)?r:Object.create(r);return e.setTextRangePosEnd(n,i(t),o(t)),n}function E(t,r,n,a,s){var c=e.visitNodes(t,r,n,a,s);if(!c)return c;var u=c===t?e.factory.createNodeArray(c.slice(0)):c;return e.setTextRangePosEnd(u,i(t),o(t)),u}function T(t,r){return!(e.isInComment(t,r)||e.isInString(t,r)||e.isInTemplateString(t,r)||e.isInJSXText(t,r))}function C(e,t,r,n){void 0===n&&(n={leadingTriviaOption:c.IncludeAll});var i=f(t,r,n),a=g(t,r,n);e.deleteRange(t,{pos:i,end:a})}function k(t,r,n,i){var a=e.Debug.checkDefined(e.formatting.SmartIndenter.getContainingList(i,n)),o=e.indexOfNode(a,i);e.Debug.assert(-1!==o),1!==a.length?(e.Debug.assert(!r.has(i),\"Deleting a node twice\"),r.add(i),t.deleteRange(n,{pos:D(n,i),end:o===a.length-1?g(n,i,{}):D(n,a[o+1])})):C(t,n,i)}t.ChangeTracker=h,t.getNewFileText=function(e,t,r,n){return y.newFileChangesWorker(void 0,t,e,r,n)},function(t){function r(t,r,n,a,o){var s=n.map((function(e){return 4===e?\"\":i(e,t,a).text})).join(a),c=e.createSourceFile(\"any file name\",s,99,!0,r);return b(s,e.formatting.formatDocument(c,o))+a}function i(t,r,n){var i=function(t){var r=0,n=e.createTextWriter(t);function i(t,i){if(i||!function(t){return e.skipTrivia(t,0)===t.length}(t)){r=n.getTextPos();for(var a=0;e.isWhiteSpaceLike(t.charCodeAt(t.length-a-1));)a++;r-=a}}function o(e){n.write(e),i(e,!1)}function c(e){n.writeComment(e)}function u(e){n.writeKeyword(e),i(e,!1)}function l(e){n.writeOperator(e),i(e,!1)}function d(e){n.writePunctuation(e),i(e,!1)}function _(e){n.writeTrailingSemicolon(e),i(e,!1)}function p(e){n.writeParameter(e),i(e,!1)}function f(e){n.writeProperty(e),i(e,!1)}function g(e){n.writeSpace(e),i(e,!1)}function m(e){n.writeStringLiteral(e),i(e,!1)}function y(e,t){n.writeSymbol(e,t),i(e,!1)}function v(e){n.writeLine(e)}function h(){n.increaseIndent()}function D(){n.decreaseIndent()}function x(){return n.getText()}function b(e){n.rawWrite(e),i(e,!1)}function S(e){n.writeLiteral(e),i(e,!0)}function E(){return n.getTextPos()}function T(){return n.getLine()}function C(){return n.getColumn()}function k(){return n.getIndent()}function A(){return n.isAtStartOfLine()}function F(){n.clear(),r=0}return{onEmitNode:function(e,t,n){t&&a(t,r),n(e,t),t&&s(t,r)},onBeforeEmitNodeArray:function(e){e&&a(e,r)},onAfterEmitNodeArray:function(e){e&&s(e,r)},onBeforeEmitToken:function(e){e&&a(e,r)},onAfterEmitToken:function(e){e&&s(e,r)},write:o,writeComment:c,writeKeyword:u,writeOperator:l,writePunctuation:d,writeTrailingSemicolon:_,writeParameter:p,writeProperty:f,writeSpace:g,writeStringLiteral:m,writeSymbol:y,writeLine:v,increaseIndent:h,decreaseIndent:D,getText:x,rawWrite:b,writeLiteral:S,getTextPos:E,getLine:T,getColumn:C,getIndent:k,isAtStartOfLine:A,hasTrailingComment:function(){return n.hasTrailingComment()},hasTrailingWhitespace:function(){return n.hasTrailingWhitespace()},clear:F}}(n),o=\"\\n\"===n?1:0;return e.createPrinter({newLine:o,neverAsciiEscape:!0,preserveSourceNewlines:!0,terminateUnterminatedLiterals:!0},i).writeNode(4,t,r,i),{text:i.getText(),node:S(t)}}t.getTextChangesFromChanges=function(t,r,a,o){return e.mapDefined(e.group(t,(function(e){return e.sourceFile.path})),(function(t){for(var s=t[0].sourceFile,c=e.stableSort(t,(function(e,t){return e.range.pos-t.range.pos||e.range.end-t.range.end})),u=function(t){e.Debug.assert(c[t].range.end<=c[t+1].range.pos,\"Changes overlap\",(function(){return JSON.stringify(c[t].range)+\" and \"+JSON.stringify(c[t+1].range)}))},l=0;l0?{fileName:s.fileName,textChanges:_}:void 0}))},t.newFileChanges=function(t,n,i,a,o){var s=r(t,e.getScriptKindFromFileName(n),i,a,o);return{fileName:n,textChanges:[e.createTextChange(e.createTextSpan(0,0),s)],isNewFile:!0}},t.newFileChangesWorker=r,t.getNonformattedText=i}(y||(y={})),t.applyChanges=b,t.isValidLocationToAddComment=T,function(t){function r(t,r,n){if(n.parent.name){var i=e.Debug.checkDefined(e.getTokenAtPosition(r,n.pos-1));t.deleteRange(r,{pos:i.getStart(r),end:n.end})}else{C(t,r,e.getAncestor(n,261))}}t.deleteDeclaration=function(t,n,i,a){switch(a.kind){case 160:var o=a.parent;e.isArrowFunction(o)&&1===o.parameters.length&&!e.findChildOfKind(o,20,i)?t.replaceNodeWithText(i,a,\"()\"):k(t,n,i,a);break;case 261:case 260:C(t,i,a,{leadingTriviaOption:i.imports.length&&a===e.first(i.imports).parent||a===e.find(i.statements,e.isAnyImportSyntax)?c.Exclude:e.hasJSDocNodes(a)?c.JSDoc:c.StartLine});break;case 198:var s=a.parent;197===s.kind&&a!==e.last(s.elements)?C(t,i,a):k(t,n,i,a);break;case 249:!function(t,r,n,i){var a=i.parent;if(287===a.kind)return void t.deleteNodeRange(n,e.findChildOfKind(a,20,n),e.findChildOfKind(a,21,n));if(1!==a.declarations.length)return void k(t,r,n,i);var o=a.parent;switch(o.kind){case 239:case 238:t.replaceNode(n,i,e.factory.createObjectLiteralExpression());break;case 237:C(t,n,a);break;case 232:C(t,n,o,{leadingTriviaOption:e.hasJSDocNodes(o)?c.JSDoc:c.StartLine});break;default:e.Debug.assertNever(o)}}(t,n,i,a);break;case 159:k(t,n,i,a);break;case 265:var l=a.parent;1===l.elements.length?r(t,i,l):k(t,n,i,a);break;case 263:r(t,i,a);break;case 26:C(t,i,a,{trailingTriviaOption:u.Exclude});break;case 97:C(t,i,a,{leadingTriviaOption:c.Exclude});break;case 252:case 251:C(t,i,a,{leadingTriviaOption:e.hasJSDocNodes(a)?c.JSDoc:c.StartLine});break;default:e.isImportClause(a.parent)&&a.parent.name===a?function(t,r,n){if(n.namedBindings){var i=n.name.getStart(r),a=e.getTokenAtPosition(r,n.name.end);if(a&&27===a.kind){var o=e.skipTrivia(r.text,a.end,!1,!0);t.deleteRange(r,{pos:i,end:o})}else C(t,r,n.name)}else C(t,r,n.parent)}(t,i,a.parent):e.isCallExpression(a.parent)&&e.contains(a.parent.arguments,a)?k(t,n,i,a):C(t,i,a)}}}(v||(v={})),t.deleteNode=C}(e.textChanges||(e.textChanges={}))}(u||(u={})),function(e){!function(t){var i=e.createMultiMap(),a=new e.Map;function o(t){return e.isArray(t)?e.formatStringFromArgs(e.getLocaleSpecificMessage(t[0]),t.slice(1)):e.getLocaleSpecificMessage(t)}function c(e,t,r,n,i,a){return{fixName:e,description:t,changes:r,fixId:n,fixAllDescription:i,commands:a?[a]:void 0}}function u(e,t){return{changes:e,commands:t}}function l(t,r,n){for(var i=0,a=d(t);i1)break}var l=a<2;return function(e){var t=e.fixId,r=e.fixAllDescription,i=s(e,[\"fixId\",\"fixAllDescription\"]);return l?i:n(n({},i),{fixId:t,fixAllDescription:r})}}(i,r))}))},t.getAllFixes=function(t){return a.get(e.cast(t.fixId,e.isString)).getAllCodeActions(t)},t.createCombinedCodeActions=u,t.createFileTextChanges=function(e,t){return{fileName:e,textChanges:t}},t.codeFixAll=function(t,r,n){var i=[];return u(e.textChanges.ChangeTracker.with(t,(function(e){return l(t,r,(function(t){return n(e,t,i)}))})),0===i.length?void 0:i)},t.eachDiagnostic=l}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){var t,r;t=e.refactor||(e.refactor={}),r=new e.Map,t.registerRefactor=function(e,t){r.set(e,t)},t.getApplicableRefactors=function(t){return e.arrayFrom(e.flatMapIterator(r.values(),(function(e){return t.cancellationToken&&t.cancellationToken.isCancellationRequested()?void 0:e.getAvailableActions(t)})))},t.getEditsForRefactor=function(e,t,n){var i=r.get(t);return i&&i.getEditsForAction(e,n)}}(u||(u={})),function(e){!function(t){var r=\"addConvertToUnknownForNonOverlappingTypes\",n=[e.Diagnostics.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n),a=e.Debug.checkDefined(e.findAncestor(i,(function(t){return e.isAsExpression(t)||e.isTypeAssertionExpression(t)})),\"Expected to find an assertion expression\"),o=e.isAsExpression(a)?e.factory.createAsExpression(a.expression,e.factory.createKeywordTypeNode(152)):e.factory.createTypeAssertion(e.factory.createKeywordTypeNode(152),a.expression);t.replaceNode(r,a.expression,o)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Add_unknown_conversion_for_non_overlapping_types,r,e.Diagnostics.Add_unknown_to_all_conversions_of_non_overlapping_types)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){t.registerCodeFix({errorCodes:[e.Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code],getCodeActions:function(r){var n=r.sourceFile,i=e.textChanges.ChangeTracker.with(r,(function(t){var r=e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports([]),void 0);t.insertNodeAtEndOfScope(n,n,r)}));return[t.createCodeFixActionWithoutFixAll(\"addEmptyExportDeclaration\",i,e.Diagnostics.Add_export_to_make_this_file_into_a_module)]}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"addMissingAsync\",n=[e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Type_0_is_not_comparable_to_type_1.code];function i(n,i,a,o){var s=a((function(t){return function(t,r,n,i){if(i&&i.has(e.getNodeId(n)))return;null==i||i.add(e.getNodeId(n));var a=e.factory.updateModifiers(e.getSynthesizedDeepClone(n,!0),e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(256|e.getSyntacticModifierFlags(n))));t.replaceNode(r,n,a)}(t,n.sourceFile,i,o)}));return t.createCodeFixAction(r,s,e.Diagnostics.Add_async_modifier_to_containing_function,r,e.Diagnostics.Add_all_missing_async_modifiers)}function a(t,r){if(r){var n=e.getTokenAtPosition(t,r.start);return e.findAncestor(n,(function(n){return n.getStart(t)e.textSpanEnd(r)?\"quit\":(e.isArrowFunction(n)||e.isMethodDeclaration(n)||e.isFunctionExpression(n)||e.isFunctionDeclaration(n))&&e.textSpansEqual(r,e.createTextSpanFromNode(n,t))}))}}t.registerCodeFix({fixIds:[r],errorCodes:n,getCodeActions:function(t){var r=t.sourceFile,n=t.errorCode,o=t.cancellationToken,s=t.program,c=t.span,u=e.find(s.getDiagnosticsProducingTypeChecker().getDiagnostics(r,o),function(t,r){return function(n){var i=n.start,a=n.length,o=n.relatedInformation,s=n.code;return e.isNumber(i)&&e.isNumber(a)&&e.textSpansEqual({start:i,length:a},t)&&s===r&&!!o&&e.some(o,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code}))}}(c,n)),l=a(r,u&&u.relatedInformation&&e.find(u.relatedInformation,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code})));if(l){return[i(t,l,(function(r){return e.textChanges.ChangeTracker.with(t,r)}))]}},getAllCodeActions:function(r){var o=r.sourceFile,s=new e.Set;return t.codeFixAll(r,n,(function(t,n){var c=n.relatedInformation&&e.find(n.relatedInformation,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code})),u=a(o,c);if(u){return i(r,u,(function(e){return e(t),[]}),s)}}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var n=\"addMissingAwait\",i=e.Diagnostics.Property_0_does_not_exist_on_type_1.code,a=[e.Diagnostics.This_expression_is_not_callable.code,e.Diagnostics.This_expression_is_not_constructable.code],o=r([e.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.Operator_0_cannot_be_applied_to_type_1.code,e.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2.code,e.Diagnostics.This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap.code,e.Diagnostics.Type_0_is_not_an_array_type.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,i],a);function s(r,n,i,a,s,c){var u=r.sourceFile,_=r.program,p=r.cancellationToken,f=function(t,r,n,i,a){var s=function(t,r){if(e.isPropertyAccessExpression(t.parent)&&e.isIdentifier(t.parent.expression))return{identifiers:[t.parent.expression],isCompleteFix:!0};if(e.isIdentifier(t))return{identifiers:[t],isCompleteFix:!0};if(e.isBinaryExpression(t)){for(var n=void 0,i=!0,a=0,o=[t.left,t.right];ae.textSpanEnd(n)?\"quit\":e.isExpression(r)&&e.textSpansEqual(n,e.createTextSpanFromNode(r,t))}));return s&&function(t,r,n,i,a){var o=a.getDiagnosticsProducingTypeChecker().getDiagnostics(t,i);return e.some(o,(function(t){var i=t.start,a=t.length,o=t.relatedInformation,s=t.code;return e.isNumber(i)&&e.isNumber(a)&&e.textSpansEqual({start:i,length:a},n)&&s===r&&!!o&&e.some(o,(function(t){return t.code===e.Diagnostics.Did_you_forget_to_use_await.code}))}))}(t,r,n,i,a)&&l(s)?s:void 0}function l(t){return 32768&t.kind||!!e.findAncestor(t,(function(t){return t.parent&&e.isArrowFunction(t.parent)&&t.parent.body===t||e.isBlock(t)&&(251===t.parent.kind||208===t.parent.kind||209===t.parent.kind||165===t.parent.kind)}))}function d(t,r,n,o,s,c){if(e.isBinaryExpression(s))for(var u=0,l=[s.left,s.right];u0)return[t.createCodeFixAction(r,a,e.Diagnostics.Add_const_to_unresolved_variable,r,e.Diagnostics.Add_const_to_all_unresolved_variables)]},fixIds:[r],getAllCodeActions:function(r){var a=new e.Set;return t.codeFixAll(r,n,(function(e,t){return i(e,t.file,t.start,r.program,a)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"addMissingDeclareProperty\",n=[e.Diagnostics.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration.code];function i(t,r,n,i){var a=e.getTokenAtPosition(r,n);if(e.isIdentifier(a)){var o=a.parent;163!==o.kind||i&&!e.tryAddToSet(i,o)||t.insertModifierBefore(r,133,o)}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));if(a.length>0)return[t.createCodeFixAction(r,a,e.Diagnostics.Prefix_with_declare,r,e.Diagnostics.Prefix_all_incorrect_property_declarations_with_declare)]},fixIds:[r],getAllCodeActions:function(r){var a=new e.Set;return t.codeFixAll(r,n,(function(e,t){return i(e,t.file,t.start,a)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"addMissingInvocationForDecorator\",n=[e.Diagnostics._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n),a=e.findAncestor(i,e.isDecorator);e.Debug.assert(!!a,\"Expected position to be owned by a decorator.\");var o=e.factory.createCallExpression(a.expression,void 0,void 0);t.replaceNode(r,a.expression,o)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Call_decorator_expression,r,e.Diagnostics.Add_to_all_uncalled_decorators)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"addNameToNamelessParameter\",n=[e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n);if(!e.isIdentifier(i))return e.Debug.fail(\"add-name-to-nameless-parameter operates on identifiers, but got a \"+e.Debug.formatSyntaxKind(i.kind));var a=i.parent;if(!e.isParameter(a))return e.Debug.fail(\"Tried to add a parameter name to a non-parameter: \"+e.Debug.formatSyntaxKind(i.kind));var o=a.parent.parameters.indexOf(a);e.Debug.assert(!a.type,\"Tried to add a parameter name to a parameter that already had one.\"),e.Debug.assert(o>-1,\"Parameter not found in parent parameter list.\");var s=e.factory.createParameterDeclaration(void 0,a.modifiers,a.dotDotDotToken,\"arg\"+o,a.questionToken,e.factory.createTypeReferenceNode(i,void 0),a.initializer);t.replaceNode(r,i,s)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Add_parameter_name,r,e.Diagnostics.Add_names_to_all_parameters_without_names)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"annotateWithTypeFromJSDoc\",n=[e.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types.code];function i(t,r){var n=e.getTokenAtPosition(t,r);return e.tryCast(e.isParameter(n.parent)?n.parent.parent:n.parent,a)}function a(t){return function(t){return e.isFunctionLikeDeclaration(t)||249===t.kind||162===t.kind||163===t.kind}(t)&&o(t)}function o(t){return e.isFunctionLikeDeclaration(t)?t.parameters.some(o)||!t.type&&!!e.getJSDocReturnType(t):!t.type&&!!e.getJSDocType(t)}function s(t,r,n){if(e.isFunctionLikeDeclaration(n)&&(e.getJSDocReturnType(n)||n.parameters.some((function(t){return!!e.getJSDocType(t)})))){if(!n.typeParameters){var i=e.getJSDocTypeParameterDeclarations(n);i.length&&t.insertTypeParameters(r,n,i)}var a=e.isArrowFunction(n)&&!e.findChildOfKind(n,20,r);a&&t.insertNodeBefore(r,e.first(n.parameters),e.factory.createToken(20));for(var o=0,s=n.parameters;o1?(t.delete(r,c),t.insertNodeAfter(r,l,u)):t.replaceNode(r,l,u)}}function d(n){var i=[];return n.members&&n.members.forEach((function(e,n){if(\"constructor\"!==n){var a=s(e,void 0);a&&i.push.apply(i,a)}else t.delete(r,e.valueDeclaration.parent)})),n.exports&&n.exports.forEach((function(t){if(\"prototype\"===t.name){var r=t.declarations[0];if(1===t.declarations.length&&e.isPropertyAccessExpression(r)&&e.isBinaryExpression(r.parent)&&62===r.parent.operatorToken.kind&&e.isObjectLiteralExpression(r.parent.right))(n=s(r.parent.right.symbol,void 0))&&i.push.apply(i,n)}else{var n;(n=s(t,[e.factory.createToken(123)]))&&i.push.apply(i,n)}})),i;function s(n,i){var s=[];if(!(8192&n.flags||4096&n.flags))return s;var c,u,l=n.valueDeclaration,d=l.parent,_=d.right;if(c=l,u=_,!(e.isPropertyAccessExpression(c)?o(c)||e.isFunctionLike(u):e.every(c.properties,(function(t){return!!(e.isMethodDeclaration(t)||e.isGetOrSetAccessorDeclaration(t)||e.isPropertyAssignment(t)&&e.isFunctionExpression(t.initializer)&&t.name||o(t))}))))return s;var p=d.parent&&233===d.parent.kind?d.parent:d;if(t.delete(r,p),!_)return s.push(e.factory.createPropertyDeclaration([],i,n.name,void 0,void 0,void 0)),s;if(e.isPropertyAccessExpression(l)&&(e.isFunctionExpression(_)||e.isArrowFunction(_)))return g(s,_,l.name);if(e.isObjectLiteralExpression(_))return e.flatMap(_.properties,(function(t){return e.isMethodDeclaration(t)||e.isGetOrSetAccessorDeclaration(t)?s.concat(t):e.isPropertyAssignment(t)&&e.isFunctionExpression(t.initializer)?g(s,t.initializer,t.name):o(t)?s:[]}));if(e.isSourceFileJS(r))return s;if(!e.isPropertyAccessExpression(l))return s;var f=e.factory.createPropertyDeclaration(void 0,i,l.name,void 0,void 0,_);return e.copyLeadingComments(d.parent,f,r),s.push(f),s;function g(t,n,o){return e.isFunctionExpression(n)?function(t,n,o){var s=e.concatenate(i,a(n,129)),c=e.factory.createMethodDeclaration(void 0,s,void 0,o,void 0,void 0,n.parameters,void 0,n.body);return e.copyLeadingComments(d,c,r),t.concat(c)}(t,n,o):function(t,n,o){var s,c=n.body;s=230===c.kind?c:e.factory.createBlock([e.factory.createReturnStatement(c)]);var u=e.concatenate(i,a(n,129)),l=e.factory.createMethodDeclaration(void 0,u,void 0,o,void 0,void 0,n.parameters,void 0,s);return e.copyLeadingComments(d,l,r),t.concat(l)}(t,n,o)}}}}function a(t,r){return e.filter(t.modifiers,(function(e){return e.kind===r}))}function o(t){return!!t.name&&!(!e.isIdentifier(t.name)||\"constructor\"!==t.name.text)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start,n.program.getTypeChecker())}));return[t.createCodeFixAction(r,a,e.Diagnostics.Convert_function_to_an_ES2015_class,r,e.Diagnostics.Convert_all_constructor_functions_to_classes)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){return i(t,r.file,r.start,e.program.getTypeChecker())}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var n,i=\"convertToAsyncFunction\",a=[e.Diagnostics.This_may_be_converted_to_an_async_function.code],o=!0;function s(t,r,n,i,a){var o,s=e.getTokenAtPosition(r,n);if(o=e.isIdentifier(s)&&e.isVariableDeclaration(s.parent)&&s.parent.initializer&&e.isFunctionLikeDeclaration(s.parent.initializer)?s.parent.initializer:e.tryCast(e.getContainingFunction(e.getTokenAtPosition(r,n)),e.isFunctionLikeDeclaration)){var d,p,f=new e.Map,g=e.isInJSFile(o),m=function(t,r){if(!t.body)return new e.Set;var n=new e.Set;return e.forEachChild(t.body,(function t(i){c(i,r,\"then\")?(n.add(e.getNodeId(i)),e.forEach(i.arguments,t)):c(i,r,\"catch\")?(n.add(e.getNodeId(i)),e.forEachChild(i,t)):u(i,r)?n.add(e.getNodeId(i)):e.forEachChild(i,t)})),n}(o,i),v=function(t,r,n,i){var a=new e.Map,o=e.createMultiMap();return e.forEachChild(t,(function t(s){if(e.isIdentifier(s)){var c=r.getSymbolAtLocation(s),u=c&&function(e,t){return e.valueDeclaration&&e.valueDeclaration.getSourceFile()===t}(c,i);if(c&&u){var d=y(r.getTypeAtLocation(s),r),_=e.getSymbolId(c).toString();if(!d||e.isParameter(s.parent)||e.isFunctionLikeDeclaration(s.parent)||n.has(_)){if(s.parent&&(e.isParameter(s.parent)||e.isVariableDeclaration(s.parent)||e.isBindingElement(s.parent))){var p=s.text,f=o.get(p);if(f&&f.some((function(e){return e!==c}))){var g=l(s,o);a.set(_,g.identifier),n.set(_,g),o.add(p,c)}else{var m=e.getSynthesizedDeepClone(s);n.set(_,b(m)),o.add(p,c)}}}else{var v=e.firstOrUndefined(d.parameters),h=v&&e.isParameter(v.valueDeclaration)&&e.tryCast(v.valueDeclaration.name,e.isIdentifier)||e.factory.createUniqueName(\"result\",16),D=l(h,o);n.set(_,D),o.add(h.text,c)}}}else e.forEachChild(s,t)})),e.getSynthesizedDeepCloneWithReplacements(t,!0,(function(t){if(e.isBindingElement(t)&&e.isIdentifier(t.name)&&e.isObjectBindingPattern(t.parent)){if((i=(n=r.getSymbolAtLocation(t.name))&&a.get(String(e.getSymbolId(n))))&&i.text!==(t.name||t.propertyName).getText())return e.factory.createBindingElement(t.dotDotDotToken,t.propertyName||t.name,i,t.initializer)}else if(e.isIdentifier(t)){var n,i;if(i=(n=r.getSymbolAtLocation(t))&&a.get(String(e.getSymbolId(n))))return e.factory.createIdentifier(i.text)}}))}(o,i,f,a.sourceFile),h=v.body&&e.isBlock(v.body)?(d=v.body,p=[],e.forEachReturnStatement(d,(function(t){e.isReturnStatementWithFixablePromiseHandler(t)&&p.push(t)})),p):e.emptyArray,D={checker:i,synthNamesMap:f,setOfExpressionsToReturn:m,isInJSFile:g};if(h.length){t.insertLastModifierBefore(r,129,o);for(var x=function(n){e.forEachChild(n,(function i(a){if(e.isCallExpression(a)){var o=_(a,D);t.replaceNodeWithNodes(r,n,o)}else e.isFunctionLike(a)||e.forEachChild(a,i)}))},S=0,E=h;S0)return O;if(k){I=m(a.checker,k,C);if(E(i,a))return f(I,null===(_=i.typeArguments)||void 0===_?void 0:_[0]);var M=p(r,I,void 0);return r&&r.types.push(k),M}return d();default:return d()}return e.emptyArray}function m(t,r,n){var i=e.getSynthesizedDeepClone(n);return t.getPromisedTypeOfPromise(r)?e.factory.createAwaitExpression(i):i}function y(t,r){var n=r.getSignaturesOfType(t,0);return e.lastOrUndefined(n)}function v(t,r,n){for(var i=[],a=0,o=r;a0)return}else e.isFunctionLike(a)||e.forEachChild(a,r)}))}return i}function h(t,r){var n,i=[];e.isFunctionLikeDeclaration(t)?t.parameters.length>0&&(n=function t(r){if(e.isIdentifier(r))return a(r);var n=e.flatMap(r.elements,(function(r){return e.isOmittedExpression(r)?[]:[t(r.name)]}));return function(t,r,n){void 0===r&&(r=e.emptyArray);void 0===n&&(n=[]);return{kind:1,bindingPattern:t,elements:r,types:n}}(r,n)}(t.parameters[0].name)):e.isIdentifier(t)&&(n=a(t));if(n&&(!(\"identifier\"in n)||\"undefined\"!==n.identifier.text))return n;function a(t){var n=function(e){return e.symbol?e.symbol:r.checker.getSymbolAtLocation(e)}(function(e){return e.original?e.original:e}(t));return n&&r.synthNamesMap.get(e.getSymbolId(n).toString())||b(t,i)}}function D(t){return!t||(S(t)?!t.identifier.text:e.every(t.elements,D))}function x(e){return S(e)?e.identifier:e.bindingPattern}function b(e,t){return void 0===t&&(t=[]),{kind:0,identifier:e,types:t,hasBeenDeclared:!1}}function S(e){return 0===e.kind}function E(t,r){return!!t.original&&r.setOfExpressionsToReturn.has(e.getNodeId(t.original))}t.registerCodeFix({errorCodes:a,getCodeActions:function(r){o=!0;var n=e.textChanges.ChangeTracker.with(r,(function(e){return s(e,r.sourceFile,r.span.start,r.program.getTypeChecker(),r)}));return o?[t.createCodeFixAction(i,n,e.Diagnostics.Convert_to_async_function,i,e.Diagnostics.Convert_all_to_async_functions)]:[]},fixIds:[i],getAllCodeActions:function(e){return t.codeFixAll(e,a,(function(t,r){return s(t,r.file,r.start,e.program.getTypeChecker(),e)}))}}),function(e){e[e.Identifier=0]=\"Identifier\",e[e.BindingPattern=1]=\"BindingPattern\"}(n||(n={}))}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){function r(t,r,n,i){for(var a=0,o=t.imports;a1?[[o(n),s(n)],!0]:[[s(n)],!0]:[[o(n)],!1]}(d.arguments[0],r):void 0;return p?(i.replaceNodeWithNodes(t,n.parent,p[0]),p[1]):(i.replaceRangeWithText(t,e.createRange(l.getStart(t),d.pos),\"export default\"),!0)}i.delete(t,n.parent)}else e.isExportsOrModuleExportsOrAlias(t,l.expression)&&function(t,r,n,i){var a=r.left.name.text,o=i.get(a);if(void 0!==o){var s=[g(void 0,o,r.right),m([e.factory.createExportSpecifier(o,a)])];n.replaceNodeWithNodes(t,r.parent,s)}else!function(t,r,n){var i=t.left,a=t.right,o=t.parent,s=i.name.text;if(!(e.isFunctionExpression(a)||e.isArrowFunction(a)||e.isClassExpression(a))||a.name&&a.name.text!==s)n.replaceNodeRangeWithNodes(r,i.expression,e.findChildOfKind(i,24,r),[e.factory.createToken(92),e.factory.createToken(84)],{joiner:\" \",suffix:\" \"});else{n.replaceRange(r,{pos:i.getStart(r),end:a.getStart(r)},e.factory.createToken(92),{suffix:\" \"}),a.name||n.insertName(r,a,s);var c=e.findChildOfKind(o,26,r);c&&n.delete(r,c)}}(r,t,n)}(t,n,i,a);return!1}(t,n,y,i,d,p)}default:return!1}}function a(r,n,i,a,o,s,c){var l,d=n.declarationList,_=!1,m=e.map(d.declarations,(function(n){var i=n.name,l=n.initializer;if(l){if(e.isExportsOrModuleExportsOrAlias(r,l))return _=!0,y([]);if(e.isRequireCall(l,!0))return _=!0,function(r,n,i,a,o,s){switch(r.kind){case 196:var c=e.mapAllOrFail(r.elements,(function(t){return t.dotDotDotToken||t.initializer||t.propertyName&&!e.isIdentifier(t.propertyName)||!e.isIdentifier(t.name)?void 0:f(t.propertyName&&t.propertyName.text,t.name.text)}));if(c)return y([e.makeImport(void 0,c,n,s)]);case 197:var l=u(t.moduleSpecifierToValidIdentifier(n.text,o),a);return y([e.makeImport(e.factory.createIdentifier(l),void 0,n,s),g(void 0,e.getSynthesizedDeepClone(r),e.factory.createIdentifier(l))]);case 78:return function(t,r,n,i,a){for(var o,s=n.getSymbolAtLocation(t),c=new e.Map,l=!1,d=0,_=i.original.get(t.text);d<_.length;d++){var p=_[d];if(n.getSymbolAtLocation(p)===s&&p!==t){var f=p.parent;if(e.isPropertyAccessExpression(f)){var g=f.expression,m=f.name.text;e.Debug.assert(g===p,\"Didn't expect expression === use\");var v=c.get(m);void 0===v&&(v=u(m,i),c.set(m,v)),(null!=o?o:o=new e.Map).set(f,e.factory.createIdentifier(v))}else l=!0}}var h=0===c.size?void 0:e.arrayFrom(e.mapIterator(c.entries(),(function(t){var r=t[0],n=t[1];return e.factory.createImportSpecifier(r===n?void 0:e.factory.createIdentifier(r),e.factory.createIdentifier(n))})));h||(l=!0);return y([e.makeImport(l?e.getSynthesizedDeepClone(t):void 0,h,r,a)],o)}(r,n,i,a,s);default:return e.Debug.assertNever(r,\"Convert to ES6 module got invalid name kind \"+r.kind)}}(i,l.arguments[0],a,o,s,c);if(e.isPropertyAccessExpression(l)&&e.isRequireCall(l.expression,!0))return _=!0,function(t,r,n,i,a){switch(t.kind){case 196:case 197:var o=u(r,i);return y([p(o,r,n,a),g(void 0,t,e.factory.createIdentifier(o))]);case 78:return y([p(t.text,r,n,a)]);default:return e.Debug.assertNever(t,\"Convert to ES6 module got invalid syntax form \"+t.kind)}}(i,l.name.text,l.expression.arguments[0],o,c)}return y([e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([n],d.flags))])}));if(_)return i.replaceNodeWithNodes(r,n,e.flatMap(m,(function(e){return e.newImports}))),e.forEach(m,(function(t){t.useSitesToUnqualify&&e.copyEntries(t.useSitesToUnqualify,null!=l?l:l=new e.Map)})),l}function o(e){return m(void 0,e)}function s(t){return m([e.factory.createExportSpecifier(void 0,\"default\")],t)}function c(t,r){return r&&e.some(e.arrayFrom(r.keys()),(function(r){return e.rangeContainsRange(t,r)}))?e.isArray(t)?e.getSynthesizedDeepClonesWithReplacements(t,!0,n):e.getSynthesizedDeepCloneWithReplacements(t,!0,n):t;function n(e){if(201===e.kind){var t=r.get(e);return r.delete(e),t}}}function u(e,t){for(;t.original.has(e)||t.additional.has(e);)e=\"_\"+e;return t.additional.add(e),e}function l(t){var r=e.createMultiMap();return d(t,(function(e){return r.add(e.text,e)})),r}function d(t,r){e.isIdentifier(t)&&function(e){var t=e.parent;switch(t.kind){case 201:return t.name!==e;case 198:case 265:return t.propertyName!==e;default:return!0}}(t)&&r(t),t.forEachChild((function(e){return d(e,r)}))}function _(t,r,n,i){return e.factory.createFunctionDeclaration(e.getSynthesizedDeepClones(n.decorators),e.concatenate(r,e.getSynthesizedDeepClones(n.modifiers)),e.getSynthesizedDeepClone(n.asteriskToken),t,e.getSynthesizedDeepClones(n.typeParameters),e.getSynthesizedDeepClones(n.parameters),e.getSynthesizedDeepClone(n.type),e.factory.converters.convertToFunctionBlock(c(n.body,i)))}function p(t,r,n,i){return\"default\"===r?e.makeImport(e.factory.createIdentifier(t),void 0,n,i):e.makeImport(void 0,[f(r,t)],n,i)}function f(t,r){return e.factory.createImportSpecifier(void 0!==t&&t!==r?e.factory.createIdentifier(t):void 0,e.factory.createIdentifier(r))}function g(t,r,n){return e.factory.createVariableStatement(t,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(r,void 0,void 0,n)],2))}function m(t,r){return e.factory.createExportDeclaration(void 0,void 0,!1,t&&e.factory.createNamedExports(t),void 0===r?void 0:e.factory.createStringLiteral(r))}function y(e,t){return{newImports:e,useSitesToUnqualify:t}}t.registerCodeFix({errorCodes:[e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module.code],getCodeActions:function(o){var s=o.sourceFile,c=o.program,d=o.preferences,_=e.textChanges.ChangeTracker.with(o,(function(t){if(function(t,r,o,s,c){var d={original:l(t),additional:new e.Set},_=function(t,r,i){var a=new e.Map;return n(t,(function(t){var n=t.name,o=n.text,s=n.originalKeywordKind;!a.has(o)&&(void 0!==s&&e.isNonContextualKeyword(s)||r.resolveName(o,t,111551,!0))&&a.set(o,u(\"_\"+o,i))})),a}(t,r,d);!function(t,r,i){n(t,(function(n,a){if(!a){var o=n.name.text;i.replaceNode(t,n,e.factory.createIdentifier(r.get(o)||o))}}))}(t,_,o);for(var p,f=!1,g=0,m=e.filter(t.statements,e.isVariableStatement);g=e.ModuleKind.ES2015)return n?1:2;if(e.isInJSFile(t))return e.isExternalModule(t)?1:3;for(var i=0,a=t.statements;i\"),[e.Diagnostics.Convert_function_expression_0_to_arrow_function,c?c.text:e.ANONYMOUS]}return t.replaceNode(r,s,e.factory.createToken(84)),t.insertText(r,c.end,\" = \"),t.insertText(r,u.pos,\" =>\"),[e.Diagnostics.Convert_function_declaration_0_to_arrow_function,c.text]}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a,o=n.sourceFile,s=n.program,c=n.span,u=e.textChanges.ChangeTracker.with(n,(function(e){a=i(e,o,c.start,s.getTypeChecker())}));return a?[t.createCodeFixAction(r,u,a,r,e.Diagnostics.Fix_all_implicit_this_errors)]:e.emptyArray},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){i(t,r.file,r.start,e.program.getTypeChecker())}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"fixIncorrectNamedTupleSyntax\",n=[e.Diagnostics.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type.code,e.Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type.code];t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=n.sourceFile,a=n.span,o=function(t,r){var n=e.getTokenAtPosition(t,r);return e.findAncestor(n,(function(e){return 192===e.kind}))}(i,a.start),s=e.textChanges.ChangeTracker.with(n,(function(t){return function(t,r,n){if(!n)return;var i=n.type,a=!1,o=!1;for(;180===i.kind||181===i.kind||186===i.kind;)180===i.kind?a=!0:181===i.kind&&(o=!0),i=i.type;var s=e.factory.updateNamedTupleMember(n,n.dotDotDotToken||(o?e.factory.createToken(25):void 0),n.name,n.questionToken||(a?e.factory.createToken(57):void 0),i);if(s===n)return;t.replaceNode(r,n,s)}(t,i,o)}));return[t.createCodeFixAction(r,s,e.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels,r,e.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels)]},fixIds:[r]})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"fixSpelling\",n=[e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_1.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2.code,e.Diagnostics.No_overload_matches_this_call.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code];function i(t,r,n,i){var a=e.getTokenAtPosition(t,r),o=a.parent;if(i!==e.Diagnostics.No_overload_matches_this_call.code&&i!==e.Diagnostics.Type_0_is_not_assignable_to_type_1.code||e.isJsxAttribute(o)){var s,c=n.program.getTypeChecker();if(e.isPropertyAccessExpression(o)&&o.name===a){e.Debug.assert(e.isIdentifierOrPrivateIdentifier(a),\"Expected an identifier for spelling (property access)\");var u=c.getTypeAtLocation(o.expression);32&o.flags&&(u=c.getNonNullableType(u)),s=c.getSuggestedSymbolForNonexistentProperty(a,u)}else if(e.isQualifiedName(o)&&o.right===a){var l=c.getSymbolAtLocation(o.left);l&&1536&l.flags&&(s=c.getSuggestedSymbolForNonexistentModule(o.right,l))}else if(e.isImportSpecifier(o)&&o.name===a){e.Debug.assertNode(a,e.isIdentifier,\"Expected an identifier for spelling (import)\");var d=function(t,r,n){if(!n||!e.isStringLiteralLike(n.moduleSpecifier))return;var i=e.getResolvedModule(t,n.moduleSpecifier.text);return i?r.program.getSourceFile(i.resolvedFileName):void 0}(t,n,e.findAncestor(a,e.isImportDeclaration));d&&d.symbol&&(s=c.getSuggestedSymbolForNonexistentModule(a,d.symbol))}else if(e.isJsxAttribute(o)&&o.name===a){e.Debug.assertNode(a,e.isIdentifier,\"Expected an identifier for JSX attribute\");var _=e.findAncestor(a,e.isJsxOpeningLikeElement),p=c.getContextualTypeForArgumentAtIndex(_,0);s=c.getSuggestedSymbolForNonexistentJSXAttribute(a,p)}else{var f=e.getMeaningFromLocation(a),g=e.getTextOfNode(a);e.Debug.assert(void 0!==g,\"name should be defined\"),s=c.getSuggestedSymbolForNonexistentSymbol(a,g,function(e){var t=0;4&e&&(t|=1920);2&e&&(t|=788968);1&e&&(t|=111551);return t}(f))}return void 0===s?void 0:{node:a,suggestedSymbol:s}}}function a(t,r,n,i,a){var o=e.symbolName(i);if(!e.isIdentifierText(o,a)&&e.isPropertyAccessExpression(n.parent)){var s=i.valueDeclaration;e.isNamedDeclaration(s)&&e.isPrivateIdentifier(s.name)?t.replaceNode(r,n,e.factory.createIdentifier(o)):t.replaceNode(r,n.parent,e.factory.createElementAccessExpression(n.parent.expression,e.factory.createStringLiteral(o)))}else t.replaceNode(r,n,e.factory.createIdentifier(o))}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=n.errorCode,c=i(o,n.span.start,n,s);if(c){var u=c.node,l=c.suggestedSymbol,d=n.host.getCompilationSettings().target,_=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,u,l,d)}));return[t.createCodeFixAction(\"spelling\",_,[e.Diagnostics.Change_spelling_to_0,e.symbolName(l)],r,e.Diagnostics.Fix_all_detected_spelling_errors)]}},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){var n=i(r.file,r.start,e,r.code),o=e.host.getCompilationSettings().target;n&&a(t,e.sourceFile,n.node,n.suggestedSymbol,o)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r,n=\"returnValueCorrect\",i=\"fixAddReturnStatement\",a=\"fixRemoveBracesFromArrowFunctionBody\",o=\"fixWrapTheBlockWithParen\",s=[e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code];function c(t,r,n){var i=t.createSymbol(4,r.escapedText);i.type=t.getTypeAtLocation(n);var a=e.createSymbolTable([i]);return t.createAnonymousType(void 0,a,[],[],void 0,void 0)}function u(t,n,i,a){if(n.body&&e.isBlock(n.body)&&1===e.length(n.body.statements)){var o=e.first(n.body.statements);if(e.isExpressionStatement(o)&&l(t,n,t.getTypeAtLocation(o.expression),i,a))return{declaration:n,kind:r.MissingReturnStatement,expression:o.expression,statement:o,commentSource:o.expression};if(e.isLabeledStatement(o)&&e.isExpressionStatement(o.statement)){var s=e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(o.label,o.statement.expression)]);if(l(t,n,c(t,o.label,o.statement.expression),i,a))return e.isArrowFunction(n)?{declaration:n,kind:r.MissingParentheses,expression:s,statement:o,commentSource:o.statement.expression}:{declaration:n,kind:r.MissingReturnStatement,expression:s,statement:o,commentSource:o.statement.expression}}else if(e.isBlock(o)&&1===e.length(o.statements)){var u=e.first(o.statements);if(e.isLabeledStatement(u)&&e.isExpressionStatement(u.statement)){s=e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(u.label,u.statement.expression)]);if(l(t,n,c(t,u.label,u.statement.expression),i,a))return{declaration:n,kind:r.MissingReturnStatement,expression:s,statement:o,commentSource:u}}}}}function l(t,r,n,i,a){if(a){var o=t.getSignatureFromDeclaration(r);if(o){e.hasSyntacticModifier(r,256)&&(n=t.createPromiseType(n));var s=t.createSignature(r,o.typeParameters,o.thisParameter,o.parameters,n,void 0,o.minArgumentCount,o.flags);n=t.createAnonymousType(void 0,e.createSymbolTable(),[s],[],void 0,void 0)}else n=t.getAnyType()}return t.isTypeAssignableTo(n,i)}function d(t,r,n,i){var a=e.getTokenAtPosition(r,n);if(a.parent){var o=e.findAncestor(a.parent,e.isFunctionLikeDeclaration);switch(i){case e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code:if(!(o&&o.body&&o.type&&e.rangeContainsRange(o.type,a)))return;return u(t,o,t.getTypeFromTypeNode(o.type),!1);case e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code:if(!o||!e.isCallExpression(o.parent)||!o.body)return;var s=o.parent.arguments.indexOf(o),c=t.getContextualTypeForArgumentAtIndex(o.parent,s);if(!c)return;return u(t,o,c,!0);case e.Diagnostics.Type_0_is_not_assignable_to_type_1.code:if(!e.isDeclarationName(a)||!e.isVariableLike(a.parent)&&!e.isJsxAttribute(a.parent))return;var l=function(t){switch(t.kind){case 249:case 160:case 198:case 163:case 288:return t.initializer;case 280:return t.initializer&&(e.isJsxExpression(t.initializer)?t.initializer.expression:void 0);case 289:case 162:case 291:case 333:case 326:return}}(a.parent);if(!l||!e.isFunctionLikeDeclaration(l)||!l.body)return;return u(t,l,t.getTypeAtLocation(a.parent),!0)}}}function _(t,r,n,i){e.suppressLeadingAndTrailingTrivia(n);var a=e.probablyUsesSemicolons(r);t.replaceNode(r,i,e.factory.createReturnStatement(n),{leadingTriviaOption:e.textChanges.LeadingTriviaOption.Exclude,trailingTriviaOption:e.textChanges.TrailingTriviaOption.Exclude,suffix:a?\";\":void 0})}function p(t,r,n,i,a,o){var s=o||e.needsParentheses(i)?e.factory.createParenthesizedExpression(i):i;e.suppressLeadingAndTrailingTrivia(a),e.copyComments(a,s),t.replaceNode(r,n.body,s)}function f(t,r,n,i){t.replaceNode(r,n.body,e.factory.createParenthesizedExpression(i))}function g(r,a,o){var s=e.textChanges.ChangeTracker.with(r,(function(e){return _(e,r.sourceFile,a,o)}));return t.createCodeFixAction(n,s,e.Diagnostics.Add_a_return_statement,i,e.Diagnostics.Add_all_missing_return_statement)}function m(r,i,a){var s=e.textChanges.ChangeTracker.with(r,(function(e){return f(e,r.sourceFile,i,a)}));return t.createCodeFixAction(n,s,e.Diagnostics.Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal,o,e.Diagnostics.Wrap_all_object_literal_with_parentheses)}!function(e){e[e.MissingReturnStatement=0]=\"MissingReturnStatement\",e[e.MissingParentheses=1]=\"MissingParentheses\"}(r||(r={})),t.registerCodeFix({errorCodes:s,fixIds:[i,a,o],getCodeActions:function(i){var o=i.program,s=i.sourceFile,c=i.span.start,u=i.errorCode,l=d(o.getTypeChecker(),s,c,u);if(l)return l.kind===r.MissingReturnStatement?e.append([g(i,l.expression,l.statement)],e.isArrowFunction(l.declaration)?function(r,i,o,s){var c=e.textChanges.ChangeTracker.with(r,(function(e){return p(e,r.sourceFile,i,o,s,!1)}));return t.createCodeFixAction(n,c,e.Diagnostics.Remove_braces_from_arrow_function_body,a,e.Diagnostics.Remove_braces_from_all_arrow_function_bodies_with_relevant_issues)}(i,l.declaration,l.expression,l.commentSource):void 0):[m(i,l.declaration,l.expression)]},getAllCodeActions:function(r){return t.codeFixAll(r,s,(function(t,n){var s=d(r.program.getTypeChecker(),n.file,n.start,n.code);if(s)switch(r.fixId){case i:_(t,n.file,s.expression,s.statement);break;case a:if(!e.isArrowFunction(s.declaration))return;p(t,n.file,s.declaration,s.expression,s.commentSource,!1);break;case o:if(!e.isArrowFunction(s.declaration))return;f(t,n.file,s.declaration,s.expression);break;default:e.Debug.fail(JSON.stringify(r.fixId))}}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r,n=\"addMissingMember\",i=[e.Diagnostics.Property_0_does_not_exist_on_type_1.code,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Property_0_is_missing_in_type_1_but_required_in_type_2.code,e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2.code,e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more.code],a=\"addMissingMember\";function o(t,r,n,i){var a=e.getTokenAtPosition(t,r);if(e.isIdentifier(a)||e.isPrivateIdentifier(a)){var o=a.parent;if(e.isPropertyAccessExpression(o)){var s=e.skipConstraint(n.getTypeAtLocation(o.expression)),c=s.symbol;if(c&&c.declarations){var u=e.find(c.declarations,e.isClassLike);if(u||!e.isPrivateIdentifier(a)){var l=u||e.find(c.declarations,e.isInterfaceDeclaration);if(l&&!i.isSourceFileFromExternalLibrary(l.getSourceFile())){var d=(s.target||s)!==n.getDeclaredTypeOfSymbol(c);if(d&&(e.isPrivateIdentifier(a)||e.isInterfaceDeclaration(l)))return;var _=l.getSourceFile(),p=(d?32:0)|(e.startsWithUnderscore(a.text)?8:0),f=e.isSourceFileJS(_);return{kind:1,token:a,call:e.tryCast(o.parent,e.isCallExpression),modifierFlags:p,parentDeclaration:l,declSourceFile:_,isJSFile:f}}var g=e.find(c.declarations,e.isEnumDeclaration);return!g||e.isPrivateIdentifier(a)||i.isSourceFileFromExternalLibrary(g.getSourceFile())?void 0:{kind:0,token:a,parentDeclaration:g}}}}}}function s(t,r,n,i,a){var o=i.text;if(a){if(221===n.kind)return;var s=n.name.getText(),u=c(e.factory.createIdentifier(s),o);t.insertNodeAfter(r,n,u)}else if(e.isPrivateIdentifier(i)){var l=e.factory.createPropertyDeclaration(void 0,void 0,o,void 0,void 0,void 0),_=d(n);_?t.insertNodeAfter(r,_,l):t.insertNodeAtClassStart(r,n,l)}else{var p=e.getFirstConstructorWithBody(n);if(!p)return;var f=c(e.factory.createThis(),o);t.insertNodeAtConstructorEnd(r,p,f)}}function c(t,r){return e.factory.createExpressionStatement(e.factory.createAssignment(e.factory.createPropertyAccessExpression(t,r),e.factory.createIdentifier(\"undefined\")))}function u(t,r,n){var i;if(216===n.parent.parent.kind){var a=n.parent.parent,o=n.parent===a.left?a.right:a.left,s=t.getWidenedType(t.getBaseTypeOfLiteralType(t.getTypeAtLocation(o)));i=t.typeToTypeNode(s,r,void 0)}else{var c=t.getContextualType(n.parent);i=c?t.typeToTypeNode(c,void 0,void 0):void 0}return i||e.factory.createKeywordTypeNode(128)}function l(t,r,n,i,a,o){var s=e.factory.createPropertyDeclaration(void 0,o?e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(o)):void 0,i,void 0,a,void 0),c=d(n);c?t.insertNodeAfter(r,c,s):t.insertNodeAtClassStart(r,n,s)}function d(t){for(var r,n=0,i=t.members;n=e.ModuleKind.ES2015&&o99){s=e.textChanges.ChangeTracker.with(r,(function(r){if(e.getTsConfigObjectLiteralExpression(i)){var n=[[\"target\",e.factory.createStringLiteral(\"es2017\")]];o===e.ModuleKind.CommonJS&&n.push([\"module\",e.factory.createStringLiteral(\"commonjs\")]),t.setJsonCompilerOptionValues(r,i,n)}}));a.push(t.createCodeFixActionWithoutFixAll(\"fixTargetOption\",s,[e.Diagnostics.Set_the_target_option_in_your_configuration_file_to_0,\"es2017\"]))}return a.length?a:void 0}}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"fixPropertyAssignment\",n=[e.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code];function i(t,r,n){t.replaceNode(r,n,e.factory.createPropertyAssignment(n.name,n.objectAssignmentInitializer))}function a(t,r){return e.cast(e.getTokenAtPosition(t,r).parent,e.isShorthandPropertyAssignment)}t.registerCodeFix({errorCodes:n,fixIds:[r],getCodeActions:function(n){var o=a(n.sourceFile,n.span.start),s=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,o)}));return[t.createCodeFixAction(r,s,[e.Diagnostics.Change_0_to_1,\"=\",\":\"],r,[e.Diagnostics.Switch_each_misused_0_to_1,\"=\",\":\"])]},getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,a(t.file,t.start))}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"extendsInterfaceBecomesImplements\",n=[e.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements.code];function i(t,r){var n=e.getTokenAtPosition(t,r),i=e.getContainingClass(n).heritageClauses,a=i[0].getFirstToken();return 93===a.kind?{extendsToken:a,heritageClauses:i}:void 0}function a(t,r,n,i){if(t.replaceNode(r,n,e.factory.createToken(116)),2===i.length&&93===i[0].token&&116===i[1].token){var a=i[1].getFirstToken(),o=a.getFullStart();t.replaceRange(r,{pos:o,end:o},e.factory.createToken(27));for(var s=r.text,c=a.end;c\":\">\",\"}\":\"}\"};function o(t,r,n,i,o){var s=n.getText()[i];if(function(t){return e.hasProperty(a,t)}(s)){var c=o?a[s]:\"{\"+e.quote(n,r,s)+\"}\";t.replaceRangeWithText(n,{pos:i,end:i+1},c)}}}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"unusedIdentifier\",n=\"unusedIdentifier_prefix\",i=\"unusedIdentifier_delete\",a=\"unusedIdentifier_infer\",o=[e.Diagnostics._0_is_declared_but_its_value_is_never_read.code,e.Diagnostics._0_is_declared_but_never_used.code,e.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code,e.Diagnostics.All_imports_in_import_declaration_are_unused.code,e.Diagnostics.All_destructured_elements_are_unused.code,e.Diagnostics.All_variables_are_unused.code,e.Diagnostics.All_type_parameters_are_unused.code];function s(t,r,n){t.replaceNode(r,n.parent,e.factory.createKeywordTypeNode(152))}function c(n,a){return t.createCodeFixAction(r,n,a,i,e.Diagnostics.Delete_all_unused_declarations)}function u(t,r,n){t.delete(r,e.Debug.checkDefined(e.cast(n.parent,e.isDeclarationWithTypeParameterChildren).typeParameters,\"The type parameter to delete should exist\"))}function l(t){return 99===t.kind?e.tryCast(t.parent,e.isImportDeclaration):void 0}function d(t,r){return e.isVariableDeclarationList(r.parent)&&e.first(r.parent.getChildren(t))===r}function _(e,t,r){e.delete(t,232===r.parent.kind?r.parent:r)}function p(t,r,n){e.forEach(n.elements,(function(e){return t.delete(r,e)}))}function f(t,r,n,i){r!==e.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code&&(135===i.kind&&(i=e.cast(i.parent,e.isInferTypeNode).typeParameter.name),e.isIdentifier(i)&&function(e){switch(e.parent.kind){case 160:case 159:return!0;case 249:switch(e.parent.parent.parent.kind){case 239:case 238:return!0}}return!1}(i)&&(t.replaceNode(n,i,e.factory.createIdentifier(\"_\"+i.text)),e.isParameter(i.parent)&&e.getJSDocParameterTags(i.parent).forEach((function(r){e.isIdentifier(r.name)&&t.replaceNode(n,r.name,e.factory.createIdentifier(\"_\"+r.name.text))}))))}function g(t,r,n,i,a,o){!function(t,r,n,i,a,o){var s=t.parent;e.isParameter(s)?function(t,r,n,i,a,o){void 0===o&&(o=!1);(function(t,r,n,i){var a=n.parent;switch(a.kind){case 165:var o=t.getSymbolAtLocation(a.name);if(e.isMemberSymbolInBaseType(o,t))return!1;case 166:return!0;case 251:return!a.name||!function(t,r,n){return!!e.FindAllReferences.Core.eachSymbolReferenceInFile(n,t,r,(function(t){return e.isIdentifier(t)&&e.isCallExpression(t.parent)&&t.parent.arguments.indexOf(t)>=0}))}(t,r,a.name)||m(a,n,i);case 208:case 209:return m(a,n,i);case 168:return!1;default:return e.Debug.failBadSyntaxKind(a)}})(i,r,n,o)&&(n.modifiers&&n.modifiers.length>0&&(!e.isIdentifier(n.name)||e.FindAllReferences.Core.isSymbolReferencedInFile(n.name,i,r))?n.modifiers.forEach((function(e){return t.deleteModifier(r,e)})):(t.delete(r,n),function(t,r,n,i,a){e.FindAllReferences.Core.eachSignatureCall(n.parent,i,a,(function(e){var i=n.parent.parameters.indexOf(n);e.arguments.length>i&&t.delete(r,e.arguments[i])}))}(t,r,n,a,i)))}(r,n,s,i,a,o):r.delete(n,e.isImportClause(s)?t:e.isComputedPropertyName(s)?s.parent:s)}(r,n,t,i,a,o),e.isIdentifier(r)&&function(t,r,n,i){e.FindAllReferences.Core.eachSymbolReferenceInFile(n,i,r,(function(n){e.isPropertyAccessExpression(n.parent)&&n.parent.name===n&&(n=n.parent),e.isBinaryExpression(n.parent)&&e.isExpressionStatement(n.parent.parent)&&n.parent.left===n&&t.delete(r,n.parent.parent)}))}(n,t,r,i)}function m(t,r,n){var i=t.parameters,a=i.indexOf(r);return e.Debug.assert(-1!==a,\"The parameter should already be in the list\"),n?i.slice(a+1).every((function(t){return e.isIdentifier(t.name)&&!t.symbol.isReferenced})):a===i.length-1}t.registerCodeFix({errorCodes:o,getCodeActions:function(i){var o=i.errorCode,m=i.sourceFile,y=i.program,v=y.getTypeChecker(),h=y.getSourceFiles(),D=e.getTokenAtPosition(m,i.span.start);if(e.isJSDocTemplateTag(D))return[c(e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(m,D)})),e.Diagnostics.Remove_template_tag)];if(29===D.kind)return[c(T=e.textChanges.ChangeTracker.with(i,(function(e){return u(e,m,D)})),e.Diagnostics.Remove_type_parameters)];var x=l(D);if(x)return[c(T=e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(m,x)})),[e.Diagnostics.Remove_import_from_0,e.showModuleSpecifier(x)])];if(e.isObjectBindingPattern(D.parent)){if(e.isParameter(D.parent.parent)){var b=D.parent.elements,S=[b.length>1?e.Diagnostics.Remove_unused_declarations_for_Colon_0:e.Diagnostics.Remove_unused_declaration_for_Colon_0,e.map(b,(function(e){return e.getText(m)})).join(\", \")];return[c(e.textChanges.ChangeTracker.with(i,(function(e){return p(e,m,D.parent)})),S)]}return[c(e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(m,D.parent.parent)})),e.Diagnostics.Remove_unused_destructuring_declaration)]}if(d(m,D))return[c(e.textChanges.ChangeTracker.with(i,(function(e){return _(e,m,D.parent)})),e.Diagnostics.Remove_variable_statement)];var E=[];if(135===D.kind){var T=e.textChanges.ChangeTracker.with(i,(function(e){return s(e,m,D)})),C=e.cast(D.parent,e.isInferTypeNode).typeParameter.name.text;E.push(t.createCodeFixAction(r,T,[e.Diagnostics.Replace_infer_0_with_unknown,C],a,e.Diagnostics.Replace_all_unused_infer_with_unknown))}else{var k=e.textChanges.ChangeTracker.with(i,(function(e){return g(m,D,e,v,h,!1)}));if(k.length){C=e.isComputedPropertyName(D.parent)?D.parent:D;E.push(c(k,[e.Diagnostics.Remove_unused_declaration_for_Colon_0,C.getText(m)]))}}var A=e.textChanges.ChangeTracker.with(i,(function(e){return f(e,o,m,D)}));return A.length&&E.push(t.createCodeFixAction(r,A,[e.Diagnostics.Prefix_0_with_an_underscore,D.getText(m)],n,e.Diagnostics.Prefix_all_unused_declarations_with_where_possible)),E},fixIds:[n,i,a],getAllCodeActions:function(r){var c=r.sourceFile,m=r.program,y=m.getTypeChecker(),v=m.getSourceFiles();return t.codeFixAll(r,o,(function(t,o){var m=e.getTokenAtPosition(c,o.start);switch(r.fixId){case n:f(t,o.code,c,m);break;case i:if(135===m.kind)break;var h=l(m);h?t.delete(c,h):e.isJSDocTemplateTag(m)?t.delete(c,m):29===m.kind?u(t,c,m):e.isObjectBindingPattern(m.parent)?e.isParameter(m.parent.parent)?p(t,c,m.parent):t.delete(c,m.parent.parent):d(c,m)?_(t,c,m.parent):g(c,m,t,y,v,!0);break;case a:135===m.kind&&s(t,c,m);break;default:e.Debug.fail(JSON.stringify(r.fixId))}}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"fixUnreachableCode\",n=[e.Diagnostics.Unreachable_code_detected.code];function i(t,r,n,i,a){var o=e.getTokenAtPosition(r,n),s=e.findAncestor(o,e.isStatement);if(s.getStart(r)!==o.getStart(r)){var c=JSON.stringify({statementKind:e.Debug.formatSyntaxKind(s.kind),tokenKind:e.Debug.formatSyntaxKind(o.kind),errorCode:a,start:n,length:i});e.Debug.fail(\"Token and statement should start at the same point. \"+c)}var u=(e.isBlock(s.parent)?s.parent:s).parent;if(!e.isBlock(s.parent)||s===e.first(s.parent.statements))switch(u.kind){case 234:if(u.elseStatement){if(e.isBlock(s.parent))break;return void t.replaceNode(r,s,e.factory.createBlock(e.emptyArray))}case 236:case 237:return void t.delete(r,u)}if(e.isBlock(s.parent)){var l=n+i,d=e.Debug.checkDefined(function(e,t){for(var r,n=0,i=e;nM.length)B(S,f.getSignatureFromDeclaration(p[p.length-1]),h,y,o(S));else e.Debug.assert(p.length===M.length,\"Declarations and signatures should match count\"),d(function(t,r,n,i,s){for(var c=t[0],u=t[0].minArgumentCount,l=!1,d=0,_=t;d<_.length;d++){var p=_[d];u=Math.min(p.minArgumentCount,u),e.signatureHasRestParameter(p)&&(l=!0),p.parameters.length>=c.parameters.length&&(!e.signatureHasRestParameter(p)||e.signatureHasRestParameter(c))&&(c=p)}var f=c.parameters.length-(e.signatureHasRestParameter(c)?1:0),g=c.parameters.map((function(e){return e.name})),m=a(f,g,void 0,u,!1);if(l){var y=e.factory.createArrayTypeNode(e.factory.createKeywordTypeNode(128)),v=e.factory.createParameterDeclaration(void 0,void 0,e.factory.createToken(25),g[f]||\"rest\",f>=u?e.factory.createToken(57):void 0,y,void 0);m.push(v)}return function(t,r,n,i,a,s,c){return e.factory.createMethodDeclaration(void 0,t,void 0,r,n?e.factory.createToken(57):void 0,i,a,s,o(c))}(i,r,n,void 0,m,void 0,s)}(M,y,x,h,S))}}function B(t,i,a,o,c){var p=function(t,n,i,a,o,s,c,u,d){var p=t.program,f=p.getTypeChecker(),g=e.getEmitScriptTarget(p.getCompilerOptions()),m=1073742081|(0===n?268435456:0),y=f.signatureToSignatureDeclaration(i,165,a,m,r(t));if(!y)return;var v=y.typeParameters,h=y.parameters,D=y.type;if(d){if(v){var x=e.sameMap(v,(function(t){var r,n=t.constraint,i=t.default;n&&((r=l(n,g))&&(n=r.typeNode,_(d,r.symbols)));i&&((r=l(i,g))&&(i=r.typeNode,_(d,r.symbols)));return e.factory.updateTypeParameterDeclaration(t,t.name,n,i)}));v!==x&&(v=e.setTextRange(e.factory.createNodeArray(x,v.hasTrailingComma),v))}var b=e.sameMap(h,(function(t){var r=l(t.type,g),n=t.type;return r&&(n=r.typeNode,_(d,r.symbols)),e.factory.updateParameterDeclaration(t,t.decorators,t.modifiers,t.dotDotDotToken,t.name,t.questionToken,n,t.initializer)}));if(h!==b&&(h=e.setTextRange(e.factory.createNodeArray(b,h.hasTrailingComma),h)),D){var S=l(D,g);S&&(D=S.typeNode,_(d,S.symbols))}}return e.factory.updateMethodDeclaration(y,void 0,o,y.asteriskToken,s,c?e.factory.createToken(57):void 0,v,h,D,u)}(s,t,i,n,a,o,x,c,u);p&&d(p)}}function i(t,r,n,i,a,o,s){var c=t.typeToTypeNode(n,i,o,s);if(c&&e.isImportTypeNode(c)){var u=l(c,a);if(u)return _(r,u.symbols),u.typeNode}return c}function a(t,r,n,i,a){for(var o=[],s=0;s=i?e.factory.createToken(57):void 0,a?void 0:n&&n[s]||e.factory.createKeywordTypeNode(128),void 0);o.push(c)}return o}function o(t){return e.factory.createBlock([e.factory.createThrowStatement(e.factory.createNewExpression(e.factory.createIdentifier(\"Error\"),void 0,[e.factory.createStringLiteral(\"Method not implemented.\",0===t)]))],!0)}function s(t,r,n){var i=e.getTsConfigObjectLiteralExpression(r);if(i){var a=u(i,\"compilerOptions\");if(void 0!==a){var o=a.initializer;if(e.isObjectLiteralExpression(o))for(var s=0,l=n;s0)return[t.createCodeFixAction(r,a,e.Diagnostics.Convert_to_a_bigint_numeric_literal,r,e.Diagnostics.Convert_all_to_bigint_numeric_literals)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"fixAddModuleReferTypeMissingTypeof\",n=[e.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0.code];function i(t,r){var n=e.getTokenAtPosition(t,r);return e.Debug.assert(99===n.kind,\"This token should be an ImportKeyword\"),e.Debug.assert(195===n.parent.kind,\"Token parent should be an ImportType\"),n.parent}function a(t,r,n){var i=e.factory.updateImportTypeNode(n,n.argument,n.qualifier,n.typeArguments,!0);t.replaceNode(r,n,i)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=n.span,c=i(o,s.start),u=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,c)}));return[t.createCodeFixAction(r,u,e.Diagnostics.Add_missing_typeof,r,e.Diagnostics.Add_missing_typeof)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){return a(t,e.sourceFile,i(r.file,r.start))}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"wrapJsxInFragment\",n=[e.Diagnostics.JSX_expressions_must_have_one_parent_element.code];function i(t,r){var n=e.getTokenAtPosition(t,r).parent.parent;if((e.isBinaryExpression(n)||(n=n.parent,e.isBinaryExpression(n)))&&e.nodeIsMissing(n.operatorToken))return n}function a(t,r,n){var i=function(t){var r=[],n=t;for(;;){if(e.isBinaryExpression(n)&&e.nodeIsMissing(n.operatorToken)&&27===n.operatorToken.kind){if(r.push(n.left),e.isJsxChild(n.right))return r.push(n.right),r;if(e.isBinaryExpression(n.right)){n=n.right;continue}return}return}}(n);i&&t.replaceNode(r,n,e.factory.createJsxFragment(e.factory.createJsxOpeningFragment(),i,e.factory.createJsxJsxClosingFragment()))}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.program.getCompilerOptions().jsx;if(2===o||3===o){var s=n.sourceFile,c=n.span,u=i(s,c.start);if(u){var l=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,s,u)}));return[t.createCodeFixAction(r,l,e.Diagnostics.Wrap_in_JSX_fragment,r,e.Diagnostics.Wrap_all_unparented_JSX_in_JSX_fragment)]}}},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){var n=i(e.sourceFile,r.start);n&&a(t,e.sourceFile,n)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var n=\"fixConvertToMappedObjectType\",i=[e.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead.code];function a(t,r){var n=e.getTokenAtPosition(t,r),i=e.cast(n.parent.parent,e.isIndexSignatureDeclaration);if(!e.isClassDeclaration(i.parent))return{indexSignature:i,container:e.isInterfaceDeclaration(i.parent)?i.parent:e.cast(i.parent.parent,e.isTypeAliasDeclaration)}}function o(t,n,i){var a=i.indexSignature,o=i.container,s=(e.isInterfaceDeclaration(o)?o.members:o.type.members).filter((function(t){return!e.isIndexSignatureDeclaration(t)})),c=e.first(a.parameters),u=e.factory.createTypeParameterDeclaration(e.cast(c.name,e.isIdentifier),c.type),l=e.factory.createMappedTypeNode(e.hasEffectiveReadonlyModifier(a)?e.factory.createModifier(142):void 0,u,void 0,a.questionToken,a.type),d=e.factory.createIntersectionTypeNode(r(e.getAllSuperTypeNodes(o),[l],s.length?[e.factory.createTypeLiteralNode(s)]:e.emptyArray));t.replaceNode(n,o,function(t,r){return e.factory.createTypeAliasDeclaration(t.decorators,t.modifiers,t.name,t.typeParameters,r)}(o,d))}t.registerCodeFix({errorCodes:i,getCodeActions:function(r){var i=r.sourceFile,s=r.span,c=a(i,s.start);if(c){var u=e.textChanges.ChangeTracker.with(r,(function(e){return o(e,i,c)})),l=e.idText(c.container.name);return[t.createCodeFixAction(n,u,[e.Diagnostics.Convert_0_to_mapped_object_type,l],n,[e.Diagnostics.Convert_0_to_mapped_object_type,l])]}},fixIds:[n],getAllCodeActions:function(e){return t.codeFixAll(e,i,(function(e,t){var r=a(t.file,t.start);r&&o(e,t.file,r)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"removeAccidentalCallParentheses\",n=[e.Diagnostics.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without.code];t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=e.findAncestor(e.getTokenAtPosition(n.sourceFile,n.span.start),e.isCallExpression);if(i){var a=e.textChanges.ChangeTracker.with(n,(function(e){e.deleteRange(n.sourceFile,{pos:i.expression.end,end:i.end})}));return[t.createCodeFixActionWithoutFixAll(r,a,e.Diagnostics.Remove_parentheses)]}},fixIds:[r]})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"removeUnnecessaryAwait\",n=[e.Diagnostics.await_has_no_effect_on_the_type_of_this_expression.code];function i(t,r,n){var i=e.tryCast(e.getTokenAtPosition(r,n.start),(function(e){return 130===e.kind})),a=i&&e.tryCast(i.parent,e.isAwaitExpression);if(a){var o=a;if(e.isParenthesizedExpression(a.parent)){var s=e.getLeftmostExpression(a.expression,!1);if(e.isIdentifier(s)){var c=e.findPrecedingToken(a.parent.pos,r);c&&102!==c.kind&&(o=a.parent)}}t.replaceNode(r,o,a.expression)}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span)}));if(a.length>0)return[t.createCodeFixAction(r,a,e.Diagnostics.Remove_unnecessary_await,r,e.Diagnostics.Remove_all_unnecessary_uses_of_await)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=[e.Diagnostics.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both.code],n=\"splitTypeOnlyImport\";function i(t,r){return e.findAncestor(e.getTokenAtPosition(t,r.start),e.isImportDeclaration)}function a(t,r,n){if(r){var i=e.Debug.checkDefined(r.importClause);t.replaceNode(n.sourceFile,r,e.factory.updateImportDeclaration(r,r.decorators,r.modifiers,e.factory.updateImportClause(i,i.isTypeOnly,i.name,void 0),r.moduleSpecifier)),t.insertNodeAfter(n.sourceFile,r,e.factory.createImportDeclaration(void 0,void 0,e.factory.updateImportClause(i,i.isTypeOnly,void 0,i.namedBindings),r.moduleSpecifier))}}t.registerCodeFix({errorCodes:r,fixIds:[n],getCodeActions:function(r){var o=e.textChanges.ChangeTracker.with(r,(function(e){return a(e,i(r.sourceFile,r.span),r)}));if(o.length)return[t.createCodeFixAction(n,o,e.Diagnostics.Split_into_two_separate_import_declarations,n,e.Diagnostics.Split_all_invalid_type_only_imports)]},getAllCodeActions:function(e){return t.codeFixAll(e,r,(function(t,r){a(t,i(e.sourceFile,r),e)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"fixConvertConstToLet\",n=[e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant.code];t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=n.sourceFile,a=n.span,o=n.program,s=function(t,r,n){var i=e.getTokenAtPosition(t,r),a=n.getTypeChecker().getSymbolAtLocation(i);if(a)return a.valueDeclaration.parent.parent}(i,a.start,o),c=e.textChanges.ChangeTracker.with(n,(function(e){return function(e,t,r){if(!r)return;var n=r.getStart();e.replaceRangeWithText(t,{pos:n,end:n+5},\"let\")}(e,i,s)}));return[t.createCodeFixAction(r,c,e.Diagnostics.Convert_const_to_let,r,e.Diagnostics.Convert_const_to_let)]},fixIds:[r]})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"fixExpectedComma\",n=[e.Diagnostics._0_expected.code];function i(t,r,n){var i=e.getTokenAtPosition(t,r);return 26===i.kind&&i.parent&&(e.isObjectLiteralExpression(i.parent)||e.isArrayLiteralExpression(i.parent))?{node:i}:void 0}function a(t,r,n){var i=n.node,a=e.factory.createToken(27);t.replaceNode(r,i,a)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=i(o,n.span.start,n.errorCode);if(s){var c=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,s)}));return[t.createCodeFixAction(r,c,[e.Diagnostics.Change_0_to_1,\";\",\",\"],r,[e.Diagnostics.Change_0_to_1,\";\",\",\"])]}},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){var n=i(r.file,r.start,r.code);n&&a(t,e.sourceFile,n)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"addVoidToPromise\",n=[e.Diagnostics.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise.code];function i(t,r,n,i,a){var o=e.getTokenAtPosition(r,n.start);if(e.isIdentifier(o)&&e.isCallExpression(o.parent)&&o.parent.expression===o&&0===o.parent.arguments.length){var s=i.getTypeChecker(),c=s.getSymbolAtLocation(o),u=null==c?void 0:c.valueDeclaration;if(u&&e.isParameter(u)&&e.isNewExpression(u.parent.parent)&&!(null==a?void 0:a.has(u))){null==a||a.add(u);var l=function(t){var r;if(!e.isInJSFile(t))return t.typeArguments;if(e.isParenthesizedExpression(t.parent)){var n=null===(r=e.getJSDocTypeTag(t.parent))||void 0===r?void 0:r.typeExpression.type;if(n&&e.isTypeReferenceNode(n)&&e.isIdentifier(n.typeName)&&\"Promise\"===e.idText(n.typeName))return n.typeArguments}}(u.parent.parent);if(e.some(l)){var d=l[0],_=!e.isUnionTypeNode(d)&&!e.isParenthesizedTypeNode(d)&&e.isParenthesizedTypeNode(e.factory.createUnionTypeNode([d,e.factory.createKeywordTypeNode(113)]).types[0]);_&&t.insertText(r,d.pos,\"(\"),t.insertText(r,d.end,_?\") | void\":\" | void\")}else{var p=s.getResolvedSignature(o.parent),f=null==p?void 0:p.parameters[0],g=f&&s.getTypeOfSymbolAtLocation(f,u.parent.parent);e.isInJSFile(u)?(!g||3&g.flags)&&(t.insertText(r,u.parent.parent.end,\")\"),t.insertText(r,e.skipTrivia(r.text,u.parent.parent.pos),\"/** @type {Promise} */(\")):(!g||2&g.flags)&&t.insertText(r,u.parent.parent.expression.end,\"\")}}}}t.registerCodeFix({errorCodes:n,fixIds:[r],getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span,n.program)}));if(a.length>0)return[t.createCodeFixAction(\"addVoidToPromise\",a,e.Diagnostics.Add_void_to_Promise_resolved_without_a_value,r,e.Diagnostics.Add_void_to_all_Promises_resolved_without_a_value)]},getAllCodeActions:function(r){return t.codeFixAll(r,n,(function(t,n){return i(t,n.file,n,r.program,new e.Set)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=\"Convert export\",n=\"Convert default export to named export\",i=\"Convert named export to default export\";function a(t,r){void 0===r&&(r=!0);var n=t.file,i=e.getRefactorContextSpan(t),a=e.getTokenAtPosition(n,i.start),o=a.parent&&1&e.getSyntacticModifierFlags(a.parent)&&r?a.parent:e.getParentNodeInSpan(a,n,i);if(!(o&&(e.isSourceFile(o.parent)||e.isModuleBlock(o.parent)&&e.isAmbientModule(o.parent.parent))))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_export_statement)};var s=e.isSourceFile(o.parent)?o.parent.symbol:o.parent.parent.symbol,c=e.getSyntacticModifierFlags(o),u=!!(512&c);if(!(1&c)||!u&&s.exports.has(\"default\"))return{error:e.getLocaleSpecificMessage(e.Diagnostics.This_file_already_has_a_default_export)};switch(o.kind){case 251:case 252:case 253:case 255:case 254:case 256:var l=o;return l.name&&e.isIdentifier(l.name)?{info:{exportNode:l,exportName:l.name,wasDefault:u,exportingModuleSymbol:s}}:void 0;case 232:var d=o;if(!(2&d.declarationList.flags)||1!==d.declarationList.declarations.length)return;var _=e.first(d.declarationList.declarations);if(!_.initializer)return;return e.Debug.assert(!u,\"Can't have a default flag here\"),e.isIdentifier(_.name)?{info:{exportNode:d,exportName:_.name,wasDefault:u,exportingModuleSymbol:s}}:void 0;default:return}}function o(t,r){return e.factory.createImportSpecifier(t===r?void 0:e.factory.createIdentifier(t),e.factory.createIdentifier(r))}t.registerRefactor(r,{getAvailableActions:function(t){var o=a(t,\"invoked\"===t.triggerReason);if(!o)return e.emptyArray;if(void 0===o.error){var s=o.info.wasDefault?e.Diagnostics.Convert_default_export_to_named_export.message:e.Diagnostics.Convert_named_export_to_default_export.message,c=o.info.wasDefault?n:i;return[{name:r,description:s,actions:[{name:c,description:s}]}]}return t.preferences.provideRefactorNotApplicableReason?[{name:r,description:e.Diagnostics.Convert_default_export_to_named_export.message,actions:[{name:n,description:e.Diagnostics.Convert_default_export_to_named_export.message,notApplicableReason:o.error}]},{name:r,description:e.Diagnostics.Convert_named_export_to_default_export.message,actions:[{name:i,description:e.Diagnostics.Convert_named_export_to_default_export.message,notApplicableReason:o.error}]}]:e.emptyArray},getEditsForAction:function(t,r){return e.Debug.assert(r===n||r===i,\"Unexpected action name\"),{edits:e.textChanges.ChangeTracker.with(t,(function(r){var n,i,s,c,u,l;return i=t.file,s=t.program,c=e.Debug.checkDefined(null===(n=a(t))||void 0===n?void 0:n.info,\"context must have info\"),u=r,l=t.cancellationToken,function(t,r,n,i){var a=r.wasDefault,o=r.exportNode,s=r.exportName;if(a)n.delete(t,e.Debug.checkDefined(e.findModifier(o,87),\"Should find a default keyword in modifier list\"));else{var c=e.Debug.checkDefined(e.findModifier(o,92),\"Should find an export keyword in modifier list\");switch(o.kind){case 251:case 252:case 253:n.insertNodeAfter(t,c,e.factory.createToken(87));break;case 232:var u=e.first(o.declarationList.declarations);if(!e.FindAllReferences.Core.isSymbolReferencedInFile(s,i,t)&&!u.type){n.replaceNode(t,o,e.factory.createExportDefault(e.Debug.checkDefined(u.initializer,\"Initializer was previously known to be present\")));break}case 255:case 254:case 256:n.deleteModifier(t,c),n.insertNodeAfter(t,o,e.factory.createExportDefault(e.factory.createIdentifier(s.text)));break;default:e.Debug.assertNever(o,\"Unexpected exportNode kind \"+o.kind)}}}(i,c,u,s.getTypeChecker()),void function(t,r,n,i){var a=r.wasDefault,s=r.exportName,c=r.exportingModuleSymbol,u=t.getTypeChecker(),l=e.Debug.checkDefined(u.getSymbolAtLocation(s),\"Export name should resolve to a symbol\");e.FindAllReferences.Core.eachExportReference(t.getSourceFiles(),u,i,l,c,s.text,a,(function(t){var r=t.getSourceFile();a?function(t,r,n,i){var a=r.parent;switch(a.kind){case 201:n.replaceNode(t,r,e.factory.createIdentifier(i));break;case 265:case 270:var s=a;n.replaceNode(t,s,o(i,s.name.text));break;case 262:var c=a;e.Debug.assert(c.name===r,\"Import clause name should match provided ref\"),s=o(i,r.text);var u=c.namedBindings;if(u)if(263===u.kind){n.deleteRange(t,{pos:r.getStart(t),end:u.getStart(t)});var l=e.isStringLiteral(c.parent.moduleSpecifier)?e.quotePreferenceFromString(c.parent.moduleSpecifier,t):1,d=e.makeImport(void 0,[o(i,r.text)],c.parent.moduleSpecifier,l);n.insertNodeAfter(t,c.parent,d)}else n.delete(t,r),n.insertNodeAtEndOfList(t,u.elements,s);else n.replaceNode(t,r,e.factory.createNamedImports([s]));break;default:e.Debug.failBadSyntaxKind(a)}}(r,t,n,s.text):function(t,r,n){var i=r.parent;switch(i.kind){case 201:n.replaceNode(t,r,e.factory.createIdentifier(\"default\"));break;case 265:var a=e.factory.createIdentifier(i.name.text);1===i.parent.elements.length?n.replaceNode(t,i.parent,a):(n.delete(t,i),n.insertNodeBefore(t,i.parent,a));break;case 270:n.replaceNode(t,i,function(t,r){return e.factory.createExportSpecifier(t===r?void 0:e.factory.createIdentifier(t),e.factory.createIdentifier(r))}(\"default\",i.name.text));break;default:e.Debug.assertNever(i,\"Unexpected parent kind \"+i.kind)}}(r,t,n)}))}(s,c,u,l)})),renameFilename:void 0,renameLocation:void 0}}})}(e.refactor||(e.refactor={}))}(u||(u={})),function(e){!function(t){var r=\"Convert import\",n=\"Convert namespace import to named imports\",i=\"Convert named imports to namespace import\";function a(t,r){void 0===r&&(r=!0);var n=t.file,i=e.getRefactorContextSpan(t),a=e.getTokenAtPosition(n,i.start),o=r?e.findAncestor(a,e.isImportDeclaration):e.getParentNodeInSpan(a,n,i);if(!o||!e.isImportDeclaration(o))return{error:\"Selection is not an import declaration.\"};if(!(o.getEnd()=_.pos?p.getEnd():_.getEnd()),g=l?function(e){for(;e.parent;){if(o(e)&&!o(e.parent))return e;e=e.parent}return}(_):function(e,t){for(;e.parent;){if(o(e)&&0!==t.length&&e.end>=t.start+t.length)return e;e=e.parent}return}(_,f),m=g&&o(g)?function(t){if(a(t))return t;if(e.isVariableStatement(t)){var r=e.getSingleVariableOfVariableStatement(t),n=null==r?void 0:r.initializer;return n&&a(n)?n:void 0}return t.expression&&a(t.expression)?t.expression:void 0}(g):void 0;if(!m)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};var y=i.getTypeChecker();return e.isConditionalExpression(m)?function(t,r){var n=t.condition,i=d(t.whenTrue);if(!i||r.isNullableType(r.getTypeAtLocation(i)))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};if((e.isPropertyAccessExpression(n)||e.isIdentifier(n))&&u(n,i.expression))return{info:{finalExpression:i,occurrences:[n],expression:t}};if(e.isBinaryExpression(n)){var a=c(i.expression,n);return a?{info:{finalExpression:i,occurrences:a,expression:t}}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_matching_access_expressions)}}}(m,y):function(t){if(55!==t.operatorToken.kind)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Can_only_convert_logical_AND_access_chains)};var r=d(t.right);if(!r)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};var n=c(r.expression,t.left);return n?{info:{finalExpression:r,occurrences:n,expression:t}}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_matching_access_expressions)}}(m)}}function c(t,r){for(var n=[];e.isBinaryExpression(r)&&55===r.operatorToken.kind;){var i=u(e.skipParentheses(t),e.skipParentheses(r.right));if(!i)break;n.push(i),t=i,r=r.left}var a=u(t,r);return a&&n.push(a),n.length>0?n:void 0}function u(t,r){if(e.isIdentifier(r)||e.isPropertyAccessExpression(r)||e.isElementAccessExpression(r))return function(t,r){for(;(e.isCallExpression(t)||e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t))&&l(t)!==l(r);)t=t.expression;for(;e.isPropertyAccessExpression(t)&&e.isPropertyAccessExpression(r)||e.isElementAccessExpression(t)&&e.isElementAccessExpression(r);){if(l(t)!==l(r))return!1;t=t.expression,r=r.expression}return e.isIdentifier(t)&&e.isIdentifier(r)&&t.getText()===r.getText()}(t,r)?r:void 0}function l(t){return e.isIdentifier(t)||e.isStringOrNumericLiteralLike(t)?t.getText():e.isPropertyAccessExpression(t)?l(t.name):e.isElementAccessExpression(t)?l(t.argumentExpression):void 0}function d(t){return t=e.skipParentheses(t),e.isBinaryExpression(t)?d(t.left):(e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t)||e.isCallExpression(t))&&!e.isOptionalChain(t)?t:void 0}function _(t,r,n){if(e.isPropertyAccessExpression(r)||e.isElementAccessExpression(r)||e.isCallExpression(r)){var i=_(t,r.expression,n),a=n.length>0?n[n.length-1]:void 0,o=(null==a?void 0:a.getText())===r.expression.getText();if(o&&n.pop(),e.isCallExpression(r))return o?e.factory.createCallChain(i,e.factory.createToken(28),r.typeArguments,r.arguments):e.factory.createCallChain(i,r.questionDotToken,r.typeArguments,r.arguments);if(e.isPropertyAccessExpression(r))return o?e.factory.createPropertyAccessChain(i,e.factory.createToken(28),r.name):e.factory.createPropertyAccessChain(i,r.questionDotToken,r.name);if(e.isElementAccessExpression(r))return o?e.factory.createElementAccessChain(i,e.factory.createToken(28),r.argumentExpression):e.factory.createElementAccessChain(i,r.questionDotToken,r.argumentExpression)}return r}t.registerRefactor(n,{getAvailableActions:function(t){var r=s(t,\"invoked\"===t.triggerReason);if(!r)return e.emptyArray;if(!r.error)return[{name:n,description:i,actions:[{name:n,description:i}]}];if(t.preferences.provideRefactorNotApplicableReason)return[{name:n,description:i,actions:[{name:n,description:i,notApplicableReason:r.error}]}];return e.emptyArray},getEditsForAction:function(t,r){var n=s(t);return n&&n.info?{edits:e.textChanges.ChangeTracker.with(t,(function(r){return function(t,r,n,i,a){var o=i.finalExpression,s=i.occurrences,c=i.expression,u=s[s.length-1],l=_(r,o,s);l&&(e.isPropertyAccessExpression(l)||e.isElementAccessExpression(l)||e.isCallExpression(l))&&(e.isBinaryExpression(c)?n.replaceNodeRange(t,u,o,l):e.isConditionalExpression(c)&&n.replaceNode(t,c,e.factory.createBinaryExpression(l,e.factory.createToken(60),c.whenFalse)))}(t.file,t.program.getTypeChecker(),r,e.Debug.checkDefined(n.info,\"context must have info\"))})),renameFilename:void 0,renameLocation:void 0}:void 0}})}(t.convertToOptionalChainExpression||(t.convertToOptionalChainExpression={}))}(e.refactor||(e.refactor={}))}(u||(u={})),function(e){!function(t){!function(r){var n=\"Convert overload list to single signature\",i=e.Diagnostics.Convert_overload_list_to_single_signature.message;function a(e){switch(e.kind){case 164:case 165:case 169:case 166:case 170:case 251:return!0}return!1}function o(t,r,n){var i=e.getTokenAtPosition(t,r),o=e.findAncestor(i,a);if(o){var s=n.getTypeChecker(),c=o.symbol;if(c){var u=c.declarations;if(!(e.length(u)<=1)&&e.every(u,(function(r){return e.getSourceFileOfNode(r)===t}))&&a(u[0])){var l=u[0].kind;if(e.every(u,(function(e){return e.kind===l}))){var d=u;if(!e.some(d,(function(t){return!!t.typeParameters||e.some(t.parameters,(function(t){return!!t.decorators||!!t.modifiers||!e.isIdentifier(t.name)}))}))){var _=e.mapDefined(d,(function(e){return s.getSignatureFromDeclaration(e)}));if(e.length(_)===e.length(u)){var p=s.getReturnTypeOfSignature(_[0]);if(e.every(_,(function(e){return s.getReturnTypeOfSignature(e)===p})))return d}}}}}}}t.registerRefactor(n,{getEditsForAction:function(t){var r=t.file,n=t.startPosition,i=t.program,a=o(r,n,i);if(!a)return;var s=i.getTypeChecker(),c=a[a.length-1],u=c;switch(c.kind){case 164:u=e.factory.updateMethodSignature(c,c.modifiers,c.name,c.questionToken,c.typeParameters,d(a),c.type);break;case 165:u=e.factory.updateMethodDeclaration(c,c.decorators,c.modifiers,c.asteriskToken,c.name,c.questionToken,c.typeParameters,d(a),c.type,c.body);break;case 169:u=e.factory.updateCallSignature(c,c.typeParameters,d(a),c.type);break;case 166:u=e.factory.updateConstructorDeclaration(c,c.decorators,c.modifiers,d(a),c.body);break;case 170:u=e.factory.updateConstructSignature(c,c.typeParameters,d(a),c.type);break;case 251:u=e.factory.updateFunctionDeclaration(c,c.decorators,c.modifiers,c.asteriskToken,c.name,c.typeParameters,d(a),c.type,c.body);break;default:return e.Debug.failBadSyntaxKind(c,\"Unhandled signature kind in overload list conversion refactoring\")}if(u===c)return;var l=e.textChanges.ChangeTracker.with(t,(function(e){e.replaceNodeRange(r,a[0],a[a.length-1],u)}));return{renameFilename:void 0,renameLocation:void 0,edits:l};function d(t){var r=t[t.length-1];return e.isFunctionLikeDeclaration(r)&&r.body&&(t=t.slice(0,t.length-1)),e.factory.createNodeArray([e.factory.createParameterDeclaration(void 0,void 0,e.factory.createToken(25),\"args\",void 0,e.factory.createUnionTypeNode(e.map(t,_)))])}function _(t){var r=e.map(t.parameters,p);return e.setEmitFlags(e.factory.createTupleTypeNode(r),e.some(r,(function(t){return!!e.length(e.getSyntheticLeadingComments(t))}))?0:1)}function p(t){e.Debug.assert(e.isIdentifier(t.name));var r=e.setTextRange(e.factory.createNamedTupleMember(t.dotDotDotToken,t.name,t.questionToken,t.type||e.factory.createKeywordTypeNode(128)),t),n=t.symbol&&t.symbol.getDocumentationComment(s);if(n){var i=e.displayPartsToString(n);i.length&&e.setSyntheticLeadingComments(r,[{text:\"*\\n\"+i.split(\"\\n\").map((function(e){return\" * \"+e})).join(\"\\n\")+\"\\n \",kind:3,pos:-1,end:-1,hasTrailingNewLine:!0,hasLeadingNewline:!0}])}return r}},getAvailableActions:function(t){var r=t.file,a=t.startPosition,s=t.program;return o(r,a,s)?[{name:n,description:i,actions:[{name:n,description:i}]}]:e.emptyArray}})}(t.addOrRemoveBracesToArrowFunction||(t.addOrRemoveBracesToArrowFunction={}))}(e.refactor||(e.refactor={}))}(u||(u={})),function(e){!function(t){!function(r){var n,i,a,o,s=\"Extract Symbol\";function c(t){var r=l(t.file,e.getRefactorContextSpan(t),\"invoked\"===t.triggerReason),n=r.targetRange;if(void 0===n)return r.errors&&0!==r.errors.length&&t.preferences.provideRefactorNotApplicableReason?[{name:s,description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_function),actions:[{description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_function),name:\"function_extract_error\",notApplicableReason:S(r.errors)}]},{name:s,description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_constant),actions:[{description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_constant),name:\"constant_extract_error\",notApplicableReason:S(r.errors)}]}]:e.emptyArray;var i=function(t,r){var n=p(t,r),i=n.scopes,a=n.readsAndWrites,o=a.functionErrorsPerScope,s=a.constantErrorsPerScope;return i.map((function(t,r){var n,i,a=function(t){return e.isFunctionLikeDeclaration(t)?\"inner function\":e.isClassLike(t)?\"method\":\"function\"}(t),c=function(t){return e.isClassLike(t)?\"readonly field\":\"constant\"}(t),u=e.isFunctionLikeDeclaration(t)?function(t){switch(t.kind){case 166:return\"constructor\";case 208:case 251:return t.name?\"function '\"+t.name.text+\"'\":e.ANONYMOUS;case 209:return\"arrow function\";case 165:return\"method '\"+t.name.getText()+\"'\";case 167:return\"'get \"+t.name.getText()+\"'\";case 168:return\"'set \"+t.name.getText()+\"'\";default:throw e.Debug.assertNever(t,\"Unexpected scope kind \"+t.kind)}}(t):e.isClassLike(t)?function(e){return 252===e.kind?e.name?\"class '\"+e.name.text+\"'\":\"anonymous class declaration\":e.name?\"class expression '\"+e.name.text+\"'\":\"anonymous class expression\"}(t):function(e){return 257===e.kind?\"namespace '\"+e.parent.name.getText()+\"'\":e.externalModuleIndicator?0:1}(t);return 1===u?(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[a,\"global\"]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[c,\"global\"])):0===u?(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[a,\"module\"]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[c,\"module\"])):(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[a,u]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[c,u])),0!==r||e.isClassLike(t)||(i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_enclosing_scope),[c])),{functionExtraction:{description:n,errors:o[r]},constantExtraction:{description:i,errors:s[r]}}}))}(n,t);if(void 0===i)return e.emptyArray;for(var a,o,c=[],u=new e.Map,d=[],_=new e.Map,f=0,g=0,m=i;g0;if(e.isBlock(t)&&!s&&0===i.size)return{body:e.factory.createBlock(t.statements,!0),returnValueProperty:void 0};var c=!1,u=e.factory.createNodeArray(e.isBlock(t)?t.statements.slice(0):[e.isStatement(t)?t:e.factory.createReturnStatement(t)]);if(s||i.size){var l=e.visitNodes(u,_).slice();if(s&&!a&&e.isStatement(t)){var d=m(r,n);1===d.length?l.push(e.factory.createReturnStatement(d[0].name)):l.push(e.factory.createReturnStatement(e.factory.createObjectLiteralExpression(d)))}return{body:e.factory.createBlock(l,!0),returnValueProperty:o}}return{body:e.factory.createBlock(u,!0),returnValueProperty:void 0};function _(t){if(!c&&e.isReturnStatement(t)&&s){var a=m(r,n);return t.expression&&(o||(o=\"__return\"),a.unshift(e.factory.createPropertyAssignment(o,e.visitNode(t.expression,_)))),1===a.length?e.factory.createReturnStatement(a[0].name):e.factory.createReturnStatement(e.factory.createObjectLiteralExpression(a))}var u=c;c=c||e.isFunctionLikeDeclaration(t)||e.isClassLike(t);var l=i.get(e.getNodeId(t).toString()),d=l?e.getSynthesizedDeepClone(l):e.visitEachChild(t,_,e.nullTransformationContext);return c=u,d}}(t,a,u,_,!!(o.facts&i.HasReturn)),I=w.body,O=w.returnValueProperty;if(e.suppressLeadingAndTrailingTrivia(I),e.isClassLike(r)){var M=S?[]:[e.factory.createModifier(120)];o.facts&i.InStaticRegion&&M.push(e.factory.createModifier(123)),o.facts&i.IsAsyncFunction&&M.push(e.factory.createModifier(129)),P=e.factory.createMethodDeclaration(void 0,M.length?M:void 0,o.facts&i.IsGenerator?e.factory.createToken(41):void 0,E,void 0,A,T,c,I)}else P=e.factory.createFunctionDeclaration(void 0,o.facts&i.IsAsyncFunction?[e.factory.createToken(129)]:void 0,o.facts&i.IsGenerator?e.factory.createToken(41):void 0,E,A,T,c,I);var L=e.textChanges.ChangeTracker.fromContext(s),R=function(t,r){return e.find(function(t){if(e.isFunctionLikeDeclaration(t)){var r=t.body;if(e.isBlock(r))return r.statements}else{if(e.isModuleBlock(t)||e.isSourceFile(t))return t.statements;if(e.isClassLike(t))return t.members;e.assertType(t)}return e.emptyArray}(r),(function(r){return r.pos>=t&&e.isFunctionLikeDeclaration(r)&&!e.isConstructorDeclaration(r)}))}((y(o.range)?e.last(o.range):o.range).end,r);R?L.insertNodeBefore(s.file,R,P,!0):L.insertNodeAtEndOfScope(s.file,r,P);h.writeFixes(L);var B=[],j=function(t,r,n){var a=e.factory.createIdentifier(n);if(e.isClassLike(t)){var o=r.facts&i.InStaticRegion?e.factory.createIdentifier(t.name.text):e.factory.createThis();return e.factory.createPropertyAccessExpression(o,a)}return a}(r,o,b),J=e.factory.createCallExpression(j,F,C);o.facts&i.IsGenerator&&(J=e.factory.createYieldExpression(e.factory.createToken(41),J));o.facts&i.IsAsyncFunction&&(J=e.factory.createAwaitExpression(J));D(t)&&(J=e.factory.createJsxExpression(void 0,J));if(a.length&&!u)if(e.Debug.assert(!O,\"Expected no returnValueProperty\"),e.Debug.assert(!(o.facts&i.HasReturn),\"Expected RangeFacts.HasReturn flag to be unset\"),1===a.length){var K=a[0];B.push(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(e.getSynthesizedDeepClone(K.name),void 0,e.getSynthesizedDeepClone(K.type),J)],K.parent.flags)))}else{for(var z=[],U=[],V=a[0].parent.flags,q=!1,W=0,H=a;W0,\"Found no members\");for(var a=!0,o=0,s=i;ot)return n||i[0];if(a&&!e.isPropertyDeclaration(c)){if(void 0!==n)return c;a=!1}n=c}return void 0===n?e.Debug.fail():n}(t.pos,r);m.insertNodeBefore(o.file,b,v,!0),m.replaceNode(o.file,t,x)}else{var S=e.factory.createVariableDeclaration(d,void 0,f,g),E=function(t,r){var n;for(;void 0!==t&&t!==r;){if(e.isVariableDeclaration(t)&&t.initializer===n&&e.isVariableDeclarationList(t.parent)&&t.parent.declarations.length>1)return t;n=t,t=t.parent}}(t,r);if(E){m.insertNodeBefore(o.file,E,S);x=e.factory.createIdentifier(d);m.replaceNode(o.file,t,x)}else if(233===t.parent.kind&&r===e.findAncestor(t,_)){var T=e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([S],2));m.replaceNode(o.file,t.parent,T)}else{T=e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([S],2));if(0===(b=function(t,r){var n;e.Debug.assert(!e.isClassLike(r));for(var i=t;i!==r;i=i.parent)_(i)&&(n=i);for(i=(n||t).parent;;i=i.parent){if(h(i)){for(var a=void 0,o=0,s=i.statements;ot.pos)break;a=c}return!a&&e.isCaseClause(i)?(e.Debug.assert(e.isSwitchStatement(i.parent.parent),\"Grandparent isn't a switch statement\"),i.parent.parent):e.Debug.checkDefined(a,\"prevStatement failed to get set\")}e.Debug.assert(i!==r,\"Didn't encounter a block-like before encountering scope\")}}(t,r)).pos?m.insertNodeAtTopOfFile(o.file,T,!1):m.insertNodeBefore(o.file,b,T,!1),233===t.parent.kind)m.delete(o.file,t.parent);else{x=e.factory.createIdentifier(d);D(t)&&(x=e.factory.createJsxExpression(void 0,x)),m.replaceNode(o.file,t,x)}}}var C=m.getChanges(),k=t.getSourceFile().fileName,A=e.getRenameLocation(C,k,d,!0);return{renameFilename:k,renameLocation:A,edits:C};function F(n,i){if(void 0===n)return{variableType:n,initializer:i};if(!e.isFunctionExpression(i)&&!e.isArrowFunction(i)||i.typeParameters)return{variableType:n,initializer:i};var a=u.getTypeAtLocation(t),o=e.singleOrUndefined(u.getSignaturesOfType(a,0));if(!o)return{variableType:n,initializer:i};if(o.getTypeParameters())return{variableType:n,initializer:i};for(var s=[],c=!1,l=0,d=i.parameters;l=r.start+r.length)return(o||(o=[])).push(e.createDiagnosticForNode(a,n.cannotExtractSuper)),!0}else f|=i.UsesThis;break;case 209:e.forEachChild(a,(function t(r){if(e.isThis(r))f|=i.UsesThis;else{if(e.isClassLike(r)||e.isFunctionLike(r)&&!e.isArrowFunction(r))return!1;e.forEachChild(r,t)}}));case 252:case 251:e.isSourceFile(a.parent)&&void 0===a.parent.externalModuleIndicator&&(o||(o=[])).push(e.createDiagnosticForNode(a,n.functionWillNotBeVisibleInTheNewScope));case 221:case 208:case 165:case 166:case 167:case 168:return!1}var d=u;switch(a.kind){case 234:case 247:u=0;break;case 230:a.parent&&247===a.parent.kind&&a.parent.finallyBlock===a&&(u=4);break;case 285:case 284:u|=1;break;default:e.isIterationStatement(a,!1)&&(u|=3)}switch(a.kind){case 187:case 107:f|=i.UsesThis;break;case 245:var _=a.label;(c||(c=[])).push(_.escapedText),e.forEachChild(a,t),c.pop();break;case 241:case 240:(_=a.label)?e.contains(c,_.escapedText)||(o||(o=[])).push(e.createDiagnosticForNode(a,n.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)):u&(241===a.kind?1:2)||(o||(o=[])).push(e.createDiagnosticForNode(a,n.cannotExtractRangeContainingConditionalBreakOrContinueStatements));break;case 213:f|=i.IsAsyncFunction;break;case 219:f|=i.IsGenerator;break;case 242:4&u?f|=i.HasReturn:(o||(o=[])).push(e.createDiagnosticForNode(a,n.cannotExtractRangeContainingConditionalReturnStatement));break;default:e.forEachChild(a,t)}u=d}(t),o}}function d(t){return e.isStatement(t)?[t]:e.isExpressionNode(t)?e.isExpressionStatement(t.parent)?[t.parent]:t:void 0}function _(t){return e.isFunctionLikeDeclaration(t)||e.isSourceFile(t)||e.isModuleBlock(t)||e.isClassLike(t)}function p(t,r){var a=r.file,o=function(t){var r=y(t.range)?e.first(t.range):t.range;if(t.facts&i.UsesThis){var n=e.getContainingClass(r);if(n){var a=e.findAncestor(r,e.isFunctionLikeDeclaration);return a?[a,n]:[n]}}for(var o=[];;)if(160===(r=r.parent).kind&&(r=e.findAncestor(r,(function(t){return e.isFunctionLikeDeclaration(t)})).parent),_(r)&&(o.push(r),297===r.kind))return o}(t);return{scopes:o,readsAndWrites:function(t,r,a,o,s,c){var u,l,d=new e.Map,_=[],p=[],f=[],g=[],m=[],v=new e.Map,h=[],D=y(t.range)?1===t.range.length&&e.isExpressionStatement(t.range[0])?t.range[0].expression:void 0:t.range;if(void 0===D){var x=t.range,b=e.first(x).getStart(),S=e.last(x).end;l=e.createFileDiagnostic(o,b,S-b,n.expressionExpected)}else 147456&s.getTypeAtLocation(D).flags&&(l=e.createDiagnosticForNode(D,n.uselessConstantType));for(var E=0,T=r;E0){for(var w=new e.Map,I=0,O=N;void 0!==O&&I0&&(i.usages.size>0||i.typeParameterUsages.size>0)){var a=y(t.range)?t.range[0]:t.range;g[r].push(e.createDiagnosticForNode(a,n.cannotAccessVariablesFromNestedScopes))}var o,s=!1;if(_[r].usages.forEach((function(t){2===t.usage&&(s=!0,106500&t.symbol.flags&&t.symbol.valueDeclaration&&e.hasEffectiveModifier(t.symbol.valueDeclaration,64)&&(o=t.symbol.valueDeclaration))})),e.Debug.assert(y(t.range)||0===h.length,\"No variable declarations expected if something was extracted\"),s&&!y(t.range)){var c=e.createDiagnosticForNode(t.range,n.cannotWriteInExpression);f[r].push(c),g[r].push(c)}else if(o&&r>0){c=e.createDiagnosticForNode(o,n.cannotExtractReadonlyPropertyInitializerOutsideConstructor);f[r].push(c),g[r].push(c)}else if(u){c=e.createDiagnosticForNode(u,n.cannotExtractExportedEntity);f[r].push(c),g[r].push(c)}},K=0;K=u)return m;if(A.set(m,u),y){for(var v=0,h=_;v=0)){var n=e.isIdentifier(r)?G(r):s.getSymbolAtLocation(r);if(n){var i=e.find(m,(function(e){return e.symbol===n}));if(i)if(e.isVariableDeclaration(i)){var a=i.symbol.id.toString();v.has(a)||(h.push(i),v.set(a,!0))}else u=u||i}e.forEachChild(r,H)}}function G(t){return t.parent&&e.isShorthandPropertyAssignment(t.parent)&&t.parent.name===t?s.getShorthandAssignmentValueSymbol(t.parent):s.getSymbolAtLocation(t)}function Y(t,r,n){if(t){var i=t.getDeclarations();if(i&&i.some((function(e){return e.parent===r})))return e.factory.createIdentifier(t.name);var a=Y(t.parent,r,n);if(void 0!==a)return n?e.factory.createQualifiedName(a,e.factory.createIdentifier(t.name)):e.factory.createPropertyAccessExpression(a,t.name)}}}(t,o,function(t,r){return y(t.range)?{pos:e.first(t.range).getStart(r),end:e.last(t.range).getEnd()}:t.range}(t,a),a,r.program.getTypeChecker(),r.cancellationToken)}}function f(e){var t,r=e.symbol;if(r&&r.declarations)for(var n=0,i=r.declarations;nn.pos}));if(-1!==a){var o=i[a];if(e.isNamedDeclaration(o)&&o.name&&e.rangeContainsRange(o.name,n))return{toMove:[i[a]],afterLast:i[a+1]};if(!(n.pos>o.getStart(r))){var s=e.findIndex(i,(function(e){return e.end>n.end}),a);if(-1===s||!(0===s||i[s].getStart(r)=2&&e.every(t,(function(t){return function(t,r){if(e.isRestParameter(t)){var n=r.getTypeAtLocation(t);if(!r.isArrayType(n)&&!r.isTupleType(n))return!1}return!t.modifiers&&!t.decorators&&e.isIdentifier(t.name)}(t,r)}))}(t.parameters,r))return!1;switch(t.kind){case 251:return _(t)&&d(t,r);case 165:return d(t,r);case 166:return e.isClassDeclaration(t.parent)?_(t.parent)&&d(t,r):p(t.parent.parent)&&d(t,r);case 208:case 209:return p(t.parent)}return!1}(a,n)&&e.rangeContainsRange(a,i))||a.body&&e.rangeContainsRange(a.body,i)?void 0:a}function d(e,t){return!!e.body&&!t.isImplementationOfOverload(e)}function _(t){return!!t.name||!!e.findModifier(t,87)}function p(t){return e.isVariableDeclaration(t)&&e.isVarConst(t)&&e.isIdentifier(t.name)&&!t.type}function f(t){return t.length>0&&e.isThis(t[0].name)}function g(t){return f(t)&&(t=e.factory.createNodeArray(t.slice(1),t.hasTrailingComma)),t}function m(t,r){var n=g(t.parameters),i=e.isRestParameter(e.last(n)),a=i?r.slice(0,n.length-1):r,o=e.map(a,(function(t,r){var i=function(t,r){return e.isIdentifier(r)&&e.getTextOfIdentifierOrLiteral(r)===t?e.factory.createShorthandPropertyAssignment(t):e.factory.createPropertyAssignment(t,r)}(y(n[r]),t);return e.suppressLeadingAndTrailingTrivia(i.name),e.isPropertyAssignment(i)&&e.suppressLeadingAndTrailingTrivia(i.initializer),e.copyComments(t,i),i}));if(i&&r.length>=n.length){var s=r.slice(n.length-1),c=e.factory.createPropertyAssignment(y(e.last(n)),e.factory.createArrayLiteralExpression(s));o.push(c)}return e.factory.createObjectLiteralExpression(o,!1)}function y(t){return e.getTextOfIdentifierOrLiteral(t.name)}t.registerRefactor(i,{getEditsForAction:function(t,n){e.Debug.assert(n===i,\"Unexpected action name\");var d=t.file,_=t.startPosition,p=t.program,v=t.cancellationToken,h=t.host,D=l(d,_,p.getTypeChecker());if(!D||!v)return;var x=function(t,n,i){var l=function(t){switch(t.kind){case 251:return t.name?[t.name]:[e.Debug.checkDefined(e.findModifier(t,87),\"Nameless function declaration should be a default export\")];case 165:return[t.name];case 166:var r=e.Debug.checkDefined(e.findChildOfKind(t,132,t.getSourceFile()),\"Constructor declaration should have constructor keyword\");return 221===t.parent.kind?[t.parent.parent.name,r]:[r];case 209:return[t.parent.name];case 208:return t.name?[t.name,t.parent.name]:[t.parent.name];default:return e.Debug.assertNever(t,\"Unexpected function declaration kind \"+t.kind)}}(t),d=e.isConstructorDeclaration(t)?function(t){switch(t.parent.kind){case 252:var r=t.parent;return r.name?[r.name]:[e.Debug.checkDefined(e.findModifier(r,87),\"Nameless class declaration should be a default export\")];case 221:var n=t.parent,i=t.parent.parent,a=n.name;return a?[a,i.name]:[i.name]}}(t):[],_=e.deduplicate(r(l,d),e.equateValues),p=n.getTypeChecker(),f=g(e.flatMap(_,(function(t){return e.FindAllReferences.getReferenceEntriesForNode(-1,t,n,n.getSourceFiles(),i)})));e.every(f.declarations,(function(t){return e.contains(_,t)}))||(f.valid=!1);return f;function g(r){for(var n={accessExpressions:[],typeUsages:[]},i={functionCalls:[],declarations:[],classReferences:n,valid:!0},_=e.map(l,m),p=e.map(d,m),f=e.isConstructorDeclaration(t),g=0,y=r;g0;){var o=i.shift();e.copyTrailingComments(t[o],a,r,3,!1),n(o,a)}}}(n,r,a),s=l(0,n),c=s[0],u=s[1],_=s[2];if(c===n.length){var p=e.factory.createNoSubstitutionTemplateLiteral(u);return o(_,p),p}var f=[],g=e.factory.createTemplateHead(u);o(_,g);for(var m=c;m333}));return n.kind<157?n:n.getFirstToken(t)}},r.prototype.getLastToken=function(t){this.assertHasRealPosition();var r=this.getChildren(t),n=e.lastOrUndefined(r);if(n)return n.kind<157?n:n.getLastToken(t)},r.prototype.forEachChild=function(t,r){return e.forEachChild(this,t,r)},r}();function a(r,n,i,a){for(e.scanner.setTextPos(n);n=n.length&&(t=this.getEnd()),t||(t=n[r+1]-1);var i=this.getFullText();return\"\\n\"===i[t]&&\"\\r\"===i[t-1]?t-1:t},r.prototype.getNamedDeclarations=function(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations},r.prototype.computeNamedDeclarations=function(){var t=e.createMultiMap();return this.forEachChild((function i(a){switch(a.kind){case 251:case 208:case 165:case 164:var o=a,s=n(o);if(s){var c=function(e){var r=t.get(e);r||t.set(e,r=[]);return r}(s),u=e.lastOrUndefined(c);u&&o.parent===u.parent&&o.symbol===u.symbol?o.body&&!u.body&&(c[c.length-1]=o):c.push(o)}e.forEachChild(a,i);break;case 252:case 221:case 253:case 254:case 255:case 256:case 260:case 270:case 265:case 262:case 263:case 167:case 168:case 177:r(a),e.forEachChild(a,i);break;case 160:if(!e.hasSyntacticModifier(a,92))break;case 249:case 198:var l=a;if(e.isBindingPattern(l.name)){e.forEachChild(l.name,i);break}l.initializer&&i(l.initializer);case 291:case 163:case 162:r(a);break;case 267:var d=a;d.exportClause&&(e.isNamedExports(d.exportClause)?e.forEach(d.exportClause.elements,i):i(d.exportClause.name));break;case 261:var _=a.importClause;_&&(_.name&&r(_.name),_.namedBindings&&(263===_.namedBindings.kind?r(_.namedBindings):e.forEach(_.namedBindings.elements,i)));break;case 216:0!==e.getAssignmentDeclarationKind(a)&&r(a);default:e.forEachChild(a,i)}})),t;function r(e){var r=n(e);r&&t.add(r,e)}function n(t){var r=e.getNonAssignedNameOfDeclaration(t);return r&&(e.isComputedPropertyName(r)&&e.isPropertyAccessExpression(r.expression)?r.expression.name.text:e.isPropertyName(r)?e.getNameFromPropertyName(r):void 0)}},r}(i),y=function(){function t(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r}return t.prototype.getLineAndCharacterOfPosition=function(t){return e.getLineAndCharacterOfPosition(this,t)},t}();function v(t){var r=!0;for(var n in t)if(e.hasProperty(t,n)&&!h(n)){r=!1;break}if(r)return t;var i={};for(var n in t){if(e.hasProperty(t,n))i[h(n)?n:n.charAt(0).toLowerCase()+n.substr(1)]=t[n]}return i}function h(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function D(){return{target:1,jsx:1}}e.toEditorSettings=v,e.displayPartsToString=function(t){return t?e.map(t,(function(e){return e.text})).join(\"\"):\"\"},e.getDefaultCompilerOptions=D,e.getSupportedCodeFixes=function(){return e.codefix.getSupportedErrorCodes()};var x=function(){function t(t,r){this.host=t,this.currentDirectory=t.getCurrentDirectory(),this.fileNameToEntry=new e.Map;for(var n=0,i=t.getScriptFileNames();n=this.throttleWaitMilliseconds&&(this.lastCancellationCheckTime=t,this.hostCancellationToken.isCancellationRequested())},t.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested())throw new e.OperationCanceledException},t}();e.ThrottledCancellationToken=k;var A=[\"getSyntacticDiagnostics\",\"getSemanticDiagnostics\",\"getSuggestionDiagnostics\",\"getCompilerOptionsDiagnostics\",\"getSemanticClassifications\",\"getEncodedSemanticClassifications\",\"getCodeFixesAtPosition\",\"getCombinedCodeFix\",\"applyCodeActionCommand\",\"organizeImports\",\"getEditsForFileRename\",\"getEmitOutput\",\"getApplicableRefactors\",\"getEditsForRefactor\",\"prepareCallHierarchy\",\"provideCallHierarchyIncomingCalls\",\"provideCallHierarchyOutgoingCalls\"],F=r(A,[\"getCompletionsAtPosition\",\"getCompletionEntryDetails\",\"getCompletionEntrySymbol\",\"getSignatureHelpItems\",\"getQuickInfoAtPosition\",\"getDefinitionAtPosition\",\"getDefinitionAndBoundSpan\",\"getImplementationAtPosition\",\"getTypeDefinitionAtPosition\",\"getReferencesAtPosition\",\"findReferences\",\"getOccurrencesAtPosition\",\"getDocumentHighlights\",\"getNavigateToItems\",\"getRenameInfo\",\"findRenameLocations\",\"getApplicableRefactors\"]);function N(t){var r=function(t){switch(t.kind){case 10:case 14:case 8:if(158===t.parent.kind)return e.isObjectLiteralElement(t.parent.parent)?t.parent.parent:void 0;case 78:return!e.isObjectLiteralElement(t.parent)||200!==t.parent.parent.kind&&281!==t.parent.parent.kind||t.parent.name!==t?void 0:t.parent}return}(t);return r&&(e.isObjectLiteralExpression(r.parent)||e.isJsxAttributes(r.parent))?r:void 0}function P(t,r,n,i){var a=e.getNameFromPropertyName(t.name);if(!a)return e.emptyArray;if(!n.isUnion())return(o=n.getProperty(a))?[o]:e.emptyArray;var o,s=e.mapDefined(n.types,(function(n){return e.isObjectLiteralExpression(t.parent)&&r.isTypeInvalidDueToUnionDiscriminant(n,t.parent)?void 0:n.getProperty(a)}));if(i&&(0===s.length||s.length===n.types.length)&&(o=n.getProperty(a)))return[o];return 0===s.length?e.mapDefined(n.types,(function(e){return e.getProperty(a)})):s}e.createLanguageService=function(t,i,a){var o,s;void 0===i&&(i=e.createDocumentRegistry(t.useCaseSensitiveFileNames&&t.useCaseSensitiveFileNames(),t.getCurrentDirectory())),s=void 0===a?e.LanguageServiceMode.Semantic:\"boolean\"==typeof a?a?e.LanguageServiceMode.Syntactic:e.LanguageServiceMode.Semantic:a;var c,u,l=new b(t),d=0,_=new C(t.getCancellationToken&&t.getCancellationToken()),p=t.getCurrentDirectory();function f(e){t.log&&t.log(e)}!e.localizedDiagnosticMessages&&t.getLocalizedDiagnosticMessages&&e.setLocalizedDiagnosticMessages(t.getLocalizedDiagnosticMessages());var g=e.hostUsesCaseSensitiveFileNames(t),m=e.createGetCanonicalFileName(g),y=e.getSourceMapper({useCaseSensitiveFileNames:function(){return g},getCurrentDirectory:function(){return p},getProgram:S,fileExists:e.maybeBind(t,t.fileExists),readFile:e.maybeBind(t,t.readFile),getDocumentPositionMapper:e.maybeBind(t,t.getDocumentPositionMapper),getSourceFileLike:e.maybeBind(t,t.getSourceFileLike),log:f});function h(e){var t=c.getSourceFile(e);if(!t){var r=new Error(\"Could not find source file: '\"+e+\"'.\");throw r.ProgramFiles=c.getSourceFiles().map((function(e){return e.fileName})),r}return t}function D(){var r,n;if(e.Debug.assert(s!==e.LanguageServiceMode.Syntactic),t.getProjectVersion){var a=t.getProjectVersion();if(a){if(u===a&&!(null===(r=t.hasChangedAutomaticTypeDirectiveNames)||void 0===r?void 0:r.call(t)))return;u=a}}var o=t.getTypeRootsVersion?t.getTypeRootsVersion():0;d!==o&&(f(\"TypeRoots version has changed; provide new program\"),c=void 0,d=o);var l=new x(t,m),v=l.getRootFileNames(),h=t.hasInvalidatedResolution||e.returnFalse,D=e.maybeBind(t,t.hasChangedAutomaticTypeDirectiveNames),b=l.getProjectReferences();if(!e.isProgramUptoDate(c,v,l.compilationSettings(),(function(e,r){return t.getScriptVersion(r)}),k,h,D,b)){var S=l.compilationSettings(),E={getSourceFile:function(t,r,n,i){return A(t,e.toPath(t,p,m),r,n,i)},getSourceFileByPath:A,getCancellationToken:function(){return _},getCanonicalFileName:m,useCaseSensitiveFileNames:function(){return g},getNewLine:function(){return e.getNewLineCharacter(S,(function(){return e.getNewLineOrDefaultFromHost(t)}))},getDefaultLibFileName:function(e){return t.getDefaultLibFileName(e)},writeFile:e.noop,getCurrentDirectory:function(){return p},fileExists:k,readFile:function(r){var n=e.toPath(r,p,m),i=l&&l.getEntryByPath(n);if(i)return e.isString(i)?void 0:e.getSnapshotText(i.scriptSnapshot);return t.readFile&&t.readFile(r)},getSymlinkCache:e.maybeBind(t,t.getSymlinkCache),realpath:e.maybeBind(t,t.realpath),directoryExists:function(r){return e.directoryProbablyExists(r,t)},getDirectories:function(e){return t.getDirectories?t.getDirectories(e):[]},readDirectory:function(r,n,i,a,o){return e.Debug.checkDefined(t.readDirectory,\"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'\"),t.readDirectory(r,n,i,a,o)},onReleaseOldSourceFile:function(e,t){var r=i.getKeyForCompilationSettings(t);i.releaseDocumentWithKey(e.resolvedPath,r)},hasInvalidatedResolution:h,hasChangedAutomaticTypeDirectiveNames:D,trace:e.maybeBind(t,t.trace),resolveModuleNames:e.maybeBind(t,t.resolveModuleNames),resolveTypeReferenceDirectives:e.maybeBind(t,t.resolveTypeReferenceDirectives),useSourceOfProjectReferenceRedirect:e.maybeBind(t,t.useSourceOfProjectReferenceRedirect)};null===(n=t.setCompilerHost)||void 0===n||n.call(t,E);var T=i.getKeyForCompilationSettings(S),C={rootNames:v,options:S,host:E,oldProgram:c,projectReferences:b};return c=e.createProgram(C),l=void 0,y.clearCache(),void c.getTypeChecker()}function k(r){var n=e.toPath(r,p,m),i=l&&l.getEntryByPath(n);return i?!e.isString(i):!!t.fileExists&&t.fileExists(r)}function A(t,r,n,a,o){e.Debug.assert(void 0!==l,\"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.\");var s=l&&l.getOrCreateEntryByPath(t,r);if(s){if(!o){var u=c&&c.getSourceFileByPath(r);if(u)return e.Debug.assertEqual(s.scriptKind,u.scriptKind,\"Registered script kind should match new script kind.\"),i.updateDocumentWithKey(t,r,S,T,s.scriptSnapshot,s.version,s.scriptKind)}return i.acquireDocumentWithKey(t,r,S,T,s.scriptSnapshot,s.version,s.scriptKind)}}}function S(){if(s!==e.LanguageServiceMode.Syntactic)return D(),c;e.Debug.assert(void 0===c)}function E(t,r,n){var i=e.normalizePath(t);e.Debug.assert(n.some((function(t){return e.normalizePath(t)===i}))),D();var a=e.mapDefined(n,(function(e){return c.getSourceFile(e)})),o=h(t);return e.DocumentHighlights.getDocumentHighlights(c,_,o,r,a)}function T(t,r,n,i){D();var a=n&&2===n.use?c.getSourceFiles().filter((function(e){return!c.isSourceFileDefaultLibrary(e)})):c.getSourceFiles();return e.FindAllReferences.findReferenceOrRenameEntries(c,_,a,t,r,n,i)}function k(r){var n=e.getScriptKind(r,t);return 3===n||4===n}var w=new e.Map(e.getEntries(((o={})[18]=19,o[20]=21,o[22]=23,o[31]=29,o)));function I(r){return e.Debug.assertEqual(r.type,\"install package\"),t.installPackage?t.installPackage({fileName:function(t){return e.toPath(t,p,m)}(r.file),packageName:r.packageName}):Promise.reject(\"Host does not implement `installPackage`\")}function O(e,t){return{lineStarts:e.getLineStarts(),firstLine:e.getLineAndCharacterOfPosition(t.pos).line,lastLine:e.getLineAndCharacterOfPosition(t.end).line}}function M(t,r,n){for(var i=l.getCurrentSourceFile(t),a=[],o=O(i,r),s=o.lineStarts,c=o.firstLine,u=o.lastLine,d=n||!1,_=Number.MAX_VALUE,p=new e.Map,f=new RegExp(/\\S/),g=e.isInsideJsxElement(i,s[c]),m=g?\"{/*\":\"//\",y=c;y<=u;y++){var v=i.text.substring(s[y],i.getLineEndOfPosition(s[y])),h=f.exec(v);h&&(_=Math.min(_,h.index),p.set(y.toString(),h.index),v.substr(h.index,m.length)!==m&&(d=void 0===n||n))}for(y=c;y<=u;y++)if(c===u||s[y]!==r.end){var D=p.get(y.toString());void 0!==D&&(g?a.push.apply(a,L(t,{pos:s[y]+_,end:i.getLineEndOfPosition(s[y])},d,g)):d?a.push({newText:m,span:{length:0,start:s[y]+_}}):i.text.substr(s[y]+D,m.length)===m&&a.push({newText:\"\",span:{length:m.length,start:s[y]+D}}))}return a}function L(t,r,n,i){for(var a,o=l.getCurrentSourceFile(t),s=[],c=o.text,u=!1,d=n||!1,_=[],p=r.pos,f=void 0!==i?i:e.isInsideJsxElement(o,p),g=f?\"{/*\":\"/*\",m=f?\"*/}\":\"*/\",y=f?\"\\\\{\\\\/\\\\*\":\"\\\\/\\\\*\",v=f?\"\\\\*\\\\/\\\\}\":\"\\\\*\\\\/\";p<=r.end;){var h=c.substr(p,g.length)===g?g.length:0,D=e.isInComment(o,p+h);if(D)f&&(D.pos--,D.end++),_.push(D.pos),3===D.kind&&_.push(D.end),u=!0,p=D.end+1;else{var x=c.substring(p,r.end).search(\"(\"+y+\")|(\"+v+\")\");d=void 0!==n?n:d||!e.isTextWhiteSpaceLike(c,p,-1===x?r.end:p+x),p=-1===x?r.end+1:p+x+m.length}}if(d||!u){2!==(null===(a=e.isInComment(o,r.pos))||void 0===a?void 0:a.kind)&&e.insertSorted(_,r.pos,e.compareValues),e.insertSorted(_,r.end,e.compareValues);var b=_[0];c.substr(b,g.length)!==g&&s.push({newText:g,span:{length:0,start:b}});for(var S=1;S<_.length-1;S++)c.substr(_[S]-m.length,m.length)!==m&&s.push({newText:m,span:{length:0,start:_[S]}}),c.substr(_[S],g.length)!==g&&s.push({newText:g,span:{length:0,start:_[S]}});s.length%2!=0&&s.push({newText:m,span:{length:0,start:_[_.length-1]}})}else for(var E=0,T=_;E0?C-m.length:0;h=c.substr(k,m.length)===m?m.length:0;s.push({newText:\"\",span:{length:g.length,start:C-h}})}return s}function R(t){var r=t.openingElement,n=t.closingElement,i=t.parent;return!e.tagNamesAreEquivalent(r.tagName,n.tagName)||e.isJsxElement(i)&&e.tagNamesAreEquivalent(r.tagName,i.openingElement.tagName)&&R(i)}function B(r,n,i,a,o){var s=\"number\"==typeof n?[n,void 0]:[n.pos,n.end];return{file:r,startPosition:s[0],endPosition:s[1],program:S(),host:t,formatContext:e.formatting.getFormatContext(a,t),cancellationToken:_,preferences:i,triggerReason:o}}w.forEach((function(e,t){return w.set(e.toString(),Number(t))}));var j={dispose:function(){if(c){var r=i.getKeyForCompilationSettings(c.getCompilerOptions());e.forEach(c.getSourceFiles(),(function(e){return i.releaseDocumentWithKey(e.resolvedPath,r)})),c=void 0}t=void 0},cleanupSemanticCache:function(){c=void 0},getSyntacticDiagnostics:function(e){return D(),c.getSyntacticDiagnostics(h(e),_).slice()},getSemanticDiagnostics:function(t){D();var n=h(t),i=c.getSemanticDiagnostics(n,_);if(!e.getEmitDeclarations(c.getCompilerOptions()))return i.slice();var a=c.getDeclarationDiagnostics(n,_);return r(i,a)},getSuggestionDiagnostics:function(t){return D(),e.computeSuggestionDiagnostics(h(t),c,_)},getCompilerOptionsDiagnostics:function(){return D(),r(c.getOptionsDiagnostics(_),c.getGlobalDiagnostics(_))},getSyntacticClassifications:function(t,r){return e.getSyntacticClassifications(_,l.getCurrentSourceFile(t),r)},getSemanticClassifications:function(t,r,n){return k(t)?(D(),\"2020\"===(n||\"original\")?e.classifier.v2020.getSemanticClassifications(c,_,h(t),r):e.getSemanticClassifications(c.getTypeChecker(),_,h(t),c.getClassifiableNames(),r)):[]},getEncodedSyntacticClassifications:function(t,r){return e.getEncodedSyntacticClassifications(_,l.getCurrentSourceFile(t),r)},getEncodedSemanticClassifications:function(t,r,n){return k(t)?(D(),\"original\"===(n||\"original\")?e.getEncodedSemanticClassifications(c.getTypeChecker(),_,h(t),c.getClassifiableNames(),r):e.classifier.v2020.getEncodedSemanticClassifications(c,_,h(t),r)):{spans:[],endOfLineState:0}},getCompletionsAtPosition:function(r,i,a){void 0===a&&(a=e.emptyOptions);var o=n(n({},e.identity(a)),{includeCompletionsForModuleExports:a.includeCompletionsForModuleExports||a.includeExternalModuleExports,includeCompletionsWithInsertText:a.includeCompletionsWithInsertText||a.includeInsertTextCompletions});return D(),e.Completions.getCompletionsAtPosition(t,c,f,h(r),i,o,a.triggerCharacter)},getCompletionEntryDetails:function(r,n,i,a,o,s){return void 0===s&&(s=e.emptyOptions),D(),e.Completions.getCompletionEntryDetails(c,f,h(r),n,{name:i,source:o},t,a&&e.formatting.getFormatContext(a,t),s,_)},getCompletionEntrySymbol:function(r,n,i,a,o){return void 0===o&&(o=e.emptyOptions),D(),e.Completions.getCompletionEntrySymbol(c,f,h(r),n,{name:i,source:a},t,o)},getSignatureHelpItems:function(t,r,n){var i=(void 0===n?e.emptyOptions:n).triggerReason;D();var a=h(t);return e.SignatureHelp.getSignatureHelpItems(c,a,r,i,_)},getQuickInfoAtPosition:function(t,r){D();var n=h(t),i=e.getTouchingPropertyName(n,r);if(i!==n){var a=c.getTypeChecker(),o=function(t){if(e.isNewExpression(t.parent)&&t.pos===t.parent.pos)return t.parent.expression;return t}(i),s=function(t,r){var n=N(t);if(n){var i=r.getContextualType(n.parent),a=i&&P(n,r,i,!1);if(a&&1===a.length)return e.first(a)}return r.getSymbolAtLocation(t)}(o,a);if(!s||a.isUnknownSymbol(s)){var u=function(t,r,n){switch(r.kind){case 78:return!e.isLabelName(r)&&!e.isTagName(r);case 201:case 157:return!e.isInComment(t,n);case 107:case 187:case 105:return!0;default:return!1}}(n,o,r)?a.getTypeAtLocation(o):void 0;return u&&{kind:\"\",kindModifiers:\"\",textSpan:e.createTextSpanFromNode(o,n),displayParts:a.runWithCancellationToken(_,(function(t){return e.typeToDisplayParts(t,u,e.getContainerNode(o))})),documentation:u.symbol?u.symbol.getDocumentationComment(a):void 0,tags:u.symbol?u.symbol.getJsDocTags():void 0}}var l=a.runWithCancellationToken(_,(function(t){return e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(t,s,n,e.getContainerNode(o),o)})),d=l.symbolKind,p=l.displayParts,f=l.documentation,g=l.tags;return{kind:d,kindModifiers:e.SymbolDisplay.getSymbolModifiers(s),textSpan:e.createTextSpanFromNode(o,n),displayParts:p,documentation:f,tags:g}}},getDefinitionAtPosition:function(t,r){return D(),e.GoToDefinition.getDefinitionAtPosition(c,h(t),r)},getDefinitionAndBoundSpan:function(t,r){return D(),e.GoToDefinition.getDefinitionAndBoundSpan(c,h(t),r)},getImplementationAtPosition:function(t,r){return D(),e.FindAllReferences.getImplementationsAtPosition(c,_,c.getSourceFiles(),h(t),r)},getTypeDefinitionAtPosition:function(t,r){return D(),e.GoToDefinition.getTypeDefinitionAtPosition(c.getTypeChecker(),h(t),r)},getReferencesAtPosition:function(t,r){return D(),T(e.getTouchingPropertyName(h(t),r),r,{use:1},e.FindAllReferences.toReferenceEntry)},findReferences:function(t,r){return D(),e.FindAllReferences.findReferencedSymbols(c,_,c.getSourceFiles(),h(t),r)},getOccurrencesAtPosition:function(t,r){return e.flatMap(E(t,r,[t]),(function(e){return e.highlightSpans.map((function(t){return n(n({fileName:e.fileName,textSpan:t.textSpan,isWriteAccess:\"writtenReference\"===t.kind,isDefinition:!1},t.isInString&&{isInString:!0}),t.contextSpan&&{contextSpan:t.contextSpan})}))}))},getDocumentHighlights:E,getNameOrDottedNameSpan:function(t,r,n){var i=l.getCurrentSourceFile(t),a=e.getTouchingPropertyName(i,r);if(a!==i){switch(a.kind){case 201:case 157:case 10:case 94:case 109:case 103:case 105:case 107:case 187:case 78:break;default:return}for(var o=a;;)if(e.isRightSideOfPropertyAccess(o)||e.isRightSideOfQualifiedName(o))o=o.parent;else{if(!e.isNameOfModuleDeclaration(o))break;if(256!==o.parent.parent.kind||o.parent.parent.body!==o.parent)break;o=o.parent.parent.name}return e.createTextSpanFromBounds(o.getStart(),a.getEnd())}},getBreakpointStatementAtPosition:function(t,r){var n=l.getCurrentSourceFile(t);return e.BreakpointResolver.spanInSourceFileAtLocation(n,r)},getNavigateToItems:function(t,r,n,i){void 0===i&&(i=!1),D();var a=n?[h(n)]:c.getSourceFiles();return e.NavigateTo.getNavigateToItems(a,c.getTypeChecker(),_,t,r,i)},getRenameInfo:function(t,r,n){return D(),e.Rename.getRenameInfo(c,h(t),r,n)},getSmartSelectionRange:function(t,r){return e.SmartSelectionRange.getSmartSelectionRange(r,l.getCurrentSourceFile(t))},findRenameLocations:function(t,r,i,a,o){D();var s=h(t),c=e.getAdjustedRenameLocation(e.getTouchingPropertyName(s,r));if(e.isIdentifier(c)&&(e.isJsxOpeningElement(c.parent)||e.isJsxClosingElement(c.parent))&&e.isIntrinsicJsxName(c.escapedText)){var u=c.parent.parent;return[u.openingElement,u.closingElement].map((function(t){var r=e.createTextSpanFromNode(t.tagName,s);return n({fileName:s.fileName,textSpan:r},e.FindAllReferences.toContextSpan(r,s,t.parent))}))}return T(c,r,{findInStrings:i,findInComments:a,providePrefixAndSuffixTextForRename:o,use:2},(function(t,r,n){return e.FindAllReferences.toRenameLocation(t,r,n,o||!1)}))},getNavigationBarItems:function(t){return e.NavigationBar.getNavigationBarItems(l.getCurrentSourceFile(t),_)},getNavigationTree:function(t){return e.NavigationBar.getNavigationTree(l.getCurrentSourceFile(t),_)},getOutliningSpans:function(t){var r=l.getCurrentSourceFile(t);return e.OutliningElementsCollector.collectElements(r,_)},getTodoComments:function(t,r){D();var n=h(t);_.throwIfCancellationRequested();var i,a=n.text,o=[];if(r.length>0&&!function(t){return e.stringContains(t,\"/node_modules/\")}(n.fileName))for(var s=function(){var t=\"(\"+/(?:^(?:\\s|\\*)*)/.source+\"|\"+/(?:\\/\\/+\\s*)/.source+\"|\"+/(?:\\/\\*+\\s*)/.source+\")\",n=\"(?:\"+e.map(r,(function(e){return\"(\"+(e.text.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\")+\")\")})).join(\"|\")+\")\";return new RegExp(t+\"(\"+n+/(?:.*?)/.source+\")\"+/(?:$|\\*\\/)/.source,\"gim\")}(),c=void 0;c=s.exec(a);){_.throwIfCancellationRequested();e.Debug.assert(c.length===r.length+3);var u=c[1],l=c.index+u.length;if(e.isInComment(n,l)){for(var d=void 0,p=0;p=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57)){var f=c[2];o.push({descriptor:d,message:f,position:l})}}}return o},getBraceMatchingAtPosition:function(t,r){var n=l.getCurrentSourceFile(t),i=e.getTouchingToken(n,r),a=i.getStart(n)===r?w.get(i.kind.toString()):void 0,o=a&&e.findChildOfKind(i.parent,a,n);return o?[e.createTextSpanFromNode(i,n),e.createTextSpanFromNode(o,n)].sort((function(e,t){return e.start-t.start})):e.emptyArray},getIndentationAtPosition:function(t,r,n){var i=e.timestamp(),a=v(n),o=l.getCurrentSourceFile(t);f(\"getIndentationAtPosition: getCurrentSourceFile: \"+(e.timestamp()-i)),i=e.timestamp();var s=e.formatting.SmartIndenter.getIndentation(r,o,a);return f(\"getIndentationAtPosition: computeIndentation : \"+(e.timestamp()-i)),s},getFormattingEditsForRange:function(r,n,i,a){var o=l.getCurrentSourceFile(r);return e.formatting.formatSelection(n,i,o,e.formatting.getFormatContext(v(a),t))},getFormattingEditsForDocument:function(r,n){return e.formatting.formatDocument(l.getCurrentSourceFile(r),e.formatting.getFormatContext(v(n),t))},getFormattingEditsAfterKeystroke:function(r,n,i,a){var o=l.getCurrentSourceFile(r),s=e.formatting.getFormatContext(v(a),t);if(!e.isInComment(o,n))switch(i){case\"{\":return e.formatting.formatOnOpeningCurly(n,o,s);case\"}\":return e.formatting.formatOnClosingCurly(n,o,s);case\";\":return e.formatting.formatOnSemicolon(n,o,s);case\"\\n\":return e.formatting.formatOnEnter(n,o,s)}return[]},getDocCommentTemplateAtPosition:function(r,n){return e.JsDoc.getDocCommentTemplateAtPosition(e.getNewLineOrDefaultFromHost(t),l.getCurrentSourceFile(r),n)},isValidBraceCompletionAtPosition:function(t,r,n){if(60===n)return!1;var i=l.getCurrentSourceFile(t);if(e.isInString(i,r))return!1;if(e.isInsideJsxElementOrAttribute(i,r))return 123===n;if(e.isInTemplateString(i,r))return!1;switch(n){case 39:case 34:case 96:return!e.isInComment(i,r)}return!0},getJsxClosingTagAtPosition:function(t,r){var n=l.getCurrentSourceFile(t),i=e.findPrecedingToken(r,n);if(i){var a=31===i.kind&&e.isJsxOpeningElement(i.parent)?i.parent.parent:e.isJsxText(i)?i.parent:void 0;return a&&R(a)?{newText:\"\"}:void 0}},getSpanOfEnclosingComment:function(t,r,n){var i=l.getCurrentSourceFile(t),a=e.formatting.getRangeOfEnclosingComment(i,r);return!a||n&&3!==a.kind?void 0:e.createTextSpanFromRange(a)},getCodeFixesAtPosition:function(r,n,i,a,o,s){void 0===s&&(s=e.emptyOptions),D();var u=h(r),l=e.createTextSpanFromBounds(n,i),d=e.formatting.getFormatContext(o,t);return e.flatMap(e.deduplicate(a,e.equateValues,e.compareValues),(function(r){return _.throwIfCancellationRequested(),e.codefix.getFixes({errorCode:r,sourceFile:u,span:l,program:c,host:t,cancellationToken:_,formatContext:d,preferences:s})}))},getCombinedCodeFix:function(r,n,i,a){void 0===a&&(a=e.emptyOptions),D(),e.Debug.assert(\"file\"===r.type);var o=h(r.fileName),s=e.formatting.getFormatContext(i,t);return e.codefix.getAllFixes({fixId:n,sourceFile:o,program:c,host:t,cancellationToken:_,formatContext:s,preferences:a})},applyCodeActionCommand:function(t,r){var n=\"string\"==typeof t?r:t;return e.isArray(n)?Promise.all(n.map((function(e){return I(e)}))):I(n)},organizeImports:function(r,n,i){void 0===i&&(i=e.emptyOptions),D(),e.Debug.assert(\"file\"===r.type);var a=h(r.fileName),o=e.formatting.getFormatContext(n,t);return e.OrganizeImports.organizeImports(a,o,t,c,i)},getEditsForFileRename:function(r,n,i,a){return void 0===a&&(a=e.emptyOptions),e.getEditsForFileRename(S(),r,n,t,e.formatting.getFormatContext(i,t),a,y)},getEmitOutput:function(r,n,i){D();var a=h(r),o=t.getCustomTransformers&&t.getCustomTransformers();return e.getFileEmitOutput(c,a,!!n,_,o,i)},getNonBoundSourceFile:function(e){return l.getCurrentSourceFile(e)},getProgram:S,getAutoImportProvider:function(){var e;return null===(e=t.getPackageJsonAutoImportProvider)||void 0===e?void 0:e.call(t)},getApplicableRefactors:function(t,r,n,i){void 0===n&&(n=e.emptyOptions),D();var a=h(t);return e.refactor.getApplicableRefactors(B(a,r,n,e.emptyOptions,i))},getEditsForRefactor:function(t,r,n,i,a,o){void 0===o&&(o=e.emptyOptions),D();var s=h(t);return e.refactor.getEditsForRefactor(B(s,n,o,r),i,a)},toLineColumnOffset:y.toLineColumnOffset,getSourceMapper:function(){return y},clearSourceMapperCache:function(){return y.clearCache()},prepareCallHierarchy:function(t,r){D();var n=e.CallHierarchy.resolveCallHierarchyDeclaration(c,e.getTouchingPropertyName(h(t),r));return n&&e.mapOneOrMany(n,(function(t){return e.CallHierarchy.createCallHierarchyItem(c,t)}))},provideCallHierarchyIncomingCalls:function(t,r){D();var n=h(t),i=e.firstOrOnly(e.CallHierarchy.resolveCallHierarchyDeclaration(c,0===r?n:e.getTouchingPropertyName(n,r)));return i?e.CallHierarchy.getIncomingCalls(c,i,_):[]},provideCallHierarchyOutgoingCalls:function(t,r){D();var n=h(t),i=e.firstOrOnly(e.CallHierarchy.resolveCallHierarchyDeclaration(c,0===r?n:e.getTouchingPropertyName(n,r)));return i?e.CallHierarchy.getOutgoingCalls(c,i):[]},toggleLineComment:M,toggleMultilineComment:L,commentSelection:function(e,t){var r=O(l.getCurrentSourceFile(e),t);return r.firstLine===r.lastLine&&t.pos!==t.end?L(e,t,!0):M(e,t,!0)},uncommentSelection:function(t,r){var n=l.getCurrentSourceFile(t),i=[],a=r.pos,o=r.end;a===o&&(o+=e.isInsideJsxElement(n,a)?2:1);for(var s=a;s<=o;s++){var c=e.isInComment(n,s);if(c){switch(c.kind){case 2:i.push.apply(i,M(t,{end:c.end,pos:c.pos+1},!1));break;case 3:i.push.apply(i,L(t,{end:c.end,pos:c.pos+1},!1))}s=c.end+1}}return i}};switch(s){case e.LanguageServiceMode.Semantic:break;case e.LanguageServiceMode.PartialSemantic:A.forEach((function(e){return j[e]=function(){throw new Error(\"LanguageService Operation: \"+e+\" not allowed in LanguageServiceMode.PartialSemantic\")}}));break;case e.LanguageServiceMode.Syntactic:F.forEach((function(e){return j[e]=function(){throw new Error(\"LanguageService Operation: \"+e+\" not allowed in LanguageServiceMode.Syntactic\")}}));break;default:e.Debug.assertNever(s)}return j},e.getNameTable=function(t){return t.nameTable||function(t){var r=t.nameTable=new e.Map;t.forEachChild((function t(n){if(e.isIdentifier(n)&&!e.isTagName(n)&&n.escapedText||e.isStringOrNumericLiteralLike(n)&&function(t){return e.isDeclarationName(t)||272===t.parent.kind||function(e){return e&&e.parent&&202===e.parent.kind&&e.parent.argumentExpression===e}(t)||e.isLiteralComputedPropertyDeclarationName(t)}(n)){var i=e.getEscapedTextOfIdentifierOrLiteral(n);r.set(i,void 0===r.get(i)?n.pos:-1)}else if(e.isPrivateIdentifier(n)){i=n.escapedText;r.set(i,void 0===r.get(i)?n.pos:-1)}if(e.forEachChild(n,t),e.hasJSDocNodes(n))for(var a=0,o=n.jsDoc;ai){var a=e.findPrecedingToken(n.pos,t);if(!a||t.getLineAndCharacterOfPosition(a.getEnd()).line!==i)return;n=a}if(!(8388608&n.flags))return d(n)}function o(r,n){var i=r.decorators?e.skipTrivia(t.text,r.decorators.end):r.getStart(t);return e.createTextSpanFromBounds(i,(n||r).getEnd())}function s(r,n){return o(r,e.findNextToken(n,n.parent,t))}function c(e,r){return e&&i===t.getLineAndCharacterOfPosition(e.getStart(t)).line?d(e):d(r)}function u(r){return d(e.findPrecedingToken(r.pos,t))}function l(r){return d(e.findNextToken(r,r.parent,t))}function d(r){if(r){var n=r.parent;switch(r.kind){case 232:return v(r.declarationList.declarations[0]);case 249:case 163:case 162:return v(r);case 160:return function t(r){if(e.isBindingPattern(r.name))return b(r.name);if(function(t){return!!t.initializer||void 0!==t.dotDotDotToken||e.hasSyntacticModifier(t,12)}(r))return o(r);var n=r.parent,i=n.parameters.indexOf(r);return e.Debug.assert(-1!==i),0!==i?t(n.parameters[i-1]):d(n.body)}(r);case 251:case 165:case 164:case 167:case 168:case 166:case 208:case 209:return function(e){if(!e.body)return;if(h(e))return o(e);return d(e.body)}(r);case 230:if(e.isFunctionBlock(r))return function(e){var t=e.statements.length?e.statements[0]:e.getLastToken();if(h(e.parent))return c(e.parent,t);return d(t)}(r);case 257:return D(r);case 287:return D(r.block);case 233:return o(r.expression);case 242:return o(r.getChildAt(0),r.expression);case 236:return s(r,r.expression);case 235:return d(r.statement);case 248:return o(r.getChildAt(0));case 234:return s(r,r.expression);case 245:return d(r.statement);case 241:case 240:return o(r.getChildAt(0),r.label);case 237:return function(e){if(e.initializer)return x(e);if(e.condition)return o(e.condition);if(e.incrementor)return o(e.incrementor)}(r);case 238:return s(r,r.expression);case 239:return x(r);case 244:return s(r,r.expression);case 284:case 285:return d(r.statements[0]);case 247:return D(r.tryBlock);case 246:case 266:return o(r,r.expression);case 260:return o(r,r.moduleReference);case 261:case 267:return o(r,r.moduleSpecifier);case 256:if(1!==e.getModuleInstanceState(r))return;case 252:case 255:case 291:case 198:return o(r);case 243:return d(r.statement);case 161:return m=n.decorators,e.createTextSpanFromBounds(e.skipTrivia(t.text,m.pos),m.end);case 196:case 197:return b(r);case 253:case 254:return;case 26:case 1:return c(e.findPrecedingToken(r.pos,t));case 27:return u(r);case 18:return function(r){switch(r.parent.kind){case 255:var n=r.parent;return c(e.findPrecedingToken(r.pos,t,r.parent),n.members.length?n.members[0]:n.getLastToken(t));case 252:var i=r.parent;return c(e.findPrecedingToken(r.pos,t,r.parent),i.members.length?i.members[0]:i.getLastToken(t));case 258:return c(r.parent.parent,r.parent.clauses[0])}return d(r.parent)}(r);case 19:return function(t){switch(t.parent.kind){case 257:if(1!==e.getModuleInstanceState(t.parent.parent))return;case 255:case 252:return o(t);case 230:if(e.isFunctionBlock(t.parent))return o(t);case 287:return d(e.lastOrUndefined(t.parent.statements));case 258:var r=t.parent,n=e.lastOrUndefined(r.clauses);return n?d(e.lastOrUndefined(n.statements)):void 0;case 196:var i=t.parent;return d(e.lastOrUndefined(i.elements)||i);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var a=t.parent;return o(e.lastOrUndefined(a.properties)||a)}return d(t.parent)}}(r);case 23:return function(t){switch(t.parent.kind){case 197:var r=t.parent;return o(e.lastOrUndefined(r.elements)||r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var n=t.parent;return o(e.lastOrUndefined(n.elements)||n)}return d(t.parent)}}(r);case 20:return function(e){if(235===e.parent.kind||203===e.parent.kind||204===e.parent.kind)return u(e);if(207===e.parent.kind)return l(e);return d(e.parent)}(r);case 21:return function(e){switch(e.parent.kind){case 208:case 251:case 209:case 165:case 164:case 167:case 168:case 166:case 236:case 235:case 237:case 239:case 203:case 204:case 207:return u(e);default:return d(e.parent)}}(r);case 58:return function(t){if(e.isFunctionLike(t.parent)||288===t.parent.kind||160===t.parent.kind)return u(t);return d(t.parent)}(r);case 31:case 29:return function(e){if(206===e.parent.kind)return l(e);return d(e.parent)}(r);case 114:return function(e){if(235===e.parent.kind)return s(e,e.parent.expression);return d(e.parent)}(r);case 90:case 82:case 95:return l(r);case 156:return function(e){if(239===e.parent.kind)return l(e);return d(e.parent)}(r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(r))return S(r);if((78===r.kind||220===r.kind||288===r.kind||289===r.kind)&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(n))return o(r);if(216===r.kind){var i=r,a=i.left,_=i.operatorToken;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(a))return S(a);if(62===_.kind&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent))return o(r);if(27===_.kind)return d(a)}if(e.isExpressionNode(r))switch(n.kind){case 235:return u(r);case 161:return d(r.parent);case 237:case 239:return o(r);case 216:if(27===r.parent.operatorToken.kind)return o(r);break;case 209:if(r.parent.body===r)return o(r)}switch(r.parent.kind){case 288:if(r.parent.name===r&&!e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent.parent))return d(r.parent.initializer);break;case 206:if(r.parent.type===r)return l(r.parent.type);break;case 249:case 160:var p=r.parent,f=p.initializer,g=p.type;if(f===r||g===r||e.isAssignmentOperator(r.kind))return u(r);break;case 216:a=r.parent.left;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(a)&&r!==a)return u(r);break;default:if(e.isFunctionLike(r.parent)&&r.parent.type===r)return u(r)}return d(r.parent)}}var m;function y(r){return e.isVariableDeclarationList(r.parent)&&r.parent.declarations[0]===r?o(e.findPrecedingToken(r.pos,t,r.parent),r):o(r)}function v(r){if(238===r.parent.parent.kind)return d(r.parent.parent);var n=r.parent;return e.isBindingPattern(r.name)?b(r.name):r.initializer||e.hasSyntacticModifier(r,1)||239===n.parent.kind?y(r):e.isVariableDeclarationList(r.parent)&&r.parent.declarations[0]!==r?d(e.findPrecedingToken(r.pos,t,r.parent)):void 0}function h(t){return e.hasSyntacticModifier(t,1)||252===t.parent.kind&&166!==t.kind}function D(r){switch(r.parent.kind){case 256:if(1!==e.getModuleInstanceState(r.parent))return;case 236:case 234:case 238:return c(r.parent,r.statements[0]);case 237:case 239:return c(e.findPrecedingToken(r.pos,t,r.parent),r.statements[0])}return d(r.statements[0])}function x(e){if(250!==e.initializer.kind)return d(e.initializer);var t=e.initializer;return t.declarations.length>0?d(t.declarations[0]):void 0}function b(t){var r=e.forEach(t.elements,(function(e){return 222!==e.kind?e:void 0}));return r?d(r):198===t.parent.kind?o(t.parent):y(t.parent)}function S(t){e.Debug.assert(197!==t.kind&&196!==t.kind);var r=199===t.kind?t.elements:t.properties,n=e.forEach(r,(function(e){return 222!==e.kind?e:void 0}));return n?d(n):o(216===t.parent.kind?t.parent:t)}}}}(e.BreakpointResolver||(e.BreakpointResolver={}))}(u||(u={})),function(e){e.transform=function(t,r,n){var i=[];n=e.fixupCompilerOptions(n,i);var a=e.isArray(t)?t:[t],o=e.transformNodes(void 0,void 0,e.factory,n,a,r,!0);return o.diagnostics=e.concatenate(o.diagnostics,i),o}}(u||(u={}));var u,l=function(){return this}();!function(e){function t(e,t){e&&e.log(\"*INTERNAL ERROR* - Exception in typescript services: \"+t.message)}var i=function(){function t(e){this.scriptSnapshotShim=e}return t.prototype.getText=function(e,t){return this.scriptSnapshotShim.getText(e,t)},t.prototype.getLength=function(){return this.scriptSnapshotShim.getLength()},t.prototype.getChangeRange=function(t){var r=t,n=this.scriptSnapshotShim.getChangeRange(r.scriptSnapshotShim);if(null===n)return null;var i=JSON.parse(n);return e.createTextChangeRange(e.createTextSpan(i.span.start,i.span.length),i.newLength)},t.prototype.dispose=function(){\"dispose\"in this.scriptSnapshotShim&&this.scriptSnapshotShim.dispose()},t}(),a=function(){function t(t){var r=this;this.shimHost=t,this.loggingEnabled=!1,this.tracingEnabled=!1,\"getModuleResolutionsForFile\"in this.shimHost&&(this.resolveModuleNames=function(t,n){var i=JSON.parse(r.shimHost.getModuleResolutionsForFile(n));return e.map(t,(function(t){var r=e.getProperty(i,t);return r?{resolvedFileName:r,extension:e.extensionFromPath(r),isExternalLibraryImport:!1}:void 0}))}),\"directoryExists\"in this.shimHost&&(this.directoryExists=function(e){return r.shimHost.directoryExists(e)}),\"getTypeReferenceDirectiveResolutionsForFile\"in this.shimHost&&(this.resolveTypeReferenceDirectives=function(t,n){var i=JSON.parse(r.shimHost.getTypeReferenceDirectiveResolutionsForFile(n));return e.map(t,(function(t){return e.getProperty(i,t)}))})}return t.prototype.log=function(e){this.loggingEnabled&&this.shimHost.log(e)},t.prototype.trace=function(e){this.tracingEnabled&&this.shimHost.trace(e)},t.prototype.error=function(e){this.shimHost.error(e)},t.prototype.getProjectVersion=function(){if(this.shimHost.getProjectVersion)return this.shimHost.getProjectVersion()},t.prototype.getTypeRootsVersion=function(){return this.shimHost.getTypeRootsVersion?this.shimHost.getTypeRootsVersion():0},t.prototype.useCaseSensitiveFileNames=function(){return!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames()},t.prototype.getCompilationSettings=function(){var e=this.shimHost.getCompilationSettings();if(null===e||\"\"===e)throw Error(\"LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings\");var t=JSON.parse(e);return t.allowNonTsExtensions=!0,t},t.prototype.getScriptFileNames=function(){var e=this.shimHost.getScriptFileNames();return JSON.parse(e)},t.prototype.getScriptSnapshot=function(e){var t=this.shimHost.getScriptSnapshot(e);return t&&new i(t)},t.prototype.getScriptKind=function(e){return\"getScriptKind\"in this.shimHost?this.shimHost.getScriptKind(e):0},t.prototype.getScriptVersion=function(e){return this.shimHost.getScriptVersion(e)},t.prototype.getLocalizedDiagnosticMessages=function(){var e=this.shimHost.getLocalizedDiagnosticMessages();if(null===e||\"\"===e)return null;try{return JSON.parse(e)}catch(e){return this.log(e.description||\"diagnosticMessages.generated.json has invalid JSON format\"),null}},t.prototype.getCancellationToken=function(){var t=this.shimHost.getCancellationToken();return new e.ThrottledCancellationToken(t)},t.prototype.getCurrentDirectory=function(){return this.shimHost.getCurrentDirectory()},t.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},t.prototype.getDefaultLibFileName=function(e){return this.shimHost.getDefaultLibFileName(JSON.stringify(e))},t.prototype.readDirectory=function(t,r,n,i,a){var o=e.getFileMatcherPatterns(t,n,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(t,JSON.stringify(r),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))},t.prototype.readFile=function(e,t){return this.shimHost.readFile(e,t)},t.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},t}();e.LanguageServiceShimHostAdapter=a;var o=function(){function t(e){var t=this;this.shimHost=e,this.useCaseSensitiveFileNames=!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames(),\"directoryExists\"in this.shimHost?this.directoryExists=function(e){return t.shimHost.directoryExists(e)}:this.directoryExists=void 0,\"realpath\"in this.shimHost?this.realpath=function(e){return t.shimHost.realpath(e)}:this.realpath=void 0}return t.prototype.readDirectory=function(t,r,n,i,a){var o=e.getFileMatcherPatterns(t,n,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(t,JSON.stringify(r),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))},t.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},t.prototype.readFile=function(e){return this.shimHost.readFile(e)},t.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},t}();function u(e,t,r,n){return d(e,t,!0,r,n)}function d(r,n,i,a,o){try{var s=function(t,r,n,i){var a;i&&(t.log(r),a=e.timestamp());var o=n();if(i){var s=e.timestamp();if(t.log(r+\" completed in \"+(s-a)+\" msec\"),e.isString(o)){var c=o;c.length>128&&(c=c.substring(0,128)+\"...\"),t.log(\" result.length=\"+c.length+\", result='\"+JSON.stringify(c)+\"'\")}}return o}(r,n,a,o);return i?JSON.stringify({result:s}):s}catch(i){return i instanceof e.OperationCanceledException?JSON.stringify({canceled:!0}):(t(r,i),i.description=n,JSON.stringify({error:i}))}}e.CoreServicesShimHostAdapter=o;var _=function(){function e(e){this.factory=e,e.registerShim(this)}return e.prototype.dispose=function(e){this.factory.unregisterShim(this)},e}();function p(t,r){return t.map((function(t){return function(t,r){return{message:e.flattenDiagnosticMessageText(t.messageText,r),start:t.start,length:t.length,category:e.diagnosticCategoryName(t),code:t.code,reportsUnnecessary:t.reportsUnnecessary,reportsDeprecated:t.reportsDeprecated}}(t,r)}))}e.realizeDiagnostics=p;var f=function(t){function r(e,r,n){var i=t.call(this,e)||this;return i.host=r,i.languageService=n,i.logPerformance=!1,i.logger=i.host,i}return c(r,t),r.prototype.forwardJSONCall=function(e,t){return u(this.logger,e,t,this.logPerformance)},r.prototype.dispose=function(e){this.logger.log(\"dispose()\"),this.languageService.dispose(),this.languageService=null,l&&l.CollectGarbage&&(l.CollectGarbage(),this.logger.log(\"CollectGarbage()\")),this.logger=null,t.prototype.dispose.call(this,e)},r.prototype.refresh=function(e){this.forwardJSONCall(\"refresh(\"+e+\")\",(function(){return null}))},r.prototype.cleanupSemanticCache=function(){var e=this;this.forwardJSONCall(\"cleanupSemanticCache()\",(function(){return e.languageService.cleanupSemanticCache(),null}))},r.prototype.realizeDiagnostics=function(t){return p(t,e.getNewLineOrDefaultFromHost(this.host))},r.prototype.getSyntacticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall(\"getSyntacticClassifications('\"+t+\"', \"+r+\", \"+n+\")\",(function(){return i.languageService.getSyntacticClassifications(t,e.createTextSpan(r,n))}))},r.prototype.getSemanticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall(\"getSemanticClassifications('\"+t+\"', \"+r+\", \"+n+\")\",(function(){return i.languageService.getSemanticClassifications(t,e.createTextSpan(r,n))}))},r.prototype.getEncodedSyntacticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall(\"getEncodedSyntacticClassifications('\"+t+\"', \"+r+\", \"+n+\")\",(function(){return g(i.languageService.getEncodedSyntacticClassifications(t,e.createTextSpan(r,n)))}))},r.prototype.getEncodedSemanticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall(\"getEncodedSemanticClassifications('\"+t+\"', \"+r+\", \"+n+\")\",(function(){return g(i.languageService.getEncodedSemanticClassifications(t,e.createTextSpan(r,n)))}))},r.prototype.getSyntacticDiagnostics=function(e){var t=this;return this.forwardJSONCall(\"getSyntacticDiagnostics('\"+e+\"')\",(function(){var r=t.languageService.getSyntacticDiagnostics(e);return t.realizeDiagnostics(r)}))},r.prototype.getSemanticDiagnostics=function(e){var t=this;return this.forwardJSONCall(\"getSemanticDiagnostics('\"+e+\"')\",(function(){var r=t.languageService.getSemanticDiagnostics(e);return t.realizeDiagnostics(r)}))},r.prototype.getSuggestionDiagnostics=function(e){var t=this;return this.forwardJSONCall(\"getSuggestionDiagnostics('\"+e+\"')\",(function(){return t.realizeDiagnostics(t.languageService.getSuggestionDiagnostics(e))}))},r.prototype.getCompilerOptionsDiagnostics=function(){var e=this;return this.forwardJSONCall(\"getCompilerOptionsDiagnostics()\",(function(){var t=e.languageService.getCompilerOptionsDiagnostics();return e.realizeDiagnostics(t)}))},r.prototype.getQuickInfoAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getQuickInfoAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getQuickInfoAtPosition(e,t)}))},r.prototype.getNameOrDottedNameSpan=function(e,t,r){var n=this;return this.forwardJSONCall(\"getNameOrDottedNameSpan('\"+e+\"', \"+t+\", \"+r+\")\",(function(){return n.languageService.getNameOrDottedNameSpan(e,t,r)}))},r.prototype.getBreakpointStatementAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getBreakpointStatementAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getBreakpointStatementAtPosition(e,t)}))},r.prototype.getSignatureHelpItems=function(e,t,r){var n=this;return this.forwardJSONCall(\"getSignatureHelpItems('\"+e+\"', \"+t+\")\",(function(){return n.languageService.getSignatureHelpItems(e,t,r)}))},r.prototype.getDefinitionAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getDefinitionAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getDefinitionAtPosition(e,t)}))},r.prototype.getDefinitionAndBoundSpan=function(e,t){var r=this;return this.forwardJSONCall(\"getDefinitionAndBoundSpan('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getDefinitionAndBoundSpan(e,t)}))},r.prototype.getTypeDefinitionAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getTypeDefinitionAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getTypeDefinitionAtPosition(e,t)}))},r.prototype.getImplementationAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getImplementationAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getImplementationAtPosition(e,t)}))},r.prototype.getRenameInfo=function(e,t,r){var n=this;return this.forwardJSONCall(\"getRenameInfo('\"+e+\"', \"+t+\")\",(function(){return n.languageService.getRenameInfo(e,t,r)}))},r.prototype.getSmartSelectionRange=function(e,t){var r=this;return this.forwardJSONCall(\"getSmartSelectionRange('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getSmartSelectionRange(e,t)}))},r.prototype.findRenameLocations=function(e,t,r,n,i){var a=this;return this.forwardJSONCall(\"findRenameLocations('\"+e+\"', \"+t+\", \"+r+\", \"+n+\", \"+i+\")\",(function(){return a.languageService.findRenameLocations(e,t,r,n,i)}))},r.prototype.getBraceMatchingAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getBraceMatchingAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getBraceMatchingAtPosition(e,t)}))},r.prototype.isValidBraceCompletionAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall(\"isValidBraceCompletionAtPosition('\"+e+\"', \"+t+\", \"+r+\")\",(function(){return n.languageService.isValidBraceCompletionAtPosition(e,t,r)}))},r.prototype.getSpanOfEnclosingComment=function(e,t,r){var n=this;return this.forwardJSONCall(\"getSpanOfEnclosingComment('\"+e+\"', \"+t+\")\",(function(){return n.languageService.getSpanOfEnclosingComment(e,t,r)}))},r.prototype.getIndentationAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall(\"getIndentationAtPosition('\"+e+\"', \"+t+\")\",(function(){var i=JSON.parse(r);return n.languageService.getIndentationAtPosition(e,t,i)}))},r.prototype.getReferencesAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getReferencesAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getReferencesAtPosition(e,t)}))},r.prototype.findReferences=function(e,t){var r=this;return this.forwardJSONCall(\"findReferences('\"+e+\"', \"+t+\")\",(function(){return r.languageService.findReferences(e,t)}))},r.prototype.getOccurrencesAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getOccurrencesAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getOccurrencesAtPosition(e,t)}))},r.prototype.getDocumentHighlights=function(t,r,n){var i=this;return this.forwardJSONCall(\"getDocumentHighlights('\"+t+\"', \"+r+\")\",(function(){var a=i.languageService.getDocumentHighlights(t,r,JSON.parse(n)),o=e.toFileNameLowerCase(e.normalizeSlashes(t));return e.filter(a,(function(t){return e.toFileNameLowerCase(e.normalizeSlashes(t.fileName))===o}))}))},r.prototype.getCompletionsAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall(\"getCompletionsAtPosition('\"+e+\"', \"+t+\", \"+r+\")\",(function(){return n.languageService.getCompletionsAtPosition(e,t,r)}))},r.prototype.getCompletionEntryDetails=function(e,t,r,n,i,a){var o=this;return this.forwardJSONCall(\"getCompletionEntryDetails('\"+e+\"', \"+t+\", '\"+r+\"')\",(function(){var s=void 0===n?void 0:JSON.parse(n);return o.languageService.getCompletionEntryDetails(e,t,r,s,i,a)}))},r.prototype.getFormattingEditsForRange=function(e,t,r,n){var i=this;return this.forwardJSONCall(\"getFormattingEditsForRange('\"+e+\"', \"+t+\", \"+r+\")\",(function(){var a=JSON.parse(n);return i.languageService.getFormattingEditsForRange(e,t,r,a)}))},r.prototype.getFormattingEditsForDocument=function(e,t){var r=this;return this.forwardJSONCall(\"getFormattingEditsForDocument('\"+e+\"')\",(function(){var n=JSON.parse(t);return r.languageService.getFormattingEditsForDocument(e,n)}))},r.prototype.getFormattingEditsAfterKeystroke=function(e,t,r,n){var i=this;return this.forwardJSONCall(\"getFormattingEditsAfterKeystroke('\"+e+\"', \"+t+\", '\"+r+\"')\",(function(){var a=JSON.parse(n);return i.languageService.getFormattingEditsAfterKeystroke(e,t,r,a)}))},r.prototype.getDocCommentTemplateAtPosition=function(e,t){var r=this;return this.forwardJSONCall(\"getDocCommentTemplateAtPosition('\"+e+\"', \"+t+\")\",(function(){return r.languageService.getDocCommentTemplateAtPosition(e,t)}))},r.prototype.getNavigateToItems=function(e,t,r){var n=this;return this.forwardJSONCall(\"getNavigateToItems('\"+e+\"', \"+t+\", \"+r+\")\",(function(){return n.languageService.getNavigateToItems(e,t,r)}))},r.prototype.getNavigationBarItems=function(e){var t=this;return this.forwardJSONCall(\"getNavigationBarItems('\"+e+\"')\",(function(){return t.languageService.getNavigationBarItems(e)}))},r.prototype.getNavigationTree=function(e){var t=this;return this.forwardJSONCall(\"getNavigationTree('\"+e+\"')\",(function(){return t.languageService.getNavigationTree(e)}))},r.prototype.getOutliningSpans=function(e){var t=this;return this.forwardJSONCall(\"getOutliningSpans('\"+e+\"')\",(function(){return t.languageService.getOutliningSpans(e)}))},r.prototype.getTodoComments=function(e,t){var r=this;return this.forwardJSONCall(\"getTodoComments('\"+e+\"')\",(function(){return r.languageService.getTodoComments(e,JSON.parse(t))}))},r.prototype.prepareCallHierarchy=function(e,t){var r=this;return this.forwardJSONCall(\"prepareCallHierarchy('\"+e+\"', \"+t+\")\",(function(){return r.languageService.prepareCallHierarchy(e,t)}))},r.prototype.provideCallHierarchyIncomingCalls=function(e,t){var r=this;return this.forwardJSONCall(\"provideCallHierarchyIncomingCalls('\"+e+\"', \"+t+\")\",(function(){return r.languageService.provideCallHierarchyIncomingCalls(e,t)}))},r.prototype.provideCallHierarchyOutgoingCalls=function(e,t){var r=this;return this.forwardJSONCall(\"provideCallHierarchyOutgoingCalls('\"+e+\"', \"+t+\")\",(function(){return r.languageService.provideCallHierarchyOutgoingCalls(e,t)}))},r.prototype.getEmitOutput=function(e){var t=this;return this.forwardJSONCall(\"getEmitOutput('\"+e+\"')\",(function(){var r=t.languageService.getEmitOutput(e),i=r.diagnostics,a=s(r,[\"diagnostics\"]);return n(n({},a),{diagnostics:t.realizeDiagnostics(i)})}))},r.prototype.getEmitOutputObject=function(e){var t=this;return d(this.logger,\"getEmitOutput('\"+e+\"')\",!1,(function(){return t.languageService.getEmitOutput(e)}),this.logPerformance)},r.prototype.toggleLineComment=function(e,t){var r=this;return this.forwardJSONCall(\"toggleLineComment('\"+e+\"', '\"+JSON.stringify(t)+\"')\",(function(){return r.languageService.toggleLineComment(e,t)}))},r.prototype.toggleMultilineComment=function(e,t){var r=this;return this.forwardJSONCall(\"toggleMultilineComment('\"+e+\"', '\"+JSON.stringify(t)+\"')\",(function(){return r.languageService.toggleMultilineComment(e,t)}))},r.prototype.commentSelection=function(e,t){var r=this;return this.forwardJSONCall(\"commentSelection('\"+e+\"', '\"+JSON.stringify(t)+\"')\",(function(){return r.languageService.commentSelection(e,t)}))},r.prototype.uncommentSelection=function(e,t){var r=this;return this.forwardJSONCall(\"uncommentSelection('\"+e+\"', '\"+JSON.stringify(t)+\"')\",(function(){return r.languageService.uncommentSelection(e,t)}))},r}(_);function g(e){return{spans:e.spans.join(\",\"),endOfLineState:e.endOfLineState}}var m=function(t){function r(r,n){var i=t.call(this,r)||this;return i.logger=n,i.logPerformance=!1,i.classifier=e.createClassifier(),i}return c(r,t),r.prototype.getEncodedLexicalClassifications=function(e,t,r){var n=this;return void 0===r&&(r=!1),u(this.logger,\"getEncodedLexicalClassifications\",(function(){return g(n.classifier.getEncodedLexicalClassifications(e,t,r))}),this.logPerformance)},r.prototype.getClassificationsForLine=function(e,t,r){void 0===r&&(r=!1);for(var n=this.classifier.getClassificationsForLine(e,t,r),i=\"\",a=0,o=n.entries;a=1&&arguments.length<=3?e.factory.createVariableDeclaration(t,void 0,r,n):e.Debug.fail(\"Argument count mismatch\")}),t),e.updateVariableDeclaration=e.Debug.deprecate((function(t,r,n,i,a){return 5===arguments.length?e.factory.updateVariableDeclaration(t,r,n,i,a):4===arguments.length?e.factory.updateVariableDeclaration(t,r,t.exclamationToken,n,i):e.Debug.fail(\"Argument count mismatch\")}),t),e.createImportClause=e.Debug.deprecate((function(t,r,n){return void 0===n&&(n=!1),e.factory.createImportClause(n,t,r)}),t),e.updateImportClause=e.Debug.deprecate((function(t,r,n,i){return e.factory.updateImportClause(t,i,r,n)}),t),e.createExportDeclaration=e.Debug.deprecate((function(t,r,n,i,a){return void 0===a&&(a=!1),e.factory.createExportDeclaration(t,r,a,n,i)}),t),e.updateExportDeclaration=e.Debug.deprecate((function(t,r,n,i,a,o){return e.factory.updateExportDeclaration(t,r,n,o,i,a)}),t),e.createJSDocParamTag=e.Debug.deprecate((function(t,r,n,i){return e.factory.createJSDocParameterTag(void 0,t,r,n,!1,i)}),t),e.createComma=e.Debug.deprecate((function(t,r){return e.factory.createComma(t,r)}),t),e.createLessThan=e.Debug.deprecate((function(t,r){return e.factory.createLessThan(t,r)}),t),e.createAssignment=e.Debug.deprecate((function(t,r){return e.factory.createAssignment(t,r)}),t),e.createStrictEquality=e.Debug.deprecate((function(t,r){return e.factory.createStrictEquality(t,r)}),t),e.createStrictInequality=e.Debug.deprecate((function(t,r){return e.factory.createStrictInequality(t,r)}),t),e.createAdd=e.Debug.deprecate((function(t,r){return e.factory.createAdd(t,r)}),t),e.createSubtract=e.Debug.deprecate((function(t,r){return e.factory.createSubtract(t,r)}),t),e.createLogicalAnd=e.Debug.deprecate((function(t,r){return e.factory.createLogicalAnd(t,r)}),t),e.createLogicalOr=e.Debug.deprecate((function(t,r){return e.factory.createLogicalOr(t,r)}),t),e.createPostfixIncrement=e.Debug.deprecate((function(t){return e.factory.createPostfixIncrement(t)}),t),e.createLogicalNot=e.Debug.deprecate((function(t){return e.factory.createLogicalNot(t)}),t),e.createNode=e.Debug.deprecate((function(t,r,n){return void 0===r&&(r=0),void 0===n&&(n=0),e.setTextRangePosEnd(297===t?e.parseBaseNodeFactory.createBaseSourceFileNode(t):78===t?e.parseBaseNodeFactory.createBaseIdentifierNode(t):79===t?e.parseBaseNodeFactory.createBasePrivateIdentifierNode(t):e.isNodeKind(t)?e.parseBaseNodeFactory.createBaseNode(t):e.parseBaseNodeFactory.createBaseTokenNode(t),r,n)}),{since:\"4.0\",warnAfter:\"4.1\",message:\"Use an appropriate `factory` method instead.\"}),e.getMutableClone=e.Debug.deprecate((function(t){var r=e.factory.cloneNode(t);return e.setTextRange(r,t),e.setParent(r,t.parent),r}),{since:\"4.0\",warnAfter:\"4.1\",message:\"Use `factory.cloneNode` instead and use `setCommentRange` or `setSourceMapRange` and avoid setting `parent`.\"}),e.isTypeAssertion=e.Debug.deprecate((function(e){return 206===e.kind}),{since:\"4.0\",warnAfter:\"4.1\",message:\"Use `isTypeAssertionExpression` instead.\"})}(u||(u={}))})),To=\"object\"==typeof t&&t&&t.Object===Object&&t,Co=\"object\"==typeof self&&self&&self.Object===Object&&self,ko=(To||Co||Function(\"return this\")()).Symbol;var Ao=function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r\",\""\":'\"',\"'\":\"'\"}),Wo=/&(?:amp|lt|gt|quot|#39);/g,Ho=RegExp(Wo.source);var Go=function(e){return(e=Vo(e))&&Ho.test(e)?e.replace(Wo,qo):e},Yo=r((function(e,t){var r;Object.defineProperty(t,\"__esModule\",{value:!0}),t.AST_NODE_TYPES=void 0,function(e){e.ArrayExpression=\"ArrayExpression\",e.ArrayPattern=\"ArrayPattern\",e.ArrowFunctionExpression=\"ArrowFunctionExpression\",e.AssignmentExpression=\"AssignmentExpression\",e.AssignmentPattern=\"AssignmentPattern\",e.AwaitExpression=\"AwaitExpression\",e.BinaryExpression=\"BinaryExpression\",e.BlockStatement=\"BlockStatement\",e.BreakStatement=\"BreakStatement\",e.CallExpression=\"CallExpression\",e.CatchClause=\"CatchClause\",e.ChainExpression=\"ChainExpression\",e.ClassBody=\"ClassBody\",e.ClassDeclaration=\"ClassDeclaration\",e.ClassExpression=\"ClassExpression\",e.ClassProperty=\"ClassProperty\",e.ConditionalExpression=\"ConditionalExpression\",e.ContinueStatement=\"ContinueStatement\",e.DebuggerStatement=\"DebuggerStatement\",e.Decorator=\"Decorator\",e.DoWhileStatement=\"DoWhileStatement\",e.EmptyStatement=\"EmptyStatement\",e.ExportAllDeclaration=\"ExportAllDeclaration\",e.ExportDefaultDeclaration=\"ExportDefaultDeclaration\",e.ExportNamedDeclaration=\"ExportNamedDeclaration\",e.ExportSpecifier=\"ExportSpecifier\",e.ExpressionStatement=\"ExpressionStatement\",e.ForInStatement=\"ForInStatement\",e.ForOfStatement=\"ForOfStatement\",e.ForStatement=\"ForStatement\",e.FunctionDeclaration=\"FunctionDeclaration\",e.FunctionExpression=\"FunctionExpression\",e.Identifier=\"Identifier\",e.IfStatement=\"IfStatement\",e.ImportDeclaration=\"ImportDeclaration\",e.ImportDefaultSpecifier=\"ImportDefaultSpecifier\",e.ImportExpression=\"ImportExpression\",e.ImportNamespaceSpecifier=\"ImportNamespaceSpecifier\",e.ImportSpecifier=\"ImportSpecifier\",e.JSXAttribute=\"JSXAttribute\",e.JSXClosingElement=\"JSXClosingElement\",e.JSXClosingFragment=\"JSXClosingFragment\",e.JSXElement=\"JSXElement\",e.JSXEmptyExpression=\"JSXEmptyExpression\",e.JSXExpressionContainer=\"JSXExpressionContainer\",e.JSXFragment=\"JSXFragment\",e.JSXIdentifier=\"JSXIdentifier\",e.JSXMemberExpression=\"JSXMemberExpression\",e.JSXOpeningElement=\"JSXOpeningElement\",e.JSXOpeningFragment=\"JSXOpeningFragment\",e.JSXSpreadAttribute=\"JSXSpreadAttribute\",e.JSXSpreadChild=\"JSXSpreadChild\",e.JSXText=\"JSXText\",e.LabeledStatement=\"LabeledStatement\",e.Literal=\"Literal\",e.LogicalExpression=\"LogicalExpression\",e.MemberExpression=\"MemberExpression\",e.MetaProperty=\"MetaProperty\",e.MethodDefinition=\"MethodDefinition\",e.NewExpression=\"NewExpression\",e.ObjectExpression=\"ObjectExpression\",e.ObjectPattern=\"ObjectPattern\",e.Program=\"Program\",e.Property=\"Property\",e.RestElement=\"RestElement\",e.ReturnStatement=\"ReturnStatement\",e.SequenceExpression=\"SequenceExpression\",e.SpreadElement=\"SpreadElement\",e.Super=\"Super\",e.SwitchCase=\"SwitchCase\",e.SwitchStatement=\"SwitchStatement\",e.TaggedTemplateExpression=\"TaggedTemplateExpression\",e.TemplateElement=\"TemplateElement\",e.TemplateLiteral=\"TemplateLiteral\",e.ThisExpression=\"ThisExpression\",e.ThrowStatement=\"ThrowStatement\",e.TryStatement=\"TryStatement\",e.UnaryExpression=\"UnaryExpression\",e.UpdateExpression=\"UpdateExpression\",e.VariableDeclaration=\"VariableDeclaration\",e.VariableDeclarator=\"VariableDeclarator\",e.WhileStatement=\"WhileStatement\",e.WithStatement=\"WithStatement\",e.YieldExpression=\"YieldExpression\",e.TSAbstractClassProperty=\"TSAbstractClassProperty\",e.TSAbstractKeyword=\"TSAbstractKeyword\",e.TSAbstractMethodDefinition=\"TSAbstractMethodDefinition\",e.TSAnyKeyword=\"TSAnyKeyword\",e.TSArrayType=\"TSArrayType\",e.TSAsExpression=\"TSAsExpression\",e.TSAsyncKeyword=\"TSAsyncKeyword\",e.TSBigIntKeyword=\"TSBigIntKeyword\",e.TSBooleanKeyword=\"TSBooleanKeyword\",e.TSCallSignatureDeclaration=\"TSCallSignatureDeclaration\",e.TSClassImplements=\"TSClassImplements\",e.TSConditionalType=\"TSConditionalType\",e.TSConstructorType=\"TSConstructorType\",e.TSConstructSignatureDeclaration=\"TSConstructSignatureDeclaration\",e.TSDeclareFunction=\"TSDeclareFunction\",e.TSDeclareKeyword=\"TSDeclareKeyword\",e.TSEmptyBodyFunctionExpression=\"TSEmptyBodyFunctionExpression\",e.TSEnumDeclaration=\"TSEnumDeclaration\",e.TSEnumMember=\"TSEnumMember\",e.TSExportAssignment=\"TSExportAssignment\",e.TSExportKeyword=\"TSExportKeyword\",e.TSExternalModuleReference=\"TSExternalModuleReference\",e.TSFunctionType=\"TSFunctionType\",e.TSImportEqualsDeclaration=\"TSImportEqualsDeclaration\",e.TSImportType=\"TSImportType\",e.TSIndexedAccessType=\"TSIndexedAccessType\",e.TSIndexSignature=\"TSIndexSignature\",e.TSInferType=\"TSInferType\",e.TSInterfaceBody=\"TSInterfaceBody\",e.TSInterfaceDeclaration=\"TSInterfaceDeclaration\",e.TSInterfaceHeritage=\"TSInterfaceHeritage\",e.TSIntersectionType=\"TSIntersectionType\",e.TSLiteralType=\"TSLiteralType\",e.TSMappedType=\"TSMappedType\",e.TSMethodSignature=\"TSMethodSignature\",e.TSModuleBlock=\"TSModuleBlock\",e.TSModuleDeclaration=\"TSModuleDeclaration\",e.TSNamedTupleMember=\"TSNamedTupleMember\",e.TSNamespaceExportDeclaration=\"TSNamespaceExportDeclaration\",e.TSNeverKeyword=\"TSNeverKeyword\",e.TSNonNullExpression=\"TSNonNullExpression\",e.TSNullKeyword=\"TSNullKeyword\",e.TSNumberKeyword=\"TSNumberKeyword\",e.TSObjectKeyword=\"TSObjectKeyword\",e.TSOptionalType=\"TSOptionalType\",e.TSParameterProperty=\"TSParameterProperty\",e.TSParenthesizedType=\"TSParenthesizedType\",e.TSPrivateKeyword=\"TSPrivateKeyword\",e.TSPropertySignature=\"TSPropertySignature\",e.TSProtectedKeyword=\"TSProtectedKeyword\",e.TSPublicKeyword=\"TSPublicKeyword\",e.TSQualifiedName=\"TSQualifiedName\",e.TSReadonlyKeyword=\"TSReadonlyKeyword\",e.TSRestType=\"TSRestType\",e.TSStaticKeyword=\"TSStaticKeyword\",e.TSStringKeyword=\"TSStringKeyword\",e.TSSymbolKeyword=\"TSSymbolKeyword\",e.TSTemplateLiteralType=\"TSTemplateLiteralType\",e.TSThisType=\"TSThisType\",e.TSTupleType=\"TSTupleType\",e.TSTypeAliasDeclaration=\"TSTypeAliasDeclaration\",e.TSTypeAnnotation=\"TSTypeAnnotation\",e.TSTypeAssertion=\"TSTypeAssertion\",e.TSTypeLiteral=\"TSTypeLiteral\",e.TSTypeOperator=\"TSTypeOperator\",e.TSTypeParameter=\"TSTypeParameter\",e.TSTypeParameterDeclaration=\"TSTypeParameterDeclaration\",e.TSTypeParameterInstantiation=\"TSTypeParameterInstantiation\",e.TSTypePredicate=\"TSTypePredicate\",e.TSTypeQuery=\"TSTypeQuery\",e.TSTypeReference=\"TSTypeReference\",e.TSUndefinedKeyword=\"TSUndefinedKeyword\",e.TSUnionType=\"TSUnionType\",e.TSUnknownKeyword=\"TSUnknownKeyword\",e.TSVoidKeyword=\"TSVoidKeyword\"}(r||(r={})),t.AST_NODE_TYPES=r})),Xo=r((function(e,t){var r;Object.defineProperty(t,\"__esModule\",{value:!0}),t.AST_TOKEN_TYPES=void 0,function(e){e.Boolean=\"Boolean\",e.Identifier=\"Identifier\",e.JSXIdentifier=\"JSXIdentifier\",e.JSXText=\"JSXText\",e.Keyword=\"Keyword\",e.Null=\"Null\",e.Numeric=\"Numeric\",e.Punctuator=\"Punctuator\",e.RegularExpression=\"RegularExpression\",e.String=\"String\",e.Template=\"Template\",e.Block=\"Block\",e.Line=\"Line\"}(r||(r={})),t.AST_TOKEN_TYPES=r})),Qo=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})})),$o=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})})),Zo=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})})),es=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__exportStar||function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)},o=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,\"__esModule\",{value:!0}),r.TSESTree=r.AST_TOKEN_TYPES=r.AST_NODE_TYPES=void 0,Object.defineProperty(r,\"AST_NODE_TYPES\",{enumerable:!0,get:function(){return Yo.AST_NODE_TYPES}}),Object.defineProperty(r,\"AST_TOKEN_TYPES\",{enumerable:!0,get:function(){return Xo.AST_TOKEN_TYPES}}),a(Qo,r),a($o,r),r.TSESTree=o(Zo)})),ts=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})})),rs=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})})),ns=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(r,\"__esModule\",{value:!0}),r.TSESTree=r.AST_TOKEN_TYPES=r.AST_NODE_TYPES=void 0,Object.defineProperty(r,\"AST_NODE_TYPES\",{enumerable:!0,get:function(){return es.AST_NODE_TYPES}}),Object.defineProperty(r,\"AST_TOKEN_TYPES\",{enumerable:!0,get:function(){return es.AST_TOKEN_TYPES}}),Object.defineProperty(r,\"TSESTree\",{enumerable:!0,get:function(){return es.TSESTree}}),i(ts,r),i(rs,r)})),is=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.firstDefined=r.nodeHasTokens=r.createError=r.convertTokens=r.convertToken=r.getTokenType=r.isChildUnwrappableOptionalChain=r.isChainExpression=r.isOptional=r.isComputedProperty=r.unescapeStringLiteralText=r.hasJSXAncestor=r.findFirstMatchingAncestor=r.findNextToken=r.getTSNodeAccessibility=r.getDeclarationKind=r.isJSXToken=r.isToken=r.getRange=r.canContainDirective=r.getLocFor=r.getLineAndCharacterFor=r.getBinaryExpressionType=r.isJSDocComment=r.isComment=r.isComma=r.getLastModifier=r.hasModifier=r.isESTreeClassMember=r.getTextForTokenKind=r.isLogicalOperator=r.isAssignmentOperator=void 0;const s=o(Go),c=a(Eo),u=c.SyntaxKind,l=[u.BarBarToken,u.AmpersandAmpersandToken,u.QuestionQuestionToken];function d(e){return e.kind>=u.FirstAssignment&&e.kind<=u.LastAssignment}function _(e){return l.includes(e.kind)}function p(e){return e.kind===u.SingleLineCommentTrivia||e.kind===u.MultiLineCommentTrivia}function f(e){return e.kind===u.JSDocComment}function g(e,t){const r=t.getLineAndCharacterOfPosition(e);return{line:r.line+1,column:r.character}}function m(e,t,r){return{start:g(e,r),end:g(t,r)}}function y(e){return e.kind>=u.FirstToken&&e.kind<=u.LastToken}function v(e){return e.kind>=u.JsxElement&&e.kind<=u.JsxAttribute}function h(e,t){for(;e;){if(t(e))return e;e=e.parent}}function D(e){return!!h(e,v)}function x(e){return e.type===ns.AST_NODE_TYPES.ChainExpression}function b(e){if(\"originalKeywordKind\"in e&&e.originalKeywordKind)return e.originalKeywordKind===u.NullKeyword?ns.AST_TOKEN_TYPES.Null:e.originalKeywordKind>=u.FirstFutureReservedWord&&e.originalKeywordKind<=u.LastKeyword?ns.AST_TOKEN_TYPES.Identifier:ns.AST_TOKEN_TYPES.Keyword;if(e.kind>=u.FirstKeyword&&e.kind<=u.LastFutureReservedWord)return e.kind===u.FalseKeyword||e.kind===u.TrueKeyword?ns.AST_TOKEN_TYPES.Boolean:ns.AST_TOKEN_TYPES.Keyword;if(e.kind>=u.FirstPunctuation&&e.kind<=u.LastBinaryOperator)return ns.AST_TOKEN_TYPES.Punctuator;if(e.kind>=u.NoSubstitutionTemplateLiteral&&e.kind<=u.TemplateTail)return ns.AST_TOKEN_TYPES.Template;switch(e.kind){case u.NumericLiteral:return ns.AST_TOKEN_TYPES.Numeric;case u.JsxText:return ns.AST_TOKEN_TYPES.JSXText;case u.StringLiteral:return!e.parent||e.parent.kind!==u.JsxAttribute&&e.parent.kind!==u.JsxElement?ns.AST_TOKEN_TYPES.String:ns.AST_TOKEN_TYPES.JSXText;case u.RegularExpressionLiteral:return ns.AST_TOKEN_TYPES.RegularExpression;case u.Identifier:case u.ConstructorKeyword:case u.GetKeyword:case u.SetKeyword:}if(e.parent&&e.kind===u.Identifier){if(v(e.parent))return ns.AST_TOKEN_TYPES.JSXIdentifier;if(e.parent.kind===u.PropertyAccessExpression&&D(e))return ns.AST_TOKEN_TYPES.JSXIdentifier}return ns.AST_TOKEN_TYPES.Identifier}function S(e,t){const r=e.kind===u.JsxText?e.getFullStart():e.getStart(t),n=e.getEnd(),i=t.text.slice(r,n),a=b(e);return a===ns.AST_TOKEN_TYPES.RegularExpression?{type:a,value:i,range:[r,n],loc:m(r,n,t),regex:{pattern:i.slice(1,i.lastIndexOf(\"/\")),flags:i.slice(i.lastIndexOf(\"/\")+1)}}:{type:a,value:i,range:[r,n],loc:m(r,n,t)}}function E(e,t){return e.kind===u.EndOfFileToken?!!e.jsDoc:0!==e.getWidth(t)}function T(e,t){if(void 0!==e)for(let r=0;rt.kind===e))},r.getLastModifier=function(e){return!!e.modifiers&&!!e.modifiers.length&&e.modifiers[e.modifiers.length-1]||null},r.isComma=function(e){return e.kind===u.CommaToken},r.isComment=p,r.isJSDocComment=f,r.getBinaryExpressionType=function(e){return d(e)?ns.AST_NODE_TYPES.AssignmentExpression:_(e)?ns.AST_NODE_TYPES.LogicalExpression:ns.AST_NODE_TYPES.BinaryExpression},r.getLineAndCharacterFor=g,r.getLocFor=m,r.canContainDirective=function(e){if(e.kind===c.SyntaxKind.Block)switch(e.parent.kind){case c.SyntaxKind.Constructor:case c.SyntaxKind.GetAccessor:case c.SyntaxKind.SetAccessor:case c.SyntaxKind.ArrowFunction:case c.SyntaxKind.FunctionExpression:case c.SyntaxKind.FunctionDeclaration:case c.SyntaxKind.MethodDeclaration:return!0;default:return!1}return!0},r.getRange=function(e,t){return[e.getStart(t),e.getEnd()]},r.isToken=y,r.isJSXToken=v,r.getDeclarationKind=function(e){return e.flags&c.NodeFlags.Let?\"let\":e.flags&c.NodeFlags.Const?\"const\":\"var\"},r.getTSNodeAccessibility=function(e){const t=e.modifiers;if(!t)return null;for(let e=0;e(n.pos<=e.pos&&n.end>e.end||n.pos===e.end)&&E(n,r)?t(n):void 0))}(t)},r.findFirstMatchingAncestor=h,r.hasJSXAncestor=D,r.unescapeStringLiteralText=function(e){return s.default(e)},r.isComputedProperty=function(e){return e.kind===u.ComputedPropertyName},r.isOptional=function(e){return!!e.questionToken&&e.questionToken.kind===u.QuestionToken},r.isChainExpression=x,r.isChildUnwrappableOptionalChain=function(e,t){return!(!x(t)||e.expression.kind===c.SyntaxKind.ParenthesizedExpression)},r.getTokenType=b,r.convertToken=S,r.convertTokens=function(e){const t=[];return function r(n){if(!p(n)&&!f(n))if(y(n)&&n.kind!==u.EndOfFileToken){const r=S(n,e);r&&t.push(r)}else n.getChildren(e).forEach(r)}(e),t},r.createError=function(e,t,r){const n=e.getLineAndCharacterOfPosition(t);return{index:t,lineNumber:n.line+1,column:n.character,message:r}},r.nodeHasTokens=E,r.firstDefined=T})),as=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,\"__esModule\",{value:!0}),r.typescriptVersionIsAtLeast=void 0;const o=a(Pi),s=a(Eo);function c(e){return o.satisfies(s.version,\">= \".concat(e,\".0 || >= \").concat(e,\".1-rc || >= \").concat(e,\".0-beta\"),{includePrerelease:!0})}const u=[\"3.7\",\"3.8\",\"3.9\",\"4.0\"],l={};r.typescriptVersionIsAtLeast=l;for(const e of u)l[e]=c(e)})),os=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,\"__esModule\",{value:!0}),r.Converter=r.convertError=void 0;const o=a(Eo),s=o.SyntaxKind;r.convertError=function(e){return is.createError(e.file,e.start,e.message||e.messageText)};r.Converter=class{constructor(e,t){this.esTreeNodeToTSNodeMap=new WeakMap,this.tsNodeToESTreeNodeMap=new WeakMap,this.allowPattern=!1,this.inTypeMode=!1,this.ast=e,this.options=Object.assign({},t)}getASTMaps(){return{esTreeNodeToTSNodeMap:this.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:this.tsNodeToESTreeNodeMap}}convertProgram(){return this.converter(this.ast)}converter(e,t,r,n){if(!e)return null;const i=this.inTypeMode,a=this.allowPattern;void 0!==r&&(this.inTypeMode=r),void 0!==n&&(this.allowPattern=n);const o=this.convertNode(e,null!=t?t:e.parent);return this.registerTSNodeInNodeMap(e,o),this.inTypeMode=i,this.allowPattern=a,o}fixExports(e,t){if(e.modifiers&&e.modifiers[0].kind===s.ExportKeyword){this.registerTSNodeInNodeMap(e,t);const r=e.modifiers[0],n=e.modifiers[1],i=n&&n.kind===s.DefaultKeyword,a=i?is.findNextToken(n,this.ast,this.ast):is.findNextToken(r,this.ast,this.ast);if(t.range[0]=a.getStart(this.ast),t.loc=is.getLocFor(t.range[0],t.range[1],this.ast),i)return this.createNode(e,{type:ns.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:t,range:[r.getStart(this.ast),t.range[1]],exportKind:\"value\"});{const n=t.type===ns.AST_NODE_TYPES.TSInterfaceDeclaration||t.type===ns.AST_NODE_TYPES.TSTypeAliasDeclaration,i=!0===t.declare;return this.createNode(e,{type:ns.AST_NODE_TYPES.ExportNamedDeclaration,declaration:t,specifiers:[],source:null,exportKind:n||i?\"type\":\"value\",range:[r.getStart(this.ast),t.range[1]]})}}return t}registerTSNodeInNodeMap(e,t){t&&this.options.shouldPreserveNodeMaps&&(this.tsNodeToESTreeNodeMap.has(e)||this.tsNodeToESTreeNodeMap.set(e,t))}convertPattern(e,t){return this.converter(e,t,this.inTypeMode,!0)}convertChild(e,t){return this.converter(e,t,this.inTypeMode,!1)}convertType(e,t){return this.converter(e,t,!0,!1)}createNode(e,t){const r=t;return r.range||(r.range=is.getRange(e,this.ast)),r.loc||(r.loc=is.getLocFor(r.range[0],r.range[1],this.ast)),r&&this.options.shouldPreserveNodeMaps&&this.esTreeNodeToTSNodeMap.set(r,e),r}convertBindingNameWithTypeAnnotation(e,t,r){const n=this.convertPattern(e);return t&&(n.typeAnnotation=this.convertTypeAnnotation(t,r),this.fixParentLocation(n,n.typeAnnotation.range)),n}convertTypeAnnotation(e,t){const r=(null==t?void 0:t.kind)===s.FunctionType||(null==t?void 0:t.kind)===s.ConstructorType?2:1,n=e.getFullStart()-r,i=is.getLocFor(n,e.end,this.ast);return{type:ns.AST_NODE_TYPES.TSTypeAnnotation,loc:i,range:[n,e.end],typeAnnotation:this.convertType(e)}}convertBodyExpressions(e,t){let r=is.canContainDirective(t);return e.map((e=>{const t=this.convertChild(e);if(r){if((null==t?void 0:t.expression)&&o.isExpressionStatement(e)&&o.isStringLiteral(e.expression)){const e=t.expression.raw;return t.directive=e.slice(1,-1),t}r=!1}return t})).filter((e=>e))}convertTypeArgumentsToTypeParameters(e,t){const r=is.findNextToken(e,this.ast,this.ast);return this.createNode(t,{type:ns.AST_NODE_TYPES.TSTypeParameterInstantiation,range:[e.pos-1,r.end],params:e.map((e=>this.convertType(e)))})}convertTSTypeParametersToTypeParametersDeclaration(e){const t=is.findNextToken(e,this.ast,this.ast);return{type:ns.AST_NODE_TYPES.TSTypeParameterDeclaration,range:[e.pos-1,t.end],loc:is.getLocFor(e.pos-1,t.end,this.ast),params:e.map((e=>this.convertType(e)))}}convertParameters(e){return e&&e.length?e.map((e=>{var t;const r=this.convertChild(e);return(null===(t=e.decorators)||void 0===t?void 0:t.length)&&(r.decorators=e.decorators.map((e=>this.convertChild(e)))),r})):[]}convertChainExpression(e,t){const{child:r,isOptional:n}=e.type===ns.AST_NODE_TYPES.MemberExpression?{child:e.object,isOptional:e.optional}:e.type===ns.AST_NODE_TYPES.CallExpression?{child:e.callee,isOptional:e.optional}:{child:e.expression,isOptional:!1},i=is.isChildUnwrappableOptionalChain(t,r);if(!i&&!n)return e;if(i&&is.isChainExpression(r)){const t=r.expression;e.type===ns.AST_NODE_TYPES.MemberExpression?e.object=t:e.type===ns.AST_NODE_TYPES.CallExpression?e.callee=t:e.expression=t}return this.createNode(t,{type:ns.AST_NODE_TYPES.ChainExpression,expression:e})}deeplyCopy(e){if(e.kind===o.SyntaxKind.JSDocFunctionType)throw is.createError(this.ast,e.pos,\"JSDoc types can only be used inside documentation comments.\");const t=\"TS\".concat(s[e.kind]);if(this.options.errorOnUnknownASTType&&!ns.AST_NODE_TYPES[t])throw new Error('Unknown AST_NODE_TYPE: \"'.concat(t,'\"'));const r=this.createNode(e,{type:t});return\"type\"in e&&(r.typeAnnotation=e.type&&\"kind\"in e.type&&o.isTypeNode(e.type)?this.convertTypeAnnotation(e.type,e):null),\"typeArguments\"in e&&(r.typeParameters=e.typeArguments&&\"pos\"in e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):null),\"typeParameters\"in e&&(r.typeParameters=e.typeParameters&&\"pos\"in e.typeParameters?this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters):null),\"decorators\"in e&&e.decorators&&e.decorators.length&&(r.decorators=e.decorators.map((e=>this.convertChild(e)))),Object.entries(e).filter((([e])=>!/^(?:_children|kind|parent|pos|end|flags|modifierFlagsCache|jsDoc|type|typeArguments|typeParameters|decorators)$/.test(e))).forEach((([e,t])=>{Array.isArray(t)?r[e]=t.map((e=>this.convertChild(e))):t&&\"object\"==typeof t&&t.kind?r[e]=this.convertChild(t):r[e]=t})),r}convertJSXTagName(e,t){let r;switch(e.kind){case s.PropertyAccessExpression:if(e.name.kind===s.PrivateIdentifier)throw new Error(\"Non-private identifier expected.\");r=this.createNode(e,{type:ns.AST_NODE_TYPES.JSXMemberExpression,object:this.convertJSXTagName(e.expression,t),property:this.convertJSXTagName(e.name,t)});break;case s.ThisKeyword:r=this.createNode(e,{type:ns.AST_NODE_TYPES.JSXIdentifier,name:\"this\"});break;case s.Identifier:default:r=this.createNode(e,{type:ns.AST_NODE_TYPES.JSXIdentifier,name:e.text})}return this.registerTSNodeInNodeMap(e,r),r}applyModifiersToResult(e,t){if(!t||!t.length)return;const r={};for(let n=0;n!r[t]));n&&n.length&&(e.modifiers=n.map((e=>this.convertChild(e))))}fixParentLocation(e,t){t[0]e.range[1]&&(e.range[1]=t[1],e.loc.end=is.getLineAndCharacterFor(e.range[1],this.ast))}convertNode(e,t){var r,n,i,a,c,u,l,d,_,p;switch(e.kind){case s.SourceFile:return this.createNode(e,{type:ns.AST_NODE_TYPES.Program,body:this.convertBodyExpressions(e.statements,e),sourceType:e.externalModuleIndicator?\"module\":\"script\",range:[e.getStart(this.ast),e.endOfFileToken.end]});case s.Block:return this.createNode(e,{type:ns.AST_NODE_TYPES.BlockStatement,body:this.convertBodyExpressions(e.statements,e)});case s.Identifier:return this.createNode(e,{type:ns.AST_NODE_TYPES.Identifier,name:e.text});case s.WithStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.WithStatement,object:this.convertChild(e.expression),body:this.convertChild(e.statement)});case s.ReturnStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.ReturnStatement,argument:this.convertChild(e.expression)});case s.LabeledStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.LabeledStatement,label:this.convertChild(e.label),body:this.convertChild(e.statement)});case s.ContinueStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.ContinueStatement,label:this.convertChild(e.label)});case s.BreakStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.BreakStatement,label:this.convertChild(e.label)});case s.IfStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.IfStatement,test:this.convertChild(e.expression),consequent:this.convertChild(e.thenStatement),alternate:this.convertChild(e.elseStatement)});case s.SwitchStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.SwitchStatement,discriminant:this.convertChild(e.expression),cases:e.caseBlock.clauses.map((e=>this.convertChild(e)))});case s.CaseClause:case s.DefaultClause:return this.createNode(e,{type:ns.AST_NODE_TYPES.SwitchCase,test:e.kind===s.CaseClause?this.convertChild(e.expression):null,consequent:e.statements.map((e=>this.convertChild(e)))});case s.ThrowStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.ThrowStatement,argument:this.convertChild(e.expression)});case s.TryStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.TryStatement,block:this.convertChild(e.tryBlock),handler:this.convertChild(e.catchClause),finalizer:this.convertChild(e.finallyBlock)});case s.CatchClause:return this.createNode(e,{type:ns.AST_NODE_TYPES.CatchClause,param:e.variableDeclaration?this.convertBindingNameWithTypeAnnotation(e.variableDeclaration.name,e.variableDeclaration.type):null,body:this.convertChild(e.block)});case s.WhileStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.WhileStatement,test:this.convertChild(e.expression),body:this.convertChild(e.statement)});case s.DoStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.DoWhileStatement,test:this.convertChild(e.expression),body:this.convertChild(e.statement)});case s.ForStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.ForStatement,init:this.convertChild(e.initializer),test:this.convertChild(e.condition),update:this.convertChild(e.incrementor),body:this.convertChild(e.statement)});case s.ForInStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.ForInStatement,left:this.convertPattern(e.initializer),right:this.convertChild(e.expression),body:this.convertChild(e.statement)});case s.ForOfStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.ForOfStatement,left:this.convertPattern(e.initializer),right:this.convertChild(e.expression),body:this.convertChild(e.statement),await:Boolean(e.awaitModifier&&e.awaitModifier.kind===s.AwaitKeyword)});case s.FunctionDeclaration:{const t=is.hasModifier(s.DeclareKeyword,e),r=this.createNode(e,{type:t||!e.body?ns.AST_NODE_TYPES.TSDeclareFunction:ns.AST_NODE_TYPES.FunctionDeclaration,id:this.convertChild(e.name),generator:!!e.asteriskToken,expression:!1,async:is.hasModifier(s.AsyncKeyword,e),params:this.convertParameters(e.parameters),body:this.convertChild(e.body)||void 0});return e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),t&&(r.declare=!0),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),this.fixExports(e,r)}case s.VariableDeclaration:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.VariableDeclarator,id:this.convertBindingNameWithTypeAnnotation(e.name,e.type,e),init:this.convertChild(e.initializer)});return e.exclamationToken&&(t.definite=!0),t}case s.VariableStatement:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.VariableDeclaration,declarations:e.declarationList.declarations.map((e=>this.convertChild(e))),kind:is.getDeclarationKind(e.declarationList)});return e.decorators&&(t.decorators=e.decorators.map((e=>this.convertChild(e)))),is.hasModifier(s.DeclareKeyword,e)&&(t.declare=!0),this.fixExports(e,t)}case s.VariableDeclarationList:return this.createNode(e,{type:ns.AST_NODE_TYPES.VariableDeclaration,declarations:e.declarations.map((e=>this.convertChild(e))),kind:is.getDeclarationKind(e)});case s.ExpressionStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.ExpressionStatement,expression:this.convertChild(e.expression)});case s.ThisKeyword:return this.createNode(e,{type:ns.AST_NODE_TYPES.ThisExpression});case s.ArrayLiteralExpression:return this.allowPattern?this.createNode(e,{type:ns.AST_NODE_TYPES.ArrayPattern,elements:e.elements.map((e=>this.convertPattern(e)))}):this.createNode(e,{type:ns.AST_NODE_TYPES.ArrayExpression,elements:e.elements.map((e=>this.convertChild(e)))});case s.ObjectLiteralExpression:return this.allowPattern?this.createNode(e,{type:ns.AST_NODE_TYPES.ObjectPattern,properties:e.properties.map((e=>this.convertPattern(e)))}):this.createNode(e,{type:ns.AST_NODE_TYPES.ObjectExpression,properties:e.properties.map((e=>this.convertChild(e)))});case s.PropertyAssignment:return this.createNode(e,{type:ns.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.converter(e.initializer,e,this.inTypeMode,this.allowPattern),computed:is.isComputedProperty(e.name),method:!1,shorthand:!1,kind:\"init\"});case s.ShorthandPropertyAssignment:return e.objectAssignmentInitializer?this.createNode(e,{type:ns.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.createNode(e,{type:ns.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(e.name),right:this.convertChild(e.objectAssignmentInitializer)}),computed:!1,method:!1,shorthand:!0,kind:\"init\"}):this.createNode(e,{type:ns.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.convertChild(e.name),computed:!1,method:!1,shorthand:!0,kind:\"init\"});case s.ComputedPropertyName:return this.convertChild(e.expression);case s.PropertyDeclaration:{const t=is.hasModifier(s.AbstractKeyword,e),r=this.createNode(e,{type:t?ns.AST_NODE_TYPES.TSAbstractClassProperty:ns.AST_NODE_TYPES.ClassProperty,key:this.convertChild(e.name),value:this.convertChild(e.initializer),computed:is.isComputedProperty(e.name),static:is.hasModifier(s.StaticKeyword,e),readonly:is.hasModifier(s.ReadonlyKeyword,e)||void 0,declare:is.hasModifier(s.DeclareKeyword,e)});e.type&&(r.typeAnnotation=this.convertTypeAnnotation(e.type,e)),e.decorators&&(r.decorators=e.decorators.map((e=>this.convertChild(e))));const n=is.getTSNodeAccessibility(e);return n&&(r.accessibility=n),e.name.kind!==s.Identifier&&e.name.kind!==s.ComputedPropertyName||!e.questionToken||(r.optional=!0),e.exclamationToken&&(r.definite=!0),r.key.type===ns.AST_NODE_TYPES.Literal&&e.questionToken&&(r.optional=!0),r}case s.GetAccessor:case s.SetAccessor:case s.MethodDeclaration:{const r=this.createNode(e,{type:e.body?ns.AST_NODE_TYPES.FunctionExpression:ns.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,generator:!!e.asteriskToken,expression:!1,async:is.hasModifier(s.AsyncKeyword,e),body:this.convertChild(e.body),range:[e.parameters.pos-1,e.end],params:[]});let n;if(e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters),this.fixParentLocation(r,r.typeParameters.range)),t.kind===s.ObjectLiteralExpression)r.params=e.parameters.map((e=>this.convertChild(e))),n=this.createNode(e,{type:ns.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:r,computed:is.isComputedProperty(e.name),method:e.kind===s.MethodDeclaration,shorthand:!1,kind:\"init\"});else{r.params=this.convertParameters(e.parameters);const t=is.hasModifier(s.AbstractKeyword,e)?ns.AST_NODE_TYPES.TSAbstractMethodDefinition:ns.AST_NODE_TYPES.MethodDefinition;n=this.createNode(e,{type:t,key:this.convertChild(e.name),value:r,computed:is.isComputedProperty(e.name),static:is.hasModifier(s.StaticKeyword,e),kind:\"method\"}),e.decorators&&(n.decorators=e.decorators.map((e=>this.convertChild(e))));const i=is.getTSNodeAccessibility(e);i&&(n.accessibility=i)}return e.questionToken&&(n.optional=!0),e.kind===s.GetAccessor?n.kind=\"get\":e.kind===s.SetAccessor?n.kind=\"set\":n.static||e.name.kind!==s.StringLiteral||\"constructor\"!==e.name.text||n.type===ns.AST_NODE_TYPES.Property||(n.kind=\"constructor\"),n}case s.Constructor:{const t=is.getLastModifier(e),r=t&&is.findNextToken(t,e,this.ast)||e.getFirstToken(),n=this.createNode(e,{type:e.body?ns.AST_NODE_TYPES.FunctionExpression:ns.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,params:this.convertParameters(e.parameters),generator:!1,expression:!1,async:!1,body:this.convertChild(e.body),range:[e.parameters.pos-1,e.end]});e.typeParameters&&(n.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters),this.fixParentLocation(n,n.typeParameters.range)),e.type&&(n.returnType=this.convertTypeAnnotation(e.type,e));const i=this.createNode(e,{type:ns.AST_NODE_TYPES.Identifier,name:\"constructor\",range:[r.getStart(this.ast),r.end]}),a=is.hasModifier(s.StaticKeyword,e),o=this.createNode(e,{type:is.hasModifier(s.AbstractKeyword,e)?ns.AST_NODE_TYPES.TSAbstractMethodDefinition:ns.AST_NODE_TYPES.MethodDefinition,key:i,value:n,computed:!1,static:a,kind:a?\"method\":\"constructor\"}),c=is.getTSNodeAccessibility(e);return c&&(o.accessibility=c),o}case s.FunctionExpression:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.FunctionExpression,id:this.convertChild(e.name),generator:!!e.asteriskToken,params:this.convertParameters(e.parameters),body:this.convertChild(e.body),async:is.hasModifier(s.AsyncKeyword,e),expression:!1});return e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t}case s.SuperKeyword:return this.createNode(e,{type:ns.AST_NODE_TYPES.Super});case s.ArrayBindingPattern:return this.createNode(e,{type:ns.AST_NODE_TYPES.ArrayPattern,elements:e.elements.map((e=>this.convertPattern(e)))});case s.OmittedExpression:return null;case s.ObjectBindingPattern:return this.createNode(e,{type:ns.AST_NODE_TYPES.ObjectPattern,properties:e.elements.map((e=>this.convertPattern(e)))});case s.BindingElement:if(t.kind===s.ArrayBindingPattern){const r=this.convertChild(e.name,t);return e.initializer?this.createNode(e,{type:ns.AST_NODE_TYPES.AssignmentPattern,left:r,right:this.convertChild(e.initializer)}):e.dotDotDotToken?this.createNode(e,{type:ns.AST_NODE_TYPES.RestElement,argument:r}):r}{let t;return t=e.dotDotDotToken?this.createNode(e,{type:ns.AST_NODE_TYPES.RestElement,argument:this.convertChild(null!==(r=e.propertyName)&&void 0!==r?r:e.name)}):this.createNode(e,{type:ns.AST_NODE_TYPES.Property,key:this.convertChild(null!==(n=e.propertyName)&&void 0!==n?n:e.name),value:this.convertChild(e.name),computed:Boolean(e.propertyName&&e.propertyName.kind===s.ComputedPropertyName),method:!1,shorthand:!e.propertyName,kind:\"init\"}),e.initializer&&(t.value=this.createNode(e,{type:ns.AST_NODE_TYPES.AssignmentPattern,left:this.convertChild(e.name),right:this.convertChild(e.initializer),range:[e.name.getStart(this.ast),e.initializer.end]})),t}case s.ArrowFunction:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.ArrowFunctionExpression,generator:!1,id:null,params:this.convertParameters(e.parameters),body:this.convertChild(e.body),async:is.hasModifier(s.AsyncKeyword,e),expression:e.body.kind!==s.Block});return e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t}case s.YieldExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.YieldExpression,delegate:!!e.asteriskToken,argument:this.convertChild(e.expression)});case s.AwaitExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.AwaitExpression,argument:this.convertChild(e.expression)});case s.NoSubstitutionTemplateLiteral:return this.createNode(e,{type:ns.AST_NODE_TYPES.TemplateLiteral,quasis:[this.createNode(e,{type:ns.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(e.getStart(this.ast)+1,e.end-1),cooked:e.text},tail:!0})],expressions:[]});case s.TemplateExpression:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TemplateLiteral,quasis:[this.convertChild(e.head)],expressions:[]});return e.templateSpans.forEach((e=>{t.expressions.push(this.convertChild(e.expression)),t.quasis.push(this.convertChild(e.literal))})),t}case s.TaggedTemplateExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.TaggedTemplateExpression,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,tag:this.convertChild(e.tag),quasi:this.convertChild(e.template)});case s.TemplateHead:case s.TemplateMiddle:case s.TemplateTail:{const t=e.kind===s.TemplateTail;return this.createNode(e,{type:ns.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(e.getStart(this.ast)+1,e.end-(t?1:2)),cooked:e.text},tail:t})}case s.SpreadAssignment:case s.SpreadElement:return this.allowPattern?this.createNode(e,{type:ns.AST_NODE_TYPES.RestElement,argument:this.convertPattern(e.expression)}):this.createNode(e,{type:ns.AST_NODE_TYPES.SpreadElement,argument:this.convertChild(e.expression)});case s.Parameter:{let r,n;return e.dotDotDotToken?r=n=this.createNode(e,{type:ns.AST_NODE_TYPES.RestElement,argument:this.convertChild(e.name)}):e.initializer?(r=this.convertChild(e.name),n=this.createNode(e,{type:ns.AST_NODE_TYPES.AssignmentPattern,left:r,right:this.convertChild(e.initializer)}),e.modifiers&&(n.range[0]=r.range[0],n.loc=is.getLocFor(n.range[0],n.range[1],this.ast))):r=n=this.convertChild(e.name,t),e.type&&(r.typeAnnotation=this.convertTypeAnnotation(e.type,e),this.fixParentLocation(r,r.typeAnnotation.range)),e.questionToken&&(e.questionToken.end>r.range[1]&&(r.range[1]=e.questionToken.end,r.loc.end=is.getLineAndCharacterFor(r.range[1],this.ast)),r.optional=!0),e.modifiers?this.createNode(e,{type:ns.AST_NODE_TYPES.TSParameterProperty,accessibility:null!==(i=is.getTSNodeAccessibility(e))&&void 0!==i?i:void 0,readonly:is.hasModifier(s.ReadonlyKeyword,e)||void 0,static:is.hasModifier(s.StaticKeyword,e)||void 0,export:is.hasModifier(s.ExportKeyword,e)||void 0,parameter:n}):n}case s.ClassDeclaration:case s.ClassExpression:{const t=null!==(a=e.heritageClauses)&&void 0!==a?a:[],r=e.kind===s.ClassDeclaration?ns.AST_NODE_TYPES.ClassDeclaration:ns.AST_NODE_TYPES.ClassExpression,n=t.find((e=>e.token===s.ExtendsKeyword)),i=t.find((e=>e.token===s.ImplementsKeyword)),o=this.createNode(e,{type:r,id:this.convertChild(e.name),body:this.createNode(e,{type:ns.AST_NODE_TYPES.ClassBody,body:[],range:[e.members.pos-1,e.end]}),superClass:(null==n?void 0:n.types[0])?this.convertChild(n.types[0].expression):null});if(n){if(n.types.length>1)throw is.createError(this.ast,n.types[1].pos,\"Classes can only extend a single class.\");(null===(c=n.types[0])||void 0===c?void 0:c.typeArguments)&&(o.superTypeParameters=this.convertTypeArgumentsToTypeParameters(n.types[0].typeArguments,n.types[0]))}e.typeParameters&&(o.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),i&&(o.implements=i.types.map((e=>this.convertChild(e)))),is.hasModifier(s.AbstractKeyword,e)&&(o.abstract=!0),is.hasModifier(s.DeclareKeyword,e)&&(o.declare=!0),e.decorators&&(o.decorators=e.decorators.map((e=>this.convertChild(e))));const u=e.members.filter(is.isESTreeClassMember);return u.length&&(o.body.body=u.map((e=>this.convertChild(e)))),this.fixExports(e,o)}case s.ModuleBlock:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSModuleBlock,body:this.convertBodyExpressions(e.statements,e)});case s.ImportDeclaration:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.ImportDeclaration,source:this.convertChild(e.moduleSpecifier),specifiers:[],importKind:\"value\"});if(e.importClause&&(e.importClause.isTypeOnly&&(t.importKind=\"type\"),e.importClause.name&&t.specifiers.push(this.convertChild(e.importClause)),e.importClause.namedBindings))switch(e.importClause.namedBindings.kind){case s.NamespaceImport:t.specifiers.push(this.convertChild(e.importClause.namedBindings));break;case s.NamedImports:t.specifiers=t.specifiers.concat(e.importClause.namedBindings.elements.map((e=>this.convertChild(e))))}return t}case s.NamespaceImport:return this.createNode(e,{type:ns.AST_NODE_TYPES.ImportNamespaceSpecifier,local:this.convertChild(e.name)});case s.ImportSpecifier:return this.createNode(e,{type:ns.AST_NODE_TYPES.ImportSpecifier,local:this.convertChild(e.name),imported:this.convertChild(null!==(u=e.propertyName)&&void 0!==u?u:e.name)});case s.ImportClause:{const t=this.convertChild(e.name);return this.createNode(e,{type:ns.AST_NODE_TYPES.ImportDefaultSpecifier,local:t,range:t.range})}case s.ExportDeclaration:return(null===(l=e.exportClause)||void 0===l?void 0:l.kind)===s.NamedExports?this.createNode(e,{type:ns.AST_NODE_TYPES.ExportNamedDeclaration,source:this.convertChild(e.moduleSpecifier),specifiers:e.exportClause.elements.map((e=>this.convertChild(e))),exportKind:e.isTypeOnly?\"type\":\"value\",declaration:null}):this.createNode(e,{type:ns.AST_NODE_TYPES.ExportAllDeclaration,source:this.convertChild(e.moduleSpecifier),exportKind:e.isTypeOnly?\"type\":\"value\",exported:e.exportClause&&e.exportClause.kind===s.NamespaceExport?this.convertChild(e.exportClause.name):null});case s.ExportSpecifier:return this.createNode(e,{type:ns.AST_NODE_TYPES.ExportSpecifier,local:this.convertChild(null!==(d=e.propertyName)&&void 0!==d?d:e.name),exported:this.convertChild(e.name)});case s.ExportAssignment:return e.isExportEquals?this.createNode(e,{type:ns.AST_NODE_TYPES.TSExportAssignment,expression:this.convertChild(e.expression)}):this.createNode(e,{type:ns.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:this.convertChild(e.expression),exportKind:\"value\"});case s.PrefixUnaryExpression:case s.PostfixUnaryExpression:{const t=is.getTextForTokenKind(e.operator);return\"++\"===t||\"--\"===t?this.createNode(e,{type:ns.AST_NODE_TYPES.UpdateExpression,operator:t,prefix:e.kind===s.PrefixUnaryExpression,argument:this.convertChild(e.operand)}):this.createNode(e,{type:ns.AST_NODE_TYPES.UnaryExpression,operator:t,prefix:e.kind===s.PrefixUnaryExpression,argument:this.convertChild(e.operand)})}case s.DeleteExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.UnaryExpression,operator:\"delete\",prefix:!0,argument:this.convertChild(e.expression)});case s.VoidExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.UnaryExpression,operator:\"void\",prefix:!0,argument:this.convertChild(e.expression)});case s.TypeOfExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.UnaryExpression,operator:\"typeof\",prefix:!0,argument:this.convertChild(e.expression)});case s.TypeOperator:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypeOperator,operator:is.getTextForTokenKind(e.operator),typeAnnotation:this.convertChild(e.type)});case s.BinaryExpression:if(is.isComma(e.operatorToken)){const t=this.createNode(e,{type:ns.AST_NODE_TYPES.SequenceExpression,expressions:[]}),r=this.convertChild(e.left);return r.type===ns.AST_NODE_TYPES.SequenceExpression&&e.left.kind!==s.ParenthesizedExpression?t.expressions=t.expressions.concat(r.expressions):t.expressions.push(r),t.expressions.push(this.convertChild(e.right)),t}{const t=is.getBinaryExpressionType(e.operatorToken);return this.allowPattern&&t===ns.AST_NODE_TYPES.AssignmentExpression?this.createNode(e,{type:ns.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(e.left,e),right:this.convertChild(e.right)}):this.createNode(e,{type:t,operator:is.getTextForTokenKind(e.operatorToken.kind),left:this.converter(e.left,e,this.inTypeMode,t===ns.AST_NODE_TYPES.AssignmentExpression),right:this.convertChild(e.right)})}case s.PropertyAccessExpression:{const t=this.convertChild(e.expression),r=this.convertChild(e.name),n=!1,i=this.createNode(e,{type:ns.AST_NODE_TYPES.MemberExpression,object:t,property:r,computed:n,optional:void 0!==e.questionDotToken});return this.convertChainExpression(i,e)}case s.ElementAccessExpression:{const t=this.convertChild(e.expression),r=this.convertChild(e.argumentExpression),n=!0,i=this.createNode(e,{type:ns.AST_NODE_TYPES.MemberExpression,object:t,property:r,computed:n,optional:void 0!==e.questionDotToken});return this.convertChainExpression(i,e)}case s.CallExpression:{if(e.expression.kind===s.ImportKeyword){if(1!==e.arguments.length)throw is.createError(this.ast,e.arguments.pos,\"Dynamic import must have one specifier as an argument.\");return this.createNode(e,{type:ns.AST_NODE_TYPES.ImportExpression,source:this.convertChild(e.arguments[0])})}const t=this.convertChild(e.expression),r=e.arguments.map((e=>this.convertChild(e))),n=this.createNode(e,{type:ns.AST_NODE_TYPES.CallExpression,callee:t,arguments:r,optional:void 0!==e.questionDotToken});return e.typeArguments&&(n.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),this.convertChainExpression(n,e)}case s.NewExpression:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.NewExpression,callee:this.convertChild(e.expression),arguments:e.arguments?e.arguments.map((e=>this.convertChild(e))):[]});return e.typeArguments&&(t.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),t}case s.ConditionalExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.ConditionalExpression,test:this.convertChild(e.condition),consequent:this.convertChild(e.whenTrue),alternate:this.convertChild(e.whenFalse)});case s.MetaProperty:return this.createNode(e,{type:ns.AST_NODE_TYPES.MetaProperty,meta:this.createNode(e.getFirstToken(),{type:ns.AST_NODE_TYPES.Identifier,name:is.getTextForTokenKind(e.keywordToken)}),property:this.convertChild(e.name)});case s.Decorator:return this.createNode(e,{type:ns.AST_NODE_TYPES.Decorator,expression:this.convertChild(e.expression)});case s.StringLiteral:{const r=this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,raw:\"\",value:\"\"});return r.raw=this.ast.text.slice(r.range[0],r.range[1]),\"name\"in t&&t.name===e?r.value=e.text:r.value=is.unescapeStringLiteralText(e.text),r}case s.NumericLiteral:return this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,value:Number(e.text),raw:e.getText()});case s.BigIntLiteral:{const t=is.getRange(e,this.ast),r=this.ast.text.slice(t[0],t[1]),n=r.slice(0,-1).replace(/_/g,\"\"),i=\"undefined\"!=typeof BigInt?BigInt(n):null;return this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,raw:r,value:i,bigint:null===i?n:String(i),range:t})}case s.RegularExpressionLiteral:{const t=e.text.slice(1,e.text.lastIndexOf(\"/\")),r=e.text.slice(e.text.lastIndexOf(\"/\")+1);let n=null;try{n=new RegExp(t,r)}catch(e){n=null}return this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,value:n,raw:e.text,regex:{pattern:t,flags:r}})}case s.TrueKeyword:return this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,value:!0,raw:\"true\"});case s.FalseKeyword:return this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,value:!1,raw:\"false\"});case s.NullKeyword:return!as.typescriptVersionIsAtLeast[\"4.0\"]&&this.inTypeMode?this.createNode(e,{type:ns.AST_NODE_TYPES.TSNullKeyword}):this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,value:null,raw:\"null\"});case s.EmptyStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.EmptyStatement});case s.DebuggerStatement:return this.createNode(e,{type:ns.AST_NODE_TYPES.DebuggerStatement});case s.JsxElement:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXElement,openingElement:this.convertChild(e.openingElement),closingElement:this.convertChild(e.closingElement),children:e.children.map((e=>this.convertChild(e)))});case s.JsxFragment:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXFragment,openingFragment:this.convertChild(e.openingFragment),closingFragment:this.convertChild(e.closingFragment),children:e.children.map((e=>this.convertChild(e)))});case s.JsxSelfClosingElement:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXElement,openingElement:this.createNode(e,{type:ns.AST_NODE_TYPES.JSXOpeningElement,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,selfClosing:!0,name:this.convertJSXTagName(e.tagName,e),attributes:e.attributes.properties.map((e=>this.convertChild(e))),range:is.getRange(e,this.ast)}),closingElement:null,children:[]});case s.JsxOpeningElement:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXOpeningElement,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,selfClosing:!1,name:this.convertJSXTagName(e.tagName,e),attributes:e.attributes.properties.map((e=>this.convertChild(e)))});case s.JsxClosingElement:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXClosingElement,name:this.convertJSXTagName(e.tagName,e)});case s.JsxOpeningFragment:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXOpeningFragment});case s.JsxClosingFragment:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXClosingFragment});case s.JsxExpression:{const t=e.expression?this.convertChild(e.expression):this.createNode(e,{type:ns.AST_NODE_TYPES.JSXEmptyExpression,range:[e.getStart(this.ast)+1,e.getEnd()-1]});return e.dotDotDotToken?this.createNode(e,{type:ns.AST_NODE_TYPES.JSXSpreadChild,expression:t}):this.createNode(e,{type:ns.AST_NODE_TYPES.JSXExpressionContainer,expression:t})}case s.JsxAttribute:{const t=this.convertChild(e.name);return t.type=ns.AST_NODE_TYPES.JSXIdentifier,this.createNode(e,{type:ns.AST_NODE_TYPES.JSXAttribute,name:t,value:this.convertChild(e.initializer)})}case s.JsxText:{const t=e.getFullStart(),r=e.getEnd();return this.options.useJSXTextNode?this.createNode(e,{type:ns.AST_NODE_TYPES.JSXText,value:this.ast.text.slice(t,r),raw:this.ast.text.slice(t,r),range:[t,r]}):this.createNode(e,{type:ns.AST_NODE_TYPES.Literal,value:this.ast.text.slice(t,r),raw:this.ast.text.slice(t,r),range:[t,r]})}case s.JsxSpreadAttribute:return this.createNode(e,{type:ns.AST_NODE_TYPES.JSXSpreadAttribute,argument:this.convertChild(e.expression)});case s.QualifiedName:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSQualifiedName,left:this.convertChild(e.left),right:this.convertChild(e.right)});case s.TypeReference:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypeReference,typeName:this.convertType(e.typeName),typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0});case s.TypeParameter:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypeParameter,name:this.convertType(e.name),constraint:e.constraint?this.convertType(e.constraint):void 0,default:e.default?this.convertType(e.default):void 0});case s.ThisType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSThisType});case s.AnyKeyword:case s.BigIntKeyword:case s.BooleanKeyword:case s.NeverKeyword:case s.NumberKeyword:case s.ObjectKeyword:case s.StringKeyword:case s.SymbolKeyword:case s.UnknownKeyword:case s.VoidKeyword:case s.UndefinedKeyword:return this.createNode(e,{type:ns.AST_NODE_TYPES[\"TS\".concat(s[e.kind])]});case s.NonNullExpression:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSNonNullExpression,expression:this.convertChild(e.expression)});return this.convertChainExpression(t,e)}case s.TypeLiteral:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypeLiteral,members:e.members.map((e=>this.convertChild(e)))});case s.ArrayType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSArrayType,elementType:this.convertType(e.elementType)});case s.IndexedAccessType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSIndexedAccessType,objectType:this.convertType(e.objectType),indexType:this.convertType(e.indexType)});case s.ConditionalType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSConditionalType,checkType:this.convertType(e.checkType),extendsType:this.convertType(e.extendsType),trueType:this.convertType(e.trueType),falseType:this.convertType(e.falseType)});case s.TypeQuery:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypeQuery,exprName:this.convertType(e.exprName)});case s.MappedType:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSMappedType,typeParameter:this.convertType(e.typeParameter),nameType:null!==(_=this.convertType(e.nameType))&&void 0!==_?_:null});return e.readonlyToken&&(e.readonlyToken.kind===s.ReadonlyKeyword?t.readonly=!0:t.readonly=is.getTextForTokenKind(e.readonlyToken.kind)),e.questionToken&&(e.questionToken.kind===s.QuestionToken?t.optional=!0:t.optional=is.getTextForTokenKind(e.questionToken.kind)),e.type&&(t.typeAnnotation=this.convertType(e.type)),t}case s.ParenthesizedExpression:return this.convertChild(e.expression,t);case s.TypeAliasDeclaration:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypeAliasDeclaration,id:this.convertChild(e.name),typeAnnotation:this.convertType(e.type)});return is.hasModifier(s.DeclareKeyword,e)&&(t.declare=!0),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),this.fixExports(e,t)}case s.MethodSignature:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSMethodSignature,computed:is.isComputedProperty(e.name),key:this.convertChild(e.name),params:this.convertParameters(e.parameters)});is.isOptional(e)&&(t.optional=!0),e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),is.hasModifier(s.ReadonlyKeyword,e)&&(t.readonly=!0),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters));const r=is.getTSNodeAccessibility(e);return r&&(t.accessibility=r),is.hasModifier(s.ExportKeyword,e)&&(t.export=!0),is.hasModifier(s.StaticKeyword,e)&&(t.static=!0),t}case s.PropertySignature:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSPropertySignature,optional:is.isOptional(e)||void 0,computed:is.isComputedProperty(e.name),key:this.convertChild(e.name),typeAnnotation:e.type?this.convertTypeAnnotation(e.type,e):void 0,initializer:this.convertChild(e.initializer)||void 0,readonly:is.hasModifier(s.ReadonlyKeyword,e)||void 0,static:is.hasModifier(s.StaticKeyword,e)||void 0,export:is.hasModifier(s.ExportKeyword,e)||void 0}),r=is.getTSNodeAccessibility(e);return r&&(t.accessibility=r),t}case s.IndexSignature:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSIndexSignature,parameters:e.parameters.map((e=>this.convertChild(e)))});e.type&&(t.typeAnnotation=this.convertTypeAnnotation(e.type,e)),is.hasModifier(s.ReadonlyKeyword,e)&&(t.readonly=!0);const r=is.getTSNodeAccessibility(e);return r&&(t.accessibility=r),is.hasModifier(s.ExportKeyword,e)&&(t.export=!0),is.hasModifier(s.StaticKeyword,e)&&(t.static=!0),t}case s.ConstructorType:case s.FunctionType:case s.ConstructSignature:case s.CallSignature:{let t;switch(e.kind){case s.ConstructSignature:t=ns.AST_NODE_TYPES.TSConstructSignatureDeclaration;break;case s.CallSignature:t=ns.AST_NODE_TYPES.TSCallSignatureDeclaration;break;case s.FunctionType:t=ns.AST_NODE_TYPES.TSFunctionType;break;case s.ConstructorType:default:t=ns.AST_NODE_TYPES.TSConstructorType}const r=this.createNode(e,{type:t,params:this.convertParameters(e.parameters)});return e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),r}case s.ExpressionWithTypeArguments:{const r=this.createNode(e,{type:t&&t.kind===s.InterfaceDeclaration?ns.AST_NODE_TYPES.TSInterfaceHeritage:ns.AST_NODE_TYPES.TSClassImplements,expression:this.convertChild(e.expression)});return e.typeArguments&&(r.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),r}case s.InterfaceDeclaration:{const t=null!==(p=e.heritageClauses)&&void 0!==p?p:[],r=this.createNode(e,{type:ns.AST_NODE_TYPES.TSInterfaceDeclaration,body:this.createNode(e,{type:ns.AST_NODE_TYPES.TSInterfaceBody,body:e.members.map((e=>this.convertChild(e))),range:[e.members.pos-1,e.end]}),id:this.convertChild(e.name)});if(e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t.length>0){const n=[],i=[];for(const r of t)if(r.token===s.ExtendsKeyword)for(const t of r.types)n.push(this.convertChild(t,e));else for(const t of r.types)i.push(this.convertChild(t,e));n.length&&(r.extends=n),i.length&&(r.implements=i)}return is.hasModifier(s.AbstractKeyword,e)&&(r.abstract=!0),is.hasModifier(s.DeclareKeyword,e)&&(r.declare=!0),this.fixExports(e,r)}case s.TypePredicate:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypePredicate,asserts:void 0!==e.assertsModifier,parameterName:this.convertChild(e.parameterName),typeAnnotation:null});return e.type&&(t.typeAnnotation=this.convertTypeAnnotation(e.type,e),t.typeAnnotation.loc=t.typeAnnotation.typeAnnotation.loc,t.typeAnnotation.range=t.typeAnnotation.typeAnnotation.range),t}case s.ImportType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSImportType,isTypeOf:!!e.isTypeOf,parameter:this.convertChild(e.argument),qualifier:this.convertChild(e.qualifier),typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):null});case s.EnumDeclaration:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSEnumDeclaration,id:this.convertChild(e.name),members:e.members.map((e=>this.convertChild(e)))});return this.applyModifiersToResult(t,e.modifiers),this.fixExports(e,t)}case s.EnumMember:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSEnumMember,id:this.convertChild(e.name)});return e.initializer&&(t.initializer=this.convertChild(e.initializer)),e.name.kind===o.SyntaxKind.ComputedPropertyName&&(t.computed=!0),t}case s.ModuleDeclaration:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSModuleDeclaration,id:this.convertChild(e.name)});return e.body&&(t.body=this.convertChild(e.body)),this.applyModifiersToResult(t,e.modifiers),e.flags&o.NodeFlags.GlobalAugmentation&&(t.global=!0),this.fixExports(e,t)}case s.ParenthesizedType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSParenthesizedType,typeAnnotation:this.convertType(e.type)});case s.UnionType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSUnionType,types:e.types.map((e=>this.convertType(e)))});case s.IntersectionType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSIntersectionType,types:e.types.map((e=>this.convertType(e)))});case s.AsExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSAsExpression,expression:this.convertChild(e.expression),typeAnnotation:this.convertType(e.type)});case s.InferType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSInferType,typeParameter:this.convertType(e.typeParameter)});case s.LiteralType:return as.typescriptVersionIsAtLeast[\"4.0\"]&&e.literal.kind===s.NullKeyword?this.createNode(e.literal,{type:ns.AST_NODE_TYPES.TSNullKeyword}):this.createNode(e,{type:ns.AST_NODE_TYPES.TSLiteralType,literal:this.convertType(e.literal)});case s.TypeAssertionExpression:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSTypeAssertion,typeAnnotation:this.convertType(e.type),expression:this.convertChild(e.expression)});case s.ImportEqualsDeclaration:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSImportEqualsDeclaration,id:this.convertChild(e.name),moduleReference:this.convertChild(e.moduleReference),isExport:is.hasModifier(s.ExportKeyword,e)});case s.ExternalModuleReference:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSExternalModuleReference,expression:this.convertChild(e.expression)});case s.NamespaceExportDeclaration:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSNamespaceExportDeclaration,id:this.convertChild(e.name)});case s.AbstractKeyword:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSAbstractKeyword});case s.TupleType:{const t=\"elementTypes\"in e?e.elementTypes.map((e=>this.convertType(e))):e.elements.map((e=>this.convertType(e)));return this.createNode(e,{type:ns.AST_NODE_TYPES.TSTupleType,elementTypes:t})}case s.NamedTupleMember:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSNamedTupleMember,elementType:this.convertType(e.type,e),label:this.convertChild(e.name,e),optional:null!=e.questionToken});return e.dotDotDotToken?(t.range[0]=t.label.range[0],t.loc.start=t.label.loc.start,this.createNode(e,{type:ns.AST_NODE_TYPES.TSRestType,typeAnnotation:t})):t}case s.OptionalType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSOptionalType,typeAnnotation:this.convertType(e.type)});case s.RestType:return this.createNode(e,{type:ns.AST_NODE_TYPES.TSRestType,typeAnnotation:this.convertType(e.type)});case s.TemplateLiteralType:{const t=this.createNode(e,{type:ns.AST_NODE_TYPES.TSTemplateLiteralType,quasis:[this.convertChild(e.head)],types:[]});return e.templateSpans.forEach((e=>{t.types.push(this.convertChild(e.type)),t.quasis.push(this.convertChild(e.literal))})),t}default:return this.deeplyCopy(e)}}}})),ss=function(e,t){return(ss=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};var cs=function(){return(cs=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function ls(e,t){var r=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,a=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)o.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return o}function ds(e){return this instanceof ds?(this.v=e,this):new ds(e)}var _s=Object.freeze({__proto__:null,__extends:function(e,t){function r(){this.constructor=e}ss(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},get __assign(){return cs},__rest:function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o},__param:function(e,t){return function(r,n){t(r,n,e)}},__metadata:function(e,t){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}c((n=n.apply(e,t||[])).next())}))},__generator:function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError(\"Generator is already executing.\");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]1||s(e,t)}))})}function s(e,t){try{(r=i[e](t)).value instanceof ds?Promise.resolve(r.value.v).then(c,u):l(a[0][2],r)}catch(e){l(a[0][3],e)}var r}function c(e){s(\"next\",e)}function u(e){s(\"throw\",e)}function l(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}},__asyncDelegator:function(e){var t,r;return t={},n(\"next\"),n(\"throw\",(function(e){throw e})),n(\"return\"),t[Symbol.iterator]=function(){return this},t;function n(n,i){t[n]=e[n]?function(t){return(r=!r)?{value:ds(e[n](t)),done:\"return\"===n}:i?i(t):t}:i}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=us(e),t={},n(\"next\"),n(\"throw\"),n(\"return\"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,i){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,i,(t=e[r](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t){if(!t.has(e))throw new TypeError(\"attempted to get private field on non-instance\");return t.get(e)},__classPrivateFieldSet:function(e,t,r){if(!t.has(e))throw new TypeError(\"attempted to set private field on non-instance\");return t.set(e,r),r}}),ps=r((function(e,t){function r(e){return e.kind===Eo.SyntaxKind.ModuleDeclaration}function n(e){return e.kind===Eo.SyntaxKind.PropertyAccessExpression}function i(e){return e.kind===Eo.SyntaxKind.QualifiedName}Object.defineProperty(t,\"__esModule\",{value:!0}),t.isAccessorDeclaration=function(e){return e.kind===Eo.SyntaxKind.GetAccessor||e.kind===Eo.SyntaxKind.SetAccessor},t.isArrayBindingPattern=function(e){return e.kind===Eo.SyntaxKind.ArrayBindingPattern},t.isArrayLiteralExpression=function(e){return e.kind===Eo.SyntaxKind.ArrayLiteralExpression},t.isArrayTypeNode=function(e){return e.kind===Eo.SyntaxKind.ArrayType},t.isArrowFunction=function(e){return e.kind===Eo.SyntaxKind.ArrowFunction},t.isAsExpression=function(e){return e.kind===Eo.SyntaxKind.AsExpression},t.isAssertionExpression=function(e){return e.kind===Eo.SyntaxKind.AsExpression||e.kind===Eo.SyntaxKind.TypeAssertionExpression},t.isAwaitExpression=function(e){return e.kind===Eo.SyntaxKind.AwaitExpression},t.isBinaryExpression=function(e){return e.kind===Eo.SyntaxKind.BinaryExpression},t.isBindingElement=function(e){return e.kind===Eo.SyntaxKind.BindingElement},t.isBindingPattern=function(e){return e.kind===Eo.SyntaxKind.ArrayBindingPattern||e.kind===Eo.SyntaxKind.ObjectBindingPattern},t.isBlock=function(e){return e.kind===Eo.SyntaxKind.Block},t.isBlockLike=function(e){return void 0!==e.statements},t.isBooleanLiteral=function(e){return e.kind===Eo.SyntaxKind.TrueKeyword||e.kind===Eo.SyntaxKind.FalseKeyword},t.isBreakOrContinueStatement=function(e){return e.kind===Eo.SyntaxKind.BreakStatement||e.kind===Eo.SyntaxKind.ContinueStatement},t.isBreakStatement=function(e){return e.kind===Eo.SyntaxKind.BreakStatement},t.isCallExpression=function(e){return e.kind===Eo.SyntaxKind.CallExpression},t.isCallLikeExpression=function(e){switch(e.kind){case Eo.SyntaxKind.CallExpression:case Eo.SyntaxKind.Decorator:case Eo.SyntaxKind.JsxOpeningElement:case Eo.SyntaxKind.JsxSelfClosingElement:case Eo.SyntaxKind.NewExpression:case Eo.SyntaxKind.TaggedTemplateExpression:return!0;default:return!1}},t.isCallSignatureDeclaration=function(e){return e.kind===Eo.SyntaxKind.CallSignature},t.isCaseBlock=function(e){return e.kind===Eo.SyntaxKind.CaseBlock},t.isCaseClause=function(e){return e.kind===Eo.SyntaxKind.CaseClause},t.isCaseOrDefaultClause=function(e){return e.kind===Eo.SyntaxKind.CaseClause||e.kind===Eo.SyntaxKind.DefaultClause},t.isCatchClause=function(e){return e.kind===Eo.SyntaxKind.CatchClause},t.isClassDeclaration=function(e){return e.kind===Eo.SyntaxKind.ClassDeclaration},t.isClassExpression=function(e){return e.kind===Eo.SyntaxKind.ClassExpression},t.isClassLikeDeclaration=function(e){return e.kind===Eo.SyntaxKind.ClassDeclaration||e.kind===Eo.SyntaxKind.ClassExpression},t.isCommaListExpression=function(e){return e.kind===Eo.SyntaxKind.CommaListExpression},t.isConditionalExpression=function(e){return e.kind===Eo.SyntaxKind.ConditionalExpression},t.isConditionalTypeNode=function(e){return e.kind===Eo.SyntaxKind.ConditionalType},t.isConstructorDeclaration=function(e){return e.kind===Eo.SyntaxKind.Constructor},t.isConstructorTypeNode=function(e){return e.kind===Eo.SyntaxKind.ConstructorType},t.isConstructSignatureDeclaration=function(e){return e.kind===Eo.SyntaxKind.ConstructSignature},t.isContinueStatement=function(e){return e.kind===Eo.SyntaxKind.ContinueStatement},t.isComputedPropertyName=function(e){return e.kind===Eo.SyntaxKind.ComputedPropertyName},t.isDebuggerStatement=function(e){return e.kind===Eo.SyntaxKind.DebuggerStatement},t.isDecorator=function(e){return e.kind===Eo.SyntaxKind.Decorator},t.isDefaultClause=function(e){return e.kind===Eo.SyntaxKind.DefaultClause},t.isDeleteExpression=function(e){return e.kind===Eo.SyntaxKind.DeleteExpression},t.isDoStatement=function(e){return e.kind===Eo.SyntaxKind.DoStatement},t.isElementAccessExpression=function(e){return e.kind===Eo.SyntaxKind.ElementAccessExpression},t.isEmptyStatement=function(e){return e.kind===Eo.SyntaxKind.EmptyStatement},t.isEntityName=function(e){return e.kind===Eo.SyntaxKind.Identifier||i(e)},t.isEntityNameExpression=function e(t){return t.kind===Eo.SyntaxKind.Identifier||n(t)&&e(t.expression)},t.isEnumDeclaration=function(e){return e.kind===Eo.SyntaxKind.EnumDeclaration},t.isEnumMember=function(e){return e.kind===Eo.SyntaxKind.EnumMember},t.isExportAssignment=function(e){return e.kind===Eo.SyntaxKind.ExportAssignment},t.isExportDeclaration=function(e){return e.kind===Eo.SyntaxKind.ExportDeclaration},t.isExportSpecifier=function(e){return e.kind===Eo.SyntaxKind.ExportSpecifier},t.isExpression=function(e){switch(e.kind){case Eo.SyntaxKind.ArrayLiteralExpression:case Eo.SyntaxKind.ArrowFunction:case Eo.SyntaxKind.AsExpression:case Eo.SyntaxKind.AwaitExpression:case Eo.SyntaxKind.BinaryExpression:case Eo.SyntaxKind.CallExpression:case Eo.SyntaxKind.ClassExpression:case Eo.SyntaxKind.CommaListExpression:case Eo.SyntaxKind.ConditionalExpression:case Eo.SyntaxKind.DeleteExpression:case Eo.SyntaxKind.ElementAccessExpression:case Eo.SyntaxKind.FalseKeyword:case Eo.SyntaxKind.FunctionExpression:case Eo.SyntaxKind.Identifier:case Eo.SyntaxKind.JsxElement:case Eo.SyntaxKind.JsxFragment:case Eo.SyntaxKind.JsxExpression:case Eo.SyntaxKind.JsxOpeningElement:case Eo.SyntaxKind.JsxOpeningFragment:case Eo.SyntaxKind.JsxSelfClosingElement:case Eo.SyntaxKind.MetaProperty:case Eo.SyntaxKind.NewExpression:case Eo.SyntaxKind.NonNullExpression:case Eo.SyntaxKind.NoSubstitutionTemplateLiteral:case Eo.SyntaxKind.NullKeyword:case Eo.SyntaxKind.NumericLiteral:case Eo.SyntaxKind.ObjectLiteralExpression:case Eo.SyntaxKind.OmittedExpression:case Eo.SyntaxKind.ParenthesizedExpression:case Eo.SyntaxKind.PostfixUnaryExpression:case Eo.SyntaxKind.PrefixUnaryExpression:case Eo.SyntaxKind.PropertyAccessExpression:case Eo.SyntaxKind.RegularExpressionLiteral:case Eo.SyntaxKind.SpreadElement:case Eo.SyntaxKind.StringLiteral:case Eo.SyntaxKind.SuperKeyword:case Eo.SyntaxKind.TaggedTemplateExpression:case Eo.SyntaxKind.TemplateExpression:case Eo.SyntaxKind.ThisKeyword:case Eo.SyntaxKind.TrueKeyword:case Eo.SyntaxKind.TypeAssertionExpression:case Eo.SyntaxKind.TypeOfExpression:case Eo.SyntaxKind.VoidExpression:case Eo.SyntaxKind.YieldExpression:return!0;default:return!1}},t.isExpressionStatement=function(e){return e.kind===Eo.SyntaxKind.ExpressionStatement},t.isExpressionWithTypeArguments=function(e){return e.kind===Eo.SyntaxKind.ExpressionWithTypeArguments},t.isExternalModuleReference=function(e){return e.kind===Eo.SyntaxKind.ExternalModuleReference},t.isForInStatement=function(e){return e.kind===Eo.SyntaxKind.ForInStatement},t.isForInOrOfStatement=function(e){return e.kind===Eo.SyntaxKind.ForOfStatement||e.kind===Eo.SyntaxKind.ForInStatement},t.isForOfStatement=function(e){return e.kind===Eo.SyntaxKind.ForOfStatement},t.isForStatement=function(e){return e.kind===Eo.SyntaxKind.ForStatement},t.isFunctionDeclaration=function(e){return e.kind===Eo.SyntaxKind.FunctionDeclaration},t.isFunctionExpression=function(e){return e.kind===Eo.SyntaxKind.FunctionExpression},t.isFunctionTypeNode=function(e){return e.kind===Eo.SyntaxKind.FunctionType},t.isGetAccessorDeclaration=function(e){return e.kind===Eo.SyntaxKind.GetAccessor},t.isIdentifier=function(e){return e.kind===Eo.SyntaxKind.Identifier},t.isIfStatement=function(e){return e.kind===Eo.SyntaxKind.IfStatement},t.isImportClause=function(e){return e.kind===Eo.SyntaxKind.ImportClause},t.isImportDeclaration=function(e){return e.kind===Eo.SyntaxKind.ImportDeclaration},t.isImportEqualsDeclaration=function(e){return e.kind===Eo.SyntaxKind.ImportEqualsDeclaration},t.isImportSpecifier=function(e){return e.kind===Eo.SyntaxKind.ImportSpecifier},t.isIndexedAccessTypeNode=function(e){return e.kind===Eo.SyntaxKind.IndexedAccessType},t.isIndexSignatureDeclaration=function(e){return e.kind===Eo.SyntaxKind.IndexSignature},t.isInferTypeNode=function(e){return e.kind===Eo.SyntaxKind.InferType},t.isInterfaceDeclaration=function(e){return e.kind===Eo.SyntaxKind.InterfaceDeclaration},t.isIntersectionTypeNode=function(e){return e.kind===Eo.SyntaxKind.IntersectionType},t.isIterationStatement=function(e){switch(e.kind){case Eo.SyntaxKind.ForStatement:case Eo.SyntaxKind.ForOfStatement:case Eo.SyntaxKind.ForInStatement:case Eo.SyntaxKind.WhileStatement:case Eo.SyntaxKind.DoStatement:return!0;default:return!1}},t.isJsDoc=function(e){return e.kind===Eo.SyntaxKind.JSDocComment},t.isJsxAttribute=function(e){return e.kind===Eo.SyntaxKind.JsxAttribute},t.isJsxAttributeLike=function(e){return e.kind===Eo.SyntaxKind.JsxAttribute||e.kind===Eo.SyntaxKind.JsxSpreadAttribute},t.isJsxAttributes=function(e){return e.kind===Eo.SyntaxKind.JsxAttributes},t.isJsxClosingElement=function(e){return e.kind===Eo.SyntaxKind.JsxClosingElement},t.isJsxClosingFragment=function(e){return e.kind===Eo.SyntaxKind.JsxClosingFragment},t.isJsxElement=function(e){return e.kind===Eo.SyntaxKind.JsxElement},t.isJsxExpression=function(e){return e.kind===Eo.SyntaxKind.JsxExpression},t.isJsxFragment=function(e){return e.kind===Eo.SyntaxKind.JsxFragment},t.isJsxOpeningElement=function(e){return e.kind===Eo.SyntaxKind.JsxOpeningElement},t.isJsxOpeningFragment=function(e){return e.kind===Eo.SyntaxKind.JsxOpeningFragment},t.isJsxOpeningLikeElement=function(e){return e.kind===Eo.SyntaxKind.JsxOpeningElement||e.kind===Eo.SyntaxKind.JsxSelfClosingElement},t.isJsxSelfClosingElement=function(e){return e.kind===Eo.SyntaxKind.JsxSelfClosingElement},t.isJsxSpreadAttribute=function(e){return e.kind===Eo.SyntaxKind.JsxSpreadAttribute},t.isJsxText=function(e){return e.kind===Eo.SyntaxKind.JsxText},t.isLabeledStatement=function(e){return e.kind===Eo.SyntaxKind.LabeledStatement},t.isLiteralExpression=function(e){return e.kind>=Eo.SyntaxKind.FirstLiteralToken&&e.kind<=Eo.SyntaxKind.LastLiteralToken},t.isLiteralTypeNode=function(e){return e.kind===Eo.SyntaxKind.LiteralType},t.isMappedTypeNode=function(e){return e.kind===Eo.SyntaxKind.MappedType},t.isMetaProperty=function(e){return e.kind===Eo.SyntaxKind.MetaProperty},t.isMethodDeclaration=function(e){return e.kind===Eo.SyntaxKind.MethodDeclaration},t.isMethodSignature=function(e){return e.kind===Eo.SyntaxKind.MethodSignature},t.isModuleBlock=function(e){return e.kind===Eo.SyntaxKind.ModuleBlock},t.isModuleDeclaration=r,t.isNamedExports=function(e){return e.kind===Eo.SyntaxKind.NamedExports},t.isNamedImports=function(e){return e.kind===Eo.SyntaxKind.NamedImports},t.isNamespaceDeclaration=function e(t){return r(t)&&t.name.kind===Eo.SyntaxKind.Identifier&&void 0!==t.body&&(t.body.kind===Eo.SyntaxKind.ModuleBlock||e(t.body))},t.isNamespaceImport=function(e){return e.kind===Eo.SyntaxKind.NamespaceImport},t.isNamespaceExportDeclaration=function(e){return e.kind===Eo.SyntaxKind.NamespaceExportDeclaration},t.isNewExpression=function(e){return e.kind===Eo.SyntaxKind.NewExpression},t.isNonNullExpression=function(e){return e.kind===Eo.SyntaxKind.NonNullExpression},t.isNoSubstitutionTemplateLiteral=function(e){return e.kind===Eo.SyntaxKind.NoSubstitutionTemplateLiteral},t.isNullLiteral=function(e){return e.kind===Eo.SyntaxKind.NullKeyword},t.isNumericLiteral=function(e){return e.kind===Eo.SyntaxKind.NumericLiteral},t.isNumericOrStringLikeLiteral=function(e){switch(e.kind){case Eo.SyntaxKind.StringLiteral:case Eo.SyntaxKind.NumericLiteral:case Eo.SyntaxKind.NoSubstitutionTemplateLiteral:return!0;default:return!1}},t.isObjectBindingPattern=function(e){return e.kind===Eo.SyntaxKind.ObjectBindingPattern},t.isObjectLiteralExpression=function(e){return e.kind===Eo.SyntaxKind.ObjectLiteralExpression},t.isOmittedExpression=function(e){return e.kind===Eo.SyntaxKind.OmittedExpression},t.isParameterDeclaration=function(e){return e.kind===Eo.SyntaxKind.Parameter},t.isParenthesizedExpression=function(e){return e.kind===Eo.SyntaxKind.ParenthesizedExpression},t.isParenthesizedTypeNode=function(e){return e.kind===Eo.SyntaxKind.ParenthesizedType},t.isPostfixUnaryExpression=function(e){return e.kind===Eo.SyntaxKind.PostfixUnaryExpression},t.isPrefixUnaryExpression=function(e){return e.kind===Eo.SyntaxKind.PrefixUnaryExpression},t.isPropertyAccessExpression=n,t.isPropertyAssignment=function(e){return e.kind===Eo.SyntaxKind.PropertyAssignment},t.isPropertyDeclaration=function(e){return e.kind===Eo.SyntaxKind.PropertyDeclaration},t.isPropertySignature=function(e){return e.kind===Eo.SyntaxKind.PropertySignature},t.isQualifiedName=i,t.isRegularExpressionLiteral=function(e){return e.kind===Eo.SyntaxKind.RegularExpressionLiteral},t.isReturnStatement=function(e){return e.kind===Eo.SyntaxKind.ReturnStatement},t.isSetAccessorDeclaration=function(e){return e.kind===Eo.SyntaxKind.SetAccessor},t.isShorthandPropertyAssignment=function(e){return e.kind===Eo.SyntaxKind.ShorthandPropertyAssignment},t.isSignatureDeclaration=function(e){return void 0!==e.parameters},t.isSourceFile=function(e){return e.kind===Eo.SyntaxKind.SourceFile},t.isSpreadAssignment=function(e){return e.kind===Eo.SyntaxKind.SpreadAssignment},t.isSpreadElement=function(e){return e.kind===Eo.SyntaxKind.SpreadElement},t.isStringLiteral=function(e){return e.kind===Eo.SyntaxKind.StringLiteral},t.isSwitchStatement=function(e){return e.kind===Eo.SyntaxKind.SwitchStatement},t.isSyntaxList=function(e){return e.kind===Eo.SyntaxKind.SyntaxList},t.isTaggedTemplateExpression=function(e){return e.kind===Eo.SyntaxKind.TaggedTemplateExpression},t.isTemplateExpression=function(e){return e.kind===Eo.SyntaxKind.TemplateExpression},t.isTemplateLiteral=function(e){return e.kind===Eo.SyntaxKind.TemplateExpression||e.kind===Eo.SyntaxKind.NoSubstitutionTemplateLiteral},t.isTextualLiteral=function(e){return e.kind===Eo.SyntaxKind.StringLiteral||e.kind===Eo.SyntaxKind.NoSubstitutionTemplateLiteral},t.isThrowStatement=function(e){return e.kind===Eo.SyntaxKind.ThrowStatement},t.isTryStatement=function(e){return e.kind===Eo.SyntaxKind.TryStatement},t.isTupleTypeNode=function(e){return e.kind===Eo.SyntaxKind.TupleType},t.isTypeAliasDeclaration=function(e){return e.kind===Eo.SyntaxKind.TypeAliasDeclaration},t.isTypeAssertion=function(e){return e.kind===Eo.SyntaxKind.TypeAssertionExpression},t.isTypeLiteralNode=function(e){return e.kind===Eo.SyntaxKind.TypeLiteral},t.isTypeOfExpression=function(e){return e.kind===Eo.SyntaxKind.TypeOfExpression},t.isTypeOperatorNode=function(e){return e.kind===Eo.SyntaxKind.TypeOperator},t.isTypeParameterDeclaration=function(e){return e.kind===Eo.SyntaxKind.TypeParameter},t.isTypePredicateNode=function(e){return e.kind===Eo.SyntaxKind.TypePredicate},t.isTypeReferenceNode=function(e){return e.kind===Eo.SyntaxKind.TypeReference},t.isTypeQueryNode=function(e){return e.kind===Eo.SyntaxKind.TypeQuery},t.isUnionTypeNode=function(e){return e.kind===Eo.SyntaxKind.UnionType},t.isVariableDeclaration=function(e){return e.kind===Eo.SyntaxKind.VariableDeclaration},t.isVariableStatement=function(e){return e.kind===Eo.SyntaxKind.VariableStatement},t.isVariableDeclarationList=function(e){return e.kind===Eo.SyntaxKind.VariableDeclarationList},t.isVoidExpression=function(e){return e.kind===Eo.SyntaxKind.VoidExpression},t.isWhileStatement=function(e){return e.kind===Eo.SyntaxKind.WhileStatement},t.isWithStatement=function(e){return e.kind===Eo.SyntaxKind.WithStatement}})),fs=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(ps,t),t.isImportTypeNode=function(e){return e.kind===Eo.SyntaxKind.ImportType}})),gs=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(fs,t),t.isOptionalTypeNode=function(e){return e.kind===Eo.SyntaxKind.OptionalType},t.isRestTypeNode=function(e){return e.kind===Eo.SyntaxKind.RestType},t.isSyntheticExpression=function(e){return e.kind===Eo.SyntaxKind.SyntheticExpression}})),ms=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(gs,t),t.isBigIntLiteral=function(e){return e.kind===Eo.SyntaxKind.BigIntLiteral}})),ys=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(ms,t)})),vs=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.isConditionalType=function(e){return 0!=(e.flags&Eo.TypeFlags.Conditional)},t.isEnumType=function(e){return 0!=(e.flags&Eo.TypeFlags.Enum)},t.isGenericType=function(e){return 0!=(e.flags&Eo.TypeFlags.Object)&&0!=(e.objectFlags&Eo.ObjectFlags.ClassOrInterface)&&0!=(e.objectFlags&Eo.ObjectFlags.Reference)},t.isIndexedAccessType=function(e){return 0!=(e.flags&Eo.TypeFlags.IndexedAccess)},t.isIndexedAccessype=function(e){return 0!=(e.flags&Eo.TypeFlags.Index)},t.isInstantiableType=function(e){return 0!=(e.flags&Eo.TypeFlags.Instantiable)},t.isInterfaceType=function(e){return 0!=(e.flags&Eo.TypeFlags.Object)&&0!=(e.objectFlags&Eo.ObjectFlags.ClassOrInterface)},t.isIntersectionType=function(e){return 0!=(e.flags&Eo.TypeFlags.Intersection)},t.isLiteralType=function(e){return 0!=(e.flags&(Eo.TypeFlags.StringOrNumberLiteral|Eo.TypeFlags.BigIntLiteral))},t.isObjectType=function(e){return 0!=(e.flags&Eo.TypeFlags.Object)},t.isSubstitutionType=function(e){return 0!=(e.flags&Eo.TypeFlags.Substitution)},t.isTypeParameter=function(e){return 0!=(e.flags&Eo.TypeFlags.TypeParameter)},t.isTypeReference=function(e){return 0!=(e.flags&Eo.TypeFlags.Object)&&0!=(e.objectFlags&Eo.ObjectFlags.Reference)},t.isTypeVariable=function(e){return 0!=(e.flags&Eo.TypeFlags.TypeVariable)},t.isUnionOrIntersectionType=function(e){return 0!=(e.flags&Eo.TypeFlags.UnionOrIntersection)},t.isUnionType=function(e){return 0!=(e.flags&Eo.TypeFlags.Union)},t.isUniqueESSymbolType=function(e){return 0!=(e.flags&Eo.TypeFlags.UniqueESSymbol)}})),hs=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(vs,t)})),Ds=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(hs,t);const r=hs;function n(e){return 0!==(e.flags&Eo.TypeFlags.Object&&e.objectFlags&Eo.ObjectFlags.Tuple)}t.isTupleType=n,t.isTupleTypeReference=function(e){return r.isTypeReference(e)&&n(e.target)}})),xs=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(Ds,t)})),bs=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(ms,t),_s.__exportStar(xs,t)})),Ss=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),_s.__exportStar(xs,t)})),Es=r((function(e,t){function r(e,t){if(!n(t,Eo.TypeFlags.Undefined))return t;const r=n(t,Eo.TypeFlags.Null);return t=e.getNonNullableType(t),r?e.getNullableType(t,Eo.TypeFlags.Null):t}function n(e,t){for(const r of a(e))if(Ts.isTypeFlagSet(r,t))return!0;return!1}function i(e,t,r){let n;return r|=Eo.TypeFlags.Any,function t(i){if(Ss.isTypeParameter(i)&&void 0!==i.symbol&&void 0!==i.symbol.declarations){if(void 0===n)n=new Set([i]);else{if(n.has(i))return!1;n.add(i)}const r=i.symbol.declarations[0];return void 0===r.constraint||t(e.getTypeFromTypeNode(r.constraint))}return Ss.isUnionType(i)?i.types.every(t):Ss.isIntersectionType(i)?i.types.some(t):Ts.isTypeFlagSet(i,r)}(t)}function a(e){return Ss.isUnionType(e)?e.types:[e]}function o(e,t,r){return t(e)?e.types.some(r):r(e)}function s(e,t,r){let n=e.getApparentType(e.getTypeOfSymbolAtLocation(t,r));if(t.valueDeclaration.dotDotDotToken&&(n=n.getNumberIndexType(),void 0===n))return!1;for(const e of a(n))if(0!==e.getCallSignatures().length)return!0;return!1}function c(e,t){return Ts.isTypeFlagSet(e,Eo.TypeFlags.BooleanLiteral)&&e.intrinsicName===(t?\"true\":\"false\")}function u(e,t){return t.startsWith(\"__\")?e.getProperties().find((e=>e.escapedName===t)):e.getProperty(t)}function l(e,t,r){let n=!1,i=!1;for(const o of a(e))if(void 0===u(o,t)){const e=(Ts.isNumericPropertyName(t)?r.getIndexInfoOfType(o,Eo.IndexKind.Number):void 0)||r.getIndexInfoOfType(o,Eo.IndexKind.String);if(void 0!==e&&e.isReadonly){if(n)return!0;i=!0}}else{if(i||d(o,t,r))return!0;n=!0}return!1}function d(e,t,r){return o(e,Ss.isIntersectionType,(e=>{const n=u(e,t);if(void 0===n)return!1;if(n.flags&Eo.SymbolFlags.Transient){if(/^(?:[1-9]\\d*|0)$/.test(t)&&Ss.isTupleTypeReference(e))return e.target.readonly;switch(function(e,t,r){if(!Ss.isObjectType(e)||!Ts.isObjectFlagSet(e,Eo.ObjectFlags.Mapped))return;const n=e.symbol.declarations[0];return void 0===n.readonlyToken||/^__@[^@]+$/.test(t)?l(e.modifiersType,t,r):n.readonlyToken.kind!==Eo.SyntaxKind.MinusToken}(e,t,r)){case!0:return!0;case!1:return!1}}return Ts.isSymbolFlagSet(n,Eo.SymbolFlags.ValueModule)||_(n,r)}))}function _(e,t){return(e.flags&Eo.SymbolFlags.Accessor)===Eo.SymbolFlags.GetAccessor||void 0!==e.declarations&&e.declarations.some((e=>Ts.isModifierFlagSet(e,Eo.ModifierFlags.Readonly)||ys.isVariableDeclaration(e)&&Ts.isNodeFlagSet(e.parent,Eo.NodeFlags.Const)||ys.isCallExpression(e)&&Ts.isReadonlyAssignmentDeclaration(e,t)||ys.isEnumMember(e)||(ys.isPropertyAssignment(e)||ys.isShorthandPropertyAssignment(e))&&Ts.isInConstContext(e.parent)))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.isEmptyObjectType=function e(t){if(Ss.isObjectType(t)&&t.objectFlags&Eo.ObjectFlags.Anonymous&&0===t.getProperties().length&&0===t.getCallSignatures().length&&0===t.getConstructSignatures().length&&void 0===t.getStringIndexType()&&void 0===t.getNumberIndexType()){const r=t.getBaseTypes();return void 0===r||r.every(e)}return!1},t.removeOptionalityFromType=r,t.isTypeAssignableToNumber=function(e,t){return i(e,t,Eo.TypeFlags.NumberLike)},t.isTypeAssignableToString=function(e,t){return i(e,t,Eo.TypeFlags.StringLike)},t.getCallSignaturesOfType=function e(t){if(Ss.isUnionType(t)){const r=[];for(const n of t.types)r.push(...e(n));return r}if(Ss.isIntersectionType(t)){let r;for(const n of t.types){const t=e(n);if(0!==t.length){if(void 0!==r)return[];r=t}}return void 0===r?[]:r}return t.getCallSignatures()},t.unionTypeParts=a,t.intersectionTypeParts=function(e){return Ss.isIntersectionType(e)?e.types:[e]},t.someTypePart=o,t.isThenableType=function(e,t,r=e.getTypeAtLocation(t)){for(const n of a(e.getApparentType(r))){const r=n.getProperty(\"then\");if(void 0===r)continue;const i=e.getTypeOfSymbolAtLocation(r,t);for(const r of a(i))for(const n of r.getCallSignatures())if(0!==n.parameters.length&&s(e,n.parameters[0],t))return!0}return!1},t.isFalsyType=function(e){return!!(e.flags&(Eo.TypeFlags.Undefined|Eo.TypeFlags.Null|Eo.TypeFlags.Void))||(Ss.isLiteralType(e)?!e.value:c(e,!1))},t.isBooleanLiteralType=c,t.getPropertyOfType=u,t.isPropertyReadonlyInType=l,t.symbolHasReadonlyDeclaration=_,t.getPropertyNameFromType=function(e){if(e.flags&(Eo.TypeFlags.StringLiteral|Eo.TypeFlags.NumberLiteral)){const t=String(e.value);return{displayName:t,symbolName:Eo.escapeLeadingUnderscores(t)}}if(Ss.isUniqueESSymbolType(e))return{displayName:\"[\".concat(e.symbol?e.symbol.name:e.escapedName.replace(/^__@|@\\d+$/g,\"\"),\"]\"),symbolName:e.escapedName}},t.getConstructorTypeOfClassLikeDeclaration=function(e,t){return t.getDeclaredTypeOfSymbol(void 0!==e.name?t.getSymbolAtLocation(e.name):t.getTypeAtLocation(e).symbol)},t.getInstanceTypeOfClassLikeDeclaration=function(e,t){return e.kind===Eo.SyntaxKind.ClassDeclaration?t.getTypeAtLocation(e):t.getTypeOfSymbolAtLocation(t.getTypeAtLocation(e).getProperty(\"prototype\"),e)},t.getIteratorYieldResultFromIteratorResult=function(e,t,n){return Ss.isUnionType(e)&&e.types.find((e=>{const i=e.getProperty(\"done\");return void 0!==i&&c(r(n,n.getTypeOfSymbolAtLocation(i,t)),!1)}))||e}})),Ts=r((function(e,t){function r(e){return e>=Eo.SyntaxKind.FirstToken&&e<=Eo.SyntaxKind.LastToken}function n(e){return e>=Eo.SyntaxKind.FirstAssignment&&e<=Eo.SyntaxKind.LastAssignment}function i(e,...t){if(void 0===e)return!1;for(const r of e)if(t.includes(r.kind))return!0;return!1}function a(e,t){return 0!=(e.flags&t)}function o(e,t,n,i){if(!(t=e.end))return r(e.kind)?e:(void 0===n&&(n=e.getSourceFile()),s(e,t,n,!0===i))}function s(e,t,n,i){e:for(;;){for(const a of e.getChildren(n))if(a.end>t&&(i||a.kind!==Eo.SyntaxKind.JSDocComment)){if(r(a.kind))return a;e=a;continue e}return}}function c(e,t,r=e){const n=o(r,t,e);if(void 0===n||n.kind===Eo.SyntaxKind.JsxText||t>=n.end-(Eo.tokenToString(n.kind)||\"\").length)return;const i=0===n.pos?(Eo.getShebang(e.text)||\"\").length:n.pos;return 0!==i&&Eo.forEachTrailingCommentRange(e.text,i,u,t)||Eo.forEachLeadingCommentRange(e.text,i,u,t)}function u(e,t,r,n,i){return i>=e&&i=65536?2:1}function x(e,t=Eo.ScriptTarget.Latest){if(0===e.length)return!1;let r=e.codePointAt(0);if(!Eo.isIdentifierStart(r,t))return!1;for(let n=D(r);nn===Eo.SyntaxKind.MultiLineCommentTrivia&&\"*\"===t.text[e+2]?{pos:e}:void 0));if(void 0===i)return[];const a=i.pos,o=t.text.slice(a,n),s=Eo.createSourceFile(\"jsdoc.ts\",\"\".concat(o,\"var a;\"),t.languageVersion),c=k(s.statements[0],s);for(const t of c)u(t,e);return c;function u(e,t){return e.pos+=a,e.end+=a,e.parent=t,Eo.forEachChild(e,(t=>u(t,e)),(t=>{t.pos+=a,t.end+=a;for(const r of t)u(r,e)}))}}function F(e,t){return new N(e,t).find()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getChildOfKind=function(e,t,r){for(const n of e.getChildren(r))if(n.kind===t)return n},t.isTokenKind=r,t.isNodeKind=function(e){return e>=Eo.SyntaxKind.FirstNode},t.isAssignmentKind=n,t.isTypeNodeKind=function(e){return e>=Eo.SyntaxKind.FirstTypeNode&&e<=Eo.SyntaxKind.LastTypeNode},t.isJsDocKind=function(e){return e>=Eo.SyntaxKind.FirstJSDocNode&&e<=Eo.SyntaxKind.LastJSDocNode},t.isKeywordKind=function(e){return e>=Eo.SyntaxKind.FirstKeyword&&e<=Eo.SyntaxKind.LastKeyword},t.isThisParameter=function(e){return e.name.kind===Eo.SyntaxKind.Identifier&&e.name.originalKeywordKind===Eo.SyntaxKind.ThisKeyword},t.getModifier=function(e,t){if(void 0!==e.modifiers)for(const r of e.modifiers)if(r.kind===t)return r},t.hasModifier=i,t.isParameterProperty=function(e){return i(e.modifiers,Eo.SyntaxKind.PublicKeyword,Eo.SyntaxKind.ProtectedKeyword,Eo.SyntaxKind.PrivateKeyword,Eo.SyntaxKind.ReadonlyKeyword)},t.hasAccessModifier=function(e){return i(e.modifiers,Eo.SyntaxKind.PublicKeyword,Eo.SyntaxKind.ProtectedKeyword,Eo.SyntaxKind.PrivateKeyword)},t.isNodeFlagSet=a,t.isTypeFlagSet=a,t.isSymbolFlagSet=a,t.isObjectFlagSet=function(e,t){return 0!=(e.objectFlags&t)},t.isModifierFlagSet=function(e,t){return 0!=(Eo.getCombinedModifierFlags(e)&t)},t.getPreviousStatement=function(e){const t=e.parent;if(ys.isBlockLike(t)){const r=t.statements.indexOf(e);if(r>0)return t.statements[r-1]}},t.getNextStatement=function(e){const t=e.parent;if(ys.isBlockLike(t)){const r=t.statements.indexOf(e);if(r=0;--t){const a=i[t];if(a.post||e.node.end<=t))e:for(;;){for(const r of e.children){if(r.node.pos>t)return e;if(r.node.end>t){e=r;continue e}}return e}},t.getPropertyName=l,t.forEachDestructuringIdentifier=d,t.forEachDeclaredVariable=function(e,t){for(const r of e.declarations){let e;if(e=r.name.kind===Eo.SyntaxKind.Identifier?t(r):d(r.name,t),e)return e}},function(e){e[e.Var=0]=\"Var\",e[e.Let=1]=\"Let\",e[e.Const=2]=\"Const\"}(t.VariableDeclarationKind||(t.VariableDeclarationKind={})),t.getVariableDeclarationKind=function(e){return e.flags&Eo.NodeFlags.Let?1:e.flags&Eo.NodeFlags.Const?2:0},t.isBlockScopedVariableDeclarationList=_,t.isBlockScopedVariableDeclaration=function(e){const t=e.parent;return t.kind===Eo.SyntaxKind.CatchClause||_(t)},t.isBlockScopedDeclarationStatement=function(e){switch(e.kind){case Eo.SyntaxKind.VariableStatement:return _(e.declarationList);case Eo.SyntaxKind.ClassDeclaration:case Eo.SyntaxKind.EnumDeclaration:case Eo.SyntaxKind.InterfaceDeclaration:case Eo.SyntaxKind.TypeAliasDeclaration:return!0;default:return!1}},t.isInSingleStatementContext=function(e){switch(e.parent.kind){case Eo.SyntaxKind.ForStatement:case Eo.SyntaxKind.ForInStatement:case Eo.SyntaxKind.ForOfStatement:case Eo.SyntaxKind.WhileStatement:case Eo.SyntaxKind.DoStatement:case Eo.SyntaxKind.IfStatement:case Eo.SyntaxKind.WithStatement:case Eo.SyntaxKind.LabeledStatement:return!0;default:return!1}},function(e){e[e.None=0]=\"None\",e[e.Function=1]=\"Function\",e[e.Block=2]=\"Block\",e[e.Type=4]=\"Type\",e[e.ConditionalType=8]=\"ConditionalType\"}(t.ScopeBoundary||(t.ScopeBoundary={})),function(e){e[e.Function=1]=\"Function\",e[e.Block=3]=\"Block\",e[e.Type=7]=\"Type\",e[e.InferType=8]=\"InferType\"}(t.ScopeBoundarySelector||(t.ScopeBoundarySelector={})),t.isScopeBoundary=function(e){return f(e)||g(e)||p(e)},t.isTypeScopeBoundary=p,t.isFunctionScopeBoundary=f,t.isBlockScopeBoundary=g,t.hasOwnThisReference=function(e){switch(e.kind){case Eo.SyntaxKind.ClassDeclaration:case Eo.SyntaxKind.ClassExpression:case Eo.SyntaxKind.FunctionExpression:return!0;case Eo.SyntaxKind.FunctionDeclaration:return void 0!==e.body;case Eo.SyntaxKind.MethodDeclaration:case Eo.SyntaxKind.GetAccessor:case Eo.SyntaxKind.SetAccessor:return e.parent.kind===Eo.SyntaxKind.ObjectLiteralExpression;default:return!1}},t.isFunctionWithBody=function(e){switch(e.kind){case Eo.SyntaxKind.GetAccessor:case Eo.SyntaxKind.SetAccessor:case Eo.SyntaxKind.FunctionDeclaration:case Eo.SyntaxKind.MethodDeclaration:case Eo.SyntaxKind.Constructor:return void 0!==e.body;case Eo.SyntaxKind.FunctionExpression:case Eo.SyntaxKind.ArrowFunction:return!0;default:return!1}},t.forEachToken=m,t.forEachTokenWithTrivia=function(e,t,r=e.getSourceFile()){const n=r.text,i=Eo.createScanner(r.languageVersion,!1,r.languageVariant,n);return m(e,(e=>{const a=e.kind===Eo.SyntaxKind.JsxText||e.pos===e.end?e.pos:e.getStart(r);if(a!==e.pos){i.setTextPos(e.pos);let r=i.scan(),o=i.getTokenPos();for(;o{if(e.pos!==e.end)return e.kind!==Eo.SyntaxKind.JsxText&&Eo.forEachLeadingCommentRange(n,0===e.pos?(Eo.getShebang(n)||\"\").length:e.pos,a),i||function(e){switch(e.kind){case Eo.SyntaxKind.CloseBraceToken:return e.parent.kind!==Eo.SyntaxKind.JsxExpression||!y(e.parent.parent);case Eo.SyntaxKind.GreaterThanToken:switch(e.parent.kind){case Eo.SyntaxKind.JsxOpeningElement:return e.end!==e.parent.end;case Eo.SyntaxKind.JsxOpeningFragment:return!1;case Eo.SyntaxKind.JsxSelfClosingElement:return e.end!==e.parent.end||!y(e.parent.parent);case Eo.SyntaxKind.JsxClosingElement:case Eo.SyntaxKind.JsxClosingFragment:return!y(e.parent.parent.parent)}}return!0}(e)?Eo.forEachTrailingCommentRange(n,e.end,a):void 0}),r);function a(e,r,i){t(n,{pos:e,end:r,kind:i})}},t.getLineRanges=function(e){const t=e.getLineStarts(),r=[],n=t.length,i=e.text;let a=0;for(let e=1;ea&&Eo.isLineBreak(i.charCodeAt(o-1));--o);r.push({pos:a,end:n,contentLength:o-a}),a=n}return r.push({pos:a,end:e.end,contentLength:e.end-a}),r},t.getLineBreakStyle=function(e){const t=e.getLineStarts();return 1===t.length||t[1]<2||\"\\r\"!==e.text[t[1]-2]?\"\\n\":\"\\r\\n\"},t.isValidIdentifier=function(e,t=Eo.ScriptTarget.Latest){const r=h(e,t);return r.isIdentifier()&&r.getTextPos()===e.length&&0===r.getTokenPos()},t.isValidPropertyAccess=x,t.isValidPropertyName=function(e,t=Eo.ScriptTarget.Latest){if(x(e,t))return!0;const r=h(e,t);return r.getTextPos()===e.length&&r.getToken()===Eo.SyntaxKind.NumericLiteral&&r.getTokenValue()===e},t.isValidNumericLiteral=function(e,t=Eo.ScriptTarget.Latest){const r=h(e,t);return r.getToken()===Eo.SyntaxKind.NumericLiteral&&r.getTextPos()===e.length&&0===r.getTokenPos()},t.isValidJsxIdentifier=function(e,t=Eo.ScriptTarget.Latest){if(0===e.length)return!1;let r=e.codePointAt(0);if(!Eo.isIdentifierStart(r,t))return!1;for(let n=D(r);n{if(i===Eo.SyntaxKind.SingleLineCommentTrivia){const i=e.slice(r,n),a=/^\\/{2,3}\\s*@ts-(no)?check(?:\\s|$)/i.exec(i);null!==a&&(t={pos:r,end:n,enabled:void 0===a[1]})}})),t},t.isConstAssertion=I,t.isInConstContext=function(e){let t=e;for(;;){const e=t.parent;e:switch(e.kind){case Eo.SyntaxKind.TypeAssertionExpression:case Eo.SyntaxKind.AsExpression:return I(e);case Eo.SyntaxKind.PrefixUnaryExpression:if(t.kind!==Eo.SyntaxKind.NumericLiteral)return!1;switch(e.operator){case Eo.SyntaxKind.PlusToken:case Eo.SyntaxKind.MinusToken:t=e;break e;default:return!1}case Eo.SyntaxKind.PropertyAssignment:if(e.initializer!==t)return!1;t=e.parent;break;case Eo.SyntaxKind.ShorthandPropertyAssignment:t=e.parent;break;case Eo.SyntaxKind.ParenthesizedExpression:case Eo.SyntaxKind.ArrayLiteralExpression:case Eo.SyntaxKind.ObjectLiteralExpression:t=e;break;default:return!1}}},t.isReadonlyAssignmentDeclaration=function(e,t){if(!O(e))return!1;const r=t.getTypeAtLocation(e.arguments[2]);if(void 0===r.getProperty(\"value\"))return void 0===r.getProperty(\"set\");const n=r.getProperty(\"writable\");if(void 0===n)return!1;const i=void 0!==n.valueDeclaration&&ys.isPropertyAssignment(n.valueDeclaration)?t.getTypeAtLocation(n.valueDeclaration.initializer):t.getTypeOfSymbolAtLocation(n,e.arguments[2]);return Es.isBooleanLiteralType(i,!1)},t.isBindableObjectDefinePropertyCall=O,t.isWellKnownSymbolLiterally=M,t.getPropertyNameOfWellKnownSymbol=L,t.getLateBoundPropertyNames=R,t.getLateBoundPropertyNamesOfPropertyName=function(e,t){const r=l(e);return void 0!==r?{known:!0,names:[{displayName:r,symbolName:Eo.escapeLeadingUnderscores(r)}]}:R(e.expression,t)},t.getSingleLateBoundPropertyNameOfPropertyName=function(e,t){const r=l(e);if(void 0!==r)return{displayName:r,symbolName:Eo.escapeLeadingUnderscores(r)};const{expression:n}=e;return M(n)?L(n):Es.getPropertyNameFromType(t.getTypeAtLocation(n))},t.unwrapParentheses=B})),Cs=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,\"__esModule\",{value:!0}),r.convertComments=void 0;const o=a(Eo);r.convertComments=function(e,t){const r=[];return Ts.forEachComment(e,((n,i)=>{const a=i.kind==o.SyntaxKind.SingleLineCommentTrivia?ns.AST_TOKEN_TYPES.Line:ns.AST_TOKEN_TYPES.Block,s=[i.pos,i.end],c=is.getLocFor(s[0],s[1],e),u=s[0]+2,l=i.kind===o.SyntaxKind.SingleLineCommentTrivia?s[1]-u:s[1]-u-2;r.push({type:a,value:t.substr(u,l),range:s,loc:c})}),e),r}})),ks={AssignmentExpression:[\"left\",\"right\"],AssignmentPattern:[\"left\",\"right\"],ArrayExpression:[\"elements\"],ArrayPattern:[\"elements\"],ArrowFunctionExpression:[\"params\",\"body\"],AwaitExpression:[\"argument\"],BlockStatement:[\"body\"],BinaryExpression:[\"left\",\"right\"],BreakStatement:[\"label\"],CallExpression:[\"callee\",\"arguments\"],CatchClause:[\"param\",\"body\"],ChainExpression:[\"expression\"],ClassBody:[\"body\"],ClassDeclaration:[\"id\",\"superClass\",\"body\"],ClassExpression:[\"id\",\"superClass\",\"body\"],ConditionalExpression:[\"test\",\"consequent\",\"alternate\"],ContinueStatement:[\"label\"],DebuggerStatement:[],DoWhileStatement:[\"body\",\"test\"],EmptyStatement:[],ExportAllDeclaration:[\"exported\",\"source\"],ExportDefaultDeclaration:[\"declaration\"],ExportNamedDeclaration:[\"declaration\",\"specifiers\",\"source\"],ExportSpecifier:[\"exported\",\"local\"],ExpressionStatement:[\"expression\"],ExperimentalRestProperty:[\"argument\"],ExperimentalSpreadProperty:[\"argument\"],ForStatement:[\"init\",\"test\",\"update\",\"body\"],ForInStatement:[\"left\",\"right\",\"body\"],ForOfStatement:[\"left\",\"right\",\"body\"],FunctionDeclaration:[\"id\",\"params\",\"body\"],FunctionExpression:[\"id\",\"params\",\"body\"],Identifier:[],IfStatement:[\"test\",\"consequent\",\"alternate\"],ImportDeclaration:[\"specifiers\",\"source\"],ImportDefaultSpecifier:[\"local\"],ImportExpression:[\"source\"],ImportNamespaceSpecifier:[\"local\"],ImportSpecifier:[\"imported\",\"local\"],JSXAttribute:[\"name\",\"value\"],JSXClosingElement:[\"name\"],JSXElement:[\"openingElement\",\"children\",\"closingElement\"],JSXEmptyExpression:[],JSXExpressionContainer:[\"expression\"],JSXIdentifier:[],JSXMemberExpression:[\"object\",\"property\"],JSXNamespacedName:[\"namespace\",\"name\"],JSXOpeningElement:[\"name\",\"attributes\"],JSXSpreadAttribute:[\"argument\"],JSXText:[],JSXFragment:[\"openingFragment\",\"children\",\"closingFragment\"],Literal:[],LabeledStatement:[\"label\",\"body\"],LogicalExpression:[\"left\",\"right\"],MemberExpression:[\"object\",\"property\"],MetaProperty:[\"meta\",\"property\"],MethodDefinition:[\"key\",\"value\"],NewExpression:[\"callee\",\"arguments\"],ObjectExpression:[\"properties\"],ObjectPattern:[\"properties\"],Program:[\"body\"],Property:[\"key\",\"value\"],RestElement:[\"argument\"],ReturnStatement:[\"argument\"],SequenceExpression:[\"expressions\"],SpreadElement:[\"argument\"],Super:[],SwitchStatement:[\"discriminant\",\"cases\"],SwitchCase:[\"test\",\"consequent\"],TaggedTemplateExpression:[\"tag\",\"quasi\"],TemplateElement:[],TemplateLiteral:[\"quasis\",\"expressions\"],ThisExpression:[],ThrowStatement:[\"argument\"],TryStatement:[\"block\",\"handler\",\"finalizer\"],UnaryExpression:[\"argument\"],UpdateExpression:[\"argument\"],VariableDeclaration:[\"declarations\"],VariableDeclarator:[\"id\",\"init\"],WhileStatement:[\"test\",\"body\"],WithStatement:[\"object\",\"body\"],YieldExpression:[\"argument\"]};const As=Object.freeze(Object.keys(ks));for(const e of As)Object.freeze(ks[e]);Object.freeze(ks);const Fs=new Set([\"parent\",\"leadingComments\",\"trailingComments\"]);function Ns(e){return!Fs.has(e)&&\"_\"!==e[0]}var Ps=Object.freeze({KEYS:ks,getKeys:e=>Object.keys(e).filter(Ns),unionWith(e){const t=Object.assign({},ks);for(const r of Object.keys(e))if(t.hasOwnProperty(r)){const n=new Set(e[r]);for(const e of t[r])n.add(e);t[r]=Object.freeze(Array.from(n))}else t[r]=Object.freeze(Array.from(e[r]));return Object.freeze(t)}}),ws=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.getKeys=void 0;const r=Ps.getKeys;t.getKeys=r})),Is=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,\"__esModule\",{value:!0}),r.visitorKeys=void 0;const o=a(Ps).unionWith({ImportExpression:[\"source\"],ArrayPattern:[\"decorators\",\"elements\",\"typeAnnotation\"],ArrowFunctionExpression:[\"typeParameters\",\"params\",\"returnType\",\"body\"],AssignmentPattern:[\"decorators\",\"left\",\"right\",\"typeAnnotation\"],CallExpression:[\"callee\",\"typeParameters\",\"arguments\"],ClassDeclaration:[\"decorators\",\"id\",\"typeParameters\",\"superClass\",\"superTypeParameters\",\"implements\",\"body\"],ClassExpression:[\"decorators\",\"id\",\"typeParameters\",\"superClass\",\"superTypeParameters\",\"implements\",\"body\"],FunctionDeclaration:[\"id\",\"typeParameters\",\"params\",\"returnType\",\"body\"],FunctionExpression:[\"id\",\"typeParameters\",\"params\",\"returnType\",\"body\"],Identifier:[\"decorators\",\"typeAnnotation\"],MethodDefinition:[\"decorators\",\"key\",\"value\"],NewExpression:[\"callee\",\"typeParameters\",\"arguments\"],ObjectPattern:[\"decorators\",\"properties\",\"typeAnnotation\"],RestElement:[\"decorators\",\"argument\",\"typeAnnotation\"],TaggedTemplateExpression:[\"tag\",\"typeParameters\",\"quasi\"],JSXOpeningElement:[\"name\",\"typeParameters\",\"attributes\"],JSXClosingFragment:[],JSXOpeningFragment:[],JSXSpreadChild:[\"expression\"],ClassProperty:[\"decorators\",\"key\",\"typeAnnotation\",\"value\"],Decorator:[\"expression\"],TSAbstractClassProperty:[\"decorators\",\"key\",\"typeAnnotation\",\"value\"],TSAbstractKeyword:[],TSAbstractMethodDefinition:[\"key\",\"value\"],TSAnyKeyword:[],TSArrayType:[\"elementType\"],TSAsExpression:[\"expression\",\"typeAnnotation\"],TSAsyncKeyword:[],TSBigIntKeyword:[],TSBooleanKeyword:[],TSCallSignatureDeclaration:[\"typeParameters\",\"params\",\"returnType\"],TSClassImplements:[\"expression\",\"typeParameters\"],TSConditionalType:[\"checkType\",\"extendsType\",\"trueType\",\"falseType\"],TSConstructorType:[\"typeParameters\",\"params\",\"returnType\"],TSConstructSignatureDeclaration:[\"typeParameters\",\"params\",\"returnType\"],TSDeclareFunction:[\"id\",\"typeParameters\",\"params\",\"returnType\",\"body\"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:[\"id\",\"typeParameters\",\"params\",\"returnType\"],TSEnumDeclaration:[\"id\",\"members\"],TSEnumMember:[\"id\",\"initializer\"],TSExportAssignment:[\"expression\"],TSExportKeyword:[],TSExternalModuleReference:[\"expression\"],TSFunctionType:[\"typeParameters\",\"params\",\"returnType\"],TSImportEqualsDeclaration:[\"id\",\"moduleReference\"],TSImportType:[\"parameter\",\"qualifier\",\"typeParameters\"],TSIndexedAccessType:[\"indexType\",\"objectType\"],TSIndexSignature:[\"parameters\",\"typeAnnotation\"],TSInferType:[\"typeParameter\"],TSInterfaceBody:[\"body\"],TSInterfaceDeclaration:[\"id\",\"typeParameters\",\"extends\",\"body\"],TSInterfaceHeritage:[\"expression\",\"typeParameters\"],TSIntersectionType:[\"types\"],TSLiteralType:[\"literal\"],TSMappedType:[\"nameType\",\"typeParameter\",\"typeAnnotation\"],TSMethodSignature:[\"typeParameters\",\"key\",\"params\",\"returnType\"],TSModuleBlock:[\"body\"],TSModuleDeclaration:[\"id\",\"body\"],TSNamedTupleMember:[\"elementType\"],TSNamespaceExportDeclaration:[\"id\"],TSNeverKeyword:[],TSNonNullExpression:[\"expression\"],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSOptionalType:[\"typeAnnotation\"],TSParameterProperty:[\"decorators\",\"parameter\"],TSParenthesizedType:[\"typeAnnotation\"],TSPrivateKeyword:[],TSPropertySignature:[\"typeAnnotation\",\"key\",\"initializer\"],TSProtectedKeyword:[],TSPublicKeyword:[],TSQualifiedName:[\"left\",\"right\"],TSReadonlyKeyword:[],TSRestType:[\"typeAnnotation\"],TSStaticKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSTemplateLiteralType:[\"quasis\",\"types\"],TSThisType:[],TSTupleType:[\"elementTypes\"],TSTypeAliasDeclaration:[\"id\",\"typeParameters\",\"typeAnnotation\"],TSTypeAnnotation:[\"typeAnnotation\"],TSTypeAssertion:[\"typeAnnotation\",\"expression\"],TSTypeLiteral:[\"members\"],TSTypeOperator:[\"typeAnnotation\"],TSTypeParameter:[\"name\",\"constraint\",\"default\"],TSTypeParameterDeclaration:[\"params\"],TSTypeParameterInstantiation:[\"params\"],TSTypePredicate:[\"typeAnnotation\",\"parameterName\"],TSTypeQuery:[\"exprName\"],TSTypeReference:[\"typeName\",\"typeParameters\"],TSUndefinedKeyword:[],TSUnionType:[\"types\"],TSUnknownKeyword:[],TSVoidKeyword:[]});r.visitorKeys=o})),Os=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.visitorKeys=t.getKeys=void 0,Object.defineProperty(t,\"getKeys\",{enumerable:!0,get:function(){return ws.getKeys}}),Object.defineProperty(t,\"visitorKeys\",{enumerable:!0,get:function(){return Is.visitorKeys}})})),Ms=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.simpleTraverse=void 0;class r{constructor(e,t=!1){this.allVisitorKeys=Os.visitorKeys,this.selectors=e,this.setParentPointers=t}traverse(e,t){if(null===(r=e)||\"object\"!=typeof r||\"string\"!=typeof r.type)return;var r;this.setParentPointers&&(e.parent=t),\"enter\"in this.selectors?this.selectors.enter(e,t):e.type in this.selectors&&this.selectors[e.type](e,t);const n=function(e,t){const r=e[t.type];return null!=r?r:[]}(this.allVisitorKeys,e);if(!(n.length<1))for(const t of n){const r=e[t];if(Array.isArray(r))for(const t of r)this.traverse(t,e);else this.traverse(r,e)}}}t.simpleTraverse=function(e,t,n=!1){new r(t,n).traverse(e,void 0)}})),Ls=r((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.astConverter=void 0,t.astConverter=function(e,t,r){const n=e.parseDiagnostics;if(n.length)throw os.convertError(n[0]);const i=new os.Converter(e,{errorOnUnknownASTType:t.errorOnUnknownASTType||!1,useJSXTextNode:t.useJSXTextNode||!1,shouldPreserveNodeMaps:r}),a=i.convertProgram();return t.range&&t.loc||Ms.simpleTraverse(a,{enter:e=>{t.range||delete e.range,t.loc||delete e.loc}}),t.tokens&&(a.tokens=is.convertTokens(e)),t.comment&&(a.comments=Cs.convertComments(e,t.code)),{estree:a,astMaps:i.getASTMaps()}}})),Rs=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.getTsconfigPath=r.getScriptKind=r.getCanonicalFileName=r.ensureAbsolutePath=r.createDefaultCompilerOptionsFromExtra=r.canonicalDirname=void 0;const s=o(xo),c=a(Eo),u={allowNonTsExtensions:!0,allowJs:!0,checkJs:!0,noEmit:!0,noUnusedLocals:!0,noUnusedParameters:!0};r.createDefaultCompilerOptionsFromExtra=function(e){return e.debugLevel.has(\"typescript\")?Object.assign(Object.assign({},u),{extendedDiagnostics:!0}):u};const l=void 0===c.sys||c.sys.useCaseSensitiveFileNames?e=>e:e=>e.toLowerCase();function d(e){let t=s.default.normalize(e);return t.endsWith(s.default.sep)&&(t=t.substr(0,t.length-1)),l(t)}function _(e,t){return s.default.isAbsolute(e)?e:s.default.join(t.tsconfigRootDir||V.cwd(),e)}r.getCanonicalFileName=d,r.ensureAbsolutePath=_,r.getTsconfigPath=function(e,t){return d(_(e,t))},r.canonicalDirname=function(e){return s.default.dirname(e)},r.getScriptKind=function(e,t=e.filePath){switch(s.default.extname(t).toLowerCase()){case\".ts\":return c.ScriptKind.TS;case\".tsx\":return c.ScriptKind.TSX;case\".js\":return c.ScriptKind.JS;case\".jsx\":return c.ScriptKind.JSX;case\".json\":return c.ScriptKind.JSON;default:return e.jsx?c.ScriptKind.TSX:c.ScriptKind.TS}}})),Bs=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.createDefaultProgram=void 0;const s=o(fn),c=o(xo),u=a(Eo),l=s.default(\"typescript-eslint:typescript-estree:createDefaultProgram\");r.createDefaultProgram=function(e,t){if(l(\"Getting default program for: %s\",t.filePath||\"unnamed file\"),!t.projects||1!==t.projects.length)return;const r=Rs.getTsconfigPath(t.projects[0],t),n=u.getParsedCommandLineOfConfigFile(r,Rs.createDefaultCompilerOptionsFromExtra(t),Object.assign(Object.assign({},u.sys),{onUnRecoverableConfigFileDiagnostic:()=>{}}));if(!n)return;const i=u.createCompilerHost(n.options,!0),a=i.readFile;i.readFile=r=>c.default.normalize(r)===c.default.normalize(t.filePath)?e:a(r);const o=u.createProgram([t.filePath],n.options,i),s=o.getSourceFile(t.filePath);return s&&{ast:s,program:o}}})),js=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.createIsolatedProgram=void 0;const s=o(fn),c=a(Eo),u=s.default(\"typescript-eslint:typescript-estree:createIsolatedProgram\");r.createIsolatedProgram=function(e,t){u(\"Getting isolated program in %s mode for: %s\",t.jsx?\"TSX\":\"TS\",t.filePath);const r={fileExists:()=>!0,getCanonicalFileName:()=>t.filePath,getCurrentDirectory:()=>\"\",getDirectories:()=>[],getDefaultLibFileName:()=>\"lib.d.ts\",getNewLine:()=>\"\\n\",getSourceFile:r=>c.createSourceFile(r,e,c.ScriptTarget.Latest,!0,Rs.getScriptKind(t,r)),readFile(){},useCaseSensitiveFileNames:()=>!0,writeFile:()=>null},n=c.createProgram([t.filePath],Object.assign({noResolve:!0,target:c.ScriptTarget.Latest,jsx:t.jsx?c.JsxEmit.Preserve:void 0},Rs.createDefaultCompilerOptionsFromExtra(t)),r),i=n.getSourceFile(t.filePath);if(!i)throw new Error(\"Expected an ast to be returned for the single-file isolated program.\");return{ast:i,program:n}}})),Js=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.getProgramsForProjects=r.createWatchProgram=r.clearCaches=void 0;const s=o(fn),c=o(bo),u=o(Pi),l=a(Eo),d=s.default(\"typescript-eslint:typescript-estree:createWatchProgram\"),_=new Map,p=new Map,f=new Map,g=new Map,m=new Map,y=new Map;function v(e){return(t,r)=>{const n=Rs.getCanonicalFileName(t),i=(()=>{let t=e.get(n);return t||(t=new Set,e.set(n,t)),t})();return i.add(r),{close:()=>{i.delete(r)}}}}r.clearCaches=function(){_.clear(),p.clear(),f.clear(),y.clear(),g.clear(),m.clear()};const h={code:\"\",filePath:\"\"};function D(e){throw new Error(l.flattenDiagnosticMessageText(e.messageText,l.sys.newLine))}function x(e){var t;return(null===(t=l.sys)||void 0===t?void 0:t.createHash)?l.sys.createHash(e):e}function b(e,t,r){const n=r.EXPERIMENTAL_useSourceOfProjectReferenceRedirect?new Set(t.getSourceFiles().map((e=>Rs.getCanonicalFileName(e.fileName)))):new Set(t.getRootFileNames().map((e=>Rs.getCanonicalFileName(e))));return g.set(e,n),n}r.getProgramsForProjects=function(e,t,r){const n=Rs.getCanonicalFileName(t),i=[];h.code=e,h.filePath=n;const a=p.get(n),o=x(e);y.get(n)!==o&&a&&a.size>0&&a.forEach((e=>e(n,l.FileWatcherEventKind.Changed)));for(const[e,t]of _.entries()){let i=g.get(e),a=null;if(i||(a=t.getProgram().getProgram(),i=b(e,a,r)),i.has(n))return d(\"Found existing program for file. %s\",n),a=null!=a?a:t.getProgram().getProgram(),a.getTypeChecker(),[a]}d(\"File did not belong to any existing programs, moving to create/update. %s\",n);for(const e of r.projects){const t=Rs.getTsconfigPath(e,r),a=_.get(t);if(a){const e=T(a,n,t);if(!e)continue;e.getTypeChecker();if(b(t,e,r).has(n))return d(\"Found updated program for file. %s\",n),[e];i.push(e);continue}const o=E(t,r);_.set(t,o);const s=o.getProgram().getProgram();s.getTypeChecker();if(b(t,s,r).has(n))return d(\"Found program for file. %s\",n),[s];i.push(s)}return i};const S=u.default.satisfies(l.version,\">=3.9.0-beta\",{includePrerelease:!0});function E(e,t){d(\"Creating watch program for %s.\",e);const r=l.createWatchCompilerHost(e,Rs.createDefaultCompilerOptionsFromExtra(t),l.sys,l.createAbstractBuilder,D,(()=>{})),n=r.readFile;r.readFile=(e,t)=>{const r=Rs.getCanonicalFileName(e),i=r===h.filePath?h.code:n(r,t);return void 0!==i&&y.set(r,x(i)),i},r.onUnRecoverableConfigFileDiagnostic=D,r.afterProgramCreate=e=>{const t=e.getConfigFileParsingDiagnostics().filter((e=>e.category===l.DiagnosticCategory.Error&&18003!==e.code));t.length>0&&D(t[0])},r.watchFile=v(p),r.watchDirectory=v(f);const i=r.onCachedDirectoryStructureHostCreate;let a;r.onCachedDirectoryStructureHostCreate=e=>{const r=e.readDirectory;e.readDirectory=(e,n,i,a,o)=>r(e,n?n.concat(t.extraFileExtensions):void 0,i,a,o),i(e)},r.extraFileExtensions=t.extraFileExtensions.map((e=>({extension:e,isMixedContent:!0,scriptKind:l.ScriptKind.Deferred}))),r.trace=d,r.useSourceOfProjectReferenceRedirect=()=>t.EXPERIMENTAL_useSourceOfProjectReferenceRedirect,S?(r.setTimeout=void 0,r.clearTimeout=void 0):(d(\"Running without timeout fix\"),r.setTimeout=(e,t,...r)=>(a=e.bind(void 0,...r),a),r.clearTimeout=()=>{a=void 0});const o=l.createWatchProgram(r);if(!S){const e=o.getProgram;o.getProgram=()=>(a&&a(),a=void 0,e.call(o))}return o}function T(e,t,r){let n=e.getProgram().getProgram();if(\"true\"===V.env.TSESTREE_NO_INVALIDATION)return n;(function(e){const t=c.default.statSync(e).mtimeMs,r=m.get(e);return m.set(e,t),void 0!==r&&Math.abs(r-t)>Number.EPSILON})(r)&&(d(\"tsconfig has changed - triggering program update. %s\",r),p.get(r).forEach((e=>e(r,l.FileWatcherEventKind.Changed))),g.delete(r));let i=n.getSourceFile(t);if(i)return n;d(\"File was not found in program - triggering folder update. %s\",t);const a=Rs.canonicalDirname(t);let o=null,s=a,u=!1;for(;o!==s;){o=s;const e=f.get(o);e&&(e.forEach((e=>{a!==o&&e(a,l.FileWatcherEventKind.Changed),e(o,l.FileWatcherEventKind.Changed)})),u=!0),s=Rs.canonicalDirname(o)}if(!u)return d(\"No callback found for file, not part of this program. %s\",t),null;if(g.delete(r),n=e.getProgram().getProgram(),i=n.getSourceFile(t),i)return n;d(\"File was still not found in program after directory update - checking file deletions. %s\",t);const _=n.getRootFileNames().find((e=>!c.default.existsSync(e)));if(!_)return null;const y=p.get(Rs.getCanonicalFileName(_));return y?(d(\"Marking file as deleted. %s\",_),y.forEach((e=>e(_,l.FileWatcherEventKind.Deleted))),g.delete(r),n=e.getProgram().getProgram(),i=n.getSourceFile(t),i?n:(d(\"File was still not found in program after deletion check, assuming it is not part of this program. %s\",t),null)):(d(\"Could not find watch callbacks for root file. %s\",_),n)}r.createWatchProgram=E})),Ks=r((function(e,r){var n=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.createProjectProgram=void 0;const i=n(fn),a=n(xo),o=i.default(\"typescript-eslint:typescript-estree:createProjectProgram\"),s=[\".ts\",\".tsx\",\".js\",\".jsx\"];function c(e){return e?e.endsWith(\".d.ts\")?\".d.ts\":a.default.extname(e):null}r.createProjectProgram=function(e,t,r){o(\"Creating project program for: %s\",r.filePath);const n=is.firstDefined(Js.getProgramsForProjects(e,r.filePath,r),(e=>{const t=e.getSourceFile(r.filePath);if(c(r.filePath)===c(null==t?void 0:t.fileName))return t&&{ast:t,program:e}}));if(!n&&!t){const e=['\"parserOptions.project\" has been set for @typescript-eslint/parser.',\"The file does not match your project config: \".concat(a.default.relative(r.tsconfigRootDir||V.cwd(),r.filePath),\".\")];let t=!1;const n=r.extraFileExtensions||[];n.forEach((t=>{t.startsWith(\".\")||e.push('Found unexpected extension \"'.concat(t,'\" specified with the \"extraFileExtensions\" option. Did you mean \".').concat(t,'\"?')),s.includes(t)&&e.push('You unnecessarily included the extension \"'.concat(t,'\" with the \"extraFileExtensions\" option. This extension is already handled by the parser by default.'))}));const i=a.default.extname(r.filePath);if(!s.includes(i)){const r=\"The extension for the file (\".concat(i,\") is non-standard\");n.length>0?n.includes(i)||(e.push(\"\".concat(r,'. It should be added to your existing \"parserOptions.extraFileExtensions\".')),t=!0):(e.push(\"\".concat(r,'. You should add \"parserOptions.extraFileExtensions\" to your config.')),t=!0)}throw t||e.push(\"The file must be included in at least one of the projects provided.\"),new Error(e.join(\"\\n\"))}return n}})),zs=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.createSourceFile=void 0;const s=o(fn),c=a(Eo),u=s.default(\"typescript-eslint:typescript-estree:createSourceFile\");r.createSourceFile=function(e,t){return u(\"Getting AST without type information in %s mode for: %s\",t.jsx?\"TSX\":\"TS\",t.filePath),c.createSourceFile(t.filePath,e,c.ScriptTarget.Latest,!0,Rs.getScriptKind(t))}})),Us=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,\"__esModule\",{value:!0}),r.getFirstSemanticOrSyntacticError=void 0;const o=a(Eo);function s(e){return e.filter((e=>{switch(e.code){case 1013:case 1014:case 1044:case 1045:case 1048:case 1049:case 1070:case 1071:case 1085:case 1090:case 1096:case 1097:case 1098:case 1099:case 1117:case 1121:case 1123:case 1141:case 1162:case 1164:case 1172:case 1173:case 1175:case 1176:case 1190:case 1196:case 1200:case 1206:case 1211:case 1242:case 1246:case 1255:case 1308:case 2364:case 2369:case 2452:case 2462:case 8017:case 17012:case 17013:return!0}return!1}))}function c(e){return Object.assign(Object.assign({},e),{message:o.flattenDiagnosticMessageText(e.messageText,o.sys.newLine)})}r.getFirstSemanticOrSyntacticError=function(e,t){try{const r=s(e.getSyntacticDiagnostics(t));if(r.length)return c(r[0]);const n=s(e.getSemanticDiagnostics(t));return n.length?c(n[0]):void 0}catch(e){return void console.warn('Warning From TSC: \"'.concat(e.message))}}})),Vs=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.parseWithNodeMaps=r.parseAndGenerateServices=r.parse=void 0;const s=o(fn),c={},u=o(vn),l=o(Pi),d=a(Eo),_=s.default(\"typescript-eslint:typescript-estree:parser\"),p=\">=3.3.1 <4.2.0\",f=d.version,g=l.default.satisfies(f,[p].concat([\"4.1.1-rc\",\"4.1.0-beta\"]).join(\" || \"));let m,y=!1;function v(e){return\"string\"!=typeof e?String(e):e}function h({jsx:e}={}){return e?\"estree.tsx\":\"estree.ts\"}function D(){m={code:\"\",comment:!1,comments:[],createDefaultProgram:!1,debugLevel:new Set,errorOnTypeScriptSyntacticAndSemanticIssues:!1,errorOnUnknownASTType:!1,EXPERIMENTAL_useSourceOfProjectReferenceRedirect:!1,extraFileExtensions:[],filePath:h(),jsx:!1,loc:!1,log:console.log,preserveNodeMaps:!0,projects:[],range:!1,strict:!1,tokens:null,tsconfigRootDir:V.cwd(),useJSXTextNode:!1}}function x(e){var t;if(!0===e.debugLevel?m.debugLevel=new Set([\"typescript-eslint\"]):Array.isArray(e.debugLevel)&&(m.debugLevel=new Set(e.debugLevel)),m.debugLevel.size>0){const e=[];m.debugLevel.has(\"typescript-eslint\")&&e.push(\"typescript-eslint:*\"),(m.debugLevel.has(\"eslint\")||s.default.enabled(\"eslint:*,-eslint:code-path\"))&&e.push(\"eslint:*,-eslint:code-path\"),s.default.enable(e.join(\",\"))}m.range=\"boolean\"==typeof e.range&&e.range,m.loc=\"boolean\"==typeof e.loc&&e.loc,\"boolean\"==typeof e.tokens&&e.tokens&&(m.tokens=[]),\"boolean\"==typeof e.comment&&e.comment&&(m.comment=!0,m.comments=[]),\"boolean\"==typeof e.jsx&&e.jsx&&(m.jsx=!0),\"string\"==typeof e.filePath&&\"\"!==e.filePath?m.filePath=e.filePath:m.filePath=h(m),\"boolean\"==typeof e.useJSXTextNode&&e.useJSXTextNode&&(m.useJSXTextNode=!0),\"boolean\"==typeof e.errorOnUnknownASTType&&e.errorOnUnknownASTType&&(m.errorOnUnknownASTType=!0),\"function\"==typeof e.loggerFn?m.log=e.loggerFn:!1===e.loggerFn&&(m.log=()=>{}),\"string\"==typeof e.tsconfigRootDir&&(m.tsconfigRootDir=e.tsconfigRootDir),m.filePath=Rs.ensureAbsolutePath(m.filePath,m);const r=(null!==(t=e.projectFolderIgnoreList)&&void 0!==t?t:[]).reduce(((e,t)=>(\"string\"==typeof t&&e.push(t),e)),[]).map((e=>e.startsWith(\"!\")?e:\"!\".concat(e)));m.projects=[]||function(e,t){let r=[];if(\"string\"==typeof e)r.push(e);else if(Array.isArray(e))for(const t of e)\"string\"==typeof t&&r.push(t);if(0===r.length)return r;const n=r.filter((e=>u.default(e)));return r=r.filter((e=>!u.default(e))).concat(c.sync([...n,...t],{cwd:m.tsconfigRootDir})),_(\"parserOptions.project (excluding ignored) matched projects: %s\",r),r}(e.project,r),Array.isArray(e.extraFileExtensions)&&e.extraFileExtensions.every((e=>\"string\"==typeof e))&&(m.extraFileExtensions=e.extraFileExtensions),\"boolean\"==typeof e.preserveNodeMaps&&(m.preserveNodeMaps=e.preserveNodeMaps),m.createDefaultProgram=\"boolean\"==typeof e.createDefaultProgram&&e.createDefaultProgram,m.EXPERIMENTAL_useSourceOfProjectReferenceRedirect=\"boolean\"==typeof e.EXPERIMENTAL_useSourceOfProjectReferenceRedirect&&e.EXPERIMENTAL_useSourceOfProjectReferenceRedirect}function b(){var e;if(!g&&!y){if(void 0!==typeof V&&(null===(e=V.stdout)||void 0===e?void 0:e.isTTY)){const e=\"=============\",t=[e,\"WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.\",\"You may find that it works just fine, or you may not.\",\"SUPPORTED TYPESCRIPT VERSIONS: \".concat(p),\"YOUR TYPESCRIPT VERSION: \".concat(f),\"Please only submit bug reports when using the officially supported version.\",e];m.log(t.join(\"\\n\\n\"))}y=!0}}function S(e,t,r){if(D(),null==t?void 0:t.errorOnTypeScriptSyntacticAndSemanticIssues)throw new Error('\"errorOnTypeScriptSyntacticAndSemanticIssues\" is only supported for parseAndGenerateServices()');e=v(e),m.code=e,void 0!==t&&x(t),b();const n=zs.createSourceFile(e,m),{estree:i,astMaps:a}=Ls.astConverter(n,m,r);return{ast:i,esTreeNodeToTSNodeMap:a.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:a.tsNodeToESTreeNodeMap}}r.parse=function(e,t){const{ast:r}=S(e,t,!1);return r},r.parseWithNodeMaps=function(e,t){return S(e,t,!0)},r.parseAndGenerateServices=function(e,t){D(),e=v(e),m.code=e,void 0!==t&&(x(t),\"boolean\"==typeof t.errorOnTypeScriptSyntacticAndSemanticIssues&&t.errorOnTypeScriptSyntacticAndSemanticIssues&&(m.errorOnTypeScriptSyntacticAndSemanticIssues=!0)),b();const r=m.projects&&m.projects.length>0,{ast:n,program:i}=function(e,t,r){return t&&Ks.createProjectProgram(e,r,m)||t&&r&&Bs.createDefaultProgram(e,m)||js.createIsolatedProgram(e,m)}(e,r,m.createDefaultProgram),a=\"boolean\"!=typeof m.preserveNodeMaps||m.preserveNodeMaps,{estree:o,astMaps:s}=Ls.astConverter(n,m,a);if(i&&m.errorOnTypeScriptSyntacticAndSemanticIssues){const e=Us.getFirstSemanticOrSyntacticError(i,n);if(e)throw os.convertError(e)}return{ast:o,services:{hasFullTypeInformation:r,program:i,esTreeNodeToTSNodeMap:s.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:s.tsNodeToESTreeNodeMap}}}})),qs=\"4.8.1\",Ws=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(r,\"__esModule\",{value:!0}),r.version=r.visitorKeys=r.clearCaches=r.simpleTraverse=void 0,i(Vs,r),Object.defineProperty(r,\"simpleTraverse\",{enumerable:!0,get:function(){return Ms.simpleTraverse}}),i(ns,r),Object.defineProperty(r,\"clearCaches\",{enumerable:!0,get:function(){return Js.clearCaches}}),Object.defineProperty(r,\"visitorKeys\",{enumerable:!0,get:function(){return Os.visitorKeys}}),r.version=qs}));const{hasPragma:Hs}=Ze,{locStart:Gs,locEnd:Ys}=nt;function Xs(e,t){const{parseWithNodeMaps:r}=Ws;return r(e,{loc:!0,range:!0,comment:!0,useJSXTextNode:!0,jsx:t,tokens:!0,loggerFn:!1,project:[]})}return{parsers:{typescript:{parse:function(t,r,n){const i=function(e){return new RegExp([\"(^[^\\\"'`]*)\"].join(\"\"),\"m\").test(e)}(t);let a;try{a=Xs(t,i)}catch(r){try{a=Xs(t,!i)}catch(t){const{message:n,lineNumber:i,column:a}=r;if(\"number\"!=typeof i)throw r;throw e(n,{start:{line:i,column:a+1}})}}return qr(a.ast,Object.assign({},n,{originalText:t,tsParseResult:a}))},astFormat:\"estree\",hasPragma:Hs,locStart:Gs,locEnd:Ys}}}}));\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.curly = exports.Share = exports.Multi = exports.Easy = exports.Curl = void 0;\r\nconst tslib_1 = require(\"tslib\");\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n/**\r\n * node-libcurl\r\n * @packageDocumentation\r\n */\r\nvar Curl_1 = require(\"./Curl\");\r\nObject.defineProperty(exports, \"Curl\", { enumerable: true, get: function () { return Curl_1.Curl; } });\r\nvar Easy_1 = require(\"./Easy\");\r\nObject.defineProperty(exports, \"Easy\", { enumerable: true, get: function () { return Easy_1.Easy; } });\r\nvar Multi_1 = require(\"./Multi\");\r\nObject.defineProperty(exports, \"Multi\", { enumerable: true, get: function () { return Multi_1.Multi; } });\r\nvar Share_1 = require(\"./Share\");\r\nObject.defineProperty(exports, \"Share\", { enumerable: true, get: function () { return Share_1.Share; } });\r\nvar curly_1 = require(\"./curly\");\r\nObject.defineProperty(exports, \"curly\", { enumerable: true, get: function () { return curly_1.curly; } });\r\n// enums\r\ntslib_1.__exportStar(require(\"./enum/CurlAuth\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlChunk\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlCode\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlFeature\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlFileType\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlFnMatchFunc\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlFtpMethod\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlFtpSsl\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlGlobalInit\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlGssApi\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlHeader\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlHttpVersion\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlInfoDebug\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlIpResolve\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlNetrc\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlPause\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlPipe\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlProgressFunc\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlProtocol\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlProxy\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlPush\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlPx\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlReadFunc\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlRtspRequest\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlShareLock\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlShareOption\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlSshAuth\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlSslOpt\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlSslVersion\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlTimeCond\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlUseSsl\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlVersion\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/CurlWriteFunc\"), exports);\r\ntslib_1.__exportStar(require(\"./enum/SocketState\"), exports);\r\n//# sourceMappingURL=index.js.map","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('rm', _rm, {\n cmdOptions: {\n 'f': 'force',\n 'r': 'recursive',\n 'R': 'recursive',\n },\n});\n\n// Recursively removes 'dir'\n// Adapted from https://github.com/ryanmcgrath/wrench-js\n//\n// Copyright (c) 2010 Ryan McGrath\n// Copyright (c) 2012 Artur Adib\n//\n// Licensed under the MIT License\n// http://www.opensource.org/licenses/mit-license.php\nfunction rmdirSyncRecursive(dir, force, fromSymlink) {\n var files;\n\n files = fs.readdirSync(dir);\n\n // Loop through and delete everything in the sub-tree after checking it\n for (var i = 0; i < files.length; i++) {\n var file = dir + '/' + files[i];\n var currFile = common.statNoFollowLinks(file);\n\n if (currFile.isDirectory()) { // Recursive function back to the beginning\n rmdirSyncRecursive(file, force);\n } else { // Assume it's a file - perhaps a try/catch belongs here?\n if (force || isWriteable(file)) {\n try {\n common.unlinkSync(file);\n } catch (e) {\n /* istanbul ignore next */\n common.error('could not remove file (code ' + e.code + '): ' + file, {\n continue: true,\n });\n }\n }\n }\n }\n\n // if was directory was referenced through a symbolic link,\n // the contents should be removed, but not the directory itself\n if (fromSymlink) return;\n\n // Now that we know everything in the sub-tree has been deleted, we can delete the main directory.\n // Huzzah for the shopkeep.\n\n var result;\n try {\n // Retry on windows, sometimes it takes a little time before all the files in the directory are gone\n var start = Date.now();\n\n // TODO: replace this with a finite loop\n for (;;) {\n try {\n result = fs.rmdirSync(dir);\n if (fs.existsSync(dir)) throw { code: 'EAGAIN' };\n break;\n } catch (er) {\n /* istanbul ignore next */\n // In addition to error codes, also check if the directory still exists and loop again if true\n if (process.platform === 'win32' && (er.code === 'ENOTEMPTY' || er.code === 'EBUSY' || er.code === 'EPERM' || er.code === 'EAGAIN')) {\n if (Date.now() - start > 1000) throw er;\n } else if (er.code === 'ENOENT') {\n // Directory did not exist, deletion was successful\n break;\n } else {\n throw er;\n }\n }\n }\n } catch (e) {\n common.error('could not remove directory (code ' + e.code + '): ' + dir, { continue: true });\n }\n\n return result;\n} // rmdirSyncRecursive\n\n// Hack to determine if file has write permissions for current user\n// Avoids having to check user, group, etc, but it's probably slow\nfunction isWriteable(file) {\n var writePermission = true;\n try {\n var __fd = fs.openSync(file, 'a');\n fs.closeSync(__fd);\n } catch (e) {\n writePermission = false;\n }\n\n return writePermission;\n}\n\nfunction handleFile(file, options) {\n if (options.force || isWriteable(file)) {\n // -f was passed, or file is writable, so it can be removed\n common.unlinkSync(file);\n } else {\n common.error('permission denied: ' + file, { continue: true });\n }\n}\n\nfunction handleDirectory(file, options) {\n if (options.recursive) {\n // -r was passed, so directory can be removed\n rmdirSyncRecursive(file, options.force);\n } else {\n common.error('path is a directory', { continue: true });\n }\n}\n\nfunction handleSymbolicLink(file, options) {\n var stats;\n try {\n stats = common.statFollowLinks(file);\n } catch (e) {\n // symlink is broken, so remove the symlink itself\n common.unlinkSync(file);\n return;\n }\n\n if (stats.isFile()) {\n common.unlinkSync(file);\n } else if (stats.isDirectory()) {\n if (file[file.length - 1] === '/') {\n // trailing separator, so remove the contents, not the link\n if (options.recursive) {\n // -r was passed, so directory can be removed\n var fromSymlink = true;\n rmdirSyncRecursive(file, options.force, fromSymlink);\n } else {\n common.error('path is a directory', { continue: true });\n }\n } else {\n // no trailing separator, so remove the link\n common.unlinkSync(file);\n }\n }\n}\n\nfunction handleFIFO(file) {\n common.unlinkSync(file);\n}\n\n//@\n//@ ### rm([options,] file [, file ...])\n//@ ### rm([options,] file_array)\n//@\n//@ Available options:\n//@\n//@ + `-f`: force\n//@ + `-r, -R`: recursive\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ rm('-rf', '/tmp/*');\n//@ rm('some_file.txt', 'another_file.txt');\n//@ rm(['some_file.txt', 'another_file.txt']); // same as above\n//@ ```\n//@\n//@ Removes files.\nfunction _rm(options, files) {\n if (!files) common.error('no paths given');\n\n // Convert to array\n files = [].slice.call(arguments, 1);\n\n files.forEach(function (file) {\n var lstats;\n try {\n var filepath = (file[file.length - 1] === '/')\n ? file.slice(0, -1) // remove the '/' so lstatSync can detect symlinks\n : file;\n lstats = common.statNoFollowLinks(filepath); // test for existence\n } catch (e) {\n // Path does not exist, no force flag given\n if (!options.force) {\n common.error('no such file or directory: ' + file, { continue: true });\n }\n return; // skip file\n }\n\n // If here, path exists\n if (lstats.isFile()) {\n handleFile(file, options);\n } else if (lstats.isDirectory()) {\n handleDirectory(file, options);\n } else if (lstats.isSymbolicLink()) {\n handleSymbolicLink(file, options);\n } else if (lstats.isFIFO()) {\n handleFIFO(file);\n }\n }); // forEach(file)\n return '';\n} // rm\nmodule.exports = _rm;\n",null,"\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SocketState = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n/**\r\n * This will be the type of the second parameter passed to the callback set with\r\n * {@link \"Easy\".Easy.onSocketEvent|`Easy#onSocketEvent`}.\r\n * @public\r\n */\r\nvar SocketState;\r\n(function (SocketState) {\r\n SocketState[SocketState[\"Readable\"] = 1] = \"Readable\";\r\n SocketState[SocketState[\"Writable\"] = 2] = \"Writable\";\r\n})(SocketState = exports.SocketState || (exports.SocketState = {}));\r\n//# sourceMappingURL=SocketState.js.map","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()\n .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 = require(\"module\");","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('test', _test, {\n cmdOptions: {\n 'b': 'block',\n 'c': 'character',\n 'd': 'directory',\n 'e': 'exists',\n 'f': 'file',\n 'L': 'link',\n 'p': 'pipe',\n 'S': 'socket',\n },\n wrapOutput: false,\n allowGlobbing: false,\n});\n\n\n//@\n//@ ### test(expression)\n//@\n//@ Available expression primaries:\n//@\n//@ + `'-b', 'path'`: true if path is a block device\n//@ + `'-c', 'path'`: true if path is a character device\n//@ + `'-d', 'path'`: true if path is a directory\n//@ + `'-e', 'path'`: true if path exists\n//@ + `'-f', 'path'`: true if path is a regular file\n//@ + `'-L', 'path'`: true if path is a symbolic link\n//@ + `'-p', 'path'`: true if path is a pipe (FIFO)\n//@ + `'-S', 'path'`: true if path is a socket\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ if (test('-d', path)) { /* do something with dir */ };\n//@ if (!test('-f', path)) continue; // skip if it's a regular file\n//@ ```\n//@\n//@ Evaluates `expression` using the available primaries and returns corresponding value.\nfunction _test(options, path) {\n if (!path) common.error('no path given');\n\n var canInterpret = false;\n Object.keys(options).forEach(function (key) {\n if (options[key] === true) {\n canInterpret = true;\n }\n });\n\n if (!canInterpret) common.error('could not interpret expression');\n\n if (options.link) {\n try {\n return common.statNoFollowLinks(path).isSymbolicLink();\n } catch (e) {\n return false;\n }\n }\n\n if (!fs.existsSync(path)) return false;\n\n if (options.exists) return true;\n\n var stats = common.statFollowLinks(path);\n\n if (options.block) return stats.isBlockDevice();\n\n if (options.character) return stats.isCharacterDevice();\n\n if (options.directory) return stats.isDirectory();\n\n if (options.file) return stats.isFile();\n\n /* istanbul ignore next */\n if (options.pipe) return stats.isFIFO();\n\n /* istanbul ignore next */\n if (options.socket) return stats.isSocket();\n\n /* istanbul ignore next */\n return false; // fallback\n} // test\nmodule.exports = _test;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlProgressFunc = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/8bd863f97b6c79f561bc063e634cecdf4badf776/include/curl/curl.h#L214-L216\r\n/**\r\n * To be used with the progress callback\r\n *\r\n * `CURL_PROGRESSFUNC_CONTINUE` becomes `CurlProgressFunc.Continue`\r\n *\r\n * @public\r\n */\r\nvar CurlProgressFunc;\r\n(function (CurlProgressFunc) {\r\n /**\r\n * This is a return code for the progress callback that, when returned, will\r\n * signal libcurl to continue executing the default progress function\r\n * Added on libcurl 7.68\r\n */\r\n CurlProgressFunc[CurlProgressFunc[\"Continue\"] = 268435457] = \"Continue\";\r\n})(CurlProgressFunc = exports.CurlProgressFunc || (exports.CurlProgressFunc = {}));\r\n//# sourceMappingURL=CurlProgressFunc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.tempFixes = void 0;\nconst tempFixes = async () => { };\nexports.tempFixes = tempFixes;\n//# sourceMappingURL=temp.js.map","'use strict';\n\nconst Mailer = require('./mailer');\nconst shared = require('./shared');\nconst SMTPPool = require('./smtp-pool');\nconst SMTPTransport = require('./smtp-transport');\nconst SendmailTransport = require('./sendmail-transport');\nconst StreamTransport = require('./stream-transport');\nconst JSONTransport = require('./json-transport');\nconst SESTransport = require('./ses-transport');\nconst fetch = require('./fetch');\nconst packageData = require('../package.json');\n\nconst ETHEREAL_API = (process.env.ETHEREAL_API || 'https://api.nodemailer.com').replace(/\\/+$/, '');\nconst ETHEREAL_WEB = (process.env.ETHEREAL_WEB || 'https://ethereal.email').replace(/\\/+$/, '');\nconst ETHEREAL_CACHE = ['true', 'yes', 'y', '1'].includes((process.env.ETHEREAL_CACHE || 'yes').toString().trim().toLowerCase());\n\nlet testAccount = false;\n\nmodule.exports.createTransport = function (transporter, defaults) {\n let urlConfig;\n let options;\n let mailer;\n\n if (\n // provided transporter is a configuration object, not transporter plugin\n (typeof transporter === 'object' && typeof transporter.send !== 'function') ||\n // provided transporter looks like a connection url\n (typeof transporter === 'string' && /^(smtps?|direct):/i.test(transporter))\n ) {\n if ((urlConfig = typeof transporter === 'string' ? transporter : transporter.url)) {\n // parse a configuration URL into configuration options\n options = shared.parseConnectionUrl(urlConfig);\n } else {\n options = transporter;\n }\n\n if (options.pool) {\n transporter = new SMTPPool(options);\n } else if (options.sendmail) {\n transporter = new SendmailTransport(options);\n } else if (options.streamTransport) {\n transporter = new StreamTransport(options);\n } else if (options.jsonTransport) {\n transporter = new JSONTransport(options);\n } else if (options.SES) {\n transporter = new SESTransport(options);\n } else {\n transporter = new SMTPTransport(options);\n }\n }\n\n mailer = new Mailer(transporter, options, defaults);\n\n return mailer;\n};\n\nmodule.exports.createTestAccount = function (apiUrl, callback) {\n let promise;\n\n if (!callback && typeof apiUrl === 'function') {\n callback = apiUrl;\n apiUrl = false;\n }\n\n if (!callback) {\n promise = new Promise((resolve, reject) => {\n callback = shared.callbackPromise(resolve, reject);\n });\n }\n\n if (ETHEREAL_CACHE && testAccount) {\n setImmediate(() => callback(null, testAccount));\n return promise;\n }\n\n apiUrl = apiUrl || ETHEREAL_API;\n\n let chunks = [];\n let chunklen = 0;\n\n let req = fetch(apiUrl + '/user', {\n contentType: 'application/json',\n method: 'POST',\n body: Buffer.from(\n JSON.stringify({\n requestor: packageData.name,\n version: packageData.version\n })\n )\n });\n\n req.on('readable', () => {\n let chunk;\n while ((chunk = req.read()) !== null) {\n chunks.push(chunk);\n chunklen += chunk.length;\n }\n });\n\n req.once('error', err => callback(err));\n\n req.once('end', () => {\n let res = Buffer.concat(chunks, chunklen);\n let data;\n let err;\n try {\n data = JSON.parse(res.toString());\n } catch (E) {\n err = E;\n }\n if (err) {\n return callback(err);\n }\n if (data.status !== 'success' || data.error) {\n return callback(new Error(data.error || 'Request failed'));\n }\n delete data.status;\n testAccount = data;\n callback(null, testAccount);\n });\n\n return promise;\n};\n\nmodule.exports.getTestMessageUrl = function (info) {\n if (!info || !info.response) {\n return false;\n }\n\n let infoProps = new Map();\n info.response.replace(/\\[([^\\]]+)\\]$/, (m, props) => {\n props.replace(/\\b([A-Z0-9]+)=([^\\s]+)/g, (m, key, value) => {\n infoProps.set(key, value);\n });\n });\n\n if (infoProps.has('STATUS') && infoProps.has('MSGID')) {\n return (testAccount.web || ETHEREAL_WEB) + '/message/' + infoProps.get('MSGID');\n }\n\n return false;\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst VERSION = \"2.3.0\";\n\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 */\nfunction normalizePaginatedListResponse(response) {\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n\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\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n\n response.data.total_count = totalCount;\n return response;\n}\n\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : 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 next() {\n if (!url) {\n return Promise.resolve({\n done: true\n });\n }\n\n return requestMethod({\n method,\n url,\n headers\n }).then(normalizePaginatedListResponse).then(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 = ((response.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return {\n value: response\n };\n });\n }\n\n })\n };\n}\n\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\n\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then(result => {\n if (result.done) {\n return results;\n }\n\n let earlyExit = false;\n\n function done() {\n earlyExit = true;\n }\n\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n\n if (earlyExit) {\n return results;\n }\n\n return gather(octokit, results, iterator, mapFn);\n });\n}\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\n\nfunction 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\nexports.paginateRest = paginateRest;\n//# sourceMappingURL=index.js.map\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 = require(\"string_decoder\");","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","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Easy = void 0;\r\n// eslint-disable-next-line @typescript-eslint/no-var-requires\r\nconst bindings = require('../lib/binding/node_libcurl.node');\r\n/**\r\n * This is a Node.js wrapper around the binding {@link EasyNativeBinding | native Easy class}\r\n *\r\n * @public\r\n */\r\nclass Easy extends bindings.Easy {\r\n}\r\nexports.Easy = Easy;\r\n//# sourceMappingURL=Easy.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlGssApi = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898fccafc5d6cd04f6235f283cfbd/include/curl/curl.h#L7\r\n/**\r\n * Object with constants for option `GSSAPI_DELEGATION`\r\n *\r\n * `CURLGSSAPI_DELEGATION_FLAG` becomes `CurlGssApi.DelegationFlag`\r\n *\r\n * @public\r\n */\r\nvar CurlGssApi;\r\n(function (CurlGssApi) {\r\n /**\r\n * None, default\r\n */\r\n CurlGssApi[CurlGssApi[\"None\"] = 0] = \"None\";\r\n /**\r\n * if permitted by policy\r\n */\r\n CurlGssApi[CurlGssApi[\"PolicyFlag\"] = 1] = \"PolicyFlag\";\r\n /**\r\n * delegate always\r\n */\r\n CurlGssApi[CurlGssApi[\"DelegationFlag\"] = 2] = \"DelegationFlag\";\r\n})(CurlGssApi = exports.CurlGssApi || (exports.CurlGssApi = {}));\r\n//# sourceMappingURL=CurlGssApi.js.map","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","/**\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","'use strict'\nconst u = require('universalify').fromPromise\nconst fs = require('../fs')\n\nfunction pathExists (path) {\n return fs.access(path).then(() => true).catch(() => false)\n}\n\nmodule.exports = {\n pathExists: u(pathExists),\n pathExistsSync: fs.existsSync\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst VERSION = \"1.0.0\";\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\n\nfunction requestLog(octokit) {\n octokit.hook.wrap(\"request\", (request, options) => {\n octokit.log.debug(\"request\", options);\n const start = Date.now();\n const requestOptions = octokit.request.endpoint.parse(options);\n const path = requestOptions.url.replace(options.baseUrl, \"\");\n return request(options).then(response => {\n octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`);\n return response;\n }).catch(error => {\n octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`);\n throw error;\n });\n });\n}\nrequestLog.VERSION = VERSION;\n\nexports.requestLog = requestLog;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nconst fs = require('fs');\nconst shebangCommand = require('shebang-command');\n\nfunction readShebang(command) {\n // Read the first 150 bytes from the file\n const size = 150;\n let buffer;\n\n if (Buffer.alloc) {\n // Node.js v4.5+ / v5.10+\n buffer = Buffer.alloc(size);\n } else {\n // Old Node.js API\n buffer = new Buffer(size);\n buffer.fill(0); // zero-fill\n }\n\n let fd;\n\n try {\n fd = fs.openSync(command, 'r');\n fs.readSync(fd, buffer, 0, size, 0);\n fs.closeSync(fd);\n } catch (e) { /* Empty */ }\n\n // Attempt to extract shebang (null is returned if not a shebang)\n return shebangCommand(buffer.toString());\n}\n\nmodule.exports = readShebang;\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('sort', _sort, {\n canReceivePipe: true,\n cmdOptions: {\n 'r': 'reverse',\n 'n': 'numerical',\n },\n});\n\n// parse out the number prefix of a line\nfunction parseNumber(str) {\n var match = str.match(/^\\s*(\\d*)\\s*(.*)$/);\n return { num: Number(match[1]), value: match[2] };\n}\n\n// compare two strings case-insensitively, but examine case for strings that are\n// case-insensitive equivalent\nfunction unixCmp(a, b) {\n var aLower = a.toLowerCase();\n var bLower = b.toLowerCase();\n return (aLower === bLower ?\n -1 * a.localeCompare(b) : // unix sort treats case opposite how javascript does\n aLower.localeCompare(bLower));\n}\n\n// compare two strings in the fashion that unix sort's -n option works\nfunction numericalCmp(a, b) {\n var objA = parseNumber(a);\n var objB = parseNumber(b);\n if (objA.hasOwnProperty('num') && objB.hasOwnProperty('num')) {\n return ((objA.num !== objB.num) ?\n (objA.num - objB.num) :\n unixCmp(objA.value, objB.value));\n } else {\n return unixCmp(objA.value, objB.value);\n }\n}\n\n//@\n//@ ### sort([options,] file [, file ...])\n//@ ### sort([options,] file_array)\n//@\n//@ Available options:\n//@\n//@ + `-r`: Reverse the results\n//@ + `-n`: Compare according to numerical value\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ sort('foo.txt', 'bar.txt');\n//@ sort('-r', 'foo.txt');\n//@ ```\n//@\n//@ Return the contents of the `file`s, sorted line-by-line. Sorting multiple\n//@ files mixes their content (just as unix `sort` does).\nfunction _sort(options, files) {\n // Check if this is coming from a pipe\n var pipe = common.readFromPipe();\n\n if (!files && !pipe) common.error('no files given');\n\n files = [].slice.call(arguments, 1);\n\n if (pipe) {\n files.unshift('-');\n }\n\n var lines = files.reduce(function (accum, file) {\n if (file !== '-') {\n if (!fs.existsSync(file)) {\n common.error('no such file or directory: ' + file, { continue: true });\n return accum;\n } else if (common.statFollowLinks(file).isDirectory()) {\n common.error('read failed: ' + file + ': Is a directory', {\n continue: true,\n });\n return accum;\n }\n }\n\n var contents = file === '-' ? pipe : fs.readFileSync(file, 'utf8');\n return accum.concat(contents.trimRight().split('\\n'));\n }, []);\n\n var sorted = lines.sort(options.numerical ? numericalCmp : unixCmp);\n\n if (options.reverse) {\n sorted = sorted.reverse();\n }\n\n return sorted.join('\\n') + '\\n';\n}\n\nmodule.exports = _sort;\n","/* eslint no-undefined: 0, prefer-spread: 0, no-control-regex: 0 */\n\n'use strict';\n\nconst crypto = require('crypto');\nconst os = require('os');\nconst fs = require('fs');\nconst punycode = require('punycode');\nconst PassThrough = require('stream').PassThrough;\nconst shared = require('../shared');\n\nconst mimeFuncs = require('../mime-funcs');\nconst qp = require('../qp');\nconst base64 = require('../base64');\nconst addressparser = require('../addressparser');\nconst fetch = require('../fetch');\nconst LastNewline = require('./last-newline');\n\n/**\n * Creates a new mime tree node. Assumes 'multipart/*' as the content type\n * if it is a branch, anything else counts as leaf. If rootNode is missing from\n * the options, assumes this is the root.\n *\n * @param {String} contentType Define the content type for the node. Can be left blank for attachments (derived from filename)\n * @param {Object} [options] optional options\n * @param {Object} [options.rootNode] root node for this tree\n * @param {Object} [options.parentNode] immediate parent for this node\n * @param {Object} [options.filename] filename for an attachment node\n * @param {String} [options.baseBoundary] shared part of the unique multipart boundary\n * @param {Boolean} [options.keepBcc] If true, do not exclude Bcc from the generated headers\n * @param {Function} [options.normalizeHeaderKey] method to normalize header keys for custom caseing\n * @param {String} [options.textEncoding] either 'Q' (the default) or 'B'\n */\nclass MimeNode {\n constructor(contentType, options) {\n this.nodeCounter = 0;\n\n options = options || {};\n\n /**\n * shared part of the unique multipart boundary\n */\n this.baseBoundary = options.baseBoundary || crypto.randomBytes(8).toString('hex');\n this.boundaryPrefix = options.boundaryPrefix || '--_NmP';\n\n this.disableFileAccess = !!options.disableFileAccess;\n this.disableUrlAccess = !!options.disableUrlAccess;\n\n this.normalizeHeaderKey = options.normalizeHeaderKey;\n\n /**\n * If date headers is missing and current node is the root, this value is used instead\n */\n this.date = new Date();\n\n /**\n * Root node for current mime tree\n */\n this.rootNode = options.rootNode || this;\n\n /**\n * If true include Bcc in generated headers (if available)\n */\n this.keepBcc = !!options.keepBcc;\n\n /**\n * If filename is specified but contentType is not (probably an attachment)\n * detect the content type from filename extension\n */\n if (options.filename) {\n /**\n * Filename for this node. Useful with attachments\n */\n this.filename = options.filename;\n if (!contentType) {\n contentType = mimeFuncs.detectMimeType(this.filename.split('.').pop());\n }\n }\n\n /**\n * Indicates which encoding should be used for header strings: \"Q\" or \"B\"\n */\n this.textEncoding = (options.textEncoding || '').toString().trim().charAt(0).toUpperCase();\n\n /**\n * Immediate parent for this node (or undefined if not set)\n */\n this.parentNode = options.parentNode;\n\n /**\n * Hostname for default message-id values\n */\n this.hostname = options.hostname;\n\n /**\n * An array for possible child nodes\n */\n this.childNodes = [];\n\n /**\n * Used for generating unique boundaries (prepended to the shared base)\n */\n this._nodeId = ++this.rootNode.nodeCounter;\n\n /**\n * A list of header values for this node in the form of [{key:'', value:''}]\n */\n this._headers = [];\n\n /**\n * True if the content only uses ASCII printable characters\n * @type {Boolean}\n */\n this._isPlainText = false;\n\n /**\n * True if the content is plain text but has longer lines than allowed\n * @type {Boolean}\n */\n this._hasLongLines = false;\n\n /**\n * If set, use instead this value for envelopes instead of generating one\n * @type {Boolean}\n */\n this._envelope = false;\n\n /**\n * If set then use this value as the stream content instead of building it\n * @type {String|Buffer|Stream}\n */\n this._raw = false;\n\n /**\n * Additional transform streams that the message will be piped before\n * exposing by createReadStream\n * @type {Array}\n */\n this._transforms = [];\n\n /**\n * Additional process functions that the message will be piped through before\n * exposing by createReadStream. These functions are run after transforms\n * @type {Array}\n */\n this._processFuncs = [];\n\n /**\n * If content type is set (or derived from the filename) add it to headers\n */\n if (contentType) {\n this.setHeader('Content-Type', contentType);\n }\n }\n\n /////// PUBLIC METHODS\n\n /**\n * Creates and appends a child node.Arguments provided are passed to MimeNode constructor\n *\n * @param {String} [contentType] Optional content type\n * @param {Object} [options] Optional options object\n * @return {Object} Created node object\n */\n createChild(contentType, options) {\n if (!options && typeof contentType === 'object') {\n options = contentType;\n contentType = undefined;\n }\n let node = new MimeNode(contentType, options);\n this.appendChild(node);\n return node;\n }\n\n /**\n * Appends an existing node to the mime tree. Removes the node from an existing\n * tree if needed\n *\n * @param {Object} childNode node to be appended\n * @return {Object} Appended node object\n */\n appendChild(childNode) {\n if (childNode.rootNode !== this.rootNode) {\n childNode.rootNode = this.rootNode;\n childNode._nodeId = ++this.rootNode.nodeCounter;\n }\n\n childNode.parentNode = this;\n\n this.childNodes.push(childNode);\n return childNode;\n }\n\n /**\n * Replaces current node with another node\n *\n * @param {Object} node Replacement node\n * @return {Object} Replacement node\n */\n replace(node) {\n if (node === this) {\n return this;\n }\n\n this.parentNode.childNodes.forEach((childNode, i) => {\n if (childNode === this) {\n node.rootNode = this.rootNode;\n node.parentNode = this.parentNode;\n node._nodeId = this._nodeId;\n\n this.rootNode = this;\n this.parentNode = undefined;\n\n node.parentNode.childNodes[i] = node;\n }\n });\n\n return node;\n }\n\n /**\n * Removes current node from the mime tree\n *\n * @return {Object} removed node\n */\n remove() {\n if (!this.parentNode) {\n return this;\n }\n\n for (let i = this.parentNode.childNodes.length - 1; i >= 0; i--) {\n if (this.parentNode.childNodes[i] === this) {\n this.parentNode.childNodes.splice(i, 1);\n this.parentNode = undefined;\n this.rootNode = this;\n return this;\n }\n }\n }\n\n /**\n * Sets a header value. If the value for selected key exists, it is overwritten.\n * You can set multiple values as well by using [{key:'', value:''}] or\n * {key: 'value'} as the first argument.\n *\n * @param {String|Array|Object} key Header key or a list of key value pairs\n * @param {String} value Header value\n * @return {Object} current node\n */\n setHeader(key, value) {\n let added = false,\n headerValue;\n\n // Allow setting multiple headers at once\n if (!value && key && typeof key === 'object') {\n // allow {key:'content-type', value: 'text/plain'}\n if (key.key && 'value' in key) {\n this.setHeader(key.key, key.value);\n } else if (Array.isArray(key)) {\n // allow [{key:'content-type', value: 'text/plain'}]\n key.forEach(i => {\n this.setHeader(i.key, i.value);\n });\n } else {\n // allow {'content-type': 'text/plain'}\n Object.keys(key).forEach(i => {\n this.setHeader(i, key[i]);\n });\n }\n return this;\n }\n\n key = this._normalizeHeaderKey(key);\n\n headerValue = {\n key,\n value\n };\n\n // Check if the value exists and overwrite\n for (let i = 0, len = this._headers.length; i < len; i++) {\n if (this._headers[i].key === key) {\n if (!added) {\n // replace the first match\n this._headers[i] = headerValue;\n added = true;\n } else {\n // remove following matches\n this._headers.splice(i, 1);\n i--;\n len--;\n }\n }\n }\n\n // match not found, append the value\n if (!added) {\n this._headers.push(headerValue);\n }\n\n return this;\n }\n\n /**\n * Adds a header value. If the value for selected key exists, the value is appended\n * as a new field and old one is not touched.\n * You can set multiple values as well by using [{key:'', value:''}] or\n * {key: 'value'} as the first argument.\n *\n * @param {String|Array|Object} key Header key or a list of key value pairs\n * @param {String} value Header value\n * @return {Object} current node\n */\n addHeader(key, value) {\n // Allow setting multiple headers at once\n if (!value && key && typeof key === 'object') {\n // allow {key:'content-type', value: 'text/plain'}\n if (key.key && key.value) {\n this.addHeader(key.key, key.value);\n } else if (Array.isArray(key)) {\n // allow [{key:'content-type', value: 'text/plain'}]\n key.forEach(i => {\n this.addHeader(i.key, i.value);\n });\n } else {\n // allow {'content-type': 'text/plain'}\n Object.keys(key).forEach(i => {\n this.addHeader(i, key[i]);\n });\n }\n return this;\n } else if (Array.isArray(value)) {\n value.forEach(val => {\n this.addHeader(key, val);\n });\n return this;\n }\n\n this._headers.push({\n key: this._normalizeHeaderKey(key),\n value\n });\n\n return this;\n }\n\n /**\n * Retrieves the first mathcing value of a selected key\n *\n * @param {String} key Key to search for\n * @retun {String} Value for the key\n */\n getHeader(key) {\n key = this._normalizeHeaderKey(key);\n for (let i = 0, len = this._headers.length; i < len; i++) {\n if (this._headers[i].key === key) {\n return this._headers[i].value;\n }\n }\n }\n\n /**\n * Sets body content for current node. If the value is a string, charset is added automatically\n * to Content-Type (if it is text/*). If the value is a Buffer, you need to specify\n * the charset yourself\n *\n * @param (String|Buffer) content Body content\n * @return {Object} current node\n */\n setContent(content) {\n this.content = content;\n if (typeof this.content.pipe === 'function') {\n // pre-stream handler. might be triggered if a stream is set as content\n // and 'error' fires before anything is done with this stream\n this._contentErrorHandler = err => {\n this.content.removeListener('error', this._contentErrorHandler);\n this.content = err;\n };\n this.content.once('error', this._contentErrorHandler);\n } else if (typeof this.content === 'string') {\n this._isPlainText = mimeFuncs.isPlainText(this.content);\n if (this._isPlainText && mimeFuncs.hasLongerLines(this.content, 76)) {\n // If there are lines longer than 76 symbols/bytes do not use 7bit\n this._hasLongLines = true;\n }\n }\n return this;\n }\n\n build(callback) {\n let promise;\n\n if (!callback) {\n promise = new Promise((resolve, reject) => {\n callback = shared.callbackPromise(resolve, reject);\n });\n }\n\n let stream = this.createReadStream();\n let buf = [];\n let buflen = 0;\n let returned = false;\n\n stream.on('readable', () => {\n let chunk;\n\n while ((chunk = stream.read()) !== null) {\n buf.push(chunk);\n buflen += chunk.length;\n }\n });\n\n stream.once('error', err => {\n if (returned) {\n return;\n }\n returned = true;\n\n return callback(err);\n });\n\n stream.once('end', chunk => {\n if (returned) {\n return;\n }\n returned = true;\n\n if (chunk && chunk.length) {\n buf.push(chunk);\n buflen += chunk.length;\n }\n return callback(null, Buffer.concat(buf, buflen));\n });\n\n return promise;\n }\n\n getTransferEncoding() {\n let transferEncoding = false;\n let contentType = (this.getHeader('Content-Type') || '').toString().toLowerCase().trim();\n\n if (this.content) {\n transferEncoding = (this.getHeader('Content-Transfer-Encoding') || '').toString().toLowerCase().trim();\n if (!transferEncoding || !['base64', 'quoted-printable'].includes(transferEncoding)) {\n if (/^text\\//i.test(contentType)) {\n // If there are no special symbols, no need to modify the text\n if (this._isPlainText && !this._hasLongLines) {\n transferEncoding = '7bit';\n } else if (typeof this.content === 'string' || this.content instanceof Buffer) {\n // detect preferred encoding for string value\n transferEncoding = this._getTextEncoding(this.content) === 'Q' ? 'quoted-printable' : 'base64';\n } else {\n // we can not check content for a stream, so either use preferred encoding or fallback to QP\n transferEncoding = this.transferEncoding === 'B' ? 'base64' : 'quoted-printable';\n }\n } else if (!/^(multipart|message)\\//i.test(contentType)) {\n transferEncoding = transferEncoding || 'base64';\n }\n }\n }\n return transferEncoding;\n }\n\n /**\n * Builds the header block for the mime node. Append \\r\\n\\r\\n before writing the content\n *\n * @returns {String} Headers\n */\n buildHeaders() {\n let transferEncoding = this.getTransferEncoding();\n let headers = [];\n\n if (transferEncoding) {\n this.setHeader('Content-Transfer-Encoding', transferEncoding);\n }\n\n if (this.filename && !this.getHeader('Content-Disposition')) {\n this.setHeader('Content-Disposition', 'attachment');\n }\n\n // Ensure mandatory header fields\n if (this.rootNode === this) {\n if (!this.getHeader('Date')) {\n this.setHeader('Date', this.date.toUTCString().replace(/GMT/, '+0000'));\n }\n\n // ensure that Message-Id is present\n this.messageId();\n\n if (!this.getHeader('MIME-Version')) {\n this.setHeader('MIME-Version', '1.0');\n }\n }\n\n this._headers.forEach(header => {\n let key = header.key;\n let value = header.value;\n let structured;\n let param;\n let options = {};\n let formattedHeaders = ['From', 'Sender', 'To', 'Cc', 'Bcc', 'Reply-To', 'Date', 'References'];\n\n if (value && typeof value === 'object' && !formattedHeaders.includes(key)) {\n Object.keys(value).forEach(key => {\n if (key !== 'value') {\n options[key] = value[key];\n }\n });\n value = (value.value || '').toString();\n if (!value.trim()) {\n return;\n }\n }\n\n if (options.prepared) {\n // header value is\n if (options.foldLines) {\n headers.push(mimeFuncs.foldLines(key + ': ' + value));\n } else {\n headers.push(key + ': ' + value);\n }\n return;\n }\n\n switch (header.key) {\n case 'Content-Disposition':\n structured = mimeFuncs.parseHeaderValue(value);\n if (this.filename) {\n structured.params.filename = this.filename;\n }\n value = mimeFuncs.buildHeaderValue(structured);\n break;\n\n case 'Content-Type':\n structured = mimeFuncs.parseHeaderValue(value);\n\n this._handleContentType(structured);\n\n if (structured.value.match(/^text\\/plain\\b/) && typeof this.content === 'string' && /[\\u0080-\\uFFFF]/.test(this.content)) {\n structured.params.charset = 'utf-8';\n }\n\n value = mimeFuncs.buildHeaderValue(structured);\n\n if (this.filename) {\n // add support for non-compliant clients like QQ webmail\n // we can't build the value with buildHeaderValue as the value is non standard and\n // would be converted to parameter continuation encoding that we do not want\n param = this._encodeWords(this.filename);\n\n if (param !== this.filename || /[\\s'\"\\\\;:/=(),<>@[\\]?]|^-/.test(param)) {\n // include value in quotes if needed\n param = '\"' + param + '\"';\n }\n value += '; name=' + param;\n }\n break;\n\n case 'Bcc':\n if (!this.keepBcc) {\n // skip BCC values\n return;\n }\n break;\n }\n\n value = this._encodeHeaderValue(key, value);\n\n // skip empty lines\n if (!(value || '').toString().trim()) {\n return;\n }\n\n if (typeof this.normalizeHeaderKey === 'function') {\n let normalized = this.normalizeHeaderKey(key, value);\n if (normalized && typeof normalized === 'string' && normalized.length) {\n key = normalized;\n }\n }\n\n headers.push(mimeFuncs.foldLines(key + ': ' + value, 76));\n });\n\n return headers.join('\\r\\n');\n }\n\n /**\n * Streams the rfc2822 message from the current node. If this is a root node,\n * mandatory header fields are set if missing (Date, Message-Id, MIME-Version)\n *\n * @return {String} Compiled message\n */\n createReadStream(options) {\n options = options || {};\n\n let stream = new PassThrough(options);\n let outputStream = stream;\n let transform;\n\n this.stream(stream, options, err => {\n if (err) {\n outputStream.emit('error', err);\n return;\n }\n stream.end();\n });\n\n for (let i = 0, len = this._transforms.length; i < len; i++) {\n transform = typeof this._transforms[i] === 'function' ? this._transforms[i]() : this._transforms[i];\n outputStream.once('error', err => {\n transform.emit('error', err);\n });\n outputStream = outputStream.pipe(transform);\n }\n\n // ensure terminating newline after possible user transforms\n transform = new LastNewline();\n outputStream.once('error', err => {\n transform.emit('error', err);\n });\n outputStream = outputStream.pipe(transform);\n\n // dkim and stuff\n for (let i = 0, len = this._processFuncs.length; i < len; i++) {\n transform = this._processFuncs[i];\n outputStream = transform(outputStream);\n }\n\n return outputStream;\n }\n\n /**\n * Appends a transform stream object to the transforms list. Final output\n * is passed through this stream before exposing\n *\n * @param {Object} transform Read-Write stream\n */\n transform(transform) {\n this._transforms.push(transform);\n }\n\n /**\n * Appends a post process function. The functon is run after transforms and\n * uses the following syntax\n *\n * processFunc(input) -> outputStream\n *\n * @param {Object} processFunc Read-Write stream\n */\n processFunc(processFunc) {\n this._processFuncs.push(processFunc);\n }\n\n stream(outputStream, options, done) {\n let transferEncoding = this.getTransferEncoding();\n let contentStream;\n let localStream;\n\n // protect actual callback against multiple triggering\n let returned = false;\n let callback = err => {\n if (returned) {\n return;\n }\n returned = true;\n done(err);\n };\n\n // for multipart nodes, push child nodes\n // for content nodes end the stream\n let finalize = () => {\n let childId = 0;\n let processChildNode = () => {\n if (childId >= this.childNodes.length) {\n outputStream.write('\\r\\n--' + this.boundary + '--\\r\\n');\n return callback();\n }\n let child = this.childNodes[childId++];\n outputStream.write((childId > 1 ? '\\r\\n' : '') + '--' + this.boundary + '\\r\\n');\n child.stream(outputStream, options, err => {\n if (err) {\n return callback(err);\n }\n setImmediate(processChildNode);\n });\n };\n\n if (this.multipart) {\n setImmediate(processChildNode);\n } else {\n return callback();\n }\n };\n\n // pushes node content\n let sendContent = () => {\n if (this.content) {\n if (Object.prototype.toString.call(this.content) === '[object Error]') {\n // content is already errored\n return callback(this.content);\n }\n\n if (typeof this.content.pipe === 'function') {\n this.content.removeListener('error', this._contentErrorHandler);\n this._contentErrorHandler = err => callback(err);\n this.content.once('error', this._contentErrorHandler);\n }\n\n let createStream = () => {\n if (['quoted-printable', 'base64'].includes(transferEncoding)) {\n contentStream = new (transferEncoding === 'base64' ? base64 : qp).Encoder(options);\n\n contentStream.pipe(outputStream, {\n end: false\n });\n contentStream.once('end', finalize);\n contentStream.once('error', err => callback(err));\n\n localStream = this._getStream(this.content);\n localStream.pipe(contentStream);\n } else {\n // anything that is not QP or Base54 passes as-is\n localStream = this._getStream(this.content);\n localStream.pipe(outputStream, {\n end: false\n });\n localStream.once('end', finalize);\n }\n\n localStream.once('error', err => callback(err));\n };\n\n if (this.content._resolve) {\n let chunks = [];\n let chunklen = 0;\n let returned = false;\n let sourceStream = this._getStream(this.content);\n sourceStream.on('error', err => {\n if (returned) {\n return;\n }\n returned = true;\n callback(err);\n });\n sourceStream.on('readable', () => {\n let chunk;\n while ((chunk = sourceStream.read()) !== null) {\n chunks.push(chunk);\n chunklen += chunk.length;\n }\n });\n sourceStream.on('end', () => {\n if (returned) {\n return;\n }\n returned = true;\n this.content._resolve = false;\n this.content._resolvedValue = Buffer.concat(chunks, chunklen);\n setImmediate(createStream);\n });\n } else {\n setImmediate(createStream);\n }\n return;\n } else {\n return setImmediate(finalize);\n }\n };\n\n if (this._raw) {\n setImmediate(() => {\n if (Object.prototype.toString.call(this._raw) === '[object Error]') {\n // content is already errored\n return callback(this._raw);\n }\n\n // remove default error handler (if set)\n if (typeof this._raw.pipe === 'function') {\n this._raw.removeListener('error', this._contentErrorHandler);\n }\n\n let raw = this._getStream(this._raw);\n raw.pipe(outputStream, {\n end: false\n });\n raw.on('error', err => outputStream.emit('error', err));\n raw.on('end', finalize);\n });\n } else {\n outputStream.write(this.buildHeaders() + '\\r\\n\\r\\n');\n setImmediate(sendContent);\n }\n }\n\n /**\n * Sets envelope to be used instead of the generated one\n *\n * @return {Object} SMTP envelope in the form of {from: 'from@example.com', to: ['to@example.com']}\n */\n setEnvelope(envelope) {\n let list;\n\n this._envelope = {\n from: false,\n to: []\n };\n\n if (envelope.from) {\n list = [];\n this._convertAddresses(this._parseAddresses(envelope.from), list);\n list = list.filter(address => address && address.address);\n if (list.length && list[0]) {\n this._envelope.from = list[0].address;\n }\n }\n ['to', 'cc', 'bcc'].forEach(key => {\n if (envelope[key]) {\n this._convertAddresses(this._parseAddresses(envelope[key]), this._envelope.to);\n }\n });\n\n this._envelope.to = this._envelope.to.map(to => to.address).filter(address => address);\n\n let standardFields = ['to', 'cc', 'bcc', 'from'];\n Object.keys(envelope).forEach(key => {\n if (!standardFields.includes(key)) {\n this._envelope[key] = envelope[key];\n }\n });\n\n return this;\n }\n\n /**\n * Generates and returns an object with parsed address fields\n *\n * @return {Object} Address object\n */\n getAddresses() {\n let addresses = {};\n\n this._headers.forEach(header => {\n let key = header.key.toLowerCase();\n if (['from', 'sender', 'reply-to', 'to', 'cc', 'bcc'].includes(key)) {\n if (!Array.isArray(addresses[key])) {\n addresses[key] = [];\n }\n\n this._convertAddresses(this._parseAddresses(header.value), addresses[key]);\n }\n });\n\n return addresses;\n }\n\n /**\n * Generates and returns SMTP envelope with the sender address and a list of recipients addresses\n *\n * @return {Object} SMTP envelope in the form of {from: 'from@example.com', to: ['to@example.com']}\n */\n getEnvelope() {\n if (this._envelope) {\n return this._envelope;\n }\n\n let envelope = {\n from: false,\n to: []\n };\n this._headers.forEach(header => {\n let list = [];\n if (header.key === 'From' || (!envelope.from && ['Reply-To', 'Sender'].includes(header.key))) {\n this._convertAddresses(this._parseAddresses(header.value), list);\n if (list.length && list[0]) {\n envelope.from = list[0].address;\n }\n } else if (['To', 'Cc', 'Bcc'].includes(header.key)) {\n this._convertAddresses(this._parseAddresses(header.value), envelope.to);\n }\n });\n\n envelope.to = envelope.to.map(to => to.address);\n\n return envelope;\n }\n\n /**\n * Returns Message-Id value. If it does not exist, then creates one\n *\n * @return {String} Message-Id value\n */\n messageId() {\n let messageId = this.getHeader('Message-ID');\n // You really should define your own Message-Id field!\n if (!messageId) {\n messageId = this._generateMessageId();\n this.setHeader('Message-ID', messageId);\n }\n return messageId;\n }\n\n /**\n * Sets pregenerated content that will be used as the output of this node\n *\n * @param {String|Buffer|Stream} Raw MIME contents\n */\n setRaw(raw) {\n this._raw = raw;\n\n if (this._raw && typeof this._raw.pipe === 'function') {\n // pre-stream handler. might be triggered if a stream is set as content\n // and 'error' fires before anything is done with this stream\n this._contentErrorHandler = err => {\n this._raw.removeListener('error', this._contentErrorHandler);\n this._raw = err;\n };\n this._raw.once('error', this._contentErrorHandler);\n }\n\n return this;\n }\n\n /////// PRIVATE METHODS\n\n /**\n * Detects and returns handle to a stream related with the content.\n *\n * @param {Mixed} content Node content\n * @returns {Object} Stream object\n */\n _getStream(content) {\n let contentStream;\n\n if (content._resolvedValue) {\n // pass string or buffer content as a stream\n contentStream = new PassThrough();\n setImmediate(() => contentStream.end(content._resolvedValue));\n return contentStream;\n } else if (typeof content.pipe === 'function') {\n // assume as stream\n return content;\n } else if (content && typeof content.path === 'string' && !content.href) {\n if (this.disableFileAccess) {\n contentStream = new PassThrough();\n setImmediate(() => contentStream.emit('error', new Error('File access rejected for ' + content.path)));\n return contentStream;\n }\n // read file\n return fs.createReadStream(content.path);\n } else if (content && typeof content.href === 'string') {\n if (this.disableUrlAccess) {\n contentStream = new PassThrough();\n setImmediate(() => contentStream.emit('error', new Error('Url access rejected for ' + content.href)));\n return contentStream;\n }\n // fetch URL\n return fetch(content.href, { headers: content.httpHeaders });\n } else {\n // pass string or buffer content as a stream\n contentStream = new PassThrough();\n setImmediate(() => contentStream.end(content || ''));\n return contentStream;\n }\n }\n\n /**\n * Parses addresses. Takes in a single address or an array or an\n * array of address arrays (eg. To: [[first group], [second group],...])\n *\n * @param {Mixed} addresses Addresses to be parsed\n * @return {Array} An array of address objects\n */\n _parseAddresses(addresses) {\n return [].concat.apply(\n [],\n [].concat(addresses).map(address => {\n // eslint-disable-line prefer-spread\n if (address && address.address) {\n address.address = this._normalizeAddress(address.address);\n address.name = address.name || '';\n return [address];\n }\n return addressparser(address);\n })\n );\n }\n\n /**\n * Normalizes a header key, uses Camel-Case form, except for uppercase MIME-\n *\n * @param {String} key Key to be normalized\n * @return {String} key in Camel-Case form\n */\n _normalizeHeaderKey(key) {\n key = (key || '')\n .toString()\n // no newlines in keys\n .replace(/\\r?\\n|\\r/g, ' ')\n .trim()\n .toLowerCase()\n // use uppercase words, except MIME\n .replace(/^X-SMTPAPI$|^(MIME|DKIM|ARC|BIMI)\\b|^[a-z]|-(SPF|FBL|ID|MD5)$|-[a-z]/gi, c => c.toUpperCase())\n // special case\n .replace(/^Content-Features$/i, 'Content-features');\n\n return key;\n }\n\n /**\n * Checks if the content type is multipart and defines boundary if needed.\n * Doesn't return anything, modifies object argument instead.\n *\n * @param {Object} structured Parsed header value for 'Content-Type' key\n */\n _handleContentType(structured) {\n this.contentType = structured.value.trim().toLowerCase();\n\n this.multipart = /^multipart\\//i.test(this.contentType) ? this.contentType.substr(this.contentType.indexOf('/') + 1) : false;\n\n if (this.multipart) {\n this.boundary = structured.params.boundary = structured.params.boundary || this.boundary || this._generateBoundary();\n } else {\n this.boundary = false;\n }\n }\n\n /**\n * Generates a multipart boundary value\n *\n * @return {String} boundary value\n */\n _generateBoundary() {\n return this.rootNode.boundaryPrefix + '-' + this.rootNode.baseBoundary + '-Part_' + this._nodeId;\n }\n\n /**\n * Encodes a header value for use in the generated rfc2822 email.\n *\n * @param {String} key Header key\n * @param {String} value Header value\n */\n _encodeHeaderValue(key, value) {\n key = this._normalizeHeaderKey(key);\n\n switch (key) {\n // Structured headers\n case 'From':\n case 'Sender':\n case 'To':\n case 'Cc':\n case 'Bcc':\n case 'Reply-To':\n return this._convertAddresses(this._parseAddresses(value));\n\n // values enclosed in <>\n case 'Message-ID':\n case 'In-Reply-To':\n case 'Content-Id':\n value = (value || '').toString().replace(/\\r?\\n|\\r/g, ' ');\n\n if (value.charAt(0) !== '<') {\n value = '<' + value;\n }\n\n if (value.charAt(value.length - 1) !== '>') {\n value = value + '>';\n }\n return value;\n\n // space separated list of values enclosed in <>\n case 'References':\n value = [].concat\n .apply(\n [],\n [].concat(value || '').map(elm => {\n // eslint-disable-line prefer-spread\n elm = (elm || '')\n .toString()\n .replace(/\\r?\\n|\\r/g, ' ')\n .trim();\n return elm.replace(/<[^>]*>/g, str => str.replace(/\\s/g, '')).split(/\\s+/);\n })\n )\n .map(elm => {\n if (elm.charAt(0) !== '<') {\n elm = '<' + elm;\n }\n if (elm.charAt(elm.length - 1) !== '>') {\n elm = elm + '>';\n }\n return elm;\n });\n\n return value.join(' ').trim();\n\n case 'Date':\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return value.toUTCString().replace(/GMT/, '+0000');\n }\n\n value = (value || '').toString().replace(/\\r?\\n|\\r/g, ' ');\n return this._encodeWords(value);\n\n case 'Content-Type':\n case 'Content-Disposition':\n // if it includes a filename then it is already encoded\n return (value || '').toString().replace(/\\r?\\n|\\r/g, ' ');\n\n default:\n value = (value || '').toString().replace(/\\r?\\n|\\r/g, ' ');\n // encodeWords only encodes if needed, otherwise the original string is returned\n return this._encodeWords(value);\n }\n }\n\n /**\n * Rebuilds address object using punycode and other adjustments\n *\n * @param {Array} addresses An array of address objects\n * @param {Array} [uniqueList] An array to be populated with addresses\n * @return {String} address string\n */\n _convertAddresses(addresses, uniqueList) {\n let values = [];\n\n uniqueList = uniqueList || [];\n\n [].concat(addresses || []).forEach(address => {\n if (address.address) {\n address.address = this._normalizeAddress(address.address);\n\n if (!address.name) {\n values.push(address.address);\n } else if (address.name) {\n values.push(this._encodeAddressName(address.name) + ' <' + address.address + '>');\n }\n\n if (address.address) {\n if (!uniqueList.filter(a => a.address === address.address).length) {\n uniqueList.push(address);\n }\n }\n } else if (address.group) {\n values.push(\n this._encodeAddressName(address.name) + ':' + (address.group.length ? this._convertAddresses(address.group, uniqueList) : '').trim() + ';'\n );\n }\n });\n\n return values.join(', ');\n }\n\n /**\n * Normalizes an email address\n *\n * @param {Array} address An array of address objects\n * @return {String} address string\n */\n _normalizeAddress(address) {\n address = (address || '').toString().trim();\n\n let lastAt = address.lastIndexOf('@');\n if (lastAt < 0) {\n // Bare username\n return address;\n }\n let user = address.substr(0, lastAt);\n let domain = address.substr(lastAt + 1);\n\n // Usernames are not touched and are kept as is even if these include unicode\n // Domains are punycoded by default\n // 'jõgeva.ee' will be converted to 'xn--jgeva-dua.ee'\n // non-unicode domains are left as is\n\n return user + '@' + punycode.toASCII(domain.toLowerCase());\n }\n\n /**\n * If needed, mime encodes the name part\n *\n * @param {String} name Name part of an address\n * @returns {String} Mime word encoded string if needed\n */\n _encodeAddressName(name) {\n if (!/^[\\w ']*$/.test(name)) {\n if (/^[\\x20-\\x7e]*$/.test(name)) {\n return '\"' + name.replace(/([\\\\\"])/g, '\\\\$1') + '\"';\n } else {\n return mimeFuncs.encodeWord(name, this._getTextEncoding(name), 52);\n }\n }\n return name;\n }\n\n /**\n * If needed, mime encodes the name part\n *\n * @param {String} name Name part of an address\n * @returns {String} Mime word encoded string if needed\n */\n _encodeWords(value) {\n // set encodeAll parameter to true even though it is against the recommendation of RFC2047,\n // by default only words that include non-ascii should be converted into encoded words\n // but some clients (eg. Zimbra) do not handle it properly and remove surrounding whitespace\n return mimeFuncs.encodeWords(value, this._getTextEncoding(value), 52, true);\n }\n\n /**\n * Detects best mime encoding for a text value\n *\n * @param {String} value Value to check for\n * @return {String} either 'Q' or 'B'\n */\n _getTextEncoding(value) {\n value = (value || '').toString();\n\n let encoding = this.textEncoding;\n let latinLen;\n let nonLatinLen;\n\n if (!encoding) {\n // count latin alphabet symbols and 8-bit range symbols + control symbols\n // if there are more latin characters, then use quoted-printable\n // encoding, otherwise use base64\n nonLatinLen = (value.match(/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\u0080-\\uFFFF]/g) || []).length; // eslint-disable-line no-control-regex\n latinLen = (value.match(/[a-z]/gi) || []).length;\n // if there are more latin symbols than binary/unicode, then prefer Q, otherwise B\n encoding = nonLatinLen < latinLen ? 'Q' : 'B';\n }\n return encoding;\n }\n\n /**\n * Generates a message id\n *\n * @return {String} Random Message-ID value\n */\n _generateMessageId() {\n return (\n '<' +\n [2, 2, 2, 6].reduce(\n // crux to generate UUID-like random strings\n (prev, len) => prev + '-' + crypto.randomBytes(len).toString('hex'),\n crypto.randomBytes(4).toString('hex')\n ) +\n '@' +\n // try to use the domain of the FROM address or fallback to server hostname\n (this.getEnvelope().from || this.hostname || os.hostname() || 'localhost').split('@').pop() +\n '>'\n );\n }\n}\n\nmodule.exports = MimeNode;\n","'use strict';\n\nconst isWin = process.platform === 'win32';\n\nfunction notFoundError(original, syscall) {\n return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {\n code: 'ENOENT',\n errno: 'ENOENT',\n syscall: `${syscall} ${original.command}`,\n path: original.command,\n spawnargs: original.args,\n });\n}\n\nfunction hookChildProcess(cp, parsed) {\n if (!isWin) {\n return;\n }\n\n const originalEmit = cp.emit;\n\n cp.emit = function (name, arg1) {\n // If emitting \"exit\" event and exit code is 1, we need to check if\n // the command exists and emit an \"error\" instead\n // See https://github.com/IndigoUnited/node-cross-spawn/issues/16\n if (name === 'exit') {\n const err = verifyENOENT(arg1, parsed, 'spawn');\n\n if (err) {\n return originalEmit.call(cp, 'error', err);\n }\n }\n\n return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params\n };\n}\n\nfunction verifyENOENT(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawn');\n }\n\n return null;\n}\n\nfunction verifyENOENTSync(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawnSync');\n }\n\n return null;\n}\n\nmodule.exports = {\n hookChildProcess,\n verifyENOENT,\n verifyENOENTSync,\n notFoundError,\n};\n","'use strict';\n\nconst punycode = require('punycode');\nconst mimeFuncs = require('../mime-funcs');\nconst crypto = require('crypto');\n\n/**\n * Returns DKIM signature header line\n *\n * @param {Object} headers Parsed headers object from MessageParser\n * @param {String} bodyHash Base64 encoded hash of the message\n * @param {Object} options DKIM options\n * @param {String} options.domainName Domain name to be signed for\n * @param {String} options.keySelector DKIM key selector to use\n * @param {String} options.privateKey DKIM private key to use\n * @return {String} Complete header line\n */\n\nmodule.exports = (headers, hashAlgo, bodyHash, options) => {\n options = options || {};\n\n // all listed fields from RFC4871 #5.5\n let defaultFieldNames =\n 'From:Sender:Reply-To:Subject:Date:Message-ID:To:' +\n 'Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:' +\n 'Content-Description:Resent-Date:Resent-From:Resent-Sender:' +\n 'Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:' +\n 'List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:' +\n 'List-Owner:List-Archive';\n\n let fieldNames = options.headerFieldNames || defaultFieldNames;\n\n let canonicalizedHeaderData = relaxedHeaders(headers, fieldNames, options.skipFields);\n let dkimHeader = generateDKIMHeader(options.domainName, options.keySelector, canonicalizedHeaderData.fieldNames, hashAlgo, bodyHash);\n\n let signer, signature;\n\n canonicalizedHeaderData.headers += 'dkim-signature:' + relaxedHeaderLine(dkimHeader);\n\n signer = crypto.createSign(('rsa-' + hashAlgo).toUpperCase());\n signer.update(canonicalizedHeaderData.headers);\n try {\n signature = signer.sign(options.privateKey, 'base64');\n } catch (E) {\n return false;\n }\n\n return dkimHeader + signature.replace(/(^.{73}|.{75}(?!\\r?\\n|\\r))/g, '$&\\r\\n ').trim();\n};\n\nmodule.exports.relaxedHeaders = relaxedHeaders;\n\nfunction generateDKIMHeader(domainName, keySelector, fieldNames, hashAlgo, bodyHash) {\n let dkim = [\n 'v=1',\n 'a=rsa-' + hashAlgo,\n 'c=relaxed/relaxed',\n 'd=' + punycode.toASCII(domainName),\n 'q=dns/txt',\n 's=' + keySelector,\n 'bh=' + bodyHash,\n 'h=' + fieldNames\n ].join('; ');\n\n return mimeFuncs.foldLines('DKIM-Signature: ' + dkim, 76) + ';\\r\\n b=';\n}\n\nfunction relaxedHeaders(headers, fieldNames, skipFields) {\n let includedFields = new Set();\n let skip = new Set();\n let headerFields = new Map();\n\n (skipFields || '')\n .toLowerCase()\n .split(':')\n .forEach(field => {\n skip.add(field.trim());\n });\n\n (fieldNames || '')\n .toLowerCase()\n .split(':')\n .filter(field => !skip.has(field.trim()))\n .forEach(field => {\n includedFields.add(field.trim());\n });\n\n for (let i = headers.length - 1; i >= 0; i--) {\n let line = headers[i];\n // only include the first value from bottom to top\n if (includedFields.has(line.key) && !headerFields.has(line.key)) {\n headerFields.set(line.key, relaxedHeaderLine(line.line));\n }\n }\n\n let headersList = [];\n let fields = [];\n includedFields.forEach(field => {\n if (headerFields.has(field)) {\n fields.push(field);\n headersList.push(field + ':' + headerFields.get(field));\n }\n });\n\n return {\n headers: headersList.join('\\r\\n') + '\\r\\n',\n fieldNames: fields.join(':')\n };\n}\n\nfunction relaxedHeaderLine(line) {\n return line\n .substr(line.indexOf(':') + 1)\n .replace(/\\r?\\n/g, '')\n .replace(/\\s+/g, ' ')\n .trim();\n}\n",null,"'use strict'\n\nconst u = require('universalify').fromCallback\nmodule.exports = {\n move: u(require('./move'))\n}\n","function stringify (obj, options = {}) {\n const EOL = options.EOL || '\\n'\n\n const str = JSON.stringify(obj, options ? options.replacer : null, options.spaces)\n\n return str.replace(/\\n/g, EOL) + EOL\n}\n\nfunction stripBom (content) {\n // we do this because JSON.parse would convert it to a utf8 string if encoding wasn't specified\n if (Buffer.isBuffer(content)) content = content.toString('utf8')\n return content.replace(/^\\uFEFF/, '')\n}\n\nmodule.exports = { stringify, stripBom }\n","module.exports = require(\"assert\");","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlShareOption = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L2685\r\n// not following enum naming convention on this one to keep consistent with other curl options\r\n/**\r\n * Options to be used with {@link \"Share\".Share.setOpt | `Share#setOpt`}.\r\n *\r\n * @public\r\n */\r\nvar CurlShareOption;\r\n(function (CurlShareOption) {\r\n CurlShareOption[CurlShareOption[\"SHARE\"] = 1] = \"SHARE\";\r\n CurlShareOption[CurlShareOption[\"UNSHARE\"] = 2] = \"UNSHARE\";\r\n})(CurlShareOption = exports.CurlShareOption || (exports.CurlShareOption = {}));\r\n//# sourceMappingURL=CurlShareOption.js.map","var path = require('path');\nvar common = require('./common');\n\ncommon.register('pwd', _pwd, {\n allowGlobbing: false,\n});\n\n//@\n//@ ### pwd()\n//@\n//@ Returns the current directory.\nfunction _pwd() {\n var pwd = path.resolve(process.cwd());\n return pwd;\n}\nmodule.exports = _pwd;\n","'use strict';\nmodule.exports = (flag, argv) => {\n\targv = argv || process.argv;\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst pos = argv.indexOf(prefix + flag);\n\tconst terminatorPos = argv.indexOf('--');\n\treturn pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n","module.exports = __non_webpack_require__(__webpack_require__.ab + \"lib/binding/node_libcurl.node\")","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","module.exports = require(\"crypto\");","'use strict';\n\nconst SMTPConnection = require('../smtp-connection');\nconst assign = require('../shared').assign;\nconst XOAuth2 = require('../xoauth2');\nconst EventEmitter = require('events');\n\n/**\n * Creates an element for the pool\n *\n * @constructor\n * @param {Object} options SMTPPool instance\n */\nclass PoolResource extends EventEmitter {\n constructor(pool) {\n super();\n\n this.pool = pool;\n this.options = pool.options;\n this.logger = this.pool.logger;\n\n if (this.options.auth) {\n switch ((this.options.auth.type || '').toString().toUpperCase()) {\n case 'OAUTH2': {\n let oauth2 = new XOAuth2(this.options.auth, this.logger);\n oauth2.provisionCallback = (this.pool.mailer && this.pool.mailer.get('oauth2_provision_cb')) || oauth2.provisionCallback;\n this.auth = {\n type: 'OAUTH2',\n user: this.options.auth.user,\n oauth2,\n method: 'XOAUTH2'\n };\n oauth2.on('token', token => this.pool.mailer.emit('token', token));\n oauth2.on('error', err => this.emit('error', err));\n break;\n }\n default:\n if (!this.options.auth.user && !this.options.auth.pass) {\n break;\n }\n this.auth = {\n type: (this.options.auth.type || '').toString().toUpperCase() || 'LOGIN',\n user: this.options.auth.user,\n credentials: {\n user: this.options.auth.user || '',\n pass: this.options.auth.pass,\n options: this.options.auth.options\n },\n method: (this.options.auth.method || '').trim().toUpperCase() || this.options.authMethod || false\n };\n }\n }\n\n this._connection = false;\n this._connected = false;\n\n this.messages = 0;\n this.available = true;\n }\n\n /**\n * Initiates a connection to the SMTP server\n *\n * @param {Function} callback Callback function to run once the connection is established or failed\n */\n connect(callback) {\n this.pool.getSocket(this.options, (err, socketOptions) => {\n if (err) {\n return callback(err);\n }\n\n let returned = false;\n let options = this.options;\n if (socketOptions && socketOptions.connection) {\n this.logger.info(\n {\n tnx: 'proxy',\n remoteAddress: socketOptions.connection.remoteAddress,\n remotePort: socketOptions.connection.remotePort,\n destHost: options.host || '',\n destPort: options.port || '',\n action: 'connected'\n },\n 'Using proxied socket from %s:%s to %s:%s',\n socketOptions.connection.remoteAddress,\n socketOptions.connection.remotePort,\n options.host || '',\n options.port || ''\n );\n\n options = assign(false, options);\n Object.keys(socketOptions).forEach(key => {\n options[key] = socketOptions[key];\n });\n }\n\n this.connection = new SMTPConnection(options);\n\n this.connection.once('error', err => {\n this.emit('error', err);\n if (returned) {\n return;\n }\n returned = true;\n return callback(err);\n });\n\n this.connection.once('end', () => {\n this.close();\n if (returned) {\n return;\n }\n returned = true;\n\n let timer = setTimeout(() => {\n if (returned) {\n return;\n }\n // still have not returned, this means we have an unexpected connection close\n let err = new Error('Unexpected socket close');\n if (this.connection && this.connection._socket && this.connection._socket.upgrading) {\n // starttls connection errors\n err.code = 'ETLS';\n }\n callback(err);\n }, 1000);\n\n try {\n timer.unref();\n } catch (E) {\n // Ignore. Happens on envs with non-node timer implementation\n }\n });\n\n this.connection.connect(() => {\n if (returned) {\n return;\n }\n\n if (this.auth && (this.connection.allowsAuth || options.forceAuth)) {\n this.connection.login(this.auth, err => {\n if (returned) {\n return;\n }\n returned = true;\n\n if (err) {\n this.connection.close();\n this.emit('error', err);\n return callback(err);\n }\n\n this._connected = true;\n callback(null, true);\n });\n } else {\n returned = true;\n this._connected = true;\n return callback(null, true);\n }\n });\n });\n }\n\n /**\n * Sends an e-mail to be sent using the selected settings\n *\n * @param {Object} mail Mail object\n * @param {Function} callback Callback function\n */\n send(mail, callback) {\n if (!this._connected) {\n return this.connect(err => {\n if (err) {\n return callback(err);\n }\n return this.send(mail, callback);\n });\n }\n\n let envelope = mail.message.getEnvelope();\n let messageId = mail.message.messageId();\n\n let recipients = [].concat(envelope.to || []);\n if (recipients.length > 3) {\n recipients.push('...and ' + recipients.splice(2).length + ' more');\n }\n this.logger.info(\n {\n tnx: 'send',\n messageId,\n cid: this.id\n },\n 'Sending message %s using #%s to <%s>',\n messageId,\n this.id,\n recipients.join(', ')\n );\n\n if (mail.data.dsn) {\n envelope.dsn = mail.data.dsn;\n }\n\n this.connection.send(envelope, mail.message.createReadStream(), (err, info) => {\n this.messages++;\n\n if (err) {\n this.connection.close();\n this.emit('error', err);\n return callback(err);\n }\n\n info.envelope = {\n from: envelope.from,\n to: envelope.to\n };\n info.messageId = messageId;\n\n setImmediate(() => {\n let err;\n if (this.messages >= this.options.maxMessages) {\n err = new Error('Resource exhausted');\n err.code = 'EMAXLIMIT';\n this.connection.close();\n this.emit('error', err);\n } else {\n this.pool._checkRateLimit(() => {\n this.available = true;\n this.emit('available');\n });\n }\n });\n\n callback(null, info);\n });\n }\n\n /**\n * Closes the connection\n */\n close() {\n this._connected = false;\n if (this.auth && this.auth.oauth2) {\n this.auth.oauth2.removeAllListeners();\n }\n if (this.connection) {\n this.connection.close();\n }\n this.emit('close');\n }\n}\n\nmodule.exports = PoolResource;\n","var common = require('./common');\nvar fs = require('fs');\nvar path = require('path');\n\ncommon.register('to', _to, {\n pipeOnly: true,\n wrapOutput: false,\n});\n\n//@\n//@ ### ShellString.prototype.to(file)\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ cat('input.txt').to('output.txt');\n//@ ```\n//@\n//@ Analogous to the redirection operator `>` in Unix, but works with\n//@ `ShellStrings` (such as those returned by `cat`, `grep`, etc.). _Like Unix\n//@ redirections, `to()` will overwrite any existing file!_\nfunction _to(options, file) {\n if (!file) common.error('wrong arguments');\n\n if (!fs.existsSync(path.dirname(file))) {\n common.error('no such file or directory: ' + path.dirname(file));\n }\n\n try {\n fs.writeFileSync(file, this.stdout || this.toString(), 'utf8');\n return this;\n } catch (e) {\n /* istanbul ignore next */\n common.error('could not write to file (code ' + e.code + '): ' + file, { continue: true });\n }\n}\nmodule.exports = _to;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar isPlainObject = _interopDefault(require('is-plain-object'));\nvar universalUserAgent = require('universal-user-agent');\n\nfunction lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n\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)) Object.assign(result, {\n [key]: options[key]\n });else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, {\n [key]: options[key]\n });\n }\n });\n return result;\n}\n\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? {\n method,\n url\n } : {\n url: method\n }, options);\n } else {\n options = Object.assign({}, route);\n } // lowercase header names before merging with defaults to avoid duplicates\n\n\n options.headers = lowercaseKeys(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten\n\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);\n }\n\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n\nfunction addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n\n if (names.length === 0) {\n return url;\n }\n\n return url + separator + names.map(name => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\nconst urlVariableRegex = /\\{[^}]+\\}/g;\n\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\n\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n\n if (!matches) {\n return [];\n }\n\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n\nfunction 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}\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\n/* istanbul ignore file */\nfunction 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\n return part;\n }).join(\"\");\n}\n\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\n\nfunction getValues(context, operator, key, modifier) {\n var value = context[key],\n result = [];\n\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\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 } 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\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\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\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\n return result;\n}\n\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\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\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\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\n if (operator && operator !== \"+\") {\n var separator = \",\";\n\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\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\nfunction parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible\n\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, [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"mediaType\"]); // extract variable names from URL to calculate remaining variables later\n\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n\n const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequset = /application\\/octet-stream/i.test(headers.accept);\n\n if (!isBinaryRequset) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(\",\");\n }\n\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 } // 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\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 } else {\n headers[\"content-length\"] = 0;\n }\n }\n } // default content-type for JSON if body is set\n\n\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\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\n\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n } // Only return body/request keys if present\n\n\n return Object.assign({\n method,\n url,\n headers\n }, typeof body !== \"undefined\" ? {\n body\n } : null, options.request ? {\n request: options.request\n } : null);\n}\n\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\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}\n\nconst VERSION = \"6.0.5\";\n\nconst userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\n\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 previews: []\n }\n};\n\nconst endpoint = withDefaults(null, DEFAULTS);\n\nexports.endpoint = endpoint;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptUndefined() {\n return true;\n}\n\nfunction constructJavascriptUndefined() {\n /*eslint-disable no-undefined*/\n return undefined;\n}\n\nfunction representJavascriptUndefined() {\n return '';\n}\n\nfunction isUndefined(object) {\n return typeof object === 'undefined';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/undefined', {\n kind: 'scalar',\n resolve: resolveJavascriptUndefined,\n construct: constructJavascriptUndefined,\n predicate: isUndefined,\n represent: representJavascriptUndefined\n});\n","'use strict';\n\n// streams through a message body and calculates relaxed body hash\n\nconst Transform = require('stream').Transform;\nconst crypto = require('crypto');\n\nclass RelaxedBody extends Transform {\n constructor(options) {\n super();\n options = options || {};\n this.chunkBuffer = [];\n this.chunkBufferLen = 0;\n this.bodyHash = crypto.createHash(options.hashAlgo || 'sha1');\n this.remainder = '';\n this.byteLength = 0;\n\n this.debug = options.debug;\n this._debugBody = options.debug ? [] : false;\n }\n\n updateHash(chunk) {\n let bodyStr;\n\n // find next remainder\n let nextRemainder = '';\n\n // This crux finds and removes the spaces from the last line and the newline characters after the last non-empty line\n // If we get another chunk that does not match this description then we can restore the previously processed data\n let state = 'file';\n for (let i = chunk.length - 1; i >= 0; i--) {\n let c = chunk[i];\n\n if (state === 'file' && (c === 0x0a || c === 0x0d)) {\n // do nothing, found \\n or \\r at the end of chunk, stil end of file\n } else if (state === 'file' && (c === 0x09 || c === 0x20)) {\n // switch to line ending mode, this is the last non-empty line\n state = 'line';\n } else if (state === 'line' && (c === 0x09 || c === 0x20)) {\n // do nothing, found ' ' or \\t at the end of line, keep processing the last non-empty line\n } else if (state === 'file' || state === 'line') {\n // non line/file ending character found, switch to body mode\n state = 'body';\n if (i === chunk.length - 1) {\n // final char is not part of line end or file end, so do nothing\n break;\n }\n }\n\n if (i === 0) {\n // reached to the beginning of the chunk, check if it is still about the ending\n // and if the remainder also matches\n if (\n (state === 'file' && (!this.remainder || /[\\r\\n]$/.test(this.remainder))) ||\n (state === 'line' && (!this.remainder || /[ \\t]$/.test(this.remainder)))\n ) {\n // keep everything\n this.remainder += chunk.toString('binary');\n return;\n } else if (state === 'line' || state === 'file') {\n // process existing remainder as normal line but store the current chunk\n nextRemainder = chunk.toString('binary');\n chunk = false;\n break;\n }\n }\n\n if (state !== 'body') {\n continue;\n }\n\n // reached first non ending byte\n nextRemainder = chunk.slice(i + 1).toString('binary');\n chunk = chunk.slice(0, i + 1);\n break;\n }\n\n let needsFixing = !!this.remainder;\n if (chunk && !needsFixing) {\n // check if we even need to change anything\n for (let i = 0, len = chunk.length; i < len; i++) {\n if (i && chunk[i] === 0x0a && chunk[i - 1] !== 0x0d) {\n // missing \\r before \\n\n needsFixing = true;\n break;\n } else if (i && chunk[i] === 0x0d && chunk[i - 1] === 0x20) {\n // trailing WSP found\n needsFixing = true;\n break;\n } else if (i && chunk[i] === 0x20 && chunk[i - 1] === 0x20) {\n // multiple spaces found, needs to be replaced with just one\n needsFixing = true;\n break;\n } else if (chunk[i] === 0x09) {\n // TAB found, needs to be replaced with a space\n needsFixing = true;\n break;\n }\n }\n }\n\n if (needsFixing) {\n bodyStr = this.remainder + (chunk ? chunk.toString('binary') : '');\n this.remainder = nextRemainder;\n bodyStr = bodyStr\n .replace(/\\r?\\n/g, '\\n') // use js line endings\n .replace(/[ \\t]*$/gm, '') // remove line endings, rtrim\n .replace(/[ \\t]+/gm, ' ') // single spaces\n .replace(/\\n/g, '\\r\\n'); // restore rfc822 line endings\n chunk = Buffer.from(bodyStr, 'binary');\n } else if (nextRemainder) {\n this.remainder = nextRemainder;\n }\n\n if (this.debug) {\n this._debugBody.push(chunk);\n }\n this.bodyHash.update(chunk);\n }\n\n _transform(chunk, encoding, callback) {\n if (!chunk || !chunk.length) {\n return callback();\n }\n\n if (typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n this.updateHash(chunk);\n\n this.byteLength += chunk.length;\n this.push(chunk);\n callback();\n }\n\n _flush(callback) {\n // generate final hash and emit it\n if (/[\\r\\n]$/.test(this.remainder) && this.byteLength > 2) {\n // add terminating line end\n this.bodyHash.update(Buffer.from('\\r\\n'));\n }\n if (!this.byteLength) {\n // emit empty line buffer to keep the stream flowing\n this.push(Buffer.from('\\r\\n'));\n // this.bodyHash.update(Buffer.from('\\r\\n'));\n }\n\n this.emit('hash', this.bodyHash.digest('base64'), this.debug ? Buffer.concat(this._debugBody) : false);\n callback();\n }\n}\n\nmodule.exports = RelaxedBody;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlPipe = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/7e35eb77292f/include/curl/multi.h#L84\r\n/**\r\n * Object with bit constants to be used with the multi handle option `PIPELINING`\r\n * Those are available starting with libcurl 7.43.0.\r\n *\r\n * `CURLPIPE_NOTHING` becomes `CurlPipe.Nothing`\r\n *\r\n * @public\r\n */\r\nvar CurlPipe;\r\n(function (CurlPipe) {\r\n CurlPipe[CurlPipe[\"Nothing\"] = 0] = \"Nothing\";\r\n /**\r\n * Deprecated and has no effect since version 7.62.0\r\n */\r\n CurlPipe[CurlPipe[\"Http1\"] = 1] = \"Http1\";\r\n /**\r\n * If this bit is set, libcurl will try to multiplex the new transfer over an existing connection if possible. This requires HTTP/2.\r\n *\r\n * This is enabled by default starting with version 7.62.0\r\n */\r\n CurlPipe[CurlPipe[\"Multiplex\"] = 2] = \"Multiplex\";\r\n})(CurlPipe = exports.CurlPipe || (exports.CurlPipe = {}));\r\n//# sourceMappingURL=CurlPipe.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n\n return \"\";\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlWriteFunc = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898fccafc5d6cd04f6235f283cfbd/include/curl/curl.h#L252\r\n/**\r\n * Special return codes for `WRITEFUNCTION` option\r\n *\r\n * `CURL_WRITEFUNC_PAUSE` becomes `CurlWriteFunc.Pause`\r\n *\r\n * @public\r\n */\r\nvar CurlWriteFunc;\r\n(function (CurlWriteFunc) {\r\n CurlWriteFunc[CurlWriteFunc[\"Pause\"] = 268435457] = \"Pause\";\r\n})(CurlWriteFunc = exports.CurlWriteFunc || (exports.CurlWriteFunc = {}));\r\n//# sourceMappingURL=CurlWriteFunc.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.curly = void 0;\r\nconst CurlOption_1 = require(\"./generated/CurlOption\");\r\nconst Curl_1 = require(\"./Curl\");\r\nconst CurlFeature_1 = require(\"./enum/CurlFeature\");\r\n// This is basically http.METHODS\r\nconst methods = [\r\n 'acl',\r\n 'bind',\r\n 'checkout',\r\n 'connect',\r\n 'copy',\r\n 'delete',\r\n 'get',\r\n 'head',\r\n 'link',\r\n 'lock',\r\n 'm-search',\r\n 'merge',\r\n 'mkactivity',\r\n 'mkcalendar',\r\n 'mkcol',\r\n 'move',\r\n 'notify',\r\n 'options',\r\n 'patch',\r\n 'post',\r\n 'propfind',\r\n 'proppatch',\r\n 'purge',\r\n 'put',\r\n 'rebind',\r\n 'report',\r\n 'search',\r\n 'source',\r\n 'subscribe',\r\n 'trace',\r\n 'unbind',\r\n 'unlink',\r\n 'unlock',\r\n 'unsubscribe',\r\n];\r\nconst create = (defaultOptions = {}) => {\r\n function curly(url, options = {}) {\r\n const curlHandle = new Curl_1.Curl();\r\n curlHandle.enable(CurlFeature_1.CurlFeature.NoDataParsing);\r\n curlHandle.setOpt('URL', `${options.curlyBaseUrl || ''}${url}`);\r\n const finalOptions = {\r\n ...defaultOptions,\r\n ...options,\r\n };\r\n for (const key of Object.keys(finalOptions)) {\r\n const keyTyped = key;\r\n const optionName = keyTyped in CurlOption_1.CurlOptionCamelCaseMap\r\n ? CurlOption_1.CurlOptionCamelCaseMap[keyTyped]\r\n : keyTyped;\r\n // if it begins with curly we do not set it on the curlHandle\r\n // as it's an specific option for curly\r\n if (optionName.startsWith('curly'))\r\n continue;\r\n // @ts-ignore @TODO Try to type this\r\n curlHandle.setOpt(optionName, finalOptions[key]);\r\n }\r\n // streams!\r\n const { curlyStreamResponse, curlyStreamResponseHighWaterMark, curlyStreamUpload, } = finalOptions;\r\n const isUsingStream = !!(curlyStreamResponse || curlyStreamUpload);\r\n if (finalOptions.curlyProgressCallback) {\r\n if (typeof finalOptions.curlyProgressCallback !== 'function') {\r\n throw new TypeError('curlyProgressCallback must be a function with signature (number, number, number, number) => number');\r\n }\r\n const fnToCall = isUsingStream\r\n ? 'setStreamProgressCallback'\r\n : 'setProgressCallback';\r\n curlHandle[fnToCall](finalOptions.curlyProgressCallback);\r\n }\r\n if (curlyStreamResponse) {\r\n curlHandle.enable(CurlFeature_1.CurlFeature.StreamResponse);\r\n if (curlyStreamResponseHighWaterMark) {\r\n curlHandle.setStreamResponseHighWaterMark(curlyStreamResponseHighWaterMark);\r\n }\r\n }\r\n if (curlyStreamUpload) {\r\n curlHandle.setUploadStream(curlyStreamUpload);\r\n }\r\n const lowerCaseHeadersIfNecessary = (headers) => {\r\n // in-place modification\r\n // yeah, I know mutability is bad and all that\r\n if (finalOptions.curlyLowerCaseHeaders) {\r\n for (const headersReq of headers) {\r\n const entries = Object.entries(headersReq);\r\n for (const [headerKey, headerValue] of entries) {\r\n delete headersReq[headerKey];\r\n headersReq[headerKey.toLowerCase()] = headerValue;\r\n }\r\n }\r\n }\r\n };\r\n return new Promise((resolve, reject) => {\r\n let stream;\r\n if (curlyStreamResponse) {\r\n curlHandle.on('stream', (_stream, statusCode, headers) => {\r\n lowerCaseHeadersIfNecessary(headers);\r\n stream = _stream;\r\n resolve({\r\n // @ts-ignore cannot be subtype yada yada\r\n data: stream,\r\n statusCode,\r\n headers,\r\n });\r\n });\r\n }\r\n curlHandle.on('end', (statusCode, data, headers) => {\r\n curlHandle.close();\r\n // only need to the remaining here if we did not enabled\r\n // the stream response\r\n if (curlyStreamResponse) {\r\n return;\r\n }\r\n const contentTypeEntry = Object.entries(headers[headers.length - 1]).find(([k]) => k.toLowerCase() === 'content-type');\r\n let contentType = contentTypeEntry ? contentTypeEntry[1] : '';\r\n // remove the metadata of the content-type, like charset\r\n // See https://tools.ietf.org/html/rfc7231#section-3.1.1.5\r\n contentType = contentType.split(';')[0];\r\n const responseBodyParsers = {\r\n ...curly.defaultResponseBodyParsers,\r\n ...finalOptions.curlyResponseBodyParsers,\r\n };\r\n let foundParser = finalOptions.curlyResponseBodyParser;\r\n if (typeof foundParser === 'undefined') {\r\n for (const [contentTypeFormat, parser] of Object.entries(responseBodyParsers)) {\r\n if (typeof parser !== 'function') {\r\n return reject(new TypeError(`Response body parser for ${contentTypeFormat} must be a function`));\r\n }\r\n if (contentType === contentTypeFormat) {\r\n foundParser = parser;\r\n break;\r\n }\r\n else if (contentTypeFormat === '*') {\r\n foundParser = parser;\r\n break;\r\n }\r\n else {\r\n const partsFormat = contentTypeFormat.split('/');\r\n const partsContentType = contentType.split('/');\r\n if (partsContentType.length === partsFormat.length &&\r\n partsContentType.every((val, index) => partsFormat[index] === '*' || partsFormat[index] === val)) {\r\n foundParser = parser;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (foundParser && typeof foundParser !== 'function') {\r\n return reject(new TypeError('`curlyResponseBodyParser` passed to curly must be false or a function.'));\r\n }\r\n lowerCaseHeadersIfNecessary(headers);\r\n try {\r\n resolve({\r\n statusCode: statusCode,\r\n data: foundParser ? foundParser(data, headers) : data,\r\n headers: headers,\r\n });\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n curlHandle.on('error', (error, errorCode) => {\r\n curlHandle.close();\r\n // @ts-ignore\r\n error.code = errorCode;\r\n // @ts-ignore\r\n error.isCurlError = true;\r\n // oops, if have a stream it means the promise\r\n // has been resolved with it\r\n // so instead of rejecting the original promise\r\n // we are emitting the error event on the stream\r\n if (stream) {\r\n stream.emit('error', error);\r\n }\r\n else {\r\n reject(error);\r\n }\r\n });\r\n try {\r\n curlHandle.perform();\r\n }\r\n catch (error) /* istanbul ignore next: this should never happen 🤷‍♂️ */ {\r\n curlHandle.close();\r\n reject(error);\r\n }\r\n });\r\n }\r\n curly.create = create;\r\n curly.defaultResponseBodyParsers = {\r\n 'application/json': (data, _headers) => {\r\n try {\r\n const string = data.toString('utf8');\r\n return JSON.parse(string);\r\n }\r\n catch (error) {\r\n throw new Error(`curly failed to parse \"application/json\" content as JSON. This is generally caused by receiving malformed JSON data from the server.\nYou can disable this automatic behavior by setting the option curlyResponseBodyParser to false, then a Buffer will be returned as the data.\nYou can also overwrite the \"application/json\" parser with your own by changing one of the following:\n - curly.defaultResponseBodyParsers['application/json']\n or\n - options.curlyResponseBodyParsers = { 'application/json': parser }\n\nIf you want just a single function to handle all content-types, you can use the option \"curlyResponseBodyParser\".\n`);\r\n }\r\n },\r\n // We are in [INSERT CURRENT YEAR], let's assume everyone is using utf8 encoding for text/* content-type.\r\n 'text/*': (data, _headers) => data.toString('utf8'),\r\n // otherwise let's just return the raw buffer\r\n '*': (data, _headers) => data,\r\n };\r\n const httpMethodOptionsMap = {\r\n get: null,\r\n post: (_m, o) => ({\r\n post: true,\r\n ...o,\r\n }),\r\n head: (_m, o) => ({\r\n nobody: true,\r\n ...o,\r\n }),\r\n _: (m, o) => ({\r\n customRequest: m.toUpperCase(),\r\n ...o,\r\n }),\r\n };\r\n for (const httpMethod of methods) {\r\n const httpMethodOptionsKey = Object.prototype.hasOwnProperty.call(httpMethodOptionsMap, httpMethod)\r\n ? httpMethod\r\n : '_';\r\n const httpMethodOptions = httpMethodOptionsMap[httpMethodOptionsKey];\r\n // @ts-ignore\r\n curly[httpMethod] =\r\n httpMethodOptions === null\r\n ? curly\r\n : (url, options = {}) => curly(url, {\r\n ...httpMethodOptions(httpMethod, options),\r\n });\r\n }\r\n // @ts-ignore\r\n return curly;\r\n};\r\n/**\r\n * Curly function\r\n *\r\n * @public\r\n */\r\nexports.curly = create();\r\n//# sourceMappingURL=curly.js.map","'use strict';\n\nconst cp = require('child_process');\nconst parse = require('./lib/parse');\nconst enoent = require('./lib/enoent');\n\nfunction spawn(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n\n // Hook into child process \"exit\" event to emit an error if the command\n // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n enoent.hookChildProcess(spawned, parsed);\n\n return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);\n\n // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n\n return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\n\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\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 fs = require('fs')\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 alphasort = common.alphasort\nvar alphasorti = common.alphasorti\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) || isAbsolute(pattern.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 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 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 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 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';\nconst path = require('path');\nconst pathKey = require('path-key');\n\nmodule.exports = opts => {\n\topts = Object.assign({\n\t\tcwd: process.cwd(),\n\t\tpath: process.env[pathKey()]\n\t}, opts);\n\n\tlet prev;\n\tlet pth = path.resolve(opts.cwd);\n\tconst ret = [];\n\n\twhile (prev !== pth) {\n\t\tret.push(path.join(pth, 'node_modules/.bin'));\n\t\tprev = pth;\n\t\tpth = path.resolve(pth, '..');\n\t}\n\n\t// ensure the running `node` binary is used\n\tret.push(path.dirname(process.execPath));\n\n\treturn ret.concat(opts.path).join(path.delimiter);\n};\n\nmodule.exports.env = opts => {\n\topts = Object.assign({\n\t\tenv: process.env\n\t}, opts);\n\n\tconst env = Object.assign({}, opts.env);\n\tconst path = pathKey({env});\n\n\topts.path = env[path];\n\tenv[path] = module.exports(opts);\n\n\treturn env;\n};\n","// see dirs.js\n","'use strict';\n\nconst spawn = require('child_process').spawn;\nconst packageData = require('../../package.json');\nconst LeWindows = require('./le-windows');\nconst LeUnix = require('./le-unix');\nconst shared = require('../shared');\n\n/**\n * Generates a Transport object for Sendmail\n *\n * Possible options can be the following:\n *\n * * **path** optional path to sendmail binary\n * * **newline** either 'windows' or 'unix'\n * * **args** an array of arguments for the sendmail binary\n *\n * @constructor\n * @param {Object} optional config parameter for Sendmail\n */\nclass SendmailTransport {\n constructor(options) {\n options = options || {};\n\n // use a reference to spawn for mocking purposes\n this._spawn = spawn;\n\n this.options = options || {};\n\n this.name = 'Sendmail';\n this.version = packageData.version;\n\n this.path = 'sendmail';\n this.args = false;\n this.winbreak = false;\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'sendmail'\n });\n\n if (options) {\n if (typeof options === 'string') {\n this.path = options;\n } else if (typeof options === 'object') {\n if (options.path) {\n this.path = options.path;\n }\n if (Array.isArray(options.args)) {\n this.args = options.args;\n }\n this.winbreak = ['win', 'windows', 'dos', '\\r\\n'].includes((options.newline || '').toString().toLowerCase());\n }\n }\n }\n\n /**\n *

Compiles a mailcomposer message and forwards it to handler that sends it.

\n *\n * @param {Object} emailMessage MailComposer object\n * @param {Function} callback Callback function to run when the sending is completed\n */\n send(mail, done) {\n // Sendmail strips this header line by itself\n mail.message.keepBcc = true;\n\n let envelope = mail.data.envelope || mail.message.getEnvelope();\n let messageId = mail.message.messageId();\n let args;\n let sendmail;\n let returned;\n let transform;\n\n const hasInvalidAddresses = []\n .concat(envelope.from || [])\n .concat(envelope.to || [])\n .some(addr => /^-/.test(addr));\n if (hasInvalidAddresses) {\n return done(new Error('Can not send mail. Invalid envelope addresses.'));\n }\n\n if (this.args) {\n // force -i to keep single dots\n args = ['-i'].concat(this.args).concat(envelope.to);\n } else {\n args = ['-i'].concat(envelope.from ? ['-f', envelope.from] : []).concat(envelope.to);\n }\n\n let callback = err => {\n if (returned) {\n // ignore any additional responses, already done\n return;\n }\n returned = true;\n if (typeof done === 'function') {\n if (err) {\n return done(err);\n } else {\n return done(null, {\n envelope: mail.data.envelope || mail.message.getEnvelope(),\n messageId,\n response: 'Messages queued for delivery'\n });\n }\n }\n };\n\n try {\n sendmail = this._spawn(this.path, args);\n } catch (E) {\n this.logger.error(\n {\n err: E,\n tnx: 'spawn',\n messageId\n },\n 'Error occurred while spawning sendmail. %s',\n E.message\n );\n return callback(E);\n }\n\n if (sendmail) {\n sendmail.on('error', err => {\n this.logger.error(\n {\n err,\n tnx: 'spawn',\n messageId\n },\n 'Error occurred when sending message %s. %s',\n messageId,\n err.message\n );\n callback(err);\n });\n\n sendmail.once('exit', code => {\n if (!code) {\n return callback();\n }\n let err;\n if (code === 127) {\n err = new Error('Sendmail command not found, process exited with code ' + code);\n } else {\n err = new Error('Sendmail exited with code ' + code);\n }\n\n this.logger.error(\n {\n err,\n tnx: 'stdin',\n messageId\n },\n 'Error sending message %s to sendmail. %s',\n messageId,\n err.message\n );\n callback(err);\n });\n sendmail.once('close', callback);\n\n sendmail.stdin.on('error', err => {\n this.logger.error(\n {\n err,\n tnx: 'stdin',\n messageId\n },\n 'Error occurred when piping message %s to sendmail. %s',\n messageId,\n err.message\n );\n callback(err);\n });\n\n let recipients = [].concat(envelope.to || []);\n if (recipients.length > 3) {\n recipients.push('...and ' + recipients.splice(2).length + ' more');\n }\n this.logger.info(\n {\n tnx: 'send',\n messageId\n },\n 'Sending message %s to <%s>',\n messageId,\n recipients.join(', ')\n );\n\n transform = this.winbreak ? new LeWindows() : new LeUnix();\n let sourceStream = mail.message.createReadStream();\n\n transform.once('error', err => {\n this.logger.error(\n {\n err,\n tnx: 'stdin',\n messageId\n },\n 'Error occurred when generating message %s. %s',\n messageId,\n err.message\n );\n sendmail.kill('SIGINT'); // do not deliver the message\n callback(err);\n });\n\n sourceStream.once('error', err => transform.emit('error', err));\n sourceStream.pipe(transform).pipe(sendmail.stdin);\n } else {\n return callback(new Error('sendmail was not found'));\n }\n }\n}\n\nmodule.exports = SendmailTransport;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Curl = void 0;\r\nconst tslib_1 = require(\"tslib\");\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\nconst events_1 = require(\"events\");\r\nconst string_decoder_1 = require(\"string_decoder\");\r\nconst assert_1 = tslib_1.__importDefault(require(\"assert\"));\r\nconst stream_1 = require(\"stream\");\r\n// eslint-disable-next-line @typescript-eslint/no-var-requires\r\nconst pkg = require('../package.json');\r\nconst Easy_1 = require(\"./Easy\");\r\nconst Multi_1 = require(\"./Multi\");\r\nconst mergeChunks_1 = require(\"./mergeChunks\");\r\nconst parseHeaders_1 = require(\"./parseHeaders\");\r\nconst CurlCode_1 = require(\"./enum/CurlCode\");\r\nconst CurlFeature_1 = require(\"./enum/CurlFeature\");\r\nconst CurlPause_1 = require(\"./enum/CurlPause\");\r\nconst CurlWriteFunc_1 = require(\"./enum/CurlWriteFunc\");\r\nconst CurlReadFunc_1 = require(\"./enum/CurlReadFunc\");\r\n// eslint-disable-next-line @typescript-eslint/no-var-requires\r\nconst bindings = require('../lib/binding/node_libcurl.node');\r\nconst { Curl: _Curl, CurlVersionInfo } = bindings;\r\nif (!process.env.NODE_LIBCURL_DISABLE_GLOBAL_INIT_CALL ||\r\n process.env.NODE_LIBCURL_DISABLE_GLOBAL_INIT_CALL !== 'true') {\r\n // We could just pass nothing here, CurlGlobalInitEnum.All is the default anyway.\r\n const globalInitResult = _Curl.globalInit(3 /* All */);\r\n assert_1.default(globalInitResult === 0 || 'Libcurl global init failed.');\r\n}\r\nconst decoder = new string_decoder_1.StringDecoder('utf8');\r\n// Handle used by curl instances created by the Curl wrapper.\r\nconst multiHandle = new Multi_1.Multi();\r\nconst curlInstanceMap = new WeakMap();\r\nmultiHandle.onMessage((error, handle, errorCode) => {\r\n multiHandle.removeHandle(handle);\r\n const curlInstance = curlInstanceMap.get(handle);\r\n assert_1.default(curlInstance, 'Could not retrieve curl instance from easy handle on onMessage callback');\r\n if (error) {\r\n curlInstance.onError(error, errorCode);\r\n }\r\n else {\r\n curlInstance.onEnd();\r\n }\r\n});\r\n/**\r\n * Wrapper around {@link \"Easy\".Easy | `Easy`} class with a more *nodejs-friendly* interface.\r\n *\r\n * This uses an internal {@link \"Multi\".Multi | `Multi`} instance allowing for asynchronous\r\n * requests.\r\n *\r\n * @public\r\n */\r\nclass Curl extends events_1.EventEmitter {\r\n /**\r\n * @param cloneHandle {@link \"Easy\".Easy | `Easy`} handle that should be used instead of creating a new one.\r\n */\r\n constructor(cloneHandle) {\r\n super();\r\n /**\r\n * Whether this instance is running or not ({@link perform | `perform()`} was called).\r\n *\r\n * Make sure to not change their value, otherwise unexpected behavior would happen.\r\n *\r\n * This is marked as protected only with the TSDoc to not cause a breaking change.\r\n *\r\n * @protected\r\n */\r\n this.isRunning = false;\r\n /**\r\n * Stores current response payload.\r\n *\r\n * This will not store anything in case {@link CurlFeature.NoDataStorage | `NoDataStorage`} flag is enabled\r\n */\r\n this.chunks = [];\r\n /**\r\n * Current response length.\r\n *\r\n * Will always be zero in case {@link CurlFeature.NoDataStorage | `NoDataStorage`} flag is enabled\r\n */\r\n this.chunksLength = 0;\r\n /**\r\n * Stores current headers payload.\r\n *\r\n * This will not store anything in case {@link CurlFeature.NoDataStorage | `NoDataStorage`} flag is enabled\r\n */\r\n this.headerChunks = [];\r\n /**\r\n * Current headers length.\r\n *\r\n * Will always be zero in case {@link CurlFeature.NoDataStorage | `NoDataStorage`} flag is enabled\r\n */\r\n this.headerChunksLength = 0;\r\n /**\r\n * Currently enabled features.\r\n *\r\n * See {@link enable | `enable`} and {@link disable | `disable`}\r\n */\r\n this.features = 0;\r\n // these are for stream handling\r\n // the streams themselves\r\n this.writeFunctionStream = null;\r\n this.readFunctionStream = null;\r\n // READFUNCTION / upload related\r\n this.streamReadFunctionCallbacksToClean = [];\r\n // a state machine would be better here than all these flags 🤣\r\n this.streamReadFunctionShouldEnd = false;\r\n this.streamReadFunctionShouldPause = false;\r\n this.streamReadFunctionPaused = false;\r\n this.streamWriteFunctionShouldPause = false;\r\n this.streamWriteFunctionPaused = false;\r\n this.streamWriteFunctionFirstRun = true;\r\n // common\r\n this.streamPauseNext = false;\r\n this.streamContinueNext = false;\r\n this.streamError = false;\r\n this.streamUserSuppliedProgressFunction = null;\r\n const handle = cloneHandle || new Easy_1.Easy();\r\n this.handle = handle;\r\n // callbacks called by libcurl\r\n handle.setOpt(Curl.option.WRITEFUNCTION, this.defaultWriteFunction.bind(this));\r\n handle.setOpt(Curl.option.HEADERFUNCTION, this.defaultHeaderFunction.bind(this));\r\n handle.setOpt(Curl.option.USERAGENT, Curl.defaultUserAgent);\r\n curlInstanceMap.set(handle, this);\r\n }\r\n /**\r\n * Callback called when an error is thrown on this handle.\r\n *\r\n * This is called from the internal callback we use with the {@link \"Multi\".Multi.onMessage | `onMessage`}\r\n * method of the global {@link \"Multi\".Multi | `Multi`} handle used by all `Curl` instances.\r\n *\r\n * @protected\r\n */\r\n onError(error, errorCode) {\r\n this.resetInternalState();\r\n this.emit('error', error, errorCode, this);\r\n }\r\n /**\r\n * Callback called when this handle has finished the request.\r\n *\r\n * This is called from the internal callback we use with the {@link \"Multi\".Multi.onMessage | `onMessage`}\r\n * method of the global {@link \"Multi\".Multi | `Multi`} handle used by all `Curl` instances.\r\n *\r\n * This should not be called in any other way.\r\n *\r\n * @protected\r\n */\r\n onEnd() {\r\n const isStreamResponse = this.features & CurlFeature_1.CurlFeature.StreamResponse;\r\n const isDataStorageEnabled = !isStreamResponse && !(this.features & CurlFeature_1.CurlFeature.NoDataStorage);\r\n const isDataParsingEnabled = !isStreamResponse &&\r\n !(this.features & CurlFeature_1.CurlFeature.NoDataParsing) &&\r\n isDataStorageEnabled;\r\n const dataRaw = isDataStorageEnabled\r\n ? mergeChunks_1.mergeChunks(this.chunks, this.chunksLength)\r\n : Buffer.alloc(0);\r\n const data = isDataParsingEnabled ? decoder.write(dataRaw) : dataRaw;\r\n const headers = this.getHeaders();\r\n // if this had the stream response flag and the writeFunction stream is enabled\r\n // we need to signal the end of the stream by pushing null to it.\r\n if (isStreamResponse && this.writeFunctionStream) {\r\n this.writeFunctionStream.push(null);\r\n }\r\n this.resetInternalState();\r\n const { code, data: status } = this.handle.getInfo(Curl.info.RESPONSE_CODE);\r\n // if is ignored because this should never happen under normal circumstances.\r\n /* istanbul ignore if */\r\n if (code !== CurlCode_1.CurlCode.CURLE_OK) {\r\n const error = new Error('Could not get status code of request');\r\n this.emit('error', error, code, this);\r\n }\r\n else {\r\n this.emit('end', status, data, headers, this);\r\n }\r\n }\r\n /**\r\n * Enables a feature, must not be used while a request is running.\r\n *\r\n * Use {@link CurlFeature | `CurlFeature`} for predefined constants.\r\n */\r\n enable(bitmask) {\r\n if (this.isRunning) {\r\n throw new Error('You should not change the features while a request is running.');\r\n }\r\n this.features |= bitmask;\r\n return this;\r\n }\r\n /**\r\n * Disables a feature, must not be used while a request is running.\r\n *\r\n * Use {@link CurlFeature | `CurlFeature`} for predefined constants.\r\n */\r\n disable(bitmask) {\r\n if (this.isRunning) {\r\n throw new Error('You should not change the features while a request is running.');\r\n }\r\n this.features &= ~bitmask;\r\n return this;\r\n }\r\n /**\r\n * Sets an option the handle.\r\n *\r\n * This overloaded method has `never` as type for the arguments\r\n * because one of the other overloaded signatures must be used.\r\n *\r\n *\r\n * Official libcurl documentation: [`curl_easy_setopt()`](http://curl.haxx.se/libcurl/c/curl_easy_setopt.html)\r\n *\r\n * @param optionIdOrName Option name or integer value. Use {@link Curl.option | `Curl.option`} for predefined constants.\r\n * @param optionValue The value of the option, value type depends on the option being set.\r\n */\r\n setOpt(optionIdOrName, optionValue) {\r\n // special case for WRITEFUNCTION and HEADERFUNCTION callbacks\r\n // since if they are set back to null, we must restore the default callback.\r\n let value = optionValue;\r\n if ((optionIdOrName === Curl.option.WRITEFUNCTION ||\r\n optionIdOrName === 'WRITEFUNCTION') &&\r\n !optionValue) {\r\n value = this.defaultWriteFunction.bind(this);\r\n }\r\n else if ((optionIdOrName === Curl.option.HEADERFUNCTION ||\r\n optionIdOrName === 'HEADERFUNCTION') &&\r\n !optionValue) {\r\n value = this.defaultHeaderFunction.bind(this);\r\n }\r\n const code = this.handle.setOpt(optionIdOrName, value);\r\n if (code !== CurlCode_1.CurlCode.CURLE_OK) {\r\n throw new Error(code === CurlCode_1.CurlCode.CURLE_UNKNOWN_OPTION\r\n ? 'Unknown option given. First argument must be the option internal id or the option name. You can use the Curl.option constants.'\r\n : Easy_1.Easy.strError(code));\r\n }\r\n return this;\r\n }\r\n /**\r\n * Retrieves some information about the last request made by a handle.\r\n *\r\n * This overloaded method has `never` as type for the argument\r\n * because one of the other overloaded signatures must be used.\r\n *\r\n * Official libcurl documentation: [`curl_easy_getinfo()`](http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html)\r\n *\r\n * @param infoNameOrId Info name or integer value. Use {@link Curl.info | `Curl.info`} for predefined constants.\r\n */\r\n getInfo(infoNameOrId) {\r\n const { code, data } = this.handle.getInfo(infoNameOrId);\r\n if (code !== CurlCode_1.CurlCode.CURLE_OK) {\r\n throw new Error(`getInfo failed. Error: ${Easy_1.Easy.strError(code)}`);\r\n }\r\n return data;\r\n }\r\n /**\r\n * This will set an internal `READFUNCTION` callback that will read all the data from this stream.\r\n *\r\n * One usage for that is to upload data directly from streams. Example:\r\n *\r\n * ```typescript\r\n * const curl = new Curl()\r\n * curl.setOpt('URL', 'https://some-domain/upload')\r\n * curl.setOpt('UPLOAD', true)\r\n * // so we do not need to set the content length\r\n * curl.setOpt('HTTPHEADER', ['Transfer-Encoding: chunked'])\r\n *\r\n * const filePath = './test.zip'\r\n * const stream = fs.createReadStream(filePath)\r\n * curl.setUploadStream(stream)\r\n *\r\n * curl.setStreamProgressCallback(() => {\r\n * // this will use the default progress callback from libcurl\r\n * return CurlProgressFunc.Continue\r\n * })\r\n *\r\n * curl.on('end', (statusCode, data) => {\r\n * console.log('\\n'.repeat(5))\r\n * // data length should be 0, as it was sent using the response stream\r\n * console.log(\r\n * `curl - end - status: ${statusCode} - data length: ${data.length}`,\r\n * )\r\n * curl.close()\r\n * })\r\n * curl.on('error', (error, errorCode) => {\r\n * console.log('\\n'.repeat(5))\r\n * console.error('curl - error: ', error, errorCode)\r\n * curl.close()\r\n * })\r\n * curl.perform()\r\n * ```\r\n *\r\n * Multiple calls with the same stream that was previously set has no effect.\r\n *\r\n * Setting this to `null` will remove the `READFUNCTION` callback and disable this behavior.\r\n *\r\n * @remarks\r\n *\r\n * This option is reset after each request, so if you want to upload the same data again using the same\r\n * `Curl` instance, you will need to provide a new stream.\r\n *\r\n * Make sure your libcurl version is greater than or equal 7.69.1.\r\n * Versions older than that one are not reliable for streams usage.\r\n */\r\n setUploadStream(stream) {\r\n if (!stream) {\r\n if (this.readFunctionStream) {\r\n this.cleanupReadFunctionStreamEvents();\r\n this.readFunctionStream = null;\r\n this.setOpt('READFUNCTION', null);\r\n }\r\n return this;\r\n }\r\n if (this.readFunctionStream === stream)\r\n return this;\r\n if (typeof (stream === null || stream === void 0 ? void 0 : stream.on) !== 'function' ||\r\n typeof (stream === null || stream === void 0 ? void 0 : stream.read) !== 'function') {\r\n throw new Error('The passed value to setUploadStream does not looks like a stream object');\r\n }\r\n this.readFunctionStream = stream;\r\n const resumeIfPaused = () => {\r\n if (this.streamReadFunctionPaused) {\r\n this.streamReadFunctionPaused = false;\r\n // let's unpause only on the next event loop iteration\r\n // this will avoid scenarios where the readable event was emitted\r\n // between libcurl pausing the transfer from the READFUNCTION\r\n // and the next real iteration.\r\n setImmediate(() => {\r\n // just to make sure we do not try to unpause\r\n // a connection that has already finished\r\n // this can happen if some error has been throw\r\n // in the meantime\r\n if (this.isRunning) {\r\n this.pause(CurlPause_1.CurlPause.Cont);\r\n }\r\n });\r\n }\r\n };\r\n const attachEventListenerToStream = (event, cb) => {\r\n this.readFunctionStream.on(event, cb);\r\n this.streamReadFunctionCallbacksToClean.push([\r\n this.readFunctionStream,\r\n event,\r\n cb,\r\n ]);\r\n };\r\n // TODO: Handle adding the event multiple times?\r\n // can only happen if the user calls the method with the same stream more than one time\r\n // and due to the if at the top, this is only possible if they use another stream in-between.\r\n attachEventListenerToStream('readable', () => {\r\n resumeIfPaused();\r\n });\r\n // This needs the same logic than the destroy callback for the response stream\r\n // inside the default WRITEFUNCTION.\r\n // Which basically means we cannot throw an error inside the READFUNCTION itself\r\n // as this would cause the pause itself to throw an error\r\n // (pause calls the READFUNCTION before returning)\r\n // So we must create a fake \"pause\" just to trigger the progress function, and\r\n // then the error will be thrown.\r\n // This is why the following two callbacks are setting\r\n // this.streamReadFunctionShouldPause = true\r\n attachEventListenerToStream('close', () => {\r\n // If the stream was closed, but end was not called\r\n // it means the stream was forcefully destroyed, so\r\n // we must let libcurl fail!\r\n // streamError could already be set if destroy was called with an error\r\n // as it would call the error callback below, so we don't need to do anything.\r\n if (!this.streamReadFunctionShouldEnd && !this.streamError) {\r\n this.streamError = new Error('Curl upload stream was unexpectedly destroyed');\r\n this.streamReadFunctionShouldPause = true;\r\n resumeIfPaused();\r\n }\r\n });\r\n attachEventListenerToStream('error', (error) => {\r\n this.streamError = error;\r\n this.streamReadFunctionShouldPause = true;\r\n resumeIfPaused();\r\n });\r\n attachEventListenerToStream('end', () => {\r\n this.streamReadFunctionShouldEnd = true;\r\n resumeIfPaused();\r\n });\r\n this.setOpt('READFUNCTION', (buffer, size, nmemb) => {\r\n // Remember, we cannot throw this.streamError here.\r\n if (this.streamReadFunctionShouldPause) {\r\n this.streamReadFunctionShouldPause = false;\r\n this.streamReadFunctionPaused = true;\r\n return CurlReadFunc_1.CurlReadFunc.Pause;\r\n }\r\n const amountToRead = size * nmemb;\r\n const data = stream.read(amountToRead);\r\n if (!data) {\r\n if (this.streamReadFunctionShouldEnd) {\r\n return 0;\r\n }\r\n else {\r\n this.streamReadFunctionPaused = true;\r\n return CurlReadFunc_1.CurlReadFunc.Pause;\r\n }\r\n }\r\n const totalWritten = data.copy(buffer);\r\n // we could also return CurlReadFunc.Abort or CurlReadFunc.Pause here.\r\n return totalWritten;\r\n });\r\n return this;\r\n }\r\n /**\r\n * Set the param to `null` to use the Node.js default value.\r\n *\r\n * @param highWaterMark This will passed directly to the `Readable` stream created to be returned as the response'\r\n *\r\n * @remarks\r\n * Only useful when the {@link CurlFeature.StreamResponse | `StreamResponse`} feature flag is enabled.\r\n */\r\n setStreamResponseHighWaterMark(highWaterMark) {\r\n this.streamWriteFunctionHighWaterMark = highWaterMark || undefined;\r\n return this;\r\n }\r\n /**\r\n * This sets the callback to be used as the progress function when using any of the stream features.\r\n *\r\n * This is needed because when this `Curl` instance is enabled to use streams for upload/download, it needs\r\n * to set the libcurl progress function option to an internal function.\r\n *\r\n * If you are using any of the streams features, do not overwrite the progress callback to something else,\r\n * be it using {@link setOpt | `setOpt`} or {@link setProgressCallback | `setProgressCallback`}, as this would\r\n * cause undefined behavior.\r\n *\r\n * If are using this callback, there is no need to set the `NOPROGRESS` option to false (as you normally would).\r\n */\r\n setStreamProgressCallback(cb) {\r\n this.streamUserSuppliedProgressFunction = cb;\r\n return this;\r\n }\r\n /**\r\n * The option `XFERINFOFUNCTION` was introduced in curl version `7.32.0`,\r\n * versions older than that should use `PROGRESSFUNCTION`.\r\n * If you don't want to mess with version numbers you can use this method,\r\n * instead of directly calling {@link Curl.setOpt | `Curl#setOpt`}.\r\n *\r\n * `NOPROGRESS` should be set to false to make this function actually get called.\r\n */\r\n setProgressCallback(cb) {\r\n if (Curl.VERSION_NUM >= 0x072000) {\r\n this.handle.setOpt(Curl.option.XFERINFOFUNCTION, cb);\r\n }\r\n else {\r\n this.handle.setOpt(Curl.option.PROGRESSFUNCTION, cb);\r\n }\r\n return this;\r\n }\r\n /**\r\n * Add this instance to the processing queue.\r\n * This method should be called only one time per request,\r\n * otherwise it will throw an error.\r\n *\r\n * @remarks\r\n *\r\n * This basically calls the {@link \"Multi\".Multi.addHandle | `Multi#addHandle`} method.\r\n */\r\n perform() {\r\n if (this.isRunning) {\r\n throw new Error('Handle already running!');\r\n }\r\n this.isRunning = true;\r\n // set progress function to our internal one if using stream upload/download\r\n const isStreamEnabled = this.features & CurlFeature_1.CurlFeature.StreamResponse || this.readFunctionStream;\r\n if (isStreamEnabled) {\r\n this.setProgressCallback(this.streamModeProgressFunction.bind(this));\r\n this.setOpt('NOPROGRESS', false);\r\n }\r\n multiHandle.addHandle(this.handle);\r\n return this;\r\n }\r\n /**\r\n * Perform any connection upkeep checks.\r\n *\r\n *\r\n * Official libcurl documentation: [`curl_easy_upkeep()`](http://curl.haxx.se/libcurl/c/curl_easy_upkeep.html)\r\n */\r\n upkeep() {\r\n const code = this.handle.upkeep();\r\n if (code !== CurlCode_1.CurlCode.CURLE_OK) {\r\n throw new Error(Easy_1.Easy.strError(code));\r\n }\r\n return this;\r\n }\r\n /**\r\n * Use this function to pause / unpause a connection.\r\n *\r\n * The bitmask argument is a set of bits that sets the new state of the connection.\r\n *\r\n * Use {@link CurlPause | `CurlPause`} for predefined constants.\r\n *\r\n *\r\n * Official libcurl documentation: [`curl_easy_pause()`](http://curl.haxx.se/libcurl/c/curl_easy_pause.html)\r\n */\r\n pause(bitmask) {\r\n const code = this.handle.pause(bitmask);\r\n if (code !== CurlCode_1.CurlCode.CURLE_OK) {\r\n throw new Error(Easy_1.Easy.strError(code));\r\n }\r\n return this;\r\n }\r\n /**\r\n * Reset this handle options to their defaults.\r\n *\r\n * This will put the handle in a clean state, as if it was just created.\r\n *\r\n *\r\n * Official libcurl documentation: [`curl_easy_reset()`](http://curl.haxx.se/libcurl/c/curl_easy_reset.html)\r\n */\r\n reset() {\r\n this.removeAllListeners();\r\n this.handle.reset();\r\n // add callbacks back as reset will remove them\r\n this.handle.setOpt(Curl.option.WRITEFUNCTION, this.defaultWriteFunction.bind(this));\r\n this.handle.setOpt(Curl.option.HEADERFUNCTION, this.defaultHeaderFunction.bind(this));\r\n return this;\r\n }\r\n /**\r\n * Duplicate this handle with all their options.\r\n * Keep in mind that, by default, this also means all event listeners.\r\n *\r\n *\r\n * Official libcurl documentation: [`curl_easy_duphandle()`](http://curl.haxx.se/libcurl/c/curl_easy_duphandle.html)\r\n *\r\n * @param shouldCopyEventListeners If you don't want to copy the event listeners, set this to `false`.\r\n */\r\n dupHandle(shouldCopyEventListeners = true) {\r\n const duplicatedHandle = new Curl(this.handle.dupHandle());\r\n const eventsToCopy = ['end', 'error', 'data', 'header'];\r\n duplicatedHandle.features = this.features;\r\n if (shouldCopyEventListeners) {\r\n for (let i = 0; i < eventsToCopy.length; i += 1) {\r\n const listeners = this.listeners(eventsToCopy[i]);\r\n for (let j = 0; j < listeners.length; j += 1) {\r\n duplicatedHandle.on(eventsToCopy[i], listeners[j]);\r\n }\r\n }\r\n }\r\n return duplicatedHandle;\r\n }\r\n /**\r\n * Close this handle.\r\n *\r\n * **NOTE:** After closing the handle, it must not be used anymore. Doing so will throw an error.\r\n *\r\n *\r\n * Official libcurl documentation: [`curl_easy_cleanup()`](http://curl.haxx.se/libcurl/c/curl_easy_cleanup.html)\r\n */\r\n close() {\r\n curlInstanceMap.delete(this.handle);\r\n this.removeAllListeners();\r\n if (this.handle.isInsideMultiHandle) {\r\n multiHandle.removeHandle(this.handle);\r\n }\r\n this.handle.setOpt(Curl.option.WRITEFUNCTION, null);\r\n this.handle.setOpt(Curl.option.HEADERFUNCTION, null);\r\n this.handle.close();\r\n }\r\n /**\r\n * This is used to reset a few properties to their pre-request state.\r\n */\r\n resetInternalState() {\r\n this.isRunning = false;\r\n this.chunks = [];\r\n this.chunksLength = 0;\r\n this.headerChunks = [];\r\n this.headerChunksLength = 0;\r\n const wasStreamEnabled = this.writeFunctionStream || this.readFunctionStream;\r\n if (wasStreamEnabled) {\r\n this.setProgressCallback(null);\r\n }\r\n // reset back the READFUNCTION if there was a stream we were reading from\r\n if (this.readFunctionStream) {\r\n this.setOpt('READFUNCTION', null);\r\n }\r\n // these are mostly streams related, as these options are not persisted between requests\r\n // the streams themselves\r\n this.writeFunctionStream = null;\r\n this.readFunctionStream = null;\r\n // READFUNCTION / upload related\r\n this.streamReadFunctionShouldEnd = false;\r\n this.streamReadFunctionShouldPause = false;\r\n this.streamReadFunctionPaused = false;\r\n // WRITEFUNCTION / download related\r\n this.streamWriteFunctionShouldPause = false;\r\n this.streamWriteFunctionPaused = false;\r\n this.streamWriteFunctionFirstRun = true;\r\n // common\r\n this.streamPauseNext = false;\r\n this.streamContinueNext = false;\r\n this.streamError = false;\r\n this.streamUserSuppliedProgressFunction = null;\r\n this.cleanupReadFunctionStreamEvents();\r\n }\r\n /**\r\n * When uploading a stream (by calling {@link setUploadStream | `setUploadStream`})\r\n * some event listeners are attached to the stream instance.\r\n * This will remove them so our callbacks are not called anymore.\r\n */\r\n cleanupReadFunctionStreamEvents() {\r\n this.streamReadFunctionCallbacksToClean.forEach(([stream, event, cb]) => {\r\n stream.off(event, cb);\r\n });\r\n this.streamReadFunctionCallbacksToClean = [];\r\n }\r\n /**\r\n * Returns headers from the current stored chunks - if any\r\n */\r\n getHeaders() {\r\n const isHeaderStorageEnabled = !(this.features & CurlFeature_1.CurlFeature.NoHeaderStorage);\r\n const isHeaderParsingEnabled = !(this.features & CurlFeature_1.CurlFeature.NoHeaderParsing) && isHeaderStorageEnabled;\r\n const headersRaw = isHeaderStorageEnabled\r\n ? mergeChunks_1.mergeChunks(this.headerChunks, this.headerChunksLength)\r\n : Buffer.alloc(0);\r\n return isHeaderParsingEnabled\r\n ? parseHeaders_1.parseHeaders(decoder.write(headersRaw))\r\n : headersRaw;\r\n }\r\n /**\r\n * The internal function passed to `PROGRESSFUNCTION` (`XFERINFOFUNCTION` on most recent libcurl versions)\r\n * when using any of the stream features.\r\n */\r\n streamModeProgressFunction(dltotal, dlnow, ultotal, ulnow) {\r\n if (this.streamError)\r\n throw this.streamError;\r\n const ret = this.streamUserSuppliedProgressFunction\r\n ? this.streamUserSuppliedProgressFunction.call(this.handle, dltotal, dlnow, ultotal, ulnow)\r\n : 0;\r\n return ret;\r\n }\r\n /**\r\n * This is the default callback passed to {@link setOpt | `setOpt('WRITEFUNCTION', cb)`}.\r\n */\r\n defaultWriteFunction(chunk, size, nmemb) {\r\n // this is a stream based request, so we need a totally different handling\r\n if (this.features & CurlFeature_1.CurlFeature.StreamResponse) {\r\n return this.defaultWriteFunctionStreamBased(chunk, size, nmemb);\r\n }\r\n if (!(this.features & CurlFeature_1.CurlFeature.NoDataStorage)) {\r\n this.chunks.push(chunk);\r\n this.chunksLength += chunk.length;\r\n }\r\n this.emit('data', chunk, this);\r\n return size * nmemb;\r\n }\r\n /**\r\n * This is used by the default callback passed to {@link setOpt | `setOpt('WRITEFUNCTION', cb)`}\r\n * when the feature to stream response is enabled.\r\n */\r\n defaultWriteFunctionStreamBased(chunk, size, nmemb) {\r\n if (!this.writeFunctionStream) {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n const handle = this;\r\n // create the response stream we are going to use\r\n this.writeFunctionStream = new stream_1.Readable({\r\n highWaterMark: this.streamWriteFunctionHighWaterMark,\r\n destroy(error, cb) {\r\n handle.streamError =\r\n error ||\r\n new Error('Curl response stream was unexpectedly destroyed');\r\n // let the event loop run one more time before we do anything\r\n // if the handle is not running anymore it means that the\r\n // error we set above was caught, if it is still running, then it means that:\r\n // - the handle is paused\r\n // - the progress function was not called yet\r\n // If this is the case, then we just unpause the handle. This will cause the following:\r\n // - the WRITEFUNCTION callback will be called\r\n // - this will pause the handle again (because we cannot throw the error in here)\r\n // - the PROGRESSFUNCTION callback will be called, and then the error will be thrown.\r\n setImmediate(() => {\r\n if (handle.isRunning && handle.streamWriteFunctionPaused) {\r\n handle.streamWriteFunctionPaused = false;\r\n handle.streamWriteFunctionShouldPause = true;\r\n try {\r\n handle.pause(CurlPause_1.CurlPause.RecvCont);\r\n }\r\n catch (error) {\r\n cb(error);\r\n return;\r\n }\r\n }\r\n cb(null);\r\n });\r\n },\r\n read(_size) {\r\n if (handle.streamWriteFunctionFirstRun ||\r\n handle.streamWriteFunctionPaused) {\r\n if (handle.streamWriteFunctionFirstRun) {\r\n handle.streamWriteFunctionFirstRun = false;\r\n }\r\n // we must allow Node.js to process the whole event queue\r\n // before we unpause\r\n setImmediate(() => {\r\n if (handle.isRunning) {\r\n handle.streamWriteFunctionPaused = false;\r\n handle.pause(CurlPause_1.CurlPause.RecvCont);\r\n }\r\n });\r\n }\r\n },\r\n });\r\n // as soon as we have the stream, we need to emit the \"stream\" event\r\n // but the \"stream\" event needs the statusCode and the headers, so this\r\n // is what we are retrieving here.\r\n const headers = this.getHeaders();\r\n const { code, data: status } = this.handle.getInfo(Curl.info.RESPONSE_CODE);\r\n if (code !== CurlCode_1.CurlCode.CURLE_OK) {\r\n const error = new Error('Could not get status code of request');\r\n this.emit('error', error, code, this);\r\n return 0;\r\n }\r\n // let's emit the event only in the next iteration of the event loop\r\n // We need to do this otherwise the event listener callbacks would run\r\n // before the pause below, and this is probably not what we want.\r\n setImmediate(() => this.emit('stream', this.writeFunctionStream, status, headers, this));\r\n this.streamWriteFunctionPaused = true;\r\n return CurlWriteFunc_1.CurlWriteFunc.Pause;\r\n }\r\n // pause this req\r\n if (this.streamWriteFunctionShouldPause) {\r\n this.streamWriteFunctionShouldPause = false;\r\n this.streamWriteFunctionPaused = true;\r\n return CurlWriteFunc_1.CurlWriteFunc.Pause;\r\n }\r\n // write to the stream\r\n const ok = this.writeFunctionStream.push(chunk);\r\n // pause connection until there is more data\r\n if (!ok) {\r\n this.streamWriteFunctionPaused = true;\r\n this.pause(CurlPause_1.CurlPause.Recv);\r\n }\r\n return size * nmemb;\r\n }\r\n /**\r\n * This is the default callback passed to {@link setOpt | `setOpt('HEADERFUNCTION', cb)`}.\r\n */\r\n defaultHeaderFunction(chunk, size, nmemb) {\r\n if (!(this.features & CurlFeature_1.CurlFeature.NoHeaderStorage)) {\r\n this.headerChunks.push(chunk);\r\n this.headerChunksLength += chunk.length;\r\n }\r\n this.emit('header', chunk, this);\r\n return size * nmemb;\r\n }\r\n}\r\nexports.Curl = Curl;\r\n/**\r\n * Calls [`curl_global_init()`](http://curl.haxx.se/libcurl/c/curl_global_init.html).\r\n *\r\n * For **flags** see the the enum {@link CurlGlobalInit | `CurlGlobalInit`}.\r\n *\r\n * This is automatically called when the addon is loaded, to disable this, set the environment variable\r\n * `NODE_LIBCURL_DISABLE_GLOBAL_INIT_CALL=false`\r\n */\r\nCurl.globalInit = _Curl.globalInit;\r\n/**\r\n * Calls [`curl_global_cleanup()`](http://curl.haxx.se/libcurl/c/curl_global_cleanup.html)\r\n *\r\n * This is automatically called when the process is exiting.\r\n */\r\nCurl.globalCleanup = _Curl.globalCleanup;\r\n/**\r\n * Returns libcurl version string.\r\n *\r\n * The string shows which libraries libcurl was built with and their versions, example:\r\n * ```\r\n * libcurl/7.69.1-DEV OpenSSL/1.1.1d zlib/1.2.11 WinIDN libssh2/1.9.0_DEV nghttp2/1.40.0\r\n * ```\r\n */\r\nCurl.getVersion = _Curl.getVersion;\r\n/**\r\n * This is the default user agent that is going to be used on all `Curl` instances.\r\n *\r\n * You can overwrite this in a per instance basis, calling `curlHandle.setOpt('USERAGENT', 'my-user-agent/1.0')`, or\r\n * by directly changing this property so it affects all newly created `Curl` instances.\r\n *\r\n * To disable this behavior set this property to `null`.\r\n */\r\nCurl.defaultUserAgent = `node-libcurl/${pkg.version}`;\r\n/**\r\n * Integer representing the current libcurl version.\r\n *\r\n * It was built the following way:\r\n * ```\r\n * <8 bits major number> | <8 bits minor number> | <8 bits patch number>.\r\n * ```\r\n * Version `7.69.1` is therefore returned as `0x074501` / `476417`\r\n */\r\nCurl.VERSION_NUM = _Curl.VERSION_NUM;\r\n/**\r\n * This is a object with members resembling the `CURLINFO_*` libcurl constants.\r\n *\r\n * It can be used with {@link \"Easy\".Easy.getInfo | `Easy#getInfo`} or {@link getInfo | `Curl#getInfo`}.\r\n *\r\n * See the official documentation of [`curl_easy_getinfo()`](http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html)\r\n * for reference.\r\n *\r\n * `CURLINFO_EFFECTIVE_URL` becomes `Curl.info.EFFECTIVE_URL`\r\n */\r\nCurl.info = _Curl.info;\r\n/**\r\n * This is a object with members resembling the `CURLOPT_*` libcurl constants.\r\n *\r\n * It can be used with {@link \"Easy\".Easy.setOpt | `Easy#setOpt`} or {@link setOpt | `Curl#setOpt`}.\r\n *\r\n * See the official documentation of [`curl_easy_setopt()`](http://curl.haxx.se/libcurl/c/curl_easy_setopt.html)\r\n * for reference.\r\n *\r\n * `CURLOPT_URL` becomes `Curl.option.URL`\r\n */\r\nCurl.option = _Curl.option;\r\n/**\r\n * Returns the number of handles currently open in the internal {@link \"Multi\".Multi | `Multi`} handle being used.\r\n */\r\nCurl.getCount = multiHandle.getCount;\r\n/**\r\n * Returns an object with a representation of the current libcurl version and their features/protocols.\r\n *\r\n * This is basically [`curl_version_info()`](https://curl.haxx.se/libcurl/c/curl_version_info.html)\r\n */\r\nCurl.getVersionInfo = () => CurlVersionInfo;\r\n/**\r\n * Returns a string that looks like the one returned by\r\n * ```bash\r\n * curl -V\r\n * ```\r\n * Example:\r\n * ```\r\n * Version: libcurl/7.69.1-DEV OpenSSL/1.1.1d zlib/1.2.11 WinIDN libssh2/1.9.0_DEV nghttp2/1.40.0\r\n * Protocols: dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp\r\n * Features: AsynchDNS, IDN, IPv6, Largefile, SSPI, Kerberos, SPNEGO, NTLM, SSL, libz, HTTP2, HTTPS-proxy\r\n * ```\r\n */\r\nCurl.getVersionInfoString = () => {\r\n const version = Curl.getVersion();\r\n const protocols = CurlVersionInfo.protocols.join(', ');\r\n const features = CurlVersionInfo.features.join(', ');\r\n return [\r\n `Version: ${version}`,\r\n `Protocols: ${protocols}`,\r\n `Features: ${features}`,\r\n ].join('\\n');\r\n};\r\n/**\r\n * Useful if you want to check if the current libcurl version is greater or equal than another one.\r\n * @param x major\r\n * @param y minor\r\n * @param z patch\r\n */\r\nCurl.isVersionGreaterOrEqualThan = (x, y, z = 0) => {\r\n return _Curl.VERSION_NUM >= (x << 16) + (y << 8) + z;\r\n};\r\n//# sourceMappingURL=Curl.js.map","module.exports = require(\"stream\");","'use strict';\n\n\nvar yaml = require('./lib/js-yaml.js');\n\n\nmodule.exports = yaml;\n","'use strict';\n\nconst path = require('path');\nconst which = require('which');\nconst pathKey = require('path-key')();\n\nfunction resolveCommandAttempt(parsed, withoutPathExt) {\n const cwd = process.cwd();\n const hasCustomCwd = parsed.options.cwd != null;\n\n // If a custom `cwd` was specified, we need to change the process cwd\n // because `which` will do stat calls but does not support a custom cwd\n if (hasCustomCwd) {\n try {\n process.chdir(parsed.options.cwd);\n } catch (err) {\n /* Empty */\n }\n }\n\n let resolved;\n\n try {\n resolved = which.sync(parsed.command, {\n path: (parsed.options.env || process.env)[pathKey],\n pathExt: withoutPathExt ? path.delimiter : undefined,\n });\n } catch (e) {\n /* Empty */\n } finally {\n process.chdir(cwd);\n }\n\n // If we successfully resolved, ensure that an absolute path is returned\n // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it\n if (resolved) {\n resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);\n }\n\n return resolved;\n}\n\nfunction resolveCommand(parsed) {\n return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);\n}\n\nmodule.exports = resolveCommand;\n","'use strict';\n\nvar common = require('../common');\nvar Type = require('../type');\n\nvar YAML_FLOAT_PATTERN = new RegExp(\n // 2.5e4, 2.5 and integers\n '^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' +\n // .2e4, .2\n // special case, seems not from spec\n '|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' +\n // 20:59\n '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*' +\n // .inf\n '|[-+]?\\\\.(?:inf|Inf|INF)' +\n // .nan\n '|\\\\.(?:nan|NaN|NAN))$');\n\nfunction resolveYamlFloat(data) {\n if (data === null) return false;\n\n if (!YAML_FLOAT_PATTERN.test(data) ||\n // Quick hack to not allow integers end with `_`\n // Probably should update regexp & check speed\n data[data.length - 1] === '_') {\n return false;\n }\n\n return true;\n}\n\nfunction constructYamlFloat(data) {\n var value, sign, base, digits;\n\n value = data.replace(/_/g, '').toLowerCase();\n sign = value[0] === '-' ? -1 : 1;\n digits = [];\n\n if ('+-'.indexOf(value[0]) >= 0) {\n value = value.slice(1);\n }\n\n if (value === '.inf') {\n return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;\n\n } else if (value === '.nan') {\n return NaN;\n\n } else if (value.indexOf(':') >= 0) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseFloat(v, 10));\n });\n\n value = 0.0;\n base = 1;\n\n digits.forEach(function (d) {\n value += d * base;\n base *= 60;\n });\n\n return sign * value;\n\n }\n return sign * parseFloat(value, 10);\n}\n\n\nvar SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;\n\nfunction representYamlFloat(object, style) {\n var res;\n\n if (isNaN(object)) {\n switch (style) {\n case 'lowercase': return '.nan';\n case 'uppercase': return '.NAN';\n case 'camelcase': return '.NaN';\n }\n } else if (Number.POSITIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '.inf';\n case 'uppercase': return '.INF';\n case 'camelcase': return '.Inf';\n }\n } else if (Number.NEGATIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '-.inf';\n case 'uppercase': return '-.INF';\n case 'camelcase': return '-.Inf';\n }\n } else if (common.isNegativeZero(object)) {\n return '-0.0';\n }\n\n res = object.toString(10);\n\n // JS stringifier can build scientific format without dots: 5e-100,\n // while YAML requres dot: 5.e-100. Fix it with simple hack\n\n return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res;\n}\n\nfunction isFloat(object) {\n return (Object.prototype.toString.call(object) === '[object Number]') &&\n (object % 1 !== 0 || common.isNegativeZero(object));\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:float', {\n kind: 'scalar',\n resolve: resolveYamlFloat,\n construct: constructYamlFloat,\n predicate: isFloat,\n represent: representYamlFloat,\n defaultStyle: 'lowercase'\n});\n","'use strict';\n// Older verions of Node.js might not have `util.getSystemErrorName()`.\n// In that case, fall back to a deprecated internal.\nconst util = require('util');\n\nlet uv;\n\nif (typeof util.getSystemErrorName === 'function') {\n\tmodule.exports = util.getSystemErrorName;\n} else {\n\ttry {\n\t\tuv = process.binding('uv');\n\n\t\tif (typeof uv.errname !== 'function') {\n\t\t\tthrow new TypeError('uv.errname is not a function');\n\t\t}\n\t} catch (err) {\n\t\tconsole.error('execa/lib/errname: unable to establish process.binding(\\'uv\\')', err);\n\t\tuv = null;\n\t}\n\n\tmodule.exports = code => errname(uv, code);\n}\n\n// Used for testing the fallback behavior\nmodule.exports.__test__ = errname;\n\nfunction errname(uv, code) {\n\tif (uv) {\n\t\treturn uv.errname(code);\n\t}\n\n\tif (!(code < 0)) {\n\t\tthrow new Error('err >= 0');\n\t}\n\n\treturn `Unknown system error ${code}`;\n}\n\n","'use strict';\n\nmodule.exports = [\n\t// German umlauts\n\t['ß', 'ss'],\n\t['ä', 'ae'],\n\t['Ä', 'Ae'],\n\t['ö', 'oe'],\n\t['Ö', 'Oe'],\n\t['ü', 'ue'],\n\t['Ü', 'Ue'],\n\n\t// Latin\n\t['À', 'A'],\n\t['Á', 'A'],\n\t['Â', 'A'],\n\t['Ã', 'A'],\n\t['Ä', 'Ae'],\n\t['Å', 'A'],\n\t['Æ', 'AE'],\n\t['Ç', 'C'],\n\t['È', 'E'],\n\t['É', 'E'],\n\t['Ê', 'E'],\n\t['Ë', 'E'],\n\t['Ì', 'I'],\n\t['Í', 'I'],\n\t['Î', 'I'],\n\t['Ï', 'I'],\n\t['Ð', 'D'],\n\t['Ñ', 'N'],\n\t['Ò', 'O'],\n\t['Ó', 'O'],\n\t['Ô', 'O'],\n\t['Õ', 'O'],\n\t['Ö', 'Oe'],\n\t['Ő', 'O'],\n\t['Ø', 'O'],\n\t['Ù', 'U'],\n\t['Ú', 'U'],\n\t['Û', 'U'],\n\t['Ü', 'Ue'],\n\t['Ű', 'U'],\n\t['Ý', 'Y'],\n\t['Þ', 'TH'],\n\t['ß', 'ss'],\n\t['à', 'a'],\n\t['á', 'a'],\n\t['â', 'a'],\n\t['ã', 'a'],\n\t['ä', 'ae'],\n\t['å', 'a'],\n\t['æ', 'ae'],\n\t['ç', 'c'],\n\t['è', 'e'],\n\t['é', 'e'],\n\t['ê', 'e'],\n\t['ë', 'e'],\n\t['ì', 'i'],\n\t['í', 'i'],\n\t['î', 'i'],\n\t['ï', 'i'],\n\t['ð', 'd'],\n\t['ñ', 'n'],\n\t['ò', 'o'],\n\t['ó', 'o'],\n\t['ô', 'o'],\n\t['õ', 'o'],\n\t['ö', 'oe'],\n\t['ő', 'o'],\n\t['ø', 'o'],\n\t['ù', 'u'],\n\t['ú', 'u'],\n\t['û', 'u'],\n\t['ü', 'ue'],\n\t['ű', 'u'],\n\t['ý', 'y'],\n\t['þ', 'th'],\n\t['ÿ', 'y'],\n\t['ẞ', 'SS'],\n\n\t// Vietnamese\n\t['à', 'a'],\n\t['À', 'A'],\n\t['á', 'a'],\n\t['Á', 'A'],\n\t['â', 'a'],\n\t['Â', 'A'],\n\t['ã', 'a'],\n\t['Ã', 'A'],\n\t['è', 'e'],\n\t['È', 'E'],\n\t['é', 'e'],\n\t['É', 'E'],\n\t['ê', 'e'],\n\t['Ê', 'E'],\n\t['ì', 'i'],\n\t['Ì', 'I'],\n\t['í', 'i'],\n\t['Í', 'I'],\n\t['ò', 'o'],\n\t['Ò', 'O'],\n\t['ó', 'o'],\n\t['Ó', 'O'],\n\t['ô', 'o'],\n\t['Ô', 'O'],\n\t['õ', 'o'],\n\t['Õ', 'O'],\n\t['ù', 'u'],\n\t['Ù', 'U'],\n\t['ú', 'u'],\n\t['Ú', 'U'],\n\t['ý', 'y'],\n\t['Ý', 'Y'],\n\t['ă', 'a'],\n\t['Ă', 'A'],\n\t['Đ', 'D'],\n\t['đ', 'd'],\n\t['ĩ', 'i'],\n\t['Ĩ', 'I'],\n\t['ũ', 'u'],\n\t['Ũ', 'U'],\n\t['ơ', 'o'],\n\t['Ơ', 'O'],\n\t['ư', 'u'],\n\t['Ư', 'U'],\n\t['ạ', 'a'],\n\t['Ạ', 'A'],\n\t['ả', 'a'],\n\t['Ả', 'A'],\n\t['ấ', 'a'],\n\t['Ấ', 'A'],\n\t['ầ', 'a'],\n\t['Ầ', 'A'],\n\t['ẩ', 'a'],\n\t['Ẩ', 'A'],\n\t['ẫ', 'a'],\n\t['Ẫ', 'A'],\n\t['ậ', 'a'],\n\t['Ậ', 'A'],\n\t['ắ', 'a'],\n\t['Ắ', 'A'],\n\t['ằ', 'a'],\n\t['Ằ', 'A'],\n\t['ẳ', 'a'],\n\t['Ẳ', 'A'],\n\t['ẵ', 'a'],\n\t['Ẵ', 'A'],\n\t['ặ', 'a'],\n\t['Ặ', 'A'],\n\t['ẹ', 'e'],\n\t['Ẹ', 'E'],\n\t['ẻ', 'e'],\n\t['Ẻ', 'E'],\n\t['ẽ', 'e'],\n\t['Ẽ', 'E'],\n\t['ế', 'e'],\n\t['Ế', 'E'],\n\t['ề', 'e'],\n\t['Ề', 'E'],\n\t['ể', 'e'],\n\t['Ể', 'E'],\n\t['ễ', 'e'],\n\t['Ễ', 'E'],\n\t['ệ', 'e'],\n\t['Ệ', 'E'],\n\t['ỉ', 'i'],\n\t['Ỉ', 'I'],\n\t['ị', 'i'],\n\t['Ị', 'I'],\n\t['ọ', 'o'],\n\t['Ọ', 'O'],\n\t['ỏ', 'o'],\n\t['Ỏ', 'O'],\n\t['ố', 'o'],\n\t['Ố', 'O'],\n\t['ồ', 'o'],\n\t['Ồ', 'O'],\n\t['ổ', 'o'],\n\t['Ổ', 'O'],\n\t['ỗ', 'o'],\n\t['Ỗ', 'O'],\n\t['ộ', 'o'],\n\t['Ộ', 'O'],\n\t['ớ', 'o'],\n\t['Ớ', 'O'],\n\t['ờ', 'o'],\n\t['Ờ', 'O'],\n\t['ở', 'o'],\n\t['Ở', 'O'],\n\t['ỡ', 'o'],\n\t['Ỡ', 'O'],\n\t['ợ', 'o'],\n\t['Ợ', 'O'],\n\t['ụ', 'u'],\n\t['Ụ', 'U'],\n\t['ủ', 'u'],\n\t['Ủ', 'U'],\n\t['ứ', 'u'],\n\t['Ứ', 'U'],\n\t['ừ', 'u'],\n\t['Ừ', 'U'],\n\t['ử', 'u'],\n\t['Ử', 'U'],\n\t['ữ', 'u'],\n\t['Ữ', 'U'],\n\t['ự', 'u'],\n\t['Ự', 'U'],\n\t['ỳ', 'y'],\n\t['Ỳ', 'Y'],\n\t['ỵ', 'y'],\n\t['Ỵ', 'Y'],\n\t['ỷ', 'y'],\n\t['Ỷ', 'Y'],\n\t['ỹ', 'y'],\n\t['Ỹ', 'Y'],\n\n\t// Arabic\n\t['ء', 'e'],\n\t['آ', 'a'],\n\t['أ', 'a'],\n\t['ؤ', 'w'],\n\t['إ', 'i'],\n\t['ئ', 'y'],\n\t['ا', 'a'],\n\t['ب', 'b'],\n\t['ة', 't'],\n\t['ت', 't'],\n\t['ث', 'th'],\n\t['ج', 'j'],\n\t['ح', 'h'],\n\t['خ', 'kh'],\n\t['د', 'd'],\n\t['ذ', 'dh'],\n\t['ر', 'r'],\n\t['ز', 'z'],\n\t['س', 's'],\n\t['ش', 'sh'],\n\t['ص', 's'],\n\t['ض', 'd'],\n\t['ط', 't'],\n\t['ظ', 'z'],\n\t['ع', 'e'],\n\t['غ', 'gh'],\n\t['ـ', '_'],\n\t['ف', 'f'],\n\t['ق', 'q'],\n\t['ك', 'k'],\n\t['ل', 'l'],\n\t['م', 'm'],\n\t['ن', 'n'],\n\t['ه', 'h'],\n\t['و', 'w'],\n\t['ى', 'a'],\n\t['ي', 'y'],\n\t['َ‎', 'a'],\n\t['ُ', 'u'],\n\t['ِ‎', 'i'],\n\t['٠', '0'],\n\t['١', '1'],\n\t['٢', '2'],\n\t['٣', '3'],\n\t['٤', '4'],\n\t['٥', '5'],\n\t['٦', '6'],\n\t['٧', '7'],\n\t['٨', '8'],\n\t['٩', '9'],\n\n\t// Persian / Farsi\n\t['چ', 'ch'],\n\t['ک', 'k'],\n\t['گ', 'g'],\n\t['پ', 'p'],\n\t['ژ', 'zh'],\n\t['ی', 'y'],\n\t['۰', '0'],\n\t['۱', '1'],\n\t['۲', '2'],\n\t['۳', '3'],\n\t['۴', '4'],\n\t['۵', '5'],\n\t['۶', '6'],\n\t['۷', '7'],\n\t['۸', '8'],\n\t['۹', '9'],\n\n\t// Pashto\n\t['ټ', 'p'],\n\t['ځ', 'z'],\n\t['څ', 'c'],\n\t['ډ', 'd'],\n\t['ﺫ', 'd'],\n\t['ﺭ', 'r'],\n\t['ړ', 'r'],\n\t['ﺯ', 'z'],\n\t['ږ', 'g'],\n\t['ښ', 'x'],\n\t['ګ', 'g'],\n\t['ڼ', 'n'],\n\t['ۀ', 'e'],\n\t['ې', 'e'],\n\t['ۍ', 'ai'],\n\n\t// Urdu\n\t['ٹ', 't'],\n\t['ڈ', 'd'],\n\t['ڑ', 'r'],\n\t['ں', 'n'],\n\t['ہ', 'h'],\n\t['ھ', 'h'],\n\t['ے', 'e'],\n\n\t// Russian\n\t['А', 'A'],\n\t['а', 'a'],\n\t['Б', 'B'],\n\t['б', 'b'],\n\t['В', 'V'],\n\t['в', 'v'],\n\t['Г', 'G'],\n\t['г', 'g'],\n\t['Д', 'D'],\n\t['д', 'd'],\n\t['Е', 'E'],\n\t['е', 'e'],\n\t['Ж', 'Zh'],\n\t['ж', 'zh'],\n\t['З', 'Z'],\n\t['з', 'z'],\n\t['И', 'I'],\n\t['и', 'i'],\n\t['Й', 'J'],\n\t['й', 'j'],\n\t['К', 'K'],\n\t['к', 'k'],\n\t['Л', 'L'],\n\t['л', 'l'],\n\t['М', 'M'],\n\t['м', 'm'],\n\t['Н', 'N'],\n\t['н', 'n'],\n\t['О', 'O'],\n\t['о', 'o'],\n\t['П', 'P'],\n\t['п', 'p'],\n\t['Р', 'R'],\n\t['р', 'r'],\n\t['С', 'S'],\n\t['с', 's'],\n\t['Т', 'T'],\n\t['т', 't'],\n\t['У', 'U'],\n\t['у', 'u'],\n\t['Ф', 'F'],\n\t['ф', 'f'],\n\t['Х', 'H'],\n\t['х', 'h'],\n\t['Ц', 'Cz'],\n\t['ц', 'cz'],\n\t['Ч', 'Ch'],\n\t['ч', 'ch'],\n\t['Ш', 'Sh'],\n\t['ш', 'sh'],\n\t['Щ', 'Shh'],\n\t['щ', 'shh'],\n\t['Ъ', ''],\n\t['ъ', ''],\n\t['Ы', 'Y'],\n\t['ы', 'y'],\n\t['Ь', ''],\n\t['ь', ''],\n\t['Э', 'E'],\n\t['э', 'e'],\n\t['Ю', 'Yu'],\n\t['ю', 'yu'],\n\t['Я', 'Ya'],\n\t['я', 'ya'],\n\t['Ё', 'Yo'],\n\t['ё', 'yo'],\n\n\t// Romanian\n\t['ă', 'a'],\n\t['Ă', 'A'],\n\t['ș', 's'],\n\t['Ș', 'S'],\n\t['ț', 't'],\n\t['Ț', 'T'],\n\t['ţ', 't'],\n\t['Ţ', 'T'],\n\n\t// Turkish\n\t['ş', 's'],\n\t['Ş', 'S'],\n\t['ç', 'c'],\n\t['Ç', 'C'],\n\t['ğ', 'g'],\n\t['Ğ', 'G'],\n\t['ı', 'i'],\n\t['İ', 'I'],\n\n\t// Armenian\n\t['ա', 'a'],\n\t['բ', 'b'],\n\t['գ', 'g'],\n\t['դ', 'd'],\n\t['ե', 'ye'],\n\t['զ', 'z'],\n\t['է', 'e'],\n\t['ը', 'u'],\n\t['թ', 't'],\n\t['ժ', 'zh'],\n\t['ի', 'i'],\n\t['լ', 'l'],\n\t['խ', 'kh'],\n\t['ծ', 'ts'],\n\t['կ', 'k'],\n\t['հ', 'h'],\n\t['ձ', 'dz'],\n\t['ղ', 'r'],\n\t['ճ', 'j'],\n\t['մ', 'm'],\n\t['յ', 'j'],\n\t['ն', 'n'],\n\t['շ', 'sh'],\n\t['ո', 'vo'],\n\t['չ', 'ch'],\n\t['պ', 'p'],\n\t['ջ', 'j'],\n\t['ռ', 'r'],\n\t['ս', 's'],\n\t['վ', 'v'],\n\t['տ', 't'],\n\t['ր', 're'],\n\t['ց', 'ts'],\n\t['ու', 'u'],\n\t['ւ', 'v'],\n\t['փ', 'p'],\n\t['ք', 'q'],\n\t['օ', 'o'],\n\t['ֆ', 'f'],\n\t['և', 'yev'],\n\n\t// Georgian\n\t['ა', 'a'],\n\t['ბ', 'b'],\n\t['გ', 'g'],\n\t['დ', 'd'],\n\t['ე', 'e'],\n\t['ვ', 'v'],\n\t['ზ', 'z'],\n\t['თ', 't'],\n\t['ი', 'i'],\n\t['კ', 'k'],\n\t['ლ', 'l'],\n\t['მ', 'm'],\n\t['ნ', 'n'],\n\t['ო', 'o'],\n\t['პ', 'p'],\n\t['ჟ', 'zh'],\n\t['რ', 'r'],\n\t['ს', 's'],\n\t['ტ', 't'],\n\t['უ', 'u'],\n\t['ფ', 'ph'],\n\t['ქ', 'q'],\n\t['ღ', 'gh'],\n\t['ყ', 'k'],\n\t['შ', 'sh'],\n\t['ჩ', 'ch'],\n\t['ც', 'ts'],\n\t['ძ', 'dz'],\n\t['წ', 'ts'],\n\t['ჭ', 'tch'],\n\t['ხ', 'kh'],\n\t['ჯ', 'j'],\n\t['ჰ', 'h'],\n\n\t// Czech\n\t['č', 'c'],\n\t['ď', 'd'],\n\t['ě', 'e'],\n\t['ň', 'n'],\n\t['ř', 'r'],\n\t['š', 's'],\n\t['ť', 't'],\n\t['ů', 'u'],\n\t['ž', 'z'],\n\t['Č', 'C'],\n\t['Ď', 'D'],\n\t['Ě', 'E'],\n\t['Ň', 'N'],\n\t['Ř', 'R'],\n\t['Š', 'S'],\n\t['Ť', 'T'],\n\t['Ů', 'U'],\n\t['Ž', 'Z'],\n\n\t// Dhivehi\n\t['ހ', 'h'],\n\t['ށ', 'sh'],\n\t['ނ', 'n'],\n\t['ރ', 'r'],\n\t['ބ', 'b'],\n\t['ޅ', 'lh'],\n\t['ކ', 'k'],\n\t['އ', 'a'],\n\t['ވ', 'v'],\n\t['މ', 'm'],\n\t['ފ', 'f'],\n\t['ދ', 'dh'],\n\t['ތ', 'th'],\n\t['ލ', 'l'],\n\t['ގ', 'g'],\n\t['ޏ', 'gn'],\n\t['ސ', 's'],\n\t['ޑ', 'd'],\n\t['ޒ', 'z'],\n\t['ޓ', 't'],\n\t['ޔ', 'y'],\n\t['ޕ', 'p'],\n\t['ޖ', 'j'],\n\t['ޗ', 'ch'],\n\t['ޘ', 'tt'],\n\t['ޙ', 'hh'],\n\t['ޚ', 'kh'],\n\t['ޛ', 'th'],\n\t['ޜ', 'z'],\n\t['ޝ', 'sh'],\n\t['ޞ', 's'],\n\t['ޟ', 'd'],\n\t['ޠ', 't'],\n\t['ޡ', 'z'],\n\t['ޢ', 'a'],\n\t['ޣ', 'gh'],\n\t['ޤ', 'q'],\n\t['ޥ', 'w'],\n\t['ަ', 'a'],\n\t['ާ', 'aa'],\n\t['ި', 'i'],\n\t['ީ', 'ee'],\n\t['ު', 'u'],\n\t['ޫ', 'oo'],\n\t['ެ', 'e'],\n\t['ޭ', 'ey'],\n\t['ޮ', 'o'],\n\t['ޯ', 'oa'],\n\t['ް', ''],\n\n\t// Greek\n\t['α', 'a'],\n\t['β', 'v'],\n\t['γ', 'g'],\n\t['δ', 'd'],\n\t['ε', 'e'],\n\t['ζ', 'z'],\n\t['η', 'i'],\n\t['θ', 'th'],\n\t['ι', 'i'],\n\t['κ', 'k'],\n\t['λ', 'l'],\n\t['μ', 'm'],\n\t['ν', 'n'],\n\t['ξ', 'ks'],\n\t['ο', 'o'],\n\t['π', 'p'],\n\t['ρ', 'r'],\n\t['σ', 's'],\n\t['τ', 't'],\n\t['υ', 'y'],\n\t['φ', 'f'],\n\t['χ', 'x'],\n\t['ψ', 'ps'],\n\t['ω', 'o'],\n\t['ά', 'a'],\n\t['έ', 'e'],\n\t['ί', 'i'],\n\t['ό', 'o'],\n\t['ύ', 'y'],\n\t['ή', 'i'],\n\t['ώ', 'o'],\n\t['ς', 's'],\n\t['ϊ', 'i'],\n\t['ΰ', 'y'],\n\t['ϋ', 'y'],\n\t['ΐ', 'i'],\n\t['Α', 'A'],\n\t['Β', 'B'],\n\t['Γ', 'G'],\n\t['Δ', 'D'],\n\t['Ε', 'E'],\n\t['Ζ', 'Z'],\n\t['Η', 'I'],\n\t['Θ', 'TH'],\n\t['Ι', 'I'],\n\t['Κ', 'K'],\n\t['Λ', 'L'],\n\t['Μ', 'M'],\n\t['Ν', 'N'],\n\t['Ξ', 'KS'],\n\t['Ο', 'O'],\n\t['Π', 'P'],\n\t['Ρ', 'R'],\n\t['Σ', 'S'],\n\t['Τ', 'T'],\n\t['Υ', 'Y'],\n\t['Φ', 'F'],\n\t['Χ', 'X'],\n\t['Ψ', 'PS'],\n\t['Ω', 'O'],\n\t['Ά', 'A'],\n\t['Έ', 'E'],\n\t['Ί', 'I'],\n\t['Ό', 'O'],\n\t['Ύ', 'Y'],\n\t['Ή', 'I'],\n\t['Ώ', 'O'],\n\t['Ϊ', 'I'],\n\t['Ϋ', 'Y'],\n\n\t// Disabled as it conflicts with German and Latin.\n\t// Hungarian\n\t// ['ä', 'a'],\n\t// ['Ä', 'A'],\n\t// ['ö', 'o'],\n\t// ['Ö', 'O'],\n\t// ['ü', 'u'],\n\t// ['Ü', 'U'],\n\t// ['ű', 'u'],\n\t// ['Ű', 'U'],\n\n\t// Latvian\n\t['ā', 'a'],\n\t['ē', 'e'],\n\t['ģ', 'g'],\n\t['ī', 'i'],\n\t['ķ', 'k'],\n\t['ļ', 'l'],\n\t['ņ', 'n'],\n\t['ū', 'u'],\n\t['Ā', 'A'],\n\t['Ē', 'E'],\n\t['Ģ', 'G'],\n\t['Ī', 'I'],\n\t['Ķ', 'K'],\n\t['Ļ', 'L'],\n\t['Ņ', 'N'],\n\t['Ū', 'U'],\n\t['č', 'c'],\n\t['š', 's'],\n\t['ž', 'z'],\n\t['Č', 'C'],\n\t['Š', 'S'],\n\t['Ž', 'Z'],\n\n\t// Lithuanian\n\t['ą', 'a'],\n\t['č', 'c'],\n\t['ę', 'e'],\n\t['ė', 'e'],\n\t['į', 'i'],\n\t['š', 's'],\n\t['ų', 'u'],\n\t['ū', 'u'],\n\t['ž', 'z'],\n\t['Ą', 'A'],\n\t['Č', 'C'],\n\t['Ę', 'E'],\n\t['Ė', 'E'],\n\t['Į', 'I'],\n\t['Š', 'S'],\n\t['Ų', 'U'],\n\t['Ū', 'U'],\n\n\t// Macedonian\n\t['Ќ', 'Kj'],\n\t['ќ', 'kj'],\n\t['Љ', 'Lj'],\n\t['љ', 'lj'],\n\t['Њ', 'Nj'],\n\t['њ', 'nj'],\n\t['Тс', 'Ts'],\n\t['тс', 'ts'],\n\n\t// Polish\n\t['ą', 'a'],\n\t['ć', 'c'],\n\t['ę', 'e'],\n\t['ł', 'l'],\n\t['ń', 'n'],\n\t['ś', 's'],\n\t['ź', 'z'],\n\t['ż', 'z'],\n\t['Ą', 'A'],\n\t['Ć', 'C'],\n\t['Ę', 'E'],\n\t['Ł', 'L'],\n\t['Ń', 'N'],\n\t['Ś', 'S'],\n\t['Ź', 'Z'],\n\t['Ż', 'Z'],\n\n\t// Disabled as it conflicts with Vietnamese.\n\t// Serbian\n\t// ['љ', 'lj'],\n\t// ['њ', 'nj'],\n\t// ['Љ', 'Lj'],\n\t// ['Њ', 'Nj'],\n\t// ['đ', 'dj'],\n\t// ['Đ', 'Dj'],\n\t// ['ђ', 'dj'],\n\t// ['ј', 'j'],\n\t// ['ћ', 'c'],\n\t// ['џ', 'dz'],\n\t// ['Ђ', 'Dj'],\n\t// ['Ј', 'j'],\n\t// ['Ћ', 'C'],\n\t// ['Џ', 'Dz'],\n\n\t// Disabled as it conflicts with German and Latin.\n\t// Slovak\n\t// ['ä', 'a'],\n\t// ['Ä', 'A'],\n\t// ['ľ', 'l'],\n\t// ['ĺ', 'l'],\n\t// ['ŕ', 'r'],\n\t// ['Ľ', 'L'],\n\t// ['Ĺ', 'L'],\n\t// ['Ŕ', 'R'],\n\n\t// Disabled as it conflicts with German and Latin.\n\t// Swedish\n\t// ['å', 'o'],\n\t// ['Å', 'o'],\n\t// ['ä', 'a'],\n\t// ['Ä', 'A'],\n\t// ['ë', 'e'],\n\t// ['Ë', 'E'],\n\t// ['ö', 'o'],\n\t// ['Ö', 'O'],\n\n\t// Ukrainian\n\t['Є', 'Ye'],\n\t['І', 'I'],\n\t['Ї', 'Yi'],\n\t['Ґ', 'G'],\n\t['є', 'ye'],\n\t['і', 'i'],\n\t['ї', 'yi'],\n\t['ґ', 'g']\n\n\t// Danish\n\t// ['Æ', 'Ae'],\n\t// ['Ø', 'Oe'],\n\t// ['Å', 'Aa'],\n\t// ['æ', 'ae'],\n\t// ['ø', 'oe'],\n\t// ['å', 'aa']\n];\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global global, define, System, Reflect, Promise */\r\nvar __extends;\r\nvar __assign;\r\nvar __rest;\r\nvar __decorate;\r\nvar __param;\r\nvar __metadata;\r\nvar __awaiter;\r\nvar __generator;\r\nvar __exportStar;\r\nvar __values;\r\nvar __read;\r\nvar __spread;\r\nvar __spreadArrays;\r\nvar __await;\r\nvar __asyncGenerator;\r\nvar __asyncDelegator;\r\nvar __asyncValues;\r\nvar __makeTemplateObject;\r\nvar __importStar;\r\nvar __importDefault;\r\nvar __classPrivateFieldGet;\r\nvar __classPrivateFieldSet;\r\nvar __createBinding;\r\n(function (factory) {\r\n var root = typeof global === \"object\" ? global : typeof self === \"object\" ? self : typeof this === \"object\" ? this : {};\r\n if (typeof define === \"function\" && define.amd) {\r\n define(\"tslib\", [\"exports\"], function (exports) { factory(createExporter(root, createExporter(exports))); });\r\n }\r\n else if (typeof module === \"object\" && typeof module.exports === \"object\") {\r\n factory(createExporter(root, createExporter(module.exports)));\r\n }\r\n else {\r\n factory(createExporter(root));\r\n }\r\n function createExporter(exports, previous) {\r\n if (exports !== root) {\r\n if (typeof Object.create === \"function\") {\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n }\r\n else {\r\n exports.__esModule = true;\r\n }\r\n }\r\n return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };\r\n }\r\n})\r\n(function (exporter) {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n\r\n __extends = function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n\r\n __assign = Object.assign || function (t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n\r\n __rest = function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n };\r\n\r\n __decorate = function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n };\r\n\r\n __param = function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n };\r\n\r\n __metadata = function (metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n };\r\n\r\n __awaiter = function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n };\r\n\r\n __generator = function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n };\r\n\r\n __exportStar = function(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n };\r\n\r\n __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n }) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n });\r\n\r\n __values = function (o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n };\r\n\r\n __read = function (o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n };\r\n\r\n __spread = function () {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n };\r\n\r\n __spreadArrays = function () {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n };\r\n\r\n __await = function (v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n };\r\n\r\n __asyncGenerator = function (thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n };\r\n\r\n __asyncDelegator = function (o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n };\r\n\r\n __asyncValues = function (o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n };\r\n\r\n __makeTemplateObject = function (cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n };\r\n\r\n var __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n }) : function(o, v) {\r\n o[\"default\"] = v;\r\n };\r\n\r\n __importStar = function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n };\r\n\r\n __importDefault = function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n };\r\n\r\n __classPrivateFieldGet = function (receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n };\r\n\r\n __classPrivateFieldSet = function (receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n };\r\n\r\n exporter(\"__extends\", __extends);\r\n exporter(\"__assign\", __assign);\r\n exporter(\"__rest\", __rest);\r\n exporter(\"__decorate\", __decorate);\r\n exporter(\"__param\", __param);\r\n exporter(\"__metadata\", __metadata);\r\n exporter(\"__awaiter\", __awaiter);\r\n exporter(\"__generator\", __generator);\r\n exporter(\"__exportStar\", __exportStar);\r\n exporter(\"__createBinding\", __createBinding);\r\n exporter(\"__values\", __values);\r\n exporter(\"__read\", __read);\r\n exporter(\"__spread\", __spread);\r\n exporter(\"__spreadArrays\", __spreadArrays);\r\n exporter(\"__await\", __await);\r\n exporter(\"__asyncGenerator\", __asyncGenerator);\r\n exporter(\"__asyncDelegator\", __asyncDelegator);\r\n exporter(\"__asyncValues\", __asyncValues);\r\n exporter(\"__makeTemplateObject\", __makeTemplateObject);\r\n exporter(\"__importStar\", __importStar);\r\n exporter(\"__importDefault\", __importDefault);\r\n exporter(\"__classPrivateFieldGet\", __classPrivateFieldGet);\r\n exporter(\"__classPrivateFieldSet\", __classPrivateFieldSet);\r\n});\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.run = void 0;\nconst core_1 = require(\"@actions/core\");\nconst graphs_1 = require(\"./graphs\");\nconst site_1 = require(\"./site\");\nconst summary_1 = require(\"./summary\");\nconst update_1 = require(\"./update\");\nconst token = core_1.getInput(\"token\") || process.env.GH_PAT || process.env.GITHUB_TOKEN;\nconst run = async () => {\n if (!token)\n throw new Error(\"GitHub token not found\");\n core_1.debug(\"Starting Upptime\");\n switch (core_1.getInput(\"command\")) {\n case \"summary\":\n core_1.debug(\"Starting summary\");\n case \"readme\":\n core_1.debug(\"Starting readme\");\n return summary_1.generateSummary();\n case \"site\":\n core_1.debug(\"Starting site\");\n return site_1.generateSite();\n case \"graphs\":\n core_1.debug(\"Starting site\");\n return graphs_1.generateGraphs();\n case \"response-time\":\n core_1.debug(\"Starting response-time\");\n return update_1.update(true);\n default:\n core_1.debug(\"Starting update\");\n return update_1.update();\n }\n};\nexports.run = run;\nexports.run()\n .then(() => { })\n .catch((error) => {\n console.error(\"ERROR\", error);\n core_1.setFailed(error.message);\n});\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst os = __importStar(require(\"os\"));\nconst utils_1 = require(\"./utils\");\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nfunction issueCommand(command, properties, message) {\n const cmd = new Command(command, properties, message);\n process.stdout.write(cmd.toString() + os.EOL);\n}\nexports.issueCommand = issueCommand;\nfunction issue(name, message = '') {\n issueCommand(name, {}, message);\n}\nexports.issue = issue;\nconst CMD_STRING = '::';\nclass Command {\n constructor(command, properties, message) {\n if (!command) {\n command = 'missing.command';\n }\n this.command = command;\n this.properties = properties;\n this.message = message;\n }\n toString() {\n let cmdStr = CMD_STRING + this.command;\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' ';\n let first = true;\n for (const key in this.properties) {\n if (this.properties.hasOwnProperty(key)) {\n const val = this.properties[key];\n if (val) {\n if (first) {\n first = false;\n }\n else {\n cmdStr += ',';\n }\n cmdStr += `${key}=${escapeProperty(val)}`;\n }\n }\n }\n }\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`;\n return cmdStr;\n }\n}\nfunction escapeData(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A');\n}\nfunction escapeProperty(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A')\n .replace(/:/g, '%3A')\n .replace(/,/g, '%2C');\n}\n//# sourceMappingURL=command.js.map","/* eslint quote-props: 0 */\n\n'use strict';\n\nconst path = require('path');\n\nconst defaultMimeType = 'application/octet-stream';\nconst defaultExtension = 'bin';\n\nconst mimeTypes = new Map([\n ['application/acad', 'dwg'],\n ['application/applixware', 'aw'],\n ['application/arj', 'arj'],\n ['application/atom+xml', 'xml'],\n ['application/atomcat+xml', 'atomcat'],\n ['application/atomsvc+xml', 'atomsvc'],\n ['application/base64', ['mm', 'mme']],\n ['application/binhex', 'hqx'],\n ['application/binhex4', 'hqx'],\n ['application/book', ['book', 'boo']],\n ['application/ccxml+xml,', 'ccxml'],\n ['application/cdf', 'cdf'],\n ['application/cdmi-capability', 'cdmia'],\n ['application/cdmi-container', 'cdmic'],\n ['application/cdmi-domain', 'cdmid'],\n ['application/cdmi-object', 'cdmio'],\n ['application/cdmi-queue', 'cdmiq'],\n ['application/clariscad', 'ccad'],\n ['application/commonground', 'dp'],\n ['application/cu-seeme', 'cu'],\n ['application/davmount+xml', 'davmount'],\n ['application/drafting', 'drw'],\n ['application/dsptype', 'tsp'],\n ['application/dssc+der', 'dssc'],\n ['application/dssc+xml', 'xdssc'],\n ['application/dxf', 'dxf'],\n ['application/ecmascript', ['js', 'es']],\n ['application/emma+xml', 'emma'],\n ['application/envoy', 'evy'],\n ['application/epub+zip', 'epub'],\n ['application/excel', ['xls', 'xl', 'xla', 'xlb', 'xlc', 'xld', 'xlk', 'xll', 'xlm', 'xlt', 'xlv', 'xlw']],\n ['application/exi', 'exi'],\n ['application/font-tdpfr', 'pfr'],\n ['application/fractals', 'fif'],\n ['application/freeloader', 'frl'],\n ['application/futuresplash', 'spl'],\n ['application/gnutar', 'tgz'],\n ['application/groupwise', 'vew'],\n ['application/hlp', 'hlp'],\n ['application/hta', 'hta'],\n ['application/hyperstudio', 'stk'],\n ['application/i-deas', 'unv'],\n ['application/iges', ['iges', 'igs']],\n ['application/inf', 'inf'],\n ['application/internet-property-stream', 'acx'],\n ['application/ipfix', 'ipfix'],\n ['application/java', 'class'],\n ['application/java-archive', 'jar'],\n ['application/java-byte-code', 'class'],\n ['application/java-serialized-object', 'ser'],\n ['application/java-vm', 'class'],\n ['application/javascript', 'js'],\n ['application/json', 'json'],\n ['application/lha', 'lha'],\n ['application/lzx', 'lzx'],\n ['application/mac-binary', 'bin'],\n ['application/mac-binhex', 'hqx'],\n ['application/mac-binhex40', 'hqx'],\n ['application/mac-compactpro', 'cpt'],\n ['application/macbinary', 'bin'],\n ['application/mads+xml', 'mads'],\n ['application/marc', 'mrc'],\n ['application/marcxml+xml', 'mrcx'],\n ['application/mathematica', 'ma'],\n ['application/mathml+xml', 'mathml'],\n ['application/mbedlet', 'mbd'],\n ['application/mbox', 'mbox'],\n ['application/mcad', 'mcd'],\n ['application/mediaservercontrol+xml', 'mscml'],\n ['application/metalink4+xml', 'meta4'],\n ['application/mets+xml', 'mets'],\n ['application/mime', 'aps'],\n ['application/mods+xml', 'mods'],\n ['application/mp21', 'm21'],\n ['application/mp4', 'mp4'],\n ['application/mspowerpoint', ['ppt', 'pot', 'pps', 'ppz']],\n ['application/msword', ['doc', 'dot', 'w6w', 'wiz', 'word']],\n ['application/mswrite', 'wri'],\n ['application/mxf', 'mxf'],\n ['application/netmc', 'mcp'],\n ['application/octet-stream', ['*']],\n ['application/oda', 'oda'],\n ['application/oebps-package+xml', 'opf'],\n ['application/ogg', 'ogx'],\n ['application/olescript', 'axs'],\n ['application/onenote', 'onetoc'],\n ['application/patch-ops-error+xml', 'xer'],\n ['application/pdf', 'pdf'],\n ['application/pgp-encrypted', 'asc'],\n ['application/pgp-signature', 'pgp'],\n ['application/pics-rules', 'prf'],\n ['application/pkcs-12', 'p12'],\n ['application/pkcs-crl', 'crl'],\n ['application/pkcs10', 'p10'],\n ['application/pkcs7-mime', ['p7c', 'p7m']],\n ['application/pkcs7-signature', 'p7s'],\n ['application/pkcs8', 'p8'],\n ['application/pkix-attr-cert', 'ac'],\n ['application/pkix-cert', ['cer', 'crt']],\n ['application/pkix-crl', 'crl'],\n ['application/pkix-pkipath', 'pkipath'],\n ['application/pkixcmp', 'pki'],\n ['application/plain', 'text'],\n ['application/pls+xml', 'pls'],\n ['application/postscript', ['ps', 'ai', 'eps']],\n ['application/powerpoint', 'ppt'],\n ['application/pro_eng', ['part', 'prt']],\n ['application/prs.cww', 'cww'],\n ['application/pskc+xml', 'pskcxml'],\n ['application/rdf+xml', 'rdf'],\n ['application/reginfo+xml', 'rif'],\n ['application/relax-ng-compact-syntax', 'rnc'],\n ['application/resource-lists+xml', 'rl'],\n ['application/resource-lists-diff+xml', 'rld'],\n ['application/ringing-tones', 'rng'],\n ['application/rls-services+xml', 'rs'],\n ['application/rsd+xml', 'rsd'],\n ['application/rss+xml', 'xml'],\n ['application/rtf', ['rtf', 'rtx']],\n ['application/sbml+xml', 'sbml'],\n ['application/scvp-cv-request', 'scq'],\n ['application/scvp-cv-response', 'scs'],\n ['application/scvp-vp-request', 'spq'],\n ['application/scvp-vp-response', 'spp'],\n ['application/sdp', 'sdp'],\n ['application/sea', 'sea'],\n ['application/set', 'set'],\n ['application/set-payment-initiation', 'setpay'],\n ['application/set-registration-initiation', 'setreg'],\n ['application/shf+xml', 'shf'],\n ['application/sla', 'stl'],\n ['application/smil', ['smi', 'smil']],\n ['application/smil+xml', 'smi'],\n ['application/solids', 'sol'],\n ['application/sounder', 'sdr'],\n ['application/sparql-query', 'rq'],\n ['application/sparql-results+xml', 'srx'],\n ['application/srgs', 'gram'],\n ['application/srgs+xml', 'grxml'],\n ['application/sru+xml', 'sru'],\n ['application/ssml+xml', 'ssml'],\n ['application/step', ['step', 'stp']],\n ['application/streamingmedia', 'ssm'],\n ['application/tei+xml', 'tei'],\n ['application/thraud+xml', 'tfi'],\n ['application/timestamped-data', 'tsd'],\n ['application/toolbook', 'tbk'],\n ['application/vda', 'vda'],\n ['application/vnd.3gpp.pic-bw-large', 'plb'],\n ['application/vnd.3gpp.pic-bw-small', 'psb'],\n ['application/vnd.3gpp.pic-bw-var', 'pvb'],\n ['application/vnd.3gpp2.tcap', 'tcap'],\n ['application/vnd.3m.post-it-notes', 'pwn'],\n ['application/vnd.accpac.simply.aso', 'aso'],\n ['application/vnd.accpac.simply.imp', 'imp'],\n ['application/vnd.acucobol', 'acu'],\n ['application/vnd.acucorp', 'atc'],\n ['application/vnd.adobe.air-application-installer-package+zip', 'air'],\n ['application/vnd.adobe.fxp', 'fxp'],\n ['application/vnd.adobe.xdp+xml', 'xdp'],\n ['application/vnd.adobe.xfdf', 'xfdf'],\n ['application/vnd.ahead.space', 'ahead'],\n ['application/vnd.airzip.filesecure.azf', 'azf'],\n ['application/vnd.airzip.filesecure.azs', 'azs'],\n ['application/vnd.amazon.ebook', 'azw'],\n ['application/vnd.americandynamics.acc', 'acc'],\n ['application/vnd.amiga.ami', 'ami'],\n ['application/vnd.android.package-archive', 'apk'],\n ['application/vnd.anser-web-certificate-issue-initiation', 'cii'],\n ['application/vnd.anser-web-funds-transfer-initiation', 'fti'],\n ['application/vnd.antix.game-component', 'atx'],\n ['application/vnd.apple.installer+xml', 'mpkg'],\n ['application/vnd.apple.mpegurl', 'm3u8'],\n ['application/vnd.aristanetworks.swi', 'swi'],\n ['application/vnd.audiograph', 'aep'],\n ['application/vnd.blueice.multipass', 'mpm'],\n ['application/vnd.bmi', 'bmi'],\n ['application/vnd.businessobjects', 'rep'],\n ['application/vnd.chemdraw+xml', 'cdxml'],\n ['application/vnd.chipnuts.karaoke-mmd', 'mmd'],\n ['application/vnd.cinderella', 'cdy'],\n ['application/vnd.claymore', 'cla'],\n ['application/vnd.cloanto.rp9', 'rp9'],\n ['application/vnd.clonk.c4group', 'c4g'],\n ['application/vnd.cluetrust.cartomobile-config', 'c11amc'],\n ['application/vnd.cluetrust.cartomobile-config-pkg', 'c11amz'],\n ['application/vnd.commonspace', 'csp'],\n ['application/vnd.contact.cmsg', 'cdbcmsg'],\n ['application/vnd.cosmocaller', 'cmc'],\n ['application/vnd.crick.clicker', 'clkx'],\n ['application/vnd.crick.clicker.keyboard', 'clkk'],\n ['application/vnd.crick.clicker.palette', 'clkp'],\n ['application/vnd.crick.clicker.template', 'clkt'],\n ['application/vnd.crick.clicker.wordbank', 'clkw'],\n ['application/vnd.criticaltools.wbs+xml', 'wbs'],\n ['application/vnd.ctc-posml', 'pml'],\n ['application/vnd.cups-ppd', 'ppd'],\n ['application/vnd.curl.car', 'car'],\n ['application/vnd.curl.pcurl', 'pcurl'],\n ['application/vnd.data-vision.rdz', 'rdz'],\n ['application/vnd.denovo.fcselayout-link', 'fe_launch'],\n ['application/vnd.dna', 'dna'],\n ['application/vnd.dolby.mlp', 'mlp'],\n ['application/vnd.dpgraph', 'dpg'],\n ['application/vnd.dreamfactory', 'dfac'],\n ['application/vnd.dvb.ait', 'ait'],\n ['application/vnd.dvb.service', 'svc'],\n ['application/vnd.dynageo', 'geo'],\n ['application/vnd.ecowin.chart', 'mag'],\n ['application/vnd.enliven', 'nml'],\n ['application/vnd.epson.esf', 'esf'],\n ['application/vnd.epson.msf', 'msf'],\n ['application/vnd.epson.quickanime', 'qam'],\n ['application/vnd.epson.salt', 'slt'],\n ['application/vnd.epson.ssf', 'ssf'],\n ['application/vnd.eszigno3+xml', 'es3'],\n ['application/vnd.ezpix-album', 'ez2'],\n ['application/vnd.ezpix-package', 'ez3'],\n ['application/vnd.fdf', 'fdf'],\n ['application/vnd.fdsn.seed', 'seed'],\n ['application/vnd.flographit', 'gph'],\n ['application/vnd.fluxtime.clip', 'ftc'],\n ['application/vnd.framemaker', 'fm'],\n ['application/vnd.frogans.fnc', 'fnc'],\n ['application/vnd.frogans.ltf', 'ltf'],\n ['application/vnd.fsc.weblaunch', 'fsc'],\n ['application/vnd.fujitsu.oasys', 'oas'],\n ['application/vnd.fujitsu.oasys2', 'oa2'],\n ['application/vnd.fujitsu.oasys3', 'oa3'],\n ['application/vnd.fujitsu.oasysgp', 'fg5'],\n ['application/vnd.fujitsu.oasysprs', 'bh2'],\n ['application/vnd.fujixerox.ddd', 'ddd'],\n ['application/vnd.fujixerox.docuworks', 'xdw'],\n ['application/vnd.fujixerox.docuworks.binder', 'xbd'],\n ['application/vnd.fuzzysheet', 'fzs'],\n ['application/vnd.genomatix.tuxedo', 'txd'],\n ['application/vnd.geogebra.file', 'ggb'],\n ['application/vnd.geogebra.tool', 'ggt'],\n ['application/vnd.geometry-explorer', 'gex'],\n ['application/vnd.geonext', 'gxt'],\n ['application/vnd.geoplan', 'g2w'],\n ['application/vnd.geospace', 'g3w'],\n ['application/vnd.gmx', 'gmx'],\n ['application/vnd.google-earth.kml+xml', 'kml'],\n ['application/vnd.google-earth.kmz', 'kmz'],\n ['application/vnd.grafeq', 'gqf'],\n ['application/vnd.groove-account', 'gac'],\n ['application/vnd.groove-help', 'ghf'],\n ['application/vnd.groove-identity-message', 'gim'],\n ['application/vnd.groove-injector', 'grv'],\n ['application/vnd.groove-tool-message', 'gtm'],\n ['application/vnd.groove-tool-template', 'tpl'],\n ['application/vnd.groove-vcard', 'vcg'],\n ['application/vnd.hal+xml', 'hal'],\n ['application/vnd.handheld-entertainment+xml', 'zmm'],\n ['application/vnd.hbci', 'hbci'],\n ['application/vnd.hhe.lesson-player', 'les'],\n ['application/vnd.hp-hpgl', ['hgl', 'hpg', 'hpgl']],\n ['application/vnd.hp-hpid', 'hpid'],\n ['application/vnd.hp-hps', 'hps'],\n ['application/vnd.hp-jlyt', 'jlt'],\n ['application/vnd.hp-pcl', 'pcl'],\n ['application/vnd.hp-pclxl', 'pclxl'],\n ['application/vnd.hydrostatix.sof-data', 'sfd-hdstx'],\n ['application/vnd.hzn-3d-crossword', 'x3d'],\n ['application/vnd.ibm.minipay', 'mpy'],\n ['application/vnd.ibm.modcap', 'afp'],\n ['application/vnd.ibm.rights-management', 'irm'],\n ['application/vnd.ibm.secure-container', 'sc'],\n ['application/vnd.iccprofile', 'icc'],\n ['application/vnd.igloader', 'igl'],\n ['application/vnd.immervision-ivp', 'ivp'],\n ['application/vnd.immervision-ivu', 'ivu'],\n ['application/vnd.insors.igm', 'igm'],\n ['application/vnd.intercon.formnet', 'xpw'],\n ['application/vnd.intergeo', 'i2g'],\n ['application/vnd.intu.qbo', 'qbo'],\n ['application/vnd.intu.qfx', 'qfx'],\n ['application/vnd.ipunplugged.rcprofile', 'rcprofile'],\n ['application/vnd.irepository.package+xml', 'irp'],\n ['application/vnd.is-xpr', 'xpr'],\n ['application/vnd.isac.fcs', 'fcs'],\n ['application/vnd.jam', 'jam'],\n ['application/vnd.jcp.javame.midlet-rms', 'rms'],\n ['application/vnd.jisp', 'jisp'],\n ['application/vnd.joost.joda-archive', 'joda'],\n ['application/vnd.kahootz', 'ktz'],\n ['application/vnd.kde.karbon', 'karbon'],\n ['application/vnd.kde.kchart', 'chrt'],\n ['application/vnd.kde.kformula', 'kfo'],\n ['application/vnd.kde.kivio', 'flw'],\n ['application/vnd.kde.kontour', 'kon'],\n ['application/vnd.kde.kpresenter', 'kpr'],\n ['application/vnd.kde.kspread', 'ksp'],\n ['application/vnd.kde.kword', 'kwd'],\n ['application/vnd.kenameaapp', 'htke'],\n ['application/vnd.kidspiration', 'kia'],\n ['application/vnd.kinar', 'kne'],\n ['application/vnd.koan', 'skp'],\n ['application/vnd.kodak-descriptor', 'sse'],\n ['application/vnd.las.las+xml', 'lasxml'],\n ['application/vnd.llamagraphics.life-balance.desktop', 'lbd'],\n ['application/vnd.llamagraphics.life-balance.exchange+xml', 'lbe'],\n ['application/vnd.lotus-1-2-3', '123'],\n ['application/vnd.lotus-approach', 'apr'],\n ['application/vnd.lotus-freelance', 'pre'],\n ['application/vnd.lotus-notes', 'nsf'],\n ['application/vnd.lotus-organizer', 'org'],\n ['application/vnd.lotus-screencam', 'scm'],\n ['application/vnd.lotus-wordpro', 'lwp'],\n ['application/vnd.macports.portpkg', 'portpkg'],\n ['application/vnd.mcd', 'mcd'],\n ['application/vnd.medcalcdata', 'mc1'],\n ['application/vnd.mediastation.cdkey', 'cdkey'],\n ['application/vnd.mfer', 'mwf'],\n ['application/vnd.mfmp', 'mfm'],\n ['application/vnd.micrografx.flo', 'flo'],\n ['application/vnd.micrografx.igx', 'igx'],\n ['application/vnd.mif', 'mif'],\n ['application/vnd.mobius.daf', 'daf'],\n ['application/vnd.mobius.dis', 'dis'],\n ['application/vnd.mobius.mbk', 'mbk'],\n ['application/vnd.mobius.mqy', 'mqy'],\n ['application/vnd.mobius.msl', 'msl'],\n ['application/vnd.mobius.plc', 'plc'],\n ['application/vnd.mobius.txf', 'txf'],\n ['application/vnd.mophun.application', 'mpn'],\n ['application/vnd.mophun.certificate', 'mpc'],\n ['application/vnd.mozilla.xul+xml', 'xul'],\n ['application/vnd.ms-artgalry', 'cil'],\n ['application/vnd.ms-cab-compressed', 'cab'],\n ['application/vnd.ms-excel', ['xls', 'xla', 'xlc', 'xlm', 'xlt', 'xlw', 'xlb', 'xll']],\n ['application/vnd.ms-excel.addin.macroenabled.12', 'xlam'],\n ['application/vnd.ms-excel.sheet.binary.macroenabled.12', 'xlsb'],\n ['application/vnd.ms-excel.sheet.macroenabled.12', 'xlsm'],\n ['application/vnd.ms-excel.template.macroenabled.12', 'xltm'],\n ['application/vnd.ms-fontobject', 'eot'],\n ['application/vnd.ms-htmlhelp', 'chm'],\n ['application/vnd.ms-ims', 'ims'],\n ['application/vnd.ms-lrm', 'lrm'],\n ['application/vnd.ms-officetheme', 'thmx'],\n ['application/vnd.ms-outlook', 'msg'],\n ['application/vnd.ms-pki.certstore', 'sst'],\n ['application/vnd.ms-pki.pko', 'pko'],\n ['application/vnd.ms-pki.seccat', 'cat'],\n ['application/vnd.ms-pki.stl', 'stl'],\n ['application/vnd.ms-pkicertstore', 'sst'],\n ['application/vnd.ms-pkiseccat', 'cat'],\n ['application/vnd.ms-pkistl', 'stl'],\n ['application/vnd.ms-powerpoint', ['ppt', 'pot', 'pps', 'ppa', 'pwz']],\n ['application/vnd.ms-powerpoint.addin.macroenabled.12', 'ppam'],\n ['application/vnd.ms-powerpoint.presentation.macroenabled.12', 'pptm'],\n ['application/vnd.ms-powerpoint.slide.macroenabled.12', 'sldm'],\n ['application/vnd.ms-powerpoint.slideshow.macroenabled.12', 'ppsm'],\n ['application/vnd.ms-powerpoint.template.macroenabled.12', 'potm'],\n ['application/vnd.ms-project', 'mpp'],\n ['application/vnd.ms-word.document.macroenabled.12', 'docm'],\n ['application/vnd.ms-word.template.macroenabled.12', 'dotm'],\n ['application/vnd.ms-works', ['wks', 'wcm', 'wdb', 'wps']],\n ['application/vnd.ms-wpl', 'wpl'],\n ['application/vnd.ms-xpsdocument', 'xps'],\n ['application/vnd.mseq', 'mseq'],\n ['application/vnd.musician', 'mus'],\n ['application/vnd.muvee.style', 'msty'],\n ['application/vnd.neurolanguage.nlu', 'nlu'],\n ['application/vnd.noblenet-directory', 'nnd'],\n ['application/vnd.noblenet-sealer', 'nns'],\n ['application/vnd.noblenet-web', 'nnw'],\n ['application/vnd.nokia.configuration-message', 'ncm'],\n ['application/vnd.nokia.n-gage.data', 'ngdat'],\n ['application/vnd.nokia.n-gage.symbian.install', 'n-gage'],\n ['application/vnd.nokia.radio-preset', 'rpst'],\n ['application/vnd.nokia.radio-presets', 'rpss'],\n ['application/vnd.nokia.ringing-tone', 'rng'],\n ['application/vnd.novadigm.edm', 'edm'],\n ['application/vnd.novadigm.edx', 'edx'],\n ['application/vnd.novadigm.ext', 'ext'],\n ['application/vnd.oasis.opendocument.chart', 'odc'],\n ['application/vnd.oasis.opendocument.chart-template', 'otc'],\n ['application/vnd.oasis.opendocument.database', 'odb'],\n ['application/vnd.oasis.opendocument.formula', 'odf'],\n ['application/vnd.oasis.opendocument.formula-template', 'odft'],\n ['application/vnd.oasis.opendocument.graphics', 'odg'],\n ['application/vnd.oasis.opendocument.graphics-template', 'otg'],\n ['application/vnd.oasis.opendocument.image', 'odi'],\n ['application/vnd.oasis.opendocument.image-template', 'oti'],\n ['application/vnd.oasis.opendocument.presentation', 'odp'],\n ['application/vnd.oasis.opendocument.presentation-template', 'otp'],\n ['application/vnd.oasis.opendocument.spreadsheet', 'ods'],\n ['application/vnd.oasis.opendocument.spreadsheet-template', 'ots'],\n ['application/vnd.oasis.opendocument.text', 'odt'],\n ['application/vnd.oasis.opendocument.text-master', 'odm'],\n ['application/vnd.oasis.opendocument.text-template', 'ott'],\n ['application/vnd.oasis.opendocument.text-web', 'oth'],\n ['application/vnd.olpc-sugar', 'xo'],\n ['application/vnd.oma.dd2+xml', 'dd2'],\n ['application/vnd.openofficeorg.extension', 'oxt'],\n ['application/vnd.openxmlformats-officedocument.presentationml.presentation', 'pptx'],\n ['application/vnd.openxmlformats-officedocument.presentationml.slide', 'sldx'],\n ['application/vnd.openxmlformats-officedocument.presentationml.slideshow', 'ppsx'],\n ['application/vnd.openxmlformats-officedocument.presentationml.template', 'potx'],\n ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlsx'],\n ['application/vnd.openxmlformats-officedocument.spreadsheetml.template', 'xltx'],\n ['application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'docx'],\n ['application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'dotx'],\n ['application/vnd.osgeo.mapguide.package', 'mgp'],\n ['application/vnd.osgi.dp', 'dp'],\n ['application/vnd.palm', 'pdb'],\n ['application/vnd.pawaafile', 'paw'],\n ['application/vnd.pg.format', 'str'],\n ['application/vnd.pg.osasli', 'ei6'],\n ['application/vnd.picsel', 'efif'],\n ['application/vnd.pmi.widget', 'wg'],\n ['application/vnd.pocketlearn', 'plf'],\n ['application/vnd.powerbuilder6', 'pbd'],\n ['application/vnd.previewsystems.box', 'box'],\n ['application/vnd.proteus.magazine', 'mgz'],\n ['application/vnd.publishare-delta-tree', 'qps'],\n ['application/vnd.pvi.ptid1', 'ptid'],\n ['application/vnd.quark.quarkxpress', 'qxd'],\n ['application/vnd.realvnc.bed', 'bed'],\n ['application/vnd.recordare.musicxml', 'mxl'],\n ['application/vnd.recordare.musicxml+xml', 'musicxml'],\n ['application/vnd.rig.cryptonote', 'cryptonote'],\n ['application/vnd.rim.cod', 'cod'],\n ['application/vnd.rn-realmedia', 'rm'],\n ['application/vnd.rn-realplayer', 'rnx'],\n ['application/vnd.route66.link66+xml', 'link66'],\n ['application/vnd.sailingtracker.track', 'st'],\n ['application/vnd.seemail', 'see'],\n ['application/vnd.sema', 'sema'],\n ['application/vnd.semd', 'semd'],\n ['application/vnd.semf', 'semf'],\n ['application/vnd.shana.informed.formdata', 'ifm'],\n ['application/vnd.shana.informed.formtemplate', 'itp'],\n ['application/vnd.shana.informed.interchange', 'iif'],\n ['application/vnd.shana.informed.package', 'ipk'],\n ['application/vnd.simtech-mindmapper', 'twd'],\n ['application/vnd.smaf', 'mmf'],\n ['application/vnd.smart.teacher', 'teacher'],\n ['application/vnd.solent.sdkm+xml', 'sdkm'],\n ['application/vnd.spotfire.dxp', 'dxp'],\n ['application/vnd.spotfire.sfs', 'sfs'],\n ['application/vnd.stardivision.calc', 'sdc'],\n ['application/vnd.stardivision.draw', 'sda'],\n ['application/vnd.stardivision.impress', 'sdd'],\n ['application/vnd.stardivision.math', 'smf'],\n ['application/vnd.stardivision.writer', 'sdw'],\n ['application/vnd.stardivision.writer-global', 'sgl'],\n ['application/vnd.stepmania.stepchart', 'sm'],\n ['application/vnd.sun.xml.calc', 'sxc'],\n ['application/vnd.sun.xml.calc.template', 'stc'],\n ['application/vnd.sun.xml.draw', 'sxd'],\n ['application/vnd.sun.xml.draw.template', 'std'],\n ['application/vnd.sun.xml.impress', 'sxi'],\n ['application/vnd.sun.xml.impress.template', 'sti'],\n ['application/vnd.sun.xml.math', 'sxm'],\n ['application/vnd.sun.xml.writer', 'sxw'],\n ['application/vnd.sun.xml.writer.global', 'sxg'],\n ['application/vnd.sun.xml.writer.template', 'stw'],\n ['application/vnd.sus-calendar', 'sus'],\n ['application/vnd.svd', 'svd'],\n ['application/vnd.symbian.install', 'sis'],\n ['application/vnd.syncml+xml', 'xsm'],\n ['application/vnd.syncml.dm+wbxml', 'bdm'],\n ['application/vnd.syncml.dm+xml', 'xdm'],\n ['application/vnd.tao.intent-module-archive', 'tao'],\n ['application/vnd.tmobile-livetv', 'tmo'],\n ['application/vnd.trid.tpt', 'tpt'],\n ['application/vnd.triscape.mxs', 'mxs'],\n ['application/vnd.trueapp', 'tra'],\n ['application/vnd.ufdl', 'ufd'],\n ['application/vnd.uiq.theme', 'utz'],\n ['application/vnd.umajin', 'umj'],\n ['application/vnd.unity', 'unityweb'],\n ['application/vnd.uoml+xml', 'uoml'],\n ['application/vnd.vcx', 'vcx'],\n ['application/vnd.visio', 'vsd'],\n ['application/vnd.visionary', 'vis'],\n ['application/vnd.vsf', 'vsf'],\n ['application/vnd.wap.wbxml', 'wbxml'],\n ['application/vnd.wap.wmlc', 'wmlc'],\n ['application/vnd.wap.wmlscriptc', 'wmlsc'],\n ['application/vnd.webturbo', 'wtb'],\n ['application/vnd.wolfram.player', 'nbp'],\n ['application/vnd.wordperfect', 'wpd'],\n ['application/vnd.wqd', 'wqd'],\n ['application/vnd.wt.stf', 'stf'],\n ['application/vnd.xara', ['web', 'xar']],\n ['application/vnd.xfdl', 'xfdl'],\n ['application/vnd.yamaha.hv-dic', 'hvd'],\n ['application/vnd.yamaha.hv-script', 'hvs'],\n ['application/vnd.yamaha.hv-voice', 'hvp'],\n ['application/vnd.yamaha.openscoreformat', 'osf'],\n ['application/vnd.yamaha.openscoreformat.osfpvg+xml', 'osfpvg'],\n ['application/vnd.yamaha.smaf-audio', 'saf'],\n ['application/vnd.yamaha.smaf-phrase', 'spf'],\n ['application/vnd.yellowriver-custom-menu', 'cmp'],\n ['application/vnd.zul', 'zir'],\n ['application/vnd.zzazz.deck+xml', 'zaz'],\n ['application/vocaltec-media-desc', 'vmd'],\n ['application/vocaltec-media-file', 'vmf'],\n ['application/voicexml+xml', 'vxml'],\n ['application/widget', 'wgt'],\n ['application/winhlp', 'hlp'],\n ['application/wordperfect', ['wp', 'wp5', 'wp6', 'wpd']],\n ['application/wordperfect6.0', ['w60', 'wp5']],\n ['application/wordperfect6.1', 'w61'],\n ['application/wsdl+xml', 'wsdl'],\n ['application/wspolicy+xml', 'wspolicy'],\n ['application/x-123', 'wk1'],\n ['application/x-7z-compressed', '7z'],\n ['application/x-abiword', 'abw'],\n ['application/x-ace-compressed', 'ace'],\n ['application/x-aim', 'aim'],\n ['application/x-authorware-bin', 'aab'],\n ['application/x-authorware-map', 'aam'],\n ['application/x-authorware-seg', 'aas'],\n ['application/x-bcpio', 'bcpio'],\n ['application/x-binary', 'bin'],\n ['application/x-binhex40', 'hqx'],\n ['application/x-bittorrent', 'torrent'],\n ['application/x-bsh', ['bsh', 'sh', 'shar']],\n ['application/x-bytecode.elisp', 'elc'],\n ['applicaiton/x-bytecode.python', 'pyc'],\n ['application/x-bzip', 'bz'],\n ['application/x-bzip2', ['boz', 'bz2']],\n ['application/x-cdf', 'cdf'],\n ['application/x-cdlink', 'vcd'],\n ['application/x-chat', ['cha', 'chat']],\n ['application/x-chess-pgn', 'pgn'],\n ['application/x-cmu-raster', 'ras'],\n ['application/x-cocoa', 'cco'],\n ['application/x-compactpro', 'cpt'],\n ['application/x-compress', 'z'],\n ['application/x-compressed', ['tgz', 'gz', 'z', 'zip']],\n ['application/x-conference', 'nsc'],\n ['application/x-cpio', 'cpio'],\n ['application/x-cpt', 'cpt'],\n ['application/x-csh', 'csh'],\n ['application/x-debian-package', 'deb'],\n ['application/x-deepv', 'deepv'],\n ['application/x-director', ['dir', 'dcr', 'dxr']],\n ['application/x-doom', 'wad'],\n ['application/x-dtbncx+xml', 'ncx'],\n ['application/x-dtbook+xml', 'dtb'],\n ['application/x-dtbresource+xml', 'res'],\n ['application/x-dvi', 'dvi'],\n ['application/x-elc', 'elc'],\n ['application/x-envoy', ['env', 'evy']],\n ['application/x-esrehber', 'es'],\n ['application/x-excel', ['xls', 'xla', 'xlb', 'xlc', 'xld', 'xlk', 'xll', 'xlm', 'xlt', 'xlv', 'xlw']],\n ['application/x-font-bdf', 'bdf'],\n ['application/x-font-ghostscript', 'gsf'],\n ['application/x-font-linux-psf', 'psf'],\n ['application/x-font-otf', 'otf'],\n ['application/x-font-pcf', 'pcf'],\n ['application/x-font-snf', 'snf'],\n ['application/x-font-ttf', 'ttf'],\n ['application/x-font-type1', 'pfa'],\n ['application/x-font-woff', 'woff'],\n ['application/x-frame', 'mif'],\n ['application/x-freelance', 'pre'],\n ['application/x-futuresplash', 'spl'],\n ['application/x-gnumeric', 'gnumeric'],\n ['application/x-gsp', 'gsp'],\n ['application/x-gss', 'gss'],\n ['application/x-gtar', 'gtar'],\n ['application/x-gzip', ['gz', 'gzip']],\n ['application/x-hdf', 'hdf'],\n ['application/x-helpfile', ['help', 'hlp']],\n ['application/x-httpd-imap', 'imap'],\n ['application/x-ima', 'ima'],\n ['application/x-internet-signup', ['ins', 'isp']],\n ['application/x-internett-signup', 'ins'],\n ['application/x-inventor', 'iv'],\n ['application/x-ip2', 'ip'],\n ['application/x-iphone', 'iii'],\n ['application/x-java-class', 'class'],\n ['application/x-java-commerce', 'jcm'],\n ['application/x-java-jnlp-file', 'jnlp'],\n ['application/x-javascript', 'js'],\n ['application/x-koan', ['skd', 'skm', 'skp', 'skt']],\n ['application/x-ksh', 'ksh'],\n ['application/x-latex', ['latex', 'ltx']],\n ['application/x-lha', 'lha'],\n ['application/x-lisp', 'lsp'],\n ['application/x-livescreen', 'ivy'],\n ['application/x-lotus', 'wq1'],\n ['application/x-lotusscreencam', 'scm'],\n ['application/x-lzh', 'lzh'],\n ['application/x-lzx', 'lzx'],\n ['application/x-mac-binhex40', 'hqx'],\n ['application/x-macbinary', 'bin'],\n ['application/x-magic-cap-package-1.0', 'mc$'],\n ['application/x-mathcad', 'mcd'],\n ['application/x-meme', 'mm'],\n ['application/x-midi', ['mid', 'midi']],\n ['application/x-mif', 'mif'],\n ['application/x-mix-transfer', 'nix'],\n ['application/x-mobipocket-ebook', 'prc'],\n ['application/x-mplayer2', 'asx'],\n ['application/x-ms-application', 'application'],\n ['application/x-ms-wmd', 'wmd'],\n ['application/x-ms-wmz', 'wmz'],\n ['application/x-ms-xbap', 'xbap'],\n ['application/x-msaccess', 'mdb'],\n ['application/x-msbinder', 'obd'],\n ['application/x-mscardfile', 'crd'],\n ['application/x-msclip', 'clp'],\n ['application/x-msdownload', ['exe', 'dll']],\n ['application/x-msexcel', ['xls', 'xla', 'xlw']],\n ['application/x-msmediaview', ['mvb', 'm13', 'm14']],\n ['application/x-msmetafile', 'wmf'],\n ['application/x-msmoney', 'mny'],\n ['application/x-mspowerpoint', 'ppt'],\n ['application/x-mspublisher', 'pub'],\n ['application/x-msschedule', 'scd'],\n ['application/x-msterminal', 'trm'],\n ['application/x-mswrite', 'wri'],\n ['application/x-navi-animation', 'ani'],\n ['application/x-navidoc', 'nvd'],\n ['application/x-navimap', 'map'],\n ['application/x-navistyle', 'stl'],\n ['application/x-netcdf', ['cdf', 'nc']],\n ['application/x-newton-compatible-pkg', 'pkg'],\n ['application/x-nokia-9000-communicator-add-on-software', 'aos'],\n ['application/x-omc', 'omc'],\n ['application/x-omcdatamaker', 'omcd'],\n ['application/x-omcregerator', 'omcr'],\n ['application/x-pagemaker', ['pm4', 'pm5']],\n ['application/x-pcl', 'pcl'],\n ['application/x-perfmon', ['pma', 'pmc', 'pml', 'pmr', 'pmw']],\n ['application/x-pixclscript', 'plx'],\n ['application/x-pkcs10', 'p10'],\n ['application/x-pkcs12', ['p12', 'pfx']],\n ['application/x-pkcs7-certificates', ['p7b', 'spc']],\n ['application/x-pkcs7-certreqresp', 'p7r'],\n ['application/x-pkcs7-mime', ['p7m', 'p7c']],\n ['application/x-pkcs7-signature', ['p7s', 'p7a']],\n ['application/x-pointplus', 'css'],\n ['application/x-portable-anymap', 'pnm'],\n ['application/x-project', ['mpc', 'mpt', 'mpv', 'mpx']],\n ['application/x-qpro', 'wb1'],\n ['application/x-rar-compressed', 'rar'],\n ['application/x-rtf', 'rtf'],\n ['application/x-sdp', 'sdp'],\n ['application/x-sea', 'sea'],\n ['application/x-seelogo', 'sl'],\n ['application/x-sh', 'sh'],\n ['application/x-shar', ['shar', 'sh']],\n ['application/x-shockwave-flash', 'swf'],\n ['application/x-silverlight-app', 'xap'],\n ['application/x-sit', 'sit'],\n ['application/x-sprite', ['spr', 'sprite']],\n ['application/x-stuffit', 'sit'],\n ['application/x-stuffitx', 'sitx'],\n ['application/x-sv4cpio', 'sv4cpio'],\n ['application/x-sv4crc', 'sv4crc'],\n ['application/x-tar', 'tar'],\n ['application/x-tbook', ['sbk', 'tbk']],\n ['application/x-tcl', 'tcl'],\n ['application/x-tex', 'tex'],\n ['application/x-tex-tfm', 'tfm'],\n ['application/x-texinfo', ['texi', 'texinfo']],\n ['application/x-troff', ['roff', 't', 'tr']],\n ['application/x-troff-man', 'man'],\n ['application/x-troff-me', 'me'],\n ['application/x-troff-ms', 'ms'],\n ['application/x-troff-msvideo', 'avi'],\n ['application/x-ustar', 'ustar'],\n ['application/x-visio', ['vsd', 'vst', 'vsw']],\n ['application/x-vnd.audioexplosion.mzz', 'mzz'],\n ['application/x-vnd.ls-xpix', 'xpix'],\n ['application/x-vrml', 'vrml'],\n ['application/x-wais-source', ['src', 'wsrc']],\n ['application/x-winhelp', 'hlp'],\n ['application/x-wintalk', 'wtk'],\n ['application/x-world', ['wrl', 'svr']],\n ['application/x-wpwin', 'wpd'],\n ['application/x-wri', 'wri'],\n ['application/x-x509-ca-cert', ['cer', 'crt', 'der']],\n ['application/x-x509-user-cert', 'crt'],\n ['application/x-xfig', 'fig'],\n ['application/x-xpinstall', 'xpi'],\n ['application/x-zip-compressed', 'zip'],\n ['application/xcap-diff+xml', 'xdf'],\n ['application/xenc+xml', 'xenc'],\n ['application/xhtml+xml', 'xhtml'],\n ['application/xml', 'xml'],\n ['application/xml-dtd', 'dtd'],\n ['application/xop+xml', 'xop'],\n ['application/xslt+xml', 'xslt'],\n ['application/xspf+xml', 'xspf'],\n ['application/xv+xml', 'mxml'],\n ['application/yang', 'yang'],\n ['application/yin+xml', 'yin'],\n ['application/ynd.ms-pkipko', 'pko'],\n ['application/zip', 'zip'],\n ['audio/adpcm', 'adp'],\n ['audio/aiff', ['aiff', 'aif', 'aifc']],\n ['audio/basic', ['snd', 'au']],\n ['audio/it', 'it'],\n ['audio/make', ['funk', 'my', 'pfunk']],\n ['audio/make.my.funk', 'pfunk'],\n ['audio/mid', ['mid', 'rmi']],\n ['audio/midi', ['midi', 'kar', 'mid']],\n ['audio/mod', 'mod'],\n ['audio/mp4', 'mp4a'],\n ['audio/mpeg', ['mpga', 'mp3', 'm2a', 'mp2', 'mpa', 'mpg']],\n ['audio/mpeg3', 'mp3'],\n ['audio/nspaudio', ['la', 'lma']],\n ['audio/ogg', 'oga'],\n ['audio/s3m', 's3m'],\n ['audio/tsp-audio', 'tsi'],\n ['audio/tsplayer', 'tsp'],\n ['audio/vnd.dece.audio', 'uva'],\n ['audio/vnd.digital-winds', 'eol'],\n ['audio/vnd.dra', 'dra'],\n ['audio/vnd.dts', 'dts'],\n ['audio/vnd.dts.hd', 'dtshd'],\n ['audio/vnd.lucent.voice', 'lvp'],\n ['audio/vnd.ms-playready.media.pya', 'pya'],\n ['audio/vnd.nuera.ecelp4800', 'ecelp4800'],\n ['audio/vnd.nuera.ecelp7470', 'ecelp7470'],\n ['audio/vnd.nuera.ecelp9600', 'ecelp9600'],\n ['audio/vnd.qcelp', 'qcp'],\n ['audio/vnd.rip', 'rip'],\n ['audio/voc', 'voc'],\n ['audio/voxware', 'vox'],\n ['audio/wav', 'wav'],\n ['audio/webm', 'weba'],\n ['audio/x-aac', 'aac'],\n ['audio/x-adpcm', 'snd'],\n ['audio/x-aiff', ['aiff', 'aif', 'aifc']],\n ['audio/x-au', 'au'],\n ['audio/x-gsm', ['gsd', 'gsm']],\n ['audio/x-jam', 'jam'],\n ['audio/x-liveaudio', 'lam'],\n ['audio/x-mid', ['mid', 'midi']],\n ['audio/x-midi', ['midi', 'mid']],\n ['audio/x-mod', 'mod'],\n ['audio/x-mpeg', 'mp2'],\n ['audio/x-mpeg-3', 'mp3'],\n ['audio/x-mpegurl', 'm3u'],\n ['audio/x-mpequrl', 'm3u'],\n ['audio/x-ms-wax', 'wax'],\n ['audio/x-ms-wma', 'wma'],\n ['audio/x-nspaudio', ['la', 'lma']],\n ['audio/x-pn-realaudio', ['ra', 'ram', 'rm', 'rmm', 'rmp']],\n ['audio/x-pn-realaudio-plugin', ['ra', 'rmp', 'rpm']],\n ['audio/x-psid', 'sid'],\n ['audio/x-realaudio', 'ra'],\n ['audio/x-twinvq', 'vqf'],\n ['audio/x-twinvq-plugin', ['vqe', 'vql']],\n ['audio/x-vnd.audioexplosion.mjuicemediafile', 'mjf'],\n ['audio/x-voc', 'voc'],\n ['audio/x-wav', 'wav'],\n ['audio/xm', 'xm'],\n ['chemical/x-cdx', 'cdx'],\n ['chemical/x-cif', 'cif'],\n ['chemical/x-cmdf', 'cmdf'],\n ['chemical/x-cml', 'cml'],\n ['chemical/x-csml', 'csml'],\n ['chemical/x-pdb', ['pdb', 'xyz']],\n ['chemical/x-xyz', 'xyz'],\n ['drawing/x-dwf', 'dwf'],\n ['i-world/i-vrml', 'ivr'],\n ['image/bmp', ['bmp', 'bm']],\n ['image/cgm', 'cgm'],\n ['image/cis-cod', 'cod'],\n ['image/cmu-raster', ['ras', 'rast']],\n ['image/fif', 'fif'],\n ['image/florian', ['flo', 'turbot']],\n ['image/g3fax', 'g3'],\n ['image/gif', 'gif'],\n ['image/ief', ['ief', 'iefs']],\n ['image/jpeg', ['jpeg', 'jpe', 'jpg', 'jfif', 'jfif-tbnl']],\n ['image/jutvision', 'jut'],\n ['image/ktx', 'ktx'],\n ['image/naplps', ['nap', 'naplps']],\n ['image/pict', ['pic', 'pict']],\n ['image/pipeg', 'jfif'],\n ['image/pjpeg', ['jfif', 'jpe', 'jpeg', 'jpg']],\n ['image/png', ['png', 'x-png']],\n ['image/prs.btif', 'btif'],\n ['image/svg+xml', 'svg'],\n ['image/tiff', ['tif', 'tiff']],\n ['image/vasa', 'mcf'],\n ['image/vnd.adobe.photoshop', 'psd'],\n ['image/vnd.dece.graphic', 'uvi'],\n ['image/vnd.djvu', 'djvu'],\n ['image/vnd.dvb.subtitle', 'sub'],\n ['image/vnd.dwg', ['dwg', 'dxf', 'svf']],\n ['image/vnd.dxf', 'dxf'],\n ['image/vnd.fastbidsheet', 'fbs'],\n ['image/vnd.fpx', 'fpx'],\n ['image/vnd.fst', 'fst'],\n ['image/vnd.fujixerox.edmics-mmr', 'mmr'],\n ['image/vnd.fujixerox.edmics-rlc', 'rlc'],\n ['image/vnd.ms-modi', 'mdi'],\n ['image/vnd.net-fpx', ['fpx', 'npx']],\n ['image/vnd.rn-realflash', 'rf'],\n ['image/vnd.rn-realpix', 'rp'],\n ['image/vnd.wap.wbmp', 'wbmp'],\n ['image/vnd.xiff', 'xif'],\n ['image/webp', 'webp'],\n ['image/x-cmu-raster', 'ras'],\n ['image/x-cmx', 'cmx'],\n ['image/x-dwg', ['dwg', 'dxf', 'svf']],\n ['image/x-freehand', 'fh'],\n ['image/x-icon', 'ico'],\n ['image/x-jg', 'art'],\n ['image/x-jps', 'jps'],\n ['image/x-niff', ['niff', 'nif']],\n ['image/x-pcx', 'pcx'],\n ['image/x-pict', ['pct', 'pic']],\n ['image/x-portable-anymap', 'pnm'],\n ['image/x-portable-bitmap', 'pbm'],\n ['image/x-portable-graymap', 'pgm'],\n ['image/x-portable-greymap', 'pgm'],\n ['image/x-portable-pixmap', 'ppm'],\n ['image/x-quicktime', ['qif', 'qti', 'qtif']],\n ['image/x-rgb', 'rgb'],\n ['image/x-tiff', ['tif', 'tiff']],\n ['image/x-windows-bmp', 'bmp'],\n ['image/x-xbitmap', 'xbm'],\n ['image/x-xbm', 'xbm'],\n ['image/x-xpixmap', ['xpm', 'pm']],\n ['image/x-xwd', 'xwd'],\n ['image/x-xwindowdump', 'xwd'],\n ['image/xbm', 'xbm'],\n ['image/xpm', 'xpm'],\n ['message/rfc822', ['eml', 'mht', 'mhtml', 'nws', 'mime']],\n ['model/iges', ['iges', 'igs']],\n ['model/mesh', 'msh'],\n ['model/vnd.collada+xml', 'dae'],\n ['model/vnd.dwf', 'dwf'],\n ['model/vnd.gdl', 'gdl'],\n ['model/vnd.gtw', 'gtw'],\n ['model/vnd.mts', 'mts'],\n ['model/vnd.vtu', 'vtu'],\n ['model/vrml', ['vrml', 'wrl', 'wrz']],\n ['model/x-pov', 'pov'],\n ['multipart/x-gzip', 'gzip'],\n ['multipart/x-ustar', 'ustar'],\n ['multipart/x-zip', 'zip'],\n ['music/crescendo', ['mid', 'midi']],\n ['music/x-karaoke', 'kar'],\n ['paleovu/x-pv', 'pvu'],\n ['text/asp', 'asp'],\n ['text/calendar', 'ics'],\n ['text/css', 'css'],\n ['text/csv', 'csv'],\n ['text/ecmascript', 'js'],\n ['text/h323', '323'],\n ['text/html', ['html', 'htm', 'stm', 'acgi', 'htmls', 'htx', 'shtml']],\n ['text/iuls', 'uls'],\n ['text/javascript', 'js'],\n ['text/mcf', 'mcf'],\n ['text/n3', 'n3'],\n ['text/pascal', 'pas'],\n [\n 'text/plain',\n [\n 'txt',\n 'bas',\n 'c',\n 'h',\n 'c++',\n 'cc',\n 'com',\n 'conf',\n 'cxx',\n 'def',\n 'f',\n 'f90',\n 'for',\n 'g',\n 'hh',\n 'idc',\n 'jav',\n 'java',\n 'list',\n 'log',\n 'lst',\n 'm',\n 'mar',\n 'pl',\n 'sdml',\n 'text'\n ]\n ],\n ['text/plain-bas', 'par'],\n ['text/prs.lines.tag', 'dsc'],\n ['text/richtext', ['rtx', 'rt', 'rtf']],\n ['text/scriplet', 'wsc'],\n ['text/scriptlet', 'sct'],\n ['text/sgml', ['sgm', 'sgml']],\n ['text/tab-separated-values', 'tsv'],\n ['text/troff', 't'],\n ['text/turtle', 'ttl'],\n ['text/uri-list', ['uni', 'unis', 'uri', 'uris']],\n ['text/vnd.abc', 'abc'],\n ['text/vnd.curl', 'curl'],\n ['text/vnd.curl.dcurl', 'dcurl'],\n ['text/vnd.curl.mcurl', 'mcurl'],\n ['text/vnd.curl.scurl', 'scurl'],\n ['text/vnd.fly', 'fly'],\n ['text/vnd.fmi.flexstor', 'flx'],\n ['text/vnd.graphviz', 'gv'],\n ['text/vnd.in3d.3dml', '3dml'],\n ['text/vnd.in3d.spot', 'spot'],\n ['text/vnd.rn-realtext', 'rt'],\n ['text/vnd.sun.j2me.app-descriptor', 'jad'],\n ['text/vnd.wap.wml', 'wml'],\n ['text/vnd.wap.wmlscript', 'wmls'],\n ['text/webviewhtml', 'htt'],\n ['text/x-asm', ['asm', 's']],\n ['text/x-audiosoft-intra', 'aip'],\n ['text/x-c', ['c', 'cc', 'cpp']],\n ['text/x-component', 'htc'],\n ['text/x-fortran', ['for', 'f', 'f77', 'f90']],\n ['text/x-h', ['h', 'hh']],\n ['text/x-java-source', ['java', 'jav']],\n ['text/x-java-source,java', 'java'],\n ['text/x-la-asf', 'lsx'],\n ['text/x-m', 'm'],\n ['text/x-pascal', 'p'],\n ['text/x-script', 'hlb'],\n ['text/x-script.csh', 'csh'],\n ['text/x-script.elisp', 'el'],\n ['text/x-script.guile', 'scm'],\n ['text/x-script.ksh', 'ksh'],\n ['text/x-script.lisp', 'lsp'],\n ['text/x-script.perl', 'pl'],\n ['text/x-script.perl-module', 'pm'],\n ['text/x-script.phyton', 'py'],\n ['text/x-script.rexx', 'rexx'],\n ['text/x-script.scheme', 'scm'],\n ['text/x-script.sh', 'sh'],\n ['text/x-script.tcl', 'tcl'],\n ['text/x-script.tcsh', 'tcsh'],\n ['text/x-script.zsh', 'zsh'],\n ['text/x-server-parsed-html', ['shtml', 'ssi']],\n ['text/x-setext', 'etx'],\n ['text/x-sgml', ['sgm', 'sgml']],\n ['text/x-speech', ['spc', 'talk']],\n ['text/x-uil', 'uil'],\n ['text/x-uuencode', ['uu', 'uue']],\n ['text/x-vcalendar', 'vcs'],\n ['text/x-vcard', 'vcf'],\n ['text/xml', 'xml'],\n ['video/3gpp', '3gp'],\n ['video/3gpp2', '3g2'],\n ['video/animaflex', 'afl'],\n ['video/avi', 'avi'],\n ['video/avs-video', 'avs'],\n ['video/dl', 'dl'],\n ['video/fli', 'fli'],\n ['video/gl', 'gl'],\n ['video/h261', 'h261'],\n ['video/h263', 'h263'],\n ['video/h264', 'h264'],\n ['video/jpeg', 'jpgv'],\n ['video/jpm', 'jpm'],\n ['video/mj2', 'mj2'],\n ['video/mp4', 'mp4'],\n ['video/mpeg', ['mpeg', 'mp2', 'mpa', 'mpe', 'mpg', 'mpv2', 'm1v', 'm2v', 'mp3']],\n ['video/msvideo', 'avi'],\n ['video/ogg', 'ogv'],\n ['video/quicktime', ['mov', 'qt', 'moov']],\n ['video/vdo', 'vdo'],\n ['video/vivo', ['viv', 'vivo']],\n ['video/vnd.dece.hd', 'uvh'],\n ['video/vnd.dece.mobile', 'uvm'],\n ['video/vnd.dece.pd', 'uvp'],\n ['video/vnd.dece.sd', 'uvs'],\n ['video/vnd.dece.video', 'uvv'],\n ['video/vnd.fvt', 'fvt'],\n ['video/vnd.mpegurl', 'mxu'],\n ['video/vnd.ms-playready.media.pyv', 'pyv'],\n ['video/vnd.rn-realvideo', 'rv'],\n ['video/vnd.uvvu.mp4', 'uvu'],\n ['video/vnd.vivo', ['viv', 'vivo']],\n ['video/vosaic', 'vos'],\n ['video/webm', 'webm'],\n ['video/x-amt-demorun', 'xdr'],\n ['video/x-amt-showrun', 'xsr'],\n ['video/x-atomic3d-feature', 'fmf'],\n ['video/x-dl', 'dl'],\n ['video/x-dv', ['dif', 'dv']],\n ['video/x-f4v', 'f4v'],\n ['video/x-fli', 'fli'],\n ['video/x-flv', 'flv'],\n ['video/x-gl', 'gl'],\n ['video/x-isvideo', 'isu'],\n ['video/x-la-asf', ['lsf', 'lsx']],\n ['video/x-m4v', 'm4v'],\n ['video/x-motion-jpeg', 'mjpg'],\n ['video/x-mpeg', ['mp3', 'mp2']],\n ['video/x-mpeq2a', 'mp2'],\n ['video/x-ms-asf', ['asf', 'asr', 'asx']],\n ['video/x-ms-asf-plugin', 'asx'],\n ['video/x-ms-wm', 'wm'],\n ['video/x-ms-wmv', 'wmv'],\n ['video/x-ms-wmx', 'wmx'],\n ['video/x-ms-wvx', 'wvx'],\n ['video/x-msvideo', 'avi'],\n ['video/x-qtc', 'qtc'],\n ['video/x-scm', 'scm'],\n ['video/x-sgi-movie', ['movie', 'mv']],\n ['windows/metafile', 'wmf'],\n ['www/mime', 'mime'],\n ['x-conference/x-cooltalk', 'ice'],\n ['x-music/x-midi', ['mid', 'midi']],\n ['x-world/x-3dmf', ['3dm', '3dmf', 'qd3', 'qd3d']],\n ['x-world/x-svr', 'svr'],\n ['x-world/x-vrml', ['flr', 'vrml', 'wrl', 'wrz', 'xaf', 'xof']],\n ['x-world/x-vrt', 'vrt'],\n ['xgl/drawing', 'xgz'],\n ['xgl/movie', 'xmz']\n]);\nconst extensions = new Map([\n ['123', 'application/vnd.lotus-1-2-3'],\n ['323', 'text/h323'],\n ['*', 'application/octet-stream'],\n ['3dm', 'x-world/x-3dmf'],\n ['3dmf', 'x-world/x-3dmf'],\n ['3dml', 'text/vnd.in3d.3dml'],\n ['3g2', 'video/3gpp2'],\n ['3gp', 'video/3gpp'],\n ['7z', 'application/x-7z-compressed'],\n ['a', 'application/octet-stream'],\n ['aab', 'application/x-authorware-bin'],\n ['aac', 'audio/x-aac'],\n ['aam', 'application/x-authorware-map'],\n ['aas', 'application/x-authorware-seg'],\n ['abc', 'text/vnd.abc'],\n ['abw', 'application/x-abiword'],\n ['ac', 'application/pkix-attr-cert'],\n ['acc', 'application/vnd.americandynamics.acc'],\n ['ace', 'application/x-ace-compressed'],\n ['acgi', 'text/html'],\n ['acu', 'application/vnd.acucobol'],\n ['acx', 'application/internet-property-stream'],\n ['adp', 'audio/adpcm'],\n ['aep', 'application/vnd.audiograph'],\n ['afl', 'video/animaflex'],\n ['afp', 'application/vnd.ibm.modcap'],\n ['ahead', 'application/vnd.ahead.space'],\n ['ai', 'application/postscript'],\n ['aif', ['audio/aiff', 'audio/x-aiff']],\n ['aifc', ['audio/aiff', 'audio/x-aiff']],\n ['aiff', ['audio/aiff', 'audio/x-aiff']],\n ['aim', 'application/x-aim'],\n ['aip', 'text/x-audiosoft-intra'],\n ['air', 'application/vnd.adobe.air-application-installer-package+zip'],\n ['ait', 'application/vnd.dvb.ait'],\n ['ami', 'application/vnd.amiga.ami'],\n ['ani', 'application/x-navi-animation'],\n ['aos', 'application/x-nokia-9000-communicator-add-on-software'],\n ['apk', 'application/vnd.android.package-archive'],\n ['application', 'application/x-ms-application'],\n ['apr', 'application/vnd.lotus-approach'],\n ['aps', 'application/mime'],\n ['arc', 'application/octet-stream'],\n ['arj', ['application/arj', 'application/octet-stream']],\n ['art', 'image/x-jg'],\n ['asf', 'video/x-ms-asf'],\n ['asm', 'text/x-asm'],\n ['aso', 'application/vnd.accpac.simply.aso'],\n ['asp', 'text/asp'],\n ['asr', 'video/x-ms-asf'],\n ['asx', ['video/x-ms-asf', 'application/x-mplayer2', 'video/x-ms-asf-plugin']],\n ['atc', 'application/vnd.acucorp'],\n ['atomcat', 'application/atomcat+xml'],\n ['atomsvc', 'application/atomsvc+xml'],\n ['atx', 'application/vnd.antix.game-component'],\n ['au', ['audio/basic', 'audio/x-au']],\n ['avi', ['video/avi', 'video/msvideo', 'application/x-troff-msvideo', 'video/x-msvideo']],\n ['avs', 'video/avs-video'],\n ['aw', 'application/applixware'],\n ['axs', 'application/olescript'],\n ['azf', 'application/vnd.airzip.filesecure.azf'],\n ['azs', 'application/vnd.airzip.filesecure.azs'],\n ['azw', 'application/vnd.amazon.ebook'],\n ['bas', 'text/plain'],\n ['bcpio', 'application/x-bcpio'],\n ['bdf', 'application/x-font-bdf'],\n ['bdm', 'application/vnd.syncml.dm+wbxml'],\n ['bed', 'application/vnd.realvnc.bed'],\n ['bh2', 'application/vnd.fujitsu.oasysprs'],\n ['bin', ['application/octet-stream', 'application/mac-binary', 'application/macbinary', 'application/x-macbinary', 'application/x-binary']],\n ['bm', 'image/bmp'],\n ['bmi', 'application/vnd.bmi'],\n ['bmp', ['image/bmp', 'image/x-windows-bmp']],\n ['boo', 'application/book'],\n ['book', 'application/book'],\n ['box', 'application/vnd.previewsystems.box'],\n ['boz', 'application/x-bzip2'],\n ['bsh', 'application/x-bsh'],\n ['btif', 'image/prs.btif'],\n ['bz', 'application/x-bzip'],\n ['bz2', 'application/x-bzip2'],\n ['c', ['text/plain', 'text/x-c']],\n ['c++', 'text/plain'],\n ['c11amc', 'application/vnd.cluetrust.cartomobile-config'],\n ['c11amz', 'application/vnd.cluetrust.cartomobile-config-pkg'],\n ['c4g', 'application/vnd.clonk.c4group'],\n ['cab', 'application/vnd.ms-cab-compressed'],\n ['car', 'application/vnd.curl.car'],\n ['cat', ['application/vnd.ms-pkiseccat', 'application/vnd.ms-pki.seccat']],\n ['cc', ['text/plain', 'text/x-c']],\n ['ccad', 'application/clariscad'],\n ['cco', 'application/x-cocoa'],\n ['ccxml', 'application/ccxml+xml,'],\n ['cdbcmsg', 'application/vnd.contact.cmsg'],\n ['cdf', ['application/cdf', 'application/x-cdf', 'application/x-netcdf']],\n ['cdkey', 'application/vnd.mediastation.cdkey'],\n ['cdmia', 'application/cdmi-capability'],\n ['cdmic', 'application/cdmi-container'],\n ['cdmid', 'application/cdmi-domain'],\n ['cdmio', 'application/cdmi-object'],\n ['cdmiq', 'application/cdmi-queue'],\n ['cdx', 'chemical/x-cdx'],\n ['cdxml', 'application/vnd.chemdraw+xml'],\n ['cdy', 'application/vnd.cinderella'],\n ['cer', ['application/pkix-cert', 'application/x-x509-ca-cert']],\n ['cgm', 'image/cgm'],\n ['cha', 'application/x-chat'],\n ['chat', 'application/x-chat'],\n ['chm', 'application/vnd.ms-htmlhelp'],\n ['chrt', 'application/vnd.kde.kchart'],\n ['cif', 'chemical/x-cif'],\n ['cii', 'application/vnd.anser-web-certificate-issue-initiation'],\n ['cil', 'application/vnd.ms-artgalry'],\n ['cla', 'application/vnd.claymore'],\n ['class', ['application/octet-stream', 'application/java', 'application/java-byte-code', 'application/java-vm', 'application/x-java-class']],\n ['clkk', 'application/vnd.crick.clicker.keyboard'],\n ['clkp', 'application/vnd.crick.clicker.palette'],\n ['clkt', 'application/vnd.crick.clicker.template'],\n ['clkw', 'application/vnd.crick.clicker.wordbank'],\n ['clkx', 'application/vnd.crick.clicker'],\n ['clp', 'application/x-msclip'],\n ['cmc', 'application/vnd.cosmocaller'],\n ['cmdf', 'chemical/x-cmdf'],\n ['cml', 'chemical/x-cml'],\n ['cmp', 'application/vnd.yellowriver-custom-menu'],\n ['cmx', 'image/x-cmx'],\n ['cod', ['image/cis-cod', 'application/vnd.rim.cod']],\n ['com', ['application/octet-stream', 'text/plain']],\n ['conf', 'text/plain'],\n ['cpio', 'application/x-cpio'],\n ['cpp', 'text/x-c'],\n ['cpt', ['application/mac-compactpro', 'application/x-compactpro', 'application/x-cpt']],\n ['crd', 'application/x-mscardfile'],\n ['crl', ['application/pkix-crl', 'application/pkcs-crl']],\n ['crt', ['application/pkix-cert', 'application/x-x509-user-cert', 'application/x-x509-ca-cert']],\n ['cryptonote', 'application/vnd.rig.cryptonote'],\n ['csh', ['text/x-script.csh', 'application/x-csh']],\n ['csml', 'chemical/x-csml'],\n ['csp', 'application/vnd.commonspace'],\n ['css', ['text/css', 'application/x-pointplus']],\n ['csv', 'text/csv'],\n ['cu', 'application/cu-seeme'],\n ['curl', 'text/vnd.curl'],\n ['cww', 'application/prs.cww'],\n ['cxx', 'text/plain'],\n ['dae', 'model/vnd.collada+xml'],\n ['daf', 'application/vnd.mobius.daf'],\n ['davmount', 'application/davmount+xml'],\n ['dcr', 'application/x-director'],\n ['dcurl', 'text/vnd.curl.dcurl'],\n ['dd2', 'application/vnd.oma.dd2+xml'],\n ['ddd', 'application/vnd.fujixerox.ddd'],\n ['deb', 'application/x-debian-package'],\n ['deepv', 'application/x-deepv'],\n ['def', 'text/plain'],\n ['der', 'application/x-x509-ca-cert'],\n ['dfac', 'application/vnd.dreamfactory'],\n ['dif', 'video/x-dv'],\n ['dir', 'application/x-director'],\n ['dis', 'application/vnd.mobius.dis'],\n ['djvu', 'image/vnd.djvu'],\n ['dl', ['video/dl', 'video/x-dl']],\n ['dll', 'application/x-msdownload'],\n ['dms', 'application/octet-stream'],\n ['dna', 'application/vnd.dna'],\n ['doc', 'application/msword'],\n ['docm', 'application/vnd.ms-word.document.macroenabled.12'],\n ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],\n ['dot', 'application/msword'],\n ['dotm', 'application/vnd.ms-word.template.macroenabled.12'],\n ['dotx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.template'],\n ['dp', ['application/commonground', 'application/vnd.osgi.dp']],\n ['dpg', 'application/vnd.dpgraph'],\n ['dra', 'audio/vnd.dra'],\n ['drw', 'application/drafting'],\n ['dsc', 'text/prs.lines.tag'],\n ['dssc', 'application/dssc+der'],\n ['dtb', 'application/x-dtbook+xml'],\n ['dtd', 'application/xml-dtd'],\n ['dts', 'audio/vnd.dts'],\n ['dtshd', 'audio/vnd.dts.hd'],\n ['dump', 'application/octet-stream'],\n ['dv', 'video/x-dv'],\n ['dvi', 'application/x-dvi'],\n ['dwf', ['model/vnd.dwf', 'drawing/x-dwf']],\n ['dwg', ['application/acad', 'image/vnd.dwg', 'image/x-dwg']],\n ['dxf', ['application/dxf', 'image/vnd.dwg', 'image/vnd.dxf', 'image/x-dwg']],\n ['dxp', 'application/vnd.spotfire.dxp'],\n ['dxr', 'application/x-director'],\n ['ecelp4800', 'audio/vnd.nuera.ecelp4800'],\n ['ecelp7470', 'audio/vnd.nuera.ecelp7470'],\n ['ecelp9600', 'audio/vnd.nuera.ecelp9600'],\n ['edm', 'application/vnd.novadigm.edm'],\n ['edx', 'application/vnd.novadigm.edx'],\n ['efif', 'application/vnd.picsel'],\n ['ei6', 'application/vnd.pg.osasli'],\n ['el', 'text/x-script.elisp'],\n ['elc', ['application/x-elc', 'application/x-bytecode.elisp']],\n ['eml', 'message/rfc822'],\n ['emma', 'application/emma+xml'],\n ['env', 'application/x-envoy'],\n ['eol', 'audio/vnd.digital-winds'],\n ['eot', 'application/vnd.ms-fontobject'],\n ['eps', 'application/postscript'],\n ['epub', 'application/epub+zip'],\n ['es', ['application/ecmascript', 'application/x-esrehber']],\n ['es3', 'application/vnd.eszigno3+xml'],\n ['esf', 'application/vnd.epson.esf'],\n ['etx', 'text/x-setext'],\n ['evy', ['application/envoy', 'application/x-envoy']],\n ['exe', ['application/octet-stream', 'application/x-msdownload']],\n ['exi', 'application/exi'],\n ['ext', 'application/vnd.novadigm.ext'],\n ['ez2', 'application/vnd.ezpix-album'],\n ['ez3', 'application/vnd.ezpix-package'],\n ['f', ['text/plain', 'text/x-fortran']],\n ['f4v', 'video/x-f4v'],\n ['f77', 'text/x-fortran'],\n ['f90', ['text/plain', 'text/x-fortran']],\n ['fbs', 'image/vnd.fastbidsheet'],\n ['fcs', 'application/vnd.isac.fcs'],\n ['fdf', 'application/vnd.fdf'],\n ['fe_launch', 'application/vnd.denovo.fcselayout-link'],\n ['fg5', 'application/vnd.fujitsu.oasysgp'],\n ['fh', 'image/x-freehand'],\n ['fif', ['application/fractals', 'image/fif']],\n ['fig', 'application/x-xfig'],\n ['fli', ['video/fli', 'video/x-fli']],\n ['flo', ['image/florian', 'application/vnd.micrografx.flo']],\n ['flr', 'x-world/x-vrml'],\n ['flv', 'video/x-flv'],\n ['flw', 'application/vnd.kde.kivio'],\n ['flx', 'text/vnd.fmi.flexstor'],\n ['fly', 'text/vnd.fly'],\n ['fm', 'application/vnd.framemaker'],\n ['fmf', 'video/x-atomic3d-feature'],\n ['fnc', 'application/vnd.frogans.fnc'],\n ['for', ['text/plain', 'text/x-fortran']],\n ['fpx', ['image/vnd.fpx', 'image/vnd.net-fpx']],\n ['frl', 'application/freeloader'],\n ['fsc', 'application/vnd.fsc.weblaunch'],\n ['fst', 'image/vnd.fst'],\n ['ftc', 'application/vnd.fluxtime.clip'],\n ['fti', 'application/vnd.anser-web-funds-transfer-initiation'],\n ['funk', 'audio/make'],\n ['fvt', 'video/vnd.fvt'],\n ['fxp', 'application/vnd.adobe.fxp'],\n ['fzs', 'application/vnd.fuzzysheet'],\n ['g', 'text/plain'],\n ['g2w', 'application/vnd.geoplan'],\n ['g3', 'image/g3fax'],\n ['g3w', 'application/vnd.geospace'],\n ['gac', 'application/vnd.groove-account'],\n ['gdl', 'model/vnd.gdl'],\n ['geo', 'application/vnd.dynageo'],\n ['gex', 'application/vnd.geometry-explorer'],\n ['ggb', 'application/vnd.geogebra.file'],\n ['ggt', 'application/vnd.geogebra.tool'],\n ['ghf', 'application/vnd.groove-help'],\n ['gif', 'image/gif'],\n ['gim', 'application/vnd.groove-identity-message'],\n ['gl', ['video/gl', 'video/x-gl']],\n ['gmx', 'application/vnd.gmx'],\n ['gnumeric', 'application/x-gnumeric'],\n ['gph', 'application/vnd.flographit'],\n ['gqf', 'application/vnd.grafeq'],\n ['gram', 'application/srgs'],\n ['grv', 'application/vnd.groove-injector'],\n ['grxml', 'application/srgs+xml'],\n ['gsd', 'audio/x-gsm'],\n ['gsf', 'application/x-font-ghostscript'],\n ['gsm', 'audio/x-gsm'],\n ['gsp', 'application/x-gsp'],\n ['gss', 'application/x-gss'],\n ['gtar', 'application/x-gtar'],\n ['gtm', 'application/vnd.groove-tool-message'],\n ['gtw', 'model/vnd.gtw'],\n ['gv', 'text/vnd.graphviz'],\n ['gxt', 'application/vnd.geonext'],\n ['gz', ['application/x-gzip', 'application/x-compressed']],\n ['gzip', ['multipart/x-gzip', 'application/x-gzip']],\n ['h', ['text/plain', 'text/x-h']],\n ['h261', 'video/h261'],\n ['h263', 'video/h263'],\n ['h264', 'video/h264'],\n ['hal', 'application/vnd.hal+xml'],\n ['hbci', 'application/vnd.hbci'],\n ['hdf', 'application/x-hdf'],\n ['help', 'application/x-helpfile'],\n ['hgl', 'application/vnd.hp-hpgl'],\n ['hh', ['text/plain', 'text/x-h']],\n ['hlb', 'text/x-script'],\n ['hlp', ['application/winhlp', 'application/hlp', 'application/x-helpfile', 'application/x-winhelp']],\n ['hpg', 'application/vnd.hp-hpgl'],\n ['hpgl', 'application/vnd.hp-hpgl'],\n ['hpid', 'application/vnd.hp-hpid'],\n ['hps', 'application/vnd.hp-hps'],\n [\n 'hqx',\n [\n 'application/mac-binhex40',\n 'application/binhex',\n 'application/binhex4',\n 'application/mac-binhex',\n 'application/x-binhex40',\n 'application/x-mac-binhex40'\n ]\n ],\n ['hta', 'application/hta'],\n ['htc', 'text/x-component'],\n ['htke', 'application/vnd.kenameaapp'],\n ['htm', 'text/html'],\n ['html', 'text/html'],\n ['htmls', 'text/html'],\n ['htt', 'text/webviewhtml'],\n ['htx', 'text/html'],\n ['hvd', 'application/vnd.yamaha.hv-dic'],\n ['hvp', 'application/vnd.yamaha.hv-voice'],\n ['hvs', 'application/vnd.yamaha.hv-script'],\n ['i2g', 'application/vnd.intergeo'],\n ['icc', 'application/vnd.iccprofile'],\n ['ice', 'x-conference/x-cooltalk'],\n ['ico', 'image/x-icon'],\n ['ics', 'text/calendar'],\n ['idc', 'text/plain'],\n ['ief', 'image/ief'],\n ['iefs', 'image/ief'],\n ['ifm', 'application/vnd.shana.informed.formdata'],\n ['iges', ['application/iges', 'model/iges']],\n ['igl', 'application/vnd.igloader'],\n ['igm', 'application/vnd.insors.igm'],\n ['igs', ['application/iges', 'model/iges']],\n ['igx', 'application/vnd.micrografx.igx'],\n ['iif', 'application/vnd.shana.informed.interchange'],\n ['iii', 'application/x-iphone'],\n ['ima', 'application/x-ima'],\n ['imap', 'application/x-httpd-imap'],\n ['imp', 'application/vnd.accpac.simply.imp'],\n ['ims', 'application/vnd.ms-ims'],\n ['inf', 'application/inf'],\n ['ins', ['application/x-internet-signup', 'application/x-internett-signup']],\n ['ip', 'application/x-ip2'],\n ['ipfix', 'application/ipfix'],\n ['ipk', 'application/vnd.shana.informed.package'],\n ['irm', 'application/vnd.ibm.rights-management'],\n ['irp', 'application/vnd.irepository.package+xml'],\n ['isp', 'application/x-internet-signup'],\n ['isu', 'video/x-isvideo'],\n ['it', 'audio/it'],\n ['itp', 'application/vnd.shana.informed.formtemplate'],\n ['iv', 'application/x-inventor'],\n ['ivp', 'application/vnd.immervision-ivp'],\n ['ivr', 'i-world/i-vrml'],\n ['ivu', 'application/vnd.immervision-ivu'],\n ['ivy', 'application/x-livescreen'],\n ['jad', 'text/vnd.sun.j2me.app-descriptor'],\n ['jam', ['application/vnd.jam', 'audio/x-jam']],\n ['jar', 'application/java-archive'],\n ['jav', ['text/plain', 'text/x-java-source']],\n ['java', ['text/plain', 'text/x-java-source,java', 'text/x-java-source']],\n ['jcm', 'application/x-java-commerce'],\n ['jfif', ['image/pipeg', 'image/jpeg', 'image/pjpeg']],\n ['jfif-tbnl', 'image/jpeg'],\n ['jisp', 'application/vnd.jisp'],\n ['jlt', 'application/vnd.hp-jlyt'],\n ['jnlp', 'application/x-java-jnlp-file'],\n ['joda', 'application/vnd.joost.joda-archive'],\n ['jpe', ['image/jpeg', 'image/pjpeg']],\n ['jpeg', ['image/jpeg', 'image/pjpeg']],\n ['jpg', ['image/jpeg', 'image/pjpeg']],\n ['jpgv', 'video/jpeg'],\n ['jpm', 'video/jpm'],\n ['jps', 'image/x-jps'],\n ['js', ['application/javascript', 'application/ecmascript', 'text/javascript', 'text/ecmascript', 'application/x-javascript']],\n ['json', 'application/json'],\n ['jut', 'image/jutvision'],\n ['kar', ['audio/midi', 'music/x-karaoke']],\n ['karbon', 'application/vnd.kde.karbon'],\n ['kfo', 'application/vnd.kde.kformula'],\n ['kia', 'application/vnd.kidspiration'],\n ['kml', 'application/vnd.google-earth.kml+xml'],\n ['kmz', 'application/vnd.google-earth.kmz'],\n ['kne', 'application/vnd.kinar'],\n ['kon', 'application/vnd.kde.kontour'],\n ['kpr', 'application/vnd.kde.kpresenter'],\n ['ksh', ['application/x-ksh', 'text/x-script.ksh']],\n ['ksp', 'application/vnd.kde.kspread'],\n ['ktx', 'image/ktx'],\n ['ktz', 'application/vnd.kahootz'],\n ['kwd', 'application/vnd.kde.kword'],\n ['la', ['audio/nspaudio', 'audio/x-nspaudio']],\n ['lam', 'audio/x-liveaudio'],\n ['lasxml', 'application/vnd.las.las+xml'],\n ['latex', 'application/x-latex'],\n ['lbd', 'application/vnd.llamagraphics.life-balance.desktop'],\n ['lbe', 'application/vnd.llamagraphics.life-balance.exchange+xml'],\n ['les', 'application/vnd.hhe.lesson-player'],\n ['lha', ['application/octet-stream', 'application/lha', 'application/x-lha']],\n ['lhx', 'application/octet-stream'],\n ['link66', 'application/vnd.route66.link66+xml'],\n ['list', 'text/plain'],\n ['lma', ['audio/nspaudio', 'audio/x-nspaudio']],\n ['log', 'text/plain'],\n ['lrm', 'application/vnd.ms-lrm'],\n ['lsf', 'video/x-la-asf'],\n ['lsp', ['application/x-lisp', 'text/x-script.lisp']],\n ['lst', 'text/plain'],\n ['lsx', ['video/x-la-asf', 'text/x-la-asf']],\n ['ltf', 'application/vnd.frogans.ltf'],\n ['ltx', 'application/x-latex'],\n ['lvp', 'audio/vnd.lucent.voice'],\n ['lwp', 'application/vnd.lotus-wordpro'],\n ['lzh', ['application/octet-stream', 'application/x-lzh']],\n ['lzx', ['application/lzx', 'application/octet-stream', 'application/x-lzx']],\n ['m', ['text/plain', 'text/x-m']],\n ['m13', 'application/x-msmediaview'],\n ['m14', 'application/x-msmediaview'],\n ['m1v', 'video/mpeg'],\n ['m21', 'application/mp21'],\n ['m2a', 'audio/mpeg'],\n ['m2v', 'video/mpeg'],\n ['m3u', ['audio/x-mpegurl', 'audio/x-mpequrl']],\n ['m3u8', 'application/vnd.apple.mpegurl'],\n ['m4v', 'video/x-m4v'],\n ['ma', 'application/mathematica'],\n ['mads', 'application/mads+xml'],\n ['mag', 'application/vnd.ecowin.chart'],\n ['man', 'application/x-troff-man'],\n ['map', 'application/x-navimap'],\n ['mar', 'text/plain'],\n ['mathml', 'application/mathml+xml'],\n ['mbd', 'application/mbedlet'],\n ['mbk', 'application/vnd.mobius.mbk'],\n ['mbox', 'application/mbox'],\n ['mc$', 'application/x-magic-cap-package-1.0'],\n ['mc1', 'application/vnd.medcalcdata'],\n ['mcd', ['application/mcad', 'application/vnd.mcd', 'application/x-mathcad']],\n ['mcf', ['image/vasa', 'text/mcf']],\n ['mcp', 'application/netmc'],\n ['mcurl', 'text/vnd.curl.mcurl'],\n ['mdb', 'application/x-msaccess'],\n ['mdi', 'image/vnd.ms-modi'],\n ['me', 'application/x-troff-me'],\n ['meta4', 'application/metalink4+xml'],\n ['mets', 'application/mets+xml'],\n ['mfm', 'application/vnd.mfmp'],\n ['mgp', 'application/vnd.osgeo.mapguide.package'],\n ['mgz', 'application/vnd.proteus.magazine'],\n ['mht', 'message/rfc822'],\n ['mhtml', 'message/rfc822'],\n ['mid', ['audio/mid', 'audio/midi', 'music/crescendo', 'x-music/x-midi', 'audio/x-midi', 'application/x-midi', 'audio/x-mid']],\n ['midi', ['audio/midi', 'music/crescendo', 'x-music/x-midi', 'audio/x-midi', 'application/x-midi', 'audio/x-mid']],\n ['mif', ['application/vnd.mif', 'application/x-mif', 'application/x-frame']],\n ['mime', ['message/rfc822', 'www/mime']],\n ['mj2', 'video/mj2'],\n ['mjf', 'audio/x-vnd.audioexplosion.mjuicemediafile'],\n ['mjpg', 'video/x-motion-jpeg'],\n ['mlp', 'application/vnd.dolby.mlp'],\n ['mm', ['application/base64', 'application/x-meme']],\n ['mmd', 'application/vnd.chipnuts.karaoke-mmd'],\n ['mme', 'application/base64'],\n ['mmf', 'application/vnd.smaf'],\n ['mmr', 'image/vnd.fujixerox.edmics-mmr'],\n ['mny', 'application/x-msmoney'],\n ['mod', ['audio/mod', 'audio/x-mod']],\n ['mods', 'application/mods+xml'],\n ['moov', 'video/quicktime'],\n ['mov', 'video/quicktime'],\n ['movie', 'video/x-sgi-movie'],\n ['mp2', ['video/mpeg', 'audio/mpeg', 'video/x-mpeg', 'audio/x-mpeg', 'video/x-mpeq2a']],\n ['mp3', ['audio/mpeg', 'audio/mpeg3', 'video/mpeg', 'audio/x-mpeg-3', 'video/x-mpeg']],\n ['mp4', ['video/mp4', 'application/mp4']],\n ['mp4a', 'audio/mp4'],\n ['mpa', ['video/mpeg', 'audio/mpeg']],\n ['mpc', ['application/vnd.mophun.certificate', 'application/x-project']],\n ['mpe', 'video/mpeg'],\n ['mpeg', 'video/mpeg'],\n ['mpg', ['video/mpeg', 'audio/mpeg']],\n ['mpga', 'audio/mpeg'],\n ['mpkg', 'application/vnd.apple.installer+xml'],\n ['mpm', 'application/vnd.blueice.multipass'],\n ['mpn', 'application/vnd.mophun.application'],\n ['mpp', 'application/vnd.ms-project'],\n ['mpt', 'application/x-project'],\n ['mpv', 'application/x-project'],\n ['mpv2', 'video/mpeg'],\n ['mpx', 'application/x-project'],\n ['mpy', 'application/vnd.ibm.minipay'],\n ['mqy', 'application/vnd.mobius.mqy'],\n ['mrc', 'application/marc'],\n ['mrcx', 'application/marcxml+xml'],\n ['ms', 'application/x-troff-ms'],\n ['mscml', 'application/mediaservercontrol+xml'],\n ['mseq', 'application/vnd.mseq'],\n ['msf', 'application/vnd.epson.msf'],\n ['msg', 'application/vnd.ms-outlook'],\n ['msh', 'model/mesh'],\n ['msl', 'application/vnd.mobius.msl'],\n ['msty', 'application/vnd.muvee.style'],\n ['mts', 'model/vnd.mts'],\n ['mus', 'application/vnd.musician'],\n ['musicxml', 'application/vnd.recordare.musicxml+xml'],\n ['mv', 'video/x-sgi-movie'],\n ['mvb', 'application/x-msmediaview'],\n ['mwf', 'application/vnd.mfer'],\n ['mxf', 'application/mxf'],\n ['mxl', 'application/vnd.recordare.musicxml'],\n ['mxml', 'application/xv+xml'],\n ['mxs', 'application/vnd.triscape.mxs'],\n ['mxu', 'video/vnd.mpegurl'],\n ['my', 'audio/make'],\n ['mzz', 'application/x-vnd.audioexplosion.mzz'],\n ['n-gage', 'application/vnd.nokia.n-gage.symbian.install'],\n ['n3', 'text/n3'],\n ['nap', 'image/naplps'],\n ['naplps', 'image/naplps'],\n ['nbp', 'application/vnd.wolfram.player'],\n ['nc', 'application/x-netcdf'],\n ['ncm', 'application/vnd.nokia.configuration-message'],\n ['ncx', 'application/x-dtbncx+xml'],\n ['ngdat', 'application/vnd.nokia.n-gage.data'],\n ['nif', 'image/x-niff'],\n ['niff', 'image/x-niff'],\n ['nix', 'application/x-mix-transfer'],\n ['nlu', 'application/vnd.neurolanguage.nlu'],\n ['nml', 'application/vnd.enliven'],\n ['nnd', 'application/vnd.noblenet-directory'],\n ['nns', 'application/vnd.noblenet-sealer'],\n ['nnw', 'application/vnd.noblenet-web'],\n ['npx', 'image/vnd.net-fpx'],\n ['nsc', 'application/x-conference'],\n ['nsf', 'application/vnd.lotus-notes'],\n ['nvd', 'application/x-navidoc'],\n ['nws', 'message/rfc822'],\n ['o', 'application/octet-stream'],\n ['oa2', 'application/vnd.fujitsu.oasys2'],\n ['oa3', 'application/vnd.fujitsu.oasys3'],\n ['oas', 'application/vnd.fujitsu.oasys'],\n ['obd', 'application/x-msbinder'],\n ['oda', 'application/oda'],\n ['odb', 'application/vnd.oasis.opendocument.database'],\n ['odc', 'application/vnd.oasis.opendocument.chart'],\n ['odf', 'application/vnd.oasis.opendocument.formula'],\n ['odft', 'application/vnd.oasis.opendocument.formula-template'],\n ['odg', 'application/vnd.oasis.opendocument.graphics'],\n ['odi', 'application/vnd.oasis.opendocument.image'],\n ['odm', 'application/vnd.oasis.opendocument.text-master'],\n ['odp', 'application/vnd.oasis.opendocument.presentation'],\n ['ods', 'application/vnd.oasis.opendocument.spreadsheet'],\n ['odt', 'application/vnd.oasis.opendocument.text'],\n ['oga', 'audio/ogg'],\n ['ogv', 'video/ogg'],\n ['ogx', 'application/ogg'],\n ['omc', 'application/x-omc'],\n ['omcd', 'application/x-omcdatamaker'],\n ['omcr', 'application/x-omcregerator'],\n ['onetoc', 'application/onenote'],\n ['opf', 'application/oebps-package+xml'],\n ['org', 'application/vnd.lotus-organizer'],\n ['osf', 'application/vnd.yamaha.openscoreformat'],\n ['osfpvg', 'application/vnd.yamaha.openscoreformat.osfpvg+xml'],\n ['otc', 'application/vnd.oasis.opendocument.chart-template'],\n ['otf', 'application/x-font-otf'],\n ['otg', 'application/vnd.oasis.opendocument.graphics-template'],\n ['oth', 'application/vnd.oasis.opendocument.text-web'],\n ['oti', 'application/vnd.oasis.opendocument.image-template'],\n ['otp', 'application/vnd.oasis.opendocument.presentation-template'],\n ['ots', 'application/vnd.oasis.opendocument.spreadsheet-template'],\n ['ott', 'application/vnd.oasis.opendocument.text-template'],\n ['oxt', 'application/vnd.openofficeorg.extension'],\n ['p', 'text/x-pascal'],\n ['p10', ['application/pkcs10', 'application/x-pkcs10']],\n ['p12', ['application/pkcs-12', 'application/x-pkcs12']],\n ['p7a', 'application/x-pkcs7-signature'],\n ['p7b', 'application/x-pkcs7-certificates'],\n ['p7c', ['application/pkcs7-mime', 'application/x-pkcs7-mime']],\n ['p7m', ['application/pkcs7-mime', 'application/x-pkcs7-mime']],\n ['p7r', 'application/x-pkcs7-certreqresp'],\n ['p7s', ['application/pkcs7-signature', 'application/x-pkcs7-signature']],\n ['p8', 'application/pkcs8'],\n ['par', 'text/plain-bas'],\n ['part', 'application/pro_eng'],\n ['pas', 'text/pascal'],\n ['paw', 'application/vnd.pawaafile'],\n ['pbd', 'application/vnd.powerbuilder6'],\n ['pbm', 'image/x-portable-bitmap'],\n ['pcf', 'application/x-font-pcf'],\n ['pcl', ['application/vnd.hp-pcl', 'application/x-pcl']],\n ['pclxl', 'application/vnd.hp-pclxl'],\n ['pct', 'image/x-pict'],\n ['pcurl', 'application/vnd.curl.pcurl'],\n ['pcx', 'image/x-pcx'],\n ['pdb', ['application/vnd.palm', 'chemical/x-pdb']],\n ['pdf', 'application/pdf'],\n ['pfa', 'application/x-font-type1'],\n ['pfr', 'application/font-tdpfr'],\n ['pfunk', ['audio/make', 'audio/make.my.funk']],\n ['pfx', 'application/x-pkcs12'],\n ['pgm', ['image/x-portable-graymap', 'image/x-portable-greymap']],\n ['pgn', 'application/x-chess-pgn'],\n ['pgp', 'application/pgp-signature'],\n ['pic', ['image/pict', 'image/x-pict']],\n ['pict', 'image/pict'],\n ['pkg', 'application/x-newton-compatible-pkg'],\n ['pki', 'application/pkixcmp'],\n ['pkipath', 'application/pkix-pkipath'],\n ['pko', ['application/ynd.ms-pkipko', 'application/vnd.ms-pki.pko']],\n ['pl', ['text/plain', 'text/x-script.perl']],\n ['plb', 'application/vnd.3gpp.pic-bw-large'],\n ['plc', 'application/vnd.mobius.plc'],\n ['plf', 'application/vnd.pocketlearn'],\n ['pls', 'application/pls+xml'],\n ['plx', 'application/x-pixclscript'],\n ['pm', ['text/x-script.perl-module', 'image/x-xpixmap']],\n ['pm4', 'application/x-pagemaker'],\n ['pm5', 'application/x-pagemaker'],\n ['pma', 'application/x-perfmon'],\n ['pmc', 'application/x-perfmon'],\n ['pml', ['application/vnd.ctc-posml', 'application/x-perfmon']],\n ['pmr', 'application/x-perfmon'],\n ['pmw', 'application/x-perfmon'],\n ['png', 'image/png'],\n ['pnm', ['application/x-portable-anymap', 'image/x-portable-anymap']],\n ['portpkg', 'application/vnd.macports.portpkg'],\n ['pot', ['application/vnd.ms-powerpoint', 'application/mspowerpoint']],\n ['potm', 'application/vnd.ms-powerpoint.template.macroenabled.12'],\n ['potx', 'application/vnd.openxmlformats-officedocument.presentationml.template'],\n ['pov', 'model/x-pov'],\n ['ppa', 'application/vnd.ms-powerpoint'],\n ['ppam', 'application/vnd.ms-powerpoint.addin.macroenabled.12'],\n ['ppd', 'application/vnd.cups-ppd'],\n ['ppm', 'image/x-portable-pixmap'],\n ['pps', ['application/vnd.ms-powerpoint', 'application/mspowerpoint']],\n ['ppsm', 'application/vnd.ms-powerpoint.slideshow.macroenabled.12'],\n ['ppsx', 'application/vnd.openxmlformats-officedocument.presentationml.slideshow'],\n ['ppt', ['application/vnd.ms-powerpoint', 'application/mspowerpoint', 'application/powerpoint', 'application/x-mspowerpoint']],\n ['pptm', 'application/vnd.ms-powerpoint.presentation.macroenabled.12'],\n ['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],\n ['ppz', 'application/mspowerpoint'],\n ['prc', 'application/x-mobipocket-ebook'],\n ['pre', ['application/vnd.lotus-freelance', 'application/x-freelance']],\n ['prf', 'application/pics-rules'],\n ['prt', 'application/pro_eng'],\n ['ps', 'application/postscript'],\n ['psb', 'application/vnd.3gpp.pic-bw-small'],\n ['psd', ['application/octet-stream', 'image/vnd.adobe.photoshop']],\n ['psf', 'application/x-font-linux-psf'],\n ['pskcxml', 'application/pskc+xml'],\n ['ptid', 'application/vnd.pvi.ptid1'],\n ['pub', 'application/x-mspublisher'],\n ['pvb', 'application/vnd.3gpp.pic-bw-var'],\n ['pvu', 'paleovu/x-pv'],\n ['pwn', 'application/vnd.3m.post-it-notes'],\n ['pwz', 'application/vnd.ms-powerpoint'],\n ['py', 'text/x-script.phyton'],\n ['pya', 'audio/vnd.ms-playready.media.pya'],\n ['pyc', 'applicaiton/x-bytecode.python'],\n ['pyv', 'video/vnd.ms-playready.media.pyv'],\n ['qam', 'application/vnd.epson.quickanime'],\n ['qbo', 'application/vnd.intu.qbo'],\n ['qcp', 'audio/vnd.qcelp'],\n ['qd3', 'x-world/x-3dmf'],\n ['qd3d', 'x-world/x-3dmf'],\n ['qfx', 'application/vnd.intu.qfx'],\n ['qif', 'image/x-quicktime'],\n ['qps', 'application/vnd.publishare-delta-tree'],\n ['qt', 'video/quicktime'],\n ['qtc', 'video/x-qtc'],\n ['qti', 'image/x-quicktime'],\n ['qtif', 'image/x-quicktime'],\n ['qxd', 'application/vnd.quark.quarkxpress'],\n ['ra', ['audio/x-realaudio', 'audio/x-pn-realaudio', 'audio/x-pn-realaudio-plugin']],\n ['ram', 'audio/x-pn-realaudio'],\n ['rar', 'application/x-rar-compressed'],\n ['ras', ['image/cmu-raster', 'application/x-cmu-raster', 'image/x-cmu-raster']],\n ['rast', 'image/cmu-raster'],\n ['rcprofile', 'application/vnd.ipunplugged.rcprofile'],\n ['rdf', 'application/rdf+xml'],\n ['rdz', 'application/vnd.data-vision.rdz'],\n ['rep', 'application/vnd.businessobjects'],\n ['res', 'application/x-dtbresource+xml'],\n ['rexx', 'text/x-script.rexx'],\n ['rf', 'image/vnd.rn-realflash'],\n ['rgb', 'image/x-rgb'],\n ['rif', 'application/reginfo+xml'],\n ['rip', 'audio/vnd.rip'],\n ['rl', 'application/resource-lists+xml'],\n ['rlc', 'image/vnd.fujixerox.edmics-rlc'],\n ['rld', 'application/resource-lists-diff+xml'],\n ['rm', ['application/vnd.rn-realmedia', 'audio/x-pn-realaudio']],\n ['rmi', 'audio/mid'],\n ['rmm', 'audio/x-pn-realaudio'],\n ['rmp', ['audio/x-pn-realaudio-plugin', 'audio/x-pn-realaudio']],\n ['rms', 'application/vnd.jcp.javame.midlet-rms'],\n ['rnc', 'application/relax-ng-compact-syntax'],\n ['rng', ['application/ringing-tones', 'application/vnd.nokia.ringing-tone']],\n ['rnx', 'application/vnd.rn-realplayer'],\n ['roff', 'application/x-troff'],\n ['rp', 'image/vnd.rn-realpix'],\n ['rp9', 'application/vnd.cloanto.rp9'],\n ['rpm', 'audio/x-pn-realaudio-plugin'],\n ['rpss', 'application/vnd.nokia.radio-presets'],\n ['rpst', 'application/vnd.nokia.radio-preset'],\n ['rq', 'application/sparql-query'],\n ['rs', 'application/rls-services+xml'],\n ['rsd', 'application/rsd+xml'],\n ['rt', ['text/richtext', 'text/vnd.rn-realtext']],\n ['rtf', ['application/rtf', 'text/richtext', 'application/x-rtf']],\n ['rtx', ['text/richtext', 'application/rtf']],\n ['rv', 'video/vnd.rn-realvideo'],\n ['s', 'text/x-asm'],\n ['s3m', 'audio/s3m'],\n ['saf', 'application/vnd.yamaha.smaf-audio'],\n ['saveme', 'application/octet-stream'],\n ['sbk', 'application/x-tbook'],\n ['sbml', 'application/sbml+xml'],\n ['sc', 'application/vnd.ibm.secure-container'],\n ['scd', 'application/x-msschedule'],\n ['scm', ['application/vnd.lotus-screencam', 'video/x-scm', 'text/x-script.guile', 'application/x-lotusscreencam', 'text/x-script.scheme']],\n ['scq', 'application/scvp-cv-request'],\n ['scs', 'application/scvp-cv-response'],\n ['sct', 'text/scriptlet'],\n ['scurl', 'text/vnd.curl.scurl'],\n ['sda', 'application/vnd.stardivision.draw'],\n ['sdc', 'application/vnd.stardivision.calc'],\n ['sdd', 'application/vnd.stardivision.impress'],\n ['sdkm', 'application/vnd.solent.sdkm+xml'],\n ['sdml', 'text/plain'],\n ['sdp', ['application/sdp', 'application/x-sdp']],\n ['sdr', 'application/sounder'],\n ['sdw', 'application/vnd.stardivision.writer'],\n ['sea', ['application/sea', 'application/x-sea']],\n ['see', 'application/vnd.seemail'],\n ['seed', 'application/vnd.fdsn.seed'],\n ['sema', 'application/vnd.sema'],\n ['semd', 'application/vnd.semd'],\n ['semf', 'application/vnd.semf'],\n ['ser', 'application/java-serialized-object'],\n ['set', 'application/set'],\n ['setpay', 'application/set-payment-initiation'],\n ['setreg', 'application/set-registration-initiation'],\n ['sfd-hdstx', 'application/vnd.hydrostatix.sof-data'],\n ['sfs', 'application/vnd.spotfire.sfs'],\n ['sgl', 'application/vnd.stardivision.writer-global'],\n ['sgm', ['text/sgml', 'text/x-sgml']],\n ['sgml', ['text/sgml', 'text/x-sgml']],\n ['sh', ['application/x-shar', 'application/x-bsh', 'application/x-sh', 'text/x-script.sh']],\n ['shar', ['application/x-bsh', 'application/x-shar']],\n ['shf', 'application/shf+xml'],\n ['shtml', ['text/html', 'text/x-server-parsed-html']],\n ['sid', 'audio/x-psid'],\n ['sis', 'application/vnd.symbian.install'],\n ['sit', ['application/x-stuffit', 'application/x-sit']],\n ['sitx', 'application/x-stuffitx'],\n ['skd', 'application/x-koan'],\n ['skm', 'application/x-koan'],\n ['skp', ['application/vnd.koan', 'application/x-koan']],\n ['skt', 'application/x-koan'],\n ['sl', 'application/x-seelogo'],\n ['sldm', 'application/vnd.ms-powerpoint.slide.macroenabled.12'],\n ['sldx', 'application/vnd.openxmlformats-officedocument.presentationml.slide'],\n ['slt', 'application/vnd.epson.salt'],\n ['sm', 'application/vnd.stepmania.stepchart'],\n ['smf', 'application/vnd.stardivision.math'],\n ['smi', ['application/smil', 'application/smil+xml']],\n ['smil', 'application/smil'],\n ['snd', ['audio/basic', 'audio/x-adpcm']],\n ['snf', 'application/x-font-snf'],\n ['sol', 'application/solids'],\n ['spc', ['text/x-speech', 'application/x-pkcs7-certificates']],\n ['spf', 'application/vnd.yamaha.smaf-phrase'],\n ['spl', ['application/futuresplash', 'application/x-futuresplash']],\n ['spot', 'text/vnd.in3d.spot'],\n ['spp', 'application/scvp-vp-response'],\n ['spq', 'application/scvp-vp-request'],\n ['spr', 'application/x-sprite'],\n ['sprite', 'application/x-sprite'],\n ['src', 'application/x-wais-source'],\n ['sru', 'application/sru+xml'],\n ['srx', 'application/sparql-results+xml'],\n ['sse', 'application/vnd.kodak-descriptor'],\n ['ssf', 'application/vnd.epson.ssf'],\n ['ssi', 'text/x-server-parsed-html'],\n ['ssm', 'application/streamingmedia'],\n ['ssml', 'application/ssml+xml'],\n ['sst', ['application/vnd.ms-pkicertstore', 'application/vnd.ms-pki.certstore']],\n ['st', 'application/vnd.sailingtracker.track'],\n ['stc', 'application/vnd.sun.xml.calc.template'],\n ['std', 'application/vnd.sun.xml.draw.template'],\n ['step', 'application/step'],\n ['stf', 'application/vnd.wt.stf'],\n ['sti', 'application/vnd.sun.xml.impress.template'],\n ['stk', 'application/hyperstudio'],\n ['stl', ['application/vnd.ms-pkistl', 'application/sla', 'application/vnd.ms-pki.stl', 'application/x-navistyle']],\n ['stm', 'text/html'],\n ['stp', 'application/step'],\n ['str', 'application/vnd.pg.format'],\n ['stw', 'application/vnd.sun.xml.writer.template'],\n ['sub', 'image/vnd.dvb.subtitle'],\n ['sus', 'application/vnd.sus-calendar'],\n ['sv4cpio', 'application/x-sv4cpio'],\n ['sv4crc', 'application/x-sv4crc'],\n ['svc', 'application/vnd.dvb.service'],\n ['svd', 'application/vnd.svd'],\n ['svf', ['image/vnd.dwg', 'image/x-dwg']],\n ['svg', 'image/svg+xml'],\n ['svr', ['x-world/x-svr', 'application/x-world']],\n ['swf', 'application/x-shockwave-flash'],\n ['swi', 'application/vnd.aristanetworks.swi'],\n ['sxc', 'application/vnd.sun.xml.calc'],\n ['sxd', 'application/vnd.sun.xml.draw'],\n ['sxg', 'application/vnd.sun.xml.writer.global'],\n ['sxi', 'application/vnd.sun.xml.impress'],\n ['sxm', 'application/vnd.sun.xml.math'],\n ['sxw', 'application/vnd.sun.xml.writer'],\n ['t', ['text/troff', 'application/x-troff']],\n ['talk', 'text/x-speech'],\n ['tao', 'application/vnd.tao.intent-module-archive'],\n ['tar', 'application/x-tar'],\n ['tbk', ['application/toolbook', 'application/x-tbook']],\n ['tcap', 'application/vnd.3gpp2.tcap'],\n ['tcl', ['text/x-script.tcl', 'application/x-tcl']],\n ['tcsh', 'text/x-script.tcsh'],\n ['teacher', 'application/vnd.smart.teacher'],\n ['tei', 'application/tei+xml'],\n ['tex', 'application/x-tex'],\n ['texi', 'application/x-texinfo'],\n ['texinfo', 'application/x-texinfo'],\n ['text', ['application/plain', 'text/plain']],\n ['tfi', 'application/thraud+xml'],\n ['tfm', 'application/x-tex-tfm'],\n ['tgz', ['application/gnutar', 'application/x-compressed']],\n ['thmx', 'application/vnd.ms-officetheme'],\n ['tif', ['image/tiff', 'image/x-tiff']],\n ['tiff', ['image/tiff', 'image/x-tiff']],\n ['tmo', 'application/vnd.tmobile-livetv'],\n ['torrent', 'application/x-bittorrent'],\n ['tpl', 'application/vnd.groove-tool-template'],\n ['tpt', 'application/vnd.trid.tpt'],\n ['tr', 'application/x-troff'],\n ['tra', 'application/vnd.trueapp'],\n ['trm', 'application/x-msterminal'],\n ['tsd', 'application/timestamped-data'],\n ['tsi', 'audio/tsp-audio'],\n ['tsp', ['application/dsptype', 'audio/tsplayer']],\n ['tsv', 'text/tab-separated-values'],\n ['ttf', 'application/x-font-ttf'],\n ['ttl', 'text/turtle'],\n ['turbot', 'image/florian'],\n ['twd', 'application/vnd.simtech-mindmapper'],\n ['txd', 'application/vnd.genomatix.tuxedo'],\n ['txf', 'application/vnd.mobius.txf'],\n ['txt', 'text/plain'],\n ['ufd', 'application/vnd.ufdl'],\n ['uil', 'text/x-uil'],\n ['uls', 'text/iuls'],\n ['umj', 'application/vnd.umajin'],\n ['uni', 'text/uri-list'],\n ['unis', 'text/uri-list'],\n ['unityweb', 'application/vnd.unity'],\n ['unv', 'application/i-deas'],\n ['uoml', 'application/vnd.uoml+xml'],\n ['uri', 'text/uri-list'],\n ['uris', 'text/uri-list'],\n ['ustar', ['application/x-ustar', 'multipart/x-ustar']],\n ['utz', 'application/vnd.uiq.theme'],\n ['uu', ['application/octet-stream', 'text/x-uuencode']],\n ['uue', 'text/x-uuencode'],\n ['uva', 'audio/vnd.dece.audio'],\n ['uvh', 'video/vnd.dece.hd'],\n ['uvi', 'image/vnd.dece.graphic'],\n ['uvm', 'video/vnd.dece.mobile'],\n ['uvp', 'video/vnd.dece.pd'],\n ['uvs', 'video/vnd.dece.sd'],\n ['uvu', 'video/vnd.uvvu.mp4'],\n ['uvv', 'video/vnd.dece.video'],\n ['vcd', 'application/x-cdlink'],\n ['vcf', 'text/x-vcard'],\n ['vcg', 'application/vnd.groove-vcard'],\n ['vcs', 'text/x-vcalendar'],\n ['vcx', 'application/vnd.vcx'],\n ['vda', 'application/vda'],\n ['vdo', 'video/vdo'],\n ['vew', 'application/groupwise'],\n ['vis', 'application/vnd.visionary'],\n ['viv', ['video/vivo', 'video/vnd.vivo']],\n ['vivo', ['video/vivo', 'video/vnd.vivo']],\n ['vmd', 'application/vocaltec-media-desc'],\n ['vmf', 'application/vocaltec-media-file'],\n ['voc', ['audio/voc', 'audio/x-voc']],\n ['vos', 'video/vosaic'],\n ['vox', 'audio/voxware'],\n ['vqe', 'audio/x-twinvq-plugin'],\n ['vqf', 'audio/x-twinvq'],\n ['vql', 'audio/x-twinvq-plugin'],\n ['vrml', ['model/vrml', 'x-world/x-vrml', 'application/x-vrml']],\n ['vrt', 'x-world/x-vrt'],\n ['vsd', ['application/vnd.visio', 'application/x-visio']],\n ['vsf', 'application/vnd.vsf'],\n ['vst', 'application/x-visio'],\n ['vsw', 'application/x-visio'],\n ['vtu', 'model/vnd.vtu'],\n ['vxml', 'application/voicexml+xml'],\n ['w60', 'application/wordperfect6.0'],\n ['w61', 'application/wordperfect6.1'],\n ['w6w', 'application/msword'],\n ['wad', 'application/x-doom'],\n ['wav', ['audio/wav', 'audio/x-wav']],\n ['wax', 'audio/x-ms-wax'],\n ['wb1', 'application/x-qpro'],\n ['wbmp', 'image/vnd.wap.wbmp'],\n ['wbs', 'application/vnd.criticaltools.wbs+xml'],\n ['wbxml', 'application/vnd.wap.wbxml'],\n ['wcm', 'application/vnd.ms-works'],\n ['wdb', 'application/vnd.ms-works'],\n ['web', 'application/vnd.xara'],\n ['weba', 'audio/webm'],\n ['webm', 'video/webm'],\n ['webp', 'image/webp'],\n ['wg', 'application/vnd.pmi.widget'],\n ['wgt', 'application/widget'],\n ['wiz', 'application/msword'],\n ['wk1', 'application/x-123'],\n ['wks', 'application/vnd.ms-works'],\n ['wm', 'video/x-ms-wm'],\n ['wma', 'audio/x-ms-wma'],\n ['wmd', 'application/x-ms-wmd'],\n ['wmf', ['windows/metafile', 'application/x-msmetafile']],\n ['wml', 'text/vnd.wap.wml'],\n ['wmlc', 'application/vnd.wap.wmlc'],\n ['wmls', 'text/vnd.wap.wmlscript'],\n ['wmlsc', 'application/vnd.wap.wmlscriptc'],\n ['wmv', 'video/x-ms-wmv'],\n ['wmx', 'video/x-ms-wmx'],\n ['wmz', 'application/x-ms-wmz'],\n ['woff', 'application/x-font-woff'],\n ['word', 'application/msword'],\n ['wp', 'application/wordperfect'],\n ['wp5', ['application/wordperfect', 'application/wordperfect6.0']],\n ['wp6', 'application/wordperfect'],\n ['wpd', ['application/wordperfect', 'application/vnd.wordperfect', 'application/x-wpwin']],\n ['wpl', 'application/vnd.ms-wpl'],\n ['wps', 'application/vnd.ms-works'],\n ['wq1', 'application/x-lotus'],\n ['wqd', 'application/vnd.wqd'],\n ['wri', ['application/mswrite', 'application/x-wri', 'application/x-mswrite']],\n ['wrl', ['model/vrml', 'x-world/x-vrml', 'application/x-world']],\n ['wrz', ['model/vrml', 'x-world/x-vrml']],\n ['wsc', 'text/scriplet'],\n ['wsdl', 'application/wsdl+xml'],\n ['wspolicy', 'application/wspolicy+xml'],\n ['wsrc', 'application/x-wais-source'],\n ['wtb', 'application/vnd.webturbo'],\n ['wtk', 'application/x-wintalk'],\n ['wvx', 'video/x-ms-wvx'],\n ['x-png', 'image/png'],\n ['x3d', 'application/vnd.hzn-3d-crossword'],\n ['xaf', 'x-world/x-vrml'],\n ['xap', 'application/x-silverlight-app'],\n ['xar', 'application/vnd.xara'],\n ['xbap', 'application/x-ms-xbap'],\n ['xbd', 'application/vnd.fujixerox.docuworks.binder'],\n ['xbm', ['image/xbm', 'image/x-xbm', 'image/x-xbitmap']],\n ['xdf', 'application/xcap-diff+xml'],\n ['xdm', 'application/vnd.syncml.dm+xml'],\n ['xdp', 'application/vnd.adobe.xdp+xml'],\n ['xdr', 'video/x-amt-demorun'],\n ['xdssc', 'application/dssc+xml'],\n ['xdw', 'application/vnd.fujixerox.docuworks'],\n ['xenc', 'application/xenc+xml'],\n ['xer', 'application/patch-ops-error+xml'],\n ['xfdf', 'application/vnd.adobe.xfdf'],\n ['xfdl', 'application/vnd.xfdl'],\n ['xgz', 'xgl/drawing'],\n ['xhtml', 'application/xhtml+xml'],\n ['xif', 'image/vnd.xiff'],\n ['xl', 'application/excel'],\n ['xla', ['application/vnd.ms-excel', 'application/excel', 'application/x-msexcel', 'application/x-excel']],\n ['xlam', 'application/vnd.ms-excel.addin.macroenabled.12'],\n ['xlb', ['application/excel', 'application/vnd.ms-excel', 'application/x-excel']],\n ['xlc', ['application/vnd.ms-excel', 'application/excel', 'application/x-excel']],\n ['xld', ['application/excel', 'application/x-excel']],\n ['xlk', ['application/excel', 'application/x-excel']],\n ['xll', ['application/excel', 'application/vnd.ms-excel', 'application/x-excel']],\n ['xlm', ['application/vnd.ms-excel', 'application/excel', 'application/x-excel']],\n ['xls', ['application/vnd.ms-excel', 'application/excel', 'application/x-msexcel', 'application/x-excel']],\n ['xlsb', 'application/vnd.ms-excel.sheet.binary.macroenabled.12'],\n ['xlsm', 'application/vnd.ms-excel.sheet.macroenabled.12'],\n ['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],\n ['xlt', ['application/vnd.ms-excel', 'application/excel', 'application/x-excel']],\n ['xltm', 'application/vnd.ms-excel.template.macroenabled.12'],\n ['xltx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.template'],\n ['xlv', ['application/excel', 'application/x-excel']],\n ['xlw', ['application/vnd.ms-excel', 'application/excel', 'application/x-msexcel', 'application/x-excel']],\n ['xm', 'audio/xm'],\n ['xml', ['application/xml', 'text/xml', 'application/atom+xml', 'application/rss+xml']],\n ['xmz', 'xgl/movie'],\n ['xo', 'application/vnd.olpc-sugar'],\n ['xof', 'x-world/x-vrml'],\n ['xop', 'application/xop+xml'],\n ['xpi', 'application/x-xpinstall'],\n ['xpix', 'application/x-vnd.ls-xpix'],\n ['xpm', ['image/xpm', 'image/x-xpixmap']],\n ['xpr', 'application/vnd.is-xpr'],\n ['xps', 'application/vnd.ms-xpsdocument'],\n ['xpw', 'application/vnd.intercon.formnet'],\n ['xslt', 'application/xslt+xml'],\n ['xsm', 'application/vnd.syncml+xml'],\n ['xspf', 'application/xspf+xml'],\n ['xsr', 'video/x-amt-showrun'],\n ['xul', 'application/vnd.mozilla.xul+xml'],\n ['xwd', ['image/x-xwd', 'image/x-xwindowdump']],\n ['xyz', ['chemical/x-xyz', 'chemical/x-pdb']],\n ['yang', 'application/yang'],\n ['yin', 'application/yin+xml'],\n ['z', ['application/x-compressed', 'application/x-compress']],\n ['zaz', 'application/vnd.zzazz.deck+xml'],\n ['zip', ['application/zip', 'multipart/x-zip', 'application/x-zip-compressed', 'application/x-compressed']],\n ['zir', 'application/vnd.zul'],\n ['zmm', 'application/vnd.handheld-entertainment+xml'],\n ['zoo', 'application/octet-stream'],\n ['zsh', 'text/x-script.zsh']\n]);\n\nmodule.exports = {\n detectMimeType(filename) {\n if (!filename) {\n return defaultMimeType;\n }\n\n let parsed = path.parse(filename);\n let extension = (parsed.ext.substr(1) || parsed.name || '').split('?').shift().trim().toLowerCase();\n let value = defaultMimeType;\n\n if (extensions.has(extension)) {\n value = extensions.get(extension);\n }\n\n if (Array.isArray(value)) {\n return value[0];\n }\n return value;\n },\n\n detectExtension(mimeType) {\n if (!mimeType) {\n return defaultExtension;\n }\n let parts = (mimeType || '').toLowerCase().trim().split('/');\n let rootType = parts.shift().trim();\n let subType = parts.join('/').trim();\n\n if (mimeTypes.has(rootType + '/' + subType)) {\n let value = mimeTypes.get(rootType + '/' + subType);\n if (Array.isArray(value)) {\n return value[0];\n }\n return value;\n }\n\n switch (rootType) {\n case 'text':\n return 'txt';\n default:\n return 'bin';\n }\n }\n};\n","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):((e=\"undefined\"!=typeof globalThis?globalThis:e||self).prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.graphql=n())}(this,(function(){\"use strict\";var e=function(e,n){const t=new SyntaxError(e+\" (\"+n.start.line+\":\"+n.start.column+\")\");return t.loc=n,t};var n={hasPragma:function(e){return/^\\s*#[^\\S\\n]*@(format|prettier)\\s*(\\n|$)/.test(e)},insertPragma:function(e){return\"# @format\\n\\n\"+e}};var t={locStart:function(e){return\"number\"==typeof e.start?e.start:e.loc&&e.loc.start},locEnd:function(e){return\"number\"==typeof e.end?e.end:e.loc&&e.loc.end}};function i(e,n,t){return e(t={path:n,exports:{},require:function(e,n){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==n&&t.path)}},t.exports),t.exports}var r=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.SYMBOL_TO_STRING_TAG=n.SYMBOL_ASYNC_ITERATOR=n.SYMBOL_ITERATOR=void 0;var t=\"function\"==typeof Symbol&&null!=Symbol.iterator?Symbol.iterator:\"@@iterator\";n.SYMBOL_ITERATOR=t;var i=\"function\"==typeof Symbol&&null!=Symbol.asyncIterator?Symbol.asyncIterator:\"@@asyncIterator\";n.SYMBOL_ASYNC_ITERATOR=i;var r=\"function\"==typeof Symbol&&null!=Symbol.toStringTag?Symbol.toStringTag:\"@@toStringTag\";n.SYMBOL_TO_STRING_TAG=r})),o=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=void 0;var t=\"function\"==typeof Symbol&&\"function\"==typeof Symbol.for?Symbol.for(\"nodejs.util.inspect.custom\"):void 0;n.default=t})),a=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=function(e){return a(e,[])};var t,i=(t=o)&&t.__esModule?t:{default:t};function r(e){return(r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function a(e,n){switch(r(e)){case\"string\":return JSON.stringify(e);case\"function\":return e.name?\"[function \".concat(e.name,\"]\"):\"[function]\";case\"object\":return null===e?\"null\":function(e,n){if(-1!==n.indexOf(e))return\"[Circular]\";var t=[].concat(n,[e]),r=function(e){var n=e[String(i.default)];if(\"function\"==typeof n)return n;if(\"function\"==typeof e.inspect)return e.inspect}(e);if(void 0!==r){var o=r.call(e);if(o!==e)return\"string\"==typeof o?o:a(o,t)}else if(Array.isArray(e))return function(e,n){if(0===e.length)return\"[]\";if(n.length>2)return\"[Array]\";for(var t=Math.min(10,e.length),i=e.length-t,r=[],o=0;o1&&r.push(\"... \".concat(i,\" more items\"));return\"[\"+r.join(\", \")+\"]\"}(e,t);return function(e,n){var t=Object.keys(e);if(0===t.length)return\"{}\";if(n.length>2)return\"[\"+function(e){var n=Object.prototype.toString.call(e).replace(/^\\[object /,\"\").replace(/]$/,\"\");if(\"Object\"===n&&\"function\"==typeof e.constructor){var t=e.constructor.name;if(\"string\"==typeof t&&\"\"!==t)return t}return n}(e)+\"]\";return\"{ \"+t.map((function(t){return t+\": \"+a(e[t],n)})).join(\", \")+\" }\"}(e,t)}(e,n);default:return String(e)}}})),s=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=function(e,n){if(!Boolean(e))throw new Error(n)}})),c=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=void 0;n.default=function(e,n){return e instanceof n}})),u=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.isSource=function(e){return(0,o.default)(e,d)},n.Source=void 0;var t=u(a),i=u(s),o=u(c);function u(e){return e&&e.__esModule?e:{default:e}}function l(e,n){for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:\"GraphQL request\",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{line:1,column:1};\"string\"==typeof e||(0,i.default)(0,\"Body must be a string. Received: \".concat((0,t.default)(e),\".\")),this.body=e,this.name=n,this.locationOffset=r,this.locationOffset.line>0||(0,i.default)(0,\"line in locationOffset is 1-indexed and must be positive.\"),this.locationOffset.column>0||(0,i.default)(0,\"column in locationOffset is 1-indexed and must be positive.\")}var n,o,a;return n=e,(o=[{key:r.SYMBOL_TO_STRING_TAG,get:function(){return\"Source\"}}])&&l(n.prototype,o),a&&l(n,a),e}();n.Source=d})),l=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.getLocation=function(e,n){var t,i=/\\r\\n|[\\n\\r]/g,r=1,o=n+1;for(;(t=i.exec(e.body))&&t.index120){for(var h=Math.floor(l/80),T=l%80,v=[],E=0;E\",EOF:\"\",BANG:\"!\",DOLLAR:\"$\",AMP:\"&\",PAREN_L:\"(\",PAREN_R:\")\",SPREAD:\"...\",COLON:\":\",EQUALS:\"=\",AT:\"@\",BRACKET_L:\"[\",BRACKET_R:\"]\",BRACE_L:\"{\",PIPE:\"|\",BRACE_R:\"}\",NAME:\"Name\",INT:\"Int\",FLOAT:\"Float\",STRING:\"String\",BLOCK_STRING:\"BlockString\",COMMENT:\"Comment\"});n.TokenKind=t})),h=i((function(e,n){function t(e){return(t=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=function(e){return\"object\"==t(e)&&null!==e}})),T=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.printError=y,n.GraphQLError=void 0;var t,i=(t=h)&&t.__esModule?t:{default:t};function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function a(e,n){for(var t=0;ta&&t(n[s-1]);)--s;return n.slice(a,s).join(\"\\n\")},n.getBlockStringIndentation=i,n.printBlockString=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=-1===e.indexOf(\"\\n\"),r=\" \"===e[0]||\"\\t\"===e[0],o='\"'===e[e.length-1],a=\"\\\\\"===e[e.length-1],s=!i||o||a||t,c=\"\";!s||i&&r||(c+=\"\\n\"+n);c+=n?e.replace(/\\n/g,\"\\n\"+n):e,s&&(c+=\"\\n\");return'\"\"\"'+c.replace(/\"\"\"/g,'\\\\\"\"\"')+'\"\"\"'}})),k=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.isPunctuatorTokenKind=function(e){return e===f.TokenKind.BANG||e===f.TokenKind.DOLLAR||e===f.TokenKind.AMP||e===f.TokenKind.PAREN_L||e===f.TokenKind.PAREN_R||e===f.TokenKind.SPREAD||e===f.TokenKind.COLON||e===f.TokenKind.EQUALS||e===f.TokenKind.AT||e===f.TokenKind.BRACKET_L||e===f.TokenKind.BRACKET_R||e===f.TokenKind.BRACE_L||e===f.TokenKind.PIPE||e===f.TokenKind.BRACE_R},n.Lexer=void 0;var t=function(){function e(e){var n=new N.Token(f.TokenKind.SOF,0,0,0,0,null);this.source=e,this.lastToken=n,this.token=n,this.line=1,this.lineStart=0}var n=e.prototype;return n.advance=function(){return this.lastToken=this.token,this.token=this.lookahead()},n.lookahead=function(){var e=this.token;if(e.kind!==f.TokenKind.EOF)do{var n;e=null!==(n=e.next)&&void 0!==n?n:e.next=r(this,e)}while(e.kind===f.TokenKind.COMMENT);return e},e}();function i(e){return isNaN(e)?f.TokenKind.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'\"\\\\u'.concat((\"00\"+e.toString(16).toUpperCase()).slice(-4),'\"')}function r(e,n){for(var t=e.source,i=t.body,r=i.length,c=n.end;c31||9===o));return new N.Token(f.TokenKind.COMMENT,n,s,t,i,r,a.slice(n+1,s))}function s(e,n,t,r,o,a){var s=e.body,u=t,l=n,d=!1;if(45===u&&(u=s.charCodeAt(++l)),48===u){if((u=s.charCodeAt(++l))>=48&&u<=57)throw(0,v.syntaxError)(e,l,\"Invalid number, unexpected digit after 0: \".concat(i(u),\".\"))}else l=c(e,l,u),u=s.charCodeAt(l);if(46===u&&(d=!0,u=s.charCodeAt(++l),l=c(e,l,u),u=s.charCodeAt(l)),69!==u&&101!==u||(d=!0,43!==(u=s.charCodeAt(++l))&&45!==u||(u=s.charCodeAt(++l)),l=c(e,l,u),u=s.charCodeAt(l)),46===u||function(e){return 95===e||e>=65&&e<=90||e>=97&&e<=122}(u))throw(0,v.syntaxError)(e,l,\"Invalid number, expected digit but got: \".concat(i(u),\".\"));return new N.Token(d?f.TokenKind.FLOAT:f.TokenKind.INT,n,l,r,o,a,s.slice(n,l))}function c(e,n,t){var r=e.body,o=n,a=t;if(a>=48&&a<=57){do{a=r.charCodeAt(++o)}while(a>=48&&a<=57);return o}throw(0,v.syntaxError)(e,o,\"Invalid number, expected digit but got: \".concat(i(a),\".\"))}function u(e,n,t,r,o){for(var a,s,c,u,l=e.body,p=n+1,h=p,T=0,E=\"\";p=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function p(e,n,t,i,r){for(var o=e.body,a=o.length,s=n+1,c=0;s!==a&&!isNaN(c=o.charCodeAt(s))&&(95===c||c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122);)++s;return new N.Token(f.TokenKind.NAME,n,s,t,i,r,o.slice(n,s))}n.Lexer=t})),_=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.DirectiveLocation=void 0;var t=Object.freeze({QUERY:\"QUERY\",MUTATION:\"MUTATION\",SUBSCRIPTION:\"SUBSCRIPTION\",FIELD:\"FIELD\",FRAGMENT_DEFINITION:\"FRAGMENT_DEFINITION\",FRAGMENT_SPREAD:\"FRAGMENT_SPREAD\",INLINE_FRAGMENT:\"INLINE_FRAGMENT\",VARIABLE_DEFINITION:\"VARIABLE_DEFINITION\",SCHEMA:\"SCHEMA\",SCALAR:\"SCALAR\",OBJECT:\"OBJECT\",FIELD_DEFINITION:\"FIELD_DEFINITION\",ARGUMENT_DEFINITION:\"ARGUMENT_DEFINITION\",INTERFACE:\"INTERFACE\",UNION:\"UNION\",ENUM:\"ENUM\",ENUM_VALUE:\"ENUM_VALUE\",INPUT_OBJECT:\"INPUT_OBJECT\",INPUT_FIELD_DEFINITION:\"INPUT_FIELD_DEFINITION\"});n.DirectiveLocation=t})),O=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.parse=function(e,n){return new t(e,n).parseDocument()},n.parseValue=function(e,n){var i=new t(e,n);i.expectToken(f.TokenKind.SOF);var r=i.parseValueLiteral(!1);return i.expectToken(f.TokenKind.EOF),r},n.parseType=function(e,n){var i=new t(e,n);i.expectToken(f.TokenKind.SOF);var r=i.parseTypeReference();return i.expectToken(f.TokenKind.EOF),r},n.Parser=void 0;var t=function(){function e(e,n){var t=(0,u.isSource)(e)?e:new u.Source(e);this._lexer=new k.Lexer(t),this._options=n}var n=e.prototype;return n.parseName=function(){var e=this.expectToken(f.TokenKind.NAME);return{kind:p.Kind.NAME,value:e.value,loc:this.loc(e)}},n.parseDocument=function(){var e=this._lexer.token;return{kind:p.Kind.DOCUMENT,definitions:this.many(f.TokenKind.SOF,this.parseDefinition,f.TokenKind.EOF),loc:this.loc(e)}},n.parseDefinition=function(){if(this.peek(f.TokenKind.NAME))switch(this._lexer.token.value){case\"query\":case\"mutation\":case\"subscription\":return this.parseOperationDefinition();case\"fragment\":return this.parseFragmentDefinition();case\"schema\":case\"scalar\":case\"type\":case\"interface\":case\"union\":case\"enum\":case\"input\":case\"directive\":return this.parseTypeSystemDefinition();case\"extend\":return this.parseTypeSystemExtension()}else{if(this.peek(f.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},n.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(f.TokenKind.BRACE_L))return{kind:p.Kind.OPERATION_DEFINITION,operation:\"query\",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var n,t=this.parseOperationType();return this.peek(f.TokenKind.NAME)&&(n=this.parseName()),{kind:p.Kind.OPERATION_DEFINITION,operation:t,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},n.parseOperationType=function(){var e=this.expectToken(f.TokenKind.NAME);switch(e.value){case\"query\":return\"query\";case\"mutation\":return\"mutation\";case\"subscription\":return\"subscription\"}throw this.unexpected(e)},n.parseVariableDefinitions=function(){return this.optionalMany(f.TokenKind.PAREN_L,this.parseVariableDefinition,f.TokenKind.PAREN_R)},n.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:p.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(f.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(f.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},n.parseVariable=function(){var e=this._lexer.token;return this.expectToken(f.TokenKind.DOLLAR),{kind:p.Kind.VARIABLE,name:this.parseName(),loc:this.loc(e)}},n.parseSelectionSet=function(){var e=this._lexer.token;return{kind:p.Kind.SELECTION_SET,selections:this.many(f.TokenKind.BRACE_L,this.parseSelection,f.TokenKind.BRACE_R),loc:this.loc(e)}},n.parseSelection=function(){return this.peek(f.TokenKind.SPREAD)?this.parseFragment():this.parseField()},n.parseField=function(){var e,n,t=this._lexer.token,i=this.parseName();return this.expectOptionalToken(f.TokenKind.COLON)?(e=i,n=this.parseName()):n=i,{kind:p.Kind.FIELD,alias:e,name:n,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(f.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(t)}},n.parseArguments=function(e){var n=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(f.TokenKind.PAREN_L,n,f.TokenKind.PAREN_R)},n.parseArgument=function(){var e=this._lexer.token,n=this.parseName();return this.expectToken(f.TokenKind.COLON),{kind:p.Kind.ARGUMENT,name:n,value:this.parseValueLiteral(!1),loc:this.loc(e)}},n.parseConstArgument=function(){var e=this._lexer.token;return{kind:p.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(f.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},n.parseFragment=function(){var e=this._lexer.token;this.expectToken(f.TokenKind.SPREAD);var n=this.expectOptionalKeyword(\"on\");return!n&&this.peek(f.TokenKind.NAME)?{kind:p.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:p.Kind.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},n.parseFragmentDefinition=function(){var e,n=this._lexer.token;return this.expectKeyword(\"fragment\"),!0===(null===(e=this._options)||void 0===e?void 0:e.experimentalFragmentVariables)?{kind:p.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword(\"on\"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(n)}:{kind:p.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword(\"on\"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(n)}},n.parseFragmentName=function(){if(\"on\"===this._lexer.token.value)throw this.unexpected();return this.parseName()},n.parseValueLiteral=function(e){var n=this._lexer.token;switch(n.kind){case f.TokenKind.BRACKET_L:return this.parseList(e);case f.TokenKind.BRACE_L:return this.parseObject(e);case f.TokenKind.INT:return this._lexer.advance(),{kind:p.Kind.INT,value:n.value,loc:this.loc(n)};case f.TokenKind.FLOAT:return this._lexer.advance(),{kind:p.Kind.FLOAT,value:n.value,loc:this.loc(n)};case f.TokenKind.STRING:case f.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case f.TokenKind.NAME:switch(this._lexer.advance(),n.value){case\"true\":return{kind:p.Kind.BOOLEAN,value:!0,loc:this.loc(n)};case\"false\":return{kind:p.Kind.BOOLEAN,value:!1,loc:this.loc(n)};case\"null\":return{kind:p.Kind.NULL,loc:this.loc(n)};default:return{kind:p.Kind.ENUM,value:n.value,loc:this.loc(n)}}case f.TokenKind.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},n.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:p.Kind.STRING,value:e.value,block:e.kind===f.TokenKind.BLOCK_STRING,loc:this.loc(e)}},n.parseList=function(e){var n=this,t=this._lexer.token;return{kind:p.Kind.LIST,values:this.any(f.TokenKind.BRACKET_L,(function(){return n.parseValueLiteral(e)}),f.TokenKind.BRACKET_R),loc:this.loc(t)}},n.parseObject=function(e){var n=this,t=this._lexer.token;return{kind:p.Kind.OBJECT,fields:this.any(f.TokenKind.BRACE_L,(function(){return n.parseObjectField(e)}),f.TokenKind.BRACE_R),loc:this.loc(t)}},n.parseObjectField=function(e){var n=this._lexer.token,t=this.parseName();return this.expectToken(f.TokenKind.COLON),{kind:p.Kind.OBJECT_FIELD,name:t,value:this.parseValueLiteral(e),loc:this.loc(n)}},n.parseDirectives=function(e){for(var n=[];this.peek(f.TokenKind.AT);)n.push(this.parseDirective(e));return n},n.parseDirective=function(e){var n=this._lexer.token;return this.expectToken(f.TokenKind.AT),{kind:p.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(n)}},n.parseTypeReference=function(){var e,n=this._lexer.token;return this.expectOptionalToken(f.TokenKind.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(f.TokenKind.BRACKET_R),e={kind:p.Kind.LIST_TYPE,type:e,loc:this.loc(n)}):e=this.parseNamedType(),this.expectOptionalToken(f.TokenKind.BANG)?{kind:p.Kind.NON_NULL_TYPE,type:e,loc:this.loc(n)}:e},n.parseNamedType=function(){var e=this._lexer.token;return{kind:p.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},n.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===f.TokenKind.NAME)switch(e.value){case\"schema\":return this.parseSchemaDefinition();case\"scalar\":return this.parseScalarTypeDefinition();case\"type\":return this.parseObjectTypeDefinition();case\"interface\":return this.parseInterfaceTypeDefinition();case\"union\":return this.parseUnionTypeDefinition();case\"enum\":return this.parseEnumTypeDefinition();case\"input\":return this.parseInputObjectTypeDefinition();case\"directive\":return this.parseDirectiveDefinition()}throw this.unexpected(e)},n.peekDescription=function(){return this.peek(f.TokenKind.STRING)||this.peek(f.TokenKind.BLOCK_STRING)},n.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},n.parseSchemaDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"schema\");var t=this.parseDirectives(!0),i=this.many(f.TokenKind.BRACE_L,this.parseOperationTypeDefinition,f.TokenKind.BRACE_R);return{kind:p.Kind.SCHEMA_DEFINITION,description:n,directives:t,operationTypes:i,loc:this.loc(e)}},n.parseOperationTypeDefinition=function(){var e=this._lexer.token,n=this.parseOperationType();this.expectToken(f.TokenKind.COLON);var t=this.parseNamedType();return{kind:p.Kind.OPERATION_TYPE_DEFINITION,operation:n,type:t,loc:this.loc(e)}},n.parseScalarTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"scalar\");var t=this.parseName(),i=this.parseDirectives(!0);return{kind:p.Kind.SCALAR_TYPE_DEFINITION,description:n,name:t,directives:i,loc:this.loc(e)}},n.parseObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"type\");var t=this.parseName(),i=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:p.Kind.OBJECT_TYPE_DEFINITION,description:n,name:t,interfaces:i,directives:r,fields:o,loc:this.loc(e)}},n.parseImplementsInterfaces=function(){var e;if(!this.expectOptionalKeyword(\"implements\"))return[];if(!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLImplementsInterfaces)){var n=[];this.expectOptionalToken(f.TokenKind.AMP);do{n.push(this.parseNamedType())}while(this.expectOptionalToken(f.TokenKind.AMP)||this.peek(f.TokenKind.NAME));return n}return this.delimitedMany(f.TokenKind.AMP,this.parseNamedType)},n.parseFieldsDefinition=function(){var e;return!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLEmptyFields)&&this.peek(f.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===f.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(f.TokenKind.BRACE_L,this.parseFieldDefinition,f.TokenKind.BRACE_R)},n.parseFieldDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),i=this.parseArgumentDefs();this.expectToken(f.TokenKind.COLON);var r=this.parseTypeReference(),o=this.parseDirectives(!0);return{kind:p.Kind.FIELD_DEFINITION,description:n,name:t,arguments:i,type:r,directives:o,loc:this.loc(e)}},n.parseArgumentDefs=function(){return this.optionalMany(f.TokenKind.PAREN_L,this.parseInputValueDef,f.TokenKind.PAREN_R)},n.parseInputValueDef=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName();this.expectToken(f.TokenKind.COLON);var i,r=this.parseTypeReference();this.expectOptionalToken(f.TokenKind.EQUALS)&&(i=this.parseValueLiteral(!0));var o=this.parseDirectives(!0);return{kind:p.Kind.INPUT_VALUE_DEFINITION,description:n,name:t,type:r,defaultValue:i,directives:o,loc:this.loc(e)}},n.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"interface\");var t=this.parseName(),i=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:p.Kind.INTERFACE_TYPE_DEFINITION,description:n,name:t,interfaces:i,directives:r,fields:o,loc:this.loc(e)}},n.parseUnionTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"union\");var t=this.parseName(),i=this.parseDirectives(!0),r=this.parseUnionMemberTypes();return{kind:p.Kind.UNION_TYPE_DEFINITION,description:n,name:t,directives:i,types:r,loc:this.loc(e)}},n.parseUnionMemberTypes=function(){return this.expectOptionalToken(f.TokenKind.EQUALS)?this.delimitedMany(f.TokenKind.PIPE,this.parseNamedType):[]},n.parseEnumTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"enum\");var t=this.parseName(),i=this.parseDirectives(!0),r=this.parseEnumValuesDefinition();return{kind:p.Kind.ENUM_TYPE_DEFINITION,description:n,name:t,directives:i,values:r,loc:this.loc(e)}},n.parseEnumValuesDefinition=function(){return this.optionalMany(f.TokenKind.BRACE_L,this.parseEnumValueDefinition,f.TokenKind.BRACE_R)},n.parseEnumValueDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),i=this.parseDirectives(!0);return{kind:p.Kind.ENUM_VALUE_DEFINITION,description:n,name:t,directives:i,loc:this.loc(e)}},n.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"input\");var t=this.parseName(),i=this.parseDirectives(!0),r=this.parseInputFieldsDefinition();return{kind:p.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:t,directives:i,fields:r,loc:this.loc(e)}},n.parseInputFieldsDefinition=function(){return this.optionalMany(f.TokenKind.BRACE_L,this.parseInputValueDef,f.TokenKind.BRACE_R)},n.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===f.TokenKind.NAME)switch(e.value){case\"schema\":return this.parseSchemaExtension();case\"scalar\":return this.parseScalarTypeExtension();case\"type\":return this.parseObjectTypeExtension();case\"interface\":return this.parseInterfaceTypeExtension();case\"union\":return this.parseUnionTypeExtension();case\"enum\":return this.parseEnumTypeExtension();case\"input\":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},n.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"schema\");var n=this.parseDirectives(!0),t=this.optionalMany(f.TokenKind.BRACE_L,this.parseOperationTypeDefinition,f.TokenKind.BRACE_R);if(0===n.length&&0===t.length)throw this.unexpected();return{kind:p.Kind.SCHEMA_EXTENSION,directives:n,operationTypes:t,loc:this.loc(e)}},n.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"scalar\");var n=this.parseName(),t=this.parseDirectives(!0);if(0===t.length)throw this.unexpected();return{kind:p.Kind.SCALAR_TYPE_EXTENSION,name:n,directives:t,loc:this.loc(e)}},n.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"type\");var n=this.parseName(),t=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===t.length&&0===i.length&&0===r.length)throw this.unexpected();return{kind:p.Kind.OBJECT_TYPE_EXTENSION,name:n,interfaces:t,directives:i,fields:r,loc:this.loc(e)}},n.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"interface\");var n=this.parseName(),t=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===t.length&&0===i.length&&0===r.length)throw this.unexpected();return{kind:p.Kind.INTERFACE_TYPE_EXTENSION,name:n,interfaces:t,directives:i,fields:r,loc:this.loc(e)}},n.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"union\");var n=this.parseName(),t=this.parseDirectives(!0),i=this.parseUnionMemberTypes();if(0===t.length&&0===i.length)throw this.unexpected();return{kind:p.Kind.UNION_TYPE_EXTENSION,name:n,directives:t,types:i,loc:this.loc(e)}},n.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"enum\");var n=this.parseName(),t=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();if(0===t.length&&0===i.length)throw this.unexpected();return{kind:p.Kind.ENUM_TYPE_EXTENSION,name:n,directives:t,values:i,loc:this.loc(e)}},n.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"input\");var n=this.parseName(),t=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();if(0===t.length&&0===i.length)throw this.unexpected();return{kind:p.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:t,fields:i,loc:this.loc(e)}},n.parseDirectiveDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword(\"directive\"),this.expectToken(f.TokenKind.AT);var t=this.parseName(),i=this.parseArgumentDefs(),r=this.expectOptionalKeyword(\"repeatable\");this.expectKeyword(\"on\");var o=this.parseDirectiveLocations();return{kind:p.Kind.DIRECTIVE_DEFINITION,description:n,name:t,arguments:i,repeatable:r,locations:o,loc:this.loc(e)}},n.parseDirectiveLocations=function(){return this.delimitedMany(f.TokenKind.PIPE,this.parseDirectiveLocation)},n.parseDirectiveLocation=function(){var e=this._lexer.token,n=this.parseName();if(void 0!==_.DirectiveLocation[n.value])return n;throw this.unexpected(e)},n.loc=function(e){var n;if(!0!==(null===(n=this._options)||void 0===n?void 0:n.noLocation))return new N.Location(e,this._lexer.lastToken,this._lexer.source)},n.peek=function(e){return this._lexer.token.kind===e},n.expectToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n;throw(0,v.syntaxError)(this._lexer.source,n.start,\"Expected \".concat(r(e),\", found \").concat(i(n),\".\"))},n.expectOptionalToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n},n.expectKeyword=function(e){var n=this._lexer.token;if(n.kind!==f.TokenKind.NAME||n.value!==e)throw(0,v.syntaxError)(this._lexer.source,n.start,'Expected \"'.concat(e,'\", found ').concat(i(n),\".\"));this._lexer.advance()},n.expectOptionalKeyword=function(e){var n=this._lexer.token;return n.kind===f.TokenKind.NAME&&n.value===e&&(this._lexer.advance(),!0)},n.unexpected=function(e){var n=null!=e?e:this._lexer.token;return(0,v.syntaxError)(this._lexer.source,n.start,\"Unexpected \".concat(i(n),\".\"))},n.any=function(e,n,t){this.expectToken(e);for(var i=[];!this.expectOptionalToken(t);)i.push(n.call(this));return i},n.optionalMany=function(e,n,t){if(this.expectOptionalToken(e)){var i=[];do{i.push(n.call(this))}while(!this.expectOptionalToken(t));return i}return[]},n.many=function(e,n,t){this.expectToken(e);var i=[];do{i.push(n.call(this))}while(!this.expectOptionalToken(t));return i},n.delimitedMany=function(e,n){this.expectOptionalToken(e);var t=[];do{t.push(n.call(this))}while(this.expectOptionalToken(e));return t},e}();function i(e){var n=e.value;return r(e.kind)+(null!=n?' \"'.concat(n,'\"'):\"\")}function r(e){return(0,k.isPunctuatorTokenKind)(e)?'\"'.concat(e,'\"'):e}n.Parser=t})),I=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.visit=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r,a=void 0,c=Array.isArray(e),u=[e],l=-1,d=[],p=void 0,f=void 0,h=void 0,T=[],v=[],E=e;do{var y=++l===u.length,m=y&&0!==d.length;if(y){if(f=0===v.length?void 0:T[T.length-1],p=h,h=v.pop(),m){if(c)p=p.slice();else{for(var k={},_=0,O=Object.keys(p);_80&&(l=u+a(\"(\\n\",s(r(i,\"\\n\")),\"\\n)\")),r([l,r(o,\" \"),c],\" \")},Argument:function(e){return e.name+\": \"+e.value},FragmentSpread:function(e){return\"...\"+e.name+a(\" \",r(e.directives,\" \"))},InlineFragment:function(e){var n=e.typeCondition,t=e.directives,i=e.selectionSet;return r([\"...\",a(\"on \",n),r(t,\" \"),i],\" \")},FragmentDefinition:function(e){var n=e.name,t=e.typeCondition,i=e.variableDefinitions,o=e.directives,s=e.selectionSet;return\"fragment \".concat(n).concat(a(\"(\",r(i,\", \"),\")\"),\" \")+\"on \".concat(t,\" \").concat(a(\"\",r(o,\" \"),\" \"))+s},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,n){var t=e.value;return e.block?(0,m.printBlockString)(t,\"description\"===n?\"\":\" \"):JSON.stringify(t)},BooleanValue:function(e){return e.value?\"true\":\"false\"},NullValue:function(){return\"null\"},EnumValue:function(e){return e.value},ListValue:function(e){return\"[\"+r(e.values,\", \")+\"]\"},ObjectValue:function(e){return\"{\"+r(e.fields,\", \")+\"}\"},ObjectField:function(e){return e.name+\": \"+e.value},Directive:function(e){return\"@\"+e.name+a(\"(\",r(e.arguments,\", \"),\")\")},NamedType:function(e){return e.name},ListType:function(e){return\"[\"+e.type+\"]\"},NonNullType:function(e){return e.type+\"!\"},SchemaDefinition:i((function(e){var n=e.directives,t=e.operationTypes;return r([\"schema\",r(n,\" \"),o(t)],\" \")})),OperationTypeDefinition:function(e){return e.operation+\": \"+e.type},ScalarTypeDefinition:i((function(e){return r([\"scalar\",e.name,r(e.directives,\" \")],\" \")})),ObjectTypeDefinition:i((function(e){var n=e.name,t=e.interfaces,i=e.directives,s=e.fields;return r([\"type\",n,a(\"implements \",r(t,\" & \")),r(i,\" \"),o(s)],\" \")})),FieldDefinition:i((function(e){var n=e.name,t=e.arguments,i=e.type,o=e.directives;return n+(u(t)?a(\"(\\n\",s(r(t,\"\\n\")),\"\\n)\"):a(\"(\",r(t,\", \"),\")\"))+\": \"+i+a(\" \",r(o,\" \"))})),InputValueDefinition:i((function(e){var n=e.name,t=e.type,i=e.defaultValue,o=e.directives;return r([n+\": \"+t,a(\"= \",i),r(o,\" \")],\" \")})),InterfaceTypeDefinition:i((function(e){var n=e.name,t=e.interfaces,i=e.directives,s=e.fields;return r([\"interface\",n,a(\"implements \",r(t,\" & \")),r(i,\" \"),o(s)],\" \")})),UnionTypeDefinition:i((function(e){var n=e.name,t=e.directives,i=e.types;return r([\"union\",n,r(t,\" \"),i&&0!==i.length?\"= \"+r(i,\" | \"):\"\"],\" \")})),EnumTypeDefinition:i((function(e){var n=e.name,t=e.directives,i=e.values;return r([\"enum\",n,r(t,\" \"),o(i)],\" \")})),EnumValueDefinition:i((function(e){return r([e.name,r(e.directives,\" \")],\" \")})),InputObjectTypeDefinition:i((function(e){var n=e.name,t=e.directives,i=e.fields;return r([\"input\",n,r(t,\" \"),o(i)],\" \")})),DirectiveDefinition:i((function(e){var n=e.name,t=e.arguments,i=e.repeatable,o=e.locations;return\"directive @\"+n+(u(t)?a(\"(\\n\",s(r(t,\"\\n\")),\"\\n)\"):a(\"(\",r(t,\", \"),\")\"))+(i?\" repeatable\":\"\")+\" on \"+r(o,\" | \")})),SchemaExtension:function(e){var n=e.directives,t=e.operationTypes;return r([\"extend schema\",r(n,\" \"),o(t)],\" \")},ScalarTypeExtension:function(e){return r([\"extend scalar\",e.name,r(e.directives,\" \")],\" \")},ObjectTypeExtension:function(e){var n=e.name,t=e.interfaces,i=e.directives,s=e.fields;return r([\"extend type\",n,a(\"implements \",r(t,\" & \")),r(i,\" \"),o(s)],\" \")},InterfaceTypeExtension:function(e){var n=e.name,t=e.interfaces,i=e.directives,s=e.fields;return r([\"extend interface\",n,a(\"implements \",r(t,\" & \")),r(i,\" \"),o(s)],\" \")},UnionTypeExtension:function(e){var n=e.name,t=e.directives,i=e.types;return r([\"extend union\",n,r(t,\" \"),i&&0!==i.length?\"= \"+r(i,\" | \"):\"\"],\" \")},EnumTypeExtension:function(e){var n=e.name,t=e.directives,i=e.values;return r([\"extend enum\",n,r(t,\" \"),o(i)],\" \")},InputObjectTypeExtension:function(e){var n=e.name,t=e.directives,i=e.fields;return r([\"extend input\",n,r(t,\" \"),o(i)],\" \")}};function i(e){return function(n){return r([n.description,e(n)],\"\\n\")}}function r(e){var n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";return null!==(n=null==e?void 0:e.filter((function(e){return e})).join(t))&&void 0!==n?n:\"\"}function o(e){return a(\"{\\n\",s(r(e,\"\\n\")),\"\\n}\")}function a(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\";return null!=n&&\"\"!==n?e+n+t:\"\"}function s(e){return a(\" \",e.replace(/\\n/g,\"\\n \"))}function c(e){return-1!==e.indexOf(\"\\n\")}function u(e){return null!=e&&e.some(c)}})),D=i((function(e,n){function t(e){return e.kind===p.Kind.OPERATION_DEFINITION||e.kind===p.Kind.FRAGMENT_DEFINITION}function i(e){return e.kind===p.Kind.SCHEMA_DEFINITION||r(e)||e.kind===p.Kind.DIRECTIVE_DEFINITION}function r(e){return e.kind===p.Kind.SCALAR_TYPE_DEFINITION||e.kind===p.Kind.OBJECT_TYPE_DEFINITION||e.kind===p.Kind.INTERFACE_TYPE_DEFINITION||e.kind===p.Kind.UNION_TYPE_DEFINITION||e.kind===p.Kind.ENUM_TYPE_DEFINITION||e.kind===p.Kind.INPUT_OBJECT_TYPE_DEFINITION}function o(e){return e.kind===p.Kind.SCHEMA_EXTENSION||a(e)}function a(e){return e.kind===p.Kind.SCALAR_TYPE_EXTENSION||e.kind===p.Kind.OBJECT_TYPE_EXTENSION||e.kind===p.Kind.INTERFACE_TYPE_EXTENSION||e.kind===p.Kind.UNION_TYPE_EXTENSION||e.kind===p.Kind.ENUM_TYPE_EXTENSION||e.kind===p.Kind.INPUT_OBJECT_TYPE_EXTENSION}Object.defineProperty(n,\"__esModule\",{value:!0}),n.isDefinitionNode=function(e){return t(e)||i(e)||o(e)},n.isExecutableDefinitionNode=t,n.isSelectionNode=function(e){return e.kind===p.Kind.FIELD||e.kind===p.Kind.FRAGMENT_SPREAD||e.kind===p.Kind.INLINE_FRAGMENT},n.isValueNode=function(e){return e.kind===p.Kind.VARIABLE||e.kind===p.Kind.INT||e.kind===p.Kind.FLOAT||e.kind===p.Kind.STRING||e.kind===p.Kind.BOOLEAN||e.kind===p.Kind.NULL||e.kind===p.Kind.ENUM||e.kind===p.Kind.LIST||e.kind===p.Kind.OBJECT},n.isTypeNode=function(e){return e.kind===p.Kind.NAMED_TYPE||e.kind===p.Kind.LIST_TYPE||e.kind===p.Kind.NON_NULL_TYPE},n.isTypeSystemDefinitionNode=i,n.isTypeDefinitionNode=r,n.isTypeSystemExtensionNode=o,n.isTypeExtensionNode=a})),x=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),Object.defineProperty(n,\"Source\",{enumerable:!0,get:function(){return u.Source}}),Object.defineProperty(n,\"getLocation\",{enumerable:!0,get:function(){return l.getLocation}}),Object.defineProperty(n,\"printLocation\",{enumerable:!0,get:function(){return d.printLocation}}),Object.defineProperty(n,\"printSourceLocation\",{enumerable:!0,get:function(){return d.printSourceLocation}}),Object.defineProperty(n,\"Kind\",{enumerable:!0,get:function(){return p.Kind}}),Object.defineProperty(n,\"TokenKind\",{enumerable:!0,get:function(){return f.TokenKind}}),Object.defineProperty(n,\"Lexer\",{enumerable:!0,get:function(){return k.Lexer}}),Object.defineProperty(n,\"parse\",{enumerable:!0,get:function(){return O.parse}}),Object.defineProperty(n,\"parseValue\",{enumerable:!0,get:function(){return O.parseValue}}),Object.defineProperty(n,\"parseType\",{enumerable:!0,get:function(){return O.parseType}}),Object.defineProperty(n,\"print\",{enumerable:!0,get:function(){return b.print}}),Object.defineProperty(n,\"visit\",{enumerable:!0,get:function(){return I.visit}}),Object.defineProperty(n,\"visitInParallel\",{enumerable:!0,get:function(){return I.visitInParallel}}),Object.defineProperty(n,\"getVisitFn\",{enumerable:!0,get:function(){return I.getVisitFn}}),Object.defineProperty(n,\"BREAK\",{enumerable:!0,get:function(){return I.BREAK}}),Object.defineProperty(n,\"Location\",{enumerable:!0,get:function(){return N.Location}}),Object.defineProperty(n,\"Token\",{enumerable:!0,get:function(){return N.Token}}),Object.defineProperty(n,\"isDefinitionNode\",{enumerable:!0,get:function(){return D.isDefinitionNode}}),Object.defineProperty(n,\"isExecutableDefinitionNode\",{enumerable:!0,get:function(){return D.isExecutableDefinitionNode}}),Object.defineProperty(n,\"isSelectionNode\",{enumerable:!0,get:function(){return D.isSelectionNode}}),Object.defineProperty(n,\"isValueNode\",{enumerable:!0,get:function(){return D.isValueNode}}),Object.defineProperty(n,\"isTypeNode\",{enumerable:!0,get:function(){return D.isTypeNode}}),Object.defineProperty(n,\"isTypeSystemDefinitionNode\",{enumerable:!0,get:function(){return D.isTypeSystemDefinitionNode}}),Object.defineProperty(n,\"isTypeDefinitionNode\",{enumerable:!0,get:function(){return D.isTypeDefinitionNode}}),Object.defineProperty(n,\"isTypeSystemExtensionNode\",{enumerable:!0,get:function(){return D.isTypeSystemExtensionNode}}),Object.defineProperty(n,\"isTypeExtensionNode\",{enumerable:!0,get:function(){return D.isTypeExtensionNode}}),Object.defineProperty(n,\"DirectiveLocation\",{enumerable:!0,get:function(){return _.DirectiveLocation}})})),A=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.locatedError=function(e,n,t){var r,o=e instanceof Error?e:new Error(\"Unexpected error value: \"+(0,i.default)(e));if(Array.isArray(o.path))return o;return new T.GraphQLError(o.message,null!==(r=o.nodes)&&void 0!==r?r:n,o.source,o.positions,t,o)};var t,i=(t=a)&&t.__esModule?t:{default:t}})),S=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),n.formatError=function(e){var n;e||(0,i.default)(0,\"Received null or undefined error.\");var t=null!==(n=e.message)&&void 0!==n?n:\"An unknown error occurred.\",r=e.locations,o=e.path,a=e.extensions;return a?{message:t,locations:r,path:o,extensions:a}:{message:t,locations:r,path:o}};var t,i=(t=s)&&t.__esModule?t:{default:t}})),K=i((function(e,n){Object.defineProperty(n,\"__esModule\",{value:!0}),Object.defineProperty(n,\"GraphQLError\",{enumerable:!0,get:function(){return T.GraphQLError}}),Object.defineProperty(n,\"printError\",{enumerable:!0,get:function(){return T.printError}}),Object.defineProperty(n,\"syntaxError\",{enumerable:!0,get:function(){return v.syntaxError}}),Object.defineProperty(n,\"locatedError\",{enumerable:!0,get:function(){return A.locatedError}}),Object.defineProperty(n,\"formatError\",{enumerable:!0,get:function(){return S.formatError}})}));const{hasPragma:g}=n,{locStart:L,locEnd:P}=t;function R(e){if(e&&\"object\"==typeof e){delete e.startToken,delete e.endToken,delete e.prev,delete e.next;for(const n in e)R(e[n])}return e}return{parsers:{graphql:{parse:function(n){const t=x;try{const e=function(e,n){const t={allowLegacySDLImplementsInterfaces:!1,experimentalFragmentVariables:!0};try{return e(n,t)}catch(i){return t.allowLegacySDLImplementsInterfaces=!0,e(n,t)}}(t.parse,n);return e.comments=function(e){const n=[],{startToken:t}=e.loc;let{next:i}=t;for(;\"\"!==i.kind;)\"Comment\"===i.kind&&(Object.assign(i,{column:i.column-1}),n.push(i)),i=i.next;return n}(e),R(e),e}catch(n){const{GraphQLError:t}=K;if(n instanceof t){const{message:t,locations:[i]}=n;throw e(t,{start:i})}throw n}},astFormat:\"graphql\",hasPragma:g,locStart:L,locEnd:P}}}}));\n","'use strict';\n\n/**\n * Minimal HTTP/S proxy client\n */\n\nconst net = require('net');\nconst tls = require('tls');\nconst urllib = require('url');\n\n/**\n * Establishes proxied connection to destinationPort\n *\n * httpProxyClient(\"http://localhost:3128/\", 80, \"google.com\", function(err, socket){\n * socket.write(\"GET / HTTP/1.0\\r\\n\\r\\n\");\n * });\n *\n * @param {String} proxyUrl proxy configuration, etg \"http://proxy.host:3128/\"\n * @param {Number} destinationPort Port to open in destination host\n * @param {String} destinationHost Destination hostname\n * @param {Function} callback Callback to run with the rocket object once connection is established\n */\nfunction httpProxyClient(proxyUrl, destinationPort, destinationHost, callback) {\n let proxy = urllib.parse(proxyUrl);\n\n // create a socket connection to the proxy server\n let options;\n let connect;\n let socket;\n\n options = {\n host: proxy.hostname,\n port: Number(proxy.port) ? Number(proxy.port) : proxy.protocol === 'https:' ? 443 : 80\n };\n\n if (proxy.protocol === 'https:') {\n // we can use untrusted proxies as long as we verify actual SMTP certificates\n options.rejectUnauthorized = false;\n connect = tls.connect.bind(tls);\n } else {\n connect = net.connect.bind(net);\n }\n\n // Error harness for initial connection. Once connection is established, the responsibility\n // to handle errors is passed to whoever uses this socket\n let finished = false;\n let tempSocketErr = function (err) {\n if (finished) {\n return;\n }\n finished = true;\n try {\n socket.destroy();\n } catch (E) {\n // ignore\n }\n callback(err);\n };\n\n socket = connect(options, () => {\n if (finished) {\n return;\n }\n\n let reqHeaders = {\n Host: destinationHost + ':' + destinationPort,\n Connection: 'close'\n };\n if (proxy.auth) {\n reqHeaders['Proxy-Authorization'] = 'Basic ' + Buffer.from(proxy.auth).toString('base64');\n }\n\n socket.write(\n // HTTP method\n 'CONNECT ' +\n destinationHost +\n ':' +\n destinationPort +\n ' HTTP/1.1\\r\\n' +\n // HTTP request headers\n Object.keys(reqHeaders)\n .map(key => key + ': ' + reqHeaders[key])\n .join('\\r\\n') +\n // End request\n '\\r\\n\\r\\n'\n );\n\n let headers = '';\n let onSocketData = chunk => {\n let match;\n let remainder;\n\n if (finished) {\n return;\n }\n\n headers += chunk.toString('binary');\n if ((match = headers.match(/\\r\\n\\r\\n/))) {\n socket.removeListener('data', onSocketData);\n\n remainder = headers.substr(match.index + match[0].length);\n headers = headers.substr(0, match.index);\n if (remainder) {\n socket.unshift(Buffer.from(remainder, 'binary'));\n }\n\n // proxy connection is now established\n finished = true;\n\n // check response code\n match = headers.match(/^HTTP\\/\\d+\\.\\d+ (\\d+)/i);\n if (!match || (match[1] || '').charAt(0) !== '2') {\n try {\n socket.destroy();\n } catch (E) {\n // ignore\n }\n return callback(new Error('Invalid response from proxy' + ((match && ': ' + match[1]) || '')));\n }\n\n socket.removeListener('error', tempSocketErr);\n return callback(null, socket);\n }\n };\n socket.on('data', onSocketData);\n });\n\n socket.once('error', tempSocketErr);\n}\n\nmodule.exports = httpProxyClient;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlReadFunc = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898fccafc5d6cd04f6235f283cfbd/include/curl/curl.h#L361-L366\r\n/**\r\n * Special return codes for `READFUNCTION` option\r\n *\r\n * `CURL_READFUNC_ABORT` becomes `CurlReadFunc.Abort`\r\n *\r\n * @public\r\n */\r\nvar CurlReadFunc;\r\n(function (CurlReadFunc) {\r\n CurlReadFunc[CurlReadFunc[\"Abort\"] = 268435456] = \"Abort\";\r\n CurlReadFunc[CurlReadFunc[\"Pause\"] = 268435457] = \"Pause\";\r\n})(CurlReadFunc = exports.CurlReadFunc || (exports.CurlReadFunc = {}));\r\n//# sourceMappingURL=CurlReadFunc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateSite = void 0;\nconst shelljs_1 = require(\"shelljs\");\nconst init_check_1 = require(\"./helpers/init-check\");\nconst generateSite = async () => {\n if (!(await init_check_1.shouldContinue()))\n return;\n const siteDir = \"site\";\n shelljs_1.mkdir(siteDir);\n shelljs_1.cd(siteDir);\n shelljs_1.exec(\"npm init -y\");\n shelljs_1.exec(\"npm i @upptime/status-page\");\n shelljs_1.cp(\"-r\", \"node_modules/@upptime/status-page/*\", \".\");\n shelljs_1.exec(\"npm i\");\n shelljs_1.exec(\"npm run export\");\n shelljs_1.mkdir(\"-p\", \"status-page/__sapper__/export\");\n shelljs_1.cp(\"-r\", \"__sapper__/export/*\", \"status-page/__sapper__/export\");\n shelljs_1.cd(\"../..\");\n};\nexports.generateSite = generateSite;\n//# sourceMappingURL=site.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar universalUserAgent = require('universal-user-agent');\nvar beforeAfterHook = require('before-after-hook');\nvar request = require('@octokit/request');\nvar graphql = require('@octokit/graphql');\nvar authToken = require('@octokit/auth-token');\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nconst VERSION = \"2.5.4\";\n\nclass Octokit {\n constructor(options = {}) {\n const hook = new beforeAfterHook.Collection();\n const requestDefaults = {\n baseUrl: request.request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n }; // prepend default user agent with `options.userAgent` if set\n\n requestDefaults.headers[\"user-agent\"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(\" \");\n\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n\n this.request = request.request.defaults(requestDefaults);\n this.graphql = graphql.withCustomRequest(this.request).defaults(_objectSpread2(_objectSpread2({}, requestDefaults), {}, {\n baseUrl: requestDefaults.baseUrl.replace(/\\/api\\/v3$/, \"/api\")\n }));\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; // (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 registred.\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\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n // (2)\n const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const auth = options.authStrategy(Object.assign({\n request: this.request\n }, options.auth)); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n } // apply plugins\n // https://stackoverflow.com/a/16345172\n\n\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach(plugin => {\n Object.assign(this, plugin(this, options));\n });\n }\n\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null));\n }\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\n\n static plugin(p1, ...p2) {\n var _a;\n\n if (p1 instanceof Array) {\n console.warn([\"Passing an array of plugins to Octokit.plugin() has been deprecated.\", \"Instead of:\", \" Octokit.plugin([plugin1, plugin2, ...])\", \"Use:\", \" Octokit.plugin(plugin1, plugin2, ...)\"].join(\"\\n\"));\n }\n\n const currentPlugins = this.plugins;\n let newPlugins = [...(p1 instanceof Array ? p1 : [p1]), ...p2];\n const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a);\n return NewOctokit;\n }\n\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n\nexports.Octokit = Octokit;\n//# sourceMappingURL=index.js.map\n","var once = require('once')\nvar eos = require('end-of-stream')\nvar fs = require('fs') // we only need fs to get the ReadStream and WriteStream prototypes\n\nvar noop = function () {}\nvar ancient = /^v?\\.0/.test(process.version)\n\nvar isFn = function (fn) {\n return typeof fn === 'function'\n}\n\nvar isFS = function (stream) {\n if (!ancient) return false // newer node version do not need to care about fs is a special way\n if (!fs) return false // browser\n return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close)\n}\n\nvar isRequest = function (stream) {\n return stream.setHeader && isFn(stream.abort)\n}\n\nvar destroyer = function (stream, reading, writing, callback) {\n callback = once(callback)\n\n var closed = false\n stream.on('close', function () {\n closed = true\n })\n\n eos(stream, {readable: reading, writable: writing}, function (err) {\n if (err) return callback(err)\n closed = true\n callback()\n })\n\n var destroyed = false\n return function (err) {\n if (closed) return\n if (destroyed) return\n destroyed = true\n\n if (isFS(stream)) return stream.close(noop) // use close for fs streams to avoid fd leaks\n if (isRequest(stream)) return stream.abort() // request.destroy just do .end - .abort is what we want\n\n if (isFn(stream.destroy)) return stream.destroy()\n\n callback(err || new Error('stream was destroyed'))\n }\n}\n\nvar call = function (fn) {\n fn()\n}\n\nvar pipe = function (from, to) {\n return from.pipe(to)\n}\n\nvar pump = function () {\n var streams = Array.prototype.slice.call(arguments)\n var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop\n\n if (Array.isArray(streams[0])) streams = streams[0]\n if (streams.length < 2) throw new Error('pump requires two streams per minimum')\n\n var error\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1\n var writing = i > 0\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err\n if (err) destroys.forEach(call)\n if (reading) return\n destroys.forEach(call)\n callback(error)\n })\n })\n\n return streams.reduce(pipe)\n}\n\nmodule.exports = pump\n","var debug;\ntry {\n /* eslint global-require: off */\n debug = require(\"debug\")(\"follow-redirects\");\n}\ncatch (error) {\n debug = function () { /* */ };\n}\nmodule.exports = debug;\n","'use strict';\n\n/*eslint-disable max-len,no-use-before-define*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar Mark = require('./mark');\nvar DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');\nvar DEFAULT_FULL_SCHEMA = require('./schema/default_full');\n\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\n\nvar CONTEXT_FLOW_IN = 1;\nvar CONTEXT_FLOW_OUT = 2;\nvar CONTEXT_BLOCK_IN = 3;\nvar CONTEXT_BLOCK_OUT = 4;\n\n\nvar CHOMPING_CLIP = 1;\nvar CHOMPING_STRIP = 2;\nvar CHOMPING_KEEP = 3;\n\n\nvar PATTERN_NON_PRINTABLE = /[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\nvar PATTERN_NON_ASCII_LINE_BREAKS = /[\\x85\\u2028\\u2029]/;\nvar PATTERN_FLOW_INDICATORS = /[,\\[\\]\\{\\}]/;\nvar PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\\-]+!)$/i;\nvar PATTERN_TAG_URI = /^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;\n\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\n\nfunction is_EOL(c) {\n return (c === 0x0A/* LF */) || (c === 0x0D/* CR */);\n}\n\nfunction is_WHITE_SPACE(c) {\n return (c === 0x09/* Tab */) || (c === 0x20/* Space */);\n}\n\nfunction is_WS_OR_EOL(c) {\n return (c === 0x09/* Tab */) ||\n (c === 0x20/* Space */) ||\n (c === 0x0A/* LF */) ||\n (c === 0x0D/* CR */);\n}\n\nfunction is_FLOW_INDICATOR(c) {\n return c === 0x2C/* , */ ||\n c === 0x5B/* [ */ ||\n c === 0x5D/* ] */ ||\n c === 0x7B/* { */ ||\n c === 0x7D/* } */;\n}\n\nfunction fromHexCode(c) {\n var lc;\n\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n /*eslint-disable no-bitwise*/\n lc = c | 0x20;\n\n if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) {\n return lc - 0x61 + 10;\n }\n\n return -1;\n}\n\nfunction escapedHexLen(c) {\n if (c === 0x78/* x */) { return 2; }\n if (c === 0x75/* u */) { return 4; }\n if (c === 0x55/* U */) { return 8; }\n return 0;\n}\n\nfunction fromDecimalCode(c) {\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n return -1;\n}\n\nfunction simpleEscapeSequence(c) {\n /* eslint-disable indent */\n return (c === 0x30/* 0 */) ? '\\x00' :\n (c === 0x61/* a */) ? '\\x07' :\n (c === 0x62/* b */) ? '\\x08' :\n (c === 0x74/* t */) ? '\\x09' :\n (c === 0x09/* Tab */) ? '\\x09' :\n (c === 0x6E/* n */) ? '\\x0A' :\n (c === 0x76/* v */) ? '\\x0B' :\n (c === 0x66/* f */) ? '\\x0C' :\n (c === 0x72/* r */) ? '\\x0D' :\n (c === 0x65/* e */) ? '\\x1B' :\n (c === 0x20/* Space */) ? ' ' :\n (c === 0x22/* \" */) ? '\\x22' :\n (c === 0x2F/* / */) ? '/' :\n (c === 0x5C/* \\ */) ? '\\x5C' :\n (c === 0x4E/* N */) ? '\\x85' :\n (c === 0x5F/* _ */) ? '\\xA0' :\n (c === 0x4C/* L */) ? '\\u2028' :\n (c === 0x50/* P */) ? '\\u2029' : '';\n}\n\nfunction charFromCodepoint(c) {\n if (c <= 0xFFFF) {\n return String.fromCharCode(c);\n }\n // Encode UTF-16 surrogate pair\n // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF\n return String.fromCharCode(\n ((c - 0x010000) >> 10) + 0xD800,\n ((c - 0x010000) & 0x03FF) + 0xDC00\n );\n}\n\nvar simpleEscapeCheck = new Array(256); // integer, for fast access\nvar simpleEscapeMap = new Array(256);\nfor (var i = 0; i < 256; i++) {\n simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;\n simpleEscapeMap[i] = simpleEscapeSequence(i);\n}\n\n\nfunction State(input, options) {\n this.input = input;\n\n this.filename = options['filename'] || null;\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.onWarning = options['onWarning'] || null;\n this.legacy = options['legacy'] || false;\n this.json = options['json'] || false;\n this.listener = options['listener'] || null;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.typeMap = this.schema.compiledTypeMap;\n\n this.length = input.length;\n this.position = 0;\n this.line = 0;\n this.lineStart = 0;\n this.lineIndent = 0;\n\n this.documents = [];\n\n /*\n this.version;\n this.checkLineBreaks;\n this.tagMap;\n this.anchorMap;\n this.tag;\n this.anchor;\n this.kind;\n this.result;*/\n\n}\n\n\nfunction generateError(state, message) {\n return new YAMLException(\n message,\n new Mark(state.filename, state.input, state.position, state.line, (state.position - state.lineStart)));\n}\n\nfunction throwError(state, message) {\n throw generateError(state, message);\n}\n\nfunction throwWarning(state, message) {\n if (state.onWarning) {\n state.onWarning.call(null, generateError(state, message));\n }\n}\n\n\nvar directiveHandlers = {\n\n YAML: function handleYamlDirective(state, name, args) {\n\n var match, major, minor;\n\n if (state.version !== null) {\n throwError(state, 'duplication of %YAML directive');\n }\n\n if (args.length !== 1) {\n throwError(state, 'YAML directive accepts exactly one argument');\n }\n\n match = /^([0-9]+)\\.([0-9]+)$/.exec(args[0]);\n\n if (match === null) {\n throwError(state, 'ill-formed argument of the YAML directive');\n }\n\n major = parseInt(match[1], 10);\n minor = parseInt(match[2], 10);\n\n if (major !== 1) {\n throwError(state, 'unacceptable YAML version of the document');\n }\n\n state.version = args[0];\n state.checkLineBreaks = (minor < 2);\n\n if (minor !== 1 && minor !== 2) {\n throwWarning(state, 'unsupported YAML version of the document');\n }\n },\n\n TAG: function handleTagDirective(state, name, args) {\n\n var handle, prefix;\n\n if (args.length !== 2) {\n throwError(state, 'TAG directive accepts exactly two arguments');\n }\n\n handle = args[0];\n prefix = args[1];\n\n if (!PATTERN_TAG_HANDLE.test(handle)) {\n throwError(state, 'ill-formed tag handle (first argument) of the TAG directive');\n }\n\n if (_hasOwnProperty.call(state.tagMap, handle)) {\n throwError(state, 'there is a previously declared suffix for \"' + handle + '\" tag handle');\n }\n\n if (!PATTERN_TAG_URI.test(prefix)) {\n throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive');\n }\n\n state.tagMap[handle] = prefix;\n }\n};\n\n\nfunction captureSegment(state, start, end, checkJson) {\n var _position, _length, _character, _result;\n\n if (start < end) {\n _result = state.input.slice(start, end);\n\n if (checkJson) {\n for (_position = 0, _length = _result.length; _position < _length; _position += 1) {\n _character = _result.charCodeAt(_position);\n if (!(_character === 0x09 ||\n (0x20 <= _character && _character <= 0x10FFFF))) {\n throwError(state, 'expected valid JSON character');\n }\n }\n } else if (PATTERN_NON_PRINTABLE.test(_result)) {\n throwError(state, 'the stream contains non-printable characters');\n }\n\n state.result += _result;\n }\n}\n\nfunction mergeMappings(state, destination, source, overridableKeys) {\n var sourceKeys, key, index, quantity;\n\n if (!common.isObject(source)) {\n throwError(state, 'cannot merge mappings; the provided source object is unacceptable');\n }\n\n sourceKeys = Object.keys(source);\n\n for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {\n key = sourceKeys[index];\n\n if (!_hasOwnProperty.call(destination, key)) {\n destination[key] = source[key];\n overridableKeys[key] = true;\n }\n }\n}\n\nfunction storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) {\n var index, quantity;\n\n // The output is a plain object here, so keys can only be strings.\n // We need to convert keyNode to a string, but doing so can hang the process\n // (deeply nested arrays that explode exponentially using aliases).\n if (Array.isArray(keyNode)) {\n keyNode = Array.prototype.slice.call(keyNode);\n\n for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {\n if (Array.isArray(keyNode[index])) {\n throwError(state, 'nested arrays are not supported inside keys');\n }\n\n if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') {\n keyNode[index] = '[object Object]';\n }\n }\n }\n\n // Avoid code execution in load() via toString property\n // (still use its own toString for arrays, timestamps,\n // and whatever user schema extensions happen to have @@toStringTag)\n if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') {\n keyNode = '[object Object]';\n }\n\n\n keyNode = String(keyNode);\n\n if (_result === null) {\n _result = {};\n }\n\n if (keyTag === 'tag:yaml.org,2002:merge') {\n if (Array.isArray(valueNode)) {\n for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {\n mergeMappings(state, _result, valueNode[index], overridableKeys);\n }\n } else {\n mergeMappings(state, _result, valueNode, overridableKeys);\n }\n } else {\n if (!state.json &&\n !_hasOwnProperty.call(overridableKeys, keyNode) &&\n _hasOwnProperty.call(_result, keyNode)) {\n state.line = startLine || state.line;\n state.position = startPos || state.position;\n throwError(state, 'duplicated mapping key');\n }\n _result[keyNode] = valueNode;\n delete overridableKeys[keyNode];\n }\n\n return _result;\n}\n\nfunction readLineBreak(state) {\n var ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x0A/* LF */) {\n state.position++;\n } else if (ch === 0x0D/* CR */) {\n state.position++;\n if (state.input.charCodeAt(state.position) === 0x0A/* LF */) {\n state.position++;\n }\n } else {\n throwError(state, 'a line break is expected');\n }\n\n state.line += 1;\n state.lineStart = state.position;\n}\n\nfunction skipSeparationSpace(state, allowComments, checkIndent) {\n var lineBreaks = 0,\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (allowComments && ch === 0x23/* # */) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0);\n }\n\n if (is_EOL(ch)) {\n readLineBreak(state);\n\n ch = state.input.charCodeAt(state.position);\n lineBreaks++;\n state.lineIndent = 0;\n\n while (ch === 0x20/* Space */) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n } else {\n break;\n }\n }\n\n if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {\n throwWarning(state, 'deficient indentation');\n }\n\n return lineBreaks;\n}\n\nfunction testDocumentSeparator(state) {\n var _position = state.position,\n ch;\n\n ch = state.input.charCodeAt(_position);\n\n // Condition state.position === state.lineStart is tested\n // in parent on each call, for efficiency. No needs to test here again.\n if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) &&\n ch === state.input.charCodeAt(_position + 1) &&\n ch === state.input.charCodeAt(_position + 2)) {\n\n _position += 3;\n\n ch = state.input.charCodeAt(_position);\n\n if (ch === 0 || is_WS_OR_EOL(ch)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction writeFoldedLines(state, count) {\n if (count === 1) {\n state.result += ' ';\n } else if (count > 1) {\n state.result += common.repeat('\\n', count - 1);\n }\n}\n\n\nfunction readPlainScalar(state, nodeIndent, withinFlowCollection) {\n var preceding,\n following,\n captureStart,\n captureEnd,\n hasPendingContent,\n _line,\n _lineStart,\n _lineIndent,\n _kind = state.kind,\n _result = state.result,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (is_WS_OR_EOL(ch) ||\n is_FLOW_INDICATOR(ch) ||\n ch === 0x23/* # */ ||\n ch === 0x26/* & */ ||\n ch === 0x2A/* * */ ||\n ch === 0x21/* ! */ ||\n ch === 0x7C/* | */ ||\n ch === 0x3E/* > */ ||\n ch === 0x27/* ' */ ||\n ch === 0x22/* \" */ ||\n ch === 0x25/* % */ ||\n ch === 0x40/* @ */ ||\n ch === 0x60/* ` */) {\n return false;\n }\n\n if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n return false;\n }\n }\n\n state.kind = 'scalar';\n state.result = '';\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n\n while (ch !== 0) {\n if (ch === 0x3A/* : */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n break;\n }\n\n } else if (ch === 0x23/* # */) {\n preceding = state.input.charCodeAt(state.position - 1);\n\n if (is_WS_OR_EOL(preceding)) {\n break;\n }\n\n } else if ((state.position === state.lineStart && testDocumentSeparator(state)) ||\n withinFlowCollection && is_FLOW_INDICATOR(ch)) {\n break;\n\n } else if (is_EOL(ch)) {\n _line = state.line;\n _lineStart = state.lineStart;\n _lineIndent = state.lineIndent;\n skipSeparationSpace(state, false, -1);\n\n if (state.lineIndent >= nodeIndent) {\n hasPendingContent = true;\n ch = state.input.charCodeAt(state.position);\n continue;\n } else {\n state.position = captureEnd;\n state.line = _line;\n state.lineStart = _lineStart;\n state.lineIndent = _lineIndent;\n break;\n }\n }\n\n if (hasPendingContent) {\n captureSegment(state, captureStart, captureEnd, false);\n writeFoldedLines(state, state.line - _line);\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n }\n\n if (!is_WHITE_SPACE(ch)) {\n captureEnd = state.position + 1;\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, captureEnd, false);\n\n if (state.result) {\n return true;\n }\n\n state.kind = _kind;\n state.result = _result;\n return false;\n}\n\nfunction readSingleQuotedScalar(state, nodeIndent) {\n var ch,\n captureStart, captureEnd;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x27/* ' */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x27/* ' */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x27/* ' */) {\n captureStart = state.position;\n state.position++;\n captureEnd = state.position;\n } else {\n return true;\n }\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a single quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a single quoted scalar');\n}\n\nfunction readDoubleQuotedScalar(state, nodeIndent) {\n var captureStart,\n captureEnd,\n hexLength,\n hexResult,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x22/* \" */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x22/* \" */) {\n captureSegment(state, captureStart, state.position, true);\n state.position++;\n return true;\n\n } else if (ch === 0x5C/* \\ */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (is_EOL(ch)) {\n skipSeparationSpace(state, false, nodeIndent);\n\n // TODO: rework to inline fn with no type cast?\n } else if (ch < 256 && simpleEscapeCheck[ch]) {\n state.result += simpleEscapeMap[ch];\n state.position++;\n\n } else if ((tmp = escapedHexLen(ch)) > 0) {\n hexLength = tmp;\n hexResult = 0;\n\n for (; hexLength > 0; hexLength--) {\n ch = state.input.charCodeAt(++state.position);\n\n if ((tmp = fromHexCode(ch)) >= 0) {\n hexResult = (hexResult << 4) + tmp;\n\n } else {\n throwError(state, 'expected hexadecimal character');\n }\n }\n\n state.result += charFromCodepoint(hexResult);\n\n state.position++;\n\n } else {\n throwError(state, 'unknown escape sequence');\n }\n\n captureStart = captureEnd = state.position;\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a double quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a double quoted scalar');\n}\n\nfunction readFlowCollection(state, nodeIndent) {\n var readNext = true,\n _line,\n _tag = state.tag,\n _result,\n _anchor = state.anchor,\n following,\n terminator,\n isPair,\n isExplicitPair,\n isMapping,\n overridableKeys = {},\n keyNode,\n keyTag,\n valueNode,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x5B/* [ */) {\n terminator = 0x5D;/* ] */\n isMapping = false;\n _result = [];\n } else if (ch === 0x7B/* { */) {\n terminator = 0x7D;/* } */\n isMapping = true;\n _result = {};\n } else {\n return false;\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n while (ch !== 0) {\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === terminator) {\n state.position++;\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = isMapping ? 'mapping' : 'sequence';\n state.result = _result;\n return true;\n } else if (!readNext) {\n throwError(state, 'missed comma between flow collection entries');\n }\n\n keyTag = keyNode = valueNode = null;\n isPair = isExplicitPair = false;\n\n if (ch === 0x3F/* ? */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following)) {\n isPair = isExplicitPair = true;\n state.position++;\n skipSeparationSpace(state, true, nodeIndent);\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n keyTag = state.tag;\n keyNode = state.result;\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) {\n isPair = true;\n ch = state.input.charCodeAt(++state.position);\n skipSeparationSpace(state, true, nodeIndent);\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n valueNode = state.result;\n }\n\n if (isMapping) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode);\n } else if (isPair) {\n _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode));\n } else {\n _result.push(keyNode);\n }\n\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x2C/* , */) {\n readNext = true;\n ch = state.input.charCodeAt(++state.position);\n } else {\n readNext = false;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a flow collection');\n}\n\nfunction readBlockScalar(state, nodeIndent) {\n var captureStart,\n folding,\n chomping = CHOMPING_CLIP,\n didReadContent = false,\n detectedIndent = false,\n textIndent = nodeIndent,\n emptyLines = 0,\n atMoreIndented = false,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x7C/* | */) {\n folding = false;\n } else if (ch === 0x3E/* > */) {\n folding = true;\n } else {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n\n while (ch !== 0) {\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x2B/* + */ || ch === 0x2D/* - */) {\n if (CHOMPING_CLIP === chomping) {\n chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP;\n } else {\n throwError(state, 'repeat of a chomping mode identifier');\n }\n\n } else if ((tmp = fromDecimalCode(ch)) >= 0) {\n if (tmp === 0) {\n throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one');\n } else if (!detectedIndent) {\n textIndent = nodeIndent + tmp - 1;\n detectedIndent = true;\n } else {\n throwError(state, 'repeat of an indentation width identifier');\n }\n\n } else {\n break;\n }\n }\n\n if (is_WHITE_SPACE(ch)) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (is_WHITE_SPACE(ch));\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (!is_EOL(ch) && (ch !== 0));\n }\n }\n\n while (ch !== 0) {\n readLineBreak(state);\n state.lineIndent = 0;\n\n ch = state.input.charCodeAt(state.position);\n\n while ((!detectedIndent || state.lineIndent < textIndent) &&\n (ch === 0x20/* Space */)) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (!detectedIndent && state.lineIndent > textIndent) {\n textIndent = state.lineIndent;\n }\n\n if (is_EOL(ch)) {\n emptyLines++;\n continue;\n }\n\n // End of the scalar.\n if (state.lineIndent < textIndent) {\n\n // Perform the chomping.\n if (chomping === CHOMPING_KEEP) {\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n } else if (chomping === CHOMPING_CLIP) {\n if (didReadContent) { // i.e. only if the scalar is not empty.\n state.result += '\\n';\n }\n }\n\n // Break this `while` cycle and go to the funciton's epilogue.\n break;\n }\n\n // Folded style: use fancy rules to handle line breaks.\n if (folding) {\n\n // Lines starting with white space characters (more-indented lines) are not folded.\n if (is_WHITE_SPACE(ch)) {\n atMoreIndented = true;\n // except for the first content line (cf. Example 8.1)\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n\n // End of more-indented block.\n } else if (atMoreIndented) {\n atMoreIndented = false;\n state.result += common.repeat('\\n', emptyLines + 1);\n\n // Just one line break - perceive as the same line.\n } else if (emptyLines === 0) {\n if (didReadContent) { // i.e. only if we have already read some scalar content.\n state.result += ' ';\n }\n\n // Several line breaks - perceive as different lines.\n } else {\n state.result += common.repeat('\\n', emptyLines);\n }\n\n // Literal style: just add exact number of line breaks between content lines.\n } else {\n // Keep all line breaks except the header line break.\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n }\n\n didReadContent = true;\n detectedIndent = true;\n emptyLines = 0;\n captureStart = state.position;\n\n while (!is_EOL(ch) && (ch !== 0)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, state.position, false);\n }\n\n return true;\n}\n\nfunction readBlockSequence(state, nodeIndent) {\n var _line,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = [],\n following,\n detected = false,\n ch;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n\n if (ch !== 0x2D/* - */) {\n break;\n }\n\n following = state.input.charCodeAt(state.position + 1);\n\n if (!is_WS_OR_EOL(following)) {\n break;\n }\n\n detected = true;\n state.position++;\n\n if (skipSeparationSpace(state, true, -1)) {\n if (state.lineIndent <= nodeIndent) {\n _result.push(null);\n ch = state.input.charCodeAt(state.position);\n continue;\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);\n _result.push(state.result);\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) {\n throwError(state, 'bad indentation of a sequence entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'sequence';\n state.result = _result;\n return true;\n }\n return false;\n}\n\nfunction readBlockMapping(state, nodeIndent, flowIndent) {\n var following,\n allowCompact,\n _line,\n _pos,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = {},\n overridableKeys = {},\n keyTag = null,\n keyNode = null,\n valueNode = null,\n atExplicitKey = false,\n detected = false,\n ch;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n following = state.input.charCodeAt(state.position + 1);\n _line = state.line; // Save the current line.\n _pos = state.position;\n\n //\n // Explicit notation case. There are two separate blocks:\n // first for the key (denoted by \"?\") and second for the value (denoted by \":\")\n //\n if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) {\n\n if (ch === 0x3F/* ? */) {\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = true;\n allowCompact = true;\n\n } else if (atExplicitKey) {\n // i.e. 0x3A/* : */ === character after the explicit key.\n atExplicitKey = false;\n allowCompact = true;\n\n } else {\n throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line');\n }\n\n state.position += 1;\n ch = following;\n\n //\n // Implicit notation case. Flow-style node as the key first, then \":\", and the value.\n //\n } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {\n\n if (state.line === _line) {\n ch = state.input.charCodeAt(state.position);\n\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x3A/* : */) {\n ch = state.input.charCodeAt(++state.position);\n\n if (!is_WS_OR_EOL(ch)) {\n throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping');\n }\n\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = false;\n allowCompact = false;\n keyTag = state.tag;\n keyNode = state.result;\n\n } else if (detected) {\n throwError(state, 'can not read an implicit mapping pair; a colon is missed');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else if (detected) {\n throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else {\n break; // Reading is done. Go to the epilogue.\n }\n\n //\n // Common reading code for both explicit and implicit notations.\n //\n if (state.line === _line || state.lineIndent > nodeIndent) {\n if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {\n if (atExplicitKey) {\n keyNode = state.result;\n } else {\n valueNode = state.result;\n }\n }\n\n if (!atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos);\n keyTag = keyNode = valueNode = null;\n }\n\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n }\n\n if (state.lineIndent > nodeIndent && (ch !== 0)) {\n throwError(state, 'bad indentation of a mapping entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n //\n // Epilogue.\n //\n\n // Special case: last mapping's node contains only the key in explicit notation.\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n }\n\n // Expose the resulting mapping.\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'mapping';\n state.result = _result;\n }\n\n return detected;\n}\n\nfunction readTagProperty(state) {\n var _position,\n isVerbatim = false,\n isNamed = false,\n tagHandle,\n tagName,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x21/* ! */) return false;\n\n if (state.tag !== null) {\n throwError(state, 'duplication of a tag property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x3C/* < */) {\n isVerbatim = true;\n ch = state.input.charCodeAt(++state.position);\n\n } else if (ch === 0x21/* ! */) {\n isNamed = true;\n tagHandle = '!!';\n ch = state.input.charCodeAt(++state.position);\n\n } else {\n tagHandle = '!';\n }\n\n _position = state.position;\n\n if (isVerbatim) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && ch !== 0x3E/* > */);\n\n if (state.position < state.length) {\n tagName = state.input.slice(_position, state.position);\n ch = state.input.charCodeAt(++state.position);\n } else {\n throwError(state, 'unexpected end of the stream within a verbatim tag');\n }\n } else {\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n\n if (ch === 0x21/* ! */) {\n if (!isNamed) {\n tagHandle = state.input.slice(_position - 1, state.position + 1);\n\n if (!PATTERN_TAG_HANDLE.test(tagHandle)) {\n throwError(state, 'named tag handle cannot contain such characters');\n }\n\n isNamed = true;\n _position = state.position + 1;\n } else {\n throwError(state, 'tag suffix cannot contain exclamation marks');\n }\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n tagName = state.input.slice(_position, state.position);\n\n if (PATTERN_FLOW_INDICATORS.test(tagName)) {\n throwError(state, 'tag suffix cannot contain flow indicator characters');\n }\n }\n\n if (tagName && !PATTERN_TAG_URI.test(tagName)) {\n throwError(state, 'tag name cannot contain such characters: ' + tagName);\n }\n\n if (isVerbatim) {\n state.tag = tagName;\n\n } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) {\n state.tag = state.tagMap[tagHandle] + tagName;\n\n } else if (tagHandle === '!') {\n state.tag = '!' + tagName;\n\n } else if (tagHandle === '!!') {\n state.tag = 'tag:yaml.org,2002:' + tagName;\n\n } else {\n throwError(state, 'undeclared tag handle \"' + tagHandle + '\"');\n }\n\n return true;\n}\n\nfunction readAnchorProperty(state) {\n var _position,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x26/* & */) return false;\n\n if (state.anchor !== null) {\n throwError(state, 'duplication of an anchor property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an anchor node must contain at least one character');\n }\n\n state.anchor = state.input.slice(_position, state.position);\n return true;\n}\n\nfunction readAlias(state) {\n var _position, alias,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x2A/* * */) return false;\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an alias node must contain at least one character');\n }\n\n alias = state.input.slice(_position, state.position);\n\n if (!state.anchorMap.hasOwnProperty(alias)) {\n throwError(state, 'unidentified alias \"' + alias + '\"');\n }\n\n state.result = state.anchorMap[alias];\n skipSeparationSpace(state, true, -1);\n return true;\n}\n\nfunction composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {\n var allowBlockStyles,\n allowBlockScalars,\n allowBlockCollections,\n indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n }\n }\n\n if (indentStatus === 1) {\n while (readTagProperty(state) || readAnchorProperty(state)) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n allowBlockCollections = allowBlockStyles;\n\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n } else {\n allowBlockCollections = false;\n }\n }\n }\n\n if (allowBlockCollections) {\n allowBlockCollections = atNewLine || allowCompact;\n }\n\n if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {\n if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {\n flowIndent = parentIndent;\n } else {\n flowIndent = parentIndent + 1;\n }\n\n blockIndent = state.position - state.lineStart;\n\n if (indentStatus === 1) {\n if (allowBlockCollections &&\n (readBlockSequence(state, blockIndent) ||\n readBlockMapping(state, blockIndent, flowIndent)) ||\n readFlowCollection(state, flowIndent)) {\n hasContent = true;\n } else {\n if ((allowBlockScalars && readBlockScalar(state, flowIndent)) ||\n readSingleQuotedScalar(state, flowIndent) ||\n readDoubleQuotedScalar(state, flowIndent)) {\n hasContent = true;\n\n } else if (readAlias(state)) {\n hasContent = true;\n\n if (state.tag !== null || state.anchor !== null) {\n throwError(state, 'alias node should not have any properties');\n }\n\n } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {\n hasContent = true;\n\n if (state.tag === null) {\n state.tag = '?';\n }\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else if (indentStatus === 0) {\n // Special case: block sequences are allowed to have same indentation level as the parent.\n // http://www.yaml.org/spec/1.2/spec.html#id2799784\n hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);\n }\n }\n\n if (state.tag !== null && state.tag !== '!') {\n if (state.tag === '?') {\n // Implicit resolving is not allowed for non-scalar types, and '?'\n // non-specific tag is only automatically assigned to plain scalars.\n //\n // We only need to check kind conformity in case user explicitly assigns '?'\n // tag, for example like this: \"! [0]\"\n //\n if (state.result !== null && state.kind !== 'scalar') {\n throwError(state, 'unacceptable node kind for ! tag; it should be \"scalar\", not \"' + state.kind + '\"');\n }\n\n for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {\n type = state.implicitTypes[typeIndex];\n\n if (type.resolve(state.result)) { // `state.result` updated in resolver if matched\n state.result = type.construct(state.result);\n state.tag = type.tag;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n break;\n }\n }\n } else if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) {\n type = state.typeMap[state.kind || 'fallback'][state.tag];\n\n if (state.result !== null && type.kind !== state.kind) {\n throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be \"' + type.kind + '\", not \"' + state.kind + '\"');\n }\n\n if (!type.resolve(state.result)) { // `state.result` updated in resolver if matched\n throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag');\n } else {\n state.result = type.construct(state.result);\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else {\n throwError(state, 'unknown tag !<' + state.tag + '>');\n }\n }\n\n if (state.listener !== null) {\n state.listener('close', state);\n }\n return state.tag !== null || state.anchor !== null || hasContent;\n}\n\nfunction readDocument(state) {\n var documentStart = state.position,\n _position,\n directiveName,\n directiveArgs,\n hasDirectives = false,\n ch;\n\n state.version = null;\n state.checkLineBreaks = state.legacy;\n state.tagMap = {};\n state.anchorMap = {};\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if (state.lineIndent > 0 || ch !== 0x25/* % */) {\n break;\n }\n\n hasDirectives = true;\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveName = state.input.slice(_position, state.position);\n directiveArgs = [];\n\n if (directiveName.length < 1) {\n throwError(state, 'directive name must not be less than one character in length');\n }\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && !is_EOL(ch));\n break;\n }\n\n if (is_EOL(ch)) break;\n\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveArgs.push(state.input.slice(_position, state.position));\n }\n\n if (ch !== 0) readLineBreak(state);\n\n if (_hasOwnProperty.call(directiveHandlers, directiveName)) {\n directiveHandlers[directiveName](state, directiveName, directiveArgs);\n } else {\n throwWarning(state, 'unknown document directive \"' + directiveName + '\"');\n }\n }\n\n skipSeparationSpace(state, true, -1);\n\n if (state.lineIndent === 0 &&\n state.input.charCodeAt(state.position) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 1) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 2) === 0x2D/* - */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n\n } else if (hasDirectives) {\n throwError(state, 'directives end mark is expected');\n }\n\n composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);\n skipSeparationSpace(state, true, -1);\n\n if (state.checkLineBreaks &&\n PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {\n throwWarning(state, 'non-ASCII line breaks are interpreted as content');\n }\n\n state.documents.push(state.result);\n\n if (state.position === state.lineStart && testDocumentSeparator(state)) {\n\n if (state.input.charCodeAt(state.position) === 0x2E/* . */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n }\n return;\n }\n\n if (state.position < (state.length - 1)) {\n throwError(state, 'end of the stream or a document separator is expected');\n } else {\n return;\n }\n}\n\n\nfunction loadDocuments(input, options) {\n input = String(input);\n options = options || {};\n\n if (input.length !== 0) {\n\n // Add tailing `\\n` if not exists\n if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ &&\n input.charCodeAt(input.length - 1) !== 0x0D/* CR */) {\n input += '\\n';\n }\n\n // Strip BOM\n if (input.charCodeAt(0) === 0xFEFF) {\n input = input.slice(1);\n }\n }\n\n var state = new State(input, options);\n\n var nullpos = input.indexOf('\\0');\n\n if (nullpos !== -1) {\n state.position = nullpos;\n throwError(state, 'null byte is not allowed in input');\n }\n\n // Use 0 as string terminator. That significantly simplifies bounds check.\n state.input += '\\0';\n\n while (state.input.charCodeAt(state.position) === 0x20/* Space */) {\n state.lineIndent += 1;\n state.position += 1;\n }\n\n while (state.position < (state.length - 1)) {\n readDocument(state);\n }\n\n return state.documents;\n}\n\n\nfunction loadAll(input, iterator, options) {\n if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') {\n options = iterator;\n iterator = null;\n }\n\n var documents = loadDocuments(input, options);\n\n if (typeof iterator !== 'function') {\n return documents;\n }\n\n for (var index = 0, length = documents.length; index < length; index += 1) {\n iterator(documents[index]);\n }\n}\n\n\nfunction load(input, options) {\n var documents = loadDocuments(input, options);\n\n if (documents.length === 0) {\n /*eslint-disable no-undefined*/\n return undefined;\n } else if (documents.length === 1) {\n return documents[0];\n }\n throw new YAMLException('expected a single document in the stream, but found more');\n}\n\n\nfunction safeLoadAll(input, iterator, options) {\n if (typeof iterator === 'object' && iterator !== null && typeof options === 'undefined') {\n options = iterator;\n iterator = null;\n }\n\n return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\n\nfunction safeLoad(input, options) {\n return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\n\nmodule.exports.loadAll = loadAll;\nmodule.exports.load = load;\nmodule.exports.safeLoadAll = safeLoadAll;\nmodule.exports.safeLoad = safeLoad;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar deprecation = require('deprecation');\nvar once = _interopDefault(require('once'));\n\nconst logOnce = once(deprecation => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\n\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\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 = \"HttpError\";\n this.status = statusCode;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnce(new deprecation.Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n }\n\n });\n this.headers = options.headers || {}; // redact request credentials without mutating original request options\n\n const requestCopy = Object.assign({}, options.request);\n\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\n requestCopy.url = requestCopy.url // 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]\") // 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 }\n\n}\n\nexports.RequestError = RequestError;\n//# sourceMappingURL=index.js.map\n","'use strict'\n\nconst jsonFile = require('jsonfile')\n\nmodule.exports = {\n // jsonfile exports\n readJson: jsonFile.readFile,\n readJsonSync: jsonFile.readFileSync,\n writeJson: jsonFile.writeFile,\n writeJsonSync: jsonFile.writeFileSync\n}\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst command_1 = require(\"./command\");\nconst file_command_1 = require(\"./file-command\");\nconst utils_1 = require(\"./utils\");\nconst os = __importStar(require(\"os\"));\nconst path = __importStar(require(\"path\"));\n/**\n * The code to exit an action\n */\nvar ExitCode;\n(function (ExitCode) {\n /**\n * A code indicating that the action was successful\n */\n ExitCode[ExitCode[\"Success\"] = 0] = \"Success\";\n /**\n * A code indicating that the action was a failure\n */\n ExitCode[ExitCode[\"Failure\"] = 1] = \"Failure\";\n})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));\n//-----------------------------------------------------------------------\n// Variables\n//-----------------------------------------------------------------------\n/**\n * Sets env variable for this action and future actions in the job\n * @param name the name of the variable to set\n * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction exportVariable(name, val) {\n const convertedVal = utils_1.toCommandValue(val);\n process.env[name] = convertedVal;\n const filePath = process.env['GITHUB_ENV'] || '';\n if (filePath) {\n const delimiter = '_GitHubActionsFileCommandDelimeter_';\n const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`;\n file_command_1.issueCommand('ENV', commandValue);\n }\n else {\n command_1.issueCommand('set-env', { name }, convertedVal);\n }\n}\nexports.exportVariable = exportVariable;\n/**\n * Registers a secret which will get masked from logs\n * @param secret value of the secret\n */\nfunction setSecret(secret) {\n command_1.issueCommand('add-mask', {}, secret);\n}\nexports.setSecret = setSecret;\n/**\n * Prepends inputPath to the PATH (for this action and future actions)\n * @param inputPath\n */\nfunction addPath(inputPath) {\n const filePath = process.env['GITHUB_PATH'] || '';\n if (filePath) {\n file_command_1.issueCommand('PATH', inputPath);\n }\n else {\n command_1.issueCommand('add-path', {}, inputPath);\n }\n process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;\n}\nexports.addPath = addPath;\n/**\n * Gets the value of an input. The value is also trimmed.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string\n */\nfunction getInput(name, options) {\n const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';\n if (options && options.required && !val) {\n throw new Error(`Input required and not supplied: ${name}`);\n }\n return val.trim();\n}\nexports.getInput = getInput;\n/**\n * Sets the value of an output.\n *\n * @param name name of the output to set\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction setOutput(name, value) {\n command_1.issueCommand('set-output', { name }, value);\n}\nexports.setOutput = setOutput;\n/**\n * Enables or disables the echoing of commands into stdout for the rest of the step.\n * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.\n *\n */\nfunction setCommandEcho(enabled) {\n command_1.issue('echo', enabled ? 'on' : 'off');\n}\nexports.setCommandEcho = setCommandEcho;\n//-----------------------------------------------------------------------\n// Results\n//-----------------------------------------------------------------------\n/**\n * Sets the action status to failed.\n * When the action exits it will be with an exit code of 1\n * @param message add error issue message\n */\nfunction setFailed(message) {\n process.exitCode = ExitCode.Failure;\n error(message);\n}\nexports.setFailed = setFailed;\n//-----------------------------------------------------------------------\n// Logging Commands\n//-----------------------------------------------------------------------\n/**\n * Gets whether Actions Step Debug is on or not\n */\nfunction isDebug() {\n return process.env['RUNNER_DEBUG'] === '1';\n}\nexports.isDebug = isDebug;\n/**\n * Writes debug message to user log\n * @param message debug message\n */\nfunction debug(message) {\n command_1.issueCommand('debug', {}, message);\n}\nexports.debug = debug;\n/**\n * Adds an error issue\n * @param message error issue message. Errors will be converted to string via toString()\n */\nfunction error(message) {\n command_1.issue('error', message instanceof Error ? message.toString() : message);\n}\nexports.error = error;\n/**\n * Adds an warning issue\n * @param message warning issue message. Errors will be converted to string via toString()\n */\nfunction warning(message) {\n command_1.issue('warning', message instanceof Error ? message.toString() : message);\n}\nexports.warning = warning;\n/**\n * Writes info to log with console.log.\n * @param message info message\n */\nfunction info(message) {\n process.stdout.write(message + os.EOL);\n}\nexports.info = info;\n/**\n * Begin an output group.\n *\n * Output until the next `groupEnd` will be foldable in this group\n *\n * @param name The name of the output group\n */\nfunction startGroup(name) {\n command_1.issue('group', name);\n}\nexports.startGroup = startGroup;\n/**\n * End an output group.\n */\nfunction endGroup() {\n command_1.issue('endgroup');\n}\nexports.endGroup = endGroup;\n/**\n * Wrap an asynchronous function call in a group.\n *\n * Returns the same type as the function itself.\n *\n * @param name The name of the group\n * @param fn The function to wrap in the group\n */\nfunction group(name, fn) {\n return __awaiter(this, void 0, void 0, function* () {\n startGroup(name);\n let result;\n try {\n result = yield fn();\n }\n finally {\n endGroup();\n }\n return result;\n });\n}\nexports.group = group;\n//-----------------------------------------------------------------------\n// Wrapper action state\n//-----------------------------------------------------------------------\n/**\n * Saves state for current action, the state can only be retrieved by this action's post job execution.\n *\n * @param name name of the state to store\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction saveState(name, value) {\n command_1.issueCommand('save-state', { name }, value);\n}\nexports.saveState = saveState;\n/**\n * Gets the value of an state set by this action's main execution.\n *\n * @param name name of the state to get\n * @returns string\n */\nfunction getState(name) {\n return process.env[`STATE_${name}`] || '';\n}\nexports.getState = getState;\n//# sourceMappingURL=core.js.map","'use strict'\n\nconst file = require('./file')\nconst link = require('./link')\nconst symlink = require('./symlink')\n\nmodule.exports = {\n // file\n createFile: file.createFile,\n createFileSync: file.createFileSync,\n ensureFile: file.createFile,\n ensureFileSync: file.createFileSync,\n // link\n createLink: link.createLink,\n createLinkSync: link.createLinkSync,\n ensureLink: link.createLink,\n ensureLinkSync: link.createLinkSync,\n // symlink\n createSymlink: symlink.createSymlink,\n createSymlinkSync: symlink.createSymlinkSync,\n ensureSymlink: symlink.createSymlink,\n ensureSymlinkSync: symlink.createSymlinkSync\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst assert = require('assert')\n\nconst isWindows = (process.platform === 'win32')\n\nfunction defaults (options) {\n const methods = [\n 'unlink',\n 'chmod',\n 'stat',\n 'lstat',\n 'rmdir',\n 'readdir'\n ]\n methods.forEach(m => {\n options[m] = options[m] || fs[m]\n m = m + 'Sync'\n options[m] = options[m] || fs[m]\n })\n\n options.maxBusyTries = options.maxBusyTries || 3\n}\n\nfunction rimraf (p, options, cb) {\n let busyTries = 0\n\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n assert(p, 'rimraf: missing path')\n assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')\n assert.strictEqual(typeof cb, 'function', 'rimraf: callback function required')\n assert(options, 'rimraf: invalid options argument provided')\n assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')\n\n defaults(options)\n\n rimraf_(p, options, function CB (er) {\n if (er) {\n if ((er.code === 'EBUSY' || er.code === 'ENOTEMPTY' || er.code === 'EPERM') &&\n busyTries < options.maxBusyTries) {\n busyTries++\n const time = busyTries * 100\n // try again, with the same exact callback as this one.\n return setTimeout(() => rimraf_(p, options, CB), time)\n }\n\n // already gone\n if (er.code === 'ENOENT') er = null\n }\n\n cb(er)\n })\n}\n\n// Two possible strategies.\n// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR\n// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR\n//\n// Both result in an extra syscall when you guess wrong. However, there\n// are likely far more normal files in the world than directories. This\n// is based on the assumption that a the average number of files per\n// directory is >= 1.\n//\n// If anyone ever complains about this, then I guess the strategy could\n// be made configurable somehow. But until then, YAGNI.\nfunction rimraf_ (p, options, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n // sunos lets the root user unlink directories, which is... weird.\n // so we have to lstat here and make sure it's not a dir.\n options.lstat(p, (er, st) => {\n if (er && er.code === 'ENOENT') {\n return cb(null)\n }\n\n // Windows can EPERM on stat. Life is suffering.\n if (er && er.code === 'EPERM' && isWindows) {\n return fixWinEPERM(p, options, er, cb)\n }\n\n if (st && st.isDirectory()) {\n return rmdir(p, options, er, cb)\n }\n\n options.unlink(p, er => {\n if (er) {\n if (er.code === 'ENOENT') {\n return cb(null)\n }\n if (er.code === 'EPERM') {\n return (isWindows)\n ? fixWinEPERM(p, options, er, cb)\n : rmdir(p, options, er, cb)\n }\n if (er.code === 'EISDIR') {\n return rmdir(p, options, er, cb)\n }\n }\n return cb(er)\n })\n })\n}\n\nfunction fixWinEPERM (p, options, er, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n options.chmod(p, 0o666, er2 => {\n if (er2) {\n cb(er2.code === 'ENOENT' ? null : er)\n } else {\n options.stat(p, (er3, stats) => {\n if (er3) {\n cb(er3.code === 'ENOENT' ? null : er)\n } else if (stats.isDirectory()) {\n rmdir(p, options, er, cb)\n } else {\n options.unlink(p, cb)\n }\n })\n }\n })\n}\n\nfunction fixWinEPERMSync (p, options, er) {\n let stats\n\n assert(p)\n assert(options)\n\n try {\n options.chmodSync(p, 0o666)\n } catch (er2) {\n if (er2.code === 'ENOENT') {\n return\n } else {\n throw er\n }\n }\n\n try {\n stats = options.statSync(p)\n } catch (er3) {\n if (er3.code === 'ENOENT') {\n return\n } else {\n throw er\n }\n }\n\n if (stats.isDirectory()) {\n rmdirSync(p, options, er)\n } else {\n options.unlinkSync(p)\n }\n}\n\nfunction rmdir (p, options, originalEr, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS)\n // if we guessed wrong, and it's not a directory, then\n // raise the original error.\n options.rmdir(p, er => {\n if (er && (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM')) {\n rmkids(p, options, cb)\n } else if (er && er.code === 'ENOTDIR') {\n cb(originalEr)\n } else {\n cb(er)\n }\n })\n}\n\nfunction rmkids (p, options, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n options.readdir(p, (er, files) => {\n if (er) return cb(er)\n\n let n = files.length\n let errState\n\n if (n === 0) return options.rmdir(p, cb)\n\n files.forEach(f => {\n rimraf(path.join(p, f), options, er => {\n if (errState) {\n return\n }\n if (er) return cb(errState = er)\n if (--n === 0) {\n options.rmdir(p, cb)\n }\n })\n })\n })\n}\n\n// this looks simpler, and is strictly *faster*, but will\n// tie up the JavaScript thread and fail on excessively\n// deep directory trees.\nfunction rimrafSync (p, options) {\n let st\n\n options = options || {}\n defaults(options)\n\n assert(p, 'rimraf: missing path')\n assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')\n assert(options, 'rimraf: missing options')\n assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')\n\n try {\n st = options.lstatSync(p)\n } catch (er) {\n if (er.code === 'ENOENT') {\n return\n }\n\n // Windows can EPERM on stat. Life is suffering.\n if (er.code === 'EPERM' && isWindows) {\n fixWinEPERMSync(p, options, er)\n }\n }\n\n try {\n // sunos lets the root user unlink directories, which is... weird.\n if (st && st.isDirectory()) {\n rmdirSync(p, options, null)\n } else {\n options.unlinkSync(p)\n }\n } catch (er) {\n if (er.code === 'ENOENT') {\n return\n } else if (er.code === 'EPERM') {\n return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er)\n } else if (er.code !== 'EISDIR') {\n throw er\n }\n rmdirSync(p, options, er)\n }\n}\n\nfunction rmdirSync (p, options, originalEr) {\n assert(p)\n assert(options)\n\n try {\n options.rmdirSync(p)\n } catch (er) {\n if (er.code === 'ENOTDIR') {\n throw originalEr\n } else if (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM') {\n rmkidsSync(p, options)\n } else if (er.code !== 'ENOENT') {\n throw er\n }\n }\n}\n\nfunction rmkidsSync (p, options) {\n assert(p)\n assert(options)\n options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options))\n\n if (isWindows) {\n // We only end up here once we got ENOTEMPTY at least once, and\n // at this point, we are guaranteed to have removed all the kids.\n // So, we know that it won't be ENOENT or ENOTDIR or anything else.\n // try really hard to delete stuff on windows, because it has a\n // PROFOUNDLY annoying habit of not closing handles promptly when\n // files are deleted, resulting in spurious ENOTEMPTY errors.\n const startTime = Date.now()\n do {\n try {\n const ret = options.rmdirSync(p, options)\n return ret\n } catch {}\n } while (Date.now() - startTime < 500) // give up after 500ms\n } else {\n const ret = options.rmdirSync(p, options)\n return ret\n }\n}\n\nmodule.exports = rimraf\nrimraf.sync = rimrafSync\n","var common = require('./common');\nvar fs = require('fs');\nvar path = require('path');\n\nvar PERMS = (function (base) {\n return {\n OTHER_EXEC: base.EXEC,\n OTHER_WRITE: base.WRITE,\n OTHER_READ: base.READ,\n\n GROUP_EXEC: base.EXEC << 3,\n GROUP_WRITE: base.WRITE << 3,\n GROUP_READ: base.READ << 3,\n\n OWNER_EXEC: base.EXEC << 6,\n OWNER_WRITE: base.WRITE << 6,\n OWNER_READ: base.READ << 6,\n\n // Literal octal numbers are apparently not allowed in \"strict\" javascript.\n STICKY: parseInt('01000', 8),\n SETGID: parseInt('02000', 8),\n SETUID: parseInt('04000', 8),\n\n TYPE_MASK: parseInt('0770000', 8),\n };\n}({\n EXEC: 1,\n WRITE: 2,\n READ: 4,\n}));\n\ncommon.register('chmod', _chmod, {\n});\n\n//@\n//@ ### chmod([options,] octal_mode || octal_string, file)\n//@ ### chmod([options,] symbolic_mode, file)\n//@\n//@ Available options:\n//@\n//@ + `-v`: output a diagnostic for every file processed//@\n//@ + `-c`: like verbose, but report only when a change is made//@\n//@ + `-R`: change files and directories recursively//@\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ chmod(755, '/Users/brandon');\n//@ chmod('755', '/Users/brandon'); // same as above\n//@ chmod('u+x', '/Users/brandon');\n//@ chmod('-R', 'a-w', '/Users/brandon');\n//@ ```\n//@\n//@ Alters the permissions of a file or directory by either specifying the\n//@ absolute permissions in octal form or expressing the changes in symbols.\n//@ This command tries to mimic the POSIX behavior as much as possible.\n//@ Notable exceptions:\n//@\n//@ + In symbolic modes, `a-r` and `-r` are identical. No consideration is\n//@ given to the `umask`.\n//@ + There is no \"quiet\" option, since default behavior is to run silent.\nfunction _chmod(options, mode, filePattern) {\n if (!filePattern) {\n if (options.length > 0 && options.charAt(0) === '-') {\n // Special case where the specified file permissions started with - to subtract perms, which\n // get picked up by the option parser as command flags.\n // If we are down by one argument and options starts with -, shift everything over.\n [].unshift.call(arguments, '');\n } else {\n common.error('You must specify a file.');\n }\n }\n\n options = common.parseOptions(options, {\n 'R': 'recursive',\n 'c': 'changes',\n 'v': 'verbose',\n });\n\n filePattern = [].slice.call(arguments, 2);\n\n var files;\n\n // TODO: replace this with a call to common.expand()\n if (options.recursive) {\n files = [];\n filePattern.forEach(function addFile(expandedFile) {\n var stat = common.statNoFollowLinks(expandedFile);\n\n if (!stat.isSymbolicLink()) {\n files.push(expandedFile);\n\n if (stat.isDirectory()) { // intentionally does not follow symlinks.\n fs.readdirSync(expandedFile).forEach(function (child) {\n addFile(expandedFile + '/' + child);\n });\n }\n }\n });\n } else {\n files = filePattern;\n }\n\n files.forEach(function innerChmod(file) {\n file = path.resolve(file);\n if (!fs.existsSync(file)) {\n common.error('File not found: ' + file);\n }\n\n // When recursing, don't follow symlinks.\n if (options.recursive && common.statNoFollowLinks(file).isSymbolicLink()) {\n return;\n }\n\n var stat = common.statFollowLinks(file);\n var isDir = stat.isDirectory();\n var perms = stat.mode;\n var type = perms & PERMS.TYPE_MASK;\n\n var newPerms = perms;\n\n if (isNaN(parseInt(mode, 8))) {\n // parse options\n mode.split(',').forEach(function (symbolicMode) {\n var pattern = /([ugoa]*)([=\\+-])([rwxXst]*)/i;\n var matches = pattern.exec(symbolicMode);\n\n if (matches) {\n var applyTo = matches[1];\n var operator = matches[2];\n var change = matches[3];\n\n var changeOwner = applyTo.indexOf('u') !== -1 || applyTo === 'a' || applyTo === '';\n var changeGroup = applyTo.indexOf('g') !== -1 || applyTo === 'a' || applyTo === '';\n var changeOther = applyTo.indexOf('o') !== -1 || applyTo === 'a' || applyTo === '';\n\n var changeRead = change.indexOf('r') !== -1;\n var changeWrite = change.indexOf('w') !== -1;\n var changeExec = change.indexOf('x') !== -1;\n var changeExecDir = change.indexOf('X') !== -1;\n var changeSticky = change.indexOf('t') !== -1;\n var changeSetuid = change.indexOf('s') !== -1;\n\n if (changeExecDir && isDir) {\n changeExec = true;\n }\n\n var mask = 0;\n if (changeOwner) {\n mask |= (changeRead ? PERMS.OWNER_READ : 0) + (changeWrite ? PERMS.OWNER_WRITE : 0) + (changeExec ? PERMS.OWNER_EXEC : 0) + (changeSetuid ? PERMS.SETUID : 0);\n }\n if (changeGroup) {\n mask |= (changeRead ? PERMS.GROUP_READ : 0) + (changeWrite ? PERMS.GROUP_WRITE : 0) + (changeExec ? PERMS.GROUP_EXEC : 0) + (changeSetuid ? PERMS.SETGID : 0);\n }\n if (changeOther) {\n mask |= (changeRead ? PERMS.OTHER_READ : 0) + (changeWrite ? PERMS.OTHER_WRITE : 0) + (changeExec ? PERMS.OTHER_EXEC : 0);\n }\n\n // Sticky bit is special - it's not tied to user, group or other.\n if (changeSticky) {\n mask |= PERMS.STICKY;\n }\n\n switch (operator) {\n case '+':\n newPerms |= mask;\n break;\n\n case '-':\n newPerms &= ~mask;\n break;\n\n case '=':\n newPerms = type + mask;\n\n // According to POSIX, when using = to explicitly set the\n // permissions, setuid and setgid can never be cleared.\n if (common.statFollowLinks(file).isDirectory()) {\n newPerms |= (PERMS.SETUID + PERMS.SETGID) & perms;\n }\n break;\n default:\n common.error('Could not recognize operator: `' + operator + '`');\n }\n\n if (options.verbose) {\n console.log(file + ' -> ' + newPerms.toString(8));\n }\n\n if (perms !== newPerms) {\n if (!options.verbose && options.changes) {\n console.log(file + ' -> ' + newPerms.toString(8));\n }\n fs.chmodSync(file, newPerms);\n perms = newPerms; // for the next round of changes!\n }\n } else {\n common.error('Invalid symbolic mode change: ' + symbolicMode);\n }\n });\n } else {\n // they gave us a full number\n newPerms = type + parseInt(mode, 8);\n\n // POSIX rules are that setuid and setgid can only be added using numeric\n // form, but not cleared.\n if (common.statFollowLinks(file).isDirectory()) {\n newPerms |= (PERMS.SETUID + PERMS.SETGID) & perms;\n }\n\n fs.chmodSync(file, newPerms);\n }\n });\n return '';\n}\nmodule.exports = _chmod;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst Endpoints = {\n actions: {\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n cancelWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\", {}, {\n renamedParameters: {\n name: \"secret_name\"\n }\n }],\n createOrUpdateSecretForRepo: [\"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\", {}, {\n renamed: [\"actions\", \"createOrUpdateRepoSecret\"],\n renamedParameters: {\n name: \"secret_name\"\n }\n }],\n createRegistrationToken: [\"POST /repos/{owner}/{repo}/actions/runners/registration-token\", {}, {\n renamed: [\"actions\", \"createRegistrationTokenForRepo\"]\n }],\n createRegistrationTokenForOrg: [\"POST /orgs/{org}/actions/runners/registration-token\"],\n createRegistrationTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/registration-token\"],\n createRemoveToken: [\"POST /repos/{owner}/{repo}/actions/runners/remove-token\", {}, {\n renamed: [\"actions\", \"createRemoveTokenForRepo\"]\n }],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/remove-token\"],\n deleteArtifact: [\"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\", {}, {\n renamedParameters: {\n name: \"secret_name\"\n }\n }],\n deleteSecretFromRepo: [\"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\", {}, {\n renamed: [\"actions\", \"deleteRepoSecret\"],\n renamedParameters: {\n name: \"secret_name\"\n }\n }],\n deleteSelfHostedRunnerFromOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}\"],\n deleteSelfHostedRunnerFromRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n deleteWorkflowRunLogs: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n downloadArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"],\n downloadJobLogsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"],\n downloadWorkflowJobLogs: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\", {}, {\n renamed: [\"actions\", \"downloadJobLogsForWorkflowRun\"]\n }],\n downloadWorkflowRunLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\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 getPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\", {}, {\n renamed: [\"actions\", \"getRepoPublicKey\"]\n }],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\", {}, {\n renamedParameters: {\n name: \"secret_name\"\n }\n }],\n getSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\", {}, {\n renamed: [\"actions\", \"getRepoSecret\"],\n renamedParameters: {\n name: \"secret_name\"\n }\n }],\n getSelfHostedRunner: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\", {}, {\n renamed: [\"actions\", \"getSelfHostedRunnerForRepo\"]\n }],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowJob: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\", {}, {\n renamed: [\"actions\", \"getJobForWorkflowRun\"]\n }],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunUsage: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"],\n getWorkflowUsage: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listDownloadsForSelfHostedRunnerApplication: [\"GET /repos/{owner}/{repo}/actions/runners/downloads\", {}, {\n renamed: [\"actions\", \"listRunnerApplicationsForRepo\"]\n }],\n listJobsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflowRuns: [\"GET /repos/{owner}/{repo}/actions/runs\", {}, {\n renamed: [\"actions\", \"listWorkflowRunsForRepo\"]\n }],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/downloads\"],\n listSecretsForRepo: [\"GET /repos/{owner}/{repo}/actions/secrets\", {}, {\n renamed: [\"actions\", \"listRepoSecrets\"]\n }],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowJobLogs: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\", {}, {\n renamed: [\"actions\", \"downloadWorkflowJobLogs\"]\n }],\n listWorkflowRunArtifacts: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"],\n listWorkflowRunLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\", {}, {\n renamed: [\"actions\", \"downloadWorkflowRunLogs\"]\n }],\n listWorkflowRuns: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n removeSelfHostedRunner: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\", {}, {\n renamed: [\"actions\", \"deleteSelfHostedRunnerFromRepo\"]\n }],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n checkStarringRepo: [\"GET /user/starred/{owner}/{repo}\", {}, {\n renamed: [\"activity\", \"checkRepoIsStarredByAuthenticatedUser\"]\n }],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\"DELETE /notifications/threads/{thread_id}/subscription\"],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscription: [\"PUT /notifications\", {}, {\n renamed: [\"activity\", \"getThreadSubscriptionForAuthenticatedUser\"]\n }],\n getThreadSubscriptionForAuthenticatedUser: [\"GET /notifications/threads/{thread_id}/subscription\"],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listEventsForOrg: [\"GET /users/{username}/events/orgs/{org}\", {}, {\n renamed: [\"activity\", \"listOrgEventsForAuthenticatedUser\"]\n }],\n listEventsForUser: [\"GET /users/{username}/events\", {}, {\n renamed: [\"activity\", \"listEventsForAuthenticatedUser\"]\n }],\n listFeeds: [\"GET /feeds\", {}, {\n renamed: [\"activity\", \"getFeeds\"]\n }],\n listNotifications: [\"GET /notifications\", {}, {\n renamed: [\"activity\", \"listNotificationsForAuthenticatedUser\"]\n }],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listNotificationsForRepo: [\"GET /repos/{owner}/{repo}/notifications\", {}, {\n renamed: [\"activity\", \"listRepoNotificationsForAuthenticatedUser\"]\n }],\n listOrgEventsForAuthenticatedUser: [\"GET /users/{username}/events/orgs/{org}\"],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForOrg: [\"GET /orgs/{org}/events\", {}, {\n renamed: [\"activity\", \"listPublicOrgEvents\"]\n }],\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: [\"GET /users/{username}/received_events/public\"],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/notifications\"],\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 markAsRead: [\"PUT /notifications\", {}, {\n renamed: [\"activity\", \"markNotificationsAsRead\"]\n }],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markNotificationsAsReadForRepo: [\"PUT /repos/{owner}/{repo}/notifications\", {}, {\n renamed: [\"activity\", \"markRepoNotificationsAsRead\"]\n }],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\"PUT /notifications/threads/{thread_id}/subscription\"],\n starRepo: [\"PUT /user/starred/{owner}/{repo}\", {}, {\n renamed: [\"activity\", \"starRepoForAuthenticatedUser\"]\n }],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepo: [\"DELETE /user/starred/{owner}/{repo}\", {}, {\n renamed: [\"activity\", \"unstarRepoForAuthenticatedUser\"]\n }],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n checkAccountIsAssociatedWithAny: [\"GET /marketplace_listing/accounts/{account_id}\", {}, {\n renamed: [\"apps\", \"getSubscriptionPlanForAccount\"]\n }],\n checkAccountIsAssociatedWithAnyStubbed: [\"GET /marketplace_listing/stubbed/accounts/{account_id}\", {}, {\n renamed: [\"apps\", \"getSubscriptionPlanForAccountStubbed\"]\n }],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createContentAttachment: [\"POST /content_references/{content_reference_id}/attachments\", {\n mediaType: {\n previews: [\"corsair\"]\n }\n }],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\"POST /app/installations/{installation_id}/access_tokens\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n createInstallationToken: [\"POST /app/installations/{installation_id}/access_tokens\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }, {\n renamed: [\"apps\", \"createInstallationAccessToken\"]\n }],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n getBySlug: [\"GET /apps/{app_slug}\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n getInstallation: [\"GET /app/installations/{installation_id}\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n getOrgInstallation: [\"GET /orgs/{org}/installation\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n getSubscriptionPlanForAccount: [\"GET /marketplace_listing/accounts/{account_id}\"],\n getSubscriptionPlanForAccountStubbed: [\"GET /marketplace_listing/stubbed/accounts/{account_id}\"],\n getUserInstallation: [\"GET /users/{username}/installation\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"],\n listAccountsUserOrOrgOnPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\", {}, {\n renamed: [\"apps\", \"listAccountsForPlan\"]\n }],\n listAccountsUserOrOrgOnPlanStubbed: [\"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\", {}, {\n renamed: [\"apps\", \"listAccountsForPlanStubbed\"]\n }],\n listInstallationReposForAuthenticatedUser: [\"GET /user/installations/{installation_id}/repositories\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n listInstallations: [\"GET /app/installations\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n listMarketplacePurchasesForAuthenticatedUser: [\"GET /user/marketplace_purchases\", {}, {\n renamed: [\"apps\", \"listSubscriptionsForAuthenticatedUser\"]\n }],\n listMarketplacePurchasesForAuthenticatedUserStubbed: [\"GET /user/marketplace_purchases/stubbed\", {}, {\n renamed: [\"apps\", \"listSubscriptionsForAuthenticatedUserStubbed\"]\n }],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listRepos: [\"GET /installation/repositories\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }, {\n renamed: [\"apps\", \"listReposAccessibleToInstallation\"]\n }],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\"GET /user/marketplace_purchases/stubbed\"],\n removeRepoFromInstallation: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n revokeInstallationToken: [\"DELETE /installation/token\", {}, {\n renamed: [\"apps\", \"revokeInstallationAccessToken\"]\n }],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\"DELETE /app/installations/{installation_id}/suspended\"]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n listAnnotations: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n listForSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n rerequestSuite: [\"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n setSuitesPreferences: [\"PATCH /repos/{owner}/{repo}/check-suites/preferences\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\", {\n mediaType: {\n previews: [\"antiope\"]\n }\n }]\n },\n codeScanning: {\n getAlert: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_id}\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\", {\n mediaType: {\n previews: [\"scarlet-witch\"]\n }\n }],\n getConductCode: [\"GET /codes_of_conduct/{key}\", {\n mediaType: {\n previews: [\"scarlet-witch\"]\n }\n }],\n getForRepo: [\"GET /repos/{owner}/{repo}/community/code_of_conduct\", {\n mediaType: {\n previews: [\"scarlet-witch\"]\n }\n }],\n listConductCodes: [\"GET /codes_of_conduct\", {\n mediaType: {\n previews: [\"scarlet-witch\"]\n }\n }, {\n renamed: [\"codesOfConduct\", \"getAllCodesOfConduct\"]\n }]\n },\n emojis: {\n get: [\"GET /emojis\"]\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 listPublicForUser: [\"GET /users/{username}/gists\", {}, {\n renamed: [\"gists\", \"listForUser\"]\n }],\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 listTemplates: [\"GET /gitignore/templates\", {}, {\n renamed: [\"gitignore\", \"getAllTemplates\"]\n }]\n },\n interactions: {\n addOrUpdateRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }, {\n renamed: [\"interactions\", \"setRestrictionsForOrg\"]\n }],\n addOrUpdateRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }, {\n renamed: [\"interactions\", \"setRestrictionsForRepo\"]\n }],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }],\n removeRestrictionsForRepo: [\"DELETE /repos/{owner}/{repo}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\", {\n mediaType: {\n previews: [\"sombra\"]\n }\n }]\n },\n issues: {\n addAssignees: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkAssignee: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\", {}, {\n renamed: [\"issues\", \"checkUserCanBeAssigned\"]\n }],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"],\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: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\", {\n mediaType: {\n previews: [\"mockingbird\"]\n }\n }],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n listMilestonesForRepo: [\"GET /repos/{owner}/{repo}/milestones\", {}, {\n renamed: [\"issues\", \"listMilestones\"]\n }],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n removeAssignees: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n removeLabel: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"],\n removeLabels: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\", {}, {\n renamed: [\"issues\", \"removeAllLabels\"]\n }],\n replaceAllLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\", {}, {\n renamed: [\"issues\", \"setLabels\"]\n }],\n replaceLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\", {}, {\n renamed: [\"issues\", \"replaceAllLabels\"]\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: [\"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"],\n listCommonlyUsed: [\"GET /licenses\", {}, {\n renamed: [\"licenses\", \"getAllCommonlyUsed\"]\n }]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\"POST /markdown/raw\", {\n headers: {\n \"content-type\": \"text/plain; charset=utf-8\"\n }\n }]\n },\n meta: {\n get: [\"GET /meta\"]\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n deleteArchiveForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n downloadArchiveForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n getArchiveForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportProgress: [\"GET /repos/{owner}/{repo}/import\", {}, {\n renamed: [\"migrations\", \"getImportStatus\"]\n }],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listForAuthenticatedUser: [\"GET /user/migrations\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listForOrg: [\"GET /orgs/{org}/migrations\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listReposForUser: [\"GET /user/{migration_id}/repositories\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\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: [\"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n unlockRepoForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"]\n },\n orgs: {\n addOrUpdateMembership: [\"PUT /orgs/{org}/memberships/{username}\", {}, {\n renamed: [\"orgs\", \"setMembershipForUser\"]\n }],\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembership: [\"GET /orgs/{org}/members/{username}\", {}, {\n renamed: [\"orgs\", \"checkMembershipForUser\"]\n }],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembership: [\"GET /orgs/{org}/public_members/{username}\", {}, {\n renamed: [\"orgs\", \"checkPublicMembershipForUser\"]\n }],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n concealMembership: [\"DELETE /orgs/{org}/public_members/{username}\", {}, {\n renamed: [\"orgs\", \"removePublicMembershipForAuthenticatedUser\"]\n }],\n convertMemberToOutsideCollaborator: [\"PUT /orgs/{org}/outside_collaborators/{username}\"],\n createHook: [\"POST /orgs/{org}/hooks\", {}, {\n renamed: [\"orgs\", \"createWebhook\"]\n }],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteHook: [\"DELETE /orgs/{org}/hooks/{hook_id}\", {}, {\n renamed: [\"orgs\", \"deleteWebhook\"]\n }],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getHook: [\"GET /orgs/{org}/hooks/{hook_id}\", {}, {\n renamed: [\"orgs\", \"getWebhook\"]\n }],\n getMembership: [\"GET /orgs/{org}/memberships/{username}\", {}, {\n renamed: [\"orgs\", \"getMembershipForUser\"]\n }],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listHooks: [\"GET /orgs/{org}/hooks\", {}, {\n renamed: [\"orgs\", \"listWebhooks\"]\n }],\n listInstallations: [\"GET /orgs/{org}/installations\", {\n mediaType: {\n previews: [\"machine-man\"]\n }\n }, {\n renamed: [\"orgs\", \"listAppInstallations\"]\n }],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMemberships: [\"GET /user/memberships/orgs\", {}, {\n renamed: [\"orgs\", \"listMembershipsForAuthenticatedUser\"]\n }],\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 listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingHook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\", {}, {\n renamed: [\"orgs\", \"pingWebhook\"]\n }],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n publicizeMembership: [\"PUT /orgs/{org}/public_members/{username}\", {}, {\n renamed: [\"orgs\", \"setPublicMembershipForAuthenticatedUser\"]\n }],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembership: [\"DELETE /orgs/{org}/memberships/{username}\", {}, {\n renamed: [\"orgs\", \"removeMembershipForUser\"]\n }],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\"DELETE /orgs/{org}/outside_collaborators/{username}\"],\n removePublicMembershipForAuthenticatedUser: [\"DELETE /orgs/{org}/public_members/{username}\"],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\"PUT /orgs/{org}/public_members/{username}\"],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateHook: [\"PATCH /orgs/{org}/hooks/{hook_id}\", {}, {\n renamed: [\"orgs\", \"updateWebhook\"]\n }],\n updateMembership: [\"PATCH /user/memberships/orgs/{org}\", {}, {\n renamed: [\"orgs\", \"updateMembershipForAuthenticatedUser\"]\n }],\n updateMembershipForAuthenticatedUser: [\"PATCH /user/memberships/orgs/{org}\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"]\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createCard: [\"POST /projects/columns/{column_id}/cards\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createColumn: [\"POST /projects/{project_id}/columns\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createForAuthenticatedUser: [\"POST /user/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createForOrg: [\"POST /orgs/{org}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n delete: [\"DELETE /projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n get: [\"GET /projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n getCard: [\"GET /projects/columns/cards/{card_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n getColumn: [\"GET /projects/columns/{column_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n getPermissionForUser: [\"GET /projects/{project_id}/collaborators/{username}/permission\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listCards: [\"GET /projects/columns/{column_id}/cards\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listColumns: [\"GET /projects/{project_id}/columns\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listForOrg: [\"GET /orgs/{org}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listForUser: [\"GET /users/{username}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n removeCollaborator: [\"DELETE /projects/{project_id}/collaborators/{username}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n reviewUserPermissionLevel: [\"GET /projects/{project_id}/collaborators/{username}/permission\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }, {\n renamed: [\"projects\", \"getPermissionForUser\"]\n }],\n update: [\"PATCH /projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n updateColumn: [\"PATCH /projects/columns/{column_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\", {}, {\n renamed: [\"pulls\", \"createReviewComment\"]\n }],\n createReplyForReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n createReviewCommentReply: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\", {}, {\n renamed: [\"pulls\", \"createReplyForReviewComment\"]\n }],\n createReviewRequest: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\", {}, {\n renamed: [\"pulls\", \"requestReviewers\"]\n }],\n deleteComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\", {}, {\n renamed: [\"pulls\", \"deleteReviewComment\"]\n }],\n deletePendingReview: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n deleteReviewComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n deleteReviewRequest: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\", {}, {\n renamed: [\"pulls\", \"removeRequestedReviewers\"]\n }],\n dismissReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\", {}, {\n renamed: [\"pulls\", \"getReviewComment\"]\n }],\n getCommentsForReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\", {}, {\n renamed: [\"pulls\", \"listCommentsForReview\"]\n }],\n getReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listComments: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\", {}, {\n renamed: [\"pulls\", \"listReviewComments\"]\n }],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\", {}, {\n renamed: [\"pulls\", \"listReviewCommentsForRepo\"]\n }],\n listCommentsForReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n listReviewComments: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviewRequests: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\", {}, {\n renamed: [\"pulls\", \"listRequestedReviewers\"]\n }],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n requestReviewers: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n submitReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\", {\n mediaType: {\n previews: [\"lydian\"]\n }\n }],\n updateComment: [\"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\", {}, {\n renamed: [\"pulls\", \"updateReviewComment\"]\n }],\n updateReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n updateReviewComment: [\"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"]\n },\n rateLimit: {\n get: [\"GET /rate_limit\"]\n },\n reactions: {\n createForCommitComment: [\"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForIssue: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForIssueComment: [\"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForPullRequestReviewComment: [\"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForTeamDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForTeamDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n delete: [\"DELETE /reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }, {\n renamed: [\"reactions\", \"deleteLegacy\"]\n }],\n deleteForCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForIssue: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForIssueComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForPullRequestComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForTeamDiscussion: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForTeamDiscussionComment: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteLegacy: [\"DELETE /reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }, {\n deprecated: \"octokit.reactions.deleteLegacy() is deprecated, see https://developer.github.com/v3/reactions/#delete-a-reaction-legacy\"\n }],\n listForCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForIssueComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForPullRequestReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForTeamDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForTeamDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }]\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addDeployKey: [\"POST /repos/{owner}/{repo}/keys\", {}, {\n renamed: [\"repos\", \"createDeployKey\"]\n }],\n addProtectedBranchAdminEnforcement: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\", {}, {\n renamed: [\"repos\", \"setAdminBranchProtection\"]\n }],\n addProtectedBranchAppRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\",\n renamed: [\"repos\", \"addAppAccessRestrictions\"]\n }],\n addProtectedBranchRequiredSignatures: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }, {\n renamed: [\"repos\", \"createCommitSignatureProtection\"]\n }],\n addProtectedBranchRequiredStatusChecksContexts: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\",\n renamed: [\"repos\", \"addStatusCheckContexts\"]\n }],\n addProtectedBranchTeamRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\",\n renamed: [\"repos\", \"addTeamAccessRestrictions\"]\n }],\n addProtectedBranchUserRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\",\n renamed: [\"repos\", \"addUserAccessRestrictions\"]\n }],\n addStatusCheckContexts: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n addTeamAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n addUserAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\"GET /repos/{owner}/{repo}/vulnerability-alerts\", {\n mediaType: {\n previews: [\"dorian\"]\n }\n }],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n createCommitComment: [\"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n createCommitSignatureProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\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: [\"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createHook: [\"POST /repos/{owner}/{repo}/hooks\", {}, {\n renamed: [\"repos\", \"createWebhook\"]\n }],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateFile: [\"PUT /repos/{owner}/{repo}/contents/{path}\", {}, {\n renamed: [\"repos\", \"createOrUpdateFileContents\"]\n }],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\", {\n mediaType: {\n previews: [\"switcheroo\"]\n }\n }],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\", {}, {\n renamed: [\"repos\", \"createCommitStatus\"]\n }],\n createUsingTemplate: [\"POST /repos/{template_owner}/{template_repo}/generate\", {\n mediaType: {\n previews: [\"baptiste\"]\n }\n }],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n deleteAdminBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n deleteBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n deleteDownload: [\"DELETE /repos/{owner}/{repo}/downloads/{download_id}\"],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteHook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\", {}, {\n renamed: [\"repos\", \"deleteWebhook\"]\n }],\n deleteInvitation: [\"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\", {\n mediaType: {\n previews: [\"switcheroo\"]\n }\n }],\n deletePullRequestReviewProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\"DELETE /repos/{owner}/{repo}/automated-security-fixes\", {\n mediaType: {\n previews: [\"london\"]\n }\n }],\n disablePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\", {\n mediaType: {\n previews: [\"switcheroo\"]\n }\n }, {\n renamed: [\"repos\", \"deletePagesSite\"]\n }],\n disableVulnerabilityAlerts: [\"DELETE /repos/{owner}/{repo}/vulnerability-alerts\", {\n mediaType: {\n previews: [\"dorian\"]\n }\n }],\n downloadArchive: [\"GET /repos/{owner}/{repo}/{archive_format}/{ref}\"],\n enableAutomatedSecurityFixes: [\"PUT /repos/{owner}/{repo}/automated-security-fixes\", {\n mediaType: {\n previews: [\"london\"]\n }\n }],\n enablePagesSite: [\"POST /repos/{owner}/{repo}/pages\", {\n mediaType: {\n previews: [\"switcheroo\"]\n }\n }, {\n renamed: [\"repos\", \"createPagesSite\"]\n }],\n enableVulnerabilityAlerts: [\"PUT /repos/{owner}/{repo}/vulnerability-alerts\", {\n mediaType: {\n previews: [\"dorian\"]\n }\n }],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n getAdminBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n getAllStatusCheckContexts: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\", {\n mediaType: {\n previews: [\"mercy\"]\n }\n }],\n getAppsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"],\n getArchiveLink: [\"GET /repos/{owner}/{repo}/{archive_format}/{ref}\", {}, {\n renamed: [\"repos\", \"downloadArchive\"]\n }],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"],\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: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContents: [\"GET /repos/{owner}/{repo}/contents/{path}\", {}, {\n renamed: [\"repos\", \"getContent\"]\n }],\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: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"],\n getDownload: [\"GET /repos/{owner}/{repo}/downloads/{download_id}\"],\n getHook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\", {}, {\n renamed: [\"repos\", \"getWebhook\"]\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 getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getProtectedBranchAdminEnforcement: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\", {}, {\n renamed: [\"repos\", \"getAdminBranchProtection\"]\n }],\n getProtectedBranchPullRequestReviewEnforcement: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\", {}, {\n renamed: [\"repos\", \"getPullRequestReviewProtection\"]\n }],\n getProtectedBranchRequiredSignatures: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }, {\n renamed: [\"repos\", \"getCommitSignatureProtection\"]\n }],\n getProtectedBranchRequiredStatusChecks: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\", {}, {\n renamed: [\"repos\", \"getStatusChecksProtection\"]\n }],\n getProtectedBranchRestrictions: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\", {}, {\n renamed: [\"repos\", \"getAccessRestrictions\"]\n }],\n getPullRequestReviewProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\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: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n getTeamsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n list: [\"GET /user/repos\", {}, {\n renamed: [\"repos\", \"listForAuthenticatedUser\"]\n }],\n listAssetsForRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}/assets\", {}, {\n renamed: [\"repos\", \"listReleaseAssets\"]\n }],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\", {\n mediaType: {\n previews: [\"groot\"]\n }\n }],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n listCommitComments: [\"GET /repos/{owner}/{repo}/comments\", {}, {\n renamed: [\"repos\", \"listCommitCommentsForRepo\"]\n }],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listDownloads: [\"GET /repos/{owner}/{repo}/downloads\"],\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 listHooks: [\"GET /repos/{owner}/{repo}/hooks\", {}, {\n renamed: [\"repos\", \"listWebhooks\"]\n }],\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 listProtectedBranchRequiredStatusChecksContexts: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n renamed: [\"repos\", \"getAllStatusCheckContexts\"]\n }],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\", {\n mediaType: {\n previews: [\"groot\"]\n }\n }],\n listReleaseAssets: [\"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listStatusesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/statuses\", {}, {\n renamed: [\"repos\", \"listCommitStatusesForRef\"]\n }],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listTopics: [\"GET /repos/{owner}/{repo}/topics\", {\n mediaType: {\n previews: [\"mercy\"]\n }\n }, {\n renamed: [\"repos\", \"getAllTopics\"]\n }],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n pingHook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\", {}, {\n renamed: [\"repos\", \"pingWebhook\"]\n }],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n removeAppAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n removeBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\", {}, {\n renamed: [\"repos\", \"deleteBranchProtection\"]\n }],\n removeCollaborator: [\"DELETE /repos/{owner}/{repo}/collaborators/{username}\"],\n removeDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\", {}, {\n renamed: [\"repos\", \"deleteDeployKey\"]\n }],\n removeProtectedBranchAdminEnforcement: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\", {}, {\n renamed: [\"repos\", \"deleteAdminBranchProtection\"]\n }],\n removeProtectedBranchAppRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\",\n renamed: [\"repos\", \"removeAppAccessRestrictions\"]\n }],\n removeProtectedBranchPullRequestReviewEnforcement: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\", {}, {\n renamed: [\"repos\", \"deletePullRequestReviewProtection\"]\n }],\n removeProtectedBranchRequiredSignatures: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }, {\n renamed: [\"repos\", \"deleteCommitSignatureProtection\"]\n }],\n removeProtectedBranchRequiredStatusChecks: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\", {}, {\n renamed: [\"repos\", \"removeStatusChecksProtection\"]\n }],\n removeProtectedBranchRequiredStatusChecksContexts: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\",\n renamed: [\"repos\", \"removeStatusCheckContexts\"]\n }],\n removeProtectedBranchRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\", {}, {\n renamed: [\"repos\", \"deleteAccessRestrictions\"]\n }],\n removeProtectedBranchTeamRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\",\n renamed: [\"repos\", \"removeTeamAccessRestrictions\"]\n }],\n removeProtectedBranchUserRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\",\n renamed: [\"repos\", \"removeUserAccessRestrictions\"]\n }],\n removeStatusCheckContexts: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n removeStatusCheckProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n removeTeamAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n removeUserAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\", {\n mediaType: {\n previews: [\"mercy\"]\n }\n }],\n replaceProtectedBranchAppRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\",\n renamed: [\"repos\", \"setAppAccessRestrictions\"]\n }],\n replaceProtectedBranchRequiredStatusChecksContexts: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\",\n renamed: [\"repos\", \"setStatusCheckContexts\"]\n }],\n replaceProtectedBranchTeamRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\",\n renamed: [\"repos\", \"setTeamAccessRestrictions\"]\n }],\n replaceProtectedBranchUserRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\",\n renamed: [\"repos\", \"setUserAccessRestrictions\"]\n }],\n replaceTopics: [\"PUT /repos/{owner}/{repo}/topics\", {\n mediaType: {\n previews: [\"mercy\"]\n }\n }, {\n renamed: [\"repos\", \"replaceAllTopics\"]\n }],\n requestPageBuild: [\"POST /repos/{owner}/{repo}/pages/builds\", {}, {\n renamed: [\"repos\", \"requestPagesBuild\"]\n }],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n retrieveCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\", {}, {\n renamed: [\"repos\", \"getCommunityProfileMetrics\"]\n }],\n setAdminBranchProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n setAppAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n setStatusCheckContexts: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n setTeamAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n setUserAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n testPushHook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\", {}, {\n renamed: [\"repos\", \"testPushWebhook\"]\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: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateHook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\", {}, {\n renamed: [\"repos\", \"updateWebhook\"]\n }],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n updateProtectedBranchPullRequestReviewEnforcement: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\", {}, {\n renamed: [\"repos\", \"updatePullRequestReviewProtection\"]\n }],\n updateProtectedBranchRequiredStatusChecks: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\", {}, {\n renamed: [\"repos\", \"updateStatusChecksProtection\"]\n }],\n updatePullRequestReviewProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n updateStatusCheckPotection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n uploadReleaseAsset: [\"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 mediaType: {\n previews: [\"cloak\"]\n }\n }],\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 teams: {\n addOrUpdateMembershipForUserInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n addOrUpdateMembershipInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\", {}, {\n renamed: [\"teams\", \"addOrUpdateMembershipForUserInOrg\"]\n }],\n addOrUpdateProjectInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }, {\n renamed: [\"teams\", \"addOrUpdateProjectPermissionsInOrg\"]\n }],\n addOrUpdateProjectPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n addOrUpdateRepoInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\", {}, {\n renamed: [\"teams\", \"addOrUpdateRepoPermissionsInOrg\"]\n }],\n addOrUpdateRepoPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n checkManagesRepoInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\", {}, {\n renamed: [\"teams\", \"checkPermissionsForRepoInOrg\"]\n }],\n checkPermissionsForProjectInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n checkPermissionsForRepoInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n deleteDiscussionInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n getDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n getMembershipForUserInOrg: [\"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n getMembershipInOrg: [\"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\", {}, {\n renamed: [\"teams\", \"getMembershipForUserInOrg\"]\n }],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\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: [\"GET /orgs/{org}/teams/{team_slug}/invitations\"],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n removeMembershipInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\", {}, {\n renamed: [\"teams\", \"removeMembershipForUserInOrg\"]\n }],\n removeProjectInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n removeRepoInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n reviewProjectInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }, {\n renamed: [\"teams\", \"checkPermissionsForProjectInOrg\"]\n }],\n updateDiscussionCommentInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n updateDiscussionInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\"],\n addEmails: [\"POST /user/emails\", {}, {\n renamed: [\"users\", \"addEmailsForAuthenticated\"]\n }],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowing: [\"GET /user/following/{username}\", {}, {\n renamed: [\"users\", \"checkPersonIsFollowedByAuthenticated\"]\n }],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKey: [\"POST /user/gpg_keys\", {}, {\n renamed: [\"users\", \"createGpgKeyForAuthenticated\"]\n }],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\"],\n createPublicKey: [\"POST /user/keys\", {}, {\n renamed: [\"users\", \"createPublicSshKeyForAuthenticated\"]\n }],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\"],\n deleteEmails: [\"DELETE /user/emails\", {}, {\n renamed: [\"users\", \"deleteEmailsForAuthenticated\"]\n }],\n deleteGpgKey: [\"DELETE /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"deleteGpgKeyForAuthenticated\"]\n }],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicKey: [\"DELETE /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"deletePublicSshKeyForAuthenticated\"]\n }],\n deletePublicSshKeyForAuthenticated: [\"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 getGpgKey: [\"GET /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"getGpgKeyForAuthenticated\"]\n }],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicKey: [\"GET /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"getPublicSshKeyForAuthenticated\"]\n }],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlocked: [\"GET /user/blocks\", {}, {\n renamed: [\"users\", \"listBlockedByAuthenticated\"]\n }],\n listBlockedByAuthenticated: [\"GET /user/blocks\"],\n listEmails: [\"GET /user/emails\", {}, {\n renamed: [\"users\", \"listEmailsForAuthenticated\"]\n }],\n listEmailsForAuthenticated: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForAuthenticatedUser: [\"GET /user/following\", {}, {\n renamed: [\"users\", \"listFollowedByAuthenticated\"]\n }],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeys: [\"GET /user/gpg_keys\", {}, {\n renamed: [\"users\", \"listGpgKeysForAuthenticated\"]\n }],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmails: [\"GET /user/public_emails\", {}, {\n renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"]\n }],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\"],\n listPublicKeys: [\"GET /user/keys\", {}, {\n renamed: [\"users\", \"listPublicSshKeysForAuthenticated\"]\n }],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\"],\n togglePrimaryEmailVisibility: [\"PATCH /user/email/visibility\", {}, {\n renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticated\"]\n }],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\n\nconst VERSION = \"3.17.0\";\n\nfunction endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n\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({\n method,\n url\n }, defaults);\n\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n\n const scopeMethods = newMethods[scope];\n\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n\n return newMethods;\n}\n\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData`\n\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined\n });\n return requestWithDefaults(options);\n } // NOTE: there are currently no deprecations. But we keep the code\n // below for future reference\n\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\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n // There is currently no deprecated parameter that is optional,\n // so we never hit the else branch below at this point.\n\n /* istanbul ignore else */\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n\n delete options[name];\n }\n }\n\n return requestWithDefaults(options);\n } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n\n\n return requestWithDefaults(...args);\n }\n\n return Object.assign(withDecorations, requestWithDefaults);\n}\n\n/**\n * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary\n * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is\n * done, we will remove the registerEndpoints methods and return the methods\n * directly as with the other plugins. At that point we will also remove the\n * legacy workarounds and deprecations.\n *\n * See the plan at\n * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1\n */\n\nfunction restEndpointMethods(octokit) {\n return endpointsToMethods(octokit, Endpoints);\n}\nrestEndpointMethods.VERSION = VERSION;\n\nexports.restEndpointMethods = restEndpointMethods;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nconst http = require('http');\nconst https = require('https');\nconst urllib = require('url');\nconst zlib = require('zlib');\nconst PassThrough = require('stream').PassThrough;\nconst Cookies = require('./cookies');\nconst packageData = require('../../package.json');\n\nconst MAX_REDIRECTS = 5;\n\nmodule.exports = function (url, options) {\n return fetch(url, options);\n};\n\nmodule.exports.Cookies = Cookies;\n\nfunction fetch(url, options) {\n options = options || {};\n\n options.fetchRes = options.fetchRes || new PassThrough();\n options.cookies = options.cookies || new Cookies();\n options.redirects = options.redirects || 0;\n options.maxRedirects = isNaN(options.maxRedirects) ? MAX_REDIRECTS : options.maxRedirects;\n\n if (options.cookie) {\n [].concat(options.cookie || []).forEach(cookie => {\n options.cookies.set(cookie, url);\n });\n options.cookie = false;\n }\n\n let fetchRes = options.fetchRes;\n let parsed = urllib.parse(url);\n let method = (options.method || '').toString().trim().toUpperCase() || 'GET';\n let finished = false;\n let cookies;\n let body;\n\n let handler = parsed.protocol === 'https:' ? https : http;\n\n let headers = {\n 'accept-encoding': 'gzip,deflate',\n 'user-agent': 'nodemailer/' + packageData.version\n };\n\n Object.keys(options.headers || {}).forEach(key => {\n headers[key.toLowerCase().trim()] = options.headers[key];\n });\n\n if (options.userAgent) {\n headers['user-agent'] = options.userAgent;\n }\n\n if (parsed.auth) {\n headers.Authorization = 'Basic ' + Buffer.from(parsed.auth).toString('base64');\n }\n\n if ((cookies = options.cookies.get(url))) {\n headers.cookie = cookies;\n }\n\n if (options.body) {\n if (options.contentType !== false) {\n headers['Content-Type'] = options.contentType || 'application/x-www-form-urlencoded';\n }\n\n if (typeof options.body.pipe === 'function') {\n // it's a stream\n headers['Transfer-Encoding'] = 'chunked';\n body = options.body;\n body.on('error', err => {\n if (finished) {\n return;\n }\n finished = true;\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n });\n } else {\n if (options.body instanceof Buffer) {\n body = options.body;\n } else if (typeof options.body === 'object') {\n try {\n // encodeURIComponent can fail on invalid input (partial emoji etc.)\n body = Buffer.from(\n Object.keys(options.body)\n .map(key => {\n let value = options.body[key].toString().trim();\n return encodeURIComponent(key) + '=' + encodeURIComponent(value);\n })\n .join('&')\n );\n } catch (E) {\n if (finished) {\n return;\n }\n finished = true;\n E.type = 'FETCH';\n E.sourceUrl = url;\n fetchRes.emit('error', E);\n return;\n }\n } else {\n body = Buffer.from(options.body.toString().trim());\n }\n\n headers['Content-Type'] = options.contentType || 'application/x-www-form-urlencoded';\n headers['Content-Length'] = body.length;\n }\n // if method is not provided, use POST instead of GET\n method = (options.method || '').toString().trim().toUpperCase() || 'POST';\n }\n\n let req;\n let reqOptions = {\n method,\n host: parsed.hostname,\n path: parsed.path,\n port: parsed.port ? parsed.port : parsed.protocol === 'https:' ? 443 : 80,\n headers,\n rejectUnauthorized: false,\n agent: false\n };\n\n if (options.tls) {\n Object.keys(options.tls).forEach(key => {\n reqOptions[key] = options.tls[key];\n });\n }\n\n try {\n req = handler.request(reqOptions);\n } catch (E) {\n finished = true;\n setImmediate(() => {\n E.type = 'FETCH';\n E.sourceUrl = url;\n fetchRes.emit('error', E);\n });\n return fetchRes;\n }\n\n if (options.timeout) {\n req.setTimeout(options.timeout, () => {\n if (finished) {\n return;\n }\n finished = true;\n req.abort();\n let err = new Error('Request Timeout');\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n });\n }\n\n req.on('error', err => {\n if (finished) {\n return;\n }\n finished = true;\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n });\n\n req.on('response', res => {\n let inflate;\n\n if (finished) {\n return;\n }\n\n switch (res.headers['content-encoding']) {\n case 'gzip':\n case 'deflate':\n inflate = zlib.createUnzip();\n break;\n }\n\n if (res.headers['set-cookie']) {\n [].concat(res.headers['set-cookie'] || []).forEach(cookie => {\n options.cookies.set(cookie, url);\n });\n }\n\n if ([301, 302, 303, 307, 308].includes(res.statusCode) && res.headers.location) {\n // redirect\n options.redirects++;\n if (options.redirects > options.maxRedirects) {\n finished = true;\n let err = new Error('Maximum redirect count exceeded');\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n req.abort();\n return;\n }\n // redirect does not include POST body\n options.method = 'GET';\n options.body = false;\n return fetch(urllib.resolve(url, res.headers.location), options);\n }\n\n fetchRes.statusCode = res.statusCode;\n fetchRes.headers = res.headers;\n\n if (res.statusCode >= 300 && !options.allowErrorResponse) {\n finished = true;\n let err = new Error('Invalid status code ' + res.statusCode);\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n req.abort();\n return;\n }\n\n res.on('error', err => {\n if (finished) {\n return;\n }\n finished = true;\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n req.abort();\n });\n\n if (inflate) {\n res.pipe(inflate).pipe(fetchRes);\n inflate.on('error', err => {\n if (finished) {\n return;\n }\n finished = true;\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n req.abort();\n });\n } else {\n res.pipe(fetchRes);\n }\n });\n\n setImmediate(() => {\n if (body) {\n try {\n if (typeof body.pipe === 'function') {\n return body.pipe(req);\n } else {\n req.write(body);\n }\n } catch (err) {\n finished = true;\n err.type = 'FETCH';\n err.sourceUrl = url;\n fetchRes.emit('error', err);\n return;\n }\n }\n req.end();\n });\n\n return fetchRes;\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\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* Active `debug` instances.\n\t*/\n\tcreateDebug.instances = [];\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 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\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 match;\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.enabled = createDebug.enabled(namespace);\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = selectColor(namespace);\n\t\tdebug.destroy = destroy;\n\t\tdebug.extend = extend;\n\t\t// Debug.formatArgs = formatArgs;\n\t\t// debug.rawLog = rawLog;\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\tcreateDebug.instances.push(debug);\n\n\t\treturn debug;\n\t}\n\n\tfunction destroy() {\n\t\tconst index = createDebug.instances.indexOf(this);\n\t\tif (index !== -1) {\n\t\t\tcreateDebug.instances.splice(index, 1);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\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\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.substr(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0; i < createDebug.instances.length; i++) {\n\t\t\tconst instance = createDebug.instances[i];\n\t\t\tinstance.enabled = createDebug.enabled(instance.namespace);\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\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","'use strict';\nconst os = require('os');\nconst execa = require('execa');\n\n// Reference: https://www.gaijin.at/en/lstwinver.php\nconst names = new Map([\n\t['10.0', '10'],\n\t['6.3', '8.1'],\n\t['6.2', '8'],\n\t['6.1', '7'],\n\t['6.0', 'Vista'],\n\t['5.2', 'Server 2003'],\n\t['5.1', 'XP'],\n\t['5.0', '2000'],\n\t['4.9', 'ME'],\n\t['4.1', '98'],\n\t['4.0', '95']\n]);\n\nconst windowsRelease = release => {\n\tconst version = /\\d+\\.\\d/.exec(release || os.release());\n\n\tif (release && !version) {\n\t\tthrow new Error('`release` argument doesn\\'t match `n.n`');\n\t}\n\n\tconst ver = (version || [])[0];\n\n\t// Server 2008, 2012, 2016, and 2019 versions are ambiguous with desktop versions and must be detected at runtime.\n\t// If `release` is omitted or we're on a Windows system, and the version number is an ambiguous version\n\t// then use `wmic` to get the OS caption: https://msdn.microsoft.com/en-us/library/aa394531(v=vs.85).aspx\n\t// If `wmic` is obsoloete (later versions of Windows 10), use PowerShell instead.\n\t// If the resulting caption contains the year 2008, 2012, 2016 or 2019, it is a server version, so return a server OS name.\n\tif ((!release || release === os.release()) && ['6.1', '6.2', '6.3', '10.0'].includes(ver)) {\n\t\tlet stdout;\n\t\ttry {\n\t\t\tstdout = execa.sync('wmic', ['os', 'get', 'Caption']).stdout || '';\n\t\t} catch (_) {\n\t\t\tstdout = execa.sync('powershell', ['(Get-CimInstance -ClassName Win32_OperatingSystem).caption']).stdout || '';\n\t\t}\n\n\t\tconst year = (stdout.match(/2008|2012|2016|2019/) || [])[0];\n\n\t\tif (year) {\n\t\t\treturn `Server ${year}`;\n\t\t}\n\t}\n\n\treturn names.get(ver);\n};\n\nmodule.exports = windowsRelease;\n","// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\nvar assert = require('assert')\nvar signals = require('./signals.js')\nvar isWin = /^win/i.test(process.platform)\n\nvar EE = require('events')\n/* istanbul ignore if */\nif (typeof EE !== 'function') {\n EE = EE.EventEmitter\n}\n\nvar emitter\nif (process.__signal_exit_emitter__) {\n emitter = process.__signal_exit_emitter__\n} else {\n emitter = process.__signal_exit_emitter__ = new EE()\n emitter.count = 0\n emitter.emitted = {}\n}\n\n// Because this emitter is a global, we have to check to see if a\n// previous version of this library failed to enable infinite listeners.\n// I know what you're about to say. But literally everything about\n// signal-exit is a compromise with evil. Get used to it.\nif (!emitter.infinite) {\n emitter.setMaxListeners(Infinity)\n emitter.infinite = true\n}\n\nmodule.exports = function (cb, opts) {\n assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler')\n\n if (loaded === false) {\n load()\n }\n\n var ev = 'exit'\n if (opts && opts.alwaysLast) {\n ev = 'afterexit'\n }\n\n var remove = function () {\n emitter.removeListener(ev, cb)\n if (emitter.listeners('exit').length === 0 &&\n emitter.listeners('afterexit').length === 0) {\n unload()\n }\n }\n emitter.on(ev, cb)\n\n return remove\n}\n\nmodule.exports.unload = unload\nfunction unload () {\n if (!loaded) {\n return\n }\n loaded = false\n\n signals.forEach(function (sig) {\n try {\n process.removeListener(sig, sigListeners[sig])\n } catch (er) {}\n })\n process.emit = originalProcessEmit\n process.reallyExit = originalProcessReallyExit\n emitter.count -= 1\n}\n\nfunction emit (event, code, signal) {\n if (emitter.emitted[event]) {\n return\n }\n emitter.emitted[event] = true\n emitter.emit(event, code, signal)\n}\n\n// { : , ... }\nvar sigListeners = {}\nsignals.forEach(function (sig) {\n sigListeners[sig] = function listener () {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n var listeners = process.listeners(sig)\n if (listeners.length === emitter.count) {\n unload()\n emit('exit', null, sig)\n /* istanbul ignore next */\n emit('afterexit', null, sig)\n /* istanbul ignore next */\n if (isWin && sig === 'SIGHUP') {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n sig = 'SIGINT'\n }\n process.kill(process.pid, sig)\n }\n }\n})\n\nmodule.exports.signals = function () {\n return signals\n}\n\nmodule.exports.load = load\n\nvar loaded = false\n\nfunction load () {\n if (loaded) {\n return\n }\n loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n emitter.count += 1\n\n signals = signals.filter(function (sig) {\n try {\n process.on(sig, sigListeners[sig])\n return true\n } catch (er) {\n return false\n }\n })\n\n process.emit = processEmit\n process.reallyExit = processReallyExit\n}\n\nvar originalProcessReallyExit = process.reallyExit\nfunction processReallyExit (code) {\n process.exitCode = code || 0\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n /* istanbul ignore next */\n originalProcessReallyExit.call(process, process.exitCode)\n}\n\nvar originalProcessEmit = process.emit\nfunction processEmit (ev, arg) {\n if (ev === 'exit') {\n if (arg !== undefined) {\n process.exitCode = arg\n }\n var ret = originalProcessEmit.apply(this, arguments)\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n return ret\n } else {\n return originalProcessEmit.apply(this, arguments)\n }\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst copy = require('../copy').copy\nconst remove = require('../remove').remove\nconst mkdirp = require('../mkdirs').mkdirp\nconst pathExists = require('../path-exists').pathExists\nconst stat = require('../util/stat')\n\nfunction move (src, dest, opts, cb) {\n if (typeof opts === 'function') {\n cb = opts\n opts = {}\n }\n\n const overwrite = opts.overwrite || opts.clobber || false\n\n stat.checkPaths(src, dest, 'move', (err, stats) => {\n if (err) return cb(err)\n const { srcStat } = stats\n stat.checkParentPaths(src, srcStat, dest, 'move', err => {\n if (err) return cb(err)\n mkdirp(path.dirname(dest), err => {\n if (err) return cb(err)\n return doRename(src, dest, overwrite, cb)\n })\n })\n })\n}\n\nfunction doRename (src, dest, overwrite, cb) {\n if (overwrite) {\n return remove(dest, err => {\n if (err) return cb(err)\n return rename(src, dest, overwrite, cb)\n })\n }\n pathExists(dest, (err, destExists) => {\n if (err) return cb(err)\n if (destExists) return cb(new Error('dest already exists.'))\n return rename(src, dest, overwrite, cb)\n })\n}\n\nfunction rename (src, dest, overwrite, cb) {\n fs.rename(src, dest, err => {\n if (!err) return cb()\n if (err.code !== 'EXDEV') return cb(err)\n return moveAcrossDevice(src, dest, overwrite, cb)\n })\n}\n\nfunction moveAcrossDevice (src, dest, overwrite, cb) {\n const opts = {\n overwrite,\n errorOnExist: true\n }\n copy(src, dest, opts, err => {\n if (err) return cb(err)\n return remove(src, cb)\n })\n}\n\nmodule.exports = move\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('touch', _touch, {\n cmdOptions: {\n 'a': 'atime_only',\n 'c': 'no_create',\n 'd': 'date',\n 'm': 'mtime_only',\n 'r': 'reference',\n },\n});\n\n//@\n//@ ### touch([options,] file [, file ...])\n//@ ### touch([options,] file_array)\n//@\n//@ Available options:\n//@\n//@ + `-a`: Change only the access time\n//@ + `-c`: Do not create any files\n//@ + `-m`: Change only the modification time\n//@ + `-d DATE`: Parse `DATE` and use it instead of current time\n//@ + `-r FILE`: Use `FILE`'s times instead of current time\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ touch('source.js');\n//@ touch('-c', '/path/to/some/dir/source.js');\n//@ touch({ '-r': FILE }, '/path/to/some/dir/source.js');\n//@ ```\n//@\n//@ Update the access and modification times of each `FILE` to the current time.\n//@ A `FILE` argument that does not exist is created empty, unless `-c` is supplied.\n//@ This is a partial implementation of [`touch(1)`](http://linux.die.net/man/1/touch).\nfunction _touch(opts, files) {\n if (!files) {\n common.error('no files given');\n } else if (typeof files === 'string') {\n files = [].slice.call(arguments, 1);\n } else {\n common.error('file arg should be a string file path or an Array of string file paths');\n }\n\n files.forEach(function (f) {\n touchFile(opts, f);\n });\n return '';\n}\n\nfunction touchFile(opts, file) {\n var stat = tryStatFile(file);\n\n if (stat && stat.isDirectory()) {\n // don't error just exit\n return;\n }\n\n // if the file doesn't already exist and the user has specified --no-create then\n // this script is finished\n if (!stat && opts.no_create) {\n return;\n }\n\n // open the file and then close it. this will create it if it doesn't exist but will\n // not truncate the file\n fs.closeSync(fs.openSync(file, 'a'));\n\n //\n // Set timestamps\n //\n\n // setup some defaults\n var now = new Date();\n var mtime = opts.date || now;\n var atime = opts.date || now;\n\n // use reference file\n if (opts.reference) {\n var refStat = tryStatFile(opts.reference);\n if (!refStat) {\n common.error('failed to get attributess of ' + opts.reference);\n }\n mtime = refStat.mtime;\n atime = refStat.atime;\n } else if (opts.date) {\n mtime = opts.date;\n atime = opts.date;\n }\n\n if (opts.atime_only && opts.mtime_only) {\n // keep the new values of mtime and atime like GNU\n } else if (opts.atime_only) {\n mtime = stat.mtime;\n } else if (opts.mtime_only) {\n atime = stat.atime;\n }\n\n fs.utimesSync(file, atime, mtime);\n}\n\nmodule.exports = _touch;\n\nfunction tryStatFile(filePath) {\n try {\n return common.statFollowLinks(filePath);\n } catch (e) {\n return null;\n }\n}\n","'use strict';\n\nconst path = require('path');\nconst niceTry = require('nice-try');\nconst resolveCommand = require('./util/resolveCommand');\nconst escape = require('./util/escape');\nconst readShebang = require('./util/readShebang');\nconst semver = require('semver');\n\nconst isWin = process.platform === 'win32';\nconst isExecutableRegExp = /\\.(?:com|exe)$/i;\nconst isCmdShimRegExp = /node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;\n\n// `options.shell` is supported in Node ^4.8.0, ^5.7.0 and >= 6.0.0\nconst supportsShellOption = niceTry(() => semver.satisfies(process.version, '^4.8.0 || ^5.7.0 || >= 6.0.0', true)) || false;\n\nfunction detectShebang(parsed) {\n parsed.file = resolveCommand(parsed);\n\n const shebang = parsed.file && readShebang(parsed.file);\n\n if (shebang) {\n parsed.args.unshift(parsed.file);\n parsed.command = shebang;\n\n return resolveCommand(parsed);\n }\n\n return parsed.file;\n}\n\nfunction parseNonShell(parsed) {\n if (!isWin) {\n return parsed;\n }\n\n // Detect & add support for shebangs\n const commandFile = detectShebang(parsed);\n\n // We don't need a shell if the command filename is an executable\n const needsShell = !isExecutableRegExp.test(commandFile);\n\n // If a shell is required, use cmd.exe and take care of escaping everything correctly\n // Note that `forceShell` is an hidden option used only in tests\n if (parsed.options.forceShell || needsShell) {\n // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`\n // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument\n // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,\n // we need to double escape them\n const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);\n\n // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\\bar)\n // This is necessary otherwise it will always fail with ENOENT in those cases\n parsed.command = path.normalize(parsed.command);\n\n // Escape command & arguments\n parsed.command = escape.command(parsed.command);\n parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));\n\n const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n parsed.command = process.env.comspec || 'cmd.exe';\n parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n }\n\n return parsed;\n}\n\nfunction parseShell(parsed) {\n // If node supports the shell option, there's no need to mimic its behavior\n if (supportsShellOption) {\n return parsed;\n }\n\n // Mimic node shell option\n // See https://github.com/nodejs/node/blob/b9f6a2dc059a1062776133f3d4fd848c4da7d150/lib/child_process.js#L335\n const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n if (isWin) {\n parsed.command = typeof parsed.options.shell === 'string' ? parsed.options.shell : process.env.comspec || 'cmd.exe';\n parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n } else {\n if (typeof parsed.options.shell === 'string') {\n parsed.command = parsed.options.shell;\n } else if (process.platform === 'android') {\n parsed.command = '/system/bin/sh';\n } else {\n parsed.command = '/bin/sh';\n }\n\n parsed.args = ['-c', shellCommand];\n }\n\n return parsed;\n}\n\nfunction parse(command, args, options) {\n // Normalize arguments, similar to nodejs\n if (args && !Array.isArray(args)) {\n options = args;\n args = null;\n }\n\n args = args ? args.slice(0) : []; // Clone array to avoid changing the original\n options = Object.assign({}, options); // Clone object to avoid changing the original\n\n // Build our parsed object\n const parsed = {\n command,\n args,\n options,\n file: undefined,\n original: {\n command,\n args,\n },\n };\n\n // Delegate further parsing to shell or non-shell\n return options.shell ? parseShell(parsed) : parseNonShell(parsed);\n}\n\nmodule.exports = parse;\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdir = require('../mkdirs')\nconst pathExists = require('../path-exists').pathExists\n\nfunction outputFile (file, data, encoding, callback) {\n if (typeof encoding === 'function') {\n callback = encoding\n encoding = 'utf8'\n }\n\n const dir = path.dirname(file)\n pathExists(dir, (err, itDoes) => {\n if (err) return callback(err)\n if (itDoes) return fs.writeFile(file, data, encoding, callback)\n\n mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n\n fs.writeFile(file, data, encoding, callback)\n })\n })\n}\n\nfunction outputFileSync (file, ...args) {\n const dir = path.dirname(file)\n if (fs.existsSync(dir)) {\n return fs.writeFileSync(file, ...args)\n }\n mkdir.mkdirsSync(dir)\n fs.writeFileSync(file, ...args)\n}\n\nmodule.exports = {\n outputFile: u(outputFile),\n outputFileSync\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(null, name ? [state, name] : [state])\n hook.api = { remove: removeHookRef }\n hook.remove = removeHookRef\n\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('[before-after-hook]: \"Hook()\" repurposing warning, use \"Hook.Collection()\". Read more: https://git.io/upgrade-before-after-hook-to-1.4')\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","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlUseSsl = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898/include/curl/curl.h#L801\r\n/**\r\n * Object with constants for option `USE_SSL`\r\n *\r\n * `CURLUSESSL_NONE` becomes `CurlUseSsl.None`\r\n *\r\n * @public\r\n */\r\nvar CurlUseSsl;\r\n(function (CurlUseSsl) {\r\n CurlUseSsl[CurlUseSsl[\"None\"] = 0] = \"None\";\r\n CurlUseSsl[CurlUseSsl[\"Try\"] = 1] = \"Try\";\r\n CurlUseSsl[CurlUseSsl[\"Control\"] = 2] = \"Control\";\r\n CurlUseSsl[CurlUseSsl[\"All\"] = 3] = \"All\";\r\n})(CurlUseSsl = exports.CurlUseSsl || (exports.CurlUseSsl = {}));\r\n//# sourceMappingURL=CurlUseSsl.js.map","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","\"use strict\";\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// This file was generated by scripts/build-constants.js on 2020-10-11T15:59:26.976Z\r\n// Do not edit manually\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlOptionCamelCaseMap = void 0;\r\nexports.CurlOptionCamelCaseMap = {\r\n /**\r\n * Path to an abstract Unix domain socket.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_ABSTRACT_UNIX_SOCKET.html](https://curl.haxx.se/libcurl/c/CURLOPT_ABSTRACT_UNIX_SOCKET.html)\r\n */\r\n abstractUnixSocket: 'ABSTRACT_UNIX_SOCKET',\r\n /**\r\n * Accept-Encoding and automatic decompressing data.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_ACCEPT_ENCODING.html](https://curl.haxx.se/libcurl/c/CURLOPT_ACCEPT_ENCODING.html)\r\n */\r\n acceptEncoding: 'ACCEPT_ENCODING',\r\n /**\r\n * Timeout for waiting for the server's connect back to be accepted.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_ACCEPTTIMEOUT_MS.html](https://curl.haxx.se/libcurl/c/CURLOPT_ACCEPTTIMEOUT_MS.html)\r\n */\r\n acceptTimeoutMs: 'ACCEPTTIMEOUT_MS',\r\n /**\r\n * IPv6 scope for local addresses.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_ADDRESS_SCOPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_ADDRESS_SCOPE.html)\r\n */\r\n addressScope: 'ADDRESS_SCOPE',\r\n /**\r\n * Specify the Alt-Svc: cache file name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_ALTSVC.html](https://curl.haxx.se/libcurl/c/CURLOPT_ALTSVC.html)\r\n */\r\n altSvc: 'ALTSVC',\r\n /**\r\n * Enable and configure Alt-Svc: treatment.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_ALTSVC_CTRL.html](https://curl.haxx.se/libcurl/c/CURLOPT_ALTSVC_CTRL.html)\r\n */\r\n altSvcCtrl: 'ALTSVC_CTRL',\r\n /**\r\n * Append to remote file.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_APPEND.html](https://curl.haxx.se/libcurl/c/CURLOPT_APPEND.html)\r\n */\r\n append: 'APPEND',\r\n /**\r\n * Automatically set Referer: header.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_AUTOREFERER.html](https://curl.haxx.se/libcurl/c/CURLOPT_AUTOREFERER.html)\r\n */\r\n autoReferer: 'AUTOREFERER',\r\n /**\r\n * Ask for alternate buffer size.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_BUFFERSIZE.html](https://curl.haxx.se/libcurl/c/CURLOPT_BUFFERSIZE.html)\r\n */\r\n bufferSize: 'BUFFERSIZE',\r\n /**\r\n * CA cert bundle.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CAINFO.html](https://curl.haxx.se/libcurl/c/CURLOPT_CAINFO.html)\r\n */\r\n caInfo: 'CAINFO',\r\n /**\r\n * Path to CA cert bundle.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CAPATH.html](https://curl.haxx.se/libcurl/c/CURLOPT_CAPATH.html)\r\n */\r\n caPath: 'CAPATH',\r\n /**\r\n * Extract certificate info.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CERTINFO.html](https://curl.haxx.se/libcurl/c/CURLOPT_CERTINFO.html)\r\n */\r\n certInfo: 'CERTINFO',\r\n /**\r\n * Callback for wildcard download start of chunk.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CHUNK_BGN_FUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_CHUNK_BGN_FUNCTION.html)\r\n */\r\n chunkBgnFunction: 'CHUNK_BGN_FUNCTION',\r\n /**\r\n * Callback for wildcard download end of chunk.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CHUNK_END_FUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_CHUNK_END_FUNCTION.html)\r\n */\r\n chunkEndFunction: 'CHUNK_END_FUNCTION',\r\n /**\r\n * Only connect, nothing else.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CONNECT_ONLY.html](https://curl.haxx.se/libcurl/c/CURLOPT_CONNECT_ONLY.html)\r\n */\r\n connectOnly: 'CONNECT_ONLY',\r\n /**\r\n * Connect to a specific host and port.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CONNECT_TO.html](https://curl.haxx.se/libcurl/c/CURLOPT_CONNECT_TO.html)\r\n */\r\n connectTo: 'CONNECT_TO',\r\n /**\r\n * Timeout for the connection phase.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CONNECTTIMEOUT.html](https://curl.haxx.se/libcurl/c/CURLOPT_CONNECTTIMEOUT.html)\r\n */\r\n connectTimeout: 'CONNECTTIMEOUT',\r\n /**\r\n * Millisecond timeout for the connection phase.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CONNECTTIMEOUT_MS.html](https://curl.haxx.se/libcurl/c/CURLOPT_CONNECTTIMEOUT_MS.html)\r\n */\r\n connectTimeoutMs: 'CONNECTTIMEOUT_MS',\r\n /**\r\n * Cookie(s) to send.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_COOKIE.html](https://curl.haxx.se/libcurl/c/CURLOPT_COOKIE.html)\r\n */\r\n cookie: 'COOKIE',\r\n /**\r\n * File to read cookies from.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_COOKIEFILE.html](https://curl.haxx.se/libcurl/c/CURLOPT_COOKIEFILE.html)\r\n */\r\n cookieFile: 'COOKIEFILE',\r\n /**\r\n * File to write cookies to.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_COOKIEJAR.html](https://curl.haxx.se/libcurl/c/CURLOPT_COOKIEJAR.html)\r\n */\r\n cookieJar: 'COOKIEJAR',\r\n /**\r\n * Add or control cookies.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_COOKIELIST.html](https://curl.haxx.se/libcurl/c/CURLOPT_COOKIELIST.html)\r\n */\r\n cookieList: 'COOKIELIST',\r\n /**\r\n * Start a new cookie session.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_COOKIESESSION.html](https://curl.haxx.se/libcurl/c/CURLOPT_COOKIESESSION.html)\r\n */\r\n cookieSession: 'COOKIESESSION',\r\n /**\r\n * Convert newlines.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CRLF.html](https://curl.haxx.se/libcurl/c/CURLOPT_CRLF.html)\r\n */\r\n crlf: 'CRLF',\r\n /**\r\n * Certificate Revocation List.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CRLFILE.html](https://curl.haxx.se/libcurl/c/CURLOPT_CRLFILE.html)\r\n */\r\n crlFile: 'CRLFILE',\r\n /**\r\n * Custom request/method.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_CUSTOMREQUEST.html](https://curl.haxx.se/libcurl/c/CURLOPT_CUSTOMREQUEST.html)\r\n */\r\n customRequest: 'CUSTOMREQUEST',\r\n /**\r\n * Callback for debug information.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DEBUGFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_DEBUGFUNCTION.html)\r\n */\r\n debugFunction: 'DEBUGFUNCTION',\r\n /**\r\n * Default protocol.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DEFAULT_PROTOCOL.html](https://curl.haxx.se/libcurl/c/CURLOPT_DEFAULT_PROTOCOL.html)\r\n */\r\n defaultProtocol: 'DEFAULT_PROTOCOL',\r\n /**\r\n * List only.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DIRLISTONLY.html](https://curl.haxx.se/libcurl/c/CURLOPT_DIRLISTONLY.html)\r\n */\r\n dirListOnly: 'DIRLISTONLY',\r\n /**\r\n * Don't allow username in URL.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DISALLOW_USERNAME_IN_URL.html](https://curl.haxx.se/libcurl/c/CURLOPT_DISALLOW_USERNAME_IN_URL.html)\r\n */\r\n disallowUsernameInUrl: 'DISALLOW_USERNAME_IN_URL',\r\n /**\r\n * Timeout for DNS cache.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DNS_CACHE_TIMEOUT.html](https://curl.haxx.se/libcurl/c/CURLOPT_DNS_CACHE_TIMEOUT.html)\r\n */\r\n dnsCacheTimeout: 'DNS_CACHE_TIMEOUT',\r\n /**\r\n * Bind name resolves to this interface.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DNS_INTERFACE.html](https://curl.haxx.se/libcurl/c/CURLOPT_DNS_INTERFACE.html)\r\n */\r\n dnsInterface: 'DNS_INTERFACE',\r\n /**\r\n * Bind name resolves to this IP4 address.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DNS_LOCAL_IP4.html](https://curl.haxx.se/libcurl/c/CURLOPT_DNS_LOCAL_IP4.html)\r\n */\r\n dnsLocalIp4: 'DNS_LOCAL_IP4',\r\n /**\r\n * Bind name resolves to this IP6 address.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DNS_LOCAL_IP6.html](https://curl.haxx.se/libcurl/c/CURLOPT_DNS_LOCAL_IP6.html)\r\n */\r\n dnsLocalIp6: 'DNS_LOCAL_IP6',\r\n /**\r\n * Preferred DNS servers.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DNS_SERVERS.html](https://curl.haxx.se/libcurl/c/CURLOPT_DNS_SERVERS.html)\r\n */\r\n dnsServers: 'DNS_SERVERS',\r\n /**\r\n * Shuffle addresses before use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DNS_SHUFFLE_ADDRESSES.html](https://curl.haxx.se/libcurl/c/CURLOPT_DNS_SHUFFLE_ADDRESSES.html)\r\n */\r\n dnsShuffleAddresses: 'DNS_SHUFFLE_ADDRESSES',\r\n /**\r\n * OBSOLETE Enable global DNS cache.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DNS_USE_GLOBAL_CACHE.html](https://curl.haxx.se/libcurl/c/CURLOPT_DNS_USE_GLOBAL_CACHE.html)\r\n */\r\n dnsUseGlobalCache: 'DNS_USE_GLOBAL_CACHE',\r\n /**\r\n * Use this DOH server for name resolves.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_DOH_URL.html](https://curl.haxx.se/libcurl/c/CURLOPT_DOH_URL.html)\r\n */\r\n dohUrl: 'DOH_URL',\r\n /**\r\n * Identify EGD socket for entropy.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_EGDSOCKET.html](https://curl.haxx.se/libcurl/c/CURLOPT_EGDSOCKET.html)\r\n */\r\n egdSocket: 'EGDSOCKET',\r\n /**\r\n * 100-continue timeout.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_EXPECT_100_TIMEOUT_MS.html](https://curl.haxx.se/libcurl/c/CURLOPT_EXPECT_100_TIMEOUT_MS.html)\r\n */\r\n expect100TimeoutMs: 'EXPECT_100_TIMEOUT_MS',\r\n /**\r\n * Fail on HTTP 4xx errors.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FAILONERROR.html](https://curl.haxx.se/libcurl/c/CURLOPT_FAILONERROR.html)\r\n */\r\n failOnError: 'FAILONERROR',\r\n /**\r\n * Request file modification date and time.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FILETIME.html](https://curl.haxx.se/libcurl/c/CURLOPT_FILETIME.html)\r\n */\r\n fileTime: 'FILETIME',\r\n /**\r\n * Callback for wildcard matching.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FNMATCH_FUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_FNMATCH_FUNCTION.html)\r\n */\r\n fnMatchFunction: 'FNMATCH_FUNCTION',\r\n /**\r\n * Follow HTTP redirects.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FOLLOWLOCATION.html](https://curl.haxx.se/libcurl/c/CURLOPT_FOLLOWLOCATION.html)\r\n */\r\n followLocation: 'FOLLOWLOCATION',\r\n /**\r\n * Prevent subsequent connections from re-using this.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FORBID_REUSE.html](https://curl.haxx.se/libcurl/c/CURLOPT_FORBID_REUSE.html)\r\n */\r\n forbIdReuse: 'FORBID_REUSE',\r\n /**\r\n * Use a new connection.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FRESH_CONNECT.html](https://curl.haxx.se/libcurl/c/CURLOPT_FRESH_CONNECT.html)\r\n */\r\n freshConnect: 'FRESH_CONNECT',\r\n /**\r\n * Send ACCT command.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_ACCOUNT.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_ACCOUNT.html)\r\n */\r\n ftpAccount: 'FTP_ACCOUNT',\r\n /**\r\n * Alternative to USER.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_ALTERNATIVE_TO_USER.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_ALTERNATIVE_TO_USER.html)\r\n */\r\n ftpAlternativeToUser: 'FTP_ALTERNATIVE_TO_USER',\r\n /**\r\n * Create missing directories on the remote server.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_CREATE_MISSING_DIRS.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_CREATE_MISSING_DIRS.html)\r\n */\r\n ftpCreateMissingDirs: 'FTP_CREATE_MISSING_DIRS',\r\n /**\r\n * Specify how to reach files.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_FILEMETHOD.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_FILEMETHOD.html)\r\n */\r\n ftpFileMethod: 'FTP_FILEMETHOD',\r\n /**\r\n * Timeout for FTP responses.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_RESPONSE_TIMEOUT.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_RESPONSE_TIMEOUT.html)\r\n */\r\n ftpResponseTimeout: 'FTP_RESPONSE_TIMEOUT',\r\n /**\r\n * Ignore the IP address in the PASV response.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_SKIP_PASV_IP.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_SKIP_PASV_IP.html)\r\n */\r\n ftpSkipPasvIp: 'FTP_SKIP_PASV_IP',\r\n /**\r\n * Back to non-TLS again after authentication.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_SSL_CCC.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_SSL_CCC.html)\r\n */\r\n ftpSslCcc: 'FTP_SSL_CCC',\r\n /**\r\n * Use EPTR.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_USE_EPRT.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_USE_EPRT.html)\r\n */\r\n ftpUseEprt: 'FTP_USE_EPRT',\r\n /**\r\n * Use EPSV.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_USE_EPSV.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_USE_EPSV.html)\r\n */\r\n ftpUseEpsv: 'FTP_USE_EPSV',\r\n /**\r\n * Use PRET.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTP_USE_PRET.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTP_USE_PRET.html)\r\n */\r\n ftpUsePret: 'FTP_USE_PRET',\r\n /**\r\n * Use active FTP.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTPPORT.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTPPORT.html)\r\n */\r\n ftpPort: 'FTPPORT',\r\n /**\r\n * Control how to do TLS.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_FTPSSLAUTH.html](https://curl.haxx.se/libcurl/c/CURLOPT_FTPSSLAUTH.html)\r\n */\r\n ftpSslAuth: 'FTPSSLAUTH',\r\n /**\r\n * Disable GSS-API delegation.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_GSSAPI_DELEGATION.html](https://curl.haxx.se/libcurl/c/CURLOPT_GSSAPI_DELEGATION.html)\r\n */\r\n gssapiDelegation: 'GSSAPI_DELEGATION',\r\n /**\r\n * Timeout for happy eyeballs.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.html](https://curl.haxx.se/libcurl/c/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.html)\r\n */\r\n happyEyeballsTimeoutMs: 'HAPPY_EYEBALLS_TIMEOUT_MS',\r\n /**\r\n * Send an HAProxy PROXY protocol v1 header.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HAPROXYPROTOCOL.html](https://curl.haxx.se/libcurl/c/CURLOPT_HAPROXYPROTOCOL.html)\r\n */\r\n haProxyProtocol: 'HAPROXYPROTOCOL',\r\n /**\r\n * Include the header in the body output.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HEADER.html](https://curl.haxx.se/libcurl/c/CURLOPT_HEADER.html)\r\n */\r\n header: 'HEADER',\r\n /**\r\n * Callback for writing received headers.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HEADERFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_HEADERFUNCTION.html)\r\n */\r\n headerFunction: 'HEADERFUNCTION',\r\n /**\r\n * Control custom headers.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HEADEROPT.html](https://curl.haxx.se/libcurl/c/CURLOPT_HEADEROPT.html)\r\n */\r\n headerOpt: 'HEADEROPT',\r\n /**\r\n * Disable Content decoding.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTP_CONTENT_DECODING.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTP_CONTENT_DECODING.html)\r\n */\r\n httpContentDecoding: 'HTTP_CONTENT_DECODING',\r\n /**\r\n * Disable Transfer decoding.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTP_TRANSFER_DECODING.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTP_TRANSFER_DECODING.html)\r\n */\r\n httpTransferDecoding: 'HTTP_TRANSFER_DECODING',\r\n /**\r\n * HTTP version to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTP_VERSION.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTP_VERSION.html)\r\n */\r\n httpVersion: 'HTTP_VERSION',\r\n /**\r\n * Allow HTTP/0.9 responses.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTP09_ALLOWED.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTP09_ALLOWED.html)\r\n */\r\n http09Allowed: 'HTTP09_ALLOWED',\r\n /**\r\n * Alternative versions of 200 OK.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTP200ALIASES.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTP200ALIASES.html)\r\n */\r\n http200aliases: 'HTTP200ALIASES',\r\n /**\r\n * HTTP server authentication methods.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTPAUTH.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTPAUTH.html)\r\n */\r\n httpAuth: 'HTTPAUTH',\r\n /**\r\n * Do an HTTP GET request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTPGET.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTPGET.html)\r\n */\r\n httpGet: 'HTTPGET',\r\n /**\r\n * Custom HTTP headers.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTPHEADER.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTPHEADER.html)\r\n */\r\n httpHeader: 'HTTPHEADER',\r\n /**\r\n * Multipart formpost HTTP POST.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTPPOST.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTPPOST.html)\r\n */\r\n httpPost: 'HTTPPOST',\r\n /**\r\n * Tunnel through the HTTP proxy.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_HTTPPROXYTUNNEL.html](https://curl.haxx.se/libcurl/c/CURLOPT_HTTPPROXYTUNNEL.html)\r\n */\r\n httpProxyTunnel: 'HTTPPROXYTUNNEL',\r\n /**\r\n * Ignore Content-Length.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_IGNORE_CONTENT_LENGTH.html](https://curl.haxx.se/libcurl/c/CURLOPT_IGNORE_CONTENT_LENGTH.html)\r\n */\r\n ignoreContentLength: 'IGNORE_CONTENT_LENGTH',\r\n /**\r\n * Size of file to send.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_INFILESIZE.html](https://curl.haxx.se/libcurl/c/CURLOPT_INFILESIZE.html)\r\n */\r\n inFileSize: 'INFILESIZE',\r\n /**\r\n * Size of file to send.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_INFILESIZE_LARGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_INFILESIZE_LARGE.html)\r\n */\r\n inFileSizeLarge: 'INFILESIZE_LARGE',\r\n /**\r\n * Bind connection locally to this.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_INTERFACE.html](https://curl.haxx.se/libcurl/c/CURLOPT_INTERFACE.html)\r\n */\r\n interface: 'INTERFACE',\r\n /**\r\n * IP version to resolve to.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_IPRESOLVE.html](https://curl.haxx.se/libcurl/c/CURLOPT_IPRESOLVE.html)\r\n */\r\n ipResolve: 'IPRESOLVE',\r\n /**\r\n * Issuer certificate.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_ISSUERCERT.html](https://curl.haxx.se/libcurl/c/CURLOPT_ISSUERCERT.html)\r\n */\r\n issuerCert: 'ISSUERCERT',\r\n /**\r\n * Keep sending on HTTP \\>= 300 errors.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_KEEP_SENDING_ON_ERROR.html](https://curl.haxx.se/libcurl/c/CURLOPT_KEEP_SENDING_ON_ERROR.html)\r\n */\r\n keepSendingOnError: 'KEEP_SENDING_ON_ERROR',\r\n /**\r\n * Client key password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_KEYPASSWD.html](https://curl.haxx.se/libcurl/c/CURLOPT_KEYPASSWD.html)\r\n */\r\n keyPasswd: 'KEYPASSWD',\r\n /**\r\n * Kerberos security level.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_KRBLEVEL.html](https://curl.haxx.se/libcurl/c/CURLOPT_KRBLEVEL.html)\r\n */\r\n krbLevel: 'KRBLEVEL',\r\n /**\r\n * Bind connection locally to this port.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_LOCALPORT.html](https://curl.haxx.se/libcurl/c/CURLOPT_LOCALPORT.html)\r\n */\r\n localPort: 'LOCALPORT',\r\n /**\r\n * Bind connection locally to port range.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_LOCALPORTRANGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_LOCALPORTRANGE.html)\r\n */\r\n localPortRange: 'LOCALPORTRANGE',\r\n /**\r\n * Login options.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_LOGIN_OPTIONS.html](https://curl.haxx.se/libcurl/c/CURLOPT_LOGIN_OPTIONS.html)\r\n */\r\n loginOptions: 'LOGIN_OPTIONS',\r\n /**\r\n * Low speed limit to abort transfer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_LOW_SPEED_LIMIT.html](https://curl.haxx.se/libcurl/c/CURLOPT_LOW_SPEED_LIMIT.html)\r\n */\r\n lowSpeedLimit: 'LOW_SPEED_LIMIT',\r\n /**\r\n * Time to be below the speed to trigger low speed abort.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_LOW_SPEED_TIME.html](https://curl.haxx.se/libcurl/c/CURLOPT_LOW_SPEED_TIME.html)\r\n */\r\n lowSpeedTime: 'LOW_SPEED_TIME',\r\n /**\r\n * Authentication address.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_AUTH.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_AUTH.html)\r\n */\r\n mailAuth: 'MAIL_AUTH',\r\n /**\r\n * Address of the sender.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_FROM.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_FROM.html)\r\n */\r\n mailFrom: 'MAIL_FROM',\r\n /**\r\n * Address of the recipients.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_RCPT.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_RCPT.html)\r\n */\r\n mailRcpt: 'MAIL_RCPT',\r\n /**\r\n * Allow RCPT TO command to fail for some recipients.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_RCPT_ALLLOWFAILS.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAIL_RCPT_ALLLOWFAILS.html)\r\n */\r\n mailRcptAlllowfails: 'MAIL_RCPT_ALLLOWFAILS',\r\n /**\r\n * Cap the download speed to this.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAX_RECV_SPEED_LARGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAX_RECV_SPEED_LARGE.html)\r\n */\r\n maxRecvSpeedLarge: 'MAX_RECV_SPEED_LARGE',\r\n /**\r\n * Cap the upload speed to this.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAX_SEND_SPEED_LARGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAX_SEND_SPEED_LARGE.html)\r\n */\r\n maxSendSpeedLarge: 'MAX_SEND_SPEED_LARGE',\r\n /**\r\n * Limit the age of connections for reuse.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAXAGE_CONN.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAXAGE_CONN.html)\r\n */\r\n maxAgeConn: 'MAXAGE_CONN',\r\n /**\r\n * Maximum number of connections in the connection pool.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAXCONNECTS.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAXCONNECTS.html)\r\n */\r\n maxConnects: 'MAXCONNECTS',\r\n /**\r\n * Maximum file size to get.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAXFILESIZE.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAXFILESIZE.html)\r\n */\r\n maxFileSize: 'MAXFILESIZE',\r\n /**\r\n * Maximum file size to get.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAXFILESIZE_LARGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAXFILESIZE_LARGE.html)\r\n */\r\n maxFileSizeLarge: 'MAXFILESIZE_LARGE',\r\n /**\r\n * Maximum number of redirects to follow.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MAXREDIRS.html](https://curl.haxx.se/libcurl/c/CURLOPT_MAXREDIRS.html)\r\n */\r\n maxRedirs: 'MAXREDIRS',\r\n /**\r\n * Post/send MIME data.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_MIMEPOST.html](https://curl.haxx.se/libcurl/c/CURLOPT_MIMEPOST.html)\r\n */\r\n mimePost: 'MIMEPOST',\r\n /**\r\n * Enable .netrc parsing.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NETRC.html](https://curl.haxx.se/libcurl/c/CURLOPT_NETRC.html)\r\n */\r\n netrc: 'NETRC',\r\n /**\r\n * .netrc file name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NETRC_FILE.html](https://curl.haxx.se/libcurl/c/CURLOPT_NETRC_FILE.html)\r\n */\r\n netrcFile: 'NETRC_FILE',\r\n /**\r\n * Mode for creating new remote directories.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NEW_DIRECTORY_PERMS.html](https://curl.haxx.se/libcurl/c/CURLOPT_NEW_DIRECTORY_PERMS.html)\r\n */\r\n newDirectoryPerms: 'NEW_DIRECTORY_PERMS',\r\n /**\r\n * Mode for creating new remote files.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NEW_FILE_PERMS.html](https://curl.haxx.se/libcurl/c/CURLOPT_NEW_FILE_PERMS.html)\r\n */\r\n newFilePerms: 'NEW_FILE_PERMS',\r\n /**\r\n * Do not get the body contents.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NOBODY.html](https://curl.haxx.se/libcurl/c/CURLOPT_NOBODY.html)\r\n */\r\n nobody: 'NOBODY',\r\n /**\r\n * Shut off the progress meter.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NOPROGRESS.html](https://curl.haxx.se/libcurl/c/CURLOPT_NOPROGRESS.html)\r\n */\r\n noProgress: 'NOPROGRESS',\r\n /**\r\n * Filter out hosts from proxy use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NOPROXY.html](https://curl.haxx.se/libcurl/c/CURLOPT_NOPROXY.html)\r\n */\r\n noProxy: 'NOPROXY',\r\n /**\r\n * Do not install signal handlers.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_NOSIGNAL.html](https://curl.haxx.se/libcurl/c/CURLOPT_NOSIGNAL.html)\r\n */\r\n noSignal: 'NOSIGNAL',\r\n /**\r\n * Password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PASSWORD.html](https://curl.haxx.se/libcurl/c/CURLOPT_PASSWORD.html)\r\n */\r\n password: 'PASSWORD',\r\n /**\r\n * Disable squashing /../ and /./ sequences in the path.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PATH_AS_IS.html](https://curl.haxx.se/libcurl/c/CURLOPT_PATH_AS_IS.html)\r\n */\r\n pathAsIs: 'PATH_AS_IS',\r\n /**\r\n * Set pinned SSL public key .\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PINNEDPUBLICKEY.html](https://curl.haxx.se/libcurl/c/CURLOPT_PINNEDPUBLICKEY.html)\r\n */\r\n pinnedPublicKey: 'PINNEDPUBLICKEY',\r\n /**\r\n * Wait on connection to pipeline on it.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PIPEWAIT.html](https://curl.haxx.se/libcurl/c/CURLOPT_PIPEWAIT.html)\r\n */\r\n pipeWait: 'PIPEWAIT',\r\n /**\r\n * Port number to connect to.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PORT.html](https://curl.haxx.se/libcurl/c/CURLOPT_PORT.html)\r\n */\r\n port: 'PORT',\r\n /**\r\n * Issue an HTTP POST request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_POST.html](https://curl.haxx.se/libcurl/c/CURLOPT_POST.html)\r\n */\r\n post: 'POST',\r\n /**\r\n * Send a POST with this data.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_POSTFIELDS.html](https://curl.haxx.se/libcurl/c/CURLOPT_POSTFIELDS.html)\r\n */\r\n postFields: 'POSTFIELDS',\r\n /**\r\n * The POST data is this big.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_POSTFIELDSIZE.html](https://curl.haxx.se/libcurl/c/CURLOPT_POSTFIELDSIZE.html)\r\n */\r\n postFieldSize: 'POSTFIELDSIZE',\r\n /**\r\n * The POST data is this big.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_POSTFIELDSIZE_LARGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_POSTFIELDSIZE_LARGE.html)\r\n */\r\n postFieldSizeLarge: 'POSTFIELDSIZE_LARGE',\r\n /**\r\n * Commands to run after transfer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_POSTQUOTE.html](https://curl.haxx.se/libcurl/c/CURLOPT_POSTQUOTE.html)\r\n */\r\n postQuote: 'POSTQUOTE',\r\n /**\r\n * How to act on redirects after POST.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_POSTREDIR.html](https://curl.haxx.se/libcurl/c/CURLOPT_POSTREDIR.html)\r\n */\r\n postRedir: 'POSTREDIR',\r\n /**\r\n * Socks proxy to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PRE_PROXY.html](https://curl.haxx.se/libcurl/c/CURLOPT_PRE_PROXY.html)\r\n */\r\n preProxy: 'PRE_PROXY',\r\n /**\r\n * Commands to run just before transfer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PREQUOTE.html](https://curl.haxx.se/libcurl/c/CURLOPT_PREQUOTE.html)\r\n */\r\n preQuote: 'PREQUOTE',\r\n /**\r\n * OBSOLETE callback for progress meter.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROGRESSFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROGRESSFUNCTION.html)\r\n */\r\n progressFunction: 'PROGRESSFUNCTION',\r\n /**\r\n * Allowed protocols.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROTOCOLS.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROTOCOLS.html)\r\n */\r\n protocols: 'PROTOCOLS',\r\n /**\r\n * Proxy to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY.html)\r\n */\r\n proxy: 'PROXY',\r\n /**\r\n * Proxy CA cert bundle.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CAINFO.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CAINFO.html)\r\n */\r\n proxyCaInfo: 'PROXY_CAINFO',\r\n /**\r\n * Path to proxy CA cert bundle.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CAPATH.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CAPATH.html)\r\n */\r\n proxyCaPath: 'PROXY_CAPATH',\r\n /**\r\n * Proxy Certificate Revocation List.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CRLFILE.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_CRLFILE.html)\r\n */\r\n proxyCrlFile: 'PROXY_CRLFILE',\r\n /**\r\n * Proxy issuer certificate.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_ISSUERCERT.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_ISSUERCERT.html)\r\n */\r\n proxyIssuerCert: 'PROXY_ISSUERCERT',\r\n /**\r\n * Proxy issuer certificate memory buffer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_ISSUERCERT_BLOB.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_ISSUERCERT_BLOB.html)\r\n */\r\n proxyIssuerCertBlob: 'PROXY_ISSUERCERT_BLOB',\r\n /**\r\n * Proxy client key password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_KEYPASSWD.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_KEYPASSWD.html)\r\n */\r\n proxyKeyPasswd: 'PROXY_KEYPASSWD',\r\n /**\r\n * Set the proxy's pinned SSL public key.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_PINNEDPUBLICKEY.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_PINNEDPUBLICKEY.html)\r\n */\r\n proxyPinnedPublicKey: 'PROXY_PINNEDPUBLICKEY',\r\n /**\r\n * Proxy authentication service name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SERVICE_NAME.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SERVICE_NAME.html)\r\n */\r\n proxyServiceName: 'PROXY_SERVICE_NAME',\r\n /**\r\n * Proxy ciphers to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_CIPHER_LIST.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_CIPHER_LIST.html)\r\n */\r\n proxySslCipherList: 'PROXY_SSL_CIPHER_LIST',\r\n /**\r\n * Control proxy SSL behavior.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_OPTIONS.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_OPTIONS.html)\r\n */\r\n proxySslOptions: 'PROXY_SSL_OPTIONS',\r\n /**\r\n * Verify the host name in the proxy SSL certificate.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_VERIFYHOST.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_VERIFYHOST.html)\r\n */\r\n proxySslVerifyHost: 'PROXY_SSL_VERIFYHOST',\r\n /**\r\n * Verify the proxy SSL certificate.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_VERIFYPEER.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSL_VERIFYPEER.html)\r\n */\r\n proxySslVerifyPeer: 'PROXY_SSL_VERIFYPEER',\r\n /**\r\n * Proxy client cert type.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLCERTTYPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLCERTTYPE.html)\r\n */\r\n proxySslCertType: 'PROXY_SSLCERTTYPE',\r\n /**\r\n * Proxy client key.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLKEY.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLKEY.html)\r\n */\r\n proxySslKey: 'PROXY_SSLKEY',\r\n /**\r\n * Proxy client key type.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLKEYTYPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLKEYTYPE.html)\r\n */\r\n proxySslKeyType: 'PROXY_SSLKEYTYPE',\r\n /**\r\n * Proxy SSL version to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLVERSION.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_SSLVERSION.html)\r\n */\r\n proxySslversion: 'PROXY_SSLVERSION',\r\n /**\r\n * Proxy TLS 1.3 cipher suites to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLS13_CIPHERS.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLS13_CIPHERS.html)\r\n */\r\n proxyTls13Ciphers: 'PROXY_TLS13_CIPHERS',\r\n /**\r\n * Proxy TLS authentication password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_PASSWORD.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_PASSWORD.html)\r\n */\r\n proxyTlsAuthPassword: 'PROXY_TLSAUTH_PASSWORD',\r\n /**\r\n * Proxy TLS authentication methods.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_TYPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_TYPE.html)\r\n */\r\n proxyTlsAuthType: 'PROXY_TLSAUTH_TYPE',\r\n /**\r\n * Proxy TLS authentication user name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_USERNAME.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TLSAUTH_USERNAME.html)\r\n */\r\n proxyTlsAuthUsername: 'PROXY_TLSAUTH_USERNAME',\r\n /**\r\n * Add transfer mode to URL over proxy.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TRANSFER_MODE.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXY_TRANSFER_MODE.html)\r\n */\r\n proxyTransferMode: 'PROXY_TRANSFER_MODE',\r\n /**\r\n * HTTP proxy authentication methods.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXYAUTH.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXYAUTH.html)\r\n */\r\n proxyAuth: 'PROXYAUTH',\r\n /**\r\n * Custom HTTP headers sent to proxy.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXYHEADER.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXYHEADER.html)\r\n */\r\n proxyHeader: 'PROXYHEADER',\r\n /**\r\n * Proxy password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXYPASSWORD.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXYPASSWORD.html)\r\n */\r\n proxyPassword: 'PROXYPASSWORD',\r\n /**\r\n * Proxy port to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXYPORT.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXYPORT.html)\r\n */\r\n proxyPort: 'PROXYPORT',\r\n /**\r\n * Proxy type.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXYTYPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXYTYPE.html)\r\n */\r\n proxyType: 'PROXYTYPE',\r\n /**\r\n * Proxy user name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXYUSERNAME.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXYUSERNAME.html)\r\n */\r\n proxyUsername: 'PROXYUSERNAME',\r\n /**\r\n * Proxy user name and password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PROXYUSERPWD.html](https://curl.haxx.se/libcurl/c/CURLOPT_PROXYUSERPWD.html)\r\n */\r\n proxyUserpwd: 'PROXYUSERPWD',\r\n /**\r\n * Issue an HTTP PUT request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_PUT.html](https://curl.haxx.se/libcurl/c/CURLOPT_PUT.html)\r\n */\r\n put: 'PUT',\r\n /**\r\n * Commands to run before transfer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_QUOTE.html](https://curl.haxx.se/libcurl/c/CURLOPT_QUOTE.html)\r\n */\r\n quote: 'QUOTE',\r\n /**\r\n * Provide source for entropy random data.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RANDOM_FILE.html](https://curl.haxx.se/libcurl/c/CURLOPT_RANDOM_FILE.html)\r\n */\r\n randomFile: 'RANDOM_FILE',\r\n /**\r\n * Range requests.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RANGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_RANGE.html)\r\n */\r\n range: 'RANGE',\r\n /**\r\n * Data pointer to pass to the read callback.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_READDATA.html](https://curl.haxx.se/libcurl/c/CURLOPT_READDATA.html)\r\n */\r\n readData: 'READDATA',\r\n /**\r\n * Callback for reading data.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_READFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_READFUNCTION.html)\r\n */\r\n readFunction: 'READFUNCTION',\r\n /**\r\n * Protocols to allow redirects to.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_REDIR_PROTOCOLS.html](https://curl.haxx.se/libcurl/c/CURLOPT_REDIR_PROTOCOLS.html)\r\n */\r\n redirProtocols: 'REDIR_PROTOCOLS',\r\n /**\r\n * Referer: header.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_REFERER.html](https://curl.haxx.se/libcurl/c/CURLOPT_REFERER.html)\r\n */\r\n referer: 'REFERER',\r\n /**\r\n * Set the request target.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_REQUEST_TARGET.html](https://curl.haxx.se/libcurl/c/CURLOPT_REQUEST_TARGET.html)\r\n */\r\n requestTarget: 'REQUEST_TARGET',\r\n /**\r\n * Provide fixed/fake name resolves.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RESOLVE.html](https://curl.haxx.se/libcurl/c/CURLOPT_RESOLVE.html)\r\n */\r\n resolve: 'RESOLVE',\r\n /**\r\n * Resume a transfer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RESUME_FROM.html](https://curl.haxx.se/libcurl/c/CURLOPT_RESUME_FROM.html)\r\n */\r\n resumeFrom: 'RESUME_FROM',\r\n /**\r\n * Resume a transfer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RESUME_FROM_LARGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_RESUME_FROM_LARGE.html)\r\n */\r\n resumeFromLarge: 'RESUME_FROM_LARGE',\r\n /**\r\n * Client CSEQ number.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_CLIENT_CSEQ.html](https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_CLIENT_CSEQ.html)\r\n */\r\n rtspClientCseq: 'RTSP_CLIENT_CSEQ',\r\n /**\r\n * RTSP request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_REQUEST.html](https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_REQUEST.html)\r\n */\r\n rtspRequest: 'RTSP_REQUEST',\r\n /**\r\n * CSEQ number for RTSP Server-\\>Client request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_SERVER_CSEQ.html](https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_SERVER_CSEQ.html)\r\n */\r\n rtspServerCseq: 'RTSP_SERVER_CSEQ',\r\n /**\r\n * RTSP session-id.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_SESSION_ID.html](https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_SESSION_ID.html)\r\n */\r\n rtspSessionId: 'RTSP_SESSION_ID',\r\n /**\r\n * RTSP stream URI.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_STREAM_URI.html](https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_STREAM_URI.html)\r\n */\r\n rtspStreamUri: 'RTSP_STREAM_URI',\r\n /**\r\n * RTSP Transport: header.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_TRANSPORT.html](https://curl.haxx.se/libcurl/c/CURLOPT_RTSP_TRANSPORT.html)\r\n */\r\n rtspTransPort: 'RTSP_TRANSPORT',\r\n /**\r\n * SASL authorisation identity (identity to act as).\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SASL_AUTHZID.html](https://curl.haxx.se/libcurl/c/CURLOPT_SASL_AUTHZID.html)\r\n */\r\n saslAuthzId: 'SASL_AUTHZID',\r\n /**\r\n * Enable SASL initial response.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SASL_IR.html](https://curl.haxx.se/libcurl/c/CURLOPT_SASL_IR.html)\r\n */\r\n saslIr: 'SASL_IR',\r\n /**\r\n * Callback for seek operations.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SEEKFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_SEEKFUNCTION.html)\r\n */\r\n seekFunction: 'SEEKFUNCTION',\r\n /**\r\n * Authentication service name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SERVICE_NAME.html](https://curl.haxx.se/libcurl/c/CURLOPT_SERVICE_NAME.html)\r\n */\r\n serviceName: 'SERVICE_NAME',\r\n /**\r\n * Share object to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SHARE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SHARE.html)\r\n */\r\n share: 'SHARE',\r\n /**\r\n * Socks5 authentication methods.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SOCKS5_AUTH.html](https://curl.haxx.se/libcurl/c/CURLOPT_SOCKS5_AUTH.html)\r\n */\r\n socks5Auth: 'SOCKS5_AUTH',\r\n /**\r\n * Socks5 GSSAPI NEC mode.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SOCKS5_GSSAPI_NEC.html](https://curl.haxx.se/libcurl/c/CURLOPT_SOCKS5_GSSAPI_NEC.html)\r\n */\r\n socks5GssapiNec: 'SOCKS5_GSSAPI_NEC',\r\n /**\r\n * Socks5 GSSAPI service name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SOCKS5_GSSAPI_SERVICE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SOCKS5_GSSAPI_SERVICE.html)\r\n */\r\n socks5GssapiService: 'SOCKS5_GSSAPI_SERVICE',\r\n /**\r\n * SSH authentication types.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSH_AUTH_TYPES.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSH_AUTH_TYPES.html)\r\n */\r\n sshAuthTypes: 'SSH_AUTH_TYPES',\r\n /**\r\n * Enable SSH compression.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSH_COMPRESSION.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSH_COMPRESSION.html)\r\n */\r\n sshCompression: 'SSH_COMPRESSION',\r\n /**\r\n * MD5 of host's public key.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html)\r\n */\r\n sshHostPublicKeyMd5: 'SSH_HOST_PUBLIC_KEY_MD5',\r\n /**\r\n * File name with known hosts.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSH_KNOWNHOSTS.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSH_KNOWNHOSTS.html)\r\n */\r\n sshKnownHosts: 'SSH_KNOWNHOSTS',\r\n /**\r\n * File name of private key.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSH_PRIVATE_KEYFILE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSH_PRIVATE_KEYFILE.html)\r\n */\r\n sshPrivateKeyFile: 'SSH_PRIVATE_KEYFILE',\r\n /**\r\n * File name of public key.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSH_PUBLIC_KEYFILE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSH_PUBLIC_KEYFILE.html)\r\n */\r\n sshPublicKeyFile: 'SSH_PUBLIC_KEYFILE',\r\n /**\r\n * Ciphers to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_CIPHER_LIST.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_CIPHER_LIST.html)\r\n */\r\n sslCipherList: 'SSL_CIPHER_LIST',\r\n /**\r\n * Set key exchange curves.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_EC_CURVES.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_EC_CURVES.html)\r\n */\r\n sslEcCurves: 'SSL_EC_CURVES',\r\n /**\r\n * Enable use of ALPN.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_ENABLE_ALPN.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_ENABLE_ALPN.html)\r\n */\r\n sslEnableAlpn: 'SSL_ENABLE_ALPN',\r\n /**\r\n * Enable use of NPN.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_ENABLE_NPN.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_ENABLE_NPN.html)\r\n */\r\n sslEnableNpn: 'SSL_ENABLE_NPN',\r\n /**\r\n * Enable TLS False Start.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_FALSESTART.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_FALSESTART.html)\r\n */\r\n sslFalsestart: 'SSL_FALSESTART',\r\n /**\r\n * Control SSL behavior.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_OPTIONS.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_OPTIONS.html)\r\n */\r\n sslOptions: 'SSL_OPTIONS',\r\n /**\r\n * Disable SSL session-id cache.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_SESSIONID_CACHE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_SESSIONID_CACHE.html)\r\n */\r\n sslSessionIdCache: 'SSL_SESSIONID_CACHE',\r\n /**\r\n * Verify the host name in the SSL certificate.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYHOST.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYHOST.html)\r\n */\r\n sslVerifyHost: 'SSL_VERIFYHOST',\r\n /**\r\n * Verify the SSL certificate.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html)\r\n */\r\n sslVerifyPeer: 'SSL_VERIFYPEER',\r\n /**\r\n * Verify the SSL certificate's status.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYSTATUS.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYSTATUS.html)\r\n */\r\n sslVerifyStatus: 'SSL_VERIFYSTATUS',\r\n /**\r\n * Client cert.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSLCERT.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSLCERT.html)\r\n */\r\n sslCert: 'SSLCERT',\r\n /**\r\n * Client cert type.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSLCERTTYPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSLCERTTYPE.html)\r\n */\r\n sslCertType: 'SSLCERTTYPE',\r\n /**\r\n * Use identifier with SSL engine.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSLENGINE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSLENGINE.html)\r\n */\r\n sslEngine: 'SSLENGINE',\r\n /**\r\n * Default SSL engine.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSLENGINE_DEFAULT.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSLENGINE_DEFAULT.html)\r\n */\r\n sslEngineDefault: 'SSLENGINE_DEFAULT',\r\n /**\r\n * Client key.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSLKEY.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSLKEY.html)\r\n */\r\n sslKey: 'SSLKEY',\r\n /**\r\n * Client key type.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSLKEYTYPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSLKEYTYPE.html)\r\n */\r\n sslKeyType: 'SSLKEYTYPE',\r\n /**\r\n * SSL version to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SSLVERSION.html](https://curl.haxx.se/libcurl/c/CURLOPT_SSLVERSION.html)\r\n */\r\n sslversion: 'SSLVERSION',\r\n /**\r\n * Suppress proxy CONNECT response headers from user callbacks.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_SUPPRESS_CONNECT_HEADERS.html](https://curl.haxx.se/libcurl/c/CURLOPT_SUPPRESS_CONNECT_HEADERS.html)\r\n */\r\n suppressConnectHeaders: 'SUPPRESS_CONNECT_HEADERS',\r\n /**\r\n * Enable TFO, TCP Fast Open.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TCP_FASTOPEN.html](https://curl.haxx.se/libcurl/c/CURLOPT_TCP_FASTOPEN.html)\r\n */\r\n tcpFastOpen: 'TCP_FASTOPEN',\r\n /**\r\n * Enable TCP keep-alive.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TCP_KEEPALIVE.html](https://curl.haxx.se/libcurl/c/CURLOPT_TCP_KEEPALIVE.html)\r\n */\r\n tcpKeepAlive: 'TCP_KEEPALIVE',\r\n /**\r\n * Idle time before sending keep-alive.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TCP_KEEPIDLE.html](https://curl.haxx.se/libcurl/c/CURLOPT_TCP_KEEPIDLE.html)\r\n */\r\n tcpKeepIdle: 'TCP_KEEPIDLE',\r\n /**\r\n * Interval between keep-alive probes.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TCP_KEEPINTVL.html](https://curl.haxx.se/libcurl/c/CURLOPT_TCP_KEEPINTVL.html)\r\n */\r\n tcpKeepIntvl: 'TCP_KEEPINTVL',\r\n /**\r\n * Disable the Nagle algorithm.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TCP_NODELAY.html](https://curl.haxx.se/libcurl/c/CURLOPT_TCP_NODELAY.html)\r\n */\r\n tcpNoDelay: 'TCP_NODELAY',\r\n /**\r\n * TELNET options.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TELNETOPTIONS.html](https://curl.haxx.se/libcurl/c/CURLOPT_TELNETOPTIONS.html)\r\n */\r\n telnetOptions: 'TELNETOPTIONS',\r\n /**\r\n * TFTP block size.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TFTP_BLKSIZE.html](https://curl.haxx.se/libcurl/c/CURLOPT_TFTP_BLKSIZE.html)\r\n */\r\n tftpBlkSize: 'TFTP_BLKSIZE',\r\n /**\r\n * Do not send TFTP options requests.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TFTP_NO_OPTIONS.html](https://curl.haxx.se/libcurl/c/CURLOPT_TFTP_NO_OPTIONS.html)\r\n */\r\n tftpNoOptions: 'TFTP_NO_OPTIONS',\r\n /**\r\n * Make a time conditional request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TIMECONDITION.html](https://curl.haxx.se/libcurl/c/CURLOPT_TIMECONDITION.html)\r\n */\r\n timeCondition: 'TIMECONDITION',\r\n /**\r\n * Timeout for the entire request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html](https://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html)\r\n */\r\n timeout: 'TIMEOUT',\r\n /**\r\n * Millisecond timeout for the entire request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT_MS.html](https://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT_MS.html)\r\n */\r\n timeoutMs: 'TIMEOUT_MS',\r\n /**\r\n * Time value for the time conditional request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TIMEVALUE.html](https://curl.haxx.se/libcurl/c/CURLOPT_TIMEVALUE.html)\r\n */\r\n timeValue: 'TIMEVALUE',\r\n /**\r\n * Time value for the time conditional request.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TIMEVALUE_LARGE.html](https://curl.haxx.se/libcurl/c/CURLOPT_TIMEVALUE_LARGE.html)\r\n */\r\n timeValueLarge: 'TIMEVALUE_LARGE',\r\n /**\r\n * TLS 1.3 cipher suites to use.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TLS13_CIPHERS.html](https://curl.haxx.se/libcurl/c/CURLOPT_TLS13_CIPHERS.html)\r\n */\r\n tls13Ciphers: 'TLS13_CIPHERS',\r\n /**\r\n * TLS authentication password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TLSAUTH_PASSWORD.html](https://curl.haxx.se/libcurl/c/CURLOPT_TLSAUTH_PASSWORD.html)\r\n */\r\n tlsAuthPassword: 'TLSAUTH_PASSWORD',\r\n /**\r\n * TLS authentication methods.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TLSAUTH_TYPE.html](https://curl.haxx.se/libcurl/c/CURLOPT_TLSAUTH_TYPE.html)\r\n */\r\n tlsAuthType: 'TLSAUTH_TYPE',\r\n /**\r\n * TLS authentication user name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TLSAUTH_USERNAME.html](https://curl.haxx.se/libcurl/c/CURLOPT_TLSAUTH_USERNAME.html)\r\n */\r\n tlsAuthUsername: 'TLSAUTH_USERNAME',\r\n /**\r\n * Set callback for sending trailing headers.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TRAILERFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_TRAILERFUNCTION.html)\r\n */\r\n trailerFunction: 'TRAILERFUNCTION',\r\n /**\r\n * Request Transfer-Encoding.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TRANSFER_ENCODING.html](https://curl.haxx.se/libcurl/c/CURLOPT_TRANSFER_ENCODING.html)\r\n */\r\n transferEncoding: 'TRANSFER_ENCODING',\r\n /**\r\n * Use text transfer.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_TRANSFERTEXT.html](https://curl.haxx.se/libcurl/c/CURLOPT_TRANSFERTEXT.html)\r\n */\r\n transferText: 'TRANSFERTEXT',\r\n /**\r\n * Path to a Unix domain socket.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_UNIX_SOCKET_PATH.html](https://curl.haxx.se/libcurl/c/CURLOPT_UNIX_SOCKET_PATH.html)\r\n */\r\n unixSocketPath: 'UNIX_SOCKET_PATH',\r\n /**\r\n * Do not restrict authentication to original host.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_UNRESTRICTED_AUTH.html](https://curl.haxx.se/libcurl/c/CURLOPT_UNRESTRICTED_AUTH.html)\r\n */\r\n unrestrictedAuth: 'UNRESTRICTED_AUTH',\r\n /**\r\n * Sets the interval at which connection upkeep are performed.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_UPKEEP_INTERVAL_MS.html](https://curl.haxx.se/libcurl/c/CURLOPT_UPKEEP_INTERVAL_MS.html)\r\n */\r\n upkeepIntervalMs: 'UPKEEP_INTERVAL_MS',\r\n /**\r\n * Upload data.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_UPLOAD.html](https://curl.haxx.se/libcurl/c/CURLOPT_UPLOAD.html)\r\n */\r\n upload: 'UPLOAD',\r\n /**\r\n * Set upload buffer size.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_UPLOAD_BUFFERSIZE.html](https://curl.haxx.se/libcurl/c/CURLOPT_UPLOAD_BUFFERSIZE.html)\r\n */\r\n uploadBufferSize: 'UPLOAD_BUFFERSIZE',\r\n /**\r\n * URL to work on.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_URL.html](https://curl.haxx.se/libcurl/c/CURLOPT_URL.html)\r\n */\r\n url: 'URL',\r\n /**\r\n * Use TLS/SSL.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_USE_SSL.html](https://curl.haxx.se/libcurl/c/CURLOPT_USE_SSL.html)\r\n */\r\n useSsl: 'USE_SSL',\r\n /**\r\n * User-Agent: header.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_USERAGENT.html](https://curl.haxx.se/libcurl/c/CURLOPT_USERAGENT.html)\r\n */\r\n userAgent: 'USERAGENT',\r\n /**\r\n * User name.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_USERNAME.html](https://curl.haxx.se/libcurl/c/CURLOPT_USERNAME.html)\r\n */\r\n username: 'USERNAME',\r\n /**\r\n * User name and password.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_USERPWD.html](https://curl.haxx.se/libcurl/c/CURLOPT_USERPWD.html)\r\n */\r\n userpwd: 'USERPWD',\r\n /**\r\n * Display verbose information.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_VERBOSE.html](https://curl.haxx.se/libcurl/c/CURLOPT_VERBOSE.html)\r\n */\r\n verbose: 'VERBOSE',\r\n /**\r\n * Transfer multiple files according to a file name pattern.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_WILDCARDMATCH.html](https://curl.haxx.se/libcurl/c/CURLOPT_WILDCARDMATCH.html)\r\n */\r\n wildcardMatch: 'WILDCARDMATCH',\r\n /**\r\n * Callback for writing data.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_WRITEFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_WRITEFUNCTION.html)\r\n */\r\n writeFunction: 'WRITEFUNCTION',\r\n /**\r\n * Callback for progress meter.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_XFERINFOFUNCTION.html](https://curl.haxx.se/libcurl/c/CURLOPT_XFERINFOFUNCTION.html)\r\n */\r\n xferInfoFunction: 'XFERINFOFUNCTION',\r\n /**\r\n * OAuth2 bearer token.\r\n *\r\n * Official libcurl documentation: : [https://curl.haxx.se/libcurl/c/CURLOPT_XOAUTH2_BEARER.html](https://curl.haxx.se/libcurl/c/CURLOPT_XOAUTH2_BEARER.html)\r\n */\r\n xoauth2Bearer: 'XOAUTH2_BEARER',\r\n};\r\n//# sourceMappingURL=CurlOption.js.map","var fs = require('fs');\nvar path = require('path');\nvar common = require('./common');\n\ncommon.register('ln', _ln, {\n cmdOptions: {\n 's': 'symlink',\n 'f': 'force',\n },\n});\n\n//@\n//@ ### ln([options,] source, dest)\n//@\n//@ Available options:\n//@\n//@ + `-s`: symlink\n//@ + `-f`: force\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ ln('file', 'newlink');\n//@ ln('-sf', 'file', 'existing');\n//@ ```\n//@\n//@ Links `source` to `dest`. Use `-f` to force the link, should `dest` already exist.\nfunction _ln(options, source, dest) {\n if (!source || !dest) {\n common.error('Missing and/or ');\n }\n\n source = String(source);\n var sourcePath = path.normalize(source).replace(RegExp(path.sep + '$'), '');\n var isAbsolute = (path.resolve(source) === sourcePath);\n dest = path.resolve(process.cwd(), String(dest));\n\n if (fs.existsSync(dest)) {\n if (!options.force) {\n common.error('Destination file exists', { continue: true });\n }\n\n fs.unlinkSync(dest);\n }\n\n if (options.symlink) {\n var isWindows = process.platform === 'win32';\n var linkType = isWindows ? 'file' : null;\n var resolvedSourcePath = isAbsolute ? sourcePath : path.resolve(process.cwd(), path.dirname(dest), source);\n if (!fs.existsSync(resolvedSourcePath)) {\n common.error('Source file does not exist', { continue: true });\n } else if (isWindows && common.statFollowLinks(resolvedSourcePath).isDirectory()) {\n linkType = 'junction';\n }\n\n try {\n fs.symlinkSync(linkType === 'junction' ? resolvedSourcePath : source, dest, linkType);\n } catch (err) {\n common.error(err.message);\n }\n } else {\n if (!fs.existsSync(source)) {\n common.error('Source file does not exist', { continue: true });\n }\n try {\n fs.linkSync(source, dest);\n } catch (err) {\n common.error(err.message);\n }\n }\n return '';\n}\nmodule.exports = _ln;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlFtpSsl = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534/include/curl/curl.h#L846\r\n/**\r\n * Object with constants for option `FTP_SSL_CCC`\r\n *\r\n * `CURLFTPSSL_CCC_NONE` becomes `CurlFtpSsl.CccNone`\r\n *\r\n * @public\r\n */\r\nvar CurlFtpSsl;\r\n(function (CurlFtpSsl) {\r\n /**\r\n * do not send CCC\r\n */\r\n CurlFtpSsl[CurlFtpSsl[\"CccNone\"] = 0] = \"CccNone\";\r\n /**\r\n * Let the server initiate the shutdown\r\n */\r\n CurlFtpSsl[CurlFtpSsl[\"CccPassive\"] = 1] = \"CccPassive\";\r\n /**\r\n * Initiate the shutdown\r\n */\r\n CurlFtpSsl[CurlFtpSsl[\"CccActive\"] = 2] = \"CccActive\";\r\n})(CurlFtpSsl = exports.CurlFtpSsl || (exports.CurlFtpSsl = {}));\r\n//# sourceMappingURL=CurlFtpSsl.js.map","var common = require('./common');\nvar _cd = require('./cd');\nvar path = require('path');\n\ncommon.register('dirs', _dirs, {\n wrapOutput: false,\n});\ncommon.register('pushd', _pushd, {\n wrapOutput: false,\n});\ncommon.register('popd', _popd, {\n wrapOutput: false,\n});\n\n// Pushd/popd/dirs internals\nvar _dirStack = [];\n\nfunction _isStackIndex(index) {\n return (/^[\\-+]\\d+$/).test(index);\n}\n\nfunction _parseStackIndex(index) {\n if (_isStackIndex(index)) {\n if (Math.abs(index) < _dirStack.length + 1) { // +1 for pwd\n return (/^-/).test(index) ? Number(index) - 1 : Number(index);\n }\n common.error(index + ': directory stack index out of range');\n } else {\n common.error(index + ': invalid number');\n }\n}\n\nfunction _actualDirStack() {\n return [process.cwd()].concat(_dirStack);\n}\n\n//@\n//@ ### pushd([options,] [dir | '-N' | '+N'])\n//@\n//@ Available options:\n//@\n//@ + `-n`: Suppresses the normal change of directory when adding directories to the stack, so that only the stack is manipulated.\n//@ + `-q`: Supresses output to the console.\n//@\n//@ Arguments:\n//@\n//@ + `dir`: Sets the current working directory to the top of the stack, then executes the equivalent of `cd dir`.\n//@ + `+N`: Brings the Nth directory (counting from the left of the list printed by dirs, starting with zero) to the top of the list by rotating the stack.\n//@ + `-N`: Brings the Nth directory (counting from the right of the list printed by dirs, starting with zero) to the top of the list by rotating the stack.\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ // process.cwd() === '/usr'\n//@ pushd('/etc'); // Returns /etc /usr\n//@ pushd('+1'); // Returns /usr /etc\n//@ ```\n//@\n//@ Save the current directory on the top of the directory stack and then `cd` to `dir`. With no arguments, `pushd` exchanges the top two directories. Returns an array of paths in the stack.\nfunction _pushd(options, dir) {\n if (_isStackIndex(options)) {\n dir = options;\n options = '';\n }\n\n options = common.parseOptions(options, {\n 'n': 'no-cd',\n 'q': 'quiet',\n });\n\n var dirs = _actualDirStack();\n\n if (dir === '+0') {\n return dirs; // +0 is a noop\n } else if (!dir) {\n if (dirs.length > 1) {\n dirs = dirs.splice(1, 1).concat(dirs);\n } else {\n return common.error('no other directory');\n }\n } else if (_isStackIndex(dir)) {\n var n = _parseStackIndex(dir);\n dirs = dirs.slice(n).concat(dirs.slice(0, n));\n } else {\n if (options['no-cd']) {\n dirs.splice(1, 0, dir);\n } else {\n dirs.unshift(dir);\n }\n }\n\n if (options['no-cd']) {\n dirs = dirs.slice(1);\n } else {\n dir = path.resolve(dirs.shift());\n _cd('', dir);\n }\n\n _dirStack = dirs;\n return _dirs(options.quiet ? '-q' : '');\n}\nexports.pushd = _pushd;\n\n//@\n//@\n//@ ### popd([options,] ['-N' | '+N'])\n//@\n//@ Available options:\n//@\n//@ + `-n`: Suppress the normal directory change when removing directories from the stack, so that only the stack is manipulated.\n//@ + `-q`: Supresses output to the console.\n//@\n//@ Arguments:\n//@\n//@ + `+N`: Removes the Nth directory (counting from the left of the list printed by dirs), starting with zero.\n//@ + `-N`: Removes the Nth directory (counting from the right of the list printed by dirs), starting with zero.\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ echo(process.cwd()); // '/usr'\n//@ pushd('/etc'); // '/etc /usr'\n//@ echo(process.cwd()); // '/etc'\n//@ popd(); // '/usr'\n//@ echo(process.cwd()); // '/usr'\n//@ ```\n//@\n//@ When no arguments are given, `popd` removes the top directory from the stack and performs a `cd` to the new top directory. The elements are numbered from 0, starting at the first directory listed with dirs (i.e., `popd` is equivalent to `popd +0`). Returns an array of paths in the stack.\nfunction _popd(options, index) {\n if (_isStackIndex(options)) {\n index = options;\n options = '';\n }\n\n options = common.parseOptions(options, {\n 'n': 'no-cd',\n 'q': 'quiet',\n });\n\n if (!_dirStack.length) {\n return common.error('directory stack empty');\n }\n\n index = _parseStackIndex(index || '+0');\n\n if (options['no-cd'] || index > 0 || _dirStack.length + index === 0) {\n index = index > 0 ? index - 1 : index;\n _dirStack.splice(index, 1);\n } else {\n var dir = path.resolve(_dirStack.shift());\n _cd('', dir);\n }\n\n return _dirs(options.quiet ? '-q' : '');\n}\nexports.popd = _popd;\n\n//@\n//@\n//@ ### dirs([options | '+N' | '-N'])\n//@\n//@ Available options:\n//@\n//@ + `-c`: Clears the directory stack by deleting all of the elements.\n//@ + `-q`: Supresses output to the console.\n//@\n//@ Arguments:\n//@\n//@ + `+N`: Displays the Nth directory (counting from the left of the list printed by dirs when invoked without options), starting with zero.\n//@ + `-N`: Displays the Nth directory (counting from the right of the list printed by dirs when invoked without options), starting with zero.\n//@\n//@ Display the list of currently remembered directories. Returns an array of paths in the stack, or a single path if `+N` or `-N` was specified.\n//@\n//@ See also: `pushd`, `popd`\nfunction _dirs(options, index) {\n if (_isStackIndex(options)) {\n index = options;\n options = '';\n }\n\n options = common.parseOptions(options, {\n 'c': 'clear',\n 'q': 'quiet',\n });\n\n if (options.clear) {\n _dirStack = [];\n return _dirStack;\n }\n\n var stack = _actualDirStack();\n\n if (index) {\n index = _parseStackIndex(index);\n\n if (index < 0) {\n index = stack.length + index;\n }\n\n if (!options.quiet) {\n common.log(stack[index]);\n }\n return stack[index];\n }\n\n if (!options.quiet) {\n common.log(stack.join(' '));\n }\n\n return stack;\n}\nexports.dirs = _dirs;\n","'use strict';\n\nconst EventEmitter = require('events');\nconst packageData = require('../../package.json');\nconst shared = require('../shared');\nconst LeWindows = require('../sendmail-transport/le-windows');\n\n/**\n * Generates a Transport object for AWS SES\n *\n * Possible options can be the following:\n *\n * * **sendingRate** optional Number specifying how many messages per second should be delivered to SES\n * * **maxConnections** optional Number specifying max number of parallel connections to SES\n *\n * @constructor\n * @param {Object} optional config parameter\n */\nclass SESTransport extends EventEmitter {\n constructor(options) {\n super();\n options = options || {};\n\n this.options = options || {};\n this.ses = this.options.SES;\n\n this.name = 'SESTransport';\n this.version = packageData.version;\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'ses-transport'\n });\n\n // parallel sending connections\n this.maxConnections = Number(this.options.maxConnections) || Infinity;\n this.connections = 0;\n\n // max messages per second\n this.sendingRate = Number(this.options.sendingRate) || Infinity;\n this.sendingRateTTL = null;\n this.rateInterval = 1000; // milliseconds\n this.rateMessages = [];\n\n this.pending = [];\n\n this.idling = true;\n\n setImmediate(() => {\n if (this.idling) {\n this.emit('idle');\n }\n });\n }\n\n /**\n * Schedules a sending of a message\n *\n * @param {Object} emailMessage MailComposer object\n * @param {Function} callback Callback function to run when the sending is completed\n */\n send(mail, callback) {\n if (this.connections >= this.maxConnections) {\n this.idling = false;\n return this.pending.push({\n mail,\n callback\n });\n }\n\n if (!this._checkSendingRate()) {\n this.idling = false;\n return this.pending.push({\n mail,\n callback\n });\n }\n\n this._send(mail, (...args) => {\n setImmediate(() => callback(...args));\n this._sent();\n });\n }\n\n _checkRatedQueue() {\n if (this.connections >= this.maxConnections || !this._checkSendingRate()) {\n return;\n }\n\n if (!this.pending.length) {\n if (!this.idling) {\n this.idling = true;\n this.emit('idle');\n }\n return;\n }\n\n let next = this.pending.shift();\n this._send(next.mail, (...args) => {\n setImmediate(() => next.callback(...args));\n this._sent();\n });\n }\n\n _checkSendingRate() {\n clearTimeout(this.sendingRateTTL);\n\n let now = Date.now();\n let oldest = false;\n // delete older messages\n for (let i = this.rateMessages.length - 1; i >= 0; i--) {\n if (this.rateMessages[i].ts >= now - this.rateInterval && (!oldest || this.rateMessages[i].ts < oldest)) {\n oldest = this.rateMessages[i].ts;\n }\n\n if (this.rateMessages[i].ts < now - this.rateInterval && !this.rateMessages[i].pending) {\n this.rateMessages.splice(i, 1);\n }\n }\n\n if (this.rateMessages.length < this.sendingRate) {\n return true;\n }\n\n let delay = Math.max(oldest + 1001, now + 20);\n this.sendingRateTTL = setTimeout(() => this._checkRatedQueue(), now - delay);\n\n try {\n this.sendingRateTTL.unref();\n } catch (E) {\n // Ignore. Happens on envs with non-node timer implementation\n }\n\n return false;\n }\n\n _sent() {\n this.connections--;\n this._checkRatedQueue();\n }\n\n /**\n * Returns true if there are free slots in the queue\n */\n isIdle() {\n return this.idling;\n }\n\n /**\n * Compiles a mailcomposer message and forwards it to SES\n *\n * @param {Object} emailMessage MailComposer object\n * @param {Function} callback Callback function to run when the sending is completed\n */\n _send(mail, callback) {\n let statObject = {\n ts: Date.now(),\n pending: true\n };\n this.connections++;\n this.rateMessages.push(statObject);\n\n let envelope = mail.data.envelope || mail.message.getEnvelope();\n let messageId = mail.message.messageId();\n\n let recipients = [].concat(envelope.to || []);\n if (recipients.length > 3) {\n recipients.push('...and ' + recipients.splice(2).length + ' more');\n }\n this.logger.info(\n {\n tnx: 'send',\n messageId\n },\n 'Sending message %s to <%s>',\n messageId,\n recipients.join(', ')\n );\n\n let getRawMessage = next => {\n // do not use Message-ID and Date in DKIM signature\n if (!mail.data._dkim) {\n mail.data._dkim = {};\n }\n if (mail.data._dkim.skipFields && typeof mail.data._dkim.skipFields === 'string') {\n mail.data._dkim.skipFields += ':date:message-id';\n } else {\n mail.data._dkim.skipFields = 'date:message-id';\n }\n\n let sourceStream = mail.message.createReadStream();\n let stream = sourceStream.pipe(new LeWindows());\n let chunks = [];\n let chunklen = 0;\n\n stream.on('readable', () => {\n let chunk;\n while ((chunk = stream.read()) !== null) {\n chunks.push(chunk);\n chunklen += chunk.length;\n }\n });\n\n sourceStream.once('error', err => stream.emit('error', err));\n\n stream.once('error', err => {\n next(err);\n });\n\n stream.once('end', () => next(null, Buffer.concat(chunks, chunklen)));\n };\n\n setImmediate(() =>\n getRawMessage((err, raw) => {\n if (err) {\n this.logger.error(\n {\n err,\n tnx: 'send',\n messageId\n },\n 'Failed creating message for %s. %s',\n messageId,\n err.message\n );\n statObject.pending = false;\n return callback(err);\n }\n\n let sesMessage = {\n RawMessage: {\n // required\n Data: raw // required\n },\n Source: envelope.from,\n Destinations: envelope.to\n };\n\n Object.keys(mail.data.ses || {}).forEach(key => {\n sesMessage[key] = mail.data.ses[key];\n });\n\n this.ses.sendRawEmail(sesMessage, (err, data) => {\n if (err) {\n this.logger.error(\n {\n err,\n tnx: 'send'\n },\n 'Send error for %s: %s',\n messageId,\n err.message\n );\n statObject.pending = false;\n return callback(err);\n }\n\n let region = (this.ses.config && this.ses.config.region) || 'us-east-1';\n if (region === 'us-east-1') {\n region = 'email';\n }\n\n statObject.pending = false;\n callback(null, {\n envelope: {\n from: envelope.from,\n to: envelope.to\n },\n messageId: '<' + data.MessageId + (!/@/.test(data.MessageId) ? '@' + region + '.amazonses.com' : '') + '>',\n response: data.MessageId,\n raw\n });\n });\n })\n );\n }\n\n /**\n * Verifies SES configuration\n *\n * @param {Function} callback Callback function\n */\n verify(callback) {\n let promise;\n\n if (!callback) {\n promise = new Promise((resolve, reject) => {\n callback = shared.callbackPromise(resolve, reject);\n });\n }\n\n this.ses.sendRawEmail(\n {\n RawMessage: {\n // required\n Data: 'From: invalid@invalid\\r\\nTo: invalid@invalid\\r\\n Subject: Invalid\\r\\n\\r\\nInvalid'\n },\n Source: 'invalid@invalid',\n Destinations: ['invalid@invalid']\n },\n err => {\n if (err && err.code !== 'InvalidParameterValue') {\n return callback(err);\n }\n return callback(null, true);\n }\n );\n\n return promise;\n }\n}\n\nmodule.exports = SESTransport;\n","var url = require(\"url\");\nvar URL = url.URL;\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar Writable = require(\"stream\").Writable;\nvar assert = require(\"assert\");\nvar debug = require(\"./debug\");\n\n// Create handlers that pass events from native requests\nvar eventHandlers = Object.create(null);\n[\"abort\", \"aborted\", \"connect\", \"error\", \"socket\", \"timeout\"].forEach(function (event) {\n eventHandlers[event] = function (arg1, arg2, arg3) {\n this._redirectable.emit(event, arg1, arg2, arg3);\n };\n});\n\n// Error types with codes\nvar RedirectionError = createErrorType(\n \"ERR_FR_REDIRECTION_FAILURE\",\n \"\"\n);\nvar TooManyRedirectsError = createErrorType(\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"Maximum number of redirects exceeded\"\n);\nvar MaxBodyLengthExceededError = createErrorType(\n \"ERR_FR_MAX_BODY_LENGTH_EXCEEDED\",\n \"Request body larger than maxBodyLength limit\"\n);\nvar WriteAfterEndError = createErrorType(\n \"ERR_STREAM_WRITE_AFTER_END\",\n \"write after end\"\n);\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n this._sanitizeOptions(options);\n this._options = options;\n this._ended = false;\n this._ending = false;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n self._processResponse(response);\n };\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Writing is not allowed if end has been called\n if (this._ending) {\n throw new WriteAfterEndError();\n }\n\n // Validate input and shift parameters if necessary\n if (!(typeof data === \"string\" || typeof data === \"object\" && (\"length\" in data))) {\n throw new TypeError(\"data should be a string, Buffer or Uint8Array\");\n }\n if (typeof encoding === \"function\") {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new MaxBodyLengthExceededError());\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (typeof data === \"function\") {\n callback = data;\n data = encoding = null;\n }\n else if (typeof encoding === \"function\") {\n callback = encoding;\n encoding = null;\n }\n\n // Write data if needed and end\n if (!data) {\n this._ended = this._ending = true;\n this._currentRequest.end(null, null, callback);\n }\n else {\n var self = this;\n var currentRequest = this._currentRequest;\n this.write(data, encoding, function () {\n self._ended = true;\n currentRequest.end(null, null, callback);\n });\n this._ending = true;\n }\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Global timeout for all underlying requests\nRedirectableRequest.prototype.setTimeout = function (msecs, callback) {\n if (callback) {\n this.once(\"timeout\", callback);\n }\n\n if (this.socket) {\n startTimer(this, msecs);\n }\n else {\n var self = this;\n this._currentRequest.once(\"socket\", function () {\n startTimer(self, msecs);\n });\n }\n\n this.once(\"response\", clearTimer);\n this.once(\"error\", clearTimer);\n\n return this;\n};\n\nfunction startTimer(request, msecs) {\n clearTimeout(request._timeout);\n request._timeout = setTimeout(function () {\n request.emit(\"timeout\");\n }, msecs);\n}\n\nfunction clearTimer() {\n clearTimeout(this._timeout);\n}\n\n// Proxy all other public ClientRequest methods\n[\n \"abort\", \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\nRedirectableRequest.prototype._sanitizeOptions = function (options) {\n // Ensure headers are always present\n if (!options.headers) {\n options.headers = {};\n }\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n};\n\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n this.emit(\"error\", new TypeError(\"Unsupported protocol \" + protocol));\n return;\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.substr(0, protocol.length - 1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n this._currentUrl = url.format(this._options);\n\n // Set up event handlers\n request._redirectable = this;\n for (var event in eventHandlers) {\n /* istanbul ignore else */\n if (event) {\n request.on(event, eventHandlers[event]);\n }\n }\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end.\n var i = 0;\n var self = this;\n var buffers = this._requestBodyBuffers;\n (function writeNext(error) {\n // Only write if this request has not been redirected yet\n /* istanbul ignore else */\n if (request === self._currentRequest) {\n // Report any write errors\n /* istanbul ignore if */\n if (error) {\n self.emit(\"error\", error);\n }\n // Write the next buffer if there are still left\n else if (i < buffers.length) {\n var buffer = buffers[i++];\n /* istanbul ignore else */\n if (!request.finished) {\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n }\n // End the request if `end` has been called on us\n else if (self._ended) {\n request.end();\n }\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n var statusCode = response.statusCode;\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: statusCode,\n });\n }\n\n // RFC7231§6.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n var location = response.headers.location;\n if (location && this._options.followRedirects !== false &&\n statusCode >= 300 && statusCode < 400) {\n // Abort the current request\n this._currentRequest.removeAllListeners();\n this._currentRequest.on(\"error\", noop);\n this._currentRequest.abort();\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n\n // RFC7231§6.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n this.emit(\"error\", new TooManyRedirectsError());\n return;\n }\n\n // RFC7231§6.4: Automatic redirection needs to done with\n // care for methods not known to be safe, […]\n // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change\n // the request method from POST to GET for the subsequent request.\n if ((statusCode === 301 || statusCode === 302) && this._options.method === \"POST\" ||\n // RFC7231§6.4.4: The 303 (See Other) status code indicates that\n // the server is redirecting the user agent to a different resource […]\n // A user agent can perform a retrieval request targeting that URI\n // (a GET or HEAD request if using HTTP) […]\n (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n removeMatchingHeaders(/^content-/i, this._options.headers);\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n var previousHostName = removeMatchingHeaders(/^host$/i, this._options.headers) ||\n url.parse(this._currentUrl).hostname;\n\n // Create the redirected request\n var redirectUrl = url.resolve(this._currentUrl, location);\n debug(\"redirecting to\", redirectUrl);\n this._isRedirect = true;\n var redirectUrlParts = url.parse(redirectUrl);\n Object.assign(this._options, redirectUrlParts);\n\n // Drop the Authorization header if redirecting to another host\n if (redirectUrlParts.hostname !== previousHostName) {\n removeMatchingHeaders(/^authorization$/i, this._options.headers);\n }\n\n // Evaluate the beforeRedirect callback\n if (typeof this._options.beforeRedirect === \"function\") {\n var responseDetails = { headers: response.headers };\n try {\n this._options.beforeRedirect.call(null, this._options, responseDetails);\n }\n catch (err) {\n this.emit(\"error\", err);\n return;\n }\n this._sanitizeOptions(this._options);\n }\n\n // Perform the redirected request\n try {\n this._performRequest();\n }\n catch (cause) {\n var error = new RedirectionError(\"Redirected request failed: \" + cause.message);\n error.cause = cause;\n this.emit(\"error\", error);\n }\n }\n else {\n // The response is not a redirect; return it as-is\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n }\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n wrappedProtocol.request = function (input, options, callback) {\n // Parse parameters\n if (typeof input === \"string\") {\n var urlStr = input;\n try {\n input = urlToOptions(new URL(urlStr));\n }\n catch (err) {\n /* istanbul ignore next */\n input = url.parse(urlStr);\n }\n }\n else if (URL && (input instanceof URL)) {\n input = urlToOptions(input);\n }\n else {\n callback = options;\n options = input;\n input = { protocol: protocol };\n }\n if (typeof options === \"function\") {\n callback = options;\n options = null;\n }\n\n // Set defaults\n options = Object.assign({\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, input, options);\n options.nativeProtocols = nativeProtocols;\n\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n };\n\n // Executes a GET request, following redirects\n wrappedProtocol.get = function (input, options, callback) {\n var request = wrappedProtocol.request(input, options, callback);\n request.end();\n return request;\n };\n });\n return exports;\n}\n\n/* istanbul ignore next */\nfunction noop() { /* empty */ }\n\n// from https://github.com/nodejs/node/blob/master/lib/internal/url.js\nfunction urlToOptions(urlObject) {\n var options = {\n protocol: urlObject.protocol,\n hostname: urlObject.hostname.startsWith(\"[\") ?\n /* istanbul ignore next */\n urlObject.hostname.slice(1, -1) :\n urlObject.hostname,\n hash: urlObject.hash,\n search: urlObject.search,\n pathname: urlObject.pathname,\n path: urlObject.pathname + urlObject.search,\n href: urlObject.href,\n };\n if (urlObject.port !== \"\") {\n options.port = Number(urlObject.port);\n }\n return options;\n}\n\nfunction removeMatchingHeaders(regex, headers) {\n var lastValue;\n for (var header in headers) {\n if (regex.test(header)) {\n lastValue = headers[header];\n delete headers[header];\n }\n }\n return lastValue;\n}\n\nfunction createErrorType(code, defaultMessage) {\n function CustomError(message) {\n Error.captureStackTrace(this, this.constructor);\n this.message = message || defaultMessage;\n }\n CustomError.prototype = new Error();\n CustomError.prototype.constructor = CustomError;\n CustomError.prototype.name = \"Error [\" + code + \"]\";\n CustomError.prototype.code = code;\n return CustomError;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n","var common = require('./common');\nvar fs = require('fs');\n\n// add c spaces to the left of str\nfunction lpad(c, str) {\n var res = '' + str;\n if (res.length < c) {\n res = Array((c - res.length) + 1).join(' ') + res;\n }\n return res;\n}\n\ncommon.register('uniq', _uniq, {\n canReceivePipe: true,\n cmdOptions: {\n 'i': 'ignoreCase',\n 'c': 'count',\n 'd': 'duplicates',\n },\n});\n\n//@\n//@ ### uniq([options,] [input, [output]])\n//@\n//@ Available options:\n//@\n//@ + `-i`: Ignore case while comparing\n//@ + `-c`: Prefix lines by the number of occurrences\n//@ + `-d`: Only print duplicate lines, one for each group of identical lines\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ uniq('foo.txt');\n//@ uniq('-i', 'foo.txt');\n//@ uniq('-cd', 'foo.txt', 'bar.txt');\n//@ ```\n//@\n//@ Filter adjacent matching lines from `input`.\nfunction _uniq(options, input, output) {\n // Check if this is coming from a pipe\n var pipe = common.readFromPipe();\n\n if (!pipe) {\n if (!input) common.error('no input given');\n\n if (!fs.existsSync(input)) {\n common.error(input + ': No such file or directory');\n } else if (common.statFollowLinks(input).isDirectory()) {\n common.error(\"error reading '\" + input + \"'\");\n }\n }\n if (output && fs.existsSync(output) && common.statFollowLinks(output).isDirectory()) {\n common.error(output + ': Is a directory');\n }\n\n var lines = (input ? fs.readFileSync(input, 'utf8') : pipe).\n trimRight().\n split('\\n');\n\n var compare = function (a, b) {\n return options.ignoreCase ?\n a.toLocaleLowerCase().localeCompare(b.toLocaleLowerCase()) :\n a.localeCompare(b);\n };\n var uniqed = lines.reduceRight(function (res, e) {\n // Perform uniq -c on the input\n if (res.length === 0) {\n return [{ count: 1, ln: e }];\n } else if (compare(res[0].ln, e) === 0) {\n return [{ count: res[0].count + 1, ln: e }].concat(res.slice(1));\n } else {\n return [{ count: 1, ln: e }].concat(res);\n }\n }, []).filter(function (obj) {\n // Do we want only duplicated objects?\n return options.duplicates ? obj.count > 1 : true;\n }).map(function (obj) {\n // Are we tracking the counts of each line?\n return (options.count ? (lpad(7, obj.count) + ' ') : '') + obj.ln;\n }).join('\\n') + '\\n';\n\n if (output) {\n (new common.ShellString(uniqed)).to(output);\n // if uniq writes to output, nothing is passed to the next command in the pipeline (if any)\n return '';\n } else {\n return uniqed;\n }\n}\n\nmodule.exports = _uniq;\n","// YAML error class. http://stackoverflow.com/questions/8458984\n//\n'use strict';\n\nfunction YAMLException(reason, mark) {\n // Super constructor\n Error.call(this);\n\n this.name = 'YAMLException';\n this.reason = reason;\n this.mark = mark;\n this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : '');\n\n // Include stack trace in error object\n if (Error.captureStackTrace) {\n // Chrome and NodeJS\n Error.captureStackTrace(this, this.constructor);\n } else {\n // FF, IE 10+ and Safari 6+. Fallback for others\n this.stack = (new Error()).stack || '';\n }\n}\n\n\n// Inherit from Error\nYAMLException.prototype = Object.create(Error.prototype);\nYAMLException.prototype.constructor = YAMLException;\n\n\nYAMLException.prototype.toString = function toString(compact) {\n var result = this.name + ': ';\n\n result += this.reason || '(unknown reason)';\n\n if (!compact && this.mark) {\n result += ' ' + this.mark.toString();\n }\n\n return result;\n};\n\n\nmodule.exports = YAMLException;\n","'use strict';\n\nconst packageData = require('../../package.json');\nconst shared = require('../shared');\nconst LeWindows = require('../sendmail-transport/le-windows');\nconst LeUnix = require('../sendmail-transport/le-unix');\n\n/**\n * Generates a Transport object for streaming\n *\n * Possible options can be the following:\n *\n * * **buffer** if true, then returns the message as a Buffer object instead of a stream\n * * **newline** either 'windows' or 'unix'\n *\n * @constructor\n * @param {Object} optional config parameter\n */\nclass StreamTransport {\n constructor(options) {\n options = options || {};\n\n this.options = options || {};\n\n this.name = 'StreamTransport';\n this.version = packageData.version;\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'stream-transport'\n });\n\n this.winbreak = ['win', 'windows', 'dos', '\\r\\n'].includes((options.newline || '').toString().toLowerCase());\n }\n\n /**\n * Compiles a mailcomposer message and forwards it to handler that sends it\n *\n * @param {Object} emailMessage MailComposer object\n * @param {Function} callback Callback function to run when the sending is completed\n */\n send(mail, done) {\n // We probably need this in the output\n mail.message.keepBcc = true;\n\n let envelope = mail.data.envelope || mail.message.getEnvelope();\n let messageId = mail.message.messageId();\n\n let recipients = [].concat(envelope.to || []);\n if (recipients.length > 3) {\n recipients.push('...and ' + recipients.splice(2).length + ' more');\n }\n this.logger.info(\n {\n tnx: 'send',\n messageId\n },\n 'Sending message %s to <%s> using %s line breaks',\n messageId,\n recipients.join(', '),\n this.winbreak ? '' : ''\n );\n\n setImmediate(() => {\n let sourceStream;\n let stream;\n let transform;\n\n try {\n transform = this.winbreak ? new LeWindows() : new LeUnix();\n sourceStream = mail.message.createReadStream();\n stream = sourceStream.pipe(transform);\n sourceStream.on('error', err => stream.emit('error', err));\n } catch (E) {\n this.logger.error(\n {\n err: E,\n tnx: 'send',\n messageId\n },\n 'Creating send stream failed for %s. %s',\n messageId,\n E.message\n );\n return done(E);\n }\n\n if (!this.options.buffer) {\n stream.once('error', err => {\n this.logger.error(\n {\n err,\n tnx: 'send',\n messageId\n },\n 'Failed creating message for %s. %s',\n messageId,\n err.message\n );\n });\n return done(null, {\n envelope: mail.data.envelope || mail.message.getEnvelope(),\n messageId,\n message: stream\n });\n }\n\n let chunks = [];\n let chunklen = 0;\n stream.on('readable', () => {\n let chunk;\n while ((chunk = stream.read()) !== null) {\n chunks.push(chunk);\n chunklen += chunk.length;\n }\n });\n\n stream.once('error', err => {\n this.logger.error(\n {\n err,\n tnx: 'send',\n messageId\n },\n 'Failed creating message for %s. %s',\n messageId,\n err.message\n );\n return done(err);\n });\n\n stream.on('end', () =>\n done(null, {\n envelope: mail.data.envelope || mail.message.getEnvelope(),\n messageId,\n message: Buffer.concat(chunks, chunklen)\n })\n );\n });\n }\n}\n\nmodule.exports = StreamTransport;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Multi = void 0;\r\n// eslint-disable-next-line @typescript-eslint/no-var-requires\r\nconst bindings = require('../lib/binding/node_libcurl.node');\r\n/**\r\n * This is a Node.js wrapper around the binding {@link MultiNativeBinding | native Multi class}.\r\n *\r\n * The only extra is that it provides a static field `option`.\r\n *\r\n * @public\r\n */\r\nclass Multi extends bindings.Multi {\r\n}\r\nexports.Multi = Multi;\r\n/**\r\n * Options to be used with {@link setOpt | `setOpt`}.\r\n *\r\n * See the official documentation of [`curl_multi_setopt()`](http://curl.haxx.se/libcurl/c/curl_multi_setopt.html)\r\n * for reference.\r\n *\r\n * `CURLMOPT_MAXCONNECTS` becomes `Multi.option.MAXCONNECTS`\r\n */\r\nMulti.option = bindings.Curl.multi;\r\n//# sourceMappingURL=Multi.js.map","var once = require('once');\n\nvar noop = function() {};\n\nvar isRequest = function(stream) {\n\treturn stream.setHeader && typeof stream.abort === 'function';\n};\n\nvar isChildProcess = function(stream) {\n\treturn stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3\n};\n\nvar eos = function(stream, opts, callback) {\n\tif (typeof opts === 'function') return eos(stream, null, opts);\n\tif (!opts) opts = {};\n\n\tcallback = once(callback || noop);\n\n\tvar ws = stream._writableState;\n\tvar rs = stream._readableState;\n\tvar readable = opts.readable || (opts.readable !== false && stream.readable);\n\tvar writable = opts.writable || (opts.writable !== false && stream.writable);\n\tvar cancelled = false;\n\n\tvar onlegacyfinish = function() {\n\t\tif (!stream.writable) onfinish();\n\t};\n\n\tvar onfinish = function() {\n\t\twritable = false;\n\t\tif (!readable) callback.call(stream);\n\t};\n\n\tvar onend = function() {\n\t\treadable = false;\n\t\tif (!writable) callback.call(stream);\n\t};\n\n\tvar onexit = function(exitCode) {\n\t\tcallback.call(stream, exitCode ? new Error('exited with error code: ' + exitCode) : null);\n\t};\n\n\tvar onerror = function(err) {\n\t\tcallback.call(stream, err);\n\t};\n\n\tvar onclose = function() {\n\t\tprocess.nextTick(onclosenexttick);\n\t};\n\n\tvar onclosenexttick = function() {\n\t\tif (cancelled) return;\n\t\tif (readable && !(rs && (rs.ended && !rs.destroyed))) return callback.call(stream, new Error('premature close'));\n\t\tif (writable && !(ws && (ws.ended && !ws.destroyed))) return callback.call(stream, new Error('premature close'));\n\t};\n\n\tvar onrequest = function() {\n\t\tstream.req.on('finish', onfinish);\n\t};\n\n\tif (isRequest(stream)) {\n\t\tstream.on('complete', onfinish);\n\t\tstream.on('abort', onclose);\n\t\tif (stream.req) onrequest();\n\t\telse stream.on('request', onrequest);\n\t} else if (writable && !ws) { // legacy streams\n\t\tstream.on('end', onlegacyfinish);\n\t\tstream.on('close', onlegacyfinish);\n\t}\n\n\tif (isChildProcess(stream)) stream.on('exit', onexit);\n\n\tstream.on('end', onend);\n\tstream.on('finish', onfinish);\n\tif (opts.error !== false) stream.on('error', onerror);\n\tstream.on('close', onclose);\n\n\treturn function() {\n\t\tcancelled = true;\n\t\tstream.removeListener('complete', onfinish);\n\t\tstream.removeListener('abort', onclose);\n\t\tstream.removeListener('request', onrequest);\n\t\tif (stream.req) stream.req.removeListener('finish', onfinish);\n\t\tstream.removeListener('end', onlegacyfinish);\n\t\tstream.removeListener('close', onlegacyfinish);\n\t\tstream.removeListener('finish', onfinish);\n\t\tstream.removeListener('exit', onexit);\n\t\tstream.removeListener('end', onend);\n\t\tstream.removeListener('error', onerror);\n\t\tstream.removeListener('close', onclose);\n\t};\n};\n\nmodule.exports = eos;\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = { sep: '/' }\ntry {\n path = require('path')\n} catch (er) {}\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 a = a || {}\n b = b || {}\n var t = {}\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n return t\n}\n\nminimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return minimatch\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig.minimatch(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\n return m\n}\n\nMinimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return Minimatch\n return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n // \"\" only matches \"\"\n if (pattern.trim() === '') return p === ''\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 if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n pattern = pattern.trim()\n\n // windows support: need to use /, not \\\n if (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\n // make the set of regexps etc.\n this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n // don't do it more than once.\n if (this._made) return\n\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 = console.error\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 if (typeof pattern === 'undefined') {\n throw new TypeError('undefined pattern')\n }\n\n if (options.nobrace ||\n !pattern.match(/\\{.*\\}/)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\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 if (pattern.length > 1024 * 64) {\n throw new TypeError('pattern is too long')\n }\n\n var options = this.options\n\n // shortcuts\n if (!options.noglobstar && pattern === '**') return GLOBSTAR\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 case '/':\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\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 if (inClass) {\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\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 '.':\n case '[':\n 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) {\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) {\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 = match\nfunction match (f, 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 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 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 if (options.nocase) {\n hit = f.toLowerCase() === p.toLowerCase()\n } else {\n hit = f === p\n }\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 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 var emptyFileEnd = (fi === fl - 1) && (file[fi] === '')\n return emptyFileEnd\n }\n\n // should be unreachable.\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","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:str', {\n kind: 'scalar',\n construct: function (data) { return data !== null ? data : ''; }\n});\n","// Standard YAML's Failsafe schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2802346\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n explicit: [\n require('../type/str'),\n require('../type/seq'),\n require('../type/map')\n ]\n});\n","'use strict';\nconst {PassThrough} = require('stream');\n\nmodule.exports = options => {\n\toptions = Object.assign({}, options);\n\n\tconst {array} = options;\n\tlet {encoding} = options;\n\tconst buffer = encoding === 'buffer';\n\tlet objectMode = false;\n\n\tif (array) {\n\t\tobjectMode = !(encoding || buffer);\n\t} else {\n\t\tencoding = encoding || 'utf8';\n\t}\n\n\tif (buffer) {\n\t\tencoding = null;\n\t}\n\n\tlet len = 0;\n\tconst ret = [];\n\tconst stream = new PassThrough({objectMode});\n\n\tif (encoding) {\n\t\tstream.setEncoding(encoding);\n\t}\n\n\tstream.on('data', chunk => {\n\t\tret.push(chunk);\n\n\t\tif (objectMode) {\n\t\t\tlen = ret.length;\n\t\t} else {\n\t\t\tlen += chunk.length;\n\t\t}\n\t});\n\n\tstream.getBufferedValue = () => {\n\t\tif (array) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn buffer ? Buffer.concat(ret, len) : ret.join('');\n\t};\n\n\tstream.getBufferedLength = () => len;\n\n\treturn stream;\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlFnMatchFunc = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898fccafc5d6cd04f6235f283cfbd/include/curl/curl.h#L342\r\n/**\r\n * Object to be used as the return value for the callback set with the option `FNMATCH_FUNCTION`\r\n *\r\n * `CURL_FNMATCHFUNC_MATCH` becomes `CurlFnMatch.Match`\r\n *\r\n * @public\r\n */\r\nvar CurlFnMatchFunc;\r\n(function (CurlFnMatchFunc) {\r\n CurlFnMatchFunc[CurlFnMatchFunc[\"Match\"] = 0] = \"Match\";\r\n CurlFnMatchFunc[CurlFnMatchFunc[\"NoMatch\"] = 1] = \"NoMatch\";\r\n CurlFnMatchFunc[CurlFnMatchFunc[\"Fail\"] = 2] = \"Fail\";\r\n})(CurlFnMatchFunc = exports.CurlFnMatchFunc || (exports.CurlFnMatchFunc = {}));\r\n//# sourceMappingURL=CurlFnMatchFunc.js.map","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlFtpAuth = exports.CurlAuth = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L725\r\n/**\r\n * Object with bitmasks that should be used with the `HTTPAUTH` and `PROXYAUTH` options.\r\n *\r\n * `CURLAUTH_BASIC` becomes `CurlAuth.Basic`\r\n *\r\n * **NOTE:** The option `Only` (`CURLAUTH_ONLY`) cannot be safely used on bitwise operations, because it represents a integer larger\r\n * than 32 bits, if you need to use it, you must do the bitwise operation without using the operators.\r\n *\r\n * See following StackOverflow questions for more info:\r\n * https://stackoverflow.com/q/39660274/710693\r\n * https://stackoverflow.com/q/3637702/710693\r\n *\r\n * @public\r\n */\r\nvar CurlAuth;\r\n(function (CurlAuth) {\r\n CurlAuth[CurlAuth[\"None\"] = 0] = \"None\";\r\n CurlAuth[CurlAuth[\"Basic\"] = 1] = \"Basic\";\r\n CurlAuth[CurlAuth[\"Digest\"] = 2] = \"Digest\";\r\n CurlAuth[CurlAuth[\"Negotiate\"] = 4] = \"Negotiate\";\r\n /**\r\n * Deprecated since the advent of Negotiate\r\n */\r\n CurlAuth[CurlAuth[\"GssNegotiate\"] = 4] = \"GssNegotiate\";\r\n /**\r\n * Used for option `SOCKS5_AUTH` to stay terminologically correct\r\n */\r\n CurlAuth[CurlAuth[\"GssApi\"] = 4] = \"GssApi\";\r\n CurlAuth[CurlAuth[\"Ntlm\"] = 8] = \"Ntlm\";\r\n CurlAuth[CurlAuth[\"DigestIe\"] = 16] = \"DigestIe\";\r\n CurlAuth[CurlAuth[\"NtlmWb\"] = 32] = \"NtlmWb\";\r\n CurlAuth[CurlAuth[\"Bearer\"] = 64] = \"Bearer\";\r\n // cannot use 1 << 31 like on libcurl, because bitwise operations on js are limited to 32 bits, so that would overflow\r\n CurlAuth[CurlAuth[\"Only\"] = 2147483648] = \"Only\";\r\n CurlAuth[CurlAuth[\"Any\"] = -17] = \"Any\";\r\n CurlAuth[CurlAuth[\"AnySafe\"] = -18] = \"AnySafe\";\r\n})(CurlAuth = exports.CurlAuth || (exports.CurlAuth = {}));\r\n// https://github.com/curl/curl/blob/e1be825453/include/curl/curl.h#L853\r\n/**\r\n * Object with constants for option `FTPSSLAUTH`\r\n *\r\n * `CURLFTPAUTH_DEFAULT` becomes `CurlFtpAuth.Default`\r\n *\r\n * @public\r\n */\r\nvar CurlFtpAuth;\r\n(function (CurlFtpAuth) {\r\n CurlFtpAuth[CurlFtpAuth[\"Default\"] = 0] = \"Default\";\r\n CurlFtpAuth[CurlFtpAuth[\"Ssl\"] = 1] = \"Ssl\";\r\n CurlFtpAuth[CurlFtpAuth[\"Tls\"] = 2] = \"Tls\";\r\n})(CurlFtpAuth = exports.CurlFtpAuth || (exports.CurlFtpAuth = {}));\r\n//# sourceMappingURL=CurlAuth.js.map","\"use strict\";\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlPx = void 0;\r\n// https://github.com/curl/curl/blob/a4c26b0abebde418fddab7187ca089b78b6ef6d5/include/curl/curl.h#L697-L733\r\n/**\r\n * Object with constants for usage with the info `PROXY_ERROR`\r\n *\r\n * `CURLPX_OK` becomes `CurlPx.Ok`\r\n *\r\n * @public\r\n */\r\nvar CurlPx;\r\n(function (CurlPx) {\r\n CurlPx[CurlPx[\"Ok\"] = 0] = \"Ok\";\r\n CurlPx[CurlPx[\"BadAddressType\"] = 1] = \"BadAddressType\";\r\n CurlPx[CurlPx[\"BadVersion\"] = 2] = \"BadVersion\";\r\n CurlPx[CurlPx[\"Closed\"] = 3] = \"Closed\";\r\n CurlPx[CurlPx[\"Gssapi\"] = 4] = \"Gssapi\";\r\n CurlPx[CurlPx[\"GssapiPermsg\"] = 5] = \"GssapiPermsg\";\r\n CurlPx[CurlPx[\"GssapiProtection\"] = 6] = \"GssapiProtection\";\r\n CurlPx[CurlPx[\"Identd\"] = 7] = \"Identd\";\r\n CurlPx[CurlPx[\"IdentdDiffer\"] = 8] = \"IdentdDiffer\";\r\n CurlPx[CurlPx[\"LongHostname\"] = 9] = \"LongHostname\";\r\n CurlPx[CurlPx[\"LongPasswd\"] = 10] = \"LongPasswd\";\r\n CurlPx[CurlPx[\"LongUser\"] = 11] = \"LongUser\";\r\n CurlPx[CurlPx[\"NoAuth\"] = 12] = \"NoAuth\";\r\n CurlPx[CurlPx[\"RecvAddress\"] = 13] = \"RecvAddress\";\r\n CurlPx[CurlPx[\"RecvAuth\"] = 14] = \"RecvAuth\";\r\n CurlPx[CurlPx[\"RecvConnect\"] = 15] = \"RecvConnect\";\r\n CurlPx[CurlPx[\"RecvReqack\"] = 16] = \"RecvReqack\";\r\n CurlPx[CurlPx[\"ReplyAddressTypeNotSupported\"] = 17] = \"ReplyAddressTypeNotSupported\";\r\n CurlPx[CurlPx[\"ReplyCommandNotSupported\"] = 18] = \"ReplyCommandNotSupported\";\r\n CurlPx[CurlPx[\"ReplyConnectionRefused\"] = 19] = \"ReplyConnectionRefused\";\r\n CurlPx[CurlPx[\"ReplyGeneralServerFailure\"] = 20] = \"ReplyGeneralServerFailure\";\r\n CurlPx[CurlPx[\"ReplyHostUnreachable\"] = 21] = \"ReplyHostUnreachable\";\r\n CurlPx[CurlPx[\"ReplyNetworkUnreachable\"] = 22] = \"ReplyNetworkUnreachable\";\r\n CurlPx[CurlPx[\"ReplyNotAllowed\"] = 23] = \"ReplyNotAllowed\";\r\n CurlPx[CurlPx[\"ReplyTtlExpired\"] = 24] = \"ReplyTtlExpired\";\r\n CurlPx[CurlPx[\"ReplyUnassigned\"] = 25] = \"ReplyUnassigned\";\r\n CurlPx[CurlPx[\"RequestFailed\"] = 26] = \"RequestFailed\";\r\n CurlPx[CurlPx[\"ResolveHost\"] = 27] = \"ResolveHost\";\r\n CurlPx[CurlPx[\"SendAuth\"] = 28] = \"SendAuth\";\r\n CurlPx[CurlPx[\"SendConnect\"] = 29] = \"SendConnect\";\r\n CurlPx[CurlPx[\"SendRequest\"] = 30] = \"SendRequest\";\r\n CurlPx[CurlPx[\"UnknownFail\"] = 31] = \"UnknownFail\";\r\n CurlPx[CurlPx[\"UnknownMode\"] = 32] = \"UnknownMode\";\r\n CurlPx[CurlPx[\"UserRejected\"] = 33] = \"UserRejected\";\r\n})(CurlPx = exports.CurlPx || (exports.CurlPx = {}));\r\n//# sourceMappingURL=CurlPx.js.map","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdirs = require('../mkdirs').mkdirs\nconst pathExists = require('../path-exists').pathExists\nconst utimesMillis = require('../util/utimes').utimesMillis\nconst stat = require('../util/stat')\n\nfunction copy (src, dest, opts, cb) {\n if (typeof opts === 'function' && !cb) {\n cb = opts\n opts = {}\n } else if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n cb = cb || function () {}\n opts = opts || {}\n\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\\n\n see https://github.com/jprichardson/node-fs-extra/issues/269`)\n }\n\n stat.checkPaths(src, dest, 'copy', (err, stats) => {\n if (err) return cb(err)\n const { srcStat, destStat } = stats\n stat.checkParentPaths(src, srcStat, dest, 'copy', err => {\n if (err) return cb(err)\n if (opts.filter) return handleFilter(checkParentDir, destStat, src, dest, opts, cb)\n return checkParentDir(destStat, src, dest, opts, cb)\n })\n })\n}\n\nfunction checkParentDir (destStat, src, dest, opts, cb) {\n const destParent = path.dirname(dest)\n pathExists(destParent, (err, dirExists) => {\n if (err) return cb(err)\n if (dirExists) return startCopy(destStat, src, dest, opts, cb)\n mkdirs(destParent, err => {\n if (err) return cb(err)\n return startCopy(destStat, src, dest, opts, cb)\n })\n })\n}\n\nfunction handleFilter (onInclude, destStat, src, dest, opts, cb) {\n Promise.resolve(opts.filter(src, dest)).then(include => {\n if (include) return onInclude(destStat, src, dest, opts, cb)\n return cb()\n }, error => cb(error))\n}\n\nfunction startCopy (destStat, src, dest, opts, cb) {\n if (opts.filter) return handleFilter(getStats, destStat, src, dest, opts, cb)\n return getStats(destStat, src, dest, opts, cb)\n}\n\nfunction getStats (destStat, src, dest, opts, cb) {\n const stat = opts.dereference ? fs.stat : fs.lstat\n stat(src, (err, srcStat) => {\n if (err) return cb(err)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb)\n })\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts, cb) {\n if (!destStat) return copyFile(srcStat, src, dest, opts, cb)\n return mayCopyFile(srcStat, src, dest, opts, cb)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts, cb) {\n if (opts.overwrite) {\n fs.unlink(dest, err => {\n if (err) return cb(err)\n return copyFile(srcStat, src, dest, opts, cb)\n })\n } else if (opts.errorOnExist) {\n return cb(new Error(`'${dest}' already exists`))\n } else return cb()\n}\n\nfunction copyFile (srcStat, src, dest, opts, cb) {\n fs.copyFile(src, dest, err => {\n if (err) return cb(err)\n if (opts.preserveTimestamps) return handleTimestampsAndMode(srcStat.mode, src, dest, cb)\n return setDestMode(dest, srcStat.mode, cb)\n })\n}\n\nfunction handleTimestampsAndMode (srcMode, src, dest, cb) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) {\n return makeFileWritable(dest, srcMode, err => {\n if (err) return cb(err)\n return setDestTimestampsAndMode(srcMode, src, dest, cb)\n })\n }\n return setDestTimestampsAndMode(srcMode, src, dest, cb)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode, cb) {\n return setDestMode(dest, srcMode | 0o200, cb)\n}\n\nfunction setDestTimestampsAndMode (srcMode, src, dest, cb) {\n setDestTimestamps(src, dest, err => {\n if (err) return cb(err)\n return setDestMode(dest, srcMode, cb)\n })\n}\n\nfunction setDestMode (dest, srcMode, cb) {\n return fs.chmod(dest, srcMode, cb)\n}\n\nfunction setDestTimestamps (src, dest, cb) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n fs.stat(src, (err, updatedSrcStat) => {\n if (err) return cb(err)\n return utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime, cb)\n })\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts, cb) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts, cb)\n if (destStat && !destStat.isDirectory()) {\n return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`))\n }\n return copyDir(src, dest, opts, cb)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts, cb) {\n fs.mkdir(dest, err => {\n if (err) return cb(err)\n copyDir(src, dest, opts, err => {\n if (err) return cb(err)\n return setDestMode(dest, srcMode, cb)\n })\n })\n}\n\nfunction copyDir (src, dest, opts, cb) {\n fs.readdir(src, (err, items) => {\n if (err) return cb(err)\n return copyDirItems(items, src, dest, opts, cb)\n })\n}\n\nfunction copyDirItems (items, src, dest, opts, cb) {\n const item = items.pop()\n if (!item) return cb()\n return copyDirItem(items, item, src, dest, opts, cb)\n}\n\nfunction copyDirItem (items, item, src, dest, opts, cb) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n stat.checkPaths(srcItem, destItem, 'copy', (err, stats) => {\n if (err) return cb(err)\n const { destStat } = stats\n startCopy(destStat, srcItem, destItem, opts, err => {\n if (err) return cb(err)\n return copyDirItems(items, src, dest, opts, cb)\n })\n })\n}\n\nfunction onLink (destStat, src, dest, opts, cb) {\n fs.readlink(src, (err, resolvedSrc) => {\n if (err) return cb(err)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlink(resolvedSrc, dest, cb)\n } else {\n fs.readlink(dest, (err, resolvedDest) => {\n if (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlink(resolvedSrc, dest, cb)\n return cb(err)\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`))\n }\n\n // do not copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`))\n }\n return copyLink(resolvedSrc, dest, cb)\n })\n }\n })\n}\n\nfunction copyLink (resolvedSrc, dest, cb) {\n fs.unlink(dest, err => {\n if (err) return cb(err)\n return fs.symlink(resolvedSrc, dest, cb)\n })\n}\n\nmodule.exports = copy\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateSummary = void 0;\nconst slugify_1 = __importDefault(require(\"@sindresorhus/slugify\"));\nconst fs_extra_1 = require(\"fs-extra\");\nconst path_1 = require(\"path\");\nconst prettier_1 = require(\"prettier\");\nconst calculate_uptime_1 = require(\"./helpers/calculate-uptime\");\nconst config_1 = require(\"./helpers/config\");\nconst git_1 = require(\"./helpers/git\");\nconst github_1 = require(\"./helpers/github\");\nconst init_check_1 = require(\"./helpers/init-check\");\nconst generateSummary = async () => {\n if (!(await init_check_1.shouldContinue()))\n return;\n await fs_extra_1.mkdirp(\"history\");\n let [owner, repo] = (process.env.GITHUB_REPOSITORY || \"\").split(\"/\");\n const config = await config_1.getConfig();\n const octokit = await github_1.getOctokit();\n let readmeContent = await fs_extra_1.readFile(path_1.join(\".\", \"README.md\"), \"utf8\");\n const startText = readmeContent.split(config.summaryStartHtmlComment || \"\")[0];\n const endText = readmeContent.split(config.summaryEndHtmlComment || \"\")[1];\n // This object will track the summary data of all sites\n const pageStatuses = [];\n // We'll keep incrementing this if there are down/degraded sites\n // This is used to show the overall status later\n let numberOfDown = 0;\n let numberOfDegraded = 0;\n // Loop through each site and add compute the current status\n for await (const site of config.sites) {\n const slug = site.slug || slugify_1.default(site.name);\n // Get the git history for this site\n const history = await octokit.repos.listCommits({\n owner,\n repo,\n path: `history/${slug}.yml`,\n per_page: 100,\n });\n if (!history.data.length)\n continue;\n // Calculate the average response time by taking data from commits\n const averageTime = history.data\n .filter((item) => item.commit.message.includes(\" in \") &&\n Number(item.commit.message.split(\" in \")[1].split(\"ms\")[0].trim()) !== 0 &&\n !isNaN(Number(item.commit.message.split(\" in \")[1].split(\"ms\")[0].trim())))\n /**\n * Parse the commit message\n * @example \"🟥 Broken Site is down (500 in 321 ms) [skip ci] [upptime]\"\n * @returns 321\n */\n .map((item) => Number(item.commit.message.split(\" in \")[1].split(\"ms\")[0].trim()))\n .filter((item) => item && !isNaN(item))\n .reduce((p, c) => p + c, 0) / history.data.length;\n // Current status is \"up\", \"down\", or \"degraded\" based on the emoji prefix of the commit message\n const status = history.data[0].commit.message\n .split(\" \")[0]\n .includes(config.commitPrefixStatusUp || \"🟩\")\n ? \"up\"\n : history.data[0].commit.message\n .split(\" \")[0]\n .includes(config.commitPrefixStatusDegraded || \"🟨\")\n ? \"degraded\"\n : \"down\";\n pageStatuses.push({\n name: site.name,\n url: site.url,\n slug,\n status,\n uptime: await calculate_uptime_1.getUptimePercentForSite(slug),\n time: Math.floor(averageTime),\n });\n if (status === \"down\")\n numberOfDown++;\n if (status === \"degraded\")\n numberOfDegraded++;\n }\n let website = `https://${config.owner}.github.io/${config.repo}`;\n if (config[\"status-website\"] && config[\"status-website\"].cname)\n website = `https://${config[\"status-website\"].cname}`;\n const i18n = config.i18n || {};\n if (readmeContent.includes(config.summaryStartHtmlComment || \"\")) {\n readmeContent = `${startText}${config.summaryStartHtmlComment || \"\"}\n\n\n| ${i18n.url || \"URL\"} | ${i18n.status || \"Status\"} | ${i18n.history || \"History\"} | ${i18n.responseTime || \"Response Time\"} | ${i18n.uptime || \"Uptime\"} |\n| --- | ------ | ------- | ------------- | ------ |\n${pageStatuses\n .map((page) => `| ${page.url.includes(\"$\") ? page.name : `[${page.name}](${page.url})`} | ${page.status === \"up\"\n ? i18n.up || \"🟩 Up\"\n : page.status === \"degraded\"\n ? i18n.degraded || \"🟨 Degraded\"\n : i18n.down || \"🟥 Down\"} | [${page.slug}.yml](https://github.com/${owner}/${repo}/commits/master/history/${page.slug}.yml) | \"${i18n.responseTimeGraphAlt ${page.time}${i18n.ms || \"ms\"} | [![${i18n.uptime || \"Uptime\"} ${page.uptime}%](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2F${owner}%2F${repo}%2Fmaster%2Fapi%2F${page.slug}%2Fuptime.json)](${website}/history/${page.slug})`)\n .join(\"\\n\")}\n${config.summaryEndHtmlComment || \"\"}${endText}`;\n }\n // Skip running this in the template repository\n if (`${owner}/${repo}` !== \"upptime/upptime\") {\n // Remove Upptime logo and add heaading\n readmeContent = readmeContent\n .split(\"\\n\")\n .map((line, index) => {\n if (index === 0 && line.includes(\"https://upptime.js.org\"))\n return `# [📈 ${i18n.liveStatus || \"Live Status\"}](${website}): ${i18n.liveStatusHtmlComment || \"\"} **${i18n.allSystemsOperational || \"🟩 All systems operational\"}**`;\n if (line.includes(\"[![Summary CI](https://github.com\") &&\n readmeContent.includes(\"\"))\n return `${line}\\n\\nWith [Upptime](https://upptime.js.org), you can get your own unlimited and free uptime monitor and status page, powered entirely by a GitHub repository. We use [Issues](https://github.com/${config.owner}/${config.repo}/issues) as incident reports, [Actions](https://github.com/${config.owner}/${config.repo}/actions) as uptime monitors, and [Pages](${website}) for the status page.`;\n return line;\n })\n .filter((line) => !line.startsWith(`## [📈 ${i18n.liveStatus || \"Live Status\"}]`))\n .join(\"\\n\");\n // Remove default documentation\n const docsStartText = readmeContent.split(\"\")[0];\n const docsEndText = readmeContent.split(\"\")[1];\n if (readmeContent.includes(\"\"))\n readmeContent = `${docsStartText}[**Visit our status website →**](${website})${docsEndText}`;\n // Remove Koj logo\n const logoStartText = readmeContent.split(\"\")[0];\n const logoEndText = readmeContent.split(\"\")[1];\n if (readmeContent.includes(\"\"))\n readmeContent = `${logoStartText}${logoEndText}`;\n let name = `[${config.owner}](${website})`;\n if (readmeContent.includes(\"[MIT](./LICENSE) © [Koj](https://koj.co)\") ||\n readmeContent.includes(\"\")) {\n try {\n const org = await octokit.users.getByUsername({ username: config.owner });\n name = `[${org.data.name || config.owner}](${org.data.blog || website})`;\n }\n catch (error) { }\n // Remove Koj description\n const descriptionStartText = readmeContent.split(\"\")[0];\n const descriptionEndText = readmeContent.split(\"\")[1];\n if (readmeContent.includes(\"\"))\n readmeContent = `${descriptionStartText}This repository contains the open-source uptime monitor and status page for ${name}, powered by [Upptime](https://github.com/upptime/upptime).${descriptionEndText}`;\n // Change copyright\n readmeContent = readmeContent.replace(\"[MIT](./LICENSE) © [Koj](https://koj.co)\", `[MIT](./LICENSE) © ${name}`);\n }\n // Change badges\n readmeContent = readmeContent.replace(new RegExp(\"upptime/upptime/workflows\", \"g\"), `${config.owner}/${config.repo}/workflows`);\n // Add repo description, topics, etc.\n try {\n const repoInfo = await octokit.repos.get({ owner, repo });\n if (!repoInfo.data.description && !config.skipDescriptionUpdate)\n await octokit.repos.update({\n owner,\n repo,\n description: `📈 Uptime monitor and status page for ${name\n .split(\"]\")[0]\n .replace(\"[\", \"\")}, powered by @upptime`,\n });\n console.log(\"Current topics are\", repoInfo.data.topics);\n if (!(repoInfo.data.topics || []).includes(\"upptime\") && !config.skipTopicsUpdate)\n await octokit.repos.replaceAllTopics({\n owner,\n repo,\n names: [\n ...(repoInfo.data.topics || []),\n \"uptime-monitor\",\n \"status-page\",\n \"upptime\",\n ].filter((value, index, array) => array.indexOf(value) === index),\n });\n console.log(\"Possibly updated to to\", [...(repoInfo.data.topics || []), \"uptime-monitor\", \"status-page\", \"upptime\"].filter((value, index, array) => array.indexOf(value) === index));\n console.log(\"Topics are\", (await octokit.repos.get({ owner, repo })).data.topics);\n if (!repoInfo.data.homepage && !config.skipHomepageUpdate)\n await octokit.repos.update({\n owner,\n repo,\n homepage: website,\n });\n }\n catch (error) {\n console.log(error);\n }\n }\n // Add live status line\n readmeContent = readmeContent\n .split(\"\\n\")\n .map((line) => {\n if (line.includes(\"\")) {\n line = `${line.split(\"\")[0]} **${numberOfDown === 0\n ? numberOfDegraded === 0\n ? i18n.allSystemsOperational || \"🟩 All systems operational\"\n : i18n.degradedPerformance || \"🟨 Degraded performance\"\n : numberOfDown === config.sites.length\n ? i18n.completeOutage || \"🟥 Complete outage\"\n : i18n.partialOutage || \"🟧 Partial outage\"}**`;\n }\n return line;\n })\n .join(\"\\n\");\n await fs_extra_1.writeFile(path_1.join(\".\", \"README.md\"), prettier_1.format(readmeContent, { parser: \"markdown\" }));\n git_1.commit((config.commitMessages || {}).readmeContent ||\n \":pencil: Update summary in README [skip ci] [upptime]\", (config.commitMessages || {}).commitAuthorName, (config.commitMessages || {}).commitAuthorEmail);\n await fs_extra_1.writeFile(path_1.join(\".\", \"history\", \"summary.json\"), JSON.stringify(pageStatuses, null, 2));\n git_1.commit((config.commitMessages || {}).summaryJson ||\n \":card_file_box: Update status summary [skip ci] [upptime]\", (config.commitMessages || {}).commitAuthorName, (config.commitMessages || {}).commitAuthorEmail);\n git_1.push();\n};\nexports.generateSummary = generateSummary;\n//# sourceMappingURL=summary.js.map","var fs = require('fs')\nvar polyfills = require('./polyfills.js')\nvar legacy = require('./legacy-streams.js')\nvar clone = require('./clone.js')\n\nvar util = require('util')\n\n/* istanbul ignore next - node 0.x polyfill */\nvar gracefulQueue\nvar previousSymbol\n\n/* istanbul ignore else - node 0.x polyfill */\nif (typeof Symbol === 'function' && typeof Symbol.for === 'function') {\n gracefulQueue = Symbol.for('graceful-fs.queue')\n // This is used in testing by future versions\n previousSymbol = Symbol.for('graceful-fs.previous')\n} else {\n gracefulQueue = '___graceful-fs.queue'\n previousSymbol = '___graceful-fs.previous'\n}\n\nfunction noop () {}\n\nfunction publishQueue(context, queue) {\n Object.defineProperty(context, gracefulQueue, {\n get: function() {\n return queue\n }\n })\n}\n\nvar debug = noop\nif (util.debuglog)\n debug = util.debuglog('gfs4')\nelse if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || ''))\n debug = function() {\n var m = util.format.apply(util, arguments)\n m = 'GFS4: ' + m.split(/\\n/).join('\\nGFS4: ')\n console.error(m)\n }\n\n// Once time initialization\nif (!fs[gracefulQueue]) {\n // This queue can be shared by multiple loaded instances\n var queue = global[gracefulQueue] || []\n publishQueue(fs, queue)\n\n // Patch fs.close/closeSync to shared queue version, because we need\n // to retry() whenever a close happens *anywhere* in the program.\n // This is essential when multiple graceful-fs instances are\n // in play at the same time.\n fs.close = (function (fs$close) {\n function close (fd, cb) {\n return fs$close.call(fs, fd, function (err) {\n // This function uses the graceful-fs shared queue\n if (!err) {\n retry()\n }\n\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n })\n }\n\n Object.defineProperty(close, previousSymbol, {\n value: fs$close\n })\n return close\n })(fs.close)\n\n fs.closeSync = (function (fs$closeSync) {\n function closeSync (fd) {\n // This function uses the graceful-fs shared queue\n fs$closeSync.apply(fs, arguments)\n retry()\n }\n\n Object.defineProperty(closeSync, previousSymbol, {\n value: fs$closeSync\n })\n return closeSync\n })(fs.closeSync)\n\n if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || '')) {\n process.on('exit', function() {\n debug(fs[gracefulQueue])\n require('assert').equal(fs[gracefulQueue].length, 0)\n })\n }\n}\n\nif (!global[gracefulQueue]) {\n publishQueue(global, fs[gracefulQueue]);\n}\n\nmodule.exports = patch(clone(fs))\nif (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {\n module.exports = patch(fs)\n fs.__patched = true;\n}\n\nfunction patch (fs) {\n // Everything that references the open() function needs to be in here\n polyfills(fs)\n fs.gracefulify = patch\n\n fs.createReadStream = createReadStream\n fs.createWriteStream = createWriteStream\n var fs$readFile = fs.readFile\n fs.readFile = readFile\n function readFile (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readFile(path, options, cb)\n\n function go$readFile (path, options, cb) {\n return fs$readFile(path, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readFile, [path, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$writeFile = fs.writeFile\n fs.writeFile = writeFile\n function writeFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$writeFile(path, data, options, cb)\n\n function go$writeFile (path, data, options, cb) {\n return fs$writeFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$writeFile, [path, data, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$appendFile = fs.appendFile\n if (fs$appendFile)\n fs.appendFile = appendFile\n function appendFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$appendFile(path, data, options, cb)\n\n function go$appendFile (path, data, options, cb) {\n return fs$appendFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$appendFile, [path, data, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$readdir = fs.readdir\n fs.readdir = readdir\n function readdir (path, options, cb) {\n var args = [path]\n if (typeof options !== 'function') {\n args.push(options)\n } else {\n cb = options\n }\n args.push(go$readdir$cb)\n\n return go$readdir(args)\n\n function go$readdir$cb (err, files) {\n if (files && files.sort)\n files.sort()\n\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readdir, [args]])\n\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n }\n }\n\n function go$readdir (args) {\n return fs$readdir.apply(fs, args)\n }\n\n if (process.version.substr(0, 4) === 'v0.8') {\n var legStreams = legacy(fs)\n ReadStream = legStreams.ReadStream\n WriteStream = legStreams.WriteStream\n }\n\n var fs$ReadStream = fs.ReadStream\n if (fs$ReadStream) {\n ReadStream.prototype = Object.create(fs$ReadStream.prototype)\n ReadStream.prototype.open = ReadStream$open\n }\n\n var fs$WriteStream = fs.WriteStream\n if (fs$WriteStream) {\n WriteStream.prototype = Object.create(fs$WriteStream.prototype)\n WriteStream.prototype.open = WriteStream$open\n }\n\n Object.defineProperty(fs, 'ReadStream', {\n get: function () {\n return ReadStream\n },\n set: function (val) {\n ReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n Object.defineProperty(fs, 'WriteStream', {\n get: function () {\n return WriteStream\n },\n set: function (val) {\n WriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n // legacy names\n var FileReadStream = ReadStream\n Object.defineProperty(fs, 'FileReadStream', {\n get: function () {\n return FileReadStream\n },\n set: function (val) {\n FileReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n var FileWriteStream = WriteStream\n Object.defineProperty(fs, 'FileWriteStream', {\n get: function () {\n return FileWriteStream\n },\n set: function (val) {\n FileWriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n function ReadStream (path, options) {\n if (this instanceof ReadStream)\n return fs$ReadStream.apply(this, arguments), this\n else\n return ReadStream.apply(Object.create(ReadStream.prototype), arguments)\n }\n\n function ReadStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n if (that.autoClose)\n that.destroy()\n\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n that.read()\n }\n })\n }\n\n function WriteStream (path, options) {\n if (this instanceof WriteStream)\n return fs$WriteStream.apply(this, arguments), this\n else\n return WriteStream.apply(Object.create(WriteStream.prototype), arguments)\n }\n\n function WriteStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n that.destroy()\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n }\n })\n }\n\n function createReadStream (path, options) {\n return new fs.ReadStream(path, options)\n }\n\n function createWriteStream (path, options) {\n return new fs.WriteStream(path, options)\n }\n\n var fs$open = fs.open\n fs.open = open\n function open (path, flags, mode, cb) {\n if (typeof mode === 'function')\n cb = mode, mode = null\n\n return go$open(path, flags, mode, cb)\n\n function go$open (path, flags, mode, cb) {\n return fs$open(path, flags, mode, function (err, fd) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$open, [path, flags, mode, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n return fs\n}\n\nfunction enqueue (elem) {\n debug('ENQUEUE', elem[0].name, elem[1])\n fs[gracefulQueue].push(elem)\n}\n\nfunction retry () {\n var elem = fs[gracefulQueue].shift()\n if (elem) {\n debug('RETRY', elem[0].name, elem[1])\n elem[0].apply(null, elem[1])\n }\n}\n","// Ignore warning about 'new String()'\n/* eslint no-new-wrappers: 0 */\n'use strict';\n\nvar os = require('os');\nvar fs = require('fs');\nvar glob = require('glob');\nvar shell = require('..');\n\nvar shellMethods = Object.create(shell);\n\nexports.extend = Object.assign;\n\n// Check if we're running under electron\nvar isElectron = Boolean(process.versions.electron);\n\n// Module globals (assume no execPath by default)\nvar DEFAULT_CONFIG = {\n fatal: false,\n globOptions: {},\n maxdepth: 255,\n noglob: false,\n silent: false,\n verbose: false,\n execPath: null,\n bufLength: 64 * 1024, // 64KB\n};\n\nvar config = {\n reset: function () {\n Object.assign(this, DEFAULT_CONFIG);\n if (!isElectron) {\n this.execPath = process.execPath;\n }\n },\n resetForTesting: function () {\n this.reset();\n this.silent = true;\n },\n};\n\nconfig.reset();\nexports.config = config;\n\n// Note: commands should generally consider these as read-only values.\nvar state = {\n error: null,\n errorCode: 0,\n currentCmd: 'shell.js',\n};\nexports.state = state;\n\ndelete process.env.OLDPWD; // initially, there's no previous directory\n\n// Reliably test if something is any sort of javascript object\nfunction isObject(a) {\n return typeof a === 'object' && a !== null;\n}\nexports.isObject = isObject;\n\nfunction log() {\n /* istanbul ignore next */\n if (!config.silent) {\n console.error.apply(console, arguments);\n }\n}\nexports.log = log;\n\n// Converts strings to be equivalent across all platforms. Primarily responsible\n// for making sure we use '/' instead of '\\' as path separators, but this may be\n// expanded in the future if necessary\nfunction convertErrorOutput(msg) {\n if (typeof msg !== 'string') {\n throw new TypeError('input must be a string');\n }\n return msg.replace(/\\\\/g, '/');\n}\nexports.convertErrorOutput = convertErrorOutput;\n\n// Shows error message. Throws if config.fatal is true\nfunction error(msg, _code, options) {\n // Validate input\n if (typeof msg !== 'string') throw new Error('msg must be a string');\n\n var DEFAULT_OPTIONS = {\n continue: false,\n code: 1,\n prefix: state.currentCmd + ': ',\n silent: false,\n };\n\n if (typeof _code === 'number' && isObject(options)) {\n options.code = _code;\n } else if (isObject(_code)) { // no 'code'\n options = _code;\n } else if (typeof _code === 'number') { // no 'options'\n options = { code: _code };\n } else if (typeof _code !== 'number') { // only 'msg'\n options = {};\n }\n options = Object.assign({}, DEFAULT_OPTIONS, options);\n\n if (!state.errorCode) state.errorCode = options.code;\n\n var logEntry = convertErrorOutput(options.prefix + msg);\n state.error = state.error ? state.error + '\\n' : '';\n state.error += logEntry;\n\n // Throw an error, or log the entry\n if (config.fatal) throw new Error(logEntry);\n if (msg.length > 0 && !options.silent) log(logEntry);\n\n if (!options.continue) {\n throw {\n msg: 'earlyExit',\n retValue: (new ShellString('', state.error, state.errorCode)),\n };\n }\n}\nexports.error = error;\n\n//@\n//@ ### ShellString(str)\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ var foo = ShellString('hello world');\n//@ ```\n//@\n//@ Turns a regular string into a string-like object similar to what each\n//@ command returns. This has special methods, like `.to()` and `.toEnd()`.\nfunction ShellString(stdout, stderr, code) {\n var that;\n if (stdout instanceof Array) {\n that = stdout;\n that.stdout = stdout.join('\\n');\n if (stdout.length > 0) that.stdout += '\\n';\n } else {\n that = new String(stdout);\n that.stdout = stdout;\n }\n that.stderr = stderr;\n that.code = code;\n // A list of all commands that can appear on the right-hand side of a pipe\n // (populated by calls to common.wrap())\n pipeMethods.forEach(function (cmd) {\n that[cmd] = shellMethods[cmd].bind(that);\n });\n return that;\n}\n\nexports.ShellString = ShellString;\n\n// Returns {'alice': true, 'bob': false} when passed a string and dictionary as follows:\n// parseOptions('-a', {'a':'alice', 'b':'bob'});\n// Returns {'reference': 'string-value', 'bob': false} when passed two dictionaries of the form:\n// parseOptions({'-r': 'string-value'}, {'r':'reference', 'b':'bob'});\n// Throws an error when passed a string that does not start with '-':\n// parseOptions('a', {'a':'alice'}); // throws\nfunction parseOptions(opt, map, errorOptions) {\n // Validate input\n if (typeof opt !== 'string' && !isObject(opt)) {\n throw new Error('options must be strings or key-value pairs');\n } else if (!isObject(map)) {\n throw new Error('parseOptions() internal error: map must be an object');\n } else if (errorOptions && !isObject(errorOptions)) {\n throw new Error('parseOptions() internal error: errorOptions must be object');\n }\n\n if (opt === '--') {\n // This means there are no options.\n return {};\n }\n\n // All options are false by default\n var options = {};\n Object.keys(map).forEach(function (letter) {\n var optName = map[letter];\n if (optName[0] !== '!') {\n options[optName] = false;\n }\n });\n\n if (opt === '') return options; // defaults\n\n if (typeof opt === 'string') {\n if (opt[0] !== '-') {\n throw new Error(\"Options string must start with a '-'\");\n }\n\n // e.g. chars = ['R', 'f']\n var chars = opt.slice(1).split('');\n\n chars.forEach(function (c) {\n if (c in map) {\n var optionName = map[c];\n if (optionName[0] === '!') {\n options[optionName.slice(1)] = false;\n } else {\n options[optionName] = true;\n }\n } else {\n error('option not recognized: ' + c, errorOptions || {});\n }\n });\n } else { // opt is an Object\n Object.keys(opt).forEach(function (key) {\n // key is a string of the form '-r', '-d', etc.\n var c = key[1];\n if (c in map) {\n var optionName = map[c];\n options[optionName] = opt[key]; // assign the given value\n } else {\n error('option not recognized: ' + c, errorOptions || {});\n }\n });\n }\n return options;\n}\nexports.parseOptions = parseOptions;\n\n// Expands wildcards with matching (ie. existing) file names.\n// For example:\n// expand(['file*.js']) = ['file1.js', 'file2.js', ...]\n// (if the files 'file1.js', 'file2.js', etc, exist in the current dir)\nfunction expand(list) {\n if (!Array.isArray(list)) {\n throw new TypeError('must be an array');\n }\n var expanded = [];\n list.forEach(function (listEl) {\n // Don't expand non-strings\n if (typeof listEl !== 'string') {\n expanded.push(listEl);\n } else {\n var ret;\n try {\n ret = glob.sync(listEl, config.globOptions);\n // if nothing matched, interpret the string literally\n ret = ret.length > 0 ? ret : [listEl];\n } catch (e) {\n // if glob fails, interpret the string literally\n ret = [listEl];\n }\n expanded = expanded.concat(ret);\n }\n });\n return expanded;\n}\nexports.expand = expand;\n\n// Normalizes Buffer creation, using Buffer.alloc if possible.\n// Also provides a good default buffer length for most use cases.\nvar buffer = typeof Buffer.alloc === 'function' ?\n function (len) {\n return Buffer.alloc(len || config.bufLength);\n } :\n function (len) {\n return new Buffer(len || config.bufLength);\n };\nexports.buffer = buffer;\n\n// Normalizes _unlinkSync() across platforms to match Unix behavior, i.e.\n// file can be unlinked even if it's read-only, see https://github.com/joyent/node/issues/3006\nfunction unlinkSync(file) {\n try {\n fs.unlinkSync(file);\n } catch (e) {\n // Try to override file permission\n /* istanbul ignore next */\n if (e.code === 'EPERM') {\n fs.chmodSync(file, '0666');\n fs.unlinkSync(file);\n } else {\n throw e;\n }\n }\n}\nexports.unlinkSync = unlinkSync;\n\n// wrappers around common.statFollowLinks and common.statNoFollowLinks that clarify intent\n// and improve readability\nfunction statFollowLinks() {\n return fs.statSync.apply(fs, arguments);\n}\nexports.statFollowLinks = statFollowLinks;\n\nfunction statNoFollowLinks() {\n return fs.lstatSync.apply(fs, arguments);\n}\nexports.statNoFollowLinks = statNoFollowLinks;\n\n// e.g. 'shelljs_a5f185d0443ca...'\nfunction randomFileName() {\n function randomHash(count) {\n if (count === 1) {\n return parseInt(16 * Math.random(), 10).toString(16);\n }\n var hash = '';\n for (var i = 0; i < count; i++) {\n hash += randomHash(1);\n }\n return hash;\n }\n\n return 'shelljs_' + randomHash(20);\n}\nexports.randomFileName = randomFileName;\n\n// Common wrapper for all Unix-like commands that performs glob expansion,\n// command-logging, and other nice things\nfunction wrap(cmd, fn, options) {\n options = options || {};\n return function () {\n var retValue = null;\n\n state.currentCmd = cmd;\n state.error = null;\n state.errorCode = 0;\n\n try {\n var args = [].slice.call(arguments, 0);\n\n // Log the command to stderr, if appropriate\n if (config.verbose) {\n console.error.apply(console, [cmd].concat(args));\n }\n\n // If this is coming from a pipe, let's set the pipedValue (otherwise, set\n // it to the empty string)\n state.pipedValue = (this && typeof this.stdout === 'string') ? this.stdout : '';\n\n if (options.unix === false) { // this branch is for exec()\n retValue = fn.apply(this, args);\n } else { // and this branch is for everything else\n if (isObject(args[0]) && args[0].constructor.name === 'Object') {\n // a no-op, allowing the syntax `touch({'-r': file}, ...)`\n } else if (args.length === 0 || typeof args[0] !== 'string' || args[0].length <= 1 || args[0][0] !== '-') {\n args.unshift(''); // only add dummy option if '-option' not already present\n }\n\n // flatten out arrays that are arguments, to make the syntax:\n // `cp([file1, file2, file3], dest);`\n // equivalent to:\n // `cp(file1, file2, file3, dest);`\n args = args.reduce(function (accum, cur) {\n if (Array.isArray(cur)) {\n return accum.concat(cur);\n }\n accum.push(cur);\n return accum;\n }, []);\n\n // Convert ShellStrings (basically just String objects) to regular strings\n args = args.map(function (arg) {\n if (isObject(arg) && arg.constructor.name === 'String') {\n return arg.toString();\n }\n return arg;\n });\n\n // Expand the '~' if appropriate\n var homeDir = os.homedir();\n args = args.map(function (arg) {\n if (typeof arg === 'string' && arg.slice(0, 2) === '~/' || arg === '~') {\n return arg.replace(/^~/, homeDir);\n }\n return arg;\n });\n\n // Perform glob-expansion on all arguments after globStart, but preserve\n // the arguments before it (like regexes for sed and grep)\n if (!config.noglob && options.allowGlobbing === true) {\n args = args.slice(0, options.globStart).concat(expand(args.slice(options.globStart)));\n }\n\n try {\n // parse options if options are provided\n if (isObject(options.cmdOptions)) {\n args[0] = parseOptions(args[0], options.cmdOptions);\n }\n\n retValue = fn.apply(this, args);\n } catch (e) {\n /* istanbul ignore else */\n if (e.msg === 'earlyExit') {\n retValue = e.retValue;\n } else {\n throw e; // this is probably a bug that should be thrown up the call stack\n }\n }\n }\n } catch (e) {\n /* istanbul ignore next */\n if (!state.error) {\n // If state.error hasn't been set it's an error thrown by Node, not us - probably a bug...\n e.name = 'ShellJSInternalError';\n throw e;\n }\n if (config.fatal) throw e;\n }\n\n if (options.wrapOutput &&\n (typeof retValue === 'string' || Array.isArray(retValue))) {\n retValue = new ShellString(retValue, state.error, state.errorCode);\n }\n\n state.currentCmd = 'shell.js';\n return retValue;\n };\n} // wrap\nexports.wrap = wrap;\n\n// This returns all the input that is piped into the current command (or the\n// empty string, if this isn't on the right-hand side of a pipe\nfunction _readFromPipe() {\n return state.pipedValue;\n}\nexports.readFromPipe = _readFromPipe;\n\nvar DEFAULT_WRAP_OPTIONS = {\n allowGlobbing: true,\n canReceivePipe: false,\n cmdOptions: null,\n globStart: 1,\n pipeOnly: false,\n wrapOutput: true,\n unix: true,\n};\n\n// This is populated during plugin registration\nvar pipeMethods = [];\n\n// Register a new ShellJS command\nfunction _register(name, implementation, wrapOptions) {\n wrapOptions = wrapOptions || {};\n\n // Validate options\n Object.keys(wrapOptions).forEach(function (option) {\n if (!DEFAULT_WRAP_OPTIONS.hasOwnProperty(option)) {\n throw new Error(\"Unknown option '\" + option + \"'\");\n }\n if (typeof wrapOptions[option] !== typeof DEFAULT_WRAP_OPTIONS[option]) {\n throw new TypeError(\"Unsupported type '\" + typeof wrapOptions[option] +\n \"' for option '\" + option + \"'\");\n }\n });\n\n // If an option isn't specified, use the default\n wrapOptions = Object.assign({}, DEFAULT_WRAP_OPTIONS, wrapOptions);\n\n if (shell.hasOwnProperty(name)) {\n throw new Error('Command `' + name + '` already exists');\n }\n\n if (wrapOptions.pipeOnly) {\n wrapOptions.canReceivePipe = true;\n shellMethods[name] = wrap(name, implementation, wrapOptions);\n } else {\n shell[name] = wrap(name, implementation, wrapOptions);\n }\n\n if (wrapOptions.canReceivePipe) {\n pipeMethods.push(name);\n }\n}\nexports.register = _register;\n","'use strict';\n\n// module to handle cookies\n\nconst urllib = require('url');\n\nconst SESSION_TIMEOUT = 1800; // 30 min\n\n/**\n * Creates a biskviit cookie jar for managing cookie values in memory\n *\n * @constructor\n * @param {Object} [options] Optional options object\n */\nclass Cookies {\n constructor(options) {\n this.options = options || {};\n this.cookies = [];\n }\n\n /**\n * Stores a cookie string to the cookie storage\n *\n * @param {String} cookieStr Value from the 'Set-Cookie:' header\n * @param {String} url Current URL\n */\n set(cookieStr, url) {\n let urlparts = urllib.parse(url || '');\n let cookie = this.parse(cookieStr);\n let domain;\n\n if (cookie.domain) {\n domain = cookie.domain.replace(/^\\./, '');\n\n // do not allow cross origin cookies\n if (\n // can't be valid if the requested domain is shorter than current hostname\n urlparts.hostname.length < domain.length ||\n // prefix domains with dot to be sure that partial matches are not used\n ('.' + urlparts.hostname).substr(-domain.length + 1) !== '.' + domain\n ) {\n cookie.domain = urlparts.hostname;\n }\n } else {\n cookie.domain = urlparts.hostname;\n }\n\n if (!cookie.path) {\n cookie.path = this.getPath(urlparts.pathname);\n }\n\n // if no expire date, then use sessionTimeout value\n if (!cookie.expires) {\n cookie.expires = new Date(Date.now() + (Number(this.options.sessionTimeout || SESSION_TIMEOUT) || SESSION_TIMEOUT) * 1000);\n }\n\n return this.add(cookie);\n }\n\n /**\n * Returns cookie string for the 'Cookie:' header.\n *\n * @param {String} url URL to check for\n * @returns {String} Cookie header or empty string if no matches were found\n */\n get(url) {\n return this.list(url)\n .map(cookie => cookie.name + '=' + cookie.value)\n .join('; ');\n }\n\n /**\n * Lists all valied cookie objects for the specified URL\n *\n * @param {String} url URL to check for\n * @returns {Array} An array of cookie objects\n */\n list(url) {\n let result = [];\n let i;\n let cookie;\n\n for (i = this.cookies.length - 1; i >= 0; i--) {\n cookie = this.cookies[i];\n\n if (this.isExpired(cookie)) {\n this.cookies.splice(i, i);\n continue;\n }\n\n if (this.match(cookie, url)) {\n result.unshift(cookie);\n }\n }\n\n return result;\n }\n\n /**\n * Parses cookie string from the 'Set-Cookie:' header\n *\n * @param {String} cookieStr String from the 'Set-Cookie:' header\n * @returns {Object} Cookie object\n */\n parse(cookieStr) {\n let cookie = {};\n\n (cookieStr || '')\n .toString()\n .split(';')\n .forEach(cookiePart => {\n let valueParts = cookiePart.split('=');\n let key = valueParts.shift().trim().toLowerCase();\n let value = valueParts.join('=').trim();\n let domain;\n\n if (!key) {\n // skip empty parts\n return;\n }\n\n switch (key) {\n case 'expires':\n value = new Date(value);\n // ignore date if can not parse it\n if (value.toString() !== 'Invalid Date') {\n cookie.expires = value;\n }\n break;\n\n case 'path':\n cookie.path = value;\n break;\n\n case 'domain':\n domain = value.toLowerCase();\n if (domain.length && domain.charAt(0) !== '.') {\n domain = '.' + domain; // ensure preceeding dot for user set domains\n }\n cookie.domain = domain;\n break;\n\n case 'max-age':\n cookie.expires = new Date(Date.now() + (Number(value) || 0) * 1000);\n break;\n\n case 'secure':\n cookie.secure = true;\n break;\n\n case 'httponly':\n cookie.httponly = true;\n break;\n\n default:\n if (!cookie.name) {\n cookie.name = key;\n cookie.value = value;\n }\n }\n });\n\n return cookie;\n }\n\n /**\n * Checks if a cookie object is valid for a specified URL\n *\n * @param {Object} cookie Cookie object\n * @param {String} url URL to check for\n * @returns {Boolean} true if cookie is valid for specifiec URL\n */\n match(cookie, url) {\n let urlparts = urllib.parse(url || '');\n\n // check if hostname matches\n // .foo.com also matches subdomains, foo.com does not\n if (\n urlparts.hostname !== cookie.domain &&\n (cookie.domain.charAt(0) !== '.' || ('.' + urlparts.hostname).substr(-cookie.domain.length) !== cookie.domain)\n ) {\n return false;\n }\n\n // check if path matches\n let path = this.getPath(urlparts.pathname);\n if (path.substr(0, cookie.path.length) !== cookie.path) {\n return false;\n }\n\n // check secure argument\n if (cookie.secure && urlparts.protocol !== 'https:') {\n return false;\n }\n\n return true;\n }\n\n /**\n * Adds (or updates/removes if needed) a cookie object to the cookie storage\n *\n * @param {Object} cookie Cookie value to be stored\n */\n add(cookie) {\n let i;\n let len;\n\n // nothing to do here\n if (!cookie || !cookie.name) {\n return false;\n }\n\n // overwrite if has same params\n for (i = 0, len = this.cookies.length; i < len; i++) {\n if (this.compare(this.cookies[i], cookie)) {\n // check if the cookie needs to be removed instead\n if (this.isExpired(cookie)) {\n this.cookies.splice(i, 1); // remove expired/unset cookie\n return false;\n }\n\n this.cookies[i] = cookie;\n return true;\n }\n }\n\n // add as new if not already expired\n if (!this.isExpired(cookie)) {\n this.cookies.push(cookie);\n }\n\n return true;\n }\n\n /**\n * Checks if two cookie objects are the same\n *\n * @param {Object} a Cookie to check against\n * @param {Object} b Cookie to check against\n * @returns {Boolean} True, if the cookies are the same\n */\n compare(a, b) {\n return a.name === b.name && a.path === b.path && a.domain === b.domain && a.secure === b.secure && a.httponly === a.httponly;\n }\n\n /**\n * Checks if a cookie is expired\n *\n * @param {Object} cookie Cookie object to check against\n * @returns {Boolean} True, if the cookie is expired\n */\n isExpired(cookie) {\n return (cookie.expires && cookie.expires < new Date()) || !cookie.value;\n }\n\n /**\n * Returns normalized cookie path for an URL path argument\n *\n * @param {String} pathname\n * @returns {String} Normalized path\n */\n getPath(pathname) {\n let path = (pathname || '/').split('/');\n path.pop(); // remove filename part\n path = path.join('/').trim();\n\n // ensure path prefix /\n if (path.charAt(0) !== '/') {\n path = '/' + path;\n }\n\n // ensure path suffix /\n if (path.substr(-1) !== '/') {\n path += '/';\n }\n\n return path;\n }\n}\n\nmodule.exports = Cookies;\n","var common = require('./common');\n\n//@\n//@ ### error()\n//@\n//@ Tests if error occurred in the last command. Returns a truthy value if an\n//@ error returned, or a falsy value otherwise.\n//@\n//@ **Note**: do not rely on the\n//@ return value to be an error message. If you need the last error message, use\n//@ the `.stderr` attribute from the last command's return value instead.\nfunction error() {\n return common.state.error;\n}\nmodule.exports = error;\n","'use strict'\n\nmodule.exports = clone\n\nfunction clone (obj) {\n if (obj === null || typeof obj !== 'object')\n return obj\n\n if (obj instanceof Object)\n var copy = { __proto__: obj.__proto__ }\n else\n var copy = Object.create(null)\n\n Object.getOwnPropertyNames(obj).forEach(function (key) {\n Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))\n })\n\n return copy\n}\n","// Standard YAML's Core schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2804923\n//\n// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n// So, Core schema has no distinctions from JSON schema is JS-YAML.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./json')\n ]\n});\n","module.exports = require(\"events\");","'use strict'\n\nconst u = require('universalify').fromCallback\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdir = require('../mkdirs')\nconst remove = require('../remove')\n\nconst emptyDir = u(function emptyDir (dir, callback) {\n callback = callback || function () {}\n fs.readdir(dir, (err, items) => {\n if (err) return mkdir.mkdirs(dir, callback)\n\n items = items.map(item => path.join(dir, item))\n\n deleteItem()\n\n function deleteItem () {\n const item = items.pop()\n if (!item) return callback()\n remove.remove(item, err => {\n if (err) return callback(err)\n deleteItem()\n })\n }\n })\n})\n\nfunction emptyDirSync (dir) {\n let items\n try {\n items = fs.readdirSync(dir)\n } catch {\n return mkdir.mkdirsSync(dir)\n }\n\n items.forEach(item => {\n item = path.join(dir, item)\n remove.removeSync(item)\n })\n}\n\nmodule.exports = {\n emptyDirSync,\n emptydirSync: emptyDirSync,\n emptyDir,\n emptydir: emptyDir\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):((t=\"undefined\"!=typeof globalThis?globalThis:t||self).prettierPlugins=t.prettierPlugins||{},t.prettierPlugins.babel=e())}(this,(function(){\"use strict\";var t=function(t,e){const s=new SyntaxError(t+\" (\"+e.start.line+\":\"+e.start.column+\")\");return s.loc=e,s},e=t=>\"string\"==typeof t?t.replace((({onlyFirst:t=!1}={})=>{const e=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(e,t?void 0:\"g\")})(),\"\"):t;const s=t=>!Number.isNaN(t)&&(t>=4352&&(t<=4447||9001===t||9002===t||11904<=t&&t<=12871&&12351!==t||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141));var r=s,i=s;r.default=i;const n=t=>{if(\"string\"!=typeof(t=t.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\" \"))||0===t.length)return 0;t=e(t);let s=0;for(let e=0;e=127&&i<=159||(i>=768&&i<=879||(i>65535&&e++,s+=r(i)?2:1))}return s};var a=n,o=n;a.default=o;var u=t=>{if(\"string\"!=typeof t)throw new TypeError(\"Expected a string\");return t.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function h(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}var c=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{};function p(){throw new Error(\"setTimeout has not been defined\")}function l(){throw new Error(\"clearTimeout has not been defined\")}var d=p,D=l;function m(t){if(d===setTimeout)return setTimeout(t,0);if((d===p||!d)&&setTimeout)return d=setTimeout,setTimeout(t,0);try{return d(t,0)}catch(e){try{return d.call(null,t,0)}catch(e){return d.call(this,t,0)}}}\"function\"==typeof c.setTimeout&&(d=setTimeout),\"function\"==typeof c.clearTimeout&&(D=clearTimeout);var f,y=[],E=!1,A=-1;function C(){E&&f&&(E=!1,f.length?y=f.concat(y):A=-1,y.length&&x())}function x(){if(!E){var t=m(C);E=!0;for(var e=y.length;e;){for(f=y,y=[];++A1)for(var s=1;sconsole.error(\"SEMVER\",...t):()=>{};var M={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16};function R(t,e,s){return t(s={path:e,exports:{},require:function(t,e){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==e&&s.path)}},s.exports),s.exports}function _(t){return t&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var j=R((function(t,e){const{MAX_SAFE_COMPONENT_LENGTH:s}=M,r=(e=t.exports={}).re=[],i=e.src=[],n=e.t={};let a=0;const o=(t,e,s)=>{const o=a++;O(o,e),n[t]=o,i[o]=e,r[o]=new RegExp(e,s?\"g\":void 0)};o(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),o(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),o(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),o(\"MAINVERSION\",\"(\".concat(i[n.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(i[n.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(i[n.NUMERICIDENTIFIER],\")\")),o(\"MAINVERSIONLOOSE\",\"(\".concat(i[n.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(i[n.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(i[n.NUMERICIDENTIFIERLOOSE],\")\")),o(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(i[n.NUMERICIDENTIFIER],\"|\").concat(i[n.NONNUMERICIDENTIFIER],\")\")),o(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(i[n.NUMERICIDENTIFIERLOOSE],\"|\").concat(i[n.NONNUMERICIDENTIFIER],\")\")),o(\"PRERELEASE\",\"(?:-(\".concat(i[n.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(i[n.PRERELEASEIDENTIFIER],\")*))\")),o(\"PRERELEASELOOSE\",\"(?:-?(\".concat(i[n.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(i[n.PRERELEASEIDENTIFIERLOOSE],\")*))\")),o(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),o(\"BUILD\",\"(?:\\\\+(\".concat(i[n.BUILDIDENTIFIER],\"(?:\\\\.\").concat(i[n.BUILDIDENTIFIER],\")*))\")),o(\"FULLPLAIN\",\"v?\".concat(i[n.MAINVERSION]).concat(i[n.PRERELEASE],\"?\").concat(i[n.BUILD],\"?\")),o(\"FULL\",\"^\".concat(i[n.FULLPLAIN],\"$\")),o(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(i[n.MAINVERSIONLOOSE]).concat(i[n.PRERELEASELOOSE],\"?\").concat(i[n.BUILD],\"?\")),o(\"LOOSE\",\"^\".concat(i[n.LOOSEPLAIN],\"$\")),o(\"GTLT\",\"((?:<|>)?=?)\"),o(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(i[n.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),o(\"XRANGEIDENTIFIER\",\"\".concat(i[n.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),o(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(i[n.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(i[n.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(i[n.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(i[n.PRERELEASE],\")?\").concat(i[n.BUILD],\"?\")+\")?)?\"),o(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(i[n.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(i[n.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(i[n.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(i[n.PRERELEASELOOSE],\")?\").concat(i[n.BUILD],\"?\")+\")?)?\"),o(\"XRANGE\",\"^\".concat(i[n.GTLT],\"\\\\s*\").concat(i[n.XRANGEPLAIN],\"$\")),o(\"XRANGELOOSE\",\"^\".concat(i[n.GTLT],\"\\\\s*\").concat(i[n.XRANGEPLAINLOOSE],\"$\")),o(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(s,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(s,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(s,\"}))?\")+\"(?:$|[^\\\\d])\"),o(\"COERCERTL\",i[n.COERCE],!0),o(\"LONETILDE\",\"(?:~>?)\"),o(\"TILDETRIM\",\"(\\\\s*)\".concat(i[n.LONETILDE],\"\\\\s+\"),!0),e.tildeTrimReplace=\"$1~\",o(\"TILDE\",\"^\".concat(i[n.LONETILDE]).concat(i[n.XRANGEPLAIN],\"$\")),o(\"TILDELOOSE\",\"^\".concat(i[n.LONETILDE]).concat(i[n.XRANGEPLAINLOOSE],\"$\")),o(\"LONECARET\",\"(?:\\\\^)\"),o(\"CARETTRIM\",\"(\\\\s*)\".concat(i[n.LONECARET],\"\\\\s+\"),!0),e.caretTrimReplace=\"$1^\",o(\"CARET\",\"^\".concat(i[n.LONECARET]).concat(i[n.XRANGEPLAIN],\"$\")),o(\"CARETLOOSE\",\"^\".concat(i[n.LONECARET]).concat(i[n.XRANGEPLAINLOOSE],\"$\")),o(\"COMPARATORLOOSE\",\"^\".concat(i[n.GTLT],\"\\\\s*(\").concat(i[n.LOOSEPLAIN],\")$|^$\")),o(\"COMPARATOR\",\"^\".concat(i[n.GTLT],\"\\\\s*(\").concat(i[n.FULLPLAIN],\")$|^$\")),o(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(i[n.GTLT],\"\\\\s*(\").concat(i[n.LOOSEPLAIN],\"|\").concat(i[n.XRANGEPLAIN],\")\"),!0),e.comparatorTrimReplace=\"$1$2$3\",o(\"HYPHENRANGE\",\"^\\\\s*(\".concat(i[n.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(i[n.XRANGEPLAIN],\")\")+\"\\\\s*$\"),o(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(i[n.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(i[n.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),o(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),o(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),o(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")}));const U=/^[0-9]+$/,q=(t,e)=>{const s=U.test(t),r=U.test(e);return s&&r&&(t=+t,e=+e),t===e?0:s&&!r?-1:r&&!s?1:tq(e,t)};const{MAX_LENGTH:z,MAX_SAFE_INTEGER:H}=M,{re:W,t:X}=j,{compareIdentifiers:G}=V;class K{constructor(t,e){if(e&&\"object\"==typeof e||(e={loose:!!e,includePrerelease:!1}),t instanceof K){if(t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease)return t;t=t.version}else if(\"string\"!=typeof t)throw new TypeError(\"Invalid Version: \".concat(t));if(t.length>z)throw new TypeError(\"version is longer than \".concat(z,\" characters\"));O(\"SemVer\",t,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;const s=t.trim().match(e.loose?W[X.LOOSE]:W[X.FULL]);if(!s)throw new TypeError(\"Invalid Version: \".concat(t));if(this.raw=t,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>H||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>H||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>H||this.patch<0)throw new TypeError(\"Invalid patch version\");s[4]?this.prerelease=s[4].split(\".\").map((t=>{if(/^[0-9]+$/.test(t)){const e=+t;if(e>=0&&e=0;)\"number\"==typeof this.prerelease[t]&&(this.prerelease[t]++,t=-2);-1===t&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error(\"invalid increment argument: \".concat(t))}return this.format(),this.raw=this.version,this}}var J=K;var $=(t,e,s)=>new J(t,s).compare(new J(e,s));var Y=(t,e,s)=>$(t,e,s)<0;var Q=(t,e,s)=>$(t,e,s)>=0,Z=\"2.2.0\",tt=R((function(t,e){function s(){for(var t=[],e=0;e\"string\"==typeof t||\"function\"==typeof t,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:pt,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:t=>\"string\"==typeof t||\"object\"==typeof t,cliName:\"plugin\",cliCategory:ut},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:pt,description:ot(it()),exception:t=>\"string\"==typeof t||\"object\"==typeof t,cliName:\"plugin-search-dir\",cliCategory:ut},printWidth:{since:\"0.0.0\",category:pt,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:lt,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:ot(rt()),cliCategory:ht},rangeStart:{since:\"1.4.0\",category:lt,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:ot(st()),cliCategory:ht},requirePragma:{since:\"1.7.0\",category:lt,type:\"boolean\",default:!1,description:ot(et()),cliCategory:ct},tabWidth:{type:\"int\",category:pt,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:pt,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:pt,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};const Dt={compare:$,lt:Y,gte:Q},mt=Z,ft={CATEGORY_CONFIG:ut,CATEGORY_EDITOR:ht,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:ct,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:pt,CATEGORY_SPECIAL:lt,options:dt}.options;var yt={getSupportInfo:function({plugins:t=[],showUnreleased:e=!1,showDeprecated:s=!1,showInternal:r=!1}={}){const i=mt.split(\"-\",1)[0],n=t.reduce(((t,e)=>t.concat(e.languages||[])),[]).filter(h),a=(o=Object.assign({},...t.map((({options:t})=>t)),ft),u=\"name\",Object.entries(o).map((([t,e])=>Object.assign({[u]:t},e)))).filter((t=>h(t)&&c(t))).sort(((t,e)=>t.name===e.name?0:t.name=0||(i[s]=t[s]);return i}(t,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((e=>{e=Object.assign({},e),Array.isArray(e.default)&&(e.default=1===e.default.length?e.default[0].value:e.default.filter(h).sort(((t,e)=>Dt.compare(e.since,t.since)))[0].value),Array.isArray(e.choices)&&(e.choices=e.choices.filter((t=>h(t)&&c(t))),\"parser\"===e.name&&function(t,e,s){const r=new Set(t.choices.map((t=>t.value)));for(const i of e)if(i.parsers)for(const e of i.parsers)if(!r.has(e)){r.add(e);const n=s.find((t=>t.parsers&&t.parsers[e]));let a=i.name;n&&n.name&&(a+=\" (plugin: \".concat(n.name,\")\")),t.choices.push({value:e,description:a})}}(e,n,t));const s=t.filter((t=>t.defaultOptions&&void 0!==t.defaultOptions[e.name])).reduce(((t,s)=>(t[s.name]=s.defaultOptions[e.name],t)),{});return Object.assign({},e,{pluginDefaults:s})}));var o,u;return{languages:n,options:a};function h(t){return e||!(\"since\"in t)||t.since&&Dt.gte(i,t.since)}function c(t){return s||!(\"deprecated\"in t)||t.deprecated&&Dt.lt(i,t.deprecated)}}};const{getSupportInfo:Et}=yt,At=/[^\\x20-\\x7F]/;function Ct(t){return(e,s,r)=>{const i=r&&r.backwards;if(!1===s)return!1;const{length:n}=e;let a=s;for(;a>=0&&a(s.match(a.regex)||[]).length?a.quote:n.quote}return o}function Lt(t,e,s){const r='\"'===e?\"'\":'\"',i=t.replace(/\\\\([\\S\\s])|([\"'])/g,((t,i,n)=>i===r?i:n===e?\"\\\\\"+n:n||(s&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(i)?i:\"\\\\\"+i)));return e+i+e}function Ot(t,e){(t.comments||(t.comments=[])).push(e),e.printed=!1,\"JSXText\"===t.type&&(e.printed=!0)}var Mt={inferParserByLanguage:function(t,e){const{languages:s}=Et({plugins:e.plugins}),r=s.find((({name:e})=>e.toLowerCase()===t))||s.find((({aliases:e})=>Array.isArray(e)&&e.includes(t)))||s.find((({extensions:e})=>Array.isArray(e)&&e.includes(\".\".concat(t))));return r&&r.parsers[0]},replaceEndOfLineWith:function(t,e){const s=[];for(const r of t.split(\"\\n\"))0!==s.length&&s.push(e),s.push(r);return s},getStringWidth:function(t){return t?At.test(t)?a(t):t.length:0},getMaxContinuousCount:function(t,e){const s=t.match(new RegExp(\"(\".concat(u(e),\")+\"),\"g\"));return null===s?0:s.reduce(((t,s)=>Math.max(t,s.length/e.length)),0)},getMinNotPresentContinuousCount:function(t,e){const s=t.match(new RegExp(\"(\".concat(u(e),\")+\"),\"g\"));if(null===s)return 0;const r=new Map;let i=0;for(const t of s){const s=t.length/e.length;r.set(s,!0),s>i&&(i=s)}for(let t=1;tt[t.length-2],getLast:t=>t[t.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Nt,getNextNonSpaceNonCommentCharacterIndex:It,getNextNonSpaceNonCommentCharacter:function(t,e,s){return t.charAt(It(t,e,s))},skip:Ct,skipWhitespace:xt,skipSpaces:Ft,skipToLineEnd:gt,skipEverythingButNewLine:bt,skipInlineComment:Pt,skipTrailingComment:Tt,skipNewline:wt,isNextLineEmptyAfterIndex:St,isNextLineEmpty:function(t,e,s){return St(t,s(e))},isPreviousLineEmpty:function(t,e,s){let r=s(e)-1;return r=Ft(t,r,{backwards:!0}),r=wt(t,r,{backwards:!0}),r=Ft(t,r,{backwards:!0}),r!==wt(t,r,{backwards:!0})},hasNewline:Bt,hasNewlineInRange:function(t,e,s){for(let r=e;r\"browser\",cpus:()=>[{model:\"Prettier\"}]}});const _t=t=>{if(\"string\"!=typeof t)throw new TypeError(\"Expected a string\");const e=t.match(/(?:\\r?\\n)/g)||[];if(0===e.length)return;const s=e.filter((t=>\"\\r\\n\"===t)).length;return s>e.length-s?\"\\r\\n\":\"\\n\"};var jt=_t;jt.graceful=t=>\"string\"==typeof t&&_t(t)||\"\\n\";var Ut=_(Rt),qt=R((function(t,e){function s(){const t=Ut;return s=function(){return t},t}function r(){const t=(e=jt)&&e.__esModule?e:{default:e};var e;return r=function(){return t},t}Object.defineProperty(e,\"__esModule\",{value:!0}),e.extract=function(t){const e=t.match(a);return e?e[0].trimLeft():\"\"},e.strip=function(t){const e=t.match(a);return e&&e[0]?t.substring(e[0].length):t},e.parse=function(t){return d(t).pragmas},e.parseWithComments=d,e.print=function({comments:t=\"\",pragmas:e={}}){const i=(0,r().default)(t)||s().EOL,n=\" *\",a=Object.keys(e),o=a.map((t=>D(t,e[t]))).reduce(((t,e)=>t.concat(e)),[]).map((t=>\" * \"+t+i)).join(\"\");if(!t){if(0===a.length)return\"\";if(1===a.length&&!Array.isArray(e[a[0]])){const t=e[a[0]];return\"\".concat(\"/**\",\" \").concat(D(a[0],t)[0]).concat(\" */\")}}const u=t.split(i).map((t=>\"\".concat(n,\" \").concat(t))).join(i)+i;return\"/**\"+i+(t?u:\"\")+(t&&a.length?n+i:\"\")+o+\" */\"};const i=/\\*\\/$/,n=/^\\/\\*\\*/,a=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,o=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,u=/^(\\r?\\n)+/,h=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,c=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,p=/(\\r?\\n|^) *\\* ?/g,l=[];function d(t){const e=(0,r().default)(t)||s().EOL;t=t.replace(n,\"\").replace(i,\"\").replace(p,\"$1\");let a=\"\";for(;a!==t;)a=t,t=t.replace(h,\"\".concat(e,\"$1 $2\").concat(e));t=t.replace(u,\"\").trimRight();const d=Object.create(null),D=t.replace(c,\"\").replace(u,\"\").trimRight();let m;for(;m=c.exec(t);){const t=m[2].replace(o,\"\");\"string\"==typeof d[m[1]]||Array.isArray(d[m[1]])?d[m[1]]=l.concat(d[m[1]],t):d[m[1]]=t}return{comments:D,pragmas:d}}function D(t,e){return l.concat(e).map((e=>\"@\".concat(t,\" \").concat(e).trim()))}}));var Vt={guessEndOfLine:function(t){const e=t.indexOf(\"\\r\");return e>=0?\"\\n\"===t.charAt(e+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(t){switch(t){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(t,e){let s;if(\"\\n\"===e)s=/\\n/g;else if(\"\\r\"===e)s=/\\r/g;else{if(\"\\r\\n\"!==e)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(e),\".\"));s=/\\r\\n/g}const r=t.match(s);return r?r.length:0},normalizeEndOfLine:function(t){return t.replace(/\\r\\n?/g,\"\\n\")}};const{parseWithComments:zt,strip:Ht,extract:Wt,print:Xt}=qt,{getShebang:Gt}=Mt,{normalizeEndOfLine:Kt}=Vt;function Jt(t){const e=Gt(t);e&&(t=t.slice(e.length+1));const s=Wt(t),{pragmas:r,comments:i}=zt(s);return{shebang:e,text:t,pragmas:r,comments:i}}var $t={hasPragma:function(t){const e=Object.keys(Jt(t).pragmas);return e.includes(\"prettier\")||e.includes(\"format\")},insertPragma:function(t){const{shebang:e,text:s,pragmas:r,comments:i}=Jt(t),n=Ht(s),a=Xt({pragmas:Object.assign({format:\"\"},r),comments:i.trimStart()});return(e?\"\".concat(e,\"\\n\"):\"\")+Kt(a)+(n.startsWith(\"\\n\")?\"\\n\":\"\\n\\n\")+n}};function Yt(t,e){const{ignoreDecorators:s}=e||{};if(!s){const e=t.declaration&&t.declaration.decorators||t.decorators;if(e&&e.length>0)return Yt(e[0])}return t.range?t.range[0]:t.start}function Qt(t){const e=t.range?t.range[1]:t.end;return t.typeAnnotation?Math.max(e,Qt(t.typeAnnotation)):e}function Zt(t,e){return Yt(t)===Yt(e)}var te={locStart:Yt,locEnd:Qt,composeLoc:function(t,e=t){const s=Yt(t);return[s,\"number\"==typeof e?s+e:Qt(e)]},hasSameLocStart:Zt,hasSameLoc:function(t,e){return Zt(t,e)&&function(t,e){return Qt(t)===Qt(e)}(t,e)}},ee=R((function(t){!function(){function e(t){if(null==t)return!1;switch(t.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function s(t){switch(t.type){case\"IfStatement\":return null!=t.alternate?t.alternate:t.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return t.body}return null}t.exports={isExpression:function(t){if(null==t)return!1;switch(t.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:e,isIterationStatement:function(t){if(null==t)return!1;switch(t.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(t){return e(t)||null!=t&&\"FunctionDeclaration\"===t.type},isProblematicIfStatement:function(t){var e;if(\"IfStatement\"!==t.type)return!1;if(null==t.alternate)return!1;e=t.consequent;do{if(\"IfStatement\"===e.type&&null==e.alternate)return!0;e=s(e)}while(e);return!1},trailingStatement:s}}()})),se=R((function(t){!function(){var e,s,r,i,n,a;function o(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(Math.floor((t-65536)/1024)+55296)+String.fromCharCode((t-65536)%1024+56320)}for(s={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},e={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},r=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),a=0;a<128;++a)i[a]=a>=97&&a<=122||a>=65&&a<=90||36===a||95===a;for(n=new Array(128),a=0;a<128;++a)n[a]=a>=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||36===a||95===a;t.exports={isDecimalDigit:function(t){return 48<=t&&t<=57},isHexDigit:function(t){return 48<=t&&t<=57||97<=t&&t<=102||65<=t&&t<=70},isOctalDigit:function(t){return t>=48&&t<=55},isWhiteSpace:function(t){return 32===t||9===t||11===t||12===t||160===t||t>=5760&&r.indexOf(t)>=0},isLineTerminator:function(t){return 10===t||13===t||8232===t||8233===t},isIdentifierStartES5:function(t){return t<128?i[t]:s.NonAsciiIdentifierStart.test(o(t))},isIdentifierPartES5:function(t){return t<128?n[t]:s.NonAsciiIdentifierPart.test(o(t))},isIdentifierStartES6:function(t){return t<128?i[t]:e.NonAsciiIdentifierStart.test(o(t))},isIdentifierPartES6:function(t){return t<128?n[t]:e.NonAsciiIdentifierPart.test(o(t))}}}()})),re=R((function(t){!function(){var e=se;function s(t,e){return!(!e&&\"yield\"===t)&&r(t,e)}function r(t,e){if(e&&function(t){switch(t){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(t))return!0;switch(t.length){case 2:return\"if\"===t||\"in\"===t||\"do\"===t;case 3:return\"var\"===t||\"for\"===t||\"new\"===t||\"try\"===t;case 4:return\"this\"===t||\"else\"===t||\"case\"===t||\"void\"===t||\"with\"===t||\"enum\"===t;case 5:return\"while\"===t||\"break\"===t||\"catch\"===t||\"throw\"===t||\"const\"===t||\"yield\"===t||\"class\"===t||\"super\"===t;case 6:return\"return\"===t||\"typeof\"===t||\"delete\"===t||\"switch\"===t||\"export\"===t||\"import\"===t;case 7:return\"default\"===t||\"finally\"===t||\"extends\"===t;case 8:return\"function\"===t||\"continue\"===t||\"debugger\"===t;case 10:return\"instanceof\"===t;default:return!1}}function i(t,e){return\"null\"===t||\"true\"===t||\"false\"===t||s(t,e)}function n(t,e){return\"null\"===t||\"true\"===t||\"false\"===t||r(t,e)}function a(t){var s,r,i;if(0===t.length)return!1;if(i=t.charCodeAt(0),!e.isIdentifierStartES5(i))return!1;for(s=1,r=t.length;s=r)return!1;if(!(56320<=(n=t.charCodeAt(s))&&n<=57343))return!1;i=1024*(i-55296)+(n-56320)+65536}if(!a(i))return!1;a=e.isIdentifierPartES6}return!0}t.exports={isKeywordES5:s,isKeywordES6:r,isReservedWordES5:i,isReservedWordES6:n,isRestrictedWord:function(t){return\"eval\"===t||\"arguments\"===t},isIdentifierNameES5:a,isIdentifierNameES6:o,isIdentifierES5:function(t,e){return a(t)&&!i(t,e)},isIdentifierES6:function(t,e){return o(t)&&!n(t,e)}}}()}));const ie=R((function(t,e){e.ast=ee,e.code=se,e.keyword=re})).keyword.isIdentifierNameES5,{getLast:ne,hasNewline:ae,hasNewlineInRange:oe,skipWhitespace:ue}=Mt,{locStart:he,locEnd:ce,hasSameLocStart:pe}=te,le=\"(?:(?=.)\\\\s)\",de=new RegExp(\"^\".concat(le,\"*:\")),De=new RegExp(\"^\".concat(le,\"*::\"));function me(t,e){if(!t||\"object\"!=typeof t)return!1;if(Array.isArray(t))return t.some((t=>me(t,e)));const s=e(t);return\"boolean\"==typeof s?s:Object.keys(t).some((s=>me(t[s],e)))}function fe(t){return\"AssignmentExpression\"===t.type||\"BinaryExpression\"===t.type||\"LogicalExpression\"===t.type||\"NGPipeExpression\"===t.type||\"ConditionalExpression\"===t.type||\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type||\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type||\"SequenceExpression\"===t.type||\"TaggedTemplateExpression\"===t.type||\"BindExpression\"===t.type||\"UpdateExpression\"===t.type&&!t.prefix||\"TSAsExpression\"===t.type||\"TSNonNullExpression\"===t.type}function ye(t){return\"Block\"===t.type||\"CommentBlock\"===t.type||\"MultiLine\"===t.type}const Ee=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function Ae(t){return t&&Ee.has(t.type)}function Ce(t){return\"BooleanLiteral\"===t.type||\"DirectiveLiteral\"===t.type||\"Literal\"===t.type||\"NullLiteral\"===t.type||\"NumericLiteral\"===t.type||\"BigIntLiteral\"===t.type||\"DecimalLiteral\"===t.type||\"RegExpLiteral\"===t.type||\"StringLiteral\"===t.type||\"TemplateLiteral\"===t.type||\"TSTypeLiteral\"===t.type||\"JSXText\"===t.type}function xe(t){return\"NumericLiteral\"===t.type||\"Literal\"===t.type&&\"number\"==typeof t.value}function Fe(t){return\"StringLiteral\"===t.type||\"Literal\"===t.type&&\"string\"==typeof t.value}function ge(t){return\"FunctionExpression\"===t.type||\"ArrowFunctionExpression\"===t.type}function be(t){return!(\"CallExpression\"!==t.type&&\"OptionalCallExpression\"!==t.type||\"Identifier\"!==t.callee.type||\"async\"!==t.callee.name&&\"inject\"!==t.callee.name&&\"fakeAsync\"!==t.callee.name)}function Pe(t){return\"JSXElement\"===t.type||\"JSXFragment\"===t.type}function Te(t){return\"get\"===t.kind||\"set\"===t.kind}function we(t){return Te(t)||pe(t,t.value)}const Be=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]);const Se=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]);const Ne=/^(skip|[fx]?(it|describe|test))$/;function Ie(t){return\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type}const ve=new RegExp(\"([ \\n\\r\\t]+)\"),ke=new RegExp(\"[^ \\n\\r\\t]\");function Le(t){return Ce(t)&&(ke.test(_e(t))||!/\\n/.test(_e(t)))}function Oe(t,e){if(Pe(e))return Ke(e);return e.comments&&e.comments.some((e=>e.leading&&ae(t,ce(e))))}function Me(t){return/^(\\d+|\\d+\\.\\d+)$/.test(t)}function Re(t){return t.quasis.some((t=>t.value.raw.includes(\"\\n\")))}function _e(t){return t.extra?t.extra.raw:t.raw}const je={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},Ue={\"*\":!0,\"/\":!0,\"%\":!0},qe={\">>\":!0,\">>>\":!0,\"<<\":!0};const Ve={};function ze(t){return Ve[t]}[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].forEach(((t,e)=>{t.forEach((t=>{Ve[t]=e}))}));const He=new WeakMap;function We(t){if(He.has(t))return He.get(t);const e=[];return t.this&&e.push(t.this),Array.isArray(t.parameters)?e.push(...t.parameters):Array.isArray(t.params)&&e.push(...t.params),t.rest&&e.push(t.rest),He.set(t,e),e}const Xe=new WeakMap;function Ge(t){return\"prettier-ignore\"===t.value.trim()}function Ke(t){return t&&(t.comments&&t.comments.length>0&&t.comments.some((t=>Ge(t)&&!t.unignore))||t.prettierIgnore)}function Je(t){return Ke(t.getValue())}var $e={classChildNeedsASIProtection:function(t){if(t){if(t.static||t.accessibility)return!1;if(!t.computed){const e=t.key&&t.key.name;if(\"in\"===e||\"instanceof\"===e)return!0}switch(t.type){case\"ClassProperty\":case\"FieldDefinition\":case\"TSAbstractClassProperty\":return t.computed;case\"MethodDefinition\":case\"TSAbstractMethodDefinition\":case\"ClassMethod\":case\"ClassPrivateMethod\":{const e=t.value?t.value.async:t.async,s=t.value?t.value.generator:t.generator;return!e&&\"get\"!==t.kind&&\"set\"!==t.kind&&!(!t.computed&&!s)}case\"TSIndexSignature\":return!0;default:return!1}}},classPropMayCauseASIProblems:function(t){const e=t.getNode();if(\"ClassProperty\"!==e.type&&\"FieldDefinition\"!==e.type)return!1;const s=e.key&&e.key.name;return!(\"static\"!==s&&\"get\"!==s&&\"set\"!==s||e.value||e.typeAnnotation)||void 0},getFunctionParameters:We,iterateFunctionParametersPath:function(t,e){const s=t.getValue();let r=0;const i=t=>e(t,r++);s.this&&t.call(i,\"this\"),Array.isArray(s.parameters)?t.each(i,\"parameters\"):Array.isArray(s.params)&&t.each(i,\"params\"),s.rest&&t.call(i,\"rest\")},getCallArguments:function(t){if(Xe.has(t))return Xe.get(t);const e=\"ImportExpression\"===t.type?[t.source]:t.arguments;return Xe.set(t,e),e},iterateCallArgumentsPath:function(t,e){\"ImportExpression\"===t.getValue().type?t.call((t=>e(t,0)),\"source\"):t.each(e,\"arguments\")},hasRestParameter:function(t){if(t.rest)return!0;const e=We(t);return e.length>0&&\"RestElement\"===ne(e).type},getLeftSidePathName:function(t,e){if(e.expressions)return[\"expressions\",0];if(e.left)return[\"left\"];if(e.test)return[\"test\"];if(e.object)return[\"object\"];if(e.callee)return[\"callee\"];if(e.tag)return[\"tag\"];if(e.argument)return[\"argument\"];if(e.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(t){const e=t.getParentNode();return\"declaration\"===t.getName()&&Ae(e)?e:null},getTypeScriptMappedTypeModifier:function(t,e){return\"+\"===t?\"+\"+e:\"-\"===t?\"-\"+e:e},hasDanglingComments:function(t){return t.comments&&t.comments.some((t=>!t.leading&&!t.trailing))},hasFlowAnnotationComment:function(t){return t&&ye(t[0])&&De.test(t[0].value)},hasFlowShorthandAnnotationComment:function(t){return t.extra&&t.extra.parenthesized&&t.trailingComments&&ye(t.trailingComments[0])&&de.test(t.trailingComments[0].value)},hasLeadingComment:function(t){return t.comments&&t.comments.some((t=>t.leading))},hasLeadingOwnLineComment:Oe,hasNakedLeftSide:fe,hasNewlineBetweenOrAfterDecorators:function(t,e){return oe(e.originalText,he(t.decorators[0]),ce(ne(t.decorators)))||ae(e.originalText,ce(ne(t.decorators)))},hasNgSideEffect:function(t){return me(t.getValue(),(t=>{switch(t.type){case void 0:return!1;case\"CallExpression\":case\"OptionalCallExpression\":case\"AssignmentExpression\":return!0}}))},hasNode:me,hasPrettierIgnore:function(t){return Je(t)||function(t){const e=t.getValue(),s=t.getParentNode();if(!(s&&e&&Pe(e)&&Pe(s)))return!1;let r=null;for(let t=s.children.indexOf(e);t>0;t--){const e=s.children[t-1];if(\"JSXText\"!==e.type||Le(e)){r=e;break}}return r&&\"JSXExpressionContainer\"===r.type&&\"JSXEmptyExpression\"===r.expression.type&&r.expression.comments&&r.expression.comments.some((t=>Ge(t)))}(t)},hasTrailingComment:function(t){return t.comments&&t.comments.some((t=>t.trailing))},hasTrailingLineComment:function(t){return t.comments&&t.comments.some((t=>t.trailing&&!ye(t)))},hasIgnoreComment:Je,hasNodeIgnoreComment:Ke,identity:function(t){return t},isBinaryish:function(t){return Be.has(t.type)},isBlockComment:ye,isLineComment:function(t){return\"Line\"===t.type||\"CommentLine\"===t.type||\"SingleLine\"===t.type||\"HashbangComment\"===t.type||\"HTMLOpen\"===t.type||\"HTMLClose\"===t.type},isPrettierIgnoreComment:Ge,isCallOrOptionalCallExpression:Ie,isEmptyJSXElement:function(t){if(0===t.children.length)return!0;if(t.children.length>1)return!1;const e=t.children[0];return Ce(e)&&!Le(e)},isExportDeclaration:Ae,isFlowAnnotationComment:function(t,e){const s=he(e),r=ue(t,ce(e));return!1!==r&&\"/*\"===t.slice(s,s+2)&&\"*/\"===t.slice(r,r+2)},isFunctionCompositionArgs:function(t){if(t.length<=1)return!1;let e=0;for(const s of t)if(ge(s)){if(e+=1,e>1)return!0}else if(Ie(s))for(const t of s.arguments)if(ge(t))return!0;return!1},isFunctionNotation:we,isFunctionOrArrowExpression:ge,isGetterOrSetter:Te,isJestEachTemplateLiteral:function(t,e){const s=/^[fx]?(describe|it|test)$/;return\"TaggedTemplateExpression\"===e.type&&e.quasi===t&&\"MemberExpression\"===e.tag.type&&\"Identifier\"===e.tag.property.type&&\"each\"===e.tag.property.name&&(\"Identifier\"===e.tag.object.type&&s.test(e.tag.object.name)||\"MemberExpression\"===e.tag.object.type&&\"Identifier\"===e.tag.object.property.type&&(\"only\"===e.tag.object.property.name||\"skip\"===e.tag.object.property.name)&&\"Identifier\"===e.tag.object.object.type&&s.test(e.tag.object.object.name))},isJSXNode:Pe,isJSXWhitespaceExpression:function(t){return\"JSXExpressionContainer\"===t.type&&Ce(t.expression)&&\" \"===t.expression.value&&!t.expression.comments},isLastStatement:function(t){const e=t.getParentNode();if(!e)return!0;const s=t.getValue(),r=(e.body||e.consequent).filter((t=>\"EmptyStatement\"!==t.type));return r[r.length-1]===s},isLiteral:Ce,isLongCurriedCallExpression:function(t){const e=t.getValue(),s=t.getParentNode();return Ie(e)&&Ie(s)&&s.callee===e&&e.arguments.length>s.arguments.length&&s.arguments.length>0},isSimpleCallArgument:function t(e,s){if(s>=2)return!1;const r=e=>t(e,s+1),i=\"Literal\"===e.type&&\"regex\"in e&&e.regex.pattern||\"RegExpLiteral\"===e.type&&e.pattern;return!(i&&i.length>5)&&(\"Literal\"===e.type||\"BigIntLiteral\"===e.type||\"DecimalLiteral\"===e.type||\"BooleanLiteral\"===e.type||\"NullLiteral\"===e.type||\"NumericLiteral\"===e.type||\"RegExpLiteral\"===e.type||\"StringLiteral\"===e.type||\"Identifier\"===e.type||\"ThisExpression\"===e.type||\"Super\"===e.type||\"PrivateName\"===e.type||\"ArgumentPlaceholder\"===e.type||\"Import\"===e.type||(\"TemplateLiteral\"===e.type?e.expressions.every(r):\"ObjectExpression\"===e.type?e.properties.every((t=>!t.computed&&(t.shorthand||t.value&&r(t.value)))):\"ArrayExpression\"===e.type?e.elements.every((t=>null===t||r(t))):\"ImportExpression\"===e.type?r(e.source):\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type||\"NewExpression\"===e.type?t(e.callee,s)&&e.arguments.every(r):\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type?t(e.object,s)&&t(e.property,s):\"UnaryExpression\"!==e.type||\"!\"!==e.operator&&\"-\"!==e.operator?\"TSNonNullExpression\"===e.type&&t(e.expression,s):t(e.argument,s)))},isMeaningfulJSXText:Le,isMemberExpressionChain:function t(e){return(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type)&&(\"Identifier\"===e.object.type||t(e.object))},isMemberish:function(t){return\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type||\"BindExpression\"===t.type&&Boolean(t.object)},isNgForOf:function(t,e,s){return\"NGMicrosyntaxKeyedExpression\"===t.type&&\"of\"===t.key.name&&1===e&&\"NGMicrosyntaxLet\"===s.body[0].type&&null===s.body[0].value},isNumericLiteral:xe,isObjectType:function(t){return\"ObjectTypeAnnotation\"===t.type||\"TSTypeLiteral\"===t.type},isObjectTypePropertyAFunction:function(t){return!(\"ObjectTypeProperty\"!==t.type&&\"ObjectTypeInternalSlot\"!==t.type||\"FunctionTypeAnnotation\"!==t.value.type||t.static||we(t))},isSimpleType:function(t){return!!t&&(!(\"GenericTypeAnnotation\"!==t.type&&\"TSTypeReference\"!==t.type||t.typeParameters)||!!Se.has(t.type))},isSimpleNumber:Me,isSimpleTemplateLiteral:function(t){let e=\"expressions\";\"TSTemplateLiteralType\"===t.type&&(e=\"types\");const s=t[e];return 0!==s.length&&s.every((t=>{if(t.comments)return!1;if(\"Identifier\"===t.type||\"ThisExpression\"===t.type)return!0;if(\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type){let e=t;for(;\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type;){if(\"Identifier\"!==e.property.type&&\"Literal\"!==e.property.type&&\"StringLiteral\"!==e.property.type&&\"NumericLiteral\"!==e.property.type)return!1;if(e=e.object,e.comments)return!1}return\"Identifier\"===e.type||\"ThisExpression\"===e.type}return!1}))},isStringLiteral:Fe,isStringPropSafeToUnquote:function(t,e){return\"json\"!==e.parser&&Fe(t.key)&&_e(t.key).slice(1,-1)===t.key.value&&(ie(t.key.value)&&!((\"typescript\"===e.parser||\"babel-ts\"===e.parser)&&\"ClassProperty\"===t.type)||Me(t.key.value)&&String(Number(t.key.value))===t.key.value&&(\"babel\"===e.parser||\"espree\"===e.parser||\"meriyah\"===e.parser))},isTemplateOnItsOwnLine:function(t,e){return(\"TemplateLiteral\"===t.type&&Re(t)||\"TaggedTemplateExpression\"===t.type&&Re(t.quasi))&&!ae(e,he(t),{backwards:!0})},isTestCall:function t(e,s){if(\"CallExpression\"!==e.type)return!1;if(1===e.arguments.length){if(be(e)&&s&&t(s))return ge(e.arguments[0]);if(\"Identifier\"===(r=e).callee.type&&/^(before|after)(Each|All)$/.test(r.callee.name)&&1===r.arguments.length)return be(e.arguments[0])}else if((2===e.arguments.length||3===e.arguments.length)&&(\"Identifier\"===e.callee.type&&Ne.test(e.callee.name)||function(t){return(\"MemberExpression\"===t.callee.type||\"OptionalMemberExpression\"===t.callee.type)&&\"Identifier\"===t.callee.object.type&&\"Identifier\"===t.callee.property.type&&Ne.test(t.callee.object.name)&&(\"only\"===t.callee.property.name||\"skip\"===t.callee.property.name)}(e))&&(function(t){return\"TemplateLiteral\"===t.type}(e.arguments[0])||Fe(e.arguments[0])))return!(e.arguments[2]&&!xe(e.arguments[2]))&&((2===e.arguments.length?ge(e.arguments[1]):function(t){return\"FunctionExpression\"===t.type||\"ArrowFunctionExpression\"===t.type&&\"BlockStatement\"===t.body.type}(e.arguments[1])&&We(e.arguments[1]).length<=1)||be(e.arguments[1]));var r;return!1},isTheOnlyJSXElementInMarkdown:function(t,e){if(\"markdown\"!==t.parentParser&&\"mdx\"!==t.parentParser)return!1;const s=e.getNode();if(!s.expression||!Pe(s.expression))return!1;const r=e.getParentNode();return\"Program\"===r.type&&1===r.body.length},isTSXFile:function(t){return t.filepath&&/\\.tsx$/i.test(t.filepath)},isTypeAnnotationAFunction:function(t){return!(\"TypeAnnotation\"!==t.type&&\"TSTypeAnnotation\"!==t.type||\"FunctionTypeAnnotation\"!==t.typeAnnotation.type||t.static||pe(t,t.typeAnnotation))},matchJsxWhitespaceRegex:ve,needsHardlineAfterDanglingComment:function(t){if(!t.comments)return!1;const e=ne(t.comments.filter((t=>!t.leading&&!t.trailing)));return e&&!ye(e)},rawText:_e,returnArgumentHasLeadingComment:function(t,e){if(Oe(t.originalText,e))return!0;if(fe(e)){let r,i=e;for(;r=(s=i).expressions?s.expressions[0]:s.left||s.test||s.callee||s.object||s.tag||s.argument||s.expression;)if(i=r,Oe(t.originalText,i))return!0}var s;return!1},shouldPrintComma:function(t,e=\"es5\"){return\"es5\"===t.trailingComma&&\"es5\"===e||\"all\"===t.trailingComma&&(\"all\"===e||\"es5\"===e)},isBitwiseOperator:function(t){return!!qe[t]||\"|\"===t||\"^\"===t||\"&\"===t},shouldFlatten:function(t,e){return ze(e)===ze(t)&&(\"**\"!==t&&((!je[t]||!je[e])&&(!(\"%\"===e&&Ue[t]||\"%\"===t&&Ue[e])&&((e===t||!Ue[e]||!Ue[t])&&(!qe[t]||!qe[e])))))},startsWithNoLookaheadToken:function t(e,s){switch((e=function(t){for(;t.left;)t=t.left;return t}(e)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return s;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return t(e.object,s);case\"TaggedTemplateExpression\":return\"FunctionExpression\"!==e.tag.type&&t(e.tag,s);case\"CallExpression\":case\"OptionalCallExpression\":return\"FunctionExpression\"!==e.callee.type&&t(e.callee,s);case\"ConditionalExpression\":return t(e.test,s);case\"UpdateExpression\":return!e.prefix&&t(e.argument,s);case\"BindExpression\":return e.object&&t(e.object,s);case\"SequenceExpression\":return t(e.expressions[0],s);case\"TSAsExpression\":return t(e.expression,s);default:return!1}},getPrecedence:ze};const{getLast:Ye,hasNewline:Qe,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ze,getNextNonSpaceNonCommentCharacter:ts,hasNewlineInRange:es,addLeadingComment:ss,addTrailingComment:rs,addDanglingComment:is,getNextNonSpaceNonCommentCharacterIndex:ns}=Mt,{isBlockComment:as,getFunctionParameters:os,isPrettierIgnoreComment:us,isJSXNode:hs,hasFlowShorthandAnnotationComment:cs,hasFlowAnnotationComment:ps,hasIgnoreComment:ls}=$e,{locStart:ds,locEnd:Ds}=te;function ms(t,e){const s=(t.body||t.properties).find((({type:t})=>\"EmptyStatement\"!==t));s?ss(s,e):is(t,e)}function fs(t,e){\"BlockStatement\"===t.type?ms(t,e):ss(t,e)}function ys(t,e){const{precedingNode:s,enclosingNode:r,followingNode:i}=t;if(!r||\"IfStatement\"!==r.type||!i)return!1;return\")\"===ts(e,t,Ds)?(rs(s,t),!0):s===r.consequent&&i===r.alternate?(\"BlockStatement\"===s.type?rs(s,t):is(r,t),!0):\"BlockStatement\"===i.type?(ms(i,t),!0):\"IfStatement\"===i.type?(fs(i.consequent,t),!0):r.consequent===i&&(ss(i,t),!0)}function Es(t,e){const{precedingNode:s,enclosingNode:r,followingNode:i}=t;if(!r||\"WhileStatement\"!==r.type||!i)return!1;return\")\"===ts(e,t,Ds)?(rs(s,t),!0):\"BlockStatement\"===i.type?(ms(i,t),!0):r.body===i&&(ss(i,t),!0)}function As(t){const{precedingNode:e,enclosingNode:s,followingNode:r}=t;return!(!s||\"TryStatement\"!==s.type&&\"CatchClause\"!==s.type||!r)&&(\"CatchClause\"===s.type&&e?(rs(e,t),!0):\"BlockStatement\"===r.type?(ms(r,t),!0):\"TryStatement\"===r.type?(fs(r.finalizer,t),!0):\"CatchClause\"===r.type&&(fs(r.body,t),!0))}function Cs(t){const{precedingNode:e,enclosingNode:s,followingNode:r}=t;if(s&&(\"ClassDeclaration\"===s.type||\"ClassExpression\"===s.type||\"DeclareClass\"===s.type||\"DeclareInterface\"===s.type||\"InterfaceDeclaration\"===s.type||\"TSInterfaceDeclaration\"===s.type)){if(s.decorators&&s.decorators.length>0&&(!r||\"Decorator\"!==r.type))return rs(s.decorators[s.decorators.length-1],t),!0;if(s.body&&r===s.body)return ms(s.body,t),!0;if(r)for(const i of[\"implements\",\"extends\",\"mixins\"])if(s[i]&&r===s[i][0])return!e||e!==s.id&&e!==s.typeParameters&&e!==s.superClass?is(s,t,i):rs(e,t),!0}return!1}function xs(t,e){const{precedingNode:s,enclosingNode:r}=t;return(r&&s&&(\"Property\"===r.type||\"TSDeclareMethod\"===r.type||\"TSAbstractMethodDefinition\"===r.type)&&\"Identifier\"===s.type&&r.key===s&&\":\"!==ts(e,s,Ds)||!(!s||!r||\"Decorator\"!==s.type||\"ClassMethod\"!==r.type&&\"ClassProperty\"!==r.type&&\"FieldDefinition\"!==r.type&&\"TSAbstractClassProperty\"!==r.type&&\"TSAbstractMethodDefinition\"!==r.type&&\"TSDeclareMethod\"!==r.type&&\"MethodDefinition\"!==r.type))&&(rs(s,t),!0)}function Fs(t,e){const{precedingNode:s,enclosingNode:r,followingNode:i}=t;if(s&&\"FunctionTypeParam\"===s.type&&r&&\"FunctionTypeAnnotation\"===r.type&&i&&\"FunctionTypeParam\"!==i.type)return rs(s,t),!0;if(s&&(\"Identifier\"===s.type||\"AssignmentPattern\"===s.type)&&r&&ws(r)&&\")\"===ts(e,t,Ds))return rs(s,t),!0;if(r&&\"FunctionDeclaration\"===r.type&&i&&\"BlockStatement\"===i.type){const s=(()=>{const t=os(r);if(0!==t.length)return Ze(e,Ds(Ye(t)));const s=Ze(e,Ds(r.id));return!1!==s&&Ze(e,s+1)})();if(ds(t)>s)return ms(i,t),!0}return!1}function gs(t){const{enclosingNode:e}=t;return!(!e||\"ImportSpecifier\"!==e.type)&&(ss(e,t),!0)}function bs(t){const{enclosingNode:e}=t;return!(!e||\"LabeledStatement\"!==e.type)&&(ss(e,t),!0)}function Ps(t,e,s){const{enclosingNode:r}=t;return e&&e.body&&0===e.body.length?(s?is(e,t):ss(e,t),!0):!(!r||\"Program\"!==r.type||0!==r.body.length||!r.directives||0!==r.directives.length)&&(s?is(r,t):ss(r,t),!0)}function Ts(t){const{enclosingNode:e,followingNode:s}=t;if(us(t)&&e&&\"TSMappedType\"===e.type&&s&&\"TSTypeParameter\"===s.type&&s.constraint)return e.prettierIgnore=!0,t.unignore=!0,!0}function ws(t){return\"ArrowFunctionExpression\"===t.type||\"FunctionExpression\"===t.type||\"FunctionDeclaration\"===t.type||\"ObjectMethod\"===t.type||\"ClassMethod\"===t.type||\"TSDeclareFunction\"===t.type||\"TSCallSignatureDeclaration\"===t.type||\"TSConstructSignatureDeclaration\"===t.type||\"TSMethodSignature\"===t.type||\"TSConstructorType\"===t.type||\"TSFunctionType\"===t.type||\"TSDeclareMethod\"===t.type}function Bs(t){return as(t)&&\"*\"===t.value[0]&&/@type\\b/.test(t.value)}var Ss={handleOwnLineComment:function(t,e,s,r,i){return Ts(t)||Fs(t,e)||function(t){const{enclosingNode:e,followingNode:s}=t;if(e&&(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type)&&s&&\"Identifier\"===s.type)return ss(e,t),!0;return!1}(t)||ys(t,e)||Es(t,e)||As(t)||Cs(t)||gs(t)||function(t){const{enclosingNode:e}=t;if(e&&(\"ForInStatement\"===e.type||\"ForOfStatement\"===e.type))return ss(e,t),!0;return!1}(t)||function(t){const{precedingNode:e,enclosingNode:s,followingNode:r}=t;if(s&&(\"UnionTypeAnnotation\"===s.type||\"TSUnionType\"===s.type))return us(t)&&(r.prettierIgnore=!0,t.unignore=!0),!!e&&(rs(e,t),!0);r&&(\"UnionTypeAnnotation\"===r.type||\"TSUnionType\"===r.type)&&us(t)&&(r.types[0].prettierIgnore=!0,t.unignore=!0);return!1}(t)||Ps(t,r,i)||function(t,e){const{precedingNode:s,enclosingNode:r}=t;if(s&&\"ImportSpecifier\"===s.type&&r&&\"ImportDeclaration\"===r.type&&Qe(e,Ds(t)))return rs(s,t),!0;return!1}(t,e)||function(t){const{enclosingNode:e}=t;if(e&&\"AssignmentPattern\"===e.type)return ss(e,t),!0;return!1}(t)||xs(t,e)||bs(t)},handleEndOfLineComment:function(t,e,s,r,i){return function(t){const{followingNode:e}=t;if(e&&Bs(t))return ss(e,t),!0;return!1}(t)||Fs(t,e)||function(t,e){const{precedingNode:s,enclosingNode:r,followingNode:i}=t,n=s&&!es(e,Ds(s),ds(t));if((!s||!n)&&r&&(\"ConditionalExpression\"===r.type||\"TSConditionalType\"===r.type)&&i)return ss(i,t),!0;return!1}(t,e)||gs(t)||ys(t,e)||Es(t,e)||As(t)||Cs(t)||bs(t)||function(t){const{precedingNode:e,enclosingNode:s}=t;if(s&&(\"CallExpression\"===s.type||\"OptionalCallExpression\"===s.type)&&e&&s.callee===e&&s.arguments.length>0)return ss(s.arguments[0],t),!0;return!1}(t)||function(t){const{enclosingNode:e}=t;if(e&&(\"Property\"===e.type||\"ObjectProperty\"===e.type))return ss(e,t),!0;return!1}(t)||Ps(t,r,i)||function(t){const{enclosingNode:e}=t;if(e&&\"TypeAlias\"===e.type)return ss(e,t),!0;return!1}(t)||function(t){const{enclosingNode:e,followingNode:s}=t;if(e&&(\"VariableDeclarator\"===e.type||\"AssignmentExpression\"===e.type)&&s&&(\"ObjectExpression\"===s.type||\"ArrayExpression\"===s.type||\"TemplateLiteral\"===s.type||\"TaggedTemplateExpression\"===s.type||as(t)))return ss(s,t),!0;return!1}(t)},handleRemainingComment:function(t,e,s,r,i){return!!(Ts(t)||ys(t,e)||Es(t,e)||function(t){const{precedingNode:e,enclosingNode:s}=t;if(s&&(\"ObjectProperty\"===s.type||\"Property\"===s.type)&&s.shorthand&&s.key===e&&\"AssignmentPattern\"===s.value.type)return rs(s.value.left,t),!0;return!1}(t)||function(t,e){if(\")\"!==ts(e,t,Ds))return!1;const{enclosingNode:s}=t;if(s&&(ws(s)&&0===os(s).length||(\"CallExpression\"===s.type||\"OptionalCallExpression\"===s.type||\"NewExpression\"===s.type)&&0===s.arguments.length))return is(s,t),!0;if(s&&\"MethodDefinition\"===s.type&&0===os(s.value).length)return is(s.value,t),!0;return!1}(t,e)||xs(t,e)||Ps(t,r,i)||function(t,e){const{enclosingNode:s}=t;if(!s||\"ArrowFunctionExpression\"!==s.type)return!1;const r=ns(e,t,Ds);if(!1!==r&&\"=>\"===e.slice(r,r+2))return is(s,t),!0;return!1}(t,e)||function(t,e){if(\"(\"!==ts(e,t,Ds))return!1;const{precedingNode:s,enclosingNode:r}=t;if(s&&r&&(\"FunctionDeclaration\"===r.type||\"FunctionExpression\"===r.type||\"ClassMethod\"===r.type||\"MethodDefinition\"===r.type||\"ObjectMethod\"===r.type))return rs(s,t),!0;return!1}(t,e)||function(t){const{precedingNode:e,enclosingNode:s,followingNode:r}=t;if(!s||\"TSMappedType\"!==s.type)return!1;if(r&&\"TSTypeParameter\"===r.type&&r.name)return ss(r.name,t),!0;if(e&&\"TSTypeParameter\"===e.type&&e.constraint)return rs(e.constraint,t),!0;return!1}(t)||function(t){const{enclosingNode:e}=t;if(e&&(\"ContinueStatement\"===e.type||\"BreakStatement\"===e.type)&&!e.label)return rs(e,t),!0;return!1}(t)||function(t,e){const{enclosingNode:s,followingNode:r}=t;if(!r&&s&&(\"TSMethodSignature\"===s.type||\"TSDeclareFunction\"===s.type||\"TSAbstractMethodDefinition\"===s.type)&&\";\"===ts(e,t,Ds))return rs(s,t),!0;return!1}(t,e))},hasLeadingComment:function(t,e=(()=>!0)){return t.leadingComments?t.leadingComments.some(e):!!t.comments&&t.comments.some((t=>t.leading&&e(t)))},isTypeCastComment:Bs,getGapRegex:function(t){if(t&&\"BinaryExpression\"!==t.type&&\"LogicalExpression\"!==t.type)return/^[\\s&(|]*$/},getCommentChildNodes:function(t,e){if((\"typescript\"===e.parser||\"flow\"===e.parser||\"espree\"===e.parser||\"meriyah\"===e.parser)&&\"MethodDefinition\"===t.type&&t.value&&\"FunctionExpression\"===t.value.type&&0===os(t.value).length&&!t.value.returnType&&(!t.value.typeParameters||0===t.value.typeParameters.length)&&t.value.body)return[...t.decorators||[],t.key,t.value.body]},willPrintOwnComments:function(t){const e=t.getValue(),s=t.getParentNode();return(e&&(hs(e)||cs(e)||s&&(\"CallExpression\"===s.type||\"OptionalCallExpression\"===s.type)&&(ps(e.leadingComments)||ps(e.trailingComments)))||s&&(\"JSXSpreadAttribute\"===s.type||\"JSXSpreadChild\"===s.type||\"UnionTypeAnnotation\"===s.type||\"TSUnionType\"===s.type||(\"ClassDeclaration\"===s.type||\"ClassExpression\"===s.type)&&s.superClass===e))&&(!ls(t)||\"UnionTypeAnnotation\"===s.type||\"TSUnionType\"===s.type)}};const{getLast:Ns,getNextNonSpaceNonCommentCharacter:Is,getShebang:vs}=Mt,{composeLoc:ks,locStart:Ls,locEnd:Os}=te,{isTypeCastComment:Ms}=Ss;function Rs(t){return\"CallExpression\"===t.type?(t.type=\"OptionalCallExpression\",t.callee=Rs(t.callee)):\"MemberExpression\"===t.type?(t.type=\"OptionalMemberExpression\",t.object=Rs(t.object)):\"TSNonNullExpression\"===t.type&&(t.expression=Rs(t.expression)),t}function _s(t,e){let s;if(Array.isArray(t))s=t.entries();else{if(!t||\"object\"!=typeof t||\"string\"!=typeof t.type)return t;s=Object.entries(t)}for(const[r,i]of s)t[r]=_s(i,e);return Array.isArray(t)?t:e(t)||t}function js(t){return\"LogicalExpression\"===t.type&&\"LogicalExpression\"===t.right.type&&t.operator===t.right.operator}function Us(t){return js(t)?Us({type:\"LogicalExpression\",operator:t.operator,left:Us({type:\"LogicalExpression\",operator:t.operator,left:t.left,right:t.right.left,range:ks(t.left,t.right.left)}),right:t.right.right,range:ks(t)}):t}var qs=function(e,s){if(\"typescript\"!==s.parser&&\"flow\"!==s.parser&&\"espree\"!==s.parser||function(t,e){const s=vs(e.originalText);s&&t.comments.unshift({type:\"Line\",value:s.slice(2),range:[0,s.length]})}(e,s),\"typescript\"===s.parser&&s.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:r,tsNodeToESTreeNodeMap:i}=s.tsParseResult;e=_s(e,(e=>{const s=r.get(e);if(!s)return;const n=s.decorators;if(!Array.isArray(n))return;const a=i.get(s);if(a!==e)return;const o=a.decorators;if(!Array.isArray(o)||o.length!==n.length||n.some((t=>{const e=i.get(t);return!e||!o.includes(e)}))){const{start:e,end:s}=a.loc;throw t(\"Leading decorators must be attached to a class declaration\",{start:{line:e.line,column:e.column+1},end:{line:s.line,column:s.column+1}})}}))}if(\"typescript\"!==s.parser&&\"flow\"!==s.parser&&\"espree\"!==s.parser&&\"meriyah\"!==s.parser){const t=new Set;e=_s(e,(e=>{e.leadingComments&&e.leadingComments.some(Ms)&&t.add(Ls(e))})),e=_s(e,(e=>{if(\"ParenthesizedExpression\"===e.type){const{expression:s}=e;if(\"TypeCastExpression\"===s.type)return s.range=e.range,s;const r=Ls(e);if(!t.has(r))return s.extra=Object.assign({},s.extra,{parenthesized:!0}),s}}))}return e=_s(e,(t=>{switch(t.type){case\"ChainExpression\":return Rs(t.expression);case\"LogicalExpression\":if(js(t))return Us(t);break;case\"VariableDeclaration\":{const e=Ns(t.declarations);e&&e.init&&function(t,e){if(\";\"===s.originalText[Os(e)])return;t.range=ks(t,e)}(t,e);break}case\"TSParenthesizedType\":return t.typeAnnotation.range=ks(t),t.typeAnnotation;case\"TSUnionType\":case\"TSIntersectionType\":if(1===t.types.length){const[e]=t.types;return e.range=ks(t),e}break;case\"TSTypeParameter\":\"string\"==typeof t.name&&(t.name={type:\"Identifier\",name:t.name,range:ks(t,t.name.length)});break;case\"SequenceExpression\":{const e=Ns(t.expressions);Os(t)>Os(e)&&(t.range=ks(t,e));break}case\"ClassProperty\":t.key&&\"TSPrivateIdentifier\"===t.key.type&&\"?\"===Is(s.originalText,t.key,Os)&&(t.optional=!0)}}))},Vs=R((function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});const s=!0,r=!0,i=!0,n=!0;class a{constructor(t,e={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.updateContext=void 0,this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.rightAssociative=!!e.rightAssociative,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=null!=e.binop?e.binop:null,this.updateContext=null}}const o=new Map;function u(t,e={}){e.keyword=t;const s=new a(t,e);return o.set(t,s),s}function h(t,e){return new a(t,{beforeExpr:s,binop:e})}const c={num:new a(\"num\",{startsExpr:r}),bigint:new a(\"bigint\",{startsExpr:r}),decimal:new a(\"decimal\",{startsExpr:r}),regexp:new a(\"regexp\",{startsExpr:r}),string:new a(\"string\",{startsExpr:r}),name:new a(\"name\",{startsExpr:r}),eof:new a(\"eof\"),bracketL:new a(\"[\",{beforeExpr:s,startsExpr:r}),bracketHashL:new a(\"#[\",{beforeExpr:s,startsExpr:r}),bracketBarL:new a(\"[|\",{beforeExpr:s,startsExpr:r}),bracketR:new a(\"]\"),bracketBarR:new a(\"|]\"),braceL:new a(\"{\",{beforeExpr:s,startsExpr:r}),braceBarL:new a(\"{|\",{beforeExpr:s,startsExpr:r}),braceHashL:new a(\"#{\",{beforeExpr:s,startsExpr:r}),braceR:new a(\"}\"),braceBarR:new a(\"|}\"),parenL:new a(\"(\",{beforeExpr:s,startsExpr:r}),parenR:new a(\")\"),comma:new a(\",\",{beforeExpr:s}),semi:new a(\";\",{beforeExpr:s}),colon:new a(\":\",{beforeExpr:s}),doubleColon:new a(\"::\",{beforeExpr:s}),dot:new a(\".\"),question:new a(\"?\",{beforeExpr:s}),questionDot:new a(\"?.\"),arrow:new a(\"=>\",{beforeExpr:s}),template:new a(\"template\"),ellipsis:new a(\"...\",{beforeExpr:s}),backQuote:new a(\"`\",{startsExpr:r}),dollarBraceL:new a(\"${\",{beforeExpr:s,startsExpr:r}),at:new a(\"@\"),hash:new a(\"#\",{startsExpr:r}),interpreterDirective:new a(\"#!...\"),eq:new a(\"=\",{beforeExpr:s,isAssign:true}),assign:new a(\"_=\",{beforeExpr:s,isAssign:true}),incDec:new a(\"++/--\",{prefix:n,postfix:!0,startsExpr:r}),bang:new a(\"!\",{beforeExpr:s,prefix:n,startsExpr:r}),tilde:new a(\"~\",{beforeExpr:s,prefix:n,startsExpr:r}),pipeline:h(\"|>\",0),nullishCoalescing:h(\"??\",1),logicalOR:h(\"||\",1),logicalAND:h(\"&&\",2),bitwiseOR:h(\"|\",3),bitwiseXOR:h(\"^\",4),bitwiseAND:h(\"&\",5),equality:h(\"==/!=/===/!==\",6),relational:h(\"/<=/>=\",7),bitShift:h(\"<>/>>>\",8),plusMin:new a(\"+/-\",{beforeExpr:s,binop:9,prefix:n,startsExpr:r}),modulo:new a(\"%\",{beforeExpr:s,binop:10,startsExpr:r}),star:new a(\"*\",{binop:10}),slash:h(\"/\",10),exponent:new a(\"**\",{beforeExpr:s,binop:11,rightAssociative:!0}),_break:u(\"break\"),_case:u(\"case\",{beforeExpr:s}),_catch:u(\"catch\"),_continue:u(\"continue\"),_debugger:u(\"debugger\"),_default:u(\"default\",{beforeExpr:s}),_do:u(\"do\",{isLoop:i,beforeExpr:s}),_else:u(\"else\",{beforeExpr:s}),_finally:u(\"finally\"),_for:u(\"for\",{isLoop:i}),_function:u(\"function\",{startsExpr:r}),_if:u(\"if\"),_return:u(\"return\",{beforeExpr:s}),_switch:u(\"switch\"),_throw:u(\"throw\",{beforeExpr:s,prefix:n,startsExpr:r}),_try:u(\"try\"),_var:u(\"var\"),_const:u(\"const\"),_while:u(\"while\",{isLoop:i}),_with:u(\"with\"),_new:u(\"new\",{beforeExpr:s,startsExpr:r}),_this:u(\"this\",{startsExpr:r}),_super:u(\"super\",{startsExpr:r}),_class:u(\"class\",{startsExpr:r}),_extends:u(\"extends\",{beforeExpr:s}),_export:u(\"export\"),_import:u(\"import\",{startsExpr:r}),_null:u(\"null\",{startsExpr:r}),_true:u(\"true\",{startsExpr:r}),_false:u(\"false\",{startsExpr:r}),_in:u(\"in\",{beforeExpr:s,binop:7}),_instanceof:u(\"instanceof\",{beforeExpr:s,binop:7}),_typeof:u(\"typeof\",{beforeExpr:s,prefix:n,startsExpr:r}),_void:u(\"void\",{beforeExpr:s,prefix:n,startsExpr:r}),_delete:u(\"delete\",{beforeExpr:s,prefix:n,startsExpr:r})},p=128,l=128,d=1024,D=64,m=/\\r\\n?|[\\n\\u2028\\u2029]/,f=new RegExp(m.source,\"g\");function y(t){switch(t){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const E=/(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;function A(t){switch(t){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}class C{constructor(t,e){this.line=void 0,this.column=void 0,this.line=t,this.column=e}}class x{constructor(t,e){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=t,this.end=e}}function F(t){return t[t.length-1]}const g=Object.freeze({AccessorIsGenerator:\"A %0ter cannot be a generator\",ArgumentsInClass:\"'arguments' is only allowed in functions and class methods\",AsyncFunctionInSingleStatementContext:\"Async functions can only be declared at the top level or inside a block\",AwaitBindingIdentifier:\"Can not use 'await' as identifier inside an async function\",AwaitExpressionFormalParameter:\"await is not allowed in async function parameters\",AwaitNotInAsyncContext:\"'await' is only allowed within async functions and at the top levels of modules\",AwaitNotInAsyncFunction:\"'await' is only allowed within async functions\",BadGetterArity:\"getter must not have any formal parameters\",BadSetterArity:\"setter must have exactly one formal parameter\",BadSetterRestParameter:\"setter function argument must not be a rest parameter\",ConstructorClassField:\"Classes may not have a field named 'constructor'\",ConstructorClassPrivateField:\"Classes may not have a private field named '#constructor'\",ConstructorIsAccessor:\"Class constructor may not be an accessor\",ConstructorIsAsync:\"Constructor can't be an async function\",ConstructorIsGenerator:\"Constructor can't be a generator\",DeclarationMissingInitializer:\"%0 require an initialization value\",DecoratorBeforeExport:\"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax\",DecoratorConstructor:\"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?\",DecoratorExportClass:\"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.\",DecoratorSemicolon:\"Decorators must not be followed by a semicolon\",DecoratorStaticBlock:\"Decorators can't be used with a static block\",DeletePrivateField:\"Deleting a private field is not allowed\",DestructureNamedImport:\"ES2015 named imports do not destructure. Use another statement for destructuring after the import.\",DuplicateConstructor:\"Duplicate constructor in the same class\",DuplicateDefaultExport:\"Only one default export allowed per module.\",DuplicateExport:\"`%0` has already been exported. Exported identifiers must be unique.\",DuplicateProto:\"Redefinition of __proto__ property\",DuplicateRegExpFlags:\"Duplicate regular expression flag\",DuplicateStaticBlock:\"Duplicate static block in the same class\",ElementAfterRest:\"Rest element must be last element\",EscapedCharNotAnIdentifier:\"Invalid Unicode escape\",ExportBindingIsString:\"A string literal cannot be used as an exported binding without `from`.\\n- Did you mean `export { %0 as '%1' } from 'some-module'`?\",ExportDefaultFromAsIdentifier:\"'from' is not allowed as an identifier after 'export default'\",ForInOfLoopInitializer:\"%0 loop variable declaration may not have an initializer\",GeneratorInSingleStatementContext:\"Generators can only be declared at the top level or inside a block\",IllegalBreakContinue:\"Unsyntactic %0\",IllegalLanguageModeDirective:\"Illegal 'use strict' directive in function with non-simple parameter list\",IllegalReturn:\"'return' outside of function\",ImportBindingIsString:'A string literal cannot be used as an imported binding.\\n- Did you mean `import { \"%0\" as foo }`?',ImportCallArgumentTrailingComma:\"Trailing comma is disallowed inside import(...) arguments\",ImportCallArity:\"import() requires exactly %0\",ImportCallNotNewExpression:\"Cannot use new with import(...)\",ImportCallSpreadArgument:\"... is not allowed in import()\",ImportMetaOutsideModule:\"import.meta may appear only with 'sourceType: \\\"module\\\"'\",ImportOutsideModule:\"'import' and 'export' may appear only with 'sourceType: \\\"module\\\"'\",InvalidBigIntLiteral:\"Invalid BigIntLiteral\",InvalidCodePoint:\"Code point out of bounds\",InvalidDecimal:\"Invalid decimal\",InvalidDigit:\"Expected number in radix %0\",InvalidEscapeSequence:\"Bad character escape sequence\",InvalidEscapeSequenceTemplate:\"Invalid escape sequence in template\",InvalidEscapedReservedWord:\"Escape sequence in keyword %0\",InvalidIdentifier:\"Invalid identifier %0\",InvalidLhs:\"Invalid left-hand side in %0\",InvalidLhsBinding:\"Binding invalid left-hand side in %0\",InvalidNumber:\"Invalid number\",InvalidOrMissingExponent:\"Floating-point numbers require a valid exponent after the 'e'\",InvalidOrUnexpectedToken:\"Unexpected character '%0'\",InvalidParenthesizedAssignment:\"Invalid parenthesized assignment pattern\",InvalidPrivateFieldResolution:\"Private name #%0 is not defined\",InvalidPropertyBindingPattern:\"Binding member expression\",InvalidRecordProperty:\"Only properties and spread elements are allowed in record definitions\",InvalidRestAssignmentPattern:\"Invalid rest operator's argument\",LabelRedeclaration:\"Label '%0' is already declared\",LetInLexicalBinding:\"'let' is not allowed to be used as a name in 'let' or 'const' declarations.\",LineTerminatorBeforeArrow:\"No line break is allowed before '=>'\",MalformedRegExpFlags:\"Invalid regular expression flag\",MissingClassName:\"A class name is required\",MissingEqInAssignment:\"Only '=' operator can be used for specifying default value.\",MissingUnicodeEscape:\"Expecting Unicode escape sequence \\\\uXXXX\",MixingCoalesceWithLogical:\"Nullish coalescing operator(??) requires parens when mixing with logical operators\",ModuleAttributeDifferentFromType:\"The only accepted module attribute is `type`\",ModuleAttributeInvalidValue:\"Only string literals are allowed as module attribute values\",ModuleAttributesWithDuplicateKeys:'Duplicate key \"%0\" is not allowed in module attributes',ModuleExportNameHasLoneSurrogate:\"An export name cannot include a lone surrogate, found '\\\\u%0'\",ModuleExportUndefined:\"Export '%0' is not defined\",MultipleDefaultsInSwitch:\"Multiple default clauses\",NewlineAfterThrow:\"Illegal newline after throw\",NoCatchOrFinally:\"Missing catch or finally clause\",NumberIdentifier:\"Identifier directly after number\",NumericSeparatorInEscapeSequence:\"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences\",ObsoleteAwaitStar:\"await* has been removed from the async functions proposal. Use Promise.all() instead.\",OptionalChainingNoNew:\"constructors in/after an Optional Chain are not allowed\",OptionalChainingNoTemplate:\"Tagged Template Literals are not allowed in optionalChain\",ParamDupe:\"Argument name clash\",PatternHasAccessor:\"Object pattern can't contain getter or setter\",PatternHasMethod:\"Object pattern can't contain methods\",PipelineBodyNoArrow:'Unexpected arrow \"=>\" after pipeline body; arrow function in pipeline body must be parenthesized',PipelineBodySequenceExpression:\"Pipeline body may not be a comma-separated sequence expression\",PipelineHeadSequenceExpression:\"Pipeline head should not be a comma-separated sequence expression\",PipelineTopicUnused:\"Pipeline is in topic style but does not use topic reference\",PrimaryTopicNotAllowed:\"Topic reference was used in a lexical context without topic binding\",PrimaryTopicRequiresSmartPipeline:\"Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option.\",PrivateInExpectedIn:\"Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`)\",PrivateNameRedeclaration:\"Duplicate private name #%0\",RecordExpressionBarIncorrectEndSyntaxType:\"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'\",RecordExpressionBarIncorrectStartSyntaxType:\"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'\",RecordExpressionHashIncorrectStartSyntaxType:\"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'\",RecordNoProto:\"'__proto__' is not allowed in Record expressions\",RestTrailingComma:\"Unexpected trailing comma after rest element\",SloppyFunction:\"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement\",StaticPrototype:\"Classes may not have static property named prototype\",StrictDelete:\"Deleting local variable in strict mode\",StrictEvalArguments:\"Assigning to '%0' in strict mode\",StrictEvalArgumentsBinding:\"Binding '%0' in strict mode\",StrictFunction:\"In strict mode code, functions can only be declared at top level or inside a block\",StrictNumericEscape:\"The only valid numeric escape in strict mode is '\\\\0'\",StrictOctalLiteral:\"Legacy octal literals are not allowed in strict mode\",StrictWith:\"'with' in strict mode\",SuperNotAllowed:\"super() is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?\",SuperPrivateField:\"Private fields can't be accessed on super\",TrailingDecorator:\"Decorators must be attached to a class element\",TupleExpressionBarIncorrectEndSyntaxType:\"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'\",TupleExpressionBarIncorrectStartSyntaxType:\"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'\",TupleExpressionHashIncorrectStartSyntaxType:\"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'\",UnexpectedArgumentPlaceholder:\"Unexpected argument placeholder\",UnexpectedAwaitAfterPipelineBody:'Unexpected \"await\" after pipeline body; await must have parentheses in minimal proposal',UnexpectedDigitAfterHash:\"Unexpected digit after hash token\",UnexpectedImportExport:\"'import' and 'export' may only appear at the top level\",UnexpectedKeyword:\"Unexpected keyword '%0'\",UnexpectedLeadingDecorator:\"Leading decorators must be attached to a class declaration\",UnexpectedLexicalDeclaration:\"Lexical declaration cannot appear in a single-statement context\",UnexpectedNewTarget:\"new.target can only be used in functions\",UnexpectedNumericSeparator:\"A numeric separator is only allowed between two digits\",UnexpectedPrivateField:\"Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\\n or a property of member expression (i.e. this.#p).\",UnexpectedReservedWord:\"Unexpected reserved word '%0'\",UnexpectedSuper:\"super is only allowed in object methods and classes\",UnexpectedToken:\"Unexpected token '%0'\",UnexpectedTokenUnaryExponentiation:\"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.\",UnsupportedBind:\"Binding should be performed on object property.\",UnsupportedDecoratorExport:\"A decorated export must export a class declaration\",UnsupportedDefaultExport:\"Only expressions, functions or classes are allowed as the `default` export.\",UnsupportedImport:\"import can only be used in import() or import.meta\",UnsupportedMetaProperty:\"The only valid meta property for %0 is %0.%1\",UnsupportedParameterDecorator:\"Decorators cannot be used to decorate parameters\",UnsupportedPropertyDecorator:\"Decorators cannot be used to decorate object literal properties\",UnsupportedSuper:\"super can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop])\",UnterminatedComment:\"Unterminated comment\",UnterminatedRegExp:\"Unterminated regular expression\",UnterminatedString:\"Unterminated string constant\",UnterminatedTemplate:\"Unterminated template\",VarRedeclaration:\"Identifier '%0' has already been declared\",YieldBindingIdentifier:\"Can not use 'yield' as identifier inside a generator\",YieldInParameter:\"Yield expression is not allowed in formal parameters\",ZeroDigitNumericSeparator:\"Numeric separator can not be used after leading 0\"});function b(t){return null!=t&&\"Property\"===t.type&&\"init\"===t.kind&&!1===t.method}class P{constructor(t,e,s,r){this.token=void 0,this.isExpr=void 0,this.preserveSpace=void 0,this.override=void 0,this.token=t,this.isExpr=!!e,this.preserveSpace=!!s,this.override=r}}const T={braceStatement:new P(\"{\",!1),braceExpression:new P(\"{\",!0),recordExpression:new P(\"#{\",!0),templateQuasi:new P(\"${\",!1),parenStatement:new P(\"(\",!1),parenExpression:new P(\"(\",!0),template:new P(\"`\",!0,!0,(t=>t.readTmplToken())),functionExpression:new P(\"function\",!0),functionStatement:new P(\"function\",!1)};c.parenR.updateContext=c.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let t=this.state.context.pop();t===T.braceStatement&&\"function\"===this.curContext().token&&(t=this.state.context.pop()),this.state.exprAllowed=!t.isExpr},c.name.updateContext=function(t){let e=!1;t!==c.dot&&(\"of\"!==this.state.value||this.state.exprAllowed||t===c._function||t===c._class||(e=!0)),this.state.exprAllowed=e,this.state.isIterator&&(this.state.isIterator=!1)},c.braceL.updateContext=function(t){this.state.context.push(this.braceIsBlock(t)?T.braceStatement:T.braceExpression),this.state.exprAllowed=!0},c.dollarBraceL.updateContext=function(){this.state.context.push(T.templateQuasi),this.state.exprAllowed=!0},c.parenL.updateContext=function(t){const e=t===c._if||t===c._for||t===c._with||t===c._while;this.state.context.push(e?T.parenStatement:T.parenExpression),this.state.exprAllowed=!0},c.incDec.updateContext=function(){},c._function.updateContext=c._class.updateContext=function(t){!t.beforeExpr||t===c.semi||t===c._else||t===c._return&&this.hasPrecedingLineBreak()||(t===c.colon||t===c.braceL)&&this.curContext()===T.b_stat?this.state.context.push(T.functionStatement):this.state.context.push(T.functionExpression),this.state.exprAllowed=!1},c.backQuote.updateContext=function(){this.curContext()===T.template?this.state.context.pop():this.state.context.push(T.template),this.state.exprAllowed=!1},c.braceHashL.updateContext=function(){this.state.context.push(T.recordExpression),this.state.exprAllowed=!0};let w=\"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u08a0-\\u08b4\\u08b6-\\u08c7\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\u9ffc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7bf\\ua7c2-\\ua7ca\\ua7f5-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\",B=\"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08d3-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf\\u1ac0\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1df9\\u1dfb-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\";const S=new RegExp(\"[\"+w+\"]\"),N=new RegExp(\"[\"+w+B+\"]\");w=B=null;const I=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],v=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function k(t,e){let s=65536;for(let r=0,i=e.length;rt)return!1;if(s+=e[r+1],s>=t)return!0}return!1}function L(t){return t<65?36===t:t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&S.test(String.fromCharCode(t)):k(t,I)))}function O(t){return t<48?36===t:t<58||!(t<65)&&(t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&N.test(String.fromCharCode(t)):k(t,I)||k(t,v))))}const M=[\"implements\",\"interface\",\"let\",\"package\",\"private\",\"protected\",\"public\",\"static\",\"yield\"],R=[\"eval\",\"arguments\"],_=new Set([\"break\",\"case\",\"catch\",\"continue\",\"debugger\",\"default\",\"do\",\"else\",\"finally\",\"for\",\"function\",\"if\",\"return\",\"switch\",\"throw\",\"try\",\"var\",\"const\",\"while\",\"with\",\"new\",\"this\",\"super\",\"class\",\"extends\",\"export\",\"import\",\"null\",\"true\",\"false\",\"in\",\"instanceof\",\"typeof\",\"void\",\"delete\"]),j=new Set(M),U=new Set(R);function q(t,e){return e&&\"await\"===t||\"enum\"===t}function V(t,e){return q(t,e)||j.has(t)}function z(t){return U.has(t)}function H(t,e){return V(t,e)||z(t)}function W(t){return _.has(t)}const X=/^in(stanceof)?$/;const G=new Set([\"_\",\"any\",\"bool\",\"boolean\",\"empty\",\"extends\",\"false\",\"interface\",\"mixed\",\"null\",\"number\",\"static\",\"string\",\"true\",\"typeof\",\"void\"]),K=Object.freeze({AmbiguousConditionalArrow:\"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.\",AmbiguousDeclareModuleKind:\"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module\",AssignReservedType:\"Cannot overwrite reserved type %0\",DeclareClassElement:\"The `declare` modifier can only appear on class fields.\",DeclareClassFieldInitializer:\"Initializers are not allowed in fields with the `declare` modifier.\",DuplicateDeclareModuleExports:\"Duplicate `declare module.exports` statement\",EnumBooleanMemberNotInitialized:\"Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.\",EnumDuplicateMemberName:\"Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.\",EnumInconsistentMemberValues:\"Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.\",EnumInvalidExplicitType:\"Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.\",EnumInvalidExplicitTypeUnknownSupplied:\"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.\",EnumInvalidMemberInitializerPrimaryType:\"Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.\",EnumInvalidMemberInitializerSymbolType:\"Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.\",EnumInvalidMemberInitializerUnknownType:\"The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.\",EnumInvalidMemberName:\"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%0`, consider using `%1`, in enum `%2`.\",EnumNumberMemberNotInitialized:\"Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.\",EnumStringMemberInconsistentlyInitailized:\"String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.\",ImportTypeShorthandOnlyInPureImport:\"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements\",InexactInsideExact:\"Explicit inexact syntax cannot appear inside an explicit exact object type\",InexactInsideNonObject:\"Explicit inexact syntax cannot appear in class or interface definitions\",InexactVariance:\"Explicit inexact syntax cannot have variance\",InvalidNonTypeImportInDeclareModule:\"Imports within a `declare module` body must always be `import type` or `import typeof`\",MissingTypeParamDefault:\"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.\",NestedDeclareModule:\"`declare module` cannot be used inside another `declare module`\",NestedFlowComment:\"Cannot have a flow comment inside another flow comment\",OptionalBindingPattern:\"A binding pattern parameter cannot be optional in an implementation signature.\",SpreadVariance:\"Spread properties cannot have variance\",TypeBeforeInitializer:\"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`\",TypeCastInPattern:\"The type cast expression is expected to be wrapped with parenthesis\",UnexpectedExplicitInexactInObject:\"Explicit inexact syntax must appear at the end of an inexact object\",UnexpectedReservedType:\"Unexpected reserved type %0\",UnexpectedReservedUnderscore:\"`_` is only allowed as a type argument to call or new\",UnexpectedSpaceBetweenModuloChecks:\"Spaces between `%` and `checks` are not allowed here.\",UnexpectedSpreadType:\"Spread operator cannot appear in class or interface definitions\",UnexpectedSubtractionOperand:'Unexpected token, expected \"number\" or \"bigint\"',UnexpectedTokenAfterTypeParameter:\"Expected an arrow function after this type parameter declaration\",UnexpectedTypeParameterBeforeAsyncArrowFunction:\"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`\",UnsupportedDeclareExportKind:\"`declare export %0` is not supported. Use `%1` instead\",UnsupportedStatementInDeclareModule:\"Only declares and type imports are allowed inside declare module\",UnterminatedFlowComment:\"Unterminated flow-comment\"});function J(t){return\"type\"===t.importKind||\"typeof\"===t.importKind}function $(t){return(t.type===c.name||!!t.type.keyword)&&\"from\"!==t.value}const Y={const:\"declare export var\",let:\"declare export var\",type:\"export type\",interface:\"export interface\"};const Q=/\\*?\\s*@((?:no)?flow)\\b/;const Z={quot:'\"',amp:\"&\",apos:\"'\",lt:\"<\",gt:\">\",nbsp:\"\\xa0\",iexcl:\"\\xa1\",cent:\"\\xa2\",pound:\"\\xa3\",curren:\"\\xa4\",yen:\"\\xa5\",brvbar:\"\\xa6\",sect:\"\\xa7\",uml:\"\\xa8\",copy:\"\\xa9\",ordf:\"\\xaa\",laquo:\"\\xab\",not:\"\\xac\",shy:\"\\xad\",reg:\"\\xae\",macr:\"\\xaf\",deg:\"\\xb0\",plusmn:\"\\xb1\",sup2:\"\\xb2\",sup3:\"\\xb3\",acute:\"\\xb4\",micro:\"\\xb5\",para:\"\\xb6\",middot:\"\\xb7\",cedil:\"\\xb8\",sup1:\"\\xb9\",ordm:\"\\xba\",raquo:\"\\xbb\",frac14:\"\\xbc\",frac12:\"\\xbd\",frac34:\"\\xbe\",iquest:\"\\xbf\",Agrave:\"\\xc0\",Aacute:\"\\xc1\",Acirc:\"\\xc2\",Atilde:\"\\xc3\",Auml:\"\\xc4\",Aring:\"\\xc5\",AElig:\"\\xc6\",Ccedil:\"\\xc7\",Egrave:\"\\xc8\",Eacute:\"\\xc9\",Ecirc:\"\\xca\",Euml:\"\\xcb\",Igrave:\"\\xcc\",Iacute:\"\\xcd\",Icirc:\"\\xce\",Iuml:\"\\xcf\",ETH:\"\\xd0\",Ntilde:\"\\xd1\",Ograve:\"\\xd2\",Oacute:\"\\xd3\",Ocirc:\"\\xd4\",Otilde:\"\\xd5\",Ouml:\"\\xd6\",times:\"\\xd7\",Oslash:\"\\xd8\",Ugrave:\"\\xd9\",Uacute:\"\\xda\",Ucirc:\"\\xdb\",Uuml:\"\\xdc\",Yacute:\"\\xdd\",THORN:\"\\xde\",szlig:\"\\xdf\",agrave:\"\\xe0\",aacute:\"\\xe1\",acirc:\"\\xe2\",atilde:\"\\xe3\",auml:\"\\xe4\",aring:\"\\xe5\",aelig:\"\\xe6\",ccedil:\"\\xe7\",egrave:\"\\xe8\",eacute:\"\\xe9\",ecirc:\"\\xea\",euml:\"\\xeb\",igrave:\"\\xec\",iacute:\"\\xed\",icirc:\"\\xee\",iuml:\"\\xef\",eth:\"\\xf0\",ntilde:\"\\xf1\",ograve:\"\\xf2\",oacute:\"\\xf3\",ocirc:\"\\xf4\",otilde:\"\\xf5\",ouml:\"\\xf6\",divide:\"\\xf7\",oslash:\"\\xf8\",ugrave:\"\\xf9\",uacute:\"\\xfa\",ucirc:\"\\xfb\",uuml:\"\\xfc\",yacute:\"\\xfd\",thorn:\"\\xfe\",yuml:\"\\xff\",OElig:\"\\u0152\",oelig:\"\\u0153\",Scaron:\"\\u0160\",scaron:\"\\u0161\",Yuml:\"\\u0178\",fnof:\"\\u0192\",circ:\"\\u02c6\",tilde:\"\\u02dc\",Alpha:\"\\u0391\",Beta:\"\\u0392\",Gamma:\"\\u0393\",Delta:\"\\u0394\",Epsilon:\"\\u0395\",Zeta:\"\\u0396\",Eta:\"\\u0397\",Theta:\"\\u0398\",Iota:\"\\u0399\",Kappa:\"\\u039a\",Lambda:\"\\u039b\",Mu:\"\\u039c\",Nu:\"\\u039d\",Xi:\"\\u039e\",Omicron:\"\\u039f\",Pi:\"\\u03a0\",Rho:\"\\u03a1\",Sigma:\"\\u03a3\",Tau:\"\\u03a4\",Upsilon:\"\\u03a5\",Phi:\"\\u03a6\",Chi:\"\\u03a7\",Psi:\"\\u03a8\",Omega:\"\\u03a9\",alpha:\"\\u03b1\",beta:\"\\u03b2\",gamma:\"\\u03b3\",delta:\"\\u03b4\",epsilon:\"\\u03b5\",zeta:\"\\u03b6\",eta:\"\\u03b7\",theta:\"\\u03b8\",iota:\"\\u03b9\",kappa:\"\\u03ba\",lambda:\"\\u03bb\",mu:\"\\u03bc\",nu:\"\\u03bd\",xi:\"\\u03be\",omicron:\"\\u03bf\",pi:\"\\u03c0\",rho:\"\\u03c1\",sigmaf:\"\\u03c2\",sigma:\"\\u03c3\",tau:\"\\u03c4\",upsilon:\"\\u03c5\",phi:\"\\u03c6\",chi:\"\\u03c7\",psi:\"\\u03c8\",omega:\"\\u03c9\",thetasym:\"\\u03d1\",upsih:\"\\u03d2\",piv:\"\\u03d6\",ensp:\"\\u2002\",emsp:\"\\u2003\",thinsp:\"\\u2009\",zwnj:\"\\u200c\",zwj:\"\\u200d\",lrm:\"\\u200e\",rlm:\"\\u200f\",ndash:\"\\u2013\",mdash:\"\\u2014\",lsquo:\"\\u2018\",rsquo:\"\\u2019\",sbquo:\"\\u201a\",ldquo:\"\\u201c\",rdquo:\"\\u201d\",bdquo:\"\\u201e\",dagger:\"\\u2020\",Dagger:\"\\u2021\",bull:\"\\u2022\",hellip:\"\\u2026\",permil:\"\\u2030\",prime:\"\\u2032\",Prime:\"\\u2033\",lsaquo:\"\\u2039\",rsaquo:\"\\u203a\",oline:\"\\u203e\",frasl:\"\\u2044\",euro:\"\\u20ac\",image:\"\\u2111\",weierp:\"\\u2118\",real:\"\\u211c\",trade:\"\\u2122\",alefsym:\"\\u2135\",larr:\"\\u2190\",uarr:\"\\u2191\",rarr:\"\\u2192\",darr:\"\\u2193\",harr:\"\\u2194\",crarr:\"\\u21b5\",lArr:\"\\u21d0\",uArr:\"\\u21d1\",rArr:\"\\u21d2\",dArr:\"\\u21d3\",hArr:\"\\u21d4\",forall:\"\\u2200\",part:\"\\u2202\",exist:\"\\u2203\",empty:\"\\u2205\",nabla:\"\\u2207\",isin:\"\\u2208\",notin:\"\\u2209\",ni:\"\\u220b\",prod:\"\\u220f\",sum:\"\\u2211\",minus:\"\\u2212\",lowast:\"\\u2217\",radic:\"\\u221a\",prop:\"\\u221d\",infin:\"\\u221e\",ang:\"\\u2220\",and:\"\\u2227\",or:\"\\u2228\",cap:\"\\u2229\",cup:\"\\u222a\",int:\"\\u222b\",there4:\"\\u2234\",sim:\"\\u223c\",cong:\"\\u2245\",asymp:\"\\u2248\",ne:\"\\u2260\",equiv:\"\\u2261\",le:\"\\u2264\",ge:\"\\u2265\",sub:\"\\u2282\",sup:\"\\u2283\",nsub:\"\\u2284\",sube:\"\\u2286\",supe:\"\\u2287\",oplus:\"\\u2295\",otimes:\"\\u2297\",perp:\"\\u22a5\",sdot:\"\\u22c5\",lceil:\"\\u2308\",rceil:\"\\u2309\",lfloor:\"\\u230a\",rfloor:\"\\u230b\",lang:\"\\u2329\",rang:\"\\u232a\",loz:\"\\u25ca\",spades:\"\\u2660\",clubs:\"\\u2663\",hearts:\"\\u2665\",diams:\"\\u2666\"},tt=/^[\\da-fA-F]+$/,et=/^\\d+$/,st=Object.freeze({AttributeIsEmpty:\"JSX attributes must only be assigned a non-empty expression\",MissingClosingTagFragment:\"Expected corresponding JSX closing tag for <>\",MissingClosingTagElement:\"Expected corresponding JSX closing tag for <%0>\",UnsupportedJsxValue:\"JSX value should be either an expression or a quoted JSX text\",UnterminatedJsxContent:\"Unterminated JSX contents\",UnwrappedAdjacentJSXElements:\"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?\"});function rt(t){return!!t&&(\"JSXOpeningFragment\"===t.type||\"JSXClosingFragment\"===t.type)}function it(t){if(\"JSXIdentifier\"===t.type)return t.name;if(\"JSXNamespacedName\"===t.type)return t.namespace.name+\":\"+t.name.name;if(\"JSXMemberExpression\"===t.type)return it(t.object)+\".\"+it(t.property);throw new Error(\"Node had unexpected type: \"+t.type)}T.j_oTag=new P(\"...\",!0,!0),c.jsxName=new a(\"jsxName\"),c.jsxText=new a(\"jsxText\",{beforeExpr:!0}),c.jsxTagStart=new a(\"jsxTagStart\",{startsExpr:!0}),c.jsxTagEnd=new a(\"jsxTagEnd\"),c.jsxTagStart.updateContext=function(){this.state.context.push(T.j_expr),this.state.context.push(T.j_oTag),this.state.exprAllowed=!1},c.jsxTagEnd.updateContext=function(t){const e=this.state.context.pop();e===T.j_oTag&&t===c.slash||e===T.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===T.j_expr):this.state.exprAllowed=!0};class nt{constructor(t){this.flags=void 0,this.var=[],this.lexical=[],this.functions=[],this.flags=t}}class at{constructor(t,e){this.scopeStack=[],this.undefinedExports=new Map,this.undefinedPrivateNames=new Map,this.raise=t,this.inModule=e}get inFunction(){return(2&this.currentVarScope().flags)>0}get allowSuper(){return(16&this.currentThisScope().flags)>0}get allowDirectSuper(){return(32&this.currentThisScope().flags)>0}get inClass(){return(64&this.currentThisScope().flags)>0}get inNonArrowFunction(){return(2&this.currentThisScope().flags)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(t){return new nt(t)}enter(t){this.scopeStack.push(this.createScope(t))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(t){return!!(2&t.flags||!this.inModule&&1&t.flags)}declareName(t,e,s){let r=this.currentScope();if(8&e||16&e)this.checkRedeclarationInScope(r,t,e,s),16&e?r.functions.push(t):r.lexical.push(t),8&e&&this.maybeExportDefined(r,t);else if(4&e)for(let i=this.scopeStack.length-1;i>=0&&(r=this.scopeStack[i],this.checkRedeclarationInScope(r,t,e,s),r.var.push(t),this.maybeExportDefined(r,t),!(131&r.flags));--i);this.inModule&&1&r.flags&&this.undefinedExports.delete(t)}maybeExportDefined(t,e){this.inModule&&1&t.flags&&this.undefinedExports.delete(e)}checkRedeclarationInScope(t,e,s,r){this.isRedeclaredInScope(t,e,s)&&this.raise(r,g.VarRedeclaration,e)}isRedeclaredInScope(t,e,s){return!!(1&s)&&(8&s?t.lexical.indexOf(e)>-1||t.functions.indexOf(e)>-1||t.var.indexOf(e)>-1:16&s?t.lexical.indexOf(e)>-1||!this.treatFunctionsAsVarInScope(t)&&t.var.indexOf(e)>-1:t.lexical.indexOf(e)>-1&&!(8&t.flags&&t.lexical[0]===e)||!this.treatFunctionsAsVarInScope(t)&&t.functions.indexOf(e)>-1)}checkLocalExport(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&-1===this.scopeStack[0].functions.indexOf(t.name)&&this.undefinedExports.set(t.name,t.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScope(){for(let t=this.scopeStack.length-1;;t--){const e=this.scopeStack[t];if(131&e.flags)return e}}currentThisScope(){for(let t=this.scopeStack.length-1;;t--){const e=this.scopeStack[t];if((131&e.flags||64&e.flags)&&!(4&e.flags))return e}}}class ot extends nt{constructor(...t){super(...t),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class ut extends at{createScope(t){return new ot(t)}declareName(t,e,s){const r=this.currentScope();if(e&d)return this.maybeExportDefined(r,t),void r.exportOnlyBindings.push(t);super.declareName(...arguments),2&e&&(1&e||(this.checkRedeclarationInScope(r,t,e,s),this.maybeExportDefined(r,t)),r.types.push(t)),256&e&&r.enums.push(t),512&e&&r.constEnums.push(t),e&l&&r.classes.push(t)}isRedeclaredInScope(t,e,s){if(t.enums.indexOf(e)>-1){if(256&s){return!!(512&s)!==t.constEnums.indexOf(e)>-1}return!0}return s&l&&t.classes.indexOf(e)>-1?t.lexical.indexOf(e)>-1&&!!(1&s):!!(2&s&&t.types.indexOf(e)>-1)||super.isRedeclaredInScope(...arguments)}checkLocalExport(t){-1===this.scopeStack[0].types.indexOf(t.name)&&-1===this.scopeStack[0].exportOnlyBindings.indexOf(t.name)&&super.checkLocalExport(t)}}class ht{constructor(){this.stacks=[]}enter(t){this.stacks.push(t)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}get hasIn(){return(8&this.currentFlags())>0}}function ct(t,e){return(t?2:0)|(e?1:0)}function pt(t){if(null==t)throw new Error(\"Unexpected \".concat(t,\" value.\"));return t}function lt(t){if(!t)throw new Error(\"Assert fail\")}const dt=Object.freeze({ClassMethodHasDeclare:\"Class methods cannot have the 'declare' modifier\",ClassMethodHasReadonly:\"Class methods cannot have the 'readonly' modifier\",ConstructorHasTypeParameters:\"Type parameters cannot appear on a constructor declaration.\",DeclareClassFieldHasInitializer:\"Initializers are not allowed in ambient contexts.\",DeclareFunctionHasImplementation:\"An implementation cannot be declared in ambient contexts.\",DuplicateModifier:\"Duplicate modifier: '%0'\",EmptyHeritageClauseType:\"'%0' list cannot be empty.\",EmptyTypeArguments:\"Type argument list cannot be empty.\",EmptyTypeParameters:\"Type parameter list cannot be empty.\",IndexSignatureHasAbstract:\"Index signatures cannot have the 'abstract' modifier\",IndexSignatureHasAccessibility:\"Index signatures cannot have an accessibility modifier ('%0')\",IndexSignatureHasStatic:\"Index signatures cannot have the 'static' modifier\",IndexSignatureHasDeclare:\"Index signatures cannot have the 'declare' modifier\",InvalidTupleMemberLabel:\"Tuple members must be labeled with a simple identifier.\",MixedLabeledAndUnlabeledElements:\"Tuple members must all have names or all not have names.\",OptionalTypeBeforeRequired:\"A required element cannot follow an optional element.\",PatternIsOptional:\"A binding pattern parameter cannot be optional in an implementation signature.\",PrivateElementHasAbstract:\"Private elements cannot have the 'abstract' modifier.\",PrivateElementHasAccessibility:\"Private elements cannot have an accessibility modifier ('%0')\",TypeAnnotationAfterAssign:\"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`\",UnexpectedParameterModifier:\"A parameter property is only allowed in a constructor implementation.\",UnexpectedReadonly:\"'readonly' type modifier is only permitted on array and tuple literal types.\",UnexpectedTypeAnnotation:\"Did not expect a type annotation here.\",UnexpectedTypeCastInParameter:\"Unexpected type cast in parameter position.\",UnsupportedImportTypeArgument:\"Argument in a type import must be a string literal\",UnsupportedParameterPropertyKind:\"A parameter property may not be declared using a binding pattern.\",UnsupportedSignatureParameterKind:\"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0\"});c.placeholder=new a(\"%%\",{startsExpr:!0});function Dt(t,e){return t.some((t=>Array.isArray(t)?t[0]===e:t===e))}function mt(t,e,s){const r=t.find((t=>Array.isArray(t)?t[0]===e:t===e));return r&&Array.isArray(r)?r[1][s]:null}const ft=[\"minimal\",\"smart\",\"fsharp\"],yt=[\"hash\",\"bar\"];const Et={estree:t=>class extends t{estreeParseRegExpLiteral({pattern:t,flags:e}){let s=null;try{s=new RegExp(t,e)}catch(t){}const r=this.estreeParseLiteral(s);return r.regex={pattern:t,flags:e},r}estreeParseBigIntLiteral(t){const e=\"undefined\"!=typeof BigInt?BigInt(t):null,s=this.estreeParseLiteral(e);return s.bigint=String(s.value||t),s}estreeParseDecimalLiteral(t){const e=this.estreeParseLiteral(null);return e.decimal=String(e.value||t),e}estreeParseLiteral(t){return this.parseLiteral(t,\"Literal\")}directiveToStmt(t){const e=t.value,s=this.startNodeAt(t.start,t.loc.start),r=this.startNodeAt(e.start,e.loc.start);return r.value=e.value,r.raw=e.extra.raw,s.expression=this.finishNodeAt(r,\"Literal\",e.end,e.loc.end),s.directive=e.extra.raw.slice(1,-1),this.finishNodeAt(s,\"ExpressionStatement\",t.end,t.loc.end)}initFunction(t,e){super.initFunction(t,e),t.expression=!1}checkDeclaration(t){b(t)?this.checkDeclaration(t.value):super.checkDeclaration(t)}getObjectOrClassMethodParams(t){return t.value.params}checkLVal(t,e=64,s,r,i){switch(t.type){case\"ObjectPattern\":t.properties.forEach((t=>{this.checkLVal(\"Property\"===t.type?t.value:t,e,s,\"object destructuring pattern\",i)}));break;default:super.checkLVal(t,e,s,r,i)}}checkProto(t,e,s,r){t.method||super.checkProto(t,e,s,r)}isValidDirective(t){var e;return\"ExpressionStatement\"===t.type&&\"Literal\"===t.expression.type&&\"string\"==typeof t.expression.value&&!(null==(e=t.expression.extra)?void 0:e.parenthesized)}stmtToDirective(t){const e=super.stmtToDirective(t),s=t.expression.value;return e.value.value=s,e}parseBlockBody(t,e,s,r){super.parseBlockBody(t,e,s,r);const i=t.directives.map((t=>this.directiveToStmt(t)));t.body=i.concat(t.body),delete t.directives}pushClassMethod(t,e,s,r,i,n){this.parseMethod(e,s,r,i,n,\"ClassMethod\",!0),e.typeParameters&&(e.value.typeParameters=e.typeParameters,delete e.typeParameters),t.body.push(e)}parseExprAtom(t){switch(this.state.type){case c.num:case c.string:return this.estreeParseLiteral(this.state.value);case c.regexp:return this.estreeParseRegExpLiteral(this.state.value);case c.bigint:return this.estreeParseBigIntLiteral(this.state.value);case c.decimal:return this.estreeParseDecimalLiteral(this.state.value);case c._null:return this.estreeParseLiteral(null);case c._true:return this.estreeParseLiteral(!0);case c._false:return this.estreeParseLiteral(!1);default:return super.parseExprAtom(t)}}parseLiteral(t,e,s,r){const i=super.parseLiteral(t,e,s,r);return i.raw=i.extra.raw,delete i.extra,i}parseFunctionBody(t,e,s=!1){super.parseFunctionBody(t,e,s),t.expression=\"BlockStatement\"!==t.body.type}parseMethod(t,e,s,r,i,n,a=!1){let o=this.startNode();return o.kind=t.kind,o=super.parseMethod(o,e,s,r,i,n,a),o.type=\"FunctionExpression\",delete o.kind,t.value=o,n=\"ClassMethod\"===n?\"MethodDefinition\":n,this.finishNode(t,n)}parseObjectMethod(t,e,s,r,i){const n=super.parseObjectMethod(t,e,s,r,i);return n&&(n.type=\"Property\",\"method\"===n.kind&&(n.kind=\"init\"),n.shorthand=!1),n}parseObjectProperty(t,e,s,r,i){const n=super.parseObjectProperty(t,e,s,r,i);return n&&(n.kind=\"init\",n.type=\"Property\"),n}toAssignable(t){return b(t)?(this.toAssignable(t.value),t):super.toAssignable(t)}toAssignableObjectExpressionProp(t,e){if(\"get\"===t.kind||\"set\"===t.kind)throw this.raise(t.key.start,g.PatternHasAccessor);if(t.method)throw this.raise(t.key.start,g.PatternHasMethod);super.toAssignableObjectExpressionProp(t,e)}finishCallExpression(t,e){return super.finishCallExpression(t,e),\"Import\"===t.callee.type&&(t.type=\"ImportExpression\",t.source=t.arguments[0],delete t.arguments,delete t.callee),t}toReferencedArguments(t){\"ImportExpression\"!==t.type&&super.toReferencedArguments(t)}parseExport(t){switch(super.parseExport(t),t.type){case\"ExportAllDeclaration\":t.exported=null;break;case\"ExportNamedDeclaration\":1===t.specifiers.length&&\"ExportNamespaceSpecifier\"===t.specifiers[0].type&&(t.type=\"ExportAllDeclaration\",t.exported=t.specifiers[0].exported,delete t.specifiers)}return t}parseSubscript(t,e,s,r,i){const n=super.parseSubscript(t,e,s,r,i);if(i.optionalChainMember){if(\"OptionalMemberExpression\"!==n.type&&\"OptionalCallExpression\"!==n.type||(n.type=n.type.substring(8)),i.stop){const t=this.startNodeAtNode(n);return t.expression=n,this.finishNode(t,\"ChainExpression\")}}else\"MemberExpression\"!==n.type&&\"CallExpression\"!==n.type||(n.optional=!1);return n}},jsx:t=>class extends t{jsxReadToken(){let t=\"\",e=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,st.UnterminatedJsxContent);const s=this.input.charCodeAt(this.state.pos);switch(s){case 60:case 123:return this.state.pos===this.state.start?60===s&&this.state.exprAllowed?(++this.state.pos,this.finishToken(c.jsxTagStart)):super.getTokenFromCode(s):(t+=this.input.slice(e,this.state.pos),this.finishToken(c.jsxText,t));case 38:t+=this.input.slice(e,this.state.pos),t+=this.jsxReadEntity(),e=this.state.pos;break;default:y(s)?(t+=this.input.slice(e,this.state.pos),t+=this.jsxReadNewLine(!0),e=this.state.pos):++this.state.pos}}}jsxReadNewLine(t){const e=this.input.charCodeAt(this.state.pos);let s;return++this.state.pos,13===e&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,s=t?\"\\n\":\"\\r\\n\"):s=String.fromCharCode(e),++this.state.curLine,this.state.lineStart=this.state.pos,s}jsxReadString(t){let e=\"\",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,g.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===t)break;38===r?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadEntity(),s=this.state.pos):y(r)?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadNewLine(!1),s=this.state.pos):++this.state.pos}return e+=this.input.slice(s,this.state.pos++),this.finishToken(c.string,e)}jsxReadEntity(){let t,e=\"\",s=0,r=this.input[this.state.pos];const i=++this.state.pos;for(;this.state.posclass extends t{constructor(t,e){super(t,e),this.flowPragma=void 0,this.flowPragma=void 0}shouldParseTypes(){return this.getPluginOption(\"flow\",\"all\")||\"flow\"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption(\"flow\",\"enums\")}finishToken(t,e){return t!==c.string&&t!==c.semi&&t!==c.interpreterDirective&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(t,e)}addComment(t){if(void 0===this.flowPragma){const e=Q.exec(t.value);if(e)if(\"flow\"===e[1])this.flowPragma=\"flow\";else{if(\"noflow\"!==e[1])throw new Error(\"Unexpected flow pragma\");this.flowPragma=\"noflow\"}else;}return super.addComment(t)}flowParseTypeInitialiser(t){const e=this.state.inType;this.state.inType=!0,this.expect(t||c.colon);const s=this.flowParseType();return this.state.inType=e,s}flowParsePredicate(){const t=this.startNode(),e=this.state.startLoc,s=this.state.start;this.expect(c.modulo);const r=this.state.startLoc;return this.expectContextual(\"checks\"),e.line===r.line&&e.column===r.column-1||this.raise(s,K.UnexpectedSpaceBetweenModuloChecks),this.eat(c.parenL)?(t.value=this.parseExpression(),this.expect(c.parenR),this.finishNode(t,\"DeclaredPredicate\")):this.finishNode(t,\"InferredPredicate\")}flowParseTypeAndPredicateInitialiser(){const t=this.state.inType;this.state.inType=!0,this.expect(c.colon);let e=null,s=null;return this.match(c.modulo)?(this.state.inType=t,s=this.flowParsePredicate()):(e=this.flowParseType(),this.state.inType=t,this.match(c.modulo)&&(s=this.flowParsePredicate())),[e,s]}flowParseDeclareClass(t){return this.next(),this.flowParseInterfaceish(t,!0),this.finishNode(t,\"DeclareClass\")}flowParseDeclareFunction(t){this.next();const e=t.id=this.parseIdentifier(),s=this.startNode(),r=this.startNode();this.isRelational(\"<\")?s.typeParameters=this.flowParseTypeParameterDeclaration():s.typeParameters=null,this.expect(c.parenL);const i=this.flowParseFunctionTypeParams();return s.params=i.params,s.rest=i.rest,this.expect(c.parenR),[s.returnType,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),r.typeAnnotation=this.finishNode(s,\"FunctionTypeAnnotation\"),e.typeAnnotation=this.finishNode(r,\"TypeAnnotation\"),this.resetEndLocation(e),this.semicolon(),this.finishNode(t,\"DeclareFunction\")}flowParseDeclare(t,e){if(this.match(c._class))return this.flowParseDeclareClass(t);if(this.match(c._function))return this.flowParseDeclareFunction(t);if(this.match(c._var))return this.flowParseDeclareVariable(t);if(this.eatContextual(\"module\"))return this.match(c.dot)?this.flowParseDeclareModuleExports(t):(e&&this.raise(this.state.lastTokStart,K.NestedDeclareModule),this.flowParseDeclareModule(t));if(this.isContextual(\"type\"))return this.flowParseDeclareTypeAlias(t);if(this.isContextual(\"opaque\"))return this.flowParseDeclareOpaqueType(t);if(this.isContextual(\"interface\"))return this.flowParseDeclareInterface(t);if(this.match(c._export))return this.flowParseDeclareExportDeclaration(t,e);throw this.unexpected()}flowParseDeclareVariable(t){return this.next(),t.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(t.id.name,5,t.id.start),this.semicolon(),this.finishNode(t,\"DeclareVariable\")}flowParseDeclareModule(t){this.scope.enter(0),this.match(c.string)?t.id=this.parseExprAtom():t.id=this.parseIdentifier();const e=t.body=this.startNode(),s=e.body=[];for(this.expect(c.braceL);!this.match(c.braceR);){let t=this.startNode();this.match(c._import)?(this.next(),this.isContextual(\"type\")||this.match(c._typeof)||this.raise(this.state.lastTokStart,K.InvalidNonTypeImportInDeclareModule),this.parseImport(t)):(this.expectContextual(\"declare\",K.UnsupportedStatementInDeclareModule),t=this.flowParseDeclare(t,!0)),s.push(t)}this.scope.exit(),this.expect(c.braceR),this.finishNode(e,\"BlockStatement\");let r=null,i=!1;return s.forEach((t=>{!function(t){return\"DeclareExportAllDeclaration\"===t.type||\"DeclareExportDeclaration\"===t.type&&(!t.declaration||\"TypeAlias\"!==t.declaration.type&&\"InterfaceDeclaration\"!==t.declaration.type)}(t)?\"DeclareModuleExports\"===t.type&&(i&&this.raise(t.start,K.DuplicateDeclareModuleExports),\"ES\"===r&&this.raise(t.start,K.AmbiguousDeclareModuleKind),r=\"CommonJS\",i=!0):(\"CommonJS\"===r&&this.raise(t.start,K.AmbiguousDeclareModuleKind),r=\"ES\")})),t.kind=r||\"CommonJS\",this.finishNode(t,\"DeclareModule\")}flowParseDeclareExportDeclaration(t,e){if(this.expect(c._export),this.eat(c._default))return this.match(c._function)||this.match(c._class)?t.declaration=this.flowParseDeclare(this.startNode()):(t.declaration=this.flowParseType(),this.semicolon()),t.default=!0,this.finishNode(t,\"DeclareExportDeclaration\");if(this.match(c._const)||this.isLet()||(this.isContextual(\"type\")||this.isContextual(\"interface\"))&&!e){const t=this.state.value,e=Y[t];throw this.raise(this.state.start,K.UnsupportedDeclareExportKind,t,e)}if(this.match(c._var)||this.match(c._function)||this.match(c._class)||this.isContextual(\"opaque\"))return t.declaration=this.flowParseDeclare(this.startNode()),t.default=!1,this.finishNode(t,\"DeclareExportDeclaration\");if(this.match(c.star)||this.match(c.braceL)||this.isContextual(\"interface\")||this.isContextual(\"type\")||this.isContextual(\"opaque\"))return\"ExportNamedDeclaration\"===(t=this.parseExport(t)).type&&(t.type=\"ExportDeclaration\",t.default=!1,delete t.exportKind),t.type=\"Declare\"+t.type,t;throw this.unexpected()}flowParseDeclareModuleExports(t){return this.next(),this.expectContextual(\"exports\"),t.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(t,\"DeclareModuleExports\")}flowParseDeclareTypeAlias(t){return this.next(),this.flowParseTypeAlias(t),t.type=\"DeclareTypeAlias\",t}flowParseDeclareOpaqueType(t){return this.next(),this.flowParseOpaqueType(t,!0),t.type=\"DeclareOpaqueType\",t}flowParseDeclareInterface(t){return this.next(),this.flowParseInterfaceish(t),this.finishNode(t,\"DeclareInterface\")}flowParseInterfaceish(t,e=!1){if(t.id=this.flowParseRestrictedIdentifier(!e,!0),this.scope.declareName(t.id.name,e?17:9,t.id.start),this.isRelational(\"<\")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.extends=[],t.implements=[],t.mixins=[],this.eat(c._extends))do{t.extends.push(this.flowParseInterfaceExtends())}while(!e&&this.eat(c.comma));if(this.isContextual(\"mixins\")){this.next();do{t.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(c.comma))}if(this.isContextual(\"implements\")){this.next();do{t.implements.push(this.flowParseInterfaceExtends())}while(this.eat(c.comma))}t.body=this.flowParseObjectType({allowStatic:e,allowExact:!1,allowSpread:!1,allowProto:e,allowInexact:!1})}flowParseInterfaceExtends(){const t=this.startNode();return t.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational(\"<\")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,this.finishNode(t,\"InterfaceExtends\")}flowParseInterface(t){return this.flowParseInterfaceish(t),this.finishNode(t,\"InterfaceDeclaration\")}checkNotUnderscore(t){\"_\"===t&&this.raise(this.state.start,K.UnexpectedReservedUnderscore)}checkReservedType(t,e,s){G.has(t)&&this.raise(e,s?K.AssignReservedType:K.UnexpectedReservedType,t)}flowParseRestrictedIdentifier(t,e){return this.checkReservedType(this.state.value,this.state.start,e),this.parseIdentifier(t)}flowParseTypeAlias(t){return t.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(t.id.name,9,t.id.start),this.isRelational(\"<\")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.right=this.flowParseTypeInitialiser(c.eq),this.semicolon(),this.finishNode(t,\"TypeAlias\")}flowParseOpaqueType(t,e){return this.expectContextual(\"type\"),t.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(t.id.name,9,t.id.start),this.isRelational(\"<\")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.supertype=null,this.match(c.colon)&&(t.supertype=this.flowParseTypeInitialiser(c.colon)),t.impltype=null,e||(t.impltype=this.flowParseTypeInitialiser(c.eq)),this.semicolon(),this.finishNode(t,\"OpaqueType\")}flowParseTypeParameter(t=!1){const e=this.state.start,s=this.startNode(),r=this.flowParseVariance(),i=this.flowParseTypeAnnotatableIdentifier();return s.name=i.name,s.variance=r,s.bound=i.typeAnnotation,this.match(c.eq)?(this.eat(c.eq),s.default=this.flowParseType()):t&&this.raise(e,K.MissingTypeParamDefault),this.finishNode(s,\"TypeParameter\")}flowParseTypeParameterDeclaration(){const t=this.state.inType,e=this.startNode();e.params=[],this.state.inType=!0,this.isRelational(\"<\")||this.match(c.jsxTagStart)?this.next():this.unexpected();let s=!1;do{const t=this.flowParseTypeParameter(s);e.params.push(t),t.default&&(s=!0),this.isRelational(\">\")||this.expect(c.comma)}while(!this.isRelational(\">\"));return this.expectRelational(\">\"),this.state.inType=t,this.finishNode(e,\"TypeParameterDeclaration\")}flowParseTypeParameterInstantiation(){const t=this.startNode(),e=this.state.inType;t.params=[],this.state.inType=!0,this.expectRelational(\"<\");const s=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(\">\");)t.params.push(this.flowParseType()),this.isRelational(\">\")||this.expect(c.comma);return this.state.noAnonFunctionType=s,this.expectRelational(\">\"),this.state.inType=e,this.finishNode(t,\"TypeParameterInstantiation\")}flowParseTypeParameterInstantiationCallOrNew(){const t=this.startNode(),e=this.state.inType;for(t.params=[],this.state.inType=!0,this.expectRelational(\"<\");!this.isRelational(\">\");)t.params.push(this.flowParseTypeOrImplicitInstantiation()),this.isRelational(\">\")||this.expect(c.comma);return this.expectRelational(\">\"),this.state.inType=e,this.finishNode(t,\"TypeParameterInstantiation\")}flowParseInterfaceType(){const t=this.startNode();if(this.expectContextual(\"interface\"),t.extends=[],this.eat(c._extends))do{t.extends.push(this.flowParseInterfaceExtends())}while(this.eat(c.comma));return t.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(t,\"InterfaceTypeAnnotation\")}flowParseObjectPropertyKey(){return this.match(c.num)||this.match(c.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(t,e,s){return t.static=e,this.lookahead().type===c.colon?(t.id=this.flowParseObjectPropertyKey(),t.key=this.flowParseTypeInitialiser()):(t.id=null,t.key=this.flowParseType()),this.expect(c.bracketR),t.value=this.flowParseTypeInitialiser(),t.variance=s,this.finishNode(t,\"ObjectTypeIndexer\")}flowParseObjectTypeInternalSlot(t,e){return t.static=e,t.id=this.flowParseObjectPropertyKey(),this.expect(c.bracketR),this.expect(c.bracketR),this.isRelational(\"<\")||this.match(c.parenL)?(t.method=!0,t.optional=!1,t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start))):(t.method=!1,this.eat(c.question)&&(t.optional=!0),t.value=this.flowParseTypeInitialiser()),this.finishNode(t,\"ObjectTypeInternalSlot\")}flowParseObjectTypeMethodish(t){for(t.params=[],t.rest=null,t.typeParameters=null,this.isRelational(\"<\")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(c.parenL);!this.match(c.parenR)&&!this.match(c.ellipsis);)t.params.push(this.flowParseFunctionTypeParam()),this.match(c.parenR)||this.expect(c.comma);return this.eat(c.ellipsis)&&(t.rest=this.flowParseFunctionTypeParam()),this.expect(c.parenR),t.returnType=this.flowParseTypeInitialiser(),this.finishNode(t,\"FunctionTypeAnnotation\")}flowParseObjectTypeCallProperty(t,e){const s=this.startNode();return t.static=e,t.value=this.flowParseObjectTypeMethodish(s),this.finishNode(t,\"ObjectTypeCallProperty\")}flowParseObjectType({allowStatic:t,allowExact:e,allowSpread:s,allowProto:r,allowInexact:i}){const n=this.state.inType;this.state.inType=!0;const a=this.startNode();let o,u;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let h=!1;for(e&&this.match(c.braceBarL)?(this.expect(c.braceBarL),o=c.braceBarR,u=!0):(this.expect(c.braceL),o=c.braceR,u=!1),a.exact=u;!this.match(o);){let e=!1,n=null,o=null;const p=this.startNode();if(r&&this.isContextual(\"proto\")){const e=this.lookahead();e.type!==c.colon&&e.type!==c.question&&(this.next(),n=this.state.start,t=!1)}if(t&&this.isContextual(\"static\")){const t=this.lookahead();t.type!==c.colon&&t.type!==c.question&&(this.next(),e=!0)}const l=this.flowParseVariance();if(this.eat(c.bracketL))null!=n&&this.unexpected(n),this.eat(c.bracketL)?(l&&this.unexpected(l.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(p,e))):a.indexers.push(this.flowParseObjectTypeIndexer(p,e,l));else if(this.match(c.parenL)||this.isRelational(\"<\"))null!=n&&this.unexpected(n),l&&this.unexpected(l.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(p,e));else{let t=\"init\";if(this.isContextual(\"get\")||this.isContextual(\"set\")){const e=this.lookahead();e.type!==c.name&&e.type!==c.string&&e.type!==c.num||(t=this.state.value,this.next())}const r=this.flowParseObjectTypeProperty(p,e,n,l,t,s,null!=i?i:!u);null===r?(h=!0,o=this.state.lastTokStart):a.properties.push(r)}this.flowObjectTypeSemicolon(),!o||this.match(c.braceR)||this.match(c.braceBarR)||this.raise(o,K.UnexpectedExplicitInexactInObject)}this.expect(o),s&&(a.inexact=h);const p=this.finishNode(a,\"ObjectTypeAnnotation\");return this.state.inType=n,p}flowParseObjectTypeProperty(t,e,s,r,i,n,a){if(this.eat(c.ellipsis)){return this.match(c.comma)||this.match(c.semi)||this.match(c.braceR)||this.match(c.braceBarR)?(n?a||this.raise(this.state.lastTokStart,K.InexactInsideExact):this.raise(this.state.lastTokStart,K.InexactInsideNonObject),r&&this.raise(r.start,K.InexactVariance),null):(n||this.raise(this.state.lastTokStart,K.UnexpectedSpreadType),null!=s&&this.unexpected(s),r&&this.raise(r.start,K.SpreadVariance),t.argument=this.flowParseType(),this.finishNode(t,\"ObjectTypeSpreadProperty\"))}{t.key=this.flowParseObjectPropertyKey(),t.static=e,t.proto=null!=s,t.kind=i;let n=!1;return this.isRelational(\"<\")||this.match(c.parenL)?(t.method=!0,null!=s&&this.unexpected(s),r&&this.unexpected(r.start),t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start)),\"get\"!==i&&\"set\"!==i||this.flowCheckGetterSetterParams(t)):(\"init\"!==i&&this.unexpected(),t.method=!1,this.eat(c.question)&&(n=!0),t.value=this.flowParseTypeInitialiser(),t.variance=r),t.optional=n,this.finishNode(t,\"ObjectTypeProperty\")}}flowCheckGetterSetterParams(t){const e=\"get\"===t.kind?0:1,s=t.start;t.value.params.length+(t.value.rest?1:0)!==e&&(\"get\"===t.kind?this.raise(s,g.BadGetterArity):this.raise(s,g.BadSetterArity)),\"set\"===t.kind&&t.value.rest&&this.raise(s,g.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(c.semi)||this.eat(c.comma)||this.match(c.braceR)||this.match(c.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(t,e,s){t=t||this.state.start,e=e||this.state.startLoc;let r=s||this.flowParseRestrictedIdentifier(!0);for(;this.eat(c.dot);){const s=this.startNodeAt(t,e);s.qualification=r,s.id=this.flowParseRestrictedIdentifier(!0),r=this.finishNode(s,\"QualifiedTypeIdentifier\")}return r}flowParseGenericType(t,e,s){const r=this.startNodeAt(t,e);return r.typeParameters=null,r.id=this.flowParseQualifiedTypeIdentifier(t,e,s),this.isRelational(\"<\")&&(r.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(r,\"GenericTypeAnnotation\")}flowParseTypeofType(){const t=this.startNode();return this.expect(c._typeof),t.argument=this.flowParsePrimaryType(),this.finishNode(t,\"TypeofTypeAnnotation\")}flowParseTupleType(){const t=this.startNode();for(t.types=[],this.expect(c.bracketL);this.state.possuper.parseFunctionBody(t,!0,s))):super.parseFunctionBody(t,!1,s)}parseFunctionBodyAndFinish(t,e,s=!1){if(this.match(c.colon)){const e=this.startNode();[e.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),t.returnType=e.typeAnnotation?this.finishNode(e,\"TypeAnnotation\"):null}super.parseFunctionBodyAndFinish(t,e,s)}parseStatement(t,e){if(this.state.strict&&this.match(c.name)&&\"interface\"===this.state.value){const t=this.lookahead();if(t.type===c.name||W(t.value)){const t=this.startNode();return this.next(),this.flowParseInterface(t)}}else if(this.shouldParseEnums()&&this.isContextual(\"enum\")){const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}const s=super.parseStatement(t,e);return void 0!==this.flowPragma||this.isValidDirective(s)||(this.flowPragma=null),s}parseExpressionStatement(t,e){if(\"Identifier\"===e.type)if(\"declare\"===e.name){if(this.match(c._class)||this.match(c.name)||this.match(c._function)||this.match(c._var)||this.match(c._export))return this.flowParseDeclare(t)}else if(this.match(c.name)){if(\"interface\"===e.name)return this.flowParseInterface(t);if(\"type\"===e.name)return this.flowParseTypeAlias(t);if(\"opaque\"===e.name)return this.flowParseOpaqueType(t,!1)}return super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return this.isContextual(\"type\")||this.isContextual(\"interface\")||this.isContextual(\"opaque\")||this.shouldParseEnums()&&this.isContextual(\"enum\")||super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){return(!this.match(c.name)||!(\"type\"===this.state.value||\"interface\"===this.state.value||\"opaque\"===this.state.value||this.shouldParseEnums()&&\"enum\"===this.state.value))&&super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual(\"enum\")){const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDefaultExpression()}parseConditional(t,e,s,r){if(!this.match(c.question))return t;if(r){const i=this.tryParse((()=>super.parseConditional(t,e,s)));return i.node?(i.error&&(this.state=i.failState),i.node):(r.start=i.error.pos||this.state.start,t)}this.expect(c.question);const i=this.state.clone(),n=this.state.noArrowAt,a=this.startNodeAt(e,s);let{consequent:o,failed:u}=this.tryParseConditionalConsequent(),[h,p]=this.getArrowLikeExpressions(o);if(u||p.length>0){const t=[...n];if(p.length>0){this.state=i,this.state.noArrowAt=t;for(let e=0;e1&&this.raise(i.start,K.AmbiguousConditionalArrow),u&&1===h.length&&(this.state=i,this.state.noArrowAt=t.concat(h[0].start),({consequent:o,failed:u}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(o,!0),this.state.noArrowAt=n,this.expect(c.colon),a.test=t,a.consequent=o,a.alternate=this.forwardNoArrowParamsConversionAt(a,(()=>this.parseMaybeAssign(void 0,void 0,void 0))),this.finishNode(a,\"ConditionalExpression\")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const t=this.parseMaybeAssignAllowIn(),e=!this.match(c.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:t,failed:e}}getArrowLikeExpressions(t,e){const s=[t],r=[];for(;0!==s.length;){const t=s.pop();\"ArrowFunctionExpression\"===t.type?(t.typeParameters||!t.returnType?this.finishArrowValidation(t):r.push(t),s.push(t.body)):\"ConditionalExpression\"===t.type&&(s.push(t.consequent),s.push(t.alternate))}return e?(r.forEach((t=>this.finishArrowValidation(t))),[r,[]]):function(t,e){const s=[],r=[];for(let i=0;it.params.every((t=>this.isAssignable(t,!0)))))}finishArrowValidation(t){var e;this.toAssignableList(t.params,null==(e=t.extra)?void 0:e.trailingComma),this.scope.enter(6),super.checkParams(t,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(t,e){let s;return-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),s=e(),this.state.noArrowParamsConversionAt.pop()):s=e(),s}parseParenItem(t,e,s){if(t=super.parseParenItem(t,e,s),this.eat(c.question)&&(t.optional=!0,this.resetEndLocation(t)),this.match(c.colon)){const r=this.startNodeAt(e,s);return r.expression=t,r.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(r,\"TypeCastExpression\")}return t}assertModuleNodeAllowed(t){\"ImportDeclaration\"===t.type&&(\"type\"===t.importKind||\"typeof\"===t.importKind)||\"ExportNamedDeclaration\"===t.type&&\"type\"===t.exportKind||\"ExportAllDeclaration\"===t.type&&\"type\"===t.exportKind||super.assertModuleNodeAllowed(t)}parseExport(t){const e=super.parseExport(t);return\"ExportNamedDeclaration\"!==e.type&&\"ExportAllDeclaration\"!==e.type||(e.exportKind=e.exportKind||\"value\"),e}parseExportDeclaration(t){if(this.isContextual(\"type\")){t.exportKind=\"type\";const e=this.startNode();return this.next(),this.match(c.braceL)?(t.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(t),null):this.flowParseTypeAlias(e)}if(this.isContextual(\"opaque\")){t.exportKind=\"type\";const e=this.startNode();return this.next(),this.flowParseOpaqueType(e,!1)}if(this.isContextual(\"interface\")){t.exportKind=\"type\";const e=this.startNode();return this.next(),this.flowParseInterface(e)}if(this.shouldParseEnums()&&this.isContextual(\"enum\")){t.exportKind=\"value\";const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDeclaration(t)}eatExportStar(t){return!!super.eatExportStar(...arguments)||!(!this.isContextual(\"type\")||this.lookahead().type!==c.star)&&(t.exportKind=\"type\",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(t){const e=this.state.start,s=super.maybeParseExportNamespaceSpecifier(t);return s&&\"type\"===t.exportKind&&this.unexpected(e),s}parseClassId(t,e,s){super.parseClassId(t,e,s),this.isRelational(\"<\")&&(t.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(t,e,s){const r=this.state.start;if(this.isContextual(\"declare\")){if(this.parseClassMemberFromModifier(t,e))return;e.declare=!0}super.parseClassMember(t,e,s),e.declare&&(\"ClassProperty\"!==e.type&&\"ClassPrivateProperty\"!==e.type?this.raise(r,K.DeclareClassElement):e.value&&this.raise(e.value.start,K.DeclareClassFieldInitializer))}getTokenFromCode(t){const e=this.input.charCodeAt(this.state.pos+1);return 123===t&&124===e?this.finishOp(c.braceBarL,2):!this.state.inType||62!==t&&60!==t?this.state.inType&&63===t?this.finishOp(c.question,1):function(t,e){return 64===t&&64===e}(t,e)?(this.state.isIterator=!0,super.readWord()):super.getTokenFromCode(t):this.finishOp(c.relational,1)}isAssignable(t,e){switch(t.type){case\"Identifier\":case\"ObjectPattern\":case\"ArrayPattern\":case\"AssignmentPattern\":return!0;case\"ObjectExpression\":{const e=t.properties.length-1;return t.properties.every(((t,s)=>\"ObjectMethod\"!==t.type&&(s===e||\"SpreadElement\"===t.type)&&this.isAssignable(t)))}case\"ObjectProperty\":return this.isAssignable(t.value);case\"SpreadElement\":return this.isAssignable(t.argument);case\"ArrayExpression\":return t.elements.every((t=>this.isAssignable(t)));case\"AssignmentExpression\":return\"=\"===t.operator;case\"ParenthesizedExpression\":case\"TypeCastExpression\":return this.isAssignable(t.expression);case\"MemberExpression\":case\"OptionalMemberExpression\":return!e;default:return!1}}toAssignable(t){return\"TypeCastExpression\"===t.type?super.toAssignable(this.typeCastToParameter(t)):super.toAssignable(t)}toAssignableList(t,e){for(let e=0;e1||!e)&&this.raise(i.typeAnnotation.start,K.TypeCastInPattern)}return t}parseArrayLike(t,e,s,r){const i=super.parseArrayLike(t,e,s,r);return e&&!this.state.maybeInArrowParameters&&this.toReferencedList(i.elements),i}checkLVal(t,e=64,s,r){if(\"TypeCastExpression\"!==t.type)return super.checkLVal(t,e,s,r)}parseClassProperty(t){return this.match(c.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(t)}parseClassPrivateProperty(t){return this.match(c.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(t)}isClassMethod(){return this.isRelational(\"<\")||super.isClassMethod()}isClassProperty(){return this.match(c.colon)||super.isClassProperty()}isNonstaticConstructor(t){return!this.match(c.colon)&&super.isNonstaticConstructor(t)}pushClassMethod(t,e,s,r,i,n){e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational(\"<\")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(t,e,s,r,i,n)}pushClassPrivateMethod(t,e,s,r){e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational(\"<\")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(t,e,s,r)}parseClassSuper(t){if(super.parseClassSuper(t),t.superClass&&this.isRelational(\"<\")&&(t.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual(\"implements\")){this.next();const e=t.implements=[];do{const t=this.startNode();t.id=this.flowParseRestrictedIdentifier(!0),this.isRelational(\"<\")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,e.push(this.finishNode(t,\"ClassImplements\"))}while(this.eat(c.comma))}}parsePropertyName(t,e){const s=this.flowParseVariance(),r=super.parsePropertyName(t,e);return t.variance=s,r}parseObjPropValue(t,e,s,r,i,n,a,o){let u;t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational(\"<\")&&!a&&(u=this.flowParseTypeParameterDeclaration(),this.match(c.parenL)||this.unexpected()),super.parseObjPropValue(t,e,s,r,i,n,a,o),u&&((t.value||t).typeParameters=u)}parseAssignableListItemTypes(t){return this.eat(c.question)&&(\"Identifier\"!==t.type&&this.raise(t.start,K.OptionalBindingPattern),t.optional=!0),this.match(c.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),this.resetEndLocation(t),t}parseMaybeDefault(t,e,s){const r=super.parseMaybeDefault(t,e,s);return\"AssignmentPattern\"===r.type&&r.typeAnnotation&&r.right.startsuper.parseMaybeAssign(t,e,s)),n),!i.error)return i.node;const{context:r}=this.state;r[r.length-1]===T.j_oTag?r.length-=2:r[r.length-1]===T.j_expr&&(r.length-=1)}if((null==(r=i)?void 0:r.error)||this.isRelational(\"<\")){var a,o;let r;n=n||this.state.clone();const u=this.tryParse((i=>{var n;r=this.flowParseTypeParameterDeclaration();const a=this.forwardNoArrowParamsConversionAt(r,(()=>{const i=super.parseMaybeAssign(t,e,s);return this.resetStartLocationFromNode(i,r),i}));\"ArrowFunctionExpression\"!==a.type&&(null==(n=a.extra)?void 0:n.parenthesized)&&i();const o=this.maybeUnwrapTypeCastExpression(a);return o.typeParameters=r,this.resetStartLocationFromNode(o,r),a}),n);let h=null;if(u.node&&\"ArrowFunctionExpression\"===this.maybeUnwrapTypeCastExpression(u.node).type){if(!u.error&&!u.aborted)return u.node.async&&this.raise(r.start,K.UnexpectedTypeParameterBeforeAsyncArrowFunction),u.node;h=u.node}if(null==(a=i)?void 0:a.node)return this.state=i.failState,i.node;if(h)return this.state=u.failState,h;if(null==(o=i)?void 0:o.thrown)throw i.error;if(u.thrown)throw u.error;throw this.raise(r.start,K.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(t,e,s)}parseArrow(t){if(this.match(c.colon)){const e=this.tryParse((()=>{const e=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const s=this.startNode();return[s.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=e,this.canInsertSemicolon()&&this.unexpected(),this.match(c.arrow)||this.unexpected(),s}));if(e.thrown)return null;e.error&&(this.state=e.failState),t.returnType=e.node.typeAnnotation?this.finishNode(e.node,\"TypeAnnotation\"):null}return super.parseArrow(t)}shouldParseArrow(){return this.match(c.colon)||super.shouldParseArrow()}setArrowFunctionParameters(t,e){-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?t.params=e:super.setArrowFunctionParameters(t,e)}checkParams(t,e,s){if(!s||-1===this.state.noArrowParamsConversionAt.indexOf(t.start))return super.checkParams(...arguments)}parseParenAndDistinguishExpression(t){return super.parseParenAndDistinguishExpression(t&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(t,e,s,r){if(\"Identifier\"===t.type&&\"async\"===t.name&&-1!==this.state.noArrowAt.indexOf(e)){this.next();const r=this.startNodeAt(e,s);r.callee=t,r.arguments=this.parseCallExpressionArguments(c.parenR,!1),t=this.finishNode(r,\"CallExpression\")}else if(\"Identifier\"===t.type&&\"async\"===t.name&&this.isRelational(\"<\")){const i=this.state.clone(),n=this.tryParse((t=>this.parseAsyncArrowWithTypeParameters(e,s)||t()),i);if(!n.error&&!n.aborted)return n.node;const a=this.tryParse((()=>super.parseSubscripts(t,e,s,r)),i);if(a.node&&!a.error)return a.node;if(n.node)return this.state=n.failState,n.node;if(a.node)return this.state=a.failState,a.node;throw n.error||a.error}return super.parseSubscripts(t,e,s,r)}parseSubscript(t,e,s,r,i){if(this.match(c.questionDot)&&this.isLookaheadToken_lt()){if(i.optionalChainMember=!0,r)return i.stop=!0,t;this.next();const n=this.startNodeAt(e,s);return n.callee=t,n.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(c.parenL),n.arguments=this.parseCallExpressionArguments(c.parenR,!1),n.optional=!0,this.finishCallExpression(n,!0)}if(!r&&this.shouldParseTypes()&&this.isRelational(\"<\")){const r=this.startNodeAt(e,s);r.callee=t;const n=this.tryParse((()=>(r.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(c.parenL),r.arguments=this.parseCallExpressionArguments(c.parenR,!1),i.optionalChainMember&&(r.optional=!1),this.finishCallExpression(r,i.optionalChainMember))));if(n.node)return n.error&&(this.state=n.failState),n.node}return super.parseSubscript(t,e,s,r,i)}parseNewArguments(t){let e=null;this.shouldParseTypes()&&this.isRelational(\"<\")&&(e=this.tryParse((()=>this.flowParseTypeParameterInstantiationCallOrNew())).node),t.typeArguments=e,super.parseNewArguments(t)}parseAsyncArrowWithTypeParameters(t,e){const s=this.startNodeAt(t,e);if(this.parseFunctionParams(s),this.parseArrow(s))return this.parseArrowExpression(s,void 0,!0)}readToken_mult_modulo(t){const e=this.input.charCodeAt(this.state.pos+1);if(42===t&&47===e&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(t)}readToken_pipe_amp(t){const e=this.input.charCodeAt(this.state.pos+1);124!==t||125!==e?super.readToken_pipe_amp(t):this.finishOp(c.braceBarR,2)}parseTopLevel(t,e){const s=super.parseTopLevel(t,e);return this.state.hasFlowComment&&this.raise(this.state.pos,K.UnterminatedFlowComment),s}skipBlockComment(){if(this.hasPlugin(\"flowComments\")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,K.NestedFlowComment),this.hasFlowCommentCompletion(),this.state.pos+=this.skipFlowComment(),void(this.state.hasFlowComment=!0);if(this.state.hasFlowComment){const t=this.input.indexOf(\"*-/\",this.state.pos+=2);if(-1===t)throw this.raise(this.state.pos-2,g.UnterminatedComment);this.state.pos=t+3}else super.skipBlockComment()}skipFlowComment(){const{pos:t}=this.state;let e=2;for(;[32,9].includes(this.input.charCodeAt(t+e));)e++;const s=this.input.charCodeAt(e+t),r=this.input.charCodeAt(e+t+1);return 58===s&&58===r?e+2:\"flow-include\"===this.input.slice(e+t,e+t+12)?e+12:58===s&&58!==r&&e}hasFlowCommentCompletion(){if(-1===this.input.indexOf(\"*/\",this.state.pos))throw this.raise(this.state.pos,g.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(t,{enumName:e,memberName:s}){this.raise(t,K.EnumBooleanMemberNotInitialized,s,e)}flowEnumErrorInvalidMemberName(t,{enumName:e,memberName:s}){const r=s[0].toUpperCase()+s.slice(1);this.raise(t,K.EnumInvalidMemberName,s,r,e)}flowEnumErrorDuplicateMemberName(t,{enumName:e,memberName:s}){this.raise(t,K.EnumDuplicateMemberName,s,e)}flowEnumErrorInconsistentMemberValues(t,{enumName:e}){this.raise(t,K.EnumInconsistentMemberValues,e)}flowEnumErrorInvalidExplicitType(t,{enumName:e,suppliedType:s}){return this.raise(t,null===s?K.EnumInvalidExplicitTypeUnknownSupplied:K.EnumInvalidExplicitType,e,s)}flowEnumErrorInvalidMemberInitializer(t,{enumName:e,explicitType:s,memberName:r}){let i=null;switch(s){case\"boolean\":case\"number\":case\"string\":i=K.EnumInvalidMemberInitializerPrimaryType;break;case\"symbol\":i=K.EnumInvalidMemberInitializerSymbolType;break;default:i=K.EnumInvalidMemberInitializerUnknownType}return this.raise(t,i,e,r,s)}flowEnumErrorNumberMemberNotInitialized(t,{enumName:e,memberName:s}){this.raise(t,K.EnumNumberMemberNotInitialized,e,s)}flowEnumErrorStringMemberInconsistentlyInitailized(t,{enumName:e}){this.raise(t,K.EnumStringMemberInconsistentlyInitailized,e)}flowEnumMemberInit(){const t=this.state.start,e=()=>this.match(c.comma)||this.match(c.braceR);switch(this.state.type){case c.num:{const s=this.parseLiteral(this.state.value,\"NumericLiteral\");return e()?{type:\"number\",pos:s.start,value:s}:{type:\"invalid\",pos:t}}case c.string:{const s=this.parseLiteral(this.state.value,\"StringLiteral\");return e()?{type:\"string\",pos:s.start,value:s}:{type:\"invalid\",pos:t}}case c._true:case c._false:{const s=this.parseBooleanLiteral();return e()?{type:\"boolean\",pos:s.start,value:s}:{type:\"invalid\",pos:t}}default:return{type:\"invalid\",pos:t}}}flowEnumMemberRaw(){const t=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(c.eq)?this.flowEnumMemberInit():{type:\"none\",pos:t}}}flowEnumCheckExplicitTypeMismatch(t,e,s){const{explicitType:r}=e;null!==r&&r!==s&&this.flowEnumErrorInvalidMemberInitializer(t,e)}flowEnumMembers({enumName:t,explicitType:e}){const s=new Set,r={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};for(;!this.match(c.braceR);){const i=this.startNode(),{id:n,init:a}=this.flowEnumMemberRaw(),o=n.name;if(\"\"===o)continue;/^[a-z]/.test(o)&&this.flowEnumErrorInvalidMemberName(n.start,{enumName:t,memberName:o}),s.has(o)&&this.flowEnumErrorDuplicateMemberName(n.start,{enumName:t,memberName:o}),s.add(o);const u={enumName:t,explicitType:e,memberName:o};switch(i.id=n,a.type){case\"boolean\":this.flowEnumCheckExplicitTypeMismatch(a.pos,u,\"boolean\"),i.init=a.value,r.booleanMembers.push(this.finishNode(i,\"EnumBooleanMember\"));break;case\"number\":this.flowEnumCheckExplicitTypeMismatch(a.pos,u,\"number\"),i.init=a.value,r.numberMembers.push(this.finishNode(i,\"EnumNumberMember\"));break;case\"string\":this.flowEnumCheckExplicitTypeMismatch(a.pos,u,\"string\"),i.init=a.value,r.stringMembers.push(this.finishNode(i,\"EnumStringMember\"));break;case\"invalid\":throw this.flowEnumErrorInvalidMemberInitializer(a.pos,u);case\"none\":switch(e){case\"boolean\":this.flowEnumErrorBooleanMemberNotInitialized(a.pos,u);break;case\"number\":this.flowEnumErrorNumberMemberNotInitialized(a.pos,u);break;default:r.defaultedMembers.push(this.finishNode(i,\"EnumDefaultedMember\"))}}this.match(c.braceR)||this.expect(c.comma)}return r}flowEnumStringMembers(t,e,{enumName:s}){if(0===t.length)return e;if(0===e.length)return t;if(e.length>t.length){for(let e=0;e(t.members=[],this.expect(c.braceR),this.finishNode(t,\"EnumStringBody\"));t.explicitType=!1;const n=i.booleanMembers.length,a=i.numberMembers.length,o=i.stringMembers.length,u=i.defaultedMembers.length;if(n||a||o||u){if(n||a){if(!a&&!o&&n>=u){for(let t=0,s=i.defaultedMembers;t=u){for(let t=0,s=i.defaultedMembers;tclass extends t{getScopeHandler(){return ut}tsIsIdentifier(){return this.match(c.name)}tsNextTokenCanFollowModifier(){return this.next(),!(this.hasPrecedingLineBreak()||this.match(c.parenL)||this.match(c.parenR)||this.match(c.colon)||this.match(c.eq)||this.match(c.question)||this.match(c.bang))}tsParseModifier(t){if(!this.match(c.name))return;const e=this.state.value;return-1!==t.indexOf(e)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?e:void 0}tsParseModifiers(t,e){for(;;){const s=this.state.start,r=this.tsParseModifier(e);if(!r)break;Object.hasOwnProperty.call(t,r)&&this.raise(s,dt.DuplicateModifier,r),t[r]=!0}}tsIsListTerminator(t){switch(t){case\"EnumMembers\":case\"TypeMembers\":return this.match(c.braceR);case\"HeritageClauseElement\":return this.match(c.braceL);case\"TupleElementTypes\":return this.match(c.bracketR);case\"TypeParametersOrArguments\":return this.isRelational(\">\")}throw new Error(\"Unreachable\")}tsParseList(t,e){const s=[];for(;!this.tsIsListTerminator(t);)s.push(e());return s}tsParseDelimitedList(t,e){return pt(this.tsParseDelimitedListWorker(t,e,!0))}tsParseDelimitedListWorker(t,e,s){const r=[];for(;!this.tsIsListTerminator(t);){const i=e();if(null==i)return;if(r.push(i),!this.eat(c.comma)){if(this.tsIsListTerminator(t))break;return void(s&&this.expect(c.comma))}}return r}tsParseBracketedList(t,e,s,r){r||(s?this.expect(c.bracketL):this.expectRelational(\"<\"));const i=this.tsParseDelimitedList(t,e);return s?this.expect(c.bracketR):this.expectRelational(\">\"),i}tsParseImportType(){const t=this.startNode();return this.expect(c._import),this.expect(c.parenL),this.match(c.string)||this.raise(this.state.start,dt.UnsupportedImportTypeArgument),t.argument=this.parseExprAtom(),this.expect(c.parenR),this.eat(c.dot)&&(t.qualifier=this.tsParseEntityName(!0)),this.isRelational(\"<\")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,\"TSImportType\")}tsParseEntityName(t){let e=this.parseIdentifier();for(;this.eat(c.dot);){const s=this.startNodeAtNode(e);s.left=e,s.right=this.parseIdentifier(t),e=this.finishNode(s,\"TSQualifiedName\")}return e}tsParseTypeReference(){const t=this.startNode();return t.typeName=this.tsParseEntityName(!1),!this.hasPrecedingLineBreak()&&this.isRelational(\"<\")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,\"TSTypeReference\")}tsParseThisTypePredicate(t){this.next();const e=this.startNodeAtNode(t);return e.parameterName=t,e.typeAnnotation=this.tsParseTypeAnnotation(!1),this.finishNode(e,\"TSTypePredicate\")}tsParseThisTypeNode(){const t=this.startNode();return this.next(),this.finishNode(t,\"TSThisType\")}tsParseTypeQuery(){const t=this.startNode();return this.expect(c._typeof),this.match(c._import)?t.exprName=this.tsParseImportType():t.exprName=this.tsParseEntityName(!0),this.finishNode(t,\"TSTypeQuery\")}tsParseTypeParameter(){const t=this.startNode();return t.name=this.parseIdentifierName(t.start),t.constraint=this.tsEatThenParseType(c._extends),t.default=this.tsEatThenParseType(c.eq),this.finishNode(t,\"TSTypeParameter\")}tsTryParseTypeParameters(){if(this.isRelational(\"<\"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const t=this.startNode();return this.isRelational(\"<\")||this.match(c.jsxTagStart)?this.next():this.unexpected(),t.params=this.tsParseBracketedList(\"TypeParametersOrArguments\",this.tsParseTypeParameter.bind(this),!1,!0),0===t.params.length&&this.raise(t.start,dt.EmptyTypeParameters),this.finishNode(t,\"TSTypeParameterDeclaration\")}tsTryNextParseConstantContext(){return this.lookahead().type===c._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(t,e){const s=t===c.arrow;e.typeParameters=this.tsTryParseTypeParameters(),this.expect(c.parenL),e.parameters=this.tsParseBindingListForSignature(),(s||this.match(t))&&(e.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(t))}tsParseBindingListForSignature(){return this.parseBindingList(c.parenR,41).map((t=>(\"Identifier\"!==t.type&&\"RestElement\"!==t.type&&\"ObjectPattern\"!==t.type&&\"ArrayPattern\"!==t.type&&this.raise(t.start,dt.UnsupportedSignatureParameterKind,t.type),t)))}tsParseTypeMemberSemicolon(){this.eat(c.comma)||this.semicolon()}tsParseSignatureMember(t,e){return this.tsFillSignature(c.colon,e),this.tsParseTypeMemberSemicolon(),this.finishNode(e,t)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(c.name)&&this.match(c.colon)}tsTryParseIndexSignature(t){if(!this.match(c.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(c.bracketL);const e=this.parseIdentifier();e.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(e),this.expect(c.bracketR),t.parameters=[e];const s=this.tsTryParseTypeAnnotation();return s&&(t.typeAnnotation=s),this.tsParseTypeMemberSemicolon(),this.finishNode(t,\"TSIndexSignature\")}tsParsePropertyOrMethodSignature(t,e){this.eat(c.question)&&(t.optional=!0);const s=t;if(e||!this.match(c.parenL)&&!this.isRelational(\"<\")){const t=s;e&&(t.readonly=!0);const r=this.tsTryParseTypeAnnotation();return r&&(t.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(t,\"TSPropertySignature\")}{const t=s;return this.tsFillSignature(c.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,\"TSMethodSignature\")}}tsParseTypeMember(){const t=this.startNode();if(this.match(c.parenL)||this.isRelational(\"<\"))return this.tsParseSignatureMember(\"TSCallSignatureDeclaration\",t);if(this.match(c._new)){const e=this.startNode();return this.next(),this.match(c.parenL)||this.isRelational(\"<\")?this.tsParseSignatureMember(\"TSConstructSignatureDeclaration\",t):(t.key=this.createIdentifier(e,\"new\"),this.tsParsePropertyOrMethodSignature(t,!1))}const e=!!this.tsParseModifier([\"readonly\"]),s=this.tsTryParseIndexSignature(t);return s?(e&&(t.readonly=!0),s):(this.parsePropertyName(t,!1),this.tsParsePropertyOrMethodSignature(t,e))}tsParseTypeLiteral(){const t=this.startNode();return t.members=this.tsParseObjectTypeMembers(),this.finishNode(t,\"TSTypeLiteral\")}tsParseObjectTypeMembers(){this.expect(c.braceL);const t=this.tsParseList(\"TypeMembers\",this.tsParseTypeMember.bind(this));return this.expect(c.braceR),t}tsIsStartOfMappedType(){return this.next(),this.eat(c.plusMin)?this.isContextual(\"readonly\"):(this.isContextual(\"readonly\")&&this.next(),!!this.match(c.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(c._in))))}tsParseMappedTypeParameter(){const t=this.startNode();return t.name=this.parseIdentifierName(t.start),t.constraint=this.tsExpectThenParseType(c._in),this.finishNode(t,\"TSTypeParameter\")}tsParseMappedType(){const t=this.startNode();return this.expect(c.braceL),this.match(c.plusMin)?(t.readonly=this.state.value,this.next(),this.expectContextual(\"readonly\")):this.eatContextual(\"readonly\")&&(t.readonly=!0),this.expect(c.bracketL),t.typeParameter=this.tsParseMappedTypeParameter(),t.nameType=this.eatContextual(\"as\")?this.tsParseType():null,this.expect(c.bracketR),this.match(c.plusMin)?(t.optional=this.state.value,this.next(),this.expect(c.question)):this.eat(c.question)&&(t.optional=!0),t.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(c.braceR),this.finishNode(t,\"TSMappedType\")}tsParseTupleType(){const t=this.startNode();t.elementTypes=this.tsParseBracketedList(\"TupleElementTypes\",this.tsParseTupleElementType.bind(this),!0,!1);let e=!1,s=null;return t.elementTypes.forEach((t=>{var r;let{type:i}=t;!e||\"TSRestType\"===i||\"TSOptionalType\"===i||\"TSNamedTupleMember\"===i&&t.optional||this.raise(t.start,dt.OptionalTypeBeforeRequired),e=e||\"TSNamedTupleMember\"===i&&t.optional||\"TSOptionalType\"===i,\"TSRestType\"===i&&(i=(t=t.typeAnnotation).type);const n=\"TSNamedTupleMember\"===i;s=null!=(r=s)?r:n,s!==n&&this.raise(t.start,dt.MixedLabeledAndUnlabeledElements)})),this.finishNode(t,\"TSTupleType\")}tsParseTupleElementType(){const{start:t,startLoc:e}=this.state,s=this.eat(c.ellipsis);let r=this.tsParseType();const i=this.eat(c.question);if(this.eat(c.colon)){const t=this.startNodeAtNode(r);t.optional=i,\"TSTypeReference\"!==r.type||r.typeParameters||\"Identifier\"!==r.typeName.type?(this.raise(r.start,dt.InvalidTupleMemberLabel),t.label=r):t.label=r.typeName,t.elementType=this.tsParseType(),r=this.finishNode(t,\"TSNamedTupleMember\")}else if(i){const t=this.startNodeAtNode(r);t.typeAnnotation=r,r=this.finishNode(t,\"TSOptionalType\")}if(s){const s=this.startNodeAt(t,e);s.typeAnnotation=r,r=this.finishNode(s,\"TSRestType\")}return r}tsParseParenthesizedType(){const t=this.startNode();return this.expect(c.parenL),t.typeAnnotation=this.tsParseType(),this.expect(c.parenR),this.finishNode(t,\"TSParenthesizedType\")}tsParseFunctionOrConstructorType(t){const e=this.startNode();return\"TSConstructorType\"===t&&this.expect(c._new),this.tsFillSignature(c.arrow,e),this.finishNode(e,t)}tsParseLiteralTypeNode(){const t=this.startNode();return t.literal=(()=>{switch(this.state.type){case c.num:case c.bigint:case c.string:case c._true:case c._false:return this.parseExprAtom();default:throw this.unexpected()}})(),this.finishNode(t,\"TSLiteralType\")}tsParseTemplateLiteralType(){const t=this.startNode();return t.literal=this.parseTemplate(!1),this.finishNode(t,\"TSLiteralType\")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){const t=this.tsParseThisTypeNode();return this.isContextual(\"is\")&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(t):t}tsParseNonArrayType(){switch(this.state.type){case c.name:case c._void:case c._null:{const t=this.match(c._void)?\"TSVoidKeyword\":this.match(c._null)?\"TSNullKeyword\":function(t){switch(t){case\"any\":return\"TSAnyKeyword\";case\"boolean\":return\"TSBooleanKeyword\";case\"bigint\":return\"TSBigIntKeyword\";case\"never\":return\"TSNeverKeyword\";case\"number\":return\"TSNumberKeyword\";case\"object\":return\"TSObjectKeyword\";case\"string\":return\"TSStringKeyword\";case\"symbol\":return\"TSSymbolKeyword\";case\"undefined\":return\"TSUndefinedKeyword\";case\"unknown\":return\"TSUnknownKeyword\";default:return}}(this.state.value);if(void 0!==t&&46!==this.lookaheadCharCode()){const e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}case c.string:case c.num:case c.bigint:case c._true:case c._false:return this.tsParseLiteralTypeNode();case c.plusMin:if(\"-\"===this.state.value){const t=this.startNode(),e=this.lookahead();if(e.type!==c.num&&e.type!==c.bigint)throw this.unexpected();return t.literal=this.parseMaybeUnary(),this.finishNode(t,\"TSLiteralType\")}break;case c._this:return this.tsParseThisTypeOrThisTypePredicate();case c._typeof:return this.tsParseTypeQuery();case c._import:return this.tsParseImportType();case c.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case c.bracketL:return this.tsParseTupleType();case c.parenL:return this.tsParseParenthesizedType();case c.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let t=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(c.bracketL);)if(this.match(c.bracketR)){const e=this.startNodeAtNode(t);e.elementType=t,this.expect(c.bracketR),t=this.finishNode(e,\"TSArrayType\")}else{const e=this.startNodeAtNode(t);e.objectType=t,e.indexType=this.tsParseType(),this.expect(c.bracketR),t=this.finishNode(e,\"TSIndexedAccessType\")}return t}tsParseTypeOperator(t){const e=this.startNode();return this.expectContextual(t),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),\"readonly\"===t&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,\"TSTypeOperator\")}tsCheckTypeAnnotationForReadOnly(t){switch(t.typeAnnotation.type){case\"TSTupleType\":case\"TSArrayType\":return;default:this.raise(t.start,dt.UnexpectedReadonly)}}tsParseInferType(){const t=this.startNode();this.expectContextual(\"infer\");const e=this.startNode();return e.name=this.parseIdentifierName(e.start),t.typeParameter=this.finishNode(e,\"TSTypeParameter\"),this.finishNode(t,\"TSInferType\")}tsParseTypeOperatorOrHigher(){const t=[\"keyof\",\"unique\",\"readonly\"].find((t=>this.isContextual(t)));return t?this.tsParseTypeOperator(t):this.isContextual(\"infer\")?this.tsParseInferType():this.tsParseArrayTypeOrHigher()}tsParseUnionOrIntersectionType(t,e,s){this.eat(s);let r=e();if(this.match(s)){const i=[r];for(;this.eat(s);)i.push(e());const n=this.startNodeAtNode(r);n.types=i,r=this.finishNode(n,t)}return r}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType(\"TSIntersectionType\",this.tsParseTypeOperatorOrHigher.bind(this),c.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType(\"TSUnionType\",this.tsParseIntersectionTypeOrHigher.bind(this),c.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational(\"<\")||this.match(c.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(c.name)||this.match(c._this))return this.next(),!0;if(this.match(c.braceL)){let t=1;for(this.next();t>0;)this.match(c.braceL)?++t:this.match(c.braceR)&&--t,this.next();return!0}if(this.match(c.bracketL)){let t=1;for(this.next();t>0;)this.match(c.bracketL)?++t:this.match(c.bracketR)&&--t,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(c.parenR)||this.match(c.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(c.colon)||this.match(c.comma)||this.match(c.question)||this.match(c.eq))return!0;if(this.match(c.parenR)&&(this.next(),this.match(c.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(t){return this.tsInType((()=>{const e=this.startNode();this.expect(t);const s=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(s&&this.match(c._this)){let t=this.tsParseThisTypeOrThisTypePredicate();if(\"TSThisType\"===t.type){const s=this.startNodeAtNode(e);s.parameterName=t,s.asserts=!0,t=this.finishNode(s,\"TSTypePredicate\")}else t.asserts=!0;return e.typeAnnotation=t,this.finishNode(e,\"TSTypeAnnotation\")}const r=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!r){if(!s)return this.tsParseTypeAnnotation(!1,e);const t=this.startNodeAtNode(e);return t.parameterName=this.parseIdentifier(),t.asserts=s,e.typeAnnotation=this.finishNode(t,\"TSTypePredicate\"),this.finishNode(e,\"TSTypeAnnotation\")}const i=this.tsParseTypeAnnotation(!1),n=this.startNodeAtNode(e);return n.parameterName=r,n.typeAnnotation=i,n.asserts=s,e.typeAnnotation=this.finishNode(n,\"TSTypePredicate\"),this.finishNode(e,\"TSTypeAnnotation\")}))}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(c.colon)?this.tsParseTypeOrTypePredicateAnnotation(c.colon):void 0}tsTryParseTypeAnnotation(){return this.match(c.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(c.colon)}tsParseTypePredicatePrefix(){const t=this.parseIdentifier();if(this.isContextual(\"is\")&&!this.hasPrecedingLineBreak())return this.next(),t}tsParseTypePredicateAsserts(){if(!this.match(c.name)||\"asserts\"!==this.state.value||this.hasPrecedingLineBreak())return!1;const t=this.state.containsEsc;return this.next(),!(!this.match(c.name)&&!this.match(c._this))&&(t&&this.raise(this.state.lastTokStart,g.InvalidEscapedReservedWord,\"asserts\"),!0)}tsParseTypeAnnotation(t=!0,e=this.startNode()){return this.tsInType((()=>{t&&this.expect(c.colon),e.typeAnnotation=this.tsParseType()})),this.finishNode(e,\"TSTypeAnnotation\")}tsParseType(){lt(this.state.inType);const t=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(c._extends))return t;const e=this.startNodeAtNode(t);return e.checkType=t,e.extendsType=this.tsParseNonConditionalType(),this.expect(c.question),e.trueType=this.tsParseType(),this.expect(c.colon),e.falseType=this.tsParseType(),this.finishNode(e,\"TSConditionalType\")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType(\"TSFunctionType\"):this.match(c._new)?this.tsParseFunctionOrConstructorType(\"TSConstructorType\"):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){const t=this.startNode(),e=this.tsTryNextParseConstantContext();return t.typeAnnotation=e||this.tsNextThenParseType(),this.expectRelational(\">\"),t.expression=this.parseMaybeUnary(),this.finishNode(t,\"TSTypeAssertion\")}tsParseHeritageClause(t){const e=this.state.start,s=this.tsParseDelimitedList(\"HeritageClauseElement\",this.tsParseExpressionWithTypeArguments.bind(this));return s.length||this.raise(e,dt.EmptyHeritageClauseType,t),s}tsParseExpressionWithTypeArguments(){const t=this.startNode();return t.expression=this.tsParseEntityName(!1),this.isRelational(\"<\")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,\"TSExpressionWithTypeArguments\")}tsParseInterfaceDeclaration(t){t.id=this.parseIdentifier(),this.checkLVal(t.id,130,void 0,\"typescript interface declaration\"),t.typeParameters=this.tsTryParseTypeParameters(),this.eat(c._extends)&&(t.extends=this.tsParseHeritageClause(\"extends\"));const e=this.startNode();return e.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),t.body=this.finishNode(e,\"TSInterfaceBody\"),this.finishNode(t,\"TSInterfaceDeclaration\")}tsParseTypeAliasDeclaration(t){return t.id=this.parseIdentifier(),this.checkLVal(t.id,2,void 0,\"typescript type alias\"),t.typeParameters=this.tsTryParseTypeParameters(),t.typeAnnotation=this.tsInType((()=>{if(this.expect(c.eq),this.isContextual(\"intrinsic\")&&this.lookahead().type!==c.dot){const t=this.startNode();return this.next(),this.finishNode(t,\"TSIntrinsicKeyword\")}return this.tsParseType()})),this.semicolon(),this.finishNode(t,\"TSTypeAliasDeclaration\")}tsInNoContext(t){const e=this.state.context;this.state.context=[e[0]];try{return t()}finally{this.state.context=e}}tsInType(t){const e=this.state.inType;this.state.inType=!0;try{return t()}finally{this.state.inType=e}}tsEatThenParseType(t){return this.match(t)?this.tsNextThenParseType():void 0}tsExpectThenParseType(t){return this.tsDoThenParseType((()=>this.expect(t)))}tsNextThenParseType(){return this.tsDoThenParseType((()=>this.next()))}tsDoThenParseType(t){return this.tsInType((()=>(t(),this.tsParseType())))}tsParseEnumMember(){const t=this.startNode();return t.id=this.match(c.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(c.eq)&&(t.initializer=this.parseMaybeAssignAllowIn()),this.finishNode(t,\"TSEnumMember\")}tsParseEnumDeclaration(t,e){return e&&(t.const=!0),t.id=this.parseIdentifier(),this.checkLVal(t.id,e?779:267,void 0,\"typescript enum declaration\"),this.expect(c.braceL),t.members=this.tsParseDelimitedList(\"EnumMembers\",this.tsParseEnumMember.bind(this)),this.expect(c.braceR),this.finishNode(t,\"TSEnumDeclaration\")}tsParseModuleBlock(){const t=this.startNode();return this.scope.enter(0),this.expect(c.braceL),this.parseBlockOrModuleBlockBody(t.body=[],void 0,!0,c.braceR),this.scope.exit(),this.finishNode(t,\"TSModuleBlock\")}tsParseModuleOrNamespaceDeclaration(t,e=!1){if(t.id=this.parseIdentifier(),e||this.checkLVal(t.id,1024,null,\"module or namespace declaration\"),this.eat(c.dot)){const e=this.startNode();this.tsParseModuleOrNamespaceDeclaration(e,!0),t.body=e}else this.scope.enter(p),this.prodParam.enter(0),t.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(t,\"TSModuleDeclaration\")}tsParseAmbientExternalModuleDeclaration(t){return this.isContextual(\"global\")?(t.global=!0,t.id=this.parseIdentifier()):this.match(c.string)?t.id=this.parseExprAtom():this.unexpected(),this.match(c.braceL)?(this.scope.enter(p),this.prodParam.enter(0),t.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(t,\"TSModuleDeclaration\")}tsParseImportEqualsDeclaration(t,e){return t.isExport=e||!1,t.id=this.parseIdentifier(),this.checkLVal(t.id,9,void 0,\"import equals declaration\"),this.expect(c.eq),t.moduleReference=this.tsParseModuleReference(),this.semicolon(),this.finishNode(t,\"TSImportEqualsDeclaration\")}tsIsExternalModuleReference(){return this.isContextual(\"require\")&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const t=this.startNode();if(this.expectContextual(\"require\"),this.expect(c.parenL),!this.match(c.string))throw this.unexpected();return t.expression=this.parseExprAtom(),this.expect(c.parenR),this.finishNode(t,\"TSExternalModuleReference\")}tsLookAhead(t){const e=this.state.clone(),s=t();return this.state=e,s}tsTryParseAndCatch(t){const e=this.tryParse((e=>t()||e()));if(!e.aborted&&e.node)return e.error&&(this.state=e.failState),e.node}tsTryParse(t){const e=this.state.clone(),s=t();return void 0!==s&&!1!==s?s:void(this.state=e)}tsTryParseDeclare(t){if(this.isLineTerminator())return;let e,s=this.state.type;return this.isContextual(\"let\")&&(s=c._var,e=\"let\"),this.tsInDeclareContext((()=>{switch(s){case c._function:return t.declare=!0,this.parseFunctionStatement(t,!1,!0);case c._class:return t.declare=!0,this.parseClass(t,!0,!1);case c._const:if(this.match(c._const)&&this.isLookaheadContextual(\"enum\"))return this.expect(c._const),this.expectContextual(\"enum\"),this.tsParseEnumDeclaration(t,!0);case c._var:return e=e||this.state.value,this.parseVarStatement(t,e);case c.name:{const e=this.state.value;return\"global\"===e?this.tsParseAmbientExternalModuleDeclaration(t):this.tsParseDeclaration(t,e,!0)}}}))}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0)}tsParseExpressionStatement(t,e){switch(e.name){case\"declare\":{const e=this.tsTryParseDeclare(t);if(e)return e.declare=!0,e;break}case\"global\":if(this.match(c.braceL)){this.scope.enter(p),this.prodParam.enter(0);const s=t;return s.global=!0,s.id=e,s.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(s,\"TSModuleDeclaration\")}break;default:return this.tsParseDeclaration(t,e.name,!1)}}tsParseDeclaration(t,e,s){switch(e){case\"abstract\":if(this.tsCheckLineTerminatorAndMatch(c._class,s)){const e=t;return e.abstract=!0,s&&(this.next(),this.match(c._class)||this.unexpected(null,c._class)),this.parseClass(e,!0,!1)}break;case\"enum\":if(s||this.match(c.name))return s&&this.next(),this.tsParseEnumDeclaration(t,!1);break;case\"interface\":if(this.tsCheckLineTerminatorAndMatch(c.name,s))return s&&this.next(),this.tsParseInterfaceDeclaration(t);break;case\"module\":if(s&&this.next(),this.match(c.string))return this.tsParseAmbientExternalModuleDeclaration(t);if(this.tsCheckLineTerminatorAndMatch(c.name,s))return this.tsParseModuleOrNamespaceDeclaration(t);break;case\"namespace\":if(this.tsCheckLineTerminatorAndMatch(c.name,s))return s&&this.next(),this.tsParseModuleOrNamespaceDeclaration(t);break;case\"type\":if(this.tsCheckLineTerminatorAndMatch(c.name,s))return s&&this.next(),this.tsParseTypeAliasDeclaration(t)}}tsCheckLineTerminatorAndMatch(t,e){return(e||this.match(t))&&!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(t,e){if(!this.isRelational(\"<\"))return;const s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const r=this.tsTryParseAndCatch((()=>{const s=this.startNodeAt(t,e);return s.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(s),s.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(c.arrow),s}));return this.state.maybeInArrowParameters=s,r?this.parseArrowExpression(r,null,!0):void 0}tsParseTypeArguments(){const t=this.startNode();return t.params=this.tsInType((()=>this.tsInNoContext((()=>(this.expectRelational(\"<\"),this.tsParseDelimitedList(\"TypeParametersOrArguments\",this.tsParseType.bind(this))))))),0===t.params.length&&this.raise(t.start,dt.EmptyTypeArguments),this.state.exprAllowed=!1,this.expectRelational(\">\"),this.finishNode(t,\"TSTypeParameterInstantiation\")}tsIsDeclarationStart(){if(this.match(c.name))switch(this.state.value){case\"abstract\":case\"declare\":case\"enum\":case\"interface\":case\"module\":case\"namespace\":case\"type\":return!0}return!1}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(t,e){const s=this.state.start,r=this.state.startLoc;let i,n=!1;void 0!==t&&(i=this.parseAccessModifier(),n=!!this.tsParseModifier([\"readonly\"]),!1===t&&(i||n)&&this.raise(s,dt.UnexpectedParameterModifier));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(i||n){const t=this.startNodeAt(s,r);return e.length&&(t.decorators=e),i&&(t.accessibility=i),n&&(t.readonly=n),\"Identifier\"!==o.type&&\"AssignmentPattern\"!==o.type&&this.raise(t.start,dt.UnsupportedParameterPropertyKind),t.parameter=o,this.finishNode(t,\"TSParameterProperty\")}return e.length&&(a.decorators=e),o}parseFunctionBodyAndFinish(t,e,s=!1){this.match(c.colon)&&(t.returnType=this.tsParseTypeOrTypePredicateAnnotation(c.colon));const r=\"FunctionDeclaration\"===e?\"TSDeclareFunction\":\"ClassMethod\"===e?\"TSDeclareMethod\":void 0;r&&!this.match(c.braceL)&&this.isLineTerminator()?this.finishNode(t,r):\"TSDeclareFunction\"===r&&this.state.isDeclareContext&&(this.raise(t.start,dt.DeclareFunctionHasImplementation),t.declare)?super.parseFunctionBodyAndFinish(t,r,s):super.parseFunctionBodyAndFinish(t,e,s)}registerFunctionStatementId(t){!t.body&&t.id?this.checkLVal(t.id,1024,null,\"function name\"):super.registerFunctionStatementId(...arguments)}tsCheckForInvalidTypeCasts(t){t.forEach((t=>{\"TSTypeCastExpression\"===(null==t?void 0:t.type)&&this.raise(t.typeAnnotation.start,dt.UnexpectedTypeAnnotation)}))}toReferencedList(t,e){return this.tsCheckForInvalidTypeCasts(t),t}parseArrayLike(...t){const e=super.parseArrayLike(...t);return\"ArrayExpression\"===e.type&&this.tsCheckForInvalidTypeCasts(e.elements),e}parseSubscript(t,e,s,r,i){if(!this.hasPrecedingLineBreak()&&this.match(c.bang)){this.state.exprAllowed=!1,this.next();const r=this.startNodeAt(e,s);return r.expression=t,this.finishNode(r,\"TSNonNullExpression\")}if(this.isRelational(\"<\")){const n=this.tsTryParseAndCatch((()=>{if(!r&&this.atPossibleAsyncArrow(t)){const t=this.tsTryParseGenericAsyncArrowFunction(e,s);if(t)return t}const n=this.startNodeAt(e,s);n.callee=t;const a=this.tsParseTypeArguments();if(a){if(!r&&this.eat(c.parenL))return n.arguments=this.parseCallExpressionArguments(c.parenR,!1),this.tsCheckForInvalidTypeCasts(n.arguments),n.typeParameters=a,this.finishCallExpression(n,i.optionalChainMember);if(this.match(c.backQuote)){const r=this.parseTaggedTemplateExpression(t,e,s,i);return r.typeParameters=a,r}}this.unexpected()}));if(n)return n}return super.parseSubscript(t,e,s,r,i)}parseNewArguments(t){if(this.isRelational(\"<\")){const e=this.tsTryParseAndCatch((()=>{const t=this.tsParseTypeArguments();return this.match(c.parenL)||this.unexpected(),t}));e&&(t.typeParameters=e)}super.parseNewArguments(t)}parseExprOp(t,e,s,r){if(pt(c._in.binop)>r&&!this.hasPrecedingLineBreak()&&this.isContextual(\"as\")){const i=this.startNodeAt(e,s);i.expression=t;const n=this.tsTryNextParseConstantContext();return i.typeAnnotation=n||this.tsNextThenParseType(),this.finishNode(i,\"TSAsExpression\"),this.reScan_lt_gt(),this.parseExprOp(i,e,s,r)}return super.parseExprOp(t,e,s,r)}checkReservedWord(t,e,s,r){}checkDuplicateExports(){}parseImport(t){if(this.match(c.name)||this.match(c.star)||this.match(c.braceL)){const e=this.lookahead();if(this.match(c.name)&&e.type===c.eq)return this.tsParseImportEqualsDeclaration(t);!this.isContextual(\"type\")||e.type===c.comma||e.type===c.name&&\"from\"===e.value||(t.importKind=\"type\",this.next())}t.importKind||(t.importKind=\"value\");const e=super.parseImport(t);return\"type\"===e.importKind&&e.specifiers.length>1&&\"ImportDefaultSpecifier\"===e.specifiers[0].type&&this.raise(e.start,\"A type-only import can specify a default import or named bindings, but not both.\"),e}parseExport(t){if(this.match(c._import))return this.expect(c._import),this.tsParseImportEqualsDeclaration(t,!0);if(this.eat(c.eq)){const e=t;return e.expression=this.parseExpression(),this.semicolon(),this.finishNode(e,\"TSExportAssignment\")}if(this.eatContextual(\"as\")){const e=t;return this.expectContextual(\"namespace\"),e.id=this.parseIdentifier(),this.semicolon(),this.finishNode(e,\"TSNamespaceExportDeclaration\")}return this.isContextual(\"type\")&&this.lookahead().type===c.braceL?(this.next(),t.exportKind=\"type\"):t.exportKind=\"value\",super.parseExport(t)}isAbstractClass(){return this.isContextual(\"abstract\")&&this.lookahead().type===c._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const t=this.startNode();return this.next(),this.parseClass(t,!0,!0),t.abstract=!0,t}if(\"interface\"===this.state.value){const t=this.tsParseDeclaration(this.startNode(),this.state.value,!0);if(t)return t}return super.parseExportDefaultExpression()}parseStatementContent(t,e){if(this.state.type===c._const){const t=this.lookahead();if(t.type===c.name&&\"enum\"===t.value){const t=this.startNode();return this.expect(c._const),this.expectContextual(\"enum\"),this.tsParseEnumDeclaration(t,!0)}}return super.parseStatementContent(t,e)}parseAccessModifier(){return this.tsParseModifier([\"public\",\"protected\",\"private\"])}parseClassMember(t,e,s){this.tsParseModifiers(e,[\"declare\"]);const r=this.parseAccessModifier();r&&(e.accessibility=r),this.tsParseModifiers(e,[\"declare\"]);const i=()=>{super.parseClassMember(t,e,s)};e.declare?this.tsInDeclareContext(i):i()}parseClassMemberWithIsStatic(t,e,s,r){this.tsParseModifiers(e,[\"abstract\",\"readonly\",\"declare\"]);const i=this.tsTryParseIndexSignature(e);if(i)return t.body.push(i),e.abstract&&this.raise(e.start,dt.IndexSignatureHasAbstract),r&&this.raise(e.start,dt.IndexSignatureHasStatic),e.accessibility&&this.raise(e.start,dt.IndexSignatureHasAccessibility,e.accessibility),void(e.declare&&this.raise(e.start,dt.IndexSignatureHasDeclare));super.parseClassMemberWithIsStatic(t,e,s,r)}parsePostMemberNameModifiers(t){this.eat(c.question)&&(t.optional=!0),t.readonly&&this.match(c.parenL)&&this.raise(t.start,dt.ClassMethodHasReadonly),t.declare&&this.match(c.parenL)&&this.raise(t.start,dt.ClassMethodHasDeclare)}parseExpressionStatement(t,e){return(\"Identifier\"===e.type?this.tsParseExpressionStatement(t,e):void 0)||super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(t,e,s,r){if(!r||!this.match(c.question))return super.parseConditional(t,e,s,r);const i=this.tryParse((()=>super.parseConditional(t,e,s)));return i.node?(i.error&&(this.state=i.failState),i.node):(r.start=i.error.pos||this.state.start,t)}parseParenItem(t,e,s){if(t=super.parseParenItem(t,e,s),this.eat(c.question)&&(t.optional=!0,this.resetEndLocation(t)),this.match(c.colon)){const r=this.startNodeAt(e,s);return r.expression=t,r.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(r,\"TSTypeCastExpression\")}return t}parseExportDeclaration(t){const e=this.state.start,s=this.state.startLoc,r=this.eatContextual(\"declare\");let i;return this.match(c.name)&&(i=this.tsTryParseExportDeclaration()),i||(i=super.parseExportDeclaration(t)),i&&(\"TSInterfaceDeclaration\"===i.type||\"TSTypeAliasDeclaration\"===i.type||r)&&(t.exportKind=\"type\"),i&&r&&(this.resetStartLocation(i,e,s),i.declare=!0),i}parseClassId(t,e,s){if((!e||s)&&this.isContextual(\"implements\"))return;super.parseClassId(t,e,s,t.declare?1024:139);const r=this.tsTryParseTypeParameters();r&&(t.typeParameters=r)}parseClassPropertyAnnotation(t){!t.optional&&this.eat(c.bang)&&(t.definite=!0);const e=this.tsTryParseTypeAnnotation();e&&(t.typeAnnotation=e)}parseClassProperty(t){return this.parseClassPropertyAnnotation(t),this.state.isDeclareContext&&this.match(c.eq)&&this.raise(this.state.start,dt.DeclareClassFieldHasInitializer),super.parseClassProperty(t)}parseClassPrivateProperty(t){return t.abstract&&this.raise(t.start,dt.PrivateElementHasAbstract),t.accessibility&&this.raise(t.start,dt.PrivateElementHasAccessibility,t.accessibility),this.parseClassPropertyAnnotation(t),super.parseClassPrivateProperty(t)}pushClassMethod(t,e,s,r,i,n){const a=this.tsTryParseTypeParameters();a&&i&&this.raise(a.start,dt.ConstructorHasTypeParameters),a&&(e.typeParameters=a),super.pushClassMethod(t,e,s,r,i,n)}pushClassPrivateMethod(t,e,s,r){const i=this.tsTryParseTypeParameters();i&&(e.typeParameters=i),super.pushClassPrivateMethod(t,e,s,r)}parseClassSuper(t){super.parseClassSuper(t),t.superClass&&this.isRelational(\"<\")&&(t.superTypeParameters=this.tsParseTypeArguments()),this.eatContextual(\"implements\")&&(t.implements=this.tsParseHeritageClause(\"implements\"))}parseObjPropValue(t,...e){const s=this.tsTryParseTypeParameters();s&&(t.typeParameters=s),super.parseObjPropValue(t,...e)}parseFunctionParams(t,e){const s=this.tsTryParseTypeParameters();s&&(t.typeParameters=s),super.parseFunctionParams(t,e)}parseVarId(t,e){super.parseVarId(t,e),\"Identifier\"===t.id.type&&this.eat(c.bang)&&(t.definite=!0);const s=this.tsTryParseTypeAnnotation();s&&(t.id.typeAnnotation=s,this.resetEndLocation(t.id))}parseAsyncArrowFromCallExpression(t,e){return this.match(c.colon)&&(t.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(t,e)}parseMaybeAssign(...t){var e,s,r,i,n,a,o;let u,h,p,l;if(this.match(c.jsxTagStart)){if(u=this.state.clone(),h=this.tryParse((()=>super.parseMaybeAssign(...t)),u),!h.error)return h.node;const{context:e}=this.state;e[e.length-1]===T.j_oTag?e.length-=2:e[e.length-1]===T.j_expr&&(e.length-=1)}if(!(null==(e=h)?void 0:e.error)&&!this.isRelational(\"<\"))return super.parseMaybeAssign(...t);u=u||this.state.clone();const d=this.tryParse((e=>{var s;l=this.tsParseTypeParameters();const r=super.parseMaybeAssign(...t);return(\"ArrowFunctionExpression\"!==r.type||r.extra&&r.extra.parenthesized)&&e(),0!==(null==(s=l)?void 0:s.params.length)&&this.resetStartLocationFromNode(r,l),r.typeParameters=l,r}),u);if(!d.error&&!d.aborted)return d.node;if(!h&&(lt(!this.hasPlugin(\"jsx\")),p=this.tryParse((()=>super.parseMaybeAssign(...t)),u),!p.error))return p.node;if(null==(s=h)?void 0:s.node)return this.state=h.failState,h.node;if(d.node)return this.state=d.failState,d.node;if(null==(r=p)?void 0:r.node)return this.state=p.failState,p.node;if(null==(i=h)?void 0:i.thrown)throw h.error;if(d.thrown)throw d.error;if(null==(n=p)?void 0:n.thrown)throw p.error;throw(null==(a=h)?void 0:a.error)||d.error||(null==(o=p)?void 0:o.error)}parseMaybeUnary(t){return!this.hasPlugin(\"jsx\")&&this.isRelational(\"<\")?this.tsParseTypeAssertion():super.parseMaybeUnary(t)}parseArrow(t){if(this.match(c.colon)){const e=this.tryParse((t=>{const e=this.tsParseTypeOrTypePredicateAnnotation(c.colon);return!this.canInsertSemicolon()&&this.match(c.arrow)||t(),e}));if(e.aborted)return;e.thrown||(e.error&&(this.state=e.failState),t.returnType=e.node)}return super.parseArrow(t)}parseAssignableListItemTypes(t){this.eat(c.question)&&(\"Identifier\"===t.type||this.state.isDeclareContext||this.state.inType||this.raise(t.start,dt.PatternIsOptional),t.optional=!0);const e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e),this.resetEndLocation(t),t}toAssignable(t){switch(t.type){case\"TSTypeCastExpression\":return super.toAssignable(this.typeCastToParameter(t));case\"TSParameterProperty\":return super.toAssignable(t);case\"TSAsExpression\":case\"TSNonNullExpression\":case\"TSTypeAssertion\":return t.expression=this.toAssignable(t.expression),t;default:return super.toAssignable(t)}}checkLVal(t,e=64,s,r){switch(t.type){case\"TSTypeCastExpression\":return;case\"TSParameterProperty\":return void this.checkLVal(t.parameter,e,s,\"parameter property\");case\"TSAsExpression\":case\"TSNonNullExpression\":case\"TSTypeAssertion\":return void this.checkLVal(t.expression,e,s,r);default:return void super.checkLVal(t,e,s,r)}}parseBindingAtom(){switch(this.state.type){case c._this:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(t){if(this.isRelational(\"<\")){const e=this.tsParseTypeArguments();if(this.match(c.parenL)){const s=super.parseMaybeDecoratorArguments(t);return s.typeParameters=e,s}this.unexpected(this.state.start,c.parenL)}return super.parseMaybeDecoratorArguments(t)}isClassMethod(){return this.isRelational(\"<\")||super.isClassMethod()}isClassProperty(){return this.match(c.bang)||this.match(c.colon)||super.isClassProperty()}parseMaybeDefault(...t){const e=super.parseMaybeDefault(...t);return\"AssignmentPattern\"===e.type&&e.typeAnnotation&&e.right.startthis.tsParseTypeArguments()));e&&(t.typeParameters=e)}return super.jsxParseOpeningElementAfterName(t)}getGetterSetterExpectedParamCount(t){const e=super.getGetterSetterExpectedParamCount(t),s=t.params[0];return s&&\"Identifier\"===s.type&&\"this\"===s.name?e+1:e}parseCatchClauseParam(){const t=super.parseCatchClauseParam(),e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e,this.resetEndLocation(t)),t}tsInDeclareContext(t){const e=this.state.isDeclareContext;this.state.isDeclareContext=!0;try{return t()}finally{this.state.isDeclareContext=e}}},v8intrinsic:t=>class extends t{parseV8Intrinsic(){if(this.match(c.modulo)){const t=this.state.start,e=this.startNode();if(this.eat(c.modulo),this.match(c.name)){const t=this.parseIdentifierName(this.state.start),s=this.createIdentifier(e,t);if(s.type=\"V8IntrinsicIdentifier\",this.match(c.parenL))return s}this.unexpected(t)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}},placeholders:t=>class extends t{parsePlaceholder(t){if(this.match(c.placeholder)){const e=this.startNode();return this.next(),this.assertNoSpace(\"Unexpected space in placeholder.\"),e.name=super.parseIdentifier(!0),this.assertNoSpace(\"Unexpected space in placeholder.\"),this.expect(c.placeholder),this.finishPlaceholder(e,t)}}finishPlaceholder(t,e){const s=!(!t.expectedNode||\"Placeholder\"!==t.type);return t.expectedNode=e,s?t:this.finishNode(t,\"Placeholder\")}getTokenFromCode(t){return 37===t&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(c.placeholder,2):super.getTokenFromCode(...arguments)}parseExprAtom(){return this.parsePlaceholder(\"Expression\")||super.parseExprAtom(...arguments)}parseIdentifier(){return this.parsePlaceholder(\"Identifier\")||super.parseIdentifier(...arguments)}checkReservedWord(t){void 0!==t&&super.checkReservedWord(...arguments)}parseBindingAtom(){return this.parsePlaceholder(\"Pattern\")||super.parseBindingAtom(...arguments)}checkLVal(t){\"Placeholder\"!==t.type&&super.checkLVal(...arguments)}toAssignable(t){return t&&\"Placeholder\"===t.type&&\"Expression\"===t.expectedNode?(t.expectedNode=\"Pattern\",t):super.toAssignable(...arguments)}verifyBreakContinue(t){t.label&&\"Placeholder\"===t.label.type||super.verifyBreakContinue(...arguments)}parseExpressionStatement(t,e){if(\"Placeholder\"!==e.type||e.extra&&e.extra.parenthesized)return super.parseExpressionStatement(...arguments);if(this.match(c.colon)){const s=t;return s.label=this.finishPlaceholder(e,\"Identifier\"),this.next(),s.body=this.parseStatement(\"label\"),this.finishNode(s,\"LabeledStatement\")}return this.semicolon(),t.name=e.name,this.finishPlaceholder(t,\"Statement\")}parseBlock(){return this.parsePlaceholder(\"BlockStatement\")||super.parseBlock(...arguments)}parseFunctionId(){return this.parsePlaceholder(\"Identifier\")||super.parseFunctionId(...arguments)}parseClass(t,e,s){const r=e?\"ClassDeclaration\":\"ClassExpression\";this.next(),this.takeDecorators(t);const i=this.state.strict,n=this.parsePlaceholder(\"Identifier\");if(n)if(this.match(c._extends)||this.match(c.placeholder)||this.match(c.braceL))t.id=n;else{if(s||!e)return t.id=null,t.body=this.finishPlaceholder(n,\"ClassBody\"),this.finishNode(t,r);this.unexpected(null,\"A class name is required\")}else this.parseClassId(t,e,s);return this.parseClassSuper(t),t.body=this.parsePlaceholder(\"ClassBody\")||this.parseClassBody(!!t.superClass,i),this.finishNode(t,r)}parseExport(t){const e=this.parsePlaceholder(\"Identifier\");if(!e)return super.parseExport(...arguments);if(!this.isContextual(\"from\")&&!this.match(c.comma))return t.specifiers=[],t.source=null,t.declaration=this.finishPlaceholder(e,\"Declaration\"),this.finishNode(t,\"ExportNamedDeclaration\");this.expectPlugin(\"exportDefaultFrom\");const s=this.startNode();return s.exported=e,t.specifiers=[this.finishNode(s,\"ExportDefaultSpecifier\")],super.parseExport(t)}isExportDefaultSpecifier(){if(this.match(c._default)){const t=this.nextTokenStart();if(this.isUnparsedContextual(t,\"from\")&&this.input.startsWith(c.placeholder.label,this.nextTokenStartSince(t+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(t){return!!(t.specifiers&&t.specifiers.length>0)||super.maybeParseExportDefaultSpecifier(...arguments)}checkExport(t){const{specifiers:e}=t;(null==e?void 0:e.length)&&(t.specifiers=e.filter((t=>\"Placeholder\"===t.exported.type))),super.checkExport(t),t.specifiers=e}parseImport(t){const e=this.parsePlaceholder(\"Identifier\");if(!e)return super.parseImport(...arguments);if(t.specifiers=[],!this.isContextual(\"from\")&&!this.match(c.comma))return t.source=this.finishPlaceholder(e,\"StringLiteral\"),this.semicolon(),this.finishNode(t,\"ImportDeclaration\");const s=this.startNodeAtNode(e);if(s.local=e,this.finishNode(s,\"ImportDefaultSpecifier\"),t.specifiers.push(s),this.eat(c.comma)){this.maybeParseStarImportSpecifier(t)||this.parseNamedImportSpecifiers(t)}return this.expectContextual(\"from\"),t.source=this.parseImportSource(),this.semicolon(),this.finishNode(t,\"ImportDeclaration\")}parseImportSource(){return this.parsePlaceholder(\"StringLiteral\")||super.parseImportSource(...arguments)}}},At=Object.keys(Et),Ct={sourceType:\"script\",sourceFilename:void 0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1};class xt{constructor(){this.strict=void 0,this.curLine=void 0,this.startLoc=void 0,this.endLoc=void 0,this.errors=[],this.potentialArrowAt=-1,this.noArrowAt=[],this.noArrowParamsConversionAt=[],this.maybeInArrowParameters=!1,this.inPipeline=!1,this.inType=!1,this.noAnonFunctionType=!1,this.inPropertyName=!1,this.hasFlowComment=!1,this.isIterator=!1,this.isDeclareContext=!1,this.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null},this.soloAwait=!1,this.inFSharpPipelineDirectBody=!1,this.labels=[],this.decoratorStack=[[]],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.commentPreviousNode=null,this.pos=0,this.lineStart=0,this.type=c.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[T.braceStatement],this.exprAllowed=!0,this.containsEsc=!1,this.octalPositions=[],this.exportedIdentifiers=[],this.tokensLength=0}init(t){this.strict=!1!==t.strictMode&&\"module\"===t.sourceType,this.curLine=t.startLine,this.startLoc=this.endLoc=this.curPosition()}curPosition(){return new C(this.curLine,this.pos-this.lineStart)}clone(t){const e=new xt,s=Object.keys(this);for(let r=0,i=s.length;r=48&&t<=57};const gt=new Set([\"g\",\"m\",\"s\",\"i\",\"y\",\"u\"]),bt={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},Pt={bin:[48,49]};Pt.oct=[...Pt.bin,50,51,52,53,54,55],Pt.dec=[...Pt.oct,56,57],Pt.hex=[...Pt.dec,65,66,67,68,69,70,97,98,99,100,101,102];class Tt{constructor(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new x(t.startLoc,t.endLoc)}}class wt{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class Bt{constructor(t,e,s){this.type=void 0,this.start=void 0,this.end=void 0,this.loc=void 0,this.range=void 0,this.leadingComments=void 0,this.trailingComments=void 0,this.innerComments=void 0,this.extra=void 0,this.type=\"\",this.start=e,this.end=0,this.loc=new x(s),(null==t?void 0:t.options.ranges)&&(this.range=[e,0]),(null==t?void 0:t.filename)&&(this.loc.filename=t.filename)}__clone(){const t=new Bt,e=Object.keys(this);for(let s=0,r=e.length;s\"ParenthesizedExpression\"===t.type?St(t.expression):t;class Nt{constructor(t=0){this.type=void 0,this.type=t}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}}class It extends Nt{constructor(t){super(t),this.errors=new Map}recordDeclarationError(t,e){this.errors.set(t,e)}clearDeclarationError(t){this.errors.delete(t)}iterateErrors(t){this.errors.forEach(t)}}class vt{constructor(t){this.stack=[new Nt],this.raise=t}enter(t){this.stack.push(t)}exit(){this.stack.pop()}recordParameterInitializerError(t,e){const{stack:s}=this;let r=s.length-1,i=s[r];for(;!i.isCertainlyParameterDeclaration();){if(!i.canBeArrowParameterDeclaration())return;i.recordDeclarationError(t,e),i=s[--r]}this.raise(t,e)}recordAsyncArrowParametersError(t,e){const{stack:s}=this;let r=s.length-1,i=s[r];for(;i.canBeArrowParameterDeclaration();)2===i.type&&i.recordDeclarationError(t,e),i=s[--r]}validateAsPattern(){const{stack:t}=this,e=t[t.length-1];e.canBeArrowParameterDeclaration()&&e.iterateErrors(((e,s)=>{this.raise(s,e);let r=t.length-2,i=t[r];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(s),i=t[--r]}))}}function kt(){return new Nt}const Lt={kind:\"loop\"},Ot={kind:\"switch\"},Mt=/[\\uD800-\\uDFFF]/u;class Rt{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}}class _t{constructor(t){this.stack=[],this.undefinedPrivateNames=new Map,this.raise=t}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new Rt)}exit(){const t=this.stack.pop(),e=this.current();for(let s=0,r=Array.from(t.undefinedPrivateNames);s0;)r=e[--i];if(null===r)return;for(let t=0;t0?r.trailingComments=n:void 0!==r.trailingComments&&(r.trailingComments=[])}processComment(t){if(\"Program\"===t.type&&t.body.length>0)return;const e=this.state.commentStack;let s,r,i,n,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=t.end?(i=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(e.length>0){const s=F(e);s.trailingComments&&s.trailingComments[0].start>=t.end&&(i=s.trailingComments,delete s.trailingComments)}for(e.length>0&&F(e).start>=t.start&&(s=e.pop());e.length>0&&F(e).start>=t.start;)r=e.pop();if(!r&&s&&(r=s),s)switch(t.type){case\"ObjectExpression\":this.adjustCommentsAfterTrailingComma(t,t.properties);break;case\"ObjectPattern\":this.adjustCommentsAfterTrailingComma(t,t.properties,!0);break;case\"CallExpression\":this.adjustCommentsAfterTrailingComma(t,t.arguments);break;case\"ArrayExpression\":this.adjustCommentsAfterTrailingComma(t,t.elements);break;case\"ArrayPattern\":this.adjustCommentsAfterTrailingComma(t,t.elements,!0)}else this.state.commentPreviousNode&&(\"ImportSpecifier\"===this.state.commentPreviousNode.type&&\"ImportSpecifier\"!==t.type||\"ExportSpecifier\"===this.state.commentPreviousNode.type&&\"ExportSpecifier\"!==t.type)&&this.adjustCommentsAfterTrailingComma(t,[this.state.commentPreviousNode]);if(r){if(r.leadingComments)if(r!==t&&r.leadingComments.length>0&&F(r.leadingComments).end<=t.start)t.leadingComments=r.leadingComments,delete r.leadingComments;else for(n=r.leadingComments.length-2;n>=0;--n)if(r.leadingComments[n].end<=t.start){t.leadingComments=r.leadingComments.splice(0,n+1);break}}else if(this.state.leadingComments.length>0)if(F(this.state.leadingComments).end<=t.start){if(this.state.commentPreviousNode)for(a=0;a0&&(t.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(n=0;nt.start);n++);const e=this.state.leadingComments.slice(0,n);e.length&&(t.leadingComments=e),i=this.state.leadingComments.slice(n),0===i.length&&(i=null)}if(this.state.commentPreviousNode=t,i)if(i.length&&i[0].start>=t.start&&F(i).end<=t.end)t.innerComments=i;else{const e=i.findIndex((e=>e.end>=t.end));e>0?(t.innerComments=i.slice(0,e),t.trailingComments=i.slice(e)):t.trailingComments=i}e.push(t)}}{getLocationForPosition(t){let e;return e=t===this.state.start?this.state.startLoc:t===this.state.lastTokStart?this.state.lastTokStartLoc:t===this.state.end?this.state.endLoc:t===this.state.lastTokEnd?this.state.lastTokEndLoc:function(t,e){let s,r=1,i=0;for(f.lastIndex=0;(s=f.exec(t))&&s.indexr[e]))+\" (\".concat(i.line,\":\").concat(i.column,\")\");return this._raise(Object.assign({loc:i,pos:t},e),n)}_raise(t,e){const s=new SyntaxError(e);if(Object.assign(s,t),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(s),s;throw s}}{constructor(t,e){super(),this.isLookahead=void 0,this.tokens=[],this.state=new xt,this.state.init(t),this.input=e,this.length=e.length,this.isLookahead=!1}pushToken(t){this.tokens.length=this.state.tokensLength,this.tokens.push(t),++this.state.tokensLength}next(){this.isLookahead||(this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new Tt(this.state))),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(t){return!!this.match(t)&&(this.next(),!0)}match(t){return this.state.type===t}lookahead(){const t=this.state;this.state=t.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;const e=this.state;return this.state=t,e}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(t){E.lastIndex=t;return t+E.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}setStrict(t){if(this.state.strict=t,this.match(c.num)||this.match(c.string)){for(this.state.pos=this.state.start;this.state.pos=this.length)return void this.finishToken(c.eof);const e=null==t?void 0:t.override;e?e(this):this.getTokenFromCode(this.input.codePointAt(this.state.pos))}pushComment(t,e,s,r,i,n){const a={type:t?\"CommentBlock\":\"CommentLine\",value:e,start:s,end:r,loc:new x(i,n)};this.options.tokens&&this.pushToken(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const t=this.state.curPosition(),e=this.state.pos,s=this.input.indexOf(\"*/\",this.state.pos+2);if(-1===s)throw this.raise(e,g.UnterminatedComment);let r;for(this.state.pos=s+2,f.lastIndex=e;(r=f.exec(this.input))&&r.index=48&&e<=57)throw this.raise(this.state.pos,g.UnexpectedDigitAfterHash);if(123===e||91===e&&this.hasPlugin(\"recordAndTuple\")){if(this.expectPlugin(\"recordAndTuple\"),\"hash\"!==this.getPluginOption(\"recordAndTuple\",\"syntaxType\"))throw this.raise(this.state.pos,123===e?g.RecordExpressionHashIncorrectStartSyntaxType:g.TupleExpressionHashIncorrectStartSyntaxType);123===e?this.finishToken(c.braceHashL):this.finishToken(c.bracketHashL),this.state.pos+=2}else this.finishOp(c.hash,1)}readToken_dot(){const t=this.input.charCodeAt(this.state.pos+1);t>=48&&t<=57?this.readNumber(!0):46===t&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(c.ellipsis)):(++this.state.pos,this.finishToken(c.dot))}readToken_slash(){if(this.state.exprAllowed&&!this.state.inType)return++this.state.pos,void this.readRegexp();61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(c.assign,2):this.finishOp(c.slash,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let t=this.input.charCodeAt(this.state.pos+1);if(33!==t)return!1;const e=this.state.pos;for(this.state.pos+=1;!y(t)&&++this.state.pos=48&&e<=57?(++this.state.pos,this.finishToken(c.question)):(this.state.pos+=2,this.finishToken(c.questionDot))}getTokenFromCode(t){switch(t){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(c.parenL);case 41:return++this.state.pos,void this.finishToken(c.parenR);case 59:return++this.state.pos,void this.finishToken(c.semi);case 44:return++this.state.pos,void this.finishToken(c.comma);case 91:if(this.hasPlugin(\"recordAndTuple\")&&124===this.input.charCodeAt(this.state.pos+1)){if(\"bar\"!==this.getPluginOption(\"recordAndTuple\",\"syntaxType\"))throw this.raise(this.state.pos,g.TupleExpressionBarIncorrectStartSyntaxType);this.finishToken(c.bracketBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(c.bracketL);return;case 93:return++this.state.pos,void this.finishToken(c.bracketR);case 123:if(this.hasPlugin(\"recordAndTuple\")&&124===this.input.charCodeAt(this.state.pos+1)){if(\"bar\"!==this.getPluginOption(\"recordAndTuple\",\"syntaxType\"))throw this.raise(this.state.pos,g.RecordExpressionBarIncorrectStartSyntaxType);this.finishToken(c.braceBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(c.braceL);return;case 125:return++this.state.pos,void this.finishToken(c.braceR);case 58:return void(this.hasPlugin(\"functionBind\")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(c.doubleColon,2):(++this.state.pos,this.finishToken(c.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(c.backQuote);case 48:{const t=this.input.charCodeAt(this.state.pos+1);if(120===t||88===t)return void this.readRadixNumber(16);if(111===t||79===t)return void this.readRadixNumber(8);if(98===t||66===t)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(t);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(t);case 124:case 38:return void this.readToken_pipe_amp(t);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(t);case 60:case 62:return void this.readToken_lt_gt(t);case 61:case 33:return void this.readToken_eq_excl(t);case 126:return void this.finishOp(c.tilde,1);case 64:return++this.state.pos,void this.finishToken(c.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(L(t))return void this.readWord()}throw this.raise(this.state.pos,g.InvalidOrUnexpectedToken,String.fromCodePoint(t))}finishOp(t,e){const s=this.input.slice(this.state.pos,this.state.pos+e);this.state.pos+=e,this.finishToken(t,s)}readRegexp(){const t=this.state.pos;let e,s;for(;;){if(this.state.pos>=this.length)throw this.raise(t,g.UnterminatedRegExp);const r=this.input.charAt(this.state.pos);if(m.test(r))throw this.raise(t,g.UnterminatedRegExp);if(e)e=!1;else{if(\"[\"===r)s=!0;else if(\"]\"===r&&s)s=!1;else if(\"/\"===r&&!s)break;e=\"\\\\\"===r}++this.state.pos}const r=this.input.slice(t,this.state.pos);++this.state.pos;let i=\"\";for(;this.state.pos-1&&this.raise(this.state.pos+1,g.DuplicateRegExpFlags);else{if(!O(e)&&92!==e)break;this.raise(this.state.pos+1,g.MalformedRegExpFlags)}++this.state.pos,i+=t}this.finishToken(c.regexp,{pattern:r,flags:i})}readInt(t,e,s,r=!0){const i=this.state.pos,n=16===t?bt.hex:bt.decBinOct,a=16===t?Pt.hex:10===t?Pt.dec:8===t?Pt.oct:Pt.bin;let o=!1,u=0;for(let i=0,h=null==e?1/0:e;i=97?e-97+10:e>=65?e-65+10:Ft(e)?e-48:1/0,h>=t)if(this.options.errorRecovery&&h<=9)h=0,this.raise(this.state.start+i+2,g.InvalidDigit,t);else{if(!s)break;h=0,o=!0}++this.state.pos,u=u*t+h}else{const t=this.input.charCodeAt(this.state.pos-1),e=this.input.charCodeAt(this.state.pos+1);(-1===a.indexOf(e)||n.indexOf(t)>-1||n.indexOf(e)>-1||Number.isNaN(e))&&this.raise(this.state.pos,g.UnexpectedNumericSeparator),r||this.raise(this.state.pos,g.NumericSeparatorInEscapeSequence),++this.state.pos}}return this.state.pos===i||null!=e&&this.state.pos-i!==e||o?null:u}readRadixNumber(t){const e=this.state.pos;let s=!1;this.state.pos+=2;const r=this.readInt(t);null==r&&this.raise(this.state.start+2,g.InvalidDigit,t);const i=this.input.charCodeAt(this.state.pos);if(110===i)++this.state.pos,s=!0;else if(109===i)throw this.raise(e,g.InvalidDecimal);if(L(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,g.NumberIdentifier);if(s){const t=this.input.slice(e,this.state.pos).replace(/[_n]/g,\"\");this.finishToken(c.bigint,t)}else this.finishToken(c.num,r)}readNumber(t){const e=this.state.pos;let s=!1,r=!1,i=!1,n=!1,a=!1;t||null!==this.readInt(10)||this.raise(e,g.InvalidNumber);const o=this.state.pos-e>=2&&48===this.input.charCodeAt(e);if(o){const t=this.input.slice(e,this.state.pos);if(this.state.strict)this.raise(e,g.StrictOctalLiteral);else{const s=t.indexOf(\"_\");s>0&&this.raise(s+e,g.ZeroDigitNumericSeparator)}a=o&&!/[89]/.test(t)}let u=this.input.charCodeAt(this.state.pos);if(46!==u||a||(++this.state.pos,this.readInt(10),s=!0,u=this.input.charCodeAt(this.state.pos)),69!==u&&101!==u||a||(u=this.input.charCodeAt(++this.state.pos),43!==u&&45!==u||++this.state.pos,null===this.readInt(10)&&this.raise(e,g.InvalidOrMissingExponent),s=!0,n=!0,u=this.input.charCodeAt(this.state.pos)),110===u&&((s||o)&&this.raise(e,g.InvalidBigIntLiteral),++this.state.pos,r=!0),109===u&&(this.expectPlugin(\"decimal\",this.state.pos),(n||o)&&this.raise(e,g.InvalidDecimal),++this.state.pos,i=!0),L(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,g.NumberIdentifier);const h=this.input.slice(e,this.state.pos).replace(/[_mn]/g,\"\");if(r)return void this.finishToken(c.bigint,h);if(i)return void this.finishToken(c.decimal,h);const p=a?parseInt(h,8):parseFloat(h);this.finishToken(c.num,p)}readCodePoint(t){let e;if(123===this.input.charCodeAt(this.state.pos)){const s=++this.state.pos;if(e=this.readHexChar(this.input.indexOf(\"}\",this.state.pos)-this.state.pos,!0,t),++this.state.pos,null!==e&&e>1114111){if(!t)return null;this.raise(s,g.InvalidCodePoint)}}else e=this.readHexChar(4,!1,t);return e}readString(t){let e=\"\",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,g.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===t)break;if(92===r)e+=this.input.slice(s,this.state.pos),e+=this.readEscapedChar(!1),s=this.state.pos;else if(8232===r||8233===r)++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;else{if(y(r))throw this.raise(this.state.start,g.UnterminatedString);++this.state.pos}}e+=this.input.slice(s,this.state.pos++),this.finishToken(c.string,e)}readTmplToken(){let t=\"\",e=this.state.pos,s=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,g.UnterminatedTemplate);const r=this.input.charCodeAt(this.state.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(c.template)?36===r?(this.state.pos+=2,void this.finishToken(c.dollarBraceL)):(++this.state.pos,void this.finishToken(c.backQuote)):(t+=this.input.slice(e,this.state.pos),void this.finishToken(c.template,s?null:t));if(92===r){t+=this.input.slice(e,this.state.pos);const r=this.readEscapedChar(!0);null===r?s=!0:t+=r,e=this.state.pos}else if(y(r)){switch(t+=this.input.slice(e,this.state.pos),++this.state.pos,r){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:t+=\"\\n\";break;default:t+=String.fromCharCode(r)}++this.state.curLine,this.state.lineStart=this.state.pos,e=this.state.pos}else++this.state.pos}}readEscapedChar(t){const e=!t,s=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,s){case 110:return\"\\n\";case 114:return\"\\r\";case 120:{const t=this.readHexChar(2,!1,e);return null===t?null:String.fromCharCode(t)}case 117:{const t=this.readCodePoint(e);return null===t?null:String.fromCodePoint(t)}case 116:return\"\\t\";case 98:return\"\\b\";case 118:return\"\\v\";case 102:return\"\\f\";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return\"\";case 56:case 57:if(t)return null;this.state.strict&&this.raise(this.state.pos-1,g.StrictNumericEscape);default:if(s>=48&&s<=55){const e=this.state.pos-1;let s=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(s,8);r>255&&(s=s.slice(0,-1),r=parseInt(s,8)),this.state.pos+=s.length-1;const i=this.input.charCodeAt(this.state.pos);if(\"0\"!==s||56===i||57===i){if(t)return null;this.state.strict?this.raise(e,g.StrictNumericEscape):this.state.octalPositions.push(e)}return String.fromCharCode(r)}return String.fromCharCode(s)}}readHexChar(t,e,s){const r=this.state.pos,i=this.readInt(16,t,e,!1);return null===i&&(s?this.raise(r,g.InvalidEscapeSequence):this.state.pos=r-1),i}readWord1(){let t=\"\";this.state.containsEsc=!1;const e=this.state.pos;let s=this.state.pos;for(;this.state.posthis.state.lastTokEnd&&this.raise(this.state.lastTokEnd,t)}unexpected(t,e=\"Unexpected token\"){throw\"string\"!=typeof e&&(e='Unexpected token, expected \"'.concat(e.label,'\"')),this.raise(null!=t?t:this.state.start,e)}expectPlugin(t,e){if(!this.hasPlugin(t))throw this.raiseWithData(null!=e?e:this.state.start,{missingPlugin:[t]},\"This experimental syntax requires enabling the parser plugin: '\".concat(t,\"'\"));return!0}expectOnePlugin(t,e){if(!t.some((t=>this.hasPlugin(t))))throw this.raiseWithData(null!=e?e:this.state.start,{missingPlugin:t},\"This experimental syntax requires enabling one of the following parser plugin(s): '\".concat(t.join(\", \"),\"'\"))}tryParse(t,e=this.state.clone()){const s={node:null};try{const r=t(((t=null)=>{throw s.node=t,s}));if(this.state.errors.length>e.errors.length){const t=this.state;return this.state=e,{node:r,error:t.errors[e.errors.length],thrown:!1,aborted:!1,failState:t}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(t){const r=this.state;if(this.state=e,t instanceof SyntaxError)return{node:null,error:t,thrown:!0,aborted:!1,failState:r};if(t===s)return{node:s.node,error:null,thrown:!1,aborted:!0,failState:r};throw t}}checkExpressionErrors(t,e){if(!t)return!1;const{shorthandAssign:s,doubleProto:r}=t;if(!e)return s>=0||r>=0;s>=0&&this.unexpected(s),r>=0&&this.raise(r,g.DuplicateProto)}isLiteralPropertyName(){return this.match(c.name)||!!this.state.type.keyword||this.match(c.string)||this.match(c.num)||this.match(c.bigint)||this.match(c.decimal)}}{startNode(){return new Bt(this,this.state.start,this.state.startLoc)}startNodeAt(t,e){return new Bt(this,t,e)}startNodeAtNode(t){return this.startNodeAt(t.start,t.loc.start)}finishNode(t,e){return this.finishNodeAt(t,e,this.state.lastTokEnd,this.state.lastTokEndLoc)}finishNodeAt(t,e,s,r){return t.type=e,t.end=s,t.loc.end=r,this.options.ranges&&(t.range[1]=s),this.processComment(t),t}resetStartLocation(t,e,s){t.start=e,t.loc.start=s,this.options.ranges&&(t.range[0]=e)}resetEndLocation(t,e=this.state.lastTokEnd,s=this.state.lastTokEndLoc){t.end=e,t.loc.end=s,this.options.ranges&&(t.range[1]=e)}resetStartLocationFromNode(t,e){this.resetStartLocation(t,e.start,e.loc.start)}}{toAssignable(t){var e,s;let r=void 0;switch((\"ParenthesizedExpression\"===t.type||(null==(e=t.extra)?void 0:e.parenthesized))&&(r=St(t),\"Identifier\"!==r.type&&\"MemberExpression\"!==r.type&&this.raise(t.start,g.InvalidParenthesizedAssignment)),t.type){case\"Identifier\":case\"ObjectPattern\":case\"ArrayPattern\":case\"AssignmentPattern\":break;case\"ObjectExpression\":t.type=\"ObjectPattern\";for(let e=0,s=t.properties.length,r=s-1;ethis.parseExpressionBase(e))):this.allowInAnd((()=>this.parseExpressionBase(e)))}parseExpressionBase(t){const e=this.state.start,s=this.state.startLoc,r=this.parseMaybeAssign(t);if(this.match(c.comma)){const i=this.startNodeAt(e,s);for(i.expressions=[r];this.eat(c.comma);)i.expressions.push(this.parseMaybeAssign(t));return this.toReferencedList(i.expressions),this.finishNode(i,\"SequenceExpression\")}return r}parseMaybeAssignDisallowIn(t,e,s){return this.disallowInAnd((()=>this.parseMaybeAssign(t,e,s)))}parseMaybeAssignAllowIn(t,e,s){return this.allowInAnd((()=>this.parseMaybeAssign(t,e,s)))}parseMaybeAssign(t,e,s){const r=this.state.start,i=this.state.startLoc;if(this.isContextual(\"yield\")&&this.prodParam.hasYield){this.state.exprAllowed=!0;let t=this.parseYield();return e&&(t=e.call(this,t,r,i)),t}let n;t?n=!1:(t=new wt,n=!0),(this.match(c.parenL)||this.match(c.name))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(t,s);if(e&&(a=e.call(this,a,r,i)),this.state.type.isAssign){const e=this.startNodeAt(r,i),s=this.state.value;return e.operator=s,this.match(c.eq)?(e.left=this.toAssignable(a),t.doubleProto=-1):e.left=a,t.shorthandAssign>=e.left.start&&(t.shorthandAssign=-1),this.checkLVal(a,void 0,void 0,\"assignment expression\"),this.next(),e.right=this.parseMaybeAssign(),this.finishNode(e,\"AssignmentExpression\")}return n&&this.checkExpressionErrors(t,!0),a}parseMaybeConditional(t,e){const s=this.state.start,r=this.state.startLoc,i=this.state.potentialArrowAt,n=this.parseExprOps(t);return this.shouldExitDescending(n,i)?n:this.parseConditional(n,s,r,e)}parseConditional(t,e,s,r){if(this.eat(c.question)){const r=this.startNodeAt(e,s);return r.test=t,r.consequent=this.parseMaybeAssignAllowIn(),this.expect(c.colon),r.alternate=this.parseMaybeAssign(),this.finishNode(r,\"ConditionalExpression\")}return t}parseExprOps(t){const e=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseMaybeUnary(t);return this.shouldExitDescending(i,r)?i:this.parseExprOp(i,e,s,-1)}parseExprOp(t,e,s,r){let i=this.state.type.binop;if(null!=i&&(this.prodParam.hasIn||!this.match(c._in))&&i>r){const n=this.state.type;if(n===c.pipeline){if(this.expectPlugin(\"pipelineOperator\"),this.state.inFSharpPipelineDirectBody)return t;this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(t,e)}const a=this.startNodeAt(e,s);a.left=t,a.operator=this.state.value,n!==c.exponent||\"UnaryExpression\"!==t.type||!this.options.createParenthesizedExpressions&&t.extra&&t.extra.parenthesized||this.raise(t.argument.start,g.UnexpectedTokenUnaryExponentiation);const o=n===c.logicalOR||n===c.logicalAND,u=n===c.nullishCoalescing;if(u&&(i=c.logicalAND.binop),this.next(),n===c.pipeline&&\"minimal\"===this.getPluginOption(\"pipelineOperator\",\"proposal\")&&this.match(c.name)&&\"await\"===this.state.value&&this.prodParam.hasAwait)throw this.raise(this.state.start,g.UnexpectedAwaitAfterPipelineBody);a.right=this.parseExprOpRightExpr(n,i),this.finishNode(a,o||u?\"LogicalExpression\":\"BinaryExpression\");const h=this.state.type;if(u&&(h===c.logicalOR||h===c.logicalAND)||o&&h===c.nullishCoalescing)throw this.raise(this.state.start,g.MixingCoalesceWithLogical);return this.parseExprOp(a,e,s,r)}return t}parseExprOpRightExpr(t,e){const s=this.state.start,r=this.state.startLoc;switch(t){case c.pipeline:switch(this.getPluginOption(\"pipelineOperator\",\"proposal\")){case\"smart\":return this.withTopicPermittingContext((()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(t,e),s,r)));case\"fsharp\":return this.withSoloAwaitPermittingContext((()=>this.parseFSharpPipelineBody(e)))}default:return this.parseExprOpBaseRightExpr(t,e)}}parseExprOpBaseRightExpr(t,e){const s=this.state.start,r=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),s,r,t.rightAssociative?e-1:e)}parseMaybeUnary(t){if(this.isContextual(\"await\")&&this.isAwaitAllowed())return this.parseAwait();const e=this.match(c.incDec),s=this.startNode();if(this.state.type.prefix){s.operator=this.state.value,s.prefix=!0,this.match(c._throw)&&this.expectPlugin(\"throwExpressions\");const r=this.match(c._delete);if(this.next(),s.argument=this.parseMaybeUnary(),this.checkExpressionErrors(t,!0),this.state.strict&&r){const t=s.argument;\"Identifier\"===t.type?this.raise(s.start,g.StrictDelete):\"MemberExpression\"!==t.type&&\"OptionalMemberExpression\"!==t.type||\"PrivateName\"!==t.property.type||this.raise(s.start,g.DeletePrivateField)}if(!e)return this.finishNode(s,\"UnaryExpression\")}return this.parseUpdate(s,e,t)}parseUpdate(t,e,s){if(e)return this.checkLVal(t.argument,void 0,void 0,\"prefix operation\"),this.finishNode(t,\"UpdateExpression\");const r=this.state.start,i=this.state.startLoc;let n=this.parseExprSubscripts(s);if(this.checkExpressionErrors(s,!1))return n;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const t=this.startNodeAt(r,i);t.operator=this.state.value,t.prefix=!1,t.argument=n,this.checkLVal(n,void 0,void 0,\"postfix operation\"),this.next(),n=this.finishNode(t,\"UpdateExpression\")}return n}parseExprSubscripts(t){const e=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseExprAtom(t);return this.shouldExitDescending(i,r)?i:this.parseSubscripts(i,e,s)}parseSubscripts(t,e,s,r){const i={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(t),stop:!1};do{t=this.parseSubscript(t,e,s,r,i),i.maybeAsyncArrow=!1}while(!i.stop);return t}parseSubscript(t,e,s,r,i){if(!r&&this.eat(c.doubleColon))return this.parseBind(t,e,s,r,i);if(this.match(c.backQuote))return this.parseTaggedTemplateExpression(t,e,s,i);let n=!1;if(this.match(c.questionDot)){if(i.optionalChainMember=n=!0,r&&40===this.lookaheadCharCode())return i.stop=!0,t;this.next()}return!r&&this.match(c.parenL)?this.parseCoverCallAndAsyncArrowHead(t,e,s,i,n):n||this.match(c.bracketL)||this.eat(c.dot)?this.parseMember(t,e,s,i,n):(i.stop=!0,t)}parseMember(t,e,s,r,i){const n=this.startNodeAt(e,s),a=this.eat(c.bracketL);n.object=t,n.computed=a;const o=a?this.parseExpression():this.parseMaybePrivateName(!0);return\"PrivateName\"===o.type&&(\"Super\"===n.object.type&&this.raise(e,g.SuperPrivateField),this.classScope.usePrivateName(o.id.name,o.start)),n.property=o,a&&this.expect(c.bracketR),r.optionalChainMember?(n.optional=i,this.finishNode(n,\"OptionalMemberExpression\")):this.finishNode(n,\"MemberExpression\")}parseBind(t,e,s,r,i){const n=this.startNodeAt(e,s);return n.object=t,n.callee=this.parseNoCallExpr(),i.stop=!0,this.parseSubscripts(this.finishNode(n,\"BindExpression\"),e,s,r)}parseCoverCallAndAsyncArrowHead(t,e,s,r,i){const n=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0,this.next();let a=this.startNodeAt(e,s);return a.callee=t,r.maybeAsyncArrow&&this.expressionScope.enter(new It(2)),r.optionalChainMember&&(a.optional=i),a.arguments=i?this.parseCallExpressionArguments(c.parenR,!1):this.parseCallExpressionArguments(c.parenR,r.maybeAsyncArrow,\"Import\"===t.type,\"Super\"!==t.type,a),this.finishCallExpression(a,r.optionalChainMember),r.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!i?(r.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),a=this.parseAsyncArrowFromCallExpression(this.startNodeAt(e,s),a)):(r.maybeAsyncArrow&&this.expressionScope.exit(),this.toReferencedArguments(a)),this.state.maybeInArrowParameters=n,a}toReferencedArguments(t,e){this.toReferencedListDeep(t.arguments,e)}parseTaggedTemplateExpression(t,e,s,r){const i=this.startNodeAt(e,s);return i.tag=t,i.quasi=this.parseTemplate(!0),r.optionalChainMember&&this.raise(e,g.OptionalChainingNoTemplate),this.finishNode(i,\"TaggedTemplateExpression\")}atPossibleAsyncArrow(t){return\"Identifier\"===t.type&&\"async\"===t.name&&this.state.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start==5&&t.start===this.state.potentialArrowAt}finishCallExpression(t,e){if(\"Import\"===t.callee.type)if(2===t.arguments.length&&(this.hasPlugin(\"moduleAttributes\")||this.expectPlugin(\"importAssertions\")),0===t.arguments.length||t.arguments.length>2)this.raise(t.start,g.ImportCallArity,this.hasPlugin(\"importAssertions\")||this.hasPlugin(\"moduleAttributes\")?\"one or two arguments\":\"one argument\");else for(let e=0,s=t.arguments;e1?(r=this.startNodeAt(a,o),r.expressions=u,this.finishNodeAt(r,\"SequenceExpression\",m,f)):r=u[0],!this.options.createParenthesizedExpressions)return this.addExtra(r,\"parenthesized\",!0),this.addExtra(r,\"parenStart\",e),r;const E=this.startNodeAt(e,s);return E.expression=r,this.finishNode(E,\"ParenthesizedExpression\"),E}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(t){if(this.eat(c.arrow))return t}parseParenItem(t,e,s){return t}parseNewOrNewTarget(){const t=this.startNode();if(this.next(),this.match(c.dot)){const e=this.createIdentifier(this.startNodeAtNode(t),\"new\");this.next();const s=this.parseMetaProperty(t,e,\"target\");if(!this.scope.inNonArrowFunction&&!this.scope.inClass){let t=g.UnexpectedNewTarget;this.hasPlugin(\"classProperties\")&&(t+=\" or class properties\"),this.raise(s.start,t)}return s}return this.parseNew(t)}parseNew(t){return t.callee=this.parseNoCallExpr(),\"Import\"===t.callee.type?this.raise(t.callee.start,g.ImportCallNotNewExpression):\"OptionalMemberExpression\"===t.callee.type||\"OptionalCallExpression\"===t.callee.type?this.raise(this.state.lastTokEnd,g.OptionalChainingNoNew):this.eat(c.questionDot)&&this.raise(this.state.start,g.OptionalChainingNoNew),this.parseNewArguments(t),this.finishNode(t,\"NewExpression\")}parseNewArguments(t){if(this.eat(c.parenL)){const e=this.parseExprList(c.parenR);this.toReferencedList(e),t.arguments=e}else t.arguments=[]}parseTemplateElement(t){const e=this.startNode();return null===this.state.value&&(t||this.raise(this.state.start+1,g.InvalidEscapeSequenceTemplate)),e.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\\r\\n?/g,\"\\n\"),cooked:this.state.value},this.next(),e.tail=this.match(c.backQuote),this.finishNode(e,\"TemplateElement\")}parseTemplate(t){const e=this.startNode();this.next(),e.expressions=[];let s=this.parseTemplateElement(t);for(e.quasis=[s];!s.tail;)this.expect(c.dollarBraceL),e.expressions.push(this.parseTemplateSubstitution()),this.expect(c.braceR),e.quasis.push(s=this.parseTemplateElement(t));return this.next(),this.finishNode(e,\"TemplateLiteral\")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(t,e,s,r){s&&this.expectPlugin(\"recordAndTuple\");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const n=Object.create(null);let a=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(t);){if(a)a=!1;else if(this.expect(c.comma),this.match(t)){this.addExtra(o,\"trailingComma\",this.state.lastTokStart);break}const i=this.parsePropertyDefinition(e,r);e||this.checkProto(i,s,n,r),s&&\"ObjectProperty\"!==i.type&&\"SpreadElement\"!==i.type&&this.raise(i.start,g.InvalidRecordProperty),i.shorthand&&this.addExtra(i,\"shorthand\",!0),o.properties.push(i)}this.state.exprAllowed=!1,this.next(),this.state.inFSharpPipelineDirectBody=i;let u=\"ObjectExpression\";return e?u=\"ObjectPattern\":s&&(u=\"RecordExpression\"),this.finishNode(o,u)}maybeAsyncOrAccessorProp(t){return!t.computed&&\"Identifier\"===t.key.type&&(this.isLiteralPropertyName()||this.match(c.bracketL)||this.match(c.star))}parsePropertyDefinition(t,e){let s=[];if(this.match(c.at))for(this.hasPlugin(\"decorators\")&&this.raise(this.state.start,g.UnsupportedPropertyDecorator);this.match(c.at);)s.push(this.parseDecorator());const r=this.startNode();let i,n,a=!1,o=!1,u=!1;if(this.match(c.ellipsis))return s.length&&this.unexpected(),t?(this.next(),r.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(r,\"RestElement\")):this.parseSpread();s.length&&(r.decorators=s,s=[]),r.method=!1,(t||e)&&(i=this.state.start,n=this.state.startLoc),t||(a=this.eat(c.star));const h=this.state.containsEsc,p=this.parsePropertyName(r,!1);if(!t&&!a&&!h&&this.maybeAsyncOrAccessorProp(r)){const t=p.name;\"async\"!==t||this.hasPrecedingLineBreak()||(o=!0,a=this.eat(c.star),this.parsePropertyName(r,!1)),\"get\"!==t&&\"set\"!==t||(u=!0,r.kind=t,this.match(c.star)&&(a=!0,this.raise(this.state.pos,g.AccessorIsGenerator,t),this.next()),this.parsePropertyName(r,!1))}return this.parseObjPropValue(r,i,n,a,o,t,u,e),r}getGetterSetterExpectedParamCount(t){return\"get\"===t.kind?0:1}getObjectOrClassMethodParams(t){return t.params}checkGetterSetterParams(t){var e;const s=this.getGetterSetterExpectedParamCount(t),r=this.getObjectOrClassMethodParams(t),i=t.start;r.length!==s&&(\"get\"===t.kind?this.raise(i,g.BadGetterArity):this.raise(i,g.BadSetterArity)),\"set\"===t.kind&&\"RestElement\"===(null==(e=r[r.length-1])?void 0:e.type)&&this.raise(i,g.BadSetterRestParameter)}parseObjectMethod(t,e,s,r,i){return i?(this.parseMethod(t,e,!1,!1,!1,\"ObjectMethod\"),this.checkGetterSetterParams(t),t):s||e||this.match(c.parenL)?(r&&this.unexpected(),t.kind=\"method\",t.method=!0,this.parseMethod(t,e,s,!1,!1,\"ObjectMethod\")):void 0}parseObjectProperty(t,e,s,r,i){return t.shorthand=!1,this.eat(c.colon)?(t.value=r?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssignAllowIn(i),this.finishNode(t,\"ObjectProperty\")):t.computed||\"Identifier\"!==t.key.type?void 0:(this.checkReservedWord(t.key.name,t.key.start,!0,!1),r?t.value=this.parseMaybeDefault(e,s,t.key.__clone()):this.match(c.eq)&&i?(-1===i.shorthandAssign&&(i.shorthandAssign=this.state.start),t.value=this.parseMaybeDefault(e,s,t.key.__clone())):t.value=t.key.__clone(),t.shorthand=!0,this.finishNode(t,\"ObjectProperty\"))}parseObjPropValue(t,e,s,r,i,n,a,o){const u=this.parseObjectMethod(t,r,i,n,a)||this.parseObjectProperty(t,e,s,n,o);return u||this.unexpected(),u}parsePropertyName(t,e){if(this.eat(c.bracketL))t.computed=!0,t.key=this.parseMaybeAssignAllowIn(),this.expect(c.bracketR);else{const s=this.state.inPropertyName;this.state.inPropertyName=!0,t.key=this.match(c.num)||this.match(c.string)||this.match(c.bigint)||this.match(c.decimal)?this.parseExprAtom():this.parseMaybePrivateName(e),\"PrivateName\"!==t.key.type&&(t.computed=!1),this.state.inPropertyName=s}return t.key}initFunction(t,e){t.id=null,t.generator=!1,t.async=!!e}parseMethod(t,e,s,r,i,n,a=!1){this.initFunction(t,s),t.generator=!!e;const o=r;return this.scope.enter(18|(a?64:0)|(i?32:0)),this.prodParam.enter(ct(s,t.generator)),this.parseFunctionParams(t,o),this.parseFunctionBodyAndFinish(t,n,!0),this.prodParam.exit(),this.scope.exit(),t}parseArrayLike(t,e,s,r){s&&this.expectPlugin(\"recordAndTuple\");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const n=this.startNode();return this.next(),n.elements=this.parseExprList(t,!s,r,n),this.state.inFSharpPipelineDirectBody=i,this.finishNode(n,s?\"TupleExpression\":\"ArrayExpression\")}parseArrowExpression(t,e,s,r){this.scope.enter(6);let i=ct(s,!1);!this.match(c.bracketL)&&this.prodParam.hasIn&&(i|=8),this.prodParam.enter(i),this.initFunction(t,s);const n=this.state.maybeInArrowParameters;return e&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(t,e,r)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(t,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=n,this.finishNode(t,\"ArrowFunctionExpression\")}setArrowFunctionParameters(t,e,s){t.params=this.toAssignableList(e,s)}parseFunctionBodyAndFinish(t,e,s=!1){this.parseFunctionBody(t,!1,s),this.finishNode(t,e)}parseFunctionBody(t,e,s=!1){const r=e&&!this.match(c.braceL);if(this.expressionScope.enter(kt()),r)t.body=this.parseMaybeAssign(),this.checkParams(t,!1,e,!1);else{const r=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),t.body=this.parseBlock(!0,!1,(i=>{const n=!this.isSimpleParamList(t.params);if(i&&n){const e=\"method\"!==t.kind&&\"constructor\"!==t.kind||!t.key?t.start:t.key.end;this.raise(e,g.IllegalLanguageModeDirective)}const a=!r&&this.state.strict;this.checkParams(t,!(this.state.strict||e||s||n),e,a),this.state.strict&&t.id&&this.checkLVal(t.id,65,void 0,\"function name\",void 0,a)})),this.prodParam.exit(),this.expressionScope.exit(),this.state.labels=i}}isSimpleParamList(t){for(let e=0,s=t.length;e=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(t){const e=this.state.start,s=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const r=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const i=this.parseExprOp(this.parseMaybeUnary(),e,s,t);return this.state.inFSharpPipelineDirectBody=r,i}}{parseTopLevel(t,e){if(e.sourceType=this.options.sourceType,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,c.eof),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(let t=0,e=Array.from(this.scope.undefinedExports);tthis.parseStatement(\"do\"))),this.state.labels.pop(),this.expect(c._while),t.test=this.parseHeaderExpression(),this.eat(c.semi),this.finishNode(t,\"DoWhileStatement\")}parseForStatement(t){this.next(),this.state.labels.push(Lt);let e=-1;if(this.isAwaitAllowed()&&this.eatContextual(\"await\")&&(e=this.state.lastTokStart),this.scope.enter(0),this.expect(c.parenL),this.match(c.semi))return e>-1&&this.unexpected(e),this.parseFor(t,null);const s=this.isLet();if(this.match(c._var)||this.match(c._const)||s){const r=this.startNode(),i=s?\"let\":this.state.value;return this.next(),this.parseVar(r,!0,i),this.finishNode(r,\"VariableDeclaration\"),(this.match(c._in)||this.isContextual(\"of\"))&&1===r.declarations.length?this.parseForIn(t,r,e):(e>-1&&this.unexpected(e),this.parseFor(t,r))}const r=new wt,i=this.parseExpression(!0,r);if(this.match(c._in)||this.isContextual(\"of\")){this.toAssignable(i);const s=this.isContextual(\"of\")?\"for-of statement\":\"for-in statement\";return this.checkLVal(i,void 0,void 0,s),this.parseForIn(t,i,e)}return this.checkExpressionErrors(r,!0),e>-1&&this.unexpected(e),this.parseFor(t,i)}parseFunctionStatement(t,e,s){return this.next(),this.parseFunction(t,1|(s?0:2),e)}parseIfStatement(t){return this.next(),t.test=this.parseHeaderExpression(),t.consequent=this.parseStatement(\"if\"),t.alternate=this.eat(c._else)?this.parseStatement(\"if\"):null,this.finishNode(t,\"IfStatement\")}parseReturnStatement(t){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,g.IllegalReturn),this.next(),this.isLineTerminator()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,\"ReturnStatement\")}parseSwitchStatement(t){this.next(),t.discriminant=this.parseHeaderExpression();const e=t.cases=[];let s,r;for(this.expect(c.braceL),this.state.labels.push(Ot),this.scope.enter(0);!this.match(c.braceR);)if(this.match(c._case)||this.match(c._default)){const t=this.match(c._case);s&&this.finishNode(s,\"SwitchCase\"),e.push(s=this.startNode()),s.consequent=[],this.next(),t?s.test=this.parseExpression():(r&&this.raise(this.state.lastTokStart,g.MultipleDefaultsInSwitch),r=!0,s.test=null),this.expect(c.colon)}else s?s.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),s&&this.finishNode(s,\"SwitchCase\"),this.next(),this.state.labels.pop(),this.finishNode(t,\"SwitchStatement\")}parseThrowStatement(t){return this.next(),this.hasPrecedingLineBreak()&&this.raise(this.state.lastTokEnd,g.NewlineAfterThrow),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,\"ThrowStatement\")}parseCatchClauseParam(){const t=this.parseBindingAtom(),e=\"Identifier\"===t.type;return this.scope.enter(e?8:0),this.checkLVal(t,9,null,\"catch clause\"),t}parseTryStatement(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.match(c._catch)){const e=this.startNode();this.next(),this.match(c.parenL)?(this.expect(c.parenL),e.param=this.parseCatchClauseParam(),this.expect(c.parenR)):(e.param=null,this.scope.enter(0)),e.body=this.withTopicForbiddingContext((()=>this.parseBlock(!1,!1))),this.scope.exit(),t.handler=this.finishNode(e,\"CatchClause\")}return t.finalizer=this.eat(c._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,g.NoCatchOrFinally),this.finishNode(t,\"TryStatement\")}parseVarStatement(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,\"VariableDeclaration\")}parseWhileStatement(t){return this.next(),t.test=this.parseHeaderExpression(),this.state.labels.push(Lt),t.body=this.withTopicForbiddingContext((()=>this.parseStatement(\"while\"))),this.state.labels.pop(),this.finishNode(t,\"WhileStatement\")}parseWithStatement(t){return this.state.strict&&this.raise(this.state.start,g.StrictWith),this.next(),t.object=this.parseHeaderExpression(),t.body=this.withTopicForbiddingContext((()=>this.parseStatement(\"with\"))),this.finishNode(t,\"WithStatement\")}parseEmptyStatement(t){return this.next(),this.finishNode(t,\"EmptyStatement\")}parseLabeledStatement(t,e,s,r){for(let t=0,r=this.state.labels;t=0;e--){const s=this.state.labels[e];if(s.statementStart!==t.start)break;s.statementStart=this.state.start,s.kind=i}return this.state.labels.push({name:e,kind:i,statementStart:this.state.start}),t.body=this.parseStatement(r?-1===r.indexOf(\"label\")?r+\"label\":r:\"label\"),this.state.labels.pop(),t.label=s,this.finishNode(t,\"LabeledStatement\")}parseExpressionStatement(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,\"ExpressionStatement\")}parseBlock(t=!1,e=!0,s){const r=this.startNode();return this.expect(c.braceL),e&&this.scope.enter(0),this.parseBlockBody(r,t,!1,c.braceR,s),e&&this.scope.exit(),this.finishNode(r,\"BlockStatement\")}isValidDirective(t){return\"ExpressionStatement\"===t.type&&\"StringLiteral\"===t.expression.type&&!t.expression.extra.parenthesized}parseBlockBody(t,e,s,r,i){const n=t.body=[],a=t.directives=[];this.parseBlockOrModuleBlockBody(n,e?a:void 0,s,r,i)}parseBlockOrModuleBlockBody(t,e,s,r,i){const n=[],a=this.state.strict;let o=!1,u=!1;for(;!this.match(r);){!u&&this.state.octalPositions.length&&n.push(...this.state.octalPositions);const r=this.parseStatement(null,s);if(e&&!u&&this.isValidDirective(r)){const t=this.stmtToDirective(r);e.push(t),o||\"use strict\"!==t.value.value||(o=!0,this.setStrict(!0))}else u=!0,t.push(r)}if(this.state.strict&&n.length)for(let t=0;tthis.parseStatement(\"for\"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,\"ForStatement\")}parseForIn(t,e,s){const r=this.match(c._in);return this.next(),r?s>-1&&this.unexpected(s):t.await=s>-1,\"VariableDeclaration\"!==e.type||null==e.declarations[0].init||r&&!this.state.strict&&\"var\"===e.kind&&\"Identifier\"===e.declarations[0].id.type?\"AssignmentPattern\"===e.type&&this.raise(e.start,g.InvalidLhs,\"for-loop\"):this.raise(e.start,g.ForInOfLoopInitializer,r?\"for-in\":\"for-of\"),t.left=e,t.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(c.parenR),t.body=this.withTopicForbiddingContext((()=>this.parseStatement(\"for\"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,r?\"ForInStatement\":\"ForOfStatement\")}parseVar(t,e,s){const r=t.declarations=[],i=this.hasPlugin(\"typescript\");for(t.kind=s;;){const t=this.startNode();if(this.parseVarId(t,s),this.eat(c.eq)?t.init=e?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():(\"const\"!==s||this.match(c._in)||this.isContextual(\"of\")?\"Identifier\"===t.id.type||e&&(this.match(c._in)||this.isContextual(\"of\"))||this.raise(this.state.lastTokEnd,g.DeclarationMissingInitializer,\"Complex binding patterns\"):i||this.raise(this.state.lastTokEnd,g.DeclarationMissingInitializer,\"Const declarations\"),t.init=null),r.push(this.finishNode(t,\"VariableDeclarator\")),!this.eat(c.comma))break}return t}parseVarId(t,e){t.id=this.parseBindingAtom(),this.checkLVal(t.id,\"var\"===e?5:9,void 0,\"variable declaration\",\"var\"!==e)}parseFunction(t,e=0,s=!1){const r=1&e,i=2&e,n=!(!r||4&e);this.initFunction(t,s),this.match(c.star)&&i&&this.raise(this.state.start,g.GeneratorInSingleStatementContext),t.generator=this.eat(c.star),r&&(t.id=this.parseFunctionId(n));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(ct(s,t.generator)),r||(t.id=this.parseFunctionId()),this.parseFunctionParams(t,!1),this.withTopicForbiddingContext((()=>{this.parseFunctionBodyAndFinish(t,r?\"FunctionDeclaration\":\"FunctionExpression\")})),this.prodParam.exit(),this.scope.exit(),r&&!i&&this.registerFunctionStatementId(t),this.state.maybeInArrowParameters=a,t}parseFunctionId(t){return t||this.match(c.name)?this.parseIdentifier():null}parseFunctionParams(t,e){this.expect(c.parenL),this.expressionScope.enter(new Nt(3)),t.params=this.parseBindingList(c.parenR,41,!1,e),this.expressionScope.exit()}registerFunctionStatementId(t){t.id&&this.scope.declareName(t.id.name,this.state.strict||t.generator||t.async?this.scope.treatFunctionsAsVar?5:9:17,t.id.start)}parseClass(t,e,s){this.next(),this.takeDecorators(t);const r=this.state.strict;return this.state.strict=!0,this.parseClassId(t,e,s),this.parseClassSuper(t),t.body=this.parseClassBody(!!t.superClass,r),this.finishNode(t,e?\"ClassDeclaration\":\"ClassExpression\")}isClassProperty(){return this.match(c.eq)||this.match(c.semi)||this.match(c.braceR)}isClassMethod(){return this.match(c.parenL)}isNonstaticConstructor(t){return!(t.computed||t.static||\"constructor\"!==t.key.name&&\"constructor\"!==t.key.value)}parseClassBody(t,e){this.classScope.enter();const s={constructorAllowsSuper:t,hadConstructor:!1,hadStaticBlock:!1};let r=[];const i=this.startNode();if(i.body=[],this.expect(c.braceL),this.withTopicForbiddingContext((()=>{for(;!this.match(c.braceR);){if(this.eat(c.semi)){if(r.length>0)throw this.raise(this.state.lastTokEnd,g.DecoratorSemicolon);continue}if(this.match(c.at)){r.push(this.parseDecorator());continue}const t=this.startNode();r.length&&(t.decorators=r,this.resetStartLocationFromNode(t,r[0]),r=[]),this.parseClassMember(i,t,s),\"constructor\"===t.kind&&t.decorators&&t.decorators.length>0&&this.raise(t.start,g.DecoratorConstructor)}})),this.state.strict=e,this.next(),r.length)throw this.raise(this.state.start,g.TrailingDecorator);return this.classScope.exit(),this.finishNode(i,\"ClassBody\")}parseClassMemberFromModifier(t,e){const s=this.parseIdentifier(!0);if(this.isClassMethod()){const r=e;return r.kind=\"method\",r.computed=!1,r.key=s,r.static=!1,this.pushClassMethod(t,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=e;return r.computed=!1,r.key=s,r.static=!1,t.body.push(this.parseClassProperty(r)),!0}return!1}parseClassMember(t,e,s){const r=this.isContextual(\"static\");if(r){if(this.parseClassMemberFromModifier(t,e))return;if(this.eat(c.braceL))return void this.parseClassStaticBlock(t,e,s)}this.parseClassMemberWithIsStatic(t,e,s,r)}parseClassMemberWithIsStatic(t,e,s,r){const i=e,n=e,a=e,o=e,u=i,h=i;if(e.static=r,this.eat(c.star))return u.kind=\"method\",this.parseClassElementName(u),\"PrivateName\"===u.key.type?void this.pushClassPrivateMethod(t,n,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,g.ConstructorIsGenerator),void this.pushClassMethod(t,i,!0,!1,!1,!1));const p=this.state.containsEsc,l=this.parseClassElementName(e),d=\"PrivateName\"===l.type,D=\"Identifier\"===l.type,m=this.state.start;if(this.parsePostMemberNameModifiers(h),this.isClassMethod()){if(u.kind=\"method\",d)return void this.pushClassPrivateMethod(t,n,!1,!1);const e=this.isNonstaticConstructor(i);let r=!1;e&&(i.kind=\"constructor\",s.hadConstructor&&!this.hasPlugin(\"typescript\")&&this.raise(l.start,g.DuplicateConstructor),s.hadConstructor=!0,r=s.constructorAllowsSuper),this.pushClassMethod(t,i,!1,!1,e,r)}else if(this.isClassProperty())d?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,a);else if(!D||\"async\"!==l.name||p||this.isLineTerminator())!D||\"get\"!==l.name&&\"set\"!==l.name||p||this.match(c.star)&&this.isLineTerminator()?this.isLineTerminator()?d?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,a):this.unexpected():(u.kind=l.name,this.parseClassElementName(i),\"PrivateName\"===u.key.type?this.pushClassPrivateMethod(t,n,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,g.ConstructorIsAccessor),this.pushClassMethod(t,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i));else{const e=this.eat(c.star);h.optional&&this.unexpected(m),u.kind=\"method\",this.parseClassElementName(u),this.parsePostMemberNameModifiers(h),\"PrivateName\"===u.key.type?this.pushClassPrivateMethod(t,n,e,!0):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,g.ConstructorIsAsync),this.pushClassMethod(t,i,e,!0,!1,!1))}}parseClassElementName(t){const e=this.parsePropertyName(t,!0);return t.computed||!t.static||\"prototype\"!==e.name&&\"prototype\"!==e.value||this.raise(e.start,g.StaticPrototype),\"PrivateName\"===e.type&&\"constructor\"===e.id.name&&this.raise(e.start,g.ConstructorClassPrivateField),e}parseClassStaticBlock(t,e,s){var r;this.expectPlugin(\"classStaticBlock\",e.start),this.scope.enter(80),this.expressionScope.enter(kt());const i=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const n=e.body=[];this.parseBlockOrModuleBlockBody(n,void 0,!1,c.braceR),this.prodParam.exit(),this.expressionScope.exit(),this.scope.exit(),this.state.labels=i,t.body.push(this.finishNode(e,\"StaticBlock\")),s.hadStaticBlock&&this.raise(e.start,g.DuplicateStaticBlock),(null==(r=e.decorators)?void 0:r.length)&&this.raise(e.start,g.DecoratorStaticBlock),s.hadStaticBlock=!0}pushClassProperty(t,e){e.computed||\"constructor\"!==e.key.name&&\"constructor\"!==e.key.value||this.raise(e.key.start,g.ConstructorClassField),t.body.push(this.parseClassProperty(e))}pushClassPrivateProperty(t,e){this.expectPlugin(\"classPrivateProperties\",e.key.start);const s=this.parseClassPrivateProperty(e);t.body.push(s),this.classScope.declarePrivateName(s.key.id.name,0,s.key.start)}pushClassMethod(t,e,s,r,i,n){t.body.push(this.parseMethod(e,s,r,i,n,\"ClassMethod\",!0))}pushClassPrivateMethod(t,e,s,r){this.expectPlugin(\"classPrivateMethods\",e.key.start);const i=this.parseMethod(e,s,r,!1,!1,\"ClassPrivateMethod\",!0);t.body.push(i);const n=\"get\"===i.kind?i.static?6:2:\"set\"===i.kind?i.static?5:1:0;this.classScope.declarePrivateName(i.key.id.name,n,i.key.start)}parsePostMemberNameModifiers(t){}parseClassPrivateProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,\"ClassPrivateProperty\")}parseClassProperty(t){return t.typeAnnotation&&!this.match(c.eq)||this.expectPlugin(\"classProperties\"),this.parseInitializer(t),this.semicolon(),this.finishNode(t,\"ClassProperty\")}parseInitializer(t){this.scope.enter(80),this.expressionScope.enter(kt()),this.prodParam.enter(0),t.value=this.eat(c.eq)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(t,e,s,r=139){this.match(c.name)?(t.id=this.parseIdentifier(),e&&this.checkLVal(t.id,r,void 0,\"class name\")):s||!e?t.id=null:this.unexpected(null,g.MissingClassName)}parseClassSuper(t){t.superClass=this.eat(c._extends)?this.parseExprSubscripts():null}parseExport(t){const e=this.maybeParseExportDefaultSpecifier(t),s=!e||this.eat(c.comma),r=s&&this.eatExportStar(t),i=r&&this.maybeParseExportNamespaceSpecifier(t),n=s&&(!i||this.eat(c.comma)),a=e||r;if(r&&!i)return e&&this.unexpected(),this.parseExportFrom(t,!0),this.finishNode(t,\"ExportAllDeclaration\");const o=this.maybeParseExportNamedSpecifiers(t);if(e&&s&&!r&&!o||i&&n&&!o)throw this.unexpected(null,c.braceL);let u;if(a||o?(u=!1,this.parseExportFrom(t,a)):u=this.maybeParseExportDeclaration(t),a||o||u)return this.checkExport(t,!0,!1,!!t.source),this.finishNode(t,\"ExportNamedDeclaration\");if(this.eat(c._default))return t.declaration=this.parseExportDefaultExpression(),this.checkExport(t,!0,!0),this.finishNode(t,\"ExportDefaultDeclaration\");throw this.unexpected(null,c.braceL)}eatExportStar(t){return this.eat(c.star)}maybeParseExportDefaultSpecifier(t){if(this.isExportDefaultSpecifier()){this.expectPlugin(\"exportDefaultFrom\");const e=this.startNode();return e.exported=this.parseIdentifier(!0),t.specifiers=[this.finishNode(e,\"ExportDefaultSpecifier\")],!0}return!1}maybeParseExportNamespaceSpecifier(t){if(this.isContextual(\"as\")){t.specifiers||(t.specifiers=[]);const e=this.startNodeAt(this.state.lastTokStart,this.state.lastTokStartLoc);return this.next(),e.exported=this.parseModuleExportName(),t.specifiers.push(this.finishNode(e,\"ExportNamespaceSpecifier\")),!0}return!1}maybeParseExportNamedSpecifiers(t){return!!this.match(c.braceL)&&(t.specifiers||(t.specifiers=[]),t.specifiers.push(...this.parseExportSpecifiers()),t.source=null,t.declaration=null,!0)}maybeParseExportDeclaration(t){return!!this.shouldParseExportDeclaration()&&(t.specifiers=[],t.source=null,t.declaration=this.parseExportDeclaration(t),!0)}isAsyncFunction(){if(!this.isContextual(\"async\"))return!1;const t=this.nextTokenStart();return!m.test(this.input.slice(this.state.pos,t))&&this.isUnparsedContextual(t,\"function\")}parseExportDefaultExpression(){const t=this.startNode(),e=this.isAsyncFunction();if(this.match(c._function)||e)return this.next(),e&&this.next(),this.parseFunction(t,5,e);if(this.match(c._class))return this.parseClass(t,!0,!0);if(this.match(c.at))return this.hasPlugin(\"decorators\")&&this.getPluginOption(\"decorators\",\"decoratorsBeforeExport\")&&this.raise(this.state.start,g.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(t,!0,!0);if(this.match(c._const)||this.match(c._var)||this.isLet())throw this.raise(this.state.start,g.UnsupportedDefaultExport);{const t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}}parseExportDeclaration(t){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(c.name)){const t=this.state.value;if(\"async\"===t&&!this.state.containsEsc||\"let\"===t)return!1;if((\"type\"===t||\"interface\"===t)&&!this.state.containsEsc){const t=this.lookahead();if(t.type===c.name&&\"from\"!==t.value||t.type===c.braceL)return this.expectOnePlugin([\"flow\",\"typescript\"]),!1}}else if(!this.match(c._default))return!1;const t=this.nextTokenStart(),e=this.isUnparsedContextual(t,\"from\");if(44===this.input.charCodeAt(t)||this.match(c.name)&&e)return!0;if(this.match(c._default)&&e){const e=this.input.charCodeAt(this.nextTokenStartSince(t+4));return 34===e||39===e}return!1}parseExportFrom(t,e){if(this.eatContextual(\"from\")){t.source=this.parseImportSource(),this.checkExport(t);const e=this.maybeParseImportAssertions();e&&(t.assertions=e)}else e?this.unexpected():t.source=null;this.semicolon()}shouldParseExportDeclaration(){if(this.match(c.at)&&(this.expectOnePlugin([\"decorators\",\"decorators-legacy\"]),this.hasPlugin(\"decorators\"))){if(!this.getPluginOption(\"decorators\",\"decoratorsBeforeExport\"))return!0;this.unexpected(this.state.start,g.DecoratorBeforeExport)}return\"var\"===this.state.type.keyword||\"const\"===this.state.type.keyword||\"function\"===this.state.type.keyword||\"class\"===this.state.type.keyword||this.isLet()||this.isAsyncFunction()}checkExport(t,e,s,r){if(e)if(s){if(this.checkDuplicateExports(t,\"default\"),this.hasPlugin(\"exportDefaultFrom\")){var i;const e=t.declaration;\"Identifier\"!==e.type||\"from\"!==e.name||e.end-e.start!=4||(null==(i=e.extra)?void 0:i.parenthesized)||this.raise(e.start,g.ExportDefaultFromAsIdentifier)}}else if(t.specifiers&&t.specifiers.length)for(let e=0,s=t.specifiers;e-1&&this.raise(t.start,\"default\"===e?g.DuplicateDefaultExport:g.DuplicateExport,e),this.state.exportedIdentifiers.push(e)}parseExportSpecifiers(){const t=[];let e=!0;for(this.expect(c.braceL);!this.eat(c.braceR);){if(e)e=!1;else if(this.expect(c.comma),this.eat(c.braceR))break;const s=this.startNode();s.local=this.parseModuleExportName(),s.exported=this.eatContextual(\"as\")?this.parseModuleExportName():s.local.__clone(),t.push(this.finishNode(s,\"ExportSpecifier\"))}return t}parseModuleExportName(){if(this.match(c.string)){this.expectPlugin(\"moduleStringNames\");const t=this.parseLiteral(this.state.value,\"StringLiteral\"),e=t.value.match(Mt);return e&&this.raise(t.start,g.ModuleExportNameHasLoneSurrogate,e[0].charCodeAt(0).toString(16)),t}return this.parseIdentifier(!0)}parseImport(t){if(t.specifiers=[],!this.match(c.string)){const e=!this.maybeParseDefaultImportSpecifier(t)||this.eat(c.comma),s=e&&this.maybeParseStarImportSpecifier(t);e&&!s&&this.parseNamedImportSpecifiers(t),this.expectContextual(\"from\")}t.source=this.parseImportSource();const e=this.maybeParseImportAssertions();if(e)t.assertions=e;else{const e=this.maybeParseModuleAttributes();e&&(t.attributes=e)}return this.semicolon(),this.finishNode(t,\"ImportDeclaration\")}parseImportSource(){return this.match(c.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(t){return this.match(c.name)}parseImportSpecifierLocal(t,e,s,r){e.local=this.parseIdentifier(),this.checkLVal(e.local,9,void 0,r),t.specifiers.push(this.finishNode(e,s))}parseAssertEntries(){const t=[],e=new Set;do{if(this.match(c.braceR))break;const s=this.startNode(),r=this.state.value;if(this.match(c.string)?s.key=this.parseLiteral(r,\"StringLiteral\"):s.key=this.parseIdentifier(!0),this.expect(c.colon),\"type\"!==r&&this.raise(s.key.start,g.ModuleAttributeDifferentFromType,r),e.has(r)&&this.raise(s.key.start,g.ModuleAttributesWithDuplicateKeys,r),e.add(r),!this.match(c.string))throw this.unexpected(this.state.start,g.ModuleAttributeInvalidValue);s.value=this.parseLiteral(this.state.value,\"StringLiteral\"),this.finishNode(s,\"ImportAttribute\"),t.push(s)}while(this.eat(c.comma));return t}maybeParseModuleAttributes(){if(!this.match(c._with)||this.hasPrecedingLineBreak())return this.hasPlugin(\"moduleAttributes\")?[]:null;this.expectPlugin(\"moduleAttributes\"),this.next();const t=[],e=new Set;do{const s=this.startNode();if(s.key=this.parseIdentifier(!0),\"type\"!==s.key.name&&this.raise(s.key.start,g.ModuleAttributeDifferentFromType,s.key.name),e.has(s.key.name)&&this.raise(s.key.start,g.ModuleAttributesWithDuplicateKeys,s.key.name),e.add(s.key.name),this.expect(c.colon),!this.match(c.string))throw this.unexpected(this.state.start,g.ModuleAttributeInvalidValue);s.value=this.parseLiteral(this.state.value,\"StringLiteral\"),this.finishNode(s,\"ImportAttribute\"),t.push(s)}while(this.eat(c.comma));return t}maybeParseImportAssertions(){if(!this.isContextual(\"assert\")||this.hasPrecedingLineBreak())return this.hasPlugin(\"importAssertions\")?[]:null;this.expectPlugin(\"importAssertions\"),this.next(),this.eat(c.braceL);const t=this.parseAssertEntries();return this.eat(c.braceR),t}maybeParseDefaultImportSpecifier(t){return!!this.shouldParseDefaultImport(t)&&(this.parseImportSpecifierLocal(t,this.startNode(),\"ImportDefaultSpecifier\",\"default import specifier\"),!0)}maybeParseStarImportSpecifier(t){if(this.match(c.star)){const e=this.startNode();return this.next(),this.expectContextual(\"as\"),this.parseImportSpecifierLocal(t,e,\"ImportNamespaceSpecifier\",\"import namespace specifier\"),!0}return!1}parseNamedImportSpecifiers(t){let e=!0;for(this.expect(c.braceL);!this.eat(c.braceR);){if(e)e=!1;else{if(this.eat(c.colon))throw this.raise(this.state.start,g.DestructureNamedImport);if(this.expect(c.comma),this.eat(c.braceR))break}this.parseImportSpecifier(t)}}parseImportSpecifier(t){const e=this.startNode();if(e.imported=this.parseModuleExportName(),this.eatContextual(\"as\"))e.local=this.parseIdentifier();else{const{imported:t}=e;if(\"StringLiteral\"===t.type)throw this.raise(e.start,g.ImportBindingIsString,t.value);this.checkReservedWord(t.name,e.start,!0,!0),e.local=t.__clone()}this.checkLVal(e.local,9,void 0,\"import specifier\"),t.specifiers.push(this.finishNode(e,\"ImportSpecifier\"))}}{constructor(t,e){super(t=function(t){const e={};for(let s=0,r=Object.keys(Ct);s\"'\".concat(t,\"'\"))).join(\", \"));if(Dt(t,\"moduleAttributes\")){if(Dt(t,\"importAssertions\"))throw new Error(\"Cannot combine importAssertions and moduleAttributes plugins.\");if(\"may-2020\"!==mt(t,\"moduleAttributes\",\"version\"))throw new Error(\"The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.\")}if(Dt(t,\"recordAndTuple\")&&!yt.includes(mt(t,\"recordAndTuple\",\"syntaxType\")))throw new Error(\"'recordAndTuple' requires 'syntaxType' option whose value should be one of: \"+yt.map((t=>\"'\".concat(t,\"'\"))).join(\", \"))}(t.plugins),s=function(t){const e=At.filter((e=>Dt(t,e))),s=e.join(\"/\");let r=qt[s];if(!r){r=jt;for(let t=0;t{if(\"babel\"===n.parser&&function(t,e){if(e.filepath&&e.filepath.endsWith(\".js.flow\"))return!0;const s=Hs(t);s&&(t=t.slice(s.length));const r=zs(t,0);return!1!==r&&(t=t.slice(0,r)),Ks.test(t)}(r,n))return n.parser=\"babel-flow\",Ys(r,i,n);const a=Vs,o=\"script\"===n.__babelSourceType?\"script\":\"module\";let u;try{u=function(t,e){let s;for(let r=0;ra[e](r,t)),function(t,e,s){if(!t)return e;const r=[];for(const t of e)for(const e of s)r.push([...t,e]);return r}(r.includes(\"|>\"),s,[[\"pipelineOperator\",{proposal:\"smart\"}],[\"pipelineOperator\",{proposal:\"minimal\"}],[\"pipelineOperator\",{proposal:\"fsharp\"}]]).map((t=>function({sourceType:t,extraPlugins:e=[]}){return{sourceType:t,allowAwaitOutsideFunction:!0,allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,allowUndeclaredExports:!0,errorRecovery:!0,createParenthesizedExpressions:!0,plugins:[\"doExpressions\",\"classProperties\",\"exportDefaultFrom\",\"functionBind\",\"functionSent\",\"classPrivateProperties\",\"throwExpressions\",\"classPrivateMethods\",\"v8intrinsic\",\"partialApplication\",[\"decorators\",{decoratorsBeforeExport:!1}],\"privateIn\",\"importAssertions\",[\"recordAndTuple\",{syntaxType:\"hash\"}],\"decimal\",\"moduleStringNames\",\"classStaticBlock\",...e],tokens:!0,ranges:!0}}({sourceType:o,extraPlugins:t}))))}catch(e){const{message:s,loc:r}=e;throw t(s.replace(/ \\(.*\\)/,\"\"),{start:{line:r?r.line:0,column:r?r.column+1:0}})}return qs(u,Object.assign({},n,{originalText:r}))}}const $s=Js(\"parse\",[\"jsx\",\"flow\"]),Ys=Js(\"parse\",[\"jsx\",[\"flow\",{all:!0,enums:!0}]]),Qs=Js(\"parse\",[\"jsx\",\"typescript\"],[\"typescript\"]),Zs=Js(\"parseExpression\",[\"jsx\"]);const tr=new Set([\"Did not expect a type annotation here.\",\"The only accepted module attribute is `type`\",\"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`\"]);function er(t){const e=t.errors.find((t=>function(t){const[,e]=t.message.match(/(.*?)\\s*\\(\\d+:\\d+\\)/);return tr.has(e)}(t)));if(e)throw e;return t}function sr(e,s){switch(e.type){case\"ArrayExpression\":return e.elements.forEach(r);case\"ObjectExpression\":return e.properties.forEach(r);case\"ObjectProperty\":if(e.computed)throw i(\"computed\");if(e.shorthand)throw i(\"shorthand\");return[e.key,e.value].forEach(r);case\"UnaryExpression\":switch(e.operator){case\"+\":case\"-\":return r(e.argument);default:throw i(\"operator\")}case\"Identifier\":if(s&&\"ObjectProperty\"===s.type&&s.key===e)return;throw i();case\"NullLiteral\":case\"BooleanLiteral\":case\"NumericLiteral\":case\"StringLiteral\":return;default:throw i()}function r(t){return sr(t,e)}function i(s){const r=s?\"\".concat(e.type,\" with \").concat(s,\"=\").concat(JSON.stringify(e[s])):e.type;return t(\"\".concat(r,\" is not allowed in JSON.\"),{start:{line:e.loc.start.line,column:e.loc.start.column+1}})}}const rr={parse:$s,astFormat:\"estree\",hasPragma:Ws,locStart:Xs,locEnd:Gs},ir=Object.assign({},rr,{parse:Ys}),nr=Object.assign({},rr,{parse:Qs}),ar=Object.assign({},rr,{parse:Zs});return{parsers:{babel:rr,\"babel-flow\":ir,\"babel-ts\":nr,json:Object.assign({},ar,{hasPragma:()=>!0}),json5:ar,\"json-stringify\":{parse:function(t,e,s){const r=Zs(t,e,s);return r.comments.forEach(sr),sr(r),r},astFormat:\"estree-json\",locStart:Xs,locEnd:Gs},__js_expression:ar,__vue_expression:ar,__vue_event_binding:rr}}}));\n","module.exports = require(\"constants\");","'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 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","module.exports = require(\"path\");","'use strict';\n\nconst matchOperatorsRegex = /[|\\\\{}()[\\]^$+*?.-]/g;\n\nmodule.exports = string => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn string.replace(matchOperatorsRegex, '\\\\$&');\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlPush = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/eab2f95c0de94e9816c8a6110d20673761dd97a4/include/curl/multi.h#L426-L435\r\n/**\r\n * Object with constants to be used as the return value for the {@link \"Multi\".Multi.setOpt | `Multi`} option `PUSHFUNCTION`.\r\n *\r\n * `CURL_PUSH_OK` becomes `CurlPush.Ok`\r\n *\r\n * @public\r\n */\r\nvar CurlPush;\r\n(function (CurlPush) {\r\n CurlPush[CurlPush[\"Ok\"] = 0] = \"Ok\";\r\n CurlPush[CurlPush[\"Deny\"] = 1] = \"Deny\";\r\n})(CurlPush = exports.CurlPush || (exports.CurlPush = {}));\r\n//# sourceMappingURL=CurlPush.js.map","'use strict'\n\nconst { stringify } = require('jsonfile/utils')\nconst { outputFileSync } = require('../output')\n\nfunction outputJsonSync (file, data, options) {\n const str = stringify(data, options)\n\n outputFileSync(file, str, options)\n}\n\nmodule.exports = outputJsonSync\n","'use strict';\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptRegExp(data) {\n if (data === null) return false;\n if (data.length === 0) return false;\n\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n\n // if regexp starts with '/' it can have modifiers and must be properly closed\n // `/foo/gim` - modifiers tail can be maximum 3 chars\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n\n if (modifiers.length > 3) return false;\n // if expression starts with /, is should be properly terminated\n if (regexp[regexp.length - modifiers.length - 1] !== '/') return false;\n }\n\n return true;\n}\n\nfunction constructJavascriptRegExp(data) {\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n\n // `/foo/gim` - tail can be maximum 4 chars\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n regexp = regexp.slice(1, regexp.length - modifiers.length - 1);\n }\n\n return new RegExp(regexp, modifiers);\n}\n\nfunction representJavascriptRegExp(object /*, style*/) {\n var result = '/' + object.source + '/';\n\n if (object.global) result += 'g';\n if (object.multiline) result += 'm';\n if (object.ignoreCase) result += 'i';\n\n return result;\n}\n\nfunction isRegExp(object) {\n return Object.prototype.toString.call(object) === '[object RegExp]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/regexp', {\n kind: 'scalar',\n resolve: resolveJavascriptRegExp,\n construct: constructJavascriptRegExp,\n predicate: isRegExp,\n represent: representJavascriptRegExp\n});\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlMerge(data) {\n return data === '<<' || data === null;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:merge', {\n kind: 'scalar',\n resolve: resolveYamlMerge\n});\n","'use strict';\n\nvar os = require('os');\nvar path = require('path');\nvar Module = require('module');\nvar fs = require('fs');\nvar util = require('util');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar os__default = /*#__PURE__*/_interopDefaultLegacy(os);\nvar path__default = /*#__PURE__*/_interopDefaultLegacy(path);\nvar Module__default = /*#__PURE__*/_interopDefaultLegacy(Module);\nvar fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);\nvar util__default = /*#__PURE__*/_interopDefaultLegacy(util);\n\nfunction createCommonjsModule(fn, basedir, module) {\n\treturn module = {\n\t\tpath: basedir,\n\t\texports: {},\n\t\trequire: function (path, base) {\n\t\t\treturn commonjsRequire(path, (base === undefined || base === null) ? module.path : base);\n\t\t}\n\t}, fn(module, module.exports), module.exports;\n}\n\nfunction commonjsRequire () {\n\tthrow new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');\n}\n\nconst resolveFrom = (fromDir, moduleId, silent) => {\n if (typeof fromDir !== 'string') {\n throw new TypeError(`Expected \\`fromDir\\` to be of type \\`string\\`, got \\`${typeof fromDir}\\``);\n }\n\n if (typeof moduleId !== 'string') {\n throw new TypeError(`Expected \\`moduleId\\` to be of type \\`string\\`, got \\`${typeof moduleId}\\``);\n }\n\n try {\n fromDir = fs__default['default'].realpathSync(fromDir);\n } catch (err) {\n if (err.code === 'ENOENT') {\n fromDir = path__default['default'].resolve(fromDir);\n } else if (silent) {\n return null;\n } else {\n throw err;\n }\n }\n\n const fromFile = path__default['default'].join(fromDir, 'noop.js');\n\n const resolveFileName = () => Module__default['default']._resolveFilename(moduleId, {\n id: fromFile,\n filename: fromFile,\n paths: Module__default['default']._nodeModulePaths(fromDir)\n });\n\n if (silent) {\n try {\n return resolveFileName();\n } catch (err) {\n return null;\n }\n }\n\n return resolveFileName();\n};\n\nvar resolveFrom_1 = (fromDir, moduleId) => resolveFrom(fromDir, moduleId);\n\nvar silent = (fromDir, moduleId) => resolveFrom(fromDir, moduleId, true);\nresolveFrom_1.silent = silent;\n\nvar importFresh = moduleId => {\n if (typeof moduleId !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n const parentPath = __filename;\n const filePath = resolveFrom_1(path__default['default'].dirname(parentPath), moduleId);\n const oldModule = eval('require').cache[filePath]; // Delete itself from module parent\n\n if (oldModule && oldModule.parent) {\n let i = oldModule.parent.children.length;\n\n while (i--) {\n if (oldModule.parent.children[i].id === filePath) {\n oldModule.parent.children.splice(i, 1);\n }\n }\n }\n\n delete eval('require').cache[filePath]; // Delete module from cache\n\n const parent = eval('require').cache[parentPath]; // If `filePath` and `parentPath` are the same, cache will already be deleted so we won't get a memory leak in next step\n\n return parent === undefined ? eval('require')(filePath) : parent.require(filePath); // In case cache doesn't have parent, fall back to normal require\n};\n\nvar isArrayish = function isArrayish(obj) {\n if (!obj) {\n return false;\n }\n\n return obj instanceof Array || Array.isArray(obj) || obj.length >= 0 && obj.splice instanceof Function;\n};\n\nvar errorEx = function errorEx(name, properties) {\n if (!name || name.constructor !== String) {\n properties = name || {};\n name = Error.name;\n }\n\n var errorExError = function ErrorEXError(message) {\n if (!this) {\n return new ErrorEXError(message);\n }\n\n message = message instanceof Error ? message.message : message || this.message;\n Error.call(this, message);\n Error.captureStackTrace(this, errorExError);\n this.name = name;\n Object.defineProperty(this, 'message', {\n configurable: true,\n enumerable: false,\n get: function () {\n var newMessage = message.split(/\\r?\\n/g);\n\n for (var key in properties) {\n if (!properties.hasOwnProperty(key)) {\n continue;\n }\n\n var modifier = properties[key];\n\n if ('message' in modifier) {\n newMessage = modifier.message(this[key], newMessage) || newMessage;\n\n if (!isArrayish(newMessage)) {\n newMessage = [newMessage];\n }\n }\n }\n\n return newMessage.join('\\n');\n },\n set: function (v) {\n message = v;\n }\n });\n var overwrittenStack = null;\n var stackDescriptor = Object.getOwnPropertyDescriptor(this, 'stack');\n var stackGetter = stackDescriptor.get;\n var stackValue = stackDescriptor.value;\n delete stackDescriptor.value;\n delete stackDescriptor.writable;\n\n stackDescriptor.set = function (newstack) {\n overwrittenStack = newstack;\n };\n\n stackDescriptor.get = function () {\n var stack = (overwrittenStack || (stackGetter ? stackGetter.call(this) : stackValue)).split(/\\r?\\n+/g); // starting in Node 7, the stack builder caches the message.\n // just replace it.\n\n if (!overwrittenStack) {\n stack[0] = this.name + ': ' + this.message;\n }\n\n var lineCount = 1;\n\n for (var key in properties) {\n if (!properties.hasOwnProperty(key)) {\n continue;\n }\n\n var modifier = properties[key];\n\n if ('line' in modifier) {\n var line = modifier.line(this[key]);\n\n if (line) {\n stack.splice(lineCount++, 0, ' ' + line);\n }\n }\n\n if ('stack' in modifier) {\n modifier.stack(this[key], stack);\n }\n }\n\n return stack.join('\\n');\n };\n\n Object.defineProperty(this, 'stack', stackDescriptor);\n };\n\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(errorExError.prototype, Error.prototype);\n Object.setPrototypeOf(errorExError, Error);\n } else {\n util__default['default'].inherits(errorExError, Error);\n }\n\n return errorExError;\n};\n\nerrorEx.append = function (str, def) {\n return {\n message: function (v, message) {\n v = v || def;\n\n if (v) {\n message[0] += ' ' + str.replace('%s', v.toString());\n }\n\n return message;\n }\n };\n};\n\nerrorEx.line = function (str, def) {\n return {\n line: function (v) {\n v = v || def;\n\n if (v) {\n return str.replace('%s', v.toString());\n }\n\n return null;\n }\n };\n};\n\nvar errorEx_1 = errorEx;\n\nvar jsonParseBetterErrors = parseJson;\n\nfunction parseJson(txt, reviver, context) {\n context = context || 20;\n\n try {\n return JSON.parse(txt, reviver);\n } catch (e) {\n if (typeof txt !== 'string') {\n const isEmptyArray = Array.isArray(txt) && txt.length === 0;\n const errorMessage = 'Cannot parse ' + (isEmptyArray ? 'an empty array' : String(txt));\n throw new TypeError(errorMessage);\n }\n\n const syntaxErr = e.message.match(/^Unexpected token.*position\\s+(\\d+)/i);\n const errIdx = syntaxErr ? +syntaxErr[1] : e.message.match(/^Unexpected end of JSON.*/i) ? txt.length - 1 : null;\n\n if (errIdx != null) {\n const start = errIdx <= context ? 0 : errIdx - context;\n const end = errIdx + context >= txt.length ? txt.length : errIdx + context;\n e.message += ` while parsing near '${start === 0 ? '' : '...'}${txt.slice(start, end)}${end === txt.length ? '' : '...'}'`;\n } else {\n e.message += ` while parsing '${txt.slice(0, context * 2)}'`;\n }\n\n throw e;\n }\n}\n\nvar dist = createCommonjsModule(function (module, exports) {\n\n var LF = '\\n';\n var CR = '\\r';\n\n var LinesAndColumns = function () {\n function LinesAndColumns(string) {\n this.string = string;\n var offsets = [0];\n\n for (var offset = 0; offset < string.length;) {\n switch (string[offset]) {\n case LF:\n offset += LF.length;\n offsets.push(offset);\n break;\n\n case CR:\n offset += CR.length;\n\n if (string[offset] === LF) {\n offset += LF.length;\n }\n\n offsets.push(offset);\n break;\n\n default:\n offset++;\n break;\n }\n }\n\n this.offsets = offsets;\n }\n\n LinesAndColumns.prototype.locationForIndex = function (index) {\n if (index < 0 || index > this.string.length) {\n return null;\n }\n\n var line = 0;\n var offsets = this.offsets;\n\n while (offsets[line + 1] <= index) {\n line++;\n }\n\n var column = index - offsets[line];\n return {\n line: line,\n column: column\n };\n };\n\n LinesAndColumns.prototype.indexForLocation = function (location) {\n var line = location.line,\n column = location.column;\n\n if (line < 0 || line >= this.offsets.length) {\n return null;\n }\n\n if (column < 0 || column > this.lengthOfLine(line)) {\n return null;\n }\n\n return this.offsets[line] + column;\n };\n\n LinesAndColumns.prototype.lengthOfLine = function (line) {\n var offset = this.offsets[line];\n var nextOffset = line === this.offsets.length - 1 ? this.string.length : this.offsets[line + 1];\n return nextOffset - offset;\n };\n\n return LinesAndColumns;\n }();\n\n exports.__esModule = true;\n exports[\"default\"] = LinesAndColumns;\n});\n\nvar jsTokens = createCommonjsModule(function (module, exports) {\n // Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell\n // License: MIT. (See LICENSE.)\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n }); // This regex comes from regex.coffee, and is inserted here by generate-index.js\n // (run `npm run build`).\n\n exports.default = /((['\"])(?:(?!\\2|\\\\).|\\\\(?:\\r\\n|[\\s\\S]))*(\\2)?|`(?:[^`\\\\$]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{[^}]*\\}?)*\\}?)*(`)?)|(\\/\\/.*)|(\\/\\*(?:[^*]|\\*(?!\\/))*(\\*\\/)?)|(\\/(?!\\*)(?:\\[(?:(?![\\]\\\\]).|\\\\.)*\\]|(?![\\/\\]\\\\]).|\\\\.)+\\/(?:(?!\\s*(?:\\b|[\\u0080-\\uFFFF$\\\\'\"~({]|[+\\-!](?!=)|\\.?\\d))|[gmiyus]{1,6}\\b(?![\\u0080-\\uFFFF$\\\\]|\\s*(?:[+\\-*%&|^<>!=?({]|\\/(?![\\/*])))))|(0[xX][\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?)|((?!\\d)(?:(?!\\s)[$\\w\\u0080-\\uFFFF]|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+)|(--|\\+\\+|&&|\\|\\||=>|\\.{3}|(?:[+\\-\\/%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\](){}])|(\\s+)|(^$|[\\s\\S])/g;\n\n exports.matchToToken = function (match) {\n var token = {\n type: \"invalid\",\n value: match[0],\n closed: undefined\n };\n if (match[1]) token.type = \"string\", token.closed = !!(match[3] || match[4]);else if (match[5]) token.type = \"comment\";else if (match[6]) token.type = \"comment\", token.closed = !!match[7];else if (match[8]) token.type = \"regex\";else if (match[9]) token.type = \"number\";else if (match[10]) token.type = \"name\";else if (match[11]) token.type = \"punctuator\";else if (match[12]) token.type = \"whitespace\";\n return token;\n };\n});\n\nvar identifier = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.isIdentifierStart = isIdentifierStart;\n exports.isIdentifierChar = isIdentifierChar;\n exports.isIdentifierName = isIdentifierName;\n let nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u08a0-\\u08b4\\u08b6-\\u08c7\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\u9ffc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7bf\\ua7c2-\\ua7ca\\ua7f5-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\n let nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08d3-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf\\u1ac0\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1df9\\u1dfb-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\";\n const nonASCIIidentifierStart = new RegExp(\"[\" + nonASCIIidentifierStartChars + \"]\");\n const nonASCIIidentifier = new RegExp(\"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\");\n nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\n const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 107, 20, 28, 22, 13, 52, 76, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 230, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 35, 56, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8952, 286, 50, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 2357, 44, 11, 6, 17, 0, 370, 43, 1301, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42717, 35, 4148, 12, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938];\n const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 176, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 135, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 419, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];\n\n function isInAstralSet(code, set) {\n let pos = 0x10000;\n\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n\n return false;\n }\n\n function isIdentifierStart(code) {\n if (code < 65) return code === 36;\n if (code <= 90) return true;\n if (code < 97) return code === 95;\n if (code <= 122) return true;\n\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));\n }\n\n return isInAstralSet(code, astralIdentifierStartCodes);\n }\n\n function isIdentifierChar(code) {\n if (code < 48) return code === 36;\n if (code < 58) return true;\n if (code < 65) return false;\n if (code <= 90) return true;\n if (code < 97) return code === 95;\n if (code <= 122) return true;\n\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n\n return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);\n }\n\n function isIdentifierName(name) {\n let isFirst = true;\n\n for (let _i = 0, _Array$from = Array.from(name); _i < _Array$from.length; _i++) {\n const char = _Array$from[_i];\n const cp = char.codePointAt(0);\n\n if (isFirst) {\n if (!isIdentifierStart(cp)) {\n return false;\n }\n\n isFirst = false;\n } else if (!isIdentifierChar(cp)) {\n return false;\n }\n }\n\n return !isFirst;\n }\n});\n\nvar keyword = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.isReservedWord = isReservedWord;\n exports.isStrictReservedWord = isStrictReservedWord;\n exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;\n exports.isStrictBindReservedWord = isStrictBindReservedWord;\n exports.isKeyword = isKeyword;\n const reservedWords = {\n keyword: [\"break\", \"case\", \"catch\", \"continue\", \"debugger\", \"default\", \"do\", \"else\", \"finally\", \"for\", \"function\", \"if\", \"return\", \"switch\", \"throw\", \"try\", \"var\", \"const\", \"while\", \"with\", \"new\", \"this\", \"super\", \"class\", \"extends\", \"export\", \"import\", \"null\", \"true\", \"false\", \"in\", \"instanceof\", \"typeof\", \"void\", \"delete\"],\n strict: [\"implements\", \"interface\", \"let\", \"package\", \"private\", \"protected\", \"public\", \"static\", \"yield\"],\n strictBind: [\"eval\", \"arguments\"]\n };\n const keywords = new Set(reservedWords.keyword);\n const reservedWordsStrictSet = new Set(reservedWords.strict);\n const reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\n\n function isReservedWord(word, inModule) {\n return inModule && word === \"await\" || word === \"enum\";\n }\n\n function isStrictReservedWord(word, inModule) {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n }\n\n function isStrictBindOnlyReservedWord(word) {\n return reservedWordsStrictBindSet.has(word);\n }\n\n function isStrictBindReservedWord(word, inModule) {\n return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);\n }\n\n function isKeyword(word) {\n return keywords.has(word);\n }\n});\n\nvar lib = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(exports, \"isIdentifierName\", {\n enumerable: true,\n get: function () {\n return identifier.isIdentifierName;\n }\n });\n Object.defineProperty(exports, \"isIdentifierChar\", {\n enumerable: true,\n get: function () {\n return identifier.isIdentifierChar;\n }\n });\n Object.defineProperty(exports, \"isIdentifierStart\", {\n enumerable: true,\n get: function () {\n return identifier.isIdentifierStart;\n }\n });\n Object.defineProperty(exports, \"isReservedWord\", {\n enumerable: true,\n get: function () {\n return keyword.isReservedWord;\n }\n });\n Object.defineProperty(exports, \"isStrictBindOnlyReservedWord\", {\n enumerable: true,\n get: function () {\n return keyword.isStrictBindOnlyReservedWord;\n }\n });\n Object.defineProperty(exports, \"isStrictBindReservedWord\", {\n enumerable: true,\n get: function () {\n return keyword.isStrictBindReservedWord;\n }\n });\n Object.defineProperty(exports, \"isStrictReservedWord\", {\n enumerable: true,\n get: function () {\n return keyword.isStrictReservedWord;\n }\n });\n Object.defineProperty(exports, \"isKeyword\", {\n enumerable: true,\n get: function () {\n return keyword.isKeyword;\n }\n });\n});\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nvar escapeStringRegexp = function (str) {\n if (typeof str !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n return str.replace(matchOperatorsRe, '\\\\$&');\n};\n\nvar colorName = {\n \"aliceblue\": [240, 248, 255],\n \"antiquewhite\": [250, 235, 215],\n \"aqua\": [0, 255, 255],\n \"aquamarine\": [127, 255, 212],\n \"azure\": [240, 255, 255],\n \"beige\": [245, 245, 220],\n \"bisque\": [255, 228, 196],\n \"black\": [0, 0, 0],\n \"blanchedalmond\": [255, 235, 205],\n \"blue\": [0, 0, 255],\n \"blueviolet\": [138, 43, 226],\n \"brown\": [165, 42, 42],\n \"burlywood\": [222, 184, 135],\n \"cadetblue\": [95, 158, 160],\n \"chartreuse\": [127, 255, 0],\n \"chocolate\": [210, 105, 30],\n \"coral\": [255, 127, 80],\n \"cornflowerblue\": [100, 149, 237],\n \"cornsilk\": [255, 248, 220],\n \"crimson\": [220, 20, 60],\n \"cyan\": [0, 255, 255],\n \"darkblue\": [0, 0, 139],\n \"darkcyan\": [0, 139, 139],\n \"darkgoldenrod\": [184, 134, 11],\n \"darkgray\": [169, 169, 169],\n \"darkgreen\": [0, 100, 0],\n \"darkgrey\": [169, 169, 169],\n \"darkkhaki\": [189, 183, 107],\n \"darkmagenta\": [139, 0, 139],\n \"darkolivegreen\": [85, 107, 47],\n \"darkorange\": [255, 140, 0],\n \"darkorchid\": [153, 50, 204],\n \"darkred\": [139, 0, 0],\n \"darksalmon\": [233, 150, 122],\n \"darkseagreen\": [143, 188, 143],\n \"darkslateblue\": [72, 61, 139],\n \"darkslategray\": [47, 79, 79],\n \"darkslategrey\": [47, 79, 79],\n \"darkturquoise\": [0, 206, 209],\n \"darkviolet\": [148, 0, 211],\n \"deeppink\": [255, 20, 147],\n \"deepskyblue\": [0, 191, 255],\n \"dimgray\": [105, 105, 105],\n \"dimgrey\": [105, 105, 105],\n \"dodgerblue\": [30, 144, 255],\n \"firebrick\": [178, 34, 34],\n \"floralwhite\": [255, 250, 240],\n \"forestgreen\": [34, 139, 34],\n \"fuchsia\": [255, 0, 255],\n \"gainsboro\": [220, 220, 220],\n \"ghostwhite\": [248, 248, 255],\n \"gold\": [255, 215, 0],\n \"goldenrod\": [218, 165, 32],\n \"gray\": [128, 128, 128],\n \"green\": [0, 128, 0],\n \"greenyellow\": [173, 255, 47],\n \"grey\": [128, 128, 128],\n \"honeydew\": [240, 255, 240],\n \"hotpink\": [255, 105, 180],\n \"indianred\": [205, 92, 92],\n \"indigo\": [75, 0, 130],\n \"ivory\": [255, 255, 240],\n \"khaki\": [240, 230, 140],\n \"lavender\": [230, 230, 250],\n \"lavenderblush\": [255, 240, 245],\n \"lawngreen\": [124, 252, 0],\n \"lemonchiffon\": [255, 250, 205],\n \"lightblue\": [173, 216, 230],\n \"lightcoral\": [240, 128, 128],\n \"lightcyan\": [224, 255, 255],\n \"lightgoldenrodyellow\": [250, 250, 210],\n \"lightgray\": [211, 211, 211],\n \"lightgreen\": [144, 238, 144],\n \"lightgrey\": [211, 211, 211],\n \"lightpink\": [255, 182, 193],\n \"lightsalmon\": [255, 160, 122],\n \"lightseagreen\": [32, 178, 170],\n \"lightskyblue\": [135, 206, 250],\n \"lightslategray\": [119, 136, 153],\n \"lightslategrey\": [119, 136, 153],\n \"lightsteelblue\": [176, 196, 222],\n \"lightyellow\": [255, 255, 224],\n \"lime\": [0, 255, 0],\n \"limegreen\": [50, 205, 50],\n \"linen\": [250, 240, 230],\n \"magenta\": [255, 0, 255],\n \"maroon\": [128, 0, 0],\n \"mediumaquamarine\": [102, 205, 170],\n \"mediumblue\": [0, 0, 205],\n \"mediumorchid\": [186, 85, 211],\n \"mediumpurple\": [147, 112, 219],\n \"mediumseagreen\": [60, 179, 113],\n \"mediumslateblue\": [123, 104, 238],\n \"mediumspringgreen\": [0, 250, 154],\n \"mediumturquoise\": [72, 209, 204],\n \"mediumvioletred\": [199, 21, 133],\n \"midnightblue\": [25, 25, 112],\n \"mintcream\": [245, 255, 250],\n \"mistyrose\": [255, 228, 225],\n \"moccasin\": [255, 228, 181],\n \"navajowhite\": [255, 222, 173],\n \"navy\": [0, 0, 128],\n \"oldlace\": [253, 245, 230],\n \"olive\": [128, 128, 0],\n \"olivedrab\": [107, 142, 35],\n \"orange\": [255, 165, 0],\n \"orangered\": [255, 69, 0],\n \"orchid\": [218, 112, 214],\n \"palegoldenrod\": [238, 232, 170],\n \"palegreen\": [152, 251, 152],\n \"paleturquoise\": [175, 238, 238],\n \"palevioletred\": [219, 112, 147],\n \"papayawhip\": [255, 239, 213],\n \"peachpuff\": [255, 218, 185],\n \"peru\": [205, 133, 63],\n \"pink\": [255, 192, 203],\n \"plum\": [221, 160, 221],\n \"powderblue\": [176, 224, 230],\n \"purple\": [128, 0, 128],\n \"rebeccapurple\": [102, 51, 153],\n \"red\": [255, 0, 0],\n \"rosybrown\": [188, 143, 143],\n \"royalblue\": [65, 105, 225],\n \"saddlebrown\": [139, 69, 19],\n \"salmon\": [250, 128, 114],\n \"sandybrown\": [244, 164, 96],\n \"seagreen\": [46, 139, 87],\n \"seashell\": [255, 245, 238],\n \"sienna\": [160, 82, 45],\n \"silver\": [192, 192, 192],\n \"skyblue\": [135, 206, 235],\n \"slateblue\": [106, 90, 205],\n \"slategray\": [112, 128, 144],\n \"slategrey\": [112, 128, 144],\n \"snow\": [255, 250, 250],\n \"springgreen\": [0, 255, 127],\n \"steelblue\": [70, 130, 180],\n \"tan\": [210, 180, 140],\n \"teal\": [0, 128, 128],\n \"thistle\": [216, 191, 216],\n \"tomato\": [255, 99, 71],\n \"turquoise\": [64, 224, 208],\n \"violet\": [238, 130, 238],\n \"wheat\": [245, 222, 179],\n \"white\": [255, 255, 255],\n \"whitesmoke\": [245, 245, 245],\n \"yellow\": [255, 255, 0],\n \"yellowgreen\": [154, 205, 50]\n};\n\nvar conversions = createCommonjsModule(function (module) {\n /* MIT license */\n // NOTE: conversions should only return primitive values (i.e. arrays, or\n // values that give correct `typeof` results).\n // do not use box values types (i.e. Number(), String(), etc.)\n var reverseKeywords = {};\n\n for (var key in colorName) {\n if (colorName.hasOwnProperty(key)) {\n reverseKeywords[colorName[key]] = key;\n }\n }\n\n var convert = module.exports = {\n rgb: {\n channels: 3,\n labels: 'rgb'\n },\n hsl: {\n channels: 3,\n labels: 'hsl'\n },\n hsv: {\n channels: 3,\n labels: 'hsv'\n },\n hwb: {\n channels: 3,\n labels: 'hwb'\n },\n cmyk: {\n channels: 4,\n labels: 'cmyk'\n },\n xyz: {\n channels: 3,\n labels: 'xyz'\n },\n lab: {\n channels: 3,\n labels: 'lab'\n },\n lch: {\n channels: 3,\n labels: 'lch'\n },\n hex: {\n channels: 1,\n labels: ['hex']\n },\n keyword: {\n channels: 1,\n labels: ['keyword']\n },\n ansi16: {\n channels: 1,\n labels: ['ansi16']\n },\n ansi256: {\n channels: 1,\n labels: ['ansi256']\n },\n hcg: {\n channels: 3,\n labels: ['h', 'c', 'g']\n },\n apple: {\n channels: 3,\n labels: ['r16', 'g16', 'b16']\n },\n gray: {\n channels: 1,\n labels: ['gray']\n }\n }; // hide .channels and .labels properties\n\n for (var model in convert) {\n if (convert.hasOwnProperty(model)) {\n if (!('channels' in convert[model])) {\n throw new Error('missing channels property: ' + model);\n }\n\n if (!('labels' in convert[model])) {\n throw new Error('missing channel labels property: ' + model);\n }\n\n if (convert[model].labels.length !== convert[model].channels) {\n throw new Error('channel and label counts mismatch: ' + model);\n }\n\n var channels = convert[model].channels;\n var labels = convert[model].labels;\n delete convert[model].channels;\n delete convert[model].labels;\n Object.defineProperty(convert[model], 'channels', {\n value: channels\n });\n Object.defineProperty(convert[model], 'labels', {\n value: labels\n });\n }\n }\n\n convert.rgb.hsl = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var delta = max - min;\n var h;\n var s;\n var l;\n\n if (max === min) {\n h = 0;\n } else if (r === max) {\n h = (g - b) / delta;\n } else if (g === max) {\n h = 2 + (b - r) / delta;\n } else if (b === max) {\n h = 4 + (r - g) / delta;\n }\n\n h = Math.min(h * 60, 360);\n\n if (h < 0) {\n h += 360;\n }\n\n l = (min + max) / 2;\n\n if (max === min) {\n s = 0;\n } else if (l <= 0.5) {\n s = delta / (max + min);\n } else {\n s = delta / (2 - max - min);\n }\n\n return [h, s * 100, l * 100];\n };\n\n convert.rgb.hsv = function (rgb) {\n var rdif;\n var gdif;\n var bdif;\n var h;\n var s;\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var v = Math.max(r, g, b);\n var diff = v - Math.min(r, g, b);\n\n var diffc = function (c) {\n return (v - c) / 6 / diff + 1 / 2;\n };\n\n if (diff === 0) {\n h = s = 0;\n } else {\n s = diff / v;\n rdif = diffc(r);\n gdif = diffc(g);\n bdif = diffc(b);\n\n if (r === v) {\n h = bdif - gdif;\n } else if (g === v) {\n h = 1 / 3 + rdif - bdif;\n } else if (b === v) {\n h = 2 / 3 + gdif - rdif;\n }\n\n if (h < 0) {\n h += 1;\n } else if (h > 1) {\n h -= 1;\n }\n }\n\n return [h * 360, s * 100, v * 100];\n };\n\n convert.rgb.hwb = function (rgb) {\n var r = rgb[0];\n var g = rgb[1];\n var b = rgb[2];\n var h = convert.rgb.hsl(rgb)[0];\n var w = 1 / 255 * Math.min(r, Math.min(g, b));\n b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n return [h, w * 100, b * 100];\n };\n\n convert.rgb.cmyk = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var c;\n var m;\n var y;\n var k;\n k = Math.min(1 - r, 1 - g, 1 - b);\n c = (1 - r - k) / (1 - k) || 0;\n m = (1 - g - k) / (1 - k) || 0;\n y = (1 - b - k) / (1 - k) || 0;\n return [c * 100, m * 100, y * 100, k * 100];\n };\n /**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\n\n\n function comparativeDistance(x, y) {\n return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);\n }\n\n convert.rgb.keyword = function (rgb) {\n var reversed = reverseKeywords[rgb];\n\n if (reversed) {\n return reversed;\n }\n\n var currentClosestDistance = Infinity;\n var currentClosestKeyword;\n\n for (var keyword in colorName) {\n if (colorName.hasOwnProperty(keyword)) {\n var value = colorName[keyword]; // Compute comparative distance\n\n var distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest\n\n if (distance < currentClosestDistance) {\n currentClosestDistance = distance;\n currentClosestKeyword = keyword;\n }\n }\n }\n\n return currentClosestKeyword;\n };\n\n convert.keyword.rgb = function (keyword) {\n return colorName[keyword];\n };\n\n convert.rgb.xyz = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255; // assume sRGB\n\n r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;\n g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;\n b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;\n var x = r * 0.4124 + g * 0.3576 + b * 0.1805;\n var y = r * 0.2126 + g * 0.7152 + b * 0.0722;\n var z = r * 0.0193 + g * 0.1192 + b * 0.9505;\n return [x * 100, y * 100, z * 100];\n };\n\n convert.rgb.lab = function (rgb) {\n var xyz = convert.rgb.xyz(rgb);\n var x = xyz[0];\n var y = xyz[1];\n var z = xyz[2];\n var l;\n var a;\n var b;\n x /= 95.047;\n y /= 100;\n z /= 108.883;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n l = 116 * y - 16;\n a = 500 * (x - y);\n b = 200 * (y - z);\n return [l, a, b];\n };\n\n convert.hsl.rgb = function (hsl) {\n var h = hsl[0] / 360;\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var t1;\n var t2;\n var t3;\n var rgb;\n var val;\n\n if (s === 0) {\n val = l * 255;\n return [val, val, val];\n }\n\n if (l < 0.5) {\n t2 = l * (1 + s);\n } else {\n t2 = l + s - l * s;\n }\n\n t1 = 2 * l - t2;\n rgb = [0, 0, 0];\n\n for (var i = 0; i < 3; i++) {\n t3 = h + 1 / 3 * -(i - 1);\n\n if (t3 < 0) {\n t3++;\n }\n\n if (t3 > 1) {\n t3--;\n }\n\n if (6 * t3 < 1) {\n val = t1 + (t2 - t1) * 6 * t3;\n } else if (2 * t3 < 1) {\n val = t2;\n } else if (3 * t3 < 2) {\n val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n } else {\n val = t1;\n }\n\n rgb[i] = val * 255;\n }\n\n return rgb;\n };\n\n convert.hsl.hsv = function (hsl) {\n var h = hsl[0];\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var smin = s;\n var lmin = Math.max(l, 0.01);\n var sv;\n var v;\n l *= 2;\n s *= l <= 1 ? l : 2 - l;\n smin *= lmin <= 1 ? lmin : 2 - lmin;\n v = (l + s) / 2;\n sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);\n return [h, sv * 100, v * 100];\n };\n\n convert.hsv.rgb = function (hsv) {\n var h = hsv[0] / 60;\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var hi = Math.floor(h) % 6;\n var f = h - Math.floor(h);\n var p = 255 * v * (1 - s);\n var q = 255 * v * (1 - s * f);\n var t = 255 * v * (1 - s * (1 - f));\n v *= 255;\n\n switch (hi) {\n case 0:\n return [v, t, p];\n\n case 1:\n return [q, v, p];\n\n case 2:\n return [p, v, t];\n\n case 3:\n return [p, q, v];\n\n case 4:\n return [t, p, v];\n\n case 5:\n return [v, p, q];\n }\n };\n\n convert.hsv.hsl = function (hsv) {\n var h = hsv[0];\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var vmin = Math.max(v, 0.01);\n var lmin;\n var sl;\n var l;\n l = (2 - s) * v;\n lmin = (2 - s) * vmin;\n sl = s * vmin;\n sl /= lmin <= 1 ? lmin : 2 - lmin;\n sl = sl || 0;\n l /= 2;\n return [h, sl * 100, l * 100];\n }; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb\n\n\n convert.hwb.rgb = function (hwb) {\n var h = hwb[0] / 360;\n var wh = hwb[1] / 100;\n var bl = hwb[2] / 100;\n var ratio = wh + bl;\n var i;\n var v;\n var f;\n var n; // wh + bl cant be > 1\n\n if (ratio > 1) {\n wh /= ratio;\n bl /= ratio;\n }\n\n i = Math.floor(6 * h);\n v = 1 - bl;\n f = 6 * h - i;\n\n if ((i & 0x01) !== 0) {\n f = 1 - f;\n }\n\n n = wh + f * (v - wh); // linear interpolation\n\n var r;\n var g;\n var b;\n\n switch (i) {\n default:\n case 6:\n case 0:\n r = v;\n g = n;\n b = wh;\n break;\n\n case 1:\n r = n;\n g = v;\n b = wh;\n break;\n\n case 2:\n r = wh;\n g = v;\n b = n;\n break;\n\n case 3:\n r = wh;\n g = n;\n b = v;\n break;\n\n case 4:\n r = n;\n g = wh;\n b = v;\n break;\n\n case 5:\n r = v;\n g = wh;\n b = n;\n break;\n }\n\n return [r * 255, g * 255, b * 255];\n };\n\n convert.cmyk.rgb = function (cmyk) {\n var c = cmyk[0] / 100;\n var m = cmyk[1] / 100;\n var y = cmyk[2] / 100;\n var k = cmyk[3] / 100;\n var r;\n var g;\n var b;\n r = 1 - Math.min(1, c * (1 - k) + k);\n g = 1 - Math.min(1, m * (1 - k) + k);\n b = 1 - Math.min(1, y * (1 - k) + k);\n return [r * 255, g * 255, b * 255];\n };\n\n convert.xyz.rgb = function (xyz) {\n var x = xyz[0] / 100;\n var y = xyz[1] / 100;\n var z = xyz[2] / 100;\n var r;\n var g;\n var b;\n r = x * 3.2406 + y * -1.5372 + z * -0.4986;\n g = x * -0.9689 + y * 1.8758 + z * 0.0415;\n b = x * 0.0557 + y * -0.2040 + z * 1.0570; // assume sRGB\n\n r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92;\n g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92;\n b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92;\n r = Math.min(Math.max(0, r), 1);\n g = Math.min(Math.max(0, g), 1);\n b = Math.min(Math.max(0, b), 1);\n return [r * 255, g * 255, b * 255];\n };\n\n convert.xyz.lab = function (xyz) {\n var x = xyz[0];\n var y = xyz[1];\n var z = xyz[2];\n var l;\n var a;\n var b;\n x /= 95.047;\n y /= 100;\n z /= 108.883;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n l = 116 * y - 16;\n a = 500 * (x - y);\n b = 200 * (y - z);\n return [l, a, b];\n };\n\n convert.lab.xyz = function (lab) {\n var l = lab[0];\n var a = lab[1];\n var b = lab[2];\n var x;\n var y;\n var z;\n y = (l + 16) / 116;\n x = a / 500 + y;\n z = y - b / 200;\n var y2 = Math.pow(y, 3);\n var x2 = Math.pow(x, 3);\n var z2 = Math.pow(z, 3);\n y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n x *= 95.047;\n y *= 100;\n z *= 108.883;\n return [x, y, z];\n };\n\n convert.lab.lch = function (lab) {\n var l = lab[0];\n var a = lab[1];\n var b = lab[2];\n var hr;\n var h;\n var c;\n hr = Math.atan2(b, a);\n h = hr * 360 / 2 / Math.PI;\n\n if (h < 0) {\n h += 360;\n }\n\n c = Math.sqrt(a * a + b * b);\n return [l, c, h];\n };\n\n convert.lch.lab = function (lch) {\n var l = lch[0];\n var c = lch[1];\n var h = lch[2];\n var a;\n var b;\n var hr;\n hr = h / 360 * 2 * Math.PI;\n a = c * Math.cos(hr);\n b = c * Math.sin(hr);\n return [l, a, b];\n };\n\n convert.rgb.ansi16 = function (args) {\n var r = args[0];\n var g = args[1];\n var b = args[2];\n var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n value = Math.round(value / 50);\n\n if (value === 0) {\n return 30;\n }\n\n var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));\n\n if (value === 2) {\n ansi += 60;\n }\n\n return ansi;\n };\n\n convert.hsv.ansi16 = function (args) {\n // optimization here; we already know the value and don't need to get\n // it converted for us.\n return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n };\n\n convert.rgb.ansi256 = function (args) {\n var r = args[0];\n var g = args[1];\n var b = args[2]; // we use the extended greyscale palette here, with the exception of\n // black and white. normal palette only has 4 greyscale shades.\n\n if (r === g && g === b) {\n if (r < 8) {\n return 16;\n }\n\n if (r > 248) {\n return 231;\n }\n\n return Math.round((r - 8) / 247 * 24) + 232;\n }\n\n var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);\n return ansi;\n };\n\n convert.ansi16.rgb = function (args) {\n var color = args % 10; // handle greyscale\n\n if (color === 0 || color === 7) {\n if (args > 50) {\n color += 3.5;\n }\n\n color = color / 10.5 * 255;\n return [color, color, color];\n }\n\n var mult = (~~(args > 50) + 1) * 0.5;\n var r = (color & 1) * mult * 255;\n var g = (color >> 1 & 1) * mult * 255;\n var b = (color >> 2 & 1) * mult * 255;\n return [r, g, b];\n };\n\n convert.ansi256.rgb = function (args) {\n // handle greyscale\n if (args >= 232) {\n var c = (args - 232) * 10 + 8;\n return [c, c, c];\n }\n\n args -= 16;\n var rem;\n var r = Math.floor(args / 36) / 5 * 255;\n var g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n var b = rem % 6 / 5 * 255;\n return [r, g, b];\n };\n\n convert.rgb.hex = function (args) {\n var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);\n var string = integer.toString(16).toUpperCase();\n return '000000'.substring(string.length) + string;\n };\n\n convert.hex.rgb = function (args) {\n var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\n if (!match) {\n return [0, 0, 0];\n }\n\n var colorString = match[0];\n\n if (match[0].length === 3) {\n colorString = colorString.split('').map(function (char) {\n return char + char;\n }).join('');\n }\n\n var integer = parseInt(colorString, 16);\n var r = integer >> 16 & 0xFF;\n var g = integer >> 8 & 0xFF;\n var b = integer & 0xFF;\n return [r, g, b];\n };\n\n convert.rgb.hcg = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var max = Math.max(Math.max(r, g), b);\n var min = Math.min(Math.min(r, g), b);\n var chroma = max - min;\n var grayscale;\n var hue;\n\n if (chroma < 1) {\n grayscale = min / (1 - chroma);\n } else {\n grayscale = 0;\n }\n\n if (chroma <= 0) {\n hue = 0;\n } else if (max === r) {\n hue = (g - b) / chroma % 6;\n } else if (max === g) {\n hue = 2 + (b - r) / chroma;\n } else {\n hue = 4 + (r - g) / chroma + 4;\n }\n\n hue /= 6;\n hue %= 1;\n return [hue * 360, chroma * 100, grayscale * 100];\n };\n\n convert.hsl.hcg = function (hsl) {\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var c = 1;\n var f = 0;\n\n if (l < 0.5) {\n c = 2.0 * s * l;\n } else {\n c = 2.0 * s * (1.0 - l);\n }\n\n if (c < 1.0) {\n f = (l - 0.5 * c) / (1.0 - c);\n }\n\n return [hsl[0], c * 100, f * 100];\n };\n\n convert.hsv.hcg = function (hsv) {\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var c = s * v;\n var f = 0;\n\n if (c < 1.0) {\n f = (v - c) / (1 - c);\n }\n\n return [hsv[0], c * 100, f * 100];\n };\n\n convert.hcg.rgb = function (hcg) {\n var h = hcg[0] / 360;\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n\n if (c === 0.0) {\n return [g * 255, g * 255, g * 255];\n }\n\n var pure = [0, 0, 0];\n var hi = h % 1 * 6;\n var v = hi % 1;\n var w = 1 - v;\n var mg = 0;\n\n switch (Math.floor(hi)) {\n case 0:\n pure[0] = 1;\n pure[1] = v;\n pure[2] = 0;\n break;\n\n case 1:\n pure[0] = w;\n pure[1] = 1;\n pure[2] = 0;\n break;\n\n case 2:\n pure[0] = 0;\n pure[1] = 1;\n pure[2] = v;\n break;\n\n case 3:\n pure[0] = 0;\n pure[1] = w;\n pure[2] = 1;\n break;\n\n case 4:\n pure[0] = v;\n pure[1] = 0;\n pure[2] = 1;\n break;\n\n default:\n pure[0] = 1;\n pure[1] = 0;\n pure[2] = w;\n }\n\n mg = (1.0 - c) * g;\n return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];\n };\n\n convert.hcg.hsv = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var v = c + g * (1.0 - c);\n var f = 0;\n\n if (v > 0.0) {\n f = c / v;\n }\n\n return [hcg[0], f * 100, v * 100];\n };\n\n convert.hcg.hsl = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var l = g * (1.0 - c) + 0.5 * c;\n var s = 0;\n\n if (l > 0.0 && l < 0.5) {\n s = c / (2 * l);\n } else if (l >= 0.5 && l < 1.0) {\n s = c / (2 * (1 - l));\n }\n\n return [hcg[0], s * 100, l * 100];\n };\n\n convert.hcg.hwb = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var v = c + g * (1.0 - c);\n return [hcg[0], (v - c) * 100, (1 - v) * 100];\n };\n\n convert.hwb.hcg = function (hwb) {\n var w = hwb[1] / 100;\n var b = hwb[2] / 100;\n var v = 1 - b;\n var c = v - w;\n var g = 0;\n\n if (c < 1) {\n g = (v - c) / (1 - c);\n }\n\n return [hwb[0], c * 100, g * 100];\n };\n\n convert.apple.rgb = function (apple) {\n return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];\n };\n\n convert.rgb.apple = function (rgb) {\n return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];\n };\n\n convert.gray.rgb = function (args) {\n return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n };\n\n convert.gray.hsl = convert.gray.hsv = function (args) {\n return [0, 0, args[0]];\n };\n\n convert.gray.hwb = function (gray) {\n return [0, 100, gray[0]];\n };\n\n convert.gray.cmyk = function (gray) {\n return [0, 0, 0, gray[0]];\n };\n\n convert.gray.lab = function (gray) {\n return [gray[0], 0, 0];\n };\n\n convert.gray.hex = function (gray) {\n var val = Math.round(gray[0] / 100 * 255) & 0xFF;\n var integer = (val << 16) + (val << 8) + val;\n var string = integer.toString(16).toUpperCase();\n return '000000'.substring(string.length) + string;\n };\n\n convert.rgb.gray = function (rgb) {\n var val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n return [val / 255 * 100];\n };\n});\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n var graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\n var models = Object.keys(conversions);\n\n for (var len = models.length, i = 0; i < len; i++) {\n graph[models[i]] = {\n // http://jsperf.com/1-vs-infinity\n // micro-opt, but this is simple.\n distance: -1,\n parent: null\n };\n }\n\n return graph;\n} // https://en.wikipedia.org/wiki/Breadth-first_search\n\n\nfunction deriveBFS(fromModel) {\n var graph = buildGraph();\n var queue = [fromModel]; // unshift -> queue -> pop\n\n graph[fromModel].distance = 0;\n\n while (queue.length) {\n var current = queue.pop();\n var adjacents = Object.keys(conversions[current]);\n\n for (var len = adjacents.length, i = 0; i < len; i++) {\n var adjacent = adjacents[i];\n var node = graph[adjacent];\n\n if (node.distance === -1) {\n node.distance = graph[current].distance + 1;\n node.parent = current;\n queue.unshift(adjacent);\n }\n }\n }\n\n return graph;\n}\n\nfunction link(from, to) {\n return function (args) {\n return to(from(args));\n };\n}\n\nfunction wrapConversion(toModel, graph) {\n var path = [graph[toModel].parent, toModel];\n var fn = conversions[graph[toModel].parent][toModel];\n var cur = graph[toModel].parent;\n\n while (graph[cur].parent) {\n path.unshift(graph[cur].parent);\n fn = link(conversions[graph[cur].parent][cur], fn);\n cur = graph[cur].parent;\n }\n\n fn.conversion = path;\n return fn;\n}\n\nvar route = function (fromModel) {\n var graph = deriveBFS(fromModel);\n var conversion = {};\n var models = Object.keys(graph);\n\n for (var len = models.length, i = 0; i < len; i++) {\n var toModel = models[i];\n var node = graph[toModel];\n\n if (node.parent === null) {\n // no possible conversion, or this node is the source model.\n continue;\n }\n\n conversion[toModel] = wrapConversion(toModel, graph);\n }\n\n return conversion;\n};\n\nvar convert = {};\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n var wrappedFn = function (args) {\n if (args === undefined || args === null) {\n return args;\n }\n\n if (arguments.length > 1) {\n args = Array.prototype.slice.call(arguments);\n }\n\n return fn(args);\n }; // preserve .conversion property if there is one\n\n\n if ('conversion' in fn) {\n wrappedFn.conversion = fn.conversion;\n }\n\n return wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n var wrappedFn = function (args) {\n if (args === undefined || args === null) {\n return args;\n }\n\n if (arguments.length > 1) {\n args = Array.prototype.slice.call(arguments);\n }\n\n var result = fn(args); // we're assuming the result is an array here.\n // see notice in conversions.js; don't use box types\n // in conversion functions.\n\n if (typeof result === 'object') {\n for (var len = result.length, i = 0; i < len; i++) {\n result[i] = Math.round(result[i]);\n }\n }\n\n return result;\n }; // preserve .conversion property if there is one\n\n\n if ('conversion' in fn) {\n wrappedFn.conversion = fn.conversion;\n }\n\n return wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n convert[fromModel] = {};\n Object.defineProperty(convert[fromModel], 'channels', {\n value: conversions[fromModel].channels\n });\n Object.defineProperty(convert[fromModel], 'labels', {\n value: conversions[fromModel].labels\n });\n var routes = route(fromModel);\n var routeModels = Object.keys(routes);\n routeModels.forEach(function (toModel) {\n var fn = routes[toModel];\n convert[fromModel][toModel] = wrapRounded(fn);\n convert[fromModel][toModel].raw = wrapRaw(fn);\n });\n});\nvar colorConvert = convert;\n\nvar ansiStyles = createCommonjsModule(function (module) {\n\n const wrapAnsi16 = (fn, offset) => function () {\n const code = fn.apply(colorConvert, arguments);\n return `\\u001B[${code + offset}m`;\n };\n\n const wrapAnsi256 = (fn, offset) => function () {\n const code = fn.apply(colorConvert, arguments);\n return `\\u001B[${38 + offset};5;${code}m`;\n };\n\n const wrapAnsi16m = (fn, offset) => function () {\n const rgb = fn.apply(colorConvert, arguments);\n return `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\n };\n\n function assembleStyles() {\n const codes = new Map();\n const styles = {\n modifier: {\n reset: [0, 0],\n // 21 isn't widely supported and 22 does the same thing\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29]\n },\n color: {\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n // Bright color\n redBright: [91, 39],\n greenBright: [92, 39],\n yellowBright: [93, 39],\n blueBright: [94, 39],\n magentaBright: [95, 39],\n cyanBright: [96, 39],\n whiteBright: [97, 39]\n },\n bgColor: {\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n // Bright color\n bgBlackBright: [100, 49],\n bgRedBright: [101, 49],\n bgGreenBright: [102, 49],\n bgYellowBright: [103, 49],\n bgBlueBright: [104, 49],\n bgMagentaBright: [105, 49],\n bgCyanBright: [106, 49],\n bgWhiteBright: [107, 49]\n }\n }; // Fix humans\n\n styles.color.grey = styles.color.gray;\n\n for (const groupName of Object.keys(styles)) {\n const group = styles[groupName];\n\n for (const styleName of Object.keys(group)) {\n const style = group[styleName];\n styles[styleName] = {\n open: `\\u001B[${style[0]}m`,\n close: `\\u001B[${style[1]}m`\n };\n group[styleName] = styles[styleName];\n codes.set(style[0], style[1]);\n }\n\n Object.defineProperty(styles, groupName, {\n value: group,\n enumerable: false\n });\n Object.defineProperty(styles, 'codes', {\n value: codes,\n enumerable: false\n });\n }\n\n const ansi2ansi = n => n;\n\n const rgb2rgb = (r, g, b) => [r, g, b];\n\n styles.color.close = '\\u001B[39m';\n styles.bgColor.close = '\\u001B[49m';\n styles.color.ansi = {\n ansi: wrapAnsi16(ansi2ansi, 0)\n };\n styles.color.ansi256 = {\n ansi256: wrapAnsi256(ansi2ansi, 0)\n };\n styles.color.ansi16m = {\n rgb: wrapAnsi16m(rgb2rgb, 0)\n };\n styles.bgColor.ansi = {\n ansi: wrapAnsi16(ansi2ansi, 10)\n };\n styles.bgColor.ansi256 = {\n ansi256: wrapAnsi256(ansi2ansi, 10)\n };\n styles.bgColor.ansi16m = {\n rgb: wrapAnsi16m(rgb2rgb, 10)\n };\n\n for (let key of Object.keys(colorConvert)) {\n if (typeof colorConvert[key] !== 'object') {\n continue;\n }\n\n const suite = colorConvert[key];\n\n if (key === 'ansi16') {\n key = 'ansi';\n }\n\n if ('ansi16' in suite) {\n styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0);\n styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10);\n }\n\n if ('ansi256' in suite) {\n styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0);\n styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10);\n }\n\n if ('rgb' in suite) {\n styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0);\n styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10);\n }\n }\n\n return styles;\n } // Make the export immutable\n\n\n Object.defineProperty(module, 'exports', {\n enumerable: true,\n get: assembleStyles\n });\n});\n\nvar hasFlag = (flag, argv) => {\n argv = argv || process.argv;\n const prefix = flag.startsWith('-') ? '' : flag.length === 1 ? '-' : '--';\n const pos = argv.indexOf(prefix + flag);\n const terminatorPos = argv.indexOf('--');\n return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n\nconst env = process.env;\nlet forceColor;\n\nif (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false')) {\n forceColor = false;\n} else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true') || hasFlag('color=always')) {\n forceColor = true;\n}\n\nif ('FORCE_COLOR' in env) {\n forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;\n}\n\nfunction translateLevel(level) {\n if (level === 0) {\n return false;\n }\n\n return {\n level,\n hasBasic: true,\n has256: level >= 2,\n has16m: level >= 3\n };\n}\n\nfunction supportsColor(stream) {\n if (forceColor === false) {\n return 0;\n }\n\n if (hasFlag('color=16m') || hasFlag('color=full') || hasFlag('color=truecolor')) {\n return 3;\n }\n\n if (hasFlag('color=256')) {\n return 2;\n }\n\n if (stream && !stream.isTTY && forceColor !== true) {\n return 0;\n }\n\n const min = forceColor ? 1 : 0;\n\n if (process.platform === 'win32') {\n // Node.js 7.5.0 is the first version of Node.js to include a patch to\n // libuv that enables 256 color output on Windows. Anything earlier and it\n // won't work. However, here we target Node.js 8 at minimum as it is an LTS\n // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows\n // release that supports 256 colors. Windows 10 build 14931 is the first release\n // that supports 16m/TrueColor.\n const osRelease = os__default['default'].release().split('.');\n\n if (Number(process.versions.node.split('.')[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {\n return Number(osRelease[2]) >= 14931 ? 3 : 2;\n }\n\n return 1;\n }\n\n if ('CI' in env) {\n if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n return 1;\n }\n\n return min;\n }\n\n if ('TEAMCITY_VERSION' in env) {\n return /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n }\n\n if (env.COLORTERM === 'truecolor') {\n return 3;\n }\n\n if ('TERM_PROGRAM' in env) {\n const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n switch (env.TERM_PROGRAM) {\n case 'iTerm.app':\n return version >= 3 ? 3 : 2;\n\n case 'Apple_Terminal':\n return 2;\n // No default\n }\n }\n\n if (/-256(color)?$/i.test(env.TERM)) {\n return 2;\n }\n\n if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n return 1;\n }\n\n if ('COLORTERM' in env) {\n return 1;\n }\n\n if (env.TERM === 'dumb') {\n return min;\n }\n\n return min;\n}\n\nfunction getSupportLevel(stream) {\n const level = supportsColor(stream);\n return translateLevel(level);\n}\n\nvar supportsColor_1 = {\n supportsColor: getSupportLevel,\n stdout: getSupportLevel(process.stdout),\n stderr: getSupportLevel(process.stderr)\n};\n\nconst TEMPLATE_REGEX = /(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi;\nconst STYLE_REGEX = /(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g;\nconst STRING_REGEX = /^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/;\nconst ESCAPE_REGEX = /\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi;\nconst ESCAPES = new Map([['n', '\\n'], ['r', '\\r'], ['t', '\\t'], ['b', '\\b'], ['f', '\\f'], ['v', '\\v'], ['0', '\\0'], ['\\\\', '\\\\'], ['e', '\\u001B'], ['a', '\\u0007']]);\n\nfunction unescape(c) {\n if (c[0] === 'u' && c.length === 5 || c[0] === 'x' && c.length === 3) {\n return String.fromCharCode(parseInt(c.slice(1), 16));\n }\n\n return ESCAPES.get(c) || c;\n}\n\nfunction parseArguments(name, args) {\n const results = [];\n const chunks = args.trim().split(/\\s*,\\s*/g);\n let matches;\n\n for (const chunk of chunks) {\n if (!isNaN(chunk)) {\n results.push(Number(chunk));\n } else if (matches = chunk.match(STRING_REGEX)) {\n results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr));\n } else {\n throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);\n }\n }\n\n return results;\n}\n\nfunction parseStyle(style) {\n STYLE_REGEX.lastIndex = 0;\n const results = [];\n let matches;\n\n while ((matches = STYLE_REGEX.exec(style)) !== null) {\n const name = matches[1];\n\n if (matches[2]) {\n const args = parseArguments(name, matches[2]);\n results.push([name].concat(args));\n } else {\n results.push([name]);\n }\n }\n\n return results;\n}\n\nfunction buildStyle(chalk, styles) {\n const enabled = {};\n\n for (const layer of styles) {\n for (const style of layer.styles) {\n enabled[style[0]] = layer.inverse ? null : style.slice(1);\n }\n }\n\n let current = chalk;\n\n for (const styleName of Object.keys(enabled)) {\n if (Array.isArray(enabled[styleName])) {\n if (!(styleName in current)) {\n throw new Error(`Unknown Chalk style: ${styleName}`);\n }\n\n if (enabled[styleName].length > 0) {\n current = current[styleName].apply(current, enabled[styleName]);\n } else {\n current = current[styleName];\n }\n }\n }\n\n return current;\n}\n\nvar templates = (chalk, tmp) => {\n const styles = [];\n const chunks = [];\n let chunk = []; // eslint-disable-next-line max-params\n\n tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => {\n if (escapeChar) {\n chunk.push(unescape(escapeChar));\n } else if (style) {\n const str = chunk.join('');\n chunk = [];\n chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str));\n styles.push({\n inverse,\n styles: parseStyle(style)\n });\n } else if (close) {\n if (styles.length === 0) {\n throw new Error('Found extraneous } in Chalk template literal');\n }\n\n chunks.push(buildStyle(chalk, styles)(chunk.join('')));\n chunk = [];\n styles.pop();\n } else {\n chunk.push(chr);\n }\n });\n chunks.push(chunk.join(''));\n\n if (styles.length > 0) {\n const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\\`}\\`)`;\n throw new Error(errMsg);\n }\n\n return chunks.join('');\n};\n\nvar chalk = createCommonjsModule(function (module) {\n\n const stdoutColor = supportsColor_1.stdout;\n const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); // `supportsColor.level` → `ansiStyles.color[name]` mapping\n\n const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; // `color-convert` models to exclude from the Chalk API due to conflicts and such\n\n const skipModels = new Set(['gray']);\n const styles = Object.create(null);\n\n function applyOptions(obj, options) {\n options = options || {}; // Detect level if not set manually\n\n const scLevel = stdoutColor ? stdoutColor.level : 0;\n obj.level = options.level === undefined ? scLevel : options.level;\n obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0;\n }\n\n function Chalk(options) {\n // We check for this.template here since calling `chalk.constructor()`\n // by itself will have a `this` of a previously constructed chalk object\n if (!this || !(this instanceof Chalk) || this.template) {\n const chalk = {};\n applyOptions(chalk, options);\n\n chalk.template = function () {\n const args = [].slice.call(arguments);\n return chalkTag.apply(null, [chalk.template].concat(args));\n };\n\n Object.setPrototypeOf(chalk, Chalk.prototype);\n Object.setPrototypeOf(chalk.template, chalk);\n chalk.template.constructor = Chalk;\n return chalk.template;\n }\n\n applyOptions(this, options);\n } // Use bright blue on Windows as the normal blue color is illegible\n\n\n if (isSimpleWindowsTerm) {\n ansiStyles.blue.open = '\\u001B[94m';\n }\n\n for (const key of Object.keys(ansiStyles)) {\n ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');\n styles[key] = {\n get() {\n const codes = ansiStyles[key];\n return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);\n }\n\n };\n }\n\n styles.visible = {\n get() {\n return build.call(this, this._styles || [], true, 'visible');\n }\n\n };\n ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g');\n\n for (const model of Object.keys(ansiStyles.color.ansi)) {\n if (skipModels.has(model)) {\n continue;\n }\n\n styles[model] = {\n get() {\n const level = this.level;\n return function () {\n const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments);\n const codes = {\n open,\n close: ansiStyles.color.close,\n closeRe: ansiStyles.color.closeRe\n };\n return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);\n };\n }\n\n };\n }\n\n ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g');\n\n for (const model of Object.keys(ansiStyles.bgColor.ansi)) {\n if (skipModels.has(model)) {\n continue;\n }\n\n const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n styles[bgModel] = {\n get() {\n const level = this.level;\n return function () {\n const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments);\n const codes = {\n open,\n close: ansiStyles.bgColor.close,\n closeRe: ansiStyles.bgColor.closeRe\n };\n return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);\n };\n }\n\n };\n }\n\n const proto = Object.defineProperties(() => {}, styles);\n\n function build(_styles, _empty, key) {\n const builder = function () {\n return applyStyle.apply(builder, arguments);\n };\n\n builder._styles = _styles;\n builder._empty = _empty;\n const self = this;\n Object.defineProperty(builder, 'level', {\n enumerable: true,\n\n get() {\n return self.level;\n },\n\n set(level) {\n self.level = level;\n }\n\n });\n Object.defineProperty(builder, 'enabled', {\n enumerable: true,\n\n get() {\n return self.enabled;\n },\n\n set(enabled) {\n self.enabled = enabled;\n }\n\n }); // See below for fix regarding invisible grey/dim combination on Windows\n\n builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; // `__proto__` is used because we must return a function, but there is\n // no way to create a function with a different prototype\n\n builder.__proto__ = proto; // eslint-disable-line no-proto\n\n return builder;\n }\n\n function applyStyle() {\n // Support varags, but simply cast to string in case there's only one arg\n const args = arguments;\n const argsLen = args.length;\n let str = String(arguments[0]);\n\n if (argsLen === 0) {\n return '';\n }\n\n if (argsLen > 1) {\n // Don't slice `arguments`, it prevents V8 optimizations\n for (let a = 1; a < argsLen; a++) {\n str += ' ' + args[a];\n }\n }\n\n if (!this.enabled || this.level <= 0 || !str) {\n return this._empty ? '' : str;\n } // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe,\n // see https://github.com/chalk/chalk/issues/58\n // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.\n\n\n const originalDim = ansiStyles.dim.open;\n\n if (isSimpleWindowsTerm && this.hasGrey) {\n ansiStyles.dim.open = '';\n }\n\n for (const code of this._styles.slice().reverse()) {\n // Replace any instances already present with a re-opening code\n // otherwise only the part of the string until said closing code\n // will be colored, and the rest will simply be 'plain'.\n str = code.open + str.replace(code.closeRe, code.open) + code.close; // Close the styling before a linebreak and reopen\n // after next line to fix a bleed issue on macOS\n // https://github.com/chalk/chalk/pull/92\n\n str = str.replace(/\\r?\\n/g, `${code.close}$&${code.open}`);\n } // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue\n\n\n ansiStyles.dim.open = originalDim;\n return str;\n }\n\n function chalkTag(chalk, strings) {\n if (!Array.isArray(strings)) {\n // If chalk() was called by itself or with a string,\n // return the string itself as a string.\n return [].slice.call(arguments, 1).join(' ');\n }\n\n const args = [].slice.call(arguments, 2);\n const parts = [strings.raw[0]];\n\n for (let i = 1; i < strings.length; i++) {\n parts.push(String(args[i - 1]).replace(/[{}\\\\]/g, '\\\\$&'));\n parts.push(String(strings.raw[i]));\n }\n\n return templates(chalk, parts.join(''));\n }\n\n Object.defineProperties(Chalk.prototype, styles);\n module.exports = Chalk(); // eslint-disable-line new-cap\n\n module.exports.supportsColor = stdoutColor;\n module.exports.default = module.exports; // For TypeScript\n});\n\nvar lib$1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.shouldHighlight = shouldHighlight;\n exports.getChalk = getChalk;\n exports.default = highlight;\n\n var _jsTokens = _interopRequireWildcard(jsTokens);\n\n var _chalk = _interopRequireDefault(chalk);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function () {\n return cache;\n };\n\n return cache;\n }\n\n function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj.default = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n }\n\n function getDefs(chalk) {\n return {\n keyword: chalk.cyan,\n capitalized: chalk.yellow,\n jsx_tag: chalk.yellow,\n punctuator: chalk.yellow,\n number: chalk.magenta,\n string: chalk.green,\n regex: chalk.magenta,\n comment: chalk.grey,\n invalid: chalk.white.bgRed.bold\n };\n }\n\n const NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n const JSX_TAG = /^[a-z][\\w-]*$/i;\n const BRACKET = /^[()[\\]{}]$/;\n\n function getTokenType(match) {\n const [offset, text] = match.slice(-2);\n const token = (0, _jsTokens.matchToToken)(match);\n\n if (token.type === \"name\") {\n if ((0, lib.isKeyword)(token.value) || (0, lib.isReservedWord)(token.value)) {\n return \"keyword\";\n }\n\n if (JSX_TAG.test(token.value) && (text[offset - 1] === \"<\" || text.substr(offset - 2, 2) == \" colorize(str)).join(\"\\n\");\n } else {\n return args[0];\n }\n });\n }\n\n function shouldHighlight(options) {\n return _chalk.default.supportsColor || options.forceColor;\n }\n\n function getChalk(options) {\n let chalk = _chalk.default;\n\n if (options.forceColor) {\n chalk = new _chalk.default.constructor({\n enabled: true,\n level: 1\n });\n }\n\n return chalk;\n }\n\n function highlight(code, options = {}) {\n if (shouldHighlight(options)) {\n const chalk = getChalk(options);\n const defs = getDefs(chalk);\n return highlightTokens(defs, code);\n } else {\n return code;\n }\n }\n});\n\nvar lib$2 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.codeFrameColumns = codeFrameColumns;\n exports.default = _default;\n\n var _highlight = _interopRequireWildcard(lib$1);\n\n function _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function () {\n return cache;\n };\n\n return cache;\n }\n\n function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj.default = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n }\n\n let deprecationWarningShown = false;\n\n function getDefs(chalk) {\n return {\n gutter: chalk.grey,\n marker: chalk.red.bold,\n message: chalk.red.bold\n };\n }\n\n const NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n\n function getMarkerLines(loc, source, opts) {\n const startLoc = Object.assign({\n column: 0,\n line: -1\n }, loc.start);\n const endLoc = Object.assign({}, startLoc, loc.end);\n const {\n linesAbove = 2,\n linesBelow = 3\n } = opts || {};\n const startLine = startLoc.line;\n const startColumn = startLoc.column;\n const endLine = endLoc.line;\n const endColumn = endLoc.column;\n let start = Math.max(startLine - (linesAbove + 1), 0);\n let end = Math.min(source.length, endLine + linesBelow);\n\n if (startLine === -1) {\n start = 0;\n }\n\n if (endLine === -1) {\n end = source.length;\n }\n\n const lineDiff = endLine - startLine;\n const markerLines = {};\n\n if (lineDiff) {\n for (let i = 0; i <= lineDiff; i++) {\n const lineNumber = i + startLine;\n\n if (!startColumn) {\n markerLines[lineNumber] = true;\n } else if (i === 0) {\n const sourceLength = source[lineNumber - 1].length;\n markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];\n } else if (i === lineDiff) {\n markerLines[lineNumber] = [0, endColumn];\n } else {\n const sourceLength = source[lineNumber - i].length;\n markerLines[lineNumber] = [0, sourceLength];\n }\n }\n } else {\n if (startColumn === endColumn) {\n if (startColumn) {\n markerLines[startLine] = [startColumn, 0];\n } else {\n markerLines[startLine] = true;\n }\n } else {\n markerLines[startLine] = [startColumn, endColumn - startColumn];\n }\n }\n\n return {\n start,\n end,\n markerLines\n };\n }\n\n function codeFrameColumns(rawLines, loc, opts = {}) {\n const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts);\n const chalk = (0, _highlight.getChalk)(opts);\n const defs = getDefs(chalk);\n\n const maybeHighlight = (chalkFn, string) => {\n return highlighted ? chalkFn(string) : string;\n };\n\n const lines = rawLines.split(NEWLINE);\n const {\n start,\n end,\n markerLines\n } = getMarkerLines(loc, lines, opts);\n const hasColumns = loc.start && typeof loc.start.column === \"number\";\n const numberMaxWidth = String(end).length;\n const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines;\n let frame = highlightedLines.split(NEWLINE).slice(start, end).map((line, index) => {\n const number = start + 1 + index;\n const paddedNumber = ` ${number}`.slice(-numberMaxWidth);\n const gutter = ` ${paddedNumber} | `;\n const hasMarker = markerLines[number];\n const lastMarkerLine = !markerLines[number + 1];\n\n if (hasMarker) {\n let markerLine = \"\";\n\n if (Array.isArray(hasMarker)) {\n const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\\t]/g, \" \");\n const numberOfMarkers = hasMarker[1] || 1;\n markerLine = [\"\\n \", maybeHighlight(defs.gutter, gutter.replace(/\\d/g, \" \")), markerSpacing, maybeHighlight(defs.marker, \"^\").repeat(numberOfMarkers)].join(\"\");\n\n if (lastMarkerLine && opts.message) {\n markerLine += \" \" + maybeHighlight(defs.message, opts.message);\n }\n }\n\n return [maybeHighlight(defs.marker, \">\"), maybeHighlight(defs.gutter, gutter), line, markerLine].join(\"\");\n } else {\n return ` ${maybeHighlight(defs.gutter, gutter)}${line}`;\n }\n }).join(\"\\n\");\n\n if (opts.message && !hasColumns) {\n frame = `${\" \".repeat(numberMaxWidth + 1)}${opts.message}\\n${frame}`;\n }\n\n if (highlighted) {\n return chalk.reset(frame);\n } else {\n return frame;\n }\n }\n\n function _default(rawLines, lineNumber, colNumber, opts = {}) {\n if (!deprecationWarningShown) {\n deprecationWarningShown = true;\n const message = \"Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.\";\n\n if (process.emitWarning) {\n process.emitWarning(message, \"DeprecationWarning\");\n } else {\n const deprecationError = new Error(message);\n deprecationError.name = \"DeprecationWarning\";\n console.warn(new Error(message));\n }\n }\n\n colNumber = Math.max(colNumber, 0);\n const location = {\n start: {\n column: colNumber,\n line: lineNumber\n }\n };\n return codeFrameColumns(rawLines, location, opts);\n }\n});\n\nconst {\n default: LinesAndColumns\n} = dist;\nconst {\n codeFrameColumns\n} = lib$2;\nconst JSONError = errorEx_1('JSONError', {\n fileName: errorEx_1.append('in %s'),\n codeFrame: errorEx_1.append('\\n\\n%s\\n')\n});\n\nvar parseJson$1 = (string, reviver, filename) => {\n if (typeof reviver === 'string') {\n filename = reviver;\n reviver = null;\n }\n\n try {\n try {\n return JSON.parse(string, reviver);\n } catch (error) {\n jsonParseBetterErrors(string, reviver);\n throw error;\n }\n } catch (error) {\n error.message = error.message.replace(/\\n/g, '');\n const indexMatch = error.message.match(/in JSON at position (\\d+) while parsing near/);\n const jsonError = new JSONError(error);\n\n if (filename) {\n jsonError.fileName = filename;\n }\n\n if (indexMatch && indexMatch.length > 0) {\n const lines = new LinesAndColumns(string);\n const index = Number(indexMatch[1]);\n const location = lines.locationForIndex(index);\n const codeFrame = codeFrameColumns(string, {\n start: {\n line: location.line + 1,\n column: location.column + 1\n }\n }, {\n highlightCode: true\n });\n jsonError.codeFrame = codeFrame;\n }\n\n throw jsonError;\n }\n};\n\nconst Char = {\n ANCHOR: '&',\n COMMENT: '#',\n TAG: '!',\n DIRECTIVES_END: '-',\n DOCUMENT_END: '.'\n};\nconst Type = {\n ALIAS: 'ALIAS',\n BLANK_LINE: 'BLANK_LINE',\n BLOCK_FOLDED: 'BLOCK_FOLDED',\n BLOCK_LITERAL: 'BLOCK_LITERAL',\n COMMENT: 'COMMENT',\n DIRECTIVE: 'DIRECTIVE',\n DOCUMENT: 'DOCUMENT',\n FLOW_MAP: 'FLOW_MAP',\n FLOW_SEQ: 'FLOW_SEQ',\n MAP: 'MAP',\n MAP_KEY: 'MAP_KEY',\n MAP_VALUE: 'MAP_VALUE',\n PLAIN: 'PLAIN',\n QUOTE_DOUBLE: 'QUOTE_DOUBLE',\n QUOTE_SINGLE: 'QUOTE_SINGLE',\n SEQ: 'SEQ',\n SEQ_ITEM: 'SEQ_ITEM'\n};\nconst defaultTagPrefix = 'tag:yaml.org,2002:';\nconst defaultTags = {\n MAP: 'tag:yaml.org,2002:map',\n SEQ: 'tag:yaml.org,2002:seq',\n STR: 'tag:yaml.org,2002:str'\n};\n\nfunction findLineStarts(src) {\n const ls = [0];\n let offset = src.indexOf('\\n');\n\n while (offset !== -1) {\n offset += 1;\n ls.push(offset);\n offset = src.indexOf('\\n', offset);\n }\n\n return ls;\n}\n\nfunction getSrcInfo(cst) {\n let lineStarts, src;\n\n if (typeof cst === 'string') {\n lineStarts = findLineStarts(cst);\n src = cst;\n } else {\n if (Array.isArray(cst)) cst = cst[0];\n\n if (cst && cst.context) {\n if (!cst.lineStarts) cst.lineStarts = findLineStarts(cst.context.src);\n lineStarts = cst.lineStarts;\n src = cst.context.src;\n }\n }\n\n return {\n lineStarts,\n src\n };\n}\n/**\n * @typedef {Object} LinePos - One-indexed position in the source\n * @property {number} line\n * @property {number} col\n */\n\n/**\n * Determine the line/col position matching a character offset.\n *\n * Accepts a source string or a CST document as the second parameter. With\n * the latter, starting indices for lines are cached in the document as\n * `lineStarts: number[]`.\n *\n * Returns a one-indexed `{ line, col }` location if found, or\n * `undefined` otherwise.\n *\n * @param {number} offset\n * @param {string|Document|Document[]} cst\n * @returns {?LinePos}\n */\n\n\nfunction getLinePos(offset, cst) {\n if (typeof offset !== 'number' || offset < 0) return null;\n const {\n lineStarts,\n src\n } = getSrcInfo(cst);\n if (!lineStarts || !src || offset > src.length) return null;\n\n for (let i = 0; i < lineStarts.length; ++i) {\n const start = lineStarts[i];\n\n if (offset < start) {\n return {\n line: i,\n col: offset - lineStarts[i - 1] + 1\n };\n }\n\n if (offset === start) return {\n line: i + 1,\n col: 1\n };\n }\n\n const line = lineStarts.length;\n return {\n line,\n col: offset - lineStarts[line - 1] + 1\n };\n}\n/**\n * Get a specified line from the source.\n *\n * Accepts a source string or a CST document as the second parameter. With\n * the latter, starting indices for lines are cached in the document as\n * `lineStarts: number[]`.\n *\n * Returns the line as a string if found, or `null` otherwise.\n *\n * @param {number} line One-indexed line number\n * @param {string|Document|Document[]} cst\n * @returns {?string}\n */\n\n\nfunction getLine(line, cst) {\n const {\n lineStarts,\n src\n } = getSrcInfo(cst);\n if (!lineStarts || !(line >= 1) || line > lineStarts.length) return null;\n const start = lineStarts[line - 1];\n let end = lineStarts[line]; // undefined for last line; that's ok for slice()\n\n while (end && end > start && src[end - 1] === '\\n') --end;\n\n return src.slice(start, end);\n}\n/**\n * Pretty-print the starting line from the source indicated by the range `pos`\n *\n * Trims output to `maxWidth` chars while keeping the starting column visible,\n * using `…` at either end to indicate dropped characters.\n *\n * Returns a two-line string (or `null`) with `\\n` as separator; the second line\n * will hold appropriately indented `^` marks indicating the column range.\n *\n * @param {Object} pos\n * @param {LinePos} pos.start\n * @param {LinePos} [pos.end]\n * @param {string|Document|Document[]*} cst\n * @param {number} [maxWidth=80]\n * @returns {?string}\n */\n\n\nfunction getPrettyContext({\n start,\n end\n}, cst, maxWidth = 80) {\n let src = getLine(start.line, cst);\n if (!src) return null;\n let {\n col\n } = start;\n\n if (src.length > maxWidth) {\n if (col <= maxWidth - 10) {\n src = src.substr(0, maxWidth - 1) + '…';\n } else {\n const halfWidth = Math.round(maxWidth / 2);\n if (src.length > col + halfWidth) src = src.substr(0, col + halfWidth - 1) + '…';\n col -= src.length - maxWidth;\n src = '…' + src.substr(1 - maxWidth);\n }\n }\n\n let errLen = 1;\n let errEnd = '';\n\n if (end) {\n if (end.line === start.line && col + (end.col - start.col) <= maxWidth + 1) {\n errLen = end.col - start.col;\n } else {\n errLen = Math.min(src.length + 1, maxWidth) - col;\n errEnd = '…';\n }\n }\n\n const offset = col > 1 ? ' '.repeat(col - 1) : '';\n const err = '^'.repeat(errLen);\n return `${src}\\n${offset}${err}${errEnd}`;\n}\n\nclass Range {\n static copy(orig) {\n return new Range(orig.start, orig.end);\n }\n\n constructor(start, end) {\n this.start = start;\n this.end = end || start;\n }\n\n isEmpty() {\n return typeof this.start !== 'number' || !this.end || this.end <= this.start;\n }\n /**\n * Set `origStart` and `origEnd` to point to the original source range for\n * this node, which may differ due to dropped CR characters.\n *\n * @param {number[]} cr - Positions of dropped CR characters\n * @param {number} offset - Starting index of `cr` from the last call\n * @returns {number} - The next offset, matching the one found for `origStart`\n */\n\n\n setOrigRange(cr, offset) {\n const {\n start,\n end\n } = this;\n\n if (cr.length === 0 || end <= cr[0]) {\n this.origStart = start;\n this.origEnd = end;\n return offset;\n }\n\n let i = offset;\n\n while (i < cr.length) {\n if (cr[i] > start) break;else ++i;\n }\n\n this.origStart = start + i;\n const nextOffset = i;\n\n while (i < cr.length) {\n // if end was at \\n, it should now be at \\r\n if (cr[i] >= end) break;else ++i;\n }\n\n this.origEnd = end + i;\n return nextOffset;\n }\n\n}\n/** Root class of all nodes */\n\n\nclass Node {\n static addStringTerminator(src, offset, str) {\n if (str[str.length - 1] === '\\n') return str;\n const next = Node.endOfWhiteSpace(src, offset);\n return next >= src.length || src[next] === '\\n' ? str + '\\n' : str;\n } // ^(---|...)\n\n\n static atDocumentBoundary(src, offset, sep) {\n const ch0 = src[offset];\n if (!ch0) return true;\n const prev = src[offset - 1];\n if (prev && prev !== '\\n') return false;\n\n if (sep) {\n if (ch0 !== sep) return false;\n } else {\n if (ch0 !== Char.DIRECTIVES_END && ch0 !== Char.DOCUMENT_END) return false;\n }\n\n const ch1 = src[offset + 1];\n const ch2 = src[offset + 2];\n if (ch1 !== ch0 || ch2 !== ch0) return false;\n const ch3 = src[offset + 3];\n return !ch3 || ch3 === '\\n' || ch3 === '\\t' || ch3 === ' ';\n }\n\n static endOfIdentifier(src, offset) {\n let ch = src[offset];\n const isVerbatim = ch === '<';\n const notOk = isVerbatim ? ['\\n', '\\t', ' ', '>'] : ['\\n', '\\t', ' ', '[', ']', '{', '}', ','];\n\n while (ch && notOk.indexOf(ch) === -1) ch = src[offset += 1];\n\n if (isVerbatim && ch === '>') offset += 1;\n return offset;\n }\n\n static endOfIndent(src, offset) {\n let ch = src[offset];\n\n while (ch === ' ') ch = src[offset += 1];\n\n return offset;\n }\n\n static endOfLine(src, offset) {\n let ch = src[offset];\n\n while (ch && ch !== '\\n') ch = src[offset += 1];\n\n return offset;\n }\n\n static endOfWhiteSpace(src, offset) {\n let ch = src[offset];\n\n while (ch === '\\t' || ch === ' ') ch = src[offset += 1];\n\n return offset;\n }\n\n static startOfLine(src, offset) {\n let ch = src[offset - 1];\n if (ch === '\\n') return offset;\n\n while (ch && ch !== '\\n') ch = src[offset -= 1];\n\n return offset + 1;\n }\n /**\n * End of indentation, or null if the line's indent level is not more\n * than `indent`\n *\n * @param {string} src\n * @param {number} indent\n * @param {number} lineStart\n * @returns {?number}\n */\n\n\n static endOfBlockIndent(src, indent, lineStart) {\n const inEnd = Node.endOfIndent(src, lineStart);\n\n if (inEnd > lineStart + indent) {\n return inEnd;\n } else {\n const wsEnd = Node.endOfWhiteSpace(src, inEnd);\n const ch = src[wsEnd];\n if (!ch || ch === '\\n') return wsEnd;\n }\n\n return null;\n }\n\n static atBlank(src, offset, endAsBlank) {\n const ch = src[offset];\n return ch === '\\n' || ch === '\\t' || ch === ' ' || endAsBlank && !ch;\n }\n\n static nextNodeIsIndented(ch, indentDiff, indicatorAsIndent) {\n if (!ch || indentDiff < 0) return false;\n if (indentDiff > 0) return true;\n return indicatorAsIndent && ch === '-';\n } // should be at line or string end, or at next non-whitespace char\n\n\n static normalizeOffset(src, offset) {\n const ch = src[offset];\n return !ch ? offset : ch !== '\\n' && src[offset - 1] === '\\n' ? offset - 1 : Node.endOfWhiteSpace(src, offset);\n } // fold single newline into space, multiple newlines to N - 1 newlines\n // presumes src[offset] === '\\n'\n\n\n static foldNewline(src, offset, indent) {\n let inCount = 0;\n let error = false;\n let fold = '';\n let ch = src[offset + 1];\n\n while (ch === ' ' || ch === '\\t' || ch === '\\n') {\n switch (ch) {\n case '\\n':\n inCount = 0;\n offset += 1;\n fold += '\\n';\n break;\n\n case '\\t':\n if (inCount <= indent) error = true;\n offset = Node.endOfWhiteSpace(src, offset + 2) - 1;\n break;\n\n case ' ':\n inCount += 1;\n offset += 1;\n break;\n }\n\n ch = src[offset + 1];\n }\n\n if (!fold) fold = ' ';\n if (ch && inCount <= indent) error = true;\n return {\n fold,\n offset,\n error\n };\n }\n\n constructor(type, props, context) {\n Object.defineProperty(this, 'context', {\n value: context || null,\n writable: true\n });\n this.error = null;\n this.range = null;\n this.valueRange = null;\n this.props = props || [];\n this.type = type;\n this.value = null;\n }\n\n getPropValue(idx, key, skipKey) {\n if (!this.context) return null;\n const {\n src\n } = this.context;\n const prop = this.props[idx];\n return prop && src[prop.start] === key ? src.slice(prop.start + (skipKey ? 1 : 0), prop.end) : null;\n }\n\n get anchor() {\n for (let i = 0; i < this.props.length; ++i) {\n const anchor = this.getPropValue(i, Char.ANCHOR, true);\n if (anchor != null) return anchor;\n }\n\n return null;\n }\n\n get comment() {\n const comments = [];\n\n for (let i = 0; i < this.props.length; ++i) {\n const comment = this.getPropValue(i, Char.COMMENT, true);\n if (comment != null) comments.push(comment);\n }\n\n return comments.length > 0 ? comments.join('\\n') : null;\n }\n\n commentHasRequiredWhitespace(start) {\n const {\n src\n } = this.context;\n if (this.header && start === this.header.end) return false;\n if (!this.valueRange) return false;\n const {\n end\n } = this.valueRange;\n return start !== end || Node.atBlank(src, end - 1);\n }\n\n get hasComment() {\n if (this.context) {\n const {\n src\n } = this.context;\n\n for (let i = 0; i < this.props.length; ++i) {\n if (src[this.props[i].start] === Char.COMMENT) return true;\n }\n }\n\n return false;\n }\n\n get hasProps() {\n if (this.context) {\n const {\n src\n } = this.context;\n\n for (let i = 0; i < this.props.length; ++i) {\n if (src[this.props[i].start] !== Char.COMMENT) return true;\n }\n }\n\n return false;\n }\n\n get includesTrailingLines() {\n return false;\n }\n\n get jsonLike() {\n const jsonLikeTypes = [Type.FLOW_MAP, Type.FLOW_SEQ, Type.QUOTE_DOUBLE, Type.QUOTE_SINGLE];\n return jsonLikeTypes.indexOf(this.type) !== -1;\n }\n\n get rangeAsLinePos() {\n if (!this.range || !this.context) return undefined;\n const start = getLinePos(this.range.start, this.context.root);\n if (!start) return undefined;\n const end = getLinePos(this.range.end, this.context.root);\n return {\n start,\n end\n };\n }\n\n get rawValue() {\n if (!this.valueRange || !this.context) return null;\n const {\n start,\n end\n } = this.valueRange;\n return this.context.src.slice(start, end);\n }\n\n get tag() {\n for (let i = 0; i < this.props.length; ++i) {\n const tag = this.getPropValue(i, Char.TAG, false);\n\n if (tag != null) {\n if (tag[1] === '<') {\n return {\n verbatim: tag.slice(2, -1)\n };\n } else {\n // eslint-disable-next-line no-unused-vars\n const [_, handle, suffix] = tag.match(/^(.*!)([^!]*)$/);\n return {\n handle,\n suffix\n };\n }\n }\n }\n\n return null;\n }\n\n get valueRangeContainsNewline() {\n if (!this.valueRange || !this.context) return false;\n const {\n start,\n end\n } = this.valueRange;\n const {\n src\n } = this.context;\n\n for (let i = start; i < end; ++i) {\n if (src[i] === '\\n') return true;\n }\n\n return false;\n }\n\n parseComment(start) {\n const {\n src\n } = this.context;\n\n if (src[start] === Char.COMMENT) {\n const end = Node.endOfLine(src, start + 1);\n const commentRange = new Range(start, end);\n this.props.push(commentRange);\n return end;\n }\n\n return start;\n }\n /**\n * Populates the `origStart` and `origEnd` values of all ranges for this\n * node. Extended by child classes to handle descendant nodes.\n *\n * @param {number[]} cr - Positions of dropped CR characters\n * @param {number} offset - Starting index of `cr` from the last call\n * @returns {number} - The next offset, matching the one found for `origStart`\n */\n\n\n setOrigRanges(cr, offset) {\n if (this.range) offset = this.range.setOrigRange(cr, offset);\n if (this.valueRange) this.valueRange.setOrigRange(cr, offset);\n this.props.forEach(prop => prop.setOrigRange(cr, offset));\n return offset;\n }\n\n toString() {\n const {\n context: {\n src\n },\n range,\n value\n } = this;\n if (value != null) return value;\n const str = src.slice(range.start, range.end);\n return Node.addStringTerminator(src, range.end, str);\n }\n\n}\n\nclass YAMLError extends Error {\n constructor(name, source, message) {\n if (!message || !(source instanceof Node)) throw new Error(`Invalid arguments for new ${name}`);\n super();\n this.name = name;\n this.message = message;\n this.source = source;\n }\n\n makePretty() {\n if (!this.source) return;\n this.nodeType = this.source.type;\n const cst = this.source.context && this.source.context.root;\n\n if (typeof this.offset === 'number') {\n this.range = new Range(this.offset, this.offset + 1);\n const start = cst && getLinePos(this.offset, cst);\n\n if (start) {\n const end = {\n line: start.line,\n col: start.col + 1\n };\n this.linePos = {\n start,\n end\n };\n }\n\n delete this.offset;\n } else {\n this.range = this.source.range;\n this.linePos = this.source.rangeAsLinePos;\n }\n\n if (this.linePos) {\n const {\n line,\n col\n } = this.linePos.start;\n this.message += ` at line ${line}, column ${col}`;\n const ctx = cst && getPrettyContext(this.linePos, cst);\n if (ctx) this.message += `:\\n\\n${ctx}\\n`;\n }\n\n delete this.source;\n }\n\n}\n\nclass YAMLReferenceError extends YAMLError {\n constructor(source, message) {\n super('YAMLReferenceError', source, message);\n }\n\n}\n\nclass YAMLSemanticError extends YAMLError {\n constructor(source, message) {\n super('YAMLSemanticError', source, message);\n }\n\n}\n\nclass YAMLSyntaxError extends YAMLError {\n constructor(source, message) {\n super('YAMLSyntaxError', source, message);\n }\n\n}\n\nclass YAMLWarning extends YAMLError {\n constructor(source, message) {\n super('YAMLWarning', source, message);\n }\n\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nclass PlainValue extends Node {\n static endOfLine(src, start, inFlow) {\n let ch = src[start];\n let offset = start;\n\n while (ch && ch !== '\\n') {\n if (inFlow && (ch === '[' || ch === ']' || ch === '{' || ch === '}' || ch === ',')) break;\n const next = src[offset + 1];\n if (ch === ':' && (!next || next === '\\n' || next === '\\t' || next === ' ' || inFlow && next === ',')) break;\n if ((ch === ' ' || ch === '\\t') && next === '#') break;\n offset += 1;\n ch = next;\n }\n\n return offset;\n }\n\n get strValue() {\n if (!this.valueRange || !this.context) return null;\n let {\n start,\n end\n } = this.valueRange;\n const {\n src\n } = this.context;\n let ch = src[end - 1];\n\n while (start < end && (ch === '\\n' || ch === '\\t' || ch === ' ')) ch = src[--end - 1];\n\n let str = '';\n\n for (let i = start; i < end; ++i) {\n const ch = src[i];\n\n if (ch === '\\n') {\n const {\n fold,\n offset\n } = Node.foldNewline(src, i, -1);\n str += fold;\n i = offset;\n } else if (ch === ' ' || ch === '\\t') {\n // trim trailing whitespace\n const wsStart = i;\n let next = src[i + 1];\n\n while (i < end && (next === ' ' || next === '\\t')) {\n i += 1;\n next = src[i + 1];\n }\n\n if (next !== '\\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch;\n } else {\n str += ch;\n }\n }\n\n const ch0 = src[start];\n\n switch (ch0) {\n case '\\t':\n {\n const msg = 'Plain value cannot start with a tab character';\n const errors = [new YAMLSemanticError(this, msg)];\n return {\n errors,\n str\n };\n }\n\n case '@':\n case '`':\n {\n const msg = `Plain value cannot start with reserved character ${ch0}`;\n const errors = [new YAMLSemanticError(this, msg)];\n return {\n errors,\n str\n };\n }\n\n default:\n return str;\n }\n }\n\n parseBlockValue(start) {\n const {\n indent,\n inFlow,\n src\n } = this.context;\n let offset = start;\n let valueEnd = start;\n\n for (let ch = src[offset]; ch === '\\n'; ch = src[offset]) {\n if (Node.atDocumentBoundary(src, offset + 1)) break;\n const end = Node.endOfBlockIndent(src, indent, offset + 1);\n if (end === null || src[end] === '#') break;\n\n if (src[end] === '\\n') {\n offset = end;\n } else {\n valueEnd = PlainValue.endOfLine(src, end, inFlow);\n offset = valueEnd;\n }\n }\n\n if (this.valueRange.isEmpty()) this.valueRange.start = start;\n this.valueRange.end = valueEnd;\n return valueEnd;\n }\n /**\n * Parses a plain value from the source\n *\n * Accepted forms are:\n * ```\n * #comment\n *\n * first line\n *\n * first line #comment\n *\n * first line\n * block\n * lines\n *\n * #comment\n * block\n * lines\n * ```\n * where block lines are empty or have an indent level greater than `indent`.\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar, may be `\\n`\n */\n\n\n parse(context, start) {\n this.context = context;\n const {\n inFlow,\n src\n } = context;\n let offset = start;\n const ch = src[offset];\n\n if (ch && ch !== '#' && ch !== '\\n') {\n offset = PlainValue.endOfLine(src, start, inFlow);\n }\n\n this.valueRange = new Range(start, offset);\n offset = Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n\n if (!this.hasComment || this.valueRange.isEmpty()) {\n offset = this.parseBlockValue(offset);\n }\n\n return offset;\n }\n\n}\n\nvar Char_1 = Char;\nvar Node_1 = Node;\nvar PlainValue_1 = PlainValue;\nvar Range_1 = Range;\nvar Type_1 = Type;\nvar YAMLError_1 = YAMLError;\nvar YAMLReferenceError_1 = YAMLReferenceError;\nvar YAMLSemanticError_1 = YAMLSemanticError;\nvar YAMLSyntaxError_1 = YAMLSyntaxError;\nvar YAMLWarning_1 = YAMLWarning;\nvar _defineProperty_1 = _defineProperty;\nvar defaultTagPrefix_1 = defaultTagPrefix;\nvar defaultTags_1 = defaultTags;\nvar PlainValueEc8e588e = {\n Char: Char_1,\n Node: Node_1,\n PlainValue: PlainValue_1,\n Range: Range_1,\n Type: Type_1,\n YAMLError: YAMLError_1,\n YAMLReferenceError: YAMLReferenceError_1,\n YAMLSemanticError: YAMLSemanticError_1,\n YAMLSyntaxError: YAMLSyntaxError_1,\n YAMLWarning: YAMLWarning_1,\n _defineProperty: _defineProperty_1,\n defaultTagPrefix: defaultTagPrefix_1,\n defaultTags: defaultTags_1\n};\n\nclass BlankLine extends PlainValueEc8e588e.Node {\n constructor() {\n super(PlainValueEc8e588e.Type.BLANK_LINE);\n }\n /* istanbul ignore next */\n\n\n get includesTrailingLines() {\n // This is never called from anywhere, but if it were,\n // this is the value it should return.\n return true;\n }\n /**\n * Parses a blank line from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first \\n character\n * @returns {number} - Index of the character after this\n */\n\n\n parse(context, start) {\n this.context = context;\n this.range = new PlainValueEc8e588e.Range(start, start + 1);\n return start + 1;\n }\n\n}\n\nclass CollectionItem extends PlainValueEc8e588e.Node {\n constructor(type, props) {\n super(type, props);\n this.node = null;\n }\n\n get includesTrailingLines() {\n return !!this.node && this.node.includesTrailingLines;\n }\n /**\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this\n */\n\n\n parse(context, start) {\n this.context = context;\n const {\n parseNode,\n src\n } = context;\n let {\n atLineStart,\n lineStart\n } = context;\n if (!atLineStart && this.type === PlainValueEc8e588e.Type.SEQ_ITEM) this.error = new PlainValueEc8e588e.YAMLSemanticError(this, 'Sequence items must not have preceding content on the same line');\n const indent = atLineStart ? start - lineStart : context.indent;\n let offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, start + 1);\n let ch = src[offset];\n const inlineComment = ch === '#';\n const comments = [];\n let blankLine = null;\n\n while (ch === '\\n' || ch === '#') {\n if (ch === '#') {\n const end = PlainValueEc8e588e.Node.endOfLine(src, offset + 1);\n comments.push(new PlainValueEc8e588e.Range(offset, end));\n offset = end;\n } else {\n atLineStart = true;\n lineStart = offset + 1;\n const wsEnd = PlainValueEc8e588e.Node.endOfWhiteSpace(src, lineStart);\n\n if (src[wsEnd] === '\\n' && comments.length === 0) {\n blankLine = new BlankLine();\n lineStart = blankLine.parse({\n src\n }, lineStart);\n }\n\n offset = PlainValueEc8e588e.Node.endOfIndent(src, lineStart);\n }\n\n ch = src[offset];\n }\n\n if (PlainValueEc8e588e.Node.nextNodeIsIndented(ch, offset - (lineStart + indent), this.type !== PlainValueEc8e588e.Type.SEQ_ITEM)) {\n this.node = parseNode({\n atLineStart,\n inCollection: false,\n indent,\n lineStart,\n parent: this\n }, offset);\n } else if (ch && lineStart > start + 1) {\n offset = lineStart - 1;\n }\n\n if (this.node) {\n if (blankLine) {\n // Only blank lines preceding non-empty nodes are captured. Note that\n // this means that collection item range start indices do not always\n // increase monotonically. -- eemeli/yaml#126\n const items = context.parent.items || context.parent.contents;\n if (items) items.push(blankLine);\n }\n\n if (comments.length) Array.prototype.push.apply(this.props, comments);\n offset = this.node.range.end;\n } else {\n if (inlineComment) {\n const c = comments[0];\n this.props.push(c);\n offset = c.end;\n } else {\n offset = PlainValueEc8e588e.Node.endOfLine(src, start + 1);\n }\n }\n\n const end = this.node ? this.node.valueRange.end : offset;\n this.valueRange = new PlainValueEc8e588e.Range(start, end);\n return offset;\n }\n\n setOrigRanges(cr, offset) {\n offset = super.setOrigRanges(cr, offset);\n return this.node ? this.node.setOrigRanges(cr, offset) : offset;\n }\n\n toString() {\n const {\n context: {\n src\n },\n node,\n range,\n value\n } = this;\n if (value != null) return value;\n const str = node ? src.slice(range.start, node.range.start) + String(node) : src.slice(range.start, range.end);\n return PlainValueEc8e588e.Node.addStringTerminator(src, range.end, str);\n }\n\n}\n\nclass Comment extends PlainValueEc8e588e.Node {\n constructor() {\n super(PlainValueEc8e588e.Type.COMMENT);\n }\n /**\n * Parses a comment line from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar\n */\n\n\n parse(context, start) {\n this.context = context;\n const offset = this.parseComment(start);\n this.range = new PlainValueEc8e588e.Range(start, offset);\n return offset;\n }\n\n}\n\nfunction grabCollectionEndComments(node) {\n let cnode = node;\n\n while (cnode instanceof CollectionItem) cnode = cnode.node;\n\n if (!(cnode instanceof Collection)) return null;\n const len = cnode.items.length;\n let ci = -1;\n\n for (let i = len - 1; i >= 0; --i) {\n const n = cnode.items[i];\n\n if (n.type === PlainValueEc8e588e.Type.COMMENT) {\n // Keep sufficiently indented comments with preceding node\n const {\n indent,\n lineStart\n } = n.context;\n if (indent > 0 && n.range.start >= lineStart + indent) break;\n ci = i;\n } else if (n.type === PlainValueEc8e588e.Type.BLANK_LINE) ci = i;else break;\n }\n\n if (ci === -1) return null;\n const ca = cnode.items.splice(ci, len - ci);\n const prevEnd = ca[0].range.start;\n\n while (true) {\n cnode.range.end = prevEnd;\n if (cnode.valueRange && cnode.valueRange.end > prevEnd) cnode.valueRange.end = prevEnd;\n if (cnode === node) break;\n cnode = cnode.context.parent;\n }\n\n return ca;\n}\n\nclass Collection extends PlainValueEc8e588e.Node {\n static nextContentHasIndent(src, offset, indent) {\n const lineStart = PlainValueEc8e588e.Node.endOfLine(src, offset) + 1;\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, lineStart);\n const ch = src[offset];\n if (!ch) return false;\n if (offset >= lineStart + indent) return true;\n if (ch !== '#' && ch !== '\\n') return false;\n return Collection.nextContentHasIndent(src, offset, indent);\n }\n\n constructor(firstItem) {\n super(firstItem.type === PlainValueEc8e588e.Type.SEQ_ITEM ? PlainValueEc8e588e.Type.SEQ : PlainValueEc8e588e.Type.MAP);\n\n for (let i = firstItem.props.length - 1; i >= 0; --i) {\n if (firstItem.props[i].start < firstItem.context.lineStart) {\n // props on previous line are assumed by the collection\n this.props = firstItem.props.slice(0, i + 1);\n firstItem.props = firstItem.props.slice(i + 1);\n const itemRange = firstItem.props[0] || firstItem.valueRange;\n firstItem.range.start = itemRange.start;\n break;\n }\n }\n\n this.items = [firstItem];\n const ec = grabCollectionEndComments(firstItem);\n if (ec) Array.prototype.push.apply(this.items, ec);\n }\n\n get includesTrailingLines() {\n return this.items.length > 0;\n }\n /**\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this\n */\n\n\n parse(context, start) {\n this.context = context;\n const {\n parseNode,\n src\n } = context; // It's easier to recalculate lineStart here rather than tracking down the\n // last context from which to read it -- eemeli/yaml#2\n\n let lineStart = PlainValueEc8e588e.Node.startOfLine(src, start);\n const firstItem = this.items[0]; // First-item context needs to be correct for later comment handling\n // -- eemeli/yaml#17\n\n firstItem.context.parent = this;\n this.valueRange = PlainValueEc8e588e.Range.copy(firstItem.valueRange);\n const indent = firstItem.range.start - firstItem.context.lineStart;\n let offset = start;\n offset = PlainValueEc8e588e.Node.normalizeOffset(src, offset);\n let ch = src[offset];\n let atLineStart = PlainValueEc8e588e.Node.endOfWhiteSpace(src, lineStart) === offset;\n let prevIncludesTrailingLines = false;\n\n while (ch) {\n while (ch === '\\n' || ch === '#') {\n if (atLineStart && ch === '\\n' && !prevIncludesTrailingLines) {\n const blankLine = new BlankLine();\n offset = blankLine.parse({\n src\n }, offset);\n this.valueRange.end = offset;\n\n if (offset >= src.length) {\n ch = null;\n break;\n }\n\n this.items.push(blankLine);\n offset -= 1; // blankLine.parse() consumes terminal newline\n } else if (ch === '#') {\n if (offset < lineStart + indent && !Collection.nextContentHasIndent(src, offset, indent)) {\n return offset;\n }\n\n const comment = new Comment();\n offset = comment.parse({\n indent,\n lineStart,\n src\n }, offset);\n this.items.push(comment);\n this.valueRange.end = offset;\n\n if (offset >= src.length) {\n ch = null;\n break;\n }\n }\n\n lineStart = offset + 1;\n offset = PlainValueEc8e588e.Node.endOfIndent(src, lineStart);\n\n if (PlainValueEc8e588e.Node.atBlank(src, offset)) {\n const wsEnd = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n const next = src[wsEnd];\n\n if (!next || next === '\\n' || next === '#') {\n offset = wsEnd;\n }\n }\n\n ch = src[offset];\n atLineStart = true;\n }\n\n if (!ch) {\n break;\n }\n\n if (offset !== lineStart + indent && (atLineStart || ch !== ':')) {\n if (offset < lineStart + indent) {\n if (lineStart > start) offset = lineStart;\n break;\n } else if (!this.error) {\n const msg = 'All collection items must start at the same column';\n this.error = new PlainValueEc8e588e.YAMLSyntaxError(this, msg);\n }\n }\n\n if (firstItem.type === PlainValueEc8e588e.Type.SEQ_ITEM) {\n if (ch !== '-') {\n if (lineStart > start) offset = lineStart;\n break;\n }\n } else if (ch === '-' && !this.error) {\n // map key may start with -, as long as it's followed by a non-whitespace char\n const next = src[offset + 1];\n\n if (!next || next === '\\n' || next === '\\t' || next === ' ') {\n const msg = 'A collection cannot be both a mapping and a sequence';\n this.error = new PlainValueEc8e588e.YAMLSyntaxError(this, msg);\n }\n }\n\n const node = parseNode({\n atLineStart,\n inCollection: true,\n indent,\n lineStart,\n parent: this\n }, offset);\n if (!node) return offset; // at next document start\n\n this.items.push(node);\n this.valueRange.end = node.valueRange.end;\n offset = PlainValueEc8e588e.Node.normalizeOffset(src, node.range.end);\n ch = src[offset];\n atLineStart = false;\n prevIncludesTrailingLines = node.includesTrailingLines; // Need to reset lineStart and atLineStart here if preceding node's range\n // has advanced to check the current line's indentation level\n // -- eemeli/yaml#10 & eemeli/yaml#38\n\n if (ch) {\n let ls = offset - 1;\n let prev = src[ls];\n\n while (prev === ' ' || prev === '\\t') prev = src[--ls];\n\n if (prev === '\\n') {\n lineStart = ls + 1;\n atLineStart = true;\n }\n }\n\n const ec = grabCollectionEndComments(node);\n if (ec) Array.prototype.push.apply(this.items, ec);\n }\n\n return offset;\n }\n\n setOrigRanges(cr, offset) {\n offset = super.setOrigRanges(cr, offset);\n this.items.forEach(node => {\n offset = node.setOrigRanges(cr, offset);\n });\n return offset;\n }\n\n toString() {\n const {\n context: {\n src\n },\n items,\n range,\n value\n } = this;\n if (value != null) return value;\n let str = src.slice(range.start, items[0].range.start) + String(items[0]);\n\n for (let i = 1; i < items.length; ++i) {\n const item = items[i];\n const {\n atLineStart,\n indent\n } = item.context;\n if (atLineStart) for (let i = 0; i < indent; ++i) str += ' ';\n str += String(item);\n }\n\n return PlainValueEc8e588e.Node.addStringTerminator(src, range.end, str);\n }\n\n}\n\nclass Directive extends PlainValueEc8e588e.Node {\n constructor() {\n super(PlainValueEc8e588e.Type.DIRECTIVE);\n this.name = null;\n }\n\n get parameters() {\n const raw = this.rawValue;\n return raw ? raw.trim().split(/[ \\t]+/) : [];\n }\n\n parseName(start) {\n const {\n src\n } = this.context;\n let offset = start;\n let ch = src[offset];\n\n while (ch && ch !== '\\n' && ch !== '\\t' && ch !== ' ') ch = src[offset += 1];\n\n this.name = src.slice(start, offset);\n return offset;\n }\n\n parseParameters(start) {\n const {\n src\n } = this.context;\n let offset = start;\n let ch = src[offset];\n\n while (ch && ch !== '\\n' && ch !== '#') ch = src[offset += 1];\n\n this.valueRange = new PlainValueEc8e588e.Range(start, offset);\n return offset;\n }\n\n parse(context, start) {\n this.context = context;\n let offset = this.parseName(start + 1);\n offset = this.parseParameters(offset);\n offset = this.parseComment(offset);\n this.range = new PlainValueEc8e588e.Range(start, offset);\n return offset;\n }\n\n}\n\nclass Document extends PlainValueEc8e588e.Node {\n static startCommentOrEndBlankLine(src, start) {\n const offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, start);\n const ch = src[offset];\n return ch === '#' || ch === '\\n' ? offset : start;\n }\n\n constructor() {\n super(PlainValueEc8e588e.Type.DOCUMENT);\n this.directives = null;\n this.contents = null;\n this.directivesEndMarker = null;\n this.documentEndMarker = null;\n }\n\n parseDirectives(start) {\n const {\n src\n } = this.context;\n this.directives = [];\n let atLineStart = true;\n let hasDirectives = false;\n let offset = start;\n\n while (!PlainValueEc8e588e.Node.atDocumentBoundary(src, offset, PlainValueEc8e588e.Char.DIRECTIVES_END)) {\n offset = Document.startCommentOrEndBlankLine(src, offset);\n\n switch (src[offset]) {\n case '\\n':\n if (atLineStart) {\n const blankLine = new BlankLine();\n offset = blankLine.parse({\n src\n }, offset);\n\n if (offset < src.length) {\n this.directives.push(blankLine);\n }\n } else {\n offset += 1;\n atLineStart = true;\n }\n\n break;\n\n case '#':\n {\n const comment = new Comment();\n offset = comment.parse({\n src\n }, offset);\n this.directives.push(comment);\n atLineStart = false;\n }\n break;\n\n case '%':\n {\n const directive = new Directive();\n offset = directive.parse({\n parent: this,\n src\n }, offset);\n this.directives.push(directive);\n hasDirectives = true;\n atLineStart = false;\n }\n break;\n\n default:\n if (hasDirectives) {\n this.error = new PlainValueEc8e588e.YAMLSemanticError(this, 'Missing directives-end indicator line');\n } else if (this.directives.length > 0) {\n this.contents = this.directives;\n this.directives = [];\n }\n\n return offset;\n }\n }\n\n if (src[offset]) {\n this.directivesEndMarker = new PlainValueEc8e588e.Range(offset, offset + 3);\n return offset + 3;\n }\n\n if (hasDirectives) {\n this.error = new PlainValueEc8e588e.YAMLSemanticError(this, 'Missing directives-end indicator line');\n } else if (this.directives.length > 0) {\n this.contents = this.directives;\n this.directives = [];\n }\n\n return offset;\n }\n\n parseContents(start) {\n const {\n parseNode,\n src\n } = this.context;\n if (!this.contents) this.contents = [];\n let lineStart = start;\n\n while (src[lineStart - 1] === '-') lineStart -= 1;\n\n let offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, start);\n let atLineStart = lineStart === start;\n this.valueRange = new PlainValueEc8e588e.Range(offset);\n\n while (!PlainValueEc8e588e.Node.atDocumentBoundary(src, offset, PlainValueEc8e588e.Char.DOCUMENT_END)) {\n switch (src[offset]) {\n case '\\n':\n if (atLineStart) {\n const blankLine = new BlankLine();\n offset = blankLine.parse({\n src\n }, offset);\n\n if (offset < src.length) {\n this.contents.push(blankLine);\n }\n } else {\n offset += 1;\n atLineStart = true;\n }\n\n lineStart = offset;\n break;\n\n case '#':\n {\n const comment = new Comment();\n offset = comment.parse({\n src\n }, offset);\n this.contents.push(comment);\n atLineStart = false;\n }\n break;\n\n default:\n {\n const iEnd = PlainValueEc8e588e.Node.endOfIndent(src, offset);\n const context = {\n atLineStart,\n indent: -1,\n inFlow: false,\n inCollection: false,\n lineStart,\n parent: this\n };\n const node = parseNode(context, iEnd);\n if (!node) return this.valueRange.end = iEnd; // at next document start\n\n this.contents.push(node);\n offset = node.range.end;\n atLineStart = false;\n const ec = grabCollectionEndComments(node);\n if (ec) Array.prototype.push.apply(this.contents, ec);\n }\n }\n\n offset = Document.startCommentOrEndBlankLine(src, offset);\n }\n\n this.valueRange.end = offset;\n\n if (src[offset]) {\n this.documentEndMarker = new PlainValueEc8e588e.Range(offset, offset + 3);\n offset += 3;\n\n if (src[offset]) {\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n\n if (src[offset] === '#') {\n const comment = new Comment();\n offset = comment.parse({\n src\n }, offset);\n this.contents.push(comment);\n }\n\n switch (src[offset]) {\n case '\\n':\n offset += 1;\n break;\n\n case undefined:\n break;\n\n default:\n this.error = new PlainValueEc8e588e.YAMLSyntaxError(this, 'Document end marker line cannot have a non-comment suffix');\n }\n }\n }\n\n return offset;\n }\n /**\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this\n */\n\n\n parse(context, start) {\n context.root = this;\n this.context = context;\n const {\n src\n } = context;\n let offset = src.charCodeAt(start) === 0xfeff ? start + 1 : start; // skip BOM\n\n offset = this.parseDirectives(offset);\n offset = this.parseContents(offset);\n return offset;\n }\n\n setOrigRanges(cr, offset) {\n offset = super.setOrigRanges(cr, offset);\n this.directives.forEach(node => {\n offset = node.setOrigRanges(cr, offset);\n });\n if (this.directivesEndMarker) offset = this.directivesEndMarker.setOrigRange(cr, offset);\n this.contents.forEach(node => {\n offset = node.setOrigRanges(cr, offset);\n });\n if (this.documentEndMarker) offset = this.documentEndMarker.setOrigRange(cr, offset);\n return offset;\n }\n\n toString() {\n const {\n contents,\n directives,\n value\n } = this;\n if (value != null) return value;\n let str = directives.join('');\n\n if (contents.length > 0) {\n if (directives.length > 0 || contents[0].type === PlainValueEc8e588e.Type.COMMENT) str += '---\\n';\n str += contents.join('');\n }\n\n if (str[str.length - 1] !== '\\n') str += '\\n';\n return str;\n }\n\n}\n\nclass Alias extends PlainValueEc8e588e.Node {\n /**\n * Parses an *alias from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar\n */\n parse(context, start) {\n this.context = context;\n const {\n src\n } = context;\n let offset = PlainValueEc8e588e.Node.endOfIdentifier(src, start + 1);\n this.valueRange = new PlainValueEc8e588e.Range(start + 1, offset);\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n return offset;\n }\n\n}\n\nconst Chomp = {\n CLIP: 'CLIP',\n KEEP: 'KEEP',\n STRIP: 'STRIP'\n};\n\nclass BlockValue extends PlainValueEc8e588e.Node {\n constructor(type, props) {\n super(type, props);\n this.blockIndent = null;\n this.chomping = Chomp.CLIP;\n this.header = null;\n }\n\n get includesTrailingLines() {\n return this.chomping === Chomp.KEEP;\n }\n\n get strValue() {\n if (!this.valueRange || !this.context) return null;\n let {\n start,\n end\n } = this.valueRange;\n const {\n indent,\n src\n } = this.context;\n if (this.valueRange.isEmpty()) return '';\n let lastNewLine = null;\n let ch = src[end - 1];\n\n while (ch === '\\n' || ch === '\\t' || ch === ' ') {\n end -= 1;\n\n if (end <= start) {\n if (this.chomping === Chomp.KEEP) break;else return ''; // probably never happens\n }\n\n if (ch === '\\n') lastNewLine = end;\n ch = src[end - 1];\n }\n\n let keepStart = end + 1;\n\n if (lastNewLine) {\n if (this.chomping === Chomp.KEEP) {\n keepStart = lastNewLine;\n end = this.valueRange.end;\n } else {\n end = lastNewLine;\n }\n }\n\n const bi = indent + this.blockIndent;\n const folded = this.type === PlainValueEc8e588e.Type.BLOCK_FOLDED;\n let atStart = true;\n let str = '';\n let sep = '';\n let prevMoreIndented = false;\n\n for (let i = start; i < end; ++i) {\n for (let j = 0; j < bi; ++j) {\n if (src[i] !== ' ') break;\n i += 1;\n }\n\n const ch = src[i];\n\n if (ch === '\\n') {\n if (sep === '\\n') str += '\\n';else sep = '\\n';\n } else {\n const lineEnd = PlainValueEc8e588e.Node.endOfLine(src, i);\n const line = src.slice(i, lineEnd);\n i = lineEnd;\n\n if (folded && (ch === ' ' || ch === '\\t') && i < keepStart) {\n if (sep === ' ') sep = '\\n';else if (!prevMoreIndented && !atStart && sep === '\\n') sep = '\\n\\n';\n str += sep + line; //+ ((lineEnd < end && src[lineEnd]) || '')\n\n sep = lineEnd < end && src[lineEnd] || '';\n prevMoreIndented = true;\n } else {\n str += sep + line;\n sep = folded && i < keepStart ? ' ' : '\\n';\n prevMoreIndented = false;\n }\n\n if (atStart && line !== '') atStart = false;\n }\n }\n\n return this.chomping === Chomp.STRIP ? str : str + '\\n';\n }\n\n parseBlockHeader(start) {\n const {\n src\n } = this.context;\n let offset = start + 1;\n let bi = '';\n\n while (true) {\n const ch = src[offset];\n\n switch (ch) {\n case '-':\n this.chomping = Chomp.STRIP;\n break;\n\n case '+':\n this.chomping = Chomp.KEEP;\n break;\n\n case '0':\n case '1':\n case '2':\n case '3':\n case '4':\n case '5':\n case '6':\n case '7':\n case '8':\n case '9':\n bi += ch;\n break;\n\n default:\n this.blockIndent = Number(bi) || null;\n this.header = new PlainValueEc8e588e.Range(start, offset);\n return offset;\n }\n\n offset += 1;\n }\n }\n\n parseBlockValue(start) {\n const {\n indent,\n src\n } = this.context;\n const explicit = !!this.blockIndent;\n let offset = start;\n let valueEnd = start;\n let minBlockIndent = 1;\n\n for (let ch = src[offset]; ch === '\\n'; ch = src[offset]) {\n offset += 1;\n if (PlainValueEc8e588e.Node.atDocumentBoundary(src, offset)) break;\n const end = PlainValueEc8e588e.Node.endOfBlockIndent(src, indent, offset); // should not include tab?\n\n if (end === null) break;\n const ch = src[end];\n const lineIndent = end - (offset + indent);\n\n if (!this.blockIndent) {\n // no explicit block indent, none yet detected\n if (src[end] !== '\\n') {\n // first line with non-whitespace content\n if (lineIndent < minBlockIndent) {\n const msg = 'Block scalars with more-indented leading empty lines must use an explicit indentation indicator';\n this.error = new PlainValueEc8e588e.YAMLSemanticError(this, msg);\n }\n\n this.blockIndent = lineIndent;\n } else if (lineIndent > minBlockIndent) {\n // empty line with more whitespace\n minBlockIndent = lineIndent;\n }\n } else if (ch && ch !== '\\n' && lineIndent < this.blockIndent) {\n if (src[end] === '#') break;\n\n if (!this.error) {\n const src = explicit ? 'explicit indentation indicator' : 'first line';\n const msg = `Block scalars must not be less indented than their ${src}`;\n this.error = new PlainValueEc8e588e.YAMLSemanticError(this, msg);\n }\n }\n\n if (src[end] === '\\n') {\n offset = end;\n } else {\n offset = valueEnd = PlainValueEc8e588e.Node.endOfLine(src, end);\n }\n }\n\n if (this.chomping !== Chomp.KEEP) {\n offset = src[valueEnd] ? valueEnd + 1 : valueEnd;\n }\n\n this.valueRange = new PlainValueEc8e588e.Range(start + 1, offset);\n return offset;\n }\n /**\n * Parses a block value from the source\n *\n * Accepted forms are:\n * ```\n * BS\n * block\n * lines\n *\n * BS #comment\n * block\n * lines\n * ```\n * where the block style BS matches the regexp `[|>][-+1-9]*` and block lines\n * are empty or have an indent level greater than `indent`.\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this block\n */\n\n\n parse(context, start) {\n this.context = context;\n const {\n src\n } = context;\n let offset = this.parseBlockHeader(start);\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n offset = this.parseBlockValue(offset);\n return offset;\n }\n\n setOrigRanges(cr, offset) {\n offset = super.setOrigRanges(cr, offset);\n return this.header ? this.header.setOrigRange(cr, offset) : offset;\n }\n\n}\n\nclass FlowCollection extends PlainValueEc8e588e.Node {\n constructor(type, props) {\n super(type, props);\n this.items = null;\n }\n\n prevNodeIsJsonLike(idx = this.items.length) {\n const node = this.items[idx - 1];\n return !!node && (node.jsonLike || node.type === PlainValueEc8e588e.Type.COMMENT && this.prevNodeIsJsonLike(idx - 1));\n }\n /**\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this\n */\n\n\n parse(context, start) {\n this.context = context;\n const {\n parseNode,\n src\n } = context;\n let {\n indent,\n lineStart\n } = context;\n let char = src[start]; // { or [\n\n this.items = [{\n char,\n offset: start\n }];\n let offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, start + 1);\n char = src[offset];\n\n while (char && char !== ']' && char !== '}') {\n switch (char) {\n case '\\n':\n {\n lineStart = offset + 1;\n const wsEnd = PlainValueEc8e588e.Node.endOfWhiteSpace(src, lineStart);\n\n if (src[wsEnd] === '\\n') {\n const blankLine = new BlankLine();\n lineStart = blankLine.parse({\n src\n }, lineStart);\n this.items.push(blankLine);\n }\n\n offset = PlainValueEc8e588e.Node.endOfIndent(src, lineStart);\n\n if (offset <= lineStart + indent) {\n char = src[offset];\n\n if (offset < lineStart + indent || char !== ']' && char !== '}') {\n const msg = 'Insufficient indentation in flow collection';\n this.error = new PlainValueEc8e588e.YAMLSemanticError(this, msg);\n }\n }\n }\n break;\n\n case ',':\n {\n this.items.push({\n char,\n offset\n });\n offset += 1;\n }\n break;\n\n case '#':\n {\n const comment = new Comment();\n offset = comment.parse({\n src\n }, offset);\n this.items.push(comment);\n }\n break;\n\n case '?':\n case ':':\n {\n const next = src[offset + 1];\n\n if (next === '\\n' || next === '\\t' || next === ' ' || next === ',' || // in-flow : after JSON-like key does not need to be followed by whitespace\n char === ':' && this.prevNodeIsJsonLike()) {\n this.items.push({\n char,\n offset\n });\n offset += 1;\n break;\n }\n }\n // fallthrough\n\n default:\n {\n const node = parseNode({\n atLineStart: false,\n inCollection: false,\n inFlow: true,\n indent: -1,\n lineStart,\n parent: this\n }, offset);\n\n if (!node) {\n // at next document start\n this.valueRange = new PlainValueEc8e588e.Range(start, offset);\n return offset;\n }\n\n this.items.push(node);\n offset = PlainValueEc8e588e.Node.normalizeOffset(src, node.range.end);\n }\n }\n\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n char = src[offset];\n }\n\n this.valueRange = new PlainValueEc8e588e.Range(start, offset + 1);\n\n if (char) {\n this.items.push({\n char,\n offset\n });\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset + 1);\n offset = this.parseComment(offset);\n }\n\n return offset;\n }\n\n setOrigRanges(cr, offset) {\n offset = super.setOrigRanges(cr, offset);\n this.items.forEach(node => {\n if (node instanceof PlainValueEc8e588e.Node) {\n offset = node.setOrigRanges(cr, offset);\n } else if (cr.length === 0) {\n node.origOffset = node.offset;\n } else {\n let i = offset;\n\n while (i < cr.length) {\n if (cr[i] > node.offset) break;else ++i;\n }\n\n node.origOffset = node.offset + i;\n offset = i;\n }\n });\n return offset;\n }\n\n toString() {\n const {\n context: {\n src\n },\n items,\n range,\n value\n } = this;\n if (value != null) return value;\n const nodes = items.filter(item => item instanceof PlainValueEc8e588e.Node);\n let str = '';\n let prevEnd = range.start;\n nodes.forEach(node => {\n const prefix = src.slice(prevEnd, node.range.start);\n prevEnd = node.range.end;\n str += prefix + String(node);\n\n if (str[str.length - 1] === '\\n' && src[prevEnd - 1] !== '\\n' && src[prevEnd] === '\\n') {\n // Comment range does not include the terminal newline, but its\n // stringified value does. Without this fix, newlines at comment ends\n // get duplicated.\n prevEnd += 1;\n }\n });\n str += src.slice(prevEnd, range.end);\n return PlainValueEc8e588e.Node.addStringTerminator(src, range.end, str);\n }\n\n}\n\nclass QuoteDouble extends PlainValueEc8e588e.Node {\n static endOfQuote(src, offset) {\n let ch = src[offset];\n\n while (ch && ch !== '\"') {\n offset += ch === '\\\\' ? 2 : 1;\n ch = src[offset];\n }\n\n return offset + 1;\n }\n /**\n * @returns {string | { str: string, errors: YAMLSyntaxError[] }}\n */\n\n\n get strValue() {\n if (!this.valueRange || !this.context) return null;\n const errors = [];\n const {\n start,\n end\n } = this.valueRange;\n const {\n indent,\n src\n } = this.context;\n if (src[end - 1] !== '\"') errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, 'Missing closing \"quote')); // Using String#replace is too painful with escaped newlines preceded by\n // escaped backslashes; also, this should be faster.\n\n let str = '';\n\n for (let i = start + 1; i < end - 1; ++i) {\n const ch = src[i];\n\n if (ch === '\\n') {\n if (PlainValueEc8e588e.Node.atDocumentBoundary(src, i + 1)) errors.push(new PlainValueEc8e588e.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));\n const {\n fold,\n offset,\n error\n } = PlainValueEc8e588e.Node.foldNewline(src, i, indent);\n str += fold;\n i = offset;\n if (error) errors.push(new PlainValueEc8e588e.YAMLSemanticError(this, 'Multi-line double-quoted string needs to be sufficiently indented'));\n } else if (ch === '\\\\') {\n i += 1;\n\n switch (src[i]) {\n case '0':\n str += '\\0';\n break;\n // null character\n\n case 'a':\n str += '\\x07';\n break;\n // bell character\n\n case 'b':\n str += '\\b';\n break;\n // backspace\n\n case 'e':\n str += '\\x1b';\n break;\n // escape character\n\n case 'f':\n str += '\\f';\n break;\n // form feed\n\n case 'n':\n str += '\\n';\n break;\n // line feed\n\n case 'r':\n str += '\\r';\n break;\n // carriage return\n\n case 't':\n str += '\\t';\n break;\n // horizontal tab\n\n case 'v':\n str += '\\v';\n break;\n // vertical tab\n\n case 'N':\n str += '\\u0085';\n break;\n // Unicode next line\n\n case '_':\n str += '\\u00a0';\n break;\n // Unicode non-breaking space\n\n case 'L':\n str += '\\u2028';\n break;\n // Unicode line separator\n\n case 'P':\n str += '\\u2029';\n break;\n // Unicode paragraph separator\n\n case ' ':\n str += ' ';\n break;\n\n case '\"':\n str += '\"';\n break;\n\n case '/':\n str += '/';\n break;\n\n case '\\\\':\n str += '\\\\';\n break;\n\n case '\\t':\n str += '\\t';\n break;\n\n case 'x':\n str += this.parseCharCode(i + 1, 2, errors);\n i += 2;\n break;\n\n case 'u':\n str += this.parseCharCode(i + 1, 4, errors);\n i += 4;\n break;\n\n case 'U':\n str += this.parseCharCode(i + 1, 8, errors);\n i += 8;\n break;\n\n case '\\n':\n // skip escaped newlines, but still trim the following line\n while (src[i + 1] === ' ' || src[i + 1] === '\\t') i += 1;\n\n break;\n\n default:\n errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(i - 1, 2)}`));\n str += '\\\\' + src[i];\n }\n } else if (ch === ' ' || ch === '\\t') {\n // trim trailing whitespace\n const wsStart = i;\n let next = src[i + 1];\n\n while (next === ' ' || next === '\\t') {\n i += 1;\n next = src[i + 1];\n }\n\n if (next !== '\\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch;\n } else {\n str += ch;\n }\n }\n\n return errors.length > 0 ? {\n errors,\n str\n } : str;\n }\n\n parseCharCode(offset, length, errors) {\n const {\n src\n } = this.context;\n const cc = src.substr(offset, length);\n const ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc);\n const code = ok ? parseInt(cc, 16) : NaN;\n\n if (isNaN(code)) {\n errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(offset - 2, length + 2)}`));\n return src.substr(offset - 2, length + 2);\n }\n\n return String.fromCodePoint(code);\n }\n /**\n * Parses a \"double quoted\" value from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar\n */\n\n\n parse(context, start) {\n this.context = context;\n const {\n src\n } = context;\n let offset = QuoteDouble.endOfQuote(src, start + 1);\n this.valueRange = new PlainValueEc8e588e.Range(start, offset);\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n return offset;\n }\n\n}\n\nclass QuoteSingle extends PlainValueEc8e588e.Node {\n static endOfQuote(src, offset) {\n let ch = src[offset];\n\n while (ch) {\n if (ch === \"'\") {\n if (src[offset + 1] !== \"'\") break;\n ch = src[offset += 2];\n } else {\n ch = src[offset += 1];\n }\n }\n\n return offset + 1;\n }\n /**\n * @returns {string | { str: string, errors: YAMLSyntaxError[] }}\n */\n\n\n get strValue() {\n if (!this.valueRange || !this.context) return null;\n const errors = [];\n const {\n start,\n end\n } = this.valueRange;\n const {\n indent,\n src\n } = this.context;\n if (src[end - 1] !== \"'\") errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, \"Missing closing 'quote\"));\n let str = '';\n\n for (let i = start + 1; i < end - 1; ++i) {\n const ch = src[i];\n\n if (ch === '\\n') {\n if (PlainValueEc8e588e.Node.atDocumentBoundary(src, i + 1)) errors.push(new PlainValueEc8e588e.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));\n const {\n fold,\n offset,\n error\n } = PlainValueEc8e588e.Node.foldNewline(src, i, indent);\n str += fold;\n i = offset;\n if (error) errors.push(new PlainValueEc8e588e.YAMLSemanticError(this, 'Multi-line single-quoted string needs to be sufficiently indented'));\n } else if (ch === \"'\") {\n str += ch;\n i += 1;\n if (src[i] !== \"'\") errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, 'Unescaped single quote? This should not happen.'));\n } else if (ch === ' ' || ch === '\\t') {\n // trim trailing whitespace\n const wsStart = i;\n let next = src[i + 1];\n\n while (next === ' ' || next === '\\t') {\n i += 1;\n next = src[i + 1];\n }\n\n if (next !== '\\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch;\n } else {\n str += ch;\n }\n }\n\n return errors.length > 0 ? {\n errors,\n str\n } : str;\n }\n /**\n * Parses a 'single quoted' value from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar\n */\n\n\n parse(context, start) {\n this.context = context;\n const {\n src\n } = context;\n let offset = QuoteSingle.endOfQuote(src, start + 1);\n this.valueRange = new PlainValueEc8e588e.Range(start, offset);\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n return offset;\n }\n\n}\n\nfunction createNewNode(type, props) {\n switch (type) {\n case PlainValueEc8e588e.Type.ALIAS:\n return new Alias(type, props);\n\n case PlainValueEc8e588e.Type.BLOCK_FOLDED:\n case PlainValueEc8e588e.Type.BLOCK_LITERAL:\n return new BlockValue(type, props);\n\n case PlainValueEc8e588e.Type.FLOW_MAP:\n case PlainValueEc8e588e.Type.FLOW_SEQ:\n return new FlowCollection(type, props);\n\n case PlainValueEc8e588e.Type.MAP_KEY:\n case PlainValueEc8e588e.Type.MAP_VALUE:\n case PlainValueEc8e588e.Type.SEQ_ITEM:\n return new CollectionItem(type, props);\n\n case PlainValueEc8e588e.Type.COMMENT:\n case PlainValueEc8e588e.Type.PLAIN:\n return new PlainValueEc8e588e.PlainValue(type, props);\n\n case PlainValueEc8e588e.Type.QUOTE_DOUBLE:\n return new QuoteDouble(type, props);\n\n case PlainValueEc8e588e.Type.QUOTE_SINGLE:\n return new QuoteSingle(type, props);\n\n /* istanbul ignore next */\n\n default:\n return null;\n // should never happen\n }\n}\n/**\n * @param {boolean} atLineStart - Node starts at beginning of line\n * @param {boolean} inFlow - true if currently in a flow context\n * @param {boolean} inCollection - true if currently in a collection context\n * @param {number} indent - Current level of indentation\n * @param {number} lineStart - Start of the current line\n * @param {Node} parent - The parent of the node\n * @param {string} src - Source of the YAML document\n */\n\n\nclass ParseContext {\n static parseType(src, offset, inFlow) {\n switch (src[offset]) {\n case '*':\n return PlainValueEc8e588e.Type.ALIAS;\n\n case '>':\n return PlainValueEc8e588e.Type.BLOCK_FOLDED;\n\n case '|':\n return PlainValueEc8e588e.Type.BLOCK_LITERAL;\n\n case '{':\n return PlainValueEc8e588e.Type.FLOW_MAP;\n\n case '[':\n return PlainValueEc8e588e.Type.FLOW_SEQ;\n\n case '?':\n return !inFlow && PlainValueEc8e588e.Node.atBlank(src, offset + 1, true) ? PlainValueEc8e588e.Type.MAP_KEY : PlainValueEc8e588e.Type.PLAIN;\n\n case ':':\n return !inFlow && PlainValueEc8e588e.Node.atBlank(src, offset + 1, true) ? PlainValueEc8e588e.Type.MAP_VALUE : PlainValueEc8e588e.Type.PLAIN;\n\n case '-':\n return !inFlow && PlainValueEc8e588e.Node.atBlank(src, offset + 1, true) ? PlainValueEc8e588e.Type.SEQ_ITEM : PlainValueEc8e588e.Type.PLAIN;\n\n case '\"':\n return PlainValueEc8e588e.Type.QUOTE_DOUBLE;\n\n case \"'\":\n return PlainValueEc8e588e.Type.QUOTE_SINGLE;\n\n default:\n return PlainValueEc8e588e.Type.PLAIN;\n }\n }\n\n constructor(orig = {}, {\n atLineStart,\n inCollection,\n inFlow,\n indent,\n lineStart,\n parent\n } = {}) {\n PlainValueEc8e588e._defineProperty(this, \"parseNode\", (overlay, start) => {\n if (PlainValueEc8e588e.Node.atDocumentBoundary(this.src, start)) return null;\n const context = new ParseContext(this, overlay);\n const {\n props,\n type,\n valueStart\n } = context.parseProps(start);\n const node = createNewNode(type, props);\n let offset = node.parse(context, valueStart);\n node.range = new PlainValueEc8e588e.Range(start, offset);\n /* istanbul ignore if */\n\n if (offset <= start) {\n // This should never happen, but if it does, let's make sure to at least\n // step one character forward to avoid a busy loop.\n node.error = new Error(`Node#parse consumed no characters`);\n node.error.parseEnd = offset;\n node.error.source = node;\n node.range.end = start + 1;\n }\n\n if (context.nodeStartsCollection(node)) {\n if (!node.error && !context.atLineStart && context.parent.type === PlainValueEc8e588e.Type.DOCUMENT) {\n node.error = new PlainValueEc8e588e.YAMLSyntaxError(node, 'Block collection must not have preceding content here (e.g. directives-end indicator)');\n }\n\n const collection = new Collection(node);\n offset = collection.parse(new ParseContext(context), offset);\n collection.range = new PlainValueEc8e588e.Range(start, offset);\n return collection;\n }\n\n return node;\n });\n\n this.atLineStart = atLineStart != null ? atLineStart : orig.atLineStart || false;\n this.inCollection = inCollection != null ? inCollection : orig.inCollection || false;\n this.inFlow = inFlow != null ? inFlow : orig.inFlow || false;\n this.indent = indent != null ? indent : orig.indent;\n this.lineStart = lineStart != null ? lineStart : orig.lineStart;\n this.parent = parent != null ? parent : orig.parent || {};\n this.root = orig.root;\n this.src = orig.src;\n }\n\n nodeStartsCollection(node) {\n const {\n inCollection,\n inFlow,\n src\n } = this;\n if (inCollection || inFlow) return false;\n if (node instanceof CollectionItem) return true; // check for implicit key\n\n let offset = node.range.end;\n if (src[offset] === '\\n' || src[offset - 1] === '\\n') return false;\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n return src[offset] === ':';\n } // Anchor and tag are before type, which determines the node implementation\n // class; hence this intermediate step.\n\n\n parseProps(offset) {\n const {\n inFlow,\n parent,\n src\n } = this;\n const props = [];\n let lineHasProps = false;\n offset = this.atLineStart ? PlainValueEc8e588e.Node.endOfIndent(src, offset) : PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);\n let ch = src[offset];\n\n while (ch === PlainValueEc8e588e.Char.ANCHOR || ch === PlainValueEc8e588e.Char.COMMENT || ch === PlainValueEc8e588e.Char.TAG || ch === '\\n') {\n if (ch === '\\n') {\n const lineStart = offset + 1;\n const inEnd = PlainValueEc8e588e.Node.endOfIndent(src, lineStart);\n const indentDiff = inEnd - (lineStart + this.indent);\n const noIndicatorAsIndent = parent.type === PlainValueEc8e588e.Type.SEQ_ITEM && parent.context.atLineStart;\n if (!PlainValueEc8e588e.Node.nextNodeIsIndented(src[inEnd], indentDiff, !noIndicatorAsIndent)) break;\n this.atLineStart = true;\n this.lineStart = lineStart;\n lineHasProps = false;\n offset = inEnd;\n } else if (ch === PlainValueEc8e588e.Char.COMMENT) {\n const end = PlainValueEc8e588e.Node.endOfLine(src, offset + 1);\n props.push(new PlainValueEc8e588e.Range(offset, end));\n offset = end;\n } else {\n let end = PlainValueEc8e588e.Node.endOfIdentifier(src, offset + 1);\n\n if (ch === PlainValueEc8e588e.Char.TAG && src[end] === ',' && /^[a-zA-Z0-9-]+\\.[a-zA-Z0-9-]+,\\d\\d\\d\\d(-\\d\\d){0,2}\\/\\S/.test(src.slice(offset + 1, end + 13))) {\n // Let's presume we're dealing with a YAML 1.0 domain tag here, rather\n // than an empty but 'foo.bar' private-tagged node in a flow collection\n // followed without whitespace by a plain string starting with a year\n // or date divided by something.\n end = PlainValueEc8e588e.Node.endOfIdentifier(src, end + 5);\n }\n\n props.push(new PlainValueEc8e588e.Range(offset, end));\n lineHasProps = true;\n offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, end);\n }\n\n ch = src[offset];\n } // '- &a : b' has an anchor on an empty node\n\n\n if (lineHasProps && ch === ':' && PlainValueEc8e588e.Node.atBlank(src, offset + 1, true)) offset -= 1;\n const type = ParseContext.parseType(src, offset, inFlow);\n return {\n props,\n type,\n valueStart: offset\n };\n }\n /**\n * Parses a node from the source\n * @param {ParseContext} overlay\n * @param {number} start - Index of first non-whitespace character for the node\n * @returns {?Node} - null if at a document boundary\n */\n\n\n} // Published as 'yaml/parse-cst'\n\n\nfunction parse(src) {\n const cr = [];\n\n if (src.indexOf('\\r') !== -1) {\n src = src.replace(/\\r\\n?/g, (match, offset) => {\n if (match.length > 1) cr.push(offset);\n return '\\n';\n });\n }\n\n const documents = [];\n let offset = 0;\n\n do {\n const doc = new Document();\n const context = new ParseContext({\n src\n });\n offset = doc.parse(context, offset);\n documents.push(doc);\n } while (offset < src.length);\n\n documents.setOrigRanges = () => {\n if (cr.length === 0) return false;\n\n for (let i = 1; i < cr.length; ++i) cr[i] -= i;\n\n let crOffset = 0;\n\n for (let i = 0; i < documents.length; ++i) {\n crOffset = documents[i].setOrigRanges(cr, crOffset);\n }\n\n cr.splice(0, cr.length);\n return true;\n };\n\n documents.toString = () => documents.join('...\\n');\n\n return documents;\n}\n\nvar parse_1 = parse;\nvar parseCst = {\n parse: parse_1\n};\n\nfunction addCommentBefore(str, indent, comment) {\n if (!comment) return str;\n const cc = comment.replace(/[\\s\\S]^/gm, `$&${indent}#`);\n return `#${cc}\\n${indent}${str}`;\n}\n\nfunction addComment(str, indent, comment) {\n return !comment ? str : comment.indexOf('\\n') === -1 ? `${str} #${comment}` : `${str}\\n` + comment.replace(/^/gm, `${indent || ''}#`);\n}\n\nclass Node$1 {}\n\nfunction toJSON(value, arg, ctx) {\n if (Array.isArray(value)) return value.map((v, i) => toJSON(v, String(i), ctx));\n\n if (value && typeof value.toJSON === 'function') {\n const anchor = ctx && ctx.anchors && ctx.anchors.get(value);\n if (anchor) ctx.onCreate = res => {\n anchor.res = res;\n delete ctx.onCreate;\n };\n const res = value.toJSON(arg, ctx);\n if (anchor && ctx.onCreate) ctx.onCreate(res);\n return res;\n }\n\n if ((!ctx || !ctx.keep) && typeof value === 'bigint') return Number(value);\n return value;\n}\n\nclass Scalar extends Node$1 {\n constructor(value) {\n super();\n this.value = value;\n }\n\n toJSON(arg, ctx) {\n return ctx && ctx.keep ? this.value : toJSON(this.value, arg, ctx);\n }\n\n toString() {\n return String(this.value);\n }\n\n}\n\nfunction collectionFromPath(schema, path, value) {\n let v = value;\n\n for (let i = path.length - 1; i >= 0; --i) {\n const k = path[i];\n const o = Number.isInteger(k) && k >= 0 ? [] : {};\n o[k] = v;\n v = o;\n }\n\n return schema.createNode(v, false);\n} // null, undefined, or an empty non-string iterable (e.g. [])\n\n\nconst isEmptyPath = path => path == null || typeof path === 'object' && path[Symbol.iterator]().next().done;\n\nclass Collection$1 extends Node$1 {\n constructor(schema) {\n super();\n\n PlainValueEc8e588e._defineProperty(this, \"items\", []);\n\n this.schema = schema;\n }\n\n addIn(path, value) {\n if (isEmptyPath(path)) this.add(value);else {\n const [key, ...rest] = path;\n const node = this.get(key, true);\n if (node instanceof Collection$1) node.addIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);\n }\n }\n\n deleteIn([key, ...rest]) {\n if (rest.length === 0) return this.delete(key);\n const node = this.get(key, true);\n if (node instanceof Collection$1) return node.deleteIn(rest);else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);\n }\n\n getIn([key, ...rest], keepScalar) {\n const node = this.get(key, true);\n if (rest.length === 0) return !keepScalar && node instanceof Scalar ? node.value : node;else return node instanceof Collection$1 ? node.getIn(rest, keepScalar) : undefined;\n }\n\n hasAllNullValues() {\n return this.items.every(node => {\n if (!node || node.type !== 'PAIR') return false;\n const n = node.value;\n return n == null || n instanceof Scalar && n.value == null && !n.commentBefore && !n.comment && !n.tag;\n });\n }\n\n hasIn([key, ...rest]) {\n if (rest.length === 0) return this.has(key);\n const node = this.get(key, true);\n return node instanceof Collection$1 ? node.hasIn(rest) : false;\n }\n\n setIn([key, ...rest], value) {\n if (rest.length === 0) {\n this.set(key, value);\n } else {\n const node = this.get(key, true);\n if (node instanceof Collection$1) node.setIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);\n }\n } // overridden in implementations\n\n /* istanbul ignore next */\n\n\n toJSON() {\n return null;\n }\n\n toString(ctx, {\n blockItem,\n flowChars,\n isMap,\n itemIndent\n }, onComment, onChompKeep) {\n const {\n indent,\n indentStep,\n stringify\n } = ctx;\n const inFlow = this.type === PlainValueEc8e588e.Type.FLOW_MAP || this.type === PlainValueEc8e588e.Type.FLOW_SEQ || ctx.inFlow;\n if (inFlow) itemIndent += indentStep;\n const allNullValues = isMap && this.hasAllNullValues();\n ctx = Object.assign({}, ctx, {\n allNullValues,\n indent: itemIndent,\n inFlow,\n type: null\n });\n let chompKeep = false;\n let hasItemWithNewLine = false;\n const nodes = this.items.reduce((nodes, item, i) => {\n let comment;\n\n if (item) {\n if (!chompKeep && item.spaceBefore) nodes.push({\n type: 'comment',\n str: ''\n });\n if (item.commentBefore) item.commentBefore.match(/^.*$/gm).forEach(line => {\n nodes.push({\n type: 'comment',\n str: `#${line}`\n });\n });\n if (item.comment) comment = item.comment;\n if (inFlow && (!chompKeep && item.spaceBefore || item.commentBefore || item.comment || item.key && (item.key.commentBefore || item.key.comment) || item.value && (item.value.commentBefore || item.value.comment))) hasItemWithNewLine = true;\n }\n\n chompKeep = false;\n let str = stringify(item, ctx, () => comment = null, () => chompKeep = true);\n if (inFlow && !hasItemWithNewLine && str.includes('\\n')) hasItemWithNewLine = true;\n if (inFlow && i < this.items.length - 1) str += ',';\n str = addComment(str, itemIndent, comment);\n if (chompKeep && (comment || inFlow)) chompKeep = false;\n nodes.push({\n type: 'item',\n str\n });\n return nodes;\n }, []);\n let str;\n\n if (nodes.length === 0) {\n str = flowChars.start + flowChars.end;\n } else if (inFlow) {\n const {\n start,\n end\n } = flowChars;\n const strings = nodes.map(n => n.str);\n\n if (hasItemWithNewLine || strings.reduce((sum, str) => sum + str.length + 2, 2) > Collection$1.maxFlowStringSingleLineLength) {\n str = start;\n\n for (const s of strings) {\n str += s ? `\\n${indentStep}${indent}${s}` : '\\n';\n }\n\n str += `\\n${indent}${end}`;\n } else {\n str = `${start} ${strings.join(' ')} ${end}`;\n }\n } else {\n const strings = nodes.map(blockItem);\n str = strings.shift();\n\n for (const s of strings) str += s ? `\\n${indent}${s}` : '\\n';\n }\n\n if (this.comment) {\n str += '\\n' + this.comment.replace(/^/gm, `${indent}#`);\n if (onComment) onComment();\n } else if (chompKeep && onChompKeep) onChompKeep();\n\n return str;\n }\n\n}\n\nPlainValueEc8e588e._defineProperty(Collection$1, \"maxFlowStringSingleLineLength\", 60);\n\nfunction asItemIndex(key) {\n let idx = key instanceof Scalar ? key.value : key;\n if (idx && typeof idx === 'string') idx = Number(idx);\n return Number.isInteger(idx) && idx >= 0 ? idx : null;\n}\n\nclass YAMLSeq extends Collection$1 {\n add(value) {\n this.items.push(value);\n }\n\n delete(key) {\n const idx = asItemIndex(key);\n if (typeof idx !== 'number') return false;\n const del = this.items.splice(idx, 1);\n return del.length > 0;\n }\n\n get(key, keepScalar) {\n const idx = asItemIndex(key);\n if (typeof idx !== 'number') return undefined;\n const it = this.items[idx];\n return !keepScalar && it instanceof Scalar ? it.value : it;\n }\n\n has(key) {\n const idx = asItemIndex(key);\n return typeof idx === 'number' && idx < this.items.length;\n }\n\n set(key, value) {\n const idx = asItemIndex(key);\n if (typeof idx !== 'number') throw new Error(`Expected a valid index, not ${key}.`);\n this.items[idx] = value;\n }\n\n toJSON(_, ctx) {\n const seq = [];\n if (ctx && ctx.onCreate) ctx.onCreate(seq);\n let i = 0;\n\n for (const item of this.items) seq.push(toJSON(item, String(i++), ctx));\n\n return seq;\n }\n\n toString(ctx, onComment, onChompKeep) {\n if (!ctx) return JSON.stringify(this);\n return super.toString(ctx, {\n blockItem: n => n.type === 'comment' ? n.str : `- ${n.str}`,\n flowChars: {\n start: '[',\n end: ']'\n },\n isMap: false,\n itemIndent: (ctx.indent || '') + ' '\n }, onComment, onChompKeep);\n }\n\n}\n\nconst stringifyKey = (key, jsKey, ctx) => {\n if (jsKey === null) return '';\n if (typeof jsKey !== 'object') return String(jsKey);\n if (key instanceof Node$1 && ctx && ctx.doc) return key.toString({\n anchors: {},\n doc: ctx.doc,\n indent: '',\n indentStep: ctx.indentStep,\n inFlow: true,\n inStringifyKey: true,\n stringify: ctx.stringify\n });\n return JSON.stringify(jsKey);\n};\n\nclass Pair extends Node$1 {\n constructor(key, value = null) {\n super();\n this.key = key;\n this.value = value;\n this.type = Pair.Type.PAIR;\n }\n\n get commentBefore() {\n return this.key instanceof Node$1 ? this.key.commentBefore : undefined;\n }\n\n set commentBefore(cb) {\n if (this.key == null) this.key = new Scalar(null);\n if (this.key instanceof Node$1) this.key.commentBefore = cb;else {\n const msg = 'Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.';\n throw new Error(msg);\n }\n }\n\n addToJSMap(ctx, map) {\n const key = toJSON(this.key, '', ctx);\n\n if (map instanceof Map) {\n const value = toJSON(this.value, key, ctx);\n map.set(key, value);\n } else if (map instanceof Set) {\n map.add(key);\n } else {\n const stringKey = stringifyKey(this.key, key, ctx);\n map[stringKey] = toJSON(this.value, stringKey, ctx);\n }\n\n return map;\n }\n\n toJSON(_, ctx) {\n const pair = ctx && ctx.mapAsMap ? new Map() : {};\n return this.addToJSMap(ctx, pair);\n }\n\n toString(ctx, onComment, onChompKeep) {\n if (!ctx || !ctx.doc) return JSON.stringify(this);\n const {\n indent: indentSize,\n indentSeq,\n simpleKeys\n } = ctx.doc.options;\n let {\n key,\n value\n } = this;\n let keyComment = key instanceof Node$1 && key.comment;\n\n if (simpleKeys) {\n if (keyComment) {\n throw new Error('With simple keys, key nodes cannot have comments');\n }\n\n if (key instanceof Collection$1) {\n const msg = 'With simple keys, collection cannot be used as a key value';\n throw new Error(msg);\n }\n }\n\n const explicitKey = !simpleKeys && (!key || keyComment || key instanceof Collection$1 || key.type === PlainValueEc8e588e.Type.BLOCK_FOLDED || key.type === PlainValueEc8e588e.Type.BLOCK_LITERAL);\n const {\n doc,\n indent,\n indentStep,\n stringify\n } = ctx;\n ctx = Object.assign({}, ctx, {\n implicitKey: !explicitKey,\n indent: indent + indentStep\n });\n let chompKeep = false;\n let str = stringify(key, ctx, () => keyComment = null, () => chompKeep = true);\n str = addComment(str, ctx.indent, keyComment);\n\n if (ctx.allNullValues && !simpleKeys) {\n if (this.comment) {\n str = addComment(str, ctx.indent, this.comment);\n if (onComment) onComment();\n } else if (chompKeep && !keyComment && onChompKeep) onChompKeep();\n\n return ctx.inFlow ? str : `? ${str}`;\n }\n\n str = explicitKey ? `? ${str}\\n${indent}:` : `${str}:`;\n\n if (this.comment) {\n // expected (but not strictly required) to be a single-line comment\n str = addComment(str, ctx.indent, this.comment);\n if (onComment) onComment();\n }\n\n let vcb = '';\n let valueComment = null;\n\n if (value instanceof Node$1) {\n if (value.spaceBefore) vcb = '\\n';\n\n if (value.commentBefore) {\n const cs = value.commentBefore.replace(/^/gm, `${ctx.indent}#`);\n vcb += `\\n${cs}`;\n }\n\n valueComment = value.comment;\n } else if (value && typeof value === 'object') {\n value = doc.schema.createNode(value, true);\n }\n\n ctx.implicitKey = false;\n if (!explicitKey && !this.comment && value instanceof Scalar) ctx.indentAtStart = str.length + 1;\n chompKeep = false;\n\n if (!indentSeq && indentSize >= 2 && !ctx.inFlow && !explicitKey && value instanceof YAMLSeq && value.type !== PlainValueEc8e588e.Type.FLOW_SEQ && !value.tag && !doc.anchors.getName(value)) {\n // If indentSeq === false, consider '- ' as part of indentation where possible\n ctx.indent = ctx.indent.substr(2);\n }\n\n const valueStr = stringify(value, ctx, () => valueComment = null, () => chompKeep = true);\n let ws = ' ';\n\n if (vcb || this.comment) {\n ws = `${vcb}\\n${ctx.indent}`;\n } else if (!explicitKey && value instanceof Collection$1) {\n const flow = valueStr[0] === '[' || valueStr[0] === '{';\n if (!flow || valueStr.includes('\\n')) ws = `\\n${ctx.indent}`;\n }\n\n if (chompKeep && !valueComment && onChompKeep) onChompKeep();\n return addComment(str + ws + valueStr, ctx.indent, valueComment);\n }\n\n}\n\nPlainValueEc8e588e._defineProperty(Pair, \"Type\", {\n PAIR: 'PAIR',\n MERGE_PAIR: 'MERGE_PAIR'\n});\n\nconst getAliasCount = (node, anchors) => {\n if (node instanceof Alias$1) {\n const anchor = anchors.get(node.source);\n return anchor.count * anchor.aliasCount;\n } else if (node instanceof Collection$1) {\n let count = 0;\n\n for (const item of node.items) {\n const c = getAliasCount(item, anchors);\n if (c > count) count = c;\n }\n\n return count;\n } else if (node instanceof Pair) {\n const kc = getAliasCount(node.key, anchors);\n const vc = getAliasCount(node.value, anchors);\n return Math.max(kc, vc);\n }\n\n return 1;\n};\n\nclass Alias$1 extends Node$1 {\n static stringify({\n range,\n source\n }, {\n anchors,\n doc,\n implicitKey,\n inStringifyKey\n }) {\n let anchor = Object.keys(anchors).find(a => anchors[a] === source);\n if (!anchor && inStringifyKey) anchor = doc.anchors.getName(source) || doc.anchors.newName();\n if (anchor) return `*${anchor}${implicitKey ? ' ' : ''}`;\n const msg = doc.anchors.getName(source) ? 'Alias node must be after source node' : 'Source node not found for alias node';\n throw new Error(`${msg} [${range}]`);\n }\n\n constructor(source) {\n super();\n this.source = source;\n this.type = PlainValueEc8e588e.Type.ALIAS;\n }\n\n set tag(t) {\n throw new Error('Alias nodes cannot have tags');\n }\n\n toJSON(arg, ctx) {\n if (!ctx) return toJSON(this.source, arg, ctx);\n const {\n anchors,\n maxAliasCount\n } = ctx;\n const anchor = anchors.get(this.source);\n /* istanbul ignore if */\n\n if (!anchor || anchor.res === undefined) {\n const msg = 'This should not happen: Alias anchor was not resolved?';\n if (this.cstNode) throw new PlainValueEc8e588e.YAMLReferenceError(this.cstNode, msg);else throw new ReferenceError(msg);\n }\n\n if (maxAliasCount >= 0) {\n anchor.count += 1;\n if (anchor.aliasCount === 0) anchor.aliasCount = getAliasCount(this.source, anchors);\n\n if (anchor.count * anchor.aliasCount > maxAliasCount) {\n const msg = 'Excessive alias count indicates a resource exhaustion attack';\n if (this.cstNode) throw new PlainValueEc8e588e.YAMLReferenceError(this.cstNode, msg);else throw new ReferenceError(msg);\n }\n }\n\n return anchor.res;\n } // Only called when stringifying an alias mapping key while constructing\n // Object output.\n\n\n toString(ctx) {\n return Alias$1.stringify(this, ctx);\n }\n\n}\n\nPlainValueEc8e588e._defineProperty(Alias$1, \"default\", true);\n\nfunction findPair(items, key) {\n const k = key instanceof Scalar ? key.value : key;\n\n for (const it of items) {\n if (it instanceof Pair) {\n if (it.key === key || it.key === k) return it;\n if (it.key && it.key.value === k) return it;\n }\n }\n\n return undefined;\n}\n\nclass YAMLMap extends Collection$1 {\n add(pair, overwrite) {\n if (!pair) pair = new Pair(pair);else if (!(pair instanceof Pair)) pair = new Pair(pair.key || pair, pair.value);\n const prev = findPair(this.items, pair.key);\n const sortEntries = this.schema && this.schema.sortMapEntries;\n\n if (prev) {\n if (overwrite) prev.value = pair.value;else throw new Error(`Key ${pair.key} already set`);\n } else if (sortEntries) {\n const i = this.items.findIndex(item => sortEntries(pair, item) < 0);\n if (i === -1) this.items.push(pair);else this.items.splice(i, 0, pair);\n } else {\n this.items.push(pair);\n }\n }\n\n delete(key) {\n const it = findPair(this.items, key);\n if (!it) return false;\n const del = this.items.splice(this.items.indexOf(it), 1);\n return del.length > 0;\n }\n\n get(key, keepScalar) {\n const it = findPair(this.items, key);\n const node = it && it.value;\n return !keepScalar && node instanceof Scalar ? node.value : node;\n }\n\n has(key) {\n return !!findPair(this.items, key);\n }\n\n set(key, value) {\n this.add(new Pair(key, value), true);\n }\n /**\n * @param {*} arg ignored\n * @param {*} ctx Conversion context, originally set in Document#toJSON()\n * @param {Class} Type If set, forces the returned collection type\n * @returns {*} Instance of Type, Map, or Object\n */\n\n\n toJSON(_, ctx, Type) {\n const map = Type ? new Type() : ctx && ctx.mapAsMap ? new Map() : {};\n if (ctx && ctx.onCreate) ctx.onCreate(map);\n\n for (const item of this.items) item.addToJSMap(ctx, map);\n\n return map;\n }\n\n toString(ctx, onComment, onChompKeep) {\n if (!ctx) return JSON.stringify(this);\n\n for (const item of this.items) {\n if (!(item instanceof Pair)) throw new Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`);\n }\n\n return super.toString(ctx, {\n blockItem: n => n.str,\n flowChars: {\n start: '{',\n end: '}'\n },\n isMap: true,\n itemIndent: ctx.indent || ''\n }, onComment, onChompKeep);\n }\n\n}\n\nconst MERGE_KEY = '<<';\n\nclass Merge extends Pair {\n constructor(pair) {\n if (pair instanceof Pair) {\n let seq = pair.value;\n\n if (!(seq instanceof YAMLSeq)) {\n seq = new YAMLSeq();\n seq.items.push(pair.value);\n seq.range = pair.value.range;\n }\n\n super(pair.key, seq);\n this.range = pair.range;\n } else {\n super(new Scalar(MERGE_KEY), new YAMLSeq());\n }\n\n this.type = Pair.Type.MERGE_PAIR;\n } // If the value associated with a merge key is a single mapping node, each of\n // its key/value pairs is inserted into the current mapping, unless the key\n // already exists in it. If the value associated with the merge key is a\n // sequence, then this sequence is expected to contain mapping nodes and each\n // of these nodes is merged in turn according to its order in the sequence.\n // Keys in mapping nodes earlier in the sequence override keys specified in\n // later mapping nodes. -- http://yaml.org/type/merge.html\n\n\n addToJSMap(ctx, map) {\n for (const {\n source\n } of this.value.items) {\n if (!(source instanceof YAMLMap)) throw new Error('Merge sources must be maps');\n const srcMap = source.toJSON(null, ctx, Map);\n\n for (const [key, value] of srcMap) {\n if (map instanceof Map) {\n if (!map.has(key)) map.set(key, value);\n } else if (map instanceof Set) {\n map.add(key);\n } else {\n if (!Object.prototype.hasOwnProperty.call(map, key)) map[key] = value;\n }\n }\n }\n\n return map;\n }\n\n toString(ctx, onComment) {\n const seq = this.value;\n if (seq.items.length > 1) return super.toString(ctx, onComment);\n this.value = seq.items[0];\n const str = super.toString(ctx, onComment);\n this.value = seq;\n return str;\n }\n\n}\n\nconst binaryOptions = {\n defaultType: PlainValueEc8e588e.Type.BLOCK_LITERAL,\n lineWidth: 76\n};\nconst boolOptions = {\n trueStr: 'true',\n falseStr: 'false'\n};\nconst intOptions = {\n asBigInt: false\n};\nconst nullOptions = {\n nullStr: 'null'\n};\nconst strOptions = {\n defaultType: PlainValueEc8e588e.Type.PLAIN,\n doubleQuoted: {\n jsonEncoding: false,\n minMultiLineLength: 40\n },\n fold: {\n lineWidth: 80,\n minContentWidth: 20\n }\n};\n\nfunction resolveScalar(str, tags, scalarFallback) {\n for (const {\n format,\n test,\n resolve\n } of tags) {\n if (test) {\n const match = str.match(test);\n\n if (match) {\n let res = resolve.apply(null, match);\n if (!(res instanceof Scalar)) res = new Scalar(res);\n if (format) res.format = format;\n return res;\n }\n }\n }\n\n if (scalarFallback) str = scalarFallback(str);\n return new Scalar(str);\n}\n\nconst FOLD_FLOW = 'flow';\nconst FOLD_BLOCK = 'block';\nconst FOLD_QUOTED = 'quoted'; // presumes i+1 is at the start of a line\n// returns index of last newline in more-indented block\n\nconst consumeMoreIndentedLines = (text, i) => {\n let ch = text[i + 1];\n\n while (ch === ' ' || ch === '\\t') {\n do {\n ch = text[i += 1];\n } while (ch && ch !== '\\n');\n\n ch = text[i + 1];\n }\n\n return i;\n};\n/**\n * Tries to keep input at up to `lineWidth` characters, splitting only on spaces\n * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are\n * terminated with `\\n` and started with `indent`.\n *\n * @param {string} text\n * @param {string} indent\n * @param {string} [mode='flow'] `'block'` prevents more-indented lines\n * from being folded; `'quoted'` allows for `\\` escapes, including escaped\n * newlines\n * @param {Object} options\n * @param {number} [options.indentAtStart] Accounts for leading contents on\n * the first line, defaulting to `indent.length`\n * @param {number} [options.lineWidth=80]\n * @param {number} [options.minContentWidth=20] Allow highly indented lines to\n * stretch the line width\n * @param {function} options.onFold Called once if the text is folded\n * @param {function} options.onFold Called once if any line of text exceeds\n * lineWidth characters\n */\n\n\nfunction foldFlowLines(text, indent, mode, {\n indentAtStart,\n lineWidth = 80,\n minContentWidth = 20,\n onFold,\n onOverflow\n}) {\n if (!lineWidth || lineWidth < 0) return text;\n const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length);\n if (text.length <= endStep) return text;\n const folds = [];\n const escapedFolds = {};\n let end = lineWidth - (typeof indentAtStart === 'number' ? indentAtStart : indent.length);\n let split = undefined;\n let prev = undefined;\n let overflow = false;\n let i = -1;\n\n if (mode === FOLD_BLOCK) {\n i = consumeMoreIndentedLines(text, i);\n if (i !== -1) end = i + endStep;\n }\n\n for (let ch; ch = text[i += 1];) {\n if (mode === FOLD_QUOTED && ch === '\\\\') {\n switch (text[i + 1]) {\n case 'x':\n i += 3;\n break;\n\n case 'u':\n i += 5;\n break;\n\n case 'U':\n i += 9;\n break;\n\n default:\n i += 1;\n }\n }\n\n if (ch === '\\n') {\n if (mode === FOLD_BLOCK) i = consumeMoreIndentedLines(text, i);\n end = i + endStep;\n split = undefined;\n } else {\n if (ch === ' ' && prev && prev !== ' ' && prev !== '\\n' && prev !== '\\t') {\n // space surrounded by non-space can be replaced with newline + indent\n const next = text[i + 1];\n if (next && next !== ' ' && next !== '\\n' && next !== '\\t') split = i;\n }\n\n if (i >= end) {\n if (split) {\n folds.push(split);\n end = split + endStep;\n split = undefined;\n } else if (mode === FOLD_QUOTED) {\n // white-space collected at end may stretch past lineWidth\n while (prev === ' ' || prev === '\\t') {\n prev = ch;\n ch = text[i += 1];\n overflow = true;\n } // i - 2 accounts for not-dropped last char + newline-escaping \\\n\n\n folds.push(i - 2);\n escapedFolds[i - 2] = true;\n end = i - 2 + endStep;\n split = undefined;\n } else {\n overflow = true;\n }\n }\n }\n\n prev = ch;\n }\n\n if (overflow && onOverflow) onOverflow();\n if (folds.length === 0) return text;\n if (onFold) onFold();\n let res = text.slice(0, folds[0]);\n\n for (let i = 0; i < folds.length; ++i) {\n const fold = folds[i];\n const end = folds[i + 1] || text.length;\n if (mode === FOLD_QUOTED && escapedFolds[fold]) res += `${text[fold]}\\\\`;\n res += `\\n${indent}${text.slice(fold + 1, end)}`;\n }\n\n return res;\n}\n\nconst getFoldOptions = ({\n indentAtStart\n}) => indentAtStart ? Object.assign({\n indentAtStart\n}, strOptions.fold) : strOptions.fold; // Also checks for lines starting with %, as parsing the output as YAML 1.1 will\n// presume that's starting a new document.\n\n\nconst containsDocumentMarker = str => /^(%|---|\\.\\.\\.)/m.test(str);\n\nfunction lineLengthOverLimit(str, limit) {\n const strLen = str.length;\n if (strLen <= limit) return false;\n\n for (let i = 0, start = 0; i < strLen; ++i) {\n if (str[i] === '\\n') {\n if (i - start > limit) return true;\n start = i + 1;\n if (strLen - start <= limit) return false;\n }\n }\n\n return true;\n}\n\nfunction doubleQuotedString(value, ctx) {\n const {\n implicitKey\n } = ctx;\n const {\n jsonEncoding,\n minMultiLineLength\n } = strOptions.doubleQuoted;\n const json = JSON.stringify(value);\n if (jsonEncoding) return json;\n const indent = ctx.indent || (containsDocumentMarker(value) ? ' ' : '');\n let str = '';\n let start = 0;\n\n for (let i = 0, ch = json[i]; ch; ch = json[++i]) {\n if (ch === ' ' && json[i + 1] === '\\\\' && json[i + 2] === 'n') {\n // space before newline needs to be escaped to not be folded\n str += json.slice(start, i) + '\\\\ ';\n i += 1;\n start = i;\n ch = '\\\\';\n }\n\n if (ch === '\\\\') switch (json[i + 1]) {\n case 'u':\n {\n str += json.slice(start, i);\n const code = json.substr(i + 2, 4);\n\n switch (code) {\n case '0000':\n str += '\\\\0';\n break;\n\n case '0007':\n str += '\\\\a';\n break;\n\n case '000b':\n str += '\\\\v';\n break;\n\n case '001b':\n str += '\\\\e';\n break;\n\n case '0085':\n str += '\\\\N';\n break;\n\n case '00a0':\n str += '\\\\_';\n break;\n\n case '2028':\n str += '\\\\L';\n break;\n\n case '2029':\n str += '\\\\P';\n break;\n\n default:\n if (code.substr(0, 2) === '00') str += '\\\\x' + code.substr(2);else str += json.substr(i, 6);\n }\n\n i += 5;\n start = i + 1;\n }\n break;\n\n case 'n':\n if (implicitKey || json[i + 2] === '\"' || json.length < minMultiLineLength) {\n i += 1;\n } else {\n // folding will eat first newline\n str += json.slice(start, i) + '\\n\\n';\n\n while (json[i + 2] === '\\\\' && json[i + 3] === 'n' && json[i + 4] !== '\"') {\n str += '\\n';\n i += 2;\n }\n\n str += indent; // space after newline needs to be escaped to not be folded\n\n if (json[i + 2] === ' ') str += '\\\\';\n i += 1;\n start = i + 1;\n }\n\n break;\n\n default:\n i += 1;\n }\n }\n\n str = start ? str + json.slice(start) : json;\n return implicitKey ? str : foldFlowLines(str, indent, FOLD_QUOTED, getFoldOptions(ctx));\n}\n\nfunction singleQuotedString(value, ctx) {\n if (ctx.implicitKey) {\n if (/\\n/.test(value)) return doubleQuotedString(value, ctx);\n } else {\n // single quoted string can't have leading or trailing whitespace around newline\n if (/[ \\t]\\n|\\n[ \\t]/.test(value)) return doubleQuotedString(value, ctx);\n }\n\n const indent = ctx.indent || (containsDocumentMarker(value) ? ' ' : '');\n const res = \"'\" + value.replace(/'/g, \"''\").replace(/\\n+/g, `$&\\n${indent}`) + \"'\";\n return ctx.implicitKey ? res : foldFlowLines(res, indent, FOLD_FLOW, getFoldOptions(ctx));\n}\n\nfunction blockString({\n comment,\n type,\n value\n}, ctx, onComment, onChompKeep) {\n // 1. Block can't end in whitespace unless the last line is non-empty.\n // 2. Strings consisting of only whitespace are best rendered explicitly.\n if (/\\n[\\t ]+$/.test(value) || /^\\s*$/.test(value)) {\n return doubleQuotedString(value, ctx);\n }\n\n const indent = ctx.indent || (ctx.forceBlockIndent || containsDocumentMarker(value) ? ' ' : '');\n const indentSize = indent ? '2' : '1'; // root is at -1\n\n const literal = type === PlainValueEc8e588e.Type.BLOCK_FOLDED ? false : type === PlainValueEc8e588e.Type.BLOCK_LITERAL ? true : !lineLengthOverLimit(value, strOptions.fold.lineWidth - indent.length);\n let header = literal ? '|' : '>';\n if (!value) return header + '\\n';\n let wsStart = '';\n let wsEnd = '';\n value = value.replace(/[\\n\\t ]*$/, ws => {\n const n = ws.indexOf('\\n');\n\n if (n === -1) {\n header += '-'; // strip\n } else if (value === ws || n !== ws.length - 1) {\n header += '+'; // keep\n\n if (onChompKeep) onChompKeep();\n }\n\n wsEnd = ws.replace(/\\n$/, '');\n return '';\n }).replace(/^[\\n ]*/, ws => {\n if (ws.indexOf(' ') !== -1) header += indentSize;\n const m = ws.match(/ +$/);\n\n if (m) {\n wsStart = ws.slice(0, -m[0].length);\n return m[0];\n } else {\n wsStart = ws;\n return '';\n }\n });\n if (wsEnd) wsEnd = wsEnd.replace(/\\n+(?!\\n|$)/g, `$&${indent}`);\n if (wsStart) wsStart = wsStart.replace(/\\n+/g, `$&${indent}`);\n\n if (comment) {\n header += ' #' + comment.replace(/ ?[\\r\\n]+/g, ' ');\n if (onComment) onComment();\n }\n\n if (!value) return `${header}${indentSize}\\n${indent}${wsEnd}`;\n\n if (literal) {\n value = value.replace(/\\n+/g, `$&${indent}`);\n return `${header}\\n${indent}${wsStart}${value}${wsEnd}`;\n }\n\n value = value.replace(/\\n+/g, '\\n$&').replace(/(?:^|\\n)([\\t ].*)(?:([\\n\\t ]*)\\n(?![\\n\\t ]))?/g, '$1$2') // more-indented lines aren't folded\n // ^ ind.line ^ empty ^ capture next empty lines only at end of indent\n .replace(/\\n+/g, `$&${indent}`);\n const body = foldFlowLines(`${wsStart}${value}${wsEnd}`, indent, FOLD_BLOCK, strOptions.fold);\n return `${header}\\n${indent}${body}`;\n}\n\nfunction plainString(item, ctx, onComment, onChompKeep) {\n const {\n comment,\n type,\n value\n } = item;\n const {\n actualString,\n implicitKey,\n indent,\n inFlow\n } = ctx;\n\n if (implicitKey && /[\\n[\\]{},]/.test(value) || inFlow && /[[\\]{},]/.test(value)) {\n return doubleQuotedString(value, ctx);\n }\n\n if (!value || /^[\\n\\t ,[\\]{}#&*!|>'\"%@`]|^[?-]$|^[?-][ \\t]|[\\n:][ \\t]|[ \\t]\\n|[\\n\\t ]#|[\\n\\t :]$/.test(value)) {\n // not allowed:\n // - empty string, '-' or '?'\n // - start with an indicator character (except [?:-]) or /[?-] /\n // - '\\n ', ': ' or ' \\n' anywhere\n // - '#' not preceded by a non-space char\n // - end with ' ' or ':'\n return implicitKey || inFlow || value.indexOf('\\n') === -1 ? value.indexOf('\"') !== -1 && value.indexOf(\"'\") === -1 ? singleQuotedString(value, ctx) : doubleQuotedString(value, ctx) : blockString(item, ctx, onComment, onChompKeep);\n }\n\n if (!implicitKey && !inFlow && type !== PlainValueEc8e588e.Type.PLAIN && value.indexOf('\\n') !== -1) {\n // Where allowed & type not set explicitly, prefer block style for multiline strings\n return blockString(item, ctx, onComment, onChompKeep);\n }\n\n if (indent === '' && containsDocumentMarker(value)) {\n ctx.forceBlockIndent = true;\n return blockString(item, ctx, onComment, onChompKeep);\n }\n\n const str = value.replace(/\\n+/g, `$&\\n${indent}`); // Verify that output will be parsed as a string, as e.g. plain numbers and\n // booleans get parsed with those types in v1.2 (e.g. '42', 'true' & '0.9e-3'),\n // and others in v1.1.\n\n if (actualString) {\n const {\n tags\n } = ctx.doc.schema;\n const resolved = resolveScalar(str, tags, tags.scalarFallback).value;\n if (typeof resolved !== 'string') return doubleQuotedString(value, ctx);\n }\n\n const body = implicitKey ? str : foldFlowLines(str, indent, FOLD_FLOW, getFoldOptions(ctx));\n\n if (comment && !inFlow && (body.indexOf('\\n') !== -1 || comment.indexOf('\\n') !== -1)) {\n if (onComment) onComment();\n return addCommentBefore(body, indent, comment);\n }\n\n return body;\n}\n\nfunction stringifyString(item, ctx, onComment, onChompKeep) {\n const {\n defaultType\n } = strOptions;\n const {\n implicitKey,\n inFlow\n } = ctx;\n let {\n type,\n value\n } = item;\n\n if (typeof value !== 'string') {\n value = String(value);\n item = Object.assign({}, item, {\n value\n });\n }\n\n const _stringify = _type => {\n switch (_type) {\n case PlainValueEc8e588e.Type.BLOCK_FOLDED:\n case PlainValueEc8e588e.Type.BLOCK_LITERAL:\n return blockString(item, ctx, onComment, onChompKeep);\n\n case PlainValueEc8e588e.Type.QUOTE_DOUBLE:\n return doubleQuotedString(value, ctx);\n\n case PlainValueEc8e588e.Type.QUOTE_SINGLE:\n return singleQuotedString(value, ctx);\n\n case PlainValueEc8e588e.Type.PLAIN:\n return plainString(item, ctx, onComment, onChompKeep);\n\n default:\n return null;\n }\n };\n\n if (type !== PlainValueEc8e588e.Type.QUOTE_DOUBLE && /[\\x00-\\x08\\x0b-\\x1f\\x7f-\\x9f]/.test(value)) {\n // force double quotes on control characters\n type = PlainValueEc8e588e.Type.QUOTE_DOUBLE;\n } else if ((implicitKey || inFlow) && (type === PlainValueEc8e588e.Type.BLOCK_FOLDED || type === PlainValueEc8e588e.Type.BLOCK_LITERAL)) {\n // should not happen; blocks are not valid inside flow containers\n type = PlainValueEc8e588e.Type.QUOTE_DOUBLE;\n }\n\n let res = _stringify(type);\n\n if (res === null) {\n res = _stringify(defaultType);\n if (res === null) throw new Error(`Unsupported default string type ${defaultType}`);\n }\n\n return res;\n}\n\nfunction stringifyNumber({\n format,\n minFractionDigits,\n tag,\n value\n}) {\n if (typeof value === 'bigint') return String(value);\n if (!isFinite(value)) return isNaN(value) ? '.nan' : value < 0 ? '-.inf' : '.inf';\n let n = JSON.stringify(value);\n\n if (!format && minFractionDigits && (!tag || tag === 'tag:yaml.org,2002:float') && /^\\d/.test(n)) {\n let i = n.indexOf('.');\n\n if (i < 0) {\n i = n.length;\n n += '.';\n }\n\n let d = minFractionDigits - (n.length - i - 1);\n\n while (d-- > 0) n += '0';\n }\n\n return n;\n}\n\nfunction checkFlowCollectionEnd(errors, cst) {\n let char, name;\n\n switch (cst.type) {\n case PlainValueEc8e588e.Type.FLOW_MAP:\n char = '}';\n name = 'flow map';\n break;\n\n case PlainValueEc8e588e.Type.FLOW_SEQ:\n char = ']';\n name = 'flow sequence';\n break;\n\n default:\n errors.push(new PlainValueEc8e588e.YAMLSemanticError(cst, 'Not a flow collection!?'));\n return;\n }\n\n let lastItem;\n\n for (let i = cst.items.length - 1; i >= 0; --i) {\n const item = cst.items[i];\n\n if (!item || item.type !== PlainValueEc8e588e.Type.COMMENT) {\n lastItem = item;\n break;\n }\n }\n\n if (lastItem && lastItem.char !== char) {\n const msg = `Expected ${name} to end with ${char}`;\n let err;\n\n if (typeof lastItem.offset === 'number') {\n err = new PlainValueEc8e588e.YAMLSemanticError(cst, msg);\n err.offset = lastItem.offset + 1;\n } else {\n err = new PlainValueEc8e588e.YAMLSemanticError(lastItem, msg);\n if (lastItem.range && lastItem.range.end) err.offset = lastItem.range.end - lastItem.range.start;\n }\n\n errors.push(err);\n }\n}\n\nfunction checkFlowCommentSpace(errors, comment) {\n const prev = comment.context.src[comment.range.start - 1];\n\n if (prev !== '\\n' && prev !== '\\t' && prev !== ' ') {\n const msg = 'Comments must be separated from other tokens by white space characters';\n errors.push(new PlainValueEc8e588e.YAMLSemanticError(comment, msg));\n }\n}\n\nfunction getLongKeyError(source, key) {\n const sk = String(key);\n const k = sk.substr(0, 8) + '...' + sk.substr(-8);\n return new PlainValueEc8e588e.YAMLSemanticError(source, `The \"${k}\" key is too long`);\n}\n\nfunction resolveComments(collection, comments) {\n for (const {\n afterKey,\n before,\n comment\n } of comments) {\n let item = collection.items[before];\n\n if (!item) {\n if (comment !== undefined) {\n if (collection.comment) collection.comment += '\\n' + comment;else collection.comment = comment;\n }\n } else {\n if (afterKey && item.value) item = item.value;\n\n if (comment === undefined) {\n if (afterKey || !item.commentBefore) item.spaceBefore = true;\n } else {\n if (item.commentBefore) item.commentBefore += '\\n' + comment;else item.commentBefore = comment;\n }\n }\n }\n} // on error, will return { str: string, errors: Error[] }\n\n\nfunction resolveString(doc, node) {\n const res = node.strValue;\n if (!res) return '';\n if (typeof res === 'string') return res;\n res.errors.forEach(error => {\n if (!error.source) error.source = node;\n doc.errors.push(error);\n });\n return res.str;\n}\n\nfunction resolveTagHandle(doc, node) {\n const {\n handle,\n suffix\n } = node.tag;\n let prefix = doc.tagPrefixes.find(p => p.handle === handle);\n\n if (!prefix) {\n const dtp = doc.getDefaults().tagPrefixes;\n if (dtp) prefix = dtp.find(p => p.handle === handle);\n if (!prefix) throw new PlainValueEc8e588e.YAMLSemanticError(node, `The ${handle} tag handle is non-default and was not declared.`);\n }\n\n if (!suffix) throw new PlainValueEc8e588e.YAMLSemanticError(node, `The ${handle} tag has no suffix.`);\n\n if (handle === '!' && (doc.version || doc.options.version) === '1.0') {\n if (suffix[0] === '^') {\n doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(node, 'YAML 1.0 ^ tag expansion is not supported'));\n return suffix;\n }\n\n if (/[:/]/.test(suffix)) {\n // word/foo -> tag:word.yaml.org,2002:foo\n const vocab = suffix.match(/^([a-z0-9-]+)\\/(.*)/i);\n return vocab ? `tag:${vocab[1]}.yaml.org,2002:${vocab[2]}` : `tag:${suffix}`;\n }\n }\n\n return prefix.prefix + decodeURIComponent(suffix);\n}\n\nfunction resolveTagName(doc, node) {\n const {\n tag,\n type\n } = node;\n let nonSpecific = false;\n\n if (tag) {\n const {\n handle,\n suffix,\n verbatim\n } = tag;\n\n if (verbatim) {\n if (verbatim !== '!' && verbatim !== '!!') return verbatim;\n const msg = `Verbatim tags aren't resolved, so ${verbatim} is invalid.`;\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));\n } else if (handle === '!' && !suffix) {\n nonSpecific = true;\n } else {\n try {\n return resolveTagHandle(doc, node);\n } catch (error) {\n doc.errors.push(error);\n }\n }\n }\n\n switch (type) {\n case PlainValueEc8e588e.Type.BLOCK_FOLDED:\n case PlainValueEc8e588e.Type.BLOCK_LITERAL:\n case PlainValueEc8e588e.Type.QUOTE_DOUBLE:\n case PlainValueEc8e588e.Type.QUOTE_SINGLE:\n return PlainValueEc8e588e.defaultTags.STR;\n\n case PlainValueEc8e588e.Type.FLOW_MAP:\n case PlainValueEc8e588e.Type.MAP:\n return PlainValueEc8e588e.defaultTags.MAP;\n\n case PlainValueEc8e588e.Type.FLOW_SEQ:\n case PlainValueEc8e588e.Type.SEQ:\n return PlainValueEc8e588e.defaultTags.SEQ;\n\n case PlainValueEc8e588e.Type.PLAIN:\n return nonSpecific ? PlainValueEc8e588e.defaultTags.STR : null;\n\n default:\n return null;\n }\n}\n\nfunction resolveByTagName(doc, node, tagName) {\n const {\n tags\n } = doc.schema;\n const matchWithTest = [];\n\n for (const tag of tags) {\n if (tag.tag === tagName) {\n if (tag.test) matchWithTest.push(tag);else {\n const res = tag.resolve(doc, node);\n return res instanceof Collection$1 ? res : new Scalar(res);\n }\n }\n }\n\n const str = resolveString(doc, node);\n if (typeof str === 'string' && matchWithTest.length > 0) return resolveScalar(str, matchWithTest, tags.scalarFallback);\n return null;\n}\n\nfunction getFallbackTagName({\n type\n}) {\n switch (type) {\n case PlainValueEc8e588e.Type.FLOW_MAP:\n case PlainValueEc8e588e.Type.MAP:\n return PlainValueEc8e588e.defaultTags.MAP;\n\n case PlainValueEc8e588e.Type.FLOW_SEQ:\n case PlainValueEc8e588e.Type.SEQ:\n return PlainValueEc8e588e.defaultTags.SEQ;\n\n default:\n return PlainValueEc8e588e.defaultTags.STR;\n }\n}\n\nfunction resolveTag(doc, node, tagName) {\n try {\n const res = resolveByTagName(doc, node, tagName);\n\n if (res) {\n if (tagName && node.tag) res.tag = tagName;\n return res;\n }\n } catch (error) {\n /* istanbul ignore if */\n if (!error.source) error.source = node;\n doc.errors.push(error);\n return null;\n }\n\n try {\n const fallback = getFallbackTagName(node);\n if (!fallback) throw new Error(`The tag ${tagName} is unavailable`);\n const msg = `The tag ${tagName} is unavailable, falling back to ${fallback}`;\n doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(node, msg));\n const res = resolveByTagName(doc, node, fallback);\n res.tag = tagName;\n return res;\n } catch (error) {\n const refError = new PlainValueEc8e588e.YAMLReferenceError(node, error.message);\n refError.stack = error.stack;\n doc.errors.push(refError);\n return null;\n }\n}\n\nconst isCollectionItem = node => {\n if (!node) return false;\n const {\n type\n } = node;\n return type === PlainValueEc8e588e.Type.MAP_KEY || type === PlainValueEc8e588e.Type.MAP_VALUE || type === PlainValueEc8e588e.Type.SEQ_ITEM;\n};\n\nfunction resolveNodeProps(errors, node) {\n const comments = {\n before: [],\n after: []\n };\n let hasAnchor = false;\n let hasTag = false;\n const props = isCollectionItem(node.context.parent) ? node.context.parent.props.concat(node.props) : node.props;\n\n for (const {\n start,\n end\n } of props) {\n switch (node.context.src[start]) {\n case PlainValueEc8e588e.Char.COMMENT:\n {\n if (!node.commentHasRequiredWhitespace(start)) {\n const msg = 'Comments must be separated from other tokens by white space characters';\n errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));\n }\n\n const {\n header,\n valueRange\n } = node;\n const cc = valueRange && (start > valueRange.start || header && start > header.start) ? comments.after : comments.before;\n cc.push(node.context.src.slice(start + 1, end));\n break;\n }\n // Actual anchor & tag resolution is handled by schema, here we just complain\n\n case PlainValueEc8e588e.Char.ANCHOR:\n if (hasAnchor) {\n const msg = 'A node can have at most one anchor';\n errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));\n }\n\n hasAnchor = true;\n break;\n\n case PlainValueEc8e588e.Char.TAG:\n if (hasTag) {\n const msg = 'A node can have at most one tag';\n errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));\n }\n\n hasTag = true;\n break;\n }\n }\n\n return {\n comments,\n hasAnchor,\n hasTag\n };\n}\n\nfunction resolveNodeValue(doc, node) {\n const {\n anchors,\n errors,\n schema\n } = doc;\n\n if (node.type === PlainValueEc8e588e.Type.ALIAS) {\n const name = node.rawValue;\n const src = anchors.getNode(name);\n\n if (!src) {\n const msg = `Aliased anchor not found: ${name}`;\n errors.push(new PlainValueEc8e588e.YAMLReferenceError(node, msg));\n return null;\n } // Lazy resolution for circular references\n\n\n const res = new Alias$1(src);\n\n anchors._cstAliases.push(res);\n\n return res;\n }\n\n const tagName = resolveTagName(doc, node);\n if (tagName) return resolveTag(doc, node, tagName);\n\n if (node.type !== PlainValueEc8e588e.Type.PLAIN) {\n const msg = `Failed to resolve ${node.type} node here`;\n errors.push(new PlainValueEc8e588e.YAMLSyntaxError(node, msg));\n return null;\n }\n\n try {\n const str = resolveString(doc, node);\n return resolveScalar(str, schema.tags, schema.tags.scalarFallback);\n } catch (error) {\n if (!error.source) error.source = node;\n errors.push(error);\n return null;\n }\n} // sets node.resolved on success\n\n\nfunction resolveNode(doc, node) {\n if (!node) return null;\n if (node.error) doc.errors.push(node.error);\n const {\n comments,\n hasAnchor,\n hasTag\n } = resolveNodeProps(doc.errors, node);\n\n if (hasAnchor) {\n const {\n anchors\n } = doc;\n const name = node.anchor;\n const prev = anchors.getNode(name); // At this point, aliases for any preceding node with the same anchor\n // name have already been resolved, so it may safely be renamed.\n\n if (prev) anchors.map[anchors.newName(name)] = prev; // During parsing, we need to store the CST node in anchors.map as\n // anchors need to be available during resolution to allow for\n // circular references.\n\n anchors.map[name] = node;\n }\n\n if (node.type === PlainValueEc8e588e.Type.ALIAS && (hasAnchor || hasTag)) {\n const msg = 'An alias node must not specify any properties';\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));\n }\n\n const res = resolveNodeValue(doc, node);\n\n if (res) {\n res.range = [node.range.start, node.range.end];\n if (doc.options.keepCstNodes) res.cstNode = node;\n if (doc.options.keepNodeTypes) res.type = node.type;\n const cb = comments.before.join('\\n');\n\n if (cb) {\n res.commentBefore = res.commentBefore ? `${res.commentBefore}\\n${cb}` : cb;\n }\n\n const ca = comments.after.join('\\n');\n if (ca) res.comment = res.comment ? `${res.comment}\\n${ca}` : ca;\n }\n\n return node.resolved = res;\n}\n\nfunction resolveMap(doc, cst) {\n if (cst.type !== PlainValueEc8e588e.Type.MAP && cst.type !== PlainValueEc8e588e.Type.FLOW_MAP) {\n const msg = `A ${cst.type} node cannot be resolved as a mapping`;\n doc.errors.push(new PlainValueEc8e588e.YAMLSyntaxError(cst, msg));\n return null;\n }\n\n const {\n comments,\n items\n } = cst.type === PlainValueEc8e588e.Type.FLOW_MAP ? resolveFlowMapItems(doc, cst) : resolveBlockMapItems(doc, cst);\n const map = new YAMLMap();\n map.items = items;\n resolveComments(map, comments);\n let hasCollectionKey = false;\n\n for (let i = 0; i < items.length; ++i) {\n const {\n key: iKey\n } = items[i];\n if (iKey instanceof Collection$1) hasCollectionKey = true;\n\n if (doc.schema.merge && iKey && iKey.value === MERGE_KEY) {\n items[i] = new Merge(items[i]);\n const sources = items[i].value.items;\n let error = null;\n sources.some(node => {\n if (node instanceof Alias$1) {\n // During parsing, alias sources are CST nodes; to account for\n // circular references their resolved values can't be used here.\n const {\n type\n } = node.source;\n if (type === PlainValueEc8e588e.Type.MAP || type === PlainValueEc8e588e.Type.FLOW_MAP) return false;\n return error = 'Merge nodes aliases can only point to maps';\n }\n\n return error = 'Merge nodes can only have Alias nodes as values';\n });\n if (error) doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(cst, error));\n } else {\n for (let j = i + 1; j < items.length; ++j) {\n const {\n key: jKey\n } = items[j];\n\n if (iKey === jKey || iKey && jKey && Object.prototype.hasOwnProperty.call(iKey, 'value') && iKey.value === jKey.value) {\n const msg = `Map keys must be unique; \"${iKey}\" is repeated`;\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(cst, msg));\n break;\n }\n }\n }\n }\n\n if (hasCollectionKey && !doc.options.mapAsMap) {\n const warn = 'Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.';\n doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(cst, warn));\n }\n\n cst.resolved = map;\n return map;\n}\n\nconst valueHasPairComment = ({\n context: {\n lineStart,\n node,\n src\n },\n props\n}) => {\n if (props.length === 0) return false;\n const {\n start\n } = props[0];\n if (node && start > node.valueRange.start) return false;\n if (src[start] !== PlainValueEc8e588e.Char.COMMENT) return false;\n\n for (let i = lineStart; i < start; ++i) if (src[i] === '\\n') return false;\n\n return true;\n};\n\nfunction resolvePairComment(item, pair) {\n if (!valueHasPairComment(item)) return;\n const comment = item.getPropValue(0, PlainValueEc8e588e.Char.COMMENT, true);\n let found = false;\n const cb = pair.value.commentBefore;\n\n if (cb && cb.startsWith(comment)) {\n pair.value.commentBefore = cb.substr(comment.length + 1);\n found = true;\n } else {\n const cc = pair.value.comment;\n\n if (!item.node && cc && cc.startsWith(comment)) {\n pair.value.comment = cc.substr(comment.length + 1);\n found = true;\n }\n }\n\n if (found) pair.comment = comment;\n}\n\nfunction resolveBlockMapItems(doc, cst) {\n const comments = [];\n const items = [];\n let key = undefined;\n let keyStart = null;\n\n for (let i = 0; i < cst.items.length; ++i) {\n const item = cst.items[i];\n\n switch (item.type) {\n case PlainValueEc8e588e.Type.BLANK_LINE:\n comments.push({\n afterKey: !!key,\n before: items.length\n });\n break;\n\n case PlainValueEc8e588e.Type.COMMENT:\n comments.push({\n afterKey: !!key,\n before: items.length,\n comment: item.comment\n });\n break;\n\n case PlainValueEc8e588e.Type.MAP_KEY:\n if (key !== undefined) items.push(new Pair(key));\n if (item.error) doc.errors.push(item.error);\n key = resolveNode(doc, item.node);\n keyStart = null;\n break;\n\n case PlainValueEc8e588e.Type.MAP_VALUE:\n {\n if (key === undefined) key = null;\n if (item.error) doc.errors.push(item.error);\n\n if (!item.context.atLineStart && item.node && item.node.type === PlainValueEc8e588e.Type.MAP && !item.node.context.atLineStart) {\n const msg = 'Nested mappings are not allowed in compact mappings';\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item.node, msg));\n }\n\n let valueNode = item.node;\n\n if (!valueNode && item.props.length > 0) {\n // Comments on an empty mapping value need to be preserved, so we\n // need to construct a minimal empty node here to use instead of the\n // missing `item.node`. -- eemeli/yaml#19\n valueNode = new PlainValueEc8e588e.PlainValue(PlainValueEc8e588e.Type.PLAIN, []);\n valueNode.context = {\n parent: item,\n src: item.context.src\n };\n const pos = item.range.start + 1;\n valueNode.range = {\n start: pos,\n end: pos\n };\n valueNode.valueRange = {\n start: pos,\n end: pos\n };\n\n if (typeof item.range.origStart === 'number') {\n const origPos = item.range.origStart + 1;\n valueNode.range.origStart = valueNode.range.origEnd = origPos;\n valueNode.valueRange.origStart = valueNode.valueRange.origEnd = origPos;\n }\n }\n\n const pair = new Pair(key, resolveNode(doc, valueNode));\n resolvePairComment(item, pair);\n items.push(pair);\n\n if (key && typeof keyStart === 'number') {\n if (item.range.start > keyStart + 1024) doc.errors.push(getLongKeyError(cst, key));\n }\n\n key = undefined;\n keyStart = null;\n }\n break;\n\n default:\n if (key !== undefined) items.push(new Pair(key));\n key = resolveNode(doc, item);\n keyStart = item.range.start;\n if (item.error) doc.errors.push(item.error);\n\n next: for (let j = i + 1;; ++j) {\n const nextItem = cst.items[j];\n\n switch (nextItem && nextItem.type) {\n case PlainValueEc8e588e.Type.BLANK_LINE:\n case PlainValueEc8e588e.Type.COMMENT:\n continue next;\n\n case PlainValueEc8e588e.Type.MAP_VALUE:\n break next;\n\n default:\n {\n const msg = 'Implicit map keys need to be followed by map values';\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, msg));\n break next;\n }\n }\n }\n\n if (item.valueRangeContainsNewline) {\n const msg = 'Implicit map keys need to be on a single line';\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, msg));\n }\n\n }\n }\n\n if (key !== undefined) items.push(new Pair(key));\n return {\n comments,\n items\n };\n}\n\nfunction resolveFlowMapItems(doc, cst) {\n const comments = [];\n const items = [];\n let key = undefined;\n let explicitKey = false;\n let next = '{';\n\n for (let i = 0; i < cst.items.length; ++i) {\n const item = cst.items[i];\n\n if (typeof item.char === 'string') {\n const {\n char,\n offset\n } = item;\n\n if (char === '?' && key === undefined && !explicitKey) {\n explicitKey = true;\n next = ':';\n continue;\n }\n\n if (char === ':') {\n if (key === undefined) key = null;\n\n if (next === ':') {\n next = ',';\n continue;\n }\n } else {\n if (explicitKey) {\n if (key === undefined && char !== ',') key = null;\n explicitKey = false;\n }\n\n if (key !== undefined) {\n items.push(new Pair(key));\n key = undefined;\n\n if (char === ',') {\n next = ':';\n continue;\n }\n }\n }\n\n if (char === '}') {\n if (i === cst.items.length - 1) continue;\n } else if (char === next) {\n next = ':';\n continue;\n }\n\n const msg = `Flow map contains an unexpected ${char}`;\n const err = new PlainValueEc8e588e.YAMLSyntaxError(cst, msg);\n err.offset = offset;\n doc.errors.push(err);\n } else if (item.type === PlainValueEc8e588e.Type.BLANK_LINE) {\n comments.push({\n afterKey: !!key,\n before: items.length\n });\n } else if (item.type === PlainValueEc8e588e.Type.COMMENT) {\n checkFlowCommentSpace(doc.errors, item);\n comments.push({\n afterKey: !!key,\n before: items.length,\n comment: item.comment\n });\n } else if (key === undefined) {\n if (next === ',') doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, 'Separator , missing in flow map'));\n key = resolveNode(doc, item);\n } else {\n if (next !== ',') doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, 'Indicator : missing in flow map entry'));\n items.push(new Pair(key, resolveNode(doc, item)));\n key = undefined;\n explicitKey = false;\n }\n }\n\n checkFlowCollectionEnd(doc.errors, cst);\n if (key !== undefined) items.push(new Pair(key));\n return {\n comments,\n items\n };\n}\n\nfunction resolveSeq(doc, cst) {\n if (cst.type !== PlainValueEc8e588e.Type.SEQ && cst.type !== PlainValueEc8e588e.Type.FLOW_SEQ) {\n const msg = `A ${cst.type} node cannot be resolved as a sequence`;\n doc.errors.push(new PlainValueEc8e588e.YAMLSyntaxError(cst, msg));\n return null;\n }\n\n const {\n comments,\n items\n } = cst.type === PlainValueEc8e588e.Type.FLOW_SEQ ? resolveFlowSeqItems(doc, cst) : resolveBlockSeqItems(doc, cst);\n const seq = new YAMLSeq();\n seq.items = items;\n resolveComments(seq, comments);\n\n if (!doc.options.mapAsMap && items.some(it => it instanceof Pair && it.key instanceof Collection$1)) {\n const warn = 'Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.';\n doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(cst, warn));\n }\n\n cst.resolved = seq;\n return seq;\n}\n\nfunction resolveBlockSeqItems(doc, cst) {\n const comments = [];\n const items = [];\n\n for (let i = 0; i < cst.items.length; ++i) {\n const item = cst.items[i];\n\n switch (item.type) {\n case PlainValueEc8e588e.Type.BLANK_LINE:\n comments.push({\n before: items.length\n });\n break;\n\n case PlainValueEc8e588e.Type.COMMENT:\n comments.push({\n comment: item.comment,\n before: items.length\n });\n break;\n\n case PlainValueEc8e588e.Type.SEQ_ITEM:\n if (item.error) doc.errors.push(item.error);\n items.push(resolveNode(doc, item.node));\n\n if (item.hasProps) {\n const msg = 'Sequence items cannot have tags or anchors before the - indicator';\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, msg));\n }\n\n break;\n\n default:\n if (item.error) doc.errors.push(item.error);\n doc.errors.push(new PlainValueEc8e588e.YAMLSyntaxError(item, `Unexpected ${item.type} node in sequence`));\n }\n }\n\n return {\n comments,\n items\n };\n}\n\nfunction resolveFlowSeqItems(doc, cst) {\n const comments = [];\n const items = [];\n let explicitKey = false;\n let key = undefined;\n let keyStart = null;\n let next = '[';\n let prevItem = null;\n\n for (let i = 0; i < cst.items.length; ++i) {\n const item = cst.items[i];\n\n if (typeof item.char === 'string') {\n const {\n char,\n offset\n } = item;\n\n if (char !== ':' && (explicitKey || key !== undefined)) {\n if (explicitKey && key === undefined) key = next ? items.pop() : null;\n items.push(new Pair(key));\n explicitKey = false;\n key = undefined;\n keyStart = null;\n }\n\n if (char === next) {\n next = null;\n } else if (!next && char === '?') {\n explicitKey = true;\n } else if (next !== '[' && char === ':' && key === undefined) {\n if (next === ',') {\n key = items.pop();\n\n if (key instanceof Pair) {\n const msg = 'Chaining flow sequence pairs is invalid';\n const err = new PlainValueEc8e588e.YAMLSemanticError(cst, msg);\n err.offset = offset;\n doc.errors.push(err);\n }\n\n if (!explicitKey && typeof keyStart === 'number') {\n const keyEnd = item.range ? item.range.start : item.offset;\n if (keyEnd > keyStart + 1024) doc.errors.push(getLongKeyError(cst, key));\n const {\n src\n } = prevItem.context;\n\n for (let i = keyStart; i < keyEnd; ++i) if (src[i] === '\\n') {\n const msg = 'Implicit keys of flow sequence pairs need to be on a single line';\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(prevItem, msg));\n break;\n }\n }\n } else {\n key = null;\n }\n\n keyStart = null;\n explicitKey = false;\n next = null;\n } else if (next === '[' || char !== ']' || i < cst.items.length - 1) {\n const msg = `Flow sequence contains an unexpected ${char}`;\n const err = new PlainValueEc8e588e.YAMLSyntaxError(cst, msg);\n err.offset = offset;\n doc.errors.push(err);\n }\n } else if (item.type === PlainValueEc8e588e.Type.BLANK_LINE) {\n comments.push({\n before: items.length\n });\n } else if (item.type === PlainValueEc8e588e.Type.COMMENT) {\n checkFlowCommentSpace(doc.errors, item);\n comments.push({\n comment: item.comment,\n before: items.length\n });\n } else {\n if (next) {\n const msg = `Expected a ${next} in flow sequence`;\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, msg));\n }\n\n const value = resolveNode(doc, item);\n\n if (key === undefined) {\n items.push(value);\n prevItem = item;\n } else {\n items.push(new Pair(key, value));\n key = undefined;\n }\n\n keyStart = item.range.start;\n next = ',';\n }\n }\n\n checkFlowCollectionEnd(doc.errors, cst);\n if (key !== undefined) items.push(new Pair(key));\n return {\n comments,\n items\n };\n}\n\nvar Alias_1 = Alias$1;\nvar Collection_1 = Collection$1;\nvar Merge_1 = Merge;\nvar Node_1$1 = Node$1;\nvar Pair_1 = Pair;\nvar Scalar_1 = Scalar;\nvar YAMLMap_1 = YAMLMap;\nvar YAMLSeq_1 = YAMLSeq;\nvar addComment_1 = addComment;\nvar binaryOptions_1 = binaryOptions;\nvar boolOptions_1 = boolOptions;\nvar findPair_1 = findPair;\nvar intOptions_1 = intOptions;\nvar isEmptyPath_1 = isEmptyPath;\nvar nullOptions_1 = nullOptions;\nvar resolveMap_1 = resolveMap;\nvar resolveNode_1 = resolveNode;\nvar resolveSeq_1 = resolveSeq;\nvar resolveString_1 = resolveString;\nvar strOptions_1 = strOptions;\nvar stringifyNumber_1 = stringifyNumber;\nvar stringifyString_1 = stringifyString;\nvar toJSON_1 = toJSON;\nvar resolveSeq4a68b39b = {\n Alias: Alias_1,\n Collection: Collection_1,\n Merge: Merge_1,\n Node: Node_1$1,\n Pair: Pair_1,\n Scalar: Scalar_1,\n YAMLMap: YAMLMap_1,\n YAMLSeq: YAMLSeq_1,\n addComment: addComment_1,\n binaryOptions: binaryOptions_1,\n boolOptions: boolOptions_1,\n findPair: findPair_1,\n intOptions: intOptions_1,\n isEmptyPath: isEmptyPath_1,\n nullOptions: nullOptions_1,\n resolveMap: resolveMap_1,\n resolveNode: resolveNode_1,\n resolveSeq: resolveSeq_1,\n resolveString: resolveString_1,\n strOptions: strOptions_1,\n stringifyNumber: stringifyNumber_1,\n stringifyString: stringifyString_1,\n toJSON: toJSON_1\n};\n\n/* global atob, btoa, Buffer */\n\n\nconst binary = {\n identify: value => value instanceof Uint8Array,\n // Buffer inherits from Uint8Array\n default: false,\n tag: 'tag:yaml.org,2002:binary',\n\n /**\n * Returns a Buffer in node and an Uint8Array in browsers\n *\n * To use the resulting buffer as an image, you'll want to do something like:\n *\n * const blob = new Blob([buffer], { type: 'image/jpeg' })\n * document.querySelector('#photo').src = URL.createObjectURL(blob)\n */\n resolve: (doc, node) => {\n const src = resolveSeq4a68b39b.resolveString(doc, node);\n\n if (typeof Buffer === 'function') {\n return Buffer.from(src, 'base64');\n } else if (typeof atob === 'function') {\n // On IE 11, atob() can't handle newlines\n const str = atob(src.replace(/[\\n\\r]/g, ''));\n const buffer = new Uint8Array(str.length);\n\n for (let i = 0; i < str.length; ++i) buffer[i] = str.charCodeAt(i);\n\n return buffer;\n } else {\n const msg = 'This environment does not support reading binary tags; either Buffer or atob is required';\n doc.errors.push(new PlainValueEc8e588e.YAMLReferenceError(node, msg));\n return null;\n }\n },\n options: resolveSeq4a68b39b.binaryOptions,\n stringify: ({\n comment,\n type,\n value\n }, ctx, onComment, onChompKeep) => {\n let src;\n\n if (typeof Buffer === 'function') {\n src = value instanceof Buffer ? value.toString('base64') : Buffer.from(value.buffer).toString('base64');\n } else if (typeof btoa === 'function') {\n let s = '';\n\n for (let i = 0; i < value.length; ++i) s += String.fromCharCode(value[i]);\n\n src = btoa(s);\n } else {\n throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');\n }\n\n if (!type) type = resolveSeq4a68b39b.binaryOptions.defaultType;\n\n if (type === PlainValueEc8e588e.Type.QUOTE_DOUBLE) {\n value = src;\n } else {\n const {\n lineWidth\n } = resolveSeq4a68b39b.binaryOptions;\n const n = Math.ceil(src.length / lineWidth);\n const lines = new Array(n);\n\n for (let i = 0, o = 0; i < n; ++i, o += lineWidth) {\n lines[i] = src.substr(o, lineWidth);\n }\n\n value = lines.join(type === PlainValueEc8e588e.Type.BLOCK_LITERAL ? '\\n' : ' ');\n }\n\n return resolveSeq4a68b39b.stringifyString({\n comment,\n type,\n value\n }, ctx, onComment, onChompKeep);\n }\n};\n\nfunction parsePairs(doc, cst) {\n const seq = resolveSeq4a68b39b.resolveSeq(doc, cst);\n\n for (let i = 0; i < seq.items.length; ++i) {\n let item = seq.items[i];\n if (item instanceof resolveSeq4a68b39b.Pair) continue;else if (item instanceof resolveSeq4a68b39b.YAMLMap) {\n if (item.items.length > 1) {\n const msg = 'Each pair must have its own sequence indicator';\n throw new PlainValueEc8e588e.YAMLSemanticError(cst, msg);\n }\n\n const pair = item.items[0] || new resolveSeq4a68b39b.Pair();\n if (item.commentBefore) pair.commentBefore = pair.commentBefore ? `${item.commentBefore}\\n${pair.commentBefore}` : item.commentBefore;\n if (item.comment) pair.comment = pair.comment ? `${item.comment}\\n${pair.comment}` : item.comment;\n item = pair;\n }\n seq.items[i] = item instanceof resolveSeq4a68b39b.Pair ? item : new resolveSeq4a68b39b.Pair(item);\n }\n\n return seq;\n}\n\nfunction createPairs(schema, iterable, ctx) {\n const pairs = new resolveSeq4a68b39b.YAMLSeq(schema);\n pairs.tag = 'tag:yaml.org,2002:pairs';\n\n for (const it of iterable) {\n let key, value;\n\n if (Array.isArray(it)) {\n if (it.length === 2) {\n key = it[0];\n value = it[1];\n } else throw new TypeError(`Expected [key, value] tuple: ${it}`);\n } else if (it && it instanceof Object) {\n const keys = Object.keys(it);\n\n if (keys.length === 1) {\n key = keys[0];\n value = it[key];\n } else throw new TypeError(`Expected { key: value } tuple: ${it}`);\n } else {\n key = it;\n }\n\n const pair = schema.createPair(key, value, ctx);\n pairs.items.push(pair);\n }\n\n return pairs;\n}\n\nconst pairs = {\n default: false,\n tag: 'tag:yaml.org,2002:pairs',\n resolve: parsePairs,\n createNode: createPairs\n};\n\nclass YAMLOMap extends resolveSeq4a68b39b.YAMLSeq {\n constructor() {\n super();\n\n PlainValueEc8e588e._defineProperty(this, \"add\", resolveSeq4a68b39b.YAMLMap.prototype.add.bind(this));\n\n PlainValueEc8e588e._defineProperty(this, \"delete\", resolveSeq4a68b39b.YAMLMap.prototype.delete.bind(this));\n\n PlainValueEc8e588e._defineProperty(this, \"get\", resolveSeq4a68b39b.YAMLMap.prototype.get.bind(this));\n\n PlainValueEc8e588e._defineProperty(this, \"has\", resolveSeq4a68b39b.YAMLMap.prototype.has.bind(this));\n\n PlainValueEc8e588e._defineProperty(this, \"set\", resolveSeq4a68b39b.YAMLMap.prototype.set.bind(this));\n\n this.tag = YAMLOMap.tag;\n }\n\n toJSON(_, ctx) {\n const map = new Map();\n if (ctx && ctx.onCreate) ctx.onCreate(map);\n\n for (const pair of this.items) {\n let key, value;\n\n if (pair instanceof resolveSeq4a68b39b.Pair) {\n key = resolveSeq4a68b39b.toJSON(pair.key, '', ctx);\n value = resolveSeq4a68b39b.toJSON(pair.value, key, ctx);\n } else {\n key = resolveSeq4a68b39b.toJSON(pair, '', ctx);\n }\n\n if (map.has(key)) throw new Error('Ordered maps must not include duplicate keys');\n map.set(key, value);\n }\n\n return map;\n }\n\n}\n\nPlainValueEc8e588e._defineProperty(YAMLOMap, \"tag\", 'tag:yaml.org,2002:omap');\n\nfunction parseOMap(doc, cst) {\n const pairs = parsePairs(doc, cst);\n const seenKeys = [];\n\n for (const {\n key\n } of pairs.items) {\n if (key instanceof resolveSeq4a68b39b.Scalar) {\n if (seenKeys.includes(key.value)) {\n const msg = 'Ordered maps must not include duplicate keys';\n throw new PlainValueEc8e588e.YAMLSemanticError(cst, msg);\n } else {\n seenKeys.push(key.value);\n }\n }\n }\n\n return Object.assign(new YAMLOMap(), pairs);\n}\n\nfunction createOMap(schema, iterable, ctx) {\n const pairs = createPairs(schema, iterable, ctx);\n const omap = new YAMLOMap();\n omap.items = pairs.items;\n return omap;\n}\n\nconst omap = {\n identify: value => value instanceof Map,\n nodeClass: YAMLOMap,\n default: false,\n tag: 'tag:yaml.org,2002:omap',\n resolve: parseOMap,\n createNode: createOMap\n};\n\nclass YAMLSet extends resolveSeq4a68b39b.YAMLMap {\n constructor() {\n super();\n this.tag = YAMLSet.tag;\n }\n\n add(key) {\n const pair = key instanceof resolveSeq4a68b39b.Pair ? key : new resolveSeq4a68b39b.Pair(key);\n const prev = resolveSeq4a68b39b.findPair(this.items, pair.key);\n if (!prev) this.items.push(pair);\n }\n\n get(key, keepPair) {\n const pair = resolveSeq4a68b39b.findPair(this.items, key);\n return !keepPair && pair instanceof resolveSeq4a68b39b.Pair ? pair.key instanceof resolveSeq4a68b39b.Scalar ? pair.key.value : pair.key : pair;\n }\n\n set(key, value) {\n if (typeof value !== 'boolean') throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);\n const prev = resolveSeq4a68b39b.findPair(this.items, key);\n\n if (prev && !value) {\n this.items.splice(this.items.indexOf(prev), 1);\n } else if (!prev && value) {\n this.items.push(new resolveSeq4a68b39b.Pair(key));\n }\n }\n\n toJSON(_, ctx) {\n return super.toJSON(_, ctx, Set);\n }\n\n toString(ctx, onComment, onChompKeep) {\n if (!ctx) return JSON.stringify(this);\n if (this.hasAllNullValues()) return super.toString(ctx, onComment, onChompKeep);else throw new Error('Set items must all have null values');\n }\n\n}\n\nPlainValueEc8e588e._defineProperty(YAMLSet, \"tag\", 'tag:yaml.org,2002:set');\n\nfunction parseSet(doc, cst) {\n const map = resolveSeq4a68b39b.resolveMap(doc, cst);\n if (!map.hasAllNullValues()) throw new PlainValueEc8e588e.YAMLSemanticError(cst, 'Set items must all have null values');\n return Object.assign(new YAMLSet(), map);\n}\n\nfunction createSet(schema, iterable, ctx) {\n const set = new YAMLSet();\n\n for (const value of iterable) set.items.push(schema.createPair(value, null, ctx));\n\n return set;\n}\n\nconst set = {\n identify: value => value instanceof Set,\n nodeClass: YAMLSet,\n default: false,\n tag: 'tag:yaml.org,2002:set',\n resolve: parseSet,\n createNode: createSet\n};\n\nconst parseSexagesimal = (sign, parts) => {\n const n = parts.split(':').reduce((n, p) => n * 60 + Number(p), 0);\n return sign === '-' ? -n : n;\n}; // hhhh:mm:ss.sss\n\n\nconst stringifySexagesimal = ({\n value\n}) => {\n if (isNaN(value) || !isFinite(value)) return resolveSeq4a68b39b.stringifyNumber(value);\n let sign = '';\n\n if (value < 0) {\n sign = '-';\n value = Math.abs(value);\n }\n\n const parts = [value % 60]; // seconds, including ms\n\n if (value < 60) {\n parts.unshift(0); // at least one : is required\n } else {\n value = Math.round((value - parts[0]) / 60);\n parts.unshift(value % 60); // minutes\n\n if (value >= 60) {\n value = Math.round((value - parts[0]) / 60);\n parts.unshift(value); // hours\n }\n }\n\n return sign + parts.map(n => n < 10 ? '0' + String(n) : String(n)).join(':').replace(/000000\\d*$/, '') // % 60 may introduce error\n ;\n};\n\nconst intTime = {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'TIME',\n test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,\n resolve: (str, sign, parts) => parseSexagesimal(sign, parts.replace(/_/g, '')),\n stringify: stringifySexagesimal\n};\nconst floatTime = {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n format: 'TIME',\n test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*)$/,\n resolve: (str, sign, parts) => parseSexagesimal(sign, parts.replace(/_/g, '')),\n stringify: stringifySexagesimal\n};\nconst timestamp = {\n identify: value => value instanceof Date,\n default: true,\n tag: 'tag:yaml.org,2002:timestamp',\n // If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part\n // may be omitted altogether, resulting in a date format. In such a case, the time part is\n // assumed to be 00:00:00Z (start of day, UTC).\n test: RegExp('^(?:' + '([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})' + // YYYY-Mm-Dd\n '(?:(?:t|T|[ \\\\t]+)' + // t | T | whitespace\n '([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\\\.[0-9]+)?)' + // Hh:Mm:Ss(.ss)?\n '(?:[ \\\\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?' + // Z | +5 | -03:30\n ')?' + ')$'),\n resolve: (str, year, month, day, hour, minute, second, millisec, tz) => {\n if (millisec) millisec = (millisec + '00').substr(1, 3);\n let date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec || 0);\n\n if (tz && tz !== 'Z') {\n let d = parseSexagesimal(tz[0], tz.slice(1));\n if (Math.abs(d) < 30) d *= 60;\n date -= 60000 * d;\n }\n\n return new Date(date);\n },\n stringify: ({\n value\n }) => value.toISOString().replace(/((T00:00)?:00)?\\.000Z$/, '')\n};\n/* global console, process, YAML_SILENCE_DEPRECATION_WARNINGS, YAML_SILENCE_WARNINGS */\n\nfunction shouldWarn(deprecation) {\n const env = typeof process !== 'undefined' && process.env || {};\n\n if (deprecation) {\n if (typeof YAML_SILENCE_DEPRECATION_WARNINGS !== 'undefined') return !YAML_SILENCE_DEPRECATION_WARNINGS;\n return !env.YAML_SILENCE_DEPRECATION_WARNINGS;\n }\n\n if (typeof YAML_SILENCE_WARNINGS !== 'undefined') return !YAML_SILENCE_WARNINGS;\n return !env.YAML_SILENCE_WARNINGS;\n}\n\nfunction warn(warning, type) {\n if (shouldWarn(false)) {\n const emit = typeof process !== 'undefined' && process.emitWarning; // This will throw in Jest if `warning` is an Error instance due to\n // https://github.com/facebook/jest/issues/2549\n\n if (emit) emit(warning, type);else {\n // eslint-disable-next-line no-console\n console.warn(type ? `${type}: ${warning}` : warning);\n }\n }\n}\n\nfunction warnFileDeprecation(filename) {\n if (shouldWarn(true)) {\n const path = filename.replace(/.*yaml[/\\\\]/i, '').replace(/\\.js$/, '').replace(/\\\\/g, '/');\n warn(`The endpoint 'yaml/${path}' will be removed in a future release.`, 'DeprecationWarning');\n }\n}\n\nconst warned = {};\n\nfunction warnOptionDeprecation(name, alternative) {\n if (!warned[name] && shouldWarn(true)) {\n warned[name] = true;\n let msg = `The option '${name}' will be removed in a future release`;\n msg += alternative ? `, use '${alternative}' instead.` : '.';\n warn(msg, 'DeprecationWarning');\n }\n}\n\nvar binary_1 = binary;\nvar floatTime_1 = floatTime;\nvar intTime_1 = intTime;\nvar omap_1 = omap;\nvar pairs_1 = pairs;\nvar set_1 = set;\nvar timestamp_1 = timestamp;\nvar warn_1 = warn;\nvar warnFileDeprecation_1 = warnFileDeprecation;\nvar warnOptionDeprecation_1 = warnOptionDeprecation;\nvar warnings39684f17 = {\n binary: binary_1,\n floatTime: floatTime_1,\n intTime: intTime_1,\n omap: omap_1,\n pairs: pairs_1,\n set: set_1,\n timestamp: timestamp_1,\n warn: warn_1,\n warnFileDeprecation: warnFileDeprecation_1,\n warnOptionDeprecation: warnOptionDeprecation_1\n};\n\nfunction createMap(schema, obj, ctx) {\n const map = new resolveSeq4a68b39b.YAMLMap(schema);\n\n if (obj instanceof Map) {\n for (const [key, value] of obj) map.items.push(schema.createPair(key, value, ctx));\n } else if (obj && typeof obj === 'object') {\n for (const key of Object.keys(obj)) map.items.push(schema.createPair(key, obj[key], ctx));\n }\n\n if (typeof schema.sortMapEntries === 'function') {\n map.items.sort(schema.sortMapEntries);\n }\n\n return map;\n}\n\nconst map = {\n createNode: createMap,\n default: true,\n nodeClass: resolveSeq4a68b39b.YAMLMap,\n tag: 'tag:yaml.org,2002:map',\n resolve: resolveSeq4a68b39b.resolveMap\n};\n\nfunction createSeq(schema, obj, ctx) {\n const seq = new resolveSeq4a68b39b.YAMLSeq(schema);\n\n if (obj && obj[Symbol.iterator]) {\n for (const it of obj) {\n const v = schema.createNode(it, ctx.wrapScalars, null, ctx);\n seq.items.push(v);\n }\n }\n\n return seq;\n}\n\nconst seq = {\n createNode: createSeq,\n default: true,\n nodeClass: resolveSeq4a68b39b.YAMLSeq,\n tag: 'tag:yaml.org,2002:seq',\n resolve: resolveSeq4a68b39b.resolveSeq\n};\nconst string = {\n identify: value => typeof value === 'string',\n default: true,\n tag: 'tag:yaml.org,2002:str',\n resolve: resolveSeq4a68b39b.resolveString,\n\n stringify(item, ctx, onComment, onChompKeep) {\n ctx = Object.assign({\n actualString: true\n }, ctx);\n return resolveSeq4a68b39b.stringifyString(item, ctx, onComment, onChompKeep);\n },\n\n options: resolveSeq4a68b39b.strOptions\n};\nconst failsafe = [map, seq, string];\n/* global BigInt */\n\nconst intIdentify = value => typeof value === 'bigint' || Number.isInteger(value);\n\nconst intResolve = (src, part, radix) => resolveSeq4a68b39b.intOptions.asBigInt ? BigInt(src) : parseInt(part, radix);\n\nfunction intStringify(node, radix, prefix) {\n const {\n value\n } = node;\n if (intIdentify(value) && value >= 0) return prefix + value.toString(radix);\n return resolveSeq4a68b39b.stringifyNumber(node);\n}\n\nconst nullObj = {\n identify: value => value == null,\n createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq4a68b39b.Scalar(null) : null,\n default: true,\n tag: 'tag:yaml.org,2002:null',\n test: /^(?:~|[Nn]ull|NULL)?$/,\n resolve: () => null,\n options: resolveSeq4a68b39b.nullOptions,\n stringify: () => resolveSeq4a68b39b.nullOptions.nullStr\n};\nconst boolObj = {\n identify: value => typeof value === 'boolean',\n default: true,\n tag: 'tag:yaml.org,2002:bool',\n test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,\n resolve: str => str[0] === 't' || str[0] === 'T',\n options: resolveSeq4a68b39b.boolOptions,\n stringify: ({\n value\n }) => value ? resolveSeq4a68b39b.boolOptions.trueStr : resolveSeq4a68b39b.boolOptions.falseStr\n};\nconst octObj = {\n identify: value => intIdentify(value) && value >= 0,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'OCT',\n test: /^0o([0-7]+)$/,\n resolve: (str, oct) => intResolve(str, oct, 8),\n options: resolveSeq4a68b39b.intOptions,\n stringify: node => intStringify(node, 8, '0o')\n};\nconst intObj = {\n identify: intIdentify,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n test: /^[-+]?[0-9]+$/,\n resolve: str => intResolve(str, str, 10),\n options: resolveSeq4a68b39b.intOptions,\n stringify: resolveSeq4a68b39b.stringifyNumber\n};\nconst hexObj = {\n identify: value => intIdentify(value) && value >= 0,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'HEX',\n test: /^0x([0-9a-fA-F]+)$/,\n resolve: (str, hex) => intResolve(str, hex, 16),\n options: resolveSeq4a68b39b.intOptions,\n stringify: node => intStringify(node, 16, '0x')\n};\nconst nanObj = {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^(?:[-+]?\\.inf|(\\.nan))$/i,\n resolve: (str, nan) => nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,\n stringify: resolveSeq4a68b39b.stringifyNumber\n};\nconst expObj = {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n format: 'EXP',\n test: /^[-+]?(?:\\.[0-9]+|[0-9]+(?:\\.[0-9]*)?)[eE][-+]?[0-9]+$/,\n resolve: str => parseFloat(str),\n stringify: ({\n value\n }) => Number(value).toExponential()\n};\nconst floatObj = {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^[-+]?(?:\\.([0-9]+)|[0-9]+\\.([0-9]*))$/,\n\n resolve(str, frac1, frac2) {\n const frac = frac1 || frac2;\n const node = new resolveSeq4a68b39b.Scalar(parseFloat(str));\n if (frac && frac[frac.length - 1] === '0') node.minFractionDigits = frac.length;\n return node;\n },\n\n stringify: resolveSeq4a68b39b.stringifyNumber\n};\nconst core = failsafe.concat([nullObj, boolObj, octObj, intObj, hexObj, nanObj, expObj, floatObj]);\n/* global BigInt */\n\nconst intIdentify$1 = value => typeof value === 'bigint' || Number.isInteger(value);\n\nconst stringifyJSON = ({\n value\n}) => JSON.stringify(value);\n\nconst json = [map, seq, {\n identify: value => typeof value === 'string',\n default: true,\n tag: 'tag:yaml.org,2002:str',\n resolve: resolveSeq4a68b39b.resolveString,\n stringify: stringifyJSON\n}, {\n identify: value => value == null,\n createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq4a68b39b.Scalar(null) : null,\n default: true,\n tag: 'tag:yaml.org,2002:null',\n test: /^null$/,\n resolve: () => null,\n stringify: stringifyJSON\n}, {\n identify: value => typeof value === 'boolean',\n default: true,\n tag: 'tag:yaml.org,2002:bool',\n test: /^true|false$/,\n resolve: str => str === 'true',\n stringify: stringifyJSON\n}, {\n identify: intIdentify$1,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n test: /^-?(?:0|[1-9][0-9]*)$/,\n resolve: str => resolveSeq4a68b39b.intOptions.asBigInt ? BigInt(str) : parseInt(str, 10),\n stringify: ({\n value\n }) => intIdentify$1(value) ? value.toString() : JSON.stringify(value)\n}, {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,\n resolve: str => parseFloat(str),\n stringify: stringifyJSON\n}];\n\njson.scalarFallback = str => {\n throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(str)}`);\n};\n/* global BigInt */\n\n\nconst boolStringify = ({\n value\n}) => value ? resolveSeq4a68b39b.boolOptions.trueStr : resolveSeq4a68b39b.boolOptions.falseStr;\n\nconst intIdentify$2 = value => typeof value === 'bigint' || Number.isInteger(value);\n\nfunction intResolve$1(sign, src, radix) {\n let str = src.replace(/_/g, '');\n\n if (resolveSeq4a68b39b.intOptions.asBigInt) {\n switch (radix) {\n case 2:\n str = `0b${str}`;\n break;\n\n case 8:\n str = `0o${str}`;\n break;\n\n case 16:\n str = `0x${str}`;\n break;\n }\n\n const n = BigInt(str);\n return sign === '-' ? BigInt(-1) * n : n;\n }\n\n const n = parseInt(str, radix);\n return sign === '-' ? -1 * n : n;\n}\n\nfunction intStringify$1(node, radix, prefix) {\n const {\n value\n } = node;\n\n if (intIdentify$2(value)) {\n const str = value.toString(radix);\n return value < 0 ? '-' + prefix + str.substr(1) : prefix + str;\n }\n\n return resolveSeq4a68b39b.stringifyNumber(node);\n}\n\nconst yaml11 = failsafe.concat([{\n identify: value => value == null,\n createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq4a68b39b.Scalar(null) : null,\n default: true,\n tag: 'tag:yaml.org,2002:null',\n test: /^(?:~|[Nn]ull|NULL)?$/,\n resolve: () => null,\n options: resolveSeq4a68b39b.nullOptions,\n stringify: () => resolveSeq4a68b39b.nullOptions.nullStr\n}, {\n identify: value => typeof value === 'boolean',\n default: true,\n tag: 'tag:yaml.org,2002:bool',\n test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,\n resolve: () => true,\n options: resolveSeq4a68b39b.boolOptions,\n stringify: boolStringify\n}, {\n identify: value => typeof value === 'boolean',\n default: true,\n tag: 'tag:yaml.org,2002:bool',\n test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,\n resolve: () => false,\n options: resolveSeq4a68b39b.boolOptions,\n stringify: boolStringify\n}, {\n identify: intIdentify$2,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'BIN',\n test: /^([-+]?)0b([0-1_]+)$/,\n resolve: (str, sign, bin) => intResolve$1(sign, bin, 2),\n stringify: node => intStringify$1(node, 2, '0b')\n}, {\n identify: intIdentify$2,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'OCT',\n test: /^([-+]?)0([0-7_]+)$/,\n resolve: (str, sign, oct) => intResolve$1(sign, oct, 8),\n stringify: node => intStringify$1(node, 8, '0')\n}, {\n identify: intIdentify$2,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n test: /^([-+]?)([0-9][0-9_]*)$/,\n resolve: (str, sign, abs) => intResolve$1(sign, abs, 10),\n stringify: resolveSeq4a68b39b.stringifyNumber\n}, {\n identify: intIdentify$2,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'HEX',\n test: /^([-+]?)0x([0-9a-fA-F_]+)$/,\n resolve: (str, sign, hex) => intResolve$1(sign, hex, 16),\n stringify: node => intStringify$1(node, 16, '0x')\n}, {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^(?:[-+]?\\.inf|(\\.nan))$/i,\n resolve: (str, nan) => nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,\n stringify: resolveSeq4a68b39b.stringifyNumber\n}, {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n format: 'EXP',\n test: /^[-+]?([0-9][0-9_]*)?(\\.[0-9_]*)?[eE][-+]?[0-9]+$/,\n resolve: str => parseFloat(str.replace(/_/g, '')),\n stringify: ({\n value\n }) => Number(value).toExponential()\n}, {\n identify: value => typeof value === 'number',\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^[-+]?(?:[0-9][0-9_]*)?\\.([0-9_]*)$/,\n\n resolve(str, frac) {\n const node = new resolveSeq4a68b39b.Scalar(parseFloat(str.replace(/_/g, '')));\n\n if (frac) {\n const f = frac.replace(/_/g, '');\n if (f[f.length - 1] === '0') node.minFractionDigits = f.length;\n }\n\n return node;\n },\n\n stringify: resolveSeq4a68b39b.stringifyNumber\n}], warnings39684f17.binary, warnings39684f17.omap, warnings39684f17.pairs, warnings39684f17.set, warnings39684f17.intTime, warnings39684f17.floatTime, warnings39684f17.timestamp);\nconst schemas = {\n core,\n failsafe,\n json,\n yaml11\n};\nconst tags = {\n binary: warnings39684f17.binary,\n bool: boolObj,\n float: floatObj,\n floatExp: expObj,\n floatNaN: nanObj,\n floatTime: warnings39684f17.floatTime,\n int: intObj,\n intHex: hexObj,\n intOct: octObj,\n intTime: warnings39684f17.intTime,\n map,\n null: nullObj,\n omap: warnings39684f17.omap,\n pairs: warnings39684f17.pairs,\n seq,\n set: warnings39684f17.set,\n timestamp: warnings39684f17.timestamp\n};\n\nfunction findTagObject(value, tagName, tags) {\n if (tagName) {\n const match = tags.filter(t => t.tag === tagName);\n const tagObj = match.find(t => !t.format) || match[0];\n if (!tagObj) throw new Error(`Tag ${tagName} not found`);\n return tagObj;\n } // TODO: deprecate/remove class check\n\n\n return tags.find(t => (t.identify && t.identify(value) || t.class && value instanceof t.class) && !t.format);\n}\n\nfunction createNode(value, tagName, ctx) {\n if (value instanceof resolveSeq4a68b39b.Node) return value;\n const {\n defaultPrefix,\n onTagObj,\n prevObjects,\n schema,\n wrapScalars\n } = ctx;\n if (tagName && tagName.startsWith('!!')) tagName = defaultPrefix + tagName.slice(2);\n let tagObj = findTagObject(value, tagName, schema.tags);\n\n if (!tagObj) {\n if (typeof value.toJSON === 'function') value = value.toJSON();\n if (typeof value !== 'object') return wrapScalars ? new resolveSeq4a68b39b.Scalar(value) : value;\n tagObj = value instanceof Map ? map : value[Symbol.iterator] ? seq : map;\n }\n\n if (onTagObj) {\n onTagObj(tagObj);\n delete ctx.onTagObj;\n } // Detect duplicate references to the same object & use Alias nodes for all\n // after first. The `obj` wrapper allows for circular references to resolve.\n\n\n const obj = {};\n\n if (value && typeof value === 'object' && prevObjects) {\n const prev = prevObjects.get(value);\n\n if (prev) {\n const alias = new resolveSeq4a68b39b.Alias(prev); // leaves source dirty; must be cleaned by caller\n\n ctx.aliasNodes.push(alias); // defined along with prevObjects\n\n return alias;\n }\n\n obj.value = value;\n prevObjects.set(value, obj);\n }\n\n obj.node = tagObj.createNode ? tagObj.createNode(ctx.schema, value, ctx) : wrapScalars ? new resolveSeq4a68b39b.Scalar(value) : value;\n if (tagName && obj.node instanceof resolveSeq4a68b39b.Node) obj.node.tag = tagName;\n return obj.node;\n}\n\nfunction getSchemaTags(schemas, knownTags, customTags, schemaId) {\n let tags = schemas[schemaId.replace(/\\W/g, '')]; // 'yaml-1.1' -> 'yaml11'\n\n if (!tags) {\n const keys = Object.keys(schemas).map(key => JSON.stringify(key)).join(', ');\n throw new Error(`Unknown schema \"${schemaId}\"; use one of ${keys}`);\n }\n\n if (Array.isArray(customTags)) {\n for (const tag of customTags) tags = tags.concat(tag);\n } else if (typeof customTags === 'function') {\n tags = customTags(tags.slice());\n }\n\n for (let i = 0; i < tags.length; ++i) {\n const tag = tags[i];\n\n if (typeof tag === 'string') {\n const tagObj = knownTags[tag];\n\n if (!tagObj) {\n const keys = Object.keys(knownTags).map(key => JSON.stringify(key)).join(', ');\n throw new Error(`Unknown custom tag \"${tag}\"; use one of ${keys}`);\n }\n\n tags[i] = tagObj;\n }\n }\n\n return tags;\n}\n\nconst sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0;\n\nclass Schema {\n // TODO: remove in v2\n // TODO: remove in v2\n constructor({\n customTags,\n merge,\n schema,\n sortMapEntries,\n tags: deprecatedCustomTags\n }) {\n this.merge = !!merge;\n this.name = schema;\n this.sortMapEntries = sortMapEntries === true ? sortMapEntriesByKey : sortMapEntries || null;\n if (!customTags && deprecatedCustomTags) warnings39684f17.warnOptionDeprecation('tags', 'customTags');\n this.tags = getSchemaTags(schemas, tags, customTags || deprecatedCustomTags, schema);\n }\n\n createNode(value, wrapScalars, tagName, ctx) {\n const baseCtx = {\n defaultPrefix: Schema.defaultPrefix,\n schema: this,\n wrapScalars\n };\n const createCtx = ctx ? Object.assign(ctx, baseCtx) : baseCtx;\n return createNode(value, tagName, createCtx);\n }\n\n createPair(key, value, ctx) {\n if (!ctx) ctx = {\n wrapScalars: true\n };\n const k = this.createNode(key, ctx.wrapScalars, null, ctx);\n const v = this.createNode(value, ctx.wrapScalars, null, ctx);\n return new resolveSeq4a68b39b.Pair(k, v);\n }\n\n}\n\nPlainValueEc8e588e._defineProperty(Schema, \"defaultPrefix\", PlainValueEc8e588e.defaultTagPrefix);\n\nPlainValueEc8e588e._defineProperty(Schema, \"defaultTags\", PlainValueEc8e588e.defaultTags);\n\nvar Schema_1 = Schema;\nvar Schema42e9705c = {\n Schema: Schema_1\n};\n\nconst defaultOptions = {\n anchorPrefix: 'a',\n customTags: null,\n indent: 2,\n indentSeq: true,\n keepCstNodes: false,\n keepNodeTypes: true,\n keepBlobsInJSON: true,\n mapAsMap: false,\n maxAliasCount: 100,\n prettyErrors: false,\n // TODO Set true in v2\n simpleKeys: false,\n version: '1.2'\n};\nconst scalarOptions = {\n get binary() {\n return resolveSeq4a68b39b.binaryOptions;\n },\n\n set binary(opt) {\n Object.assign(resolveSeq4a68b39b.binaryOptions, opt);\n },\n\n get bool() {\n return resolveSeq4a68b39b.boolOptions;\n },\n\n set bool(opt) {\n Object.assign(resolveSeq4a68b39b.boolOptions, opt);\n },\n\n get int() {\n return resolveSeq4a68b39b.intOptions;\n },\n\n set int(opt) {\n Object.assign(resolveSeq4a68b39b.intOptions, opt);\n },\n\n get null() {\n return resolveSeq4a68b39b.nullOptions;\n },\n\n set null(opt) {\n Object.assign(resolveSeq4a68b39b.nullOptions, opt);\n },\n\n get str() {\n return resolveSeq4a68b39b.strOptions;\n },\n\n set str(opt) {\n Object.assign(resolveSeq4a68b39b.strOptions, opt);\n }\n\n};\nconst documentOptions = {\n '1.0': {\n schema: 'yaml-1.1',\n merge: true,\n tagPrefixes: [{\n handle: '!',\n prefix: PlainValueEc8e588e.defaultTagPrefix\n }, {\n handle: '!!',\n prefix: 'tag:private.yaml.org,2002:'\n }]\n },\n '1.1': {\n schema: 'yaml-1.1',\n merge: true,\n tagPrefixes: [{\n handle: '!',\n prefix: '!'\n }, {\n handle: '!!',\n prefix: PlainValueEc8e588e.defaultTagPrefix\n }]\n },\n '1.2': {\n schema: 'core',\n merge: false,\n tagPrefixes: [{\n handle: '!',\n prefix: '!'\n }, {\n handle: '!!',\n prefix: PlainValueEc8e588e.defaultTagPrefix\n }]\n }\n};\n\nfunction stringifyTag(doc, tag) {\n if ((doc.version || doc.options.version) === '1.0') {\n const priv = tag.match(/^tag:private\\.yaml\\.org,2002:([^:/]+)$/);\n if (priv) return '!' + priv[1];\n const vocab = tag.match(/^tag:([a-zA-Z0-9-]+)\\.yaml\\.org,2002:(.*)/);\n return vocab ? `!${vocab[1]}/${vocab[2]}` : `!${tag.replace(/^tag:/, '')}`;\n }\n\n let p = doc.tagPrefixes.find(p => tag.indexOf(p.prefix) === 0);\n\n if (!p) {\n const dtp = doc.getDefaults().tagPrefixes;\n p = dtp && dtp.find(p => tag.indexOf(p.prefix) === 0);\n }\n\n if (!p) return tag[0] === '!' ? tag : `!<${tag}>`;\n const suffix = tag.substr(p.prefix.length).replace(/[!,[\\]{}]/g, ch => ({\n '!': '%21',\n ',': '%2C',\n '[': '%5B',\n ']': '%5D',\n '{': '%7B',\n '}': '%7D'\n })[ch]);\n return p.handle + suffix;\n}\n\nfunction getTagObject(tags, item) {\n if (item instanceof resolveSeq4a68b39b.Alias) return resolveSeq4a68b39b.Alias;\n\n if (item.tag) {\n const match = tags.filter(t => t.tag === item.tag);\n if (match.length > 0) return match.find(t => t.format === item.format) || match[0];\n }\n\n let tagObj, obj;\n\n if (item instanceof resolveSeq4a68b39b.Scalar) {\n obj = item.value; // TODO: deprecate/remove class check\n\n const match = tags.filter(t => t.identify && t.identify(obj) || t.class && obj instanceof t.class);\n tagObj = match.find(t => t.format === item.format) || match.find(t => !t.format);\n } else {\n obj = item;\n tagObj = tags.find(t => t.nodeClass && obj instanceof t.nodeClass);\n }\n\n if (!tagObj) {\n const name = obj && obj.constructor ? obj.constructor.name : typeof obj;\n throw new Error(`Tag not resolved for ${name} value`);\n }\n\n return tagObj;\n} // needs to be called before value stringifier to allow for circular anchor refs\n\n\nfunction stringifyProps(node, tagObj, {\n anchors,\n doc\n}) {\n const props = [];\n const anchor = doc.anchors.getName(node);\n\n if (anchor) {\n anchors[anchor] = node;\n props.push(`&${anchor}`);\n }\n\n if (node.tag) {\n props.push(stringifyTag(doc, node.tag));\n } else if (!tagObj.default) {\n props.push(stringifyTag(doc, tagObj.tag));\n }\n\n return props.join(' ');\n}\n\nfunction stringify(item, ctx, onComment, onChompKeep) {\n const {\n anchors,\n schema\n } = ctx.doc;\n let tagObj;\n\n if (!(item instanceof resolveSeq4a68b39b.Node)) {\n const createCtx = {\n aliasNodes: [],\n onTagObj: o => tagObj = o,\n prevObjects: new Map()\n };\n item = schema.createNode(item, true, null, createCtx);\n\n for (const alias of createCtx.aliasNodes) {\n alias.source = alias.source.node;\n let name = anchors.getName(alias.source);\n\n if (!name) {\n name = anchors.newName();\n anchors.map[name] = alias.source;\n }\n }\n }\n\n if (item instanceof resolveSeq4a68b39b.Pair) return item.toString(ctx, onComment, onChompKeep);\n if (!tagObj) tagObj = getTagObject(schema.tags, item);\n const props = stringifyProps(item, tagObj, ctx);\n if (props.length > 0) ctx.indentAtStart = (ctx.indentAtStart || 0) + props.length + 1;\n const str = typeof tagObj.stringify === 'function' ? tagObj.stringify(item, ctx, onComment, onChompKeep) : item instanceof resolveSeq4a68b39b.Scalar ? resolveSeq4a68b39b.stringifyString(item, ctx, onComment, onChompKeep) : item.toString(ctx, onComment, onChompKeep);\n if (!props) return str;\n return item instanceof resolveSeq4a68b39b.Scalar || str[0] === '{' || str[0] === '[' ? `${props} ${str}` : `${props}\\n${ctx.indent}${str}`;\n}\n\nclass Anchors {\n static validAnchorNode(node) {\n return node instanceof resolveSeq4a68b39b.Scalar || node instanceof resolveSeq4a68b39b.YAMLSeq || node instanceof resolveSeq4a68b39b.YAMLMap;\n }\n\n constructor(prefix) {\n PlainValueEc8e588e._defineProperty(this, \"map\", {});\n\n this.prefix = prefix;\n }\n\n createAlias(node, name) {\n this.setAnchor(node, name);\n return new resolveSeq4a68b39b.Alias(node);\n }\n\n createMergePair(...sources) {\n const merge = new resolveSeq4a68b39b.Merge();\n merge.value.items = sources.map(s => {\n if (s instanceof resolveSeq4a68b39b.Alias) {\n if (s.source instanceof resolveSeq4a68b39b.YAMLMap) return s;\n } else if (s instanceof resolveSeq4a68b39b.YAMLMap) {\n return this.createAlias(s);\n }\n\n throw new Error('Merge sources must be Map nodes or their Aliases');\n });\n return merge;\n }\n\n getName(node) {\n const {\n map\n } = this;\n return Object.keys(map).find(a => map[a] === node);\n }\n\n getNames() {\n return Object.keys(this.map);\n }\n\n getNode(name) {\n return this.map[name];\n }\n\n newName(prefix) {\n if (!prefix) prefix = this.prefix;\n const names = Object.keys(this.map);\n\n for (let i = 1; true; ++i) {\n const name = `${prefix}${i}`;\n if (!names.includes(name)) return name;\n }\n } // During parsing, map & aliases contain CST nodes\n\n\n resolveNodes() {\n const {\n map,\n _cstAliases\n } = this;\n Object.keys(map).forEach(a => {\n map[a] = map[a].resolved;\n });\n\n _cstAliases.forEach(a => {\n a.source = a.source.resolved;\n });\n\n delete this._cstAliases;\n }\n\n setAnchor(node, name) {\n if (node != null && !Anchors.validAnchorNode(node)) {\n throw new Error('Anchors may only be set for Scalar, Seq and Map nodes');\n }\n\n if (name && /[\\x00-\\x19\\s,[\\]{}]/.test(name)) {\n throw new Error('Anchor names must not contain whitespace or control characters');\n }\n\n const {\n map\n } = this;\n const prev = node && Object.keys(map).find(a => map[a] === node);\n\n if (prev) {\n if (!name) {\n return prev;\n } else if (prev !== name) {\n delete map[prev];\n map[name] = node;\n }\n } else {\n if (!name) {\n if (!node) return null;\n name = this.newName();\n }\n\n map[name] = node;\n }\n\n return name;\n }\n\n}\n\nconst visit = (node, tags) => {\n if (node && typeof node === 'object') {\n const {\n tag\n } = node;\n\n if (node instanceof resolveSeq4a68b39b.Collection) {\n if (tag) tags[tag] = true;\n node.items.forEach(n => visit(n, tags));\n } else if (node instanceof resolveSeq4a68b39b.Pair) {\n visit(node.key, tags);\n visit(node.value, tags);\n } else if (node instanceof resolveSeq4a68b39b.Scalar) {\n if (tag) tags[tag] = true;\n }\n }\n\n return tags;\n};\n\nconst listTagNames = node => Object.keys(visit(node, {}));\n\nfunction parseContents(doc, contents) {\n const comments = {\n before: [],\n after: []\n };\n let body = undefined;\n let spaceBefore = false;\n\n for (const node of contents) {\n if (node.valueRange) {\n if (body !== undefined) {\n const msg = 'Document contains trailing content not separated by a ... or --- line';\n doc.errors.push(new PlainValueEc8e588e.YAMLSyntaxError(node, msg));\n break;\n }\n\n const res = resolveSeq4a68b39b.resolveNode(doc, node);\n\n if (spaceBefore) {\n res.spaceBefore = true;\n spaceBefore = false;\n }\n\n body = res;\n } else if (node.comment !== null) {\n const cc = body === undefined ? comments.before : comments.after;\n cc.push(node.comment);\n } else if (node.type === PlainValueEc8e588e.Type.BLANK_LINE) {\n spaceBefore = true;\n\n if (body === undefined && comments.before.length > 0 && !doc.commentBefore) {\n // space-separated comments at start are parsed as document comments\n doc.commentBefore = comments.before.join('\\n');\n comments.before = [];\n }\n }\n }\n\n doc.contents = body || null;\n\n if (!body) {\n doc.comment = comments.before.concat(comments.after).join('\\n') || null;\n } else {\n const cb = comments.before.join('\\n');\n\n if (cb) {\n const cbNode = body instanceof resolveSeq4a68b39b.Collection && body.items[0] ? body.items[0] : body;\n cbNode.commentBefore = cbNode.commentBefore ? `${cb}\\n${cbNode.commentBefore}` : cb;\n }\n\n doc.comment = comments.after.join('\\n') || null;\n }\n}\n\nfunction resolveTagDirective({\n tagPrefixes\n}, directive) {\n const [handle, prefix] = directive.parameters;\n\n if (!handle || !prefix) {\n const msg = 'Insufficient parameters given for %TAG directive';\n throw new PlainValueEc8e588e.YAMLSemanticError(directive, msg);\n }\n\n if (tagPrefixes.some(p => p.handle === handle)) {\n const msg = 'The %TAG directive must only be given at most once per handle in the same document.';\n throw new PlainValueEc8e588e.YAMLSemanticError(directive, msg);\n }\n\n return {\n handle,\n prefix\n };\n}\n\nfunction resolveYamlDirective(doc, directive) {\n let [version] = directive.parameters;\n if (directive.name === 'YAML:1.0') version = '1.0';\n\n if (!version) {\n const msg = 'Insufficient parameters given for %YAML directive';\n throw new PlainValueEc8e588e.YAMLSemanticError(directive, msg);\n }\n\n if (!documentOptions[version]) {\n const v0 = doc.version || doc.options.version;\n const msg = `Document will be parsed as YAML ${v0} rather than YAML ${version}`;\n doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(directive, msg));\n }\n\n return version;\n}\n\nfunction parseDirectives(doc, directives, prevDoc) {\n const directiveComments = [];\n let hasDirectives = false;\n\n for (const directive of directives) {\n const {\n comment,\n name\n } = directive;\n\n switch (name) {\n case 'TAG':\n try {\n doc.tagPrefixes.push(resolveTagDirective(doc, directive));\n } catch (error) {\n doc.errors.push(error);\n }\n\n hasDirectives = true;\n break;\n\n case 'YAML':\n case 'YAML:1.0':\n if (doc.version) {\n const msg = 'The %YAML directive must only be given at most once per document.';\n doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(directive, msg));\n }\n\n try {\n doc.version = resolveYamlDirective(doc, directive);\n } catch (error) {\n doc.errors.push(error);\n }\n\n hasDirectives = true;\n break;\n\n default:\n if (name) {\n const msg = `YAML only supports %TAG and %YAML directives, and not %${name}`;\n doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(directive, msg));\n }\n\n }\n\n if (comment) directiveComments.push(comment);\n }\n\n if (prevDoc && !hasDirectives && '1.1' === (doc.version || prevDoc.version || doc.options.version)) {\n const copyTagPrefix = ({\n handle,\n prefix\n }) => ({\n handle,\n prefix\n });\n\n doc.tagPrefixes = prevDoc.tagPrefixes.map(copyTagPrefix);\n doc.version = prevDoc.version;\n }\n\n doc.commentBefore = directiveComments.join('\\n') || null;\n}\n\nfunction assertCollection(contents) {\n if (contents instanceof resolveSeq4a68b39b.Collection) return true;\n throw new Error('Expected a YAML collection as document contents');\n}\n\nclass Document$1 {\n constructor(options) {\n this.anchors = new Anchors(options.anchorPrefix);\n this.commentBefore = null;\n this.comment = null;\n this.contents = null;\n this.directivesEndMarker = null;\n this.errors = [];\n this.options = options;\n this.schema = null;\n this.tagPrefixes = [];\n this.version = null;\n this.warnings = [];\n }\n\n add(value) {\n assertCollection(this.contents);\n return this.contents.add(value);\n }\n\n addIn(path, value) {\n assertCollection(this.contents);\n this.contents.addIn(path, value);\n }\n\n delete(key) {\n assertCollection(this.contents);\n return this.contents.delete(key);\n }\n\n deleteIn(path) {\n if (resolveSeq4a68b39b.isEmptyPath(path)) {\n if (this.contents == null) return false;\n this.contents = null;\n return true;\n }\n\n assertCollection(this.contents);\n return this.contents.deleteIn(path);\n }\n\n getDefaults() {\n return Document$1.defaults[this.version] || Document$1.defaults[this.options.version] || {};\n }\n\n get(key, keepScalar) {\n return this.contents instanceof resolveSeq4a68b39b.Collection ? this.contents.get(key, keepScalar) : undefined;\n }\n\n getIn(path, keepScalar) {\n if (resolveSeq4a68b39b.isEmptyPath(path)) return !keepScalar && this.contents instanceof resolveSeq4a68b39b.Scalar ? this.contents.value : this.contents;\n return this.contents instanceof resolveSeq4a68b39b.Collection ? this.contents.getIn(path, keepScalar) : undefined;\n }\n\n has(key) {\n return this.contents instanceof resolveSeq4a68b39b.Collection ? this.contents.has(key) : false;\n }\n\n hasIn(path) {\n if (resolveSeq4a68b39b.isEmptyPath(path)) return this.contents !== undefined;\n return this.contents instanceof resolveSeq4a68b39b.Collection ? this.contents.hasIn(path) : false;\n }\n\n set(key, value) {\n assertCollection(this.contents);\n this.contents.set(key, value);\n }\n\n setIn(path, value) {\n if (resolveSeq4a68b39b.isEmptyPath(path)) this.contents = value;else {\n assertCollection(this.contents);\n this.contents.setIn(path, value);\n }\n }\n\n setSchema(id, customTags) {\n if (!id && !customTags && this.schema) return;\n if (typeof id === 'number') id = id.toFixed(1);\n\n if (id === '1.0' || id === '1.1' || id === '1.2') {\n if (this.version) this.version = id;else this.options.version = id;\n delete this.options.schema;\n } else if (id && typeof id === 'string') {\n this.options.schema = id;\n }\n\n if (Array.isArray(customTags)) this.options.customTags = customTags;\n const opt = Object.assign({}, this.getDefaults(), this.options);\n this.schema = new Schema42e9705c.Schema(opt);\n }\n\n parse(node, prevDoc) {\n if (this.options.keepCstNodes) this.cstNode = node;\n if (this.options.keepNodeTypes) this.type = 'DOCUMENT';\n const {\n directives = [],\n contents = [],\n directivesEndMarker,\n error,\n valueRange\n } = node;\n\n if (error) {\n if (!error.source) error.source = this;\n this.errors.push(error);\n }\n\n parseDirectives(this, directives, prevDoc);\n if (directivesEndMarker) this.directivesEndMarker = true;\n this.range = valueRange ? [valueRange.start, valueRange.end] : null;\n this.setSchema();\n this.anchors._cstAliases = [];\n parseContents(this, contents);\n this.anchors.resolveNodes();\n\n if (this.options.prettyErrors) {\n for (const error of this.errors) if (error instanceof PlainValueEc8e588e.YAMLError) error.makePretty();\n\n for (const warn of this.warnings) if (warn instanceof PlainValueEc8e588e.YAMLError) warn.makePretty();\n }\n\n return this;\n }\n\n listNonDefaultTags() {\n return listTagNames(this.contents).filter(t => t.indexOf(Schema42e9705c.Schema.defaultPrefix) !== 0);\n }\n\n setTagPrefix(handle, prefix) {\n if (handle[0] !== '!' || handle[handle.length - 1] !== '!') throw new Error('Handle must start and end with !');\n\n if (prefix) {\n const prev = this.tagPrefixes.find(p => p.handle === handle);\n if (prev) prev.prefix = prefix;else this.tagPrefixes.push({\n handle,\n prefix\n });\n } else {\n this.tagPrefixes = this.tagPrefixes.filter(p => p.handle !== handle);\n }\n }\n\n toJSON(arg, onAnchor) {\n const {\n keepBlobsInJSON,\n mapAsMap,\n maxAliasCount\n } = this.options;\n const keep = keepBlobsInJSON && (typeof arg !== 'string' || !(this.contents instanceof resolveSeq4a68b39b.Scalar));\n const ctx = {\n doc: this,\n indentStep: ' ',\n keep,\n mapAsMap: keep && !!mapAsMap,\n maxAliasCount,\n stringify // Requiring directly in Pair would create circular dependencies\n\n };\n const anchorNames = Object.keys(this.anchors.map);\n if (anchorNames.length > 0) ctx.anchors = new Map(anchorNames.map(name => [this.anchors.map[name], {\n alias: [],\n aliasCount: 0,\n count: 1\n }]));\n const res = resolveSeq4a68b39b.toJSON(this.contents, arg, ctx);\n if (typeof onAnchor === 'function' && ctx.anchors) for (const {\n count,\n res\n } of ctx.anchors.values()) onAnchor(res, count);\n return res;\n }\n\n toString() {\n if (this.errors.length > 0) throw new Error('Document with errors cannot be stringified');\n const indentSize = this.options.indent;\n\n if (!Number.isInteger(indentSize) || indentSize <= 0) {\n const s = JSON.stringify(indentSize);\n throw new Error(`\"indent\" option must be a positive integer, not ${s}`);\n }\n\n this.setSchema();\n const lines = [];\n let hasDirectives = false;\n\n if (this.version) {\n let vd = '%YAML 1.2';\n\n if (this.schema.name === 'yaml-1.1') {\n if (this.version === '1.0') vd = '%YAML:1.0';else if (this.version === '1.1') vd = '%YAML 1.1';\n }\n\n lines.push(vd);\n hasDirectives = true;\n }\n\n const tagNames = this.listNonDefaultTags();\n this.tagPrefixes.forEach(({\n handle,\n prefix\n }) => {\n if (tagNames.some(t => t.indexOf(prefix) === 0)) {\n lines.push(`%TAG ${handle} ${prefix}`);\n hasDirectives = true;\n }\n });\n if (hasDirectives || this.directivesEndMarker) lines.push('---');\n\n if (this.commentBefore) {\n if (hasDirectives || !this.directivesEndMarker) lines.unshift('');\n lines.unshift(this.commentBefore.replace(/^/gm, '#'));\n }\n\n const ctx = {\n anchors: {},\n doc: this,\n indent: '',\n indentStep: ' '.repeat(indentSize),\n stringify // Requiring directly in nodes would create circular dependencies\n\n };\n let chompKeep = false;\n let contentComment = null;\n\n if (this.contents) {\n if (this.contents instanceof resolveSeq4a68b39b.Node) {\n if (this.contents.spaceBefore && (hasDirectives || this.directivesEndMarker)) lines.push('');\n if (this.contents.commentBefore) lines.push(this.contents.commentBefore.replace(/^/gm, '#')); // top-level block scalars need to be indented if followed by a comment\n\n ctx.forceBlockIndent = !!this.comment;\n contentComment = this.contents.comment;\n }\n\n const onChompKeep = contentComment ? null : () => chompKeep = true;\n const body = stringify(this.contents, ctx, () => contentComment = null, onChompKeep);\n lines.push(resolveSeq4a68b39b.addComment(body, '', contentComment));\n } else if (this.contents !== undefined) {\n lines.push(stringify(this.contents, ctx));\n }\n\n if (this.comment) {\n if ((!chompKeep || contentComment) && lines[lines.length - 1] !== '') lines.push('');\n lines.push(this.comment.replace(/^/gm, '#'));\n }\n\n return lines.join('\\n') + '\\n';\n }\n\n}\n\nPlainValueEc8e588e._defineProperty(Document$1, \"defaults\", documentOptions);\n\nvar Document_1 = Document$1;\nvar defaultOptions_1 = defaultOptions;\nvar scalarOptions_1 = scalarOptions;\nvar Document2cf6b08c = {\n Document: Document_1,\n defaultOptions: defaultOptions_1,\n scalarOptions: scalarOptions_1\n};\n\nfunction createNode$1(value, wrapScalars = true, tag) {\n if (tag === undefined && typeof wrapScalars === 'string') {\n tag = wrapScalars;\n wrapScalars = true;\n }\n\n const options = Object.assign({}, Document2cf6b08c.Document.defaults[Document2cf6b08c.defaultOptions.version], Document2cf6b08c.defaultOptions);\n const schema = new Schema42e9705c.Schema(options);\n return schema.createNode(value, wrapScalars, tag);\n}\n\nclass Document$2 extends Document2cf6b08c.Document {\n constructor(options) {\n super(Object.assign({}, Document2cf6b08c.defaultOptions, options));\n }\n\n}\n\nfunction parseAllDocuments(src, options) {\n const stream = [];\n let prev;\n\n for (const cstDoc of parseCst.parse(src)) {\n const doc = new Document$2(options);\n doc.parse(cstDoc, prev);\n stream.push(doc);\n prev = doc;\n }\n\n return stream;\n}\n\nfunction parseDocument(src, options) {\n const cst = parseCst.parse(src);\n const doc = new Document$2(options).parse(cst[0]);\n\n if (cst.length > 1) {\n const errMsg = 'Source contains multiple documents; please use YAML.parseAllDocuments()';\n doc.errors.unshift(new PlainValueEc8e588e.YAMLSemanticError(cst[1], errMsg));\n }\n\n return doc;\n}\n\nfunction parse$1(src, options) {\n const doc = parseDocument(src, options);\n doc.warnings.forEach(warning => warnings39684f17.warn(warning));\n if (doc.errors.length > 0) throw doc.errors[0];\n return doc.toJSON();\n}\n\nfunction stringify$1(value, options) {\n const doc = new Document$2(options);\n doc.contents = value;\n return String(doc);\n}\n\nconst YAML = {\n createNode: createNode$1,\n defaultOptions: Document2cf6b08c.defaultOptions,\n Document: Document$2,\n parse: parse$1,\n parseAllDocuments,\n parseCST: parseCst.parse,\n parseDocument,\n scalarOptions: Document2cf6b08c.scalarOptions,\n stringify: stringify$1\n};\nvar YAML_1 = YAML;\nvar dist$1 = {\n YAML: YAML_1\n};\n\nvar yaml = dist$1.YAML;\n\nvar loaders_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.loaders = void 0;\n /* eslint-disable @typescript-eslint/no-require-imports */\n\n let importFresh$1;\n\n const loadJs = function loadJs(filepath) {\n if (importFresh$1 === undefined) {\n importFresh$1 = importFresh;\n }\n\n const result = importFresh$1(filepath);\n return result;\n };\n\n let parseJson;\n\n const loadJson = function loadJson(filepath, content) {\n if (parseJson === undefined) {\n parseJson = parseJson$1;\n }\n\n try {\n const result = parseJson(content);\n return result;\n } catch (error) {\n error.message = `JSON Error in ${filepath}:\\n${error.message}`;\n throw error;\n }\n };\n\n let yaml$1;\n\n const loadYaml = function loadYaml(filepath, content) {\n if (yaml$1 === undefined) {\n yaml$1 = yaml;\n }\n\n try {\n const result = yaml$1.parse(content, {\n prettyErrors: true\n });\n return result;\n } catch (error) {\n error.message = `YAML Error in ${filepath}:\\n${error.message}`;\n throw error;\n }\n };\n\n const loaders = {\n loadJs,\n loadJson,\n loadYaml\n };\n exports.loaders = loaders;\n});\n\nvar getPropertyByPath_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getPropertyByPath = getPropertyByPath; // Resolves property names or property paths defined with period-delimited\n // strings or arrays of strings. Property names that are found on the source\n // object are used directly (even if they include a period).\n // Nested property names that include periods, within a path, are only\n // understood in array paths.\n\n function getPropertyByPath(source, path) {\n if (typeof path === 'string' && Object.prototype.hasOwnProperty.call(source, path)) {\n return source[path];\n }\n\n const parsedPath = typeof path === 'string' ? path.split('.') : path; // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n return parsedPath.reduce((previous, key) => {\n if (previous === undefined) {\n return previous;\n }\n\n return previous[key];\n }, source);\n }\n});\n\nvar ExplorerBase_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getExtensionDescription = getExtensionDescription;\n exports.ExplorerBase = void 0;\n\n var _path = _interopRequireDefault(path__default['default']);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n class ExplorerBase {\n constructor(options) {\n if (options.cache === true) {\n this.loadCache = new Map();\n this.searchCache = new Map();\n }\n\n this.config = options;\n this.validateConfig();\n }\n\n clearLoadCache() {\n if (this.loadCache) {\n this.loadCache.clear();\n }\n }\n\n clearSearchCache() {\n if (this.searchCache) {\n this.searchCache.clear();\n }\n }\n\n clearCaches() {\n this.clearLoadCache();\n this.clearSearchCache();\n }\n\n validateConfig() {\n const config = this.config;\n config.searchPlaces.forEach(place => {\n const loaderKey = _path.default.extname(place) || 'noExt';\n const loader = config.loaders[loaderKey];\n\n if (!loader) {\n throw new Error(`No loader specified for ${getExtensionDescription(place)}, so searchPlaces item \"${place}\" is invalid`);\n }\n\n if (typeof loader !== 'function') {\n throw new Error(`loader for ${getExtensionDescription(place)} is not a function (type provided: \"${typeof loader}\"), so searchPlaces item \"${place}\" is invalid`);\n }\n });\n }\n\n shouldSearchStopWithResult(result) {\n if (result === null) return false;\n if (result.isEmpty && this.config.ignoreEmptySearchPlaces) return false;\n return true;\n }\n\n nextDirectoryToSearch(currentDir, currentResult) {\n if (this.shouldSearchStopWithResult(currentResult)) {\n return null;\n }\n\n const nextDir = nextDirUp(currentDir);\n\n if (nextDir === currentDir || currentDir === this.config.stopDir) {\n return null;\n }\n\n return nextDir;\n }\n\n loadPackageProp(filepath, content) {\n const parsedContent = loaders_1.loaders.loadJson(filepath, content);\n\n const packagePropValue = (0, getPropertyByPath_1.getPropertyByPath)(parsedContent, this.config.packageProp);\n return packagePropValue || null;\n }\n\n getLoaderEntryForFile(filepath) {\n if (_path.default.basename(filepath) === 'package.json') {\n const loader = this.loadPackageProp.bind(this);\n return loader;\n }\n\n const loaderKey = _path.default.extname(filepath) || 'noExt';\n const loader = this.config.loaders[loaderKey];\n\n if (!loader) {\n throw new Error(`No loader specified for ${getExtensionDescription(filepath)}`);\n }\n\n return loader;\n }\n\n loadedContentToCosmiconfigResult(filepath, loadedContent) {\n if (loadedContent === null) {\n return null;\n }\n\n if (loadedContent === undefined) {\n return {\n filepath,\n config: undefined,\n isEmpty: true\n };\n }\n\n return {\n config: loadedContent,\n filepath\n };\n }\n\n validateFilePath(filepath) {\n if (!filepath) {\n throw new Error('load must pass a non-empty string');\n }\n }\n\n }\n\n exports.ExplorerBase = ExplorerBase;\n\n function nextDirUp(dir) {\n return _path.default.dirname(dir);\n }\n\n function getExtensionDescription(filepath) {\n const ext = _path.default.extname(filepath);\n\n return ext ? `extension \"${ext}\"` : 'files without extensions';\n }\n});\n\nvar readFile_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.readFile = readFile;\n exports.readFileSync = readFileSync;\n\n var _fs = _interopRequireDefault(fs__default['default']);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n async function fsReadFileAsync(pathname, encoding) {\n return new Promise((resolve, reject) => {\n _fs.default.readFile(pathname, encoding, (error, contents) => {\n if (error) {\n reject(error);\n return;\n }\n\n resolve(contents);\n });\n });\n }\n\n async function readFile(filepath, options = {}) {\n const throwNotFound = options.throwNotFound === true;\n\n try {\n const content = await fsReadFileAsync(filepath, 'utf8');\n return content;\n } catch (error) {\n if (throwNotFound === false && error.code === 'ENOENT') {\n return null;\n }\n\n throw error;\n }\n }\n\n function readFileSync(filepath, options = {}) {\n const throwNotFound = options.throwNotFound === true;\n\n try {\n const content = _fs.default.readFileSync(filepath, 'utf8');\n\n return content;\n } catch (error) {\n if (throwNotFound === false && error.code === 'ENOENT') {\n return null;\n }\n\n throw error;\n }\n }\n});\n\nvar cacheWrapper_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.cacheWrapper = cacheWrapper;\n exports.cacheWrapperSync = cacheWrapperSync;\n\n async function cacheWrapper(cache, key, fn) {\n const cached = cache.get(key);\n\n if (cached !== undefined) {\n return cached;\n }\n\n const result = await fn();\n cache.set(key, result);\n return result;\n }\n\n function cacheWrapperSync(cache, key, fn) {\n const cached = cache.get(key);\n\n if (cached !== undefined) {\n return cached;\n }\n\n const result = fn();\n cache.set(key, result);\n return result;\n }\n});\n\nconst {\n promisify\n} = util__default['default'];\n\nasync function isType(fsStatType, statsMethodName, filePath) {\n if (typeof filePath !== 'string') {\n throw new TypeError(`Expected a string, got ${typeof filePath}`);\n }\n\n try {\n const stats = await promisify(fs__default['default'][fsStatType])(filePath);\n return stats[statsMethodName]();\n } catch (error) {\n if (error.code === 'ENOENT') {\n return false;\n }\n\n throw error;\n }\n}\n\nfunction isTypeSync(fsStatType, statsMethodName, filePath) {\n if (typeof filePath !== 'string') {\n throw new TypeError(`Expected a string, got ${typeof filePath}`);\n }\n\n try {\n return fs__default['default'][fsStatType](filePath)[statsMethodName]();\n } catch (error) {\n if (error.code === 'ENOENT') {\n return false;\n }\n\n throw error;\n }\n}\n\nvar isFile = isType.bind(null, 'stat', 'isFile');\nvar isDirectory = isType.bind(null, 'stat', 'isDirectory');\nvar isSymlink = isType.bind(null, 'lstat', 'isSymbolicLink');\nvar isFileSync = isTypeSync.bind(null, 'statSync', 'isFile');\nvar isDirectorySync = isTypeSync.bind(null, 'statSync', 'isDirectory');\nvar isSymlinkSync = isTypeSync.bind(null, 'lstatSync', 'isSymbolicLink');\nvar pathType = {\n isFile: isFile,\n isDirectory: isDirectory,\n isSymlink: isSymlink,\n isFileSync: isFileSync,\n isDirectorySync: isDirectorySync,\n isSymlinkSync: isSymlinkSync\n};\n\nvar getDirectory_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getDirectory = getDirectory;\n exports.getDirectorySync = getDirectorySync;\n\n var _path = _interopRequireDefault(path__default['default']);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n async function getDirectory(filepath) {\n const filePathIsDirectory = await (0, pathType.isDirectory)(filepath);\n\n if (filePathIsDirectory === true) {\n return filepath;\n }\n\n const directory = _path.default.dirname(filepath);\n\n return directory;\n }\n\n function getDirectorySync(filepath) {\n const filePathIsDirectory = (0, pathType.isDirectorySync)(filepath);\n\n if (filePathIsDirectory === true) {\n return filepath;\n }\n\n const directory = _path.default.dirname(filepath);\n\n return directory;\n }\n});\n\nvar Explorer_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Explorer = void 0;\n\n var _path = _interopRequireDefault(path__default['default']);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n class Explorer extends ExplorerBase_1.ExplorerBase {\n constructor(options) {\n super(options);\n }\n\n async search(searchFrom = process.cwd()) {\n const startDirectory = await (0, getDirectory_1.getDirectory)(searchFrom);\n const result = await this.searchFromDirectory(startDirectory);\n return result;\n }\n\n async searchFromDirectory(dir) {\n const absoluteDir = _path.default.resolve(process.cwd(), dir);\n\n const run = async () => {\n const result = await this.searchDirectory(absoluteDir);\n const nextDir = this.nextDirectoryToSearch(absoluteDir, result);\n\n if (nextDir) {\n return this.searchFromDirectory(nextDir);\n }\n\n const transformResult = await this.config.transform(result);\n return transformResult;\n };\n\n if (this.searchCache) {\n return (0, cacheWrapper_1.cacheWrapper)(this.searchCache, absoluteDir, run);\n }\n\n return run();\n }\n\n async searchDirectory(dir) {\n for await (const place of this.config.searchPlaces) {\n const placeResult = await this.loadSearchPlace(dir, place);\n\n if (this.shouldSearchStopWithResult(placeResult) === true) {\n return placeResult;\n }\n } // config not found\n\n\n return null;\n }\n\n async loadSearchPlace(dir, place) {\n const filepath = _path.default.join(dir, place);\n\n const fileContents = await (0, readFile_1.readFile)(filepath);\n const result = await this.createCosmiconfigResult(filepath, fileContents);\n return result;\n }\n\n async loadFileContent(filepath, content) {\n if (content === null) {\n return null;\n }\n\n if (content.trim() === '') {\n return undefined;\n }\n\n const loader = this.getLoaderEntryForFile(filepath);\n const loaderResult = await loader(filepath, content);\n return loaderResult;\n }\n\n async createCosmiconfigResult(filepath, content) {\n const fileContent = await this.loadFileContent(filepath, content);\n const result = this.loadedContentToCosmiconfigResult(filepath, fileContent);\n return result;\n }\n\n async load(filepath) {\n this.validateFilePath(filepath);\n\n const absoluteFilePath = _path.default.resolve(process.cwd(), filepath);\n\n const runLoad = async () => {\n const fileContents = await (0, readFile_1.readFile)(absoluteFilePath, {\n throwNotFound: true\n });\n const result = await this.createCosmiconfigResult(absoluteFilePath, fileContents);\n const transformResult = await this.config.transform(result);\n return transformResult;\n };\n\n if (this.loadCache) {\n return (0, cacheWrapper_1.cacheWrapper)(this.loadCache, absoluteFilePath, runLoad);\n }\n\n return runLoad();\n }\n\n }\n\n exports.Explorer = Explorer;\n});\n\nvar ExplorerSync_1 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ExplorerSync = void 0;\n\n var _path = _interopRequireDefault(path__default['default']);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n class ExplorerSync extends ExplorerBase_1.ExplorerBase {\n constructor(options) {\n super(options);\n }\n\n searchSync(searchFrom = process.cwd()) {\n const startDirectory = (0, getDirectory_1.getDirectorySync)(searchFrom);\n const result = this.searchFromDirectorySync(startDirectory);\n return result;\n }\n\n searchFromDirectorySync(dir) {\n const absoluteDir = _path.default.resolve(process.cwd(), dir);\n\n const run = () => {\n const result = this.searchDirectorySync(absoluteDir);\n const nextDir = this.nextDirectoryToSearch(absoluteDir, result);\n\n if (nextDir) {\n return this.searchFromDirectorySync(nextDir);\n }\n\n const transformResult = this.config.transform(result);\n return transformResult;\n };\n\n if (this.searchCache) {\n return (0, cacheWrapper_1.cacheWrapperSync)(this.searchCache, absoluteDir, run);\n }\n\n return run();\n }\n\n searchDirectorySync(dir) {\n for (const place of this.config.searchPlaces) {\n const placeResult = this.loadSearchPlaceSync(dir, place);\n\n if (this.shouldSearchStopWithResult(placeResult) === true) {\n return placeResult;\n }\n } // config not found\n\n\n return null;\n }\n\n loadSearchPlaceSync(dir, place) {\n const filepath = _path.default.join(dir, place);\n\n const content = (0, readFile_1.readFileSync)(filepath);\n const result = this.createCosmiconfigResultSync(filepath, content);\n return result;\n }\n\n loadFileContentSync(filepath, content) {\n if (content === null) {\n return null;\n }\n\n if (content.trim() === '') {\n return undefined;\n }\n\n const loader = this.getLoaderEntryForFile(filepath);\n const loaderResult = loader(filepath, content);\n return loaderResult;\n }\n\n createCosmiconfigResultSync(filepath, content) {\n const fileContent = this.loadFileContentSync(filepath, content);\n const result = this.loadedContentToCosmiconfigResult(filepath, fileContent);\n return result;\n }\n\n loadSync(filepath) {\n this.validateFilePath(filepath);\n\n const absoluteFilePath = _path.default.resolve(process.cwd(), filepath);\n\n const runLoadSync = () => {\n const content = (0, readFile_1.readFileSync)(absoluteFilePath, {\n throwNotFound: true\n });\n const cosmiconfigResult = this.createCosmiconfigResultSync(absoluteFilePath, content);\n const transformResult = this.config.transform(cosmiconfigResult);\n return transformResult;\n };\n\n if (this.loadCache) {\n return (0, cacheWrapper_1.cacheWrapperSync)(this.loadCache, absoluteFilePath, runLoadSync);\n }\n\n return runLoadSync();\n }\n\n }\n\n exports.ExplorerSync = ExplorerSync;\n});\n\nvar dist$2 = createCommonjsModule(function (module, exports) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.cosmiconfig = cosmiconfig;\n exports.cosmiconfigSync = cosmiconfigSync;\n exports.defaultLoaders = void 0;\n\n var _os = _interopRequireDefault(os__default['default']);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n /* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n\n\n function cosmiconfig(moduleName, options = {}) {\n const normalizedOptions = normalizeOptions(moduleName, options);\n const explorer = new Explorer_1.Explorer(normalizedOptions);\n return {\n search: explorer.search.bind(explorer),\n load: explorer.load.bind(explorer),\n clearLoadCache: explorer.clearLoadCache.bind(explorer),\n clearSearchCache: explorer.clearSearchCache.bind(explorer),\n clearCaches: explorer.clearCaches.bind(explorer)\n };\n } // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n\n\n function cosmiconfigSync(moduleName, options = {}) {\n const normalizedOptions = normalizeOptions(moduleName, options);\n const explorerSync = new ExplorerSync_1.ExplorerSync(normalizedOptions);\n return {\n search: explorerSync.searchSync.bind(explorerSync),\n load: explorerSync.loadSync.bind(explorerSync),\n clearLoadCache: explorerSync.clearLoadCache.bind(explorerSync),\n clearSearchCache: explorerSync.clearSearchCache.bind(explorerSync),\n clearCaches: explorerSync.clearCaches.bind(explorerSync)\n };\n } // do not allow mutation of default loaders. Make sure it is set inside options\n\n\n const defaultLoaders = Object.freeze({\n '.cjs': loaders_1.loaders.loadJs,\n '.js': loaders_1.loaders.loadJs,\n '.json': loaders_1.loaders.loadJson,\n '.yaml': loaders_1.loaders.loadYaml,\n '.yml': loaders_1.loaders.loadYaml,\n noExt: loaders_1.loaders.loadYaml\n });\n exports.defaultLoaders = defaultLoaders;\n\n const identity = function identity(x) {\n return x;\n };\n\n function normalizeOptions(moduleName, options) {\n const defaults = {\n packageProp: moduleName,\n searchPlaces: ['package.json', `.${moduleName}rc`, `.${moduleName}rc.json`, `.${moduleName}rc.yaml`, `.${moduleName}rc.yml`, `.${moduleName}rc.js`, `.${moduleName}rc.cjs`, `${moduleName}.config.js`, `${moduleName}.config.cjs`],\n ignoreEmptySearchPlaces: true,\n stopDir: _os.default.homedir(),\n cache: true,\n transform: identity,\n loaders: defaultLoaders\n };\n const normalizedOptions = Object.assign({}, defaults, options, {\n loaders: Object.assign({}, defaults.loaders, options.loaders)\n });\n return normalizedOptions;\n }\n});\n\nvar findParentDir = createCommonjsModule(function (module, exports) {\n\n var exists = fs__default['default'].exists || path__default['default'].exists,\n existsSync = fs__default['default'].existsSync || path__default['default'].existsSync;\n\n function splitPath(path) {\n var parts = path.split(/(\\/|\\\\)/);\n if (!parts.length) return parts; // when path starts with a slash, the first part is empty string\n\n return !parts[0].length ? parts.slice(1) : parts;\n }\n\n exports = module.exports = function (currentFullPath, clue, cb) {\n function testDir(parts) {\n if (parts.length === 0) return cb(null, null);\n var p = parts.join('');\n exists(path__default['default'].join(p, clue), function (itdoes) {\n if (itdoes) return cb(null, p);\n testDir(parts.slice(0, -1));\n });\n }\n\n testDir(splitPath(currentFullPath));\n };\n\n exports.sync = function (currentFullPath, clue) {\n function testDir(parts) {\n if (parts.length === 0) return null;\n var p = parts.join('');\n var itdoes = existsSync(path__default['default'].join(p, clue));\n return itdoes ? p : testDir(parts.slice(0, -1));\n }\n\n return testDir(splitPath(currentFullPath));\n };\n});\n\nconst {\n stdin\n} = process;\n\nvar getStdin = async () => {\n let result = '';\n\n if (stdin.isTTY) {\n return result;\n }\n\n stdin.setEncoding('utf8');\n\n for await (const chunk of stdin) {\n result += chunk;\n }\n\n return result;\n};\n\nvar buffer = async () => {\n const result = [];\n let length = 0;\n\n if (stdin.isTTY) {\n return Buffer.concat([]);\n }\n\n for await (const chunk of stdin) {\n result.push(chunk);\n length += chunk.length;\n }\n\n return Buffer.concat(result, length);\n};\ngetStdin.buffer = buffer;\n\nvar vendors = [\n\t{\n\t\tname: \"AppVeyor\",\n\t\tconstant: \"APPVEYOR\",\n\t\tenv: \"APPVEYOR\",\n\t\tpr: \"APPVEYOR_PULL_REQUEST_NUMBER\"\n\t},\n\t{\n\t\tname: \"Azure Pipelines\",\n\t\tconstant: \"AZURE_PIPELINES\",\n\t\tenv: \"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\",\n\t\tpr: \"SYSTEM_PULLREQUEST_PULLREQUESTID\"\n\t},\n\t{\n\t\tname: \"Bamboo\",\n\t\tconstant: \"BAMBOO\",\n\t\tenv: \"bamboo_planKey\"\n\t},\n\t{\n\t\tname: \"Bitbucket Pipelines\",\n\t\tconstant: \"BITBUCKET\",\n\t\tenv: \"BITBUCKET_COMMIT\",\n\t\tpr: \"BITBUCKET_PR_ID\"\n\t},\n\t{\n\t\tname: \"Bitrise\",\n\t\tconstant: \"BITRISE\",\n\t\tenv: \"BITRISE_IO\",\n\t\tpr: \"BITRISE_PULL_REQUEST\"\n\t},\n\t{\n\t\tname: \"Buddy\",\n\t\tconstant: \"BUDDY\",\n\t\tenv: \"BUDDY_WORKSPACE_ID\",\n\t\tpr: \"BUDDY_EXECUTION_PULL_REQUEST_ID\"\n\t},\n\t{\n\t\tname: \"Buildkite\",\n\t\tconstant: \"BUILDKITE\",\n\t\tenv: \"BUILDKITE\",\n\t\tpr: {\n\t\t\tenv: \"BUILDKITE_PULL_REQUEST\",\n\t\t\tne: \"false\"\n\t\t}\n\t},\n\t{\n\t\tname: \"CircleCI\",\n\t\tconstant: \"CIRCLE\",\n\t\tenv: \"CIRCLECI\",\n\t\tpr: \"CIRCLE_PULL_REQUEST\"\n\t},\n\t{\n\t\tname: \"Cirrus CI\",\n\t\tconstant: \"CIRRUS\",\n\t\tenv: \"CIRRUS_CI\",\n\t\tpr: \"CIRRUS_PR\"\n\t},\n\t{\n\t\tname: \"AWS CodeBuild\",\n\t\tconstant: \"CODEBUILD\",\n\t\tenv: \"CODEBUILD_BUILD_ARN\"\n\t},\n\t{\n\t\tname: \"Codeship\",\n\t\tconstant: \"CODESHIP\",\n\t\tenv: {\n\t\t\tCI_NAME: \"codeship\"\n\t\t}\n\t},\n\t{\n\t\tname: \"Drone\",\n\t\tconstant: \"DRONE\",\n\t\tenv: \"DRONE\",\n\t\tpr: {\n\t\t\tDRONE_BUILD_EVENT: \"pull_request\"\n\t\t}\n\t},\n\t{\n\t\tname: \"dsari\",\n\t\tconstant: \"DSARI\",\n\t\tenv: \"DSARI\"\n\t},\n\t{\n\t\tname: \"GitHub Actions\",\n\t\tconstant: \"GITHUB_ACTIONS\",\n\t\tenv: \"GITHUB_ACTIONS\",\n\t\tpr: {\n\t\t\tGITHUB_EVENT_NAME: \"pull_request\"\n\t\t}\n\t},\n\t{\n\t\tname: \"GitLab CI\",\n\t\tconstant: \"GITLAB\",\n\t\tenv: \"GITLAB_CI\"\n\t},\n\t{\n\t\tname: \"GoCD\",\n\t\tconstant: \"GOCD\",\n\t\tenv: \"GO_PIPELINE_LABEL\"\n\t},\n\t{\n\t\tname: \"Hudson\",\n\t\tconstant: \"HUDSON\",\n\t\tenv: \"HUDSON_URL\"\n\t},\n\t{\n\t\tname: \"Jenkins\",\n\t\tconstant: \"JENKINS\",\n\t\tenv: [\n\t\t\t\"JENKINS_URL\",\n\t\t\t\"BUILD_ID\"\n\t\t],\n\t\tpr: {\n\t\t\tany: [\n\t\t\t\t\"ghprbPullId\",\n\t\t\t\t\"CHANGE_ID\"\n\t\t\t]\n\t\t}\n\t},\n\t{\n\t\tname: \"ZEIT Now\",\n\t\tconstant: \"ZEIT_NOW\",\n\t\tenv: \"NOW_BUILDER\"\n\t},\n\t{\n\t\tname: \"Magnum CI\",\n\t\tconstant: \"MAGNUM\",\n\t\tenv: \"MAGNUM\"\n\t},\n\t{\n\t\tname: \"Netlify CI\",\n\t\tconstant: \"NETLIFY\",\n\t\tenv: \"NETLIFY\",\n\t\tpr: {\n\t\t\tenv: \"PULL_REQUEST\",\n\t\t\tne: \"false\"\n\t\t}\n\t},\n\t{\n\t\tname: \"Nevercode\",\n\t\tconstant: \"NEVERCODE\",\n\t\tenv: \"NEVERCODE\",\n\t\tpr: {\n\t\t\tenv: \"NEVERCODE_PULL_REQUEST\",\n\t\t\tne: \"false\"\n\t\t}\n\t},\n\t{\n\t\tname: \"Render\",\n\t\tconstant: \"RENDER\",\n\t\tenv: \"RENDER\",\n\t\tpr: {\n\t\t\tIS_PULL_REQUEST: \"true\"\n\t\t}\n\t},\n\t{\n\t\tname: \"Sail CI\",\n\t\tconstant: \"SAIL\",\n\t\tenv: \"SAILCI\",\n\t\tpr: \"SAIL_PULL_REQUEST_NUMBER\"\n\t},\n\t{\n\t\tname: \"Semaphore\",\n\t\tconstant: \"SEMAPHORE\",\n\t\tenv: \"SEMAPHORE\",\n\t\tpr: \"PULL_REQUEST_NUMBER\"\n\t},\n\t{\n\t\tname: \"Shippable\",\n\t\tconstant: \"SHIPPABLE\",\n\t\tenv: \"SHIPPABLE\",\n\t\tpr: {\n\t\t\tIS_PULL_REQUEST: \"true\"\n\t\t}\n\t},\n\t{\n\t\tname: \"Solano CI\",\n\t\tconstant: \"SOLANO\",\n\t\tenv: \"TDDIUM\",\n\t\tpr: \"TDDIUM_PR_ID\"\n\t},\n\t{\n\t\tname: \"Strider CD\",\n\t\tconstant: \"STRIDER\",\n\t\tenv: \"STRIDER\"\n\t},\n\t{\n\t\tname: \"TaskCluster\",\n\t\tconstant: \"TASKCLUSTER\",\n\t\tenv: [\n\t\t\t\"TASK_ID\",\n\t\t\t\"RUN_ID\"\n\t\t]\n\t},\n\t{\n\t\tname: \"TeamCity\",\n\t\tconstant: \"TEAMCITY\",\n\t\tenv: \"TEAMCITY_VERSION\"\n\t},\n\t{\n\t\tname: \"Travis CI\",\n\t\tconstant: \"TRAVIS\",\n\t\tenv: \"TRAVIS\",\n\t\tpr: {\n\t\t\tenv: \"TRAVIS_PULL_REQUEST\",\n\t\t\tne: \"false\"\n\t\t}\n\t}\n];\n\nvar ciInfo = createCommonjsModule(function (module, exports) {\n\n var env = process.env; // Used for testing only\n\n Object.defineProperty(exports, '_vendors', {\n value: vendors.map(function (v) {\n return v.constant;\n })\n });\n exports.name = null;\n exports.isPR = null;\n vendors.forEach(function (vendor) {\n var envs = Array.isArray(vendor.env) ? vendor.env : [vendor.env];\n var isCI = envs.every(function (obj) {\n return checkEnv(obj);\n });\n exports[vendor.constant] = isCI;\n\n if (isCI) {\n exports.name = vendor.name;\n\n switch (typeof vendor.pr) {\n case 'string':\n // \"pr\": \"CIRRUS_PR\"\n exports.isPR = !!env[vendor.pr];\n break;\n\n case 'object':\n if ('env' in vendor.pr) {\n // \"pr\": { \"env\": \"BUILDKITE_PULL_REQUEST\", \"ne\": \"false\" }\n exports.isPR = vendor.pr.env in env && env[vendor.pr.env] !== vendor.pr.ne;\n } else if ('any' in vendor.pr) {\n // \"pr\": { \"any\": [\"ghprbPullId\", \"CHANGE_ID\"] }\n exports.isPR = vendor.pr.any.some(function (key) {\n return !!env[key];\n });\n } else {\n // \"pr\": { \"DRONE_BUILD_EVENT\": \"pull_request\" }\n exports.isPR = checkEnv(vendor.pr);\n }\n\n break;\n\n default:\n // PR detection not supported for this vendor\n exports.isPR = null;\n }\n }\n });\n exports.isCI = !!(env.CI || // Travis CI, CircleCI, Cirrus CI, Gitlab CI, Appveyor, CodeShip, dsari\n env.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI\n env.BUILD_NUMBER || // Jenkins, TeamCity\n env.RUN_ID || // TaskCluster, dsari\n exports.name || false);\n\n function checkEnv(obj) {\n if (typeof obj === 'string') return !!env[obj];\n return Object.keys(obj).every(function (k) {\n return env[k] === obj[k];\n });\n }\n});\n\nvar thirdParty = {\n cosmiconfig: dist$2.cosmiconfig,\n cosmiconfigSync: dist$2.cosmiconfigSync,\n findParentDir: findParentDir.sync,\n getStdin: getStdin,\n isCI: () => ciInfo.isCI\n};\n\nmodule.exports = thirdParty;\n","/* eslint no-control-regex:0 */\n\n'use strict';\n\nconst base64 = require('../base64');\nconst qp = require('../qp');\nconst mimeTypes = require('./mime-types');\n\nmodule.exports = {\n /**\n * Checks if a value is plaintext string (uses only printable 7bit chars)\n *\n * @param {String} value String to be tested\n * @returns {Boolean} true if it is a plaintext string\n */\n isPlainText(value, isParam) {\n const re = isParam ? /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f\"\\u0080-\\uFFFF]/ : /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f\\u0080-\\uFFFF]/;\n if (typeof value !== 'string' || re.test(value)) {\n return false;\n } else {\n return true;\n }\n },\n\n /**\n * Checks if a multi line string containes lines longer than the selected value.\n *\n * Useful when detecting if a mail message needs any processing at all –\n * if only plaintext characters are used and lines are short, then there is\n * no need to encode the values in any way. If the value is plaintext but has\n * longer lines then allowed, then use format=flowed\n *\n * @param {Number} lineLength Max line length to check for\n * @returns {Boolean} Returns true if there is at least one line longer than lineLength chars\n */\n hasLongerLines(str, lineLength) {\n if (str.length > 128 * 1024) {\n // do not test strings longer than 128kB\n return true;\n }\n return new RegExp('^.{' + (lineLength + 1) + ',}', 'm').test(str);\n },\n\n /**\n * Encodes a string or an Buffer to an UTF-8 MIME Word (rfc2047)\n *\n * @param {String|Buffer} data String to be encoded\n * @param {String} mimeWordEncoding='Q' Encoding for the mime word, either Q or B\n * @param {Number} [maxLength=0] If set, split mime words into several chunks if needed\n * @return {String} Single or several mime words joined together\n */\n encodeWord(data, mimeWordEncoding, maxLength) {\n mimeWordEncoding = (mimeWordEncoding || 'Q').toString().toUpperCase().trim().charAt(0);\n maxLength = maxLength || 0;\n\n let encodedStr;\n let toCharset = 'UTF-8';\n\n if (maxLength && maxLength > 7 + toCharset.length) {\n maxLength -= 7 + toCharset.length;\n }\n\n if (mimeWordEncoding === 'Q') {\n // https://tools.ietf.org/html/rfc2047#section-5 rule (3)\n encodedStr = qp.encode(data).replace(/[^a-z0-9!*+\\-/=]/gi, chr => {\n let ord = chr.charCodeAt(0).toString(16).toUpperCase();\n if (chr === ' ') {\n return '_';\n } else {\n return '=' + (ord.length === 1 ? '0' + ord : ord);\n }\n });\n } else if (mimeWordEncoding === 'B') {\n encodedStr = typeof data === 'string' ? data : base64.encode(data);\n maxLength = maxLength ? Math.max(3, ((maxLength - (maxLength % 4)) / 4) * 3) : 0;\n }\n\n if (maxLength && (mimeWordEncoding !== 'B' ? encodedStr : base64.encode(data)).length > maxLength) {\n if (mimeWordEncoding === 'Q') {\n encodedStr = this.splitMimeEncodedString(encodedStr, maxLength).join('?= =?' + toCharset + '?' + mimeWordEncoding + '?');\n } else {\n // RFC2047 6.3 (2) states that encoded-word must include an integral number of characters, so no chopping unicode sequences\n let parts = [];\n let lpart = '';\n for (let i = 0, len = encodedStr.length; i < len; i++) {\n let chr = encodedStr.charAt(i);\n // check if we can add this character to the existing string\n // without breaking byte length limit\n if (Buffer.byteLength(lpart + chr) <= maxLength || i === 0) {\n lpart += chr;\n } else {\n // we hit the length limit, so push the existing string and start over\n parts.push(base64.encode(lpart));\n lpart = chr;\n }\n }\n if (lpart) {\n parts.push(base64.encode(lpart));\n }\n\n if (parts.length > 1) {\n encodedStr = parts.join('?= =?' + toCharset + '?' + mimeWordEncoding + '?');\n } else {\n encodedStr = parts.join('');\n }\n }\n } else if (mimeWordEncoding === 'B') {\n encodedStr = base64.encode(data);\n }\n\n return '=?' + toCharset + '?' + mimeWordEncoding + '?' + encodedStr + (encodedStr.substr(-2) === '?=' ? '' : '?=');\n },\n\n /**\n * Finds word sequences with non ascii text and converts these to mime words\n *\n * @param {String} value String to be encoded\n * @param {String} mimeWordEncoding='Q' Encoding for the mime word, either Q or B\n * @param {Number} [maxLength=0] If set, split mime words into several chunks if needed\n * @param {Boolean} [encodeAll=false] If true and the value needs encoding then encodes entire string, not just the smallest match\n * @return {String} String with possible mime words\n */\n encodeWords(value, mimeWordEncoding, maxLength, encodeAll) {\n maxLength = maxLength || 0;\n\n let encodedValue;\n\n // find first word with a non-printable ascii or special symbol in it\n let firstMatch = value.match(/(?:^|\\s)([^\\s]*[\"\\u0080-\\uFFFF])/);\n if (!firstMatch) {\n return value;\n }\n\n if (encodeAll) {\n // if it is requested to encode everything or the string contains something that resebles encoded word, then encode everything\n\n return this.encodeWord(value, mimeWordEncoding, maxLength);\n }\n\n // find the last word with a non-printable ascii in it\n let lastMatch = value.match(/([\"\\u0080-\\uFFFF][^\\s]*)[^\"\\u0080-\\uFFFF]*$/);\n if (!lastMatch) {\n // should not happen\n return value;\n }\n\n let startIndex =\n firstMatch.index +\n (\n firstMatch[0].match(/[^\\s]/) || {\n index: 0\n }\n ).index;\n let endIndex = lastMatch.index + (lastMatch[1] || '').length;\n\n encodedValue =\n (startIndex ? value.substr(0, startIndex) : '') +\n this.encodeWord(value.substring(startIndex, endIndex), mimeWordEncoding || 'Q', maxLength) +\n (endIndex < value.length ? value.substr(endIndex) : '');\n\n return encodedValue;\n },\n\n /**\n * Joins parsed header value together as 'value; param1=value1; param2=value2'\n * PS: We are following RFC 822 for the list of special characters that we need to keep in quotes.\n * Refer: https://www.w3.org/Protocols/rfc1341/4_Content-Type.html\n * @param {Object} structured Parsed header value\n * @return {String} joined header value\n */\n buildHeaderValue(structured) {\n let paramsArray = [];\n\n Object.keys(structured.params || {}).forEach(param => {\n // filename might include unicode characters so it is a special case\n // other values probably do not\n let value = structured.params[param];\n if (!this.isPlainText(value, true) || value.length >= 75) {\n this.buildHeaderParam(param, value, 50).forEach(encodedParam => {\n if (!/[\\s\"\\\\;:/=(),<>@[\\]?]|^[-']|'$/.test(encodedParam.value) || encodedParam.key.substr(-1) === '*') {\n paramsArray.push(encodedParam.key + '=' + encodedParam.value);\n } else {\n paramsArray.push(encodedParam.key + '=' + JSON.stringify(encodedParam.value));\n }\n });\n } else if (/[\\s'\"\\\\;:/=(),<>@[\\]?]|^-/.test(value)) {\n paramsArray.push(param + '=' + JSON.stringify(value));\n } else {\n paramsArray.push(param + '=' + value);\n }\n });\n\n return structured.value + (paramsArray.length ? '; ' + paramsArray.join('; ') : '');\n },\n\n /**\n * Encodes a string or an Buffer to an UTF-8 Parameter Value Continuation encoding (rfc2231)\n * Useful for splitting long parameter values.\n *\n * For example\n * title=\"unicode string\"\n * becomes\n * title*0*=utf-8''unicode\n * title*1*=%20string\n *\n * @param {String|Buffer} data String to be encoded\n * @param {Number} [maxLength=50] Max length for generated chunks\n * @param {String} [fromCharset='UTF-8'] Source sharacter set\n * @return {Array} A list of encoded keys and headers\n */\n buildHeaderParam(key, data, maxLength) {\n let list = [];\n let encodedStr = typeof data === 'string' ? data : (data || '').toString();\n let encodedStrArr;\n let chr, ord;\n let line;\n let startPos = 0;\n let i, len;\n\n maxLength = maxLength || 50;\n\n // process ascii only text\n if (this.isPlainText(data, true)) {\n // check if conversion is even needed\n if (encodedStr.length <= maxLength) {\n return [\n {\n key,\n value: encodedStr\n }\n ];\n }\n\n encodedStr = encodedStr.replace(new RegExp('.{' + maxLength + '}', 'g'), str => {\n list.push({\n line: str\n });\n return '';\n });\n\n if (encodedStr) {\n list.push({\n line: encodedStr\n });\n }\n } else {\n if (/[\\uD800-\\uDBFF]/.test(encodedStr)) {\n // string containts surrogate pairs, so normalize it to an array of bytes\n encodedStrArr = [];\n for (i = 0, len = encodedStr.length; i < len; i++) {\n chr = encodedStr.charAt(i);\n ord = chr.charCodeAt(0);\n if (ord >= 0xd800 && ord <= 0xdbff && i < len - 1) {\n chr += encodedStr.charAt(i + 1);\n encodedStrArr.push(chr);\n i++;\n } else {\n encodedStrArr.push(chr);\n }\n }\n encodedStr = encodedStrArr;\n }\n\n // first line includes the charset and language info and needs to be encoded\n // even if it does not contain any unicode characters\n line = 'utf-8\\x27\\x27';\n let encoded = true;\n startPos = 0;\n\n // process text with unicode or special chars\n for (i = 0, len = encodedStr.length; i < len; i++) {\n chr = encodedStr[i];\n\n if (encoded) {\n chr = this.safeEncodeURIComponent(chr);\n } else {\n // try to urlencode current char\n chr = chr === ' ' ? chr : this.safeEncodeURIComponent(chr);\n // By default it is not required to encode a line, the need\n // only appears when the string contains unicode or special chars\n // in this case we start processing the line over and encode all chars\n if (chr !== encodedStr[i]) {\n // Check if it is even possible to add the encoded char to the line\n // If not, there is no reason to use this line, just push it to the list\n // and start a new line with the char that needs encoding\n if ((this.safeEncodeURIComponent(line) + chr).length >= maxLength) {\n list.push({\n line,\n encoded\n });\n line = '';\n startPos = i - 1;\n } else {\n encoded = true;\n i = startPos;\n line = '';\n continue;\n }\n }\n }\n\n // if the line is already too long, push it to the list and start a new one\n if ((line + chr).length >= maxLength) {\n list.push({\n line,\n encoded\n });\n line = chr = encodedStr[i] === ' ' ? ' ' : this.safeEncodeURIComponent(encodedStr[i]);\n if (chr === encodedStr[i]) {\n encoded = false;\n startPos = i - 1;\n } else {\n encoded = true;\n }\n } else {\n line += chr;\n }\n }\n\n if (line) {\n list.push({\n line,\n encoded\n });\n }\n }\n\n return list.map((item, i) => ({\n // encoded lines: {name}*{part}*\n // unencoded lines: {name}*{part}\n // if any line needs to be encoded then the first line (part==0) is always encoded\n key: key + '*' + i + (item.encoded ? '*' : ''),\n value: item.line\n }));\n },\n\n /**\n * Parses a header value with key=value arguments into a structured\n * object.\n *\n * parseHeaderValue('content-type: text/plain; CHARSET='UTF-8'') ->\n * {\n * 'value': 'text/plain',\n * 'params': {\n * 'charset': 'UTF-8'\n * }\n * }\n *\n * @param {String} str Header value\n * @return {Object} Header value as a parsed structure\n */\n parseHeaderValue(str) {\n let response = {\n value: false,\n params: {}\n };\n let key = false;\n let value = '';\n let type = 'value';\n let quote = false;\n let escaped = false;\n let chr;\n\n for (let i = 0, len = str.length; i < len; i++) {\n chr = str.charAt(i);\n if (type === 'key') {\n if (chr === '=') {\n key = value.trim().toLowerCase();\n type = 'value';\n value = '';\n continue;\n }\n value += chr;\n } else {\n if (escaped) {\n value += chr;\n } else if (chr === '\\\\') {\n escaped = true;\n continue;\n } else if (quote && chr === quote) {\n quote = false;\n } else if (!quote && chr === '\"') {\n quote = chr;\n } else if (!quote && chr === ';') {\n if (key === false) {\n response.value = value.trim();\n } else {\n response.params[key] = value.trim();\n }\n type = 'key';\n value = '';\n } else {\n value += chr;\n }\n escaped = false;\n }\n }\n\n if (type === 'value') {\n if (key === false) {\n response.value = value.trim();\n } else {\n response.params[key] = value.trim();\n }\n } else if (value.trim()) {\n response.params[value.trim().toLowerCase()] = '';\n }\n\n // handle parameter value continuations\n // https://tools.ietf.org/html/rfc2231#section-3\n\n // preprocess values\n Object.keys(response.params).forEach(key => {\n let actualKey, nr, match, value;\n if ((match = key.match(/(\\*(\\d+)|\\*(\\d+)\\*|\\*)$/))) {\n actualKey = key.substr(0, match.index);\n nr = Number(match[2] || match[3]) || 0;\n\n if (!response.params[actualKey] || typeof response.params[actualKey] !== 'object') {\n response.params[actualKey] = {\n charset: false,\n values: []\n };\n }\n\n value = response.params[key];\n\n if (nr === 0 && match[0].substr(-1) === '*' && (match = value.match(/^([^']*)'[^']*'(.*)$/))) {\n response.params[actualKey].charset = match[1] || 'iso-8859-1';\n value = match[2];\n }\n\n response.params[actualKey].values[nr] = value;\n\n // remove the old reference\n delete response.params[key];\n }\n });\n\n // concatenate split rfc2231 strings and convert encoded strings to mime encoded words\n Object.keys(response.params).forEach(key => {\n let value;\n if (response.params[key] && Array.isArray(response.params[key].values)) {\n value = response.params[key].values.map(val => val || '').join('');\n\n if (response.params[key].charset) {\n // convert \"%AB\" to \"=?charset?Q?=AB?=\"\n response.params[key] =\n '=?' +\n response.params[key].charset +\n '?Q?' +\n value\n // fix invalidly encoded chars\n .replace(/[=?_\\s]/g, s => {\n let c = s.charCodeAt(0).toString(16);\n if (s === ' ') {\n return '_';\n } else {\n return '%' + (c.length < 2 ? '0' : '') + c;\n }\n })\n // change from urlencoding to percent encoding\n .replace(/%/g, '=') +\n '?=';\n } else {\n response.params[key] = value;\n }\n }\n });\n\n return response;\n },\n\n /**\n * Returns file extension for a content type string. If no suitable extensions\n * are found, 'bin' is used as the default extension\n *\n * @param {String} mimeType Content type to be checked for\n * @return {String} File extension\n */\n detectExtension: mimeType => mimeTypes.detectExtension(mimeType),\n\n /**\n * Returns content type for a file extension. If no suitable content types\n * are found, 'application/octet-stream' is used as the default content type\n *\n * @param {String} extension Extension to be checked for\n * @return {String} File extension\n */\n detectMimeType: extension => mimeTypes.detectMimeType(extension),\n\n /**\n * Folds long lines, useful for folding header lines (afterSpace=false) and\n * flowed text (afterSpace=true)\n *\n * @param {String} str String to be folded\n * @param {Number} [lineLength=76] Maximum length of a line\n * @param {Boolean} afterSpace If true, leave a space in th end of a line\n * @return {String} String with folded lines\n */\n foldLines(str, lineLength, afterSpace) {\n str = (str || '').toString();\n lineLength = lineLength || 76;\n\n let pos = 0,\n len = str.length,\n result = '',\n line,\n match;\n\n while (pos < len) {\n line = str.substr(pos, lineLength);\n if (line.length < lineLength) {\n result += line;\n break;\n }\n if ((match = line.match(/^[^\\n\\r]*(\\r?\\n|\\r)/))) {\n line = match[0];\n result += line;\n pos += line.length;\n continue;\n } else if ((match = line.match(/(\\s+)[^\\s]*$/)) && match[0].length - (afterSpace ? (match[1] || '').length : 0) < line.length) {\n line = line.substr(0, line.length - (match[0].length - (afterSpace ? (match[1] || '').length : 0)));\n } else if ((match = str.substr(pos + line.length).match(/^[^\\s]+(\\s*)/))) {\n line = line + match[0].substr(0, match[0].length - (!afterSpace ? (match[1] || '').length : 0));\n }\n\n result += line;\n pos += line.length;\n if (pos < len) {\n result += '\\r\\n';\n }\n }\n\n return result;\n },\n\n /**\n * Splits a mime encoded string. Needed for dividing mime words into smaller chunks\n *\n * @param {String} str Mime encoded string to be split up\n * @param {Number} maxlen Maximum length of characters for one part (minimum 12)\n * @return {Array} Split string\n */\n splitMimeEncodedString: (str, maxlen) => {\n let curLine,\n match,\n chr,\n done,\n lines = [];\n\n // require at least 12 symbols to fit possible 4 octet UTF-8 sequences\n maxlen = Math.max(maxlen || 0, 12);\n\n while (str.length) {\n curLine = str.substr(0, maxlen);\n\n // move incomplete escaped char back to main\n if ((match = curLine.match(/[=][0-9A-F]?$/i))) {\n curLine = curLine.substr(0, match.index);\n }\n\n done = false;\n while (!done) {\n done = true;\n // check if not middle of a unicode char sequence\n if ((match = str.substr(curLine.length).match(/^[=]([0-9A-F]{2})/i))) {\n chr = parseInt(match[1], 16);\n // invalid sequence, move one char back anc recheck\n if (chr < 0xc2 && chr > 0x7f) {\n curLine = curLine.substr(0, curLine.length - 3);\n done = false;\n }\n }\n }\n\n if (curLine.length) {\n lines.push(curLine);\n }\n str = str.substr(curLine.length);\n }\n\n return lines;\n },\n\n encodeURICharComponent: chr => {\n let res = '';\n let ord = chr.charCodeAt(0).toString(16).toUpperCase();\n\n if (ord.length % 2) {\n ord = '0' + ord;\n }\n\n if (ord.length > 2) {\n for (let i = 0, len = ord.length / 2; i < len; i++) {\n res += '%' + ord.substr(i, 2);\n }\n } else {\n res += '%' + ord;\n }\n\n return res;\n },\n\n safeEncodeURIComponent(str) {\n str = (str || '').toString();\n\n try {\n // might throw if we try to encode invalid sequences, eg. partial emoji\n str = encodeURIComponent(str);\n } catch (E) {\n // should never run\n return str.replace(/[^\\x00-\\x1F *'()<>@,;:\\\\\"[\\]?=\\u007F-\\uFFFF]+/g, '');\n }\n\n // ensure chars that are not handled by encodeURICompent are converted as well\n return str.replace(/[\\x00-\\x1F *'()<>@,;:\\\\\"[\\]?=\\u007F-\\uFFFF]/g, chr => this.encodeURICharComponent(chr));\n }\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlFileType = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898/include/curl/curl.h#L264\r\n/**\r\n * Object with constants on the {@link FileInfo | `FileInfo`} object,\r\n * used alongside the `CHUNK_BGN_FUNCTION` option\r\n *\r\n * `CURLFILETYPE_DEVICE_BLOCK` becomes `CurlFileType.DeviceBlock`\r\n *\r\n * @public\r\n */\r\nvar CurlFileType;\r\n(function (CurlFileType) {\r\n CurlFileType[CurlFileType[\"File\"] = 0] = \"File\";\r\n CurlFileType[CurlFileType[\"Directory\"] = 1] = \"Directory\";\r\n CurlFileType[CurlFileType[\"Symlink\"] = 2] = \"Symlink\";\r\n CurlFileType[CurlFileType[\"DeviceBlock\"] = 3] = \"DeviceBlock\";\r\n CurlFileType[CurlFileType[\"DeviceChar\"] = 4] = \"DeviceChar\";\r\n CurlFileType[CurlFileType[\"NamedPipe\"] = 5] = \"NamedPipe\";\r\n CurlFileType[CurlFileType[\"Socket\"] = 6] = \"Socket\";\r\n CurlFileType[CurlFileType[\"Door\"] = 7] = \"Door\";\r\n})(CurlFileType = exports.CurlFileType || (exports.CurlFileType = {}));\r\n//# sourceMappingURL=CurlFileType.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlVersion = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n/**\r\n * Object with constants for use with the `rawFeatures` member\r\n * of {@link CurlVersionInfoNativeBindingObject | `CurlVersionInfoNativeBindingObject`}, which is returned\r\n * from {@link Curl.getVersionInfo | `Curl.getVersionInfo`}.\r\n *\r\n * `CURL_VERSION_IPV6` becomes `CurlVersion.Ipv6`\r\n * `CURL_VERSION_GSSNEGOTIATE` becomes `CurlVersion.GssNegotiate`\r\n * ...\r\n *\r\n * @public\r\n */\r\nvar CurlVersion;\r\n(function (CurlVersion) {\r\n /**\r\n * IPv6-enabled\r\n */\r\n CurlVersion[CurlVersion[\"Ipv6\"] = 1] = \"Ipv6\";\r\n /**\r\n * Kerberos V4 auth is supported (deprecated)\r\n */\r\n CurlVersion[CurlVersion[\"Kerberos4\"] = 2] = \"Kerberos4\";\r\n /**\r\n * SSL options are present\r\n */\r\n CurlVersion[CurlVersion[\"Ssl\"] = 4] = \"Ssl\";\r\n /**\r\n * libz features are present\r\n */\r\n CurlVersion[CurlVersion[\"Libz\"] = 8] = \"Libz\";\r\n /**\r\n * NTLM auth is supported\r\n */\r\n CurlVersion[CurlVersion[\"Ntlm\"] = 16] = \"Ntlm\";\r\n /**\r\n * Negotiate auth is supported (deprecated)\r\n */\r\n CurlVersion[CurlVersion[\"GssNegotiate\"] = 32] = \"GssNegotiate\";\r\n /**\r\n * libcurl was built with debug capabilities\r\n */\r\n CurlVersion[CurlVersion[\"Debug\"] = 64] = \"Debug\";\r\n /**\r\n * Asynchronous DNS resolver is available\r\n */\r\n CurlVersion[CurlVersion[\"AsynchDns\"] = 128] = \"AsynchDns\";\r\n /**\r\n * SPNEGO auth is supported\r\n */\r\n CurlVersion[CurlVersion[\"Spnego\"] = 256] = \"Spnego\";\r\n /**\r\n * Supports files larger than 2GB\r\n */\r\n CurlVersion[CurlVersion[\"LargeFile\"] = 512] = \"LargeFile\";\r\n /**\r\n * Internationized Domain Names are supported\r\n */\r\n CurlVersion[CurlVersion[\"Idn\"] = 1024] = \"Idn\";\r\n /**\r\n * Built against Windows SSPI\r\n */\r\n CurlVersion[CurlVersion[\"Sspi\"] = 2048] = \"Sspi\";\r\n /**\r\n * Character conversions supported\r\n */\r\n CurlVersion[CurlVersion[\"Conv\"] = 4096] = \"Conv\";\r\n /**\r\n * Debug memory tracking supported\r\n */\r\n CurlVersion[CurlVersion[\"CurlDebug\"] = 8192] = \"CurlDebug\";\r\n /**\r\n * TLS-SRP auth is supported\r\n */\r\n CurlVersion[CurlVersion[\"TlsAuthSrp\"] = 16384] = \"TlsAuthSrp\";\r\n /**\r\n * NTLM delegation to winbind helper is supported\r\n */\r\n CurlVersion[CurlVersion[\"NtlmWb\"] = 32768] = \"NtlmWb\";\r\n /**\r\n * HTTP2 support built-in\r\n */\r\n CurlVersion[CurlVersion[\"Http2\"] = 65536] = \"Http2\";\r\n /**\r\n * Built against a GSS-API library\r\n */\r\n CurlVersion[CurlVersion[\"GssApi\"] = 131072] = \"GssApi\";\r\n /**\r\n * Kerberos V5 auth is supported\r\n */\r\n CurlVersion[CurlVersion[\"Kerberos5\"] = 262144] = \"Kerberos5\";\r\n /**\r\n * Unix domain sockets support\r\n */\r\n CurlVersion[CurlVersion[\"UnixSockets\"] = 524288] = \"UnixSockets\";\r\n /**\r\n * Mozilla's Public Suffix List, used for cookie domain verification\r\n */\r\n CurlVersion[CurlVersion[\"Psl\"] = 1048576] = \"Psl\";\r\n /**\r\n * HTTPS-proxy support built-in\r\n */\r\n CurlVersion[CurlVersion[\"HttpsProxy\"] = 2097152] = \"HttpsProxy\";\r\n /**\r\n * Multiple SSL backends available\r\n */\r\n CurlVersion[CurlVersion[\"MultiSsl\"] = 4194304] = \"MultiSsl\";\r\n /**\r\n * Brotli features are present.\r\n */\r\n CurlVersion[CurlVersion[\"Brotli\"] = 8388608] = \"Brotli\";\r\n /**\r\n * Alt-Svc handling built-in\r\n */\r\n CurlVersion[CurlVersion[\"AltSvc\"] = 16777216] = \"AltSvc\";\r\n /**\r\n * HTTP3 support built-in\r\n */\r\n CurlVersion[CurlVersion[\"Http3\"] = 33554432] = \"Http3\";\r\n})(CurlVersion = exports.CurlVersion || (exports.CurlVersion = {}));\r\n//# sourceMappingURL=CurlVersion.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.replaceEnvironmentVariables = void 0;\nconst replaceEnvironmentVariables = (str) => {\n Object.keys(process.env).forEach((key) => {\n str = str.replace(`$${key}`, process.env[key] || `$${key}`);\n });\n return str;\n};\nexports.replaceEnvironmentVariables = replaceEnvironmentVariables;\n//# sourceMappingURL=environment.js.map","'use strict';\n\nconst shared = require('../shared');\nconst MimeNode = require('../mime-node');\nconst mimeFuncs = require('../mime-funcs');\n\nclass MailMessage {\n constructor(mailer, data) {\n this.mailer = mailer;\n this.data = {};\n this.message = null;\n\n data = data || {};\n let options = mailer.options || {};\n let defaults = mailer._defaults || {};\n\n Object.keys(data).forEach(key => {\n this.data[key] = data[key];\n });\n\n this.data.headers = this.data.headers || {};\n\n // apply defaults\n Object.keys(defaults).forEach(key => {\n if (!(key in this.data)) {\n this.data[key] = defaults[key];\n } else if (key === 'headers') {\n // headers is a special case. Allow setting individual default headers\n Object.keys(defaults.headers).forEach(key => {\n if (!(key in this.data.headers)) {\n this.data.headers[key] = defaults.headers[key];\n }\n });\n }\n });\n\n // force specific keys from transporter options\n ['disableFileAccess', 'disableUrlAccess', 'normalizeHeaderKey'].forEach(key => {\n if (key in options) {\n this.data[key] = options[key];\n }\n });\n }\n\n resolveContent(...args) {\n return shared.resolveContent(...args);\n }\n\n resolveAll(callback) {\n let keys = [\n [this.data, 'html'],\n [this.data, 'text'],\n [this.data, 'watchHtml'],\n [this.data, 'amp'],\n [this.data, 'icalEvent']\n ];\n\n if (this.data.alternatives && this.data.alternatives.length) {\n this.data.alternatives.forEach((alternative, i) => {\n keys.push([this.data.alternatives, i]);\n });\n }\n\n if (this.data.attachments && this.data.attachments.length) {\n this.data.attachments.forEach((attachment, i) => {\n if (!attachment.filename) {\n attachment.filename = (attachment.path || attachment.href || '').split('/').pop().split('?').shift() || 'attachment-' + (i + 1);\n if (attachment.filename.indexOf('.') < 0) {\n attachment.filename += '.' + mimeFuncs.detectExtension(attachment.contentType);\n }\n }\n\n if (!attachment.contentType) {\n attachment.contentType = mimeFuncs.detectMimeType(attachment.filename || attachment.path || attachment.href || 'bin');\n }\n\n keys.push([this.data.attachments, i]);\n });\n }\n\n let mimeNode = new MimeNode();\n\n let addressKeys = ['from', 'to', 'cc', 'bcc', 'sender', 'replyTo'];\n\n addressKeys.forEach(address => {\n let value;\n if (this.message) {\n value = [].concat(mimeNode._parseAddresses(this.message.getHeader(address === 'replyTo' ? 'reply-to' : address)) || []);\n } else if (this.data[address]) {\n value = [].concat(mimeNode._parseAddresses(this.data[address]) || []);\n }\n if (value && value.length) {\n this.data[address] = value;\n } else if (address in this.data) {\n this.data[address] = null;\n }\n });\n\n let singleKeys = ['from', 'sender', 'replyTo'];\n singleKeys.forEach(address => {\n if (this.data[address]) {\n this.data[address] = this.data[address].shift();\n }\n });\n\n let pos = 0;\n let resolveNext = () => {\n if (pos >= keys.length) {\n return callback(null, this.data);\n }\n let args = keys[pos++];\n if (!args[0] || !args[0][args[1]]) {\n return resolveNext();\n }\n shared.resolveContent(...args, (err, value) => {\n if (err) {\n return callback(err);\n }\n\n let node = {\n content: value\n };\n if (args[0][args[1]] && typeof args[0][args[1]] === 'object' && !Buffer.isBuffer(args[0][args[1]])) {\n Object.keys(args[0][args[1]]).forEach(key => {\n if (!(key in node) && !['content', 'path', 'href', 'raw'].includes(key)) {\n node[key] = args[0][args[1]][key];\n }\n });\n }\n\n args[0][args[1]] = node;\n resolveNext();\n });\n };\n\n setImmediate(() => resolveNext());\n }\n\n normalize(callback) {\n let envelope = this.data.envelope || this.message.getEnvelope();\n let messageId = this.message.messageId();\n\n this.resolveAll((err, data) => {\n if (err) {\n return callback(err);\n }\n\n data.envelope = envelope;\n data.messageId = messageId;\n\n ['html', 'text', 'watchHtml', 'amp'].forEach(key => {\n if (data[key] && data[key].content) {\n if (typeof data[key].content === 'string') {\n data[key] = data[key].content;\n } else if (Buffer.isBuffer(data[key].content)) {\n data[key] = data[key].content.toString();\n }\n }\n });\n\n if (data.icalEvent && Buffer.isBuffer(data.icalEvent.content)) {\n data.icalEvent.content = data.icalEvent.content.toString('base64');\n data.icalEvent.encoding = 'base64';\n }\n\n if (data.alternatives && data.alternatives.length) {\n data.alternatives.forEach(alternative => {\n if (alternative && alternative.content && Buffer.isBuffer(alternative.content)) {\n alternative.content = alternative.content.toString('base64');\n alternative.encoding = 'base64';\n }\n });\n }\n\n if (data.attachments && data.attachments.length) {\n data.attachments.forEach(attachment => {\n if (attachment && attachment.content && Buffer.isBuffer(attachment.content)) {\n attachment.content = attachment.content.toString('base64');\n attachment.encoding = 'base64';\n }\n });\n }\n\n data.normalizedHeaders = {};\n Object.keys(data.headers || {}).forEach(key => {\n let value = [].concat(data.headers[key] || []).shift();\n value = (value && value.value) || value;\n if (value) {\n if (['references', 'in-reply-to', 'message-id', 'content-id'].includes(key)) {\n value = this.message._encodeHeaderValue(key, value);\n }\n data.normalizedHeaders[key] = value;\n }\n });\n\n if (data.list && typeof data.list === 'object') {\n let listHeaders = this._getListHeaders(data.list);\n listHeaders.forEach(entry => {\n data.normalizedHeaders[entry.key] = entry.value.map(val => (val && val.value) || val).join(', ');\n });\n }\n\n if (data.references) {\n data.normalizedHeaders.references = this.message._encodeHeaderValue('references', data.references);\n }\n\n if (data.inReplyTo) {\n data.normalizedHeaders['in-reply-to'] = this.message._encodeHeaderValue('in-reply-to', data.inReplyTo);\n }\n\n return callback(null, data);\n });\n }\n\n setMailerHeader() {\n if (!this.message || !this.data.xMailer) {\n return;\n }\n this.message.setHeader('X-Mailer', this.data.xMailer);\n }\n\n setPriorityHeaders() {\n if (!this.message || !this.data.priority) {\n return;\n }\n switch ((this.data.priority || '').toString().toLowerCase()) {\n case 'high':\n this.message.setHeader('X-Priority', '1 (Highest)');\n this.message.setHeader('X-MSMail-Priority', 'High');\n this.message.setHeader('Importance', 'High');\n break;\n case 'low':\n this.message.setHeader('X-Priority', '5 (Lowest)');\n this.message.setHeader('X-MSMail-Priority', 'Low');\n this.message.setHeader('Importance', 'Low');\n break;\n default:\n // do not add anything, since all messages are 'Normal' by default\n }\n }\n\n setListHeaders() {\n if (!this.message || !this.data.list || typeof this.data.list !== 'object') {\n return;\n }\n // add optional List-* headers\n if (this.data.list && typeof this.data.list === 'object') {\n this._getListHeaders(this.data.list).forEach(listHeader => {\n listHeader.value.forEach(value => {\n this.message.addHeader(listHeader.key, value);\n });\n });\n }\n }\n\n _getListHeaders(listData) {\n // make sure an url looks like \n return Object.keys(listData).map(key => ({\n key: 'list-' + key.toLowerCase().trim(),\n value: [].concat(listData[key] || []).map(value => ({\n prepared: true,\n foldLines: true,\n value: []\n .concat(value || [])\n .map(value => {\n if (typeof value === 'string') {\n value = {\n url: value\n };\n }\n\n if (value && value.url) {\n if (key.toLowerCase().trim() === 'id') {\n // List-ID: \"comment\" \n let comment = value.comment || '';\n if (mimeFuncs.isPlainText(comment)) {\n comment = '\"' + comment + '\"';\n } else {\n comment = mimeFuncs.encodeWord(comment);\n }\n\n return (value.comment ? comment + ' ' : '') + this._formatListUrl(value.url).replace(/^<[^:]+\\/{,2}/, '');\n }\n\n // List-*: (comment)\n let comment = value.comment || '';\n if (!mimeFuncs.isPlainText(comment)) {\n comment = mimeFuncs.encodeWord(comment);\n }\n\n return this._formatListUrl(value.url) + (value.comment ? ' (' + comment + ')' : '');\n }\n\n return '';\n })\n .filter(value => value)\n .join(', ')\n }))\n }));\n }\n\n _formatListUrl(url) {\n url = url.replace(/[\\s<]+|[\\s>]+/g, '');\n if (/^(https?|mailto|ftp):/.test(url)) {\n return '<' + url + '>';\n }\n if (/^[^@]+@[^@]+$/.test(url)) {\n return '';\n }\n\n return '';\n }\n}\n\nmodule.exports = MailMessage;\n","'use strict';\nconst deburr = require('lodash.deburr');\nconst escapeStringRegexp = require('escape-string-regexp');\nconst builtinReplacements = require('./replacements');\n\nconst doCustomReplacements = (string, replacements) => {\n\tfor (const [key, value] of replacements) {\n\t\t// TODO: Use `String#replaceAll()` when targeting Node.js 16.\n\t\tstring = string.replace(new RegExp(escapeStringRegexp(key), 'g'), value);\n\t}\n\n\treturn string;\n};\n\nmodule.exports = (string, options) => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got \\`${typeof string}\\``);\n\t}\n\n\toptions = {\n\t\tcustomReplacements: [],\n\t\t...options\n\t};\n\n\tconst customReplacements = new Map([\n\t\t...builtinReplacements,\n\t\t...options.customReplacements\n\t]);\n\n\tstring = string.normalize();\n\tstring = doCustomReplacements(string, customReplacements);\n\tstring = deburr(string);\n\n\treturn string;\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlFtpMethod = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be825453489/include/curl/curl.h#L873\r\n// @TODO Fix enum members naming on semver major bump\r\n/**\r\n * Object with constants for option `FTP_FILEMETHOD`\r\n *\r\n * `CURLFTPMETHOD_MULTICWD` becomes `CurlFtpMethod.MULTICWD`\r\n *\r\n * This is not following the PascalCase naming format because of a mistake. To not cause a breaking change\r\n * it will stay this way until the next major version bump.\r\n *\r\n * @public\r\n */\r\nvar CurlFtpMethod;\r\n(function (CurlFtpMethod) {\r\n /**\r\n * let libcurl pick\r\n */\r\n CurlFtpMethod[CurlFtpMethod[\"DEFAULT\"] = 0] = \"DEFAULT\";\r\n /**\r\n * single CWD operation for each path part\r\n */\r\n CurlFtpMethod[CurlFtpMethod[\"MULTICWD\"] = 1] = \"MULTICWD\";\r\n /**\r\n * no CWD at all\r\n */\r\n CurlFtpMethod[CurlFtpMethod[\"NOCWD\"] = 2] = \"NOCWD\";\r\n /**\r\n * one CWD to full dir, then work on file\r\n */\r\n CurlFtpMethod[CurlFtpMethod[\"SINGLECWD\"] = 3] = \"SINGLECWD\";\r\n})(CurlFtpMethod = exports.CurlFtpMethod || (exports.CurlFtpMethod = {}));\r\n//# sourceMappingURL=CurlFtpMethod.js.map","// This is not the set of all possible signals.\n//\n// It IS, however, the set of all signals that trigger\n// an exit on either Linux or BSD systems. Linux is a\n// superset of the signal names supported on BSD, and\n// the unknown signals just fail to register, so we can\n// catch that easily enough.\n//\n// Don't bother with SIGKILL. It's uncatchable, which\n// means that we can't fire any callbacks anyway.\n//\n// If a user does happen to register a handler on a non-\n// fatal signal like SIGWINCH or something, and then\n// exit, it'll end up firing `process.emit('exit')`, so\n// the handler will be fired anyway.\n//\n// SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n// artificially, inherently leave the process in a\n// state from which it is not safe to try and enter JS\n// listeners.\nmodule.exports = [\n 'SIGABRT',\n 'SIGALRM',\n 'SIGHUP',\n 'SIGINT',\n 'SIGTERM'\n]\n\nif (process.platform !== 'win32') {\n module.exports.push(\n 'SIGVTALRM',\n 'SIGXCPU',\n 'SIGXFSZ',\n 'SIGUSR2',\n 'SIGTRAP',\n 'SIGSYS',\n 'SIGQUIT',\n 'SIGIOT'\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n )\n}\n\nif (process.platform === 'linux') {\n module.exports.push(\n 'SIGIO',\n 'SIGPOLL',\n 'SIGPWR',\n 'SIGSTKFLT',\n 'SIGUNUSED'\n )\n}\n","var common = require('./common');\nvar fs = require('fs');\nvar path = require('path');\n\ncommon.register('mkdir', _mkdir, {\n cmdOptions: {\n 'p': 'fullpath',\n },\n});\n\n// Recursively creates `dir`\nfunction mkdirSyncRecursive(dir) {\n var baseDir = path.dirname(dir);\n\n // Prevents some potential problems arising from malformed UNCs or\n // insufficient permissions.\n /* istanbul ignore next */\n if (baseDir === dir) {\n common.error('dirname() failed: [' + dir + ']');\n }\n\n // Base dir exists, no recursion necessary\n if (fs.existsSync(baseDir)) {\n fs.mkdirSync(dir, parseInt('0777', 8));\n return;\n }\n\n // Base dir does not exist, go recursive\n mkdirSyncRecursive(baseDir);\n\n // Base dir created, can create dir\n fs.mkdirSync(dir, parseInt('0777', 8));\n}\n\n//@\n//@ ### mkdir([options,] dir [, dir ...])\n//@ ### mkdir([options,] dir_array)\n//@\n//@ Available options:\n//@\n//@ + `-p`: full path (and create intermediate directories, if necessary)\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ mkdir('-p', '/tmp/a/b/c/d', '/tmp/e/f/g');\n//@ mkdir('-p', ['/tmp/a/b/c/d', '/tmp/e/f/g']); // same as above\n//@ ```\n//@\n//@ Creates directories.\nfunction _mkdir(options, dirs) {\n if (!dirs) common.error('no paths given');\n\n if (typeof dirs === 'string') {\n dirs = [].slice.call(arguments, 1);\n }\n // if it's array leave it as it is\n\n dirs.forEach(function (dir) {\n try {\n var stat = common.statNoFollowLinks(dir);\n if (!options.fullpath) {\n common.error('path already exists: ' + dir, { continue: true });\n } else if (stat.isFile()) {\n common.error('cannot create directory ' + dir + ': File exists', { continue: true });\n }\n return; // skip dir\n } catch (e) {\n // do nothing\n }\n\n // Base dir does not exist, and no -p option given\n var baseDir = path.dirname(dir);\n if (!fs.existsSync(baseDir) && !options.fullpath) {\n common.error('no such file or directory: ' + baseDir, { continue: true });\n return; // skip dir\n }\n\n try {\n if (options.fullpath) {\n mkdirSyncRecursive(path.resolve(dir));\n } else {\n fs.mkdirSync(dir, parseInt('0777', 8));\n }\n } catch (e) {\n var reason;\n if (e.code === 'EACCES') {\n reason = 'Permission denied';\n } else if (e.code === 'ENOTDIR' || e.code === 'ENOENT') {\n reason = 'Not a directory';\n } else {\n /* istanbul ignore next */\n throw e;\n }\n common.error('cannot create directory ' + dir + ': ' + reason, { continue: true });\n }\n });\n return '';\n} // mkdir\nmodule.exports = _mkdir;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.curl = void 0;\nconst node_libcurl_1 = require(\"node-libcurl\");\nconst environment_1 = require(\"./environment\");\nconst curl = (site) => new Promise((resolve) => {\n const url = environment_1.replaceEnvironmentVariables(site.url);\n const method = site.method || \"GET\";\n const curl = new node_libcurl_1.Curl();\n curl.enable(node_libcurl_1.CurlFeature.Raw);\n curl.setOpt(\"URL\", url);\n if (site.headers)\n curl.setOpt(node_libcurl_1.Curl.option.HTTPHEADER, site.headers.map(environment_1.replaceEnvironmentVariables));\n if (site.__dangerous__insecure)\n curl.setOpt(\"SSL_VERIFYPEER\", false);\n curl.setOpt(\"FOLLOWLOCATION\", 1);\n curl.setOpt(\"MAXREDIRS\", 3);\n curl.setOpt(\"USERAGENT\", \"Koj Bot\");\n curl.setOpt(\"CONNECTTIMEOUT\", 10);\n curl.setOpt(\"TIMEOUT\", 30);\n curl.setOpt(\"HEADER\", 1);\n curl.setOpt(\"VERBOSE\", false);\n curl.setOpt(\"CUSTOMREQUEST\", method);\n curl.on(\"error\", () => {\n curl.close();\n return resolve({ httpCode: 0, totalTime: 0 });\n });\n curl.on(\"end\", () => {\n let httpCode = 0;\n let totalTime = 0;\n try {\n httpCode = Number(curl.getInfo(\"RESPONSE_CODE\"));\n totalTime = Number(curl.getInfo(\"TOTAL_TIME\"));\n }\n catch (error) {\n curl.close();\n return resolve({ httpCode, totalTime });\n }\n return resolve({ httpCode, totalTime });\n });\n curl.perform();\n});\nexports.curl = curl;\n//# sourceMappingURL=request.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlChunk = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L318\r\n/**\r\n * Object to be used as the return value for the callbacks set\r\n * with the options `CHUNK_BGN_FUNCTION` and `CHUNK_END_FUNCTION`.\r\n *\r\n * `CURL_CHUNK_BGN_FUNC_OK` becomes `CurlChunk.BgnFuncOk`\r\n *\r\n * @public\r\n */\r\nvar CurlChunk;\r\n(function (CurlChunk) {\r\n CurlChunk[CurlChunk[\"BgnFuncOk\"] = 0] = \"BgnFuncOk\";\r\n CurlChunk[CurlChunk[\"BgnFuncFail\"] = 1] = \"BgnFuncFail\";\r\n CurlChunk[CurlChunk[\"BgnFuncSkip\"] = 2] = \"BgnFuncSkip\";\r\n CurlChunk[CurlChunk[\"EndFuncOk\"] = 0] = \"EndFuncOk\";\r\n CurlChunk[CurlChunk[\"EndFuncFail\"] = 1] = \"EndFuncFail\";\r\n})(CurlChunk = exports.CurlChunk || (exports.CurlChunk = {}));\r\n//# sourceMappingURL=CurlChunk.js.map","let _fs\ntry {\n _fs = require('graceful-fs')\n} catch (_) {\n _fs = require('fs')\n}\nconst universalify = require('universalify')\nconst { stringify, stripBom } = require('./utils')\n\nasync function _readFile (file, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n const fs = options.fs || _fs\n\n const shouldThrow = 'throws' in options ? options.throws : true\n\n let data = await universalify.fromCallback(fs.readFile)(file, options)\n\n data = stripBom(data)\n\n let obj\n try {\n obj = JSON.parse(data, options ? options.reviver : null)\n } catch (err) {\n if (shouldThrow) {\n err.message = `${file}: ${err.message}`\n throw err\n } else {\n return null\n }\n }\n\n return obj\n}\n\nconst readFile = universalify.fromPromise(_readFile)\n\nfunction readFileSync (file, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n const fs = options.fs || _fs\n\n const shouldThrow = 'throws' in options ? options.throws : true\n\n try {\n let content = fs.readFileSync(file, options)\n content = stripBom(content)\n return JSON.parse(content, options.reviver)\n } catch (err) {\n if (shouldThrow) {\n err.message = `${file}: ${err.message}`\n throw err\n } else {\n return null\n }\n }\n}\n\nasync function _writeFile (file, obj, options = {}) {\n const fs = options.fs || _fs\n\n const str = stringify(obj, options)\n\n await universalify.fromCallback(fs.writeFile)(file, str, options)\n}\n\nconst writeFile = universalify.fromPromise(_writeFile)\n\nfunction writeFileSync (file, obj, options = {}) {\n const fs = options.fs || _fs\n\n const str = stringify(obj, options)\n // not sure if fs.writeFileSync returns anything, but just in case\n return fs.writeFileSync(file, str, options)\n}\n\nconst jsonfile = {\n readFile,\n readFileSync,\n writeFile,\n writeFileSync\n}\n\nmodule.exports = jsonfile\n","module.exports = require(\"util\");","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildFullPath = require('../core/buildFullPath');\nvar buildURL = require('./../helpers/buildURL');\nvar http = require('http');\nvar https = require('https');\nvar httpFollow = require('follow-redirects').http;\nvar httpsFollow = require('follow-redirects').https;\nvar url = require('url');\nvar zlib = require('zlib');\nvar pkg = require('./../../package.json');\nvar createError = require('../core/createError');\nvar enhanceError = require('../core/enhanceError');\n\nvar isHttps = /https:?/;\n\n/*eslint consistent-return:0*/\nmodule.exports = function httpAdapter(config) {\n return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) {\n var resolve = function resolve(value) {\n resolvePromise(value);\n };\n var reject = function reject(value) {\n rejectPromise(value);\n };\n var data = config.data;\n var headers = config.headers;\n\n // Set User-Agent (required by some servers)\n // Only set header if it hasn't been set in config\n // See https://github.com/axios/axios/issues/69\n if (!headers['User-Agent'] && !headers['user-agent']) {\n headers['User-Agent'] = 'axios/' + pkg.version;\n }\n\n if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(createError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers['Content-Length'] = data.length;\n }\n\n // HTTP basic authentication\n var auth = undefined;\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n // Parse url\n var fullPath = buildFullPath(config.baseURL, config.url);\n var parsed = url.parse(fullPath);\n var protocol = parsed.protocol || 'http:';\n\n if (!auth && parsed.auth) {\n var urlAuth = parsed.auth.split(':');\n var urlUsername = urlAuth[0] || '';\n var urlPassword = urlAuth[1] || '';\n auth = urlUsername + ':' + urlPassword;\n }\n\n if (auth) {\n delete headers.Authorization;\n }\n\n var isHttpsRequest = isHttps.test(protocol);\n var agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n\n var options = {\n path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\\?/, ''),\n method: config.method.toUpperCase(),\n headers: headers,\n agent: agent,\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth: auth\n };\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname;\n options.port = parsed.port;\n }\n\n var proxy = config.proxy;\n if (!proxy && proxy !== false) {\n var proxyEnv = protocol.slice(0, -1) + '_proxy';\n var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()];\n if (proxyUrl) {\n var parsedProxyUrl = url.parse(proxyUrl);\n var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY;\n var shouldProxy = true;\n\n if (noProxyEnv) {\n var noProxy = noProxyEnv.split(',').map(function trim(s) {\n return s.trim();\n });\n\n shouldProxy = !noProxy.some(function proxyMatch(proxyElement) {\n if (!proxyElement) {\n return false;\n }\n if (proxyElement === '*') {\n return true;\n }\n if (proxyElement[0] === '.' &&\n parsed.hostname.substr(parsed.hostname.length - proxyElement.length) === proxyElement) {\n return true;\n }\n\n return parsed.hostname === proxyElement;\n });\n }\n\n\n if (shouldProxy) {\n proxy = {\n host: parsedProxyUrl.hostname,\n port: parsedProxyUrl.port\n };\n\n if (parsedProxyUrl.auth) {\n var proxyUrlAuth = parsedProxyUrl.auth.split(':');\n proxy.auth = {\n username: proxyUrlAuth[0],\n password: proxyUrlAuth[1]\n };\n }\n }\n }\n }\n\n if (proxy) {\n options.hostname = proxy.host;\n options.host = proxy.host;\n options.headers.host = parsed.hostname + (parsed.port ? ':' + parsed.port : '');\n options.port = proxy.port;\n options.path = protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path;\n\n // Basic proxy authorization\n if (proxy.auth) {\n var base64 = Buffer.from(proxy.auth.username + ':' + proxy.auth.password, 'utf8').toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n }\n\n var transport;\n var isHttpsProxy = isHttpsRequest && (proxy ? isHttps.test(proxy.protocol) : true);\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsProxy ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n transport = isHttpsProxy ? httpsFollow : httpFollow;\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n }\n\n // Create the request\n var req = transport.request(options, function handleResponse(res) {\n if (req.aborted) return;\n\n // uncompress the response body transparently if required\n var stream = res;\n\n // return the last request in case of redirects\n var lastRequest = res.req || req;\n\n\n // if no content, is HEAD request or decompress disabled we should not decompress\n if (res.statusCode !== 204 && lastRequest.method !== 'HEAD' && config.decompress !== false) {\n switch (res.headers['content-encoding']) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'compress':\n case 'deflate':\n // add the unzipper to the body stream processing pipeline\n stream = stream.pipe(zlib.createUnzip());\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n }\n }\n\n var response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: res.headers,\n config: config,\n request: lastRequest\n };\n\n if (config.responseType === 'stream') {\n response.data = stream;\n settle(resolve, reject, response);\n } else {\n var responseBuffer = [];\n stream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && Buffer.concat(responseBuffer).length > config.maxContentLength) {\n stream.destroy();\n reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n config, null, lastRequest));\n }\n });\n\n stream.on('error', function handleStreamError(err) {\n if (req.aborted) return;\n reject(enhanceError(err, config, null, lastRequest));\n });\n\n stream.on('end', function handleStreamEnd() {\n var responseData = Buffer.concat(responseBuffer);\n if (config.responseType !== 'arraybuffer') {\n responseData = responseData.toString(config.responseEncoding);\n if (!config.responseEncoding || config.responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n\n response.data = responseData;\n settle(resolve, reject, response);\n });\n }\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n if (req.aborted && err.code !== 'ERR_FR_TOO_MANY_REDIRECTS') return;\n reject(enhanceError(err, config, null, req));\n });\n\n // Handle request timeout\n if (config.timeout) {\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devoring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(config.timeout, function handleRequestTimeout() {\n req.abort();\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', req));\n });\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (req.aborted) return;\n\n req.abort();\n reject(cancel);\n });\n }\n\n // Send the request\n if (utils.isStream(data)) {\n data.on('error', function handleStreamError(err) {\n reject(enhanceError(err, config, null, req));\n }).pipe(req);\n } else {\n req.end(data);\n }\n });\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","'use strict';\nconst path = require('path');\nconst childProcess = require('child_process');\nconst crossSpawn = require('cross-spawn');\nconst stripEof = require('strip-eof');\nconst npmRunPath = require('npm-run-path');\nconst isStream = require('is-stream');\nconst _getStream = require('get-stream');\nconst pFinally = require('p-finally');\nconst onExit = require('signal-exit');\nconst errname = require('./lib/errname');\nconst stdio = require('./lib/stdio');\n\nconst TEN_MEGABYTES = 1000 * 1000 * 10;\n\nfunction handleArgs(cmd, args, opts) {\n\tlet parsed;\n\n\topts = Object.assign({\n\t\textendEnv: true,\n\t\tenv: {}\n\t}, opts);\n\n\tif (opts.extendEnv) {\n\t\topts.env = Object.assign({}, process.env, opts.env);\n\t}\n\n\tif (opts.__winShell === true) {\n\t\tdelete opts.__winShell;\n\t\tparsed = {\n\t\t\tcommand: cmd,\n\t\t\targs,\n\t\t\toptions: opts,\n\t\t\tfile: cmd,\n\t\t\toriginal: {\n\t\t\t\tcmd,\n\t\t\t\targs\n\t\t\t}\n\t\t};\n\t} else {\n\t\tparsed = crossSpawn._parse(cmd, args, opts);\n\t}\n\n\topts = Object.assign({\n\t\tmaxBuffer: TEN_MEGABYTES,\n\t\tbuffer: true,\n\t\tstripEof: true,\n\t\tpreferLocal: true,\n\t\tlocalDir: parsed.options.cwd || process.cwd(),\n\t\tencoding: 'utf8',\n\t\treject: true,\n\t\tcleanup: true\n\t}, parsed.options);\n\n\topts.stdio = stdio(opts);\n\n\tif (opts.preferLocal) {\n\t\topts.env = npmRunPath.env(Object.assign({}, opts, {cwd: opts.localDir}));\n\t}\n\n\tif (opts.detached) {\n\t\t// #115\n\t\topts.cleanup = false;\n\t}\n\n\tif (process.platform === 'win32' && path.basename(parsed.command) === 'cmd.exe') {\n\t\t// #116\n\t\tparsed.args.unshift('/q');\n\t}\n\n\treturn {\n\t\tcmd: parsed.command,\n\t\targs: parsed.args,\n\t\topts,\n\t\tparsed\n\t};\n}\n\nfunction handleInput(spawned, input) {\n\tif (input === null || input === undefined) {\n\t\treturn;\n\t}\n\n\tif (isStream(input)) {\n\t\tinput.pipe(spawned.stdin);\n\t} else {\n\t\tspawned.stdin.end(input);\n\t}\n}\n\nfunction handleOutput(opts, val) {\n\tif (val && opts.stripEof) {\n\t\tval = stripEof(val);\n\t}\n\n\treturn val;\n}\n\nfunction handleShell(fn, cmd, opts) {\n\tlet file = '/bin/sh';\n\tlet args = ['-c', cmd];\n\n\topts = Object.assign({}, opts);\n\n\tif (process.platform === 'win32') {\n\t\topts.__winShell = true;\n\t\tfile = process.env.comspec || 'cmd.exe';\n\t\targs = ['/s', '/c', `\"${cmd}\"`];\n\t\topts.windowsVerbatimArguments = true;\n\t}\n\n\tif (opts.shell) {\n\t\tfile = opts.shell;\n\t\tdelete opts.shell;\n\t}\n\n\treturn fn(file, args, opts);\n}\n\nfunction getStream(process, stream, {encoding, buffer, maxBuffer}) {\n\tif (!process[stream]) {\n\t\treturn null;\n\t}\n\n\tlet ret;\n\n\tif (!buffer) {\n\t\t// TODO: Use `ret = util.promisify(stream.finished)(process[stream]);` when targeting Node.js 10\n\t\tret = new Promise((resolve, reject) => {\n\t\t\tprocess[stream]\n\t\t\t\t.once('end', resolve)\n\t\t\t\t.once('error', reject);\n\t\t});\n\t} else if (encoding) {\n\t\tret = _getStream(process[stream], {\n\t\t\tencoding,\n\t\t\tmaxBuffer\n\t\t});\n\t} else {\n\t\tret = _getStream.buffer(process[stream], {maxBuffer});\n\t}\n\n\treturn ret.catch(err => {\n\t\terr.stream = stream;\n\t\terr.message = `${stream} ${err.message}`;\n\t\tthrow err;\n\t});\n}\n\nfunction makeError(result, options) {\n\tconst {stdout, stderr} = result;\n\n\tlet err = result.error;\n\tconst {code, signal} = result;\n\n\tconst {parsed, joinedCmd} = options;\n\tconst timedOut = options.timedOut || false;\n\n\tif (!err) {\n\t\tlet output = '';\n\n\t\tif (Array.isArray(parsed.opts.stdio)) {\n\t\t\tif (parsed.opts.stdio[2] !== 'inherit') {\n\t\t\t\toutput += output.length > 0 ? stderr : `\\n${stderr}`;\n\t\t\t}\n\n\t\t\tif (parsed.opts.stdio[1] !== 'inherit') {\n\t\t\t\toutput += `\\n${stdout}`;\n\t\t\t}\n\t\t} else if (parsed.opts.stdio !== 'inherit') {\n\t\t\toutput = `\\n${stderr}${stdout}`;\n\t\t}\n\n\t\terr = new Error(`Command failed: ${joinedCmd}${output}`);\n\t\terr.code = code < 0 ? errname(code) : code;\n\t}\n\n\terr.stdout = stdout;\n\terr.stderr = stderr;\n\terr.failed = true;\n\terr.signal = signal || null;\n\terr.cmd = joinedCmd;\n\terr.timedOut = timedOut;\n\n\treturn err;\n}\n\nfunction joinCmd(cmd, args) {\n\tlet joinedCmd = cmd;\n\n\tif (Array.isArray(args) && args.length > 0) {\n\t\tjoinedCmd += ' ' + args.join(' ');\n\t}\n\n\treturn joinedCmd;\n}\n\nmodule.exports = (cmd, args, opts) => {\n\tconst parsed = handleArgs(cmd, args, opts);\n\tconst {encoding, buffer, maxBuffer} = parsed.opts;\n\tconst joinedCmd = joinCmd(cmd, args);\n\n\tlet spawned;\n\ttry {\n\t\tspawned = childProcess.spawn(parsed.cmd, parsed.args, parsed.opts);\n\t} catch (err) {\n\t\treturn Promise.reject(err);\n\t}\n\n\tlet removeExitHandler;\n\tif (parsed.opts.cleanup) {\n\t\tremoveExitHandler = onExit(() => {\n\t\t\tspawned.kill();\n\t\t});\n\t}\n\n\tlet timeoutId = null;\n\tlet timedOut = false;\n\n\tconst cleanup = () => {\n\t\tif (timeoutId) {\n\t\t\tclearTimeout(timeoutId);\n\t\t\ttimeoutId = null;\n\t\t}\n\n\t\tif (removeExitHandler) {\n\t\t\tremoveExitHandler();\n\t\t}\n\t};\n\n\tif (parsed.opts.timeout > 0) {\n\t\ttimeoutId = setTimeout(() => {\n\t\t\ttimeoutId = null;\n\t\t\ttimedOut = true;\n\t\t\tspawned.kill(parsed.opts.killSignal);\n\t\t}, parsed.opts.timeout);\n\t}\n\n\tconst processDone = new Promise(resolve => {\n\t\tspawned.on('exit', (code, signal) => {\n\t\t\tcleanup();\n\t\t\tresolve({code, signal});\n\t\t});\n\n\t\tspawned.on('error', err => {\n\t\t\tcleanup();\n\t\t\tresolve({error: err});\n\t\t});\n\n\t\tif (spawned.stdin) {\n\t\t\tspawned.stdin.on('error', err => {\n\t\t\t\tcleanup();\n\t\t\t\tresolve({error: err});\n\t\t\t});\n\t\t}\n\t});\n\n\tfunction destroy() {\n\t\tif (spawned.stdout) {\n\t\t\tspawned.stdout.destroy();\n\t\t}\n\n\t\tif (spawned.stderr) {\n\t\t\tspawned.stderr.destroy();\n\t\t}\n\t}\n\n\tconst handlePromise = () => pFinally(Promise.all([\n\t\tprocessDone,\n\t\tgetStream(spawned, 'stdout', {encoding, buffer, maxBuffer}),\n\t\tgetStream(spawned, 'stderr', {encoding, buffer, maxBuffer})\n\t]).then(arr => {\n\t\tconst result = arr[0];\n\t\tresult.stdout = arr[1];\n\t\tresult.stderr = arr[2];\n\n\t\tif (result.error || result.code !== 0 || result.signal !== null) {\n\t\t\tconst err = makeError(result, {\n\t\t\t\tjoinedCmd,\n\t\t\t\tparsed,\n\t\t\t\ttimedOut\n\t\t\t});\n\n\t\t\t// TODO: missing some timeout logic for killed\n\t\t\t// https://github.com/nodejs/node/blob/master/lib/child_process.js#L203\n\t\t\t// err.killed = spawned.killed || killed;\n\t\t\terr.killed = err.killed || spawned.killed;\n\n\t\t\tif (!parsed.opts.reject) {\n\t\t\t\treturn err;\n\t\t\t}\n\n\t\t\tthrow err;\n\t\t}\n\n\t\treturn {\n\t\t\tstdout: handleOutput(parsed.opts, result.stdout),\n\t\t\tstderr: handleOutput(parsed.opts, result.stderr),\n\t\t\tcode: 0,\n\t\t\tfailed: false,\n\t\t\tkilled: false,\n\t\t\tsignal: null,\n\t\t\tcmd: joinedCmd,\n\t\t\ttimedOut: false\n\t\t};\n\t}), destroy);\n\n\tcrossSpawn._enoent.hookChildProcess(spawned, parsed.parsed);\n\n\thandleInput(spawned, parsed.opts.input);\n\n\tspawned.then = (onfulfilled, onrejected) => handlePromise().then(onfulfilled, onrejected);\n\tspawned.catch = onrejected => handlePromise().catch(onrejected);\n\n\treturn spawned;\n};\n\n// TODO: set `stderr: 'ignore'` when that option is implemented\nmodule.exports.stdout = (...args) => module.exports(...args).then(x => x.stdout);\n\n// TODO: set `stdout: 'ignore'` when that option is implemented\nmodule.exports.stderr = (...args) => module.exports(...args).then(x => x.stderr);\n\nmodule.exports.shell = (cmd, opts) => handleShell(module.exports, cmd, opts);\n\nmodule.exports.sync = (cmd, args, opts) => {\n\tconst parsed = handleArgs(cmd, args, opts);\n\tconst joinedCmd = joinCmd(cmd, args);\n\n\tif (isStream(parsed.opts.input)) {\n\t\tthrow new TypeError('The `input` option cannot be a stream in sync mode');\n\t}\n\n\tconst result = childProcess.spawnSync(parsed.cmd, parsed.args, parsed.opts);\n\tresult.code = result.status;\n\n\tif (result.error || result.status !== 0 || result.signal !== null) {\n\t\tconst err = makeError(result, {\n\t\t\tjoinedCmd,\n\t\t\tparsed\n\t\t});\n\n\t\tif (!parsed.opts.reject) {\n\t\t\treturn err;\n\t\t}\n\n\t\tthrow err;\n\t}\n\n\treturn {\n\t\tstdout: handleOutput(parsed.opts, result.stdout),\n\t\tstderr: handleOutput(parsed.opts, result.stderr),\n\t\tcode: 0,\n\t\tfailed: false,\n\t\tsignal: null,\n\t\tcmd: joinedCmd,\n\t\ttimedOut: false\n\t};\n};\n\nmodule.exports.shellSync = (cmd, opts) => handleShell(module.exports.sync, cmd, opts);\n","'use strict'\n\nexports.fromCallback = function (fn) {\n return Object.defineProperty(function (...args) {\n if (typeof args[args.length - 1] === 'function') fn.apply(this, args)\n else {\n return new Promise((resolve, reject) => {\n fn.apply(\n this,\n args.concat([(err, res) => err ? reject(err) : resolve(res)])\n )\n })\n }\n }, 'name', { value: fn.name })\n}\n\nexports.fromPromise = function (fn) {\n return Object.defineProperty(function (...args) {\n const cb = args[args.length - 1]\n if (typeof cb !== 'function') return fn.apply(this, args)\n else fn.apply(this, args.slice(0, -1)).then(r => cb(null, r), cb)\n }, 'name', { value: fn.name })\n}\n","'use strict';\n\n// FIXME:\n// replace this Transform mess with a method that pipes input argument to output argument\n\nconst MessageParser = require('./message-parser');\nconst RelaxedBody = require('./relaxed-body');\nconst sign = require('./sign');\nconst PassThrough = require('stream').PassThrough;\nconst fs = require('fs');\nconst path = require('path');\nconst crypto = require('crypto');\n\nconst DKIM_ALGO = 'sha256';\nconst MAX_MESSAGE_SIZE = 128 * 1024; // buffer messages larger than this to disk\n\n/*\n// Usage:\n\nlet dkim = new DKIM({\n domainName: 'example.com',\n keySelector: 'key-selector',\n privateKey,\n cacheDir: '/tmp'\n});\ndkim.sign(input).pipe(process.stdout);\n\n// Where inputStream is a rfc822 message (either a stream, string or Buffer)\n// and outputStream is a DKIM signed rfc822 message\n*/\n\nclass DKIMSigner {\n constructor(options, keys, input, output) {\n this.options = options || {};\n this.keys = keys;\n\n this.cacheTreshold = Number(this.options.cacheTreshold) || MAX_MESSAGE_SIZE;\n this.hashAlgo = this.options.hashAlgo || DKIM_ALGO;\n\n this.cacheDir = this.options.cacheDir || false;\n\n this.chunks = [];\n this.chunklen = 0;\n this.readPos = 0;\n this.cachePath = this.cacheDir ? path.join(this.cacheDir, 'message.' + Date.now() + '-' + crypto.randomBytes(14).toString('hex')) : false;\n this.cache = false;\n\n this.headers = false;\n this.bodyHash = false;\n this.parser = false;\n this.relaxedBody = false;\n\n this.input = input;\n this.output = output;\n this.output.usingCache = false;\n\n this.errored = false;\n\n this.input.on('error', err => {\n this.errored = true;\n this.cleanup();\n output.emit('error', err);\n });\n }\n\n cleanup() {\n if (!this.cache || !this.cachePath) {\n return;\n }\n fs.unlink(this.cachePath, () => false);\n }\n\n createReadCache() {\n // pipe remainings to cache file\n this.cache = fs.createReadStream(this.cachePath);\n this.cache.once('error', err => {\n this.cleanup();\n this.output.emit('error', err);\n });\n this.cache.once('close', () => {\n this.cleanup();\n });\n this.cache.pipe(this.output);\n }\n\n sendNextChunk() {\n if (this.errored) {\n return;\n }\n\n if (this.readPos >= this.chunks.length) {\n if (!this.cache) {\n return this.output.end();\n }\n return this.createReadCache();\n }\n let chunk = this.chunks[this.readPos++];\n if (this.output.write(chunk) === false) {\n return this.output.once('drain', () => {\n this.sendNextChunk();\n });\n }\n setImmediate(() => this.sendNextChunk());\n }\n\n sendSignedOutput() {\n let keyPos = 0;\n let signNextKey = () => {\n if (keyPos >= this.keys.length) {\n this.output.write(this.parser.rawHeaders);\n return setImmediate(() => this.sendNextChunk());\n }\n let key = this.keys[keyPos++];\n let dkimField = sign(this.headers, this.hashAlgo, this.bodyHash, {\n domainName: key.domainName,\n keySelector: key.keySelector,\n privateKey: key.privateKey,\n headerFieldNames: this.options.headerFieldNames,\n skipFields: this.options.skipFields\n });\n if (dkimField) {\n this.output.write(Buffer.from(dkimField + '\\r\\n'));\n }\n return setImmediate(signNextKey);\n };\n\n if (this.bodyHash && this.headers) {\n return signNextKey();\n }\n\n this.output.write(this.parser.rawHeaders);\n this.sendNextChunk();\n }\n\n createWriteCache() {\n this.output.usingCache = true;\n // pipe remainings to cache file\n this.cache = fs.createWriteStream(this.cachePath);\n this.cache.once('error', err => {\n this.cleanup();\n // drain input\n this.relaxedBody.unpipe(this.cache);\n this.relaxedBody.on('readable', () => {\n while (this.relaxedBody.read() !== null) {\n // do nothing\n }\n });\n this.errored = true;\n // emit error\n this.output.emit('error', err);\n });\n this.cache.once('close', () => {\n this.sendSignedOutput();\n });\n this.relaxedBody.removeAllListeners('readable');\n this.relaxedBody.pipe(this.cache);\n }\n\n signStream() {\n this.parser = new MessageParser();\n this.relaxedBody = new RelaxedBody({\n hashAlgo: this.hashAlgo\n });\n\n this.parser.on('headers', value => {\n this.headers = value;\n });\n\n this.relaxedBody.on('hash', value => {\n this.bodyHash = value;\n });\n\n this.relaxedBody.on('readable', () => {\n let chunk;\n if (this.cache) {\n return;\n }\n while ((chunk = this.relaxedBody.read()) !== null) {\n this.chunks.push(chunk);\n this.chunklen += chunk.length;\n if (this.chunklen >= this.cacheTreshold && this.cachePath) {\n return this.createWriteCache();\n }\n }\n });\n\n this.relaxedBody.on('end', () => {\n if (this.cache) {\n return;\n }\n this.sendSignedOutput();\n });\n\n this.parser.pipe(this.relaxedBody);\n setImmediate(() => this.input.pipe(this.parser));\n }\n}\n\nclass DKIM {\n constructor(options) {\n this.options = options || {};\n this.keys = [].concat(\n this.options.keys || {\n domainName: options.domainName,\n keySelector: options.keySelector,\n privateKey: options.privateKey\n }\n );\n }\n\n sign(input, extraOptions) {\n let output = new PassThrough();\n let inputStream = input;\n let writeValue = false;\n\n if (Buffer.isBuffer(input)) {\n writeValue = input;\n inputStream = new PassThrough();\n } else if (typeof input === 'string') {\n writeValue = Buffer.from(input);\n inputStream = new PassThrough();\n }\n\n let options = this.options;\n if (extraOptions && Object.keys(extraOptions).length) {\n options = {};\n Object.keys(this.options || {}).forEach(key => {\n options[key] = this.options[key];\n });\n Object.keys(extraOptions || {}).forEach(key => {\n if (!(key in options)) {\n options[key] = extraOptions[key];\n }\n });\n }\n\n let signer = new DKIMSigner(options, this.keys, inputStream, output);\n setImmediate(() => {\n signer.signStream();\n if (writeValue) {\n setImmediate(() => {\n inputStream.end(writeValue);\n });\n }\n });\n\n return output;\n }\n}\n\nmodule.exports = DKIM;\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","!function(r,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):((r=\"undefined\"!=typeof globalThis?globalThis:r||self).prettierPlugins=r.prettierPlugins||{},r.prettierPlugins.flow=e())}(this,(function(){\"use strict\";var r=function(r,e){const t=new SyntaxError(r+\" (\"+e.start.line+\":\"+e.start.column+\")\");return t.loc=e,t};function e(r,e,t){return r(t={path:e,exports:{},require:function(r,e){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==e&&t.path)}},t.exports),t.exports}function t(r){return r&&Object.prototype.hasOwnProperty.call(r,\"default\")?r.default:r}var n=Object.freeze({__proto__:null,default:{EOL:\"\\n\",platform:()=>\"browser\",cpus:()=>[{model:\"Prettier\"}]}});const u=r=>{if(\"string\"!=typeof r)throw new TypeError(\"Expected a string\");const e=r.match(/(?:\\r?\\n)/g)||[];if(0===e.length)return;const t=e.filter((r=>\"\\r\\n\"===r)).length;return t>e.length-t?\"\\r\\n\":\"\\n\"};var a=u;a.graceful=r=>\"string\"==typeof r&&u(r)||\"\\n\";var i=t(n),c=e((function(r,e){function t(){const r=i;return t=function(){return r},r}function n(){const r=(e=a)&&e.__esModule?e:{default:e};var e;return n=function(){return r},r}Object.defineProperty(e,\"__esModule\",{value:!0}),e.extract=function(r){const e=r.match(f);return e?e[0].trimLeft():\"\"},e.strip=function(r){const e=r.match(f);return e&&e[0]?r.substring(e[0].length):r},e.parse=function(r){return b(r).pragmas},e.parseWithComments=b,e.print=function({comments:r=\"\",pragmas:e={}}){const u=(0,n().default)(r)||t().EOL,a=\" *\",i=Object.keys(e),c=i.map((r=>F(r,e[r]))).reduce(((r,e)=>r.concat(e)),[]).map((r=>\" * \"+r+u)).join(\"\");if(!r){if(0===i.length)return\"\";if(1===i.length&&!Array.isArray(e[i[0]])){const r=e[i[0]];return\"\".concat(\"/**\",\" \").concat(F(i[0],r)[0]).concat(\" */\")}}const f=r.split(u).map((r=>\"\".concat(a,\" \").concat(r))).join(u)+u;return\"/**\"+u+(r?f:\"\")+(r&&i.length?a+u:\"\")+c+\" */\"};const u=/\\*\\/$/,c=/^\\/\\*\\*/,f=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,o=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,s=/^(\\r?\\n)+/,l=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,v=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,D=/(\\r?\\n|^) *\\* ?/g,p=[];function b(r){const e=(0,n().default)(r)||t().EOL;r=r.replace(c,\"\").replace(u,\"\").replace(D,\"$1\");let a=\"\";for(;a!==r;)a=r,r=r.replace(l,\"\".concat(e,\"$1 $2\").concat(e));r=r.replace(s,\"\").trimRight();const i=Object.create(null),f=r.replace(v,\"\").replace(s,\"\").trimRight();let b;for(;b=v.exec(r);){const r=b[2].replace(o,\"\");\"string\"==typeof i[b[1]]||Array.isArray(i[b[1]])?i[b[1]]=p.concat(i[b[1]],r):i[b[1]]=r}return{comments:f,pragmas:i}}function F(r,e){return p.concat(e).map((e=>\"@\".concat(r,\" \").concat(e).trim()))}})),f=r=>\"string\"==typeof r?r.replace((({onlyFirst:r=!1}={})=>{const e=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(e,r?void 0:\"g\")})(),\"\"):r;const o=r=>!Number.isNaN(r)&&(r>=4352&&(r<=4447||9001===r||9002===r||11904<=r&&r<=12871&&12351!==r||12880<=r&&r<=19903||19968<=r&&r<=42182||43360<=r&&r<=43388||44032<=r&&r<=55203||63744<=r&&r<=64255||65040<=r&&r<=65049||65072<=r&&r<=65131||65281<=r&&r<=65376||65504<=r&&r<=65510||110592<=r&&r<=110593||127488<=r&&r<=127569||131072<=r&&r<=262141));var s=o,l=o;s.default=l;const v=r=>{if(\"string\"!=typeof(r=r.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\" \"))||0===r.length)return 0;r=f(r);let e=0;for(let t=0;t=127&&n<=159||(n>=768&&n<=879||(n>65535&&t++,e+=s(n)?2:1))}return e};var D=v,p=v;D.default=p;var b=r=>{if(\"string\"!=typeof r)throw new TypeError(\"Expected a string\");return r.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function F(r,e){return e||(e=r.slice(0)),Object.freeze(Object.defineProperties(r,{raw:{value:Object.freeze(e)}}))}var m=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{};function d(){throw new Error(\"setTimeout has not been defined\")}function E(){throw new Error(\"clearTimeout has not been defined\")}var k=d,h=E;function y(r){if(k===setTimeout)return setTimeout(r,0);if((k===d||!k)&&setTimeout)return k=setTimeout,setTimeout(r,0);try{return k(r,0)}catch(e){try{return k.call(null,r,0)}catch(e){return k.call(this,r,0)}}}\"function\"==typeof m.setTimeout&&(k=setTimeout),\"function\"==typeof m.clearTimeout&&(h=clearTimeout);var C,w=[],A=!1,_=-1;function g(){A&&C&&(A=!1,C.length?w=C.concat(w):_=-1,w.length&&B())}function B(){if(!A){var r=y(g);A=!0;for(var e=w.length;e;){for(C=w,w=[];++_1)for(var t=1;tconsole.error(\"SEMVER\",...r):()=>{};var J={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},q=e((function(r,e){const{MAX_SAFE_COMPONENT_LENGTH:t}=J,n=(e=r.exports={}).re=[],u=e.src=[],a=e.t={};let i=0;const c=(r,e,t)=>{const c=i++;G(c,e),a[r]=c,u[c]=e,n[c]=new RegExp(e,t?\"g\":void 0)};c(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),c(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),c(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),c(\"MAINVERSION\",\"(\".concat(u[a.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(u[a.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(u[a.NUMERICIDENTIFIER],\")\")),c(\"MAINVERSIONLOOSE\",\"(\".concat(u[a.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(u[a.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(u[a.NUMERICIDENTIFIERLOOSE],\")\")),c(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(u[a.NUMERICIDENTIFIER],\"|\").concat(u[a.NONNUMERICIDENTIFIER],\")\")),c(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(u[a.NUMERICIDENTIFIERLOOSE],\"|\").concat(u[a.NONNUMERICIDENTIFIER],\")\")),c(\"PRERELEASE\",\"(?:-(\".concat(u[a.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(u[a.PRERELEASEIDENTIFIER],\")*))\")),c(\"PRERELEASELOOSE\",\"(?:-?(\".concat(u[a.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(u[a.PRERELEASEIDENTIFIERLOOSE],\")*))\")),c(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),c(\"BUILD\",\"(?:\\\\+(\".concat(u[a.BUILDIDENTIFIER],\"(?:\\\\.\").concat(u[a.BUILDIDENTIFIER],\")*))\")),c(\"FULLPLAIN\",\"v?\".concat(u[a.MAINVERSION]).concat(u[a.PRERELEASE],\"?\").concat(u[a.BUILD],\"?\")),c(\"FULL\",\"^\".concat(u[a.FULLPLAIN],\"$\")),c(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(u[a.MAINVERSIONLOOSE]).concat(u[a.PRERELEASELOOSE],\"?\").concat(u[a.BUILD],\"?\")),c(\"LOOSE\",\"^\".concat(u[a.LOOSEPLAIN],\"$\")),c(\"GTLT\",\"((?:<|>)?=?)\"),c(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(u[a.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),c(\"XRANGEIDENTIFIER\",\"\".concat(u[a.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),c(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(u[a.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(u[a.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(u[a.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(u[a.PRERELEASE],\")?\").concat(u[a.BUILD],\"?\")+\")?)?\"),c(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(u[a.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(u[a.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(u[a.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(u[a.PRERELEASELOOSE],\")?\").concat(u[a.BUILD],\"?\")+\")?)?\"),c(\"XRANGE\",\"^\".concat(u[a.GTLT],\"\\\\s*\").concat(u[a.XRANGEPLAIN],\"$\")),c(\"XRANGELOOSE\",\"^\".concat(u[a.GTLT],\"\\\\s*\").concat(u[a.XRANGEPLAINLOOSE],\"$\")),c(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(t,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(t,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(t,\"}))?\")+\"(?:$|[^\\\\d])\"),c(\"COERCERTL\",u[a.COERCE],!0),c(\"LONETILDE\",\"(?:~>?)\"),c(\"TILDETRIM\",\"(\\\\s*)\".concat(u[a.LONETILDE],\"\\\\s+\"),!0),e.tildeTrimReplace=\"$1~\",c(\"TILDE\",\"^\".concat(u[a.LONETILDE]).concat(u[a.XRANGEPLAIN],\"$\")),c(\"TILDELOOSE\",\"^\".concat(u[a.LONETILDE]).concat(u[a.XRANGEPLAINLOOSE],\"$\")),c(\"LONECARET\",\"(?:\\\\^)\"),c(\"CARETTRIM\",\"(\\\\s*)\".concat(u[a.LONECARET],\"\\\\s+\"),!0),e.caretTrimReplace=\"$1^\",c(\"CARET\",\"^\".concat(u[a.LONECARET]).concat(u[a.XRANGEPLAIN],\"$\")),c(\"CARETLOOSE\",\"^\".concat(u[a.LONECARET]).concat(u[a.XRANGEPLAINLOOSE],\"$\")),c(\"COMPARATORLOOSE\",\"^\".concat(u[a.GTLT],\"\\\\s*(\").concat(u[a.LOOSEPLAIN],\")$|^$\")),c(\"COMPARATOR\",\"^\".concat(u[a.GTLT],\"\\\\s*(\").concat(u[a.FULLPLAIN],\")$|^$\")),c(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(u[a.GTLT],\"\\\\s*(\").concat(u[a.LOOSEPLAIN],\"|\").concat(u[a.XRANGEPLAIN],\")\"),!0),e.comparatorTrimReplace=\"$1$2$3\",c(\"HYPHENRANGE\",\"^\\\\s*(\".concat(u[a.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(u[a.XRANGEPLAIN],\")\")+\"\\\\s*$\"),c(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(u[a.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(u[a.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),c(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),c(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),c(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")}));const z=/^[0-9]+$/,W=(r,e)=>{const t=z.test(r),n=z.test(e);return t&&n&&(r=+r,e=+e),r===e?0:t&&!n?-1:n&&!t?1:rW(e,r)};const{MAX_LENGTH:$,MAX_SAFE_INTEGER:Y}=J,{re:H,t:K}=q,{compareIdentifiers:Q}=V;class Z{constructor(r,e){if(e&&\"object\"==typeof e||(e={loose:!!e,includePrerelease:!1}),r instanceof Z){if(r.loose===!!e.loose&&r.includePrerelease===!!e.includePrerelease)return r;r=r.version}else if(\"string\"!=typeof r)throw new TypeError(\"Invalid Version: \".concat(r));if(r.length>$)throw new TypeError(\"version is longer than \".concat($,\" characters\"));G(\"SemVer\",r,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;const t=r.trim().match(e.loose?H[K.LOOSE]:H[K.FULL]);if(!t)throw new TypeError(\"Invalid Version: \".concat(r));if(this.raw=r,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>Y||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>Y||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>Y||this.patch<0)throw new TypeError(\"Invalid patch version\");t[4]?this.prerelease=t[4].split(\".\").map((r=>{if(/^[0-9]+$/.test(r)){const e=+r;if(e>=0&&e=0;)\"number\"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);-1===r&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error(\"invalid increment argument: \".concat(r))}return this.format(),this.raw=this.version,this}}var rr=Z;var er=(r,e,t)=>new rr(r,t).compare(new rr(e,t));var tr=(r,e,t)=>er(r,e,t)<0;var nr=(r,e,t)=>er(r,e,t)>=0,ur=\"2.2.0\",ar=e((function(r,e){function t(){for(var r=[],e=0;e\"string\"==typeof r||\"function\"==typeof r,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:Fr,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:r=>\"string\"==typeof r||\"object\"==typeof r,cliName:\"plugin\",cliCategory:Dr},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:Fr,description:vr(or()),exception:r=>\"string\"==typeof r||\"object\"==typeof r,cliName:\"plugin-search-dir\",cliCategory:Dr},printWidth:{since:\"0.0.0\",category:Fr,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:mr,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:vr(fr()),cliCategory:pr},rangeStart:{since:\"1.4.0\",category:mr,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:vr(cr()),cliCategory:pr},requirePragma:{since:\"1.7.0\",category:mr,type:\"boolean\",default:!1,description:vr(ir()),cliCategory:br},tabWidth:{type:\"int\",category:Fr,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:Fr,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:Fr,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};const Er={compare:er,lt:tr,gte:nr},kr=ur,hr={CATEGORY_CONFIG:Dr,CATEGORY_EDITOR:pr,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:br,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:Fr,CATEGORY_SPECIAL:mr,options:dr}.options;var yr={getSupportInfo:function({plugins:r=[],showUnreleased:e=!1,showDeprecated:t=!1,showInternal:n=!1}={}){const u=kr.split(\"-\",1)[0],a=r.reduce(((r,e)=>r.concat(e.languages||[])),[]).filter(o),i=(c=Object.assign({},...r.map((({options:r})=>r)),hr),f=\"name\",Object.entries(c).map((([r,e])=>Object.assign({[f]:r},e)))).filter((r=>o(r)&&s(r))).sort(((r,e)=>r.name===e.name?0:r.name=0||(u[t]=r[t]);return u}(r,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((e=>{e=Object.assign({},e),Array.isArray(e.default)&&(e.default=1===e.default.length?e.default[0].value:e.default.filter(o).sort(((r,e)=>Er.compare(e.since,r.since)))[0].value),Array.isArray(e.choices)&&(e.choices=e.choices.filter((r=>o(r)&&s(r))),\"parser\"===e.name&&function(r,e,t){const n=new Set(r.choices.map((r=>r.value)));for(const u of e)if(u.parsers)for(const e of u.parsers)if(!n.has(e)){n.add(e);const a=t.find((r=>r.parsers&&r.parsers[e]));let i=u.name;a&&a.name&&(i+=\" (plugin: \".concat(a.name,\")\")),r.choices.push({value:e,description:i})}}(e,a,r));const t=r.filter((r=>r.defaultOptions&&void 0!==r.defaultOptions[e.name])).reduce(((r,t)=>(r[t.name]=t.defaultOptions[e.name],r)),{});return Object.assign({},e,{pluginDefaults:t})}));var c,f;return{languages:a,options:i};function o(r){return e||!(\"since\"in r)||r.since&&Er.gte(u,r.since)}function s(r){return t||!(\"deprecated\"in r)||r.deprecated&&Er.lt(u,r.deprecated)}}};const{getSupportInfo:Cr}=yr,wr=/[^\\x20-\\x7F]/;function Ar(r){return(e,t,n)=>{const u=n&&n.backwards;if(!1===t)return!1;const{length:a}=e;let i=t;for(;i>=0&&i(t.match(i.regex)||[]).length?i.quote:a.quote}return c}function jr(r,e,t){const n='\"'===e?\"'\":'\"',u=r.replace(/\\\\([\\S\\s])|([\"'])/g,((r,u,a)=>u===n?u:a===e?\"\\\\\"+a:a||(t&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(u)?u:\"\\\\\"+u)));return e+u+e}function Ur(r,e){(r.comments||(r.comments=[])).push(e),e.printed=!1,\"JSXText\"===r.type&&(e.printed=!0)}var Xr={inferParserByLanguage:function(r,e){const{languages:t}=Cr({plugins:e.plugins}),n=t.find((({name:e})=>e.toLowerCase()===r))||t.find((({aliases:e})=>Array.isArray(e)&&e.includes(r)))||t.find((({extensions:e})=>Array.isArray(e)&&e.includes(\".\".concat(r))));return n&&n.parsers[0]},replaceEndOfLineWith:function(r,e){const t=[];for(const n of r.split(\"\\n\"))0!==t.length&&t.push(e),t.push(n);return t},getStringWidth:function(r){return r?wr.test(r)?D(r):r.length:0},getMaxContinuousCount:function(r,e){const t=r.match(new RegExp(\"(\".concat(b(e),\")+\"),\"g\"));return null===t?0:t.reduce(((r,t)=>Math.max(r,t.length/e.length)),0)},getMinNotPresentContinuousCount:function(r,e){const t=r.match(new RegExp(\"(\".concat(b(e),\")+\"),\"g\"));if(null===t)return 0;const n=new Map;let u=0;for(const r of t){const t=r.length/e.length;n.set(t,!0),t>u&&(u=t)}for(let r=1;rr[r.length-2],getLast:r=>r[r.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Lr,getNextNonSpaceNonCommentCharacterIndex:Pr,getNextNonSpaceNonCommentCharacter:function(r,e,t){return r.charAt(Pr(r,e,t))},skip:Ar,skipWhitespace:_r,skipSpaces:gr,skipToLineEnd:Br,skipEverythingButNewLine:Sr,skipInlineComment:xr,skipTrailingComment:Tr,skipNewline:Ir,isNextLineEmptyAfterIndex:Or,isNextLineEmpty:function(r,e,t){return Or(r,t(e))},isPreviousLineEmpty:function(r,e,t){let n=t(e)-1;return n=gr(r,n,{backwards:!0}),n=Ir(r,n,{backwards:!0}),n=gr(r,n,{backwards:!0}),n!==Ir(r,n,{backwards:!0})},hasNewline:Nr,hasNewlineInRange:function(r,e,t){for(let n=e;n=0?\"\\n\"===r.charAt(e+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(r){switch(r){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(r,e){let t;if(\"\\n\"===e)t=/\\n/g;else if(\"\\r\"===e)t=/\\r/g;else{if(\"\\r\\n\"!==e)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(e),\".\"));t=/\\r\\n/g}const n=r.match(t);return n?n.length:0},normalizeEndOfLine:function(r){return r.replace(/\\r\\n?/g,\"\\n\")}};const{parseWithComments:Jr,strip:qr,extract:zr,print:Wr}=c,{getShebang:Vr}=Xr,{normalizeEndOfLine:$r}=Gr;function Yr(r){const e=Vr(r);e&&(r=r.slice(e.length+1));const t=zr(r),{pragmas:n,comments:u}=Jr(t);return{shebang:e,text:r,pragmas:n,comments:u}}var Hr={hasPragma:function(r){const e=Object.keys(Yr(r).pragmas);return e.includes(\"prettier\")||e.includes(\"format\")},insertPragma:function(r){const{shebang:e,text:t,pragmas:n,comments:u}=Yr(r),a=qr(t),i=Wr({pragmas:Object.assign({format:\"\"},n),comments:u.trimStart()});return(e?\"\".concat(e,\"\\n\"):\"\")+$r(i)+(a.startsWith(\"\\n\")?\"\\n\":\"\\n\\n\")+a}};function Kr(r,e){const{ignoreDecorators:t}=e||{};if(!t){const e=r.declaration&&r.declaration.decorators||r.decorators;if(e&&e.length>0)return Kr(e[0])}return r.range?r.range[0]:r.start}function Qr(r){const e=r.range?r.range[1]:r.end;return r.typeAnnotation?Math.max(e,Qr(r.typeAnnotation)):e}function Zr(r,e){return Kr(r)===Kr(e)}var re={locStart:Kr,locEnd:Qr,composeLoc:function(r,e=r){const t=Kr(r);return[t,\"number\"==typeof e?t+e:Qr(e)]},hasSameLocStart:Zr,hasSameLoc:function(r,e){return Zr(r,e)&&function(r,e){return Qr(r)===Qr(e)}(r,e)}},ee=e((function(r){!function(){function e(r){if(null==r)return!1;switch(r.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function t(r){switch(r.type){case\"IfStatement\":return null!=r.alternate?r.alternate:r.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return r.body}return null}r.exports={isExpression:function(r){if(null==r)return!1;switch(r.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:e,isIterationStatement:function(r){if(null==r)return!1;switch(r.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(r){return e(r)||null!=r&&\"FunctionDeclaration\"===r.type},isProblematicIfStatement:function(r){var e;if(\"IfStatement\"!==r.type)return!1;if(null==r.alternate)return!1;e=r.consequent;do{if(\"IfStatement\"===e.type&&null==e.alternate)return!0;e=t(e)}while(e);return!1},trailingStatement:t}}()})),te=e((function(r){!function(){var e,t,n,u,a,i;function c(r){return r<=65535?String.fromCharCode(r):String.fromCharCode(Math.floor((r-65536)/1024)+55296)+String.fromCharCode((r-65536)%1024+56320)}for(t={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},e={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},n=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],u=new Array(128),i=0;i<128;++i)u[i]=i>=97&&i<=122||i>=65&&i<=90||36===i||95===i;for(a=new Array(128),i=0;i<128;++i)a[i]=i>=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57||36===i||95===i;r.exports={isDecimalDigit:function(r){return 48<=r&&r<=57},isHexDigit:function(r){return 48<=r&&r<=57||97<=r&&r<=102||65<=r&&r<=70},isOctalDigit:function(r){return r>=48&&r<=55},isWhiteSpace:function(r){return 32===r||9===r||11===r||12===r||160===r||r>=5760&&n.indexOf(r)>=0},isLineTerminator:function(r){return 10===r||13===r||8232===r||8233===r},isIdentifierStartES5:function(r){return r<128?u[r]:t.NonAsciiIdentifierStart.test(c(r))},isIdentifierPartES5:function(r){return r<128?a[r]:t.NonAsciiIdentifierPart.test(c(r))},isIdentifierStartES6:function(r){return r<128?u[r]:e.NonAsciiIdentifierStart.test(c(r))},isIdentifierPartES6:function(r){return r<128?a[r]:e.NonAsciiIdentifierPart.test(c(r))}}}()})),ne=e((function(r){!function(){var e=te;function t(r,e){return!(!e&&\"yield\"===r)&&n(r,e)}function n(r,e){if(e&&function(r){switch(r){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(r))return!0;switch(r.length){case 2:return\"if\"===r||\"in\"===r||\"do\"===r;case 3:return\"var\"===r||\"for\"===r||\"new\"===r||\"try\"===r;case 4:return\"this\"===r||\"else\"===r||\"case\"===r||\"void\"===r||\"with\"===r||\"enum\"===r;case 5:return\"while\"===r||\"break\"===r||\"catch\"===r||\"throw\"===r||\"const\"===r||\"yield\"===r||\"class\"===r||\"super\"===r;case 6:return\"return\"===r||\"typeof\"===r||\"delete\"===r||\"switch\"===r||\"export\"===r||\"import\"===r;case 7:return\"default\"===r||\"finally\"===r||\"extends\"===r;case 8:return\"function\"===r||\"continue\"===r||\"debugger\"===r;case 10:return\"instanceof\"===r;default:return!1}}function u(r,e){return\"null\"===r||\"true\"===r||\"false\"===r||t(r,e)}function a(r,e){return\"null\"===r||\"true\"===r||\"false\"===r||n(r,e)}function i(r){var t,n,u;if(0===r.length)return!1;if(u=r.charCodeAt(0),!e.isIdentifierStartES5(u))return!1;for(t=1,n=r.length;t=n)return!1;if(!(56320<=(a=r.charCodeAt(t))&&a<=57343))return!1;u=1024*(u-55296)+(a-56320)+65536}if(!i(u))return!1;i=e.isIdentifierPartES6}return!0}r.exports={isKeywordES5:t,isKeywordES6:n,isReservedWordES5:u,isReservedWordES6:a,isRestrictedWord:function(r){return\"eval\"===r||\"arguments\"===r},isIdentifierNameES5:i,isIdentifierNameES6:c,isIdentifierES5:function(r,e){return i(r)&&!u(r,e)},isIdentifierES6:function(r,e){return c(r)&&!a(r,e)}}}()}));const ue=e((function(r,e){e.ast=ee,e.code=te,e.keyword=ne})).keyword.isIdentifierNameES5,{getLast:ae,hasNewline:ie,hasNewlineInRange:ce,skipWhitespace:fe}=Xr,{locStart:oe,locEnd:se,hasSameLocStart:le}=re,ve=\"(?:(?=.)\\\\s)\",De=new RegExp(\"^\".concat(ve,\"*:\")),pe=new RegExp(\"^\".concat(ve,\"*::\"));function be(r,e){if(!r||\"object\"!=typeof r)return!1;if(Array.isArray(r))return r.some((r=>be(r,e)));const t=e(r);return\"boolean\"==typeof t?t:Object.keys(r).some((t=>be(r[t],e)))}function Fe(r){return\"AssignmentExpression\"===r.type||\"BinaryExpression\"===r.type||\"LogicalExpression\"===r.type||\"NGPipeExpression\"===r.type||\"ConditionalExpression\"===r.type||\"CallExpression\"===r.type||\"OptionalCallExpression\"===r.type||\"MemberExpression\"===r.type||\"OptionalMemberExpression\"===r.type||\"SequenceExpression\"===r.type||\"TaggedTemplateExpression\"===r.type||\"BindExpression\"===r.type||\"UpdateExpression\"===r.type&&!r.prefix||\"TSAsExpression\"===r.type||\"TSNonNullExpression\"===r.type}function me(r){return\"Block\"===r.type||\"CommentBlock\"===r.type||\"MultiLine\"===r.type}const de=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function Ee(r){return r&&de.has(r.type)}function ke(r){return\"BooleanLiteral\"===r.type||\"DirectiveLiteral\"===r.type||\"Literal\"===r.type||\"NullLiteral\"===r.type||\"NumericLiteral\"===r.type||\"BigIntLiteral\"===r.type||\"DecimalLiteral\"===r.type||\"RegExpLiteral\"===r.type||\"StringLiteral\"===r.type||\"TemplateLiteral\"===r.type||\"TSTypeLiteral\"===r.type||\"JSXText\"===r.type}function he(r){return\"NumericLiteral\"===r.type||\"Literal\"===r.type&&\"number\"==typeof r.value}function ye(r){return\"StringLiteral\"===r.type||\"Literal\"===r.type&&\"string\"==typeof r.value}function Ce(r){return\"FunctionExpression\"===r.type||\"ArrowFunctionExpression\"===r.type}function we(r){return!(\"CallExpression\"!==r.type&&\"OptionalCallExpression\"!==r.type||\"Identifier\"!==r.callee.type||\"async\"!==r.callee.name&&\"inject\"!==r.callee.name&&\"fakeAsync\"!==r.callee.name)}function Ae(r){return\"JSXElement\"===r.type||\"JSXFragment\"===r.type}function _e(r){return\"get\"===r.kind||\"set\"===r.kind}function ge(r){return _e(r)||le(r,r.value)}const Be=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]);const Se=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]);const xe=/^(skip|[fx]?(it|describe|test))$/;function Te(r){return\"CallExpression\"===r.type||\"OptionalCallExpression\"===r.type}const Ie=new RegExp(\"([ \\n\\r\\t]+)\"),Ne=new RegExp(\"[^ \\n\\r\\t]\");function Oe(r){return ke(r)&&(Ne.test(Me(r))||!/\\n/.test(Me(r)))}function Le(r,e){if(Ae(e))return $e(e);return e.comments&&e.comments.some((e=>e.leading&&ie(r,se(e))))}function Pe(r){return/^(\\d+|\\d+\\.\\d+)$/.test(r)}function Re(r){return r.quasis.some((r=>r.value.raw.includes(\"\\n\")))}function Me(r){return r.extra?r.extra.raw:r.raw}const je={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},Ue={\"*\":!0,\"/\":!0,\"%\":!0},Xe={\">>\":!0,\">>>\":!0,\"<<\":!0};const Ge={};function Je(r){return Ge[r]}[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].forEach(((r,e)=>{r.forEach((r=>{Ge[r]=e}))}));const qe=new WeakMap;function ze(r){if(qe.has(r))return qe.get(r);const e=[];return r.this&&e.push(r.this),Array.isArray(r.parameters)?e.push(...r.parameters):Array.isArray(r.params)&&e.push(...r.params),r.rest&&e.push(r.rest),qe.set(r,e),e}const We=new WeakMap;function Ve(r){return\"prettier-ignore\"===r.value.trim()}function $e(r){return r&&(r.comments&&r.comments.length>0&&r.comments.some((r=>Ve(r)&&!r.unignore))||r.prettierIgnore)}function Ye(r){return $e(r.getValue())}var He={classChildNeedsASIProtection:function(r){if(r){if(r.static||r.accessibility)return!1;if(!r.computed){const e=r.key&&r.key.name;if(\"in\"===e||\"instanceof\"===e)return!0}switch(r.type){case\"ClassProperty\":case\"FieldDefinition\":case\"TSAbstractClassProperty\":return r.computed;case\"MethodDefinition\":case\"TSAbstractMethodDefinition\":case\"ClassMethod\":case\"ClassPrivateMethod\":{const e=r.value?r.value.async:r.async,t=r.value?r.value.generator:r.generator;return!e&&\"get\"!==r.kind&&\"set\"!==r.kind&&!(!r.computed&&!t)}case\"TSIndexSignature\":return!0;default:return!1}}},classPropMayCauseASIProblems:function(r){const e=r.getNode();if(\"ClassProperty\"!==e.type&&\"FieldDefinition\"!==e.type)return!1;const t=e.key&&e.key.name;return!(\"static\"!==t&&\"get\"!==t&&\"set\"!==t||e.value||e.typeAnnotation)||void 0},getFunctionParameters:ze,iterateFunctionParametersPath:function(r,e){const t=r.getValue();let n=0;const u=r=>e(r,n++);t.this&&r.call(u,\"this\"),Array.isArray(t.parameters)?r.each(u,\"parameters\"):Array.isArray(t.params)&&r.each(u,\"params\"),t.rest&&r.call(u,\"rest\")},getCallArguments:function(r){if(We.has(r))return We.get(r);const e=\"ImportExpression\"===r.type?[r.source]:r.arguments;return We.set(r,e),e},iterateCallArgumentsPath:function(r,e){\"ImportExpression\"===r.getValue().type?r.call((r=>e(r,0)),\"source\"):r.each(e,\"arguments\")},hasRestParameter:function(r){if(r.rest)return!0;const e=ze(r);return e.length>0&&\"RestElement\"===ae(e).type},getLeftSidePathName:function(r,e){if(e.expressions)return[\"expressions\",0];if(e.left)return[\"left\"];if(e.test)return[\"test\"];if(e.object)return[\"object\"];if(e.callee)return[\"callee\"];if(e.tag)return[\"tag\"];if(e.argument)return[\"argument\"];if(e.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(r){const e=r.getParentNode();return\"declaration\"===r.getName()&&Ee(e)?e:null},getTypeScriptMappedTypeModifier:function(r,e){return\"+\"===r?\"+\"+e:\"-\"===r?\"-\"+e:e},hasDanglingComments:function(r){return r.comments&&r.comments.some((r=>!r.leading&&!r.trailing))},hasFlowAnnotationComment:function(r){return r&&me(r[0])&&pe.test(r[0].value)},hasFlowShorthandAnnotationComment:function(r){return r.extra&&r.extra.parenthesized&&r.trailingComments&&me(r.trailingComments[0])&&De.test(r.trailingComments[0].value)},hasLeadingComment:function(r){return r.comments&&r.comments.some((r=>r.leading))},hasLeadingOwnLineComment:Le,hasNakedLeftSide:Fe,hasNewlineBetweenOrAfterDecorators:function(r,e){return ce(e.originalText,oe(r.decorators[0]),se(ae(r.decorators)))||ie(e.originalText,se(ae(r.decorators)))},hasNgSideEffect:function(r){return be(r.getValue(),(r=>{switch(r.type){case void 0:return!1;case\"CallExpression\":case\"OptionalCallExpression\":case\"AssignmentExpression\":return!0}}))},hasNode:be,hasPrettierIgnore:function(r){return Ye(r)||function(r){const e=r.getValue(),t=r.getParentNode();if(!(t&&e&&Ae(e)&&Ae(t)))return!1;let n=null;for(let r=t.children.indexOf(e);r>0;r--){const e=t.children[r-1];if(\"JSXText\"!==e.type||Oe(e)){n=e;break}}return n&&\"JSXExpressionContainer\"===n.type&&\"JSXEmptyExpression\"===n.expression.type&&n.expression.comments&&n.expression.comments.some((r=>Ve(r)))}(r)},hasTrailingComment:function(r){return r.comments&&r.comments.some((r=>r.trailing))},hasTrailingLineComment:function(r){return r.comments&&r.comments.some((r=>r.trailing&&!me(r)))},hasIgnoreComment:Ye,hasNodeIgnoreComment:$e,identity:function(r){return r},isBinaryish:function(r){return Be.has(r.type)},isBlockComment:me,isLineComment:function(r){return\"Line\"===r.type||\"CommentLine\"===r.type||\"SingleLine\"===r.type||\"HashbangComment\"===r.type||\"HTMLOpen\"===r.type||\"HTMLClose\"===r.type},isPrettierIgnoreComment:Ve,isCallOrOptionalCallExpression:Te,isEmptyJSXElement:function(r){if(0===r.children.length)return!0;if(r.children.length>1)return!1;const e=r.children[0];return ke(e)&&!Oe(e)},isExportDeclaration:Ee,isFlowAnnotationComment:function(r,e){const t=oe(e),n=fe(r,se(e));return!1!==n&&\"/*\"===r.slice(t,t+2)&&\"*/\"===r.slice(n,n+2)},isFunctionCompositionArgs:function(r){if(r.length<=1)return!1;let e=0;for(const t of r)if(Ce(t)){if(e+=1,e>1)return!0}else if(Te(t))for(const r of t.arguments)if(Ce(r))return!0;return!1},isFunctionNotation:ge,isFunctionOrArrowExpression:Ce,isGetterOrSetter:_e,isJestEachTemplateLiteral:function(r,e){const t=/^[fx]?(describe|it|test)$/;return\"TaggedTemplateExpression\"===e.type&&e.quasi===r&&\"MemberExpression\"===e.tag.type&&\"Identifier\"===e.tag.property.type&&\"each\"===e.tag.property.name&&(\"Identifier\"===e.tag.object.type&&t.test(e.tag.object.name)||\"MemberExpression\"===e.tag.object.type&&\"Identifier\"===e.tag.object.property.type&&(\"only\"===e.tag.object.property.name||\"skip\"===e.tag.object.property.name)&&\"Identifier\"===e.tag.object.object.type&&t.test(e.tag.object.object.name))},isJSXNode:Ae,isJSXWhitespaceExpression:function(r){return\"JSXExpressionContainer\"===r.type&&ke(r.expression)&&\" \"===r.expression.value&&!r.expression.comments},isLastStatement:function(r){const e=r.getParentNode();if(!e)return!0;const t=r.getValue(),n=(e.body||e.consequent).filter((r=>\"EmptyStatement\"!==r.type));return n[n.length-1]===t},isLiteral:ke,isLongCurriedCallExpression:function(r){const e=r.getValue(),t=r.getParentNode();return Te(e)&&Te(t)&&t.callee===e&&e.arguments.length>t.arguments.length&&t.arguments.length>0},isSimpleCallArgument:function r(e,t){if(t>=2)return!1;const n=e=>r(e,t+1),u=\"Literal\"===e.type&&\"regex\"in e&&e.regex.pattern||\"RegExpLiteral\"===e.type&&e.pattern;return!(u&&u.length>5)&&(\"Literal\"===e.type||\"BigIntLiteral\"===e.type||\"DecimalLiteral\"===e.type||\"BooleanLiteral\"===e.type||\"NullLiteral\"===e.type||\"NumericLiteral\"===e.type||\"RegExpLiteral\"===e.type||\"StringLiteral\"===e.type||\"Identifier\"===e.type||\"ThisExpression\"===e.type||\"Super\"===e.type||\"PrivateName\"===e.type||\"ArgumentPlaceholder\"===e.type||\"Import\"===e.type||(\"TemplateLiteral\"===e.type?e.expressions.every(n):\"ObjectExpression\"===e.type?e.properties.every((r=>!r.computed&&(r.shorthand||r.value&&n(r.value)))):\"ArrayExpression\"===e.type?e.elements.every((r=>null===r||n(r))):\"ImportExpression\"===e.type?n(e.source):\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type||\"NewExpression\"===e.type?r(e.callee,t)&&e.arguments.every(n):\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type?r(e.object,t)&&r(e.property,t):\"UnaryExpression\"!==e.type||\"!\"!==e.operator&&\"-\"!==e.operator?\"TSNonNullExpression\"===e.type&&r(e.expression,t):r(e.argument,t)))},isMeaningfulJSXText:Oe,isMemberExpressionChain:function r(e){return(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type)&&(\"Identifier\"===e.object.type||r(e.object))},isMemberish:function(r){return\"MemberExpression\"===r.type||\"OptionalMemberExpression\"===r.type||\"BindExpression\"===r.type&&Boolean(r.object)},isNgForOf:function(r,e,t){return\"NGMicrosyntaxKeyedExpression\"===r.type&&\"of\"===r.key.name&&1===e&&\"NGMicrosyntaxLet\"===t.body[0].type&&null===t.body[0].value},isNumericLiteral:he,isObjectType:function(r){return\"ObjectTypeAnnotation\"===r.type||\"TSTypeLiteral\"===r.type},isObjectTypePropertyAFunction:function(r){return!(\"ObjectTypeProperty\"!==r.type&&\"ObjectTypeInternalSlot\"!==r.type||\"FunctionTypeAnnotation\"!==r.value.type||r.static||ge(r))},isSimpleType:function(r){return!!r&&(!(\"GenericTypeAnnotation\"!==r.type&&\"TSTypeReference\"!==r.type||r.typeParameters)||!!Se.has(r.type))},isSimpleNumber:Pe,isSimpleTemplateLiteral:function(r){let e=\"expressions\";\"TSTemplateLiteralType\"===r.type&&(e=\"types\");const t=r[e];return 0!==t.length&&t.every((r=>{if(r.comments)return!1;if(\"Identifier\"===r.type||\"ThisExpression\"===r.type)return!0;if(\"MemberExpression\"===r.type||\"OptionalMemberExpression\"===r.type){let e=r;for(;\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type;){if(\"Identifier\"!==e.property.type&&\"Literal\"!==e.property.type&&\"StringLiteral\"!==e.property.type&&\"NumericLiteral\"!==e.property.type)return!1;if(e=e.object,e.comments)return!1}return\"Identifier\"===e.type||\"ThisExpression\"===e.type}return!1}))},isStringLiteral:ye,isStringPropSafeToUnquote:function(r,e){return\"json\"!==e.parser&&ye(r.key)&&Me(r.key).slice(1,-1)===r.key.value&&(ue(r.key.value)&&!((\"typescript\"===e.parser||\"babel-ts\"===e.parser)&&\"ClassProperty\"===r.type)||Pe(r.key.value)&&String(Number(r.key.value))===r.key.value&&(\"babel\"===e.parser||\"espree\"===e.parser||\"meriyah\"===e.parser))},isTemplateOnItsOwnLine:function(r,e){return(\"TemplateLiteral\"===r.type&&Re(r)||\"TaggedTemplateExpression\"===r.type&&Re(r.quasi))&&!ie(e,oe(r),{backwards:!0})},isTestCall:function r(e,t){if(\"CallExpression\"!==e.type)return!1;if(1===e.arguments.length){if(we(e)&&t&&r(t))return Ce(e.arguments[0]);if(\"Identifier\"===(n=e).callee.type&&/^(before|after)(Each|All)$/.test(n.callee.name)&&1===n.arguments.length)return we(e.arguments[0])}else if((2===e.arguments.length||3===e.arguments.length)&&(\"Identifier\"===e.callee.type&&xe.test(e.callee.name)||function(r){return(\"MemberExpression\"===r.callee.type||\"OptionalMemberExpression\"===r.callee.type)&&\"Identifier\"===r.callee.object.type&&\"Identifier\"===r.callee.property.type&&xe.test(r.callee.object.name)&&(\"only\"===r.callee.property.name||\"skip\"===r.callee.property.name)}(e))&&(function(r){return\"TemplateLiteral\"===r.type}(e.arguments[0])||ye(e.arguments[0])))return!(e.arguments[2]&&!he(e.arguments[2]))&&((2===e.arguments.length?Ce(e.arguments[1]):function(r){return\"FunctionExpression\"===r.type||\"ArrowFunctionExpression\"===r.type&&\"BlockStatement\"===r.body.type}(e.arguments[1])&&ze(e.arguments[1]).length<=1)||we(e.arguments[1]));var n;return!1},isTheOnlyJSXElementInMarkdown:function(r,e){if(\"markdown\"!==r.parentParser&&\"mdx\"!==r.parentParser)return!1;const t=e.getNode();if(!t.expression||!Ae(t.expression))return!1;const n=e.getParentNode();return\"Program\"===n.type&&1===n.body.length},isTSXFile:function(r){return r.filepath&&/\\.tsx$/i.test(r.filepath)},isTypeAnnotationAFunction:function(r){return!(\"TypeAnnotation\"!==r.type&&\"TSTypeAnnotation\"!==r.type||\"FunctionTypeAnnotation\"!==r.typeAnnotation.type||r.static||le(r,r.typeAnnotation))},matchJsxWhitespaceRegex:Ie,needsHardlineAfterDanglingComment:function(r){if(!r.comments)return!1;const e=ae(r.comments.filter((r=>!r.leading&&!r.trailing)));return e&&!me(e)},rawText:Me,returnArgumentHasLeadingComment:function(r,e){if(Le(r.originalText,e))return!0;if(Fe(e)){let n,u=e;for(;n=(t=u).expressions?t.expressions[0]:t.left||t.test||t.callee||t.object||t.tag||t.argument||t.expression;)if(u=n,Le(r.originalText,u))return!0}var t;return!1},shouldPrintComma:function(r,e=\"es5\"){return\"es5\"===r.trailingComma&&\"es5\"===e||\"all\"===r.trailingComma&&(\"all\"===e||\"es5\"===e)},isBitwiseOperator:function(r){return!!Xe[r]||\"|\"===r||\"^\"===r||\"&\"===r},shouldFlatten:function(r,e){return Je(e)===Je(r)&&(\"**\"!==r&&((!je[r]||!je[e])&&(!(\"%\"===e&&Ue[r]||\"%\"===r&&Ue[e])&&((e===r||!Ue[e]||!Ue[r])&&(!Xe[r]||!Xe[e])))))},startsWithNoLookaheadToken:function r(e,t){switch((e=function(r){for(;r.left;)r=r.left;return r}(e)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return t;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return r(e.object,t);case\"TaggedTemplateExpression\":return\"FunctionExpression\"!==e.tag.type&&r(e.tag,t);case\"CallExpression\":case\"OptionalCallExpression\":return\"FunctionExpression\"!==e.callee.type&&r(e.callee,t);case\"ConditionalExpression\":return r(e.test,t);case\"UpdateExpression\":return!e.prefix&&r(e.argument,t);case\"BindExpression\":return e.object&&r(e.object,t);case\"SequenceExpression\":return r(e.expressions[0],t);case\"TSAsExpression\":return r(e.expression,t);default:return!1}},getPrecedence:Je};const{getLast:Ke,hasNewline:Qe,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ze,getNextNonSpaceNonCommentCharacter:rt,hasNewlineInRange:et,addLeadingComment:tt,addTrailingComment:nt,addDanglingComment:ut,getNextNonSpaceNonCommentCharacterIndex:at}=Xr,{isBlockComment:it,getFunctionParameters:ct,isPrettierIgnoreComment:ft,isJSXNode:ot,hasFlowShorthandAnnotationComment:st,hasFlowAnnotationComment:lt,hasIgnoreComment:vt}=He,{locStart:Dt,locEnd:pt}=re;function bt(r,e){const t=(r.body||r.properties).find((({type:r})=>\"EmptyStatement\"!==r));t?tt(t,e):ut(r,e)}function Ft(r,e){\"BlockStatement\"===r.type?bt(r,e):tt(r,e)}function mt(r,e){const{precedingNode:t,enclosingNode:n,followingNode:u}=r;if(!n||\"IfStatement\"!==n.type||!u)return!1;return\")\"===rt(e,r,pt)?(nt(t,r),!0):t===n.consequent&&u===n.alternate?(\"BlockStatement\"===t.type?nt(t,r):ut(n,r),!0):\"BlockStatement\"===u.type?(bt(u,r),!0):\"IfStatement\"===u.type?(Ft(u.consequent,r),!0):n.consequent===u&&(tt(u,r),!0)}function dt(r,e){const{precedingNode:t,enclosingNode:n,followingNode:u}=r;if(!n||\"WhileStatement\"!==n.type||!u)return!1;return\")\"===rt(e,r,pt)?(nt(t,r),!0):\"BlockStatement\"===u.type?(bt(u,r),!0):n.body===u&&(tt(u,r),!0)}function Et(r){const{precedingNode:e,enclosingNode:t,followingNode:n}=r;return!(!t||\"TryStatement\"!==t.type&&\"CatchClause\"!==t.type||!n)&&(\"CatchClause\"===t.type&&e?(nt(e,r),!0):\"BlockStatement\"===n.type?(bt(n,r),!0):\"TryStatement\"===n.type?(Ft(n.finalizer,r),!0):\"CatchClause\"===n.type&&(Ft(n.body,r),!0))}function kt(r){const{precedingNode:e,enclosingNode:t,followingNode:n}=r;if(t&&(\"ClassDeclaration\"===t.type||\"ClassExpression\"===t.type||\"DeclareClass\"===t.type||\"DeclareInterface\"===t.type||\"InterfaceDeclaration\"===t.type||\"TSInterfaceDeclaration\"===t.type)){if(t.decorators&&t.decorators.length>0&&(!n||\"Decorator\"!==n.type))return nt(t.decorators[t.decorators.length-1],r),!0;if(t.body&&n===t.body)return bt(t.body,r),!0;if(n)for(const u of[\"implements\",\"extends\",\"mixins\"])if(t[u]&&n===t[u][0])return!e||e!==t.id&&e!==t.typeParameters&&e!==t.superClass?ut(t,r,u):nt(e,r),!0}return!1}function ht(r,e){const{precedingNode:t,enclosingNode:n}=r;return(n&&t&&(\"Property\"===n.type||\"TSDeclareMethod\"===n.type||\"TSAbstractMethodDefinition\"===n.type)&&\"Identifier\"===t.type&&n.key===t&&\":\"!==rt(e,t,pt)||!(!t||!n||\"Decorator\"!==t.type||\"ClassMethod\"!==n.type&&\"ClassProperty\"!==n.type&&\"FieldDefinition\"!==n.type&&\"TSAbstractClassProperty\"!==n.type&&\"TSAbstractMethodDefinition\"!==n.type&&\"TSDeclareMethod\"!==n.type&&\"MethodDefinition\"!==n.type))&&(nt(t,r),!0)}function yt(r,e){const{precedingNode:t,enclosingNode:n,followingNode:u}=r;if(t&&\"FunctionTypeParam\"===t.type&&n&&\"FunctionTypeAnnotation\"===n.type&&u&&\"FunctionTypeParam\"!==u.type)return nt(t,r),!0;if(t&&(\"Identifier\"===t.type||\"AssignmentPattern\"===t.type)&&n&>(n)&&\")\"===rt(e,r,pt))return nt(t,r),!0;if(n&&\"FunctionDeclaration\"===n.type&&u&&\"BlockStatement\"===u.type){const t=(()=>{const r=ct(n);if(0!==r.length)return Ze(e,pt(Ke(r)));const t=Ze(e,pt(n.id));return!1!==t&&Ze(e,t+1)})();if(Dt(r)>t)return bt(u,r),!0}return!1}function Ct(r){const{enclosingNode:e}=r;return!(!e||\"ImportSpecifier\"!==e.type)&&(tt(e,r),!0)}function wt(r){const{enclosingNode:e}=r;return!(!e||\"LabeledStatement\"!==e.type)&&(tt(e,r),!0)}function At(r,e,t){const{enclosingNode:n}=r;return e&&e.body&&0===e.body.length?(t?ut(e,r):tt(e,r),!0):!(!n||\"Program\"!==n.type||0!==n.body.length||!n.directives||0!==n.directives.length)&&(t?ut(n,r):tt(n,r),!0)}function _t(r){const{enclosingNode:e,followingNode:t}=r;if(ft(r)&&e&&\"TSMappedType\"===e.type&&t&&\"TSTypeParameter\"===t.type&&t.constraint)return e.prettierIgnore=!0,r.unignore=!0,!0}function gt(r){return\"ArrowFunctionExpression\"===r.type||\"FunctionExpression\"===r.type||\"FunctionDeclaration\"===r.type||\"ObjectMethod\"===r.type||\"ClassMethod\"===r.type||\"TSDeclareFunction\"===r.type||\"TSCallSignatureDeclaration\"===r.type||\"TSConstructSignatureDeclaration\"===r.type||\"TSMethodSignature\"===r.type||\"TSConstructorType\"===r.type||\"TSFunctionType\"===r.type||\"TSDeclareMethod\"===r.type}function Bt(r){return it(r)&&\"*\"===r.value[0]&&/@type\\b/.test(r.value)}var St={handleOwnLineComment:function(r,e,t,n,u){return _t(r)||yt(r,e)||function(r){const{enclosingNode:e,followingNode:t}=r;if(e&&(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type)&&t&&\"Identifier\"===t.type)return tt(e,r),!0;return!1}(r)||mt(r,e)||dt(r,e)||Et(r)||kt(r)||Ct(r)||function(r){const{enclosingNode:e}=r;if(e&&(\"ForInStatement\"===e.type||\"ForOfStatement\"===e.type))return tt(e,r),!0;return!1}(r)||function(r){const{precedingNode:e,enclosingNode:t,followingNode:n}=r;if(t&&(\"UnionTypeAnnotation\"===t.type||\"TSUnionType\"===t.type))return ft(r)&&(n.prettierIgnore=!0,r.unignore=!0),!!e&&(nt(e,r),!0);n&&(\"UnionTypeAnnotation\"===n.type||\"TSUnionType\"===n.type)&&ft(r)&&(n.types[0].prettierIgnore=!0,r.unignore=!0);return!1}(r)||At(r,n,u)||function(r,e){const{precedingNode:t,enclosingNode:n}=r;if(t&&\"ImportSpecifier\"===t.type&&n&&\"ImportDeclaration\"===n.type&&Qe(e,pt(r)))return nt(t,r),!0;return!1}(r,e)||function(r){const{enclosingNode:e}=r;if(e&&\"AssignmentPattern\"===e.type)return tt(e,r),!0;return!1}(r)||ht(r,e)||wt(r)},handleEndOfLineComment:function(r,e,t,n,u){return function(r){const{followingNode:e}=r;if(e&&Bt(r))return tt(e,r),!0;return!1}(r)||yt(r,e)||function(r,e){const{precedingNode:t,enclosingNode:n,followingNode:u}=r,a=t&&!et(e,pt(t),Dt(r));if((!t||!a)&&n&&(\"ConditionalExpression\"===n.type||\"TSConditionalType\"===n.type)&&u)return tt(u,r),!0;return!1}(r,e)||Ct(r)||mt(r,e)||dt(r,e)||Et(r)||kt(r)||wt(r)||function(r){const{precedingNode:e,enclosingNode:t}=r;if(t&&(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type)&&e&&t.callee===e&&t.arguments.length>0)return tt(t.arguments[0],r),!0;return!1}(r)||function(r){const{enclosingNode:e}=r;if(e&&(\"Property\"===e.type||\"ObjectProperty\"===e.type))return tt(e,r),!0;return!1}(r)||At(r,n,u)||function(r){const{enclosingNode:e}=r;if(e&&\"TypeAlias\"===e.type)return tt(e,r),!0;return!1}(r)||function(r){const{enclosingNode:e,followingNode:t}=r;if(e&&(\"VariableDeclarator\"===e.type||\"AssignmentExpression\"===e.type)&&t&&(\"ObjectExpression\"===t.type||\"ArrayExpression\"===t.type||\"TemplateLiteral\"===t.type||\"TaggedTemplateExpression\"===t.type||it(r)))return tt(t,r),!0;return!1}(r)},handleRemainingComment:function(r,e,t,n,u){return!!(_t(r)||mt(r,e)||dt(r,e)||function(r){const{precedingNode:e,enclosingNode:t}=r;if(t&&(\"ObjectProperty\"===t.type||\"Property\"===t.type)&&t.shorthand&&t.key===e&&\"AssignmentPattern\"===t.value.type)return nt(t.value.left,r),!0;return!1}(r)||function(r,e){if(\")\"!==rt(e,r,pt))return!1;const{enclosingNode:t}=r;if(t&&(gt(t)&&0===ct(t).length||(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type||\"NewExpression\"===t.type)&&0===t.arguments.length))return ut(t,r),!0;if(t&&\"MethodDefinition\"===t.type&&0===ct(t.value).length)return ut(t.value,r),!0;return!1}(r,e)||ht(r,e)||At(r,n,u)||function(r,e){const{enclosingNode:t}=r;if(!t||\"ArrowFunctionExpression\"!==t.type)return!1;const n=at(e,r,pt);if(!1!==n&&\"=>\"===e.slice(n,n+2))return ut(t,r),!0;return!1}(r,e)||function(r,e){if(\"(\"!==rt(e,r,pt))return!1;const{precedingNode:t,enclosingNode:n}=r;if(t&&n&&(\"FunctionDeclaration\"===n.type||\"FunctionExpression\"===n.type||\"ClassMethod\"===n.type||\"MethodDefinition\"===n.type||\"ObjectMethod\"===n.type))return nt(t,r),!0;return!1}(r,e)||function(r){const{precedingNode:e,enclosingNode:t,followingNode:n}=r;if(!t||\"TSMappedType\"!==t.type)return!1;if(n&&\"TSTypeParameter\"===n.type&&n.name)return tt(n.name,r),!0;if(e&&\"TSTypeParameter\"===e.type&&e.constraint)return nt(e.constraint,r),!0;return!1}(r)||function(r){const{enclosingNode:e}=r;if(e&&(\"ContinueStatement\"===e.type||\"BreakStatement\"===e.type)&&!e.label)return nt(e,r),!0;return!1}(r)||function(r,e){const{enclosingNode:t,followingNode:n}=r;if(!n&&t&&(\"TSMethodSignature\"===t.type||\"TSDeclareFunction\"===t.type||\"TSAbstractMethodDefinition\"===t.type)&&\";\"===rt(e,r,pt))return nt(t,r),!0;return!1}(r,e))},hasLeadingComment:function(r,e=(()=>!0)){return r.leadingComments?r.leadingComments.some(e):!!r.comments&&r.comments.some((r=>r.leading&&e(r)))},isTypeCastComment:Bt,getGapRegex:function(r){if(r&&\"BinaryExpression\"!==r.type&&\"LogicalExpression\"!==r.type)return/^[\\s&(|]*$/},getCommentChildNodes:function(r,e){if((\"typescript\"===e.parser||\"flow\"===e.parser||\"espree\"===e.parser||\"meriyah\"===e.parser)&&\"MethodDefinition\"===r.type&&r.value&&\"FunctionExpression\"===r.value.type&&0===ct(r.value).length&&!r.value.returnType&&(!r.value.typeParameters||0===r.value.typeParameters.length)&&r.value.body)return[...r.decorators||[],r.key,r.value.body]},willPrintOwnComments:function(r){const e=r.getValue(),t=r.getParentNode();return(e&&(ot(e)||st(e)||t&&(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type)&&(lt(e.leadingComments)||lt(e.trailingComments)))||t&&(\"JSXSpreadAttribute\"===t.type||\"JSXSpreadChild\"===t.type||\"UnionTypeAnnotation\"===t.type||\"TSUnionType\"===t.type||(\"ClassDeclaration\"===t.type||\"ClassExpression\"===t.type)&&t.superClass===e))&&(!vt(r)||\"UnionTypeAnnotation\"===t.type||\"TSUnionType\"===t.type)}};const{getLast:xt,getNextNonSpaceNonCommentCharacter:Tt,getShebang:It}=Xr,{composeLoc:Nt,locStart:Ot,locEnd:Lt}=re,{isTypeCastComment:Pt}=St;function Rt(r){return\"CallExpression\"===r.type?(r.type=\"OptionalCallExpression\",r.callee=Rt(r.callee)):\"MemberExpression\"===r.type?(r.type=\"OptionalMemberExpression\",r.object=Rt(r.object)):\"TSNonNullExpression\"===r.type&&(r.expression=Rt(r.expression)),r}function Mt(r,e){let t;if(Array.isArray(r))t=r.entries();else{if(!r||\"object\"!=typeof r||\"string\"!=typeof r.type)return r;t=Object.entries(r)}for(const[n,u]of t)r[n]=Mt(u,e);return Array.isArray(r)?r:e(r)||r}function jt(r){return\"LogicalExpression\"===r.type&&\"LogicalExpression\"===r.right.type&&r.operator===r.right.operator}function Ut(r){return jt(r)?Ut({type:\"LogicalExpression\",operator:r.operator,left:Ut({type:\"LogicalExpression\",operator:r.operator,left:r.left,right:r.right.left,range:Nt(r.left,r.right.left)}),right:r.right.right,range:Nt(r)}):r}var Xt=function(e,t){if(\"typescript\"!==t.parser&&\"flow\"!==t.parser&&\"espree\"!==t.parser||function(r,e){const t=It(e.originalText);t&&r.comments.unshift({type:\"Line\",value:t.slice(2),range:[0,t.length]})}(e,t),\"typescript\"===t.parser&&t.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:n,tsNodeToESTreeNodeMap:u}=t.tsParseResult;e=Mt(e,(e=>{const t=n.get(e);if(!t)return;const a=t.decorators;if(!Array.isArray(a))return;const i=u.get(t);if(i!==e)return;const c=i.decorators;if(!Array.isArray(c)||c.length!==a.length||a.some((r=>{const e=u.get(r);return!e||!c.includes(e)}))){const{start:e,end:t}=i.loc;throw r(\"Leading decorators must be attached to a class declaration\",{start:{line:e.line,column:e.column+1},end:{line:t.line,column:t.column+1}})}}))}if(\"typescript\"!==t.parser&&\"flow\"!==t.parser&&\"espree\"!==t.parser&&\"meriyah\"!==t.parser){const r=new Set;e=Mt(e,(e=>{e.leadingComments&&e.leadingComments.some(Pt)&&r.add(Ot(e))})),e=Mt(e,(e=>{if(\"ParenthesizedExpression\"===e.type){const{expression:t}=e;if(\"TypeCastExpression\"===t.type)return t.range=e.range,t;const n=Ot(e);if(!r.has(n))return t.extra=Object.assign({},t.extra,{parenthesized:!0}),t}}))}return e=Mt(e,(r=>{switch(r.type){case\"ChainExpression\":return Rt(r.expression);case\"LogicalExpression\":if(jt(r))return Ut(r);break;case\"VariableDeclaration\":{const e=xt(r.declarations);e&&e.init&&function(r,e){if(\";\"===t.originalText[Lt(e)])return;r.range=Nt(r,e)}(r,e);break}case\"TSParenthesizedType\":return r.typeAnnotation.range=Nt(r),r.typeAnnotation;case\"TSUnionType\":case\"TSIntersectionType\":if(1===r.types.length){const[e]=r.types;return e.range=Nt(r),e}break;case\"TSTypeParameter\":\"string\"==typeof r.name&&(r.name={type:\"Identifier\",name:r.name,range:Nt(r,r.name.length)});break;case\"SequenceExpression\":{const e=xt(r.expressions);Lt(r)>Lt(e)&&(r.range=Nt(r,e));break}case\"ClassProperty\":r.key&&\"TSPrivateIdentifier\"===r.key.type&&\"?\"===Tt(t.originalText,r.key,Lt)&&(r.optional=!0)}}))};const Gt=()=>!1,Jt=()=>\"\";var qt={existsSync:Gt,readFileSync:Jt},zt=Object.freeze({__proto__:null,existsSync:Gt,readFileSync:Jt,default:qt}),Wt=Object.freeze({__proto__:null,default:{}}),Vt=t(zt),$t=t(Wt),Yt=e((function(r,e){!function(r){var t=\"member_property_expression\",n=8483,u=12538,a=\"??\",i=\"children\",c=\"predicate_expression\",f=\"Identifier\",o=68107,s=64311,l=192,v=71369,D=11710,p=43597,b=110947,F=67591,m=\"directive\",d=121504,E=69871,k=12347,h=126553,y=\"block\",C=68096,w=\"params\",A=93071,_=72767,g=122,B=\"for_statement\",S=128,x=70873,T=\"start\",I=43867,N=\"_method\",O=70414,L=\">\",P=\"catch_body\",R=120121,M=\"the end of an expression statement (`;`)\",j=126558,U=\"jsx_fragment\",X=69733,G=42527,J=\"decorators\",q=82943,z=71039,W=8472,V=\"update\",$=43205,Y=12783,H=12438,K=12352,Q=8511,Z=120713,rr=\"method\",er=8191,tr=\"function_param\",nr=67871,ur=\"throw\",ar=\"class_extends\",ir=43470,cr=11507,fr=71903,or=65437,sr=70840,lr=119995,vr=43311,Dr=\"jsx_child\",pr=67637,br=68116,Fr=66204,mr=65470,dr=67391,Er=11631,kr=66729,hr=69956,yr=\"tparams\",Cr=66735,wr=42623,Ar=43697,_r=64217,gr=\"Invalid binary/octal \",Br=70399,Sr=42864,xr=120487,Tr=73110,Ir=43255,Nr=\"do\",Or=43301,Lr=\"binding_pattern\",Pr=72759,Rr=110878,Mr=\"package\",jr=72750,Ur=\"interface_declaration\",Xr=119892,Gr=\"tail\",Jr=111,qr=8417,zr=119807,Wr=65613,Vr=\"type\",$r=68159,Yr=55215,Hr=\"export_default_declaration_decl\",Kr=72970,Qr=70416,Zr=72881,re=43451,ee=\"function_this_param\",te=\"module\",ne=\"try\",ue=70143,ae=125183,ie=70412,ce=\"@])\",fe=\"binary\",oe=\"infinity\",se=\"private\",le=65500,ve=\"has_unknown_members\",De=\"pattern_array_rest_element\",pe=\"Property\",be=65343,Fe=\"implements\",me=12548,de=\"if_alternate_statement\",Ee=43395,ke=\"src/parser/type_parser.ml\",he=126552,ye=66915,Ce=120712,we=126555,Ae=68326,_e=120596,ge=\"raw\",Be=112,Se=126624,xe=\"statement\",Te=\"meta_property\",Ie=71235,Ne=44002,Oe=8467,Le=8318,Pe=\"class_property_value\",Re=8203,Me=69816,je=\"optional_call\",Ue=43761,Xe=\"kind\",Ge=71230,Je=\"class_identifier\",qe=69955,ze=68220,We=66378,Ve=110,$e=123583,Ye=120512,He=119154,Ke=\"declare\",Qe=71228,Ze=11742,rt=70831,et=\"catch_clause\",tt=8468,nt=72886,ut=121343,at=\"for_in_assignment_pattern\",it=\"object_\",ct=70499,ft=43262,ot=\"mixins\",st=\"visit_trailing_comment\",lt=\"type_param\",vt=72147,Dt=69758,pt=71839,bt=\"expected *\",Ft=\"boolean\",mt=\"call\",dt=43010,Et=\"expression\",kt=\"column\",ht=43258,yt=43595,Ct=191456,wt=117,At=43754,_t=126544,gt=8416,Bt=\"Assert_failure\",St=66517,xt=42863,Tt=\"enum_number_member\",It=\"a string\",Nt=119993,Ot=43394,Lt=65855,Pt=\"opaque\",Rt=870530776,Mt=72880,jt=67711,Ut=\"enum_symbol_body\",Xt=\"filter\",Gt=126560,Jt=43615,qt=\"get\",zt=64316,Wt=122917,Yt=\"exported\",Ht=71099,Kt=\"return\",Qt=70516,Zt=\"members\",rn=64279,en=67829,tn=\"src/parser/expression_parser.ml\",nn=\"(global)\",un=\"Enum `\",an=\"object_property\",cn=67589,fn=\"pattern_object_property\",on=127343600,sn=\"template_literal_element\",ln=70452,vn=\"class_element\",Dn=71131,pn=120137,bn=94098,Fn=72349,mn=\"function_identifier\",dn=126543,En=43487,kn=\"@[<2>{ \",hn=72849,yn=70393,Cn=72191,wn=65908,An=120513,_n=92909,gn=70195,Bn=\"bound\",Sn=8399,xn=43566,Tn=120070,In=\"update_expression\",Nn=\"enum_number_body\",On=69941,Ln=123631,Pn=\"spread_element\",Rn=70401,Mn=64319,jn=12703,Un=11687,Xn=\"@,))@]\",Gn=\"%d\",Jn=42239,qn=\"type_cast\",zn=42508,Wn=71735,Vn=43643,$n=\"class_implements_interface\",Yn=67640,Hn=605857695,Kn=\"handler\",Qn=66207,Zn=11558,ru=113775,eu=113,tu=126540,nu=\"collect_comments\",uu=\"set\",au=\"assignment_pattern\",iu=\"right\",cu=94087,fu=72751,ou=\"object_key_identifier\",su=120133,lu=\"Invalid number \",vu=8580,Du=68023,pu=43798,bu=12539,Fu=100,mu=\"pattern_literal\",du=\"generic_type\",Eu=\"Lookahead.peek failed\",ku=93017,hu=42890,yu=43766,Cu=42783,wu=\"else\",Au=70851,_u=\"the start of a statement\",gu=113820,Bu=\"properties\",Su=94094,xu=71481,Tu=43696,Iu=70474,Nu=\"declare_function\",Ou=120597,Lu=110959,Pu=\"object_indexer_property_type\",Ru=70492,Mu=173782,ju=43042,Uu=107,Xu=\"arguments\",Gu=\"comments\",Ju=67431,qu=\"line\",zu=\"pattern_identifier\",Wu=\"declaration\",Vu=\"static\",$u=72883,Yu=69958,Hu=68100,Ku=72783,Qu=11310,Zu=43814,ra=\"annot\",ea=119179,ta=65786,na=66303,ua=64967,aa=64255,ia=8584,ca=71350,fa=120655,oa=\"Stack_overflow\",sa=43700,la=\"syntax_opt\",va=68921,Da=\"comprehension\",pa=65295,ba=\"Not_found\",Fa=68680,ma=64324,da=72966,Ea=-1053382366,ka=\"rest\",ha=\"pattern_array_element\",ya=65595,Ca=\"pattern_array_e\",wa=122916,Aa=43711,_a=69926,ga=\"symbol\",Ba=42725,Sa=70092,xa=43741,Ta=\"typeParameters\",Ia=\"const\",Na=72847,Oa=12341,La=66271,Pa=\"false\",Ra=71104,Ma=106,ja=120076,Ua=128,Xa=125124,Ga=73460,Ja=11743,qa=67593,za=44031,Wa=43449,Va=92927,$a=68095,Ya=42945,Ha=8231,Ka=121519,Qa=43453,Za=\"object_key_computed\",ri=\"labeled_statement\",ei=\"function_param_pattern\",ti=65481,ni=43442,ui=\"collect_comments_opt\",ai=126590,ii=\"_\",ci=\"variable_declarator\",fi=67967,oi=\"computed\",si=\"object_property_type\",li=126562,vi=114,Di=\"comment_bounds\",pi=\"id\",bi=70853,Fi=42237,mi=\"class_private_field\",di=72329,Ei=43001,ki=8412,hi=\"Invalid_argument\",yi=113770,Ci=120092,wi=\"declare_class\",Ai=94031,_i=67839,gi=43570,Bi=72250,Si=92879,xi=\"prototype\",Ti=8287,Ii=70370,Ni=\"`.\",Oi=65344,Li=12542,Pi=123641,Ri=42950,Mi=\"Internal Error: Found private field in object props\",ji=\"sequence\",Ui=\"debugger\",Xi=\"call_type_args\",Gi=12348,Ji=68863,qi=70084,zi=\"label\",Wi=70193,Vi=-45,$i=\"jsx_opening_attribute\",Yi=119364,Hi=43583,Ki=\"%F\",Qi=43784,Zi=\"call_arguments\",rc=113791,ec=126503,tc=43743,nc=917999,uc=\"0\",ac=93007,ic=119967,cc=44012,fc=42621,oc=126538,sc=\"new_\",lc=449540197,vc=68466,Dc=64109,pc=177983,bc=248,Fc=\"@,]@]\",mc=\"program\",dc=68031,Ec=\"type_\",kc=\"function_type\",hc=67382,yc=8484,Cc=8205,wc=42537,Ac=73022,_c=66559,gc=65074,Bc=11775,Sc=71236,xc=64274,Tc=120069,Ic=72105,Nc=126570,Oc=\"object\",Lc=\"for_of_statement\",Pc=\"break\",Rc=43047,Mc=43695,jc=70501,Uc=126551,Xc=126520,Gc=70477,Jc=66045,qc=66499,zc=1024,Wc=43018,Vc=73103,$c=71471,Yc=126522,Hc=119140,Kc=\"function_declaration\",Qc=73064,Zc=92728,rf=73105,ef=70418,tf=\"await\",nf=68119,uf=\"function_rest_param\",af=73119,cf=42653,ff=11703,of=\"left\",sf=70449,lf=\"declare_type_alias\",vf=16777215,Df=121475,pf=70302,bf=119142,Ff=55242,mf=70470,df=126583,Ef=124927,kf=72959,hf=65497,yf=\"Invalid legacy octal \",Cf=\"typeof\",wf=\"explicit_type\",Af=\"statement_list\",_f=65495,gf=\"class_method\",Bf=119994,Sf=71935,xf=67861,Tf=8526,If=69762,Nf=\"enum\",Of=2147483647,Lf=119170,Pf=11702,Rf=\"in\",Mf=67638,jf=\"super\",Uf=126504,Xf=8304,Gf=\"import_specifier\",Jf=177972,qf=68324,zf=67646,Wf=\"expression_or_spread\",Vf=43792,$f=74879,Yf=-82,Hf=43260,Kf=\"internal\",Qf=93052,Zf=125258,ro=65574,eo=224,to=\"instanceof\",no=69599,uo=44007,ao=43560,io=\"function_expression\",co=223,fo=121476,oo=72242,so=11498,lo=126467,vo=73112,Do=44008,po=70107,bo=13311,Fo=\"jsx_children\",mo=126548,Eo=63743,ko=43471,ho=113822,yo=122887,Co=\"jsx_expression\",wo=69864,Ao=126591,_o=126578,go=12592,Bo=\"type_params\",So=119148,xo=8420,To=126537,Io=123627,No=\"{ \",Oo=\"jsx_spread_attribute\",Lo=70161,Po=70468,Ro=\"@,\",Mo=42606,jo=126500,Uo=\"number_literal_type\",Xo=\"label_identifier\",Go=72884,Jo=42999,qo=64310,zo=-594953737,Wo=\"hasUnknownMembers\",Vo=92982,$o=\"array\",Yo=65615,Ho=\"enum_string_member\",Ko=\"void\",Qo=65135,Zo=\")\",rs=\"let\",es=70002,ts=70735,ns=70271,us=\"nan\",as=\"@[%s =@ \",is=194559,cs=42735,fs=\"/\",os=\"for_in_statement_lhs\",ss=68154,ls=43503,vs=8516,Ds=65381,ps=\"TypeParameterInstantiation\",bs=83526,Fs=71339,ms=\"number\",ds=70286,Es=12447,ks=72160,hs=43493,ys=70487,Cs=70280,ws=\"function\",As=70162,_s=255,gs=67702,Bs=66771,Ss=42895,xs=121452,Ts=8432,Is=40959,Ns=\"unreachable\",Os=70312,Ls=\"End_of_file\",Ps=93759,Rs=8494,Ms=43709,js=\"new\",Us=\"Failure\",Xs=\"local\",Gs=\"with\",Js=8489,qs=\"enum_declaration\",zs=121460,Ws=\"member\",Vs=70457,$s=64325,Ys=8488,Hs=70448,Ks=69967,Qs=126535,Zs=71934,rl=65312,el=43135,tl=12446,nl=\"import_named_specifier\",ul=126619,al=44025,il=70196,cl=\"type_annotation\",fl=8188,ol=65071,sl=131071,ll=120770,vl=12440,Dl=\"with_\",pl=\"statement_fork_point\",bl=\"finalizer\",Fl=71133,ml=12320,dl=\"elements\",El=\"literal\",kl=68607,hl=8507,yl=122913,Cl=\"each\",wl=\"Sys_error\",Al=\"bigint_literal_type\",_l=69818,gl=11727,Bl=64829,Sl=120538,xl=\"type_alias\",Tl=\"member_private_name\",Il=126556,Nl=\"tagged_template\",Ol=\"pattern_object_property_literal_key\",Ll=72192,Pl=67826,Rl=44013,Ml=70745,jl=72153,Ul=66511,Xl=43249,Gl=11646,Jl=\"None\",ql=\"int_of_string\",zl=\"FunctionTypeParam\",Wl=\"name\",Vl=70285,$l=103,Yl=12288,Hl=120744,Kl=\"intersection_type\",Ql=11679,Zl=11559,rv=71295,ev=70205,tv=\"callee\",nv=70018,uv=11567,av=\"predicate\",iv=\"expression_statement\",cv=\"regexp\",fv=44011,ov=123209,sv=65479,lv=11389,vv=43568,Dv=\"optional\",pv=-602162310,bv=\"@]\",Fv=92777,mv=120003,dv=72249,Ev=\"Unexpected \",kv=73008,hv=\"finally\",yv=\"toplevel_statement_list\",Cv=178207,wv=65055,Av=70301,_v=72161,gv=70460,Bv=12799,Sv=\"loc\",xv=65535,Tv=69375,Iv=43518,Nv=65487,Ov=\"while_\",Lv=44004,Pv=183983,Rv=-673950933,Mv=42559,jv=121398,Uv=\"jsx_name\",Xv=55291,Gv=71452,Jv=70078,qv=8239,zv=-253313196,Wv=\"mixed\",Vv=70403,$v=67827,Yv=11734,Hv=101106,Kv=68287,Qv=119976,Zv=72151,rD=73129,eD=73102,tD=73017,nD=\" =\",uD=888960333,aD=\"tuple_type\",iD=126602,cD=73111,fD=70726,oD=126529,sD=\"object_property_value_type\",lD=\"%a\",vD=69423,DD=120831,pD=120781,bD=11695,FD=11711,mD=12294,dD=67583,ED=122879,kD=126584,hD=72703,yD=68295,CD=\"prefix\",wD=43871,AD=69415,_D=11492,gD=\"class\",BD=12333,SD=65575,xD=42894,TD=\"continue\",ID=119145,ND=65663,OD=68120,LD=782176664,PD=120779,RD=71247,MD=71086,jD=19967,UD=70849,XD=8486,GD=\" \",JD=66863,qD=\"RestElement\",zD=\"Undefined_recursive_module\",WD=126634,VD=74751,$D=66377,YD=43334,HD=43481,KD=66815,QD=11311,ZD=\"typeAnnotation\",rp=120126,ep=69743,tp=\"array_element\",np=64285,up=\"Set.bal\",ap=8578,ip=8543,cp=\"()\",fp=\"declare_module\",op=122886,sp=\">>>=\",lp=68029,vp=\"importKind\",Dp=\"extends\",pp=72345,bp=64296,Fp=43259,mp=71679,dp=64913,Ep=119969,kp=94175,hp=72440,yp=65141,Cp=43071,wp=\"function_\",Ap=65391,_p=44010,gp=42888,Bp=69807,Sp=\"variance\",xp=123,Tp=12730,Ip=\"import_default_specifier\",Np=43764,Op=\"pattern\",Lp=70655,Pp=70464,Rp=\"consequent\",Mp=68447,jp=65473,Up=\"call_type_arg\",Xp=8238,Gp=73019,Jp=121498,qp=68899,zp=93026,Wp=44015,Vp=\"@[<2>[\",$p=\"comment\",Yp=65439,Hp=\"switch_case\",Kp=\"do_while\",Qp=43215,Zp=\"constructor\",rb=43586,eb=43587,tb=\"yield\",nb=-61,ub=\"target\",ab=72272,ib=\"var\",cb=70108,fb=\"impltype\",ob=\"0o\",sb=119972,lb=92991,vb=43391,Db=70441,pb=8450,bb=72278,Fb=120074,mb=43044,db=66717,Eb=\"interface_type\",kb=\"%B\",hb=70472,yb=122914,Cb=111355,wb=5760,Ab=11630,_b=126499,gb=40943,Bb=108,Sb=120629,xb=\"Popping lex mode from empty stack\",Tb=65103,Ib=42611,Nb=195101,Ob=42607,Lb=126539,Pb=\"([^/]*)\",Rb=126502,Mb=125135,jb=\"template_literal\",Ub=68903,Xb=\"src/parser/statement_parser.ml\",Gb=72758,Jb=11519,qb=11387,zb=\"Out_of_memory\",Wb=12287,Vb=120570,$b=72164,Yb=126534,Hb=65076,Kb=44005,Qb=\"index out of bounds\",Zb=73029,rF=72873,eF=\"))\",tF=\"for_statement_init\",nF=126571,uF=\"supertype\",aF=\"class_property\",iF=92916,cF=\"this\",fF=\"}\",oF=71095,sF=\"declare_module_exports\",lF=\"union_type\",vF=65535,DF=94032,pF=42124,bF=\"this_expression\",FF=\"jsx_element\",mF=65019,dF=125251,EF=64111,kF=\"typeArguments\",hF=8254,yF=8471,CF=70497,wF=71359,AF=8202,_F=\"EnumDefaultedMember\",gF=\"switch\",BF=69634,SF=\"unary_expression\",xF=71215,TF=126,IF=65597,NF=67679,OF=120686,LF=72163,PF=-983660142,RF=70197,MF=64262,jF=124,UF=65279,XF=126495,GF=69456,JF=65342,qF=\"alternate\",zF=92975,WF=65489,VF=125142,$F=67807,YF=43187,HF=\"export\",KF=68850,QF=66383,ZF=\".\",rm=\"type_args\",em=72155,tm=70508,nm=92159,um=72283,am=43644,im=42737,cm=116,fm=75075,om=70279,sm=65338,lm=\"function_params\",vm=126627,Dm=73065,pm=72872,bm=43762,Fm=119970,mm=71352,dm=68158,Em=12295,km=70005,hm=120771,ym=11557,Cm=42191,wm=\"flags\",Am=70088,_m=68437,gm=66368,Bm=\"pattern_object_p\",Sm=70730,xm=42785,Tm=\"nullable_type\",Im=\"value\",Nm=12343,Om=\"%.12g\",Lm=71089,Pm=68415,Rm=11694,Mm=69887,jm=917759,Um=11726,Xm=\"syntax\",Gm=119964,Jm=68497,qm=73097,zm=126523,Wm=\"null\",Vm=120084,$m=126601,Ym=8454,Hm=\"expressions\",Km=72144,Qm=\"(@[\",Zm=12448,rd=121503,ed=68786,td=\"<\",nd=43443,ud=\"an identifier\",ad=43309,id=68799,cd=\"leadingComments\",fd=72969,od=100351,sd=42231,ld=\"enum_defaulted_member\",vd=69839,Dd=94026,pd=70724,bd=12336,Fd=73018,md=42605,dd=\"empty\",Ed=331416730,kd=123199,hd=70479,yd=43123,Cd=43494,wd=8319,Ad=12591,_d=12335,gd=125,Bd=92735,Sd=\"cases\",xd=70199,Td=183969,Id=71455,Nd=\"bigint\",Od=\"Division_by_zero\",Ld=67071,Pd=12329,Rd=43609,Md=120004,jd=69414,Ud=\"if\",Xd=126519,Gd=\"immediately within another function.\",Jd=55238,qd=12346,zd=126498,Wd=73031,Vd=8504,$d=69940,Yd=66256,Hd=\"@ }@]\",Kd=73106,Qd=72765,Zd=118,rE=11565,eE=120122,tE=74862,nE=68099,uE=\"'\",aE=\"pattern_object_rest_property\",iE=-26065557,cE=119,fE=\"assignment\",oE=42943,sE=104,lE=8457,vE=\"from\",DE=64321,pE=113817,bE=65629,FE=43765,mE=70378,dE=42655,EE=102,kE=43137,hE=11502,yE=\";@ \",CE=101,wE=\"pattern_array_element_pattern\",AE=\"body\",_E=\"jsx_member_expression\",gE=65547,BE=\"jsx_attribute_value\",SE=72967,xE=126550,TE=\"jsx_namespaced_name\",IE=43807,NE=43738,OE=126589,LE=8455,PE=126628,RE=11670,ME=120134,jE=\"conditional\",UE=119965,XE=43599,GE=69890,JE=72817,qE=43822,zE=43638,WE=93047,VE=64322,$E=\"AssignmentPattern\",YE=123190,HE=72383,KE=\"object_spread_property_type\",QE=113663,ZE=70783,rk=42622,ek=43823,tk=70367,nk=\"init\",uk=71461,ak=109,ik=66503,ck=\"proto\",fk=74649,ok=\"optional_member\",sk=40981,lk=120654,vk=\"@ \",Dk=\"enum_boolean_body\",pk=119361,bk=73108,Fk=\"export_named_specifier\",mk=123183,dk=\"declare_interface\",Ek=120539,kk=70451,hk=64317,yk=\"pattern_object_property_computed_key\",Ck=12543,wk=\"export_named_declaration_specifier\",Ak=43359,_k=43967,gk=113800,Bk=126530,Sk=72713,xk=72103,Tk=70278,Ik=\"if_consequent_statement\",Nk=8275,Ok=126496,Lk=\"try_catch\",Pk=\"computed_key\",Rk=\"class_\",Mk=173823,jk=\"pattern_object_property_identifier_key\",Uk=71913,Xk=8485,Gk=\"arrow_function\",Jk=68151,qk=126546,zk=\"enum_boolean_member\",Wk=94177,Vk=\"delete\",$k=\"blocks\",Yk=\"pattern_array_rest_element_pattern\",Hk=78894,Kk=69881,Qk=66512,Zk=94111,rh=\"test\",eh=\"string\",th=71467,nh=66463,uh=66335,ah=43263,ih=73061,ch=72348,fh=\":\",oh=\"function_this_param_type\",sh=77823,lh=\"minus\",vh=119980,Dh=\"private_name\",ph=72263,bh=\"object_key\",Fh=\"function_param_type\",mh=11718,dh=\"as\",Eh=\"delegate\",kh=\"true\",hh=119213,yh=71232,Ch=67413,wh=73439,Ah=70854,_h=120628,gh=43776,Bh=43513,Sh=71723,xh=11505,Th=120127,Ih=73039,Nh=\"Map.bal\",Oh=\"any\",Lh=126559,Ph=43596,Rh=\"import\",Mh=70404,jh=\"jsx_spread_child\",Uh=67897,Xh=8233,Gh=119974,Jh=68405,qh=66639,zh=\"attributes\",Wh=\"object_internal_slot_property_type\",Vh=43225,$h=71351,Yh=71349,Hh=70383,Kh=67643,Qh=\"shorthand\",Zh=\"for_in_statement\",ry=126463,ey=71338,ty=69702,ny=92767,uy=69445,ay=65370,iy=73055,cy=73021,fy=64911,oy=\"pattern_object_property_pattern\",sy=70206,ly=126579,vy=72343,Dy=64286,py=94030,by=\"explicitType\",Fy=67669,my=43866,dy=\"Sys_blocked_io\",Ey=71093,ky=123197,hy=\"catch\",yy=64466,Cy=70463,wy=65140,Ay=73030,_y=69404,gy=66272,By=\"protected\",Sy=43631,xy=120571,Ty=\"array_type\",Iy=43713,Ny=\"export_default_declaration\",Oy=\"quasi\",Ly=\"%S\",Py=126515,Ry=120485,My=8525,jy=43519,Uy=125263,Xy=120745,Gy=94178,Jy=71229,qy=126588,zy=127,Wy=19893,Vy=66855,$y=\"visit_leading_comment\",Yy=67742,Hy=120144,Ky=43632,Qy=\"returnType\",Zy=240,rC=-744106340,eC=\"-\",tC=68911,nC=8469,uC=\"async\",aC=126521,iC=72095,cC=\" : file already exists\",fC=70725,oC=65039,sC=178205,lC=8449,vC=94179,DC=42774,pC=\"case\",bC=66431,FC=\"targs\",mC=\"declare_export_declaration\",dC=43013,EC=64284,kC=43815,hC=\"function_body_any\",yC=120687,CC=\"public\",wC=70003,AC=68115,_C=125273,gC=65598,BC=72262,SC=43712,xC=126547,TC=70095,IC=110591,NC=\"interface\",OC=-46,LC=\"string_literal_type\",PC=\"import_namespace_specifier\",RC=120132,MC=68102,jC=11735,UC=70751,XC=119893,GC=\"bool\",JC=\"default\",qC=\"\",zC=\"exportKind\",WC=\"trailingComments\",VC=\"^\",$C=8348,YC=65594,HC=\"logical\",KC=\"cooked\",QC=\"argument\",ZC=63,rw=72202,ew=12442,tw=120085,nw=43645,uw=70749,aw=42539,iw=126468,cw=\"Match_failure\",fw=68191,ow=\"src/parser/flow_ast.ml\",sw=72280,lw=43572,vw=71102,Dw=11647,pw=\"declare_variable\",bw=\"+\",Fw=71127,mw=43740,dw=120145,Ew=64318,kw=\"declare_export_declaration_decl\",hw=43755,yw=\"class_implements\",Cw=\"inexact\",ww=119172,Aw=\"a\",_w=73062,gw=8493,Bw=65100,Sw=70863,xw=65278,Tw=\"function_rest_param_type\",Iw=-696510241,Nw=70066,Ow=43714,Lw=70480,Pw=113788,Rw=94207,Mw=\"class_body\",jw=126651,Uw=119996,Xw=70719,Gw=68735,Jw=43456,qw=43273,zw=119209,Ww=67644,Vw=\"boolean_literal_type\",$w=\"catch_clause_pattern\",Yw=126554,Hw=126536,Kw=113807,Qw=126557,Zw=43046,rA=\"property\",eA=123213,tA=\"for_of_assignment_pattern\",nA=\"if_statement\",uA=66421,aA=8505,iA=\"Literal\",cA=100343,fA=71257,oA=42887,sA=115,lA=43574,vA=126566,DA=93823,pA=66719,bA=\"opaque_type\",FA=\"jsx_attribute\",mA=\"type_annotation_hint\",dA=92911,EA=73727,kA=72871,hA=\"range\",yA=\"jsError\",CA=70458,wA=70006,AA=71726,_A=43492,gA=\"@]}\",BA=\"(Some \",SA=43345,xA=43231,TA=8477,IA=11359,NA=121461,OA=126564,LA=126514,PA=70080,RA=\"generic_identifier_type\",MA=71738,jA=66811,UA=8256,XA=43759,GA=65007,JA=\"pattern_object_rest_property_pattern\",qA=70319,zA=66461,WA=11719,VA=72271,$A=-48,YA=70461,HA=\"export_named_declaration\",KA=\"enum_string_body\",QA=110930,ZA=73014,r_=70440,e_=\"while\",t_=\"camlinternalFormat.ml\",n_=43782,u_=11263,a_=11358,i_=1114111,c_=73462,f_=70750,o_=70105,s_=\"jsx_identifier\",l_=71101,v_=43014,D_=11564,p_=\"typeof_type\",b_=64847,F_=92995,m_=71226,d_=71167,E_=42511,k_=72712,h_=121,y_=43704,C_=12293,w_=\"object_call_property_type\",A_=64433,__=\"operator\",g_=68296,B_=\"class_decorator\",S_=120,x_=\"for_of_statement_lhs\",T_=11623,I_=110927,N_=70708,O_=512,L_=71423,P_=93951,R_=12292,M_=\"object_type\",j_=\"types\",U_=69951,X_=8286,G_=126633,J_=12686,q_=73049,z_=72793,W_=\"0x\",V_=70855,$_=70511,Y_=70366,H_=65276,K_=\"variable_declaration\",Q_=43203,Z_=119981,rg=69814,eg=43887,tg=105,ng=122922,ug=8335,ag=70187,ig=70190,cg=69631,fg=\"source\",og=\"pattern_object_property_key\",sg=70842,lg=65548,vg=66175,Dg=92766,pg=\"pattern_assignment_pattern\",bg=42998,Fg=8305,mg=\"generator\",dg=\"for\",Eg=121402,kg=-36,hg=68223,yg=66044,Cg=43757,wg=122906,Ag=43790,_g=11686,gg=\"jsx_closing_element\",Bg=69687,Sg=72162,xg=66348,Tg=43388,Ig=72768,Ng=68351,Og=\"<2>\",Lg=70015,Pg=64297,Rg=125259,Mg=\",@ \",jg=42651,Ug=70486,Xg=70281,Gg=66426,Jg=43347,qg=68149,zg=68111,Wg=\"member_property_identifier\",Vg=71450,$g=72254,Yg=43009,Hg=\"member_property\",Kg=73458,Qg=\"identifier\",Zg=67423,rB=40980,eB=66775,tB=110951,nB=\"Internal Error: Found object private prop\",uB=8276,aB=\"super_expression\",iB=\"jsx_opening_element\",cB=\"variable_declarator_pattern\",fB=\"pattern_expression\",oB=68252,sB=-835925911,lB=\"import_declaration\",vB=55203,DB=\"key\",pB=126563,bB=43702,FB=\"spread_property\",mB=863850040,dB=70106,EB=67592,kB=123214,hB=68479,yB=43879,CB=65305,wB=43019,AB=123180,_B=69622,gB=8487,BB=\"specifiers\",SB=\"function_body\",xB=43641,TB=\"Unexpected token `\",IB=122904,NB=123135,OB=120093,LB=119162,PB=65023,RB=8521,MB=43642;function jB(r,e){throw[0,r,e]}var UB=[0];function XB(r,e){if(\"function\"==typeof e)return r.fun=e,0;if(e.fun)return r.fun=e.fun,0;for(var t=e.length;t--;)r[t]=e[t];return 0}function GB(r,e,t){for(var n=new Array(t),u=0;u=t.l||2==t.t&&u>=t.c.length))t.c=4==r.t?JB(r.c,e,u):0==e&&r.c.length==u?r.c:r.c.substr(e,u),t.t=t.c.length==t.l?0:2;else if(2==t.t&&n==t.c.length)t.c+=4==r.t?JB(r.c,e,u):0==e&&r.c.length==u?r.c:r.c.substr(e,u),t.t=t.c.length==t.l?0:2;else{4!=t.t&&qB(t);var a=r.c,i=t.c;if(4==r.t)if(n<=e)for(var c=0;c=0;c--)i[n+c]=a[e+c];else{var f=Math.min(u,a.length-e);for(c=0;c>=1))return t;e+=e,9==++n&&e.slice(0,1)}}function $B(r){2==r.t?r.c+=VB(r.l-r.c.length,\"\\0\"):r.c=JB(r.c,0,r.c.length),r.t=0}function YB(r){if(r.length<24){for(var e=0;ezy)return!1;return!0}return!/[^\\x00-\\x7f]/.test(r)}function HB(r){switch(r.t){case 9:return r.c;default:$B(r);case 0:if(YB(r.c))return r.t=9,r.c;r.t=8;case 8:return function(r){for(var e,t,n,u,a=qC,i=qC,c=0,f=r.length;cO_?(i.substr(0,1),a+=i,i=qC,a+=r.slice(c,o)):i+=r.slice(c,o),o==f)break;c=o}u=1,++c=55295&&u<57344)&&(u=2):(u=3,++c1114111)&&(u=3))))),u<4?(c-=u,i+=\"\\ufffd\"):i+=u>vF?String.fromCharCode(55232+(u>>10),56320+(1023&u)):String.fromCharCode(u),i.length>zc&&(i.substr(0,1),a+=i,i=qC)}return a+i}(r.c)}}function KB(r,e,t){this.t=r,this.c=e,this.l=t}function QB(r){return new KB(0,r,r.length)}function ZB(r,e){jB(r,QB(e))}function rS(r){ZB(UB.Invalid_argument,r)}function eS(){rS(Qb)}function tS(r,e,t){if(t&=255,4!=r.t){if(e==r.c.length)return r.c+=String.fromCharCode(t),e+1==r.l&&(r.t=0),0;qB(r)}return r.c[e]=t,0}function nS(r,e,t){return e>>>0>=r.l&&eS(),tS(r,e,t)}function uS(r,e){switch(6&r.t){default:if(e>=r.c.length)return 0;case 0:return r.c.charCodeAt(e);case 4:return r.c[e]}}function aS(r,e){if(r.fun)return aS(r.fun,e);var t=r.length,n=e.length,u=t-n;return 0==u?r.apply(null,e):u<0?aS(r.apply(null,GB(e,0,t)),GB(e,t,n-t)):function(t){return aS(r,function(r,e){for(var t=r.length,n=new Array(t+1),u=0;u>>0>=r.length-1&&rS(Qb),r}function cS(r,e){var t=r[3]<<16,n=e[3]<<16;return t>n?1:te[2]?1:r[2]e[1]?1:r[1]e.c?1:0}function sS(r,e,t){for(var n=[];;){if(!t||r!==e)if(r instanceof KB){if(!(e instanceof KB))return 1;if(r!==e&&0!=(i=oS(r,e)))return i}else if(r instanceof Array&&r[0]===(0|r[0])){var u=r[0];if(254===u&&(u=0),250===u){r=r[1];continue}if(!(e instanceof Array&&e[0]===(0|e[0])))return 1;var a=e[0];if(254===a&&(a=0),250===a){e=e[1];continue}if(u!=a)return u1&&n.push(r,e,1)}}else{if(e instanceof KB||e instanceof Array&&e[0]===(0|e[0]))return-1;if(\"number\"!=typeof r&&r&&r.compare){var c=r.compare(e,t);if(0!=c)return c}else if(\"function\"==typeof r)rS(\"compare: functional value\");else{if(re)return 1;if(r!=e){if(!t)return NaN;if(r==r)return 1;if(e==e)return-1}}}if(0==n.length)return 0;var f=n.pop();e=n.pop(),f+1<(r=n.pop()).length&&n.push(r,e,f+1),r=r[f],e=e[f]}}function lS(r,e){return sS(r,e,!0)}function vS(r){return r<0&&rS(\"Bytes.create\"),new KB(r?2:9,qC,r)}function DS(r,e){return+(0==sS(r,e,!1))}function pS(r){ZB(UB.Failure,r)}function bS(r){return 0!=(6&r.t)&&$B(r),r.c}function FS(r){var e;if(e=+(r=bS(r)),r.length>0&&e==e)return e;if(e=+(r=r.replace(/_/g,qC)),r.length>0&&e==e||/^[+-]?nan$/i.test(r))return e;var t=/^ *([+-]?)0x([0-9a-f]+)\\.?([0-9a-f]*)p([+-]?[0-9]+)/i.exec(r);if(t){var n=t[3].replace(/0+$/,qC),u=parseInt(t[1]+t[2]+n,16),a=(0|t[4])-4*n.length;return e=u*Math.pow(2,a)}return/^\\+?inf(inity)?$/i.test(r)?1/0:/^-inf(inity)?$/i.test(r)?-1/0:void pS(\"float_of_string\")}function mS(r){var e=(r=bS(r)).length;e>31&&rS(\"format_int: format too long\");for(var t={justify:bw,signstyle:eC,filler:GD,alternate:!1,base:0,signedconv:!1,width:0,uppercase:!1,sign:1,prec:-1,conv:\"f\"},n=0;n=0&&u<=9;)t.width=10*t.width+u,n++;n--;break;case\".\":for(t.prec=0,n++;(u=r.charCodeAt(n)-48)>=0&&u<=9;)t.prec=10*t.prec+u,n++;n--;case\"d\":case\"i\":t.signedconv=!0;case\"u\":t.base=10;break;case\"x\":t.base=16;break;case\"X\":t.base=16,t.uppercase=!0;break;case\"o\":t.base=8;break;case\"e\":case\"f\":case\"g\":t.signedconv=!0,t.conv=u;break;case\"E\":case\"F\":case\"G\":t.signedconv=!0,t.uppercase=!0,t.conv=u.toLowerCase()}}return t}function dS(r,e){r.uppercase&&(e=e.toUpperCase());var t=e.length;r.signedconv&&(r.sign<0||r.signstyle!=eC)&&t++,r.alternate&&(8==r.base&&(t+=1),16==r.base&&(t+=2));var n=qC;if(r.justify==bw&&r.filler==GD)for(var u=t;u=1e21||e.toFixed(0).length>n){for(a=i-1;u.charAt(a)==uc;)a--;u.charAt(a)==ZF&&a--,a=(u=u.slice(0,a+1)+u.slice(i)).length,\"e\"==u.charAt(a-3)&&(u=u.slice(0,a-1)+uc+u.slice(a-1));break}var f=n;if(c<0)f-=c+1,u=e.toFixed(f);else for(;(u=e.toFixed(f)).length>n+1;)f--;if(f){for(a=u.length-1;u.charAt(a)==uc;)a--;u.charAt(a)==ZF&&a--,u=u.slice(0,a+1)}}else u=\"inf\",t.filler=GD;return dS(t,u)}function kS(r,e){if(bS(r)==Gn)return QB(qC+e);var t=mS(r);e<0&&(t.signedconv?(t.sign=-1,e=-e):e>>>=0);var n=e.toString(t.base);if(t.prec>=0){t.filler=GD;var u=t.prec-n.length;u>0&&(n=VB(u,uc)+n)}return dS(t,n)}KB.prototype.toString=function(){return HB(this)},KB.prototype.slice=function(){var r=4==this.t?this.c.slice():this.c;return new KB(this.t,r,this.l)};var hS=0;function yS(){return hS++}var CS=[];function wS(r,e,t){var n=r[1],u=CS[t];if(null===u)for(var a=CS.length;a>1|1)+1]?f=i-2:c=i;return CS[t]=c+1,e==n[c+1]?n[c]:0}function AS(r,e){return+(sS(r,e,!1)>=0)}function _S(r){var e=9;return YB(r)||(e=8,r=function(r){for(var e,t,n=qC,u=n,a=0,i=r.length;aO_?(u.substr(0,1),n+=u,u=qC,n+=r.slice(a,c)):u+=r.slice(a,c),c==i)break;a=c}e<2048?(u+=String.fromCharCode(192|e>>6),u+=String.fromCharCode(Ua|e&ZC)):e<55296||e>=57343?u+=String.fromCharCode(224|e>>12,Ua|e>>6&ZC,Ua|e&ZC):e>=56319||a+1==i||(t=r.charCodeAt(a+1))<56320||t>57343?u+=\"\\xef\\xbf\\xbd\":(a++,e=(e<<10)+t-56613888,u+=String.fromCharCode(240|e>>18,Ua|e>>12&ZC,Ua|e>>6&ZC,Ua|e&ZC)),u.length>zc&&(u.substr(0,1),n+=u,u=qC)}return n+u}(r)),new KB(e,r,r.length)}function gS(r){return 0==(r[3]|r[2]|r[1])}function BS(r){return[_s,r&vf,r>>24&vf,r>>31&vF]}function SS(r){for(var e=r.length,t=new Array(e),n=0;n>24),u=r[3]-e[3]+(n>>24);return[_s,t&vf,n&vf,u&vF]}function TS(r,e){return r[3]>e[3]?1:r[3]e[2]?1:r[2]e[1]?1:r[1]>23,r[2]=(r[2]<<1|r[1]>>23)&vf,r[1]=r[1]<<1&vf}function NS(r){r[1]=(r[1]>>>1|r[2]<<23)&vf,r[2]=(r[2]>>>1|r[3]<<23)&vf,r[3]=r[3]>>>1}function OS(r,e){for(var t=0,n=SS(r),u=SS(e),a=[_s,0,0,0];TS(n,u)>0;)t++,IS(u);for(;t>=0;)t--,IS(a),TS(n,u)>=0&&(a[1]++,n=xS(n,u)),NS(u);return[0,a,n]}function LS(r){return r[1]|r[2]<<24}function PS(r){var e=-r[1],t=-r[2]+(e>>24),n=-r[3]+(t>>24);return[_s,e&vf,t&vf,n&vF]}function RS(r){return r.l}function MS(r,e){switch(6&r.t){default:if(e>=r.c.length)return 0;case 0:return r.c.charCodeAt(e);case 4:return r.c[e]}}function jS(r,e){var t=r[1]+e[1],n=r[2]+e[2]+(t>>24),u=r[3]+e[3]+(n>>24);return[_s,t&vf,n&vf,u&vF]}var US=Math.pow(2,-24);function XS(r,e){var t=r[1]*e[1],n=(t*US|0)+r[2]*e[1]+r[1]*e[2],u=(n*US|0)+r[3]*e[1]+r[2]*e[2]+r[1]*e[3];return[_s,t&vf,n&vf,u&vF]}function GS(r,e){return TS(r,e)<0}function JS(r){var e=0,t=RS(r),n=10,u=1;if(t>0)switch(MS(r,e)){case 45:e++,u=-1;break;case 43:e++,u=1}if(e+1=48&&r<=57?r-48:r>=65&&r<=90?r-55:r>=97&&r<=g?r-87:-1}function zS(r){var e=JS(r),t=e[0],n=e[1],u=e[2],a=BS(u),i=OS([_s,vf,268435455,vF],a)[1],c=MS(r,t),f=qS(c);(f<0||f>=u)&&pS(ql);for(var o=BS(f);;)if(95!=(c=MS(r,++t))){if((f=qS(c))<0||f>=u)break;GS(i,o)&&pS(ql),f=BS(f),GS(o=jS(XS(a,o),f),f)&&pS(ql)}return t!=RS(r)&&pS(ql),10==e[2]&&GS([_s,0,0,32768],o)&&pS(ql),n<0&&(o=PS(o)),o}function WS(r){return(r[3]<<16)*Math.pow(2,32)+r[2]*Math.pow(2,24)+r[1]}function VS(r){var e=JS(r),t=e[0],n=e[1],u=e[2],a=RS(r),i=t=u)&&pS(ql);var f=c;for(t++;t=u)break;(f=u*f+c)>4294967295&&pS(ql)}return t!=a&&pS(ql),f*=n,10==u&&(0|f)!=f&&pS(ql),0|f}function $S(r){return GB(r,1,r.length-1)}function YS(r){return!!r}function HS(r){return r.toString()}function KS(r){for(var e={},t=1;t=u){var a=vS(r+n),i=this.data;this.data=a,zB(i,0,this.data,0,u)}return zB(e,t,this.data,r,n),0},ax.prototype.read=function(r,e,t,n){this.length();return zB(this.data,r,e,t,n),0},ax.prototype.read_one=function(r){return function(r,e){return e>>>0>=r.l&&eS(),uS(r,e)}(this.data,r)},ax.prototype.close=function(){},ax.prototype.constructor=ax,ix.prototype.nm=function(r){return this.root+r},ix.prototype.lookup=function(r){if(!this.content[r]&&this.lookupFun){var e=this.lookupFun(QB(this.root),QB(r));0!==e&&(this.content[r]=new ax(e[1]))}},ix.prototype.exists=function(r){if(r==qC)return 1;var e=new RegExp(VC+(r+fs));for(var t in this.content)if(t.match(e))return 1;return this.lookup(r),this.content[r]?1:0},ix.prototype.readdir=function(r){var e=new RegExp(VC+(r==qC?qC:r+fs)+Pb),t={},n=[];for(var u in this.content){var a=u.match(e);a&&!t[a[1]]&&(t[a[1]]=!0,n.push(a[1]))}return n},ix.prototype.is_dir=function(r){var e=new RegExp(VC+(r==qC?qC:r+fs)+Pb);for(var t in this.content){if(t.match(e))return 1}return 0},ix.prototype.unlink=function(r){var e=!!this.content[r];return delete this.content[r],e},ix.prototype.open=function(r,e){if(e.rdonly&&e.wronly&&rx(this.nm(r)+\" : flags Open_rdonly and Open_wronly are not compatible\"),e.text&&e.binary&&rx(this.nm(r)+\" : flags Open_text and Open_binary are not compatible\"),this.lookup(r),this.content[r]){this.is_dir(r)&&rx(this.nm(r)+\" : is a directory\"),e.create&&e.excl&&rx(this.nm(r)+cC);var t=this.content[r];return e.truncate&&t.truncate(),t}if(e.create)return this.content[r]=new ax(vS(0)),this.content[r];!function(r){rx((r=r instanceof KB?r.toString():r)+\": No such file or directory\")}(this.nm(r))},ix.prototype.register=function(r,e){if(this.content[r]&&rx(this.nm(r)+cC),e instanceof KB)this.content[r]=new ax(e);else if(e instanceof Array)this.content[r]=new ax(function(r){return new KB(4,r,r.length)}(e));else if(e.toString){var t=QB(e.toString());this.content[r]=new ax(t)}},ix.prototype.constructor=ix;var fx=r.Buffer;function ox(r){this.fs=Vt,this.fd=r}function sx(r){this.fs=Vt,this.root=r}ox.prototype=new ux,ox.prototype.truncate=function(r){this.fs.ftruncateSync(this.fd,0|r)},ox.prototype.length=function(){return this.fs.fstatSync(this.fd).size},ox.prototype.write=function(e,t,n,u){var a=cx(t);a instanceof r.Uint8Array||(a=new r.Uint8Array(a));var i=fx.from(a);return this.fs.writeSync(this.fd,i,n,u,e),0},ox.prototype.read=function(e,t,n,u){var a=cx(t);a instanceof r.Uint8Array||(a=new r.Uint8Array(a));var i=fx.from(a);this.fs.readSync(this.fd,i,n,u,e);for(var c=0;cUB.fd_last_idx)&&(UB.fd_last_idx=r),r}function vx(r){var e=UB.fds[r];e.flags.rdonly&&rx(\"fd \"+r+\" is readonly\");var t={file:e.file,offset:e.offset,fd:r,opened:!0,out:!0,buffer:qC};return ex[t.fd]=t,t.fd}function Dx(r,e,t,n){return function(r,e,t,n){var u,a=ex[r];a.opened||rx(\"Cannot output to a closed channel\"),0==t&&ZS(e)==n?u=e:zB(e,t,u=vS(n),0,n);var i=bS(u),c=i.lastIndexOf(\"\\n\");return c<0?a.buffer+=i:(a.buffer+=i.substr(0,c+1),tx(r),a.buffer+=i.substr(c+1)),0}(r,e,t,n)}function px(r,e){return+(0!=sS(r,e,!1))}function bx(r,e){var t=new Array(e+1);t[0]=r;for(var n=1;n<=e;n++)t[n]=0;return t}function Fx(r){return r instanceof Array?r[0]:r instanceof KB?252:1e3}function mx(e,t,n){n&&r.toplevelReloc&&(e=r.toplevelReloc(n)),UB[e+1]=t,n&&(UB[n]=t)}void 0!==r.process&&void 0!==r.process.versions&&r.process.versions.node,lx(0,(function(r,e){var t=ex[r],n=QB(e),u=RS(n);return t.file.write(t.offset,n,0,u),t.offset+=u,0}),new ax(vS(0))),lx(1,(function(e){var t=r;if(t.process&&t.process.stdout&&t.process.stdout.write)t.process.stdout.write(e);else{10==e.charCodeAt(e.length-1)&&(e=e.substr(0,e.length-1));var n=t.console;n&&n.log&&n.log(e)}}),new ax(vS(0))),lx(2,(function(e){var t=r;if(t.process&&t.process.stdout&&t.process.stdout.write)t.process.stderr.write(e);else{10==e.charCodeAt(e.length-1)&&(e=e.substr(0,e.length-1));var n=t.console;n&&n.error&&n.error(e)}}),new ax(vS(0)));var dx={};function Ex(r,e){return r===e?1:(6&r.t&&$B(r),6&e.t&&$B(e),r.c==e.c?1:0)}function kx(r,e){return e>>>0>=r.l&&eS(),MS(r,e)}function hx(r,e){return 1-Ex(r,e)}function yx(e){var t=r,n=e.toString();return t.process&&t.process.env&&null!=t.process.env[n]?_S(t.process.env[n]):r.jsoo_static_env&&r.jsoo_static_env[n]?_S(r.jsoo_static_env[n]):void function(r){throw r}(UB.Not_found)}function Cx(r){for(;r&&r.joo_tramp;)r=r.joo_tramp.apply(null,r.joo_args);return r}function wx(r,e){return{joo_tramp:r,joo_args:e}}function Ax(r){return dx[r]}function _x(e){return e instanceof Array?e:r.RangeError&&e instanceof r.RangeError&&e.message&&e.message.match(/maximum call stack/i)||r.InternalError&&e instanceof r.InternalError&&e.message&&e.message.match(/too much recursion/i)?UB.Stack_overflow:e instanceof r.Error&&Ax(yA)?[0,Ax(yA),e]:[0,UB.Failure,_S(String(e))]}function gx(r,e){return 1==r.length?r(e):aS(r,[e])}function Bx(r,e,t){return 2==r.length?r(e,t):aS(r,[e,t])}function Sx(r,e,t,n){return 3==r.length?r(e,t,n):aS(r,[e,t,n])}function xx(r,e,t,n,u){return 4==r.length?r(e,t,n,u):aS(r,[e,t,n,u])}function Tx(r,e,t,n,u,a){return 5==r.length?r(e,t,n,u,a):aS(r,[e,t,n,u,a])}var Ix=[bc,QB(zb),-1],Nx=[bc,QB(wl),-2],Ox=[bc,QB(Us),-3],Lx=[bc,QB(hi),-4],Px=[bc,QB(ba),-7],Rx=[bc,QB(cw),-8],Mx=[bc,QB(oa),-9],jx=[bc,QB(Bt),-11],Ux=[bc,QB(zD),-12],Xx=[0,[11,QB('File \"'),[2,0,[11,QB('\", line '),[4,0,0,0,[11,QB(\", characters \"),[4,0,0,0,[12,45,[4,0,0,0,[11,QB(\": \"),[2,0,0]]]]]]]]]],QB('File \"%s\", line %d, characters %d-%d: %s')],Gx=[0,0,[0,0,0],[0,0,0]],Jx=[0,0],qx=QB(\"\\x01\\x02\"),zx=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\"),Wx=[0,0,0,0,0,0,0,0,1,0],Vx=[0,QB($o),QB(tp),QB(Ty),QB(Gk),QB(fE),QB(au),QB(Al),QB(fe),QB(Lr),QB(y),QB(Vw),QB(Pc),QB(mt),QB(Zi),QB(Up),QB(Xi),QB(P),QB(et),QB($w),QB(Rk),QB(Mw),QB(B_),QB(vn),QB(ar),QB(Je),QB(yw),QB($n),QB(gf),QB(mi),QB(aF),QB(Pe),QB($p),QB(Da),QB(Pk),QB(jE),QB(TD),QB(Ui),QB(wi),QB(mC),QB(kw),QB(Nu),QB(dk),QB(fp),QB(sF),QB(lf),QB(pw),QB(Kp),QB(dd),QB(Dk),QB(zk),QB(qs),QB(ld),QB(Nn),QB(Tt),QB(KA),QB(Ho),QB(Ut),QB(Ny),QB(Hr),QB(HA),QB(wk),QB(Fk),QB(Et),QB(Wf),QB(iv),QB(at),QB(Zh),QB(os),QB(tA),QB(Lc),QB(x_),QB(B),QB(tF),QB(wp),QB(SB),QB(hC),QB(Kc),QB(io),QB(mn),QB(tr),QB(ei),QB(Fh),QB(lm),QB(uf),QB(Tw),QB(ee),QB(oh),QB(kc),QB(mg),QB(RA),QB(du),QB(Qg),QB(de),QB(Ik),QB(nA),QB(Rh),QB(lB),QB(Ip),QB(nl),QB(PC),QB(Gf),QB(NC),QB(Ur),QB(Eb),QB(Kl),QB(FA),QB(BE),QB(Dr),QB(Fo),QB(gg),QB(FF),QB(Co),QB(U),QB(s_),QB(_E),QB(Uv),QB(TE),QB($i),QB(iB),QB(Oo),QB(jh),QB(Xo),QB(ri),QB(El),QB(HC),QB(Ws),QB(Tl),QB(Hg),QB(t),QB(Wg),QB(Te),QB(sc),QB(Tm),QB(Uo),QB(it),QB(w_),QB(Pu),QB(Wh),QB(bh),QB(Za),QB(ou),QB(an),QB(si),QB(sD),QB(KE),QB(M_),QB(bA),QB(je),QB(ok),QB(Op),QB(Ca),QB(ha),QB(wE),QB(De),QB(Yk),QB(pg),QB(fB),QB(zu),QB(mu),QB(Bm),QB(fn),QB(yk),QB(jk),QB(og),QB(Ol),QB(oy),QB(aE),QB(JA),QB(av),QB(c),QB(Dh),QB(mc),QB(Kt),QB(ji),QB(Pn),QB(FB),QB(xe),QB(pl),QB(Af),QB(LC),QB(aB),QB(gF),QB(Hp),QB(Xm),QB(la),QB(Nl),QB(jb),QB(sn),QB(bF),QB(ur),QB(yv),QB(Lk),QB(aD),QB(Ec),QB(xl),QB(cl),QB(mA),QB(rm),QB(qn),QB(lt),QB(Bo),QB(p_),QB(SF),QB(lF),QB(In),QB(K_),QB(ci),QB(cB),QB(Sp),QB(Ov),QB(Dl),QB(tb)],$x=[0,QB(\"first_leading\"),QB(\"last_trailing\")],Yx=[0,0,0],Hx=[0,0];mx(11,Ux,zD),mx(10,jx,Bt),mx(9,[bc,QB(dy),-10],dy),mx(8,Mx,oa),mx(7,Rx,cw),mx(6,Px,ba),mx(5,[bc,QB(Od),-6],Od),mx(4,[bc,QB(Ls),-5],Ls),mx(3,Lx,hi),mx(2,Ox,Us),mx(1,Nx,wl),mx(0,Ix,zb);var Kx=QB(\"output_substring\"),Qx=QB(Om),Zx=QB(ZF),rT=QB(kh),eT=QB(Pa),tT=QB(\"\\\\\\\\\"),nT=QB(\"\\\\'\"),uT=QB(\"\\\\b\"),aT=QB(\"\\\\t\"),iT=QB(\"\\\\n\"),cT=QB(\"\\\\r\"),fT=QB(\"Char.chr\"),oT=QB(\" is not an Unicode scalar value\"),sT=QB(\"%X\"),lT=QB(\"List.iter2\"),vT=[0,QB(\"list.ml\"),268,11],DT=QB(\"tl\"),pT=QB(\"hd\"),bT=QB(\"String.blit / Bytes.blit_string\"),FT=QB(\"Bytes.blit\"),mT=QB(\"String.sub / Bytes.sub\"),dT=QB(\"Array.blit\"),ET=QB(\"Array.sub\"),kT=QB(\"Array.init\"),hT=QB(\"Set.remove_min_elt\"),yT=[0,0,0,0],CT=[0,0,0],wT=[0,QB(\"set.ml\"),514,18],AT=QB(up),_T=QB(up),gT=QB(up),BT=QB(up),ST=QB(\"Map.remove_min_elt\"),xT=[0,0,0,0],TT=[0,QB(\"map.ml\"),397,10],IT=[0,0,0],NT=QB(Nh),OT=QB(Nh),LT=QB(Nh),PT=QB(Nh),RT=QB(\"Buffer.add_substring/add_subbytes\"),MT=QB(\"Buffer.add: cannot grow buffer\"),jT=QB(\"Buffer.sub\"),UT=QB(\"%c\"),XT=QB(\"%s\"),GT=QB(\"%i\"),JT=QB(\"%li\"),qT=QB(\"%ni\"),zT=QB(\"%Li\"),WT=QB(\"%f\"),VT=QB(kb),$T=QB(\"%{\"),YT=QB(\"%}\"),HT=QB(\"%(\"),KT=QB(\"%)\"),QT=QB(lD),ZT=QB(\"%t\"),rI=QB(\"%?\"),eI=QB(\"%r\"),tI=QB(\"%_r\"),nI=[0,QB(t_),846,23],uI=[0,QB(t_),810,21],aI=[0,QB(t_),811,21],iI=[0,QB(t_),814,21],cI=[0,QB(t_),815,21],fI=[0,QB(t_),818,19],oI=[0,QB(t_),819,19],sI=[0,QB(t_),822,22],lI=[0,QB(t_),823,22],vI=[0,QB(t_),827,30],DI=[0,QB(t_),828,30],pI=[0,QB(t_),832,26],bI=[0,QB(t_),833,26],FI=[0,QB(t_),842,28],mI=[0,QB(t_),843,28],dI=[0,QB(t_),847,23],EI=QB(\"%u\"),kI=[0,QB(t_),1525,4],hI=QB(\"Printf: bad conversion %[\"),yI=[0,QB(t_),1593,39],CI=[0,QB(t_),1616,31],wI=[0,QB(t_),1617,31],AI=QB(\"Printf: bad conversion %_\"),_I=QB(\"@{\"),gI=QB(\"@[\"),BI=[0,[11,QB(\"invalid box description \"),[3,0,0]],QB(\"invalid box description %S\")],SI=QB(qC),xI=[0,0,4],TI=QB(qC),II=QB(\"b\"),NI=QB(\"h\"),OI=QB(\"hov\"),LI=QB(\"hv\"),PI=QB(\"v\"),RI=QB(us),MI=QB(ZF),jI=QB(\"neg_infinity\"),UI=QB(oe),XI=QB(Om),GI=QB(\"%nd\"),JI=QB(\"%+nd\"),qI=QB(\"% nd\"),zI=QB(\"%ni\"),WI=QB(\"%+ni\"),VI=QB(\"% ni\"),$I=QB(\"%nx\"),YI=QB(\"%#nx\"),HI=QB(\"%nX\"),KI=QB(\"%#nX\"),QI=QB(\"%no\"),ZI=QB(\"%#no\"),rN=QB(\"%nu\"),eN=QB(\"%ld\"),tN=QB(\"%+ld\"),nN=QB(\"% ld\"),uN=QB(\"%li\"),aN=QB(\"%+li\"),iN=QB(\"% li\"),cN=QB(\"%lx\"),fN=QB(\"%#lx\"),oN=QB(\"%lX\"),sN=QB(\"%#lX\"),lN=QB(\"%lo\"),vN=QB(\"%#lo\"),DN=QB(\"%lu\"),pN=QB(\"%Ld\"),bN=QB(\"%+Ld\"),FN=QB(\"% Ld\"),mN=QB(\"%Li\"),dN=QB(\"%+Li\"),EN=QB(\"% Li\"),kN=QB(\"%Lx\"),hN=QB(\"%#Lx\"),yN=QB(\"%LX\"),CN=QB(\"%#LX\"),wN=QB(\"%Lo\"),AN=QB(\"%#Lo\"),_N=QB(\"%Lu\"),gN=QB(Gn),BN=QB(\"%+d\"),SN=QB(\"% d\"),xN=QB(\"%i\"),TN=QB(\"%+i\"),IN=QB(\"% i\"),NN=QB(\"%x\"),ON=QB(\"%#x\"),LN=QB(\"%X\"),PN=QB(\"%#X\"),RN=QB(\"%o\"),MN=QB(\"%#o\"),jN=QB(\"%u\"),UN=QB(bv),XN=QB(\"@}\"),GN=QB(\"@?\"),JN=QB(\"@\\n\"),qN=QB(\"@.\"),zN=QB(\"@@\"),WN=QB(\"@%\"),VN=QB(\"@\"),$N=QB(\"CamlinternalFormat.Type_mismatch\"),YN=QB(qC),HN=[0,[11,QB(\", \"),[2,0,[2,0,0]]],QB(\", %s%s\")],KN=QB(\"Out of memory\"),QN=QB(\"Stack overflow\"),ZN=QB(\"Pattern matching failed\"),rO=QB(\"Assertion failed\"),eO=QB(\"Undefined recursive module\"),tO=[0,[12,40,[2,0,[2,0,[12,41,0]]]],QB(\"(%s%s)\")],nO=QB(qC),uO=QB(qC),aO=[0,[12,40,[2,0,[12,41,0]]],QB(\"(%s)\")],iO=[0,[4,0,0,0,0],QB(Gn)],cO=[0,[3,0,0],QB(Ly)],fO=QB(ii),oO=[3,0,3],sO=QB(ZF),lO=QB(L),vO=QB(\"Flow_ast.Function.BodyBlock@ \")],iL=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],cL=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],fL=[0,[17,0,[12,41,0]],QB(ce)],oL=[0,[17,0,[12,41,0]],QB(ce)],sL=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Function.BodyExpression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Function.BodyExpression@ \")],lL=[0,[17,0,[12,41,0]],QB(ce)],vL=[0,[15,0],QB(lD)],DL=QB(cp),pL=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],bL=QB(\"Flow_ast.Function.id\"),FL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mL=QB(BA),dL=QB(Zo),EL=QB(Jl),kL=[0,[17,0,0],QB(bv)],hL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],yL=QB(w),CL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wL=[0,[17,0,0],QB(bv)],AL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_L=QB(AE),gL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],BL=[0,[17,0,0],QB(bv)],SL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],xL=QB(uC),TL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],IL=[0,[9,0,0],QB(kb)],NL=[0,[17,0,0],QB(bv)],OL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],LL=QB(mg),PL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],RL=[0,[9,0,0],QB(kb)],ML=[0,[17,0,0],QB(bv)],jL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],UL=QB(av),XL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],GL=QB(BA),JL=QB(Zo),qL=QB(Jl),zL=[0,[17,0,0],QB(bv)],WL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],VL=QB(Kt),$L=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],YL=[0,[17,0,0],QB(bv)],HL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],KL=QB(yr),QL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ZL=QB(BA),rP=QB(Zo),eP=QB(Jl),tP=[0,[17,0,0],QB(bv)],nP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uP=QB(Gu),aP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iP=QB(BA),cP=QB(Zo),fP=QB(Jl),oP=[0,[17,0,0],QB(bv)],sP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],lP=QB(\"sig_loc\"),vP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],DP=[0,[17,0,0],QB(bv)],pP=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],bP=[0,[15,0],QB(lD)],FP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],mP=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],dP=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],EP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kP=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],hP=QB(\"Flow_ast.Function.Params.this_\"),yP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],CP=QB(BA),wP=QB(Zo),AP=QB(Jl),_P=[0,[17,0,0],QB(bv)],gP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BP=QB(w),SP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xP=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],TP=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],IP=[0,[17,0,0],QB(bv)],NP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],OP=QB(ka),LP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],PP=QB(BA),RP=QB(Zo),MP=QB(Jl),jP=[0,[17,0,0],QB(bv)],UP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XP=QB(Gu),GP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JP=QB(BA),qP=QB(Zo),zP=QB(Jl),WP=[0,[17,0,0],QB(bv)],VP=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],$P=[0,[15,0],QB(lD)],YP=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],HP=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],KP=[0,[17,0,[12,41,0]],QB(ce)],QP=[0,[15,0],QB(lD)],ZP=QB(cp),rR=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],eR=QB(\"Flow_ast.Function.ThisParam.annot\"),tR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nR=[0,[17,0,0],QB(bv)],uR=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],aR=QB(Gu),iR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cR=QB(BA),fR=QB(Zo),oR=QB(Jl),sR=[0,[17,0,0],QB(bv)],lR=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],vR=[0,[15,0],QB(lD)],DR=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],pR=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],bR=[0,[17,0,[12,41,0]],QB(ce)],FR=[0,[15,0],QB(lD)],mR=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],dR=QB(\"Flow_ast.Function.Param.argument\"),ER=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kR=[0,[17,0,0],QB(bv)],hR=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],yR=QB(JC),CR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wR=QB(BA),AR=QB(Zo),_R=QB(Jl),gR=[0,[17,0,0],QB(bv)],BR=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],SR=[0,[15,0],QB(lD)],xR=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],TR=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],IR=[0,[17,0,[12,41,0]],QB(ce)],NR=[0,[15,0],QB(lD)],OR=QB(cp),LR=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],PR=QB(\"Flow_ast.Function.RestParam.argument\"),RR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],MR=[0,[17,0,0],QB(bv)],jR=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],UR=QB(Gu),XR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],GR=QB(BA),JR=QB(Zo),qR=QB(Jl),zR=[0,[17,0,0],QB(bv)],WR=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],VR=[0,[15,0],QB(lD)],$R=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],YR=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],HR=[0,[17,0,[12,41,0]],QB(ce)],KR=[0,[15,0],QB(lD)],QR=QB(cp),ZR=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rM=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],eM=QB(\"Flow_ast.Class.id\"),tM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nM=QB(BA),uM=QB(Zo),aM=QB(Jl),iM=[0,[17,0,0],QB(bv)],cM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fM=QB(AE),oM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sM=[0,[17,0,0],QB(bv)],lM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vM=QB(yr),DM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pM=QB(BA),bM=QB(Zo),FM=QB(Jl),mM=[0,[17,0,0],QB(bv)],dM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],EM=QB(Dp),kM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hM=QB(BA),yM=QB(Zo),CM=QB(Jl),wM=[0,[17,0,0],QB(bv)],AM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_M=QB(Fe),gM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],BM=QB(BA),SM=QB(Zo),xM=QB(Jl),TM=[0,[17,0,0],QB(bv)],IM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],NM=QB(\"class_decorators\"),OM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LM=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],PM=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],RM=[0,[17,0,0],QB(bv)],MM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jM=QB(Gu),UM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XM=QB(BA),GM=QB(Zo),JM=QB(Jl),qM=[0,[17,0,0],QB(bv)],zM=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],WM=[0,[15,0],QB(lD)],VM=QB(cp),$M=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],YM=QB(\"Flow_ast.Class.Decorator.expression\"),HM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],KM=[0,[17,0,0],QB(bv)],QM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ZM=QB(Gu),rj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ej=QB(BA),tj=QB(Zo),nj=QB(Jl),uj=[0,[17,0,0],QB(bv)],aj=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],ij=[0,[15,0],QB(lD)],cj=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],fj=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],oj=[0,[17,0,[12,41,0]],QB(ce)],sj=[0,[15,0],QB(lD)],lj=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Class.Body.Method\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Class.Body.Method@ \")],vj=[0,[17,0,[12,41,0]],QB(ce)],Dj=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Class.Body.Property\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Class.Body.Property@ \")],pj=[0,[17,0,[12,41,0]],QB(ce)],bj=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Class.Body.PrivateField\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Class.Body.PrivateField@ \")],Fj=[0,[17,0,[12,41,0]],QB(ce)],mj=[0,[15,0],QB(lD)],dj=QB(cp),Ej=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kj=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],hj=QB(\"Flow_ast.Class.Body.body\"),yj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Cj=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],wj=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Aj=[0,[17,0,0],QB(bv)],_j=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gj=QB(Gu),Bj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Sj=QB(BA),xj=QB(Zo),Tj=QB(Jl),Ij=[0,[17,0,0],QB(bv)],Nj=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Oj=[0,[15,0],QB(lD)],Lj=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Pj=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Rj=[0,[17,0,[12,41,0]],QB(ce)],Mj=[0,[15,0],QB(lD)],jj=QB(cp),Uj=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Xj=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Gj=QB(\"Flow_ast.Class.Implements.interfaces\"),Jj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qj=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],zj=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Wj=[0,[17,0,0],QB(bv)],Vj=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$j=QB(Gu),Yj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Hj=QB(BA),Kj=QB(Zo),Qj=QB(Jl),Zj=[0,[17,0,0],QB(bv)],rU=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],eU=[0,[15,0],QB(lD)],tU=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],nU=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],uU=[0,[17,0,[12,41,0]],QB(ce)],aU=[0,[15,0],QB(lD)],iU=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],cU=QB(\"Flow_ast.Class.Implements.Interface.id\"),fU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],oU=[0,[17,0,0],QB(bv)],sU=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],lU=QB(FC),vU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],DU=QB(BA),pU=QB(Zo),bU=QB(Jl),FU=[0,[17,0,0],QB(bv)],mU=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],dU=[0,[15,0],QB(lD)],EU=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],kU=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],hU=[0,[17,0,[12,41,0]],QB(ce)],yU=[0,[15,0],QB(lD)],CU=QB(cp),wU=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],AU=QB(\"Flow_ast.Class.Extends.expr\"),_U=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gU=[0,[17,0,0],QB(bv)],BU=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],SU=QB(FC),xU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],TU=QB(BA),IU=QB(Zo),NU=QB(Jl),OU=[0,[17,0,0],QB(bv)],LU=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],PU=QB(Gu),RU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],MU=QB(BA),jU=QB(Zo),UU=QB(Jl),XU=[0,[17,0,0],QB(bv)],GU=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],JU=[0,[15,0],QB(lD)],qU=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],zU=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],WU=[0,[17,0,[12,41,0]],QB(ce)],VU=[0,[15,0],QB(lD)],$U=QB(cp),YU=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],HU=QB(\"Flow_ast.Class.PrivateField.key\"),KU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QU=[0,[17,0,0],QB(bv)],ZU=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rX=QB(Im),eX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tX=[0,[17,0,0],QB(bv)],nX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uX=QB(ra),aX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iX=[0,[17,0,0],QB(bv)],cX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fX=QB(Vu),oX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sX=[0,[9,0,0],QB(kb)],lX=[0,[17,0,0],QB(bv)],vX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],DX=QB(Sp),pX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bX=QB(BA),FX=QB(Zo),mX=QB(Jl),dX=[0,[17,0,0],QB(bv)],EX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kX=QB(Gu),hX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],yX=QB(BA),CX=QB(Zo),wX=QB(Jl),AX=[0,[17,0,0],QB(bv)],_X=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],gX=[0,[15,0],QB(lD)],BX=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],SX=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],xX=[0,[17,0,[12,41,0]],QB(ce)],TX=[0,[15,0],QB(lD)],IX=QB(\"Flow_ast.Class.Property.Uninitialized\"),NX=QB(\"Flow_ast.Class.Property.Declared\"),OX=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Class.Property.Initialized\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Class.Property.Initialized@ \")],LX=[0,[17,0,[12,41,0]],QB(ce)],PX=[0,[15,0],QB(lD)],RX=QB(cp),MX=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],jX=QB(\"Flow_ast.Class.Property.key\"),UX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XX=[0,[17,0,0],QB(bv)],GX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],JX=QB(Im),qX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zX=[0,[17,0,0],QB(bv)],WX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],VX=QB(ra),$X=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],YX=[0,[17,0,0],QB(bv)],HX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],KX=QB(Vu),QX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ZX=[0,[9,0,0],QB(kb)],rG=[0,[17,0,0],QB(bv)],eG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],tG=QB(Sp),nG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uG=QB(BA),aG=QB(Zo),iG=QB(Jl),cG=[0,[17,0,0],QB(bv)],fG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],oG=QB(Gu),sG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lG=QB(BA),vG=QB(Zo),DG=QB(Jl),pG=[0,[17,0,0],QB(bv)],bG=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],FG=[0,[15,0],QB(lD)],mG=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],dG=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],EG=[0,[17,0,[12,41,0]],QB(ce)],kG=[0,[15,0],QB(lD)],hG=QB(cp),yG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],CG=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],wG=QB(\"Flow_ast.Class.Method.kind\"),AG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],_G=[0,[17,0,0],QB(bv)],gG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BG=QB(DB),SG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xG=[0,[17,0,0],QB(bv)],TG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],IG=QB(Im),NG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],OG=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],LG=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],PG=[0,[17,0,[12,41,0]],QB(ce)],RG=[0,[17,0,0],QB(bv)],MG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jG=QB(Vu),UG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XG=[0,[9,0,0],QB(kb)],GG=[0,[17,0,0],QB(bv)],JG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],qG=QB(J),zG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],WG=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],VG=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],$G=[0,[17,0,0],QB(bv)],YG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],HG=QB(Gu),KG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QG=QB(BA),ZG=QB(Zo),rJ=QB(Jl),eJ=[0,[17,0,0],QB(bv)],tJ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],nJ=[0,[15,0],QB(lD)],uJ=QB(\"Flow_ast.Class.Method.Constructor\"),aJ=QB(\"Flow_ast.Class.Method.Method\"),iJ=QB(\"Flow_ast.Class.Method.Get\"),cJ=QB(\"Flow_ast.Class.Method.Set\"),fJ=[0,[15,0],QB(lD)],oJ=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],sJ=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],lJ=[0,[17,0,[12,41,0]],QB(ce)],vJ=[0,[15,0],QB(lD)],DJ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],pJ=QB(\"Flow_ast.Comment.kind\"),bJ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FJ=[0,[17,0,0],QB(bv)],mJ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dJ=QB(\"text\"),EJ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kJ=[0,[3,0,0],QB(Ly)],hJ=[0,[17,0,0],QB(bv)],yJ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],CJ=QB(\"on_newline\"),wJ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],AJ=[0,[9,0,0],QB(kb)],_J=[0,[17,0,0],QB(bv)],gJ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],BJ=[0,[15,0],QB(lD)],SJ=QB(\"Flow_ast.Comment.Line\"),xJ=QB(\"Flow_ast.Comment.Block\"),TJ=[0,[15,0],QB(lD)],IJ=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],NJ=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],OJ=[0,[17,0,[12,41,0]],QB(ce)],LJ=[0,[15,0],QB(lD)],PJ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Object\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Object@ \")],RJ=[0,[17,0,[12,41,0]],QB(ce)],MJ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Array\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Array@ \")],jJ=[0,[17,0,[12,41,0]],QB(ce)],UJ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Identifier@ \")],XJ=[0,[17,0,[12,41,0]],QB(ce)],GJ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Expression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Expression@ \")],JJ=[0,[17,0,[12,41,0]],QB(ce)],qJ=[0,[15,0],QB(lD)],zJ=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],WJ=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],VJ=[0,[17,0,[12,41,0]],QB(ce)],$J=[0,[15,0],QB(lD)],YJ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],HJ=QB(\"Flow_ast.Pattern.Identifier.name\"),KJ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QJ=[0,[17,0,0],QB(bv)],ZJ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rq=QB(ra),eq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tq=[0,[17,0,0],QB(bv)],nq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uq=QB(Dv),aq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iq=[0,[9,0,0],QB(kb)],cq=[0,[17,0,0],QB(bv)],fq=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],oq=[0,[15,0],QB(lD)],sq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],lq=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],vq=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Dq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pq=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],bq=QB(\"Flow_ast.Pattern.Array.elements\"),Fq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mq=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],dq=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Eq=[0,[17,0,0],QB(bv)],kq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hq=QB(ra),yq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Cq=[0,[17,0,0],QB(bv)],wq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Aq=QB(Gu),_q=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gq=QB(BA),Bq=QB(Zo),Sq=QB(Jl),xq=[0,[17,0,0],QB(bv)],Tq=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Iq=[0,[15,0],QB(lD)],Nq=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Array.Element\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Array.Element@ \")],Oq=[0,[17,0,[12,41,0]],QB(ce)],Lq=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Array.RestElement\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Array.RestElement@ \")],Pq=[0,[17,0,[12,41,0]],QB(ce)],Rq=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Array.Hole\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Array.Hole@ \")],Mq=[0,[17,0,[12,41,0]],QB(ce)],jq=[0,[15,0],QB(lD)],Uq=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Xq=QB(\"Flow_ast.Pattern.Array.Element.argument\"),Gq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Jq=[0,[17,0,0],QB(bv)],qq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zq=QB(JC),Wq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vq=QB(BA),$q=QB(Zo),Yq=QB(Jl),Hq=[0,[17,0,0],QB(bv)],Kq=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Qq=[0,[15,0],QB(lD)],Zq=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],rz=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ez=[0,[17,0,[12,41,0]],QB(ce)],tz=[0,[15,0],QB(lD)],nz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uz=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],az=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],iz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cz=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],fz=QB(\"Flow_ast.Pattern.Object.properties\"),oz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sz=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],lz=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],vz=[0,[17,0,0],QB(bv)],Dz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pz=QB(ra),bz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Fz=[0,[17,0,0],QB(bv)],mz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dz=QB(Gu),Ez=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kz=QB(BA),hz=QB(Zo),yz=QB(Jl),Cz=[0,[17,0,0],QB(bv)],wz=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Az=[0,[15,0],QB(lD)],_z=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Object.Property\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Object.Property@ \")],gz=[0,[17,0,[12,41,0]],QB(ce)],Bz=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Object.RestElement\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Object.RestElement@ \")],Sz=[0,[17,0,[12,41,0]],QB(ce)],xz=[0,[15,0],QB(lD)],Tz=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Iz=QB(\"Flow_ast.Pattern.Object.Property.key\"),Nz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Oz=[0,[17,0,0],QB(bv)],Lz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Pz=QB(Op),Rz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mz=[0,[17,0,0],QB(bv)],jz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Uz=QB(JC),Xz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Gz=QB(BA),Jz=QB(Zo),qz=QB(Jl),zz=[0,[17,0,0],QB(bv)],Wz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Vz=QB(Qh),$z=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Yz=[0,[9,0,0],QB(kb)],Hz=[0,[17,0,0],QB(bv)],Kz=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Qz=[0,[15,0],QB(lD)],Zz=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],rW=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],eW=[0,[17,0,[12,41,0]],QB(ce)],tW=[0,[15,0],QB(lD)],nW=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Object.Property.Literal\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Object.Property.Literal@ \")],uW=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],aW=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],iW=[0,[17,0,[12,41,0]],QB(ce)],cW=[0,[17,0,[12,41,0]],QB(ce)],fW=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Object.Property.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Object.Property.Identifier@ \")],oW=[0,[17,0,[12,41,0]],QB(ce)],sW=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Pattern.Object.Property.Computed\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Pattern.Object.Property.Computed@ \")],lW=[0,[17,0,[12,41,0]],QB(ce)],vW=[0,[15,0],QB(lD)],DW=QB(cp),pW=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],bW=QB(\"Flow_ast.Pattern.RestElement.argument\"),FW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mW=[0,[17,0,0],QB(bv)],dW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],EW=QB(Gu),kW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hW=QB(BA),yW=QB(Zo),CW=QB(Jl),wW=[0,[17,0,0],QB(bv)],AW=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],_W=[0,[15,0],QB(lD)],gW=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],BW=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],SW=[0,[17,0,[12,41,0]],QB(ce)],xW=[0,[15,0],QB(lD)],TW=QB(cp),IW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],NW=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],OW=QB(\"Flow_ast.JSX.frag_opening_element\"),LW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],PW=[0,[17,0,0],QB(bv)],RW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],MW=QB(\"frag_closing_element\"),jW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],UW=[0,[17,0,0],QB(bv)],XW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],GW=QB(\"frag_children\"),JW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qW=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],zW=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],WW=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],VW=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],$W=[0,[17,0,[12,41,0]],QB(ce)],YW=[0,[17,0,0],QB(bv)],HW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],KW=QB(\"frag_comments\"),QW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ZW=QB(BA),rV=QB(Zo),eV=QB(Jl),tV=[0,[17,0,0],QB(bv)],nV=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],uV=[0,[15,0],QB(lD)],aV=QB(cp),iV=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cV=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],fV=QB(\"Flow_ast.JSX.opening_element\"),oV=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sV=[0,[17,0,0],QB(bv)],lV=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vV=QB(\"closing_element\"),DV=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pV=QB(BA),bV=QB(Zo),FV=QB(Jl),mV=[0,[17,0,0],QB(bv)],dV=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],EV=QB(i),kV=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hV=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],yV=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],CV=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],wV=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],AV=[0,[17,0,[12,41,0]],QB(ce)],_V=[0,[17,0,0],QB(bv)],gV=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BV=QB(Gu),SV=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xV=QB(BA),TV=QB(Zo),IV=QB(Jl),NV=[0,[17,0,0],QB(bv)],OV=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],LV=[0,[15,0],QB(lD)],PV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Element\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Element@ \")],RV=[0,[17,0,[12,41,0]],QB(ce)],MV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Fragment\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Fragment@ \")],jV=[0,[17,0,[12,41,0]],QB(ce)],UV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.ExpressionContainer\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.ExpressionContainer@ \")],XV=[0,[17,0,[12,41,0]],QB(ce)],GV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.SpreadChild\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.SpreadChild@ \")],JV=[0,[17,0,[12,41,0]],QB(ce)],qV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Text\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Text@ \")],zV=[0,[17,0,[12,41,0]],QB(ce)],WV=[0,[15,0],QB(lD)],VV=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],$V=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],YV=[0,[17,0,[12,41,0]],QB(ce)],HV=[0,[15,0],QB(lD)],KV=QB(cp),QV=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ZV=QB(\"Flow_ast.JSX.SpreadChild.expression\"),r$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],e$=[0,[17,0,0],QB(bv)],t$=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],n$=QB(Gu),u$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],a$=QB(BA),i$=QB(Zo),c$=QB(Jl),f$=[0,[17,0,0],QB(bv)],o$=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],s$=[0,[15,0],QB(lD)],l$=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],v$=QB(\"Flow_ast.JSX.Closing.name\"),D$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],p$=[0,[17,0,0],QB(bv)],b$=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],F$=[0,[15,0],QB(lD)],m$=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],d$=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],E$=[0,[17,0,[12,41,0]],QB(ce)],k$=[0,[15,0],QB(lD)],h$=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],y$=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],C$=QB(\"Flow_ast.JSX.Opening.name\"),w$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],A$=[0,[17,0,0],QB(bv)],_$=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],g$=QB(\"self_closing\"),B$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],S$=[0,[9,0,0],QB(kb)],x$=[0,[17,0,0],QB(bv)],T$=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],I$=QB(zh),N$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],O$=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],L$=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],P$=[0,[17,0,0],QB(bv)],R$=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],M$=[0,[15,0],QB(lD)],j$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Opening.Attribute\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Opening.Attribute@ \")],U$=[0,[17,0,[12,41,0]],QB(ce)],X$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Opening.SpreadAttribute\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Opening.SpreadAttribute@ \")],G$=[0,[17,0,[12,41,0]],QB(ce)],J$=[0,[15,0],QB(lD)],q$=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],z$=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],W$=[0,[17,0,[12,41,0]],QB(ce)],V$=[0,[15,0],QB(lD)],$$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Identifier@ \")],Y$=[0,[17,0,[12,41,0]],QB(ce)],H$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.NamespacedName\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.NamespacedName@ \")],K$=[0,[17,0,[12,41,0]],QB(ce)],Q$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.MemberExpression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.MemberExpression@ \")],Z$=[0,[17,0,[12,41,0]],QB(ce)],rY=[0,[15,0],QB(lD)],eY=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],tY=QB(\"Flow_ast.JSX.MemberExpression._object\"),nY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uY=[0,[17,0,0],QB(bv)],aY=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],iY=QB(rA),cY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fY=[0,[17,0,0],QB(bv)],oY=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],sY=[0,[15,0],QB(lD)],lY=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.MemberExpression.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.MemberExpression.Identifier@ \")],vY=[0,[17,0,[12,41,0]],QB(ce)],DY=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.MemberExpression.MemberExpression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.MemberExpression.MemberExpression@ \")],pY=[0,[17,0,[12,41,0]],QB(ce)],bY=[0,[15,0],QB(lD)],FY=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],mY=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],dY=[0,[17,0,[12,41,0]],QB(ce)],EY=[0,[15,0],QB(lD)],kY=QB(cp),hY=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],yY=QB(\"Flow_ast.JSX.SpreadAttribute.argument\"),CY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wY=[0,[17,0,0],QB(bv)],AY=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_Y=QB(Gu),gY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],BY=QB(BA),SY=QB(Zo),xY=QB(Jl),TY=[0,[17,0,0],QB(bv)],IY=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],NY=[0,[15,0],QB(lD)],OY=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],LY=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],PY=[0,[17,0,[12,41,0]],QB(ce)],RY=[0,[15,0],QB(lD)],MY=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],jY=QB(\"Flow_ast.JSX.Attribute.name\"),UY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XY=[0,[17,0,0],QB(bv)],GY=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],JY=QB(Im),qY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zY=QB(BA),WY=QB(Zo),VY=QB(Jl),$Y=[0,[17,0,0],QB(bv)],YY=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],HY=[0,[15,0],QB(lD)],KY=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Attribute.Literal (\"),[17,[0,QB(Ro),0,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Attribute.Literal (@,\")],QY=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ZY=[0,[17,[0,QB(Ro),0,0],[11,QB(eF),[17,0,0]]],QB(Xn)],rH=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Attribute.ExpressionContainer (\"),[17,[0,QB(Ro),0,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Attribute.ExpressionContainer (@,\")],eH=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],tH=[0,[17,[0,QB(Ro),0,0],[11,QB(eF),[17,0,0]]],QB(Xn)],nH=[0,[15,0],QB(lD)],uH=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Attribute.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Attribute.Identifier@ \")],aH=[0,[17,0,[12,41,0]],QB(ce)],iH=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.Attribute.NamespacedName\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.Attribute.NamespacedName@ \")],cH=[0,[17,0,[12,41,0]],QB(ce)],fH=[0,[15,0],QB(lD)],oH=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],sH=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],lH=[0,[17,0,[12,41,0]],QB(ce)],vH=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],DH=QB(\"Flow_ast.JSX.Text.value\"),pH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bH=[0,[3,0,0],QB(Ly)],FH=[0,[17,0,0],QB(bv)],mH=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dH=QB(ge),EH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kH=[0,[3,0,0],QB(Ly)],hH=[0,[17,0,0],QB(bv)],yH=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],CH=[0,[15,0],QB(lD)],wH=[0,[15,0],QB(lD)],AH=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.JSX.ExpressionContainer.Expression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.JSX.ExpressionContainer.Expression@ \")],_H=[0,[17,0,[12,41,0]],QB(ce)],gH=QB(\"Flow_ast.JSX.ExpressionContainer.EmptyExpression\"),BH=[0,[15,0],QB(lD)],SH=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],xH=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],TH=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],IH=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],NH=QB(\"Flow_ast.JSX.ExpressionContainer.expression\"),OH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LH=[0,[17,0,0],QB(bv)],PH=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],RH=QB(Gu),MH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jH=QB(BA),UH=QB(Zo),XH=QB(Jl),GH=[0,[17,0,0],QB(bv)],JH=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],qH=[0,[15,0],QB(lD)],zH=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],WH=QB(\"Flow_ast.JSX.NamespacedName.namespace\"),VH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$H=[0,[17,0,0],QB(bv)],YH=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],HH=QB(Wl),KH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QH=[0,[17,0,0],QB(bv)],ZH=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],rK=[0,[15,0],QB(lD)],eK=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],tK=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],nK=[0,[17,0,[12,41,0]],QB(ce)],uK=[0,[15,0],QB(lD)],aK=QB(cp),iK=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],cK=QB(\"Flow_ast.JSX.Identifier.name\"),fK=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],oK=[0,[3,0,0],QB(Ly)],sK=[0,[17,0,0],QB(bv)],lK=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vK=QB(Gu),DK=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pK=QB(BA),bK=QB(Zo),FK=QB(Jl),mK=[0,[17,0,0],QB(bv)],dK=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],EK=[0,[15,0],QB(lD)],kK=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hK=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],yK=[0,[17,0,[12,41,0]],QB(ce)],CK=[0,[15,0],QB(lD)],wK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Array\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Array@ \")],AK=[0,[17,0,[12,41,0]],QB(ce)],_K=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.ArrowFunction\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.ArrowFunction@ \")],gK=[0,[17,0,[12,41,0]],QB(ce)],BK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Assignment\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Assignment@ \")],SK=[0,[17,0,[12,41,0]],QB(ce)],xK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Binary\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Binary@ \")],TK=[0,[17,0,[12,41,0]],QB(ce)],IK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Call\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Call@ \")],NK=[0,[17,0,[12,41,0]],QB(ce)],OK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Class\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Class@ \")],LK=[0,[17,0,[12,41,0]],QB(ce)],PK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Comprehension\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Comprehension@ \")],RK=[0,[17,0,[12,41,0]],QB(ce)],MK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Conditional\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Conditional@ \")],jK=[0,[17,0,[12,41,0]],QB(ce)],UK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Function\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Function@ \")],XK=[0,[17,0,[12,41,0]],QB(ce)],GK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Generator\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Generator@ \")],JK=[0,[17,0,[12,41,0]],QB(ce)],qK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Identifier@ \")],zK=[0,[17,0,[12,41,0]],QB(ce)],WK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Import\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Import@ \")],VK=[0,[17,0,[12,41,0]],QB(ce)],$K=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.JSXElement\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.JSXElement@ \")],YK=[0,[17,0,[12,41,0]],QB(ce)],HK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.JSXFragment\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.JSXFragment@ \")],KK=[0,[17,0,[12,41,0]],QB(ce)],QK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Literal\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Literal@ \")],ZK=[0,[17,0,[12,41,0]],QB(ce)],rQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Logical\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Logical@ \")],eQ=[0,[17,0,[12,41,0]],QB(ce)],tQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Member\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Member@ \")],nQ=[0,[17,0,[12,41,0]],QB(ce)],uQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.MetaProperty\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.MetaProperty@ \")],aQ=[0,[17,0,[12,41,0]],QB(ce)],iQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.New\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.New@ \")],cQ=[0,[17,0,[12,41,0]],QB(ce)],fQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Object@ \")],oQ=[0,[17,0,[12,41,0]],QB(ce)],sQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.OptionalCall\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.OptionalCall@ \")],lQ=[0,[17,0,[12,41,0]],QB(ce)],vQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.OptionalMember\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.OptionalMember@ \")],DQ=[0,[17,0,[12,41,0]],QB(ce)],pQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Sequence\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Sequence@ \")],bQ=[0,[17,0,[12,41,0]],QB(ce)],FQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Super\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Super@ \")],mQ=[0,[17,0,[12,41,0]],QB(ce)],dQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.TaggedTemplate\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.TaggedTemplate@ \")],EQ=[0,[17,0,[12,41,0]],QB(ce)],kQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.TemplateLiteral\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.TemplateLiteral@ \")],hQ=[0,[17,0,[12,41,0]],QB(ce)],yQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.This\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.This@ \")],CQ=[0,[17,0,[12,41,0]],QB(ce)],wQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.TypeCast\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.TypeCast@ \")],AQ=[0,[17,0,[12,41,0]],QB(ce)],_Q=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Unary\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Unary@ \")],gQ=[0,[17,0,[12,41,0]],QB(ce)],BQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Update\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Update@ \")],SQ=[0,[17,0,[12,41,0]],QB(ce)],xQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Yield\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Yield@ \")],TQ=[0,[17,0,[12,41,0]],QB(ce)],IQ=[0,[15,0],QB(lD)],NQ=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],OQ=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],LQ=[0,[17,0,[12,41,0]],QB(ce)],PQ=[0,[15,0],QB(lD)],RQ=QB(cp),MQ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],jQ=QB(\"Flow_ast.Expression.Import.argument\"),UQ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XQ=[0,[17,0,0],QB(bv)],GQ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],JQ=QB(Gu),qQ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zQ=QB(BA),WQ=QB(Zo),VQ=QB(Jl),$Q=[0,[17,0,0],QB(bv)],YQ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],HQ=[0,[15,0],QB(lD)],KQ=QB(cp),QQ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ZQ=QB(\"Flow_ast.Expression.Super.comments\"),rZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],eZ=QB(BA),tZ=QB(Zo),nZ=QB(Jl),uZ=[0,[17,0,0],QB(bv)],aZ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],iZ=[0,[15,0],QB(lD)],cZ=QB(cp),fZ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],oZ=QB(\"Flow_ast.Expression.This.comments\"),sZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lZ=QB(BA),vZ=QB(Zo),DZ=QB(Jl),pZ=[0,[17,0,0],QB(bv)],bZ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],FZ=[0,[15,0],QB(lD)],mZ=QB(cp),dZ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],EZ=QB(\"Flow_ast.Expression.MetaProperty.meta\"),kZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hZ=[0,[17,0,0],QB(bv)],yZ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],CZ=QB(rA),wZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],AZ=[0,[17,0,0],QB(bv)],_Z=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gZ=QB(Gu),BZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],SZ=QB(BA),xZ=QB(Zo),TZ=QB(Jl),IZ=[0,[17,0,0],QB(bv)],NZ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],OZ=[0,[15,0],QB(lD)],LZ=QB(cp),PZ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],RZ=QB(\"Flow_ast.Expression.TypeCast.expression\"),MZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jZ=[0,[17,0,0],QB(bv)],UZ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XZ=QB(ra),GZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JZ=[0,[17,0,0],QB(bv)],qZ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zZ=QB(Gu),WZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VZ=QB(BA),$Z=QB(Zo),YZ=QB(Jl),HZ=[0,[17,0,0],QB(bv)],KZ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],QZ=[0,[15,0],QB(lD)],ZZ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],r0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],e0=QB(\"Flow_ast.Expression.Generator.blocks\"),t0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],n0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],u0=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],a0=[0,[17,0,0],QB(bv)],i0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],c0=QB(Xt),f0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],o0=QB(BA),s0=QB(Zo),l0=QB(Jl),v0=[0,[17,0,0],QB(bv)],D0=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],p0=[0,[15,0],QB(lD)],b0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],F0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],m0=QB(\"Flow_ast.Expression.Comprehension.blocks\"),d0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],E0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],k0=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],h0=[0,[17,0,0],QB(bv)],y0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],C0=QB(Xt),w0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],A0=QB(BA),_0=QB(Zo),g0=QB(Jl),B0=[0,[17,0,0],QB(bv)],S0=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],x0=[0,[15,0],QB(lD)],T0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],I0=QB(\"Flow_ast.Expression.Comprehension.Block.left\"),N0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],O0=[0,[17,0,0],QB(bv)],L0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],P0=QB(iu),R0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],M0=[0,[17,0,0],QB(bv)],j0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],U0=QB(Cl),X0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],G0=[0,[9,0,0],QB(kb)],J0=[0,[17,0,0],QB(bv)],q0=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],z0=[0,[15,0],QB(lD)],W0=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],V0=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],$0=[0,[17,0,[12,41,0]],QB(ce)],Y0=[0,[15,0],QB(lD)],H0=QB(cp),K0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Q0=QB(\"Flow_ast.Expression.Yield.argument\"),Z0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],r1=QB(BA),e1=QB(Zo),t1=QB(Jl),n1=[0,[17,0,0],QB(bv)],u1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],a1=QB(Gu),i1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],c1=QB(BA),f1=QB(Zo),o1=QB(Jl),s1=[0,[17,0,0],QB(bv)],l1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],v1=QB(Eh),D1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],p1=[0,[9,0,0],QB(kb)],b1=[0,[17,0,0],QB(bv)],F1=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],m1=[0,[15,0],QB(lD)],d1=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],E1=QB(\"Flow_ast.Expression.OptionalMember.member\"),k1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],h1=[0,[17,0,0],QB(bv)],y1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],C1=QB(Dv),w1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],A1=[0,[9,0,0],QB(kb)],_1=[0,[17,0,0],QB(bv)],g1=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],B1=[0,[15,0],QB(lD)],S1=QB(cp),x1=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],T1=QB(\"Flow_ast.Expression.Member._object\"),I1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],N1=[0,[17,0,0],QB(bv)],O1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],L1=QB(rA),P1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],R1=[0,[17,0,0],QB(bv)],M1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],j1=QB(Gu),U1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],X1=QB(BA),G1=QB(Zo),J1=QB(Jl),q1=[0,[17,0,0],QB(bv)],z1=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],W1=[0,[15,0],QB(lD)],V1=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Member.PropertyIdentifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Member.PropertyIdentifier@ \")],$1=[0,[17,0,[12,41,0]],QB(ce)],Y1=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Member.PropertyPrivateName\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Member.PropertyPrivateName@ \")],H1=[0,[17,0,[12,41,0]],QB(ce)],K1=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Member.PropertyExpression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Member.PropertyExpression@ \")],Q1=[0,[17,0,[12,41,0]],QB(ce)],Z1=[0,[15,0],QB(lD)],r2=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],e2=QB(\"Flow_ast.Expression.OptionalCall.call\"),t2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],n2=[0,[17,0,0],QB(bv)],u2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],a2=QB(Dv),i2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],c2=[0,[9,0,0],QB(kb)],f2=[0,[17,0,0],QB(bv)],o2=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],s2=[0,[15,0],QB(lD)],l2=QB(cp),v2=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],D2=QB(\"Flow_ast.Expression.Call.callee\"),p2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],b2=[0,[17,0,0],QB(bv)],F2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],m2=QB(FC),d2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],E2=QB(BA),k2=QB(Zo),h2=QB(Jl),y2=[0,[17,0,0],QB(bv)],C2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],w2=QB(Xu),A2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],_2=[0,[17,0,0],QB(bv)],g2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],B2=QB(Gu),S2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],x2=QB(BA),T2=QB(Zo),I2=QB(Jl),N2=[0,[17,0,0],QB(bv)],O2=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],L2=[0,[15,0],QB(lD)],P2=QB(cp),R2=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],M2=QB(\"Flow_ast.Expression.New.callee\"),j2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],U2=[0,[17,0,0],QB(bv)],X2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],G2=QB(FC),J2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],q2=QB(BA),z2=QB(Zo),W2=QB(Jl),V2=[0,[17,0,0],QB(bv)],$2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Y2=QB(Xu),H2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],K2=QB(BA),Q2=QB(Zo),Z2=QB(Jl),r7=[0,[17,0,0],QB(bv)],e7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],t7=QB(Gu),n7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],u7=QB(BA),a7=QB(Zo),i7=QB(Jl),c7=[0,[17,0,0],QB(bv)],f7=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],o7=[0,[15,0],QB(lD)],s7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],l7=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],v7=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],D7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],p7=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],b7=QB(\"Flow_ast.Expression.ArgList.arguments\"),F7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],m7=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],d7=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],E7=[0,[17,0,0],QB(bv)],k7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],h7=QB(Gu),y7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],C7=QB(BA),w7=QB(Zo),A7=QB(Jl),_7=[0,[17,0,0],QB(bv)],g7=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],B7=[0,[15,0],QB(lD)],S7=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],x7=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],T7=[0,[17,0,[12,41,0]],QB(ce)],I7=[0,[15,0],QB(lD)],N7=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Expression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Expression@ \")],O7=[0,[17,0,[12,41,0]],QB(ce)],L7=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Spread\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Spread@ \")],P7=[0,[17,0,[12,41,0]],QB(ce)],R7=[0,[15,0],QB(lD)],M7=QB(cp),j7=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],U7=QB(\"Flow_ast.Expression.Conditional.test\"),X7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],G7=[0,[17,0,0],QB(bv)],J7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],q7=QB(Rp),z7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],W7=[0,[17,0,0],QB(bv)],V7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$7=QB(qF),Y7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],H7=[0,[17,0,0],QB(bv)],K7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Q7=QB(Gu),Z7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],r8=QB(BA),e8=QB(Zo),t8=QB(Jl),n8=[0,[17,0,0],QB(bv)],u8=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],a8=[0,[15,0],QB(lD)],i8=QB(cp),c8=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],f8=QB(\"Flow_ast.Expression.Logical.operator\"),o8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],s8=[0,[17,0,0],QB(bv)],l8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],v8=QB(of),D8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],p8=[0,[17,0,0],QB(bv)],b8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],F8=QB(iu),m8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],d8=[0,[17,0,0],QB(bv)],E8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],k8=QB(Gu),h8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],y8=QB(BA),C8=QB(Zo),w8=QB(Jl),A8=[0,[17,0,0],QB(bv)],_8=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],g8=[0,[15,0],QB(lD)],B8=QB(\"Flow_ast.Expression.Logical.Or\"),S8=QB(\"Flow_ast.Expression.Logical.And\"),x8=QB(\"Flow_ast.Expression.Logical.NullishCoalesce\"),T8=[0,[15,0],QB(lD)],I8=QB(cp),N8=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],O8=QB(\"Flow_ast.Expression.Update.operator\"),L8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],P8=[0,[17,0,0],QB(bv)],R8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],M8=QB(QC),j8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],U8=[0,[17,0,0],QB(bv)],X8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],G8=QB(CD),J8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],q8=[0,[9,0,0],QB(kb)],z8=[0,[17,0,0],QB(bv)],W8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],V8=QB(Gu),$8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Y8=QB(BA),H8=QB(Zo),K8=QB(Jl),Q8=[0,[17,0,0],QB(bv)],Z8=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],r3=[0,[15,0],QB(lD)],e3=QB(\"Flow_ast.Expression.Update.Decrement\"),t3=QB(\"Flow_ast.Expression.Update.Increment\"),n3=[0,[15,0],QB(lD)],u3=QB(cp),a3=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],i3=QB(\"Flow_ast.Expression.Assignment.operator\"),c3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],f3=QB(BA),o3=QB(Zo),s3=QB(Jl),l3=[0,[17,0,0],QB(bv)],v3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],D3=QB(of),p3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],b3=[0,[17,0,0],QB(bv)],F3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],m3=QB(iu),d3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],E3=[0,[17,0,0],QB(bv)],k3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],h3=QB(Gu),y3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],C3=QB(BA),w3=QB(Zo),A3=QB(Jl),_3=[0,[17,0,0],QB(bv)],g3=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],B3=[0,[15,0],QB(lD)],S3=QB(\"Flow_ast.Expression.Assignment.PlusAssign\"),x3=QB(\"Flow_ast.Expression.Assignment.MinusAssign\"),T3=QB(\"Flow_ast.Expression.Assignment.MultAssign\"),I3=QB(\"Flow_ast.Expression.Assignment.ExpAssign\"),N3=QB(\"Flow_ast.Expression.Assignment.DivAssign\"),O3=QB(\"Flow_ast.Expression.Assignment.ModAssign\"),L3=QB(\"Flow_ast.Expression.Assignment.LShiftAssign\"),P3=QB(\"Flow_ast.Expression.Assignment.RShiftAssign\"),R3=QB(\"Flow_ast.Expression.Assignment.RShift3Assign\"),M3=QB(\"Flow_ast.Expression.Assignment.BitOrAssign\"),j3=QB(\"Flow_ast.Expression.Assignment.BitXorAssign\"),U3=QB(\"Flow_ast.Expression.Assignment.BitAndAssign\"),X3=[0,[15,0],QB(lD)],G3=QB(cp),J3=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],q3=QB(\"Flow_ast.Expression.Binary.operator\"),z3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],W3=[0,[17,0,0],QB(bv)],V3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$3=QB(of),Y3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],H3=[0,[17,0,0],QB(bv)],K3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Q3=QB(iu),Z3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],r4=[0,[17,0,0],QB(bv)],e4=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],t4=QB(Gu),n4=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],u4=QB(BA),a4=QB(Zo),i4=QB(Jl),c4=[0,[17,0,0],QB(bv)],f4=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],o4=[0,[15,0],QB(lD)],s4=QB(\"Flow_ast.Expression.Binary.Equal\"),l4=QB(\"Flow_ast.Expression.Binary.NotEqual\"),v4=QB(\"Flow_ast.Expression.Binary.StrictEqual\"),D4=QB(\"Flow_ast.Expression.Binary.StrictNotEqual\"),p4=QB(\"Flow_ast.Expression.Binary.LessThan\"),b4=QB(\"Flow_ast.Expression.Binary.LessThanEqual\"),F4=QB(\"Flow_ast.Expression.Binary.GreaterThan\"),m4=QB(\"Flow_ast.Expression.Binary.GreaterThanEqual\"),d4=QB(\"Flow_ast.Expression.Binary.LShift\"),E4=QB(\"Flow_ast.Expression.Binary.RShift\"),k4=QB(\"Flow_ast.Expression.Binary.RShift3\"),h4=QB(\"Flow_ast.Expression.Binary.Plus\"),y4=QB(\"Flow_ast.Expression.Binary.Minus\"),C4=QB(\"Flow_ast.Expression.Binary.Mult\"),w4=QB(\"Flow_ast.Expression.Binary.Exp\"),A4=QB(\"Flow_ast.Expression.Binary.Div\"),_4=QB(\"Flow_ast.Expression.Binary.Mod\"),g4=QB(\"Flow_ast.Expression.Binary.BitOr\"),B4=QB(\"Flow_ast.Expression.Binary.Xor\"),S4=QB(\"Flow_ast.Expression.Binary.BitAnd\"),x4=QB(\"Flow_ast.Expression.Binary.In\"),T4=QB(\"Flow_ast.Expression.Binary.Instanceof\"),I4=[0,[15,0],QB(lD)],N4=QB(cp),O4=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],L4=QB(\"Flow_ast.Expression.Unary.operator\"),P4=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],R4=[0,[17,0,0],QB(bv)],M4=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],j4=QB(QC),U4=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],X4=[0,[17,0,0],QB(bv)],G4=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],J4=QB(Gu),q4=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],z4=QB(BA),W4=QB(Zo),V4=QB(Jl),$4=[0,[17,0,0],QB(bv)],Y4=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],H4=[0,[15,0],QB(lD)],K4=QB(\"Flow_ast.Expression.Unary.Minus\"),Q4=QB(\"Flow_ast.Expression.Unary.Plus\"),Z4=QB(\"Flow_ast.Expression.Unary.Not\"),r6=QB(\"Flow_ast.Expression.Unary.BitNot\"),e6=QB(\"Flow_ast.Expression.Unary.Typeof\"),t6=QB(\"Flow_ast.Expression.Unary.Void\"),n6=QB(\"Flow_ast.Expression.Unary.Delete\"),u6=QB(\"Flow_ast.Expression.Unary.Await\"),a6=[0,[15,0],QB(lD)],i6=QB(cp),c6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],f6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],o6=QB(\"Flow_ast.Expression.Sequence.expressions\"),s6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],l6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],v6=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],D6=[0,[17,0,0],QB(bv)],p6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],b6=QB(Gu),F6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],m6=QB(BA),d6=QB(Zo),E6=QB(Jl),k6=[0,[17,0,0],QB(bv)],h6=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],y6=[0,[15,0],QB(lD)],C6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],w6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],A6=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],_6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],g6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],B6=QB(\"Flow_ast.Expression.Object.properties\"),S6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],x6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],T6=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],I6=[0,[17,0,0],QB(bv)],N6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],O6=QB(Gu),L6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],P6=QB(BA),R6=QB(Zo),M6=QB(Jl),j6=[0,[17,0,0],QB(bv)],U6=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],X6=[0,[15,0],QB(lD)],G6=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Object.Property@ \")],J6=[0,[17,0,[12,41,0]],QB(ce)],q6=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.SpreadProperty\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Object.SpreadProperty@ \")],z6=[0,[17,0,[12,41,0]],QB(ce)],W6=[0,[15,0],QB(lD)],V6=QB(cp),$6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Y6=QB(\"Flow_ast.Expression.Object.SpreadProperty.argument\"),H6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],K6=[0,[17,0,0],QB(bv)],Q6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Z6=QB(Gu),r5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],e5=QB(BA),t5=QB(Zo),n5=QB(Jl),u5=[0,[17,0,0],QB(bv)],a5=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],i5=[0,[15,0],QB(lD)],c5=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],f5=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],o5=[0,[17,0,[12,41,0]],QB(ce)],s5=[0,[15,0],QB(lD)],l5=QB(cp),v5=QB(cp),D5=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.Init {\"),[17,[0,QB(Ro),0,0],0]]],QB(\"@[<2>Flow_ast.Expression.Object.Property.Init {@,\")],p5=QB(DB),b5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],F5=[0,[17,0,0],QB(bv)],m5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],d5=QB(Im),E5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],k5=[0,[17,0,0],QB(bv)],h5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],y5=QB(Qh),C5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],w5=[0,[9,0,0],QB(kb)],A5=[0,[17,0,0],QB(bv)],_5=[0,[17,0,[12,gd,0]],QB(gA)],g5=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.Method {\"),[17,[0,QB(Ro),0,0],0]]],QB(\"@[<2>Flow_ast.Expression.Object.Property.Method {@,\")],B5=QB(DB),S5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],x5=[0,[17,0,0],QB(bv)],T5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],I5=QB(Im),N5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],O5=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],L5=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],P5=[0,[17,0,[12,41,0]],QB(ce)],R5=[0,[17,0,0],QB(bv)],M5=[0,[17,0,[12,gd,0]],QB(gA)],j5=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.Get {\"),[17,[0,QB(Ro),0,0],0]]],QB(\"@[<2>Flow_ast.Expression.Object.Property.Get {@,\")],U5=QB(DB),X5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],G5=[0,[17,0,0],QB(bv)],J5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],q5=QB(Im),z5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],W5=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],V5=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],$5=[0,[17,0,[12,41,0]],QB(ce)],Y5=[0,[17,0,0],QB(bv)],H5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],K5=QB(Gu),Q5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Z5=QB(BA),r9=QB(Zo),e9=QB(Jl),t9=[0,[17,0,0],QB(bv)],n9=[0,[17,0,[12,gd,0]],QB(gA)],u9=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.Set {\"),[17,[0,QB(Ro),0,0],0]]],QB(\"@[<2>Flow_ast.Expression.Object.Property.Set {@,\")],a9=QB(DB),i9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],c9=[0,[17,0,0],QB(bv)],f9=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],o9=QB(Im),s9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],l9=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],v9=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],D9=[0,[17,0,[12,41,0]],QB(ce)],p9=[0,[17,0,0],QB(bv)],b9=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],F9=QB(Gu),m9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],d9=QB(BA),E9=QB(Zo),k9=QB(Jl),h9=[0,[17,0,0],QB(bv)],y9=[0,[17,0,[12,gd,0]],QB(gA)],C9=[0,[15,0],QB(lD)],w9=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],A9=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],_9=[0,[17,0,[12,41,0]],QB(ce)],g9=[0,[15,0],QB(lD)],B9=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.Literal\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Object.Property.Literal@ \")],S9=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],x9=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],T9=[0,[17,0,[12,41,0]],QB(ce)],I9=[0,[17,0,[12,41,0]],QB(ce)],N9=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Object.Property.Identifier@ \")],O9=[0,[17,0,[12,41,0]],QB(ce)],L9=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.PrivateName\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Object.Property.PrivateName@ \")],P9=[0,[17,0,[12,41,0]],QB(ce)],R9=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Object.Property.Computed\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Object.Property.Computed@ \")],M9=[0,[17,0,[12,41,0]],QB(ce)],j9=[0,[15,0],QB(lD)],U9=QB(cp),X9=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],G9=QB(\"Flow_ast.Expression.TaggedTemplate.tag\"),J9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],q9=[0,[17,0,0],QB(bv)],z9=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],W9=QB(Oy),V9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$9=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Y9=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],H9=[0,[17,0,[12,41,0]],QB(ce)],K9=[0,[17,0,0],QB(bv)],Q9=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Z9=QB(Gu),rrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],err=QB(BA),trr=QB(Zo),nrr=QB(Jl),urr=[0,[17,0,0],QB(bv)],arr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],irr=[0,[15,0],QB(lD)],crr=QB(cp),frr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],orr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],srr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],lrr=QB(\"Flow_ast.Expression.TemplateLiteral.quasis\"),vrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Drr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],prr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],brr=[0,[17,0,0],QB(bv)],Frr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],mrr=QB(Hm),drr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Err=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],krr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],hrr=[0,[17,0,0],QB(bv)],yrr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Crr=QB(Gu),wrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Arr=QB(BA),_rr=QB(Zo),grr=QB(Jl),Brr=[0,[17,0,0],QB(bv)],Srr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],xrr=[0,[15,0],QB(lD)],Trr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Irr=QB(\"Flow_ast.Expression.TemplateLiteral.Element.value\"),Nrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Orr=[0,[17,0,0],QB(bv)],Lrr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Prr=QB(Gr),Rrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mrr=[0,[9,0,0],QB(kb)],jrr=[0,[17,0,0],QB(bv)],Urr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Xrr=[0,[15,0],QB(lD)],Grr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Jrr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],qrr=[0,[17,0,[12,41,0]],QB(ce)],zrr=[0,[15,0],QB(lD)],Wrr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Vrr=QB(\"Flow_ast.Expression.TemplateLiteral.Element.raw\"),$rr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Yrr=[0,[3,0,0],QB(Ly)],Hrr=[0,[17,0,0],QB(bv)],Krr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Qrr=QB(KC),Zrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rer=[0,[3,0,0],QB(Ly)],eer=[0,[17,0,0],QB(bv)],ter=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],ner=[0,[15,0],QB(lD)],uer=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],aer=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],ier=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],cer=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fer=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],oer=QB(\"Flow_ast.Expression.Array.elements\"),ser=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ler=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],ver=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Der=[0,[17,0,0],QB(bv)],per=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ber=QB(Gu),Fer=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mer=QB(BA),der=QB(Zo),Eer=QB(Jl),ker=[0,[17,0,0],QB(bv)],her=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],yer=[0,[15,0],QB(lD)],Cer=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Array.Expression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Array.Expression@ \")],wer=[0,[17,0,[12,41,0]],QB(ce)],Aer=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Array.Spread\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Array.Spread@ \")],_er=[0,[17,0,[12,41,0]],QB(ce)],ger=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.Array.Hole\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.Array.Hole@ \")],Ber=[0,[17,0,[12,41,0]],QB(ce)],Ser=[0,[15,0],QB(lD)],xer=QB(cp),Ter=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ier=QB(\"Flow_ast.Expression.SpreadElement.argument\"),Ner=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Oer=[0,[17,0,0],QB(bv)],Ler=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Per=QB(Gu),Rer=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mer=QB(BA),jer=QB(Zo),Uer=QB(Jl),Xer=[0,[17,0,0],QB(bv)],Ger=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Jer=[0,[15,0],QB(lD)],qer=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],zer=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Wer=[0,[17,0,[12,41,0]],QB(ce)],Ver=[0,[15,0],QB(lD)],$er=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Yer=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Her=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Ker=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Qer=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Zer=QB(\"Flow_ast.Expression.CallTypeArgs.arguments\"),rtr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],etr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],ttr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],ntr=[0,[17,0,0],QB(bv)],utr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],atr=QB(Gu),itr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ctr=QB(BA),ftr=QB(Zo),otr=QB(Jl),str=[0,[17,0,0],QB(bv)],ltr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],vtr=[0,[15,0],QB(lD)],Dtr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ptr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],btr=[0,[17,0,[12,41,0]],QB(ce)],Ftr=[0,[15,0],QB(lD)],mtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.CallTypeArg.Explicit\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.CallTypeArg.Explicit@ \")],dtr=[0,[17,0,[12,41,0]],QB(ce)],Etr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Expression.CallTypeArg.Implicit\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Expression.CallTypeArg.Implicit@ \")],ktr=[0,[17,0,[12,41,0]],QB(ce)],htr=[0,[15,0],QB(lD)],ytr=QB(cp),Ctr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],wtr=QB(\"Flow_ast.Expression.CallTypeArg.Implicit.comments\"),Atr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],_tr=QB(BA),gtr=QB(Zo),Btr=QB(Jl),Str=[0,[17,0,0],QB(bv)],xtr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Ttr=[0,[15,0],QB(lD)],Itr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Ntr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Otr=[0,[17,0,[12,41,0]],QB(ce)],Ltr=[0,[15,0],QB(lD)],Ptr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Block\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Block@ \")],Rtr=[0,[17,0,[12,41,0]],QB(ce)],Mtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Break\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Break@ \")],jtr=[0,[17,0,[12,41,0]],QB(ce)],Utr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ClassDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ClassDeclaration@ \")],Xtr=[0,[17,0,[12,41,0]],QB(ce)],Gtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Continue\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Continue@ \")],Jtr=[0,[17,0,[12,41,0]],QB(ce)],qtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Debugger\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Debugger@ \")],ztr=[0,[17,0,[12,41,0]],QB(ce)],Wtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareClass\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareClass@ \")],Vtr=[0,[17,0,[12,41,0]],QB(ce)],$tr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration@ \")],Ytr=[0,[17,0,[12,41,0]],QB(ce)],Htr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareFunction\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareFunction@ \")],Ktr=[0,[17,0,[12,41,0]],QB(ce)],Qtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareInterface\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareInterface@ \")],Ztr=[0,[17,0,[12,41,0]],QB(ce)],rnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareModule\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareModule@ \")],enr=[0,[17,0,[12,41,0]],QB(ce)],tnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareModuleExports\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareModuleExports@ \")],nnr=[0,[17,0,[12,41,0]],QB(ce)],unr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareTypeAlias\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareTypeAlias@ \")],anr=[0,[17,0,[12,41,0]],QB(ce)],inr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareOpaqueType\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareOpaqueType@ \")],cnr=[0,[17,0,[12,41,0]],QB(ce)],fnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareVariable\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareVariable@ \")],onr=[0,[17,0,[12,41,0]],QB(ce)],snr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DoWhile\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DoWhile@ \")],lnr=[0,[17,0,[12,41,0]],QB(ce)],vnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Empty\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Empty@ \")],Dnr=[0,[17,0,[12,41,0]],QB(ce)],pnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.EnumDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.EnumDeclaration@ \")],bnr=[0,[17,0,[12,41,0]],QB(ce)],Fnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ExportDefaultDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ExportDefaultDeclaration@ \")],mnr=[0,[17,0,[12,41,0]],QB(ce)],dnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ExportNamedDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ExportNamedDeclaration@ \")],Enr=[0,[17,0,[12,41,0]],QB(ce)],knr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Expression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Expression@ \")],hnr=[0,[17,0,[12,41,0]],QB(ce)],ynr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.For\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.For@ \")],Cnr=[0,[17,0,[12,41,0]],QB(ce)],wnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ForIn\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ForIn@ \")],Anr=[0,[17,0,[12,41,0]],QB(ce)],_nr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ForOf\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ForOf@ \")],gnr=[0,[17,0,[12,41,0]],QB(ce)],Bnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.FunctionDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.FunctionDeclaration@ \")],Snr=[0,[17,0,[12,41,0]],QB(ce)],xnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.If\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.If@ \")],Tnr=[0,[17,0,[12,41,0]],QB(ce)],Inr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ImportDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ImportDeclaration@ \")],Nnr=[0,[17,0,[12,41,0]],QB(ce)],Onr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.InterfaceDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.InterfaceDeclaration@ \")],Lnr=[0,[17,0,[12,41,0]],QB(ce)],Pnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Labeled\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Labeled@ \")],Rnr=[0,[17,0,[12,41,0]],QB(ce)],Mnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Return\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Return@ \")],jnr=[0,[17,0,[12,41,0]],QB(ce)],Unr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Switch\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Switch@ \")],Xnr=[0,[17,0,[12,41,0]],QB(ce)],Gnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Throw\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Throw@ \")],Jnr=[0,[17,0,[12,41,0]],QB(ce)],qnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.Try\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.Try@ \")],znr=[0,[17,0,[12,41,0]],QB(ce)],Wnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.TypeAlias\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.TypeAlias@ \")],Vnr=[0,[17,0,[12,41,0]],QB(ce)],$nr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.OpaqueType\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.OpaqueType@ \")],Ynr=[0,[17,0,[12,41,0]],QB(ce)],Hnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.VariableDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.VariableDeclaration@ \")],Knr=[0,[17,0,[12,41,0]],QB(ce)],Qnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.While\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.While@ \")],Znr=[0,[17,0,[12,41,0]],QB(ce)],rur=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.With\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.With@ \")],eur=[0,[17,0,[12,41,0]],QB(ce)],tur=[0,[15,0],QB(lD)],nur=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],uur=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],aur=[0,[17,0,[12,41,0]],QB(ce)],iur=[0,[15,0],QB(lD)],cur=QB(\"Flow_ast.Statement.ExportValue\"),fur=QB(\"Flow_ast.Statement.ExportType\"),our=[0,[15,0],QB(lD)],sur=QB(cp),lur=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],vur=QB(\"Flow_ast.Statement.Empty.comments\"),Dur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pur=QB(BA),bur=QB(Zo),Fur=QB(Jl),mur=[0,[17,0,0],QB(bv)],dur=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Eur=[0,[15,0],QB(lD)],kur=QB(cp),hur=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],yur=QB(\"Flow_ast.Statement.Expression.expression\"),Cur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wur=[0,[17,0,0],QB(bv)],Aur=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_ur=QB(m),gur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Bur=QB(BA),Sur=[0,[3,0,0],QB(Ly)],xur=QB(Zo),Tur=QB(Jl),Iur=[0,[17,0,0],QB(bv)],Nur=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Our=QB(Gu),Lur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Pur=QB(BA),Rur=QB(Zo),Mur=QB(Jl),jur=[0,[17,0,0],QB(bv)],Uur=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Xur=[0,[15,0],QB(lD)],Gur=QB(cp),Jur=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],qur=QB(\"Flow_ast.Statement.ImportDeclaration.import_kind\"),zur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Wur=[0,[17,0,0],QB(bv)],Vur=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$ur=QB(fg),Yur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Hur=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Kur=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Qur=[0,[17,0,[12,41,0]],QB(ce)],Zur=[0,[17,0,0],QB(bv)],rar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ear=QB(JC),tar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nar=QB(BA),uar=QB(Zo),aar=QB(Jl),iar=[0,[17,0,0],QB(bv)],car=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],far=QB(BB),oar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sar=QB(BA),lar=QB(Zo),Dar=QB(Jl),par=[0,[17,0,0],QB(bv)],bar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Far=QB(Gu),mar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dar=QB(BA),Ear=QB(Zo),kar=QB(Jl),har=[0,[17,0,0],QB(bv)],yar=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Car=[0,[15,0],QB(lD)],war=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Aar=QB(\"Flow_ast.Statement.ImportDeclaration.kind\"),_ar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gar=QB(BA),Bar=QB(Zo),Sar=QB(Jl),xar=[0,[17,0,0],QB(bv)],Tar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Iar=QB(Xs),Nar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Oar=QB(BA),Lar=QB(Zo),Par=QB(Jl),Rar=[0,[17,0,0],QB(bv)],Mar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jar=QB(\"remote\"),Uar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Xar=[0,[17,0,0],QB(bv)],Gar=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Jar=[0,[15,0],QB(lD)],qar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zar=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers@ \")],War=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Var=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],$ar=[0,[17,0,[12,41,0]],QB(ce)],Yar=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier@ \")],Har=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Kar=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Qar=[0,[17,0,[12,41,0]],QB(ce)],Zar=[0,[17,0,[12,41,0]],QB(ce)],rir=[0,[15,0],QB(lD)],eir=QB(\"Flow_ast.Statement.ImportDeclaration.ImportType\"),tir=QB(\"Flow_ast.Statement.ImportDeclaration.ImportTypeof\"),nir=QB(\"Flow_ast.Statement.ImportDeclaration.ImportValue\"),uir=[0,[15,0],QB(lD)],air=QB(cp),iir=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],cir=QB(\"Flow_ast.Statement.DeclareExportDeclaration.default\"),fir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],oir=QB(BA),sir=QB(Zo),lir=QB(Jl),vir=[0,[17,0,0],QB(bv)],Dir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pir=QB(Wu),bir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Fir=QB(BA),mir=QB(Zo),dir=QB(Jl),Eir=[0,[17,0,0],QB(bv)],kir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hir=QB(BB),yir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Cir=QB(BA),wir=QB(Zo),Air=QB(Jl),_ir=[0,[17,0,0],QB(bv)],gir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Bir=QB(fg),Sir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xir=QB(BA),Tir=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Iir=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Nir=[0,[17,0,[12,41,0]],QB(ce)],Oir=QB(Zo),Lir=QB(Jl),Pir=[0,[17,0,0],QB(bv)],Rir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Mir=QB(Gu),jir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Uir=QB(BA),Xir=QB(Zo),Gir=QB(Jl),Jir=[0,[17,0,0],QB(bv)],qir=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],zir=[0,[15,0],QB(lD)],Wir=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration.Variable\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Variable@ \")],Vir=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],$ir=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Yir=[0,[17,0,[12,41,0]],QB(ce)],Hir=[0,[17,0,[12,41,0]],QB(ce)],Kir=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration.Function\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Function@ \")],Qir=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Zir=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],rcr=[0,[17,0,[12,41,0]],QB(ce)],ecr=[0,[17,0,[12,41,0]],QB(ce)],tcr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration.Class\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Class@ \")],ncr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ucr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],acr=[0,[17,0,[12,41,0]],QB(ce)],icr=[0,[17,0,[12,41,0]],QB(ce)],ccr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration.DefaultType\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.DefaultType@ \")],fcr=[0,[17,0,[12,41,0]],QB(ce)],ocr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration.NamedType\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedType@ \")],scr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],lcr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],vcr=[0,[17,0,[12,41,0]],QB(ce)],Dcr=[0,[17,0,[12,41,0]],QB(ce)],pcr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType@ \")],bcr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Fcr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],mcr=[0,[17,0,[12,41,0]],QB(ce)],dcr=[0,[17,0,[12,41,0]],QB(ce)],Ecr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareExportDeclaration.Interface\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Interface@ \")],kcr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hcr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ycr=[0,[17,0,[12,41,0]],QB(ce)],Ccr=[0,[17,0,[12,41,0]],QB(ce)],wcr=[0,[15,0],QB(lD)],Acr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ExportDefaultDeclaration.Declaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Declaration@ \")],_cr=[0,[17,0,[12,41,0]],QB(ce)],gcr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ExportDefaultDeclaration.Expression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Expression@ \")],Bcr=[0,[17,0,[12,41,0]],QB(ce)],Scr=[0,[15,0],QB(lD)],xcr=QB(cp),Tcr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Icr=QB(\"Flow_ast.Statement.ExportDefaultDeclaration.default\"),Ncr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ocr=[0,[17,0,0],QB(bv)],Lcr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Pcr=QB(Wu),Rcr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mcr=[0,[17,0,0],QB(bv)],jcr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ucr=QB(Gu),Xcr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Gcr=QB(BA),Jcr=QB(Zo),qcr=QB(Jl),zcr=[0,[17,0,0],QB(bv)],Wcr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Vcr=[0,[15,0],QB(lD)],$cr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ycr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers@ \")],Hcr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Kcr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Qcr=[0,[17,0,[12,41,0]],QB(ce)],Zcr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier (\"),[17,[0,QB(Ro),0,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier (@,\")],rfr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],efr=QB(BA),tfr=QB(Zo),nfr=QB(Jl),ufr=[0,[17,[0,QB(Ro),0,0],[11,QB(eF),[17,0,0]]],QB(Xn)],afr=[0,[15,0],QB(lD)],ifr=QB(cp),cfr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ffr=QB(\"Flow_ast.Statement.ExportNamedDeclaration.declaration\"),ofr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sfr=QB(BA),lfr=QB(Zo),vfr=QB(Jl),Dfr=[0,[17,0,0],QB(bv)],pfr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],bfr=QB(BB),Ffr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mfr=QB(BA),dfr=QB(Zo),Efr=QB(Jl),kfr=[0,[17,0,0],QB(bv)],hfr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],yfr=QB(fg),Cfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wfr=QB(BA),Afr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],_fr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],gfr=[0,[17,0,[12,41,0]],QB(ce)],Bfr=QB(Zo),Sfr=QB(Jl),xfr=[0,[17,0,0],QB(bv)],Tfr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ifr=QB(\"export_kind\"),Nfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ofr=[0,[17,0,0],QB(bv)],Lfr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Pfr=QB(Gu),Rfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mfr=QB(BA),jfr=QB(Zo),Ufr=QB(Jl),Xfr=[0,[17,0,0],QB(bv)],Gfr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Jfr=[0,[15,0],QB(lD)],qfr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],zfr=QB(\"Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifier.local\"),Wfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vfr=[0,[17,0,0],QB(bv)],$fr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Yfr=QB(Yt),Hfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Kfr=QB(BA),Qfr=QB(Zo),Zfr=QB(Jl),ror=[0,[17,0,0],QB(bv)],eor=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],tor=[0,[15,0],QB(lD)],nor=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],uor=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],aor=[0,[17,0,[12,41,0]],QB(ce)],ior=[0,[15,0],QB(lD)],cor=QB(cp),oor=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],sor=QB(\"Flow_ast.Statement.DeclareModuleExports.annot\"),lor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],vor=[0,[17,0,0],QB(bv)],Dor=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],por=QB(Gu),bor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],For=QB(BA),mor=QB(Zo),dor=QB(Jl),Eor=[0,[17,0,0],QB(bv)],kor=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],hor=[0,[15,0],QB(lD)],yor=QB(cp),Cor=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],wor=QB(\"Flow_ast.Statement.DeclareModule.id\"),Aor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],_or=[0,[17,0,0],QB(bv)],gor=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Bor=QB(AE),Sor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xor=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Tor=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Ior=[0,[17,0,[12,41,0]],QB(ce)],Nor=[0,[17,0,0],QB(bv)],Oor=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Lor=QB(Xe),Por=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ror=[0,[17,0,0],QB(bv)],Mor=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jor=QB(Gu),Uor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Xor=QB(BA),Gor=QB(Zo),Jor=QB(Jl),qor=[0,[17,0,0],QB(bv)],zor=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Wor=[0,[15,0],QB(lD)],Vor=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareModule.CommonJS\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareModule.CommonJS@ \")],$or=[0,[17,0,[12,41,0]],QB(ce)],Yor=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareModule.ES\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareModule.ES@ \")],Hor=[0,[17,0,[12,41,0]],QB(ce)],Kor=[0,[15,0],QB(lD)],Qor=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareModule.Identifier\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareModule.Identifier@ \")],Zor=[0,[17,0,[12,41,0]],QB(ce)],rsr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.DeclareModule.Literal\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.DeclareModule.Literal@ \")],esr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],tsr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],nsr=[0,[17,0,[12,41,0]],QB(ce)],usr=[0,[17,0,[12,41,0]],QB(ce)],asr=[0,[15,0],QB(lD)],isr=QB(cp),csr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],fsr=QB(\"Flow_ast.Statement.DeclareFunction.id\"),osr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ssr=[0,[17,0,0],QB(bv)],lsr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vsr=QB(ra),Dsr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],psr=[0,[17,0,0],QB(bv)],bsr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fsr=QB(av),msr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dsr=QB(BA),Esr=QB(Zo),ksr=QB(Jl),hsr=[0,[17,0,0],QB(bv)],ysr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Csr=QB(Gu),wsr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Asr=QB(BA),_sr=QB(Zo),gsr=QB(Jl),Bsr=[0,[17,0,0],QB(bv)],Ssr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],xsr=[0,[15,0],QB(lD)],Tsr=QB(cp),Isr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Nsr=QB(\"Flow_ast.Statement.DeclareVariable.id\"),Osr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Lsr=[0,[17,0,0],QB(bv)],Psr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Rsr=QB(ra),Msr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jsr=[0,[17,0,0],QB(bv)],Usr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Xsr=QB(Gu),Gsr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Jsr=QB(BA),qsr=QB(Zo),zsr=QB(Jl),Wsr=[0,[17,0,0],QB(bv)],Vsr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],$sr=[0,[15,0],QB(lD)],Ysr=QB(cp),Hsr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ksr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Qsr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Zsr=[0,[17,0,[12,41,0]],QB(ce)],rlr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],elr=QB(\"Flow_ast.Statement.DeclareClass.id\"),tlr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nlr=[0,[17,0,0],QB(bv)],ulr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],alr=QB(yr),ilr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],clr=QB(BA),flr=QB(Zo),olr=QB(Jl),slr=[0,[17,0,0],QB(bv)],llr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vlr=QB(AE),Dlr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],plr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],blr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Flr=[0,[17,0,[12,41,0]],QB(ce)],mlr=[0,[17,0,0],QB(bv)],dlr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Elr=QB(Dp),klr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hlr=QB(BA),ylr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Clr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],wlr=[0,[17,0,[12,41,0]],QB(ce)],Alr=QB(Zo),_lr=QB(Jl),glr=[0,[17,0,0],QB(bv)],Blr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Slr=QB(ot),xlr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Tlr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Ilr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Nlr=[0,[17,0,0],QB(bv)],Olr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Llr=QB(Fe),Plr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Rlr=QB(BA),Mlr=QB(Zo),jlr=QB(Jl),Ulr=[0,[17,0,0],QB(bv)],Xlr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Glr=QB(Gu),Jlr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qlr=QB(BA),zlr=QB(Zo),Wlr=QB(Jl),Vlr=[0,[17,0,0],QB(bv)],$lr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Ylr=[0,[15,0],QB(lD)],Hlr=QB(cp),Klr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Qlr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Zlr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],rvr=[0,[17,0,[12,41,0]],QB(ce)],evr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],tvr=QB(\"Flow_ast.Statement.Interface.id\"),nvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uvr=[0,[17,0,0],QB(bv)],avr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ivr=QB(yr),cvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fvr=QB(BA),ovr=QB(Zo),svr=QB(Jl),lvr=[0,[17,0,0],QB(bv)],vvr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Dvr=QB(Dp),pvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bvr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Fvr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],mvr=[0,[17,0,0],QB(bv)],dvr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Evr=QB(AE),kvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hvr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],yvr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Cvr=[0,[17,0,[12,41,0]],QB(ce)],wvr=[0,[17,0,0],QB(bv)],Avr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_vr=QB(Gu),gvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Bvr=QB(BA),Svr=QB(Zo),xvr=QB(Jl),Tvr=[0,[17,0,0],QB(bv)],Ivr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Nvr=[0,[15,0],QB(lD)],Ovr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.EnumDeclaration.BooleanBody\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.EnumDeclaration.BooleanBody@ \")],Lvr=[0,[17,0,[12,41,0]],QB(ce)],Pvr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.EnumDeclaration.NumberBody\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.EnumDeclaration.NumberBody@ \")],Rvr=[0,[17,0,[12,41,0]],QB(ce)],Mvr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.EnumDeclaration.StringBody\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody@ \")],jvr=[0,[17,0,[12,41,0]],QB(ce)],Uvr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.EnumDeclaration.SymbolBody\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.EnumDeclaration.SymbolBody@ \")],Xvr=[0,[17,0,[12,41,0]],QB(ce)],Gvr=[0,[15,0],QB(lD)],Jvr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],qvr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],zvr=[0,[17,0,[12,41,0]],QB(ce)],Wvr=[0,[15,0],QB(lD)],Vvr=QB(cp),$vr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Yvr=QB(\"Flow_ast.Statement.EnumDeclaration.id\"),Hvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Kvr=[0,[17,0,0],QB(bv)],Qvr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Zvr=QB(AE),rDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],eDr=[0,[17,0,0],QB(bv)],tDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],nDr=QB(Gu),uDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],aDr=QB(BA),iDr=QB(Zo),cDr=QB(Jl),fDr=[0,[17,0,0],QB(bv)],oDr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],sDr=[0,[15,0],QB(lD)],lDr=QB(cp),vDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],DDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],pDr=QB(\"Flow_ast.Statement.EnumDeclaration.SymbolBody.members\"),bDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],mDr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],dDr=[0,[17,0,0],QB(bv)],EDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kDr=QB(ve),hDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],yDr=[0,[9,0,0],QB(kb)],CDr=[0,[17,0,0],QB(bv)],wDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ADr=QB(Gu),_Dr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gDr=QB(BA),BDr=QB(Zo),SDr=QB(Jl),xDr=[0,[17,0,0],QB(bv)],TDr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],IDr=[0,[15,0],QB(lD)],NDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ODr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],LDr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted@ \")],PDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],RDr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],MDr=[0,[17,0,[12,41,0]],QB(ce)],jDr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.EnumDeclaration.StringBody.Initialized\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Initialized@ \")],UDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],XDr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],GDr=[0,[17,0,[12,41,0]],QB(ce)],JDr=[0,[15,0],QB(lD)],qDr=QB(cp),zDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],WDr=QB(\"Flow_ast.Statement.EnumDeclaration.StringBody.members\"),VDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$Dr=[0,[17,0,0],QB(bv)],YDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],HDr=QB(wf),KDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QDr=[0,[9,0,0],QB(kb)],ZDr=[0,[17,0,0],QB(bv)],rpr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],epr=QB(ve),tpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],npr=[0,[9,0,0],QB(kb)],upr=[0,[17,0,0],QB(bv)],apr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ipr=QB(Gu),cpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fpr=QB(BA),opr=QB(Zo),spr=QB(Jl),lpr=[0,[17,0,0],QB(bv)],vpr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Dpr=[0,[15,0],QB(lD)],ppr=QB(cp),bpr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fpr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],mpr=QB(\"Flow_ast.Statement.EnumDeclaration.NumberBody.members\"),dpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Epr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],kpr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],hpr=[0,[17,0,0],QB(bv)],ypr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Cpr=QB(wf),wpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Apr=[0,[9,0,0],QB(kb)],_pr=[0,[17,0,0],QB(bv)],gpr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Bpr=QB(ve),Spr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xpr=[0,[9,0,0],QB(kb)],Tpr=[0,[17,0,0],QB(bv)],Ipr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Npr=QB(Gu),Opr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Lpr=QB(BA),Ppr=QB(Zo),Rpr=QB(Jl),Mpr=[0,[17,0,0],QB(bv)],jpr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Upr=[0,[15,0],QB(lD)],Xpr=QB(cp),Gpr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Jpr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],qpr=QB(\"Flow_ast.Statement.EnumDeclaration.BooleanBody.members\"),zpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Wpr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Vpr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],$pr=[0,[17,0,0],QB(bv)],Ypr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Hpr=QB(wf),Kpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Qpr=[0,[9,0,0],QB(kb)],Zpr=[0,[17,0,0],QB(bv)],rbr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ebr=QB(ve),tbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nbr=[0,[9,0,0],QB(kb)],ubr=[0,[17,0,0],QB(bv)],abr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ibr=QB(Gu),cbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fbr=QB(BA),obr=QB(Zo),sbr=QB(Jl),lbr=[0,[17,0,0],QB(bv)],vbr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Dbr=[0,[15,0],QB(lD)],pbr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],bbr=QB(\"Flow_ast.Statement.EnumDeclaration.InitializedMember.id\"),Fbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mbr=[0,[17,0,0],QB(bv)],dbr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ebr=QB(nk),kbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hbr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ybr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Cbr=[0,[17,0,[12,41,0]],QB(ce)],wbr=[0,[17,0,0],QB(bv)],Abr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],_br=[0,[15,0],QB(lD)],gbr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Bbr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Sbr=[0,[17,0,[12,41,0]],QB(ce)],xbr=[0,[15,0],QB(lD)],Tbr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ibr=QB(\"Flow_ast.Statement.EnumDeclaration.DefaultedMember.id\"),Nbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Obr=[0,[17,0,0],QB(bv)],Lbr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Pbr=[0,[15,0],QB(lD)],Rbr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Mbr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],jbr=[0,[17,0,[12,41,0]],QB(ce)],Ubr=[0,[15,0],QB(lD)],Xbr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ForOf.LeftDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ForOf.LeftDeclaration@ \")],Gbr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Jbr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],qbr=[0,[17,0,[12,41,0]],QB(ce)],zbr=[0,[17,0,[12,41,0]],QB(ce)],Wbr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ForOf.LeftPattern\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ForOf.LeftPattern@ \")],Vbr=[0,[17,0,[12,41,0]],QB(ce)],$br=[0,[15,0],QB(lD)],Ybr=QB(cp),Hbr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Kbr=QB(\"Flow_ast.Statement.ForOf.left\"),Qbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Zbr=[0,[17,0,0],QB(bv)],rFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],eFr=QB(iu),tFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nFr=[0,[17,0,0],QB(bv)],uFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],aFr=QB(AE),iFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cFr=[0,[17,0,0],QB(bv)],fFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],oFr=QB(tf),sFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lFr=[0,[9,0,0],QB(kb)],vFr=[0,[17,0,0],QB(bv)],DFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pFr=QB(Gu),bFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FFr=QB(BA),mFr=QB(Zo),dFr=QB(Jl),EFr=[0,[17,0,0],QB(bv)],kFr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],hFr=[0,[15,0],QB(lD)],yFr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ForIn.LeftDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ForIn.LeftDeclaration@ \")],CFr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],wFr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],AFr=[0,[17,0,[12,41,0]],QB(ce)],_Fr=[0,[17,0,[12,41,0]],QB(ce)],gFr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.ForIn.LeftPattern\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.ForIn.LeftPattern@ \")],BFr=[0,[17,0,[12,41,0]],QB(ce)],SFr=[0,[15,0],QB(lD)],xFr=QB(cp),TFr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],IFr=QB(\"Flow_ast.Statement.ForIn.left\"),NFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],OFr=[0,[17,0,0],QB(bv)],LFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],PFr=QB(iu),RFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],MFr=[0,[17,0,0],QB(bv)],jFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],UFr=QB(AE),XFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],GFr=[0,[17,0,0],QB(bv)],JFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],qFr=QB(Cl),zFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],WFr=[0,[9,0,0],QB(kb)],VFr=[0,[17,0,0],QB(bv)],$Fr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],YFr=QB(Gu),HFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],KFr=QB(BA),QFr=QB(Zo),ZFr=QB(Jl),rmr=[0,[17,0,0],QB(bv)],emr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],tmr=[0,[15,0],QB(lD)],nmr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.For.InitDeclaration\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.For.InitDeclaration@ \")],umr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],amr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],imr=[0,[17,0,[12,41,0]],QB(ce)],cmr=[0,[17,0,[12,41,0]],QB(ce)],fmr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Statement.For.InitExpression\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Statement.For.InitExpression@ \")],omr=[0,[17,0,[12,41,0]],QB(ce)],smr=[0,[15,0],QB(lD)],lmr=QB(cp),vmr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Dmr=QB(\"Flow_ast.Statement.For.init\"),pmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bmr=QB(BA),Fmr=QB(Zo),mmr=QB(Jl),dmr=[0,[17,0,0],QB(bv)],Emr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kmr=QB(rh),hmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ymr=QB(BA),Cmr=QB(Zo),wmr=QB(Jl),Amr=[0,[17,0,0],QB(bv)],_mr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gmr=QB(V),Bmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Smr=QB(BA),xmr=QB(Zo),Tmr=QB(Jl),Imr=[0,[17,0,0],QB(bv)],Nmr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Omr=QB(AE),Lmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Pmr=[0,[17,0,0],QB(bv)],Rmr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Mmr=QB(Gu),jmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Umr=QB(BA),Xmr=QB(Zo),Gmr=QB(Jl),Jmr=[0,[17,0,0],QB(bv)],qmr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],zmr=[0,[15,0],QB(lD)],Wmr=QB(cp),Vmr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],$mr=QB(\"Flow_ast.Statement.DoWhile.body\"),Ymr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Hmr=[0,[17,0,0],QB(bv)],Kmr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Qmr=QB(rh),Zmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rdr=[0,[17,0,0],QB(bv)],edr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],tdr=QB(Gu),ndr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],udr=QB(BA),adr=QB(Zo),idr=QB(Jl),cdr=[0,[17,0,0],QB(bv)],fdr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],odr=[0,[15,0],QB(lD)],sdr=QB(cp),ldr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],vdr=QB(\"Flow_ast.Statement.While.test\"),Ddr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pdr=[0,[17,0,0],QB(bv)],bdr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fdr=QB(AE),mdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ddr=[0,[17,0,0],QB(bv)],Edr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kdr=QB(Gu),hdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ydr=QB(BA),Cdr=QB(Zo),wdr=QB(Jl),Adr=[0,[17,0,0],QB(bv)],_dr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],gdr=[0,[15,0],QB(lD)],Bdr=QB(\"Flow_ast.Statement.VariableDeclaration.Var\"),Sdr=QB(\"Flow_ast.Statement.VariableDeclaration.Let\"),xdr=QB(\"Flow_ast.Statement.VariableDeclaration.Const\"),Tdr=[0,[15,0],QB(lD)],Idr=QB(cp),Ndr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Odr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ldr=QB(\"Flow_ast.Statement.VariableDeclaration.declarations\"),Pdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Rdr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Mdr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],jdr=[0,[17,0,0],QB(bv)],Udr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Xdr=QB(Xe),Gdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Jdr=[0,[17,0,0],QB(bv)],qdr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zdr=QB(Gu),Wdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vdr=QB(BA),$dr=QB(Zo),Ydr=QB(Jl),Hdr=[0,[17,0,0],QB(bv)],Kdr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Qdr=[0,[15,0],QB(lD)],Zdr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],rEr=QB(\"Flow_ast.Statement.VariableDeclaration.Declarator.id\"),eEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tEr=[0,[17,0,0],QB(bv)],nEr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uEr=QB(nk),aEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iEr=QB(BA),cEr=QB(Zo),fEr=QB(Jl),oEr=[0,[17,0,0],QB(bv)],sEr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],lEr=[0,[15,0],QB(lD)],vEr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],DEr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],pEr=[0,[17,0,[12,41,0]],QB(ce)],bEr=[0,[15,0],QB(lD)],FEr=QB(cp),mEr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],dEr=QB(\"Flow_ast.Statement.Try.block\"),EEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kEr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hEr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],yEr=[0,[17,0,[12,41,0]],QB(ce)],CEr=[0,[17,0,0],QB(bv)],wEr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],AEr=QB(Kn),_Er=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gEr=QB(BA),BEr=QB(Zo),SEr=QB(Jl),xEr=[0,[17,0,0],QB(bv)],TEr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],IEr=QB(bl),NEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],OEr=QB(BA),LEr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],PEr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],REr=[0,[17,0,[12,41,0]],QB(ce)],MEr=QB(Zo),jEr=QB(Jl),UEr=[0,[17,0,0],QB(bv)],XEr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],GEr=QB(Gu),JEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qEr=QB(BA),zEr=QB(Zo),WEr=QB(Jl),VEr=[0,[17,0,0],QB(bv)],$Er=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],YEr=[0,[15,0],QB(lD)],HEr=QB(cp),KEr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],QEr=QB(\"Flow_ast.Statement.Try.CatchClause.param\"),ZEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rkr=QB(BA),ekr=QB(Zo),tkr=QB(Jl),nkr=[0,[17,0,0],QB(bv)],ukr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],akr=QB(AE),ikr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ckr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],fkr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],okr=[0,[17,0,[12,41,0]],QB(ce)],skr=[0,[17,0,0],QB(bv)],lkr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vkr=QB(Gu),Dkr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pkr=QB(BA),bkr=QB(Zo),Fkr=QB(Jl),mkr=[0,[17,0,0],QB(bv)],dkr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Ekr=[0,[15,0],QB(lD)],kkr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hkr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ykr=[0,[17,0,[12,41,0]],QB(ce)],Ckr=[0,[15,0],QB(lD)],wkr=QB(cp),Akr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],_kr=QB(\"Flow_ast.Statement.Throw.argument\"),gkr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Bkr=[0,[17,0,0],QB(bv)],Skr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],xkr=QB(Gu),Tkr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ikr=QB(BA),Nkr=QB(Zo),Okr=QB(Jl),Lkr=[0,[17,0,0],QB(bv)],Pkr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Rkr=[0,[15,0],QB(lD)],Mkr=QB(cp),jkr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ukr=QB(\"Flow_ast.Statement.Return.argument\"),Xkr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Gkr=QB(BA),Jkr=QB(Zo),qkr=QB(Jl),zkr=[0,[17,0,0],QB(bv)],Wkr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Vkr=QB(Gu),$kr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ykr=QB(BA),Hkr=QB(Zo),Kkr=QB(Jl),Qkr=[0,[17,0,0],QB(bv)],Zkr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],rhr=[0,[15,0],QB(lD)],ehr=QB(cp),thr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],nhr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],uhr=QB(\"Flow_ast.Statement.Switch.discriminant\"),ahr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ihr=[0,[17,0,0],QB(bv)],chr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fhr=QB(Sd),ohr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],shr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],lhr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],vhr=[0,[17,0,0],QB(bv)],Dhr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],phr=QB(Gu),bhr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Fhr=QB(BA),mhr=QB(Zo),dhr=QB(Jl),Ehr=[0,[17,0,0],QB(bv)],khr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],hhr=[0,[15,0],QB(lD)],yhr=QB(cp),Chr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],whr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ahr=QB(\"Flow_ast.Statement.Switch.Case.test\"),_hr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ghr=QB(BA),Bhr=QB(Zo),Shr=QB(Jl),xhr=[0,[17,0,0],QB(bv)],Thr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ihr=QB(Rp),Nhr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ohr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Lhr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Phr=[0,[17,0,0],QB(bv)],Rhr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Mhr=QB(Gu),jhr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Uhr=QB(BA),Xhr=QB(Zo),Ghr=QB(Jl),Jhr=[0,[17,0,0],QB(bv)],qhr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],zhr=[0,[15,0],QB(lD)],Whr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Vhr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],$hr=[0,[17,0,[12,41,0]],QB(ce)],Yhr=[0,[15,0],QB(lD)],Hhr=QB(cp),Khr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Qhr=QB(\"Flow_ast.Statement.OpaqueType.id\"),Zhr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ryr=[0,[17,0,0],QB(bv)],eyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],tyr=QB(yr),nyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uyr=QB(BA),ayr=QB(Zo),iyr=QB(Jl),cyr=[0,[17,0,0],QB(bv)],fyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],oyr=QB(fb),syr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lyr=QB(BA),vyr=QB(Zo),Dyr=QB(Jl),pyr=[0,[17,0,0],QB(bv)],byr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fyr=QB(uF),myr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dyr=QB(BA),Eyr=QB(Zo),kyr=QB(Jl),hyr=[0,[17,0,0],QB(bv)],yyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Cyr=QB(Gu),wyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ayr=QB(BA),_yr=QB(Zo),gyr=QB(Jl),Byr=[0,[17,0,0],QB(bv)],Syr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],xyr=[0,[15,0],QB(lD)],Tyr=QB(cp),Iyr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Nyr=QB(\"Flow_ast.Statement.TypeAlias.id\"),Oyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Lyr=[0,[17,0,0],QB(bv)],Pyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ryr=QB(yr),Myr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jyr=QB(BA),Uyr=QB(Zo),Xyr=QB(Jl),Gyr=[0,[17,0,0],QB(bv)],Jyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],qyr=QB(iu),zyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Wyr=[0,[17,0,0],QB(bv)],Vyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$yr=QB(Gu),Yyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Hyr=QB(BA),Kyr=QB(Zo),Qyr=QB(Jl),Zyr=[0,[17,0,0],QB(bv)],rCr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],eCr=[0,[15,0],QB(lD)],tCr=QB(cp),nCr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],uCr=QB(\"Flow_ast.Statement.With._object\"),aCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iCr=[0,[17,0,0],QB(bv)],cCr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fCr=QB(AE),oCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sCr=[0,[17,0,0],QB(bv)],lCr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vCr=QB(Gu),DCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pCr=QB(BA),bCr=QB(Zo),FCr=QB(Jl),mCr=[0,[17,0,0],QB(bv)],dCr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],ECr=[0,[15,0],QB(lD)],kCr=QB(cp),hCr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],yCr=QB(\"Flow_ast.Statement.Debugger.comments\"),CCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wCr=QB(BA),ACr=QB(Zo),_Cr=QB(Jl),gCr=[0,[17,0,0],QB(bv)],BCr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],SCr=[0,[15,0],QB(lD)],xCr=QB(cp),TCr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ICr=QB(\"Flow_ast.Statement.Continue.label\"),NCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],OCr=QB(BA),LCr=QB(Zo),PCr=QB(Jl),RCr=[0,[17,0,0],QB(bv)],MCr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jCr=QB(Gu),UCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XCr=QB(BA),GCr=QB(Zo),JCr=QB(Jl),qCr=[0,[17,0,0],QB(bv)],zCr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],WCr=[0,[15,0],QB(lD)],VCr=QB(cp),$Cr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],YCr=QB(\"Flow_ast.Statement.Break.label\"),HCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],KCr=QB(BA),QCr=QB(Zo),ZCr=QB(Jl),rwr=[0,[17,0,0],QB(bv)],ewr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],twr=QB(Gu),nwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uwr=QB(BA),awr=QB(Zo),iwr=QB(Jl),cwr=[0,[17,0,0],QB(bv)],fwr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],owr=[0,[15,0],QB(lD)],swr=QB(cp),lwr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],vwr=QB(\"Flow_ast.Statement.Labeled.label\"),Dwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pwr=[0,[17,0,0],QB(bv)],bwr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fwr=QB(AE),mwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dwr=[0,[17,0,0],QB(bv)],Ewr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kwr=QB(Gu),hwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ywr=QB(BA),Cwr=QB(Zo),wwr=QB(Jl),Awr=[0,[17,0,0],QB(bv)],_wr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],gwr=[0,[15,0],QB(lD)],Bwr=QB(cp),Swr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],xwr=QB(\"Flow_ast.Statement.If.test\"),Twr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Iwr=[0,[17,0,0],QB(bv)],Nwr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Owr=QB(Rp),Lwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Pwr=[0,[17,0,0],QB(bv)],Rwr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Mwr=QB(qF),jwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Uwr=QB(BA),Xwr=QB(Zo),Gwr=QB(Jl),Jwr=[0,[17,0,0],QB(bv)],qwr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zwr=QB(Gu),Wwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vwr=QB(BA),$wr=QB(Zo),Ywr=QB(Jl),Hwr=[0,[17,0,0],QB(bv)],Kwr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Qwr=[0,[15,0],QB(lD)],Zwr=QB(cp),rAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],eAr=QB(\"Flow_ast.Statement.If.Alternate.body\"),tAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nAr=[0,[17,0,0],QB(bv)],uAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],aAr=QB(Gu),iAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cAr=QB(BA),fAr=QB(Zo),oAr=QB(Jl),sAr=[0,[17,0,0],QB(bv)],lAr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],vAr=[0,[15,0],QB(lD)],DAr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],pAr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],bAr=[0,[17,0,[12,41,0]],QB(ce)],FAr=[0,[15,0],QB(lD)],mAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],EAr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],kAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],yAr=QB(\"Flow_ast.Statement.Block.body\"),CAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],AAr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],_Ar=[0,[17,0,0],QB(bv)],gAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BAr=QB(Gu),SAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xAr=QB(BA),TAr=QB(Zo),IAr=QB(Jl),NAr=[0,[17,0,0],QB(bv)],OAr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],LAr=[0,[15,0],QB(lD)],PAr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Predicate.Declared\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Predicate.Declared@ \")],RAr=[0,[17,0,[12,41,0]],QB(ce)],MAr=QB(\"Flow_ast.Type.Predicate.Inferred\"),jAr=[0,[15,0],QB(lD)],UAr=QB(cp),XAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],GAr=QB(\"Flow_ast.Type.Predicate.kind\"),JAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qAr=[0,[17,0,0],QB(bv)],zAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],WAr=QB(Gu),VAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$Ar=QB(BA),YAr=QB(Zo),HAr=QB(Jl),KAr=[0,[17,0,0],QB(bv)],QAr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],ZAr=[0,[15,0],QB(lD)],r_r=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],e_r=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],t_r=[0,[17,0,[12,41,0]],QB(ce)],n_r=[0,[15,0],QB(lD)],u_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],a_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],i_r=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],c_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],f_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],o_r=QB(\"Flow_ast.Type.TypeArgs.arguments\"),s_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],l_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],v_r=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],D_r=[0,[17,0,0],QB(bv)],p_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],b_r=QB(Gu),F_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],m_r=QB(BA),d_r=QB(Zo),E_r=QB(Jl),k_r=[0,[17,0,0],QB(bv)],h_r=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],y_r=[0,[15,0],QB(lD)],C_r=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],w_r=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],A_r=[0,[17,0,[12,41,0]],QB(ce)],__r=[0,[15,0],QB(lD)],g_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],B_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],S_r=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],x_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],T_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],I_r=QB(\"Flow_ast.Type.TypeParams.params\"),N_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],O_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],L_r=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],P_r=[0,[17,0,0],QB(bv)],R_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],M_r=QB(Gu),j_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],U_r=QB(BA),X_r=QB(Zo),G_r=QB(Jl),J_r=[0,[17,0,0],QB(bv)],q_r=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],z_r=[0,[15,0],QB(lD)],W_r=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],V_r=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],$_r=[0,[17,0,[12,41,0]],QB(ce)],Y_r=[0,[15,0],QB(lD)],H_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],K_r=QB(\"Flow_ast.Type.TypeParam.name\"),Q_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Z_r=[0,[17,0,0],QB(bv)],rgr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],egr=QB(Bn),tgr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ngr=[0,[17,0,0],QB(bv)],ugr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],agr=QB(Sp),igr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cgr=QB(BA),fgr=QB(Zo),ogr=QB(Jl),sgr=[0,[17,0,0],QB(bv)],lgr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vgr=QB(JC),Dgr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pgr=QB(BA),bgr=QB(Zo),Fgr=QB(Jl),mgr=[0,[17,0,0],QB(bv)],dgr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Egr=[0,[15,0],QB(lD)],kgr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hgr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ygr=[0,[17,0,[12,41,0]],QB(ce)],Cgr=[0,[15,0],QB(lD)],wgr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Missing\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Missing@ \")],Agr=[0,[17,0,[12,41,0]],QB(ce)],_gr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Available\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Available@ \")],ggr=[0,[17,0,[12,41,0]],QB(ce)],Bgr=[0,[15,0],QB(lD)],Sgr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],xgr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Tgr=[0,[17,0,[12,41,0]],QB(ce)],Igr=[0,[15,0],QB(lD)],Ngr=QB(cp),Ogr=QB(cp),Lgr=QB(cp),Pgr=QB(cp),Rgr=QB(cp),Mgr=QB(cp),jgr=QB(cp),Ugr=QB(cp),Xgr=QB(cp),Ggr=QB(cp),Jgr=QB(cp),qgr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Any\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Any@ \")],zgr=QB(BA),Wgr=QB(Zo),Vgr=QB(Jl),$gr=[0,[17,0,[12,41,0]],QB(ce)],Ygr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Mixed\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Mixed@ \")],Hgr=QB(BA),Kgr=QB(Zo),Qgr=QB(Jl),Zgr=[0,[17,0,[12,41,0]],QB(ce)],rBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Empty\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Empty@ \")],eBr=QB(BA),tBr=QB(Zo),nBr=QB(Jl),uBr=[0,[17,0,[12,41,0]],QB(ce)],aBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Void\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Void@ \")],iBr=QB(BA),cBr=QB(Zo),fBr=QB(Jl),oBr=[0,[17,0,[12,41,0]],QB(ce)],sBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Null\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Null@ \")],lBr=QB(BA),vBr=QB(Zo),DBr=QB(Jl),pBr=[0,[17,0,[12,41,0]],QB(ce)],bBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Number\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Number@ \")],FBr=QB(BA),mBr=QB(Zo),dBr=QB(Jl),EBr=[0,[17,0,[12,41,0]],QB(ce)],kBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.BigInt\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.BigInt@ \")],hBr=QB(BA),yBr=QB(Zo),CBr=QB(Jl),wBr=[0,[17,0,[12,41,0]],QB(ce)],ABr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.String\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.String@ \")],_Br=QB(BA),gBr=QB(Zo),BBr=QB(Jl),SBr=[0,[17,0,[12,41,0]],QB(ce)],xBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Boolean\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Boolean@ \")],TBr=QB(BA),IBr=QB(Zo),NBr=QB(Jl),OBr=[0,[17,0,[12,41,0]],QB(ce)],LBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Symbol\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Symbol@ \")],PBr=QB(BA),RBr=QB(Zo),MBr=QB(Jl),jBr=[0,[17,0,[12,41,0]],QB(ce)],UBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Exists\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Exists@ \")],XBr=QB(BA),GBr=QB(Zo),JBr=QB(Jl),qBr=[0,[17,0,[12,41,0]],QB(ce)],zBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Nullable\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Nullable@ \")],WBr=[0,[17,0,[12,41,0]],QB(ce)],VBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Function\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Function@ \")],$Br=[0,[17,0,[12,41,0]],QB(ce)],YBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object@ \")],HBr=[0,[17,0,[12,41,0]],QB(ce)],KBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Interface\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Interface@ \")],QBr=[0,[17,0,[12,41,0]],QB(ce)],ZBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Array\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Array@ \")],rSr=[0,[17,0,[12,41,0]],QB(ce)],eSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Generic\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Generic@ \")],tSr=[0,[17,0,[12,41,0]],QB(ce)],nSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Union\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Union@ \")],uSr=[0,[17,0,[12,41,0]],QB(ce)],aSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Intersection\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Intersection@ \")],iSr=[0,[17,0,[12,41,0]],QB(ce)],cSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Typeof\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Typeof@ \")],fSr=[0,[17,0,[12,41,0]],QB(ce)],oSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Tuple\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Tuple@ \")],sSr=[0,[17,0,[12,41,0]],QB(ce)],lSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.StringLiteral\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.StringLiteral@ \")],vSr=[0,[17,0,[12,41,0]],QB(ce)],DSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.NumberLiteral\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.NumberLiteral@ \")],pSr=[0,[17,0,[12,41,0]],QB(ce)],bSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.BigIntLiteral\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.BigIntLiteral@ \")],FSr=[0,[17,0,[12,41,0]],QB(ce)],mSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.BooleanLiteral\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.BooleanLiteral@ \")],dSr=[0,[17,0,[12,41,0]],QB(ce)],ESr=[0,[15,0],QB(lD)],kSr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ySr=[0,[17,0,[12,41,0]],QB(ce)],CSr=[0,[15,0],QB(lD)],wSr=QB(cp),ASr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_Sr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],gSr=QB(\"Flow_ast.Type.Intersection.types\"),BSr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],SSr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],xSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],TSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ISr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],NSr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],OSr=[0,[17,0,[12,41,0]],QB(ce)],LSr=[0,[17,0,0],QB(bv)],PSr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],RSr=QB(Gu),MSr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jSr=QB(BA),USr=QB(Zo),XSr=QB(Jl),GSr=[0,[17,0,0],QB(bv)],JSr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],qSr=[0,[15,0],QB(lD)],zSr=QB(cp),WSr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],VSr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],$Sr=QB(\"Flow_ast.Type.Union.types\"),YSr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],HSr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],KSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],QSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ZSr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],rxr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],exr=[0,[17,0,[12,41,0]],QB(ce)],txr=[0,[17,0,0],QB(bv)],nxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uxr=QB(Gu),axr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ixr=QB(BA),cxr=QB(Zo),fxr=QB(Jl),oxr=[0,[17,0,0],QB(bv)],sxr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],lxr=[0,[15,0],QB(lD)],vxr=QB(cp),Dxr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],pxr=QB(\"Flow_ast.Type.Array.argument\"),bxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Fxr=[0,[17,0,0],QB(bv)],mxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dxr=QB(Gu),Exr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kxr=QB(BA),hxr=QB(Zo),yxr=QB(Jl),Cxr=[0,[17,0,0],QB(bv)],wxr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Axr=[0,[15,0],QB(lD)],_xr=QB(cp),gxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Bxr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Sxr=QB(\"Flow_ast.Type.Tuple.types\"),xxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Txr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Ixr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Nxr=[0,[17,0,0],QB(bv)],Oxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Lxr=QB(Gu),Pxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Rxr=QB(BA),Mxr=QB(Zo),jxr=QB(Jl),Uxr=[0,[17,0,0],QB(bv)],Xxr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Gxr=[0,[15,0],QB(lD)],Jxr=QB(cp),qxr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],zxr=QB(\"Flow_ast.Type.Typeof.argument\"),Wxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vxr=[0,[17,0,0],QB(bv)],$xr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Yxr=QB(Kf),Hxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Kxr=[0,[9,0,0],QB(kb)],Qxr=[0,[17,0,0],QB(bv)],Zxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rTr=QB(Gu),eTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tTr=QB(BA),nTr=QB(Zo),uTr=QB(Jl),aTr=[0,[17,0,0],QB(bv)],iTr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],cTr=[0,[15,0],QB(lD)],fTr=QB(cp),oTr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],sTr=QB(\"Flow_ast.Type.Nullable.argument\"),lTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],vTr=[0,[17,0,0],QB(bv)],DTr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pTr=QB(Gu),bTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FTr=QB(BA),mTr=QB(Zo),dTr=QB(Jl),ETr=[0,[17,0,0],QB(bv)],kTr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],hTr=[0,[15,0],QB(lD)],yTr=QB(cp),CTr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],wTr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ATr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],_Tr=[0,[17,0,[12,41,0]],QB(ce)],gTr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],BTr=QB(\"Flow_ast.Type.Interface.body\"),STr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xTr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],TTr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ITr=[0,[17,0,[12,41,0]],QB(ce)],NTr=[0,[17,0,0],QB(bv)],OTr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],LTr=QB(Dp),PTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],RTr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],MTr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],jTr=[0,[17,0,0],QB(bv)],UTr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XTr=QB(Gu),GTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JTr=QB(BA),qTr=QB(Zo),zTr=QB(Jl),WTr=[0,[17,0,0],QB(bv)],VTr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],$Tr=[0,[15,0],QB(lD)],YTr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.Property\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.Property@ \")],HTr=[0,[17,0,[12,41,0]],QB(ce)],KTr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.SpreadProperty\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.SpreadProperty@ \")],QTr=[0,[17,0,[12,41,0]],QB(ce)],ZTr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.Indexer\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.Indexer@ \")],rIr=[0,[17,0,[12,41,0]],QB(ce)],eIr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.CallProperty\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.CallProperty@ \")],tIr=[0,[17,0,[12,41,0]],QB(ce)],nIr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.InternalSlot\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.InternalSlot@ \")],uIr=[0,[17,0,[12,41,0]],QB(ce)],aIr=[0,[15,0],QB(lD)],iIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cIr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],fIr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],oIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],sIr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],lIr=QB(\"Flow_ast.Type.Object.exact\"),vIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],DIr=[0,[9,0,0],QB(kb)],pIr=[0,[17,0,0],QB(bv)],bIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],FIr=QB(Cw),mIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dIr=[0,[9,0,0],QB(kb)],EIr=[0,[17,0,0],QB(bv)],kIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hIr=QB(Bu),yIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],CIr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],wIr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],AIr=[0,[17,0,0],QB(bv)],_Ir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gIr=QB(Gu),BIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],SIr=QB(BA),xIr=QB(Zo),TIr=QB(Jl),IIr=[0,[17,0,0],QB(bv)],NIr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],OIr=[0,[15,0],QB(lD)],LIr=QB(cp),PIr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],RIr=QB(\"Flow_ast.Type.Object.InternalSlot.id\"),MIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jIr=[0,[17,0,0],QB(bv)],UIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XIr=QB(Im),GIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JIr=[0,[17,0,0],QB(bv)],qIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zIr=QB(Dv),WIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VIr=[0,[9,0,0],QB(kb)],$Ir=[0,[17,0,0],QB(bv)],YIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],HIr=QB(Vu),KIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QIr=[0,[9,0,0],QB(kb)],ZIr=[0,[17,0,0],QB(bv)],rNr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],eNr=QB(N),tNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nNr=[0,[9,0,0],QB(kb)],uNr=[0,[17,0,0],QB(bv)],aNr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],iNr=QB(Gu),cNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fNr=QB(BA),oNr=QB(Zo),sNr=QB(Jl),lNr=[0,[17,0,0],QB(bv)],vNr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],DNr=[0,[15,0],QB(lD)],pNr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],bNr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],FNr=[0,[17,0,[12,41,0]],QB(ce)],mNr=[0,[15,0],QB(lD)],dNr=QB(cp),ENr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],kNr=QB(\"Flow_ast.Type.Object.CallProperty.value\"),hNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],yNr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],CNr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],wNr=[0,[17,0,[12,41,0]],QB(ce)],ANr=[0,[17,0,0],QB(bv)],_Nr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gNr=QB(Vu),BNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],SNr=[0,[9,0,0],QB(kb)],xNr=[0,[17,0,0],QB(bv)],TNr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],INr=QB(Gu),NNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ONr=QB(BA),LNr=QB(Zo),PNr=QB(Jl),RNr=[0,[17,0,0],QB(bv)],MNr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],jNr=[0,[15,0],QB(lD)],UNr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],XNr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],GNr=[0,[17,0,[12,41,0]],QB(ce)],JNr=[0,[15,0],QB(lD)],qNr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],zNr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],WNr=[0,[17,0,[12,41,0]],QB(ce)],VNr=[0,[15,0],QB(lD)],$Nr=QB(cp),YNr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],HNr=QB(\"Flow_ast.Type.Object.Indexer.id\"),KNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QNr=QB(BA),ZNr=QB(Zo),rOr=QB(Jl),eOr=[0,[17,0,0],QB(bv)],tOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],nOr=QB(DB),uOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],aOr=[0,[17,0,0],QB(bv)],iOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cOr=QB(Im),fOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],oOr=[0,[17,0,0],QB(bv)],sOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],lOr=QB(Vu),vOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],DOr=[0,[9,0,0],QB(kb)],pOr=[0,[17,0,0],QB(bv)],bOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],FOr=QB(Sp),mOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dOr=QB(BA),EOr=QB(Zo),kOr=QB(Jl),hOr=[0,[17,0,0],QB(bv)],yOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],COr=QB(Gu),wOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],AOr=QB(BA),_Or=QB(Zo),gOr=QB(Jl),BOr=[0,[17,0,0],QB(bv)],SOr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],xOr=[0,[15,0],QB(lD)],TOr=QB(cp),IOr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],NOr=QB(\"Flow_ast.Type.Object.SpreadProperty.argument\"),OOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LOr=[0,[17,0,0],QB(bv)],POr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ROr=QB(Gu),MOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jOr=QB(BA),UOr=QB(Zo),XOr=QB(Jl),GOr=[0,[17,0,0],QB(bv)],JOr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],qOr=[0,[15,0],QB(lD)],zOr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],WOr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],VOr=[0,[17,0,[12,41,0]],QB(ce)],$Or=[0,[15,0],QB(lD)],YOr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.Property.Init\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.Property.Init@ \")],HOr=[0,[17,0,[12,41,0]],QB(ce)],KOr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.Property.Get\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.Property.Get@ \")],QOr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ZOr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],rLr=[0,[17,0,[12,41,0]],QB(ce)],eLr=[0,[17,0,[12,41,0]],QB(ce)],tLr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Object.Property.Set\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Object.Property.Set@ \")],nLr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],uLr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],aLr=[0,[17,0,[12,41,0]],QB(ce)],iLr=[0,[17,0,[12,41,0]],QB(ce)],cLr=[0,[15,0],QB(lD)],fLr=QB(cp),oLr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],sLr=QB(\"Flow_ast.Type.Object.Property.key\"),lLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],vLr=[0,[17,0,0],QB(bv)],DLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pLr=QB(Im),bLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FLr=[0,[17,0,0],QB(bv)],mLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dLr=QB(Dv),ELr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kLr=[0,[9,0,0],QB(kb)],hLr=[0,[17,0,0],QB(bv)],yLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],CLr=QB(Vu),wLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ALr=[0,[9,0,0],QB(kb)],_Lr=[0,[17,0,0],QB(bv)],gLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BLr=QB(ck),SLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xLr=[0,[9,0,0],QB(kb)],TLr=[0,[17,0,0],QB(bv)],ILr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],NLr=QB(N),OLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LLr=[0,[9,0,0],QB(kb)],PLr=[0,[17,0,0],QB(bv)],RLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],MLr=QB(Sp),jLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ULr=QB(BA),XLr=QB(Zo),GLr=QB(Jl),JLr=[0,[17,0,0],QB(bv)],qLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zLr=QB(Gu),WLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VLr=QB(BA),$Lr=QB(Zo),YLr=QB(Jl),HLr=[0,[17,0,0],QB(bv)],KLr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],QLr=[0,[15,0],QB(lD)],ZLr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],rPr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ePr=[0,[17,0,[12,41,0]],QB(ce)],tPr=[0,[15,0],QB(lD)],nPr=QB(cp),uPr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],aPr=QB(\"Flow_ast.Type.Generic.id\"),iPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cPr=[0,[17,0,0],QB(bv)],fPr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],oPr=QB(FC),sPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lPr=QB(BA),vPr=QB(Zo),DPr=QB(Jl),pPr=[0,[17,0,0],QB(bv)],bPr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],FPr=QB(Gu),mPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dPr=QB(BA),EPr=QB(Zo),kPr=QB(Jl),hPr=[0,[17,0,0],QB(bv)],yPr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],CPr=[0,[15,0],QB(lD)],wPr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],APr=QB(\"Flow_ast.Type.Generic.Identifier.qualification\"),_Pr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gPr=[0,[17,0,0],QB(bv)],BPr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],SPr=QB(pi),xPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],TPr=[0,[17,0,0],QB(bv)],IPr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],NPr=[0,[15,0],QB(lD)],OPr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],LPr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],PPr=[0,[17,0,[12,41,0]],QB(ce)],RPr=[0,[15,0],QB(lD)],MPr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Generic.Identifier.Unqualified\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Generic.Identifier.Unqualified@ \")],jPr=[0,[17,0,[12,41,0]],QB(ce)],UPr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Type.Generic.Identifier.Qualified\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Type.Generic.Identifier.Qualified@ \")],XPr=[0,[17,0,[12,41,0]],QB(ce)],GPr=[0,[15,0],QB(lD)],JPr=QB(cp),qPr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],zPr=QB(\"Flow_ast.Type.Function.tparams\"),WPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VPr=QB(BA),$Pr=QB(Zo),YPr=QB(Jl),HPr=[0,[17,0,0],QB(bv)],KPr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],QPr=QB(w),ZPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rRr=[0,[17,0,0],QB(bv)],eRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],tRr=QB(Kt),nRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uRr=[0,[17,0,0],QB(bv)],aRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],iRr=QB(Gu),cRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fRr=QB(BA),oRr=QB(Zo),sRr=QB(Jl),lRr=[0,[17,0,0],QB(bv)],vRr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],DRr=[0,[15,0],QB(lD)],pRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],bRr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],FRr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],mRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dRr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ERr=QB(\"Flow_ast.Type.Function.Params.this_\"),kRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hRr=QB(BA),yRr=QB(Zo),CRr=QB(Jl),wRr=[0,[17,0,0],QB(bv)],ARr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_Rr=QB(w),gRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],BRr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],SRr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],xRr=[0,[17,0,0],QB(bv)],TRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],IRr=QB(ka),NRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ORr=QB(BA),LRr=QB(Zo),PRr=QB(Jl),RRr=[0,[17,0,0],QB(bv)],MRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jRr=QB(Gu),URr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XRr=QB(BA),GRr=QB(Zo),JRr=QB(Jl),qRr=[0,[17,0,0],QB(bv)],zRr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],WRr=[0,[15,0],QB(lD)],VRr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],$Rr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],YRr=[0,[17,0,[12,41,0]],QB(ce)],HRr=[0,[15,0],QB(lD)],KRr=QB(cp),QRr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ZRr=QB(\"Flow_ast.Type.Function.ThisParam.annot\"),rMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],eMr=[0,[17,0,0],QB(bv)],tMr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],nMr=QB(Gu),uMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],aMr=QB(BA),iMr=QB(Zo),cMr=QB(Jl),fMr=[0,[17,0,0],QB(bv)],oMr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],sMr=[0,[15,0],QB(lD)],lMr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],vMr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],DMr=[0,[17,0,[12,41,0]],QB(ce)],pMr=[0,[15,0],QB(lD)],bMr=QB(cp),FMr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],mMr=QB(\"Flow_ast.Type.Function.RestParam.argument\"),dMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],EMr=[0,[17,0,0],QB(bv)],kMr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hMr=QB(Gu),yMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],CMr=QB(BA),wMr=QB(Zo),AMr=QB(Jl),_Mr=[0,[17,0,0],QB(bv)],gMr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],BMr=[0,[15,0],QB(lD)],SMr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],xMr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],TMr=[0,[17,0,[12,41,0]],QB(ce)],IMr=[0,[15,0],QB(lD)],NMr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],OMr=QB(\"Flow_ast.Type.Function.Param.name\"),LMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],PMr=QB(BA),RMr=QB(Zo),MMr=QB(Jl),jMr=[0,[17,0,0],QB(bv)],UMr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XMr=QB(ra),GMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JMr=[0,[17,0,0],QB(bv)],qMr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zMr=QB(Dv),WMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VMr=[0,[9,0,0],QB(kb)],$Mr=[0,[17,0,0],QB(bv)],YMr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],HMr=[0,[15,0],QB(lD)],KMr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],QMr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ZMr=[0,[17,0,[12,41,0]],QB(ce)],rjr=[0,[15,0],QB(lD)],ejr=QB(cp),tjr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],njr=QB(\"Flow_ast.ComputedKey.expression\"),ujr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ajr=[0,[17,0,0],QB(bv)],ijr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cjr=QB(Gu),fjr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ojr=QB(BA),sjr=QB(Zo),ljr=QB(Jl),vjr=[0,[17,0,0],QB(bv)],Djr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],pjr=[0,[15,0],QB(lD)],bjr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Fjr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],mjr=[0,[17,0,[12,41,0]],QB(ce)],djr=[0,[15,0],QB(lD)],Ejr=QB(cp),kjr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],hjr=QB(\"Flow_ast.Variance.kind\"),yjr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Cjr=[0,[17,0,0],QB(bv)],wjr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ajr=QB(Gu),_jr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gjr=QB(BA),Bjr=QB(Zo),Sjr=QB(Jl),xjr=[0,[17,0,0],QB(bv)],Tjr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Ijr=[0,[15,0],QB(lD)],Njr=QB(\"Flow_ast.Variance.Minus\"),Ojr=QB(\"Flow_ast.Variance.Plus\"),Ljr=[0,[15,0],QB(lD)],Pjr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Rjr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Mjr=[0,[17,0,[12,41,0]],QB(ce)],jjr=[0,[15,0],QB(lD)],Ujr=QB(cp),Xjr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Gjr=QB(\"Flow_ast.BooleanLiteral.value\"),Jjr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qjr=[0,[9,0,0],QB(kb)],zjr=[0,[17,0,0],QB(bv)],Wjr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Vjr=QB(Gu),$jr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Yjr=QB(BA),Hjr=QB(Zo),Kjr=QB(Jl),Qjr=[0,[17,0,0],QB(bv)],Zjr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],rUr=[0,[15,0],QB(lD)],eUr=QB(cp),tUr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],nUr=QB(\"Flow_ast.BigIntLiteral.approx_value\"),uUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],aUr=[0,[8,15,0,0,0],QB(Ki)],iUr=[0,[17,0,0],QB(bv)],cUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fUr=QB(Nd),oUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sUr=[0,[3,0,0],QB(Ly)],lUr=[0,[17,0,0],QB(bv)],vUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],DUr=QB(Gu),pUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bUr=QB(BA),FUr=QB(Zo),mUr=QB(Jl),dUr=[0,[17,0,0],QB(bv)],EUr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],kUr=[0,[15,0],QB(lD)],hUr=QB(cp),yUr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],CUr=QB(\"Flow_ast.NumberLiteral.value\"),wUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],AUr=[0,[8,15,0,0,0],QB(Ki)],_Ur=[0,[17,0,0],QB(bv)],gUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BUr=QB(ge),SUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xUr=[0,[3,0,0],QB(Ly)],TUr=[0,[17,0,0],QB(bv)],IUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],NUr=QB(Gu),OUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LUr=QB(BA),PUr=QB(Zo),RUr=QB(Jl),MUr=[0,[17,0,0],QB(bv)],jUr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],UUr=[0,[15,0],QB(lD)],XUr=QB(cp),GUr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],JUr=QB(\"Flow_ast.StringLiteral.value\"),qUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zUr=[0,[3,0,0],QB(Ly)],WUr=[0,[17,0,0],QB(bv)],VUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$Ur=QB(ge),YUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],HUr=[0,[3,0,0],QB(Ly)],KUr=[0,[17,0,0],QB(bv)],QUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ZUr=QB(Gu),rXr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],eXr=QB(BA),tXr=QB(Zo),nXr=QB(Jl),uXr=[0,[17,0,0],QB(bv)],aXr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],iXr=[0,[15,0],QB(lD)],cXr=QB(\"Flow_ast.Literal.Null\"),fXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Literal.String\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Literal.String@ \")],oXr=[0,[3,0,0],QB(Ly)],sXr=[0,[17,0,[12,41,0]],QB(ce)],lXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Literal.Boolean\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Literal.Boolean@ \")],vXr=[0,[9,0,0],QB(kb)],DXr=[0,[17,0,[12,41,0]],QB(ce)],pXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Literal.Number\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Literal.Number@ \")],bXr=[0,[8,15,0,0,0],QB(Ki)],FXr=[0,[17,0,[12,41,0]],QB(ce)],mXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Literal.BigInt\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Literal.BigInt@ \")],dXr=[0,[8,15,0,0,0],QB(Ki)],EXr=[0,[17,0,[12,41,0]],QB(ce)],kXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"Flow_ast.Literal.RegExp\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>Flow_ast.Literal.RegExp@ \")],hXr=[0,[17,0,[12,41,0]],QB(ce)],yXr=[0,[15,0],QB(lD)],CXr=QB(cp),wXr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],AXr=QB(\"Flow_ast.Literal.value\"),_Xr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gXr=[0,[17,0,0],QB(bv)],BXr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],SXr=QB(ge),xXr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],TXr=[0,[3,0,0],QB(Ly)],IXr=[0,[17,0,0],QB(bv)],NXr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],OXr=QB(Gu),LXr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],PXr=QB(BA),RXr=QB(Zo),MXr=QB(Jl),jXr=[0,[17,0,0],QB(bv)],UXr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],XXr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],GXr=QB(\"Flow_ast.Literal.RegExp.pattern\"),JXr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qXr=[0,[3,0,0],QB(Ly)],zXr=[0,[17,0,0],QB(bv)],WXr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],VXr=QB(wm),$Xr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],YXr=[0,[3,0,0],QB(Ly)],HXr=[0,[17,0,0],QB(bv)],KXr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],QXr=[0,[15,0],QB(lD)],ZXr=[0,[15,0],QB(lD)],rGr=QB(cp),eGr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],tGr=QB(\"Flow_ast.PrivateName.id\"),nGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uGr=[0,[17,0,0],QB(bv)],aGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],iGr=QB(Gu),cGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fGr=QB(BA),oGr=QB(Zo),sGr=QB(Jl),lGr=[0,[17,0,0],QB(bv)],vGr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],DGr=[0,[15,0],QB(lD)],pGr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],bGr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],FGr=[0,[17,0,[12,41,0]],QB(ce)],mGr=[0,[15,0],QB(lD)],dGr=QB(cp),EGr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],kGr=QB(\"Flow_ast.Identifier.name\"),hGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],yGr=[0,[3,0,0],QB(Ly)],CGr=[0,[17,0,0],QB(bv)],wGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],AGr=QB(Gu),_Gr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gGr=QB(BA),BGr=QB(Zo),SGr=QB(Jl),xGr=[0,[17,0,0],QB(bv)],TGr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],IGr=[0,[15,0],QB(lD)],NGr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],OGr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],LGr=[0,[17,0,[12,41,0]],QB(ce)],PGr=[0,[15,0],QB(lD)],RGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],MGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jGr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],UGr=QB(\"Flow_ast.Syntax.leading\"),XGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],GGr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],JGr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],qGr=[0,[17,0,0],QB(bv)],zGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],WGr=QB(\"trailing\"),VGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$Gr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],YGr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],HGr=[0,[17,0,0],QB(bv)],KGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],QGr=QB(Kf),ZGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rJr=[0,[17,0,0],QB(bv)],eJr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],tJr=[0,[0,0,0]],nJr=[0,QB(ow),22,2],uJr=[0,[0,0,0,0,0]],aJr=[0,QB(ow),33,2],iJr=[0,[0,0,0,0,0]],cJr=[0,QB(ow),44,2],fJr=[0,[0,[0,[0,0,0]],0,0,0,0]],oJr=[0,QB(ow),71,2],sJr=[0,[0,0,0]],lJr=[0,QB(ow),81,2],vJr=[0,[0,0,0]],DJr=[0,QB(ow),91,2],pJr=[0,[0,0,0]],bJr=[0,QB(ow),EE,2],FJr=[0,[0,0,0]],mJr=[0,QB(ow),Jr,2],dJr=[0,[0,0,0,0,0,0,0]],EJr=[0,QB(ow),TF,2],kJr=[0,[0,0,0,0,0]],hJr=[0,QB(ow),137,2],yJr=[0,[0,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],CJr=[0,QB(ow),456,2],wJr=[0,[0,[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],AJr=[0,QB(ow),987,2],_Jr=[0,[0,[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0]],gJr=[0,QB(ow),1419,2],BJr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],0,0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0]],SJr=[0,QB(ow),1563,2],xJr=[0,[0,[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],0,0,0,0]],TJr=[0,QB(ow),1648,2],IJr=[0,[0,0,0,0,0,0,0]],NJr=[0,QB(ow),1664,2],OJr=[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],LJr=[0,QB(ow),1787,2],PJr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],RJr=[0,QB(ow),1854,2],MJr=[0,[0,0,0,0,0]],jJr=[0,QB(ow),1866,2],UJr=[0,[0,0,0]],XJr=[0,[0,0,0,0,0]],GJr=[0,[0,0,0,0,0]],JJr=[0,[0,[0,[0,0,0]],0,0,0,0]],qJr=[0,[0,0,0]],zJr=[0,[0,0,0]],WJr=[0,[0,0,0]],VJr=[0,[0,0,0]],$Jr=[0,[0,0,0,0,0,0,0]],YJr=[0,[0,0,0,0,0]],HJr=[0,[0,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],KJr=[0,[0,[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],QJr=[0,[0,[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0]],ZJr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],0,0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0]],rqr=[0,[0,[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],0,0,0,0]],eqr=[0,[0,0,0,0,0,0,0]],tqr=[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],nqr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],uqr=[0,[0,0,0,0,0]],aqr=[0,1],iqr=[0,0],cqr=[0,0],fqr=[0,1],oqr=[0,1],sqr=[0,1],lqr=[0,1],vqr=[0,0,0],Dqr=[0,0,0],pqr=[0,QB(tb),QB(Dl),QB(Ov),QB(Sp),QB(cB),QB(ci),QB(K_),QB(In),QB(lF),QB(SF),QB(p_),QB(Bo),QB(lt),QB(qn),QB(rm),QB(mA),QB(cl),QB(xl),QB(Ec),QB(aD),QB(Lk),QB(yv),QB(ur),QB(bF),QB(sn),QB(jb),QB(Nl),QB(la),QB(Xm),QB(Hp),QB(gF),QB(aB),QB(LC),QB(Af),QB(pl),QB(xe),QB(FB),QB(Pn),QB(ji),QB(Kt),QB(mc),QB(Dh),QB(c),QB(av),QB(JA),QB(aE),QB(oy),QB(Ol),QB(og),QB(jk),QB(yk),QB(fn),QB(Bm),QB(mu),QB(zu),QB(fB),QB(pg),QB(Yk),QB(De),QB(wE),QB(ha),QB(Ca),QB(Op),QB(ok),QB(je),QB(bA),QB(M_),QB(KE),QB(sD),QB(si),QB(an),QB(ou),QB(Za),QB(bh),QB(Wh),QB(Pu),QB(w_),QB(it),QB(Uo),QB(Tm),QB(sc),QB(Te),QB(Wg),QB(t),QB(Hg),QB(Tl),QB(Ws),QB(HC),QB(El),QB(ri),QB(Xo),QB(jh),QB(Oo),QB(iB),QB($i),QB(TE),QB(Uv),QB(_E),QB(s_),QB(U),QB(Co),QB(FF),QB(gg),QB(Fo),QB(Dr),QB(BE),QB(FA),QB(Kl),QB(Eb),QB(Ur),QB(NC),QB(Gf),QB(PC),QB(nl),QB(Ip),QB(lB),QB(Rh),QB(nA),QB(Ik),QB(de),QB(Qg),QB(du),QB(RA),QB(mg),QB(kc),QB(oh),QB(ee),QB(Tw),QB(uf),QB(lm),QB(Fh),QB(ei),QB(tr),QB(mn),QB(io),QB(Kc),QB(hC),QB(SB),QB(wp),QB(tF),QB(B),QB(x_),QB(Lc),QB(tA),QB(os),QB(Zh),QB(at),QB(iv),QB(Wf),QB(Et),QB(Fk),QB(wk),QB(HA),QB(Hr),QB(Ny),QB(Ut),QB(Ho),QB(KA),QB(Tt),QB(Nn),QB(ld),QB(qs),QB(zk),QB(Dk),QB(dd),QB(Kp),QB(pw),QB(lf),QB(sF),QB(fp),QB(dk),QB(Nu),QB(kw),QB(mC),QB(wi),QB(Ui),QB(TD),QB(jE),QB(Pk),QB(Da),QB($p),QB(Pe),QB(aF),QB(mi),QB(gf),QB($n),QB(yw),QB(Je),QB(ar),QB(vn),QB(B_),QB(Mw),QB(Rk),QB($w),QB(et),QB(P),QB(Xi),QB(Up),QB(Zi),QB(mt),QB(Pc),QB(Vw),QB(y),QB(Lr),QB(fe),QB(Al),QB(au),QB(fE),QB(Gk),QB(Ty),QB(tp),QB($o)],bqr=[0,QB(xe),QB(Fh),QB(du),QB(mt),QB(mu),QB(Tm),QB(Za),QB(Co),QB(Eb),QB(mA),QB(gF),QB(Fk),QB(B_),QB(gg),QB(sc),QB(Dr),QB(Dk),QB(Dl),QB(B),QB(iB),QB(Uo),QB(RA),QB(zk),QB(Qg),QB(os),QB(yk),QB(Nu),QB(Xi),QB(ei),QB(P),QB(Uv),QB(Ut),QB(oh),QB(pg),QB(x_),QB(Hp),QB(Al),QB(bh),QB(Ik),QB(Af),QB(Oo),QB(Te),QB(ar),QB(aF),QB(ok),QB(oy),QB(ou),QB(aE),QB(_E),QB($n),QB(M_),QB(av),QB(an),QB(Tw),QB(Wg),QB(FF),QB(ri),QB(jE),QB(xl),QB(Tt),QB(s_),QB(Da),QB(Xo),QB(lm),QB(jk),QB(Ty),QB(fp),QB(Ny),QB(Tl),QB(Ca),QB(tp),QB(Up),QB(ji),QB(Sp),QB(JA),QB(nA),QB(fe),QB(tF),QB(yv),QB(vn),QB(w_),QB(Xm),QB(dd),QB(tA),QB(cl),QB(tb),QB(Lk),QB(mC),QB(p_),QB(wE),QB(mc),QB(SF),QB(Pe),QB(kw),QB(K_),QB(Fo),QB(Ol),QB(Kl),QB(ld),QB(at),QB(wk),QB(jh),QB(De),QB(Zh),QB(lt),QB(aD),QB(cB),QB(FB),QB(Bo),QB(lF),QB(yw),QB(Lc),QB(mi),QB(HC),QB(uf),QB(In),QB($p),QB(it),QB(TE),QB(au),QB(Ws),QB(Rk),QB(Yk),QB(Hg),QB(Rh),QB(Kt),QB(Vw),QB(aB),QB(fB),QB(ur),QB(Ui),QB(de),QB(bA),QB(Wf),QB(Op),QB(io),QB(qs),QB(Gf),QB(gf),QB(tr),QB(El),QB(BE),QB(mg),QB(ee),QB(Nn),QB(c),QB(SB),QB(Ip),QB(KA),QB(Hr),QB(Pu),QB(Pn),QB(PC),QB(sD),QB(fn),QB(Ec),QB(si),QB(Zi),QB(sF),QB($w),QB(dk),QB(la),QB(kc),QB(Dh),QB(lB),QB(Mw),QB(Wh),QB(Je),QB(Ur),QB(Kp),QB(rm),QB($o),QB(ci),QB(et),QB(qn),QB(pw),QB(Pk),QB($i),QB(Bm),QB(FA),QB(jb),QB(fE),QB(zu),QB(Lr),QB(Et),QB(ha),QB(iv),QB(Kc),QB(hC),QB(pl),QB(TD),QB(mn),QB(og),QB(lf),QB(sn),QB(Nl),QB(LC),QB(wp),QB(HA),QB(je),QB(y),QB(nl),QB(U),QB(KE),QB(wi),QB(Ho),QB(Pc),QB(Gk),QB(NC),QB(Ov),QB(bF),QB(t)],Fqr=QB(\"File_key.Builtins\"),mqr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"File_key.LibFile\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>File_key.LibFile@ \")],dqr=[0,[3,0,0],QB(Ly)],Eqr=[0,[17,0,[12,41,0]],QB(ce)],kqr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"File_key.SourceFile\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>File_key.SourceFile@ \")],hqr=[0,[3,0,0],QB(Ly)],yqr=[0,[17,0,[12,41,0]],QB(ce)],Cqr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"File_key.JsonFile\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>File_key.JsonFile@ \")],wqr=[0,[3,0,0],QB(Ly)],Aqr=[0,[17,0,[12,41,0]],QB(ce)],_qr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(\"File_key.ResourceFile\"),[17,[0,QB(vk),1,0],0]]]],QB(\"(@[<2>File_key.ResourceFile@ \")],gqr=[0,[3,0,0],QB(Ly)],Bqr=[0,[17,0,[12,41,0]],QB(ce)],Sqr=QB(nn),xqr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Tqr=QB(\"Loc.line\"),Iqr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Nqr=[0,[4,0,0,0,0],QB(Gn)],Oqr=[0,[17,0,0],QB(bv)],Lqr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Pqr=QB(kt),Rqr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mqr=[0,[4,0,0,0,0],QB(Gn)],jqr=[0,[17,0,0],QB(bv)],Uqr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Xqr=[0,[15,0],QB(lD)],Gqr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Jqr=QB(\"Loc.source\"),qqr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zqr=QB(BA),Wqr=QB(Zo),Vqr=QB(Jl),$qr=[0,[17,0,0],QB(bv)],Yqr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Hqr=QB(T),Kqr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Qqr=[0,[17,0,0],QB(bv)],Zqr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rzr=QB(\"_end\"),ezr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tzr=[0,[17,0,0],QB(bv)],nzr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],uzr=QB(\"==\"),azr=QB(\"!=\"),izr=QB(\"===\"),czr=QB(\"!==\"),fzr=QB(td),ozr=QB(\"<=\"),szr=QB(L),lzr=QB(\">=\"),vzr=QB(\"<<\"),Dzr=QB(\">>\"),pzr=QB(\">>>\"),bzr=QB(bw),Fzr=QB(eC),mzr=QB(\"*\"),dzr=QB(\"**\"),Ezr=QB(fs),kzr=QB(\"%\"),hzr=QB(\"|\"),yzr=QB(VC),Czr=QB(\"&\"),wzr=QB(Rf),Azr=QB(to),_zr=QB(\"+=\"),gzr=QB(\"-=\"),Bzr=QB(\"*=\"),Szr=QB(\"**=\"),xzr=QB(\"/=\"),Tzr=QB(\"%=\"),Izr=QB(\"<<=\"),Nzr=QB(\">>=\"),Ozr=QB(sp),Lzr=QB(\"|=\"),Pzr=QB(\"^=\"),Rzr=QB(\"&=\"),Mzr=QB(Ft),jzr=QB(ms),Uzr=QB(eh),Xzr=QB(ga),Gzr=QB(\"Cannot export an enum with `export type`, try `export enum E {}` or `module.exports = E;` instead.\"),Jzr=QB(\"Enum members are separated with `,`. Replace `;` with `,`.\"),qzr=QB(\"Unexpected reserved word\"),zzr=QB(\"Unexpected reserved type\"),Wzr=QB(\"Unexpected `super` outside of a class method\"),Vzr=QB(\"`super()` is only valid in a class constructor\"),$zr=QB(\"Unexpected end of input\"),Yzr=QB(\"Unexpected variance sigil\"),Hzr=QB(\"Unexpected static modifier\"),Kzr=QB(\"Unexpected proto modifier\"),Qzr=QB(\"Type aliases are not allowed in untyped mode\"),Zzr=QB(\"Opaque type aliases are not allowed in untyped mode\"),rWr=QB(\"Type annotations are not allowed in untyped mode\"),eWr=QB(\"Type declarations are not allowed in untyped mode\"),tWr=QB(\"Type imports are not allowed in untyped mode\"),nWr=QB(\"Type exports are not allowed in untyped mode\"),uWr=QB(\"Interfaces are not allowed in untyped mode\"),aWr=QB(\"Spreading a type is only allowed inside an object type\"),iWr=QB(\"Explicit inexact syntax must come at the end of an object type\"),cWr=QB(\"Explicit inexact syntax cannot appear inside an explicit exact object type\"),fWr=QB(\"Explicit inexact syntax can only appear inside an object type\"),oWr=QB(\"Illegal newline after throw\"),sWr=QB(\"A bigint literal must be an integer\"),lWr=QB(\"A bigint literal cannot use exponential notation\"),vWr=QB(\"Invalid regular expression\"),DWr=QB(\"Invalid regular expression: missing /\"),pWr=QB(\"Invalid left-hand side in assignment\"),bWr=QB(\"Invalid left-hand side in exponentiation expression\"),FWr=QB(\"Invalid left-hand side in for-in\"),mWr=QB(\"Invalid left-hand side in for-of\"),dWr=QB(\"found an expression instead\"),EWr=QB(\"Expected an object pattern, array pattern, or an identifier but \"),kWr=QB(\"More than one default clause in switch statement\"),hWr=QB(\"Missing catch or finally after try\"),yWr=QB(\"Illegal continue statement\"),CWr=QB(\"Illegal break statement\"),wWr=QB(\"Illegal return statement\"),AWr=QB(\"Illegal Unicode escape\"),_Wr=QB(\"Strict mode code may not include a with statement\"),gWr=QB(\"Catch variable may not be eval or arguments in strict mode\"),BWr=QB(\"Variable name may not be eval or arguments in strict mode\"),SWr=QB(\"Parameter name eval or arguments is not allowed in strict mode\"),xWr=QB(\"Strict mode function may not have duplicate parameter names\"),TWr=QB(\"Function name may not be eval or arguments in strict mode\"),IWr=QB(\"Octal literals are not allowed in strict mode.\"),NWr=QB(\"Number literals with leading zeros are not allowed in strict mode.\"),OWr=QB(\"Delete of an unqualified identifier in strict mode.\"),LWr=QB(\"Duplicate data property in object literal not allowed in strict mode\"),PWr=QB(\"Object literal may not have data and accessor property with the same name\"),RWr=QB(\"Object literal may not have multiple get/set accessors with the same name\"),MWr=QB(\"Assignment to eval or arguments is not allowed in strict mode\"),jWr=QB(\"Postfix increment/decrement may not have eval or arguments operand in strict mode\"),UWr=QB(\"Prefix increment/decrement may not have eval or arguments operand in strict mode\"),XWr=QB(\"Use of future reserved word in strict mode\"),GWr=QB(\"JSX attributes must only be assigned a non-empty expression\"),JWr=QB(\"JSX value should be either an expression or a quoted JSX text\"),qWr=QB(\"Const must be initialized\"),zWr=QB(\"Destructuring assignment must be initialized\"),WWr=QB(\"Illegal newline before arrow\"),VWr=QB(Gd),$Wr=QB(\"Async functions can only be declared at top level or \"),YWr=QB(Gd),HWr=QB(\"Generators can only be declared at top level or \"),KWr=QB(\"elements must be wrapped in an enclosing parent tag\"),QWr=QB(\"Unexpected token <. Remember, adjacent JSX \"),ZWr=QB(\"Rest parameter must be final parameter of an argument list\"),rVr=QB(\"Rest element must be final element of an array pattern\"),eVr=QB(\"Rest property must be final property of an object pattern\"),tVr=QB(\"async is an implementation detail and isn't necessary for your declare function statement. It is sufficient for your declare function to just have a Promise return type.\"),nVr=QB(\"`declare` modifier can only appear on class fields.\"),uVr=QB(\"Initializers are not allowed in a `declare`.\"),aVr=QB(\"`declare export let` is not supported. Use `declare export var` instead.\"),iVr=QB(\"`declare export const` is not supported. Use `declare export var` instead.\"),cVr=QB(\"`declare export type` is not supported. Use `export type` instead.\"),fVr=QB(\"`declare export interface` is not supported. Use `export interface` instead.\"),oVr=QB(\"`export * as` is an early-stage proposal and is not enabled by default. To enable support in the parser, use the `esproposal_export_star_as` option\"),sVr=QB(\"When exporting a class as a named export, you must specify a class name. Did you mean `export default class ...`?\"),lVr=QB(\"When exporting a function as a named export, you must specify a function name. Did you mean `export default function ...`?\"),vVr=QB(\"Found a decorator in an unsupported position.\"),DVr=QB(\"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.\"),pVr=QB(\"Duplicate `declare module.exports` statement!\"),bVr=QB(\"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module xor they are a CommonJS module.\"),FVr=QB(\"Getter should have zero parameters\"),mVr=QB(\"Setter should have exactly one parameter\"),dVr=QB(\"`import type` or `import typeof`!\"),EVr=QB(\"Imports within a `declare module` body must always be \"),kVr=QB(\"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements\"),hVr=QB(\"Missing comma between import specifiers\"),yVr=QB(\"Missing comma between export specifiers\"),CVr=QB(\"Malformed unicode\"),wVr=QB(\"Classes may only have one constructor\"),AVr=QB(\"Classes may not have private methods.\"),_Vr=QB(\"Private fields may not be deleted.\"),gVr=QB(\"Private fields can only be referenced from within a class.\"),BVr=QB(\"You may not access a private field through the `super` keyword.\"),SVr=QB(\"Yield expression not allowed in formal parameter\"),xVr=QB(\"`await` is an invalid identifier in async functions\"),TVr=QB(\"`yield` is an invalid identifier in generators\"),IVr=QB(\"either a `let` binding pattern, or a member expression.\"),NVr=QB(\"`let [` is ambiguous in this position because it is \"),OVr=QB(\"Literals cannot be used as shorthand properties.\"),LVr=QB(\"Computed properties must have a value.\"),PVr=QB(\"Object pattern can't contain methods\"),RVr=QB(\"A trailing comma is not permitted after the rest element\"),MVr=QB(\"The optional chaining plugin must be enabled in order to use the optional chaining operator (`?.`). Optional chaining is an active early-stage feature proposal which may change and is not enabled by default. To enable support in the parser, use the `esproposal_optional_chaining` option.\"),jVr=QB(\"An optional chain may not be used in a `new` expression.\"),UVr=QB(\"Template literals may not be used in an optional chain.\"),XVr=QB(\"The nullish coalescing plugin must be enabled in order to use the nullish coalescing operator (`??`). Nullish coalescing is an active early-stage feature proposal which may change and is not enabled by default. To enable support in the parser, use the `esproposal_nullish_coalescing` option.\"),GVr=QB(\"Unexpected whitespace between `#` and identifier\"),JVr=QB(\"A type annotation is required for the `this` parameter.\"),qVr=QB(\"The `this` parameter must be the first function parameter.\"),zVr=QB(\"The `this` parameter cannot be optional.\"),WVr=QB(\"A getter cannot have a `this` parameter.\"),VVr=QB(\"A setter cannot have a `this` parameter.\"),$Vr=QB(\"Arrow functions cannot have a `this` parameter; arrow functions automatically bind `this` when declared.\"),YVr=QB(\"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.\"),HVr=QB(\"Unexpected parser state: \"),KVr=[0,[11,QB(\"Boolean enum members need to be initialized. Use either `\"),[2,0,[11,QB(\" = true,` or `\"),[2,0,[11,QB(\" = false,` in enum `\"),[2,0,[11,QB(Ni),0]]]]]]],QB(\"Boolean enum members need to be initialized. Use either `%s = true,` or `%s = false,` in enum `%s`.\")],QVr=[0,[11,QB(\"Enum member names need to be unique, but the name `\"),[2,0,[11,QB(\"` has already been used before in enum `\"),[2,0,[11,QB(Ni),0]]]]],QB(\"Enum member names need to be unique, but the name `%s` has already been used before in enum `%s`.\")],ZVr=[0,[11,QB(un),[2,0,[11,QB(\"` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.\"),0]]],QB(\"Enum `%s` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.\")],r$r=[0,[11,QB(\"Use one of `boolean`, `number`, `string`, or `symbol` in enum `\"),[2,0,[11,QB(Ni),0]]],QB(\"Use one of `boolean`, `number`, `string`, or `symbol` in enum `%s`.\")],e$r=[0,[11,QB(\"Enum type `\"),[2,0,[11,QB(\"` is not valid. \"),[2,0,0]]]],QB(\"Enum type `%s` is not valid. %s\")],t$r=[0,[11,QB(\"Supplied enum type is not valid. \"),[2,0,0]],QB(\"Supplied enum type is not valid. %s\")],n$r=[0,[11,QB(\"Enum member names and initializers are separated with `=`. Replace `\"),[2,0,[11,QB(\":` with `\"),[2,0,[11,QB(\" =`.\"),0]]]]],QB(\"Enum member names and initializers are separated with `=`. Replace `%s:` with `%s =`.\")],u$r=[0,[11,QB(\"Symbol enum members cannot be initialized. Use `\"),[2,0,[11,QB(\",` in enum `\"),[2,0,[11,QB(Ni),0]]]]],QB(\"Symbol enum members cannot be initialized. Use `%s,` in enum `%s`.\")],a$r=[0,[11,QB(un),[2,0,[11,QB(\"` has type `\"),[2,0,[11,QB(\"`, so the initializer of `\"),[2,0,[11,QB(\"` needs to be a \"),[2,0,[11,QB(\" literal.\"),0]]]]]]]]],QB(\"Enum `%s` has type `%s`, so the initializer of `%s` needs to be a %s literal.\")],i$r=[0,[11,QB(\"The enum member initializer for `\"),[2,0,[11,QB(\"` needs to be a literal (either a boolean, number, or string) in enum `\"),[2,0,[11,QB(Ni),0]]]]],QB(\"The enum member initializer for `%s` needs to be a literal (either a boolean, number, or string) in enum `%s`.\")],c$r=[0,[11,QB(\"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `\"),[2,0,[11,QB(\"`, consider using `\"),[2,0,[11,QB(\"`, in enum `\"),[2,0,[11,QB(Ni),0]]]]]]],QB(\"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%s`, consider using `%s`, in enum `%s`.\")],f$r=QB(\"The `...` must come at the end of the enum body. Remove the trailing comma.\"),o$r=QB(\"The `...` must come after all enum members. Move it to the end of the enum body.\"),s$r=[0,[11,QB(\"Number enum members need to be initialized, e.g. `\"),[2,0,[11,QB(\" = 1,` in enum `\"),[2,0,[11,QB(Ni),0]]]]],QB(\"Number enum members need to be initialized, e.g. `%s = 1,` in enum `%s`.\")],l$r=[0,[11,QB(\"String enum members need to consistently either all use initializers, or use no initializers, in enum \"),[2,0,[12,46,0]]],QB(\"String enum members need to consistently either all use initializers, or use no initializers, in enum %s.\")],v$r=[0,[11,QB(Ev),[2,0,0]],QB(\"Unexpected %s\")],D$r=[0,[11,QB(Ev),[2,0,[11,QB(\", expected \"),[2,0,0]]]],QB(\"Unexpected %s, expected %s\")],p$r=[0,[11,QB(TB),[2,0,[11,QB(\"`. Did you mean `\"),[2,0,[11,QB(\"`?\"),0]]]]],QB(\"Unexpected token `%s`. Did you mean `%s`?\")],b$r=QB(uE),F$r=QB(\"Invalid flags supplied to RegExp constructor '\"),m$r=QB(uE),d$r=QB(\"Undefined label '\"),E$r=QB(\"' has already been declared\"),k$r=QB(\" '\"),h$r=QB(\"Expected corresponding JSX closing tag for \"),y$r=QB(Gd),C$r=QB(\"In strict mode code, functions can only be declared at top level or \"),w$r=QB(\"inside a block, or as the body of an if statement.\"),A$r=QB(\"In non-strict mode code, functions can only be declared at top level, \"),_$r=[0,[11,QB(\"Duplicate export for `\"),[2,0,[12,96,0]]],QB(\"Duplicate export for `%s`\")],g$r=QB(\"` is declared more than once.\"),B$r=QB(\"Private fields may only be declared once. `#\"),S$r=QB(\"static \"),x$r=QB(qC),T$r=QB(\"#\"),I$r=QB(Ni),N$r=QB(\"fields named `\"),O$r=QB(\"Classes may not have \"),L$r=QB(\"` has not been declared.\"),P$r=QB(\"Private fields must be declared before they can be referenced. `#\"),R$r=[0,[11,QB(TB),[2,0,[11,QB(\"`. Parentheses are required to combine `??` with `&&` or `||` expressions.\"),0]]],QB(\"Unexpected token `%s`. Parentheses are required to combine `??` with `&&` or `||` expressions.\")],M$r=QB(\"Parse_error.Error\"),j$r=[0,1,0],U$r=[0,0,[0,1,0],[0,1,0]],X$r=[0,QB(\"end of input\"),QB(\"the\")],G$r=[0,QB(\"template literal part\"),QB(Aw)],J$r=[0,QB(cv),QB(Aw)],q$r=QB(\"the\"),z$r=QB(Aw),W$r=QB(ms),V$r=QB(Aw),$$r=QB(Nd),Y$r=QB(Aw),H$r=QB(eh),K$r=QB(\"an\"),Q$r=QB(Qg),Z$r=QB(GD),rYr=[0,[11,QB(\"token `\"),[2,0,[12,96,0]]],QB(\"token `%s`\")],eYr=QB(\"{\"),tYr=QB(fF),nYr=QB(\"{|\"),uYr=QB(\"|}\"),aYr=QB(\"(\"),iYr=QB(Zo),cYr=QB(\"[\"),fYr=QB(\"]\"),oYr=QB(\";\"),sYr=QB(\",\"),lYr=QB(ZF),vYr=QB(\"=>\"),DYr=QB(\"...\"),pYr=QB(\"@\"),bYr=QB(\"#\"),FYr=QB(ws),mYr=QB(Ud),dYr=QB(Rf),EYr=QB(to),kYr=QB(Kt),hYr=QB(gF),yYr=QB(cF),CYr=QB(ur),wYr=QB(ne),AYr=QB(ib),_Yr=QB(e_),gYr=QB(Gs),BYr=QB(Ia),SYr=QB(rs),xYr=QB(Wm),TYr=QB(Pa),IYr=QB(kh),NYr=QB(Pc),OYr=QB(pC),LYr=QB(hy),PYr=QB(TD),RYr=QB(JC),MYr=QB(Nr),jYr=QB(hv),UYr=QB(dg),XYr=QB(gD),GYr=QB(Dp),JYr=QB(Vu),qYr=QB(wu),zYr=QB(js),WYr=QB(Vk),VYr=QB(Cf),$Yr=QB(Ko),YYr=QB(Nf),HYr=QB(HF),KYr=QB(Rh),QYr=QB(jf),ZYr=QB(Fe),rHr=QB(NC),eHr=QB(Mr),tHr=QB(se),nHr=QB(By),uHr=QB(CC),aHr=QB(tb),iHr=QB(Ui),cHr=QB(Ke),fHr=QB(Vr),oHr=QB(Pt),sHr=QB(\"of\"),lHr=QB(uC),vHr=QB(tf),DHr=QB(\"%checks\"),pHr=QB(sp),bHr=QB(\">>=\"),FHr=QB(\"<<=\"),mHr=QB(\"^=\"),dHr=QB(\"|=\"),EHr=QB(\"&=\"),kHr=QB(\"%=\"),hHr=QB(\"/=\"),yHr=QB(\"*=\"),CHr=QB(\"**=\"),wHr=QB(\"-=\"),AHr=QB(\"+=\"),_Hr=QB(\"=\"),gHr=QB(\"?.\"),BHr=QB(a),SHr=QB(\"?\"),xHr=QB(fh),THr=QB(\"||\"),IHr=QB(\"&&\"),NHr=QB(\"|\"),OHr=QB(VC),LHr=QB(\"&\"),PHr=QB(\"==\"),RHr=QB(\"!=\"),MHr=QB(\"===\"),jHr=QB(\"!==\"),UHr=QB(\"<=\"),XHr=QB(\">=\"),GHr=QB(td),JHr=QB(L),qHr=QB(\"<<\"),zHr=QB(\">>\"),WHr=QB(\">>>\"),VHr=QB(bw),$Hr=QB(eC),YHr=QB(fs),HHr=QB(\"*\"),KHr=QB(\"**\"),QHr=QB(\"%\"),ZHr=QB(\"!\"),rKr=QB(\"~\"),eKr=QB(\"++\"),tKr=QB(\"--\"),nKr=QB(qC),uKr=QB(Oh),aKr=QB(Wv),iKr=QB(dd),cKr=QB(ms),fKr=QB(Nd),oKr=QB(eh),sKr=QB(Ko),lKr=QB(ga),vKr=QB(fs),DKr=QB(fs),pKr=QB(Ft),bKr=QB(GC),FKr=QB(\"T_LCURLY\"),mKr=QB(\"T_RCURLY\"),dKr=QB(\"T_LCURLYBAR\"),EKr=QB(\"T_RCURLYBAR\"),kKr=QB(\"T_LPAREN\"),hKr=QB(\"T_RPAREN\"),yKr=QB(\"T_LBRACKET\"),CKr=QB(\"T_RBRACKET\"),wKr=QB(\"T_SEMICOLON\"),AKr=QB(\"T_COMMA\"),_Kr=QB(\"T_PERIOD\"),gKr=QB(\"T_ARROW\"),BKr=QB(\"T_ELLIPSIS\"),SKr=QB(\"T_AT\"),xKr=QB(\"T_POUND\"),TKr=QB(\"T_FUNCTION\"),IKr=QB(\"T_IF\"),NKr=QB(\"T_IN\"),OKr=QB(\"T_INSTANCEOF\"),LKr=QB(\"T_RETURN\"),PKr=QB(\"T_SWITCH\"),RKr=QB(\"T_THIS\"),MKr=QB(\"T_THROW\"),jKr=QB(\"T_TRY\"),UKr=QB(\"T_VAR\"),XKr=QB(\"T_WHILE\"),GKr=QB(\"T_WITH\"),JKr=QB(\"T_CONST\"),qKr=QB(\"T_LET\"),zKr=QB(\"T_NULL\"),WKr=QB(\"T_FALSE\"),VKr=QB(\"T_TRUE\"),$Kr=QB(\"T_BREAK\"),YKr=QB(\"T_CASE\"),HKr=QB(\"T_CATCH\"),KKr=QB(\"T_CONTINUE\"),QKr=QB(\"T_DEFAULT\"),ZKr=QB(\"T_DO\"),rQr=QB(\"T_FINALLY\"),eQr=QB(\"T_FOR\"),tQr=QB(\"T_CLASS\"),nQr=QB(\"T_EXTENDS\"),uQr=QB(\"T_STATIC\"),aQr=QB(\"T_ELSE\"),iQr=QB(\"T_NEW\"),cQr=QB(\"T_DELETE\"),fQr=QB(\"T_TYPEOF\"),oQr=QB(\"T_VOID\"),sQr=QB(\"T_ENUM\"),lQr=QB(\"T_EXPORT\"),vQr=QB(\"T_IMPORT\"),DQr=QB(\"T_SUPER\"),pQr=QB(\"T_IMPLEMENTS\"),bQr=QB(\"T_INTERFACE\"),FQr=QB(\"T_PACKAGE\"),mQr=QB(\"T_PRIVATE\"),dQr=QB(\"T_PROTECTED\"),EQr=QB(\"T_PUBLIC\"),kQr=QB(\"T_YIELD\"),hQr=QB(\"T_DEBUGGER\"),yQr=QB(\"T_DECLARE\"),CQr=QB(\"T_TYPE\"),wQr=QB(\"T_OPAQUE\"),AQr=QB(\"T_OF\"),_Qr=QB(\"T_ASYNC\"),gQr=QB(\"T_AWAIT\"),BQr=QB(\"T_CHECKS\"),SQr=QB(\"T_RSHIFT3_ASSIGN\"),xQr=QB(\"T_RSHIFT_ASSIGN\"),TQr=QB(\"T_LSHIFT_ASSIGN\"),IQr=QB(\"T_BIT_XOR_ASSIGN\"),NQr=QB(\"T_BIT_OR_ASSIGN\"),OQr=QB(\"T_BIT_AND_ASSIGN\"),LQr=QB(\"T_MOD_ASSIGN\"),PQr=QB(\"T_DIV_ASSIGN\"),RQr=QB(\"T_MULT_ASSIGN\"),MQr=QB(\"T_EXP_ASSIGN\"),jQr=QB(\"T_MINUS_ASSIGN\"),UQr=QB(\"T_PLUS_ASSIGN\"),XQr=QB(\"T_ASSIGN\"),GQr=QB(\"T_PLING_PERIOD\"),JQr=QB(\"T_PLING_PLING\"),qQr=QB(\"T_PLING\"),zQr=QB(\"T_COLON\"),WQr=QB(\"T_OR\"),VQr=QB(\"T_AND\"),$Qr=QB(\"T_BIT_OR\"),YQr=QB(\"T_BIT_XOR\"),HQr=QB(\"T_BIT_AND\"),KQr=QB(\"T_EQUAL\"),QQr=QB(\"T_NOT_EQUAL\"),ZQr=QB(\"T_STRICT_EQUAL\"),rZr=QB(\"T_STRICT_NOT_EQUAL\"),eZr=QB(\"T_LESS_THAN_EQUAL\"),tZr=QB(\"T_GREATER_THAN_EQUAL\"),nZr=QB(\"T_LESS_THAN\"),uZr=QB(\"T_GREATER_THAN\"),aZr=QB(\"T_LSHIFT\"),iZr=QB(\"T_RSHIFT\"),cZr=QB(\"T_RSHIFT3\"),fZr=QB(\"T_PLUS\"),oZr=QB(\"T_MINUS\"),sZr=QB(\"T_DIV\"),lZr=QB(\"T_MULT\"),vZr=QB(\"T_EXP\"),DZr=QB(\"T_MOD\"),pZr=QB(\"T_NOT\"),bZr=QB(\"T_BIT_NOT\"),FZr=QB(\"T_INCR\"),mZr=QB(\"T_DECR\"),dZr=QB(\"T_EOF\"),EZr=QB(\"T_ANY_TYPE\"),kZr=QB(\"T_MIXED_TYPE\"),hZr=QB(\"T_EMPTY_TYPE\"),yZr=QB(\"T_NUMBER_TYPE\"),CZr=QB(\"T_BIGINT_TYPE\"),wZr=QB(\"T_STRING_TYPE\"),AZr=QB(\"T_VOID_TYPE\"),_Zr=QB(\"T_SYMBOL_TYPE\"),gZr=QB(\"T_NUMBER\"),BZr=QB(\"T_BIGINT\"),SZr=QB(\"T_STRING\"),xZr=QB(\"T_TEMPLATE_PART\"),TZr=QB(\"T_IDENTIFIER\"),IZr=QB(\"T_REGEXP\"),NZr=QB(\"T_ERROR\"),OZr=QB(\"T_JSX_IDENTIFIER\"),LZr=QB(\"T_JSX_TEXT\"),PZr=QB(\"T_BOOLEAN_TYPE\"),RZr=QB(\"T_NUMBER_SINGLETON_TYPE\"),MZr=QB(\"T_BIGINT_SINGLETON_TYPE\"),jZr=QB(\"*-/\"),UZr=QB(\"*/\"),XZr=QB(\"*-/\"),GZr=QB(Ns),JZr=QB(Ns),qZr=QB(\"\\\\\"),zZr=QB(Ns),WZr=QB(\"${\"),VZr=QB(\"\\r\\n\"),$Zr=QB(\"\\r\\n\"),YZr=QB(\"\\n\"),HZr=QB(Ns),KZr=QB(\"\\\\\\\\\"),QZr=QB(Ns),ZZr=QB(qC),r0r=QB(qC),e0r=QB(qC),t0r=QB(qC),n0r=QB(Ns),u0r=QB(uE),a0r=QB('\"'),i0r=QB(td),c0r=QB(L),f0r=QB(\"{\"),o0r=QB(fF),s0r=QB(\"{'}'}\"),l0r=QB(fF),v0r=QB(\"{'>'}\"),D0r=QB(L),p0r=QB(W_),b0r=QB(\"iexcl\"),F0r=QB(\"aelig\"),m0r=QB(\"Nu\"),d0r=QB(\"Eacute\"),E0r=QB(\"Atilde\"),k0r=QB(\"'int'\"),h0r=QB(\"AElig\"),y0r=QB(\"Aacute\"),C0r=QB(\"Acirc\"),w0r=QB(\"Agrave\"),A0r=QB(\"Alpha\"),_0r=QB(\"Aring\"),g0r=[0,197],B0r=[0,913],S0r=[0,l],x0r=[0,194],T0r=[0,193],I0r=[0,198],N0r=[0,8747],O0r=QB(\"Auml\"),L0r=QB(\"Beta\"),P0r=QB(\"Ccedil\"),R0r=QB(\"Chi\"),M0r=QB(\"Dagger\"),j0r=QB(\"Delta\"),U0r=QB(\"ETH\"),X0r=[0,208],G0r=[0,916],J0r=[0,8225],q0r=[0,935],z0r=[0,199],W0r=[0,914],V0r=[0,196],$0r=[0,195],Y0r=QB(\"Icirc\"),H0r=QB(\"Ecirc\"),K0r=QB(\"Egrave\"),Q0r=QB(\"Epsilon\"),Z0r=QB(\"Eta\"),r1r=QB(\"Euml\"),e1r=QB(\"Gamma\"),t1r=QB(\"Iacute\"),n1r=[0,205],u1r=[0,915],a1r=[0,203],i1r=[0,919],c1r=[0,917],f1r=[0,200],o1r=[0,202],s1r=QB(\"Igrave\"),l1r=QB(\"Iota\"),v1r=QB(\"Iuml\"),D1r=QB(\"Kappa\"),p1r=QB(\"Lambda\"),b1r=QB(\"Mu\"),F1r=QB(\"Ntilde\"),m1r=[0,209],d1r=[0,924],E1r=[0,923],k1r=[0,922],h1r=[0,207],y1r=[0,921],C1r=[0,204],w1r=[0,206],A1r=[0,201],_1r=QB(\"Sigma\"),g1r=QB(\"Otilde\"),B1r=QB(\"OElig\"),S1r=QB(\"Oacute\"),x1r=QB(\"Ocirc\"),T1r=QB(\"Ograve\"),I1r=QB(\"Omega\"),N1r=QB(\"Omicron\"),O1r=QB(\"Oslash\"),L1r=[0,216],P1r=[0,927],R1r=[0,937],M1r=[0,210],j1r=[0,212],U1r=[0,211],X1r=[0,338],G1r=QB(\"Ouml\"),J1r=QB(\"Phi\"),q1r=QB(\"Pi\"),z1r=QB(\"Prime\"),W1r=QB(\"Psi\"),V1r=QB(\"Rho\"),$1r=QB(\"Scaron\"),Y1r=[0,352],H1r=[0,929],K1r=[0,936],Q1r=[0,8243],Z1r=[0,928],r2r=[0,934],e2r=[0,214],t2r=[0,213],n2r=QB(\"Uuml\"),u2r=QB(\"THORN\"),a2r=QB(\"Tau\"),i2r=QB(\"Theta\"),c2r=QB(\"Uacute\"),f2r=QB(\"Ucirc\"),o2r=QB(\"Ugrave\"),s2r=QB(\"Upsilon\"),l2r=[0,933],v2r=[0,217],D2r=[0,219],p2r=[0,218],b2r=[0,920],F2r=[0,932],m2r=[0,222],d2r=QB(\"Xi\"),E2r=QB(\"Yacute\"),k2r=QB(\"Yuml\"),h2r=QB(\"Zeta\"),y2r=QB(\"aacute\"),C2r=QB(\"acirc\"),w2r=QB(\"acute\"),A2r=[0,180],_2r=[0,226],g2r=[0,225],B2r=[0,918],S2r=[0,376],x2r=[0,221],T2r=[0,926],I2r=[0,220],N2r=[0,931],O2r=[0,925],L2r=QB(\"delta\"),P2r=QB(\"cap\"),R2r=QB(\"aring\"),M2r=QB(\"agrave\"),j2r=QB(\"alefsym\"),U2r=QB(\"alpha\"),X2r=QB(\"amp\"),G2r=QB(\"and\"),J2r=QB(\"ang\"),q2r=QB(\"apos\"),z2r=[0,39],W2r=[0,8736],V2r=[0,8743],$2r=[0,38],Y2r=[0,945],H2r=[0,8501],K2r=[0,eo],Q2r=QB(\"asymp\"),Z2r=QB(\"atilde\"),r7r=QB(\"auml\"),e7r=QB(\"bdquo\"),t7r=QB(\"beta\"),n7r=QB(\"brvbar\"),u7r=QB(\"bull\"),a7r=[0,8226],i7r=[0,166],c7r=[0,946],f7r=[0,8222],o7r=[0,228],s7r=[0,227],l7r=[0,8776],v7r=[0,229],D7r=QB(\"copy\"),p7r=QB(\"ccedil\"),b7r=QB(\"cedil\"),F7r=QB(\"cent\"),m7r=QB(\"chi\"),d7r=QB(\"circ\"),E7r=QB(\"clubs\"),k7r=QB(\"cong\"),h7r=[0,8773],y7r=[0,9827],C7r=[0,710],w7r=[0,967],A7r=[0,162],_7r=[0,184],g7r=[0,231],B7r=QB(\"crarr\"),S7r=QB(\"cup\"),x7r=QB(\"curren\"),T7r=QB(\"dArr\"),I7r=QB(\"dagger\"),N7r=QB(\"darr\"),O7r=QB(\"deg\"),L7r=[0,176],P7r=[0,8595],R7r=[0,8224],M7r=[0,8659],j7r=[0,164],U7r=[0,8746],X7r=[0,8629],G7r=[0,169],J7r=[0,8745],q7r=QB(\"fnof\"),z7r=QB(\"ensp\"),W7r=QB(\"diams\"),V7r=QB(\"divide\"),$7r=QB(\"eacute\"),Y7r=QB(\"ecirc\"),H7r=QB(\"egrave\"),K7r=QB(dd),Q7r=QB(\"emsp\"),Z7r=[0,8195],r8r=[0,8709],e8r=[0,232],t8r=[0,234],n8r=[0,233],u8r=[0,247],a8r=[0,9830],i8r=QB(\"epsilon\"),c8r=QB(\"equiv\"),f8r=QB(\"eta\"),o8r=QB(\"eth\"),s8r=QB(\"euml\"),l8r=QB(\"euro\"),v8r=QB(\"exist\"),D8r=[0,8707],p8r=[0,8364],b8r=[0,235],F8r=[0,Zy],m8r=[0,951],d8r=[0,8801],E8r=[0,949],k8r=[0,8194],h8r=QB(\"gt\"),y8r=QB(\"forall\"),C8r=QB(\"frac12\"),w8r=QB(\"frac14\"),A8r=QB(\"frac34\"),_8r=QB(\"frasl\"),g8r=QB(\"gamma\"),B8r=QB(\"ge\"),S8r=[0,8805],x8r=[0,947],T8r=[0,8260],I8r=[0,190],N8r=[0,188],O8r=[0,189],L8r=[0,8704],P8r=QB(\"hArr\"),R8r=QB(\"harr\"),M8r=QB(\"hearts\"),j8r=QB(\"hellip\"),U8r=QB(\"iacute\"),X8r=QB(\"icirc\"),G8r=[0,238],J8r=[0,237],q8r=[0,8230],z8r=[0,9829],W8r=[0,8596],V8r=[0,8660],$8r=[0,62],Y8r=[0,402],H8r=[0,948],K8r=[0,230],Q8r=QB(\"prime\"),Z8r=QB(\"ndash\"),r3r=QB(\"le\"),e3r=QB(\"kappa\"),t3r=QB(\"igrave\"),n3r=QB(\"image\"),u3r=QB(\"infin\"),a3r=QB(\"iota\"),i3r=QB(\"iquest\"),c3r=QB(\"isin\"),f3r=QB(\"iuml\"),o3r=[0,239],s3r=[0,8712],l3r=[0,191],v3r=[0,953],D3r=[0,8734],p3r=[0,8465],b3r=[0,236],F3r=QB(\"lArr\"),m3r=QB(\"lambda\"),d3r=QB(\"lang\"),E3r=QB(\"laquo\"),k3r=QB(\"larr\"),h3r=QB(\"lceil\"),y3r=QB(\"ldquo\"),C3r=[0,8220],w3r=[0,8968],A3r=[0,8592],_3r=[0,171],g3r=[0,10216],B3r=[0,955],S3r=[0,8656],x3r=[0,954],T3r=QB(\"macr\"),I3r=QB(\"lfloor\"),N3r=QB(\"lowast\"),O3r=QB(\"loz\"),L3r=QB(\"lrm\"),P3r=QB(\"lsaquo\"),R3r=QB(\"lsquo\"),M3r=QB(\"lt\"),j3r=[0,60],U3r=[0,8216],X3r=[0,8249],G3r=[0,8206],J3r=[0,9674],q3r=[0,8727],z3r=[0,8970],W3r=QB(\"mdash\"),V3r=QB(\"micro\"),$3r=QB(\"middot\"),Y3r=QB(lh),H3r=QB(\"mu\"),K3r=QB(\"nabla\"),Q3r=QB(\"nbsp\"),Z3r=[0,160],r4r=[0,8711],e4r=[0,956],t4r=[0,8722],n4r=[0,183],u4r=[0,181],a4r=[0,8212],i4r=[0,175],c4r=[0,8804],f4r=QB(\"or\"),o4r=QB(\"oacute\"),s4r=QB(\"ne\"),l4r=QB(\"ni\"),v4r=QB(\"not\"),D4r=QB(\"notin\"),p4r=QB(\"nsub\"),b4r=QB(\"ntilde\"),F4r=QB(\"nu\"),m4r=[0,957],d4r=[0,241],E4r=[0,8836],k4r=[0,8713],h4r=[0,172],y4r=[0,8715],C4r=[0,8800],w4r=QB(\"ocirc\"),A4r=QB(\"oelig\"),_4r=QB(\"ograve\"),g4r=QB(\"oline\"),B4r=QB(\"omega\"),S4r=QB(\"omicron\"),x4r=QB(\"oplus\"),T4r=[0,8853],I4r=[0,959],N4r=[0,969],O4r=[0,hF],L4r=[0,242],P4r=[0,339],R4r=[0,244],M4r=[0,243],j4r=QB(\"part\"),U4r=QB(\"ordf\"),X4r=QB(\"ordm\"),G4r=QB(\"oslash\"),J4r=QB(\"otilde\"),q4r=QB(\"otimes\"),z4r=QB(\"ouml\"),W4r=QB(\"para\"),V4r=[0,182],$4r=[0,246],Y4r=[0,8855],H4r=[0,245],K4r=[0,bc],Q4r=[0,186],Z4r=[0,170],r6r=QB(\"permil\"),e6r=QB(\"perp\"),t6r=QB(\"phi\"),n6r=QB(\"pi\"),u6r=QB(\"piv\"),a6r=QB(\"plusmn\"),i6r=QB(\"pound\"),c6r=[0,163],f6r=[0,177],o6r=[0,982],s6r=[0,960],l6r=[0,966],v6r=[0,8869],D6r=[0,8240],p6r=[0,8706],b6r=[0,8744],F6r=[0,8211],m6r=QB(\"sup1\"),d6r=QB(\"rlm\"),E6r=QB(\"raquo\"),k6r=QB(\"prod\"),h6r=QB(\"prop\"),y6r=QB(\"psi\"),C6r=QB(\"quot\"),w6r=QB(\"rArr\"),A6r=QB(\"radic\"),_6r=QB(\"rang\"),g6r=[0,10217],B6r=[0,8730],S6r=[0,8658],x6r=[0,34],T6r=[0,968],I6r=[0,8733],N6r=[0,8719],O6r=QB(\"rarr\"),L6r=QB(\"rceil\"),P6r=QB(\"rdquo\"),R6r=QB(\"real\"),M6r=QB(\"reg\"),j6r=QB(\"rfloor\"),U6r=QB(\"rho\"),X6r=[0,961],G6r=[0,8971],J6r=[0,174],q6r=[0,8476],z6r=[0,8221],W6r=[0,8969],V6r=[0,8594],$6r=[0,187],Y6r=QB(\"sigma\"),H6r=QB(\"rsaquo\"),K6r=QB(\"rsquo\"),Q6r=QB(\"sbquo\"),Z6r=QB(\"scaron\"),r5r=QB(\"sdot\"),e5r=QB(\"sect\"),t5r=QB(\"shy\"),n5r=[0,173],u5r=[0,167],a5r=[0,8901],i5r=[0,353],c5r=[0,8218],f5r=[0,8217],o5r=[0,8250],s5r=QB(\"sigmaf\"),l5r=QB(\"sim\"),v5r=QB(\"spades\"),D5r=QB(\"sub\"),p5r=QB(\"sube\"),b5r=QB(\"sum\"),F5r=QB(\"sup\"),m5r=[0,8835],d5r=[0,8721],E5r=[0,8838],k5r=[0,8834],h5r=[0,9824],y5r=[0,8764],C5r=[0,962],w5r=[0,963],A5r=[0,8207],_5r=QB(\"uarr\"),g5r=QB(\"thetasym\"),B5r=QB(\"sup2\"),S5r=QB(\"sup3\"),x5r=QB(\"supe\"),T5r=QB(\"szlig\"),I5r=QB(\"tau\"),N5r=QB(\"there4\"),O5r=QB(\"theta\"),L5r=[0,952],P5r=[0,8756],R5r=[0,964],M5r=[0,co],j5r=[0,8839],U5r=[0,179],X5r=[0,178],G5r=QB(\"thinsp\"),J5r=QB(\"thorn\"),q5r=QB(\"tilde\"),z5r=QB(\"times\"),W5r=QB(\"trade\"),V5r=QB(\"uArr\"),$5r=QB(\"uacute\"),Y5r=[0,250],H5r=[0,8657],K5r=[0,8482],Q5r=[0,215],Z5r=[0,732],r9r=[0,254],e9r=[0,8201],t9r=[0,977],n9r=QB(\"xi\"),u9r=QB(\"ucirc\"),a9r=QB(\"ugrave\"),i9r=QB(\"uml\"),c9r=QB(\"upsih\"),f9r=QB(\"upsilon\"),o9r=QB(\"uuml\"),s9r=QB(\"weierp\"),l9r=[0,W],v9r=[0,252],D9r=[0,965],p9r=[0,978],b9r=[0,168],F9r=[0,249],m9r=[0,251],d9r=QB(\"yacute\"),E9r=QB(\"yen\"),k9r=QB(\"yuml\"),h9r=QB(\"zeta\"),y9r=QB(\"zwj\"),C9r=QB(\"zwnj\"),w9r=[0,8204],A9r=[0,Cc],_9r=[0,950],g9r=[0,_s],B9r=[0,165],S9r=[0,253],x9r=[0,958],T9r=[0,8593],I9r=[0,185],N9r=[0,8242],O9r=[0,161],L9r=QB(\";\"),P9r=QB(\"&\"),R9r=QB(Ns),M9r=QB(Ns),j9r=QB(Ns),U9r=QB(Ns),X9r=QB(Ns),G9r=QB(Ns),J9r=QB(Ns),q9r=QB(Ns),z9r=QB(Ns),W9r=QB(Ns),V9r=QB(Ns),$9r=QB(Ns),Y9r=QB(Ns),H9r=QB(fh),K9r=QB(fh),Q9r=QB(bt),Z9r=[9,0],rre=[9,1],ere=QB(Ns),tre=QB(fF),nre=[0,QB(qC),QB(qC),QB(qC)],ure=QB(Ns),are=QB(Ns),ire=QB(uE),cre=QB(Ns),fre=QB(Ns),ore=QB(Ns),sre=QB(Ns),lre=QB(Ns),vre=QB(Ns),Dre=QB(Ns),pre=QB(Ns),bre=QB(Ns),Fre=QB(Ns),mre=QB(Ns),dre=QB(Ns),Ere=QB(Ns),kre=QB(Ns),hre=QB(Ns),yre=QB(fh),Cre=QB(fh),wre=QB(bt),Are=[6,QB(\"#!\")],_re=QB(\"expected ?\"),gre=QB(Ns),Bre=QB(uc),Sre=QB(ob),xre=QB(ob),Tre=QB(uc),Ire=QB(\"b\"),Nre=QB(\"f\"),Ore=QB(\"n\"),Lre=QB(\"r\"),Pre=QB(\"t\"),Rre=QB(\"v\"),Mre=QB(ob),jre=QB(W_),Ure=QB(W_),Xre=QB(Ns),Gre=QB(W_),Jre=QB(W_),qre=QB(Ns),zre=QB(\"Invalid (lexer) bigint \"),Wre=QB(\"Invalid (lexer) bigint binary/octal \"),Vre=QB(ob),$re=QB(yf),Yre=QB(gr),Hre=QB(lu),Kre=[11,QB(\"token ILLEGAL\")],Qre=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\"),Zre=QB(\"\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\"),ree=QB(\"\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\"),eee=QB(\"\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\"),tee=QB(\"\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x03\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\"),nee=QB(\"\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\"),uee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\"),aee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),iee=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x04\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\\x02\\x02\\x02\\x06\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\\x02\\x07\"),cee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),fee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),oee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x03\\x02\\x02\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x06\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),see=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\"),lee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),vee=QB(\"\\x01\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\"),Dee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),pee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),bee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Fee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),mee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),dee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x05\\0\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x06\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Eee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),kee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),hee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x04\\0\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),yee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Cee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x04\\x04\\0\\0\\0\\0\\0\\0\\0\\x01\\x05\\x01\\x01\\x06\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x07\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\b\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x05\\x01\\x01\\x06\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\t\\x07\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\b\\x01\\x01\"),wee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Aee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x03\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),_ee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x03\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),gee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x04\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Bee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x03\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),See=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x04\\x04\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),xee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x03\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Tee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Iee=QB(\"\\x01\\0\\0\\x02\"),Nee=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x04\\x02\\x02\\x02\\x02\\x04\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\"),Oee=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\"),Lee=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x04\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x06\\x07\"),Pee=QB(\"\\x01\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\"),Ree=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\"),Mee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\"),jee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x01\\x01\\x01\\x01\\x01\\x01\"),Uee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\"),Xee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Gee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\x02\\0\\x02\\0\\0\\x03\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Jee=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),qee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),zee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Wee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Vee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),$ee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Yee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x04\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Hee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Kee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Qee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Zee=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),rte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),ete=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),tte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),nte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),ute=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),ate=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x05\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),ite=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x04\\x01\\x05\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),cte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),fte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),ote=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),ste=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),lte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),vte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Dte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x04\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),pte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),bte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Fte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x06\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),mte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),dte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Ete=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),kte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x03\\x04\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x06\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),hte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),yte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Cte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),wte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Ate=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),_te=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),gte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Bte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Ste=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),xte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Tte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Ite=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Nte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Ote=QB(\"\\x01\\0\\x02\"),Lte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Pte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Rte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x04\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x05\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Mte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),jte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Ute=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Xte=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Gte=QB(\"\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),Jte=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\"),qte=QB(\"\\x01\\0\\0\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\"),zte=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\"),Wte=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),Vte=QB(\"\\x01\\x02\\0\\x03\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\"),$te=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),Yte=QB(\"\\x01\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\"),Hte=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x04\\x01\\x01\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x03\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x03\\x02\\x02\\x02\\x01\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x01\\x03\\x03\\x01\\x03\\x03\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x03\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x02\\x02\\x01\\x02\\x02\\x02\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x03\\x01\\x01\\x03\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x01\\x02\\x02\\x01\\x02\\x02\\x01\\x01\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x01\\x01\\x01\\x01\\x02\\x02\\x01\\x02\\x02\\x02\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x01\\x02\\x01\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x01\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x03\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x02\\x02\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x03\\x03\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x01\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x03\\x01\\x03\\x01\\x01\\x01\\x01\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x01\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x02\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x01\\x01\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x03\\x03\\x03\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x01\\x03\\x03\\x03\\x03\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x02\\x01\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x01\\x01\\x01\\x01\\x01\\x02\\x02\\x02\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\"),Kte=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x04\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\\x06\\x06\\x06\\x06\\x06\\x06\\x06\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\b\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\n\\x02\\x02\\x02\\v\\x02\\f\\r\\x0e\\x02\\x0f\"),Qte=QB(\"\\x01\\0\\x01\\0\\0\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\"),Zte=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x01\\x03\"),rne=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x04\"),ene=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x04\\x03\\x03\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x06\\x02\\x07\\b\\t\\x06\\n\\v\\f\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x13\\x13\\x13\\x13\\x13\\x13\\x13\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x1a\\x1b\\x1c\\x02\\x07\\x02\\x1d\\x1e\\x07\\x07\\x1f \\x07\\x07!\\x07\\x07\\x07\\\"#\\x07\\x07\\x07\\x07$%\\x07&\\x07\\x07\\x07\\x07'()\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x03\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\"),tne=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x04\\x03\\x03\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x06\\x07\\b\\t\\n\\v\\x07\\f\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x15\\x15\\x15\\x15\\x15\\x15\\x15\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x1d\\x1e\\x1f \\t!\\\"#$%&'\\t\\t(\\t\\t)\\t*+,\\t-./\\t01\\t2\\t3456\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\x02\\t\\t\\x02\\x02\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\t\\t\\t\\x02\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\t\\t\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\x02\\t\\t\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\x02\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\x02\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\t\\t\\x02\\t\\t\\t\\t\\x02\\x02\\x02\\t\\t\\x02\\t\\x02\\t\\t\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\t\\x02\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\t\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x03\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\x02\\x02\\x02\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\t\\x02\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\t\\x02\\x02\\x02\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\t\\t\\t\\t\\x02\\x02\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\\x02\\x02\\t\\t\\t\\x02\\t\\t\\t\\t\\t\\t\\t\\x02\\x02\\x02\"),nne=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x04\\x03\\x03\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x06\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\"),une=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x04\"),ane=QB(\"\\x01\\0\\0\\0\\0\\x02\"),ine=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x04\\x03\\x03\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x06\\x02\\x07\\x02\\x02\\x06\\x02\\x02\\x02\\x02\\x02\\x02\\b\\t\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\n\\x02\\v\\f\\r\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x0e\\x02\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x0f\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x03\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x02\\x02\\x02\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x07\\x02\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\\x02\\x02\\x07\\x07\\x07\\x02\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x02\\x02\\x02\"),cne=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),fne=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),one=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\\0\\0\\0\\0\\0\\x02\"),sne=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\"),lne=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x03\"),vne=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),Dne=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),pne=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\x02\"),bne=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x04\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x06\\x02\\x02\\x02\\x07\"),Fne=QB(\"\\x01\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\"),mne=QB(\"\\x01\\0\\x02\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\"),dne=QB(\"\\x01\\0\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\"),Ene=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x02\\x02\"),kne=QB(\"\\x01\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x03\\x02\\x02\\x04\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x05\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x06\"),hne=QB(\"\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x03\"),yne=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x02\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x01\\0\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\0\\0\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\0\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\0\\0\\0\\0\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\x01\\0\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\x01\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\x01\\x01\\x01\\x01\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\x01\\x01\\x01\\0\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"),Cne=QB(\"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\x01\\x01\\x01\\x01\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),wne=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),Ane=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),_ne=QB(\"\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\"),gne=[0,[11,QB(\"the identifier `\"),[2,0,[12,96,0]]],QB(\"the identifier `%s`\")],Bne=[0,1],Sne=QB(\"@flow\"),xne=QB(xb),Tne=QB(xb),Ine=QB(\"Peeking current location when not available\"),Nne=QB(NC),One=QB(ii),Lne=QB(Oh),Pne=QB(Nd),Rne=QB(GC),Mne=QB(Ft),jne=QB(dd),Une=QB(Dp),Xne=QB(Pa),Gne=QB(Wv),Jne=QB(Wm),qne=QB(ms),zne=QB(Vu),Wne=QB(eh),Vne=QB(kh),$ne=QB(Cf),Yne=QB(Ko),Hne=QB(Pa),Kne=QB(Wm),Qne=QB(kh),Zne=QB(Pa),rue=QB(Wm),eue=QB(kh),tue=QB(Xu),nue=QB(\"eval\"),uue=QB(Fe),aue=QB(NC),iue=QB(Mr),cue=QB(se),fue=QB(By),oue=QB(CC),sue=QB(Vu),lue=QB(tb),vue=QB(Nf),Due=QB(Ud),pue=QB(JC),bue=QB(tf),Fue=QB(Pc),mue=QB(pC),due=QB(hy),Eue=QB(gD),kue=QB(Ia),hue=QB(TD),yue=QB(Ui),Cue=QB(Vk),wue=QB(Nr),Aue=QB(wu),_ue=QB(HF),gue=QB(Dp),Bue=QB(hv),Sue=QB(dg),xue=QB(ws),Tue=QB(ur),Iue=QB(Rh),Nue=QB(Rf),Oue=QB(to),Lue=QB(js),Pue=QB(Kt),Rue=QB(jf),Mue=QB(gF),jue=QB(cF),Uue=QB(ne),Xue=QB(Cf),Gue=QB(ib),Jue=QB(Ko),que=QB(e_),zue=QB(Gs),Wue=QB(tb),Vue=[0,QB(\"src/parser/parser_env.ml\"),361,2],$ue=QB(\"Internal Error: Tried to add_declared_private with outside of class scope.\"),Yue=QB(\"Internal Error: `exit_class` called before a matching `enter_class`\"),Hue=QB(qC),Kue=QB(qC),Que=[0,0,0],Zue=[0,0,0],rae=QB(Eu),eae=QB(Eu),tae=QB(\"Parser_env.Try.Rollback\"),nae=QB(qC),uae=QB(qC),aae=[0,QB(st),QB($y),QB(Xm),QB(Di),QB(ui),QB(nu),QB(y)],iae=[0,QB(cB),QB(ci),QB(lF),QB(Bo),QB(qn),QB(rm),QB(Ec),QB(aD),QB(jb),QB(la),QB(Xm),QB(ji),QB(av),QB(M_),QB(it),QB(sc),QB(Hg),QB(Ws),QB(HC),QB(U),QB(FF),QB(Kl),QB(Eb),QB(Rh),QB(Qg),QB(RA),QB(kc),QB(lm),QB(hC),QB(wp),QB(Et),QB(jE),QB(Pk),QB($n),QB(yw),QB(ar),QB(Mw),QB(Rk),QB(Xi),QB(Zi),QB(mt),QB(y),QB(fe),QB(fE),QB(Ty),QB($o)],cae=[0,QB(xe),QB(Fh),QB(du),QB(mt),QB(mu),QB(Tm),QB(Za),QB(Co),QB(Eb),QB(mA),QB(gF),QB(Fk),QB(B_),QB(gg),QB(sc),QB(Dr),QB(Dk),QB(Dl),QB(B),QB(iB),QB(Uo),QB(RA),QB(zk),QB(Qg),QB(os),QB(yk),QB(Nu),QB(Xi),QB(ei),QB(P),QB(Uv),QB(Ut),QB(oh),QB(pg),QB(x_),QB(Hp),QB(Al),QB(bh),QB(Ik),QB(Af),QB(Oo),QB(Te),QB(ar),QB(aF),QB(ok),QB(oy),QB(ou),QB(aE),QB(_E),QB($n),QB(M_),QB(av),QB(an),QB(Tw),QB(Wg),QB(FF),QB(ri),QB(jE),QB(xl),QB(Tt),QB(s_),QB(Da),QB(Xo),QB(lm),QB(jk),QB(Ty),QB(fp),QB(Ny),QB(Tl),QB(Ca),QB(tp),QB(Up),QB(ji),QB(Sp),QB(JA),QB(nA),QB(fe),QB(tF),QB(yv),QB(vn),QB(w_),QB(Xm),QB(dd),QB(tA),QB(cl),QB(tb),QB(Lk),QB(mC),QB(p_),QB(wE),QB(mc),QB(SF),QB(Pe),QB(kw),QB(K_),QB(Fo),QB(Ol),QB(Kl),QB(ld),QB(at),QB(wk),QB(jh),QB(De),QB(Zh),QB(lt),QB(aD),QB(cB),QB(FB),QB(Bo),QB(lF),QB(yw),QB(Lc),QB(mi),QB(HC),QB(uf),QB(In),QB($p),QB(it),QB(TE),QB(au),QB(Ws),QB(Rk),QB(Yk),QB(Hg),QB(Rh),QB(Kt),QB(Vw),QB(aB),QB(fB),QB(ur),QB(Ui),QB(de),QB(bA),QB(Wf),QB(Op),QB(io),QB(qs),QB(Gf),QB(gf),QB(tr),QB(El),QB(BE),QB(mg),QB(ee),QB(Nn),QB(c),QB(SB),QB(Ip),QB(KA),QB(Hr),QB(Pu),QB(Pn),QB(PC),QB(sD),QB(fn),QB(Ec),QB(si),QB(Zi),QB(sF),QB($w),QB(dk),QB(la),QB(kc),QB(Dh),QB(lB),QB(Mw),QB(Wh),QB(Je),QB(Ur),QB(Kp),QB(rm),QB($o),QB(ci),QB(et),QB(qn),QB(pw),QB(Pk),QB($i),QB(Bm),QB(FA),QB(jb),QB(fE),QB(zu),QB(Lr),QB(Et),QB(ha),QB(iv),QB(Kc),QB(hC),QB(pl),QB(TD),QB(mn),QB(og),QB(lf),QB(sn),QB(Nl),QB(LC),QB(wp),QB(HA),QB(je),QB(y),QB(nl),QB(U),QB(KE),QB(wi),QB(Ho),QB(Pc),QB(Gk),QB(NC),QB(Ov),QB(bF),QB(t)],fae=[0,QB(xe),QB(Fh),QB(du),QB(mt),QB(mu),QB(Tm),QB(Za),QB(Co),QB(Eb),QB(mA),QB(gF),QB(Fk),QB(B_),QB(gg),QB(sc),QB(Dr),QB(Dk),QB(Dl),QB(B),QB(iB),QB(Uo),QB(RA),QB(zk),QB(Qg),QB($y),QB(os),QB(yk),QB(Nu),QB(Xi),QB(ei),QB(P),QB(Uv),QB(Ut),QB(oh),QB(pg),QB(x_),QB(Hp),QB(Al),QB(bh),QB(Ik),QB(Af),QB(Oo),QB(Te),QB(ar),QB(aF),QB(ok),QB(oy),QB(ui),QB(ou),QB(aE),QB(_E),QB($n),QB(M_),QB(av),QB(an),QB(Tw),QB(Wg),QB(FF),QB(ri),QB(jE),QB(xl),QB(Tt),QB(s_),QB(Da),QB(Xo),QB(lm),QB(jk),QB(Ty),QB(fp),QB(Ny),QB(Tl),QB(Ca),QB(tp),QB(Up),QB(ji),QB(Sp),QB(JA),QB(nA),QB(fe),QB(tF),QB(yv),QB(vn),QB(w_),QB(Xm),QB(dd),QB(tA),QB(cl),QB(tb),QB(Lk),QB(mC),QB(p_),QB(wE),QB(mc),QB(SF),QB(Pe),QB(kw),QB(K_),QB(Fo),QB(Ol),QB(Kl),QB(ld),QB(at),QB(wk),QB(jh),QB(De),QB(Zh),QB(lt),QB(aD),QB(cB),QB(FB),QB(Bo),QB(lF),QB(yw),QB(Lc),QB(mi),QB(HC),QB(uf),QB(In),QB($p),QB(it),QB(TE),QB(au),QB(Ws),QB(Rk),QB(Yk),QB(Hg),QB(Rh),QB(Kt),QB(Vw),QB(aB),QB(fB),QB(ur),QB(Ui),QB(de),QB(bA),QB(Wf),QB(Op),QB(io),QB(qs),QB(Gf),QB(gf),QB(tr),QB(El),QB(BE),QB(mg),QB(ee),QB(Nn),QB(c),QB(SB),QB(Ip),QB(KA),QB(Hr),QB(Pu),QB(Pn),QB(PC),QB(sD),QB(fn),QB(Ec),QB(si),QB(Zi),QB(sF),QB($w),QB(dk),QB(nu),QB(la),QB(kc),QB(Dh),QB(lB),QB(Mw),QB(Wh),QB(Je),QB(Ur),QB(Kp),QB(rm),QB(Di),QB($o),QB(ci),QB(et),QB(qn),QB(st),QB(pw),QB(Pk),QB($i),QB(Bm),QB(FA),QB(jb),QB(fE),QB(zu),QB(Lr),QB(Et),QB(ha),QB(iv),QB(Kc),QB(hC),QB(pl),QB(TD),QB(mn),QB(og),QB(lf),QB(sn),QB(Nl),QB(LC),QB(wp),QB(HA),QB(je),QB(y),QB(nl),QB(U),QB(KE),QB(wi),QB(Ho),QB(Pc),QB(Gk),QB(NC),QB(Ov),QB(bF),QB(t)],oae=QB(qu),sae=QB(kt),lae=[0,[11,QB(\"Failure while looking up \"),[2,0,[11,QB(\". Index: \"),[4,0,0,0,[11,QB(\". Length: \"),[4,0,0,0,[12,46,0]]]]]]],QB(\"Failure while looking up %s. Index: %d. Length: %d.\")],vae=[0,0,0,0],Dae=QB(\"Offset_utils.Offset_lookup_failed\"),pae=QB(hA),bae=QB(Sv),Fae=QB(WC),mae=QB(cd),dae=QB(cd),Eae=QB(WC),kae=QB(Vr),hae=QB(Gu),yae=QB(AE),Cae=QB(AE),wae=QB(\"Program\"),Aae=QB(zi),_ae=QB(\"BreakStatement\"),gae=QB(zi),Bae=QB(\"ContinueStatement\"),Sae=QB(\"DebuggerStatement\"),xae=QB(fg),Tae=QB(\"DeclareExportAllDeclaration\"),Iae=QB(fg),Nae=QB(BB),Oae=QB(Wu),Lae=QB(JC),Pae=QB(\"DeclareExportDeclaration\"),Rae=QB(Xe),Mae=QB(AE),jae=QB(pi),Uae=QB(\"DeclareModule\"),Xae=QB(ZD),Gae=QB(\"DeclareModuleExports\"),Jae=QB(rh),qae=QB(AE),zae=QB(\"DoWhileStatement\"),Wae=QB(\"EmptyStatement\"),Vae=QB(zC),$ae=QB(Wu),Yae=QB(\"ExportDefaultDeclaration\"),Hae=QB(zC),Kae=QB(fg),Qae=QB(\"ExportAllDeclaration\"),Zae=QB(zC),rie=QB(fg),eie=QB(BB),tie=QB(Wu),nie=QB(\"ExportNamedDeclaration\"),uie=QB(m),aie=QB(Et),iie=QB(\"ExpressionStatement\"),cie=QB(AE),fie=QB(V),oie=QB(rh),sie=QB(nk),lie=QB(\"ForStatement\"),vie=QB(Cl),Die=QB(AE),pie=QB(iu),bie=QB(of),Fie=QB(\"ForInStatement\"),mie=QB(tf),die=QB(AE),Eie=QB(iu),kie=QB(of),hie=QB(\"ForOfStatement\"),yie=QB(qF),Cie=QB(Rp),wie=QB(rh),Aie=QB(\"IfStatement\"),_ie=QB(Vr),gie=QB(Cf),Bie=QB(Im),Sie=QB(vp),xie=QB(fg),Tie=QB(BB),Iie=QB(\"ImportDeclaration\"),Nie=QB(AE),Oie=QB(zi),Lie=QB(\"LabeledStatement\"),Pie=QB(QC),Rie=QB(\"ReturnStatement\"),Mie=QB(Sd),jie=QB(\"discriminant\"),Uie=QB(\"SwitchStatement\"),Xie=QB(QC),Gie=QB(\"ThrowStatement\"),Jie=QB(bl),qie=QB(Kn),zie=QB(y),Wie=QB(\"TryStatement\"),Vie=QB(AE),$ie=QB(rh),Yie=QB(\"WhileStatement\"),Hie=QB(AE),Kie=QB(Oc),Qie=QB(\"WithStatement\"),Zie=QB(dl),rce=QB(\"ArrayExpression\"),ece=QB(Ta),tce=QB(Qy),nce=QB(Et),uce=QB(av),ace=QB(mg),ice=QB(uC),cce=QB(AE),fce=QB(w),oce=QB(pi),sce=QB(\"ArrowFunctionExpression\"),lce=QB(\"=\"),vce=QB(iu),Dce=QB(of),pce=QB(__),bce=QB(\"AssignmentExpression\"),Fce=QB(iu),mce=QB(of),dce=QB(__),Ece=QB(\"BinaryExpression\"),kce=QB(\"CallExpression\"),hce=QB(Xt),yce=QB($k),Cce=QB(\"ComprehensionExpression\"),wce=QB(qF),Ace=QB(Rp),_ce=QB(rh),gce=QB(\"ConditionalExpression\"),Bce=QB(Xt),Sce=QB($k),xce=QB(\"GeneratorExpression\"),Tce=QB(fg),Ice=QB(\"ImportExpression\"),Nce=QB(\"||\"),Oce=QB(\"&&\"),Lce=QB(a),Pce=QB(iu),Rce=QB(of),Mce=QB(__),jce=QB(\"LogicalExpression\"),Uce=QB(\"MemberExpression\"),Xce=QB(rA),Gce=QB(\"meta\"),Jce=QB(\"MetaProperty\"),qce=QB(Xu),zce=QB(kF),Wce=QB(tv),Vce=QB(\"NewExpression\"),$ce=QB(Bu),Yce=QB(\"ObjectExpression\"),Hce=QB(Dv),Kce=QB(\"OptionalCallExpression\"),Qce=QB(Dv),Zce=QB(\"OptionalMemberExpression\"),rfe=QB(Hm),efe=QB(\"SequenceExpression\"),tfe=QB(\"Super\"),nfe=QB(\"ThisExpression\"),ufe=QB(ZD),afe=QB(Et),ife=QB(\"TypeCastExpression\"),cfe=QB(QC),ffe=QB(\"AwaitExpression\"),ofe=QB(eC),sfe=QB(bw),lfe=QB(\"!\"),vfe=QB(\"~\"),Dfe=QB(Cf),pfe=QB(Ko),bfe=QB(Vk),Ffe=QB(\"matched above\"),mfe=QB(QC),dfe=QB(CD),Efe=QB(__),kfe=QB(\"UnaryExpression\"),hfe=QB(\"--\"),yfe=QB(\"++\"),Cfe=QB(CD),wfe=QB(QC),Afe=QB(__),_fe=QB(\"UpdateExpression\"),gfe=QB(Eh),Bfe=QB(QC),Sfe=QB(\"YieldExpression\"),xfe=QB(\"Unexpected FunctionDeclaration with BodyExpression\"),Tfe=QB(Ta),Ife=QB(Qy),Nfe=QB(Et),Ofe=QB(av),Lfe=QB(mg),Pfe=QB(uC),Rfe=QB(AE),Mfe=QB(w),jfe=QB(pi),Ufe=QB(\"FunctionDeclaration\"),Xfe=QB(\"Unexpected FunctionExpression with BodyExpression\"),Gfe=QB(Ta),Jfe=QB(Qy),qfe=QB(Et),zfe=QB(av),Wfe=QB(mg),Vfe=QB(uC),$fe=QB(AE),Yfe=QB(w),Hfe=QB(pi),Kfe=QB(\"FunctionExpression\"),Qfe=QB(Dv),Zfe=QB(ZD),roe=QB(Wl),eoe=QB(f),toe=QB(pi),noe=QB(\"PrivateName\"),uoe=QB(Dv),aoe=QB(ZD),ioe=QB(Wl),coe=QB(f),foe=QB(Rp),ooe=QB(rh),soe=QB(\"SwitchCase\"),loe=QB(AE),voe=QB(\"param\"),Doe=QB(\"CatchClause\"),poe=QB(AE),boe=QB(\"BlockStatement\"),Foe=QB(pi),moe=QB(\"DeclareVariable\"),doe=QB(av),Eoe=QB(pi),koe=QB(\"DeclareFunction\"),hoe=QB(ot),yoe=QB(Fe),Coe=QB(Dp),woe=QB(AE),Aoe=QB(Ta),_oe=QB(pi),goe=QB(\"DeclareClass\"),Boe=QB(Dp),Soe=QB(AE),xoe=QB(Ta),Toe=QB(pi),Ioe=QB(\"DeclareInterface\"),Noe=QB(Im),Ooe=QB(Vr),Loe=QB(Yt),Poe=QB(\"ExportNamespaceSpecifier\"),Roe=QB(iu),Moe=QB(Ta),joe=QB(pi),Uoe=QB(\"DeclareTypeAlias\"),Xoe=QB(iu),Goe=QB(Ta),Joe=QB(pi),qoe=QB(\"TypeAlias\"),zoe=QB(\"DeclareOpaqueType\"),Woe=QB(\"OpaqueType\"),Voe=QB(uF),$oe=QB(fb),Yoe=QB(Ta),Hoe=QB(pi),Koe=QB(\"ClassDeclaration\"),Qoe=QB(\"ClassExpression\"),Zoe=QB(J),rse=QB(Fe),ese=QB(\"superTypeParameters\"),tse=QB(\"superClass\"),nse=QB(Ta),use=QB(AE),ase=QB(pi),ise=QB(Et),cse=QB(\"Decorator\"),fse=QB(Ta),ose=QB(pi),sse=QB(\"ClassImplements\"),lse=QB(AE),vse=QB(\"ClassBody\"),Dse=QB(Zp),pse=QB(rr),bse=QB(qt),Fse=QB(uu),mse=QB(J),dse=QB(oi),Ese=QB(Vu),kse=QB(Xe),hse=QB(Im),yse=QB(DB),Cse=QB(\"MethodDefinition\"),wse=QB(Ke),Ase=QB(Sp),_se=QB(Vu),gse=QB(ZD),Bse=QB(Im),Sse=QB(DB),xse=QB(\"ClassPrivateProperty\"),Tse=QB(\"Internal Error: Private name found in class prop\"),Ise=QB(Ke),Nse=QB(Sp),Ose=QB(Vu),Lse=QB(oi),Pse=QB(ZD),Rse=QB(Im),Mse=QB(DB),jse=QB(\"ClassProperty\"),Use=QB(pi),Xse=QB(_F),Gse=QB(nk),Jse=QB(pi),qse=QB(\"EnumStringMember\"),zse=QB(pi),Wse=QB(_F),Vse=QB(nk),$se=QB(pi),Yse=QB(\"EnumNumberMember\"),Hse=QB(nk),Kse=QB(pi),Qse=QB(\"EnumBooleanMember\"),Zse=QB(Wo),rle=QB(by),ele=QB(Zt),tle=QB(\"EnumBooleanBody\"),nle=QB(Wo),ule=QB(by),ale=QB(Zt),ile=QB(\"EnumNumberBody\"),cle=QB(Wo),fle=QB(by),ole=QB(Zt),sle=QB(\"EnumStringBody\"),lle=QB(Wo),vle=QB(Zt),Dle=QB(\"EnumSymbolBody\"),ple=QB(AE),ble=QB(pi),Fle=QB(\"EnumDeclaration\"),mle=QB(Dp),dle=QB(AE),Ele=QB(Ta),kle=QB(pi),hle=QB(\"InterfaceDeclaration\"),yle=QB(Ta),Cle=QB(pi),wle=QB(\"InterfaceExtends\"),Ale=QB(ZD),_le=QB(Bu),gle=QB(\"ObjectPattern\"),Ble=QB(ZD),Sle=QB(dl),xle=QB(\"ArrayPattern\"),Tle=QB(iu),Ile=QB(of),Nle=QB($E),Ole=QB(ZD),Lle=QB(Wl),Ple=QB(f),Rle=QB(QC),Mle=QB(qD),jle=QB(QC),Ule=QB(qD),Xle=QB(iu),Gle=QB(of),Jle=QB($E),qle=QB(nk),zle=QB(nk),Wle=QB(qt),Vle=QB(uu),$le=QB(Mi),Yle=QB(oi),Hle=QB(Qh),Kle=QB(rr),Qle=QB(Xe),Zle=QB(Im),rve=QB(DB),eve=QB(pe),tve=QB(QC),nve=QB(\"SpreadProperty\"),uve=QB(iu),ave=QB(of),ive=QB($E),cve=QB(oi),fve=QB(Qh),ove=QB(rr),sve=QB(Xe),lve=QB(Im),vve=QB(DB),Dve=QB(pe),pve=QB(QC),bve=QB(\"SpreadElement\"),Fve=QB(Cl),mve=QB(iu),dve=QB(of),Eve=QB(\"ComprehensionBlock\"),kve=QB(\"We should not create Literal nodes for bigints\"),hve=QB(wm),yve=QB(Op),Cve=QB(\"regex\"),wve=QB(ge),Ave=QB(Im),_ve=QB(ge),gve=QB(Im),Bve=QB(iA),Sve=QB(ge),xve=QB(Im),Tve=QB(iA),Ive=QB(Nd),Nve=QB(Im),Ove=QB(\"BigIntLiteral\"),Lve=QB(ge),Pve=QB(Im),Rve=QB(iA),Mve=QB(Hm),jve=QB(\"quasis\"),Uve=QB(\"TemplateLiteral\"),Xve=QB(KC),Gve=QB(ge),Jve=QB(Gr),qve=QB(Im),zve=QB(\"TemplateElement\"),Wve=QB(Oy),Vve=QB(\"tag\"),$ve=QB(\"TaggedTemplateExpression\"),Yve=QB(ib),Hve=QB(rs),Kve=QB(Ia),Qve=QB(Xe),Zve=QB(\"declarations\"),rDe=QB(\"VariableDeclaration\"),eDe=QB(nk),tDe=QB(pi),nDe=QB(\"VariableDeclarator\"),uDe=QB(Xe),aDe=QB(\"Variance\"),iDe=QB(\"AnyTypeAnnotation\"),cDe=QB(\"MixedTypeAnnotation\"),fDe=QB(\"EmptyTypeAnnotation\"),oDe=QB(\"VoidTypeAnnotation\"),sDe=QB(\"NullLiteralTypeAnnotation\"),lDe=QB(\"SymbolTypeAnnotation\"),vDe=QB(\"NumberTypeAnnotation\"),DDe=QB(\"BigIntTypeAnnotation\"),pDe=QB(\"StringTypeAnnotation\"),bDe=QB(\"BooleanTypeAnnotation\"),FDe=QB(ZD),mDe=QB(\"NullableTypeAnnotation\"),dDe=QB(Ta),EDe=QB(ka),kDe=QB(Qy),hDe=QB(cF),yDe=QB(w),CDe=QB(\"FunctionTypeAnnotation\"),wDe=QB(Dv),ADe=QB(ZD),_De=QB(Wl),gDe=QB(zl),BDe=QB(Dv),SDe=QB(ZD),xDe=QB(Wl),TDe=QB(zl),IDe=[0,0,0,0,0],NDe=QB(\"internalSlots\"),ODe=QB(\"callProperties\"),LDe=QB(\"indexers\"),PDe=QB(Bu),RDe=QB(\"exact\"),MDe=QB(Cw),jDe=QB(\"ObjectTypeAnnotation\"),UDe=QB(Mi),XDe=QB(\"There should not be computed object type property keys\"),GDe=QB(nk),JDe=QB(qt),qDe=QB(uu),zDe=QB(Xe),WDe=QB(Sp),VDe=QB(ck),$De=QB(Vu),YDe=QB(Dv),HDe=QB(rr),KDe=QB(Im),QDe=QB(DB),ZDe=QB(\"ObjectTypeProperty\"),rpe=QB(QC),epe=QB(\"ObjectTypeSpreadProperty\"),tpe=QB(Sp),npe=QB(Vu),upe=QB(Im),ape=QB(DB),ipe=QB(pi),cpe=QB(\"ObjectTypeIndexer\"),fpe=QB(Vu),ope=QB(Im),spe=QB(\"ObjectTypeCallProperty\"),lpe=QB(Im),vpe=QB(rr),Dpe=QB(Vu),ppe=QB(Dv),bpe=QB(pi),Fpe=QB(\"ObjectTypeInternalSlot\"),mpe=QB(AE),dpe=QB(Dp),Epe=QB(\"InterfaceTypeAnnotation\"),kpe=QB(\"elementType\"),hpe=QB(\"ArrayTypeAnnotation\"),ype=QB(pi),Cpe=QB(\"qualification\"),wpe=QB(\"QualifiedTypeIdentifier\"),Ape=QB(Ta),_pe=QB(pi),gpe=QB(\"GenericTypeAnnotation\"),Bpe=QB(j_),Spe=QB(\"UnionTypeAnnotation\"),xpe=QB(j_),Tpe=QB(\"IntersectionTypeAnnotation\"),Ipe=QB(QC),Npe=QB(\"TypeofTypeAnnotation\"),Ope=QB(j_),Lpe=QB(\"TupleTypeAnnotation\"),Ppe=QB(ge),Rpe=QB(Im),Mpe=QB(\"StringLiteralTypeAnnotation\"),jpe=QB(ge),Upe=QB(Im),Xpe=QB(\"NumberLiteralTypeAnnotation\"),Gpe=QB(ge),Jpe=QB(Im),qpe=QB(\"BigIntLiteralTypeAnnotation\"),zpe=QB(kh),Wpe=QB(Pa),Vpe=QB(ge),$pe=QB(Im),Ype=QB(\"BooleanLiteralTypeAnnotation\"),Hpe=QB(\"ExistsTypeAnnotation\"),Kpe=QB(ZD),Qpe=QB(\"TypeAnnotation\"),Zpe=QB(w),rbe=QB(\"TypeParameterDeclaration\"),ebe=QB(JC),tbe=QB(Sp),nbe=QB(Bn),ube=QB(Wl),abe=QB(\"TypeParameter\"),ibe=QB(w),cbe=QB(ps),fbe=QB(w),obe=QB(ps),sbe=QB(ii),lbe=QB(i),vbe=QB(\"closingElement\"),Dbe=QB(\"openingElement\"),pbe=QB(\"JSXElement\"),bbe=QB(\"closingFragment\"),Fbe=QB(i),mbe=QB(\"openingFragment\"),dbe=QB(\"JSXFragment\"),Ebe=QB(\"selfClosing\"),kbe=QB(zh),hbe=QB(Wl),ybe=QB(\"JSXOpeningElement\"),Cbe=QB(\"JSXOpeningFragment\"),wbe=QB(Wl),Abe=QB(\"JSXClosingElement\"),_be=QB(\"JSXClosingFragment\"),gbe=QB(Im),Bbe=QB(Wl),Sbe=QB(\"JSXAttribute\"),xbe=QB(QC),Tbe=QB(\"JSXSpreadAttribute\"),Ibe=QB(\"JSXEmptyExpression\"),Nbe=QB(Et),Obe=QB(\"JSXExpressionContainer\"),Lbe=QB(Et),Pbe=QB(\"JSXSpreadChild\"),Rbe=QB(ge),Mbe=QB(Im),jbe=QB(\"JSXText\"),Ube=QB(rA),Xbe=QB(Oc),Gbe=QB(\"JSXMemberExpression\"),Jbe=QB(Wl),qbe=QB(\"namespace\"),zbe=QB(\"JSXNamespacedName\"),Wbe=QB(Wl),Vbe=QB(\"JSXIdentifier\"),$be=QB(Yt),Ybe=QB(Xs),Hbe=QB(\"ExportSpecifier\"),Kbe=QB(Xs),Qbe=QB(\"ImportDefaultSpecifier\"),Zbe=QB(Xs),rFe=QB(\"ImportNamespaceSpecifier\"),eFe=QB(vp),tFe=QB(Xs),nFe=QB(\"imported\"),uFe=QB(\"ImportSpecifier\"),aFe=QB(\"Line\"),iFe=QB(\"Block\"),cFe=QB(Im),fFe=QB(Im),oFe=QB(\"DeclaredPredicate\"),sFe=QB(\"InferredPredicate\"),lFe=QB(Xu),vFe=QB(kF),DFe=QB(tv),pFe=QB(oi),bFe=QB(rA),FFe=QB(Oc),mFe=QB(\"message\"),dFe=QB(Sv),EFe=QB(\"end\"),kFe=QB(T),hFe=QB(fg),yFe=QB(kt),CFe=QB(qu),wFe=QB(ws),AFe=QB(Ud),_Fe=QB(Rf),gFe=QB(to),BFe=QB(Kt),SFe=QB(gF),xFe=QB(cF),TFe=QB(ur),IFe=QB(ne),NFe=QB(ib),OFe=QB(e_),LFe=QB(Gs),PFe=QB(Ia),RFe=QB(rs),MFe=QB(Wm),jFe=QB(Pa),UFe=QB(kh),XFe=QB(Pc),GFe=QB(pC),JFe=QB(hy),qFe=QB(TD),zFe=QB(JC),WFe=QB(Nr),VFe=QB(hv),$Fe=QB(dg),YFe=QB(gD),HFe=QB(Dp),KFe=QB(Vu),QFe=QB(wu),ZFe=QB(js),rme=QB(Vk),eme=QB(Cf),tme=QB(Ko),nme=QB(Nf),ume=QB(HF),ame=QB(Rh),ime=QB(jf),cme=QB(Fe),fme=QB(NC),ome=QB(Mr),sme=QB(se),lme=QB(By),vme=QB(CC),Dme=QB(tb),pme=QB(Ui),bme=QB(Ke),Fme=QB(Vr),mme=QB(Pt),dme=QB(\"of\"),Eme=QB(uC),kme=QB(tf),hme=QB(Oh),yme=QB(Wv),Cme=QB(dd),wme=QB(ms),Ame=QB(Nd),_me=QB(eh),gme=QB(Ko),Bme=QB(ga),Sme=QB(Ft),xme=QB(GC),Tme=[0,QB(ud)],Ime=QB(qC),Nme=[8,0],Ome=[0,0],Lme=[0,1],Pme=[0,2],Rme=[0,3],Mme=[0,0],jme=QB(qC),Ume=[0,0,0,0,0],Xme=[0,QB(ke),811,6],Gme=[0,QB(ke),814,6],Jme=[0,QB(ke),917,8],qme=QB(ck),zme=[0,QB(ke),934,8],Wme=QB(\"Can not have both `static` and `proto`\"),Vme=QB(Vu),$me=QB(ck),Yme=QB(qt),Hme=QB(uu),Kme=QB(qt),Qme=[0,0,0,0],Zme=QB(Zp),rde=QB(xi),ede=[0,[0,0,0,0,0]],tde=QB(cF),nde=[0,0],ude=[0,QB(ke),138,15],ade=[0,QB(ke),sE,15],ide=[0,42],cde=[0,42],fde=[0,0,0],ode=[0,0,0],sde=[0,0,0],lde=[0,40],vde=QB(fs),Dde=QB(fs),pde=[0,QB(tn),1495,13],bde=[0,QB(tn),1261,17],Fde=[0,QB(\"a template literal part\")],mde=[0,[0,QB(qC),QB(qC)],1],dde=QB(Wm),Ede=QB(Wm),kde=QB(kh),hde=QB(Pa),yde=QB(\"Invalid bigint \"),Cde=QB(\"Invalid bigint binary/octal \"),wde=QB(ob),Ade=QB(yf),_de=QB(lu),gde=QB(lu),Bde=QB(gr),Sde=[0,42],xde=[0,1],Tde=[0,1],Ide=[0,1],Nde=[0,1],Ode=[0,0],Lde=QB(ii),Pde=QB(ii),Rde=QB(js),Mde=QB(ub),jde=[0,QB(\"the identifier `target`\")],Ude=[0,0],Xde=[0,80],Gde=[0,0,0],Jde=[0,1,0],qde=[0,1,1],zde=QB(jf),Wde=[0,0],Vde=[0,QB(\"either a call or access of `super`\")],$de=QB(jf),Yde=[0,0],Hde=[0,1],Kde=[0,0],Qde=[0,1],Zde=[0,0],rEe=[0,1],eEe=[0,0],tEe=[0,2],nEe=[0,3],uEe=[0,7],aEe=[0,6],iEe=[0,4],cEe=[0,5],fEe=[0,[0,17,[0,2]]],oEe=[0,[0,18,[0,3]]],sEe=[0,[0,19,[0,4]]],lEe=[0,[0,0,[0,5]]],vEe=[0,[0,1,[0,5]]],DEe=[0,[0,2,[0,5]]],pEe=[0,[0,3,[0,5]]],bEe=[0,[0,5,[0,6]]],FEe=[0,[0,7,[0,6]]],mEe=[0,[0,4,[0,6]]],dEe=[0,[0,6,[0,6]]],EEe=[0,[0,8,[0,7]]],kEe=[0,[0,9,[0,7]]],hEe=[0,[0,10,[0,7]]],yEe=[0,[0,11,[0,8]]],CEe=[0,[0,12,[0,8]]],wEe=[0,[0,15,[0,9]]],AEe=[0,[0,13,[0,9]]],_Ee=[0,[0,14,[1,10]]],gEe=[0,[0,16,[0,9]]],BEe=[0,[0,21,[0,6]]],SEe=[0,[0,20,[0,6]]],xEe=[23,QB(a)],TEe=[0,[0,8]],IEe=[0,[0,7]],NEe=[0,[0,6]],OEe=[0,[0,10]],LEe=[0,[0,9]],PEe=[0,[0,11]],REe=[0,[0,5]],MEe=[0,[0,4]],jEe=[0,[0,2]],UEe=[0,[0,3]],XEe=[0,[0,1]],GEe=[0,[0,0]],JEe=[0,0],qEe=QB(js),zEe=QB(ub),WEe=[0,5],VEe=QB(uC),$Ee=QB(js),YEe=QB(ub),HEe=QB(fh),KEe=QB(ZF),QEe=[17,QB(\"JSX fragment\")],ZEe=QB(qC),rke=[0,QB(qC)],eke=[0,QB(ud)],tke=QB(qC),nke=QB(\"unexpected PrivateName in Property, expected a PrivateField\"),uke=[0,0,0],ake=QB(Zp),ike=QB(Zp),cke=QB(qt),fke=QB(uu),oke=[0,1],ske=[0,1],lke=[0,1],vke=QB(Zp),Dke=QB(Zp),pke=QB(xi),bke=QB(qt),Fke=QB(uu),mke=QB(\"=\"),dke=QB(tb),Eke=QB(tf),kke=QB(\"Internal Error: private name found in object props\"),hke=QB(nB),yke=[0,QB(ud)],Cke=QB(tb),wke=QB(tf),Ake=QB(tb),_ke=QB(tf),gke=QB(nB),Bke=[11,QB(Qg)],Ske=[0,1],xke=QB(dh),Tke=QB(vE),Ike=[0,QB(Xb),1714,21],Nke=QB(dh),Oke=QB(JC),Lke=QB(\"other than an interface declaration!\"),Pke=QB(\"Internal Flow Error! Parsed `export interface` into something \"),Rke=QB(vE),Mke=QB(\"Internal Flow Error! Unexpected export statement declaration!\"),jke=[0,39],Uke=QB(dh),Xke=QB(vE),Gke=[0,QB(qC),QB(qC),0],Jke=[0,QB(It)],qke=QB(te),zke=QB(\"exports\"),Wke=[0,1],Vke=QB(te),$ke=[0,1],Yke=QB(ot),Hke=[0,0],Kke=[0,1],Qke=QB(vE),Zke=QB(dh),rhe=[0,81],ehe=[0,81],the=[0,0],nhe=[0,1],uhe=QB(dh),ahe=QB(dh),ihe=QB(dh),che=QB(vE),fhe=[0,QB(qC),QB(qC),0],ohe=[0,QB(It)],she=QB(\"Parser error: No such thing as an expression pattern!\"),lhe=[0,QB(M)],vhe=QB(\"Label\"),Dhe=[0,QB(M)],phe=[0,0,0],bhe=[0,29],Fhe=[0,QB(Xb),419,22],mhe=[0,28],dhe=[0,QB(Xb),438,22],Ehe=[0,0],khe=QB(\"the token `;`\"),hhe=[0,0],yhe=[0,0],Che=QB(tf),whe=QB(rs),Ahe=QB(tb),_he=[0,QB(_u)],ghe=[15,[0,0]],Bhe=[0,QB(_u)],She=QB(\"use strict\"),xhe=[0,0,0],The=QB(\"\\n\"),Ihe=QB(\"Nooo: \"),Nhe=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],Ohe=[0,QB(\"src/parser/parser_flow.ml\"),42,28],Lhe=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],Phe=QB(Im),Rhe=QB(hA),Mhe=QB(kt),jhe=QB(qu),Uhe=QB(\"end\"),Xhe=QB(kt),Ghe=QB(qu),Jhe=QB(T),qhe=QB(Sv),zhe=QB(\"normal\"),Whe=QB(Vr),Vhe=QB(\"jsxTag\"),$he=QB(\"jsxChild\"),Yhe=QB(\"template\"),Hhe=QB(cv),Khe=QB(\"context\"),Qhe=QB(Vr),Zhe=QB(\"Internal error: \");function rye(r){if(\"number\"==typeof r)return 0;switch(r[0]){case 0:return[0,rye(r[1])];case 1:return[1,rye(r[1])];case 2:return[2,rye(r[1])];case 3:return[3,rye(r[1])];case 4:return[4,rye(r[1])];case 5:return[5,rye(r[1])];case 6:return[6,rye(r[1])];case 7:return[7,rye(r[1])];case 8:return[8,r[1],rye(r[2])];case 9:var e=r[1];return[9,e,e,rye(r[3])];case 10:return[10,rye(r[1])];case 11:return[11,rye(r[1])];case 12:return[12,rye(r[1])];case 13:return[13,rye(r[1])];default:return[14,rye(r[1])]}}function eye(r,e){if(\"number\"==typeof r)return e;switch(r[0]){case 0:return[0,eye(r[1],e)];case 1:return[1,eye(r[1],e)];case 2:return[2,eye(r[1],e)];case 3:return[3,eye(r[1],e)];case 4:return[4,eye(r[1],e)];case 5:return[5,eye(r[1],e)];case 6:return[6,eye(r[1],e)];case 7:return[7,eye(r[1],e)];case 8:return[8,r[1],eye(r[2],e)];case 9:var t=r[2];return[9,r[1],t,eye(r[3],e)];case 10:return[10,eye(r[1],e)];case 11:return[11,eye(r[1],e)];case 12:return[12,eye(r[1],e)];case 13:return[13,eye(r[1],e)];default:return[14,eye(r[1],e)]}}function tye(r,e){if(\"number\"==typeof r)return e;switch(r[0]){case 0:return[0,tye(r[1],e)];case 1:return[1,tye(r[1],e)];case 2:return[2,r[1],tye(r[2],e)];case 3:return[3,r[1],tye(r[2],e)];case 4:var t=r[3],n=r[2];return[4,r[1],n,t,tye(r[4],e)];case 5:var u=r[3],a=r[2];return[5,r[1],a,u,tye(r[4],e)];case 6:var i=r[3],c=r[2];return[6,r[1],c,i,tye(r[4],e)];case 7:var f=r[3],o=r[2];return[7,r[1],o,f,tye(r[4],e)];case 8:var s=r[3],l=r[2];return[8,r[1],l,s,tye(r[4],e)];case 9:return[9,r[1],tye(r[2],e)];case 10:return[10,tye(r[1],e)];case 11:return[11,r[1],tye(r[2],e)];case 12:return[12,r[1],tye(r[2],e)];case 13:var v=r[2];return[13,r[1],v,tye(r[3],e)];case 14:var D=r[2];return[14,r[1],D,tye(r[3],e)];case 15:return[15,tye(r[1],e)];case 16:return[16,tye(r[1],e)];case 17:return[17,r[1],tye(r[2],e)];case 18:return[18,r[1],tye(r[2],e)];case 19:return[19,tye(r[1],e)];case 20:var p=r[2];return[20,r[1],p,tye(r[3],e)];case 21:return[21,r[1],tye(r[2],e)];case 22:return[22,tye(r[1],e)];case 23:return[23,r[1],tye(r[2],e)];default:var b=r[2];return[24,r[1],b,tye(r[3],e)]}}function nye(r){throw[0,Ox,r]}function uye(r){throw[0,Lx,r]}function aye(r){return 0<=r?r:0|-r}yS();function iye(r,e){var t=RS(r),n=RS(e),u=vS(t+n|0);return WB(r,0,u,0,t),WB(e,0,u,t,n),u}function cye(r){return r?rT:eT}function fye(r,e){return r?[0,r[1],fye(r[2],e)]:e}!function(r){var e=UB.fds[r];e.flags.wronly&&rx(\"fd \"+r+\" is writeonly\");var t={file:e.file,offset:e.offset,fd:r,opened:!0,out:!1,refill:null};ex[t.fd]=t}(0);var oye=vx(1),sye=vx(2),lye=[0,function(r){return function(r){for(var e=r;;){if(!e)return 0;var t=e[2],n=e[1];try{tx(n)}catch(e){if((e=_x(e))[1]!==Nx)throw e}e=t}}(function(){for(var r=0,e=0;e0)if(0==e&&(t>=r.l||2==r.t&&t>=r.c.length))0==n?(r.c=qC,r.t=2):(r.c=VB(t,String.fromCharCode(n)),r.t=t==r.l?0:2);else for(4!=r.t&&qB(r),t+=e;e=1;a--)t[n+a]=r[e+a];return 0}(r,e,t,n,u):uye(dT)}function Wye(r,e){var t=e.length-1-1|0;if(!(t<0))for(var n=0;;){gx(r,e[n+1]);var u=n+1|0;if(t===n)break;n=u}return 0}function Vye(r,e){var t=e.length-1;if(0===t)return[0];var n=QS(t,gx(r,e[1])),u=t-1|0;if(!(u<1))for(var a=1;;){n[a+1]=gx(r,e[a+1]);var i=a+1|0;if(u===a)break;a=i}return n}function $ye(r){if(r)for(var e=0,t=r,n=r[2],u=r[1];;)if(t)e=e+1|0,t=t[2];else for(var a=QS(e,u),i=1,c=n;;){if(!c)return a;var f=c[2];a[i+1]=c[1];i=i+1|0,c=f}return[0]}function Yye(r){function e(r){return r?r[4]:0}function t(r,e,t){var n=r?r[4]:0,u=t?t[4]:0;return[0,r,e,t,u<=n?n+1|0:u+1|0]}function n(r,n,u){var a=r?r[4]:0,i=u?u[4]:0;if((i+2|0)>1,k=Oye(E,e),h=b(E,e),y=b(r-E|0,k),C=0;;){if(h){if(y){var w=y[2],A=y[1],_=h[2],g=h[1],B=Bx(D,g,A);if(0===B){h=_,y=w,C=[0,g,C];continue}if(0>1,k=Oye(E,e),h=p(E,e),y=p(r-E|0,k),C=0;;){if(h){if(y){var w=y[2],A=y[1],_=h[2],g=h[1],B=Bx(D,g,A);if(0===B){h=_,y=w,C=[0,g,C];continue}if(0<=B){y=w,C=[0,A,C];continue}h=_,C=[0,g,C];continue}return Cye(h,C)}return Cye(y,C)}},F=kye(e),m=2<=F?p(F,e):e,d=function(r,e){if(!(3>>0))switch(r){case 0:return[0,0,e];case 1:if(e)return[0,[0,0,e[1],0,1],e[2]];break;case 2:if(e){var n=e[2];if(n)return[0,[0,[0,0,e[1],0,1],n[1],0,2],n[2]]}break;default:if(e){var u=e[2];if(u){var a=u[2];if(a)return[0,[0,[0,0,e[1],0,1],u[1],[0,0,a[1],0,1],2],a[2]]}}}var i=r/2|0,c=d(i,e),f=c[2],o=c[1];if(f){var s=f[1],l=d((r-i|0)-1|0,f[2]),v=l[2];return[0,t(o,s,l[1]),v]}throw[0,jx,wT]};return d(kye(m),m)[1]}return u(l[1],u(v,u(s,u(f,a(i)))))}return u(v,u(s,u(f,a(i))))}return u(s,u(f,a(i)))}return u(f,a(i))}return a(i)}return 0},function(e,t){for(var n=t,u=0;;){if(n){var a=n[3],i=n[2],c=n[1],f=Bx(r[1],i,e);if(0!==f){if(0<=f){n=c,u=[0,i,a,u];continue}n=a;continue}var o=[0,i,a,u]}else o=u;return function(r){return k(o)}}},function(r){var e=F(r,0);return function(r){return k(e)}},E,function(r){return E(r,0)}]}function Hye(r){function e(r){return r?r[5]:0}function t(r,t,n,u){var a=e(r),i=e(u);return[0,r,t,n,u,i<=a?a+1|0:i+1|0]}function n(r,e){return[0,0,r,e,0,1]}function u(r,n,u,a){var i=r?r[5]:0,c=a?a[5]:0;if((c+2|0)>>0?1:0:65<=u?0:1;else{if(32===u)var i=1;else if(43<=u)switch(u+-43|0){case 5:if(n<(t+2|0)&&1>>0?33<(u+nb|0)>>>0?1:0:2===u?1:0)){e=e+1|0;continue}var a=r,i=[0,0],c=ZS(a)-1|0;if(!(c<0))for(var f=0;;){var o=uS(a,f);if(32<=o){var s=o-34|0;if(58>>0)if(93<=s)var l=0,v=0;else v=1;else if(56<(s-1|0)>>>0)l=1,v=0;else v=1;if(v){var D=1;l=2}}else l=11<=o?13===o?1:0:8<=o?1:0;switch(l){case 0:D=4;break;case 1:D=2}i[1]=i[1]+D|0;var p=f+1|0;if(c===f)break;f=p}if(i[1]===ZS(a))var b=Pye(a);else{var F=vS(i[1]);i[1]=0;var m=ZS(a)-1|0;if(!(m<0))for(var d=0;;){var E=uS(a,d);if(35<=E)var k=92===E?1:zy<=E?0:2;else if(32<=E)k=34<=E?1:2;else if(14<=E)k=0;else switch(E){case 8:tS(F,i[1],92),i[1]++,tS(F,i[1],98);k=3;break;case 9:tS(F,i[1],92),i[1]++,tS(F,i[1],cm);k=3;break;case 10:tS(F,i[1],92),i[1]++,tS(F,i[1],Ve);k=3;break;case 13:tS(F,i[1],92),i[1]++,tS(F,i[1],vi);k=3;break;default:k=0}switch(k){case 0:tS(F,i[1],92),i[1]++,tS(F,i[1],48+(E/Fu|0)|0),i[1]++,tS(F,i[1],48+((E/10|0)%10|0)|0),i[1]++,tS(F,i[1],48+(E%10|0)|0);break;case 1:tS(F,i[1],92),i[1]++,tS(F,i[1],E);break;case 2:tS(F,i[1],E)}i[1]++;var h=d+1|0;if(m===d)break;d=h}b=F}n=b}var y=RS(n),C=Lye(y+2|0,34);return WB(n,0,C,1,y),C}}function kCe(r,e){switch(r){case 0:var t=gN;break;case 1:t=BN;break;case 2:t=SN;break;case 3:t=xN;break;case 4:t=TN;break;case 5:t=IN;break;case 6:t=NN;break;case 7:t=ON;break;case 8:t=LN;break;case 9:t=PN;break;case 10:t=RN;break;case 11:t=MN;break;default:t=jN}return kS(t,e)}function hCe(r,e){switch(r){case 0:var t=eN;break;case 1:t=tN;break;case 2:t=nN;break;case 3:t=uN;break;case 4:t=aN;break;case 5:t=iN;break;case 6:t=cN;break;case 7:t=fN;break;case 8:t=oN;break;case 9:t=sN;break;case 10:t=lN;break;case 11:t=vN;break;default:t=DN}return kS(t,e)}function yCe(r,e){switch(r){case 0:var t=GI;break;case 1:t=JI;break;case 2:t=qI;break;case 3:t=zI;break;case 4:t=WI;break;case 5:t=VI;break;case 6:t=$I;break;case 7:t=YI;break;case 8:t=HI;break;case 9:t=KI;break;case 10:t=QI;break;case 11:t=ZI;break;default:t=rN}return kS(t,e)}function CCe(r,e){switch(r){case 0:var t=pN;break;case 1:t=bN;break;case 2:t=FN;break;case 3:t=mN;break;case 4:t=dN;break;case 5:t=EN;break;case 6:t=kN;break;case 7:t=hN;break;case 8:t=yN;break;case 9:t=CN;break;case 10:t=wN;break;case 11:t=AN;break;default:t=_N}return function(r,e){var t=mS(r);t.signedconv&&function(r){return r[3]<<16<0}(e)&&(t.sign=-1,e=PS(e));var n=qC,u=BS(t.base);do{var a=OS(e,u);e=a[1],n=\"0123456789abcdef\".charAt(LS(a[2]))+n}while(!gS(e));if(t.prec>=0){t.filler=GD;var i=t.prec-n.length;i>0&&(n=VB(i,uc)+n)}return dS(t,n)}(t,e)}function wCe(r,e,t){if(16<=r){if(17<=r)switch(r+-17|0){case 2:var n=0;break;case 0:case 3:var u=43;n=1;break;default:u=32,n=1}else n=0;if(!n)u=45;var a=function(r,e,t){if(!isFinite(r))return isNaN(r)?_S(us):_S(r>0?oe:\"-infinity\");var n=0==r&&1/r==-1/0?1:r>=0?0:1;n&&(r=-r);var u=0;if(0==r);else if(r<1)for(;r<1&&u>-1022;)r*=2,u--;else for(;r>=2;)r/=2,u++;var a=u<0?qC:bw,i=qC;if(n)i=eC;else switch(t){case 43:i=bw;break;case 32:i=GD}if(e>=0&&e<13){var c=Math.pow(2,4*e);r=Math.round(r*c)/c}var f=r.toString(16);if(e>=0){var o=f.indexOf(ZF);if(o<0)f+=ZF+VB(e,uc);else{var s=o+1+e;f.length=22250738585072014e-324?0:0!=r?1:2:isNaN(r)?4:3}(t),E=RS(m);if(3===d)return t<0?jI:UI;if(4<=d)return RI;for(var k=0;;){if(k===E)var h=0;else{var y=kx(m,k)+OC|0;if(!(23>>0?55===y?1:0:21<(y-1|0)>>>0?1:0)){k=k+1|0;continue}h=1}return h?m:iye(m,MI)}}return m}function ACe(r,e,t,n,u,a,i,c){if(\"number\"==typeof u){if(\"number\"==typeof a)return 0===a?function(u){return TCe(r,e,[4,t,Bx(i,c,u)],n)}:function(u,a){return TCe(r,e,[4,t,dCe(u,Bx(i,c,a))],n)};var f=a[1];return function(u){return TCe(r,e,[4,t,dCe(f,Bx(i,c,u))],n)}}if(0===u[0]){var o=u[2],s=u[1];if(\"number\"==typeof a)return 0===a?function(u){return TCe(r,e,[4,t,mCe(s,o,Bx(i,c,u))],n)}:function(u,a){return TCe(r,e,[4,t,mCe(s,o,dCe(u,Bx(i,c,a)))],n)};var l=a[1];return function(u){return TCe(r,e,[4,t,mCe(s,o,dCe(l,Bx(i,c,u)))],n)}}var v=u[1];if(\"number\"==typeof a)return 0===a?function(u,a){return TCe(r,e,[4,t,mCe(v,u,Bx(i,c,a))],n)}:function(u,a,f){return TCe(r,e,[4,t,mCe(v,u,dCe(a,Bx(i,c,f)))],n)};var D=a[1];return function(u,a){return TCe(r,e,[4,t,mCe(v,u,dCe(D,Bx(i,c,a)))],n)}}function _Ce(r,e,t,n,u,a){if(\"number\"==typeof u)return function(u){return TCe(r,e,[4,t,gx(a,u)],n)};if(0===u[0]){var i=u[2],c=u[1];return function(u){return TCe(r,e,[4,t,mCe(c,i,gx(a,u))],n)}}var f=u[1];return function(u,i){return TCe(r,e,[4,t,mCe(f,u,gx(a,i))],n)}}function gCe(r,e,t,n,u){for(var a=e,i=n,c=u;;){if(\"number\"==typeof c)return Bx(a,t,i);switch(c[0]){case 0:var f=c[1];return function(r){return TCe(a,t,[5,i,r],f)};case 1:var o=c[1];return function(r){if(40<=r)if(92===r)var e=tT,n=2;else n=zy<=r?0:1;else if(32<=r)if(39<=r)e=nT,n=2;else n=1;else if(14<=r)n=0;else switch(r){case 8:e=uT,n=2;break;case 9:e=aT,n=2;break;case 10:e=iT,n=2;break;case 13:e=cT,n=2;break;default:n=0}switch(n){case 0:var u=vS(4);tS(u,0,92),tS(u,1,48+(r/Fu|0)|0),tS(u,2,48+((r/10|0)%10|0)|0),tS(u,3,48+(r%10|0)|0);e=u;break;case 1:var c=vS(1);tS(c,0,r);e=c}var f=RS(e),s=Lye(f+2|0,39);return WB(e,0,s,1,f),TCe(a,t,[4,i,s],o)};case 2:var s=c[2],l=c[1];return _Ce(a,t,i,s,l,(function(r){return r}));case 3:return _Ce(a,t,i,c[2],c[1],ECe);case 4:return ACe(a,t,i,c[4],c[2],c[3],kCe,c[1]);case 5:return ACe(a,t,i,c[4],c[2],c[3],hCe,c[1]);case 6:return ACe(a,t,i,c[4],c[2],c[3],yCe,c[1]);case 7:return ACe(a,t,i,c[4],c[2],c[3],CCe,c[1]);case 8:var v=c[4],D=c[3],p=c[2],b=c[1];if(\"number\"==typeof p){if(\"number\"==typeof D)return 0===D?function(r){return TCe(a,t,[4,i,wCe(b,-6,r)],v)}:function(r,e){return TCe(a,t,[4,i,wCe(b,r,e)],v)};var F=D[1];return function(r){return TCe(a,t,[4,i,wCe(b,F,r)],v)}}if(0===p[0]){var m=p[2],d=p[1];if(\"number\"==typeof D)return 0===D?function(r){return TCe(a,t,[4,i,mCe(d,m,wCe(b,-6,r))],v)}:function(r,e){return TCe(a,t,[4,i,mCe(d,m,wCe(b,r,e))],v)};var E=D[1];return function(r){return TCe(a,t,[4,i,mCe(d,m,wCe(b,E,r))],v)}}var k=p[1];if(\"number\"==typeof D)return 0===D?function(r,e){return TCe(a,t,[4,i,mCe(k,r,wCe(b,-6,e))],v)}:function(r,e,n){return TCe(a,t,[4,i,mCe(k,r,wCe(b,e,n))],v)};var h=D[1];return function(r,e){return TCe(a,t,[4,i,mCe(k,r,wCe(b,h,e))],v)};case 9:return _Ce(a,t,i,c[2],c[1],cye);case 10:i=[7,i],c=c[1];continue;case 11:i=[2,i,c[1]],c=c[2];continue;case 12:i=[3,i,c[1]],c=c[2];continue;case 13:var y=c[3],C=c[2],w=tCe(16);cCe(w,C);var A=iCe(w);return function(r){return TCe(a,t,[4,i,A],y)};case 14:var _=c[3],g=c[2];return function(r){var e=bCe(r[1],rye(fCe(g)));if(\"number\"==typeof e[2])return TCe(a,t,i,tye(e[1],_));throw lCe};case 15:var B=c[1];return function(r,e){return TCe(a,t,[6,i,function(t){return Bx(r,t,e)}],B)};case 16:var S=c[1];return function(r){return TCe(a,t,[6,i,r],S)};case 17:i=[0,i,c[1]],c=c[2];continue;case 18:var x=c[1];if(0===x[0]){var T=c[2],I=x[1][1];a=function(r,e,t){return function(n,u){return TCe(e,n,[1,r,[0,u]],t)}}(i,a,T),i=0,c=I;continue}var N=c[2],O=x[1][1];a=function(r,e,t){return function(n,u){return TCe(e,n,[1,r,[1,u]],t)}}(i,a,N),i=0,c=O;continue;case 19:throw[0,jx,kI];case 20:var L=c[3],P=[8,i,hI];return function(r){return TCe(a,t,P,L)};case 21:var R=c[2];return function(r){return TCe(a,t,[4,i,kS(EI,r)],R)};case 22:var M=c[1];return function(r){return TCe(a,t,[5,i,r],M)};case 23:var j=c[2],U=c[1];if(\"number\"==typeof U)switch(U){case 0:case 1:return r<50?SCe(r+1|0,a,t,i,j):wx(SCe,[0,a,t,i,j]);case 2:throw[0,jx,yI];default:return r<50?SCe(r+1|0,a,t,i,j):wx(SCe,[0,a,t,i,j])}else switch(U[0]){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:return r<50?SCe(r+1|0,a,t,i,j):wx(SCe,[0,a,t,i,j]);case 9:var X=U[2];return r<50?BCe(r+1|0,a,t,i,X,j):wx(BCe,[0,a,t,i,X,j]);case 10:default:return r<50?SCe(r+1|0,a,t,i,j):wx(SCe,[0,a,t,i,j])}default:var G=c[3],J=c[1],q=gx(c[2],0);return r<50?xCe(r+1|0,a,t,i,G,J,q):wx(xCe,[0,a,t,i,G,J,q])}}}function BCe(r,e,t,n,u,a){if(\"number\"==typeof u)return r<50?SCe(r+1|0,e,t,n,a):wx(SCe,[0,e,t,n,a]);switch(u[0]){case 0:var i=u[1];return function(r){return ICe(e,t,n,i,a)};case 1:var c=u[1];return function(r){return ICe(e,t,n,c,a)};case 2:var f=u[1];return function(r){return ICe(e,t,n,f,a)};case 3:var o=u[1];return function(r){return ICe(e,t,n,o,a)};case 4:var s=u[1];return function(r){return ICe(e,t,n,s,a)};case 5:var l=u[1];return function(r){return ICe(e,t,n,l,a)};case 6:var v=u[1];return function(r){return ICe(e,t,n,v,a)};case 7:var D=u[1];return function(r){return ICe(e,t,n,D,a)};case 8:var p=u[2];return function(r){return ICe(e,t,n,p,a)};case 9:var b=u[3],F=u[2],m=sCe(fCe(u[1]),F);return function(r){return ICe(e,t,n,eye(m,b),a)};case 10:var d=u[1];return function(r,u){return ICe(e,t,n,d,a)};case 11:var E=u[1];return function(r){return ICe(e,t,n,E,a)};case 12:var k=u[1];return function(r){return ICe(e,t,n,k,a)};case 13:throw[0,jx,CI];default:throw[0,jx,wI]}}function SCe(r,e,t,n,u){var a=[8,n,AI];return r<50?gCe(r+1|0,e,t,a,u):wx(gCe,[0,e,t,a,u])}function xCe(r,e,t,n,u,a,i){if(a){var c=a[1];return function(r){return function(r,e,t,n,u,a){return Cx(xCe(0,r,e,t,n,u,a))}(e,t,n,u,c,gx(i,r))}}var f=[4,n,i];return r<50?gCe(r+1|0,e,t,f,u):wx(gCe,[0,e,t,f,u])}function TCe(r,e,t,n){return Cx(gCe(0,r,e,t,n))}function ICe(r,e,t,n,u){return Cx(BCe(0,r,e,t,n,u))}function NCe(r,e){for(var t=e;;){if(\"number\"==typeof t)return 0;switch(t[0]){case 0:var n=t[2],u=t[1];if(\"number\"==typeof n)switch(n){case 0:var a=UN;break;case 1:a=XN;break;case 2:a=GN;break;case 3:a=JN;break;case 4:a=qN;break;case 5:a=zN;break;default:a=WN}else switch(n[0]){case 0:a=n[1];break;case 1:a=n[1];break;default:a=iye(VN,Xye(1,n[1]))}return NCe(r,u),eCe(r,a);case 1:var i=t[2],c=t[1];if(0===i[0]){var f=i[1];NCe(r,c),eCe(r,_I);t=f;continue}var o=i[1];NCe(r,c),eCe(r,gI);t=o;continue;case 6:var s=t[2];return NCe(r,t[1]),eCe(r,gx(s,0));case 7:t=t[1];continue;case 8:var l=t[2];return NCe(r,t[1]),uye(l);case 2:case 4:var v=t[2];return NCe(r,t[1]),eCe(r,v);default:var D=t[2];return NCe(r,t[1]),rCe(r,D)}}}function OCe(r){if(Ex(r,SI))return xI;var e=RS(r);function t(e){var t=BI[1],n=Kye(256);return gx(TCe((function(r,e){return NCe(n,e),nye(Qye(n))}),0,0,t),r)}function n(t){for(var n=t;;){if(n===e)return n;var u=kx(r,n);if(9!==u&&32!==u)return n;n=n+1|0}}var u=n(0),a=function(t,n){for(var u=n;;){if(u===e)return u;if(25<(kx(r,u)+-97|0)>>>0)return u;u=u+1|0}}(0,u),i=Gye(r,u,a-u|0),c=n(a),f=function(t,n){for(var u=n;;){if(u===e)return u;var a=kx(r,u);if(!(48<=a?58<=a?0:1:45===a?1:0))return u;u=u+1|0}}(0,c);if(c===f)var o=0;else try{o=VS(Gye(r,c,f-c|0))}catch(r){if((r=_x(r))[1]!==Ox)throw r;o=t()}if(n(f)!==e&&t(),hx(i,TI))if(hx(i,II))if(hx(i,NI))if(hx(i,OI))if(hx(i,LI))if(hx(i,PI))var s=t(),l=1;else s=1,l=1;else s=2,l=1;else s=3,l=1;else s=0,l=1;else l=0;else l=0;if(!l)s=4;return[0,o,s]}function LCe(r){return TCe((function(r,e){var t=Kye(64);return NCe(t,e),Qye(t)}),0,0,r[1])}var PCe=[0,0];function RCe(r,e){var t=r[e+1];if(1-(\"number\"==typeof t?1:0)){if(252===Fx(t))return gx(LCe(cO),t);if(253===Fx(t))for(var n=ES(Qx,t),u=0,a=RS(n);;){if(a<=u)return iye(n,Zx);var i=kx(n,u);if(!(48<=i?58<=i?0:1:45===i?1:0))return n;u=u+1|0}return fO}return gx(LCe(iO),t)}function MCe(r,e){if(r.length-1<=e)return YN;var t=MCe(r,e+1|0),n=RCe(r,e);return Bx(LCe(HN),n,t)}function jCe(r){var e=r.length-1;if(2>>0){var t=MCe(r,2),n=RCe(r,1);return Bx(LCe(tO),n,t)}switch(e){case 0:return nO;case 1:return uO;default:var u=RCe(r,1);return gx(LCe(aO),u)}}function UCe(r){return PCe[1]=[0,r,PCe[1]],0}function XCe(r,e){var t=[0,r,0],n=e[1];return n?(e[1]=t,n[2]=t,0):(e[1]=t,e[2]=t,0)}var GCe=[bc,FO,yS()];function JCe(r){var e=r[2];if(e){var t=e[2],n=e[1];return r[2]=t,0===t&&(r[1]=0),n}throw GCe}function qCe(r,e){return r[13]=r[13]+e[3]|0,XCe(e,r[28])}var zCe=1000000010;function WCe(r,e){return Sx(r[17],e,0,RS(e))}function VCe(r){return gx(r[19],0)}function $Ce(r,e,t){VCe(r),r[11]=1;var n=(r[6]-t|0)+e|0,u=r[8],a=function(r,e){return+(sS(r,e,!1)<=0)}(u,n)?u:n;return r[10]=a,r[9]=r[6]-r[10]|0,gx(r[21],r[10])}function YCe(r,e){return $Ce(r,0,e)}function HCe(r,e){return r[9]=r[9]-e|0,gx(r[20],e)}function KCe(r,e,t){if(\"number\"==typeof t)switch(t){case 0:var n=r[3];if(n){var u=n[1][1],a=function(r,e){if(e){var t=e[1],n=e[2];return function(r,e){return+(sS(r,e,!1)<0)}(r,t)?[0,r,e]:[0,t,a(r,n)]}return[0,r,0]};return u[1]=a(r[6]-r[9]|0,u[1]),0}return 0;case 1:var i=r[2];return i?(r[2]=i[2],0):0;case 2:var c=r[3];return c?(r[3]=c[2],0):0;case 3:var f=r[2];return f?YCe(r,f[1][2]):VCe(r);case 4:var o=r[10]!==(r[6]-r[9]|0)?1:0;return o?function(r){var e=JCe(r[28]),t=e[1];return r[12]=r[12]-e[3]|0,r[9]=r[9]+t|0,0}(r):o;default:var s=r[5];if(s){var l=s[2];return WCe(r,gx(r[25],s[1])),r[5]=l,0}return 0}else switch(t[0]){case 0:var v=t[1];return r[9]=r[9]-e|0,WCe(r,v),r[11]=0,0;case 1:var D=t[2],p=t[1],b=r[2];if(b){var F=b[1],m=F[2];switch(F[1]){case 0:return HCe(r,p);case 1:case 2:return $Ce(r,D,m);case 3:return r[9]>>6|0)?1:0;if(p)var b=p;else b=(2!=(v>>>6|0)?1:0)||(2!=(D>>>6|0)?1:0);if(b)throw nAe;var F=(7&f)<<18|(63&s)<<12|(63&v)<<6|63&D;o=1}else if(eo<=f){var m=kx(r,a+1|0),d=kx(r,a+2|0);if((2!=(m>>>6|0)?1:0)||(2!=(d>>>6|0)?1:0))throw nAe;var E=(15&f)<<12|(63&m)<<6|63&d,k=55296<=E?1:0;if(k?E<=57088?1:0:k)throw nAe;F=E,o=1}else{var h=kx(r,a+1|0);if(2!=(h>>>6|0))throw nAe;F=(31&f)<<6|63&h,o=1}else if(S<=f)o=0;else F=f,o=1;if(o){iS(u,i)[i+1]=F;var y=kx(r,a);a=a+iS(bAe,y)[y+1]|0,i=i+1|0,c=c-1|0;continue}throw nAe}return aAe(u)}throw nAe}var C=kx(r,n),w=iS(bAe,C)[C+1];if(!(0>>18|0)),rCe(a,Dye(S|63&(f>>>12|0))),rCe(a,Dye(S|63&(f>>>6|0))),rCe(a,Dye(S|63&f))}else{var o=55296<=f?1:0;if(o?f<57344?1:0:o)throw nAe;rCe(a,Dye(eo|f>>>12|0)),rCe(a,Dye(S|63&(f>>>6|0))),rCe(a,Dye(S|63&f))}else rCe(a,Dye(l|f>>>6|0)),rCe(a,Dye(S|63&f));else rCe(a,Dye(f));i=i+1|0,c=c-1|0}},_Ae=function(r){return AAe(r,0,r[5]-r[8]|0)},gAe=function(r,e){function t(e){return rCe(r,e)}return 65536<=e?(t(Zy|e>>>18|0),t(S|63&(e>>>12|0)),t(S|63&(e>>>6|0)),t(S|63&e)):2048<=e?(t(eo|e>>>12|0),t(S|63&(e>>>6|0)),t(S|63&e)):S<=e?(t(l|e>>>6|0),t(S|63&e)):t(e)},BAe=r,SAe=null,xAe=void 0,TAe=function(r){return r!==xAe?1:0},IAe=BAe.Array,NAe=[bc,BO,yS()],OAe=BAe.Error;xwe(SO,[0,NAe,{}]);var LAe=function(r){throw r};UCe((function(r){return r[1]===NAe?[0,_S(r[2].toString())]:0})),UCe((function(r){return r instanceof IAe?0:[0,_S(r.toString())]}));var PAe=Bx(tAe,nJr,tJr),RAe=Bx(tAe,aJr,uJr),MAe=Bx(tAe,cJr,iJr),jAe=Bx(tAe,oJr,fJr),UAe=Bx(tAe,lJr,sJr),XAe=Bx(tAe,DJr,vJr),GAe=Bx(tAe,bJr,pJr),JAe=Bx(tAe,mJr,FJr),qAe=Bx(tAe,EJr,dJr),zAe=Bx(tAe,hJr,kJr),WAe=Bx(tAe,CJr,yJr),VAe=Bx(tAe,AJr,wJr),$Ae=Bx(tAe,gJr,_Jr),YAe=Bx(tAe,SJr,BJr),HAe=Bx(tAe,TJr,xJr),KAe=Bx(tAe,NJr,IJr),QAe=Bx(tAe,LJr,OJr),ZAe=Bx(tAe,RJr,PJr),r_e=function r(e,t,n,u){return r.fun(e,t,n,u)},e_e=function r(e,t,n){return r.fun(e,t,n)},t_e=Bx(tAe,jJr,MJr);XB(r_e,(function(r,e,t,n){gx(Bwe(t),jGr),Bx(Bwe(t),XGr,UGr);var u=n[1];gx(Bwe(t),GGr);Sye((function(e,n){return e&&gx(Bwe(t),MGr),Sx(KAe[1],(function(e){return gx(r,e)}),t,n),1}),0,u),gx(Bwe(t),JGr),gx(Bwe(t),qGr),gx(Bwe(t),zGr),Bx(Bwe(t),VGr,WGr);var a=n[2];gx(Bwe(t),$Gr);return Sye((function(e,n){return e&&gx(Bwe(t),RGr),Sx(KAe[1],(function(e){return gx(r,e)}),t,n),1}),0,a),gx(Bwe(t),YGr),gx(Bwe(t),HGr),gx(Bwe(t),KGr),Bx(Bwe(t),ZGr,QGr),Bx(e,t,n[3]),gx(Bwe(t),rJr),gx(Bwe(t),eJr)})),XB(e_e,(function(r,e,t){var n=Bx(r_e,r,e);return Bx(Swe(PGr),n,t)})),Sx(eAe,UJr,PAe,[0,r_e,e_e]);var n_e=function r(e,t,n,u){return r.fun(e,t,n,u)},u_e=function r(e,t,n){return r.fun(e,t,n)},a_e=function r(e,t,n){return r.fun(e,t,n)},i_e=function r(e,t){return r.fun(e,t)};XB(n_e,(function(r,e,t,n){gx(Bwe(t),NGr),Bx(e,t,n[1]),gx(Bwe(t),OGr);var u=n[2];return Sx(a_e,(function(e){return gx(r,e)}),t,u),gx(Bwe(t),LGr)})),XB(u_e,(function(r,e,t){var n=Bx(n_e,r,e);return Bx(Swe(IGr),n,t)})),XB(a_e,(function(r,e,t){gx(Bwe(e),EGr),Bx(Bwe(e),hGr,kGr);var n=t[1];Bx(Bwe(e),yGr,n),gx(Bwe(e),CGr),gx(Bwe(e),wGr),Bx(Bwe(e),_Gr,AGr);var u=t[2];if(u){lwe(e,gGr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,dGr)}),e,a),lwe(e,BGr)}else lwe(e,SGr);return gx(Bwe(e),xGr),gx(Bwe(e),TGr)})),XB(i_e,(function(r,e){var t=gx(a_e,r);return Bx(Swe(mGr),t,e)})),Sx(eAe,XJr,RAe,[0,n_e,u_e,a_e,i_e]);var c_e=function r(e,t,n){return r.fun(e,t,n)},f_e=function r(e,t){return r.fun(e,t)},o_e=function r(e,t,n){return r.fun(e,t,n)},s_e=function r(e,t){return r.fun(e,t)};XB(c_e,(function(r,e,t){gx(Bwe(e),pGr),Bx(r,e,t[1]),gx(Bwe(e),bGr);var n=t[2];return Sx(o_e,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),FGr)})),XB(f_e,(function(r,e){var t=gx(c_e,r);return Bx(Swe(DGr),t,e)})),XB(o_e,(function(r,e,t){gx(Bwe(e),eGr),Bx(Bwe(e),nGr,tGr);var n=t[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),uGr),gx(Bwe(e),aGr),Bx(Bwe(e),cGr,iGr);var u=t[2];if(u){lwe(e,fGr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,rGr)}),e,a),lwe(e,oGr)}else lwe(e,sGr);return gx(Bwe(e),lGr),gx(Bwe(e),vGr)})),XB(s_e,(function(r,e){var t=gx(o_e,r);return Bx(Swe(ZXr),t,e)})),Sx(eAe,GJr,MAe,[0,c_e,f_e,o_e,s_e]);var l_e=function(r,e){gx(Bwe(r),XXr),Bx(Bwe(r),JXr,GXr);var t=e[1];Bx(Bwe(r),qXr,t),gx(Bwe(r),zXr),gx(Bwe(r),WXr),Bx(Bwe(r),$Xr,VXr);var n=e[2];return Bx(Bwe(r),YXr,n),gx(Bwe(r),HXr),gx(Bwe(r),KXr)},v_e=[0,l_e,function(r){return Bx(Swe(QXr),l_e,r)}],D_e=function r(e,t,n){return r.fun(e,t,n)},p_e=function r(e,t){return r.fun(e,t)},b_e=function r(e,t){return r.fun(e,t)},F_e=function r(e){return r.fun(e)};XB(D_e,(function(r,e,t){gx(Bwe(e),wXr),Bx(Bwe(e),_Xr,AXr),Bx(b_e,e,t[1]),gx(Bwe(e),gXr),gx(Bwe(e),BXr),Bx(Bwe(e),xXr,SXr);var n=t[2];Bx(Bwe(e),TXr,n),gx(Bwe(e),IXr),gx(Bwe(e),NXr),Bx(Bwe(e),LXr,OXr);var u=t[3];if(u){lwe(e,PXr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,CXr)}),e,a),lwe(e,RXr)}else lwe(e,MXr);return gx(Bwe(e),jXr),gx(Bwe(e),UXr)})),XB(p_e,(function(r,e){var t=gx(D_e,r);return Bx(Swe(yXr),t,e)})),XB(b_e,(function(r,e){if(\"number\"==typeof e)return lwe(r,cXr);switch(e[0]){case 0:gx(Bwe(r),fXr);var t=e[1];return Bx(Bwe(r),oXr,t),gx(Bwe(r),sXr);case 1:gx(Bwe(r),lXr);var n=e[1];return Bx(Bwe(r),vXr,n),gx(Bwe(r),DXr);case 2:gx(Bwe(r),pXr);var u=e[1];return Bx(Bwe(r),bXr,u),gx(Bwe(r),FXr);case 3:gx(Bwe(r),mXr);var a=e[1];return Bx(Bwe(r),dXr,a),gx(Bwe(r),EXr);default:return gx(Bwe(r),kXr),Bx(v_e[1],r,e[1]),gx(Bwe(r),hXr)}})),XB(F_e,(function(r){return Bx(Swe(iXr),b_e,r)})),Sx(eAe,JJr,jAe,[0,v_e,D_e,p_e,b_e,F_e]);var m_e=function r(e,t,n){return r.fun(e,t,n)},d_e=function r(e,t){return r.fun(e,t)};XB(m_e,(function(r,e,t){gx(Bwe(e),GUr),Bx(Bwe(e),qUr,JUr);var n=t[1];Bx(Bwe(e),zUr,n),gx(Bwe(e),WUr),gx(Bwe(e),VUr),Bx(Bwe(e),YUr,$Ur);var u=t[2];Bx(Bwe(e),HUr,u),gx(Bwe(e),KUr),gx(Bwe(e),QUr),Bx(Bwe(e),rXr,ZUr);var a=t[3];if(a){lwe(e,eXr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,XUr)}),e,i),lwe(e,tXr)}else lwe(e,nXr);return gx(Bwe(e),uXr),gx(Bwe(e),aXr)})),XB(d_e,(function(r,e){var t=gx(m_e,r);return Bx(Swe(UUr),t,e)})),Sx(eAe,qJr,UAe,[0,m_e,d_e]);var E_e=function r(e,t,n){return r.fun(e,t,n)},k_e=function r(e,t){return r.fun(e,t)};XB(E_e,(function(r,e,t){gx(Bwe(e),yUr),Bx(Bwe(e),wUr,CUr);var n=t[1];Bx(Bwe(e),AUr,n),gx(Bwe(e),_Ur),gx(Bwe(e),gUr),Bx(Bwe(e),SUr,BUr);var u=t[2];Bx(Bwe(e),xUr,u),gx(Bwe(e),TUr),gx(Bwe(e),IUr),Bx(Bwe(e),OUr,NUr);var a=t[3];if(a){lwe(e,LUr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,hUr)}),e,i),lwe(e,PUr)}else lwe(e,RUr);return gx(Bwe(e),MUr),gx(Bwe(e),jUr)})),XB(k_e,(function(r,e){var t=gx(E_e,r);return Bx(Swe(kUr),t,e)})),Sx(eAe,zJr,XAe,[0,E_e,k_e]);var h_e=function r(e,t,n){return r.fun(e,t,n)},y_e=function r(e,t){return r.fun(e,t)};XB(h_e,(function(r,e,t){gx(Bwe(e),tUr),Bx(Bwe(e),uUr,nUr);var n=t[1];Bx(Bwe(e),aUr,n),gx(Bwe(e),iUr),gx(Bwe(e),cUr),Bx(Bwe(e),oUr,fUr);var u=t[2];Bx(Bwe(e),sUr,u),gx(Bwe(e),lUr),gx(Bwe(e),vUr),Bx(Bwe(e),pUr,DUr);var a=t[3];if(a){lwe(e,bUr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,eUr)}),e,i),lwe(e,FUr)}else lwe(e,mUr);return gx(Bwe(e),dUr),gx(Bwe(e),EUr)})),XB(y_e,(function(r,e){var t=gx(h_e,r);return Bx(Swe(rUr),t,e)})),Sx(eAe,WJr,GAe,[0,h_e,y_e]);var C_e=function r(e,t,n){return r.fun(e,t,n)},w_e=function r(e,t){return r.fun(e,t)};XB(C_e,(function(r,e,t){gx(Bwe(e),Xjr),Bx(Bwe(e),Jjr,Gjr);var n=t[1];Bx(Bwe(e),qjr,n),gx(Bwe(e),zjr),gx(Bwe(e),Wjr),Bx(Bwe(e),$jr,Vjr);var u=t[2];if(u){lwe(e,Yjr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ujr)}),e,a),lwe(e,Hjr)}else lwe(e,Kjr);return gx(Bwe(e),Qjr),gx(Bwe(e),Zjr)})),XB(w_e,(function(r,e){var t=gx(C_e,r);return Bx(Swe(jjr),t,e)})),Sx(eAe,VJr,JAe,[0,C_e,w_e]);var A_e=function r(e,t,n){return r.fun(e,t,n)},__e=function r(e,t){return r.fun(e,t)},g_e=function r(e,t){return r.fun(e,t)},B_e=function r(e){return r.fun(e)},S_e=function r(e,t,n){return r.fun(e,t,n)},x_e=function r(e,t){return r.fun(e,t)};XB(A_e,(function(r,e,t){gx(Bwe(e),Pjr),Bx(r,e,t[1]),gx(Bwe(e),Rjr);var n=t[2];return Sx(S_e,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),Mjr)})),XB(__e,(function(r,e){var t=gx(A_e,r);return Bx(Swe(Ljr),t,e)})),XB(g_e,(function(r,e){return lwe(r,0===e?Ojr:Njr)})),XB(B_e,(function(r){return Bx(Swe(Ijr),g_e,r)})),XB(S_e,(function(r,e,t){gx(Bwe(e),kjr),Bx(Bwe(e),yjr,hjr),Bx(g_e,e,t[1]),gx(Bwe(e),Cjr),gx(Bwe(e),wjr),Bx(Bwe(e),_jr,Ajr);var n=t[2];if(n){lwe(e,gjr);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ejr)}),e,u),lwe(e,Bjr)}else lwe(e,Sjr);return gx(Bwe(e),xjr),gx(Bwe(e),Tjr)})),XB(x_e,(function(r,e){var t=gx(S_e,r);return Bx(Swe(djr),t,e)})),Sx(eAe,$Jr,qAe,[0,A_e,__e,g_e,B_e,S_e,x_e]);var T_e=function r(e,t,n,u){return r.fun(e,t,n,u)},I_e=function r(e,t,n){return r.fun(e,t,n)},N_e=function r(e,t,n,u){return r.fun(e,t,n,u)},O_e=function r(e,t,n){return r.fun(e,t,n)};XB(T_e,(function(r,e,t,n){gx(Bwe(t),bjr),Bx(r,t,n[1]),gx(Bwe(t),Fjr);var u=n[2];return xx(zAe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),mjr)})),XB(I_e,(function(r,e,t){var n=Bx(T_e,r,e);return Bx(Swe(pjr),n,t)})),XB(N_e,(function(r,e,t,n){gx(Bwe(t),tjr),Bx(Bwe(t),ujr,njr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ajr),gx(Bwe(t),ijr),Bx(Bwe(t),fjr,cjr);var a=n[2];if(a){lwe(t,ojr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ejr)}),t,i),lwe(t,sjr)}else lwe(t,ljr);return gx(Bwe(t),vjr),gx(Bwe(t),Djr)})),XB(O_e,(function(r,e,t){var n=Bx(N_e,r,e);return Bx(Swe(rjr),n,t)})),Sx(eAe,YJr,zAe,[0,T_e,I_e,N_e,O_e]);var L_e=function r(e,t,n,u){return r.fun(e,t,n,u)},P_e=function r(e,t,n){return r.fun(e,t,n)},R_e=function r(e,t,n,u){return r.fun(e,t,n,u)},M_e=function r(e,t,n){return r.fun(e,t,n)};XB(L_e,(function(r,e,t,n){gx(Bwe(t),KMr),Bx(r,t,n[1]),gx(Bwe(t),QMr);var u=n[2];return xx(R_e,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ZMr)})),XB(P_e,(function(r,e,t){var n=Bx(L_e,r,e);return Bx(Swe(HMr),n,t)})),XB(R_e,(function(r,e,t,n){gx(Bwe(t),NMr),Bx(Bwe(t),LMr,OMr);var u=n[1];if(u){lwe(t,PMr);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,RMr)}else lwe(t,MMr);gx(Bwe(t),jMr),gx(Bwe(t),UMr),Bx(Bwe(t),GMr,XMr);var i=n[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),JMr),gx(Bwe(t),qMr),Bx(Bwe(t),WMr,zMr);var c=n[3];return Bx(Bwe(t),VMr,c),gx(Bwe(t),$Mr),gx(Bwe(t),YMr)})),XB(M_e,(function(r,e,t){var n=Bx(R_e,r,e);return Bx(Swe(IMr),n,t)}));var j_e=[0,L_e,P_e,R_e,M_e],U_e=function r(e,t,n,u){return r.fun(e,t,n,u)},X_e=function r(e,t,n){return r.fun(e,t,n)},G_e=function r(e,t,n,u){return r.fun(e,t,n,u)},J_e=function r(e,t,n){return r.fun(e,t,n)};XB(U_e,(function(r,e,t,n){gx(Bwe(t),SMr),Bx(r,t,n[1]),gx(Bwe(t),xMr);var u=n[2];return xx(G_e,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),TMr)})),XB(X_e,(function(r,e,t){var n=Bx(U_e,r,e);return Bx(Swe(BMr),n,t)})),XB(G_e,(function(r,e,t,n){gx(Bwe(t),FMr),Bx(Bwe(t),dMr,mMr);var u=n[1];xx(j_e[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),EMr),gx(Bwe(t),kMr),Bx(Bwe(t),yMr,hMr);var a=n[2];if(a){lwe(t,CMr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,bMr)}),t,i),lwe(t,wMr)}else lwe(t,AMr);return gx(Bwe(t),_Mr),gx(Bwe(t),gMr)})),XB(J_e,(function(r,e,t){var n=Bx(G_e,r,e);return Bx(Swe(pMr),n,t)}));var q_e=[0,U_e,X_e,G_e,J_e],z_e=function r(e,t,n,u){return r.fun(e,t,n,u)},W_e=function r(e,t,n){return r.fun(e,t,n)},V_e=function r(e,t,n,u){return r.fun(e,t,n,u)},$_e=function r(e,t,n){return r.fun(e,t,n)};XB(z_e,(function(r,e,t,n){gx(Bwe(t),lMr),Bx(r,t,n[1]),gx(Bwe(t),vMr);var u=n[2];return xx(V_e,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),DMr)})),XB(W_e,(function(r,e,t){var n=Bx(z_e,r,e);return Bx(Swe(sMr),n,t)})),XB(V_e,(function(r,e,t,n){gx(Bwe(t),QRr),Bx(Bwe(t),rMr,ZRr);var u=n[1];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),eMr),gx(Bwe(t),tMr),Bx(Bwe(t),uMr,nMr);var a=n[2];if(a){lwe(t,aMr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,KRr)}),t,i),lwe(t,iMr)}else lwe(t,cMr);return gx(Bwe(t),fMr),gx(Bwe(t),oMr)})),XB($_e,(function(r,e,t){var n=Bx(V_e,r,e);return Bx(Swe(HRr),n,t)}));var Y_e=[0,z_e,W_e,V_e,$_e],H_e=function r(e,t,n,u){return r.fun(e,t,n,u)},K_e=function r(e,t,n){return r.fun(e,t,n)},Q_e=function r(e,t,n,u){return r.fun(e,t,n,u)},Z_e=function r(e,t,n){return r.fun(e,t,n)};XB(H_e,(function(r,e,t,n){gx(Bwe(t),VRr),Bx(r,t,n[1]),gx(Bwe(t),$Rr);var u=n[2];return xx(Q_e,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),YRr)})),XB(K_e,(function(r,e,t){var n=Bx(H_e,r,e);return Bx(Swe(WRr),n,t)})),XB(Q_e,(function(r,e,t,n){gx(Bwe(t),dRr),Bx(Bwe(t),kRr,ERr);var u=n[1];if(u){lwe(t,hRr);var a=u[1];xx(Y_e[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,yRr)}else lwe(t,CRr);gx(Bwe(t),wRr),gx(Bwe(t),ARr),Bx(Bwe(t),gRr,_Rr);var i=n[2];gx(Bwe(t),BRr);Sye((function(n,u){return n&&gx(Bwe(t),mRr),xx(j_e[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),SRr),gx(Bwe(t),xRr),gx(Bwe(t),TRr),Bx(Bwe(t),NRr,IRr);var c=n[3];if(c){lwe(t,ORr);var f=c[1];xx(q_e[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,LRr)}else lwe(t,PRr);gx(Bwe(t),RRr),gx(Bwe(t),MRr),Bx(Bwe(t),URr,jRr);var o=n[4];if(o){lwe(t,XRr);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),bRr);return Sye((function(t,n){return t&&gx(Bwe(e),pRr),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),FRr)}),t,s),lwe(t,GRr)}else lwe(t,JRr);return gx(Bwe(t),qRr),gx(Bwe(t),zRr)})),XB(Z_e,(function(r,e,t){var n=Bx(Q_e,r,e);return Bx(Swe(DRr),n,t)}));var rge=[0,H_e,K_e,Q_e,Z_e],ege=function r(e,t,n,u){return r.fun(e,t,n,u)},tge=function r(e,t,n){return r.fun(e,t,n)};XB(ege,(function(r,e,t,n){gx(Bwe(t),qPr),Bx(Bwe(t),WPr,zPr);var u=n[1];if(u){lwe(t,VPr);var a=u[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,$Pr)}else lwe(t,YPr);gx(Bwe(t),HPr),gx(Bwe(t),KPr),Bx(Bwe(t),ZPr,QPr);var i=n[2];xx(rge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),rRr),gx(Bwe(t),eRr),Bx(Bwe(t),nRr,tRr);var c=n[3];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),uRr),gx(Bwe(t),aRr),Bx(Bwe(t),cRr,iRr);var f=n[4];if(f){lwe(t,fRr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,JPr)}),t,o),lwe(t,oRr)}else lwe(t,sRr);return gx(Bwe(t),lRr),gx(Bwe(t),vRr)})),XB(tge,(function(r,e,t){var n=Bx(ege,r,e);return Bx(Swe(GPr),n,t)}));var nge=[0,j_e,q_e,Y_e,rge,ege,tge],uge=function r(e,t,n,u){return r.fun(e,t,n,u)},age=function r(e,t,n){return r.fun(e,t,n)},ige=function r(e,t,n,u){return r.fun(e,t,n,u)},cge=function r(e,t,n){return r.fun(e,t,n)},fge=function r(e,t,n,u){return r.fun(e,t,n,u)},oge=function r(e,t,n){return r.fun(e,t,n)};XB(uge,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),MPr);var u=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),jPr)}gx(Bwe(t),UPr);var a=n[1];return xx(ige,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),XPr)})),XB(age,(function(r,e,t){var n=Bx(uge,r,e);return Bx(Swe(RPr),n,t)})),XB(ige,(function(r,e,t,n){gx(Bwe(t),OPr),Bx(r,t,n[1]),gx(Bwe(t),LPr);var u=n[2];return xx(fge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),PPr)})),XB(cge,(function(r,e,t){var n=Bx(ige,r,e);return Bx(Swe(NPr),n,t)})),XB(fge,(function(r,e,t,n){gx(Bwe(t),wPr),Bx(Bwe(t),_Pr,APr);var u=n[1];xx(uge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),gPr),gx(Bwe(t),BPr),Bx(Bwe(t),xPr,SPr);var a=n[2];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),TPr),gx(Bwe(t),IPr)})),XB(oge,(function(r,e,t){var n=Bx(fge,r,e);return Bx(Swe(CPr),n,t)}));var sge=[0,uge,age,ige,cge,fge,oge],lge=function r(e,t,n,u){return r.fun(e,t,n,u)},vge=function r(e,t,n){return r.fun(e,t,n)};XB(lge,(function(r,e,t,n){gx(Bwe(t),uPr),Bx(Bwe(t),iPr,aPr);var u=n[1];xx(sge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),cPr),gx(Bwe(t),fPr),Bx(Bwe(t),sPr,oPr);var a=n[2];if(a){lwe(t,lPr);var i=a[1];xx(WAe[21][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,vPr)}else lwe(t,DPr);gx(Bwe(t),pPr),gx(Bwe(t),bPr),Bx(Bwe(t),mPr,FPr);var c=n[3];if(c){lwe(t,dPr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,nPr)}),t,f),lwe(t,EPr)}else lwe(t,kPr);return gx(Bwe(t),hPr),gx(Bwe(t),yPr)})),XB(vge,(function(r,e,t){var n=Bx(lge,r,e);return Bx(Swe(tPr),n,t)}));var Dge=[0,sge,lge,vge],pge=function r(e,t,n,u){return r.fun(e,t,n,u)},bge=function r(e,t,n){return r.fun(e,t,n)},Fge=function r(e,t,n,u){return r.fun(e,t,n,u)},mge=function r(e,t,n){return r.fun(e,t,n)},dge=function r(e,t,n,u){return r.fun(e,t,n,u)},Ege=function r(e,t,n){return r.fun(e,t,n)};XB(pge,(function(r,e,t,n){gx(Bwe(t),ZLr),Bx(r,t,n[1]),gx(Bwe(t),rPr);var u=n[2];return xx(Fge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ePr)})),XB(bge,(function(r,e,t){var n=Bx(pge,r,e);return Bx(Swe(QLr),n,t)})),XB(Fge,(function(r,e,t,n){gx(Bwe(t),oLr),Bx(Bwe(t),lLr,sLr);var u=n[1];xx($Ae[7][1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vLr),gx(Bwe(t),DLr),Bx(Bwe(t),bLr,pLr);var a=n[2];xx(dge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),FLr),gx(Bwe(t),mLr),Bx(Bwe(t),ELr,dLr);var i=n[3];Bx(Bwe(t),kLr,i),gx(Bwe(t),hLr),gx(Bwe(t),yLr),Bx(Bwe(t),wLr,CLr);var c=n[4];Bx(Bwe(t),ALr,c),gx(Bwe(t),_Lr),gx(Bwe(t),gLr),Bx(Bwe(t),SLr,BLr);var f=n[5];Bx(Bwe(t),xLr,f),gx(Bwe(t),TLr),gx(Bwe(t),ILr),Bx(Bwe(t),OLr,NLr);var o=n[6];Bx(Bwe(t),LLr,o),gx(Bwe(t),PLr),gx(Bwe(t),RLr),Bx(Bwe(t),jLr,MLr);var s=n[7];if(s){lwe(t,ULr);var l=s[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,l),lwe(t,XLr)}else lwe(t,GLr);gx(Bwe(t),JLr),gx(Bwe(t),qLr),Bx(Bwe(t),WLr,zLr);var v=n[8];if(v){lwe(t,VLr);var D=v[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,fLr)}),t,D),lwe(t,$Lr)}else lwe(t,YLr);return gx(Bwe(t),HLr),gx(Bwe(t),KLr)})),XB(mge,(function(r,e,t){var n=Bx(Fge,r,e);return Bx(Swe(cLr),n,t)})),XB(dge,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),YOr);var u=n[1];return xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),HOr);case 1:var a=n[1];gx(Bwe(t),KOr),gx(Bwe(t),QOr),Bx(r,t,a[1]),gx(Bwe(t),ZOr);var i=a[2];return xx(nge[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),rLr),gx(Bwe(t),eLr);default:var c=n[1];gx(Bwe(t),tLr),gx(Bwe(t),nLr),Bx(r,t,c[1]),gx(Bwe(t),uLr);var f=c[2];return xx(nge[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),aLr),gx(Bwe(t),iLr)}})),XB(Ege,(function(r,e,t){var n=Bx(dge,r,e);return Bx(Swe($Or),n,t)}));var kge=[0,pge,bge,Fge,mge,dge,Ege],hge=function r(e,t,n,u){return r.fun(e,t,n,u)},yge=function r(e,t,n){return r.fun(e,t,n)},Cge=function r(e,t,n,u){return r.fun(e,t,n,u)},wge=function r(e,t,n){return r.fun(e,t,n)};XB(hge,(function(r,e,t,n){gx(Bwe(t),zOr),Bx(r,t,n[1]),gx(Bwe(t),WOr);var u=n[2];return xx(Cge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),VOr)})),XB(yge,(function(r,e,t){var n=Bx(hge,r,e);return Bx(Swe(qOr),n,t)})),XB(Cge,(function(r,e,t,n){gx(Bwe(t),IOr),Bx(Bwe(t),OOr,NOr);var u=n[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),LOr),gx(Bwe(t),POr),Bx(Bwe(t),MOr,ROr);var a=n[2];if(a){lwe(t,jOr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,TOr)}),t,i),lwe(t,UOr)}else lwe(t,XOr);return gx(Bwe(t),GOr),gx(Bwe(t),JOr)})),XB(wge,(function(r,e,t){var n=Bx(Cge,r,e);return Bx(Swe(xOr),n,t)}));var Age=[0,hge,yge,Cge,wge],_ge=function r(e,t,n,u){return r.fun(e,t,n,u)},gge=function r(e,t,n){return r.fun(e,t,n)},Bge=function r(e,t,n,u){return r.fun(e,t,n,u)},Sge=function r(e,t,n){return r.fun(e,t,n)};XB(_ge,(function(r,e,t,n){gx(Bwe(t),YNr),Bx(Bwe(t),KNr,HNr);var u=n[1];if(u){lwe(t,QNr);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),t,a),lwe(t,ZNr)}else lwe(t,rOr);gx(Bwe(t),eOr),gx(Bwe(t),tOr),Bx(Bwe(t),uOr,nOr);var i=n[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),aOr),gx(Bwe(t),iOr),Bx(Bwe(t),fOr,cOr);var c=n[3];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),oOr),gx(Bwe(t),sOr),Bx(Bwe(t),vOr,lOr);var f=n[4];Bx(Bwe(t),DOr,f),gx(Bwe(t),pOr),gx(Bwe(t),bOr),Bx(Bwe(t),mOr,FOr);var o=n[5];if(o){lwe(t,dOr);var s=o[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,s),lwe(t,EOr)}else lwe(t,kOr);gx(Bwe(t),hOr),gx(Bwe(t),yOr),Bx(Bwe(t),wOr,COr);var l=n[6];if(l){lwe(t,AOr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,$Nr)}),t,v),lwe(t,_Or)}else lwe(t,gOr);return gx(Bwe(t),BOr),gx(Bwe(t),SOr)})),XB(gge,(function(r,e,t){var n=Bx(_ge,r,e);return Bx(Swe(VNr),n,t)})),XB(Bge,(function(r,e,t,n){gx(Bwe(t),qNr),Bx(r,t,n[1]),gx(Bwe(t),zNr);var u=n[2];return xx(_ge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),WNr)})),XB(Sge,(function(r,e,t){var n=Bx(Bge,r,e);return Bx(Swe(JNr),n,t)}));var xge=[0,_ge,gge,Bge,Sge],Tge=function r(e,t,n,u){return r.fun(e,t,n,u)},Ige=function r(e,t,n){return r.fun(e,t,n)},Nge=function r(e,t,n,u){return r.fun(e,t,n,u)},Oge=function r(e,t,n){return r.fun(e,t,n)};XB(Tge,(function(r,e,t,n){gx(Bwe(t),UNr),Bx(r,t,n[1]),gx(Bwe(t),XNr);var u=n[2];return xx(Nge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),GNr)})),XB(Ige,(function(r,e,t){var n=Bx(Tge,r,e);return Bx(Swe(jNr),n,t)})),XB(Nge,(function(r,e,t,n){gx(Bwe(t),ENr),Bx(Bwe(t),hNr,kNr);var u=n[1];gx(Bwe(t),yNr),Bx(r,t,u[1]),gx(Bwe(t),CNr);var a=u[2];xx(nge[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),wNr),gx(Bwe(t),ANr),gx(Bwe(t),_Nr),Bx(Bwe(t),BNr,gNr);var i=n[2];Bx(Bwe(t),SNr,i),gx(Bwe(t),xNr),gx(Bwe(t),TNr),Bx(Bwe(t),NNr,INr);var c=n[3];if(c){lwe(t,ONr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,dNr)}),t,f),lwe(t,LNr)}else lwe(t,PNr);return gx(Bwe(t),RNr),gx(Bwe(t),MNr)})),XB(Oge,(function(r,e,t){var n=Bx(Nge,r,e);return Bx(Swe(mNr),n,t)}));var Lge=[0,Tge,Ige,Nge,Oge],Pge=function r(e,t,n,u){return r.fun(e,t,n,u)},Rge=function r(e,t,n){return r.fun(e,t,n)},Mge=function r(e,t,n,u){return r.fun(e,t,n,u)},jge=function r(e,t,n){return r.fun(e,t,n)};XB(Pge,(function(r,e,t,n){gx(Bwe(t),pNr),Bx(r,t,n[1]),gx(Bwe(t),bNr);var u=n[2];return xx(Mge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),FNr)})),XB(Rge,(function(r,e,t){var n=Bx(Pge,r,e);return Bx(Swe(DNr),n,t)})),XB(Mge,(function(r,e,t,n){gx(Bwe(t),PIr),Bx(Bwe(t),MIr,RIr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),t,u),gx(Bwe(t),jIr),gx(Bwe(t),UIr),Bx(Bwe(t),GIr,XIr);var a=n[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),JIr),gx(Bwe(t),qIr),Bx(Bwe(t),WIr,zIr);var i=n[3];Bx(Bwe(t),VIr,i),gx(Bwe(t),$Ir),gx(Bwe(t),YIr),Bx(Bwe(t),KIr,HIr);var c=n[4];Bx(Bwe(t),QIr,c),gx(Bwe(t),ZIr),gx(Bwe(t),rNr),Bx(Bwe(t),tNr,eNr);var f=n[5];Bx(Bwe(t),nNr,f),gx(Bwe(t),uNr),gx(Bwe(t),aNr),Bx(Bwe(t),cNr,iNr);var o=n[6];if(o){lwe(t,fNr);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,LIr)}),t,s),lwe(t,oNr)}else lwe(t,sNr);return gx(Bwe(t),lNr),gx(Bwe(t),vNr)})),XB(jge,(function(r,e,t){var n=Bx(Mge,r,e);return Bx(Swe(OIr),n,t)}));var Uge=[0,Pge,Rge,Mge,jge],Xge=function r(e,t,n,u){return r.fun(e,t,n,u)},Gge=function r(e,t,n){return r.fun(e,t,n)},Jge=function r(e,t,n,u){return r.fun(e,t,n,u)},qge=function r(e,t,n){return r.fun(e,t,n)};XB(Xge,(function(r,e,t,n){gx(Bwe(t),sIr),Bx(Bwe(t),vIr,lIr);var u=n[1];Bx(Bwe(t),DIr,u),gx(Bwe(t),pIr),gx(Bwe(t),bIr),Bx(Bwe(t),mIr,FIr);var a=n[2];Bx(Bwe(t),dIr,a),gx(Bwe(t),EIr),gx(Bwe(t),kIr),Bx(Bwe(t),yIr,hIr);var i=n[3];gx(Bwe(t),CIr);Sye((function(n,u){return n&&gx(Bwe(t),oIr),xx(Jge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),wIr),gx(Bwe(t),AIr),gx(Bwe(t),_Ir),Bx(Bwe(t),BIr,gIr);var c=n[4];if(c){lwe(t,SIr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),cIr);return Sye((function(t,n){return t&&gx(Bwe(e),iIr),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),fIr)}),t,f),lwe(t,xIr)}else lwe(t,TIr);return gx(Bwe(t),IIr),gx(Bwe(t),NIr)})),XB(Gge,(function(r,e,t){var n=Bx(Xge,r,e);return Bx(Swe(aIr),n,t)})),XB(Jge,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),YTr);var u=n[1];return xx(kge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),HTr);case 1:gx(Bwe(t),KTr);var a=n[1];return xx(Age[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),QTr);case 2:gx(Bwe(t),ZTr);var i=n[1];return xx(xge[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),rIr);case 3:gx(Bwe(t),eIr);var c=n[1];return xx(Lge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),tIr);default:gx(Bwe(t),nIr);var f=n[1];return xx(Uge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),uIr)}})),XB(qge,(function(r,e,t){var n=Bx(Jge,r,e);return Bx(Swe($Tr),n,t)}));var zge=[0,kge,Age,xge,Lge,Uge,Xge,Gge,Jge,qge],Wge=function r(e,t,n,u){return r.fun(e,t,n,u)},Vge=function r(e,t,n){return r.fun(e,t,n)};XB(Wge,(function(r,e,t,n){gx(Bwe(t),gTr),Bx(Bwe(t),STr,BTr);var u=n[1];gx(Bwe(t),xTr),Bx(r,t,u[1]),gx(Bwe(t),TTr);var a=u[2];xx(zge[6],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),ITr),gx(Bwe(t),NTr),gx(Bwe(t),OTr),Bx(Bwe(t),PTr,LTr);var i=n[2];gx(Bwe(t),RTr);Sye((function(n,u){n&&gx(Bwe(t),CTr),gx(Bwe(t),wTr),Bx(r,t,u[1]),gx(Bwe(t),ATr);var a=u[2];return xx(Dge[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),_Tr),1}),0,i),gx(Bwe(t),MTr),gx(Bwe(t),jTr),gx(Bwe(t),UTr),Bx(Bwe(t),GTr,XTr);var c=n[3];if(c){lwe(t,JTr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,yTr)}),t,f),lwe(t,qTr)}else lwe(t,zTr);return gx(Bwe(t),WTr),gx(Bwe(t),VTr)})),XB(Vge,(function(r,e,t){var n=Bx(Wge,r,e);return Bx(Swe(hTr),n,t)}));var $ge=[0,Wge,Vge],Yge=function r(e,t,n,u){return r.fun(e,t,n,u)},Hge=function r(e,t,n){return r.fun(e,t,n)};XB(Yge,(function(r,e,t,n){gx(Bwe(t),oTr),Bx(Bwe(t),lTr,sTr);var u=n[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vTr),gx(Bwe(t),DTr),Bx(Bwe(t),bTr,pTr);var a=n[2];if(a){lwe(t,FTr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,fTr)}),t,i),lwe(t,mTr)}else lwe(t,dTr);return gx(Bwe(t),ETr),gx(Bwe(t),kTr)})),XB(Hge,(function(r,e,t){var n=Bx(Yge,r,e);return Bx(Swe(cTr),n,t)}));var Kge=[0,Yge,Hge],Qge=function r(e,t,n,u){return r.fun(e,t,n,u)},Zge=function r(e,t,n){return r.fun(e,t,n)};XB(Qge,(function(r,e,t,n){gx(Bwe(t),qxr),Bx(Bwe(t),Wxr,zxr);var u=n[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Vxr),gx(Bwe(t),$xr),Bx(Bwe(t),Hxr,Yxr);var a=n[2];Bx(Bwe(t),Kxr,a),gx(Bwe(t),Qxr),gx(Bwe(t),Zxr),Bx(Bwe(t),eTr,rTr);var i=n[3];if(i){lwe(t,tTr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Jxr)}),t,c),lwe(t,nTr)}else lwe(t,uTr);return gx(Bwe(t),aTr),gx(Bwe(t),iTr)})),XB(Zge,(function(r,e,t){var n=Bx(Qge,r,e);return Bx(Swe(Gxr),n,t)}));var rBe=[0,Qge,Zge],eBe=function r(e,t,n,u){return r.fun(e,t,n,u)},tBe=function r(e,t,n){return r.fun(e,t,n)};XB(eBe,(function(r,e,t,n){gx(Bwe(t),Bxr),Bx(Bwe(t),xxr,Sxr);var u=n[1];gx(Bwe(t),Txr);Sye((function(n,u){return n&&gx(Bwe(t),gxr),xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),Ixr),gx(Bwe(t),Nxr),gx(Bwe(t),Oxr),Bx(Bwe(t),Pxr,Lxr);var a=n[2];if(a){lwe(t,Rxr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,_xr)}),t,i),lwe(t,Mxr)}else lwe(t,jxr);return gx(Bwe(t),Uxr),gx(Bwe(t),Xxr)})),XB(tBe,(function(r,e,t){var n=Bx(eBe,r,e);return Bx(Swe(Axr),n,t)}));var nBe=[0,eBe,tBe],uBe=function r(e,t,n,u){return r.fun(e,t,n,u)},aBe=function r(e,t,n){return r.fun(e,t,n)};XB(uBe,(function(r,e,t,n){gx(Bwe(t),Dxr),Bx(Bwe(t),bxr,pxr);var u=n[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Fxr),gx(Bwe(t),mxr),Bx(Bwe(t),Exr,dxr);var a=n[2];if(a){lwe(t,kxr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,vxr)}),t,i),lwe(t,hxr)}else lwe(t,yxr);return gx(Bwe(t),Cxr),gx(Bwe(t),wxr)})),XB(aBe,(function(r,e,t){var n=Bx(uBe,r,e);return Bx(Swe(lxr),n,t)}));var iBe=[0,uBe,aBe],cBe=function r(e,t,n,u){return r.fun(e,t,n,u)},fBe=function r(e,t,n){return r.fun(e,t,n)};XB(cBe,(function(r,e,t,n){gx(Bwe(t),VSr),Bx(Bwe(t),YSr,$Sr);var u=n[1];gx(Bwe(t),HSr);var a=u[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),KSr);var i=u[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),QSr),gx(Bwe(t),ZSr);Sye((function(n,u){return n&&gx(Bwe(t),WSr),xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u[3]),gx(Bwe(t),rxr),gx(Bwe(t),exr),gx(Bwe(t),txr),gx(Bwe(t),nxr),Bx(Bwe(t),axr,uxr);var c=n[2];if(c){lwe(t,ixr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,zSr)}),t,f),lwe(t,cxr)}else lwe(t,fxr);return gx(Bwe(t),oxr),gx(Bwe(t),sxr)})),XB(fBe,(function(r,e,t){var n=Bx(cBe,r,e);return Bx(Swe(qSr),n,t)}));var oBe=[0,cBe,fBe],sBe=function r(e,t,n,u){return r.fun(e,t,n,u)},lBe=function r(e,t,n){return r.fun(e,t,n)};XB(sBe,(function(r,e,t,n){gx(Bwe(t),_Sr),Bx(Bwe(t),BSr,gSr);var u=n[1];gx(Bwe(t),SSr);var a=u[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),xSr);var i=u[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),TSr),gx(Bwe(t),ISr);Sye((function(n,u){return n&&gx(Bwe(t),ASr),xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u[3]),gx(Bwe(t),NSr),gx(Bwe(t),OSr),gx(Bwe(t),LSr),gx(Bwe(t),PSr),Bx(Bwe(t),MSr,RSr);var c=n[2];if(c){lwe(t,jSr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,wSr)}),t,f),lwe(t,USr)}else lwe(t,XSr);return gx(Bwe(t),GSr),gx(Bwe(t),JSr)})),XB(lBe,(function(r,e,t){var n=Bx(sBe,r,e);return Bx(Swe(CSr),n,t)}));var vBe=[0,sBe,lBe],DBe=function r(e,t,n,u){return r.fun(e,t,n,u)},pBe=function r(e,t,n){return r.fun(e,t,n)},bBe=function r(e,t,n,u){return r.fun(e,t,n,u)},FBe=function r(e,t,n){return r.fun(e,t,n)},mBe=function r(e,t,n,u){return r.fun(e,t,n,u)},dBe=function r(e,t,n){return r.fun(e,t,n)},EBe=function r(e,t,n,u){return r.fun(e,t,n,u)},kBe=function r(e,t,n){return r.fun(e,t,n)};XB(DBe,(function(r,e,t,n){gx(Bwe(t),kSr),Bx(e,t,n[1]),gx(Bwe(t),hSr);var u=n[2];return xx(bBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ySr)})),XB(pBe,(function(r,e,t){var n=Bx(DBe,r,e);return Bx(Swe(ESr),n,t)})),XB(bBe,(function(r,e,t,n){switch(n[0]){case 0:var u=n[1];if(gx(Bwe(t),qgr),u){lwe(t,zgr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Jgr)}),t,a),lwe(t,Wgr)}else lwe(t,Vgr);return gx(Bwe(t),$gr);case 1:var i=n[1];if(gx(Bwe(t),Ygr),i){lwe(t,Hgr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ggr)}),t,c),lwe(t,Kgr)}else lwe(t,Qgr);return gx(Bwe(t),Zgr);case 2:var f=n[1];if(gx(Bwe(t),rBr),f){lwe(t,eBr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Xgr)}),t,o),lwe(t,tBr)}else lwe(t,nBr);return gx(Bwe(t),uBr);case 3:var s=n[1];if(gx(Bwe(t),aBr),s){lwe(t,iBr);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ugr)}),t,l),lwe(t,cBr)}else lwe(t,fBr);return gx(Bwe(t),oBr);case 4:var v=n[1];if(gx(Bwe(t),sBr),v){lwe(t,lBr);var D=v[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,jgr)}),t,D),lwe(t,vBr)}else lwe(t,DBr);return gx(Bwe(t),pBr);case 5:var p=n[1];if(gx(Bwe(t),bBr),p){lwe(t,FBr);var b=p[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Mgr)}),t,b),lwe(t,mBr)}else lwe(t,dBr);return gx(Bwe(t),EBr);case 6:var F=n[1];if(gx(Bwe(t),kBr),F){lwe(t,hBr);var m=F[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Rgr)}),t,m),lwe(t,yBr)}else lwe(t,CBr);return gx(Bwe(t),wBr);case 7:var d=n[1];if(gx(Bwe(t),ABr),d){lwe(t,_Br);var E=d[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Pgr)}),t,E),lwe(t,gBr)}else lwe(t,BBr);return gx(Bwe(t),SBr);case 8:var k=n[1];if(gx(Bwe(t),xBr),k){lwe(t,TBr);var h=k[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Lgr)}),t,h),lwe(t,IBr)}else lwe(t,NBr);return gx(Bwe(t),OBr);case 9:var y=n[1];if(gx(Bwe(t),LBr),y){lwe(t,PBr);var C=y[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ogr)}),t,C),lwe(t,RBr)}else lwe(t,MBr);return gx(Bwe(t),jBr);case 10:var w=n[1];if(gx(Bwe(t),UBr),w){lwe(t,XBr);var A=w[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ngr)}),t,A),lwe(t,GBr)}else lwe(t,JBr);return gx(Bwe(t),qBr);case 11:gx(Bwe(t),zBr);var _=n[1];return xx(Kge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,_),gx(Bwe(t),WBr);case 12:gx(Bwe(t),VBr);var g=n[1];return xx(nge[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,g),gx(Bwe(t),$Br);case 13:gx(Bwe(t),YBr);var B=n[1];return xx(zge[6],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,B),gx(Bwe(t),HBr);case 14:gx(Bwe(t),KBr);var S=n[1];return xx($ge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,S),gx(Bwe(t),QBr);case 15:gx(Bwe(t),ZBr);var x=n[1];return xx(iBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,x),gx(Bwe(t),rSr);case 16:gx(Bwe(t),eSr);var T=n[1];return xx(Dge[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,T),gx(Bwe(t),tSr);case 17:gx(Bwe(t),nSr);var I=n[1];return xx(oBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,I),gx(Bwe(t),uSr);case 18:gx(Bwe(t),aSr);var N=n[1];return xx(vBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,N),gx(Bwe(t),iSr);case 19:gx(Bwe(t),cSr);var O=n[1];return xx(rBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,O),gx(Bwe(t),fSr);case 20:gx(Bwe(t),oSr);var L=n[1];return xx(nBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,L),gx(Bwe(t),sSr);case 21:gx(Bwe(t),lSr);var P=n[1];return Sx(UAe[1],(function(e){return gx(r,e)}),t,P),gx(Bwe(t),vSr);case 22:gx(Bwe(t),DSr);var R=n[1];return Sx(XAe[1],(function(e){return gx(r,e)}),t,R),gx(Bwe(t),pSr);case 23:gx(Bwe(t),bSr);var M=n[1];return Sx(GAe[1],(function(e){return gx(r,e)}),t,M),gx(Bwe(t),FSr);default:gx(Bwe(t),mSr);var j=n[1];return Sx(JAe[1],(function(e){return gx(r,e)}),t,j),gx(Bwe(t),dSr)}})),XB(FBe,(function(r,e,t){var n=Bx(bBe,r,e);return Bx(Swe(Igr),n,t)})),XB(mBe,(function(r,e,t,n){gx(Bwe(t),Sgr),Bx(r,t,n[1]),gx(Bwe(t),xgr);var u=n[2];return xx(DBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Tgr)})),XB(dBe,(function(r,e,t){var n=Bx(mBe,r,e);return Bx(Swe(Bgr),n,t)})),XB(EBe,(function(r,e,t,n){if(0===n[0])return gx(Bwe(t),wgr),Bx(e,t,n[1]),gx(Bwe(t),Agr);gx(Bwe(t),_gr);var u=n[1];return xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ggr)})),XB(kBe,(function(r,e,t){var n=Bx(EBe,r,e);return Bx(Swe(Cgr),n,t)}));var hBe=function r(e,t,n,u){return r.fun(e,t,n,u)},yBe=function r(e,t,n){return r.fun(e,t,n)},CBe=function r(e,t,n,u){return r.fun(e,t,n,u)},wBe=function r(e,t,n){return r.fun(e,t,n)};XB(hBe,(function(r,e,t,n){gx(Bwe(t),kgr),Bx(r,t,n[1]),gx(Bwe(t),hgr);var u=n[2];return xx(CBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ygr)})),XB(yBe,(function(r,e,t){var n=Bx(hBe,r,e);return Bx(Swe(Egr),n,t)})),XB(CBe,(function(r,e,t,n){gx(Bwe(t),H_r),Bx(Bwe(t),Q_r,K_r);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),t,u),gx(Bwe(t),Z_r),gx(Bwe(t),rgr),Bx(Bwe(t),tgr,egr);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),ngr),gx(Bwe(t),ugr),Bx(Bwe(t),igr,agr);var i=n[3];if(i){lwe(t,cgr);var c=i[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,c),lwe(t,fgr)}else lwe(t,ogr);gx(Bwe(t),sgr),gx(Bwe(t),lgr),Bx(Bwe(t),Dgr,vgr);var f=n[4];if(f){lwe(t,pgr);var o=f[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),lwe(t,bgr)}else lwe(t,Fgr);return gx(Bwe(t),mgr),gx(Bwe(t),dgr)})),XB(wBe,(function(r,e,t){var n=Bx(CBe,r,e);return Bx(Swe(Y_r),n,t)}));var ABe=[0,hBe,yBe,CBe,wBe],_Be=function r(e,t,n,u){return r.fun(e,t,n,u)},gBe=function r(e,t,n){return r.fun(e,t,n)},BBe=function r(e,t,n,u){return r.fun(e,t,n,u)},SBe=function r(e,t,n){return r.fun(e,t,n)};XB(_Be,(function(r,e,t,n){gx(Bwe(t),W_r),Bx(r,t,n[1]),gx(Bwe(t),V_r);var u=n[2];return xx(BBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$_r)})),XB(gBe,(function(r,e,t){var n=Bx(_Be,r,e);return Bx(Swe(z_r),n,t)})),XB(BBe,(function(r,e,t,n){gx(Bwe(t),T_r),Bx(Bwe(t),N_r,I_r);var u=n[1];gx(Bwe(t),O_r);Sye((function(n,u){return n&&gx(Bwe(t),x_r),xx(ABe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),L_r),gx(Bwe(t),P_r),gx(Bwe(t),R_r),Bx(Bwe(t),j_r,M_r);var a=n[2];if(a){lwe(t,U_r);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),B_r);return Sye((function(t,n){return t&&gx(Bwe(e),g_r),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),S_r)}),t,i),lwe(t,X_r)}else lwe(t,G_r);return gx(Bwe(t),J_r),gx(Bwe(t),q_r)})),XB(SBe,(function(r,e,t){var n=Bx(BBe,r,e);return Bx(Swe(__r),n,t)}));var xBe=function r(e,t,n,u){return r.fun(e,t,n,u)},TBe=function r(e,t,n){return r.fun(e,t,n)},IBe=function r(e,t,n,u){return r.fun(e,t,n,u)},NBe=function r(e,t,n){return r.fun(e,t,n)},OBe=[0,_Be,gBe,BBe,SBe];XB(xBe,(function(r,e,t,n){gx(Bwe(t),C_r),Bx(r,t,n[1]),gx(Bwe(t),w_r);var u=n[2];return xx(IBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),A_r)})),XB(TBe,(function(r,e,t){var n=Bx(xBe,r,e);return Bx(Swe(y_r),n,t)})),XB(IBe,(function(r,e,t,n){gx(Bwe(t),f_r),Bx(Bwe(t),s_r,o_r);var u=n[1];gx(Bwe(t),l_r);Sye((function(n,u){return n&&gx(Bwe(t),c_r),xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),v_r),gx(Bwe(t),D_r),gx(Bwe(t),p_r),Bx(Bwe(t),F_r,b_r);var a=n[2];if(a){lwe(t,m_r);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),a_r);return Sye((function(t,n){return t&&gx(Bwe(e),u_r),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),i_r)}),t,i),lwe(t,d_r)}else lwe(t,E_r);return gx(Bwe(t),k_r),gx(Bwe(t),h_r)})),XB(NBe,(function(r,e,t){var n=Bx(IBe,r,e);return Bx(Swe(n_r),n,t)}));var LBe=function r(e,t,n,u){return r.fun(e,t,n,u)},PBe=function r(e,t,n){return r.fun(e,t,n)},RBe=function r(e,t,n,u){return r.fun(e,t,n,u)},MBe=function r(e,t,n){return r.fun(e,t,n)},jBe=function r(e,t,n,u){return r.fun(e,t,n,u)},UBe=function r(e,t,n){return r.fun(e,t,n)},XBe=[0,xBe,TBe,IBe,NBe];XB(LBe,(function(r,e,t,n){gx(Bwe(t),r_r),Bx(r,t,n[1]),gx(Bwe(t),e_r);var u=n[2];return xx(RBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),t_r)})),XB(PBe,(function(r,e,t){var n=Bx(LBe,r,e);return Bx(Swe(ZAr),n,t)})),XB(RBe,(function(r,e,t,n){gx(Bwe(t),XAr),Bx(Bwe(t),JAr,GAr);var u=n[1];xx(jBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),qAr),gx(Bwe(t),zAr),Bx(Bwe(t),VAr,WAr);var a=n[2];if(a){lwe(t,$Ar);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,UAr)}),t,i),lwe(t,YAr)}else lwe(t,HAr);return gx(Bwe(t),KAr),gx(Bwe(t),QAr)})),XB(MBe,(function(r,e,t){var n=Bx(RBe,r,e);return Bx(Swe(jAr),n,t)})),XB(jBe,(function(r,e,t,n){if(n){gx(Bwe(t),PAr);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),RAr)}return lwe(t,MAr)})),XB(UBe,(function(r,e,t){var n=Bx(jBe,r,e);return Bx(Swe(LAr),n,t)})),Sx(eAe,HJr,WAe,[0,nge,Dge,zge,$ge,Kge,rBe,nBe,iBe,oBe,vBe,DBe,pBe,bBe,FBe,mBe,dBe,EBe,kBe,ABe,OBe,XBe,[0,LBe,PBe,RBe,MBe,jBe,UBe]]);var GBe=function r(e,t,n,u){return r.fun(e,t,n,u)},JBe=function r(e,t,n){return r.fun(e,t,n)};XB(GBe,(function(r,e,t,n){gx(Bwe(t),hAr),Bx(Bwe(t),CAr,yAr);var u=n[1];gx(Bwe(t),wAr);Sye((function(n,u){return n&&gx(Bwe(t),kAr),xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),AAr),gx(Bwe(t),_Ar),gx(Bwe(t),gAr),Bx(Bwe(t),SAr,BAr);var a=n[2];if(a){lwe(t,xAr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),dAr);return Sye((function(t,n){return t&&gx(Bwe(e),mAr),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),EAr)}),t,i),lwe(t,TAr)}else lwe(t,IAr);return gx(Bwe(t),NAr),gx(Bwe(t),OAr)})),XB(JBe,(function(r,e,t){var n=Bx(GBe,r,e);return Bx(Swe(FAr),n,t)}));var qBe=[0,GBe,JBe],zBe=function r(e,t,n,u){return r.fun(e,t,n,u)},WBe=function r(e,t,n){return r.fun(e,t,n)},VBe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Be=function r(e,t,n){return r.fun(e,t,n)};XB(zBe,(function(r,e,t,n){gx(Bwe(t),DAr),Bx(r,t,n[1]),gx(Bwe(t),pAr);var u=n[2];return xx(VBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),bAr)})),XB(WBe,(function(r,e,t){var n=Bx(zBe,r,e);return Bx(Swe(vAr),n,t)})),XB(VBe,(function(r,e,t,n){gx(Bwe(t),rAr),Bx(Bwe(t),tAr,eAr);var u=n[1];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nAr),gx(Bwe(t),uAr),Bx(Bwe(t),iAr,aAr);var a=n[2];if(a){lwe(t,cAr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Zwr)}),t,i),lwe(t,fAr)}else lwe(t,oAr);return gx(Bwe(t),sAr),gx(Bwe(t),lAr)})),XB($Be,(function(r,e,t){var n=Bx(VBe,r,e);return Bx(Swe(Qwr),n,t)}));var YBe=[0,zBe,WBe,VBe,$Be],HBe=function r(e,t,n,u){return r.fun(e,t,n,u)},KBe=function r(e,t,n){return r.fun(e,t,n)};XB(HBe,(function(r,e,t,n){gx(Bwe(t),Swr),Bx(Bwe(t),Twr,xwr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Iwr),gx(Bwe(t),Nwr),Bx(Bwe(t),Lwr,Owr);var a=n[2];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Pwr),gx(Bwe(t),Rwr),Bx(Bwe(t),jwr,Mwr);var i=n[3];if(i){lwe(t,Uwr);var c=i[1];xx(YBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,Xwr)}else lwe(t,Gwr);gx(Bwe(t),Jwr),gx(Bwe(t),qwr),Bx(Bwe(t),Wwr,zwr);var f=n[4];if(f){lwe(t,Vwr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Bwr)}),t,o),lwe(t,$wr)}else lwe(t,Ywr);return gx(Bwe(t),Hwr),gx(Bwe(t),Kwr)})),XB(KBe,(function(r,e,t){var n=Bx(HBe,r,e);return Bx(Swe(gwr),n,t)}));var QBe=[0,YBe,HBe,KBe],ZBe=function r(e,t,n,u){return r.fun(e,t,n,u)},rSe=function r(e,t,n){return r.fun(e,t,n)};XB(ZBe,(function(r,e,t,n){gx(Bwe(t),lwr),Bx(Bwe(t),Dwr,vwr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),t,u),gx(Bwe(t),pwr),gx(Bwe(t),bwr),Bx(Bwe(t),mwr,Fwr);var a=n[2];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),dwr),gx(Bwe(t),Ewr),Bx(Bwe(t),hwr,kwr);var i=n[3];if(i){lwe(t,ywr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,swr)}),t,c),lwe(t,Cwr)}else lwe(t,wwr);return gx(Bwe(t),Awr),gx(Bwe(t),_wr)})),XB(rSe,(function(r,e,t){var n=Bx(ZBe,r,e);return Bx(Swe(owr),n,t)}));var eSe=[0,ZBe,rSe],tSe=function r(e,t,n){return r.fun(e,t,n)},nSe=function r(e,t){return r.fun(e,t)};XB(tSe,(function(r,e,t){gx(Bwe(e),$Cr),Bx(Bwe(e),HCr,YCr);var n=t[1];if(n){lwe(e,KCr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,u),lwe(e,QCr)}else lwe(e,ZCr);gx(Bwe(e),rwr),gx(Bwe(e),ewr),Bx(Bwe(e),nwr,twr);var a=t[2];if(a){lwe(e,uwr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,VCr)}),e,i),lwe(e,awr)}else lwe(e,iwr);return gx(Bwe(e),cwr),gx(Bwe(e),fwr)})),XB(nSe,(function(r,e){var t=gx(tSe,r);return Bx(Swe(WCr),t,e)}));var uSe=[0,tSe,nSe],aSe=function r(e,t,n){return r.fun(e,t,n)},iSe=function r(e,t){return r.fun(e,t)};XB(aSe,(function(r,e,t){gx(Bwe(e),TCr),Bx(Bwe(e),NCr,ICr);var n=t[1];if(n){lwe(e,OCr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,u),lwe(e,LCr)}else lwe(e,PCr);gx(Bwe(e),RCr),gx(Bwe(e),MCr),Bx(Bwe(e),UCr,jCr);var a=t[2];if(a){lwe(e,XCr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,xCr)}),e,i),lwe(e,GCr)}else lwe(e,JCr);return gx(Bwe(e),qCr),gx(Bwe(e),zCr)})),XB(iSe,(function(r,e){var t=gx(aSe,r);return Bx(Swe(SCr),t,e)}));var cSe=[0,aSe,iSe],fSe=function r(e,t,n){return r.fun(e,t,n)},oSe=function r(e,t){return r.fun(e,t)};XB(fSe,(function(r,e,t){gx(Bwe(e),hCr),Bx(Bwe(e),CCr,yCr);var n=t[1];if(n){lwe(e,wCr);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,kCr)}),e,u),lwe(e,ACr)}else lwe(e,_Cr);return gx(Bwe(e),gCr),gx(Bwe(e),BCr)})),XB(oSe,(function(r,e){var t=gx(fSe,r);return Bx(Swe(ECr),t,e)}));var sSe=[0,fSe,oSe],lSe=function r(e,t,n,u){return r.fun(e,t,n,u)},vSe=function r(e,t,n){return r.fun(e,t,n)};XB(lSe,(function(r,e,t,n){gx(Bwe(t),nCr),Bx(Bwe(t),aCr,uCr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),iCr),gx(Bwe(t),cCr),Bx(Bwe(t),oCr,fCr);var a=n[2];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),sCr),gx(Bwe(t),lCr),Bx(Bwe(t),DCr,vCr);var i=n[3];if(i){lwe(t,pCr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,tCr)}),t,c),lwe(t,bCr)}else lwe(t,FCr);return gx(Bwe(t),mCr),gx(Bwe(t),dCr)})),XB(vSe,(function(r,e,t){var n=Bx(lSe,r,e);return Bx(Swe(eCr),n,t)}));var DSe=[0,lSe,vSe],pSe=function r(e,t,n,u){return r.fun(e,t,n,u)},bSe=function r(e,t,n){return r.fun(e,t,n)};XB(pSe,(function(r,e,t,n){gx(Bwe(t),Iyr),Bx(Bwe(t),Oyr,Nyr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Lyr),gx(Bwe(t),Pyr),Bx(Bwe(t),Myr,Ryr);var a=n[2];if(a){lwe(t,jyr);var i=a[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,Uyr)}else lwe(t,Xyr);gx(Bwe(t),Gyr),gx(Bwe(t),Jyr),Bx(Bwe(t),zyr,qyr);var c=n[3];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),Wyr),gx(Bwe(t),Vyr),Bx(Bwe(t),Yyr,$yr);var f=n[4];if(f){lwe(t,Hyr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Tyr)}),t,o),lwe(t,Kyr)}else lwe(t,Qyr);return gx(Bwe(t),Zyr),gx(Bwe(t),rCr)})),XB(bSe,(function(r,e,t){var n=Bx(pSe,r,e);return Bx(Swe(xyr),n,t)}));var FSe=[0,pSe,bSe],mSe=function r(e,t,n,u){return r.fun(e,t,n,u)},dSe=function r(e,t,n){return r.fun(e,t,n)};XB(mSe,(function(r,e,t,n){gx(Bwe(t),Khr),Bx(Bwe(t),Zhr,Qhr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ryr),gx(Bwe(t),eyr),Bx(Bwe(t),nyr,tyr);var a=n[2];if(a){lwe(t,uyr);var i=a[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,ayr)}else lwe(t,iyr);gx(Bwe(t),cyr),gx(Bwe(t),fyr),Bx(Bwe(t),syr,oyr);var c=n[3];if(c){lwe(t,lyr);var f=c[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,vyr)}else lwe(t,Dyr);gx(Bwe(t),pyr),gx(Bwe(t),byr),Bx(Bwe(t),myr,Fyr);var o=n[4];if(o){lwe(t,dyr);var s=o[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),lwe(t,Eyr)}else lwe(t,kyr);gx(Bwe(t),hyr),gx(Bwe(t),yyr),Bx(Bwe(t),wyr,Cyr);var l=n[5];if(l){lwe(t,Ayr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Hhr)}),t,v),lwe(t,_yr)}else lwe(t,gyr);return gx(Bwe(t),Byr),gx(Bwe(t),Syr)})),XB(dSe,(function(r,e,t){var n=Bx(mSe,r,e);return Bx(Swe(Yhr),n,t)}));var ESe=[0,mSe,dSe],kSe=function r(e,t,n,u){return r.fun(e,t,n,u)},hSe=function r(e,t,n){return r.fun(e,t,n)},ySe=function r(e,t,n,u){return r.fun(e,t,n,u)},CSe=function r(e,t,n){return r.fun(e,t,n)};XB(kSe,(function(r,e,t,n){gx(Bwe(t),Whr),Bx(r,t,n[1]),gx(Bwe(t),Vhr);var u=n[2];return xx(ySe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$hr)})),XB(hSe,(function(r,e,t){var n=Bx(kSe,r,e);return Bx(Swe(zhr),n,t)})),XB(ySe,(function(r,e,t,n){gx(Bwe(t),whr),Bx(Bwe(t),_hr,Ahr);var u=n[1];if(u){lwe(t,ghr);var a=u[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,Bhr)}else lwe(t,Shr);gx(Bwe(t),xhr),gx(Bwe(t),Thr),Bx(Bwe(t),Nhr,Ihr);var i=n[2];gx(Bwe(t),Ohr);Sye((function(n,u){return n&&gx(Bwe(t),Chr),xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),Lhr),gx(Bwe(t),Phr),gx(Bwe(t),Rhr),Bx(Bwe(t),jhr,Mhr);var c=n[3];if(c){lwe(t,Uhr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,yhr)}),t,f),lwe(t,Xhr)}else lwe(t,Ghr);return gx(Bwe(t),Jhr),gx(Bwe(t),qhr)})),XB(CSe,(function(r,e,t){var n=Bx(ySe,r,e);return Bx(Swe(hhr),n,t)}));var wSe=[0,kSe,hSe,ySe,CSe],ASe=function r(e,t,n,u){return r.fun(e,t,n,u)},_Se=function r(e,t,n){return r.fun(e,t,n)};XB(ASe,(function(r,e,t,n){gx(Bwe(t),nhr),Bx(Bwe(t),ahr,uhr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ihr),gx(Bwe(t),chr),Bx(Bwe(t),ohr,fhr);var a=n[2];gx(Bwe(t),shr);Sye((function(n,u){return n&&gx(Bwe(t),thr),xx(wSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,a),gx(Bwe(t),lhr),gx(Bwe(t),vhr),gx(Bwe(t),Dhr),Bx(Bwe(t),bhr,phr);var i=n[3];if(i){lwe(t,Fhr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ehr)}),t,c),lwe(t,mhr)}else lwe(t,dhr);return gx(Bwe(t),Ehr),gx(Bwe(t),khr)})),XB(_Se,(function(r,e,t){var n=Bx(ASe,r,e);return Bx(Swe(rhr),n,t)}));var gSe=[0,wSe,ASe,_Se],BSe=function r(e,t,n,u){return r.fun(e,t,n,u)},SSe=function r(e,t,n){return r.fun(e,t,n)};XB(BSe,(function(r,e,t,n){gx(Bwe(t),jkr),Bx(Bwe(t),Xkr,Ukr);var u=n[1];if(u){lwe(t,Gkr);var a=u[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,Jkr)}else lwe(t,qkr);gx(Bwe(t),zkr),gx(Bwe(t),Wkr),Bx(Bwe(t),$kr,Vkr);var i=n[2];if(i){lwe(t,Ykr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Mkr)}),t,c),lwe(t,Hkr)}else lwe(t,Kkr);return gx(Bwe(t),Qkr),gx(Bwe(t),Zkr)})),XB(SSe,(function(r,e,t){var n=Bx(BSe,r,e);return Bx(Swe(Rkr),n,t)}));var xSe=[0,BSe,SSe],TSe=function r(e,t,n,u){return r.fun(e,t,n,u)},ISe=function r(e,t,n){return r.fun(e,t,n)};XB(TSe,(function(r,e,t,n){gx(Bwe(t),Akr),Bx(Bwe(t),gkr,_kr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Bkr),gx(Bwe(t),Skr),Bx(Bwe(t),Tkr,xkr);var a=n[2];if(a){lwe(t,Ikr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,wkr)}),t,i),lwe(t,Nkr)}else lwe(t,Okr);return gx(Bwe(t),Lkr),gx(Bwe(t),Pkr)})),XB(ISe,(function(r,e,t){var n=Bx(TSe,r,e);return Bx(Swe(Ckr),n,t)}));var NSe=[0,TSe,ISe],OSe=function r(e,t,n,u){return r.fun(e,t,n,u)},LSe=function r(e,t,n){return r.fun(e,t,n)},PSe=function r(e,t,n,u){return r.fun(e,t,n,u)},RSe=function r(e,t,n){return r.fun(e,t,n)};XB(OSe,(function(r,e,t,n){gx(Bwe(t),kkr),Bx(r,t,n[1]),gx(Bwe(t),hkr);var u=n[2];return xx(PSe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ykr)})),XB(LSe,(function(r,e,t){var n=Bx(OSe,r,e);return Bx(Swe(Ekr),n,t)})),XB(PSe,(function(r,e,t,n){gx(Bwe(t),KEr),Bx(Bwe(t),ZEr,QEr);var u=n[1];if(u){lwe(t,rkr);var a=u[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,ekr)}else lwe(t,tkr);gx(Bwe(t),nkr),gx(Bwe(t),ukr),Bx(Bwe(t),ikr,akr);var i=n[2];gx(Bwe(t),ckr),Bx(r,t,i[1]),gx(Bwe(t),fkr);var c=i[2];xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),okr),gx(Bwe(t),skr),gx(Bwe(t),lkr),Bx(Bwe(t),Dkr,vkr);var f=n[3];if(f){lwe(t,pkr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,HEr)}),t,o),lwe(t,bkr)}else lwe(t,Fkr);return gx(Bwe(t),mkr),gx(Bwe(t),dkr)})),XB(RSe,(function(r,e,t){var n=Bx(PSe,r,e);return Bx(Swe(YEr),n,t)}));var MSe=[0,OSe,LSe,PSe,RSe],jSe=function r(e,t,n,u){return r.fun(e,t,n,u)},USe=function r(e,t,n){return r.fun(e,t,n)};XB(jSe,(function(r,e,t,n){gx(Bwe(t),mEr),Bx(Bwe(t),EEr,dEr);var u=n[1];gx(Bwe(t),kEr),Bx(r,t,u[1]),gx(Bwe(t),hEr);var a=u[2];xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),yEr),gx(Bwe(t),CEr),gx(Bwe(t),wEr),Bx(Bwe(t),_Er,AEr);var i=n[2];if(i){lwe(t,gEr);var c=i[1];xx(MSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,BEr)}else lwe(t,SEr);gx(Bwe(t),xEr),gx(Bwe(t),TEr),Bx(Bwe(t),NEr,IEr);var f=n[3];if(f){var o=f[1];lwe(t,OEr),gx(Bwe(t),LEr),Bx(r,t,o[1]),gx(Bwe(t),PEr);var s=o[2];xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),REr),lwe(t,MEr)}else lwe(t,jEr);gx(Bwe(t),UEr),gx(Bwe(t),XEr),Bx(Bwe(t),JEr,GEr);var l=n[4];if(l){lwe(t,qEr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,FEr)}),t,v),lwe(t,zEr)}else lwe(t,WEr);return gx(Bwe(t),VEr),gx(Bwe(t),$Er)})),XB(USe,(function(r,e,t){var n=Bx(jSe,r,e);return Bx(Swe(bEr),n,t)}));var XSe=[0,MSe,jSe,USe],GSe=function r(e,t,n,u){return r.fun(e,t,n,u)},JSe=function r(e,t,n){return r.fun(e,t,n)},qSe=function r(e,t,n,u){return r.fun(e,t,n,u)},zSe=function r(e,t,n){return r.fun(e,t,n)};XB(GSe,(function(r,e,t,n){gx(Bwe(t),vEr),Bx(r,t,n[1]),gx(Bwe(t),DEr);var u=n[2];return xx(qSe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),pEr)})),XB(JSe,(function(r,e,t){var n=Bx(GSe,r,e);return Bx(Swe(lEr),n,t)})),XB(qSe,(function(r,e,t,n){gx(Bwe(t),Zdr),Bx(Bwe(t),eEr,rEr);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),tEr),gx(Bwe(t),nEr),Bx(Bwe(t),aEr,uEr);var a=n[2];if(a){lwe(t,iEr);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,cEr)}else lwe(t,fEr);return gx(Bwe(t),oEr),gx(Bwe(t),sEr)})),XB(zSe,(function(r,e,t){var n=Bx(qSe,r,e);return Bx(Swe(Qdr),n,t)}));var WSe=[0,GSe,JSe,qSe,zSe],VSe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Se=function r(e,t,n){return r.fun(e,t,n)},YSe=function r(e,t){return r.fun(e,t)},HSe=function r(e){return r.fun(e)};XB(VSe,(function(r,e,t,n){gx(Bwe(t),Odr),Bx(Bwe(t),Pdr,Ldr);var u=n[1];gx(Bwe(t),Rdr);Sye((function(n,u){return n&&gx(Bwe(t),Ndr),xx(WSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),Mdr),gx(Bwe(t),jdr),gx(Bwe(t),Udr),Bx(Bwe(t),Gdr,Xdr),Bx(YSe,t,n[2]),gx(Bwe(t),Jdr),gx(Bwe(t),qdr),Bx(Bwe(t),Wdr,zdr);var a=n[3];if(a){lwe(t,Vdr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Idr)}),t,i),lwe(t,$dr)}else lwe(t,Ydr);return gx(Bwe(t),Hdr),gx(Bwe(t),Kdr)})),XB($Se,(function(r,e,t){var n=Bx(VSe,r,e);return Bx(Swe(Tdr),n,t)})),XB(YSe,(function(r,e){switch(e){case 0:return lwe(r,Bdr);case 1:return lwe(r,Sdr);default:return lwe(r,xdr)}})),XB(HSe,(function(r){return Bx(Swe(gdr),YSe,r)}));var KSe=[0,WSe,VSe,$Se,YSe,HSe],QSe=function r(e,t,n,u){return r.fun(e,t,n,u)},ZSe=function r(e,t,n){return r.fun(e,t,n)};XB(QSe,(function(r,e,t,n){gx(Bwe(t),ldr),Bx(Bwe(t),Ddr,vdr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),pdr),gx(Bwe(t),bdr),Bx(Bwe(t),mdr,Fdr);var a=n[2];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),ddr),gx(Bwe(t),Edr),Bx(Bwe(t),hdr,kdr);var i=n[3];if(i){lwe(t,ydr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,sdr)}),t,c),lwe(t,Cdr)}else lwe(t,wdr);return gx(Bwe(t),Adr),gx(Bwe(t),_dr)})),XB(ZSe,(function(r,e,t){var n=Bx(QSe,r,e);return Bx(Swe(odr),n,t)}));var rxe=[0,QSe,ZSe],exe=function r(e,t,n,u){return r.fun(e,t,n,u)},txe=function r(e,t,n){return r.fun(e,t,n)};XB(exe,(function(r,e,t,n){gx(Bwe(t),Vmr),Bx(Bwe(t),Ymr,$mr);var u=n[1];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Hmr),gx(Bwe(t),Kmr),Bx(Bwe(t),Zmr,Qmr);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),rdr),gx(Bwe(t),edr),Bx(Bwe(t),ndr,tdr);var i=n[3];if(i){lwe(t,udr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Wmr)}),t,c),lwe(t,adr)}else lwe(t,idr);return gx(Bwe(t),cdr),gx(Bwe(t),fdr)})),XB(txe,(function(r,e,t){var n=Bx(exe,r,e);return Bx(Swe(zmr),n,t)}));var nxe=[0,exe,txe],uxe=function r(e,t,n,u){return r.fun(e,t,n,u)},axe=function r(e,t,n){return r.fun(e,t,n)},ixe=function r(e,t,n,u){return r.fun(e,t,n,u)},cxe=function r(e,t,n){return r.fun(e,t,n)};XB(uxe,(function(r,e,t,n){gx(Bwe(t),vmr),Bx(Bwe(t),pmr,Dmr);var u=n[1];if(u){lwe(t,bmr);var a=u[1];xx(ixe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,Fmr)}else lwe(t,mmr);gx(Bwe(t),dmr),gx(Bwe(t),Emr),Bx(Bwe(t),hmr,kmr);var i=n[2];if(i){lwe(t,ymr);var c=i[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,Cmr)}else lwe(t,wmr);gx(Bwe(t),Amr),gx(Bwe(t),_mr),Bx(Bwe(t),Bmr,gmr);var f=n[3];if(f){lwe(t,Smr);var o=f[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),lwe(t,xmr)}else lwe(t,Tmr);gx(Bwe(t),Imr),gx(Bwe(t),Nmr),Bx(Bwe(t),Lmr,Omr);var s=n[4];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),Pmr),gx(Bwe(t),Rmr),Bx(Bwe(t),jmr,Mmr);var l=n[5];if(l){lwe(t,Umr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,lmr)}),t,v),lwe(t,Xmr)}else lwe(t,Gmr);return gx(Bwe(t),Jmr),gx(Bwe(t),qmr)})),XB(axe,(function(r,e,t){var n=Bx(uxe,r,e);return Bx(Swe(smr),n,t)})),XB(ixe,(function(r,e,t,n){if(0===n[0]){var u=n[1];gx(Bwe(t),nmr),gx(Bwe(t),umr),Bx(r,t,u[1]),gx(Bwe(t),amr);var a=u[2];return xx(KSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),imr),gx(Bwe(t),cmr)}gx(Bwe(t),fmr);var i=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),omr)})),XB(cxe,(function(r,e,t){var n=Bx(ixe,r,e);return Bx(Swe(tmr),n,t)}));var fxe=[0,uxe,axe,ixe,cxe],oxe=function r(e,t,n,u){return r.fun(e,t,n,u)},sxe=function r(e,t,n){return r.fun(e,t,n)},lxe=function r(e,t,n,u){return r.fun(e,t,n,u)},vxe=function r(e,t,n){return r.fun(e,t,n)};XB(oxe,(function(r,e,t,n){gx(Bwe(t),TFr),Bx(Bwe(t),NFr,IFr);var u=n[1];xx(lxe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),OFr),gx(Bwe(t),LFr),Bx(Bwe(t),RFr,PFr);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),MFr),gx(Bwe(t),jFr),Bx(Bwe(t),XFr,UFr);var i=n[3];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),GFr),gx(Bwe(t),JFr),Bx(Bwe(t),zFr,qFr);var c=n[4];Bx(Bwe(t),WFr,c),gx(Bwe(t),VFr),gx(Bwe(t),$Fr),Bx(Bwe(t),HFr,YFr);var f=n[5];if(f){lwe(t,KFr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,xFr)}),t,o),lwe(t,QFr)}else lwe(t,ZFr);return gx(Bwe(t),rmr),gx(Bwe(t),emr)})),XB(sxe,(function(r,e,t){var n=Bx(oxe,r,e);return Bx(Swe(SFr),n,t)})),XB(lxe,(function(r,e,t,n){if(0===n[0]){var u=n[1];gx(Bwe(t),yFr),gx(Bwe(t),CFr),Bx(r,t,u[1]),gx(Bwe(t),wFr);var a=u[2];return xx(KSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),AFr),gx(Bwe(t),_Fr)}gx(Bwe(t),gFr);var i=n[1];return xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),BFr)})),XB(vxe,(function(r,e,t){var n=Bx(lxe,r,e);return Bx(Swe(hFr),n,t)}));var Dxe=[0,oxe,sxe,lxe,vxe],pxe=function r(e,t,n,u){return r.fun(e,t,n,u)},bxe=function r(e,t,n){return r.fun(e,t,n)},Fxe=function r(e,t,n,u){return r.fun(e,t,n,u)},mxe=function r(e,t,n){return r.fun(e,t,n)};XB(pxe,(function(r,e,t,n){gx(Bwe(t),Hbr),Bx(Bwe(t),Qbr,Kbr);var u=n[1];xx(Fxe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Zbr),gx(Bwe(t),rFr),Bx(Bwe(t),tFr,eFr);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),nFr),gx(Bwe(t),uFr),Bx(Bwe(t),iFr,aFr);var i=n[3];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),cFr),gx(Bwe(t),fFr),Bx(Bwe(t),sFr,oFr);var c=n[4];Bx(Bwe(t),lFr,c),gx(Bwe(t),vFr),gx(Bwe(t),DFr),Bx(Bwe(t),bFr,pFr);var f=n[5];if(f){lwe(t,FFr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ybr)}),t,o),lwe(t,mFr)}else lwe(t,dFr);return gx(Bwe(t),EFr),gx(Bwe(t),kFr)})),XB(bxe,(function(r,e,t){var n=Bx(pxe,r,e);return Bx(Swe($br),n,t)})),XB(Fxe,(function(r,e,t,n){if(0===n[0]){var u=n[1];gx(Bwe(t),Xbr),gx(Bwe(t),Gbr),Bx(r,t,u[1]),gx(Bwe(t),Jbr);var a=u[2];return xx(KSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),qbr),gx(Bwe(t),zbr)}gx(Bwe(t),Wbr);var i=n[1];return xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Vbr)})),XB(mxe,(function(r,e,t){var n=Bx(Fxe,r,e);return Bx(Swe(Ubr),n,t)}));var dxe=[0,pxe,bxe,Fxe,mxe],Exe=function r(e,t,n){return r.fun(e,t,n)},kxe=function r(e,t){return r.fun(e,t)},hxe=function r(e,t,n){return r.fun(e,t,n)},yxe=function r(e,t){return r.fun(e,t)};XB(Exe,(function(r,e,t){gx(Bwe(e),Rbr),Bx(r,e,t[1]),gx(Bwe(e),Mbr);var n=t[2];return Sx(hxe,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),jbr)})),XB(kxe,(function(r,e){var t=gx(Exe,r);return Bx(Swe(Pbr),t,e)})),XB(hxe,(function(r,e,t){gx(Bwe(e),Tbr),Bx(Bwe(e),Nbr,Ibr);var n=t[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),Obr),gx(Bwe(e),Lbr)})),XB(yxe,(function(r,e){var t=gx(hxe,r);return Bx(Swe(xbr),t,e)}));var Cxe=[0,Exe,kxe,hxe,yxe],wxe=function r(e,t,n,u){return r.fun(e,t,n,u)},Axe=function r(e,t,n){return r.fun(e,t,n)},_xe=function r(e,t,n,u){return r.fun(e,t,n,u)},gxe=function r(e,t,n){return r.fun(e,t,n)};XB(wxe,(function(r,e,t,n){gx(Bwe(t),gbr),Bx(e,t,n[1]),gx(Bwe(t),Bbr);var u=n[2];return xx(_xe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Sbr)})),XB(Axe,(function(r,e,t){var n=Bx(wxe,r,e);return Bx(Swe(_br),n,t)})),XB(_xe,(function(r,e,t,n){gx(Bwe(t),pbr),Bx(Bwe(t),Fbr,bbr);var u=n[1];xx(RAe[1],(function(r){return gx(e,r)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),mbr),gx(Bwe(t),dbr),Bx(Bwe(t),kbr,Ebr);var a=n[2];return gx(Bwe(t),hbr),Bx(e,t,a[1]),gx(Bwe(t),ybr),Bx(r,t,a[2]),gx(Bwe(t),Cbr),gx(Bwe(t),wbr),gx(Bwe(t),Abr)})),XB(gxe,(function(r,e,t){var n=Bx(_xe,r,e);return Bx(Swe(Dbr),n,t)}));var Bxe=[0,wxe,Axe,_xe,gxe],Sxe=function r(e,t,n){return r.fun(e,t,n)},xxe=function r(e,t){return r.fun(e,t)};XB(Sxe,(function(r,e,t){gx(Bwe(e),Jpr),Bx(Bwe(e),zpr,qpr);var n=t[1];gx(Bwe(e),Wpr);Sye((function(t,n){return t&&gx(Bwe(e),Gpr),xx(Bxe[1],(function(e){return Bx(JAe[1],(function(e){return gx(r,e)}),e)}),(function(e){return gx(r,e)}),e,n),1}),0,n),gx(Bwe(e),Vpr),gx(Bwe(e),$pr),gx(Bwe(e),Ypr),Bx(Bwe(e),Kpr,Hpr);var u=t[2];Bx(Bwe(e),Qpr,u),gx(Bwe(e),Zpr),gx(Bwe(e),rbr),Bx(Bwe(e),tbr,ebr);var a=t[3];Bx(Bwe(e),nbr,a),gx(Bwe(e),ubr),gx(Bwe(e),abr),Bx(Bwe(e),cbr,ibr);var i=t[4];if(i){lwe(e,fbr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Xpr)}),e,c),lwe(e,obr)}else lwe(e,sbr);return gx(Bwe(e),lbr),gx(Bwe(e),vbr)})),XB(xxe,(function(r,e){var t=gx(Sxe,r);return Bx(Swe(Upr),t,e)}));var Txe=[0,Sxe,xxe],Ixe=function r(e,t,n){return r.fun(e,t,n)},Nxe=function r(e,t){return r.fun(e,t)};XB(Ixe,(function(r,e,t){gx(Bwe(e),Fpr),Bx(Bwe(e),dpr,mpr);var n=t[1];gx(Bwe(e),Epr);Sye((function(t,n){return t&&gx(Bwe(e),bpr),xx(Bxe[1],(function(e){return Bx(XAe[1],(function(e){return gx(r,e)}),e)}),(function(e){return gx(r,e)}),e,n),1}),0,n),gx(Bwe(e),kpr),gx(Bwe(e),hpr),gx(Bwe(e),ypr),Bx(Bwe(e),wpr,Cpr);var u=t[2];Bx(Bwe(e),Apr,u),gx(Bwe(e),_pr),gx(Bwe(e),gpr),Bx(Bwe(e),Spr,Bpr);var a=t[3];Bx(Bwe(e),xpr,a),gx(Bwe(e),Tpr),gx(Bwe(e),Ipr),Bx(Bwe(e),Opr,Npr);var i=t[4];if(i){lwe(e,Lpr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ppr)}),e,c),lwe(e,Ppr)}else lwe(e,Rpr);return gx(Bwe(e),Mpr),gx(Bwe(e),jpr)})),XB(Nxe,(function(r,e){var t=gx(Ixe,r);return Bx(Swe(Dpr),t,e)}));var Oxe=[0,Ixe,Nxe],Lxe=function r(e,t,n){return r.fun(e,t,n)},Pxe=function r(e,t){return r.fun(e,t)},Rxe=function r(e,t,n,u){return r.fun(e,t,n,u)},Mxe=function r(e,t,n){return r.fun(e,t,n)};XB(Lxe,(function(r,e,t){gx(Bwe(e),zDr),Bx(Bwe(e),VDr,WDr);var n=t[1];xx(Rxe,(function(e){return Bx(UAe[1],(function(e){return gx(r,e)}),e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),$Dr),gx(Bwe(e),YDr),Bx(Bwe(e),KDr,HDr);var u=t[2];Bx(Bwe(e),QDr,u),gx(Bwe(e),ZDr),gx(Bwe(e),rpr),Bx(Bwe(e),tpr,epr);var a=t[3];Bx(Bwe(e),npr,a),gx(Bwe(e),upr),gx(Bwe(e),apr),Bx(Bwe(e),cpr,ipr);var i=t[4];if(i){lwe(e,fpr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,qDr)}),e,c),lwe(e,opr)}else lwe(e,spr);return gx(Bwe(e),lpr),gx(Bwe(e),vpr)})),XB(Pxe,(function(r,e){var t=gx(Lxe,r);return Bx(Swe(JDr),t,e)})),XB(Rxe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),LDr),gx(Bwe(t),PDr);return Sye((function(r,n){return r&&gx(Bwe(t),ODr),Sx(Cxe[1],(function(r){return gx(e,r)}),t,n),1}),0,n[1]),gx(Bwe(t),RDr),gx(Bwe(t),MDr)}gx(Bwe(t),jDr),gx(Bwe(t),UDr);return Sye((function(n,u){return n&&gx(Bwe(t),NDr),xx(Bxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,n[1]),gx(Bwe(t),XDr),gx(Bwe(t),GDr)})),XB(Mxe,(function(r,e,t){var n=Bx(Rxe,r,e);return Bx(Swe(IDr),n,t)}));var jxe=[0,Lxe,Pxe,Rxe,Mxe],Uxe=function r(e,t,n){return r.fun(e,t,n)},Xxe=function r(e,t){return r.fun(e,t)};XB(Uxe,(function(r,e,t){gx(Bwe(e),DDr),Bx(Bwe(e),bDr,pDr);var n=t[1];gx(Bwe(e),FDr);Sye((function(t,n){return t&&gx(Bwe(e),vDr),Sx(Cxe[1],(function(e){return gx(r,e)}),e,n),1}),0,n),gx(Bwe(e),mDr),gx(Bwe(e),dDr),gx(Bwe(e),EDr),Bx(Bwe(e),hDr,kDr);var u=t[2];Bx(Bwe(e),yDr,u),gx(Bwe(e),CDr),gx(Bwe(e),wDr),Bx(Bwe(e),_Dr,ADr);var a=t[3];if(a){lwe(e,gDr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,lDr)}),e,i),lwe(e,BDr)}else lwe(e,SDr);return gx(Bwe(e),xDr),gx(Bwe(e),TDr)})),XB(Xxe,(function(r,e){var t=gx(Uxe,r);return Bx(Swe(sDr),t,e)}));var Gxe=[0,Uxe,Xxe],Jxe=function r(e,t,n,u){return r.fun(e,t,n,u)},qxe=function r(e,t,n){return r.fun(e,t,n)},zxe=function r(e,t,n){return r.fun(e,t,n)},Wxe=function r(e,t){return r.fun(e,t)},Vxe=function r(e,t,n){return r.fun(e,t,n)},$xe=function r(e,t){return r.fun(e,t)};XB(Jxe,(function(r,e,t,n){gx(Bwe(t),$vr),Bx(Bwe(t),Hvr,Yvr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Kvr),gx(Bwe(t),Qvr),Bx(Bwe(t),rDr,Zvr);var a=n[2];Sx(zxe,(function(e){return gx(r,e)}),t,a),gx(Bwe(t),eDr),gx(Bwe(t),tDr),Bx(Bwe(t),uDr,nDr);var i=n[3];if(i){lwe(t,aDr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Vvr)}),t,c),lwe(t,iDr)}else lwe(t,cDr);return gx(Bwe(t),fDr),gx(Bwe(t),oDr)})),XB(qxe,(function(r,e,t){var n=Bx(Jxe,r,e);return Bx(Swe(Wvr),n,t)})),XB(zxe,(function(r,e,t){gx(Bwe(e),Jvr),Bx(r,e,t[1]),gx(Bwe(e),qvr);var n=t[2];return Sx(Vxe,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),zvr)})),XB(Wxe,(function(r,e){var t=gx(zxe,r);return Bx(Swe(Gvr),t,e)})),XB(Vxe,(function(r,e,t){switch(t[0]){case 0:gx(Bwe(e),Ovr);var n=t[1];return Sx(Txe[1],(function(e){return gx(r,e)}),e,n),gx(Bwe(e),Lvr);case 1:gx(Bwe(e),Pvr);var u=t[1];return Sx(Oxe[1],(function(e){return gx(r,e)}),e,u),gx(Bwe(e),Rvr);case 2:gx(Bwe(e),Mvr);var a=t[1];return Sx(jxe[1],(function(e){return gx(r,e)}),e,a),gx(Bwe(e),jvr);default:gx(Bwe(e),Uvr);var i=t[1];return Sx(Gxe[1],(function(e){return gx(r,e)}),e,i),gx(Bwe(e),Xvr)}})),XB($xe,(function(r,e){var t=gx(Vxe,r);return Bx(Swe(Nvr),t,e)}));var Yxe=[0,Cxe,Bxe,Txe,Oxe,jxe,Gxe,Jxe,qxe,zxe,Wxe,Vxe,$xe],Hxe=function r(e,t,n,u){return r.fun(e,t,n,u)},Kxe=function r(e,t,n){return r.fun(e,t,n)};XB(Hxe,(function(r,e,t,n){gx(Bwe(t),evr),Bx(Bwe(t),nvr,tvr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),uvr),gx(Bwe(t),avr),Bx(Bwe(t),cvr,ivr);var a=n[2];if(a){lwe(t,fvr);var i=a[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,ovr)}else lwe(t,svr);gx(Bwe(t),lvr),gx(Bwe(t),vvr),Bx(Bwe(t),pvr,Dvr);var c=n[3];gx(Bwe(t),bvr);Sye((function(n,u){n&&gx(Bwe(t),Klr),gx(Bwe(t),Qlr),Bx(r,t,u[1]),gx(Bwe(t),Zlr);var a=u[2];return xx(WAe[2][2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),rvr),1}),0,c),gx(Bwe(t),Fvr),gx(Bwe(t),mvr),gx(Bwe(t),dvr),Bx(Bwe(t),kvr,Evr);var f=n[4];gx(Bwe(t),hvr),Bx(r,t,f[1]),gx(Bwe(t),yvr);var o=f[2];xx(WAe[3][6],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),Cvr),gx(Bwe(t),wvr),gx(Bwe(t),Avr),Bx(Bwe(t),gvr,_vr);var s=n[5];if(s){lwe(t,Bvr);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Hlr)}),t,l),lwe(t,Svr)}else lwe(t,xvr);return gx(Bwe(t),Tvr),gx(Bwe(t),Ivr)})),XB(Kxe,(function(r,e,t){var n=Bx(Hxe,r,e);return Bx(Swe(Ylr),n,t)}));var Qxe=[0,Hxe,Kxe],Zxe=function r(e,t,n,u){return r.fun(e,t,n,u)},rTe=function r(e,t,n){return r.fun(e,t,n)};XB(Zxe,(function(r,e,t,n){gx(Bwe(t),rlr),Bx(Bwe(t),tlr,elr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nlr),gx(Bwe(t),ulr),Bx(Bwe(t),ilr,alr);var a=n[2];if(a){lwe(t,clr);var i=a[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,flr)}else lwe(t,olr);gx(Bwe(t),slr),gx(Bwe(t),llr),Bx(Bwe(t),Dlr,vlr);var c=n[3];gx(Bwe(t),plr),Bx(r,t,c[1]),gx(Bwe(t),blr);var f=c[2];xx(WAe[3][6],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),Flr),gx(Bwe(t),mlr),gx(Bwe(t),dlr),Bx(Bwe(t),klr,Elr);var o=n[4];if(o){var s=o[1];lwe(t,hlr),gx(Bwe(t),ylr),Bx(r,t,s[1]),gx(Bwe(t),Clr);var l=s[2];xx(WAe[2][2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,l),gx(Bwe(t),wlr),lwe(t,Alr)}else lwe(t,_lr);gx(Bwe(t),glr),gx(Bwe(t),Blr),Bx(Bwe(t),xlr,Slr);var v=n[5];gx(Bwe(t),Tlr);Sye((function(n,u){n&&gx(Bwe(t),Hsr),gx(Bwe(t),Ksr),Bx(r,t,u[1]),gx(Bwe(t),Qsr);var a=u[2];return xx(WAe[2][2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Zsr),1}),0,v),gx(Bwe(t),Ilr),gx(Bwe(t),Nlr),gx(Bwe(t),Olr),Bx(Bwe(t),Plr,Llr);var D=n[6];if(D){lwe(t,Rlr);var p=D[1];xx(QAe[5][2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),lwe(t,Mlr)}else lwe(t,jlr);gx(Bwe(t),Ulr),gx(Bwe(t),Xlr),Bx(Bwe(t),Jlr,Glr);var b=n[7];if(b){lwe(t,qlr);var F=b[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ysr)}),t,F),lwe(t,zlr)}else lwe(t,Wlr);return gx(Bwe(t),Vlr),gx(Bwe(t),$lr)})),XB(rTe,(function(r,e,t){var n=Bx(Zxe,r,e);return Bx(Swe($sr),n,t)}));var eTe=[0,Zxe,rTe],tTe=function r(e,t,n,u){return r.fun(e,t,n,u)},nTe=function r(e,t,n){return r.fun(e,t,n)};XB(tTe,(function(r,e,t,n){gx(Bwe(t),Isr),Bx(Bwe(t),Osr,Nsr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Lsr),gx(Bwe(t),Psr),Bx(Bwe(t),Msr,Rsr);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),jsr),gx(Bwe(t),Usr),Bx(Bwe(t),Gsr,Xsr);var i=n[3];if(i){lwe(t,Jsr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Tsr)}),t,c),lwe(t,qsr)}else lwe(t,zsr);return gx(Bwe(t),Wsr),gx(Bwe(t),Vsr)})),XB(nTe,(function(r,e,t){var n=Bx(tTe,r,e);return Bx(Swe(xsr),n,t)}));var uTe=[0,tTe,nTe],aTe=function r(e,t,n,u){return r.fun(e,t,n,u)},iTe=function r(e,t,n){return r.fun(e,t,n)};XB(aTe,(function(r,e,t,n){gx(Bwe(t),csr),Bx(Bwe(t),osr,fsr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ssr),gx(Bwe(t),lsr),Bx(Bwe(t),Dsr,vsr);var a=n[2];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),psr),gx(Bwe(t),bsr),Bx(Bwe(t),msr,Fsr);var i=n[3];if(i){lwe(t,dsr);var c=i[1];xx(WAe[22][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,Esr)}else lwe(t,ksr);gx(Bwe(t),hsr),gx(Bwe(t),ysr),Bx(Bwe(t),wsr,Csr);var f=n[4];if(f){lwe(t,Asr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,isr)}),t,o),lwe(t,_sr)}else lwe(t,gsr);return gx(Bwe(t),Bsr),gx(Bwe(t),Ssr)})),XB(iTe,(function(r,e,t){var n=Bx(aTe,r,e);return Bx(Swe(asr),n,t)}));var cTe=[0,aTe,iTe],fTe=function r(e,t,n,u){return r.fun(e,t,n,u)},oTe=function r(e,t,n){return r.fun(e,t,n)},sTe=function r(e,t,n){return r.fun(e,t,n)},lTe=function r(e,t){return r.fun(e,t)},vTe=function r(e,t,n,u){return r.fun(e,t,n,u)},DTe=function r(e,t,n){return r.fun(e,t,n)};XB(fTe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),Qor);var u=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Zor)}var a=n[1];gx(Bwe(t),rsr),gx(Bwe(t),esr),Bx(e,t,a[1]),gx(Bwe(t),tsr);var i=a[2];return Sx(UAe[1],(function(e){return gx(r,e)}),t,i),gx(Bwe(t),nsr),gx(Bwe(t),usr)})),XB(oTe,(function(r,e,t){var n=Bx(fTe,r,e);return Bx(Swe(Kor),n,t)})),XB(sTe,(function(r,e,t){return 0===t[0]?(gx(Bwe(e),Vor),Bx(r,e,t[1]),gx(Bwe(e),$or)):(gx(Bwe(e),Yor),Bx(r,e,t[1]),gx(Bwe(e),Hor))})),XB(lTe,(function(r,e){var t=gx(sTe,r);return Bx(Swe(Wor),t,e)})),XB(vTe,(function(r,e,t,n){gx(Bwe(t),Cor),Bx(Bwe(t),Aor,wor);var u=n[1];xx(fTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),_or),gx(Bwe(t),gor),Bx(Bwe(t),Sor,Bor);var a=n[2];gx(Bwe(t),xor),Bx(r,t,a[1]),gx(Bwe(t),Tor);var i=a[2];xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Ior),gx(Bwe(t),Nor),gx(Bwe(t),Oor),Bx(Bwe(t),Por,Lor);var c=n[3];Sx(sTe,(function(e){return gx(r,e)}),t,c),gx(Bwe(t),Ror),gx(Bwe(t),Mor),Bx(Bwe(t),Uor,jor);var f=n[4];if(f){lwe(t,Xor);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,yor)}),t,o),lwe(t,Gor)}else lwe(t,Jor);return gx(Bwe(t),qor),gx(Bwe(t),zor)})),XB(DTe,(function(r,e,t){var n=Bx(vTe,r,e);return Bx(Swe(hor),n,t)}));var pTe=[0,fTe,oTe,sTe,lTe,vTe,DTe],bTe=function r(e,t,n,u){return r.fun(e,t,n,u)},FTe=function r(e,t,n){return r.fun(e,t,n)};XB(bTe,(function(r,e,t,n){gx(Bwe(t),oor),Bx(Bwe(t),lor,sor);var u=n[1];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vor),gx(Bwe(t),Dor),Bx(Bwe(t),bor,por);var a=n[2];if(a){lwe(t,For);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,cor)}),t,i),lwe(t,mor)}else lwe(t,dor);return gx(Bwe(t),Eor),gx(Bwe(t),kor)})),XB(FTe,(function(r,e,t){var n=Bx(bTe,r,e);return Bx(Swe(ior),n,t)}));var mTe=[0,bTe,FTe],dTe=function r(e,t,n){return r.fun(e,t,n)},ETe=function r(e,t){return r.fun(e,t)},kTe=function r(e,t,n){return r.fun(e,t,n)},hTe=function r(e,t){return r.fun(e,t)};XB(dTe,(function(r,e,t){gx(Bwe(e),nor),Bx(r,e,t[1]),gx(Bwe(e),uor);var n=t[2];return Sx(kTe,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),aor)})),XB(ETe,(function(r,e){var t=gx(dTe,r);return Bx(Swe(tor),t,e)})),XB(kTe,(function(r,e,t){gx(Bwe(e),qfr),Bx(Bwe(e),Wfr,zfr);var n=t[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),Vfr),gx(Bwe(e),$fr),Bx(Bwe(e),Hfr,Yfr);var u=t[2];if(u){lwe(e,Kfr);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,a),lwe(e,Qfr)}else lwe(e,Zfr);return gx(Bwe(e),ror),gx(Bwe(e),eor)})),XB(hTe,(function(r,e){var t=gx(kTe,r);return Bx(Swe(Jfr),t,e)}));var yTe=[0,dTe,ETe,kTe,hTe],CTe=function r(e,t,n,u){return r.fun(e,t,n,u)},wTe=function r(e,t,n){return r.fun(e,t,n)},ATe=function r(e,t,n){return r.fun(e,t,n)},_Te=function r(e,t){return r.fun(e,t)};XB(CTe,(function(r,e,t,n){gx(Bwe(t),cfr),Bx(Bwe(t),ofr,ffr);var u=n[1];if(u){lwe(t,sfr);var a=u[1];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,lfr)}else lwe(t,vfr);gx(Bwe(t),Dfr),gx(Bwe(t),pfr),Bx(Bwe(t),Ffr,bfr);var i=n[2];if(i){lwe(t,mfr);var c=i[1];Sx(ATe,(function(e){return gx(r,e)}),t,c),lwe(t,dfr)}else lwe(t,Efr);gx(Bwe(t),kfr),gx(Bwe(t),hfr),Bx(Bwe(t),Cfr,yfr);var f=n[3];if(f){var o=f[1];lwe(t,wfr),gx(Bwe(t),Afr),Bx(r,t,o[1]),gx(Bwe(t),_fr);var s=o[2];Sx(UAe[1],(function(e){return gx(r,e)}),t,s),gx(Bwe(t),gfr),lwe(t,Bfr)}else lwe(t,Sfr);gx(Bwe(t),xfr),gx(Bwe(t),Tfr),Bx(Bwe(t),Nfr,Ifr),Bx(VAe[33],t,n[4]),gx(Bwe(t),Ofr),gx(Bwe(t),Lfr),Bx(Bwe(t),Rfr,Pfr);var l=n[5];if(l){lwe(t,Mfr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ifr)}),t,v),lwe(t,jfr)}else lwe(t,Ufr);return gx(Bwe(t),Xfr),gx(Bwe(t),Gfr)})),XB(wTe,(function(r,e,t){var n=Bx(CTe,r,e);return Bx(Swe(afr),n,t)})),XB(ATe,(function(r,e,t){if(0===t[0]){gx(Bwe(e),Ycr),gx(Bwe(e),Hcr);return Sye((function(t,n){return t&&gx(Bwe(e),$cr),Sx(yTe[1],(function(e){return gx(r,e)}),e,n),1}),0,t[1]),gx(Bwe(e),Kcr),gx(Bwe(e),Qcr)}var n=t[2];if(gx(Bwe(e),Zcr),Bx(r,e,t[1]),gx(Bwe(e),rfr),n){lwe(e,efr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,u),lwe(e,tfr)}else lwe(e,nfr);return gx(Bwe(e),ufr)})),XB(_Te,(function(r,e){var t=gx(ATe,r);return Bx(Swe(Vcr),t,e)}));var gTe=[0,yTe,CTe,wTe,ATe,_Te],BTe=function r(e,t,n,u){return r.fun(e,t,n,u)},STe=function r(e,t,n){return r.fun(e,t,n)},xTe=function r(e,t,n,u){return r.fun(e,t,n,u)},TTe=function r(e,t,n){return r.fun(e,t,n)};XB(BTe,(function(r,e,t,n){gx(Bwe(t),Tcr),Bx(Bwe(t),Ncr,Icr),Bx(r,t,n[1]),gx(Bwe(t),Ocr),gx(Bwe(t),Lcr),Bx(Bwe(t),Rcr,Pcr);var u=n[2];xx(xTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Mcr),gx(Bwe(t),jcr),Bx(Bwe(t),Xcr,Ucr);var a=n[3];if(a){lwe(t,Gcr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,xcr)}),t,i),lwe(t,Jcr)}else lwe(t,qcr);return gx(Bwe(t),zcr),gx(Bwe(t),Wcr)})),XB(STe,(function(r,e,t){var n=Bx(BTe,r,e);return Bx(Swe(Scr),n,t)})),XB(xTe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),Acr);var u=n[1];return xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),_cr)}gx(Bwe(t),gcr);var a=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Bcr)})),XB(TTe,(function(r,e,t){var n=Bx(xTe,r,e);return Bx(Swe(wcr),n,t)}));var ITe=[0,BTe,STe,xTe,TTe],NTe=function r(e,t,n,u){return r.fun(e,t,n,u)},OTe=function r(e,t,n){return r.fun(e,t,n)},LTe=function r(e,t,n,u){return r.fun(e,t,n,u)},PTe=function r(e,t,n){return r.fun(e,t,n)};XB(NTe,(function(r,e,t,n){switch(n[0]){case 0:var u=n[1];gx(Bwe(t),Wir),gx(Bwe(t),Vir),Bx(r,t,u[1]),gx(Bwe(t),$ir);var a=u[2];return xx(uTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Yir),gx(Bwe(t),Hir);case 1:var i=n[1];gx(Bwe(t),Kir),gx(Bwe(t),Qir),Bx(r,t,i[1]),gx(Bwe(t),Zir);var c=i[2];return xx(cTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),rcr),gx(Bwe(t),ecr);case 2:var f=n[1];gx(Bwe(t),tcr),gx(Bwe(t),ncr),Bx(r,t,f[1]),gx(Bwe(t),ucr);var o=f[2];return xx(eTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),acr),gx(Bwe(t),icr);case 3:gx(Bwe(t),ccr);var s=n[1];return xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),fcr);case 4:var l=n[1];gx(Bwe(t),ocr),gx(Bwe(t),scr),Bx(r,t,l[1]),gx(Bwe(t),lcr);var v=l[2];return xx(FSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),vcr),gx(Bwe(t),Dcr);case 5:var D=n[1];gx(Bwe(t),pcr),gx(Bwe(t),bcr),Bx(r,t,D[1]),gx(Bwe(t),Fcr);var p=D[2];return xx(ESe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),gx(Bwe(t),mcr),gx(Bwe(t),dcr);default:var b=n[1];gx(Bwe(t),Ecr),gx(Bwe(t),kcr),Bx(r,t,b[1]),gx(Bwe(t),hcr);var F=b[2];return xx(Qxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,F),gx(Bwe(t),ycr),gx(Bwe(t),Ccr)}})),XB(OTe,(function(r,e,t){var n=Bx(NTe,r,e);return Bx(Swe(zir),n,t)})),XB(LTe,(function(r,e,t,n){gx(Bwe(t),iir),Bx(Bwe(t),fir,cir);var u=n[1];u?(lwe(t,oir),Bx(r,t,u[1]),lwe(t,sir)):lwe(t,lir),gx(Bwe(t),vir),gx(Bwe(t),Dir),Bx(Bwe(t),bir,pir);var a=n[2];if(a){lwe(t,Fir);var i=a[1];xx(NTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,mir)}else lwe(t,dir);gx(Bwe(t),Eir),gx(Bwe(t),kir),Bx(Bwe(t),yir,hir);var c=n[3];if(c){lwe(t,Cir);var f=c[1];Sx(gTe[4],(function(e){return gx(r,e)}),t,f),lwe(t,wir)}else lwe(t,Air);gx(Bwe(t),_ir),gx(Bwe(t),gir),Bx(Bwe(t),Sir,Bir);var o=n[4];if(o){var s=o[1];lwe(t,xir),gx(Bwe(t),Tir),Bx(r,t,s[1]),gx(Bwe(t),Iir);var l=s[2];Sx(UAe[1],(function(e){return gx(r,e)}),t,l),gx(Bwe(t),Nir),lwe(t,Oir)}else lwe(t,Lir);gx(Bwe(t),Pir),gx(Bwe(t),Rir),Bx(Bwe(t),jir,Mir);var v=n[5];if(v){lwe(t,Uir);var D=v[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,air)}),t,D),lwe(t,Xir)}else lwe(t,Gir);return gx(Bwe(t),Jir),gx(Bwe(t),qir)})),XB(PTe,(function(r,e,t){var n=Bx(LTe,r,e);return Bx(Swe(uir),n,t)}));var RTe=[0,NTe,OTe,LTe,PTe],MTe=function r(e,t){return r.fun(e,t)},jTe=function r(e){return r.fun(e)},UTe=function r(e,t,n,u){return r.fun(e,t,n,u)},XTe=function r(e,t,n){return r.fun(e,t,n)},GTe=function r(e,t,n,u){return r.fun(e,t,n,u)},JTe=function r(e,t,n){return r.fun(e,t,n)},qTe=function r(e,t,n,u){return r.fun(e,t,n,u)},zTe=function r(e,t,n){return r.fun(e,t,n)};XB(MTe,(function(r,e){switch(e){case 0:return lwe(r,eir);case 1:return lwe(r,tir);default:return lwe(r,nir)}})),XB(jTe,(function(r){return Bx(Swe(rir),MTe,r)})),XB(UTe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),zar),gx(Bwe(t),War);return Sye((function(n,u){return n&&gx(Bwe(t),qar),xx(GTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,n[1]),gx(Bwe(t),Var),gx(Bwe(t),$ar)}var u=n[1];gx(Bwe(t),Yar),gx(Bwe(t),Har),Bx(r,t,u[1]),gx(Bwe(t),Kar);var a=u[2];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Qar),gx(Bwe(t),Zar)})),XB(XTe,(function(r,e,t){var n=Bx(UTe,r,e);return Bx(Swe(Jar),n,t)})),XB(GTe,(function(r,e,t,n){gx(Bwe(t),war),Bx(Bwe(t),_ar,Aar);var u=n[1];u?(lwe(t,gar),Bx(MTe,t,u[1]),lwe(t,Bar)):lwe(t,Sar),gx(Bwe(t),xar),gx(Bwe(t),Tar),Bx(Bwe(t),Nar,Iar);var a=n[2];if(a){lwe(t,Oar);var i=a[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,Lar)}else lwe(t,Par);gx(Bwe(t),Rar),gx(Bwe(t),Mar),Bx(Bwe(t),Uar,jar);var c=n[3];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),Xar),gx(Bwe(t),Gar)})),XB(JTe,(function(r,e,t){var n=Bx(GTe,r,e);return Bx(Swe(Car),n,t)})),XB(qTe,(function(r,e,t,n){gx(Bwe(t),Jur),Bx(Bwe(t),zur,qur),Bx(MTe,t,n[1]),gx(Bwe(t),Wur),gx(Bwe(t),Vur),Bx(Bwe(t),Yur,$ur);var u=n[2];gx(Bwe(t),Hur),Bx(r,t,u[1]),gx(Bwe(t),Kur);var a=u[2];Sx(UAe[1],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),Qur),gx(Bwe(t),Zur),gx(Bwe(t),rar),Bx(Bwe(t),tar,ear);var i=n[3];if(i){lwe(t,nar);var c=i[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,uar)}else lwe(t,aar);gx(Bwe(t),iar),gx(Bwe(t),car),Bx(Bwe(t),oar,far);var f=n[4];if(f){lwe(t,sar);var o=f[1];xx(UTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),lwe(t,lar)}else lwe(t,Dar);gx(Bwe(t),par),gx(Bwe(t),bar),Bx(Bwe(t),mar,Far);var s=n[5];if(s){lwe(t,dar);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Gur)}),t,l),lwe(t,Ear)}else lwe(t,kar);return gx(Bwe(t),har),gx(Bwe(t),yar)})),XB(zTe,(function(r,e,t){var n=Bx(qTe,r,e);return Bx(Swe(Xur),n,t)}));var WTe=[0,MTe,jTe,UTe,XTe,GTe,JTe,qTe,zTe],VTe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Te=function r(e,t,n){return r.fun(e,t,n)};XB(VTe,(function(r,e,t,n){gx(Bwe(t),hur),Bx(Bwe(t),Cur,yur);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),wur),gx(Bwe(t),Aur),Bx(Bwe(t),gur,_ur);var a=n[2];if(a){lwe(t,Bur);var i=a[1];Bx(Bwe(t),Sur,i),lwe(t,xur)}else lwe(t,Tur);gx(Bwe(t),Iur),gx(Bwe(t),Nur),Bx(Bwe(t),Lur,Our);var c=n[3];if(c){lwe(t,Pur);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,kur)}),t,f),lwe(t,Rur)}else lwe(t,Mur);return gx(Bwe(t),jur),gx(Bwe(t),Uur)})),XB($Te,(function(r,e,t){var n=Bx(VTe,r,e);return Bx(Swe(Eur),n,t)}));var YTe=[0,VTe,$Te],HTe=function r(e,t,n){return r.fun(e,t,n)},KTe=function r(e,t){return r.fun(e,t)};XB(HTe,(function(r,e,t){gx(Bwe(e),lur),Bx(Bwe(e),Dur,vur);var n=t[1];if(n){lwe(e,pur);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,sur)}),e,u),lwe(e,bur)}else lwe(e,Fur);return gx(Bwe(e),mur),gx(Bwe(e),dur)})),XB(KTe,(function(r,e){var t=gx(HTe,r);return Bx(Swe(our),t,e)}));var QTe=[0,HTe,KTe],ZTe=function r(e,t){return r.fun(e,t)},rIe=function r(e){return r.fun(e)},eIe=function r(e,t,n,u){return r.fun(e,t,n,u)},tIe=function r(e,t,n){return r.fun(e,t,n)},nIe=function r(e,t,n,u){return r.fun(e,t,n,u)},uIe=function r(e,t,n){return r.fun(e,t,n)};XB(ZTe,(function(r,e){return lwe(r,0===e?fur:cur)})),XB(rIe,(function(r){return Bx(Swe(iur),ZTe,r)})),XB(eIe,(function(r,e,t,n){gx(Bwe(t),nur),Bx(r,t,n[1]),gx(Bwe(t),uur);var u=n[2];return xx(nIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),aur)})),XB(tIe,(function(r,e,t){var n=Bx(eIe,r,e);return Bx(Swe(tur),n,t)})),XB(nIe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),Ptr);var u=n[1];return xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Rtr);case 1:gx(Bwe(t),Mtr);var a=n[1];return Sx(uSe[1],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),jtr);case 2:gx(Bwe(t),Utr);var i=n[1];return xx(QAe[8],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Xtr);case 3:gx(Bwe(t),Gtr);var c=n[1];return Sx(cSe[1],(function(e){return gx(r,e)}),t,c),gx(Bwe(t),Jtr);case 4:gx(Bwe(t),qtr);var f=n[1];return Sx(sSe[1],(function(e){return gx(r,e)}),t,f),gx(Bwe(t),ztr);case 5:gx(Bwe(t),Wtr);var o=n[1];return xx(eTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),Vtr);case 6:gx(Bwe(t),$tr);var s=n[1];return xx(RTe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),Ytr);case 7:gx(Bwe(t),Htr);var l=n[1];return xx(cTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,l),gx(Bwe(t),Ktr);case 8:gx(Bwe(t),Qtr);var v=n[1];return xx(Qxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),Ztr);case 9:gx(Bwe(t),rnr);var D=n[1];return xx(pTe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,D),gx(Bwe(t),enr);case 10:gx(Bwe(t),tnr);var p=n[1];return xx(mTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),gx(Bwe(t),nnr);case 11:gx(Bwe(t),unr);var b=n[1];return xx(FSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,b),gx(Bwe(t),anr);case 12:gx(Bwe(t),inr);var F=n[1];return xx(ESe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,F),gx(Bwe(t),cnr);case 13:gx(Bwe(t),fnr);var m=n[1];return xx(uTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,m),gx(Bwe(t),onr);case 14:gx(Bwe(t),snr);var d=n[1];return xx(nxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,d),gx(Bwe(t),lnr);case 15:gx(Bwe(t),vnr);var E=n[1];return Sx(QTe[1],(function(e){return gx(r,e)}),t,E),gx(Bwe(t),Dnr);case 16:gx(Bwe(t),pnr);var k=n[1];return xx(Yxe[7],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,k),gx(Bwe(t),bnr);case 17:gx(Bwe(t),Fnr);var h=n[1];return xx(ITe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,h),gx(Bwe(t),mnr);case 18:gx(Bwe(t),dnr);var y=n[1];return xx(gTe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,y),gx(Bwe(t),Enr);case 19:gx(Bwe(t),knr);var C=n[1];return xx(YTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,C),gx(Bwe(t),hnr);case 20:gx(Bwe(t),ynr);var w=n[1];return xx(fxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,w),gx(Bwe(t),Cnr);case 21:gx(Bwe(t),wnr);var A=n[1];return xx(Dxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,A),gx(Bwe(t),Anr);case 22:gx(Bwe(t),_nr);var _=n[1];return xx(dxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,_),gx(Bwe(t),gnr);case 23:gx(Bwe(t),Bnr);var g=n[1];return xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,g),gx(Bwe(t),Snr);case 24:gx(Bwe(t),xnr);var B=n[1];return xx(QBe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,B),gx(Bwe(t),Tnr);case 25:gx(Bwe(t),Inr);var S=n[1];return xx(WTe[7],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,S),gx(Bwe(t),Nnr);case 26:gx(Bwe(t),Onr);var x=n[1];return xx(Qxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,x),gx(Bwe(t),Lnr);case 27:gx(Bwe(t),Pnr);var T=n[1];return xx(eSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,T),gx(Bwe(t),Rnr);case 28:gx(Bwe(t),Mnr);var I=n[1];return xx(xSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,I),gx(Bwe(t),jnr);case 29:gx(Bwe(t),Unr);var N=n[1];return xx(gSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,N),gx(Bwe(t),Xnr);case 30:gx(Bwe(t),Gnr);var O=n[1];return xx(NSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,O),gx(Bwe(t),Jnr);case 31:gx(Bwe(t),qnr);var L=n[1];return xx(XSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,L),gx(Bwe(t),znr);case 32:gx(Bwe(t),Wnr);var P=n[1];return xx(FSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,P),gx(Bwe(t),Vnr);case 33:gx(Bwe(t),$nr);var R=n[1];return xx(ESe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,R),gx(Bwe(t),Ynr);case 34:gx(Bwe(t),Hnr);var M=n[1];return xx(KSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,M),gx(Bwe(t),Knr);case 35:gx(Bwe(t),Qnr);var j=n[1];return xx(rxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,j),gx(Bwe(t),Znr);default:gx(Bwe(t),rur);var U=n[1];return xx(DSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,U),gx(Bwe(t),eur)}})),XB(uIe,(function(r,e,t){var n=Bx(nIe,r,e);return Bx(Swe(Ltr),n,t)})),Sx(eAe,KJr,VAe,[0,qBe,QBe,eSe,uSe,cSe,sSe,DSe,FSe,ESe,gSe,xSe,NSe,XSe,KSe,rxe,nxe,fxe,Dxe,dxe,Yxe,Qxe,eTe,uTe,cTe,pTe,mTe,gTe,ITe,RTe,WTe,YTe,QTe,ZTe,rIe,eIe,tIe,nIe,uIe]);var aIe=function r(e,t,n,u){return r.fun(e,t,n,u)},iIe=function r(e,t,n){return r.fun(e,t,n)},cIe=function r(e,t,n){return r.fun(e,t,n)},fIe=function r(e,t){return r.fun(e,t)};XB(aIe,(function(r,e,t,n){gx(Bwe(t),Itr),Bx(e,t,n[1]),gx(Bwe(t),Ntr);var u=n[2];return Sx(cIe,(function(e){return gx(r,e)}),t,u),gx(Bwe(t),Otr)})),XB(iIe,(function(r,e,t){var n=Bx(aIe,r,e);return Bx(Swe(Ttr),n,t)})),XB(cIe,(function(r,e,t){gx(Bwe(e),Ctr),Bx(Bwe(e),Atr,wtr);var n=t[1];if(n){lwe(e,_tr);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ytr)}),e,u),lwe(e,gtr)}else lwe(e,Btr);return gx(Bwe(e),Str),gx(Bwe(e),xtr)})),XB(fIe,(function(r,e){var t=gx(cIe,r);return Bx(Swe(htr),t,e)}));var oIe=[0,aIe,iIe,cIe,fIe],sIe=function r(e,t,n,u){return r.fun(e,t,n,u)},lIe=function r(e,t,n){return r.fun(e,t,n)};XB(sIe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),mtr);var u=n[1];return xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),dtr)}gx(Bwe(t),Etr);var a=n[1];return xx(oIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),ktr)})),XB(lIe,(function(r,e,t){var n=Bx(sIe,r,e);return Bx(Swe(Ftr),n,t)}));var vIe=[0,oIe,sIe,lIe],DIe=function r(e,t,n,u){return r.fun(e,t,n,u)},pIe=function r(e,t,n){return r.fun(e,t,n)},bIe=function r(e,t,n,u){return r.fun(e,t,n,u)},FIe=function r(e,t,n){return r.fun(e,t,n)};XB(DIe,(function(r,e,t,n){gx(Bwe(t),Dtr),Bx(r,t,n[1]),gx(Bwe(t),ptr);var u=n[2];return xx(bIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),btr)})),XB(pIe,(function(r,e,t){var n=Bx(DIe,r,e);return Bx(Swe(vtr),n,t)})),XB(bIe,(function(r,e,t,n){gx(Bwe(t),Qer),Bx(Bwe(t),rtr,Zer);var u=n[1];gx(Bwe(t),etr);Sye((function(n,u){return n&&gx(Bwe(t),Ker),xx(vIe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),ttr),gx(Bwe(t),ntr),gx(Bwe(t),utr),Bx(Bwe(t),itr,atr);var a=n[2];if(a){lwe(t,ctr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),Yer);return Sye((function(t,n){return t&&gx(Bwe(e),$er),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),Her)}),t,i),lwe(t,ftr)}else lwe(t,otr);return gx(Bwe(t),str),gx(Bwe(t),ltr)})),XB(FIe,(function(r,e,t){var n=Bx(bIe,r,e);return Bx(Swe(Ver),n,t)}));var mIe=function r(e,t,n,u){return r.fun(e,t,n,u)},dIe=function r(e,t,n){return r.fun(e,t,n)},EIe=function r(e,t,n,u){return r.fun(e,t,n,u)},kIe=function r(e,t,n){return r.fun(e,t,n)},hIe=[0,DIe,pIe,bIe,FIe];XB(mIe,(function(r,e,t,n){gx(Bwe(t),qer),Bx(r,t,n[1]),gx(Bwe(t),zer);var u=n[2];return xx(EIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Wer)})),XB(dIe,(function(r,e,t){var n=Bx(mIe,r,e);return Bx(Swe(Jer),n,t)})),XB(EIe,(function(r,e,t,n){gx(Bwe(t),Ter),Bx(Bwe(t),Ner,Ier);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Oer),gx(Bwe(t),Ler),Bx(Bwe(t),Rer,Per);var a=n[2];if(a){lwe(t,Mer);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,xer)}),t,i),lwe(t,jer)}else lwe(t,Uer);return gx(Bwe(t),Xer),gx(Bwe(t),Ger)})),XB(kIe,(function(r,e,t){var n=Bx(EIe,r,e);return Bx(Swe(Ser),n,t)}));var yIe=[0,mIe,dIe,EIe,kIe],CIe=function r(e,t,n,u){return r.fun(e,t,n,u)},wIe=function r(e,t,n){return r.fun(e,t,n)};XB(CIe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),Cer);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),wer);case 1:gx(Bwe(t),Aer);var a=n[1];return xx(yIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),_er);default:return gx(Bwe(t),ger),Bx(r,t,n[1]),gx(Bwe(t),Ber)}})),XB(wIe,(function(r,e,t){var n=Bx(CIe,r,e);return Bx(Swe(yer),n,t)}));var AIe=function r(e,t,n,u){return r.fun(e,t,n,u)},_Ie=function r(e,t,n){return r.fun(e,t,n)};XB(AIe,(function(r,e,t,n){gx(Bwe(t),fer),Bx(Bwe(t),ser,oer);var u=n[1];gx(Bwe(t),ler);Sye((function(n,u){return n&&gx(Bwe(t),cer),xx(CIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),ver),gx(Bwe(t),Der),gx(Bwe(t),per),Bx(Bwe(t),Fer,ber);var a=n[2];if(a){lwe(t,mer);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),aer);return Sye((function(t,n){return t&&gx(Bwe(e),uer),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),ier)}),t,i),lwe(t,der)}else lwe(t,Eer);return gx(Bwe(t),ker),gx(Bwe(t),her)})),XB(_Ie,(function(r,e,t){var n=Bx(AIe,r,e);return Bx(Swe(ner),n,t)}));var gIe=[0,CIe,wIe,AIe,_Ie],BIe=function r(e,t){return r.fun(e,t)},SIe=function r(e){return r.fun(e)},xIe=function r(e,t,n){return r.fun(e,t,n)},TIe=function r(e,t){return r.fun(e,t)},IIe=function r(e,t){return r.fun(e,t)},NIe=function r(e){return r.fun(e)};XB(BIe,(function(r,e){gx(Bwe(r),Wrr),Bx(Bwe(r),$rr,Vrr);var t=e[1];Bx(Bwe(r),Yrr,t),gx(Bwe(r),Hrr),gx(Bwe(r),Krr),Bx(Bwe(r),Zrr,Qrr);var n=e[2];return Bx(Bwe(r),rer,n),gx(Bwe(r),eer),gx(Bwe(r),ter)})),XB(SIe,(function(r){return Bx(Swe(zrr),BIe,r)})),XB(xIe,(function(r,e,t){return gx(Bwe(e),Grr),Bx(r,e,t[1]),gx(Bwe(e),Jrr),Bx(IIe,e,t[2]),gx(Bwe(e),qrr)})),XB(TIe,(function(r,e){var t=gx(xIe,r);return Bx(Swe(Xrr),t,e)})),XB(IIe,(function(r,e){gx(Bwe(r),Trr),Bx(Bwe(r),Nrr,Irr),Bx(BIe,r,e[1]),gx(Bwe(r),Orr),gx(Bwe(r),Lrr),Bx(Bwe(r),Rrr,Prr);var t=e[2];return Bx(Bwe(r),Mrr,t),gx(Bwe(r),jrr),gx(Bwe(r),Urr)})),XB(NIe,(function(r){return Bx(Swe(xrr),IIe,r)}));var OIe=[0,BIe,SIe,xIe,TIe,IIe,NIe],LIe=function r(e,t,n,u){return r.fun(e,t,n,u)},PIe=function r(e,t,n){return r.fun(e,t,n)};XB(LIe,(function(r,e,t,n){gx(Bwe(t),srr),Bx(Bwe(t),vrr,lrr);var u=n[1];gx(Bwe(t),Drr);Sye((function(e,n){return e&&gx(Bwe(t),orr),Sx(OIe[3],(function(e){return gx(r,e)}),t,n),1}),0,u),gx(Bwe(t),prr),gx(Bwe(t),brr),gx(Bwe(t),Frr),Bx(Bwe(t),drr,mrr);var a=n[2];gx(Bwe(t),Err);Sye((function(n,u){return n&&gx(Bwe(t),frr),xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,a),gx(Bwe(t),krr),gx(Bwe(t),hrr),gx(Bwe(t),yrr),Bx(Bwe(t),wrr,Crr);var i=n[3];if(i){lwe(t,Arr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,crr)}),t,c),lwe(t,_rr)}else lwe(t,grr);return gx(Bwe(t),Brr),gx(Bwe(t),Srr)})),XB(PIe,(function(r,e,t){var n=Bx(LIe,r,e);return Bx(Swe(irr),n,t)}));var RIe=[0,OIe,LIe,PIe],MIe=function r(e,t,n,u){return r.fun(e,t,n,u)},jIe=function r(e,t,n){return r.fun(e,t,n)};XB(MIe,(function(r,e,t,n){gx(Bwe(t),X9),Bx(Bwe(t),J9,G9);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),q9),gx(Bwe(t),z9),Bx(Bwe(t),V9,W9);var a=n[2];gx(Bwe(t),$9),Bx(r,t,a[1]),gx(Bwe(t),Y9);var i=a[2];xx(RIe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),H9),gx(Bwe(t),K9),gx(Bwe(t),Q9),Bx(Bwe(t),rrr,Z9);var c=n[3];if(c){lwe(t,err);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,U9)}),t,f),lwe(t,trr)}else lwe(t,nrr);return gx(Bwe(t),urr),gx(Bwe(t),arr)})),XB(jIe,(function(r,e,t){var n=Bx(MIe,r,e);return Bx(Swe(j9),n,t)}));var UIe=[0,MIe,jIe],XIe=function r(e,t,n,u){return r.fun(e,t,n,u)},GIe=function r(e,t,n){return r.fun(e,t,n)},JIe=function r(e,t,n,u){return r.fun(e,t,n,u)},qIe=function r(e,t,n){return r.fun(e,t,n)},zIe=function r(e,t,n,u){return r.fun(e,t,n,u)},WIe=function r(e,t,n){return r.fun(e,t,n)};XB(XIe,(function(r,e,t,n){switch(n[0]){case 0:var u=n[1];gx(Bwe(t),B9),gx(Bwe(t),S9),Bx(e,t,u[1]),gx(Bwe(t),x9);var a=u[2];return Sx(jAe[2],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),T9),gx(Bwe(t),I9);case 1:gx(Bwe(t),N9);var i=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),O9);case 2:gx(Bwe(t),L9);var c=n[1];return Sx(MAe[1],(function(e){return gx(r,e)}),t,c),gx(Bwe(t),P9);default:gx(Bwe(t),R9);var f=n[1];return xx(zAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),M9)}})),XB(GIe,(function(r,e,t){var n=Bx(XIe,r,e);return Bx(Swe(g9),n,t)})),XB(JIe,(function(r,e,t,n){gx(Bwe(t),w9),Bx(r,t,n[1]),gx(Bwe(t),A9);var u=n[2];return xx(zIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),_9)})),XB(qIe,(function(r,e,t){var n=Bx(JIe,r,e);return Bx(Swe(C9),n,t)})),XB(zIe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),D5),Bx(Bwe(t),b5,p5);var u=n[1];xx(XIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),F5),gx(Bwe(t),m5),Bx(Bwe(t),E5,d5);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),k5),gx(Bwe(t),h5),Bx(Bwe(t),C5,y5);var i=n[3];return Bx(Bwe(t),w5,i),gx(Bwe(t),A5),gx(Bwe(t),_5);case 1:var c=n[2];gx(Bwe(t),g5),Bx(Bwe(t),S5,B5);var f=n[1];xx(XIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),x5),gx(Bwe(t),T5),Bx(Bwe(t),N5,I5),gx(Bwe(t),O5),Bx(r,t,c[1]),gx(Bwe(t),L5);var o=c[2];return xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),P5),gx(Bwe(t),R5),gx(Bwe(t),M5);case 2:var s=n[3],l=n[2];gx(Bwe(t),j5),Bx(Bwe(t),X5,U5);var v=n[1];xx(XIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),G5),gx(Bwe(t),J5),Bx(Bwe(t),z5,q5),gx(Bwe(t),W5),Bx(r,t,l[1]),gx(Bwe(t),V5);var D=l[2];if(xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,D),gx(Bwe(t),$5),gx(Bwe(t),Y5),gx(Bwe(t),H5),Bx(Bwe(t),Q5,K5),s){lwe(t,Z5);var p=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,v5)}),t,p),lwe(t,r9)}else lwe(t,e9);return gx(Bwe(t),t9),gx(Bwe(t),n9);default:var b=n[3],F=n[2];gx(Bwe(t),u9),Bx(Bwe(t),i9,a9);var m=n[1];xx(XIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,m),gx(Bwe(t),c9),gx(Bwe(t),f9),Bx(Bwe(t),s9,o9),gx(Bwe(t),l9),Bx(r,t,F[1]),gx(Bwe(t),v9);var d=F[2];if(xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,d),gx(Bwe(t),D9),gx(Bwe(t),p9),gx(Bwe(t),b9),Bx(Bwe(t),m9,F9),b){lwe(t,d9);var E=b[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,l5)}),t,E),lwe(t,E9)}else lwe(t,k9);return gx(Bwe(t),h9),gx(Bwe(t),y9)}})),XB(WIe,(function(r,e,t){var n=Bx(zIe,r,e);return Bx(Swe(s5),n,t)}));var VIe=[0,XIe,GIe,JIe,qIe,zIe,WIe],$Ie=function r(e,t,n,u){return r.fun(e,t,n,u)},YIe=function r(e,t,n){return r.fun(e,t,n)},HIe=function r(e,t,n,u){return r.fun(e,t,n,u)},KIe=function r(e,t,n){return r.fun(e,t,n)};XB($Ie,(function(r,e,t,n){gx(Bwe(t),c5),Bx(r,t,n[1]),gx(Bwe(t),f5);var u=n[2];return xx(HIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),o5)})),XB(YIe,(function(r,e,t){var n=Bx($Ie,r,e);return Bx(Swe(i5),n,t)})),XB(HIe,(function(r,e,t,n){gx(Bwe(t),$6),Bx(Bwe(t),H6,Y6);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),K6),gx(Bwe(t),Q6),Bx(Bwe(t),r5,Z6);var a=n[2];if(a){lwe(t,e5);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,V6)}),t,i),lwe(t,t5)}else lwe(t,n5);return gx(Bwe(t),u5),gx(Bwe(t),a5)})),XB(KIe,(function(r,e,t){var n=Bx(HIe,r,e);return Bx(Swe(W6),n,t)}));var QIe=[0,$Ie,YIe,HIe,KIe],ZIe=function r(e,t,n,u){return r.fun(e,t,n,u)},rNe=function r(e,t,n){return r.fun(e,t,n)},eNe=function r(e,t,n,u){return r.fun(e,t,n,u)},tNe=function r(e,t,n){return r.fun(e,t,n)};XB(ZIe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),G6);var u=n[1];return xx(VIe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),J6)}gx(Bwe(t),q6);var a=n[1];return xx(QIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),z6)})),XB(rNe,(function(r,e,t){var n=Bx(ZIe,r,e);return Bx(Swe(X6),n,t)})),XB(eNe,(function(r,e,t,n){gx(Bwe(t),g6),Bx(Bwe(t),S6,B6);var u=n[1];gx(Bwe(t),x6);Sye((function(n,u){return n&&gx(Bwe(t),_6),xx(ZIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),T6),gx(Bwe(t),I6),gx(Bwe(t),N6),Bx(Bwe(t),L6,O6);var a=n[2];if(a){lwe(t,P6);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),w6);return Sye((function(t,n){return t&&gx(Bwe(e),C6),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),A6)}),t,i),lwe(t,R6)}else lwe(t,M6);return gx(Bwe(t),j6),gx(Bwe(t),U6)})),XB(tNe,(function(r,e,t){var n=Bx(eNe,r,e);return Bx(Swe(y6),n,t)}));var nNe=[0,VIe,QIe,ZIe,rNe,eNe,tNe],uNe=function r(e,t,n,u){return r.fun(e,t,n,u)},aNe=function r(e,t,n){return r.fun(e,t,n)};XB(uNe,(function(r,e,t,n){gx(Bwe(t),f6),Bx(Bwe(t),s6,o6);var u=n[1];gx(Bwe(t),l6);Sye((function(n,u){return n&&gx(Bwe(t),c6),xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),v6),gx(Bwe(t),D6),gx(Bwe(t),p6),Bx(Bwe(t),F6,b6);var a=n[2];if(a){lwe(t,m6);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,i6)}),t,i),lwe(t,d6)}else lwe(t,E6);return gx(Bwe(t),k6),gx(Bwe(t),h6)})),XB(aNe,(function(r,e,t){var n=Bx(uNe,r,e);return Bx(Swe(a6),n,t)}));var iNe=[0,uNe,aNe],cNe=function r(e,t){return r.fun(e,t)},fNe=function r(e){return r.fun(e)},oNe=function r(e,t,n,u){return r.fun(e,t,n,u)},sNe=function r(e,t,n){return r.fun(e,t,n)};XB(cNe,(function(r,e){switch(e){case 0:return lwe(r,K4);case 1:return lwe(r,Q4);case 2:return lwe(r,Z4);case 3:return lwe(r,r6);case 4:return lwe(r,e6);case 5:return lwe(r,t6);case 6:return lwe(r,n6);default:return lwe(r,u6)}})),XB(fNe,(function(r){return Bx(Swe(H4),cNe,r)})),XB(oNe,(function(r,e,t,n){gx(Bwe(t),O4),Bx(Bwe(t),P4,L4),Bx(cNe,t,n[1]),gx(Bwe(t),R4),gx(Bwe(t),M4),Bx(Bwe(t),U4,j4);var u=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),X4),gx(Bwe(t),G4),Bx(Bwe(t),q4,J4);var a=n[3];if(a){lwe(t,z4);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,N4)}),t,i),lwe(t,W4)}else lwe(t,V4);return gx(Bwe(t),$4),gx(Bwe(t),Y4)})),XB(sNe,(function(r,e,t){var n=Bx(oNe,r,e);return Bx(Swe(I4),n,t)}));var lNe=[0,cNe,fNe,oNe,sNe],vNe=function r(e,t){return r.fun(e,t)},DNe=function r(e){return r.fun(e)},pNe=function r(e,t,n,u){return r.fun(e,t,n,u)},bNe=function r(e,t,n){return r.fun(e,t,n)};XB(vNe,(function(r,e){switch(e){case 0:return lwe(r,s4);case 1:return lwe(r,l4);case 2:return lwe(r,v4);case 3:return lwe(r,D4);case 4:return lwe(r,p4);case 5:return lwe(r,b4);case 6:return lwe(r,F4);case 7:return lwe(r,m4);case 8:return lwe(r,d4);case 9:return lwe(r,E4);case 10:return lwe(r,k4);case 11:return lwe(r,h4);case 12:return lwe(r,y4);case 13:return lwe(r,C4);case 14:return lwe(r,w4);case 15:return lwe(r,A4);case 16:return lwe(r,_4);case 17:return lwe(r,g4);case 18:return lwe(r,B4);case 19:return lwe(r,S4);case 20:return lwe(r,x4);default:return lwe(r,T4)}})),XB(DNe,(function(r){return Bx(Swe(o4),vNe,r)})),XB(pNe,(function(r,e,t,n){gx(Bwe(t),J3),Bx(Bwe(t),z3,q3),Bx(vNe,t,n[1]),gx(Bwe(t),W3),gx(Bwe(t),V3),Bx(Bwe(t),Y3,$3);var u=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),H3),gx(Bwe(t),K3),Bx(Bwe(t),Z3,Q3);var a=n[3];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),r4),gx(Bwe(t),e4),Bx(Bwe(t),n4,t4);var i=n[4];if(i){lwe(t,u4);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,G3)}),t,c),lwe(t,a4)}else lwe(t,i4);return gx(Bwe(t),c4),gx(Bwe(t),f4)})),XB(bNe,(function(r,e,t){var n=Bx(pNe,r,e);return Bx(Swe(X3),n,t)}));var FNe=[0,vNe,DNe,pNe,bNe],mNe=function r(e,t){return r.fun(e,t)},dNe=function r(e){return r.fun(e)},ENe=function r(e,t,n,u){return r.fun(e,t,n,u)},kNe=function r(e,t,n){return r.fun(e,t,n)};XB(mNe,(function(r,e){switch(e){case 0:return lwe(r,S3);case 1:return lwe(r,x3);case 2:return lwe(r,T3);case 3:return lwe(r,I3);case 4:return lwe(r,N3);case 5:return lwe(r,O3);case 6:return lwe(r,L3);case 7:return lwe(r,P3);case 8:return lwe(r,R3);case 9:return lwe(r,M3);case 10:return lwe(r,j3);default:return lwe(r,U3)}})),XB(dNe,(function(r){return Bx(Swe(B3),mNe,r)})),XB(ENe,(function(r,e,t,n){gx(Bwe(t),a3),Bx(Bwe(t),c3,i3);var u=n[1];u?(lwe(t,f3),Bx(mNe,t,u[1]),lwe(t,o3)):lwe(t,s3),gx(Bwe(t),l3),gx(Bwe(t),v3),Bx(Bwe(t),p3,D3);var a=n[2];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),b3),gx(Bwe(t),F3),Bx(Bwe(t),d3,m3);var i=n[3];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),E3),gx(Bwe(t),k3),Bx(Bwe(t),y3,h3);var c=n[4];if(c){lwe(t,C3);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,u3)}),t,f),lwe(t,w3)}else lwe(t,A3);return gx(Bwe(t),_3),gx(Bwe(t),g3)})),XB(kNe,(function(r,e,t){var n=Bx(ENe,r,e);return Bx(Swe(n3),n,t)}));var hNe=[0,mNe,dNe,ENe,kNe],yNe=function r(e,t){return r.fun(e,t)},CNe=function r(e){return r.fun(e)},wNe=function r(e,t,n,u){return r.fun(e,t,n,u)},ANe=function r(e,t,n){return r.fun(e,t,n)};XB(yNe,(function(r,e){return lwe(r,0===e?t3:e3)})),XB(CNe,(function(r){return Bx(Swe(r3),yNe,r)})),XB(wNe,(function(r,e,t,n){gx(Bwe(t),N8),Bx(Bwe(t),L8,O8),Bx(yNe,t,n[1]),gx(Bwe(t),P8),gx(Bwe(t),R8),Bx(Bwe(t),j8,M8);var u=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),U8),gx(Bwe(t),X8),Bx(Bwe(t),J8,G8);var a=n[3];Bx(Bwe(t),q8,a),gx(Bwe(t),z8),gx(Bwe(t),W8),Bx(Bwe(t),$8,V8);var i=n[4];if(i){lwe(t,Y8);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,I8)}),t,c),lwe(t,H8)}else lwe(t,K8);return gx(Bwe(t),Q8),gx(Bwe(t),Z8)})),XB(ANe,(function(r,e,t){var n=Bx(wNe,r,e);return Bx(Swe(T8),n,t)}));var _Ne=[0,yNe,CNe,wNe,ANe],gNe=function r(e,t){return r.fun(e,t)},BNe=function r(e){return r.fun(e)},SNe=function r(e,t,n,u){return r.fun(e,t,n,u)},xNe=function r(e,t,n){return r.fun(e,t,n)};XB(gNe,(function(r,e){switch(e){case 0:return lwe(r,B8);case 1:return lwe(r,S8);default:return lwe(r,x8)}})),XB(BNe,(function(r){return Bx(Swe(g8),gNe,r)})),XB(SNe,(function(r,e,t,n){gx(Bwe(t),c8),Bx(Bwe(t),o8,f8),Bx(gNe,t,n[1]),gx(Bwe(t),s8),gx(Bwe(t),l8),Bx(Bwe(t),D8,v8);var u=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),p8),gx(Bwe(t),b8),Bx(Bwe(t),m8,F8);var a=n[3];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),d8),gx(Bwe(t),E8),Bx(Bwe(t),h8,k8);var i=n[4];if(i){lwe(t,y8);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,i8)}),t,c),lwe(t,C8)}else lwe(t,w8);return gx(Bwe(t),A8),gx(Bwe(t),_8)})),XB(xNe,(function(r,e,t){var n=Bx(SNe,r,e);return Bx(Swe(a8),n,t)}));var TNe=[0,gNe,BNe,SNe,xNe],INe=function r(e,t,n,u){return r.fun(e,t,n,u)},NNe=function r(e,t,n){return r.fun(e,t,n)};XB(INe,(function(r,e,t,n){gx(Bwe(t),j7),Bx(Bwe(t),X7,U7);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),G7),gx(Bwe(t),J7),Bx(Bwe(t),z7,q7);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),W7),gx(Bwe(t),V7),Bx(Bwe(t),Y7,$7);var i=n[3];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),H7),gx(Bwe(t),K7),Bx(Bwe(t),Z7,Q7);var c=n[4];if(c){lwe(t,r8);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,M7)}),t,f),lwe(t,e8)}else lwe(t,t8);return gx(Bwe(t),n8),gx(Bwe(t),u8)})),XB(NNe,(function(r,e,t){var n=Bx(INe,r,e);return Bx(Swe(R7),n,t)}));var ONe=[0,INe,NNe],LNe=function r(e,t,n,u){return r.fun(e,t,n,u)},PNe=function r(e,t,n){return r.fun(e,t,n)};XB(LNe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),N7);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),O7)}gx(Bwe(t),L7);var a=n[1];return xx(yIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),P7)})),XB(PNe,(function(r,e,t){var n=Bx(LNe,r,e);return Bx(Swe(I7),n,t)}));var RNe=function r(e,t,n,u){return r.fun(e,t,n,u)},MNe=function r(e,t,n){return r.fun(e,t,n)},jNe=function r(e,t,n,u){return r.fun(e,t,n,u)},UNe=function r(e,t,n){return r.fun(e,t,n)};XB(RNe,(function(r,e,t,n){gx(Bwe(t),S7),Bx(r,t,n[1]),gx(Bwe(t),x7);var u=n[2];return xx(jNe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),T7)})),XB(MNe,(function(r,e,t){var n=Bx(RNe,r,e);return Bx(Swe(B7),n,t)})),XB(jNe,(function(r,e,t,n){gx(Bwe(t),p7),Bx(Bwe(t),F7,b7);var u=n[1];gx(Bwe(t),m7);Sye((function(n,u){return n&&gx(Bwe(t),D7),xx(LNe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),d7),gx(Bwe(t),E7),gx(Bwe(t),k7),Bx(Bwe(t),y7,h7);var a=n[2];if(a){lwe(t,C7);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),l7);return Sye((function(t,n){return t&&gx(Bwe(e),s7),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),v7)}),t,i),lwe(t,w7)}else lwe(t,A7);return gx(Bwe(t),_7),gx(Bwe(t),g7)})),XB(UNe,(function(r,e,t){var n=Bx(jNe,r,e);return Bx(Swe(o7),n,t)}));var XNe=[0,RNe,MNe,jNe,UNe],GNe=function r(e,t,n,u){return r.fun(e,t,n,u)},JNe=function r(e,t,n){return r.fun(e,t,n)};XB(GNe,(function(r,e,t,n){gx(Bwe(t),R2),Bx(Bwe(t),j2,M2);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),U2),gx(Bwe(t),X2),Bx(Bwe(t),J2,G2);var a=n[2];if(a){lwe(t,q2);var i=a[1];xx($Ae[2][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,z2)}else lwe(t,W2);gx(Bwe(t),V2),gx(Bwe(t),$2),Bx(Bwe(t),H2,Y2);var c=n[3];if(c){lwe(t,K2);var f=c[1];xx(XNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,Q2)}else lwe(t,Z2);gx(Bwe(t),r7),gx(Bwe(t),e7),Bx(Bwe(t),n7,t7);var o=n[4];if(o){lwe(t,u7);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,P2)}),t,s),lwe(t,a7)}else lwe(t,i7);return gx(Bwe(t),c7),gx(Bwe(t),f7)})),XB(JNe,(function(r,e,t){var n=Bx(GNe,r,e);return Bx(Swe(L2),n,t)}));var qNe=[0,GNe,JNe],zNe=function r(e,t,n,u){return r.fun(e,t,n,u)},WNe=function r(e,t,n){return r.fun(e,t,n)};XB(zNe,(function(r,e,t,n){gx(Bwe(t),v2),Bx(Bwe(t),p2,D2);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),b2),gx(Bwe(t),F2),Bx(Bwe(t),d2,m2);var a=n[2];if(a){lwe(t,E2);var i=a[1];xx($Ae[2][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,k2)}else lwe(t,h2);gx(Bwe(t),y2),gx(Bwe(t),C2),Bx(Bwe(t),A2,w2);var c=n[3];xx(XNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),_2),gx(Bwe(t),g2),Bx(Bwe(t),S2,B2);var f=n[4];if(f){lwe(t,x2);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,l2)}),t,o),lwe(t,T2)}else lwe(t,I2);return gx(Bwe(t),N2),gx(Bwe(t),O2)})),XB(WNe,(function(r,e,t){var n=Bx(zNe,r,e);return Bx(Swe(s2),n,t)}));var VNe=[0,zNe,WNe],$Ne=function r(e,t,n,u){return r.fun(e,t,n,u)},YNe=function r(e,t,n){return r.fun(e,t,n)};XB($Ne,(function(r,e,t,n){gx(Bwe(t),r2),Bx(Bwe(t),t2,e2);var u=n[1];xx(VNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),n2),gx(Bwe(t),u2),Bx(Bwe(t),i2,a2);var a=n[2];return Bx(Bwe(t),c2,a),gx(Bwe(t),f2),gx(Bwe(t),o2)})),XB(YNe,(function(r,e,t){var n=Bx($Ne,r,e);return Bx(Swe(Z1),n,t)}));var HNe=[0,$Ne,YNe],KNe=function r(e,t,n,u){return r.fun(e,t,n,u)},QNe=function r(e,t,n){return r.fun(e,t,n)},ZNe=function r(e,t,n,u){return r.fun(e,t,n,u)},rOe=function r(e,t,n){return r.fun(e,t,n)};XB(KNe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),V1);var u=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$1);case 1:gx(Bwe(t),Y1);var a=n[1];return Sx(MAe[1],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),H1);default:gx(Bwe(t),K1);var i=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Q1)}})),XB(QNe,(function(r,e,t){var n=Bx(KNe,r,e);return Bx(Swe(W1),n,t)})),XB(ZNe,(function(r,e,t,n){gx(Bwe(t),x1),Bx(Bwe(t),I1,T1);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),N1),gx(Bwe(t),O1),Bx(Bwe(t),P1,L1);var a=n[2];xx(KNe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),R1),gx(Bwe(t),M1),Bx(Bwe(t),U1,j1);var i=n[3];if(i){lwe(t,X1);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,S1)}),t,c),lwe(t,G1)}else lwe(t,J1);return gx(Bwe(t),q1),gx(Bwe(t),z1)})),XB(rOe,(function(r,e,t){var n=Bx(ZNe,r,e);return Bx(Swe(B1),n,t)}));var eOe=[0,KNe,QNe,ZNe,rOe],tOe=function r(e,t,n,u){return r.fun(e,t,n,u)},nOe=function r(e,t,n){return r.fun(e,t,n)};XB(tOe,(function(r,e,t,n){gx(Bwe(t),d1),Bx(Bwe(t),k1,E1);var u=n[1];xx(eOe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),h1),gx(Bwe(t),y1),Bx(Bwe(t),w1,C1);var a=n[2];return Bx(Bwe(t),A1,a),gx(Bwe(t),_1),gx(Bwe(t),g1)})),XB(nOe,(function(r,e,t){var n=Bx(tOe,r,e);return Bx(Swe(m1),n,t)}));var uOe=[0,tOe,nOe],aOe=function r(e,t,n,u){return r.fun(e,t,n,u)},iOe=function r(e,t,n){return r.fun(e,t,n)};XB(aOe,(function(r,e,t,n){gx(Bwe(t),K0),Bx(Bwe(t),Z0,Q0);var u=n[1];if(u){lwe(t,r1);var a=u[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,e1)}else lwe(t,t1);gx(Bwe(t),n1),gx(Bwe(t),u1),Bx(Bwe(t),i1,a1);var i=n[2];if(i){lwe(t,c1);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,H0)}),t,c),lwe(t,f1)}else lwe(t,o1);gx(Bwe(t),s1),gx(Bwe(t),l1),Bx(Bwe(t),D1,v1);var f=n[3];return Bx(Bwe(t),p1,f),gx(Bwe(t),b1),gx(Bwe(t),F1)})),XB(iOe,(function(r,e,t){var n=Bx(aOe,r,e);return Bx(Swe(Y0),n,t)}));var cOe=[0,aOe,iOe],fOe=function r(e,t,n,u){return r.fun(e,t,n,u)},oOe=function r(e,t,n){return r.fun(e,t,n)},sOe=function r(e,t,n,u){return r.fun(e,t,n,u)},lOe=function r(e,t,n){return r.fun(e,t,n)};XB(fOe,(function(r,e,t,n){gx(Bwe(t),W0),Bx(r,t,n[1]),gx(Bwe(t),V0);var u=n[2];return xx(sOe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$0)})),XB(oOe,(function(r,e,t){var n=Bx(fOe,r,e);return Bx(Swe(z0),n,t)})),XB(sOe,(function(r,e,t,n){gx(Bwe(t),T0),Bx(Bwe(t),N0,I0);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),O0),gx(Bwe(t),L0),Bx(Bwe(t),R0,P0);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),M0),gx(Bwe(t),j0),Bx(Bwe(t),X0,U0);var i=n[3];return Bx(Bwe(t),G0,i),gx(Bwe(t),J0),gx(Bwe(t),q0)})),XB(lOe,(function(r,e,t){var n=Bx(sOe,r,e);return Bx(Swe(x0),n,t)}));var vOe=[0,fOe,oOe,sOe,lOe],DOe=function r(e,t,n,u){return r.fun(e,t,n,u)},pOe=function r(e,t,n){return r.fun(e,t,n)};XB(DOe,(function(r,e,t,n){gx(Bwe(t),F0),Bx(Bwe(t),d0,m0);var u=n[1];gx(Bwe(t),E0);Sye((function(n,u){return n&&gx(Bwe(t),b0),xx(vOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),k0),gx(Bwe(t),h0),gx(Bwe(t),y0),Bx(Bwe(t),w0,C0);var a=n[2];if(a){lwe(t,A0);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,_0)}else lwe(t,g0);return gx(Bwe(t),B0),gx(Bwe(t),S0)})),XB(pOe,(function(r,e,t){var n=Bx(DOe,r,e);return Bx(Swe(p0),n,t)}));var bOe=[0,vOe,DOe,pOe],FOe=function r(e,t,n,u){return r.fun(e,t,n,u)},mOe=function r(e,t,n){return r.fun(e,t,n)};XB(FOe,(function(r,e,t,n){gx(Bwe(t),r0),Bx(Bwe(t),t0,e0);var u=n[1];gx(Bwe(t),n0);Sye((function(n,u){return n&&gx(Bwe(t),ZZ),xx(bOe[1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),u0),gx(Bwe(t),a0),gx(Bwe(t),i0),Bx(Bwe(t),f0,c0);var a=n[2];if(a){lwe(t,o0);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,s0)}else lwe(t,l0);return gx(Bwe(t),v0),gx(Bwe(t),D0)})),XB(mOe,(function(r,e,t){var n=Bx(FOe,r,e);return Bx(Swe(QZ),n,t)}));var dOe=[0,FOe,mOe],EOe=function r(e,t,n,u){return r.fun(e,t,n,u)},kOe=function r(e,t,n){return r.fun(e,t,n)};XB(EOe,(function(r,e,t,n){gx(Bwe(t),PZ),Bx(Bwe(t),MZ,RZ);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),jZ),gx(Bwe(t),UZ),Bx(Bwe(t),GZ,XZ);var a=n[2];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),JZ),gx(Bwe(t),qZ),Bx(Bwe(t),WZ,zZ);var i=n[3];if(i){lwe(t,VZ);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,LZ)}),t,c),lwe(t,$Z)}else lwe(t,YZ);return gx(Bwe(t),HZ),gx(Bwe(t),KZ)})),XB(kOe,(function(r,e,t){var n=Bx(EOe,r,e);return Bx(Swe(OZ),n,t)}));var hOe=[0,EOe,kOe],yOe=function r(e,t,n){return r.fun(e,t,n)},COe=function r(e,t){return r.fun(e,t)};XB(yOe,(function(r,e,t){gx(Bwe(e),dZ),Bx(Bwe(e),kZ,EZ);var n=t[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),hZ),gx(Bwe(e),yZ),Bx(Bwe(e),wZ,CZ);var u=t[2];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,u),gx(Bwe(e),AZ),gx(Bwe(e),_Z),Bx(Bwe(e),BZ,gZ);var a=t[3];if(a){lwe(e,SZ);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,mZ)}),e,i),lwe(e,xZ)}else lwe(e,TZ);return gx(Bwe(e),IZ),gx(Bwe(e),NZ)})),XB(COe,(function(r,e){var t=gx(yOe,r);return Bx(Swe(FZ),t,e)}));var wOe=[0,yOe,COe],AOe=function r(e,t,n){return r.fun(e,t,n)},_Oe=function r(e,t){return r.fun(e,t)};XB(AOe,(function(r,e,t){gx(Bwe(e),fZ),Bx(Bwe(e),sZ,oZ);var n=t[1];if(n){lwe(e,lZ);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,cZ)}),e,u),lwe(e,vZ)}else lwe(e,DZ);return gx(Bwe(e),pZ),gx(Bwe(e),bZ)})),XB(_Oe,(function(r,e){var t=gx(AOe,r);return Bx(Swe(iZ),t,e)}));var gOe=[0,AOe,_Oe],BOe=function r(e,t,n){return r.fun(e,t,n)},SOe=function r(e,t){return r.fun(e,t)};XB(BOe,(function(r,e,t){gx(Bwe(e),QQ),Bx(Bwe(e),rZ,ZQ);var n=t[1];if(n){lwe(e,eZ);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,KQ)}),e,u),lwe(e,tZ)}else lwe(e,nZ);return gx(Bwe(e),uZ),gx(Bwe(e),aZ)})),XB(SOe,(function(r,e){var t=gx(BOe,r);return Bx(Swe(HQ),t,e)}));var xOe=[0,BOe,SOe],TOe=function r(e,t,n,u){return r.fun(e,t,n,u)},IOe=function r(e,t,n){return r.fun(e,t,n)};XB(TOe,(function(r,e,t,n){gx(Bwe(t),MQ),Bx(Bwe(t),UQ,jQ);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),XQ),gx(Bwe(t),GQ),Bx(Bwe(t),qQ,JQ);var a=n[2];if(a){lwe(t,zQ);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,RQ)}),t,i),lwe(t,WQ)}else lwe(t,VQ);return gx(Bwe(t),$Q),gx(Bwe(t),YQ)})),XB(IOe,(function(r,e,t){var n=Bx(TOe,r,e);return Bx(Swe(PQ),n,t)}));var NOe=[0,TOe,IOe],OOe=function r(e,t,n,u){return r.fun(e,t,n,u)},LOe=function r(e,t,n){return r.fun(e,t,n)},POe=function r(e,t,n,u){return r.fun(e,t,n,u)},ROe=function r(e,t,n){return r.fun(e,t,n)};XB(OOe,(function(r,e,t,n){gx(Bwe(t),NQ),Bx(e,t,n[1]),gx(Bwe(t),OQ);var u=n[2];return xx(POe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),LQ)})),XB(LOe,(function(r,e,t){var n=Bx(OOe,r,e);return Bx(Swe(IQ),n,t)})),XB(POe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),wK);var u=n[1];return xx(gIe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),AK);case 1:gx(Bwe(t),_K);var a=n[1];return xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),gK);case 2:gx(Bwe(t),BK);var i=n[1];return xx(hNe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),SK);case 3:gx(Bwe(t),xK);var c=n[1];return xx(FNe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),TK);case 4:gx(Bwe(t),IK);var f=n[1];return xx(VNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),NK);case 5:gx(Bwe(t),OK);var o=n[1];return xx(QAe[8],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),LK);case 6:gx(Bwe(t),PK);var s=n[1];return xx(bOe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),RK);case 7:gx(Bwe(t),MK);var l=n[1];return xx(ONe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,l),gx(Bwe(t),jK);case 8:gx(Bwe(t),UK);var v=n[1];return xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),XK);case 9:gx(Bwe(t),GK);var D=n[1];return xx(dOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,D),gx(Bwe(t),JK);case 10:gx(Bwe(t),qK);var p=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),gx(Bwe(t),zK);case 11:gx(Bwe(t),WK);var b=n[1];return xx(NOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,b),gx(Bwe(t),VK);case 12:gx(Bwe(t),$K);var F=n[1];return xx(YAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,F),gx(Bwe(t),YK);case 13:gx(Bwe(t),HK);var m=n[1];return xx(YAe[19],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,m),gx(Bwe(t),KK);case 14:gx(Bwe(t),QK);var d=n[1];return Sx(jAe[2],(function(e){return gx(r,e)}),t,d),gx(Bwe(t),ZK);case 15:gx(Bwe(t),rQ);var E=n[1];return xx(TNe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,E),gx(Bwe(t),eQ);case 16:gx(Bwe(t),tQ);var k=n[1];return xx(eOe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,k),gx(Bwe(t),nQ);case 17:gx(Bwe(t),uQ);var h=n[1];return Sx(wOe[1],(function(e){return gx(r,e)}),t,h),gx(Bwe(t),aQ);case 18:gx(Bwe(t),iQ);var y=n[1];return xx(qNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,y),gx(Bwe(t),cQ);case 19:gx(Bwe(t),fQ);var C=n[1];return xx(nNe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,C),gx(Bwe(t),oQ);case 20:gx(Bwe(t),sQ);var w=n[1];return xx(HNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,w),gx(Bwe(t),lQ);case 21:gx(Bwe(t),vQ);var A=n[1];return xx(uOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,A),gx(Bwe(t),DQ);case 22:gx(Bwe(t),pQ);var _=n[1];return xx(iNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,_),gx(Bwe(t),bQ);case 23:gx(Bwe(t),FQ);var g=n[1];return Sx(xOe[1],(function(e){return gx(r,e)}),t,g),gx(Bwe(t),mQ);case 24:gx(Bwe(t),dQ);var B=n[1];return xx(UIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,B),gx(Bwe(t),EQ);case 25:gx(Bwe(t),kQ);var S=n[1];return xx(RIe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,S),gx(Bwe(t),hQ);case 26:gx(Bwe(t),yQ);var x=n[1];return Sx(gOe[1],(function(e){return gx(r,e)}),t,x),gx(Bwe(t),CQ);case 27:gx(Bwe(t),wQ);var T=n[1];return xx(hOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,T),gx(Bwe(t),AQ);case 28:gx(Bwe(t),_Q);var I=n[1];return xx(lNe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,I),gx(Bwe(t),gQ);case 29:gx(Bwe(t),BQ);var N=n[1];return xx(_Ne[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,N),gx(Bwe(t),SQ);default:gx(Bwe(t),xQ);var O=n[1];return xx(cOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,O),gx(Bwe(t),TQ)}})),XB(ROe,(function(r,e,t){var n=Bx(POe,r,e);return Bx(Swe(CK),n,t)})),Sx(eAe,QJr,$Ae,[0,vIe,hIe,yIe,gIe,RIe,UIe,nNe,iNe,lNe,FNe,hNe,_Ne,TNe,ONe,LNe,PNe,XNe,qNe,VNe,HNe,eOe,uOe,cOe,bOe,dOe,hOe,wOe,gOe,xOe,NOe,OOe,LOe,POe,ROe]);var MOe=function r(e,t,n,u){return r.fun(e,t,n,u)},jOe=function r(e,t,n){return r.fun(e,t,n)},UOe=function r(e,t,n){return r.fun(e,t,n)},XOe=function r(e,t){return r.fun(e,t)};XB(MOe,(function(r,e,t,n){gx(Bwe(t),kK),Bx(e,t,n[1]),gx(Bwe(t),hK);var u=n[2];return Sx(UOe,(function(e){return gx(r,e)}),t,u),gx(Bwe(t),yK)})),XB(jOe,(function(r,e,t){var n=Bx(MOe,r,e);return Bx(Swe(EK),n,t)})),XB(UOe,(function(r,e,t){gx(Bwe(e),iK),Bx(Bwe(e),fK,cK);var n=t[1];Bx(Bwe(e),oK,n),gx(Bwe(e),sK),gx(Bwe(e),lK),Bx(Bwe(e),DK,vK);var u=t[2];if(u){lwe(e,pK);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,aK)}),e,a),lwe(e,bK)}else lwe(e,FK);return gx(Bwe(e),mK),gx(Bwe(e),dK)})),XB(XOe,(function(r,e){var t=gx(UOe,r);return Bx(Swe(uK),t,e)}));var GOe=[0,MOe,jOe,UOe,XOe],JOe=function r(e,t,n,u){return r.fun(e,t,n,u)},qOe=function r(e,t,n){return r.fun(e,t,n)},zOe=function r(e,t,n,u){return r.fun(e,t,n,u)},WOe=function r(e,t,n){return r.fun(e,t,n)};XB(JOe,(function(r,e,t,n){gx(Bwe(t),eK),Bx(r,t,n[1]),gx(Bwe(t),tK);var u=n[2];return xx(zOe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nK)})),XB(qOe,(function(r,e,t){var n=Bx(JOe,r,e);return Bx(Swe(rK),n,t)})),XB(zOe,(function(r,e,t,n){gx(Bwe(t),zH),Bx(Bwe(t),VH,WH);var u=n[1];xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$H),gx(Bwe(t),YH),Bx(Bwe(t),KH,HH);var a=n[2];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),QH),gx(Bwe(t),ZH)})),XB(WOe,(function(r,e,t){var n=Bx(zOe,r,e);return Bx(Swe(qH),n,t)}));var VOe=[0,JOe,qOe,zOe,WOe],$Oe=function r(e,t,n,u){return r.fun(e,t,n,u)},YOe=function r(e,t,n){return r.fun(e,t,n)},HOe=function r(e,t,n,u){return r.fun(e,t,n,u)},KOe=function r(e,t,n){return r.fun(e,t,n)};XB($Oe,(function(r,e,t,n){gx(Bwe(t),IH),Bx(Bwe(t),OH,NH);var u=n[1];xx(HOe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),LH),gx(Bwe(t),PH),Bx(Bwe(t),MH,RH);var a=n[2];if(a){lwe(t,jH);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),xH);return Sye((function(t,n){return t&&gx(Bwe(e),SH),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),TH)}),t,i),lwe(t,UH)}else lwe(t,XH);return gx(Bwe(t),GH),gx(Bwe(t),JH)})),XB(YOe,(function(r,e,t){var n=Bx($Oe,r,e);return Bx(Swe(BH),n,t)})),XB(HOe,(function(r,e,t,n){if(n){gx(Bwe(t),AH);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),_H)}return lwe(t,gH)})),XB(KOe,(function(r,e,t){var n=Bx(HOe,r,e);return Bx(Swe(wH),n,t)}));var QOe=[0,$Oe,YOe,HOe,KOe],ZOe=function(r,e){gx(Bwe(r),vH),Bx(Bwe(r),pH,DH);var t=e[1];Bx(Bwe(r),bH,t),gx(Bwe(r),FH),gx(Bwe(r),mH),Bx(Bwe(r),EH,dH);var n=e[2];return Bx(Bwe(r),kH,n),gx(Bwe(r),hH),gx(Bwe(r),yH)},rLe=[0,ZOe,function(r){return Bx(Swe(CH),ZOe,r)}],eLe=function r(e,t,n,u){return r.fun(e,t,n,u)},tLe=function r(e,t,n){return r.fun(e,t,n)},nLe=function r(e,t,n,u){return r.fun(e,t,n,u)},uLe=function r(e,t,n){return r.fun(e,t,n)},aLe=function r(e,t,n,u){return r.fun(e,t,n,u)},iLe=function r(e,t,n){return r.fun(e,t,n)},cLe=function r(e,t,n,u){return r.fun(e,t,n,u)},fLe=function r(e,t,n){return r.fun(e,t,n)};XB(eLe,(function(r,e,t,n){gx(Bwe(t),oH),Bx(r,t,n[1]),gx(Bwe(t),sH);var u=n[2];return xx(cLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),lH)})),XB(tLe,(function(r,e,t){var n=Bx(eLe,r,e);return Bx(Swe(fH),n,t)})),XB(nLe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),uH);var u=n[1];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),aH)}gx(Bwe(t),iH);var a=n[1];return xx(VOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),cH)})),XB(uLe,(function(r,e,t){var n=Bx(nLe,r,e);return Bx(Swe(nH),n,t)})),XB(aLe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),KY),Bx(e,t,n[1]),gx(Bwe(t),QY);var u=n[2];return Sx(jAe[2],(function(e){return gx(r,e)}),t,u),gx(Bwe(t),ZY)}gx(Bwe(t),rH),Bx(e,t,n[1]),gx(Bwe(t),eH);var a=n[2];return xx(QOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),tH)})),XB(iLe,(function(r,e,t){var n=Bx(aLe,r,e);return Bx(Swe(HY),n,t)})),XB(cLe,(function(r,e,t,n){gx(Bwe(t),MY),Bx(Bwe(t),UY,jY);var u=n[1];xx(nLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),XY),gx(Bwe(t),GY),Bx(Bwe(t),qY,JY);var a=n[2];if(a){lwe(t,zY);var i=a[1];xx(aLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,WY)}else lwe(t,VY);return gx(Bwe(t),$Y),gx(Bwe(t),YY)})),XB(fLe,(function(r,e,t){var n=Bx(cLe,r,e);return Bx(Swe(RY),n,t)}));var oLe=[0,eLe,tLe,nLe,uLe,aLe,iLe,cLe,fLe],sLe=function r(e,t,n,u){return r.fun(e,t,n,u)},lLe=function r(e,t,n){return r.fun(e,t,n)},vLe=function r(e,t,n,u){return r.fun(e,t,n,u)},DLe=function r(e,t,n){return r.fun(e,t,n)};XB(sLe,(function(r,e,t,n){gx(Bwe(t),OY),Bx(r,t,n[1]),gx(Bwe(t),LY);var u=n[2];return xx(vLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),PY)})),XB(lLe,(function(r,e,t){var n=Bx(sLe,r,e);return Bx(Swe(NY),n,t)})),XB(vLe,(function(r,e,t,n){gx(Bwe(t),hY),Bx(Bwe(t),CY,yY);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),wY),gx(Bwe(t),AY),Bx(Bwe(t),gY,_Y);var a=n[2];if(a){lwe(t,BY);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,kY)}),t,i),lwe(t,SY)}else lwe(t,xY);return gx(Bwe(t),TY),gx(Bwe(t),IY)})),XB(DLe,(function(r,e,t){var n=Bx(vLe,r,e);return Bx(Swe(EY),n,t)}));var pLe=[0,sLe,lLe,vLe,DLe],bLe=function r(e,t,n,u){return r.fun(e,t,n,u)},FLe=function r(e,t,n){return r.fun(e,t,n)},mLe=function r(e,t,n,u){return r.fun(e,t,n,u)},dLe=function r(e,t,n){return r.fun(e,t,n)},ELe=function r(e,t,n,u){return r.fun(e,t,n,u)},kLe=function r(e,t,n){return r.fun(e,t,n)};XB(bLe,(function(r,e,t,n){gx(Bwe(t),FY),Bx(r,t,n[1]),gx(Bwe(t),mY);var u=n[2];return xx(ELe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),dY)})),XB(FLe,(function(r,e,t){var n=Bx(bLe,r,e);return Bx(Swe(bY),n,t)})),XB(mLe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),lY);var u=n[1];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vY)}gx(Bwe(t),DY);var a=n[1];return xx(bLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),pY)})),XB(dLe,(function(r,e,t){var n=Bx(mLe,r,e);return Bx(Swe(sY),n,t)})),XB(ELe,(function(r,e,t,n){gx(Bwe(t),eY),Bx(Bwe(t),nY,tY);var u=n[1];xx(mLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),uY),gx(Bwe(t),aY),Bx(Bwe(t),cY,iY);var a=n[2];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),fY),gx(Bwe(t),oY)})),XB(kLe,(function(r,e,t){var n=Bx(ELe,r,e);return Bx(Swe(rY),n,t)}));var hLe=[0,bLe,FLe,mLe,dLe,ELe,kLe],yLe=function r(e,t,n,u){return r.fun(e,t,n,u)},CLe=function r(e,t,n){return r.fun(e,t,n)};XB(yLe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),$$);var u=n[1];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Y$);case 1:gx(Bwe(t),H$);var a=n[1];return xx(VOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),K$);default:gx(Bwe(t),Q$);var i=n[1];return xx(hLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Z$)}})),XB(CLe,(function(r,e,t){var n=Bx(yLe,r,e);return Bx(Swe(V$),n,t)}));var wLe=function r(e,t,n,u){return r.fun(e,t,n,u)},ALe=function r(e,t,n){return r.fun(e,t,n)},_Le=function r(e,t,n,u){return r.fun(e,t,n,u)},gLe=function r(e,t,n){return r.fun(e,t,n)},BLe=function r(e,t,n,u){return r.fun(e,t,n,u)},SLe=function r(e,t,n){return r.fun(e,t,n)};XB(wLe,(function(r,e,t,n){gx(Bwe(t),q$),Bx(r,t,n[1]),gx(Bwe(t),z$);var u=n[2];return xx(BLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),W$)})),XB(ALe,(function(r,e,t){var n=Bx(wLe,r,e);return Bx(Swe(J$),n,t)})),XB(_Le,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),j$);var u=n[1];return xx(oLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),U$)}gx(Bwe(t),X$);var a=n[1];return xx(pLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),G$)})),XB(gLe,(function(r,e,t){var n=Bx(_Le,r,e);return Bx(Swe(M$),n,t)})),XB(BLe,(function(r,e,t,n){gx(Bwe(t),y$),Bx(Bwe(t),w$,C$);var u=n[1];xx(yLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),A$),gx(Bwe(t),_$),Bx(Bwe(t),B$,g$);var a=n[2];Bx(Bwe(t),S$,a),gx(Bwe(t),x$),gx(Bwe(t),T$),Bx(Bwe(t),N$,I$);var i=n[3];gx(Bwe(t),O$);return Sye((function(n,u){return n&&gx(Bwe(t),h$),xx(_Le,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),L$),gx(Bwe(t),P$),gx(Bwe(t),R$)})),XB(SLe,(function(r,e,t){var n=Bx(BLe,r,e);return Bx(Swe(k$),n,t)}));var xLe=[0,wLe,ALe,_Le,gLe,BLe,SLe],TLe=function r(e,t,n,u){return r.fun(e,t,n,u)},ILe=function r(e,t,n){return r.fun(e,t,n)},NLe=function r(e,t,n,u){return r.fun(e,t,n,u)},OLe=function r(e,t,n){return r.fun(e,t,n)};XB(TLe,(function(r,e,t,n){gx(Bwe(t),m$),Bx(r,t,n[1]),gx(Bwe(t),d$);var u=n[2];return xx(NLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),E$)})),XB(ILe,(function(r,e,t){var n=Bx(TLe,r,e);return Bx(Swe(F$),n,t)})),XB(NLe,(function(r,e,t,n){gx(Bwe(t),l$),Bx(Bwe(t),D$,v$);var u=n[1];return xx(yLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),p$),gx(Bwe(t),b$)})),XB(OLe,(function(r,e,t){var n=Bx(NLe,r,e);return Bx(Swe(s$),n,t)}));var LLe=[0,TLe,ILe,NLe,OLe],PLe=function r(e,t,n,u){return r.fun(e,t,n,u)},RLe=function r(e,t,n){return r.fun(e,t,n)};XB(PLe,(function(r,e,t,n){gx(Bwe(t),QV),Bx(Bwe(t),r$,ZV);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),e$),gx(Bwe(t),t$),Bx(Bwe(t),u$,n$);var a=n[2];if(a){lwe(t,a$);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,KV)}),t,i),lwe(t,i$)}else lwe(t,c$);return gx(Bwe(t),f$),gx(Bwe(t),o$)})),XB(RLe,(function(r,e,t){var n=Bx(PLe,r,e);return Bx(Swe(HV),n,t)}));var MLe=[0,PLe,RLe],jLe=function r(e,t,n,u){return r.fun(e,t,n,u)},ULe=function r(e,t,n){return r.fun(e,t,n)},XLe=function r(e,t,n,u){return r.fun(e,t,n,u)},GLe=function r(e,t,n){return r.fun(e,t,n)},JLe=function r(e,t,n,u){return r.fun(e,t,n,u)},qLe=function r(e,t,n){return r.fun(e,t,n)},zLe=function r(e,t,n,u){return r.fun(e,t,n,u)},WLe=function r(e,t,n){return r.fun(e,t,n)};XB(jLe,(function(r,e,t,n){gx(Bwe(t),VV),Bx(r,t,n[1]),gx(Bwe(t),$V);var u=n[2];return xx(XLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),YV)})),XB(ULe,(function(r,e,t){var n=Bx(jLe,r,e);return Bx(Swe(WV),n,t)})),XB(XLe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),PV);var u=n[1];return xx(JLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),RV);case 1:gx(Bwe(t),MV);var a=n[1];return xx(zLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),jV);case 2:gx(Bwe(t),UV);var i=n[1];return xx(QOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),XV);case 3:gx(Bwe(t),GV);var c=n[1];return xx(MLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),JV);default:return gx(Bwe(t),qV),Bx(rLe[1],t,n[1]),gx(Bwe(t),zV)}})),XB(GLe,(function(r,e,t){var n=Bx(XLe,r,e);return Bx(Swe(LV),n,t)})),XB(JLe,(function(r,e,t,n){gx(Bwe(t),cV),Bx(Bwe(t),oV,fV);var u=n[1];xx(xLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),sV),gx(Bwe(t),lV),Bx(Bwe(t),DV,vV);var a=n[2];if(a){lwe(t,pV);var i=a[1];xx(LLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,bV)}else lwe(t,FV);gx(Bwe(t),mV),gx(Bwe(t),dV),Bx(Bwe(t),kV,EV);var c=n[3];gx(Bwe(t),hV),Bx(r,t,c[1]),gx(Bwe(t),yV),gx(Bwe(t),CV);Sye((function(n,u){return n&&gx(Bwe(t),iV),xx(jLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,c[2]),gx(Bwe(t),wV),gx(Bwe(t),AV),gx(Bwe(t),_V),gx(Bwe(t),gV),Bx(Bwe(t),SV,BV);var f=n[4];if(f){lwe(t,xV);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,aV)}),t,o),lwe(t,TV)}else lwe(t,IV);return gx(Bwe(t),NV),gx(Bwe(t),OV)})),XB(qLe,(function(r,e,t){var n=Bx(JLe,r,e);return Bx(Swe(uV),n,t)})),XB(zLe,(function(r,e,t,n){gx(Bwe(t),NW),Bx(Bwe(t),LW,OW),Bx(r,t,n[1]),gx(Bwe(t),PW),gx(Bwe(t),RW),Bx(Bwe(t),jW,MW),Bx(r,t,n[2]),gx(Bwe(t),UW),gx(Bwe(t),XW),Bx(Bwe(t),JW,GW);var u=n[3];gx(Bwe(t),qW),Bx(r,t,u[1]),gx(Bwe(t),zW),gx(Bwe(t),WW);Sye((function(n,u){return n&&gx(Bwe(t),IW),xx(jLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u[2]),gx(Bwe(t),VW),gx(Bwe(t),$W),gx(Bwe(t),YW),gx(Bwe(t),HW),Bx(Bwe(t),QW,KW);var a=n[4];if(a){lwe(t,ZW);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,TW)}),t,i),lwe(t,rV)}else lwe(t,eV);return gx(Bwe(t),tV),gx(Bwe(t),nV)})),XB(WLe,(function(r,e,t){var n=Bx(zLe,r,e);return Bx(Swe(xW),n,t)})),Sx(eAe,ZJr,YAe,[0,GOe,VOe,QOe,rLe,oLe,pLe,hLe,yLe,CLe,xLe,LLe,MLe,jLe,ULe,XLe,GLe,JLe,qLe,zLe,WLe]);var VLe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Le=function r(e,t,n){return r.fun(e,t,n)},YLe=function r(e,t,n,u){return r.fun(e,t,n,u)},HLe=function r(e,t,n){return r.fun(e,t,n)};XB(VLe,(function(r,e,t,n){gx(Bwe(t),gW),Bx(r,t,n[1]),gx(Bwe(t),BW);var u=n[2];return xx(YLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),SW)})),XB($Le,(function(r,e,t){var n=Bx(VLe,r,e);return Bx(Swe(_W),n,t)})),XB(YLe,(function(r,e,t,n){gx(Bwe(t),pW),Bx(Bwe(t),FW,bW);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),mW),gx(Bwe(t),dW),Bx(Bwe(t),kW,EW);var a=n[2];if(a){lwe(t,hW);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,DW)}),t,i),lwe(t,yW)}else lwe(t,CW);return gx(Bwe(t),wW),gx(Bwe(t),AW)})),XB(HLe,(function(r,e,t){var n=Bx(YLe,r,e);return Bx(Swe(vW),n,t)}));var KLe=[0,VLe,$Le,YLe,HLe],QLe=function r(e,t,n,u){return r.fun(e,t,n,u)},ZLe=function r(e,t,n){return r.fun(e,t,n)},rPe=function r(e,t,n,u){return r.fun(e,t,n,u)},ePe=function r(e,t,n){return r.fun(e,t,n)},tPe=function r(e,t,n,u){return r.fun(e,t,n,u)},nPe=function r(e,t,n){return r.fun(e,t,n)};XB(QLe,(function(r,e,t,n){switch(n[0]){case 0:var u=n[1];gx(Bwe(t),nW),gx(Bwe(t),uW),Bx(r,t,u[1]),gx(Bwe(t),aW);var a=u[2];return Sx(jAe[2],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),iW),gx(Bwe(t),cW);case 1:gx(Bwe(t),fW);var i=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),oW);default:gx(Bwe(t),sW);var c=n[1];return xx(zAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),lW)}})),XB(ZLe,(function(r,e,t){var n=Bx(QLe,r,e);return Bx(Swe(tW),n,t)})),XB(rPe,(function(r,e,t,n){gx(Bwe(t),Zz),Bx(r,t,n[1]),gx(Bwe(t),rW);var u=n[2];return xx(tPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),eW)})),XB(ePe,(function(r,e,t){var n=Bx(rPe,r,e);return Bx(Swe(Qz),n,t)})),XB(tPe,(function(r,e,t,n){gx(Bwe(t),Tz),Bx(Bwe(t),Nz,Iz);var u=n[1];xx(QLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Oz),gx(Bwe(t),Lz),Bx(Bwe(t),Rz,Pz);var a=n[2];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Mz),gx(Bwe(t),jz),Bx(Bwe(t),Xz,Uz);var i=n[3];if(i){lwe(t,Gz);var c=i[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,Jz)}else lwe(t,qz);gx(Bwe(t),zz),gx(Bwe(t),Wz),Bx(Bwe(t),$z,Vz);var f=n[4];return Bx(Bwe(t),Yz,f),gx(Bwe(t),Hz),gx(Bwe(t),Kz)})),XB(nPe,(function(r,e,t){var n=Bx(tPe,r,e);return Bx(Swe(xz),n,t)}));var uPe=[0,QLe,ZLe,rPe,ePe,tPe,nPe],aPe=function r(e,t,n,u){return r.fun(e,t,n,u)},iPe=function r(e,t,n){return r.fun(e,t,n)},cPe=function r(e,t,n,u){return r.fun(e,t,n,u)},fPe=function r(e,t,n){return r.fun(e,t,n)};XB(aPe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),_z);var u=n[1];return xx(uPe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),gz)}gx(Bwe(t),Bz);var a=n[1];return xx(KLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Sz)})),XB(iPe,(function(r,e,t){var n=Bx(aPe,r,e);return Bx(Swe(Az),n,t)})),XB(cPe,(function(r,e,t,n){gx(Bwe(t),cz),Bx(Bwe(t),oz,fz);var u=n[1];gx(Bwe(t),sz);Sye((function(n,u){return n&&gx(Bwe(t),iz),xx(aPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),lz),gx(Bwe(t),vz),gx(Bwe(t),Dz),Bx(Bwe(t),bz,pz);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Fz),gx(Bwe(t),mz),Bx(Bwe(t),Ez,dz);var i=n[3];if(i){lwe(t,kz);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),uz);return Sye((function(t,n){return t&&gx(Bwe(e),nz),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),az)}),t,c),lwe(t,hz)}else lwe(t,yz);return gx(Bwe(t),Cz),gx(Bwe(t),wz)})),XB(fPe,(function(r,e,t){var n=Bx(cPe,r,e);return Bx(Swe(tz),n,t)}));var oPe=[0,uPe,aPe,iPe,cPe,fPe],sPe=function r(e,t,n,u){return r.fun(e,t,n,u)},lPe=function r(e,t,n){return r.fun(e,t,n)},vPe=function r(e,t,n,u){return r.fun(e,t,n,u)},DPe=function r(e,t,n){return r.fun(e,t,n)};XB(sPe,(function(r,e,t,n){gx(Bwe(t),Zq),Bx(r,t,n[1]),gx(Bwe(t),rz);var u=n[2];return xx(vPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ez)})),XB(lPe,(function(r,e,t){var n=Bx(sPe,r,e);return Bx(Swe(Qq),n,t)})),XB(vPe,(function(r,e,t,n){gx(Bwe(t),Uq),Bx(Bwe(t),Gq,Xq);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Jq),gx(Bwe(t),qq),Bx(Bwe(t),Wq,zq);var a=n[2];if(a){lwe(t,Vq);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,$q)}else lwe(t,Yq);return gx(Bwe(t),Hq),gx(Bwe(t),Kq)})),XB(DPe,(function(r,e,t){var n=Bx(vPe,r,e);return Bx(Swe(jq),n,t)}));var pPe=[0,sPe,lPe,vPe,DPe],bPe=function r(e,t,n,u){return r.fun(e,t,n,u)},FPe=function r(e,t,n){return r.fun(e,t,n)},mPe=function r(e,t,n,u){return r.fun(e,t,n,u)},dPe=function r(e,t,n){return r.fun(e,t,n)};XB(bPe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),Nq);var u=n[1];return xx(pPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Oq);case 1:gx(Bwe(t),Lq);var a=n[1];return xx(KLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Pq);default:return gx(Bwe(t),Rq),Bx(r,t,n[1]),gx(Bwe(t),Mq)}})),XB(FPe,(function(r,e,t){var n=Bx(bPe,r,e);return Bx(Swe(Iq),n,t)})),XB(mPe,(function(r,e,t,n){gx(Bwe(t),pq),Bx(Bwe(t),Fq,bq);var u=n[1];gx(Bwe(t),mq);Sye((function(n,u){return n&&gx(Bwe(t),Dq),xx(bPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),dq),gx(Bwe(t),Eq),gx(Bwe(t),kq),Bx(Bwe(t),yq,hq);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Cq),gx(Bwe(t),wq),Bx(Bwe(t),_q,Aq);var i=n[3];if(i){lwe(t,gq);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),lq);return Sye((function(t,n){return t&&gx(Bwe(e),sq),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),vq)}),t,c),lwe(t,Bq)}else lwe(t,Sq);return gx(Bwe(t),xq),gx(Bwe(t),Tq)})),XB(dPe,(function(r,e,t){var n=Bx(mPe,r,e);return Bx(Swe(oq),n,t)}));var EPe=[0,pPe,bPe,FPe,mPe,dPe],kPe=function r(e,t,n,u){return r.fun(e,t,n,u)},hPe=function r(e,t,n){return r.fun(e,t,n)};XB(kPe,(function(r,e,t,n){gx(Bwe(t),YJ),Bx(Bwe(t),KJ,HJ);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),QJ),gx(Bwe(t),ZJ),Bx(Bwe(t),eq,rq);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),tq),gx(Bwe(t),nq),Bx(Bwe(t),aq,uq);var i=n[3];return Bx(Bwe(t),iq,i),gx(Bwe(t),cq),gx(Bwe(t),fq)})),XB(hPe,(function(r,e,t){var n=Bx(kPe,r,e);return Bx(Swe($J),n,t)}));var yPe=[0,kPe,hPe],CPe=function r(e,t,n,u){return r.fun(e,t,n,u)},wPe=function r(e,t,n){return r.fun(e,t,n)},APe=function r(e,t,n,u){return r.fun(e,t,n,u)},_Pe=function r(e,t,n){return r.fun(e,t,n)};XB(CPe,(function(r,e,t,n){gx(Bwe(t),zJ),Bx(e,t,n[1]),gx(Bwe(t),WJ);var u=n[2];return xx(APe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),VJ)})),XB(wPe,(function(r,e,t){var n=Bx(CPe,r,e);return Bx(Swe(qJ),n,t)})),XB(APe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),PJ);var u=n[1];return xx(oPe[4],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),RJ);case 1:gx(Bwe(t),MJ);var a=n[1];return xx(EPe[4],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),jJ);case 2:gx(Bwe(t),UJ);var i=n[1];return xx(yPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),XJ);default:gx(Bwe(t),GJ);var c=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),JJ)}})),XB(_Pe,(function(r,e,t){var n=Bx(APe,r,e);return Bx(Swe(LJ),n,t)})),Sx(eAe,rqr,HAe,[0,KLe,oPe,EPe,yPe,CPe,wPe,APe,_Pe]);var gPe=function r(e,t,n){return r.fun(e,t,n)},BPe=function r(e,t){return r.fun(e,t)},SPe=function r(e,t){return r.fun(e,t)},xPe=function r(e){return r.fun(e)},TPe=function r(e,t){return r.fun(e,t)},IPe=function r(e){return r.fun(e)};XB(gPe,(function(r,e,t){return gx(Bwe(e),IJ),Bx(r,e,t[1]),gx(Bwe(e),NJ),Bx(TPe,e,t[2]),gx(Bwe(e),OJ)})),XB(BPe,(function(r,e){var t=gx(gPe,r);return Bx(Swe(TJ),t,e)})),XB(SPe,(function(r,e){return lwe(r,0===e?xJ:SJ)})),XB(xPe,(function(r){return Bx(Swe(BJ),SPe,r)})),XB(TPe,(function(r,e){gx(Bwe(r),DJ),Bx(Bwe(r),bJ,pJ),Bx(SPe,r,e[1]),gx(Bwe(r),FJ),gx(Bwe(r),mJ),Bx(Bwe(r),EJ,dJ);var t=e[2];Bx(Bwe(r),kJ,t),gx(Bwe(r),hJ),gx(Bwe(r),yJ),Bx(Bwe(r),wJ,CJ);var n=e[3];return Bx(Bwe(r),AJ,n),gx(Bwe(r),_J),gx(Bwe(r),gJ)})),XB(IPe,(function(r){return Bx(Swe(vJ),TPe,r)})),Sx(eAe,eqr,KAe,[0,gPe,BPe,SPe,xPe,TPe,IPe]);var NPe=function r(e,t,n,u){return r.fun(e,t,n,u)},OPe=function r(e,t,n){return r.fun(e,t,n)},LPe=function r(e,t){return r.fun(e,t)},PPe=function r(e){return r.fun(e)},RPe=function r(e,t,n,u){return r.fun(e,t,n,u)},MPe=function r(e,t,n){return r.fun(e,t,n)};XB(NPe,(function(r,e,t,n){gx(Bwe(t),oJ),Bx(e,t,n[1]),gx(Bwe(t),sJ);var u=n[2];return xx(RPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),lJ)})),XB(OPe,(function(r,e,t){var n=Bx(NPe,r,e);return Bx(Swe(fJ),n,t)})),XB(LPe,(function(r,e){switch(e){case 0:return lwe(r,uJ);case 1:return lwe(r,aJ);case 2:return lwe(r,iJ);default:return lwe(r,cJ)}})),XB(PPe,(function(r){return Bx(Swe(nJ),LPe,r)})),XB(RPe,(function(r,e,t,n){gx(Bwe(t),CG),Bx(Bwe(t),AG,wG),Bx(LPe,t,n[1]),gx(Bwe(t),_G),gx(Bwe(t),gG),Bx(Bwe(t),SG,BG);var u=n[2];xx($Ae[7][1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),xG),gx(Bwe(t),TG),Bx(Bwe(t),NG,IG);var a=n[3];gx(Bwe(t),OG),Bx(r,t,a[1]),gx(Bwe(t),LG);var i=a[2];xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),PG),gx(Bwe(t),RG),gx(Bwe(t),MG),Bx(Bwe(t),UG,jG);var c=n[4];Bx(Bwe(t),XG,c),gx(Bwe(t),GG),gx(Bwe(t),JG),Bx(Bwe(t),zG,qG);var f=n[5];gx(Bwe(t),WG);Sye((function(n,u){return n&&gx(Bwe(t),yG),xx(QAe[7][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,f),gx(Bwe(t),VG),gx(Bwe(t),$G),gx(Bwe(t),YG),Bx(Bwe(t),KG,HG);var o=n[6];if(o){lwe(t,QG);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,hG)}),t,s),lwe(t,ZG)}else lwe(t,rJ);return gx(Bwe(t),eJ),gx(Bwe(t),tJ)})),XB(MPe,(function(r,e,t){var n=Bx(RPe,r,e);return Bx(Swe(kG),n,t)}));var jPe=[0,NPe,OPe,LPe,PPe,RPe,MPe],UPe=function r(e,t,n,u){return r.fun(e,t,n,u)},XPe=function r(e,t,n){return r.fun(e,t,n)},GPe=function r(e,t,n,u){return r.fun(e,t,n,u)},JPe=function r(e,t,n){return r.fun(e,t,n)},qPe=function r(e,t,n,u){return r.fun(e,t,n,u)},zPe=function r(e,t,n){return r.fun(e,t,n)};XB(UPe,(function(r,e,t,n){gx(Bwe(t),mG),Bx(e,t,n[1]),gx(Bwe(t),dG);var u=n[2];return xx(GPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),EG)})),XB(XPe,(function(r,e,t){var n=Bx(UPe,r,e);return Bx(Swe(FG),n,t)})),XB(GPe,(function(r,e,t,n){gx(Bwe(t),MX),Bx(Bwe(t),UX,jX);var u=n[1];xx($Ae[7][1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),XX),gx(Bwe(t),GX),Bx(Bwe(t),qX,JX);var a=n[2];xx(qPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),zX),gx(Bwe(t),WX),Bx(Bwe(t),$X,VX);var i=n[3];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),YX),gx(Bwe(t),HX),Bx(Bwe(t),QX,KX);var c=n[4];Bx(Bwe(t),ZX,c),gx(Bwe(t),rG),gx(Bwe(t),eG),Bx(Bwe(t),nG,tG);var f=n[5];if(f){lwe(t,uG);var o=f[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,o),lwe(t,aG)}else lwe(t,iG);gx(Bwe(t),cG),gx(Bwe(t),fG),Bx(Bwe(t),sG,oG);var s=n[6];if(s){lwe(t,lG);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,RX)}),t,l),lwe(t,vG)}else lwe(t,DG);return gx(Bwe(t),pG),gx(Bwe(t),bG)})),XB(JPe,(function(r,e,t){var n=Bx(GPe,r,e);return Bx(Swe(PX),n,t)})),XB(qPe,(function(r,e,t,n){if(\"number\"==typeof n)return lwe(t,0===n?NX:IX);gx(Bwe(t),OX);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),LX)})),XB(zPe,(function(r,e,t){var n=Bx(qPe,r,e);return Bx(Swe(TX),n,t)}));var WPe=[0,UPe,XPe,GPe,JPe,qPe,zPe],VPe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Pe=function r(e,t,n){return r.fun(e,t,n)},YPe=function r(e,t,n,u){return r.fun(e,t,n,u)},HPe=function r(e,t,n){return r.fun(e,t,n)};XB(VPe,(function(r,e,t,n){gx(Bwe(t),BX),Bx(e,t,n[1]),gx(Bwe(t),SX);var u=n[2];return xx(YPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),xX)})),XB($Pe,(function(r,e,t){var n=Bx(VPe,r,e);return Bx(Swe(gX),n,t)})),XB(YPe,(function(r,e,t,n){gx(Bwe(t),YU),Bx(Bwe(t),KU,HU);var u=n[1];Sx(MAe[1],(function(e){return gx(r,e)}),t,u),gx(Bwe(t),QU),gx(Bwe(t),ZU),Bx(Bwe(t),eX,rX);var a=n[2];xx(QAe[2][5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),tX),gx(Bwe(t),nX),Bx(Bwe(t),aX,uX);var i=n[3];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),iX),gx(Bwe(t),cX),Bx(Bwe(t),oX,fX);var c=n[4];Bx(Bwe(t),sX,c),gx(Bwe(t),lX),gx(Bwe(t),vX),Bx(Bwe(t),pX,DX);var f=n[5];if(f){lwe(t,bX);var o=f[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,o),lwe(t,FX)}else lwe(t,mX);gx(Bwe(t),dX),gx(Bwe(t),EX),Bx(Bwe(t),hX,kX);var s=n[6];if(s){lwe(t,yX);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,$U)}),t,l),lwe(t,CX)}else lwe(t,wX);return gx(Bwe(t),AX),gx(Bwe(t),_X)})),XB(HPe,(function(r,e,t){var n=Bx(YPe,r,e);return Bx(Swe(VU),n,t)}));var KPe=[0,VPe,$Pe,YPe,HPe],QPe=function r(e,t,n,u){return r.fun(e,t,n,u)},ZPe=function r(e,t,n){return r.fun(e,t,n)},rRe=function r(e,t,n,u){return r.fun(e,t,n,u)},eRe=function r(e,t,n){return r.fun(e,t,n)};XB(QPe,(function(r,e,t,n){gx(Bwe(t),qU),Bx(r,t,n[1]),gx(Bwe(t),zU);var u=n[2];return xx(rRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),WU)})),XB(ZPe,(function(r,e,t){var n=Bx(QPe,r,e);return Bx(Swe(JU),n,t)})),XB(rRe,(function(r,e,t,n){gx(Bwe(t),wU),Bx(Bwe(t),_U,AU);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),gU),gx(Bwe(t),BU),Bx(Bwe(t),xU,SU);var a=n[2];if(a){lwe(t,TU);var i=a[1];xx(WAe[21][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,IU)}else lwe(t,NU);gx(Bwe(t),OU),gx(Bwe(t),LU),Bx(Bwe(t),RU,PU);var c=n[3];if(c){lwe(t,MU);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,CU)}),t,f),lwe(t,jU)}else lwe(t,UU);return gx(Bwe(t),XU),gx(Bwe(t),GU)})),XB(eRe,(function(r,e,t){var n=Bx(rRe,r,e);return Bx(Swe(yU),n,t)}));var tRe=[0,QPe,ZPe,rRe,eRe],nRe=function r(e,t,n,u){return r.fun(e,t,n,u)},uRe=function r(e,t,n){return r.fun(e,t,n)},aRe=function r(e,t,n,u){return r.fun(e,t,n,u)},iRe=function r(e,t,n){return r.fun(e,t,n)};XB(nRe,(function(r,e,t,n){gx(Bwe(t),EU),Bx(r,t,n[1]),gx(Bwe(t),kU);var u=n[2];return xx(aRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),hU)})),XB(uRe,(function(r,e,t){var n=Bx(nRe,r,e);return Bx(Swe(dU),n,t)})),XB(aRe,(function(r,e,t,n){gx(Bwe(t),iU),Bx(Bwe(t),fU,cU);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),oU),gx(Bwe(t),sU),Bx(Bwe(t),vU,lU);var a=n[2];if(a){lwe(t,DU);var i=a[1];xx(WAe[21][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,pU)}else lwe(t,bU);return gx(Bwe(t),FU),gx(Bwe(t),mU)})),XB(iRe,(function(r,e,t){var n=Bx(aRe,r,e);return Bx(Swe(aU),n,t)}));var cRe=[0,nRe,uRe,aRe,iRe],fRe=function r(e,t,n,u){return r.fun(e,t,n,u)},oRe=function r(e,t,n){return r.fun(e,t,n)},sRe=function r(e,t,n,u){return r.fun(e,t,n,u)},lRe=function r(e,t,n){return r.fun(e,t,n)};XB(fRe,(function(r,e,t,n){gx(Bwe(t),tU),Bx(r,t,n[1]),gx(Bwe(t),nU);var u=n[2];return xx(sRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),uU)})),XB(oRe,(function(r,e,t){var n=Bx(fRe,r,e);return Bx(Swe(eU),n,t)})),XB(sRe,(function(r,e,t,n){gx(Bwe(t),Xj),Bx(Bwe(t),Jj,Gj);var u=n[1];gx(Bwe(t),qj);Sye((function(n,u){return n&&gx(Bwe(t),Uj),xx(cRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),zj),gx(Bwe(t),Wj),gx(Bwe(t),Vj),Bx(Bwe(t),Yj,$j);var a=n[2];if(a){lwe(t,Hj);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,jj)}),t,i),lwe(t,Kj)}else lwe(t,Qj);return gx(Bwe(t),Zj),gx(Bwe(t),rU)})),XB(lRe,(function(r,e,t){var n=Bx(sRe,r,e);return Bx(Swe(Mj),n,t)}));var vRe=[0,cRe,fRe,oRe,sRe,lRe],DRe=function r(e,t,n,u){return r.fun(e,t,n,u)},pRe=function r(e,t,n){return r.fun(e,t,n)},bRe=function r(e,t,n,u){return r.fun(e,t,n,u)},FRe=function r(e,t,n){return r.fun(e,t,n)},mRe=function r(e,t,n,u){return r.fun(e,t,n,u)},dRe=function r(e,t,n){return r.fun(e,t,n)};XB(DRe,(function(r,e,t,n){gx(Bwe(t),Lj),Bx(r,t,n[1]),gx(Bwe(t),Pj);var u=n[2];return xx(bRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Rj)})),XB(pRe,(function(r,e,t){var n=Bx(DRe,r,e);return Bx(Swe(Oj),n,t)})),XB(bRe,(function(r,e,t,n){gx(Bwe(t),kj),Bx(Bwe(t),yj,hj);var u=n[1];gx(Bwe(t),Cj);Sye((function(n,u){return n&&gx(Bwe(t),Ej),xx(mRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),wj),gx(Bwe(t),Aj),gx(Bwe(t),_j),Bx(Bwe(t),Bj,gj);var a=n[2];if(a){lwe(t,Sj);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,dj)}),t,i),lwe(t,xj)}else lwe(t,Tj);return gx(Bwe(t),Ij),gx(Bwe(t),Nj)})),XB(FRe,(function(r,e,t){var n=Bx(bRe,r,e);return Bx(Swe(mj),n,t)})),XB(mRe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),lj);var u=n[1];return xx(jPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vj);case 1:gx(Bwe(t),Dj);var a=n[1];return xx(WPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),pj);default:gx(Bwe(t),bj);var i=n[1];return xx(KPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Fj)}})),XB(dRe,(function(r,e,t){var n=Bx(mRe,r,e);return Bx(Swe(sj),n,t)}));var ERe=function r(e,t,n,u){return r.fun(e,t,n,u)},kRe=function r(e,t,n){return r.fun(e,t,n)},hRe=function r(e,t,n,u){return r.fun(e,t,n,u)},yRe=function r(e,t,n){return r.fun(e,t,n)},CRe=[0,DRe,pRe,bRe,FRe,mRe,dRe];XB(ERe,(function(r,e,t,n){gx(Bwe(t),cj),Bx(r,t,n[1]),gx(Bwe(t),fj);var u=n[2];return xx(hRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),oj)})),XB(kRe,(function(r,e,t){var n=Bx(ERe,r,e);return Bx(Swe(ij),n,t)})),XB(hRe,(function(r,e,t,n){gx(Bwe(t),$M),Bx(Bwe(t),HM,YM);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),KM),gx(Bwe(t),QM),Bx(Bwe(t),rj,ZM);var a=n[2];if(a){lwe(t,ej);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,VM)}),t,i),lwe(t,tj)}else lwe(t,nj);return gx(Bwe(t),uj),gx(Bwe(t),aj)})),XB(yRe,(function(r,e,t){var n=Bx(hRe,r,e);return Bx(Swe(WM),n,t)}));var wRe=[0,ERe,kRe,hRe,yRe],ARe=function r(e,t,n,u){return r.fun(e,t,n,u)},_Re=function r(e,t,n){return r.fun(e,t,n)};XB(ARe,(function(r,e,t,n){gx(Bwe(t),rM),Bx(Bwe(t),tM,eM);var u=n[1];if(u){lwe(t,nM);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,uM)}else lwe(t,aM);gx(Bwe(t),iM),gx(Bwe(t),cM),Bx(Bwe(t),oM,fM);var i=n[2];xx(QAe[6][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),sM),gx(Bwe(t),lM),Bx(Bwe(t),DM,vM);var c=n[3];if(c){lwe(t,pM);var f=c[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,bM)}else lwe(t,FM);gx(Bwe(t),mM),gx(Bwe(t),dM),Bx(Bwe(t),kM,EM);var o=n[4];if(o){lwe(t,hM);var s=o[1];xx(tRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),lwe(t,yM)}else lwe(t,CM);gx(Bwe(t),wM),gx(Bwe(t),AM),Bx(Bwe(t),gM,_M);var l=n[5];if(l){lwe(t,BM);var v=l[1];xx(vRe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),lwe(t,SM)}else lwe(t,xM);gx(Bwe(t),TM),gx(Bwe(t),IM),Bx(Bwe(t),OM,NM);var D=n[6];gx(Bwe(t),LM);Sye((function(n,u){return n&&gx(Bwe(t),ZR),xx(wRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,D),gx(Bwe(t),PM),gx(Bwe(t),RM),gx(Bwe(t),MM),Bx(Bwe(t),UM,jM);var p=n[7];if(p){lwe(t,XM);var b=p[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,QR)}),t,b),lwe(t,GM)}else lwe(t,JM);return gx(Bwe(t),qM),gx(Bwe(t),zM)})),XB(_Re,(function(r,e,t){var n=Bx(ARe,r,e);return Bx(Swe(KR),n,t)})),Sx(eAe,tqr,QAe,[0,jPe,WPe,KPe,tRe,vRe,CRe,wRe,ARe,_Re]);var gRe=function r(e,t,n,u){return r.fun(e,t,n,u)},BRe=function r(e,t,n){return r.fun(e,t,n)},SRe=function r(e,t,n,u){return r.fun(e,t,n,u)},xRe=function r(e,t,n){return r.fun(e,t,n)};XB(gRe,(function(r,e,t,n){gx(Bwe(t),$R),Bx(r,t,n[1]),gx(Bwe(t),YR);var u=n[2];return xx(SRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),HR)})),XB(BRe,(function(r,e,t){var n=Bx(gRe,r,e);return Bx(Swe(VR),n,t)})),XB(SRe,(function(r,e,t,n){gx(Bwe(t),LR),Bx(Bwe(t),RR,PR);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),MR),gx(Bwe(t),jR),Bx(Bwe(t),XR,UR);var a=n[2];if(a){lwe(t,GR);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,OR)}),t,i),lwe(t,JR)}else lwe(t,qR);return gx(Bwe(t),zR),gx(Bwe(t),WR)})),XB(xRe,(function(r,e,t){var n=Bx(SRe,r,e);return Bx(Swe(NR),n,t)}));var TRe=[0,gRe,BRe,SRe,xRe],IRe=function r(e,t,n,u){return r.fun(e,t,n,u)},NRe=function r(e,t,n){return r.fun(e,t,n)},ORe=function r(e,t,n,u){return r.fun(e,t,n,u)},LRe=function r(e,t,n){return r.fun(e,t,n)};XB(IRe,(function(r,e,t,n){gx(Bwe(t),xR),Bx(r,t,n[1]),gx(Bwe(t),TR);var u=n[2];return xx(ORe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),IR)})),XB(NRe,(function(r,e,t){var n=Bx(IRe,r,e);return Bx(Swe(SR),n,t)})),XB(ORe,(function(r,e,t,n){gx(Bwe(t),mR),Bx(Bwe(t),ER,dR);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),kR),gx(Bwe(t),hR),Bx(Bwe(t),CR,yR);var a=n[2];if(a){lwe(t,wR);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,AR)}else lwe(t,_R);return gx(Bwe(t),gR),gx(Bwe(t),BR)})),XB(LRe,(function(r,e,t){var n=Bx(ORe,r,e);return Bx(Swe(FR),n,t)}));var PRe=[0,IRe,NRe,ORe,LRe],RRe=function r(e,t,n,u){return r.fun(e,t,n,u)},MRe=function r(e,t,n){return r.fun(e,t,n)},jRe=function r(e,t,n,u){return r.fun(e,t,n,u)},URe=function r(e,t,n){return r.fun(e,t,n)};XB(RRe,(function(r,e,t,n){gx(Bwe(t),DR),Bx(r,t,n[1]),gx(Bwe(t),pR);var u=n[2];return xx(jRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),bR)})),XB(MRe,(function(r,e,t){var n=Bx(RRe,r,e);return Bx(Swe(vR),n,t)})),XB(jRe,(function(r,e,t,n){gx(Bwe(t),rR),Bx(Bwe(t),tR,eR);var u=n[1];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nR),gx(Bwe(t),uR),Bx(Bwe(t),iR,aR);var a=n[2];if(a){lwe(t,cR);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ZP)}),t,i),lwe(t,fR)}else lwe(t,oR);return gx(Bwe(t),sR),gx(Bwe(t),lR)})),XB(URe,(function(r,e,t){var n=Bx(jRe,r,e);return Bx(Swe(QP),n,t)}));var XRe=[0,RRe,MRe,jRe,URe],GRe=function r(e,t,n,u){return r.fun(e,t,n,u)},JRe=function r(e,t,n){return r.fun(e,t,n)},qRe=function r(e,t,n,u){return r.fun(e,t,n,u)},zRe=function r(e,t,n){return r.fun(e,t,n)};XB(GRe,(function(r,e,t,n){gx(Bwe(t),YP),Bx(r,t,n[1]),gx(Bwe(t),HP);var u=n[2];return xx(qRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),KP)})),XB(JRe,(function(r,e,t){var n=Bx(GRe,r,e);return Bx(Swe($P),n,t)})),XB(qRe,(function(r,e,t,n){gx(Bwe(t),kP),Bx(Bwe(t),yP,hP);var u=n[1];if(u){lwe(t,CP);var a=u[1];xx(XRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,wP)}else lwe(t,AP);gx(Bwe(t),_P),gx(Bwe(t),gP),Bx(Bwe(t),SP,BP);var i=n[2];gx(Bwe(t),xP);Sye((function(n,u){return n&&gx(Bwe(t),EP),xx(PRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),TP),gx(Bwe(t),IP),gx(Bwe(t),NP),Bx(Bwe(t),LP,OP);var c=n[3];if(c){lwe(t,PP);var f=c[1];xx(TRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,RP)}else lwe(t,MP);gx(Bwe(t),jP),gx(Bwe(t),UP),Bx(Bwe(t),GP,XP);var o=n[4];if(o){lwe(t,JP);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),mP);return Sye((function(t,n){return t&&gx(Bwe(e),FP),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),dP)}),t,s),lwe(t,qP)}else lwe(t,zP);return gx(Bwe(t),WP),gx(Bwe(t),VP)})),XB(zRe,(function(r,e,t){var n=Bx(qRe,r,e);return Bx(Swe(bP),n,t)}));var WRe=[0,GRe,JRe,qRe,zRe],VRe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Re=function r(e,t,n){return r.fun(e,t,n)},YRe=function r(e,t,n,u){return r.fun(e,t,n,u)},HRe=function r(e,t,n){return r.fun(e,t,n)};XB(VRe,(function(r,e,t,n){gx(Bwe(t),pL),Bx(Bwe(t),FL,bL);var u=n[1];if(u){lwe(t,mL);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,dL)}else lwe(t,EL);gx(Bwe(t),kL),gx(Bwe(t),hL),Bx(Bwe(t),CL,yL);var i=n[2];xx(WRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),wL),gx(Bwe(t),AL),Bx(Bwe(t),gL,_L);var c=n[3];xx(YRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),BL),gx(Bwe(t),SL),Bx(Bwe(t),TL,xL);var f=n[4];Bx(Bwe(t),IL,f),gx(Bwe(t),NL),gx(Bwe(t),OL),Bx(Bwe(t),PL,LL);var o=n[5];Bx(Bwe(t),RL,o),gx(Bwe(t),ML),gx(Bwe(t),jL),Bx(Bwe(t),XL,UL);var s=n[6];if(s){lwe(t,GL);var l=s[1];xx(WAe[22][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,l),lwe(t,JL)}else lwe(t,qL);gx(Bwe(t),zL),gx(Bwe(t),WL),Bx(Bwe(t),$L,VL);var v=n[7];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),YL),gx(Bwe(t),HL),Bx(Bwe(t),QL,KL);var D=n[8];if(D){lwe(t,ZL);var p=D[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),lwe(t,rP)}else lwe(t,eP);gx(Bwe(t),tP),gx(Bwe(t),nP),Bx(Bwe(t),aP,uP);var b=n[9];if(b){lwe(t,iP);var F=b[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,DL)}),t,F),lwe(t,cP)}else lwe(t,fP);return gx(Bwe(t),oP),gx(Bwe(t),sP),Bx(Bwe(t),vP,lP),Bx(r,t,n[10]),gx(Bwe(t),DP),gx(Bwe(t),pP)})),XB($Re,(function(r,e,t){var n=Bx(VRe,r,e);return Bx(Swe(vL),n,t)})),XB(YRe,(function(r,e,t,n){if(0===n[0]){var u=n[1];gx(Bwe(t),aL),gx(Bwe(t),iL),Bx(r,t,u[1]),gx(Bwe(t),cL);var a=u[2];return xx(VAe[1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),fL),gx(Bwe(t),oL)}gx(Bwe(t),sL);var i=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),lL)})),XB(HRe,(function(r,e,t){var n=Bx(YRe,r,e);return Bx(Swe(uL),n,t)})),Sx(eAe,nqr,ZAe,[0,TRe,PRe,XRe,WRe,VRe,$Re,YRe,HRe]);var KRe=function r(e,t,n,u){return r.fun(e,t,n,u)},QRe=function r(e,t,n){return r.fun(e,t,n)},ZRe=function r(e,t,n,u){return r.fun(e,t,n,u)},rMe=function r(e,t,n){return r.fun(e,t,n)};XB(KRe,(function(r,e,t,n){gx(Bwe(t),eL),Bx(r,t,n[1]),gx(Bwe(t),tL);var u=n[2];return xx(ZRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nL)})),XB(QRe,(function(r,e,t){var n=Bx(KRe,r,e);return Bx(Swe(rL),n,t)})),XB(ZRe,(function(r,e,t,n){gx(Bwe(t),OO),Bx(Bwe(t),PO,LO);var u=n[1];gx(Bwe(t),RO);Sye((function(n,u){return n&&gx(Bwe(t),NO),xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),MO),gx(Bwe(t),jO),gx(Bwe(t),UO),Bx(Bwe(t),GO,XO);var a=n[2];if(a){lwe(t,JO);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,IO)}),t,i),lwe(t,qO)}else lwe(t,zO);gx(Bwe(t),WO),gx(Bwe(t),VO),Bx(Bwe(t),YO,$O);var c=n[3];gx(Bwe(t),HO);return Sye((function(e,n){return e&&gx(Bwe(t),TO),Sx(KAe[1],(function(e){return gx(r,e)}),t,n),1}),0,c),gx(Bwe(t),KO),gx(Bwe(t),QO),gx(Bwe(t),ZO)})),XB(rMe,(function(r,e,t){var n=Bx(ZRe,r,e);return Bx(Swe(xO),n,t)})),Sx(eAe,uqr,t_e,[0,KRe,QRe,ZRe,rMe]);var eMe=function(r,e){if(e){var t=e[1],n=gx(r,t);return t===n?e:[0,n]}return e},tMe=function(r,e,t,n,u){var a=Bx(r,e,t);return t===a?n:gx(u,a)},nMe=function(r,e,t,n){var u=gx(r,e);return e===u?t:gx(n,u)},uMe=function(r,e){var t=e[1];return tMe(r,t,e[2],e,(function(r){return[0,t,r]}))},aMe=function(r,e){var t=Sye((function(e,t){var n=gx(r,t),u=e[2]||(n!==t?1:0);return[0,[0,n,e[1]],u]}),Dqr,e);return t[2]?wye(t[1]):e},iMe=Hwe(bqr,(function(r){var e=qwe(r,pqr),t=e[1],n=e[2],u=e[3],a=e[4],i=e[5],c=e[6],f=e[7],o=e[8],s=e[9],v=e[10],D=e[11],p=e[12],b=e[13],F=e[14],m=e[15],d=e[16],E=e[17],k=e[18],h=e[19],y=e[20],C=e[21],w=e[22],A=e[23],_=e[24],B=e[25],x=e[26],T=e[27],I=e[28],N=e[29],O=e[30],L=e[31],P=e[32],R=e[33],M=e[34],j=e[35],U=e[36],X=e[37],G=e[38],J=e[39],q=e[40],z=e[42],W=e[43],V=e[44],$=e[45],Y=e[46],H=e[47],K=e[48],Q=e[49],Z=e[50],rr=e[51],er=e[52],tr=e[53],nr=e[54],ur=e[55],ar=e[56],ir=e[58],cr=e[59],fr=e[60],or=e[61],sr=e[62],lr=e[63],vr=e[64],Dr=e[65],pr=e[66],br=e[67],Fr=e[68],mr=e[69],dr=e[70],Er=e[71],kr=e[72],hr=e[73],yr=e[74],Cr=e[75],wr=e[76],Ar=e[77],_r=e[78],gr=e[79],Br=e[80],Sr=e[81],xr=e[82],Tr=e[83],Ir=e[84],Nr=e[85],Or=e[86],Lr=e[87],Pr=e[88],Rr=e[89],Mr=e[90],jr=e[91],Ur=e[92],Xr=e[93],Gr=e[94],qr=e[95],zr=e[96],Wr=e[97],Vr=e[98],$r=e[99],Yr=e[Fu],Hr=e[CE],Kr=e[EE],Qr=e[$l],Zr=e[sE],re=e[tg],ee=e[Ma],te=e[Uu],ne=e[Bb],ue=e[ak],ae=e[Ve],ie=e[Jr],ce=e[Be],fe=e[eu],oe=e[vi],se=e[sA],le=e[cm],ve=e[wt],De=e[Zd],pe=e[cE],be=e[S_],Fe=e[h_],me=e[g],de=e[xp],Ee=e[jF],ke=e[gd],he=e[TF],ye=e[zy],Ce=e[S],we=e[129],Ae=e[130],_e=e[131],ge=e[132],Se=e[133],xe=e[134],Te=e[135],Ie=e[136],Ne=e[137],Oe=e[138],Le=e[139],Pe=e[140],Re=e[141],Me=e[142],je=e[143],Ue=e[144],Xe=e[145],Ge=e[146],Je=e[147],qe=e[148],ze=e[149],We=e[150],$e=e[151],Ye=e[152],He=e[153],Ke=e[154],Qe=e[155],Ze=e[156],rt=e[157],et=e[158],tt=e[159],nt=e[160],ut=e[161],at=e[162],it=e[163],ct=e[164],ft=e[165],ot=e[166],st=e[167],lt=e[168],vt=e[169],Dt=e[170],pt=e[171],bt=e[172],Ft=e[173],mt=e[174],dt=e[175],Et=e[176],kt=e[177],ht=e[178],yt=e[179],Ct=e[180],At=e[181],_t=e[182],gt=e[183],Bt=e[184],St=e[185],xt=e[186],Tt=e[187],It=e[188],Nt=e[189],Ot=e[190],Lt=e[191],Pt=e[l],Rt=e[193],Mt=e[194],jt=e[195],Ut=e[196],Xt=e[197],Gt=e[198],Jt=e[199],qt=e[200],zt=e[201],Wt=e[202],Vt=e[203],$t=e[204],Yt=e[205],Ht=e[206],Kt=e[207],Qt=e[208],Zt=e[209],rn=e[210],en=e[211],tn=e[212],nn=e[41],un=e[57];return rAe(r,[0,nn,function(r,e){var t=e[2],n=t[3],u=t[2],a=t[1],i=Bx(r[1][w+1],r,a),c=Bx(r[1][I+1],r,u),f=aMe(gx(r[1][At+1],r),n);return a===i&&u===c&&n===f?e:[0,e[1],[0,i,c,f]]},U,function(r,e){var t=e[2],a=e[1];switch(t[0]){case 0:var i=t[1];return tMe(gx(r[1][Vt+1],r),a,i,e,(function(r){return[0,a,[0,r]]}));case 1:var c=t[1];return tMe(gx(r[1][zt+1],r),a,c,e,(function(r){return[0,a,[1,r]]}));case 2:var o=t[1];return tMe(gx(r[1][Rt+1],r),a,o,e,(function(r){return[0,a,[2,r]]}));case 3:var s=t[1];return tMe(gx(r[1][kt+1],r),a,s,e,(function(r){return[0,a,[3,r]]}));case 4:var l=t[1];return tMe(gx(r[1][Et+1],r),a,l,e,(function(r){return[0,a,[4,r]]}));case 5:var v=t[1];return tMe(gx(r[1][dt+1],r),a,v,e,(function(r){return[0,a,[5,r]]}));case 6:var D=t[1];return tMe(gx(r[1][mt+1],r),a,D,e,(function(r){return[0,a,[6,r]]}));case 7:var p=t[1];return tMe(gx(r[1][bt+1],r),a,p,e,(function(r){return[0,a,[7,r]]}));case 8:var b=t[1];return tMe(gx(r[1][pt+1],r),a,b,e,(function(r){return[0,a,[8,r]]}));case 9:var F=t[1];return tMe(gx(r[1][Dt+1],r),a,F,e,(function(r){return[0,a,[9,r]]}));case 10:var m=t[1];return tMe(gx(r[1][vt+1],r),a,m,e,(function(r){return[0,a,[10,r]]}));case 11:var d=t[1];return tMe(gx(r[1][lt+1],r),a,d,e,(function(r){return[0,a,[11,r]]}));case 12:return e;case 13:var E=t[1];return tMe(gx(r[1][st+1],r),a,E,e,(function(r){return[0,a,[13,r]]}));case 14:var h=t[1];return tMe(gx(r[1][ot+1],r),a,h,e,(function(r){return[0,a,[14,r]]}));case 15:var y=t[1];return tMe(gx(r[1][ft+1],r),a,y,e,(function(r){return[0,a,[15,r]]}));case 16:var w=t[1];return tMe(gx(r[1][at+1],r),a,w,e,(function(r){return[0,a,[16,r]]}));case 17:var _=t[1];return tMe(gx(r[1][Qe+1],r),a,_,e,(function(r){return[0,a,[17,r]]}));case 18:var g=t[1];return tMe(gx(r[1][He+1],r),a,g,e,(function(r){return[0,a,[18,r]]}));case 19:var B=t[1];return tMe(gx(r[1][qe+1],r),a,B,e,(function(r){return[0,a,[19,r]]}));case 20:var S=t[1];return tMe(gx(r[1][Re+1],r),a,S,e,(function(r){return[0,a,[20,r]]}));case 21:var x=t[1];return tMe(gx(r[1][Ge+1],r),a,x,e,(function(r){return[0,a,[21,r]]}));case 22:var T=t[1];return tMe(gx(r[1][je+1],r),a,T,e,(function(r){return[0,a,[22,r]]}));case 23:var I=t[1];return tMe(gx(r[1][Ie+1],r),a,I,e,(function(r){return[0,a,[23,r]]}));case 24:var N=t[1];return tMe(gx(r[1][De+1],r),a,N,e,(function(r){return[0,a,[24,r]]}));case 25:var O=t[1];return tMe(gx(r[1][le+1],r),a,O,e,(function(r){return[0,a,[25,r]]}));case 26:var P=t[1];return tMe(gx(r[1][ae+1],r),a,P,e,(function(r){return[0,a,[26,r]]}));case 27:var R=t[1];return tMe(gx(r[1][Mr+1],r),a,R,e,(function(r){return[0,a,[27,r]]}));case 28:var M=t[1];return tMe(gx(r[1][q+1],r),a,M,e,(function(r){return[0,a,[28,r]]}));case 29:var j=t[1];return tMe(gx(r[1][L+1],r),a,j,e,(function(r){return[0,a,[29,r]]}));case 30:var U=t[1];return tMe(gx(r[1][A+1],r),a,U,e,(function(r){return[0,a,[30,r]]}));case 31:var X=t[1];return tMe(gx(r[1][C+1],r),a,X,e,(function(r){return[0,a,[31,r]]}));case 32:var G=t[1];return tMe(gx(r[1][k+1],r),a,G,e,(function(r){return[0,a,[32,r]]}));case 33:var J=t[1];return tMe(gx(r[1][pr+1],r),a,J,e,(function(r){return[0,a,[33,r]]}));case 34:var z=t[1];return tMe(gx(r[1][f+1],r),a,z,e,(function(r){return[0,a,[34,r]]}));case 35:var W=t[1];return tMe(gx(r[1][u+1],r),a,W,e,(function(r){return[0,a,[35,r]]}));default:var V=t[1];return tMe(gx(r[1][n+1],r),a,V,e,(function(r){return[0,a,[36,r]]}))}},At,function(r,e){return e},I,8,eMe,N,N,function(r,e){var t=e[2],n=e[1],u=aMe(gx(r[1][At+1],r),n),a=aMe(gx(r[1][At+1],r),t);return n===u&&t===a?e:[0,u,a,e[3]]},We,function(r,e){var n=e[2],u=e[1];switch(n[0]){case 0:var a=n[1];return tMe(gx(r[1][tn+1],r),u,a,e,(function(r){return[0,u,[0,r]]}));case 1:var i=n[1];return tMe(gx(r[1][Zt+1],r),u,i,e,(function(r){return[0,u,[1,r]]}));case 2:var c=n[1];return tMe(gx(r[1][Qt+1],r),u,c,e,(function(r){return[0,u,[2,r]]}));case 3:var f=n[1];return tMe(gx(r[1][Yt+1],r),u,f,e,(function(r){return[0,u,[3,r]]}));case 4:var s=n[1];return tMe(gx(r[1][qt+1],r),u,s,e,(function(r){return[0,u,[4,r]]}));case 5:var l=n[1];return tMe(gx(r[1][Rt+1],r),u,l,e,(function(r){return[0,u,[5,r]]}));case 6:var D=n[1];return tMe(gx(r[1][Ct+1],r),u,D,e,(function(r){return[0,u,[6,r]]}));case 7:var p=n[1];return tMe(gx(r[1][ht+1],r),u,p,e,(function(r){return[0,u,[7,r]]}));case 8:var b=n[1];return tMe(gx(r[1][Te+1],r),u,b,e,(function(r){return[0,u,[8,r]]}));case 9:var m=n[1];return tMe(gx(r[1][Ee+1],r),u,m,e,(function(r){return[0,u,[9,r]]}));case 10:var d=n[1];return nMe(gx(r[1][Fe+1],r),d,e,(function(r){return[0,u,[10,r]]}));case 11:var E=n[1];return nMe(Bx(r[1][ve+1],r,u),E,e,(function(r){return[0,u,[11,r]]}));case 12:var k=n[1];return tMe(gx(r[1][Kr+1],r),u,k,e,(function(r){return[0,u,[12,r]]}));case 13:var h=n[1];return tMe(gx(r[1][Yr+1],r),u,h,e,(function(r){return[0,u,[13,r]]}));case 14:var y=n[1];return tMe(gx(r[1][Rr+1],r),u,y,e,(function(r){return[0,u,[14,r]]}));case 15:var C=n[1];return tMe(gx(r[1][Pr+1],r),u,C,e,(function(r){return[0,u,[15,r]]}));case 16:var w=n[1];return tMe(gx(r[1][Lr+1],r),u,w,e,(function(r){return[0,u,[16,r]]}));case 17:var A=n[1];return tMe(gx(r[1][xr+1],r),u,A,e,(function(r){return[0,u,[17,r]]}));case 18:var g=n[1];return tMe(gx(r[1][Sr+1],r),u,g,e,(function(r){return[0,u,[18,r]]}));case 19:var B=n[1];return tMe(gx(r[1][_r+1],r),u,B,e,(function(r){return[0,u,[19,r]]}));case 20:var S=n[1];return nMe(Bx(r[1][Dr+1],r,u),S,e,(function(r){return[0,u,[20,r]]}));case 21:var I=n[1];return tMe(gx(r[1][vr+1],r),u,I,e,(function(r){return[0,u,[21,r]]}));case 22:var N=n[1];return tMe(gx(r[1][J+1],r),u,N,e,(function(r){return[0,u,[22,r]]}));case 23:var O=n[1];return tMe(gx(r[1][P+1],r),u,O,e,(function(r){return[0,u,[23,r]]}));case 24:var L=n[1];return tMe(gx(r[1][T+1],r),u,L,e,(function(r){return[0,u,[24,r]]}));case 25:var R=n[1];return tMe(gx(r[1][x+1],r),u,R,e,(function(r){return[0,u,[25,r]]}));case 26:var M=n[1];return tMe(gx(r[1][_+1],r),u,M,e,(function(r){return[0,u,[26,r]]}));case 27:var j=n[1];return tMe(gx(r[1][F+1],r),u,j,e,(function(r){return[0,u,[27,r]]}));case 28:var U=n[1];return tMe(gx(r[1][v+1],r),u,U,e,(function(r){return[0,u,[28,r]]}));case 29:var X=n[1];return tMe(gx(r[1][o+1],r),u,X,e,(function(r){return[0,u,[29,r]]}));default:var G=n[1];return tMe(gx(r[1][t+1],r),u,G,e,(function(r){return[0,u,[30,r]]}))}},tn,function(r,e,t){var n=t[2],u=t[1],a=aMe(gx(r[1][en+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},en,function(r,e){switch(e[0]){case 0:var t=e[1];return nMe(gx(r[1][We+1],r),t,e,(function(r){return[0,r]}));case 1:var n=e[1];return nMe(gx(r[1][G+1],r),n,e,(function(r){return[1,r]}));default:return e}},Zt,function(r,e,t){return Sx(r[1][Le+1],r,e,t)},Qt,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=Bx(r[1][Kt+1],r,a),c=Bx(r[1][We+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,t[1],i,c,f]},Yt,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=Bx(r[1][We+1],r,a),c=Bx(r[1][We+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,t[1],i,c,f]},Vt,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][M+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},zt,function(r,e,t){var n=t[2],u=t[1],a=eMe(gx(r[1][jr+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},qt,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][We+1],r,i),f=eMe(gx(r[1][Xt+1],r),a),o=Bx(r[1][Jt+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,s]},Jt,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][ze+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Dr,function(r,e,t){var n=t[1],u=Sx(r[1][qt+1],r,e,n);return n===u?t:[0,u,t[2]]},Xt,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][Gt+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Gt,function(r,e){if(0===e[0]){var t=e[1],n=Bx(r[1][h+1],r,t);return n===t?e:[0,n]}var u=e[1],a=u[2][1],i=Bx(r[1][I+1],r,a);return a===i?e:[1,[0,u[1],[0,i]]]},Ut,function(r,e){return uMe(gx(r[1][Vt+1],r),e)},jt,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=eMe(gx(r[1][Mt+1],r),a),c=Bx(r[1][Ut+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},Rt,function(r,e,t){var n=t[7],u=t[6],a=t[5],i=t[4],c=t[2],f=t[1],o=eMe(gx(r[1][It+1],r),f),s=Bx(r[1][Pt+1],r,c),l=gx(r[1][Nt+1],r),v=eMe((function(r){return uMe(l,r)}),i),D=eMe(gx(r[1][Tt+1],r),a),p=aMe(gx(r[1][Lt+1],r),u),b=Bx(r[1][I+1],r,n);return f===o&&c===s&&i===v&&a===D&&u===p&&DS(n,b)?t:[0,o,s,t[3],v,D,p,b]},Nt,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=eMe(gx(r[1][m+1],r),u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},It,function(r,e){return Sx(r[1][ur+1],r,aqr,e)},Pt,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][Ot+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Lt,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Ot,function(r,e){switch(e[0]){case 0:var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][St+1],r),n,u,e,(function(r){return[0,[0,n,r]]}));case 1:var a=e[1],i=a[1],c=a[2];return tMe(gx(r[1][gt+1],r),i,c,e,(function(r){return[1,[0,i,r]]}));default:var f=e[1],o=f[1],s=f[2];return tMe(gx(r[1][Bt+1],r),o,s,e,(function(r){return[2,[0,o,r]]}))}},Tt,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][xt+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},xt,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][Fe+1],r,u),i=eMe(gx(r[1][m+1],r),n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},St,function(r,e,t){var n=t[6],u=t[5],a=t[3],i=t[2],c=Bx(r[1][yr+1],r,i),f=uMe(gx(r[1][Te+1],r),a),o=aMe(gx(r[1][Lt+1],r),u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,t[1],c,f,t[4],o,s]},gt,function(r,e,t){var n=t[6],u=t[5],i=t[3],c=t[2],f=t[1],o=Bx(r[1][yr+1],r,f),s=Bx(r[1][_t+1],r,c),l=Bx(r[1][d+1],r,i),v=Bx(r[1][a+1],r,u),D=Bx(r[1][I+1],r,n);return f===o&&c===s&&l===i&&v===u&&D===n?t:[0,o,s,l,t[4],v,D]},_t,function(r,e){if(\"number\"==typeof e)return e;var t=e[1],n=Bx(r[1][We+1],r,t);return t===n?e:[0,n]},Bt,function(r,e,t){var n=t[6],u=t[5],i=t[3],c=t[2],f=t[1],o=Bx(r[1][z+1],r,f),s=Bx(r[1][_t+1],r,c),l=Bx(r[1][d+1],r,i),v=Bx(r[1][a+1],r,u),D=Bx(r[1][I+1],r,n);return f===o&&c===s&&l===i&&v===u&&D===n?t:[0,o,s,l,t[4],v,D]},Ct,function(r,e,t){return t},ht,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][W+1],r,i),f=Bx(r[1][We+1],r,a),o=Bx(r[1][We+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&DS(n,s)?t:[0,c,f,o,s]},kt,function(r,e,t){var n=t[2],u=t[1],a=eMe(gx(r[1][jr+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},Et,function(r,e,t){var n=t[1],u=Bx(r[1][I+1],r,n);return n===u?t:[0,u]},dt,function(r,e,t){var n=t[7],u=t[6],a=t[5],i=t[4],c=t[3],f=t[2],o=t[1],s=Bx(r[1][It+1],r,o),l=eMe(gx(r[1][p+1],r),f),v=uMe(gx(r[1][br+1],r),c),D=gx(r[1][me+1],r),b=eMe((function(r){return uMe(D,r)}),i),F=gx(r[1][me+1],r),m=aMe((function(r){return uMe(F,r)}),a),d=eMe(gx(r[1][Tt+1],r),u),E=Bx(r[1][I+1],r,n);return s===o&&l===f&&v===c&&b===i&&m===a&&d===u&&E===n?t:[0,s,l,v,b,m,d,E]},mt,function(r,e,t){var n=t[5],u=t[3],a=t[2],i=eMe(gx(r[1][$e+1],r),u),c=eMe(gx(r[1][Ft+1],r),a),f=Bx(r[1][I+1],r,n);return u===i&&a===c&&n===f?t:[0,t[1],c,i,t[4],f]},Ft,function(r,e){switch(e[0]){case 0:var t=e[1],n=t[2],u=t[1],a=Sx(r[1][st+1],r,u,n);return a===n?e:[0,[0,u,a]];case 1:var i=e[1],c=i[2],f=i[1],o=Sx(r[1][bt+1],r,f,c);return o===c?e:[1,[0,f,o]];case 2:var s=e[1],l=s[2],v=s[1],D=Sx(r[1][dt+1],r,v,l);return D===l?e:[2,[0,v,D]];case 3:var p=e[1],b=Bx(r[1][h+1],r,p);return b===p?e:[3,b];case 4:var F=e[1],m=F[2],d=F[1],E=Sx(r[1][k+1],r,d,m);return E===m?e:[4,[0,d,E]];case 5:var y=e[1],C=y[2],w=y[1],A=Sx(r[1][pr+1],r,w,C);return A===C?e:[5,[0,w,A]];default:var _=e[1],g=_[2],B=_[1],S=Sx(r[1][ie+1],r,B,g);return S===g?e:[6,[0,B,S]]}},bt,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][xe+1],r,i),f=Bx(r[1][E+1],r,a),o=eMe(gx(r[1][V+1],r),u),s=Bx(r[1][I+1],r,n);return c===i&&f===a&&o===u&&s===n?t:[0,c,f,o,s]},pt,function(r,e,t){return Sx(r[1][ie+1],r,e,t)},Dt,function(r,e,t){var n=t[4],u=t[2],a=uMe(gx(r[1][Vt+1],r),u),i=Bx(r[1][I+1],r,n);return a===u&&DS(n,i)?t:[0,t[1],a,t[3],i]},vt,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][E+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},lt,function(r,e,t){return Sx(r[1][k+1],r,e,t)},st,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Sx(r[1][ur+1],r,iqr,a),c=Bx(r[1][d+1],r,u),f=Bx(r[1][I+1],r,n);return i===a&&c===u&&f===n?t:[0,i,c,f]},ot,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][U+1],r,a),c=Bx(r[1][W+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},ft,function(r,e,t){var n=t[1],u=Bx(r[1][I+1],r,n);return n===u?t:[0,u]},at,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][Fe+1],r,a),c=u[2],f=u[1];switch(c[0]){case 0:var o=c[1],s=nMe(gx(r[1][ct+1],r),o,u,(function(r){return[0,f,[0,r]]}));break;case 1:var l=c[1];s=nMe(gx(r[1][nt+1],r),l,u,(function(r){return[0,f,[1,r]]}));break;case 2:var v=c[1];s=nMe(gx(r[1][et+1],r),v,u,(function(r){return[0,f,[2,r]]}));break;default:var D=c[1];s=nMe(gx(r[1][Ze+1],r),D,u,(function(r){return[0,f,[3,r]]}))}var p=Bx(r[1][I+1],r,n);return a===i&&u===s&&n===p?t:[0,i,s,p]},ct,function(r,e){var t=e[4],n=e[1],u=aMe(gx(r[1][it+1],r),n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,e[2],e[3],a]},nt,function(r,e){var t=e[4],n=e[1],u=aMe(gx(r[1][tt+1],r),n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,e[2],e[3],a]},et,function(r,e){var t=e[4],n=e[1];if(0===n[0])var u=n[1],a=[0,aMe(gx(r[1][ut+1],r),u)];else{var i=n[1];a=[1,aMe(gx(r[1][rt+1],r),i)]}var c=Bx(r[1][I+1],r,t);return n===a&&t===c?e:[0,a,e[2],e[3],c]},Ze,function(r,e){var t=e[3],n=e[1],u=aMe(gx(r[1][ut+1],r),n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,e[2],a]},ut,function(r,e){var t=e[2][1],n=Bx(r[1][Fe+1],r,t);return DS(t,n)?e:[0,e[1],[0,n]]},it,function(r,e){var t=e[2],n=t[1],u=Bx(r[1][Fe+1],r,n);return DS(n,u)?e:[0,e[1],[0,u,t[2]]]},tt,function(r,e){var t=e[2],n=t[1],u=Bx(r[1][Fe+1],r,n);return DS(n,u)?e:[0,e[1],[0,u,t[2]]]},rt,function(r,e){var t=e[2],n=t[1],u=Bx(r[1][Fe+1],r,n);return DS(n,u)?e:[0,e[1],[0,u,t[2]]]},Qe,function(r,e,t){var n=t[3],u=t[2],a=Bx(r[1][Ke+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?t:[0,t[1],a,i]},Ke,function(r,e){if(0===e[0]){var t=e[1];return nMe(gx(r[1][U+1],r),t,e,(function(r){return[0,r]}))}var n=e[1];return nMe(gx(r[1][We+1],r),n,e,(function(r){return[1,r]}))},He,function(r,e,t){var n=t[5],u=t[2],a=t[1],i=eMe(gx(r[1][$e+1],r),u),c=eMe(gx(r[1][U+1],r),a),f=Bx(r[1][I+1],r,n);return u===i&&a===c&&n===f?t:[0,c,i,t[3],t[4],f]},Ye,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][Fe+1],r,u),i=eMe(gx(r[1][Fe+1],r),n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},$e,function(r,e){if(0===e[0]){var t=e[1],n=aMe(gx(r[1][Ye+1],r),t);return t===n?e:[0,n]}var u=e[2],a=eMe(gx(r[1][Fe+1],r),u);return u===a?e:[1,e[1],a]},qe,function(r,e,t){var n=t[3],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,t[2],i]},ze,function(r,e){if(0===e[0]){var t=e[1];return nMe(gx(r[1][We+1],r),t,e,(function(r){return[0,r]}))}var n=e[1];return nMe(gx(r[1][G+1],r),n,e,(function(r){return[1,r]}))},Ge,function(r,e,t){var n=t[5],u=t[3],a=t[2],i=t[1],c=Bx(r[1][Xe+1],r,i),f=Bx(r[1][We+1],r,a),o=Bx(r[1][U+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,t[4],s]},Xe,function(r,e){if(0===e[0]){var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][f+1],r),n,u,e,(function(r){return[0,[0,n,r]]}))}var a=e[1];return nMe(gx(r[1][Je+1],r),a,e,(function(r){return[1,r]}))},je,function(r,e,t){var n=t[5],u=t[3],a=t[2],i=t[1],c=Bx(r[1][Me+1],r,i),f=Bx(r[1][We+1],r,a),o=Bx(r[1][U+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,t[4],s]},Me,function(r,e){if(0===e[0]){var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][f+1],r),n,u,e,(function(r){return[0,[0,n,r]]}))}var a=e[1];return nMe(gx(r[1][Ue+1],r),a,e,(function(r){return[1,r]}))},Re,function(r,e,t){var n=t[5],u=t[4],a=t[3],i=t[2],c=t[1],f=eMe(gx(r[1][Pe+1],r),c),o=eMe(gx(r[1][W+1],r),i),s=eMe(gx(r[1][We+1],r),a),l=Bx(r[1][U+1],r,u),v=Bx(r[1][I+1],r,n);return c===f&&i===o&&a===s&&u===l&&n===v?t:[0,f,o,s,l,v]},Pe,function(r,e){if(0===e[0]){var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][f+1],r),n,u,e,(function(r){return[0,[0,n,r]]}))}var a=e[1];return nMe(gx(r[1][We+1],r),a,e,(function(r){return[1,r]}))},_e,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][h+1],r,n),i=eMe(gx(r[1][Fe+1],r),u);return a===n&&i===u?e:[0,e[1],[0,i,a,t[3]]]},Ce,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][_e+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?e:[0,e[1],[0,a,i]]},he,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][E+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?e:[0,e[1],[0,a,i]]},ke,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=a[2],c=i[4],f=i[3],o=i[2],s=i[1],l=t[1],v=eMe(gx(r[1][he+1],r),s),D=aMe(gx(r[1][_e+1],r),o),b=eMe(gx(r[1][Ce+1],r),f),F=Bx(r[1][h+1],r,u),m=eMe(gx(r[1][p+1],r),l),d=Bx(r[1][I+1],r,n),E=Bx(r[1][I+1],r,c);return D===o&&b===f&&F===u&&m===l&&d===n&&E===c&&v===s?t:[0,m,[0,a[1],[0,v,D,b,E]],F,d]},jr,function(r,e){return Bx(r[1][Fe+1],r,e)},mr,function(r,e){switch(e[0]){case 0:var t=e[1];return nMe(gx(r[1][h+1],r),t,e,(function(r){return[0,r]}));case 1:var n=e[1],u=n[1],a=n[2];return tMe(gx(r[1][ke+1],r),u,a,e,(function(r){return[1,[0,u,r]]}));default:var i=e[1],c=i[1],f=i[2];return tMe(gx(r[1][ke+1],r),c,f,e,(function(r){return[2,[0,c,r]]}))}},dr,function(r,e){var t=e[2],n=t[8],u=t[7],i=t[2],c=t[1],f=Bx(r[1][yr+1],r,c),o=Bx(r[1][mr+1],r,i),s=Bx(r[1][a+1],r,u),l=Bx(r[1][I+1],r,n);return f===c&&o===i&&s===u&&l===n?e:[0,e[1],[0,f,o,t[3],t[4],t[5],t[6],s,l]]},Fr,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][h+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&n===i?e:[0,e[1],[0,a,i]]},wr,function(r,e){var t=e[2],n=t[6],u=t[5],i=t[3],c=t[2],f=Bx(r[1][h+1],r,c),o=Bx(r[1][h+1],r,i),s=Bx(r[1][a+1],r,u),l=Bx(r[1][I+1],r,n);return f===c&&o===i&&s===u&&l===n?e:[0,e[1],[0,t[1],f,o,t[4],s,l]]},Cr,function(r,e){var t=e[2],n=t[6],u=t[2],a=t[1],i=Bx(r[1][Fe+1],r,a),c=Bx(r[1][h+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?e:[0,e[1],[0,i,c,t[3],t[4],t[5],f]]},Ar,function(r,e){var t=e[2],n=t[3],u=t[1],a=u[2],i=u[1],c=Sx(r[1][ke+1],r,i,a),f=Bx(r[1][I+1],r,n);return a===c&&n===f?e:[0,e[1],[0,[0,i,c],t[2],f]]},br,function(r,e,t){var n=t[4],u=t[3],a=aMe((function(e){switch(e[0]){case 0:var t=e[1];return nMe(gx(r[1][dr+1],r),t,e,(function(r){return[0,r]}));case 1:var n=e[1];return nMe(gx(r[1][Fr+1],r),n,e,(function(r){return[1,r]}));case 2:var u=e[1];return nMe(gx(r[1][wr+1],r),u,e,(function(r){return[2,r]}));case 3:var a=e[1];return nMe(gx(r[1][Ar+1],r),a,e,(function(r){return[3,r]}));default:var i=e[1];return nMe(gx(r[1][Cr+1],r),i,e,(function(r){return[4,r]}))}}),u),i=Bx(r[1][I+1],r,n);return a===u&&n===i?t:[0,t[1],t[2],a,i]},ue,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=gx(r[1][me+1],r),c=aMe((function(r){return uMe(i,r)}),u),f=uMe(gx(r[1][br+1],r),a),o=Bx(r[1][I+1],r,n);return c===u&&f===a&&n===o?t:[0,f,c,o]},de,function(r,e){if(0===e[0]){var t=e[1];return nMe(gx(r[1][Fe+1],r),t,e,(function(r){return[0,r]}))}var n=e[1],u=n[2],a=u[2],i=u[1],c=Bx(r[1][de+1],r,i),f=Bx(r[1][Fe+1],r,a);return c===i&&f===a?e:[1,[0,n[1],[0,c,f]]]},a,function(r,e){if(e){var t=e[1],n=t[2],u=n[2],a=Bx(r[1][I+1],r,u);if(u===a)return e;var i=[0,[0,t[1],[0,n[1],a]]]}else i=e;return i},m,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][h+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},p,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][b+1],r),u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?e:[0,e[1],[0,a,i]]},b,function(r,e){var t=e[2],n=t[4],u=t[3],i=t[2],c=t[1],f=Bx(r[1][Fe+1],r,c),o=Bx(r[1][d+1],r,i),s=Bx(r[1][a+1],r,u),l=eMe(gx(r[1][h+1],r),n);return f===c&&o===i&&s===u&&l===n?e:[0,e[1],[0,f,o,s,l]]},me,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][de+1],r,a),c=eMe(gx(r[1][m+1],r),u),f=Bx(r[1][I+1],r,n);return i===a&&c===u&&f===n?t:[0,i,c,f]},R,function(r,e,t){var n=t[3],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],t[2],u]},gr,function(r,e,t){var n=t[3],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],t[2],u]},Ht,function(r,e,t){var n=t[3],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],t[2],u]},Wt,function(r,e,t){var n=t[2],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],u]},Br,function(r,e){var t=e[2],n=e[1],u=Bx(r[1][h+1],r,n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,a]},D,function(r,e){var t=e[3],n=e[1],u=Bx(r[1][h+1],r,n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,e[2],a]},y,function(r,e){var t=e[2],n=e[1],u=aMe(gx(r[1][h+1],r),n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,a]},rn,function(r,e){var t=e[2],n=e[1],u=Bx(r[1][h+1],r,n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,a]},s,function(r,e,t){var n=t[2],u=t[1],a=u[3],i=u[2],c=u[1],f=Bx(r[1][h+1],r,c),o=Bx(r[1][h+1],r,i),s=aMe(gx(r[1][h+1],r),a),l=Bx(r[1][I+1],r,n);return f===c&&o===i&&s===a&&l===n?t:[0,[0,f,o,s],l]},ne,function(r,e,t){var n=t[2],u=t[1],a=u[3],i=u[2],c=u[1],f=Bx(r[1][h+1],r,c),o=Bx(r[1][h+1],r,i),s=aMe(gx(r[1][h+1],r),a),l=Bx(r[1][I+1],r,n);return f===c&&o===i&&s===a&&l===n?t:[0,[0,f,o,s],l]},h,function(r,e){var t=e[2],n=e[1];switch(t[0]){case 0:var u=t[1];return nMe(gx(r[1][I+1],r),u,e,(function(r){return[0,n,[0,r]]}));case 1:var a=t[1];return nMe(gx(r[1][I+1],r),a,e,(function(r){return[0,n,[1,r]]}));case 2:var i=t[1];return nMe(gx(r[1][I+1],r),i,e,(function(r){return[0,n,[2,r]]}));case 3:var c=t[1];return nMe(gx(r[1][I+1],r),c,e,(function(r){return[0,n,[3,r]]}));case 4:var f=t[1];return nMe(gx(r[1][I+1],r),f,e,(function(r){return[0,n,[4,r]]}));case 5:var o=t[1];return nMe(gx(r[1][I+1],r),o,e,(function(r){return[0,n,[5,r]]}));case 6:var l=t[1];return nMe(gx(r[1][I+1],r),l,e,(function(r){return[0,n,[6,r]]}));case 7:var v=t[1];return nMe(gx(r[1][I+1],r),v,e,(function(r){return[0,n,[7,r]]}));case 8:var p=t[1];return nMe(gx(r[1][I+1],r),p,e,(function(r){return[0,n,[8,r]]}));case 9:var b=t[1];return nMe(gx(r[1][I+1],r),b,e,(function(r){return[0,n,[9,r]]}));case 10:var F=t[1];return nMe(gx(r[1][I+1],r),F,e,(function(r){return[0,n,[10,r]]}));case 11:var m=t[1];return nMe(gx(r[1][Br+1],r),m,e,(function(r){return[0,n,[11,r]]}));case 12:var d=t[1];return tMe(gx(r[1][ke+1],r),n,d,e,(function(r){return[0,n,[12,r]]}));case 13:var E=t[1];return tMe(gx(r[1][br+1],r),n,E,e,(function(r){return[0,n,[13,r]]}));case 14:var k=t[1];return tMe(gx(r[1][ue+1],r),n,k,e,(function(r){return[0,n,[14,r]]}));case 15:var h=t[1];return nMe(gx(r[1][rn+1],r),h,e,(function(r){return[0,n,[15,r]]}));case 16:var C=t[1];return tMe(gx(r[1][me+1],r),n,C,e,(function(r){return[0,n,[16,r]]}));case 17:var w=t[1];return tMe(gx(r[1][s+1],r),n,w,e,(function(r){return[0,n,[17,r]]}));case 18:var A=t[1];return tMe(gx(r[1][ne+1],r),n,A,e,(function(r){return[0,n,[18,r]]}));case 19:var _=t[1];return nMe(gx(r[1][D+1],r),_,e,(function(r){return[0,n,[19,r]]}));case 20:var g=t[1];return nMe(gx(r[1][y+1],r),g,e,(function(r){return[0,n,[20,r]]}));case 21:var B=t[1];return tMe(gx(r[1][R+1],r),n,B,e,(function(r){return[0,n,[21,r]]}));case 22:var S=t[1];return tMe(gx(r[1][gr+1],r),n,S,e,(function(r){return[0,n,[22,r]]}));case 23:var x=t[1];return tMe(gx(r[1][Ht+1],r),n,x,e,(function(r){return[0,n,[23,r]]}));default:var T=t[1];return tMe(gx(r[1][Wt+1],r),n,T,e,(function(r){return[0,n,[24,r]]}))}},E,function(r,e){var t=e[1],n=e[2];return nMe(gx(r[1][h+1],r),n,e,(function(r){return[0,t,r]}))},d,function(r,e){if(0===e[0])return e;var t=e[1],n=Bx(r[1][E+1],r,t);return n===t?e:[1,n]},Ie,function(r,e,t){return Sx(r[1][Le+1],r,e,t)},Te,function(r,e,t){return Sx(r[1][Le+1],r,e,t)},Le,function(r,e,t){var n=t[9],u=t[8],a=t[7],i=t[6],c=t[3],f=t[2],o=t[1],s=eMe(gx(r[1][xe+1],r),o),l=Bx(r[1][Ae+1],r,f),v=Bx(r[1][d+1],r,a),D=Bx(r[1][Ne+1],r,c),b=eMe(gx(r[1][V+1],r),i),F=eMe(gx(r[1][p+1],r),u),m=Bx(r[1][I+1],r,n);return o===s&&f===l&&c===D&&DS(i,b)&&a===v&&u===F&&n===m?t:[0,s,l,D,t[4],t[5],b,v,F,m,t[10]]},Ae,function(r,e){var t=e[2],n=t[4],u=t[3],a=t[2],i=t[1],c=aMe(gx(r[1][Se+1],r),a),f=eMe(gx(r[1][we+1],r),u),o=eMe(gx(r[1][ye+1],r),i),s=Bx(r[1][I+1],r,n);return a===c&&u===f&&n===s&&i===o?e:[0,e[1],[0,o,c,f,s]]},ye,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][E+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?e:[0,e[1],[0,a,i]]},Se,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][ge+1],r,u),i=eMe(gx(r[1][We+1],r),n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Ne,function(r,e){if(0===e[0]){var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][Oe+1],r),n,u,e,(function(r){return[0,[0,n,r]]}))}var a=e[1];return nMe(gx(r[1][We+1],r),a,e,(function(r){return[1,r]}))},Oe,function(r,e,t){return Sx(r[1][Vt+1],r,e,t)},xe,function(r,e){return Sx(r[1][ur+1],r,cqr,e)},Ee,function(r,e,t){return t},Fe,function(r,e){var t=e[2],n=t[2],u=Bx(r[1][I+1],r,n);return n===u?e:[0,e[1],[0,t[1],u]]},ie,function(r,e,t){var n=t[5],u=t[4],a=t[3],i=t[2],c=t[1],f=Bx(r[1][It+1],r,c),o=eMe(gx(r[1][p+1],r),i),s=gx(r[1][me+1],r),l=aMe((function(r){return uMe(s,r)}),a),v=uMe(gx(r[1][br+1],r),u),D=Bx(r[1][I+1],r,n);return f===c&&o===i&&l===a&&v===u&&D===n?t:[0,f,o,l,v,D]},ae,function(r,e,t){return Sx(r[1][ie+1],r,e,t)},z,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][Fe+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},yt,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},ve,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},pe,function(r,e,t){return Bx(r[1][U+1],r,t)},be,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][U+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},De,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][W+1],r,i),f=Sx(r[1][pe+1],r,0!==u?1:0,a),o=gx(r[1][be+1],r),s=eMe((function(r){return uMe(o,r)}),u),l=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===s&&n===l?t:[0,c,f,s,l]},le,function(r,e,t){var n=t[5],u=t[4],a=t[3],i=eMe(gx(r[1][ce+1],r),u),c=eMe(gx(r[1][se+1],r),a),f=Bx(r[1][I+1],r,n);return u===i&&a===c&&n===f?t:[0,t[1],t[2],c,i,f]},ce,function(r,e){if(0===e[0]){var t=e[1],n=aMe(gx(r[1][oe+1],r),t);return t===n?e:[0,n]}var u=e[1],a=u[1],i=u[2];return tMe(gx(r[1][fe+1],r),a,i,e,(function(r){return[1,[0,a,r]]}))},oe,function(r,e){var t=e[3],n=e[2],u=Bx(r[1][Fe+1],r,t);if(n)var a=n[1],i=nMe(Bx(r[1][ur+1],r,fqr),a,n,(function(r){return[0,r]}));else i=n;return n===i&&t===u?e:[0,e[1],i,u]},se,function(r,e){return Sx(r[1][ur+1],r,oqr,e)},fe,function(r,e,t){return Sx(r[1][ur+1],r,sqr,t)},Kr,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][Gr+1],r,i),f=eMe(gx(r[1][Qr+1],r),a),o=Bx(r[1][Zr+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,s]},Yr,function(r,e,t){var n=t[4],u=t[3],a=Bx(r[1][Zr+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,t[1],t[2],a,i]},Gr,function(r,e){var t=e[2],n=t[3],u=t[1],a=Bx(r[1][Wr+1],r,u),i=aMe(gx(r[1][qr+1],r),n);return u===a&&n===i?e:[0,e[1],[0,a,t[2],i]]},Qr,function(r,e){var t=e[2][1],n=Bx(r[1][Wr+1],r,t);return t===n?e:[0,e[1],[0,n]]},qr,function(r,e){if(0===e[0]){var t=e[1];return nMe(gx(r[1][te+1],r),t,e,(function(r){return[0,r]}))}var n=e[1],u=n[1],a=n[2];return tMe(gx(r[1][Xr+1],r),u,a,e,(function(r){return[1,[0,u,r]]}))},Xr,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},te,function(r,e){var t=e[2],n=t[2],u=eMe(gx(r[1][ee+1],r),n);return n===u?e:[0,e[1],[0,t[1],u]]},ee,function(r,e){if(0===e[0])return e;var t=e[1],n=e[2];return tMe(gx(r[1][Hr+1],r),t,n,e,(function(r){return[1,t,r]}))},Zr,function(r,e){var t=e[2],n=aMe(gx(r[1][re+1],r),t);return t===n?e:[0,e[1],n]},re,function(r,e){var t=e[2],n=e[1];switch(t[0]){case 0:var u=t[1];return tMe(gx(r[1][Kr+1],r),n,u,e,(function(r){return[0,n,[0,r]]}));case 1:var a=t[1];return tMe(gx(r[1][Yr+1],r),n,a,e,(function(r){return[0,n,[1,r]]}));case 2:var i=t[1];return tMe(gx(r[1][Hr+1],r),n,i,e,(function(r){return[0,n,[2,r]]}));case 3:var c=t[1];return nMe(gx(r[1][Ur+1],r),c,e,(function(r){return[0,n,[3,r]]}));default:return e}},Hr,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][I+1],r,n);if(u){var i=u[1],c=Bx(r[1][We+1],r,i);return i===c&&n===a?t:[0,[0,c],a]}return n===a?t:[0,0,a]},Ur,function(r,e){var t=e[2],n=e[1],u=Bx(r[1][We+1],r,n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,a]},Wr,function(r,e){switch(e[0]){case 0:var t=[0,Bx(r[1][$r+1],r,e[1])];break;case 1:t=[1,Bx(r[1][zr+1],r,e[1])];break;default:t=[2,Bx(r[1][Vr+1],r,e[1])]}return DS(e,t)?e:t},zr,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][$r+1],r,u),i=Bx(r[1][$r+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Vr,function(r,e){var t=e[2],n=t[2],u=t[1];if(0===u[0])var a=u[1],i=Bx(r[1][$r+1],r,a),c=i===a?u:[0,i];else{var f=u[1],o=Bx(r[1][Vr+1],r,f);c=o===f?u:[1,o]}var s=Bx(r[1][$r+1],r,n);return u===c&&n===s?e:[0,e[1],[0,c,s]]},$r,function(r,e){var t=e[2],n=t[2],u=Bx(r[1][I+1],r,n);return n===u?e:[0,e[1],[0,t[1],u]]},Mr,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][jr+1],r,a),c=Bx(r[1][U+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},Rr,function(r,e,t){var n=t[3],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],t[2],u]},Pr,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=Bx(r[1][We+1],r,a),c=Bx(r[1][We+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,t[1],i,c,f]},Lr,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=Bx(r[1][Nr+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},vr,function(r,e,t){var n=t[1],u=Sx(r[1][Lr+1],r,e,n);return n===u?t:[0,u,t[2]]},Nr,function(r,e){switch(e[0]){case 0:var t=e[1];return nMe(gx(r[1][Tr+1],r),t,e,(function(r){return[0,r]}));case 1:var n=e[1];return nMe(gx(r[1][Or+1],r),n,e,(function(r){return[1,r]}));default:var u=e[1];return nMe(gx(r[1][Ir+1],r),u,e,(function(r){return[2,r]}))}},Tr,function(r,e){return Bx(r[1][Fe+1],r,e)},Or,function(r,e){return Bx(r[1][z+1],r,e)},Ir,function(r,e){return Bx(r[1][We+1],r,e)},xr,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][Fe+1],r,a),c=Bx(r[1][Fe+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},Sr,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][We+1],r,i),f=eMe(gx(r[1][Xt+1],r),a),o=eMe(gx(r[1][Jt+1],r),u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,s]},_r,function(r,e,t){var n=t[2],u=t[1],a=aMe((function(e){if(0===e[0]){var t=e[1],n=Bx(r[1][Er+1],r,t);return t===n?e:[0,n]}var u=e[1],a=Bx(r[1][X+1],r,u);return u===a?e:[1,a]}),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},Er,function(r,e){var t=e[2],n=e[1];switch(t[0]){case 0:var u=t[2],a=t[1],i=Bx(r[1][yr+1],r,a),c=Bx(r[1][We+1],r,u);return a===i&&u===c?e:[0,n,[0,i,c,t[3]]];case 1:var f=t[2],o=t[1],s=Bx(r[1][yr+1],r,o),l=uMe(gx(r[1][Te+1],r),f);return o===s&&f===l?e:[0,n,[1,s,l]];case 2:var v=t[3],D=t[2],p=t[1],b=Bx(r[1][yr+1],r,p),F=uMe(gx(r[1][Te+1],r),D),m=Bx(r[1][I+1],r,v);return p===b&&D===F&&v===m?e:[0,n,[2,b,F,m]];default:var d=t[3],E=t[2],k=t[1],h=Bx(r[1][yr+1],r,k),y=uMe(gx(r[1][Te+1],r),E),C=Bx(r[1][I+1],r,d);return k===h&&E===y&&d===C?e:[0,n,[3,h,y,C]]}},yr,function(r,e){switch(e[0]){case 0:var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][Rr+1],r),n,u,e,(function(r){return[0,[0,n,r]]}));case 1:var a=e[1];return nMe(gx(r[1][kr+1],r),a,e,(function(r){return[1,r]}));case 2:var i=e[1];return nMe(gx(r[1][z+1],r),i,e,(function(r){return[2,r]}));default:var c=e[1];return nMe(gx(r[1][hr+1],r),c,e,(function(r){return[3,r]}))}},kr,function(r,e){return Bx(r[1][Fe+1],r,e)},hr,function(r,e){return Bx(r[1][yt+1],r,e)},pr,function(r,e,t){var n=t[5],u=t[4],a=t[3],i=t[2],c=t[1],f=Bx(r[1][Fe+1],r,c),o=eMe(gx(r[1][p+1],r),i),s=eMe(gx(r[1][h+1],r),a),l=eMe(gx(r[1][h+1],r),u),v=Bx(r[1][I+1],r,n);return c===f&&a===s&&i===o&&a===s&&u===l&&n===v?t:[0,f,o,s,l,v]},ge,function(r,e){return Sx(r[1][$t+1],r,0,e)},i,function(r,e,t){return Sx(r[1][$t+1],r,[0,e],t)},Mt,function(r,e){return Sx(r[1][$t+1],r,lqr,e)},Je,function(r,e){return Bx(r[1][Kt+1],r,e)},Ue,function(r,e){return Bx(r[1][Kt+1],r,e)},$t,function(r,e,t){var n=e?e[1]:e;return Sx(r[1][lr+1],r,[0,n],t)},Kt,function(r,e){return Sx(r[1][lr+1],r,0,e)},lr,function(r,e,t){var n=t[2];switch(n[0]){case 0:var u=n[1],a=u[3],i=u[2],c=u[1],f=aMe(Bx(r[1][tr+1],r,e),c),o=Bx(r[1][d+1],r,i),s=Bx(r[1][I+1],r,a);if(f===c)if(o===i)if(s===a)var l=n,v=1;else v=0;else v=0;else v=0;if(!v)l=[0,[0,f,o,s]];var D=l;break;case 1:var p=n[1],b=p[3],F=p[2],m=p[1],E=aMe(Bx(r[1][sr+1],r,e),m),k=Bx(r[1][d+1],r,F),h=Bx(r[1][I+1],r,b);if(b===h)if(E===m)if(k===F)var y=n,C=1;else C=0;else C=0;else C=0;if(!C)y=[1,[0,E,k,h]];D=y;break;case 2:var w=n[1],A=w[2],_=w[1],g=Sx(r[1][ur+1],r,e,_),B=Bx(r[1][d+1],r,A);if(_===g)if(A===B)var S=n,x=1;else x=0;else x=0;if(!x)S=[2,[0,g,B,w[3]]];D=S;break;default:var T=n[1];D=nMe(gx(r[1][ar+1],r),T,n,(function(r){return[3,r]}))}return n===D?t:[0,t[1],D]},ur,function(r,e,t){return Bx(r[1][Fe+1],r,t)},nr,function(r,e,t,n){return Sx(r[1][Rr+1],r,t,n)},tr,function(r,e,t){if(0===t[0]){var n=t[1],u=n[1],a=n[2];return nMe(Bx(r[1][er+1],r,e),a,t,(function(r){return[0,[0,u,r]]}))}var i=t[1],c=i[1],f=i[2];return nMe(Bx(r[1][Y+1],r,e),f,t,(function(r){return[1,[0,c,r]]}))},er,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Sx(r[1][Q+1],r,e,a),c=Sx(r[1][H+1],r,e,u),f=eMe(gx(r[1][We+1],r),n);return i===a&&c===u&&f===n?t:[0,i,c,f,0]},Q,function(r,e,t){switch(t[0]){case 0:var n=t[1],u=n[1],a=n[2];return tMe(Bx(r[1][K+1],r,e),u,a,t,(function(r){return[0,[0,u,r]]}));case 1:var i=t[1];return nMe(Bx(r[1][Z+1],r,e),i,t,(function(r){return[1,r]}));default:var c=t[1];return nMe(Bx(r[1][rr+1],r,e),c,t,(function(r){return[2,r]}))}},K,function(r,e,t,n){return xx(r[1][nr+1],r,e,t,n)},Z,function(r,e,t){return Sx(r[1][ur+1],r,e,t)},rr,function(r,e,t){return Bx(r[1][yt+1],r,t)},Y,function(r,e,t){var n=t[2],u=t[1],a=Sx(r[1][$+1],r,e,u),i=Bx(r[1][I+1],r,n);return a===u&&n===i?t:[0,a,i]},H,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},$,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},sr,function(r,e,t){switch(t[0]){case 0:var n=t[1],u=n[1],a=n[2];return nMe(Bx(r[1][or+1],r,e),a,t,(function(r){return[0,[0,u,r]]}));case 1:var i=t[1],c=i[1],f=i[2];return nMe(Bx(r[1][cr+1],r,e),f,t,(function(r){return[1,[0,c,r]]}));default:return t}},or,function(r,e,t){var n=t[2],u=t[1],a=Sx(r[1][fr+1],r,e,u),i=eMe(gx(r[1][We+1],r),n);return u===a&&n===i?t:[0,a,i]},fr,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},cr,function(r,e,t){var n=t[2],u=t[1],a=Sx(r[1][ir+1],r,e,u),i=Bx(r[1][I+1],r,n);return a===u&&n===i?t:[0,a,i]},ir,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},un,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},ar,function(r,e){return Bx(r[1][We+1],r,e)},V,function(r,e){var t=e[2],n=t[2],u=t[1];if(u)var a=u[1],i=nMe(gx(r[1][We+1],r),a,u,(function(r){return[0,r]}));else i=u;var c=Bx(r[1][I+1],r,n);return u===i&&n===c?e:[0,e[1],[0,i,c]]},W,function(r,e){return Bx(r[1][We+1],r,e)},we,function(r,e){var t=e[2],n=t[2],u=t[1],a=Sx(r[1][$t+1],r,0,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},q,function(r,e,t){var n=t[2],u=t[1],a=eMe(gx(r[1][We+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},J,function(r,e,t){var n=t[2],u=t[1],a=aMe(gx(r[1][We+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},w,function(r,e){return Bx(r[1][M+1],r,e)},M,function(r,e){var t=gx(r[1][j+1],r),n=Sye((function(r,e){var n=r[1],u=gx(t,e);if(u){if(u[2])return[0,Cye(u,n),1];var a=u[1];return[0,[0,a,n],r[2]||(e!==a?1:0)]}return[0,n,1]}),vqr,e);return n[2]?wye(n[1]):e},j,function(r,e){return[0,Bx(r[1][U+1],r,e),0]},G,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},X,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},P,function(r,e,t){var n=t[1],u=Bx(r[1][I+1],r,n);return n===u?t:[0,u]},L,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=gx(r[1][O+1],r),f=aMe((function(r){return uMe(c,r)}),u),o=Bx(r[1][I+1],r,n);return a===i&&u===f&&n===o?t:[0,i,f,o]},O,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=eMe(gx(r[1][We+1],r),a),c=Bx(r[1][M+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},T,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=uMe(gx(r[1][x+1],r),u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},x,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=aMe(gx(r[1][B+1],r),a),c=aMe(gx(r[1][We+1],r),u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},B,function(r,e){return e},_,function(r,e,t){var n=t[1],u=Bx(r[1][I+1],r,n);return n===u?t:[0,u]},A,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},C,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=uMe(gx(r[1][Vt+1],r),i);if(a)var f=a[1],o=f[1],s=f[2],l=tMe(gx(r[1][jt+1],r),o,s,a,(function(r){return[0,[0,o,r]]}));else l=a;if(u)var v=u[1],D=v[1],p=v[2],b=tMe(gx(r[1][Vt+1],r),D,p,u,(function(r){return[0,[0,D,r]]}));else b=u;var F=Bx(r[1][I+1],r,n);return i===c&&a===l&&u===b&&n===F?t:[0,c,l,b,F]},F,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=Bx(r[1][E+1],r,u),f=Bx(r[1][I+1],r,n);return i===a&&c===u&&f===n?t:[0,i,c,f]},v,function(r,e,t){var n=t[3],u=t[2],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,t[1],a,i]},o,function(r,e,t){var n=t[4],u=t[2],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,t[1],a,t[3],i]},f,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=aMe(Bx(r[1][c+1],r,u),a),f=Bx(r[1][I+1],r,n);return a===i&&DS(n,f)?t:[0,i,u,f]},c,function(r,e,t){var n=t[2],u=n[2],a=n[1],c=Sx(r[1][i+1],r,e,a),f=eMe(gx(r[1][We+1],r),u);return a===c&&u===f?t:[0,t[1],[0,c,f]]},u,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][W+1],r,a),c=Bx(r[1][U+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},n,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=Bx(r[1][U+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},k,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][Fe+1],r,i),f=eMe(gx(r[1][p+1],r),a),o=Bx(r[1][h+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&u===o&&a===f&&n===s?t:[0,c,f,o,s]},t,function(r,e,t){var n=t[2],u=t[1],a=eMe(gx(r[1][We+1],r),u),i=Bx(r[1][I+1],r,n);return DS(n,i)&&u===a?t:[0,a,i,t[3]]}]),function(e,t){return Kwe(t,r)}})),cMe=function(r){return\"number\"==typeof r?Sqr:r[1]},fMe=function(r){if(\"number\"==typeof r)return 1;switch(r[0]){case 0:return 2;case 3:return 4;default:return 3}},oMe=function(r,e){gx(Bwe(r),xqr),Bx(Bwe(r),Iqr,Tqr);var t=e[1];Bx(Bwe(r),Nqr,t),gx(Bwe(r),Oqr),gx(Bwe(r),Lqr),Bx(Bwe(r),Rqr,Pqr);var n=e[2];return Bx(Bwe(r),Mqr,n),gx(Bwe(r),jqr),gx(Bwe(r),Uqr)},sMe=function r(e,t){return r.fun(e,t)};XB(sMe,(function(r,e){gx(Bwe(r),Gqr),Bx(Bwe(r),qqr,Jqr);var t=e[1];if(t){lwe(r,zqr);var n=t[1];if(\"number\"==typeof n)lwe(r,Fqr);else switch(n[0]){case 0:gx(Bwe(r),mqr);var u=n[1];Bx(Bwe(r),dqr,u),gx(Bwe(r),Eqr);break;case 1:gx(Bwe(r),kqr);var a=n[1];Bx(Bwe(r),hqr,a),gx(Bwe(r),yqr);break;case 2:gx(Bwe(r),Cqr);var i=n[1];Bx(Bwe(r),wqr,i),gx(Bwe(r),Aqr);break;default:gx(Bwe(r),_qr);var c=n[1];Bx(Bwe(r),gqr,c),gx(Bwe(r),Bqr)}lwe(r,Wqr)}else lwe(r,Vqr);return gx(Bwe(r),$qr),gx(Bwe(r),Yqr),Bx(Bwe(r),Kqr,Hqr),oMe(r,e[2]),gx(Bwe(r),Qqr),gx(Bwe(r),Zqr),Bx(Bwe(r),ezr,rzr),oMe(r,e[3]),gx(Bwe(r),tzr),gx(Bwe(r),nzr)})),XB((function r(e){return r.fun(e)}),(function(r){return Bx(Swe(Xqr),sMe,r)}));var lMe=function(r,e){return[0,r[1],r[2],e[3]]},vMe=function(r,e){var t=r[1]-e[1]|0;return 0===t?r[2]-e[2]|0:t},DMe=function r(e,t,n){return r.fun(e,t,n)};XB(DMe,(function(r,e,t){var n=t[2];switch(n[0]){case 0:return Sye((function(e,t){var n=0===t[0]?t[1][2][2]:t[1][2][1];return Sx(DMe,r,e,n)}),e,n[1][1]);case 1:return Sye((function(e,t){return 2===t[0]?e:Sx(DMe,r,e,t[1][2][1])}),e,n[1][1]);case 2:var u=n[1];return Sx(r,e,u[1],u[2]);default:return e}}));var pMe=function(r){return r[2][1]},bMe=function(r,e){return[0,e[1],[0,e[2],r]]},FMe=function(r,e,t){return[0,r?r[1]:r,e?e[1]:e,t]},mMe=function(r,e,t){var n=r?r[1]:r,u=e?e[1]:e;return n||u?[0,FMe([0,n],[0,u],0)]:u},dMe=function(r,e,t){var n=r?r[1]:r,u=e?e[1]:e;return n||u||t?[0,FMe([0,n],[0,u],t)]:t},EMe=function(r,e){if(r){if(e){var t=e[1],n=r[1],u=[0,fye(n[2],t[2])];return mMe([0,fye(t[1],n[1])],u)}var a=r}else a=e;return a},kMe=function(r,e){if(e){if(r){var t=e[1],n=r[1],u=n[3],a=[0,fye(n[2],t[2])];return dMe([0,fye(t[1],n[1])],a,u)}var i=e[1];return dMe([0,i[1]],[0,i[2]],0)}return r},hMe=function r(e,t){return r.fun(e,t)};XB(hMe,(function(r,e){if(\"number\"==typeof r){var t=r;if(55<=t)switch(t){case 55:if(\"number\"==typeof e&&55===e)return 0;break;case 56:if(\"number\"==typeof e&&56===e)return 0;break;case 57:if(\"number\"==typeof e&&57===e)return 0;break;case 58:if(\"number\"==typeof e&&58===e)return 0;break;case 59:if(\"number\"==typeof e&&59===e)return 0;break;case 60:if(\"number\"==typeof e&&60===e)return 0;break;case 61:if(\"number\"==typeof e&&61===e)return 0;break;case 62:if(\"number\"==typeof e&&62===e)return 0;break;case 63:if(\"number\"==typeof e&&63===e)return 0;break;case 64:if(\"number\"==typeof e&&64===e)return 0;break;case 65:if(\"number\"==typeof e&&65===e)return 0;break;case 66:if(\"number\"==typeof e&&66===e)return 0;break;case 67:if(\"number\"==typeof e&&67===e)return 0;break;case 68:if(\"number\"==typeof e&&68===e)return 0;break;case 69:if(\"number\"==typeof e&&69===e)return 0;break;case 70:if(\"number\"==typeof e&&70===e)return 0;break;case 71:if(\"number\"==typeof e&&71===e)return 0;break;case 72:if(\"number\"==typeof e&&72===e)return 0;break;case 73:if(\"number\"==typeof e&&73===e)return 0;break;case 74:if(\"number\"==typeof e&&74===e)return 0;break;case 75:if(\"number\"==typeof e&&75===e)return 0;break;case 76:if(\"number\"==typeof e&&76===e)return 0;break;case 77:if(\"number\"==typeof e&&77===e)return 0;break;case 78:if(\"number\"==typeof e&&78===e)return 0;break;case 79:if(\"number\"==typeof e&&79===e)return 0;break;case 80:if(\"number\"==typeof e&&80===e)return 0;break;case 81:if(\"number\"==typeof e&&81===e)return 0;break;case 82:if(\"number\"==typeof e&&82===e)return 0;break;case 83:if(\"number\"==typeof e&&83===e)return 0;break;case 84:if(\"number\"==typeof e&&84===e)return 0;break;case 85:if(\"number\"==typeof e&&85===e)return 0;break;case 86:if(\"number\"==typeof e&&86===e)return 0;break;case 87:if(\"number\"==typeof e&&87===e)return 0;break;case 88:if(\"number\"==typeof e&&88===e)return 0;break;case 89:if(\"number\"==typeof e&&89===e)return 0;break;case 90:if(\"number\"==typeof e&&90===e)return 0;break;case 91:if(\"number\"==typeof e&&91===e)return 0;break;case 92:if(\"number\"==typeof e&&92===e)return 0;break;case 93:if(\"number\"==typeof e&&93===e)return 0;break;case 94:if(\"number\"==typeof e&&94===e)return 0;break;case 95:if(\"number\"==typeof e&&95===e)return 0;break;case 96:if(\"number\"==typeof e&&96===e)return 0;break;case 97:if(\"number\"==typeof e&&97===e)return 0;break;case 98:if(\"number\"==typeof e&&98===e)return 0;break;case 99:if(\"number\"==typeof e&&99===e)return 0;break;case 100:if(\"number\"==typeof e&&Fu===e)return 0;break;case 101:if(\"number\"==typeof e&&CE===e)return 0;break;case 102:if(\"number\"==typeof e&&EE===e)return 0;break;case 103:if(\"number\"==typeof e&&$l===e)return 0;break;case 104:if(\"number\"==typeof e&&sE===e)return 0;break;case 105:if(\"number\"==typeof e&&tg===e)return 0;break;case 106:if(\"number\"==typeof e&&Ma===e)return 0;break;case 107:if(\"number\"==typeof e&&Uu===e)return 0;break;case 108:if(\"number\"==typeof e&&Bb===e)return 0;break;default:if(\"number\"==typeof e&&ak<=e)return 0}else switch(t){case 0:if(\"number\"==typeof e&&0===e)return 0;break;case 1:if(\"number\"==typeof e&&1===e)return 0;break;case 2:if(\"number\"==typeof e&&2===e)return 0;break;case 3:if(\"number\"==typeof e&&3===e)return 0;break;case 4:if(\"number\"==typeof e&&4===e)return 0;break;case 5:if(\"number\"==typeof e&&5===e)return 0;break;case 6:if(\"number\"==typeof e&&6===e)return 0;break;case 7:if(\"number\"==typeof e&&7===e)return 0;break;case 8:if(\"number\"==typeof e&&8===e)return 0;break;case 9:if(\"number\"==typeof e&&9===e)return 0;break;case 10:if(\"number\"==typeof e&&10===e)return 0;break;case 11:if(\"number\"==typeof e&&11===e)return 0;break;case 12:if(\"number\"==typeof e&&12===e)return 0;break;case 13:if(\"number\"==typeof e&&13===e)return 0;break;case 14:if(\"number\"==typeof e&&14===e)return 0;break;case 15:if(\"number\"==typeof e&&15===e)return 0;break;case 16:if(\"number\"==typeof e&&16===e)return 0;break;case 17:if(\"number\"==typeof e&&17===e)return 0;break;case 18:if(\"number\"==typeof e&&18===e)return 0;break;case 19:if(\"number\"==typeof e&&19===e)return 0;break;case 20:if(\"number\"==typeof e&&20===e)return 0;break;case 21:if(\"number\"==typeof e&&21===e)return 0;break;case 22:if(\"number\"==typeof e&&22===e)return 0;break;case 23:if(\"number\"==typeof e&&23===e)return 0;break;case 24:if(\"number\"==typeof e&&24===e)return 0;break;case 25:if(\"number\"==typeof e&&25===e)return 0;break;case 26:if(\"number\"==typeof e&&26===e)return 0;break;case 27:if(\"number\"==typeof e&&27===e)return 0;break;case 28:if(\"number\"==typeof e&&28===e)return 0;break;case 29:if(\"number\"==typeof e&&29===e)return 0;break;case 30:if(\"number\"==typeof e&&30===e)return 0;break;case 31:if(\"number\"==typeof e&&31===e)return 0;break;case 32:if(\"number\"==typeof e&&32===e)return 0;break;case 33:if(\"number\"==typeof e&&33===e)return 0;break;case 34:if(\"number\"==typeof e&&34===e)return 0;break;case 35:if(\"number\"==typeof e&&35===e)return 0;break;case 36:if(\"number\"==typeof e&&36===e)return 0;break;case 37:if(\"number\"==typeof e&&37===e)return 0;break;case 38:if(\"number\"==typeof e&&38===e)return 0;break;case 39:if(\"number\"==typeof e&&39===e)return 0;break;case 40:if(\"number\"==typeof e&&40===e)return 0;break;case 41:if(\"number\"==typeof e&&41===e)return 0;break;case 42:if(\"number\"==typeof e&&42===e)return 0;break;case 43:if(\"number\"==typeof e&&43===e)return 0;break;case 44:if(\"number\"==typeof e&&44===e)return 0;break;case 45:if(\"number\"==typeof e&&45===e)return 0;break;case 46:if(\"number\"==typeof e&&46===e)return 0;break;case 47:if(\"number\"==typeof e&&47===e)return 0;break;case 48:if(\"number\"==typeof e&&48===e)return 0;break;case 49:if(\"number\"==typeof e&&49===e)return 0;break;case 50:if(\"number\"==typeof e&&50===e)return 0;break;case 51:if(\"number\"==typeof e&&51===e)return 0;break;case 52:if(\"number\"==typeof e&&52===e)return 0;break;case 53:if(\"number\"==typeof e&&53===e)return 0;break;default:if(\"number\"==typeof e&&54===e)return 0}}else switch(r[0]){case 0:if(\"number\"!=typeof e&&0===e[0])return oS(r[1],e[1]);break;case 1:if(\"number\"!=typeof e&&1===e[0]){var n=oS(r[1],e[1]);return 0===n?oS(r[2],e[2]):n}break;case 2:if(\"number\"!=typeof e&&2===e[0]){var u=oS(r[1],e[1]);return 0===u?oS(r[2],e[2]):u}break;case 3:if(\"number\"!=typeof e&&3===e[0])return oS(r[1],e[1]);break;case 4:if(\"number\"!=typeof e&&4===e[0]){var a=e[2],i=r[2],c=oS(r[1],e[1]);return 0===c?i?a?oS(i[1],a[1]):1:a?-1:0:c}break;case 5:if(\"number\"!=typeof e&&5===e[0])return oS(r[1],e[1]);break;case 6:if(\"number\"!=typeof e&&6===e[0]){var f=e[2],o=r[2],s=oS(r[1],e[1]);if(0===s){if(o)if(f){var l=f[1],v=o[1];switch(v){case 0:if(0===l)var D=0,p=1;else p=0;break;case 1:if(1===l)D=0,p=1;else p=0;break;case 2:if(2===l)D=0,p=1;else p=0;break;default:if(3<=l)D=0,p=1;else p=0}if(!p){var b=function(r){switch(r){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},F=b(l);D=fS(b(v),F)}var m=D}else m=1;else m=f?-1:0;return 0===m?oS(r[3],e[3]):m}return s}break;case 7:if(\"number\"!=typeof e&&7===e[0]){var d=oS(r[1],e[1]);return 0===d?oS(r[2],e[2]):d}break;case 8:if(\"number\"!=typeof e&&8===e[0])return fS(r[1],e[1]);break;case 9:if(\"number\"!=typeof e&&9===e[0]){var E=oS(r[1],e[1]);return 0===E?oS(r[2],e[2]):E}break;case 10:if(\"number\"!=typeof e&&10===e[0])return oS(r[1],e[1]);break;case 11:if(\"number\"!=typeof e&&11===e[0])return oS(r[1],e[1]);break;case 12:if(\"number\"!=typeof e&&12===e[0]){var k=oS(r[1],e[1]);return 0===k?oS(r[2],e[2]):k}break;case 13:if(\"number\"!=typeof e&&13===e[0]){var h=oS(r[1],e[1]);return 0===h?oS(r[2],e[2]):h}break;case 14:if(\"number\"!=typeof e&&14===e[0])return oS(r[1],e[1]);break;case 15:if(\"number\"!=typeof e&&15===e[0])return oS(r[1],e[1]);break;case 16:if(\"number\"!=typeof e&&16===e[0]){var y=oS(r[1],e[1]);return 0===y?oS(r[2],e[2]):y}break;case 17:if(\"number\"!=typeof e&&17===e[0])return oS(r[1],e[1]);break;case 18:if(\"number\"!=typeof e&&18===e[0])return fS(r[1],e[1]);break;case 19:if(\"number\"!=typeof e&&19===e[0])return oS(r[1],e[1]);break;case 20:if(\"number\"!=typeof e&&20===e[0])return oS(r[1],e[1]);break;case 21:if(\"number\"!=typeof e&&21===e[0]){var C=oS(r[1],e[1]);if(0===C){var w=fS(r[2],e[2]);return 0===w?fS(r[3],e[3]):w}return C}break;case 22:if(\"number\"!=typeof e&&22===e[0])return oS(r[1],e[1]);break;default:if(\"number\"!=typeof e&&23===e[0])return oS(r[1],e[1])}function A(r){if(\"number\"==typeof r){var e=r;if(55<=e)switch(e){case 55:return 73;case 56:return 74;case 57:return 75;case 58:return 77;case 59:return 78;case 60:return 79;case 61:return 80;case 62:return 81;case 63:return 82;case 64:return 83;case 65:return 84;case 66:return 85;case 67:return 86;case 68:return 87;case 69:return 88;case 70:return 89;case 71:return 90;case 72:return 92;case 73:return 93;case 74:return 94;case 75:return 95;case 76:return 96;case 77:return 97;case 78:return 98;case 79:return 99;case 80:return Fu;case 81:return CE;case 82:return EE;case 83:return $l;case 84:return sE;case 85:return tg;case 86:return Bb;case 87:return ak;case 88:return Jr;case 89:return Be;case 90:return eu;case 91:return vi;case 92:return sA;case 93:return cm;case 94:return wt;case 95:return Zd;case 96:return cE;case 97:return S_;case 98:return h_;case 99:return g;case 100:return xp;case 101:return jF;case 102:return TF;case 103:return zy;case 104:return S;case 105:return 129;case 106:return 130;case 107:return 131;case 108:return 132;default:return 133}switch(e){case 0:return 5;case 1:return 9;case 2:return 16;case 3:return 17;case 4:return 18;case 5:return 19;case 6:return 20;case 7:return 21;case 8:return 22;case 9:return 23;case 10:return 24;case 11:return 25;case 12:return 26;case 13:return 27;case 14:return 28;case 15:return 29;case 16:return 30;case 17:return 31;case 18:return 32;case 19:return 33;case 20:return 34;case 21:return 35;case 22:return 36;case 23:return 37;case 24:return 38;case 25:return 40;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 50;case 34:return 51;case 35:return 52;case 36:return 53;case 37:return 54;case 38:return 55;case 39:return 56;case 40:return 57;case 41:return 58;case 42:return 59;case 43:return 60;case 44:return 61;case 45:return 62;case 46:return 63;case 47:return 64;case 48:return 65;case 49:return 66;case 50:return 67;case 51:return 68;case 52:return 69;case 53:return 70;default:return 71}}else switch(r[0]){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 5:return 6;case 6:return 7;case 7:return 8;case 8:return 10;case 9:return 11;case 10:return 12;case 11:return 13;case 12:return 14;case 13:return 15;case 14:return 39;case 15:return 48;case 16:return 49;case 17:return 72;case 18:return 76;case 19:return 91;case 20:return Ma;case 21:return Uu;case 22:return Ve;default:return gd}}var _=A(e);return fS(A(r),_)}));var yMe=[bc,M$r,yS()],CMe=function(r){return[0,r[1],r[2].slice(),r[3],r[4],r[5],r[6],r[7]]},wMe=function(r){return r[3][1]},AMe=function(r,e){return r!==e[4]?[0,e[1],e[2],e[3],r,e[5],e[6],e[7]]:e},_Me=function(r){if(\"number\"==typeof r){var e=r;if(60<=e)switch(e){case 60:return yQr;case 61:return CQr;case 62:return wQr;case 63:return AQr;case 64:return _Qr;case 65:return gQr;case 66:return BQr;case 67:return SQr;case 68:return xQr;case 69:return TQr;case 70:return IQr;case 71:return NQr;case 72:return OQr;case 73:return LQr;case 74:return PQr;case 75:return RQr;case 76:return MQr;case 77:return jQr;case 78:return UQr;case 79:return XQr;case 80:return GQr;case 81:return JQr;case 82:return qQr;case 83:return zQr;case 84:return WQr;case 85:return VQr;case 86:return $Qr;case 87:return YQr;case 88:return HQr;case 89:return KQr;case 90:return QQr;case 91:return ZQr;case 92:return rZr;case 93:return eZr;case 94:return tZr;case 95:return nZr;case 96:return uZr;case 97:return aZr;case 98:return iZr;case 99:return cZr;case 100:return fZr;case 101:return oZr;case 102:return sZr;case 103:return lZr;case 104:return vZr;case 105:return DZr;case 106:return pZr;case 107:return bZr;case 108:return FZr;case 109:return mZr;case 110:return dZr;case 111:return EZr;case 112:return kZr;case 113:return hZr;case 114:return yZr;case 115:return CZr;case 116:return wZr;case 117:return AZr;default:return _Zr}switch(e){case 0:return FKr;case 1:return mKr;case 2:return dKr;case 3:return EKr;case 4:return kKr;case 5:return hKr;case 6:return yKr;case 7:return CKr;case 8:return wKr;case 9:return AKr;case 10:return _Kr;case 11:return gKr;case 12:return BKr;case 13:return SKr;case 14:return xKr;case 15:return TKr;case 16:return IKr;case 17:return NKr;case 18:return OKr;case 19:return LKr;case 20:return PKr;case 21:return RKr;case 22:return MKr;case 23:return jKr;case 24:return UKr;case 25:return XKr;case 26:return GKr;case 27:return JKr;case 28:return qKr;case 29:return zKr;case 30:return WKr;case 31:return VKr;case 32:return $Kr;case 33:return YKr;case 34:return HKr;case 35:return KKr;case 36:return QKr;case 37:return ZKr;case 38:return rQr;case 39:return eQr;case 40:return tQr;case 41:return nQr;case 42:return uQr;case 43:return aQr;case 44:return iQr;case 45:return cQr;case 46:return fQr;case 47:return oQr;case 48:return sQr;case 49:return lQr;case 50:return vQr;case 51:return DQr;case 52:return pQr;case 53:return bQr;case 54:return FQr;case 55:return mQr;case 56:return dQr;case 57:return EQr;case 58:return kQr;default:return hQr}}else switch(r[0]){case 0:return gZr;case 1:return BZr;case 2:return SZr;case 3:return xZr;case 4:return TZr;case 5:return IZr;case 6:return NZr;case 7:return OZr;case 8:return LZr;case 9:return PZr;case 10:return RZr;default:return MZr}},gMe=function(r){if(\"number\"==typeof r){var e=r;if(60<=e)switch(e){case 60:return cHr;case 61:return fHr;case 62:return oHr;case 63:return sHr;case 64:return lHr;case 65:return vHr;case 66:return DHr;case 67:return pHr;case 68:return bHr;case 69:return FHr;case 70:return mHr;case 71:return dHr;case 72:return EHr;case 73:return kHr;case 74:return hHr;case 75:return yHr;case 76:return CHr;case 77:return wHr;case 78:return AHr;case 79:return _Hr;case 80:return gHr;case 81:return BHr;case 82:return SHr;case 83:return xHr;case 84:return THr;case 85:return IHr;case 86:return NHr;case 87:return OHr;case 88:return LHr;case 89:return PHr;case 90:return RHr;case 91:return MHr;case 92:return jHr;case 93:return UHr;case 94:return XHr;case 95:return GHr;case 96:return JHr;case 97:return qHr;case 98:return zHr;case 99:return WHr;case 100:return VHr;case 101:return $Hr;case 102:return YHr;case 103:return HHr;case 104:return KHr;case 105:return QHr;case 106:return ZHr;case 107:return rKr;case 108:return eKr;case 109:return tKr;case 110:return nKr;case 111:return uKr;case 112:return aKr;case 113:return iKr;case 114:return cKr;case 115:return fKr;case 116:return oKr;case 117:return sKr;default:return lKr}switch(e){case 0:return eYr;case 1:return tYr;case 2:return nYr;case 3:return uYr;case 4:return aYr;case 5:return iYr;case 6:return cYr;case 7:return fYr;case 8:return oYr;case 9:return sYr;case 10:return lYr;case 11:return vYr;case 12:return DYr;case 13:return pYr;case 14:return bYr;case 15:return FYr;case 16:return mYr;case 17:return dYr;case 18:return EYr;case 19:return kYr;case 20:return hYr;case 21:return yYr;case 22:return CYr;case 23:return wYr;case 24:return AYr;case 25:return _Yr;case 26:return gYr;case 27:return BYr;case 28:return SYr;case 29:return xYr;case 30:return TYr;case 31:return IYr;case 32:return NYr;case 33:return OYr;case 34:return LYr;case 35:return PYr;case 36:return RYr;case 37:return MYr;case 38:return jYr;case 39:return UYr;case 40:return XYr;case 41:return GYr;case 42:return JYr;case 43:return qYr;case 44:return zYr;case 45:return WYr;case 46:return VYr;case 47:return $Yr;case 48:return YYr;case 49:return HYr;case 50:return KYr;case 51:return QYr;case 52:return ZYr;case 53:return rHr;case 54:return eHr;case 55:return tHr;case 56:return nHr;case 57:return uHr;case 58:return aHr;default:return iHr}}else switch(r[0]){case 3:return r[1][2][3];case 5:var t=r[1],n=iye(vKr,t[3]);return iye(DKr,iye(t[2],n));case 9:return 0===r[1]?bKr:pKr;case 0:case 1:return r[2];case 2:case 8:return r[1][3];case 6:case 7:return r[1];default:return r[3]}},BMe=function(r){return gx(LCe(rYr),r)},SMe=function(r,e){var t=r?r[1]:r;if(\"number\"==typeof e)if(Ve===e)var n=X$r,u=0;else u=1;else switch(e[0]){case 3:n=G$r,u=0;break;case 5:n=J$r,u=0;break;case 6:case 9:u=1;break;case 0:case 10:var a=W$r,i=z$r;u=2;break;case 1:case 11:a=$$r,i=V$r,u=2;break;case 2:case 8:a=H$r,i=Y$r,u=2;break;default:a=Q$r,i=K$r,u=2}switch(u){case 0:a=n[1],i=n[2];break;case 1:a=BMe(gMe(e)),i=q$r}return t?iye(i,iye(Z$r,a)):a},xMe=function(r){if(r){var e=r[1];return 35>>0)var l=oAe(a);else switch(f){case 0:l=2;break;case 2:l=1;break;case 3:if(cAe(a,2),0===hUe(iAe(a))){var m=zje(iAe(a));if(0===m)l=0===RMe(iAe(a))&&0===RMe(iAe(a))&&0===RMe(iAe(a))?0:oAe(a);else if(1===m)if(0===RMe(iAe(a)))for(;;){var k=WMe(iAe(a));if(0!==k){l=1===k?0:oAe(a);break}}else l=oAe(a);else l=oAe(a)}else l=oAe(a);break;default:l=0}if(2<=l){if(!(3<=l))return NUe(r,e,36)}else if(0<=l)return r;return nye(qre)},JUe=function(r,e,t,n,u){var a=e+lAe(t)|0;return[0,gUe(r,a,e+vAe(t)|0),AAe(t,n,(DAe(t)-n|0)-u|0)]},qUe=function(r,e){for(var t=lAe(r[2]),n=wAe(e),u=Kye(RS(e)),a=r;;){fAe(n);var i=iAe(n);if(i)var c=i[1],f=92>>0)var o=oAe(n);else switch(f){case 0:o=2;break;case 1:for(;;){cAe(n,3);var s=iAe(n);if(s)var l=s[1],v=-1>>0)return nye(Xre);switch(o){case 0:var b=JUe(a,t,n,2,0),F=b[1],m=VS(iye(Gre,b[2])),d=bye(m)?GUe(a,F,m):NUe(a,F,36);gAe(u,m);a=d;continue;case 1:var E=JUe(a,t,n,3,1),k=VS(iye(Jre,E[2])),h=GUe(a,E[1],k);gAe(u,k);a=h;continue;case 2:return[0,a,Qye(u)];default:eCe(u,_Ae(n));continue}}},zUe=function(r,e,t){var n=PUe(r,xUe(r,e));return sAe(e),Bx(t,n,e)},WUe=function(r,e,t){for(var n=r;;){fAe(t);var u=iAe(t);if(u)var a=u[1],i=-1>>0)var c=oAe(t);else switch(i){case 0:for(;;){cAe(t,3);var f=iAe(t);if(f)var o=f[1],s=-1>>0){var p=PUe(n,xUe(n,t));return[0,p,SUe(p,t)]}switch(c){case 0:var b=RUe(n,t);eCe(e,_Ae(t));n=b;continue;case 1:var F=n[4]?LUe(n,xUe(n,t),UZr,jZr):n;return[0,F,SUe(F,t)];case 2:if(n[4])return[0,n,SUe(n,t)];eCe(e,XZr);continue;default:eCe(e,_Ae(t));continue}}},VUe=function(r,e,t){for(;;){fAe(t);var n=iAe(t);if(n)var u=n[1],a=13>>0)var i=oAe(t);else switch(a){case 0:i=0;break;case 1:for(;;){cAe(t,2);var c=iAe(t);if(c)var f=c[1],o=-1>>0)return nye(GZr);switch(i){case 0:return[0,r,SUe(r,t)];case 1:var s=SUe(r,t),l=RUe(r,t),v=DAe(t);return[0,l,[0,s[1],s[2]-v|0]];default:eCe(e,_Ae(t));continue}}},$Ue=function(r,e){function t(r){return cAe(r,3),0===kje(iAe(r))?2:oAe(r)}fAe(e);var n=iAe(e);if(n)var u=n[1],a=S_>>0)var i=oAe(e);else switch(a){case 1:i=16;break;case 2:i=15;break;case 3:cAe(e,15);i=0===Vje(iAe(e))?15:oAe(e);break;case 4:cAe(e,4);i=0===kje(iAe(e))?t(e):oAe(e);break;case 5:cAe(e,11);i=0===kje(iAe(e))?t(e):oAe(e);break;case 7:i=5;break;case 8:i=6;break;case 9:i=7;break;case 10:i=8;break;case 11:i=9;break;case 12:cAe(e,14);var c=zje(iAe(e));if(0===c)i=0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?12:oAe(e);else if(1===c)if(0===RMe(iAe(e)))for(;;){var f=WMe(iAe(e));if(0!==f){i=1===f?13:oAe(e);break}}else i=oAe(e);else i=oAe(e);break;case 13:i=10;break;case 14:cAe(e,14);i=0===RMe(iAe(e))&&0===RMe(iAe(e))?1:oAe(e);break;default:i=0}if(16>>0)return nye(gre);switch(i){case 1:var o=_Ae(e);return[0,r,o,[0,VS(iye(Bre,o))],0];case 2:var s=_Ae(e),l=VS(iye(Sre,s));return 256<=l?[0,r,s,[0,l>>>3|0,48+(7&l)|0],1]:[0,r,s,[0,l],1];case 3:var v=_Ae(e);return[0,r,v,[0,VS(iye(xre,v))],1];case 4:return[0,r,Tre,[0,0],0];case 5:return[0,r,Ire,[0,8],0];case 6:return[0,r,Nre,[0,12],0];case 7:return[0,r,Ore,[0,10],0];case 8:return[0,r,Lre,[0,13],0];case 9:return[0,r,Pre,[0,9],0];case 10:return[0,r,Rre,[0,11],0];case 11:var D=_Ae(e);return[0,r,D,[0,VS(iye(Mre,D))],1];case 12:var p=_Ae(e);return[0,r,p,[0,VS(iye(jre,Gye(p,1,RS(p)-1|0)))],0];case 13:var b=_Ae(e),F=VS(iye(Ure,Gye(b,2,RS(b)-3|0)));return[0,i_>>0)var l=oAe(a);else switch(s){case 0:l=3;break;case 1:for(;;){cAe(a,4);var v=iAe(a);if(v)var D=v[1],p=-1>>0)return nye(JZr);switch(l){case 0:var b=_Ae(a);if(eCe(n,b),Ex(e,b))return[0,i,SUe(i,a),c];eCe(t,b);continue;case 1:eCe(n,qZr);var F=$Ue(i,a),m=F[4]||c;eCe(n,F[2]),Wye((function(r){return gAe(t,r)}),F[3]);i=F[1],c=m;continue;case 2:var d=_Ae(a);eCe(n,d);var E=RUe(PUe(i,xUe(i,a)),a);return eCe(t,d),[0,E,SUe(E,a),c];case 3:var k=_Ae(a);eCe(n,k);var h=PUe(i,xUe(i,a));return eCe(t,k),[0,h,SUe(h,a),c];default:var y=_Ae(a);eCe(n,y),eCe(t,y);continue}}},HUe=function(r,e,t,n,u){for(var a=r;;){fAe(u);var i=iAe(u);if(i)var c=i[1],f=96>>0)var o=oAe(u);else switch(f){case 0:o=0;break;case 1:for(;;){cAe(u,6);var s=iAe(u);if(s)var l=s[1],v=-1>>0)return nye(zZr);switch(o){case 0:return[0,PUe(a,xUe(a,u)),1];case 1:return rCe(n,96),[0,a,1];case 2:return eCe(n,WZr),[0,a,0];case 3:rCe(t,92),rCe(n,92);var F=$Ue(a,u),m=F[2];eCe(t,m),eCe(n,m),Wye((function(r){return gAe(e,r)}),F[3]);a=F[1];continue;case 4:eCe(t,VZr),eCe(n,$Zr),eCe(e,YZr);a=RUe(a,u);continue;case 5:var d=_Ae(u);eCe(t,d),eCe(n,d),rCe(e,10);a=RUe(a,u);continue;default:var E=_Ae(u);eCe(t,E),eCe(n,E),eCe(e,E);continue}}},KUe=function(r,e,t,n,u){for(var a=r;;){var i=function(r){for(;;)if(cAe(r,6),0!==lje(iAe(r)))return oAe(r)};fAe(u);var c=iAe(u);if(c)var f=c[1],o=gd>>0)var s=oAe(u);else switch(o){case 0:s=1;break;case 1:s=i(u);break;case 2:s=2;break;case 3:cAe(u,2);s=0===Vje(iAe(u))?2:oAe(u);break;case 4:s=0;break;case 5:cAe(u,6);var l=iAe(u);if(l)var v=l[1],D=34>>0)return nye(n0r);switch(s){case 0:var N=_Ae(u);switch(e){case 0:var O=hx(N,u0r)?0:1;break;case 1:O=hx(N,a0r)?0:1;break;default:if(hx(N,i0r)){if(!hx(N,c0r))return LUe(a,xUe(a,u),D0r,v0r);if(hx(N,f0r)){if(!hx(N,o0r))return LUe(a,xUe(a,u),l0r,s0r);O=0;var L=0}else L=1}else L=1;if(L)return sAe(u),a}if(O)return a;eCe(n,N),eCe(t,N);continue;case 1:return PUe(a,xUe(a,u));case 2:var P=_Ae(u);eCe(n,P),eCe(t,P);a=RUe(a,u);continue;case 3:var R=_Ae(u),M=Gye(R,3,RS(R)-4|0);eCe(n,R),gAe(t,VS(iye(p0r,M)));continue;case 4:var j=_Ae(u),U=Gye(j,2,RS(j)-3|0);eCe(n,j),gAe(t,VS(U));continue;case 5:var X=_Ae(u),G=Gye(X,1,RS(X)-2|0);eCe(n,X);var J=oS(G,b0r);if(0<=J)if(0>>0)var a=oAe(e);else switch(u){case 0:a=0;break;case 1:a=6;break;case 2:if(cAe(e,2),0===NMe(iAe(e))){for(;;)if(cAe(e,2),0!==NMe(iAe(e))){a=oAe(e);break}}else a=oAe(e);break;case 3:a=1;break;case 4:cAe(e,1);a=0===Vje(iAe(e))?1:oAe(e);break;default:cAe(e,5);var i=cUe(iAe(e));a=0===i?4:1===i?3:oAe(e)}if(6
>>0)return nye(cre);switch(a){case 0:return[0,r,Ve];case 1:return[2,RUe(r,e)];case 2:return[2,r];case 3:var c=BUe(r,e),f=Kye(zy),o=VUe(r,f,e),s=o[1];return[1,s,jUe(s,c,o[2],f,0)];case 4:var l=BUe(r,e),v=Kye(zy),D=WUe(r,v,e),p=D[1];return[1,p,jUe(p,l,D[2],v,1)];case 5:var b=BUe(r,e),F=Kye(zy),m=r;r:for(;;){fAe(e);var d=iAe(e);if(d)var E=d[1],k=92>>0)var h=oAe(e);else switch(k){case 0:h=0;break;case 1:for(;;){cAe(e,7);var y=iAe(e);if(y)var C=y[1],w=-1>>0)h=oAe(e);else switch(g){case 0:h=2;break;case 1:h=1;break;default:cAe(e,1);h=0===Vje(iAe(e))?1:oAe(e)}}if(7>>0)var B=nye(QZr);else switch(h){case 0:B=[0,NUe(m,xUe(m,e),25),ZZr];break;case 1:B=[0,RUe(NUe(m,xUe(m,e),25),e),r0r];break;case 3:var S=_Ae(e);B=[0,m,Gye(S,1,RS(S)-1|0)];break;case 4:B=[0,m,e0r];break;case 5:for(rCe(F,91);;){fAe(e);var x=iAe(e);if(x)var T=x[1],I=93>>0)var N=oAe(e);else switch(I){case 0:N=0;break;case 1:for(;;){cAe(e,4);var O=iAe(e);if(O)var L=O[1],P=-1>>0)var U=nye(HZr);else switch(N){case 0:U=m;break;case 1:eCe(F,KZr);continue;case 2:rCe(F,92),rCe(F,93);continue;case 3:rCe(F,93);U=m;break;default:eCe(F,_Ae(e));continue}m=U;continue r}case 6:B=[0,RUe(NUe(m,xUe(m,e),25),e),t0r];break;default:eCe(F,_Ae(e));continue}var X=B[1],G=SUe(X,e),J=[0,X[1],b,G],q=B[2];return[0,X,[5,[0,J,Qye(F),q]]]}default:return[0,PUe(r,xUe(r,e)),[6,_Ae(e)]]}})),rXe=QUe((function(r,e){function t(r,e){for(;;){cAe(e,12);var t=Eje(iAe(e));if(0!==t)return 1===t?r<50?a(r+1|0,e):wx(a,[0,e]):oAe(e)}}function a(r,e){if(0===hUe(iAe(e))){var n=zje(iAe(e));if(0===n)return 0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e);if(1===n){if(0===RMe(iAe(e)))for(;;){var u=WMe(iAe(e));if(0!==u)return 1===u?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e)}return oAe(e)}return oAe(e)}return oAe(e)}function i(r){return Cx(t(0,r))}fAe(e);var c=iAe(e);if(c)var f=c[1],o=er>>0)var l=oAe(e);else switch(o){case 0:l=0;break;case 1:l=14;break;case 2:if(cAe(e,2),0===NMe(iAe(e))){for(;;)if(cAe(e,2),0!==NMe(iAe(e))){l=oAe(e);break}}else l=oAe(e);break;case 3:l=1;break;case 4:cAe(e,1);l=0===Vje(iAe(e))?1:oAe(e);break;case 5:l=13;break;case 6:cAe(e,12);var v=Eje(iAe(e));l=0===v?i(e):1===v?function(r){return Cx(a(0,r))}(e):oAe(e);break;case 7:l=10;break;case 8:cAe(e,6);var p=cUe(iAe(e));l=0===p?4:1===p?3:oAe(e);break;case 9:l=9;break;case 10:l=5;break;case 11:l=11;break;case 12:l=7;break;case 13:if(cAe(e,14),0===hUe(iAe(e))){var m=zje(iAe(e));if(0===m)l=0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?i(e):oAe(e);else if(1===m)if(0===RMe(iAe(e)))for(;;){var d=WMe(iAe(e));if(0!==d){l=1===d?i(e):oAe(e);break}}else l=oAe(e);else l=oAe(e)}else l=oAe(e);break;default:l=8}if(14>>0)return nye(are);switch(l){case 0:return[0,r,Ve];case 1:return[2,RUe(r,e)];case 2:return[2,r];case 3:var E=BUe(r,e),k=Kye(zy),y=VUe(r,k,e),w=y[1];return[1,w,jUe(w,E,y[2],k,0)];case 4:var g=BUe(r,e),B=Kye(zy),S=WUe(r,B,e),x=S[1];return[1,x,jUe(x,g,S[2],B,1)];case 5:return[0,r,95];case 6:return[0,r,EE];case 7:return[0,r,96];case 8:return[0,r,0];case 9:return[0,r,83];case 10:return[0,r,10];case 11:return[0,r,79];case 12:return[0,r,[7,_Ae(e)]];case 13:var T=_Ae(e),N=BUe(r,e),L=Kye(zy),P=Kye(zy);eCe(P,T);var M=Ex(T,ire)?0:1,U=KUe(r,M,L,P,e),X=SUe(U,e);eCe(P,T);var J=Qye(L),W=Qye(P);return[0,U,[8,[0,[0,U[1],N,X],J,W]]];default:return[0,r,[6,_Ae(e)]]}})),eXe=QUe((function(r,e){fAe(e);var t=iAe(e);if(t)var n=t[1],u=-1>>0)var a=oAe(e);else switch(u){case 0:a=5;break;case 1:if(cAe(e,1),0===NMe(iAe(e))){for(;;)if(cAe(e,1),0!==NMe(iAe(e))){a=oAe(e);break}}else a=oAe(e);break;case 2:a=0;break;case 3:cAe(e,0);a=0===Vje(iAe(e))?0:oAe(e);break;case 4:cAe(e,5);var i=cUe(iAe(e));a=0===i?3:1===i?2:oAe(e);break;default:a=4}if(5>>0)return nye(ere);switch(a){case 0:return[2,RUe(r,e)];case 1:return[2,r];case 2:var c=BUe(r,e),f=Kye(zy),o=VUe(r,f,e),s=o[1];return[1,s,jUe(s,c,o[2],f,0)];case 3:var l=BUe(r,e),v=Kye(zy),D=WUe(r,v,e),p=D[1];return[1,p,jUe(p,l,D[2],v,1)];case 4:var b=BUe(r,e),F=Kye(zy),m=Kye(zy),d=Kye(zy);eCe(d,tre);var E=HUe(r,F,m,d,e),k=E[1],h=SUe(k,e),y=[0,k[1],b,h],C=E[2],w=Qye(d),A=Qye(m);return[0,k,[3,[0,y,[0,Qye(F),A,w],C]]];default:var _=PUe(r,xUe(r,e));return[0,_,[3,[0,xUe(_,e),nre,1]]]}})),tXe=QUe((function(r,e){function t(r,e){for(;;){cAe(e,48);var t=zMe(iAe(e));if(0!==t)return 1===t?r<50?a(r+1|0,e):wx(a,[0,e]):oAe(e)}}function a(r,e){if(0===hUe(iAe(e))){var n=zje(iAe(e));if(0===n)return 0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e);if(1===n){if(0===RMe(iAe(e)))for(;;){var u=WMe(iAe(e));if(0!==u)return 1===u?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e)}return oAe(e)}return oAe(e)}return oAe(e)}function i(r){return Cx(t(0,r))}function c(r){return Cx(a(0,r))}function f(r){for(;;)if(cAe(r,29),0!==AUe(iAe(r)))return oAe(r)}function l(r){cAe(r,27);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,25),0!==AUe(iAe(r)))return oAe(r);return 1===e?f(r):oAe(r)}function m(r){for(;;)if(cAe(r,23),0!==AUe(iAe(r)))return oAe(r)}function y(r){cAe(r,22);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,21),0!==AUe(iAe(r)))return oAe(r);return 1===e?m(r):oAe(r)}function w(r){for(;;)if(cAe(r,23),0!==AUe(iAe(r)))return oAe(r)}function g(r){cAe(r,22);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,21),0!==AUe(iAe(r)))return oAe(r);return 1===e?w(r):oAe(r)}function B(r){r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,24);var e=Kje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return w(r);case 1:continue;case 2:continue r;default:return g(r)}}return oAe(r)}}function S(r){cAe(r,29);var e=iUe(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:var t=ije(iAe(r));if(0===t)for(;;){cAe(r,24);var n=VMe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:return w(r);case 1:continue;default:return g(r)}}if(1===t)for(;;){cAe(r,24);var u=Kje(iAe(r));if(3>>0)return oAe(r);switch(u){case 0:return w(r);case 1:continue;case 2:return B(r);default:return g(r)}}return oAe(r);case 2:for(;;){cAe(r,24);var a=VMe(iAe(r));if(2>>0)return oAe(r);switch(a){case 0:return m(r);case 1:continue;default:return y(r)}}default:for(;;){cAe(r,24);var i=Kje(iAe(r));if(3>>0)return oAe(r);switch(i){case 0:return m(r);case 1:continue;case 2:return B(r);default:return y(r)}}}}function T(r){for(;;){cAe(r,30);var e=Nje(iAe(r));if(4>>0)return oAe(r);switch(e){case 0:return f(r);case 1:continue;case 2:return S(r);case 3:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,30);var t=Nje(iAe(r));if(4>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:return S(r);case 3:continue r;default:return l(r)}}return oAe(r)}default:return l(r)}}}function N(r){return 0===LMe(iAe(r))?T(r):oAe(r)}function L(r){for(;;)if(cAe(r,19),0!==AUe(iAe(r)))return oAe(r)}function P(r){for(;;)if(cAe(r,19),0!==AUe(iAe(r)))return oAe(r)}function M(r){cAe(r,29);var e=qMe(iAe(r));if(0===e)return f(r);if(1===e)for(;;){cAe(r,20);var t=lUe(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return P(r);case 1:continue;case 2:r:for(;;){if(0===RMe(iAe(r)))for(;;){cAe(r,20);var n=lUe(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return L(r);case 1:continue;case 2:continue r;default:cAe(r,18);var u=mje(iAe(r));if(0===u)for(;;)if(cAe(r,17),0!==AUe(iAe(r)))return oAe(r);return 1===u?L(r):oAe(r)}}return oAe(r)}default:cAe(r,18);var a=mje(iAe(r));if(0===a)for(;;)if(cAe(r,17),0!==AUe(iAe(r)))return oAe(r);return 1===a?P(r):oAe(r)}}return oAe(r)}function U(r){for(;;)if(cAe(r,13),0!==AUe(iAe(r)))return oAe(r)}function J(r){for(;;)if(cAe(r,13),0!==AUe(iAe(r)))return oAe(r)}function V(r){cAe(r,29);var e=$je(iAe(r));if(0===e)return f(r);if(1===e)for(;;){cAe(r,14);var t=Zje(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return J(r);case 1:continue;case 2:r:for(;;){if(0===kje(iAe(r)))for(;;){cAe(r,14);var n=Zje(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return U(r);case 1:continue;case 2:continue r;default:cAe(r,12);var u=mje(iAe(r));if(0===u)for(;;)if(cAe(r,11),0!==AUe(iAe(r)))return oAe(r);return 1===u?U(r):oAe(r)}}return oAe(r)}default:cAe(r,12);var a=mje(iAe(r));if(0===a)for(;;)if(cAe(r,11),0!==AUe(iAe(r)))return oAe(r);return 1===a?J(r):oAe(r)}}return oAe(r)}function rr(r){for(;;)if(cAe(r,9),0!==AUe(iAe(r)))return oAe(r)}function tr(r){for(;;)if(cAe(r,9),0!==AUe(iAe(r)))return oAe(r)}function ur(r){cAe(r,29);var e=qje(iAe(r));if(0===e)return f(r);if(1===e)for(;;){cAe(r,10);var t=fUe(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return tr(r);case 1:continue;case 2:r:for(;;){if(0===uje(iAe(r)))for(;;){cAe(r,10);var n=fUe(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return rr(r);case 1:continue;case 2:continue r;default:cAe(r,8);var u=mje(iAe(r));if(0===u)for(;;)if(cAe(r,7),0!==AUe(iAe(r)))return oAe(r);return 1===u?rr(r):oAe(r)}}return oAe(r)}default:cAe(r,8);var a=mje(iAe(r));if(0===a)for(;;)if(cAe(r,7),0!==AUe(iAe(r)))return oAe(r);return 1===a?tr(r):oAe(r)}}return oAe(r)}function ar(r){cAe(r,28);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,26),0!==AUe(iAe(r)))return oAe(r);return 1===e?f(r):oAe(r)}function or(r){cAe(r,30);var e=VMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return f(r);case 1:for(;;){cAe(r,30);var t=Kje(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,30);var n=Kje(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return f(r);case 1:continue;case 2:continue r;default:return l(r)}}return oAe(r)}default:return l(r)}}default:return l(r)}}function sr(r){for(;;){cAe(r,30);var e=rje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return or(r);case 2:continue;default:return ar(r)}}}function Dr(r){for(;;)if(cAe(r,15),0!==AUe(iAe(r)))return oAe(r)}function yr(r){cAe(r,15);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,15),0!==AUe(iAe(r)))return oAe(r);return 1===e?Dr(r):oAe(r)}function gr(r){for(;;){cAe(r,16);var e=oUe(iAe(r));if(4>>0)return oAe(r);switch(e){case 0:return Dr(r);case 1:return or(r);case 2:continue;case 3:for(;;){cAe(r,15);var t=rje(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return Dr(r);case 1:return or(r);case 2:continue;default:return yr(r)}}default:return yr(r)}}}function Tr(r){cAe(r,30);var e=Tje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:for(;;){cAe(r,30);var t=Nje(iAe(r));if(4>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:return S(r);case 3:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,30);var n=Nje(iAe(r));if(4>>0)return oAe(r);switch(n){case 0:return f(r);case 1:continue;case 2:return S(r);case 3:continue r;default:return l(r)}}return oAe(r)}default:return l(r)}}case 2:return S(r);default:return l(r)}}function Nr(r){cAe(r,30);var e=Wje(iAe(r));if(8>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return Tr(r);case 2:return gr(r);case 3:return sr(r);case 4:return ur(r);case 5:return S(r);case 6:return V(r);case 7:return M(r);default:return ar(r)}}function Lr(r){r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,30);var e=eUe(iAe(r));if(4>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return or(r);case 2:continue;case 3:continue r;default:return ar(r)}}return oAe(r)}}function Mr(r){for(;;){cAe(r,30);var e=cje(iAe(r));if(5>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return Tr(r);case 2:continue;case 3:return S(r);case 4:return Lr(r);default:return ar(r)}}}function Ur(r){return cAe(r,3),0===wUe(iAe(r))?3:oAe(r)}function Gr(r){return 0===Mje(iAe(r))&&0===yje(iAe(r))&&0===sUe(iAe(r))&&0===Pje(iAe(r))&&0===Rje(iAe(r))&&0===hje(iAe(r))&&0===Cje(iAe(r))&&0===Mje(iAe(r))&&0===hUe(iAe(r))&&0===jje(iAe(r))&&0===uUe(iAe(r))?3:oAe(r)}fAe(e);var Vr=iAe(e);if(Vr)var Hr=Vr[1],Zr=er>>0)var re=oAe(e);else switch(Zr){case 0:re=79;break;case 1:re=80;break;case 2:if(cAe(e,1),0===NMe(iAe(e))){for(;;)if(cAe(e,1),0!==NMe(iAe(e))){re=oAe(e);break}}else re=oAe(e);break;case 3:re=0;break;case 4:cAe(e,0);re=0===Vje(iAe(e))?0:oAe(e);break;case 5:re=6;break;case 6:cAe(e,48);var ee=zMe(iAe(e));re=0===ee?i(e):1===ee?c(e):oAe(e);break;case 7:if(cAe(e,80),0===Cje(iAe(e))){var te=iAe(e);if(te)var ne=te[1],ce=$l>>0)re=oAe(e);else switch(ve){case 0:for(;;){var De=Aje(iAe(e));if(3>>0)re=oAe(e);else switch(De){case 0:continue;case 1:re=N(e);break;case 2:re=Nr(e);break;default:re=Mr(e)}break}break;case 1:re=N(e);break;case 2:re=Nr(e);break;default:re=Mr(e)}break;case 15:cAe(e,59);var pe=Jje(iAe(e));re=0===pe?0===TMe(iAe(e))?58:oAe(e):1===pe?T(e):oAe(e);break;case 16:cAe(e,80);var Fe=cUe(iAe(e));if(0===Fe){cAe(e,2);var de=eje(iAe(e));if(2>>0)re=oAe(e);else switch(de){case 0:for(;;){var ke=eje(iAe(e));if(2>>0)re=oAe(e);else switch(ke){case 0:continue;case 1:re=Ur(e);break;default:re=Gr(e)}break}break;case 1:re=Ur(e);break;default:re=Gr(e)}}else re=1===Fe?5:oAe(e);break;case 17:cAe(e,30);var ge=Wje(iAe(e));if(8>>0)re=oAe(e);else switch(ge){case 0:re=f(e);break;case 1:re=Tr(e);break;case 2:re=gr(e);break;case 3:re=sr(e);break;case 4:re=ur(e);break;case 5:re=S(e);break;case 6:re=V(e);break;case 7:re=M(e);break;default:re=ar(e)}break;case 18:cAe(e,30);var xe=cje(iAe(e));if(5>>0)re=oAe(e);else switch(xe){case 0:re=f(e);break;case 1:re=Tr(e);break;case 2:re=Mr(e);break;case 3:re=S(e);break;case 4:re=Lr(e);break;default:re=ar(e)}break;case 19:re=62;break;case 20:re=60;break;case 21:re=66;break;case 22:cAe(e,68);var Te=iAe(e);if(Te)var Pe=Te[1],je=61>>0)re=oAe(e);else switch(Je){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ke=_je(iAe(e));if(2>>0)re=oAe(e);else switch(Ke){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,31);var Qe=zMe(iAe(e));re=0===Qe?i(e):1===Qe?c(e):oAe(e)}}break;case 29:cAe(e,48);var et=dUe(iAe(e));if(3>>0)re=oAe(e);else switch(et){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var at=UMe(iAe(e));if(2>>0)re=oAe(e);else switch(at){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var it=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(it){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ot=nje(iAe(e));if(2>>0)re=oAe(e);else switch(ot){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var st=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(st){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,41);var lt=zMe(iAe(e));re=0===lt?i(e):1===lt?c(e):oAe(e)}}}}break;default:cAe(e,48);var bt=pUe(iAe(e));if(2>>0)re=oAe(e);else switch(bt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ft=Bje(iAe(e));if(2>>0)re=oAe(e);else switch(Ft){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,32);var mt=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(mt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Et=sje(iAe(e));if(2>>0)re=oAe(e);else switch(Et){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var kt=nje(iAe(e));if(2>>0)re=oAe(e);else switch(kt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,33);var Bt=zMe(iAe(e));re=0===Bt?i(e):1===Bt?c(e):oAe(e)}}}}}}break;case 30:cAe(e,48);var Tt=iAe(e);if(Tt)var It=Tt[1],Ot=35>>0)re=oAe(e);else switch(Ot){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var Pt=JMe(iAe(e));if(2>>0)re=oAe(e);else switch(Pt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Rt=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(Rt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ut=_je(iAe(e));if(2>>0)re=oAe(e);else switch(Ut){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,34);var Xt=zMe(iAe(e));re=0===Xt?i(e):1===Xt?c(e):oAe(e)}}}break;default:cAe(e,48);var qt=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(qt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Vt=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(Vt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var $t=nje(iAe(e));if(2<$t>>>0)re=oAe(e);else switch($t){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Yt=PMe(iAe(e));if(2>>0)re=oAe(e);else switch(Yt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Kt=vUe(iAe(e));if(2>>0)re=oAe(e);else switch(Kt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,35);var Zt=zMe(iAe(e));re=0===Zt?i(e):1===Zt?c(e):oAe(e)}}}}}}break;case 31:cAe(e,48);var tn=sje(iAe(e));if(2>>0)re=oAe(e);else switch(tn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var nn=Bje(iAe(e));if(2>>0)re=oAe(e);else switch(nn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var un=vUe(iAe(e));if(2>>0)re=oAe(e);else switch(un){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var an=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(an){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,36);var fn=zMe(iAe(e));re=0===fn?i(e):1===fn?c(e):oAe(e)}}}}break;case 32:cAe(e,48);var on=nje(iAe(e));if(2>>0)re=oAe(e);else switch(on){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var sn=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(sn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var vn=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(vn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var mn=bje(iAe(e));if(2>>0)re=oAe(e);else switch(mn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var kn=DUe(iAe(e));if(2>>0)re=oAe(e);else switch(kn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var gn=sje(iAe(e));if(2>>0)re=oAe(e);else switch(gn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Bn=Uje(iAe(e));if(2>>0)re=oAe(e);else switch(Bn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var xn=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(xn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,37);var In=zMe(iAe(e));re=0===In?i(e):1===In?c(e):oAe(e)}}}}}}}}break;case 33:cAe(e,48);var Nn=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(Nn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Pn=iAe(e);if(Pn)var Rn=Pn[1],Xn=35>>0)re=oAe(e);else switch(Xn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Gn=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(Gn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var qn=PMe(iAe(e));if(2>>0)re=oAe(e);else switch(qn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,38);var Wn=zMe(iAe(e));re=0===Wn?i(e):1===Wn?c(e):oAe(e)}}}}break;case 34:cAe(e,48);var $n=IMe(iAe(e));if(2<$n>>>0)re=oAe(e);else switch($n){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Hn=iAe(e);if(Hn)var Kn=Hn[1],nu=35>>0)re=oAe(e);else switch(nu){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var uu=Bje(iAe(e));if(2>>0)re=oAe(e);else switch(uu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,39);var au=zMe(iAe(e));re=0===au?i(e):1===au?c(e):oAe(e)}break;default:cAe(e,48);var iu=tUe(iAe(e));if(2>>0)re=oAe(e);else switch(iu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ou=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(ou){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var lu=bje(iAe(e));if(2>>0)re=oAe(e);else switch(lu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,40);var mu=zMe(iAe(e));re=0===mu?i(e):1===mu?c(e):oAe(e)}}}}}break;case 35:cAe(e,48);var du=iAe(e);if(du)var Eu=du[1],wu=35>>0)re=oAe(e);else switch(wu){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var _u=iAe(e);if(_u)var Bu=_u[1],Nu=35>>0)re=oAe(e);else switch(Nu){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var Pu=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(Pu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Xu=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(Xu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Gu=Uje(iAe(e));if(2>>0)re=oAe(e);else switch(Gu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,42);var qu=zMe(iAe(e));re=0===qu?i(e):1===qu?c(e):oAe(e)}}}break;default:cAe(e,48);var zu=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(zu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Wu=nje(iAe(e));if(2>>0)re=oAe(e);else switch(Wu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Vu=UMe(iAe(e));if(2>>0)re=oAe(e);else switch(Vu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,43);var $u=zMe(iAe(e));re=0===$u?i(e):1===$u?c(e):oAe(e)}}}}break;default:cAe(e,48);var ra=Hje(iAe(e));if(2>>0)re=oAe(e);else switch(ra){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ca=tUe(iAe(e));if(2>>0)re=oAe(e);else switch(ca){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var oa=pUe(iAe(e));if(2>>0)re=oAe(e);else switch(oa){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var la=Bje(iAe(e));if(2>>0)re=oAe(e);else switch(la){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,47);var Da=zMe(iAe(e));re=0===Da?i(e):1===Da?c(e):oAe(e)}}}}}break;case 36:cAe(e,48);var ba=iAe(e);if(ba)var Ea=ba[1],ka=35>>0)re=oAe(e);else switch(ka){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var ha=IMe(iAe(e));if(2>>0)re=oAe(e);else switch(ha){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ca=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(Ca){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,44);var ga=zMe(iAe(e));re=0===ga?i(e):1===ga?c(e):oAe(e)}}break;default:cAe(e,48);var Ta=JMe(iAe(e));if(2>>0)re=oAe(e);else switch(Ta){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ia=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(Ia){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Pa=pUe(iAe(e));if(2>>0)re=oAe(e);else switch(Pa){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ua=DUe(iAe(e));if(2>>0)re=oAe(e);else switch(Ua){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,45);var Ga=zMe(iAe(e));re=0===Ga?i(e):1===Ga?c(e):oAe(e)}}}}}break;case 37:cAe(e,48);var Za=pUe(iAe(e));if(2>>0)re=oAe(e);else switch(Za){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ri=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(ri){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ei=PMe(iAe(e));if(2>>0)re=oAe(e);else switch(ei){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,46);var ui=zMe(iAe(e));re=0===ui?i(e):1===ui?c(e):oAe(e)}}}break;case 38:cAe(e,52);var ii=iAe(e);if(ii)var ci=ii[1],oi=xp>>0)return nye(Y9r);var mi=re;if(41<=mi)switch(mi){case 41:return[0,r,sA];case 42:return[0,r,42];case 43:return[0,r,cm];case 44:return[0,r,31];case 46:return[0,r,wt];case 47:return[0,r,Zd];case 48:var hi=xUe(r,e),wi=_Ae(e),gi=qUe(r,wi);return[0,gi[1],[4,hi,gi[2],wi]];case 49:return[0,r,66];case 52:return[0,r,0];case 53:return[0,r,1];case 54:return[0,r,2];case 55:return[0,r,3];case 56:return[0,r,4];case 57:return[0,r,5];case 58:return[0,r,12];case 59:return[0,r,10];case 60:return[0,r,8];case 61:return[0,r,9];case 66:return[0,r,95];case 67:return[0,r,96];case 70:return[0,r,$l];case 72:return[0,r,86];case 73:return[0,r,88];case 75:return[0,r,11];case 77:return[0,r,Fu];case 78:return[0,r,CE];case 79:return[0,r[4]?NUe(r,xUe(r,e),6):r,Ve];case 80:return[0,r,[6,_Ae(e)]];case 45:case 74:return[0,r,46];case 50:case 64:return[0,r,6];case 51:case 65:return[0,r,7];case 62:case 71:return[0,r,83];case 63:case 69:return[0,r,82];default:return[0,r,79]}switch(mi){case 0:return[2,RUe(r,e)];case 1:return[2,r];case 2:var xi=BUe(r,e),Ni=Kye(zy),Mi=WUe(r,Ni,e),ji=Mi[1];return[1,ji,jUe(ji,xi,Mi[2],Ni,1)];case 3:var Ui=_Ae(e);if(r[5]){var Xi=r[4]?OUe(r,xUe(r,e),Ui):r,zi=AMe(1,Xi),Wi=DAe(e);return Ex(AAe(e,Wi-1|0,1),H9r)&&hx(AAe(e,Wi-2|0,1),K9r)?[0,zi,83]:[2,zi]}var $i=BUe(r,e),Ki=Kye(zy);eCe(Ki,Ui);var Zi=WUe(r,Ki,e),uc=Zi[1];return[1,uc,jUe(uc,$i,Zi[2],Ki,1)];case 4:return r[4]?[2,AMe(0,r)]:(sAe(e),fAe(e),0===(0===xje(iAe(e))?0:oAe(e))?[0,r,$l]:nye(Q9r));case 5:var cc=BUe(r,e),sc=Kye(zy),lc=VUe(r,sc,e),bc=lc[1];return[1,bc,jUe(bc,cc,lc[2],sc,0)];case 6:var Fc=_Ae(e),mc=BUe(r,e),Ec=Kye(zy),kc=Kye(zy);eCe(kc,Fc);var Oc=YUe(r,Fc,Ec,kc,0,e),Lc=Oc[1],Pc=[0,Lc[1],mc,Oc[2]],zc=Oc[3],Kc=Qye(kc);return[0,Lc,[2,[0,Pc,Qye(Ec),Kc,zc]]];case 7:return zUe(r,e,(function(r,e){function t(r){if(0===Fje(iAe(r))){if(0===uje(iAe(r)))for(;;){var e=QMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===uje(iAe(r)))for(;;){var t=QMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,XUe(0,_Ae(e))]:nye($9r)}));case 8:return[0,r,XUe(0,_Ae(e))];case 9:return zUe(r,e,(function(r,e){function t(r){if(0===Fje(iAe(r))){if(0===uje(iAe(r)))for(;;){cAe(r,0);var e=KMe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===uje(iAe(r)))for(;;){cAe(r,0);var t=KMe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,UUe(0,_Ae(e))]:nye(V9r)}));case 10:return[0,r,UUe(0,_Ae(e))];case 11:return zUe(r,e,(function(r,e){function t(r){if(0===Sje(iAe(r))){if(0===kje(iAe(r)))for(;;){var e=Dje(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===kje(iAe(r)))for(;;){var t=Dje(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,XUe(1,_Ae(e))]:nye(W9r)}));case 12:return[0,r,XUe(1,_Ae(e))];case 13:return zUe(r,e,(function(r,e){function t(r){if(0===Sje(iAe(r))){if(0===kje(iAe(r)))for(;;){cAe(r,0);var e=aje(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===kje(iAe(r)))for(;;){cAe(r,0);var t=aje(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,UUe(3,_Ae(e))]:nye(z9r)}));case 14:return[0,r,UUe(3,_Ae(e))];case 15:return zUe(r,e,(function(r,e){function t(r){if(0===kje(iAe(r)))for(;;)if(cAe(r,0),0!==kje(iAe(r)))return oAe(r);return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,UUe(1,_Ae(e))]:nye(q9r)}));case 16:return[0,r,UUe(1,_Ae(e))];case 17:return zUe(r,e,(function(r,e){function t(r){if(0===XMe(iAe(r))){if(0===RMe(iAe(r)))for(;;){var e=ZMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===RMe(iAe(r)))for(;;){var t=ZMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,XUe(2,_Ae(e))]:nye(J9r)}));case 19:return zUe(r,e,(function(r,e){function t(r){if(0===XMe(iAe(r))){if(0===RMe(iAe(r)))for(;;){cAe(r,0);var e=Xje(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===RMe(iAe(r)))for(;;){cAe(r,0);var t=Xje(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,UUe(4,_Ae(e))]:nye(G9r)}));case 21:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}function n(r){for(;;){var e=vje(iAe(r));if(0!==e)return 1===e?0:oAe(r)}}function u(r){var e=FUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:var u=ije(iAe(r));return 0===u?n(r):1===u?t(r):oAe(r);case 1:return n(r);default:return t(r)}}function a(r){if(0===LMe(iAe(r)))for(;;){var e=bUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return oAe(r)}function i(r){var e=Ije(iAe(r));if(0===e)for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var n=bUe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return 1===e?u(r):oAe(r)}function c(r){var e=YMe(iAe(r));return 0===e?i(r):1===e?u(r):oAe(r)}function f(r){for(;;){var e=gje(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return i(r);case 1:continue;default:return u(r)}}}fAe(e);var o=tje(iAe(e));if(3>>0)var s=oAe(e);else switch(o){case 0:for(;;){var l=Aje(iAe(e));if(3>>0)s=oAe(e);else switch(l){case 0:continue;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}break}break;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}if(0===s){var v=_Ae(e);return[0,NUe(r,xUe(r,e),23),XUe(2,v)]}return nye(X9r)}));case 22:var tf=_Ae(e);return[0,NUe(r,xUe(r,e),23),XUe(2,tf)];case 23:return zUe(r,e,(function(r,e){function t(r){for(;;){cAe(r,0);var e=rUe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,0);var t=rUe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}}function n(r){for(;;)if(cAe(r,0),0!==LMe(iAe(r)))return oAe(r)}function u(r){var e=FUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:var u=ije(iAe(r));return 0===u?n(r):1===u?t(r):oAe(r);case 1:return n(r);default:return t(r)}}function a(r){if(0===LMe(iAe(r)))for(;;){var e=bUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return oAe(r)}function i(r){var e=Ije(iAe(r));if(0===e)for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var n=bUe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return 1===e?u(r):oAe(r)}function c(r){var e=YMe(iAe(r));return 0===e?i(r):1===e?u(r):oAe(r)}function f(r){for(;;){var e=gje(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return i(r);case 1:continue;default:return u(r)}}}fAe(e);var o=tje(iAe(e));if(3>>0)var s=oAe(e);else switch(o){case 0:for(;;){var l=Aje(iAe(e));if(3>>0)s=oAe(e);else switch(l){case 0:continue;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}break}break;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}return 0===s?[0,r,UUe(4,_Ae(e))]:nye(U9r)}));case 25:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}function n(r){return 0===LMe(iAe(r))?t(r):oAe(r)}function u(r){var e=vje(iAe(r));return 0===e?t(r):1===e?0:oAe(r)}function a(r){for(;;){var e=Jje(iAe(r));if(0===e)return u(r);if(1!==e)return oAe(r)}}function i(r){for(;;){var e=EUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return u(r);case 1:continue;default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=EUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:return u(r);case 1:continue;default:continue r}}return oAe(r)}}}}fAe(e);var c=tje(iAe(e));if(3>>0)var f=oAe(e);else switch(c){case 0:for(;;){var o=Aje(iAe(e));if(3>>0)f=oAe(e);else switch(o){case 0:continue;case 1:f=n(e);break;case 2:f=a(e);break;default:f=i(e)}break}break;case 1:f=n(e);break;case 2:f=a(e);break;default:f=i(e)}if(0===f){var s=_Ae(e);return[0,NUe(r,xUe(r,e),22),XUe(2,s)]}return nye(j9r)}));case 26:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=vje(iAe(r));if(0!==e)return 1===e?0:oAe(r)}}function n(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}fAe(e);var u=iAe(e);if(u)var a=u[1],i=44>>0)var c=oAe(e);else switch(i){case 0:for(;;){var f=aUe(iAe(e));if(2>>0)c=oAe(e);else switch(f){case 0:continue;case 1:c=t(e);break;default:c=n(e)}break}break;case 1:c=t(e);break;default:c=n(e)}return 0===c?[0,r,XUe(2,_Ae(e))]:nye(M9r)}));case 27:var uf=_Ae(e);return[0,NUe(r,xUe(r,e),22),XUe(2,uf)];case 29:return zUe(r,e,(function(r,e){function t(r){for(;;){cAe(r,0);var e=rUe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,0);var t=rUe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}}function n(r){return cAe(r,0),0===LMe(iAe(r))?t(r):oAe(r)}fAe(e);var u=tje(iAe(e));if(3>>0)var a=oAe(e);else switch(u){case 0:for(;;){var i=aUe(iAe(e));if(2>>0)a=oAe(e);else switch(i){case 0:continue;case 1:for(;;){cAe(e,0);var c=Jje(iAe(e));if(0===c)a=0;else{if(1===c)continue;a=oAe(e)}break}break;default:for(;;){cAe(e,0);var f=EUe(iAe(e));if(2>>0)a=oAe(e);else switch(f){case 0:a=0;break;case 1:continue;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){cAe(e,0);var o=EUe(iAe(e));if(2>>0)var s=oAe(e);else switch(o){case 0:s=0;break;case 1:continue;default:continue r}break}else s=oAe(e);a=s;break}}break}}break}break;case 1:a=0===LMe(iAe(e))?t(e):oAe(e);break;case 2:for(;;){cAe(e,0);var l=Jje(iAe(e));if(0===l)a=n(e);else{if(1===l)continue;a=oAe(e)}break}break;default:for(;;){cAe(e,0);var v=EUe(iAe(e));if(2>>0)a=oAe(e);else switch(v){case 0:a=n(e);break;case 1:continue;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){cAe(e,0);var D=EUe(iAe(e));if(2>>0)var p=oAe(e);else switch(D){case 0:p=n(e);break;case 1:continue;default:continue r}break}else p=oAe(e);a=p;break}}break}}return 0===a?[0,r,UUe(4,_Ae(e))]:nye(R9r)}));case 31:return[0,r,Jr];case 32:return[0,r,Z9r];case 33:return[0,r,rre];case 34:return[0,r,eu];case 35:return[0,r,41];case 36:return[0,r,30];case 37:return[0,r,53];case 38:return[0,r,Be];case 39:return[0,r,29];case 40:return[0,r,vi];case 18:case 28:return[0,r,XUe(2,_Ae(e))];default:return[0,r,UUe(4,_Ae(e))]}})),nXe=QUe((function(r,e){function t(r,e){for(;;){cAe(e,87);var t=zMe(iAe(e));if(0!==t)return 1===t?r<50?a(r+1|0,e):wx(a,[0,e]):oAe(e)}}function a(r,e){if(0===hUe(iAe(e))){var n=zje(iAe(e));if(0===n)return 0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e);if(1===n){if(0===RMe(iAe(e)))for(;;){var u=WMe(iAe(e));if(0!==u)return 1===u?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e)}return oAe(e)}return oAe(e)}return oAe(e)}function i(r){return Cx(t(0,r))}function c(r){return Cx(a(0,r))}function f(r){for(;;)if(cAe(r,34),0!==AUe(iAe(r)))return oAe(r)}function l(r){for(;;)if(cAe(r,28),0!==AUe(iAe(r)))return oAe(r)}function m(r){cAe(r,27);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,26),0!==AUe(iAe(r)))return oAe(r);return 1===e?l(r):oAe(r)}function y(r){for(;;)if(cAe(r,28),0!==AUe(iAe(r)))return oAe(r)}function w(r){cAe(r,27);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,26),0!==AUe(iAe(r)))return oAe(r);return 1===e?y(r):oAe(r)}function B(r){r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,29);var e=Kje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return y(r);case 1:continue;case 2:continue r;default:return w(r)}}return oAe(r)}}function T(r){cAe(r,34);var e=iUe(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:var t=ije(iAe(r));if(0===t)for(;;){cAe(r,29);var n=VMe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:return y(r);case 1:continue;default:return w(r)}}if(1===t)for(;;){cAe(r,29);var u=Kje(iAe(r));if(3>>0)return oAe(r);switch(u){case 0:return y(r);case 1:continue;case 2:return B(r);default:return w(r)}}return oAe(r);case 2:for(;;){cAe(r,29);var a=VMe(iAe(r));if(2>>0)return oAe(r);switch(a){case 0:return l(r);case 1:continue;default:return m(r)}}default:for(;;){cAe(r,29);var i=Kje(iAe(r));if(3>>0)return oAe(r);switch(i){case 0:return l(r);case 1:continue;case 2:return B(r);default:return m(r)}}}}function N(r){cAe(r,32);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,30),0!==AUe(iAe(r)))return oAe(r);return 1===e?f(r):oAe(r)}function L(r){return cAe(r,4),0===wUe(iAe(r))?4:oAe(r)}function P(r){return 0===Mje(iAe(r))&&0===yje(iAe(r))&&0===sUe(iAe(r))&&0===Pje(iAe(r))&&0===Rje(iAe(r))&&0===hje(iAe(r))&&0===Cje(iAe(r))&&0===Mje(iAe(r))&&0===hUe(iAe(r))&&0===jje(iAe(r))&&0===uUe(iAe(r))?4:oAe(r)}function M(r){cAe(r,35);var e=Tje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:for(;;){cAe(r,35);var t=Nje(iAe(r));if(4>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:return T(r);case 3:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,35);var n=Nje(iAe(r));if(4>>0)return oAe(r);switch(n){case 0:return f(r);case 1:continue;case 2:return T(r);case 3:continue r;default:return N(r)}}return oAe(r)}default:return N(r)}}case 2:return T(r);default:return N(r)}}function U(r){for(;;)if(cAe(r,20),0!==AUe(iAe(r)))return oAe(r)}function J(r){cAe(r,35);var e=VMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return f(r);case 1:for(;;){cAe(r,35);var t=Kje(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,35);var n=Kje(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return f(r);case 1:continue;case 2:continue r;default:return N(r)}}return oAe(r)}default:return N(r)}}default:return N(r)}}function V(r){for(;;)if(cAe(r,18),0!==AUe(iAe(r)))return oAe(r)}function rr(r){for(;;)if(cAe(r,18),0!==AUe(iAe(r)))return oAe(r)}function tr(r){for(;;)if(cAe(r,12),0!==AUe(iAe(r)))return oAe(r)}function ur(r){for(;;)if(cAe(r,12),0!==AUe(iAe(r)))return oAe(r)}function ar(r){for(;;)if(cAe(r,16),0!==AUe(iAe(r)))return oAe(r)}function or(r){for(;;)if(cAe(r,16),0!==AUe(iAe(r)))return oAe(r)}function sr(r){for(;;)if(cAe(r,24),0!==AUe(iAe(r)))return oAe(r)}function Dr(r){for(;;)if(cAe(r,24),0!==AUe(iAe(r)))return oAe(r)}function yr(r){cAe(r,33);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,31),0!==AUe(iAe(r)))return oAe(r);return 1===e?f(r):oAe(r)}function gr(r){r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,35);var e=eUe(iAe(r));if(4>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return J(r);case 2:continue;case 3:continue r;default:return yr(r)}}return oAe(r)}}fAe(e);var Tr=iAe(e);if(Tr)var Nr=Tr[1],Lr=er>>0)var Mr=oAe(e);else switch(Lr){case 0:Mr=146;break;case 1:Mr=147;break;case 2:if(cAe(e,2),0===NMe(iAe(e))){for(;;)if(cAe(e,2),0!==NMe(iAe(e))){Mr=oAe(e);break}}else Mr=oAe(e);break;case 3:Mr=0;break;case 4:cAe(e,0);Mr=0===Vje(iAe(e))?0:oAe(e);break;case 5:cAe(e,138);Mr=0===oje(iAe(e))?(cAe(e,Jr),0===oje(iAe(e))?Uu:oAe(e)):oAe(e);break;case 6:Mr=8;break;case 7:cAe(e,145);var Ur=iAe(e);if(Ur)var Gr=Ur[1],Vr=32>>0)Mr=oAe(e);else switch(te){case 0:cAe(e,133);Mr=0===oje(iAe(e))?xp:oAe(e);break;case 1:Mr=5;break;default:Mr=g}break;case 14:cAe(e,130);var ne=iAe(e);if(ne)var ce=ne[1],fe=42>>0)Mr=oAe(e);else switch(pe){case 0:Mr=f(e);break;case 1:continue;case 2:Mr=T(e);break;case 3:r:for(;;){if(0===LMe(iAe(e)))for(;;){cAe(e,35);var Fe=Nje(iAe(e));if(4>>0)var de=oAe(e);else switch(Fe){case 0:de=f(e);break;case 1:continue;case 2:de=T(e);break;case 3:continue r;default:de=N(e)}break}else de=oAe(e);Mr=de;break}break;default:Mr=N(e)}break}else Mr=oAe(e);break;case 18:cAe(e,143);var ke=Oje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ke){case 0:cAe(e,3);var ge=eje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ge){case 0:for(;;){var xe=eje(iAe(e));if(2>>0)Mr=oAe(e);else switch(xe){case 0:continue;case 1:Mr=L(e);break;default:Mr=P(e)}break}break;case 1:Mr=L(e);break;default:Mr=P(e)}break;case 1:Mr=6;break;default:Mr=142}break;case 19:cAe(e,35);var Te=Wje(iAe(e));if(8>>0)Mr=oAe(e);else switch(Te){case 0:Mr=f(e);break;case 1:Mr=M(e);break;case 2:for(;;){cAe(e,21);var Pe=oUe(iAe(e));if(4>>0)Mr=oAe(e);else switch(Pe){case 0:Mr=U(e);break;case 1:Mr=J(e);break;case 2:continue;case 3:for(;;){cAe(e,19);var je=rje(iAe(e));if(3>>0)Mr=oAe(e);else switch(je){case 0:Mr=V(e);break;case 1:Mr=J(e);break;case 2:continue;default:cAe(e,18);var Xe=mje(iAe(e));if(0===Xe){for(;;)if(cAe(e,18),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===Xe?V(e):oAe(e)}break}break;default:cAe(e,20);var Ge=mje(iAe(e));if(0===Ge){for(;;)if(cAe(e,20),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===Ge?U(e):oAe(e)}break}break;case 3:for(;;){cAe(e,19);var Je=rje(iAe(e));if(3>>0)Mr=oAe(e);else switch(Je){case 0:Mr=rr(e);break;case 1:Mr=J(e);break;case 2:continue;default:cAe(e,18);var Ke=mje(iAe(e));if(0===Ke){for(;;)if(cAe(e,18),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===Ke?rr(e):oAe(e)}break}break;case 4:cAe(e,34);var Qe=qje(iAe(e));if(0===Qe)Mr=f(e);else if(1===Qe)for(;;){cAe(e,13);var et=fUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(et){case 0:Mr=tr(e);break;case 1:continue;case 2:r:for(;;){if(0===uje(iAe(e)))for(;;){cAe(e,13);var at=fUe(iAe(e));if(3>>0)var it=oAe(e);else switch(at){case 0:it=ur(e);break;case 1:continue;case 2:continue r;default:cAe(e,11);var ot=mje(iAe(e));if(0===ot){for(;;)if(cAe(e,10),0!==AUe(iAe(e))){it=oAe(e);break}}else it=1===ot?ur(e):oAe(e)}break}else it=oAe(e);Mr=it;break}break;default:cAe(e,11);var st=mje(iAe(e));if(0===st){for(;;)if(cAe(e,10),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===st?tr(e):oAe(e)}break}else Mr=oAe(e);break;case 5:Mr=T(e);break;case 6:cAe(e,34);var lt=$je(iAe(e));if(0===lt)Mr=f(e);else if(1===lt)for(;;){cAe(e,17);var bt=Zje(iAe(e));if(3>>0)Mr=oAe(e);else switch(bt){case 0:Mr=ar(e);break;case 1:continue;case 2:r:for(;;){if(0===kje(iAe(e)))for(;;){cAe(e,17);var Ft=Zje(iAe(e));if(3>>0)var mt=oAe(e);else switch(Ft){case 0:mt=or(e);break;case 1:continue;case 2:continue r;default:cAe(e,15);var Et=mje(iAe(e));if(0===Et){for(;;)if(cAe(e,14),0!==AUe(iAe(e))){mt=oAe(e);break}}else mt=1===Et?or(e):oAe(e)}break}else mt=oAe(e);Mr=mt;break}break;default:cAe(e,15);var kt=mje(iAe(e));if(0===kt){for(;;)if(cAe(e,14),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===kt?ar(e):oAe(e)}break}else Mr=oAe(e);break;case 7:cAe(e,34);var Bt=qMe(iAe(e));if(0===Bt)Mr=f(e);else if(1===Bt)for(;;){cAe(e,25);var Tt=lUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(Tt){case 0:Mr=sr(e);break;case 1:continue;case 2:r:for(;;){if(0===RMe(iAe(e)))for(;;){cAe(e,25);var It=lUe(iAe(e));if(3>>0)var Ot=oAe(e);else switch(It){case 0:Ot=Dr(e);break;case 1:continue;case 2:continue r;default:cAe(e,23);var Pt=mje(iAe(e));if(0===Pt){for(;;)if(cAe(e,22),0!==AUe(iAe(e))){Ot=oAe(e);break}}else Ot=1===Pt?Dr(e):oAe(e)}break}else Ot=oAe(e);Mr=Ot;break}break;default:cAe(e,23);var Rt=mje(iAe(e));if(0===Rt){for(;;)if(cAe(e,22),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===Rt?sr(e):oAe(e)}break}else Mr=oAe(e);break;default:Mr=yr(e)}break;case 20:cAe(e,35);var Ut=cje(iAe(e));if(5>>0)Mr=oAe(e);else switch(Ut){case 0:Mr=f(e);break;case 1:Mr=M(e);break;case 2:for(;;){cAe(e,35);var Xt=cje(iAe(e));if(5>>0)Mr=oAe(e);else switch(Xt){case 0:Mr=f(e);break;case 1:Mr=M(e);break;case 2:continue;case 3:Mr=T(e);break;case 4:Mr=gr(e);break;default:Mr=yr(e)}break}break;case 3:Mr=T(e);break;case 4:Mr=gr(e);break;default:Mr=yr(e)}break;case 21:Mr=99;break;case 22:Mr=97;break;case 23:cAe(e,S);var qt=iAe(e);if(qt)var Vt=qt[1],$t=59>>0)Mr=oAe(e);else switch(qn){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Wn=_je(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wn){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var $n=nje(iAe(e));if(2<$n>>>0)Mr=oAe(e);else switch($n){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Hn=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Hn){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,36);var Kn=zMe(iAe(e));Mr=0===Kn?i(e):1===Kn?c(e):oAe(e)}}}break;default:cAe(e,87);var nu=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(nu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var uu=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(uu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var au=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(au){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,37);var iu=zMe(iAe(e));Mr=0===iu?i(e):1===iu?c(e):oAe(e)}}}}break;case 34:cAe(e,87);var ou=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ou){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var lu=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(lu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var mu=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(mu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var du=xMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(du){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,38);var Eu=zMe(iAe(e));Mr=0===Eu?i(e):1===Eu?c(e):oAe(e)}}}}break;case 35:cAe(e,87);var wu=iAe(e);if(wu)var _u=wu[1],Bu=35<_u?fl<_u?Re<_u?nc<_u?-1:Mt<_u?lo<_u?iw<_u?jw<_u?sl<_u?Td<_u?Pv<_u?Nb<_u?jm<_u?0:-1:Ct<_u?is<_u?0:-1:0:-1:Jf<_u?pc<_u?sC<_u?Cv<_u?0:-1:0:-1:Mu<_u?Mk<_u?0:-1:0:-1:Uc<_u?he<_u?_o<_u?ly<_u?$m<_u?iD<_u?vm<_u?PE<_u?G_<_u?WD<_u?0:-1:0:-1:ul<_u?Se<_u?0:-1:0:-1:qy<_u?OE<_u?ai<_u?Ao<_u?0:-1:0:-1:df<_u?kD<_u?0:-1:0:-1:Lh<_u?Gt<_u?OA<_u?vA<_u?Nc<_u?nF<_u?0:-1:0:-1:li<_u?pB<_u?0:-1:0:-1:we<_u?Il<_u?Qw<_u?j<_u?0:-1:0:-1:h<_u?Yw<_u?0:-1:0:-1:zm<_u?oD<_u?Lb<_u?tu<_u?qk<_u?xC<_u?mo<_u?xE<_u?0:-1:0:-1:dn<_u?_t<_u?0:-1:0:-1:Qs<_u?Hw<_u?To<_u?oc<_u?0:-1:0:-1:Bk<_u?Yb<_u?0:-1:0:-1:ec<_u?Uf<_u?Xd<_u?Xc<_u?aC<_u?Yc<_u?0:-1:0:-1:LA<_u?Py<_u?0:-1:0:-1:zd<_u?_b<_u?jo<_u?Rb<_u?0:-1:0:-1:XF<_u?Ok<_u?0:-1:0:-1:ho<_u?Hc<_u?lk<_u?fa<_u?wa<_u?Wt<_u?Ln<_u?dF<_u?Rg<_u?Uy<_u?_C<_u?ry<_u?0:-1:0:-1:0:Xa<_u?Mb<_u?VF<_u?ae<_u?0:-1:0:-1:Pi<_u?Ef<_u?0:-1:0:ky<_u?kd<_u?kB<_u?$e<_u?0:-1:ov<_u?eA<_u?0:-1:0:-1:AB<_u?mk<_u?0:-1:ng<_u?NB<_u?0:-1:0:-1:xs<_u?zs<_u?Ka<_u?ED<_u?IB<_u?wg<_u?yl<_u?yb<_u?0:-1:0:-1:op<_u?yo<_u?0:-1:0:-1:fo<_u?Jp<_u?rd<_u?d<_u?0:-1:0:-1:NA<_u?Df<_u?0:-1:0:-1:ll<_u?hm<_u?DD<_u?ut<_u?jv<_u?Eg<_u?0:-1:0:-1:PD<_u?pD<_u?0:-1:0:-1:Ce<_u?Z<_u?Hl<_u?Xy<_u?0:-1:0:-1:OF<_u?yC<_u?0:-1:0:-1:mv<_u?Md<_u?ME<_u?pn<_u?Sl<_u?Ek<_u?_e<_u?Ou<_u?_h<_u?Sb<_u?0:-1:0:-1:Vb<_u?xy<_u?0:-1:0:-1:Ry<_u?xr<_u?Ye<_u?An<_u?0:-1:0:-1:Hy<_u?dw<_u?0:-1:0:-1:Ci<_u?OB<_u?rp<_u?Th<_u?RC<_u?su<_u?0:-1:0:-1:R<_u?eE<_u?0:-1:0:-1:Fb<_u?ja<_u?Vm<_u?tw<_u?0:-1:0:-1:Tc<_u?Tn<_u?0:-1:0:-1:Xr<_u?XC<_u?Gh<_u?Qv<_u?Nt<_u?Bf<_u?lr<_u?Uw<_u?0:-1:0:-1:vh<_u?Z_<_u?0:-1:0:-1:ic<_u?Ep<_u?Fm<_u?sb<_u?0:-1:0:-1:Gm<_u?UE<_u?0:-1:0:-1:Lf<_u?ww<_u?hh<_u?pk<_u?Yi<_u?zr<_u?0:-1:0:-1:ea<_u?zw<_u?0:-1:0:-1:ID<_u?So<_u?He<_u?LB<_u?0:-1:0:-1:0:-1:Hk<_u?q<_u?DF<_u?Rr<_u?I_<_u?yi<_u?ru<_u?gk<_u?Kw<_u?pE<_u?gu<_u?0:-1:0:-1:Pw<_u?rc<_u?0:-1:0:-1:tB<_u?Lu<_u?Cb<_u?QE<_u?0:-1:0:-1:QA<_u?b<_u?0:-1:0:-1:Wk<_u?Gy<_u?cA<_u?od<_u?Hv<_u?IC<_u?0:-1:0:-1:vC<_u?Rw<_u?0:-1:0:-1:bn<_u?Zk<_u?kp<_u?0:-1:0:cu<_u?Su<_u?0:-1:0:Vo<_u?lb<_u?A<_u?Ps<_u?Dd<_u?py<_u?0:-1:DA<_u?P_<_u?0:-1:0:-1:ku<_u?zp<_u?WE<_u?Qf<_u?0:-1:0:-1:F_<_u?ac<_u?0:-1:0:-1:Fv<_u?Si<_u?iF<_u?Va<_u?0:-1:_n<_u?dA<_u?0:-1:0:-1:Zc<_u?Bd<_u?Dg<_u?ny<_u?0:-1:0:-1:bs<_u?nm<_u?0:-1:0:-1:Qc<_u?Dm<_u?vo<_u?af<_u?c_<_u?EA<_u?tE<_u?$f<_u?fm<_u?sh<_u?0:-1:0:-1:fk<_u?VD<_u?0:-1:0:-1:Kg<_u?0:rD<_u?wh<_u?0:-1:0:-1:bk<_u?0:eD<_u?Vc<_u?rf<_u?Kd<_u?0:-1:0:-1:0:-1:ZA<_u?tD<_u?Ay<_u?q_<_u?iy<_u?ih<_u?_w<_u?0:-1:0:-1:Wd<_u?Ih<_u?0:-1:0:cy<_u?Ac<_u?0:-1:Fd<_u?Gp<_u?0:-1:0:-1:nt<_u?kf<_u?fd<_u?Kr<_u?0:-1:da<_u?SE<_u?0:-1:0:-1:0:IF<_u?gC<_u?yn<_u?Br<_u?Fs<_u?LF<_u?vy<_u?Qd<_u?z_<_u?JE<_u?kA<_u?pm<_u?0:-1:Na<_u?hn<_u?0:-1:0:-1:_<_u&&Ig<_u?Ku<_u?0:-1:0:k_<_u?Sk<_u?fu<_u&&Gb<_u?Pr<_u?0:-1:0:-1:Fn<_u?HE<_u?hp<_u?hD<_u?0:-1:0:-1:pp<_u?ch<_u?0:-1:0:$g<_u?BC<_u?sw<_u||ab<_u?0:ph<_u?VA<_u?0:-1:0:-1:oo<_u||Ll<_u?0:$b<_u?Cn<_u?0:-1:0:Sh<_u?xk<_u?Ic<_u?em<_u?ks<_u&&_v<_u?Sg<_u?0:-1:0:vt<_u&&Zv<_u?jl<_u?0:-1:0:-1:MA<_u?pt<_u?Uk<_u?Zs<_u?Sf<_u?iC<_u?0:-1:0:-1:0:-1:0:v<_u?L_<_u?uk<_u?th<_u?$c<_u?xu<_u?mp<_u?0:-1:0:-1:0:Id<_u?0:Vg<_u?Gv<_u?0:-1:0:-1:Yh<_u&&$h<_u&&mm<_u?wF<_u?0:-1:0:UC<_u?ZE<_u?Ht<_u?m_<_u?yh<_u?Ie<_u?fA<_u?rv<_u?0:-1:Sc<_u?RD<_u?0:-1:0:-1:0:Dn<_u?xF<_u?0:Fl<_u?d_<_u?0:-1:0:vw<_u&&Ra<_u?Fw<_u?0:-1:0:UD<_u?x<_u?z<_u?Lm<_u&&Ey<_u?oF<_u?0:-1:0:-1:bi<_u?Ah<_u?V_<_u?Sw<_u?0:-1:0:-1:0:0:-1:Lw<_u?Ug<_u?Xw<_u?fD<_u?Ml<_u?uw<_u?0:-1:Sm<_u?ts<_u?0:-1:0:0:tm<_u?$_<_u?N_<_u?0:Qt<_u?Lp<_u?0:-1:0:-1:CF<_u?ct<_u?jc<_u?0:-1:0:ys<_u?Ru<_u?0:-1:0:-1:Vs<_u?CA<_u?Pp<_u?hb<_u?Iu<_u?Gc<_u?hd<_u?0:-1:0:-1:Po<_u?mf<_u?0:-1:0:0:-1:Qr<_u?ef<_u?Hs<_u?sf<_u?kk<_u?ln<_u?0:-1:0:-1:r_<_u?Db<_u?0:-1:0:-1:Vv<_u?Mh<_u?ie<_u?O<_u?0:-1:0:-1:0:-1:KF<_u?Ji<_u?es<_u?ig<_u?Cs<_u?Xg<_u?Y_<_u?Ii<_u&&mE<_u?Hh<_u?0:-1:0:Av<_u?pf<_u?Os<_u?qA<_u?0:-1:0:-1:Vl<_u?ds<_u?0:-1:0:-1:RF<_u?sy<_u?ns<_u?Tk<_u?om<_u?0:-1:0:-1:xd<_u?ev<_u?0:-1:0:0:PA<_u?dB<_u?po<_u?Lo<_u?As<_u?0:-1:cb<_u?ue<_u?0:-1:0:-1:Sa<_u?TC<_u?0:-1:qi<_u?Am<_u?0:-1:0:nv<_u?0:wA<_u?Lg<_u?0:-1:wC<_u?km<_u?0:-1:0:If<_u?GE<_u?$d<_u?On<_u?hr<_u?Yu<_u?Ks<_u?0:-1:0:U_<_u?qe<_u?0:-1:0:-1:0:Me<_u?wo<_u?E<_u?Kk<_u?Mm<_u?0:-1:0:-1:_l<_u?vd<_u?0:-1:0:0:_B<_u?cg<_u?Bg<_u?ep<_u?Dt<_u?0:-1:ty<_u?X<_u?0:-1:0:0:-1:_y<_u?jd<_u?uy<_u?GF<_u?no<_u?0:-1:0:AD<_u?vD<_u?0:-1:0:-1:Ub<_u?tC<_u?va<_u?Tv<_u?0:-1:0:-1:0:-1:pr<_u?Mf<_u?AC<_u?br<_u?qf<_u?vc<_u?hB<_u?Fa<_u?Gw<_u?ed<_u?id<_u?0:-1:0:-1:Jm<_u?kl<_u?0:-1:0:-1:Jh<_u?Pm<_u?_m<_u?Mp<_u?0:-1:0:-1:Ae<_u?Ng<_u?0:-1:0:$r<_u?fw<_u?oB<_u?Kv<_u?yD<_u?g_<_u?0:-1:0:-1:ze<_u?hg<_u?0:-1:0:-1:qg<_u?Jk<_u?ss<_u?dm<_u?0:-1:0:-1:nf<_u?OD<_u?0:-1:0:-1:xf<_u?nr<_u?C<_u?MC<_u?o<_u?0:-1:nE<_u?Hu<_u?0:-1:0:Du<_u?lp<_u?dc<_u?$a<_u?0:-1:0:-1:Uh<_u?fi<_u?0:-1:0:-1:gs<_u?jt<_u?Pl<_u?$v<_u?en<_u?_i<_u?0:-1:0:-1:Yy<_u?$F<_u?0:-1:0:-1:Ww<_u?zf<_u?Fy<_u?NF<_u?0:-1:0:-1:Yn<_u?Kh<_u?0:-1:0:-1:zA<_u?nh<_u?jA<_u?KD<_u?Ch<_u?Zg<_u?cn<_u?F<_u?EB<_u?qa<_u?0:-1:0:-1:Ju<_u?dD<_u?0:-1:0:-1:ye<_u?Ld<_u?hc<_u?dr<_u?0:-1:0:-1:Vy<_u?JD<_u?0:-1:0:-1:qh<_u?kr<_u?Cr<_u?Bs<_u?eB<_u?0:-1:0:-1:db<_u?pA<_u?0:-1:0:Ul<_u?Qk<_u?St<_u?_c<_u?0:-1:0:-1:qc<_u?ik<_u?0:-1:0:-1:gy<_u?na<_u?$D<_u?uA<_u?Gg<_u?bC<_u?0:-1:0:We<_u?QF<_u?0:-1:0:gm<_u?0:uh<_u?xg<_u?0:-1:0:-1:wn<_u?yg<_u?Fr<_u?Qn<_u?Yd<_u?La<_u?0:-1:0:-1:Jc<_u?vg<_u?0:-1:0:-1:bE<_u?ND<_u?ta<_u?Lt<_u?0:-1:0:-1:Wr<_u?Yo<_u?0:-1:0:-1:Ir<_u?ht<_u?bm<_u?qo<_u?s<_u?CB<_u?rl<_u?mr<_u?jp<_u?le<_u?xv<_u?ro<_u?SD<_u?YC<_u?ya<_u?0:-1:0:-1:gE<_u?lg<_u?0:-1:0:-1:Nv<_u?WF<_u?_f<_u?hf<_u?0:-1:0:-1:sv<_u?ti<_u?0:-1:0:-1:Ap<_u?0:be<_u?Oi<_u?ay<_u?Ds<_u?0:-1:0:-1:sm<_u?JF<_u?0:-1:0:-1:ua<_u?GA<_u?Hb<_u?Bw<_u?wy<_u?yp<_u?H_<_u?pa<_u?0:-1:0:-1:Tb<_u?Qo<_u?0:-1:0:-1:oC<_u?wv<_u?ol<_u?gc<_u?0:-1:0:-1:mF<_u?PB<_u?0:-1:0:-1:ma<_u?$s<_u?Bl<_u?b_<_u?fy<_u?dp<_u?0:-1:0:-1:A_<_u?yy<_u?0:-1:0:-1:Ew<_u?Mn<_u?DE<_u?VE<_u?0:-1:0:-1:zt<_u?hk<_u?0:-1:0:-1:uo<_u?Xv<_u?Eo<_u?rn<_u?EC<_u?Dy<_u&&bp<_u?Pg<_u?0:-1:0:-1:_r<_u?aa<_u?MF<_u?xc<_u?0:-1:0:-1:Dc<_u?EF<_u?0:-1:0:-1:Rl<_u?Wp<_u?vB<_u?Yr<_u?Jd<_u?Ff<_u?0:-1:0:-1:al<_u?za<_u?0:-1:0:-1:_p<_u?fv<_u?0:-1:0:qE<_u?ek<_u?_k<_u?0:wD<_u?yB<_u?eg<_u?0:-1:0:my<_u?I<_u?0:-1:0:-1:n_<_u?Qi<_u?pu<_u?IE<_u?Zu<_u?kC<_u?0:-1:0:-1:Ag<_u?Vf<_u?0:-1:0:-1:FE<_u&&yu<_u?gh<_u?0:-1:0:lw<_u?Tu<_u?Iy<_u?At<_u?Cg<_u&&XA<_u?Ue<_u?0:-1:0:mw<_u?xa<_u?tc<_u?0:-1:0:Ow<_u?NE<_u?0:-1:0:0:Sy<_u?Vn<_u?0:zE<_u?xB<_u?0:-1:0:yt<_u?p<_u?XE<_u?Rd<_u?Jt<_u?0:-1:0:-1:0:rb<_u?0:lA<_u?Hi<_u?0:-1:0:Wa<_u?Cd<_u?ao<_u?0:Bh<_u&&Iv<_u?jy<_u?0:-1:0:ko<_u?_A<_u?0:HD<_u?En<_u?0:-1:0:Qa<_u&&Jw<_u?ir<_u?0:-1:0:SA<_u?Ee<_u?0:Tg<_u?vb<_u?0:-1:Jg<_u?Ak<_u?0:-1:0:qw<_u?ad<_u?vr<_u?0:-1:0:ft<_u?0:Fp<_u?Hf<_u?0:-1:0:-1:H<_u?vl<_u?Ba<_u?dt<_u?Rc<_u?Cp<_u?Q_<_u?Vh<_u?xA<_u?0:-1:$<_u?Qp<_u?0:-1:0:kE<_u?0:yd<_u?el<_u?0:-1:0:-1:0:xD<_u?Jo<_u?0:oE<_u?Ya<_u?Ri<_u?bg<_u?0:-1:0:-1:0:xt<_u?oA<_u&&gp<_u?hu<_u?0:-1:0:im<_u?DC<_u?Cu<_u?xm<_u?0:-1:0:-1:0:pF<_u?Cm<_u?md<_u?wr<_u?0:Ob<_u?Ib<_u?fc<_u?rk<_u?0:-1:0:-1:0:zn<_u?E_<_u?wc<_u&&aw<_u?Mv<_u?0:-1:0:-1:Fi<_u?Jn<_u?0:-1:0:-1:Ad<_u?go<_u?Wy<_u?jD<_u?rB<_u?0:gb<_u?Is<_u?0:-1:0:-1:Tp<_u?Y<_u?Bv<_u?bo<_u?0:-1:0:-1:J_<_u?jn<_u?0:-1:0:-1:Es<_u?Zm<_u?Li<_u?Ck<_u?me<_u?0:-1:0:u<_u?bu<_u?0:-1:0:-1:0:-1:qb<_u?D<_u?FD<_u?Em<_u?ml<_u?Oa<_u?Nm<_u?k<_u&&Gi<_u?K<_u?0:-1:0:-1:BD<_u&&_d<_u?bd<_u?0:-1:0:-1:Ze<_u?Ja<_u?C_<_u?0:Bc<_u?R_<_u?0:-1:0:-1:Um<_u?gl<_u?Yv<_u?jC<_u?0:-1:0:-1:mh<_u?WA<_u?0:-1:0:-1:rE<_u?uv<_u?RE<_u?Ql<_u?Rm<_u?bD<_u?Pf<_u?ff<_u?0:-1:0:-1:_g<_u?Un<_u?0:-1:0:-1:Er<_u?Gl<_u?0:-1:T_<_u?Ab<_u?0:-1:0:-1:xh<_u?ym<_u?Zn<_u?Zl<_u?D_<_u?0:-1:0:-1:cr<_u?Jb<_u?0:-1:0:_D<_u?so<_u?0:-1:0:yc<_u?Xk<_u?Q<_u?vs<_u?vu<_u?Qu<_u?QD<_u?a_<_u?IA<_u?0:-1:0:-1:ia<_u?u_<_u?0:-1:0:Tf<_u?ip<_u?0:-1:RB<_u?My<_u?0:-1:0:-1:Rs<_u?Vd<_u&&aA<_u?hl<_u?0:-1:0:Ys<_u?Js<_u?0:-1:XD<_u?gB<_u?0:-1:0:-1:qr<_u?xo<_u?Oe<_u?tt<_u?W<_u?TA<_u?n<_u?0:-1:0:nC<_u?yF<_u?0:-1:0:-1:pb<_u?Ym<_u?LE<_u?lE<_u?0:-1:0:-1:Ts<_u?lC<_u?0:-1:0:-1:Fg<_u?Le<_u?$C<_u?Sn<_u?ki<_u?gt<_u?0:-1:0:-1:wd<_u?ug<_u?0:-1:0:-1:UA<_u?Nk<_u?uB<_u?Xf<_u?0:-1:0:-1:Cc<_u?hF<_u?0:-1:0:-1:kx(Tte,_u+kg|0)-1|0:-1;else Bu=-1;if(4>>0)Mr=oAe(e);else switch(Bu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Nu=nUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(Nu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Pu=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Pu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,39);var Xu=zMe(iAe(e));Mr=0===Xu?i(e):1===Xu?c(e):oAe(e)}break;default:cAe(e,87);var Gu=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Gu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var qu=kUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(qu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,40);var zu=zMe(iAe(e));Mr=0===zu?i(e):1===zu?c(e):oAe(e)}}}break;case 3:cAe(e,87);var Wu=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Vu=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Vu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var $u=vUe(iAe(e));if(2<$u>>>0)Mr=oAe(e);else switch($u){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,41);var ra=zMe(iAe(e));Mr=0===ra?i(e):1===ra?c(e):oAe(e)}}}break;default:cAe(e,87);var ca=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ca){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var oa=nUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(oa){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var la=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(la){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,42);var Da=zMe(iAe(e));Mr=0===Da?i(e):1===Da?c(e):oAe(e)}break;default:cAe(e,87);var ba=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ba){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ea=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ea){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ka=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ka){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ha=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ha){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,43);var Ca=zMe(iAe(e));Mr=0===Ca?i(e):1===Ca?c(e):oAe(e)}}}}}}}break;case 36:cAe(e,87);var ga=iAe(e);if(ga)var Ta=ga[1],Ia=35>>0)Mr=oAe(e);else switch(Ia){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Pa=iAe(e);if(Pa)var Ua=Pa[1],Ga=35>>0)Mr=oAe(e);else switch(Ga){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Za=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Za){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ri=UMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ri){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ei=UMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ei){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ui=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ui){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ii=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ii){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,44);var ci=zMe(iAe(e));Mr=0===ci?i(e):1===ci?c(e):oAe(e)}}}}}break;case 3:cAe(e,87);var oi=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(oi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var si=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(si){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Di=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Di){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var pi=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(pi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,45);var mi=zMe(iAe(e));Mr=0===mi?i(e):1===mi?c(e):oAe(e)}}}}break;case 4:cAe(e,87);var hi=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(hi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var wi=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(wi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var gi=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(gi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var xi=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(xi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,46);var Ni=zMe(iAe(e));Mr=0===Ni?i(e):1===Ni?c(e):oAe(e)}}}}break;default:cAe(e,87);var Mi=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Mi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ji=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ji){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ui=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ui){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,47);var Xi=zMe(iAe(e));Mr=0===Xi?i(e):1===Xi?c(e):oAe(e)}}}}break;default:cAe(e,48);var zi=zMe(iAe(e));Mr=0===zi?i(e):1===zi?c(e):oAe(e)}break;case 37:cAe(e,87);var Wi=iAe(e);if(Wi)var $i=Wi[1],Ki=35<$i?fl<$i?Re<$i?nc<$i?-1:Mt<$i?lo<$i?iw<$i?jw<$i?sl<$i?Td<$i?Pv<$i?Nb<$i?jm<$i?0:-1:Ct<$i?is<$i?0:-1:0:-1:Jf<$i?pc<$i?sC<$i?Cv<$i?0:-1:0:-1:Mu<$i?Mk<$i?0:-1:0:-1:Uc<$i?he<$i?_o<$i?ly<$i?$m<$i?iD<$i?vm<$i?PE<$i?G_<$i?WD<$i?0:-1:0:-1:ul<$i?Se<$i?0:-1:0:-1:qy<$i?OE<$i?ai<$i?Ao<$i?0:-1:0:-1:df<$i?kD<$i?0:-1:0:-1:Lh<$i?Gt<$i?OA<$i?vA<$i?Nc<$i?nF<$i?0:-1:0:-1:li<$i?pB<$i?0:-1:0:-1:we<$i?Il<$i?Qw<$i?j<$i?0:-1:0:-1:h<$i?Yw<$i?0:-1:0:-1:zm<$i?oD<$i?Lb<$i?tu<$i?qk<$i?xC<$i?mo<$i?xE<$i?0:-1:0:-1:dn<$i?_t<$i?0:-1:0:-1:Qs<$i?Hw<$i?To<$i?oc<$i?0:-1:0:-1:Bk<$i?Yb<$i?0:-1:0:-1:ec<$i?Uf<$i?Xd<$i?Xc<$i?aC<$i?Yc<$i?0:-1:0:-1:LA<$i?Py<$i?0:-1:0:-1:zd<$i?_b<$i?jo<$i?Rb<$i?0:-1:0:-1:XF<$i?Ok<$i?0:-1:0:-1:ho<$i?Hc<$i?lk<$i?fa<$i?wa<$i?Wt<$i?Ln<$i?dF<$i?Rg<$i?Uy<$i?_C<$i?ry<$i?0:-1:0:-1:0:Xa<$i?Mb<$i?VF<$i?ae<$i?0:-1:0:-1:Pi<$i?Ef<$i?0:-1:0:ky<$i?kd<$i?kB<$i?$e<$i?0:-1:ov<$i?eA<$i?0:-1:0:-1:AB<$i?mk<$i?0:-1:ng<$i?NB<$i?0:-1:0:-1:xs<$i?zs<$i?Ka<$i?ED<$i?IB<$i?wg<$i?yl<$i?yb<$i?0:-1:0:-1:op<$i?yo<$i?0:-1:0:-1:fo<$i?Jp<$i?rd<$i?d<$i?0:-1:0:-1:NA<$i?Df<$i?0:-1:0:-1:ll<$i?hm<$i?DD<$i?ut<$i?jv<$i?Eg<$i?0:-1:0:-1:PD<$i?pD<$i?0:-1:0:-1:Ce<$i?Z<$i?Hl<$i?Xy<$i?0:-1:0:-1:OF<$i?yC<$i?0:-1:0:-1:mv<$i?Md<$i?ME<$i?pn<$i?Sl<$i?Ek<$i?_e<$i?Ou<$i?_h<$i?Sb<$i?0:-1:0:-1:Vb<$i?xy<$i?0:-1:0:-1:Ry<$i?xr<$i?Ye<$i?An<$i?0:-1:0:-1:Hy<$i?dw<$i?0:-1:0:-1:Ci<$i?OB<$i?rp<$i?Th<$i?RC<$i?su<$i?0:-1:0:-1:R<$i?eE<$i?0:-1:0:-1:Fb<$i?ja<$i?Vm<$i?tw<$i?0:-1:0:-1:Tc<$i?Tn<$i?0:-1:0:-1:Xr<$i?XC<$i?Gh<$i?Qv<$i?Nt<$i?Bf<$i?lr<$i?Uw<$i?0:-1:0:-1:vh<$i?Z_<$i?0:-1:0:-1:ic<$i?Ep<$i?Fm<$i?sb<$i?0:-1:0:-1:Gm<$i?UE<$i?0:-1:0:-1:Lf<$i?ww<$i?hh<$i?pk<$i?Yi<$i?zr<$i?0:-1:0:-1:ea<$i?zw<$i?0:-1:0:-1:ID<$i?So<$i?He<$i?LB<$i?0:-1:0:-1:0:-1:Hk<$i?q<$i?DF<$i?Rr<$i?I_<$i?yi<$i?ru<$i?gk<$i?Kw<$i?pE<$i?gu<$i?0:-1:0:-1:Pw<$i?rc<$i?0:-1:0:-1:tB<$i?Lu<$i?Cb<$i?QE<$i?0:-1:0:-1:QA<$i?b<$i?0:-1:0:-1:Wk<$i?Gy<$i?cA<$i?od<$i?Hv<$i?IC<$i?0:-1:0:-1:vC<$i?Rw<$i?0:-1:0:-1:bn<$i?Zk<$i?kp<$i?0:-1:0:cu<$i?Su<$i?0:-1:0:Vo<$i?lb<$i?A<$i?Ps<$i?Dd<$i?py<$i?0:-1:DA<$i?P_<$i?0:-1:0:-1:ku<$i?zp<$i?WE<$i?Qf<$i?0:-1:0:-1:F_<$i?ac<$i?0:-1:0:-1:Fv<$i?Si<$i?iF<$i?Va<$i?0:-1:_n<$i?dA<$i?0:-1:0:-1:Zc<$i?Bd<$i?Dg<$i?ny<$i?0:-1:0:-1:bs<$i?nm<$i?0:-1:0:-1:Qc<$i?Dm<$i?vo<$i?af<$i?c_<$i?EA<$i?tE<$i?$f<$i?fm<$i?sh<$i?0:-1:0:-1:fk<$i?VD<$i?0:-1:0:-1:Kg<$i?0:rD<$i?wh<$i?0:-1:0:-1:bk<$i?0:eD<$i?Vc<$i?rf<$i?Kd<$i?0:-1:0:-1:0:-1:ZA<$i?tD<$i?Ay<$i?q_<$i?iy<$i?ih<$i?_w<$i?0:-1:0:-1:Wd<$i?Ih<$i?0:-1:0:cy<$i?Ac<$i?0:-1:Fd<$i?Gp<$i?0:-1:0:-1:nt<$i?kf<$i?fd<$i?Kr<$i?0:-1:da<$i?SE<$i?0:-1:0:-1:0:IF<$i?gC<$i?yn<$i?Br<$i?Fs<$i?LF<$i?vy<$i?Qd<$i?z_<$i?JE<$i?kA<$i?pm<$i?0:-1:Na<$i?hn<$i?0:-1:0:-1:_<$i&&Ig<$i?Ku<$i?0:-1:0:k_<$i?Sk<$i?fu<$i&&Gb<$i?Pr<$i?0:-1:0:-1:Fn<$i?HE<$i?hp<$i?hD<$i?0:-1:0:-1:pp<$i?ch<$i?0:-1:0:$g<$i?BC<$i?sw<$i||ab<$i?0:ph<$i?VA<$i?0:-1:0:-1:oo<$i||Ll<$i?0:$b<$i?Cn<$i?0:-1:0:Sh<$i?xk<$i?Ic<$i?em<$i?ks<$i&&_v<$i?Sg<$i?0:-1:0:vt<$i&&Zv<$i?jl<$i?0:-1:0:-1:MA<$i?pt<$i?Uk<$i?Zs<$i?Sf<$i?iC<$i?0:-1:0:-1:0:-1:0:v<$i?L_<$i?uk<$i?th<$i?$c<$i?xu<$i?mp<$i?0:-1:0:-1:0:Id<$i?0:Vg<$i?Gv<$i?0:-1:0:-1:Yh<$i&&$h<$i&&mm<$i?wF<$i?0:-1:0:UC<$i?ZE<$i?Ht<$i?m_<$i?yh<$i?Ie<$i?fA<$i?rv<$i?0:-1:Sc<$i?RD<$i?0:-1:0:-1:0:Dn<$i?xF<$i?0:Fl<$i?d_<$i?0:-1:0:vw<$i&&Ra<$i?Fw<$i?0:-1:0:UD<$i?x<$i?z<$i?Lm<$i&&Ey<$i?oF<$i?0:-1:0:-1:bi<$i?Ah<$i?V_<$i?Sw<$i?0:-1:0:-1:0:0:-1:Lw<$i?Ug<$i?Xw<$i?fD<$i?Ml<$i?uw<$i?0:-1:Sm<$i?ts<$i?0:-1:0:0:tm<$i?$_<$i?N_<$i?0:Qt<$i?Lp<$i?0:-1:0:-1:CF<$i?ct<$i?jc<$i?0:-1:0:ys<$i?Ru<$i?0:-1:0:-1:Vs<$i?CA<$i?Pp<$i?hb<$i?Iu<$i?Gc<$i?hd<$i?0:-1:0:-1:Po<$i?mf<$i?0:-1:0:0:-1:Qr<$i?ef<$i?Hs<$i?sf<$i?kk<$i?ln<$i?0:-1:0:-1:r_<$i?Db<$i?0:-1:0:-1:Vv<$i?Mh<$i?ie<$i?O<$i?0:-1:0:-1:0:-1:KF<$i?Ji<$i?es<$i?ig<$i?Cs<$i?Xg<$i?Y_<$i?Ii<$i&&mE<$i?Hh<$i?0:-1:0:Av<$i?pf<$i?Os<$i?qA<$i?0:-1:0:-1:Vl<$i?ds<$i?0:-1:0:-1:RF<$i?sy<$i?ns<$i?Tk<$i?om<$i?0:-1:0:-1:xd<$i?ev<$i?0:-1:0:0:PA<$i?dB<$i?po<$i?Lo<$i?As<$i?0:-1:cb<$i?ue<$i?0:-1:0:-1:Sa<$i?TC<$i?0:-1:qi<$i?Am<$i?0:-1:0:nv<$i?0:wA<$i?Lg<$i?0:-1:wC<$i?km<$i?0:-1:0:If<$i?GE<$i?$d<$i?On<$i?hr<$i?Yu<$i?Ks<$i?0:-1:0:U_<$i?qe<$i?0:-1:0:-1:0:Me<$i?wo<$i?E<$i?Kk<$i?Mm<$i?0:-1:0:-1:_l<$i?vd<$i?0:-1:0:0:_B<$i?cg<$i?Bg<$i?ep<$i?Dt<$i?0:-1:ty<$i?X<$i?0:-1:0:0:-1:_y<$i?jd<$i?uy<$i?GF<$i?no<$i?0:-1:0:AD<$i?vD<$i?0:-1:0:-1:Ub<$i?tC<$i?va<$i?Tv<$i?0:-1:0:-1:0:-1:pr<$i?Mf<$i?AC<$i?br<$i?qf<$i?vc<$i?hB<$i?Fa<$i?Gw<$i?ed<$i?id<$i?0:-1:0:-1:Jm<$i?kl<$i?0:-1:0:-1:Jh<$i?Pm<$i?_m<$i?Mp<$i?0:-1:0:-1:Ae<$i?Ng<$i?0:-1:0:$r<$i?fw<$i?oB<$i?Kv<$i?yD<$i?g_<$i?0:-1:0:-1:ze<$i?hg<$i?0:-1:0:-1:qg<$i?Jk<$i?ss<$i?dm<$i?0:-1:0:-1:nf<$i?OD<$i?0:-1:0:-1:xf<$i?nr<$i?C<$i?MC<$i?o<$i?0:-1:nE<$i?Hu<$i?0:-1:0:Du<$i?lp<$i?dc<$i?$a<$i?0:-1:0:-1:Uh<$i?fi<$i?0:-1:0:-1:gs<$i?jt<$i?Pl<$i?$v<$i?en<$i?_i<$i?0:-1:0:-1:Yy<$i?$F<$i?0:-1:0:-1:Ww<$i?zf<$i?Fy<$i?NF<$i?0:-1:0:-1:Yn<$i?Kh<$i?0:-1:0:-1:zA<$i?nh<$i?jA<$i?KD<$i?Ch<$i?Zg<$i?cn<$i?F<$i?EB<$i?qa<$i?0:-1:0:-1:Ju<$i?dD<$i?0:-1:0:-1:ye<$i?Ld<$i?hc<$i?dr<$i?0:-1:0:-1:Vy<$i?JD<$i?0:-1:0:-1:qh<$i?kr<$i?Cr<$i?Bs<$i?eB<$i?0:-1:0:-1:db<$i?pA<$i?0:-1:0:Ul<$i?Qk<$i?St<$i?_c<$i?0:-1:0:-1:qc<$i?ik<$i?0:-1:0:-1:gy<$i?na<$i?$D<$i?uA<$i?Gg<$i?bC<$i?0:-1:0:We<$i?QF<$i?0:-1:0:gm<$i?0:uh<$i?xg<$i?0:-1:0:-1:wn<$i?yg<$i?Fr<$i?Qn<$i?Yd<$i?La<$i?0:-1:0:-1:Jc<$i?vg<$i?0:-1:0:-1:bE<$i?ND<$i?ta<$i?Lt<$i?0:-1:0:-1:Wr<$i?Yo<$i?0:-1:0:-1:Ir<$i?ht<$i?bm<$i?qo<$i?s<$i?CB<$i?rl<$i?mr<$i?jp<$i?le<$i?xv<$i?ro<$i?SD<$i?YC<$i?ya<$i?0:-1:0:-1:gE<$i?lg<$i?0:-1:0:-1:Nv<$i?WF<$i?_f<$i?hf<$i?0:-1:0:-1:sv<$i?ti<$i?0:-1:0:-1:Ap<$i?0:be<$i?Oi<$i?ay<$i?Ds<$i?0:-1:0:-1:sm<$i?JF<$i?0:-1:0:-1:ua<$i?GA<$i?Hb<$i?Bw<$i?wy<$i?yp<$i?H_<$i?pa<$i?0:-1:0:-1:Tb<$i?Qo<$i?0:-1:0:-1:oC<$i?wv<$i?ol<$i?gc<$i?0:-1:0:-1:mF<$i?PB<$i?0:-1:0:-1:ma<$i?$s<$i?Bl<$i?b_<$i?fy<$i?dp<$i?0:-1:0:-1:A_<$i?yy<$i?0:-1:0:-1:Ew<$i?Mn<$i?DE<$i?VE<$i?0:-1:0:-1:zt<$i?hk<$i?0:-1:0:-1:uo<$i?Xv<$i?Eo<$i?rn<$i?EC<$i?Dy<$i&&bp<$i?Pg<$i?0:-1:0:-1:_r<$i?aa<$i?MF<$i?xc<$i?0:-1:0:-1:Dc<$i?EF<$i?0:-1:0:-1:Rl<$i?Wp<$i?vB<$i?Yr<$i?Jd<$i?Ff<$i?0:-1:0:-1:al<$i?za<$i?0:-1:0:-1:_p<$i?fv<$i?0:-1:0:qE<$i?ek<$i?_k<$i?0:wD<$i?yB<$i?eg<$i?0:-1:0:my<$i?I<$i?0:-1:0:-1:n_<$i?Qi<$i?pu<$i?IE<$i?Zu<$i?kC<$i?0:-1:0:-1:Ag<$i?Vf<$i?0:-1:0:-1:FE<$i&&yu<$i?gh<$i?0:-1:0:lw<$i?Tu<$i?Iy<$i?At<$i?Cg<$i&&XA<$i?Ue<$i?0:-1:0:mw<$i?xa<$i?tc<$i?0:-1:0:Ow<$i?NE<$i?0:-1:0:0:Sy<$i?Vn<$i?0:zE<$i?xB<$i?0:-1:0:yt<$i?p<$i?XE<$i?Rd<$i?Jt<$i?0:-1:0:-1:0:rb<$i?0:lA<$i?Hi<$i?0:-1:0:Wa<$i?Cd<$i?ao<$i?0:Bh<$i&&Iv<$i?jy<$i?0:-1:0:ko<$i?_A<$i?0:HD<$i?En<$i?0:-1:0:Qa<$i&&Jw<$i?ir<$i?0:-1:0:SA<$i?Ee<$i?0:Tg<$i?vb<$i?0:-1:Jg<$i?Ak<$i?0:-1:0:qw<$i?ad<$i?vr<$i?0:-1:0:ft<$i?0:Fp<$i?Hf<$i?0:-1:0:-1:H<$i?vl<$i?Ba<$i?dt<$i?Rc<$i?Cp<$i?Q_<$i?Vh<$i?xA<$i?0:-1:$<$i?Qp<$i?0:-1:0:kE<$i?0:yd<$i?el<$i?0:-1:0:-1:0:xD<$i?Jo<$i?0:oE<$i?Ya<$i?Ri<$i?bg<$i?0:-1:0:-1:0:xt<$i?oA<$i&&gp<$i?hu<$i?0:-1:0:im<$i?DC<$i?Cu<$i?xm<$i?0:-1:0:-1:0:pF<$i?Cm<$i?md<$i?wr<$i?0:Ob<$i?Ib<$i?fc<$i?rk<$i?0:-1:0:-1:0:zn<$i?E_<$i?wc<$i&&aw<$i?Mv<$i?0:-1:0:-1:Fi<$i?Jn<$i?0:-1:0:-1:Ad<$i?go<$i?Wy<$i?jD<$i?rB<$i?0:gb<$i?Is<$i?0:-1:0:-1:Tp<$i?Y<$i?Bv<$i?bo<$i?0:-1:0:-1:J_<$i?jn<$i?0:-1:0:-1:Es<$i?Zm<$i?Li<$i?Ck<$i?me<$i?0:-1:0:u<$i?bu<$i?0:-1:0:-1:0:-1:qb<$i?D<$i?FD<$i?Em<$i?ml<$i?Oa<$i?Nm<$i?k<$i&&Gi<$i?K<$i?0:-1:0:-1:BD<$i&&_d<$i?bd<$i?0:-1:0:-1:Ze<$i?Ja<$i?C_<$i?0:Bc<$i?R_<$i?0:-1:0:-1:Um<$i?gl<$i?Yv<$i?jC<$i?0:-1:0:-1:mh<$i?WA<$i?0:-1:0:-1:rE<$i?uv<$i?RE<$i?Ql<$i?Rm<$i?bD<$i?Pf<$i?ff<$i?0:-1:0:-1:_g<$i?Un<$i?0:-1:0:-1:Er<$i?Gl<$i?0:-1:T_<$i?Ab<$i?0:-1:0:-1:xh<$i?ym<$i?Zn<$i?Zl<$i?D_<$i?0:-1:0:-1:cr<$i?Jb<$i?0:-1:0:_D<$i?so<$i?0:-1:0:yc<$i?Xk<$i?Q<$i?vs<$i?vu<$i?Qu<$i?QD<$i?a_<$i?IA<$i?0:-1:0:-1:ia<$i?u_<$i?0:-1:0:Tf<$i?ip<$i?0:-1:RB<$i?My<$i?0:-1:0:-1:Rs<$i?Vd<$i&&aA<$i?hl<$i?0:-1:0:Ys<$i?Js<$i?0:-1:XD<$i?gB<$i?0:-1:0:-1:qr<$i?xo<$i?Oe<$i?tt<$i?W<$i?TA<$i?n<$i?0:-1:0:nC<$i?yF<$i?0:-1:0:-1:pb<$i?Ym<$i?LE<$i?lE<$i?0:-1:0:-1:Ts<$i?lC<$i?0:-1:0:-1:Fg<$i?Le<$i?$C<$i?Sn<$i?ki<$i?gt<$i?0:-1:0:-1:wd<$i?ug<$i?0:-1:0:-1:UA<$i?Nk<$i?uB<$i?Xf<$i?0:-1:0:-1:Cc<$i?hF<$i?0:-1:0:-1:kx(Rte,$i+kg|0)-1|0:-1;else Ki=-1;if(4>>0)Mr=oAe(e);else switch(Ki){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Zi=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Zi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var uc=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(uc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,49);var cc=zMe(iAe(e));Mr=0===cc?i(e):1===cc?c(e):oAe(e)}}break;case 3:cAe(e,87);var sc=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(sc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var lc=Hje(iAe(e));if(2>>0)Mr=oAe(e);else switch(lc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,50);var bc=zMe(iAe(e));Mr=0===bc?i(e):1===bc?c(e):oAe(e)}}break;default:cAe(e,87);var Fc=iAe(e);if(Fc)var mc=Fc[1],Ec=35>>0)Mr=oAe(e);else switch(Ec){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var kc=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(kc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Oc=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Oc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Lc=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Lc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,51);var Pc=zMe(iAe(e));Mr=0===Pc?i(e):1===Pc?c(e):oAe(e)}}}break;default:cAe(e,87);var zc=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(zc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Kc=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Kc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var tf=PMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(tf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var uf=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(uf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,52);var of=zMe(iAe(e));Mr=0===of?i(e):1===of?c(e):oAe(e)}}}}}}break;case 38:cAe(e,87);var lf=iAe(e);if(lf)var vf=lf[1],bf=35>>0)Mr=oAe(e);else switch(bf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var yf=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(yf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Cf=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Cf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var wf=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(wf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,53);var Af=zMe(iAe(e));Mr=0===Af?i(e):1===Af?c(e):oAe(e)}}}break;case 3:cAe(e,87);var gf=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(gf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Nf=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Nf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Of=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Of){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Rf=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Rf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var jf=_je(iAe(e));if(2>>0)Mr=oAe(e);else switch(jf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,54);var Gf=zMe(iAe(e));Mr=0===Gf?i(e):1===Gf?c(e):oAe(e)}}}}}break;case 4:cAe(e,87);var Wf=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,55);var Yf=zMe(iAe(e));Mr=0===Yf?i(e):1===Yf?c(e):oAe(e)}break;default:cAe(e,87);var Kf=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Kf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var eo=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(eo){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var to=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(to){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var io=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(io){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var co=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(co){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Do=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Do){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,56);var Fo=zMe(iAe(e));Mr=0===Fo?i(e):1===Fo?c(e):oAe(e)}}}}}}}break;case 39:cAe(e,87);var Co=iAe(e);if(Co)var Bo=Co[1],No=35>>0)Mr=oAe(e);else switch(No){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,57);var Oo=zMe(iAe(e));Mr=0===Oo?i(e):1===Oo?c(e):oAe(e);break;case 3:cAe(e,87);var Ro=JMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ro){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Uo=iAe(e);if(Uo)var Xo=Uo[1],Go=35>>0)Mr=oAe(e);else switch(Go){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var zo=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(zo){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Wo=Hje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wo){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var $o=OMe(iAe(e));if(2<$o>>>0)Mr=oAe(e);else switch($o){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ho=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ho){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ko=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ko){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Zo=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Zo){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,58);var rs=zMe(iAe(e));Mr=0===rs?i(e):1===rs?c(e):oAe(e)}}}}}}break;default:cAe(e,87);var us=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(us){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var as=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(as){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,59);var fs=zMe(iAe(e));Mr=0===fs?i(e):1===fs?c(e):oAe(e)}}}}break;default:cAe(e,60);var os=nUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(os){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var ps=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ps){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ms=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ms){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ws=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ws){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var _s=Uje(iAe(e));if(2<_s>>>0)Mr=oAe(e);else switch(_s){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ns=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ns){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ls=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ls){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var js=DUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(js){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,61);var Us=zMe(iAe(e));Mr=0===Us?i(e):1===Us?c(e):oAe(e)}}}}}}}break;default:cAe(e,87);var Xs=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Xs){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Gs=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Gs){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var qs=DUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(qs){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ws=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ws){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var tl=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(tl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var nl=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(nl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,62);var il=zMe(iAe(e));Mr=0===il?i(e):1===il?c(e):oAe(e)}}}}}}}}break;case 40:cAe(e,87);var cl=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(cl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Dl=Qje(iAe(e));if(2
>>0)Mr=oAe(e);else switch(Dl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,63);var pl=zMe(iAe(e));Mr=0===pl?i(e):1===pl?c(e):oAe(e)}}break;case 41:cAe(e,87);var bl=iAe(e);if(bl)var dl=bl[1],El=35>>0)Mr=oAe(e);else switch(El){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Cl=yUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Cl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,64);var wl=zMe(iAe(e));Mr=0===wl?i(e):1===wl?c(e):oAe(e)}break;default:cAe(e,87);var Al=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Al){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var xl=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(xl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,65);var Tl=zMe(iAe(e));Mr=0===Tl?i(e):1===Tl?c(e):oAe(e)}}}break;case 42:cAe(e,87);var Nl=iAe(e);if(Nl)var Ol=Nl[1],Jl=35>>0)Mr=oAe(e);else switch(Jl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,66);var ql=zMe(iAe(e));Mr=0===ql?i(e):1===ql?c(e):oAe(e);break;default:cAe(e,87);var zl=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(zl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Wl=iAe(e);if(Wl)var Kl=Wl[1],tv=35>>0)Mr=oAe(e);else switch(tv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var av=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(av){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var iv=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(iv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,67);var cv=zMe(iAe(e));Mr=0===cv?i(e):1===cv?c(e):oAe(e)}}}}}break;case 43:cAe(e,87);var vv=iAe(e);if(vv)var Dv=vv[1],pv=35>>0)Mr=oAe(e);else switch(pv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var bv=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(bv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ev=xMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ev){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var hv=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(hv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var yv=UMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(yv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Sv=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Sv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,68);var Ov=zMe(iAe(e));Mr=0===Ov?i(e):1===Ov?c(e):oAe(e)}}}}}break;case 3:cAe(e,87);var Lv=dUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(Lv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Rv=iAe(e);if(Rv)var Uv=Rv[1],Jv=35>>0)Mr=oAe(e);else switch(Jv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var zv=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(zv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Wv=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var nD=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(nD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,69);var uD=zMe(iAe(e));Mr=0===uD?i(e):1===uD?c(e):oAe(e)}}}}break;default:cAe(e,87);var aD=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(aD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var sD=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(sD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var lD=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(lD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var CD=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(CD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var gD=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(gD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var TD=PMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(TD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,70);var LD=zMe(iAe(e));Mr=0===LD?i(e):1===LD?c(e):oAe(e)}}}}}}}break;default:cAe(e,87);var GD=tUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(GD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var qD=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(qD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var zD=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(zD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ZD=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ZD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,71);var tp=zMe(iAe(e));Mr=0===tp?i(e):1===tp?c(e):oAe(e)}}}}}break;case 44:cAe(e,87);var up=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(up){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ap=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ap){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var cp=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(cp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var fp=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(fp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var sp=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(sp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,72);var vp=zMe(iAe(e));Mr=0===vp?i(e):1===vp?c(e):oAe(e)}}}}}break;case 45:cAe(e,87);var Dp=iAe(e);if(Dp)var wp=Dp[1],Sp=35>>0)Mr=oAe(e);else switch(Sp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Ip=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ip){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Op=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Op){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Rp=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Rp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Up=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Up){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,73);var Vp=zMe(iAe(e));Mr=0===Vp?i(e):1===Vp?c(e):oAe(e)}}}}break;case 3:cAe(e,87);var $p=JMe(iAe(e));if(2<$p>>>0)Mr=oAe(e);else switch($p){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Yp=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Yp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Hp=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Hp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,74);var Kp=zMe(iAe(e));Mr=0===Kp?i(e):1===Kp?c(e):oAe(e)}}}break;default:cAe(e,87);var Zp=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Zp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var tb=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(tb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ub=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ub){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ib=kUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ib){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,75);var fb=zMe(iAe(e));Mr=0===fb?i(e):1===fb?c(e):oAe(e)}}}}}break;case 46:cAe(e,87);var ob=iAe(e);if(ob)var bb=ob[1],mb=35>>0)Mr=oAe(e);else switch(mb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Eb=iAe(e);if(Eb)var kb=Eb[1],wb=35>>0)Mr=oAe(e);else switch(wb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var xb=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(xb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,76);var Pb=zMe(iAe(e));Mr=0===Pb?i(e):1===Pb?c(e):oAe(e)}break;default:cAe(e,87);var jb=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(jb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Xb=yUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Xb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,77);var zb=zMe(iAe(e));Mr=0===zb?i(e):1===zb?c(e):oAe(e)}}}break;case 3:cAe(e,87);var Kb=iAe(e);if(Kb)var Qb=Kb[1],rF=35>>0)Mr=oAe(e);else switch(rF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var eF=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(eF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,78);var tF=zMe(iAe(e));Mr=0===tF?i(e):1===tF?c(e):oAe(e)}break;default:cAe(e,79);var uF=zMe(iAe(e));Mr=0===uF?i(e):1===uF?c(e):oAe(e)}break;default:cAe(e,87);var aF=JMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(aF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var cF=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(cF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,80);var fF=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(fF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var sF=DUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(sF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,81);var lF=zMe(iAe(e));Mr=0===lF?i(e):1===lF?c(e):oAe(e)}}}}}break;case 47:cAe(e,87);var vF=iAe(e);if(vF)var bF=vF[1],FF=35>>0)Mr=oAe(e);else switch(FF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var kF=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(kF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,82);var _F=zMe(iAe(e));Mr=0===_F?i(e):1===_F?c(e):oAe(e)}break;default:cAe(e,87);var gF=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(gF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var SF=PMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(SF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,83);var PF=zMe(iAe(e));Mr=0===PF?i(e):1===PF?c(e):oAe(e)}}}break;case 48:cAe(e,87);var qF=iAe(e);if(qF)var HF=qF[1],ZF=35>>0)Mr=oAe(e);else switch(ZF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var rm=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(rm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var am=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(am){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var lm=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(lm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,84);var wm=zMe(iAe(e));Mr=0===wm?i(e):1===wm?c(e):oAe(e)}}}break;default:cAe(e,87);var Bm=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Bm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Tm=kUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Tm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,85);var Im=zMe(iAe(e));Mr=0===Im?i(e):1===Im?c(e):oAe(e)}}}break;case 49:cAe(e,87);var Om=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Om){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Xm=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Xm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Wm=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Hm=PMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Hm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,86);var Qm=zMe(iAe(e));Mr=0===Qm?i(e):1===Qm?c(e):oAe(e)}}}}break;case 50:Mr=89;break;case 51:cAe(e,135);var td=iAe(e);if(td)var nd=td[1],ud=60>>0)return nye(hre);var cd=Mr;if(74<=cd){if(Jr<=cd)switch(cd){case 111:return[0,r,90];case 112:return[0,r,Bb];case 113:return[0,r,ak];case 114:return[0,r,69];case 115:return[0,r,97];case 116:return[0,r,68];case 117:return[0,r,67];case 118:return[0,r,99];case 119:return[0,r,98];case 120:return[0,r,78];case 121:return[0,r,77];case 122:return[0,r,75];case 123:return[0,r,76];case 124:return[0,r,73];case 125:return[0,r,72];case 126:return[0,r,71];case 127:return[0,r,70];case 128:return[0,r,95];case 129:return[0,r,96];case 130:return[0,r,Fu];case 131:return[0,r,CE];case 132:return[0,r,$l];case 133:return[0,r,sE];case 134:return[0,r,tg];case 135:return[0,r,86];case 136:return[0,r,88];case 137:return[0,r,87];case 138:return[0,r,Ma];case 139:return[0,r,Uu];case 140:return[0,r,79];case 141:return[0,r,11];case 142:return[0,r,74];case 143:return[0,r,EE];case 144:return[0,r,13];case 145:return[0,r,14];case 146:return[0,r[4]?NUe(r,xUe(r,e),6):r,Ve];default:return[0,PUe(r,xUe(r,e)),[6,_Ae(e)]]}switch(cd){case 74:return[0,r,51];case 75:return[0,r,20];case 76:return[0,r,21];case 77:return[0,r,22];case 78:return[0,r,31];case 79:return[0,r,23];case 80:return[0,r,61];case 81:return[0,r,46];case 82:return[0,r,24];case 83:return[0,r,47];case 84:return[0,r,25];case 85:return[0,r,26];case 86:return[0,r,58];case 87:var sd=xUe(r,e),ld=_Ae(e),pd=qUe(r,ld);return[0,pd[1],[4,sd,pd[2],ld]];case 88:var dd=xUe(r,e),Ed=_Ae(e);return[0,r,[4,dd,Ed,Ed]];case 89:return[0,r,0];case 90:return[0,r,1];case 91:return[0,r,4];case 92:return[0,r,5];case 93:return[0,r,6];case 94:return[0,r,7];case 95:return[0,r,12];case 96:return[0,r,10];case 97:return[0,r,8];case 98:return[0,r,9];case 99:return[0,r,83];case 100:sAe(e),fAe(e);var Sd=iAe(e);if(Sd)var Nd=Sd[1],Od=62>>0)var n=oAe(e);else switch(t){case 0:continue;case 1:r:for(;;){if(0===uje(iAe(e)))for(;;){var u=QMe(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=oAe(e);n=a;break}break;default:n=0}break}else n=oAe(e);else n=oAe(e);else n=oAe(e);return 0===n?[0,r,[1,0,_Ae(e)]]:nye(kre)}));case 11:return[0,r,[1,0,_Ae(e)]];case 12:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))if(0===Fje(iAe(e)))if(0===uje(iAe(e)))for(;;){cAe(e,0);var t=KMe(iAe(e));if(0!==t){if(1===t)r:for(;;){if(0===uje(iAe(e)))for(;;){cAe(e,0);var n=KMe(iAe(e));if(0!==n){if(1===n)continue r;var u=oAe(e);break}}else u=oAe(e);var a=u;break}else a=oAe(e);break}}else a=oAe(e);else a=oAe(e);else a=oAe(e);return 0===a?[0,r,[0,0,_Ae(e)]]:nye(Ere)}));case 13:return[0,r,[0,0,_Ae(e)]];case 14:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))if(0===Sje(iAe(e)))if(0===kje(iAe(e)))for(;;){var t=Dje(iAe(e));if(2>>0)var n=oAe(e);else switch(t){case 0:continue;case 1:r:for(;;){if(0===kje(iAe(e)))for(;;){var u=Dje(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=oAe(e);n=a;break}break;default:n=0}break}else n=oAe(e);else n=oAe(e);else n=oAe(e);return 0===n?[0,r,[1,1,_Ae(e)]]:nye(dre)}));case 15:return[0,r,[1,1,_Ae(e)]];case 16:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))if(0===Sje(iAe(e)))if(0===kje(iAe(e)))for(;;){cAe(e,0);var t=aje(iAe(e));if(0!==t){if(1===t)r:for(;;){if(0===kje(iAe(e)))for(;;){cAe(e,0);var n=aje(iAe(e));if(0!==n){if(1===n)continue r;var u=oAe(e);break}}else u=oAe(e);var a=u;break}else a=oAe(e);break}}else a=oAe(e);else a=oAe(e);else a=oAe(e);return 0===a?[0,r,[0,3,_Ae(e)]]:nye(mre)}));case 17:return[0,r,[0,3,_Ae(e)]];case 18:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))for(;;){var t=iAe(e);if(t)var n=t[1],u=47>>0)var n=oAe(e);else switch(t){case 0:continue;case 1:r:for(;;){if(0===RMe(iAe(e)))for(;;){var u=ZMe(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=oAe(e);n=a;break}break;default:n=0}break}else n=oAe(e);else n=oAe(e);else n=oAe(e);return 0===n?[0,r,[1,2,_Ae(e)]]:nye(pre)}));case 24:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))if(0===XMe(iAe(e)))if(0===RMe(iAe(e)))for(;;){cAe(e,0);var t=Xje(iAe(e));if(0!==t){if(1===t)r:for(;;){if(0===RMe(iAe(e)))for(;;){cAe(e,0);var n=Xje(iAe(e));if(0!==n){if(1===n)continue r;var u=oAe(e);break}}else u=oAe(e);var a=u;break}else a=oAe(e);break}}else a=oAe(e);else a=oAe(e);else a=oAe(e);return 0===a?[0,r,[0,4,_Ae(e)]]:nye(Dre)}));case 26:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}function n(r){for(;;){var e=vje(iAe(r));if(0!==e)return 1===e?0:oAe(r)}}function u(r){var e=FUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:var u=ije(iAe(r));return 0===u?n(r):1===u?t(r):oAe(r);case 1:return n(r);default:return t(r)}}function a(r){var e=Ije(iAe(r));if(0===e)for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var n=bUe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return 1===e?u(r):oAe(r)}fAe(e);var i=GMe(iAe(e));if(2>>0)var c=oAe(e);else switch(i){case 0:if(0===LMe(iAe(e)))for(;;){var f=bUe(iAe(e));if(2>>0)c=oAe(e);else switch(f){case 0:continue;case 1:c=u(e);break;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){var o=bUe(iAe(e));if(2>>0)var s=oAe(e);else switch(o){case 0:continue;case 1:s=u(e);break;default:continue r}break}else s=oAe(e);c=s;break}}break}else c=oAe(e);break;case 1:var l=YMe(iAe(e));c=0===l?a(e):1===l?u(e):oAe(e);break;default:for(;;){var v=gje(iAe(e));if(2>>0)c=oAe(e);else switch(v){case 0:c=a(e);break;case 1:continue;default:c=u(e)}break}}return 0===c?[0,NUe(r,xUe(r,e),23),[1,2,_Ae(e)]]:nye(vre)}));case 27:return[0,NUe(r,xUe(r,e),23),[1,2,_Ae(e)]];case 28:return zUe(r,e,(function(r,e){function t(r){for(;;){cAe(r,0);var e=rUe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,0);var t=rUe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}}function n(r){for(;;)if(cAe(r,0),0!==LMe(iAe(r)))return oAe(r)}function u(r){var e=FUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:var u=ije(iAe(r));return 0===u?n(r):1===u?t(r):oAe(r);case 1:return n(r);default:return t(r)}}function a(r){var e=Ije(iAe(r));if(0===e)for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var n=bUe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return 1===e?u(r):oAe(r)}fAe(e);var i=GMe(iAe(e));if(2>>0)var c=oAe(e);else switch(i){case 0:if(0===LMe(iAe(e)))for(;;){var f=bUe(iAe(e));if(2>>0)c=oAe(e);else switch(f){case 0:continue;case 1:c=u(e);break;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){var o=bUe(iAe(e));if(2>>0)var s=oAe(e);else switch(o){case 0:continue;case 1:s=u(e);break;default:continue r}break}else s=oAe(e);c=s;break}}break}else c=oAe(e);break;case 1:var l=YMe(iAe(e));c=0===l?a(e):1===l?u(e):oAe(e);break;default:for(;;){var v=gje(iAe(e));if(2>>0)c=oAe(e);else switch(v){case 0:c=a(e);break;case 1:continue;default:c=u(e)}break}}return 0===c?[0,r,[0,4,_Ae(e)]]:nye(lre)}));case 30:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}function n(r){var e=vje(iAe(r));return 0===e?t(r):1===e?0:oAe(r)}fAe(e);var u=GMe(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:a=0===LMe(iAe(e))?t(e):oAe(e);break;case 1:for(;;){var i=Jje(iAe(e));if(0===i)a=n(e);else{if(1===i)continue;a=oAe(e)}break}break;default:for(;;){var c=EUe(iAe(e));if(2>>0)a=oAe(e);else switch(c){case 0:a=n(e);break;case 1:continue;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){var f=EUe(iAe(e));if(2>>0)var o=oAe(e);else switch(f){case 0:o=n(e);break;case 1:continue;default:continue r}break}else o=oAe(e);a=o;break}}break}}return 0===a?[0,NUe(r,xUe(r,e),22),[1,2,_Ae(e)]]:nye(sre)}));case 31:return zUe(r,e,(function(r,e){fAe(e);var t=ije(iAe(e));if(0===t)for(;;){var n=vje(iAe(e));if(0!==n){var u=1===n?0:oAe(e);break}}else if(1===t)for(;;){var a=MMe(iAe(e));if(2>>0)u=oAe(e);else switch(a){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(e)))for(;;){var i=MMe(iAe(e));if(2>>0)var c=oAe(e);else switch(i){case 0:continue;case 1:continue r;default:c=0}break}else c=oAe(e);u=c;break}break;default:u=0}break}else u=oAe(e);return 0===u?[0,r,[1,2,_Ae(e)]]:nye(ore)}));case 32:return[0,NUe(r,xUe(r,e),22),[1,2,_Ae(e)]];case 34:return zUe(r,e,(function(r,e){function t(r){for(;;){cAe(r,0);var e=rUe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,0);var t=rUe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}}function n(r){return cAe(r,0),0===LMe(iAe(r))?t(r):oAe(r)}fAe(e);var u=GMe(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:a=0===LMe(iAe(e))?t(e):oAe(e);break;case 1:for(;;){cAe(e,0);var i=Jje(iAe(e));if(0===i)a=n(e);else{if(1===i)continue;a=oAe(e)}break}break;default:for(;;){cAe(e,0);var c=EUe(iAe(e));if(2>>0)a=oAe(e);else switch(c){case 0:a=n(e);break;case 1:continue;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){cAe(e,0);var f=EUe(iAe(e));if(2>>0)var o=oAe(e);else switch(f){case 0:o=n(e);break;case 1:continue;default:continue r}break}else o=oAe(e);a=o;break}}break}}return 0===a?[0,r,[0,4,_Ae(e)]]:nye(fre)}));case 36:return[0,r,64];case 23:case 33:return[0,r,[1,2,_Ae(e)]];default:return[0,r,[0,4,_Ae(e)]]}})),uXe=Yye([0,Jye]),aXe=function(r,e){return[0,[0],0,e,CMe(r)]},iXe=function(r,e){var t=e+1|0;if(r[1].length-1>>0)var D=oAe(o);else switch(v){case 0:D=1;break;case 1:D=4;break;case 2:D=0;break;case 3:cAe(o,0);D=0===Vje(iAe(o))?0:oAe(o);break;case 4:D=2;break;default:D=3}if(4>>0)var p=nye(ure);else switch(D){case 0:var b=_Ae(o);eCe(f,b),eCe(c,b);var F=KUe(RUe(u,o),2,c,f,o),m=SUe(F,o),d=Qye(c),E=Qye(f);p=[0,F,[8,[0,[0,F[1],i,m],d,E]]];break;case 1:p=[0,u,Ve];break;case 2:p=[0,u,95];break;case 3:p=[0,u,0];break;default:sAe(o);var k=KUe(u,2,c,f,o),h=SUe(k,o),y=Qye(c),C=Qye(f);p=[0,k,[8,[0,[0,k[1],i,h],y,C]]]}var w=p[2],A=p[1];a=IUe([0,A,w,TUe(A,w),0]);break;case 4:a=gx(eXe,u);break;default:a=gx(ZUe,u)}var _=a[1],g=CMe(_);r[4]=_;var B=r[2],S=[0,[0,g,a[2]]];iS(r[1],B)[B+1]=S,r[2]=r[2]+1|0}},cXe=function(r,e,t,n){var u=r?r[1]:r,a=e?e[1]:e;try{var i=wAe(n),c=0}catch(e){if((e=_x(e))!==nAe)throw e;var f=[0,[0,[0,t,Gx[2],Gx[3]],84],0];i=wAe(Kue),c=f}var o=a?a[1]:Wx,s=function(r,e,t){return[0,r,e,j$r,0,t,Jx,U$r]}(t,i,o[8]),l=[0,aXe(s,0)];return[0,[0,c],[0,0],uXe[1],[0,uXe[1]],[0,0],o[9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[0,Zue],[0,s],l,[0,u],o,t,[0,0],[0,Que]]},fXe=function(r){return hye(r[22][1])},oXe=function(r){return r[26][8]},sXe=function(r,e){var t=e[2];r[1][1]=[0,[0,e[1],t],r[1][1]];var n=r[21];return n?Bx(n[1],r,t):n},lXe=function(r,e){var t=e[2][1];if(Ex(t,Hue))return 0;if(Bx(uXe[3],t,r[4][1]))return sXe(r,[0,e[1],[19,t]]);var n=Bx(uXe[4],t,r[4][1]);return r[4][1]=n,0},vXe=function(r,e){return r[29][1]=e,0},DXe=function(r,e){if(r<2){var t=e[24][1];iXe(t,r);var n=iS(t[1],r)[r+1];return n?n[1][2]:nye(eae)}throw[0,jx,Vue]},pXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],r,e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},bXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],r,e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},FXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],r,e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},mXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],r,e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},dXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],r,e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},EXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],r,e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},kXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],r,e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},hXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],r,e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},yXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],r,e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},CXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],r,e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},wXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],r,e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},AXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],[0,r],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},_Xe=function(r){function e(e){return sXe(r,e)}return function(r){return Bye(e,r)}},gXe=function(r){var e=r[5][1];return e?[0,e[1][2]]:e},BXe=function(r){var e=r[5][1];return e?[0,e[1][1]]:e},SXe=function(r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],0,r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]]},xXe=function(r,e,t){return[0,r[1],r[2],uXe[1],r[4],r[5],r[6],r[7],0,0,0,1,r[12],r[13],r[14],r[15],r[16],t,e,r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]]},TXe=function(r){var e=oS(r,Due);if(0<=e)if(0>>0){if(!(ak<(n+1|0)>>>0))return 1}else{var u=6!==n?1:0;if(!u)return u}}return $Xe(r,e)},KXe=function(r){return HXe(0,r)},QXe=function(r,e){var t=UXe(r,e);if(LXe(t))return 1;if(NXe(t))return 1;if(RXe(t))return 1;if(\"number\"==typeof t)switch(t){case 14:case 28:case 60:case 61:case 62:case 63:case 64:case 65:var n=1;break;default:n=0}else n=4===t[0]?1:0;return n?1:0},ZXe=function(r){return QXe(0,r)},rGe=function(r){var e=15===GXe(r)?1:0;if(e)var t=e;else{var n=64===GXe(r)?1:0;if(n){var u=15===UXe(1,r)?1:0;if(u){var a=XXe(1,r)[2][1];t=JXe(r)[3][1]===a?1:0}else t=u}else t=n}return t},eGe=function(r){var e=GXe(r);if(\"number\"==typeof e&&(13===e||40===e?1:0))return 1;return 0},tGe=function(r,e){return sXe(r,[0,JXe(r),e])},nGe=function(r,e){var t=zXe(e);gx(_Xe(e),t);var n=GXe(e);if(NXe(n))var u=2;else if(LXe(n))u=52;else{var a=SMe(0,n);u=r?[12,a,r[1]]:[11,a]}return tGe(e,u)},uGe=function(r){function e(e){return sXe(r,[0,e[1],74])}return function(r){return Bye(e,r)}},aGe=function(r,e){var t=r[6];return t?tGe(r,e):t},iGe=function(r,e){var t=r[6];return t?sXe(r,[0,e[1],e[2]]):t},cGe=function(r,e){return sXe(r,[0,e,[18,r[6]]])},fGe=function(r){var e=r[25][1];if(e){var t=fXe(r),n=GXe(r),u=[0,JXe(r),n,t];gx(e[1],u)}var a=r[24][1];iXe(a,0);var i=iS(a[1],0)[1],c=i?i[1][1]:nye(rae);r[23][1]=c;var f=zXe(r);gx(_Xe(r),f);var o=r[2][1],s=Cye(DXe(0,r)[4],o);r[2][1]=s;var l=[0,DXe(0,r)];r[5][1]=l;var v=r[24][1];iXe(v,0),1>>0?Bx(m,r,gx(t,r)):gx(d,r)}function M(r,e,n){return XGe([0,e],(function(r){var e=gx(k,r);return pGe(r,83),[0,n,e,gx(t,r),0]}),r)}function j(r,e,t,n,u){var a=TGe(r,n),i=M(r,e,gGe(r,gx(x,r))),c=[0,i[1],[12,i[2]]],f=[0,a,[0,c],0,0!==t?1:0,0,1,0,mMe([0,u],0)];return[0,[0,c[1],f]]}function U(r,e,n,u,a,i,c){return 1-oXe(r)&&tGe(r,12),[0,XGe([0,e],(function(r){var e=FGe(r,82);pGe(r,83);var f=gx(t,r);return[0,c,[0,f],e,0!==u?1:0,0!==a?1:0,0,n,mMe([0,i],0)]}),r)]}function X(r,e){var t=GXe(e);if(\"number\"==typeof t&&!(10<=t))switch(t){case 1:if(!r)return 0;break;case 3:if(r)return 0;break;case 8:case 9:return fGe(e)}return nGe(0,e)}function G(r,e){return e?sXe(r,[0,e[1][1],7]):e}function J(r,e){return e?sXe(r,[0,e[1],9]):e}function q(e){var t=WXe(e);if(pGe(e,66),4===GXe(e)){var n=fye(t,WXe(e));pGe(e,4),oGe(e,0);var u=gx(r[9],e);return sGe(e),pGe(e,5),[0,[0,u],mMe([0,n],[0,lGe(e)])]}return[0,0,mMe([0,t],[0,lGe(e)])]}XB(t,(function(r){return gx(u,r)})),XB(n,(function(r){return 1-oXe(r)&&tGe(r,12),XGe(0,(function(r){return pGe(r,83),gx(t,r)}),r)})),XB(u,(function(r){var e=86===GXe(r)?1:0;if(e){var t=WXe(r);fGe(r);var n=t}else n=e;return Sx(a,r,[0,n],gx(i,r))})),XB(a,(function(r,e,t){var n=e?e[1]:e;if(86===GXe(r)){var u=[0,t,0];return XGe([0,t[1]],(function(r){for(var e=u;;){var t=GXe(r);if(\"number\"!=typeof t||86!==t){var a=wye(e);if(a){var c=a[2];if(c){var f=mMe([0,n],0);return[17,[0,[0,a[1],c[1],c[2]],f]]}}throw[0,jx,ade]}pGe(r,86);e=[0,gx(i,r),e]}}),r)}return t})),XB(i,(function(r){var e=88===GXe(r)?1:0;if(e){var t=WXe(r);fGe(r);var n=t}else n=e;return Sx(c,r,[0,n],gx(f,r))})),XB(c,(function(r,e,t){var n=e?e[1]:e;if(88===GXe(r)){var u=[0,t,0];return XGe([0,t[1]],(function(r){for(var e=u;;){var t=GXe(r);if(\"number\"!=typeof t||88!==t){var a=wye(e);if(a){var i=a[2];if(i){var c=mMe([0,n],0);return[18,[0,[0,a[1],i[1],i[2]],c]]}}throw[0,jx,ude]}pGe(r,88);e=[0,gx(f,r),e]}}),r)}return t})),XB(f,(function(r){return Bx(o,r,gx(s,r))})),XB(o,(function(r,e){var t=GXe(r);if(\"number\"==typeof t&&11===t&&!r[15]){var n=Bx(m,r,e);return xx(A,r,n[1],0,[0,n[1],[0,0,[0,n,0],0,0]])}return e})),XB(s,(function(r){var e=GXe(r);return\"number\"==typeof e&&82===e?XGe(0,(function(r){var e=WXe(r);pGe(r,82);var t=mMe([0,e],0);return[11,[0,gx(s,r),t]]}),r):gx(l,r)})),XB(l,(function(r){return Bx(v,r,gx(D,r))})),XB(v,(function(r,e){if(!YXe(r)&&FGe(r,6)){return Bx(v,r,XGe([0,e[1]],(function(r){return pGe(r,7),[15,[0,e,mMe(0,[0,lGe(r)])]]}),r))}return e})),XB(D,(function(r){var e=JXe(r),t=GXe(r);if(\"number\"==typeof t)switch(t){case 4:return gx(C,r);case 6:return gx(F,r);case 46:return XGe(0,(function(r){var e=WXe(r);pGe(r,46);var t=mMe([0,e],0);return[19,[0,gx(D,r),0,t]]}),r);case 53:return XGe(0,(function(r){var e=WXe(r);pGe(r,53);var t=gx(g,r),n=mMe([0,e],0);return[14,[0,t[2],t[1],n]]}),r);case 95:return gx(w,r);case 103:var n=WXe(r);return pGe(r,$l),[0,e,[10,mMe([0,n],[0,lGe(r)])]];case 42:var u=1;break;case 0:case 2:var a=xx(_,0,1,1,r);return[0,a[1],[13,a[2]]];case 30:case 31:var i=WXe(r);return pGe(r,t),[0,e,[24,[0,31===t?1:0,mMe([0,i],[0,lGe(r)])]]];default:u=0}else switch(t[0]){case 2:var c=t[1],f=c[4],o=c[3],s=c[2],l=c[1];f&&aGe(r,43);var v=WXe(r);return pGe(r,[2,[0,l,s,o,f]]),[0,l,[21,[0,s,o,mMe([0,v],[0,lGe(r)])]]];case 10:var p=t[3],m=t[2],d=t[1],E=WXe(r);pGe(r,[10,d,m,p]);var k=lGe(r);return 1===d&&aGe(r,43),[0,e,[22,[0,m,p,mMe([0,E],[0,k])]]];case 11:var h=t[3],y=t[2],A=WXe(r);return pGe(r,[11,t[1],y,h]),[0,e,[23,[0,y,h,mMe([0,A],[0,lGe(r)])]]];case 4:u=1;break;default:u=0}if(u){var B=gx(I,r);return[0,B[1],[16,B[2]]]}var S=gx(b,r);return S?[0,e,S[1]]:(nGe(0,r),[0,e,nde])})),XB(p,(function(r){if(\"number\"==typeof r)switch(r){case 29:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:var e=1;break;default:e=0}else e=9===r[0]?1:0;return e?1:0})),XB(b,(function(r){var e=WXe(r),t=GXe(r);if(\"number\"==typeof t)switch(t){case 29:return fGe(r),[0,[4,mMe([0,e],[0,lGe(r)])]];case 111:return fGe(r),[0,[0,mMe([0,e],[0,lGe(r)])]];case 112:return fGe(r),[0,[1,mMe([0,e],[0,lGe(r)])]];case 113:return fGe(r),[0,[2,mMe([0,e],[0,lGe(r)])]];case 114:return fGe(r),[0,[5,mMe([0,e],[0,lGe(r)])]];case 115:return fGe(r),[0,[6,mMe([0,e],[0,lGe(r)])]];case 116:return fGe(r),[0,[7,mMe([0,e],[0,lGe(r)])]];case 117:return fGe(r),[0,[3,mMe([0,e],[0,lGe(r)])]];case 118:return fGe(r),[0,[9,mMe([0,e],[0,lGe(r)])]]}else if(9===t[0])return fGe(r),[0,[8,mMe([0,e],[0,lGe(r)])]];return 0})),XB(F,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,6);for(var n=yXe(0,r),u=0;;){var a=GXe(n);if(\"number\"==typeof a)if(7===a||Ve===a?1:0){var i=wye(u);return pGe(r,7),[20,[0,i,mMe([0,e],[0,lGe(r)])]]}var c=[0,gx(t,n),u];7!==GXe(n)&&pGe(n,9);u=c}}),r)})),XB(m,(function(r,e){return[0,e[1],[0,0,e,0]]})),XB(d,(function(e){return XGe(0,(function(e){oGe(e,0);var n=Bx(r[13],0,e);sGe(e),1-oXe(e)&&tGe(e,12);var u=FGe(e,82);return pGe(e,83),[0,[0,n],gx(t,e),u]}),e)})),XB(E,(function(r){return function(e){for(var t=0,u=e;;){var a=GXe(r);if(\"number\"==typeof a)switch(a){case 5:case 12:case 110:var i=12===a?1:0,c=i?[0,XGe(0,(function(r){var e=WXe(r);pGe(r,12);var t=mMe([0,e],0);return[0,R(r),t]}),r)]:i;return[0,t,wye(u),c,0]}else if(4===a[0]&&!hx(a[3],tde)){if(!(83===UXe(1,r)||82===UXe(1,r)?0:1)){((0!==t?1:0)||(0!==u?1:0))&&tGe(r,sE);var f=XGe(0,(function(r){var e=WXe(r);fGe(r),82===GXe(r)&&tGe(r,tg);var t=mMe([0,e],0);return[0,gx(n,r),t]}),r);5!==GXe(r)&&pGe(r,9);t=[0,f];continue}}var o=[0,R(r),u];5!==GXe(r)&&pGe(r,9);u=o}}})),XB(k,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,4);var t=Bx(E,r,0),n=WXe(r);pGe(r,5);var u=dMe([0,e],[0,lGe(r)],n);return[0,t[1],t[2],t[3],u]}),r)})),XB(h,(function(r){var e=WXe(r);pGe(r,4);var n=yXe(0,r),u=GXe(n);if(\"number\"==typeof u)switch(u){case 5:var a=ede,i=2;break;case 42:i=1;break;case 12:case 110:a=[0,Bx(E,n,0)],i=2;break;default:i=0}else i=4===u[0]?1:0;switch(i){case 0:if(gx(p,u)){var c=UXe(1,n);if(\"number\"==typeof c)if(1<(c+Yf|0)>>>0)var f=0;else{var o=[0,Bx(E,n,0)];f=1}else f=0;if(!f)o=[1,gx(t,n)];a=o}else a=[1,gx(t,n)];break;case 1:a=gx(y,n)}if(0===a[0])var s=a;else{var l=a[1];if(r[15])var v=a;else{var D=GXe(r);if(\"number\"==typeof D)if(5===D)if(11===UXe(1,r))var b=[0,Bx(E,r,[0,Bx(m,r,l),0])],F=1;else b=[1,l],F=1;else if(9===D){pGe(r,9);b=[0,Bx(E,r,[0,Bx(m,r,l),0])],F=1}else F=0;else F=0;if(!F)b=a;v=b}s=v}var d=WXe(r);pGe(r,5);var k=lGe(r);if(0===s[0]){var h=s[1],C=dMe([0,e],[0,k],d);return[0,[0,h[1],h[2],h[3],C]]}return[1,Sx(P,s[1],e,k)]})),XB(y,(function(r){var e=UXe(1,r);if(\"number\"==typeof e&&!(1<(e+Yf|0)>>>0))return[0,Bx(E,r,0)];var t=Bx(o,r,Bx(v,r,Bx(O,r,gx(B,r)))),n=Bx(gx(c,r),0,t);return[1,Bx(gx(a,r),0,n)]})),XB(C,(function(r){var e=JXe(r),t=XGe(0,h,r),n=t[2];return 0===n[0]?xx(A,r,e,0,[0,t[1],n[1]]):n[1]})),XB(w,(function(r){var e=JXe(r),t=gGe(r,gx(x,r));return xx(A,r,e,t,gx(k,r))})),XB(A,(function(r,e,n,u){return XGe([0,e],(function(r){return pGe(r,11),[12,[0,n,u,gx(t,r),0]]}),r)})),XB(_,(function(n,u,a,i){var c=u?2===GXe(i)?1:0:u,f=u?1-c:u;return XGe(0,(function(u){var i=WXe(u);pGe(u,c?2:c);var o=yXe(0,u),s=Qme;r:for(;;){var l=s[3],v=s[2],D=s[1];if(n&&a)throw[0,jx,Xme];if(f&&!a)throw[0,jx,Gme];var p=JXe(o),b=GXe(o);if(\"number\"==typeof b){if(13<=b)if(Ve===b)var F=[0,wye(D),v,l],m=1;else m=0;else if(0===b)m=0;else switch(b-1|0){case 0:if(c)m=0;else F=[0,wye(D),v,l],m=1;break;case 2:if(c)F=[0,wye(D),v,l],m=1;else m=0;break;case 11:if(!a){fGe(o);var d=GXe(o);if(\"number\"==typeof d&&!(10<=d))switch(d){case 1:case 3:case 8:case 9:sXe(o,[0,p,20]),X(c,o);continue}var E=zXe(o);gx(_Xe(o),E),sXe(o,[0,p,17]),fGe(o),X(c,o);continue}var k=WXe(o);fGe(o);var h=GXe(o);if(\"number\"==typeof h)if(10<=h)var y=1;else switch(h){case 1:case 3:case 8:case 9:X(c,o);var C=GXe(o);if(\"number\"==typeof C){var w=C-1|0;if(2>>0)var A=1;else switch(w){case 0:if(f)F=[0,wye(D),1,k],m=1,y=0,A=0;else A=1;break;case 1:A=1;break;default:sXe(o,[0,p,19]);F=[0,wye(D),v,l],m=1,y=0,A=0}}else A=1;if(A){sXe(o,[0,p,18]);continue}break;default:y=1}else y=1;if(y){var _=[1,XGe([0,p],function(r){return function(e){var n=mMe([0,r],0);return[0,gx(t,e),n]}}(k),o)];X(c,o);s=[0,[0,_,D],v,l];continue}break;default:m=0}if(m){var g=WXe(u),B=fye(F[3],g);pGe(u,c?3:1);var S=dMe([0,i],[0,lGe(u)],B);return[0,c,F[2],F[1],S]}}for(var T=n,I=n,N=0,O=0,L=0,P=0;;){var R=GXe(o);if(\"number\"==typeof R)switch(R){case 6:J(o,L);var q=UXe(1,o);if(\"number\"==typeof q)if(6===q){G(o,N);var z=[4,XGe([0,p],function(r,e,n){return function(u){var a=fye(e,WXe(u));pGe(u,6),pGe(u,6);var i=jGe(u);pGe(u,7),pGe(u,7);var c=GXe(u);if(\"number\"==typeof c){if(4===c)var f=1;else if(95===c)f=1;else{var o=0;f=0}if(f){var s=M(u,r,gGe(u,gx(x,u))),l=0,v=1,D=[0,s[1],[12,s[2]]],p=0;o=1}}else o=0;if(!o){var b=FGe(u,82),F=lGe(u);pGe(u,83);l=b,v=0,D=gx(t,u),p=F}return[0,i,D,l,0!==n?1:0,v,mMe([0,a],[0,p])]}}(p,P,O),o)],W=1,V=0}else V=1;else V=1;if(V)z=[2,XGe([0,p],function(r,e,n){return function(u){var a=fye(r,WXe(u));pGe(u,6);var i=83===UXe(1,u)?1:0;if(i){var c=jGe(u);pGe(u,83);var f=[0,c]}else f=i;var o=gx(t,u);pGe(u,7);var s=lGe(u);return pGe(u,83),[0,f,o,gx(t,u),0!==e?1:0,n,mMe([0,a],[0,s])]}}(P,O,N),o)],W=1;break;case 42:if(T){if(0===N){var $=[0,JXe(o)],Y=fye(P,WXe(o));fGe(o);T=0,I=0,O=$,P=Y;continue}throw[0,jx,Jme]}W=0;break;case 100:case 101:if(0===N){T=0,I=0,N=e(o);continue}W=0;break;case 4:case 95:J(o,L),G(o,N);z=[3,XGe([0,p],function(r,e){return function(t){return[0,M(t,JXe(t),gGe(t,gx(x,t))),0!==e?1:0,mMe([0,r],0)]}}(P,O),o)],W=1;break;default:W=0}else if(4===R[0])if(hx(R[3],qme))W=0;else{if(I){if(0===N){var H=[0,JXe(o)],K=fye(P,WXe(o));fGe(o);T=0,I=0,L=H,P=K;continue}throw[0,jx,zme]}W=0}else W=0;if(!W){if(O)if(L){z=nye(Wme);var Q=1}else if(\"number\"==typeof R)if(1<(R+Yf|0)>>>0)Q=0;else{var Z=[0,O[1],Vme];z=U(o,p,N,0,L,0,[1,bMe(mMe([0,P],0),Z)]),Q=1}else Q=0;else if(L)if(\"number\"==typeof R)if(1<(R+Yf|0)>>>0)Q=0;else{var rr=[0,L[1],$me];z=U(o,p,N,O,0,0,[1,bMe(mMe([0,P],0),rr)]),Q=1}else Q=0;else Q=0;if(!Q){var er=function(e){oGe(e,0);var t=Bx(r[20],0,e);return sGe(e),t},tr=WXe(o),nr=er(o)[2];if(1===nr[0]){var ur=nr[1][2][1];if(hx(ur,Yme))if(hx(ur,Hme))var ar=0,ir=0;else ir=1;else ir=1;if(ir){var cr=GXe(o);if(\"number\"==typeof cr){var fr=cr-5|0;if(89>>0)if(91<(fr+1|0)>>>0)var or=1;else{J(o,L),G(o,N);z=j(o,p,O,nr,P),ar=1,or=0}else if(1<(fr-77|0)>>>0)or=1;else z=U(o,p,N,O,L,P,nr),ar=1,or=0}else or=1;if(or){TGe(o,nr);var sr=er(o),lr=Ex(ur,Kme),vr=fye(P,tr);J(o,L),G(o,N);z=[0,XGe([0,p],function(r,e,t,n,u){return function(a){var i=t[1],c=TGe(a,t[2]),f=M(a,r,0),o=f[2][2];if(0===n){var s=o[2];if(s[1])sXe(a,[0,i,Uu]);else{var l=s[2];if(s[3])sXe(a,[0,i,79]);else{if(l)if(l[2])var v=1;else v=0;else v=1;v&&sXe(a,[0,i,79])}}}else{var D=o[2];if(D[1])sXe(a,[0,i,Ma]);else(D[2]||D[3]?0:1)||sXe(a,[0,i,78])}var p=mMe([0,u],0);return[0,c,n?[1,f]:[2,f],0,0!==e?1:0,0,0,0,p]}}(p,O,sr,lr,vr),o)],ar=1}}}else ar=0;if(!ar){var Dr=GXe(o);if(\"number\"==typeof Dr){if(4===Dr)var pr=1;else if(95===Dr)pr=1;else{var br=0;pr=0}if(pr){J(o,L),G(o,N);z=j(o,p,O,nr,P),br=1}}else br=0;if(!br){var Fr=0!==O?1:0;if(1===nr[0]){var mr=nr[1],dr=mr[2][1];if(n){if(Ex(Zme,dr))var Er=1;else if(Fr)if(Ex(rde,dr))Er=1;else Er=0;else Er=0;Er&&sXe(o,[0,mr[1],[21,dr,Fr,0]])}}z=U(o,p,N,O,L,P,nr)}}}}X(c,o);s=[0,[0,z,D],v,l];continue r}}}),i)})),XB(g,(function(r){var e=41===GXe(r)?1:0;if(e){pGe(r,41);for(var t=0;;){var n=[0,gx(I,r),t],u=GXe(r);if(\"number\"!=typeof u||9!==u){var a=IGe(r,wye(n));break}pGe(r,9);t=n}}else a=e;return[0,a,xx(_,0,0,0,r)]})),XB(B,(function(r){var e=jGe(r),t=e[2],n=t[1],u=e[1];return jXe(n)&&sXe(r,[0,u,3]),[0,u,[0,n,t[2]]]})),XB(S,(function(r){return XGe(0,(function(r){return[0,gx(B,r),83===GXe(r)?[1,gx(n,r)]:[0,qXe(r)]]}),r)})),XB(x,(function(r){var n=95===GXe(r)?1:0;if(n){1-oXe(r)&&tGe(r,12);var u=[0,XGe(0,(function(r){var n=WXe(r);pGe(r,95);for(var u=0,a=0;;){var i=XGe(0,function(r){return function(n){var u=e(n),a=gx(S,n),i=a[2],c=GXe(n);if(\"number\"==typeof c)if(79===c){fGe(n);var f=[0,gx(t,n)],o=1,s=1}else s=0;else s=0;if(!s){r&&sXe(n,[0,a[1],75]);f=0,o=r}return[0,u,i[1],i[2],f,o]}}(u),r),c=i[2],f=[0,[0,i[1],[0,c[2],c[3],c[1],c[4]]],a],o=GXe(r);if(\"number\"==typeof o){if(96===o)var s=1;else if(Ve===o)s=1;else{var l=0;s=0}if(s){var v=wye(f);l=1}}else l=0;if(!l){if(pGe(r,9),96!==GXe(r)){u=c[5],a=f;continue}v=wye(f)}var D=WXe(r);return pGe(r,96),[0,v,dMe([0,n],[0,lGe(r)],D)]}}),r)]}else u=n;return u})),XB(T,(function(r){var e=95===GXe(r)?1:0;return e?[0,XGe(0,(function(r){var e=WXe(r);pGe(r,95);for(var n=yXe(0,r),u=0;;){var a=GXe(n);if(\"number\"==typeof a)if(96===a||Ve===a?1:0){var i=wye(u),c=WXe(n);return pGe(n,96),[0,i,dMe([0,e],[0,lGe(n)],c)]}var f=[0,gx(t,n),u];96!==GXe(n)&&pGe(n,9);u=f}}),r)]:e})),XB(I,(function(r){return Bx(N,r,gx(B,r))})),XB(N,(function(r,e){return XGe([0,e[1]],(function(r){for(var t=[0,e[1],[0,e]];;){var n=t[2],u=t[1];if(10!==GXe(r)){if(95===GXe(r))var a=Bx(AGe(r)[2],n,(function(r,e){return Bx(wS(r,-860373976,75),r,e)}));else a=n;return[0,a,gx(T,r),0]}var i=XGe([0,u],function(r){return function(e){return pGe(e,10),[0,r,gx(B,e)]}}(n),r),c=i[1];t=[0,c,[1,[0,c,i[2]]]]}}),r)})),XB(O,(function(r,e){var t=Bx(N,r,e);return[0,t[1],[16,t[2]]]})),XB(L,(function(r){var e=GXe(r);return\"number\"==typeof e&&83===e?[1,gx(n,r)]:[0,qXe(r)]})),XB(P,(function(r,e,t){var n=r[2];function u(r){return EMe(r,mMe([0,e],[0,t]))}switch(n[0]){case 0:var a=[0,u(n[1])];break;case 1:a=[1,u(n[1])];break;case 2:a=[2,u(n[1])];break;case 3:a=[3,u(n[1])];break;case 4:a=[4,u(n[1])];break;case 5:a=[5,u(n[1])];break;case 6:a=[6,u(n[1])];break;case 7:a=[7,u(n[1])];break;case 8:a=[8,u(n[1])];break;case 9:a=[9,u(n[1])];break;case 10:a=[10,u(n[1])];break;case 11:var i=n[1],c=u(i[2]);a=[11,[0,i[1],c]];break;case 12:var f=n[1],o=u(f[4]);a=[12,[0,f[1],f[2],f[3],o]];break;case 13:var s=n[1],l=s[4],v=kMe(l,mMe([0,e],[0,t]));a=[13,[0,s[1],s[2],s[3],v]];break;case 14:var D=n[1],p=u(D[3]);a=[14,[0,D[1],D[2],p]];break;case 15:var b=n[1],F=u(b[2]);a=[15,[0,b[1],F]];break;case 16:var m=n[1],d=u(m[3]);a=[16,[0,m[1],m[2],d]];break;case 17:var E=n[1],k=u(E[2]);a=[17,[0,E[1],k]];break;case 18:var h=n[1],y=u(h[2]);a=[18,[0,h[1],y]];break;case 19:var C=n[1],w=u(C[3]);a=[19,[0,C[1],C[2],w]];break;case 20:var A=n[1],_=u(A[2]);a=[20,[0,A[1],_]];break;case 21:var g=n[1],B=u(g[3]);a=[21,[0,g[1],g[2],B]];break;case 22:var S=n[1],x=u(S[3]);a=[22,[0,S[1],S[2],x]];break;case 23:var T=n[1],I=u(T[3]);a=[23,[0,T[1],T[2],I]];break;default:var N=n[1],O=u(N[2]);a=[24,[0,N[1],O]]}return[0,r[1],a]}));function z(r){var e=yXe(0,r),t=GXe(e);return\"number\"==typeof t&&66===t?[0,XGe(0,q,e)]:0}function W(r){var e=GXe(r),t=UXe(1,r);if(\"number\"==typeof e&&83===e){if(\"number\"==typeof t&&66===t){pGe(r,83);var n=z(r);return[0,[0,qXe(r)],n]}var u=gx(L,r);return[0,66===GXe(r)?BGe(r,u):u,z(r)]}return[0,[0,qXe(r)],0]}function V(r,e){var t=pXe(1,e);oGe(t,1);var n=gx(r,t);return sGe(t),n}return[0,function(r){return V(t,r)},function(r){return V(B,r)},function(r){return V(x,r)},function(r){return V(T,r)},function(r){return V(I,r)},function(r,e){return V(Sx(_,r,0,0),e)},function(r){return V(g,r)},function(r){return V(k,r)},function(r){return V(n,r)},function(r){return V(L,r)},function(r){return V(z,r)},function(r){return V(W,r)}]}($Ge),HGe=function(r){var e=[0,Ume,GGe[1],0];function t(r){var e=GXe(r);if(\"number\"==typeof e&&(8<=e?10<=e?0:1:1===e?1:0))return 1;return 0}function n(r){var e=JXe(r),n=WXe(r),u=GXe(r);if(\"number\"==typeof u)switch(u){case 30:case 31:fGe(r);var a=lGe(r);return t(r)?[1,e,[0,31===u?1:0,mMe([0,n],[0,a])]]:[0,e]}else switch(u[0]){case 0:var i=u[2],c=Sx($Ge[24],r,u[1],i),f=lGe(r);return t(r)?[2,e,[0,c,i,mMe([0,n],[0,f])]]:[0,e];case 2:var o=u[1],s=o[1];o[4]&&aGe(r,43),fGe(r);var l=lGe(r);if(t(r)){var v=mMe([0,n],[0,l]);return[3,s,[0,o[2],o[3],v]]}return[0,s]}return fGe(r),[0,e]}function u(r){var e=jGe(r),t=GXe(r);if(\"number\"==typeof t)if(79===t){pGe(r,79);var u=n(r),a=1}else if(83===t){tGe(r,[5,e[2][1]]),pGe(r,83);u=n(r),a=1}else a=0;else a=0;if(!a)u=0;return[0,e,u]}function a(r,e,t,n,u,a,i){var c=kye(u),f=kye(a);function o(r){return[2,[0,[0,a],t,n,i]]}function s(r){return[2,[0,[1,u],t,n,i]]}return 0===c?o():0===f?s():c>>0){if(!(ak<(b+1|0)>>>0)){var F=D[3],m=wye(D[1][4]),d=wye(D[1][3]),E=wye(D[1][2]),k=wye(D[1][1]);pGe(r,1);var h=GXe(r);if(\"number\"==typeof h){if(1===h)var y=1;else if(Ve===h)y=1;else{var C=0;y=0}if(y){var w=lGe(r);C=1}}else C=0;if(!C){var A=YXe(r);w=A?vGe(r):A}var _=mMe([0,v],[0,w]);if(s)switch(s[1]){case 0:return[0,[0,k,1,F,_]];case 1:return[1,[0,E,1,F,_]];case 2:return a(r,i,1,F,d,m,_);default:return[3,[0,m,F,_]]}var B=kye(k),S=kye(E),x=kye(d),T=kye(m),I=function(r){return[2,[0,Ome,0,F,_]]};return 0===B&&0===S?0===x&&0===T?I():a(r,i,0,F,d,m,_):0===S&&0===x&&T<=B?(Bye((function(e){return sXe(r,[0,e[1],[1,i,e[2][1][2][1]]])}),m),[0,[0,k,0,F,_]]):0===B&&0===x&&T<=S?(Bye((function(e){return sXe(r,[0,e[1],[9,i,e[2][1][2][1]]])}),m),[1,[0,E,0,F,_]]):(sXe(r,[0,c,[3,i]]),I())}}else if(10===b){var N=JXe(r);fGe(r);var O=GXe(r);if(\"number\"==typeof O){var L=O-2|0;if(Uu>>0)if(109<(L+1|0)>>>0)var P=0,R=0;else R=1;else if(7===L){pGe(r,9);var M=GXe(r);if(\"number\"==typeof M){if(1===M)var j=1;else if(Ve===M)j=1;else{var U=0;j=0}if(j){var X=1;U=1}}else U=0;if(!U)X=0;sXe(r,[0,N,[8,X]]);R=1}else P=0,R=0;if(R)P=1}else P=0;P||sXe(r,[0,N,Nme]);D=[0,D[1],D[2],1];continue}}var G=D[2],J=D[1],q=XGe(0,u,r),z=q[2],W=z[1],V=W[2][1];if(Ex(V,jme))var $=D;else{var Y=W[1],H=z[2],K=q[1],Q=kx(V,0),Z=97<=Q?1:0;(Z?Q<=g?1:0:Z)&&sXe(r,[0,Y,[7,i,V]]),Bx(GGe[3],V,G)&&sXe(r,[0,Y,[2,i,V]]);var rr=D[3],er=Bx(GGe[4],V,G),tr=[0,D[1],er,rr],nr=function(e){return function(t,n){return s&&s[1]!==t?sXe(r,[0,n,[6,i,s,e]]):0}}(V);if(\"number\"==typeof H){if(s){var ur=s[1];if(1===ur){sXe(r,[0,K,[9,i,V]]);$=tr;var ar=1}else if(0===ur){sXe(r,[0,K,[1,i,V]]);$=tr,ar=1}else ar=0}else ar=0;if(!ar)$=[0,[0,J[1],J[2],J[3],[0,[0,K,[0,W]],J[4]]],er,rr]}else switch(H[0]){case 0:sXe(r,[0,H[1],[6,i,s,V]]);$=tr;break;case 1:var ir=H[1];nr(0,ir);$=[0,[0,[0,[0,K,[0,W,[0,ir,H[2]]]],J[1]],J[2],J[3],J[4]],er,rr];break;case 2:var cr=H[1];nr(1,cr);$=[0,[0,J[1],[0,[0,K,[0,W,[0,cr,H[2]]]],J[2]],J[3],J[4]],er,rr];break;default:var fr=H[1];nr(2,fr);$=[0,[0,J[1],J[2],[0,[0,K,[0,W,[0,fr,H[2]]]],J[3]],J[4]],er,rr]}}var or=GXe(r);if(\"number\"==typeof or){var sr=or-2|0;if(Uu>>0)if(109<(sr+1|0)>>>0)var lr=0,vr=0;else vr=1;else if(6===sr){tGe(r,1),pGe(r,8);vr=1}else lr=0,vr=0;if(vr)lr=1}else lr=0;lr||pGe(r,9);D=$}}),r),mMe([0,t],0)]]}function c(r,e){var t=e[2];switch(t[0]){case 0:return Sye(f,r,t[1][1]);case 1:return Sye(o,r,t[1][1]);case 2:var n=t[1][1],u=n[2][1],a=r[2],i=r[1];Bx(JGe[3],u,a)&&sXe(i,[0,n[1],41]);var c=s([0,i,a],n),l=Bx(JGe[4],u,c[2]);return[0,c[1],l];default:return sXe(r[1],[0,e[1],30]),r}}function f(r,e){if(0===e[0]){var t=e[1][2],n=t[1];return c(1===n[0]?s(r,n[1]):r,t[2])}return c(r,e[1][2][1])}function o(r,e){return 2===e[0]?r:c(r,e[1][2][1])}function s(r,e){var t=e[2][1],n=e[1],u=r[1];return PXe(t)&&iGe(u,[0,n,40]),(IXe(t)||OXe(t))&&iGe(u,[0,n,52]),[0,u,r[2]]}function l(r,e,t,n,u){var a=e||1-t;if(a){var i=u[2],f=i[3],o=e?pXe(1-r[6],r):r;if(n){var s=n[1],l=s[2][1],v=s[1];PXe(l)&&iGe(o,[0,v,42]),(IXe(l)||OXe(l))&&iGe(o,[0,v,52])}var D=i[2],p=Sye((function(r,e){return c(r,e[2][1])}),[0,o,JGe[1]],D),b=f?(c(p,f[1][2][1]),0):f}else b=a;return b}var v=function r(e,t){return r.fun(e,t)};function D(r){21===GXe(r)&&tGe(r,sE);var e=Bx($Ge[18],r,40),t=79===GXe(r)?1:0;return[0,e,t?(pGe(r,79),[0,gx($Ge[10],r)]):t]}function p(e,t){function n(n){var u=bXe(t,FXe(e,n)),a=[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],1,u[11],u[12],u[13],u[14],u[15],u[16],u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29]],i=WXe(a);pGe(a,4);var c=oXe(a),f=c?21===GXe(a)?1:0:c;if(f){var o=WXe(a),s=XGe(0,(function(e){return pGe(e,21),83===GXe(e)?[0,gx(r[9],e)]:(tGe(e,$l),0)}),a),l=s[2];if(l){9===GXe(a)&&fGe(a);var D=mMe([0,o],0),p=[0,[0,s[1],[0,l[1],D]]]}else p=l;var b=p}else b=f;var F=Bx(v,a,0),m=WXe(a);pGe(a,5);var d=dMe([0,i],[0,lGe(a)],m);return[0,b,F[1],F[2],d]}return function(r){return XGe(0,n,r)}}function b(r,e,t,n){var u=xXe(r,e,t),a=Bx($Ge[16],n,u);return[0,[0,[0,a[1],a[2]]],a[3]]}function F(r){if($l===GXe(r)){var e=WXe(r);return fGe(r),[0,1,e]}return ode}function m(r){if(64===GXe(r)&&!$Xe(1,r)){var e=WXe(r);return fGe(r),[0,1,e]}return fde}function d(r){var e=r[2],t=0===e[3]?1:0;if(t)for(var n=e[2];;){if(n){var u=n[1][2],a=n[2];if(2===u[1][2][0])if(u[2])var i=0;else{var c=1;i=1}else i=0;if(!i)c=0;if(c){n=a;continue}return c}return 1}return t}function E(e){var t=m(e),n=t[1],u=t[2],a=XGe(0,(function(e){var t=WXe(e);pGe(e,15);var a=F(e),i=a[1],c=Aye([0,u,[0,t,[0,a[2],0]]]),f=e[7],o=GXe(e);if(0===f)var s=0;else if(\"number\"==typeof o)if(4===o){var l=0,v=0;s=1}else if(95===o)l=gGe(e,gx(r[3],e)),v=4===GXe(e)?0:[0,_Ge(e,Bx($Ge[13],ide,e))],s=1;else s=0;else s=0;if(!s){var D=_Ge(e,Bx($Ge[13],cde,e));l=gGe(e,gx(r[3],e)),v=[0,D]}var b=gx(p(n,i),e),m=83===GXe(e)?b:SGe(e,b),d=gx(r[12],e),E=d[2],k=d[1];if(E)var h=k,y=xGe(e,E);else h=BGe(e,k),y=E;return[0,i,l,v,m,h,y,c]}),e),i=a[2],c=i[4],f=i[3],o=i[1],s=b(e,n,o,0),v=d(c);l(e,s[2],v,f,c);var D=a[1],E=mMe([0,i[7]],0);return[23,[0,f,c,s[1],n,o,i[6],i[5],i[2],E,D]]}XB(v,(function(r,e){var t=GXe(r);if(\"number\"==typeof t){var n=t-5|0;if(7>>0?tg===n?1:0:5<(n-1|0)>>>0?1:0){var u=12===t?1:0;if(u)var a=WXe(r),i=XGe(0,(function(r){return pGe(r,12),Bx($Ge[18],r,40)}),r),c=mMe([0,a],0),f=[0,[0,i[1],[0,i[2],c]]];else f=u;return 5!==GXe(r)&&tGe(r,61),[0,wye(e),f]}}var o=XGe(0,D,r);return 5!==GXe(r)&&pGe(r,9),Bx(v,r,[0,o,e])}));function k(r,e){var t=WXe(e);pGe(e,r);for(var n=0,u=0;;){var a=XGe(0,(function(r){var e=Bx($Ge[18],r,39);if(FGe(r,79))var t=[0,gx($Ge[10],r)],n=0;else if(2===e[2][0])t=Yx[1],n=Yx[2];else t=0,n=[0,[0,e[1],56]];return[0,[0,e,t],n]}),e),i=a[2],c=i[2],f=[0,[0,a[1],i[1]],n],o=c?[0,c[1],u]:u;if(!FGe(e,9)){var s=wye(o);return[0,wye(f),t,s]}n=f,u=o}}return[0,m,F,function(r,e,t){var n=JXe(r),u=GXe(r);if(\"number\"==typeof u)if(Fu===u){var a=WXe(r);fGe(r);var i=[0,[0,n,[0,0,mMe([0,a],0)]]],c=1}else if(CE===u){var f=WXe(r);fGe(r);i=[0,[0,n,[0,1,mMe([0,f],0)]]],c=1}else c=0;else c=0;if(!c)i=0;return i&&!(e||t?0:1)?(sXe(r,[0,i[1][1],7]),0):i},p,b,d,l,function(r){return k(28,EXe(1,r))},function(r){var e=k(27,EXe(1,r)),t=e[1],n=wye(Sye((function(r,e){return e[2][2]?r:[0,[0,e[1],55],r]}),e[3],t));return[0,t,e[2],n]},function(r){return k(24,r)},function(r){return XGe(0,E,r)},function(r){return XGe(0,i,r)}]}(YGe),KGe=function(r){return[0,function(r,e){return 0===e[0]||Bye((function(e){return sXe(r,e)}),e[2][1]),e[1]},function(e,t,n){var u=e?e[1]:26;if(0===n[0])var a=n[1];else{Bye((function(r){return sXe(t,r)}),n[2][2]);a=n[1]}1-gx(r[23],a)&&sXe(t,[0,a[1],u]);var i=a[2];return 10===i[0]&&PXe(i[1][2][1])&&iGe(t,[0,a[1],49]),Bx(r[19],t,a)},sde,function(r,e){var t=Cye(r[2],e[2]);return[0,Cye(r[1],e[1]),t]},function(r){var e=wye(r[2]);return[0,wye(r[1]),e]}]}($Ge),QGe=function(r){var e=r[1],t=function r(e){return r.fun(e)},n=function r(e){return r.fun(e)},u=function r(e){return r.fun(e)},a=function r(e){return r.fun(e)},i=function r(e){return r.fun(e)},c=function r(e){return r.fun(e)},f=function r(e){return r.fun(e)},o=function r(e){return r.fun(e)},s=function r(e){return r.fun(e)},l=function r(e){return r.fun(e)},v=function r(e){return r.fun(e)},D=function r(e){return r.fun(e)},p=function r(e){return r.fun(e)},b=function r(e){return r.fun(e)},F=function r(e){return r.fun(e)},m=function r(e){return r.fun(e)},d=function r(e){return r.fun(e)},E=function r(e,t,n,u,a){return r.fun(e,t,n,u,a)},k=function r(e,t,n,u){return r.fun(e,t,n,u)},h=function r(e){return r.fun(e)},y=function r(e){return r.fun(e)},C=function r(e){return r.fun(e)},w=function r(e,t,n,u,a){return r.fun(e,t,n,u,a)},A=function r(e,t,n,u){return r.fun(e,t,n,u)},_=function r(e){return r.fun(e)},g=function r(e,t,n){return r.fun(e,t,n)},B=function r(e){return r.fun(e)},S=function r(e,t,n){return r.fun(e,t,n)},x=function r(e){return r.fun(e)},T=function r(e){return r.fun(e)},I=function r(e,t){return r.fun(e,t)},N=function r(e,t,n,u){return r.fun(e,t,n,u)},O=function r(e){return r.fun(e)},L=function r(e,t,n){return r.fun(e,t,n)},P=function r(e){return r.fun(e)},R=function r(e){return r.fun(e)},M=function r(e){return r.fun(e)},j=function r(e,t,n){return r.fun(e,t,n)},U=function r(e){return r.fun(e)},X=r[2];function G(r){var e=JXe(r),t=gx(c,r),u=gx(i,r);if(u){var a=u[1];return[0,XGe([0,e],(function(r){var e=Sx(X,0,r,t);return[2,[0,a,e,gx(n,r),0]]}),r)]}return t}function J(r,e){if(\"number\"==typeof e){var t=52!==e?1:0;if(!t)return t}throw mGe}function q(r){var e=AXe(J,r),t=G(e),n=GXe(e);if(\"number\"==typeof n){if(11===n)throw mGe;if(83===n&&DS(BXe(e),WEe))throw mGe}if(ZXe(e)){if(0===t[0]){var u=t[1][2];if(10===u[0]&&!hx(u[1][2][1],VEe)&&!YXe(e))throw mGe}return t}return t}function z(r,t,n,u,a){return[0,[0,a,[15,[0,u,Bx(e,r,t),Bx(e,r,n),0]]]]}function W(r,e,t){for(var n=e,u=t;;){var a=GXe(r);if(\"number\"!=typeof a||85!==a)return[0,u,n];fGe(r);var i=XGe(0,s,r),c=lMe(u,i[1]),f=$(0,r,z(r,n,i[2],1,c),c);n=f[2],u=f[1]}}function V(r,e,t){for(var n=e,u=t;;){var a=GXe(r);if(\"number\"!=typeof a||84!==a)return[0,u,n];fGe(r);var i=XGe(0,s,r),c=W(r,i[2],i[1]),f=lMe(u,c[1]),o=$(0,r,z(r,n,c[2],0,f),f);n=o[2],u=o[1]}}function $(r,e,t,n){for(var u=r,a=t,i=n;;){var c=GXe(e);if(\"number\"!=typeof c||81!==c)return[0,i,a];1-e[26][7]&&tGe(e,CE),1-u&&tGe(e,xEe),pGe(e,81);var f=XGe(0,s,e),o=f[2],l=f[1],v=GXe(e);if(\"number\"==typeof v)if(1<(v-84|0)>>>0)var D=0;else{tGe(e,[23,gMe(v)]);var p=W(e,o,l),b=V(e,p[2],p[1]),F=b[1],m=b[2];D=1}else D=0;if(!D)F=l,m=o;var d=lMe(i,F);u=1,a=z(e,a,m,2,d),i=d}}function Y(r,e,t,n){return[0,n,[3,[0,t,r,e,0]]]}function H(r){var e=WXe(r);pGe(r,95);for(var t=0;;){var n=GXe(r);if(\"number\"==typeof n)if(96===n||Ve===n?1:0){var u=wye(t),a=WXe(r);pGe(r,96);var i=4===GXe(r)?AGe(r)[1]:lGe(r);return[0,u,dMe([0,e],[0,i],a)]}var c=GXe(r);if(\"number\"==typeof c)var f=0;else if(4===c[0])if(hx(c[2],Lde))f=0;else{var o=JXe(r),s=WXe(r);bGe(r,Pde);var l=[1,[0,o,[0,mMe([0,s],[0,lGe(r)])]]];f=1}else f=0;if(!f)l=[0,gx(YGe[1],r)];var v=[0,l,t];96!==GXe(r)&&pGe(r,9);t=v}}function K(r){var e=WXe(r);return pGe(r,12),[0,gx(n,r),mMe([0,e],0)]}function Q(r,t,n,u,a,i){var c=r?r[1]:1,f=t?t[1]:t,o=n?n[1]:n,s=wXe(0,u),l=gx($Ge[7],s),v=JXe(u);pGe(u,7);var D=lGe(u),p=lMe(a,v),b=mMe(0,[0,D]),F=[0,Bx(e,u,i),[2,l],b];return Tx(E,[0,c],[0,f],u,a,[0,[0,p,f?[21,[0,F,o]]:[16,F]]])}function Z(r,t,n,u,a,i){var c=r?r[1]:1,f=t?t[1]:t,o=n?n[1]:n,s=gx(U,u),l=s[3],v=s[2],D=s[1];if(l){var p=pMe(v),b=u[28][1];if(b){var F=b[1];u[28][1]=[0,[0,F[1],[0,[0,p,D],F[2]]],b[2]]}else sXe(u,[0,D,88])}var m=lMe(a,D),d=l?[1,[0,D,[0,v,mMe([0,s[4]],0)]]]:[0,v],k=(0===i[0]&&23===i[1][2][0]&&l&&sXe(u,[0,m,89]),[0,Bx(e,u,i),d,0]);return Tx(E,[0,c],[0,f],u,a,[0,[0,m,f?[21,[0,k,o]]:[16,k]]])}function rr(r,e){if(\"number\"==typeof e){if(58<=e)var t=e+nb|0,n=29>>0?47===t?1:0:27<(t-1|0)>>>0?1:0;else{var u=e-41|0;n=15>>0?-1<=u?1:0:11===u?1:0}if(n)return 0}throw mGe}return XB(t,(function(r){var e=GXe(r),t=ZXe(r);if(\"number\"==typeof e){if(22<=e)if(58===e){if(r[17])return[0,gx(u,r)];var n=0,a=0}else if(95===e)a=1;else n=0,a=0;else if(4===e)a=1;else if(21<=e)a=1;else n=0,a=0;if(a)n=1}else n=0;if(!n&&0===t)return G(r);if(64===e)if(oXe(r))if(95===UXe(1,r))var i=M,c=q,f=1;else f=0;else f=0;else f=0;if(!f)i=q,c=M;var o=EGe(r,i);if(o)return o[1];var s=EGe(r,c);return s?s[1]:G(r)})),XB(n,(function(r){return Bx(e,r,gx(t,r))})),XB(u,(function(r){return XGe(0,(function(r){r[10]&&tGe(r,90);var e=WXe(r);if(pGe(r,58),KXe(r))var t=0,u=0;else{var a=FGe(r,$l),i=GXe(r);if(\"number\"==typeof i){if(83===i)var c=1;else if(10<=i){var f=0;c=0}else switch(i){case 0:case 2:case 3:case 4:case 6:f=0,c=0;break;default:c=1}if(c){var o=0;f=1}}else f=0;if(!f)o=1;var s=a||o;t=s?[0,gx(n,r)]:s,u=a}var l=t?0:lGe(r);return[30,[0,t,mMe([0,e],[0,l]),u]]}),r)})),XB(a,(function(r){var e=r[2];switch(e[0]){case 17:var t=e[1];if(!hx(t[1][2][1],qEe)){var n=hx(t[2][2][1],zEe);if(!n)return n}break;case 10:case 16:break;default:return 0}return 1})),XB(i,(function(r){var e=GXe(r);if(\"number\"==typeof e){var t=e-67|0;if(12>>0)var n=0;else{switch(t){case 0:var u=TEe;break;case 1:u=IEe;break;case 2:u=NEe;break;case 3:u=OEe;break;case 4:u=LEe;break;case 5:u=PEe;break;case 6:u=REe;break;case 7:u=MEe;break;case 8:u=jEe;break;case 9:u=UEe;break;case 10:u=XEe;break;case 11:u=GEe;break;default:u=JEe}var a=u;n=1}}else n=0;if(!n)a=0;return 0!==a&&fGe(r),a})),XB(c,(function(r){var t=JXe(r),u=gx(o,r);if(82===GXe(r)){fGe(r);var a=gx(n,hXe(0,r));pGe(r,83);var i=XGe(0,n,r),c=lMe(t,i[1]),f=i[2];return[0,[0,c,[7,[0,Bx(e,r,u),a,f,0]]]]}return u})),XB(f,(function(r){return Bx(e,r,gx(c,r))})),XB(o,(function(r){var e=XGe(0,s,r),t=e[2],n=e[1],u=GXe(r);if(\"number\"==typeof u)if(81===u)var a=$(1,r,t,n),i=1;else i=0;else i=0;if(!i){var c=W(r,t,n);a=V(r,c[2],c[1])}return a[2]})),XB(s,(function(r){var t=0;r:for(;;){var n=XGe(0,(function(r){return[0,0!==gx(l,r)?1:0,gx(v,hXe(0,r))]}),r),u=n[2],a=u[2],i=n[1];if(95===GXe(r))0===a[0]&&12===a[1][2][0]&&tGe(r,60);var c=GXe(r);if(\"number\"==typeof c){var f=c+-17|0;if(1>>0)if(69<=f)switch(f-69|0){case 0:var o=fEe,s=1;break;case 1:o=oEe,s=1;break;case 2:o=sEe,s=1;break;case 3:o=lEe,s=1;break;case 4:o=vEe,s=1;break;case 5:o=DEe,s=1;break;case 6:o=pEe,s=1;break;case 7:o=bEe,s=1;break;case 8:o=FEe,s=1;break;case 9:o=mEe,s=1;break;case 10:o=dEe,s=1;break;case 11:o=EEe,s=1;break;case 12:o=kEe,s=1;break;case 13:o=hEe,s=1;break;case 14:o=yEe,s=1;break;case 15:o=CEe,s=1;break;case 16:o=wEe,s=1;break;case 17:o=AEe,s=1;break;case 18:o=_Ee,s=1;break;case 19:o=gEe,s=1;break;default:var D=0;s=0}else D=0,s=0;else if(0===f)if(r[12])o=0,s=1;else o=SEe,s=1;else o=BEe,s=1;if(s){var p=o;D=1}}else D=0;if(!D)p=0;if(0!==p&&fGe(r),!t&&!p)return a;if(p){var b=p[1],F=b[1],m=u[1];(m?14===F?1:0:m)&&sXe(r,[0,i,27]);for(var d=Bx(e,r,a),E=[0,F,b[2]],k=i,h=t;;){var y=E[2],C=E[1];if(h){var w=h[1],A=w[2],_=A[2],g=0===_[0]?_[1]:_[1]-1|0;if(y[1]<=g){var B=lMe(w[3],k);d=Y(w[1],d,A[1],B),E=[0,C,y],k=B,h=h[2];continue}}t=[0,[0,d,[0,C,y],k],h];continue r}}for(var S=Bx(e,r,a),x=i,T=t;;){if(!T)return[0,S];var I=T[1],N=lMe(I[3],x),O=T[2];S=Y(I[1],S,I[2][1],N),x=N,T=O}}})),XB(l,(function(r){var e=GXe(r);if(\"number\"==typeof e)if(48<=e){if(Fu<=e){if(!(Bb<=e))switch(e-100|0){case 0:return rEe;case 1:return eEe;case 6:return tEe;case 7:return nEe}}else if(65===e&&r[18])return uEe}else if(45<=e)switch(e+Vi|0){case 0:return aEe;case 1:return iEe;default:return cEe}return 0})),XB(v,(function(r){var e=JXe(r),t=WXe(r),n=gx(l,r);if(n){var u=n[1];fGe(r);var i=XGe(0,D,r),c=i[2],f=lMe(e,i[1]);if(6===u){var o=c[2];switch(o[0]){case 10:iGe(r,[0,f,45]);break;case 16:1===o[1][2][0]&&sXe(r,[0,f,87])}}return[0,[0,f,[28,[0,u,c,mMe([0,t],0)]]]]}var s=GXe(r);if(\"number\"==typeof s)if(Bb===s)var v=Zde,b=1;else if(ak===s)v=Qde,b=1;else b=0;else b=0;if(!b)v=0;if(v){fGe(r);var F=XGe(0,D,r),m=F[2];1-gx(a,m)&&sXe(r,[0,m[1],26]);var d=m[2],E=(10===d[0]&&PXe(d[1][2][1])&&aGe(r,51),lMe(e,F[1])),k=mMe([0,t],0);return[0,[0,E,[29,[0,v[1],m,1,k]]]]}return gx(p,r)})),XB(D,(function(r){return Bx(e,r,gx(v,r))})),XB(p,(function(r){var t=gx(b,r);if(YXe(r))return t;var n=GXe(r);if(\"number\"==typeof n)if(Bb===n)var u=Kde,i=1;else if(ak===n)u=Hde,i=1;else i=0;else i=0;if(!i)u=0;if(u){var c=Bx(e,r,t);1-gx(a,c)&&sXe(r,[0,c[1],26]);var f=c[2],o=(10===f[0]&&PXe(f[1][2][1])&&aGe(r,50),JXe(r));fGe(r);var s=lGe(r),l=lMe(c[1],o),v=mMe(0,[0,s]);return[0,[0,l,[29,[0,u[1],c,0,v]]]]}return t})),XB(b,(function(r){var e=JXe(r),t=[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],0,r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]],n=1-r[16],u=GXe(t);if(\"number\"==typeof u){var a=u-44|0;if(7>>0)var i=0;else{switch(a){case 0:if(n)var c=[0,gx(h,t)],f=1;else i=0,f=0;break;case 6:c=[0,gx(d,t)],f=1;break;case 7:c=[0,gx(m,t)],f=1;break;default:i=0,f=0}if(f){var o=c;i=1}}}else i=0;if(!i)o=rGe(t)?[0,gx(_,t)]:gx(x,t);return Tx(E,0,0,t,e,o)})),XB(F,(function(r){return Bx(e,r,gx(b,r))})),XB(m,(function(r){switch(r[20]){case 0:var e=Gde;break;case 1:e=Jde;break;default:e=qde}var t=e[1],n=JXe(r),u=WXe(r);pGe(r,51);var a=[0,n,[23,[0,mMe([0,u],[0,lGe(r)])]]],i=GXe(r);if(\"number\"==typeof i&&!(11<=i))switch(i){case 4:var c=e[2]?a:(sXe(r,[0,n,5]),[0,n,[10,bMe(0,[0,n,zde])]]);return xx(k,Wde,r,n,c);case 6:case 10:var f=t?a:(sXe(r,[0,n,4]),[0,n,[10,bMe(0,[0,n,$de])]]);return xx(k,Yde,r,n,f)}return t?nGe(Vde,r):sXe(r,[0,n,4]),a})),XB(d,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,50);var t=WXe(r);pGe(r,4);var u=Sx(L,[0,t],0,gx(n,hXe(0,r)));return pGe(r,5),[11,[0,u,mMe([0,e],[0,lGe(r)])]]}),r)})),XB(E,(function(r,t,n,u,a){var i=r?r[1]:1,c=t?t[1]:t,f=Tx(w,[0,i],[0,c],n,u,a),o=DS(BXe(n),Xde);function s(r){var t=AGe(r);var n=Bx(e,r,f);return Bx(t[2],n,(function(r,e){return Bx(wS(r,LD,76),r,e)}))}function l(r,e,t){var n=gx(C,e),a=n[1],f=lMe(u,a),s=[0,t,r,[0,a,n[2]],0];if(o)var l=0;else if(c)l=0;else{var v=[4,s];l=1}if(!l)v=[20,[0,s,o]];return Tx(E,[0,i],[0,c||o],e,u,[0,[0,f,v]])}if(n[13])return f;var v=GXe(n);if(\"number\"==typeof v){if(4===v)return l(0,n,s(n));if(95===v&&oXe(n)){var D=AXe((function(r,e){throw mGe}),n);return kGe(D,f,(function(r){var e=s(r);return l(gx(y,r),r,e)}))}}return f})),XB(k,(function(r,t,n,u){var a=r?r[1]:1;return Bx(e,t,Tx(E,[0,a],0,t,n,[0,u]))})),XB(h,(function(r){return XGe(0,(function(r){var e=JXe(r),t=WXe(r);if(pGe(r,44),r[11]&&10===GXe(r)){var n=lGe(r);fGe(r);var u=bMe(mMe([0,t],[0,n]),[0,e,Rde]),a=GXe(r);return\"number\"==typeof a||4!==a[0]||hx(a[3],Mde)?(nGe(jde,r),fGe(r),[10,u]):[17,[0,u,Bx($Ge[13],0,r),0]]}var i=JXe(r),c=GXe(r);if(\"number\"==typeof c)if(44===c)var f=gx(h,r),o=1;else if(51===c)f=gx(m,wXe(1,r)),o=1;else o=0;else o=0;if(!o)f=rGe(r)?gx(_,r):gx(T,r);var s=xx(A,Ude,wXe(1,r),i,f),l=GXe(r);if(\"number\"==typeof l)var v=0;else if(3===l[0]){var D=xx(N,r,i,s,l[1]);v=1}else v=0;if(!v)D=s;if(4===GXe(r))var p=0;else{if(oXe(r))if(95===GXe(r)){p=0;var b=0}else b=1;else b=1;if(b){var F=D;p=1}}if(!p)F=Bx(AGe(r)[2],D,(function(r,e){return Bx(wS(r,LD,77),r,e)}));var d=oXe(r),E=d?kGe(AXe((function(r,e){throw mGe}),r),0,y):d,k=GXe(r);if(\"number\"==typeof k)if(4===k)var w=[0,gx(C,r)],g=1;else g=0;else g=0;if(!g)w=0;return[18,[0,F,E,w,mMe([0,t],0)]]}),r)})),XB(y,(function(r){var e=95===GXe(r)?1:0;return e?[0,XGe(0,H,r)]:e})),XB(C,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,4);for(var t=0;;){var u=GXe(r);if(\"number\"==typeof u)if(5===u||Ve===u?1:0){var a=wye(t),i=WXe(r);return pGe(r,5),[0,a,dMe([0,e],[0,lGe(r)],i)]}var c=GXe(r);if(\"number\"==typeof c)if(12===c)var f=[1,XGe(0,K,r)],o=1;else o=0;else o=0;if(!o)f=[0,gx(n,r)];var s=[0,f,t];5!==GXe(r)&&pGe(r,9);t=s}}),r)})),XB(w,(function(r,t,n,u,a){var i=r?r[1]:1,c=t?t[1]:t,f=n[26],o=GXe(n);if(\"number\"==typeof o)switch(o){case 6:return fGe(n),Q([0,i],[0,c],0,n,u,a);case 10:return fGe(n),Z([0,i],[0,c],0,n,u,a);case 80:1-f[6]&&tGe(n,98),1-i&&tGe(n,99),pGe(n,80);var s=GXe(n);if(\"number\"==typeof s)switch(s){case 4:return a;case 6:return fGe(n),Q([0,i],Tde,xde,n,u,a);case 95:if(oXe(n))return a}else if(3===s[0])return tGe(n,Fu),a;return Z([0,i],Nde,Ide,n,u,a)}else if(3===o[0]){c&&tGe(n,Fu);var l=o[1];return Tx(E,Ode,0,n,u,[0,xx(N,n,u,Bx(e,n,a),l)])}return a})),XB(A,(function(r,t,n,u){var a=r?r[1]:1;return Bx(e,t,Tx(w,[0,a],0,t,n,[0,u]))})),XB(_,(function(r){return XGe(0,(function(r){var e=gx(HGe[1],r),t=e[1],n=e[2],u=XGe(0,(function(r){var e=WXe(r);pGe(r,15);var u=gx(HGe[2],r),a=u[1],i=Aye([0,n,[0,e,[0,u[2],0]]]);if(4===GXe(r))var c=0,f=0;else{var o=GXe(r);if(\"number\"==typeof o){var s=95!==o?1:0;if(s)var l=0;else{var v=s;l=1}}else l=0;if(!l){var D=bXe(a,FXe(t,r));v=[0,_Ge(D,Bx($Ge[13],Sde,D))]}c=v,f=gGe(r,gx(YGe[3],r))}var p=dXe(0,r),b=Sx(HGe[4],t,a,p),F=83===GXe(p)?b:SGe(p,b),m=gx(YGe[12],p),d=m[2],E=m[1];if(d)var k=E,h=xGe(p,d);else k=BGe(p,E),h=d;return[0,c,F,a,h,k,f,i]}),r),a=u[2],i=a[3],c=a[2],f=a[1],o=xx(HGe[5],r,t,i,1),s=gx(HGe[6],c);Tx(HGe[7],r,o[2],s,f,c);var l=u[1],v=mMe([0,a[7]],0);return[8,[0,f,c,o[1],t,i,a[4],a[5],a[6],v,l]]}),r)})),XB(g,(function(r,e,t){switch(e){case 1:aGe(r,43);try{var n=WS(zS(iye(wde,t)))}catch(r){if((r=_x(r))[1]!==Ox)throw r;n=nye(iye(Ade,t))}break;case 2:aGe(r,44);try{n=FS(t)}catch(r){if((r=_x(r))[1]!==Ox)throw r;n=nye(iye(_de,t))}break;case 4:try{n=FS(t)}catch(r){if((r=_x(r))[1]!==Ox)throw r;n=nye(iye(gde,t))}break;default:try{n=WS(zS(t))}catch(r){if((r=_x(r))[1]!==Ox)throw r;n=nye(iye(Bde,t))}}return pGe(r,[0,e,t]),n})),XB(B,(function(r){var e=RS(r);return 0!==e&&Ve===kx(r,e-1|0)?Gye(r,0,e-1|0):r})),XB(S,(function(r,e,t){if(2<=e){var n=gx(B,t);try{var u=FS(n)}catch(t){if((t=_x(t))[1]!==Ox)throw t;u=nye(iye(yde,n))}var a=u}else{var i=gx(B,t);try{var c=WS(zS(i))}catch(t){if((t=_x(t))[1]!==Ox)throw t;c=nye(iye(Cde,i))}a=c}return pGe(r,[1,e,t]),a})),XB(x,(function(r){var e=JXe(r),t=WXe(r),n=GXe(r);if(\"number\"==typeof n)switch(n){case 0:var u=gx($Ge[12],r);return[1,[0,u[1],[19,u[2]]],u[3]];case 4:return[0,gx(O,r)];case 6:var a=XGe(0,P,r),i=a[2];return[1,[0,a[1],[0,i[1]]],i[2]];case 21:return fGe(r),[0,[0,e,[26,[0,mMe([0,t],[0,lGe(r)])]]]];case 29:return fGe(r),[0,[0,e,[14,[0,0,dde,mMe([0,t],[0,lGe(r)])]]]];case 40:return[0,gx($Ge[22],r)];case 95:var c=gx($Ge[17],r),f=c[2];return[0,[0,c[1],on<=f[1]?[13,f[2]]:[12,f[2]]]];case 30:case 31:fGe(r);var o=31===n?1:0;return[0,[0,e,[14,[0,[1,o],o?kde:hde,mMe([0,t],[0,lGe(r)])]]]];case 74:case 102:return[0,gx(R,r)]}else switch(n[0]){case 0:var s=n[2];return[0,[0,e,[14,[0,[2,Sx(g,r,n[1],s)],s,mMe([0,t],[0,lGe(r)])]]]];case 1:var l=n[2];return[0,[0,e,[14,[0,[3,Sx(S,r,n[1],l)],l,mMe([0,t],[0,lGe(r)])]]]];case 2:var v=n[1];v[4]&&aGe(r,43),fGe(r);var D=[0,v[2]],p=mMe([0,t],[0,lGe(r)]);return[0,[0,v[1],[14,[0,D,v[3],p]]]];case 3:var b=Bx(I,r,n[1]);return[0,[0,b[1],[25,b[2]]]]}if(ZXe(r)){var F=Bx($Ge[13],0,r);return[0,[0,F[1],[10,F]]]}nGe(0,r);\"number\"==typeof n||6===n[0]&&fGe(r);return[0,[0,e,[14,[0,0,Ede,mMe([0,t],[0,0])]]]]})),XB(T,(function(r){return Bx(e,r,gx(x,r))})),XB(I,(function(r,e){var t=e[3],n=e[2],u=e[1],a=WXe(r);pGe(r,[3,e]);var i=[0,u,[0,[0,n[2],n[1]],t]];if(t)var c=u,f=[0,i,0],o=0;else for(var s=[0,i,0],l=0;;){var v=gx($Ge[7],r),D=[0,v,l],p=GXe(r);if(\"number\"==typeof p)if(1===p){oGe(r,4);var b=GXe(r);if(\"number\"==typeof b)var F=1;else if(3===b[0]){var m=b[1],d=m[3],E=m[2];fGe(r);var k=m[1],h=[0,[0,E[2],E[1]],d];sGe(r);var y=[0,[0,k,h],s];if(!d){s=y,l=D;continue}var C=wye(D),w=[0,k,wye(y),C],A=1;F=0}else F=1;if(F)throw[0,jx,bde]}else A=0;else A=0;if(!A){nGe(Fde,r);var _=[0,v[1],mde],g=wye(D),B=wye([0,_,s]);w=[0,v[1],B,g]}c=w[1],f=w[2],o=w[3];break}var S=lGe(r);return[0,lMe(u,c),[0,f,o,mMe([0,a],[0,S])]]})),XB(N,(function(r,e,t,n){var u=Bx(AGe(r)[2],t,(function(r,e){return Bx(wS(r,LD,26),r,e)})),a=Bx(I,r,n);return[0,lMe(e,a[1]),[24,[0,u,a,0]]]})),XB(O,(function(r){var e=WXe(r),t=XGe(0,(function(r){pGe(r,4);var e=JXe(r),t=gx(n,r),u=GXe(r);if(\"number\"==typeof u)if(9===u)var a=[0,Sx(j,r,e,[0,t,0])],i=1;else if(83===u)a=[1,[0,t,gx(YGe[9],r),0]],i=1;else i=0;else i=0;if(!i)a=[0,t];return pGe(r,5),a}),r),u=t[2],a=lGe(r),i=0===u[0]?u[1]:[0,t[1],[27,u[1]]];return Sx(L,[0,e],[0,a],i)})),XB(L,(function(r,e,t){var n=t[2],u=r?r[1]:r,a=e?e[1]:e;function i(r){return EMe(r,mMe([0,u],[0,a]))}function c(r){return kMe(r,mMe([0,u],[0,a]))}switch(n[0]){case 0:var f=n[1],o=c(f[2]),s=[0,[0,f[1],o]];break;case 1:var l=n[1],v=l[10],D=i(l[9]);s=[1,[0,l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],D,v]];break;case 2:var p=n[1],b=i(p[4]);s=[2,[0,p[1],p[2],p[3],b]];break;case 3:var F=n[1],m=i(F[4]);s=[3,[0,F[1],F[2],F[3],m]];break;case 4:var d=n[1],E=i(d[4]);s=[4,[0,d[1],d[2],d[3],E]];break;case 5:var k=n[1],h=i(k[7]);s=[5,[0,k[1],k[2],k[3],k[4],k[5],k[6],h]];break;case 7:var y=n[1],C=i(y[4]);s=[7,[0,y[1],y[2],y[3],C]];break;case 8:var w=n[1],A=w[10],_=i(w[9]);s=[8,[0,w[1],w[2],w[3],w[4],w[5],w[6],w[7],w[8],_,A]];break;case 10:var g=n[1],B=g[2],S=i(B[2]);s=[10,[0,g[1],[0,B[1],S]]];break;case 11:var x=n[1],T=i(x[2]);s=[11,[0,x[1],T]];break;case 12:var I=n[1],N=i(I[4]);s=[12,[0,I[1],I[2],I[3],N]];break;case 13:var O=n[1],L=i(O[4]);s=[13,[0,O[1],O[2],O[3],L]];break;case 14:var P=n[1],R=i(P[3]);s=[14,[0,P[1],P[2],R]];break;case 15:var M=n[1],j=i(M[4]);s=[15,[0,M[1],M[2],M[3],j]];break;case 16:var U=n[1],X=i(U[3]);s=[16,[0,U[1],U[2],X]];break;case 17:var G=n[1],J=i(G[3]);s=[17,[0,G[1],G[2],J]];break;case 18:var q=n[1],z=i(q[4]);s=[18,[0,q[1],q[2],q[3],z]];break;case 19:var W=n[1],V=c(W[2]);s=[19,[0,W[1],V]];break;case 20:var $=n[1],Y=$[1],H=$[2],K=i(Y[4]);s=[20,[0,[0,Y[1],Y[2],Y[3],K],H]];break;case 21:var Q=n[1],Z=Q[1],rr=Q[2],er=i(Z[3]);s=[21,[0,[0,Z[1],Z[2],er],rr]];break;case 22:var tr=n[1],nr=i(tr[2]);s=[22,[0,tr[1],nr]];break;case 23:s=[23,[0,i(n[1][1])]];break;case 24:var ur=n[1],ar=i(ur[3]);s=[24,[0,ur[1],ur[2],ar]];break;case 25:var ir=n[1],cr=i(ir[3]);s=[25,[0,ir[1],ir[2],cr]];break;case 26:s=[26,[0,i(n[1][1])]];break;case 27:var fr=n[1],or=i(fr[3]);s=[27,[0,fr[1],fr[2],or]];break;case 28:var sr=n[1],lr=i(sr[3]);s=[28,[0,sr[1],sr[2],lr]];break;case 29:var vr=n[1],Dr=i(vr[4]);s=[29,[0,vr[1],vr[2],vr[3],Dr]];break;case 30:var pr=n[1],br=pr[3],Fr=i(pr[2]);s=[30,[0,pr[1],Fr,br]];break;default:s=n}return[0,t[1],s]})),XB(P,(function(e){var n=WXe(e);pGe(e,6);for(var u=[0,0,r[3]];;){var a=u[2],i=u[1],c=GXe(e);if(\"number\"==typeof c){if(13<=c)var f=Ve===c?1:0;else if(7<=c)switch(c-7|0){case 2:var o=JXe(e);fGe(e);u=[0,[0,[2,o],i],a];continue;case 5:var s=WXe(e),l=XGe(0,(function(e){fGe(e);var n=gx(t,e);return 0===n[0]?[0,n[1],r[3]]:[0,n[1],n[2]]}),e),v=l[2],D=v[2],p=l[1],b=mMe([0,s],0),F=[1,[0,p,[0,v[1],b]]],m=7===GXe(e)?1:0;if(m)var d=0;else if(7===UXe(1,e)){var E=[0,D[1],[0,[0,p,62],D[2]]];d=1}else d=0;if(!d)E=D;1-m&&pGe(e,9);u=[0,[0,F,i],Bx(r[4],E,a)];continue;case 0:f=1;break;default:f=0}else f=0;if(f){var k=gx(r[5],a),h=wye(i),y=WXe(e);return pGe(e,7),[0,[0,h,dMe([0,n],[0,lGe(e)],y)],k]}}var C=gx(t,e),w=0===C[0]?[0,C[1],r[3]]:[0,C[1],C[2]];7!==GXe(e)&&pGe(e,9);u=[0,[0,[0,w[1]],i],Bx(r[4],w[2],a)]}})),XB(R,(function(r){oGe(r,5);var e=JXe(r),t=WXe(r),n=GXe(r);if(\"number\"!=typeof n&&5===n[0]){var u=n[1],a=u[3],i=u[2];fGe(r);var c=lGe(r),f=iye(Dde,iye(i,iye(vde,a)));sGe(r);var o=Kye(RS(a)),s=RS(a)-1|0;if(!(s<0))for(var l=0;;){var v=MS(a,l),D=v-103|0;if(18>>0);else switch(D){case 0:case 2:case 6:case 12:case 14:case 18:rCe(o,v)}var p=l+1|0;if(s===l)break;l=p}var b=Qye(o);return hx(b,a)&&tGe(r,[14,a]),[0,e,[14,[0,[4,[0,i,b]],f,mMe([0,t],[0,c])]]]}throw[0,jx,pde]})),XB(M,(function(r){var e=AXe(rr,r),t=JXe(e);if(11===UXe(1,e))var n=0,u=0;else{var a=gx(HGe[1],e);n=a[1],u=a[2]}var i=XGe(0,(function(r){var e=gGe(r,gx(YGe[3],r));if(ZXe(r)&&0===e){var t=Bx($Ge[13],lde,r),n=t[1];return[0,e,[0,n,[0,0,[0,[0,n,[0,[0,n,[2,[0,t,[0,qXe(r)],0]]],0]],0],0,0]],[0,[0,n[1],n[3],n[3]]],0]}var u=Sx(HGe[4],r[18],r[17],r),a=yXe(1,r),i=gx(YGe[12],a);return[0,e,u,i[1],i[2]]}),e),c=i[2],f=c[2],o=f[2];if(o[1])var s=0;else{if(o[3])var l=1;else if(o[2])s=0,l=0;else l=1;if(l){var v=SXe(e);s=1}}if(!s)v=e;var D=f[2],p=D[1],b=p?(sXe(v,[0,p[1][1],Bb]),[0,f[1],[0,0,D[2],D[3],D[4]]]):f,F=YXe(v);(F?11===GXe(v)?1:0:F)&&tGe(v,57),pGe(v,11);var m=SXe(v),d=XGe(0,(function(r){var e=xXe(r,n,0),t=GXe(e);if(\"number\"==typeof t&&0===t){var u=Bx($Ge[16],1,e);return[0,[0,[0,u[1],u[2]]],u[3]]}return[0,[1,gx($Ge[10],e)],e[6]]}),m),E=d[2],k=gx(HGe[6],b);Tx(HGe[7],m,E[2],k,0,b);var h=lMe(t,d[1]),y=i[1],C=mMe([0,u],0);return[0,[0,h,[1,[0,0,b,E[1],n,0,c[4],c[3],c[1],C,y]]]]})),XB(j,(function(r,e,t){return XGe([0,e],(function(r){for(var e=t;;){var u=GXe(r);if(\"number\"!=typeof u||9!==u)return[22,[0,wye(e),0]];fGe(r);e=[0,gx(n,r),e]}}),r)})),XB(U,(function(r){var e=JXe(r),t=XGe(0,(function(r){var e=GXe(r);if(\"number\"==typeof e)if(14===e){var t=WXe(r);fGe(r);var n=1,u=t,a=1}else a=0;else a=0;if(!a)n=0,u=0;return[0,n,jGe(r),u]}),r),n=t[2],u=n[2],a=n[1],i=t[1];return(a?px(e[3],u[1][2]):a)&&sXe(r,[0,i,EE]),[0,i,u,a,n[3]]})),[0,n,t,f,U,function(r){var e=r[2];switch(e[0]){case 17:var t=e[1];if(!hx(t[1][2][1],$Ee)){var n=hx(t[2][2][1],YEe);if(!n)return n}break;case 0:case 10:case 16:case 19:break;default:return 0}return 1},F,g,j]}(KGe),ZGe=function(r){function e(r){var e=WXe(r);fGe(r);var t=mMe([0,e],0),n=gx(QGe[6],r);return[0,Bx((YXe(r)?wGe(r):CGe(r))[2],n,(function(r,e){return Bx(wS(r,LD,78),r,e)})),t]}function t(r){var t=r[26][4];if(t)for(var n=0;;){var u=GXe(r);if(\"number\"!=typeof u||13!==u)return wye(n);n=[0,XGe(0,e,r),n]}return t}function n(r,e){var t=r?r[1]:r,n=WXe(e),u=GXe(e);if(\"number\"==typeof u)switch(u){case 6:var a=XGe(0,(function(r){var e=WXe(r);pGe(r,6);var t=hXe(0,r),n=gx($Ge[10],t);return pGe(r,7),[0,n,mMe([0,e],[0,lGe(r)])]}),e),i=a[1];return[0,i,[3,[0,i,a[2]]]];case 14:if(t){var c=gx(QGe[4],e),f=c[2],o=c[1],s=pMe(f),l=e[28][1];if(l){var v=l[1],D=l[2],p=v[2],b=[0,[0,Bx(uXe[4],s,v[1]),p],D];e[28][1]=b}else nye($ue);return[0,o,[2,[0,o,[0,f,mMe([0,c[4]],0)]]]]}}else switch(u[0]){case 0:var F=u[2],m=JXe(e);return[0,m,[0,[0,m,[0,[2,Sx(QGe[7],e,u[1],F)],F,mMe([0,n],[0,lGe(e)])]]]];case 2:var d=u[1],E=d[4],k=d[3],h=d[2],y=d[1];return E&&aGe(e,43),pGe(e,[2,[0,y,h,k,E]]),[0,y,[0,[0,y,[0,[0,h],k,mMe([0,n],[0,lGe(e)])]]]]}var C=gx(QGe[4],e),w=C[1];return C[3]&&sXe(e,[0,w,88]),[0,w,[1,C[2]]]}function u(r,e,t){var u=gx(HGe[2],r),a=u[1],i=u[2],c=n([0,e],r),f=c[1];return[0,TGe(r,c[2]),XGe(0,(function(r){var e=dXe(1,r),n=XGe(0,(function(r){var e=Sx(HGe[4],0,0,r),n=83===GXe(r)?e:SGe(r,e);if(0===t){var u=n[2];if(u[1])sXe(r,[0,f,Uu]);else{var a=u[2];(a?a[2]||u[3]?0:1:0)||(u[3],sXe(r,[0,f,79]))}}else{var i=n[2];if(i[1])sXe(r,[0,f,Ma]);else(i[2]||i[3]?0:1)||sXe(r,[0,f,78])}return[0,0,n,BGe(r,gx(YGe[10],r))]}),e),u=n[2],c=u[2],o=xx(HGe[5],e,0,a,0),s=gx(HGe[6],c);Tx(HGe[7],e,o[2],s,0,c);var l=n[1],v=mMe([0,i],0);return[0,0,c,o[1],0,a,0,u[3],u[1],v,l]}),r)]}function a(e){var t=gx(QGe[2],e);return 0===t[0]?[0,t[1],r[3]]:[0,t[1],t[2]]}function i(r,e,t){function n(n){var u=dXe(1,n),a=XGe(0,(function(t){var n=gGe(t,gx(YGe[3],t));if(0===r)if(0===e)var u=0,a=0;else u=1,a=0;else if(0===e)u=0,a=t[18];else u=1,a=1;var i=Sx(HGe[4],a,u,t);return[0,n,83===GXe(t)?i:SGe(t,i),BGe(t,gx(YGe[10],t))]}),u),i=a[2],c=i[2],f=xx(HGe[5],u,r,e,0),o=gx(HGe[6],c);Tx(HGe[7],u,f[2],o,0,c);var s=a[1],l=mMe([0,t],0);return[0,0,c,f[1],r,e,0,i[3],i[1],l,s]}return function(r){return XGe(0,n,r)}}function c(r){return pGe(r,83),a(r)}function f(e,t,n,u,a,f){var o=XGe([0,t],(function(e){if(!u&&!a){var t=GXe(e);if(\"number\"==typeof t){if(79===t){if(1===n[0])var o=n[1],s=JXe(e),l=[0,XGe([0,o[1]],(function(r){var e=WXe(r);pGe(r,79);var t=lGe(r);return[2,[0,0,Bx($Ge[19],r,[0,o[1],[10,o]]),gx($Ge[10],r),mMe([0,e],[0,t])]]}),e),[0,[0,[0,s,[11,BMe(mke)]],0],0]];else l=c(e);return[0,[0,n,l[1],1],l[2]]}if(95===t)var v=1;else if(10<=t)v=0;else switch(t){case 4:v=1;break;case 1:case 9:switch(n[0]){case 0:var D=n[1],p=D[1];sXe(e,[0,p,94]);var b=[0,p,[14,D[2]]];break;case 1:var F=n[1],m=F[2][1],d=F[1];(MXe(m)&&hx(m,dke)&&hx(m,Eke)?(sXe(e,[0,d,2]),1):0)||OXe(m)&&iGe(e,[0,d,52]);b=[0,d,[10,F]];break;case 2:b=nye(kke);break;default:var E=n[1][2][1];sXe(e,[0,E[1],95]);b=E}return[0,[0,n,b,1],r[3]];default:v=0}if(v)return[0,[1,TGe(e,n),gx(i(u,a,f),e)],r[3]]}var k=c(e);return[0,[0,n,k[1],0],k[2]]}return[0,[1,TGe(e,n),gx(i(u,a,f),e)],r[3]]}),e),s=o[2];return[0,[0,[0,o[1],s[1]]],s[2]]}function o(r,e,t,n){var u=t[2][1][2][1],a=t[1];if(Ex(u,vke))return sXe(r,[0,a,[21,u,0,1]]),e;var i=Bx(qGe[28],u,e);if(i){var c=i[1];return(Rv===n?Hn===c?1:0:Hn===n&&Rv===c?1:0)||sXe(r,[0,a,[20,u]]),Sx(qGe[4],u,Ed,e)}return Sx(qGe[4],u,n,e)}function s(r,e){return XGe(0,(function(r){var t=e?WXe(r):e;pGe(r,52);for(var n=0;;){var u=[0,XGe(0,(function(r){var e=gx(YGe[2],r);if(95===GXe(r))var t=Bx(AGe(r)[2],e,(function(r,e){return Bx(wS(r,sB,79),r,e)}));else t=e;return[0,t,gx(YGe[4],r)]}),r),n],a=GXe(r);if(\"number\"!=typeof a||9!==a)return[0,wye(u),mMe([0,t],0)];pGe(r,9);n=u}}),r)}function l(r,e){return e?sXe(r,[0,e[1][1],7]):e}function v(r,e){return e?sXe(r,[0,e[1],65]):e}function D(r,e,t,n,u,a,i){var c=XGe([0,e],(function(r){var e=gx(YGe[10],r),a=r[26],c=GXe(r);if(u){if(\"number\"==typeof c)if(79===c){tGe(r,66),fGe(r);var f=0,o=1}else o=0;else o=0;if(!o)f=0}else{if(\"number\"==typeof c)if(79===c){if(n&&a[3]?1:0)var s=1;else{if(n)var l=1;else if(a[2])s=1,l=0;else l=1;if(l){f=1;var v=1;s=0}}if(s){pGe(r,79);var D=dXe(1,r);f=[0,gx($Ge[7],D)],v=1}}else v=0;else v=0;if(!v)f=1}var p=GXe(r);if(\"number\"==typeof p)if(9<=p)var b=0;else switch(p){case 8:fGe(r);var F=GXe(r);if(\"number\"==typeof F){if(1===F)var m=1;else if(Ve===F)m=1;else{var d=0;m=0}if(m){var E=lGe(r);d=1}}else d=0;if(!d){var k=YXe(r);E=k?vGe(r):k}var h=[0,t,e,f,E];b=1;break;case 4:case 6:nGe(0,r);h=[0,t,e,f,0],b=1;break;default:b=0}else b=0;if(!b){var y=GXe(r);if(\"number\"==typeof y){if(1===y)var C=1;else if(Ve===y)C=1;else{var w=0;C=0}if(C){var A=[0,0,function(r,e){return r}];w=1}}else w=0;if(!w)A=YXe(r)?wGe(r):CGe(r);if(\"number\"==typeof f)if(0===e[0])var _=Bx(A[2],t,(function(r,e){return Bx(wS(r,Iw,82),r,e)})),g=e,B=f;else _=t,g=[1,Bx(A[2],e[1],(function(r,e){return Bx(wS(r,zv,83),r,e)}))],B=f;else _=t,g=e,B=[0,Bx(A[2],f[1],(function(r,e){return Bx(wS(r,LD,84),r,e)}))];h=[0,_,g,B,0]}var S=mMe([0,i],[0,h[4]]);return[0,h[1],h[2],h[3],S]}),r),f=c[2],o=f[4],s=f[3],l=f[2],v=f[1],D=c[1];return 2===v[0]?[2,[0,D,[0,v[1],s,l,n,a,o]]]:[1,[0,D,[0,v,s,l,n,a,o]]]}function p(r,e,t,n,u,a,i,c,f,o){for(;;){var s=GXe(r);if(\"number\"==typeof s){var p=s-1|0;if(7

>>0){var b=p-78|0;if(4>>0)var F=1;else switch(b){case 3:nGe(0,r),fGe(r);continue;case 0:case 4:F=0;break;default:F=1}}else F=5<(p-1|0)>>>0?0:1;if(!F&&!u&&!a)return D(r,e,n,i,c,f,o)}if(KXe(r))return D(r,e,n,i,c,f,o);if(v(r,c),l(r,f),0===i){switch(n[0]){case 0:var m=n[1][2][1];if(\"number\"==typeof m)var d=1;else if(0===m[0])if(hx(m[1],ake)){var E=0,k=0;d=0}else k=1,d=0;else d=1;if(d)E=0,k=0;break;case 1:if(hx(n[1][2][1],ike))E=0,k=0;else k=1;break;default:E=0,k=0}if(k){var h=0,y=dXe(2,r);E=1}}else E=0;if(!E)h=1,y=dXe(1,r);var C=TGe(y,n),w=XGe(0,(function(r){var e=XGe(0,(function(r){var e=gGe(r,gx(YGe[3],r));if(0===u)if(0===a)var t=0,n=0;else t=1,n=0;else if(0===a)t=0,n=r[18];else t=1,n=1;var i=Sx(HGe[4],n,t,r),c=83===GXe(r)?i:SGe(r,i),f=c[2],o=f[1];if(o)if(0===h){sXe(r,[0,o[1][1],ak]);var s=[0,c[1],[0,0,f[2],f[3],f[4]]],l=1}else l=0;else l=0;if(!l)s=c;return[0,e,s,BGe(r,gx(YGe[10],r))]}),r),t=e[2],n=t[2],i=xx(HGe[5],r,u,a,0),c=gx(HGe[6],n);return Tx(HGe[7],r,i[2],c,0,n),[0,0,n,i[1],u,a,0,t[3],t[1],0,e[1]]}),y),A=[0,h,C,w,i,t,mMe([0,o],0)];return[0,[0,lMe(e,w[1]),A]]}}function b(r,e){var t=UXe(r,e);if(\"number\"==typeof t){if(83<=t)var n=95===t?1:84<=t?0:1;else if(79===t)n=1;else if(9<=t)n=0;else switch(t){case 1:case 4:case 8:n=1;break;default:n=0}if(n)return 1}return 0}function F(r){return b(0,r)}function m(r,e,a,i){var c=r?r[1]:r,f=pXe(1,e),D=fye(c,t(f)),m=WXe(f);pGe(f,40);var d=EXe(1,f),E=GXe(d);if(0===a)var k=0;else if(\"number\"==typeof E){if(52<=E)if(95===E)var h=1;else if(53<=E)k=0,h=0;else h=1;else if(41===E)h=1;else if(0===E)h=1;else k=0,h=0;if(h){var y=0;k=1}}else k=0;if(!k){var C=Bx($Ge[13],0,d);y=[0,Bx(AGe(f)[2],C,(function(r,e){return Bx(wS(r,sB,85),r,e)}))]}var w=gx(YGe[3],f);if(w)var A=[0,Bx(AGe(f)[2],w[1],(function(r,e){return Bx(wS(r,iE,86),r,e)}))];else A=w;var _=WXe(f),g=FGe(f,41);if(g)var B=XGe(0,(function(r){var e=bXe(0,r),t=gx(QGe[6],e);if(95===GXe(r))var n=Bx(AGe(r)[2],t,(function(r,e){return Bx(wS(r,LD,80),r,e)}));else n=t;return[0,n,gx(YGe[4],r),mMe([0,_],0)]}),f),S=B[1],x=AGe(f),T=[0,[0,S,Bx(x[2],B[2],(function(r,e){return Sx(wS(r,-663447790,81),r,S,e)}))]];else T=g;var I=52===GXe(f)?1:0;if(I){1-oXe(f)&&tGe(f,16);var N=[0,NGe(f,s(f,1))]}else N=I;return[0,y,XGe(0,(function(r){var e=WXe(r);if(FGe(r,0)){r[28][1]=[0,[0,uXe[1],0],r[28][1]];for(var a=0,c=qGe[1],f=0;;){var s=GXe(r);if(\"number\"==typeof s){var D=s-2|0;if(Uu>>0){if(!(ak<(D+1|0)>>>0)){var m=wye(f),d=function(r,e){return gx(Nye((function(e){return 1-Bx(uXe[3],e[1],r)})),e)},E=r[28][1];if(E){var k=E[2],h=E[1],y=h[2],C=h[1];if(k){var w=d(C,y),A=hye(k),_=yye(k),g=fye(A[2],w);r[28][1]=[0,[0,A[1],g],_]}else{Bye((function(e){return sXe(r,[0,e[2],[22,e[1]]])}),d(C,y)),r[28][1]=0}}else nye(Yue);pGe(r,1);var B=GXe(r);if(0===i){if(\"number\"==typeof B)if(1===B)var S=0,x=0;else if(Ve===B)S=0,x=0;else x=1;else x=1;if(x){var T=YXe(r);if(T){var I=vGe(r);S=1}else I=T,S=1}}else S=0;if(!S)I=lGe(r);return[0,m,mMe([0,e],[0,I])]}}else if(6===D){pGe(r,8);continue}}var N=JXe(r),O=t(r),L=GXe(r);if(\"number\"==typeof L)if(60===L)if(b(1,r))var P=0;else{var R=[0,JXe(r)],M=WXe(r);fGe(r);var j=R,U=M;P=1}else P=0;else P=0;if(!P)j=0,U=0;var X=4!==UXe(1,r)?1:0;if(X)var G=95!==UXe(1,r)?1:0,J=G?42===GXe(r)?1:0:G;else J=X;if(J){var q=WXe(r);fGe(r);var z=q}else z=J;var W=64===GXe(r)?1:0;if(W)var V=1-b(1,r),$=V?1-$Xe(1,r):V;else $=W;if($){var Y=WXe(r);fGe(r);var H=Y}else H=$;var K=gx(HGe[2],r),Q=K[1],Z=Sx(HGe[3],r,$,Q);if(0===Q)if(Z)var rr=gx(HGe[2],r),er=rr[1],tr=rr[2],nr=1;else nr=0;else nr=0;if(!nr)er=Q,tr=K[2];var ur=Aye([0,U,[0,z,[0,H,[0,tr,0]]]]),ar=GXe(r);if(0===$)if(0===er)if(\"number\"==typeof ar)var ir=0;else if(4===ar[0]){var cr=ar[3];if(hx(cr,cke))if(hx(cr,fke))ir=0;else{var fr=WXe(r),or=n(oke,r)[2];if(F(r)){var sr=p(r,N,O,or,$,er,J,j,Z,ur);ir=1}else{v(r,j),l(r,Z),TGe(r,or);var lr=fye(ur,fr),vr=XGe([0,N],(function(r){return u(r,1,0)}),r),Dr=vr[2],pr=mMe([0,lr],0);sr=[0,[0,vr[1],[0,3,Dr[1],Dr[2],J,O,pr]]],ir=1}}else{var br=WXe(r),Fr=n(ske,r)[2];if(F(r))sr=p(r,N,O,Fr,$,er,J,j,Z,ur),ir=1;else{v(r,j),l(r,Z),TGe(r,Fr);var mr=fye(ur,br),dr=XGe([0,N],(function(r){return u(r,1,1)}),r),Er=dr[2],kr=mMe([0,mr],0);sr=[0,[0,dr[1],[0,2,Er[1],Er[2],J,O,kr]]],ir=1}}}else ir=0;else ir=0;else ir=0;if(!ir)sr=p(r,N,O,n(lke,r)[2],$,er,J,j,Z,ur);switch(sr[0]){case 0:var hr=sr[1],yr=hr[2],Cr=hr[1];switch(yr[1]){case 0:if(yr[4])var wr=[0,a,c];else{a&&sXe(r,[0,Cr,85]);wr=[0,1,c]}break;case 1:2===yr[2][0]&&sXe(r,[0,Cr,86]);wr=[0,a,c];break;case 2:var Ar=yr[2];wr=[0,a,2===Ar[0]?o(r,c,Ar[1],Rv):c];break;default:var _r=yr[2];wr=[0,a,2===_r[0]?o(r,c,_r[1],Hn):c]}var gr=wr;break;case 1:var Br=sr[1][2],Sr=Br[1];switch(Sr[0]){case 0:var xr=Sr[1],Tr=xr[2][1];if(\"number\"==typeof Tr)var Ir=1;else if(0===Tr[0]){var Nr=Tr[1],Or=xr[1],Lr=0;Ir=0}else Ir=1;if(Ir)Lr=1;break;case 1:var Pr=Sr[1];Nr=Pr[2][1],Or=Pr[1],Lr=0;break;case 2:nye(nke);Lr=2;break;default:Lr=1}switch(Lr){case 0:var Rr=Br[4],Mr=Ex(Nr,Dke);if(Mr)var jr=Mr;else{var Ur=Ex(Nr,pke);jr=Ur?Rr:Ur}jr&&sXe(r,[0,Or,[21,Nr,Rr,0]])}gr=[0,a,c];break;default:gr=[0,a,o(r,c,sr[1][2][1],Ed)]}a=gr[1],c=gr[2],f=[0,sr,f]}}return DGe(r,0),uke}),f),A,T,N,D,mMe([0,m],0)]}function d(r){return[5,m(0,r,1,1)]}return[0,n,function(e){var t=XGe(0,(function(e){var t=WXe(e);pGe(e,0);for(var i=0,c=[0,0,r[3]];;){var o=c[2],s=c[1],l=GXe(e);if(\"number\"==typeof l)if(1===l||Ve===l?1:0){var v=i?[0,o[1],[0,[0,i[1],97],o[2]]]:o,D=gx(r[5],v),p=wye(s),b=WXe(e);return pGe(e,1),[0,[0,p,dMe([0,t],[0,lGe(e)],b)],D]}if(12===GXe(e))var F=WXe(e),m=XGe(0,(function(r){return pGe(r,12),a(r)}),e),d=m[2],E=d[2],k=mMe([0,F],0),h=[0,[1,[0,m[1],[0,d[1],k]]],E];else{var y=JXe(e),C=UXe(1,e);if(\"number\"==typeof C){if(83<=C)if(95===C)var w=1;else if(84<=C){var A=0;w=0}else w=1;else if(79===C)w=1;else if(10<=C)A=0,w=0;else switch(C){case 1:case 4:case 9:w=1;break;default:A=0,w=0}if(w){var _=0,g=0;A=1}}else A=0;if(!A){var B=gx(HGe[1],e);_=B[1],g=B[2]}var S=gx(HGe[2],e),x=S[1],T=fye(g,S[2]),I=GXe(e);if(0===_)if(0===x)if(\"number\"==typeof I)var N=0;else if(4===I[0]){var O=I[3];if(hx(O,bke))if(hx(O,Fke))N=0;else{var L=WXe(e),P=n(0,e)[2],R=GXe(e);if(\"number\"==typeof R){if(83<=R)if(95===R)var M=1;else if(84<=R){var j=1;M=0}else M=1;else if(79===R)M=1;else if(10<=R)j=1,M=0;else switch(R){case 1:case 4:case 9:M=1;break;default:j=1,M=0}if(M)h=f(e,y,P,0,0,0),N=1,j=0}else j=1;if(j){TGe(e,P);var U=r[3],X=XGe([0,y],(function(r){return u(r,0,0)}),e),G=X[2],J=mMe([0,L],0);h=[0,[0,[0,X[1],[3,G[1],G[2],J]]],U],N=1}}else{var q=WXe(e),z=n(0,e)[2],W=GXe(e);if(\"number\"==typeof W){if(83<=W)if(95===W)var V=1;else if(84<=W){var $=1;V=0}else V=1;else if(79===W)V=1;else if(10<=W)$=1,V=0;else switch(W){case 1:case 4:case 9:V=1;break;default:$=1,V=0}if(V)h=f(e,y,z,0,0,0),N=1,$=0}else $=1;if($){TGe(e,z);var Y=r[3],H=XGe([0,y],(function(r){return u(r,0,1)}),e),K=H[2],Q=mMe([0,q],0);h=[0,[0,[0,H[1],[2,K[1],K[2],Q]]],Y],N=1}}}else N=0;else N=0;else N=0;if(!N)h=f(e,y,n(0,e)[2],_,x,T)}var Z=h[1];if(1===Z[0])if(9===GXe(e))var rr=[0,JXe(e)],er=1;else er=0;else er=0;if(!er)rr=0;var tr=GXe(e);if(\"number\"==typeof tr){if(1===tr)var nr=1;else if(Ve===tr)nr=1;else{var ur=0;nr=0}if(nr)ur=1}else ur=0;ur||pGe(e,9);i=rr,c=[0,[0,Z,s],Bx(r[4],h[2],o)]}}),e),i=t[2];return[0,t[1],i[1],i[2]]},function(r,e){return XGe(0,(function(r){return[2,m([0,e],r,r[7],0)]}),r)},function(r){return XGe(0,d,r)},s,t]}(KGe),rJe=function(r){function e(r){var e=gx(HGe[11],r);if(r[6])cGe(r,e[1]);else{var t=e[2],n=e[1];if(23===t[0]){var u=t[1];0===u[4]?0===u[5]||sXe(r,[0,n,59]):sXe(r,[0,n,58])}}return e}function t(r,e,t){var n=t[2][1],u=t[1];if(hx(n,Che)){if(hx(n,whe))return hx(n,Ahe)?OXe(n)?iGe(e,[0,u,52]):MXe(n)?sXe(e,[0,u,[11,BMe(n)]]):r&&PXe(n)?iGe(e,[0,u,r[1]]):0:e[17]?sXe(e,[0,u,2]):iGe(e,[0,u,52]);if(e[6])return iGe(e,[0,u,52]);var a=e[14];return a?sXe(e,[0,u,[11,BMe(n)]]):a}var i=e[18];return i?sXe(e,[0,u,2]):i}function n(r,e){var t=e[4],n=e[3],u=e[2],a=e[1];t&&aGe(r,43);var i=WXe(r);return pGe(r,[2,[0,a,u,n,t]]),[0,a,[0,u,n,mMe([0,i],[0,lGe(r)])]]}function u(r,e,t){var n=r?r[1]:khe,u=e?e[1]:1,a=GXe(t);if(\"number\"==typeof a){var i=a-2|0;if(Uu>>0){if(!(ak<(i+1|0)>>>0)){return[1,[0,lGe(t),function(r,e){return r}]]}}else if(6===i){fGe(t);var c=GXe(t);if(\"number\"==typeof c)if(1===c||Ve===c?1:0)return[0,lGe(t)];return YXe(t)?[0,vGe(t)]:hhe}}return YXe(t)?[1,wGe(t)]:(u&&nGe([0,n],t),yhe)}function a(r){var e=GXe(r);if(\"number\"==typeof e&&(1===e||Ve===e?1:0)){return[0,lGe(r),function(r,e){return r}]}return YXe(r)?wGe(r):CGe(r)}function i(r,e,t){var n=u(0,0,e);if(0===n[0])return[0,n[1],t];var a=wye(t);if(a)var i=wye([0,Bx(n[1][2],a[1],(function(e,t){return Sx(wS(e,634872468,87),e,r,t)})),a[2]]);else i=a;return[0,0,i]}var c=function r(e){return r.fun(e)},f=function r(e){return r.fun(e)},o=function r(e){return r.fun(e)},s=function r(e){return r.fun(e)},l=function r(e){return r.fun(e)},v=function r(e,t){return r.fun(e,t)},D=function r(e){return r.fun(e)},p=function r(e){return r.fun(e)},b=function r(e,t,n){return r.fun(e,t,n)},F=function r(e){return r.fun(e)},m=function r(e){return r.fun(e)},d=function r(e,t){return r.fun(e,t)},E=function r(e){return r.fun(e)},k=function r(e){return r.fun(e)},h=function r(e,t){return r.fun(e,t)},y=function r(e){return r.fun(e)},C=function r(e,t){return r.fun(e,t)},w=function r(e){return r.fun(e)},A=function r(e,t){return r.fun(e,t)},_=function r(e){return r.fun(e)},g=function r(e,t){return r.fun(e,t)},B=function r(e,t){return r.fun(e,t)},S=function r(e,t){return r.fun(e,t)},x=function r(e){return r.fun(e)},T=function r(e){return r.fun(e)},I=function r(e){return r.fun(e)},N=function r(e,t,n){return r.fun(e,t,n)},O=function r(e,t){return r.fun(e,t)},L=function r(e){return r.fun(e)},P=function r(e){return r.fun(e)};function R(r){var e=WXe(r);pGe(r,59);var t=8===GXe(r)?1:0,n=t?lGe(r):t,a=u(0,0,r),i=0===a[0]?a[1]:a[1][1];return[4,[0,mMe([0,e],[0,fye(n,i)])]]}function M(r){var e=WXe(r);pGe(r,37);var t=kXe(1,r),n=gx($Ge[2],t),a=1-r[6];(a?UGe(n):a)&&cGe(r,n[1]);var i=lGe(r);pGe(r,25);var c=lGe(r);pGe(r,4);var f=gx($Ge[7],r);pGe(r,5);var o=8===GXe(r)?1:0,s=o?lGe(r):o,l=u(0,Ehe,r),v=0===l[0]?fye(s,l[1]):l[1][1];return[14,[0,n,f,mMe([0,e],[0,fye(i,fye(c,v))])]]}function j(r,e,t){var n=t[2][1];if(n&&!n[1][2][2]){var u=n[2];if(!u)return u}return sXe(r,[0,t[1],e])}function U(r,e){var t=1-r[6],n=t?UGe(e):t;return n?cGe(r,e[1]):n}function X(e){var t=WXe(e);pGe(e,39);var n=e[18],u=n?FGe(e,65):n,a=fye(t,WXe(e));pGe(e,4);var i=mMe([0,a],0),c=hXe(1,e),f=GXe(c);if(\"number\"==typeof f)if(24<=f)if(29<=f)var o=0;else{switch(f-24|0){case 0:var s=XGe(0,HGe[10],c),l=s[2],v=l[3],D=mMe([0,l[2]],0),p=[0,[0,[1,[0,s[1],[0,l[1],0,D]]]],v],b=1;break;case 3:var F=XGe(0,HGe[9],c),m=F[2],d=m[3],E=mMe([0,m[2]],0);p=[0,[0,[1,[0,F[1],[0,m[1],2,E]]]],d],b=1;break;case 4:var k=XGe(0,HGe[8],c),h=k[2],y=h[3],C=mMe([0,h[2]],0);p=[0,[0,[1,[0,k[1],[0,h[1],1,C]]]],y],b=1;break;default:o=0,b=0}if(b){var w=p[1],A=p[2];o=1}}else if(8===f)w=0,A=0,o=1;else o=0;else o=0;if(!o){var _=EXe(1,c);w=[0,[0,gx($Ge[8],_)]],A=0}var g=GXe(e);if(63!==g&&!u){if(\"number\"==typeof g&&17===g){if(w){var B=w[1];if(0===B[0])var S=[1,Sx(r[2],mhe,e,B[1])];else{var x=B[1];j(e,28,x);S=[0,x]}pGe(e,17);var T=gx($Ge[7],e);pGe(e,5);var I=kXe(1,e),N=gx($Ge[2],I);return U(e,N),[21,[0,S,T,N,0,i]]}throw[0,jx,dhe]}if(Bye((function(r){return sXe(e,r)}),A),pGe(e,8),w)var O=w[1],L=0===O[0]?[0,[1,Bx(r[1],e,O[1])]]:[0,[0,O[1]]];else L=w;var P=GXe(e);if(\"number\"==typeof P){var R=8!==P?1:0;if(R)var M=0;else{var X=R;M=1}}else M=0;if(!M)X=[0,gx($Ge[7],e)];pGe(e,8);var G=GXe(e);if(\"number\"==typeof G){var J=5!==G?1:0;if(J)var q=0;else{var z=J;q=1}}else q=0;if(!q)z=[0,gx($Ge[7],e)];pGe(e,5);var W=kXe(1,e),V=gx($Ge[2],W);return U(e,V),[20,[0,L,X,z,V,i]]}if(w){var $=w[1];if(0===$[0])var Y=[1,Sx(r[2],bhe,e,$[1])];else{var H=$[1];j(e,29,H);Y=[0,H]}pGe(e,63);var K=gx($Ge[10],e);pGe(e,5);var Q=kXe(1,e),Z=gx($Ge[2],Q);return U(e,Z),[22,[0,Y,K,Z,u,i]]}throw[0,jx,Fhe]}function G(r){var t=rGe(r)?e(r):gx($Ge[2],r),n=1-r[6];return(n?UGe(t):n)&&cGe(r,t[1]),t}function J(r){var e=WXe(r);return pGe(r,43),[0,G(r),mMe([0,e],0)]}function q(r){var e=WXe(r);pGe(r,16);var t=fye(e,WXe(r));pGe(r,4);var n=gx($Ge[7],r);pGe(r,5);var u=G(r),a=43===GXe(r)?1:0;return[24,[0,n,u,a?[0,XGe(0,J,r)]:a,mMe([0,t],0)]]}function z(r){1-r[11]&&tGe(r,35);var e=WXe(r);pGe(r,19);var t=8===GXe(r)?1:0,n=t?lGe(r):t;if(8===GXe(r))var a=0;else if(KXe(r))a=0;else{var i=[0,gx($Ge[7],r)];a=1}if(!a)i=0;var c=u(0,0,r);if(0===c[0])var f=c[1],o=0;else{var s=c[1];if(i){var l=n,v=[0,Bx(s[2],i[1],(function(r,e){return Bx(wS(r,LD,88),r,e)}))];o=1}else f=s[1],o=0}if(!o)l=fye(n,f),v=i;return[28,[0,v,mMe([0,e],[0,l])]]}function W(r){var e=WXe(r);pGe(r,20),pGe(r,4);var t=gx($Ge[7],r);pGe(r,5),pGe(r,0);for(var n=phe;;){var u=n[2],i=n[1],c=GXe(r);if(\"number\"==typeof c)if(1===c||Ve===c?1:0){var f=wye(u);return pGe(r,1),[29,[0,t,f,mMe([0,e],[0,a(r)[1]])]]}var o=JXe(r),s=WXe(r),l=GXe(r);if(\"number\"==typeof l)if(36===l){i&&tGe(r,31),pGe(r,36);var v=0,D=lGe(r),p=1}else p=0;else p=0;if(!p){pGe(r,33);v=[0,gx($Ge[7],r)],D=0}var b=i||(0===v?1:0),F=JXe(r);pGe(r,83);var m=fye(D,a(r)[1]),d=Bx($Ge[4],(function(r){if(\"number\"==typeof r){var e=r-1|0;if(32>>0?35===e?1:0:30<(e-1|0)>>>0?1:0)return 1}return 0}),[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],1,r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]]),E=wye(d),k=E?E[1][1]:F,h=[0,v,d,mMe([0,s],[0,m])];n=[0,b,[0,[0,lMe(o,k),h],u]]}}function V(r){var e=WXe(r),t=JXe(r);pGe(r,22),YXe(r)&&sXe(r,[0,t,21]);var n=gx($Ge[7],r),a=u(0,0,r);if(0===a[0])var i=[0,a[1],n];else i=[0,0,Bx(a[1][2],n,(function(r,e){return Bx(wS(r,LD,89),r,e)}))];var c=mMe([0,e],[0,i[1]]);return[30,[0,i[2],c]]}function $(r){var e=WXe(r);pGe(r,23);var t=gx($Ge[15],r);if(34===GXe(r))var n=Bx(AGe(r)[2],t,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,uD,27),r,t,e[2])]}));else n=t;var u=GXe(r);if(\"number\"==typeof u)if(34===u)var i=[0,XGe(0,(function(r){var e=WXe(r);pGe(r,34);var t=lGe(r),n=4===GXe(r)?1:0;if(n){pGe(r,4);var u=[0,Bx($Ge[18],r,38)];pGe(r,5);var i=u}else i=n;var c=gx($Ge[15],r);if(38===GXe(r))var f=c;else f=Bx(a(r)[2],c,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,uD,90),r,t,e[2])]}));return[0,i,f,mMe([0,e],[0,t])]}),r)],c=1;else c=0;else c=0;if(!c)i=0;var f=GXe(r);if(\"number\"==typeof f)if(38===f){pGe(r,38);var o=gx($Ge[15],r),s=o[1],l=a(r),v=[0,[0,s,Bx(l[2],o[2],(function(r,e){return Sx(wS(r,uD,91),r,s,e)}))]],D=1}else D=0;else D=0;if(!D)v=0;var p=0===i?1:0;return(p?0===v?1:0:p)&&sXe(r,[0,n[1],32]),[31,[0,n,i,v,mMe([0,e],0)]]}function Y(r){var e=gx(HGe[10],r),t=i(0,r,e[1]);Bye((function(e){return sXe(r,e)}),e[3]);var n=mMe([0,e[2]],[0,t[1]]);return[34,[0,t[2],0,n]]}function H(r){var e=gx(HGe[9],r),t=i(2,r,e[1]);Bye((function(e){return sXe(r,e)}),e[3]);var n=mMe([0,e[2]],[0,t[1]]);return[34,[0,t[2],2,n]]}function K(r){var e=gx(HGe[8],r),t=i(1,r,e[1]);Bye((function(e){return sXe(r,e)}),e[3]);var n=mMe([0,e[2]],[0,t[1]]);return[34,[0,t[2],1,n]]}function Q(r){var e=WXe(r);pGe(r,25);var t=fye(e,WXe(r));pGe(r,4);var n=gx($Ge[7],r);pGe(r,5);var u=kXe(1,r),a=gx($Ge[2],u),i=1-r[6];return(i?UGe(a):i)&&cGe(r,a[1]),[35,[0,n,a,mMe([0,t],0)]]}function Z(r){var t=WXe(r),n=gx($Ge[7],r),a=GXe(r),i=n[2];if(10===i[0]&&\"number\"==typeof a&&83===a){var c=i[1],f=c[2][1];pGe(r,83),Bx(WGe[3],f,r[3])&&sXe(r,[0,n[1],[16,vhe,f]]);var o=r[29],s=r[28],l=r[27],v=r[26],D=r[25],p=r[24],b=r[23],F=r[22],m=r[21],d=r[20],E=r[19],k=r[18],h=r[17],y=r[16],C=r[15],w=r[14],A=r[13],_=r[12],g=r[11],B=r[10],S=r[9],x=r[8],T=r[7],I=r[6],N=r[5],O=r[4],L=Bx(uXe[4],f,r[3]),P=[0,r[1],r[2],L,O,N,I,T,x,S,B,g,_,A,w,C,y,h,k,E,d,m,F,b,p,D,v,l,s,o];return[27,[0,c,rGe(P)?e(P):gx($Ge[2],P),mMe([0,t],0)]]}var R=u(Dhe,0,r);if(0===R[0])var M=[0,R[1],n];else M=[0,0,Bx(R[1][2],n,(function(r,e){return Bx(wS(r,LD,92),r,e)}))];var j=mMe(0,[0,M[1]]);return[19,[0,M[2],0,j]]}function rr(r){var e=gx($Ge[7],r),t=u(lhe,0,r);if(0===t[0])var n=[0,t[1],e];else n=[0,0,Bx(t[1][2],e,(function(r,e){return Bx(wS(r,LD,93),r,e)}))];var a=n[2],i=r[19];if(i){var c=a[2];if(14===c[0]){var f=c[1],o=f[1];if(\"number\"==typeof o)var s=1;else if(0===o[0]){var l=f[2],v=[0,Gye(l,1,RS(l)-2|0)],D=1;s=0}else s=1;if(s)D=0}else D=0;if(!D)v=0;var p=v}else p=i;return[19,[0,a,p,mMe(0,[0,n[1]])]]}function er(r){return XGe(0,rr,r)}function tr(r,e){var t=e[2];switch(t[0]){case 0:return Sye((function(r,e){return tr(r,0===e[0]?e[1][2][2]:e[1][2][1])}),r,t[1][1]);case 1:return Sye((function(r,e){return 2===e[0]?r:tr(r,e[1][2][1])}),r,t[1][1]);case 2:return[0,t[1][1],r];default:return nye(she)}}function nr(r){bGe(r,che);var e=GXe(r);if(\"number\"!=typeof e&&2===e[0])return n(r,e[1]);var t=[0,JXe(r),fhe];return nGe(ohe,r),t}function ur(r,e,t){function n(e){return r?gx(YGe[2],e):Bx($Ge[13],0,e)}var u=UXe(1,t);if(\"number\"==typeof u)switch(u){case 1:case 9:case 110:return[0,n(t),0]}else if(4===u[0]&&!hx(u[3],ihe)){var a=jGe(t);return fGe(t),[0,a,[0,n(t)]]}var i=GXe(t);if(e&&\"number\"==typeof i&&!(46===i||61===i?0:1))return tGe(t,e[1]),fGe(t),[0,gx(YGe[2],t),0];return[0,n(t),0]}function ar(r,e){var n=JXe(r),u=GXe(r);if(\"number\"==typeof u&&$l===u){pGe(r,$l),bGe(r,Zke);var a=2<=e?Bx($Ge[13],0,r):gx(YGe[2],r);return[1,[0,lMe(n,a[1]),a]]}pGe(r,0);for(var i=0,c=0;;){var f=i?i[1]:1,o=GXe(r);if(\"number\"==typeof o)if(1===o||Ve===o?1:0){var s=wye(c);return pGe(r,1),[0,s]}switch(1-f&&tGe(r,82),e){case 0:var l=ur(1,ehe,r),v=[0,0,l[2],l[1]];break;case 1:var D=ur(1,rhe,r);v=[0,0,D[2],D[1]];break;default:var p=GXe(r);if(\"number\"==typeof p)if(46===p)var b=nhe,F=1;else if(61===p)b=the,F=1;else F=0;else F=0;if(!F)b=0;var m=GXe(r);if(\"number\"==typeof m){if(46===m)var d=1;else if(61===m)d=1;else{var E=0;d=0}if(d){var k=1;E=1}}else E=0;if(!E)k=0;if(k){var h=jGe(r),y=GXe(r);if(\"number\"==typeof y)switch(y){case 1:case 9:case 110:t(0,r,h);var C=[0,0,0,h],w=1;break;default:w=0}else if(4===y[0])if(hx(y[3],uhe))w=0;else{var A=UXe(1,r);if(\"number\"==typeof A)switch(A){case 1:case 9:case 110:C=[0,b,0,gx(YGe[2],r)],w=1;var _=0;break;default:_=1}else if(4===A[0])if(hx(A[3],ahe))_=1;else{var g=jGe(r);fGe(r);C=[0,b,[0,gx(YGe[2],r)],g],w=1,_=0}else _=1;if(_){t(0,r,h),fGe(r);C=[0,0,[0,Bx($Ge[13],0,r)],h],w=1}}else w=0;if(!w){var B=ur(1,0,r);C=[0,b,B[2],B[1]]}}else{var S=ur(0,0,r);C=[0,0,S[2],S[1]]}v=C}i=[0,FGe(r,9)],c=[0,v,c]}}function ir(r,e){var t=u(0,0,r);if(0===t[0])return[0,t[1],e];return[0,0,Bx(t[1][2],e,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,mB,94),r,t,e[2])]}))]}function cr(r,e,t){var n=[0,ar(e,r)],u=ir(e,nr(e)),a=mMe([0,t],[0,u[1]]);return[25,[0,r,u[2],0,n,a]]}function fr(r,e,t){var n=2<=r?Bx($Ge[13],0,e):gx(YGe[2],e),u=GXe(e);if(\"number\"==typeof u)if(9===u){pGe(e,9);var a=[0,ar(e,r)],i=1}else i=0;else i=0;if(!i)a=0;var c=ir(e,nr(e)),f=mMe([0,t],[0,c[1]]);return[25,[0,r,c[2],[0,n],a,f]]}function or(r){var e=pXe(1,r),t=WXe(e);pGe(e,50);var u=GXe(e);if(\"number\"==typeof u)switch(u){case 46:if(oXe(e)){pGe(e,46);var a=GXe(e);if(\"number\"==typeof a)if($l===a||0===a?1:0)return cr(1,e,t);return fr(1,e,t)}break;case 61:if(oXe(e)){var i=UXe(1,e);if(\"number\"==typeof i)switch(i){case 0:return fGe(e),cr(0,e,t);case 103:return fGe(e),nGe(0,e),cr(0,e,t);case 9:var c=1;break;default:c=0}else c=4===i[0]?hx(i[3],Qke)?0:1:0;return c?fr(2,e,t):(fGe(e),fr(0,e,t))}break;case 0:case 103:return cr(2,e,t)}else if(2===u[0]){var f=ir(e,n(e,u[1])),o=mMe([0,t],[0,f[1]]);return[25,[0,2,f[2],0,0,o]]}return fr(2,e,t)}function sr(r){return XGe(0,or,r)}return XB(c,(function(r){var e=JXe(r),t=WXe(r);return pGe(r,8),[0,e,[15,[0,mMe([0,t],[0,a(r)[1]])]]]})),XB(f,(function(r){var e=WXe(r),t=XGe(0,(function(r){if(pGe(r,32),8===GXe(r))var e=0;else if(KXe(r))e=0;else{var t=Bx($Ge[13],0,r),n=t[2][1];1-Bx(WGe[3],n,r[3])&&tGe(r,[15,n]);var a=[0,t];e=1}if(!e)a=0;var i=u(0,0,r);if(0===i[0])var c=i[1],f=0;else{var o=i[1];if(a){var s=0,l=[0,Bx(o[2],a[1],(function(r,e){return Bx(wS(r,sB,95),r,e)}))];f=1}else c=o[1],f=0}if(!f)s=c,l=a;return[0,l,s]}),r),n=t[2],a=n[1],i=t[1],c=0===a?1:0;if(c)var f=1-(r[8]||r[9]);else f=c;return f&&sXe(r,[0,i,34]),[0,i,[1,[0,a,mMe([0,e],[0,n[2]])]]]})),XB(o,(function(r){var e=WXe(r),t=XGe(0,(function(r){if(pGe(r,35),8===GXe(r))var e=0;else if(KXe(r))e=0;else{var t=Bx($Ge[13],0,r),n=t[2][1];1-Bx(WGe[3],n,r[3])&&tGe(r,[15,n]);var a=[0,t];e=1}if(!e)a=0;var i=u(0,0,r);if(0===i[0])var c=i[1],f=0;else{var o=i[1];if(a){var s=0,l=[0,Bx(o[2],a[1],(function(r,e){return Bx(wS(r,sB,96),r,e)}))];f=1}else c=o[1],f=0}if(!f)s=c,l=a;return[0,l,s]}),r),n=t[2],a=t[1];1-r[8]&&sXe(r,[0,a,33]);var i=mMe([0,e],[0,n[2]]);return[0,a,[3,[0,n[1],i]]]})),XB(s,(function(r){var e=XGe(0,(function(r){var e=WXe(r);pGe(r,26);var t=fye(e,WXe(r));pGe(r,4);var n=gx($Ge[7],r);pGe(r,5);var u=gx($Ge[2],r),a=1-r[6];return(a?UGe(u):a)&&cGe(r,u[1]),[36,[0,n,u,mMe([0,t],0)]]}),r),t=e[1];return iGe(r,[0,t,37]),[0,t,e[2]]})),XB(l,(function(r){var e=gx($Ge[15],r),t=e[1],n=a(r);return[0,t,[0,Bx(n[2],e[2],(function(r,e){return Sx(wS(r,uD,97),r,t,e)}))]]})),XB(v,(function(r,e){1-oXe(e)&&tGe(e,10);var t=fye(r,WXe(e));pGe(e,61),oGe(e,1);var n=gx(YGe[2],e),a=95===GXe(e)?_Ge(e,n):n,i=gx(YGe[3],e);pGe(e,79);var c=gx(YGe[1],e);sGe(e);var f=u(0,0,e);if(0===f[0])var o=[0,f[1],c];else o=[0,0,Bx(f[1][2],c,(function(r,e){return Bx(wS(r,lc,98),r,e)}))];var s=mMe([0,t],[0,o[1]]);return[0,a,i,o[2],s]})),XB(D,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[11,Bx(v,e,r)]}),r)})),XB(p,(function(r){if(QXe(1,r)&&!HXe(1,r)){var e=XGe(0,gx(v,0),r);return[0,e[1],[32,e[2]]]}return gx($Ge[2],r)})),XB(b,(function(r,e,t){var n=r?r[1]:r;1-oXe(t)&&tGe(t,11);var a=fye(e,WXe(t));pGe(t,62);var i=WXe(t);pGe(t,61);var c=fye(a,i);oGe(t,1);var f=gx(YGe[2],t),o=95===GXe(t)?_Ge(t,f):f,s=gx(YGe[3],t),l=GXe(t);if(\"number\"==typeof l)if(83===l){pGe(t,83);var v=[0,gx(YGe[1],t)],D=1}else D=0;else D=0;if(!D)v=0;var p=1-n,b=p?(pGe(t,79),[0,gx(YGe[1],t)]):p;sGe(t);var F=u(0,0,t);if(0===F[0])var m=[0,F[1],o,s,v,b];else{var d=F[1][2];if(b)var E=[0,0,o,s,v,[0,Bx(d,b[1],(function(r,e){return Bx(wS(r,lc,99),r,e)}))]];else if(v)E=[0,0,o,s,[0,Bx(d,v[1],(function(r,e){return Bx(wS(r,lc,Fu),r,e)}))],0];else if(s)E=[0,0,o,[0,Bx(d,s[1],(function(r,e){return Bx(wS(r,iE,CE),r,e)}))],0,0];else E=[0,0,Bx(d,o,(function(r,e){return Bx(wS(r,sB,EE),r,e)})),0,0,0];m=E}var k=mMe([0,c],[0,m[1]]);return[0,m[2],m[3],m[5],m[4],k]})),XB(F,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[12,Sx(b,Kke,e,r)]}),r)})),XB(m,(function(r){var e=UXe(1,r);if(\"number\"==typeof e&&61===e){var t=XGe(0,Bx(b,Hke,0),r);return[0,t[1],[33,t[2]]]}return gx($Ge[2],r)})),XB(d,(function(r,e){1-oXe(e)&&tGe(e,16);var t=fye(r,WXe(e));pGe(e,53);var n=gx(YGe[2],e),u=41===GXe(e)?n:_Ge(e,n),i=gx(YGe[3],e),c=41===GXe(e)?i:gGe(e,i),f=gx(YGe[7],e);var o=Bx(a(e)[2],f[2],(function(r,e){var t=e[1];return[0,t,Sx(wS(r,pv,$l),r,t,e[2])]})),s=mMe([0,t],0);return[0,u,c,f[1],o,s]})),XB(E,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[8,Bx(d,e,r)]}),r)})),XB(k,(function(r){var e=QXe(1,r);if(e)var t=e;else{var n=fXe(r);if(1===n){var u=UXe(1,r);if(\"number\"==typeof u)var a=0;else if(4===u[0])t=1,a=1;else a=0;if(!a)t=0}else if(0===n){var i=UXe(1,r);if(\"number\"==typeof i)switch(i){case 42:case 46:case 47:t=0;var c=1;break;case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 65:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:c=0;break;default:t=0,c=1}else switch(i[0]){case 4:if(jXe(i[3]))t=0,c=1;else c=0;break;case 9:case 10:case 11:c=0;break;default:t=0,c=1}if(!c)t=1}else t=0}if(t){var f=XGe(0,gx(d,0),r);return[0,f[1],[26,f[2]]]}return er(r)})),XB(h,(function(r,e){var t=pXe(1,e),n=fye(r,WXe(t));pGe(t,40);var u=Bx($Ge[13],0,t),i=GXe(t);if(\"number\"==typeof i){if(95===i)var c=1;else if(0===i)c=1;else{var f=0;c=0}if(c){var o=_Ge(t,u);f=1}}else f=0;if(!f)o=u;var s=gx(YGe[3],t),l=GXe(t);if(\"number\"==typeof l)if(0===l)var v=gGe(t,s),D=1;else D=0;else D=0;if(!D)v=s;var p=FGe(t,41);if(p){var b=gx(YGe[5],t),F=GXe(t);if(\"number\"==typeof F)if(0===F)var m=[0,Bx(AGe(t)[2],b,(function(r,e){return uMe(gx(wS(r,Ea,34),r),e)}))],d=1;else d=0;else d=0;if(!d)m=[0,b];var E=m}else E=p;var k=GXe(t);if(\"number\"==typeof k)var h=0;else if(4===k[0])if(hx(k[3],Yke))h=0;else{fGe(t);for(var y=0;;){var C=[0,gx(YGe[5],t),y],w=GXe(t);if(\"number\"!=typeof w||9!==w){var A=wye(C),_=GXe(t);if(\"number\"==typeof _)if(0===_)var g=IGe(t,A),B=1;else B=0;else B=0;if(!B)g=A;var S=g;h=1;break}pGe(t,9);y=C}}else h=0;if(!h)S=0;var x=GXe(t);if(\"number\"==typeof x)if(52===x){var T=Bx(ZGe[5],t,0),I=GXe(t);if(\"number\"==typeof I)if(0===I)var N=[0,NGe(t,T)],O=1;else O=0;else O=0;if(!O)N=[0,T];var L=N,P=1}else P=0;else P=0;if(!P)L=0;var R=Bx(YGe[6],1,t);return[0,o,v,Bx(a(t)[2],R,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,pv,sE),r,t,e[2])]})),E,S,L,mMe([0,n],0)]})),XB(y,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[5,Bx(h,e,r)]}),r)})),XB(C,(function(r,e){var t=fye(r?r[1]:r,WXe(e));pGe(e,15);var n=_Ge(e,Bx($Ge[13],0,e)),a=JXe(e),i=gGe(e,gx(YGe[3],e)),c=gx(YGe[8],e);pGe(e,83);var f=gx(YGe[1],e);oGe(e,1);var o=GXe(e);if(sGe(e),66===o)var s=Bx(AGe(e)[2],f,(function(r,e){return Bx(wS(r,lc,29),r,e)}));else s=f;var l=lMe(a,s[1]),v=[0,l,[12,[0,i,c,s,0]]],D=gx(YGe[11],e),p=u(0,0,e);if(0===p[0])var b=[0,p[1],v,D];else{var F=p[1][2];if(D)var m=[0,0,v,[0,Bx(F,D[1],(function(r,e){return Bx(wS(r,zo,tg),r,e)}))]];else m=[0,0,Bx(F,v,(function(r,e){return Bx(wS(r,lc,Ma),r,e)})),0];b=m}var d=[0,l,b[2]],E=mMe([0,t],[0,b[1]]);return[0,n,d,b[3],E]})),XB(w,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,60);var t=GXe(r);\"number\"==typeof t&&64===t&&(tGe(r,64),pGe(r,64));return[7,Bx(C,[0,e],r)]}),r)})),XB(A,(function(r,e){var t=fye(e,WXe(r));pGe(r,24);var n=Sx($Ge[14],r,$ke,39)[2],a=n[2],i=n[1],c=u(0,0,r);if(0===c[0])var f=[0,c[1],i,a];else{var o=c[1][2];f=0===a[0]?[0,0,Bx(o,i,(function(r,e){return Bx(wS(r,sB,Uu),r,e)})),a]:[0,0,i,Bx(o,a,(function(r,e){return Bx(wS(r,PF,Bb),r,e)}))]}var s=mMe([0,t],[0,f[1]]);return[0,f[2],f[3],s]})),XB(_,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[13,Bx(A,r,e)]}),r)})),XB(g,(function(r,e){var t=r?r[1]:r,u=JXe(e),i=WXe(e);pGe(e,60);var c=fye(i,WXe(e));if(bGe(e,Vke),!t&&10!==GXe(e)){var f=GXe(e);if(\"number\"==typeof f)var o=0;else if(2===f[0]){var s=n(e,f[1]),l=[1,Bx(AGe(e)[2],s,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,mB,37),r,t,e[2])]}))];o=1}else o=0;if(!o)l=[0,_Ge(e,Bx($Ge[13],0,e))];var v=XGe(0,(function(r){var e=WXe(r);pGe(r,0);for(var t=0,n=0;;){var u=GXe(r);if(\"number\"==typeof u)if(1===u||Ve===u?1:0){var i=wye(n),c=0===i?1:0,f=c?WXe(r):c;return pGe(r,1),[0,[0,t,i],dMe([0,e],[0,a(r)[1]],f)]}var o=Bx(S,Wke,r),s=o[2],l=o[1];if(t)if(0===t[1][0])switch(s[0]){case 6:var v=s[1][2];if(v)switch(v[1][0]){case 4:case 6:var D=1;break;default:D=0}else D=0;D||tGe(r,77);var p=t,b=1;break;case 10:tGe(r,76);p=t,b=1;break;default:b=0}else if(10===s[0]){tGe(r,77);p=t,b=1}else b=0;else switch(s[0]){case 6:var F=s[1][2];if(F)switch(F[1][0]){case 4:case 6:var m=t,d=1;break;default:d=0}else d=0;if(!d)m=[0,[1,l]];p=m,b=1;break;case 10:p=[0,[0,l]],b=1;break;default:b=0}if(!b)p=t;t=p,n=[0,o,n]}}),e),D=v[2],p=D[1],b=p[1],F=v[1],m=[0,F,[0,p[2],D[2]]],d=lMe(u,F);return[0,d,[9,[0,l,m,b?b[1]:[0,d],mMe([0,c],0)]]]}var E=XGe(0,gx(B,c),e),k=E[2];return[0,lMe(u,E[1]),k]})),XB(B,(function(r,e){var t=WXe(e);pGe(e,10);var n=WXe(e);bGe(e,zke);var a=Aye([0,r,[0,t,[0,n,[0,WXe(e),0]]]]),i=gx(YGe[9],e),c=u(0,0,e);if(0===c[0])var f=[0,i,c[1]];else f=[0,Bx(c[1][2],i,(function(r,e){return Bx(wS(r,zv,ak),r,e)})),0];var o=mMe([0,a],[0,f[2]]);return[10,[0,f[1],o]]})),XB(S,(function(r,e){var t=r?r[1]:r;1-oXe(e)&&tGe(e,13);var n=UXe(1,e);if(\"number\"==typeof n)switch(n){case 24:return gx(_,e);case 40:return gx(y,e);case 46:if(50===GXe(e))return sr(e);break;case 49:if(t)return Bx(P,[0,t],e);break;case 53:return gx(E,e);case 61:var u=GXe(e);return\"number\"==typeof u&&50===u&&t?sr(e):gx(D,e);case 62:return gx(F,e);case 15:case 64:return gx(w,e)}else if(4===n[0]&&!hx(n[3],qke))return Bx(g,[0,t],e);if(t){var a=GXe(e);return\"number\"==typeof a&&50===a?(tGe(e,80),gx($Ge[2],e)):gx(_,e)}return gx($Ge[2],e)})),XB(x,(function(r){bGe(r,Xke);var e=GXe(r);if(\"number\"!=typeof e&&2===e[0])return n(r,e[1]);var t=[0,JXe(r),Gke];return nGe(Jke,r),t})),XB(T,(function(r){var e=gx(x,r),t=e[2],n=e[1],a=u(0,0,r);if(0===a[0])return[0,[0,n,t],a[1]];return[0,[0,n,Bx(a[1][2],t,(function(r,e){return Sx(wS(r,mB,Ve),r,n,e)}))],0]})),XB(I,(function(r){return r[2][1]})),XB(N,(function(r,e,t){var n=r?r[1]:1,u=GXe(e);if(\"number\"==typeof u&&(1===u||Ve===u?1:0))return wye(t);1-n&&tGe(e,83);var a=XGe(0,(function(r){var e=jGe(r),t=GXe(r);if(\"number\"==typeof t)var n=0;else if(4===t[0])if(hx(t[3],Uke))n=0;else{fGe(r);var u=jGe(r);lXe(r,u);var a=[0,u];n=1}else n=0;if(!n){lXe(r,e);a=0}return[0,e,a]}),e);return Sx(N,[0,FGe(e,9)],e,[0,a,t])})),XB(O,(function(r,e){return Bye((function(e){var n=e[2];return n[2]?0:t(jke,r,n[1])}),e)})),XB(L,(function(r){function e(e){var t=CXe(1,pXe(1,e)),n=JXe(t),a=WXe(t);pGe(t,49);var i=GXe(t);if(\"number\"==typeof i)if(65<=i){if($l===i){var c=JXe(t);pGe(t,$l);var f=t[26][5],o=GXe(t);if(\"number\"==typeof o)var s=0;else if(4===o[0])if(hx(o[3],Nke))s=0;else{fGe(t);var l=f?[0,Bx($Ge[13],0,t)]:(tGe(t,13),0);s=1}else s=0;if(!s)l=0;var D=gx(T,t),p=mMe([0,a],[0,D[2]]);return[18,[0,0,[0,[1,c,l]],[0,D[1]],1,p]]}}else if(13<=i)switch(i-13|0){case 23:var F=fye(a,WXe(t)),m=XGe(0,(function(r){return pGe(r,36)}),t);if(lXe(t,bMe(0,[0,lMe(n,JXe(t)),Oke])),rGe(t))var d=[0,gx(HGe[11],t)],E=0;else if(eGe(t))d=[0,Bx(ZGe[3],t,r)],E=0;else if(48===GXe(t))d=[0,gx(HGe[12],t)],E=0;else{var h=gx($Ge[10],t),y=u(0,0,t);if(0===y[0])var C=[0,h,y[1]];else C=[0,Bx(y[1][2],h,(function(r,e){return Bx(wS(r,LD,Jr),r,e)})),0];d=[1,C[1]],E=C[2]}var w=mMe([0,F],[0,E]);return[17,[0,m[1],d,w]];case 40:1-oXe(t)&&tGe(t,15);var A=gx(k,t),_=A[2];if(26===_[0]){var g=gx(I,_[1][1]);lXe(t,bMe(0,[0,A[1],g]))}else nye(iye(Pke,Lke));return[18,[0,[0,A],0,0,0,mMe([0,a],0)]];case 48:if(0!==UXe(1,t)){1-oXe(t)&&tGe(t,15);var B=UXe(1,t);if(\"number\"==typeof B){if(48===B)return tGe(t,0),pGe(t,61),[18,[0,0,0,0,0,mMe([0,a],0)]];if($l===B){pGe(t,61);var S=JXe(t);pGe(t,$l);var x=gx(T,t),L=mMe([0,a],[0,x[2]]);return[18,[0,0,[0,[1,S,0]],[0,x[1]],0,L]]}}var P=XGe(0,gx(v,0),t),R=P[2],M=P[1];return lXe(t,bMe(0,[0,M,gx(I,R[1])])),[18,[0,[0,[0,M,[32,R]]],0,0,0,mMe([0,a],0)]]}break;case 49:var j=XGe(0,(function(r){return gx(Bx(b,0,0),r)}),t),U=j[2],X=j[1];return lXe(t,bMe(0,[0,X,gx(I,U[1])])),[18,[0,[0,[0,X,[33,U]]],0,0,0,mMe([0,a],0)]];case 0:case 2:case 11:case 14:case 15:case 27:case 35:case 51:var G=Bx($Ge[3],[0,r],t),J=G[2],q=G[1];switch(J[0]){case 2:var z=J[1][1];if(z)var W=z[1],V=1;else{sXe(t,[0,q,72]);var $=0;V=0}break;case 16:W=J[1][1],V=1;break;case 23:var Y=J[1][1];if(Y)W=Y[1],V=1;else{sXe(t,[0,q,73]);$=0,V=0}break;case 34:$=Sye((function(r,e){return Sye(tr,r,[0,e[2][1],0])}),0,J[1][1]),V=0;break;default:$=nye(Mke),V=0}return Bye((function(r){return lXe(t,r)}),V?[0,bMe(0,[0,q,gx(I,W)]),0]:$),[18,[0,[0,G],0,0,1,mMe([0,a],0)]]}var H=GXe(t);if(\"number\"==typeof H)if(61===H){fGe(t);var K=0,Q=1}else Q=0;else Q=0;if(!Q)K=1;pGe(t,0);var Z=Sx(N,0,t,0);pGe(t,1);var rr=GXe(t);if(\"number\"==typeof rr)var er=0;else if(4===rr[0])if(hx(rr[3],Rke))er=0;else{var nr=gx(T,t),ur=[0,nr[1]],ar=nr[2];er=1}else er=0;if(!er){Bx(O,t,Z);var ir=u(0,0,t);ur=0,ar=0===ir[0]?ir[1]:ir[1][1]}return[18,[0,0,[0,[0,Z]],ur,K,mMe([0,a],[0,ar])]]}return function(r){return XGe(0,e,r)}})),XB(P,(function(r){var e=r?r[1]:r;function t(r){1-oXe(r)&&tGe(r,13);var t=WXe(r);pGe(r,60);var n=CXe(1,pXe(1,r)),a=fye(t,WXe(n));pGe(n,49);var i=GXe(n);if(\"number\"==typeof i)if(53<=i){if($l===i){var c=JXe(n);pGe(n,$l);var f=n[26][5],o=GXe(n);if(\"number\"==typeof o)var s=0;else if(4===o[0])if(hx(o[3],xke))s=0;else{fGe(n);var l=f?[0,Bx($Ge[13],0,n)]:(tGe(n,13),0);s=1}else s=0;if(!s)l=0;var D=gx(T,n),p=mMe([0,a],[0,D[2]]);return[6,[0,0,0,[0,[1,c,l]],[0,D[1]],p]]}if(!(63<=i))switch(i-53|0){case 0:if(e)return[6,[0,0,[0,[6,XGe(0,gx(d,0),n)]],0,0,mMe([0,a],0)]];break;case 8:if(e)return[6,[0,0,[0,[4,XGe(0,gx(v,0),n)]],0,0,mMe([0,a],0)]];break;case 9:return[6,[0,0,[0,[5,XGe(0,Bx(b,Ske,0),n)]],0,0,mMe([0,a],0)]]}}else{var F=i-15|0;if(!(25>>0))switch(F){case 21:var m=fye(a,WXe(n)),E=XGe(0,(function(r){return pGe(r,36)}),n),k=GXe(n);if(\"number\"==typeof k)if(15===k)var y=[0,[1,XGe(0,(function(r){return Bx(C,0,r)}),n)]],w=0,_=1;else if(40===k)y=[0,[2,XGe(0,gx(h,0),n)]],w=0,_=1;else _=0;else _=0;if(!_){var g=gx(YGe[1],n),B=u(0,0,n);if(0===B[0])var S=[0,g,B[1]];else S=[0,Bx(B[1][2],g,(function(r,e){return Bx(wS(r,lc,Be),r,e)})),0];y=[0,[3,S[1]]],w=S[2]}var x=mMe([0,m],[0,w]);return[6,[0,[0,E[1]],y,0,0,x]];case 0:case 9:case 12:case 13:case 25:var I=GXe(n);if(\"number\"==typeof I){if(25<=I)if(29<=I)if(40===I)var L=[0,[2,XGe(0,gx(h,0),n)]],P=2;else P=0;else P=27<=I?1:0;else if(15===I)L=[0,[1,XGe(0,(function(r){return Bx(C,0,r)}),n)]],P=2;else P=24<=I?1:0;switch(P){case 0:var R=0;break;case 1:\"number\"==typeof I&&(27===I?tGe(n,68):28===I&&tGe(n,67)),L=[0,[0,XGe(0,(function(r){return Bx(A,r,0)}),n)]],R=1;break;default:R=1}if(R)return[6,[0,0,L,0,0,mMe([0,a],0)]]}throw[0,jx,Ike]}}var M=GXe(n);\"number\"==typeof M&&(53===M?tGe(n,70):61===M&&tGe(n,69));pGe(n,0);var j=Sx(N,0,n,0);pGe(n,1);var U=GXe(n);if(\"number\"==typeof U)var X=0;else if(4===U[0])if(hx(U[3],Tke))X=0;else{var G=gx(T,n),J=[0,G[1]],q=G[2];X=1}else X=0;if(!X){Bx(O,n,j);var z=u(0,0,n);J=0,q=0===z[0]?z[1]:z[1][1]}return[6,[0,0,0,[0,[0,j]],J,mMe([0,a],[0,q])]]}return function(r){return XGe(0,t,r)}})),[0,function(r){return XGe(0,X,r)},function(r){return XGe(0,q,r)},function(r){return XGe(0,K,r)},function(r){return XGe(0,$,r)},function(r){return XGe(0,Q,r)},s,l,f,o,function(r){return XGe(0,R,r)},S,P,F,function(r){return XGe(0,M,r)},c,L,er,sr,k,function(r){return XGe(0,Z,r)},m,function(r){return XGe(0,z,r)},function(r){return XGe(0,W,r)},function(r){return XGe(0,V,r)},p,function(r){return XGe(0,Y,r)},function(r){return XGe(0,H,r)}]}(KGe),eJe=function(r){var e=function r(e,t){return r.fun(e,t)},t=function r(e,t){return r.fun(e,t)},n=function r(e,t){return r.fun(e,t)};function u(r,e){return gx($Ge[23],e)?[0,Bx(n,r,e)]:(sXe(r,[0,e[1],26]),0)}function a(e){function t(r){var e=GXe(r);return\"number\"==typeof e&&79===e?(pGe(r,79),[0,gx($Ge[10],r)]):0}function n(n){var u=WXe(n);pGe(n,0);for(var a=0,i=0,f=0;;){var o=GXe(n);if(\"number\"==typeof o)if(1===o||Ve===o?1:0){i&&sXe(n,[0,i[1],97]);var s=wye(f),l=WXe(n);pGe(n,1);var v=lGe(n);return[0,[0,s,83===GXe(n)?[1,gx(r[9],n)]:zGe(n),dMe([0,u],[0,v],l)]]}if(12===GXe(n))var D=WXe(n),p=XGe(0,(function(r){return pGe(r,12),c(r,e)}),n),b=mMe([0,D],0),F=[0,[1,[0,p[1],[0,p[2],b]]]];else{var m=JXe(n),d=Bx($Ge[20],0,n),E=GXe(n);if(\"number\"==typeof E)if(83===E){pGe(n,83);var k=XGe([0,m],(function(r){return[0,c(r,e),t(r)]}),n),h=k[2],y=d[2];switch(y[0]){case 0:var C=[0,y[1]];break;case 1:C=[1,y[1]];break;case 2:C=nye(hke);break;default:C=[2,y[1]]}F=[0,[0,[0,k[1],[0,C,h[1],h[2],0]]]];var w=1}else w=0;else w=0;if(!w){var A=d[2];if(1===A[0]){var _=A[1],g=_[2][1],B=_[1];(MXe(g)&&hx(g,Cke)&&hx(g,wke)?(sXe(n,[0,B,2]),1):0)||OXe(g)&&iGe(n,[0,B,52]);var S=XGe([0,m],function(r,e){return function(n){return[0,[0,e,[2,[0,r,zGe(n),0]]],t(n)]}}(_,B),n),x=S[2];F=[0,[0,[0,S[1],[0,[1,_],x[1],x[2],1]]]]}else{nGe(yke,n);F=0}}}if(F){var T=F[1],I=a?(sXe(n,[0,T[1][1],63]),0):i;if(0===T[0])var N=a,O=I;else{var L=9===GXe(n)?1:0;N=1,O=L?[0,JXe(n)]:L}1!==GXe(n)&&pGe(n,9);a=N,i=O,f=[0,T,f]}else;}}return function(r){return XGe(0,n,r)}}function i(e){function t(t){var n=WXe(t);pGe(t,6);for(var u=0;;){var a=GXe(t);if(\"number\"==typeof a){if(13<=a)var i=Ve===a?1:0;else if(7<=a)switch(a-7|0){case 2:var f=JXe(t);pGe(t,9);u=[0,[2,f],u];continue;case 5:var o=WXe(t),s=XGe(0,(function(r){return pGe(r,12),c(r,e)}),t),l=s[1],v=mMe([0,o],0),D=[1,[0,l,[0,s[2],v]]];7!==GXe(t)&&(sXe(t,[0,l,62]),9===GXe(t)&&fGe(t));u=[0,D,u];continue;case 0:i=1;break;default:i=0}else i=0;if(i){var p=wye(u),b=WXe(t);return pGe(t,7),[1,[0,p,83===GXe(t)?[1,gx(r[9],t)]:zGe(t),dMe([0,n],[0,lGe(t)],b)]]}}var F=XGe(0,(function(r){var t=c(r,e),n=GXe(r);if(\"number\"==typeof n)if(79===n){pGe(r,79);var u=[0,gx($Ge[10],r)],a=1}else a=0;else a=0;if(!a)u=0;return[0,t,u]}),t),m=F[2],d=[0,[0,F[1],[0,m[1],m[2]]]];7!==GXe(t)&&pGe(t,9);u=[0,d,u]}}return function(r){return XGe(0,t,r)}}function c(r,e){var t=GXe(r);if(\"number\"==typeof t){if(6===t)return gx(i(e),r);if(0===t)return gx(a(e),r)}var n=Sx($Ge[14],r,0,e);return[0,n[1],[2,n[2]]]}return XB(e,(function(r,e){for(var t=e[2],u=t[2],a=zGe(r),i=0,c=t[1];;){if(!c){var f=[0,[0,wye(i),a,u]];return[0,e[1],f]}var o=c[1];if(0!==o[0]){var s=c[2],l=o[1],v=l[2],D=l[1];if(s){sXe(r,[0,D,63]);c=s}else{var p=v[2];i=[0,[1,[0,D,[0,Bx(n,r,v[1]),p]]],i],c=0}}else{var b=o[1],F=b[2];switch(F[0]){case 0:var m=F[2],d=F[1];switch(d[0]){case 0:var E=[0,d[1]];break;case 1:E=[1,d[1]];break;case 2:E=nye(gke);break;default:E=[2,d[1]]}var k=m[2];if(2===k[0]){var h=k[1];if(h[1])var y=0;else{var C=h[2],w=[0,h[3]];y=1}}else y=0;if(!y)C=Bx(n,r,m),w=0;var A=[0,[0,[0,b[1],[0,E,C,w,F[3]]]],i];break;case 1:sXe(r,[0,F[2][1],96]);A=i;break;default:sXe(r,[0,F[2][1],Bke]);A=i}var i=A,c=c[2]}}})),XB(t,(function(r,e){for(var t=e[2],n=t[2],a=zGe(r),i=0,c=t[1];;){if(c){var f=c[1];switch(f[0]){case 0:var o=f[1],s=o[2];if(2===s[0]){var l=s[1];if(!l[1]){i=[0,[0,[0,o[1],[0,l[2],[0,l[3]]]]],i],c=c[2];continue}}var v=u(r,o);if(v)var D=v[1],p=[0,[0,[0,D[1],[0,D,0]]],i];else p=i;i=p,c=c[2];continue;case 1:var b=c[2],F=f[1],m=F[2],d=F[1];if(b){sXe(r,[0,d,62]);c=b;continue}var E=u(r,m[1]);i=E?[0,[1,[0,d,[0,E[1],m[2]]]],i]:i,c=0;continue;default:i=[0,[2,f[1]],i],c=c[2];continue}}var k=[1,[0,wye(i),a,n]];return[0,e[1],k]}})),XB(n,(function(r,n){var u=n[2],a=n[1];switch(u[0]){case 0:return Bx(t,r,[0,a,u[1]]);case 10:var i=u[1],c=i[2][1],f=i[1];if(!(r[6]&&PXe(c)?(sXe(r,[0,f,49]),1):0)&&1-r[6])if(!(r[17]&&Ex(c,Ake)?(sXe(r,[0,f,92]),1):0)){var o=r[18];(o?Ex(c,_ke):o)&&sXe(r,[0,f,91])}return[0,a,[2,[0,i,zGe(r),0]]];case 19:return Bx(e,r,[0,a,u[1]]);default:return[0,a,[3,[0,a,u]]]}})),[0,e,t,n,a,i,c]}(YGe),tJe=function(r){function e(r){var e=GXe(r);if(\"number\"==typeof e){var t=e-96|0;if(6>>0?14===t?1:0:4<(t-1|0)>>>0?1:0)return lGe(r)}var n=YXe(r);return n?vGe(r):n}function t(t){var n=WXe(t);oGe(t,0);var u=XGe(0,(function(e){pGe(e,0),pGe(e,12);var t=gx(r[10],e);return pGe(e,1),t}),t);sGe(t);var a=mMe([0,n],[0,e(t)]);return[0,u[1],[0,u[2],a]]}function n(e){return 1===GXe(e)?0:[0,gx(r[7],e)]}function u(r){var t=WXe(r);oGe(r,0);var u=XGe(0,(function(r){pGe(r,0);var e=n(r);return pGe(r,1),e}),r);sGe(r);var a=dMe([0,t],[0,e(r)],0);return[0,u[1],[0,u[2],a]]}function a(e){oGe(e,0);var t=XGe(0,(function(e){pGe(e,0);var t=GXe(e);if(\"number\"==typeof t)if(12===t){var u=WXe(e);pGe(e,12);var a=[3,[0,gx(r[10],e),mMe([0,u],0)]],i=1}else i=0;else i=0;if(!i){var c=n(e),f=c?0:WXe(e);a=[2,[0,c,dMe(0,0,f)]]}return pGe(e,1),a}),e);return sGe(e),[0,t[1],t[2]]}function i(r){var t=JXe(r),n=GXe(r);if(\"number\"==typeof n)var u=0;else if(7===n[0]){var a=n[1];u=1}else u=0;if(!u){nGe(eke,r);a=tke}var i=WXe(r);fGe(r);var c=GXe(r);if(\"number\"==typeof c){var f=c+-10|0;if(69>>0)if(73===f)var o=1;else{var s=0;o=0}else if(67<(f-1|0)>>>0)o=1;else s=0,o=0;if(o){var l=lGe(r);s=1}}else s=0;if(!s)l=e(r);return[0,t,[0,a,mMe([0,i],[0,l])]]}function c(r){var e=UXe(1,r);if(\"number\"==typeof e){if(10===e)for(var t=XGe(0,(function(r){var e=[0,i(r)];return pGe(r,10),[0,e,i(r)]}),r);;){var n=GXe(r);if(\"number\"!=typeof n||10!==n)return[2,t];var u=function(r){return function(e){return pGe(e,10),[0,[1,r],i(e)]}}(t);t=XGe([0,t[1]],u,r)}if(83===e)return[1,XGe(0,(function(r){var e=i(r);return pGe(r,83),[0,e,i(r)]}),r)]}return[0,i(r)]}function f(r){return XGe(0,(function(r){var t=UXe(1,r);if(\"number\"==typeof t)if(83===t)var n=[1,XGe(0,(function(r){var e=i(r);return pGe(r,83),[0,e,i(r)]}),r)],a=1;else a=0;else a=0;if(!a)n=[0,i(r)];var c=GXe(r);if(\"number\"==typeof c)if(79===c){pGe(r,79);var f=WXe(r),o=GXe(r);if(\"number\"==typeof o)if(0===o){var s=u(r),l=s[2],v=s[1];l[1]||sXe(r,[0,v,53]);var D=[0,[1,v,l]],p=1}else p=0;else if(8===o[0]){var b=o[1];pGe(r,o);var F=[0,b[2]],m=mMe([0,f],[0,e(r)]);D=[0,[0,b[1],[0,F,b[3],m]]],p=1}else p=0;if(!p){tGe(r,54);D=[0,[0,JXe(r),[0,rke,ZEe,0]]]}var d=D,E=1}else E=0;else E=0;if(!E)d=0;return[0,n,d]}),r)}function o(r){return XGe(0,(function(r){pGe(r,95);var e=GXe(r);if(\"number\"==typeof e)if(96===e)var n=on,u=1;else u=0;else u=0;if(!u)for(var a=0,i=c(r);;){var o=GXe(r);if(\"number\"==typeof o){if(EE<=o)if(Ve===o)var s=1;else if($l<=o){var l=0;s=0}else s=1;else if(96===o)s=1;else{if(0===o){a=[0,[1,t(r)],a];continue}l=0,s=0}if(s){var v=wye(a);n=[0,rC,[0,i,FGe(r,EE),v]],l=1}}else l=0;if(l)break;a=[0,[0,f(r)],a]}return pGe(r,96),n}),r)}function s(r){return XGe(0,(function(r){pGe(r,95),pGe(r,EE);var e=GXe(r);if(\"number\"==typeof e)if(96===e)var t=on,n=1;else n=0;else n=0;if(!n)t=[0,rC,[0,c(r)]];return pGe(r,96),t}),r)}var l=function r(e){return r.fun(e)},v=function r(e){return r.fun(e)},D=function r(e){return r.fun(e)};function p(r){switch(r[0]){case 0:return r[1][2][1];case 1:var e=r[1][2],t=iye(HEe,e[2][2][1]);return iye(e[1][2][1],t);default:var n=r[1][2],u=n[1];return iye(0===u[0]?u[1][2][1]:p([2,u[1]]),iye(KEe,n[2][2][1]))}}return XB(l,(function(r){var e=GXe(r);if(\"number\"==typeof e){if(0===e)return a(r)}else if(8===e[0]){var t=e[1];return pGe(r,e),[0,t[1],[4,[0,t[2],t[3]]]]}var n=gx(D,r),u=n[2],i=n[1];return on<=u[1]?[0,i,[1,u[2]]]:[0,i,[0,u[2]]]})),XB(v,(function(r){var e=WXe(r),t=o(r);sGe(r);var n=t[2];if(\"number\"==typeof n?0:n[2][2])var u=XGe(0,(function(r){return 0}),r),a=870530776;else{oGe(r,3);for(var i=JXe(r),c=0;;){var f=gXe(r),D=GXe(r);if(\"number\"==typeof D){if(95===D){oGe(r,2);var b=GXe(r),F=UXe(1,r);if(\"number\"==typeof b)if(95===b)if(\"number\"==typeof F){if(EE===F)var m=1;else if(Ve===F)m=1;else{var d=1;m=0}if(m){var E=s(r),k=E[2],h=E[1],y=\"number\"==typeof k?[0,on,h]:[0,rC,[0,h,k[2]]],C=r[22][1];if(C){var w=C[2];if(w)var A=w[2],_=1;else _=0}else _=0;if(!_)A=nye(xne);r[22][1]=A;var g=fXe(r),B=aXe(r[23][1],g);r[24][1]=B;var S=[0,wye(c),f,y],x=1;d=0}}else d=1;else d=1;else d=1;if(d){var T=gx(v,r),I=T[2],N=T[1];c=[0,on<=I[1]?[0,N,[1,I[2]]]:[0,N,[0,I[2]]],c];continue}}else if(Ve===D){nGe(0,r);S=[0,wye(c),f,Rt],x=1}else{var O=1;x=0}if(x){var L=f?f[1]:i;u=[0,lMe(i,L),S[1]],a=S[3],O=0}}else O=1;if(!O)break;c=[0,gx(l,r),c]}}var P=lGe(r);if(\"number\"==typeof a)var R=0;else{var M=a[1];if(rC===M){var j=a[2],U=t[2];if(\"number\"==typeof U)tGe(r,QEe);else{var X=p(U[2][1]);hx(p(j[2][1]),X)&&tGe(r,[17,X])}var G=j[1],J=1}else if(on===M){var q=t[2];\"number\"==typeof q||rC===q[1]&&tGe(r,[17,p(q[2][1])]),G=a[2],J=1}else R=0,J=0;if(J){var z=G;R=1}}if(!R)z=t[1];var W=t[2],V=t[1];if(\"number\"==typeof W){var $=mMe([0,e],[0,P]);if(\"number\"==typeof a)var Y=0;else{var H=a[1];if(rC===H)var K=a[2][1],Q=1;else if(on===H)K=a[2],Q=1;else Y=0,Q=0;if(Q){var Z=K;Y=1}}if(!Y)Z=z;var rr=[0,on,[0,V,Z,u,$]]}else{var er=mMe([0,e],[0,P]);if(\"number\"==typeof a)var tr=0;else if(rC===a[1]){var nr=[0,a[2]];tr=1}else tr=0;if(!tr)nr=0;rr=[0,rC,[0,[0,V,W[2]],nr,u,er]]}return[0,lMe(t[1],z),rr]})),XB(D,(function(r){return oGe(r,2),gx(v,r)})),[0,e,t,n,u,a,i,c,f,o,s,l,v,D]}($Ge),nJe=function(r,e){var t=GXe(e);if(!(\"number\"==typeof t?28===t?e[6]?(tGe(e,52),1):e[14]?(nGe(0,e),1):1:58===t?e[17]?(tGe(e,2),1):e[6]?(tGe(e,52),1):1:65===t?e[18]?(tGe(e,2),1):1:0:0))if(LXe(t))aGe(e,52);else{if(\"number\"==typeof t)switch(t){case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 46:case 47:case 49:case 50:case 51:case 58:case 59:case 65:var n=1,u=1;break;default:u=0}else if(4===t[0])if(TXe(t[3]))n=1,u=1;else u=0;else u=0;if(!u)n=0;if(n)var a=n,i=0;else{var c=NXe(t);if(c)a=c,i=0;else{if(\"number\"==typeof t)switch(t){case 29:case 30:case 31:var f=1;break;default:f=0}else if(4===t[0]){var o=t[3];f=hx(o,Hne)&&hx(o,Kne)&&hx(o,Qne)?0:1}else f=0;if(f)a=1,i=0;else{var s=0;i=1}}}if(!i)s=a;if(s)nGe(0,e);else r&&RXe(t)&&aGe(e,r[1])}return jGe(e)},uJe=function r(e){return r.fun(e)},aJe=function r(e,t,n){return r.fun(e,t,n)},iJe=function r(e){return r.fun(e)},cJe=function r(e,t){return r.fun(e,t)},fJe=function r(e,t){return r.fun(e,t)},oJe=function r(e,t){return r.fun(e,t)},sJe=function r(e,t){return r.fun(e,t)},lJe=function r(e,t){return r.fun(e,t)},vJe=function r(e){return r.fun(e)},DJe=function r(e){return r.fun(e)},pJe=function r(e){return r.fun(e)},bJe=function r(e,t,n){return r.fun(e,t,n)},FJe=function r(e){return r.fun(e)},mJe=function r(e,t){return r.fun(e,t)},dJe=ZGe[3],EJe=QGe[3],kJe=QGe[1],hJe=QGe[6],yJe=ZGe[2],CJe=ZGe[1],wJe=ZGe[4],AJe=QGe[5],_Je=QGe[7],gJe=tJe[13],BJe=eJe[6],SJe=eJe[3];XB(uJe,(function(r){var e=WXe(r),t=wye(e);r:for(;;){if(t)for(var n=t[2],u=t[1],a=u[2],i=u[1],c=a[2],f=0,o=RS(c);;){if(o<(f+5|0))var s=0;else{var l=Ex(Gye(c,f,5),Sne);if(!l){f=f+1|0;continue}s=l}if(!s){t=n;continue r}r[29][1]=i[3];var v=wye([0,[0,i,a],n]);break}else v=t;if(0===v){if(e){var D=e[1],p=D[2];if(0===p[1]){var b=p[2];if(1<=RS(b))if(42===kx(b,0)){r[29][1]=D[1][3];var F=[0,D,0],m=1,d=0}else d=1;else d=1;if(d)m=0}else m=0}else m=0;if(!m)F=0}else F=v;var E=Bx(cJe,r,(function(r){return 0})),k=JXe(r);if(pGe(r,Ve),E)var h=hye(wye(E))[1],y=lMe(hye(E)[1],h);else y=k;var C=wye(r[2][1]);return[0,y,[0,E,mMe([0,F],0),C]]}})),XB(aJe,(function(r,e,t){for(var n=mXe(1,r),u=xhe;;){var a=u[2],i=u[1],c=GXe(n);if(\"number\"==typeof c)if(Ve===c)var f=[0,n,i,a],o=1;else o=0;else o=0;if(!o)if(gx(e,c))f=[0,n,i,a];else{if(\"number\"==typeof c)var s=0;else if(2===c[0]){var l=gx(t,n),v=[0,l,a],D=l[2];if(19===D[0]){var p=D[1][2];if(p){var b=n[6]||Ex(p[1],She);n=pXe(b,n),u=[0,[0,c,i],v];continue}}f=[0,n,i,v],s=1}else s=0;if(!s)f=[0,n,i,a]}var F=mXe(0,n);return Bye((function(r){if(\"number\"!=typeof r&&2===r[0]){var e=r[1],t=e[4];return t?iGe(F,[0,e[1],43]):t}return nye(iye(Ihe,iye(_Me(r),The)))}),wye(i)),[0,F,f[3]]}})),XB(iJe,(function(r){var e=gx(ZGe[6],r),t=GXe(r);if(\"number\"==typeof t){var n=t-49|0;if(!(11>>0))switch(n){case 0:return Bx(rJe[16],e,r);case 1:gx(uGe(r),e);var u=UXe(1,r);return gx(\"number\"==typeof u&&4===u?rJe[17]:rJe[18],r);case 11:if(49===UXe(1,r))return gx(uGe(r),e),Bx(rJe[12],0,r)}}return Bx(lJe,[0,e],r)})),XB(cJe,(function(r,e){var t=Sx(aJe,r,e,iJe);return Sye((function(r,e){return[0,e,r]}),Bx(fJe,e,t[1]),t[2])})),XB(fJe,(function(r,e){for(var t=0;;){var n=GXe(e);if(\"number\"==typeof n&&Ve===n)return wye(t);if(gx(r,n))return wye(t);t=[0,gx(iJe,e),t]}})),XB(oJe,(function(r,e){var t=Sx(aJe,e,r,(function(r){return Bx(lJe,0,r)})),n=t[1];return[0,Sye((function(r,e){return[0,e,r]}),Bx(sJe,r,n),t[2]),n[6]]})),XB(sJe,(function(r,e){for(var t=0;;){var n=GXe(e);if(\"number\"==typeof n&&Ve===n)return wye(t);if(gx(r,n))return wye(t);t=[0,Bx(lJe,0,e),t]}})),XB(lJe,(function(r,e){var t=r?r[1]:r;1-eGe(e)&&gx(uGe(e),t);var n=GXe(e);if(\"number\"==typeof n){if(27===n)return gx(rJe[27],e);if(28===n)return gx(rJe[3],e)}if(rGe(e))return gx(HGe[11],e);if(eGe(e))return Bx(dJe,e,t);if(\"number\"==typeof n){var u=n+$A|0;if(!(14>>0))switch(u){case 0:if(e[26][1])return gx(HGe[12],e);break;case 5:return gx(rJe[19],e);case 12:return Bx(rJe[11],0,e);case 13:return gx(rJe[25],e);case 14:return gx(rJe[21],e)}}return gx(vJe,e)})),XB(vJe,(function(r){var e=GXe(r);if(\"number\"==typeof e)switch(e){case 0:return gx(rJe[7],r);case 8:return gx(rJe[15],r);case 19:return gx(rJe[22],r);case 20:return gx(rJe[23],r);case 22:return gx(rJe[24],r);case 23:return gx(rJe[4],r);case 24:return gx(rJe[26],r);case 25:return gx(rJe[5],r);case 26:return gx(rJe[6],r);case 32:return gx(rJe[8],r);case 35:return gx(rJe[9],r);case 37:return gx(rJe[14],r);case 39:return gx(rJe[1],r);case 59:return gx(rJe[10],r);case 110:return nGe(_he,r),[0,JXe(r),ghe];case 16:case 43:return gx(rJe[2],r);case 1:case 5:case 7:case 9:case 10:case 11:case 12:case 17:case 18:case 33:case 34:case 36:case 38:case 41:case 42:case 49:case 80:case 83:return nGe(Bhe,r),fGe(r),gx(vJe,r)}if(rGe(r)){var t=gx(HGe[11],r);return cGe(r,t[1]),t}if(\"number\"==typeof e&&28===e&&6===UXe(1,r)){var n=XXe(1,r);return sXe(r,[0,lMe(JXe(r),n),93]),gx(rJe[17],r)}return ZXe(r)?gx(rJe[20],r):eGe(r)?(nGe(0,r),fGe(r),gx(rJe[17],r)):gx(rJe[17],r)})),XB(DJe,(function(r){var e=JXe(r),t=gx(QGe[1],r),n=GXe(r);return\"number\"==typeof n&&9===n?Sx(QGe[8],r,e,[0,t,0]):t})),XB(pJe,(function(r){var e=JXe(r),t=gx(QGe[2],r),n=GXe(r);if(\"number\"==typeof n&&9===n){var u=[0,Bx(KGe[1],r,t),0];return[0,Sx(QGe[8],r,e,u)]}return t})),XB(bJe,(function(r,e,t){var n=e?e[1]:e;return XGe(0,(function(r){var e=1-n,u=nJe([0,t],r),a=e?82===GXe(r)?1:0:e;return a&&(1-oXe(r)&&tGe(r,12),pGe(r,82)),[0,u,gx(YGe[10],r),a]}),r)})),XB(FJe,(function(r){var e=JXe(r),t=WXe(r);pGe(r,0);var n=Bx(sJe,(function(r){return 1===r?1:0}),r),u=0===n?1:0,a=JXe(r),i=u?WXe(r):u;pGe(r,1);var c=[0,n,dMe([0,t],[0,lGe(r)],i)];return[0,lMe(e,a),c]})),XB(mJe,(function(r,e){var t=JXe(e),n=WXe(e);pGe(e,0);var u=Bx(oJe,(function(r){return 1===r?1:0}),e),a=u[1],i=0===a?1:0,c=JXe(e),f=i?WXe(e):i;pGe(e,1);var o=GXe(e);if(0===r){if(\"number\"==typeof o)if(1===o)var s=0,l=0;else if(Ve===o)s=0,l=0;else l=1;else l=1;if(l){var v=YXe(e);if(v){var D=vGe(e);s=1}else D=v,s=1}}else s=0;if(!s)D=lGe(e);var p=u[2],b=[0,a,dMe([0,n],[0,D],f)];return[0,lMe(t,c),b,p]})),Sx(eAe,Lhe,$Ge,[0,uJe,vJe,lJe,sJe,oJe,fJe,DJe,pJe,EJe,kJe,hJe,yJe,nJe,bJe,FJe,mJe,gJe,BJe,SJe,CJe,dJe,wJe,AJe,_Je]);var xJe=[0,0],TJe=HS,IJe=YS,NJe=function(r){return KS($ye(r))},OJe=function(r){return $S($ye(r))},LJe=function(r,e,t){try{var n=new RegExp(e.toString(),t.toString())}catch(e){xJe[1]=[0,[0,r,24],xJe[1]];n=new RegExp(qC,t.toString())}return n},PJe=function(r){function e(r,e){return OJe(wye(gye(r,e)))}function t(r,e){return e?gx(r,e[1]):SAe}function n(r,e){return 0===e[0]?SAe:gx(r,e[1])}function u(r){return NJe([0,[0,CFe,r[1]],[0,[0,yFe,r[2]],0]])}function a(r){var e=r[1];if(e)var t=e[1],n=\"number\"==typeof t?nn:t[1].toString();else n=SAe;var a=[0,[0,EFe,u(r[3])],0];return NJe([0,[0,hFe,n],[0,[0,kFe,u(r[2])],a]])}function i(r){if(r){var e=r[1],t=[0,fye(e[3],e[2])];return mMe([0,e[1]],t)}return r}function c(u){function c(e,t,n,i){var c=r[1];if(c){if(u)var f=u[1],o=[0,MGe(f,t[3]),0],s=[0,[0,pae,OJe([0,MGe(f,t[2]),o])],0];else s=u;var l=fye(s,[0,[0,bae,a(t)],0])}else l=c;if(0===r[3])var v=0;else if(n){var D=n[1],p=D[1];if(p){var b=D[2];if(b)var F=[0,[0,Fae,Cr(b)],0],m=[0,[0,mae,Cr(p)],F];else m=[0,[0,dae,Cr(p)],0];var d=m}else{var E=D[2];d=E?[0,[0,Eae,Cr(E)],0]:E}var k=d;v=1}else v=0;if(!v)k=0;return NJe(Cye(fye(l,fye(k,[0,[0,kae,e.toString()],0])),i))}function f(r){return e(d,r)}function o(r){var t=r[2];switch(t[2]){case 0:var n=Yve;break;case 1:n=Hve;break;default:n=Kve}var u=[0,[0,Qve,n.toString()],0],a=[0,[0,Zve,e(K,t[1])],u];return c(rDe,r[1],t[3],a)}function s(r){var n=r[2],u=[0,[0,mle,e(P,n[3])],0],a=[0,[0,dle,rr(0,n[4])],u],i=[0,[0,Ele,t(fr,n[2])],a],f=[0,[0,kle,C(n[1])],i];return c(hle,r[1],n[5],f)}function l(r,n){var u=n[2],a=u[7],i=u[5],f=u[4];if(f)var o=f[1][2],s=EMe(o[3],a),l=[0,o[1]],v=o[2],D=s;else l=0,v=0,D=a;if(i)var p=i[1][2],b=EMe(p[2],D),F=e(O,p[1]),m=b;else F=OJe(0),m=D;var d=[0,[0,rse,F],[0,[0,Zoe,e(N,u[6])],0]],E=[0,[0,ese,t(sr,v)],d],k=[0,[0,tse,t(A,l)],E],h=[0,[0,nse,t(fr,u[3])],k],y=u[2],w=y[2],_=[0,[0,lse,e(L,w[1])],0],g=[0,[0,use,c(vse,y[1],w[2],_)],h],B=[0,[0,ase,t(C,u[1])],g];return c(r,n[1],m,B)}function v(r,e){var n=e[2],u=r?zoe:Woe,a=[0,[0,Voe,t(tr,n[4])],0],i=[0,[0,$oe,t(tr,n[3])],a],f=[0,[0,Yoe,t(fr,n[2])],i],o=[0,[0,Hoe,C(n[1])],f];return c(u,e[1],n[5],o)}function D(r){var e=r[2],n=[0,[0,Xoe,tr(e[3])],0],u=[0,[0,Goe,t(fr,e[2])],n],a=[0,[0,Joe,C(e[1])],u];return c(qoe,r[1],e[4],a)}function p(r){var n=r[2],u=n[6],a=n[4],i=OJe(a?[0,P(a[1]),0]:0),f=u?e(O,u[1][2][1]):OJe(0),o=[0,[0,Coe,i],[0,[0,yoe,f],[0,[0,hoe,e(P,n[5])],0]]],s=[0,[0,woe,rr(0,n[3])],o],l=[0,[0,Aoe,t(fr,n[2])],s],v=[0,[0,_oe,C(n[1])],l];return c(goe,r[1],n[7],v)}function b(r){var e=r[2],n=e[2],u=e[1],a=lMe(u[1],n[1]),i=[0,[0,doe,t(Ar,e[3])],0],f=[0,[0,Eoe,g(a,[0,u,[1,n],0])],i];return c(koe,r[1],e[4],f)}function F(r){var e=r[2],t=e[2],n=e[1],u=0===t[0]?n[1]:t[1][1],a=[0,[0,Foe,g(lMe(n[1],u),[0,n,t,0])],0];return c(moe,r[1],e[3],a)}function m(r){var e=r[2],t=[0,[0,poe,f(e[1])],0],n=i(e[2]);return c(boe,r[1],n,t)}function d(r){var n=r[2],u=r[1];switch(n[0]){case 0:return m([0,u,n[1]]);case 1:var a=n[1],f=[0,[0,Aae,t(C,a[1])],0];return c(_ae,u,a[2],f);case 2:return l(Koe,[0,u,n[1]]);case 3:var E=n[1],k=[0,[0,gae,t(C,E[1])],0];return c(Bae,u,E[2],k);case 4:return c(Sae,u,n[1][1],0);case 5:return p([0,u,n[1]]);case 6:var h=n[1],y=h[5],w=h[4],_=h[3],g=h[2];if(_){var B=_[1];if(0!==B[0]&&!B[2])return c(Tae,u,y,[0,[0,xae,t(Y,w)],0])}if(g){var N=g[1];switch(N[0]){case 0:var O=F(N[1]);break;case 1:O=b(N[1]);break;case 2:O=p(N[1]);break;case 3:O=tr(N[1]);break;case 4:O=D(N[1]);break;case 5:O=v(1,N[1]);break;default:O=s(N[1])}var L=O}else L=SAe;var M=[0,[0,Iae,t(Y,w)],0],j=[0,[0,Oae,L],[0,[0,Nae,I(_)],M]],X=h[1];return c(Pae,u,y,[0,[0,Lae,!!(X?1:X)],j]);case 7:return b([0,u,n[1]]);case 8:var G=n[1],J=[0,[0,Boe,e(P,G[3])],0],q=[0,[0,Soe,rr(0,G[4])],J],z=[0,[0,xoe,t(fr,G[2])],q],W=[0,[0,Toe,C(G[1])],z];return c(Ioe,u,G[5],W);case 9:var V=n[1],$=V[1],H=0===$[0]?C($[1]):Y($[1]),K=0===V[3][0]?\"CommonJS\":\"ES\",Q=[0,[0,jae,H],[0,[0,Mae,m(V[2])],[0,[0,Rae,K],0]]];return c(Uae,u,V[4],Q);case 10:var Z=n[1],er=[0,[0,Xae,cr(Z[1])],0];return c(Gae,u,Z[2],er);case 11:var nr=n[1],ur=[0,[0,Roe,tr(nr[3])],0],ar=[0,[0,Moe,t(fr,nr[2])],ur],ir=[0,[0,joe,C(nr[1])],ar];return c(Uoe,u,nr[4],ir);case 12:return v(1,[0,u,n[1]]);case 13:return F([0,u,n[1]]);case 14:var or=n[1],sr=[0,[0,Jae,A(or[2])],0],lr=[0,[0,qae,d(or[1])],sr];return c(zae,u,or[3],lr);case 15:return c(Wae,u,n[1][1],0);case 16:var vr=n[1],Dr=vr[2],pr=Dr[2],br=Dr[1];switch(pr[0]){case 0:var Fr=pr[1],mr=[0,[0,rle,!!Fr[2]],[0,[0,Zse,!!Fr[3]],0]],dr=Fr[1],Er=[0,[0,ele,e((function(r){var e=r[2],t=[0,[0,Hse,!!e[2][2][1]],0],n=[0,[0,Kse,C(e[1])],t];return c(Qse,r[1],0,n)}),dr)],mr],kr=c(tle,br,Fr[4],Er);break;case 1:var hr=pr[1],yr=[0,[0,ule,!!hr[2]],[0,[0,nle,!!hr[3]],0]],Cr=hr[1],wr=[0,[0,ale,e((function(r){var e=r[2],t=e[2],n=t[2],u=[0,[0,Vse,c(Tve,t[1],n[3],[0,[0,xve,n[1]],[0,[0,Sve,n[2].toString()],0]])],0],a=[0,[0,$se,C(e[1])],u];return c(Yse,r[1],0,a)}),Cr)],yr];kr=c(ile,br,hr[4],wr);break;case 2:var _r=pr[1],gr=_r[1];if(0===gr[0])var Br=_ye((function(r){var e=[0,[0,zse,C(r[2][1])],0];return c(Wse,r[1],0,e)}),gr[1]);else Br=_ye((function(r){var e=r[2],t=[0,[0,Gse,Y(e[2])],0],n=[0,[0,Jse,C(e[1])],t];return c(qse,r[1],0,n)}),gr[1]);var Sr=[0,[0,fle,!!_r[2]],[0,[0,cle,!!_r[3]],0]],xr=[0,[0,ole,OJe(Br)],Sr];kr=c(sle,br,_r[4],xr);break;default:var Tr=pr[1],Ir=[0,[0,lle,!!Tr[2]],0],Nr=Tr[1],Or=[0,[0,vle,e((function(r){var e=[0,[0,Use,C(r[2][1])],0];return c(Xse,r[1],0,e)}),Nr)],Ir];kr=c(Dle,br,Tr[3],Or)}var Lr=[0,[0,ble,C(vr[1])],[0,[0,ple,kr],0]];return c(Fle,u,vr[3],Lr);case 17:var Pr=n[1],Rr=Pr[2],Mr=0===Rr[0]?d(Rr[1]):A(Rr[1]),jr=[0,[0,$ae,Mr],[0,[0,Vae,T(1).toString()],0]];return c(Yae,u,Pr[3],jr);case 18:var Ur=n[1],Xr=Ur[5],Gr=Ur[4],Jr=Ur[3],qr=Ur[2];if(qr){var zr=qr[1];if(0!==zr[0]&&!zr[2]){var Wr=[0,[0,Hae,T(Gr).toString()],0];return c(Qae,u,Xr,[0,[0,Kae,t(Y,Jr)],Wr])}}var $r=[0,[0,Zae,T(Gr).toString()],0],Yr=[0,[0,rie,t(Y,Jr)],$r],Hr=[0,[0,eie,I(qr)],Yr];return c(nie,u,Xr,[0,[0,tie,t(d,Ur[1])],Hr]);case 19:var Kr=n[1],Qr=[0,[0,uie,t(TJe,Kr[2])],0],Zr=[0,[0,aie,A(Kr[1])],Qr];return c(iie,u,Kr[3],Zr);case 20:var re=n[1],ee=[0,[0,cie,d(re[4])],0],te=[0,[0,fie,t(A,re[3])],ee],ne=[0,[0,oie,t(A,re[2])],te],ue=[0,[0,sie,t((function(r){return 0===r[0]?o(r[1]):A(r[1])}),re[1])],ne];return c(lie,u,re[5],ue);case 21:var ae=n[1],ie=ae[1],ce=0===ie[0]?o(ie[1]):R(ie[1]),fe=[0,[0,vie,!!ae[4]],0],oe=[0,[0,Die,d(ae[3])],fe],se=[0,[0,bie,ce],[0,[0,pie,A(ae[2])],oe]];return c(Fie,u,ae[5],se);case 22:var le=n[1],ve=le[1],De=0===ve[0]?o(ve[1]):R(ve[1]),pe=[0,[0,mie,!!le[4]],0],be=[0,[0,die,d(le[3])],pe],Fe=[0,[0,kie,De],[0,[0,Eie,A(le[2])],be]];return c(hie,u,le[5],Fe);case 23:var me=n[1],de=me[7],Ee=me[3],ke=me[2],he=0===Ee[0]?Ee[1]:nye(xfe),ye=0===de[0]?0:[0,de[1]],Ce=me[9],we=EMe(i(ke[2][4]),Ce),Ae=[0,[0,Tfe,t(fr,me[8])],0],_e=[0,[0,Nfe,!1],[0,[0,Ife,t(cr,ye)],Ae]],ge=[0,[0,Ofe,t(Ar,me[6])],_e],Be=[0,[0,Pfe,!!me[4]],[0,[0,Lfe,!!me[5]],ge]],Se=[0,[0,Rfe,m(he)],Be],xe=[0,[0,Mfe,U(ke)],Se];return c(Ufe,u,we,[0,[0,jfe,t(C,me[1])],xe]);case 24:var Te=n[1],Ie=Te[3];if(Ie){var Ne=Ie[1][2],Oe=Ne[2],Le=Ne[1],Pe=Le[2],Re=function(r){return EMe(r,Oe)};switch(Pe[0]){case 0:var Me=Pe[1],je=kMe(Me[2],Oe),Ue=[0,[0,Me[1],je]];break;case 1:var Xe=Pe[1],Ge=Re(Xe[2]);Ue=[1,[0,Xe[1],Ge]];break;case 2:var Je=Pe[1],qe=Re(Je[7]);Ue=[2,[0,Je[1],Je[2],Je[3],Je[4],Je[5],Je[6],qe]];break;case 3:var ze=Pe[1],We=Re(ze[2]);Ue=[3,[0,ze[1],We]];break;case 4:Ue=[4,[0,Re(Pe[1][1])]];break;case 5:var Ve=Pe[1],$e=Re(Ve[7]);Ue=[5,[0,Ve[1],Ve[2],Ve[3],Ve[4],Ve[5],Ve[6],$e]];break;case 6:var Ye=Pe[1],He=Re(Ye[5]);Ue=[6,[0,Ye[1],Ye[2],Ye[3],Ye[4],He]];break;case 7:var Ke=Pe[1],Qe=Re(Ke[4]);Ue=[7,[0,Ke[1],Ke[2],Ke[3],Qe]];break;case 8:var Ze=Pe[1],rt=Re(Ze[5]);Ue=[8,[0,Ze[1],Ze[2],Ze[3],Ze[4],rt]];break;case 9:var et=Pe[1],tt=Re(et[4]);Ue=[9,[0,et[1],et[2],et[3],tt]];break;case 10:var nt=Pe[1],ut=Re(nt[2]);Ue=[10,[0,nt[1],ut]];break;case 11:var at=Pe[1],it=Re(at[4]);Ue=[11,[0,at[1],at[2],at[3],it]];break;case 12:var ct=Pe[1],ft=Re(ct[5]);Ue=[12,[0,ct[1],ct[2],ct[3],ct[4],ft]];break;case 13:var ot=Pe[1],st=Re(ot[3]);Ue=[13,[0,ot[1],ot[2],st]];break;case 14:var lt=Pe[1],vt=Re(lt[3]);Ue=[14,[0,lt[1],lt[2],vt]];break;case 15:Ue=[15,[0,Re(Pe[1][1])]];break;case 16:var Dt=Pe[1],pt=Re(Dt[3]);Ue=[16,[0,Dt[1],Dt[2],pt]];break;case 17:var bt=Pe[1],Ft=Re(bt[3]);Ue=[17,[0,bt[1],bt[2],Ft]];break;case 18:var mt=Pe[1],dt=Re(mt[5]);Ue=[18,[0,mt[1],mt[2],mt[3],mt[4],dt]];break;case 19:var Et=Pe[1],kt=Re(Et[3]);Ue=[19,[0,Et[1],Et[2],kt]];break;case 20:var ht=Pe[1],yt=Re(ht[5]);Ue=[20,[0,ht[1],ht[2],ht[3],ht[4],yt]];break;case 21:var Ct=Pe[1],wt=Re(Ct[5]);Ue=[21,[0,Ct[1],Ct[2],Ct[3],Ct[4],wt]];break;case 22:var At=Pe[1],_t=Re(At[5]);Ue=[22,[0,At[1],At[2],At[3],At[4],_t]];break;case 23:var gt=Pe[1],Bt=gt[10],St=Re(gt[9]);Ue=[23,[0,gt[1],gt[2],gt[3],gt[4],gt[5],gt[6],gt[7],gt[8],St,Bt]];break;case 24:var xt=Pe[1],Tt=Re(xt[4]);Ue=[24,[0,xt[1],xt[2],xt[3],Tt]];break;case 25:var It=Pe[1],Nt=Re(It[5]);Ue=[25,[0,It[1],It[2],It[3],It[4],Nt]];break;case 26:var Ot=Pe[1],Lt=Re(Ot[5]);Ue=[26,[0,Ot[1],Ot[2],Ot[3],Ot[4],Lt]];break;case 27:var Pt=Pe[1],Rt=Re(Pt[3]);Ue=[27,[0,Pt[1],Pt[2],Rt]];break;case 28:var Mt=Pe[1],jt=Re(Mt[2]);Ue=[28,[0,Mt[1],jt]];break;case 29:var Ut=Pe[1],Xt=Re(Ut[3]);Ue=[29,[0,Ut[1],Ut[2],Xt]];break;case 30:var Gt=Pe[1],Jt=Re(Gt[2]);Ue=[30,[0,Gt[1],Jt]];break;case 31:var qt=Pe[1],zt=Re(qt[4]);Ue=[31,[0,qt[1],qt[2],qt[3],zt]];break;case 32:var Wt=Pe[1],Vt=Re(Wt[4]);Ue=[32,[0,Wt[1],Wt[2],Wt[3],Vt]];break;case 33:var $t=Pe[1],Yt=Re($t[5]);Ue=[33,[0,$t[1],$t[2],$t[3],$t[4],Yt]];break;case 34:var Ht=Pe[1],Kt=Re(Ht[3]);Ue=[34,[0,Ht[1],Ht[2],Kt]];break;case 35:var Qt=Pe[1],Zt=Re(Qt[3]);Ue=[35,[0,Qt[1],Qt[2],Zt]];break;default:var rn=Pe[1],en=Re(rn[3]);Ue=[36,[0,rn[1],rn[2],en]]}var tn=d([0,Le[1],Ue])}else tn=SAe;var nn=[0,[0,Cie,d(Te[2])],[0,[0,yie,tn],0]],un=[0,[0,wie,A(Te[1])],nn];return c(Aie,u,Te[4],un);case 25:var an=n[1],cn=an[4],fn=an[3];if(cn){var on=cn[1];if(0===on[0])var sn=_ye((function(r){var e=r[1],t=r[3],n=r[2],u=n?lMe(t[1],n[1][1]):t[1],a=n?n[1]:t;if(e)switch(e[1]){case 0:var i=Vr,f=1;break;case 1:i=Cf,f=1;break;default:f=0}else f=0;if(!f)i=SAe;var o=[0,[0,tFe,C(a)],[0,[0,eFe,i],0]];return c(uFe,u,0,[0,[0,nFe,C(t)],o])}),on[1]);else{var ln=on[1],vn=[0,[0,Zbe,C(ln[2])],0];sn=[0,c(rFe,ln[1],0,vn),0]}var Dn=sn}else Dn=cn;if(fn)var pn=fn[1],bn=[0,[0,Kbe,C(pn)],0],Fn=[0,c(Qbe,pn[1],0,bn),Dn];else Fn=Dn;switch(an[1]){case 0:var mn=_ie;break;case 1:mn=gie;break;default:mn=Bie}var dn=[0,[0,Sie,mn.toString()],0],En=[0,[0,xie,Y(an[2])],dn],kn=[0,[0,Tie,OJe(Fn)],En];return c(Iie,u,an[5],kn);case 26:return s([0,u,n[1]]);case 27:var hn=n[1],yn=[0,[0,Nie,d(hn[2])],0],Cn=[0,[0,Oie,C(hn[1])],yn];return c(Lie,u,hn[3],Cn);case 28:var wn=n[1],An=[0,[0,Pie,t(A,wn[1])],0];return c(Rie,u,wn[2],An);case 29:var _n=n[1],gn=[0,[0,Mie,e(S,_n[2])],0],Bn=[0,[0,jie,A(_n[1])],gn];return c(Uie,u,_n[3],Bn);case 30:var Sn=n[1],xn=[0,[0,Xie,A(Sn[1])],0];return c(Gie,u,Sn[2],xn);case 31:var Tn=n[1],In=[0,[0,Jie,t(m,Tn[3])],0],Nn=[0,[0,qie,t(x,Tn[2])],In],On=[0,[0,zie,m(Tn[1])],Nn];return c(Wie,u,Tn[4],On);case 32:return D([0,u,n[1]]);case 33:return v(0,[0,u,n[1]]);case 34:return o([0,u,n[1]]);case 35:var Ln=n[1],Pn=[0,[0,Vie,d(Ln[2])],0],Rn=[0,[0,$ie,A(Ln[1])],Pn];return c(Yie,u,Ln[3],Rn);default:var Mn=n[1],jn=[0,[0,Hie,d(Mn[2])],0],Un=[0,[0,Kie,A(Mn[1])],jn];return c(Qie,u,Mn[3],Un)}}function E(r){var t=r[2],n=[0,[0,bbe,c(_be,t[2],0,0)],0],u=[0,[0,Fbe,e(Fr,t[3][2])],n],a=[0,[0,mbe,c(Cbe,t[1],0,0)],u];return c(dbe,r[1],t[4],a)}function k(r){var n=r[2],u=[0,[0,lbe,e(Fr,n[3][2])],0],a=[0,[0,vbe,t(pr,n[2])],u],i=n[1],f=i[2],o=[0,[0,Ebe,!!f[2]],0],s=[0,[0,kbe,e(Dr,f[3])],o],l=[0,[0,hbe,kr(f[1])],s],v=[0,[0,Dbe,c(ybe,i[1],0,l)],a];return c(pbe,r[1],n[4],v)}function h(r){var t=r[2],n=[0,[0,Mve,e(A,t[2])],0],u=[0,[0,jve,e(H,t[1])],n];return c(Uve,r[1],t[3],u)}function y(r){var e=r[2],t=e[2],n=e[1],u=r[1];if(\"number\"==typeof n)var a=SAe;else switch(n[0]){case 0:a=n[1].toString();break;case 1:a=!!n[1];break;case 2:a=n[1];break;case 3:a=nye(kve);break;default:var i=n[1];a=LJe(u,i[1],i[2])}if(\"number\"==typeof n)var f=0;else if(4===n[0]){var o=n[1],s=[0,[0,Cve,NJe([0,[0,yve,o[1].toString()],[0,[0,hve,o[2].toString()],0]])],0],l=[0,[0,Ave,a],[0,[0,wve,t.toString()],s]];f=1}else f=0;if(!f)l=[0,[0,gve,a],[0,[0,_ve,t.toString()],0]];return c(Bve,u,e[3],l)}function C(r){var e=r[2];return c(eoe,r[1],e[2],[0,[0,roe,e[1].toString()],[0,[0,Zfe,SAe],[0,[0,Qfe,!1],0]]])}function w(r){var e=r[2],n=e[7],u=e[3],a=e[2],f=0===u[0]?u[1]:nye(Xfe),o=0===n[0]?0:[0,n[1]],s=e[9],l=EMe(i(a[2][4]),s),v=[0,[0,Gfe,t(fr,e[8])],0],D=[0,[0,qfe,!1],[0,[0,Jfe,t(cr,o)],v]],p=[0,[0,zfe,t(Ar,e[6])],D],b=[0,[0,Vfe,!!e[4]],[0,[0,Wfe,!!e[5]],p]],F=[0,[0,$fe,m(f)],b],d=[0,[0,Yfe,U(a)],F],E=[0,[0,Hfe,t(C,e[1])],d];return c(Kfe,r[1],l,E)}function A(r){var n=r[2],u=r[1];switch(n[0]){case 0:var a=n[1],f=[0,[0,Zie,e(V,a[1])],0];return c(rce,u,i(a[2]),f);case 1:var o=n[1],s=o[7],v=o[3],D=o[2],p=0===v[0]?[0,m(v[1]),0]:[0,A(v[1]),1],b=0===s[0]?0:[0,s[1]],F=o[9],d=EMe(i(D[2][4]),F),_=[0,[0,ece,t(fr,o[8])],0],g=[0,[0,tce,t(cr,b)],_],S=[0,[0,nce,!!p[2]],g],x=[0,[0,ace,!1],[0,[0,uce,t(Ar,o[6])],S]],T=[0,[0,cce,p[1]],[0,[0,ice,!!o[4]],x]];return c(sce,u,d,[0,[0,oce,SAe],[0,[0,fce,U(D)],T]]);case 2:var I=n[1],N=I[1];if(N){switch(N[1]){case 0:var O=_zr;break;case 1:O=gzr;break;case 2:O=Bzr;break;case 3:O=Szr;break;case 4:O=xzr;break;case 5:O=Tzr;break;case 6:O=Izr;break;case 7:O=Nzr;break;case 8:O=Ozr;break;case 9:O=Lzr;break;case 10:O=Pzr;break;default:O=Rzr}var L=O}else L=lce;var P=[0,[0,vce,A(I[3])],0],M=[0,[0,Dce,R(I[2])],P];return c(bce,u,I[4],[0,[0,pce,L.toString()],M]);case 3:var j=n[1],X=[0,[0,Fce,A(j[3])],0],G=[0,[0,mce,A(j[2])],X];switch(j[1]){case 0:var q=uzr;break;case 1:q=azr;break;case 2:q=izr;break;case 3:q=czr;break;case 4:q=fzr;break;case 5:q=ozr;break;case 6:q=szr;break;case 7:q=lzr;break;case 8:q=vzr;break;case 9:q=Dzr;break;case 10:q=pzr;break;case 11:q=bzr;break;case 12:q=Fzr;break;case 13:q=mzr;break;case 14:q=dzr;break;case 15:q=Ezr;break;case 16:q=kzr;break;case 17:q=hzr;break;case 18:q=yzr;break;case 19:q=Czr;break;case 20:q=wzr;break;default:q=Azr}return c(Ece,u,j[4],[0,[0,dce,q.toString()],G]);case 4:var z=n[1],W=z[4],Y=EMe(i(z[3][2][2]),W);return c(kce,u,Y,_r(z));case 5:return l(Qoe,[0,u,n[1]]);case 6:var H=n[1],K=[0,[0,hce,t(A,H[2])],0];return c(Cce,u,0,[0,[0,yce,e($,H[1])],K]);case 7:var Q=n[1],Z=[0,[0,wce,A(Q[3])],0],rr=[0,[0,Ace,A(Q[2])],Z],er=[0,[0,_ce,A(Q[1])],rr];return c(gce,u,Q[4],er);case 8:return w([0,u,n[1]]);case 9:var tr=n[1],nr=[0,[0,Bce,t(A,tr[2])],0];return c(xce,u,0,[0,[0,Sce,e($,tr[1])],nr]);case 10:return C(n[1]);case 11:var ur=n[1],ar=[0,[0,Tce,A(ur[1])],0];return c(Ice,u,ur[2],ar);case 12:return k([0,u,n[1]]);case 13:return E([0,u,n[1]]);case 14:var ir=n[1],or=ir[1];return\"number\"!=typeof or&&3===or[0]?c(Ove,u,ir[3],[0,[0,Nve,SAe],[0,[0,Ive,ir[2].toString()],0]]):y([0,u,ir]);case 15:var sr=n[1];switch(sr[1]){case 0:var vr=Nce;break;case 1:vr=Oce;break;default:vr=Lce}var Dr=[0,[0,Pce,A(sr[3])],0],pr=[0,[0,Rce,A(sr[2])],Dr];return c(jce,u,sr[4],[0,[0,Mce,vr.toString()],pr]);case 16:var br=n[1],Fr=gr(br);return c(Uce,u,br[3],Fr);case 17:var mr=n[1],dr=[0,[0,Xce,C(mr[2])],0],Er=[0,[0,Gce,C(mr[1])],dr];return c(Jce,u,mr[3],Er);case 18:var kr=n[1],hr=kr[4],yr=kr[3];if(yr)var Cr=yr[1],wr=EMe(i(Cr[2][2]),hr),Br=B(Cr),Sr=wr;else Br=OJe(0),Sr=hr;var xr=[0,[0,zce,t(lr,kr[2])],[0,[0,qce,Br],0]];return c(Vce,u,Sr,[0,[0,Wce,A(kr[1])],xr]);case 19:var Tr=n[1],Ir=[0,[0,$ce,e(J,Tr[1])],0];return c(Yce,u,i(Tr[2]),Ir);case 20:var Nr=n[1],Or=Nr[1],Lr=Or[4],Pr=EMe(i(Or[3][2][2]),Lr),Rr=[0,[0,Hce,!!Nr[2]],0];return c(Kce,u,Pr,fye(_r(Or),Rr));case 21:var Mr=n[1],jr=Mr[1],Ur=[0,[0,Qce,!!Mr[2]],0],Xr=fye(gr(jr),Ur);return c(Zce,u,jr[3],Xr);case 22:var Gr=n[1],Jr=[0,[0,rfe,e(A,Gr[1])],0];return c(efe,u,Gr[2],Jr);case 23:return c(tfe,u,n[1][1],0);case 24:var qr=n[1],zr=[0,[0,Wve,h(qr[2])],0],Wr=[0,[0,Vve,A(qr[1])],zr];return c($ve,u,qr[3],Wr);case 25:return h([0,u,n[1]]);case 26:return c(nfe,u,n[1][1],0);case 27:var Vr=n[1],$r=[0,[0,ufe,cr(Vr[2])],0],Yr=[0,[0,afe,A(Vr[1])],$r];return c(ife,u,Vr[3],Yr);case 28:var Hr=n[1],Kr=Hr[3],Qr=Hr[2],Zr=Hr[1];if(7<=Zr)return c(ffe,u,Kr,[0,[0,cfe,A(Qr)],0]);switch(Zr){case 0:var re=ofe;break;case 1:re=sfe;break;case 2:re=lfe;break;case 3:re=vfe;break;case 4:re=Dfe;break;case 5:re=pfe;break;case 6:re=bfe;break;default:re=nye(Ffe)}var ee=[0,[0,dfe,!0],[0,[0,mfe,A(Qr)],0]];return c(kfe,u,Kr,[0,[0,Efe,re.toString()],ee]);case 29:var te=n[1],ne=0===te[1]?yfe:hfe,ue=[0,[0,Cfe,!!te[3]],0],ae=[0,[0,wfe,A(te[2])],ue];return c(_fe,u,te[4],[0,[0,Afe,ne.toString()],ae]);default:var ie=n[1],ce=[0,[0,gfe,!!ie[3]],0],fe=[0,[0,Bfe,t(A,ie[1])],ce];return c(Sfe,u,ie[2],fe)}}function _(r){var e=r[2],t=[0,[0,toe,C(e[1])],0];return c(noe,r[1],e[2],t)}function g(r,e){var t=e[1][2],u=[0,[0,uoe,!!e[3]],0],a=[0,[0,aoe,n(cr,e[2])],u];return c(coe,r,t[2],[0,[0,ioe,t[1].toString()],a])}function B(r){return e(W,r[2][1])}function S(r){var n=r[2],u=[0,[0,foe,e(d,n[2])],0],a=[0,[0,ooe,t(A,n[1])],u];return c(soe,r[1],n[3],a)}function x(r){var e=r[2],n=[0,[0,loe,m(e[2])],0],u=[0,[0,voe,t(R,e[1])],n];return c(Doe,r[1],e[3],u)}function T(r){return 0===r?Ooe:Noe}function I(r){if(r){var t=r[1];if(0===t[0])return e(yr,t[1]);var n=t[2];if(n){var u=[0,[0,Loe,C(n[1])],0];return OJe([0,c(Poe,t[1],0,u),0])}return OJe(0)}return OJe(0)}function N(r){var e=r[2],t=[0,[0,ise,A(e[1])],0];return c(cse,r[1],e[2],t)}function O(r){var e=r[2],n=[0,[0,fse,t(sr,e[2])],0],u=[0,[0,ose,C(e[1])],n];return c(sse,r[1],0,u)}function L(r){switch(r[0]){case 0:var u=r[1],a=u[2],i=a[6],f=a[2];switch(f[0]){case 0:var o=[0,y(f[1]),0,i];break;case 1:o=[0,C(f[1]),0,i];break;case 2:o=[0,_(f[1]),0,i];break;default:var s=f[1][2],l=EMe(s[2],i);o=[0,A(s[1]),1,l]}switch(a[1]){case 0:var v=Dse;break;case 1:v=pse;break;case 2:v=bse;break;default:v=Fse}var D=[0,[0,mse,e(N,a[5])],0],p=[0,[0,kse,v.toString()],[0,[0,Ese,!!a[4]],[0,[0,dse,!!o[2]],D]]],b=[0,[0,hse,w(a[3])],p];return c(Cse,u[1],o[3],[0,[0,yse,o[1]],b]);case 1:var F=r[1],m=F[2],d=m[6],E=m[2],k=m[1];switch(k[0]){case 0:var h=[0,y(k[1]),0,d];break;case 1:h=[0,C(k[1]),0,d];break;case 2:h=nye(Tse);break;default:var g=k[1][2],B=EMe(g[2],d);h=[0,A(g[1]),1,B]}if(\"number\"==typeof E)if(0===E)var S=0,x=1;else S=0,x=0;else S=[0,E[1]],x=0;var T=x?[0,[0,Ise,!!x],0]:x,I=[0,[0,Nse,t(Q,m[5])],0],O=[0,[0,Lse,!!h[2]],[0,[0,Ose,!!m[4]],I]],L=[0,[0,Pse,n(cr,m[3])],O],P=[0,[0,Rse,t(A,S)],L],R=fye([0,[0,Mse,h[1]],P],T);return c(jse,F[1],h[3],R);default:var M=r[1],j=M[2],U=j[2],X=j[1][2];if(\"number\"==typeof U)if(0===U)var G=0,J=1;else G=0,J=0;else G=[0,U[1]],J=0;var q=EMe(X[2],j[6]),z=J?[0,[0,wse,!!J],0]:J,W=[0,[0,Ase,t(Q,j[5])],0],V=[0,[0,_se,!!j[4]],W],$=[0,[0,gse,n(cr,j[3])],V],Y=[0,[0,Bse,t(A,G)],$],H=fye([0,[0,Sse,C(X[1])],Y],z);return c(xse,M[1],q,H)}}function P(r){var e=r[2],n=e[1],u=0===n[0]?C(n[1]):ir(n[1]),a=[0,[0,Cle,u],[0,[0,yle,t(sr,e[2])],0]];return c(wle,r[1],e[3],a)}function R(r){var t=r[2],u=r[1];switch(t[0]){case 0:var a=t[1],f=[0,[0,Ale,n(cr,a[2])],0],o=[0,[0,_le,e(q,a[1])],f];return c(gle,u,i(a[3]),o);case 1:var s=t[1],l=[0,[0,Ble,n(cr,s[2])],0],v=[0,[0,Sle,e(G,s[1])],l];return c(xle,u,i(s[3]),v);case 2:return g(u,t[1]);default:return A(t[1])}}function M(r){var e=r[2],t=e[2],n=e[1];if(t){var u=[0,[0,Tle,A(t[1])],0],a=[0,[0,Ile,R(n)],u];return c(Nle,r[1],0,a)}return R(n)}function j(r){var e=r[2],t=[0,[0,Lle,cF],[0,[0,Ole,cr(e[1])],0]];return c(Ple,r[1],e[2],t)}function U(r){var e=r[2],t=e[3],n=e[2],u=e[1];if(t){var a=t[1],i=a[2],f=[0,[0,Rle,R(i[1])],0],o=wye([0,c(Mle,a[1],i[2],f),gye(M,n)]),s=u?[0,j(u[1]),o]:o;return OJe(s)}var l=_ye(M,n),v=u?[0,j(u[1]),l]:l;return OJe(v)}function X(r,e){var t=[0,[0,jle,R(e[1])],0];return c(Ule,r,e[2],t)}function G(r){switch(r[0]){case 0:var e=r[1],t=e[2],n=t[2],u=t[1];if(n){var a=[0,[0,Xle,A(n[1])],0],i=[0,[0,Gle,R(u)],a];return c(Jle,e[1],0,i)}return R(u);case 1:var f=r[1];return X(f[1],f[2]);default:return SAe}}function J(r){if(0===r[0]){var e=r[1],t=e[2];switch(t[0]){case 0:var n=t[3],u=A(t[2]),a=[0,t[1],u,qle,0,n,0];break;case 1:var i=t[2],f=w([0,i[1],i[2]]);a=[0,t[1],f,zle,1,0,0];break;case 2:var o=t[2],s=t[3],l=w([0,o[1],o[2]]);a=[0,t[1],l,Wle,0,0,s];break;default:var v=t[2],D=t[3],p=w([0,v[1],v[2]]);a=[0,t[1],p,Vle,0,0,D]}var b=a[6],F=a[1];switch(F[0]){case 0:var m=[0,y(F[1]),0,b];break;case 1:m=[0,C(F[1]),0,b];break;case 2:m=nye($le);break;default:var d=F[1][2],E=EMe(d[2],b);m=[0,A(d[1]),1,E]}return c(eve,e[1],m[3],[0,[0,rve,m[1]],[0,[0,Zle,a[2]],[0,[0,Qle,a[3].toString()],[0,[0,Kle,!!a[4]],[0,[0,Hle,!!a[5]],[0,[0,Yle,!!m[2]],0]]]]]])}var k=r[1],h=k[2],_=[0,[0,tve,A(h[1])],0];return c(nve,k[1],h[2],_)}function q(r){if(0===r[0]){var e=r[1],t=e[2],n=t[3],u=t[2],a=t[1];switch(a[0]){case 0:var i=[0,y(a[1]),0,0];break;case 1:i=[0,C(a[1]),0,0];break;default:var f=a[1][2],o=f[2];i=[0,A(f[1]),1,o]}if(n)var s=n[1],l=lMe(u[1],s[1]),v=[0,[0,uve,A(s)],0],D=c(ive,l,0,[0,[0,ave,R(u)],v]);else D=R(u);return c(Dve,e[1],i[3],[0,[0,vve,i[1]],[0,[0,lve,D],[0,[0,sve,nk],[0,[0,ove,!1],[0,[0,fve,!!t[4]],[0,[0,cve,!!i[2]],0]]]]]])}var p=r[1];return X(p[1],p[2])}function z(r){var e=r[2],t=[0,[0,pve,A(e[1])],0];return c(bve,r[1],e[2],t)}function W(r){return 0===r[0]?A(r[1]):z(r[1])}function V(r){switch(r[0]){case 0:return A(r[1]);case 1:return z(r[1]);default:return SAe}}function $(r){var e=r[2],t=[0,[0,Fve,!!e[3]],0],n=[0,[0,mve,A(e[2])],t],u=[0,[0,dve,R(e[1])],n];return c(Eve,r[1],0,u)}function Y(r){var e=r[2];return c(Rve,r[1],e[3],[0,[0,Pve,e[1].toString()],[0,[0,Lve,e[2].toString()],0]])}function H(r){var e=r[2],t=e[1],n=NJe([0,[0,Gve,t[1].toString()],[0,[0,Xve,t[2].toString()],0]]);return c(zve,r[1],0,[0,[0,qve,n],[0,[0,Jve,!!e[2]],0]])}function K(r){var e=r[2],n=[0,[0,eDe,t(A,e[2])],0],u=[0,[0,tDe,R(e[1])],n];return c(nDe,r[1],0,u)}function Q(r){var e=r[2],t=0===e[1]?\"plus\":lh;return c(aDe,r[1],e[2],[0,[0,uDe,t],0])}function Z(r){var e=r[2],n=e[1],u=0===n[0]?C(n[1]):ir(n[1]),a=[0,[0,_pe,u],[0,[0,Ape,t(sr,e[2])],0]];return c(gpe,r[1],e[3],a)}function rr(r,e){var n=e[2],u=n[3],a=Sye((function(r,e){var n=r[4],u=r[3],a=r[2],i=r[1];switch(e[0]){case 0:var f=e[1],o=f[2],s=o[2],l=o[1];switch(l[0]){case 0:var v=y(l[1]);break;case 1:v=C(l[1]);break;case 2:v=nye(UDe);break;default:v=nye(XDe)}switch(s[0]){case 0:var D=[0,tr(s[1]),GDe];break;case 1:var p=s[1];D=[0,er([0,p[1],p[2]]),JDe];break;default:var b=s[1];D=[0,er([0,b[1],b[2]]),qDe]}var F=[0,[0,zDe,D[2].toString()],0],m=[0,[0,WDe,t(Q,o[7])],F];return[0,[0,c(ZDe,f[1],o[8],[0,[0,QDe,v],[0,[0,KDe,D[1]],[0,[0,HDe,!!o[6]],[0,[0,YDe,!!o[3]],[0,[0,$De,!!o[4]],[0,[0,VDe,!!o[5]],m]]]]]]),i],a,u,n];case 1:var d=e[1],E=d[2],k=[0,[0,rpe,tr(E[1])],0];return[0,[0,c(epe,d[1],E[2],k),i],a,u,n];case 2:var h=e[1],w=h[2],A=[0,[0,tpe,t(Q,w[5])],0],_=[0,[0,npe,!!w[4]],A],g=[0,[0,upe,tr(w[3])],_],B=[0,[0,ape,tr(w[2])],g],S=[0,[0,ipe,t(C,w[1])],B];return[0,i,[0,c(cpe,h[1],w[6],S),a],u,n];case 3:var x=e[1],T=x[2],I=[0,[0,fpe,!!T[2]],0],N=[0,[0,ope,er(T[1])],I];return[0,i,a,[0,c(spe,x[1],T[3],N),u],n];default:var O=e[1],L=O[2],P=[0,[0,lpe,tr(L[2])],0],R=[0,[0,ppe,!!L[3]],[0,[0,Dpe,!!L[4]],[0,[0,vpe,!!L[5]],P]]],M=[0,[0,bpe,C(L[1])],R];return[0,i,a,u,[0,c(Fpe,O[1],L[6],M),n]]}}),IDe,u),f=[0,[0,NDe,OJe(wye(a[4]))],0],o=[0,[0,ODe,OJe(wye(a[3]))],f],s=[0,[0,LDe,OJe(wye(a[2]))],o],l=[0,[0,PDe,OJe(wye(a[1]))],s],v=[0,[0,RDe,!!n[1]],l],D=r?[0,[0,MDe,!!n[2]],v]:v,p=i(n[4]);return c(jDe,e[1],p,D)}function er(r){var n=r[2],u=n[2][2],a=n[4],f=EMe(i(u[4]),a),o=[0,[0,dDe,t(fr,n[1])],0],s=[0,[0,EDe,t(ur,u[3])],o],l=[0,[0,kDe,tr(n[3])],s],v=[0,[0,hDe,t(ar,u[1])],l],D=u[2],p=[0,[0,yDe,e((function(r){return nr(0,r)}),D)],v];return c(CDe,r[1],f,p)}function tr(r){var t=r[2],n=r[1];switch(t[0]){case 0:return c(iDe,n,t[1],0);case 1:return c(cDe,n,t[1],0);case 2:return c(fDe,n,t[1],0);case 3:return c(oDe,n,t[1],0);case 4:return c(sDe,n,t[1],0);case 5:return c(vDe,n,t[1],0);case 6:return c(DDe,n,t[1],0);case 7:return c(pDe,n,t[1],0);case 8:return c(bDe,n,t[1],0);case 9:return c(lDe,n,t[1],0);case 10:return c(Hpe,n,t[1],0);case 11:var u=t[1],a=[0,[0,FDe,tr(u[1])],0];return c(mDe,n,u[2],a);case 12:return er([0,n,t[1]]);case 13:return rr(1,[0,n,t[1]]);case 14:var i=t[1],f=[0,[0,mpe,rr(0,i[1])],0],o=[0,[0,dpe,e(P,i[2])],f];return c(Epe,n,i[3],o);case 15:var s=t[1],l=[0,[0,kpe,tr(s[1])],0];return c(hpe,n,s[2],l);case 16:return Z([0,n,t[1]]);case 17:var v=t[1],D=v[1],p=[0,[0,Bpe,e(tr,[0,D[1],[0,D[2],D[3]]])],0];return c(Spe,n,v[2],p);case 18:var b=t[1],F=b[1],m=[0,[0,xpe,e(tr,[0,F[1],[0,F[2],F[3]]])],0];return c(Tpe,n,b[2],m);case 19:var d=t[1],E=[0,[0,Ipe,tr(d[1])],0];return c(Npe,n,d[3],E);case 20:var k=t[1],h=[0,[0,Ope,e(tr,k[1])],0];return c(Lpe,n,k[2],h);case 21:var y=t[1];return c(Mpe,n,y[3],[0,[0,Rpe,y[1].toString()],[0,[0,Ppe,y[2].toString()],0]]);case 22:var C=t[1];return c(Xpe,n,C[3],[0,[0,Upe,C[1]],[0,[0,jpe,C[2].toString()],0]]);case 23:var w=t[1];return c(qpe,n,w[3],[0,[0,Jpe,SAe],[0,[0,Gpe,w[2].toString()],0]]);default:var A=t[1],_=A[1],g=_?zpe:Wpe;return c(Ype,n,A[2],[0,[0,$pe,!!_],[0,[0,Vpe,g.toString()],0]])}}function nr(r,e){var n=e[2],u=[0,[0,wDe,!!n[3]],0],a=[0,[0,ADe,tr(n[2])],u],i=[0,[0,_De,t(C,n[1])],a];return c(gDe,e[1],r,i)}function ur(r){var e=r[2];return nr(e[2],e[1])}function ar(r){var e=r[2],n=[0,[0,SDe,tr(e[1][2])],[0,[0,BDe,!1],0]],u=[0,[0,xDe,t(C,0)],n];return c(TDe,r[1],e[2],u)}function ir(r){var e=r[2],t=e[1],n=0===t[0]?C(t[1]):ir(t[1]),u=[0,[0,Cpe,n],[0,[0,ype,C(e[2])],0]];return c(wpe,r[1],0,u)}function cr(r){var e=[0,[0,Kpe,tr(r[2])],0];return c(Qpe,r[1],0,e)}function fr(r){var t=r[2],n=[0,[0,Zpe,e(or,t[1])],0],u=i(t[2]);return c(rbe,r[1],u,n)}function or(r){var e=r[2],u=e[1][2],a=[0,[0,ebe,t(tr,e[4])],0],i=[0,[0,tbe,t(Q,e[3])],a],f=[0,[0,nbe,n(cr,e[2])],i];return c(abe,r[1],u[2],[0,[0,ube,u[1].toString()],f])}function sr(r){var t=r[2],n=[0,[0,ibe,e(tr,t[1])],0],u=i(t[2]);return c(cbe,r[1],u,n)}function lr(r){var t=r[2],n=[0,[0,fbe,e(vr,t[1])],0],u=i(t[2]);return c(obe,r[1],u,n)}function vr(r){if(0===r[0])return tr(r[1]);var e=r[1],t=e[1],n=e[2][1];return Z([0,t,[0,[0,bMe(0,[0,t,sbe])],0,n]])}function Dr(r){if(0===r[0]){var e=r[1],n=e[2],u=n[1],a=0===u[0]?mr(u[1]):dr(u[1]),i=[0,[0,Bbe,a],[0,[0,gbe,t(hr,n[2])],0]];return c(Sbe,e[1],0,i)}var f=r[1],o=f[2],s=[0,[0,xbe,A(o[1])],0];return c(Tbe,f[1],o[2],s)}function pr(r){var e=[0,[0,wbe,kr(r[2][1])],0];return c(Abe,r[1],0,e)}function br(r){var e=r[2],t=e[1],n=r[1],u=t?A(t[1]):c(Ibe,[0,n[1],[0,n[2][1],n[2][2]+1|0],[0,n[3][1],n[3][2]-1|0]],0,0);return c(Obe,n,i(e[2]),[0,[0,Nbe,u],0])}function Fr(r){var e=r[2],t=r[1];switch(e[0]){case 0:return k([0,t,e[1]]);case 1:return E([0,t,e[1]]);case 2:return br([0,t,e[1]]);case 3:var n=e[1],u=[0,[0,Lbe,A(n[1])],0];return c(Pbe,t,n[2],u);default:var a=e[1];return c(jbe,t,0,[0,[0,Mbe,a[1].toString()],[0,[0,Rbe,a[2].toString()],0]])}}function mr(r){var e=r[2];return c(Vbe,r[1],e[2],[0,[0,Wbe,e[1].toString()],0])}function dr(r){var e=r[2],t=[0,[0,Jbe,mr(e[2])],0],n=[0,[0,qbe,mr(e[1])],t];return c(zbe,r[1],0,n)}function Er(r){var e=r[2],t=e[1],n=0===t[0]?mr(t[1]):Er(t[1]),u=[0,[0,Xbe,n],[0,[0,Ube,mr(e[2])],0]];return c(Gbe,r[1],0,u)}function kr(r){switch(r[0]){case 0:return mr(r[1]);case 1:return dr(r[1]);default:return Er(r[1])}}function hr(r){return 0===r[0]?y([0,r[1],r[2]]):br([0,r[1],r[2]])}function yr(r){var e=r[2],t=e[2],n=e[1],u=C(t?t[1]:n),a=[0,[0,Ybe,C(n)],[0,[0,$be,u],0]];return c(Hbe,r[1],0,a)}function Cr(r){return e(wr,r)}function wr(r){var e=r[2];if(0===e[1])var t=iFe,n=e[2];else t=aFe,n=e[2];return c(t,r[1],0,[0,[0,cFe,n.toString()],0])}function Ar(r){var e=r[2],t=e[1];if(t)var n=oFe,u=[0,[0,fFe,A(t[1])],0];else n=sFe,u=0;return c(n,r[1],e[2],u)}function _r(r){var e=[0,[0,lFe,B(r[3])],0],n=[0,[0,vFe,t(lr,r[2])],e];return[0,[0,DFe,A(r[1])],n]}function gr(r){var e=r[2];switch(e[0]){case 0:var t=[0,C(e[1]),0];break;case 1:t=[0,_(e[1]),0];break;default:t=[0,A(e[1]),1]}var n=[0,[0,bFe,t[1]],[0,[0,pFe,!!t[2]],0]];return[0,[0,FFe,A(r[1])],n]}return[0,function(e){var t=e[2],n=f(t[1]),u=r[2]?[0,[0,yae,n],[0,[0,hae,Cr(t[3])],0]]:[0,[0,Cae,n],0];return c(wae,e[1],t[2],u)},A]}return[0,function(r){return c(r)[1]},function(r){return c(r)[2]},function(r){return e((function(r){var e=r[2];if(\"number\"==typeof e){var t=e;if(55<=t)switch(t){case 55:var n=qWr;break;case 56:n=zWr;break;case 57:n=WWr;break;case 58:n=iye($Wr,VWr);break;case 59:n=iye(HWr,YWr);break;case 60:n=iye(QWr,KWr);break;case 61:n=ZWr;break;case 62:n=rVr;break;case 63:n=eVr;break;case 64:n=tVr;break;case 65:n=nVr;break;case 66:n=uVr;break;case 67:n=aVr;break;case 68:n=iVr;break;case 69:n=cVr;break;case 70:n=fVr;break;case 71:n=oVr;break;case 72:n=sVr;break;case 73:n=lVr;break;case 74:n=vVr;break;case 75:n=DVr;break;case 76:n=pVr;break;case 77:n=bVr;break;case 78:n=FVr;break;case 79:n=mVr;break;case 80:n=iye(EVr,dVr);break;case 81:n=kVr;break;case 82:n=hVr;break;case 83:n=yVr;break;case 84:n=CVr;break;case 85:n=wVr;break;case 86:n=AVr;break;case 87:n=_Vr;break;case 88:n=gVr;break;case 89:n=BVr;break;case 90:n=SVr;break;case 91:n=xVr;break;case 92:n=TVr;break;case 93:n=iye(NVr,IVr);break;case 94:n=OVr;break;case 95:n=LVr;break;case 96:n=PVr;break;case 97:n=RVr;break;case 98:n=MVr;break;case 99:n=jVr;break;case 100:n=UVr;break;case 101:n=XVr;break;case 102:n=GVr;break;case 103:n=JVr;break;case 104:n=qVr;break;case 105:n=zVr;break;case 106:n=WVr;break;case 107:n=VVr;break;case 108:n=$Vr;break;default:n=YVr}else switch(t){case 0:n=Gzr;break;case 1:n=Jzr;break;case 2:n=qzr;break;case 3:n=zzr;break;case 4:n=Wzr;break;case 5:n=Vzr;break;case 6:n=$zr;break;case 7:n=Yzr;break;case 8:n=Hzr;break;case 9:n=Kzr;break;case 10:n=Qzr;break;case 11:n=Zzr;break;case 12:n=rWr;break;case 13:n=eWr;break;case 14:n=tWr;break;case 15:n=nWr;break;case 16:n=uWr;break;case 17:n=aWr;break;case 18:n=iWr;break;case 19:n=cWr;break;case 20:n=fWr;break;case 21:n=oWr;break;case 22:n=sWr;break;case 23:n=lWr;break;case 24:n=vWr;break;case 25:n=DWr;break;case 26:n=pWr;break;case 27:n=bWr;break;case 28:n=FWr;break;case 29:n=mWr;break;case 30:n=iye(EWr,dWr);break;case 31:n=kWr;break;case 32:n=hWr;break;case 33:n=yWr;break;case 34:n=CWr;break;case 35:n=wWr;break;case 36:n=AWr;break;case 37:n=_Wr;break;case 38:n=gWr;break;case 39:n=BWr;break;case 40:n=SWr;break;case 41:n=xWr;break;case 42:n=TWr;break;case 43:n=IWr;break;case 44:n=NWr;break;case 45:n=OWr;break;case 46:n=LWr;break;case 47:n=PWr;break;case 48:n=RWr;break;case 49:n=MWr;break;case 50:n=jWr;break;case 51:n=UWr;break;case 52:n=XWr;break;case 53:n=GWr;break;default:n=JWr}}else switch(e[0]){case 0:n=iye(HVr,e[1]);break;case 1:var u=e[2],i=e[1];n=Sx(LCe(KVr),u,u,i);break;case 2:var c=e[1],f=e[2];n=Bx(LCe(QVr),f,c);break;case 3:var o=e[1];n=gx(LCe(ZVr),o);break;case 4:var s=e[2],l=e[1],v=gx(LCe(r$r),l);if(s){var D=s[1];n=Bx(LCe(e$r),D,v)}else n=gx(LCe(t$r),v);break;case 5:var p=e[1];n=Bx(LCe(n$r),p,p);break;case 6:var b=e[3],F=e[2],m=e[1];if(F){var d=F[1];if(3<=d)n=Bx(LCe(u$r),b,m);else{switch(d){case 0:var E=Mzr;break;case 1:E=jzr;break;case 2:E=Uzr;break;default:E=Xzr}n=xx(LCe(a$r),m,E,b,E)}}else n=Bx(LCe(i$r),b,m);break;case 7:var k=e[2],h=k;if(0===ZS(h))var y=h;else{var C=Pye(h);tS(C,0,pye(uS(h,0)));y=C}var w=e[1];n=Sx(LCe(c$r),k,y,w);break;case 8:n=e[1]?f$r:o$r;break;case 9:var A=e[1],_=e[2];n=Bx(LCe(s$r),_,A);break;case 10:var g=e[1];n=gx(LCe(l$r),g);break;case 11:var B=e[1];n=gx(LCe(v$r),B);break;case 12:var S=e[2],x=e[1];n=Bx(LCe(D$r),x,S);break;case 13:var T=e[2],I=e[1];n=Bx(LCe(p$r),I,T);break;case 14:n=iye(F$r,iye(e[1],b$r));break;case 15:n=iye(d$r,iye(e[1],m$r));break;case 16:var N=iye(k$r,iye(e[2],E$r));n=iye(e[1],N);break;case 17:n=iye(h$r,e[1]);break;case 18:n=e[1]?iye(C$r,y$r):iye(A$r,w$r);break;case 19:var O=e[1];n=gx(LCe(_$r),O);break;case 20:n=iye(B$r,iye(e[1],g$r));break;case 21:var L=e[1],P=e[2]?S$r:x$r,R=e[3]?iye(T$r,L):L;n=iye(O$r,iye(P,iye(N$r,iye(R,I$r))));break;case 22:n=iye(P$r,iye(e[1],L$r));break;default:var M=e[1];n=gx(LCe(R$r),M)}var j=[0,[0,mFe,n.toString()],0];return NJe([0,[0,dFe,a(r[1])],j])}),r)}]}([0,1,1,0]),RJe=function(r){function e(e,t){var n=t[2],u=t[1],a=gMe(n),i=[0,[0,Phe,gx(r[1],a)],0],c=MGe(e,u[3]),f=[0,gx(r[5],c),0],o=MGe(e,u[2]),s=[0,gx(r[5],o),f],l=[0,[0,Rhe,gx(r[4],s)],i],v=[0,[0,Mhe,gx(r[5],u[3][2])],0],D=[0,[0,jhe,gx(r[5],u[3][1])],v],p=[0,[0,Uhe,gx(r[3],D)],0],b=[0,[0,Xhe,gx(r[5],u[2][2])],0],F=[0,[0,Ghe,gx(r[5],u[2][1])],b],m=[0,[0,Jhe,gx(r[3],F)],p],d=[0,[0,qhe,gx(r[3],m)],l];switch(t[3]){case 0:var E=zhe;break;case 1:E=Whe;break;case 2:E=Vhe;break;case 3:E=$he;break;case 4:E=Yhe;break;default:E=Hhe}var k=[0,[0,Khe,gx(r[1],E)],d],h=_Me(n),y=[0,[0,Qhe,gx(r[1],h)],k];return gx(r[3],y)}return[0,e,function(t,n){var u=wye(gye((function(r){return e(t,r)}),n));return gx(r[4],u)}]}([0,TJe,IJe,NJe,OJe,function(r){return r},function(r){return r},SAe,LJe]),MJe=function(r,e){var t=DS(e,xAe)?{}:e,n=_S(r),u=t.enums,a=TAe(u)?[0,0|u,Wx[2],Wx[3],Wx[4],Wx[5],Wx[6],Wx[7],Wx[8],Wx[9]]:Wx,i=t.esproposal_decorators,c=TAe(i)?[0,a[1],a[2],a[3],0|i,a[5],a[6],a[7],a[8],a[9]]:a,f=t.esproposal_class_instance_fields,o=TAe(f)?[0,c[1],0|f,c[3],c[4],c[5],c[6],c[7],c[8],c[9]]:c,s=t.esproposal_class_static_fields,l=TAe(s)?[0,o[1],o[2],0|s,o[4],o[5],o[6],o[7],o[8],o[9]]:o,v=t.esproposal_export_star_as,D=TAe(v)?[0,l[1],l[2],l[3],l[4],0|v,l[6],l[7],l[8],l[9]]:l,p=t.esproposal_optional_chaining,b=TAe(p)?[0,D[1],D[2],D[3],D[4],D[5],0|p,D[7],D[8],D[9]]:D,F=t.esproposal_nullish_coalescing,m=TAe(F)?[0,b[1],b[2],b[3],b[4],b[5],b[6],0|F,b[8],b[9]]:b,d=t.types,E=TAe(d)?[0,m[1],m[2],m[3],m[4],m[5],m[6],m[7],0|d,m[9]]:m,k=t.tokens,h=TAe(k),y=h?0|k:h,C=[0,0],w=[0,[0,E]],A=[0,y?[0,function(r){return C[1]=[0,r,C[1]],0}]:y],_=Hx?Hx[1]:1,g=[0,w?w[1]:w],B=[0,A?A[1]:A],S=cXe([0,B?B[1]:B],[0,g?g[1]:g],0,n),x=gx($Ge[1],S),T=wye(S[1][1]),I=wye(Sye((function(r,e){var t=r[2],n=r[1];return Bx(VGe[3],e,n)?[0,n,t]:[0,Bx(VGe[4],e,n),[0,e,t]]}),[0,VGe[1],0],T)[2]);if(_?0!==I?1:0:_)throw[0,yMe,I];xJe[1]=0;for(var N=RS(n)-0|0,O=n,L=0,P=0;;){if(P===N)var R=L;else{var M=uS(O,P);if(0<=M)if(zy>>0)throw[0,jx,gO];switch(q){case 0:var W=uS(O,P);break;case 1:W=(31&uS(O,P))<<6|63&uS(O,P+1|0);break;case 2:W=(15&uS(O,P))<<12|(63&uS(O,P+1|0))<<6|63&uS(O,P+2|0);break;default:W=(7&uS(O,P))<<18|(63&uS(O,P+1|0))<<12|(63&uS(O,P+2|0))<<6|63&uS(O,P+3|0)}L=LGe(L,0,[0,W]),P=z;continue}R=LGe(L,0,0)}for(var V=vae,$=wye([0,6,R]);;){var Y=V[3],H=V[2],K=V[1];if(!$){var Q=$ye(wye(Y)),Z=Bx(PJe[1],[0,Q],x),rr=fye(I,xJe[1]);if(Z.errors=gx(PJe[3],rr),y){var er=C[1];Z.tokens=OJe(gye(gx(RJe[1],Q),er))}return Z}var tr=$[1];if(5===tr){var nr=$[2];if(nr&&6===nr[1]){V=[0,K+2|0,0,[0,$ye(wye([0,K,H])),Y]],$=nr[2];continue}}else if(!(6<=tr)){var ur=$[2];V=[0,K+OGe(tr)|0,[0,K,H],Y],$=ur;continue}var ar=$ye(wye([0,K,H])),ir=$[2];V=[0,K+OGe(tr)|0,0,[0,ar,Y]],$=ir}}},jJe=function(r){if(r[1]===NAe)return gx(LAe,r[2]);return gx(LAe,new OAe(iye(Zhe,function(e){for(var t=e;;){if(!t){if(r===Ix)return KN;if(r===Mx)return QN;if(r[1]===Rx){var n=r[2],u=n[3],a=n[2],i=n[1];return Tx(LCe(Xx),i,a,u,u+5|0,ZN)}if(r[1]===jx){var c=r[2],f=c[3],o=c[2],s=c[1];return Tx(LCe(Xx),s,o,f,f+6|0,rO)}if(r[1]===Ux){var l=r[2],v=l[3],D=l[2],p=l[1];return Tx(LCe(Xx),p,D,v,v+6|0,eO)}return 0===Fx(r)?iye(r[1][1],jCe(r)):r[1]}var b=t[2],F=t[1];try{var m=gx(F,r)}catch(r){m=0}if(m)return m[1];t=b}}(PCe[1])).toString()))};return e.parse=function(r,e){try{return MJe(r,e)}catch(e){return e=_x(e),jJe(e)}},void gx(lye[1],0)}yAe=CAe}else kAe=hAe}else dAe=EAe}else FAe=mAe}}(new Function(\"return this\")())}));const{hasPragma:Ht}=Hr,{locStart:Kt,locEnd:Qt}=re;return{parsers:{flow:{parse:function(e,t,n){const u=Yt.parse(e,{enums:!0,esproposal_decorators:!0,esproposal_class_instance_fields:!0,esproposal_class_static_fields:!0,esproposal_export_star_as:!0,esproposal_optional_chaining:!0,esproposal_nullish_coalescing:!0,tokens:!0}),[a]=u.errors;if(a){const{message:e,loc:{start:t,end:n}}=a;throw r(e,{start:{line:t.line,column:t.column+1},end:{line:n.line,column:n.column+1}})}return Xt(u,Object.assign({},n,{originalText:e}))},astFormat:\"estree\",hasPragma:Ht,locStart:Kt,locEnd:Qt}}}}));\n","'use strict';\n\n/*eslint-disable no-use-before-define*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar DEFAULT_FULL_SCHEMA = require('./schema/default_full');\nvar DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');\n\nvar _toString = Object.prototype.toString;\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar CHAR_TAB = 0x09; /* Tab */\nvar CHAR_LINE_FEED = 0x0A; /* LF */\nvar CHAR_CARRIAGE_RETURN = 0x0D; /* CR */\nvar CHAR_SPACE = 0x20; /* Space */\nvar CHAR_EXCLAMATION = 0x21; /* ! */\nvar CHAR_DOUBLE_QUOTE = 0x22; /* \" */\nvar CHAR_SHARP = 0x23; /* # */\nvar CHAR_PERCENT = 0x25; /* % */\nvar CHAR_AMPERSAND = 0x26; /* & */\nvar CHAR_SINGLE_QUOTE = 0x27; /* ' */\nvar CHAR_ASTERISK = 0x2A; /* * */\nvar CHAR_COMMA = 0x2C; /* , */\nvar CHAR_MINUS = 0x2D; /* - */\nvar CHAR_COLON = 0x3A; /* : */\nvar CHAR_EQUALS = 0x3D; /* = */\nvar CHAR_GREATER_THAN = 0x3E; /* > */\nvar CHAR_QUESTION = 0x3F; /* ? */\nvar CHAR_COMMERCIAL_AT = 0x40; /* @ */\nvar CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */\nvar CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */\nvar CHAR_GRAVE_ACCENT = 0x60; /* ` */\nvar CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */\nvar CHAR_VERTICAL_LINE = 0x7C; /* | */\nvar CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */\n\nvar ESCAPE_SEQUENCES = {};\n\nESCAPE_SEQUENCES[0x00] = '\\\\0';\nESCAPE_SEQUENCES[0x07] = '\\\\a';\nESCAPE_SEQUENCES[0x08] = '\\\\b';\nESCAPE_SEQUENCES[0x09] = '\\\\t';\nESCAPE_SEQUENCES[0x0A] = '\\\\n';\nESCAPE_SEQUENCES[0x0B] = '\\\\v';\nESCAPE_SEQUENCES[0x0C] = '\\\\f';\nESCAPE_SEQUENCES[0x0D] = '\\\\r';\nESCAPE_SEQUENCES[0x1B] = '\\\\e';\nESCAPE_SEQUENCES[0x22] = '\\\\\"';\nESCAPE_SEQUENCES[0x5C] = '\\\\\\\\';\nESCAPE_SEQUENCES[0x85] = '\\\\N';\nESCAPE_SEQUENCES[0xA0] = '\\\\_';\nESCAPE_SEQUENCES[0x2028] = '\\\\L';\nESCAPE_SEQUENCES[0x2029] = '\\\\P';\n\nvar DEPRECATED_BOOLEANS_SYNTAX = [\n 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON',\n 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'\n];\n\nfunction compileStyleMap(schema, map) {\n var result, keys, index, length, tag, style, type;\n\n if (map === null) return {};\n\n result = {};\n keys = Object.keys(map);\n\n for (index = 0, length = keys.length; index < length; index += 1) {\n tag = keys[index];\n style = String(map[tag]);\n\n if (tag.slice(0, 2) === '!!') {\n tag = 'tag:yaml.org,2002:' + tag.slice(2);\n }\n type = schema.compiledTypeMap['fallback'][tag];\n\n if (type && _hasOwnProperty.call(type.styleAliases, style)) {\n style = type.styleAliases[style];\n }\n\n result[tag] = style;\n }\n\n return result;\n}\n\nfunction encodeHex(character) {\n var string, handle, length;\n\n string = character.toString(16).toUpperCase();\n\n if (character <= 0xFF) {\n handle = 'x';\n length = 2;\n } else if (character <= 0xFFFF) {\n handle = 'u';\n length = 4;\n } else if (character <= 0xFFFFFFFF) {\n handle = 'U';\n length = 8;\n } else {\n throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF');\n }\n\n return '\\\\' + handle + common.repeat('0', length - string.length) + string;\n}\n\nfunction State(options) {\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.indent = Math.max(1, (options['indent'] || 2));\n this.noArrayIndent = options['noArrayIndent'] || false;\n this.skipInvalid = options['skipInvalid'] || false;\n this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']);\n this.styleMap = compileStyleMap(this.schema, options['styles'] || null);\n this.sortKeys = options['sortKeys'] || false;\n this.lineWidth = options['lineWidth'] || 80;\n this.noRefs = options['noRefs'] || false;\n this.noCompatMode = options['noCompatMode'] || false;\n this.condenseFlow = options['condenseFlow'] || false;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.explicitTypes = this.schema.compiledExplicit;\n\n this.tag = null;\n this.result = '';\n\n this.duplicates = [];\n this.usedDuplicates = null;\n}\n\n// Indents every line in a string. Empty lines (\\n only) are not indented.\nfunction indentString(string, spaces) {\n var ind = common.repeat(' ', spaces),\n position = 0,\n next = -1,\n result = '',\n line,\n length = string.length;\n\n while (position < length) {\n next = string.indexOf('\\n', position);\n if (next === -1) {\n line = string.slice(position);\n position = length;\n } else {\n line = string.slice(position, next + 1);\n position = next + 1;\n }\n\n if (line.length && line !== '\\n') result += ind;\n\n result += line;\n }\n\n return result;\n}\n\nfunction generateNextLine(state, level) {\n return '\\n' + common.repeat(' ', state.indent * level);\n}\n\nfunction testImplicitResolving(state, str) {\n var index, length, type;\n\n for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {\n type = state.implicitTypes[index];\n\n if (type.resolve(str)) {\n return true;\n }\n }\n\n return false;\n}\n\n// [33] s-white ::= s-space | s-tab\nfunction isWhitespace(c) {\n return c === CHAR_SPACE || c === CHAR_TAB;\n}\n\n// Returns true if the character can be printed without escaping.\n// From YAML 1.2: \"any allowed characters known to be non-printable\n// should also be escaped. [However,] This isn’t mandatory\"\n// Derived from nb-char - \\t - #x85 - #xA0 - #x2028 - #x2029.\nfunction isPrintable(c) {\n return (0x00020 <= c && c <= 0x00007E)\n || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029)\n || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */)\n || (0x10000 <= c && c <= 0x10FFFF);\n}\n\n// [34] ns-char ::= nb-char - s-white\n// [27] nb-char ::= c-printable - b-char - c-byte-order-mark\n// [26] b-char ::= b-line-feed | b-carriage-return\n// [24] b-line-feed ::= #xA /* LF */\n// [25] b-carriage-return ::= #xD /* CR */\n// [3] c-byte-order-mark ::= #xFEFF\nfunction isNsChar(c) {\n return isPrintable(c) && !isWhitespace(c)\n // byte-order-mark\n && c !== 0xFEFF\n // b-char\n && c !== CHAR_CARRIAGE_RETURN\n && c !== CHAR_LINE_FEED;\n}\n\n// Simplified test for values allowed after the first character in plain style.\nfunction isPlainSafe(c, prev) {\n // Uses a subset of nb-char - c-flow-indicator - \":\" - \"#\"\n // where nb-char ::= c-printable - b-char - c-byte-order-mark.\n return isPrintable(c) && c !== 0xFEFF\n // - c-flow-indicator\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // - \":\" - \"#\"\n // /* An ns-char preceding */ \"#\"\n && c !== CHAR_COLON\n && ((c !== CHAR_SHARP) || (prev && isNsChar(prev)));\n}\n\n// Simplified test for values allowed as the first character in plain style.\nfunction isPlainSafeFirst(c) {\n // Uses a subset of ns-char - c-indicator\n // where ns-char = nb-char - s-white.\n return isPrintable(c) && c !== 0xFEFF\n && !isWhitespace(c) // - s-white\n // - (c-indicator ::=\n // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}”\n && c !== CHAR_MINUS\n && c !== CHAR_QUESTION\n && c !== CHAR_COLON\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “\"”\n && c !== CHAR_SHARP\n && c !== CHAR_AMPERSAND\n && c !== CHAR_ASTERISK\n && c !== CHAR_EXCLAMATION\n && c !== CHAR_VERTICAL_LINE\n && c !== CHAR_EQUALS\n && c !== CHAR_GREATER_THAN\n && c !== CHAR_SINGLE_QUOTE\n && c !== CHAR_DOUBLE_QUOTE\n // | “%” | “@” | “`”)\n && c !== CHAR_PERCENT\n && c !== CHAR_COMMERCIAL_AT\n && c !== CHAR_GRAVE_ACCENT;\n}\n\n// Determines whether block indentation indicator is required.\nfunction needIndentIndicator(string) {\n var leadingSpaceRe = /^\\n* /;\n return leadingSpaceRe.test(string);\n}\n\nvar STYLE_PLAIN = 1,\n STYLE_SINGLE = 2,\n STYLE_LITERAL = 3,\n STYLE_FOLDED = 4,\n STYLE_DOUBLE = 5;\n\n// Determines which scalar styles are possible and returns the preferred style.\n// lineWidth = -1 => no limit.\n// Pre-conditions: str.length > 0.\n// Post-conditions:\n// STYLE_PLAIN or STYLE_SINGLE => no \\n are in the string.\n// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1).\n// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1).\nfunction chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {\n var i;\n var char, prev_char;\n var hasLineBreak = false;\n var hasFoldableLine = false; // only checked if shouldTrackWidth\n var shouldTrackWidth = lineWidth !== -1;\n var previousLineBreak = -1; // count the first line correctly\n var plain = isPlainSafeFirst(string.charCodeAt(0))\n && !isWhitespace(string.charCodeAt(string.length - 1));\n\n if (singleLineOnly) {\n // Case: no block styles.\n // Check for disallowed characters to rule out plain and single.\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n prev_char = i > 0 ? string.charCodeAt(i - 1) : null;\n plain = plain && isPlainSafe(char, prev_char);\n }\n } else {\n // Case: block styles permitted.\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (char === CHAR_LINE_FEED) {\n hasLineBreak = true;\n // Check if any line can be folded.\n if (shouldTrackWidth) {\n hasFoldableLine = hasFoldableLine ||\n // Foldable line = too long, and not more-indented.\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' ');\n previousLineBreak = i;\n }\n } else if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n prev_char = i > 0 ? string.charCodeAt(i - 1) : null;\n plain = plain && isPlainSafe(char, prev_char);\n }\n // in case the end is missing a \\n\n hasFoldableLine = hasFoldableLine || (shouldTrackWidth &&\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' '));\n }\n // Although every style can represent \\n without escaping, prefer block styles\n // for multiline, since they're more readable and they don't add empty lines.\n // Also prefer folding a super-long line.\n if (!hasLineBreak && !hasFoldableLine) {\n // Strings interpretable as another type have to be quoted;\n // e.g. the string 'true' vs. the boolean true.\n return plain && !testAmbiguousType(string)\n ? STYLE_PLAIN : STYLE_SINGLE;\n }\n // Edge case: block indentation indicator can only have one digit.\n if (indentPerLevel > 9 && needIndentIndicator(string)) {\n return STYLE_DOUBLE;\n }\n // At this point we know block styles are valid.\n // Prefer literal style unless we want to fold.\n return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;\n}\n\n// Note: line breaking/folding is implemented for only the folded style.\n// NB. We drop the last trailing newline (if any) of a returned block scalar\n// since the dumper adds its own newline. This always works:\n// • No ending newline => unaffected; already using strip \"-\" chomping.\n// • Ending newline => removed then restored.\n// Importantly, this keeps the \"+\" chomp indicator from gaining an extra line.\nfunction writeScalar(state, string, level, iskey) {\n state.dump = (function () {\n if (string.length === 0) {\n return \"''\";\n }\n if (!state.noCompatMode &&\n DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) {\n return \"'\" + string + \"'\";\n }\n\n var indent = state.indent * Math.max(1, level); // no 0-indent scalars\n // As indentation gets deeper, let the width decrease monotonically\n // to the lower bound min(state.lineWidth, 40).\n // Note that this implies\n // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound.\n // state.lineWidth > 40 + state.indent: width decreases until the lower bound.\n // This behaves better than a constant minimum width which disallows narrower options,\n // or an indent threshold which causes the width to suddenly increase.\n var lineWidth = state.lineWidth === -1\n ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);\n\n // Without knowing if keys are implicit/explicit, assume implicit for safety.\n var singleLineOnly = iskey\n // No block styles in flow mode.\n || (state.flowLevel > -1 && level >= state.flowLevel);\n function testAmbiguity(string) {\n return testImplicitResolving(state, string);\n }\n\n switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {\n case STYLE_PLAIN:\n return string;\n case STYLE_SINGLE:\n return \"'\" + string.replace(/'/g, \"''\") + \"'\";\n case STYLE_LITERAL:\n return '|' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(string, indent));\n case STYLE_FOLDED:\n return '>' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(foldString(string, lineWidth), indent));\n case STYLE_DOUBLE:\n return '\"' + escapeString(string, lineWidth) + '\"';\n default:\n throw new YAMLException('impossible error: invalid scalar style');\n }\n }());\n}\n\n// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9.\nfunction blockHeader(string, indentPerLevel) {\n var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : '';\n\n // note the special case: the string '\\n' counts as a \"trailing\" empty line.\n var clip = string[string.length - 1] === '\\n';\n var keep = clip && (string[string.length - 2] === '\\n' || string === '\\n');\n var chomp = keep ? '+' : (clip ? '' : '-');\n\n return indentIndicator + chomp + '\\n';\n}\n\n// (See the note for writeScalar.)\nfunction dropEndingNewline(string) {\n return string[string.length - 1] === '\\n' ? string.slice(0, -1) : string;\n}\n\n// Note: a long line without a suitable break point will exceed the width limit.\n// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0.\nfunction foldString(string, width) {\n // In folded style, $k$ consecutive newlines output as $k+1$ newlines—\n // unless they're before or after a more-indented line, or at the very\n // beginning or end, in which case $k$ maps to $k$.\n // Therefore, parse each chunk as newline(s) followed by a content line.\n var lineRe = /(\\n+)([^\\n]*)/g;\n\n // first line (possibly an empty line)\n var result = (function () {\n var nextLF = string.indexOf('\\n');\n nextLF = nextLF !== -1 ? nextLF : string.length;\n lineRe.lastIndex = nextLF;\n return foldLine(string.slice(0, nextLF), width);\n }());\n // If we haven't reached the first content line yet, don't add an extra \\n.\n var prevMoreIndented = string[0] === '\\n' || string[0] === ' ';\n var moreIndented;\n\n // rest of the lines\n var match;\n while ((match = lineRe.exec(string))) {\n var prefix = match[1], line = match[2];\n moreIndented = (line[0] === ' ');\n result += prefix\n + (!prevMoreIndented && !moreIndented && line !== ''\n ? '\\n' : '')\n + foldLine(line, width);\n prevMoreIndented = moreIndented;\n }\n\n return result;\n}\n\n// Greedy line breaking.\n// Picks the longest line under the limit each time,\n// otherwise settles for the shortest line over the limit.\n// NB. More-indented lines *cannot* be folded, as that would add an extra \\n.\nfunction foldLine(line, width) {\n if (line === '' || line[0] === ' ') return line;\n\n // Since a more-indented line adds a \\n, breaks can't be followed by a space.\n var breakRe = / [^ ]/g; // note: the match index will always be <= length-2.\n var match;\n // start is an inclusive index. end, curr, and next are exclusive.\n var start = 0, end, curr = 0, next = 0;\n var result = '';\n\n // Invariants: 0 <= start <= length-1.\n // 0 <= curr <= next <= max(0, length-2). curr - start <= width.\n // Inside the loop:\n // A match implies length >= 2, so curr and next are <= length-2.\n while ((match = breakRe.exec(line))) {\n next = match.index;\n // maintain invariant: curr - start <= width\n if (next - start > width) {\n end = (curr > start) ? curr : next; // derive end <= length-2\n result += '\\n' + line.slice(start, end);\n // skip the space that was output as \\n\n start = end + 1; // derive start <= length-1\n }\n curr = next;\n }\n\n // By the invariants, start <= length-1, so there is something left over.\n // It is either the whole string or a part starting from non-whitespace.\n result += '\\n';\n // Insert a break if the remainder is too long and there is a break available.\n if (line.length - start > width && curr > start) {\n result += line.slice(start, curr) + '\\n' + line.slice(curr + 1);\n } else {\n result += line.slice(start);\n }\n\n return result.slice(1); // drop extra \\n joiner\n}\n\n// Escapes a double-quoted string.\nfunction escapeString(string) {\n var result = '';\n var char, nextChar;\n var escapeSeq;\n\n for (var i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n // Check for surrogate pairs (reference Unicode 3.0 section \"3.7 Surrogates\").\n if (char >= 0xD800 && char <= 0xDBFF/* high surrogate */) {\n nextChar = string.charCodeAt(i + 1);\n if (nextChar >= 0xDC00 && nextChar <= 0xDFFF/* low surrogate */) {\n // Combine the surrogate pair and store it escaped.\n result += encodeHex((char - 0xD800) * 0x400 + nextChar - 0xDC00 + 0x10000);\n // Advance index one extra since we already used that char here.\n i++; continue;\n }\n }\n escapeSeq = ESCAPE_SEQUENCES[char];\n result += !escapeSeq && isPrintable(char)\n ? string[i]\n : escapeSeq || encodeHex(char);\n }\n\n return result;\n}\n\nfunction writeFlowSequence(state, level, object) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n // Write only valid elements.\n if (writeNode(state, level, object[index], false, false)) {\n if (index !== 0) _result += ',' + (!state.condenseFlow ? ' ' : '');\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = '[' + _result + ']';\n}\n\nfunction writeBlockSequence(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n // Write only valid elements.\n if (writeNode(state, level + 1, object[index], true, true)) {\n if (!compact || index !== 0) {\n _result += generateNextLine(state, level);\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n _result += '-';\n } else {\n _result += '- ';\n }\n\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = _result || '[]'; // Empty sequence if no valid values.\n}\n\nfunction writeFlowMapping(state, level, object) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n pairBuffer;\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n\n pairBuffer = '';\n if (index !== 0) pairBuffer += ', ';\n\n if (state.condenseFlow) pairBuffer += '\"';\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (!writeNode(state, level, objectKey, false, false)) {\n continue; // Skip this pair because of invalid key;\n }\n\n if (state.dump.length > 1024) pairBuffer += '? ';\n\n pairBuffer += state.dump + (state.condenseFlow ? '\"' : '') + ':' + (state.condenseFlow ? '' : ' ');\n\n if (!writeNode(state, level, objectValue, false, false)) {\n continue; // Skip this pair because of invalid value.\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = '{' + _result + '}';\n}\n\nfunction writeBlockMapping(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n explicitPair,\n pairBuffer;\n\n // Allow sorting keys so that the output file is deterministic\n if (state.sortKeys === true) {\n // Default sorting\n objectKeyList.sort();\n } else if (typeof state.sortKeys === 'function') {\n // Custom sort function\n objectKeyList.sort(state.sortKeys);\n } else if (state.sortKeys) {\n // Something is wrong\n throw new YAMLException('sortKeys must be a boolean or a function');\n }\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = '';\n\n if (!compact || index !== 0) {\n pairBuffer += generateNextLine(state, level);\n }\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (!writeNode(state, level + 1, objectKey, true, true, true)) {\n continue; // Skip this pair because of invalid key.\n }\n\n explicitPair = (state.tag !== null && state.tag !== '?') ||\n (state.dump && state.dump.length > 1024);\n\n if (explicitPair) {\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += '?';\n } else {\n pairBuffer += '? ';\n }\n }\n\n pairBuffer += state.dump;\n\n if (explicitPair) {\n pairBuffer += generateNextLine(state, level);\n }\n\n if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {\n continue; // Skip this pair because of invalid value.\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += ':';\n } else {\n pairBuffer += ': ';\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = _result || '{}'; // Empty mapping if no valid pairs.\n}\n\nfunction detectType(state, object, explicit) {\n var _result, typeList, index, length, type, style;\n\n typeList = explicit ? state.explicitTypes : state.implicitTypes;\n\n for (index = 0, length = typeList.length; index < length; index += 1) {\n type = typeList[index];\n\n if ((type.instanceOf || type.predicate) &&\n (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) &&\n (!type.predicate || type.predicate(object))) {\n\n state.tag = explicit ? type.tag : '?';\n\n if (type.represent) {\n style = state.styleMap[type.tag] || type.defaultStyle;\n\n if (_toString.call(type.represent) === '[object Function]') {\n _result = type.represent(object, style);\n } else if (_hasOwnProperty.call(type.represent, style)) {\n _result = type.represent[style](object, style);\n } else {\n throw new YAMLException('!<' + type.tag + '> tag resolver accepts not \"' + style + '\" style');\n }\n\n state.dump = _result;\n }\n\n return true;\n }\n }\n\n return false;\n}\n\n// Serializes `object` and writes it to global `result`.\n// Returns true on success, or false on invalid object.\n//\nfunction writeNode(state, level, object, block, compact, iskey) {\n state.tag = null;\n state.dump = object;\n\n if (!detectType(state, object, false)) {\n detectType(state, object, true);\n }\n\n var type = _toString.call(state.dump);\n\n if (block) {\n block = (state.flowLevel < 0 || state.flowLevel > level);\n }\n\n var objectOrArray = type === '[object Object]' || type === '[object Array]',\n duplicateIndex,\n duplicate;\n\n if (objectOrArray) {\n duplicateIndex = state.duplicates.indexOf(object);\n duplicate = duplicateIndex !== -1;\n }\n\n if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) {\n compact = false;\n }\n\n if (duplicate && state.usedDuplicates[duplicateIndex]) {\n state.dump = '*ref_' + duplicateIndex;\n } else {\n if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {\n state.usedDuplicates[duplicateIndex] = true;\n }\n if (type === '[object Object]') {\n if (block && (Object.keys(state.dump).length !== 0)) {\n writeBlockMapping(state, level, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowMapping(state, level, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object Array]') {\n var arrayLevel = (state.noArrayIndent && (level > 0)) ? level - 1 : level;\n if (block && (state.dump.length !== 0)) {\n writeBlockSequence(state, arrayLevel, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowSequence(state, arrayLevel, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object String]') {\n if (state.tag !== '?') {\n writeScalar(state, state.dump, level, iskey);\n }\n } else {\n if (state.skipInvalid) return false;\n throw new YAMLException('unacceptable kind of an object to dump ' + type);\n }\n\n if (state.tag !== null && state.tag !== '?') {\n state.dump = '!<' + state.tag + '> ' + state.dump;\n }\n }\n\n return true;\n}\n\nfunction getDuplicateReferences(object, state) {\n var objects = [],\n duplicatesIndexes = [],\n index,\n length;\n\n inspectNode(object, objects, duplicatesIndexes);\n\n for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {\n state.duplicates.push(objects[duplicatesIndexes[index]]);\n }\n state.usedDuplicates = new Array(length);\n}\n\nfunction inspectNode(object, objects, duplicatesIndexes) {\n var objectKeyList,\n index,\n length;\n\n if (object !== null && typeof object === 'object') {\n index = objects.indexOf(object);\n if (index !== -1) {\n if (duplicatesIndexes.indexOf(index) === -1) {\n duplicatesIndexes.push(index);\n }\n } else {\n objects.push(object);\n\n if (Array.isArray(object)) {\n for (index = 0, length = object.length; index < length; index += 1) {\n inspectNode(object[index], objects, duplicatesIndexes);\n }\n } else {\n objectKeyList = Object.keys(object);\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);\n }\n }\n }\n }\n}\n\nfunction dump(input, options) {\n options = options || {};\n\n var state = new State(options);\n\n if (!state.noRefs) getDuplicateReferences(input, state);\n\n if (writeNode(state, 0, input, true, true)) return state.dump + '\\n';\n\n return '';\n}\n\nfunction safeDump(input, options) {\n return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\nmodule.exports.dump = dump;\nmodule.exports.safeDump = safeDump;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlHeader = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be825453/include/curl/curl.h#L880\r\n/**\r\n * Object with bitmasks to be used with `HEADEROPT`.\r\n *\r\n * Available since libcurl version \\>= 7.37.0\r\n *\r\n * `CURLHEADER_UNIFIED` becomes `CurlHeader.Unified`\r\n *\r\n * @public\r\n */\r\nvar CurlHeader;\r\n(function (CurlHeader) {\r\n CurlHeader[CurlHeader[\"Unified\"] = 0] = \"Unified\";\r\n CurlHeader[CurlHeader[\"Separate\"] = 1] = \"Separate\";\r\n})(CurlHeader = exports.CurlHeader || (exports.CurlHeader = {}));\r\n//# sourceMappingURL=CurlHeader.js.map","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\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","var common = require('./common');\nvar fs = require('fs');\nvar path = require('path');\n\ncommon.register('which', _which, {\n allowGlobbing: false,\n cmdOptions: {\n 'a': 'all',\n },\n});\n\n// XP's system default value for `PATHEXT` system variable, just in case it's not\n// set on Windows.\nvar XP_DEFAULT_PATHEXT = '.com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh';\n\n// For earlier versions of NodeJS that doesn't have a list of constants (< v6)\nvar FILE_EXECUTABLE_MODE = 1;\n\nfunction isWindowsPlatform() {\n return process.platform === 'win32';\n}\n\n// Cross-platform method for splitting environment `PATH` variables\nfunction splitPath(p) {\n return p ? p.split(path.delimiter) : [];\n}\n\n// Tests are running all cases for this func but it stays uncovered by codecov due to unknown reason\n/* istanbul ignore next */\nfunction isExecutable(pathName) {\n try {\n // TODO(node-support): replace with fs.constants.X_OK once remove support for node < v6\n fs.accessSync(pathName, FILE_EXECUTABLE_MODE);\n } catch (err) {\n return false;\n }\n return true;\n}\n\nfunction checkPath(pathName) {\n return fs.existsSync(pathName) && !common.statFollowLinks(pathName).isDirectory()\n && (isWindowsPlatform() || isExecutable(pathName));\n}\n\n//@\n//@ ### which(command)\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ var nodeExec = which('node');\n//@ ```\n//@\n//@ Searches for `command` in the system's `PATH`. On Windows, this uses the\n//@ `PATHEXT` variable to append the extension if it's not already executable.\n//@ Returns string containing the absolute path to `command`.\nfunction _which(options, cmd) {\n if (!cmd) common.error('must specify command');\n\n var isWindows = isWindowsPlatform();\n var pathArray = splitPath(process.env.PATH);\n\n var queryMatches = [];\n\n // No relative/absolute paths provided?\n if (cmd.indexOf('/') === -1) {\n // Assume that there are no extensions to append to queries (this is the\n // case for unix)\n var pathExtArray = [''];\n if (isWindows) {\n // In case the PATHEXT variable is somehow not set (e.g.\n // child_process.spawn with an empty environment), use the XP default.\n var pathExtEnv = process.env.PATHEXT || XP_DEFAULT_PATHEXT;\n pathExtArray = splitPath(pathExtEnv.toUpperCase());\n }\n\n // Search for command in PATH\n for (var k = 0; k < pathArray.length; k++) {\n // already found it\n if (queryMatches.length > 0 && !options.all) break;\n\n var attempt = path.resolve(pathArray[k], cmd);\n\n if (isWindows) {\n attempt = attempt.toUpperCase();\n }\n\n var match = attempt.match(/\\.[^<>:\"/\\|?*.]+$/);\n if (match && pathExtArray.indexOf(match[0]) >= 0) { // this is Windows-only\n // The user typed a query with the file extension, like\n // `which('node.exe')`\n if (checkPath(attempt)) {\n queryMatches.push(attempt);\n break;\n }\n } else { // All-platforms\n // Cycle through the PATHEXT array, and check each extension\n // Note: the array is always [''] on Unix\n for (var i = 0; i < pathExtArray.length; i++) {\n var ext = pathExtArray[i];\n var newAttempt = attempt + ext;\n if (checkPath(newAttempt)) {\n queryMatches.push(newAttempt);\n break;\n }\n }\n }\n }\n } else if (checkPath(cmd)) { // a valid absolute or relative path\n queryMatches.push(path.resolve(cmd));\n }\n\n if (queryMatches.length > 0) {\n return options.all ? queryMatches : queryMatches[0];\n }\n return options.all ? [] : null;\n}\nmodule.exports = _which;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nclass 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\nexports.Deprecation = Deprecation;\n",null,"'use strict'\n\nconst { stringify } = require('jsonfile/utils')\nconst { outputFile } = require('../output')\n\nasync function outputJson (file, data, options = {}) {\n const str = stringify(data, options)\n\n await outputFile(file, str, options)\n}\n\nmodule.exports = outputJson\n","'use strict';\n\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\nmodule.exports = isPlainObject;\n","'use strict';\nmodule.exports = (promise, onFinally) => {\n\tonFinally = onFinally || (() => {});\n\n\treturn promise.then(\n\t\tval => new Promise(resolve => {\n\t\t\tresolve(onFinally());\n\t\t}).then(() => val),\n\t\terr => new Promise(resolve => {\n\t\t\tresolve(onFinally());\n\t\t}).then(() => {\n\t\t\tthrow err;\n\t\t})\n\t);\n};\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):((t=\"undefined\"!=typeof globalThis?globalThis:t||self).prettierPlugins=t.prettierPlugins||{},t.prettierPlugins.glimmer=e())}(this,(function(){\"use strict\";var t=function(t,e,r){return t(r={path:e,exports:{},require:function(t,e){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==e&&r.path)}},r.exports),r.exports}((function(t,e){var r=\"\\n\",n=function(){function t(t){this.string=t;for(var e=[0],n=0;nthis.string.length)return null;for(var e=0,r=this.offsets;r[e+1]<=t;)e++;return{line:e,column:t-r[e]}},t.prototype.indexForLocation=function(t){var e=t.line,r=t.column;return e<0||e>=this.offsets.length||r<0||r>this.lengthOfLine(e)?null:this.offsets[e]+r},t.prototype.lengthOfLine=function(t){var e=this.offsets[t];return(t===this.offsets.length-1?this.string.length:this.offsets[t+1])-e},t}();e.__esModule=!0,e.default=n}));var e=function(t,e){const r=new SyntaxError(t+\" (\"+e.start.line+\":\"+e.start.column+\")\");return r.loc=e,r};var r={locStart:function(t){return t.loc.start.offset},locEnd:function(t){return t.loc.end.offset}};Object.freeze([]);function n(){return Object.create(null)}const{keys:s}=Object;function a(t){for(let e=1;et;function o(t){return t.length>0}function l(t,e=\"unexpected empty list\"){if(!o(t))throw new Error(e)}const c=console;const h=Object.freeze({line:1,column:0}),u=Object.freeze({source:\"(synthetic)\",start:h,end:h}),p=(Object.freeze({source:\"(temporary)\",start:h,end:h}),Object.freeze({source:\"(nonexistent)\",start:h,end:h})),d=Object.freeze({source:\"(broken)\",start:h,end:h});class m{constructor(t){this.loc=t.loc,this.chars=t.chars}static synthetic(t){let e=M.synthetic(t);return new m({loc:e,chars:t})}static load(t,e){return new m({loc:M.load(t,e[1]),chars:e[0]})}getString(){return this.chars}serialize(){return[this.chars,this.loc.serialize()]}}var f,g,b,y=function(t,e,r){if(!e.has(t))throw new TypeError(\"attempted to set private field on non-instance\");return e.set(t,r),r},k=function(t,e){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return e.get(t)};const v=\"MATCH_ANY\",w=\"IS_INVISIBLE\";class S{constructor(t){f.set(this,void 0),y(this,f,t)}first(t){for(let e of k(this,f)){let r=e.match(t);if(o(r))return r[0]}return null}}f=new WeakMap;class E{constructor(){g.set(this,new Map)}get(t,e){let r=k(this,g).get(t);return r||(r=e(),k(this,g).set(t,r),r)}add(t,e){k(this,g).set(t,e)}match(t){let e=function(t){switch(t){case\"Broken\":case\"InternalsSynthetic\":case\"NonExistent\":return w;default:return t}}(t),r=[],n=k(this,g).get(e),s=k(this,g).get(v);return n&&r.push(n),s&&r.push(s),r}}function x(t){return t(new N).check()}g=new WeakMap;class N{constructor(){b.set(this,new E)}check(){return(t,e)=>this.matchFor(t.kind,e.kind)(t,e)}matchFor(t,e){let r=k(this,b).match(t);return new S(r).first(e)}when(t,e,r){return k(this,b).get(t,(()=>new E)).add(e,r),this}}b=new WeakMap;var T,P,A=function(t,e){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return e.get(t)},C=function(t,e,r){if(!e.has(t))throw new TypeError(\"attempted to set private field on non-instance\");return e.set(t,r),r};const L=\"BROKEN\";class B{constructor(t){this.data=t}static forHbsPos(t,e){return new O(t,e,null).wrap()}static broken(t=h){return new _(\"Broken\",t).wrap()}get offset(){let t=this.data.toCharPos();return null===t?null:t.offset}eql(t){return D(this.data,t.data)}until(t){return j(this.data,t.data)}move(t){let e=this.data.toCharPos();if(null===e)return B.broken();{let r=e.offset+t;return e.source.check(r)?new q(e.source,r).wrap():B.broken()}}collapsed(){return j(this.data,this.data)}toJSON(){return this.data.toJSON()}}class q{constructor(t,e){this.source=t,this.charPos=e,this.kind=\"CharPosition\",T.set(this,null)}toCharPos(){return this}toJSON(){let t=this.toHbsPos();return null===t?h:t.toJSON()}wrap(){return new B(this)}get offset(){return this.charPos}toHbsPos(){let t=A(this,T);if(null===t){let e=this.source.hbsPosFor(this.charPos);C(this,T,t=null===e?L:new O(this.source,e,this.charPos))}return t===L?null:t}}T=new WeakMap;class O{constructor(t,e,r=null){this.source=t,this.hbsPos=e,this.kind=\"HbsPosition\",P.set(this,void 0),C(this,P,null===r?null:new q(t,r))}toCharPos(){let t=A(this,P);if(null===t){let e=this.source.charPosFor(this.hbsPos);C(this,P,t=null===e?L:new q(this.source,e))}return t===L?null:t}toJSON(){return this.hbsPos}wrap(){return new B(this)}toHbsPos(){return this}}P=new WeakMap;class _{constructor(t,e){this.kind=t,this.pos=e}toCharPos(){return null}toJSON(){return this.pos}wrap(){return new B(this)}get offset(){return null}}const D=x((t=>t.when(\"HbsPosition\",\"HbsPosition\",(({hbsPos:t},{hbsPos:e})=>t.column===e.column&&t.line===e.line)).when(\"CharPosition\",\"CharPosition\",(({charPos:t},{charPos:e})=>t===e)).when(\"CharPosition\",\"HbsPosition\",(({offset:t},e)=>{var r;return t===(null===(r=e.toCharPos())||void 0===r?void 0:r.offset)})).when(\"HbsPosition\",\"CharPosition\",((t,{offset:e})=>{var r;return(null===(r=t.toCharPos())||void 0===r?void 0:r.offset)===e})).when(v,v,(()=>!1))));var H,V,R,I=function(t,e){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return e.get(t)},U=function(t,e,r){if(!e.has(t))throw new TypeError(\"attempted to set private field on non-instance\");return e.set(t,r),r};class M{constructor(t){this.data=t,this.isInvisible=\"CharPosition\"!==t.kind&&\"HbsPosition\"!==t.kind}static get NON_EXISTENT(){return new $(\"NonExistent\",p).wrap()}static load(t,e){return\"number\"==typeof e?M.forCharPositions(t,e,e):\"string\"==typeof e?M.synthetic(e):Array.isArray(e)?M.forCharPositions(t,e[0],e[1]):\"NonExistent\"===e?M.NON_EXISTENT:\"Broken\"===e?M.broken(d):void function(t,e=\"unexpected unreachable branch\"){throw c.log(\"unreachable\",t),c.log(\"\".concat(e,\" :: \").concat(JSON.stringify(t),\" (\").concat(t,\")\")),new Error(\"code reached unreachable\")}(e)}static forHbsLoc(t,e){let r=new O(t,e.start),n=new O(t,e.end);return new z(t,{start:r,end:n},e).wrap()}static forCharPositions(t,e,r){let n=new q(t,e),s=new q(t,r);return new F(t,{start:n,end:s}).wrap()}static synthetic(t){return new $(\"InternalsSynthetic\",p,t).wrap()}static broken(t=d){return new $(\"Broken\",t).wrap()}getStart(){return this.data.getStart().wrap()}getEnd(){return this.data.getEnd().wrap()}get loc(){let t=this.data.toHbsSpan();return null===t?d:t.toHbsLoc()}get module(){return this.data.getModule()}get startPosition(){return this.loc.start}get endPosition(){return this.loc.end}toJSON(){return this.loc}withStart(t){return j(t.data,this.data.getEnd())}withEnd(t){return j(this.data.getStart(),t.data)}asString(){return this.data.asString()}toSlice(t){let e=this.data.asString();return new m({loc:this,chars:t||e})}get start(){return this.loc.start}set start(t){this.data.locDidUpdate({start:t})}get end(){return this.loc.end}set end(t){this.data.locDidUpdate({end:t})}get source(){return this.module}collapse(t){switch(t){case\"start\":return this.getStart().collapsed();case\"end\":return this.getEnd().collapsed()}}extend(t){return j(this.data.getStart(),t.data.getEnd())}serialize(){return this.data.serialize()}slice({skipStart:t=0,skipEnd:e=0}){return j(this.getStart().move(t).data,this.getEnd().move(-e).data)}sliceStartChars({skipStart:t=0,chars:e}){return j(this.getStart().move(t).data,this.getStart().move(t+e).data)}sliceEndChars({skipEnd:t=0,chars:e}){return j(this.getEnd().move(t-e).data,this.getStart().move(-t).data)}}class F{constructor(t,e){this.source=t,this.charPositions=e,this.kind=\"CharPosition\",H.set(this,null)}wrap(){return new M(this)}asString(){return this.source.slice(this.charPositions.start.charPos,this.charPositions.end.charPos)}getModule(){return this.source.module}getStart(){return this.charPositions.start}getEnd(){return this.charPositions.end}locDidUpdate(){}toHbsSpan(){let t=I(this,H);if(null===t){let e=this.charPositions.start.toHbsPos(),r=this.charPositions.end.toHbsPos();t=U(this,H,null===e||null===r?L:new z(this.source,{start:e,end:r}))}return t===L?null:t}serialize(){let{start:{charPos:t},end:{charPos:e}}=this.charPositions;return t===e?t:[t,e]}toCharPosSpan(){return this}}H=new WeakMap;class z{constructor(t,e,r=null){this.source=t,this.hbsPositions=e,this.kind=\"HbsPosition\",V.set(this,null),R.set(this,void 0),U(this,R,r)}serialize(){let t=this.toCharPosSpan();return null===t?\"Broken\":t.wrap().serialize()}wrap(){return new M(this)}updateProvided(t,e){I(this,R)&&(I(this,R)[e]=t),U(this,V,null),U(this,R,{start:t,end:t})}locDidUpdate({start:t,end:e}){void 0!==t&&(this.updateProvided(t,\"start\"),this.hbsPositions.start=new O(this.source,t,null)),void 0!==e&&(this.updateProvided(e,\"end\"),this.hbsPositions.end=new O(this.source,e,null))}asString(){let t=this.toCharPosSpan();return null===t?\"\":t.asString()}getModule(){return this.source.module}getStart(){return this.hbsPositions.start}getEnd(){return this.hbsPositions.end}toHbsLoc(){return{start:this.hbsPositions.start.hbsPos,end:this.hbsPositions.end.hbsPos}}toHbsSpan(){return this}toCharPosSpan(){let t=I(this,V);if(null===t){let e=this.hbsPositions.start.toCharPos(),r=this.hbsPositions.end.toCharPos();if(!e||!r)return t=U(this,V,L),null;t=U(this,V,new F(this.source,{start:e,end:r}))}return t===L?null:t}}V=new WeakMap,R=new WeakMap;class ${constructor(t,e,r=null){this.kind=t,this.loc=e,this.string=r}serialize(){switch(this.kind){case\"Broken\":case\"NonExistent\":return this.kind;case\"InternalsSynthetic\":return this.string||\"\"}}wrap(){return new M(this)}asString(){return this.string||\"\"}locDidUpdate({start:t,end:e}){void 0!==t&&(this.loc.start=t),void 0!==e&&(this.loc.end=e)}getModule(){return\"an unknown module\"}getStart(){return new _(this.kind,this.loc.start)}getEnd(){return new _(this.kind,this.loc.end)}toCharPosSpan(){return this}toHbsSpan(){return null}toHbsLoc(){return d}}const j=x((t=>t.when(\"HbsPosition\",\"HbsPosition\",((t,e)=>new z(t.source,{start:t,end:e}).wrap())).when(\"CharPosition\",\"CharPosition\",((t,e)=>new F(t.source,{start:t,end:e}).wrap())).when(\"CharPosition\",\"HbsPosition\",((t,e)=>{let r=e.toCharPos();return null===r?new $(\"Broken\",d).wrap():j(t,r)})).when(\"HbsPosition\",\"CharPosition\",((t,e)=>{let r=t.toCharPos();return null===r?new $(\"Broken\",d).wrap():j(r,e)})).when(w,v,(t=>new $(t.kind,d).wrap())).when(v,w,((t,e)=>new $(e.kind,d).wrap()))));class G{constructor(t,e=\"an unknown module\"){this.source=t,this.module=e}check(t){return t>=0&&t<=this.source.length}slice(t,e){return this.source.slice(t,e)}offsetFor(t,e){return B.forHbsPos(this,{line:t,column:e})}spanFor({start:t,end:e}){return M.forHbsLoc(this,{start:{line:t.line,column:t.column},end:{line:e.line,column:e.column}})}hbsPosFor(t){let e=0,r=0;if(t>this.source.length)return null;for(;;){let n=this.source.indexOf(\"\\n\",r);if(t<=n||-1===n)return{line:e+1,column:t-r};e+=1,r=n+1}}charPosFor(t){let{line:e,column:r}=t,n=this.source.length,s=0,a=0;for(;;){if(a>=n)return n;let t=this.source.indexOf(\"\\n\",a);if(-1===t&&(t=this.source.length),s===e-1)return a+r>t?t:a+r;if(-1===t)return 0;s+=1,a=t+1}}}class K{constructor(t,e,r,n){this.original=t,this.loc=n,this.type=\"PathExpression\",this.this=!1,this.data=!1;let s=r.slice();\"ThisHead\"===e.type?this.this=!0:\"AtHead\"===e.type?(this.data=!0,s.unshift(e.name.slice(1))):s.unshift(e.name),this.parts=s}get head(){let t;t=this.this?\"this\":this.data?\"@\".concat(this.parts[0]):this.parts[0];let e=this.loc.collapse(\"start\").sliceStartChars({chars:t.length}).loc;return at.head(t,e)}get tail(){return this.this?this.parts:this.parts.slice(1)}}let W;function J(){return W||(W=new G(\"\",\"(synthetic)\")),W}function Q(t){switch(t.type){case\"AtHead\":return{original:t.name,parts:[t.name]};case\"ThisHead\":return{original:\"this\",parts:[]};case\"VarHead\":return{original:t.name,parts:[t.name]}}}function Y(t,e){let r,[n,...s]=t.split(\".\");return r=\"this\"===n?{type:\"ThisHead\",loc:st(e||null)}:\"@\"===n[0]?{type:\"AtHead\",name:n,loc:st(e||null)}:{type:\"VarHead\",name:n,loc:st(e||null)},{head:r,tail:s}}function Z(t){return{type:\"ThisHead\",loc:st(t||null)}}function X(t,e){return{type:\"AtHead\",name:t,loc:st(e||null)}}function tt(t,e){return{type:\"VarHead\",name:t,loc:st(e||null)}}function et(t,e){if(\"string\"!=typeof t){if(\"type\"in t)return t;{let{head:r,tail:n}=Y(t.head,M.broken()),{original:s}=Q(r);return new K([s,...n].join(\".\"),r,n,st(e||null))}}let{head:r,tail:n}=Y(t,M.broken());return new K(t,r,n,st(e||null))}function rt(t,e,r){return{type:t,value:e,original:e,loc:st(r||null)}}function nt(t,e){return{type:\"Hash\",pairs:t||[],loc:st(e||null)}}function st(...t){if(1===t.length){let e=t[0];return e&&\"object\"==typeof e?M.forHbsLoc(J(),e):M.forHbsLoc(J(),u)}{let[e,r,n,s,a]=t,i=a?new G(\"\",a):J();return M.forHbsLoc(i,{start:{line:e,column:r},end:{line:n,column:s}})}}var at={mustache:function(t,e,r,n,s,a){return\"string\"==typeof t&&(t=et(t)),{type:\"MustacheStatement\",path:t,params:e||[],hash:r||nt([]),escaped:!n,trusting:!!n,loc:st(s||null),strip:a||{open:!1,close:!1}}},block:function(t,e,r,n,s,i,o,l,c){let h,u;return h=\"Template\"===n.type?a({},n,{type:\"Block\"}):n,u=null!=s&&\"Template\"===s.type?a({},s,{type:\"Block\"}):s,{type:\"BlockStatement\",path:et(t),params:e||[],hash:r||nt([]),program:h||null,inverse:u||null,loc:st(i||null),openStrip:o||{open:!1,close:!1},inverseStrip:l||{open:!1,close:!1},closeStrip:c||{open:!1,close:!1}}},partial:function(t,e,r,n,s){return{type:\"PartialStatement\",name:t,params:e||[],hash:r||nt([]),indent:n||\"\",strip:{open:!1,close:!1},loc:st(s||null)}},comment:function(t,e){return{type:\"CommentStatement\",value:t,loc:st(e||null)}},mustacheComment:function(t,e){return{type:\"MustacheCommentStatement\",value:t,loc:st(e||null)}},element:function(t,e){let r,{attrs:n,blockParams:s,modifiers:a,comments:i,children:o,loc:l}=e,c=!1;return\"object\"==typeof t?(c=t.selfClosing,r=t.name):\"/\"===t.slice(-1)?(r=t.slice(0,-1),c=!0):r=t,{type:\"ElementNode\",tag:r,selfClosing:c,attributes:n||[],blockParams:s||[],modifiers:a||[],comments:i||[],children:o||[],loc:l}},elementModifier:function(t,e,r,n){return{type:\"ElementModifierStatement\",path:et(t),params:e||[],hash:r||nt([]),loc:st(n||null)}},attr:function(t,e,r){return{type:\"AttrNode\",name:t,value:e,loc:st(r||null)}},text:function(t,e){return{type:\"TextNode\",chars:t||\"\",loc:st(e||null)}},sexpr:function(t,e,r,n){return{type:\"SubExpression\",path:et(t),params:e||[],hash:r||nt([]),loc:st(n||null)}},concat:function(t,e){if(!o(t))throw new Error(\"b.concat requires at least one part\");return{type:\"ConcatStatement\",parts:t||[],loc:st(e||null)}},hash:nt,pair:function(t,e,r){return{type:\"HashPair\",key:t,value:e,loc:st(r||null)}},literal:rt,program:function(t,e,r){return{type:\"Template\",body:t||[],blockParams:e||[],loc:st(r||null)}},blockItself:function(t,e,r=!1,n){return{type:\"Block\",body:t||[],blockParams:e||[],chained:r,loc:st(n||null)}},template:function(t,e,r){return{type:\"Template\",body:t||[],blockParams:e||[],loc:st(r||null)}},loc:st,pos:function(t,e){return{line:t,column:e}},path:et,fullPath:function(t,e,r){let{original:n,parts:s}=Q(t),a=[...n,...[...s,...e]].join(\".\");return new K(a,t,e,st(r||null))},head:function(t,e){return\"@\"===t[0]?X(t,e):\"this\"===t?Z(e):tt(t,e)},at:X,var:tt,this:Z,blockName:function(t,e){return{type:\"NamedBlockName\",name:t,loc:st(e||null)}},string:it(\"StringLiteral\"),boolean:it(\"BooleanLiteral\"),number:it(\"NumberLiteral\"),undefined:()=>rt(\"UndefinedLiteral\",void 0),null:()=>rt(\"NullLiteral\",null)};function it(t){return function(e,r){return rt(t,e,r)}}var ot=Object.freeze({__proto__:null});class lt{resolution(){return 33}serialize(){return\"Strict\"}}const ct=new lt;class ht{constructor(t){this.ambiguity=t}static namespaced(t){return new ht({namespaces:[t],fallback:!1})}static fallback(){return new ht({namespaces:[],fallback:!0})}static append({invoke:t}){return new ht({namespaces:[\"Component\",\"Helper\"],fallback:!t})}static attr(){return new ht({namespaces:[\"Helper\"],fallback:!0})}resolution(){if(0===this.ambiguity.namespaces.length)return 34;if(1!==this.ambiguity.namespaces.length)return this.ambiguity.fallback?35:36;if(this.ambiguity.fallback)return 37;switch(this.ambiguity.namespaces[0]){case\"Helper\":return 38;case\"Modifier\":return 39;case\"Component\":return 40}}serialize(){return 0===this.ambiguity.namespaces.length?\"Loose\":1===this.ambiguity.namespaces.length?this.ambiguity.fallback?[\"ambiguous\",\"Attr\"]:[\"ns\",this.ambiguity.namespaces[0]]:this.ambiguity.fallback?[\"ambiguous\",\"Append\"]:[\"ambiguous\",\"Invoke\"]}}const ut=ht.fallback();function pt(t){if(void 0!==t){const e=t;return{fields:()=>class{constructor(t){this.type=e,this.loc=t.loc,dt(t,this)}}}}return{fields:()=>class{constructor(t){this.loc=t.loc,dt(t,this)}}}}function dt(t,e){for(let n of(r=t,Object.keys(r)))e[n]=t[n];var r}class mt extends(pt().fields()){static empty(t){return new mt({loc:t,positional:ft.empty(t),named:gt.empty(t)})}static named(t){return new mt({loc:t.loc,positional:ft.empty(t.loc.collapse(\"end\")),named:t})}nth(t){return this.positional.nth(t)}get(t){return this.named.get(t)}isEmpty(){return this.positional.isEmpty()&&this.named.isEmpty()}}class ft extends(pt().fields()){static empty(t){return new ft({loc:t,exprs:[]})}get size(){return this.exprs.length}nth(t){return this.exprs[t]||null}isEmpty(){return 0===this.exprs.length}}class gt extends(pt().fields()){static empty(t){return new gt({loc:t,entries:[]})}get size(){return this.entries.length}get(t){let e=this.entries.filter((e=>e.name.chars===t))[0];return e?e.value:null}isEmpty(){return 0===this.entries.length}}class bt{constructor(t){this.loc=t.name.loc.extend(t.value.loc),this.name=t.name,this.value=t.value}}class yt extends(pt(\"HtmlAttr\").fields()){}class kt extends(pt(\"SplatAttr\").fields()){}class vt extends(pt().fields()){toNamedArgument(){return new bt({name:this.name,value:this.value})}}class wt extends(pt(\"ElementModifier\").fields()){}var St,Et=function(t,e,r){if(!e.has(t))throw new TypeError(\"attempted to set private field on non-instance\");return e.set(t,r),r},xt=function(t,e){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return e.get(t)};class Nt{constructor(t=[]){St.set(this,void 0),Et(this,St,t)}static range(t,e=M.NON_EXISTENT){return new Nt(t.map(Tt)).getRangeOffset(e)}add(t){xt(this,St).push(t)}getRangeOffset(t){if(0===xt(this,St).length)return t;{let t=xt(this,St)[0],e=xt(this,St)[xt(this,St).length-1];return t.extend(e)}}}function Tt(t){if(Array.isArray(t)){let e=t[0],r=t[t.length-1];return Tt(e).extend(Tt(r))}return t instanceof M?t:t.loc}function Pt(t){return!Array.isArray(t)||0!==t.length}St=new WeakMap;class At extends(pt(\"GlimmerComment\").fields()){}class Ct extends(pt(\"HtmlText\").fields()){}class Lt extends(pt(\"HtmlComment\").fields()){}class Bt extends(pt(\"AppendContent\").fields()){get callee(){return\"Call\"===this.value.type?this.value.callee:this.value}get args(){return\"Call\"===this.value.type?this.value.args:mt.empty(this.value.loc.collapse(\"end\"))}}class qt extends(pt(\"InvokeBlock\").fields()){}class Ot extends(pt(\"InvokeComponent\").fields()){get args(){let t=this.componentArgs.map((t=>t.toNamedArgument()));return mt.named(new gt({loc:Nt.range(t,this.callee.loc.collapse(\"end\")),entries:t}))}}class _t extends(pt(\"SimpleElement\").fields()){get args(){let t=this.componentArgs.map((t=>t.toNamedArgument()));return mt.named(new gt({loc:Nt.range(t,this.tag.loc.collapse(\"end\")),entries:t}))}}class Dt extends(pt(\"Literal\").fields()){toSlice(){return new m({loc:this.loc,chars:this.value})}}class Ht extends(pt(\"Path\").fields()){}class Vt extends(pt(\"Call\").fields()){}class Rt extends(pt(\"Interpolate\").fields()){}class It extends(pt(\"This\").fields()){}class Ut extends(pt(\"Arg\").fields()){}class Mt extends(pt(\"Local\").fields()){}class Ft extends(pt(\"Free\").fields()){}class zt extends(pt().fields()){}class $t extends(pt().fields()){}class jt extends(pt().fields()){get(t){return this.blocks.filter((e=>e.name.chars===t))[0]||null}}class Gt extends(pt().fields()){get args(){let t=this.componentArgs.map((t=>t.toNamedArgument()));return mt.named(new gt({loc:Nt.range(t,this.name.loc.collapse(\"end\")),entries:t}))}}var Kt=Object.freeze({__proto__:null,StrictResolution:lt,STRICT_RESOLUTION:ct,LooseModeResolution:ht,ARGUMENT_RESOLUTION:ut,loadResolution:function(t){if(\"string\"==typeof t)switch(t){case\"Loose\":return ht.fallback();case\"Strict\":return ct}switch(t[0]){case\"ambiguous\":switch(t[1]){case\"Append\":return ht.append({invoke:!1});case\"Attr\":return ht.attr();case\"Invoke\":return ht.append({invoke:!0})}case\"ns\":return ht.namespaced(t[1])}},node:pt,Args:mt,PositionalArguments:ft,NamedArguments:gt,NamedArgument:bt,HtmlAttr:yt,SplatAttr:kt,ComponentArg:vt,ElementModifier:wt,GlimmerComment:At,HtmlText:Ct,HtmlComment:Lt,AppendContent:Bt,InvokeBlock:qt,InvokeComponent:Ot,SimpleElement:_t,LiteralExpression:Dt,isLiteral:function(t,e){return\"Literal\"===t.type&&(void 0===e||(\"null\"===e?null===t.value:typeof t.value===e))},PathExpression:Ht,CallExpression:Vt,InterpolateExpression:Rt,ThisReference:It,ArgReference:Ut,LocalVarReference:Mt,FreeVarReference:Ft,Template:zt,Block:$t,NamedBlocks:jt,NamedBlock:Gt});const Wt=/[\\xA0\"&]/,Jt=new RegExp(Wt.source,\"g\"),Qt=/[\\xA0&<>]/,Yt=new RegExp(Qt.source,\"g\");function Zt(t){switch(t.charCodeAt(0)){case 160:return\" \";case 34:return\""\";case 38:return\"&\";default:return t}}function Xt(t){switch(t.charCodeAt(0)){case 160:return\" \";case 38:return\"&\";case 60:return\"<\";case 62:return\">\";default:return t}}const te=Object.create(null);\"area base br col command embed hr img input keygen link meta param source track wbr\".split(\" \").forEach((t=>{te[t]=!0}));const ee=/\\S/;class re{constructor(t){this.buffer=\"\",this.options=t}handledByOverride(t,e=!1){if(void 0!==this.options.override){let r=this.options.override(t,this.options);if(\"string\"==typeof r)return e&&\"\"!==r&&ee.test(r[0])&&(r=\" \".concat(r)),this.buffer+=r,!0}return!1}Node(t){switch(t.type){case\"MustacheStatement\":case\"BlockStatement\":case\"PartialStatement\":case\"MustacheCommentStatement\":case\"CommentStatement\":case\"TextNode\":case\"ElementNode\":case\"AttrNode\":case\"Block\":case\"Template\":return this.TopLevelStatement(t);case\"StringLiteral\":case\"BooleanLiteral\":case\"NumberLiteral\":case\"UndefinedLiteral\":case\"NullLiteral\":case\"PathExpression\":case\"SubExpression\":return this.Expression(t);case\"Program\":return this.Block(t);case\"ConcatStatement\":return this.ConcatStatement(t);case\"Hash\":return this.Hash(t);case\"HashPair\":return this.HashPair(t);case\"ElementModifierStatement\":return this.ElementModifierStatement(t)}}Expression(t){switch(t.type){case\"StringLiteral\":case\"BooleanLiteral\":case\"NumberLiteral\":case\"UndefinedLiteral\":case\"NullLiteral\":return this.Literal(t);case\"PathExpression\":return this.PathExpression(t);case\"SubExpression\":return this.SubExpression(t)}}Literal(t){switch(t.type){case\"StringLiteral\":return this.StringLiteral(t);case\"BooleanLiteral\":return this.BooleanLiteral(t);case\"NumberLiteral\":return this.NumberLiteral(t);case\"UndefinedLiteral\":return this.UndefinedLiteral(t);case\"NullLiteral\":return this.NullLiteral(t)}}TopLevelStatement(t){switch(t.type){case\"MustacheStatement\":return this.MustacheStatement(t);case\"BlockStatement\":return this.BlockStatement(t);case\"PartialStatement\":return this.PartialStatement(t);case\"MustacheCommentStatement\":return this.MustacheCommentStatement(t);case\"CommentStatement\":return this.CommentStatement(t);case\"TextNode\":return this.TextNode(t);case\"ElementNode\":return this.ElementNode(t);case\"Block\":case\"Template\":return this.Block(t);case\"AttrNode\":return this.AttrNode(t)}}Block(t){if(t.chained){t.body[0].chained=!0}this.handledByOverride(t)||this.TopLevelStatements(t.body)}TopLevelStatements(t){t.forEach((t=>this.TopLevelStatement(t)))}ElementNode(t){this.handledByOverride(t)||(this.OpenElementNode(t),this.TopLevelStatements(t.children),this.CloseElementNode(t))}OpenElementNode(t){this.buffer+=\"<\".concat(t.tag),t.attributes.length&&t.attributes.forEach((t=>{this.buffer+=\" \",this.AttrNode(t)})),t.modifiers.length&&t.modifiers.forEach((t=>{this.buffer+=\" \",this.ElementModifierStatement(t)})),t.comments.length&&t.comments.forEach((t=>{this.buffer+=\" \",this.MustacheCommentStatement(t)})),t.blockParams.length&&this.BlockParams(t.blockParams),t.selfClosing&&(this.buffer+=\" /\"),this.buffer+=\">\"}CloseElementNode(t){t.selfClosing||te[t.tag.toLowerCase()]||(this.buffer+=\"\"))}AttrNode(t){if(this.handledByOverride(t))return;let{name:e,value:r}=t;this.buffer+=e,(\"TextNode\"!==r.type||r.chars.length>0)&&(this.buffer+=\"=\",this.AttrNodeValue(r))}AttrNodeValue(t){\"TextNode\"===t.type?(this.buffer+='\"',this.TextNode(t,!0),this.buffer+='\"'):this.Node(t)}TextNode(t,e){var r;this.handledByOverride(t)||(\"raw\"===this.options.entityEncoding?this.buffer+=t.chars:this.buffer+=e?(r=t.chars,Wt.test(r)?r.replace(Jt,Zt):r):function(t){return Qt.test(t)?t.replace(Yt,Xt):t}(t.chars))}MustacheStatement(t){this.handledByOverride(t)||(this.buffer+=t.escaped?\"{{\":\"{{{\",t.strip.open&&(this.buffer+=\"~\"),this.Expression(t.path),this.Params(t.params),this.Hash(t.hash),t.strip.close&&(this.buffer+=\"~\"),this.buffer+=t.escaped?\"}}\":\"}}}\")}BlockStatement(t){this.handledByOverride(t)||(t.chained?(this.buffer+=t.inverseStrip.open?\"{{~\":\"{{\",this.buffer+=\"else \"):this.buffer+=t.openStrip.open?\"{{~#\":\"{{#\",this.Expression(t.path),this.Params(t.params),this.Hash(t.hash),t.program.blockParams.length&&this.BlockParams(t.program.blockParams),t.chained?this.buffer+=t.inverseStrip.close?\"~}}\":\"}}\":this.buffer+=t.openStrip.close?\"~}}\":\"}}\",this.Block(t.program),t.inverse&&(t.inverse.chained||(this.buffer+=t.inverseStrip.open?\"{{~\":\"{{\",this.buffer+=\"else\",this.buffer+=t.inverseStrip.close?\"~}}\":\"}}\"),this.Block(t.inverse)),t.chained||(this.buffer+=t.closeStrip.open?\"{{~/\":\"{{/\",this.Expression(t.path),this.buffer+=t.closeStrip.close?\"~}}\":\"}}\"))}BlockParams(t){this.buffer+=\" as |\".concat(t.join(\" \"),\"|\")}PartialStatement(t){this.handledByOverride(t)||(this.buffer+=\"{{>\",this.Expression(t.name),this.Params(t.params),this.Hash(t.hash),this.buffer+=\"}}\")}ConcatStatement(t){this.handledByOverride(t)||(this.buffer+='\"',t.parts.forEach((t=>{\"TextNode\"===t.type?this.TextNode(t,!0):this.Node(t)})),this.buffer+='\"')}MustacheCommentStatement(t){this.handledByOverride(t)||(this.buffer+=\"{{!--\".concat(t.value,\"--}}\"))}ElementModifierStatement(t){this.handledByOverride(t)||(this.buffer+=\"{{\",this.Expression(t.path),this.Params(t.params),this.Hash(t.hash),this.buffer+=\"}}\")}CommentStatement(t){this.handledByOverride(t)||(this.buffer+=\"\\x3c!--\".concat(t.value,\"--\\x3e\"))}PathExpression(t){this.handledByOverride(t)||(this.buffer+=t.original)}SubExpression(t){this.handledByOverride(t)||(this.buffer+=\"(\",this.Expression(t.path),this.Params(t.params),this.Hash(t.hash),this.buffer+=\")\")}Params(t){t.length&&t.forEach((t=>{this.buffer+=\" \",this.Expression(t)}))}Hash(t){this.handledByOverride(t,!0)||t.pairs.forEach((t=>{this.buffer+=\" \",this.HashPair(t)}))}HashPair(t){this.handledByOverride(t)||(this.buffer+=t.key,this.buffer+=\"=\",this.Node(t.value))}StringLiteral(t){this.handledByOverride(t)||(this.buffer+=JSON.stringify(t.value))}BooleanLiteral(t){this.handledByOverride(t)||(this.buffer+=t.value)}NumberLiteral(t){this.handledByOverride(t)||(this.buffer+=t.value)}UndefinedLiteral(t){this.handledByOverride(t)||(this.buffer+=\"undefined\")}NullLiteral(t){this.handledByOverride(t)||(this.buffer+=\"null\")}print(t){let{options:e}=this;if(e.override){let r=e.override(t,e);if(void 0!==r)return r}return this.buffer=\"\",this.Node(t),this.buffer}}var ne=[\"description\",\"fileName\",\"lineNumber\",\"endLineNumber\",\"message\",\"name\",\"number\",\"stack\"];function se(t,e){var r,n,s,a,i=e&&e.loc;i&&(r=i.start.line,n=i.end.line,s=i.start.column,a=i.end.column,t+=\" - \"+r+\":\"+s);for(var o=Error.prototype.constructor.call(this,t),l=0;lc&&x.push(\"'\"+this.terminals_[w]+\"'\");P=p.showPosition?\"Parse error on line \"+(o+1)+\":\\n\"+p.showPosition()+\"\\nExpecting \"+x.join(\", \")+\", got '\"+(this.terminals_[b]||b)+\"'\":\"Parse error on line \"+(o+1)+\": Unexpected \"+(b==h?\"end of input\":\"'\"+(this.terminals_[b]||b)+\"'\"),this.parseError(P,{text:p.match,token:this.terminals_[b]||b,line:p.yylineno,loc:f,expected:x})}if(k[0]instanceof Array&&k.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+y+\", token: \"+b);switch(k[0]){case 1:r.push(b),n.push(p.yytext),s.push(p.yylloc),r.push(k[1]),b=null,l=p.yyleng,i=p.yytext,o=p.yylineno,f=p.yylloc;break;case 2:if(S=this.productions_[k[1]][1],T.$=n[n.length-S],T._$={first_line:s[s.length-(S||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(S||1)].first_column,last_column:s[s.length-1].last_column},g&&(T._$.range=[s[s.length-(S||1)].range[0],s[s.length-1].range[1]]),void 0!==(v=this.performAction.apply(T,[i,l,o,d.yy,k[1],n,s].concat(u))))return v;S&&(r=r.slice(0,-1*S*2),n=n.slice(0,-1*S),s=s.slice(0,-1*S)),r.push(this.productions_[k[1]][0]),n.push(T.$),s.push(T._$),E=a[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},D={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\\r\\n?|\\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\\r\\n?|\\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?\"...\":\"\")+t.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join(\"-\");return t+this.upcomingInput()+\"\\n\"+e+\"^\"},test_match:function(t,e){var r,n,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\\r\\n?|\\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in s)this[a]=s[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext=\"\",this.match=\"\");for(var s=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,s[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[n]))&&t:\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:\"INITIAL\"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){function s(t,r){return e.yytext=e.yytext.substring(t,e.yyleng-r+t)}switch(r){case 0:if(\"\\\\\\\\\"===e.yytext.slice(-2)?(s(0,1),this.begin(\"mu\")):\"\\\\\"===e.yytext.slice(-1)?(s(0,1),this.begin(\"emu\")):this.begin(\"mu\"),e.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin(\"raw\"),15;case 4:return this.popState(),\"raw\"===this.conditionStack[this.conditionStack.length-1]?15:(s(5,9),18);case 5:return 15;case 6:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin(\"raw\"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(e.yytext),this.popState(),this.begin(\"com\");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 73;case 25:case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return e.yytext=s(1,2).replace(/\\\\\"/g,'\"'),80;case 32:return e.yytext=s(1,2).replace(/\\\\'/g,\"'\"),80;case 33:return 85;case 34:case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return e.yytext=e.yytext.replace(/\\\\([\\\\\\]])/g,\"$1\"),72;case 43:return\"INVALID\";case 44:return 5}},rules:[/^(?:[^\\x00]*?(?=(\\{\\{)))/,/^(?:[^\\x00]+)/,/^(?:[^\\x00]{2,}?(?=(\\{\\{|\\\\\\{\\{|\\\\\\\\\\{\\{|$)))/,/^(?:\\{\\{\\{\\{(?=[^/]))/,/^(?:\\{\\{\\{\\{\\/[^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=[=}\\s\\/.])\\}\\}\\}\\})/,/^(?:[^\\x00]+?(?=(\\{\\{\\{\\{)))/,/^(?:[\\s\\S]*?--(~)?\\}\\})/,/^(?:\\()/,/^(?:\\))/,/^(?:\\{\\{\\{\\{)/,/^(?:\\}\\}\\}\\})/,/^(?:\\{\\{(~)?>)/,/^(?:\\{\\{(~)?#>)/,/^(?:\\{\\{(~)?#\\*?)/,/^(?:\\{\\{(~)?\\/)/,/^(?:\\{\\{(~)?\\^\\s*(~)?\\}\\})/,/^(?:\\{\\{(~)?\\s*else\\s*(~)?\\}\\})/,/^(?:\\{\\{(~)?\\^)/,/^(?:\\{\\{(~)?\\s*else\\b)/,/^(?:\\{\\{(~)?\\{)/,/^(?:\\{\\{(~)?&)/,/^(?:\\{\\{(~)?!--)/,/^(?:\\{\\{(~)?![\\s\\S]*?\\}\\})/,/^(?:\\{\\{(~)?\\*?)/,/^(?:=)/,/^(?:\\.\\.)/,/^(?:\\.(?=([=~}\\s\\/.)|])))/,/^(?:[\\/.])/,/^(?:\\s+)/,/^(?:\\}(~)?\\}\\})/,/^(?:(~)?\\}\\})/,/^(?:\"(\\\\[\"]|[^\"])*\")/,/^(?:'(\\\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\\s)])))/,/^(?:false(?=([~}\\s)])))/,/^(?:undefined(?=([~}\\s)])))/,/^(?:null(?=([~}\\s)])))/,/^(?:-?[0-9]+(?:\\.[0-9]+)?(?=([~}\\s)])))/,/^(?:as\\s+\\|)/,/^(?:\\|)/,/^(?:([^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=([=~}\\s\\/.)|]))))/,/^(?:\\[(\\\\\\]|[^\\]])*\\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};function H(){this.yy={}}return _.lexer=D,H.prototype=_,_.Parser=H,new H}();function fe(){this.padding=0}function ge(t,e){if(e=e.path?e.path.original:e,t.path.original!==e){var r={loc:t.path.loc};throw new se(t.path.original+\" doesn't match \"+e,r)}}function be(t,e){this.source=t,this.start={line:e.first_line,column:e.first_column},this.end={line:e.last_line,column:e.last_column}}fe.prototype=new ae,fe.prototype.pad=function(t){for(var e=\"\",r=0,n=this.padding;r \"+e+\" }}\")},fe.prototype.PartialBlockStatement=function(t){var e=\"PARTIAL BLOCK:\"+t.name.original;return t.params[0]&&(e+=\" \"+this.accept(t.params[0])),t.hash&&(e+=\" \"+this.accept(t.hash)),e+=\" \"+this.pad(\"PROGRAM:\"),this.padding++,e+=this.accept(t.program),this.padding--,this.pad(\"{{> \"+e+\" }}\")},fe.prototype.ContentStatement=function(t){return this.pad(\"CONTENT[ '\"+t.value+\"' ]\")},fe.prototype.CommentStatement=function(t){return this.pad(\"{{! '\"+t.value+\"' }}\")},fe.prototype.SubExpression=function(t){for(var e,r=t.params,n=[],s=0,a=r.length;s0)throw new se(\"Invalid path: \"+n,{loc:r});\"..\"===l&&a++}}return{type:\"PathExpression\",data:t,depth:a,parts:s,original:n,loc:r}},prepareMustache:function(t,e,r,n,s,a){var i=n.charAt(3)||n.charAt(2),o=\"{\"!==i&&\"&\"!==i;return{type:/\\*/.test(n)?\"Decorator\":\"MustacheStatement\",path:t,params:e,hash:r,escaped:o,strip:s,loc:this.locInfo(a)}},prepareRawBlock:function(t,e,r,n){ge(t,r);var s={type:\"Program\",body:e,strip:{},loc:n=this.locInfo(n)};return{type:\"BlockStatement\",path:t.path,params:t.params,hash:t.hash,program:s,openStrip:{},inverseStrip:{},closeStrip:{},loc:n}},prepareBlock:function(t,e,r,n,s,a){n&&n.path&&ge(t,n);var i,o,l=/\\*/.test(t.open);if(e.blockParams=t.blockParams,r){if(l)throw new se(\"Unexpected inverse block on decorator\",r);r.chain&&(r.program.body[0].closeStrip=n.strip),o=r.strip,i=r.program}return s&&(s=i,i=e,e=s),{type:l?\"DecoratorBlock\":\"BlockStatement\",path:t.path,params:t.params,hash:t.hash,program:e,inverse:i,openStrip:t.strip,inverseStrip:o,closeStrip:n&&n.strip,loc:this.locInfo(a)}},prepareProgram:function(t,e){if(!e&&t.length){var r=t[0].loc,n=t[t.length-1].loc;r&&n&&(e={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:n.end.line,column:n.end.column}})}return{type:\"Program\",body:t,strip:{},loc:e}},preparePartialBlock:function(t,e,r,n){return ge(t,r),{type:\"PartialBlockStatement\",name:t.path,params:t.params,hash:t.hash,program:e,openStrip:t.strip,closeStrip:r&&r.strip,loc:this.locInfo(n)}}}),ke={};for(var ve in ye)Object.prototype.hasOwnProperty.call(ye,ve)&&(ke[ve]=ye[ve]);function we(t,e){return\"Program\"===t.type?t:(me.yy=ke,me.yy.locInfo=function(t){return new be(e&&e.srcName,t)},me.parse(t))}function Se(t,e){var r=we(t,e);return new ce(e).accept(r)}var Ee={Aacute:\"\\xc1\",aacute:\"\\xe1\",Abreve:\"\\u0102\",abreve:\"\\u0103\",ac:\"\\u223e\",acd:\"\\u223f\",acE:\"\\u223e\\u0333\",Acirc:\"\\xc2\",acirc:\"\\xe2\",acute:\"\\xb4\",Acy:\"\\u0410\",acy:\"\\u0430\",AElig:\"\\xc6\",aelig:\"\\xe6\",af:\"\\u2061\",Afr:\"\\ud835\\udd04\",afr:\"\\ud835\\udd1e\",Agrave:\"\\xc0\",agrave:\"\\xe0\",alefsym:\"\\u2135\",aleph:\"\\u2135\",Alpha:\"\\u0391\",alpha:\"\\u03b1\",Amacr:\"\\u0100\",amacr:\"\\u0101\",amalg:\"\\u2a3f\",amp:\"&\",AMP:\"&\",andand:\"\\u2a55\",And:\"\\u2a53\",and:\"\\u2227\",andd:\"\\u2a5c\",andslope:\"\\u2a58\",andv:\"\\u2a5a\",ang:\"\\u2220\",ange:\"\\u29a4\",angle:\"\\u2220\",angmsdaa:\"\\u29a8\",angmsdab:\"\\u29a9\",angmsdac:\"\\u29aa\",angmsdad:\"\\u29ab\",angmsdae:\"\\u29ac\",angmsdaf:\"\\u29ad\",angmsdag:\"\\u29ae\",angmsdah:\"\\u29af\",angmsd:\"\\u2221\",angrt:\"\\u221f\",angrtvb:\"\\u22be\",angrtvbd:\"\\u299d\",angsph:\"\\u2222\",angst:\"\\xc5\",angzarr:\"\\u237c\",Aogon:\"\\u0104\",aogon:\"\\u0105\",Aopf:\"\\ud835\\udd38\",aopf:\"\\ud835\\udd52\",apacir:\"\\u2a6f\",ap:\"\\u2248\",apE:\"\\u2a70\",ape:\"\\u224a\",apid:\"\\u224b\",apos:\"'\",ApplyFunction:\"\\u2061\",approx:\"\\u2248\",approxeq:\"\\u224a\",Aring:\"\\xc5\",aring:\"\\xe5\",Ascr:\"\\ud835\\udc9c\",ascr:\"\\ud835\\udcb6\",Assign:\"\\u2254\",ast:\"*\",asymp:\"\\u2248\",asympeq:\"\\u224d\",Atilde:\"\\xc3\",atilde:\"\\xe3\",Auml:\"\\xc4\",auml:\"\\xe4\",awconint:\"\\u2233\",awint:\"\\u2a11\",backcong:\"\\u224c\",backepsilon:\"\\u03f6\",backprime:\"\\u2035\",backsim:\"\\u223d\",backsimeq:\"\\u22cd\",Backslash:\"\\u2216\",Barv:\"\\u2ae7\",barvee:\"\\u22bd\",barwed:\"\\u2305\",Barwed:\"\\u2306\",barwedge:\"\\u2305\",bbrk:\"\\u23b5\",bbrktbrk:\"\\u23b6\",bcong:\"\\u224c\",Bcy:\"\\u0411\",bcy:\"\\u0431\",bdquo:\"\\u201e\",becaus:\"\\u2235\",because:\"\\u2235\",Because:\"\\u2235\",bemptyv:\"\\u29b0\",bepsi:\"\\u03f6\",bernou:\"\\u212c\",Bernoullis:\"\\u212c\",Beta:\"\\u0392\",beta:\"\\u03b2\",beth:\"\\u2136\",between:\"\\u226c\",Bfr:\"\\ud835\\udd05\",bfr:\"\\ud835\\udd1f\",bigcap:\"\\u22c2\",bigcirc:\"\\u25ef\",bigcup:\"\\u22c3\",bigodot:\"\\u2a00\",bigoplus:\"\\u2a01\",bigotimes:\"\\u2a02\",bigsqcup:\"\\u2a06\",bigstar:\"\\u2605\",bigtriangledown:\"\\u25bd\",bigtriangleup:\"\\u25b3\",biguplus:\"\\u2a04\",bigvee:\"\\u22c1\",bigwedge:\"\\u22c0\",bkarow:\"\\u290d\",blacklozenge:\"\\u29eb\",blacksquare:\"\\u25aa\",blacktriangle:\"\\u25b4\",blacktriangledown:\"\\u25be\",blacktriangleleft:\"\\u25c2\",blacktriangleright:\"\\u25b8\",blank:\"\\u2423\",blk12:\"\\u2592\",blk14:\"\\u2591\",blk34:\"\\u2593\",block:\"\\u2588\",bne:\"=\\u20e5\",bnequiv:\"\\u2261\\u20e5\",bNot:\"\\u2aed\",bnot:\"\\u2310\",Bopf:\"\\ud835\\udd39\",bopf:\"\\ud835\\udd53\",bot:\"\\u22a5\",bottom:\"\\u22a5\",bowtie:\"\\u22c8\",boxbox:\"\\u29c9\",boxdl:\"\\u2510\",boxdL:\"\\u2555\",boxDl:\"\\u2556\",boxDL:\"\\u2557\",boxdr:\"\\u250c\",boxdR:\"\\u2552\",boxDr:\"\\u2553\",boxDR:\"\\u2554\",boxh:\"\\u2500\",boxH:\"\\u2550\",boxhd:\"\\u252c\",boxHd:\"\\u2564\",boxhD:\"\\u2565\",boxHD:\"\\u2566\",boxhu:\"\\u2534\",boxHu:\"\\u2567\",boxhU:\"\\u2568\",boxHU:\"\\u2569\",boxminus:\"\\u229f\",boxplus:\"\\u229e\",boxtimes:\"\\u22a0\",boxul:\"\\u2518\",boxuL:\"\\u255b\",boxUl:\"\\u255c\",boxUL:\"\\u255d\",boxur:\"\\u2514\",boxuR:\"\\u2558\",boxUr:\"\\u2559\",boxUR:\"\\u255a\",boxv:\"\\u2502\",boxV:\"\\u2551\",boxvh:\"\\u253c\",boxvH:\"\\u256a\",boxVh:\"\\u256b\",boxVH:\"\\u256c\",boxvl:\"\\u2524\",boxvL:\"\\u2561\",boxVl:\"\\u2562\",boxVL:\"\\u2563\",boxvr:\"\\u251c\",boxvR:\"\\u255e\",boxVr:\"\\u255f\",boxVR:\"\\u2560\",bprime:\"\\u2035\",breve:\"\\u02d8\",Breve:\"\\u02d8\",brvbar:\"\\xa6\",bscr:\"\\ud835\\udcb7\",Bscr:\"\\u212c\",bsemi:\"\\u204f\",bsim:\"\\u223d\",bsime:\"\\u22cd\",bsolb:\"\\u29c5\",bsol:\"\\\\\",bsolhsub:\"\\u27c8\",bull:\"\\u2022\",bullet:\"\\u2022\",bump:\"\\u224e\",bumpE:\"\\u2aae\",bumpe:\"\\u224f\",Bumpeq:\"\\u224e\",bumpeq:\"\\u224f\",Cacute:\"\\u0106\",cacute:\"\\u0107\",capand:\"\\u2a44\",capbrcup:\"\\u2a49\",capcap:\"\\u2a4b\",cap:\"\\u2229\",Cap:\"\\u22d2\",capcup:\"\\u2a47\",capdot:\"\\u2a40\",CapitalDifferentialD:\"\\u2145\",caps:\"\\u2229\\ufe00\",caret:\"\\u2041\",caron:\"\\u02c7\",Cayleys:\"\\u212d\",ccaps:\"\\u2a4d\",Ccaron:\"\\u010c\",ccaron:\"\\u010d\",Ccedil:\"\\xc7\",ccedil:\"\\xe7\",Ccirc:\"\\u0108\",ccirc:\"\\u0109\",Cconint:\"\\u2230\",ccups:\"\\u2a4c\",ccupssm:\"\\u2a50\",Cdot:\"\\u010a\",cdot:\"\\u010b\",cedil:\"\\xb8\",Cedilla:\"\\xb8\",cemptyv:\"\\u29b2\",cent:\"\\xa2\",centerdot:\"\\xb7\",CenterDot:\"\\xb7\",cfr:\"\\ud835\\udd20\",Cfr:\"\\u212d\",CHcy:\"\\u0427\",chcy:\"\\u0447\",check:\"\\u2713\",checkmark:\"\\u2713\",Chi:\"\\u03a7\",chi:\"\\u03c7\",circ:\"\\u02c6\",circeq:\"\\u2257\",circlearrowleft:\"\\u21ba\",circlearrowright:\"\\u21bb\",circledast:\"\\u229b\",circledcirc:\"\\u229a\",circleddash:\"\\u229d\",CircleDot:\"\\u2299\",circledR:\"\\xae\",circledS:\"\\u24c8\",CircleMinus:\"\\u2296\",CirclePlus:\"\\u2295\",CircleTimes:\"\\u2297\",cir:\"\\u25cb\",cirE:\"\\u29c3\",cire:\"\\u2257\",cirfnint:\"\\u2a10\",cirmid:\"\\u2aef\",cirscir:\"\\u29c2\",ClockwiseContourIntegral:\"\\u2232\",CloseCurlyDoubleQuote:\"\\u201d\",CloseCurlyQuote:\"\\u2019\",clubs:\"\\u2663\",clubsuit:\"\\u2663\",colon:\":\",Colon:\"\\u2237\",Colone:\"\\u2a74\",colone:\"\\u2254\",coloneq:\"\\u2254\",comma:\",\",commat:\"@\",comp:\"\\u2201\",compfn:\"\\u2218\",complement:\"\\u2201\",complexes:\"\\u2102\",cong:\"\\u2245\",congdot:\"\\u2a6d\",Congruent:\"\\u2261\",conint:\"\\u222e\",Conint:\"\\u222f\",ContourIntegral:\"\\u222e\",copf:\"\\ud835\\udd54\",Copf:\"\\u2102\",coprod:\"\\u2210\",Coproduct:\"\\u2210\",copy:\"\\xa9\",COPY:\"\\xa9\",copysr:\"\\u2117\",CounterClockwiseContourIntegral:\"\\u2233\",crarr:\"\\u21b5\",cross:\"\\u2717\",Cross:\"\\u2a2f\",Cscr:\"\\ud835\\udc9e\",cscr:\"\\ud835\\udcb8\",csub:\"\\u2acf\",csube:\"\\u2ad1\",csup:\"\\u2ad0\",csupe:\"\\u2ad2\",ctdot:\"\\u22ef\",cudarrl:\"\\u2938\",cudarrr:\"\\u2935\",cuepr:\"\\u22de\",cuesc:\"\\u22df\",cularr:\"\\u21b6\",cularrp:\"\\u293d\",cupbrcap:\"\\u2a48\",cupcap:\"\\u2a46\",CupCap:\"\\u224d\",cup:\"\\u222a\",Cup:\"\\u22d3\",cupcup:\"\\u2a4a\",cupdot:\"\\u228d\",cupor:\"\\u2a45\",cups:\"\\u222a\\ufe00\",curarr:\"\\u21b7\",curarrm:\"\\u293c\",curlyeqprec:\"\\u22de\",curlyeqsucc:\"\\u22df\",curlyvee:\"\\u22ce\",curlywedge:\"\\u22cf\",curren:\"\\xa4\",curvearrowleft:\"\\u21b6\",curvearrowright:\"\\u21b7\",cuvee:\"\\u22ce\",cuwed:\"\\u22cf\",cwconint:\"\\u2232\",cwint:\"\\u2231\",cylcty:\"\\u232d\",dagger:\"\\u2020\",Dagger:\"\\u2021\",daleth:\"\\u2138\",darr:\"\\u2193\",Darr:\"\\u21a1\",dArr:\"\\u21d3\",dash:\"\\u2010\",Dashv:\"\\u2ae4\",dashv:\"\\u22a3\",dbkarow:\"\\u290f\",dblac:\"\\u02dd\",Dcaron:\"\\u010e\",dcaron:\"\\u010f\",Dcy:\"\\u0414\",dcy:\"\\u0434\",ddagger:\"\\u2021\",ddarr:\"\\u21ca\",DD:\"\\u2145\",dd:\"\\u2146\",DDotrahd:\"\\u2911\",ddotseq:\"\\u2a77\",deg:\"\\xb0\",Del:\"\\u2207\",Delta:\"\\u0394\",delta:\"\\u03b4\",demptyv:\"\\u29b1\",dfisht:\"\\u297f\",Dfr:\"\\ud835\\udd07\",dfr:\"\\ud835\\udd21\",dHar:\"\\u2965\",dharl:\"\\u21c3\",dharr:\"\\u21c2\",DiacriticalAcute:\"\\xb4\",DiacriticalDot:\"\\u02d9\",DiacriticalDoubleAcute:\"\\u02dd\",DiacriticalGrave:\"`\",DiacriticalTilde:\"\\u02dc\",diam:\"\\u22c4\",diamond:\"\\u22c4\",Diamond:\"\\u22c4\",diamondsuit:\"\\u2666\",diams:\"\\u2666\",die:\"\\xa8\",DifferentialD:\"\\u2146\",digamma:\"\\u03dd\",disin:\"\\u22f2\",div:\"\\xf7\",divide:\"\\xf7\",divideontimes:\"\\u22c7\",divonx:\"\\u22c7\",DJcy:\"\\u0402\",djcy:\"\\u0452\",dlcorn:\"\\u231e\",dlcrop:\"\\u230d\",dollar:\"$\",Dopf:\"\\ud835\\udd3b\",dopf:\"\\ud835\\udd55\",Dot:\"\\xa8\",dot:\"\\u02d9\",DotDot:\"\\u20dc\",doteq:\"\\u2250\",doteqdot:\"\\u2251\",DotEqual:\"\\u2250\",dotminus:\"\\u2238\",dotplus:\"\\u2214\",dotsquare:\"\\u22a1\",doublebarwedge:\"\\u2306\",DoubleContourIntegral:\"\\u222f\",DoubleDot:\"\\xa8\",DoubleDownArrow:\"\\u21d3\",DoubleLeftArrow:\"\\u21d0\",DoubleLeftRightArrow:\"\\u21d4\",DoubleLeftTee:\"\\u2ae4\",DoubleLongLeftArrow:\"\\u27f8\",DoubleLongLeftRightArrow:\"\\u27fa\",DoubleLongRightArrow:\"\\u27f9\",DoubleRightArrow:\"\\u21d2\",DoubleRightTee:\"\\u22a8\",DoubleUpArrow:\"\\u21d1\",DoubleUpDownArrow:\"\\u21d5\",DoubleVerticalBar:\"\\u2225\",DownArrowBar:\"\\u2913\",downarrow:\"\\u2193\",DownArrow:\"\\u2193\",Downarrow:\"\\u21d3\",DownArrowUpArrow:\"\\u21f5\",DownBreve:\"\\u0311\",downdownarrows:\"\\u21ca\",downharpoonleft:\"\\u21c3\",downharpoonright:\"\\u21c2\",DownLeftRightVector:\"\\u2950\",DownLeftTeeVector:\"\\u295e\",DownLeftVectorBar:\"\\u2956\",DownLeftVector:\"\\u21bd\",DownRightTeeVector:\"\\u295f\",DownRightVectorBar:\"\\u2957\",DownRightVector:\"\\u21c1\",DownTeeArrow:\"\\u21a7\",DownTee:\"\\u22a4\",drbkarow:\"\\u2910\",drcorn:\"\\u231f\",drcrop:\"\\u230c\",Dscr:\"\\ud835\\udc9f\",dscr:\"\\ud835\\udcb9\",DScy:\"\\u0405\",dscy:\"\\u0455\",dsol:\"\\u29f6\",Dstrok:\"\\u0110\",dstrok:\"\\u0111\",dtdot:\"\\u22f1\",dtri:\"\\u25bf\",dtrif:\"\\u25be\",duarr:\"\\u21f5\",duhar:\"\\u296f\",dwangle:\"\\u29a6\",DZcy:\"\\u040f\",dzcy:\"\\u045f\",dzigrarr:\"\\u27ff\",Eacute:\"\\xc9\",eacute:\"\\xe9\",easter:\"\\u2a6e\",Ecaron:\"\\u011a\",ecaron:\"\\u011b\",Ecirc:\"\\xca\",ecirc:\"\\xea\",ecir:\"\\u2256\",ecolon:\"\\u2255\",Ecy:\"\\u042d\",ecy:\"\\u044d\",eDDot:\"\\u2a77\",Edot:\"\\u0116\",edot:\"\\u0117\",eDot:\"\\u2251\",ee:\"\\u2147\",efDot:\"\\u2252\",Efr:\"\\ud835\\udd08\",efr:\"\\ud835\\udd22\",eg:\"\\u2a9a\",Egrave:\"\\xc8\",egrave:\"\\xe8\",egs:\"\\u2a96\",egsdot:\"\\u2a98\",el:\"\\u2a99\",Element:\"\\u2208\",elinters:\"\\u23e7\",ell:\"\\u2113\",els:\"\\u2a95\",elsdot:\"\\u2a97\",Emacr:\"\\u0112\",emacr:\"\\u0113\",empty:\"\\u2205\",emptyset:\"\\u2205\",EmptySmallSquare:\"\\u25fb\",emptyv:\"\\u2205\",EmptyVerySmallSquare:\"\\u25ab\",emsp13:\"\\u2004\",emsp14:\"\\u2005\",emsp:\"\\u2003\",ENG:\"\\u014a\",eng:\"\\u014b\",ensp:\"\\u2002\",Eogon:\"\\u0118\",eogon:\"\\u0119\",Eopf:\"\\ud835\\udd3c\",eopf:\"\\ud835\\udd56\",epar:\"\\u22d5\",eparsl:\"\\u29e3\",eplus:\"\\u2a71\",epsi:\"\\u03b5\",Epsilon:\"\\u0395\",epsilon:\"\\u03b5\",epsiv:\"\\u03f5\",eqcirc:\"\\u2256\",eqcolon:\"\\u2255\",eqsim:\"\\u2242\",eqslantgtr:\"\\u2a96\",eqslantless:\"\\u2a95\",Equal:\"\\u2a75\",equals:\"=\",EqualTilde:\"\\u2242\",equest:\"\\u225f\",Equilibrium:\"\\u21cc\",equiv:\"\\u2261\",equivDD:\"\\u2a78\",eqvparsl:\"\\u29e5\",erarr:\"\\u2971\",erDot:\"\\u2253\",escr:\"\\u212f\",Escr:\"\\u2130\",esdot:\"\\u2250\",Esim:\"\\u2a73\",esim:\"\\u2242\",Eta:\"\\u0397\",eta:\"\\u03b7\",ETH:\"\\xd0\",eth:\"\\xf0\",Euml:\"\\xcb\",euml:\"\\xeb\",euro:\"\\u20ac\",excl:\"!\",exist:\"\\u2203\",Exists:\"\\u2203\",expectation:\"\\u2130\",exponentiale:\"\\u2147\",ExponentialE:\"\\u2147\",fallingdotseq:\"\\u2252\",Fcy:\"\\u0424\",fcy:\"\\u0444\",female:\"\\u2640\",ffilig:\"\\ufb03\",fflig:\"\\ufb00\",ffllig:\"\\ufb04\",Ffr:\"\\ud835\\udd09\",ffr:\"\\ud835\\udd23\",filig:\"\\ufb01\",FilledSmallSquare:\"\\u25fc\",FilledVerySmallSquare:\"\\u25aa\",fjlig:\"fj\",flat:\"\\u266d\",fllig:\"\\ufb02\",fltns:\"\\u25b1\",fnof:\"\\u0192\",Fopf:\"\\ud835\\udd3d\",fopf:\"\\ud835\\udd57\",forall:\"\\u2200\",ForAll:\"\\u2200\",fork:\"\\u22d4\",forkv:\"\\u2ad9\",Fouriertrf:\"\\u2131\",fpartint:\"\\u2a0d\",frac12:\"\\xbd\",frac13:\"\\u2153\",frac14:\"\\xbc\",frac15:\"\\u2155\",frac16:\"\\u2159\",frac18:\"\\u215b\",frac23:\"\\u2154\",frac25:\"\\u2156\",frac34:\"\\xbe\",frac35:\"\\u2157\",frac38:\"\\u215c\",frac45:\"\\u2158\",frac56:\"\\u215a\",frac58:\"\\u215d\",frac78:\"\\u215e\",frasl:\"\\u2044\",frown:\"\\u2322\",fscr:\"\\ud835\\udcbb\",Fscr:\"\\u2131\",gacute:\"\\u01f5\",Gamma:\"\\u0393\",gamma:\"\\u03b3\",Gammad:\"\\u03dc\",gammad:\"\\u03dd\",gap:\"\\u2a86\",Gbreve:\"\\u011e\",gbreve:\"\\u011f\",Gcedil:\"\\u0122\",Gcirc:\"\\u011c\",gcirc:\"\\u011d\",Gcy:\"\\u0413\",gcy:\"\\u0433\",Gdot:\"\\u0120\",gdot:\"\\u0121\",ge:\"\\u2265\",gE:\"\\u2267\",gEl:\"\\u2a8c\",gel:\"\\u22db\",geq:\"\\u2265\",geqq:\"\\u2267\",geqslant:\"\\u2a7e\",gescc:\"\\u2aa9\",ges:\"\\u2a7e\",gesdot:\"\\u2a80\",gesdoto:\"\\u2a82\",gesdotol:\"\\u2a84\",gesl:\"\\u22db\\ufe00\",gesles:\"\\u2a94\",Gfr:\"\\ud835\\udd0a\",gfr:\"\\ud835\\udd24\",gg:\"\\u226b\",Gg:\"\\u22d9\",ggg:\"\\u22d9\",gimel:\"\\u2137\",GJcy:\"\\u0403\",gjcy:\"\\u0453\",gla:\"\\u2aa5\",gl:\"\\u2277\",glE:\"\\u2a92\",glj:\"\\u2aa4\",gnap:\"\\u2a8a\",gnapprox:\"\\u2a8a\",gne:\"\\u2a88\",gnE:\"\\u2269\",gneq:\"\\u2a88\",gneqq:\"\\u2269\",gnsim:\"\\u22e7\",Gopf:\"\\ud835\\udd3e\",gopf:\"\\ud835\\udd58\",grave:\"`\",GreaterEqual:\"\\u2265\",GreaterEqualLess:\"\\u22db\",GreaterFullEqual:\"\\u2267\",GreaterGreater:\"\\u2aa2\",GreaterLess:\"\\u2277\",GreaterSlantEqual:\"\\u2a7e\",GreaterTilde:\"\\u2273\",Gscr:\"\\ud835\\udca2\",gscr:\"\\u210a\",gsim:\"\\u2273\",gsime:\"\\u2a8e\",gsiml:\"\\u2a90\",gtcc:\"\\u2aa7\",gtcir:\"\\u2a7a\",gt:\">\",GT:\">\",Gt:\"\\u226b\",gtdot:\"\\u22d7\",gtlPar:\"\\u2995\",gtquest:\"\\u2a7c\",gtrapprox:\"\\u2a86\",gtrarr:\"\\u2978\",gtrdot:\"\\u22d7\",gtreqless:\"\\u22db\",gtreqqless:\"\\u2a8c\",gtrless:\"\\u2277\",gtrsim:\"\\u2273\",gvertneqq:\"\\u2269\\ufe00\",gvnE:\"\\u2269\\ufe00\",Hacek:\"\\u02c7\",hairsp:\"\\u200a\",half:\"\\xbd\",hamilt:\"\\u210b\",HARDcy:\"\\u042a\",hardcy:\"\\u044a\",harrcir:\"\\u2948\",harr:\"\\u2194\",hArr:\"\\u21d4\",harrw:\"\\u21ad\",Hat:\"^\",hbar:\"\\u210f\",Hcirc:\"\\u0124\",hcirc:\"\\u0125\",hearts:\"\\u2665\",heartsuit:\"\\u2665\",hellip:\"\\u2026\",hercon:\"\\u22b9\",hfr:\"\\ud835\\udd25\",Hfr:\"\\u210c\",HilbertSpace:\"\\u210b\",hksearow:\"\\u2925\",hkswarow:\"\\u2926\",hoarr:\"\\u21ff\",homtht:\"\\u223b\",hookleftarrow:\"\\u21a9\",hookrightarrow:\"\\u21aa\",hopf:\"\\ud835\\udd59\",Hopf:\"\\u210d\",horbar:\"\\u2015\",HorizontalLine:\"\\u2500\",hscr:\"\\ud835\\udcbd\",Hscr:\"\\u210b\",hslash:\"\\u210f\",Hstrok:\"\\u0126\",hstrok:\"\\u0127\",HumpDownHump:\"\\u224e\",HumpEqual:\"\\u224f\",hybull:\"\\u2043\",hyphen:\"\\u2010\",Iacute:\"\\xcd\",iacute:\"\\xed\",ic:\"\\u2063\",Icirc:\"\\xce\",icirc:\"\\xee\",Icy:\"\\u0418\",icy:\"\\u0438\",Idot:\"\\u0130\",IEcy:\"\\u0415\",iecy:\"\\u0435\",iexcl:\"\\xa1\",iff:\"\\u21d4\",ifr:\"\\ud835\\udd26\",Ifr:\"\\u2111\",Igrave:\"\\xcc\",igrave:\"\\xec\",ii:\"\\u2148\",iiiint:\"\\u2a0c\",iiint:\"\\u222d\",iinfin:\"\\u29dc\",iiota:\"\\u2129\",IJlig:\"\\u0132\",ijlig:\"\\u0133\",Imacr:\"\\u012a\",imacr:\"\\u012b\",image:\"\\u2111\",ImaginaryI:\"\\u2148\",imagline:\"\\u2110\",imagpart:\"\\u2111\",imath:\"\\u0131\",Im:\"\\u2111\",imof:\"\\u22b7\",imped:\"\\u01b5\",Implies:\"\\u21d2\",incare:\"\\u2105\",in:\"\\u2208\",infin:\"\\u221e\",infintie:\"\\u29dd\",inodot:\"\\u0131\",intcal:\"\\u22ba\",int:\"\\u222b\",Int:\"\\u222c\",integers:\"\\u2124\",Integral:\"\\u222b\",intercal:\"\\u22ba\",Intersection:\"\\u22c2\",intlarhk:\"\\u2a17\",intprod:\"\\u2a3c\",InvisibleComma:\"\\u2063\",InvisibleTimes:\"\\u2062\",IOcy:\"\\u0401\",iocy:\"\\u0451\",Iogon:\"\\u012e\",iogon:\"\\u012f\",Iopf:\"\\ud835\\udd40\",iopf:\"\\ud835\\udd5a\",Iota:\"\\u0399\",iota:\"\\u03b9\",iprod:\"\\u2a3c\",iquest:\"\\xbf\",iscr:\"\\ud835\\udcbe\",Iscr:\"\\u2110\",isin:\"\\u2208\",isindot:\"\\u22f5\",isinE:\"\\u22f9\",isins:\"\\u22f4\",isinsv:\"\\u22f3\",isinv:\"\\u2208\",it:\"\\u2062\",Itilde:\"\\u0128\",itilde:\"\\u0129\",Iukcy:\"\\u0406\",iukcy:\"\\u0456\",Iuml:\"\\xcf\",iuml:\"\\xef\",Jcirc:\"\\u0134\",jcirc:\"\\u0135\",Jcy:\"\\u0419\",jcy:\"\\u0439\",Jfr:\"\\ud835\\udd0d\",jfr:\"\\ud835\\udd27\",jmath:\"\\u0237\",Jopf:\"\\ud835\\udd41\",jopf:\"\\ud835\\udd5b\",Jscr:\"\\ud835\\udca5\",jscr:\"\\ud835\\udcbf\",Jsercy:\"\\u0408\",jsercy:\"\\u0458\",Jukcy:\"\\u0404\",jukcy:\"\\u0454\",Kappa:\"\\u039a\",kappa:\"\\u03ba\",kappav:\"\\u03f0\",Kcedil:\"\\u0136\",kcedil:\"\\u0137\",Kcy:\"\\u041a\",kcy:\"\\u043a\",Kfr:\"\\ud835\\udd0e\",kfr:\"\\ud835\\udd28\",kgreen:\"\\u0138\",KHcy:\"\\u0425\",khcy:\"\\u0445\",KJcy:\"\\u040c\",kjcy:\"\\u045c\",Kopf:\"\\ud835\\udd42\",kopf:\"\\ud835\\udd5c\",Kscr:\"\\ud835\\udca6\",kscr:\"\\ud835\\udcc0\",lAarr:\"\\u21da\",Lacute:\"\\u0139\",lacute:\"\\u013a\",laemptyv:\"\\u29b4\",lagran:\"\\u2112\",Lambda:\"\\u039b\",lambda:\"\\u03bb\",lang:\"\\u27e8\",Lang:\"\\u27ea\",langd:\"\\u2991\",langle:\"\\u27e8\",lap:\"\\u2a85\",Laplacetrf:\"\\u2112\",laquo:\"\\xab\",larrb:\"\\u21e4\",larrbfs:\"\\u291f\",larr:\"\\u2190\",Larr:\"\\u219e\",lArr:\"\\u21d0\",larrfs:\"\\u291d\",larrhk:\"\\u21a9\",larrlp:\"\\u21ab\",larrpl:\"\\u2939\",larrsim:\"\\u2973\",larrtl:\"\\u21a2\",latail:\"\\u2919\",lAtail:\"\\u291b\",lat:\"\\u2aab\",late:\"\\u2aad\",lates:\"\\u2aad\\ufe00\",lbarr:\"\\u290c\",lBarr:\"\\u290e\",lbbrk:\"\\u2772\",lbrace:\"{\",lbrack:\"[\",lbrke:\"\\u298b\",lbrksld:\"\\u298f\",lbrkslu:\"\\u298d\",Lcaron:\"\\u013d\",lcaron:\"\\u013e\",Lcedil:\"\\u013b\",lcedil:\"\\u013c\",lceil:\"\\u2308\",lcub:\"{\",Lcy:\"\\u041b\",lcy:\"\\u043b\",ldca:\"\\u2936\",ldquo:\"\\u201c\",ldquor:\"\\u201e\",ldrdhar:\"\\u2967\",ldrushar:\"\\u294b\",ldsh:\"\\u21b2\",le:\"\\u2264\",lE:\"\\u2266\",LeftAngleBracket:\"\\u27e8\",LeftArrowBar:\"\\u21e4\",leftarrow:\"\\u2190\",LeftArrow:\"\\u2190\",Leftarrow:\"\\u21d0\",LeftArrowRightArrow:\"\\u21c6\",leftarrowtail:\"\\u21a2\",LeftCeiling:\"\\u2308\",LeftDoubleBracket:\"\\u27e6\",LeftDownTeeVector:\"\\u2961\",LeftDownVectorBar:\"\\u2959\",LeftDownVector:\"\\u21c3\",LeftFloor:\"\\u230a\",leftharpoondown:\"\\u21bd\",leftharpoonup:\"\\u21bc\",leftleftarrows:\"\\u21c7\",leftrightarrow:\"\\u2194\",LeftRightArrow:\"\\u2194\",Leftrightarrow:\"\\u21d4\",leftrightarrows:\"\\u21c6\",leftrightharpoons:\"\\u21cb\",leftrightsquigarrow:\"\\u21ad\",LeftRightVector:\"\\u294e\",LeftTeeArrow:\"\\u21a4\",LeftTee:\"\\u22a3\",LeftTeeVector:\"\\u295a\",leftthreetimes:\"\\u22cb\",LeftTriangleBar:\"\\u29cf\",LeftTriangle:\"\\u22b2\",LeftTriangleEqual:\"\\u22b4\",LeftUpDownVector:\"\\u2951\",LeftUpTeeVector:\"\\u2960\",LeftUpVectorBar:\"\\u2958\",LeftUpVector:\"\\u21bf\",LeftVectorBar:\"\\u2952\",LeftVector:\"\\u21bc\",lEg:\"\\u2a8b\",leg:\"\\u22da\",leq:\"\\u2264\",leqq:\"\\u2266\",leqslant:\"\\u2a7d\",lescc:\"\\u2aa8\",les:\"\\u2a7d\",lesdot:\"\\u2a7f\",lesdoto:\"\\u2a81\",lesdotor:\"\\u2a83\",lesg:\"\\u22da\\ufe00\",lesges:\"\\u2a93\",lessapprox:\"\\u2a85\",lessdot:\"\\u22d6\",lesseqgtr:\"\\u22da\",lesseqqgtr:\"\\u2a8b\",LessEqualGreater:\"\\u22da\",LessFullEqual:\"\\u2266\",LessGreater:\"\\u2276\",lessgtr:\"\\u2276\",LessLess:\"\\u2aa1\",lesssim:\"\\u2272\",LessSlantEqual:\"\\u2a7d\",LessTilde:\"\\u2272\",lfisht:\"\\u297c\",lfloor:\"\\u230a\",Lfr:\"\\ud835\\udd0f\",lfr:\"\\ud835\\udd29\",lg:\"\\u2276\",lgE:\"\\u2a91\",lHar:\"\\u2962\",lhard:\"\\u21bd\",lharu:\"\\u21bc\",lharul:\"\\u296a\",lhblk:\"\\u2584\",LJcy:\"\\u0409\",ljcy:\"\\u0459\",llarr:\"\\u21c7\",ll:\"\\u226a\",Ll:\"\\u22d8\",llcorner:\"\\u231e\",Lleftarrow:\"\\u21da\",llhard:\"\\u296b\",lltri:\"\\u25fa\",Lmidot:\"\\u013f\",lmidot:\"\\u0140\",lmoustache:\"\\u23b0\",lmoust:\"\\u23b0\",lnap:\"\\u2a89\",lnapprox:\"\\u2a89\",lne:\"\\u2a87\",lnE:\"\\u2268\",lneq:\"\\u2a87\",lneqq:\"\\u2268\",lnsim:\"\\u22e6\",loang:\"\\u27ec\",loarr:\"\\u21fd\",lobrk:\"\\u27e6\",longleftarrow:\"\\u27f5\",LongLeftArrow:\"\\u27f5\",Longleftarrow:\"\\u27f8\",longleftrightarrow:\"\\u27f7\",LongLeftRightArrow:\"\\u27f7\",Longleftrightarrow:\"\\u27fa\",longmapsto:\"\\u27fc\",longrightarrow:\"\\u27f6\",LongRightArrow:\"\\u27f6\",Longrightarrow:\"\\u27f9\",looparrowleft:\"\\u21ab\",looparrowright:\"\\u21ac\",lopar:\"\\u2985\",Lopf:\"\\ud835\\udd43\",lopf:\"\\ud835\\udd5d\",loplus:\"\\u2a2d\",lotimes:\"\\u2a34\",lowast:\"\\u2217\",lowbar:\"_\",LowerLeftArrow:\"\\u2199\",LowerRightArrow:\"\\u2198\",loz:\"\\u25ca\",lozenge:\"\\u25ca\",lozf:\"\\u29eb\",lpar:\"(\",lparlt:\"\\u2993\",lrarr:\"\\u21c6\",lrcorner:\"\\u231f\",lrhar:\"\\u21cb\",lrhard:\"\\u296d\",lrm:\"\\u200e\",lrtri:\"\\u22bf\",lsaquo:\"\\u2039\",lscr:\"\\ud835\\udcc1\",Lscr:\"\\u2112\",lsh:\"\\u21b0\",Lsh:\"\\u21b0\",lsim:\"\\u2272\",lsime:\"\\u2a8d\",lsimg:\"\\u2a8f\",lsqb:\"[\",lsquo:\"\\u2018\",lsquor:\"\\u201a\",Lstrok:\"\\u0141\",lstrok:\"\\u0142\",ltcc:\"\\u2aa6\",ltcir:\"\\u2a79\",lt:\"<\",LT:\"<\",Lt:\"\\u226a\",ltdot:\"\\u22d6\",lthree:\"\\u22cb\",ltimes:\"\\u22c9\",ltlarr:\"\\u2976\",ltquest:\"\\u2a7b\",ltri:\"\\u25c3\",ltrie:\"\\u22b4\",ltrif:\"\\u25c2\",ltrPar:\"\\u2996\",lurdshar:\"\\u294a\",luruhar:\"\\u2966\",lvertneqq:\"\\u2268\\ufe00\",lvnE:\"\\u2268\\ufe00\",macr:\"\\xaf\",male:\"\\u2642\",malt:\"\\u2720\",maltese:\"\\u2720\",Map:\"\\u2905\",map:\"\\u21a6\",mapsto:\"\\u21a6\",mapstodown:\"\\u21a7\",mapstoleft:\"\\u21a4\",mapstoup:\"\\u21a5\",marker:\"\\u25ae\",mcomma:\"\\u2a29\",Mcy:\"\\u041c\",mcy:\"\\u043c\",mdash:\"\\u2014\",mDDot:\"\\u223a\",measuredangle:\"\\u2221\",MediumSpace:\"\\u205f\",Mellintrf:\"\\u2133\",Mfr:\"\\ud835\\udd10\",mfr:\"\\ud835\\udd2a\",mho:\"\\u2127\",micro:\"\\xb5\",midast:\"*\",midcir:\"\\u2af0\",mid:\"\\u2223\",middot:\"\\xb7\",minusb:\"\\u229f\",minus:\"\\u2212\",minusd:\"\\u2238\",minusdu:\"\\u2a2a\",MinusPlus:\"\\u2213\",mlcp:\"\\u2adb\",mldr:\"\\u2026\",mnplus:\"\\u2213\",models:\"\\u22a7\",Mopf:\"\\ud835\\udd44\",mopf:\"\\ud835\\udd5e\",mp:\"\\u2213\",mscr:\"\\ud835\\udcc2\",Mscr:\"\\u2133\",mstpos:\"\\u223e\",Mu:\"\\u039c\",mu:\"\\u03bc\",multimap:\"\\u22b8\",mumap:\"\\u22b8\",nabla:\"\\u2207\",Nacute:\"\\u0143\",nacute:\"\\u0144\",nang:\"\\u2220\\u20d2\",nap:\"\\u2249\",napE:\"\\u2a70\\u0338\",napid:\"\\u224b\\u0338\",napos:\"\\u0149\",napprox:\"\\u2249\",natural:\"\\u266e\",naturals:\"\\u2115\",natur:\"\\u266e\",nbsp:\"\\xa0\",nbump:\"\\u224e\\u0338\",nbumpe:\"\\u224f\\u0338\",ncap:\"\\u2a43\",Ncaron:\"\\u0147\",ncaron:\"\\u0148\",Ncedil:\"\\u0145\",ncedil:\"\\u0146\",ncong:\"\\u2247\",ncongdot:\"\\u2a6d\\u0338\",ncup:\"\\u2a42\",Ncy:\"\\u041d\",ncy:\"\\u043d\",ndash:\"\\u2013\",nearhk:\"\\u2924\",nearr:\"\\u2197\",neArr:\"\\u21d7\",nearrow:\"\\u2197\",ne:\"\\u2260\",nedot:\"\\u2250\\u0338\",NegativeMediumSpace:\"\\u200b\",NegativeThickSpace:\"\\u200b\",NegativeThinSpace:\"\\u200b\",NegativeVeryThinSpace:\"\\u200b\",nequiv:\"\\u2262\",nesear:\"\\u2928\",nesim:\"\\u2242\\u0338\",NestedGreaterGreater:\"\\u226b\",NestedLessLess:\"\\u226a\",NewLine:\"\\n\",nexist:\"\\u2204\",nexists:\"\\u2204\",Nfr:\"\\ud835\\udd11\",nfr:\"\\ud835\\udd2b\",ngE:\"\\u2267\\u0338\",nge:\"\\u2271\",ngeq:\"\\u2271\",ngeqq:\"\\u2267\\u0338\",ngeqslant:\"\\u2a7e\\u0338\",nges:\"\\u2a7e\\u0338\",nGg:\"\\u22d9\\u0338\",ngsim:\"\\u2275\",nGt:\"\\u226b\\u20d2\",ngt:\"\\u226f\",ngtr:\"\\u226f\",nGtv:\"\\u226b\\u0338\",nharr:\"\\u21ae\",nhArr:\"\\u21ce\",nhpar:\"\\u2af2\",ni:\"\\u220b\",nis:\"\\u22fc\",nisd:\"\\u22fa\",niv:\"\\u220b\",NJcy:\"\\u040a\",njcy:\"\\u045a\",nlarr:\"\\u219a\",nlArr:\"\\u21cd\",nldr:\"\\u2025\",nlE:\"\\u2266\\u0338\",nle:\"\\u2270\",nleftarrow:\"\\u219a\",nLeftarrow:\"\\u21cd\",nleftrightarrow:\"\\u21ae\",nLeftrightarrow:\"\\u21ce\",nleq:\"\\u2270\",nleqq:\"\\u2266\\u0338\",nleqslant:\"\\u2a7d\\u0338\",nles:\"\\u2a7d\\u0338\",nless:\"\\u226e\",nLl:\"\\u22d8\\u0338\",nlsim:\"\\u2274\",nLt:\"\\u226a\\u20d2\",nlt:\"\\u226e\",nltri:\"\\u22ea\",nltrie:\"\\u22ec\",nLtv:\"\\u226a\\u0338\",nmid:\"\\u2224\",NoBreak:\"\\u2060\",NonBreakingSpace:\"\\xa0\",nopf:\"\\ud835\\udd5f\",Nopf:\"\\u2115\",Not:\"\\u2aec\",not:\"\\xac\",NotCongruent:\"\\u2262\",NotCupCap:\"\\u226d\",NotDoubleVerticalBar:\"\\u2226\",NotElement:\"\\u2209\",NotEqual:\"\\u2260\",NotEqualTilde:\"\\u2242\\u0338\",NotExists:\"\\u2204\",NotGreater:\"\\u226f\",NotGreaterEqual:\"\\u2271\",NotGreaterFullEqual:\"\\u2267\\u0338\",NotGreaterGreater:\"\\u226b\\u0338\",NotGreaterLess:\"\\u2279\",NotGreaterSlantEqual:\"\\u2a7e\\u0338\",NotGreaterTilde:\"\\u2275\",NotHumpDownHump:\"\\u224e\\u0338\",NotHumpEqual:\"\\u224f\\u0338\",notin:\"\\u2209\",notindot:\"\\u22f5\\u0338\",notinE:\"\\u22f9\\u0338\",notinva:\"\\u2209\",notinvb:\"\\u22f7\",notinvc:\"\\u22f6\",NotLeftTriangleBar:\"\\u29cf\\u0338\",NotLeftTriangle:\"\\u22ea\",NotLeftTriangleEqual:\"\\u22ec\",NotLess:\"\\u226e\",NotLessEqual:\"\\u2270\",NotLessGreater:\"\\u2278\",NotLessLess:\"\\u226a\\u0338\",NotLessSlantEqual:\"\\u2a7d\\u0338\",NotLessTilde:\"\\u2274\",NotNestedGreaterGreater:\"\\u2aa2\\u0338\",NotNestedLessLess:\"\\u2aa1\\u0338\",notni:\"\\u220c\",notniva:\"\\u220c\",notnivb:\"\\u22fe\",notnivc:\"\\u22fd\",NotPrecedes:\"\\u2280\",NotPrecedesEqual:\"\\u2aaf\\u0338\",NotPrecedesSlantEqual:\"\\u22e0\",NotReverseElement:\"\\u220c\",NotRightTriangleBar:\"\\u29d0\\u0338\",NotRightTriangle:\"\\u22eb\",NotRightTriangleEqual:\"\\u22ed\",NotSquareSubset:\"\\u228f\\u0338\",NotSquareSubsetEqual:\"\\u22e2\",NotSquareSuperset:\"\\u2290\\u0338\",NotSquareSupersetEqual:\"\\u22e3\",NotSubset:\"\\u2282\\u20d2\",NotSubsetEqual:\"\\u2288\",NotSucceeds:\"\\u2281\",NotSucceedsEqual:\"\\u2ab0\\u0338\",NotSucceedsSlantEqual:\"\\u22e1\",NotSucceedsTilde:\"\\u227f\\u0338\",NotSuperset:\"\\u2283\\u20d2\",NotSupersetEqual:\"\\u2289\",NotTilde:\"\\u2241\",NotTildeEqual:\"\\u2244\",NotTildeFullEqual:\"\\u2247\",NotTildeTilde:\"\\u2249\",NotVerticalBar:\"\\u2224\",nparallel:\"\\u2226\",npar:\"\\u2226\",nparsl:\"\\u2afd\\u20e5\",npart:\"\\u2202\\u0338\",npolint:\"\\u2a14\",npr:\"\\u2280\",nprcue:\"\\u22e0\",nprec:\"\\u2280\",npreceq:\"\\u2aaf\\u0338\",npre:\"\\u2aaf\\u0338\",nrarrc:\"\\u2933\\u0338\",nrarr:\"\\u219b\",nrArr:\"\\u21cf\",nrarrw:\"\\u219d\\u0338\",nrightarrow:\"\\u219b\",nRightarrow:\"\\u21cf\",nrtri:\"\\u22eb\",nrtrie:\"\\u22ed\",nsc:\"\\u2281\",nsccue:\"\\u22e1\",nsce:\"\\u2ab0\\u0338\",Nscr:\"\\ud835\\udca9\",nscr:\"\\ud835\\udcc3\",nshortmid:\"\\u2224\",nshortparallel:\"\\u2226\",nsim:\"\\u2241\",nsime:\"\\u2244\",nsimeq:\"\\u2244\",nsmid:\"\\u2224\",nspar:\"\\u2226\",nsqsube:\"\\u22e2\",nsqsupe:\"\\u22e3\",nsub:\"\\u2284\",nsubE:\"\\u2ac5\\u0338\",nsube:\"\\u2288\",nsubset:\"\\u2282\\u20d2\",nsubseteq:\"\\u2288\",nsubseteqq:\"\\u2ac5\\u0338\",nsucc:\"\\u2281\",nsucceq:\"\\u2ab0\\u0338\",nsup:\"\\u2285\",nsupE:\"\\u2ac6\\u0338\",nsupe:\"\\u2289\",nsupset:\"\\u2283\\u20d2\",nsupseteq:\"\\u2289\",nsupseteqq:\"\\u2ac6\\u0338\",ntgl:\"\\u2279\",Ntilde:\"\\xd1\",ntilde:\"\\xf1\",ntlg:\"\\u2278\",ntriangleleft:\"\\u22ea\",ntrianglelefteq:\"\\u22ec\",ntriangleright:\"\\u22eb\",ntrianglerighteq:\"\\u22ed\",Nu:\"\\u039d\",nu:\"\\u03bd\",num:\"#\",numero:\"\\u2116\",numsp:\"\\u2007\",nvap:\"\\u224d\\u20d2\",nvdash:\"\\u22ac\",nvDash:\"\\u22ad\",nVdash:\"\\u22ae\",nVDash:\"\\u22af\",nvge:\"\\u2265\\u20d2\",nvgt:\">\\u20d2\",nvHarr:\"\\u2904\",nvinfin:\"\\u29de\",nvlArr:\"\\u2902\",nvle:\"\\u2264\\u20d2\",nvlt:\"<\\u20d2\",nvltrie:\"\\u22b4\\u20d2\",nvrArr:\"\\u2903\",nvrtrie:\"\\u22b5\\u20d2\",nvsim:\"\\u223c\\u20d2\",nwarhk:\"\\u2923\",nwarr:\"\\u2196\",nwArr:\"\\u21d6\",nwarrow:\"\\u2196\",nwnear:\"\\u2927\",Oacute:\"\\xd3\",oacute:\"\\xf3\",oast:\"\\u229b\",Ocirc:\"\\xd4\",ocirc:\"\\xf4\",ocir:\"\\u229a\",Ocy:\"\\u041e\",ocy:\"\\u043e\",odash:\"\\u229d\",Odblac:\"\\u0150\",odblac:\"\\u0151\",odiv:\"\\u2a38\",odot:\"\\u2299\",odsold:\"\\u29bc\",OElig:\"\\u0152\",oelig:\"\\u0153\",ofcir:\"\\u29bf\",Ofr:\"\\ud835\\udd12\",ofr:\"\\ud835\\udd2c\",ogon:\"\\u02db\",Ograve:\"\\xd2\",ograve:\"\\xf2\",ogt:\"\\u29c1\",ohbar:\"\\u29b5\",ohm:\"\\u03a9\",oint:\"\\u222e\",olarr:\"\\u21ba\",olcir:\"\\u29be\",olcross:\"\\u29bb\",oline:\"\\u203e\",olt:\"\\u29c0\",Omacr:\"\\u014c\",omacr:\"\\u014d\",Omega:\"\\u03a9\",omega:\"\\u03c9\",Omicron:\"\\u039f\",omicron:\"\\u03bf\",omid:\"\\u29b6\",ominus:\"\\u2296\",Oopf:\"\\ud835\\udd46\",oopf:\"\\ud835\\udd60\",opar:\"\\u29b7\",OpenCurlyDoubleQuote:\"\\u201c\",OpenCurlyQuote:\"\\u2018\",operp:\"\\u29b9\",oplus:\"\\u2295\",orarr:\"\\u21bb\",Or:\"\\u2a54\",or:\"\\u2228\",ord:\"\\u2a5d\",order:\"\\u2134\",orderof:\"\\u2134\",ordf:\"\\xaa\",ordm:\"\\xba\",origof:\"\\u22b6\",oror:\"\\u2a56\",orslope:\"\\u2a57\",orv:\"\\u2a5b\",oS:\"\\u24c8\",Oscr:\"\\ud835\\udcaa\",oscr:\"\\u2134\",Oslash:\"\\xd8\",oslash:\"\\xf8\",osol:\"\\u2298\",Otilde:\"\\xd5\",otilde:\"\\xf5\",otimesas:\"\\u2a36\",Otimes:\"\\u2a37\",otimes:\"\\u2297\",Ouml:\"\\xd6\",ouml:\"\\xf6\",ovbar:\"\\u233d\",OverBar:\"\\u203e\",OverBrace:\"\\u23de\",OverBracket:\"\\u23b4\",OverParenthesis:\"\\u23dc\",para:\"\\xb6\",parallel:\"\\u2225\",par:\"\\u2225\",parsim:\"\\u2af3\",parsl:\"\\u2afd\",part:\"\\u2202\",PartialD:\"\\u2202\",Pcy:\"\\u041f\",pcy:\"\\u043f\",percnt:\"%\",period:\".\",permil:\"\\u2030\",perp:\"\\u22a5\",pertenk:\"\\u2031\",Pfr:\"\\ud835\\udd13\",pfr:\"\\ud835\\udd2d\",Phi:\"\\u03a6\",phi:\"\\u03c6\",phiv:\"\\u03d5\",phmmat:\"\\u2133\",phone:\"\\u260e\",Pi:\"\\u03a0\",pi:\"\\u03c0\",pitchfork:\"\\u22d4\",piv:\"\\u03d6\",planck:\"\\u210f\",planckh:\"\\u210e\",plankv:\"\\u210f\",plusacir:\"\\u2a23\",plusb:\"\\u229e\",pluscir:\"\\u2a22\",plus:\"+\",plusdo:\"\\u2214\",plusdu:\"\\u2a25\",pluse:\"\\u2a72\",PlusMinus:\"\\xb1\",plusmn:\"\\xb1\",plussim:\"\\u2a26\",plustwo:\"\\u2a27\",pm:\"\\xb1\",Poincareplane:\"\\u210c\",pointint:\"\\u2a15\",popf:\"\\ud835\\udd61\",Popf:\"\\u2119\",pound:\"\\xa3\",prap:\"\\u2ab7\",Pr:\"\\u2abb\",pr:\"\\u227a\",prcue:\"\\u227c\",precapprox:\"\\u2ab7\",prec:\"\\u227a\",preccurlyeq:\"\\u227c\",Precedes:\"\\u227a\",PrecedesEqual:\"\\u2aaf\",PrecedesSlantEqual:\"\\u227c\",PrecedesTilde:\"\\u227e\",preceq:\"\\u2aaf\",precnapprox:\"\\u2ab9\",precneqq:\"\\u2ab5\",precnsim:\"\\u22e8\",pre:\"\\u2aaf\",prE:\"\\u2ab3\",precsim:\"\\u227e\",prime:\"\\u2032\",Prime:\"\\u2033\",primes:\"\\u2119\",prnap:\"\\u2ab9\",prnE:\"\\u2ab5\",prnsim:\"\\u22e8\",prod:\"\\u220f\",Product:\"\\u220f\",profalar:\"\\u232e\",profline:\"\\u2312\",profsurf:\"\\u2313\",prop:\"\\u221d\",Proportional:\"\\u221d\",Proportion:\"\\u2237\",propto:\"\\u221d\",prsim:\"\\u227e\",prurel:\"\\u22b0\",Pscr:\"\\ud835\\udcab\",pscr:\"\\ud835\\udcc5\",Psi:\"\\u03a8\",psi:\"\\u03c8\",puncsp:\"\\u2008\",Qfr:\"\\ud835\\udd14\",qfr:\"\\ud835\\udd2e\",qint:\"\\u2a0c\",qopf:\"\\ud835\\udd62\",Qopf:\"\\u211a\",qprime:\"\\u2057\",Qscr:\"\\ud835\\udcac\",qscr:\"\\ud835\\udcc6\",quaternions:\"\\u210d\",quatint:\"\\u2a16\",quest:\"?\",questeq:\"\\u225f\",quot:'\"',QUOT:'\"',rAarr:\"\\u21db\",race:\"\\u223d\\u0331\",Racute:\"\\u0154\",racute:\"\\u0155\",radic:\"\\u221a\",raemptyv:\"\\u29b3\",rang:\"\\u27e9\",Rang:\"\\u27eb\",rangd:\"\\u2992\",range:\"\\u29a5\",rangle:\"\\u27e9\",raquo:\"\\xbb\",rarrap:\"\\u2975\",rarrb:\"\\u21e5\",rarrbfs:\"\\u2920\",rarrc:\"\\u2933\",rarr:\"\\u2192\",Rarr:\"\\u21a0\",rArr:\"\\u21d2\",rarrfs:\"\\u291e\",rarrhk:\"\\u21aa\",rarrlp:\"\\u21ac\",rarrpl:\"\\u2945\",rarrsim:\"\\u2974\",Rarrtl:\"\\u2916\",rarrtl:\"\\u21a3\",rarrw:\"\\u219d\",ratail:\"\\u291a\",rAtail:\"\\u291c\",ratio:\"\\u2236\",rationals:\"\\u211a\",rbarr:\"\\u290d\",rBarr:\"\\u290f\",RBarr:\"\\u2910\",rbbrk:\"\\u2773\",rbrace:\"}\",rbrack:\"]\",rbrke:\"\\u298c\",rbrksld:\"\\u298e\",rbrkslu:\"\\u2990\",Rcaron:\"\\u0158\",rcaron:\"\\u0159\",Rcedil:\"\\u0156\",rcedil:\"\\u0157\",rceil:\"\\u2309\",rcub:\"}\",Rcy:\"\\u0420\",rcy:\"\\u0440\",rdca:\"\\u2937\",rdldhar:\"\\u2969\",rdquo:\"\\u201d\",rdquor:\"\\u201d\",rdsh:\"\\u21b3\",real:\"\\u211c\",realine:\"\\u211b\",realpart:\"\\u211c\",reals:\"\\u211d\",Re:\"\\u211c\",rect:\"\\u25ad\",reg:\"\\xae\",REG:\"\\xae\",ReverseElement:\"\\u220b\",ReverseEquilibrium:\"\\u21cb\",ReverseUpEquilibrium:\"\\u296f\",rfisht:\"\\u297d\",rfloor:\"\\u230b\",rfr:\"\\ud835\\udd2f\",Rfr:\"\\u211c\",rHar:\"\\u2964\",rhard:\"\\u21c1\",rharu:\"\\u21c0\",rharul:\"\\u296c\",Rho:\"\\u03a1\",rho:\"\\u03c1\",rhov:\"\\u03f1\",RightAngleBracket:\"\\u27e9\",RightArrowBar:\"\\u21e5\",rightarrow:\"\\u2192\",RightArrow:\"\\u2192\",Rightarrow:\"\\u21d2\",RightArrowLeftArrow:\"\\u21c4\",rightarrowtail:\"\\u21a3\",RightCeiling:\"\\u2309\",RightDoubleBracket:\"\\u27e7\",RightDownTeeVector:\"\\u295d\",RightDownVectorBar:\"\\u2955\",RightDownVector:\"\\u21c2\",RightFloor:\"\\u230b\",rightharpoondown:\"\\u21c1\",rightharpoonup:\"\\u21c0\",rightleftarrows:\"\\u21c4\",rightleftharpoons:\"\\u21cc\",rightrightarrows:\"\\u21c9\",rightsquigarrow:\"\\u219d\",RightTeeArrow:\"\\u21a6\",RightTee:\"\\u22a2\",RightTeeVector:\"\\u295b\",rightthreetimes:\"\\u22cc\",RightTriangleBar:\"\\u29d0\",RightTriangle:\"\\u22b3\",RightTriangleEqual:\"\\u22b5\",RightUpDownVector:\"\\u294f\",RightUpTeeVector:\"\\u295c\",RightUpVectorBar:\"\\u2954\",RightUpVector:\"\\u21be\",RightVectorBar:\"\\u2953\",RightVector:\"\\u21c0\",ring:\"\\u02da\",risingdotseq:\"\\u2253\",rlarr:\"\\u21c4\",rlhar:\"\\u21cc\",rlm:\"\\u200f\",rmoustache:\"\\u23b1\",rmoust:\"\\u23b1\",rnmid:\"\\u2aee\",roang:\"\\u27ed\",roarr:\"\\u21fe\",robrk:\"\\u27e7\",ropar:\"\\u2986\",ropf:\"\\ud835\\udd63\",Ropf:\"\\u211d\",roplus:\"\\u2a2e\",rotimes:\"\\u2a35\",RoundImplies:\"\\u2970\",rpar:\")\",rpargt:\"\\u2994\",rppolint:\"\\u2a12\",rrarr:\"\\u21c9\",Rrightarrow:\"\\u21db\",rsaquo:\"\\u203a\",rscr:\"\\ud835\\udcc7\",Rscr:\"\\u211b\",rsh:\"\\u21b1\",Rsh:\"\\u21b1\",rsqb:\"]\",rsquo:\"\\u2019\",rsquor:\"\\u2019\",rthree:\"\\u22cc\",rtimes:\"\\u22ca\",rtri:\"\\u25b9\",rtrie:\"\\u22b5\",rtrif:\"\\u25b8\",rtriltri:\"\\u29ce\",RuleDelayed:\"\\u29f4\",ruluhar:\"\\u2968\",rx:\"\\u211e\",Sacute:\"\\u015a\",sacute:\"\\u015b\",sbquo:\"\\u201a\",scap:\"\\u2ab8\",Scaron:\"\\u0160\",scaron:\"\\u0161\",Sc:\"\\u2abc\",sc:\"\\u227b\",sccue:\"\\u227d\",sce:\"\\u2ab0\",scE:\"\\u2ab4\",Scedil:\"\\u015e\",scedil:\"\\u015f\",Scirc:\"\\u015c\",scirc:\"\\u015d\",scnap:\"\\u2aba\",scnE:\"\\u2ab6\",scnsim:\"\\u22e9\",scpolint:\"\\u2a13\",scsim:\"\\u227f\",Scy:\"\\u0421\",scy:\"\\u0441\",sdotb:\"\\u22a1\",sdot:\"\\u22c5\",sdote:\"\\u2a66\",searhk:\"\\u2925\",searr:\"\\u2198\",seArr:\"\\u21d8\",searrow:\"\\u2198\",sect:\"\\xa7\",semi:\";\",seswar:\"\\u2929\",setminus:\"\\u2216\",setmn:\"\\u2216\",sext:\"\\u2736\",Sfr:\"\\ud835\\udd16\",sfr:\"\\ud835\\udd30\",sfrown:\"\\u2322\",sharp:\"\\u266f\",SHCHcy:\"\\u0429\",shchcy:\"\\u0449\",SHcy:\"\\u0428\",shcy:\"\\u0448\",ShortDownArrow:\"\\u2193\",ShortLeftArrow:\"\\u2190\",shortmid:\"\\u2223\",shortparallel:\"\\u2225\",ShortRightArrow:\"\\u2192\",ShortUpArrow:\"\\u2191\",shy:\"\\xad\",Sigma:\"\\u03a3\",sigma:\"\\u03c3\",sigmaf:\"\\u03c2\",sigmav:\"\\u03c2\",sim:\"\\u223c\",simdot:\"\\u2a6a\",sime:\"\\u2243\",simeq:\"\\u2243\",simg:\"\\u2a9e\",simgE:\"\\u2aa0\",siml:\"\\u2a9d\",simlE:\"\\u2a9f\",simne:\"\\u2246\",simplus:\"\\u2a24\",simrarr:\"\\u2972\",slarr:\"\\u2190\",SmallCircle:\"\\u2218\",smallsetminus:\"\\u2216\",smashp:\"\\u2a33\",smeparsl:\"\\u29e4\",smid:\"\\u2223\",smile:\"\\u2323\",smt:\"\\u2aaa\",smte:\"\\u2aac\",smtes:\"\\u2aac\\ufe00\",SOFTcy:\"\\u042c\",softcy:\"\\u044c\",solbar:\"\\u233f\",solb:\"\\u29c4\",sol:\"/\",Sopf:\"\\ud835\\udd4a\",sopf:\"\\ud835\\udd64\",spades:\"\\u2660\",spadesuit:\"\\u2660\",spar:\"\\u2225\",sqcap:\"\\u2293\",sqcaps:\"\\u2293\\ufe00\",sqcup:\"\\u2294\",sqcups:\"\\u2294\\ufe00\",Sqrt:\"\\u221a\",sqsub:\"\\u228f\",sqsube:\"\\u2291\",sqsubset:\"\\u228f\",sqsubseteq:\"\\u2291\",sqsup:\"\\u2290\",sqsupe:\"\\u2292\",sqsupset:\"\\u2290\",sqsupseteq:\"\\u2292\",square:\"\\u25a1\",Square:\"\\u25a1\",SquareIntersection:\"\\u2293\",SquareSubset:\"\\u228f\",SquareSubsetEqual:\"\\u2291\",SquareSuperset:\"\\u2290\",SquareSupersetEqual:\"\\u2292\",SquareUnion:\"\\u2294\",squarf:\"\\u25aa\",squ:\"\\u25a1\",squf:\"\\u25aa\",srarr:\"\\u2192\",Sscr:\"\\ud835\\udcae\",sscr:\"\\ud835\\udcc8\",ssetmn:\"\\u2216\",ssmile:\"\\u2323\",sstarf:\"\\u22c6\",Star:\"\\u22c6\",star:\"\\u2606\",starf:\"\\u2605\",straightepsilon:\"\\u03f5\",straightphi:\"\\u03d5\",strns:\"\\xaf\",sub:\"\\u2282\",Sub:\"\\u22d0\",subdot:\"\\u2abd\",subE:\"\\u2ac5\",sube:\"\\u2286\",subedot:\"\\u2ac3\",submult:\"\\u2ac1\",subnE:\"\\u2acb\",subne:\"\\u228a\",subplus:\"\\u2abf\",subrarr:\"\\u2979\",subset:\"\\u2282\",Subset:\"\\u22d0\",subseteq:\"\\u2286\",subseteqq:\"\\u2ac5\",SubsetEqual:\"\\u2286\",subsetneq:\"\\u228a\",subsetneqq:\"\\u2acb\",subsim:\"\\u2ac7\",subsub:\"\\u2ad5\",subsup:\"\\u2ad3\",succapprox:\"\\u2ab8\",succ:\"\\u227b\",succcurlyeq:\"\\u227d\",Succeeds:\"\\u227b\",SucceedsEqual:\"\\u2ab0\",SucceedsSlantEqual:\"\\u227d\",SucceedsTilde:\"\\u227f\",succeq:\"\\u2ab0\",succnapprox:\"\\u2aba\",succneqq:\"\\u2ab6\",succnsim:\"\\u22e9\",succsim:\"\\u227f\",SuchThat:\"\\u220b\",sum:\"\\u2211\",Sum:\"\\u2211\",sung:\"\\u266a\",sup1:\"\\xb9\",sup2:\"\\xb2\",sup3:\"\\xb3\",sup:\"\\u2283\",Sup:\"\\u22d1\",supdot:\"\\u2abe\",supdsub:\"\\u2ad8\",supE:\"\\u2ac6\",supe:\"\\u2287\",supedot:\"\\u2ac4\",Superset:\"\\u2283\",SupersetEqual:\"\\u2287\",suphsol:\"\\u27c9\",suphsub:\"\\u2ad7\",suplarr:\"\\u297b\",supmult:\"\\u2ac2\",supnE:\"\\u2acc\",supne:\"\\u228b\",supplus:\"\\u2ac0\",supset:\"\\u2283\",Supset:\"\\u22d1\",supseteq:\"\\u2287\",supseteqq:\"\\u2ac6\",supsetneq:\"\\u228b\",supsetneqq:\"\\u2acc\",supsim:\"\\u2ac8\",supsub:\"\\u2ad4\",supsup:\"\\u2ad6\",swarhk:\"\\u2926\",swarr:\"\\u2199\",swArr:\"\\u21d9\",swarrow:\"\\u2199\",swnwar:\"\\u292a\",szlig:\"\\xdf\",Tab:\"\\t\",target:\"\\u2316\",Tau:\"\\u03a4\",tau:\"\\u03c4\",tbrk:\"\\u23b4\",Tcaron:\"\\u0164\",tcaron:\"\\u0165\",Tcedil:\"\\u0162\",tcedil:\"\\u0163\",Tcy:\"\\u0422\",tcy:\"\\u0442\",tdot:\"\\u20db\",telrec:\"\\u2315\",Tfr:\"\\ud835\\udd17\",tfr:\"\\ud835\\udd31\",there4:\"\\u2234\",therefore:\"\\u2234\",Therefore:\"\\u2234\",Theta:\"\\u0398\",theta:\"\\u03b8\",thetasym:\"\\u03d1\",thetav:\"\\u03d1\",thickapprox:\"\\u2248\",thicksim:\"\\u223c\",ThickSpace:\"\\u205f\\u200a\",ThinSpace:\"\\u2009\",thinsp:\"\\u2009\",thkap:\"\\u2248\",thksim:\"\\u223c\",THORN:\"\\xde\",thorn:\"\\xfe\",tilde:\"\\u02dc\",Tilde:\"\\u223c\",TildeEqual:\"\\u2243\",TildeFullEqual:\"\\u2245\",TildeTilde:\"\\u2248\",timesbar:\"\\u2a31\",timesb:\"\\u22a0\",times:\"\\xd7\",timesd:\"\\u2a30\",tint:\"\\u222d\",toea:\"\\u2928\",topbot:\"\\u2336\",topcir:\"\\u2af1\",top:\"\\u22a4\",Topf:\"\\ud835\\udd4b\",topf:\"\\ud835\\udd65\",topfork:\"\\u2ada\",tosa:\"\\u2929\",tprime:\"\\u2034\",trade:\"\\u2122\",TRADE:\"\\u2122\",triangle:\"\\u25b5\",triangledown:\"\\u25bf\",triangleleft:\"\\u25c3\",trianglelefteq:\"\\u22b4\",triangleq:\"\\u225c\",triangleright:\"\\u25b9\",trianglerighteq:\"\\u22b5\",tridot:\"\\u25ec\",trie:\"\\u225c\",triminus:\"\\u2a3a\",TripleDot:\"\\u20db\",triplus:\"\\u2a39\",trisb:\"\\u29cd\",tritime:\"\\u2a3b\",trpezium:\"\\u23e2\",Tscr:\"\\ud835\\udcaf\",tscr:\"\\ud835\\udcc9\",TScy:\"\\u0426\",tscy:\"\\u0446\",TSHcy:\"\\u040b\",tshcy:\"\\u045b\",Tstrok:\"\\u0166\",tstrok:\"\\u0167\",twixt:\"\\u226c\",twoheadleftarrow:\"\\u219e\",twoheadrightarrow:\"\\u21a0\",Uacute:\"\\xda\",uacute:\"\\xfa\",uarr:\"\\u2191\",Uarr:\"\\u219f\",uArr:\"\\u21d1\",Uarrocir:\"\\u2949\",Ubrcy:\"\\u040e\",ubrcy:\"\\u045e\",Ubreve:\"\\u016c\",ubreve:\"\\u016d\",Ucirc:\"\\xdb\",ucirc:\"\\xfb\",Ucy:\"\\u0423\",ucy:\"\\u0443\",udarr:\"\\u21c5\",Udblac:\"\\u0170\",udblac:\"\\u0171\",udhar:\"\\u296e\",ufisht:\"\\u297e\",Ufr:\"\\ud835\\udd18\",ufr:\"\\ud835\\udd32\",Ugrave:\"\\xd9\",ugrave:\"\\xf9\",uHar:\"\\u2963\",uharl:\"\\u21bf\",uharr:\"\\u21be\",uhblk:\"\\u2580\",ulcorn:\"\\u231c\",ulcorner:\"\\u231c\",ulcrop:\"\\u230f\",ultri:\"\\u25f8\",Umacr:\"\\u016a\",umacr:\"\\u016b\",uml:\"\\xa8\",UnderBar:\"_\",UnderBrace:\"\\u23df\",UnderBracket:\"\\u23b5\",UnderParenthesis:\"\\u23dd\",Union:\"\\u22c3\",UnionPlus:\"\\u228e\",Uogon:\"\\u0172\",uogon:\"\\u0173\",Uopf:\"\\ud835\\udd4c\",uopf:\"\\ud835\\udd66\",UpArrowBar:\"\\u2912\",uparrow:\"\\u2191\",UpArrow:\"\\u2191\",Uparrow:\"\\u21d1\",UpArrowDownArrow:\"\\u21c5\",updownarrow:\"\\u2195\",UpDownArrow:\"\\u2195\",Updownarrow:\"\\u21d5\",UpEquilibrium:\"\\u296e\",upharpoonleft:\"\\u21bf\",upharpoonright:\"\\u21be\",uplus:\"\\u228e\",UpperLeftArrow:\"\\u2196\",UpperRightArrow:\"\\u2197\",upsi:\"\\u03c5\",Upsi:\"\\u03d2\",upsih:\"\\u03d2\",Upsilon:\"\\u03a5\",upsilon:\"\\u03c5\",UpTeeArrow:\"\\u21a5\",UpTee:\"\\u22a5\",upuparrows:\"\\u21c8\",urcorn:\"\\u231d\",urcorner:\"\\u231d\",urcrop:\"\\u230e\",Uring:\"\\u016e\",uring:\"\\u016f\",urtri:\"\\u25f9\",Uscr:\"\\ud835\\udcb0\",uscr:\"\\ud835\\udcca\",utdot:\"\\u22f0\",Utilde:\"\\u0168\",utilde:\"\\u0169\",utri:\"\\u25b5\",utrif:\"\\u25b4\",uuarr:\"\\u21c8\",Uuml:\"\\xdc\",uuml:\"\\xfc\",uwangle:\"\\u29a7\",vangrt:\"\\u299c\",varepsilon:\"\\u03f5\",varkappa:\"\\u03f0\",varnothing:\"\\u2205\",varphi:\"\\u03d5\",varpi:\"\\u03d6\",varpropto:\"\\u221d\",varr:\"\\u2195\",vArr:\"\\u21d5\",varrho:\"\\u03f1\",varsigma:\"\\u03c2\",varsubsetneq:\"\\u228a\\ufe00\",varsubsetneqq:\"\\u2acb\\ufe00\",varsupsetneq:\"\\u228b\\ufe00\",varsupsetneqq:\"\\u2acc\\ufe00\",vartheta:\"\\u03d1\",vartriangleleft:\"\\u22b2\",vartriangleright:\"\\u22b3\",vBar:\"\\u2ae8\",Vbar:\"\\u2aeb\",vBarv:\"\\u2ae9\",Vcy:\"\\u0412\",vcy:\"\\u0432\",vdash:\"\\u22a2\",vDash:\"\\u22a8\",Vdash:\"\\u22a9\",VDash:\"\\u22ab\",Vdashl:\"\\u2ae6\",veebar:\"\\u22bb\",vee:\"\\u2228\",Vee:\"\\u22c1\",veeeq:\"\\u225a\",vellip:\"\\u22ee\",verbar:\"|\",Verbar:\"\\u2016\",vert:\"|\",Vert:\"\\u2016\",VerticalBar:\"\\u2223\",VerticalLine:\"|\",VerticalSeparator:\"\\u2758\",VerticalTilde:\"\\u2240\",VeryThinSpace:\"\\u200a\",Vfr:\"\\ud835\\udd19\",vfr:\"\\ud835\\udd33\",vltri:\"\\u22b2\",vnsub:\"\\u2282\\u20d2\",vnsup:\"\\u2283\\u20d2\",Vopf:\"\\ud835\\udd4d\",vopf:\"\\ud835\\udd67\",vprop:\"\\u221d\",vrtri:\"\\u22b3\",Vscr:\"\\ud835\\udcb1\",vscr:\"\\ud835\\udccb\",vsubnE:\"\\u2acb\\ufe00\",vsubne:\"\\u228a\\ufe00\",vsupnE:\"\\u2acc\\ufe00\",vsupne:\"\\u228b\\ufe00\",Vvdash:\"\\u22aa\",vzigzag:\"\\u299a\",Wcirc:\"\\u0174\",wcirc:\"\\u0175\",wedbar:\"\\u2a5f\",wedge:\"\\u2227\",Wedge:\"\\u22c0\",wedgeq:\"\\u2259\",weierp:\"\\u2118\",Wfr:\"\\ud835\\udd1a\",wfr:\"\\ud835\\udd34\",Wopf:\"\\ud835\\udd4e\",wopf:\"\\ud835\\udd68\",wp:\"\\u2118\",wr:\"\\u2240\",wreath:\"\\u2240\",Wscr:\"\\ud835\\udcb2\",wscr:\"\\ud835\\udccc\",xcap:\"\\u22c2\",xcirc:\"\\u25ef\",xcup:\"\\u22c3\",xdtri:\"\\u25bd\",Xfr:\"\\ud835\\udd1b\",xfr:\"\\ud835\\udd35\",xharr:\"\\u27f7\",xhArr:\"\\u27fa\",Xi:\"\\u039e\",xi:\"\\u03be\",xlarr:\"\\u27f5\",xlArr:\"\\u27f8\",xmap:\"\\u27fc\",xnis:\"\\u22fb\",xodot:\"\\u2a00\",Xopf:\"\\ud835\\udd4f\",xopf:\"\\ud835\\udd69\",xoplus:\"\\u2a01\",xotime:\"\\u2a02\",xrarr:\"\\u27f6\",xrArr:\"\\u27f9\",Xscr:\"\\ud835\\udcb3\",xscr:\"\\ud835\\udccd\",xsqcup:\"\\u2a06\",xuplus:\"\\u2a04\",xutri:\"\\u25b3\",xvee:\"\\u22c1\",xwedge:\"\\u22c0\",Yacute:\"\\xdd\",yacute:\"\\xfd\",YAcy:\"\\u042f\",yacy:\"\\u044f\",Ycirc:\"\\u0176\",ycirc:\"\\u0177\",Ycy:\"\\u042b\",ycy:\"\\u044b\",yen:\"\\xa5\",Yfr:\"\\ud835\\udd1c\",yfr:\"\\ud835\\udd36\",YIcy:\"\\u0407\",yicy:\"\\u0457\",Yopf:\"\\ud835\\udd50\",yopf:\"\\ud835\\udd6a\",Yscr:\"\\ud835\\udcb4\",yscr:\"\\ud835\\udcce\",YUcy:\"\\u042e\",yucy:\"\\u044e\",yuml:\"\\xff\",Yuml:\"\\u0178\",Zacute:\"\\u0179\",zacute:\"\\u017a\",Zcaron:\"\\u017d\",zcaron:\"\\u017e\",Zcy:\"\\u0417\",zcy:\"\\u0437\",Zdot:\"\\u017b\",zdot:\"\\u017c\",zeetrf:\"\\u2128\",ZeroWidthSpace:\"\\u200b\",Zeta:\"\\u0396\",zeta:\"\\u03b6\",zfr:\"\\ud835\\udd37\",Zfr:\"\\u2128\",ZHcy:\"\\u0416\",zhcy:\"\\u0436\",zigrarr:\"\\u21dd\",zopf:\"\\ud835\\udd6b\",Zopf:\"\\u2124\",Zscr:\"\\ud835\\udcb5\",zscr:\"\\ud835\\udccf\",zwj:\"\\u200d\",zwnj:\"\\u200c\"},xe=/^#[xX]([A-Fa-f0-9]+)$/,Ne=/^#([0-9]+)$/,Te=/^([A-Za-z0-9]+)$/,Pe=function(){function t(t){this.named=t}return t.prototype.parse=function(t){if(t){var e=t.match(xe);return e?String.fromCharCode(parseInt(e[1],16)):(e=t.match(Ne))?String.fromCharCode(parseInt(e[1],10)):(e=t.match(Te))?this.named[e[1]]:void 0}},t}(),Ae=/[\\t\\n\\f ]/,Ce=/[A-Za-z]/,Le=/\\r\\n?/g;function Be(t){return Ae.test(t)}function qe(t){return Ce.test(t)}var Oe=function(){function t(t,e,r){void 0===r&&(r=\"precompile\"),this.delegate=t,this.entityParser=e,this.mode=r,this.state=\"beforeData\",this.line=-1,this.column=-1,this.input=\"\",this.index=-1,this.tagNameBuffer=\"\",this.states={beforeData:function(){var t=this.peek();if(\"<\"!==t||this.isIgnoredEndTag()){if(\"precompile\"===this.mode&&\"\\n\"===t){var e=this.tagNameBuffer.toLowerCase();\"pre\"!==e&&\"textarea\"!==e||this.consume()}this.transitionTo(\"data\"),this.delegate.beginData()}else this.transitionTo(\"tagOpen\"),this.markTagStart(),this.consume()},data:function(){var t=this.peek(),e=this.tagNameBuffer;\"<\"!==t||this.isIgnoredEndTag()?\"&\"===t&&\"script\"!==e&&\"style\"!==e?(this.consume(),this.delegate.appendToData(this.consumeCharRef()||\"&\")):(this.consume(),this.delegate.appendToData(t)):(this.delegate.finishData(),this.transitionTo(\"tagOpen\"),this.markTagStart(),this.consume())},tagOpen:function(){var t=this.consume();\"!\"===t?this.transitionTo(\"markupDeclarationOpen\"):\"/\"===t?this.transitionTo(\"endTagOpen\"):(\"@\"===t||\":\"===t||qe(t))&&(this.transitionTo(\"tagName\"),this.tagNameBuffer=\"\",this.delegate.beginStartTag(),this.appendToTagName(t))},markupDeclarationOpen:function(){\"-\"===this.consume()&&\"-\"===this.peek()&&(this.consume(),this.transitionTo(\"commentStart\"),this.delegate.beginComment())},commentStart:function(){var t=this.consume();\"-\"===t?this.transitionTo(\"commentStartDash\"):\">\"===t?(this.delegate.finishComment(),this.transitionTo(\"beforeData\")):(this.delegate.appendToCommentData(t),this.transitionTo(\"comment\"))},commentStartDash:function(){var t=this.consume();\"-\"===t?this.transitionTo(\"commentEnd\"):\">\"===t?(this.delegate.finishComment(),this.transitionTo(\"beforeData\")):(this.delegate.appendToCommentData(\"-\"),this.transitionTo(\"comment\"))},comment:function(){var t=this.consume();\"-\"===t?this.transitionTo(\"commentEndDash\"):this.delegate.appendToCommentData(t)},commentEndDash:function(){var t=this.consume();\"-\"===t?this.transitionTo(\"commentEnd\"):(this.delegate.appendToCommentData(\"-\"+t),this.transitionTo(\"comment\"))},commentEnd:function(){var t=this.consume();\">\"===t?(this.delegate.finishComment(),this.transitionTo(\"beforeData\")):(this.delegate.appendToCommentData(\"--\"+t),this.transitionTo(\"comment\"))},tagName:function(){var t=this.consume();Be(t)?this.transitionTo(\"beforeAttributeName\"):\"/\"===t?this.transitionTo(\"selfClosingStartTag\"):\">\"===t?(this.delegate.finishTag(),this.transitionTo(\"beforeData\")):this.appendToTagName(t)},endTagName:function(){var t=this.consume();Be(t)?(this.transitionTo(\"beforeAttributeName\"),this.tagNameBuffer=\"\"):\"/\"===t?(this.transitionTo(\"selfClosingStartTag\"),this.tagNameBuffer=\"\"):\">\"===t?(this.delegate.finishTag(),this.transitionTo(\"beforeData\"),this.tagNameBuffer=\"\"):this.appendToTagName(t)},beforeAttributeName:function(){var t=this.peek();Be(t)?this.consume():\"/\"===t?(this.transitionTo(\"selfClosingStartTag\"),this.consume()):\">\"===t?(this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):\"=\"===t?(this.delegate.reportSyntaxError(\"attribute name cannot start with equals sign\"),this.transitionTo(\"attributeName\"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(t)):(this.transitionTo(\"attributeName\"),this.delegate.beginAttribute())},attributeName:function(){var t=this.peek();Be(t)?(this.transitionTo(\"afterAttributeName\"),this.consume()):\"/\"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo(\"selfClosingStartTag\")):\"=\"===t?(this.transitionTo(\"beforeAttributeValue\"),this.consume()):\">\"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):'\"'===t||\"'\"===t||\"<\"===t?(this.delegate.reportSyntaxError(t+\" is not a valid character within attribute names\"),this.consume(),this.delegate.appendToAttributeName(t)):(this.consume(),this.delegate.appendToAttributeName(t))},afterAttributeName:function(){var t=this.peek();Be(t)?this.consume():\"/\"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo(\"selfClosingStartTag\")):\"=\"===t?(this.consume(),this.transitionTo(\"beforeAttributeValue\")):\">\"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.transitionTo(\"attributeName\"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(t))},beforeAttributeValue:function(){var t=this.peek();Be(t)?this.consume():'\"'===t?(this.transitionTo(\"attributeValueDoubleQuoted\"),this.delegate.beginAttributeValue(!0),this.consume()):\"'\"===t?(this.transitionTo(\"attributeValueSingleQuoted\"),this.delegate.beginAttributeValue(!0),this.consume()):\">\"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):(this.transitionTo(\"attributeValueUnquoted\"),this.delegate.beginAttributeValue(!1),this.consume(),this.delegate.appendToAttributeValue(t))},attributeValueDoubleQuoted:function(){var t=this.consume();'\"'===t?(this.delegate.finishAttributeValue(),this.transitionTo(\"afterAttributeValueQuoted\")):\"&\"===t?this.delegate.appendToAttributeValue(this.consumeCharRef()||\"&\"):this.delegate.appendToAttributeValue(t)},attributeValueSingleQuoted:function(){var t=this.consume();\"'\"===t?(this.delegate.finishAttributeValue(),this.transitionTo(\"afterAttributeValueQuoted\")):\"&\"===t?this.delegate.appendToAttributeValue(this.consumeCharRef()||\"&\"):this.delegate.appendToAttributeValue(t)},attributeValueUnquoted:function(){var t=this.peek();Be(t)?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo(\"beforeAttributeName\")):\"/\"===t?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo(\"selfClosingStartTag\")):\"&\"===t?(this.consume(),this.delegate.appendToAttributeValue(this.consumeCharRef()||\"&\")):\">\"===t?(this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):(this.consume(),this.delegate.appendToAttributeValue(t))},afterAttributeValueQuoted:function(){var t=this.peek();Be(t)?(this.consume(),this.transitionTo(\"beforeAttributeName\")):\"/\"===t?(this.consume(),this.transitionTo(\"selfClosingStartTag\")):\">\"===t?(this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):this.transitionTo(\"beforeAttributeName\")},selfClosingStartTag:function(){\">\"===this.peek()?(this.consume(),this.delegate.markTagAsSelfClosing(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):this.transitionTo(\"beforeAttributeName\")},endTagOpen:function(){var t=this.consume();(\"@\"===t||\":\"===t||qe(t))&&(this.transitionTo(\"endTagName\"),this.tagNameBuffer=\"\",this.delegate.beginEndTag(),this.appendToTagName(t))}},this.reset()}return t.prototype.reset=function(){this.transitionTo(\"beforeData\"),this.input=\"\",this.tagNameBuffer=\"\",this.index=0,this.line=1,this.column=0,this.delegate.reset()},t.prototype.transitionTo=function(t){this.state=t},t.prototype.tokenize=function(t){this.reset(),this.tokenizePart(t),this.tokenizeEOF()},t.prototype.tokenizePart=function(t){for(this.input+=function(t){return t.replace(Le,\"\\n\")}(t);this.index\"!==this.input.substring(this.index,this.index+8)||\"style\"===t&&\"\"!==this.input.substring(this.index,this.index+8)||\"script\"===t&&\"<\\/script>\"!==this.input.substring(this.index,this.index+9)},t}();function _e(t,e={entityEncoding:\"transformed\"}){if(!t)return\"\";return new re(e).print(t)}const De=function(){function t(t,e){let r=Error.call(this,t),{module:n,loc:s}=e,{line:a,column:i}=s.start,o=e.asString(),l=o?\"\\n\\n|\\n| \".concat(o.split(\"\\n\").join(\"\\n| \"),\"\\n|\\n\\n\"):\"\";this.message=\"Syntax Error: \".concat(t,\": \").concat(l,\"(error occurred in '\").concat(n,\"' @ line \").concat(a,\" : column \").concat(i,\")\"),this.stack=r.stack,this.location=e}return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}(),He={Program:i(\"body\"),Template:i(\"body\"),Block:i(\"body\"),MustacheStatement:i(\"path\",\"params\",\"hash\"),BlockStatement:i(\"path\",\"params\",\"hash\",\"program\",\"inverse\"),ElementModifierStatement:i(\"path\",\"params\",\"hash\"),PartialStatement:i(\"name\",\"params\",\"hash\"),CommentStatement:i(),MustacheCommentStatement:i(),ElementNode:i(\"attributes\",\"modifiers\",\"children\",\"comments\"),AttrNode:i(\"value\"),TextNode:i(),ConcatStatement:i(\"parts\"),SubExpression:i(\"path\",\"params\",\"hash\"),PathExpression:i(),PathHead:i(),StringLiteral:i(),BooleanLiteral:i(),NumberLiteral:i(),NullLiteral:i(),UndefinedLiteral:i(),Hash:i(\"pairs\"),HashPair:i(\"value\"),NamedBlock:i(\"attributes\",\"modifiers\",\"children\",\"comments\"),SimpleElement:i(\"attributes\",\"modifiers\",\"children\",\"comments\"),Component:i(\"head\",\"attributes\",\"modifiers\",\"children\",\"comments\")},Ve=function(){function t(t,e,r,n){let s=Error.call(this,t);this.key=n,this.message=t,this.node=e,this.parent=r,this.stack=s.stack}return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}();function Re(t,e,r){return new Ve(\"Cannot remove a node unless it is part of an array\",t,e,r)}function Ie(t,e,r){return new Ve(\"Cannot replace a node with multiple nodes unless it is part of an array\",t,e,r)}function Ue(t,e){return new Ve(\"Replacing and removing in key handlers is not yet supported.\",t,null,e)}class Me{constructor(t,e=null,r=null){this.node=t,this.parent=e,this.parentKey=r}get parentNode(){return this.parent?this.parent.node:null}parents(){return{[Symbol.iterator]:()=>new Fe(this)}}}class Fe{constructor(t){this.path=t}next(){return this.path.parent?(this.path=this.path.parent,{done:!1,value:this.path}):{done:!0,value:null}}}function ze(t){return\"function\"==typeof t?t:t.enter}function $e(t){return\"function\"==typeof t?void 0:t.exit}function je(t,e){let r,n,s,{node:a,parent:i,parentKey:o}=e,l=function(t,e){if((\"Template\"===e||\"Block\"===e)&&t.Program)return t.Program;let r=t[e];return void 0!==r?r:t.All}(t,a.type);if(void 0!==l&&(r=ze(l),n=$e(l)),void 0!==r&&(s=r(a,e)),null!=s){if(JSON.stringify(a)!==JSON.stringify(s)){if(Array.isArray(s))return We(t,s,i,o),s;return je(t,new Me(s,i,o))||s}s=void 0}if(void 0===s){let r=He[a.type];for(let n=0;n@\\[-\\^`\\{-~]/;function tr(t){let e=function(t){let e=t.attributes.length,r=[];for(let n=0;nn&&\"|\"===r[n+1].charAt(0)){let s=r.slice(n).join(\" \");if(\"|\"!==s.charAt(s.length-1)||2!==s.match(/\\|/g).length)throw new De(\"Invalid block parameters syntax, '\"+s+\"'\",t.loc);let a=[];for(let s=n+1;st.acceptNode(e))):[],s=n.length>0?n[n.length-1].loc:r.loc;return{path:r,params:n,hash:e.hash?t.Hash(e.hash):{type:\"Hash\",pairs:[],loc:t.source.spanFor(s).collapse(\"end\")}}}function ir(t,e){let{path:r,params:n,hash:s,loc:a}=e;if(rr(r)){let n=\"{{\".concat(function(t){return\"UndefinedLiteral\"===t.type?\"undefined\":JSON.stringify(t.value)}(r),\"}}\"),s=\"<\".concat(t.name,\" ... \").concat(n,\" ...\");throw new De(\"In \".concat(s,\", \").concat(n,\" is not a valid modifier\"),e.loc)}let i=sr.elementModifier({path:r,params:n,hash:s,loc:a});t.modifiers.push(i)}class or extends class extends class{constructor(t,e=new Pe(Ee),r=\"precompile\"){this.elementStack=[],this.currentAttribute=null,this.currentNode=null,this.source=t,this.lines=t.source.split(/(?:\\r\\n?|\\n)/g),this.tokenizer=new Oe(this,e,r)}offset(){let{line:t,column:e}=this.tokenizer;return this.source.offsetFor(t,e)}pos({line:t,column:e}){return this.source.offsetFor(t,e)}finish(t){return a({},t,{loc:t.loc.until(this.offset())})}get currentAttr(){return this.currentAttribute}get currentTag(){return this.currentNode}get currentStartTag(){return this.currentNode}get currentEndTag(){return this.currentNode}get currentComment(){return this.currentNode}get currentData(){return this.currentNode}acceptTemplate(t){return this[t.type](t)}acceptNode(t){return this[t.type](t)}currentElement(){return this.elementStack[this.elementStack.length-1]}sourceForNode(t,e){let r,n,s,a=t.loc.start.line-1,i=a-1,o=t.loc.start.column,l=[];for(e?(n=e.loc.end.line-1,s=e.loc.end.column):(n=t.loc.end.line-1,s=t.loc.end.column);i elements do not need end tags. You should remove it\"):void 0===e.tag?n=\"Closing tag without an open tag\"):e.tag!==t.name&&(n=\"Closing tag did not match last open tag <\").concat(e.tag,\"> (on line \").concat(e.loc.startPosition.line,\")\")),n)throw new De(n,t.loc)}assembleAttributeValue(t,e,r,n){if(r){if(e)return this.assembleConcatenatedValue(t);if(1===t.length||2===t.length&&\"TextNode\"===t[1].type&&\"/\"===t[1].chars)return t[0];throw new De(\"An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'\",n)}return t.length>0?t[0]:sr.text({chars:\"\",loc:n})}}const lr={parse:cr,builders:at,print:_e,traverse:Qe,Walker:Ye};function cr(t,e={}){var r,n;let s,i,o=e.mode||\"precompile\";\"string\"==typeof t?(s=new G(t,null===(r=e.meta)||void 0===r?void 0:r.moduleName),i=\"codemod\"===o?we(t,e.parseOptions):Se(t,e.parseOptions)):t instanceof G?(s=t,i=\"codemod\"===o?we(t.source,e.parseOptions):Se(t.source,e.parseOptions)):(s=new G(\"\",null===(n=e.meta)||void 0===n?void 0:n.moduleName),i=t);let l=void 0;\"codemod\"===o&&(l=new Pe({}));let c=M.forCharPositions(s,0,s.source.length);i.loc={source:\"(program)\",start:c.startPosition,end:c.endPosition};let h=new or(s,l,o).acceptTemplate(i);if(e&&e.plugins&&e.plugins.ast)for(let t=0,r=e.plugins.ast.length;tthis.allocate(t)));return new fr(this,t,e)}}class mr extends dr{constructor(){super(...arguments),this.symbols=[],this.upvars=[],this.size=1,this.named=n(),this.blocks=n(),hr.set(this,!1)}setHasEval(){ur(this,hr,!0)}get hasEval(){return pr(this,hr)}has(t){return!1}get(t){throw function(t=\"unreachable\"){return new Error(t)}()}getLocalsMap(){return n()}getEvalInfo(){let t=this.getLocalsMap();return Object.keys(t).map((e=>t[e]))}allocateFree(t){let e=this.upvars.indexOf(t);return-1!==e||(e=this.upvars.length,this.upvars.push(t)),e}allocateNamed(t){let e=this.named[t];return e||(e=this.named[t]=this.allocate(t)),e}allocateBlock(t){\"inverse\"===t&&(t=\"else\");let e=this.blocks[t];return e||(e=this.blocks[t]=this.allocate(\"&\".concat(t))),e}allocate(t){return this.symbols.push(t),this.size++}}hr=new WeakMap;class fr extends dr{constructor(t,e,r){super(),this.parent=t,this.symbols=e,this.slots=r}get locals(){return this.symbols}has(t){return-1!==this.symbols.indexOf(t)||this.parent.has(t)}get(t){let e=this.symbols.indexOf(t);return-1===e?this.parent.get(t):this.slots[e]}getLocalsMap(){let t=this.parent.getLocalsMap();return this.symbols.forEach((e=>t[e]=this.get(e))),t}getEvalInfo(){let t=this.getLocalsMap();return Object.keys(t).map((e=>t[e]))}setHasEval(){this.parent.setHasEval()}allocateFree(t){return this.parent.allocateFree(t)}allocateNamed(t){return this.parent.allocateNamed(t)}allocateBlock(t){return this.parent.allocateBlock(t)}allocate(t){return this.parent.allocate(t)}}var gr=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols){var s=0;for(n=Object.getOwnPropertySymbols(t);s0||t.hash.pairs.length>0}class Tr{constructor(t,e,r){this.source=t,this.options=e,this.table=r,this.builder=new br}get strict(){return this.options.strictMode||!1}loc(t){return this.source.spanFor(t)}resolutionFor(t,e){if(this.strict)return{resolution:ct};if(this.isFreeVar(t)){let r=e(t);return null===r?{resolution:\"error\",path:_r(t),head:Dr(t)}:{resolution:r}}return{resolution:ct}}isFreeVar(t){return\"PathExpression\"===t.type?\"VarHead\"===t.head.type&&!this.table.has(t.head.name):\"PathExpression\"===t.path.type&&this.isFreeVar(t.path)}hasBinding(t){return this.table.has(t)}child(t){return new Tr(this.source,this.options,this.table.child(t))}customizeComponentName(t){return this.options.customizeComponentName?this.options.customizeComponentName(t):t}}class Pr{constructor(t){this.block=t}normalize(t,e){switch(t.type){case\"NullLiteral\":case\"BooleanLiteral\":case\"NumberLiteral\":case\"StringLiteral\":case\"UndefinedLiteral\":return this.block.builder.literal(t.value,this.block.loc(t.loc));case\"PathExpression\":return this.path(t,e);case\"SubExpression\":{let e=this.block.resolutionFor(t,kr);if(\"error\"===e.resolution)throw new De(\"You attempted to invoke a path (`\".concat(e.path,\"`) but \").concat(e.head,\" was not in scope\"),t.loc);return this.block.builder.sexp(this.callParts(t,e.resolution),this.block.loc(t.loc))}}}path(t,e){let r=[],n=this.block.loc(t.head.loc);for(let e of t.tail)n=n.sliceStartChars({chars:e.length,skipStart:1}),r.push(new m({loc:n,chars:e}));return this.block.builder.path(this.ref(t.head,e),r,this.block.loc(t.loc))}callParts(t,e){let{path:r,params:n,hash:s}=t,a=this.normalize(r,e),i=n.map((t=>this.normalize(t,ut))),o=Nt.range(i,a.loc.collapse(\"end\")),l=this.block.loc(s.loc),c=Nt.range([o,l]),h=this.block.builder.positional(n.map((t=>this.normalize(t,ut))),o),u=this.block.builder.named(s.pairs.map((t=>this.namedArgument(t))),this.block.loc(s.loc));return{callee:a,args:this.block.builder.args(h,u,c)}}namedArgument(t){let e=this.block.loc(t.loc).sliceStartChars({chars:t.key.length});return this.block.builder.namedArgument(new m({chars:t.key,loc:e}),this.normalize(t.value,ut))}ref(t,e){let r=this.block.loc(t.loc);switch(t.type){case\"ThisHead\":return this.block.builder.self(r);case\"AtHead\":{let e=this.block.table.allocateNamed(t.name);return this.block.builder.at(t.name,e,r)}case\"VarHead\":if(this.block.hasBinding(t.name)){let e=this.block.table.get(t.name);return this.block.builder.localVar(t.name,e,r)}{let n=this.block.table.allocateFree(t.name);return this.block.builder.freeVar({name:t.name,context:this.block.strict?ct:e,symbol:n,loc:r})}}}}class Ar{constructor(t){this.block=t}normalize(t){switch(t.type){case\"PartialStatement\":throw new Error(\"Handlebars partial syntax ({{> ...}}) is not allowed in Glimmer\");case\"BlockStatement\":return this.BlockStatement(t);case\"ElementNode\":return new Cr(this.block).ElementNode(t);case\"MustacheStatement\":return this.MustacheStatement(t);case\"MustacheCommentStatement\":return this.MustacheCommentStatement(t);case\"CommentStatement\":{let e=this.block.loc(t.loc);return new Lt({loc:e,text:e.slice({skipStart:4,skipEnd:3}).toSlice(t.value)})}case\"TextNode\":return new Ct({loc:this.block.loc(t.loc),chars:t.chars})}}MustacheCommentStatement(t){let e,r=this.block.loc(t.loc);return e=\"{{!--\"===r.asString().slice(0,5)?r.slice({skipStart:5,skipEnd:4}):r.slice({skipStart:3,skipEnd:2}),new At({loc:r,text:e.toSlice(t.value)})}MustacheStatement(t){let{escaped:e}=t,r=this.block.loc(t.loc),n=this.expr.callParts({path:t.path,params:t.params,hash:t.hash},function(t){let e=Er(t),r=Nr(t);return e?ht.append({invoke:r}):r?ct:ht.fallback()}(t)),s=n.args.isEmpty()?n.callee:this.block.builder.sexp(n,r);return this.block.builder.append({table:this.block.table,trusting:!e,value:s},r)}BlockStatement(t){let{program:e,inverse:r}=t,n=this.block.loc(t.loc),s=this.block.resolutionFor(t,wr);if(\"error\"===s.resolution)throw new De(\"You attempted to invoke a path (`{{#\".concat(s.path,\"}}`) but \").concat(s.head,\" was not in scope\"),n);let i=this.expr.callParts(t,s.resolution);return this.block.builder.blockStatement(a({symbols:this.block.table,program:this.Block(e),inverse:r?this.Block(r):null},i),n)}Block({body:t,loc:e,blockParams:r}){let n=this.block.child(r),s=new Ar(n);return new qr(this.block.loc(e),t.map((t=>s.normalize(t))),this.block).assertBlock(n.table)}get expr(){return new Pr(this.block)}}class Cr{constructor(t){this.ctx=t}ElementNode(t){let{tag:e,selfClosing:r,comments:n}=t,s=this.ctx.loc(t.loc),[a,...i]=e.split(\".\"),o=this.classifyTag(a,i,t.loc),l=t.attributes.filter((t=>\"@\"!==t.name[0])).map((t=>this.attr(t))),c=t.attributes.filter((t=>\"@\"===t.name[0])).map((t=>this.arg(t))),h=t.modifiers.map((t=>this.modifier(t))),u=this.ctx.child(t.blockParams),p=new Ar(u),d=t.children.map((t=>p.normalize(t))),m=this.ctx.builder.element({selfClosing:r,attrs:l,componentArgs:c,modifiers:h,comments:n.map((t=>new Ar(this.ctx).MustacheCommentStatement(t)))}),f=new Or(m,s,d,this.ctx),g=this.ctx.loc(t.loc).sliceStartChars({chars:e.length,skipStart:1});if(\"ElementHead\"===o)return\":\"===e[0]?f.assertNamedBlock(g.slice({skipStart:1}).toSlice(e.slice(1)),u.table):f.assertElement(g.toSlice(e),t.blockParams.length>0);if(t.selfClosing)return m.selfClosingComponent(o,s);{let r=f.assertComponent(e,u.table,t.blockParams.length>0);return m.componentWithNamedBlocks(o,r,s)}}modifier(t){let e=this.ctx.resolutionFor(t,vr);if(\"error\"===e.resolution)throw new De(\"You attempted to invoke a path (`{{#\".concat(e.path,\"}}`) but \").concat(e.head,\" was not in scope\"),t.loc);let r=this.expr.callParts(t,e.resolution);return this.ctx.builder.modifier(r,this.ctx.loc(t.loc))}mustacheAttr(t){let e=this.ctx.builder.sexp(this.expr.callParts(t,function(t){let e=Er(t),r=Nr(t);return e?r?ht.namespaced(\"Helper\"):ht.attr():r?ct:ht.fallback()}(t)),this.ctx.loc(t.loc));return e.args.isEmpty()?e.callee:e}attrPart(t){switch(t.type){case\"MustacheStatement\":return{expr:this.mustacheAttr(t),trusting:!t.escaped};case\"TextNode\":return{expr:this.ctx.builder.literal(t.chars,this.ctx.loc(t.loc)),trusting:!0}}}attrValue(t){switch(t.type){case\"ConcatStatement\":{let e=t.parts.map((t=>this.attrPart(t).expr));return{expr:this.ctx.builder.interpolate(e,this.ctx.loc(t.loc)),trusting:!1}}default:return this.attrPart(t)}}attr(t){if(\"...attributes\"===t.name)return this.ctx.builder.splatAttr(this.ctx.table.allocateBlock(\"attrs\"),this.ctx.loc(t.loc));let e=this.ctx.loc(t.loc),r=e.sliceStartChars({chars:t.name.length}).toSlice(t.name),n=this.attrValue(t.value);return this.ctx.builder.attr({name:r,value:n.expr,trusting:n.trusting},e)}arg(t){let e=this.ctx.loc(t.loc),r=e.sliceStartChars({chars:t.name.length}).toSlice(t.name),n=this.attrValue(t.value);return this.ctx.builder.arg({name:r,value:n.expr,trusting:n.trusting},e)}classifyTag(t,e,r){let n=(s=t)[0]===s[0].toUpperCase()&&s[0]!==s[0].toLowerCase();var s;let a=this.ctx.hasBinding(t),i=\"@\"===t[0]||\"this\"===t||a||n,o=r.sliceStartChars({skipStart:1,chars:t.length}),l=e.reduce(((t,e)=>t+1+e.length),0),c=o.getEnd().move(l),h=o.withEnd(c);if(i){this.ctx.strict||!n||a||(t=this.ctx.customizeComponentName(t));let s=sr.path({head:sr.head(t,o),tail:e,loc:h}),i=this.ctx.resolutionFor(s,Sr);if(\"error\"===i.resolution)throw new De(\"You attempted to invoke a path (`<\".concat(i.path,\">`) but \").concat(i.head,\" was not in scope\"),r);return new Pr(this.ctx).normalize(s,i.resolution)}if(e.length>0)throw new De(\"You used \".concat(t,\".\").concat(e.join(\".\"),\" as a tag name, but \").concat(t,\" is not in scope\"),r);return\"ElementHead\"}get expr(){return new Pr(this.ctx)}}class Lr{constructor(t,e,r){this.loc=t,this.children=e,this.block=r,this.namedBlocks=e.filter((t=>t instanceof Gt)),this.hasSemanticContent=Boolean(e.filter((t=>{if(t instanceof Gt)return!1;switch(t.type){case\"GlimmerComment\":case\"HtmlComment\":return!1;case\"HtmlText\":return!/^\\s*$/.exec(t.chars);default:return!0}})).length),this.nonBlockChildren=e.filter((t=>!(t instanceof Gt)))}}class Br extends Lr{assertTemplate(t){if(o(this.namedBlocks))throw new De(\"Unexpected named block at the top-level of a template\",this.loc);return this.block.builder.template(t,this.nonBlockChildren,this.block.loc(this.loc))}}class qr extends Lr{assertBlock(t){if(o(this.namedBlocks))throw new De(\"Unexpected named block nested in a normal block\",this.loc);return this.block.builder.block(t,this.nonBlockChildren,this.loc)}}class Or extends Lr{constructor(t,e,r,n){super(e,r,n),this.el=t}assertNamedBlock(t,e){if(this.el.base.selfClosing)throw new De(\"<:\".concat(t,\"> is not a valid named block: named blocks cannot be self-closing\"),this.loc);if(o(this.namedBlocks))throw new De(\"Unexpected named block inside <:\".concat(t,\"> named block: named blocks cannot contain nested named blocks\"),this.loc);if((r=t.chars)[0]!==r[0].toLowerCase()||r[0]===r[0].toUpperCase())throw new De(\"<:\".concat(t,\"> is not a valid named block: `\").concat(t,\"` is uppercase, and named blocks must be lowercase\"),this.loc);var r;let n=Nt.range(this.nonBlockChildren,this.loc);return this.block.builder.namedBlock(t,this.block.builder.block(e,this.nonBlockChildren,n),this.loc)}assertElement(t,e){if(e)throw new De(\"Unexpected block params in <\".concat(t,\">: simple elements cannot have block params\"),this.loc);if(o(this.namedBlocks)){let e=this.namedBlocks.map((t=>t.name));if(1===e.length)throw new De(\"Syntax Error: Unexpected named block <:foo> inside <\".concat(t,\"> HTML element\"),this.loc);{let r=e.map((t=>\"<:\".concat(t.chars,\">\"))).join(\", \");throw new De(\"Syntax Error: Unexpected named blocks inside <\".concat(t,\"> HTML element (\").concat(r,\")\"),this.loc)}}return this.el.simple(t,this.nonBlockChildren,this.loc)}assertComponent(t,e,r){if(o(this.namedBlocks)&&this.hasSemanticContent)throw new De(\"Unexpected content inside <\".concat(t,\"> component invocation: when using named blocks, the tag cannot contain other content\"),this.loc);if(o(this.namedBlocks)){if(r)throw new De(\"Unexpected block params list on <\".concat(t,\"> component invocation: when passing named blocks, the invocation tag cannot take block params\"),this.loc);return this.namedBlocks}return[this.block.builder.namedBlock(m.synthetic(\"default\"),this.block.builder.block(e,this.nonBlockChildren,this.loc),this.loc)]}}function _r(t){return\"PathExpression\"!==t.type&&\"PathExpression\"===t.path.type?_r(t.path):new re({entityEncoding:\"raw\"}).print(t)}function Dr(t){if(\"PathExpression\"!==t.type)return\"PathExpression\"===t.path.type?Dr(t.path):new re({entityEncoding:\"raw\"}).print(t);switch(t.head.type){case\"AtHead\":case\"VarHead\":return t.head.name;case\"ThisHead\":return\"this\"}}var Hr=Object.freeze({__proto__:null,ASTv1:ot,ASTv2:Kt,AST:ot,Source:G,builders:at,normalize:function(t,e={}){let r=cr(t,e),n=a({strictMode:!1},e),s=dr.top(),i=new Tr(t,n,s),o=new Ar(i);return new Br(i.loc(r.loc),r.body.map((t=>o.normalize(t))),i).assertTemplate(s)},SymbolTable:dr,BlockSymbolTable:fr,ProgramSymbolTable:mr,GlimmerSyntaxError:De,preprocess:cr,print:_e,Walker:Ye,traverse:Qe,cannotRemoveNode:Re,cannotReplaceNode:Ie,WalkerPath:Me,SourceSlice:m,SourceSpan:M,SpanList:Nt,maybeLoc:function(t,e){return Pt(t)?Tt(t):e},loc:Tt,hasSpan:Pt,node:pt,Path:Ye});const Vr=t.default,{locStart:Rr,locEnd:Ir}=r;function Ur(){return{name:\"addBackslash\",visitor:{TextNode(t){t.chars=t.chars.replace(/\\\\/,\"\\\\\\\\\")}}}}function Mr(t){const e=new Vr(t),r=({line:t,column:r})=>e.indexForLocation({line:t-1,column:r});return()=>({name:\"addOffset\",visitor:{All(t){const{start:e,end:n}=t.loc;e.offset=r(e),n.offset=r(n)}}})}return{parsers:{glimmer:{parse:function(t){const{preprocess:r}=Hr;let n;try{n=r(t,{mode:\"codemod\",plugins:{ast:[Ur,Mr(t)]}})}catch(t){const r=function(t){const{location:e,hash:r}=t;if(e){const{start:t,end:r}=e;return\"number\"!=typeof r.line?{start:t}:e}if(r){const{loc:{last_line:t,last_column:e}}=r;return{start:{line:t,column:e+1}}}}(t);if(r)throw e(t.message,r);throw t}return n},astFormat:\"glimmer\",locStart:Rr,locEnd:Ir}}}}));\n","var path = require('path');\nvar fs = require('fs');\nvar common = require('./common');\nvar glob = require('glob');\n\nvar globPatternRecursive = path.sep + '**';\n\ncommon.register('ls', _ls, {\n cmdOptions: {\n 'R': 'recursive',\n 'A': 'all',\n 'L': 'link',\n 'a': 'all_deprecated',\n 'd': 'directory',\n 'l': 'long',\n },\n});\n\n//@\n//@ ### ls([options,] [path, ...])\n//@ ### ls([options,] path_array)\n//@\n//@ Available options:\n//@\n//@ + `-R`: recursive\n//@ + `-A`: all files (include files beginning with `.`, except for `.` and `..`)\n//@ + `-L`: follow symlinks\n//@ + `-d`: list directories themselves, not their contents\n//@ + `-l`: list objects representing each file, each with fields containing `ls\n//@ -l` output fields. See\n//@ [`fs.Stats`](https://nodejs.org/api/fs.html#fs_class_fs_stats)\n//@ for more info\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ ls('projs/*.js');\n//@ ls('-R', '/users/me', '/tmp');\n//@ ls('-R', ['/users/me', '/tmp']); // same as above\n//@ ls('-l', 'file.txt'); // { name: 'file.txt', mode: 33188, nlink: 1, ...}\n//@ ```\n//@\n//@ Returns array of files in the given `path`, or files in\n//@ the current directory if no `path` is provided.\nfunction _ls(options, paths) {\n if (options.all_deprecated) {\n // We won't support the -a option as it's hard to image why it's useful\n // (it includes '.' and '..' in addition to '.*' files)\n // For backwards compatibility we'll dump a deprecated message and proceed as before\n common.log('ls: Option -a is deprecated. Use -A instead');\n options.all = true;\n }\n\n if (!paths) {\n paths = ['.'];\n } else {\n paths = [].slice.call(arguments, 1);\n }\n\n var list = [];\n\n function pushFile(abs, relName, stat) {\n if (process.platform === 'win32') {\n relName = relName.replace(/\\\\/g, '/');\n }\n if (options.long) {\n stat = stat || (options.link ? common.statFollowLinks(abs) : common.statNoFollowLinks(abs));\n list.push(addLsAttributes(relName, stat));\n } else {\n // list.push(path.relative(rel || '.', file));\n list.push(relName);\n }\n }\n\n paths.forEach(function (p) {\n var stat;\n\n try {\n stat = options.link ? common.statFollowLinks(p) : common.statNoFollowLinks(p);\n // follow links to directories by default\n if (stat.isSymbolicLink()) {\n /* istanbul ignore next */\n // workaround for https://github.com/shelljs/shelljs/issues/795\n // codecov seems to have a bug that miscalculate this block as uncovered.\n // but according to nyc report this block does get covered.\n try {\n var _stat = common.statFollowLinks(p);\n if (_stat.isDirectory()) {\n stat = _stat;\n }\n } catch (_) {} // bad symlink, treat it like a file\n }\n } catch (e) {\n common.error('no such file or directory: ' + p, 2, { continue: true });\n return;\n }\n\n // If the stat succeeded\n if (stat.isDirectory() && !options.directory) {\n if (options.recursive) {\n // use glob, because it's simple\n glob.sync(p + globPatternRecursive, { dot: options.all, follow: options.link })\n .forEach(function (item) {\n // Glob pattern returns the directory itself and needs to be filtered out.\n if (path.relative(p, item)) {\n pushFile(item, path.relative(p, item));\n }\n });\n } else if (options.all) {\n // use fs.readdirSync, because it's fast\n fs.readdirSync(p).forEach(function (item) {\n pushFile(path.join(p, item), item);\n });\n } else {\n // use fs.readdirSync and then filter out secret files\n fs.readdirSync(p).forEach(function (item) {\n if (item[0] !== '.') {\n pushFile(path.join(p, item), item);\n }\n });\n }\n } else {\n pushFile(p, p, stat);\n }\n });\n\n // Add methods, to make this more compatible with ShellStrings\n return list;\n}\n\nfunction addLsAttributes(pathName, stats) {\n // Note: this object will contain more information than .toString() returns\n stats.name = pathName;\n stats.toString = function () {\n // Return a string resembling unix's `ls -l` format\n return [this.mode, this.nlink, this.uid, this.gid, this.size, this.mtime, this.name].join(' ');\n };\n return stats;\n}\n\nmodule.exports = _ls;\n","'use strict';\n\nconst EventEmitter = require('events');\nconst PoolResource = require('./pool-resource');\nconst SMTPConnection = require('../smtp-connection');\nconst wellKnown = require('../well-known');\nconst shared = require('../shared');\nconst packageData = require('../../package.json');\n\n/**\n * Creates a SMTP pool transport object for Nodemailer\n *\n * @constructor\n * @param {Object} options SMTP Connection options\n */\nclass SMTPPool extends EventEmitter {\n constructor(options) {\n super();\n\n options = options || {};\n if (typeof options === 'string') {\n options = {\n url: options\n };\n }\n\n let urlData;\n let service = options.service;\n\n if (typeof options.getSocket === 'function') {\n this.getSocket = options.getSocket;\n }\n\n if (options.url) {\n urlData = shared.parseConnectionUrl(options.url);\n service = service || urlData.service;\n }\n\n this.options = shared.assign(\n false, // create new object\n options, // regular options\n urlData, // url options\n service && wellKnown(service) // wellknown options\n );\n\n this.options.maxConnections = this.options.maxConnections || 5;\n this.options.maxMessages = this.options.maxMessages || 100;\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'smtp-pool'\n });\n\n // temporary object\n let connection = new SMTPConnection(this.options);\n\n this.name = 'SMTP (pool)';\n this.version = packageData.version + '[client:' + connection.version + ']';\n\n this._rateLimit = {\n counter: 0,\n timeout: null,\n waiting: [],\n checkpoint: false,\n delta: Number(this.options.rateDelta) || 1000,\n limit: Number(this.options.rateLimit) || 0\n };\n this._closed = false;\n this._queue = [];\n this._connections = [];\n this._connectionCounter = 0;\n\n this.idling = true;\n\n setImmediate(() => {\n if (this.idling) {\n this.emit('idle');\n }\n });\n }\n\n /**\n * Placeholder function for creating proxy sockets. This method immediatelly returns\n * without a socket\n *\n * @param {Object} options Connection options\n * @param {Function} callback Callback function to run with the socket keys\n */\n getSocket(options, callback) {\n // return immediatelly\n return setImmediate(() => callback(null, false));\n }\n\n /**\n * Queues an e-mail to be sent using the selected settings\n *\n * @param {Object} mail Mail object\n * @param {Function} callback Callback function\n */\n send(mail, callback) {\n if (this._closed) {\n return false;\n }\n\n this._queue.push({\n mail,\n requeueAttempts: 0,\n callback\n });\n\n if (this.idling && this._queue.length >= this.options.maxConnections) {\n this.idling = false;\n }\n\n setImmediate(() => this._processMessages());\n\n return true;\n }\n\n /**\n * Closes all connections in the pool. If there is a message being sent, the connection\n * is closed later\n */\n close() {\n let connection;\n let len = this._connections.length;\n this._closed = true;\n\n // clear rate limit timer if it exists\n clearTimeout(this._rateLimit.timeout);\n\n if (!len && !this._queue.length) {\n return;\n }\n\n // remove all available connections\n for (let i = len - 1; i >= 0; i--) {\n if (this._connections[i] && this._connections[i].available) {\n connection = this._connections[i];\n connection.close();\n this.logger.info(\n {\n tnx: 'connection',\n cid: connection.id,\n action: 'removed'\n },\n 'Connection #%s removed',\n connection.id\n );\n }\n }\n\n if (len && !this._connections.length) {\n this.logger.debug(\n {\n tnx: 'connection'\n },\n 'All connections removed'\n );\n }\n\n if (!this._queue.length) {\n return;\n }\n\n // make sure that entire queue would be cleaned\n let invokeCallbacks = () => {\n if (!this._queue.length) {\n this.logger.debug(\n {\n tnx: 'connection'\n },\n 'Pending queue entries cleared'\n );\n return;\n }\n let entry = this._queue.shift();\n if (entry && typeof entry.callback === 'function') {\n try {\n entry.callback(new Error('Connection pool was closed'));\n } catch (E) {\n this.logger.error(\n {\n err: E,\n tnx: 'callback',\n cid: connection.id\n },\n 'Callback error for #%s: %s',\n connection.id,\n E.message\n );\n }\n }\n setImmediate(invokeCallbacks);\n };\n setImmediate(invokeCallbacks);\n }\n\n /**\n * Check the queue and available connections. If there is a message to be sent and there is\n * an available connection, then use this connection to send the mail\n */\n _processMessages() {\n let connection;\n let i, len;\n\n // do nothing if already closed\n if (this._closed) {\n return;\n }\n\n // do nothing if queue is empty\n if (!this._queue.length) {\n if (!this.idling) {\n // no pending jobs\n this.idling = true;\n this.emit('idle');\n }\n return;\n }\n\n // find first available connection\n for (i = 0, len = this._connections.length; i < len; i++) {\n if (this._connections[i].available) {\n connection = this._connections[i];\n break;\n }\n }\n\n if (!connection && this._connections.length < this.options.maxConnections) {\n connection = this._createConnection();\n }\n\n if (!connection) {\n // no more free connection slots available\n this.idling = false;\n return;\n }\n\n // check if there is free space in the processing queue\n if (!this.idling && this._queue.length < this.options.maxConnections) {\n this.idling = true;\n this.emit('idle');\n }\n\n let entry = (connection.queueEntry = this._queue.shift());\n entry.messageId = (connection.queueEntry.mail.message.getHeader('message-id') || '').replace(/[<>\\s]/g, '');\n\n connection.available = false;\n\n this.logger.debug(\n {\n tnx: 'pool',\n cid: connection.id,\n messageId: entry.messageId,\n action: 'assign'\n },\n 'Assigned message <%s> to #%s (%s)',\n entry.messageId,\n connection.id,\n connection.messages + 1\n );\n\n if (this._rateLimit.limit) {\n this._rateLimit.counter++;\n if (!this._rateLimit.checkpoint) {\n this._rateLimit.checkpoint = Date.now();\n }\n }\n\n connection.send(entry.mail, (err, info) => {\n // only process callback if current handler is not changed\n if (entry === connection.queueEntry) {\n try {\n entry.callback(err, info);\n } catch (E) {\n this.logger.error(\n {\n err: E,\n tnx: 'callback',\n cid: connection.id\n },\n 'Callback error for #%s: %s',\n connection.id,\n E.message\n );\n }\n connection.queueEntry = false;\n }\n });\n }\n\n /**\n * Creates a new pool resource\n */\n _createConnection() {\n let connection = new PoolResource(this);\n\n connection.id = ++this._connectionCounter;\n\n this.logger.info(\n {\n tnx: 'pool',\n cid: connection.id,\n action: 'conection'\n },\n 'Created new pool resource #%s',\n connection.id\n );\n\n // resource comes available\n connection.on('available', () => {\n this.logger.debug(\n {\n tnx: 'connection',\n cid: connection.id,\n action: 'available'\n },\n 'Connection #%s became available',\n connection.id\n );\n\n if (this._closed) {\n // if already closed run close() that will remove this connections from connections list\n this.close();\n } else {\n // check if there's anything else to send\n this._processMessages();\n }\n });\n\n // resource is terminated with an error\n connection.once('error', err => {\n if (err.code !== 'EMAXLIMIT') {\n this.logger.error(\n {\n err,\n tnx: 'pool',\n cid: connection.id\n },\n 'Pool Error for #%s: %s',\n connection.id,\n err.message\n );\n } else {\n this.logger.debug(\n {\n tnx: 'pool',\n cid: connection.id,\n action: 'maxlimit'\n },\n 'Max messages limit exchausted for #%s',\n connection.id\n );\n }\n\n if (connection.queueEntry) {\n try {\n connection.queueEntry.callback(err);\n } catch (E) {\n this.logger.error(\n {\n err: E,\n tnx: 'callback',\n cid: connection.id\n },\n 'Callback error for #%s: %s',\n connection.id,\n E.message\n );\n }\n connection.queueEntry = false;\n }\n\n // remove the erroneus connection from connections list\n this._removeConnection(connection);\n\n this._continueProcessing();\n });\n\n connection.once('close', () => {\n this.logger.info(\n {\n tnx: 'connection',\n cid: connection.id,\n action: 'closed'\n },\n 'Connection #%s was closed',\n connection.id\n );\n\n this._removeConnection(connection);\n\n if (connection.queueEntry) {\n // If the connection closed when sending, add the message to the queue again\n // if max number of requeues is not reached yet\n // Note that we must wait a bit.. because the callback of the 'error' handler might be called\n // in the next event loop\n setTimeout(() => {\n if (connection.queueEntry) {\n if (this._shouldRequeuOnConnectionClose(connection.queueEntry)) {\n this._requeueEntryOnConnectionClose(connection);\n } else {\n this._failDeliveryOnConnectionClose(connection);\n }\n }\n this._continueProcessing();\n }, 50);\n } else {\n this._continueProcessing();\n }\n });\n\n this._connections.push(connection);\n\n return connection;\n }\n\n _shouldRequeuOnConnectionClose(queueEntry) {\n if (this.options.maxRequeues === undefined || this.options.maxRequeues < 0) {\n return true;\n }\n\n return queueEntry.requeueAttempts < this.options.maxRequeues;\n }\n\n _failDeliveryOnConnectionClose(connection) {\n if (connection.queueEntry && connection.queueEntry.callback) {\n try {\n connection.queueEntry.callback(new Error('Reached maximum number of retries after connection was closed'));\n } catch (E) {\n this.logger.error(\n {\n err: E,\n tnx: 'callback',\n messageId: connection.queueEntry.messageId,\n cid: connection.id\n },\n 'Callback error for #%s: %s',\n connection.id,\n E.message\n );\n }\n connection.queueEntry = false;\n }\n }\n\n _requeueEntryOnConnectionClose(connection) {\n connection.queueEntry.requeueAttempts = connection.queueEntry.requeueAttempts + 1;\n this.logger.debug(\n {\n tnx: 'pool',\n cid: connection.id,\n messageId: connection.queueEntry.messageId,\n action: 'requeue'\n },\n 'Re-queued message <%s> for #%s. Attempt: #%s',\n connection.queueEntry.messageId,\n connection.id,\n connection.queueEntry.requeueAttempts\n );\n this._queue.unshift(connection.queueEntry);\n connection.queueEntry = false;\n }\n\n /**\n * Continue to process message if the pool hasn't closed\n */\n _continueProcessing() {\n if (this._closed) {\n this.close();\n } else {\n setTimeout(() => this._processMessages(), 100);\n }\n }\n\n /**\n * Remove resource from pool\n *\n * @param {Object} connection The PoolResource to remove\n */\n _removeConnection(connection) {\n let index = this._connections.indexOf(connection);\n\n if (index !== -1) {\n this._connections.splice(index, 1);\n }\n }\n\n /**\n * Checks if connections have hit current rate limit and if so, queues the availability callback\n *\n * @param {Function} callback Callback function to run once rate limiter has been cleared\n */\n _checkRateLimit(callback) {\n if (!this._rateLimit.limit) {\n return callback();\n }\n\n let now = Date.now();\n\n if (this._rateLimit.counter < this._rateLimit.limit) {\n return callback();\n }\n\n this._rateLimit.waiting.push(callback);\n\n if (this._rateLimit.checkpoint <= now - this._rateLimit.delta) {\n return this._clearRateLimit();\n } else if (!this._rateLimit.timeout) {\n this._rateLimit.timeout = setTimeout(() => this._clearRateLimit(), this._rateLimit.delta - (now - this._rateLimit.checkpoint));\n this._rateLimit.checkpoint = now;\n }\n }\n\n /**\n * Clears current rate limit limitation and runs paused callback\n */\n _clearRateLimit() {\n clearTimeout(this._rateLimit.timeout);\n this._rateLimit.timeout = null;\n this._rateLimit.counter = 0;\n this._rateLimit.checkpoint = false;\n\n // resume all paused connections\n while (this._rateLimit.waiting.length) {\n let cb = this._rateLimit.waiting.shift();\n setImmediate(cb);\n }\n }\n\n /**\n * Returns true if there are free slots in the queue\n */\n isIdle() {\n return this.idling;\n }\n\n /**\n * Verifies SMTP configuration\n *\n * @param {Function} callback Callback function\n */\n verify(callback) {\n let promise;\n\n if (!callback) {\n promise = new Promise((resolve, reject) => {\n callback = shared.callbackPromise(resolve, reject);\n });\n }\n\n let auth = new PoolResource(this).auth;\n\n this.getSocket(this.options, (err, socketOptions) => {\n if (err) {\n return callback(err);\n }\n\n let options = this.options;\n if (socketOptions && socketOptions.connection) {\n this.logger.info(\n {\n tnx: 'proxy',\n remoteAddress: socketOptions.connection.remoteAddress,\n remotePort: socketOptions.connection.remotePort,\n destHost: options.host || '',\n destPort: options.port || '',\n action: 'connected'\n },\n 'Using proxied socket from %s:%s to %s:%s',\n socketOptions.connection.remoteAddress,\n socketOptions.connection.remotePort,\n options.host || '',\n options.port || ''\n );\n options = shared.assign(false, options);\n Object.keys(socketOptions).forEach(key => {\n options[key] = socketOptions[key];\n });\n }\n\n let connection = new SMTPConnection(options);\n let returned = false;\n\n connection.once('error', err => {\n if (returned) {\n return;\n }\n returned = true;\n connection.close();\n return callback(err);\n });\n\n connection.once('end', () => {\n if (returned) {\n return;\n }\n returned = true;\n return callback(new Error('Connection closed'));\n });\n\n let finalize = () => {\n if (returned) {\n return;\n }\n returned = true;\n connection.quit();\n return callback(null, true);\n };\n\n connection.connect(() => {\n if (returned) {\n return;\n }\n\n if (auth && (connection.allowsAuth || options.forceAuth)) {\n connection.login(auth, err => {\n if (returned) {\n return;\n }\n\n if (err) {\n returned = true;\n connection.close();\n return callback(err);\n }\n\n finalize();\n });\n } else {\n finalize();\n }\n });\n });\n\n return promise;\n }\n}\n\n// expose to the world\nmodule.exports = SMTPPool;\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst rimraf = require('./rimraf')\n\nmodule.exports = {\n remove: u(rimraf),\n removeSync: rimraf.sync\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\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\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 = parse_url(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 = parse_url(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parse_url(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\tif (!headers.has('Connection') && !agent) {\n\t\theaders.set('Connection', 'close');\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\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\nconst resolve_url = Url.resolve;\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\trequest.body.destroy(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\t\t\tfinalize();\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\tconst locationURL = location === null ? null : resolve_url(request.url, location);\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\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\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}\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\n","'use strict'\nconst u = require('universalify').fromPromise\nconst { makeDir: _makeDir, makeDirSync } = require('./make-dir')\nconst makeDir = u(_makeDir)\n\nmodule.exports = {\n mkdirs: makeDir,\n mkdirsSync: makeDirSync,\n // alias\n mkdirp: makeDir,\n mkdirpSync: makeDirSync,\n ensureDir: makeDir,\n ensureDirSync: makeDirSync\n}\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlShareLock = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L2643\r\n/**\r\n * Options to be used when setting `SHARE` or `UNSHARE` with {@link \"Share\".Share.setOpt | `Share#setOpt`}.\r\n *\r\n * `CURL_LOCK_DATA_SSL_SESSION` becomes `CurlShareLock.DataSslSession`\r\n *\r\n * @public\r\n */\r\nvar CurlShareLock;\r\n(function (CurlShareLock) {\r\n CurlShareLock[CurlShareLock[\"DataNone\"] = 0] = \"DataNone\";\r\n /**\r\n * DataShare is used internally to say that\r\n * the locking is just made to change the internal state of the share\r\n * itself.\r\n */\r\n CurlShareLock[CurlShareLock[\"DataShare\"] = 1] = \"DataShare\";\r\n CurlShareLock[CurlShareLock[\"DataCookie\"] = 2] = \"DataCookie\";\r\n CurlShareLock[CurlShareLock[\"DataDns\"] = 3] = \"DataDns\";\r\n CurlShareLock[CurlShareLock[\"DataSslSession\"] = 4] = \"DataSslSession\";\r\n CurlShareLock[CurlShareLock[\"DataConnect\"] = 5] = \"DataConnect\";\r\n CurlShareLock[CurlShareLock[\"DataPsl\"] = 6] = \"DataPsl\";\r\n})(CurlShareLock = exports.CurlShareLock || (exports.CurlShareLock = {}));\r\n//# sourceMappingURL=CurlShareLock.js.map","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\n/*eslint-disable max-len*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar Type = require('./type');\n\n\nfunction compileList(schema, name, result) {\n var exclude = [];\n\n schema.include.forEach(function (includedSchema) {\n result = compileList(includedSchema, name, result);\n });\n\n schema[name].forEach(function (currentType) {\n result.forEach(function (previousType, previousIndex) {\n if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) {\n exclude.push(previousIndex);\n }\n });\n\n result.push(currentType);\n });\n\n return result.filter(function (type, index) {\n return exclude.indexOf(index) === -1;\n });\n}\n\n\nfunction compileMap(/* lists... */) {\n var result = {\n scalar: {},\n sequence: {},\n mapping: {},\n fallback: {}\n }, index, length;\n\n function collectType(type) {\n result[type.kind][type.tag] = result['fallback'][type.tag] = type;\n }\n\n for (index = 0, length = arguments.length; index < length; index += 1) {\n arguments[index].forEach(collectType);\n }\n return result;\n}\n\n\nfunction Schema(definition) {\n this.include = definition.include || [];\n this.implicit = definition.implicit || [];\n this.explicit = definition.explicit || [];\n\n this.implicit.forEach(function (type) {\n if (type.loadKind && type.loadKind !== 'scalar') {\n throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.');\n }\n });\n\n this.compiledImplicit = compileList(this, 'implicit', []);\n this.compiledExplicit = compileList(this, 'explicit', []);\n this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit);\n}\n\n\nSchema.DEFAULT = null;\n\n\nSchema.create = function createSchema() {\n var schemas, types;\n\n switch (arguments.length) {\n case 1:\n schemas = Schema.DEFAULT;\n types = arguments[0];\n break;\n\n case 2:\n schemas = arguments[0];\n types = arguments[1];\n break;\n\n default:\n throw new YAMLException('Wrong number of arguments for Schema.create function');\n }\n\n schemas = common.toArray(schemas);\n types = common.toArray(types);\n\n if (!schemas.every(function (schema) { return schema instanceof Schema; })) {\n throw new YAMLException('Specified list of super schemas (or a single Schema object) contains a non-Schema object.');\n }\n\n if (!types.every(function (type) { return type instanceof Type; })) {\n throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.');\n }\n\n return new Schema({\n include: schemas,\n explicit: types\n });\n};\n\n\nmodule.exports = Schema;\n",null,"'use strict';\n\n\nfunction isNothing(subject) {\n return (typeof subject === 'undefined') || (subject === null);\n}\n\n\nfunction isObject(subject) {\n return (typeof subject === 'object') && (subject !== null);\n}\n\n\nfunction toArray(sequence) {\n if (Array.isArray(sequence)) return sequence;\n else if (isNothing(sequence)) return [];\n\n return [ sequence ];\n}\n\n\nfunction extend(target, source) {\n var index, length, key, sourceKeys;\n\n if (source) {\n sourceKeys = Object.keys(source);\n\n for (index = 0, length = sourceKeys.length; index < length; index += 1) {\n key = sourceKeys[index];\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n\nfunction repeat(string, count) {\n var result = '', cycle;\n\n for (cycle = 0; cycle < count; cycle += 1) {\n result += string;\n }\n\n return result;\n}\n\n\nfunction isNegativeZero(number) {\n return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number);\n}\n\n\nmodule.exports.isNothing = isNothing;\nmodule.exports.isObject = isObject;\nmodule.exports.toArray = toArray;\nmodule.exports.repeat = repeat;\nmodule.exports.isNegativeZero = isNegativeZero;\nmodule.exports.extend = extend;\n","var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n core = require('./windows.js')\n} else {\n core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n if (!cb) {\n if (typeof Promise !== 'function') {\n throw new TypeError('callback not provided')\n }\n\n return new Promise(function (resolve, reject) {\n isexe(path, options || {}, function (er, is) {\n if (er) {\n reject(er)\n } else {\n resolve(is)\n }\n })\n })\n }\n\n core(path, options || {}, function (er, is) {\n // ignore EACCES because that just means we aren't allowed to run it\n if (er) {\n if (er.code === 'EACCES' || options && options.ignoreErrors) {\n er = null\n is = false\n }\n }\n cb(er, is)\n })\n}\n\nfunction sync (path, options) {\n // my kingdom for a filtered catch\n try {\n return core.sync(path, options || {})\n } catch (er) {\n if (options && options.ignoreErrors || er.code === 'EACCES') {\n return false\n } else {\n throw er\n }\n }\n}\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlIpResolve = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be825453489/include/curl/curl.h#L1954\r\n/**\r\n * Object with constants for option `IPRESOLVE`\r\n *\r\n * `CURL_IPRESOLVE_V4` becomes `Curl.ipresolve.V4`\r\n *\r\n * @public\r\n */\r\nvar CurlIpResolve;\r\n(function (CurlIpResolve) {\r\n CurlIpResolve[CurlIpResolve[\"Whatever\"] = 0] = \"Whatever\";\r\n CurlIpResolve[CurlIpResolve[\"V4\"] = 1] = \"V4\";\r\n CurlIpResolve[CurlIpResolve[\"V6\"] = 2] = \"V6\";\r\n})(CurlIpResolve = exports.CurlIpResolve || (exports.CurlIpResolve = {}));\r\n//# sourceMappingURL=CurlIpResolve.js.map","module.exports = require(\"fs\");","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar endpoint = require('@octokit/endpoint');\nvar universalUserAgent = require('universal-user-agent');\nvar isPlainObject = _interopDefault(require('is-plain-object'));\nvar nodeFetch = _interopDefault(require('node-fetch'));\nvar requestError = require('@octokit/request-error');\n\nconst VERSION = \"5.4.7\";\n\nfunction getBufferResponse(response) {\n return response.arrayBuffer();\n}\n\nfunction fetchWrapper(requestOptions) {\n if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\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 }, requestOptions.request)).then(response => {\n url = response.url;\n status = response.status;\n\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n\n if (status === 204 || status === 205) {\n return;\n } // GitHub API returns 200 for HEAD requests\n\n\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n\n throw new requestError.RequestError(response.statusText, status, {\n headers,\n request: requestOptions\n });\n }\n\n if (status === 304) {\n throw new requestError.RequestError(\"Not modified\", status, {\n headers,\n request: requestOptions\n });\n }\n\n if (status >= 400) {\n return response.text().then(message => {\n const error = new requestError.RequestError(message, status, {\n headers,\n request: requestOptions\n });\n\n try {\n let responseBody = JSON.parse(error.message);\n Object.assign(error, responseBody);\n let errors = responseBody.errors; // Assumption `errors` would always be in Array format\n\n error.message = error.message + \": \" + errors.map(JSON.stringify).join(\", \");\n } catch (e) {// ignore, see octokit/rest.js#684\n }\n\n throw error;\n });\n }\n\n const contentType = response.headers.get(\"content-type\");\n\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n\n return getBufferResponse(response);\n }).then(data => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch(error => {\n if (error instanceof requestError.RequestError) {\n throw error;\n }\n\n throw new requestError.RequestError(error.message, 500, {\n headers,\n request: requestOptions\n });\n });\n}\n\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\n\nconst request = withDefaults(endpoint.endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n }\n});\n\nexports.request = request;\n//# sourceMappingURL=index.js.map\n","'use strict';\nmodule.exports = /^#!.*/;\n","var format = require('util').format;\n\nvar common = require('./common');\n\ncommon.register('echo', _echo, {\n allowGlobbing: false,\n});\n\n//@\n//@ ### echo([options,] string [, string ...])\n//@\n//@ Available options:\n//@\n//@ + `-e`: interpret backslash escapes (default)\n//@ + `-n`: remove trailing newline from output\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ echo('hello world');\n//@ var str = echo('hello world');\n//@ echo('-n', 'no newline at end');\n//@ ```\n//@\n//@ Prints `string` to stdout, and returns string with additional utility methods\n//@ like `.to()`.\nfunction _echo(opts) {\n // allow strings starting with '-', see issue #20\n var messages = [].slice.call(arguments, opts ? 0 : 1);\n var options = {};\n\n // If the first argument starts with '-', parse it as options string.\n // If parseOptions throws, it wasn't an options string.\n try {\n options = common.parseOptions(messages[0], {\n 'e': 'escapes',\n 'n': 'no_newline',\n }, {\n silent: true,\n });\n\n // Allow null to be echoed\n if (messages[0]) {\n messages.shift();\n }\n } catch (_) {\n // Clear out error if an error occurred\n common.state.error = null;\n }\n\n var output = format.apply(null, messages);\n\n // Add newline if -n is not passed.\n if (!options.no_newline) {\n output += '\\n';\n }\n\n process.stdout.write(output);\n\n return output;\n}\n\nmodule.exports = _echo;\n","'use strict';\nconst pump = require('pump');\nconst bufferStream = require('./buffer-stream');\n\nclass MaxBufferError extends Error {\n\tconstructor() {\n\t\tsuper('maxBuffer exceeded');\n\t\tthis.name = 'MaxBufferError';\n\t}\n}\n\nfunction getStream(inputStream, options) {\n\tif (!inputStream) {\n\t\treturn Promise.reject(new Error('Expected a stream'));\n\t}\n\n\toptions = Object.assign({maxBuffer: Infinity}, options);\n\n\tconst {maxBuffer} = options;\n\n\tlet stream;\n\treturn new Promise((resolve, reject) => {\n\t\tconst rejectPromise = error => {\n\t\t\tif (error) { // A null check\n\t\t\t\terror.bufferedData = stream.getBufferedValue();\n\t\t\t}\n\t\t\treject(error);\n\t\t};\n\n\t\tstream = pump(inputStream, bufferStream(options), error => {\n\t\t\tif (error) {\n\t\t\t\trejectPromise(error);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresolve();\n\t\t});\n\n\t\tstream.on('data', () => {\n\t\t\tif (stream.getBufferedLength() > maxBuffer) {\n\t\t\t\trejectPromise(new MaxBufferError());\n\t\t\t}\n\t\t});\n\t}).then(() => stream.getBufferedValue());\n}\n\nmodule.exports = getStream;\nmodule.exports.buffer = (stream, options) => getStream(stream, Object.assign({}, options, {encoding: 'buffer'}));\nmodule.exports.array = (stream, options) => getStream(stream, Object.assign({}, options, {array: true}));\nmodule.exports.MaxBufferError = MaxBufferError;\n",null,"'use strict';\n\nconst stream = require('stream');\nconst Transform = stream.Transform;\n\n/**\n * Ensures that only sequences are used for linebreaks\n *\n * @param {Object} options Stream options\n */\nclass LeWindows extends Transform {\n constructor(options) {\n super(options);\n // init Transform\n this.options = options || {};\n this.lastByte = false;\n }\n\n /**\n * Escapes dots\n */\n _transform(chunk, encoding, done) {\n let buf;\n let lastPos = 0;\n\n for (let i = 0, len = chunk.length; i < len; i++) {\n if (chunk[i] === 0x0a) {\n // \\n\n if ((i && chunk[i - 1] !== 0x0d) || (!i && this.lastByte !== 0x0d)) {\n if (i > lastPos) {\n buf = chunk.slice(lastPos, i);\n this.push(buf);\n }\n this.push(Buffer.from('\\r\\n'));\n lastPos = i + 1;\n }\n }\n }\n\n if (lastPos && lastPos < chunk.length) {\n buf = chunk.slice(lastPos);\n this.push(buf);\n } else if (!lastPos) {\n this.push(chunk);\n }\n\n this.lastByte = chunk[chunk.length - 1];\n done();\n }\n}\n\nmodule.exports = LeWindows;\n","'use strict';\nmodule.exports = function (x) {\n\tvar lf = typeof x === 'string' ? '\\n' : '\\n'.charCodeAt();\n\tvar cr = typeof x === 'string' ? '\\r' : '\\r'.charCodeAt();\n\n\tif (x[x.length - 1] === lf) {\n\t\tx = x.slice(0, x.length - 1);\n\t}\n\n\tif (x[x.length - 1] === cr) {\n\t\tx = x.slice(0, x.length - 1);\n\t}\n\n\treturn x;\n};\n","'use strict'\n\nconst u = require('universalify').fromCallback\nmodule.exports = {\n copy: u(require('./copy'))\n}\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar isStream = module.exports = function (stream) {\n\treturn stream !== null && typeof stream === 'object' && typeof stream.pipe === 'function';\n};\n\nisStream.writable = function (stream) {\n\treturn isStream(stream) && stream.writable !== false && typeof stream._write === 'function' && typeof stream._writableState === 'object';\n};\n\nisStream.readable = function (stream) {\n\treturn isStream(stream) && stream.readable !== false && typeof stream._read === 'function' && typeof stream._readableState === 'object';\n};\n\nisStream.duplex = function (stream) {\n\treturn isStream.writable(stream) && isStream.readable(stream);\n};\n\nisStream.transform = function (stream) {\n\treturn isStream.duplex(stream) && typeof stream._transform === 'function' && typeof stream._transformState === 'object';\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","/* eslint no-console: 0 */\n\n'use strict';\n\nconst urllib = require('url');\nconst util = require('util');\nconst fs = require('fs');\nconst fetch = require('../fetch');\nconst dns = require('dns');\nconst net = require('net');\n\nconst DNS_TTL = 5 * 60 * 1000;\n\nconst resolver = (family, hostname, callback) => {\n dns['resolve' + family](hostname, (err, addresses) => {\n if (err) {\n switch (err.code) {\n case dns.NODATA:\n case dns.NOTFOUND:\n case dns.NOTIMP:\n case dns.SERVFAIL:\n case dns.CONNREFUSED:\n case 'EAI_AGAIN':\n return callback(null, []);\n }\n return callback(err);\n }\n return callback(null, Array.isArray(addresses) ? addresses : [].concat(addresses || []));\n });\n};\n\nconst dnsCache = (module.exports.dnsCache = new Map());\nmodule.exports.resolveHostname = (options, callback) => {\n options = options || {};\n\n if (!options.host || net.isIP(options.host)) {\n // nothing to do here\n let value = {\n host: options.host,\n servername: options.servername || false\n };\n return callback(null, value);\n }\n\n let cached;\n\n if (dnsCache.has(options.host)) {\n cached = dnsCache.get(options.host);\n if (!cached.expires || cached.expires >= Date.now()) {\n return callback(null, {\n host: cached.value.host,\n servername: cached.value.servername,\n _cached: true\n });\n }\n }\n\n resolver(4, options.host, (err, addresses) => {\n if (err) {\n if (cached) {\n // ignore error, use expired value\n return callback(null, cached.value);\n }\n return callback(err);\n }\n if (addresses && addresses.length) {\n let value = {\n host: addresses[0] || options.host,\n servername: options.servername || options.host\n };\n dnsCache.set(options.host, {\n value,\n expires: Date.now() + DNS_TTL\n });\n return callback(null, value);\n }\n\n resolver(6, options.host, (err, addresses) => {\n if (err) {\n if (cached) {\n // ignore error, use expired value\n return callback(null, cached.value);\n }\n return callback(err);\n }\n if (addresses && addresses.length) {\n let value = {\n host: addresses[0] || options.host,\n servername: options.servername || options.host\n };\n dnsCache.set(options.host, {\n value,\n expires: Date.now() + DNS_TTL\n });\n return callback(null, value);\n }\n\n try {\n dns.lookup(options.host, {}, (err, address) => {\n if (err) {\n if (cached) {\n // ignore error, use expired value\n return callback(null, cached.value);\n }\n return callback(err);\n }\n\n if (!address && cached) {\n // nothing was found, fallback to cached value\n return callback(null, cached.value);\n }\n\n let value = {\n host: address || options.host,\n servername: options.servername || options.host\n };\n dnsCache.set(options.host, {\n value,\n expires: Date.now() + DNS_TTL\n });\n return callback(null, value);\n });\n } catch (err) {\n if (cached) {\n // ignore error, use expired value\n return callback(null, cached.value);\n }\n return callback(err);\n }\n });\n });\n};\n/**\n * Parses connection url to a structured configuration object\n *\n * @param {String} str Connection url\n * @return {Object} Configuration object\n */\nmodule.exports.parseConnectionUrl = str => {\n str = str || '';\n let options = {};\n\n [urllib.parse(str, true)].forEach(url => {\n let auth;\n\n switch (url.protocol) {\n case 'smtp:':\n options.secure = false;\n break;\n case 'smtps:':\n options.secure = true;\n break;\n case 'direct:':\n options.direct = true;\n break;\n }\n\n if (!isNaN(url.port) && Number(url.port)) {\n options.port = Number(url.port);\n }\n\n if (url.hostname) {\n options.host = url.hostname;\n }\n\n if (url.auth) {\n auth = url.auth.split(':');\n\n if (!options.auth) {\n options.auth = {};\n }\n\n options.auth.user = auth.shift();\n options.auth.pass = auth.join(':');\n }\n\n Object.keys(url.query || {}).forEach(key => {\n let obj = options;\n let lKey = key;\n let value = url.query[key];\n\n if (!isNaN(value)) {\n value = Number(value);\n }\n\n switch (value) {\n case 'true':\n value = true;\n break;\n case 'false':\n value = false;\n break;\n }\n\n // tls is nested object\n if (key.indexOf('tls.') === 0) {\n lKey = key.substr(4);\n if (!options.tls) {\n options.tls = {};\n }\n obj = options.tls;\n } else if (key.indexOf('.') >= 0) {\n // ignore nested properties besides tls\n return;\n }\n\n if (!(lKey in obj)) {\n obj[lKey] = value;\n }\n });\n });\n\n return options;\n};\n\nmodule.exports._logFunc = (logger, level, defaults, data, message, ...args) => {\n let entry = {};\n\n Object.keys(defaults || {}).forEach(key => {\n if (key !== 'level') {\n entry[key] = defaults[key];\n }\n });\n\n Object.keys(data || {}).forEach(key => {\n if (key !== 'level') {\n entry[key] = data[key];\n }\n });\n\n logger[level](entry, message, ...args);\n};\n\n/**\n * Returns a bunyan-compatible logger interface. Uses either provided logger or\n * creates a default console logger\n *\n * @param {Object} [options] Options object that might include 'logger' value\n * @return {Object} bunyan compatible logger\n */\nmodule.exports.getLogger = (options, defaults) => {\n options = options || {};\n\n let response = {};\n let levels = ['trace', 'debug', 'info', 'warn', 'error', 'fatal'];\n\n if (!options.logger) {\n // use vanity logger\n levels.forEach(level => {\n response[level] = () => false;\n });\n return response;\n }\n\n let logger = options.logger;\n\n if (options.logger === true) {\n // create console logger\n logger = createDefaultLogger(levels);\n }\n\n levels.forEach(level => {\n response[level] = (data, message, ...args) => {\n module.exports._logFunc(logger, level, defaults, data, message, ...args);\n };\n });\n\n return response;\n};\n\n/**\n * Wrapper for creating a callback that either resolves or rejects a promise\n * based on input\n *\n * @param {Function} resolve Function to run if callback is called\n * @param {Function} reject Function to run if callback ends with an error\n */\nmodule.exports.callbackPromise = (resolve, reject) =>\n function () {\n let args = Array.from(arguments);\n let err = args.shift();\n if (err) {\n reject(err);\n } else {\n resolve(...args);\n }\n };\n\n/**\n * Resolves a String or a Buffer value for content value. Useful if the value\n * is a Stream or a file or an URL. If the value is a Stream, overwrites\n * the stream object with the resolved value (you can't stream a value twice).\n *\n * This is useful when you want to create a plugin that needs a content value,\n * for example the `html` or `text` value as a String or a Buffer but not as\n * a file path or an URL.\n *\n * @param {Object} data An object or an Array you want to resolve an element for\n * @param {String|Number} key Property name or an Array index\n * @param {Function} callback Callback function with (err, value)\n */\nmodule.exports.resolveContent = (data, key, callback) => {\n let promise;\n\n if (!callback) {\n promise = new Promise((resolve, reject) => {\n callback = module.exports.callbackPromise(resolve, reject);\n });\n }\n\n let content = (data && data[key] && data[key].content) || data[key];\n let contentStream;\n let encoding = ((typeof data[key] === 'object' && data[key].encoding) || 'utf8')\n .toString()\n .toLowerCase()\n .replace(/[-_\\s]/g, '');\n\n if (!content) {\n return callback(null, content);\n }\n\n if (typeof content === 'object') {\n if (typeof content.pipe === 'function') {\n return resolveStream(content, (err, value) => {\n if (err) {\n return callback(err);\n }\n // we can't stream twice the same content, so we need\n // to replace the stream object with the streaming result\n data[key] = value;\n callback(null, value);\n });\n } else if (/^https?:\\/\\//i.test(content.path || content.href)) {\n contentStream = fetch(content.path || content.href);\n return resolveStream(contentStream, callback);\n } else if (/^data:/i.test(content.path || content.href)) {\n let parts = (content.path || content.href).match(/^data:((?:[^;]*;)*(?:[^,]*)),(.*)$/i);\n if (!parts) {\n return callback(null, Buffer.from(0));\n }\n return callback(null, /\\bbase64$/i.test(parts[1]) ? Buffer.from(parts[2], 'base64') : Buffer.from(decodeURIComponent(parts[2])));\n } else if (content.path) {\n return resolveStream(fs.createReadStream(content.path), callback);\n }\n }\n\n if (typeof data[key].content === 'string' && !['utf8', 'usascii', 'ascii'].includes(encoding)) {\n content = Buffer.from(data[key].content, encoding);\n }\n\n // default action, return as is\n setImmediate(() => callback(null, content));\n\n return promise;\n};\n\n/**\n * Copies properties from source objects to target objects\n */\nmodule.exports.assign = function (/* target, ... sources */) {\n let args = Array.from(arguments);\n let target = args.shift() || {};\n\n args.forEach(source => {\n Object.keys(source || {}).forEach(key => {\n if (['tls', 'auth'].includes(key) && source[key] && typeof source[key] === 'object') {\n // tls and auth are special keys that need to be enumerated separately\n // other objects are passed as is\n if (!target[key]) {\n // ensure that target has this key\n target[key] = {};\n }\n Object.keys(source[key]).forEach(subKey => {\n target[key][subKey] = source[key][subKey];\n });\n } else {\n target[key] = source[key];\n }\n });\n });\n return target;\n};\n\nmodule.exports.encodeXText = str => {\n // ! 0x21\n // + 0x2B\n // = 0x3D\n // ~ 0x7E\n if (!/[^\\x21-\\x2A\\x2C-\\x3C\\x3E-\\x7E]/.test(str)) {\n return str;\n }\n let buf = Buffer.from(str);\n let result = '';\n for (let i = 0, len = buf.length; i < len; i++) {\n let c = buf[i];\n if (c < 0x21 || c > 0x7e || c === 0x2b || c === 0x3d) {\n result += '+' + (c < 0x10 ? '0' : '') + c.toString(16).toUpperCase();\n } else {\n result += String.fromCharCode(c);\n }\n }\n return result;\n};\n\n/**\n * Streams a stream value into a Buffer\n *\n * @param {Object} stream Readable stream\n * @param {Function} callback Callback function with (err, value)\n */\nfunction resolveStream(stream, callback) {\n let responded = false;\n let chunks = [];\n let chunklen = 0;\n\n stream.on('error', err => {\n if (responded) {\n return;\n }\n\n responded = true;\n callback(err);\n });\n\n stream.on('readable', () => {\n let chunk;\n while ((chunk = stream.read()) !== null) {\n chunks.push(chunk);\n chunklen += chunk.length;\n }\n });\n\n stream.on('end', () => {\n if (responded) {\n return;\n }\n responded = true;\n\n let value;\n\n try {\n value = Buffer.concat(chunks, chunklen);\n } catch (E) {\n return callback(E);\n }\n callback(null, value);\n });\n}\n\n/**\n * Generates a bunyan-like logger that prints to console\n *\n * @returns {Object} Bunyan logger instance\n */\nfunction createDefaultLogger(levels) {\n let levelMaxLen = 0;\n let levelNames = new Map();\n levels.forEach(level => {\n if (level.length > levelMaxLen) {\n levelMaxLen = level.length;\n }\n });\n\n levels.forEach(level => {\n let levelName = level.toUpperCase();\n if (levelName.length < levelMaxLen) {\n levelName += ' '.repeat(levelMaxLen - levelName.length);\n }\n levelNames.set(level, levelName);\n });\n\n let print = (level, entry, message, ...args) => {\n let prefix = '';\n if (entry) {\n if (entry.tnx === 'server') {\n prefix = 'S: ';\n } else if (entry.tnx === 'client') {\n prefix = 'C: ';\n }\n\n if (entry.sid) {\n prefix = '[' + entry.sid + '] ' + prefix;\n }\n\n if (entry.cid) {\n prefix = '[#' + entry.cid + '] ' + prefix;\n }\n }\n\n message = util.format(message, ...args);\n message.split(/\\r?\\n/).forEach(line => {\n console.log('[%s] %s %s', new Date().toISOString().substr(0, 19).replace(/T/, ' '), levelNames.get(level), prefix + line);\n });\n };\n\n let logger = {};\n levels.forEach(level => {\n logger[level] = print.bind(null, level);\n });\n\n return logger;\n}\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\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.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\nfunction log(...args) {\n\t// This hackery is required for IE8/9, where\n\t// the `console.log` function doesn't have 'apply'\n\treturn typeof console === 'object' &&\n\t\tconsole.log &&\n\t\tconsole.log(...args);\n}\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\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar osName = _interopDefault(require('os-name'));\n\nfunction getUserAgent() {\n try {\n return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`;\n } catch (error) {\n if (/wmic os get Caption/.test(error.message)) {\n return \"Windows \";\n }\n\n return \"\";\n }\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlNetrc = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545/include/curl/curl.h#L2003\r\n/**\r\n * To be used with the `NETRC` option\r\n *\r\n * `CURL_NETRC_OPTIONAL` becomes `CurlNetrc.Optional`\r\n *\r\n * @public\r\n */\r\nvar CurlNetrc;\r\n(function (CurlNetrc) {\r\n /**\r\n * The .netrc will never be read.\r\n * This is the default\r\n */\r\n CurlNetrc[CurlNetrc[\"Ignored\"] = 0] = \"Ignored\";\r\n /**\r\n * A user:password in the URL will be preferred to one in the .netrc\r\n */\r\n CurlNetrc[CurlNetrc[\"Optional\"] = 1] = \"Optional\";\r\n /**\r\n * A user:password in the URL will be ignored.\r\n * Unless one is set programmatically, the .netrc\r\n * will be queried.\r\n */\r\n CurlNetrc[CurlNetrc[\"Required\"] = 2] = \"Required\";\r\n})(CurlNetrc = exports.CurlNetrc || (exports.CurlNetrc = {}));\r\n//# sourceMappingURL=CurlNetrc.js.map","'use strict';\n\nconst Transform = require('stream').Transform;\n\n/**\n * Encodes a Buffer into a Quoted-Printable encoded string\n *\n * @param {Buffer} buffer Buffer to convert\n * @returns {String} Quoted-Printable encoded string\n */\nfunction encode(buffer) {\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer, 'utf-8');\n }\n\n // usable characters that do not need encoding\n let ranges = [\n // https://tools.ietf.org/html/rfc2045#section-6.7\n [0x09], // \n [0x0a], // \n [0x0d], // \n [0x20, 0x3c], // !\"#$%&'()*+,-./0123456789:;\n [0x3e, 0x7e] // >?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}\n ];\n let result = '';\n let ord;\n\n for (let i = 0, len = buffer.length; i < len; i++) {\n ord = buffer[i];\n // if the char is in allowed range, then keep as is, unless it is a WS in the end of a line\n if (checkRanges(ord, ranges) && !((ord === 0x20 || ord === 0x09) && (i === len - 1 || buffer[i + 1] === 0x0a || buffer[i + 1] === 0x0d))) {\n result += String.fromCharCode(ord);\n continue;\n }\n result += '=' + (ord < 0x10 ? '0' : '') + ord.toString(16).toUpperCase();\n }\n\n return result;\n}\n\n/**\n * Adds soft line breaks to a Quoted-Printable string\n *\n * @param {String} str Quoted-Printable encoded string that might need line wrapping\n * @param {Number} [lineLength=76] Maximum allowed length for a line\n * @returns {String} Soft-wrapped Quoted-Printable encoded string\n */\nfunction wrap(str, lineLength) {\n str = (str || '').toString();\n lineLength = lineLength || 76;\n\n if (str.length <= lineLength) {\n return str;\n }\n\n let pos = 0;\n let len = str.length;\n let match, code, line;\n let lineMargin = Math.floor(lineLength / 3);\n let result = '';\n\n // insert soft linebreaks where needed\n while (pos < len) {\n line = str.substr(pos, lineLength);\n if ((match = line.match(/\\r\\n/))) {\n line = line.substr(0, match.index + match[0].length);\n result += line;\n pos += line.length;\n continue;\n }\n\n if (line.substr(-1) === '\\n') {\n // nothing to change here\n result += line;\n pos += line.length;\n continue;\n } else if ((match = line.substr(-lineMargin).match(/\\n.*?$/))) {\n // truncate to nearest line break\n line = line.substr(0, line.length - (match[0].length - 1));\n result += line;\n pos += line.length;\n continue;\n } else if (line.length > lineLength - lineMargin && (match = line.substr(-lineMargin).match(/[ \\t.,!?][^ \\t.,!?]*$/))) {\n // truncate to nearest space\n line = line.substr(0, line.length - (match[0].length - 1));\n } else if (line.match(/[=][\\da-f]{0,2}$/i)) {\n // push incomplete encoding sequences to the next line\n if ((match = line.match(/[=][\\da-f]{0,1}$/i))) {\n line = line.substr(0, line.length - match[0].length);\n }\n\n // ensure that utf-8 sequences are not split\n while (line.length > 3 && line.length < len - pos && !line.match(/^(?:=[\\da-f]{2}){1,4}$/i) && (match = line.match(/[=][\\da-f]{2}$/gi))) {\n code = parseInt(match[0].substr(1, 2), 16);\n if (code < 128) {\n break;\n }\n\n line = line.substr(0, line.length - 3);\n\n if (code >= 0xc0) {\n break;\n }\n }\n }\n\n if (pos + line.length < len && line.substr(-1) !== '\\n') {\n if (line.length === lineLength && line.match(/[=][\\da-f]{2}$/i)) {\n line = line.substr(0, line.length - 3);\n } else if (line.length === lineLength) {\n line = line.substr(0, line.length - 1);\n }\n pos += line.length;\n line += '=\\r\\n';\n } else {\n pos += line.length;\n }\n\n result += line;\n }\n\n return result;\n}\n\n/**\n * Helper function to check if a number is inside provided ranges\n *\n * @param {Number} nr Number to check for\n * @param {Array} ranges An Array of allowed values\n * @returns {Boolean} True if the value was found inside allowed ranges, false otherwise\n */\nfunction checkRanges(nr, ranges) {\n for (let i = ranges.length - 1; i >= 0; i--) {\n if (!ranges[i].length) {\n continue;\n }\n if (ranges[i].length === 1 && nr === ranges[i][0]) {\n return true;\n }\n if (ranges[i].length === 2 && nr >= ranges[i][0] && nr <= ranges[i][1]) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Creates a transform stream for encoding data to Quoted-Printable encoding\n *\n * @constructor\n * @param {Object} options Stream options\n * @param {Number} [options.lineLength=76] Maximum lenght for lines, set to false to disable wrapping\n */\nclass Encoder extends Transform {\n constructor(options) {\n super();\n\n // init Transform\n this.options = options || {};\n\n if (this.options.lineLength !== false) {\n this.options.lineLength = this.options.lineLength || 76;\n }\n\n this._curLine = '';\n\n this.inputBytes = 0;\n this.outputBytes = 0;\n }\n\n _transform(chunk, encoding, done) {\n let qp;\n\n if (encoding !== 'buffer') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n if (!chunk || !chunk.length) {\n return done();\n }\n\n this.inputBytes += chunk.length;\n\n if (this.options.lineLength) {\n qp = this._curLine + encode(chunk);\n qp = wrap(qp, this.options.lineLength);\n qp = qp.replace(/(^|\\n)([^\\n]*)$/, (match, lineBreak, lastLine) => {\n this._curLine = lastLine;\n return lineBreak;\n });\n\n if (qp) {\n this.outputBytes += qp.length;\n this.push(qp);\n }\n } else {\n qp = encode(chunk);\n this.outputBytes += qp.length;\n this.push(qp, 'ascii');\n }\n\n done();\n }\n\n _flush(done) {\n if (this._curLine) {\n this.outputBytes += this._curLine.length;\n this.push(this._curLine, 'ascii');\n }\n done();\n }\n}\n\n// expose to the world\nmodule.exports = {\n encode,\n wrap,\n Encoder\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlSshAuth = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L741\r\n/**\r\n * Object with constants for option `SSH_AUTH_TYPES`\r\n *\r\n * `CURLSSH_AUTH_PASSWORD` becomes `CurlSshAuth.Password`\r\n *\r\n * @public\r\n */\r\nvar CurlSshAuth;\r\n(function (CurlSshAuth) {\r\n /**\r\n * all types supported by the server\r\n */\r\n CurlSshAuth[CurlSshAuth[\"Any\"] = -1] = \"Any\";\r\n /**\r\n * none allowed, silly but complete\r\n */\r\n CurlSshAuth[CurlSshAuth[\"None\"] = 0] = \"None\";\r\n /**\r\n * public/private key files\r\n */\r\n CurlSshAuth[CurlSshAuth[\"PublicKey\"] = 1] = \"PublicKey\";\r\n /**\r\n * password\r\n */\r\n CurlSshAuth[CurlSshAuth[\"Password\"] = 2] = \"Password\";\r\n /**\r\n * host key files\r\n */\r\n CurlSshAuth[CurlSshAuth[\"Host\"] = 4] = \"Host\";\r\n /**\r\n * keyboard interactive\r\n */\r\n CurlSshAuth[CurlSshAuth[\"Keyboard\"] = 8] = \"Keyboard\";\r\n /**\r\n * agent (ssh-agent, pageant...)\r\n */\r\n CurlSshAuth[CurlSshAuth[\"Agent\"] = 16] = \"Agent\";\r\n /**\r\n * gssapi (kerberos, ...)\r\n */\r\n CurlSshAuth[CurlSshAuth[\"GssApi\"] = 32] = \"GssApi\";\r\n CurlSshAuth[CurlSshAuth[\"Default\"] = -1] = \"Default\";\r\n})(CurlSshAuth = exports.CurlSshAuth || (exports.CurlSshAuth = {}));\r\n//# sourceMappingURL=CurlSshAuth.js.map","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlNull(data) {\n if (data === null) return true;\n\n var max = data.length;\n\n return (max === 1 && data === '~') ||\n (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL'));\n}\n\nfunction constructYamlNull() {\n return null;\n}\n\nfunction isNull(object) {\n return object === null;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:null', {\n kind: 'scalar',\n resolve: resolveYamlNull,\n construct: constructYamlNull,\n predicate: isNull,\n represent: {\n canonical: function () { return '~'; },\n lowercase: function () { return 'null'; },\n uppercase: function () { return 'NULL'; },\n camelcase: function () { return 'Null'; }\n },\n defaultStyle: 'lowercase'\n});\n","/* eslint no-undefined: 0 */\n\n'use strict';\n\nconst MimeNode = require('../mime-node');\nconst mimeFuncs = require('../mime-funcs');\n\n/**\n * Creates the object for composing a MimeNode instance out from the mail options\n *\n * @constructor\n * @param {Object} mail Mail options\n */\nclass MailComposer {\n constructor(mail) {\n this.mail = mail || {};\n this.message = false;\n }\n\n /**\n * Builds MimeNode instance\n */\n compile() {\n this._alternatives = this.getAlternatives();\n this._htmlNode = this._alternatives.filter(alternative => /^text\\/html\\b/i.test(alternative.contentType)).pop();\n this._attachments = this.getAttachments(!!this._htmlNode);\n\n this._useRelated = !!(this._htmlNode && this._attachments.related.length);\n this._useAlternative = this._alternatives.length > 1;\n this._useMixed = this._attachments.attached.length > 1 || (this._alternatives.length && this._attachments.attached.length === 1);\n\n // Compose MIME tree\n if (this.mail.raw) {\n this.message = new MimeNode().setRaw(this.mail.raw);\n } else if (this._useMixed) {\n this.message = this._createMixed();\n } else if (this._useAlternative) {\n this.message = this._createAlternative();\n } else if (this._useRelated) {\n this.message = this._createRelated();\n } else {\n this.message = this._createContentNode(\n false,\n []\n .concat(this._alternatives || [])\n .concat(this._attachments.attached || [])\n .shift() || {\n contentType: 'text/plain',\n content: ''\n }\n );\n }\n\n // Add custom headers\n if (this.mail.headers) {\n this.message.addHeader(this.mail.headers);\n }\n\n // Add headers to the root node, always overrides custom headers\n ['from', 'sender', 'to', 'cc', 'bcc', 'reply-to', 'in-reply-to', 'references', 'subject', 'message-id', 'date'].forEach(header => {\n let key = header.replace(/-(\\w)/g, (o, c) => c.toUpperCase());\n if (this.mail[key]) {\n this.message.setHeader(header, this.mail[key]);\n }\n });\n\n // Sets custom envelope\n if (this.mail.envelope) {\n this.message.setEnvelope(this.mail.envelope);\n }\n\n // ensure Message-Id value\n this.message.messageId();\n\n return this.message;\n }\n\n /**\n * List all attachments. Resulting attachment objects can be used as input for MimeNode nodes\n *\n * @param {Boolean} findRelated If true separate related attachments from attached ones\n * @returns {Object} An object of arrays (`related` and `attached`)\n */\n getAttachments(findRelated) {\n let icalEvent, eventObject;\n let attachments = [].concat(this.mail.attachments || []).map((attachment, i) => {\n let data;\n let isMessageNode = /^message\\//i.test(attachment.contentType);\n\n if (/^data:/i.test(attachment.path || attachment.href)) {\n attachment = this._processDataUrl(attachment);\n }\n\n data = {\n contentType: attachment.contentType || mimeFuncs.detectMimeType(attachment.filename || attachment.path || attachment.href || 'bin'),\n contentDisposition: attachment.contentDisposition || (isMessageNode ? 'inline' : 'attachment'),\n contentTransferEncoding: 'contentTransferEncoding' in attachment ? attachment.contentTransferEncoding : 'base64'\n };\n\n if (attachment.filename) {\n data.filename = attachment.filename;\n } else if (!isMessageNode && attachment.filename !== false) {\n data.filename = (attachment.path || attachment.href || '').split('/').pop().split('?').shift() || 'attachment-' + (i + 1);\n if (data.filename.indexOf('.') < 0) {\n data.filename += '.' + mimeFuncs.detectExtension(data.contentType);\n }\n }\n\n if (/^https?:\\/\\//i.test(attachment.path)) {\n attachment.href = attachment.path;\n attachment.path = undefined;\n }\n\n if (attachment.cid) {\n data.cid = attachment.cid;\n }\n\n if (attachment.raw) {\n data.raw = attachment.raw;\n } else if (attachment.path) {\n data.content = {\n path: attachment.path\n };\n } else if (attachment.href) {\n data.content = {\n href: attachment.href,\n httpHeaders: attachment.httpHeaders\n };\n } else {\n data.content = attachment.content || '';\n }\n\n if (attachment.encoding) {\n data.encoding = attachment.encoding;\n }\n\n if (attachment.headers) {\n data.headers = attachment.headers;\n }\n\n return data;\n });\n\n if (this.mail.icalEvent) {\n if (\n typeof this.mail.icalEvent === 'object' &&\n (this.mail.icalEvent.content || this.mail.icalEvent.path || this.mail.icalEvent.href || this.mail.icalEvent.raw)\n ) {\n icalEvent = this.mail.icalEvent;\n } else {\n icalEvent = {\n content: this.mail.icalEvent\n };\n }\n\n eventObject = {};\n Object.keys(icalEvent).forEach(key => {\n eventObject[key] = icalEvent[key];\n });\n\n eventObject.contentType = 'application/ics';\n if (!eventObject.headers) {\n eventObject.headers = {};\n }\n eventObject.filename = eventObject.filename || 'invite.ics';\n eventObject.headers['Content-Disposition'] = 'attachment';\n eventObject.headers['Content-Transfer-Encoding'] = 'base64';\n }\n\n if (!findRelated) {\n return {\n attached: attachments.concat(eventObject || []),\n related: []\n };\n } else {\n return {\n attached: attachments.filter(attachment => !attachment.cid).concat(eventObject || []),\n related: attachments.filter(attachment => !!attachment.cid)\n };\n }\n }\n\n /**\n * List alternatives. Resulting objects can be used as input for MimeNode nodes\n *\n * @returns {Array} An array of alternative elements. Includes the `text` and `html` values as well\n */\n getAlternatives() {\n let alternatives = [],\n text,\n html,\n watchHtml,\n amp,\n icalEvent,\n eventObject;\n\n if (this.mail.text) {\n if (typeof this.mail.text === 'object' && (this.mail.text.content || this.mail.text.path || this.mail.text.href || this.mail.text.raw)) {\n text = this.mail.text;\n } else {\n text = {\n content: this.mail.text\n };\n }\n text.contentType = 'text/plain; charset=utf-8';\n }\n\n if (this.mail.watchHtml) {\n if (\n typeof this.mail.watchHtml === 'object' &&\n (this.mail.watchHtml.content || this.mail.watchHtml.path || this.mail.watchHtml.href || this.mail.watchHtml.raw)\n ) {\n watchHtml = this.mail.watchHtml;\n } else {\n watchHtml = {\n content: this.mail.watchHtml\n };\n }\n watchHtml.contentType = 'text/watch-html; charset=utf-8';\n }\n\n if (this.mail.amp) {\n if (typeof this.mail.amp === 'object' && (this.mail.amp.content || this.mail.amp.path || this.mail.amp.href || this.mail.amp.raw)) {\n amp = this.mail.amp;\n } else {\n amp = {\n content: this.mail.amp\n };\n }\n amp.contentType = 'text/x-amp-html; charset=utf-8';\n }\n\n // only include the calendar alternative if there are no attachments\n // otherwise you might end up in a blank screen on some clients\n if (this.mail.icalEvent && !(this.mail.attachments && this.mail.attachments.length)) {\n if (\n typeof this.mail.icalEvent === 'object' &&\n (this.mail.icalEvent.content || this.mail.icalEvent.path || this.mail.icalEvent.href || this.mail.icalEvent.raw)\n ) {\n icalEvent = this.mail.icalEvent;\n } else {\n icalEvent = {\n content: this.mail.icalEvent\n };\n }\n\n eventObject = {};\n Object.keys(icalEvent).forEach(key => {\n eventObject[key] = icalEvent[key];\n });\n\n if (eventObject.content && typeof eventObject.content === 'object') {\n // we are going to have the same attachment twice, so mark this to be\n // resolved just once\n eventObject.content._resolve = true;\n }\n\n eventObject.filename = false;\n eventObject.contentType = 'text/calendar; charset=utf-8; method=' + (eventObject.method || 'PUBLISH').toString().trim().toUpperCase();\n if (!eventObject.headers) {\n eventObject.headers = {};\n }\n }\n\n if (this.mail.html) {\n if (typeof this.mail.html === 'object' && (this.mail.html.content || this.mail.html.path || this.mail.html.href || this.mail.html.raw)) {\n html = this.mail.html;\n } else {\n html = {\n content: this.mail.html\n };\n }\n html.contentType = 'text/html; charset=utf-8';\n }\n\n []\n .concat(text || [])\n .concat(watchHtml || [])\n .concat(amp || [])\n .concat(html || [])\n .concat(eventObject || [])\n .concat(this.mail.alternatives || [])\n .forEach(alternative => {\n let data;\n\n if (/^data:/i.test(alternative.path || alternative.href)) {\n alternative = this._processDataUrl(alternative);\n }\n\n data = {\n contentType: alternative.contentType || mimeFuncs.detectMimeType(alternative.filename || alternative.path || alternative.href || 'txt'),\n contentTransferEncoding: alternative.contentTransferEncoding\n };\n\n if (alternative.filename) {\n data.filename = alternative.filename;\n }\n\n if (/^https?:\\/\\//i.test(alternative.path)) {\n alternative.href = alternative.path;\n alternative.path = undefined;\n }\n\n if (alternative.raw) {\n data.raw = alternative.raw;\n } else if (alternative.path) {\n data.content = {\n path: alternative.path\n };\n } else if (alternative.href) {\n data.content = {\n href: alternative.href\n };\n } else {\n data.content = alternative.content || '';\n }\n\n if (alternative.encoding) {\n data.encoding = alternative.encoding;\n }\n\n if (alternative.headers) {\n data.headers = alternative.headers;\n }\n\n alternatives.push(data);\n });\n\n return alternatives;\n }\n\n /**\n * Builds multipart/mixed node. It should always contain different type of elements on the same level\n * eg. text + attachments\n *\n * @param {Object} parentNode Parent for this note. If it does not exist, a root node is created\n * @returns {Object} MimeNode node element\n */\n _createMixed(parentNode) {\n let node;\n\n if (!parentNode) {\n node = new MimeNode('multipart/mixed', {\n baseBoundary: this.mail.baseBoundary,\n textEncoding: this.mail.textEncoding,\n boundaryPrefix: this.mail.boundaryPrefix,\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n } else {\n node = parentNode.createChild('multipart/mixed', {\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n }\n\n if (this._useAlternative) {\n this._createAlternative(node);\n } else if (this._useRelated) {\n this._createRelated(node);\n }\n\n []\n .concat((!this._useAlternative && this._alternatives) || [])\n .concat(this._attachments.attached || [])\n .forEach(element => {\n // if the element is a html node from related subpart then ignore it\n if (!this._useRelated || element !== this._htmlNode) {\n this._createContentNode(node, element);\n }\n });\n\n return node;\n }\n\n /**\n * Builds multipart/alternative node. It should always contain same type of elements on the same level\n * eg. text + html view of the same data\n *\n * @param {Object} parentNode Parent for this note. If it does not exist, a root node is created\n * @returns {Object} MimeNode node element\n */\n _createAlternative(parentNode) {\n let node;\n\n if (!parentNode) {\n node = new MimeNode('multipart/alternative', {\n baseBoundary: this.mail.baseBoundary,\n textEncoding: this.mail.textEncoding,\n boundaryPrefix: this.mail.boundaryPrefix,\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n } else {\n node = parentNode.createChild('multipart/alternative', {\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n }\n\n this._alternatives.forEach(alternative => {\n if (this._useRelated && this._htmlNode === alternative) {\n this._createRelated(node);\n } else {\n this._createContentNode(node, alternative);\n }\n });\n\n return node;\n }\n\n /**\n * Builds multipart/related node. It should always contain html node with related attachments\n *\n * @param {Object} parentNode Parent for this note. If it does not exist, a root node is created\n * @returns {Object} MimeNode node element\n */\n _createRelated(parentNode) {\n let node;\n\n if (!parentNode) {\n node = new MimeNode('multipart/related; type=\"text/html\"', {\n baseBoundary: this.mail.baseBoundary,\n textEncoding: this.mail.textEncoding,\n boundaryPrefix: this.mail.boundaryPrefix,\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n } else {\n node = parentNode.createChild('multipart/related; type=\"text/html\"', {\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n }\n\n this._createContentNode(node, this._htmlNode);\n\n this._attachments.related.forEach(alternative => this._createContentNode(node, alternative));\n\n return node;\n }\n\n /**\n * Creates a regular node with contents\n *\n * @param {Object} parentNode Parent for this note. If it does not exist, a root node is created\n * @param {Object} element Node data\n * @returns {Object} MimeNode node element\n */\n _createContentNode(parentNode, element) {\n element = element || {};\n element.content = element.content || '';\n\n let node;\n let encoding = (element.encoding || 'utf8')\n .toString()\n .toLowerCase()\n .replace(/[-_\\s]/g, '');\n\n if (!parentNode) {\n node = new MimeNode(element.contentType, {\n filename: element.filename,\n baseBoundary: this.mail.baseBoundary,\n textEncoding: this.mail.textEncoding,\n boundaryPrefix: this.mail.boundaryPrefix,\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n } else {\n node = parentNode.createChild(element.contentType, {\n filename: element.filename,\n disableUrlAccess: this.mail.disableUrlAccess,\n disableFileAccess: this.mail.disableFileAccess,\n normalizeHeaderKey: this.mail.normalizeHeaderKey\n });\n }\n\n // add custom headers\n if (element.headers) {\n node.addHeader(element.headers);\n }\n\n if (element.cid) {\n node.setHeader('Content-Id', '<' + element.cid.replace(/[<>]/g, '') + '>');\n }\n\n if (element.contentTransferEncoding) {\n node.setHeader('Content-Transfer-Encoding', element.contentTransferEncoding);\n } else if (this.mail.encoding && /^text\\//i.test(element.contentType)) {\n node.setHeader('Content-Transfer-Encoding', this.mail.encoding);\n }\n\n if (!/^text\\//i.test(element.contentType) || element.contentDisposition) {\n node.setHeader('Content-Disposition', element.contentDisposition || (element.cid ? 'inline' : 'attachment'));\n }\n\n if (typeof element.content === 'string' && !['utf8', 'usascii', 'ascii'].includes(encoding)) {\n element.content = Buffer.from(element.content, encoding);\n }\n\n // prefer pregenerated raw content\n if (element.raw) {\n node.setRaw(element.raw);\n } else {\n node.setContent(element.content);\n }\n\n return node;\n }\n\n /**\n * Parses data uri and converts it to a Buffer\n *\n * @param {Object} element Content element\n * @return {Object} Parsed element\n */\n _processDataUrl(element) {\n let parts = (element.path || element.href).match(/^data:((?:[^;]*;)*(?:[^,]*)),(.*)$/i);\n if (!parts) {\n return element;\n }\n\n element.content = /\\bbase64$/i.test(parts[1]) ? Buffer.from(parts[2], 'base64') : Buffer.from(decodeURIComponent(parts[2]));\n\n if ('path' in element) {\n element.path = false;\n }\n\n if ('href' in element) {\n element.href = false;\n }\n\n parts[1].split(';').forEach(item => {\n if (/^\\w+\\/[^/]+$/i.test(item)) {\n element.contentType = element.contentType || item.toLowerCase();\n }\n });\n\n return element;\n }\n}\n\nmodule.exports = MailComposer;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nasync function auth(token) {\n const tokenType = token.split(/\\./).length === 3 ? \"app\" : /^v\\d+\\./.test(token) ? \"installation\" : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType\n };\n}\n\n/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n\n return `token ${token}`;\n}\n\nasync 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\nconst createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n\n if (typeof token !== \"string\") {\n throw new Error(\"[@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};\n\nexports.createTokenAuth = createTokenAuth;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlPause = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254/include/curl/curl.h#L2828\r\n/**\r\n * Options to be used with {@link \"Easy\".Easy.pause | `Easy#pause`} and {@link \"Curl\".Curl.pause | `Curl#pause`}.\r\n *\r\n * `CURLPAUSE_RECV_CONT` becomes `CurlPause.RecvCont`\r\n *\r\n * @public\r\n */\r\nvar CurlPause;\r\n(function (CurlPause) {\r\n CurlPause[CurlPause[\"Recv\"] = 1] = \"Recv\";\r\n CurlPause[CurlPause[\"RecvCont\"] = 0] = \"RecvCont\";\r\n CurlPause[CurlPause[\"Send\"] = 4] = \"Send\";\r\n CurlPause[CurlPause[\"SendCont\"] = 0] = \"SendCont\";\r\n CurlPause[CurlPause[\"All\"] = 5] = \"All\";\r\n CurlPause[CurlPause[\"Cont\"] = 0] = \"Cont\";\r\n})(CurlPause = exports.CurlPause || (exports.CurlPause = {}));\r\n//# sourceMappingURL=CurlPause.js.map","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction checkPathExt (path, options) {\n var pathext = options.pathExt !== undefined ?\n options.pathExt : process.env.PATHEXT\n\n if (!pathext) {\n return true\n }\n\n pathext = pathext.split(';')\n if (pathext.indexOf('') !== -1) {\n return true\n }\n for (var i = 0; i < pathext.length; i++) {\n var p = pathext[i].toLowerCase()\n if (p && path.substr(-p.length).toLowerCase() === p) {\n return true\n }\n }\n return false\n}\n\nfunction checkStat (stat, path, options) {\n if (!stat.isSymbolicLink() && !stat.isFile()) {\n return false\n }\n return checkPathExt(path, options)\n}\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, path, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), path, options)\n}\n","\"use strict\";\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlFeature = void 0;\r\n/**\r\n * Flags to be used with {@link \"Curl\".Curl.enable | `Curl#enable`} and {@link \"Curl\".Curl.disable | `Curl#disable`}\r\n * @public\r\n */\r\nvar CurlFeature;\r\n(function (CurlFeature) {\r\n /**\r\n * Data received is passed as a Buffer to the end event.\r\n */\r\n CurlFeature[CurlFeature[\"NoDataParsing\"] = 1] = \"NoDataParsing\";\r\n /**\r\n * Header received is not parsed, it's passed as a Buffer to the end event.\r\n */\r\n CurlFeature[CurlFeature[\"NoHeaderParsing\"] = 2] = \"NoHeaderParsing\";\r\n /**\r\n * Same than `NoDataParsing | NoHeaderParsing`\r\n */\r\n CurlFeature[CurlFeature[\"Raw\"] = 3] = \"Raw\";\r\n /**\r\n * Data received is not stored inside this handle, implies `NoDataParsing`.\r\n */\r\n CurlFeature[CurlFeature[\"NoDataStorage\"] = 4] = \"NoDataStorage\";\r\n /**\r\n * Header received is not stored inside this handle, implies `NoHeaderParsing`.\r\n */\r\n CurlFeature[CurlFeature[\"NoHeaderStorage\"] = 8] = \"NoHeaderStorage\";\r\n /**\r\n * Same than `NoDataStorage | NoHeaderStorage`, implies `Raw`.\r\n */\r\n CurlFeature[CurlFeature[\"NoStorage\"] = 12] = \"NoStorage\";\r\n /**\r\n * This will change the behavior of the internal `WRITEFUNCTION` to push data into a stream instead of\r\n * buffering all the data into multiple `Buffer` chunks.\r\n *\r\n * As soon as the stream is available, it will be passed as the first argument for the `stream` event.\r\n *\r\n * Example usage:\r\n *\r\n * ```typescript\r\n * const curl = new Curl()\r\n * curl.setOpt('URL', 'https://some-domain/upload')\r\n *\r\n * curl.setStreamProgressCallback(() => {\r\n * // this will use the default progress callback from libcurl\r\n * return CurlProgressFunc.Continue\r\n * })\r\n *\r\n * curl.on('end', (statusCode, data) => {\r\n * console.log('\\n'.repeat(5))\r\n * console.log(\r\n * `curl - end - status: ${statusCode} - data length: ${data.length}`,\r\n * )\r\n * curl.close()\r\n * })\r\n * curl.on('error', (error, errorCode) => {\r\n * console.log('\\n'.repeat(5))\r\n * console.error('curl - error: ', error, errorCode)\r\n * curl.close()\r\n * })\r\n * curl.on('stream', async (stream, _statusCode, _headers) => {\r\n * const writableStream = fs.createWriteStream('./test.out')\r\n * stream.pipe(writableStream)\r\n * })\r\n * curl.perform()\r\n * ```\r\n *\r\n * Using this implies `NoDataStorage`.\r\n *\r\n * To control the `highWaterMark` option of the response stream, see {@link \"Curl\".Curl.setStreamResponseHighWaterMark | `Curl#setStreamResponseHighWaterMark`}\r\n *\r\n * @remarks\r\n *\r\n * Make sure your libcurl version is greater than or equal 7.69.1.\r\n * Versions older than that one are not reliable for streams usage.\r\n */\r\n CurlFeature[CurlFeature[\"StreamResponse\"] = 16] = \"StreamResponse\";\r\n})(CurlFeature = exports.CurlFeature || (exports.CurlFeature = {}));\r\n//# sourceMappingURL=CurlFeature.js.map","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\nmodule.exports = opts => {\n\topts = opts || {};\n\n\tconst env = opts.env || process.env;\n\tconst platform = opts.platform || process.platform;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(env).find(x => x.toUpperCase() === 'PATH') || 'Path';\n};\n","// JS-YAML's default schema for `safeLoad` function.\n// It is not described in the YAML specification.\n//\n// This schema is based on standard YAML's Core schema and includes most of\n// extra types described at YAML tag repository. (http://yaml.org/type/)\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./core')\n ],\n implicit: [\n require('../type/timestamp'),\n require('../type/merge')\n ],\n explicit: [\n require('../type/binary'),\n require('../type/omap'),\n require('../type/pairs'),\n require('../type/set')\n ]\n});\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlInfoDebug = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be8254534898/include/curl/curl.h#L452\r\n/**\r\n * When the option `DEBUGFUNCTION` is set,\r\n * the first argument to the callback will be one of these.\r\n *\r\n * `CURLINFO_SSL_DATA_IN` becomes `CurlInfoDebug.SslDataOut`\r\n *\r\n * @public\r\n */\r\nvar CurlInfoDebug;\r\n(function (CurlInfoDebug) {\r\n CurlInfoDebug[CurlInfoDebug[\"Text\"] = 0] = \"Text\";\r\n CurlInfoDebug[CurlInfoDebug[\"HeaderIn\"] = 1] = \"HeaderIn\";\r\n CurlInfoDebug[CurlInfoDebug[\"HeaderOut\"] = 2] = \"HeaderOut\";\r\n CurlInfoDebug[CurlInfoDebug[\"DataIn\"] = 3] = \"DataIn\";\r\n CurlInfoDebug[CurlInfoDebug[\"DataOut\"] = 4] = \"DataOut\";\r\n CurlInfoDebug[CurlInfoDebug[\"SslDataIn\"] = 5] = \"SslDataIn\";\r\n CurlInfoDebug[CurlInfoDebug[\"SslDataOut\"] = 6] = \"SslDataOut\";\r\n})(CurlInfoDebug = exports.CurlInfoDebug || (exports.CurlInfoDebug = {}));\r\n//# sourceMappingURL=CurlInfoDebug.js.map","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('cat', _cat, {\n canReceivePipe: true,\n cmdOptions: {\n 'n': 'number',\n },\n});\n\n//@\n//@ ### cat([options,] file [, file ...])\n//@ ### cat([options,] file_array)\n//@\n//@ Available options:\n//@\n//@ + `-n`: number all output lines\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ var str = cat('file*.txt');\n//@ var str = cat('file1', 'file2');\n//@ var str = cat(['file1', 'file2']); // same as above\n//@ ```\n//@\n//@ Returns a string containing the given file, or a concatenated string\n//@ containing the files if more than one file is given (a new line character is\n//@ introduced between each file).\nfunction _cat(options, files) {\n var cat = common.readFromPipe();\n\n if (!files && !cat) common.error('no paths given');\n\n files = [].slice.call(arguments, 1);\n\n files.forEach(function (file) {\n if (!fs.existsSync(file)) {\n common.error('no such file or directory: ' + file);\n } else if (common.statFollowLinks(file).isDirectory()) {\n common.error(file + ': Is a directory');\n }\n\n cat += fs.readFileSync(file, 'utf8');\n });\n\n if (options.number) {\n cat = addNumbers(cat);\n }\n\n return cat;\n}\nmodule.exports = _cat;\n\nfunction addNumbers(cat) {\n var lines = cat.split('\\n');\n var lastLine = lines.pop();\n\n lines = lines.map(function (line, i) {\n return numberedLine(i + 1, line);\n });\n\n if (lastLine.length) {\n lastLine = numberedLine(lines.length + 1, lastLine);\n }\n lines.push(lastLine);\n\n return lines.join('\\n');\n}\n\nfunction numberedLine(n, line) {\n // GNU cat use six pad start number + tab. See http://lingrok.org/xref/coreutils/src/cat.c#57\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\n var number = (' ' + n).slice(-6) + '\\t';\n return number + line;\n}\n","module.exports = require(\"url\");","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","'use strict';\n\nvar Type = require('../type');\n\nvar YAML_DATE_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9])' + // [2] month\n '-([0-9][0-9])$'); // [3] day\n\nvar YAML_TIMESTAMP_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9]?)' + // [2] month\n '-([0-9][0-9]?)' + // [3] day\n '(?:[Tt]|[ \\\\t]+)' + // ...\n '([0-9][0-9]?)' + // [4] hour\n ':([0-9][0-9])' + // [5] minute\n ':([0-9][0-9])' + // [6] second\n '(?:\\\\.([0-9]*))?' + // [7] fraction\n '(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour\n '(?::([0-9][0-9]))?))?$'); // [11] tz_minute\n\nfunction resolveYamlTimestamp(data) {\n if (data === null) return false;\n if (YAML_DATE_REGEXP.exec(data) !== null) return true;\n if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;\n return false;\n}\n\nfunction constructYamlTimestamp(data) {\n var match, year, month, day, hour, minute, second, fraction = 0,\n delta = null, tz_hour, tz_minute, date;\n\n match = YAML_DATE_REGEXP.exec(data);\n if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);\n\n if (match === null) throw new Error('Date resolve error');\n\n // match: [1] year [2] month [3] day\n\n year = +(match[1]);\n month = +(match[2]) - 1; // JS month starts with 0\n day = +(match[3]);\n\n if (!match[4]) { // no hour\n return new Date(Date.UTC(year, month, day));\n }\n\n // match: [4] hour [5] minute [6] second [7] fraction\n\n hour = +(match[4]);\n minute = +(match[5]);\n second = +(match[6]);\n\n if (match[7]) {\n fraction = match[7].slice(0, 3);\n while (fraction.length < 3) { // milli-seconds\n fraction += '0';\n }\n fraction = +fraction;\n }\n\n // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute\n\n if (match[9]) {\n tz_hour = +(match[10]);\n tz_minute = +(match[11] || 0);\n delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds\n if (match[9] === '-') delta = -delta;\n }\n\n date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));\n\n if (delta) date.setTime(date.getTime() - delta);\n\n return date;\n}\n\nfunction representYamlTimestamp(object /*, style*/) {\n return object.toISOString();\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:timestamp', {\n kind: 'scalar',\n resolve: resolveYamlTimestamp,\n construct: constructYamlTimestamp,\n instanceOf: Date,\n represent: representYamlTimestamp\n});\n","'use strict';\n\nvar Type = require('../type');\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\nvar _toString = Object.prototype.toString;\n\nfunction resolveYamlOmap(data) {\n if (data === null) return true;\n\n var objectKeys = [], index, length, pair, pairKey, pairHasKey,\n object = data;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n pairHasKey = false;\n\n if (_toString.call(pair) !== '[object Object]') return false;\n\n for (pairKey in pair) {\n if (_hasOwnProperty.call(pair, pairKey)) {\n if (!pairHasKey) pairHasKey = true;\n else return false;\n }\n }\n\n if (!pairHasKey) return false;\n\n if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);\n else return false;\n }\n\n return true;\n}\n\nfunction constructYamlOmap(data) {\n return data !== null ? data : [];\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:omap', {\n kind: 'sequence',\n resolve: resolveYamlOmap,\n construct: constructYamlOmap\n});\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst _mkdirs = require('../mkdirs')\nconst mkdirs = _mkdirs.mkdirs\nconst mkdirsSync = _mkdirs.mkdirsSync\n\nconst _symlinkPaths = require('./symlink-paths')\nconst symlinkPaths = _symlinkPaths.symlinkPaths\nconst symlinkPathsSync = _symlinkPaths.symlinkPathsSync\n\nconst _symlinkType = require('./symlink-type')\nconst symlinkType = _symlinkType.symlinkType\nconst symlinkTypeSync = _symlinkType.symlinkTypeSync\n\nconst pathExists = require('../path-exists').pathExists\n\nfunction createSymlink (srcpath, dstpath, type, callback) {\n callback = (typeof type === 'function') ? type : callback\n type = (typeof type === 'function') ? false : type\n\n pathExists(dstpath, (err, destinationExists) => {\n if (err) return callback(err)\n if (destinationExists) return callback(null)\n symlinkPaths(srcpath, dstpath, (err, relative) => {\n if (err) return callback(err)\n srcpath = relative.toDst\n symlinkType(relative.toCwd, type, (err, type) => {\n if (err) return callback(err)\n const dir = path.dirname(dstpath)\n pathExists(dir, (err, dirExists) => {\n if (err) return callback(err)\n if (dirExists) return fs.symlink(srcpath, dstpath, type, callback)\n mkdirs(dir, err => {\n if (err) return callback(err)\n fs.symlink(srcpath, dstpath, type, callback)\n })\n })\n })\n })\n })\n}\n\nfunction createSymlinkSync (srcpath, dstpath, type) {\n const destinationExists = fs.existsSync(dstpath)\n if (destinationExists) return undefined\n\n const relative = symlinkPathsSync(srcpath, dstpath)\n srcpath = relative.toDst\n type = symlinkTypeSync(relative.toCwd, type)\n const dir = path.dirname(dstpath)\n const exists = fs.existsSync(dir)\n if (exists) return fs.symlinkSync(srcpath, dstpath, type)\n mkdirsSync(dir)\n return fs.symlinkSync(srcpath, dstpath, type)\n}\n\nmodule.exports = {\n createSymlink: u(createSymlink),\n createSymlinkSync\n}\n","'use strict';\n\nconst EventEmitter = require('events');\nconst SMTPConnection = require('../smtp-connection');\nconst wellKnown = require('../well-known');\nconst shared = require('../shared');\nconst XOAuth2 = require('../xoauth2');\nconst packageData = require('../../package.json');\n\n/**\n * Creates a SMTP transport object for Nodemailer\n *\n * @constructor\n * @param {Object} options Connection options\n */\nclass SMTPTransport extends EventEmitter {\n constructor(options) {\n super();\n\n options = options || {};\n if (typeof options === 'string') {\n options = {\n url: options\n };\n }\n\n let urlData;\n let service = options.service;\n\n if (typeof options.getSocket === 'function') {\n this.getSocket = options.getSocket;\n }\n\n if (options.url) {\n urlData = shared.parseConnectionUrl(options.url);\n service = service || urlData.service;\n }\n\n this.options = shared.assign(\n false, // create new object\n options, // regular options\n urlData, // url options\n service && wellKnown(service) // wellknown options\n );\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'smtp-transport'\n });\n\n // temporary object\n let connection = new SMTPConnection(this.options);\n\n this.name = 'SMTP';\n this.version = packageData.version + '[client:' + connection.version + ']';\n\n if (this.options.auth) {\n this.auth = this.getAuth({});\n }\n }\n\n /**\n * Placeholder function for creating proxy sockets. This method immediatelly returns\n * without a socket\n *\n * @param {Object} options Connection options\n * @param {Function} callback Callback function to run with the socket keys\n */\n getSocket(options, callback) {\n // return immediatelly\n return setImmediate(() => callback(null, false));\n }\n\n getAuth(authOpts) {\n if (!authOpts) {\n return this.auth;\n }\n\n let hasAuth = false;\n let authData = {};\n\n if (this.options.auth && typeof this.options.auth === 'object') {\n Object.keys(this.options.auth).forEach(key => {\n hasAuth = true;\n authData[key] = this.options.auth[key];\n });\n }\n\n if (authOpts && typeof authOpts === 'object') {\n Object.keys(authOpts).forEach(key => {\n hasAuth = true;\n authData[key] = authOpts[key];\n });\n }\n\n if (!hasAuth) {\n return false;\n }\n\n switch ((authData.type || '').toString().toUpperCase()) {\n case 'OAUTH2': {\n if (!authData.service && !authData.user) {\n return false;\n }\n let oauth2 = new XOAuth2(authData, this.logger);\n oauth2.provisionCallback = (this.mailer && this.mailer.get('oauth2_provision_cb')) || oauth2.provisionCallback;\n oauth2.on('token', token => this.mailer.emit('token', token));\n oauth2.on('error', err => this.emit('error', err));\n return {\n type: 'OAUTH2',\n user: authData.user,\n oauth2,\n method: 'XOAUTH2'\n };\n }\n default:\n return {\n type: (authData.type || '').toString().toUpperCase() || 'LOGIN',\n user: authData.user,\n credentials: {\n user: authData.user || '',\n pass: authData.pass,\n options: authData.options\n },\n method: (authData.method || '').trim().toUpperCase() || this.options.authMethod || false\n };\n }\n }\n\n /**\n * Sends an e-mail using the selected settings\n *\n * @param {Object} mail Mail object\n * @param {Function} callback Callback function\n */\n send(mail, callback) {\n this.getSocket(this.options, (err, socketOptions) => {\n if (err) {\n return callback(err);\n }\n\n let returned = false;\n let options = this.options;\n if (socketOptions && socketOptions.connection) {\n this.logger.info(\n {\n tnx: 'proxy',\n remoteAddress: socketOptions.connection.remoteAddress,\n remotePort: socketOptions.connection.remotePort,\n destHost: options.host || '',\n destPort: options.port || '',\n action: 'connected'\n },\n 'Using proxied socket from %s:%s to %s:%s',\n socketOptions.connection.remoteAddress,\n socketOptions.connection.remotePort,\n options.host || '',\n options.port || ''\n );\n\n // only copy options if we need to modify it\n options = shared.assign(false, options);\n Object.keys(socketOptions).forEach(key => {\n options[key] = socketOptions[key];\n });\n }\n\n let connection = new SMTPConnection(options);\n\n connection.once('error', err => {\n if (returned) {\n return;\n }\n returned = true;\n connection.close();\n return callback(err);\n });\n\n connection.once('end', () => {\n if (returned) {\n return;\n }\n\n let timer = setTimeout(() => {\n if (returned) {\n return;\n }\n returned = true;\n // still have not returned, this means we have an unexpected connection close\n let err = new Error('Unexpected socket close');\n if (connection && connection._socket && connection._socket.upgrading) {\n // starttls connection errors\n err.code = 'ETLS';\n }\n callback(err);\n }, 1000);\n\n try {\n timer.unref();\n } catch (E) {\n // Ignore. Happens on envs with non-node timer implementation\n }\n });\n\n let sendMessage = () => {\n let envelope = mail.message.getEnvelope();\n let messageId = mail.message.messageId();\n\n let recipients = [].concat(envelope.to || []);\n if (recipients.length > 3) {\n recipients.push('...and ' + recipients.splice(2).length + ' more');\n }\n\n if (mail.data.dsn) {\n envelope.dsn = mail.data.dsn;\n }\n\n this.logger.info(\n {\n tnx: 'send',\n messageId\n },\n 'Sending message %s to <%s>',\n messageId,\n recipients.join(', ')\n );\n\n connection.send(envelope, mail.message.createReadStream(), (err, info) => {\n returned = true;\n connection.close();\n if (err) {\n this.logger.error(\n {\n err,\n tnx: 'send'\n },\n 'Send error for %s: %s',\n messageId,\n err.message\n );\n return callback(err);\n }\n info.envelope = {\n from: envelope.from,\n to: envelope.to\n };\n info.messageId = messageId;\n try {\n return callback(null, info);\n } catch (E) {\n this.logger.error(\n {\n err: E,\n tnx: 'callback'\n },\n 'Callback error for %s: %s',\n messageId,\n E.message\n );\n }\n });\n };\n\n connection.connect(() => {\n if (returned) {\n return;\n }\n\n let auth = this.getAuth(mail.data.auth);\n\n if (auth && (connection.allowsAuth || options.forceAuth)) {\n connection.login(auth, err => {\n if (auth && auth !== this.auth && auth.oauth2) {\n auth.oauth2.removeAllListeners();\n }\n if (returned) {\n return;\n }\n\n if (err) {\n returned = true;\n connection.close();\n return callback(err);\n }\n\n sendMessage();\n });\n } else {\n sendMessage();\n }\n });\n });\n }\n\n /**\n * Verifies SMTP configuration\n *\n * @param {Function} callback Callback function\n */\n verify(callback) {\n let promise;\n\n if (!callback) {\n promise = new Promise((resolve, reject) => {\n callback = shared.callbackPromise(resolve, reject);\n });\n }\n\n this.getSocket(this.options, (err, socketOptions) => {\n if (err) {\n return callback(err);\n }\n\n let options = this.options;\n if (socketOptions && socketOptions.connection) {\n this.logger.info(\n {\n tnx: 'proxy',\n remoteAddress: socketOptions.connection.remoteAddress,\n remotePort: socketOptions.connection.remotePort,\n destHost: options.host || '',\n destPort: options.port || '',\n action: 'connected'\n },\n 'Using proxied socket from %s:%s to %s:%s',\n socketOptions.connection.remoteAddress,\n socketOptions.connection.remotePort,\n options.host || '',\n options.port || ''\n );\n\n options = shared.assign(false, options);\n Object.keys(socketOptions).forEach(key => {\n options[key] = socketOptions[key];\n });\n }\n\n let connection = new SMTPConnection(options);\n let returned = false;\n\n connection.once('error', err => {\n if (returned) {\n return;\n }\n returned = true;\n connection.close();\n return callback(err);\n });\n\n connection.once('end', () => {\n if (returned) {\n return;\n }\n returned = true;\n return callback(new Error('Connection closed'));\n });\n\n let finalize = () => {\n if (returned) {\n return;\n }\n returned = true;\n connection.quit();\n return callback(null, true);\n };\n\n connection.connect(() => {\n if (returned) {\n return;\n }\n\n let authData = this.getAuth({});\n\n if (authData && (connection.allowsAuth || options.forceAuth)) {\n connection.login(authData, err => {\n if (returned) {\n return;\n }\n\n if (err) {\n returned = true;\n connection.close();\n return callback(err);\n }\n\n finalize();\n });\n } else {\n finalize();\n }\n });\n });\n\n return promise;\n }\n\n /**\n * Releases resources\n */\n close() {\n if (this.auth && this.auth.oauth2) {\n this.auth.oauth2.removeAllListeners();\n }\n this.emit('close');\n }\n}\n\n// expose to the world\nmodule.exports = SMTPTransport;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlRtspRequest = void 0;\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n// https://github.com/curl/curl/blob/e1be82545348/include/curl/curl.h#L1987\r\n/**\r\n * Object with constants for option `RTSP_REQUEST`\r\n * Only available on libcurl >= 7.20\r\n *\r\n * `CURL_RTSPREQ_OPTIONS` becomes `CurlRtspRequest.Options`\r\n *\r\n * @public\r\n */\r\nvar CurlRtspRequest;\r\n(function (CurlRtspRequest) {\r\n CurlRtspRequest[CurlRtspRequest[\"None\"] = 0] = \"None\";\r\n CurlRtspRequest[CurlRtspRequest[\"Options\"] = 1] = \"Options\";\r\n CurlRtspRequest[CurlRtspRequest[\"Describe\"] = 2] = \"Describe\";\r\n CurlRtspRequest[CurlRtspRequest[\"Announce\"] = 3] = \"Announce\";\r\n CurlRtspRequest[CurlRtspRequest[\"Setup\"] = 4] = \"Setup\";\r\n CurlRtspRequest[CurlRtspRequest[\"Play\"] = 5] = \"Play\";\r\n CurlRtspRequest[CurlRtspRequest[\"Pause\"] = 6] = \"Pause\";\r\n CurlRtspRequest[CurlRtspRequest[\"Teardown\"] = 7] = \"Teardown\";\r\n CurlRtspRequest[CurlRtspRequest[\"GetParameter\"] = 8] = \"GetParameter\";\r\n CurlRtspRequest[CurlRtspRequest[\"SetParameter\"] = 9] = \"SetParameter\";\r\n CurlRtspRequest[CurlRtspRequest[\"Record\"] = 10] = \"Record\";\r\n CurlRtspRequest[CurlRtspRequest[\"Receive\"] = 11] = \"Receive\";\r\n})(CurlRtspRequest = exports.CurlRtspRequest || (exports.CurlRtspRequest = {}));\r\n//# sourceMappingURL=CurlRtspRequest.js.map","exports.alphasort = alphasort\nexports.alphasorti = alphasorti\nexports.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 path = require(\"path\")\nvar minimatch = require(\"minimatch\")\nvar isAbsolute = require(\"path-is-absolute\")\nvar Minimatch = minimatch.Minimatch\n\nfunction alphasorti (a, b) {\n return a.toLowerCase().localeCompare(b.toLowerCase())\n}\n\nfunction alphasort (a, b) {\n return a.localeCompare(b)\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\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\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(self.nocase ? alphasorti : 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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokit = void 0;\nconst rest_1 = require(\"@octokit/rest\");\nconst config_1 = require(\"./config\");\nconst getOctokit = async () => {\n const config = await config_1.getConfig();\n return new rest_1.Octokit({\n auth: config.PAT || process.env.GH_PAT || process.env.GITHUB_TOKEN,\n userAgent: config[\"user-agent\"] || process.env.USER_AGENT || \"KojBot\",\n });\n};\nexports.getOctokit = getOctokit;\n//# sourceMappingURL=github.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n\n return \"\";\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\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) { return registered.orig })\n .indexOf(method)\n\n if (index === -1) {\n return\n }\n\n state.registry[name].splice(index, 1)\n}\n","module.exports = require(\"tty\");","'use strict'\n// This is adapted from https://github.com/normalize/mz\n// Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors\nconst u = require('universalify').fromCallback\nconst fs = require('graceful-fs')\n\nconst api = [\n 'access',\n 'appendFile',\n 'chmod',\n 'chown',\n 'close',\n 'copyFile',\n 'fchmod',\n 'fchown',\n 'fdatasync',\n 'fstat',\n 'fsync',\n 'ftruncate',\n 'futimes',\n 'lchmod',\n 'lchown',\n 'link',\n 'lstat',\n 'mkdir',\n 'mkdtemp',\n 'open',\n 'opendir',\n 'readdir',\n 'readFile',\n 'readlink',\n 'realpath',\n 'rename',\n 'rmdir',\n 'stat',\n 'symlink',\n 'truncate',\n 'unlink',\n 'utimes',\n 'writeFile'\n].filter(key => {\n // Some commands are not available on some systems. Ex:\n // fs.opendir was added in Node.js v12.12.0\n // fs.lchown is not available on at least some Linux\n return typeof fs[key] === 'function'\n})\n\n// Export all keys:\nObject.keys(fs).forEach(key => {\n if (key === 'promises') {\n // fs.promises is a getter property that triggers ExperimentalWarning\n // Don't re-export it here, the getter is defined in \"lib/index.js\"\n return\n }\n exports[key] = fs[key]\n})\n\n// Universalify async methods:\napi.forEach(method => {\n exports[method] = u(fs[method])\n})\n\n// We differ from mz/fs in that we still ship the old, broken, fs.exists()\n// since we are a drop-in replacement for the native module\nexports.exists = function (filename, callback) {\n if (typeof callback === 'function') {\n return fs.exists(filename, callback)\n }\n return new Promise(resolve => {\n return fs.exists(filename, resolve)\n })\n}\n\n// fs.read(), fs.write(), & fs.writev() need special treatment due to multiple callback args\n\nexports.read = function (fd, buffer, offset, length, position, callback) {\n if (typeof callback === 'function') {\n return fs.read(fd, buffer, offset, length, position, callback)\n }\n return new Promise((resolve, reject) => {\n fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => {\n if (err) return reject(err)\n resolve({ bytesRead, buffer })\n })\n })\n}\n\n// Function signature can be\n// fs.write(fd, buffer[, offset[, length[, position]]], callback)\n// OR\n// fs.write(fd, string[, position[, encoding]], callback)\n// We need to handle both cases, so we use ...args\nexports.write = function (fd, buffer, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.write(fd, buffer, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.write(fd, buffer, ...args, (err, bytesWritten, buffer) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffer })\n })\n })\n}\n\n// fs.writev only available in Node v12.9.0+\nif (typeof fs.writev === 'function') {\n // Function signature is\n // s.writev(fd, buffers[, position], callback)\n // We need to handle the optional arg, so we use ...args\n exports.writev = function (fd, buffers, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.writev(fd, buffers, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.writev(fd, buffers, ...args, (err, bytesWritten, buffers) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffers })\n })\n })\n }\n}\n\n// fs.realpath.native only available in Node v9.2+\nif (typeof fs.realpath.native === 'function') {\n exports.realpath.native = u(fs.realpath.native)\n}\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):((e=\"undefined\"!=typeof globalThis?globalThis:e||self).prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.html=t())}(this,(function(){\"use strict\";var e=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function t(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==t&&n.path)}},n.exports),n.exports}var n=t((function(e,t){function n(e){return t.$0<=e&&e<=t.$9}\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0}),t.$EOF=0,t.$BSPACE=8,t.$TAB=9,t.$LF=10,t.$VTAB=11,t.$FF=12,t.$CR=13,t.$SPACE=32,t.$BANG=33,t.$DQ=34,t.$HASH=35,t.$$=36,t.$PERCENT=37,t.$AMPERSAND=38,t.$SQ=39,t.$LPAREN=40,t.$RPAREN=41,t.$STAR=42,t.$PLUS=43,t.$COMMA=44,t.$MINUS=45,t.$PERIOD=46,t.$SLASH=47,t.$COLON=58,t.$SEMICOLON=59,t.$LT=60,t.$EQ=61,t.$GT=62,t.$QUESTION=63,t.$0=48,t.$7=55,t.$9=57,t.$A=65,t.$E=69,t.$F=70,t.$X=88,t.$Z=90,t.$LBRACKET=91,t.$BACKSLASH=92,t.$RBRACKET=93,t.$CARET=94,t.$_=95,t.$a=97,t.$b=98,t.$e=101,t.$f=102,t.$n=110,t.$r=114,t.$t=116,t.$u=117,t.$v=118,t.$x=120,t.$z=122,t.$LBRACE=123,t.$BAR=124,t.$RBRACE=125,t.$NBSP=160,t.$PIPE=124,t.$TILDA=126,t.$AT=64,t.$BT=96,t.isWhitespace=function(e){return e>=t.$TAB&&e<=t.$SPACE||e==t.$NBSP},t.isDigit=n,t.isAsciiLetter=function(e){return e>=t.$a&&e<=t.$z||e>=t.$A&&e<=t.$Z},t.isAsciiHexDigit=function(e){return e>=t.$a&&e<=t.$f||e>=t.$A&&e<=t.$F||n(e)},t.isNewLine=function(e){return e===t.$LF||e===t.$CR},t.isOctalDigit=function(e){return t.$0<=e&&e<=t.$7}})),r=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});class n{constructor(e,t,n){this.filePath=e,this.name=t,this.members=n}assertNoMembers(){if(this.members.length)throw new Error(\"Illegal state: symbol without members expected, but got \".concat(JSON.stringify(this),\".\"))}}t.StaticSymbol=n;t.StaticSymbolCache=class{constructor(){this.cache=new Map}get(e,t,r){const s=(r=r||[]).length?\".\".concat(r.join(\".\")):\"\",i='\"'.concat(e,'\".').concat(t).concat(s);let o=this.cache.get(i);return o||(o=new n(e,t,r),this.cache.set(i,o)),o}}})),s=t((function(t,n){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(n,\"__esModule\",{value:!0});const r=/-+([a-z0-9])/g;function s(e,t,n){const r=e.indexOf(t);return-1==r?n:[e.slice(0,r).trim(),e.slice(r+1).trim()]}function i(e,t,n){return Array.isArray(e)?t.visitArray(e,n):\"object\"==typeof(r=e)&&null!==r&&Object.getPrototypeOf(r)===u?t.visitStringMap(e,n):null==e||\"string\"==typeof e||\"number\"==typeof e||\"boolean\"==typeof e?t.visitPrimitive(e,n):t.visitOther(e,n);var r}n.dashCaseToCamelCase=function(e){return e.replace(r,((...e)=>e[1].toUpperCase()))},n.splitAtColon=function(e,t){return s(e,\":\",t)},n.splitAtPeriod=function(e,t){return s(e,\".\",t)},n.visitValue=i,n.isDefined=function(e){return null!=e},n.noUndefined=function(e){return void 0===e?null:e};n.ValueTransformer=class{visitArray(e,t){return e.map((e=>i(e,this,t)))}visitStringMap(e,t){const n={};return Object.keys(e).forEach((r=>{n[r]=i(e[r],this,t)})),n}visitPrimitive(e,t){return e}visitOther(e,t){return e}},n.SyncAsync={assertSync:e=>{if(c(e))throw new Error(\"Illegal state: value cannot be a promise\");return e},then:(e,t)=>c(e)?e.then(t):t(e),all:e=>e.some(c)?Promise.all(e):e},n.error=function(e){throw new Error(\"Internal Error: \".concat(e))},n.syntaxError=function(e,t){const n=Error(e);return n[o]=!0,t&&(n[a]=t),n};const o=\"ngSyntaxError\",a=\"ngParseErrors\";n.isSyntaxError=function(e){return e[o]},n.getParseErrors=function(e){return e[a]||[]},n.escapeRegExp=function(e){return e.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g,\"\\\\$1\")};const u=Object.getPrototypeOf({});function c(e){return!!e&&\"function\"==typeof e.then}n.utf8Encode=function(e){let t=\"\";for(let n=0;n=55296&&r<=56319&&e.length>n+1){const t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(n++,r=(r-55296<<10)+t-56320+65536)}r<=127?t+=String.fromCharCode(r):r<=2047?t+=String.fromCharCode(r>>6&31|192,63&r|128):r<=65535?t+=String.fromCharCode(r>>12|224,r>>6&63|128,63&r|128):r<=2097151&&(t+=String.fromCharCode(r>>18&7|240,r>>12&63|128,r>>6&63|128,63&r|128))}return t},n.stringify=function e(t){if(\"string\"==typeof t)return t;if(t instanceof Array)return\"[\"+t.map(e).join(\", \")+\"]\";if(null==t)return\"\"+t;if(t.overriddenName)return\"\".concat(t.overriddenName);if(t.name)return\"\".concat(t.name);if(!t.toString)return\"object\";const n=t.toString();if(null==n)return\"\"+n;const r=n.indexOf(\"\\n\");return-1===r?n:n.substring(0,r)},n.resolveForwardRef=function(e){return\"function\"==typeof e&&e.hasOwnProperty(\"__forward_ref__\")?e():e},n.isPromise=c;n.Version=class{constructor(e){this.full=e;const t=e.split(\".\");this.major=t[0],this.minor=t[1],this.patch=t.slice(2).join(\".\")}};const l=\"undefined\"!=typeof window&&window,p=\"undefined\"!=typeof self&&\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,D=void 0!==e&&e||l||p;n.global=D})),i=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});const n=/^(?:(?:\\[([^\\]]+)\\])|(?:\\(([^\\)]+)\\)))|(\\@[-\\w]+)$/;function i(e){return e.replace(/\\W/g,\"_\")}t.sanitizeIdentifier=i;let o=0;function a(e){if(!e||!e.reference)return null;const t=e.reference;if(t instanceof r.StaticSymbol)return t.name;if(t.__anonymousType)return t.__anonymousType;let n=s.stringify(t);return n.indexOf(\"(\")>=0?(n=\"anonymous_\".concat(o++),t.__anonymousType=n):n=i(n),n}var u;t.identifierName=a,t.identifierModuleUrl=function(e){const t=e.reference;return t instanceof r.StaticSymbol?t.filePath:\"./\".concat(s.stringify(t))},t.viewClassName=function(e,t){return\"View_\".concat(a({reference:e}),\"_\").concat(t)},t.rendererTypeName=function(e){return\"RenderType_\".concat(a({reference:e}))},t.hostViewClassName=function(e){return\"HostView_\".concat(a({reference:e}))},t.componentFactoryName=function(e){return\"\".concat(a({reference:e}),\"NgFactory\")},function(e){e[e.Pipe=0]=\"Pipe\",e[e.Directive=1]=\"Directive\",e[e.NgModule=2]=\"NgModule\",e[e.Injectable=3]=\"Injectable\"}(u=t.CompileSummaryKind||(t.CompileSummaryKind={})),t.tokenName=function(e){return null!=e.value?i(e.value):a(e.identifier)},t.tokenReference=function(e){return null!=e.identifier?e.identifier.reference:e.value};t.CompileStylesheetMetadata=class{constructor({moduleUrl:e,styles:t,styleUrls:n}={}){this.moduleUrl=e||null,this.styles=l(t),this.styleUrls=l(n)}};t.CompileTemplateMetadata=class{constructor({encapsulation:e,template:t,templateUrl:n,htmlAst:r,styles:s,styleUrls:i,externalStylesheets:o,animations:a,ngContentSelectors:u,interpolation:c,isInline:D,preserveWhitespaces:h}){if(this.encapsulation=e,this.template=t,this.templateUrl=n,this.htmlAst=r,this.styles=l(s),this.styleUrls=l(i),this.externalStylesheets=l(o),this.animations=a?p(a):[],this.ngContentSelectors=u||[],c&&2!=c.length)throw new Error(\"'interpolation' should have a start and an end symbol.\");this.interpolation=c,this.isInline=D,this.preserveWhitespaces=h}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};class c{static create({isHost:e,type:t,isComponent:r,selector:i,exportAs:o,changeDetection:a,inputs:u,outputs:l,host:p,providers:D,viewProviders:h,queries:d,guards:f,viewQueries:m,entryComponents:g,template:E,componentViewType:C,rendererType:T,componentFactory:y}){const S={},_={},b={};null!=p&&Object.keys(p).forEach((e=>{const t=p[e],r=e.match(n);null===r?b[e]=t:null!=r[1]?_[r[1]]=t:null!=r[2]&&(S[r[2]]=t)}));const F={};null!=u&&u.forEach((e=>{const t=s.splitAtColon(e,[e,e]);F[t[0]]=t[1]}));const A={};return null!=l&&l.forEach((e=>{const t=s.splitAtColon(e,[e,e]);A[t[0]]=t[1]})),new c({isHost:e,type:t,isComponent:!!r,selector:i,exportAs:o,changeDetection:a,inputs:F,outputs:A,hostListeners:S,hostProperties:_,hostAttributes:b,providers:D,viewProviders:h,queries:d,guards:f,viewQueries:m,entryComponents:g,template:E,componentViewType:C,rendererType:T,componentFactory:y})}constructor({isHost:e,type:t,isComponent:n,selector:r,exportAs:s,changeDetection:i,inputs:o,outputs:a,hostListeners:u,hostProperties:c,hostAttributes:p,providers:D,viewProviders:h,queries:d,guards:f,viewQueries:m,entryComponents:g,template:E,componentViewType:C,rendererType:T,componentFactory:y}){this.isHost=!!e,this.type=t,this.isComponent=n,this.selector=r,this.exportAs=s,this.changeDetection=i,this.inputs=o,this.outputs=a,this.hostListeners=u,this.hostProperties=c,this.hostAttributes=p,this.providers=l(D),this.viewProviders=l(h),this.queries=l(d),this.guards=f,this.viewQueries=l(m),this.entryComponents=l(g),this.template=E,this.componentViewType=C,this.rendererType=T,this.componentFactory=y}toSummary(){return{summaryKind:u.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}}t.CompileDirectiveMetadata=c;t.CompilePipeMetadata=class{constructor({type:e,name:t,pure:n}){this.type=e,this.name=t,this.pure=!!n}toSummary(){return{summaryKind:u.Pipe,type:this.type,name:this.name,pure:this.pure}}};t.CompileShallowModuleMetadata=class{};t.CompileNgModuleMetadata=class{constructor({type:e,providers:t,declaredDirectives:n,exportedDirectives:r,declaredPipes:s,exportedPipes:i,entryComponents:o,bootstrapComponents:a,importedModules:u,exportedModules:c,schemas:p,transitiveModule:D,id:h}){this.type=e||null,this.declaredDirectives=l(n),this.exportedDirectives=l(r),this.declaredPipes=l(s),this.exportedPipes=l(i),this.providers=l(t),this.entryComponents=l(o),this.bootstrapComponents=l(a),this.importedModules=l(u),this.exportedModules=l(c),this.schemas=l(p),this.id=h||null,this.transitiveModule=D||null}toSummary(){const e=this.transitiveModule;return{summaryKind:u.NgModule,type:this.type,entryComponents:e.entryComponents,providers:e.providers,modules:e.modules,exportedDirectives:e.exportedDirectives,exportedPipes:e.exportedPipes}}};function l(e){return e||[]}t.TransitiveCompileNgModuleMetadata=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(e,t){this.providers.push({provider:e,module:t})}addDirective(e){this.directivesSet.has(e.reference)||(this.directivesSet.add(e.reference),this.directives.push(e))}addExportedDirective(e){this.exportedDirectivesSet.has(e.reference)||(this.exportedDirectivesSet.add(e.reference),this.exportedDirectives.push(e))}addPipe(e){this.pipesSet.has(e.reference)||(this.pipesSet.add(e.reference),this.pipes.push(e))}addExportedPipe(e){this.exportedPipesSet.has(e.reference)||(this.exportedPipesSet.add(e.reference),this.exportedPipes.push(e))}addModule(e){this.modulesSet.has(e.reference)||(this.modulesSet.add(e.reference),this.modules.push(e))}addEntryComponent(e){this.entryComponentsSet.has(e.componentType)||(this.entryComponentsSet.add(e.componentType),this.entryComponents.push(e))}};function p(e){return e.reduce(((e,t)=>{const n=Array.isArray(t)?p(t):t;return e.concat(n)}),[])}function D(e){return e.replace(/(\\w+:\\/\\/[\\w:-]+)?(\\/+)?/,\"ng:///\")}t.ProviderMeta=class{constructor(e,{useClass:t,useValue:n,useExisting:r,useFactory:s,deps:i,multi:o}){this.token=e,this.useClass=t||null,this.useValue=n,this.useExisting=r,this.useFactory=s||null,this.dependencies=i||null,this.multi=!!o}},t.flatten=p,t.templateSourceUrl=function(e,t,n){let s;return s=n.isInline?t.type.reference instanceof r.StaticSymbol?\"\".concat(t.type.reference.filePath,\".\").concat(t.type.reference.name,\".html\"):\"\".concat(a(e),\"/\").concat(a(t.type),\".html\"):n.templateUrl,t.type.reference instanceof r.StaticSymbol?s:D(s)},t.sharedStylesheetJitUrl=function(e,t){const n=e.moduleUrl.split(/\\/\\\\/g),r=n[n.length-1];return D(\"css/\".concat(t).concat(r,\".ngstyle.js\"))},t.ngModuleJitUrl=function(e){return D(\"\".concat(a(e.type),\"/module.ngfactory.js\"))},t.templateJitUrl=function(e,t){return D(\"\".concat(a(e),\"/\").concat(a(t.type),\".ngfactory.js\"))}})),o=t((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nclass r{constructor(e,t,n,r){this.file=e,this.offset=t,this.line=n,this.col=r}toString(){return null!=this.offset?\"\".concat(this.file.url,\"@\").concat(this.line,\":\").concat(this.col):this.file.url}moveBy(e){const t=this.file.content,s=t.length;let i=this.offset,o=this.line,a=this.col;for(;i>0&&e<0;){i--,e++;if(t.charCodeAt(i)==n.$LF){o--;const e=t.substr(0,i-1).lastIndexOf(String.fromCharCode(n.$LF));a=e>0?i-e:i}else a--}for(;i0;){const r=t.charCodeAt(i);i++,e--,r==n.$LF?(o++,a=0):a++}return new r(this.file,i,o,a)}getContext(e,t){const n=this.file.content;let r=this.offset;if(null!=r){r>n.length-1&&(r=n.length-1);let s=r,i=0,o=0;for(;i0&&(r--,i++,\"\\n\"!=n[r]||++o!=t););for(i=0,o=0;i]\").concat(e.after,'\")'):this.msg}toString(){const e=this.span.details?\", \".concat(this.span.details):\"\";return\"\".concat(this.contextualMessage(),\": \").concat(this.span.start).concat(e)}},t.typeSourceSpan=function(e,t){const n=i.identifierModuleUrl(t),a=null!=n?\"in \".concat(e,\" \").concat(i.identifierName(t),\" in \").concat(n):\"in \".concat(e,\" \").concat(i.identifierName(t)),u=new s(\"\",a);return new o(new r(u,-1,-1,-1),new r(u,-1,-1,-1))},t.r3JitTypeSourceSpan=function(e,t,n){const i=\"in \".concat(e,\" \").concat(t,\" in \").concat(n),a=new s(\"\",i);return new o(new r(a,-1,-1,-1),new r(a,-1,-1,-1))}})),a=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function u(e){return{type:\"concat\",parts:e}}function c(e){return{type:\"indent\",contents:e}}function l(e,t){return{type:\"align\",contents:t,n:e}}function p(e,t){return{type:\"group\",id:(t=t||{}).id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}const D={type:\"break-parent\"},h=u([{type:\"line\",hard:!0},D]),d=u([{type:\"line\",hard:!0,literal:!0},D]);var f={concat:u,join:function(e,t){const n=[];for(let r=0;r0){for(let e=0;e\"string\"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(t,e?void 0:\"g\")})(),\"\"):e;const g=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var E=g,C=g;E.default=C;const T=e=>{if(\"string\"!=typeof(e=e.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\" \"))||0===e.length)return 0;e=m(e);let t=0;for(let n=0;n=127&&r<=159||(r>=768&&r<=879||(r>65535&&n++,t+=E(r)?2:1))}return t};var y=T,S=T;y.default=S;function _(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var b=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{};function F(){throw new Error(\"setTimeout has not been defined\")}function A(){throw new Error(\"clearTimeout has not been defined\")}var v=F,w=A;function k(e){if(v===setTimeout)return setTimeout(e,0);if((v===F||!v)&&setTimeout)return v=setTimeout,setTimeout(e,0);try{return v(e,0)}catch(t){try{return v.call(null,e,0)}catch(t){return v.call(this,e,0)}}}\"function\"==typeof b.setTimeout&&(v=setTimeout),\"function\"==typeof b.clearTimeout&&(w=clearTimeout);var N,x=[],O=!1,R=-1;function P(){O&&N&&(O=!1,N.length?x=N.concat(x):R=-1,x.length&&L())}function L(){if(!O){var e=k(P);O=!0;for(var t=x.length;t;){for(N=x,x=[];++R1)for(var n=1;nconsole.error(\"SEMVER\",...e):()=>{};var Y={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},J=t((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n}=Y,r=(t=e.exports={}).re=[],s=t.src=[],i=t.t={};let o=0;const a=(e,t,n)=>{const a=o++;Q(a,t),i[e]=a,s[a]=t,r[a]=new RegExp(t,n?\"g\":void 0)};a(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),a(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),a(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),a(\"MAINVERSION\",\"(\".concat(s[i.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(s[i.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(s[i.NUMERICIDENTIFIER],\")\")),a(\"MAINVERSIONLOOSE\",\"(\".concat(s[i.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(s[i.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(s[i.NUMERICIDENTIFIERLOOSE],\")\")),a(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(s[i.NUMERICIDENTIFIER],\"|\").concat(s[i.NONNUMERICIDENTIFIER],\")\")),a(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(s[i.NUMERICIDENTIFIERLOOSE],\"|\").concat(s[i.NONNUMERICIDENTIFIER],\")\")),a(\"PRERELEASE\",\"(?:-(\".concat(s[i.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(s[i.PRERELEASEIDENTIFIER],\")*))\")),a(\"PRERELEASELOOSE\",\"(?:-?(\".concat(s[i.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(s[i.PRERELEASEIDENTIFIERLOOSE],\")*))\")),a(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),a(\"BUILD\",\"(?:\\\\+(\".concat(s[i.BUILDIDENTIFIER],\"(?:\\\\.\").concat(s[i.BUILDIDENTIFIER],\")*))\")),a(\"FULLPLAIN\",\"v?\".concat(s[i.MAINVERSION]).concat(s[i.PRERELEASE],\"?\").concat(s[i.BUILD],\"?\")),a(\"FULL\",\"^\".concat(s[i.FULLPLAIN],\"$\")),a(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(s[i.MAINVERSIONLOOSE]).concat(s[i.PRERELEASELOOSE],\"?\").concat(s[i.BUILD],\"?\")),a(\"LOOSE\",\"^\".concat(s[i.LOOSEPLAIN],\"$\")),a(\"GTLT\",\"((?:<|>)?=?)\"),a(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(s[i.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),a(\"XRANGEIDENTIFIER\",\"\".concat(s[i.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),a(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(s[i.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(s[i.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(s[i.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(s[i.PRERELEASE],\")?\").concat(s[i.BUILD],\"?\")+\")?)?\"),a(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(s[i.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(s[i.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(s[i.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(s[i.PRERELEASELOOSE],\")?\").concat(s[i.BUILD],\"?\")+\")?)?\"),a(\"XRANGE\",\"^\".concat(s[i.GTLT],\"\\\\s*\").concat(s[i.XRANGEPLAIN],\"$\")),a(\"XRANGELOOSE\",\"^\".concat(s[i.GTLT],\"\\\\s*\").concat(s[i.XRANGEPLAINLOOSE],\"$\")),a(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(n,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(n,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(n,\"}))?\")+\"(?:$|[^\\\\d])\"),a(\"COERCERTL\",s[i.COERCE],!0),a(\"LONETILDE\",\"(?:~>?)\"),a(\"TILDETRIM\",\"(\\\\s*)\".concat(s[i.LONETILDE],\"\\\\s+\"),!0),t.tildeTrimReplace=\"$1~\",a(\"TILDE\",\"^\".concat(s[i.LONETILDE]).concat(s[i.XRANGEPLAIN],\"$\")),a(\"TILDELOOSE\",\"^\".concat(s[i.LONETILDE]).concat(s[i.XRANGEPLAINLOOSE],\"$\")),a(\"LONECARET\",\"(?:\\\\^)\"),a(\"CARETTRIM\",\"(\\\\s*)\".concat(s[i.LONECARET],\"\\\\s+\"),!0),t.caretTrimReplace=\"$1^\",a(\"CARET\",\"^\".concat(s[i.LONECARET]).concat(s[i.XRANGEPLAIN],\"$\")),a(\"CARETLOOSE\",\"^\".concat(s[i.LONECARET]).concat(s[i.XRANGEPLAINLOOSE],\"$\")),a(\"COMPARATORLOOSE\",\"^\".concat(s[i.GTLT],\"\\\\s*(\").concat(s[i.LOOSEPLAIN],\")$|^$\")),a(\"COMPARATOR\",\"^\".concat(s[i.GTLT],\"\\\\s*(\").concat(s[i.FULLPLAIN],\")$|^$\")),a(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(s[i.GTLT],\"\\\\s*(\").concat(s[i.LOOSEPLAIN],\"|\").concat(s[i.XRANGEPLAIN],\")\"),!0),t.comparatorTrimReplace=\"$1$2$3\",a(\"HYPHENRANGE\",\"^\\\\s*(\".concat(s[i.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(s[i.XRANGEPLAIN],\")\")+\"\\\\s*$\"),a(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(s[i.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(s[i.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),a(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),a(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),a(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")}));const Z=/^[0-9]+$/,K=(e,t)=>{const n=Z.test(e),r=Z.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:eK(t,e)};const{MAX_LENGTH:te,MAX_SAFE_INTEGER:ne}=Y,{re:re,t:se}=J,{compareIdentifiers:ie}=ee;class oe{constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof oe){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \".concat(e));if(e.length>te)throw new TypeError(\"version is longer than \".concat(te,\" characters\"));Q(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?re[se.LOOSE]:re[se.FULL]);if(!n)throw new TypeError(\"Invalid Version: \".concat(e));if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>ne||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>ne||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>ne||this.patch<0)throw new TypeError(\"Invalid patch version\");n[4]?this.prerelease=n[4].split(\".\").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)\"number\"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(\"invalid increment argument: \".concat(e))}return this.format(),this.raw=this.version,this}}var ae=oe;var ue=(e,t,n)=>new ae(e,n).compare(new ae(t,n));var ce=(e,t,n)=>ue(e,t,n)<0;var le=(e,t,n)=>ue(e,t,n)>=0,pe=\"2.2.0\",De=t((function(e,t){function n(){for(var e=[],t=0;t\"string\"==typeof e||\"function\"==typeof e,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:_e,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin\",cliCategory:Te},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:_e,description:Ce(me()),exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin-search-dir\",cliCategory:Te},printWidth:{since:\"0.0.0\",category:_e,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:be,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:Ce(fe()),cliCategory:ye},rangeStart:{since:\"1.4.0\",category:be,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:Ce(de()),cliCategory:ye},requirePragma:{since:\"1.7.0\",category:be,type:\"boolean\",default:!1,description:Ce(he()),cliCategory:Se},tabWidth:{type:\"int\",category:_e,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:_e,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:_e,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};const Ae={compare:ue,lt:ce,gte:le},ve=pe,we={CATEGORY_CONFIG:Te,CATEGORY_EDITOR:ye,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:Se,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:_e,CATEGORY_SPECIAL:be,options:Fe}.options;var ke={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:n=!1,showInternal:r=!1}={}){const s=ve.split(\"-\",1)[0],i=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(a),o=((e,t)=>Object.entries(e).map((([e,n])=>Object.assign({[t]:e},n))))(Object.assign({},...e.map((({options:e})=>e)),we),\"name\").filter((e=>a(e)&&u(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(s[n]=e[n]);return s}(e,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(a).sort(((e,t)=>Ae.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>a(e)&&u(e))),\"parser\"===t.name&&function(e,t,n){const r=new Set(e.choices.map((e=>e.value)));for(const s of t)if(s.parsers)for(const t of s.parsers)if(!r.has(t)){r.add(t);const i=n.find((e=>e.parsers&&e.parsers[t]));let o=s.name;i&&i.name&&(o+=\" (plugin: \".concat(i.name,\")\")),e.choices.push({value:t,description:o})}}(t,i,e));const n=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,n)=>(e[n.name]=n.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:n})}));return{languages:i,options:o};function a(e){return t||!(\"since\"in e)||e.since&&Ae.gte(s,e.since)}function u(e){return n||!(\"deprecated\"in e)||e.deprecated&&Ae.lt(s,e.deprecated)}}};const{getSupportInfo:Ne}=ke,xe=/[^\\x20-\\x7F]/;function Oe(e){return(t,n,r)=>{const s=r&&r.backwards;if(!1===n)return!1;const{length:i}=t;let o=n;for(;o>=0&&o(n.match(o.regex)||[]).length?o.quote:i.quote}return a}function Xe(e,t,n){const r='\"'===t?\"'\":'\"',s=e.replace(/\\\\([\\S\\s])|([\"'])/g,((e,s,i)=>s===r?s:i===t?\"\\\\\"+i:i||(n&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(s)?s:\"\\\\\"+s)));return t+s+t}function ze(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,\"JSXText\"===e.type&&(t.printed=!0)}var We={inferParserByLanguage:function(e,t){const{languages:n}=Ne({plugins:t.plugins}),r=n.find((({name:t})=>t.toLowerCase()===e))||n.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||n.find((({extensions:t})=>Array.isArray(t)&&t.includes(\".\".concat(e))));return r&&r.parsers[0]},replaceEndOfLineWith:function(e,t){const n=[];for(const r of e.split(\"\\n\"))0!==n.length&&n.push(t),n.push(r);return n},getStringWidth:function(e){return e?xe.test(e)?y(e):e.length:0},getMaxContinuousCount:function(e,t){const n=e.match(new RegExp(\"(\".concat(a(t),\")+\"),\"g\"));return null===n?0:n.reduce(((e,n)=>Math.max(e,n.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const n=e.match(new RegExp(\"(\".concat(a(t),\")+\"),\"g\"));if(null===n)return 0;const r=new Map;let s=0;for(const e of n){const n=e.length/t.length;r.set(n,!0),n>s&&(s=n)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ge,getNextNonSpaceNonCommentCharacterIndex:Ve,getNextNonSpaceNonCommentCharacter:function(e,t,n){return e.charAt(Ve(e,t,n))},skip:Oe,skipWhitespace:Re,skipSpaces:Pe,skipToLineEnd:Le,skipEverythingButNewLine:Be,skipInlineComment:Ie,skipTrailingComment:qe,skipNewline:$e,isNextLineEmptyAfterIndex:Ue,isNextLineEmpty:function(e,t,n){return Ue(e,n(t))},isPreviousLineEmpty:function(e,t,n){let r=n(t)-1;return r=Pe(e,r,{backwards:!0}),r=$e(e,r,{backwards:!0}),r=Pe(e,r,{backwards:!0}),r!==$e(e,r,{backwards:!0})},hasNewline:Me,hasNewlineInRange:function(e,t,n){for(let r=t;r=0?\"\\n\"===e.charAt(t+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(e){switch(e){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(e,t){let n;if(\"\\n\"===t)n=/\\n/g;else if(\"\\r\"===t)n=/\\r/g;else{if(\"\\r\\n\"!==t)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(t),\".\"));n=/\\r\\n/g}const r=e.match(n);return r?r.length:0},normalizeEndOfLine:function(e){return e.replace(/\\r\\n?/g,\"\\n\")}};const{getStringWidth:Ye}=We,{convertEndOfLineToChars:Je}=Qe,{concat:Ze,fill:Ke,cursor:et}=f;let tt;function nt(e,t){return st(e,{type:\"indent\"},t)}function rt(e,t,n){if(t===-1/0)return e.root||{value:\"\",length:0,queue:[]};if(t<0)return st(e,{type:\"dedent\"},n);if(!t)return e;if(\"root\"===t.type)return Object.assign({},e,{root:e});return st(e,{type:\"string\"==typeof t?\"stringAlign\":\"numberAlign\",n:t},n)}function st(e,t,n){const r=\"dedent\"===t.type?e.queue.slice(0,-1):e.queue.concat(t);let s=\"\",i=0,o=0,a=0;for(const e of r)switch(e.type){case\"indent\":l(),n.useTabs?u(1):c(n.tabWidth);break;case\"stringAlign\":l(),s+=e.n,i+=e.n.length;break;case\"numberAlign\":o+=1,a+=e.n;break;default:throw new Error(\"Unexpected type '\".concat(e.type,\"'\"))}return p(),Object.assign({},e,{value:s,length:i,queue:r});function u(e){s+=\"\\t\".repeat(e),i+=n.tabWidth*e}function c(e){s+=\" \".repeat(e),i+=e}function l(){n.useTabs?function(){o>0&&u(o);D()}():p()}function p(){a>0&&c(a),D()}function D(){o=0,a=0}}function it(e){if(0===e.length)return 0;let t=0;for(;e.length>0&&\"string\"==typeof e[e.length-1]&&e[e.length-1].match(/^[\\t ]*$/);)t+=e.pop().length;if(e.length&&\"string\"==typeof e[e.length-1]){const n=e[e.length-1].replace(/[\\t ]*$/,\"\");t+=e[e.length-1].length-n.length,e[e.length-1]=n}return t}function ot(e,t,n,r,s){let i=t.length;const o=[e],a=[];for(;n>=0;){if(0===o.length){if(0===i)return!0;o.push(t[i-1]),i--;continue}const[e,u,c]=o.pop();if(\"string\"==typeof c)a.push(c),n-=Ye(c);else switch(c.type){case\"concat\":for(let t=c.parts.length-1;t>=0;t--)o.push([e,u,c.parts[t]]);break;case\"indent\":o.push([nt(e,r),u,c.contents]);break;case\"align\":o.push([rt(e,c.n,r),u,c.contents]);break;case\"trim\":n+=it(a);break;case\"group\":if(s&&c.break)return!1;o.push([e,c.break?1:u,c.contents]),c.id&&(tt[c.id]=o[o.length-1][1]);break;case\"fill\":for(let t=c.parts.length-1;t>=0;t--)o.push([e,u,c.parts[t]]);break;case\"if-break\":{const t=c.groupId?tt[c.groupId]:u;1===t&&c.breakContents&&o.push([e,u,c.breakContents]),2===t&&c.flatContents&&o.push([e,u,c.flatContents]);break}case\"line\":switch(u){case 2:if(!c.hard){c.soft||(a.push(\" \"),n-=1);break}return!0;case 1:return!0}}}return!1}var at={printDocToString:function(e,t){tt={};const n=t.printWidth,r=Je(t.endOfLine);let s=0;const i=[[{value:\"\",length:0,queue:[]},1,e]],o=[];let a=!1,u=[];for(;0!==i.length;){const[e,c,l]=i.pop();if(\"string\"==typeof l){const e=\"\\n\"!==r&&l.includes(\"\\n\")?l.replace(/\\n/g,r):l;o.push(e),s+=Ye(e)}else switch(l.type){case\"cursor\":o.push(et.placeholder);break;case\"concat\":for(let t=l.parts.length-1;t>=0;t--)i.push([e,c,l.parts[t]]);break;case\"indent\":i.push([nt(e,t),c,l.contents]);break;case\"align\":i.push([rt(e,l.n,t),c,l.contents]);break;case\"trim\":s-=it(o);break;case\"group\":switch(c){case 2:if(!a){i.push([e,l.break?1:2,l.contents]);break}case 1:{a=!1;const r=[e,2,l.contents],o=n-s;if(!l.break&&ot(r,i,o,t))i.push(r);else if(l.expandedStates){const n=l.expandedStates[l.expandedStates.length-1];if(l.break){i.push([e,1,n]);break}for(let r=1;r=l.expandedStates.length){i.push([e,1,n]);break}{const n=[e,2,l.expandedStates[r]];if(ot(n,i,o,t)){i.push(n);break}}}}else i.push([e,1,l.contents]);break}}l.id&&(tt[l.id]=i[i.length-1][1]);break;case\"fill\":{const r=n-s,{parts:o}=l;if(0===o.length)break;const[a,u]=o,p=[e,2,a],D=[e,1,a],h=ot(p,[],r,t,!0);if(1===o.length){h?i.push(p):i.push(D);break}const d=[e,2,u],f=[e,1,u];if(2===o.length){h?(i.push(d),i.push(p)):(i.push(f),i.push(D));break}o.splice(0,2);const m=[e,c,Ke(o)],g=o[0];ot([e,2,Ze([a,u,g])],[],r,t,!0)?(i.push(m),i.push(d),i.push(p)):h?(i.push(m),i.push(f),i.push(p)):(i.push(m),i.push(f),i.push(D));break}case\"if-break\":{const t=l.groupId?tt[l.groupId]:c;1===t&&l.breakContents&&i.push([e,c,l.breakContents]),2===t&&l.flatContents&&i.push([e,c,l.flatContents]);break}case\"line-suffix\":u.push([e,c,l.contents]);break;case\"line-suffix-boundary\":u.length>0&&i.push([e,c,{type:\"line\",hard:!0}]);break;case\"line\":switch(c){case 2:if(!l.hard){l.soft||(o.push(\" \"),s+=1);break}a=!0;case 1:if(u.length){i.push([e,c,l]),i.push(...u.reverse()),u=[];break}l.literal?e.root?(o.push(r,e.root.value),s=e.root.length):(o.push(r),s=0):(s-=it(o),o.push(r+e.value),s=e.length)}}0===i.length&&u.length&&(i.push(...u.reverse()),u=[])}const c=o.indexOf(et.placeholder);if(-1!==c){const e=o.indexOf(et.placeholder,c+1),t=o.slice(0,c).join(\"\"),n=o.slice(c+1,e).join(\"\");return{formatted:t+n+o.slice(e+1).join(\"\"),cursorNodeStart:t.length,cursorNodeText:n}}return{formatted:o.join(\"\")}}};const{literalline:ut,concat:ct}=f,lt={};function pt(e,t,n,r){const s=[e];for(;0!==s.length;){const e=s.pop();if(e!==lt){if(n&&s.push(e,lt),!t||!1!==t(e))if(\"concat\"===e.type||\"fill\"===e.type)for(let t=e.parts.length-1;t>=0;--t)s.push(e.parts[t]);else if(\"if-break\"===e.type)e.flatContents&&s.push(e.flatContents),e.breakContents&&s.push(e.breakContents);else if(\"group\"===e.type&&e.expandedStates)if(r)for(let t=e.expandedStates.length-1;t>=0;--t)s.push(e.expandedStates[t]);else s.push(e.contents);else e.contents&&s.push(e.contents)}else n(s.pop())}}function Dt(e,t){if(\"concat\"===e.type||\"fill\"===e.type){const n=e.parts.map((e=>Dt(e,t)));return t(Object.assign({},e,{parts:n}))}if(\"if-break\"===e.type){const n=e.breakContents&&Dt(e.breakContents,t),r=e.flatContents&&Dt(e.flatContents,t);return t(Object.assign({},e,{breakContents:n,flatContents:r}))}if(e.contents){const n=Dt(e.contents,t);return t(Object.assign({},e,{contents:n}))}return t(e)}function ht(e,t,n){let r=n,s=!1;return pt(e,(function(e){const n=t(e);if(void 0!==n&&(s=!0,r=n),s)return!1})),r}function dt(e){return\"string\"!=typeof e&&(\"line\"===e.type||void 0)}function ft(e){return!(\"group\"!==e.type||!e.break)||(!(\"line\"!==e.type||!e.hard)||(\"break-parent\"===e.type||void 0))}function mt(e){if(e.length>0){const t=e[e.length-1];t.expandedStates||(t.break=!0)}return null}function gt(e){return\"line\"!==e.type||e.hard?\"if-break\"===e.type?e.flatContents||\"\":e:e.soft?\"\":\" \"}function Et(e){const t=[],n=e.filter(Boolean);for(;0!==n.length;){const e=n.shift();e&&(\"concat\"!==e.type?0===t.length||\"string\"!=typeof t[t.length-1]||\"string\"!=typeof e?t.push(e):t[t.length-1]+=e:n.unshift(...e.parts))}return t}function Ct(e){if(\"concat\"===e.type){const t=[];for(let n=0;n0&&!t;r--)t=n[r-1];return\"group\"===t.type&&(n=t.contents.parts),n}(t):t.parts,s=r[r.length-1];if(\"concat\"===s.type)return 2===s.parts.length&&s.parts[0].hard&&\"break-parent\"===s.parts[1].type?{type:\"concat\",parts:r.slice(0,-1)}:{type:\"concat\",parts:t.parts.slice(0,-1).concat(e(s))}}return t},normalizeParts:Et,normalizeDoc:function(e){return Dt(e,(e=>e.parts?Object.assign({},e,{parts:Et(e.parts)}):e))},replaceNewlinesWithLiterallines:function(e){return Dt(e,(e=>\"string\"==typeof e&&e.includes(\"\\n\")?ct(e.split(/(\\n)/g).map(((e,t)=>t%2==0?e:ut))):e))}},debug:{printDocToDebug:e=>Tt(Ct(e))}};const{builders:{hardline:St,concat:_t,markAsRoot:bt}}=yt,Ft={\"---\":\"yaml\",\"+++\":\"toml\"};var At={parse:function(e){const t=Object.keys(Ft).map(a).join(\"|\"),n=e.match(new RegExp(\"^(\".concat(t,\")([^\\\\n]*)\\\\n(?:([\\\\s\\\\S]*?)\\\\n)?\\\\1[^\\\\n\\\\S]*(\\\\n|$)\")));if(null===n)return{frontMatter:null,content:e};const[r,s,i,o]=n;let u=Ft[s];return\"toml\"!==u&&i&&i.trim()&&(u=i.trim()),{frontMatter:{type:\"front-matter\",lang:u,value:o,raw:r.replace(/\\n$/,\"\")},content:r.replace(/[^\\n]/g,\" \")+e.slice(r.length)}},print:function(e,t){if(\"yaml\"===e.lang){const n=e.value.trim(),r=n?t(n,{parser:\"yaml\"},{stripTrailingHardline:!0}):\"\";return bt(_t([\"---\",St,r,r?St:\"\",\"---\"]))}}};var vt=function(e,t){const n=new SyntaxError(e+\" (\"+t.start.line+\":\"+t.start.column+\")\");return n.loc=t,n},wt={\"*\":[\"accesskey\",\"autocapitalize\",\"autofocus\",\"class\",\"contenteditable\",\"dir\",\"draggable\",\"enterkeyhint\",\"hidden\",\"id\",\"inputmode\",\"is\",\"itemid\",\"itemprop\",\"itemref\",\"itemscope\",\"itemtype\",\"lang\",\"nonce\",\"slot\",\"spellcheck\",\"style\",\"tabindex\",\"title\",\"translate\"],a:[\"accesskey\",\"charset\",\"coords\",\"download\",\"href\",\"hreflang\",\"name\",\"ping\",\"referrerpolicy\",\"rel\",\"rev\",\"shape\",\"tabindex\",\"target\",\"type\"],abbr:[\"title\"],applet:[\"align\",\"alt\",\"archive\",\"code\",\"codebase\",\"height\",\"hspace\",\"name\",\"object\",\"vspace\",\"width\"],area:[\"accesskey\",\"alt\",\"coords\",\"download\",\"href\",\"hreflang\",\"nohref\",\"ping\",\"referrerpolicy\",\"rel\",\"shape\",\"tabindex\",\"target\",\"type\"],audio:[\"autoplay\",\"controls\",\"crossorigin\",\"loop\",\"muted\",\"preload\",\"src\"],base:[\"href\",\"target\"],basefont:[\"color\",\"face\",\"size\"],bdo:[\"dir\"],blockquote:[\"cite\"],body:[\"alink\",\"background\",\"bgcolor\",\"link\",\"text\",\"vlink\"],br:[\"clear\"],button:[\"accesskey\",\"autofocus\",\"disabled\",\"form\",\"formaction\",\"formenctype\",\"formmethod\",\"formnovalidate\",\"formtarget\",\"name\",\"tabindex\",\"type\",\"value\"],canvas:[\"height\",\"width\"],caption:[\"align\"],col:[\"align\",\"char\",\"charoff\",\"span\",\"valign\",\"width\"],colgroup:[\"align\",\"char\",\"charoff\",\"span\",\"valign\",\"width\"],data:[\"value\"],del:[\"cite\",\"datetime\"],details:[\"open\"],dfn:[\"title\"],dialog:[\"open\"],dir:[\"compact\"],div:[\"align\"],dl:[\"compact\"],embed:[\"height\",\"src\",\"type\",\"width\"],fieldset:[\"disabled\",\"form\",\"name\"],font:[\"color\",\"face\",\"size\"],form:[\"accept\",\"accept-charset\",\"action\",\"autocomplete\",\"enctype\",\"method\",\"name\",\"novalidate\",\"target\"],frame:[\"frameborder\",\"longdesc\",\"marginheight\",\"marginwidth\",\"name\",\"noresize\",\"scrolling\",\"src\"],frameset:[\"cols\",\"rows\"],h1:[\"align\"],h2:[\"align\"],h3:[\"align\"],h4:[\"align\"],h5:[\"align\"],h6:[\"align\"],head:[\"profile\"],hr:[\"align\",\"noshade\",\"size\",\"width\"],html:[\"manifest\",\"version\"],iframe:[\"align\",\"allow\",\"allowfullscreen\",\"allowpaymentrequest\",\"allowusermedia\",\"frameborder\",\"height\",\"loading\",\"longdesc\",\"marginheight\",\"marginwidth\",\"name\",\"referrerpolicy\",\"sandbox\",\"scrolling\",\"src\",\"srcdoc\",\"width\"],img:[\"align\",\"alt\",\"border\",\"crossorigin\",\"decoding\",\"height\",\"hspace\",\"ismap\",\"loading\",\"longdesc\",\"name\",\"referrerpolicy\",\"sizes\",\"src\",\"srcset\",\"usemap\",\"vspace\",\"width\"],input:[\"accept\",\"accesskey\",\"align\",\"alt\",\"autocomplete\",\"autofocus\",\"checked\",\"dirname\",\"disabled\",\"form\",\"formaction\",\"formenctype\",\"formmethod\",\"formnovalidate\",\"formtarget\",\"height\",\"ismap\",\"list\",\"max\",\"maxlength\",\"min\",\"minlength\",\"multiple\",\"name\",\"pattern\",\"placeholder\",\"readonly\",\"required\",\"size\",\"src\",\"step\",\"tabindex\",\"title\",\"type\",\"usemap\",\"value\",\"width\"],ins:[\"cite\",\"datetime\"],isindex:[\"prompt\"],label:[\"accesskey\",\"for\",\"form\"],legend:[\"accesskey\",\"align\"],li:[\"type\",\"value\"],link:[\"as\",\"charset\",\"color\",\"crossorigin\",\"disabled\",\"href\",\"hreflang\",\"imagesizes\",\"imagesrcset\",\"integrity\",\"media\",\"nonce\",\"referrerpolicy\",\"rel\",\"rev\",\"sizes\",\"target\",\"title\",\"type\"],map:[\"name\"],menu:[\"compact\"],meta:[\"charset\",\"content\",\"http-equiv\",\"name\",\"scheme\"],meter:[\"high\",\"low\",\"max\",\"min\",\"optimum\",\"value\"],object:[\"align\",\"archive\",\"border\",\"classid\",\"codebase\",\"codetype\",\"data\",\"declare\",\"form\",\"height\",\"hspace\",\"name\",\"standby\",\"tabindex\",\"type\",\"typemustmatch\",\"usemap\",\"vspace\",\"width\"],ol:[\"compact\",\"reversed\",\"start\",\"type\"],optgroup:[\"disabled\",\"label\"],option:[\"disabled\",\"label\",\"selected\",\"value\"],output:[\"for\",\"form\",\"name\"],p:[\"align\"],param:[\"name\",\"type\",\"value\",\"valuetype\"],pre:[\"width\"],progress:[\"max\",\"value\"],q:[\"cite\"],script:[\"async\",\"charset\",\"crossorigin\",\"defer\",\"integrity\",\"language\",\"nomodule\",\"nonce\",\"referrerpolicy\",\"src\",\"type\"],select:[\"autocomplete\",\"autofocus\",\"disabled\",\"form\",\"multiple\",\"name\",\"required\",\"size\",\"tabindex\"],slot:[\"name\"],source:[\"media\",\"sizes\",\"src\",\"srcset\",\"type\"],style:[\"media\",\"nonce\",\"title\",\"type\"],table:[\"align\",\"bgcolor\",\"border\",\"cellpadding\",\"cellspacing\",\"frame\",\"rules\",\"summary\",\"width\"],tbody:[\"align\",\"char\",\"charoff\",\"valign\"],td:[\"abbr\",\"align\",\"axis\",\"bgcolor\",\"char\",\"charoff\",\"colspan\",\"headers\",\"height\",\"nowrap\",\"rowspan\",\"scope\",\"valign\",\"width\"],textarea:[\"accesskey\",\"autocomplete\",\"autofocus\",\"cols\",\"dirname\",\"disabled\",\"form\",\"maxlength\",\"minlength\",\"name\",\"placeholder\",\"readonly\",\"required\",\"rows\",\"tabindex\",\"wrap\"],tfoot:[\"align\",\"char\",\"charoff\",\"valign\"],th:[\"abbr\",\"align\",\"axis\",\"bgcolor\",\"char\",\"charoff\",\"colspan\",\"headers\",\"height\",\"nowrap\",\"rowspan\",\"scope\",\"valign\",\"width\"],thead:[\"align\",\"char\",\"charoff\",\"valign\"],time:[\"datetime\"],tr:[\"align\",\"bgcolor\",\"char\",\"charoff\",\"valign\"],track:[\"default\",\"kind\",\"label\",\"src\",\"srclang\"],ul:[\"compact\",\"type\"],video:[\"autoplay\",\"controls\",\"crossorigin\",\"height\",\"loop\",\"muted\",\"playsinline\",\"poster\",\"preload\",\"src\",\"width\"]};const{inferParserByLanguage:kt,isFrontMatterNode:Nt}=We,{CSS_DISPLAY_TAGS:xt,CSS_DISPLAY_DEFAULT:Ot,CSS_WHITE_SPACE_TAGS:Rt,CSS_WHITE_SPACE_DEFAULT:Pt}={CSS_DISPLAY_TAGS:{area:\"none\",base:\"none\",basefont:\"none\",datalist:\"none\",head:\"none\",link:\"none\",meta:\"none\",noembed:\"none\",noframes:\"none\",param:\"block\",rp:\"none\",script:\"block\",source:\"block\",style:\"none\",template:\"inline\",track:\"block\",title:\"none\",html:\"block\",body:\"block\",address:\"block\",blockquote:\"block\",center:\"block\",div:\"block\",figure:\"block\",figcaption:\"block\",footer:\"block\",form:\"block\",header:\"block\",hr:\"block\",legend:\"block\",listing:\"block\",main:\"block\",p:\"block\",plaintext:\"block\",pre:\"block\",xmp:\"block\",slot:\"contents\",ruby:\"ruby\",rt:\"ruby-text\",article:\"block\",aside:\"block\",h1:\"block\",h2:\"block\",h3:\"block\",h4:\"block\",h5:\"block\",h6:\"block\",hgroup:\"block\",nav:\"block\",section:\"block\",dir:\"block\",dd:\"block\",dl:\"block\",dt:\"block\",ol:\"block\",ul:\"block\",li:\"list-item\",table:\"table\",caption:\"table-caption\",colgroup:\"table-column-group\",col:\"table-column\",thead:\"table-header-group\",tbody:\"table-row-group\",tfoot:\"table-footer-group\",tr:\"table-row\",td:\"table-cell\",th:\"table-cell\",fieldset:\"block\",button:\"inline-block\",details:\"block\",summary:\"block\",dialog:\"block\",meter:\"inline-block\",progress:\"inline-block\",object:\"inline-block\",video:\"inline-block\",audio:\"inline-block\",select:\"inline-block\",option:\"block\",optgroup:\"block\"},CSS_DISPLAY_DEFAULT:\"inline\",CSS_WHITE_SPACE_TAGS:{listing:\"pre\",plaintext:\"pre\",pre:\"pre\",xmp:\"pre\",nobr:\"nowrap\",table:\"initial\",textarea:\"pre-wrap\"},CSS_WHITE_SPACE_DEFAULT:\"normal\"},Lt=$t([\"a\",\"abbr\",\"acronym\",\"address\",\"applet\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"basefont\",\"bdi\",\"bdo\",\"bgsound\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"command\",\"content\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"image\",\"img\",\"input\",\"ins\",\"isindex\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"listing\",\"main\",\"map\",\"mark\",\"marquee\",\"math\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"multicol\",\"nav\",\"nextid\",\"nobr\",\"noembed\",\"noframes\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"plaintext\",\"pre\",\"progress\",\"q\",\"rb\",\"rbc\",\"rp\",\"rt\",\"rtc\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"shadow\",\"slot\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"svg\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"xmp\"]),Bt=function(e,t){const n=Object.create(null);for(const r of Object.keys(e))n[r]=t(e[r],r);return n}(wt,$t),It=new Set([\"\\t\",\"\\n\",\"\\f\",\"\\r\",\" \"]),qt=e=>e.replace(/[\\t\\n\\f\\r ]+$/,\"\");function $t(e){const t=Object.create(null);for(const n of e)t[n]=!0;return t}function Mt(e,t){return!(\"ieConditionalComment\"!==e.type||!e.lastChild||e.lastChild.isSelfClosing||e.lastChild.endSourceSpan)||(\"ieConditionalComment\"===e.type&&!e.complete||(!(!Zt(e)||!e.children.some((e=>\"text\"!==e.type&&\"interpolation\"!==e.type)))||!(!sn(e,t)||Gt(e)||\"interpolation\"===e.type)))}function Ut(e){if(\"attribute\"===e.type)return!1;if(!e.parent)return!1;if(\"number\"!=typeof e.index||0===e.index)return!1;return function(e){return\"comment\"===e.type&&\"prettier-ignore\"===e.value.trim()}(e.parent.children[e.index-1])}function Gt(e){return\"element\"===e.type&&(\"script\"===e.fullName||\"style\"===e.fullName||\"svg:style\"===e.fullName||Kt(e)&&(\"script\"===e.name||\"style\"===e.name))}function Vt(e){return en(e).startsWith(\"pre\")}function jt(e){return\"element\"===e.type&&0!==e.children.length&&([\"html\",\"head\",\"ul\",\"ol\",\"select\"].includes(e.name)||e.cssDisplay.startsWith(\"table\")&&\"table-cell\"!==e.cssDisplay)}function Ht(e){return Qt(e)||\"element\"===e.type&&\"br\"===e.fullName||Xt(e)}function Xt(e){return zt(e)&&Wt(e)}function zt(e){return e.hasLeadingSpaces&&(e.prev?e.prev.sourceSpan.end.linee.sourceSpan.end.line:\"root\"===e.parent.type||e.parent.endSourceSpan&&e.parent.endSourceSpan.start.line>e.sourceSpan.end.line)}function Qt(e){switch(e.type){case\"ieConditionalComment\":case\"comment\":case\"directive\":return!0;case\"element\":return[\"script\",\"select\"].includes(e.name)}return!1}function Yt(e){const{type:t,lang:n}=e.attrMap;return\"module\"===t||\"text/javascript\"===t||\"text/babel\"===t||\"application/javascript\"===t||\"jsx\"===n?\"babel\":\"application/x-typescript\"===t||\"ts\"===n||\"tsx\"===n?\"typescript\":\"text/markdown\"===t?\"markdown\":\"text/html\"===t?\"html\":t&&(t.endsWith(\"json\")||t.endsWith(\"importmap\"))?\"json\":\"text/x-handlebars-template\"===t?\"glimmer\":void 0}function Jt(e){return\"block\"===e||\"list-item\"===e||e.startsWith(\"table\")}function Zt(e){return en(e).startsWith(\"pre\")}function Kt(e){return\"element\"===e.type&&!e.hasExplicitNamespace&&![\"html\",\"svg\"].includes(e.namespace)}function en(e){return\"element\"===e.type&&(!e.namespace||Kt(e))&&Rt[e.name]||Pt}const tn=new Set([\"template\",\"style\",\"script\"]);function nn(e,t){return rn(e,t)&&!tn.has(e.fullName)}function rn(e,t){return\"vue\"===t.parser&&\"element\"===e.type&&\"root\"===e.parent.type&&\"html\"!==e.fullName.toLowerCase()}function sn(e,t){return rn(e,t)&&(nn(e,t)||e.attrMap.lang&&\"html\"!==e.attrMap.lang)}var on={HTML_ELEMENT_ATTRIBUTES:Bt,HTML_TAGS:Lt,htmlTrim:e=>(e=>e.replace(/^[\\t\\n\\f\\r ]+/,\"\"))(qt(e)),htmlTrimPreserveIndentation:e=>(e=>e.replace(/^[\\t\\f\\r ]*?\\n/g,\"\"))(qt(e)),splitByHtmlWhitespace:e=>e.split(/[\\t\\n\\f\\r ]+/),hasHtmlWhitespace:e=>/[\\t\\n\\f\\r ]/.test(e),getLeadingAndTrailingHtmlWhitespace:e=>{const[,t,n,r]=e.match(/^([\\t\\n\\f\\r ]*)([\\S\\s]*?)([\\t\\n\\f\\r ]*)$/);return{leadingWhitespace:t,trailingWhitespace:r,text:n}},canHaveInterpolation:function(e){return e.children&&!Gt(e)},countChars:function(e,t){let n=0;for(let r=0;r=0;r--){const s=e.stack[r];s&&\"object\"==typeof s&&!Array.isArray(s)&&t(s)&&n++}return n},dedentString:function(e,t=function(e){let t=1/0;for(const r of e.split(\"\\n\")){if(0===r.length)continue;if(!It.has(r[0]))return 0;const e=(n=r,n.match(/^[\\t\\n\\f\\r ]*/)[0]).length;r.length!==e&&ee.slice(t))).join(\"\\n\")},forceBreakChildren:jt,forceBreakContent:function(e){return jt(e)||\"element\"===e.type&&0!==e.children.length&&([\"body\",\"script\",\"style\"].includes(e.name)||e.children.some((e=>function(e){return e.children&&e.children.some((e=>\"text\"!==e.type))}(e))))||e.firstChild&&e.firstChild===e.lastChild&&\"text\"!==e.firstChild.type&&zt(e.firstChild)&&(!e.lastChild.isTrailingSpaceSensitive||Wt(e.lastChild))},forceNextEmptyLine:function(e){return Nt(e)||e.next&&e.sourceSpan.end&&e.sourceSpan.end.line+1\"svg:foreignObject\"===e.fullName)))return\"svg\"===e.name?\"inline-block\":\"block\";n=!0}switch(t.htmlWhitespaceSensitivity){case\"strict\":return\"inline\";case\"ignore\":return\"block\";default:return\"vue\"===t.parser&&e.parent&&\"root\"===e.parent.type?\"block\":\"element\"===e.type&&(!e.namespace||n||Kt(e))&&xt[e.name]||Ot}},getNodeCssStyleWhiteSpace:en,getPrettierIgnoreAttributeCommentData:function(e){const t=e.trim().match(/^prettier-ignore-attribute(?:\\s+([^]+))?$/);return!!t&&(!t[1]||t[1].split(/\\s+/))},hasPrettierIgnore:Ut,inferScriptParser:function(e,t){return\"script\"!==e.name||e.attrMap.src?\"style\"===e.name?function(e){const{lang:t}=e.attrMap;return t&&\"postcss\"!==t&&\"css\"!==t?\"scss\"===t?\"scss\":\"less\"===t?\"less\":void 0:\"css\"}(e):t&&sn(e,t)?Yt(e)||!(\"src\"in e.attrMap)&&kt(e.attrMap.lang,t):void 0:e.attrMap.lang||e.attrMap.type?Yt(e):\"babel\"},isVueCustomBlock:nn,isVueNonHtmlBlock:sn,isVueSlotAttribute:function(e){const t=e.fullName;return\"#\"===t.charAt(0)||\"slot-scope\"===t||\"v-slot\"===t||t.startsWith(\"v-slot:\")},isVueSfcBindingsAttribute:function(e,t){const n=e.parent;if(!rn(n,t))return!1;const r=n.fullName,s=e.fullName;return\"script\"===r&&\"setup\"===s||\"style\"===r&&\"vars\"===s},isDanglingSpaceSensitiveNode:function(e){return!(t=e.cssDisplay,Jt(t)||\"inline-block\"===t||Gt(e));var t},isIndentationSensitiveNode:Vt,isLeadingSpaceSensitiveNode:function(e,t){const n=function(){if(Nt(e))return!1;if((\"text\"===e.type||\"interpolation\"===e.type)&&e.prev&&(\"text\"===e.prev.type||\"interpolation\"===e.prev.type))return!0;if(!e.parent||\"none\"===e.parent.cssDisplay)return!1;if(Zt(e.parent))return!0;if(!e.prev&&(\"root\"===e.parent.type||Zt(e)&&e.parent||Gt(e.parent)||nn(e.parent,t)||(n=e.parent.cssDisplay,Jt(n)||\"inline-block\"===n)))return!1;var n;if(e.prev&&!function(e){return!Jt(e)}(e.prev.cssDisplay))return!1;return!0}();return n&&!e.prev&&e.parent&&e.parent.tagDefinition&&e.parent.tagDefinition.ignoreFirstLf?\"interpolation\"===e.type:n},isPreLikeNode:Zt,isScriptLikeTag:Gt,isTextLikeNode:function(e){return\"text\"===e.type||\"comment\"===e.type},isTrailingSpaceSensitiveNode:function(e,t){return!Nt(e)&&(!(\"text\"!==e.type&&\"interpolation\"!==e.type||!e.next||\"text\"!==e.next.type&&\"interpolation\"!==e.next.type)||!(!e.parent||\"none\"===e.parent.cssDisplay)&&(!!Zt(e.parent)||!(!e.next&&(\"root\"===e.parent.type||Zt(e)&&e.parent||Gt(e.parent)||nn(e.parent,t)||(n=e.parent.cssDisplay,Jt(n)||\"inline-block\"===n)))&&!(e.next&&!function(e){return!Jt(e)}(e.next.cssDisplay))));var n},isWhitespaceSensitiveNode:function(e){return Gt(e)||\"interpolation\"===e.type||Vt(e)},isUnknownNamespace:Kt,preferHardlineAsLeadingSpaces:function(e){return Qt(e)||e.prev&&Ht(e.prev)||Xt(e)},preferHardlineAsTrailingSpaces:Ht,shouldNotPrintClosingTag:function(e,t){return!e.isSelfClosing&&!e.endSourceSpan&&(Ut(e)||Mt(e.parent,t))},shouldPreserveContent:Mt,unescapeQuoteEntities:function(e){return e.replace(/'/g,\"'\").replace(/"/g,'\"')}};var an={hasPragma:function(e){return/^\\s*/.test(e)},insertPragma:function(e){return\"\\x3c!-- @format --\\x3e\\n\\n\"+e.replace(/^\\s*\\n/,\"\")}};const un={attrs:!0,children:!0};class cn{constructor(e={}){for(const t of Object.keys(e)){const n=e[t];t in un?this._setNodes(t,n):this[t]=n}}_setNodes(e,t){t!==this[e]&&(this[e]=function(e,t){const n=e.map((e=>e instanceof cn?e.clone():new cn(e)));let r=null,s=n[0],i=n[1]||null;for(let e=0;e(e[t.fullName]=t.value,e)),Object.create(null))}))}map(e){let t=null;for(const n in un){const r=this[n];if(r){const s=ln(r,(t=>t.map(e)));t!==r&&(t||(t=new cn),t._setNodes(n,s))}}if(t){for(const e in this)e in un||(t[e]=this[e]);const{index:e,siblings:n,prev:r,next:s,parent:i}=this;pn(t,{index:e,siblings:n,prev:r,next:s,parent:i})}return e(t||this)}clone(e){return new cn(e?Object.assign({},this,e):this)}get firstChild(){return this.children&&0!==this.children.length?this.children[0]:null}get lastChild(){return this.children&&0!==this.children.length?this.children[this.children.length-1]:null}get rawName(){return this.hasExplicitNamespace?this.fullName:this.name}get fullName(){return this.namespace?this.namespace+\":\"+this.name:this.name}}function ln(e,t){const n=e.map(t);return n.some(((t,n)=>t!==e[n]))?n:e}function pn(e,t){const n=Object.keys(t).reduce(((e,n)=>(e[n]={value:t[n],enumerable:!1},e)),{});Object.defineProperties(e,n)}var Dn={Node:cn};const{ParseSourceSpan:hn}=o,dn=[[/^(\\[if([^\\]]*?)]>)([\\S\\s]*?){try{return[!0,t(i,a).children]}catch(e){return[!1,[{type:\"text\",value:i,sourceSpan:new hn(a,u)}]]}})();return{type:\"ieConditionalComment\",complete:c,children:l,condition:s.trim().replace(/\\s+/g,\" \"),sourceSpan:e.sourceSpan,startSourceSpan:new hn(e.sourceSpan.start,a),endSourceSpan:new hn(u,e.sourceSpan.end)}}],[/^\\[if([^\\]]*?)]>\",Gt:\"\\u226b\",gt:\">\",gtcc:\"\\u2aa7\",gtcir:\"\\u2a7a\",gtdot:\"\\u22d7\",gtlPar:\"\\u2995\",gtquest:\"\\u2a7c\",gtrapprox:\"\\u2a86\",gtrarr:\"\\u2978\",gtrdot:\"\\u22d7\",gtreqless:\"\\u22db\",gtreqqless:\"\\u2a8c\",gtrless:\"\\u2277\",gtrsim:\"\\u2273\",gvertneqq:\"\\u2269\\ufe00\",gvnE:\"\\u2269\\ufe00\",Hacek:\"\\u02c7\",hairsp:\"\\u200a\",half:\"\\xbd\",hamilt:\"\\u210b\",HARDcy:\"\\u042a\",hardcy:\"\\u044a\",hArr:\"\\u21d4\",harr:\"\\u2194\",harrcir:\"\\u2948\",harrw:\"\\u21ad\",Hat:\"^\",hbar:\"\\u210f\",Hcirc:\"\\u0124\",hcirc:\"\\u0125\",hearts:\"\\u2665\",heartsuit:\"\\u2665\",hellip:\"\\u2026\",hercon:\"\\u22b9\",Hfr:\"\\u210c\",hfr:\"\\ud835\\udd25\",HilbertSpace:\"\\u210b\",hksearow:\"\\u2925\",hkswarow:\"\\u2926\",hoarr:\"\\u21ff\",homtht:\"\\u223b\",hookleftarrow:\"\\u21a9\",hookrightarrow:\"\\u21aa\",Hopf:\"\\u210d\",hopf:\"\\ud835\\udd59\",horbar:\"\\u2015\",HorizontalLine:\"\\u2500\",Hscr:\"\\u210b\",hscr:\"\\ud835\\udcbd\",hslash:\"\\u210f\",Hstrok:\"\\u0126\",hstrok:\"\\u0127\",HumpDownHump:\"\\u224e\",HumpEqual:\"\\u224f\",hybull:\"\\u2043\",hyphen:\"\\u2010\",Iacute:\"\\xcd\",iacute:\"\\xed\",ic:\"\\u2063\",Icirc:\"\\xce\",icirc:\"\\xee\",Icy:\"\\u0418\",icy:\"\\u0438\",Idot:\"\\u0130\",IEcy:\"\\u0415\",iecy:\"\\u0435\",iexcl:\"\\xa1\",iff:\"\\u21d4\",Ifr:\"\\u2111\",ifr:\"\\ud835\\udd26\",Igrave:\"\\xcc\",igrave:\"\\xec\",ii:\"\\u2148\",iiiint:\"\\u2a0c\",iiint:\"\\u222d\",iinfin:\"\\u29dc\",iiota:\"\\u2129\",IJlig:\"\\u0132\",ijlig:\"\\u0133\",Im:\"\\u2111\",Imacr:\"\\u012a\",imacr:\"\\u012b\",image:\"\\u2111\",ImaginaryI:\"\\u2148\",imagline:\"\\u2110\",imagpart:\"\\u2111\",imath:\"\\u0131\",imof:\"\\u22b7\",imped:\"\\u01b5\",Implies:\"\\u21d2\",in:\"\\u2208\",incare:\"\\u2105\",infin:\"\\u221e\",infintie:\"\\u29dd\",inodot:\"\\u0131\",Int:\"\\u222c\",int:\"\\u222b\",intcal:\"\\u22ba\",integers:\"\\u2124\",Integral:\"\\u222b\",intercal:\"\\u22ba\",Intersection:\"\\u22c2\",intlarhk:\"\\u2a17\",intprod:\"\\u2a3c\",InvisibleComma:\"\\u2063\",InvisibleTimes:\"\\u2062\",IOcy:\"\\u0401\",iocy:\"\\u0451\",Iogon:\"\\u012e\",iogon:\"\\u012f\",Iopf:\"\\ud835\\udd40\",iopf:\"\\ud835\\udd5a\",Iota:\"\\u0399\",iota:\"\\u03b9\",iprod:\"\\u2a3c\",iquest:\"\\xbf\",Iscr:\"\\u2110\",iscr:\"\\ud835\\udcbe\",isin:\"\\u2208\",isindot:\"\\u22f5\",isinE:\"\\u22f9\",isins:\"\\u22f4\",isinsv:\"\\u22f3\",isinv:\"\\u2208\",it:\"\\u2062\",Itilde:\"\\u0128\",itilde:\"\\u0129\",Iukcy:\"\\u0406\",iukcy:\"\\u0456\",Iuml:\"\\xcf\",iuml:\"\\xef\",Jcirc:\"\\u0134\",jcirc:\"\\u0135\",Jcy:\"\\u0419\",jcy:\"\\u0439\",Jfr:\"\\ud835\\udd0d\",jfr:\"\\ud835\\udd27\",jmath:\"\\u0237\",Jopf:\"\\ud835\\udd41\",jopf:\"\\ud835\\udd5b\",Jscr:\"\\ud835\\udca5\",jscr:\"\\ud835\\udcbf\",Jsercy:\"\\u0408\",jsercy:\"\\u0458\",Jukcy:\"\\u0404\",jukcy:\"\\u0454\",Kappa:\"\\u039a\",kappa:\"\\u03ba\",kappav:\"\\u03f0\",Kcedil:\"\\u0136\",kcedil:\"\\u0137\",Kcy:\"\\u041a\",kcy:\"\\u043a\",Kfr:\"\\ud835\\udd0e\",kfr:\"\\ud835\\udd28\",kgreen:\"\\u0138\",KHcy:\"\\u0425\",khcy:\"\\u0445\",KJcy:\"\\u040c\",kjcy:\"\\u045c\",Kopf:\"\\ud835\\udd42\",kopf:\"\\ud835\\udd5c\",Kscr:\"\\ud835\\udca6\",kscr:\"\\ud835\\udcc0\",lAarr:\"\\u21da\",Lacute:\"\\u0139\",lacute:\"\\u013a\",laemptyv:\"\\u29b4\",lagran:\"\\u2112\",Lambda:\"\\u039b\",lambda:\"\\u03bb\",Lang:\"\\u27ea\",lang:\"\\u27e8\",langd:\"\\u2991\",langle:\"\\u27e8\",lap:\"\\u2a85\",Laplacetrf:\"\\u2112\",laquo:\"\\xab\",Larr:\"\\u219e\",lArr:\"\\u21d0\",larr:\"\\u2190\",larrb:\"\\u21e4\",larrbfs:\"\\u291f\",larrfs:\"\\u291d\",larrhk:\"\\u21a9\",larrlp:\"\\u21ab\",larrpl:\"\\u2939\",larrsim:\"\\u2973\",larrtl:\"\\u21a2\",lat:\"\\u2aab\",lAtail:\"\\u291b\",latail:\"\\u2919\",late:\"\\u2aad\",lates:\"\\u2aad\\ufe00\",lBarr:\"\\u290e\",lbarr:\"\\u290c\",lbbrk:\"\\u2772\",lbrace:\"{\",lbrack:\"[\",lbrke:\"\\u298b\",lbrksld:\"\\u298f\",lbrkslu:\"\\u298d\",Lcaron:\"\\u013d\",lcaron:\"\\u013e\",Lcedil:\"\\u013b\",lcedil:\"\\u013c\",lceil:\"\\u2308\",lcub:\"{\",Lcy:\"\\u041b\",lcy:\"\\u043b\",ldca:\"\\u2936\",ldquo:\"\\u201c\",ldquor:\"\\u201e\",ldrdhar:\"\\u2967\",ldrushar:\"\\u294b\",ldsh:\"\\u21b2\",lE:\"\\u2266\",le:\"\\u2264\",LeftAngleBracket:\"\\u27e8\",LeftArrow:\"\\u2190\",Leftarrow:\"\\u21d0\",leftarrow:\"\\u2190\",LeftArrowBar:\"\\u21e4\",LeftArrowRightArrow:\"\\u21c6\",leftarrowtail:\"\\u21a2\",LeftCeiling:\"\\u2308\",LeftDoubleBracket:\"\\u27e6\",LeftDownTeeVector:\"\\u2961\",LeftDownVector:\"\\u21c3\",LeftDownVectorBar:\"\\u2959\",LeftFloor:\"\\u230a\",leftharpoondown:\"\\u21bd\",leftharpoonup:\"\\u21bc\",leftleftarrows:\"\\u21c7\",LeftRightArrow:\"\\u2194\",Leftrightarrow:\"\\u21d4\",leftrightarrow:\"\\u2194\",leftrightarrows:\"\\u21c6\",leftrightharpoons:\"\\u21cb\",leftrightsquigarrow:\"\\u21ad\",LeftRightVector:\"\\u294e\",LeftTee:\"\\u22a3\",LeftTeeArrow:\"\\u21a4\",LeftTeeVector:\"\\u295a\",leftthreetimes:\"\\u22cb\",LeftTriangle:\"\\u22b2\",LeftTriangleBar:\"\\u29cf\",LeftTriangleEqual:\"\\u22b4\",LeftUpDownVector:\"\\u2951\",LeftUpTeeVector:\"\\u2960\",LeftUpVector:\"\\u21bf\",LeftUpVectorBar:\"\\u2958\",LeftVector:\"\\u21bc\",LeftVectorBar:\"\\u2952\",lEg:\"\\u2a8b\",leg:\"\\u22da\",leq:\"\\u2264\",leqq:\"\\u2266\",leqslant:\"\\u2a7d\",les:\"\\u2a7d\",lescc:\"\\u2aa8\",lesdot:\"\\u2a7f\",lesdoto:\"\\u2a81\",lesdotor:\"\\u2a83\",lesg:\"\\u22da\\ufe00\",lesges:\"\\u2a93\",lessapprox:\"\\u2a85\",lessdot:\"\\u22d6\",lesseqgtr:\"\\u22da\",lesseqqgtr:\"\\u2a8b\",LessEqualGreater:\"\\u22da\",LessFullEqual:\"\\u2266\",LessGreater:\"\\u2276\",lessgtr:\"\\u2276\",LessLess:\"\\u2aa1\",lesssim:\"\\u2272\",LessSlantEqual:\"\\u2a7d\",LessTilde:\"\\u2272\",lfisht:\"\\u297c\",lfloor:\"\\u230a\",Lfr:\"\\ud835\\udd0f\",lfr:\"\\ud835\\udd29\",lg:\"\\u2276\",lgE:\"\\u2a91\",lHar:\"\\u2962\",lhard:\"\\u21bd\",lharu:\"\\u21bc\",lharul:\"\\u296a\",lhblk:\"\\u2584\",LJcy:\"\\u0409\",ljcy:\"\\u0459\",Ll:\"\\u22d8\",ll:\"\\u226a\",llarr:\"\\u21c7\",llcorner:\"\\u231e\",Lleftarrow:\"\\u21da\",llhard:\"\\u296b\",lltri:\"\\u25fa\",Lmidot:\"\\u013f\",lmidot:\"\\u0140\",lmoust:\"\\u23b0\",lmoustache:\"\\u23b0\",lnap:\"\\u2a89\",lnapprox:\"\\u2a89\",lnE:\"\\u2268\",lne:\"\\u2a87\",lneq:\"\\u2a87\",lneqq:\"\\u2268\",lnsim:\"\\u22e6\",loang:\"\\u27ec\",loarr:\"\\u21fd\",lobrk:\"\\u27e6\",LongLeftArrow:\"\\u27f5\",Longleftarrow:\"\\u27f8\",longleftarrow:\"\\u27f5\",LongLeftRightArrow:\"\\u27f7\",Longleftrightarrow:\"\\u27fa\",longleftrightarrow:\"\\u27f7\",longmapsto:\"\\u27fc\",LongRightArrow:\"\\u27f6\",Longrightarrow:\"\\u27f9\",longrightarrow:\"\\u27f6\",looparrowleft:\"\\u21ab\",looparrowright:\"\\u21ac\",lopar:\"\\u2985\",Lopf:\"\\ud835\\udd43\",lopf:\"\\ud835\\udd5d\",loplus:\"\\u2a2d\",lotimes:\"\\u2a34\",lowast:\"\\u2217\",lowbar:\"_\",LowerLeftArrow:\"\\u2199\",LowerRightArrow:\"\\u2198\",loz:\"\\u25ca\",lozenge:\"\\u25ca\",lozf:\"\\u29eb\",lpar:\"(\",lparlt:\"\\u2993\",lrarr:\"\\u21c6\",lrcorner:\"\\u231f\",lrhar:\"\\u21cb\",lrhard:\"\\u296d\",lrm:\"\\u200e\",lrtri:\"\\u22bf\",lsaquo:\"\\u2039\",Lscr:\"\\u2112\",lscr:\"\\ud835\\udcc1\",Lsh:\"\\u21b0\",lsh:\"\\u21b0\",lsim:\"\\u2272\",lsime:\"\\u2a8d\",lsimg:\"\\u2a8f\",lsqb:\"[\",lsquo:\"\\u2018\",lsquor:\"\\u201a\",Lstrok:\"\\u0141\",lstrok:\"\\u0142\",LT:\"<\",Lt:\"\\u226a\",lt:\"<\",ltcc:\"\\u2aa6\",ltcir:\"\\u2a79\",ltdot:\"\\u22d6\",lthree:\"\\u22cb\",ltimes:\"\\u22c9\",ltlarr:\"\\u2976\",ltquest:\"\\u2a7b\",ltri:\"\\u25c3\",ltrie:\"\\u22b4\",ltrif:\"\\u25c2\",ltrPar:\"\\u2996\",lurdshar:\"\\u294a\",luruhar:\"\\u2966\",lvertneqq:\"\\u2268\\ufe00\",lvnE:\"\\u2268\\ufe00\",macr:\"\\xaf\",male:\"\\u2642\",malt:\"\\u2720\",maltese:\"\\u2720\",Map:\"\\u2905\",map:\"\\u21a6\",mapsto:\"\\u21a6\",mapstodown:\"\\u21a7\",mapstoleft:\"\\u21a4\",mapstoup:\"\\u21a5\",marker:\"\\u25ae\",mcomma:\"\\u2a29\",Mcy:\"\\u041c\",mcy:\"\\u043c\",mdash:\"\\u2014\",mDDot:\"\\u223a\",measuredangle:\"\\u2221\",MediumSpace:\"\\u205f\",Mellintrf:\"\\u2133\",Mfr:\"\\ud835\\udd10\",mfr:\"\\ud835\\udd2a\",mho:\"\\u2127\",micro:\"\\xb5\",mid:\"\\u2223\",midast:\"*\",midcir:\"\\u2af0\",middot:\"\\xb7\",minus:\"\\u2212\",minusb:\"\\u229f\",minusd:\"\\u2238\",minusdu:\"\\u2a2a\",MinusPlus:\"\\u2213\",mlcp:\"\\u2adb\",mldr:\"\\u2026\",mnplus:\"\\u2213\",models:\"\\u22a7\",Mopf:\"\\ud835\\udd44\",mopf:\"\\ud835\\udd5e\",mp:\"\\u2213\",Mscr:\"\\u2133\",mscr:\"\\ud835\\udcc2\",mstpos:\"\\u223e\",Mu:\"\\u039c\",mu:\"\\u03bc\",multimap:\"\\u22b8\",mumap:\"\\u22b8\",nabla:\"\\u2207\",Nacute:\"\\u0143\",nacute:\"\\u0144\",nang:\"\\u2220\\u20d2\",nap:\"\\u2249\",napE:\"\\u2a70\\u0338\",napid:\"\\u224b\\u0338\",napos:\"\\u0149\",napprox:\"\\u2249\",natur:\"\\u266e\",natural:\"\\u266e\",naturals:\"\\u2115\",nbsp:\"\\xa0\",nbump:\"\\u224e\\u0338\",nbumpe:\"\\u224f\\u0338\",ncap:\"\\u2a43\",Ncaron:\"\\u0147\",ncaron:\"\\u0148\",Ncedil:\"\\u0145\",ncedil:\"\\u0146\",ncong:\"\\u2247\",ncongdot:\"\\u2a6d\\u0338\",ncup:\"\\u2a42\",Ncy:\"\\u041d\",ncy:\"\\u043d\",ndash:\"\\u2013\",ne:\"\\u2260\",nearhk:\"\\u2924\",neArr:\"\\u21d7\",nearr:\"\\u2197\",nearrow:\"\\u2197\",nedot:\"\\u2250\\u0338\",NegativeMediumSpace:\"\\u200b\",NegativeThickSpace:\"\\u200b\",NegativeThinSpace:\"\\u200b\",NegativeVeryThinSpace:\"\\u200b\",nequiv:\"\\u2262\",nesear:\"\\u2928\",nesim:\"\\u2242\\u0338\",NestedGreaterGreater:\"\\u226b\",NestedLessLess:\"\\u226a\",NewLine:\"\\n\",nexist:\"\\u2204\",nexists:\"\\u2204\",Nfr:\"\\ud835\\udd11\",nfr:\"\\ud835\\udd2b\",ngE:\"\\u2267\\u0338\",nge:\"\\u2271\",ngeq:\"\\u2271\",ngeqq:\"\\u2267\\u0338\",ngeqslant:\"\\u2a7e\\u0338\",nges:\"\\u2a7e\\u0338\",nGg:\"\\u22d9\\u0338\",ngsim:\"\\u2275\",nGt:\"\\u226b\\u20d2\",ngt:\"\\u226f\",ngtr:\"\\u226f\",nGtv:\"\\u226b\\u0338\",nhArr:\"\\u21ce\",nharr:\"\\u21ae\",nhpar:\"\\u2af2\",ni:\"\\u220b\",nis:\"\\u22fc\",nisd:\"\\u22fa\",niv:\"\\u220b\",NJcy:\"\\u040a\",njcy:\"\\u045a\",nlArr:\"\\u21cd\",nlarr:\"\\u219a\",nldr:\"\\u2025\",nlE:\"\\u2266\\u0338\",nle:\"\\u2270\",nLeftarrow:\"\\u21cd\",nleftarrow:\"\\u219a\",nLeftrightarrow:\"\\u21ce\",nleftrightarrow:\"\\u21ae\",nleq:\"\\u2270\",nleqq:\"\\u2266\\u0338\",nleqslant:\"\\u2a7d\\u0338\",nles:\"\\u2a7d\\u0338\",nless:\"\\u226e\",nLl:\"\\u22d8\\u0338\",nlsim:\"\\u2274\",nLt:\"\\u226a\\u20d2\",nlt:\"\\u226e\",nltri:\"\\u22ea\",nltrie:\"\\u22ec\",nLtv:\"\\u226a\\u0338\",nmid:\"\\u2224\",NoBreak:\"\\u2060\",NonBreakingSpace:\"\\xa0\",Nopf:\"\\u2115\",nopf:\"\\ud835\\udd5f\",Not:\"\\u2aec\",not:\"\\xac\",NotCongruent:\"\\u2262\",NotCupCap:\"\\u226d\",NotDoubleVerticalBar:\"\\u2226\",NotElement:\"\\u2209\",NotEqual:\"\\u2260\",NotEqualTilde:\"\\u2242\\u0338\",NotExists:\"\\u2204\",NotGreater:\"\\u226f\",NotGreaterEqual:\"\\u2271\",NotGreaterFullEqual:\"\\u2267\\u0338\",NotGreaterGreater:\"\\u226b\\u0338\",NotGreaterLess:\"\\u2279\",NotGreaterSlantEqual:\"\\u2a7e\\u0338\",NotGreaterTilde:\"\\u2275\",NotHumpDownHump:\"\\u224e\\u0338\",NotHumpEqual:\"\\u224f\\u0338\",notin:\"\\u2209\",notindot:\"\\u22f5\\u0338\",notinE:\"\\u22f9\\u0338\",notinva:\"\\u2209\",notinvb:\"\\u22f7\",notinvc:\"\\u22f6\",NotLeftTriangle:\"\\u22ea\",NotLeftTriangleBar:\"\\u29cf\\u0338\",NotLeftTriangleEqual:\"\\u22ec\",NotLess:\"\\u226e\",NotLessEqual:\"\\u2270\",NotLessGreater:\"\\u2278\",NotLessLess:\"\\u226a\\u0338\",NotLessSlantEqual:\"\\u2a7d\\u0338\",NotLessTilde:\"\\u2274\",NotNestedGreaterGreater:\"\\u2aa2\\u0338\",NotNestedLessLess:\"\\u2aa1\\u0338\",notni:\"\\u220c\",notniva:\"\\u220c\",notnivb:\"\\u22fe\",notnivc:\"\\u22fd\",NotPrecedes:\"\\u2280\",NotPrecedesEqual:\"\\u2aaf\\u0338\",NotPrecedesSlantEqual:\"\\u22e0\",NotReverseElement:\"\\u220c\",NotRightTriangle:\"\\u22eb\",NotRightTriangleBar:\"\\u29d0\\u0338\",NotRightTriangleEqual:\"\\u22ed\",NotSquareSubset:\"\\u228f\\u0338\",NotSquareSubsetEqual:\"\\u22e2\",NotSquareSuperset:\"\\u2290\\u0338\",NotSquareSupersetEqual:\"\\u22e3\",NotSubset:\"\\u2282\\u20d2\",NotSubsetEqual:\"\\u2288\",NotSucceeds:\"\\u2281\",NotSucceedsEqual:\"\\u2ab0\\u0338\",NotSucceedsSlantEqual:\"\\u22e1\",NotSucceedsTilde:\"\\u227f\\u0338\",NotSuperset:\"\\u2283\\u20d2\",NotSupersetEqual:\"\\u2289\",NotTilde:\"\\u2241\",NotTildeEqual:\"\\u2244\",NotTildeFullEqual:\"\\u2247\",NotTildeTilde:\"\\u2249\",NotVerticalBar:\"\\u2224\",npar:\"\\u2226\",nparallel:\"\\u2226\",nparsl:\"\\u2afd\\u20e5\",npart:\"\\u2202\\u0338\",npolint:\"\\u2a14\",npr:\"\\u2280\",nprcue:\"\\u22e0\",npre:\"\\u2aaf\\u0338\",nprec:\"\\u2280\",npreceq:\"\\u2aaf\\u0338\",nrArr:\"\\u21cf\",nrarr:\"\\u219b\",nrarrc:\"\\u2933\\u0338\",nrarrw:\"\\u219d\\u0338\",nRightarrow:\"\\u21cf\",nrightarrow:\"\\u219b\",nrtri:\"\\u22eb\",nrtrie:\"\\u22ed\",nsc:\"\\u2281\",nsccue:\"\\u22e1\",nsce:\"\\u2ab0\\u0338\",Nscr:\"\\ud835\\udca9\",nscr:\"\\ud835\\udcc3\",nshortmid:\"\\u2224\",nshortparallel:\"\\u2226\",nsim:\"\\u2241\",nsime:\"\\u2244\",nsimeq:\"\\u2244\",nsmid:\"\\u2224\",nspar:\"\\u2226\",nsqsube:\"\\u22e2\",nsqsupe:\"\\u22e3\",nsub:\"\\u2284\",nsubE:\"\\u2ac5\\u0338\",nsube:\"\\u2288\",nsubset:\"\\u2282\\u20d2\",nsubseteq:\"\\u2288\",nsubseteqq:\"\\u2ac5\\u0338\",nsucc:\"\\u2281\",nsucceq:\"\\u2ab0\\u0338\",nsup:\"\\u2285\",nsupE:\"\\u2ac6\\u0338\",nsupe:\"\\u2289\",nsupset:\"\\u2283\\u20d2\",nsupseteq:\"\\u2289\",nsupseteqq:\"\\u2ac6\\u0338\",ntgl:\"\\u2279\",Ntilde:\"\\xd1\",ntilde:\"\\xf1\",ntlg:\"\\u2278\",ntriangleleft:\"\\u22ea\",ntrianglelefteq:\"\\u22ec\",ntriangleright:\"\\u22eb\",ntrianglerighteq:\"\\u22ed\",Nu:\"\\u039d\",nu:\"\\u03bd\",num:\"#\",numero:\"\\u2116\",numsp:\"\\u2007\",nvap:\"\\u224d\\u20d2\",nVDash:\"\\u22af\",nVdash:\"\\u22ae\",nvDash:\"\\u22ad\",nvdash:\"\\u22ac\",nvge:\"\\u2265\\u20d2\",nvgt:\">\\u20d2\",nvHarr:\"\\u2904\",nvinfin:\"\\u29de\",nvlArr:\"\\u2902\",nvle:\"\\u2264\\u20d2\",nvlt:\"<\\u20d2\",nvltrie:\"\\u22b4\\u20d2\",nvrArr:\"\\u2903\",nvrtrie:\"\\u22b5\\u20d2\",nvsim:\"\\u223c\\u20d2\",nwarhk:\"\\u2923\",nwArr:\"\\u21d6\",nwarr:\"\\u2196\",nwarrow:\"\\u2196\",nwnear:\"\\u2927\",Oacute:\"\\xd3\",oacute:\"\\xf3\",oast:\"\\u229b\",ocir:\"\\u229a\",Ocirc:\"\\xd4\",ocirc:\"\\xf4\",Ocy:\"\\u041e\",ocy:\"\\u043e\",odash:\"\\u229d\",Odblac:\"\\u0150\",odblac:\"\\u0151\",odiv:\"\\u2a38\",odot:\"\\u2299\",odsold:\"\\u29bc\",OElig:\"\\u0152\",oelig:\"\\u0153\",ofcir:\"\\u29bf\",Ofr:\"\\ud835\\udd12\",ofr:\"\\ud835\\udd2c\",ogon:\"\\u02db\",Ograve:\"\\xd2\",ograve:\"\\xf2\",ogt:\"\\u29c1\",ohbar:\"\\u29b5\",ohm:\"\\u03a9\",oint:\"\\u222e\",olarr:\"\\u21ba\",olcir:\"\\u29be\",olcross:\"\\u29bb\",oline:\"\\u203e\",olt:\"\\u29c0\",Omacr:\"\\u014c\",omacr:\"\\u014d\",Omega:\"\\u03a9\",omega:\"\\u03c9\",Omicron:\"\\u039f\",omicron:\"\\u03bf\",omid:\"\\u29b6\",ominus:\"\\u2296\",Oopf:\"\\ud835\\udd46\",oopf:\"\\ud835\\udd60\",opar:\"\\u29b7\",OpenCurlyDoubleQuote:\"\\u201c\",OpenCurlyQuote:\"\\u2018\",operp:\"\\u29b9\",oplus:\"\\u2295\",Or:\"\\u2a54\",or:\"\\u2228\",orarr:\"\\u21bb\",ord:\"\\u2a5d\",order:\"\\u2134\",orderof:\"\\u2134\",ordf:\"\\xaa\",ordm:\"\\xba\",origof:\"\\u22b6\",oror:\"\\u2a56\",orslope:\"\\u2a57\",orv:\"\\u2a5b\",oS:\"\\u24c8\",Oscr:\"\\ud835\\udcaa\",oscr:\"\\u2134\",Oslash:\"\\xd8\",oslash:\"\\xf8\",osol:\"\\u2298\",Otilde:\"\\xd5\",otilde:\"\\xf5\",Otimes:\"\\u2a37\",otimes:\"\\u2297\",otimesas:\"\\u2a36\",Ouml:\"\\xd6\",ouml:\"\\xf6\",ovbar:\"\\u233d\",OverBar:\"\\u203e\",OverBrace:\"\\u23de\",OverBracket:\"\\u23b4\",OverParenthesis:\"\\u23dc\",par:\"\\u2225\",para:\"\\xb6\",parallel:\"\\u2225\",parsim:\"\\u2af3\",parsl:\"\\u2afd\",part:\"\\u2202\",PartialD:\"\\u2202\",Pcy:\"\\u041f\",pcy:\"\\u043f\",percnt:\"%\",period:\".\",permil:\"\\u2030\",perp:\"\\u22a5\",pertenk:\"\\u2031\",Pfr:\"\\ud835\\udd13\",pfr:\"\\ud835\\udd2d\",Phi:\"\\u03a6\",phi:\"\\u03c6\",phiv:\"\\u03d5\",phmmat:\"\\u2133\",phone:\"\\u260e\",Pi:\"\\u03a0\",pi:\"\\u03c0\",pitchfork:\"\\u22d4\",piv:\"\\u03d6\",planck:\"\\u210f\",planckh:\"\\u210e\",plankv:\"\\u210f\",plus:\"+\",plusacir:\"\\u2a23\",plusb:\"\\u229e\",pluscir:\"\\u2a22\",plusdo:\"\\u2214\",plusdu:\"\\u2a25\",pluse:\"\\u2a72\",PlusMinus:\"\\xb1\",plusmn:\"\\xb1\",plussim:\"\\u2a26\",plustwo:\"\\u2a27\",pm:\"\\xb1\",Poincareplane:\"\\u210c\",pointint:\"\\u2a15\",Popf:\"\\u2119\",popf:\"\\ud835\\udd61\",pound:\"\\xa3\",Pr:\"\\u2abb\",pr:\"\\u227a\",prap:\"\\u2ab7\",prcue:\"\\u227c\",prE:\"\\u2ab3\",pre:\"\\u2aaf\",prec:\"\\u227a\",precapprox:\"\\u2ab7\",preccurlyeq:\"\\u227c\",Precedes:\"\\u227a\",PrecedesEqual:\"\\u2aaf\",PrecedesSlantEqual:\"\\u227c\",PrecedesTilde:\"\\u227e\",preceq:\"\\u2aaf\",precnapprox:\"\\u2ab9\",precneqq:\"\\u2ab5\",precnsim:\"\\u22e8\",precsim:\"\\u227e\",Prime:\"\\u2033\",prime:\"\\u2032\",primes:\"\\u2119\",prnap:\"\\u2ab9\",prnE:\"\\u2ab5\",prnsim:\"\\u22e8\",prod:\"\\u220f\",Product:\"\\u220f\",profalar:\"\\u232e\",profline:\"\\u2312\",profsurf:\"\\u2313\",prop:\"\\u221d\",Proportion:\"\\u2237\",Proportional:\"\\u221d\",propto:\"\\u221d\",prsim:\"\\u227e\",prurel:\"\\u22b0\",Pscr:\"\\ud835\\udcab\",pscr:\"\\ud835\\udcc5\",Psi:\"\\u03a8\",psi:\"\\u03c8\",puncsp:\"\\u2008\",Qfr:\"\\ud835\\udd14\",qfr:\"\\ud835\\udd2e\",qint:\"\\u2a0c\",Qopf:\"\\u211a\",qopf:\"\\ud835\\udd62\",qprime:\"\\u2057\",Qscr:\"\\ud835\\udcac\",qscr:\"\\ud835\\udcc6\",quaternions:\"\\u210d\",quatint:\"\\u2a16\",quest:\"?\",questeq:\"\\u225f\",QUOT:'\"',quot:'\"',rAarr:\"\\u21db\",race:\"\\u223d\\u0331\",Racute:\"\\u0154\",racute:\"\\u0155\",radic:\"\\u221a\",raemptyv:\"\\u29b3\",Rang:\"\\u27eb\",rang:\"\\u27e9\",rangd:\"\\u2992\",range:\"\\u29a5\",rangle:\"\\u27e9\",raquo:\"\\xbb\",Rarr:\"\\u21a0\",rArr:\"\\u21d2\",rarr:\"\\u2192\",rarrap:\"\\u2975\",rarrb:\"\\u21e5\",rarrbfs:\"\\u2920\",rarrc:\"\\u2933\",rarrfs:\"\\u291e\",rarrhk:\"\\u21aa\",rarrlp:\"\\u21ac\",rarrpl:\"\\u2945\",rarrsim:\"\\u2974\",Rarrtl:\"\\u2916\",rarrtl:\"\\u21a3\",rarrw:\"\\u219d\",rAtail:\"\\u291c\",ratail:\"\\u291a\",ratio:\"\\u2236\",rationals:\"\\u211a\",RBarr:\"\\u2910\",rBarr:\"\\u290f\",rbarr:\"\\u290d\",rbbrk:\"\\u2773\",rbrace:\"}\",rbrack:\"]\",rbrke:\"\\u298c\",rbrksld:\"\\u298e\",rbrkslu:\"\\u2990\",Rcaron:\"\\u0158\",rcaron:\"\\u0159\",Rcedil:\"\\u0156\",rcedil:\"\\u0157\",rceil:\"\\u2309\",rcub:\"}\",Rcy:\"\\u0420\",rcy:\"\\u0440\",rdca:\"\\u2937\",rdldhar:\"\\u2969\",rdquo:\"\\u201d\",rdquor:\"\\u201d\",rdsh:\"\\u21b3\",Re:\"\\u211c\",real:\"\\u211c\",realine:\"\\u211b\",realpart:\"\\u211c\",reals:\"\\u211d\",rect:\"\\u25ad\",REG:\"\\xae\",reg:\"\\xae\",ReverseElement:\"\\u220b\",ReverseEquilibrium:\"\\u21cb\",ReverseUpEquilibrium:\"\\u296f\",rfisht:\"\\u297d\",rfloor:\"\\u230b\",Rfr:\"\\u211c\",rfr:\"\\ud835\\udd2f\",rHar:\"\\u2964\",rhard:\"\\u21c1\",rharu:\"\\u21c0\",rharul:\"\\u296c\",Rho:\"\\u03a1\",rho:\"\\u03c1\",rhov:\"\\u03f1\",RightAngleBracket:\"\\u27e9\",RightArrow:\"\\u2192\",Rightarrow:\"\\u21d2\",rightarrow:\"\\u2192\",RightArrowBar:\"\\u21e5\",RightArrowLeftArrow:\"\\u21c4\",rightarrowtail:\"\\u21a3\",RightCeiling:\"\\u2309\",RightDoubleBracket:\"\\u27e7\",RightDownTeeVector:\"\\u295d\",RightDownVector:\"\\u21c2\",RightDownVectorBar:\"\\u2955\",RightFloor:\"\\u230b\",rightharpoondown:\"\\u21c1\",rightharpoonup:\"\\u21c0\",rightleftarrows:\"\\u21c4\",rightleftharpoons:\"\\u21cc\",rightrightarrows:\"\\u21c9\",rightsquigarrow:\"\\u219d\",RightTee:\"\\u22a2\",RightTeeArrow:\"\\u21a6\",RightTeeVector:\"\\u295b\",rightthreetimes:\"\\u22cc\",RightTriangle:\"\\u22b3\",RightTriangleBar:\"\\u29d0\",RightTriangleEqual:\"\\u22b5\",RightUpDownVector:\"\\u294f\",RightUpTeeVector:\"\\u295c\",RightUpVector:\"\\u21be\",RightUpVectorBar:\"\\u2954\",RightVector:\"\\u21c0\",RightVectorBar:\"\\u2953\",ring:\"\\u02da\",risingdotseq:\"\\u2253\",rlarr:\"\\u21c4\",rlhar:\"\\u21cc\",rlm:\"\\u200f\",rmoust:\"\\u23b1\",rmoustache:\"\\u23b1\",rnmid:\"\\u2aee\",roang:\"\\u27ed\",roarr:\"\\u21fe\",robrk:\"\\u27e7\",ropar:\"\\u2986\",Ropf:\"\\u211d\",ropf:\"\\ud835\\udd63\",roplus:\"\\u2a2e\",rotimes:\"\\u2a35\",RoundImplies:\"\\u2970\",rpar:\")\",rpargt:\"\\u2994\",rppolint:\"\\u2a12\",rrarr:\"\\u21c9\",Rrightarrow:\"\\u21db\",rsaquo:\"\\u203a\",Rscr:\"\\u211b\",rscr:\"\\ud835\\udcc7\",Rsh:\"\\u21b1\",rsh:\"\\u21b1\",rsqb:\"]\",rsquo:\"\\u2019\",rsquor:\"\\u2019\",rthree:\"\\u22cc\",rtimes:\"\\u22ca\",rtri:\"\\u25b9\",rtrie:\"\\u22b5\",rtrif:\"\\u25b8\",rtriltri:\"\\u29ce\",RuleDelayed:\"\\u29f4\",ruluhar:\"\\u2968\",rx:\"\\u211e\",Sacute:\"\\u015a\",sacute:\"\\u015b\",sbquo:\"\\u201a\",Sc:\"\\u2abc\",sc:\"\\u227b\",scap:\"\\u2ab8\",Scaron:\"\\u0160\",scaron:\"\\u0161\",sccue:\"\\u227d\",scE:\"\\u2ab4\",sce:\"\\u2ab0\",Scedil:\"\\u015e\",scedil:\"\\u015f\",Scirc:\"\\u015c\",scirc:\"\\u015d\",scnap:\"\\u2aba\",scnE:\"\\u2ab6\",scnsim:\"\\u22e9\",scpolint:\"\\u2a13\",scsim:\"\\u227f\",Scy:\"\\u0421\",scy:\"\\u0441\",sdot:\"\\u22c5\",sdotb:\"\\u22a1\",sdote:\"\\u2a66\",searhk:\"\\u2925\",seArr:\"\\u21d8\",searr:\"\\u2198\",searrow:\"\\u2198\",sect:\"\\xa7\",semi:\";\",seswar:\"\\u2929\",setminus:\"\\u2216\",setmn:\"\\u2216\",sext:\"\\u2736\",Sfr:\"\\ud835\\udd16\",sfr:\"\\ud835\\udd30\",sfrown:\"\\u2322\",sharp:\"\\u266f\",SHCHcy:\"\\u0429\",shchcy:\"\\u0449\",SHcy:\"\\u0428\",shcy:\"\\u0448\",ShortDownArrow:\"\\u2193\",ShortLeftArrow:\"\\u2190\",shortmid:\"\\u2223\",shortparallel:\"\\u2225\",ShortRightArrow:\"\\u2192\",ShortUpArrow:\"\\u2191\",shy:\"\\xad\",Sigma:\"\\u03a3\",sigma:\"\\u03c3\",sigmaf:\"\\u03c2\",sigmav:\"\\u03c2\",sim:\"\\u223c\",simdot:\"\\u2a6a\",sime:\"\\u2243\",simeq:\"\\u2243\",simg:\"\\u2a9e\",simgE:\"\\u2aa0\",siml:\"\\u2a9d\",simlE:\"\\u2a9f\",simne:\"\\u2246\",simplus:\"\\u2a24\",simrarr:\"\\u2972\",slarr:\"\\u2190\",SmallCircle:\"\\u2218\",smallsetminus:\"\\u2216\",smashp:\"\\u2a33\",smeparsl:\"\\u29e4\",smid:\"\\u2223\",smile:\"\\u2323\",smt:\"\\u2aaa\",smte:\"\\u2aac\",smtes:\"\\u2aac\\ufe00\",SOFTcy:\"\\u042c\",softcy:\"\\u044c\",sol:\"/\",solb:\"\\u29c4\",solbar:\"\\u233f\",Sopf:\"\\ud835\\udd4a\",sopf:\"\\ud835\\udd64\",spades:\"\\u2660\",spadesuit:\"\\u2660\",spar:\"\\u2225\",sqcap:\"\\u2293\",sqcaps:\"\\u2293\\ufe00\",sqcup:\"\\u2294\",sqcups:\"\\u2294\\ufe00\",Sqrt:\"\\u221a\",sqsub:\"\\u228f\",sqsube:\"\\u2291\",sqsubset:\"\\u228f\",sqsubseteq:\"\\u2291\",sqsup:\"\\u2290\",sqsupe:\"\\u2292\",sqsupset:\"\\u2290\",sqsupseteq:\"\\u2292\",squ:\"\\u25a1\",Square:\"\\u25a1\",square:\"\\u25a1\",SquareIntersection:\"\\u2293\",SquareSubset:\"\\u228f\",SquareSubsetEqual:\"\\u2291\",SquareSuperset:\"\\u2290\",SquareSupersetEqual:\"\\u2292\",SquareUnion:\"\\u2294\",squarf:\"\\u25aa\",squf:\"\\u25aa\",srarr:\"\\u2192\",Sscr:\"\\ud835\\udcae\",sscr:\"\\ud835\\udcc8\",ssetmn:\"\\u2216\",ssmile:\"\\u2323\",sstarf:\"\\u22c6\",Star:\"\\u22c6\",star:\"\\u2606\",starf:\"\\u2605\",straightepsilon:\"\\u03f5\",straightphi:\"\\u03d5\",strns:\"\\xaf\",Sub:\"\\u22d0\",sub:\"\\u2282\",subdot:\"\\u2abd\",subE:\"\\u2ac5\",sube:\"\\u2286\",subedot:\"\\u2ac3\",submult:\"\\u2ac1\",subnE:\"\\u2acb\",subne:\"\\u228a\",subplus:\"\\u2abf\",subrarr:\"\\u2979\",Subset:\"\\u22d0\",subset:\"\\u2282\",subseteq:\"\\u2286\",subseteqq:\"\\u2ac5\",SubsetEqual:\"\\u2286\",subsetneq:\"\\u228a\",subsetneqq:\"\\u2acb\",subsim:\"\\u2ac7\",subsub:\"\\u2ad5\",subsup:\"\\u2ad3\",succ:\"\\u227b\",succapprox:\"\\u2ab8\",succcurlyeq:\"\\u227d\",Succeeds:\"\\u227b\",SucceedsEqual:\"\\u2ab0\",SucceedsSlantEqual:\"\\u227d\",SucceedsTilde:\"\\u227f\",succeq:\"\\u2ab0\",succnapprox:\"\\u2aba\",succneqq:\"\\u2ab6\",succnsim:\"\\u22e9\",succsim:\"\\u227f\",SuchThat:\"\\u220b\",Sum:\"\\u2211\",sum:\"\\u2211\",sung:\"\\u266a\",Sup:\"\\u22d1\",sup:\"\\u2283\",sup1:\"\\xb9\",sup2:\"\\xb2\",sup3:\"\\xb3\",supdot:\"\\u2abe\",supdsub:\"\\u2ad8\",supE:\"\\u2ac6\",supe:\"\\u2287\",supedot:\"\\u2ac4\",Superset:\"\\u2283\",SupersetEqual:\"\\u2287\",suphsol:\"\\u27c9\",suphsub:\"\\u2ad7\",suplarr:\"\\u297b\",supmult:\"\\u2ac2\",supnE:\"\\u2acc\",supne:\"\\u228b\",supplus:\"\\u2ac0\",Supset:\"\\u22d1\",supset:\"\\u2283\",supseteq:\"\\u2287\",supseteqq:\"\\u2ac6\",supsetneq:\"\\u228b\",supsetneqq:\"\\u2acc\",supsim:\"\\u2ac8\",supsub:\"\\u2ad4\",supsup:\"\\u2ad6\",swarhk:\"\\u2926\",swArr:\"\\u21d9\",swarr:\"\\u2199\",swarrow:\"\\u2199\",swnwar:\"\\u292a\",szlig:\"\\xdf\",Tab:\"\\t\",target:\"\\u2316\",Tau:\"\\u03a4\",tau:\"\\u03c4\",tbrk:\"\\u23b4\",Tcaron:\"\\u0164\",tcaron:\"\\u0165\",Tcedil:\"\\u0162\",tcedil:\"\\u0163\",Tcy:\"\\u0422\",tcy:\"\\u0442\",tdot:\"\\u20db\",telrec:\"\\u2315\",Tfr:\"\\ud835\\udd17\",tfr:\"\\ud835\\udd31\",there4:\"\\u2234\",Therefore:\"\\u2234\",therefore:\"\\u2234\",Theta:\"\\u0398\",theta:\"\\u03b8\",thetasym:\"\\u03d1\",thetav:\"\\u03d1\",thickapprox:\"\\u2248\",thicksim:\"\\u223c\",ThickSpace:\"\\u205f\\u200a\",thinsp:\"\\u2009\",ThinSpace:\"\\u2009\",thkap:\"\\u2248\",thksim:\"\\u223c\",THORN:\"\\xde\",thorn:\"\\xfe\",Tilde:\"\\u223c\",tilde:\"\\u02dc\",TildeEqual:\"\\u2243\",TildeFullEqual:\"\\u2245\",TildeTilde:\"\\u2248\",times:\"\\xd7\",timesb:\"\\u22a0\",timesbar:\"\\u2a31\",timesd:\"\\u2a30\",tint:\"\\u222d\",toea:\"\\u2928\",top:\"\\u22a4\",topbot:\"\\u2336\",topcir:\"\\u2af1\",Topf:\"\\ud835\\udd4b\",topf:\"\\ud835\\udd65\",topfork:\"\\u2ada\",tosa:\"\\u2929\",tprime:\"\\u2034\",TRADE:\"\\u2122\",trade:\"\\u2122\",triangle:\"\\u25b5\",triangledown:\"\\u25bf\",triangleleft:\"\\u25c3\",trianglelefteq:\"\\u22b4\",triangleq:\"\\u225c\",triangleright:\"\\u25b9\",trianglerighteq:\"\\u22b5\",tridot:\"\\u25ec\",trie:\"\\u225c\",triminus:\"\\u2a3a\",TripleDot:\"\\u20db\",triplus:\"\\u2a39\",trisb:\"\\u29cd\",tritime:\"\\u2a3b\",trpezium:\"\\u23e2\",Tscr:\"\\ud835\\udcaf\",tscr:\"\\ud835\\udcc9\",TScy:\"\\u0426\",tscy:\"\\u0446\",TSHcy:\"\\u040b\",tshcy:\"\\u045b\",Tstrok:\"\\u0166\",tstrok:\"\\u0167\",twixt:\"\\u226c\",twoheadleftarrow:\"\\u219e\",twoheadrightarrow:\"\\u21a0\",Uacute:\"\\xda\",uacute:\"\\xfa\",Uarr:\"\\u219f\",uArr:\"\\u21d1\",uarr:\"\\u2191\",Uarrocir:\"\\u2949\",Ubrcy:\"\\u040e\",ubrcy:\"\\u045e\",Ubreve:\"\\u016c\",ubreve:\"\\u016d\",Ucirc:\"\\xdb\",ucirc:\"\\xfb\",Ucy:\"\\u0423\",ucy:\"\\u0443\",udarr:\"\\u21c5\",Udblac:\"\\u0170\",udblac:\"\\u0171\",udhar:\"\\u296e\",ufisht:\"\\u297e\",Ufr:\"\\ud835\\udd18\",ufr:\"\\ud835\\udd32\",Ugrave:\"\\xd9\",ugrave:\"\\xf9\",uHar:\"\\u2963\",uharl:\"\\u21bf\",uharr:\"\\u21be\",uhblk:\"\\u2580\",ulcorn:\"\\u231c\",ulcorner:\"\\u231c\",ulcrop:\"\\u230f\",ultri:\"\\u25f8\",Umacr:\"\\u016a\",umacr:\"\\u016b\",uml:\"\\xa8\",UnderBar:\"_\",UnderBrace:\"\\u23df\",UnderBracket:\"\\u23b5\",UnderParenthesis:\"\\u23dd\",Union:\"\\u22c3\",UnionPlus:\"\\u228e\",Uogon:\"\\u0172\",uogon:\"\\u0173\",Uopf:\"\\ud835\\udd4c\",uopf:\"\\ud835\\udd66\",UpArrow:\"\\u2191\",Uparrow:\"\\u21d1\",uparrow:\"\\u2191\",UpArrowBar:\"\\u2912\",UpArrowDownArrow:\"\\u21c5\",UpDownArrow:\"\\u2195\",Updownarrow:\"\\u21d5\",updownarrow:\"\\u2195\",UpEquilibrium:\"\\u296e\",upharpoonleft:\"\\u21bf\",upharpoonright:\"\\u21be\",uplus:\"\\u228e\",UpperLeftArrow:\"\\u2196\",UpperRightArrow:\"\\u2197\",Upsi:\"\\u03d2\",upsi:\"\\u03c5\",upsih:\"\\u03d2\",Upsilon:\"\\u03a5\",upsilon:\"\\u03c5\",UpTee:\"\\u22a5\",UpTeeArrow:\"\\u21a5\",upuparrows:\"\\u21c8\",urcorn:\"\\u231d\",urcorner:\"\\u231d\",urcrop:\"\\u230e\",Uring:\"\\u016e\",uring:\"\\u016f\",urtri:\"\\u25f9\",Uscr:\"\\ud835\\udcb0\",uscr:\"\\ud835\\udcca\",utdot:\"\\u22f0\",Utilde:\"\\u0168\",utilde:\"\\u0169\",utri:\"\\u25b5\",utrif:\"\\u25b4\",uuarr:\"\\u21c8\",Uuml:\"\\xdc\",uuml:\"\\xfc\",uwangle:\"\\u29a7\",vangrt:\"\\u299c\",varepsilon:\"\\u03f5\",varkappa:\"\\u03f0\",varnothing:\"\\u2205\",varphi:\"\\u03d5\",varpi:\"\\u03d6\",varpropto:\"\\u221d\",vArr:\"\\u21d5\",varr:\"\\u2195\",varrho:\"\\u03f1\",varsigma:\"\\u03c2\",varsubsetneq:\"\\u228a\\ufe00\",varsubsetneqq:\"\\u2acb\\ufe00\",varsupsetneq:\"\\u228b\\ufe00\",varsupsetneqq:\"\\u2acc\\ufe00\",vartheta:\"\\u03d1\",vartriangleleft:\"\\u22b2\",vartriangleright:\"\\u22b3\",Vbar:\"\\u2aeb\",vBar:\"\\u2ae8\",vBarv:\"\\u2ae9\",Vcy:\"\\u0412\",vcy:\"\\u0432\",VDash:\"\\u22ab\",Vdash:\"\\u22a9\",vDash:\"\\u22a8\",vdash:\"\\u22a2\",Vdashl:\"\\u2ae6\",Vee:\"\\u22c1\",vee:\"\\u2228\",veebar:\"\\u22bb\",veeeq:\"\\u225a\",vellip:\"\\u22ee\",Verbar:\"\\u2016\",verbar:\"|\",Vert:\"\\u2016\",vert:\"|\",VerticalBar:\"\\u2223\",VerticalLine:\"|\",VerticalSeparator:\"\\u2758\",VerticalTilde:\"\\u2240\",VeryThinSpace:\"\\u200a\",Vfr:\"\\ud835\\udd19\",vfr:\"\\ud835\\udd33\",vltri:\"\\u22b2\",vnsub:\"\\u2282\\u20d2\",vnsup:\"\\u2283\\u20d2\",Vopf:\"\\ud835\\udd4d\",vopf:\"\\ud835\\udd67\",vprop:\"\\u221d\",vrtri:\"\\u22b3\",Vscr:\"\\ud835\\udcb1\",vscr:\"\\ud835\\udccb\",vsubnE:\"\\u2acb\\ufe00\",vsubne:\"\\u228a\\ufe00\",vsupnE:\"\\u2acc\\ufe00\",vsupne:\"\\u228b\\ufe00\",Vvdash:\"\\u22aa\",vzigzag:\"\\u299a\",Wcirc:\"\\u0174\",wcirc:\"\\u0175\",wedbar:\"\\u2a5f\",Wedge:\"\\u22c0\",wedge:\"\\u2227\",wedgeq:\"\\u2259\",weierp:\"\\u2118\",Wfr:\"\\ud835\\udd1a\",wfr:\"\\ud835\\udd34\",Wopf:\"\\ud835\\udd4e\",wopf:\"\\ud835\\udd68\",wp:\"\\u2118\",wr:\"\\u2240\",wreath:\"\\u2240\",Wscr:\"\\ud835\\udcb2\",wscr:\"\\ud835\\udccc\",xcap:\"\\u22c2\",xcirc:\"\\u25ef\",xcup:\"\\u22c3\",xdtri:\"\\u25bd\",Xfr:\"\\ud835\\udd1b\",xfr:\"\\ud835\\udd35\",xhArr:\"\\u27fa\",xharr:\"\\u27f7\",Xi:\"\\u039e\",xi:\"\\u03be\",xlArr:\"\\u27f8\",xlarr:\"\\u27f5\",xmap:\"\\u27fc\",xnis:\"\\u22fb\",xodot:\"\\u2a00\",Xopf:\"\\ud835\\udd4f\",xopf:\"\\ud835\\udd69\",xoplus:\"\\u2a01\",xotime:\"\\u2a02\",xrArr:\"\\u27f9\",xrarr:\"\\u27f6\",Xscr:\"\\ud835\\udcb3\",xscr:\"\\ud835\\udccd\",xsqcup:\"\\u2a06\",xuplus:\"\\u2a04\",xutri:\"\\u25b3\",xvee:\"\\u22c1\",xwedge:\"\\u22c0\",Yacute:\"\\xdd\",yacute:\"\\xfd\",YAcy:\"\\u042f\",yacy:\"\\u044f\",Ycirc:\"\\u0176\",ycirc:\"\\u0177\",Ycy:\"\\u042b\",ycy:\"\\u044b\",yen:\"\\xa5\",Yfr:\"\\ud835\\udd1c\",yfr:\"\\ud835\\udd36\",YIcy:\"\\u0407\",yicy:\"\\u0457\",Yopf:\"\\ud835\\udd50\",yopf:\"\\ud835\\udd6a\",Yscr:\"\\ud835\\udcb4\",yscr:\"\\ud835\\udcce\",YUcy:\"\\u042e\",yucy:\"\\u044e\",Yuml:\"\\u0178\",yuml:\"\\xff\",Zacute:\"\\u0179\",zacute:\"\\u017a\",Zcaron:\"\\u017d\",zcaron:\"\\u017e\",Zcy:\"\\u0417\",zcy:\"\\u0437\",Zdot:\"\\u017b\",zdot:\"\\u017c\",zeetrf:\"\\u2128\",ZeroWidthSpace:\"\\u200b\",Zeta:\"\\u0396\",zeta:\"\\u03b6\",Zfr:\"\\u2128\",zfr:\"\\ud835\\udd37\",ZHcy:\"\\u0416\",zhcy:\"\\u0436\",zigrarr:\"\\u21dd\",Zopf:\"\\u2124\",zopf:\"\\ud835\\udd6b\",Zscr:\"\\ud835\\udcb5\",zscr:\"\\ud835\\udccf\",zwj:\"\\u200d\",zwnj:\"\\u200c\"},t.NGSP_UNICODE=\"\\ue500\",t.NAMED_ENTITIES.ngsp=t.NGSP_UNICODE})),En=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});class n{constructor({closedByChildren:e,implicitNamespacePrefix:t,contentType:n=gn.TagContentType.PARSABLE_DATA,closedByParent:r=!1,isVoid:s=!1,ignoreFirstLf:i=!1}={}){this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,e&&e.length>0&&e.forEach((e=>this.closedByChildren[e]=!0)),this.isVoid=s,this.closedByParent=r||s,this.implicitNamespacePrefix=t||null,this.contentType=n,this.ignoreFirstLf=i}isClosedByChild(e){return this.isVoid||e.toLowerCase()in this.closedByChildren}}let r,s;t.HtmlTagDefinition=n,t.getHtmlTagDefinition=function(e){return s||(r=new n,s={base:new n({isVoid:!0}),meta:new n({isVoid:!0}),area:new n({isVoid:!0}),embed:new n({isVoid:!0}),link:new n({isVoid:!0}),img:new n({isVoid:!0}),input:new n({isVoid:!0}),param:new n({isVoid:!0}),hr:new n({isVoid:!0}),br:new n({isVoid:!0}),source:new n({isVoid:!0}),track:new n({isVoid:!0}),wbr:new n({isVoid:!0}),p:new n({closedByChildren:[\"address\",\"article\",\"aside\",\"blockquote\",\"div\",\"dl\",\"fieldset\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"main\",\"nav\",\"ol\",\"p\",\"pre\",\"section\",\"table\",\"ul\"],closedByParent:!0}),thead:new n({closedByChildren:[\"tbody\",\"tfoot\"]}),tbody:new n({closedByChildren:[\"tbody\",\"tfoot\"],closedByParent:!0}),tfoot:new n({closedByChildren:[\"tbody\"],closedByParent:!0}),tr:new n({closedByChildren:[\"tr\"],closedByParent:!0}),td:new n({closedByChildren:[\"td\",\"th\"],closedByParent:!0}),th:new n({closedByChildren:[\"td\",\"th\"],closedByParent:!0}),col:new n({isVoid:!0}),svg:new n({implicitNamespacePrefix:\"svg\"}),math:new n({implicitNamespacePrefix:\"math\"}),li:new n({closedByChildren:[\"li\"],closedByParent:!0}),dt:new n({closedByChildren:[\"dt\",\"dd\"]}),dd:new n({closedByChildren:[\"dt\",\"dd\"],closedByParent:!0}),rb:new n({closedByChildren:[\"rb\",\"rt\",\"rtc\",\"rp\"],closedByParent:!0}),rt:new n({closedByChildren:[\"rb\",\"rt\",\"rtc\",\"rp\"],closedByParent:!0}),rtc:new n({closedByChildren:[\"rb\",\"rtc\",\"rp\"],closedByParent:!0}),rp:new n({closedByChildren:[\"rb\",\"rt\",\"rtc\",\"rp\"],closedByParent:!0}),optgroup:new n({closedByChildren:[\"optgroup\"],closedByParent:!0}),option:new n({closedByChildren:[\"option\",\"optgroup\"],closedByParent:!0}),pre:new n({ignoreFirstLf:!0}),listing:new n({ignoreFirstLf:!0}),style:new n({contentType:gn.TagContentType.RAW_TEXT}),script:new n({contentType:gn.TagContentType.RAW_TEXT}),title:new n({contentType:gn.TagContentType.ESCAPABLE_RAW_TEXT}),textarea:new n({contentType:gn.TagContentType.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),s[e]||r}})),Cn=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});t.AstPath=class{constructor(e,t=-1){this.path=e,this.position=t}get empty(){return!this.path||!this.path.length}get head(){return this.path[0]}get tail(){return this.path[this.path.length-1]}parentOf(e){return e&&this.path[this.path.indexOf(e)-1]}childOf(e){return this.path[this.path.indexOf(e)+1]}first(e){for(let t=this.path.length-1;t>=0;t--){let n=this.path[t];if(n instanceof e)return n}}push(e){this.path.push(e)}pop(){return this.path.pop()}}})),Tn=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});t.Text=class{constructor(e,t,n){this.value=e,this.sourceSpan=t,this.i18n=n}visit(e,t){return e.visitText(this,t)}};t.CDATA=class{constructor(e,t){this.value=e,this.sourceSpan=t}visit(e,t){return e.visitCdata(this,t)}};t.Expansion=class{constructor(e,t,n,r,s,i){this.switchValue=e,this.type=t,this.cases=n,this.sourceSpan=r,this.switchValueSourceSpan=s,this.i18n=i}visit(e,t){return e.visitExpansion(this,t)}};t.ExpansionCase=class{constructor(e,t,n,r,s){this.value=e,this.expression=t,this.sourceSpan=n,this.valueSourceSpan=r,this.expSourceSpan=s}visit(e,t){return e.visitExpansionCase(this,t)}};t.Attribute=class{constructor(e,t,n,r=null,s=null,i=null){this.name=e,this.value=t,this.sourceSpan=n,this.valueSpan=r,this.nameSpan=s,this.i18n=i}visit(e,t){return e.visitAttribute(this,t)}};class n{constructor(e,t,n,r,s=null,i=null,o=null,a=null){this.name=e,this.attrs=t,this.children=n,this.sourceSpan=r,this.startSourceSpan=s,this.endSourceSpan=i,this.nameSpan=o,this.i18n=a}visit(e,t){return e.visitElement(this,t)}}t.Element=n;t.Comment=class{constructor(e,t){this.value=e,this.sourceSpan=t}visit(e,t){return e.visitComment(this,t)}};function r(e,t,n=null){const r=[],s=e.visit?t=>e.visit(t,n)||t.visit(e,n):t=>t.visit(e,n);return t.forEach((e=>{const t=s(e);t&&r.push(t)})),r}t.DocType=class{constructor(e,t){this.value=e,this.sourceSpan=t}visit(e,t){return e.visitDocType(this,t)}},t.visitAll=r;class s{constructor(){}visitElement(e,t){this.visitChildren(t,(t=>{t(e.attrs),t(e.children)}))}visitAttribute(e,t){}visitText(e,t){}visitCdata(e,t){}visitComment(e,t){}visitDocType(e,t){}visitExpansion(e,t){return this.visitChildren(t,(t=>{t(e.cases)}))}visitExpansionCase(e,t){}visitChildren(e,t){let n=[],s=this;return t((function(t){t&&n.push(r(s,t,e))})),Array.prototype.concat.apply([],n)}}function i(e){const t=e.sourceSpan.start.offset;let r=e.sourceSpan.end.offset;return e instanceof n&&(e.endSourceSpan?r=e.endSourceSpan.end.offset:e.children&&e.children.length&&(r=i(e.children[e.children.length-1]).end)),{start:t,end:r}}t.RecursiveVisitor=s,t.findNode=function(e,t){const n=[];return r(new class extends s{visit(e,r){const s=i(e);if(!(s.start<=t&&t]/,/^[{}]$/,/&(#|[a-z])/i,/^\\/\\//];t.assertInterpolationSymbols=function(e,t){if(!(null==t||Array.isArray(t)&&2==t.length))throw new Error(\"Expected '\".concat(e,\"' to be an array, [start, end].\"));if(null!=t){const e=t[0],r=t[1];n.forEach((t=>{if(t.test(e)||t.test(r))throw new Error(\"['\".concat(e,\"', '\").concat(r,\"'] contains unusable interpolation symbol.\"))}))}}})),Sn=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});class n{constructor(e,t){this.start=e,this.end=t}static fromArray(e){return e?(yn.assertInterpolationSymbols(\"interpolation\",e),new n(e[0],e[1])):t.DEFAULT_INTERPOLATION_CONFIG}}t.InterpolationConfig=n,t.DEFAULT_INTERPOLATION_CONFIG=new n(\"{{\",\"}}\")})),_n=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});const r=n;var s;!function(e){e[e.TAG_OPEN_START=0]=\"TAG_OPEN_START\",e[e.TAG_OPEN_END=1]=\"TAG_OPEN_END\",e[e.TAG_OPEN_END_VOID=2]=\"TAG_OPEN_END_VOID\",e[e.TAG_CLOSE=3]=\"TAG_CLOSE\",e[e.TEXT=4]=\"TEXT\",e[e.ESCAPABLE_RAW_TEXT=5]=\"ESCAPABLE_RAW_TEXT\",e[e.RAW_TEXT=6]=\"RAW_TEXT\",e[e.COMMENT_START=7]=\"COMMENT_START\",e[e.COMMENT_END=8]=\"COMMENT_END\",e[e.CDATA_START=9]=\"CDATA_START\",e[e.CDATA_END=10]=\"CDATA_END\",e[e.ATTR_NAME=11]=\"ATTR_NAME\",e[e.ATTR_QUOTE=12]=\"ATTR_QUOTE\",e[e.ATTR_VALUE=13]=\"ATTR_VALUE\",e[e.DOC_TYPE_START=14]=\"DOC_TYPE_START\",e[e.DOC_TYPE_END=15]=\"DOC_TYPE_END\",e[e.EXPANSION_FORM_START=16]=\"EXPANSION_FORM_START\",e[e.EXPANSION_CASE_VALUE=17]=\"EXPANSION_CASE_VALUE\",e[e.EXPANSION_CASE_EXP_START=18]=\"EXPANSION_CASE_EXP_START\",e[e.EXPANSION_CASE_EXP_END=19]=\"EXPANSION_CASE_EXP_END\",e[e.EXPANSION_FORM_END=20]=\"EXPANSION_FORM_END\",e[e.EOF=21]=\"EOF\"}(s=t.TokenType||(t.TokenType={}));class i{constructor(e,t,n){this.type=e,this.parts=t,this.sourceSpan=n}}t.Token=i;class a extends o.ParseError{constructor(e,t,n){super(n,e),this.tokenType=t}}t.TokenError=a;class u{constructor(e,t){this.tokens=e,this.errors=t}}t.TokenizeResult=u,t.tokenize=function(e,t,n,r={}){return new h(new o.ParseSourceFile(e,t),n,r).tokenize()};const c=/\\r\\n?/g;function l(e){const t=e===r.$EOF?\"EOF\":String.fromCharCode(e);return'Unexpected character \"'.concat(t,'\"')}function p(e){return'Unknown entity \"'.concat(e,'\" - use the \"&#;\" or \"&#x;\" syntax')}class D{constructor(e){this.error=e}}class h{constructor(e,t,n){this._getTagContentType=t,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this._fullNameStack=[],this.tokens=[],this.errors=[],this._tokenizeIcu=n.tokenizeExpansionForms||!1,this._interpolationConfig=n.interpolationConfig||Sn.DEFAULT_INTERPOLATION_CONFIG,this._leadingTriviaCodePoints=n.leadingTriviaChars&&n.leadingTriviaChars.map((e=>e.codePointAt(0)||0)),this._canSelfClose=n.canSelfClose||!1,this._allowHtmComponentClosingTags=n.allowHtmComponentClosingTags||!1;const r=n.range||{endPos:e.content.length,startPos:0,startLine:0,startCol:0};this._cursor=n.escapedString?new T(e,r):new C(e,r);try{this._cursor.init()}catch(e){this.handleError(e)}}_processCarriageReturns(e){return e.replace(c,\"\\n\")}tokenize(){for(;this._cursor.peek()!==r.$EOF;){const e=this._cursor.clone();try{if(this._attemptCharCode(r.$LT))if(this._attemptCharCode(r.$BANG))this._attemptStr(\"[CDATA[\")?this._consumeCdata(e):this._attemptStr(\"--\")?this._consumeComment(e):this._attemptStrCaseInsensitive(\"doctype\")?this._consumeDocType(e):this._consumeBogusComment(e);else if(this._attemptCharCode(r.$SLASH))this._consumeTagClose(e);else{const t=this._cursor.clone();this._attemptCharCode(r.$QUESTION)?(this._cursor=t,this._consumeBogusComment(e)):this._consumeTagOpen(e)}else this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(e){this.handleError(e)}}return this._beginToken(s.EOF),this._endToken([]),new u(function(e){const t=[];let n=void 0;for(let r=0;rthis._attemptStr(\"--\\x3e\"))),this._beginToken(s.COMMENT_END),this._requireStr(\"--\\x3e\"),this._endToken([])}_consumeBogusComment(e){this._beginToken(s.COMMENT_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._cursor.peek()===r.$GT)),this._beginToken(s.COMMENT_END),this._cursor.advance(),this._endToken([])}_consumeCdata(e){this._beginToken(s.CDATA_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._attemptStr(\"]]>\"))),this._beginToken(s.CDATA_END),this._requireStr(\"]]>\"),this._endToken([])}_consumeDocType(e){this._beginToken(s.DOC_TYPE_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._cursor.peek()===r.$GT)),this._beginToken(s.DOC_TYPE_END),this._cursor.advance(),this._endToken([])}_consumePrefixAndName(){const e=this._cursor.clone();let t=\"\";for(;this._cursor.peek()!==r.$COLON&&!(((n=this._cursor.peek())r.$9));)this._cursor.advance();var n;let s;this._cursor.peek()===r.$COLON?(t=this._cursor.getChars(e),this._cursor.advance(),s=this._cursor.clone()):s=e,this._requireCharCodeUntilFn(f,\"\"===t?0:1);return[t,this._cursor.getChars(s)]}_consumeTagOpen(e){let t,n,i,o=this.tokens.length;const a=this._cursor.clone(),u=[];try{if(!r.isAsciiLetter(this._cursor.peek()))throw this._createError(l(this._cursor.peek()),this._cursor.getSpan(e));for(i=this._consumeTagOpenStart(e),n=i.parts[0],t=i.parts[1],this._attemptCharCodeUntilFn(d);this._cursor.peek()!==r.$SLASH&&this._cursor.peek()!==r.$GT;){const[e,t]=this._consumeAttributeName();if(this._attemptCharCodeUntilFn(d),this._attemptCharCode(r.$EQ)){this._attemptCharCodeUntilFn(d);const n=this._consumeAttributeValue();u.push({prefix:e,name:t,value:n})}else u.push({prefix:e,name:t});this._attemptCharCodeUntilFn(d)}this._consumeTagOpenEnd()}catch(t){if(t instanceof D)return this._cursor=a,i&&(this.tokens.length=o),this._beginToken(s.TEXT,e),void this._endToken([\"<\"]);throw t}if(this._canSelfClose&&this.tokens[this.tokens.length-1].type===s.TAG_OPEN_END_VOID)return;const c=this._getTagContentType(t,n,this._fullNameStack.length>0,u);this._handleFullNameStackForTagOpen(n,t),c===gn.TagContentType.RAW_TEXT?this._consumeRawTextWithTagClose(n,t,!1):c===gn.TagContentType.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(n,t,!0)}_consumeRawTextWithTagClose(e,t,n){this._consumeRawText(n,(()=>!!this._attemptCharCode(r.$LT)&&(!!this._attemptCharCode(r.$SLASH)&&(this._attemptCharCodeUntilFn(d),!!this._attemptStrCaseInsensitive(e?\"\".concat(e,\":\").concat(t):t)&&(this._attemptCharCodeUntilFn(d),this._attemptCharCode(r.$GT))))));this._beginToken(s.TAG_CLOSE),this._requireCharCodeUntilFn((e=>e===r.$GT),3),this._cursor.advance(),this._endToken([e,t]),this._handleFullNameStackForTagClose(e,t)}_consumeTagOpenStart(e){this._beginToken(s.TAG_OPEN_START,e);const t=this._consumePrefixAndName();return this._endToken(t)}_consumeAttributeName(){const e=this._cursor.peek();if(e===r.$SQ||e===r.$DQ)throw this._createError(l(e),this._cursor.getSpan());this._beginToken(s.ATTR_NAME);const t=this._consumePrefixAndName();return this._endToken(t),t}_consumeAttributeValue(){let e;if(this._cursor.peek()===r.$SQ||this._cursor.peek()===r.$DQ){this._beginToken(s.ATTR_QUOTE);const t=this._cursor.peek();this._cursor.advance(),this._endToken([String.fromCodePoint(t)]),this._beginToken(s.ATTR_VALUE);const n=[];for(;this._cursor.peek()!==t;)n.push(this._readChar(!0));e=this._processCarriageReturns(n.join(\"\")),this._endToken([e]),this._beginToken(s.ATTR_QUOTE),this._cursor.advance(),this._endToken([String.fromCodePoint(t)])}else{this._beginToken(s.ATTR_VALUE);const t=this._cursor.clone();this._requireCharCodeUntilFn(f,1),e=this._processCarriageReturns(this._cursor.getChars(t)),this._endToken([e])}return e}_consumeTagOpenEnd(){const e=this._attemptCharCode(r.$SLASH)?s.TAG_OPEN_END_VOID:s.TAG_OPEN_END;this._beginToken(e),this._requireCharCode(r.$GT),this._endToken([])}_consumeTagClose(e){if(this._beginToken(s.TAG_CLOSE,e),this._attemptCharCodeUntilFn(d),this._allowHtmComponentClosingTags&&this._attemptCharCode(r.$SLASH))this._attemptCharCodeUntilFn(d),this._requireCharCode(r.$GT),this._endToken([]);else{const[e,t]=this._consumePrefixAndName();this._attemptCharCodeUntilFn(d),this._requireCharCode(r.$GT),this._endToken([e,t]),this._handleFullNameStackForTagClose(e,t)}}_consumeExpansionFormStart(){this._beginToken(s.EXPANSION_FORM_START),this._requireCharCode(r.$LBRACE),this._endToken([]),this._expansionCaseStack.push(s.EXPANSION_FORM_START),this._beginToken(s.RAW_TEXT);const e=this._readUntil(r.$COMMA);this._endToken([e]),this._requireCharCode(r.$COMMA),this._attemptCharCodeUntilFn(d),this._beginToken(s.RAW_TEXT);const t=this._readUntil(r.$COMMA);this._endToken([t]),this._requireCharCode(r.$COMMA),this._attemptCharCodeUntilFn(d)}_consumeExpansionCaseStart(){this._beginToken(s.EXPANSION_CASE_VALUE);const e=this._readUntil(r.$LBRACE).trim();this._endToken([e]),this._attemptCharCodeUntilFn(d),this._beginToken(s.EXPANSION_CASE_EXP_START),this._requireCharCode(r.$LBRACE),this._endToken([]),this._attemptCharCodeUntilFn(d),this._expansionCaseStack.push(s.EXPANSION_CASE_EXP_START)}_consumeExpansionCaseEnd(){this._beginToken(s.EXPANSION_CASE_EXP_END),this._requireCharCode(r.$RBRACE),this._endToken([]),this._attemptCharCodeUntilFn(d),this._expansionCaseStack.pop()}_consumeExpansionFormEnd(){this._beginToken(s.EXPANSION_FORM_END),this._requireCharCode(r.$RBRACE),this._endToken([]),this._expansionCaseStack.pop()}_consumeText(){const e=this._cursor.clone();this._beginToken(s.TEXT,e);const t=[];do{this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(t.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(t.push(this._interpolationConfig.end),this._inInterpolation=!1):t.push(this._readChar(!0))}while(!this._isTextEnd());this._endToken([this._processCarriageReturns(t.join(\"\"))])}_isTextEnd(){if(this._cursor.peek()===r.$LT||this._cursor.peek()===r.$EOF)return!0;if(this._tokenizeIcu&&!this._inInterpolation){if(this.isExpansionFormStart())return!0;if(this._cursor.peek()===r.$RBRACE&&this._isInExpansionCase())return!0}return!1}_readUntil(e){const t=this._cursor.clone();return this._attemptUntilChar(e),this._cursor.getChars(t)}_isInExpansionCase(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===s.EXPANSION_CASE_EXP_START}_isInExpansionForm(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===s.EXPANSION_FORM_START}isExpansionFormStart(){if(this._cursor.peek()!==r.$LBRACE)return!1;if(this._interpolationConfig){const e=this._cursor.clone(),t=this._attemptStr(this._interpolationConfig.start);return this._cursor=e,!t}return!0}_handleFullNameStackForTagOpen(e,t){const n=gn.mergeNsAndName(e,t);0!==this._fullNameStack.length&&this._fullNameStack[this._fullNameStack.length-1]!==n||this._fullNameStack.push(n)}_handleFullNameStackForTagClose(e,t){const n=gn.mergeNsAndName(e,t);0!==this._fullNameStack.length&&this._fullNameStack[this._fullNameStack.length-1]===n&&this._fullNameStack.pop()}}function d(e){return!r.isWhitespace(e)||e===r.$EOF}function f(e){return r.isWhitespace(e)||e===r.$GT||e===r.$SLASH||e===r.$SQ||e===r.$DQ||e===r.$EQ}function m(e){return e==r.$SEMICOLON||e==r.$EOF||!r.isAsciiHexDigit(e)}function g(e){return e==r.$SEMICOLON||e==r.$EOF||!r.isAsciiLetter(e)}function E(e){return e>=r.$a&&e<=r.$z?e-r.$a+r.$A:e}class C{constructor(e,t){if(e instanceof C)this.file=e.file,this.input=e.input,this.end=e.end,this.state=Object.assign({},e.state);else{if(!t)throw new Error(\"Programming error: the range argument must be provided with a file argument.\");this.file=e,this.input=e.content,this.end=t.endPos,this.state={peek:-1,offset:t.startPos,line:t.startLine,column:t.startCol}}}clone(){return new C(this)}peek(){return this.state.peek}charsLeft(){return this.end-this.state.offset}diff(e){return this.state.offset-e.state.offset}advance(){this.advanceState(this.state)}init(){this.updatePeek(this.state)}getSpan(e,t){if(e=e||this,t)for(e=e.clone();this.diff(e)>0&&-1!==t.indexOf(e.peek());)e.advance();return new o.ParseSourceSpan(new o.ParseLocation(e.file,e.state.offset,e.state.line,e.state.column),new o.ParseLocation(this.file,this.state.offset,this.state.line,this.state.column))}getChars(e){return this.input.substring(e.state.offset,this.state.offset)}charAt(e){return this.input.charCodeAt(e)}advanceState(e){if(e.offset>=this.end)throw this.state=e,new y('Unexpected character \"EOF\"',this);const t=this.charAt(e.offset);t===r.$LF?(e.line++,e.column=0):r.isNewLine(t)||e.column++,e.offset++,this.updatePeek(e)}updatePeek(e){e.peek=e.offset>=this.end?r.$EOF:this.charAt(e.offset)}}class T extends C{constructor(e,t){e instanceof T?(super(e),this.internalState=Object.assign({},e.internalState)):(super(e,t),this.internalState=this.state)}advance(){this.state=this.internalState,super.advance(),this.processEscapeSequence()}init(){super.init(),this.processEscapeSequence()}clone(){return new T(this)}getChars(e){const t=e.clone();let n=\"\";for(;t.internalState.offsetthis.internalState.peek;if(e()===r.$BACKSLASH)if(this.internalState=Object.assign({},this.state),this.advanceState(this.internalState),e()===r.$n)this.state.peek=r.$LF;else if(e()===r.$r)this.state.peek=r.$CR;else if(e()===r.$v)this.state.peek=r.$VTAB;else if(e()===r.$t)this.state.peek=r.$TAB;else if(e()===r.$b)this.state.peek=r.$BSPACE;else if(e()===r.$f)this.state.peek=r.$FF;else if(e()===r.$u)if(this.advanceState(this.internalState),e()===r.$LBRACE){this.advanceState(this.internalState);const t=this.clone();let n=0;for(;e()!==r.$RBRACE;)this.advanceState(this.internalState),n++;this.state.peek=this.decodeHexDigits(t,n)}else{const e=this.clone();this.advanceState(this.internalState),this.advanceState(this.internalState),this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(e,4)}else if(e()===r.$x){this.advanceState(this.internalState);const e=this.clone();this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(e,2)}else if(r.isOctalDigit(e())){let t=\"\",n=0,s=this.clone();for(;r.isOctalDigit(e())&&n<3;)s=this.clone(),t+=String.fromCodePoint(e()),this.advanceState(this.internalState),n++;this.state.peek=parseInt(t,8),this.internalState=s.internalState}else r.isNewLine(this.internalState.peek)?(this.advanceState(this.internalState),this.state=this.internalState):this.state.peek=this.internalState.peek}decodeHexDigits(e,t){const n=this.input.substr(e.internalState.offset,t),r=parseInt(n,16);if(isNaN(r))throw e.state=e.internalState,new y(\"Invalid hexadecimal escape sequence\",e);return r}}class y{constructor(e,t){this.msg=e,this.cursor=t}}t.CursorError=y})),bn=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});class n extends o.ParseError{constructor(e,t,n){super(t,n),this.elementName=e}static create(e,t,r){return new n(e,t,r)}}t.TreeError=n;class r{constructor(e,t){this.rootNodes=e,this.errors=t}}t.ParseTreeResult=r;t.Parser=class{constructor(e){this.getTagDefinition=e}parse(e,t,n,i=!1,o){const a=e=>(t,...n)=>e(t.toLowerCase(),...n),u=i?this.getTagDefinition:a(this.getTagDefinition),c=e=>u(e).contentType,l=i?o:a(o),p=o?(e,t,n,r)=>{const s=l(e,t,n,r);return void 0!==s?s:c(e)}:c,D=_n.tokenize(e,t,p,n),h=n&&n.canSelfClose||!1,d=n&&n.allowHtmComponentClosingTags||!1,f=new s(D.tokens,u,h,d,i).build();return new r(f.rootNodes,D.errors.concat(f.errors))}};class s{constructor(e,t,n,r,s){this.tokens=e,this.getTagDefinition=t,this.canSelfClose=n,this.allowHtmComponentClosingTags=r,this.isTagNameCaseSensitive=s,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance()}build(){for(;this._peek.type!==_n.TokenType.EOF;)this._peek.type===_n.TokenType.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===_n.TokenType.TAG_CLOSE?(this._closeVoidElement(),this._consumeEndTag(this._advance())):this._peek.type===_n.TokenType.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===_n.TokenType.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===_n.TokenType.TEXT||this._peek.type===_n.TokenType.RAW_TEXT||this._peek.type===_n.TokenType.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===_n.TokenType.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._peek.type===_n.TokenType.DOC_TYPE_START?this._consumeDocType(this._advance()):this._advance();return new r(this._rootNodes,this._errors)}_advance(){const e=this._peek;return this._index0)return this._errors=this._errors.concat(a.errors),null;const u=new o.ParseSourceSpan(e.sourceSpan.start,i.sourceSpan.end),c=new o.ParseSourceSpan(t.sourceSpan.start,i.sourceSpan.end);return new Tn.ExpansionCase(e.parts[0],a.rootNodes,u,e.sourceSpan,c)}_collectExpansionExpTokens(e){const t=[],r=[_n.TokenType.EXPANSION_CASE_EXP_START];for(;;){if(this._peek.type!==_n.TokenType.EXPANSION_FORM_START&&this._peek.type!==_n.TokenType.EXPANSION_CASE_EXP_START||r.push(this._peek.type),this._peek.type===_n.TokenType.EXPANSION_CASE_EXP_END){if(!i(r,_n.TokenType.EXPANSION_CASE_EXP_START))return this._errors.push(n.create(null,e.sourceSpan,\"Invalid ICU message. Missing '}'.\")),null;if(r.pop(),0==r.length)return t}if(this._peek.type===_n.TokenType.EXPANSION_FORM_END){if(!i(r,_n.TokenType.EXPANSION_FORM_START))return this._errors.push(n.create(null,e.sourceSpan,\"Invalid ICU message. Missing '}'.\")),null;r.pop()}if(this._peek.type===_n.TokenType.EOF)return this._errors.push(n.create(null,e.sourceSpan,\"Invalid ICU message. Missing '}'.\")),null;t.push(this._advance())}}_getText(e){let t=e.parts[0];if(t.length>0&&\"\\n\"==t[0]){const e=this._getParentElement();null!=e&&0==e.children.length&&this.getTagDefinition(e.name).ignoreFirstLf&&(t=t.substring(1))}return t}_consumeText(e){const t=this._getText(e);t.length>0&&this._addToParent(new Tn.Text(t,e.sourceSpan))}_closeVoidElement(){const e=this._getParentElement();e&&this.getTagDefinition(e.name).isVoid&&this._elementStack.pop()}_consumeStartTag(e){const t=e.parts[0],r=e.parts[1],s=[];for(;this._peek.type===_n.TokenType.ATTR_NAME;)s.push(this._consumeAttr(this._advance()));const i=this._getElementFullName(t,r,this._getParentElement());let a=!1;if(this._peek.type===_n.TokenType.TAG_OPEN_END_VOID){this._advance(),a=!0;const t=this.getTagDefinition(i);this.canSelfClose||t.canSelfClose||null!==gn.getNsPrefix(i)||t.isVoid||this._errors.push(n.create(i,e.sourceSpan,'Only void and foreign elements can be self closed \"'.concat(e.parts[1],'\"')))}else this._peek.type===_n.TokenType.TAG_OPEN_END&&(this._advance(),a=!1);const u=this._peek.sourceSpan.start,c=new o.ParseSourceSpan(e.sourceSpan.start,u),l=new o.ParseSourceSpan(e.sourceSpan.start.moveBy(1),e.sourceSpan.end),p=new Tn.Element(i,s,[],c,c,void 0,l);this._pushElement(p),a&&(this._popElement(i),p.endSourceSpan=c)}_pushElement(e){const t=this._getParentElement();t&&this.getTagDefinition(t.name).isClosedByChild(e.name)&&this._elementStack.pop(),this._addToParent(e),this._elementStack.push(e)}_consumeEndTag(e){const t=this.allowHtmComponentClosingTags&&0===e.parts.length?null:this._getElementFullName(e.parts[0],e.parts[1],this._getParentElement());if(this._getParentElement()&&(this._getParentElement().endSourceSpan=e.sourceSpan),t&&this.getTagDefinition(t).isVoid)this._errors.push(n.create(t,e.sourceSpan,'Void elements do not have end tags \"'.concat(e.parts[1],'\"')));else if(!this._popElement(t)){const r='Unexpected closing tag \"'.concat(t,'\". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags');this._errors.push(n.create(t,e.sourceSpan,r))}}_popElement(e){for(let t=this._elementStack.length-1;t>=0;t--){const n=this._elementStack[t];if(!e||(gn.getNsPrefix(n.name)?n.name==e:n.name.toLowerCase()==e.toLowerCase()))return this._elementStack.splice(t,this._elementStack.length-t),!0;if(!this.getTagDefinition(n.name).closedByParent)return!1}return!1}_consumeAttr(e){const t=gn.mergeNsAndName(e.parts[0],e.parts[1]);let n=e.sourceSpan.end,r=\"\",s=void 0,i=void 0;if(this._peek.type===_n.TokenType.ATTR_QUOTE){i=this._advance().sourceSpan.start}if(this._peek.type===_n.TokenType.ATTR_VALUE){const e=this._advance();r=e.parts[0],n=e.sourceSpan.end,s=e.sourceSpan}if(this._peek.type===_n.TokenType.ATTR_QUOTE){n=this._advance().sourceSpan.end,s=new o.ParseSourceSpan(i,n)}return new Tn.Attribute(t,r,new o.ParseSourceSpan(e.sourceSpan.start,n),s,e.sourceSpan)}_getParentElement(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null}_getParentElementSkippingContainers(){let e=null;for(let t=this._elementStack.length-1;t>=0;t--){if(!gn.isNgContainer(this._elementStack[t].name))return{parent:this._elementStack[t],container:e};e=this._elementStack[t]}return{parent:null,container:e}}_addToParent(e){const t=this._getParentElement();null!=t?t.children.push(e):this._rootNodes.push(e)}_insertBeforeContainer(e,t,n){if(t){if(e){const r=e.children.indexOf(t);e.children[r]=n}else this._rootNodes.push(n);n.children.push(t),this._elementStack.splice(this._elementStack.indexOf(t),0,n)}else this._addToParent(n),this._elementStack.push(n)}_getElementFullName(e,t,n){return\"\"===e&&\"\"===(e=this.getTagDefinition(t).implicitNamespacePrefix||\"\")&&null!=n&&(e=gn.getNsPrefix(n.name)),gn.mergeNsAndName(e,t)}}function i(e,t){return e.length>0&&e[e.length-1]===t}})),Fn=t((function(e,t){\n/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */\nObject.defineProperty(t,\"__esModule\",{value:!0});var n=bn;t.ParseTreeResult=n.ParseTreeResult,t.TreeError=n.TreeError;class r extends bn.Parser{constructor(){super(En.getHtmlTagDefinition)}parse(e,t,n,r=!1,s){return super.parse(e,t,n,r,s)}}t.HtmlParser=r})),An=t((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.TagContentType=gn.TagContentType;let n=null;t.parse=function(e,t={}){const{canSelfClose:r=!1,allowHtmComponentClosingTags:s=!1,isTagNameCaseSensitive:i=!1,getTagContentType:o}=t;return(n||(n=new Fn.HtmlParser),n).parse(e,\"angular-html-parser\",{tokenizeExpansionForms:!1,interpolationConfig:void 0,canSelfClose:r,allowHtmComponentClosingTags:s},i,o)}}));const{ParseSourceSpan:vn,ParseLocation:wn,ParseSourceFile:kn}=o,{parse:Nn}=At,{inferParserByLanguage:xn}=We,{HTML_ELEMENT_ATTRIBUTES:On,HTML_TAGS:Rn,isUnknownNamespace:Pn}=on,{hasPragma:Ln}=an,{Node:Bn}=Dn,{parseIeConditionalComment:In}=fn,{locStart:qn,locEnd:$n}=mn;function Mn(e,{recognizeSelfClosing:t,normalizeTagName:n,normalizeAttributeName:r,allowHtmComponentClosingTags:s,isTagNameCaseSensitive:i,getTagContentType:a},u){const c=An,{RecursiveVisitor:l,visitAll:p,Attribute:D,CDATA:h,Comment:d,DocType:f,Element:m,Text:g}=Tn,{ParseSourceSpan:E}=o,{getHtmlTagDefinition:C}=En;let{rootNodes:T,errors:y}=c.parse(e,{canSelfClose:t,allowHtmComponentClosingTags:s,isTagNameCaseSensitive:i,getTagContentType:a});const S=\"vue\"===u.parser&&T.some((e=>e instanceof f&&\"html\"===e.value||e instanceof m&&\"html\"===e.name.toLowerCase()));if(\"vue\"!==u.parser||S){if(S){t=!0,n=!0,r=!0,s=!0,i=!1;const o=c.parse(e,{canSelfClose:t,allowHtmComponentClosingTags:s,isTagNameCaseSensitive:i});T=o.rootNodes,y=o.errors}}else{const n=e=>{if(!e)return!1;if(\"template\"!==e.name)return!1;const t=e.attrs.find((e=>\"lang\"===e.name)),n=t&&t.value;return null==n||\"html\"===xn(n,u)};if(T.some(n)){let r;const o=()=>c.parse(e,{canSelfClose:t,allowHtmComponentClosingTags:s,isTagNameCaseSensitive:i}),a=()=>r||(r=o()),u=e=>a().rootNodes.find((({startSourceSpan:t})=>t&&t.start.offset===e.startSourceSpan.start.offset));for(let e=0;e{const t=e.name.startsWith(\":\")?e.name.slice(1).split(\":\")[0]:null,n=e.nameSpan.toString(),r=n.startsWith(\"\".concat(t,\":\")),s=r?n.slice(t.length+1):n;e.name=s,e.namespace=t,e.hasExplicitNamespace=r},b=(e,t)=>{const n=e.toLowerCase();return t(n)?n:e};return p(new class extends l{visit(e){(e=>{if(e instanceof D)e.type=\"attribute\";else if(e instanceof h)e.type=\"cdata\";else if(e instanceof d)e.type=\"comment\";else if(e instanceof f)e.type=\"docType\";else if(e instanceof m)e.type=\"element\";else{if(!(e instanceof g))throw new Error(\"Unexpected node \".concat(JSON.stringify(e)));e.type=\"text\"}})(e),(e=>{e instanceof m?(_(e),e.attrs.forEach((e=>{_(e),e.valueSpan?(e.value=e.valueSpan.toString(),/[\"']/.test(e.value[0])&&(e.value=e.value.slice(1,-1))):e.value=null}))):e instanceof d?e.value=e.sourceSpan.toString().slice(\"\\x3c!--\".length,-\"--\\x3e\".length):e instanceof g&&(e.value=e.sourceSpan.toString())})(e),(e=>{if(e instanceof m){const t=C(i?e.name:e.name.toLowerCase());!e.namespace||e.namespace===t.implicitNamespacePrefix||Pn(e)?e.tagDefinition=t:e.tagDefinition=C(\"\")}})(e),(e=>{if(e instanceof m&&(!n||e.namespace&&e.namespace!==e.tagDefinition.implicitNamespacePrefix&&!Pn(e)||(e.name=b(e.name,(e=>e in Rn))),r)){const t=On[e.name]||Object.create(null);e.attrs.forEach((n=>{n.namespace||(n.name=b(n.name,(n=>e.name in On&&(n in On[\"*\"]||n in t))))}))}})(e),(e=>{e.sourceSpan&&e.endSourceSpan&&(e.sourceSpan=new E(e.sourceSpan.start,e.endSourceSpan.end))})(e)}},T),T}function Un(e,t,n,r=!0){const{frontMatter:s,content:i}=r?Nn(e):{frontMatter:null,content:e},o=new kn(e,t.filepath),a=new wn(o,0,0,0),u=a.moveBy(e.length),c={type:\"root\",sourceSpan:new vn(a,u),children:Mn(i,n,t)};if(s){const e=new wn(o,0,0,0),t=e.moveBy(s.raw.length);s.sourceSpan=new vn(e,t),c.children.unshift(s)}const l=new Bn(c),p=(r,s)=>{const{offset:i}=s,o=Un(e.slice(0,i).replace(/[^\\n\\r]/g,\" \")+r,t,n,!1);o.sourceSpan=new vn(s,o.children[o.children.length-1].sourceSpan.end);const a=o.children[0];return a.length===i?o.children.shift():(a.sourceSpan=new vn(a.sourceSpan.start.moveBy(i),a.sourceSpan.end),a.value=a.value.slice(i)),o};return l.map((e=>{if(\"comment\"===e.type){const t=In(e,p);if(t)return t}return e}))}function Gn({recognizeSelfClosing:e=!1,normalizeTagName:t=!1,normalizeAttributeName:n=!1,allowHtmComponentClosingTags:r=!1,isTagNameCaseSensitive:s=!1,getTagContentType:i}={}){return{parse:(o,a,u)=>Un(o,u,{recognizeSelfClosing:e,normalizeTagName:t,normalizeAttributeName:n,allowHtmComponentClosingTags:r,isTagNameCaseSensitive:s,getTagContentType:i}),hasPragma:Ln,astFormat:\"html\",locStart:qn,locEnd:$n}}return{parsers:{html:Gn({recognizeSelfClosing:!0,normalizeTagName:!0,normalizeAttributeName:!0,allowHtmComponentClosingTags:!0}),angular:Gn(),vue:Gn({recognizeSelfClosing:!0,isTagNameCaseSensitive:!0,getTagContentType:(e,t,n,r)=>{if(\"html\"!==e.toLowerCase()&&!n&&(\"template\"!==e||r.some((({name:e,value:t})=>\"lang\"===e&&\"html\"!==t))))return An.TagContentType.RAW_TEXT}}),lwc:Gn()}}}));\n","module.exports = require(\"http\");","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","module.exports = require(\"dns\");","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar core = require('@octokit/core');\nvar pluginRequestLog = require('@octokit/plugin-request-log');\nvar pluginPaginateRest = require('@octokit/plugin-paginate-rest');\nvar pluginRestEndpointMethods = require('@octokit/plugin-rest-endpoint-methods');\n\nconst VERSION = \"17.11.2\";\n\nconst Octokit = core.Octokit.plugin(pluginRequestLog.requestLog, pluginRestEndpointMethods.restEndpointMethods, pluginPaginateRest.paginateRest).defaults({\n userAgent: `octokit-rest.js/${VERSION}`\n});\n\nexports.Octokit = Octokit;\n//# sourceMappingURL=index.js.map\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('head', _head, {\n canReceivePipe: true,\n cmdOptions: {\n 'n': 'numLines',\n },\n});\n\n// Reads |numLines| lines or the entire file, whichever is less.\nfunction readSomeLines(file, numLines) {\n var buf = common.buffer();\n var bufLength = buf.length;\n var bytesRead = bufLength;\n var pos = 0;\n\n var fdr = fs.openSync(file, 'r');\n var numLinesRead = 0;\n var ret = '';\n while (bytesRead === bufLength && numLinesRead < numLines) {\n bytesRead = fs.readSync(fdr, buf, 0, bufLength, pos);\n var bufStr = buf.toString('utf8', 0, bytesRead);\n numLinesRead += bufStr.split('\\n').length - 1;\n ret += bufStr;\n pos += bytesRead;\n }\n\n fs.closeSync(fdr);\n return ret;\n}\n\n//@\n//@ ### head([{'-n': \\},] file [, file ...])\n//@ ### head([{'-n': \\},] file_array)\n//@\n//@ Available options:\n//@\n//@ + `-n `: Show the first `` lines of the files\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ var str = head({'-n': 1}, 'file*.txt');\n//@ var str = head('file1', 'file2');\n//@ var str = head(['file1', 'file2']); // same as above\n//@ ```\n//@\n//@ Read the start of a file.\nfunction _head(options, files) {\n var head = [];\n var pipe = common.readFromPipe();\n\n if (!files && !pipe) common.error('no paths given');\n\n var idx = 1;\n if (options.numLines === true) {\n idx = 2;\n options.numLines = Number(arguments[1]);\n } else if (options.numLines === false) {\n options.numLines = 10;\n }\n files = [].slice.call(arguments, idx);\n\n if (pipe) {\n files.unshift('-');\n }\n\n var shouldAppendNewline = false;\n files.forEach(function (file) {\n if (file !== '-') {\n if (!fs.existsSync(file)) {\n common.error('no such file or directory: ' + file, { continue: true });\n return;\n } else if (common.statFollowLinks(file).isDirectory()) {\n common.error(\"error reading '\" + file + \"': Is a directory\", {\n continue: true,\n });\n return;\n }\n }\n\n var contents;\n if (file === '-') {\n contents = pipe;\n } else if (options.numLines < 0) {\n contents = fs.readFileSync(file, 'utf8');\n } else {\n contents = readSomeLines(file, options.numLines);\n }\n\n var lines = contents.split('\\n');\n var hasTrailingNewline = (lines[lines.length - 1] === '');\n if (hasTrailingNewline) {\n lines.pop();\n }\n shouldAppendNewline = (hasTrailingNewline || options.numLines < lines.length);\n\n head = head.concat(lines.slice(0, options.numLines));\n });\n\n if (shouldAppendNewline) {\n head.push(''); // to add a trailing newline once we join\n }\n return head.join('\\n');\n}\nmodule.exports = _head;\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';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar request = require('@octokit/request');\nvar universalUserAgent = require('universal-user-agent');\n\nconst VERSION = \"4.5.4\";\n\nclass GraphqlError extends Error {\n constructor(request, response) {\n const message = response.data.errors[0].message;\n super(message);\n Object.assign(this, response.data);\n Object.assign(this, {\n headers: response.headers\n });\n this.name = \"GraphqlError\";\n this.request = request; // 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\n}\n\nconst NON_VARIABLE_OPTIONS = [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"query\", \"mediaType\"];\nfunction graphql(request, query, options) {\n options = typeof query === \"string\" ? options = Object.assign({\n query\n }, options) : options = query;\n const requestOptions = Object.keys(options).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = options[key];\n return result;\n }\n\n if (!result.variables) {\n result.variables = {};\n }\n\n result.variables[key] = options[key];\n return result;\n }, {});\n return request(requestOptions).then(response => {\n if (response.data.errors) {\n const headers = {};\n\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n\n throw new GraphqlError(requestOptions, {\n headers,\n data: response.data\n });\n }\n\n return response.data.data;\n });\n}\n\nfunction withDefaults(request$1, newDefaults) {\n const newRequest = request$1.defaults(newDefaults);\n\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: request.request.endpoint\n });\n}\n\nconst graphql$1 = withDefaults(request.request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\n\nexports.graphql = graphql$1;\nexports.withCustomRequest = withCustomRequest;\n//# sourceMappingURL=index.js.map\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst mkdir = require('../mkdirs')\nconst pathExists = require('../path-exists').pathExists\n\nfunction createLink (srcpath, dstpath, callback) {\n function makeLink (srcpath, dstpath) {\n fs.link(srcpath, dstpath, err => {\n if (err) return callback(err)\n callback(null)\n })\n }\n\n pathExists(dstpath, (err, destinationExists) => {\n if (err) return callback(err)\n if (destinationExists) return callback(null)\n fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n return callback(err)\n }\n\n const dir = path.dirname(dstpath)\n pathExists(dir, (err, dirExists) => {\n if (err) return callback(err)\n if (dirExists) return makeLink(srcpath, dstpath)\n mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n makeLink(srcpath, dstpath)\n })\n })\n })\n })\n}\n\nfunction createLinkSync (srcpath, dstpath) {\n const destinationExists = fs.existsSync(dstpath)\n if (destinationExists) return undefined\n\n try {\n fs.lstatSync(srcpath)\n } catch (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n throw err\n }\n\n const dir = path.dirname(dstpath)\n const dirExists = fs.existsSync(dir)\n if (dirExists) return fs.linkSync(srcpath, dstpath)\n mkdir.mkdirsSync(dir)\n\n return fs.linkSync(srcpath, dstpath)\n}\n\nmodule.exports = {\n createLink: u(createLink),\n createLinkSync\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateGraphs = void 0;\nconst fs_extra_1 = require(\"fs-extra\");\nconst js_yaml_1 = require(\"js-yaml\");\nconst path_1 = require(\"path\");\nconst shelljs_1 = require(\"shelljs\");\nconst git_1 = require(\"./helpers/git\");\nconst init_check_1 = require(\"./helpers/init-check\");\nconst temp_1 = require(\"./helpers/temp\");\nconst generateGraphs = async () => {\n if (!(await init_check_1.shouldContinue()))\n return;\n await fs_extra_1.mkdirp(\"graphs\");\n await fs_extra_1.mkdirp(\"api\");\n const config = js_yaml_1.safeLoad(await fs_extra_1.readFile(path_1.join(\".\", \".upptimerc.yml\"), \"utf8\"));\n shelljs_1.exec(\"npx @upptime/graphs\");\n shelljs_1.exec(\"npx imagemin-cli graphs/* --out-dir=graphs\");\n await temp_1.tempFixes();\n git_1.commit((config.commitMessages || {}).graphsUpdate || \":bento: Update graphs [skip ci]\", (config.commitMessages || {}).commitAuthorName, (config.commitMessages || {}).commitAuthorEmail);\n git_1.push();\n};\nexports.generateGraphs = generateGraphs;\n//# sourceMappingURL=graphs.js.map","module.exports = require(\"zlib\");","'use strict';\n\nconst Transform = require('stream').Transform;\n\n/**\n * Encodes a Buffer into a base64 encoded string\n *\n * @param {Buffer} buffer Buffer to convert\n * @returns {String} base64 encoded string\n */\nfunction encode(buffer) {\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer, 'utf-8');\n }\n\n return buffer.toString('base64');\n}\n\n/**\n * Adds soft line breaks to a base64 string\n *\n * @param {String} str base64 encoded string that might need line wrapping\n * @param {Number} [lineLength=76] Maximum allowed length for a line\n * @returns {String} Soft-wrapped base64 encoded string\n */\nfunction wrap(str, lineLength) {\n str = (str || '').toString();\n lineLength = lineLength || 76;\n\n if (str.length <= lineLength) {\n return str;\n }\n\n let result = [];\n let pos = 0;\n let chunkLength = lineLength * 1024;\n while (pos < str.length) {\n let wrappedLines = str\n .substr(pos, chunkLength)\n .replace(new RegExp('.{' + lineLength + '}', 'g'), '$&\\r\\n')\n .trim();\n result.push(wrappedLines);\n pos += chunkLength;\n }\n\n return result.join('\\r\\n').trim();\n}\n\n/**\n * Creates a transform stream for encoding data to base64 encoding\n *\n * @constructor\n * @param {Object} options Stream options\n * @param {Number} [options.lineLength=76] Maximum lenght for lines, set to false to disable wrapping\n */\nclass Encoder extends Transform {\n constructor(options) {\n super();\n // init Transform\n this.options = options || {};\n\n if (this.options.lineLength !== false) {\n this.options.lineLength = this.options.lineLength || 76;\n }\n\n this._curLine = '';\n this._remainingBytes = false;\n\n this.inputBytes = 0;\n this.outputBytes = 0;\n }\n\n _transform(chunk, encoding, done) {\n if (encoding !== 'buffer') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n if (!chunk || !chunk.length) {\n return setImmediate(done);\n }\n\n this.inputBytes += chunk.length;\n\n if (this._remainingBytes && this._remainingBytes.length) {\n chunk = Buffer.concat([this._remainingBytes, chunk], this._remainingBytes.length + chunk.length);\n this._remainingBytes = false;\n }\n\n if (chunk.length % 3) {\n this._remainingBytes = chunk.slice(chunk.length - (chunk.length % 3));\n chunk = chunk.slice(0, chunk.length - (chunk.length % 3));\n } else {\n this._remainingBytes = false;\n }\n\n let b64 = this._curLine + encode(chunk);\n\n if (this.options.lineLength) {\n b64 = wrap(b64, this.options.lineLength);\n\n // remove last line as it is still most probably incomplete\n let lastLF = b64.lastIndexOf('\\n');\n if (lastLF < 0) {\n this._curLine = b64;\n b64 = '';\n } else if (lastLF === b64.length - 1) {\n this._curLine = '';\n } else {\n this._curLine = b64.substr(lastLF + 1);\n b64 = b64.substr(0, lastLF + 1);\n }\n }\n\n if (b64) {\n this.outputBytes += b64.length;\n this.push(Buffer.from(b64, 'ascii'));\n }\n\n setImmediate(done);\n }\n\n _flush(done) {\n if (this._remainingBytes && this._remainingBytes.length) {\n this._curLine += encode(this._remainingBytes);\n }\n\n if (this._curLine) {\n this._curLine = wrap(this._curLine, this.options.lineLength);\n this.outputBytes += this._curLine.length;\n this.push(this._curLine, 'ascii');\n this._curLine = '';\n }\n done();\n }\n}\n\n// expose to the world\nmodule.exports = {\n encode,\n wrap,\n Encoder\n};\n","\"use strict\";\r\n/**\r\n * Copyright (c) Jonathan Cardoso Machado. All Rights Reserved.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CurlShareCode = exports.CurlCode = exports.CurlMultiCode = void 0;\r\n// https://github.com/curl/curl/blob/7e35eb7729/include/curl/multi.h#L61\r\n/**\r\n * @public\r\n */\r\nvar CurlMultiCode;\r\n(function (CurlMultiCode) {\r\n CurlMultiCode[CurlMultiCode[\"CURLM_CALL_MULTI_PERFORM\"] = -1] = \"CURLM_CALL_MULTI_PERFORM\"; /* please call curl_multi_perform() or\r\n curl_multi_socket*() soon */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_OK\"] = 0] = \"CURLM_OK\";\r\n CurlMultiCode[CurlMultiCode[\"CURLM_BAD_HANDLE\"] = 1] = \"CURLM_BAD_HANDLE\"; /* the passed-in handle is not a valid CURLM handle */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_BAD_EASY_HANDLE\"] = 2] = \"CURLM_BAD_EASY_HANDLE\"; /* an easy handle was not good/valid */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_OUT_OF_MEMORY\"] = 3] = \"CURLM_OUT_OF_MEMORY\"; /* if you ever get this, you're in deep sh*t */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_INTERNAL_ERROR\"] = 4] = \"CURLM_INTERNAL_ERROR\"; /* this is a libcurl bug */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_BAD_SOCKET\"] = 5] = \"CURLM_BAD_SOCKET\"; /* the passed in socket argument did not match */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_UNKNOWN_OPTION\"] = 6] = \"CURLM_UNKNOWN_OPTION\"; /* curl_multi_setopt() with unsupported option */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_ADDED_ALREADY\"] = 7] = \"CURLM_ADDED_ALREADY\"; /* an easy handle already added to a multi handle was\r\n attempted to get added - again */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_RECURSIVE_API_CALL\"] = 8] = \"CURLM_RECURSIVE_API_CALL\"; /* an api function was called from inside a\r\n callback */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_WAKEUP_FAILURE\"] = 9] = \"CURLM_WAKEUP_FAILURE\"; /* wakeup is unavailable or failed */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_BAD_FUNCTION_ARGUMENT\"] = 10] = \"CURLM_BAD_FUNCTION_ARGUMENT\"; /* function called with a bad parameter */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_LAST\"] = 11] = \"CURLM_LAST\";\r\n /* just to make code nicer when using curl_multi_socket() you can now check\r\n for CURLM_CALL_MULTI_SOCKET too in the same style it works for\r\n curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */\r\n CurlMultiCode[CurlMultiCode[\"CURLM_CALL_MULTI_SOCKET\"] = -1] = \"CURLM_CALL_MULTI_SOCKET\";\r\n})(CurlMultiCode = exports.CurlMultiCode || (exports.CurlMultiCode = {}));\r\n// https://github.com/curl/curl/blob/e1be825453/include/curl/curl.h#L478\r\n/**\r\n * @public\r\n */\r\nvar CurlCode;\r\n(function (CurlCode) {\r\n CurlCode[CurlCode[\"CURLE_OK\"] = 0] = \"CURLE_OK\";\r\n CurlCode[CurlCode[\"CURLE_UNSUPPORTED_PROTOCOL\"] = 1] = \"CURLE_UNSUPPORTED_PROTOCOL\"; /* 1 */\r\n CurlCode[CurlCode[\"CURLE_FAILED_INIT\"] = 2] = \"CURLE_FAILED_INIT\"; /* 2 */\r\n CurlCode[CurlCode[\"CURLE_URL_MALFORMAT\"] = 3] = \"CURLE_URL_MALFORMAT\"; /* 3 */\r\n CurlCode[CurlCode[\"CURLE_NOT_BUILT_IN\"] = 4] = \"CURLE_NOT_BUILT_IN\"; /* 4 - [was obsoleted in August 2007 for\r\n 7.17.0, reused in April 2011 for 7.21.5] */\r\n CurlCode[CurlCode[\"CURLE_COULDNT_RESOLVE_PROXY\"] = 5] = \"CURLE_COULDNT_RESOLVE_PROXY\"; /* 5 */\r\n CurlCode[CurlCode[\"CURLE_COULDNT_RESOLVE_HOST\"] = 6] = \"CURLE_COULDNT_RESOLVE_HOST\"; /* 6 */\r\n CurlCode[CurlCode[\"CURLE_COULDNT_CONNECT\"] = 7] = \"CURLE_COULDNT_CONNECT\"; /* 7 */\r\n CurlCode[CurlCode[\"CURLE_WEIRD_SERVER_REPLY\"] = 8] = \"CURLE_WEIRD_SERVER_REPLY\"; /* 8 */\r\n CurlCode[CurlCode[\"CURLE_REMOTE_ACCESS_DENIED\"] = 9] = \"CURLE_REMOTE_ACCESS_DENIED\"; /* 9 a service was denied by the server\r\n due to lack of access - when login fails\r\n this is not returned. */\r\n CurlCode[CurlCode[\"CURLE_FTP_ACCEPT_FAILED\"] = 10] = \"CURLE_FTP_ACCEPT_FAILED\"; /* 10 - [was obsoleted in April 2006 for\r\n 7.15.4, reused in Dec 2011 for 7.24.0]*/\r\n CurlCode[CurlCode[\"CURLE_FTP_WEIRD_PASS_REPLY\"] = 11] = \"CURLE_FTP_WEIRD_PASS_REPLY\"; /* 11 */\r\n CurlCode[CurlCode[\"CURLE_FTP_ACCEPT_TIMEOUT\"] = 12] = \"CURLE_FTP_ACCEPT_TIMEOUT\"; /* 12 - timeout occurred accepting server\r\n [was obsoleted in August 2007 for 7.17.0,\r\n reused in Dec 2011 for 7.24.0]*/\r\n CurlCode[CurlCode[\"CURLE_FTP_WEIRD_PASV_REPLY\"] = 13] = \"CURLE_FTP_WEIRD_PASV_REPLY\"; /* 13 */\r\n CurlCode[CurlCode[\"CURLE_FTP_WEIRD_227_FORMAT\"] = 14] = \"CURLE_FTP_WEIRD_227_FORMAT\"; /* 14 */\r\n CurlCode[CurlCode[\"CURLE_FTP_CANT_GET_HOST\"] = 15] = \"CURLE_FTP_CANT_GET_HOST\"; /* 15 */\r\n CurlCode[CurlCode[\"CURLE_HTTP2\"] = 16] = \"CURLE_HTTP2\"; /* 16 - A problem in the http2 framing layer.\r\n [was obsoleted in August 2007 for 7.17.0,\r\n reused in July 2014 for 7.38.0] */\r\n CurlCode[CurlCode[\"CURLE_FTP_COULDNT_SET_TYPE\"] = 17] = \"CURLE_FTP_COULDNT_SET_TYPE\"; /* 17 */\r\n CurlCode[CurlCode[\"CURLE_PARTIAL_FILE\"] = 18] = \"CURLE_PARTIAL_FILE\"; /* 18 */\r\n CurlCode[CurlCode[\"CURLE_FTP_COULDNT_RETR_FILE\"] = 19] = \"CURLE_FTP_COULDNT_RETR_FILE\"; /* 19 */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE20\"] = 20] = \"CURLE_OBSOLETE20\"; /* 20 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_QUOTE_ERROR\"] = 21] = \"CURLE_QUOTE_ERROR\"; /* 21 - quote command failure */\r\n CurlCode[CurlCode[\"CURLE_HTTP_RETURNED_ERROR\"] = 22] = \"CURLE_HTTP_RETURNED_ERROR\"; /* 22 */\r\n CurlCode[CurlCode[\"CURLE_WRITE_ERROR\"] = 23] = \"CURLE_WRITE_ERROR\"; /* 23 */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE24\"] = 24] = \"CURLE_OBSOLETE24\"; /* 24 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_UPLOAD_FAILED\"] = 25] = \"CURLE_UPLOAD_FAILED\"; /* 25 - failed upload \"command\" */\r\n CurlCode[CurlCode[\"CURLE_READ_ERROR\"] = 26] = \"CURLE_READ_ERROR\"; /* 26 - couldn't open/read from file */\r\n CurlCode[CurlCode[\"CURLE_OUT_OF_MEMORY\"] = 27] = \"CURLE_OUT_OF_MEMORY\"; /* 27 */\r\n /* Note: CURLE_OUT_OF_MEMORY may sometimes indicate a conversion error\r\n instead of a memory allocation error if CURL_DOES_CONVERSIONS\r\n is defined\r\n */\r\n CurlCode[CurlCode[\"CURLE_OPERATION_TIMEDOUT\"] = 28] = \"CURLE_OPERATION_TIMEDOUT\"; /* 28 - the timeout time was reached */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE29\"] = 29] = \"CURLE_OBSOLETE29\"; /* 29 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_FTP_PORT_FAILED\"] = 30] = \"CURLE_FTP_PORT_FAILED\"; /* 30 - FTP PORT operation failed */\r\n CurlCode[CurlCode[\"CURLE_FTP_COULDNT_USE_REST\"] = 31] = \"CURLE_FTP_COULDNT_USE_REST\"; /* 31 - the REST command failed */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE32\"] = 32] = \"CURLE_OBSOLETE32\"; /* 32 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_RANGE_ERROR\"] = 33] = \"CURLE_RANGE_ERROR\"; /* 33 - RANGE \"command\" didn't work */\r\n CurlCode[CurlCode[\"CURLE_HTTP_POST_ERROR\"] = 34] = \"CURLE_HTTP_POST_ERROR\"; /* 34 */\r\n CurlCode[CurlCode[\"CURLE_SSL_CONNECT_ERROR\"] = 35] = \"CURLE_SSL_CONNECT_ERROR\"; /* 35 - wrong when connecting with SSL */\r\n CurlCode[CurlCode[\"CURLE_BAD_DOWNLOAD_RESUME\"] = 36] = \"CURLE_BAD_DOWNLOAD_RESUME\"; /* 36 - couldn't resume download */\r\n CurlCode[CurlCode[\"CURLE_FILE_COULDNT_READ_FILE\"] = 37] = \"CURLE_FILE_COULDNT_READ_FILE\"; /* 37 */\r\n CurlCode[CurlCode[\"CURLE_LDAP_CANNOT_BIND\"] = 38] = \"CURLE_LDAP_CANNOT_BIND\"; /* 38 */\r\n CurlCode[CurlCode[\"CURLE_LDAP_SEARCH_FAILED\"] = 39] = \"CURLE_LDAP_SEARCH_FAILED\"; /* 39 */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE40\"] = 40] = \"CURLE_OBSOLETE40\"; /* 40 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_FUNCTION_NOT_FOUND\"] = 41] = \"CURLE_FUNCTION_NOT_FOUND\"; /* 41 - NOT USED starting with 7.53.0 */\r\n CurlCode[CurlCode[\"CURLE_ABORTED_BY_CALLBACK\"] = 42] = \"CURLE_ABORTED_BY_CALLBACK\"; /* 42 */\r\n CurlCode[CurlCode[\"CURLE_BAD_FUNCTION_ARGUMENT\"] = 43] = \"CURLE_BAD_FUNCTION_ARGUMENT\"; /* 43 */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE44\"] = 44] = \"CURLE_OBSOLETE44\"; /* 44 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_INTERFACE_FAILED\"] = 45] = \"CURLE_INTERFACE_FAILED\"; /* 45 - CURLOPT_INTERFACE failed */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE46\"] = 46] = \"CURLE_OBSOLETE46\"; /* 46 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_TOO_MANY_REDIRECTS\"] = 47] = \"CURLE_TOO_MANY_REDIRECTS\"; /* 47 - catch endless re-direct loops */\r\n CurlCode[CurlCode[\"CURLE_UNKNOWN_OPTION\"] = 48] = \"CURLE_UNKNOWN_OPTION\"; /* 48 - User specified an unknown option */\r\n CurlCode[CurlCode[\"CURLE_TELNET_OPTION_SYNTAX\"] = 49] = \"CURLE_TELNET_OPTION_SYNTAX\"; /* 49 - Malformed telnet option */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE50\"] = 50] = \"CURLE_OBSOLETE50\"; /* 50 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE51\"] = 51] = \"CURLE_OBSOLETE51\"; /* 51 - NOT USED */\r\n CurlCode[CurlCode[\"CURLE_GOT_NOTHING\"] = 52] = \"CURLE_GOT_NOTHING\"; /* 52 - when this is a specific error */\r\n CurlCode[CurlCode[\"CURLE_SSL_ENGINE_NOTFOUND\"] = 53] = \"CURLE_SSL_ENGINE_NOTFOUND\"; /* 53 - SSL crypto engine not found */\r\n CurlCode[CurlCode[\"CURLE_SSL_ENGINE_SETFAILED\"] = 54] = \"CURLE_SSL_ENGINE_SETFAILED\"; /* 54 - can not set SSL crypto engine as\r\n default */\r\n CurlCode[CurlCode[\"CURLE_SEND_ERROR\"] = 55] = \"CURLE_SEND_ERROR\"; /* 55 - failed sending network data */\r\n CurlCode[CurlCode[\"CURLE_RECV_ERROR\"] = 56] = \"CURLE_RECV_ERROR\"; /* 56 - failure in receiving network data */\r\n CurlCode[CurlCode[\"CURLE_OBSOLETE57\"] = 57] = \"CURLE_OBSOLETE57\"; /* 57 - NOT IN USE */\r\n CurlCode[CurlCode[\"CURLE_SSL_CERTPROBLEM\"] = 58] = \"CURLE_SSL_CERTPROBLEM\"; /* 58 - problem with the local certificate */\r\n CurlCode[CurlCode[\"CURLE_SSL_CIPHER\"] = 59] = \"CURLE_SSL_CIPHER\"; /* 59 - couldn't use specified cipher */\r\n CurlCode[CurlCode[\"CURLE_PEER_FAILED_VERIFICATION\"] = 60] = \"CURLE_PEER_FAILED_VERIFICATION\"; /* 60 - peer's certificate or fingerprint\r\n wasn't verified fine */\r\n CurlCode[CurlCode[\"CURLE_BAD_CONTENT_ENCODING\"] = 61] = \"CURLE_BAD_CONTENT_ENCODING\"; /* 61 - Unrecognized/bad encoding */\r\n CurlCode[CurlCode[\"CURLE_LDAP_INVALID_URL\"] = 62] = \"CURLE_LDAP_INVALID_URL\"; /* 62 - Invalid LDAP URL */\r\n CurlCode[CurlCode[\"CURLE_FILESIZE_EXCEEDED\"] = 63] = \"CURLE_FILESIZE_EXCEEDED\"; /* 63 - Maximum file size exceeded */\r\n CurlCode[CurlCode[\"CURLE_USE_SSL_FAILED\"] = 64] = \"CURLE_USE_SSL_FAILED\"; /* 64 - Requested FTP SSL level failed */\r\n CurlCode[CurlCode[\"CURLE_SEND_FAIL_REWIND\"] = 65] = \"CURLE_SEND_FAIL_REWIND\"; /* 65 - Sending the data requires a rewind\r\n that failed */\r\n CurlCode[CurlCode[\"CURLE_SSL_ENGINE_INITFAILED\"] = 66] = \"CURLE_SSL_ENGINE_INITFAILED\"; /* 66 - failed to initialise ENGINE */\r\n CurlCode[CurlCode[\"CURLE_LOGIN_DENIED\"] = 67] = \"CURLE_LOGIN_DENIED\"; /* 67 - user, password or similar was not\r\n accepted and we failed to login */\r\n CurlCode[CurlCode[\"CURLE_TFTP_NOTFOUND\"] = 68] = \"CURLE_TFTP_NOTFOUND\"; /* 68 - file not found on server */\r\n CurlCode[CurlCode[\"CURLE_TFTP_PERM\"] = 69] = \"CURLE_TFTP_PERM\"; /* 69 - permission problem on server */\r\n CurlCode[CurlCode[\"CURLE_REMOTE_DISK_FULL\"] = 70] = \"CURLE_REMOTE_DISK_FULL\"; /* 70 - out of disk space on server */\r\n CurlCode[CurlCode[\"CURLE_TFTP_ILLEGAL\"] = 71] = \"CURLE_TFTP_ILLEGAL\"; /* 71 - Illegal TFTP operation */\r\n CurlCode[CurlCode[\"CURLE_TFTP_UNKNOWNID\"] = 72] = \"CURLE_TFTP_UNKNOWNID\"; /* 72 - Unknown transfer ID */\r\n CurlCode[CurlCode[\"CURLE_REMOTE_FILE_EXISTS\"] = 73] = \"CURLE_REMOTE_FILE_EXISTS\"; /* 73 - File already exists */\r\n CurlCode[CurlCode[\"CURLE_TFTP_NOSUCHUSER\"] = 74] = \"CURLE_TFTP_NOSUCHUSER\"; /* 74 - No such user */\r\n CurlCode[CurlCode[\"CURLE_CONV_FAILED\"] = 75] = \"CURLE_CONV_FAILED\"; /* 75 - conversion failed */\r\n CurlCode[CurlCode[\"CURLE_CONV_REQD\"] = 76] = \"CURLE_CONV_REQD\"; /* 76 - caller must register conversion\r\n callbacks using curl_easy_setopt options\r\n CURLOPT_CONV_FROM_NETWORK_FUNCTION,\r\n CURLOPT_CONV_TO_NETWORK_FUNCTION, and\r\n CURLOPT_CONV_FROM_UTF8_FUNCTION */\r\n CurlCode[CurlCode[\"CURLE_SSL_CACERT_BADFILE\"] = 77] = \"CURLE_SSL_CACERT_BADFILE\"; /* 77 - could not load CACERT file, missing\r\n or wrong format */\r\n CurlCode[CurlCode[\"CURLE_REMOTE_FILE_NOT_FOUND\"] = 78] = \"CURLE_REMOTE_FILE_NOT_FOUND\"; /* 78 - remote file not found */\r\n CurlCode[CurlCode[\"CURLE_SSH\"] = 79] = \"CURLE_SSH\"; /* 79 - error from the SSH layer, somewhat\r\n generic so the error message will be of\r\n interest when this has happened */\r\n CurlCode[CurlCode[\"CURLE_SSL_SHUTDOWN_FAILED\"] = 80] = \"CURLE_SSL_SHUTDOWN_FAILED\"; /* 80 - Failed to shut down the SSL\r\n connection */\r\n CurlCode[CurlCode[\"CURLE_AGAIN\"] = 81] = \"CURLE_AGAIN\"; /* 81 - socket is not ready for send/recv,\r\n wait till it's ready and try again (Added\r\n in 7.18.2) */\r\n CurlCode[CurlCode[\"CURLE_SSL_CRL_BADFILE\"] = 82] = \"CURLE_SSL_CRL_BADFILE\"; /* 82 - could not load CRL file, missing or\r\n wrong format (Added in 7.19.0) */\r\n CurlCode[CurlCode[\"CURLE_SSL_ISSUER_ERROR\"] = 83] = \"CURLE_SSL_ISSUER_ERROR\"; /* 83 - Issuer check failed. (Added in\r\n 7.19.0) */\r\n CurlCode[CurlCode[\"CURLE_FTP_PRET_FAILED\"] = 84] = \"CURLE_FTP_PRET_FAILED\"; /* 84 - a PRET command failed */\r\n CurlCode[CurlCode[\"CURLE_RTSP_CSEQ_ERROR\"] = 85] = \"CURLE_RTSP_CSEQ_ERROR\"; /* 85 - mismatch of RTSP CSeq numbers */\r\n CurlCode[CurlCode[\"CURLE_RTSP_SESSION_ERROR\"] = 86] = \"CURLE_RTSP_SESSION_ERROR\"; /* 86 - mismatch of RTSP Session Ids */\r\n CurlCode[CurlCode[\"CURLE_FTP_BAD_FILE_LIST\"] = 87] = \"CURLE_FTP_BAD_FILE_LIST\"; /* 87 - unable to parse FTP file list */\r\n CurlCode[CurlCode[\"CURLE_CHUNK_FAILED\"] = 88] = \"CURLE_CHUNK_FAILED\"; /* 88 - chunk callback reported error */\r\n CurlCode[CurlCode[\"CURLE_NO_CONNECTION_AVAILABLE\"] = 89] = \"CURLE_NO_CONNECTION_AVAILABLE\"; /* 89 - No connection available, the\r\n session will be queued */\r\n CurlCode[CurlCode[\"CURLE_SSL_PINNEDPUBKEYNOTMATCH\"] = 90] = \"CURLE_SSL_PINNEDPUBKEYNOTMATCH\"; /* 90 - specified pinned public key did not\r\n match */\r\n CurlCode[CurlCode[\"CURLE_SSL_INVALIDCERTSTATUS\"] = 91] = \"CURLE_SSL_INVALIDCERTSTATUS\"; /* 91 - invalid certificate status */\r\n CurlCode[CurlCode[\"CURLE_HTTP2_STREAM\"] = 92] = \"CURLE_HTTP2_STREAM\"; /* 92 - stream error in HTTP/2 framing layer */\r\n CurlCode[CurlCode[\"CURLE_RECURSIVE_API_CALL\"] = 93] = \"CURLE_RECURSIVE_API_CALL\"; /* 93 - an api function was called from inside a callback */\r\n CurlCode[CurlCode[\"CURLE_AUTH_ERROR\"] = 94] = \"CURLE_AUTH_ERROR\"; /* 94 - an authentication function returned an error */\r\n CurlCode[CurlCode[\"CURLE_HTTP3\"] = 95] = \"CURLE_HTTP3\"; /* 95 - An HTTP/3 layer problem */\r\n CurlCode[CurlCode[\"CURLE_QUIC_CONNECT_ERROR\"] = 96] = \"CURLE_QUIC_CONNECT_ERROR\"; /* 96 - QUIC connection error */\r\n CurlCode[CurlCode[\"CURLE_PROXY\"] = 97] = \"CURLE_PROXY\"; /* 97 - proxy handshake error */\r\n CurlCode[CurlCode[\"CURLE_LAST\"] = 98] = \"CURLE_LAST\";\r\n /* compatibility with older names */\r\n CurlCode[CurlCode[\"CURLE_FTP_WEIRD_SERVER_REPLY\"] = 8] = \"CURLE_FTP_WEIRD_SERVER_REPLY\";\r\n CurlCode[CurlCode[\"CURLE_SSL_CACERT\"] = 60] = \"CURLE_SSL_CACERT\";\r\n CurlCode[CurlCode[\"CURLE_UNKNOWN_TELNET_OPTION\"] = 48] = \"CURLE_UNKNOWN_TELNET_OPTION\";\r\n CurlCode[CurlCode[\"CURLE_SSL_PEER_CERTIFICATE\"] = 60] = \"CURLE_SSL_PEER_CERTIFICATE\";\r\n CurlCode[CurlCode[\"CURLE_FTP_ACCESS_DENIED\"] = 9] = \"CURLE_FTP_ACCESS_DENIED\";\r\n CurlCode[CurlCode[\"CURLE_FTP_COULDNT_SET_BINARY\"] = 17] = \"CURLE_FTP_COULDNT_SET_BINARY\";\r\n CurlCode[CurlCode[\"CURLE_FTP_QUOTE_ERROR\"] = 21] = \"CURLE_FTP_QUOTE_ERROR\";\r\n CurlCode[CurlCode[\"CURLE_TFTP_DISKFULL\"] = 70] = \"CURLE_TFTP_DISKFULL\";\r\n CurlCode[CurlCode[\"CURLE_TFTP_EXISTS\"] = 73] = \"CURLE_TFTP_EXISTS\";\r\n CurlCode[CurlCode[\"CURLE_HTTP_RANGE_ERROR\"] = 33] = \"CURLE_HTTP_RANGE_ERROR\";\r\n CurlCode[CurlCode[\"CURLE_FTP_SSL_FAILED\"] = 64] = \"CURLE_FTP_SSL_FAILED\";\r\n /* The following were added earlier */\r\n CurlCode[CurlCode[\"CURLE_OPERATION_TIMEOUTED\"] = 28] = \"CURLE_OPERATION_TIMEOUTED\";\r\n CurlCode[CurlCode[\"CURLE_HTTP_NOT_FOUND\"] = 22] = \"CURLE_HTTP_NOT_FOUND\";\r\n CurlCode[CurlCode[\"CURLE_HTTP_PORT_FAILED\"] = 45] = \"CURLE_HTTP_PORT_FAILED\";\r\n CurlCode[CurlCode[\"CURLE_FTP_COULDNT_STOR_FILE\"] = 25] = \"CURLE_FTP_COULDNT_STOR_FILE\";\r\n CurlCode[CurlCode[\"CURLE_FTP_PARTIAL_FILE\"] = 18] = \"CURLE_FTP_PARTIAL_FILE\";\r\n CurlCode[CurlCode[\"CURLE_FTP_BAD_DOWNLOAD_RESUME\"] = 36] = \"CURLE_FTP_BAD_DOWNLOAD_RESUME\";\r\n})(CurlCode = exports.CurlCode || (exports.CurlCode = {}));\r\n// https://github.com/curl/curl/blob/e1be825453/include/curl/curl.h#L2675\r\n/**\r\n * @public\r\n */\r\nvar CurlShareCode;\r\n(function (CurlShareCode) {\r\n CurlShareCode[CurlShareCode[\"CURLSHE_OK\"] = 0] = \"CURLSHE_OK\"; /* all is fine */\r\n CurlShareCode[CurlShareCode[\"CURLSHE_BAD_OPTION\"] = 1] = \"CURLSHE_BAD_OPTION\"; /* 1 */\r\n CurlShareCode[CurlShareCode[\"CURLSHE_IN_USE\"] = 2] = \"CURLSHE_IN_USE\"; /* 2 */\r\n CurlShareCode[CurlShareCode[\"CURLSHE_INVALID\"] = 3] = \"CURLSHE_INVALID\"; /* 3 */\r\n CurlShareCode[CurlShareCode[\"CURLSHE_NOMEM\"] = 4] = \"CURLSHE_NOMEM\"; /* 4 out of memory */\r\n CurlShareCode[CurlShareCode[\"CURLSHE_NOT_BUILT_IN\"] = 5] = \"CURLSHE_NOT_BUILT_IN\"; /* 5 feature not present in lib */\r\n CurlShareCode[CurlShareCode[\"CURLSHE_LAST\"] = 6] = \"CURLSHE_LAST\";\r\n})(CurlShareCode = exports.CurlShareCode || (exports.CurlShareCode = {}));\r\n//# sourceMappingURL=CurlCode.js.map","// JS-YAML's default schema for `load` function.\n// It is not described in the YAML specification.\n//\n// This schema is based on JS-YAML's default safe schema and includes\n// JavaScript-specific types: !!js/undefined, !!js/regexp and !!js/function.\n//\n// Also this schema is used as default base schema at `Schema.create` function.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = Schema.DEFAULT = new Schema({\n include: [\n require('./default_safe')\n ],\n explicit: [\n require('../type/js/undefined'),\n require('../type/js/regexp'),\n require('../type/js/function')\n ]\n});\n",null,"'use strict'\n\nconst fs = require('graceful-fs')\n\nfunction utimesMillis (path, atime, mtime, callback) {\n // if (!HAS_MILLIS_RES) return fs.utimes(path, atime, mtime, callback)\n fs.open(path, 'r+', (err, fd) => {\n if (err) return callback(err)\n fs.futimes(fd, atime, mtime, futimesErr => {\n fs.close(fd, closeErr => {\n if (callback) callback(futimesErr || closeErr)\n })\n })\n })\n}\n\nfunction utimesMillisSync (path, atime, mtime) {\n const fd = fs.openSync(path, 'r+')\n fs.futimesSync(fd, atime, mtime)\n return fs.closeSync(fd)\n}\n\nmodule.exports = {\n utimesMillis,\n utimesMillisSync\n}\n","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:seq', {\n kind: 'sequence',\n construct: function (data) { return data !== null ? data : []; }\n});\n","'use strict'\n\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst pathExists = require('../path-exists').pathExists\n\n/**\n * Function that returns two types of paths, one relative to symlink, and one\n * relative to the current working directory. Checks if path is absolute or\n * relative. If the path is relative, this function checks if the path is\n * relative to symlink or relative to current working directory. This is an\n * initiative to find a smarter `srcpath` to supply when building symlinks.\n * This allows you to determine which path to use out of one of three possible\n * types of source paths. The first is an absolute path. This is detected by\n * `path.isAbsolute()`. When an absolute path is provided, it is checked to\n * see if it exists. If it does it's used, if not an error is returned\n * (callback)/ thrown (sync). The other two options for `srcpath` are a\n * relative url. By default Node's `fs.symlink` works by creating a symlink\n * using `dstpath` and expects the `srcpath` to be relative to the newly\n * created symlink. If you provide a `srcpath` that does not exist on the file\n * system it results in a broken symlink. To minimize this, the function\n * checks to see if the 'relative to symlink' source file exists, and if it\n * does it will use it. If it does not, it checks if there's a file that\n * exists that is relative to the current working directory, if does its used.\n * This preserves the expectations of the original fs.symlink spec and adds\n * the ability to pass in `relative to current working direcotry` paths.\n */\n\nfunction symlinkPaths (srcpath, dstpath, callback) {\n if (path.isAbsolute(srcpath)) {\n return fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n return callback(err)\n }\n return callback(null, {\n toCwd: srcpath,\n toDst: srcpath\n })\n })\n } else {\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n return pathExists(relativeToDst, (err, exists) => {\n if (err) return callback(err)\n if (exists) {\n return callback(null, {\n toCwd: relativeToDst,\n toDst: srcpath\n })\n } else {\n return fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n return callback(err)\n }\n return callback(null, {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n })\n })\n }\n })\n }\n}\n\nfunction symlinkPathsSync (srcpath, dstpath) {\n let exists\n if (path.isAbsolute(srcpath)) {\n exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('absolute srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: srcpath\n }\n } else {\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n exists = fs.existsSync(relativeToDst)\n if (exists) {\n return {\n toCwd: relativeToDst,\n toDst: srcpath\n }\n } else {\n exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('relative srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n }\n }\n }\n}\n\nmodule.exports = {\n symlinkPaths,\n symlinkPathsSync\n}\n","var common = require('./common');\n\ncommon.register('set', _set, {\n allowGlobbing: false,\n wrapOutput: false,\n});\n\n//@\n//@ ### set(options)\n//@\n//@ Available options:\n//@\n//@ + `+/-e`: exit upon error (`config.fatal`)\n//@ + `+/-v`: verbose: show all commands (`config.verbose`)\n//@ + `+/-f`: disable filename expansion (globbing)\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ set('-e'); // exit upon first error\n//@ set('+e'); // this undoes a \"set('-e')\"\n//@ ```\n//@\n//@ Sets global configuration variables.\nfunction _set(options) {\n if (!options) {\n var args = [].slice.call(arguments, 0);\n if (args.length < 2) common.error('must provide an argument');\n options = args[1];\n }\n var negate = (options[0] === '+');\n if (negate) {\n options = '-' + options.slice(1); // parseOptions needs a '-' prefix\n }\n options = common.parseOptions(options, {\n 'e': 'fatal',\n 'v': 'verbose',\n 'f': 'noglob',\n });\n\n if (negate) {\n Object.keys(options).forEach(function (key) {\n options[key] = !options[key];\n });\n }\n\n Object.keys(options).forEach(function (key) {\n // Only change the global config if `negate` is false and the option is true\n // or if `negate` is true and the option is false (aka negate !== option)\n if (negate !== options[key]) {\n common.config[key] = options[key];\n }\n });\n return;\n}\nmodule.exports = _set;\n","module.exports = require(\"net\");","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUptimePercentForSite = void 0;\nconst fs_extra_1 = require(\"fs-extra\");\nconst js_yaml_1 = require(\"js-yaml\");\nconst github_1 = require(\"./github\");\nconst path_1 = require(\"path\");\n/**\n * Get the number of seconds a website has been down\n * @param slug - Slug of the site\n */\nconst getDowntimeSecondsForSite = async (slug) => {\n let [owner, repo] = (process.env.GITHUB_REPOSITORY || \"\").split(\"/\");\n const octokit = await github_1.getOctokit();\n let msDown = 0;\n // Get all the issues for this website\n const { data } = await octokit.issues.listForRepo({\n owner,\n repo,\n labels: `status,${slug}`,\n filter: \"all\",\n state: \"all\",\n per_page: 100,\n });\n // If this issue has been closed already, calculate the difference\n // between when it was closed and when it was opened\n // If this issue is still open, calculate the time since it was opened\n data.forEach((issue) => (msDown +=\n new Date(issue.closed_at || new Date()).getTime() - new Date(issue.created_at).getTime()));\n return Math.round(msDown / 1000);\n};\n/**\n * Get the uptime percentage for a website\n * @returns Percent string, e.g., 94.43%\n * @param slug - Slug of the site\n */\nconst getUptimePercentForSite = async (slug) => {\n const site = js_yaml_1.safeLoad((await fs_extra_1.readFile(path_1.join(\".\", \"history\", `${slug}.yml`), \"utf8\"))\n .split(\"\\n\")\n .map((line) => (line.startsWith(\"- \") ? line.replace(\"- \", \"\") : line))\n .join(\"\\n\"));\n // Time when we started tracking this website's downtime\n const startDate = new Date(site.startTime || new Date());\n // Number of seconds we have been tracking this site\n const totalSeconds = (new Date().getTime() - startDate.getTime()) / 1000;\n // Number of seconds the site has been down\n const downtimeSeconds = await getDowntimeSecondsForSite(slug);\n // Return a percentage string\n return `${Math.min(0, 100 - (downtimeSeconds / totalSeconds) * 100).toFixed(2)}%`;\n};\nexports.getUptimePercentForSite = getUptimePercentForSite;\n//# sourceMappingURL=calculate-uptime.js.map","'use strict';\n\nvar YAMLException = require('./exception');\n\nvar TYPE_CONSTRUCTOR_OPTIONS = [\n 'kind',\n 'resolve',\n 'construct',\n 'instanceOf',\n 'predicate',\n 'represent',\n 'defaultStyle',\n 'styleAliases'\n];\n\nvar YAML_NODE_KINDS = [\n 'scalar',\n 'sequence',\n 'mapping'\n];\n\nfunction compileStyleAliases(map) {\n var result = {};\n\n if (map !== null) {\n Object.keys(map).forEach(function (style) {\n map[style].forEach(function (alias) {\n result[String(alias)] = style;\n });\n });\n }\n\n return result;\n}\n\nfunction Type(tag, options) {\n options = options || {};\n\n Object.keys(options).forEach(function (name) {\n if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {\n throw new YAMLException('Unknown option \"' + name + '\" is met in definition of \"' + tag + '\" YAML type.');\n }\n });\n\n // TODO: Add tag format check.\n this.tag = tag;\n this.kind = options['kind'] || null;\n this.resolve = options['resolve'] || function () { return true; };\n this.construct = options['construct'] || function (data) { return data; };\n this.instanceOf = options['instanceOf'] || null;\n this.predicate = options['predicate'] || null;\n this.represent = options['represent'] || null;\n this.defaultStyle = options['defaultStyle'] || null;\n this.styleAliases = compileStyleAliases(options['styleAliases'] || null);\n\n if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {\n throw new YAMLException('Unknown kind \"' + this.kind + '\" is specified for \"' + tag + '\" YAML type.');\n }\n}\n\nmodule.exports = Type;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar Type = require('../type');\n\nvar _toString = Object.prototype.toString;\n\nfunction resolveYamlPairs(data) {\n if (data === null) return true;\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n if (_toString.call(pair) !== '[object Object]') return false;\n\n keys = Object.keys(pair);\n\n if (keys.length !== 1) return false;\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return true;\n}\n\nfunction constructYamlPairs(data) {\n if (data === null) return [];\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n keys = Object.keys(pair);\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return result;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:pairs', {\n kind: 'sequence',\n resolve: resolveYamlPairs,\n construct: constructYamlPairs\n});\n","'use strict'\n\n/**\n * Tries to execute a function and discards any error that occurs.\n * @param {Function} fn - Function that might or might not throw an error.\n * @returns {?*} Return-value of the function when no error occurred.\n */\nmodule.exports = function(fn) {\n\n\ttry { return fn() } catch (e) {}\n\n}","'use strict';\n\nconst packageInfo = require('../../package.json');\nconst EventEmitter = require('events').EventEmitter;\nconst net = require('net');\nconst tls = require('tls');\nconst os = require('os');\nconst crypto = require('crypto');\nconst DataStream = require('./data-stream');\nconst PassThrough = require('stream').PassThrough;\nconst shared = require('../shared');\n\n// default timeout values in ms\nconst CONNECTION_TIMEOUT = 2 * 60 * 1000; // how much to wait for the connection to be established\nconst SOCKET_TIMEOUT = 10 * 60 * 1000; // how much to wait for socket inactivity before disconnecting the client\nconst GREETING_TIMEOUT = 30 * 1000; // how much to wait after connection is established but SMTP greeting is not receieved\n\n/**\n * Generates a SMTP connection object\n *\n * Optional options object takes the following possible properties:\n *\n * * **port** - is the port to connect to (defaults to 587 or 465)\n * * **host** - is the hostname or IP address to connect to (defaults to 'localhost')\n * * **secure** - use SSL\n * * **ignoreTLS** - ignore server support for STARTTLS\n * * **requireTLS** - forces the client to use STARTTLS\n * * **name** - the name of the client server\n * * **localAddress** - outbound address to bind to (see: http://nodejs.org/api/net.html#net_net_connect_options_connectionlistener)\n * * **greetingTimeout** - Time to wait in ms until greeting message is received from the server (defaults to 10000)\n * * **connectionTimeout** - how many milliseconds to wait for the connection to establish\n * * **socketTimeout** - Time of inactivity until the connection is closed (defaults to 1 hour)\n * * **lmtp** - if true, uses LMTP instead of SMTP protocol\n * * **logger** - bunyan compatible logger interface\n * * **debug** - if true pass SMTP traffic to the logger\n * * **tls** - options for createCredentials\n * * **socket** - existing socket to use instead of creating a new one (see: http://nodejs.org/api/net.html#net_class_net_socket)\n * * **secured** - boolean indicates that the provided socket has already been upgraded to tls\n *\n * @constructor\n * @namespace SMTP Client module\n * @param {Object} [options] Option properties\n */\nclass SMTPConnection extends EventEmitter {\n constructor(options) {\n super(options);\n\n this.id = crypto.randomBytes(8).toString('base64').replace(/\\W/g, '');\n this.stage = 'init';\n\n this.options = options || {};\n\n this.secureConnection = !!this.options.secure;\n this.alreadySecured = !!this.options.secured;\n\n this.port = Number(this.options.port) || (this.secureConnection ? 465 : 587);\n this.host = this.options.host || 'localhost';\n\n if (typeof this.options.secure === 'undefined' && this.port === 465) {\n // if secure option is not set but port is 465, then default to secure\n this.secureConnection = true;\n }\n\n this.name = this.options.name || this._getHostname();\n\n this.logger = shared.getLogger(this.options, {\n component: this.options.component || 'smtp-connection',\n sid: this.id\n });\n\n this.customAuth = new Map();\n Object.keys(this.options.customAuth || {}).forEach(key => {\n let mapKey = (key || '').toString().trim().toUpperCase();\n if (!mapKey) {\n return;\n }\n this.customAuth.set(mapKey, this.options.customAuth[key]);\n });\n\n /**\n * Expose version nr, just for the reference\n * @type {String}\n */\n this.version = packageInfo.version;\n\n /**\n * If true, then the user is authenticated\n * @type {Boolean}\n */\n this.authenticated = false;\n\n /**\n * If set to true, this instance is no longer active\n * @private\n */\n this.destroyed = false;\n\n /**\n * Defines if the current connection is secure or not. If not,\n * STARTTLS can be used if available\n * @private\n */\n this.secure = !!this.secureConnection;\n\n /**\n * Store incomplete messages coming from the server\n * @private\n */\n this._remainder = '';\n\n /**\n * Unprocessed responses from the server\n * @type {Array}\n */\n this._responseQueue = [];\n\n this.lastServerResponse = false;\n\n /**\n * The socket connecting to the server\n * @publick\n */\n this._socket = false;\n\n /**\n * Lists supported auth mechanisms\n * @private\n */\n this._supportedAuth = [];\n\n /**\n * Set to true, if EHLO response includes \"AUTH\".\n * If false then authentication is not tried\n */\n this.allowsAuth = false;\n\n /**\n * Includes current envelope (from, to)\n * @private\n */\n this._envelope = false;\n\n /**\n * Lists supported extensions\n * @private\n */\n this._supportedExtensions = [];\n\n /**\n * Defines the maximum allowed size for a single message\n * @private\n */\n this._maxAllowedSize = 0;\n\n /**\n * Function queue to run if a data chunk comes from the server\n * @private\n */\n this._responseActions = [];\n this._recipientQueue = [];\n\n /**\n * Timeout variable for waiting the greeting\n * @private\n */\n this._greetingTimeout = false;\n\n /**\n * Timeout variable for waiting the connection to start\n * @private\n */\n this._connectionTimeout = false;\n\n /**\n * If the socket is deemed already closed\n * @private\n */\n this._destroyed = false;\n\n /**\n * If the socket is already being closed\n * @private\n */\n this._closing = false;\n\n /**\n * Callbacks for socket's listeners\n */\n this._onSocketData = chunk => this._onData(chunk);\n this._onSocketError = error => this._onError(error, 'ESOCKET', false, 'CONN');\n this._onSocketClose = () => this._onClose();\n this._onSocketEnd = () => this._onEnd();\n this._onSocketTimeout = () => this._onTimeout();\n }\n\n /**\n * Creates a connection to a SMTP server and sets up connection\n * listener\n */\n connect(connectCallback) {\n if (typeof connectCallback === 'function') {\n this.once('connect', () => {\n this.logger.debug(\n {\n tnx: 'smtp'\n },\n 'SMTP handshake finished'\n );\n connectCallback();\n });\n\n const isDestroyedMessage = this._isDestroyedMessage('connect');\n if (isDestroyedMessage) {\n return connectCallback(this._formatError(isDestroyedMessage, 'ECONNECTION', false, 'CONN'));\n }\n }\n\n let opts = {\n port: this.port,\n host: this.host\n };\n\n if (this.options.localAddress) {\n opts.localAddress = this.options.localAddress;\n }\n\n let setupConnectionHandlers = () => {\n this._connectionTimeout = setTimeout(() => {\n this._onError('Connection timeout', 'ETIMEDOUT', false, 'CONN');\n }, this.options.connectionTimeout || CONNECTION_TIMEOUT);\n\n this._socket.on('error', this._onSocketError);\n };\n\n if (this.options.connection) {\n // connection is already opened\n this._socket = this.options.connection;\n if (this.secureConnection && !this.alreadySecured) {\n setImmediate(() =>\n this._upgradeConnection(err => {\n if (err) {\n this._onError(new Error('Error initiating TLS - ' + (err.message || err)), 'ETLS', false, 'CONN');\n return;\n }\n this._onConnect();\n })\n );\n } else {\n setImmediate(() => this._onConnect());\n }\n return;\n } else if (this.options.socket) {\n // socket object is set up but not yet connected\n this._socket = this.options.socket;\n return shared.resolveHostname(opts, (err, resolved) => {\n if (err) {\n return setImmediate(() => this._onError(err, 'EDNS', false, 'CONN'));\n }\n this.logger.debug(\n {\n tnx: 'dns',\n source: opts.host,\n resolved: resolved.host,\n cached: !!resolved._cached\n },\n 'Resolved %s as %s [cache %s]',\n opts.host,\n resolved.host,\n resolved._cached ? 'hit' : 'miss'\n );\n Object.keys(resolved).forEach(key => {\n if (key.charAt(0) !== '_' && resolved[key]) {\n opts[key] = resolved[key];\n }\n });\n try {\n this._socket.connect(this.port, this.host, () => {\n this._socket.setKeepAlive(true);\n this._onConnect();\n });\n setupConnectionHandlers();\n } catch (E) {\n return setImmediate(() => this._onError(E, 'ECONNECTION', false, 'CONN'));\n }\n });\n } else if (this.secureConnection) {\n // connect using tls\n if (this.options.tls) {\n Object.keys(this.options.tls).forEach(key => {\n opts[key] = this.options.tls[key];\n });\n }\n return shared.resolveHostname(opts, (err, resolved) => {\n if (err) {\n return setImmediate(() => this._onError(err, 'EDNS', false, 'CONN'));\n }\n this.logger.debug(\n {\n tnx: 'dns',\n source: opts.host,\n resolved: resolved.host,\n cached: !!resolved._cached\n },\n 'Resolved %s as %s [cache %s]',\n opts.host,\n resolved.host,\n resolved._cached ? 'hit' : 'miss'\n );\n Object.keys(resolved).forEach(key => {\n if (key.charAt(0) !== '_' && resolved[key]) {\n opts[key] = resolved[key];\n }\n });\n try {\n this._socket = tls.connect(opts, () => {\n this._socket.setKeepAlive(true);\n this._onConnect();\n });\n setupConnectionHandlers();\n } catch (E) {\n return setImmediate(() => this._onError(E, 'ECONNECTION', false, 'CONN'));\n }\n });\n } else {\n // connect using plaintext\n return shared.resolveHostname(opts, (err, resolved) => {\n if (err) {\n return setImmediate(() => this._onError(err, 'EDNS', false, 'CONN'));\n }\n this.logger.debug(\n {\n tnx: 'dns',\n source: opts.host,\n resolved: resolved.host,\n cached: !!resolved._cached\n },\n 'Resolved %s as %s [cache %s]',\n opts.host,\n resolved.host,\n resolved._cached ? 'hit' : 'miss'\n );\n Object.keys(resolved).forEach(key => {\n if (key.charAt(0) !== '_' && resolved[key]) {\n opts[key] = resolved[key];\n }\n });\n try {\n this._socket = net.connect(opts, () => {\n this._socket.setKeepAlive(true);\n this._onConnect();\n });\n setupConnectionHandlers();\n } catch (E) {\n return setImmediate(() => this._onError(E, 'ECONNECTION', false, 'CONN'));\n }\n });\n }\n }\n\n /**\n * Sends QUIT\n */\n quit() {\n this._sendCommand('QUIT');\n this._responseActions.push(this.close);\n }\n\n /**\n * Closes the connection to the server\n */\n close() {\n clearTimeout(this._connectionTimeout);\n clearTimeout(this._greetingTimeout);\n this._responseActions = [];\n\n // allow to run this function only once\n if (this._closing) {\n return;\n }\n this._closing = true;\n\n let closeMethod = 'end';\n\n if (this.stage === 'init') {\n // Close the socket immediately when connection timed out\n closeMethod = 'destroy';\n }\n\n this.logger.debug(\n {\n tnx: 'smtp'\n },\n 'Closing connection to the server using \"%s\"',\n closeMethod\n );\n\n let socket = (this._socket && this._socket.socket) || this._socket;\n\n if (socket && !socket.destroyed) {\n try {\n this._socket[closeMethod]();\n } catch (E) {\n // just ignore\n }\n }\n\n this._destroy();\n }\n\n /**\n * Authenticate user\n */\n login(authData, callback) {\n const isDestroyedMessage = this._isDestroyedMessage('login');\n if (isDestroyedMessage) {\n return callback(this._formatError(isDestroyedMessage, 'ECONNECTION', false, 'API'));\n }\n\n this._auth = authData || {};\n // Select SASL authentication method\n this._authMethod = (this._auth.method || '').toString().trim().toUpperCase() || false;\n\n if (!this._authMethod && this._auth.oauth2 && !this._auth.credentials) {\n this._authMethod = 'XOAUTH2';\n } else if (!this._authMethod || (this._authMethod === 'XOAUTH2' && !this._auth.oauth2)) {\n // use first supported\n this._authMethod = (this._supportedAuth[0] || 'PLAIN').toUpperCase().trim();\n }\n\n if (this._authMethod !== 'XOAUTH2' && (!this._auth.credentials || !this._auth.credentials.user || !this._auth.credentials.pass)) {\n if (this._auth.user && this._auth.pass) {\n this._auth.credentials = {\n user: this._auth.user,\n pass: this._auth.pass,\n options: this._auth.options\n };\n } else {\n return callback(this._formatError('Missing credentials for \"' + this._authMethod + '\"', 'EAUTH', false, 'API'));\n }\n }\n\n if (this.customAuth.has(this._authMethod)) {\n let handler = this.customAuth.get(this._authMethod);\n let lastResponse;\n let returned = false;\n\n let resolve = () => {\n if (returned) {\n return;\n }\n returned = true;\n this.logger.info(\n {\n tnx: 'smtp',\n username: this._auth.user,\n action: 'authenticated',\n method: this._authMethod\n },\n 'User %s authenticated',\n JSON.stringify(this._auth.user)\n );\n this.authenticated = true;\n callback(null, true);\n };\n\n let reject = err => {\n if (returned) {\n return;\n }\n returned = true;\n callback(this._formatError(err, 'EAUTH', lastResponse, 'AUTH ' + this._authMethod));\n };\n\n let handlerResponse = handler({\n auth: this._auth,\n method: this._authMethod,\n\n extensions: [].concat(this._supportedExtensions),\n authMethods: [].concat(this._supportedAuth),\n maxAllowedSize: this._maxAllowedSize || false,\n\n sendCommand: (cmd, done) => {\n let promise;\n\n if (!done) {\n promise = new Promise((resolve, reject) => {\n done = shared.callbackPromise(resolve, reject);\n });\n }\n\n this._responseActions.push(str => {\n lastResponse = str;\n\n let codes = str.match(/^(\\d+)(?:\\s(\\d+\\.\\d+\\.\\d+))?\\s/);\n let data = {\n command: cmd,\n response: str\n };\n if (codes) {\n data.status = Number(codes[1]) || 0;\n if (codes[2]) {\n data.code = codes[2];\n }\n data.text = str.substr(codes[0].length);\n } else {\n data.text = str;\n data.status = 0; // just in case we need to perform numeric comparisons\n }\n done(null, data);\n });\n setImmediate(() => this._sendCommand(cmd));\n\n return promise;\n },\n\n resolve,\n reject\n });\n\n if (handlerResponse && typeof handlerResponse.catch === 'function') {\n // a promise was returned\n handlerResponse.then(resolve).catch(reject);\n }\n\n return;\n }\n\n switch (this._authMethod) {\n case 'XOAUTH2':\n this._handleXOauth2Token(false, callback);\n return;\n case 'LOGIN':\n this._responseActions.push(str => {\n this._actionAUTH_LOGIN_USER(str, callback);\n });\n this._sendCommand('AUTH LOGIN');\n return;\n case 'PLAIN':\n this._responseActions.push(str => {\n this._actionAUTHComplete(str, callback);\n });\n this._sendCommand(\n 'AUTH PLAIN ' +\n Buffer.from(\n //this._auth.user+'\\u0000'+\n '\\u0000' + // skip authorization identity as it causes problems with some servers\n this._auth.credentials.user +\n '\\u0000' +\n this._auth.credentials.pass,\n 'utf-8'\n ).toString('base64')\n );\n return;\n case 'CRAM-MD5':\n this._responseActions.push(str => {\n this._actionAUTH_CRAM_MD5(str, callback);\n });\n this._sendCommand('AUTH CRAM-MD5');\n return;\n }\n\n return callback(this._formatError('Unknown authentication method \"' + this._authMethod + '\"', 'EAUTH', false, 'API'));\n }\n\n /**\n * Sends a message\n *\n * @param {Object} envelope Envelope object, {from: addr, to: [addr]}\n * @param {Object} message String, Buffer or a Stream\n * @param {Function} callback Callback to return once sending is completed\n */\n send(envelope, message, done) {\n if (!message) {\n return done(this._formatError('Empty message', 'EMESSAGE', false, 'API'));\n }\n\n const isDestroyedMessage = this._isDestroyedMessage('send message');\n if (isDestroyedMessage) {\n return done(this._formatError(isDestroyedMessage, 'ECONNECTION', false, 'API'));\n }\n\n // reject larger messages than allowed\n if (this._maxAllowedSize && envelope.size > this._maxAllowedSize) {\n return setImmediate(() => {\n done(this._formatError('Message size larger than allowed ' + this._maxAllowedSize, 'EMESSAGE', false, 'MAIL FROM'));\n });\n }\n\n // ensure that callback is only called once\n let returned = false;\n let callback = function () {\n if (returned) {\n return;\n }\n returned = true;\n\n done(...arguments);\n };\n\n if (typeof message.on === 'function') {\n message.on('error', err => callback(this._formatError(err, 'ESTREAM', false, 'API')));\n }\n\n let startTime = Date.now();\n this._setEnvelope(envelope, (err, info) => {\n if (err) {\n return callback(err);\n }\n let envelopeTime = Date.now();\n let stream = this._createSendStream((err, str) => {\n if (err) {\n return callback(err);\n }\n\n info.envelopeTime = envelopeTime - startTime;\n info.messageTime = Date.now() - envelopeTime;\n info.messageSize = stream.outByteCount;\n info.response = str;\n\n return callback(null, info);\n });\n if (typeof message.pipe === 'function') {\n message.pipe(stream);\n } else {\n stream.write(message);\n stream.end();\n }\n });\n }\n\n /**\n * Resets connection state\n *\n * @param {Function} callback Callback to return once connection is reset\n */\n reset(callback) {\n this._sendCommand('RSET');\n this._responseActions.push(str => {\n if (str.charAt(0) !== '2') {\n return callback(this._formatError('Could not reset session state. response=' + str, 'EPROTOCOL', str, 'RSET'));\n }\n this._envelope = false;\n return callback(null, true);\n });\n }\n\n /**\n * Connection listener that is run when the connection to\n * the server is opened\n *\n * @event\n */\n _onConnect() {\n clearTimeout(this._connectionTimeout);\n\n this.logger.info(\n {\n tnx: 'network',\n localAddress: this._socket.localAddress,\n localPort: this._socket.localPort,\n remoteAddress: this._socket.remoteAddress,\n remotePort: this._socket.remotePort\n },\n '%s established to %s:%s',\n this.secure ? 'Secure connection' : 'Connection',\n this._socket.remoteAddress,\n this._socket.remotePort\n );\n\n if (this._destroyed) {\n // Connection was established after we already had canceled it\n this.close();\n return;\n }\n\n this.stage = 'connected';\n\n // clear existing listeners for the socket\n this._socket.removeListener('data', this._onSocketData);\n this._socket.removeListener('timeout', this._onSocketTimeout);\n this._socket.removeListener('close', this._onSocketClose);\n this._socket.removeListener('end', this._onSocketEnd);\n\n this._socket.on('data', this._onSocketData);\n this._socket.once('close', this._onSocketClose);\n this._socket.once('end', this._onSocketEnd);\n\n this._socket.setTimeout(this.options.socketTimeout || SOCKET_TIMEOUT);\n this._socket.on('timeout', this._onSocketTimeout);\n\n this._greetingTimeout = setTimeout(() => {\n // if still waiting for greeting, give up\n if (this._socket && !this._destroyed && this._responseActions[0] === this._actionGreeting) {\n this._onError('Greeting never received', 'ETIMEDOUT', false, 'CONN');\n }\n }, this.options.greetingTimeout || GREETING_TIMEOUT);\n\n this._responseActions.push(this._actionGreeting);\n\n // we have a 'data' listener set up so resume socket if it was paused\n this._socket.resume();\n }\n\n /**\n * 'data' listener for data coming from the server\n *\n * @event\n * @param {Buffer} chunk Data chunk coming from the server\n */\n _onData(chunk) {\n if (this._destroyed || !chunk || !chunk.length) {\n return;\n }\n\n let data = (chunk || '').toString('binary');\n let lines = (this._remainder + data).split(/\\r?\\n/);\n let lastline;\n\n this._remainder = lines.pop();\n\n for (let i = 0, len = lines.length; i < len; i++) {\n if (this._responseQueue.length) {\n lastline = this._responseQueue[this._responseQueue.length - 1];\n if (/^\\d+-/.test(lastline.split('\\n').pop())) {\n this._responseQueue[this._responseQueue.length - 1] += '\\n' + lines[i];\n continue;\n }\n }\n this._responseQueue.push(lines[i]);\n }\n\n if (this._responseQueue.length) {\n lastline = this._responseQueue[this._responseQueue.length - 1];\n if (/^\\d+-/.test(lastline.split('\\n').pop())) {\n return;\n }\n }\n\n this._processResponse();\n }\n\n /**\n * 'error' listener for the socket\n *\n * @event\n * @param {Error} err Error object\n * @param {String} type Error name\n */\n _onError(err, type, data, command) {\n clearTimeout(this._connectionTimeout);\n clearTimeout(this._greetingTimeout);\n\n if (this._destroyed) {\n // just ignore, already closed\n // this might happen when a socket is canceled because of reached timeout\n // but the socket timeout error itself receives only after\n return;\n }\n\n err = this._formatError(err, type, data, command);\n\n this.logger.error(data, err.message);\n\n this.emit('error', err);\n this.close();\n }\n\n _formatError(message, type, response, command) {\n let err;\n\n if (/Error\\]$/i.test(Object.prototype.toString.call(message))) {\n err = message;\n } else {\n err = new Error(message);\n }\n\n if (type && type !== 'Error') {\n err.code = type;\n }\n\n if (response) {\n err.response = response;\n err.message += ': ' + response;\n }\n\n let responseCode = (typeof response === 'string' && Number((response.match(/^\\d+/) || [])[0])) || false;\n if (responseCode) {\n err.responseCode = responseCode;\n }\n\n if (command) {\n err.command = command;\n }\n\n return err;\n }\n\n /**\n * 'close' listener for the socket\n *\n * @event\n */\n _onClose() {\n this.logger.info(\n {\n tnx: 'network'\n },\n 'Connection closed'\n );\n\n if (this.upgrading && !this._destroyed) {\n return this._onError(new Error('Connection closed unexpectedly'), 'ETLS', false, 'CONN');\n } else if (![this._actionGreeting, this.close].includes(this._responseActions[0]) && !this._destroyed) {\n return this._onError(new Error('Connection closed unexpectedly'), 'ECONNECTION', false, 'CONN');\n }\n\n this._destroy();\n }\n\n /**\n * 'end' listener for the socket\n *\n * @event\n */\n _onEnd() {\n if (this._socket && !this._socket.destroyed) {\n this._socket.destroy();\n }\n }\n\n /**\n * 'timeout' listener for the socket\n *\n * @event\n */\n _onTimeout() {\n return this._onError(new Error('Timeout'), 'ETIMEDOUT', false, 'CONN');\n }\n\n /**\n * Destroys the client, emits 'end'\n */\n _destroy() {\n if (this._destroyed) {\n return;\n }\n this._destroyed = true;\n this.emit('end');\n }\n\n /**\n * Upgrades the connection to TLS\n *\n * @param {Function} callback Callback function to run when the connection\n * has been secured\n */\n _upgradeConnection(callback) {\n // do not remove all listeners or it breaks node v0.10 as there's\n // apparently a 'finish' event set that would be cleared as well\n\n // we can safely keep 'error', 'end', 'close' etc. events\n this._socket.removeListener('data', this._onSocketData); // incoming data is going to be gibberish from this point onwards\n this._socket.removeListener('timeout', this._onSocketTimeout); // timeout will be re-set for the new socket object\n\n let socketPlain = this._socket;\n let opts = {\n socket: this._socket,\n host: this.host\n };\n\n Object.keys(this.options.tls || {}).forEach(key => {\n opts[key] = this.options.tls[key];\n });\n\n this.upgrading = true;\n this._socket = tls.connect(opts, () => {\n this.secure = true;\n this.upgrading = false;\n this._socket.on('data', this._onSocketData);\n\n socketPlain.removeListener('close', this._onSocketClose);\n socketPlain.removeListener('end', this._onSocketEnd);\n\n return callback(null, true);\n });\n\n this._socket.on('error', this._onSocketError);\n this._socket.once('close', this._onSocketClose);\n this._socket.once('end', this._onSocketEnd);\n\n this._socket.setTimeout(this.options.socketTimeout || SOCKET_TIMEOUT); // 10 min.\n this._socket.on('timeout', this._onSocketTimeout);\n\n // resume in case the socket was paused\n socketPlain.resume();\n }\n\n /**\n * Processes queued responses from the server\n *\n * @param {Boolean} force If true, ignores _processing flag\n */\n _processResponse() {\n if (!this._responseQueue.length) {\n return false;\n }\n\n let str = (this.lastServerResponse = (this._responseQueue.shift() || '').toString());\n\n if (/^\\d+-/.test(str.split('\\n').pop())) {\n // keep waiting for the final part of multiline response\n return;\n }\n\n if (this.options.debug || this.options.transactionLog) {\n this.logger.debug(\n {\n tnx: 'server'\n },\n str.replace(/\\r?\\n$/, '')\n );\n }\n\n if (!str.trim()) {\n // skip unexpected empty lines\n setImmediate(() => this._processResponse(true));\n }\n\n let action = this._responseActions.shift();\n\n if (typeof action === 'function') {\n action.call(this, str);\n setImmediate(() => this._processResponse(true));\n } else {\n return this._onError(new Error('Unexpected Response'), 'EPROTOCOL', str, 'CONN');\n }\n }\n\n /**\n * Send a command to the server, append \\r\\n\n *\n * @param {String} str String to be sent to the server\n */\n _sendCommand(str) {\n if (this._destroyed) {\n // Connection already closed, can't send any more data\n return;\n }\n\n if (this._socket.destroyed) {\n return this.close();\n }\n\n if (this.options.debug || this.options.transactionLog) {\n this.logger.debug(\n {\n tnx: 'client'\n },\n (str || '').toString().replace(/\\r?\\n$/, '')\n );\n }\n\n this._socket.write(Buffer.from(str + '\\r\\n', 'utf-8'));\n }\n\n /**\n * Initiates a new message by submitting envelope data, starting with\n * MAIL FROM: command\n *\n * @param {Object} envelope Envelope object in the form of\n * {from:'...', to:['...']}\n * or\n * {from:{address:'...',name:'...'}, to:[address:'...',name:'...']}\n */\n _setEnvelope(envelope, callback) {\n let args = [];\n let useSmtpUtf8 = false;\n\n this._envelope = envelope || {};\n this._envelope.from = ((this._envelope.from && this._envelope.from.address) || this._envelope.from || '').toString().trim();\n\n this._envelope.to = [].concat(this._envelope.to || []).map(to => ((to && to.address) || to || '').toString().trim());\n\n if (!this._envelope.to.length) {\n return callback(this._formatError('No recipients defined', 'EENVELOPE', false, 'API'));\n }\n\n if (this._envelope.from && /[\\r\\n<>]/.test(this._envelope.from)) {\n return callback(this._formatError('Invalid sender ' + JSON.stringify(this._envelope.from), 'EENVELOPE', false, 'API'));\n }\n\n // check if the sender address uses only ASCII characters,\n // otherwise require usage of SMTPUTF8 extension\n if (/[\\x80-\\uFFFF]/.test(this._envelope.from)) {\n useSmtpUtf8 = true;\n }\n\n for (let i = 0, len = this._envelope.to.length; i < len; i++) {\n if (!this._envelope.to[i] || /[\\r\\n<>]/.test(this._envelope.to[i])) {\n return callback(this._formatError('Invalid recipient ' + JSON.stringify(this._envelope.to[i]), 'EENVELOPE', false, 'API'));\n }\n\n // check if the recipients addresses use only ASCII characters,\n // otherwise require usage of SMTPUTF8 extension\n if (/[\\x80-\\uFFFF]/.test(this._envelope.to[i])) {\n useSmtpUtf8 = true;\n }\n }\n\n // clone the recipients array for latter manipulation\n this._envelope.rcptQueue = JSON.parse(JSON.stringify(this._envelope.to || []));\n this._envelope.rejected = [];\n this._envelope.rejectedErrors = [];\n this._envelope.accepted = [];\n\n if (this._envelope.dsn) {\n try {\n this._envelope.dsn = this._setDsnEnvelope(this._envelope.dsn);\n } catch (err) {\n return callback(this._formatError('Invalid DSN ' + err.message, 'EENVELOPE', false, 'API'));\n }\n }\n\n this._responseActions.push(str => {\n this._actionMAIL(str, callback);\n });\n\n // If the server supports SMTPUTF8 and the envelope includes an internationalized\n // email address then append SMTPUTF8 keyword to the MAIL FROM command\n if (useSmtpUtf8 && this._supportedExtensions.includes('SMTPUTF8')) {\n args.push('SMTPUTF8');\n this._usingSmtpUtf8 = true;\n }\n\n // If the server supports 8BITMIME and the message might contain non-ascii bytes\n // then append the 8BITMIME keyword to the MAIL FROM command\n if (this._envelope.use8BitMime && this._supportedExtensions.includes('8BITMIME')) {\n args.push('BODY=8BITMIME');\n this._using8BitMime = true;\n }\n\n if (this._envelope.size && this._supportedExtensions.includes('SIZE')) {\n args.push('SIZE=' + this._envelope.size);\n }\n\n // If the server supports DSN and the envelope includes an DSN prop\n // then append DSN params to the MAIL FROM command\n if (this._envelope.dsn && this._supportedExtensions.includes('DSN')) {\n if (this._envelope.dsn.ret) {\n args.push('RET=' + shared.encodeXText(this._envelope.dsn.ret));\n }\n if (this._envelope.dsn.envid) {\n args.push('ENVID=' + shared.encodeXText(this._envelope.dsn.envid));\n }\n }\n\n this._sendCommand('MAIL FROM:<' + this._envelope.from + '>' + (args.length ? ' ' + args.join(' ') : ''));\n }\n\n _setDsnEnvelope(params) {\n let ret = (params.ret || params.return || '').toString().toUpperCase() || null;\n if (ret) {\n switch (ret) {\n case 'HDRS':\n case 'HEADERS':\n ret = 'HDRS';\n break;\n case 'FULL':\n case 'BODY':\n ret = 'FULL';\n break;\n }\n }\n\n if (ret && !['FULL', 'HDRS'].includes(ret)) {\n throw new Error('ret: ' + JSON.stringify(ret));\n }\n\n let envid = (params.envid || params.id || '').toString() || null;\n\n let notify = params.notify || null;\n if (notify) {\n if (typeof notify === 'string') {\n notify = notify.split(',');\n }\n notify = notify.map(n => n.trim().toUpperCase());\n let validNotify = ['NEVER', 'SUCCESS', 'FAILURE', 'DELAY'];\n let invaliNotify = notify.filter(n => !validNotify.includes(n));\n if (invaliNotify.length || (notify.length > 1 && notify.includes('NEVER'))) {\n throw new Error('notify: ' + JSON.stringify(notify.join(',')));\n }\n notify = notify.join(',');\n }\n\n let orcpt = (params.orcpt || params.recipient || '').toString() || null;\n if (orcpt && orcpt.indexOf(';') < 0) {\n orcpt = 'rfc822;' + orcpt;\n }\n\n return {\n ret,\n envid,\n notify,\n orcpt\n };\n }\n\n _getDsnRcptToArgs() {\n let args = [];\n // If the server supports DSN and the envelope includes an DSN prop\n // then append DSN params to the RCPT TO command\n if (this._envelope.dsn && this._supportedExtensions.includes('DSN')) {\n if (this._envelope.dsn.notify) {\n args.push('NOTIFY=' + shared.encodeXText(this._envelope.dsn.notify));\n }\n if (this._envelope.dsn.orcpt) {\n args.push('ORCPT=' + shared.encodeXText(this._envelope.dsn.orcpt));\n }\n }\n return args.length ? ' ' + args.join(' ') : '';\n }\n\n _createSendStream(callback) {\n let dataStream = new DataStream();\n let logStream;\n\n if (this.options.lmtp) {\n this._envelope.accepted.forEach((recipient, i) => {\n let final = i === this._envelope.accepted.length - 1;\n this._responseActions.push(str => {\n this._actionLMTPStream(recipient, final, str, callback);\n });\n });\n } else {\n this._responseActions.push(str => {\n this._actionSMTPStream(str, callback);\n });\n }\n\n dataStream.pipe(this._socket, {\n end: false\n });\n\n if (this.options.debug) {\n logStream = new PassThrough();\n logStream.on('readable', () => {\n let chunk;\n while ((chunk = logStream.read())) {\n this.logger.debug(\n {\n tnx: 'message'\n },\n chunk.toString('binary').replace(/\\r?\\n$/, '')\n );\n }\n });\n dataStream.pipe(logStream);\n }\n\n dataStream.once('end', () => {\n this.logger.info(\n {\n tnx: 'message',\n inByteCount: dataStream.inByteCount,\n outByteCount: dataStream.outByteCount\n },\n '<%s bytes encoded mime message (source size %s bytes)>',\n dataStream.outByteCount,\n dataStream.inByteCount\n );\n });\n\n return dataStream;\n }\n\n /** ACTIONS **/\n\n /**\n * Will be run after the connection is created and the server sends\n * a greeting. If the incoming message starts with 220 initiate\n * SMTP session by sending EHLO command\n *\n * @param {String} str Message from the server\n */\n _actionGreeting(str) {\n clearTimeout(this._greetingTimeout);\n\n if (str.substr(0, 3) !== '220') {\n this._onError(new Error('Invalid greeting. response=' + str), 'EPROTOCOL', str, 'CONN');\n return;\n }\n\n if (this.options.lmtp) {\n this._responseActions.push(this._actionLHLO);\n this._sendCommand('LHLO ' + this.name);\n } else {\n this._responseActions.push(this._actionEHLO);\n this._sendCommand('EHLO ' + this.name);\n }\n }\n\n /**\n * Handles server response for LHLO command. If it yielded in\n * error, emit 'error', otherwise treat this as an EHLO response\n *\n * @param {String} str Message from the server\n */\n _actionLHLO(str) {\n if (str.charAt(0) !== '2') {\n this._onError(new Error('Invalid LHLO. response=' + str), 'EPROTOCOL', str, 'LHLO');\n return;\n }\n\n this._actionEHLO(str);\n }\n\n /**\n * Handles server response for EHLO command. If it yielded in\n * error, try HELO instead, otherwise initiate TLS negotiation\n * if STARTTLS is supported by the server or move into the\n * authentication phase.\n *\n * @param {String} str Message from the server\n */\n _actionEHLO(str) {\n let match;\n\n if (str.substr(0, 3) === '421') {\n this._onError(new Error('Server terminates connection. response=' + str), 'ECONNECTION', str, 'EHLO');\n return;\n }\n\n if (str.charAt(0) !== '2') {\n if (this.options.requireTLS) {\n this._onError(new Error('EHLO failed but HELO does not support required STARTTLS. response=' + str), 'ECONNECTION', str, 'EHLO');\n return;\n }\n\n // Try HELO instead\n this._responseActions.push(this._actionHELO);\n this._sendCommand('HELO ' + this.name);\n return;\n }\n\n // Detect if the server supports STARTTLS\n if (!this.secure && !this.options.ignoreTLS && (/[ -]STARTTLS\\b/im.test(str) || this.options.requireTLS)) {\n this._sendCommand('STARTTLS');\n this._responseActions.push(this._actionSTARTTLS);\n return;\n }\n\n // Detect if the server supports SMTPUTF8\n if (/[ -]SMTPUTF8\\b/im.test(str)) {\n this._supportedExtensions.push('SMTPUTF8');\n }\n\n // Detect if the server supports DSN\n if (/[ -]DSN\\b/im.test(str)) {\n this._supportedExtensions.push('DSN');\n }\n\n // Detect if the server supports 8BITMIME\n if (/[ -]8BITMIME\\b/im.test(str)) {\n this._supportedExtensions.push('8BITMIME');\n }\n\n // Detect if the server supports PIPELINING\n if (/[ -]PIPELINING\\b/im.test(str)) {\n this._supportedExtensions.push('PIPELINING');\n }\n\n // Detect if the server supports AUTH\n if (/[ -]AUTH\\b/i.test(str)) {\n this.allowsAuth = true;\n }\n\n // Detect if the server supports PLAIN auth\n if (/[ -]AUTH(?:(\\s+|=)[^\\n]*\\s+|\\s+|=)PLAIN/i.test(str)) {\n this._supportedAuth.push('PLAIN');\n }\n\n // Detect if the server supports LOGIN auth\n if (/[ -]AUTH(?:(\\s+|=)[^\\n]*\\s+|\\s+|=)LOGIN/i.test(str)) {\n this._supportedAuth.push('LOGIN');\n }\n\n // Detect if the server supports CRAM-MD5 auth\n if (/[ -]AUTH(?:(\\s+|=)[^\\n]*\\s+|\\s+|=)CRAM-MD5/i.test(str)) {\n this._supportedAuth.push('CRAM-MD5');\n }\n\n // Detect if the server supports XOAUTH2 auth\n if (/[ -]AUTH(?:(\\s+|=)[^\\n]*\\s+|\\s+|=)XOAUTH2/i.test(str)) {\n this._supportedAuth.push('XOAUTH2');\n }\n\n // Detect if the server supports SIZE extensions (and the max allowed size)\n if ((match = str.match(/[ -]SIZE(?:[ \\t]+(\\d+))?/im))) {\n this._supportedExtensions.push('SIZE');\n this._maxAllowedSize = Number(match[1]) || 0;\n }\n\n this.emit('connect');\n }\n\n /**\n * Handles server response for HELO command. If it yielded in\n * error, emit 'error', otherwise move into the authentication phase.\n *\n * @param {String} str Message from the server\n */\n _actionHELO(str) {\n if (str.charAt(0) !== '2') {\n this._onError(new Error('Invalid HELO. response=' + str), 'EPROTOCOL', str, 'HELO');\n return;\n }\n\n // assume that authentication is enabled (most probably is not though)\n this.allowsAuth = true;\n\n this.emit('connect');\n }\n\n /**\n * Handles server response for STARTTLS command. If there's an error\n * try HELO instead, otherwise initiate TLS upgrade. If the upgrade\n * succeedes restart the EHLO\n *\n * @param {String} str Message from the server\n */\n _actionSTARTTLS(str) {\n if (str.charAt(0) !== '2') {\n if (this.options.opportunisticTLS) {\n this.logger.info(\n {\n tnx: 'smtp'\n },\n 'Failed STARTTLS upgrade, continuing unencrypted'\n );\n return this.emit('connect');\n }\n this._onError(new Error('Error upgrading connection with STARTTLS'), 'ETLS', str, 'STARTTLS');\n return;\n }\n\n this._upgradeConnection((err, secured) => {\n if (err) {\n this._onError(new Error('Error initiating TLS - ' + (err.message || err)), 'ETLS', false, 'STARTTLS');\n return;\n }\n\n this.logger.info(\n {\n tnx: 'smtp'\n },\n 'Connection upgraded with STARTTLS'\n );\n\n if (secured) {\n // restart session\n if (this.options.lmtp) {\n this._responseActions.push(this._actionLHLO);\n this._sendCommand('LHLO ' + this.name);\n } else {\n this._responseActions.push(this._actionEHLO);\n this._sendCommand('EHLO ' + this.name);\n }\n } else {\n this.emit('connect');\n }\n });\n }\n\n /**\n * Handle the response for AUTH LOGIN command. We are expecting\n * '334 VXNlcm5hbWU6' (base64 for 'Username:'). Data to be sent as\n * response needs to be base64 encoded username. We do not need\n * exact match but settle with 334 response in general as some\n * hosts invalidly use a longer message than VXNlcm5hbWU6\n *\n * @param {String} str Message from the server\n */\n _actionAUTH_LOGIN_USER(str, callback) {\n if (!/^334[ -]/.test(str)) {\n // expecting '334 VXNlcm5hbWU6'\n callback(this._formatError('Invalid login sequence while waiting for \"334 VXNlcm5hbWU6\"', 'EAUTH', str, 'AUTH LOGIN'));\n return;\n }\n\n this._responseActions.push(str => {\n this._actionAUTH_LOGIN_PASS(str, callback);\n });\n\n this._sendCommand(Buffer.from(this._auth.credentials.user + '', 'utf-8').toString('base64'));\n }\n\n /**\n * Handle the response for AUTH CRAM-MD5 command. We are expecting\n * '334 '. Data to be sent as response needs to be\n * base64 decoded challenge string, MD5 hashed using the password as\n * a HMAC key, prefixed by the username and a space, and finally all\n * base64 encoded again.\n *\n * @param {String} str Message from the server\n */\n _actionAUTH_CRAM_MD5(str, callback) {\n let challengeMatch = str.match(/^334\\s+(.+)$/);\n let challengeString = '';\n\n if (!challengeMatch) {\n return callback(this._formatError('Invalid login sequence while waiting for server challenge string', 'EAUTH', str, 'AUTH CRAM-MD5'));\n } else {\n challengeString = challengeMatch[1];\n }\n\n // Decode from base64\n let base64decoded = Buffer.from(challengeString, 'base64').toString('ascii'),\n hmac_md5 = crypto.createHmac('md5', this._auth.credentials.pass);\n\n hmac_md5.update(base64decoded);\n\n let hex_hmac = hmac_md5.digest('hex');\n let prepended = this._auth.credentials.user + ' ' + hex_hmac;\n\n this._responseActions.push(str => {\n this._actionAUTH_CRAM_MD5_PASS(str, callback);\n });\n\n this._sendCommand(Buffer.from(prepended).toString('base64'));\n }\n\n /**\n * Handles the response to CRAM-MD5 authentication, if there's no error,\n * the user can be considered logged in. Start waiting for a message to send\n *\n * @param {String} str Message from the server\n */\n _actionAUTH_CRAM_MD5_PASS(str, callback) {\n if (!str.match(/^235\\s+/)) {\n return callback(this._formatError('Invalid login sequence while waiting for \"235\"', 'EAUTH', str, 'AUTH CRAM-MD5'));\n }\n\n this.logger.info(\n {\n tnx: 'smtp',\n username: this._auth.user,\n action: 'authenticated',\n method: this._authMethod\n },\n 'User %s authenticated',\n JSON.stringify(this._auth.user)\n );\n this.authenticated = true;\n callback(null, true);\n }\n\n /**\n * Handle the response for AUTH LOGIN command. We are expecting\n * '334 UGFzc3dvcmQ6' (base64 for 'Password:'). Data to be sent as\n * response needs to be base64 encoded password.\n *\n * @param {String} str Message from the server\n */\n _actionAUTH_LOGIN_PASS(str, callback) {\n if (!/^334[ -]/.test(str)) {\n // expecting '334 UGFzc3dvcmQ6'\n return callback(this._formatError('Invalid login sequence while waiting for \"334 UGFzc3dvcmQ6\"', 'EAUTH', str, 'AUTH LOGIN'));\n }\n\n this._responseActions.push(str => {\n this._actionAUTHComplete(str, callback);\n });\n\n this._sendCommand(Buffer.from(this._auth.credentials.pass + '', 'utf-8').toString('base64'));\n }\n\n /**\n * Handles the response for authentication, if there's no error,\n * the user can be considered logged in. Start waiting for a message to send\n *\n * @param {String} str Message from the server\n */\n _actionAUTHComplete(str, isRetry, callback) {\n if (!callback && typeof isRetry === 'function') {\n callback = isRetry;\n isRetry = false;\n }\n\n if (str.substr(0, 3) === '334') {\n this._responseActions.push(str => {\n if (isRetry || this._authMethod !== 'XOAUTH2') {\n this._actionAUTHComplete(str, true, callback);\n } else {\n // fetch a new OAuth2 access token\n setImmediate(() => this._handleXOauth2Token(true, callback));\n }\n });\n this._sendCommand('');\n return;\n }\n\n if (str.charAt(0) !== '2') {\n this.logger.info(\n {\n tnx: 'smtp',\n username: this._auth.user,\n action: 'authfail',\n method: this._authMethod\n },\n 'User %s failed to authenticate',\n JSON.stringify(this._auth.user)\n );\n return callback(this._formatError('Invalid login', 'EAUTH', str, 'AUTH ' + this._authMethod));\n }\n\n this.logger.info(\n {\n tnx: 'smtp',\n username: this._auth.user,\n action: 'authenticated',\n method: this._authMethod\n },\n 'User %s authenticated',\n JSON.stringify(this._auth.user)\n );\n this.authenticated = true;\n callback(null, true);\n }\n\n /**\n * Handle response for a MAIL FROM: command\n *\n * @param {String} str Message from the server\n */\n _actionMAIL(str, callback) {\n let message, curRecipient;\n if (Number(str.charAt(0)) !== 2) {\n if (this._usingSmtpUtf8 && /^550 /.test(str) && /[\\x80-\\uFFFF]/.test(this._envelope.from)) {\n message = 'Internationalized mailbox name not allowed';\n } else {\n message = 'Mail command failed';\n }\n return callback(this._formatError(message, 'EENVELOPE', str, 'MAIL FROM'));\n }\n\n if (!this._envelope.rcptQueue.length) {\n return callback(this._formatError('Can\\x27t send mail - no recipients defined', 'EENVELOPE', false, 'API'));\n } else {\n this._recipientQueue = [];\n\n if (this._supportedExtensions.includes('PIPELINING')) {\n while (this._envelope.rcptQueue.length) {\n curRecipient = this._envelope.rcptQueue.shift();\n this._recipientQueue.push(curRecipient);\n this._responseActions.push(str => {\n this._actionRCPT(str, callback);\n });\n this._sendCommand('RCPT TO:<' + curRecipient + '>' + this._getDsnRcptToArgs());\n }\n } else {\n curRecipient = this._envelope.rcptQueue.shift();\n this._recipientQueue.push(curRecipient);\n this._responseActions.push(str => {\n this._actionRCPT(str, callback);\n });\n this._sendCommand('RCPT TO:<' + curRecipient + '>' + this._getDsnRcptToArgs());\n }\n }\n }\n\n /**\n * Handle response for a RCPT TO: command\n *\n * @param {String} str Message from the server\n */\n _actionRCPT(str, callback) {\n let message,\n err,\n curRecipient = this._recipientQueue.shift();\n if (Number(str.charAt(0)) !== 2) {\n // this is a soft error\n if (this._usingSmtpUtf8 && /^553 /.test(str) && /[\\x80-\\uFFFF]/.test(curRecipient)) {\n message = 'Internationalized mailbox name not allowed';\n } else {\n message = 'Recipient command failed';\n }\n this._envelope.rejected.push(curRecipient);\n // store error for the failed recipient\n err = this._formatError(message, 'EENVELOPE', str, 'RCPT TO');\n err.recipient = curRecipient;\n this._envelope.rejectedErrors.push(err);\n } else {\n this._envelope.accepted.push(curRecipient);\n }\n\n if (!this._envelope.rcptQueue.length && !this._recipientQueue.length) {\n if (this._envelope.rejected.length < this._envelope.to.length) {\n this._responseActions.push(str => {\n this._actionDATA(str, callback);\n });\n this._sendCommand('DATA');\n } else {\n err = this._formatError('Can\\x27t send mail - all recipients were rejected', 'EENVELOPE', str, 'RCPT TO');\n err.rejected = this._envelope.rejected;\n err.rejectedErrors = this._envelope.rejectedErrors;\n return callback(err);\n }\n } else if (this._envelope.rcptQueue.length) {\n curRecipient = this._envelope.rcptQueue.shift();\n this._recipientQueue.push(curRecipient);\n this._responseActions.push(str => {\n this._actionRCPT(str, callback);\n });\n this._sendCommand('RCPT TO:<' + curRecipient + '>' + this._getDsnRcptToArgs());\n }\n }\n\n /**\n * Handle response for a DATA command\n *\n * @param {String} str Message from the server\n */\n _actionDATA(str, callback) {\n // response should be 354 but according to this issue https://github.com/eleith/emailjs/issues/24\n // some servers might use 250 instead, so lets check for 2 or 3 as the first digit\n if (!/^[23]/.test(str)) {\n return callback(this._formatError('Data command failed', 'EENVELOPE', str, 'DATA'));\n }\n\n let response = {\n accepted: this._envelope.accepted,\n rejected: this._envelope.rejected\n };\n\n if (this._envelope.rejectedErrors.length) {\n response.rejectedErrors = this._envelope.rejectedErrors;\n }\n\n callback(null, response);\n }\n\n /**\n * Handle response for a DATA stream when using SMTP\n * We expect a single response that defines if the sending succeeded or failed\n *\n * @param {String} str Message from the server\n */\n _actionSMTPStream(str, callback) {\n if (Number(str.charAt(0)) !== 2) {\n // Message failed\n return callback(this._formatError('Message failed', 'EMESSAGE', str, 'DATA'));\n } else {\n // Message sent succesfully\n return callback(null, str);\n }\n }\n\n /**\n * Handle response for a DATA stream\n * We expect a separate response for every recipient. All recipients can either\n * succeed or fail separately\n *\n * @param {String} recipient The recipient this response applies to\n * @param {Boolean} final Is this the final recipient?\n * @param {String} str Message from the server\n */\n _actionLMTPStream(recipient, final, str, callback) {\n let err;\n if (Number(str.charAt(0)) !== 2) {\n // Message failed\n err = this._formatError('Message failed for recipient ' + recipient, 'EMESSAGE', str, 'DATA');\n err.recipient = recipient;\n this._envelope.rejected.push(recipient);\n this._envelope.rejectedErrors.push(err);\n for (let i = 0, len = this._envelope.accepted.length; i < len; i++) {\n if (this._envelope.accepted[i] === recipient) {\n this._envelope.accepted.splice(i, 1);\n }\n }\n }\n if (final) {\n return callback(null, str);\n }\n }\n\n _handleXOauth2Token(isRetry, callback) {\n this._auth.oauth2.getToken(isRetry, (err, accessToken) => {\n if (err) {\n this.logger.info(\n {\n tnx: 'smtp',\n username: this._auth.user,\n action: 'authfail',\n method: this._authMethod\n },\n 'User %s failed to authenticate',\n JSON.stringify(this._auth.user)\n );\n return callback(this._formatError(err, 'EAUTH', false, 'AUTH XOAUTH2'));\n }\n this._responseActions.push(str => {\n this._actionAUTHComplete(str, isRetry, callback);\n });\n this._sendCommand('AUTH XOAUTH2 ' + this._auth.oauth2.buildXOAuth2Token(accessToken));\n });\n }\n\n /**\n *\n * @param {string} command\n * @private\n */\n _isDestroyedMessage(command) {\n if (this._destroyed) {\n return 'Cannot ' + command + ' - smtp connection is already destroyed.';\n }\n\n if (this._socket) {\n if (this._socket.destroyed) {\n return 'Cannot ' + command + ' - smtp connection socket is already destroyed.';\n }\n\n if (!this._socket.writable) {\n return 'Cannot ' + command + ' - smtp connection socket is already half-closed.';\n }\n }\n }\n\n _getHostname() {\n // defaul hostname is machine hostname or [IP]\n let defaultHostname = os.hostname() || '';\n\n // ignore if not FQDN\n if (defaultHostname.indexOf('.') < 0) {\n defaultHostname = '[127.0.0.1]';\n }\n\n // IP should be enclosed in []\n if (defaultHostname.match(/^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$/)) {\n defaultHostname = '[' + defaultHostname + ']';\n }\n\n return defaultHostname;\n }\n}\n\nmodule.exports = SMTPConnection;\n","var common = require('./common');\nvar os = require('os');\nvar fs = require('fs');\n\ncommon.register('tempdir', _tempDir, {\n allowGlobbing: false,\n wrapOutput: false,\n});\n\n// Returns false if 'dir' is not a writeable directory, 'dir' otherwise\nfunction writeableDir(dir) {\n if (!dir || !fs.existsSync(dir)) return false;\n\n if (!common.statFollowLinks(dir).isDirectory()) return false;\n\n var testFile = dir + '/' + common.randomFileName();\n try {\n fs.writeFileSync(testFile, ' ');\n common.unlinkSync(testFile);\n return dir;\n } catch (e) {\n /* istanbul ignore next */\n return false;\n }\n}\n\n// Variable to cache the tempdir value for successive lookups.\nvar cachedTempDir;\n\n//@\n//@ ### tempdir()\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ var tmp = tempdir(); // \"/tmp\" for most *nix platforms\n//@ ```\n//@\n//@ Searches and returns string containing a writeable, platform-dependent temporary directory.\n//@ Follows Python's [tempfile algorithm](http://docs.python.org/library/tempfile.html#tempfile.tempdir).\nfunction _tempDir() {\n if (cachedTempDir) return cachedTempDir;\n\n cachedTempDir = writeableDir(os.tmpdir()) ||\n writeableDir(process.env.TMPDIR) ||\n writeableDir(process.env.TEMP) ||\n writeableDir(process.env.TMP) ||\n writeableDir(process.env.Wimp$ScrapDir) || // RiscOS\n writeableDir('C:\\\\TEMP') || // Windows\n writeableDir('C:\\\\TMP') || // Windows\n writeableDir('\\\\TEMP') || // Windows\n writeableDir('\\\\TMP') || // Windows\n writeableDir('/tmp') ||\n writeableDir('/var/tmp') ||\n writeableDir('/usr/tmp') ||\n writeableDir('.'); // last resort\n\n return cachedTempDir;\n}\n\n// Indicates if the tempdir value is currently cached. This is exposed for tests\n// only. The return value should only be tested for truthiness.\nfunction isCached() {\n return cachedTempDir;\n}\n\n// Clears the cached tempDir value, if one is cached. This is exposed for tests\n// only.\nfunction clearCache() {\n cachedTempDir = undefined;\n}\n\nmodule.exports.tempDir = _tempDir;\nmodule.exports.isCached = isCached;\nmodule.exports.clearCache = clearCache;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.parseHeaders = void 0;\r\n/**\r\n * Parses the headers that were stored while\r\n * the request was being processed.\r\n *\r\n * @internal\r\n */\r\nfunction parseHeaders(headersString) {\r\n const headers = headersString.split(/\\r?\\n|\\r/g);\r\n const len = headers.length;\r\n const result = [];\r\n let isStatusLine = true;\r\n let currHeaders = {};\r\n for (let i = 0; i < len; i += 1) {\r\n // status line\r\n if (isStatusLine) {\r\n const header = headers[i].split(' ');\r\n currHeaders.result = {\r\n version: header.shift() || '',\r\n code: parseInt(header.shift() || '0', 10),\r\n reason: header.join(' '),\r\n };\r\n isStatusLine = false;\r\n continue;\r\n }\r\n // Empty string means empty line, which means another header group\r\n if (headers[i] === '') {\r\n result.push(currHeaders);\r\n currHeaders = {};\r\n isStatusLine = true;\r\n continue;\r\n }\r\n const header = headers[i].split(/:\\s(.+)/);\r\n if (header[0].toUpperCase() === 'SET-COOKIE') {\r\n if (!currHeaders['Set-Cookie']) {\r\n currHeaders['Set-Cookie'] = [];\r\n }\r\n currHeaders['Set-Cookie'].push(header[1]);\r\n }\r\n else {\r\n currHeaders[header[0]] = header[1];\r\n }\r\n }\r\n return result;\r\n}\r\nexports.parseHeaders = parseHeaders;\r\n//# sourceMappingURL=parseHeaders.js.map","exports = module.exports = SemVer\n\nvar debug\n/* istanbul ignore next */\nif (typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)) {\n debug = function () {\n var args = Array.prototype.slice.call(arguments, 0)\n args.unshift('SEMVER')\n console.log.apply(console, args)\n }\n} else {\n debug = function () {}\n}\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nexports.SEMVER_SPEC_VERSION = '2.0.0'\n\nvar MAX_LENGTH = 256\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nvar MAX_SAFE_COMPONENT_LENGTH = 16\n\n// The actual regexps go on exports.re\nvar re = exports.re = []\nvar src = exports.src = []\nvar R = 0\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\nvar NUMERICIDENTIFIER = R++\nsrc[NUMERICIDENTIFIER] = '0|[1-9]\\\\d*'\nvar NUMERICIDENTIFIERLOOSE = R++\nsrc[NUMERICIDENTIFIERLOOSE] = '[0-9]+'\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\nvar NONNUMERICIDENTIFIER = R++\nsrc[NONNUMERICIDENTIFIER] = '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*'\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\nvar MAINVERSION = R++\nsrc[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')'\n\nvar MAINVERSIONLOOSE = R++\nsrc[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')'\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\nvar PRERELEASEIDENTIFIER = R++\nsrc[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\nvar PRERELEASEIDENTIFIERLOOSE = R++\nsrc[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\nvar PRERELEASE = R++\nsrc[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIER] + ')*))'\n\nvar PRERELEASELOOSE = R++\nsrc[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\nvar BUILDIDENTIFIER = R++\nsrc[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\nvar BUILD = R++\nsrc[BUILD] = '(?:\\\\+(' + src[BUILDIDENTIFIER] +\n '(?:\\\\.' + src[BUILDIDENTIFIER] + ')*))'\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\nvar FULL = R++\nvar FULLPLAIN = 'v?' + src[MAINVERSION] +\n src[PRERELEASE] + '?' +\n src[BUILD] + '?'\n\nsrc[FULL] = '^' + FULLPLAIN + '$'\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\nvar LOOSEPLAIN = '[v=\\\\s]*' + src[MAINVERSIONLOOSE] +\n src[PRERELEASELOOSE] + '?' +\n src[BUILD] + '?'\n\nvar LOOSE = R++\nsrc[LOOSE] = '^' + LOOSEPLAIN + '$'\n\nvar GTLT = R++\nsrc[GTLT] = '((?:<|>)?=?)'\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\nvar XRANGEIDENTIFIERLOOSE = R++\nsrc[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\\\*'\nvar XRANGEIDENTIFIER = R++\nsrc[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\\\*'\n\nvar XRANGEPLAIN = R++\nsrc[XRANGEPLAIN] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:' + src[PRERELEASE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGEPLAINLOOSE = R++\nsrc[XRANGEPLAINLOOSE] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:' + src[PRERELEASELOOSE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGE = R++\nsrc[XRANGE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAIN] + '$'\nvar XRANGELOOSE = R++\nsrc[XRANGELOOSE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAINLOOSE] + '$'\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\nvar COERCE = R++\nsrc[COERCE] = '(?:^|[^\\\\d])' +\n '(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:$|[^\\\\d])'\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\nvar LONETILDE = R++\nsrc[LONETILDE] = '(?:~>?)'\n\nvar TILDETRIM = R++\nsrc[TILDETRIM] = '(\\\\s*)' + src[LONETILDE] + '\\\\s+'\nre[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')\nvar tildeTrimReplace = '$1~'\n\nvar TILDE = R++\nsrc[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'\nvar TILDELOOSE = R++\nsrc[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\nvar LONECARET = R++\nsrc[LONECARET] = '(?:\\\\^)'\n\nvar CARETTRIM = R++\nsrc[CARETTRIM] = '(\\\\s*)' + src[LONECARET] + '\\\\s+'\nre[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')\nvar caretTrimReplace = '$1^'\n\nvar CARET = R++\nsrc[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'\nvar CARETLOOSE = R++\nsrc[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\nvar COMPARATORLOOSE = R++\nsrc[COMPARATORLOOSE] = '^' + src[GTLT] + '\\\\s*(' + LOOSEPLAIN + ')$|^$'\nvar COMPARATOR = R++\nsrc[COMPARATOR] = '^' + src[GTLT] + '\\\\s*(' + FULLPLAIN + ')$|^$'\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\nvar COMPARATORTRIM = R++\nsrc[COMPARATORTRIM] = '(\\\\s*)' + src[GTLT] +\n '\\\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'\n\n// this one has to use the /g flag\nre[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')\nvar comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\nvar HYPHENRANGE = R++\nsrc[HYPHENRANGE] = '^\\\\s*(' + src[XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAIN] + ')' +\n '\\\\s*$'\n\nvar HYPHENRANGELOOSE = R++\nsrc[HYPHENRANGELOOSE] = '^\\\\s*(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s*$'\n\n// Star ranges basically just allow anything at all.\nvar STAR = R++\nsrc[STAR] = '(<|>)?=?\\\\s*\\\\*'\n\n// Compile to actual regexp objects.\n// All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i < R; i++) {\n debug(i, src[i])\n if (!re[i]) {\n re[i] = new RegExp(src[i])\n }\n}\n\nexports.parse = parse\nfunction parse (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n var r = options.loose ? re[LOOSE] : re[FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nexports.valid = valid\nfunction valid (version, options) {\n var v = parse(version, options)\n return v ? v.version : null\n}\n\nexports.clean = clean\nfunction clean (version, options) {\n var s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\n\nexports.SemVer = SemVer\n\nfunction SemVer (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === options.loose) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')\n }\n\n if (!(this instanceof SemVer)) {\n return new SemVer(version, options)\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n\n var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL])\n\n if (!m) {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map(function (id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n}\n\nSemVer.prototype.format = function () {\n this.version = this.major + '.' + this.minor + '.' + this.patch\n if (this.prerelease.length) {\n this.version += '-' + this.prerelease.join('.')\n }\n return this.version\n}\n\nSemVer.prototype.toString = function () {\n return this.version\n}\n\nSemVer.prototype.compare = function (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return this.compareMain(other) || this.comparePre(other)\n}\n\nSemVer.prototype.compareMain = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n}\n\nSemVer.prototype.comparePre = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n var i = 0\n do {\n var a = this.prerelease[i]\n var b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\n// preminor will bump the version up to the next minor release, and immediately\n// down to pre-release. premajor and prepatch work the same way.\nSemVer.prototype.inc = function (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 \"pre\" would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n var i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error('invalid increment argument: ' + release)\n }\n this.format()\n this.raw = this.version\n return this\n}\n\nexports.inc = inc\nfunction inc (version, release, loose, identifier) {\n if (typeof (loose) === 'string') {\n identifier = loose\n loose = undefined\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\n\nexports.diff = diff\nfunction diff (version1, version2) {\n if (eq(version1, version2)) {\n return null\n } else {\n var v1 = parse(version1)\n var v2 = parse(version2)\n var prefix = ''\n if (v1.prerelease.length || v2.prerelease.length) {\n prefix = 'pre'\n var defaultResult = 'prerelease'\n }\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\n\nexports.compareIdentifiers = compareIdentifiers\n\nvar numeric = /^[0-9]+$/\nfunction compareIdentifiers (a, b) {\n var anum = numeric.test(a)\n var bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nexports.rcompareIdentifiers = rcompareIdentifiers\nfunction rcompareIdentifiers (a, b) {\n return compareIdentifiers(b, a)\n}\n\nexports.major = major\nfunction major (a, loose) {\n return new SemVer(a, loose).major\n}\n\nexports.minor = minor\nfunction minor (a, loose) {\n return new SemVer(a, loose).minor\n}\n\nexports.patch = patch\nfunction patch (a, loose) {\n return new SemVer(a, loose).patch\n}\n\nexports.compare = compare\nfunction compare (a, b, loose) {\n return new SemVer(a, loose).compare(new SemVer(b, loose))\n}\n\nexports.compareLoose = compareLoose\nfunction compareLoose (a, b) {\n return compare(a, b, true)\n}\n\nexports.rcompare = rcompare\nfunction rcompare (a, b, loose) {\n return compare(b, a, loose)\n}\n\nexports.sort = sort\nfunction sort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compare(a, b, loose)\n })\n}\n\nexports.rsort = rsort\nfunction rsort (list, loose) {\n return list.sort(function (a, b) {\n return exports.rcompare(a, b, loose)\n })\n}\n\nexports.gt = gt\nfunction gt (a, b, loose) {\n return compare(a, b, loose) > 0\n}\n\nexports.lt = lt\nfunction lt (a, b, loose) {\n return compare(a, b, loose) < 0\n}\n\nexports.eq = eq\nfunction eq (a, b, loose) {\n return compare(a, b, loose) === 0\n}\n\nexports.neq = neq\nfunction neq (a, b, loose) {\n return compare(a, b, loose) !== 0\n}\n\nexports.gte = gte\nfunction gte (a, b, loose) {\n return compare(a, b, loose) >= 0\n}\n\nexports.lte = lte\nfunction lte (a, b, loose) {\n return compare(a, b, loose) <= 0\n}\n\nexports.cmp = cmp\nfunction cmp (a, op, b, loose) {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError('Invalid operator: ' + op)\n }\n}\n\nexports.Comparator = Comparator\nfunction Comparator (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n if (!(this instanceof Comparator)) {\n return new Comparator(comp, options)\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n}\n\nvar ANY = {}\nComparator.prototype.parse = function (comp) {\n var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]\n var m = comp.match(r)\n\n if (!m) {\n throw new TypeError('Invalid comparator: ' + comp)\n }\n\n this.operator = m[1]\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n}\n\nComparator.prototype.toString = function () {\n return this.value\n}\n\nComparator.prototype.test = function (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n}\n\nComparator.prototype.intersects = function (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n var rangeTmp\n\n if (this.operator === '') {\n rangeTmp = new Range(comp.value, options)\n return satisfies(this.value, rangeTmp, options)\n } else if (comp.operator === '') {\n rangeTmp = new Range(this.value, options)\n return satisfies(comp.semver, rangeTmp, options)\n }\n\n var sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n var sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n var sameSemVer = this.semver.version === comp.semver.version\n var differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n var oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n ((this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<'))\n var oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n ((this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>'))\n\n return sameDirectionIncreasing || sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan || oppositeDirectionsGreaterThan\n}\n\nexports.Range = Range\nfunction Range (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n return new Range(range.value, options)\n }\n\n if (!(this instanceof Range)) {\n return new Range(range, options)\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First, split based on boolean or ||\n this.raw = range\n this.set = range.split(/\\s*\\|\\|\\s*/).map(function (range) {\n return this.parseRange(range.trim())\n }, this).filter(function (c) {\n // throw out any that are not relevant for whatever reason\n return c.length\n })\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + range)\n }\n\n this.format()\n}\n\nRange.prototype.format = function () {\n this.range = this.set.map(function (comps) {\n return comps.join(' ').trim()\n }).join('||').trim()\n return this.range\n}\n\nRange.prototype.toString = function () {\n return this.range\n}\n\nRange.prototype.parseRange = function (range) {\n var loose = this.options.loose\n range = range.trim()\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]\n range = range.replace(hr, hyphenReplace)\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, re[COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]\n var set = range.split(' ').map(function (comp) {\n return parseComparator(comp, this.options)\n }, this).join(' ').split(/\\s+/)\n if (this.options.loose) {\n // in loose mode, throw out any that are not valid comparators\n set = set.filter(function (comp) {\n return !!comp.match(compRe)\n })\n }\n set = set.map(function (comp) {\n return new Comparator(comp, this.options)\n }, this)\n\n return set\n}\n\nRange.prototype.intersects = function (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some(function (thisComparators) {\n return thisComparators.every(function (thisComparator) {\n return range.set.some(function (rangeComparators) {\n return rangeComparators.every(function (rangeComparator) {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n })\n })\n}\n\n// Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators\nfunction toComparators (range, options) {\n return new Range(range, options).set.map(function (comp) {\n return comp.map(function (c) {\n return c.value\n }).join(' ').trim().split(' ')\n })\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nfunction parseComparator (comp, options) {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nfunction isX (id) {\n return !id || id.toLowerCase() === 'x' || id === '*'\n}\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceTilde(comp, options)\n }).join(' ')\n}\n\nfunction replaceTilde (comp, options) {\n var r = options.loose ? re[TILDELOOSE] : re[TILDE]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceCaret(comp, options)\n }).join(' ')\n}\n\nfunction replaceCaret (comp, options) {\n debug('caret', comp, options)\n var r = options.loose ? re[CARETLOOSE] : re[CARET]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n if (M === '0') {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else {\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + (+M + 1) + '.0.0'\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0'\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nfunction replaceXRanges (comp, options) {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map(function (comp) {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nfunction replaceXRange (comp, options) {\n comp = comp.trim()\n var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]\n return comp.replace(r, function (ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n var xM = isX(M)\n var xm = xM || isX(m)\n var xp = xm || isX(p)\n var anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n // >1.2.3 => >= 1.2.4\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n ret = gtlt + M + '.' + m + '.' + p\n } else if (xm) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars (comp, options) {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[STAR], '')\n}\n\n// This function is passed to string.replace(re[HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = '>=' + fM + '.0.0'\n } else if (isX(fp)) {\n from = '>=' + fM + '.' + fm + '.0'\n } else {\n from = '>=' + from\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = '<' + (+tM + 1) + '.0.0'\n } else if (isX(tp)) {\n to = '<' + tM + '.' + (+tm + 1) + '.0'\n } else if (tpr) {\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr\n } else {\n to = '<=' + to\n }\n\n return (from + ' ' + to).trim()\n}\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n for (var i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n}\n\nfunction testSet (set, version, options) {\n for (var i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n var allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n\nexports.satisfies = satisfies\nfunction satisfies (version, range, options) {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\n\nexports.maxSatisfying = maxSatisfying\nfunction maxSatisfying (versions, range, options) {\n var max = null\n var maxSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\n\nexports.minSatisfying = minSatisfying\nfunction minSatisfying (versions, range, options) {\n var min = null\n var minSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\n\nexports.minVersion = minVersion\nfunction minVersion (range, loose) {\n range = new Range(range, loose)\n\n var minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n comparators.forEach(function (comparator) {\n // Clone to avoid manipulating the comparator's semver object.\n var compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error('Unexpected operation: ' + comparator.operator)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\n\nexports.validRange = validRange\nfunction validRange (range, options) {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr\nfunction ltr (version, range, options) {\n return outside(version, range, '<', options)\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr\nfunction gtr (version, range, options) {\n return outside(version, range, '>', options)\n}\n\nexports.outside = outside\nfunction outside (version, range, hilo, options) {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n var gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n var high = null\n var low = null\n\n comparators.forEach(function (comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nexports.prerelease = prerelease\nfunction prerelease (version, options) {\n var parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\n\nexports.intersects = intersects\nfunction intersects (r1, r2, options) {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce\nfunction coerce (version) {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n var match = version.match(re[COERCE])\n\n if (match == null) {\n return null\n }\n\n return parse(match[1] +\n '.' + (match[2] || '0') +\n '.' + (match[3] || '0'))\n}\n","'use strict'\n\nmodule.exports = {\n moveSync: require('./move-sync')\n}\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.update = void 0;\nconst slugify_1 = __importDefault(require(\"@sindresorhus/slugify\"));\nconst fs_extra_1 = require(\"fs-extra\");\nconst js_yaml_1 = require(\"js-yaml\");\nconst path_1 = require(\"path\");\nconst config_1 = require(\"./helpers/config\");\nconst git_1 = require(\"./helpers/git\");\nconst github_1 = require(\"./helpers/github\");\nconst init_check_1 = require(\"./helpers/init-check\");\nconst notifications_1 = require(\"./helpers/notifications\");\nconst request_1 = require(\"./helpers/request\");\nconst summary_1 = require(\"./summary\");\nconst update = async (shouldCommit = false) => {\n if (!(await init_check_1.shouldContinue()))\n return;\n await fs_extra_1.mkdirp(\"history\");\n let [owner, repo] = (process.env.GITHUB_REPOSITORY || \"\").split(\"/\");\n const config = await config_1.getConfig();\n const octokit = await github_1.getOctokit();\n let hasDelta = false;\n for await (const site of config.sites) {\n console.log(\"Checking\", site.url);\n const slug = site.slug || slugify_1.default(site.name);\n let currentStatus = \"unknown\";\n let startTime = new Date();\n const siteHistory = js_yaml_1.safeLoad((await fs_extra_1.readFile(path_1.join(\".\", \"history\", `${slug}.yml`), \"utf8\"))\n .split(\"\\n\")\n .map((line) => (line.startsWith(\"- \") ? line.replace(\"- \", \"\") : line))\n .join(\"\\n\"));\n try {\n currentStatus = siteHistory.status || \"unknown\";\n startTime = new Date(siteHistory.startTime || new Date());\n }\n catch (error) { }\n console.log(\"Current status\", site.slug, currentStatus, startTime);\n /**\n * Check whether the site is online\n */\n const performTestOnce = async () => {\n const result = await request_1.curl(site);\n console.log(\"Result from test\", result);\n const responseTime = (result.totalTime * 1000).toFixed(0);\n const expectedStatusCodes = (site.expectedStatusCodes || [\n 200,\n 201,\n 202,\n 203,\n 200,\n 204,\n 205,\n 206,\n 207,\n 208,\n 226,\n 300,\n 301,\n 302,\n 303,\n 304,\n 305,\n 306,\n 307,\n 308,\n ]).map(Number);\n let status = expectedStatusCodes.includes(Number(result.httpCode))\n ? \"up\"\n : \"down\";\n if (parseInt(responseTime) > (site.maxResponseTime || 60000))\n status = \"degraded\";\n return { result, responseTime, status };\n };\n let { result, responseTime, status } = await performTestOnce();\n /**\n * If the site is down, we perform the test 2 more times to make\n * sure that it's not a false alarm\n */\n if (status === \"down\" || status === \"degraded\") {\n wait(1000);\n const secondTry = await performTestOnce();\n if (secondTry.status === \"up\") {\n result = secondTry.result;\n responseTime = secondTry.responseTime;\n status = secondTry.status;\n }\n else {\n wait(10000);\n const thirdTry = await performTestOnce();\n if (thirdTry.status === \"up\") {\n result = thirdTry.result;\n responseTime = thirdTry.responseTime;\n status = thirdTry.status;\n }\n }\n }\n try {\n if (shouldCommit || currentStatus !== status) {\n await fs_extra_1.writeFile(path_1.join(\".\", \"history\", `${slug}.yml`), `url: ${site.url} \nstatus: ${status}\ncode: ${result.httpCode}\nresponseTime: ${responseTime}\nlastUpdated: ${new Date().toISOString()}\nstartTime: ${startTime}\ngenerator: Upptime \n`);\n git_1.commit(((config.commitMessages || {}).statusChange ||\n \"$PREFIX $SITE_NAME is $STATUS ($RESPONSE_CODE in $RESPONSE_TIME ms) [skip ci] [upptime]\")\n .replace(\"$PREFIX\", status === \"up\"\n ? config.commitPrefixStatusUp || \"🟩\"\n : status === \"degraded\"\n ? config.commitPrefixStatusDegraded || \"🟨\"\n : config.commitPrefixStatusDown || \"🟥\")\n .replace(\"$SITE_NAME\", site.name)\n .replace(\"$SITE_URL\", site.url)\n .replace(\"$SITE_METHOD\", site.method || \"GET\")\n .replace(\"$STATUS\", status)\n .replace(\"$RESPONSE_CODE\", result.httpCode.toString())\n .replace(\"$RESPONSE_TIME\", responseTime), (config.commitMessages || {}).commitAuthorName, (config.commitMessages || {}).commitAuthorEmail);\n const lastCommitSha = git_1.lastCommit();\n if (currentStatus !== status) {\n console.log(\"Status is different\", currentStatus, \"to\", status);\n hasDelta = true;\n const issues = await octokit.issues.list({\n owner,\n repo,\n labels: slug,\n filter: \"all\",\n state: \"open\",\n sort: \"created\",\n direction: \"desc\",\n per_page: 1,\n });\n console.log(`Found ${issues.data.length} issues`);\n // If the site was just recorded as down or degraded, open an issue\n if (status === \"down\" || status === \"degraded\") {\n if (!issues.data.length) {\n const newIssue = await octokit.issues.create({\n owner,\n repo,\n title: status === \"down\"\n ? `🛑 ${site.name} is down`\n : `⚠️ ${site.name} has degraded performance`,\n body: `In [\\`${lastCommitSha.substr(0, 7)}\\`](https://github.com/${owner}/${repo}/commit/${lastCommitSha}), ${site.name} (${site.url}) ${status === \"down\" ? \"was **down**\" : \"experienced **degraded performance**\"}:\n- HTTP code: ${result.httpCode}\n- Response time: ${responseTime} ms\n`,\n assignees: [...(config.assignees || []), ...(site.assignees || [])],\n labels: [\"status\", slug],\n });\n await octokit.issues.lock({\n owner,\n repo,\n issue_number: newIssue.data.number,\n });\n console.log(\"Opened and locked a new issue\");\n await notifications_1.sendNotification(config, status === \"down\"\n ? `🟥 ${site.name} (${site.url}) is **down**: ${newIssue.data.html_url}`\n : `🟨 ${site.name} (${site.url}) is experiencing **degraded performance**: ${newIssue.data.html_url}`);\n }\n else {\n console.log(\"An issue is already open for this\");\n }\n }\n else if (issues.data.length) {\n // If the site just came back up\n await octokit.issues.createComment({\n owner,\n repo,\n issue_number: issues.data[0].number,\n body: `**Resolved:** ${site.name} ${issues.data[0].title.includes(\"degraded\")\n ? \"performance has improved\"\n : \"is back up\"} in [\\`${lastCommitSha.substr(0, 7)}\\`](https://github.com/${owner}/${repo}/commit/${lastCommitSha}).`,\n });\n console.log(\"Created comment in issue\");\n await octokit.issues.update({\n owner,\n repo,\n issue_number: issues.data[0].number,\n state: \"closed\",\n });\n console.log(\"Closed issue\");\n await notifications_1.sendNotification(config, `🟩 ${site.name} (${site.url}) ${issues.data[0].title.includes(\"degraded\")\n ? \"performance has improved\"\n : \"is back up\"}.`);\n }\n else {\n console.log(\"Could not find a relevant issue\", issues.data);\n }\n }\n else {\n console.log(\"Status is the same\", currentStatus, status);\n }\n }\n else {\n console.log(\"Skipping commit, \", \"status is\", status);\n }\n }\n catch (error) {\n console.log(\"ERROR\", error);\n }\n }\n git_1.push();\n if (!config.skipDeleteIssues) {\n // Find all the opened issues that shouldn't have opened\n // Say, Upptime found a down monitor and it was back up within 5 min\n const issuesRecentlyClosed = await octokit.issues.listForRepo({\n owner,\n repo,\n state: \"closed\",\n labels: \"status\",\n per_page: 10,\n });\n console.log(\"Found recently closed issues\", issuesRecentlyClosed.data.length);\n for await (const issue of issuesRecentlyClosed.data) {\n if (\n // If this issue was closed within 15 minutes\n new Date(issue.closed_at).getTime() - new Date(issue.created_at).getTime() < 900000 &&\n // It has 1 comment (the default Upptime one)\n issue.comments === 1) {\n try {\n console.log(\"Trying to delete issue\", issue.number, issue.node_id);\n const result = await octokit.graphql(`\n mutation deleteIssue {\n deleteIssue(input:{issueId:\"${issue.node_id}\"}) {\n clientMutationId\n }\n }`);\n console.log(\"Success\", result);\n }\n catch (error) {\n console.log(\"Error deleting this issue\", error);\n }\n }\n }\n }\n if (hasDelta)\n summary_1.generateSummary();\n};\nexports.update = update;\nconst wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\n//# sourceMappingURL=update.js.map","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):((e=\"undefined\"!=typeof globalThis?globalThis:e||self).prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.espree=t())}(this,(function(){\"use strict\";var e=e=>\"string\"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(t,e?void 0:\"g\")})(),\"\"):e;const t=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var u=t,i=t;u.default=i;const n=t=>{if(\"string\"!=typeof(t=t.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\" \"))||0===t.length)return 0;t=e(t);let i=0;for(let e=0;e=127&&n<=159||(n>=768&&n<=879||(n>65535&&e++,i+=u(n)?2:1))}return i};var r=n,s=n;r.default=s;var a=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function o(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var c=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{};function p(){throw new Error(\"setTimeout has not been defined\")}function D(){throw new Error(\"clearTimeout has not been defined\")}var h=p,l=D;function d(e){if(h===setTimeout)return setTimeout(e,0);if((h===p||!h)&&setTimeout)return h=setTimeout,setTimeout(e,0);try{return h(e,0)}catch(t){try{return h.call(null,e,0)}catch(t){return h.call(this,e,0)}}}\"function\"==typeof c.setTimeout&&(h=setTimeout),\"function\"==typeof c.clearTimeout&&(l=clearTimeout);var E,f=[],C=!1,m=-1;function A(){C&&E&&(C=!1,E.length?f=E.concat(f):m=-1,f.length&&F())}function F(){if(!C){var e=d(A);C=!0;for(var t=f.length;t;){for(E=f,f=[];++m1)for(var u=1;uconsole.error(\"SEMVER\",...e):()=>{};var P={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16};function O(e,t,u){return e(u={path:t,exports:{},require:function(e,t){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==t&&u.path)}},u.exports),u.exports}function R(e){return e&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var M=O((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:u}=P,i=(t=e.exports={}).re=[],n=t.src=[],r=t.t={};let s=0;const a=(e,t,u)=>{const a=s++;L(a,t),r[e]=a,n[a]=t,i[a]=new RegExp(t,u?\"g\":void 0)};a(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),a(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),a(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),a(\"MAINVERSION\",\"(\".concat(n[r.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(n[r.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(n[r.NUMERICIDENTIFIER],\")\")),a(\"MAINVERSIONLOOSE\",\"(\".concat(n[r.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(n[r.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(n[r.NUMERICIDENTIFIERLOOSE],\")\")),a(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(n[r.NUMERICIDENTIFIER],\"|\").concat(n[r.NONNUMERICIDENTIFIER],\")\")),a(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(n[r.NUMERICIDENTIFIERLOOSE],\"|\").concat(n[r.NONNUMERICIDENTIFIER],\")\")),a(\"PRERELEASE\",\"(?:-(\".concat(n[r.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(n[r.PRERELEASEIDENTIFIER],\")*))\")),a(\"PRERELEASELOOSE\",\"(?:-?(\".concat(n[r.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(n[r.PRERELEASEIDENTIFIERLOOSE],\")*))\")),a(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),a(\"BUILD\",\"(?:\\\\+(\".concat(n[r.BUILDIDENTIFIER],\"(?:\\\\.\").concat(n[r.BUILDIDENTIFIER],\")*))\")),a(\"FULLPLAIN\",\"v?\".concat(n[r.MAINVERSION]).concat(n[r.PRERELEASE],\"?\").concat(n[r.BUILD],\"?\")),a(\"FULL\",\"^\".concat(n[r.FULLPLAIN],\"$\")),a(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(n[r.MAINVERSIONLOOSE]).concat(n[r.PRERELEASELOOSE],\"?\").concat(n[r.BUILD],\"?\")),a(\"LOOSE\",\"^\".concat(n[r.LOOSEPLAIN],\"$\")),a(\"GTLT\",\"((?:<|>)?=?)\"),a(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(n[r.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),a(\"XRANGEIDENTIFIER\",\"\".concat(n[r.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),a(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(n[r.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(n[r.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(n[r.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(n[r.PRERELEASE],\")?\").concat(n[r.BUILD],\"?\")+\")?)?\"),a(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(n[r.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(n[r.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(n[r.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(n[r.PRERELEASELOOSE],\")?\").concat(n[r.BUILD],\"?\")+\")?)?\"),a(\"XRANGE\",\"^\".concat(n[r.GTLT],\"\\\\s*\").concat(n[r.XRANGEPLAIN],\"$\")),a(\"XRANGELOOSE\",\"^\".concat(n[r.GTLT],\"\\\\s*\").concat(n[r.XRANGEPLAINLOOSE],\"$\")),a(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(u,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(u,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(u,\"}))?\")+\"(?:$|[^\\\\d])\"),a(\"COERCERTL\",n[r.COERCE],!0),a(\"LONETILDE\",\"(?:~>?)\"),a(\"TILDETRIM\",\"(\\\\s*)\".concat(n[r.LONETILDE],\"\\\\s+\"),!0),t.tildeTrimReplace=\"$1~\",a(\"TILDE\",\"^\".concat(n[r.LONETILDE]).concat(n[r.XRANGEPLAIN],\"$\")),a(\"TILDELOOSE\",\"^\".concat(n[r.LONETILDE]).concat(n[r.XRANGEPLAINLOOSE],\"$\")),a(\"LONECARET\",\"(?:\\\\^)\"),a(\"CARETTRIM\",\"(\\\\s*)\".concat(n[r.LONECARET],\"\\\\s+\"),!0),t.caretTrimReplace=\"$1^\",a(\"CARET\",\"^\".concat(n[r.LONECARET]).concat(n[r.XRANGEPLAIN],\"$\")),a(\"CARETLOOSE\",\"^\".concat(n[r.LONECARET]).concat(n[r.XRANGEPLAINLOOSE],\"$\")),a(\"COMPARATORLOOSE\",\"^\".concat(n[r.GTLT],\"\\\\s*(\").concat(n[r.LOOSEPLAIN],\")$|^$\")),a(\"COMPARATOR\",\"^\".concat(n[r.GTLT],\"\\\\s*(\").concat(n[r.FULLPLAIN],\")$|^$\")),a(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(n[r.GTLT],\"\\\\s*(\").concat(n[r.LOOSEPLAIN],\"|\").concat(n[r.XRANGEPLAIN],\")\"),!0),t.comparatorTrimReplace=\"$1$2$3\",a(\"HYPHENRANGE\",\"^\\\\s*(\".concat(n[r.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(n[r.XRANGEPLAIN],\")\")+\"\\\\s*$\"),a(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(n[r.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(n[r.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),a(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),a(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),a(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")}));const V=/^[0-9]+$/,j=(e,t)=>{const u=V.test(e),i=V.test(t);return u&&i&&(e=+e,t=+t),e===t?0:u&&!i?-1:i&&!u?1:ej(t,e)};const{MAX_LENGTH:X,MAX_SAFE_INTEGER:G}=P,{re:q,t:W}=M,{compareIdentifiers:J}=U;class H{constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof H){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \".concat(e));if(e.length>X)throw new TypeError(\"version is longer than \".concat(X,\" characters\"));L(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const u=e.trim().match(t.loose?q[W.LOOSE]:q[W.FULL]);if(!u)throw new TypeError(\"Invalid Version: \".concat(e));if(this.raw=e,this.major=+u[1],this.minor=+u[2],this.patch=+u[3],this.major>G||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>G||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>G||this.patch<0)throw new TypeError(\"Invalid patch version\");u[4]?this.prerelease=u[4].split(\".\").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)\"number\"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(\"invalid increment argument: \".concat(e))}return this.format(),this.raw=this.version,this}}var z=H;var $=(e,t,u)=>new z(e,u).compare(new z(t,u));var K=(e,t,u)=>$(e,t,u)<0;var Q=(e,t,u)=>$(e,t,u)>=0,Y=\"2.2.0\",Z=O((function(e,t){function u(){for(var e=[],t=0;t\"string\"==typeof e||\"function\"==typeof e,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:pe,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin\",cliCategory:ae},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:pe,description:se(ie()),exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin-search-dir\",cliCategory:ae},printWidth:{since:\"0.0.0\",category:pe,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:De,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:se(ue()),cliCategory:oe},rangeStart:{since:\"1.4.0\",category:De,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:se(te()),cliCategory:oe},requirePragma:{since:\"1.7.0\",category:De,type:\"boolean\",default:!1,description:se(ee()),cliCategory:ce},tabWidth:{type:\"int\",category:pe,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:pe,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:pe,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};const le={compare:$,lt:K,gte:Q},de=Y,Ee={CATEGORY_CONFIG:ae,CATEGORY_EDITOR:oe,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:ce,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:pe,CATEGORY_SPECIAL:De,options:he}.options;var fe={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:u=!1,showInternal:i=!1}={}){const n=de.split(\"-\",1)[0],r=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(c),s=(a=Object.assign({},...e.map((({options:e})=>e)),Ee),o=\"name\",Object.entries(a).map((([e,t])=>Object.assign({[o]:e},t)))).filter((e=>c(e)&&p(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(n[u]=e[u]);return n}(e,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(c).sort(((e,t)=>le.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>c(e)&&p(e))),\"parser\"===t.name&&function(e,t,u){const i=new Set(e.choices.map((e=>e.value)));for(const n of t)if(n.parsers)for(const t of n.parsers)if(!i.has(t)){i.add(t);const r=u.find((e=>e.parsers&&e.parsers[t]));let s=n.name;r&&r.name&&(s+=\" (plugin: \".concat(r.name,\")\")),e.choices.push({value:t,description:s})}}(t,r,e));const u=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,u)=>(e[u.name]=u.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:u})}));var a,o;return{languages:r,options:s};function c(e){return t||!(\"since\"in e)||e.since&&le.gte(n,e.since)}function p(e){return u||!(\"deprecated\"in e)||e.deprecated&&le.lt(n,e.deprecated)}}};const{getSupportInfo:Ce}=fe,me=/[^\\x20-\\x7F]/;function Ae(e){return(t,u,i)=>{const n=i&&i.backwards;if(!1===u)return!1;const{length:r}=t;let s=u;for(;s>=0&&s(u.match(s.regex)||[]).length?s.quote:r.quote}return a}function Ne(e,t,u){const i='\"'===t?\"'\":'\"',n=e.replace(/\\\\([\\S\\s])|([\"'])/g,((e,n,r)=>n===i?n:r===t?\"\\\\\"+r:r||(u&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(n)?n:\"\\\\\"+n)));return t+n+t}function Le(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,\"JSXText\"===e.type&&(t.printed=!0)}var Pe={inferParserByLanguage:function(e,t){const{languages:u}=Ce({plugins:t.plugins}),i=u.find((({name:t})=>t.toLowerCase()===e))||u.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||u.find((({extensions:t})=>Array.isArray(t)&&t.includes(\".\".concat(e))));return i&&i.parsers[0]},replaceEndOfLineWith:function(e,t){const u=[];for(const i of e.split(\"\\n\"))0!==u.length&&u.push(t),u.push(i);return u},getStringWidth:function(e){return e?me.test(e)?r(e):e.length:0},getMaxContinuousCount:function(e,t){const u=e.match(new RegExp(\"(\".concat(a(t),\")+\"),\"g\"));return null===u?0:u.reduce(((e,u)=>Math.max(e,u.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const u=e.match(new RegExp(\"(\".concat(a(t),\")+\"),\"g\"));if(null===u)return 0;const i=new Map;let n=0;for(const e of u){const u=e.length/t.length;i.set(u,!0),u>n&&(n=u)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:_e,getNextNonSpaceNonCommentCharacterIndex:we,getNextNonSpaceNonCommentCharacter:function(e,t,u){return e.charAt(we(e,t,u))},skip:Ae,skipWhitespace:Fe,skipSpaces:ge,skipToLineEnd:ye,skipEverythingButNewLine:xe,skipInlineComment:Be,skipTrailingComment:Se,skipNewline:ve,isNextLineEmptyAfterIndex:Te,isNextLineEmpty:function(e,t,u){return Te(e,u(t))},isPreviousLineEmpty:function(e,t,u){let i=u(t)-1;return i=ge(e,i,{backwards:!0}),i=ve(e,i,{backwards:!0}),i=ge(e,i,{backwards:!0}),i!==ve(e,i,{backwards:!0})},hasNewline:be,hasNewlineInRange:function(e,t,u){for(let i=t;i\"browser\",cpus:()=>[{model:\"Prettier\"}]}});const Me=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");const t=e.match(/(?:\\r?\\n)/g)||[];if(0===t.length)return;const u=t.filter((e=>\"\\r\\n\"===e)).length;return u>t.length-u?\"\\r\\n\":\"\\n\"};var Ve=Me;Ve.graceful=e=>\"string\"==typeof e&&Me(e)||\"\\n\";var je=R(Re),Ue=O((function(e,t){function u(){const e=je;return u=function(){return e},e}function i(){const e=(t=Ve)&&t.__esModule?t:{default:t};var t;return i=function(){return e},e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.extract=function(e){const t=e.match(s);return t?t[0].trimLeft():\"\"},t.strip=function(e){const t=e.match(s);return t&&t[0]?e.substring(t[0].length):e},t.parse=function(e){return l(e).pragmas},t.parseWithComments=l,t.print=function({comments:e=\"\",pragmas:t={}}){const n=(0,i().default)(e)||u().EOL,r=\" *\",s=Object.keys(t),a=s.map((e=>d(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>\" * \"+e+n)).join(\"\");if(!e){if(0===s.length)return\"\";if(1===s.length&&!Array.isArray(t[s[0]])){const e=t[s[0]];return\"\".concat(\"/**\",\" \").concat(d(s[0],e)[0]).concat(\" */\")}}const o=e.split(n).map((e=>\"\".concat(r,\" \").concat(e))).join(n)+n;return\"/**\"+n+(e?o:\"\")+(e&&s.length?r+n:\"\")+a+\" */\"};const n=/\\*\\/$/,r=/^\\/\\*\\*/,s=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,a=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,o=/^(\\r?\\n)+/,c=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,p=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,D=/(\\r?\\n|^) *\\* ?/g,h=[];function l(e){const t=(0,i().default)(e)||u().EOL;e=e.replace(r,\"\").replace(n,\"\").replace(D,\"$1\");let s=\"\";for(;s!==e;)s=e,e=e.replace(c,\"\".concat(t,\"$1 $2\").concat(t));e=e.replace(o,\"\").trimRight();const l=Object.create(null),d=e.replace(p,\"\").replace(o,\"\").trimRight();let E;for(;E=p.exec(e);){const e=E[2].replace(a,\"\");\"string\"==typeof l[E[1]]||Array.isArray(l[E[1]])?l[E[1]]=h.concat(l[E[1]],e):l[E[1]]=e}return{comments:d,pragmas:l}}function d(e,t){return h.concat(t).map((t=>\"@\".concat(e,\" \").concat(t).trim()))}}));var Xe={guessEndOfLine:function(e){const t=e.indexOf(\"\\r\");return t>=0?\"\\n\"===e.charAt(t+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(e){switch(e){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(e,t){let u;if(\"\\n\"===t)u=/\\n/g;else if(\"\\r\"===t)u=/\\r/g;else{if(\"\\r\\n\"!==t)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(t),\".\"));u=/\\r\\n/g}const i=e.match(u);return i?i.length:0},normalizeEndOfLine:function(e){return e.replace(/\\r\\n?/g,\"\\n\")}};const{parseWithComments:Ge,strip:qe,extract:We,print:Je}=Ue,{getShebang:He}=Pe,{normalizeEndOfLine:ze}=Xe;function $e(e){const t=He(e);t&&(e=e.slice(t.length+1));const u=We(e),{pragmas:i,comments:n}=Ge(u);return{shebang:t,text:e,pragmas:i,comments:n}}var Ke={hasPragma:function(e){const t=Object.keys($e(e).pragmas);return t.includes(\"prettier\")||t.includes(\"format\")},insertPragma:function(e){const{shebang:t,text:u,pragmas:i,comments:n}=$e(e),r=qe(u),s=Je({pragmas:Object.assign({format:\"\"},i),comments:n.trimStart()});return(t?\"\".concat(t,\"\\n\"):\"\")+ze(s)+(r.startsWith(\"\\n\")?\"\\n\":\"\\n\\n\")+r}};function Qe(e,t){const{ignoreDecorators:u}=t||{};if(!u){const t=e.declaration&&e.declaration.decorators||e.decorators;if(t&&t.length>0)return Qe(t[0])}return e.range?e.range[0]:e.start}function Ye(e){const t=e.range?e.range[1]:e.end;return e.typeAnnotation?Math.max(t,Ye(e.typeAnnotation)):t}function Ze(e,t){return Qe(e)===Qe(t)}var et={locStart:Qe,locEnd:Ye,composeLoc:function(e,t=e){const u=Qe(e);return[u,\"number\"==typeof t?u+t:Ye(t)]},hasSameLocStart:Ze,hasSameLoc:function(e,t){return Ze(e,t)&&function(e,t){return Ye(e)===Ye(t)}(e,t)}},tt=O((function(e){!function(){function t(e){if(null==e)return!1;switch(e.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function u(e){switch(e.type){case\"IfStatement\":return null!=e.alternate?e.alternate:e.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:t,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&\"FunctionDeclaration\"===e.type},isProblematicIfStatement:function(e){var t;if(\"IfStatement\"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if(\"IfStatement\"===t.type&&null==t.alternate)return!0;t=u(t)}while(t);return!1},trailingStatement:u}}()})),ut=O((function(e){!function(){var t,u,i,n,r,s;function a(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(u={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},t={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},i=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],n=new Array(128),s=0;s<128;++s)n[s]=s>=97&&s<=122||s>=65&&s<=90||36===s||95===s;for(r=new Array(128),s=0;s<128;++s)r[s]=s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||36===s||95===s;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&i.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?n[e]:u.NonAsciiIdentifierStart.test(a(e))},isIdentifierPartES5:function(e){return e<128?r[e]:u.NonAsciiIdentifierPart.test(a(e))},isIdentifierStartES6:function(e){return e<128?n[e]:t.NonAsciiIdentifierStart.test(a(e))},isIdentifierPartES6:function(e){return e<128?r[e]:t.NonAsciiIdentifierPart.test(a(e))}}}()})),it=O((function(e){!function(){var t=ut;function u(e,t){return!(!t&&\"yield\"===e)&&i(e,t)}function i(e,t){if(t&&function(e){switch(e){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return\"if\"===e||\"in\"===e||\"do\"===e;case 3:return\"var\"===e||\"for\"===e||\"new\"===e||\"try\"===e;case 4:return\"this\"===e||\"else\"===e||\"case\"===e||\"void\"===e||\"with\"===e||\"enum\"===e;case 5:return\"while\"===e||\"break\"===e||\"catch\"===e||\"throw\"===e||\"const\"===e||\"yield\"===e||\"class\"===e||\"super\"===e;case 6:return\"return\"===e||\"typeof\"===e||\"delete\"===e||\"switch\"===e||\"export\"===e||\"import\"===e;case 7:return\"default\"===e||\"finally\"===e||\"extends\"===e;case 8:return\"function\"===e||\"continue\"===e||\"debugger\"===e;case 10:return\"instanceof\"===e;default:return!1}}function n(e,t){return\"null\"===e||\"true\"===e||\"false\"===e||u(e,t)}function r(e,t){return\"null\"===e||\"true\"===e||\"false\"===e||i(e,t)}function s(e){var u,i,n;if(0===e.length)return!1;if(n=e.charCodeAt(0),!t.isIdentifierStartES5(n))return!1;for(u=1,i=e.length;u=i)return!1;if(!(56320<=(r=e.charCodeAt(u))&&r<=57343))return!1;n=1024*(n-55296)+(r-56320)+65536}if(!s(n))return!1;s=t.isIdentifierPartES6}return!0}e.exports={isKeywordES5:u,isKeywordES6:i,isReservedWordES5:n,isReservedWordES6:r,isRestrictedWord:function(e){return\"eval\"===e||\"arguments\"===e},isIdentifierNameES5:s,isIdentifierNameES6:a,isIdentifierES5:function(e,t){return s(e)&&!n(e,t)},isIdentifierES6:function(e,t){return a(e)&&!r(e,t)}}}()}));const nt=O((function(e,t){t.ast=tt,t.code=ut,t.keyword=it})).keyword.isIdentifierNameES5,{getLast:rt,hasNewline:st,hasNewlineInRange:at,skipWhitespace:ot}=Pe,{locStart:ct,locEnd:pt,hasSameLocStart:Dt}=et,ht=\"(?:(?=.)\\\\s)\",lt=new RegExp(\"^\".concat(ht,\"*:\")),dt=new RegExp(\"^\".concat(ht,\"*::\"));function Et(e,t){if(!e||\"object\"!=typeof e)return!1;if(Array.isArray(e))return e.some((e=>Et(e,t)));const u=t(e);return\"boolean\"==typeof u?u:Object.keys(e).some((u=>Et(e[u],t)))}function ft(e){return\"AssignmentExpression\"===e.type||\"BinaryExpression\"===e.type||\"LogicalExpression\"===e.type||\"NGPipeExpression\"===e.type||\"ConditionalExpression\"===e.type||\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type||\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type||\"SequenceExpression\"===e.type||\"TaggedTemplateExpression\"===e.type||\"BindExpression\"===e.type||\"UpdateExpression\"===e.type&&!e.prefix||\"TSAsExpression\"===e.type||\"TSNonNullExpression\"===e.type}function Ct(e){return\"Block\"===e.type||\"CommentBlock\"===e.type||\"MultiLine\"===e.type}const mt=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function At(e){return e&&mt.has(e.type)}function Ft(e){return\"BooleanLiteral\"===e.type||\"DirectiveLiteral\"===e.type||\"Literal\"===e.type||\"NullLiteral\"===e.type||\"NumericLiteral\"===e.type||\"BigIntLiteral\"===e.type||\"DecimalLiteral\"===e.type||\"RegExpLiteral\"===e.type||\"StringLiteral\"===e.type||\"TemplateLiteral\"===e.type||\"TSTypeLiteral\"===e.type||\"JSXText\"===e.type}function gt(e){return\"NumericLiteral\"===e.type||\"Literal\"===e.type&&\"number\"==typeof e.value}function yt(e){return\"StringLiteral\"===e.type||\"Literal\"===e.type&&\"string\"==typeof e.value}function xt(e){return\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type}function Bt(e){return!(\"CallExpression\"!==e.type&&\"OptionalCallExpression\"!==e.type||\"Identifier\"!==e.callee.type||\"async\"!==e.callee.name&&\"inject\"!==e.callee.name&&\"fakeAsync\"!==e.callee.name)}function St(e){return\"JSXElement\"===e.type||\"JSXFragment\"===e.type}function vt(e){return\"get\"===e.kind||\"set\"===e.kind}function bt(e){return vt(e)||Dt(e,e.value)}const Tt=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]);const _t=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]);const wt=/^(skip|[fx]?(it|describe|test))$/;function kt(e){return\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type}const It=new RegExp(\"([ \\n\\r\\t]+)\"),Nt=new RegExp(\"[^ \\n\\r\\t]\");function Lt(e){return Ft(e)&&(Nt.test(Mt(e))||!/\\n/.test(Mt(e)))}function Pt(e,t){if(St(t))return zt(t);return t.comments&&t.comments.some((t=>t.leading&&st(e,pt(t))))}function Ot(e){return/^(\\d+|\\d+\\.\\d+)$/.test(e)}function Rt(e){return e.quasis.some((e=>e.value.raw.includes(\"\\n\")))}function Mt(e){return e.extra?e.extra.raw:e.raw}const Vt={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},jt={\"*\":!0,\"/\":!0,\"%\":!0},Ut={\">>\":!0,\">>>\":!0,\"<<\":!0};const Xt={};function Gt(e){return Xt[e]}[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].forEach(((e,t)=>{e.forEach((e=>{Xt[e]=t}))}));const qt=new WeakMap;function Wt(e){if(qt.has(e))return qt.get(e);const t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),qt.set(e,t),t}const Jt=new WeakMap;function Ht(e){return\"prettier-ignore\"===e.value.trim()}function zt(e){return e&&(e.comments&&e.comments.length>0&&e.comments.some((e=>Ht(e)&&!e.unignore))||e.prettierIgnore)}function $t(e){return zt(e.getValue())}var Kt={classChildNeedsASIProtection:function(e){if(e){if(e.static||e.accessibility)return!1;if(!e.computed){const t=e.key&&e.key.name;if(\"in\"===t||\"instanceof\"===t)return!0}switch(e.type){case\"ClassProperty\":case\"FieldDefinition\":case\"TSAbstractClassProperty\":return e.computed;case\"MethodDefinition\":case\"TSAbstractMethodDefinition\":case\"ClassMethod\":case\"ClassPrivateMethod\":{const t=e.value?e.value.async:e.async,u=e.value?e.value.generator:e.generator;return!t&&\"get\"!==e.kind&&\"set\"!==e.kind&&!(!e.computed&&!u)}case\"TSIndexSignature\":return!0;default:return!1}}},classPropMayCauseASIProblems:function(e){const t=e.getNode();if(\"ClassProperty\"!==t.type&&\"FieldDefinition\"!==t.type)return!1;const u=t.key&&t.key.name;return!(\"static\"!==u&&\"get\"!==u&&\"set\"!==u||t.value||t.typeAnnotation)||void 0},getFunctionParameters:Wt,iterateFunctionParametersPath:function(e,t){const u=e.getValue();let i=0;const n=e=>t(e,i++);u.this&&e.call(n,\"this\"),Array.isArray(u.parameters)?e.each(n,\"parameters\"):Array.isArray(u.params)&&e.each(n,\"params\"),u.rest&&e.call(n,\"rest\")},getCallArguments:function(e){if(Jt.has(e))return Jt.get(e);const t=\"ImportExpression\"===e.type?[e.source]:e.arguments;return Jt.set(e,t),t},iterateCallArgumentsPath:function(e,t){\"ImportExpression\"===e.getValue().type?e.call((e=>t(e,0)),\"source\"):e.each(t,\"arguments\")},hasRestParameter:function(e){if(e.rest)return!0;const t=Wt(e);return t.length>0&&\"RestElement\"===rt(t).type},getLeftSidePathName:function(e,t){if(t.expressions)return[\"expressions\",0];if(t.left)return[\"left\"];if(t.test)return[\"test\"];if(t.object)return[\"object\"];if(t.callee)return[\"callee\"];if(t.tag)return[\"tag\"];if(t.argument)return[\"argument\"];if(t.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(e){const t=e.getParentNode();return\"declaration\"===e.getName()&&At(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return\"+\"===e?\"+\"+t:\"-\"===e?\"-\"+t:t},hasDanglingComments:function(e){return e.comments&&e.comments.some((e=>!e.leading&&!e.trailing))},hasFlowAnnotationComment:function(e){return e&&Ct(e[0])&&dt.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&e.trailingComments&&Ct(e.trailingComments[0])&<.test(e.trailingComments[0].value)},hasLeadingComment:function(e){return e.comments&&e.comments.some((e=>e.leading))},hasLeadingOwnLineComment:Pt,hasNakedLeftSide:ft,hasNewlineBetweenOrAfterDecorators:function(e,t){return at(t.originalText,ct(e.decorators[0]),pt(rt(e.decorators)))||st(t.originalText,pt(rt(e.decorators)))},hasNgSideEffect:function(e){return Et(e.getValue(),(e=>{switch(e.type){case void 0:return!1;case\"CallExpression\":case\"OptionalCallExpression\":case\"AssignmentExpression\":return!0}}))},hasNode:Et,hasPrettierIgnore:function(e){return $t(e)||function(e){const t=e.getValue(),u=e.getParentNode();if(!(u&&t&&St(t)&&St(u)))return!1;let i=null;for(let e=u.children.indexOf(t);e>0;e--){const t=u.children[e-1];if(\"JSXText\"!==t.type||Lt(t)){i=t;break}}return i&&\"JSXExpressionContainer\"===i.type&&\"JSXEmptyExpression\"===i.expression.type&&i.expression.comments&&i.expression.comments.some((e=>Ht(e)))}(e)},hasTrailingComment:function(e){return e.comments&&e.comments.some((e=>e.trailing))},hasTrailingLineComment:function(e){return e.comments&&e.comments.some((e=>e.trailing&&!Ct(e)))},hasIgnoreComment:$t,hasNodeIgnoreComment:zt,identity:function(e){return e},isBinaryish:function(e){return Tt.has(e.type)},isBlockComment:Ct,isLineComment:function(e){return\"Line\"===e.type||\"CommentLine\"===e.type||\"SingleLine\"===e.type||\"HashbangComment\"===e.type||\"HTMLOpen\"===e.type||\"HTMLClose\"===e.type},isPrettierIgnoreComment:Ht,isCallOrOptionalCallExpression:kt,isEmptyJSXElement:function(e){if(0===e.children.length)return!0;if(e.children.length>1)return!1;const t=e.children[0];return Ft(t)&&!Lt(t)},isExportDeclaration:At,isFlowAnnotationComment:function(e,t){const u=ct(t),i=ot(e,pt(t));return!1!==i&&\"/*\"===e.slice(u,u+2)&&\"*/\"===e.slice(i,i+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const u of e)if(xt(u)){if(t+=1,t>1)return!0}else if(kt(u))for(const e of u.arguments)if(xt(e))return!0;return!1},isFunctionNotation:bt,isFunctionOrArrowExpression:xt,isGetterOrSetter:vt,isJestEachTemplateLiteral:function(e,t){const u=/^[fx]?(describe|it|test)$/;return\"TaggedTemplateExpression\"===t.type&&t.quasi===e&&\"MemberExpression\"===t.tag.type&&\"Identifier\"===t.tag.property.type&&\"each\"===t.tag.property.name&&(\"Identifier\"===t.tag.object.type&&u.test(t.tag.object.name)||\"MemberExpression\"===t.tag.object.type&&\"Identifier\"===t.tag.object.property.type&&(\"only\"===t.tag.object.property.name||\"skip\"===t.tag.object.property.name)&&\"Identifier\"===t.tag.object.object.type&&u.test(t.tag.object.object.name))},isJSXNode:St,isJSXWhitespaceExpression:function(e){return\"JSXExpressionContainer\"===e.type&&Ft(e.expression)&&\" \"===e.expression.value&&!e.expression.comments},isLastStatement:function(e){const t=e.getParentNode();if(!t)return!0;const u=e.getValue(),i=(t.body||t.consequent).filter((e=>\"EmptyStatement\"!==e.type));return i[i.length-1]===u},isLiteral:Ft,isLongCurriedCallExpression:function(e){const t=e.getValue(),u=e.getParentNode();return kt(t)&&kt(u)&&u.callee===t&&t.arguments.length>u.arguments.length&&u.arguments.length>0},isSimpleCallArgument:function e(t,u){if(u>=2)return!1;const i=t=>e(t,u+1),n=\"Literal\"===t.type&&\"regex\"in t&&t.regex.pattern||\"RegExpLiteral\"===t.type&&t.pattern;return!(n&&n.length>5)&&(\"Literal\"===t.type||\"BigIntLiteral\"===t.type||\"DecimalLiteral\"===t.type||\"BooleanLiteral\"===t.type||\"NullLiteral\"===t.type||\"NumericLiteral\"===t.type||\"RegExpLiteral\"===t.type||\"StringLiteral\"===t.type||\"Identifier\"===t.type||\"ThisExpression\"===t.type||\"Super\"===t.type||\"PrivateName\"===t.type||\"ArgumentPlaceholder\"===t.type||\"Import\"===t.type||(\"TemplateLiteral\"===t.type?t.expressions.every(i):\"ObjectExpression\"===t.type?t.properties.every((e=>!e.computed&&(e.shorthand||e.value&&i(e.value)))):\"ArrayExpression\"===t.type?t.elements.every((e=>null===e||i(e))):\"ImportExpression\"===t.type?i(t.source):\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type||\"NewExpression\"===t.type?e(t.callee,u)&&t.arguments.every(i):\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type?e(t.object,u)&&e(t.property,u):\"UnaryExpression\"!==t.type||\"!\"!==t.operator&&\"-\"!==t.operator?\"TSNonNullExpression\"===t.type&&e(t.expression,u):e(t.argument,u)))},isMeaningfulJSXText:Lt,isMemberExpressionChain:function e(t){return(\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type)&&(\"Identifier\"===t.object.type||e(t.object))},isMemberish:function(e){return\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type||\"BindExpression\"===e.type&&Boolean(e.object)},isNgForOf:function(e,t,u){return\"NGMicrosyntaxKeyedExpression\"===e.type&&\"of\"===e.key.name&&1===t&&\"NGMicrosyntaxLet\"===u.body[0].type&&null===u.body[0].value},isNumericLiteral:gt,isObjectType:function(e){return\"ObjectTypeAnnotation\"===e.type||\"TSTypeLiteral\"===e.type},isObjectTypePropertyAFunction:function(e){return!(\"ObjectTypeProperty\"!==e.type&&\"ObjectTypeInternalSlot\"!==e.type||\"FunctionTypeAnnotation\"!==e.value.type||e.static||bt(e))},isSimpleType:function(e){return!!e&&(!(\"GenericTypeAnnotation\"!==e.type&&\"TSTypeReference\"!==e.type||e.typeParameters)||!!_t.has(e.type))},isSimpleNumber:Ot,isSimpleTemplateLiteral:function(e){let t=\"expressions\";\"TSTemplateLiteralType\"===e.type&&(t=\"types\");const u=e[t];return 0!==u.length&&u.every((e=>{if(e.comments)return!1;if(\"Identifier\"===e.type||\"ThisExpression\"===e.type)return!0;if(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type){let t=e;for(;\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type;){if(\"Identifier\"!==t.property.type&&\"Literal\"!==t.property.type&&\"StringLiteral\"!==t.property.type&&\"NumericLiteral\"!==t.property.type)return!1;if(t=t.object,t.comments)return!1}return\"Identifier\"===t.type||\"ThisExpression\"===t.type}return!1}))},isStringLiteral:yt,isStringPropSafeToUnquote:function(e,t){return\"json\"!==t.parser&&yt(e.key)&&Mt(e.key).slice(1,-1)===e.key.value&&(nt(e.key.value)&&!((\"typescript\"===t.parser||\"babel-ts\"===t.parser)&&\"ClassProperty\"===e.type)||Ot(e.key.value)&&String(Number(e.key.value))===e.key.value&&(\"babel\"===t.parser||\"espree\"===t.parser||\"meriyah\"===t.parser))},isTemplateOnItsOwnLine:function(e,t){return(\"TemplateLiteral\"===e.type&&Rt(e)||\"TaggedTemplateExpression\"===e.type&&Rt(e.quasi))&&!st(t,ct(e),{backwards:!0})},isTestCall:function e(t,u){if(\"CallExpression\"!==t.type)return!1;if(1===t.arguments.length){if(Bt(t)&&u&&e(u))return xt(t.arguments[0]);if(\"Identifier\"===(i=t).callee.type&&/^(before|after)(Each|All)$/.test(i.callee.name)&&1===i.arguments.length)return Bt(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&(\"Identifier\"===t.callee.type&&wt.test(t.callee.name)||function(e){return(\"MemberExpression\"===e.callee.type||\"OptionalMemberExpression\"===e.callee.type)&&\"Identifier\"===e.callee.object.type&&\"Identifier\"===e.callee.property.type&&wt.test(e.callee.object.name)&&(\"only\"===e.callee.property.name||\"skip\"===e.callee.property.name)}(t))&&(function(e){return\"TemplateLiteral\"===e.type}(t.arguments[0])||yt(t.arguments[0])))return!(t.arguments[2]&&!gt(t.arguments[2]))&&((2===t.arguments.length?xt(t.arguments[1]):function(e){return\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type&&\"BlockStatement\"===e.body.type}(t.arguments[1])&&Wt(t.arguments[1]).length<=1)||Bt(t.arguments[1]));var i;return!1},isTheOnlyJSXElementInMarkdown:function(e,t){if(\"markdown\"!==e.parentParser&&\"mdx\"!==e.parentParser)return!1;const u=t.getNode();if(!u.expression||!St(u.expression))return!1;const i=t.getParentNode();return\"Program\"===i.type&&1===i.body.length},isTSXFile:function(e){return e.filepath&&/\\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!(\"TypeAnnotation\"!==e.type&&\"TSTypeAnnotation\"!==e.type||\"FunctionTypeAnnotation\"!==e.typeAnnotation.type||e.static||Dt(e,e.typeAnnotation))},matchJsxWhitespaceRegex:It,needsHardlineAfterDanglingComment:function(e){if(!e.comments)return!1;const t=rt(e.comments.filter((e=>!e.leading&&!e.trailing)));return t&&!Ct(t)},rawText:Mt,returnArgumentHasLeadingComment:function(e,t){if(Pt(e.originalText,t))return!0;if(ft(t)){let i,n=t;for(;i=(u=n).expressions?u.expressions[0]:u.left||u.test||u.callee||u.object||u.tag||u.argument||u.expression;)if(n=i,Pt(e.originalText,n))return!0}var u;return!1},shouldPrintComma:function(e,t=\"es5\"){return\"es5\"===e.trailingComma&&\"es5\"===t||\"all\"===e.trailingComma&&(\"all\"===t||\"es5\"===t)},isBitwiseOperator:function(e){return!!Ut[e]||\"|\"===e||\"^\"===e||\"&\"===e},shouldFlatten:function(e,t){return Gt(t)===Gt(e)&&(\"**\"!==e&&((!Vt[e]||!Vt[t])&&(!(\"%\"===t&&jt[e]||\"%\"===e&&jt[t])&&((t===e||!jt[t]||!jt[e])&&(!Ut[e]||!Ut[t])))))},startsWithNoLookaheadToken:function e(t,u){switch((t=function(e){for(;e.left;)e=e.left;return e}(t)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return u;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return e(t.object,u);case\"TaggedTemplateExpression\":return\"FunctionExpression\"!==t.tag.type&&e(t.tag,u);case\"CallExpression\":case\"OptionalCallExpression\":return\"FunctionExpression\"!==t.callee.type&&e(t.callee,u);case\"ConditionalExpression\":return e(t.test,u);case\"UpdateExpression\":return!t.prefix&&e(t.argument,u);case\"BindExpression\":return t.object&&e(t.object,u);case\"SequenceExpression\":return e(t.expressions[0],u);case\"TSAsExpression\":return e(t.expression,u);default:return!1}},getPrecedence:Gt};const{getLast:Qt,hasNewline:Yt,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Zt,getNextNonSpaceNonCommentCharacter:eu,hasNewlineInRange:tu,addLeadingComment:uu,addTrailingComment:iu,addDanglingComment:nu,getNextNonSpaceNonCommentCharacterIndex:ru}=Pe,{isBlockComment:su,getFunctionParameters:au,isPrettierIgnoreComment:ou,isJSXNode:cu,hasFlowShorthandAnnotationComment:pu,hasFlowAnnotationComment:Du,hasIgnoreComment:hu}=Kt,{locStart:lu,locEnd:du}=et;function Eu(e,t){const u=(e.body||e.properties).find((({type:e})=>\"EmptyStatement\"!==e));u?uu(u,t):nu(e,t)}function fu(e,t){\"BlockStatement\"===e.type?Eu(e,t):uu(e,t)}function Cu(e,t){const{precedingNode:u,enclosingNode:i,followingNode:n}=e;if(!i||\"IfStatement\"!==i.type||!n)return!1;return\")\"===eu(t,e,du)?(iu(u,e),!0):u===i.consequent&&n===i.alternate?(\"BlockStatement\"===u.type?iu(u,e):nu(i,e),!0):\"BlockStatement\"===n.type?(Eu(n,e),!0):\"IfStatement\"===n.type?(fu(n.consequent,e),!0):i.consequent===n&&(uu(n,e),!0)}function mu(e,t){const{precedingNode:u,enclosingNode:i,followingNode:n}=e;if(!i||\"WhileStatement\"!==i.type||!n)return!1;return\")\"===eu(t,e,du)?(iu(u,e),!0):\"BlockStatement\"===n.type?(Eu(n,e),!0):i.body===n&&(uu(n,e),!0)}function Au(e){const{precedingNode:t,enclosingNode:u,followingNode:i}=e;return!(!u||\"TryStatement\"!==u.type&&\"CatchClause\"!==u.type||!i)&&(\"CatchClause\"===u.type&&t?(iu(t,e),!0):\"BlockStatement\"===i.type?(Eu(i,e),!0):\"TryStatement\"===i.type?(fu(i.finalizer,e),!0):\"CatchClause\"===i.type&&(fu(i.body,e),!0))}function Fu(e){const{precedingNode:t,enclosingNode:u,followingNode:i}=e;if(u&&(\"ClassDeclaration\"===u.type||\"ClassExpression\"===u.type||\"DeclareClass\"===u.type||\"DeclareInterface\"===u.type||\"InterfaceDeclaration\"===u.type||\"TSInterfaceDeclaration\"===u.type)){if(u.decorators&&u.decorators.length>0&&(!i||\"Decorator\"!==i.type))return iu(u.decorators[u.decorators.length-1],e),!0;if(u.body&&i===u.body)return Eu(u.body,e),!0;if(i)for(const n of[\"implements\",\"extends\",\"mixins\"])if(u[n]&&i===u[n][0])return!t||t!==u.id&&t!==u.typeParameters&&t!==u.superClass?nu(u,e,n):iu(t,e),!0}return!1}function gu(e,t){const{precedingNode:u,enclosingNode:i}=e;return(i&&u&&(\"Property\"===i.type||\"TSDeclareMethod\"===i.type||\"TSAbstractMethodDefinition\"===i.type)&&\"Identifier\"===u.type&&i.key===u&&\":\"!==eu(t,u,du)||!(!u||!i||\"Decorator\"!==u.type||\"ClassMethod\"!==i.type&&\"ClassProperty\"!==i.type&&\"FieldDefinition\"!==i.type&&\"TSAbstractClassProperty\"!==i.type&&\"TSAbstractMethodDefinition\"!==i.type&&\"TSDeclareMethod\"!==i.type&&\"MethodDefinition\"!==i.type))&&(iu(u,e),!0)}function yu(e,t){const{precedingNode:u,enclosingNode:i,followingNode:n}=e;if(u&&\"FunctionTypeParam\"===u.type&&i&&\"FunctionTypeAnnotation\"===i.type&&n&&\"FunctionTypeParam\"!==n.type)return iu(u,e),!0;if(u&&(\"Identifier\"===u.type||\"AssignmentPattern\"===u.type)&&i&&bu(i)&&\")\"===eu(t,e,du))return iu(u,e),!0;if(i&&\"FunctionDeclaration\"===i.type&&n&&\"BlockStatement\"===n.type){const u=(()=>{const e=au(i);if(0!==e.length)return Zt(t,du(Qt(e)));const u=Zt(t,du(i.id));return!1!==u&&Zt(t,u+1)})();if(lu(e)>u)return Eu(n,e),!0}return!1}function xu(e){const{enclosingNode:t}=e;return!(!t||\"ImportSpecifier\"!==t.type)&&(uu(t,e),!0)}function Bu(e){const{enclosingNode:t}=e;return!(!t||\"LabeledStatement\"!==t.type)&&(uu(t,e),!0)}function Su(e,t,u){const{enclosingNode:i}=e;return t&&t.body&&0===t.body.length?(u?nu(t,e):uu(t,e),!0):!(!i||\"Program\"!==i.type||0!==i.body.length||!i.directives||0!==i.directives.length)&&(u?nu(i,e):uu(i,e),!0)}function vu(e){const{enclosingNode:t,followingNode:u}=e;if(ou(e)&&t&&\"TSMappedType\"===t.type&&u&&\"TSTypeParameter\"===u.type&&u.constraint)return t.prettierIgnore=!0,e.unignore=!0,!0}function bu(e){return\"ArrowFunctionExpression\"===e.type||\"FunctionExpression\"===e.type||\"FunctionDeclaration\"===e.type||\"ObjectMethod\"===e.type||\"ClassMethod\"===e.type||\"TSDeclareFunction\"===e.type||\"TSCallSignatureDeclaration\"===e.type||\"TSConstructSignatureDeclaration\"===e.type||\"TSMethodSignature\"===e.type||\"TSConstructorType\"===e.type||\"TSFunctionType\"===e.type||\"TSDeclareMethod\"===e.type}function Tu(e){return su(e)&&\"*\"===e.value[0]&&/@type\\b/.test(e.value)}var _u={handleOwnLineComment:function(e,t,u,i,n){return vu(e)||yu(e,t)||function(e){const{enclosingNode:t,followingNode:u}=e;if(t&&(\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type)&&u&&\"Identifier\"===u.type)return uu(t,e),!0;return!1}(e)||Cu(e,t)||mu(e,t)||Au(e)||Fu(e)||xu(e)||function(e){const{enclosingNode:t}=e;if(t&&(\"ForInStatement\"===t.type||\"ForOfStatement\"===t.type))return uu(t,e),!0;return!1}(e)||function(e){const{precedingNode:t,enclosingNode:u,followingNode:i}=e;if(u&&(\"UnionTypeAnnotation\"===u.type||\"TSUnionType\"===u.type))return ou(e)&&(i.prettierIgnore=!0,e.unignore=!0),!!t&&(iu(t,e),!0);i&&(\"UnionTypeAnnotation\"===i.type||\"TSUnionType\"===i.type)&&ou(e)&&(i.types[0].prettierIgnore=!0,e.unignore=!0);return!1}(e)||Su(e,i,n)||function(e,t){const{precedingNode:u,enclosingNode:i}=e;if(u&&\"ImportSpecifier\"===u.type&&i&&\"ImportDeclaration\"===i.type&&Yt(t,du(e)))return iu(u,e),!0;return!1}(e,t)||function(e){const{enclosingNode:t}=e;if(t&&\"AssignmentPattern\"===t.type)return uu(t,e),!0;return!1}(e)||gu(e,t)||Bu(e)},handleEndOfLineComment:function(e,t,u,i,n){return function(e){const{followingNode:t}=e;if(t&&Tu(e))return uu(t,e),!0;return!1}(e)||yu(e,t)||function(e,t){const{precedingNode:u,enclosingNode:i,followingNode:n}=e,r=u&&!tu(t,du(u),lu(e));if((!u||!r)&&i&&(\"ConditionalExpression\"===i.type||\"TSConditionalType\"===i.type)&&n)return uu(n,e),!0;return!1}(e,t)||xu(e)||Cu(e,t)||mu(e,t)||Au(e)||Fu(e)||Bu(e)||function(e){const{precedingNode:t,enclosingNode:u}=e;if(u&&(\"CallExpression\"===u.type||\"OptionalCallExpression\"===u.type)&&t&&u.callee===t&&u.arguments.length>0)return uu(u.arguments[0],e),!0;return!1}(e)||function(e){const{enclosingNode:t}=e;if(t&&(\"Property\"===t.type||\"ObjectProperty\"===t.type))return uu(t,e),!0;return!1}(e)||Su(e,i,n)||function(e){const{enclosingNode:t}=e;if(t&&\"TypeAlias\"===t.type)return uu(t,e),!0;return!1}(e)||function(e){const{enclosingNode:t,followingNode:u}=e;if(t&&(\"VariableDeclarator\"===t.type||\"AssignmentExpression\"===t.type)&&u&&(\"ObjectExpression\"===u.type||\"ArrayExpression\"===u.type||\"TemplateLiteral\"===u.type||\"TaggedTemplateExpression\"===u.type||su(e)))return uu(u,e),!0;return!1}(e)},handleRemainingComment:function(e,t,u,i,n){return!!(vu(e)||Cu(e,t)||mu(e,t)||function(e){const{precedingNode:t,enclosingNode:u}=e;if(u&&(\"ObjectProperty\"===u.type||\"Property\"===u.type)&&u.shorthand&&u.key===t&&\"AssignmentPattern\"===u.value.type)return iu(u.value.left,e),!0;return!1}(e)||function(e,t){if(\")\"!==eu(t,e,du))return!1;const{enclosingNode:u}=e;if(u&&(bu(u)&&0===au(u).length||(\"CallExpression\"===u.type||\"OptionalCallExpression\"===u.type||\"NewExpression\"===u.type)&&0===u.arguments.length))return nu(u,e),!0;if(u&&\"MethodDefinition\"===u.type&&0===au(u.value).length)return nu(u.value,e),!0;return!1}(e,t)||gu(e,t)||Su(e,i,n)||function(e,t){const{enclosingNode:u}=e;if(!u||\"ArrowFunctionExpression\"!==u.type)return!1;const i=ru(t,e,du);if(!1!==i&&\"=>\"===t.slice(i,i+2))return nu(u,e),!0;return!1}(e,t)||function(e,t){if(\"(\"!==eu(t,e,du))return!1;const{precedingNode:u,enclosingNode:i}=e;if(u&&i&&(\"FunctionDeclaration\"===i.type||\"FunctionExpression\"===i.type||\"ClassMethod\"===i.type||\"MethodDefinition\"===i.type||\"ObjectMethod\"===i.type))return iu(u,e),!0;return!1}(e,t)||function(e){const{precedingNode:t,enclosingNode:u,followingNode:i}=e;if(!u||\"TSMappedType\"!==u.type)return!1;if(i&&\"TSTypeParameter\"===i.type&&i.name)return uu(i.name,e),!0;if(t&&\"TSTypeParameter\"===t.type&&t.constraint)return iu(t.constraint,e),!0;return!1}(e)||function(e){const{enclosingNode:t}=e;if(t&&(\"ContinueStatement\"===t.type||\"BreakStatement\"===t.type)&&!t.label)return iu(t,e),!0;return!1}(e)||function(e,t){const{enclosingNode:u,followingNode:i}=e;if(!i&&u&&(\"TSMethodSignature\"===u.type||\"TSDeclareFunction\"===u.type||\"TSAbstractMethodDefinition\"===u.type)&&\";\"===eu(t,e,du))return iu(u,e),!0;return!1}(e,t))},hasLeadingComment:function(e,t=(()=>!0)){return e.leadingComments?e.leadingComments.some(t):!!e.comments&&e.comments.some((e=>e.leading&&t(e)))},isTypeCastComment:Tu,getGapRegex:function(e){if(e&&\"BinaryExpression\"!==e.type&&\"LogicalExpression\"!==e.type)return/^[\\s&(|]*$/},getCommentChildNodes:function(e,t){if((\"typescript\"===t.parser||\"flow\"===t.parser||\"espree\"===t.parser||\"meriyah\"===t.parser)&&\"MethodDefinition\"===e.type&&e.value&&\"FunctionExpression\"===e.value.type&&0===au(e.value).length&&!e.value.returnType&&(!e.value.typeParameters||0===e.value.typeParameters.length)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const t=e.getValue(),u=e.getParentNode();return(t&&(cu(t)||pu(t)||u&&(\"CallExpression\"===u.type||\"OptionalCallExpression\"===u.type)&&(Du(t.leadingComments)||Du(t.trailingComments)))||u&&(\"JSXSpreadAttribute\"===u.type||\"JSXSpreadChild\"===u.type||\"UnionTypeAnnotation\"===u.type||\"TSUnionType\"===u.type||(\"ClassDeclaration\"===u.type||\"ClassExpression\"===u.type)&&u.superClass===t))&&(!hu(e)||\"UnionTypeAnnotation\"===u.type||\"TSUnionType\"===u.type)}};const{getLast:wu,getNextNonSpaceNonCommentCharacter:ku,getShebang:Iu}=Pe,{composeLoc:Nu,locStart:Lu,locEnd:Pu}=et,{isTypeCastComment:Ou}=_u;function Ru(e){return\"CallExpression\"===e.type?(e.type=\"OptionalCallExpression\",e.callee=Ru(e.callee)):\"MemberExpression\"===e.type?(e.type=\"OptionalMemberExpression\",e.object=Ru(e.object)):\"TSNonNullExpression\"===e.type&&(e.expression=Ru(e.expression)),e}function Mu(e,t){let u;if(Array.isArray(e))u=e.entries();else{if(!e||\"object\"!=typeof e||\"string\"!=typeof e.type)return e;u=Object.entries(e)}for(const[i,n]of u)e[i]=Mu(n,t);return Array.isArray(e)?e:t(e)||e}function Vu(e){return\"LogicalExpression\"===e.type&&\"LogicalExpression\"===e.right.type&&e.operator===e.right.operator}function ju(e){return Vu(e)?ju({type:\"LogicalExpression\",operator:e.operator,left:ju({type:\"LogicalExpression\",operator:e.operator,left:e.left,right:e.right.left,range:Nu(e.left,e.right.left)}),right:e.right.right,range:Nu(e)}):e}var Uu=function(e,t){if(\"typescript\"!==t.parser&&\"flow\"!==t.parser&&\"espree\"!==t.parser||function(e,t){const u=Iu(t.originalText);u&&e.comments.unshift({type:\"Line\",value:u.slice(2),range:[0,u.length]})}(e,t),\"typescript\"===t.parser&&t.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:u,tsNodeToESTreeNodeMap:i}=t.tsParseResult;e=Mu(e,(e=>{const t=u.get(e);if(!t)return;const n=t.decorators;if(!Array.isArray(n))return;const r=i.get(t);if(r!==e)return;const s=r.decorators;if(!Array.isArray(s)||s.length!==n.length||n.some((e=>{const t=i.get(e);return!t||!s.includes(t)}))){const{start:e,end:t}=r.loc;throw Oe(\"Leading decorators must be attached to a class declaration\",{start:{line:e.line,column:e.column+1},end:{line:t.line,column:t.column+1}})}}))}if(\"typescript\"!==t.parser&&\"flow\"!==t.parser&&\"espree\"!==t.parser&&\"meriyah\"!==t.parser){const t=new Set;e=Mu(e,(e=>{e.leadingComments&&e.leadingComments.some(Ou)&&t.add(Lu(e))})),e=Mu(e,(e=>{if(\"ParenthesizedExpression\"===e.type){const{expression:u}=e;if(\"TypeCastExpression\"===u.type)return u.range=e.range,u;const i=Lu(e);if(!t.has(i))return u.extra=Object.assign({},u.extra,{parenthesized:!0}),u}}))}return e=Mu(e,(e=>{switch(e.type){case\"ChainExpression\":return Ru(e.expression);case\"LogicalExpression\":if(Vu(e))return ju(e);break;case\"VariableDeclaration\":{const u=wu(e.declarations);u&&u.init&&function(e,u){if(\";\"===t.originalText[Pu(u)])return;e.range=Nu(e,u)}(e,u);break}case\"TSParenthesizedType\":return e.typeAnnotation.range=Nu(e),e.typeAnnotation;case\"TSUnionType\":case\"TSIntersectionType\":if(1===e.types.length){const[t]=e.types;return t.range=Nu(e),t}break;case\"TSTypeParameter\":\"string\"==typeof e.name&&(e.name={type:\"Identifier\",name:e.name,range:Nu(e,e.name.length)});break;case\"SequenceExpression\":{const t=wu(e.expressions);Pu(e)>Pu(t)&&(e.range=Nu(e,t));break}case\"ClassProperty\":e.key&&\"TSPrivateIdentifier\"===e.key.type&&\"?\"===ku(t.originalText,e.key,Pu)&&(e.optional=!0)}}))},Xu={3:\"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile\",5:\"class enum extends super const export import\",6:\"enum\",strict:\"implements interface let package private protected public static yield\",strictBind:\"eval arguments\"},Gu=\"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this\",qu={5:Gu,\"5module\":Gu+\" export import\",6:Gu+\" const class extends export import super\"},Wu=/^in(stanceof)?$/,Ju=\"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u08a0-\\u08b4\\u08b6-\\u08c7\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\u9ffc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7bf\\ua7c2-\\ua7ca\\ua7f5-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\",Hu=\"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08d3-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf\\u1ac0\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1df9\\u1dfb-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\",zu=new RegExp(\"[\"+Ju+\"]\"),$u=new RegExp(\"[\"+Ju+Hu+\"]\");Ju=Hu=null;var Ku=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],Qu=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function Yu(e,t){for(var u=65536,i=0;ie)return!1;if((u+=t[i+1])>=e)return!0}}function Zu(e,t){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&zu.test(String.fromCharCode(e)):!1!==t&&Yu(e,Ku)))}function ei(e,t){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&$u.test(String.fromCharCode(e)):!1!==t&&(Yu(e,Ku)||Yu(e,Qu)))))}var ti=function(e,t){void 0===t&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function ui(e,t){return new ti(e,{beforeExpr:!0,binop:t})}var ii={beforeExpr:!0},ni={startsExpr:!0},ri={};function si(e,t){return void 0===t&&(t={}),t.keyword=e,ri[e]=new ti(e,t)}var ai={num:new ti(\"num\",ni),regexp:new ti(\"regexp\",ni),string:new ti(\"string\",ni),name:new ti(\"name\",ni),eof:new ti(\"eof\"),bracketL:new ti(\"[\",{beforeExpr:!0,startsExpr:!0}),bracketR:new ti(\"]\"),braceL:new ti(\"{\",{beforeExpr:!0,startsExpr:!0}),braceR:new ti(\"}\"),parenL:new ti(\"(\",{beforeExpr:!0,startsExpr:!0}),parenR:new ti(\")\"),comma:new ti(\",\",ii),semi:new ti(\";\",ii),colon:new ti(\":\",ii),dot:new ti(\".\"),question:new ti(\"?\",ii),questionDot:new ti(\"?.\"),arrow:new ti(\"=>\",ii),template:new ti(\"template\"),invalidTemplate:new ti(\"invalidTemplate\"),ellipsis:new ti(\"...\",ii),backQuote:new ti(\"`\",ni),dollarBraceL:new ti(\"${\",{beforeExpr:!0,startsExpr:!0}),eq:new ti(\"=\",{beforeExpr:!0,isAssign:!0}),assign:new ti(\"_=\",{beforeExpr:!0,isAssign:!0}),incDec:new ti(\"++/--\",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new ti(\"!/~\",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:ui(\"||\",1),logicalAND:ui(\"&&\",2),bitwiseOR:ui(\"|\",3),bitwiseXOR:ui(\"^\",4),bitwiseAND:ui(\"&\",5),equality:ui(\"==/!=/===/!==\",6),relational:ui(\"/<=/>=\",7),bitShift:ui(\"<>/>>>\",8),plusMin:new ti(\"+/-\",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:ui(\"%\",10),star:ui(\"*\",10),slash:ui(\"/\",10),starstar:new ti(\"**\",{beforeExpr:!0}),coalesce:ui(\"??\",1),_break:si(\"break\"),_case:si(\"case\",ii),_catch:si(\"catch\"),_continue:si(\"continue\"),_debugger:si(\"debugger\"),_default:si(\"default\",ii),_do:si(\"do\",{isLoop:!0,beforeExpr:!0}),_else:si(\"else\",ii),_finally:si(\"finally\"),_for:si(\"for\",{isLoop:!0}),_function:si(\"function\",ni),_if:si(\"if\"),_return:si(\"return\",ii),_switch:si(\"switch\"),_throw:si(\"throw\",ii),_try:si(\"try\"),_var:si(\"var\"),_const:si(\"const\"),_while:si(\"while\",{isLoop:!0}),_with:si(\"with\"),_new:si(\"new\",{beforeExpr:!0,startsExpr:!0}),_this:si(\"this\",ni),_super:si(\"super\",ni),_class:si(\"class\",ni),_extends:si(\"extends\",ii),_export:si(\"export\"),_import:si(\"import\",ni),_null:si(\"null\",ni),_true:si(\"true\",ni),_false:si(\"false\",ni),_in:si(\"in\",{beforeExpr:!0,binop:7}),_instanceof:si(\"instanceof\",{beforeExpr:!0,binop:7}),_typeof:si(\"typeof\",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:si(\"void\",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:si(\"delete\",{beforeExpr:!0,prefix:!0,startsExpr:!0})},oi=/\\r\\n?|\\n|\\u2028|\\u2029/,ci=new RegExp(oi.source,\"g\");function pi(e,t){return 10===e||13===e||!t&&(8232===e||8233===e)}var Di=/[\\u1680\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/,hi=/(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g,li=Object.prototype,di=li.hasOwnProperty,Ei=li.toString;function fi(e,t){return di.call(e,t)}var Ci=Array.isArray||function(e){return\"[object Array]\"===Ei.call(e)};function mi(e){return new RegExp(\"^(?:\"+e.replace(/ /g,\"|\")+\")$\")}var Ai=function(e,t){this.line=e,this.column=t};Ai.prototype.offset=function(e){return new Ai(this.line,this.column+e)};var Fi=function(e,t,u){this.start=t,this.end=u,null!==e.sourceFile&&(this.source=e.sourceFile)};function gi(e,t){for(var u=1,i=0;;){ci.lastIndex=i;var n=ci.exec(e);if(!(n&&n.index=2015&&(t.ecmaVersion-=2009),null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),Ci(t.onToken)){var i=t.onToken;t.onToken=function(e){return i.push(e)}}return Ci(t.onComment)&&(t.onComment=function(e,t){return function(u,i,n,r,s,a){var o={type:u?\"Block\":\"Line\",value:i,start:n,end:r};e.locations&&(o.loc=new Fi(this,s,a)),e.ranges&&(o.range=[n,r]),t.push(o)}}(t,t.onComment)),t}function Bi(e,t){return 2|(e?4:0)|(t?8:0)}var Si=function(e,t,u){this.options=e=xi(e),this.sourceFile=e.sourceFile,this.keywords=mi(qu[e.ecmaVersion>=6?6:\"module\"===e.sourceType?\"5module\":5]);var i=\"\";if(!0!==e.allowReserved){for(var n=e.ecmaVersion;!(i=Xu[n]);n--);\"module\"===e.sourceType&&(i+=\" await\")}this.reservedWords=mi(i);var r=(i?i+\" \":\"\")+Xu.strict;this.reservedWordsStrict=mi(r),this.reservedWordsStrictBind=mi(r+\" \"+Xu.strictBind),this.input=String(t),this.containsEsc=!1,u?(this.pos=u,this.lineStart=this.input.lastIndexOf(\"\\n\",u-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(oi).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=ai.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=\"module\"===e.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports={},0===this.pos&&e.allowHashBang&&\"#!\"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null},vi={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0}};Si.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)},vi.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},vi.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},vi.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},vi.allowSuper.get=function(){return(64&this.currentThisScope().flags)>0},vi.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},vi.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},Si.prototype.inNonArrowFunction=function(){return(2&this.currentThisScope().flags)>0},Si.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var u=this,i=0;i=,?^&]/.test(n)||\"!\"===n&&\"=\"===this.input.charAt(i+1))}e+=t[0].length,hi.lastIndex=e,e+=hi.exec(this.input)[0].length,\";\"===this.input[e]&&e++}},bi.eat=function(e){return this.type===e&&(this.next(),!0)},bi.isContextual=function(e){return this.type===ai.name&&this.value===e&&!this.containsEsc},bi.eatContextual=function(e){return!!this.isContextual(e)&&(this.next(),!0)},bi.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},bi.canInsertSemicolon=function(){return this.type===ai.eof||this.type===ai.braceR||oi.test(this.input.slice(this.lastTokEnd,this.start))},bi.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},bi.semicolon=function(){this.eat(ai.semi)||this.insertSemicolon()||this.unexpected()},bi.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},bi.expect=function(e){this.eat(e)||this.unexpected()},bi.unexpected=function(e){this.raise(null!=e?e:this.start,\"Unexpected token\")},bi.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,\"Comma is not permitted after the rest element\");var u=t?e.parenthesizedAssign:e.parenthesizedBind;u>-1&&this.raiseRecoverable(u,\"Parenthesized pattern\")}},bi.checkExpressionErrors=function(e,t){if(!e)return!1;var u=e.shorthandAssign,i=e.doubleProto;if(!t)return u>=0||i>=0;u>=0&&this.raise(u,\"Shorthand property assignments are valid only in destructuring patterns\"),i>=0&&this.raiseRecoverable(i,\"Redefinition of __proto__ property\")},bi.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos=6&&this.unexpected(),this.parseFunctionStatement(r,!1,!e);case ai._class:return e&&this.unexpected(),this.parseClass(r,!0);case ai._if:return this.parseIfStatement(r);case ai._return:return this.parseReturnStatement(r);case ai._switch:return this.parseSwitchStatement(r);case ai._throw:return this.parseThrowStatement(r);case ai._try:return this.parseTryStatement(r);case ai._const:case ai._var:return i=i||this.value,e&&\"var\"!==i&&this.unexpected(),this.parseVarStatement(r,i);case ai._while:return this.parseWhileStatement(r);case ai._with:return this.parseWithStatement(r);case ai.braceL:return this.parseBlock(!0,r);case ai.semi:return this.parseEmptyStatement(r);case ai._export:case ai._import:if(this.options.ecmaVersion>10&&n===ai._import){hi.lastIndex=this.pos;var s=hi.exec(this.input),a=this.pos+s[0].length,o=this.input.charCodeAt(a);if(40===o||46===o)return this.parseExpressionStatement(r,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,\"'import' and 'export' may only appear at the top level\"),this.inModule||this.raise(this.start,\"'import' and 'export' may appear only with 'sourceType: module'\")),n===ai._import?this.parseImport(r):this.parseExport(r,u);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(r,!0,!e);var c=this.value,p=this.parseExpression();return n===ai.name&&\"Identifier\"===p.type&&this.eat(ai.colon)?this.parseLabeledStatement(r,c,p,e):this.parseExpressionStatement(r,p)}},wi.parseBreakContinueStatement=function(e,t){var u=\"break\"===t;this.next(),this.eat(ai.semi)||this.insertSemicolon()?e.label=null:this.type!==ai.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var i=0;i=6?this.eat(ai.semi):this.semicolon(),this.finishNode(e,\"DoWhileStatement\")},wi.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual(\"await\")?this.lastTokStart:-1;if(this.labels.push(ki),this.enterScope(0),this.expect(ai.parenL),this.type===ai.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var u=this.isLet();if(this.type===ai._var||this.type===ai._const||u){var i=this.startNode(),n=u?\"let\":this.value;return this.next(),this.parseVar(i,!0,n),this.finishNode(i,\"VariableDeclaration\"),(this.type===ai._in||this.options.ecmaVersion>=6&&this.isContextual(\"of\"))&&1===i.declarations.length?(this.options.ecmaVersion>=9&&(this.type===ai._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,i)):(t>-1&&this.unexpected(t),this.parseFor(e,i))}var r=new _i,s=this.parseExpression(!0,r);return this.type===ai._in||this.options.ecmaVersion>=6&&this.isContextual(\"of\")?(this.options.ecmaVersion>=9&&(this.type===ai._in?t>-1&&this.unexpected(t):e.await=t>-1),this.toAssignable(s,!1,r),this.checkLVal(s),this.parseForIn(e,s)):(this.checkExpressionErrors(r,!0),t>-1&&this.unexpected(t),this.parseFor(e,s))},wi.parseFunctionStatement=function(e,t,u){return this.next(),this.parseFunction(e,Li|(u?0:Pi),!1,t)},wi.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement(\"if\"),e.alternate=this.eat(ai._else)?this.parseStatement(\"if\"):null,this.finishNode(e,\"IfStatement\")},wi.parseReturnStatement=function(e){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,\"'return' outside of function\"),this.next(),this.eat(ai.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,\"ReturnStatement\")},wi.parseSwitchStatement=function(e){var t;this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(ai.braceL),this.labels.push(Ii),this.enterScope(0);for(var u=!1;this.type!==ai.braceR;)if(this.type===ai._case||this.type===ai._default){var i=this.type===ai._case;t&&this.finishNode(t,\"SwitchCase\"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),i?t.test=this.parseExpression():(u&&this.raiseRecoverable(this.lastTokStart,\"Multiple default clauses\"),u=!0,t.test=null),this.expect(ai.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,\"SwitchCase\"),this.next(),this.labels.pop(),this.finishNode(e,\"SwitchStatement\")},wi.parseThrowStatement=function(e){return this.next(),oi.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,\"Illegal newline after throw\"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,\"ThrowStatement\")};var Ni=[];wi.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===ai._catch){var t=this.startNode();if(this.next(),this.eat(ai.parenL)){t.param=this.parseBindingAtom();var u=\"Identifier\"===t.param.type;this.enterScope(u?32:0),this.checkLVal(t.param,u?4:2),this.expect(ai.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,\"CatchClause\")}return e.finalizer=this.eat(ai._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,\"Missing catch or finally clause\"),this.finishNode(e,\"TryStatement\")},wi.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,\"VariableDeclaration\")},wi.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(ki),e.body=this.parseStatement(\"while\"),this.labels.pop(),this.finishNode(e,\"WhileStatement\")},wi.parseWithStatement=function(e){return this.strict&&this.raise(this.start,\"'with' in strict mode\"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement(\"with\"),this.finishNode(e,\"WithStatement\")},wi.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,\"EmptyStatement\")},wi.parseLabeledStatement=function(e,t,u,i){for(var n=0,r=this.labels;n=0;a--){var o=this.labels[a];if(o.statementStart!==e.start)break;o.statementStart=this.start,o.kind=s}return this.labels.push({name:t,kind:s,statementStart:this.start}),e.body=this.parseStatement(i?-1===i.indexOf(\"label\")?i+\"label\":i:\"label\"),this.labels.pop(),e.label=u,this.finishNode(e,\"LabeledStatement\")},wi.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,\"ExpressionStatement\")},wi.parseBlock=function(e,t,u){for(void 0===e&&(e=!0),void 0===t&&(t=this.startNode()),t.body=[],this.expect(ai.braceL),e&&this.enterScope(0);this.type!==ai.braceR;){var i=this.parseStatement(null);t.body.push(i)}return u&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,\"BlockStatement\")},wi.parseFor=function(e,t){return e.init=t,this.expect(ai.semi),e.test=this.type===ai.semi?null:this.parseExpression(),this.expect(ai.semi),e.update=this.type===ai.parenR?null:this.parseExpression(),this.expect(ai.parenR),e.body=this.parseStatement(\"for\"),this.exitScope(),this.labels.pop(),this.finishNode(e,\"ForStatement\")},wi.parseForIn=function(e,t){var u=this.type===ai._in;return this.next(),\"VariableDeclaration\"===t.type&&null!=t.declarations[0].init&&(!u||this.options.ecmaVersion<8||this.strict||\"var\"!==t.kind||\"Identifier\"!==t.declarations[0].id.type)?this.raise(t.start,(u?\"for-in\":\"for-of\")+\" loop variable declaration may not have an initializer\"):\"AssignmentPattern\"===t.type&&this.raise(t.start,\"Invalid left-hand side in for-loop\"),e.left=t,e.right=u?this.parseExpression():this.parseMaybeAssign(),this.expect(ai.parenR),e.body=this.parseStatement(\"for\"),this.exitScope(),this.labels.pop(),this.finishNode(e,u?\"ForInStatement\":\"ForOfStatement\")},wi.parseVar=function(e,t,u){for(e.declarations=[],e.kind=u;;){var i=this.startNode();if(this.parseVarId(i,u),this.eat(ai.eq)?i.init=this.parseMaybeAssign(t):\"const\"!==u||this.type===ai._in||this.options.ecmaVersion>=6&&this.isContextual(\"of\")?\"Identifier\"===i.id.type||t&&(this.type===ai._in||this.isContextual(\"of\"))?i.init=null:this.raise(this.lastTokEnd,\"Complex binding patterns require an initialization value\"):this.unexpected(),e.declarations.push(this.finishNode(i,\"VariableDeclarator\")),!this.eat(ai.comma))break}return e},wi.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,\"var\"===t?1:2,!1)};var Li=1,Pi=2;wi.parseFunction=function(e,t,u,i){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===ai.star&&t&Pi&&this.unexpected(),e.generator=this.eat(ai.star)),this.options.ecmaVersion>=8&&(e.async=!!i),t&Li&&(e.id=4&t&&this.type!==ai.name?null:this.parseIdent(),!e.id||t&Pi||this.checkLVal(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?1:2:3));var n=this.yieldPos,r=this.awaitPos,s=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(Bi(e.async,e.generator)),t&Li||(e.id=this.type===ai.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,u,!1),this.yieldPos=n,this.awaitPos=r,this.awaitIdentPos=s,this.finishNode(e,t&Li?\"FunctionDeclaration\":\"FunctionExpression\")},wi.parseFunctionParams=function(e){this.expect(ai.parenL),e.params=this.parseBindingList(ai.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},wi.parseClass=function(e,t){this.next();var u=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var i=this.startNode(),n=!1;for(i.body=[],this.expect(ai.braceL);this.type!==ai.braceR;){var r=this.parseClassElement(null!==e.superClass);r&&(i.body.push(r),\"MethodDefinition\"===r.type&&\"constructor\"===r.kind&&(n&&this.raise(r.start,\"Duplicate constructor in the same class\"),n=!0))}return this.strict=u,this.next(),e.body=this.finishNode(i,\"ClassBody\"),this.finishNode(e,t?\"ClassDeclaration\":\"ClassExpression\")},wi.parseClassElement=function(e){var t=this;if(this.eat(ai.semi))return null;var u=this.startNode(),i=function(e,i){void 0===i&&(i=!1);var n=t.start,r=t.startLoc;return!!t.eatContextual(e)&&(!(t.type===ai.parenL||i&&t.canInsertSemicolon())||(u.key&&t.unexpected(),u.computed=!1,u.key=t.startNodeAt(n,r),u.key.name=e,t.finishNode(u.key,\"Identifier\"),!1))};u.kind=\"method\",u.static=i(\"static\");var n=this.eat(ai.star),r=!1;n||(this.options.ecmaVersion>=8&&i(\"async\",!0)?(r=!0,n=this.options.ecmaVersion>=9&&this.eat(ai.star)):i(\"get\")?u.kind=\"get\":i(\"set\")&&(u.kind=\"set\")),u.key||this.parsePropertyName(u);var s=u.key,a=!1;return u.computed||u.static||!(\"Identifier\"===s.type&&\"constructor\"===s.name||\"Literal\"===s.type&&\"constructor\"===s.value)?u.static&&\"Identifier\"===s.type&&\"prototype\"===s.name&&this.raise(s.start,\"Classes may not have a static property named prototype\"):(\"method\"!==u.kind&&this.raise(s.start,\"Constructor can't have get/set modifier\"),n&&this.raise(s.start,\"Constructor can't be a generator\"),r&&this.raise(s.start,\"Constructor can't be an async method\"),u.kind=\"constructor\",a=e),this.parseClassMethod(u,n,r,a),\"get\"===u.kind&&0!==u.value.params.length&&this.raiseRecoverable(u.value.start,\"getter should have no params\"),\"set\"===u.kind&&1!==u.value.params.length&&this.raiseRecoverable(u.value.start,\"setter should have exactly one param\"),\"set\"===u.kind&&\"RestElement\"===u.value.params[0].type&&this.raiseRecoverable(u.value.params[0].start,\"Setter cannot use rest params\"),u},wi.parseClassMethod=function(e,t,u,i){return e.value=this.parseMethod(t,u,i),this.finishNode(e,\"MethodDefinition\")},wi.parseClassId=function(e,t){this.type===ai.name?(e.id=this.parseIdent(),t&&this.checkLVal(e.id,2,!1)):(!0===t&&this.unexpected(),e.id=null)},wi.parseClassSuper=function(e){e.superClass=this.eat(ai._extends)?this.parseExprSubscripts():null},wi.parseExport=function(e,t){if(this.next(),this.eat(ai.star))return this.options.ecmaVersion>=11&&(this.eatContextual(\"as\")?(e.exported=this.parseIdent(!0),this.checkExport(t,e.exported.name,this.lastTokStart)):e.exported=null),this.expectContextual(\"from\"),this.type!==ai.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,\"ExportAllDeclaration\");if(this.eat(ai._default)){var u;if(this.checkExport(t,\"default\",this.lastTokStart),this.type===ai._function||(u=this.isAsyncFunction())){var i=this.startNode();this.next(),u&&this.next(),e.declaration=this.parseFunction(i,4|Li,!1,u)}else if(this.type===ai._class){var n=this.startNode();e.declaration=this.parseClass(n,\"nullableID\")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,\"ExportDefaultDeclaration\")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),\"VariableDeclaration\"===e.declaration.type?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id.name,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual(\"from\"))this.type!==ai.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var r=0,s=e.specifiers;r=6&&e)switch(e.type){case\"Identifier\":this.inAsync&&\"await\"===e.name&&this.raise(e.start,\"Cannot use 'await' as identifier inside an async function\");break;case\"ObjectPattern\":case\"ArrayPattern\":case\"RestElement\":break;case\"ObjectExpression\":e.type=\"ObjectPattern\",u&&this.checkPatternErrors(u,!0);for(var i=0,n=e.properties;i=8&&!r&&\"async\"===s.name&&!this.canInsertSemicolon()&&this.eat(ai._function))return this.parseFunction(this.startNodeAt(i,n),0,!1,!0);if(u&&!this.canInsertSemicolon()){if(this.eat(ai.arrow))return this.parseArrowExpression(this.startNodeAt(i,n),[s],!1);if(this.options.ecmaVersion>=8&&\"async\"===s.name&&this.type===ai.name&&!r)return s=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(ai.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(i,n),[s],!0)}return s;case ai.regexp:var a=this.value;return(t=this.parseLiteral(a.value)).regex={pattern:a.pattern,flags:a.flags},t;case ai.num:case ai.string:return this.parseLiteral(this.value);case ai._null:case ai._true:case ai._false:return(t=this.startNode()).value=this.type===ai._null?null:this.type===ai._true,t.raw=this.type.keyword,this.next(),this.finishNode(t,\"Literal\");case ai.parenL:var o=this.start,c=this.parseParenAndDistinguishExpression(u);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(c)&&(e.parenthesizedAssign=o),e.parenthesizedBind<0&&(e.parenthesizedBind=o)),c;case ai.bracketL:return t=this.startNode(),this.next(),t.elements=this.parseExprList(ai.bracketR,!0,!0,e),this.finishNode(t,\"ArrayExpression\");case ai.braceL:return this.parseObj(!1,e);case ai._function:return t=this.startNode(),this.next(),this.parseFunction(t,0);case ai._class:return this.parseClass(this.startNode(),!1);case ai._new:return this.parseNew();case ai.backQuote:return this.parseTemplate();case ai._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},Ri.parseExprImport=function(){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,\"Escape sequence in keyword import\");var t=this.parseIdent(!0);switch(this.type){case ai.parenL:return this.parseDynamicImport(e);case ai.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}},Ri.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(ai.parenR)){var t=this.start;this.eat(ai.comma)&&this.eat(ai.parenR)?this.raiseRecoverable(t,\"Trailing comma is not allowed in import()\"):this.unexpected(t)}return this.finishNode(e,\"ImportExpression\")},Ri.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),\"meta\"!==e.property.name&&this.raiseRecoverable(e.property.start,\"The only valid meta property for import is 'import.meta'\"),t&&this.raiseRecoverable(e.start,\"'import.meta' must not contain escaped characters\"),\"module\"!==this.options.sourceType&&this.raiseRecoverable(e.start,\"Cannot use 'import.meta' outside a module\"),this.finishNode(e,\"MetaProperty\")},Ri.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),110===t.raw.charCodeAt(t.raw.length-1)&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,\"\")),this.next(),this.finishNode(t,\"Literal\")},Ri.parseParenExpression=function(){this.expect(ai.parenL);var e=this.parseExpression();return this.expect(ai.parenR),e},Ri.parseParenAndDistinguishExpression=function(e){var t,u=this.start,i=this.startLoc,n=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var r,s=this.start,a=this.startLoc,o=[],c=!0,p=!1,D=new _i,h=this.yieldPos,l=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==ai.parenR;){if(c?c=!1:this.expect(ai.comma),n&&this.afterTrailingComma(ai.parenR,!0)){p=!0;break}if(this.type===ai.ellipsis){r=this.start,o.push(this.parseParenItem(this.parseRestBinding())),this.type===ai.comma&&this.raise(this.start,\"Comma is not permitted after the rest element\");break}o.push(this.parseMaybeAssign(!1,D,this.parseParenItem))}var d=this.start,E=this.startLoc;if(this.expect(ai.parenR),e&&!this.canInsertSemicolon()&&this.eat(ai.arrow))return this.checkPatternErrors(D,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=h,this.awaitPos=l,this.parseParenArrowList(u,i,o);o.length&&!p||this.unexpected(this.lastTokStart),r&&this.unexpected(r),this.checkExpressionErrors(D,!0),this.yieldPos=h||this.yieldPos,this.awaitPos=l||this.awaitPos,o.length>1?((t=this.startNodeAt(s,a)).expressions=o,this.finishNodeAt(t,\"SequenceExpression\",d,E)):t=o[0]}else t=this.parseParenExpression();if(this.options.preserveParens){var f=this.startNodeAt(u,i);return f.expression=t,this.finishNode(f,\"ParenthesizedExpression\")}return t},Ri.parseParenItem=function(e){return e},Ri.parseParenArrowList=function(e,t,u){return this.parseArrowExpression(this.startNodeAt(e,t),u)};var Mi=[];Ri.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,\"Escape sequence in keyword new\");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(ai.dot)){e.meta=t;var u=this.containsEsc;return e.property=this.parseIdent(!0),\"target\"!==e.property.name&&this.raiseRecoverable(e.property.start,\"The only valid meta property for new is 'new.target'\"),u&&this.raiseRecoverable(e.start,\"'new.target' must not contain escaped characters\"),this.inNonArrowFunction()||this.raiseRecoverable(e.start,\"'new.target' can only be used in functions\"),this.finishNode(e,\"MetaProperty\")}var i=this.start,n=this.startLoc,r=this.type===ai._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),i,n,!0),r&&\"ImportExpression\"===e.callee.type&&this.raise(i,\"Cannot use new with import()\"),this.eat(ai.parenL)?e.arguments=this.parseExprList(ai.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Mi,this.finishNode(e,\"NewExpression\")},Ri.parseTemplateElement=function(e){var t=e.isTagged,u=this.startNode();return this.type===ai.invalidTemplate?(t||this.raiseRecoverable(this.start,\"Bad escape sequence in untagged template literal\"),u.value={raw:this.value,cooked:null}):u.value={raw:this.input.slice(this.start,this.end).replace(/\\r\\n?/g,\"\\n\"),cooked:this.value},this.next(),u.tail=this.type===ai.backQuote,this.finishNode(u,\"TemplateElement\")},Ri.parseTemplate=function(e){void 0===e&&(e={});var t=e.isTagged;void 0===t&&(t=!1);var u=this.startNode();this.next(),u.expressions=[];var i=this.parseTemplateElement({isTagged:t});for(u.quasis=[i];!i.tail;)this.type===ai.eof&&this.raise(this.pos,\"Unterminated template literal\"),this.expect(ai.dollarBraceL),u.expressions.push(this.parseExpression()),this.expect(ai.braceR),u.quasis.push(i=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(u,\"TemplateLiteral\")},Ri.isAsyncProp=function(e){return!e.computed&&\"Identifier\"===e.key.type&&\"async\"===e.key.name&&(this.type===ai.name||this.type===ai.num||this.type===ai.string||this.type===ai.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===ai.star)&&!oi.test(this.input.slice(this.lastTokEnd,this.start))},Ri.parseObj=function(e,t){var u=this.startNode(),i=!0,n={};for(u.properties=[],this.next();!this.eat(ai.braceR);){if(i)i=!1;else if(this.expect(ai.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(ai.braceR))break;var r=this.parseProperty(e,t);e||this.checkPropClash(r,n,t),u.properties.push(r)}return this.finishNode(u,e?\"ObjectPattern\":\"ObjectExpression\")},Ri.parseProperty=function(e,t){var u,i,n,r,s=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(ai.ellipsis))return e?(s.argument=this.parseIdent(!1),this.type===ai.comma&&this.raise(this.start,\"Comma is not permitted after the rest element\"),this.finishNode(s,\"RestElement\")):(this.type===ai.parenL&&t&&(t.parenthesizedAssign<0&&(t.parenthesizedAssign=this.start),t.parenthesizedBind<0&&(t.parenthesizedBind=this.start)),s.argument=this.parseMaybeAssign(!1,t),this.type===ai.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(s,\"SpreadElement\"));this.options.ecmaVersion>=6&&(s.method=!1,s.shorthand=!1,(e||t)&&(n=this.start,r=this.startLoc),e||(u=this.eat(ai.star)));var a=this.containsEsc;return this.parsePropertyName(s),!e&&!a&&this.options.ecmaVersion>=8&&!u&&this.isAsyncProp(s)?(i=!0,u=this.options.ecmaVersion>=9&&this.eat(ai.star),this.parsePropertyName(s,t)):i=!1,this.parsePropertyValue(s,e,u,i,n,r,t,a),this.finishNode(s,\"Property\")},Ri.parsePropertyValue=function(e,t,u,i,n,r,s,a){if((u||i)&&this.type===ai.colon&&this.unexpected(),this.eat(ai.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,s),e.kind=\"init\";else if(this.options.ecmaVersion>=6&&this.type===ai.parenL)t&&this.unexpected(),e.kind=\"init\",e.method=!0,e.value=this.parseMethod(u,i);else if(t||a||!(this.options.ecmaVersion>=5)||e.computed||\"Identifier\"!==e.key.type||\"get\"!==e.key.name&&\"set\"!==e.key.name||this.type===ai.comma||this.type===ai.braceR||this.type===ai.eq)this.options.ecmaVersion>=6&&!e.computed&&\"Identifier\"===e.key.type?((u||i)&&this.unexpected(),this.checkUnreserved(e.key),\"await\"!==e.key.name||this.awaitIdentPos||(this.awaitIdentPos=n),e.kind=\"init\",t?e.value=this.parseMaybeDefault(n,r,e.key):this.type===ai.eq&&s?(s.shorthandAssign<0&&(s.shorthandAssign=this.start),e.value=this.parseMaybeDefault(n,r,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected();else{(u||i)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var o=\"get\"===e.kind?0:1;if(e.value.params.length!==o){var c=e.value.start;\"get\"===e.kind?this.raiseRecoverable(c,\"getter should have no params\"):this.raiseRecoverable(c,\"setter should have exactly one param\")}else\"set\"===e.kind&&\"RestElement\"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,\"Setter cannot use rest params\")}},Ri.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(ai.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(ai.bracketR),e.key;e.computed=!1}return e.key=this.type===ai.num||this.type===ai.string?this.parseExprAtom():this.parseIdent(\"never\"!==this.options.allowReserved)},Ri.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},Ri.parseMethod=function(e,t,u){var i=this.startNode(),n=this.yieldPos,r=this.awaitPos,s=this.awaitIdentPos;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=e),this.options.ecmaVersion>=8&&(i.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|Bi(t,i.generator)|(u?128:0)),this.expect(ai.parenL),i.params=this.parseBindingList(ai.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1,!0),this.yieldPos=n,this.awaitPos=r,this.awaitIdentPos=s,this.finishNode(i,\"FunctionExpression\")},Ri.parseArrowExpression=function(e,t,u){var i=this.yieldPos,n=this.awaitPos,r=this.awaitIdentPos;return this.enterScope(16|Bi(u,!1)),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!u),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1),this.yieldPos=i,this.awaitPos=n,this.awaitIdentPos=r,this.finishNode(e,\"ArrowFunctionExpression\")},Ri.parseFunctionBody=function(e,t,u){var i=t&&this.type!==ai.braceL,n=this.strict,r=!1;if(i)e.body=this.parseMaybeAssign(),e.expression=!0,this.checkParams(e,!1);else{var s=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);n&&!s||(r=this.strictDirective(this.end))&&s&&this.raiseRecoverable(e.start,\"Illegal 'use strict' directive in function with non-simple parameter list\");var a=this.labels;this.labels=[],r&&(this.strict=!0),this.checkParams(e,!n&&!r&&!t&&!u&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLVal(e.id,5),e.body=this.parseBlock(!1,void 0,r&&!n),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=a}this.exitScope()},Ri.isSimpleParamList=function(e){for(var t=0,u=e;t-1||n.functions.indexOf(e)>-1||n.var.indexOf(e)>-1,n.lexical.push(e),this.inModule&&1&n.flags&&delete this.undefinedExports[e]}else if(4===t){this.currentScope().lexical.push(e)}else if(3===t){var r=this.currentScope();i=this.treatFunctionsAsVar?r.lexical.indexOf(e)>-1:r.lexical.indexOf(e)>-1||r.var.indexOf(e)>-1,r.functions.push(e)}else for(var s=this.scopeStack.length-1;s>=0;--s){var a=this.scopeStack[s];if(a.lexical.indexOf(e)>-1&&!(32&a.flags&&a.lexical[0]===e)||!this.treatFunctionsAsVarInScope(a)&&a.functions.indexOf(e)>-1){i=!0;break}if(a.var.push(e),this.inModule&&1&a.flags&&delete this.undefinedExports[e],3&a.flags)break}i&&this.raiseRecoverable(u,\"Identifier '\"+e+\"' has already been declared\")},ji.checkLocalExport=function(e){-1===this.scopeStack[0].lexical.indexOf(e.name)&&-1===this.scopeStack[0].var.indexOf(e.name)&&(this.undefinedExports[e.name]=e)},ji.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},ji.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(3&t.flags)return t}},ji.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(3&t.flags&&!(16&t.flags))return t}};var Xi=function(e,t,u){this.type=\"\",this.start=t,this.end=0,e.options.locations&&(this.loc=new Fi(e,u)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},Gi=Si.prototype;function qi(e,t,u,i){return e.type=t,e.end=u,this.options.locations&&(e.loc.end=i),this.options.ranges&&(e.range[1]=u),e}Gi.startNode=function(){return new Xi(this,this.start,this.startLoc)},Gi.startNodeAt=function(e,t){return new Xi(this,e,t)},Gi.finishNode=function(e,t){return qi.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},Gi.finishNodeAt=function(e,t,u,i){return qi.call(this,e,t,u,i)};var Wi=function(e,t,u,i,n){this.token=e,this.isExpr=!!t,this.preserveSpace=!!u,this.override=i,this.generator=!!n},Ji={b_stat:new Wi(\"{\",!1),b_expr:new Wi(\"{\",!0),b_tmpl:new Wi(\"${\",!1),p_stat:new Wi(\"(\",!1),p_expr:new Wi(\"(\",!0),q_tmpl:new Wi(\"`\",!0,!0,(function(e){return e.tryReadTemplateToken()})),f_stat:new Wi(\"function\",!1),f_expr:new Wi(\"function\",!0),f_expr_gen:new Wi(\"function\",!0,!1,null,!0),f_gen:new Wi(\"function\",!1,!1,null,!0)},Hi=Si.prototype;Hi.initialContext=function(){return[Ji.b_stat]},Hi.braceIsBlock=function(e){var t=this.curContext();return t===Ji.f_expr||t===Ji.f_stat||(e!==ai.colon||t!==Ji.b_stat&&t!==Ji.b_expr?e===ai._return||e===ai.name&&this.exprAllowed?oi.test(this.input.slice(this.lastTokEnd,this.start)):e===ai._else||e===ai.semi||e===ai.eof||e===ai.parenR||e===ai.arrow||(e===ai.braceL?t===Ji.b_stat:e!==ai._var&&e!==ai._const&&e!==ai.name&&!this.exprAllowed):!t.isExpr)},Hi.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if(\"function\"===t.token)return t.generator}return!1},Hi.updateContext=function(e){var t,u=this.type;u.keyword&&e===ai.dot?this.exprAllowed=!1:(t=u.updateContext)?t.call(this,e):this.exprAllowed=u.beforeExpr},ai.parenR.updateContext=ai.braceR.updateContext=function(){if(1!==this.context.length){var e=this.context.pop();e===Ji.b_stat&&\"function\"===this.curContext().token&&(e=this.context.pop()),this.exprAllowed=!e.isExpr}else this.exprAllowed=!0},ai.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?Ji.b_stat:Ji.b_expr),this.exprAllowed=!0},ai.dollarBraceL.updateContext=function(){this.context.push(Ji.b_tmpl),this.exprAllowed=!0},ai.parenL.updateContext=function(e){var t=e===ai._if||e===ai._for||e===ai._with||e===ai._while;this.context.push(t?Ji.p_stat:Ji.p_expr),this.exprAllowed=!0},ai.incDec.updateContext=function(){},ai._function.updateContext=ai._class.updateContext=function(e){!e.beforeExpr||e===ai.semi||e===ai._else||e===ai._return&&oi.test(this.input.slice(this.lastTokEnd,this.start))||(e===ai.colon||e===ai.braceL)&&this.curContext()===Ji.b_stat?this.context.push(Ji.f_stat):this.context.push(Ji.f_expr),this.exprAllowed=!1},ai.backQuote.updateContext=function(){this.curContext()===Ji.q_tmpl?this.context.pop():this.context.push(Ji.q_tmpl),this.exprAllowed=!1},ai.star.updateContext=function(e){if(e===ai._function){var t=this.context.length-1;this.context[t]===Ji.f_expr?this.context[t]=Ji.f_expr_gen:this.context[t]=Ji.f_gen}this.exprAllowed=!0},ai.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==ai.dot&&(\"of\"===this.value&&!this.exprAllowed||\"yield\"===this.value&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var zi=\"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS\",$i=zi+\" Extended_Pictographic\",Ki={9:zi,10:$i,11:\"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS Extended_Pictographic\"},Qi=\"Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu\",Yi=\"Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb\",Zi=Yi+\" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd\",en={9:Yi,10:Zi,11:\"Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho\"},tn={};function un(e){var t=tn[e]={binary:mi(Ki[e]+\" \"+Qi),nonBinary:{General_Category:mi(Qi),Script:mi(en[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}un(9),un(10),un(11);var nn=Si.prototype,rn=function(e){this.parser=e,this.validFlags=\"gim\"+(e.options.ecmaVersion>=6?\"uy\":\"\")+(e.options.ecmaVersion>=9?\"s\":\"\"),this.unicodeProperties=tn[e.options.ecmaVersion>=11?11:e.options.ecmaVersion],this.source=\"\",this.flags=\"\",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue=\"\",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function sn(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function an(e){return 36===e||e>=40&&e<=43||46===e||63===e||e>=91&&e<=94||e>=123&&e<=125}function on(e){return e>=65&&e<=90||e>=97&&e<=122}function cn(e){return on(e)||95===e}function pn(e){return cn(e)||Dn(e)}function Dn(e){return e>=48&&e<=57}function hn(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function ln(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e-48}function dn(e){return e>=48&&e<=55}rn.prototype.reset=function(e,t,u){var i=-1!==u.indexOf(\"u\");this.start=0|e,this.source=t+\"\",this.flags=u,this.switchU=i&&this.parser.options.ecmaVersion>=6,this.switchN=i&&this.parser.options.ecmaVersion>=9},rn.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,\"Invalid regular expression: /\"+this.source+\"/: \"+e)},rn.prototype.at=function(e,t){void 0===t&&(t=!1);var u=this.source,i=u.length;if(e>=i)return-1;var n=u.charCodeAt(e);if(!t&&!this.switchU||n<=55295||n>=57344||e+1>=i)return n;var r=u.charCodeAt(e+1);return r>=56320&&r<=57343?(n<<10)+r-56613888:n},rn.prototype.nextIndex=function(e,t){void 0===t&&(t=!1);var u=this.source,i=u.length;if(e>=i)return i;var n,r=u.charCodeAt(e);return!t&&!this.switchU||r<=55295||r>=57344||e+1>=i||(n=u.charCodeAt(e+1))<56320||n>57343?e+1:e+2},rn.prototype.current=function(e){return void 0===e&&(e=!1),this.at(this.pos,e)},rn.prototype.lookahead=function(e){return void 0===e&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},rn.prototype.advance=function(e){void 0===e&&(e=!1),this.pos=this.nextIndex(this.pos,e)},rn.prototype.eat=function(e,t){return void 0===t&&(t=!1),this.current(t)===e&&(this.advance(t),!0)},nn.validateRegExpFlags=function(e){for(var t=e.validFlags,u=e.flags,i=0;i-1&&this.raise(e.start,\"Duplicate regular expression flag\")}},nn.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},nn.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue=\"\",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise(\"Unmatched ')'\"),(e.eat(93)||e.eat(125))&&e.raise(\"Lone quantifier brackets\")),e.maxBackReference>e.numCapturingParens&&e.raise(\"Invalid escape\");for(var t=0,u=e.backReferenceNames;t=9&&(u=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise(\"Unterminated group\"),e.lastAssertionIsQuantifiable=!u,!0}return e.pos=t,!1},nn.regexp_eatQuantifier=function(e,t){return void 0===t&&(t=!1),!!this.regexp_eatQuantifierPrefix(e,t)&&(e.eat(63),!0)},nn.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},nn.regexp_eatBracedQuantifier=function(e,t){var u=e.pos;if(e.eat(123)){var i=0,n=-1;if(this.regexp_eatDecimalDigits(e)&&(i=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(n=e.lastIntValue),e.eat(125)))return-1!==n&&n=9?this.regexp_groupSpecifier(e):63===e.current()&&e.raise(\"Invalid group\"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise(\"Unterminated group\")}return!1},nn.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},nn.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise(\"Nothing to repeat\"),!1},nn.regexp_eatSyntaxCharacter=function(e){var t=e.current();return!!an(t)&&(e.lastIntValue=t,e.advance(),!0)},nn.regexp_eatPatternCharacters=function(e){for(var t=e.pos,u=0;-1!==(u=e.current())&&!an(u);)e.advance();return e.pos!==t},nn.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return!(-1===t||36===t||t>=40&&t<=43||46===t||63===t||91===t||94===t||124===t)&&(e.advance(),!0)},nn.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e))return-1!==e.groupNames.indexOf(e.lastStringValue)&&e.raise(\"Duplicate capture group name\"),void e.groupNames.push(e.lastStringValue);e.raise(\"Invalid group\")}},nn.regexp_eatGroupName=function(e){if(e.lastStringValue=\"\",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise(\"Invalid capture group name\")}return!1},nn.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue=\"\",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=sn(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=sn(e.lastIntValue);return!0}return!1},nn.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,u=this.options.ecmaVersion>=11,i=e.current(u);return e.advance(u),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(e,u)&&(i=e.lastIntValue),function(e){return Zu(e,!0)||36===e||95===e}(i)?(e.lastIntValue=i,!0):(e.pos=t,!1)},nn.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,u=this.options.ecmaVersion>=11,i=e.current(u);return e.advance(u),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(e,u)&&(i=e.lastIntValue),function(e){return ei(e,!0)||36===e||95===e||8204===e||8205===e}(i)?(e.lastIntValue=i,!0):(e.pos=t,!1)},nn.regexp_eatAtomEscape=function(e){return!!(this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e))||(e.switchU&&(99===e.current()&&e.raise(\"Invalid unicode escape\"),e.raise(\"Invalid escape\")),!1)},nn.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var u=e.lastIntValue;if(e.switchU)return u>e.maxBackReference&&(e.maxBackReference=u),!0;if(u<=e.numCapturingParens)return!0;e.pos=t}return!1},nn.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise(\"Invalid named reference\")}return!1},nn.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},nn.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},nn.regexp_eatZero=function(e){return 48===e.current()&&!Dn(e.lookahead())&&(e.lastIntValue=0,e.advance(),!0)},nn.regexp_eatControlEscape=function(e){var t=e.current();return 116===t?(e.lastIntValue=9,e.advance(),!0):110===t?(e.lastIntValue=10,e.advance(),!0):118===t?(e.lastIntValue=11,e.advance(),!0):102===t?(e.lastIntValue=12,e.advance(),!0):114===t&&(e.lastIntValue=13,e.advance(),!0)},nn.regexp_eatControlLetter=function(e){var t=e.current();return!!on(t)&&(e.lastIntValue=t%32,e.advance(),!0)},nn.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){void 0===t&&(t=!1);var u,i=e.pos,n=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var r=e.lastIntValue;if(n&&r>=55296&&r<=56319){var s=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var a=e.lastIntValue;if(a>=56320&&a<=57343)return e.lastIntValue=1024*(r-55296)+(a-56320)+65536,!0}e.pos=s,e.lastIntValue=r}return!0}if(n&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&((u=e.lastIntValue)>=0&&u<=1114111))return!0;n&&e.raise(\"Invalid unicode escape\"),e.pos=i}return!1},nn.regexp_eatIdentityEscape=function(e){if(e.switchU)return!!this.regexp_eatSyntaxCharacter(e)||!!e.eat(47)&&(e.lastIntValue=47,!0);var t=e.current();return!(99===t||e.switchN&&107===t)&&(e.lastIntValue=t,e.advance(),!0)},nn.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do{e.lastIntValue=10*e.lastIntValue+(t-48),e.advance()}while((t=e.current())>=48&&t<=57);return!0}return!1},nn.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(function(e){return 100===e||68===e||115===e||83===e||119===e||87===e}(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(80===t||112===t)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise(\"Invalid property name\")}return!1},nn.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var u=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,u,i),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var n=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,n),!0}return!1},nn.regexp_validateUnicodePropertyNameAndValue=function(e,t,u){fi(e.unicodeProperties.nonBinary,t)||e.raise(\"Invalid property name\"),e.unicodeProperties.nonBinary[t].test(u)||e.raise(\"Invalid property value\")},nn.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise(\"Invalid property name\")},nn.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue=\"\";cn(t=e.current());)e.lastStringValue+=sn(t),e.advance();return\"\"!==e.lastStringValue},nn.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue=\"\";pn(t=e.current());)e.lastStringValue+=sn(t),e.advance();return\"\"!==e.lastStringValue},nn.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},nn.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise(\"Unterminated character class\")}return!1},nn.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var u=e.lastIntValue;!e.switchU||-1!==t&&-1!==u||e.raise(\"Invalid character class\"),-1!==t&&-1!==u&&t>u&&e.raise(\"Range out of order in character class\")}}},nn.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var u=e.current();(99===u||dn(u))&&e.raise(\"Invalid class escape\"),e.raise(\"Invalid escape\")}e.pos=t}var i=e.current();return 93!==i&&(e.lastIntValue=i,e.advance(),!0)},nn.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},nn.regexp_eatClassControlLetter=function(e){var t=e.current();return!(!Dn(t)&&95!==t)&&(e.lastIntValue=t%32,e.advance(),!0)},nn.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise(\"Invalid escape\"),e.pos=t}return!1},nn.regexp_eatDecimalDigits=function(e){var t=e.pos,u=0;for(e.lastIntValue=0;Dn(u=e.current());)e.lastIntValue=10*e.lastIntValue+(u-48),e.advance();return e.pos!==t},nn.regexp_eatHexDigits=function(e){var t=e.pos,u=0;for(e.lastIntValue=0;hn(u=e.current());)e.lastIntValue=16*e.lastIntValue+ln(u),e.advance();return e.pos!==t},nn.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var u=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=64*t+8*u+e.lastIntValue:e.lastIntValue=8*t+u}else e.lastIntValue=t;return!0}return!1},nn.regexp_eatOctalDigit=function(e){var t=e.current();return dn(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)},nn.regexp_eatFixedHexDigits=function(e,t){var u=e.pos;e.lastIntValue=0;for(var i=0;i>10),56320+(1023&e)))}fn.next=function(e){!e&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,\"Escape sequence in keyword \"+this.type.keyword),this.options.onToken&&this.options.onToken(new En(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},fn.getToken=function(){return this.next(),new En(this)},\"undefined\"!=typeof Symbol&&(fn[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===ai.eof,value:t}}}}),fn.curContext=function(){return this.context[this.context.length-1]},fn.nextToken=function(){var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(ai.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},fn.readToken=function(e){return Zu(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},fn.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);return e<=55295||e>=57344?e:(e<<10)+this.input.charCodeAt(this.pos+1)-56613888},fn.skipBlockComment=function(){var e,t=this.options.onComment&&this.curPosition(),u=this.pos,i=this.input.indexOf(\"*/\",this.pos+=2);if(-1===i&&this.raise(this.pos-2,\"Unterminated comment\"),this.pos=i+2,this.options.locations)for(ci.lastIndex=u;(e=ci.exec(this.input))&&e.index8&&e<14||e>=5760&&Di.test(String.fromCharCode(e))))break e;++this.pos}}},fn.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var u=this.type;this.type=e,this.value=t,this.updateContext(u)},fn.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===e&&46===t?(this.pos+=3,this.finishToken(ai.ellipsis)):(++this.pos,this.finishToken(ai.dot))},fn.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(ai.assign,2):this.finishOp(ai.slash,1)},fn.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),u=1,i=42===e?ai.star:ai.modulo;return this.options.ecmaVersion>=7&&42===e&&42===t&&(++u,i=ai.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(ai.assign,u+1):this.finishOp(i,u)},fn.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(ai.assign,3);return this.finishOp(124===e?ai.logicalOR:ai.logicalAND,2)}return 61===t?this.finishOp(ai.assign,2):this.finishOp(124===e?ai.bitwiseOR:ai.bitwiseAND,1)},fn.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(ai.assign,2):this.finishOp(ai.bitwiseXOR,1)},fn.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?45!==t||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!oi.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(ai.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===t?this.finishOp(ai.assign,2):this.finishOp(ai.plusMin,1)},fn.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),u=1;return t===e?(u=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+u)?this.finishOp(ai.assign,u+1):this.finishOp(ai.bitShift,u)):33!==t||60!==e||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===t&&(u=2),this.finishOp(ai.relational,u)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},fn.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(ai.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(ai.arrow)):this.finishOp(61===e?ai.eq:ai.prefix,1)},fn.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(46===t){var u=this.input.charCodeAt(this.pos+2);if(u<48||u>57)return this.finishOp(ai.questionDot,2)}if(63===t){if(e>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(ai.assign,3);return this.finishOp(ai.coalesce,2)}}return this.finishOp(ai.question,1)},fn.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(ai.parenL);case 41:return++this.pos,this.finishToken(ai.parenR);case 59:return++this.pos,this.finishToken(ai.semi);case 44:return++this.pos,this.finishToken(ai.comma);case 91:return++this.pos,this.finishToken(ai.bracketL);case 93:return++this.pos,this.finishToken(ai.bracketR);case 123:return++this.pos,this.finishToken(ai.braceL);case 125:return++this.pos,this.finishToken(ai.braceR);case 58:return++this.pos,this.finishToken(ai.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(ai.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(ai.prefix,1)}this.raise(this.pos,\"Unexpected character '\"+mn(e)+\"'\")},fn.finishOp=function(e,t){var u=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,u)},fn.readRegexp=function(){for(var e,t,u=this.pos;;){this.pos>=this.input.length&&this.raise(u,\"Unterminated regular expression\");var i=this.input.charAt(this.pos);if(oi.test(i)&&this.raise(u,\"Unterminated regular expression\"),e)e=!1;else{if(\"[\"===i)t=!0;else if(\"]\"===i&&t)t=!1;else if(\"/\"===i&&!t)break;e=\"\\\\\"===i}++this.pos}var n=this.input.slice(u,this.pos);++this.pos;var r=this.pos,s=this.readWord1();this.containsEsc&&this.unexpected(r);var a=this.regexpState||(this.regexpState=new rn(this));a.reset(u,n,s),this.validateRegExpFlags(a),this.validateRegExpPattern(a);var o=null;try{o=new RegExp(n,s)}catch(e){}return this.finishToken(ai.regexp,{pattern:n,flags:s,value:o})},fn.readInt=function(e,t,u){for(var i=this.options.ecmaVersion>=12&&void 0===t,n=u&&48===this.input.charCodeAt(this.pos),r=this.pos,s=0,a=0,o=0,c=null==t?1/0:t;o=97?p-97+10:p>=65?p-65+10:p>=48&&p<=57?p-48:1/0)>=e)break;a=p,s=s*e+D}}return i&&95===a&&this.raiseRecoverable(this.pos-1,\"Numeric separator is not allowed at the last of digits\"),this.pos===r||null!=t&&this.pos-r!==t?null:s},fn.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var u=this.readInt(e);return null==u&&this.raise(this.start+2,\"Expected number in radix \"+e),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(u=Cn(this.input.slice(t,this.pos)),++this.pos):Zu(this.fullCharCodeAtPos())&&this.raise(this.pos,\"Identifier directly after number\"),this.finishToken(ai.num,u)},fn.readNumber=function(e){var t=this.pos;e||null!==this.readInt(10,void 0,!0)||this.raise(t,\"Invalid number\");var u=this.pos-t>=2&&48===this.input.charCodeAt(t);u&&this.strict&&this.raise(t,\"Invalid number\");var i=this.input.charCodeAt(this.pos);if(!u&&!e&&this.options.ecmaVersion>=11&&110===i){var n=Cn(this.input.slice(t,this.pos));return++this.pos,Zu(this.fullCharCodeAtPos())&&this.raise(this.pos,\"Identifier directly after number\"),this.finishToken(ai.num,n)}u&&/[89]/.test(this.input.slice(t,this.pos))&&(u=!1),46!==i||u||(++this.pos,this.readInt(10),i=this.input.charCodeAt(this.pos)),69!==i&&101!==i||u||(43!==(i=this.input.charCodeAt(++this.pos))&&45!==i||++this.pos,null===this.readInt(10)&&this.raise(t,\"Invalid number\")),Zu(this.fullCharCodeAtPos())&&this.raise(this.pos,\"Identifier directly after number\");var r,s=(r=this.input.slice(t,this.pos),u?parseInt(r,8):parseFloat(r.replace(/_/g,\"\")));return this.finishToken(ai.num,s)},fn.readCodePoint=function(){var e;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var t=++this.pos;e=this.readHexChar(this.input.indexOf(\"}\",this.pos)-this.pos),++this.pos,e>1114111&&this.invalidStringToken(t,\"Code point out of bounds\")}else e=this.readHexChar(4);return e},fn.readString=function(e){for(var t=\"\",u=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,\"Unterminated string constant\");var i=this.input.charCodeAt(this.pos);if(i===e)break;92===i?(t+=this.input.slice(u,this.pos),t+=this.readEscapedChar(!1),u=this.pos):(pi(i,this.options.ecmaVersion>=10)&&this.raise(this.start,\"Unterminated string constant\"),++this.pos)}return t+=this.input.slice(u,this.pos++),this.finishToken(ai.string,t)};var An={};fn.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e!==An)throw e;this.readInvalidTemplateToken()}this.inTemplateElement=!1},fn.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw An;this.raise(e,t)},fn.readTmplToken=function(){for(var e=\"\",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,\"Unterminated template\");var u=this.input.charCodeAt(this.pos);if(96===u||36===u&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==ai.template&&this.type!==ai.invalidTemplate?(e+=this.input.slice(t,this.pos),this.finishToken(ai.template,e)):36===u?(this.pos+=2,this.finishToken(ai.dollarBraceL)):(++this.pos,this.finishToken(ai.backQuote));if(92===u)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(pi(u)){switch(e+=this.input.slice(t,this.pos),++this.pos,u){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:e+=\"\\n\";break;default:e+=String.fromCharCode(u)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},fn.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(i,8);return n>255&&(i=i.slice(0,-1),n=parseInt(i,8)),this.pos+=i.length-1,t=this.input.charCodeAt(this.pos),\"0\"===i&&56!==t&&57!==t||!this.strict&&!e||this.invalidStringToken(this.pos-1-i.length,e?\"Octal literal in template string\":\"Octal literal in strict mode\"),String.fromCharCode(n)}return pi(t)?\"\":String.fromCharCode(t)}},fn.readHexChar=function(e){var t=this.pos,u=this.readInt(16,e);return null===u&&this.invalidStringToken(t,\"Bad character escape sequence\"),u},fn.readWord1=function(){this.containsEsc=!1;for(var e=\"\",t=!0,u=this.pos,i=this.options.ecmaVersion>=6;this.pos\",nbsp:\"\\xa0\",iexcl:\"\\xa1\",cent:\"\\xa2\",pound:\"\\xa3\",curren:\"\\xa4\",yen:\"\\xa5\",brvbar:\"\\xa6\",sect:\"\\xa7\",uml:\"\\xa8\",copy:\"\\xa9\",ordf:\"\\xaa\",laquo:\"\\xab\",not:\"\\xac\",shy:\"\\xad\",reg:\"\\xae\",macr:\"\\xaf\",deg:\"\\xb0\",plusmn:\"\\xb1\",sup2:\"\\xb2\",sup3:\"\\xb3\",acute:\"\\xb4\",micro:\"\\xb5\",para:\"\\xb6\",middot:\"\\xb7\",cedil:\"\\xb8\",sup1:\"\\xb9\",ordm:\"\\xba\",raquo:\"\\xbb\",frac14:\"\\xbc\",frac12:\"\\xbd\",frac34:\"\\xbe\",iquest:\"\\xbf\",Agrave:\"\\xc0\",Aacute:\"\\xc1\",Acirc:\"\\xc2\",Atilde:\"\\xc3\",Auml:\"\\xc4\",Aring:\"\\xc5\",AElig:\"\\xc6\",Ccedil:\"\\xc7\",Egrave:\"\\xc8\",Eacute:\"\\xc9\",Ecirc:\"\\xca\",Euml:\"\\xcb\",Igrave:\"\\xcc\",Iacute:\"\\xcd\",Icirc:\"\\xce\",Iuml:\"\\xcf\",ETH:\"\\xd0\",Ntilde:\"\\xd1\",Ograve:\"\\xd2\",Oacute:\"\\xd3\",Ocirc:\"\\xd4\",Otilde:\"\\xd5\",Ouml:\"\\xd6\",times:\"\\xd7\",Oslash:\"\\xd8\",Ugrave:\"\\xd9\",Uacute:\"\\xda\",Ucirc:\"\\xdb\",Uuml:\"\\xdc\",Yacute:\"\\xdd\",THORN:\"\\xde\",szlig:\"\\xdf\",agrave:\"\\xe0\",aacute:\"\\xe1\",acirc:\"\\xe2\",atilde:\"\\xe3\",auml:\"\\xe4\",aring:\"\\xe5\",aelig:\"\\xe6\",ccedil:\"\\xe7\",egrave:\"\\xe8\",eacute:\"\\xe9\",ecirc:\"\\xea\",euml:\"\\xeb\",igrave:\"\\xec\",iacute:\"\\xed\",icirc:\"\\xee\",iuml:\"\\xef\",eth:\"\\xf0\",ntilde:\"\\xf1\",ograve:\"\\xf2\",oacute:\"\\xf3\",ocirc:\"\\xf4\",otilde:\"\\xf5\",ouml:\"\\xf6\",divide:\"\\xf7\",oslash:\"\\xf8\",ugrave:\"\\xf9\",uacute:\"\\xfa\",ucirc:\"\\xfb\",uuml:\"\\xfc\",yacute:\"\\xfd\",thorn:\"\\xfe\",yuml:\"\\xff\",OElig:\"\\u0152\",oelig:\"\\u0153\",Scaron:\"\\u0160\",scaron:\"\\u0161\",Yuml:\"\\u0178\",fnof:\"\\u0192\",circ:\"\\u02c6\",tilde:\"\\u02dc\",Alpha:\"\\u0391\",Beta:\"\\u0392\",Gamma:\"\\u0393\",Delta:\"\\u0394\",Epsilon:\"\\u0395\",Zeta:\"\\u0396\",Eta:\"\\u0397\",Theta:\"\\u0398\",Iota:\"\\u0399\",Kappa:\"\\u039a\",Lambda:\"\\u039b\",Mu:\"\\u039c\",Nu:\"\\u039d\",Xi:\"\\u039e\",Omicron:\"\\u039f\",Pi:\"\\u03a0\",Rho:\"\\u03a1\",Sigma:\"\\u03a3\",Tau:\"\\u03a4\",Upsilon:\"\\u03a5\",Phi:\"\\u03a6\",Chi:\"\\u03a7\",Psi:\"\\u03a8\",Omega:\"\\u03a9\",alpha:\"\\u03b1\",beta:\"\\u03b2\",gamma:\"\\u03b3\",delta:\"\\u03b4\",epsilon:\"\\u03b5\",zeta:\"\\u03b6\",eta:\"\\u03b7\",theta:\"\\u03b8\",iota:\"\\u03b9\",kappa:\"\\u03ba\",lambda:\"\\u03bb\",mu:\"\\u03bc\",nu:\"\\u03bd\",xi:\"\\u03be\",omicron:\"\\u03bf\",pi:\"\\u03c0\",rho:\"\\u03c1\",sigmaf:\"\\u03c2\",sigma:\"\\u03c3\",tau:\"\\u03c4\",upsilon:\"\\u03c5\",phi:\"\\u03c6\",chi:\"\\u03c7\",psi:\"\\u03c8\",omega:\"\\u03c9\",thetasym:\"\\u03d1\",upsih:\"\\u03d2\",piv:\"\\u03d6\",ensp:\"\\u2002\",emsp:\"\\u2003\",thinsp:\"\\u2009\",zwnj:\"\\u200c\",zwj:\"\\u200d\",lrm:\"\\u200e\",rlm:\"\\u200f\",ndash:\"\\u2013\",mdash:\"\\u2014\",lsquo:\"\\u2018\",rsquo:\"\\u2019\",sbquo:\"\\u201a\",ldquo:\"\\u201c\",rdquo:\"\\u201d\",bdquo:\"\\u201e\",dagger:\"\\u2020\",Dagger:\"\\u2021\",bull:\"\\u2022\",hellip:\"\\u2026\",permil:\"\\u2030\",prime:\"\\u2032\",Prime:\"\\u2033\",lsaquo:\"\\u2039\",rsaquo:\"\\u203a\",oline:\"\\u203e\",frasl:\"\\u2044\",euro:\"\\u20ac\",image:\"\\u2111\",weierp:\"\\u2118\",real:\"\\u211c\",trade:\"\\u2122\",alefsym:\"\\u2135\",larr:\"\\u2190\",uarr:\"\\u2191\",rarr:\"\\u2192\",darr:\"\\u2193\",harr:\"\\u2194\",crarr:\"\\u21b5\",lArr:\"\\u21d0\",uArr:\"\\u21d1\",rArr:\"\\u21d2\",dArr:\"\\u21d3\",hArr:\"\\u21d4\",forall:\"\\u2200\",part:\"\\u2202\",exist:\"\\u2203\",empty:\"\\u2205\",nabla:\"\\u2207\",isin:\"\\u2208\",notin:\"\\u2209\",ni:\"\\u220b\",prod:\"\\u220f\",sum:\"\\u2211\",minus:\"\\u2212\",lowast:\"\\u2217\",radic:\"\\u221a\",prop:\"\\u221d\",infin:\"\\u221e\",ang:\"\\u2220\",and:\"\\u2227\",or:\"\\u2228\",cap:\"\\u2229\",cup:\"\\u222a\",int:\"\\u222b\",there4:\"\\u2234\",sim:\"\\u223c\",cong:\"\\u2245\",asymp:\"\\u2248\",ne:\"\\u2260\",equiv:\"\\u2261\",le:\"\\u2264\",ge:\"\\u2265\",sub:\"\\u2282\",sup:\"\\u2283\",nsub:\"\\u2284\",sube:\"\\u2286\",supe:\"\\u2287\",oplus:\"\\u2295\",otimes:\"\\u2297\",perp:\"\\u22a5\",sdot:\"\\u22c5\",lceil:\"\\u2308\",rceil:\"\\u2309\",lfloor:\"\\u230a\",rfloor:\"\\u230b\",lang:\"\\u2329\",rang:\"\\u232a\",loz:\"\\u25ca\",spades:\"\\u2660\",clubs:\"\\u2663\",hearts:\"\\u2665\",diams:\"\\u2666\"},yn=R(Object.freeze({__proto__:null,Node:Xi,Parser:Si,Position:Ai,SourceLocation:Fi,TokContext:Wi,Token:En,TokenType:ti,defaultOptions:yi,getLineInfo:gi,isIdentifierChar:ei,isIdentifierStart:Zu,isNewLine:pi,keywordTypes:ri,lineBreak:oi,lineBreakG:ci,nonASCIIwhitespace:Di,parse:function(e,t){return Si.parse(e,t)},parseExpressionAt:function(e,t,u){return Si.parseExpressionAt(e,t,u)},tokContexts:Ji,tokTypes:ai,tokenizer:function(e,t){return Si.tokenizer(e,t)},version:Fn})),xn=O((function(e){const t=/^[\\da-fA-F]+$/,u=/^\\d+$/,i=new WeakMap;function n(e){e=e.Parser.acorn||e;let t=i.get(e);if(!t){const u=e.tokTypes,n=e.TokContext,r=e.TokenType,s=new n(\"...\",!0,!0),c={tc_oTag:s,tc_cTag:a,tc_expr:o},p={jsxName:new r(\"jsxName\"),jsxText:new r(\"jsxText\",{beforeExpr:!0}),jsxTagStart:new r(\"jsxTagStart\",{startsExpr:!0}),jsxTagEnd:new r(\"jsxTagEnd\")};p.jsxTagStart.updateContext=function(){this.context.push(o),this.context.push(s),this.exprAllowed=!1},p.jsxTagEnd.updateContext=function(e){let t=this.context.pop();t===s&&e===u.slash||t===a?(this.context.pop(),this.exprAllowed=this.curContext()===o):this.exprAllowed=!0},t={tokContexts:c,tokTypes:p},i.set(e,t)}return t}function r(e){return e?\"JSXIdentifier\"===e.type?e.name:\"JSXNamespacedName\"===e.type?e.namespace.name+\":\"+e.name.name:\"JSXMemberExpression\"===e.type?r(e.object)+\".\"+r(e.property):void 0:e}e.exports=function(e){return e=e||{},function(i){return function(e,i){const s=i.acorn||yn,a=n(s),o=s.tokTypes,c=a.tokTypes,p=s.tokContexts,D=a.tokContexts.tc_oTag,h=a.tokContexts.tc_cTag,l=a.tokContexts.tc_expr,d=s.isNewLine,E=s.isIdentifierStart,f=s.isIdentifierChar;return class extends i{static get acornJsx(){return a}jsx_readToken(){let e=\"\",t=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,\"Unterminated JSX contents\");let u=this.input.charCodeAt(this.pos);switch(u){case 60:case 123:return this.pos===this.start?60===u&&this.exprAllowed?(++this.pos,this.finishToken(c.jsxTagStart)):this.getTokenFromCode(u):(e+=this.input.slice(t,this.pos),this.finishToken(c.jsxText,e));case 38:e+=this.input.slice(t,this.pos),e+=this.jsx_readEntity(),t=this.pos;break;case 62:case 125:this.raise(this.pos,\"Unexpected token `\"+this.input[this.pos]+\"`. Did you mean `\"+(62===u?\">\":\"}\")+'` or `{\"'+this.input[this.pos]+'\"}`?');default:d(u)?(e+=this.input.slice(t,this.pos),e+=this.jsx_readNewLine(!0),t=this.pos):++this.pos}}}jsx_readNewLine(e){let t,u=this.input.charCodeAt(this.pos);return++this.pos,13===u&&10===this.input.charCodeAt(this.pos)?(++this.pos,t=e?\"\\n\":\"\\r\\n\"):t=String.fromCharCode(u),this.options.locations&&(++this.curLine,this.lineStart=this.pos),t}jsx_readString(e){let t=\"\",u=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,\"Unterminated string constant\");let i=this.input.charCodeAt(this.pos);if(i===e)break;38===i?(t+=this.input.slice(u,this.pos),t+=this.jsx_readEntity(),u=this.pos):d(i)?(t+=this.input.slice(u,this.pos),t+=this.jsx_readNewLine(!1),u=this.pos):++this.pos}return t+=this.input.slice(u,this.pos++),this.finishToken(o.string,t)}jsx_readEntity(){let e,i=\"\",n=0,r=this.input[this.pos];\"&\"!==r&&this.raise(this.pos,\"Entity must start with an ampersand\");let s=++this.pos;for(;this.pos\")}let a=n.name?\"Element\":\"Fragment\";return u[\"opening\"+a]=n,u[\"closing\"+a]=s,u.children=i,this.type===o.relational&&\"<\"===this.value&&this.raise(this.start,\"Adjacent JSX elements must be wrapped in an enclosing tag\"),this.finishNode(u,\"JSX\"+a)}jsx_parseText(){let e=this.parseLiteral(this.value);return e.type=\"JSXText\",e}jsx_parseElement(){let e=this.start,t=this.startLoc;return this.next(),this.jsx_parseElementAt(e,t)}parseExprAtom(e){return this.type===c.jsxText?this.jsx_parseText():this.type===c.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(e)}readToken(e){let t=this.curContext();if(t===l)return this.jsx_readToken();if(t===D||t===h){if(E(e))return this.jsx_readWord();if(62==e)return++this.pos,this.finishToken(c.jsxTagEnd);if((34===e||39===e)&&t==D)return this.jsx_readString(e)}return 60===e&&this.exprAllowed&&33!==this.input.charCodeAt(this.pos+1)?(++this.pos,this.finishToken(c.jsxTagStart)):super.readToken(e)}updateContext(e){if(this.type==o.braceL){var t=this.curContext();t==D?this.context.push(p.b_expr):t==l?this.context.push(p.b_tmpl):super.updateContext(e),this.exprAllowed=!0}else{if(this.type!==o.slash||e!==c.jsxTagStart)return super.updateContext(e);this.context.length-=2,this.context.push(h),this.exprAllowed=!1}}}}({allowNamespaces:!1!==e.allowNamespaces,allowNamespacedObjects:!!e.allowNamespacedObjects},i)}},Object.defineProperty(e.exports,\"tokTypes\",{get:function(){return n(yn).tokTypes},configurable:!0,enumerable:!0})})),Bn={AssignmentExpression:\"AssignmentExpression\",AssignmentPattern:\"AssignmentPattern\",ArrayExpression:\"ArrayExpression\",ArrayPattern:\"ArrayPattern\",ArrowFunctionExpression:\"ArrowFunctionExpression\",AwaitExpression:\"AwaitExpression\",BlockStatement:\"BlockStatement\",BinaryExpression:\"BinaryExpression\",BreakStatement:\"BreakStatement\",CallExpression:\"CallExpression\",CatchClause:\"CatchClause\",ClassBody:\"ClassBody\",ClassDeclaration:\"ClassDeclaration\",ClassExpression:\"ClassExpression\",ConditionalExpression:\"ConditionalExpression\",ContinueStatement:\"ContinueStatement\",DoWhileStatement:\"DoWhileStatement\",DebuggerStatement:\"DebuggerStatement\",EmptyStatement:\"EmptyStatement\",ExpressionStatement:\"ExpressionStatement\",ForStatement:\"ForStatement\",ForInStatement:\"ForInStatement\",ForOfStatement:\"ForOfStatement\",FunctionDeclaration:\"FunctionDeclaration\",FunctionExpression:\"FunctionExpression\",Identifier:\"Identifier\",IfStatement:\"IfStatement\",Literal:\"Literal\",LabeledStatement:\"LabeledStatement\",LogicalExpression:\"LogicalExpression\",MemberExpression:\"MemberExpression\",MetaProperty:\"MetaProperty\",MethodDefinition:\"MethodDefinition\",NewExpression:\"NewExpression\",ObjectExpression:\"ObjectExpression\",ObjectPattern:\"ObjectPattern\",Program:\"Program\",Property:\"Property\",RestElement:\"RestElement\",ReturnStatement:\"ReturnStatement\",SequenceExpression:\"SequenceExpression\",SpreadElement:\"SpreadElement\",Super:\"Super\",SwitchCase:\"SwitchCase\",SwitchStatement:\"SwitchStatement\",TaggedTemplateExpression:\"TaggedTemplateExpression\",TemplateElement:\"TemplateElement\",TemplateLiteral:\"TemplateLiteral\",ThisExpression:\"ThisExpression\",ThrowStatement:\"ThrowStatement\",TryStatement:\"TryStatement\",UnaryExpression:\"UnaryExpression\",UpdateExpression:\"UpdateExpression\",VariableDeclaration:\"VariableDeclaration\",VariableDeclarator:\"VariableDeclarator\",WhileStatement:\"WhileStatement\",WithStatement:\"WithStatement\",YieldExpression:\"YieldExpression\",JSXIdentifier:\"JSXIdentifier\",JSXNamespacedName:\"JSXNamespacedName\",JSXMemberExpression:\"JSXMemberExpression\",JSXEmptyExpression:\"JSXEmptyExpression\",JSXExpressionContainer:\"JSXExpressionContainer\",JSXElement:\"JSXElement\",JSXClosingElement:\"JSXClosingElement\",JSXOpeningElement:\"JSXOpeningElement\",JSXAttribute:\"JSXAttribute\",JSXSpreadAttribute:\"JSXSpreadAttribute\",JSXText:\"JSXText\",ExportDefaultDeclaration:\"ExportDefaultDeclaration\",ExportNamedDeclaration:\"ExportNamedDeclaration\",ExportAllDeclaration:\"ExportAllDeclaration\",ExportSpecifier:\"ExportSpecifier\",ImportDeclaration:\"ImportDeclaration\",ImportSpecifier:\"ImportSpecifier\",ImportDefaultSpecifier:\"ImportDefaultSpecifier\",ImportNamespaceSpecifier:\"ImportNamespaceSpecifier\"};const Sn=\"Boolean\",vn=\"Identifier\",bn=\"Keyword\",Tn=\"Null\",_n=\"Numeric\",wn=\"Punctuator\",kn=\"String\",In=\"RegularExpression\",Nn=\"Template\",Ln=\"JSXIdentifier\",Pn=\"JSXText\";function On(e,t){this._acornTokTypes=e,this._tokens=[],this._curlyBrace=null,this._code=t}On.prototype={constructor:On,translate(e,t){const u=e.type,i=this._acornTokTypes;if(u===i.name)e.type=vn,\"static\"===e.value&&(e.type=bn),t.ecmaVersion>5&&(\"yield\"===e.value||\"let\"===e.value)&&(e.type=bn);else if(u===i.semi||u===i.comma||u===i.parenL||u===i.parenR||u===i.braceL||u===i.braceR||u===i.dot||u===i.bracketL||u===i.colon||u===i.question||u===i.bracketR||u===i.ellipsis||u===i.arrow||u===i.jsxTagStart||u===i.incDec||u===i.starstar||u===i.jsxTagEnd||u===i.prefix||u===i.questionDot||u.binop&&!u.keyword||u.isAssign)e.type=wn,e.value=this._code.slice(e.start,e.end);else if(u===i.jsxName)e.type=Ln;else if(\"jsxText\"===u.label||u===i.jsxAttrValueToken)e.type=Pn;else if(u.keyword)\"true\"===u.keyword||\"false\"===u.keyword?e.type=Sn:\"null\"===u.keyword?e.type=Tn:e.type=bn;else if(u===i.num)e.type=_n,e.value=this._code.slice(e.start,e.end);else if(u===i.string)t.jsxAttrValueToken?(t.jsxAttrValueToken=!1,e.type=Pn):e.type=kn,e.value=this._code.slice(e.start,e.end);else if(u===i.regexp){e.type=In;const t=e.value;e.regex={flags:t.flags,pattern:t.pattern},e.value=\"/\".concat(t.pattern,\"/\").concat(t.flags)}return e},onToken(e,t){const u=this,i=this._acornTokTypes,n=t.tokens,r=this._tokens;function s(){n.push(function(e,t){const u=e[0],i=e[e.length-1],n={type:Nn,value:t.slice(u.start,i.end)};return u.loc&&(n.loc={start:u.loc.start,end:i.loc.end}),u.range&&(n.start=u.range[0],n.end=i.range[1],n.range=[n.start,n.end]),n}(u._tokens,u._code)),u._tokens=[]}if(e.type!==i.eof){if(e.type===i.backQuote)return this._curlyBrace&&(n.push(this.translate(this._curlyBrace,t)),this._curlyBrace=null),r.push(e),void(r.length>1&&s());if(e.type===i.dollarBraceL)return r.push(e),void s();if(e.type===i.braceR)return this._curlyBrace&&n.push(this.translate(this._curlyBrace,t)),void(this._curlyBrace=e);if(e.type===i.template||e.type===i.invalidTemplate)return this._curlyBrace&&(r.push(this._curlyBrace),this._curlyBrace=null),void r.push(e);this._curlyBrace&&(n.push(this.translate(this._curlyBrace,t)),this._curlyBrace=null),n.push(this.translate(e,t))}else this._curlyBrace&&n.push(this.translate(this._curlyBrace,t))}};var Rn=On;const Mn=[3,5,6,7,8,9,10,11,12];var Vn={normalizeOptions:function(e){const t=function(e=5){if(\"number\"!=typeof e)throw new Error(\"ecmaVersion must be a number. Received value of type \".concat(typeof e,\" instead.\"));let t=e;if(t>=2015&&(t-=2009),!Mn.includes(t))throw new Error(\"Invalid ecmaVersion.\");return t}(e.ecmaVersion),u=function(e=\"script\"){if(\"script\"===e||\"module\"===e)return e;throw new Error(\"Invalid sourceType.\")}(e.sourceType),i=!0===e.range,n=!0===e.loc;if(\"module\"===u&&t<6)throw new Error(\"sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.\");return Object.assign({},e,{ecmaVersion:t,sourceType:u,ranges:i,locations:n})},getLatestEcmaVersion:function(){return Mn[Mn.length-1]},getSupportedEcmaVersions:function(){return[...Mn]}};const{normalizeOptions:jn}=Vn,Un=Symbol(\"espree's internal state\"),Xn=Symbol(\"espree's esprimaFinishNode\");var Gn=()=>e=>{const t=Object.assign({},e.acorn.tokTypes);return e.acornJsx&&Object.assign(t,e.acornJsx.tokTypes),class extends e{constructor(e,u){\"object\"==typeof e&&null!==e||(e={}),\"string\"==typeof u||u instanceof String||(u=String(u));const i=jn(e),n=i.ecmaFeatures||{},r=!0===i.tokens?new Rn(t,u):null;super({ecmaVersion:i.ecmaVersion,sourceType:i.sourceType,ranges:i.ranges,locations:i.locations,allowReturnOutsideFunction:Boolean(n.globalReturn),onToken:e=>{r&&r.onToken(e,this[Un]),e.type!==t.eof&&(this[Un].lastToken=e)},onComment:(e,t,u,i,n,r)=>{if(this[Un].comments){const s=function(e,t,u,i,n,r){const s={type:e?\"Block\":\"Line\",value:t};return\"number\"==typeof u&&(s.start=u,s.end=i,s.range=[u,i]),\"object\"==typeof n&&(s.loc={start:n,end:r}),s}(e,t,u,i,n,r);this[Un].comments.push(s)}}},u),this[Un]={tokens:r?[]:null,comments:!0===i.comment?[]:null,impliedStrict:!0===n.impliedStrict&&this.options.ecmaVersion>=5,ecmaVersion:this.options.ecmaVersion,jsxAttrValueToken:!1,lastToken:null}}tokenize(){do{this.next()}while(this.type!==t.eof);this.next();const e=this[Un],u=e.tokens;return e.comments&&(u.comments=e.comments),u}finishNode(...e){const t=super.finishNode(...e);return this[Xn](t)}finishNodeAt(...e){const t=super.finishNodeAt(...e);return this[Xn](t)}parse(){const e=this[Un],t=super.parse();return t.sourceType=this.options.sourceType,e.comments&&(t.comments=e.comments),e.tokens&&(t.tokens=e.tokens),t.range&&(t.range[0]=t.body.length?t.body[0].range[0]:t.range[0],t.range[1]=e.lastToken?e.lastToken.range[1]:t.range[1]),t.loc&&(t.loc.start=t.body.length?t.body[0].loc.start:t.loc.start,t.loc.end=e.lastToken?e.lastToken.loc.end:t.loc.end),t}parseTopLevel(e){return this[Un].impliedStrict&&(this.strict=!0),super.parseTopLevel(e)}raise(t,u){const i=e.acorn.getLineInfo(this.input,t),n=new SyntaxError(u);throw n.index=t,n.lineNumber=i.line,n.column=i.column+1,n}raiseRecoverable(e,t){this.raise(e,t)}unexpected(e){let t=\"Unexpected token\";if(null!=e){if(this.pos=e,this.options.locations)for(;this.posthis.start&&(t+=\" \".concat(this.input.slice(this.start,this.end))),this.raise(this.start,t)}jsx_readString(e){const u=super.jsx_readString(e);return this.type===t.string&&(this[Un].jsxAttrValueToken=!0),u}[Xn](e){if(\"TemplateElement\"===e.type){const t=\"${\"===this.input.slice(e.end,e.end+2);e.range&&(e.range[0]--,e.range[1]+=t?2:1),e.loc&&(e.loc.start.column--,e.loc.end.column+=t?2:1)}return e.type.indexOf(\"Function\")>-1&&!e.generator&&(e.generator=!1),e}}},qn=\"7.3.0\",Wn={AssignmentExpression:[\"left\",\"right\"],AssignmentPattern:[\"left\",\"right\"],ArrayExpression:[\"elements\"],ArrayPattern:[\"elements\"],ArrowFunctionExpression:[\"params\",\"body\"],AwaitExpression:[\"argument\"],BlockStatement:[\"body\"],BinaryExpression:[\"left\",\"right\"],BreakStatement:[\"label\"],CallExpression:[\"callee\",\"arguments\"],CatchClause:[\"param\",\"body\"],ChainExpression:[\"expression\"],ClassBody:[\"body\"],ClassDeclaration:[\"id\",\"superClass\",\"body\"],ClassExpression:[\"id\",\"superClass\",\"body\"],ConditionalExpression:[\"test\",\"consequent\",\"alternate\"],ContinueStatement:[\"label\"],DebuggerStatement:[],DoWhileStatement:[\"body\",\"test\"],EmptyStatement:[],ExportAllDeclaration:[\"exported\",\"source\"],ExportDefaultDeclaration:[\"declaration\"],ExportNamedDeclaration:[\"declaration\",\"specifiers\",\"source\"],ExportSpecifier:[\"exported\",\"local\"],ExpressionStatement:[\"expression\"],ExperimentalRestProperty:[\"argument\"],ExperimentalSpreadProperty:[\"argument\"],ForStatement:[\"init\",\"test\",\"update\",\"body\"],ForInStatement:[\"left\",\"right\",\"body\"],ForOfStatement:[\"left\",\"right\",\"body\"],FunctionDeclaration:[\"id\",\"params\",\"body\"],FunctionExpression:[\"id\",\"params\",\"body\"],Identifier:[],IfStatement:[\"test\",\"consequent\",\"alternate\"],ImportDeclaration:[\"specifiers\",\"source\"],ImportDefaultSpecifier:[\"local\"],ImportExpression:[\"source\"],ImportNamespaceSpecifier:[\"local\"],ImportSpecifier:[\"imported\",\"local\"],JSXAttribute:[\"name\",\"value\"],JSXClosingElement:[\"name\"],JSXElement:[\"openingElement\",\"children\",\"closingElement\"],JSXEmptyExpression:[],JSXExpressionContainer:[\"expression\"],JSXIdentifier:[],JSXMemberExpression:[\"object\",\"property\"],JSXNamespacedName:[\"namespace\",\"name\"],JSXOpeningElement:[\"name\",\"attributes\"],JSXSpreadAttribute:[\"argument\"],JSXText:[],JSXFragment:[\"openingFragment\",\"children\",\"closingFragment\"],Literal:[],LabeledStatement:[\"label\",\"body\"],LogicalExpression:[\"left\",\"right\"],MemberExpression:[\"object\",\"property\"],MetaProperty:[\"meta\",\"property\"],MethodDefinition:[\"key\",\"value\"],NewExpression:[\"callee\",\"arguments\"],ObjectExpression:[\"properties\"],ObjectPattern:[\"properties\"],Program:[\"body\"],Property:[\"key\",\"value\"],RestElement:[\"argument\"],ReturnStatement:[\"argument\"],SequenceExpression:[\"expressions\"],SpreadElement:[\"argument\"],Super:[],SwitchStatement:[\"discriminant\",\"cases\"],SwitchCase:[\"test\",\"consequent\"],TaggedTemplateExpression:[\"tag\",\"quasi\"],TemplateElement:[],TemplateLiteral:[\"quasis\",\"expressions\"],ThisExpression:[],ThrowStatement:[\"argument\"],TryStatement:[\"block\",\"handler\",\"finalizer\"],UnaryExpression:[\"argument\"],UpdateExpression:[\"argument\"],VariableDeclaration:[\"declarations\"],VariableDeclarator:[\"id\",\"init\"],WhileStatement:[\"test\",\"body\"],WithStatement:[\"object\",\"body\"],YieldExpression:[\"argument\"]};const Jn=Object.freeze(Object.keys(Wn));for(const e of Jn)Object.freeze(Wn[e]);Object.freeze(Wn);const Hn=new Set([\"parent\",\"leadingComments\",\"trailingComments\"]);function zn(e){return!Hn.has(e)&&\"_\"!==e[0]}var $n=Object.freeze({KEYS:Wn,getKeys:e=>Object.keys(e).filter(zn),unionWith(e){const t=Object.assign({},Wn);for(const u of Object.keys(e))if(t.hasOwnProperty(u)){const i=new Set(e[u]);for(const e of t[u])i.add(e);t[u]=Object.freeze(Array.from(i))}else t[u]=Object.freeze(Array.from(e[u]));return Object.freeze(t)}});const{getLatestEcmaVersion:Kn,getSupportedEcmaVersions:Qn}=Vn,Yn={_regular:null,_jsx:null,get regular(){return null===this._regular&&(this._regular=yn.Parser.extend(Gn())),this._regular},get jsx(){return null===this._jsx&&(this._jsx=yn.Parser.extend(xn(),Gn())),this._jsx},get(e){return Boolean(e&&e.ecmaFeatures&&e.ecmaFeatures.jsx)?this.jsx:this.regular}};var Zn={version:qn,tokenize:function(e,t){const u=Yn.get(t);return t&&!0===t.tokens||(t=Object.assign({},t,{tokens:!0})),new u(t,e).tokenize()},parse:function(e,t){return new(Yn.get(t))(t,e).parse()},Syntax:function(){let e,t={};for(e in\"function\"==typeof Object.create&&(t=Object.create(null)),Bn)Object.hasOwnProperty.call(Bn,e)&&(t[e]=Bn[e]);return\"function\"==typeof Object.freeze&&Object.freeze(t),t}(),VisitorKeys:$n.KEYS,latestEcmaVersion:Kn(),supportedEcmaVersions:Qn()};const{getShebang:er}=Pe,{hasPragma:tr}=Ke,{locStart:ur,locEnd:ir}=et,nr={range:!0,loc:!0,comment:!0,tokens:!0,sourceType:\"module\",ecmaFeatures:{jsx:!0,globalReturn:!0,impliedStrict:!1}};return{parsers:{espree:{parse:function(e,t,u){const{parse:i,latestEcmaVersion:n}=Zn;nr.ecmaVersion=n;const r=er(e),s=r?\" \".repeat(r.length)+e.slice(r.length):e;let a;try{a=i(s,nr)}catch(e){try{a=i(s,Object.assign({},nr,{sourceType:\"script\"}))}catch(t){const{message:u,lineNumber:i,column:n}=e;if(\"number\"!=typeof i)throw e;throw Oe(u,{start:{line:i,column:n}})}}return Uu(a,Object.assign({},u,{originalText:e}))},astFormat:\"estree\",hasPragma:tr,locStart:ur,locEnd:ir}}}}));\n","'use strict'\n\nconst fs = require('graceful-fs')\n\nfunction symlinkType (srcpath, type, callback) {\n callback = (typeof type === 'function') ? type : callback\n type = (typeof type === 'function') ? false : type\n if (type) return callback(null, type)\n fs.lstat(srcpath, (err, stats) => {\n if (err) return callback(null, 'file')\n type = (stats && stats.isDirectory()) ? 'dir' : 'file'\n callback(null, type)\n })\n}\n\nfunction symlinkTypeSync (srcpath, type) {\n let stats\n\n if (type) return type\n try {\n stats = fs.lstatSync(srcpath)\n } catch {\n return 'file'\n }\n return (stats && stats.isDirectory()) ? 'dir' : 'file'\n}\n\nmodule.exports = {\n symlinkType,\n symlinkTypeSync\n}\n","'use strict';\n\nconst Transform = require('stream').Transform;\n\n/**\n * MessageParser instance is a transform stream that separates message headers\n * from the rest of the body. Headers are emitted with the 'headers' event. Message\n * body is passed on as the resulting stream.\n */\nclass MessageParser extends Transform {\n constructor(options) {\n super(options);\n this.lastBytes = Buffer.alloc(4);\n this.headersParsed = false;\n this.headerBytes = 0;\n this.headerChunks = [];\n this.rawHeaders = false;\n this.bodySize = 0;\n }\n\n /**\n * Keeps count of the last 4 bytes in order to detect line breaks on chunk boundaries\n *\n * @param {Buffer} data Next data chunk from the stream\n */\n updateLastBytes(data) {\n let lblen = this.lastBytes.length;\n let nblen = Math.min(data.length, lblen);\n\n // shift existing bytes\n for (let i = 0, len = lblen - nblen; i < len; i++) {\n this.lastBytes[i] = this.lastBytes[i + nblen];\n }\n\n // add new bytes\n for (let i = 1; i <= nblen; i++) {\n this.lastBytes[lblen - i] = data[data.length - i];\n }\n }\n\n /**\n * Finds and removes message headers from the remaining body. We want to keep\n * headers separated until final delivery to be able to modify these\n *\n * @param {Buffer} data Next chunk of data\n * @return {Boolean} Returns true if headers are already found or false otherwise\n */\n checkHeaders(data) {\n if (this.headersParsed) {\n return true;\n }\n\n let lblen = this.lastBytes.length;\n let headerPos = 0;\n this.curLinePos = 0;\n for (let i = 0, len = this.lastBytes.length + data.length; i < len; i++) {\n let chr;\n if (i < lblen) {\n chr = this.lastBytes[i];\n } else {\n chr = data[i - lblen];\n }\n if (chr === 0x0a && i) {\n let pr1 = i - 1 < lblen ? this.lastBytes[i - 1] : data[i - 1 - lblen];\n let pr2 = i > 1 ? (i - 2 < lblen ? this.lastBytes[i - 2] : data[i - 2 - lblen]) : false;\n if (pr1 === 0x0a) {\n this.headersParsed = true;\n headerPos = i - lblen + 1;\n this.headerBytes += headerPos;\n break;\n } else if (pr1 === 0x0d && pr2 === 0x0a) {\n this.headersParsed = true;\n headerPos = i - lblen + 1;\n this.headerBytes += headerPos;\n break;\n }\n }\n }\n\n if (this.headersParsed) {\n this.headerChunks.push(data.slice(0, headerPos));\n this.rawHeaders = Buffer.concat(this.headerChunks, this.headerBytes);\n this.headerChunks = null;\n this.emit('headers', this.parseHeaders());\n if (data.length - 1 > headerPos) {\n let chunk = data.slice(headerPos);\n this.bodySize += chunk.length;\n // this would be the first chunk of data sent downstream\n setImmediate(() => this.push(chunk));\n }\n return false;\n } else {\n this.headerBytes += data.length;\n this.headerChunks.push(data);\n }\n\n // store last 4 bytes to catch header break\n this.updateLastBytes(data);\n\n return false;\n }\n\n _transform(chunk, encoding, callback) {\n if (!chunk || !chunk.length) {\n return callback();\n }\n\n if (typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n let headersFound;\n\n try {\n headersFound = this.checkHeaders(chunk);\n } catch (E) {\n return callback(E);\n }\n\n if (headersFound) {\n this.bodySize += chunk.length;\n this.push(chunk);\n }\n\n setImmediate(callback);\n }\n\n _flush(callback) {\n if (this.headerChunks) {\n let chunk = Buffer.concat(this.headerChunks, this.headerBytes);\n this.bodySize += chunk.length;\n this.push(chunk);\n this.headerChunks = null;\n }\n callback();\n }\n\n parseHeaders() {\n let lines = (this.rawHeaders || '').toString().split(/\\r?\\n/);\n for (let i = lines.length - 1; i > 0; i--) {\n if (/^\\s/.test(lines[i])) {\n lines[i - 1] += '\\n' + lines[i];\n lines.splice(i, 1);\n }\n }\n return lines\n .filter(line => line.trim())\n .map(line => ({\n key: line.substr(0, line.indexOf(':')).trim().toLowerCase(),\n line\n }));\n }\n}\n\nmodule.exports = MessageParser;\n","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:map', {\n kind: 'mapping',\n construct: function (data) { return data !== null ? data : {}; }\n});\n","var common = require('./common');\nvar fs = require('fs');\n\ncommon.register('sed', _sed, {\n globStart: 3, // don't glob-expand regexes\n canReceivePipe: true,\n cmdOptions: {\n 'i': 'inplace',\n },\n});\n\n//@\n//@ ### sed([options,] search_regex, replacement, file [, file ...])\n//@ ### sed([options,] search_regex, replacement, file_array)\n//@\n//@ Available options:\n//@\n//@ + `-i`: Replace contents of `file` in-place. _Note that no backups will be created!_\n//@\n//@ Examples:\n//@\n//@ ```javascript\n//@ sed('-i', 'PROGRAM_VERSION', 'v0.1.3', 'source.js');\n//@ sed(/.*DELETE_THIS_LINE.*\\n/, '', 'source.js');\n//@ ```\n//@\n//@ Reads an input string from `file`s, and performs a JavaScript `replace()` on the input\n//@ using the given `search_regex` and `replacement` string or function. Returns the new string after replacement.\n//@\n//@ Note:\n//@\n//@ Like unix `sed`, ShellJS `sed` supports capture groups. Capture groups are specified\n//@ using the `$n` syntax:\n//@\n//@ ```javascript\n//@ sed(/(\\w+)\\s(\\w+)/, '$2, $1', 'file.txt');\n//@ ```\nfunction _sed(options, regex, replacement, files) {\n // Check if this is coming from a pipe\n var pipe = common.readFromPipe();\n\n if (typeof replacement !== 'string' && typeof replacement !== 'function') {\n if (typeof replacement === 'number') {\n replacement = replacement.toString(); // fallback\n } else {\n common.error('invalid replacement string');\n }\n }\n\n // Convert all search strings to RegExp\n if (typeof regex === 'string') {\n regex = RegExp(regex);\n }\n\n if (!files && !pipe) {\n common.error('no files given');\n }\n\n files = [].slice.call(arguments, 3);\n\n if (pipe) {\n files.unshift('-');\n }\n\n var sed = [];\n files.forEach(function (file) {\n if (!fs.existsSync(file) && file !== '-') {\n common.error('no such file or directory: ' + file, 2, { continue: true });\n return;\n }\n\n var contents = file === '-' ? pipe : fs.readFileSync(file, 'utf8');\n var lines = contents.split('\\n');\n var result = lines.map(function (line) {\n return line.replace(regex, replacement);\n }).join('\\n');\n\n sed.push(result);\n\n if (options.inplace) {\n fs.writeFileSync(file, result, 'utf8');\n }\n });\n\n return sed.join('\\n');\n}\nmodule.exports = _sed;\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.prettierPlugins=t():(e.prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.postcss=t())}(new Function(\"return this\")(),(function(){return(()=>{var e={2426:e=>{\"use strict\";e.exports=({onlyFirst:e=!1}={})=>{const t=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(t,e?void 0:\"g\")}},3584:e=>{\"use strict\";const detectNewline=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");const t=e.match(/(?:\\r?\\n)/g)||[];if(0===t.length)return;const r=t.filter((e=>\"\\r\\n\"===e)).length;return r>t.length-r?\"\\r\\n\":\"\\n\"};e.exports=detectNewline,e.exports.graceful=e=>\"string\"==typeof e&&detectNewline(e)||\"\\n\"},541:e=>{\"use strict\";e.exports=function(){return/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g}},2240:e=>{\"use strict\";e.exports=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")}},8051:e=>{e.exports=function(e,t){return(t=\"number\"==typeof t?t:1/0)?function _flatten(e,r){return e.reduce((function(e,n){return Array.isArray(n)&&r{e.exports=function(e,t){for(var r=-1,n=[];-1!==(r=e.indexOf(t,r+1));)n.push(r);return n}},9234:(e,t,r)=>{\"use strict\";function _os(){const e=r(9623);return _os=function(){return e},e}function _detectNewline(){const e=(t=r(3584))&&t.__esModule?t:{default:t};var t;return _detectNewline=function(){return e},e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.extract=function(e){const t=e.match(i);return t?t[0].trimLeft():\"\"},t.strip=function(e){const t=e.match(i);return t&&t[0]?e.substring(t[0].length):e},t.parse=function(e){return parseWithComments(e).pragmas},t.parseWithComments=parseWithComments,t.print=function({comments:e=\"\",pragmas:t={}}){const r=(0,_detectNewline().default)(e)||_os().EOL,n=\" *\",o=Object.keys(t),i=o.map((e=>printKeyValues(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>\" * \"+e+r)).join(\"\");if(!e){if(0===o.length)return\"\";if(1===o.length&&!Array.isArray(t[o[0]])){const e=t[o[0]];return\"\".concat(\"/**\",\" \").concat(printKeyValues(o[0],e)[0]).concat(\" */\")}}const s=e.split(r).map((e=>\"\".concat(n,\" \").concat(e))).join(r)+r;return\"/**\"+r+(e?s:\"\")+(e&&o.length?n+r:\"\")+i+\" */\"};const n=/\\*\\/$/,o=/^\\/\\*\\*/,i=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,s=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,u=/^(\\r?\\n)+/,a=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,c=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,l=/(\\r?\\n|^) *\\* ?/g,p=[];function parseWithComments(e){const t=(0,_detectNewline().default)(e)||_os().EOL;e=e.replace(o,\"\").replace(n,\"\").replace(l,\"$1\");let r=\"\";for(;r!==e;)r=e,e=e.replace(a,\"\".concat(t,\"$1 $2\").concat(t));e=e.replace(u,\"\").trimRight();const i=Object.create(null),f=e.replace(c,\"\").replace(u,\"\").trimRight();let h;for(;h=c.exec(e);){const e=h[2].replace(s,\"\");\"string\"==typeof i[h[1]]||Array.isArray(i[h[1]])?i[h[1]]=p.concat(i[h[1]],e):i[h[1]]=e}return{comments:f,pragmas:i}}function printKeyValues(e,t){return p.concat(t).map((t=>\"@\".concat(e,\" \").concat(t).trim()))}},5311:(e,t,r)=>{\"use strict\";function noop(){for(var e=[],t=0;tl,outdent:()=>c}),e=r.hmd(e);var n=Object.prototype.hasOwnProperty,has=function(e,t){return n.call(e,t)};function extend(e,t){for(var r in t)has(t,r)&&(e[r]=t[r]);return e}var o=/^[ \\t]*(?:\\r\\n|\\r|\\n)/,i=/(?:\\r\\n|\\r|\\n)[ \\t]*$/,s=/^(?:[\\r\\n]|$)/,u=/(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/,a=/^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;function _outdentArray(e,t,r){var n=0,s=e[0].match(u);s&&(n=s[1].length);var a=new RegExp(\"(\\\\r\\\\n|\\\\r|\\\\n).{0,\"+n+\"}\",\"g\");t&&(e=e.slice(1));var c=r.newline,l=r.trimLeadingNewline,p=r.trimTrailingNewline,f=\"string\"==typeof c,h=e.length;return e.map((function(e,t){return e=e.replace(a,\"$1\"),0===t&&l&&(e=e.replace(o,\"\")),t===h-1&&p&&(e=e.replace(i,\"\")),f&&(e=e.replace(/\\r\\n|\\n|\\r/g,(function(e){return c}))),e}))}function concatStringsAndValues(e,t){for(var r=\"\",n=0,o=e.length;n{\"use strict\";function assertPath(e){if(\"string\"!=typeof e)throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(e))}function normalizeStringPosix(e,t){for(var r,n=\"\",o=0,i=-1,s=0,u=0;u<=e.length;++u){if(u2){var a=n.lastIndexOf(\"/\");if(a!==n.length-1){-1===a?(n=\"\",o=0):o=(n=n.slice(0,a)).length-1-n.lastIndexOf(\"/\"),i=u,s=0;continue}}else if(2===n.length||1===n.length){n=\"\",o=0,i=u,s=0;continue}t&&(n.length>0?n+=\"/..\":n=\"..\",o=2)}else n.length>0?n+=\"/\"+e.slice(i+1,u):n=e.slice(i+1,u),o=u-i-1;i=u,s=0}else 46===r&&-1!==s?++s:s=-1}return n}var t={resolve:function(){for(var e,t=\"\",r=!1,n=arguments.length-1;n>=-1&&!r;n--){var o;n>=0?o=arguments[n]:(void 0===e&&(e=process.cwd()),o=e),assertPath(o),0!==o.length&&(t=o+\"/\"+t,r=47===o.charCodeAt(0))}return t=normalizeStringPosix(t,!r),r?t.length>0?\"/\"+t:\"/\":t.length>0?t:\".\"},normalize:function(e){if(assertPath(e),0===e.length)return\".\";var t=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=normalizeStringPosix(e,!t)).length||t||(e=\".\"),e.length>0&&r&&(e+=\"/\"),t?\"/\"+e:e},isAbsolute:function(e){return assertPath(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return\".\";for(var e,r=0;r0&&(void 0===e?e=n:e+=\"/\"+n)}return void 0===e?\".\":t.normalize(e)},relative:function(e,r){if(assertPath(e),assertPath(r),e===r)return\"\";if((e=t.resolve(e))===(r=t.resolve(r)))return\"\";for(var n=1;na){if(47===r.charCodeAt(s+l))return r.slice(s+l+1);if(0===l)return r.slice(s+l)}else i>a&&(47===e.charCodeAt(n+l)?c=l:0===l&&(c=0));break}var p=e.charCodeAt(n+l);if(p!==r.charCodeAt(s+l))break;47===p&&(c=l)}var f=\"\";for(l=n+c+1;l<=o;++l)l!==o&&47!==e.charCodeAt(l)||(0===f.length?f+=\"..\":f+=\"/..\");return f.length>0?f+r.slice(s+c):(s+=c,47===r.charCodeAt(s)&&++s,r.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(assertPath(e),0===e.length)return\".\";for(var t=e.charCodeAt(0),r=47===t,n=-1,o=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!o){n=i;break}}else o=!1;return-1===n?r?\"/\":\".\":r&&1===n?\"//\":e.slice(0,n)},basename:function(e,t){if(void 0!==t&&\"string\"!=typeof t)throw new TypeError('\"ext\" argument must be a string');assertPath(e);var r,n=0,o=-1,i=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return\"\";var s=t.length-1,u=-1;for(r=e.length-1;r>=0;--r){var a=e.charCodeAt(r);if(47===a){if(!i){n=r+1;break}}else-1===u&&(i=!1,u=r+1),s>=0&&(a===t.charCodeAt(s)?-1==--s&&(o=r):(s=-1,o=u))}return n===o?o=u:-1===o&&(o=e.length),e.slice(n,o)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!i){n=r+1;break}}else-1===o&&(i=!1,o=r+1);return-1===o?\"\":e.slice(n,o)},extname:function(e){assertPath(e);for(var t=-1,r=0,n=-1,o=!0,i=0,s=e.length-1;s>=0;--s){var u=e.charCodeAt(s);if(47!==u)-1===n&&(o=!1,n=s+1),46===u?-1===t?t=s:1!==i&&(i=1):-1!==t&&(i=-1);else if(!o){r=s+1;break}}return-1===t||-1===n||0===i||1===i&&t===n-1&&t===r+1?\"\":e.slice(t,n)},format:function(e){if(null===e||\"object\"!=typeof e)throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||\"\")+(t.ext||\"\");return r?r===t.root?r+n:r+e+n:n}(\"/\",e)},parse:function(e){assertPath(e);var t={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(0===e.length)return t;var r,n=e.charCodeAt(0),o=47===n;o?(t.root=\"/\",r=1):r=0;for(var i=-1,s=0,u=-1,a=!0,c=e.length-1,l=0;c>=r;--c)if(47!==(n=e.charCodeAt(c)))-1===u&&(a=!1,u=c+1),46===n?-1===i?i=c:1!==l&&(l=1):-1!==i&&(l=-1);else if(!a){s=c+1;break}return-1===i||-1===u||0===l||1===l&&i===u-1&&i===s+1?-1!==u&&(t.base=t.name=0===s&&o?e.slice(1,u):e.slice(s,u)):(0===s&&o?(t.name=e.slice(1,i),t.base=e.slice(1,u)):(t.name=e.slice(s,i),t.base=e.slice(s,u)),t.ext=e.slice(i,u)),s>0?t.dir=e.slice(0,s-1):o&&(t.dir=\"/\"),t},sep:\"/\",delimiter:\":\",win32:null,posix:null};t.posix=t,e.exports=t},8681:(e,t,r)=>{const n=r(3102),o=r(7116),{isInlineComment:i}=r(1101),{interpolation:s}=r(3295),{isMixinToken:u}=r(5953),a=r(1330),c=r(5255),l=/(!\\s*important)$/i;e.exports=class extends o{constructor(...e){super(...e),this.lastNode=null}atrule(e){s.bind(this)(e)||(super.atrule(e),a(this.lastNode),c(this.lastNode))}decl(...e){super.decl(...e);/extend\\(.+\\)/i.test(this.lastNode.value)&&(this.lastNode.extend=!0)}each(e){e[0][1]=\" \".concat(e[0][1]);const t=e.findIndex((e=>\"(\"===e[0])),r=e.reverse().find((e=>\")\"===e[0])),n=e.reverse().indexOf(r),o=e.splice(t,n).map((e=>e[1])).join(\"\");for(const t of e.reverse())this.tokenizer.back(t);this.atrule(this.tokenizer.nextToken()),this.lastNode.function=!0,this.lastNode.params=o}init(e,t,r){super.init(e,t,r),this.lastNode=e}inlineComment(e){const t=new n,r=e[1].slice(2);if(this.init(t,e[2],e[3]),t.source.end={line:e[4],column:e[5]},t.inline=!0,t.raws.begin=\"//\",/^\\s*$/.test(r))t.text=\"\",t.raws.left=r,t.raws.right=\"\";else{const e=r.match(/^(\\s*)([^]*[^\\s])(\\s*)$/);[,t.raws.left,t.text,t.raws.right]=e}}mixin(e){const[t]=e,r=t[1].slice(0,1),n=e.findIndex((e=>\"brackets\"===e[0])),o=e.findIndex((e=>\"(\"===e[0]));let i=\"\";if((n<0||n>3)&&o>0){const t=e.reduce(((e,t,r)=>\")\"===t[0]?r:e)),r=e.slice(o,t+o).map((e=>e[1])).join(\"\"),[n]=e.slice(o),i=[n[2],n[3]],[s]=e.slice(t,t+1),u=[s[2],s[3]],a=[\"brackets\",r].concat(i,u),c=e.slice(0,o),l=e.slice(t+1);(e=c).push(a),e=e.concat(l)}const s=[];for(const t of e)if((\"!\"===t[1]||s.length)&&s.push(t),\"important\"===t[1])break;if(s.length){const[t]=s,r=e.indexOf(t),n=s[s.length-1],o=[t[2],t[3]],i=[n[4],n[5]],u=[\"word\",s.map((e=>e[1])).join(\"\")].concat(o,i);e.splice(r,s.length,u)}const u=e.findIndex((e=>l.test(e[1])));u>0&&([,i]=e[u],e.splice(u,1));for(const t of e.reverse())this.tokenizer.back(t);this.atrule(this.tokenizer.nextToken()),this.lastNode.mixin=!0,this.lastNode.raws.identifier=r,i&&(this.lastNode.important=!0,this.lastNode.raws.important=i)}other(e){i.bind(this)(e)||super.other(e)}rule(e){const t=e[e.length-1],r=e[e.length-2];if(\"at-word\"===r[0]&&\"{\"===t[0]&&(this.tokenizer.back(t),s.bind(this)(r))){const t=this.tokenizer.nextToken();e=e.slice(0,e.length-2).concat([t]);for(const t of e.reverse())this.tokenizer.back(t);return}super.rule(e);/:extend\\(.+\\)/i.test(this.lastNode.selector)&&(this.lastNode.extend=!0)}unknownWord(e){const[t]=e;\"each\"!==e[0][1]||\"(\"!==e[1][0]?u(t)?this.mixin(e):super.unknownWord(e):this.each(e)}}},3406:(e,t,r)=>{const n=r(5701);e.exports=class extends n{atrule(e,t){if(!e.mixin&&!e.variable&&!e.function)return void super.atrule(e,t);const r=e.function?\"\":e.raws.identifier||\"@\";let n=\"\".concat(r).concat(e.name),o=e.params?this.rawValue(e,\"params\"):\"\";const i=e.raws.important||\"\";if(e.variable&&(o=e.value),void 0!==e.raws.afterName?n+=e.raws.afterName:o&&(n+=\" \"),e.nodes)this.block(e,n+o+i);else{const r=(e.raws.between||\"\")+i+(t?\";\":\"\");this.builder(n+o+r,e)}}comment(e){if(e.inline){const t=this.raw(e,\"left\",\"commentLeft\"),r=this.raw(e,\"right\",\"commentRight\");this.builder(\"//\".concat(t).concat(e.text).concat(r),e)}else super.comment(e)}}},7371:(e,t,r)=>{const n=r(2993),o=r(8681),i=r(3406);e.exports={parse(e,t){const r=new n(e,t),i=new o(r);return i.parse(),i.root},stringify(e,t){new i(t).stringify(e)},nodeToString(t){let r=\"\";return e.exports.stringify(t,(e=>{r+=e})),r}}},1330:(e,t,r)=>{const n=r(1157),o=/^url\\((.+)\\)/;e.exports=e=>{const{name:t,params:r=\"\"}=e;if(\"import\"===t&&r.length){e.import=!0;const t=n({css:r});for(e.filename=r.replace(o,\"$1\");!t.endOfFile();){const[n,o]=t.nextToken();if(\"word\"===n&&\"url\"===o)return;if(\"brackets\"===n){e.options=o,e.filename=r.replace(o,\"\").trim();break}}}}},1101:(e,t,r)=>{const n=r(1157),o=r(2993);e.exports={isInlineComment(t){if(\"word\"===t[0]&&\"//\"===t[1].slice(0,2)){const e=t,r=[];let i;for(;t;){if(/\\r?\\n/.test(t[1])){if(/['\"].*\\r?\\n/.test(t[1])){r.push(t[1].substring(0,t[1].indexOf(\"\\n\")));let e=t[1].substring(t[1].indexOf(\"\\n\"));e+=this.input.css.valueOf().substring(this.tokenizer.position()),this.input=new o(e),this.tokenizer=n(this.input)}else this.tokenizer.back(t);break}r.push(t[1]),i=t,t=this.tokenizer.nextToken({ignoreUnclosed:!0})}const s=[\"comment\",r.join(\"\"),e[2],e[3],i[2],i[3]];return this.inlineComment(s),!0}if(\"/\"===t[1]){const r=this.tokenizer.nextToken({ignoreUnclosed:!0});if(\"comment\"===r[0]&&/^\\/\\*/.test(r[1]))return r[0]=\"word\",r[1]=r[1].slice(1),t[1]=\"//\",this.tokenizer.back(r),e.exports.isInlineComment.bind(this)(t)}return!1}}},3295:e=>{e.exports={interpolation(e){let t=e;const r=[e],n=[\"word\",\"{\",\"}\"];if(e=this.tokenizer.nextToken(),t[1].length>1||\"{\"!==e[0])return this.tokenizer.back(e),!1;for(;e&&n.includes(e[0]);)r.push(e),e=this.tokenizer.nextToken();const o=r.map((e=>e[1]));[t]=r;const i=r.pop(),s=[t[2],t[3]],u=[i[4]||i[2],i[5]||i[3]],a=[\"word\",o.join(\"\")].concat(s,u);return this.tokenizer.back(e),this.tokenizer.back(a),!0}}},5953:e=>{const t=/^#[0-9a-fA-F]{6}$|^#[0-9a-fA-F]{3}$/,r=/\\.[0-9]/;e.exports={isMixinToken:e=>{const[,n]=e,[o]=n;return(\".\"===o||\"#\"===o)&&!1===t.test(n)&&!1===r.test(n)}}},5255:e=>{const t=/:$/,r=/^:(\\s+)?/;e.exports=e=>{const{name:n,params:o=\"\"}=e;if(\":\"===e.name.slice(-1)){if(t.test(n)){const[r]=n.match(t);e.name=n.replace(r,\"\"),e.raws.afterName=r+(e.raws.afterName||\"\"),e.variable=!0,e.value=e.params}if(r.test(o)){const[t]=o.match(r);e.value=o.replace(t,\"\"),e.raws.afterName=(e.raws.afterName||\"\")+t,e.variable=!0}}}},8322:(e,t,r)=>{\"use strict\";t.Z=function(e){return new i.default({nodes:(0,s.parseMediaList)(e),type:\"media-query-list\",value:e.trim()})};var n,o=r(9066),i=(n=o)&&n.__esModule?n:{default:n},s=r(7625)},9066:(e,t,r)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n,o=r(7680),i=(n=o)&&n.__esModule?n:{default:n};function Container(e){var t=this;this.constructor(e),this.nodes=e.nodes,void 0===this.after&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:\"\"),void 0===this.before&&(this.before=this.nodes.length>0?this.nodes[0].before:\"\"),void 0===this.sourceIndex&&(this.sourceIndex=this.before.length),this.nodes.forEach((function(e){e.parent=t}))}Container.prototype=Object.create(i.default.prototype),Container.constructor=i.default,Container.prototype.walk=function(e,t){for(var r=\"string\"==typeof e||e instanceof RegExp,n=r?t:e,o=\"string\"==typeof e?new RegExp(e):e,i=0;i{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){this.after=e.after,this.before=e.before,this.type=e.type,this.value=e.value,this.sourceIndex=e.sourceIndex}},7625:(e,t,r)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.parseMediaFeature=parseMediaFeature,t.parseMediaQuery=parseMediaQuery,t.parseMediaList=function(e){var t=[],r=0,i=0,s=/^(\\s*)url\\s*\\(/.exec(e);if(null!==s){for(var u=s[0].length,a=1;a>0;){var c=e[u];\"(\"===c&&a++,\")\"===c&&a--,u++}t.unshift(new n.default({type:\"url\",value:e.substring(0,u).trim(),sourceIndex:s[1].length,before:s[1],after:/^(\\s*)/.exec(e.substring(u))[1]})),r=u}for(var l=r;l0&&(r[l-1].after=u.before),void 0===u.type){if(l>0){if(\"media-feature-expression\"===r[l-1].type){u.type=\"keyword\";continue}if(\"not\"===r[l-1].value||\"only\"===r[l-1].value){u.type=\"media-type\";continue}if(\"and\"===r[l-1].value){u.type=\"media-feature-expression\";continue}\"media-type\"===r[l-1].type&&(r[l+1]?u.type=\"media-feature-expression\"===r[l+1].type?\"keyword\":\"media-feature-expression\":u.type=\"media-feature-expression\")}if(0===l){if(!r[l+1]){u.type=\"media-type\";continue}if(r[l+1]&&(\"media-feature-expression\"===r[l+1].type||\"keyword\"===r[l+1].type)){u.type=\"media-type\";continue}if(r[l+2]){if(\"media-feature-expression\"===r[l+2].type){u.type=\"media-type\",r[l+1].type=\"keyword\";continue}if(\"keyword\"===r[l+2].type){u.type=\"keyword\",r[l+1].type=\"media-type\";continue}}if(r[l+3]&&\"media-feature-expression\"===r[l+3].type){u.type=\"keyword\",r[l+1].type=\"media-type\",r[l+2].type=\"keyword\";continue}}}return r}},5822:(e,t,r)=>{\"use strict\";var n=function(e){var t,r;function NestedDeclaration(t){var r;return(r=e.call(this,t)||this).type=\"decl\",r.isNested=!0,r.nodes||(r.nodes=[]),r}return r=e,(t=NestedDeclaration).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,NestedDeclaration}(r(1204));e.exports=n},1945:(e,t,r)=>{\"use strict\";var n=r(2993),o=r(1713);e.exports=function(e,t){var r=new n(e,t),i=new o(r);return i.parse(),i.root}},1713:(e,t,r)=>{\"use strict\";var n=r(3102),o=r(7116),i=r(5822),s=r(6256),u=function(e){var t,r;function ScssParser(){return e.apply(this,arguments)||this}r=e,(t=ScssParser).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var o=ScssParser.prototype;return o.createTokenizer=function(){this.tokenizer=s(this.input)},o.rule=function(t){var r=!1,n=0,o=\"\",s=t,u=Array.isArray(s),a=0;for(s=u?s:s[Symbol.iterator]();;){var c;if(u){if(a>=s.length)break;c=s[a++]}else{if((a=s.next()).done)break;c=a.value}var l=c;if(r)\"comment\"!==l[0]&&\"{\"!==l[0]&&(o+=l[1]);else{if(\"space\"===l[0]&&-1!==l[1].indexOf(\"\\n\"))break;\"(\"===l[0]?n+=1:\")\"===l[0]?n-=1:0===n&&\":\"===l[0]&&(r=!0)}}if(!r||\"\"===o.trim()||/^[a-zA-Z-:#]/.test(o))e.prototype.rule.call(this,t);else{t.pop();var p=new i;this.init(p);var f,h=t[t.length-1];for(h[4]?p.source.end={line:h[4],column:h[5]}:p.source.end={line:h[2],column:h[3]};\"word\"!==t[0][0];)p.raws.before+=t.shift()[1];for(p.source.start={line:t[0][2],column:t[0][3]},p.prop=\"\";t.length;){var d=t[0][0];if(\":\"===d||\"space\"===d||\"comment\"===d)break;p.prop+=t.shift()[1]}for(p.raws.between=\"\";t.length;){if(\":\"===(f=t.shift())[0]){p.raws.between+=f[1];break}p.raws.between+=f[1]}\"_\"!==p.prop[0]&&\"*\"!==p.prop[0]||(p.raws.before+=p.prop[0],p.prop=p.prop.slice(1)),p.raws.between+=this.spacesAndCommentsFromStart(t),this.precheckMissedSemicolon(t);for(var D=t.length-1;D>0;D--){if(\"!important\"===(f=t[D])[1]){p.important=!0;var g=this.stringFrom(t,D);\" !important\"!==(g=this.spacesFromEnd(t)+g)&&(p.raws.important=g);break}if(\"important\"===f[1]){for(var m=t.slice(0),y=\"\",v=D;v>0;v--){var C=m[v][0];if(0===y.trim().indexOf(\"!\")&&\"space\"!==C)break;y=m.pop()[1]+y}0===y.trim().indexOf(\"!\")&&(p.important=!0,p.raws.important=y,t=m)}if(\"space\"!==f[0]&&\"comment\"!==f[0])break}this.raw(p,\"value\",t),-1!==p.value.indexOf(\":\")&&this.checkMissedSemicolon(t),this.current=p}},o.comment=function(t){if(\"inline\"===t[6]){var r=new n;this.init(r,t[2],t[3]),r.raws.inline=!0,r.source.end={line:t[4],column:t[5]};var o=t[1].slice(2);if(/^\\s*$/.test(o))r.text=\"\",r.raws.left=o,r.raws.right=\"\";else{var i=o.match(/^(\\s*)([^]*[^\\s])(\\s*)$/),s=i[2].replace(/(\\*\\/|\\/\\*)/g,\"*//*\");r.text=s,r.raws.left=i[1],r.raws.right=i[3],r.raws.text=i[2]}}else e.prototype.comment.call(this,t)},o.raw=function(t,r,n){if(e.prototype.raw.call(this,t,r,n),t.raws[r]){var o=t.raws[r].raw;t.raws[r].raw=n.reduce((function(e,t){return\"comment\"===t[0]&&\"inline\"===t[6]?e+\"/*\"+t[1].slice(2).replace(/(\\*\\/|\\/\\*)/g,\"*//*\")+\"*/\":e+t[1]}),\"\"),o!==t.raws[r].raw&&(t.raws[r].scss=o)}},ScssParser}(o);e.exports=u},9235:(e,t,r)=>{\"use strict\";var n=function(e){var t,r;function ScssStringifier(){return e.apply(this,arguments)||this}r=e,(t=ScssStringifier).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var n=ScssStringifier.prototype;return n.comment=function(e){var t=this.raw(e,\"left\",\"commentLeft\"),r=this.raw(e,\"right\",\"commentRight\");if(e.raws.inline){var n=e.raws.text||e.text;this.builder(\"//\"+t+n+r,e)}else this.builder(\"/*\"+t+e.text+r+\"*/\",e)},n.decl=function(t,r){if(t.isNested){var n,o=this.raw(t,\"between\",\"colon\"),i=t.prop+o+this.rawValue(t,\"value\");t.important&&(i+=t.raws.important||\" !important\"),this.builder(i+\"{\",t,\"start\"),t.nodes&&t.nodes.length?(this.body(t),n=this.raw(t,\"after\")):n=this.raw(t,\"after\",\"emptyBody\"),n&&this.builder(n),this.builder(\"}\",t,\"end\")}else e.prototype.decl.call(this,t,r)},n.rawValue=function(e,t){var r=e[t],n=e.raws[t];return n&&n.value===r?n.scss?n.scss:n.raw:r},ScssStringifier}(r(5701));e.exports=n},4933:(e,t,r)=>{\"use strict\";var n=r(9235);e.exports=function(e,t){new n(t).stringify(e)}},304:(e,t,r)=>{\"use strict\";var n=r(4933),o=r(1945);e.exports={parse:o,stringify:n}},6256:e=>{\"use strict\";var t=\"'\".charCodeAt(0),r='\"'.charCodeAt(0),n=\"\\\\\".charCodeAt(0),o=\"/\".charCodeAt(0),i=\"\\n\".charCodeAt(0),s=\" \".charCodeAt(0),u=\"\\f\".charCodeAt(0),a=\"\\t\".charCodeAt(0),c=\"\\r\".charCodeAt(0),l=\"[\".charCodeAt(0),p=\"]\".charCodeAt(0),f=\"(\".charCodeAt(0),h=\")\".charCodeAt(0),d=\"{\".charCodeAt(0),D=\"}\".charCodeAt(0),g=\";\".charCodeAt(0),m=\"*\".charCodeAt(0),y=\":\".charCodeAt(0),v=\"@\".charCodeAt(0),C=\",\".charCodeAt(0),w=\"#\".charCodeAt(0),b=/[ \\n\\t\\r\\f{}()'\"\\\\;/[\\]#]/g,E=/[ \\n\\t\\r\\f(){}:;@!'\"\\\\\\][#]|\\/(?=\\*)/g,_=/.[\\\\/(\"'\\n]/,k=/[a-f0-9]/i,S=/[\\r\\f\\n]/g;e.exports=function(e,A){void 0===A&&(A={});var F,x,O,N,T,I,R,M,P,L,B,j,q,G,U=e.css.valueOf(),W=A.ignoreErrors,$=U.length,z=-1,V=1,H=0,X=[],J=[];function unclosed(t){throw e.error(\"Unclosed \"+t,V,H-z)}function interpolation(){for(var e=1,o=!1,i=!1;e>0;)x+=1,U.length<=x&&unclosed(\"interpolation\"),F=U.charCodeAt(x),j=U.charCodeAt(x+1),o?i||F!==o?F===n?i=!L:i&&(i=!1):(o=!1,i=!1):F===t||F===r?o=F:F===D?e-=1:F===w&&j===d&&(e+=1)}return{back:function(e){J.push(e)},nextToken:function(){if(J.length)return J.pop();if(!(H>=$)){switch(((F=U.charCodeAt(H))===i||F===u||F===c&&U.charCodeAt(H+1)!==i)&&(z=H,V+=1),F){case i:case s:case a:case c:case u:x=H;do{x+=1,(F=U.charCodeAt(x))===i&&(z=x,V+=1)}while(F===s||F===i||F===a||F===c||F===u);q=[\"space\",U.slice(H,x)],H=x-1;break;case l:q=[\"[\",\"[\",V,H-z];break;case p:q=[\"]\",\"]\",V,H-z];break;case d:q=[\"{\",\"{\",V,H-z];break;case D:q=[\"}\",\"}\",V,H-z];break;case C:q=[\"word\",\",\",V,H-z,V,H-z+1];break;case y:q=[\":\",\":\",V,H-z];break;case g:q=[\";\",\";\",V,H-z];break;case f:if(B=X.length?X.pop()[1]:\"\",j=U.charCodeAt(H+1),\"url\"===B&&j!==t&&j!==r){for(G=1,L=!1,x=H+1;x<=U.length-1;){if((j=U.charCodeAt(x))===n)L=!L;else if(j===f)G+=1;else if(j===h&&0===(G-=1))break;x+=1}I=U.slice(H,x+1),N=I.split(\"\\n\"),(T=N.length-1)>0?(M=V+T,P=x-N[T].length):(M=V,P=z),q=[\"brackets\",I,V,H-z,M,x-P],z=P,V=M,H=x}else x=U.indexOf(\")\",H+1),I=U.slice(H,x+1),-1===x||_.test(I)?q=[\"(\",\"(\",V,H-z]:(q=[\"brackets\",I,V,H-z,V,x-z],H=x);break;case h:q=[\")\",\")\",V,H-z];break;case t:case r:for(O=F,x=H,L=!1;x<$&&(++x===$&&unclosed(\"string\"),F=U.charCodeAt(x),j=U.charCodeAt(x+1),L||F!==O);)F===n?L=!L:L?L=!1:F===w&&j===d&&interpolation();I=U.slice(H,x+1),N=I.split(\"\\n\"),(T=N.length-1)>0?(M=V+T,P=x-N[T].length):(M=V,P=z),q=[\"string\",U.slice(H,x+1),V,H-z,M,x-P],z=P,V=M,H=x;break;case v:b.lastIndex=H+1,b.test(U),x=0===b.lastIndex?U.length-1:b.lastIndex-2,q=[\"at-word\",U.slice(H,x+1),V,H-z,V,x-z],H=x;break;case n:for(x=H,R=!0;U.charCodeAt(x+1)===n;)x+=1,R=!R;if(F=U.charCodeAt(x+1),R&&F!==o&&F!==s&&F!==i&&F!==a&&F!==c&&F!==u&&(x+=1,k.test(U.charAt(x)))){for(;k.test(U.charAt(x+1));)x+=1;U.charCodeAt(x+1)===s&&(x+=1)}q=[\"word\",U.slice(H,x+1),V,H-z,V,x-z],H=x;break;default:j=U.charCodeAt(H+1),F===w&&j===d?(x=H,interpolation(),I=U.slice(H,x+1),N=I.split(\"\\n\"),(T=N.length-1)>0?(M=V+T,P=x-N[T].length):(M=V,P=z),q=[\"word\",I,V,H-z,M,x-P],z=P,V=M,H=x):F===o&&j===m?(0===(x=U.indexOf(\"*/\",H+2)+1)&&(W?x=U.length:unclosed(\"comment\")),I=U.slice(H,x+1),N=I.split(\"\\n\"),(T=N.length-1)>0?(M=V+T,P=x-N[T].length):(M=V,P=z),q=[\"comment\",I,V,H-z,M,x-P],z=P,V=M,H=x):F===o&&j===o?(S.lastIndex=H+1,S.test(U),x=0===S.lastIndex?U.length-1:S.lastIndex-2,I=U.slice(H,x+1),q=[\"comment\",I,V,H-z,V,x-z,\"inline\"],H=x):(E.lastIndex=H+1,E.test(U),x=0===E.lastIndex?U.length-1:E.lastIndex-2,q=[\"word\",U.slice(H,x+1),V,H-z,V,x-z],X.push(q),H=x)}return H++,q}},endOfFile:function(){return 0===J.length&&H>=$}}}},1264:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n=_interopRequireDefault(r(2566)),o=_interopRequireDefault(r(616)),i=_interopRequireDefault(r(7835)),s=_interopRequireDefault(r(478)),u=_interopRequireDefault(r(4907)),a=_interopRequireDefault(r(8420)),c=_interopRequireDefault(r(7523)),l=_interopRequireDefault(r(4316)),p=_interopRequireDefault(r(6909)),f=_interopRequireDefault(r(6279)),h=_interopRequireDefault(r(439)),d=_interopRequireDefault(r(9956)),D=_interopRequireDefault(r(70)),g=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(8790));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var parser=function(e){return new n.default(e)};parser.attribute=function(e){return new o.default(e)},parser.className=function(e){return new i.default(e)},parser.combinator=function(e){return new s.default(e)},parser.comment=function(e){return new u.default(e)},parser.id=function(e){return new a.default(e)},parser.nesting=function(e){return new c.default(e)},parser.pseudo=function(e){return new l.default(e)},parser.root=function(e){return new p.default(e)},parser.selector=function(e){return new f.default(e)},parser.string=function(e){return new h.default(e)},parser.tag=function(e){return new d.default(e)},parser.universal=function(e){return new D.default(e)},Object.keys(g).forEach((function(e){\"__esModule\"!==e&&(parser[e]=g[e])})),t.default=parser,e.exports=t.default},5269:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n=function(){function defineProperties(e,t){for(var r=0;r1?(\"\"===o[0]&&(o[0]=!0),i.attribute=this.parseValue(o[2]),i.namespace=this.parseNamespace(o[0])):i.attribute=this.parseValue(n[0]),t=new D.default(i),n[2]){var s=n[2].split(/(\\s+i\\s*?)$/),u=s[0].trim();t.value=this.lossy?u:s[0],s[1]&&(t.insensitive=!0,this.lossy||(t.raws.insensitive=s[1])),t.quoted=\"'\"===u[0]||'\"'===u[0],t.raws.unquoted=t.quoted?u.slice(1,-1):u}this.newNode(t),this.position++},Parser.prototype.combinator=function(){if(\"|\"===this.currToken[1])return this.namespace();for(var e=new m.default({value:\"\",source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]});this.position1&&e.nextToken&&\"(\"===e.nextToken[0]&&e.error(\"Misplaced parenthesis.\")}))}else this.error('Unexpected \"'+this.currToken[0]+'\" found.')},Parser.prototype.space=function(){var e=this.currToken;0===this.position||\",\"===this.prevToken[0]||\"(\"===this.prevToken[0]?(this.spaces=this.parseSpace(e[1]),this.position++):this.position===this.tokens.length-1||\",\"===this.nextToken[0]||\")\"===this.nextToken[0]?(this.current.last.spaces.after=this.parseSpace(e[1]),this.position++):this.combinator()},Parser.prototype.string=function(){var e=this.currToken;this.newNode(new h.default({value:this.currToken[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++},Parser.prototype.universal=function(e){var t=this.nextToken;if(t&&\"|\"===t[1])return this.position++,this.namespace();this.newNode(new g.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),e),this.position++},Parser.prototype.splitWord=function(e,t){for(var r=this,n=this.nextToken,u=this.currToken[1];n&&\"word\"===n[0];){this.position++;var a=this.currToken[1];if(u+=a,a.lastIndexOf(\"\\\\\")===a.length-1){var l=this.nextToken;l&&\"space\"===l[0]&&(u+=this.parseSpace(l[1],\" \"),this.position++)}n=this.nextToken}var h=(0,i.default)(u,\".\"),d=(0,i.default)(u,\"#\"),D=(0,i.default)(u,\"#{\");D.length&&(d=d.filter((function(e){return!~D.indexOf(e)})));var g=(0,v.default)((0,s.default)((0,o.default)([[0],h,d])));g.forEach((function(n,o){var i=g[o+1]||u.length,s=u.slice(n,i);if(0===o&&t)return t.call(r,s,g.length);var a=void 0;a=~h.indexOf(n)?new c.default({value:s.slice(1),source:{start:{line:r.currToken[2],column:r.currToken[3]+n},end:{line:r.currToken[4],column:r.currToken[3]+(i-1)}},sourceIndex:r.currToken[6]+g[o]}):~d.indexOf(n)?new p.default({value:s.slice(1),source:{start:{line:r.currToken[2],column:r.currToken[3]+n},end:{line:r.currToken[4],column:r.currToken[3]+(i-1)}},sourceIndex:r.currToken[6]+g[o]}):new f.default({value:s,source:{start:{line:r.currToken[2],column:r.currToken[3]+n},end:{line:r.currToken[4],column:r.currToken[3]+(i-1)}},sourceIndex:r.currToken[6]+g[o]}),r.newNode(a,e)})),this.position++},Parser.prototype.word=function(e){var t=this.nextToken;return t&&\"|\"===t[1]?(this.position++,this.namespace()):this.splitWord(e)},Parser.prototype.loop=function(){for(;this.position{\"use strict\";t.__esModule=!0;var n,o=function(){function defineProperties(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=new s.default({css:e,error:function(e){throw new Error(e)},options:t});return this.res=r,this.func(r),this},o(Processor,[{key:\"result\",get:function(){return String(this.res)}}]),Processor}();t.default=u,e.exports=t.default},616:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(4379),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Attribute(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Attribute);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.ATTRIBUTE,r.raws={},r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Attribute,e),Attribute.prototype.toString=function(){var e=[this.spaces.before,\"[\",this.ns,this.attribute];return this.operator&&e.push(this.operator),this.value&&e.push(this.value),this.raws.insensitive?e.push(this.raws.insensitive):this.insensitive&&e.push(\" i\"),e.push(\"]\"),e.concat(this.spaces.after).join(\"\")},Attribute}(i.default);t.default=u,e.exports=t.default},7835:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(4379),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function ClassName(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,ClassName);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.CLASS,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(ClassName,e),ClassName.prototype.toString=function(){return[this.spaces.before,this.ns,String(\".\"+this.value),this.spaces.after].join(\"\")},ClassName}(i.default);t.default=u,e.exports=t.default},478:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(8871),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Combinator(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Combinator);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.COMBINATOR,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Combinator,e),Combinator}(i.default);t.default=u,e.exports=t.default},4907:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(8871),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Comment(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Comment);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.COMMENT,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Comment,e),Comment}(i.default);t.default=u,e.exports=t.default},7144:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=function(){function defineProperties(e,t){for(var r=0;r=e&&(this.indexes[r]=t-1);return this},Container.prototype.removeAll=function(){var e=this.nodes,t=Array.isArray(e),r=0;for(e=t?e:e[Symbol.iterator]();;){var n;if(t){if(r>=e.length)break;n=e[r++]}else{if((r=e.next()).done)break;n=r.value}n.parent=void 0}return this.nodes=[],this},Container.prototype.empty=function(){return this.removeAll()},Container.prototype.insertAfter=function(e,t){var r=this.index(e);this.nodes.splice(r+1,0,t);var n=void 0;for(var o in this.indexes)r<=(n=this.indexes[o])&&(this.indexes[o]=n+this.nodes.length);return this},Container.prototype.insertBefore=function(e,t){var r=this.index(e);this.nodes.splice(r,0,t);var n=void 0;for(var o in this.indexes)r<=(n=this.indexes[o])&&(this.indexes[o]=n+this.nodes.length);return this},Container.prototype.each=function(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var t=this.lastEach;if(this.indexes[t]=0,this.length){for(var r=void 0,n=void 0;this.indexes[t]{\"use strict\";t.__esModule=!0;var n,o=r(4379),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function ID(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,ID);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.ID,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(ID,e),ID.prototype.toString=function(){return[this.spaces.before,this.ns,String(\"#\"+this.value),this.spaces.after].join(\"\")},ID}(i.default);t.default=u,e.exports=t.default},4379:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=function(){function defineProperties(e,t){for(var r=0;r{\"use strict\";t.__esModule=!0;var n,o=r(8871),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Nesting(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Nesting);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.NESTING,r.value=\"&\",r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Nesting,e),Nesting}(i.default);t.default=u,e.exports=t.default},8871:(e,t)=>{\"use strict\";t.__esModule=!0;var r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e};function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var n=function cloneNode(e,t){if(\"object\"!==(void 0===e?\"undefined\":r(e)))return e;var n=new e.constructor;for(var o in e)if(e.hasOwnProperty(o)){var i=e[o],s=void 0===i?\"undefined\":r(i);\"parent\"===o&&\"object\"===s?t&&(n[o]=t):n[o]=i instanceof Array?i.map((function(e){return cloneNode(e,n)})):cloneNode(i,n)}return n},o=function(){function _class(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in _classCallCheck(this,_class),e)this[t]=e[t];var r=e.spaces,n=(r=void 0===r?{}:r).before,o=void 0===n?\"\":n,i=r.after,s=void 0===i?\"\":i;this.spaces={before:o,after:s}}return _class.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},_class.prototype.replaceWith=function(){if(this.parent){for(var e in arguments)this.parent.insertBefore(this,arguments[e]);this.remove()}return this},_class.prototype.next=function(){return this.parent.at(this.parent.index(this)+1)},_class.prototype.prev=function(){return this.parent.at(this.parent.index(this)-1)},_class.prototype.clone=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=n(this);for(var r in e)t[r]=e[r];return t},_class.prototype.toString=function(){return[this.spaces.before,String(this.value),this.spaces.after].join(\"\")},_class}();t.default=o,e.exports=t.default},4316:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(7144),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Pseudo(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Pseudo);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.PSEUDO,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Pseudo,e),Pseudo.prototype.toString=function(){var e=this.length?\"(\"+this.map(String).join(\",\")+\")\":\"\";return[this.spaces.before,String(this.value),e,this.spaces.after].join(\"\")},Pseudo}(i.default);t.default=u,e.exports=t.default},6909:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(7144),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Root(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Root);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.ROOT,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Root,e),Root.prototype.toString=function(){var e=this.reduce((function(e,t){var r=String(t);return r?e+r+\",\":\"\"}),\"\").slice(0,-1);return this.trailingComma?e+\",\":e},Root}(i.default);t.default=u,e.exports=t.default},6279:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(7144),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Selector(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Selector);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.SELECTOR,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Selector,e),Selector}(i.default);t.default=u,e.exports=t.default},439:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(8871),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function String(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,String);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.STRING,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(String,e),String}(i.default);t.default=u,e.exports=t.default},9956:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(4379),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Tag(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Tag);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.TAG,r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Tag,e),Tag}(i.default);t.default=u,e.exports=t.default},8790:(e,t)=>{\"use strict\";t.__esModule=!0;t.TAG=\"tag\",t.STRING=\"string\",t.SELECTOR=\"selector\",t.ROOT=\"root\",t.PSEUDO=\"pseudo\",t.NESTING=\"nesting\",t.ID=\"id\",t.COMMENT=\"comment\",t.COMBINATOR=\"combinator\",t.CLASS=\"class\",t.ATTRIBUTE=\"attribute\",t.UNIVERSAL=\"universal\"},70:(e,t,r)=>{\"use strict\";t.__esModule=!0;var n,o=r(4379),i=(n=o)&&n.__esModule?n:{default:n},s=r(8790);var u=function(e){function Universal(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,Universal);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,e.call(this,t));return r.type=s.UNIVERSAL,r.value=\"*\",r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Universal,e),Universal}(i.default);t.default=u,e.exports=t.default},9788:(e,t)=>{\"use strict\";t.__esModule=!0,t.default=function(e){return e.sort((function(e,t){return e-t}))},e.exports=t.default},6554:(e,t)=>{\"use strict\";t.__esModule=!0,t.default=function(e){var t=[],o=e.css.valueOf(),i=void 0,s=void 0,u=void 0,a=void 0,c=void 0,l=void 0,p=void 0,f=void 0,h=void 0,d=void 0,D=void 0,g=o.length,m=-1,y=1,v=0,unclosed=function(t,r){if(!e.safe)throw e.error(\"Unclosed \"+t,y,v-m,v);s=(o+=r).length-1};for(;v0?(f=y+c,h=s-a[c].length):(f=y,h=m),t.push([\"comment\",l,y,v-m,f,s-h,v]),m=h,y=f,v=s):(n.lastIndex=v+1,n.test(o),s=0===n.lastIndex?o.length-1:n.lastIndex-2,t.push([\"word\",o.slice(v,s+1),y,v-m,y,s-m,v]),v=s)}v++}return t};var r=/[ \\n\\t\\r\\{\\(\\)'\"\\\\;/]/g,n=/[ \\n\\t\\r\\(\\)\\*:;@!&'\"\\+\\|~>,\\[\\]\\\\]|\\/(?=\\*)/g;e.exports=t.default},5294:(e,t,r)=>{\"use strict\";const n=r(4196);class AtWord extends n{constructor(e){super(e),this.type=\"atword\"}toString(){this.quoted&&this.raws.quote;return[this.raws.before,\"@\",String.prototype.toString.call(this.value),this.raws.after].join(\"\")}}n.registerWalker(AtWord),e.exports=AtWord},8709:(e,t,r)=>{\"use strict\";const n=r(4196),o=r(1466);class Colon extends o{constructor(e){super(e),this.type=\"colon\"}}n.registerWalker(Colon),e.exports=Colon},3627:(e,t,r)=>{\"use strict\";const n=r(4196),o=r(1466);class Comma extends o{constructor(e){super(e),this.type=\"comma\"}}n.registerWalker(Comma),e.exports=Comma},4384:(e,t,r)=>{\"use strict\";const n=r(4196),o=r(1466);class Comment extends o{constructor(e){super(e),this.type=\"comment\",this.inline=Object(e).inline||!1}toString(){return[this.raws.before,this.inline?\"//\":\"/*\",String(this.value),this.inline?\"\":\"*/\",this.raws.after].join(\"\")}}n.registerWalker(Comment),e.exports=Comment},4196:(e,t,r)=>{\"use strict\";const n=r(1466);class Container extends n{constructor(e){super(e),this.nodes||(this.nodes=[])}push(e){return e.parent=this,this.nodes.push(e),this}each(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t,r,n=this.lastEach;if(this.indexes[n]=0,this.nodes){for(;this.indexes[n]{let n=e(t,r);return!1!==n&&t.walk&&(n=t.walk(e)),n}))}walkType(e,t){if(!e||!t)throw new Error(\"Parameters {type} and {callback} are required.\");const r=\"function\"==typeof e;return this.walk(((n,o)=>{if(r&&n instanceof e||!r&&n.type===e)return t.call(this,n,o)}))}append(e){return e.parent=this,this.nodes.push(e),this}prepend(e){return e.parent=this,this.nodes.unshift(e),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}insertAfter(e,t){let r,n=this.index(e);this.nodes.splice(n+1,0,t);for(let e in this.indexes)r=this.indexes[e],n<=r&&(this.indexes[e]=r+this.nodes.length);return this}insertBefore(e,t){let r,n=this.index(e);this.nodes.splice(n,0,t);for(let e in this.indexes)r=this.indexes[e],n<=r&&(this.indexes[e]=r+this.nodes.length);return this}removeChild(e){let t;e=this.index(e),this.nodes[e].parent=void 0,this.nodes.splice(e,1);for(let r in this.indexes)t=this.indexes[r],t>=e&&(this.indexes[r]=t-1);return this}removeAll(){for(let e of this.nodes)e.parent=void 0;return this.nodes=[],this}every(e){return this.nodes.every(e)}some(e){return this.nodes.some(e)}index(e){return\"number\"==typeof e?e:this.nodes.indexOf(e)}get first(){if(this.nodes)return this.nodes[0]}get last(){if(this.nodes)return this.nodes[this.nodes.length-1]}toString(){let e=this.nodes.map(String).join(\"\");return this.value&&(e=this.value+e),this.raws.before&&(e=this.raws.before+e),this.raws.after&&(e+=this.raws.after),e}}Container.registerWalker=e=>{let t=\"walk\"+e.name;t.lastIndexOf(\"s\")!==t.length-1&&(t+=\"s\"),Container.prototype[t]||(Container.prototype[t]=function(t){return this.walkType(e,t)})},e.exports=Container},9645:e=>{\"use strict\";class ParserError extends Error{constructor(e){super(e),this.name=this.constructor.name,this.message=e||\"An error ocurred while parsing.\",\"function\"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}}e.exports=ParserError},5128:e=>{\"use strict\";class TokenizeError extends Error{constructor(e){super(e),this.name=this.constructor.name,this.message=e||\"An error ocurred while tokzenizing.\",\"function\"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}}e.exports=TokenizeError},4320:(e,t,r)=>{\"use strict\";const n=r(4196);class FunctionNode extends n{constructor(e){super(e),this.type=\"func\",this.unbalanced=-1}}n.registerWalker(FunctionNode),e.exports=FunctionNode},9962:(e,t,r)=>{\"use strict\";const n=r(3784),o=r(5294),i=r(8709),s=r(3627),u=r(4384),a=r(4320),c=r(3074),l=r(7214),p=r(1238),f=r(9672),h=r(1369),d=r(2057),D=r(6593);let parser=function(e,t){return new n(e,t)};parser.atword=function(e){return new o(e)},parser.colon=function(e){return new i(Object.assign({value:\":\"},e))},parser.comma=function(e){return new s(Object.assign({value:\",\"},e))},parser.comment=function(e){return new u(e)},parser.func=function(e){return new a(e)},parser.number=function(e){return new c(e)},parser.operator=function(e){return new l(e)},parser.paren=function(e){return new p(Object.assign({value:\"(\"},e))},parser.string=function(e){return new f(Object.assign({quote:\"'\"},e))},parser.value=function(e){return new d(e)},parser.word=function(e){return new D(e)},parser.unicodeRange=function(e){return new h(e)},e.exports=parser},1466:e=>{\"use strict\";let cloneNode=function(e,t){let r=new e.constructor;for(let n in e){if(!e.hasOwnProperty(n))continue;let o=e[n],i=typeof o;\"parent\"===n&&\"object\"===i?t&&(r[n]=t):\"source\"===n?r[n]=o:o instanceof Array?r[n]=o.map((e=>cloneNode(e,r))):\"before\"!==n&&\"after\"!==n&&\"between\"!==n&&\"semicolon\"!==n&&(\"object\"===i&&null!==o&&(o=cloneNode(o)),r[n]=o)}return r};e.exports=class{constructor(e){e=e||{},this.raws={before:\"\",after:\"\"};for(let t in e)this[t]=e[t]}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(){return[this.raws.before,String(this.value),this.raws.after].join(\"\")}clone(e){e=e||{};let t=cloneNode(this);for(let r in e)t[r]=e[r];return t}cloneBefore(e){e=e||{};let t=this.clone(e);return this.parent.insertBefore(this,t),t}cloneAfter(e){e=e||{};let t=this.clone(e);return this.parent.insertAfter(this,t),t}replaceWith(){let e=Array.prototype.slice.call(arguments);if(this.parent){for(let t of e)this.parent.insertBefore(this,t);this.remove()}return this}moveTo(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.append(this),this}moveBefore(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertBefore(e,this),this}moveAfter(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertAfter(e,this),this}next(){let e=this.parent.index(this);return this.parent.nodes[e+1]}prev(){let e=this.parent.index(this);return this.parent.nodes[e-1]}toJSON(){let e={};for(let t in this){if(!this.hasOwnProperty(t))continue;if(\"parent\"===t)continue;let r=this[t];r instanceof Array?e[t]=r.map((e=>\"object\"==typeof e&&e.toJSON?e.toJSON():e)):\"object\"==typeof r&&r.toJSON?e[t]=r.toJSON():e[t]=r}return e}root(){let e=this;for(;e.parent;)e=e.parent;return e}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}positionInside(e){let t=this.toString(),r=this.source.start.column,n=this.source.start.line;for(let o=0;o{\"use strict\";const n=r(4196),o=r(1466);class NumberNode extends o{constructor(e){super(e),this.type=\"number\",this.unit=Object(e).unit||\"\"}toString(){return[this.raws.before,String(this.value),this.unit,this.raws.after].join(\"\")}}n.registerWalker(NumberNode),e.exports=NumberNode},7214:(e,t,r)=>{\"use strict\";const n=r(4196),o=r(1466);class Operator extends o{constructor(e){super(e),this.type=\"operator\"}}n.registerWalker(Operator),e.exports=Operator},1238:(e,t,r)=>{\"use strict\";const n=r(4196),o=r(1466);class Parenthesis extends o{constructor(e){super(e),this.type=\"paren\",this.parenType=\"\"}}n.registerWalker(Parenthesis),e.exports=Parenthesis},3784:(e,t,r)=>{\"use strict\";const n=r(4343),o=r(2057),i=r(5294),s=r(8709),u=r(3627),a=r(4384),c=r(4320),l=r(3074),p=r(7214),f=r(1238),h=r(9672),d=r(6593),D=r(1369),g=r(2481),m=r(8051),y=r(7886),v=r(3210),C=r(9645);e.exports=class{constructor(e,t){this.cache=[],this.input=e,this.options=Object.assign({},{loose:!1},t),this.position=0,this.unbalanced=0,this.root=new n;let r=new o;this.root.append(r),this.current=r,this.tokens=g(e,this.options)}parse(){return this.loop()}colon(){let e=this.currToken;this.newNode(new s({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}comma(){let e=this.currToken;this.newNode(new u({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}comment(){let e,t=!1,r=this.currToken[1].replace(/\\/\\*|\\*\\//g,\"\");this.options.loose&&r.startsWith(\"//\")&&(r=r.substring(2),t=!0),e=new a({value:r,inline:t,source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]}),this.newNode(e),this.position++}error(e,t){throw new C(e+\" at line: \".concat(t[2],\", column \").concat(t[3]))}loop(){for(;this.position0&&(\"func\"===this.current.type&&\"calc\"===this.current.value?(\"space\"!==this.prevToken[0]&&\"(\"!==this.prevToken[0]||\"space\"!==this.nextToken[0]&&\"word\"!==this.nextToken[0]||\"word\"===this.nextToken[0]&&\"operator\"!==this.current.last.type&&\"(\"!==this.current.last.value)&&this.error(\"Syntax Error\",this.currToken):\"space\"!==this.nextToken[0]&&\"operator\"!==this.nextToken[0]&&\"operator\"!==this.prevToken[0]||this.error(\"Syntax Error\",this.currToken)),this.options.loose){if((!this.current.nodes.length||this.current.last&&\"operator\"===this.current.last.type)&&\"word\"===this.nextToken[0])return this.word()}else if(\"word\"===this.nextToken[0])return this.word();return e=new p({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),this.position++,this.newNode(e)}parseTokens(){switch(this.currToken[0]){case\"space\":this.space();break;case\"colon\":this.colon();break;case\"comma\":this.comma();break;case\"comment\":this.comment();break;case\"(\":this.parenOpen();break;case\")\":this.parenClose();break;case\"atword\":case\"word\":this.word();break;case\"operator\":this.operator();break;case\"string\":this.string();break;case\"unicoderange\":this.unicodeRange();break;default:this.word()}}parenOpen(){let e,t=1,r=this.position+1,n=this.currToken;for(;r=this.tokens.length-1&&!this.current.unbalanced||(this.current.unbalanced--,this.current.unbalanced<0&&this.error(\"Expected opening parenthesis\",e),!this.current.unbalanced&&this.cache.length&&(this.current=this.cache.pop()))}space(){let e=this.currToken;this.position===this.tokens.length-1||\",\"===this.nextToken[0]||\")\"===this.nextToken[0]?(this.current.last.raws.after+=e[1],this.position++):(this.spaces=e[1],this.position++)}unicodeRange(){let e=this.currToken;this.newNode(new D({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}splitWord(){let e,t,r=this.nextToken,n=this.currToken[1],o=/^[\\+\\-]?((\\d+(\\.\\d*)?)|(\\.\\d+))([eE][\\+\\-]?\\d+)?/;if(!/^(?!\\#([a-z0-9]+))[\\#\\{\\}]/gi.test(n))for(;r&&\"word\"===r[0];){this.position++;let e=this.currToken[1];n+=e,r=this.nextToken}var s;e=y(n,\"@\"),s=v(m([[0],e])),t=s.sort(((e,t)=>e-t)),t.forEach(((s,u)=>{let a,p=t[u+1]||n.length,f=n.slice(s,p);if(~e.indexOf(s))a=new i({value:f.slice(1),source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(p-1)}},sourceIndex:this.currToken[6]+t[u]});else if(o.test(this.currToken[1])){let e=f.replace(o,\"\");a=new l({value:f.replace(e,\"\"),source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(p-1)}},sourceIndex:this.currToken[6]+t[u],unit:e})}else a=new(r&&\"(\"===r[0]?c:d)({value:f,source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(p-1)}},sourceIndex:this.currToken[6]+t[u]}),\"Word\"===a.constructor.name?(a.isHex=/^#(.+)/.test(f),a.isColor=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(f)):this.cache.push(this.current);this.newNode(a)})),this.position++}string(){let e,t=this.currToken,r=this.currToken[1],n=/^(\\\"|\\')/,o=n.test(r),i=\"\";o&&(i=r.match(n)[0],r=r.slice(1,r.length-1)),e=new h({value:r,source:{start:{line:t[2],column:t[3]},end:{line:t[4],column:t[5]}},sourceIndex:t[6],quoted:o}),e.raws.quote=i,this.newNode(e),this.position++}word(){return this.splitWord()}newNode(e){return this.spaces&&(e.raws.before+=this.spaces,this.spaces=\"\"),this.current.append(e)}get currToken(){return this.tokens[this.position]}get nextToken(){return this.tokens[this.position+1]}get prevToken(){return this.tokens[this.position-1]}}},4343:(e,t,r)=>{\"use strict\";const n=r(4196);e.exports=class extends n{constructor(e){super(e),this.type=\"root\"}}},9672:(e,t,r)=>{\"use strict\";const n=r(4196),o=r(1466);class StringNode extends o{constructor(e){super(e),this.type=\"string\"}toString(){let e=this.quoted?this.raws.quote:\"\";return[this.raws.before,e,this.value+\"\",e,this.raws.after].join(\"\")}}n.registerWalker(StringNode),e.exports=StringNode},2481:(e,t,r)=>{\"use strict\";const n=\"{\".charCodeAt(0),o=\"}\".charCodeAt(0),i=\"(\".charCodeAt(0),s=\")\".charCodeAt(0),u=\"'\".charCodeAt(0),a='\"'.charCodeAt(0),c=\"\\\\\".charCodeAt(0),l=\"/\".charCodeAt(0),p=\".\".charCodeAt(0),f=\",\".charCodeAt(0),h=\":\".charCodeAt(0),d=\"*\".charCodeAt(0),D=\"-\".charCodeAt(0),g=\"+\".charCodeAt(0),m=\"#\".charCodeAt(0),y=\"\\n\".charCodeAt(0),v=\" \".charCodeAt(0),C=\"\\f\".charCodeAt(0),w=\"\\t\".charCodeAt(0),b=\"\\r\".charCodeAt(0),E=\"@\".charCodeAt(0),_=\"e\".charCodeAt(0),k=\"E\".charCodeAt(0),S=\"0\".charCodeAt(0),A=\"9\".charCodeAt(0),F=\"u\".charCodeAt(0),x=\"U\".charCodeAt(0),O=/[ \\n\\t\\r\\{\\(\\)'\"\\\\;,/]/g,N=/[ \\n\\t\\r\\(\\)\\{\\}\\*:;@!&'\"\\+\\|~>,\\[\\]\\\\]|\\/(?=\\*)/g,T=/[ \\n\\t\\r\\(\\)\\{\\}\\*:;@!&'\"\\-\\+\\|~>,\\[\\]\\\\]|\\//g,I=/^[a-z0-9]/i,R=/^[a-f0-9?\\-]/i,M=r(1758),P=r(5128);e.exports=function(e,t){t=t||{};let r,L,B,j,q,G,U,W,$,z,V,H=[],X=e.valueOf(),J=X.length,K=-1,Q=1,Y=0,Z=0,ee=null;function unclosed(e){let t=M.format(\"Unclosed %s at line: %d, column: %d, token: %d\",e,Q,Y-K,Y);throw new P(t)}for(;Y0&&\"word\"===H[H.length-1][0]&&\"url\"===H[H.length-1][1],H.push([\"(\",\"(\",Q,Y-K,Q,L-K,Y]);break;case s:Z--,ee=ee&&Z>0,H.push([\")\",\")\",Q,Y-K,Q,L-K,Y]);break;case u:case a:B=r===u?\"'\":'\"',L=Y;do{for($=!1,L=X.indexOf(B,L+1),-1===L&&unclosed(\"quote\"),z=L;X.charCodeAt(z-1)===c;)z-=1,$=!$}while($);H.push([\"string\",X.slice(Y,L+1),Q,Y-K,Q,L-K,Y]),Y=L;break;case E:O.lastIndex=Y+1,O.test(X),L=0===O.lastIndex?X.length-1:O.lastIndex-2,H.push([\"atword\",X.slice(Y,L+1),Q,Y-K,Q,L-K,Y]),Y=L;break;case c:L=Y,r=X.charCodeAt(L+1),H.push([\"word\",X.slice(Y,L+1),Q,Y-K,Q,L-K,Y]),Y=L;break;case g:case D:case d:L=Y+1,V=X.slice(Y+1,L+1);X.slice(Y-1,Y);if(r===D&&V.charCodeAt(0)===D){L++,H.push([\"word\",X.slice(Y,L),Q,Y-K,Q,L-K,Y]),Y=L-1;break}H.push([\"operator\",X.slice(Y,L),Q,Y-K,Q,L-K,Y]),Y=L-1;break;default:if(r===l&&(X.charCodeAt(Y+1)===d||t.loose&&!ee&&X.charCodeAt(Y+1)===l)){if(X.charCodeAt(Y+1)===d)L=X.indexOf(\"*/\",Y+2)+1,0===L&&unclosed(\"comment\");else{const e=X.indexOf(\"\\n\",Y+2);L=-1!==e?e-1:J}G=X.slice(Y,L+1),j=G.split(\"\\n\"),q=j.length-1,q>0?(U=Q+q,W=L-j[q].length):(U=Q,W=K),H.push([\"comment\",G,Q,Y-K,U,L-W,Y]),K=W,Q=U,Y=L}else if(r!==m||I.test(X.slice(Y+1,Y+2)))if(r!==F&&r!==x||X.charCodeAt(Y+1)!==g)if(r===l)L=Y+1,H.push([\"operator\",X.slice(Y,L),Q,Y-K,Q,L-K,Y]),Y=L-1;else{let e=N;if(r>=S&&r<=A&&(e=T),e.lastIndex=Y+1,e.test(X),L=0===e.lastIndex?X.length-1:e.lastIndex-2,e===T||r===p){let e=X.charCodeAt(L),t=X.charCodeAt(L+1),r=X.charCodeAt(L+2);(e===_||e===k)&&(t===D||t===g)&&r>=S&&r<=A&&(T.lastIndex=L+2,T.test(X),L=0===T.lastIndex?X.length-1:T.lastIndex-2)}H.push([\"word\",X.slice(Y,L+1),Q,Y-K,Q,L-K,Y]),Y=L}else{L=Y+2;do{L+=1,r=X.charCodeAt(L)}while(L{\"use strict\";const n=r(4196),o=r(1466);class UnicodeRange extends o{constructor(e){super(e),this.type=\"unicode-range\"}}n.registerWalker(UnicodeRange),e.exports=UnicodeRange},2057:(e,t,r)=>{\"use strict\";const n=r(4196);e.exports=class extends n{constructor(e){super(e),this.type=\"value\",this.unbalanced=0}}},6593:(e,t,r)=>{\"use strict\";const n=r(4196),o=r(1466);class Word extends o{constructor(e){super(e),this.type=\"word\"}}n.registerWalker(Word),e.exports=Word},8940:(e,t,r)=>{\"use strict\";var n;t.__esModule=!0,t.default=void 0;var o=function(e){var t,r;function AtRule(t){var r;return(r=e.call(this,t)||this).type=\"atrule\",r}r=e,(t=AtRule).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var n=AtRule.prototype;return n.append=function(){var t;this.nodes||(this.nodes=[]);for(var r=arguments.length,n=new Array(r),o=0;o{\"use strict\";var n;t.__esModule=!0,t.default=void 0;var o=function(e){var t,r;function Comment(t){var r;return(r=e.call(this,t)||this).type=\"comment\",r}return r=e,(t=Comment).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,Comment}(((n=r(1714))&&n.__esModule?n:{default:n}).default);t.default=o,e.exports=t.default},1204:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(6417)),o=_interopRequireDefault(r(3102));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _createForOfIteratorHelperLoose(e,t){var r;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if(\"string\"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(e,t)}(e))||t&&e&&\"number\"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}return(r=e[Symbol.iterator]()).next.bind(r)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e&&(this.indexes[r]=t-1);return this},c.removeAll=function(){for(var e,t=_createForOfIteratorHelperLoose(this.nodes);!(e=t()).done;){e.value.parent=void 0}return this.nodes=[],this},c.replaceValues=function(e,t,r){return r||(r=t,t={}),this.walkDecls((function(n){t.props&&-1===t.props.indexOf(n.prop)||t.fast&&-1===n.value.indexOf(t.fast)||(n.value=n.value.replace(e,r))})),this},c.every=function(e){return this.nodes.every(e)},c.some=function(e){return this.nodes.some(e)},c.index=function(e){return\"number\"==typeof e?e:this.nodes.indexOf(e)},c.normalize=function(e,t){var i=this;if(\"string\"==typeof e)e=cleanSource(r(7057)(e).nodes);else if(Array.isArray(e))for(var s,u=_createForOfIteratorHelperLoose(e=e.slice(0));!(s=u()).done;){var a=s.value;a.parent&&a.parent.removeChild(a,\"ignore\")}else if(\"root\"===e.type)for(var c,l=_createForOfIteratorHelperLoose(e=e.nodes.slice(0));!(c=l()).done;){var p=c.value;p.parent&&p.parent.removeChild(p,\"ignore\")}else if(e.type)e=[e];else if(e.prop){if(void 0===e.value)throw new Error(\"Value field is missed in node creation\");\"string\"!=typeof e.value&&(e.value=String(e.value)),e=[new n.default(e)]}else if(e.selector){e=[new(r(6621))(e)]}else if(e.name){e=[new(r(8940))(e)]}else{if(!e.text)throw new Error(\"Unknown node type in node creation\");e=[new o.default(e)]}return e.map((function(e){return e.parent&&e.parent.removeChild(e),void 0===e.raws.before&&t&&void 0!==t.raws.before&&(e.raws.before=t.raws.before.replace(/[^\\s]/g,\"\")),e.parent=i,e}))},s=Container,(u=[{key:\"first\",get:function(){if(this.nodes)return this.nodes[0]}},{key:\"last\",get:function(){if(this.nodes)return this.nodes[this.nodes.length-1]}}])&&_defineProperties(s.prototype,u),a&&_defineProperties(s,a),Container}(_interopRequireDefault(r(1714)).default);t.default=i,e.exports=t.default},1667:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(825)),o=_interopRequireDefault(r(7027)),i=_interopRequireDefault(r(5208));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _wrapNativeSuper(e){var t=\"function\"==typeof Map?new Map:void 0;return(_wrapNativeSuper=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf(\"[native code]\")))return e;var r;if(\"function\"!=typeof e)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,Wrapper)}function Wrapper(){return _construct(e,arguments,_getPrototypeOf(this).constructor)}return Wrapper.prototype=Object.create(e.prototype,{constructor:{value:Wrapper,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(Wrapper,e)})(e)}function _construct(e,t,r){return(_construct=_isNativeReflectConstruct()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&_setPrototypeOf(o,r.prototype),o}).apply(null,arguments)}function _isNativeReflectConstruct(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var s=function(e){var t,r;function CssSyntaxError(t,r,n,o,i,s){var u;return(u=e.call(this,t)||this).name=\"CssSyntaxError\",u.reason=t,i&&(u.file=i),o&&(u.source=o),s&&(u.plugin=s),void 0!==r&&void 0!==n&&(u.line=r,u.column=n),u.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(u),CssSyntaxError),u}r=e,(t=CssSyntaxError).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r;var s=CssSyntaxError.prototype;return s.setMessage=function(){this.message=this.plugin?this.plugin+\": \":\"\",this.message+=this.file?this.file:\"\",void 0!==this.line&&(this.message+=\":\"+this.line+\":\"+this.column),this.message+=\": \"+this.reason},s.showSourceCode=function(e){var t=this;if(!this.source)return\"\";var r=this.source;i.default&&(void 0===e&&(e=n.default.stdout),e&&(r=(0,i.default)(r)));var s=r.split(/\\r?\\n/),u=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),c=String(a).length;function mark(t){return e&&o.default.red?o.default.red.bold(t):t}function aside(t){return e&&o.default.gray?o.default.gray(t):t}return s.slice(u,a).map((function(e,r){var n=u+1+r,o=\" \"+(\" \"+n).slice(-c)+\" | \";if(n===t.line){var i=aside(o.replace(/\\d/g,\" \"))+e.slice(0,t.column-1).replace(/[^\\t]/g,\" \");return mark(\">\")+aside(o)+e+\"\\n \"+i+mark(\"^\")}return\" \"+aside(o)+e})).join(\"\\n\")},s.toString=function(){var e=this.showSourceCode();return e&&(e=\"\\n\\n\"+e+\"\\n\"),this.name+\": \"+this.message+e},CssSyntaxError}(_wrapNativeSuper(Error));t.default=s,e.exports=t.default},6417:(e,t,r)=>{\"use strict\";var n;t.__esModule=!0,t.default=void 0;var o=function(e){var t,r;function Declaration(t){var r;return(r=e.call(this,t)||this).type=\"decl\",r}return r=e,(t=Declaration).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,Declaration}(((n=r(1714))&&n.__esModule?n:{default:n}).default);t.default=o,e.exports=t.default},2993:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(6391)),o=_interopRequireDefault(r(1667)),i=_interopRequireDefault(r(3353));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperties(e,t){for(var r=0;r\"),this.map&&(this.map.file=this.from)}var e,t,r,u=Input.prototype;return u.error=function(e,t,r,n){var i;void 0===n&&(n={});var s=this.origin(t,r);return(i=s?new o.default(e,s.line,s.column,s.source,s.file,n.plugin):new o.default(e,t,r,this.css,this.file,n.plugin)).input={line:t,column:r,source:this.css},this.file&&(i.input.file=this.file),i},u.origin=function(e,t){if(!this.map)return!1;var r=this.map.consumer(),n=r.originalPositionFor({line:e,column:t});if(!n.source)return!1;var o={file:this.mapResolve(n.source),line:n.line,column:n.column},i=r.sourceContentFor(n.source);return i&&(o.source=i),o},u.mapResolve=function(e){return/^\\w+:\\/\\//.test(e)?e:n.default.resolve(this.map.consumer().sourceRoot||\".\",e)},e=Input,(t=[{key:\"from\",get:function(){return this.file||this.id}}])&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Input}();t.default=u,e.exports=t.default},6992:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(8991)),o=_interopRequireDefault(r(6157)),i=(_interopRequireDefault(r(6574)),_interopRequireDefault(r(6865))),s=_interopRequireDefault(r(7057));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _createForOfIteratorHelperLoose(e,t){var r;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if(\"string\"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(e,t)}(e))||t&&e&&\"number\"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}return(r=e[Symbol.iterator]()).next.bind(r)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=this.processor.plugins.length)return this.processed=!0,e();try{var n=this.processor.plugins[this.plugin],o=this.run(n);this.plugin+=1,isPromise(o)?o.then((function(){r.asyncTick(e,t)})).catch((function(e){r.handleError(e,n),r.processed=!0,t(e)})):this.asyncTick(e,t)}catch(e){this.processed=!0,t(e)}},u.async=function(){var e=this;return this.processed?new Promise((function(t,r){e.error?r(e.error):t(e.stringify())})):(this.processing||(this.processing=new Promise((function(t,r){if(e.error)return r(e.error);e.plugin=0,e.asyncTick(t,r)})).then((function(){return e.processed=!0,e.stringify()}))),this.processing)},u.sync=function(){if(this.processed)return this.result;if(this.processed=!0,this.processing)throw new Error(\"Use process(css).then(cb) to work with async plugins\");if(this.error)throw this.error;for(var e,t=_createForOfIteratorHelperLoose(this.result.processor.plugins);!(e=t()).done;){var r=e.value;if(isPromise(this.run(r)))throw new Error(\"Use process(css).then(cb) to work with async plugins\")}return this.result},u.run=function(e){this.result.lastPlugin=e;try{return e(this.result.root,this.result)}catch(t){throw this.handleError(t,e),t}},u.stringify=function(){if(this.stringified)return this.result;this.stringified=!0,this.sync();var e=this.result.opts,t=o.default;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);var r=new n.default(t,this.result.root,this.result.opts).generate();return this.result.css=r[0],this.result.map=r[1],this.result},e=LazyResult,(t=[{key:\"processor\",get:function(){return this.result.processor}},{key:\"opts\",get:function(){return this.result.opts}},{key:\"css\",get:function(){return this.stringify().css}},{key:\"content\",get:function(){return this.stringify().content}},{key:\"map\",get:function(){return this.stringify().map}},{key:\"root\",get:function(){return this.sync().root}},{key:\"messages\",get:function(){return this.sync().messages}}])&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),LazyResult}();t.default=u,e.exports=t.default},6136:(e,t)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var r={split:function(e,t,r){for(var n=[],o=\"\",i=!1,s=0,u=!1,a=!1,c=0;c0&&(s-=1):0===s&&-1!==t.indexOf(l)&&(i=!0),i?(\"\"!==o&&n.push(o.trim()),o=\"\",i=!1):o+=l}return(r||\"\"!==o)&&n.push(o.trim()),n},space:function(e){return r.split(e,[\" \",\"\\n\",\"\\t\"])},comma:function(e){return r.split(e,[\",\"],!0)}},n=r;t.default=n,e.exports=t.default},8991:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(2447)),o=_interopRequireDefault(r(6391));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _createForOfIteratorHelperLoose(e,t){var r;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if(\"string\"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(e,t)}(e))||t&&e&&\"number\"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}return(r=e[Symbol.iterator]()).next.bind(r)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0},e.previous=function(){var e=this;return this.previousMaps||(this.previousMaps=[],this.root.walk((function(t){if(t.source&&t.source.input.map){var r=t.source.input.map;-1===e.previousMaps.indexOf(r)&&e.previousMaps.push(r)}}))),this.previousMaps},e.isInline=function(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;var e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some((function(e){return e.inline})))},e.isSourcesContent=function(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some((function(e){return e.withContent()}))},e.clearAnnotation=function(){if(!1!==this.mapOpts.annotation)for(var e,t=this.root.nodes.length-1;t>=0;t--)\"comment\"===(e=this.root.nodes[t]).type&&0===e.text.indexOf(\"# sourceMappingURL=\")&&this.root.removeChild(t)},e.setSourcesContent=function(){var e=this,t={};this.root.walk((function(r){if(r.source){var n=r.source.input.from;if(n&&!t[n]){t[n]=!0;var o=e.relative(n);e.map.setSourceContent(o,r.source.input.css)}}}))},e.applyPrevMaps=function(){for(var e,t=_createForOfIteratorHelperLoose(this.previous());!(e=t()).done;){var r=e.value,i=this.relative(r.file),s=r.root||o.default.dirname(r.file),u=void 0;!1===this.mapOpts.sourcesContent?(u=new n.default.SourceMapConsumer(r.text)).sourcesContent&&(u.sourcesContent=u.sourcesContent.map((function(){return null}))):u=r.consumer(),this.map.applySourceMap(u,i,this.relative(s))}},e.isAnnotation=function(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some((function(e){return e.annotation})))},e.toBase64=function(e){return Buffer?Buffer.from(e).toString(\"base64\"):window.btoa(unescape(encodeURIComponent(e)))},e.addAnnotation=function(){var e;e=this.isInline()?\"data:application/json;base64,\"+this.toBase64(this.map.toString()):\"string\"==typeof this.mapOpts.annotation?this.mapOpts.annotation:this.outputFile()+\".map\";var t=\"\\n\";-1!==this.css.indexOf(\"\\r\\n\")&&(t=\"\\r\\n\"),this.css+=t+\"/*# sourceMappingURL=\"+e+\" */\"},e.outputFile=function(){return this.opts.to?this.relative(this.opts.to):this.opts.from?this.relative(this.opts.from):\"to.css\"},e.generateMap=function(){return this.generateString(),this.isSourcesContent()&&this.setSourcesContent(),this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]},e.relative=function(e){if(0===e.indexOf(\"<\"))return e;if(/^\\w+:\\/\\//.test(e))return e;var t=this.opts.to?o.default.dirname(this.opts.to):\".\";return\"string\"==typeof this.mapOpts.annotation&&(t=o.default.dirname(o.default.resolve(t,this.mapOpts.annotation))),e=o.default.relative(t,e),\"\\\\\"===o.default.sep?e.replace(/\\\\/g,\"/\"):e},e.sourcePath=function(e){return this.mapOpts.from?this.mapOpts.from:this.relative(e.source.input.from)},e.generateString=function(){var e=this;this.css=\"\",this.map=new n.default.SourceMapGenerator({file:this.outputFile()});var t,r,o=1,i=1;this.stringify(this.root,(function(n,s,u){if(e.css+=n,s&&\"end\"!==u&&(s.source&&s.source.start?e.map.addMapping({source:e.sourcePath(s),generated:{line:o,column:i-1},original:{line:s.source.start.line,column:s.source.start.column-1}}):e.map.addMapping({source:\"\",original:{line:1,column:0},generated:{line:o,column:i-1}})),(t=n.match(/\\n/g))?(o+=t.length,r=n.lastIndexOf(\"\\n\"),i=n.length-r):i+=n.length,s&&\"start\"!==u){var a=s.parent||{raws:{}};(\"decl\"!==s.type||s!==a.last||a.raws.semicolon)&&(s.source&&s.source.end?e.map.addMapping({source:e.sourcePath(s),generated:{line:o,column:i-2},original:{line:s.source.end.line,column:s.source.end.column-1}}):e.map.addMapping({source:\"\",original:{line:1,column:0},generated:{line:o,column:i-1}}))}}))},e.generate=function(){if(this.clearAnnotation(),this.isMap())return this.generateMap();var e=\"\";return this.stringify(this.root,(function(t){e+=t})),[e]},MapGenerator}();t.default=i,e.exports=t.default},1714:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(1667)),o=_interopRequireDefault(r(5701)),i=_interopRequireDefault(r(6157));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function cloneNode(e,t){var r=new e.constructor;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n],i=typeof o;\"parent\"===n&&\"object\"===i?t&&(r[n]=t):\"source\"===n?r[n]=o:o instanceof Array?r[n]=o.map((function(e){return cloneNode(e,r)})):(\"object\"===i&&null!==o&&(o=cloneNode(o)),r[n]=o)}return r}var s=function(){function Node(e){for(var t in void 0===e&&(e={}),this.raws={},e)this[t]=e[t]}var e=Node.prototype;return e.error=function(e,t){if(void 0===t&&(t={}),this.source){var r=this.positionBy(t);return this.source.input.error(e,r.line,r.column,t)}return new n.default(e)},e.warn=function(e,t,r){var n={node:this};for(var o in r)n[o]=r[o];return e.warn(t,n)},e.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},e.toString=function(e){void 0===e&&(e=i.default),e.stringify&&(e=e.stringify);var t=\"\";return e(this,(function(e){t+=e})),t},e.clone=function(e){void 0===e&&(e={});var t=cloneNode(this);for(var r in e)t[r]=e[r];return t},e.cloneBefore=function(e){void 0===e&&(e={});var t=this.clone(e);return this.parent.insertBefore(this,t),t},e.cloneAfter=function(e){void 0===e&&(e={});var t=this.clone(e);return this.parent.insertAfter(this,t),t},e.replaceWith=function(){if(this.parent){for(var e=arguments.length,t=new Array(e),r=0;r{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(7116)),o=_interopRequireDefault(r(2993));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=function(e,t){var r=new o.default(e,t),i=new n.default(r);try{i.parse()}catch(e){throw e}return i.root};t.default=_default,e.exports=t.default},7116:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(6417)),o=_interopRequireDefault(r(1157)),i=_interopRequireDefault(r(3102)),s=_interopRequireDefault(r(8940)),u=_interopRequireDefault(r(7563)),a=_interopRequireDefault(r(6621));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var c=function(){function Parser(e){this.input=e,this.root=new u.default,this.current=this.root,this.spaces=\"\",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{line:1,column:1}}}var e=Parser.prototype;return e.createTokenizer=function(){this.tokenizer=(0,o.default)(this.input)},e.parse=function(){for(var e;!this.tokenizer.endOfFile();)switch((e=this.tokenizer.nextToken())[0]){case\"space\":this.spaces+=e[1];break;case\";\":this.freeSemicolon(e);break;case\"}\":this.end(e);break;case\"comment\":this.comment(e);break;case\"at-word\":this.atrule(e);break;case\"{\":this.emptyRule(e);break;default:this.other(e)}this.endFile()},e.comment=function(e){var t=new i.default;this.init(t,e[2],e[3]),t.source.end={line:e[4],column:e[5]};var r=e[1].slice(2,-2);if(/^\\s*$/.test(r))t.text=\"\",t.raws.left=r,t.raws.right=\"\";else{var n=r.match(/^(\\s*)([^]*[^\\s])(\\s*)$/);t.text=n[2],t.raws.left=n[1],t.raws.right=n[3]}},e.emptyRule=function(e){var t=new a.default;this.init(t,e[2],e[3]),t.selector=\"\",t.raws.between=\"\",this.current=t},e.other=function(e){for(var t=!1,r=null,n=!1,o=null,i=[],s=[],u=e;u;){if(r=u[0],s.push(u),\"(\"===r||\"[\"===r)o||(o=u),i.push(\"(\"===r?\")\":\"]\");else if(0===i.length){if(\";\"===r){if(n)return void this.decl(s);break}if(\"{\"===r)return void this.rule(s);if(\"}\"===r){this.tokenizer.back(s.pop()),t=!0;break}\":\"===r&&(n=!0)}else r===i[i.length-1]&&(i.pop(),0===i.length&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),i.length>0&&this.unclosedBracket(o),t&&n){for(;s.length&&(\"space\"===(u=s[s.length-1][0])||\"comment\"===u);)this.tokenizer.back(s.pop());this.decl(s)}else this.unknownWord(s)},e.rule=function(e){e.pop();var t=new a.default;this.init(t,e[0][2],e[0][3]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,\"selector\",e),this.current=t},e.decl=function(e){var t=new n.default;this.init(t);var r,o=e[e.length-1];for(\";\"===o[0]&&(this.semicolon=!0,e.pop()),o[4]?t.source.end={line:o[4],column:o[5]}:t.source.end={line:o[2],column:o[3]};\"word\"!==e[0][0];)1===e.length&&this.unknownWord(e),t.raws.before+=e.shift()[1];for(t.source.start={line:e[0][2],column:e[0][3]},t.prop=\"\";e.length;){var i=e[0][0];if(\":\"===i||\"space\"===i||\"comment\"===i)break;t.prop+=e.shift()[1]}for(t.raws.between=\"\";e.length;){if(\":\"===(r=e.shift())[0]){t.raws.between+=r[1];break}\"word\"===r[0]&&/\\w/.test(r[1])&&this.unknownWord([r]),t.raws.between+=r[1]}\"_\"!==t.prop[0]&&\"*\"!==t.prop[0]||(t.raws.before+=t.prop[0],t.prop=t.prop.slice(1)),t.raws.between+=this.spacesAndCommentsFromStart(e),this.precheckMissedSemicolon(e);for(var s=e.length-1;s>0;s--){if(\"!important\"===(r=e[s])[1].toLowerCase()){t.important=!0;var u=this.stringFrom(e,s);\" !important\"!==(u=this.spacesFromEnd(e)+u)&&(t.raws.important=u);break}if(\"important\"===r[1].toLowerCase()){for(var a=e.slice(0),c=\"\",l=s;l>0;l--){var p=a[l][0];if(0===c.trim().indexOf(\"!\")&&\"space\"!==p)break;c=a.pop()[1]+c}0===c.trim().indexOf(\"!\")&&(t.important=!0,t.raws.important=c,e=a)}if(\"space\"!==r[0]&&\"comment\"!==r[0])break}this.raw(t,\"value\",e),-1!==t.value.indexOf(\":\")&&this.checkMissedSemicolon(e)},e.atrule=function(e){var t,r,n=new s.default;n.name=e[1].slice(1),\"\"===n.name&&this.unnamedAtrule(n,e),this.init(n,e[2],e[3]);for(var o=!1,i=!1,u=[];!this.tokenizer.endOfFile();){if(\";\"===(e=this.tokenizer.nextToken())[0]){n.source.end={line:e[2],column:e[3]},this.semicolon=!0;break}if(\"{\"===e[0]){i=!0;break}if(\"}\"===e[0]){if(u.length>0){for(t=u[r=u.length-1];t&&\"space\"===t[0];)t=u[--r];t&&(n.source.end={line:t[4],column:t[5]})}this.end(e);break}if(u.push(e),this.tokenizer.endOfFile()){o=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(u),u.length?(n.raws.afterName=this.spacesAndCommentsFromStart(u),this.raw(n,\"params\",u),o&&(e=u[u.length-1],n.source.end={line:e[4],column:e[5]},this.spaces=n.raws.between,n.raws.between=\"\")):(n.raws.afterName=\"\",n.params=\"\"),i&&(n.nodes=[],this.current=n)},e.end=function(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||\"\")+this.spaces,this.spaces=\"\",this.current.parent?(this.current.source.end={line:e[2],column:e[3]},this.current=this.current.parent):this.unexpectedClose(e)},e.endFile=function(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||\"\")+this.spaces},e.freeSemicolon=function(e){if(this.spaces+=e[1],this.current.nodes){var t=this.current.nodes[this.current.nodes.length-1];t&&\"rule\"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces=\"\")}},e.init=function(e,t,r){this.current.push(e),e.source={start:{line:t,column:r},input:this.input},e.raws.before=this.spaces,this.spaces=\"\",\"comment\"!==e.type&&(this.semicolon=!1)},e.raw=function(e,t,r){for(var n,o,i,s,u=r.length,a=\"\",c=!0,l=/^([.|#])?([\\w])+/i,p=0;p=0&&(\"space\"===(r=e[o])[0]||2!==(n+=1));o--);throw this.input.error(\"Missed semicolon\",r[2],r[3])}},Parser}();t.default=c,e.exports=t.default},3353:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(2447)),o=_interopRequireDefault(r(6391)),i=_interopRequireDefault(r(7545));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var s=function(){function PreviousMap(e,t){this.loadAnnotation(e),this.inline=this.startWith(this.annotation,\"data:\");var r=t.map?t.map.prev:void 0,n=this.loadMap(t.from,r);n&&(this.text=n)}var e=PreviousMap.prototype;return e.consumer=function(){return this.consumerCache||(this.consumerCache=new n.default.SourceMapConsumer(this.text)),this.consumerCache},e.withContent=function(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)},e.startWith=function(e,t){return!!e&&e.substr(0,t.length)===t},e.getAnnotationURL=function(e){return e.match(/\\/\\*\\s*# sourceMappingURL=(.*)\\s*\\*\\//)[1].trim()},e.loadAnnotation=function(e){var t=e.match(/\\/\\*\\s*# sourceMappingURL=(.*)\\s*\\*\\//gm);if(t&&t.length>0){var r=t[t.length-1];r&&(this.annotation=this.getAnnotationURL(r))}},e.decodeInline=function(e){var t,r=\"data:application/json,\";if(this.startWith(e,r))return decodeURIComponent(e.substr(r.length));if(/^data:application\\/json;charset=utf-?8;base64,/.test(e)||/^data:application\\/json;base64,/.test(e))return t=e.substr(RegExp.lastMatch.length),Buffer?Buffer.from(t,\"base64\").toString():window.atob(t);var n=e.match(/data:application\\/json;([^,]+),/)[1];throw new Error(\"Unsupported source map encoding \"+n)},e.loadMap=function(e,t){if(!1===t)return!1;if(t){if(\"string\"==typeof t)return t;if(\"function\"==typeof t){var r=t(e);if(r&&i.default.existsSync&&i.default.existsSync(r))return i.default.readFileSync(r,\"utf-8\").toString().trim();throw new Error(\"Unable to load previous source map: \"+r.toString())}if(t instanceof n.default.SourceMapConsumer)return n.default.SourceMapGenerator.fromSourceMap(t).toString();if(t instanceof n.default.SourceMapGenerator)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error(\"Unsupported previous source map format: \"+t.toString())}if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){var s=this.annotation;return e&&(s=o.default.join(o.default.dirname(e),s)),this.root=o.default.dirname(s),!(!i.default.existsSync||!i.default.existsSync(s))&&i.default.readFileSync(s,\"utf-8\").toString().trim()}},e.isMap=function(e){return\"object\"==typeof e&&(\"string\"==typeof e.mappings||\"string\"==typeof e._mappings)},PreviousMap}();t.default=s,e.exports=t.default},9429:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n,o=(n=r(6992))&&n.__esModule?n:{default:n};function _createForOfIteratorHelperLoose(e,t){var r;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if(\"string\"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(e,t)}(e))||t&&e&&\"number\"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}return(r=e[Symbol.iterator]()).next.bind(r)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r{\"use strict\";t.__esModule=!0,t.default=void 0;var n,o=(n=r(1662))&&n.__esModule?n:{default:n};function _defineProperties(e,t){for(var r=0;r{\"use strict\";var n;function _createForOfIteratorHelperLoose(e,t){var r;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if(\"string\"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(e,t)}(e))||t&&e&&\"number\"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}return(r=e[Symbol.iterator]()).next.bind(r)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&(this.nodes[1].raws.before=this.nodes[n].raws.before),e.prototype.removeChild.call(this,t)},o.normalize=function(t,r,n){var o=e.prototype.normalize.call(this,t);if(r)if(\"prepend\"===n)this.nodes.length>1?r.raws.before=this.nodes[1].raws.before:delete r.raws.before;else if(this.first!==r)for(var i,s=_createForOfIteratorHelperLoose(o);!(i=s()).done;){i.value.raws.before=r.raws.before}return o},o.toResult=function(e){return void 0===e&&(e={}),new(r(6992))(new(r(9429)),this,e).stringify()},Root}(((n=r(1204))&&n.__esModule?n:{default:n}).default);t.default=o,e.exports=t.default},6621:(e,t,r)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var n=_interopRequireDefault(r(1204)),o=_interopRequireDefault(r(6136));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperties(e,t){for(var r=0;r{\"use strict\";t.__esModule=!0,t.default=void 0;var r={colon:\": \",indent:\" \",beforeDecl:\"\\n\",beforeRule:\"\\n\",beforeOpen:\" \",beforeClose:\"\\n\",beforeComment:\"\\n\",after:\"\\n\",emptyBody:\"\",commentLeft:\" \",commentRight:\" \",semicolon:!1};var n=function(){function Stringifier(e){this.builder=e}var e=Stringifier.prototype;return e.stringify=function(e,t){this[e.type](e,t)},e.root=function(e){this.body(e),e.raws.after&&this.builder(e.raws.after)},e.comment=function(e){var t=this.raw(e,\"left\",\"commentLeft\"),r=this.raw(e,\"right\",\"commentRight\");this.builder(\"/*\"+t+e.text+r+\"*/\",e)},e.decl=function(e,t){var r=this.raw(e,\"between\",\"colon\"),n=e.prop+r+this.rawValue(e,\"value\");e.important&&(n+=e.raws.important||\" !important\"),t&&(n+=\";\"),this.builder(n,e)},e.rule=function(e){this.block(e,this.rawValue(e,\"selector\")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,\"end\")},e.atrule=function(e,t){var r=\"@\"+e.name,n=e.params?this.rawValue(e,\"params\"):\"\";if(void 0!==e.raws.afterName?r+=e.raws.afterName:n&&(r+=\" \"),e.nodes)this.block(e,r+n);else{var o=(e.raws.between||\"\")+(t?\";\":\"\");this.builder(r+n+o,e)}},e.body=function(e){for(var t=e.nodes.length-1;t>0&&\"comment\"===e.nodes[t].type;)t-=1;for(var r=this.raw(e,\"semicolon\"),n=0;n0&&void 0!==e.raws.after)return-1!==(t=e.raws.after).indexOf(\"\\n\")&&(t=t.replace(/[^\\n]+$/,\"\")),!1})),t&&(t=t.replace(/[^\\s]/g,\"\")),t},e.rawBeforeOpen=function(e){var t;return e.walk((function(e){if(\"decl\"!==e.type&&void 0!==(t=e.raws.between))return!1})),t},e.rawColon=function(e){var t;return e.walkDecls((function(e){if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\\s:]/g,\"\"),!1})),t},e.beforeAfter=function(e,t){var r;r=\"decl\"===e.type?this.raw(e,null,\"beforeDecl\"):\"comment\"===e.type?this.raw(e,null,\"beforeComment\"):\"before\"===t?this.raw(e,null,\"beforeRule\"):this.raw(e,null,\"beforeClose\");for(var n=e.parent,o=0;n&&\"root\"!==n.type;)o+=1,n=n.parent;if(-1!==r.indexOf(\"\\n\")){var i=this.raw(e,null,\"indent\");if(i.length)for(var s=0;s{\"use strict\";t.__esModule=!0,t.default=void 0;var n,o=(n=r(5701))&&n.__esModule?n:{default:n};var _default=function(e,t){new o.default(t).stringify(e)};t.default=_default,e.exports=t.default},1157:(e,t)=>{\"use strict\";t.__esModule=!0,t.default=function(e,t){void 0===t&&(t={});var k,S,A,F,x,O,N,T,I,R,M,P,L,B,j=e.css.valueOf(),q=t.ignoreErrors,G=j.length,U=-1,W=1,$=0,z=[],V=[];function unclosed(t){throw e.error(\"Unclosed \"+t,W,$-U)}return{back:function(e){V.push(e)},nextToken:function(e){if(V.length)return V.pop();if(!($>=G)){var t=!!e&&e.ignoreUnclosed;switch(((k=j.charCodeAt($))===s||k===a||k===l&&j.charCodeAt($+1)!==s)&&(U=$,W+=1),k){case s:case u:case c:case l:case a:S=$;do{S+=1,(k=j.charCodeAt(S))===s&&(U=S,W+=1)}while(k===u||k===s||k===c||k===l||k===a);B=[\"space\",j.slice($,S)],$=S-1;break;case p:case f:case D:case g:case v:case m:case d:var H=String.fromCharCode(k);B=[H,H,W,$-U];break;case h:if(P=z.length?z.pop()[1]:\"\",L=j.charCodeAt($+1),\"url\"===P&&L!==r&&L!==n&&L!==u&&L!==s&&L!==c&&L!==a&&L!==l){S=$;do{if(R=!1,-1===(S=j.indexOf(\")\",S+1))){if(q||t){S=$;break}unclosed(\"bracket\")}for(M=S;j.charCodeAt(M-1)===o;)M-=1,R=!R}while(R);B=[\"brackets\",j.slice($,S+1),W,$-U,W,S-U],$=S}else S=j.indexOf(\")\",$+1),O=j.slice($,S+1),-1===S||E.test(O)?B=[\"(\",\"(\",W,$-U]:(B=[\"brackets\",O,W,$-U,W,S-U],$=S);break;case r:case n:A=k===r?\"'\":'\"',S=$;do{if(R=!1,-1===(S=j.indexOf(A,S+1))){if(q||t){S=$+1;break}unclosed(\"string\")}for(M=S;j.charCodeAt(M-1)===o;)M-=1,R=!R}while(R);O=j.slice($,S+1),F=O.split(\"\\n\"),(x=F.length-1)>0?(T=W+x,I=S-F[x].length):(T=W,I=U),B=[\"string\",j.slice($,S+1),W,$-U,T,S-I],U=I,W=T,$=S;break;case C:w.lastIndex=$+1,w.test(j),S=0===w.lastIndex?j.length-1:w.lastIndex-2,B=[\"at-word\",j.slice($,S+1),W,$-U,W,S-U],$=S;break;case o:for(S=$,N=!0;j.charCodeAt(S+1)===o;)S+=1,N=!N;if(k=j.charCodeAt(S+1),N&&k!==i&&k!==u&&k!==s&&k!==c&&k!==l&&k!==a&&(S+=1,_.test(j.charAt(S)))){for(;_.test(j.charAt(S+1));)S+=1;j.charCodeAt(S+1)===u&&(S+=1)}B=[\"word\",j.slice($,S+1),W,$-U,W,S-U],$=S;break;default:k===i&&j.charCodeAt($+1)===y?(0===(S=j.indexOf(\"*/\",$+2)+1)&&(q||t?S=j.length:unclosed(\"comment\")),O=j.slice($,S+1),F=O.split(\"\\n\"),(x=F.length-1)>0?(T=W+x,I=S-F[x].length):(T=W,I=U),B=[\"comment\",O,W,$-U,T,S-I],U=I,W=T,$=S):(b.lastIndex=$+1,b.test(j),S=0===b.lastIndex?j.length-1:b.lastIndex-2,B=[\"word\",j.slice($,S+1),W,$-U,W,S-U],z.push(B),$=S)}return $++,B}},endOfFile:function(){return 0===V.length&&$>=G},position:function(){return $}}};var r=\"'\".charCodeAt(0),n='\"'.charCodeAt(0),o=\"\\\\\".charCodeAt(0),i=\"/\".charCodeAt(0),s=\"\\n\".charCodeAt(0),u=\" \".charCodeAt(0),a=\"\\f\".charCodeAt(0),c=\"\\t\".charCodeAt(0),l=\"\\r\".charCodeAt(0),p=\"[\".charCodeAt(0),f=\"]\".charCodeAt(0),h=\"(\".charCodeAt(0),d=\")\".charCodeAt(0),D=\"{\".charCodeAt(0),g=\"}\".charCodeAt(0),m=\";\".charCodeAt(0),y=\"*\".charCodeAt(0),v=\":\".charCodeAt(0),C=\"@\".charCodeAt(0),w=/[ \\n\\t\\r\\f{}()'\"\\\\;/[\\]#]/g,b=/[ \\n\\t\\r\\f(){}:;@!'\"\\\\\\][#]|\\/(?=\\*)/g,E=/.[\\\\/(\"'\\n]/,_=/[a-f0-9]/i;e.exports=t.default},6574:(e,t)=>{\"use strict\";t.__esModule=!0,t.default=function(e){if(r[e])return;r[e]=!0,\"undefined\"!=typeof console&&console.warn&&console.warn(e)};var r={};e.exports=t.default},1662:(e,t)=>{\"use strict\";t.__esModule=!0,t.default=void 0;var r=function(){function Warning(e,t){if(void 0===t&&(t={}),this.type=\"warning\",this.text=e,t.node&&t.node.source){var r=t.node.positionBy(t);this.line=r.line,this.column=r.column}for(var n in t)this[n]=t[n]}return Warning.prototype.toString=function(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+\": \"+this.text:this.text},Warning}();t.default=r,e.exports=t.default},6210:(e,t,r)=>{const n=r(895),{MAX_LENGTH:o,MAX_SAFE_INTEGER:i}=r(8523),{re:s,t:u}=r(3443),{compareIdentifiers:a}=r(8337);class SemVer{constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof SemVer){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \".concat(e));if(e.length>o)throw new TypeError(\"version is longer than \".concat(o,\" characters\"));n(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?s[u.LOOSE]:s[u.FULL]);if(!r)throw new TypeError(\"Invalid Version: \".concat(e));if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>i||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>i||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>i||this.patch<0)throw new TypeError(\"Invalid patch version\");r[4]?this.prerelease=r[4].split(\".\").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)\"number\"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(\"invalid increment argument: \".concat(e))}return this.format(),this.raw=this.version,this}}e.exports=SemVer},2828:(e,t,r)=>{const n=r(6210);e.exports=(e,t,r)=>new n(e,r).compare(new n(t,r))},9195:(e,t,r)=>{const n=r(2828);e.exports=(e,t,r)=>n(e,t,r)>=0},3725:(e,t,r)=>{const n=r(2828);e.exports=(e,t,r)=>n(e,t,r)<0},8523:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:t,MAX_SAFE_COMPONENT_LENGTH:16}},895:e=>{const t=\"object\"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\\bsemver\\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error(\"SEMVER\",...e):()=>{};e.exports=t},8337:e=>{const t=/^[0-9]+$/,compareIdentifiers=(e,r)=>{const n=t.test(e),o=t.test(r);return n&&o&&(e=+e,r=+r),e===r?0:n&&!o?-1:o&&!n?1:ecompareIdentifiers(t,e)}},3443:(e,t,r)=>{const{MAX_SAFE_COMPONENT_LENGTH:n}=r(8523),o=r(895),i=(t=e.exports={}).re=[],s=t.src=[],u=t.t={};let a=0;const createToken=(e,t,r)=>{const n=a++;o(n,t),u[e]=n,s[n]=t,i[n]=new RegExp(t,r?\"g\":void 0)};createToken(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),createToken(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),createToken(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),createToken(\"MAINVERSION\",\"(\".concat(s[u.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(s[u.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(s[u.NUMERICIDENTIFIER],\")\")),createToken(\"MAINVERSIONLOOSE\",\"(\".concat(s[u.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(s[u.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(s[u.NUMERICIDENTIFIERLOOSE],\")\")),createToken(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(s[u.NUMERICIDENTIFIER],\"|\").concat(s[u.NONNUMERICIDENTIFIER],\")\")),createToken(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(s[u.NUMERICIDENTIFIERLOOSE],\"|\").concat(s[u.NONNUMERICIDENTIFIER],\")\")),createToken(\"PRERELEASE\",\"(?:-(\".concat(s[u.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(s[u.PRERELEASEIDENTIFIER],\")*))\")),createToken(\"PRERELEASELOOSE\",\"(?:-?(\".concat(s[u.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(s[u.PRERELEASEIDENTIFIERLOOSE],\")*))\")),createToken(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),createToken(\"BUILD\",\"(?:\\\\+(\".concat(s[u.BUILDIDENTIFIER],\"(?:\\\\.\").concat(s[u.BUILDIDENTIFIER],\")*))\")),createToken(\"FULLPLAIN\",\"v?\".concat(s[u.MAINVERSION]).concat(s[u.PRERELEASE],\"?\").concat(s[u.BUILD],\"?\")),createToken(\"FULL\",\"^\".concat(s[u.FULLPLAIN],\"$\")),createToken(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(s[u.MAINVERSIONLOOSE]).concat(s[u.PRERELEASELOOSE],\"?\").concat(s[u.BUILD],\"?\")),createToken(\"LOOSE\",\"^\".concat(s[u.LOOSEPLAIN],\"$\")),createToken(\"GTLT\",\"((?:<|>)?=?)\"),createToken(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(s[u.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),createToken(\"XRANGEIDENTIFIER\",\"\".concat(s[u.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),createToken(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(s[u.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(s[u.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(s[u.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(s[u.PRERELEASE],\")?\").concat(s[u.BUILD],\"?\")+\")?)?\"),createToken(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(s[u.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(s[u.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(s[u.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(s[u.PRERELEASELOOSE],\")?\").concat(s[u.BUILD],\"?\")+\")?)?\"),createToken(\"XRANGE\",\"^\".concat(s[u.GTLT],\"\\\\s*\").concat(s[u.XRANGEPLAIN],\"$\")),createToken(\"XRANGELOOSE\",\"^\".concat(s[u.GTLT],\"\\\\s*\").concat(s[u.XRANGEPLAINLOOSE],\"$\")),createToken(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(n,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(n,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(n,\"}))?\")+\"(?:$|[^\\\\d])\"),createToken(\"COERCERTL\",s[u.COERCE],!0),createToken(\"LONETILDE\",\"(?:~>?)\"),createToken(\"TILDETRIM\",\"(\\\\s*)\".concat(s[u.LONETILDE],\"\\\\s+\"),!0),t.tildeTrimReplace=\"$1~\",createToken(\"TILDE\",\"^\".concat(s[u.LONETILDE]).concat(s[u.XRANGEPLAIN],\"$\")),createToken(\"TILDELOOSE\",\"^\".concat(s[u.LONETILDE]).concat(s[u.XRANGEPLAINLOOSE],\"$\")),createToken(\"LONECARET\",\"(?:\\\\^)\"),createToken(\"CARETTRIM\",\"(\\\\s*)\".concat(s[u.LONECARET],\"\\\\s+\"),!0),t.caretTrimReplace=\"$1^\",createToken(\"CARET\",\"^\".concat(s[u.LONECARET]).concat(s[u.XRANGEPLAIN],\"$\")),createToken(\"CARETLOOSE\",\"^\".concat(s[u.LONECARET]).concat(s[u.XRANGEPLAINLOOSE],\"$\")),createToken(\"COMPARATORLOOSE\",\"^\".concat(s[u.GTLT],\"\\\\s*(\").concat(s[u.LOOSEPLAIN],\")$|^$\")),createToken(\"COMPARATOR\",\"^\".concat(s[u.GTLT],\"\\\\s*(\").concat(s[u.FULLPLAIN],\")$|^$\")),createToken(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(s[u.GTLT],\"\\\\s*(\").concat(s[u.LOOSEPLAIN],\"|\").concat(s[u.XRANGEPLAIN],\")\"),!0),t.comparatorTrimReplace=\"$1$2$3\",createToken(\"HYPHENRANGE\",\"^\\\\s*(\".concat(s[u.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(s[u.XRANGEPLAIN],\")\")+\"\\\\s*$\"),createToken(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(s[u.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(s[u.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),createToken(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),createToken(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),createToken(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")},6715:(e,t,r)=>{var n=r(7837),o=Object.prototype.hasOwnProperty,i=\"undefined\"!=typeof Map;function ArraySet(){this._array=[],this._set=i?new Map:Object.create(null)}ArraySet.fromArray=function(e,t){for(var r=new ArraySet,n=0,o=e.length;n=0)return t}else{var r=n.toSetString(e);if(o.call(this._set,r))return this._set[r]}throw new Error('\"'+e+'\" is not in the set.')},ArraySet.prototype.at=function(e){if(e>=0&&e{var n=r(4122);t.encode=function(e){var t,r=\"\",o=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&o,(o>>>=5)>0&&(t|=32),r+=n.encode(t)}while(o>0);return r},t.decode=function(e,t,r){var o,i,s,u,a=e.length,c=0,l=0;do{if(t>=a)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(-1===(i=n.decode(e.charCodeAt(t++))))throw new Error(\"Invalid base64 digit: \"+e.charAt(t-1));o=!!(32&i),c+=(i&=31)<>1,1==(1&s)?-u:u),r.rest=t}},4122:(e,t)=>{var r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");t.encode=function(e){if(0<=e&&e{function recursiveSearch(e,r,n,o,i,s){var u=Math.floor((r-e)/2)+e,a=i(n,o[u],!0);return 0===a?u:a>0?r-u>1?recursiveSearch(u,r,n,o,i,s):s==t.LEAST_UPPER_BOUND?r1?recursiveSearch(e,u,n,o,i,s):s==t.LEAST_UPPER_BOUND?u:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,r,n,o){if(0===r.length)return-1;var i=recursiveSearch(-1,r.length,e,r,n,o||t.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&0===n(r[i],r[i-1],!0);)--i;return i}},1028:(e,t,r)=>{var n=r(7837);function MappingList(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},MappingList.prototype.add=function(e){var t,r,o,i,s,u;t=this._last,r=e,o=t.generatedLine,i=r.generatedLine,s=t.generatedColumn,u=r.generatedColumn,i>o||i==o&&u>=s||n.compareByGeneratedPositionsInflated(t,r)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},MappingList.prototype.toArray=function(){return this._sorted||(this._array.sort(n.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.H=MappingList},6711:(e,t)=>{function swap(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function doQuickSort(e,t,r,n){if(r{var n=r(7837),o=r(8593),i=r(6715).I,s=r(4886),u=r(6711).U;function SourceMapConsumer(e,t){var r=e;return\"string\"==typeof e&&(r=n.parseSourceMapInput(e)),null!=r.sections?new IndexedSourceMapConsumer(r,t):new BasicSourceMapConsumer(r,t)}function BasicSourceMapConsumer(e,t){var r=e;\"string\"==typeof e&&(r=n.parseSourceMapInput(e));var o=n.getArg(r,\"version\"),s=n.getArg(r,\"sources\"),u=n.getArg(r,\"names\",[]),a=n.getArg(r,\"sourceRoot\",null),c=n.getArg(r,\"sourcesContent\",null),l=n.getArg(r,\"mappings\"),p=n.getArg(r,\"file\",null);if(o!=this._version)throw new Error(\"Unsupported version: \"+o);a&&(a=n.normalize(a)),s=s.map(String).map(n.normalize).map((function(e){return a&&n.isAbsolute(a)&&n.isAbsolute(e)?n.relative(a,e):e})),this._names=i.fromArray(u.map(String),!0),this._sources=i.fromArray(s,!0),this._absoluteSources=this._sources.toArray().map((function(e){return n.computeSourceURL(a,e,t)})),this.sourceRoot=a,this.sourcesContent=c,this._mappings=l,this._sourceMapURL=t,this.file=p}function Mapping(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function IndexedSourceMapConsumer(e,t){var r=e;\"string\"==typeof e&&(r=n.parseSourceMapInput(e));var o=n.getArg(r,\"version\"),s=n.getArg(r,\"sections\");if(o!=this._version)throw new Error(\"Unsupported version: \"+o);this._sources=new i,this._names=new i;var u={line:-1,column:0};this._sections=s.map((function(e){if(e.url)throw new Error(\"Support for url field in sections not implemented.\");var r=n.getArg(e,\"offset\"),o=n.getArg(r,\"line\"),i=n.getArg(r,\"column\");if(o=0){var u=this._originalMappings[s];if(void 0===e.column)for(var a=u.originalLine;u&&u.originalLine===a;)i.push({line:n.getArg(u,\"generatedLine\",null),column:n.getArg(u,\"generatedColumn\",null),lastColumn:n.getArg(u,\"lastGeneratedColumn\",null)}),u=this._originalMappings[++s];else for(var c=u.originalColumn;u&&u.originalLine===t&&u.originalColumn==c;)i.push({line:n.getArg(u,\"generatedLine\",null),column:n.getArg(u,\"generatedColumn\",null),lastColumn:n.getArg(u,\"lastGeneratedColumn\",null)}),u=this._originalMappings[++s]}return i},t.SourceMapConsumer=SourceMapConsumer,BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype),BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer,BasicSourceMapConsumer.prototype._findSourceIndex=function(e){var t,r=e;if(null!=this.sourceRoot&&(r=n.relative(this.sourceRoot,r)),this._sources.has(r))return this._sources.indexOf(r);for(t=0;t1&&(r.source=d+i[1],d+=i[1],r.originalLine=f+i[2],f=r.originalLine,r.originalLine+=1,r.originalColumn=h+i[3],h=r.originalColumn,i.length>4&&(r.name=D+i[4],D+=i[4])),w.push(r),\"number\"==typeof r.originalLine&&C.push(r)}u(w,n.compareByGeneratedPositionsDeflated),this.__generatedMappings=w,u(C,n.compareByOriginalPositions),this.__originalMappings=C},BasicSourceMapConsumer.prototype._findMapping=function(e,t,r,n,i,s){if(e[r]<=0)throw new TypeError(\"Line must be greater than or equal to 1, got \"+e[r]);if(e[n]<0)throw new TypeError(\"Column must be greater than or equal to 0, got \"+e[n]);return o.search(e,t,i,s)},BasicSourceMapConsumer.prototype.computeColumnSpans=function(){for(var e=0;e=0){var o=this._generatedMappings[r];if(o.generatedLine===t.generatedLine){var i=n.getArg(o,\"source\",null);null!==i&&(i=this._sources.at(i),i=n.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=n.getArg(o,\"name\",null);return null!==s&&(s=this._names.at(s)),{source:i,line:n.getArg(o,\"originalLine\",null),column:n.getArg(o,\"originalColumn\",null),name:s}}}return{source:null,line:null,column:null,name:null}},BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e})))},BasicSourceMapConsumer.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];var o,i=e;if(null!=this.sourceRoot&&(i=n.relative(this.sourceRoot,i)),null!=this.sourceRoot&&(o=n.urlParse(this.sourceRoot))){var s=i.replace(/^file:\\/\\//,\"\");if(\"file\"==o.scheme&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!o.path||\"/\"==o.path)&&this._sources.has(\"/\"+i))return this.sourcesContent[this._sources.indexOf(\"/\"+i)]}if(t)return null;throw new Error('\"'+i+'\" is not in the SourceMap.')},BasicSourceMapConsumer.prototype.generatedPositionFor=function(e){var t=n.getArg(e,\"source\");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var r={source:t,originalLine:n.getArg(e,\"line\"),originalColumn:n.getArg(e,\"column\")},o=this._findMapping(r,this._originalMappings,\"originalLine\",\"originalColumn\",n.compareByOriginalPositions,n.getArg(e,\"bias\",SourceMapConsumer.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===r.source)return{line:n.getArg(i,\"generatedLine\",null),column:n.getArg(i,\"generatedColumn\",null),lastColumn:n.getArg(i,\"lastGeneratedColumn\",null)}}return{line:null,column:null,lastColumn:null}},IndexedSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype),IndexedSourceMapConsumer.prototype.constructor=SourceMapConsumer,IndexedSourceMapConsumer.prototype._version=3,Object.defineProperty(IndexedSourceMapConsumer.prototype,\"sources\",{get:function(){for(var e=[],t=0;t{var n=r(4886),o=r(7837),i=r(6715).I,s=r(1028).H;function SourceMapGenerator(e){e||(e={}),this._file=o.getArg(e,\"file\",null),this._sourceRoot=o.getArg(e,\"sourceRoot\",null),this._skipValidation=o.getArg(e,\"skipValidation\",!1),this._sources=new i,this._names=new i,this._mappings=new s,this._sourcesContents=null}SourceMapGenerator.prototype._version=3,SourceMapGenerator.fromSourceMap=function(e){var t=e.sourceRoot,r=new SourceMapGenerator({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=t&&(n.source=o.relative(t,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),r.addMapping(n)})),e.sources.forEach((function(n){var i=n;null!==t&&(i=o.relative(t,n)),r._sources.has(i)||r._sources.add(i);var s=e.sourceContentFor(n);null!=s&&r.setSourceContent(n,s)})),r},SourceMapGenerator.prototype.addMapping=function(e){var t=o.getArg(e,\"generated\"),r=o.getArg(e,\"original\",null),n=o.getArg(e,\"source\",null),i=o.getArg(e,\"name\",null);this._skipValidation||this._validateMapping(t,r,n,i),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=i&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:n,name:i})},SourceMapGenerator.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=o.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[o.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[o.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},SourceMapGenerator.prototype.applySourceMap=function(e,t,r){var n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\\'s \"file\" property. Both were omitted.');n=e.file}var s=this._sourceRoot;null!=s&&(n=o.relative(s,n));var u=new i,a=new i;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){var i=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=i.source&&(t.source=i.source,null!=r&&(t.source=o.join(r,t.source)),null!=s&&(t.source=o.relative(s,t.source)),t.originalLine=i.line,t.originalColumn=i.column,null!=i.name&&(t.name=i.name))}var c=t.source;null==c||u.has(c)||u.add(c);var l=t.name;null==l||a.has(l)||a.add(l)}),this),this._sources=u,this._names=a,e.sources.forEach((function(t){var n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=o.join(r,t)),null!=s&&(t=o.relative(s,t)),this.setSourceContent(t,n))}),this)},SourceMapGenerator.prototype._validateMapping=function(e,t,r,n){if(t&&\"number\"!=typeof t.line&&\"number\"!=typeof t.column)throw new Error(\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\");if((!(e&&\"line\"in e&&\"column\"in e&&e.line>0&&e.column>=0)||t||r||n)&&!(e&&\"line\"in e&&\"column\"in e&&t&&\"line\"in t&&\"column\"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error(\"Invalid mapping: \"+JSON.stringify({generated:e,source:r,original:t,name:n}))},SourceMapGenerator.prototype._serializeMappings=function(){for(var e,t,r,i,s=0,u=1,a=0,c=0,l=0,p=0,f=\"\",h=this._mappings.toArray(),d=0,D=h.length;d0){if(!o.compareByGeneratedPositionsInflated(t,h[d-1]))continue;e+=\",\"}e+=n.encode(t.generatedColumn-s),s=t.generatedColumn,null!=t.source&&(i=this._sources.indexOf(t.source),e+=n.encode(i-p),p=i,e+=n.encode(t.originalLine-1-c),c=t.originalLine-1,e+=n.encode(t.originalColumn-a),a=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=n.encode(r-l),l=r)),f+=e}return f},SourceMapGenerator.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=o.relative(t,e));var r=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)},SourceMapGenerator.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},SourceMapGenerator.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=SourceMapGenerator},6270:(e,t,r)=>{var n=r(2400).SourceMapGenerator,o=r(7837),i=/(\\r?\\n)/,s=\"$$$isSourceNode$$$\";function SourceNode(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==o?null:o,this[s]=!0,null!=n&&this.add(n)}SourceNode.fromStringWithSourceMap=function(e,t,r){var n=new SourceNode,s=e.split(i),u=0,shiftNextLine=function(){return getNextLine()+(getNextLine()||\"\");function getNextLine(){return u=0;t--)this.prepend(e[t]);else{if(!e[s]&&\"string\"!=typeof e)throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \"+e);this.children.unshift(e)}return this},SourceNode.prototype.walk=function(e){for(var t,r=0,n=this.children.length;r0){for(t=[],r=0;r{t.getArg=function(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('\"'+t+'\" is a required argument.')};var r=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,n=/^data:.+\\,.+$/;function urlParse(e){var t=e.match(r);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function urlGenerate(e){var t=\"\";return e.scheme&&(t+=e.scheme+\":\"),t+=\"//\",e.auth&&(t+=e.auth+\"@\"),e.host&&(t+=e.host),e.port&&(t+=\":\"+e.port),e.path&&(t+=e.path),t}function normalize(e){var r=e,n=urlParse(e);if(n){if(!n.path)return e;r=n.path}for(var o,i=t.isAbsolute(r),s=r.split(/\\/+/),u=0,a=s.length-1;a>=0;a--)\".\"===(o=s[a])?s.splice(a,1):\"..\"===o?u++:u>0&&(\"\"===o?(s.splice(a+1,u),u=0):(s.splice(a,2),u--));return\"\"===(r=s.join(\"/\"))&&(r=i?\"/\":\".\"),n?(n.path=r,urlGenerate(n)):r}function join(e,t){\"\"===e&&(e=\".\"),\"\"===t&&(t=\".\");var r=urlParse(t),o=urlParse(e);if(o&&(e=o.path||\"/\"),r&&!r.scheme)return o&&(r.scheme=o.scheme),urlGenerate(r);if(r||t.match(n))return t;if(o&&!o.host&&!o.path)return o.host=t,urlGenerate(o);var i=\"/\"===t.charAt(0)?t:normalize(e.replace(/\\/+$/,\"\")+\"/\"+t);return o?(o.path=i,urlGenerate(o)):i}t.urlParse=urlParse,t.urlGenerate=urlGenerate,t.normalize=normalize,t.join=join,t.isAbsolute=function(e){return\"/\"===e.charAt(0)||r.test(e)},t.relative=function(e,t){\"\"===e&&(e=\".\"),e=e.replace(/\\/$/,\"\");for(var r=0;0!==t.indexOf(e+\"/\");){var n=e.lastIndexOf(\"/\");if(n<0)return t;if((e=e.slice(0,n)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++r}return Array(r+1).join(\"../\")+t.substr(e.length+1)};var o=!(\"__proto__\"in Object.create(null));function identity(e){return e}function isProtoString(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=o?identity:function(e){return isProtoString(e)?\"$\"+e:e},t.fromSetString=o?identity:function(e){return isProtoString(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,r){var n=strcmp(e.source,t.source);return 0!==n||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)||r||0!==(n=e.generatedColumn-t.generatedColumn)||0!==(n=e.generatedLine-t.generatedLine)?n:strcmp(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n||0!==(n=e.generatedColumn-t.generatedColumn)||r||0!==(n=strcmp(e.source,t.source))||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)?n:strcmp(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r||0!==(r=e.generatedColumn-t.generatedColumn)||0!==(r=strcmp(e.source,t.source))||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)?r:strcmp(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\\)]}'[^\\n]*\\n/,\"\"))},t.computeSourceURL=function(e,t,r){if(t=t||\"\",e&&(\"/\"!==e[e.length-1]&&\"/\"!==t[0]&&(e+=\"/\"),t=e+t),r){var n=urlParse(r);if(!n)throw new Error(\"sourceMapURL could not be parsed\");if(n.path){var o=n.path.lastIndexOf(\"/\");o>=0&&(n.path=n.path.substring(0,o+1))}t=join(urlGenerate(n),t)}return normalize(t)}},2447:(e,t,r)=>{t.SourceMapGenerator=r(2400).SourceMapGenerator,t.SourceMapConsumer=r(8985).SourceMapConsumer,t.SourceNode=r(6270).SourceNode},6549:(e,t,r)=>{\"use strict\";const n=r(9992),o=r(4450),i=r(541),stringWidth=e=>{if(\"string\"!=typeof(e=e.replace(i(),\" \"))||0===e.length)return 0;e=n(e);let t=0;for(let r=0;r=127&&n<=159||(n>=768&&n<=879||(n>65535&&r++,t+=o(n)?2:1))}return t};e.exports=stringWidth,e.exports.default=stringWidth},4450:e=>{\"use strict\";const isFullwidthCodePoint=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));e.exports=isFullwidthCodePoint,e.exports.default=isFullwidthCodePoint},9992:(e,t,r)=>{\"use strict\";const n=r(2426);e.exports=e=>\"string\"==typeof e?e.replace(n(),\"\"):e},3210:e=>{\"use strict\";e.exports=function(e,t,r){return 0===e.length?e:t?(r||e.sort(t),function(e,t){for(var r=1,n=e.length,o=e[0],i=e[0],s=1;s{\"use strict\";e.exports={guessEndOfLine:function(e){const t=e.indexOf(\"\\r\");return t>=0?\"\\n\"===e.charAt(t+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(e){switch(e){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}},countEndOfLineChars:function(e,t){let r;if(\"\\n\"===t)r=/\\n/g;else if(\"\\r\"===t)r=/\\r/g;else{if(\"\\r\\n\"!==t)throw new Error('Unexpected \"eol\" '.concat(JSON.stringify(t),\".\"));r=/\\r\\n/g}const n=e.match(r);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\\r\\n?/g,\"\\n\")}}},47:e=>{\"use strict\";e.exports=function(e,t){const r=new SyntaxError(e+\" (\"+t.start.line+\":\"+t.start.column+\")\");return r.loc=t,r}},9428:(e,t,r)=>{\"use strict\";const n=r(6549),o=r(2240),i=r(4652),{getSupportInfo:s}=r(7290),u=/[^\\x20-\\x7F]/;function skip(e){return(t,r,n)=>{const o=n&&n.backwards;if(!1===r)return!1;const{length:i}=t;let s=r;for(;s>=0&&s(r.match(s.regex)||[]).length?s.quote:i.quote}return u}function makeString(e,t,r){const n='\"'===t?\"'\":'\"',o=e.replace(/\\\\([\\S\\s])|([\"'])/g,((e,o,i)=>o===n?o:i===t?\"\\\\\"+i:i||(r&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(o)?o:\"\\\\\"+o)));return t+o+t}function addCommentHelper(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,\"JSXText\"===e.type&&(t.printed=!0)}e.exports={inferParserByLanguage:function(e,t){const{languages:r}=s({plugins:t.plugins}),n=r.find((({name:t})=>t.toLowerCase()===e))||r.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||r.find((({extensions:t})=>Array.isArray(t)&&t.includes(\".\".concat(e))));return n&&n.parsers[0]},replaceEndOfLineWith:function(e,t){const r=[];for(const n of e.split(\"\\n\"))0!==r.length&&r.push(t),r.push(n);return r},getStringWidth:function(e){return e?u.test(e)?n(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp(\"(\".concat(o(t),\")+\"),\"g\"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp(\"(\".concat(o(t),\")+\"),\"g\"));if(null===r)return 0;const n=new Map;let i=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>i&&(i=r)}for(let e=1;ee[e.length-2],getLast:i,getNextNonSpaceNonCommentCharacterIndexWithStartIndex,getNextNonSpaceNonCommentCharacterIndex,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(getNextNonSpaceNonCommentCharacterIndex(e,t,r))},skip,skipWhitespace:a,skipSpaces:c,skipToLineEnd:l,skipEverythingButNewLine:p,skipInlineComment,skipTrailingComment,skipNewline,isNextLineEmptyAfterIndex,isNextLineEmpty:function(e,t,r){return isNextLineEmptyAfterIndex(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=c(e,n,{backwards:!0}),n=skipNewline(e,n,{backwards:!0}),n=c(e,n,{backwards:!0}),n!==skipNewline(e,n,{backwards:!0})},hasNewline,hasNewlineInRange:function(e,t,r){for(let n=t;n{\"use strict\";function concat(e){return{type:\"concat\",parts:e}}function indent(e){return{type:\"indent\",contents:e}}function align(e,t){return{type:\"align\",contents:t,n:e}}function group(e,t){return{type:\"group\",id:(t=t||{}).id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}const t={type:\"break-parent\"},r=concat([{type:\"line\",hard:!0},t]),n=concat([{type:\"line\",hard:!0,literal:!0},t]),o={type:\"cursor\",placeholder:Symbol(\"cursor\")};e.exports={concat,join:function(e,t){const r=[];for(let n=0;n0){for(let e=0;e{\"use strict\";function flattenDoc(e){if(\"concat\"===e.type){const t=[];for(let r=0;rprintDoc(flattenDoc(e))}},9765:(e,t,r)=>{\"use strict\";const{getStringWidth:n}=r(9428),{convertEndOfLineToChars:o}=r(7933),{concat:i,fill:s,cursor:u}=r(5558);let a;function makeIndent(e,t){return generateInd(e,{type:\"indent\"},t)}function makeAlign(e,t,r){if(t===-1/0)return e.root||{value:\"\",length:0,queue:[]};if(t<0)return generateInd(e,{type:\"dedent\"},r);if(!t)return e;if(\"root\"===t.type)return Object.assign({},e,{root:e});return generateInd(e,{type:\"string\"==typeof t?\"stringAlign\":\"numberAlign\",n:t},r)}function generateInd(e,t,r){const n=\"dedent\"===t.type?e.queue.slice(0,-1):e.queue.concat(t);let o=\"\",i=0,s=0,u=0;for(const e of n)switch(e.type){case\"indent\":flush(),r.useTabs?addTabs(1):addSpaces(r.tabWidth);break;case\"stringAlign\":flush(),o+=e.n,i+=e.n.length;break;case\"numberAlign\":s+=1,u+=e.n;break;default:throw new Error(\"Unexpected type '\".concat(e.type,\"'\"))}return flushSpaces(),Object.assign({},e,{value:o,length:i,queue:n});function addTabs(e){o+=\"\\t\".repeat(e),i+=r.tabWidth*e}function addSpaces(e){o+=\" \".repeat(e),i+=e}function flush(){r.useTabs?function(){s>0&&addTabs(s);resetLast()}():flushSpaces()}function flushSpaces(){u>0&&addSpaces(u),resetLast()}function resetLast(){s=0,u=0}}function trim(e){if(0===e.length)return 0;let t=0;for(;e.length>0&&\"string\"==typeof e[e.length-1]&&e[e.length-1].match(/^[\\t ]*$/);)t+=e.pop().length;if(e.length&&\"string\"==typeof e[e.length-1]){const r=e[e.length-1].replace(/[\\t ]*$/,\"\");t+=e[e.length-1].length-r.length,e[e.length-1]=r}return t}function fits(e,t,r,o,i){let s=t.length;const u=[e],c=[];for(;r>=0;){if(0===u.length){if(0===s)return!0;u.push(t[s-1]),s--;continue}const[e,l,p]=u.pop();if(\"string\"==typeof p)c.push(p),r-=n(p);else switch(p.type){case\"concat\":for(let t=p.parts.length-1;t>=0;t--)u.push([e,l,p.parts[t]]);break;case\"indent\":u.push([makeIndent(e,o),l,p.contents]);break;case\"align\":u.push([makeAlign(e,p.n,o),l,p.contents]);break;case\"trim\":r+=trim(c);break;case\"group\":if(i&&p.break)return!1;u.push([e,p.break?1:l,p.contents]),p.id&&(a[p.id]=u[u.length-1][1]);break;case\"fill\":for(let t=p.parts.length-1;t>=0;t--)u.push([e,l,p.parts[t]]);break;case\"if-break\":{const t=p.groupId?a[p.groupId]:l;1===t&&p.breakContents&&u.push([e,l,p.breakContents]),2===t&&p.flatContents&&u.push([e,l,p.flatContents]);break}case\"line\":switch(l){case 2:if(!p.hard){p.soft||(c.push(\" \"),r-=1);break}return!0;case 1:return!0}}}return!1}e.exports={printDocToString:function(e,t){a={};const r=t.printWidth,c=o(t.endOfLine);let l=0;const p=[[{value:\"\",length:0,queue:[]},1,e]],f=[];let h=!1,d=[];for(;0!==p.length;){const[e,o,D]=p.pop();if(\"string\"==typeof D){const e=\"\\n\"!==c&&D.includes(\"\\n\")?D.replace(/\\n/g,c):D;f.push(e),l+=n(e)}else switch(D.type){case\"cursor\":f.push(u.placeholder);break;case\"concat\":for(let t=D.parts.length-1;t>=0;t--)p.push([e,o,D.parts[t]]);break;case\"indent\":p.push([makeIndent(e,t),o,D.contents]);break;case\"align\":p.push([makeAlign(e,D.n,t),o,D.contents]);break;case\"trim\":l-=trim(f);break;case\"group\":switch(o){case 2:if(!h){p.push([e,D.break?1:2,D.contents]);break}case 1:{h=!1;const n=[e,2,D.contents],o=r-l;if(!D.break&&fits(n,p,o,t))p.push(n);else if(D.expandedStates){const r=D.expandedStates[D.expandedStates.length-1];if(D.break){p.push([e,1,r]);break}for(let n=1;n=D.expandedStates.length){p.push([e,1,r]);break}{const r=[e,2,D.expandedStates[n]];if(fits(r,p,o,t)){p.push(r);break}}}}else p.push([e,1,D.contents]);break}}D.id&&(a[D.id]=p[p.length-1][1]);break;case\"fill\":{const n=r-l,{parts:u}=D;if(0===u.length)break;const[a,c]=u,f=[e,2,a],h=[e,1,a],d=fits(f,[],n,t,!0);if(1===u.length){d?p.push(f):p.push(h);break}const g=[e,2,c],m=[e,1,c];if(2===u.length){d?(p.push(g),p.push(f)):(p.push(m),p.push(h));break}u.splice(0,2);const y=[e,o,s(u)],v=u[0];fits([e,2,i([a,c,v])],[],n,t,!0)?(p.push(y),p.push(g),p.push(f)):d?(p.push(y),p.push(m),p.push(f)):(p.push(y),p.push(m),p.push(h));break}case\"if-break\":{const t=D.groupId?a[D.groupId]:o;1===t&&D.breakContents&&p.push([e,o,D.breakContents]),2===t&&D.flatContents&&p.push([e,o,D.flatContents]);break}case\"line-suffix\":d.push([e,o,D.contents]);break;case\"line-suffix-boundary\":d.length>0&&p.push([e,o,{type:\"line\",hard:!0}]);break;case\"line\":switch(o){case 2:if(!D.hard){D.soft||(f.push(\" \"),l+=1);break}h=!0;case 1:if(d.length){p.push([e,o,D]),p.push(...d.reverse()),d=[];break}D.literal?e.root?(f.push(c,e.root.value),l=e.root.length):(f.push(c),l=0):(l-=trim(f),f.push(c+e.value),l=e.length)}}0===p.length&&d.length&&(p.push(...d.reverse()),d=[])}const D=f.indexOf(u.placeholder);if(-1!==D){const e=f.indexOf(u.placeholder,D+1),t=f.slice(0,D).join(\"\"),r=f.slice(D+1,e).join(\"\");return{formatted:t+r+f.slice(e+1).join(\"\"),cursorNodeStart:t.length,cursorNodeText:r}}return{formatted:f.join(\"\")}}}},630:(e,t,r)=>{\"use strict\";const{literalline:n,concat:o}=r(5558),i={};function traverseDoc(e,t,r,n){const o=[e];for(;0!==o.length;){const e=o.pop();if(e!==i){if(r&&o.push(e,i),!t||!1!==t(e))if(\"concat\"===e.type||\"fill\"===e.type)for(let t=e.parts.length-1;t>=0;--t)o.push(e.parts[t]);else if(\"if-break\"===e.type)e.flatContents&&o.push(e.flatContents),e.breakContents&&o.push(e.breakContents);else if(\"group\"===e.type&&e.expandedStates)if(n)for(let t=e.expandedStates.length-1;t>=0;--t)o.push(e.expandedStates[t]);else o.push(e.contents);else e.contents&&o.push(e.contents)}else r(o.pop())}}function mapDoc(e,t){if(\"concat\"===e.type||\"fill\"===e.type){const r=e.parts.map((e=>mapDoc(e,t)));return t(Object.assign({},e,{parts:r}))}if(\"if-break\"===e.type){const r=e.breakContents&&mapDoc(e.breakContents,t),n=e.flatContents&&mapDoc(e.flatContents,t);return t(Object.assign({},e,{breakContents:r,flatContents:n}))}if(e.contents){const r=mapDoc(e.contents,t);return t(Object.assign({},e,{contents:r}))}return t(e)}function findInDoc(e,t,r){let n=r,o=!1;return traverseDoc(e,(function(e){const r=t(e);if(void 0!==r&&(o=!0,n=r),o)return!1})),n}function isLineNextFn(e){return\"string\"!=typeof e&&(\"line\"===e.type||void 0)}function willBreakFn(e){return!(\"group\"!==e.type||!e.break)||(!(\"line\"!==e.type||!e.hard)||(\"break-parent\"===e.type||void 0))}function breakParentGroup(e){if(e.length>0){const t=e[e.length-1];t.expandedStates||(t.break=!0)}return null}function removeLinesFn(e){return\"line\"!==e.type||e.hard?\"if-break\"===e.type?e.flatContents||\"\":e:e.soft?\"\":\" \"}function normalizeParts(e){const t=[],r=e.filter(Boolean);for(;0!==r.length;){const e=r.shift();e&&(\"concat\"!==e.type?0===t.length||\"string\"!=typeof t[t.length-1]||\"string\"!=typeof e?t.push(e):t[t.length-1]+=e:r.unshift(...e.parts))}return t}e.exports={isEmpty:function(e){return\"string\"==typeof e&&0===e.length},willBreak:function(e){return findInDoc(e,willBreakFn,!1)},isLineNext:function(e){return findInDoc(e,isLineNextFn,!1)},traverseDoc,findInDoc,mapDoc,propagateBreaks:function(e){const t=new Set,r=[];traverseDoc(e,(function(e){if(\"break-parent\"===e.type&&breakParentGroup(r),\"group\"===e.type){if(r.push(e),t.has(e))return!1;t.add(e)}}),(function(e){if(\"group\"===e.type){r.pop().break&&breakParentGroup(r)}}),!0)},removeLines:function(e){return mapDoc(e,removeLinesFn)},stripTrailingHardline:function stripTrailingHardline(e,t=!1){if(\"concat\"===e.type&&0!==e.parts.length){const r=t?function(e){let t,{parts:r}=e;for(let n=e.parts.length;n>0&&!t;n--)t=r[n-1];return\"group\"===t.type&&(r=t.contents.parts),r}(e):e.parts,n=r[r.length-1];if(\"concat\"===n.type)return 2===n.parts.length&&n.parts[0].hard&&\"break-parent\"===n.parts[1].type?{type:\"concat\",parts:r.slice(0,-1)}:{type:\"concat\",parts:e.parts.slice(0,-1).concat(stripTrailingHardline(n))}}return e},normalizeParts,normalizeDoc:function(e){return mapDoc(e,(e=>e.parts?Object.assign({},e,{parts:normalizeParts(e.parts)}):e))},replaceNewlinesWithLiterallines:function(e){return mapDoc(e,(e=>\"string\"==typeof e&&e.includes(\"\\n\")?o(e.split(/(\\n)/g).map(((e,t)=>t%2==0?e:n))):e))}}},3091:(e,t,r)=>{\"use strict\";e.exports={builders:r(5558),printer:r(9765),utils:r(630),debug:r(3839)}},9355:(e,t,r)=>{\"use strict\";const n=r(6920),{getLast:o,skipEverythingButNewLine:i}=r(9428);function calculateLocStart(e,t){return\"number\"==typeof e.sourceIndex?e.sourceIndex:e.source?n(e.source.start,t)-1:null}function calculateLocEnd(e,t){if(\"css-comment\"===e.type&&e.inline)return i(t,e.source.startOffset);const r=e.nodes&&o(e.nodes);return r&&e.source&&!e.source.end&&(e=r),e.source&&e.source.end?n(e.source.end,t):null}function calculateValueNodeLoc(e,t,r){e.source&&(e.source.startOffset=calculateLocStart(e,r)+t,e.source.endOffset=calculateLocEnd(e,r)+t);for(const n in e){const o=e[n];\"source\"!==n&&o&&\"object\"==typeof o&&calculateValueNodeLoc(o,t,r)}}function getValueRootOffset(e){let t=e.source.startOffset;return\"string\"==typeof e.prop&&(t+=e.prop.length),\"css-atrule\"===e.type&&\"string\"==typeof e.name&&(t+=1+e.name.length+e.raws.afterName.match(/^\\s*:?\\s*/)[0].length),\"css-atrule\"!==e.type&&e.raws&&\"string\"==typeof e.raws.between&&(t+=e.raws.between.length),t}e.exports={locStart:function(e){return e.source.startOffset},locEnd:function(e){return e.source.endOffset},calculateLoc:function calculateLoc(e,t){e.source&&(e.source.startOffset=calculateLocStart(e,t),e.source.endOffset=calculateLocEnd(e,t));for(const r in e){const n=e[r];\"source\"!==r&&n&&\"object\"==typeof n&&(\"value-root\"===n.type||\"value-unknown\"===n.type?calculateValueNodeLoc(n,getValueRootOffset(e),n.text||n.value):calculateLoc(n,t))}},replaceQuotesInInlineComments:function(e){let t,r=\"initial\",n=\"initial\",o=!1;const i=[];for(let s=0;s{\"use strict\";const n=r(47),{parse:o}=r(3405),{hasPragma:i}=r(8850),{hasSCSSInterpolation:s,hasStringOrFunction:u,isLessParser:a,isSCSS:c,isSCSSNestedPropertyNode:l,isSCSSVariable:p,stringifyNode:f}=r(5244),{locStart:h,locEnd:d}=r(9355),{calculateLoc:D,replaceQuotesInInlineComments:g}=r(9355),getHighestAncestor=e=>{for(;e.parent;)e=e.parent;return e};function parseValueNode(e,t){const{nodes:r}=e;let n={open:null,close:null,groups:[],type:\"paren_group\"};const o=[n],i=n;let a={groups:[],type:\"comma_group\"};const l=[a];for(let i=0;i0&&n.groups.push(a),i}function flattenGroups(e){return\"paren_group\"!==e.type||e.open||e.close||1!==e.groups.length?\"comma_group\"===e.type&&1===e.groups.length?flattenGroups(e.groups[0]):\"paren_group\"===e.type||\"comma_group\"===e.type?Object.assign({},e,{groups:e.groups.map(flattenGroups)}):e:flattenGroups(e.groups[0])}function addTypePrefix(e,t,r){if(e&&\"object\"==typeof e){delete e.parent;for(const n in e)addTypePrefix(e[n],t,r),\"type\"===n&&\"string\"==typeof e[n]&&(e[n].startsWith(t)||r&&r.test(e[n])||(e[n]=t+e[n]))}return e}function addMissingType(e){if(e&&\"object\"==typeof e){delete e.parent;for(const t in e)addMissingType(e[t]);Array.isArray(e)||!e.value||e.type||(e.type=\"unknown\")}return e}function parseNestedValue(e,t){if(e&&\"object\"==typeof e){for(const r in e)\"parent\"!==r&&(parseNestedValue(e[r],t),\"nodes\"===r&&(e.group=flattenGroups(parseValueNode(e,t)),delete e[r]));delete e.parent}return e}function parseValue(e,t){const n=r(9962);let o=null;try{o=n(e,{loose:!0}).parse()}catch(t){return{type:\"value-unknown\",value:e}}o.text=e;return addTypePrefix(parseNestedValue(o,t),\"value-\",/^selector-/)}function parseSelector(e){if(/\\/\\/|\\/\\*/.test(e))return{type:\"selector-unknown\",value:e.trim()};const t=r(1264);let n=null;try{t((e=>{n=e})).process(e)}catch(t){return{type:\"selector-unknown\",value:e}}return addTypePrefix(n,\"selector-\")}function parseMediaQuery(e){const t=r(8322).Z;let n=null;try{n=t(e)}catch(t){return{type:\"selector-unknown\",value:e}}return addTypePrefix(addMissingType(n),\"media-\")}const m=/(\\s*?)(!default).*$/,y=/(\\s*?)(!global).*$/;function parseNestedCSS(e,t){if(e&&\"object\"==typeof e){delete e.parent;for(const r in e)parseNestedCSS(e[r],t);if(!e.type)return e;e.raws||(e.raws={});let r=\"\";\"string\"==typeof e.selector&&(r=e.raws.selector?e.raws.selector.scss?e.raws.selector.scss:e.raws.selector.raw:e.selector,e.raws.between&&e.raws.between.trim().length>0&&(r+=e.raws.between),e.raws.selector=r);let n=\"\";\"string\"==typeof e.value&&(n=e.raws.value?e.raws.value.scss?e.raws.value.scss:e.raws.value.raw:e.value,n=n.trim(),e.raws.value=n);let o=\"\";if(\"string\"==typeof e.params&&(o=e.raws.params?e.raws.params.scss?e.raws.params.scss:e.raws.params.raw:e.params,e.raws.afterName&&e.raws.afterName.trim().length>0&&(o=e.raws.afterName+o),e.raws.between&&e.raws.between.trim().length>0&&(o+=e.raws.between),o=o.trim(),e.raws.params=o),r.trim().length>0)return r.startsWith(\"@\")&&r.endsWith(\":\")?e:e.mixin?(e.selector=parseValue(r,t),e):(l(e)&&(e.isSCSSNesterProperty=!0),e.selector=parseSelector(r),e);if(n.length>0){const r=n.match(m);r&&(n=n.slice(0,r.index),e.scssDefault=!0,\"!default\"!==r[0].trim()&&(e.raws.scssDefault=r[0]));const o=n.match(y);if(o&&(n=n.slice(0,o.index),e.scssGlobal=!0,\"!global\"!==o[0].trim()&&(e.raws.scssGlobal=o[0])),n.startsWith(\"progid:\"))return{type:\"value-unknown\",value:n};e.value=parseValue(n,t)}if(a(t)&&\"css-decl\"===e.type&&n.startsWith(\"extend(\")&&(e.extend||(e.extend=\":\"===e.raws.between),e.extend&&!e.selector&&(delete e.value,e.selector=parseSelector(n.slice(\"extend(\".length,-1)))),\"css-atrule\"===e.type){if(a(t)){if(e.mixin){const t=e.raws.identifier+e.name+e.raws.afterName+e.raws.params;return e.selector=parseSelector(t),delete e.params,e}if(e.function)return e}if(\"css\"===t.parser&&\"custom-selector\"===e.name){const t=e.params.match(/:--\\S+?\\s+/)[0].trim();return e.customSelector=t,e.selector=parseSelector(e.params.slice(t.length).trim()),delete e.params,e}if(a(t)){if(e.name.includes(\":\")&&!e.params){e.variable=!0;const r=e.name.split(\":\");e.name=r[0],e.value=parseValue(r.slice(1).join(\":\"),t)}if(![\"page\",\"nest\"].includes(e.name)&&e.params&&\":\"===e.params[0]&&(e.variable=!0,e.value=parseValue(e.params.slice(1),t),e.raws.afterName+=\":\"),e.variable)return delete e.params,e}}if(\"css-atrule\"===e.type&&o.length>0){const{name:r}=e,n=e.name.toLowerCase();return\"warn\"===r||\"error\"===r?(e.params={type:\"media-unknown\",value:o},e):\"extend\"===r||\"nest\"===r?(e.selector=parseSelector(o),delete e.params,e):\"at-root\"===r?(/^\\(\\s*(without|with)\\s*:[\\S\\s]+\\)$/.test(o)?e.params=parseValue(o,t):(e.selector=parseSelector(o),delete e.params),e):\"import\"===n?(e.import=!0,delete e.filename,e.params=parseValue(o,t),e):[\"namespace\",\"supports\",\"if\",\"else\",\"for\",\"each\",\"while\",\"debug\",\"mixin\",\"include\",\"function\",\"return\",\"define-mixin\",\"add-mixin\"].includes(r)?(o=o.replace(/(\\$\\S+?)\\s+?\\.{3}/,\"$1...\"),o=o.replace(/^(?!if)(\\S+)\\s+\\(/,\"$1(\"),e.value=parseValue(o,t),delete e.params,e):[\"media\",\"custom-media\"].includes(n)?o.includes(\"#{\")?{type:\"media-unknown\",value:o}:(e.params=parseMediaQuery(o),e):(e.params=o,e)}}return e}function parseWithParser(e,t,r){const i=o(t),{frontMatter:s}=i;let u;t=i.content;try{u=e(t)}catch(e){const{name:t,reason:r,line:o,column:i}=e;if(\"number\"!=typeof o)throw e;throw n(\"\".concat(t,\": \").concat(r),{start:{line:o,column:i}})}return u=parseNestedCSS(addTypePrefix(u,\"css-\"),r),D(u,t),s&&(s.source={startOffset:0,endOffset:s.raw.length},u.nodes.unshift(s)),u}function parseLess(e,t,n){const o=r(7371);return parseWithParser((e=>o.parse(g(e))),e,n)}function parseScss(e,t,n){const{parse:o}=r(304);return parseWithParser(o,e,n)}const v={astFormat:\"postcss\",hasPragma:i,locStart:h,locEnd:d};e.exports={parsers:{css:Object.assign({},v,{parse:function(e,t,r){const n=c(r.parser,e)?[parseScss,parseLess]:[parseLess,parseScss];let o;for(const i of n)try{return i(e,t,r)}catch(e){o=o||e}if(o)throw o}}),less:Object.assign({},v,{parse:parseLess}),scss:Object.assign({},v,{parse:parseScss})}}},8850:(e,t,r)=>{\"use strict\";const n=r(3831),{parse:o}=r(3405);e.exports={hasPragma:function(e){return n.hasPragma(o(e).content)},insertPragma:function(e){const{frontMatter:t,content:r}=o(e);return(t?t.raw+\"\\n\\n\":\"\")+n.insertPragma(r)}}},5244:e=>{\"use strict\";const t=new Set([\"red\",\"green\",\"blue\",\"alpha\",\"a\",\"rgb\",\"hue\",\"h\",\"saturation\",\"s\",\"lightness\",\"l\",\"whiteness\",\"w\",\"blackness\",\"b\",\"tint\",\"shade\",\"blend\",\"blenda\",\"contrast\",\"hsl\",\"hsla\",\"hwb\",\"hwba\"]);function getAncestorCounter(e,t){const r=[].concat(t);let n,o=-1;for(;n=e.getParentNode(++o);)if(r.includes(n.type))return o;return-1}function getAncestorNode(e,t){const r=getAncestorCounter(e,t);return-1===r?null:e.getParentNode(r)}function isMultiplicationNode(e){return\"value-operator\"===e.type&&\"*\"===e.value}function isDivisionNode(e){return\"value-operator\"===e.type&&\"/\"===e.value}function isAdditionNode(e){return\"value-operator\"===e.type&&\"+\"===e.value}function isSubtractionNode(e){return\"value-operator\"===e.type&&\"-\"===e.value}function isModuloNode(e){return\"value-operator\"===e.type&&\"%\"===e.value}function isKeyValuePairNode(e){return\"value-comma_group\"===e.type&&e.groups&&e.groups[1]&&\"value-colon\"===e.groups[1].type}function isKeyValuePairInParenGroupNode(e){return\"value-paren_group\"===e.type&&e.groups&&e.groups[0]&&isKeyValuePairNode(e.groups[0])}e.exports={getAncestorCounter,getAncestorNode,getPropOfDeclNode:function(e){const t=getAncestorNode(e,\"css-decl\");return t&&t.prop&&t.prop.toLowerCase()},hasSCSSInterpolation:function(e){if(e&&e.length)for(let t=e.length-1;t>0;t--)if(\"word\"===e[t].type&&\"{\"===e[t].value&&\"word\"===e[t-1].type&&e[t-1].value.endsWith(\"#\"))return!0;return!1},hasStringOrFunction:function(e){if(e&&e.length)for(let t=0;t\",\"<=\",\">=\"].includes(e.value)},isEqualityOperatorNode:function(e){return\"value-word\"===e.type&&[\"==\",\"!=\"].includes(e.value)},isMultiplicationNode,isDivisionNode,isAdditionNode,isSubtractionNode,isModuloNode,isMathOperatorNode:function(e){return isMultiplicationNode(e)||isDivisionNode(e)||isAdditionNode(e)||isSubtractionNode(e)||isModuloNode(e)},isEachKeywordNode:function(e){return\"value-word\"===e.type&&\"in\"===e.value},isForKeywordNode:function(e){return\"value-word\"===e.type&&[\"from\",\"through\",\"end\"].includes(e.value)},isURLFunctionNode:function(e){return\"value-func\"===e.type&&\"url\"===e.value.toLowerCase()},isIfElseKeywordNode:function(e){return\"value-word\"===e.type&&[\"and\",\"or\",\"not\"].includes(e.value)},hasComposesNode:function(e){return e.value&&\"value-root\"===e.value.type&&e.value.group&&\"value-value\"===e.value.group.type&&\"composes\"===e.prop.toLowerCase()},hasParensAroundNode:function(e){return e.value&&e.value.group&&e.value.group.group&&\"value-paren_group\"===e.value.group.group.type&&null!==e.value.group.group.open&&null!==e.value.group.group.close},hasEmptyRawBefore:function(e){return e.raws&&\"\"===e.raws.before},isSCSSNestedPropertyNode:function(e){return!!e.selector&&e.selector.replace(/\\/\\*.*?\\*\\//,\"\").replace(/\\/\\/.*?\\n/,\"\").trim().endsWith(\":\")},isDetachedRulesetCallNode:function(e){return e.raws&&e.raws.params&&/^\\(\\s*\\)$/.test(e.raws.params)},isTemplatePlaceholderNode:function(e){return e.name.startsWith(\"prettier-placeholder\")},isTemplatePropNode:function(e){return e.prop.startsWith(\"@prettier-placeholder\")},isPostcssSimpleVarNode:function(e,t){return\"$$\"===e.value&&\"value-func\"===e.type&&t&&\"value-word\"===t.type&&!t.raws.before},isKeyValuePairNode,isKeyValuePairInParenGroupNode,isSCSSMapItemNode:function(e){const t=e.getValue();if(0===t.groups.length)return!1;const r=e.getParentNode(1);if(!(isKeyValuePairInParenGroupNode(t)||r&&isKeyValuePairInParenGroupNode(r)))return!1;const n=getAncestorNode(e,\"css-decl\");return!!(n&&n.prop&&n.prop.startsWith(\"$\"))||(!!isKeyValuePairInParenGroupNode(r)||\"value-func\"===r.type)},isInlineValueCommentNode:function(e){return\"value-comment\"===e.type&&e.inline},isHashNode:function(e){return\"value-word\"===e.type&&\"#\"===e.value},isLeftCurlyBraceNode:function(e){return\"value-word\"===e.type&&\"{\"===e.value},isRightCurlyBraceNode:function(e){return\"value-word\"===e.type&&\"}\"===e.value},isWordNode:function(e){return[\"value-word\",\"value-atword\"].includes(e.type)},isColonNode:function(e){return\"value-colon\"===e.type},isMediaAndSupportsKeywords:function(e){return e.value&&[\"not\",\"and\",\"or\"].includes(e.value.toLowerCase())},isColorAdjusterFuncNode:function(e){return\"value-func\"===e.type&&t.has(e.value.toLowerCase())},lastLineHasInlineComment:function(e){return/\\/\\//.test(e.split(/[\\n\\r]/).pop())},stringifyNode:function stringifyNode(e){if(e.groups){return(e.open&&e.open.value?e.open.value:\"\")+e.groups.reduce(((t,r,n)=>t+stringifyNode(r)+(\"comma_group\"===e.groups[0].type&&n!==e.groups.length-1?\",\":\"\")),\"\")+(e.close&&e.close.value?e.close.value:\"\")}const t=e.raws&&e.raws.before?e.raws.before:\"\",r=e.raws&&e.raws.quote?e.raws.quote:\"\";return t+r+(\"atword\"===e.type?\"@\":\"\")+(e.value?e.value:\"\")+r+(e.unit?e.unit:\"\")+(e.group?stringifyNode(e.group):\"\")+(e.raws&&e.raws.after?e.raws.after:\"\")},isAtWordPlaceholderNode:function(e){return e&&\"value-atword\"===e.type&&e.value.startsWith(\"prettier-placeholder-\")}}},3831:(e,t,r)=>{\"use strict\";const{parseWithComments:n,strip:o,extract:i,print:s}=r(9234),{getShebang:u}=r(9428),{normalizeEndOfLine:a}=r(7933);function parseDocBlock(e){const t=u(e);t&&(e=e.slice(t.length+1));const r=i(e),{pragmas:o,comments:s}=n(r);return{shebang:t,text:e,pragmas:o,comments:s}}e.exports={hasPragma:function(e){const t=Object.keys(parseDocBlock(e).pragmas);return t.includes(\"prettier\")||t.includes(\"format\")},insertPragma:function(e){const{shebang:t,text:r,pragmas:n,comments:i}=parseDocBlock(e),u=o(r),c=s({pragmas:Object.assign({format:\"\"},n),comments:i.trimStart()});return(t?\"\".concat(t,\"\\n\"):\"\")+a(c)+(u.startsWith(\"\\n\")?\"\\n\":\"\\n\\n\")+u}}},8988:(e,t,r)=>{\"use strict\";function _templateObject6(){const e=_taggedTemplateLiteral([\"\\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\\n in order for it to be formatted.\\n \"]);return _templateObject6=function(){return e},e}function _templateObject5(){const e=_taggedTemplateLiteral([\"\\n Format code starting at a given character offset.\\n The range will extend backwards to the start of the first line containing the selected statement.\\n This option cannot be used with --cursor-offset.\\n \"]);return _templateObject5=function(){return e},e}function _templateObject4(){const e=_taggedTemplateLiteral([\"\\n Format code ending at a given character offset (exclusive).\\n The range will extend forwards to the end of the selected statement.\\n This option cannot be used with --cursor-offset.\\n \"]);return _templateObject4=function(){return e},e}function _templateObject3(){const e=_taggedTemplateLiteral([\"\\n Custom directory that contains prettier plugins in node_modules subdirectory.\\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\\n Multiple values are accepted.\\n \"]);return _templateObject3=function(){return e},e}function _templateObject2(){const e=_taggedTemplateLiteral([\"\\n Maintain existing\\n (mixed values within one file are normalised by looking at what's used after the first line)\\n \"]);return _templateObject2=function(){return e},e}function _templateObject(){const e=_taggedTemplateLiteral([\"\\n Print (to stderr) where a cursor at the given position would move to after formatting.\\n This option cannot be used with --range-start and --range-end.\\n \"]);return _templateObject=function(){return e},e}function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}const{outdent:n}=r(5311),o=\"Config\",i=\"Editor\",s=\"Other\",u=\"Global\",a=\"Special\",c={cursorOffset:{since:\"1.4.0\",category:a,type:\"int\",default:-1,range:{start:-1,end:1/0,step:1},description:n(_templateObject()),cliCategory:i},endOfLine:{since:\"1.15.0\",category:u,type:\"choice\",default:[{since:\"1.15.0\",value:\"auto\"},{since:\"2.0.0\",value:\"lf\"}],description:\"Which end of line characters to apply.\",choices:[{value:\"lf\",description:\"Line Feed only (\\\\n), common on Linux and macOS as well as inside git repos\"},{value:\"crlf\",description:\"Carriage Return + Line Feed characters (\\\\r\\\\n), common on Windows\"},{value:\"cr\",description:\"Carriage Return character only (\\\\r), used very rarely\"},{value:\"auto\",description:n(_templateObject2())}]},filepath:{since:\"1.4.0\",category:a,type:\"path\",description:\"Specify the input filepath. This will be used to do parser inference.\",cliName:\"stdin-filepath\",cliCategory:s,cliDescription:\"Path to the file to pretend that stdin comes from.\"},insertPragma:{since:\"1.8.0\",category:a,type:\"boolean\",default:!1,description:\"Insert @format pragma into file's first docblock comment.\",cliCategory:s},parser:{since:\"0.0.10\",category:u,type:\"choice\",default:[{since:\"0.0.10\",value:\"babylon\"},{since:\"1.13.0\",value:void 0}],description:\"Which parser to use.\",exception:e=>\"string\"==typeof e||\"function\"==typeof e,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:u,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin\",cliCategory:o},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:u,description:n(_templateObject3()),exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin-search-dir\",cliCategory:o},printWidth:{since:\"0.0.0\",category:u,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:a,type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:n(_templateObject4()),cliCategory:i},rangeStart:{since:\"1.4.0\",category:a,type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:n(_templateObject5()),cliCategory:i},requirePragma:{since:\"1.7.0\",category:a,type:\"boolean\",default:!1,description:n(_templateObject6()),cliCategory:s},tabWidth:{type:\"int\",category:u,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:u,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:u,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};e.exports={CATEGORY_CONFIG:o,CATEGORY_EDITOR:i,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:s,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:u,CATEGORY_SPECIAL:a,options:c}},7290:(e,t,r)=>{\"use strict\";const n={compare:r(2828),lt:r(3725),gte:r(9195)},o=r(9077),i=r(306).i8,s=r(8988).options;e.exports={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:u=!1}={}){const a=i.split(\"-\",1)[0],c=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(filterSince),l=o(Object.assign({},...e.map((({options:e})=>e)),s),\"name\").filter((e=>filterSince(e)&&filterDeprecated(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(o[r]=e[r]);return o}(e,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(filterSince).sort(((e,t)=>n.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>filterSince(e)&&filterDeprecated(e))),\"parser\"===t.name&&function(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const o of t)if(o.parsers)for(const t of o.parsers)if(!n.has(t)){n.add(t);const i=r.find((e=>e.parsers&&e.parsers[t]));let s=o.name;i&&i.name&&(s+=\" (plugin: \".concat(i.name,\")\")),e.choices.push({value:t,description:s})}}(t,c,e));const r=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,r)=>(e[r.name]=r.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:r})}));return{languages:c,options:l};function filterSince(e){return t||!(\"since\"in e)||e.since&&n.gte(a,e.since)}function filterDeprecated(e){return r||!(\"deprecated\"in e)||e.deprecated&&n.lt(a,e.deprecated)}}}},9077:e=>{\"use strict\";e.exports=(e,t)=>Object.entries(e).map((([e,r])=>Object.assign({[t]:e},r)))},3405:(e,t,r)=>{\"use strict\";const n=r(2240),{builders:{hardline:o,concat:i,markAsRoot:s}}=r(3091),u={\"---\":\"yaml\",\"+++\":\"toml\"};e.exports={parse:function(e){const t=Object.keys(u).map(n).join(\"|\"),r=e.match(new RegExp(\"^(\".concat(t,\")([^\\\\n]*)\\\\n(?:([\\\\s\\\\S]*?)\\\\n)?\\\\1[^\\\\n\\\\S]*(\\\\n|$)\")));if(null===r)return{frontMatter:null,content:e};const[o,i,s,a]=r;let c=u[i];return\"toml\"!==c&&s&&s.trim()&&(c=s.trim()),{frontMatter:{type:\"front-matter\",lang:c,value:a,raw:o.replace(/\\n$/,\"\")},content:o.replace(/[^\\n]/g,\" \")+e.slice(o.length)}},print:function(e,t){if(\"yaml\"===e.lang){const r=e.value.trim(),n=r?t(r,{parser:\"yaml\"},{stripTrailingHardline:!0}):\"\";return s(i([\"---\",o,n,n?o:\"\",\"---\"]))}}}},4652:e=>{\"use strict\";e.exports=e=>e[e.length-1]},6920:e=>{\"use strict\";e.exports=function(e,t){let r=0;for(let n=0;n{\"use strict\";e.exports={i8:\"2.2.0\"}},7545:(e,t,r)=>{\"use strict\";r.r(t),r.d(t,{existsSync:()=>existsSync,readFileSync:()=>readFileSync,default:()=>n});const existsSync=()=>!1,readFileSync=()=>\"\",n={existsSync,readFileSync}},9623:(e,t,r)=>{\"use strict\";r.r(t),r.d(t,{default:()=>n});const n={EOL:\"\\n\",platform:()=>\"browser\",cpus:()=>[{model:\"Prettier\"}]}},6391:(e,t,r)=>{\"use strict\";r.r(t),r.d(t,{default:()=>n});var n=r(5724),o={};for(const e in n)\"default\"!==e&&(o[e]=()=>n[e]);r.d(t,o)},5208:()=>{},7027:()=>{},825:()=>{},1758:()=>{}},t={};function __webpack_require__(r){if(t[r])return t[r].exports;var n=t[r]={id:r,loaded:!1,exports:{}};return e[r](n,n.exports,__webpack_require__),n.loaded=!0,n.exports}return __webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,\"exports\",{enumerable:!0,set:()=>{throw new Error(\"ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: \"+e.id)}}),e),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},__webpack_require__(738)})()}));","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'loaded', {\n\t\tenumerable: true,\n\t\tget: function() { return module.l; }\n\t});\n\tObject.defineProperty(module, 'id', {\n\t\tenumerable: true,\n\t\tget: function() { return module.i; }\n\t});\n\treturn module;\n};"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/update.js b/dist/update.js index 449460c8..3ae70ef5 100644 --- a/dist/update.js +++ b/dist/update.js @@ -143,7 +143,7 @@ generator: Upptime repo, title: status === "down" ? `🛑 ${site.name} is down` - : `🟨 ${site.name} has degraded performance`, + : `⚠️ ${site.name} has degraded performance`, body: `In [\`${lastCommitSha.substr(0, 7)}\`](https://github.com/${owner}/${repo}/commit/${lastCommitSha}), ${site.name} (${site.url}) ${status === "down" ? "was **down**" : "experienced **degraded performance**"}: - HTTP code: ${result.httpCode} - Response time: ${responseTime} ms